summaryrefslogtreecommitdiff
path: root/deps
diff options
context:
space:
mode:
authornpm team <ops+robot@npmjs.com>2022-02-24 21:41:49 +0000
committerLuigi Pinca <luigipinca@gmail.com>2022-02-26 08:15:26 +0100
commit1b8300b238923822ea0934b196e3a9e97e0a0893 (patch)
tree474bd5d5a4ee73358f4feebd433cc3f67d65b6e2 /deps
parente84b635db49d629f119959c9f0a31762ac22770b (diff)
downloadnode-new-1b8300b238923822ea0934b196e3a9e97e0a0893.tar.gz
deps: upgrade npm to 8.5.2
PR-URL: https://github.com/nodejs/node/pull/42122 Reviewed-By: Colin Ihrig <cjihrig@gmail.com> Reviewed-By: Mestery <mestery@protonmail.com> Reviewed-By: Danielle Adams <adamzdanielle@gmail.com> Reviewed-By: Rich Trott <rtrott@gmail.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Diffstat (limited to 'deps')
-rw-r--r--deps/npm/docs/content/commands/npm-access.md12
-rw-r--r--deps/npm/docs/content/commands/npm-adduser.md11
-rw-r--r--deps/npm/docs/content/commands/npm-audit.md14
-rw-r--r--deps/npm/docs/content/commands/npm-bin.md11
-rw-r--r--deps/npm/docs/content/commands/npm-bugs.md13
-rw-r--r--deps/npm/docs/content/commands/npm-cache.md24
-rw-r--r--deps/npm/docs/content/commands/npm-ci.md11
-rw-r--r--deps/npm/docs/content/commands/npm-completion.md11
-rw-r--r--deps/npm/docs/content/commands/npm-config.md11
-rw-r--r--deps/npm/docs/content/commands/npm-dedupe.md30
-rw-r--r--deps/npm/docs/content/commands/npm-deprecate.md11
-rw-r--r--deps/npm/docs/content/commands/npm-diff.md13
-rw-r--r--deps/npm/docs/content/commands/npm-dist-tag.md11
-rw-r--r--deps/npm/docs/content/commands/npm-docs.md11
-rw-r--r--deps/npm/docs/content/commands/npm-doctor.md9
-rw-r--r--deps/npm/docs/content/commands/npm-edit.md11
-rw-r--r--deps/npm/docs/content/commands/npm-exec.md21
-rw-r--r--deps/npm/docs/content/commands/npm-explain.md9
-rw-r--r--deps/npm/docs/content/commands/npm-explore.md9
-rw-r--r--deps/npm/docs/content/commands/npm-find-dupes.md11
-rw-r--r--deps/npm/docs/content/commands/npm-fund.md12
-rw-r--r--deps/npm/docs/content/commands/npm-help-search.md9
-rw-r--r--deps/npm/docs/content/commands/npm-help.md11
-rw-r--r--deps/npm/docs/content/commands/npm-hook.md13
-rw-r--r--deps/npm/docs/content/commands/npm-init.md27
-rw-r--r--deps/npm/docs/content/commands/npm-install-ci-test.md11
-rw-r--r--deps/npm/docs/content/commands/npm-install-test.md37
-rw-r--r--deps/npm/docs/content/commands/npm-install.md38
-rw-r--r--deps/npm/docs/content/commands/npm-link.md22
-rw-r--r--deps/npm/docs/content/commands/npm-logout.md11
-rw-r--r--deps/npm/docs/content/commands/npm-ls.md11
-rw-r--r--deps/npm/docs/content/commands/npm-org.md17
-rw-r--r--deps/npm/docs/content/commands/npm-outdated.md9
-rw-r--r--deps/npm/docs/content/commands/npm-owner.md11
-rw-r--r--deps/npm/docs/content/commands/npm-pack.md11
-rw-r--r--deps/npm/docs/content/commands/npm-ping.md11
-rw-r--r--deps/npm/docs/content/commands/npm-pkg.md15
-rw-r--r--deps/npm/docs/content/commands/npm-prefix.md9
-rw-r--r--deps/npm/docs/content/commands/npm-profile.md16
-rw-r--r--deps/npm/docs/content/commands/npm-prune.md11
-rw-r--r--deps/npm/docs/content/commands/npm-publish.md14
-rw-r--r--deps/npm/docs/content/commands/npm-rebuild.md9
-rw-r--r--deps/npm/docs/content/commands/npm-repo.md9
-rw-r--r--deps/npm/docs/content/commands/npm-restart.md9
-rw-r--r--deps/npm/docs/content/commands/npm-root.md11
-rw-r--r--deps/npm/docs/content/commands/npm-run-script.md13
-rw-r--r--deps/npm/docs/content/commands/npm-search.md11
-rw-r--r--deps/npm/docs/content/commands/npm-set-script.md9
-rw-r--r--deps/npm/docs/content/commands/npm-shrinkwrap.md9
-rw-r--r--deps/npm/docs/content/commands/npm-star.md9
-rw-r--r--deps/npm/docs/content/commands/npm-stars.md10
-rw-r--r--deps/npm/docs/content/commands/npm-start.md9
-rw-r--r--deps/npm/docs/content/commands/npm-stop.md9
-rw-r--r--deps/npm/docs/content/commands/npm-team.md19
-rw-r--r--deps/npm/docs/content/commands/npm-test.md11
-rw-r--r--deps/npm/docs/content/commands/npm-token.md16
-rw-r--r--deps/npm/docs/content/commands/npm-uninstall.md22
-rw-r--r--deps/npm/docs/content/commands/npm-unstar.md9
-rw-r--r--deps/npm/docs/content/commands/npm-update.md31
-rw-r--r--deps/npm/docs/content/commands/npm-version.md15
-rw-r--r--deps/npm/docs/content/commands/npm-view.md13
-rw-r--r--deps/npm/docs/content/commands/npm-whoami.md11
-rw-r--r--deps/npm/docs/content/commands/npm.md5
-rw-r--r--deps/npm/docs/content/commands/npx.md24
-rw-r--r--deps/npm/docs/content/using-npm/scripts.md5
-rw-r--r--deps/npm/docs/output/commands/npm-access.html9
-rw-r--r--deps/npm/docs/output/commands/npm-adduser.html8
-rw-r--r--deps/npm/docs/output/commands/npm-audit.html11
-rw-r--r--deps/npm/docs/output/commands/npm-bin.html8
-rw-r--r--deps/npm/docs/output/commands/npm-bugs.html10
-rw-r--r--deps/npm/docs/output/commands/npm-cache.html21
-rw-r--r--deps/npm/docs/output/commands/npm-ci.html8
-rw-r--r--deps/npm/docs/output/commands/npm-completion.html8
-rw-r--r--deps/npm/docs/output/commands/npm-config.html8
-rw-r--r--deps/npm/docs/output/commands/npm-dedupe.html24
-rw-r--r--deps/npm/docs/output/commands/npm-deprecate.html8
-rw-r--r--deps/npm/docs/output/commands/npm-diff.html10
-rw-r--r--deps/npm/docs/output/commands/npm-dist-tag.html8
-rw-r--r--deps/npm/docs/output/commands/npm-docs.html8
-rw-r--r--deps/npm/docs/output/commands/npm-doctor.html6
-rw-r--r--deps/npm/docs/output/commands/npm-edit.html8
-rw-r--r--deps/npm/docs/output/commands/npm-exec.html20
-rw-r--r--deps/npm/docs/output/commands/npm-explain.html6
-rw-r--r--deps/npm/docs/output/commands/npm-explore.html6
-rw-r--r--deps/npm/docs/output/commands/npm-find-dupes.html7
-rw-r--r--deps/npm/docs/output/commands/npm-fund.html9
-rw-r--r--deps/npm/docs/output/commands/npm-help-search.html6
-rw-r--r--deps/npm/docs/output/commands/npm-help.html8
-rw-r--r--deps/npm/docs/output/commands/npm-hook.html12
-rw-r--r--deps/npm/docs/output/commands/npm-init.html24
-rw-r--r--deps/npm/docs/output/commands/npm-install-ci-test.html8
-rw-r--r--deps/npm/docs/output/commands/npm-install-test.html32
-rw-r--r--deps/npm/docs/output/commands/npm-install.html33
-rw-r--r--deps/npm/docs/output/commands/npm-link.html17
-rw-r--r--deps/npm/docs/output/commands/npm-logout.html8
-rw-r--r--deps/npm/docs/output/commands/npm-ls.html10
-rw-r--r--deps/npm/docs/output/commands/npm-org.html14
-rw-r--r--deps/npm/docs/output/commands/npm-outdated.html6
-rw-r--r--deps/npm/docs/output/commands/npm-owner.html8
-rw-r--r--deps/npm/docs/output/commands/npm-pack.html8
-rw-r--r--deps/npm/docs/output/commands/npm-ping.html8
-rw-r--r--deps/npm/docs/output/commands/npm-pkg.html12
-rw-r--r--deps/npm/docs/output/commands/npm-prefix.html6
-rw-r--r--deps/npm/docs/output/commands/npm-profile.html13
-rw-r--r--deps/npm/docs/output/commands/npm-prune.html8
-rw-r--r--deps/npm/docs/output/commands/npm-publish.html11
-rw-r--r--deps/npm/docs/output/commands/npm-rebuild.html6
-rw-r--r--deps/npm/docs/output/commands/npm-repo.html6
-rw-r--r--deps/npm/docs/output/commands/npm-restart.html6
-rw-r--r--deps/npm/docs/output/commands/npm-root.html8
-rw-r--r--deps/npm/docs/output/commands/npm-run-script.html10
-rw-r--r--deps/npm/docs/output/commands/npm-search.html8
-rw-r--r--deps/npm/docs/output/commands/npm-set-script.html6
-rw-r--r--deps/npm/docs/output/commands/npm-shrinkwrap.html6
-rw-r--r--deps/npm/docs/output/commands/npm-star.html6
-rw-r--r--deps/npm/docs/output/commands/npm-stars.html6
-rw-r--r--deps/npm/docs/output/commands/npm-start.html6
-rw-r--r--deps/npm/docs/output/commands/npm-stop.html6
-rw-r--r--deps/npm/docs/output/commands/npm-team.html16
-rw-r--r--deps/npm/docs/output/commands/npm-test.html8
-rw-r--r--deps/npm/docs/output/commands/npm-token.html12
-rw-r--r--deps/npm/docs/output/commands/npm-uninstall.html18
-rw-r--r--deps/npm/docs/output/commands/npm-unstar.html6
-rw-r--r--deps/npm/docs/output/commands/npm-update.html25
-rw-r--r--deps/npm/docs/output/commands/npm-version.html12
-rw-r--r--deps/npm/docs/output/commands/npm-view.html10
-rw-r--r--deps/npm/docs/output/commands/npm-whoami.html8
-rw-r--r--deps/npm/docs/output/commands/npm.html6
-rw-r--r--deps/npm/docs/output/commands/npx.html23
-rw-r--r--deps/npm/docs/output/using-npm/scripts.html5
-rw-r--r--deps/npm/lib/commands/access.js2
-rw-r--r--deps/npm/lib/commands/adduser.js1
-rw-r--r--deps/npm/lib/commands/ci.js3
-rw-r--r--deps/npm/lib/commands/dedupe.js2
-rw-r--r--deps/npm/lib/commands/deprecate.js3
-rw-r--r--deps/npm/lib/commands/diff.js2
-rw-r--r--deps/npm/lib/commands/dist-tag.js1
-rw-r--r--deps/npm/lib/commands/doctor.js3
-rw-r--r--deps/npm/lib/commands/exec.js2
-rw-r--r--deps/npm/lib/commands/fund.js2
-rw-r--r--deps/npm/lib/commands/hook.js10
-rw-r--r--deps/npm/lib/commands/init.js1
-rw-r--r--deps/npm/lib/commands/install.js3
-rw-r--r--deps/npm/lib/commands/link.js6
-rw-r--r--deps/npm/lib/commands/logout.js1
-rw-r--r--deps/npm/lib/commands/org.js8
-rw-r--r--deps/npm/lib/commands/owner.js2
-rw-r--r--deps/npm/lib/commands/ping.js2
-rw-r--r--deps/npm/lib/commands/profile.js8
-rw-r--r--deps/npm/lib/commands/prune.js2
-rw-r--r--deps/npm/lib/commands/publish.js6
-rw-r--r--deps/npm/lib/commands/run-script.js6
-rw-r--r--deps/npm/lib/commands/star.js4
-rw-r--r--deps/npm/lib/commands/team.js15
-rw-r--r--deps/npm/lib/commands/token.js2
-rw-r--r--deps/npm/lib/commands/uninstall.js2
-rw-r--r--deps/npm/lib/commands/unpublish.js7
-rw-r--r--deps/npm/lib/commands/update.js1
-rw-r--r--deps/npm/lib/commands/whoami.js3
-rw-r--r--deps/npm/lib/npm.js6
-rw-r--r--deps/npm/lib/utils/config/definitions.js3
-rw-r--r--deps/npm/lib/utils/display.js4
-rw-r--r--deps/npm/lib/utils/exit-handler.js6
-rw-r--r--deps/npm/lib/utils/reify-output.js6
-rw-r--r--deps/npm/lib/utils/update-notifier.js3
-rw-r--r--deps/npm/man/man1/npm-access.114
-rw-r--r--deps/npm/man/man1/npm-adduser.113
-rw-r--r--deps/npm/man/man1/npm-audit.137
-rw-r--r--deps/npm/man/man1/npm-bin.110
-rw-r--r--deps/npm/man/man1/npm-bugs.115
-rw-r--r--deps/npm/man/man1/npm-cache.123
-rw-r--r--deps/npm/man/man1/npm-ci.116
-rw-r--r--deps/npm/man/man1/npm-completion.12
-rw-r--r--deps/npm/man/man1/npm-config.122
-rw-r--r--deps/npm/man/man1/npm-dedupe.163
-rw-r--r--deps/npm/man/man1/npm-deprecate.113
-rw-r--r--deps/npm/man/man1/npm-diff.147
-rw-r--r--deps/npm/man/man1/npm-dist-tag.116
-rw-r--r--deps/npm/man/man1/npm-docs.122
-rw-r--r--deps/npm/man/man1/npm-doctor.18
-rw-r--r--deps/npm/man/man1/npm-edit.110
-rw-r--r--deps/npm/man/man1/npm-exec.134
-rw-r--r--deps/npm/man/man1/npm-explain.111
-rw-r--r--deps/npm/man/man1/npm-explore.18
-rw-r--r--deps/npm/man/man1/npm-find-dupes.143
-rw-r--r--deps/npm/man/man1/npm-fund.123
-rw-r--r--deps/npm/man/man1/npm-help-search.18
-rw-r--r--deps/npm/man/man1/npm-help.110
-rw-r--r--deps/npm/man/man1/npm-hook.115
-rw-r--r--deps/npm/man/man1/npm-init.142
-rw-r--r--deps/npm/man/man1/npm-install-ci-test.116
-rw-r--r--deps/npm/man/man1/npm-install-test.181
-rw-r--r--deps/npm/man/man1/npm-install.182
-rw-r--r--deps/npm/man/man1/npm-link.166
-rw-r--r--deps/npm/man/man1/npm-logout.113
-rw-r--r--deps/npm/man/man1/npm-ls.148
-rw-r--r--deps/npm/man/man1/npm-org.125
-rw-r--r--deps/npm/man/man1/npm-outdated.123
-rw-r--r--deps/npm/man/man1/npm-owner.113
-rw-r--r--deps/npm/man/man1/npm-pack.125
-rw-r--r--deps/npm/man/man1/npm-ping.110
-rw-r--r--deps/npm/man/man1/npm-pkg.122
-rw-r--r--deps/npm/man/man1/npm-prefix.18
-rw-r--r--deps/npm/man/man1/npm-profile.124
-rw-r--r--deps/npm/man/man1/npm-prune.125
-rw-r--r--deps/npm/man/man1/npm-publish.131
-rw-r--r--deps/npm/man/man1/npm-rebuild.123
-rw-r--r--deps/npm/man/man1/npm-repo.117
-rw-r--r--deps/npm/man/man1/npm-restart.111
-rw-r--r--deps/npm/man/man1/npm-root.110
-rw-r--r--deps/npm/man/man1/npm-run-script.127
-rw-r--r--deps/npm/man/man1/npm-search.140
-rw-r--r--deps/npm/man/man1/npm-set-script.114
-rw-r--r--deps/npm/man/man1/npm-star.111
-rw-r--r--deps/npm/man/man1/npm-stars.18
-rw-r--r--deps/npm/man/man1/npm-start.111
-rw-r--r--deps/npm/man/man1/npm-stop.111
-rw-r--r--deps/npm/man/man1/npm-team.127
-rw-r--r--deps/npm/man/man1/npm-test.113
-rw-r--r--deps/npm/man/man1/npm-token.123
-rw-r--r--deps/npm/man/man1/npm-uninstall.130
-rw-r--r--deps/npm/man/man1/npm-unpublish.117
-rw-r--r--deps/npm/man/man1/npm-unstar.114
-rw-r--r--deps/npm/man/man1/npm-update.167
-rw-r--r--deps/npm/man/man1/npm-version.138
-rw-r--r--deps/npm/man/man1/npm-view.121
-rw-r--r--deps/npm/man/man1/npm-whoami.110
-rw-r--r--deps/npm/man/man1/npm.18
-rw-r--r--deps/npm/man/man1/npx.117
-rw-r--r--deps/npm/man/man7/config.7446
-rw-r--r--deps/npm/man/man7/scripts.76
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/README.md10
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/bin/actual.js36
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/bin/audit.js49
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/bin/funding.js66
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/bin/ideal.js29
-rwxr-xr-xdeps/npm/node_modules/@npmcli/arborist/bin/index.js155
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/bin/lib/logging.js88
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/bin/lib/options.js170
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/bin/lib/print-tree.js5
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/bin/lib/timers.js32
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/bin/license.js78
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/bin/prune.js43
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/bin/reify.js43
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/bin/shrinkwrap.js15
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/bin/virtual.js26
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/add-rm-pkg-deps.js23
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js25
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/arborist/index.js4
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/arborist/rebuild.js7
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js21
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/audit-report.js13
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/get-workspace-nodes.js5
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/shrinkwrap.js12
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/tracker.js23
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/package.json18
-rw-r--r--deps/npm/node_modules/@npmcli/config/lib/env-replace.js2
-rw-r--r--deps/npm/node_modules/@npmcli/config/lib/index.js15
-rw-r--r--deps/npm/node_modules/@npmcli/config/lib/proc-log.js4
-rw-r--r--deps/npm/node_modules/@npmcli/config/package.json11
-rw-r--r--deps/npm/node_modules/@npmcli/git/lib/clone.js24
-rw-r--r--deps/npm/node_modules/@npmcli/git/lib/errors.js2
-rw-r--r--deps/npm/node_modules/@npmcli/git/lib/index.js2
-rw-r--r--deps/npm/node_modules/@npmcli/git/lib/lines-to-revs.js14
-rw-r--r--deps/npm/node_modules/@npmcli/git/lib/make-error.js4
-rw-r--r--deps/npm/node_modules/@npmcli/git/lib/opts.js4
-rw-r--r--deps/npm/node_modules/@npmcli/git/lib/proc-log.js21
-rw-r--r--deps/npm/node_modules/@npmcli/git/lib/revs.js2
-rw-r--r--deps/npm/node_modules/@npmcli/git/lib/spawn.js9
-rw-r--r--deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/LICENSE15
-rw-r--r--deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/index.js581
-rw-r--r--deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/package.json34
-rw-r--r--deps/npm/node_modules/@npmcli/git/package.json29
-rw-r--r--deps/npm/node_modules/@npmcli/metavuln-calculator/lib/advisory.js94
-rw-r--r--deps/npm/node_modules/@npmcli/metavuln-calculator/lib/hash.js4
-rw-r--r--deps/npm/node_modules/@npmcli/metavuln-calculator/lib/index.js14
-rw-r--r--deps/npm/node_modules/@npmcli/metavuln-calculator/package.json28
-rw-r--r--deps/npm/node_modules/@npmcli/run-script/lib/make-spawn-args.js2
-rw-r--r--deps/npm/node_modules/@npmcli/run-script/lib/package-envs.js7
-rw-r--r--deps/npm/node_modules/@npmcli/run-script/lib/run-script-pkg.js26
-rw-r--r--deps/npm/node_modules/@npmcli/run-script/lib/run-script.js4
-rw-r--r--deps/npm/node_modules/@npmcli/run-script/lib/set-path.js5
-rw-r--r--deps/npm/node_modules/@npmcli/run-script/lib/signal-manager.js7
-rw-r--r--deps/npm/node_modules/@npmcli/run-script/lib/validate-options.js24
-rw-r--r--deps/npm/node_modules/@npmcli/run-script/package.json36
-rw-r--r--deps/npm/node_modules/ansi-regex/index.js4
-rw-r--r--deps/npm/node_modules/ansi-regex/license21
-rw-r--r--deps/npm/node_modules/ansi-regex/package.json64
-rw-r--r--deps/npm/node_modules/ansi-regex/readme.md39
-rw-r--r--deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/index.js50
-rw-r--r--deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/package.json42
-rw-r--r--deps/npm/node_modules/cli-columns/node_modules/string-width/index.js47
-rw-r--r--deps/npm/node_modules/cli-columns/node_modules/string-width/package.json56
-rw-r--r--deps/npm/node_modules/cli-table3/node_modules/ansi-regex/license9
-rw-r--r--deps/npm/node_modules/cli-table3/node_modules/ansi-regex/readme.md78
-rw-r--r--deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/index.d.ts17
-rw-r--r--deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/index.js50
-rw-r--r--deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/license9
-rw-r--r--deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/package.json42
-rw-r--r--deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/readme.md39
-rw-r--r--deps/npm/node_modules/cli-table3/node_modules/string-width/index.d.ts29
-rw-r--r--deps/npm/node_modules/cli-table3/node_modules/string-width/index.js47
-rw-r--r--deps/npm/node_modules/cli-table3/node_modules/string-width/license9
-rw-r--r--deps/npm/node_modules/cli-table3/node_modules/string-width/package.json56
-rw-r--r--deps/npm/node_modules/cli-table3/node_modules/string-width/readme.md50
-rw-r--r--deps/npm/node_modules/cli-table3/node_modules/strip-ansi/license9
-rw-r--r--deps/npm/node_modules/cli-table3/node_modules/strip-ansi/readme.md46
-rw-r--r--deps/npm/node_modules/columnify/Readme.md49
-rw-r--r--deps/npm/node_modules/columnify/columnify.js22
-rw-r--r--deps/npm/node_modules/columnify/node_modules/ansi-regex/index.d.ts (renamed from deps/npm/node_modules/cli-table3/node_modules/ansi-regex/index.d.ts)0
-rw-r--r--deps/npm/node_modules/columnify/node_modules/ansi-regex/index.js (renamed from deps/npm/node_modules/cli-table3/node_modules/ansi-regex/index.js)2
-rw-r--r--deps/npm/node_modules/columnify/node_modules/ansi-regex/license (renamed from deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/license)0
-rw-r--r--deps/npm/node_modules/columnify/node_modules/ansi-regex/package.json (renamed from deps/npm/node_modules/cli-table3/node_modules/ansi-regex/package.json)2
-rw-r--r--deps/npm/node_modules/columnify/node_modules/strip-ansi/index.d.ts (renamed from deps/npm/node_modules/cli-table3/node_modules/strip-ansi/index.d.ts)0
-rw-r--r--deps/npm/node_modules/columnify/node_modules/strip-ansi/index.js (renamed from deps/npm/node_modules/cli-table3/node_modules/strip-ansi/index.js)0
-rw-r--r--deps/npm/node_modules/columnify/node_modules/strip-ansi/license (renamed from deps/npm/node_modules/cli-columns/node_modules/string-width/license)0
-rw-r--r--deps/npm/node_modules/columnify/node_modules/strip-ansi/package.json (renamed from deps/npm/node_modules/cli-table3/node_modules/strip-ansi/package.json)4
-rw-r--r--deps/npm/node_modules/columnify/package.json12
-rw-r--r--deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/index.d.ts17
-rw-r--r--deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/index.js50
-rw-r--r--deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/license9
-rw-r--r--deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/package.json42
-rw-r--r--deps/npm/node_modules/gauge/node_modules/string-width/index.d.ts29
-rw-r--r--deps/npm/node_modules/gauge/node_modules/string-width/index.js47
-rw-r--r--deps/npm/node_modules/gauge/node_modules/string-width/license9
-rw-r--r--deps/npm/node_modules/gauge/node_modules/string-width/package.json56
-rw-r--r--deps/npm/node_modules/init-package-json/lib/init-package-json.js2
-rw-r--r--deps/npm/node_modules/init-package-json/package.json21
-rw-r--r--deps/npm/node_modules/is-fullwidth-code-point/index.d.ts (renamed from deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/index.d.ts)0
-rw-r--r--deps/npm/node_modules/is-fullwidth-code-point/index.js46
-rw-r--r--deps/npm/node_modules/is-fullwidth-code-point/license20
-rw-r--r--deps/npm/node_modules/is-fullwidth-code-point/package.json83
-rw-r--r--deps/npm/node_modules/is-fullwidth-code-point/readme.md12
-rw-r--r--deps/npm/node_modules/libnpmaccess/package.json6
-rw-r--r--deps/npm/node_modules/libnpmdiff/package.json6
-rw-r--r--deps/npm/node_modules/libnpmexec/README.md1
-rw-r--r--deps/npm/node_modules/libnpmexec/lib/index.js9
-rw-r--r--deps/npm/node_modules/libnpmexec/lib/run-script.js11
-rw-r--r--deps/npm/node_modules/libnpmexec/package.json13
-rw-r--r--deps/npm/node_modules/libnpmfund/package.json4
-rw-r--r--deps/npm/node_modules/libnpmhook/package.json4
-rw-r--r--deps/npm/node_modules/libnpmorg/package.json4
-rw-r--r--deps/npm/node_modules/libnpmpack/lib/index.js2
-rw-r--r--deps/npm/node_modules/libnpmpack/package.json8
-rw-r--r--deps/npm/node_modules/libnpmpublish/lib/publish.js2
-rw-r--r--deps/npm/node_modules/libnpmpublish/package.json8
-rw-r--r--deps/npm/node_modules/libnpmsearch/package.json4
-rw-r--r--deps/npm/node_modules/libnpmteam/package.json4
-rw-r--r--deps/npm/node_modules/libnpmversion/README.md1
-rw-r--r--deps/npm/node_modules/libnpmversion/lib/enforce-clean.js3
-rw-r--r--deps/npm/node_modules/libnpmversion/lib/index.js5
-rw-r--r--deps/npm/node_modules/libnpmversion/lib/version.js9
-rw-r--r--deps/npm/node_modules/libnpmversion/package.json7
-rw-r--r--deps/npm/node_modules/npm-package-arg/lib/npa.js (renamed from deps/npm/node_modules/npm-package-arg/npa.js)98
-rw-r--r--deps/npm/node_modules/npm-package-arg/package.json33
-rw-r--r--deps/npm/node_modules/npm-pick-manifest/lib/index.js (renamed from deps/npm/node_modules/npm-pick-manifest/index.js)14
-rw-r--r--deps/npm/node_modules/npm-pick-manifest/package.json35
-rw-r--r--deps/npm/node_modules/npm-profile/lib/index.js19
-rw-r--r--deps/npm/node_modules/npm-profile/package.json16
-rw-r--r--deps/npm/node_modules/npm-registry-fetch/lib/check-response.js13
-rw-r--r--deps/npm/node_modules/npm-registry-fetch/lib/default-opts.js1
-rw-r--r--deps/npm/node_modules/npm-registry-fetch/package.json8
-rw-r--r--deps/npm/node_modules/pacote/README.md9
-rwxr-xr-xdeps/npm/node_modules/pacote/lib/bin.js30
-rw-r--r--deps/npm/node_modules/pacote/lib/dir.js17
-rw-r--r--deps/npm/node_modules/pacote/lib/fetcher.js101
-rw-r--r--deps/npm/node_modules/pacote/lib/file.js41
-rw-r--r--deps/npm/node_modules/pacote/lib/git.js94
-rw-r--r--deps/npm/node_modules/pacote/lib/registry.js39
-rw-r--r--deps/npm/node_modules/pacote/lib/remote.js8
-rw-r--r--deps/npm/node_modules/pacote/lib/util/cache-dir.js2
-rw-r--r--deps/npm/node_modules/pacote/lib/util/is-package-bin.js7
-rw-r--r--deps/npm/node_modules/pacote/lib/util/npm.js1
-rw-r--r--deps/npm/node_modules/pacote/lib/util/proc-log.js21
-rw-r--r--deps/npm/node_modules/pacote/lib/util/tar-create-options.js5
-rw-r--r--deps/npm/node_modules/pacote/lib/util/trailing-slashes.js10
-rw-r--r--deps/npm/node_modules/pacote/package.json47
-rw-r--r--deps/npm/node_modules/proc-log/index.js22
-rw-r--r--deps/npm/node_modules/proc-log/lib/index.js (renamed from deps/npm/node_modules/libnpmversion/lib/proc-log.js)4
-rw-r--r--deps/npm/node_modules/proc-log/package.json30
-rw-r--r--deps/npm/node_modules/string-width/index.d.ts (renamed from deps/npm/node_modules/cli-columns/node_modules/string-width/index.d.ts)0
-rw-r--r--deps/npm/node_modules/string-width/index.js21
-rw-r--r--deps/npm/node_modules/string-width/node_modules/ansi-regex/index.d.ts37
-rw-r--r--deps/npm/node_modules/string-width/node_modules/ansi-regex/index.js8
-rw-r--r--deps/npm/node_modules/string-width/node_modules/ansi-regex/package.json104
-rw-r--r--deps/npm/node_modules/string-width/node_modules/ansi-regex/readme.md38
-rw-r--r--deps/npm/node_modules/string-width/node_modules/strip-ansi/index.d.ts17
-rw-r--r--deps/npm/node_modules/string-width/node_modules/strip-ansi/index.js2
-rw-r--r--deps/npm/node_modules/string-width/node_modules/strip-ansi/package.json102
-rw-r--r--deps/npm/node_modules/string-width/node_modules/strip-ansi/readme.md17
-rw-r--r--deps/npm/node_modules/string-width/package.json21
-rw-r--r--deps/npm/node_modules/string-width/readme.md22
-rw-r--r--deps/npm/node_modules/strip-ansi/index.js6
-rw-r--r--deps/npm/node_modules/strip-ansi/license21
-rw-r--r--deps/npm/node_modules/strip-ansi/package.json57
-rw-r--r--deps/npm/node_modules/strip-ansi/readme.md33
-rw-r--r--deps/npm/package.json46
-rw-r--r--deps/npm/tap-snapshots/test/lib/utils/exit-handler.js.test.cjs8
-rw-r--r--deps/npm/test/fixtures/mock-npm.js53
-rw-r--r--deps/npm/test/fixtures/sandbox.js45
-rw-r--r--deps/npm/test/lib/commands/access.js5
-rw-r--r--deps/npm/test/lib/commands/adduser.js7
-rw-r--r--deps/npm/test/lib/commands/deprecate.js7
-rw-r--r--deps/npm/test/lib/commands/diff.js3
-rw-r--r--deps/npm/test/lib/commands/dist-tag.js10
-rw-r--r--deps/npm/test/lib/commands/doctor.js12
-rw-r--r--deps/npm/test/lib/commands/hook.js47
-rw-r--r--deps/npm/test/lib/commands/logout.js9
-rw-r--r--deps/npm/test/lib/commands/org.js41
-rw-r--r--deps/npm/test/lib/commands/owner.js26
-rw-r--r--deps/npm/test/lib/commands/ping.js9
-rw-r--r--deps/npm/test/lib/commands/publish.js60
-rw-r--r--deps/npm/test/lib/commands/run-script.js28
-rw-r--r--deps/npm/test/lib/commands/star.js6
-rw-r--r--deps/npm/test/lib/commands/team.js21
-rw-r--r--deps/npm/test/lib/commands/unpublish.js7
-rw-r--r--deps/npm/test/lib/commands/update.js10
-rw-r--r--deps/npm/test/lib/utils/config/definitions.js9
-rw-r--r--deps/npm/test/lib/utils/exit-handler.js6
-rw-r--r--deps/npm/test/lib/utils/reify-output.js11
-rw-r--r--deps/npm/test/lib/utils/update-notifier.js3
421 files changed, 3967 insertions, 4906 deletions
diff --git a/deps/npm/docs/content/commands/npm-access.md b/deps/npm/docs/content/commands/npm-access.md
index 1f661c911f..162e94f1fe 100644
--- a/deps/npm/docs/content/commands/npm-access.md
+++ b/deps/npm/docs/content/commands/npm-access.md
@@ -6,21 +6,27 @@ description: Set access level on published packages
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/access.js -->
+
```bash
npm access public [<package>]
npm access restricted [<package>]
-
npm access grant <read-only|read-write> <scope:team> [<package>]
npm access revoke <scope:team> [<package>]
-
npm access 2fa-required [<package>]
npm access 2fa-not-required [<package>]
-
npm access ls-packages [<user>|<scope>|<scope:team>]
npm access ls-collaborators [<package> [<user>]]
npm access edit [<package>]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/access.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
Used to set access controls on private packages.
diff --git a/deps/npm/docs/content/commands/npm-adduser.md b/deps/npm/docs/content/commands/npm-adduser.md
index 21a31ca940..06eeb379c4 100644
--- a/deps/npm/docs/content/commands/npm-adduser.md
+++ b/deps/npm/docs/content/commands/npm-adduser.md
@@ -6,12 +6,21 @@ description: Add a registry user account
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/adduser.js -->
+
```bash
-npm adduser [--registry=url] [--scope=@orgname] [--auth-type=legacy]
+npm adduser
aliases: login, add-user
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/adduser.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-audit.md b/deps/npm/docs/content/commands/npm-audit.md
index 58c614d793..323d38f64c 100644
--- a/deps/npm/docs/content/commands/npm-audit.md
+++ b/deps/npm/docs/content/commands/npm-audit.md
@@ -6,13 +6,19 @@ description: Run a security audit
### Synopsis
-```bash
-npm audit [--json] [--production] [--audit-level=(low|moderate|high|critical)]
-npm audit fix [--force|--package-lock-only|--dry-run|--production|--only=(dev|prod)]
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/audit.js -->
-common options: [--production] [--only=(dev|prod)]
+```bash
+npm audit [fix]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/audit.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
The audit command submits a description of the dependencies configured in
diff --git a/deps/npm/docs/content/commands/npm-bin.md b/deps/npm/docs/content/commands/npm-bin.md
index 2d7c1d5b81..94b72cfd5c 100644
--- a/deps/npm/docs/content/commands/npm-bin.md
+++ b/deps/npm/docs/content/commands/npm-bin.md
@@ -6,10 +6,19 @@ description: Display npm bin folder
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/bin.js -->
+
```bash
-npm bin [-g|--global]
+npm bin
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/bin.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-bugs.md b/deps/npm/docs/content/commands/npm-bugs.md
index f92241a14b..aeddeb848e 100644
--- a/deps/npm/docs/content/commands/npm-bugs.md
+++ b/deps/npm/docs/content/commands/npm-bugs.md
@@ -6,12 +6,21 @@ description: Report bugs for a package in a web browser
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/bugs.js -->
+
```bash
-npm bugs [<pkgname> [<pkgname> ...]]
+npm bugs [<pkgname>]
-aliases: issues
+alias: issues
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/bugs.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This command tries to guess at the likely location of a package's bug
diff --git a/deps/npm/docs/content/commands/npm-cache.md b/deps/npm/docs/content/commands/npm-cache.md
index 6497a3988c..091e26e8a7 100644
--- a/deps/npm/docs/content/commands/npm-cache.md
+++ b/deps/npm/docs/content/commands/npm-cache.md
@@ -6,18 +6,26 @@ description: Manipulates packages cache
### Synopsis
-```bash
-npm cache add <tarball file>...
-npm cache add <folder>...
-npm cache add <tarball url>...
-npm cache add <name>@<version>...
-
-npm cache clean
-aliases: npm cache clear, npm cache rm
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/cache.js -->
+```bash
+npm cache add <tarball file>
+npm cache add <folder>
+npm cache add <tarball url>
+npm cache add <git url>
+npm cache add <name>@<version>
+npm cache clean [<key>]
+npm cache ls [<name>@<version>]
npm cache verify
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/cache.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-ci.md b/deps/npm/docs/content/commands/npm-ci.md
index 1ce50c66d5..4490fea9a0 100644
--- a/deps/npm/docs/content/commands/npm-ci.md
+++ b/deps/npm/docs/content/commands/npm-ci.md
@@ -6,10 +6,21 @@ description: Install a project with a clean slate
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/ci.js -->
+
```bash
npm ci
+
+aliases: clean-install, ic, install-clean, isntall-clean
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/ci.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This command is similar to [`npm install`](/commands/npm-install), except
diff --git a/deps/npm/docs/content/commands/npm-completion.md b/deps/npm/docs/content/commands/npm-completion.md
index 9dbd960913..d73a98f2e5 100644
--- a/deps/npm/docs/content/commands/npm-completion.md
+++ b/deps/npm/docs/content/commands/npm-completion.md
@@ -6,10 +6,19 @@ description: Tab Completion for npm
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/completion.js -->
+
```bash
-source <(npm completion)
+npm completion
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/completion.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-config.md b/deps/npm/docs/content/commands/npm-config.md
index 2d77f045cb..a66a198ce4 100644
--- a/deps/npm/docs/content/commands/npm-config.md
+++ b/deps/npm/docs/content/commands/npm-config.md
@@ -6,18 +6,25 @@ description: Manage the npm configuration files
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/config.js -->
+
```bash
npm config set <key>=<value> [<key>=<value> ...]
npm config get [<key> [<key> ...]]
npm config delete <key> [<key> ...]
npm config list [--json]
npm config edit
-npm set <key>=<value> [<key>=<value> ...]
-npm get [<key> [<key> ...]]
alias: c
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/config.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-dedupe.md b/deps/npm/docs/content/commands/npm-dedupe.md
index 53d2e64272..b5a64831c0 100644
--- a/deps/npm/docs/content/commands/npm-dedupe.md
+++ b/deps/npm/docs/content/commands/npm-dedupe.md
@@ -6,13 +6,21 @@ description: Reduce duplication in the package tree
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/dedupe.js -->
+
```bash
npm dedupe
-npm ddp
-aliases: ddp
+alias: ddp
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/dedupe.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
Searches the local package tree and attempts to simplify the overall
@@ -145,6 +153,24 @@ When package package-locks are disabled, automatic pruning of extraneous
modules will also be disabled. To remove extraneous modules with
package-locks disabled use `npm prune`.
+This configuration does not affect `npm ci`.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
+#### `save`
+
+* Default: `true` unless when using `npm update` or `npm dedupe` where it
+ defaults to `false`
+* Type: Boolean
+
+Save installed packages to a `package.json` file as dependencies.
+
+When used with the `npm rm` command, removes the dependency from
+`package.json`.
+
+Will also prevent writing to `package-lock.json` if set to `false`.
+
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
diff --git a/deps/npm/docs/content/commands/npm-deprecate.md b/deps/npm/docs/content/commands/npm-deprecate.md
index 438a54ec6e..4345120d37 100644
--- a/deps/npm/docs/content/commands/npm-deprecate.md
+++ b/deps/npm/docs/content/commands/npm-deprecate.md
@@ -6,10 +6,19 @@ description: Deprecate a version of a package
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/deprecate.js -->
+
```bash
-npm deprecate <pkg>[@<version range>] <message>
+npm deprecate <pkg>[@<version>] <message>
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/deprecate.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-diff.md b/deps/npm/docs/content/commands/npm-diff.md
index 8d05df779f..c4c9eafdb3 100644
--- a/deps/npm/docs/content/commands/npm-diff.md
+++ b/deps/npm/docs/content/commands/npm-diff.md
@@ -6,14 +6,19 @@ description: The registry diff command
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/diff.js -->
+
```bash
npm diff [...<paths>]
-npm diff --diff=<pkg-name> [...<paths>]
-npm diff --diff=<version-a> [--diff=<version-b>] [...<paths>]
-npm diff --diff=<spec-a> [--diff=<spec-b>] [...<paths>]
-npm diff [--diff-ignore-all-space] [--diff-name-only] [...<paths>]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/diff.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
Similar to its `git diff` counterpart, this command will print diff patches
diff --git a/deps/npm/docs/content/commands/npm-dist-tag.md b/deps/npm/docs/content/commands/npm-dist-tag.md
index a4e0243aac..a0f306cd49 100644
--- a/deps/npm/docs/content/commands/npm-dist-tag.md
+++ b/deps/npm/docs/content/commands/npm-dist-tag.md
@@ -6,14 +6,23 @@ description: Modify package distribution tags
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/dist-tag.js -->
+
```bash
npm dist-tag add <pkg>@<version> [<tag>]
npm dist-tag rm <pkg> <tag>
npm dist-tag ls [<pkg>]
-aliases: dist-tags
+alias: dist-tags
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/dist-tag.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
Add, remove, and enumerate distribution tags on a package:
diff --git a/deps/npm/docs/content/commands/npm-docs.md b/deps/npm/docs/content/commands/npm-docs.md
index 970d17aa82..8d5a278286 100644
--- a/deps/npm/docs/content/commands/npm-docs.md
+++ b/deps/npm/docs/content/commands/npm-docs.md
@@ -6,12 +6,21 @@ description: Open documentation for a package in a web browser
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/docs.js -->
+
```bash
npm docs [<pkgname> [<pkgname> ...]]
-aliases: home
+alias: home
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/docs.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This command tries to guess at the likely location of a package's
diff --git a/deps/npm/docs/content/commands/npm-doctor.md b/deps/npm/docs/content/commands/npm-doctor.md
index 0cce60c7b7..7fb63bab16 100644
--- a/deps/npm/docs/content/commands/npm-doctor.md
+++ b/deps/npm/docs/content/commands/npm-doctor.md
@@ -6,10 +6,19 @@ description: Check your npm environment
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/doctor.js -->
+
```bash
npm doctor
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/doctor.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-edit.md b/deps/npm/docs/content/commands/npm-edit.md
index 5ae7f2481a..39fc49592c 100644
--- a/deps/npm/docs/content/commands/npm-edit.md
+++ b/deps/npm/docs/content/commands/npm-edit.md
@@ -6,10 +6,19 @@ description: Edit an installed package
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/edit.js -->
+
```bash
-npm edit <pkg>
+npm edit <pkg>[/<subpkg>...]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/edit.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-exec.md b/deps/npm/docs/content/commands/npm-exec.md
index d154f5780b..3645e336b9 100644
--- a/deps/npm/docs/content/commands/npm-exec.md
+++ b/deps/npm/docs/content/commands/npm-exec.md
@@ -6,26 +6,23 @@ description: Run a command from a local or remote npm package
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/exec.js -->
+
```bash
npm exec -- <pkg>[@<version>] [args...]
npm exec --package=<pkg>[@<version>] -- <cmd> [args...]
npm exec -c '<cmd> [args...]'
npm exec --package=foo -c '<cmd> [args...]'
-npm exec [--ws] [-w <workspace-name] [args...]
-npx <pkg>[@<specifier>] [args...]
-npx -p <pkg>[@<specifier>] <cmd> [args...]
-npx -c '<cmd> [args...]'
-npx -p <pkg>[@<specifier>] -c '<cmd> [args...]'
-Run without --call or positional args to open interactive subshell
+alias: x
+```
-alias: npm x, npx
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/exec.js -->
-common options:
---package=<pkg> (may be specified multiple times)
--p is a shorthand for --package only when using npx executable
--c <cmd> --call=<cmd> (may not be mixed with positional arguments)
-```
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
### Description
diff --git a/deps/npm/docs/content/commands/npm-explain.md b/deps/npm/docs/content/commands/npm-explain.md
index 5f05cac0f9..7652210565 100644
--- a/deps/npm/docs/content/commands/npm-explain.md
+++ b/deps/npm/docs/content/commands/npm-explain.md
@@ -6,12 +6,21 @@ description: Explain installed packages
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/explain.js -->
+
```bash
npm explain <folder | specifier>
alias: why
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/explain.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This command will print the chain of dependencies causing a given package
diff --git a/deps/npm/docs/content/commands/npm-explore.md b/deps/npm/docs/content/commands/npm-explore.md
index 3979da9573..90753c7e09 100644
--- a/deps/npm/docs/content/commands/npm-explore.md
+++ b/deps/npm/docs/content/commands/npm-explore.md
@@ -6,10 +6,19 @@ description: Browse an installed package
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/explore.js -->
+
```bash
npm explore <pkg> [ -- <command>]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/explore.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-find-dupes.md b/deps/npm/docs/content/commands/npm-find-dupes.md
index f7dc84f9c5..f7366fa637 100644
--- a/deps/npm/docs/content/commands/npm-find-dupes.md
+++ b/deps/npm/docs/content/commands/npm-find-dupes.md
@@ -6,10 +6,19 @@ description: Find duplication in the package tree
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/find-dupes.js -->
+
```bash
npm find-dupes
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/find-dupes.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
Runs `npm dedupe` in `--dry-run` mode, making npm only output the
@@ -82,6 +91,8 @@ When package package-locks are disabled, automatic pruning of extraneous
modules will also be disabled. To remove extraneous modules with
package-locks disabled use `npm prune`.
+This configuration does not affect `npm ci`.
+
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
diff --git a/deps/npm/docs/content/commands/npm-fund.md b/deps/npm/docs/content/commands/npm-fund.md
index 606b0a188c..5b96e91ab8 100644
--- a/deps/npm/docs/content/commands/npm-fund.md
+++ b/deps/npm/docs/content/commands/npm-fund.md
@@ -6,11 +6,19 @@ description: Retrieve funding information
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/fund.js -->
+
```bash
-npm fund [<pkg>]
-npm fund [-w <workspace-name>]
+npm fund [[<@scope>/]<pkg>]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/fund.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This command retrieves information on how to fund the dependencies of a
diff --git a/deps/npm/docs/content/commands/npm-help-search.md b/deps/npm/docs/content/commands/npm-help-search.md
index 78553a14ec..152f9f6bec 100644
--- a/deps/npm/docs/content/commands/npm-help-search.md
+++ b/deps/npm/docs/content/commands/npm-help-search.md
@@ -6,10 +6,19 @@ description: Search npm help documentation
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/help-search.js -->
+
```bash
npm help-search <text>
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/help-search.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-help.md b/deps/npm/docs/content/commands/npm-help.md
index a8002eef17..83c595db69 100644
--- a/deps/npm/docs/content/commands/npm-help.md
+++ b/deps/npm/docs/content/commands/npm-help.md
@@ -6,10 +6,21 @@ description: Get help on npm
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/help.js -->
+
```bash
npm help <term> [<terms..>]
+
+alias: hlep
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/help.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-hook.md b/deps/npm/docs/content/commands/npm-hook.md
index c91bce3075..4a9805d02f 100644
--- a/deps/npm/docs/content/commands/npm-hook.md
+++ b/deps/npm/docs/content/commands/npm-hook.md
@@ -6,13 +6,22 @@ description: Manage registry hooks
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/hook.js -->
+
```bash
+npm hook add <pkg> <url> <secret> [--type=<type>]
npm hook ls [pkg]
-npm hook add <entity> <url> <secret>
-npm hook update <id> <url> [secret]
npm hook rm <id>
+npm hook update <id> <url> <secret>
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/hook.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-init.md b/deps/npm/docs/content/commands/npm-init.md
index a608061a96..d9c03aef41 100644
--- a/deps/npm/docs/content/commands/npm-init.md
+++ b/deps/npm/docs/content/commands/npm-init.md
@@ -6,13 +6,23 @@ description: Create a package.json file
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/init.js -->
+
```bash
-npm init [--yes|-y|--scope]
-npm init <@scope> (same as `npm exec <@scope>/create`)
-npm init [<@scope>/]<name> (same as `npm exec [<@scope>/]create-<name>`)
-npm init [-w <dir>] [args...]
+npm init [--force|-f|--yes|-y|--scope]
+npm init <@scope> (same as `npx <@scope>/create`)
+npm init [<@scope>/]<name> (same as `npx [<@scope>/]create-<name>`)
+
+aliases: create, innit
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/init.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
`npm init <initializer>` can be used to set up a new or existing npm
@@ -38,6 +48,15 @@ strictly additive, so it will keep any fields and values that were already
set. You can also use `-y`/`--yes` to skip the questionnaire altogether. If
you pass `--scope`, it will create a scoped package.
+*Note:* if a user already has the `create-<initializer>` package
+globally installed, that will be what `npm init` uses. If you want npm
+to use the latest version, or another specific version you must specify
+it:
+
+* `npm init foo@latest` # fetches and runs the latest `create-foo` from
+ the registry
+* `npm init foo@1.2.3` # runs `create-foo@1.2.3` specifically
+
#### Forwarding additional options
Any additional options will be passed directly to the command, so `npm init
diff --git a/deps/npm/docs/content/commands/npm-install-ci-test.md b/deps/npm/docs/content/commands/npm-install-ci-test.md
index 5c37ed8f56..5ad6760454 100644
--- a/deps/npm/docs/content/commands/npm-install-ci-test.md
+++ b/deps/npm/docs/content/commands/npm-install-ci-test.md
@@ -6,12 +6,21 @@ description: Install a project with a clean slate and run tests
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/install-ci-test.js -->
+
```bash
npm install-ci-test
-alias: npm cit
+alias: cit
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/install-ci-test.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This command runs `npm ci` followed immediately by `npm test`.
diff --git a/deps/npm/docs/content/commands/npm-install-test.md b/deps/npm/docs/content/commands/npm-install-test.md
index c464e5bd0b..ed39c6705a 100644
--- a/deps/npm/docs/content/commands/npm-install-test.md
+++ b/deps/npm/docs/content/commands/npm-install-test.md
@@ -6,20 +6,30 @@ description: Install package(s) and run tests
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/install-test.js -->
+
```bash
-npm install-test (with no args, in package dir)
-npm install-test [<@scope>/]<name>
-npm install-test [<@scope>/]<name>@<tag>
-npm install-test [<@scope>/]<name>@<version>
-npm install-test [<@scope>/]<name>@<version range>
+npm install-test [<@scope>/]<pkg>
+npm install-test [<@scope>/]<pkg>@<tag>
+npm install-test [<@scope>/]<pkg>@<version>
+npm install-test [<@scope>/]<pkg>@<version range>
+npm install-test <alias>@npm:<name>
+npm install-test <folder>
npm install-test <tarball file>
npm install-test <tarball url>
-npm install-test <folder>
+npm install-test <git:// url>
+npm install-test <github username>/<github project>
-alias: npm it
-common options: [--save|--save-dev|--save-optional] [--save-exact] [--dry-run]
+alias: it
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/install-test.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This command runs an `npm install` followed immediately by an `npm test`. It
@@ -32,13 +42,16 @@ takes exactly the same arguments as `npm install`.
<!-- see lib/utils/config/definitions.js -->
#### `save`
-* Default: true
+* Default: `true` unless when using `npm update` or `npm dedupe` where it
+ defaults to `false`
* Type: Boolean
-Save installed packages to a package.json file as dependencies.
+Save installed packages to a `package.json` file as dependencies.
When used with the `npm rm` command, removes the dependency from
-package.json.
+`package.json`.
+
+Will also prevent writing to `package-lock.json` if set to `false`.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
@@ -133,6 +146,8 @@ When package package-locks are disabled, automatic pruning of extraneous
modules will also be disabled. To remove extraneous modules with
package-locks disabled use `npm prune`.
+This configuration does not affect `npm ci`.
+
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
diff --git a/deps/npm/docs/content/commands/npm-install.md b/deps/npm/docs/content/commands/npm-install.md
index f83ff51199..6f12e5f538 100644
--- a/deps/npm/docs/content/commands/npm-install.md
+++ b/deps/npm/docs/content/commands/npm-install.md
@@ -6,23 +6,30 @@ description: Install a package
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/install.js -->
+
```bash
-npm install (with no args, in package dir)
-npm install [<@scope>/]<name>
-npm install [<@scope>/]<name>@<tag>
-npm install [<@scope>/]<name>@<version>
-npm install [<@scope>/]<name>@<version range>
+npm install [<@scope>/]<pkg>
+npm install [<@scope>/]<pkg>@<tag>
+npm install [<@scope>/]<pkg>@<version>
+npm install [<@scope>/]<pkg>@<version range>
npm install <alias>@npm:<name>
-npm install <git-host>:<git-user>/<repo-name>
-npm install <git repo url>
+npm install <folder>
npm install <tarball file>
npm install <tarball url>
-npm install <folder>
+npm install <git:// url>
+npm install <github username>/<github project>
-aliases: npm i, npm add
-common options: [-P|--save-prod|-D|--save-dev|-O|--save-optional|--save-peer] [-E|--save-exact] [-B|--save-bundle] [--no-save] [--dry-run]
+aliases: i, in, ins, inst, insta, instal, isnt, isnta, isntal, add
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/install.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This command installs a package and any packages that it depends on. If the
@@ -425,13 +432,16 @@ These are some of the most common options related to installation.
<!-- see lib/utils/config/definitions.js -->
#### `save`
-* Default: true
+* Default: `true` unless when using `npm update` or `npm dedupe` where it
+ defaults to `false`
* Type: Boolean
-Save installed packages to a package.json file as dependencies.
+Save installed packages to a `package.json` file as dependencies.
When used with the `npm rm` command, removes the dependency from
-package.json.
+`package.json`.
+
+Will also prevent writing to `package-lock.json` if set to `false`.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
@@ -526,6 +536,8 @@ When package package-locks are disabled, automatic pruning of extraneous
modules will also be disabled. To remove extraneous modules with
package-locks disabled use `npm prune`.
+This configuration does not affect `npm ci`.
+
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
diff --git a/deps/npm/docs/content/commands/npm-link.md b/deps/npm/docs/content/commands/npm-link.md
index d4ef41ae96..892b55496c 100644
--- a/deps/npm/docs/content/commands/npm-link.md
+++ b/deps/npm/docs/content/commands/npm-link.md
@@ -6,13 +6,22 @@ description: Symlink a package folder
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/link.js -->
+
```bash
npm link (in package dir)
npm link [<@scope>/]<pkg>[@<version>]
-alias: npm ln
+alias: ln
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/link.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This is handy for installing your own stuff, so that you can work on it and
@@ -116,13 +125,16 @@ workspace(s).
<!-- see lib/utils/config/definitions.js -->
#### `save`
-* Default: true
+* Default: `true` unless when using `npm update` or `npm dedupe` where it
+ defaults to `false`
* Type: Boolean
-Save installed packages to a package.json file as dependencies.
+Save installed packages to a `package.json` file as dependencies.
When used with the `npm rm` command, removes the dependency from
-package.json.
+`package.json`.
+
+Will also prevent writing to `package-lock.json` if set to `false`.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
@@ -217,6 +229,8 @@ When package package-locks are disabled, automatic pruning of extraneous
modules will also be disabled. To remove extraneous modules with
package-locks disabled use `npm prune`.
+This configuration does not affect `npm ci`.
+
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
diff --git a/deps/npm/docs/content/commands/npm-logout.md b/deps/npm/docs/content/commands/npm-logout.md
index cb7c8496fb..f0dd5cb856 100644
--- a/deps/npm/docs/content/commands/npm-logout.md
+++ b/deps/npm/docs/content/commands/npm-logout.md
@@ -6,10 +6,19 @@ description: Log out of the registry
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/logout.js -->
+
```bash
-npm logout [--registry=<url>] [--scope=<@scope>]
+npm logout
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/logout.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-ls.md b/deps/npm/docs/content/commands/npm-ls.md
index 3b33f0a360..0f06e131f4 100644
--- a/deps/npm/docs/content/commands/npm-ls.md
+++ b/deps/npm/docs/content/commands/npm-ls.md
@@ -6,12 +6,21 @@ description: List installed packages
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/ls.js -->
+
```bash
npm ls [[<@scope>/]<pkg> ...]
-aliases: list, la, ll
+alias: list
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/ls.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This command will print to stdout all the versions of packages that are
diff --git a/deps/npm/docs/content/commands/npm-org.md b/deps/npm/docs/content/commands/npm-org.md
index 2f08f61152..975581c860 100644
--- a/deps/npm/docs/content/commands/npm-org.md
+++ b/deps/npm/docs/content/commands/npm-org.md
@@ -6,12 +6,23 @@ description: Manage orgs
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/org.js -->
+
```bash
-npm org set <orgname> <username> [developer | admin | owner]
-npm org rm <orgname> <username>
-npm org ls <orgname> [<username>]
+npm org set orgname username [developer | admin | owner]
+npm org rm orgname username
+npm org ls orgname [<username>]
+
+alias: ogr
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/org.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Example
diff --git a/deps/npm/docs/content/commands/npm-outdated.md b/deps/npm/docs/content/commands/npm-outdated.md
index 1b58a6afda..6fa026550e 100644
--- a/deps/npm/docs/content/commands/npm-outdated.md
+++ b/deps/npm/docs/content/commands/npm-outdated.md
@@ -6,10 +6,19 @@ description: Check for outdated packages
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/outdated.js -->
+
```bash
npm outdated [[<@scope>/]<pkg> ...]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/outdated.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This command will check the registry to see if any (or, specific) installed
diff --git a/deps/npm/docs/content/commands/npm-owner.md b/deps/npm/docs/content/commands/npm-owner.md
index 74e7f84af6..0779984e19 100644
--- a/deps/npm/docs/content/commands/npm-owner.md
+++ b/deps/npm/docs/content/commands/npm-owner.md
@@ -6,14 +6,23 @@ description: Manage package owners
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/owner.js -->
+
```bash
npm owner add <user> [<@scope>/]<pkg>
npm owner rm <user> [<@scope>/]<pkg>
npm owner ls [<@scope>/]<pkg>
-aliases: author
+alias: author
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/owner.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-pack.md b/deps/npm/docs/content/commands/npm-pack.md
index 5394598683..c834f643ac 100644
--- a/deps/npm/docs/content/commands/npm-pack.md
+++ b/deps/npm/docs/content/commands/npm-pack.md
@@ -6,10 +6,19 @@ description: Create a tarball from a package
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/pack.js -->
+
```bash
-npm pack [[<@scope>/]<pkg>...] [--dry-run] [--json]
+npm pack [[<@scope>/]<pkg>...]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/pack.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Configuration
<!-- AUTOGENERATED CONFIG DESCRIPTIONS START -->
diff --git a/deps/npm/docs/content/commands/npm-ping.md b/deps/npm/docs/content/commands/npm-ping.md
index c59a56e611..161d7292f8 100644
--- a/deps/npm/docs/content/commands/npm-ping.md
+++ b/deps/npm/docs/content/commands/npm-ping.md
@@ -6,10 +6,19 @@ description: Ping npm registry
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/ping.js -->
+
```bash
-npm ping [--registry <registry>]
+npm ping
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/ping.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-pkg.md b/deps/npm/docs/content/commands/npm-pkg.md
index beee9c1c4e..8f6cbecf95 100644
--- a/deps/npm/docs/content/commands/npm-pkg.md
+++ b/deps/npm/docs/content/commands/npm-pkg.md
@@ -6,12 +6,21 @@ description: Manages your package.json
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/pkg.js -->
+
```bash
-npm pkg get [<field> [.<subfield> ...]]
-npm pkg set <field>=<value> [.<subfield>=<value> ...]
-npm pkg delete <field> [.<subfield> ...]
+npm pkg set <key>=<value> [<key>=<value> ...]
+npm pkg get [<key> [<key> ...]]
+npm pkg delete <key> [<key> ...]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/pkg.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
A command that automates the management of `package.json` files.
diff --git a/deps/npm/docs/content/commands/npm-prefix.md b/deps/npm/docs/content/commands/npm-prefix.md
index 276a9e9e69..39328bcc88 100644
--- a/deps/npm/docs/content/commands/npm-prefix.md
+++ b/deps/npm/docs/content/commands/npm-prefix.md
@@ -6,10 +6,19 @@ description: Display prefix
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/prefix.js -->
+
```bash
npm prefix [-g]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/prefix.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-profile.md b/deps/npm/docs/content/commands/npm-profile.md
index cecc48518d..af1f9d8aa1 100644
--- a/deps/npm/docs/content/commands/npm-profile.md
+++ b/deps/npm/docs/content/commands/npm-profile.md
@@ -6,14 +6,22 @@ description: Change settings on your registry profile
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/profile.js -->
+
```bash
-npm profile get [--json|--parseable] [<property>]
-npm profile set [--json|--parseable] <property> <value>
-npm profile set password
-npm profile enable-2fa [auth-and-writes|auth-only]
+npm profile enable-2fa [auth-only|auth-and-writes]
npm profile disable-2fa
+npm profile get [<key>]
+npm profile set <key> <value>
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/profile.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-prune.md b/deps/npm/docs/content/commands/npm-prune.md
index 658ab2610e..49420e5b9d 100644
--- a/deps/npm/docs/content/commands/npm-prune.md
+++ b/deps/npm/docs/content/commands/npm-prune.md
@@ -6,10 +6,19 @@ description: Remove extraneous packages
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/prune.js -->
+
```bash
-npm prune [[<@scope>/]<pkg>...] [--production] [--dry-run] [--json]
+npm prune [[<@scope>/]<pkg>...]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/prune.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This command removes "extraneous" packages. If a package name is provided,
diff --git a/deps/npm/docs/content/commands/npm-publish.md b/deps/npm/docs/content/commands/npm-publish.md
index 6958b1066d..ce6e1c1012 100644
--- a/deps/npm/docs/content/commands/npm-publish.md
+++ b/deps/npm/docs/content/commands/npm-publish.md
@@ -6,13 +6,19 @@ description: Publish a package
### Synopsis
-```bash
-npm publish [<tarball>|<folder>] [--tag <tag>] [--access <public|restricted>] [--otp otpcode] [--dry-run]
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/publish.js -->
-Publishes '.' if no argument supplied
-Sets tag 'latest' if no --tag specified
+```bash
+npm publish [<folder>]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/publish.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
Publishes a package to the registry so that it can be installed by name.
diff --git a/deps/npm/docs/content/commands/npm-rebuild.md b/deps/npm/docs/content/commands/npm-rebuild.md
index 75e71c60e6..ecb4a7ce34 100644
--- a/deps/npm/docs/content/commands/npm-rebuild.md
+++ b/deps/npm/docs/content/commands/npm-rebuild.md
@@ -6,12 +6,21 @@ description: Rebuild a package
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/rebuild.js -->
+
```bash
npm rebuild [[<@scope>/]<name>[@<version>] ...]
alias: rb
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/rebuild.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This command runs the `npm build` command on the matched folders. This is
diff --git a/deps/npm/docs/content/commands/npm-repo.md b/deps/npm/docs/content/commands/npm-repo.md
index cd47fde471..e14f07012a 100644
--- a/deps/npm/docs/content/commands/npm-repo.md
+++ b/deps/npm/docs/content/commands/npm-repo.md
@@ -6,10 +6,19 @@ description: Open package repository page in the browser
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/repo.js -->
+
```bash
npm repo [<pkgname> [<pkgname> ...]]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/repo.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This command tries to guess at the likely location of a package's
diff --git a/deps/npm/docs/content/commands/npm-restart.md b/deps/npm/docs/content/commands/npm-restart.md
index 80f8ab77ef..f01cd014e7 100644
--- a/deps/npm/docs/content/commands/npm-restart.md
+++ b/deps/npm/docs/content/commands/npm-restart.md
@@ -6,10 +6,19 @@ description: Restart a package
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/restart.js -->
+
```bash
npm restart [-- <args>]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/restart.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This restarts a project. It is equivalent to running `npm run-script
diff --git a/deps/npm/docs/content/commands/npm-root.md b/deps/npm/docs/content/commands/npm-root.md
index 98d1108d33..40b58e4b33 100644
--- a/deps/npm/docs/content/commands/npm-root.md
+++ b/deps/npm/docs/content/commands/npm-root.md
@@ -6,10 +6,19 @@ description: Display npm root
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/root.js -->
+
```bash
-npm root [-g]
+npm root
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/root.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
Print the effective `node_modules` folder to standard out.
diff --git a/deps/npm/docs/content/commands/npm-run-script.md b/deps/npm/docs/content/commands/npm-run-script.md
index 6dd602d03e..79b7c9a257 100644
--- a/deps/npm/docs/content/commands/npm-run-script.md
+++ b/deps/npm/docs/content/commands/npm-run-script.md
@@ -6,14 +6,21 @@ description: Run arbitrary package scripts
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/run-script.js -->
+
```bash
-npm run-script <command> [--if-present] [--silent] [-- <args>]
-npm run-script <command> [--workspace=<workspace-name>]
-npm run-script <command> [--workspaces]
+npm run-script <command> [-- <args>]
aliases: run, rum, urn
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/run-script.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This runs an arbitrary command from a package's `"scripts"` object. If no
diff --git a/deps/npm/docs/content/commands/npm-search.md b/deps/npm/docs/content/commands/npm-search.md
index 252822e719..db6a12bafa 100644
--- a/deps/npm/docs/content/commands/npm-search.md
+++ b/deps/npm/docs/content/commands/npm-search.md
@@ -6,12 +6,21 @@ description: Search for packages
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/search.js -->
+
```bash
-npm search [-l|--long] [--json] [--parseable] [--no-description] [search terms ...]
+npm search [search terms ...]
aliases: s, se, find
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/search.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-set-script.md b/deps/npm/docs/content/commands/npm-set-script.md
index 869ceede04..2d8e87db85 100644
--- a/deps/npm/docs/content/commands/npm-set-script.md
+++ b/deps/npm/docs/content/commands/npm-set-script.md
@@ -7,10 +7,19 @@ description: Set tasks in the scripts section of package.json
### Synopsis
An npm command that lets you create a task in the `scripts` section of the `package.json`.
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/set-script.js -->
+
```bash
npm set-script [<script>] [<command>]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/set-script.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
**Example:**
diff --git a/deps/npm/docs/content/commands/npm-shrinkwrap.md b/deps/npm/docs/content/commands/npm-shrinkwrap.md
index 6786229469..043b4ad1b1 100644
--- a/deps/npm/docs/content/commands/npm-shrinkwrap.md
+++ b/deps/npm/docs/content/commands/npm-shrinkwrap.md
@@ -6,10 +6,19 @@ description: Lock down dependency versions for publication
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/shrinkwrap.js -->
+
```bash
npm shrinkwrap
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/shrinkwrap.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-star.md b/deps/npm/docs/content/commands/npm-star.md
index 21109c3509..bbec7ac5f9 100644
--- a/deps/npm/docs/content/commands/npm-star.md
+++ b/deps/npm/docs/content/commands/npm-star.md
@@ -6,10 +6,19 @@ description: Mark your favorite packages
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/star.js -->
+
```bash
npm star [<pkg>...]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/star.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-stars.md b/deps/npm/docs/content/commands/npm-stars.md
index 101559ad99..b915383153 100644
--- a/deps/npm/docs/content/commands/npm-stars.md
+++ b/deps/npm/docs/content/commands/npm-stars.md
@@ -5,10 +5,20 @@ description: View packages marked as favorites
---
### Synopsis
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/stars.js -->
+
```bash
npm stars [<user>]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/stars.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-start.md b/deps/npm/docs/content/commands/npm-start.md
index 50a54cb5e5..8dd874b3c7 100644
--- a/deps/npm/docs/content/commands/npm-start.md
+++ b/deps/npm/docs/content/commands/npm-start.md
@@ -6,10 +6,19 @@ description: Start a package
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/start.js -->
+
```bash
npm start [-- <args>]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/start.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This runs a predefined command specified in the `"start"` property of
diff --git a/deps/npm/docs/content/commands/npm-stop.md b/deps/npm/docs/content/commands/npm-stop.md
index d4de4caf3a..9a3a55cf3f 100644
--- a/deps/npm/docs/content/commands/npm-stop.md
+++ b/deps/npm/docs/content/commands/npm-stop.md
@@ -6,10 +6,19 @@ description: Stop a package
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/stop.js -->
+
```bash
npm stop [-- <args>]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/stop.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This runs a predefined command specified in the "stop" property of a
diff --git a/deps/npm/docs/content/commands/npm-team.md b/deps/npm/docs/content/commands/npm-team.md
index 6050af1dff..dc26fb53aa 100644
--- a/deps/npm/docs/content/commands/npm-team.md
+++ b/deps/npm/docs/content/commands/npm-team.md
@@ -6,16 +6,23 @@ description: Manage organization teams and team memberships
### Synopsis
-```bash
-npm team create <scope:team>
-npm team destroy <scope:team>
-
-npm team add <scope:team> <user>
-npm team rm <scope:team> <user>
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/team.js -->
+```bash
+npm team create <scope:team> [--otp <otpcode>]
+npm team destroy <scope:team> [--otp <otpcode>]
+npm team add <scope:team> <user> [--otp <otpcode>]
+npm team rm <scope:team> <user> [--otp <otpcode>]
npm team ls <scope>|<scope:team>
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/team.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-test.md b/deps/npm/docs/content/commands/npm-test.md
index 2059f93dec..8a343ab299 100644
--- a/deps/npm/docs/content/commands/npm-test.md
+++ b/deps/npm/docs/content/commands/npm-test.md
@@ -6,12 +6,21 @@ description: Test a package
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/test.js -->
+
```bash
npm test [-- <args>]
-aliases: t, tst
+aliases: tst, t
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/test.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This runs a predefined command specified in the `"test"` property of
diff --git a/deps/npm/docs/content/commands/npm-token.md b/deps/npm/docs/content/commands/npm-token.md
index 16da1f7319..856ad68c9c 100644
--- a/deps/npm/docs/content/commands/npm-token.md
+++ b/deps/npm/docs/content/commands/npm-token.md
@@ -5,12 +5,22 @@ description: Manage your authentication tokens
---
### Synopsis
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/token.js -->
+
```bash
- npm token list [--json|--parseable]
- npm token create [--read-only] [--cidr=1.1.1.1/24,2.2.2.2/16]
- npm token revoke <id|token>
+npm token list
+npm token revoke <id|token>
+npm token create [--read-only] [--cidr=list]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/token.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-uninstall.md b/deps/npm/docs/content/commands/npm-uninstall.md
index 824d0d8760..8132bf6bc4 100644
--- a/deps/npm/docs/content/commands/npm-uninstall.md
+++ b/deps/npm/docs/content/commands/npm-uninstall.md
@@ -6,12 +6,21 @@ description: Remove a package
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/uninstall.js -->
+
```bash
-npm uninstall [<@scope>/]<pkg>[@<version>]... [-S|--save|--no-save]
+npm uninstall [<@scope>/]<pkg>...
-aliases: remove, rm, r, un, unlink
+aliases: un, unlink, remove, rm, r
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/uninstall.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This uninstalls a package, completely removing everything npm installed
@@ -61,13 +70,16 @@ npm uninstall lodash --no-save
<!-- see lib/utils/config/definitions.js -->
#### `save`
-* Default: true
+* Default: `true` unless when using `npm update` or `npm dedupe` where it
+ defaults to `false`
* Type: Boolean
-Save installed packages to a package.json file as dependencies.
+Save installed packages to a `package.json` file as dependencies.
When used with the `npm rm` command, removes the dependency from
-package.json.
+`package.json`.
+
+Will also prevent writing to `package-lock.json` if set to `false`.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
diff --git a/deps/npm/docs/content/commands/npm-unstar.md b/deps/npm/docs/content/commands/npm-unstar.md
index d6e3620772..76202190da 100644
--- a/deps/npm/docs/content/commands/npm-unstar.md
+++ b/deps/npm/docs/content/commands/npm-unstar.md
@@ -6,10 +6,19 @@ description: Remove an item from your favorite packages
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/unstar.js -->
+
```bash
npm unstar [<pkg>...]
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/unstar.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm-update.md b/deps/npm/docs/content/commands/npm-update.md
index 1889d60569..e1b48a8ed4 100644
--- a/deps/npm/docs/content/commands/npm-update.md
+++ b/deps/npm/docs/content/commands/npm-update.md
@@ -6,12 +6,21 @@ description: Update packages
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/update.js -->
+
```bash
-npm update [-g] [<pkg>...]
+npm update [<pkg>...]
-aliases: up, upgrade
+aliases: up, upgrade, udpate
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/update.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This command will update all the packages listed to the latest version
@@ -239,6 +248,24 @@ When package package-locks are disabled, automatic pruning of extraneous
modules will also be disabled. To remove extraneous modules with
package-locks disabled use `npm prune`.
+This configuration does not affect `npm ci`.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
+#### `save`
+
+* Default: `true` unless when using `npm update` or `npm dedupe` where it
+ defaults to `false`
+* Type: Boolean
+
+Save installed packages to a `package.json` file as dependencies.
+
+When used with the `npm rm` command, removes the dependency from
+`package.json`.
+
+Will also prevent writing to `package-lock.json` if set to `false`.
+
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
diff --git a/deps/npm/docs/content/commands/npm-version.md b/deps/npm/docs/content/commands/npm-version.md
index 91ab0dee04..b53dd64aea 100644
--- a/deps/npm/docs/content/commands/npm-version.md
+++ b/deps/npm/docs/content/commands/npm-version.md
@@ -6,14 +6,21 @@ description: Bump a package version
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/version.js -->
+
```bash
-npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git]
+npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease | from-git]
-'npm [-v | --version]' to print npm version
-'npm view <pkg> version' to view a package's published version
-'npm ls' to inspect current package/dependency versions
+alias: verison
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/version.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Configuration
<!-- AUTOGENERATED CONFIG DESCRIPTIONS START -->
diff --git a/deps/npm/docs/content/commands/npm-view.md b/deps/npm/docs/content/commands/npm-view.md
index 9a1793f13f..53ca408a01 100644
--- a/deps/npm/docs/content/commands/npm-view.md
+++ b/deps/npm/docs/content/commands/npm-view.md
@@ -6,12 +6,21 @@ description: View registry info
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/view.js -->
+
```bash
-npm view [<@scope>/]<name>[@<version>] [<field>[.<subfield>]...]
+npm view [<@scope>/]<pkg>[@<version>] [<field>[.subfield]...]
-aliases: info, show, v
+aliases: v, info, show
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/view.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
### Description
This command shows data about a package and prints it to stdout.
diff --git a/deps/npm/docs/content/commands/npm-whoami.md b/deps/npm/docs/content/commands/npm-whoami.md
index 2cd7ffde3f..18416f633a 100644
--- a/deps/npm/docs/content/commands/npm-whoami.md
+++ b/deps/npm/docs/content/commands/npm-whoami.md
@@ -6,10 +6,19 @@ description: Display npm username
### Synopsis
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/whoami.js -->
+
```bash
-npm whoami [--registry <registry>]
+npm whoami
```
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/whoami.js -->
+
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
+
Note: This command is unaware of workspaces.
### Description
diff --git a/deps/npm/docs/content/commands/npm.md b/deps/npm/docs/content/commands/npm.md
index de51087064..aaf295dfde 100644
--- a/deps/npm/docs/content/commands/npm.md
+++ b/deps/npm/docs/content/commands/npm.md
@@ -6,9 +6,8 @@ description: javascript package manager
### Synopsis
-```bash
-npm <command> [args]
-```
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
### Version
diff --git a/deps/npm/docs/content/commands/npx.md b/deps/npm/docs/content/commands/npx.md
index c1aae0b9ff..e7e59d00d8 100644
--- a/deps/npm/docs/content/commands/npx.md
+++ b/deps/npm/docs/content/commands/npx.md
@@ -6,23 +6,21 @@ description: Run a command from a local or remote npm package
### Synopsis
-```bash
-npm exec -- <pkg>[@<version>] [args...]
-npm exec --package=<pkg>[@<version>] -- <cmd> [args...]
-npm exec -c '<cmd> [args...]'
-npm exec --package=foo -c '<cmd> [args...]'
+<!-- AUTOGENERATED USAGE DESCRIPTIONS START -->
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/exec.js -->
-npx <pkg>[@<specifier>] [args...]
-npx -p <pkg>[@<specifier>] <cmd> [args...]
+```bash
+npx -- <pkg>[@<version>] [args...]
+npx --package=<pkg>[@<version>] -- <cmd> [args...]
npx -c '<cmd> [args...]'
-npx -p <pkg>[@<specifier>] -c '<cmd> [args...]'
+npx --package=foo -c '<cmd> [args...]'
+```
-alias: npm x, npx
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/commands/exec.js -->
---package=<pkg> (may be specified multiple times)
--p is a shorthand for --package only when using npx executable
--c <cmd> --call=<cmd> (may not be mixed with positional arguments)
-```
+<!-- AUTOGENERATED USAGE DESCRIPTIONS END -->
### Description
diff --git a/deps/npm/docs/content/using-npm/scripts.md b/deps/npm/docs/content/using-npm/scripts.md
index 737cef3f43..f79ddc65e9 100644
--- a/deps/npm/docs/content/using-npm/scripts.md
+++ b/deps/npm/docs/content/using-npm/scripts.md
@@ -344,6 +344,11 @@ file.
preinstall or install script. If you are doing this, please consider if
there is another option. The only valid use of `install` or `preinstall`
scripts is for compilation which must be done on the target architecture.
+* Scripts are run from the root of the package folder, regardless of what the
+ current working directory is when `npm` is invoked. If you want your
+ script to use different behavior based on what subdirectory you're in, you
+ can use the `INIT_CWD` environment variable, which holds the full path you
+ were in when you ran `npm run`.
### See Also
diff --git a/deps/npm/docs/output/commands/npm-access.html b/deps/npm/docs/output/commands/npm-access.html
index cfadcce10c..71eed719db 100644
--- a/deps/npm/docs/output/commands/npm-access.html
+++ b/deps/npm/docs/output/commands/npm-access.html
@@ -146,19 +146,22 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm access public [&lt;package&gt;]
npm access restricted [&lt;package&gt;]
-
npm access grant &lt;read-only|read-write&gt; &lt;scope:team&gt; [&lt;package&gt;]
npm access revoke &lt;scope:team&gt; [&lt;package&gt;]
-
npm access 2fa-required [&lt;package&gt;]
npm access 2fa-not-required [&lt;package&gt;]
-
npm access ls-packages [&lt;user&gt;|&lt;scope&gt;|&lt;scope:team&gt;]
npm access ls-collaborators [&lt;package&gt; [&lt;user&gt;]]
npm access edit [&lt;package&gt;]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>Used to set access controls on private packages.</p>
<p>For all of the subcommands, <code>npm access</code> will perform actions on the packages
diff --git a/deps/npm/docs/output/commands/npm-adduser.html b/deps/npm/docs/output/commands/npm-adduser.html
index 7d7d606b0f..c0b870e534 100644
--- a/deps/npm/docs/output/commands/npm-adduser.html
+++ b/deps/npm/docs/output/commands/npm-adduser.html
@@ -146,10 +146,16 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm adduser [--registry=url] [--scope=@orgname] [--auth-type=legacy]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm adduser
aliases: login, add-user
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>Create or verify a user named <code>&lt;username&gt;</code> in the specified registry, and
diff --git a/deps/npm/docs/output/commands/npm-audit.html b/deps/npm/docs/output/commands/npm-audit.html
index 95167a3c32..11006e2f09 100644
--- a/deps/npm/docs/output/commands/npm-audit.html
+++ b/deps/npm/docs/output/commands/npm-audit.html
@@ -146,11 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm audit [--json] [--production] [--audit-level=(low|moderate|high|critical)]
-npm audit fix [--force|--package-lock-only|--dry-run|--production|--only=(dev|prod)]
-
-common options: [--production] [--only=(dev|prod)]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm audit [fix]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>The audit command submits a description of the dependencies configured in
your project to your default registry and asks for a report of known
diff --git a/deps/npm/docs/output/commands/npm-bin.html b/deps/npm/docs/output/commands/npm-bin.html
index 3bf26a23f8..5961ea7e50 100644
--- a/deps/npm/docs/output/commands/npm-bin.html
+++ b/deps/npm/docs/output/commands/npm-bin.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm bin [-g|--global]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm bin
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>Print the folder where npm will install executables.</p>
diff --git a/deps/npm/docs/output/commands/npm-bugs.html b/deps/npm/docs/output/commands/npm-bugs.html
index 5f19271570..3b5bed0759 100644
--- a/deps/npm/docs/output/commands/npm-bugs.html
+++ b/deps/npm/docs/output/commands/npm-bugs.html
@@ -146,10 +146,16 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm bugs [&lt;pkgname&gt; [&lt;pkgname&gt; ...]]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm bugs [&lt;pkgname&gt;]
-aliases: issues
+alias: issues
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This command tries to guess at the likely location of a package's bug
tracker URL or the <code>mailto</code> URL of the support email, and then tries to
diff --git a/deps/npm/docs/output/commands/npm-cache.html b/deps/npm/docs/output/commands/npm-cache.html
index 88ccd2facd..c5d6869b34 100644
--- a/deps/npm/docs/output/commands/npm-cache.html
+++ b/deps/npm/docs/output/commands/npm-cache.html
@@ -146,16 +146,21 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm cache add &lt;tarball file&gt;...
-npm cache add &lt;folder&gt;...
-npm cache add &lt;tarball url&gt;...
-npm cache add &lt;name&gt;@&lt;version&gt;...
-
-npm cache clean
-aliases: npm cache clear, npm cache rm
-
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm cache add &lt;tarball file&gt;
+npm cache add &lt;folder&gt;
+npm cache add &lt;tarball url&gt;
+npm cache add &lt;git url&gt;
+npm cache add &lt;name&gt;@&lt;version&gt;
+npm cache clean [&lt;key&gt;]
+npm cache ls [&lt;name&gt;@&lt;version&gt;]
npm cache verify
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>Used to add, list, or clean the npm cache folder.</p>
diff --git a/deps/npm/docs/output/commands/npm-ci.html b/deps/npm/docs/output/commands/npm-ci.html
index d2beab0364..fdde58b1ad 100644
--- a/deps/npm/docs/output/commands/npm-ci.html
+++ b/deps/npm/docs/output/commands/npm-ci.html
@@ -146,8 +146,16 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm ci
+
+aliases: clean-install, ic, install-clean, isntall-clean
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This command is similar to <a href="../commands/npm-install.html"><code>npm install</code></a>, except
it's meant to be used in automated environments such as test platforms,
diff --git a/deps/npm/docs/output/commands/npm-completion.html b/deps/npm/docs/output/commands/npm-completion.html
index a8351c874b..3864e693bd 100644
--- a/deps/npm/docs/output/commands/npm-completion.html
+++ b/deps/npm/docs/output/commands/npm-completion.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>source &lt;(npm completion)
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm completion
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>Enables tab-completion in all npm commands.</p>
diff --git a/deps/npm/docs/output/commands/npm-config.html b/deps/npm/docs/output/commands/npm-config.html
index 9f1e1f2b37..f8b279756d 100644
--- a/deps/npm/docs/output/commands/npm-config.html
+++ b/deps/npm/docs/output/commands/npm-config.html
@@ -146,16 +146,20 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm config set &lt;key&gt;=&lt;value&gt; [&lt;key&gt;=&lt;value&gt; ...]
npm config get [&lt;key&gt; [&lt;key&gt; ...]]
npm config delete &lt;key&gt; [&lt;key&gt; ...]
npm config list [--json]
npm config edit
-npm set &lt;key&gt;=&lt;value&gt; [&lt;key&gt;=&lt;value&gt; ...]
-npm get [&lt;key&gt; [&lt;key&gt; ...]]
alias: c
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>npm gets its config settings from the command line, environment
diff --git a/deps/npm/docs/output/commands/npm-dedupe.html b/deps/npm/docs/output/commands/npm-dedupe.html
index a31af824b2..8d7e42ad46 100644
--- a/deps/npm/docs/output/commands/npm-dedupe.html
+++ b/deps/npm/docs/output/commands/npm-dedupe.html
@@ -142,15 +142,20 @@ npm command-line interface
<section id="table_of_contents">
<h2 id="table-of-contents">Table of contents</h2>
-<div id="_table_of_contents"><ul><li><a href="#synopsis">Synopsis</a></li><li><a href="#description">Description</a></li><li><a href="#configuration">Configuration</a></li><ul><li><a href="#global-style"><code>global-style</code></a></li><li><a href="#legacy-bundling"><code>legacy-bundling</code></a></li><li><a href="#strict-peer-deps"><code>strict-peer-deps</code></a></li><li><a href="#package-lock"><code>package-lock</code></a></li><li><a href="#omit"><code>omit</code></a></li><li><a href="#ignore-scripts"><code>ignore-scripts</code></a></li><li><a href="#audit"><code>audit</code></a></li><li><a href="#bin-links"><code>bin-links</code></a></li><li><a href="#fund"><code>fund</code></a></li><li><a href="#dry-run"><code>dry-run</code></a></li><li><a href="#workspace"><code>workspace</code></a></li><li><a href="#workspaces"><code>workspaces</code></a></li><li><a href="#include-workspace-root"><code>include-workspace-root</code></a></li></ul><li><a href="#see-also">See Also</a></li></ul></div>
+<div id="_table_of_contents"><ul><li><a href="#synopsis">Synopsis</a></li><li><a href="#description">Description</a></li><li><a href="#configuration">Configuration</a></li><ul><li><a href="#global-style"><code>global-style</code></a></li><li><a href="#legacy-bundling"><code>legacy-bundling</code></a></li><li><a href="#strict-peer-deps"><code>strict-peer-deps</code></a></li><li><a href="#package-lock"><code>package-lock</code></a></li><li><a href="#save"><code>save</code></a></li><li><a href="#omit"><code>omit</code></a></li><li><a href="#ignore-scripts"><code>ignore-scripts</code></a></li><li><a href="#audit"><code>audit</code></a></li><li><a href="#bin-links"><code>bin-links</code></a></li><li><a href="#fund"><code>fund</code></a></li><li><a href="#dry-run"><code>dry-run</code></a></li><li><a href="#workspace"><code>workspace</code></a></li><li><a href="#workspaces"><code>workspaces</code></a></li><li><a href="#include-workspace-root"><code>include-workspace-root</code></a></li></ul><li><a href="#see-also">See Also</a></li></ul></div>
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm dedupe
-npm ddp
-aliases: ddp
+alias: ddp
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>Searches the local package tree and attempts to simplify the overall
structure by moving dependencies further up the tree, where they can
@@ -253,6 +258,19 @@ will also prevent <em>writing</em> <code>package-lock.json</code> if <code>save<
<p>When package package-locks are disabled, automatic pruning of extraneous
modules will also be disabled. To remove extraneous modules with
package-locks disabled use <code>npm prune</code>.</p>
+<p>This configuration does not affect <code>npm ci</code>.</p>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<h4 id="save"><code>save</code></h4>
+<ul>
+<li>Default: <code>true</code> unless when using <code>npm update</code> or <code>npm dedupe</code> where it
+defaults to <code>false</code></li>
+<li>Type: Boolean</li>
+</ul>
+<p>Save installed packages to a <code>package.json</code> file as dependencies.</p>
+<p>When used with the <code>npm rm</code> command, removes the dependency from
+<code>package.json</code>.</p>
+<p>Will also prevent writing to <code>package-lock.json</code> if set to <code>false</code>.</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h4 id="omit"><code>omit</code></h4>
diff --git a/deps/npm/docs/output/commands/npm-deprecate.html b/deps/npm/docs/output/commands/npm-deprecate.html
index e95ecf85ab..52a9ef82c3 100644
--- a/deps/npm/docs/output/commands/npm-deprecate.html
+++ b/deps/npm/docs/output/commands/npm-deprecate.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm deprecate &lt;pkg&gt;[@&lt;version range&gt;] &lt;message&gt;
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm deprecate &lt;pkg&gt;[@&lt;version&gt;] &lt;message&gt;
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>This command will update the npm registry entry for a package, providing a
diff --git a/deps/npm/docs/output/commands/npm-diff.html b/deps/npm/docs/output/commands/npm-diff.html
index 171113201e..c26aa27e8a 100644
--- a/deps/npm/docs/output/commands/npm-diff.html
+++ b/deps/npm/docs/output/commands/npm-diff.html
@@ -146,12 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm diff [...&lt;paths&gt;]
-npm diff --diff=&lt;pkg-name&gt; [...&lt;paths&gt;]
-npm diff --diff=&lt;version-a&gt; [--diff=&lt;version-b&gt;] [...&lt;paths&gt;]
-npm diff --diff=&lt;spec-a&gt; [--diff=&lt;spec-b&gt;] [...&lt;paths&gt;]
-npm diff [--diff-ignore-all-space] [--diff-name-only] [...&lt;paths&gt;]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>Similar to its <code>git diff</code> counterpart, this command will print diff patches
of files for packages published to the npm registry.</p>
diff --git a/deps/npm/docs/output/commands/npm-dist-tag.html b/deps/npm/docs/output/commands/npm-dist-tag.html
index 9448432a78..8cadd42dcc 100644
--- a/deps/npm/docs/output/commands/npm-dist-tag.html
+++ b/deps/npm/docs/output/commands/npm-dist-tag.html
@@ -146,12 +146,18 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm dist-tag add &lt;pkg&gt;@&lt;version&gt; [&lt;tag&gt;]
npm dist-tag rm &lt;pkg&gt; &lt;tag&gt;
npm dist-tag ls [&lt;pkg&gt;]
-aliases: dist-tags
+alias: dist-tags
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>Add, remove, and enumerate distribution tags on a package:</p>
<ul>
diff --git a/deps/npm/docs/output/commands/npm-docs.html b/deps/npm/docs/output/commands/npm-docs.html
index 01094eba1d..c25f8abf9b 100644
--- a/deps/npm/docs/output/commands/npm-docs.html
+++ b/deps/npm/docs/output/commands/npm-docs.html
@@ -146,10 +146,16 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm docs [&lt;pkgname&gt; [&lt;pkgname&gt; ...]]
-aliases: home
+alias: home
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This command tries to guess at the likely location of a package's
documentation URL, and then tries to open it using the <code>--browser</code> config
diff --git a/deps/npm/docs/output/commands/npm-doctor.html b/deps/npm/docs/output/commands/npm-doctor.html
index 2f42a6238e..1d41b2ce18 100644
--- a/deps/npm/docs/output/commands/npm-doctor.html
+++ b/deps/npm/docs/output/commands/npm-doctor.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm doctor
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p><code>npm doctor</code> runs a set of checks to ensure that your npm installation has
diff --git a/deps/npm/docs/output/commands/npm-edit.html b/deps/npm/docs/output/commands/npm-edit.html
index 7b5cf1ca36..78c2445fa1 100644
--- a/deps/npm/docs/output/commands/npm-edit.html
+++ b/deps/npm/docs/output/commands/npm-edit.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm edit &lt;pkg&gt;
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm edit &lt;pkg&gt;[/&lt;subpkg&gt;...]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>Selects a dependency in the current project and opens the package folder in
diff --git a/deps/npm/docs/output/commands/npm-exec.html b/deps/npm/docs/output/commands/npm-exec.html
index 89398e3147..4a5f14389c 100644
--- a/deps/npm/docs/output/commands/npm-exec.html
+++ b/deps/npm/docs/output/commands/npm-exec.html
@@ -146,25 +146,19 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm exec -- &lt;pkg&gt;[@&lt;version&gt;] [args...]
npm exec --package=&lt;pkg&gt;[@&lt;version&gt;] -- &lt;cmd&gt; [args...]
npm exec -c '&lt;cmd&gt; [args...]'
npm exec --package=foo -c '&lt;cmd&gt; [args...]'
-npm exec [--ws] [-w &lt;workspace-name] [args...]
-
-npx &lt;pkg&gt;[@&lt;specifier&gt;] [args...]
-npx -p &lt;pkg&gt;[@&lt;specifier&gt;] &lt;cmd&gt; [args...]
-npx -c '&lt;cmd&gt; [args...]'
-npx -p &lt;pkg&gt;[@&lt;specifier&gt;] -c '&lt;cmd&gt; [args...]'
-Run without --call or positional args to open interactive subshell
-alias: npm x, npx
-
-common options:
---package=&lt;pkg&gt; (may be specified multiple times)
--p is a shorthand for --package only when using npx executable
--c &lt;cmd&gt; --call=&lt;cmd&gt; (may not be mixed with positional arguments)
+alias: x
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This command allows you to run an arbitrary command from an npm package
(either one installed locally, or fetched remotely), in a similar context
diff --git a/deps/npm/docs/output/commands/npm-explain.html b/deps/npm/docs/output/commands/npm-explain.html
index 4c0ef6dc80..caf5ab1506 100644
--- a/deps/npm/docs/output/commands/npm-explain.html
+++ b/deps/npm/docs/output/commands/npm-explain.html
@@ -146,10 +146,16 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm explain &lt;folder | specifier&gt;
alias: why
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This command will print the chain of dependencies causing a given package
to be installed in the current project.</p>
diff --git a/deps/npm/docs/output/commands/npm-explore.html b/deps/npm/docs/output/commands/npm-explore.html
index 5082ce5bac..833605d5e0 100644
--- a/deps/npm/docs/output/commands/npm-explore.html
+++ b/deps/npm/docs/output/commands/npm-explore.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm explore &lt;pkg&gt; [ -- &lt;command&gt;]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>Spawn a subshell in the directory of the installed package specified.</p>
diff --git a/deps/npm/docs/output/commands/npm-find-dupes.html b/deps/npm/docs/output/commands/npm-find-dupes.html
index 8625c3d098..c5685458d9 100644
--- a/deps/npm/docs/output/commands/npm-find-dupes.html
+++ b/deps/npm/docs/output/commands/npm-find-dupes.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm find-dupes
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>Runs <code>npm dedupe</code> in <code>--dry-run</code> mode, making npm only output the
duplications, without actually changing the package tree.</p>
@@ -207,6 +213,7 @@ will also prevent <em>writing</em> <code>package-lock.json</code> if <code>save<
<p>When package package-locks are disabled, automatic pruning of extraneous
modules will also be disabled. To remove extraneous modules with
package-locks disabled use <code>npm prune</code>.</p>
+<p>This configuration does not affect <code>npm ci</code>.</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h4 id="omit"><code>omit</code></h4>
diff --git a/deps/npm/docs/output/commands/npm-fund.html b/deps/npm/docs/output/commands/npm-fund.html
index af7991b542..ba88e461c6 100644
--- a/deps/npm/docs/output/commands/npm-fund.html
+++ b/deps/npm/docs/output/commands/npm-fund.html
@@ -146,9 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm fund [&lt;pkg&gt;]
-npm fund [-w &lt;workspace-name&gt;]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm fund [[&lt;@scope&gt;/]&lt;pkg&gt;]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This command retrieves information on how to fund the dependencies of a
given project. If no package name is provided, it will list all
diff --git a/deps/npm/docs/output/commands/npm-help-search.html b/deps/npm/docs/output/commands/npm-help-search.html
index ae74307085..f99095a05a 100644
--- a/deps/npm/docs/output/commands/npm-help-search.html
+++ b/deps/npm/docs/output/commands/npm-help-search.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm help-search &lt;text&gt;
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>This command will search the npm markdown documentation files for the terms
diff --git a/deps/npm/docs/output/commands/npm-help.html b/deps/npm/docs/output/commands/npm-help.html
index 83d02736e5..2e80805fb3 100644
--- a/deps/npm/docs/output/commands/npm-help.html
+++ b/deps/npm/docs/output/commands/npm-help.html
@@ -146,8 +146,16 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm help &lt;term&gt; [&lt;terms..&gt;]
+
+alias: hlep
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>If supplied a topic, then show the appropriate documentation page.</p>
diff --git a/deps/npm/docs/output/commands/npm-hook.html b/deps/npm/docs/output/commands/npm-hook.html
index 79e5c8719c..64bf21876d 100644
--- a/deps/npm/docs/output/commands/npm-hook.html
+++ b/deps/npm/docs/output/commands/npm-hook.html
@@ -146,11 +146,17 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm hook ls [pkg]
-npm hook add &lt;entity&gt; &lt;url&gt; &lt;secret&gt;
-npm hook update &lt;id&gt; &lt;url&gt; [secret]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm hook add &lt;pkg&gt; &lt;url&gt; &lt;secret&gt; [--type=&lt;type&gt;]
+npm hook ls [pkg]
npm hook rm &lt;id&gt;
+npm hook update &lt;id&gt; &lt;url&gt; &lt;secret&gt;
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>Allows you to manage <a href="https://blog.npmjs.org/post/145260155635/introducing-hooks-get-notifications-of-npm">npm
diff --git a/deps/npm/docs/output/commands/npm-init.html b/deps/npm/docs/output/commands/npm-init.html
index 530e75fcd0..00874a95c0 100644
--- a/deps/npm/docs/output/commands/npm-init.html
+++ b/deps/npm/docs/output/commands/npm-init.html
@@ -146,11 +146,18 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm init [--yes|-y|--scope]
-npm init &lt;@scope&gt; (same as `npm exec &lt;@scope&gt;/create`)
-npm init [&lt;@scope&gt;/]&lt;name&gt; (same as `npm exec [&lt;@scope&gt;/]create-&lt;name&gt;`)
-npm init [-w &lt;dir&gt;] [args...]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm init [--force|-f|--yes|-y|--scope]
+npm init &lt;@scope&gt; (same as `npx &lt;@scope&gt;/create`)
+npm init [&lt;@scope&gt;/]&lt;name&gt; (same as `npx [&lt;@scope&gt;/]create-&lt;name&gt;`)
+
+aliases: create, innit
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p><code>npm init &lt;initializer&gt;</code> can be used to set up a new or existing npm
package.</p>
@@ -172,6 +179,15 @@ guesses based on existing fields, dependencies, and options selected. It is
strictly additive, so it will keep any fields and values that were already
set. You can also use <code>-y</code>/<code>--yes</code> to skip the questionnaire altogether. If
you pass <code>--scope</code>, it will create a scoped package.</p>
+<p><em>Note:</em> if a user already has the <code>create-&lt;initializer&gt;</code> package
+globally installed, that will be what <code>npm init</code> uses. If you want npm
+to use the latest version, or another specific version you must specify
+it:</p>
+<ul>
+<li><code>npm init foo@latest</code> # fetches and runs the latest <code>create-foo</code> from
+the registry</li>
+<li><code>npm init foo@1.2.3</code> # runs <code>create-foo@1.2.3</code> specifically</li>
+</ul>
<h4 id="forwarding-additional-options">Forwarding additional options</h4>
<p>Any additional options will be passed directly to the command, so <code>npm init foo -- --hello</code> will map to <code>npm exec -- create-foo --hello</code>.</p>
<p>To better illustrate how options are forwarded, here's a more evolved
diff --git a/deps/npm/docs/output/commands/npm-install-ci-test.html b/deps/npm/docs/output/commands/npm-install-ci-test.html
index 1c9fea51e1..f8b2bcfeee 100644
--- a/deps/npm/docs/output/commands/npm-install-ci-test.html
+++ b/deps/npm/docs/output/commands/npm-install-ci-test.html
@@ -146,10 +146,16 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm install-ci-test
-alias: npm cit
+alias: cit
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This command runs <code>npm ci</code> followed immediately by <code>npm test</code>.</p>
<h3 id="configuration">Configuration</h3>
diff --git a/deps/npm/docs/output/commands/npm-install-test.html b/deps/npm/docs/output/commands/npm-install-test.html
index 833e285542..9db250961f 100644
--- a/deps/npm/docs/output/commands/npm-install-test.html
+++ b/deps/npm/docs/output/commands/npm-install-test.html
@@ -146,18 +146,25 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm install-test (with no args, in package dir)
-npm install-test [&lt;@scope&gt;/]&lt;name&gt;
-npm install-test [&lt;@scope&gt;/]&lt;name&gt;@&lt;tag&gt;
-npm install-test [&lt;@scope&gt;/]&lt;name&gt;@&lt;version&gt;
-npm install-test [&lt;@scope&gt;/]&lt;name&gt;@&lt;version range&gt;
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm install-test [&lt;@scope&gt;/]&lt;pkg&gt;
+npm install-test [&lt;@scope&gt;/]&lt;pkg&gt;@&lt;tag&gt;
+npm install-test [&lt;@scope&gt;/]&lt;pkg&gt;@&lt;version&gt;
+npm install-test [&lt;@scope&gt;/]&lt;pkg&gt;@&lt;version range&gt;
+npm install-test &lt;alias&gt;@npm:&lt;name&gt;
+npm install-test &lt;folder&gt;
npm install-test &lt;tarball file&gt;
npm install-test &lt;tarball url&gt;
-npm install-test &lt;folder&gt;
+npm install-test &lt;git:// url&gt;
+npm install-test &lt;github username&gt;/&lt;github project&gt;
-alias: npm it
-common options: [--save|--save-dev|--save-optional] [--save-exact] [--dry-run]
+alias: it
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This command runs an <code>npm install</code> followed immediately by an <code>npm test</code>. It
takes exactly the same arguments as <code>npm install</code>.</p>
@@ -167,12 +174,14 @@ takes exactly the same arguments as <code>npm install</code>.</p>
<!-- raw HTML omitted -->
<h4 id="save"><code>save</code></h4>
<ul>
-<li>Default: true</li>
+<li>Default: <code>true</code> unless when using <code>npm update</code> or <code>npm dedupe</code> where it
+defaults to <code>false</code></li>
<li>Type: Boolean</li>
</ul>
-<p>Save installed packages to a package.json file as dependencies.</p>
+<p>Save installed packages to a <code>package.json</code> file as dependencies.</p>
<p>When used with the <code>npm rm</code> command, removes the dependency from
-package.json.</p>
+<code>package.json</code>.</p>
+<p>Will also prevent writing to <code>package-lock.json</code> if set to <code>false</code>.</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h4 id="save-exact"><code>save-exact</code></h4>
@@ -252,6 +261,7 @@ will also prevent <em>writing</em> <code>package-lock.json</code> if <code>save<
<p>When package package-locks are disabled, automatic pruning of extraneous
modules will also be disabled. To remove extraneous modules with
package-locks disabled use <code>npm prune</code>.</p>
+<p>This configuration does not affect <code>npm ci</code>.</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h4 id="omit"><code>omit</code></h4>
diff --git a/deps/npm/docs/output/commands/npm-install.html b/deps/npm/docs/output/commands/npm-install.html
index 5a4f9670fc..678e4cce34 100644
--- a/deps/npm/docs/output/commands/npm-install.html
+++ b/deps/npm/docs/output/commands/npm-install.html
@@ -146,21 +146,25 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm install (with no args, in package dir)
-npm install [&lt;@scope&gt;/]&lt;name&gt;
-npm install [&lt;@scope&gt;/]&lt;name&gt;@&lt;tag&gt;
-npm install [&lt;@scope&gt;/]&lt;name&gt;@&lt;version&gt;
-npm install [&lt;@scope&gt;/]&lt;name&gt;@&lt;version range&gt;
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm install [&lt;@scope&gt;/]&lt;pkg&gt;
+npm install [&lt;@scope&gt;/]&lt;pkg&gt;@&lt;tag&gt;
+npm install [&lt;@scope&gt;/]&lt;pkg&gt;@&lt;version&gt;
+npm install [&lt;@scope&gt;/]&lt;pkg&gt;@&lt;version range&gt;
npm install &lt;alias&gt;@npm:&lt;name&gt;
-npm install &lt;git-host&gt;:&lt;git-user&gt;/&lt;repo-name&gt;
-npm install &lt;git repo url&gt;
+npm install &lt;folder&gt;
npm install &lt;tarball file&gt;
npm install &lt;tarball url&gt;
-npm install &lt;folder&gt;
+npm install &lt;git:// url&gt;
+npm install &lt;github username&gt;/&lt;github project&gt;
-aliases: npm i, npm add
-common options: [-P|--save-prod|-D|--save-dev|-O|--save-optional|--save-peer] [-E|--save-exact] [-B|--save-bundle] [--no-save] [--dry-run]
+aliases: i, in, ins, inst, insta, instal, isnt, isnta, isntal, add
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This command installs a package and any packages that it depends on. If the
package has a package-lock, or an npm shrinkwrap file, or a yarn lock file,
@@ -496,12 +500,14 @@ does.</p>
<!-- raw HTML omitted -->
<h4 id="save"><code>save</code></h4>
<ul>
-<li>Default: true</li>
+<li>Default: <code>true</code> unless when using <code>npm update</code> or <code>npm dedupe</code> where it
+defaults to <code>false</code></li>
<li>Type: Boolean</li>
</ul>
-<p>Save installed packages to a package.json file as dependencies.</p>
+<p>Save installed packages to a <code>package.json</code> file as dependencies.</p>
<p>When used with the <code>npm rm</code> command, removes the dependency from
-package.json.</p>
+<code>package.json</code>.</p>
+<p>Will also prevent writing to <code>package-lock.json</code> if set to <code>false</code>.</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h4 id="save-exact"><code>save-exact</code></h4>
@@ -581,6 +587,7 @@ will also prevent <em>writing</em> <code>package-lock.json</code> if <code>save<
<p>When package package-locks are disabled, automatic pruning of extraneous
modules will also be disabled. To remove extraneous modules with
package-locks disabled use <code>npm prune</code>.</p>
+<p>This configuration does not affect <code>npm ci</code>.</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h4 id="omit"><code>omit</code></h4>
diff --git a/deps/npm/docs/output/commands/npm-link.html b/deps/npm/docs/output/commands/npm-link.html
index a3776c9bb5..a659cb16c2 100644
--- a/deps/npm/docs/output/commands/npm-link.html
+++ b/deps/npm/docs/output/commands/npm-link.html
@@ -146,11 +146,17 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm link (in package dir)
npm link [&lt;@scope&gt;/]&lt;pkg&gt;[@&lt;version&gt;]
-alias: npm ln
+alias: ln
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This is handy for installing your own stuff, so that you can work on it and
test iteratively without having to continually rebuild.</p>
@@ -223,12 +229,14 @@ workspace(s).</p>
<!-- raw HTML omitted -->
<h4 id="save"><code>save</code></h4>
<ul>
-<li>Default: true</li>
+<li>Default: <code>true</code> unless when using <code>npm update</code> or <code>npm dedupe</code> where it
+defaults to <code>false</code></li>
<li>Type: Boolean</li>
</ul>
-<p>Save installed packages to a package.json file as dependencies.</p>
+<p>Save installed packages to a <code>package.json</code> file as dependencies.</p>
<p>When used with the <code>npm rm</code> command, removes the dependency from
-package.json.</p>
+<code>package.json</code>.</p>
+<p>Will also prevent writing to <code>package-lock.json</code> if set to <code>false</code>.</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h4 id="save-exact"><code>save-exact</code></h4>
@@ -308,6 +316,7 @@ will also prevent <em>writing</em> <code>package-lock.json</code> if <code>save<
<p>When package package-locks are disabled, automatic pruning of extraneous
modules will also be disabled. To remove extraneous modules with
package-locks disabled use <code>npm prune</code>.</p>
+<p>This configuration does not affect <code>npm ci</code>.</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h4 id="omit"><code>omit</code></h4>
diff --git a/deps/npm/docs/output/commands/npm-logout.html b/deps/npm/docs/output/commands/npm-logout.html
index 21c92ab6cc..112065a63d 100644
--- a/deps/npm/docs/output/commands/npm-logout.html
+++ b/deps/npm/docs/output/commands/npm-logout.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm logout [--registry=&lt;url&gt;] [--scope=&lt;@scope&gt;]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm logout
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>When logged into a registry that supports token-based authentication, tell
diff --git a/deps/npm/docs/output/commands/npm-ls.html b/deps/npm/docs/output/commands/npm-ls.html
index 1dbee93d4b..2f28ede781 100644
--- a/deps/npm/docs/output/commands/npm-ls.html
+++ b/deps/npm/docs/output/commands/npm-ls.html
@@ -146,10 +146,16 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm ls [[&lt;@scope&gt;/]&lt;pkg&gt; ...]
-aliases: list, la, ll
+alias: list
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This command will print to stdout all the versions of packages that are
installed, as well as their dependencies when <code>--all</code> is specified, in a
@@ -160,7 +166,7 @@ tree at all, use <a href="../commands/npm-explain.html"><code>npm explain</code>
the results to only the paths to the packages named. Note that nested
packages will <em>also</em> show the paths to the specified packages. For
example, running <code>npm ls promzard</code> in npm's source tree will show:</p>
-<pre lang="bash"><code>npm@8.5.1 /path/to/npm
+<pre lang="bash"><code>npm@8.5.2 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5
</code></pre>
diff --git a/deps/npm/docs/output/commands/npm-org.html b/deps/npm/docs/output/commands/npm-org.html
index 634a485c26..a8aee32fb7 100644
--- a/deps/npm/docs/output/commands/npm-org.html
+++ b/deps/npm/docs/output/commands/npm-org.html
@@ -146,10 +146,18 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm org set &lt;orgname&gt; &lt;username&gt; [developer | admin | owner]
-npm org rm &lt;orgname&gt; &lt;username&gt;
-npm org ls &lt;orgname&gt; [&lt;username&gt;]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm org set orgname username [developer | admin | owner]
+npm org rm orgname username
+npm org ls orgname [&lt;username&gt;]
+
+alias: ogr
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="example">Example</h3>
<p>Add a new developer to an org:</p>
diff --git a/deps/npm/docs/output/commands/npm-outdated.html b/deps/npm/docs/output/commands/npm-outdated.html
index 2ef2b60a4b..0bdb9f9a66 100644
--- a/deps/npm/docs/output/commands/npm-outdated.html
+++ b/deps/npm/docs/output/commands/npm-outdated.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm outdated [[&lt;@scope&gt;/]&lt;pkg&gt; ...]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This command will check the registry to see if any (or, specific) installed
packages are currently outdated.</p>
diff --git a/deps/npm/docs/output/commands/npm-owner.html b/deps/npm/docs/output/commands/npm-owner.html
index 7aae72bad0..b76967a18d 100644
--- a/deps/npm/docs/output/commands/npm-owner.html
+++ b/deps/npm/docs/output/commands/npm-owner.html
@@ -146,12 +146,18 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm owner add &lt;user&gt; [&lt;@scope&gt;/]&lt;pkg&gt;
npm owner rm &lt;user&gt; [&lt;@scope&gt;/]&lt;pkg&gt;
npm owner ls [&lt;@scope&gt;/]&lt;pkg&gt;
-aliases: author
+alias: author
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>Manage ownership of published packages.</p>
diff --git a/deps/npm/docs/output/commands/npm-pack.html b/deps/npm/docs/output/commands/npm-pack.html
index 6338e47711..bdd4b01af4 100644
--- a/deps/npm/docs/output/commands/npm-pack.html
+++ b/deps/npm/docs/output/commands/npm-pack.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm pack [[&lt;@scope&gt;/]&lt;pkg&gt;...] [--dry-run] [--json]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm pack [[&lt;@scope&gt;/]&lt;pkg&gt;...]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="configuration">Configuration</h3>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
diff --git a/deps/npm/docs/output/commands/npm-ping.html b/deps/npm/docs/output/commands/npm-ping.html
index 40637a8e78..529b7931ef 100644
--- a/deps/npm/docs/output/commands/npm-ping.html
+++ b/deps/npm/docs/output/commands/npm-ping.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm ping [--registry &lt;registry&gt;]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm ping
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>Ping the configured or given npm registry and verify authentication.
diff --git a/deps/npm/docs/output/commands/npm-pkg.html b/deps/npm/docs/output/commands/npm-pkg.html
index 1ec7b0922e..4c34d4556e 100644
--- a/deps/npm/docs/output/commands/npm-pkg.html
+++ b/deps/npm/docs/output/commands/npm-pkg.html
@@ -146,10 +146,16 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm pkg get [&lt;field&gt; [.&lt;subfield&gt; ...]]
-npm pkg set &lt;field&gt;=&lt;value&gt; [.&lt;subfield&gt;=&lt;value&gt; ...]
-npm pkg delete &lt;field&gt; [.&lt;subfield&gt; ...]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm pkg set &lt;key&gt;=&lt;value&gt; [&lt;key&gt;=&lt;value&gt; ...]
+npm pkg get [&lt;key&gt; [&lt;key&gt; ...]]
+npm pkg delete &lt;key&gt; [&lt;key&gt; ...]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>A command that automates the management of <code>package.json</code> files.
<code>npm pkg</code> provide 3 different sub commands that allow you to modify or retrieve
diff --git a/deps/npm/docs/output/commands/npm-prefix.html b/deps/npm/docs/output/commands/npm-prefix.html
index 458f24789f..2f30214426 100644
--- a/deps/npm/docs/output/commands/npm-prefix.html
+++ b/deps/npm/docs/output/commands/npm-prefix.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm prefix [-g]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>Print the local prefix to standard output. This is the closest parent directory
diff --git a/deps/npm/docs/output/commands/npm-profile.html b/deps/npm/docs/output/commands/npm-profile.html
index 92a92f92a7..89ca083b12 100644
--- a/deps/npm/docs/output/commands/npm-profile.html
+++ b/deps/npm/docs/output/commands/npm-profile.html
@@ -146,12 +146,17 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm profile get [--json|--parseable] [&lt;property&gt;]
-npm profile set [--json|--parseable] &lt;property&gt; &lt;value&gt;
-npm profile set password
-npm profile enable-2fa [auth-and-writes|auth-only]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm profile enable-2fa [auth-only|auth-and-writes]
npm profile disable-2fa
+npm profile get [&lt;key&gt;]
+npm profile set &lt;key&gt; &lt;value&gt;
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>Change your profile information on the registry. Note that this command
diff --git a/deps/npm/docs/output/commands/npm-prune.html b/deps/npm/docs/output/commands/npm-prune.html
index 42de1b6ab0..942b4f94f8 100644
--- a/deps/npm/docs/output/commands/npm-prune.html
+++ b/deps/npm/docs/output/commands/npm-prune.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm prune [[&lt;@scope&gt;/]&lt;pkg&gt;...] [--production] [--dry-run] [--json]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm prune [[&lt;@scope&gt;/]&lt;pkg&gt;...]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This command removes "extraneous" packages. If a package name is provided,
then only packages matching one of the supplied names are removed.</p>
diff --git a/deps/npm/docs/output/commands/npm-publish.html b/deps/npm/docs/output/commands/npm-publish.html
index 60f35fb615..f46fd310d0 100644
--- a/deps/npm/docs/output/commands/npm-publish.html
+++ b/deps/npm/docs/output/commands/npm-publish.html
@@ -146,11 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm publish [&lt;tarball&gt;|&lt;folder&gt;] [--tag &lt;tag&gt;] [--access &lt;public|restricted&gt;] [--otp otpcode] [--dry-run]
-
-Publishes '.' if no argument supplied
-Sets tag 'latest' if no --tag specified
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm publish [&lt;folder&gt;]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>Publishes a package to the registry so that it can be installed by name.</p>
<p>By default npm will publish to the public registry. This can be overridden
diff --git a/deps/npm/docs/output/commands/npm-rebuild.html b/deps/npm/docs/output/commands/npm-rebuild.html
index 425751dd72..9e55f371c6 100644
--- a/deps/npm/docs/output/commands/npm-rebuild.html
+++ b/deps/npm/docs/output/commands/npm-rebuild.html
@@ -146,10 +146,16 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm rebuild [[&lt;@scope&gt;/]&lt;name&gt;[@&lt;version&gt;] ...]
alias: rb
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This command runs the <code>npm build</code> command on the matched folders. This is
useful when you install a new version of node, and must recompile all your
diff --git a/deps/npm/docs/output/commands/npm-repo.html b/deps/npm/docs/output/commands/npm-repo.html
index 3585570237..b5fedd5ac9 100644
--- a/deps/npm/docs/output/commands/npm-repo.html
+++ b/deps/npm/docs/output/commands/npm-repo.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm repo [&lt;pkgname&gt; [&lt;pkgname&gt; ...]]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This command tries to guess at the likely location of a package's
repository URL, and then tries to open it using the <code>--browser</code> config
diff --git a/deps/npm/docs/output/commands/npm-restart.html b/deps/npm/docs/output/commands/npm-restart.html
index 135611a54e..f65a170d53 100644
--- a/deps/npm/docs/output/commands/npm-restart.html
+++ b/deps/npm/docs/output/commands/npm-restart.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm restart [-- &lt;args&gt;]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This restarts a project. It is equivalent to running <code>npm run-script restart</code>.</p>
<p>If the current project has a <code>"restart"</code> script specified in
diff --git a/deps/npm/docs/output/commands/npm-root.html b/deps/npm/docs/output/commands/npm-root.html
index 58e5f0e4f4..e0595fd8e7 100644
--- a/deps/npm/docs/output/commands/npm-root.html
+++ b/deps/npm/docs/output/commands/npm-root.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm root [-g]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm root
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>Print the effective <code>node_modules</code> folder to standard out.</p>
<p>Useful for using npm in shell scripts that do things with the
diff --git a/deps/npm/docs/output/commands/npm-run-script.html b/deps/npm/docs/output/commands/npm-run-script.html
index 18d5fe74ec..07fc79127d 100644
--- a/deps/npm/docs/output/commands/npm-run-script.html
+++ b/deps/npm/docs/output/commands/npm-run-script.html
@@ -146,12 +146,16 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm run-script &lt;command&gt; [--if-present] [--silent] [-- &lt;args&gt;]
-npm run-script &lt;command&gt; [--workspace=&lt;workspace-name&gt;]
-npm run-script &lt;command&gt; [--workspaces]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm run-script &lt;command&gt; [-- &lt;args&gt;]
aliases: run, rum, urn
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This runs an arbitrary command from a package's <code>"scripts"</code> object. If no
<code>"command"</code> is provided, it will list the available scripts.</p>
diff --git a/deps/npm/docs/output/commands/npm-search.html b/deps/npm/docs/output/commands/npm-search.html
index 34c4cebfd1..2e224afec5 100644
--- a/deps/npm/docs/output/commands/npm-search.html
+++ b/deps/npm/docs/output/commands/npm-search.html
@@ -146,10 +146,16 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm search [-l|--long] [--json] [--parseable] [--no-description] [search terms ...]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm search [search terms ...]
aliases: s, se, find
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>Search the registry for packages matching the search terms. <code>npm search</code>
diff --git a/deps/npm/docs/output/commands/npm-set-script.html b/deps/npm/docs/output/commands/npm-set-script.html
index 9391ba9e38..cb66491d07 100644
--- a/deps/npm/docs/output/commands/npm-set-script.html
+++ b/deps/npm/docs/output/commands/npm-set-script.html
@@ -147,8 +147,14 @@ npm command-line interface
<div id="_content"><h3 id="synopsis">Synopsis</h3>
<p>An npm command that lets you create a task in the <code>scripts</code> section of the <code>package.json</code>.</p>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm set-script [&lt;script&gt;] [&lt;command&gt;]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p><strong>Example:</strong></p>
<ul>
<li><code>npm set-script start "http-server ."</code></li>
diff --git a/deps/npm/docs/output/commands/npm-shrinkwrap.html b/deps/npm/docs/output/commands/npm-shrinkwrap.html
index ff2926fe4b..26e8299586 100644
--- a/deps/npm/docs/output/commands/npm-shrinkwrap.html
+++ b/deps/npm/docs/output/commands/npm-shrinkwrap.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm shrinkwrap
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>This command repurposes <code>package-lock.json</code> into a publishable
diff --git a/deps/npm/docs/output/commands/npm-star.html b/deps/npm/docs/output/commands/npm-star.html
index de968318b4..42143bed97 100644
--- a/deps/npm/docs/output/commands/npm-star.html
+++ b/deps/npm/docs/output/commands/npm-star.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm star [&lt;pkg&gt;...]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>"Starring" a package means that you have some interest in it. It's
diff --git a/deps/npm/docs/output/commands/npm-stars.html b/deps/npm/docs/output/commands/npm-stars.html
index c91ffa23a3..d4626066c4 100644
--- a/deps/npm/docs/output/commands/npm-stars.html
+++ b/deps/npm/docs/output/commands/npm-stars.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm stars [&lt;user&gt;]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>If you have starred a lot of neat things and want to find them again
diff --git a/deps/npm/docs/output/commands/npm-start.html b/deps/npm/docs/output/commands/npm-start.html
index 14554ca458..8cedd9855d 100644
--- a/deps/npm/docs/output/commands/npm-start.html
+++ b/deps/npm/docs/output/commands/npm-start.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm start [-- &lt;args&gt;]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This runs a predefined command specified in the <code>"start"</code> property of
a package's <code>"scripts"</code> object.</p>
diff --git a/deps/npm/docs/output/commands/npm-stop.html b/deps/npm/docs/output/commands/npm-stop.html
index ff119ac865..87b7d30fd8 100644
--- a/deps/npm/docs/output/commands/npm-stop.html
+++ b/deps/npm/docs/output/commands/npm-stop.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm stop [-- &lt;args&gt;]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This runs a predefined command specified in the "stop" property of a
package's "scripts" object.</p>
diff --git a/deps/npm/docs/output/commands/npm-team.html b/deps/npm/docs/output/commands/npm-team.html
index 2ee0b2369b..a7b9917292 100644
--- a/deps/npm/docs/output/commands/npm-team.html
+++ b/deps/npm/docs/output/commands/npm-team.html
@@ -146,14 +146,18 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm team create &lt;scope:team&gt;
-npm team destroy &lt;scope:team&gt;
-
-npm team add &lt;scope:team&gt; &lt;user&gt;
-npm team rm &lt;scope:team&gt; &lt;user&gt;
-
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm team create &lt;scope:team&gt; [--otp &lt;otpcode&gt;]
+npm team destroy &lt;scope:team&gt; [--otp &lt;otpcode&gt;]
+npm team add &lt;scope:team&gt; &lt;user&gt; [--otp &lt;otpcode&gt;]
+npm team rm &lt;scope:team&gt; &lt;user&gt; [--otp &lt;otpcode&gt;]
npm team ls &lt;scope&gt;|&lt;scope:team&gt;
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>Used to manage teams in organizations, and change team memberships. Does not
diff --git a/deps/npm/docs/output/commands/npm-test.html b/deps/npm/docs/output/commands/npm-test.html
index 8cbd417c31..5c403b94eb 100644
--- a/deps/npm/docs/output/commands/npm-test.html
+++ b/deps/npm/docs/output/commands/npm-test.html
@@ -146,10 +146,16 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm test [-- &lt;args&gt;]
-aliases: t, tst
+aliases: tst, t
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This runs a predefined command specified in the <code>"test"</code> property of
a package's <code>"scripts"</code> object.</p>
diff --git a/deps/npm/docs/output/commands/npm-token.html b/deps/npm/docs/output/commands/npm-token.html
index a0ec36c457..8ce05427c6 100644
--- a/deps/npm/docs/output/commands/npm-token.html
+++ b/deps/npm/docs/output/commands/npm-token.html
@@ -146,10 +146,16 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code> npm token list [--json|--parseable]
- npm token create [--read-only] [--cidr=1.1.1.1/24,2.2.2.2/16]
- npm token revoke &lt;id|token&gt;
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm token list
+npm token revoke &lt;id|token&gt;
+npm token create [--read-only] [--cidr=list]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>This lets you list, create and revoke authentication tokens.</p>
diff --git a/deps/npm/docs/output/commands/npm-uninstall.html b/deps/npm/docs/output/commands/npm-uninstall.html
index cec9937e91..f7f7760da7 100644
--- a/deps/npm/docs/output/commands/npm-uninstall.html
+++ b/deps/npm/docs/output/commands/npm-uninstall.html
@@ -146,10 +146,16 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm uninstall [&lt;@scope&gt;/]&lt;pkg&gt;[@&lt;version&gt;]... [-S|--save|--no-save]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm uninstall [&lt;@scope&gt;/]&lt;pkg&gt;...
-aliases: remove, rm, r, un, unlink
+aliases: un, unlink, remove, rm, r
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This uninstalls a package, completely removing everything npm installed
on its behalf.</p>
@@ -183,12 +189,14 @@ it uninstalls the current package context as a global package.
<!-- raw HTML omitted -->
<h4 id="save"><code>save</code></h4>
<ul>
-<li>Default: true</li>
+<li>Default: <code>true</code> unless when using <code>npm update</code> or <code>npm dedupe</code> where it
+defaults to <code>false</code></li>
<li>Type: Boolean</li>
</ul>
-<p>Save installed packages to a package.json file as dependencies.</p>
+<p>Save installed packages to a <code>package.json</code> file as dependencies.</p>
<p>When used with the <code>npm rm</code> command, removes the dependency from
-package.json.</p>
+<code>package.json</code>.</p>
+<p>Will also prevent writing to <code>package-lock.json</code> if set to <code>false</code>.</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h4 id="workspace"><code>workspace</code></h4>
diff --git a/deps/npm/docs/output/commands/npm-unstar.html b/deps/npm/docs/output/commands/npm-unstar.html
index 83bed9707b..a332f857e6 100644
--- a/deps/npm/docs/output/commands/npm-unstar.html
+++ b/deps/npm/docs/output/commands/npm-unstar.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<pre lang="bash"><code>npm unstar [&lt;pkg&gt;...]
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>"Unstarring" a package is the opposite of <a href="../commands/npm-star.html"><code>npm star</code></a>,
diff --git a/deps/npm/docs/output/commands/npm-update.html b/deps/npm/docs/output/commands/npm-update.html
index 6185df91e8..7a8df45f12 100644
--- a/deps/npm/docs/output/commands/npm-update.html
+++ b/deps/npm/docs/output/commands/npm-update.html
@@ -142,14 +142,20 @@ npm command-line interface
<section id="table_of_contents">
<h2 id="table-of-contents">Table of contents</h2>
-<div id="_table_of_contents"><ul><li><a href="#synopsis">Synopsis</a></li><li><a href="#description">Description</a></li><li><a href="#example">Example</a></li><ul><li><a href="#caret-dependencies">Caret Dependencies</a></li><li><a href="#tilde-dependencies">Tilde Dependencies</a></li><li><a href="#caret-dependencies-below-100">Caret Dependencies below 1.0.0</a></li><li><a href="#subdependencies">Subdependencies</a></li><li><a href="#updating-globally-installed-packages">Updating Globally-Installed Packages</a></li></ul><li><a href="#configuration">Configuration</a></li><ul><li><a href="#global"><code>global</code></a></li><li><a href="#global-style"><code>global-style</code></a></li><li><a href="#legacy-bundling"><code>legacy-bundling</code></a></li><li><a href="#strict-peer-deps"><code>strict-peer-deps</code></a></li><li><a href="#package-lock"><code>package-lock</code></a></li><li><a href="#omit"><code>omit</code></a></li><li><a href="#ignore-scripts"><code>ignore-scripts</code></a></li><li><a href="#audit"><code>audit</code></a></li><li><a href="#bin-links"><code>bin-links</code></a></li><li><a href="#fund"><code>fund</code></a></li><li><a href="#dry-run"><code>dry-run</code></a></li><li><a href="#workspace"><code>workspace</code></a></li><li><a href="#workspaces"><code>workspaces</code></a></li><li><a href="#include-workspace-root"><code>include-workspace-root</code></a></li></ul><li><a href="#see-also">See Also</a></li></ul></div>
+<div id="_table_of_contents"><ul><li><a href="#synopsis">Synopsis</a></li><li><a href="#description">Description</a></li><li><a href="#example">Example</a></li><ul><li><a href="#caret-dependencies">Caret Dependencies</a></li><li><a href="#tilde-dependencies">Tilde Dependencies</a></li><li><a href="#caret-dependencies-below-100">Caret Dependencies below 1.0.0</a></li><li><a href="#subdependencies">Subdependencies</a></li><li><a href="#updating-globally-installed-packages">Updating Globally-Installed Packages</a></li></ul><li><a href="#configuration">Configuration</a></li><ul><li><a href="#global"><code>global</code></a></li><li><a href="#global-style"><code>global-style</code></a></li><li><a href="#legacy-bundling"><code>legacy-bundling</code></a></li><li><a href="#strict-peer-deps"><code>strict-peer-deps</code></a></li><li><a href="#package-lock"><code>package-lock</code></a></li><li><a href="#save"><code>save</code></a></li><li><a href="#omit"><code>omit</code></a></li><li><a href="#ignore-scripts"><code>ignore-scripts</code></a></li><li><a href="#audit"><code>audit</code></a></li><li><a href="#bin-links"><code>bin-links</code></a></li><li><a href="#fund"><code>fund</code></a></li><li><a href="#dry-run"><code>dry-run</code></a></li><li><a href="#workspace"><code>workspace</code></a></li><li><a href="#workspaces"><code>workspaces</code></a></li><li><a href="#include-workspace-root"><code>include-workspace-root</code></a></li></ul><li><a href="#see-also">See Also</a></li></ul></div>
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm update [-g] [&lt;pkg&gt;...]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm update [&lt;pkg&gt;...]
-aliases: up, upgrade
+aliases: up, upgrade, udpate
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This command will update all the packages listed to the latest version
(specified by the <code>tag</code> config), respecting the semver constraints of
@@ -322,6 +328,19 @@ will also prevent <em>writing</em> <code>package-lock.json</code> if <code>save<
<p>When package package-locks are disabled, automatic pruning of extraneous
modules will also be disabled. To remove extraneous modules with
package-locks disabled use <code>npm prune</code>.</p>
+<p>This configuration does not affect <code>npm ci</code>.</p>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<h4 id="save"><code>save</code></h4>
+<ul>
+<li>Default: <code>true</code> unless when using <code>npm update</code> or <code>npm dedupe</code> where it
+defaults to <code>false</code></li>
+<li>Type: Boolean</li>
+</ul>
+<p>Save installed packages to a <code>package.json</code> file as dependencies.</p>
+<p>When used with the <code>npm rm</code> command, removes the dependency from
+<code>package.json</code>.</p>
+<p>Will also prevent writing to <code>package-lock.json</code> if set to <code>false</code>.</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h4 id="omit"><code>omit</code></h4>
diff --git a/deps/npm/docs/output/commands/npm-version.html b/deps/npm/docs/output/commands/npm-version.html
index 8c9521dcea..34eeb4dc7d 100644
--- a/deps/npm/docs/output/commands/npm-version.html
+++ b/deps/npm/docs/output/commands/npm-version.html
@@ -146,12 +146,16 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm version [&lt;newversion&gt; | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=&lt;prerelease-id&gt;] | from-git]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm version [&lt;newversion&gt; | major | minor | patch | premajor | preminor | prepatch | prerelease | from-git]
-'npm [-v | --version]' to print npm version
-'npm view &lt;pkg&gt; version' to view a package's published version
-'npm ls' to inspect current package/dependency versions
+alias: verison
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="configuration">Configuration</h3>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
diff --git a/deps/npm/docs/output/commands/npm-view.html b/deps/npm/docs/output/commands/npm-view.html
index 991376ccf0..28be6ea90c 100644
--- a/deps/npm/docs/output/commands/npm-view.html
+++ b/deps/npm/docs/output/commands/npm-view.html
@@ -146,10 +146,16 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm view [&lt;@scope&gt;/]&lt;name&gt;[@&lt;version&gt;] [&lt;field&gt;[.&lt;subfield&gt;]...]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm view [&lt;@scope&gt;/]&lt;pkg&gt;[@&lt;version&gt;] [&lt;field&gt;[.subfield]...]
-aliases: info, show, v
+aliases: v, info, show
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This command shows data about a package and prints it to stdout.</p>
<p>As an example, to view information about the <code>connect</code> package from the registry, you would run:</p>
diff --git a/deps/npm/docs/output/commands/npm-whoami.html b/deps/npm/docs/output/commands/npm-whoami.html
index f112f5e0c3..1561991a45 100644
--- a/deps/npm/docs/output/commands/npm-whoami.html
+++ b/deps/npm/docs/output/commands/npm-whoami.html
@@ -146,8 +146,14 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm whoami [--registry &lt;registry&gt;]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npm whoami
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<p>Note: This command is unaware of workspaces.</p>
<h3 id="description">Description</h3>
<p>Display the npm username of the currently logged-in user.</p>
diff --git a/deps/npm/docs/output/commands/npm.html b/deps/npm/docs/output/commands/npm.html
index 1fd3337b2c..7059fa5d37 100644
--- a/deps/npm/docs/output/commands/npm.html
+++ b/deps/npm/docs/output/commands/npm.html
@@ -146,10 +146,10 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm &lt;command&gt; [args]
-</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="version">Version</h3>
-<p>8.5.1</p>
+<p>8.5.2</p>
<h3 id="description">Description</h3>
<p>npm is the package manager for the Node JavaScript platform. It puts
modules in place so that node can find them, and manages dependency
diff --git a/deps/npm/docs/output/commands/npx.html b/deps/npm/docs/output/commands/npx.html
index 095de7ae0e..2664dfe025 100644
--- a/deps/npm/docs/output/commands/npx.html
+++ b/deps/npm/docs/output/commands/npx.html
@@ -146,22 +146,17 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm exec -- &lt;pkg&gt;[@&lt;version&gt;] [args...]
-npm exec --package=&lt;pkg&gt;[@&lt;version&gt;] -- &lt;cmd&gt; [args...]
-npm exec -c '&lt;cmd&gt; [args...]'
-npm exec --package=foo -c '&lt;cmd&gt; [args...]'
-
-npx &lt;pkg&gt;[@&lt;specifier&gt;] [args...]
-npx -p &lt;pkg&gt;[@&lt;specifier&gt;] &lt;cmd&gt; [args...]
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<pre lang="bash"><code>npx -- &lt;pkg&gt;[@&lt;version&gt;] [args...]
+npx --package=&lt;pkg&gt;[@&lt;version&gt;] -- &lt;cmd&gt; [args...]
npx -c '&lt;cmd&gt; [args...]'
-npx -p &lt;pkg&gt;[@&lt;specifier&gt;] -c '&lt;cmd&gt; [args...]'
-
-alias: npm x, npx
-
---package=&lt;pkg&gt; (may be specified multiple times)
--p is a shorthand for --package only when using npx executable
--c &lt;cmd&gt; --call=&lt;cmd&gt; (may not be mixed with positional arguments)
+npx --package=foo -c '&lt;cmd&gt; [args...]'
</code></pre>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h3 id="description">Description</h3>
<p>This command allows you to run an arbitrary command from an npm package
(either one installed locally, or fetched remotely), in a similar context
diff --git a/deps/npm/docs/output/using-npm/scripts.html b/deps/npm/docs/output/using-npm/scripts.html
index 19082719ef..a1b691f376 100644
--- a/deps/npm/docs/output/using-npm/scripts.html
+++ b/deps/npm/docs/output/using-npm/scripts.html
@@ -447,6 +447,11 @@ for anything else. You should almost never have to explicitly set a
preinstall or install script. If you are doing this, please consider if
there is another option. The only valid use of <code>install</code> or <code>preinstall</code>
scripts is for compilation which must be done on the target architecture.</li>
+<li>Scripts are run from the root of the package folder, regardless of what the
+current working directory is when <code>npm</code> is invoked. If you want your
+script to use different behavior based on what subdirectory you're in, you
+can use the <code>INIT_CWD</code> environment variable, which holds the full path you
+were in when you ran <code>npm run</code>.</li>
</ul>
<h3 id="see-also">See Also</h3>
<ul>
diff --git a/deps/npm/lib/commands/access.js b/deps/npm/lib/commands/access.js
index 7d3930dacb..206d6de9c2 100644
--- a/deps/npm/lib/commands/access.js
+++ b/deps/npm/lib/commands/access.js
@@ -3,7 +3,6 @@ const path = require('path')
const libaccess = require('libnpmaccess')
const readPackageJson = require('read-package-json-fast')
-const log = require('../utils/log-shim.js')
const otplease = require('../utils/otplease.js')
const getIdentity = require('../utils/get-identity.js')
const BaseCommand = require('../base-command.js')
@@ -79,7 +78,6 @@ class Access extends BaseCommand {
return this[cmd](args, {
...this.npm.flatOptions,
- log,
})
}
diff --git a/deps/npm/lib/commands/adduser.js b/deps/npm/lib/commands/adduser.js
index 1cf70fffbf..cbeaaaf0f2 100644
--- a/deps/npm/lib/commands/adduser.js
+++ b/deps/npm/lib/commands/adduser.js
@@ -31,7 +31,6 @@ class AddUser extends BaseCommand {
creds,
registry,
scope,
- log,
})
await this.updateConfig({
diff --git a/deps/npm/lib/commands/ci.js b/deps/npm/lib/commands/ci.js
index 5e862a473a..e054bee516 100644
--- a/deps/npm/lib/commands/ci.js
+++ b/deps/npm/lib/commands/ci.js
@@ -40,7 +40,6 @@ class CI extends ArboristWorkspaceCmd {
...this.npm.flatOptions,
packageLock: true, // npm ci should never skip lock files
path: where,
- log,
save: false, // npm ci should never modify the lockfile or package.json
workspaces: this.workspaceNames,
}
@@ -101,7 +100,7 @@ class CI extends ArboristWorkspaceCmd {
scriptShell,
stdio: 'inherit',
stdioString: true,
- banner: log.level !== 'silent',
+ banner: !this.npm.silent,
event,
})
}
diff --git a/deps/npm/lib/commands/dedupe.js b/deps/npm/lib/commands/dedupe.js
index 1c270249ad..4662ce3241 100644
--- a/deps/npm/lib/commands/dedupe.js
+++ b/deps/npm/lib/commands/dedupe.js
@@ -1,7 +1,6 @@
// dedupe duplicated packages, or find them in the tree
const Arborist = require('@npmcli/arborist')
const reifyFinish = require('../utils/reify-finish.js')
-const log = require('../utils/log-shim.js')
const ArboristWorkspaceCmd = require('../arborist-cmd.js')
@@ -40,7 +39,6 @@ class Dedupe extends ArboristWorkspaceCmd {
const where = this.npm.prefix
const opts = {
...this.npm.flatOptions,
- log,
path: where,
dryRun,
save,
diff --git a/deps/npm/lib/commands/deprecate.js b/deps/npm/lib/commands/deprecate.js
index 5505b9bf77..839e974caf 100644
--- a/deps/npm/lib/commands/deprecate.js
+++ b/deps/npm/lib/commands/deprecate.js
@@ -1,5 +1,4 @@
const fetch = require('npm-registry-fetch')
-const log = require('../utils/log-shim.js')
const otplease = require('../utils/otplease.js')
const npa = require('npm-package-arg')
const semver = require('semver')
@@ -51,7 +50,6 @@ class Deprecate extends BaseCommand {
...this.npm.flatOptions,
spec: p,
query: { write: true },
- log,
})
Object.keys(packument.versions)
@@ -66,7 +64,6 @@ class Deprecate extends BaseCommand {
method: 'PUT',
body: packument,
ignoreBody: true,
- log,
}))
}
}
diff --git a/deps/npm/lib/commands/diff.js b/deps/npm/lib/commands/diff.js
index b3855aa08f..d737a58dc4 100644
--- a/deps/npm/lib/commands/diff.js
+++ b/deps/npm/lib/commands/diff.js
@@ -61,7 +61,6 @@ class Diff extends BaseCommand {
...this.npm.flatOptions,
diffFiles: args,
where: this.top,
- log,
})
return this.npm.output(res)
}
@@ -194,7 +193,6 @@ class Diff extends BaseCommand {
const packument = await pacote.packument(spec, {
...this.npm.flatOptions,
preferOnline: true,
- log,
})
bSpec = pickManifest(
packument,
diff --git a/deps/npm/lib/commands/dist-tag.js b/deps/npm/lib/commands/dist-tag.js
index e2b013206d..bb36f3f72b 100644
--- a/deps/npm/lib/commands/dist-tag.js
+++ b/deps/npm/lib/commands/dist-tag.js
@@ -31,7 +31,6 @@ class DistTag extends BaseCommand {
async exec ([cmdName, pkg, tag]) {
const opts = {
...this.npm.flatOptions,
- log,
}
if (['add', 'a', 'set', 's'].includes(cmdName)) {
diff --git a/deps/npm/lib/commands/doctor.js b/deps/npm/lib/commands/doctor.js
index 47a522eb67..508faa57aa 100644
--- a/deps/npm/lib/commands/doctor.js
+++ b/deps/npm/lib/commands/doctor.js
@@ -125,8 +125,7 @@ class Doctor extends BaseCommand {
stringLength: s => ansiTrim(s).length,
}
- const silent = log.levels[log.level] > log.levels.error
- if (!silent) {
+ if (!this.npm.silent) {
this.npm.output(table(outTable, tableOpts))
if (!allOk) {
console.error('')
diff --git a/deps/npm/lib/commands/exec.js b/deps/npm/lib/commands/exec.js
index 61a6d96595..52fb1f8eb7 100644
--- a/deps/npm/lib/commands/exec.js
+++ b/deps/npm/lib/commands/exec.js
@@ -1,7 +1,6 @@
const libexec = require('libnpmexec')
const BaseCommand = require('../base-command.js')
const getLocationMsg = require('../exec/get-workspace-location-msg.js')
-const log = require('../utils/log-shim')
// it's like this:
//
@@ -77,7 +76,6 @@ class Exec extends BaseCommand {
call,
localBin,
locationMsg,
- log,
globalBin,
output,
packages,
diff --git a/deps/npm/lib/commands/fund.js b/deps/npm/lib/commands/fund.js
index 47a51c33a6..787a5193f0 100644
--- a/deps/npm/lib/commands/fund.js
+++ b/deps/npm/lib/commands/fund.js
@@ -5,7 +5,6 @@ const pacote = require('pacote')
const semver = require('semver')
const npa = require('npm-package-arg')
const { depth } = require('treeverse')
-const log = require('../utils/log-shim.js')
const { readTree: getFundingInfo, normalizeFunding, isValidFunding } = require('libnpmfund')
const completion = require('../utils/completion/installed-deep.js')
@@ -69,7 +68,6 @@ class Fund extends ArboristWorkspaceCmd {
// TODO: add !workspacesEnabled option handling to libnpmfund
const fundingInfo = getFundingInfo(tree, {
...this.flatOptions,
- log,
workspaces: this.workspaceNames,
})
diff --git a/deps/npm/lib/commands/hook.js b/deps/npm/lib/commands/hook.js
index c99a995858..2ff6ac01ce 100644
--- a/deps/npm/lib/commands/hook.js
+++ b/deps/npm/lib/commands/hook.js
@@ -2,7 +2,6 @@ const hookApi = require('libnpmhook')
const otplease = require('../utils/otplease.js')
const relativeDate = require('tiny-relative-date')
const Table = require('cli-table3')
-const log = require('../utils/log-shim.js')
const BaseCommand = require('../base-command.js')
class Hook extends BaseCommand {
@@ -23,7 +22,6 @@ class Hook extends BaseCommand {
async exec (args) {
return otplease({
...this.npm.flatOptions,
- log,
}, (opts) => {
switch (args[0]) {
case 'add':
@@ -48,7 +46,7 @@ class Hook extends BaseCommand {
} else if (opts.parseable) {
this.npm.output(Object.keys(hook).join('\t'))
this.npm.output(Object.keys(hook).map(k => hook[k]).join('\t'))
- } else if (!opts.silent && opts.loglevel !== 'silent') {
+ } else if (!this.npm.silent) {
this.npm.output(`+ ${this.hookName(hook)} ${
opts.unicode ? ' ➜ ' : ' -> '
} ${hook.endpoint}`)
@@ -66,7 +64,7 @@ class Hook extends BaseCommand {
})
} else if (!hooks.length) {
this.npm.output("You don't have any hooks configured yet.")
- } else if (!opts.silent && opts.loglevel !== 'silent') {
+ } else if (!this.npm.silent) {
if (hooks.length === 1) {
this.npm.output('You have one hook configured.')
} else {
@@ -103,7 +101,7 @@ class Hook extends BaseCommand {
} else if (opts.parseable) {
this.npm.output(Object.keys(hook).join('\t'))
this.npm.output(Object.keys(hook).map(k => hook[k]).join('\t'))
- } else if (!opts.silent && opts.loglevel !== 'silent') {
+ } else if (!this.npm.silent) {
this.npm.output(`- ${this.hookName(hook)} ${
opts.unicode ? ' ✘ ' : ' X '
} ${hook.endpoint}`)
@@ -117,7 +115,7 @@ class Hook extends BaseCommand {
} else if (opts.parseable) {
this.npm.output(Object.keys(hook).join('\t'))
this.npm.output(Object.keys(hook).map(k => hook[k]).join('\t'))
- } else if (!opts.silent && opts.loglevel !== 'silent') {
+ } else if (!this.npm.silent) {
this.npm.output(`+ ${this.hookName(hook)} ${
opts.unicode ? ' ➜ ' : ' -> '
} ${hook.endpoint}`)
diff --git a/deps/npm/lib/commands/init.js b/deps/npm/lib/commands/init.js
index 7e8a8f7a5c..367533f825 100644
--- a/deps/npm/lib/commands/init.js
+++ b/deps/npm/lib/commands/init.js
@@ -114,7 +114,6 @@ class Init extends BaseCommand {
color,
localBin,
locationMsg,
- log,
globalBin,
output,
path,
diff --git a/deps/npm/lib/commands/install.js b/deps/npm/lib/commands/install.js
index a92a5edc5e..61526abb78 100644
--- a/deps/npm/lib/commands/install.js
+++ b/deps/npm/lib/commands/install.js
@@ -147,7 +147,6 @@ class Install extends ArboristWorkspaceCmd {
const opts = {
...this.npm.flatOptions,
- log,
auditLevel: null,
path: where,
add: args,
@@ -173,7 +172,7 @@ class Install extends ArboristWorkspaceCmd {
scriptShell,
stdio: 'inherit',
stdioString: true,
- banner: log.level !== 'silent',
+ banner: !this.npm.silent,
event,
})
}
diff --git a/deps/npm/lib/commands/link.js b/deps/npm/lib/commands/link.js
index e8e2c6b349..d656791469 100644
--- a/deps/npm/lib/commands/link.js
+++ b/deps/npm/lib/commands/link.js
@@ -7,7 +7,6 @@ const Arborist = require('@npmcli/arborist')
const npa = require('npm-package-arg')
const rpj = require('read-package-json-fast')
const semver = require('semver')
-const log = require('../utils/log-shim.js')
const reifyFinish = require('../utils/reify-finish.js')
@@ -69,7 +68,6 @@ class Link extends ArboristWorkspaceCmd {
const globalOpts = {
...this.npm.flatOptions,
path: globalTop,
- log,
global: true,
prune: false,
}
@@ -118,7 +116,6 @@ class Link extends ArboristWorkspaceCmd {
const localArb = new Arborist({
...this.npm.flatOptions,
prune: false,
- log,
path: this.npm.prefix,
save,
})
@@ -126,7 +123,6 @@ class Link extends ArboristWorkspaceCmd {
...this.npm.flatOptions,
prune: false,
path: this.npm.prefix,
- log,
add: names.map(l => `file:${resolve(globalTop, 'node_modules', l)}`),
save,
workspaces: this.workspaceNames,
@@ -143,12 +139,10 @@ class Link extends ArboristWorkspaceCmd {
const arb = new Arborist({
...this.npm.flatOptions,
path: globalTop,
- log,
global: true,
})
await arb.reify({
add,
- log,
})
await reifyFinish(this.npm, arb)
}
diff --git a/deps/npm/lib/commands/logout.js b/deps/npm/lib/commands/logout.js
index 34fbace583..aea5e93652 100644
--- a/deps/npm/lib/commands/logout.js
+++ b/deps/npm/lib/commands/logout.js
@@ -25,7 +25,6 @@ class Logout extends BaseCommand {
...this.npm.flatOptions,
method: 'DELETE',
ignoreBody: true,
- log,
})
} else if (auth.isBasicAuth) {
log.verbose('logout', `clearing user credentials for ${reg}`)
diff --git a/deps/npm/lib/commands/org.js b/deps/npm/lib/commands/org.js
index 89859200fe..f3d344ca33 100644
--- a/deps/npm/lib/commands/org.js
+++ b/deps/npm/lib/commands/org.js
@@ -2,7 +2,6 @@ const liborg = require('libnpmorg')
const otplease = require('../utils/otplease.js')
const Table = require('cli-table3')
const BaseCommand = require('../base-command.js')
-const log = require('../utils/log-shim.js')
class Org extends BaseCommand {
static description = 'Manage orgs'
@@ -35,7 +34,6 @@ class Org extends BaseCommand {
async exec ([cmd, orgname, username, role], cb) {
return otplease({
...this.npm.flatOptions,
- log,
}, opts => {
switch (cmd) {
case 'add':
@@ -76,7 +74,7 @@ class Org extends BaseCommand {
this.npm.output(
[memDeets.org.name, memDeets.org.size, memDeets.user, memDeets.role].join('\t')
)
- } else if (!opts.silent && opts.loglevel !== 'silent') {
+ } else if (!this.npm.silent) {
this.npm.output(
`Added ${memDeets.user} as ${memDeets.role} to ${memDeets.org.name}. You now have ${
memDeets.org.size
@@ -118,7 +116,7 @@ class Org extends BaseCommand {
} else if (opts.parseable) {
this.npm.output(['user', 'org', 'userCount', 'deleted'].join('\t'))
this.npm.output([user, org, userCount, true].join('\t'))
- } else if (!opts.silent && opts.loglevel !== 'silent') {
+ } else if (!this.npm.silent) {
this.npm.output(
`Successfully removed ${user} from ${org}. You now have ${userCount} member${
userCount === 1 ? '' : 's'
@@ -149,7 +147,7 @@ class Org extends BaseCommand {
Object.keys(roster).forEach(user => {
this.npm.output([user, roster[user]].join('\t'))
})
- } else if (!opts.silent && opts.loglevel !== 'silent') {
+ } else if (!this.npm.silent) {
const table = new Table({ head: ['user', 'role'] })
Object.keys(roster)
.sort()
diff --git a/deps/npm/lib/commands/owner.js b/deps/npm/lib/commands/owner.js
index 7b76b7be42..effaaa6a53 100644
--- a/deps/npm/lib/commands/owner.js
+++ b/deps/npm/lib/commands/owner.js
@@ -59,7 +59,6 @@ class Owner extends BaseCommand {
async exec ([action, ...args]) {
const opts = {
...this.npm.flatOptions,
- log,
}
switch (action) {
case 'ls':
@@ -198,7 +197,6 @@ class Owner extends BaseCommand {
method: 'PUT',
body,
spec,
- log,
})
})
diff --git a/deps/npm/lib/commands/ping.js b/deps/npm/lib/commands/ping.js
index 27089be4e1..5a651c4a6a 100644
--- a/deps/npm/lib/commands/ping.js
+++ b/deps/npm/lib/commands/ping.js
@@ -10,7 +10,7 @@ class Ping extends BaseCommand {
async exec (args) {
log.notice('PING', this.npm.config.get('registry'))
const start = Date.now()
- const details = await pingUtil({ ...this.npm.flatOptions, log })
+ const details = await pingUtil({ ...this.npm.flatOptions })
const time = Date.now() - start
log.notice('PONG', `${time}ms`)
if (this.npm.config.get('json')) {
diff --git a/deps/npm/lib/commands/profile.js b/deps/npm/lib/commands/profile.js
index 9786e9ba4d..6b4d1407f7 100644
--- a/deps/npm/lib/commands/profile.js
+++ b/deps/npm/lib/commands/profile.js
@@ -108,7 +108,7 @@ class Profile extends BaseCommand {
async get (args) {
const tfa = 'two-factor auth'
const info = await pulseTillDone.withPromise(
- npmProfile.get({ ...this.npm.flatOptions, log })
+ npmProfile.get({ ...this.npm.flatOptions })
)
if (!info.cidr_whitelist) {
@@ -170,7 +170,7 @@ class Profile extends BaseCommand {
}
async set (args) {
- const conf = { ...this.npm.flatOptions, log }
+ const conf = { ...this.npm.flatOptions }
const prop = (args[0] || '').toLowerCase().trim()
let value = args.length > 1 ? args.slice(1).join(' ') : null
@@ -285,7 +285,7 @@ class Profile extends BaseCommand {
if (auth.basic) {
log.info('profile', 'Updating authentication to bearer token')
const result = await npmProfile.createToken(
- auth.basic.password, false, [], { ...this.npm.flatOptions, log }
+ auth.basic.password, false, [], { ...this.npm.flatOptions }
)
if (!result.token) {
@@ -309,7 +309,7 @@ class Profile extends BaseCommand {
log.info('profile', 'Determine if tfa is pending')
const userInfo = await pulseTillDone.withPromise(
- npmProfile.get({ ...this.npm.flatOptions, log })
+ npmProfile.get({ ...this.npm.flatOptions })
)
const conf = { ...this.npm.flatOptions }
diff --git a/deps/npm/lib/commands/prune.js b/deps/npm/lib/commands/prune.js
index 5831df6285..16c8b6d432 100644
--- a/deps/npm/lib/commands/prune.js
+++ b/deps/npm/lib/commands/prune.js
@@ -1,6 +1,5 @@
// prune extraneous packages
const Arborist = require('@npmcli/arborist')
-const log = require('../utils/log-shim.js')
const reifyFinish = require('../utils/reify-finish.js')
const ArboristWorkspaceCmd = require('../arborist-cmd.js')
@@ -15,7 +14,6 @@ class Prune extends ArboristWorkspaceCmd {
const opts = {
...this.npm.flatOptions,
path: where,
- log,
workspaces: this.workspaceNames,
}
const arb = new Arborist(opts)
diff --git a/deps/npm/lib/commands/publish.js b/deps/npm/lib/commands/publish.js
index 63106c520b..d1f0ee743c 100644
--- a/deps/npm/lib/commands/publish.js
+++ b/deps/npm/lib/commands/publish.js
@@ -55,13 +55,13 @@ class Publish extends BaseCommand {
const json = this.npm.config.get('json')
const defaultTag = this.npm.config.get('tag')
const ignoreScripts = this.npm.config.get('ignore-scripts')
- const silent = log.level === 'silent'
+ const { silent } = this.npm
if (semver.validRange(defaultTag)) {
throw new Error('Tag name must not be a valid SemVer range: ' + defaultTag.trim())
}
- const opts = { ...this.npm.flatOptions, log }
+ const opts = { ...this.npm.flatOptions }
// you can publish name@version, ./foo.tgz, etc.
// even though the default is the 'file:.' cwd.
@@ -152,7 +152,7 @@ class Publish extends BaseCommand {
const results = {}
const json = this.npm.config.get('json')
- const silent = log.level === 'silent'
+ const { silent } = this.npm
const noop = a => a
const color = this.npm.color ? chalk : { green: noop, bold: noop }
await this.setWorkspaces(filters)
diff --git a/deps/npm/lib/commands/run-script.js b/deps/npm/lib/commands/run-script.js
index cd877e0b3d..edba95821b 100644
--- a/deps/npm/lib/commands/run-script.js
+++ b/deps/npm/lib/commands/run-script.js
@@ -116,7 +116,7 @@ class RunScript extends BaseCommand {
stdio: 'inherit',
stdioString: true,
pkg,
- banner: log.level !== 'silent',
+ banner: !this.npm.silent,
}
for (const [event, args] of events) {
@@ -139,7 +139,7 @@ class RunScript extends BaseCommand {
}
const allScripts = Object.keys(scripts)
- if (log.level === 'silent') {
+ if (this.npm.silent) {
return allScripts
}
@@ -233,7 +233,7 @@ class RunScript extends BaseCommand {
async listWorkspaces (args, filters) {
await this.setWorkspaces(filters)
- if (log.level === 'silent') {
+ if (this.npm.silent) {
return
}
diff --git a/deps/npm/lib/commands/star.js b/deps/npm/lib/commands/star.js
index 4974c39883..2d08747aa7 100644
--- a/deps/npm/lib/commands/star.js
+++ b/deps/npm/lib/commands/star.js
@@ -29,13 +29,12 @@ class Star extends BaseCommand {
const pkgs = args.map(npa)
for (const pkg of pkgs) {
const [username, fullData] = await Promise.all([
- getIdentity(this.npm, { ...this.npm.flatOptions, log }),
+ getIdentity(this.npm, { ...this.npm.flatOptions }),
fetch.json(pkg.escapedName, {
...this.npm.flatOptions,
spec: pkg,
query: { write: true },
preferOnline: true,
- log,
}),
])
@@ -64,7 +63,6 @@ class Star extends BaseCommand {
spec: pkg,
method: 'PUT',
body,
- log,
})
this.npm.output(show + ' ' + pkg.name)
diff --git a/deps/npm/lib/commands/team.js b/deps/npm/lib/commands/team.js
index e3fb9b83c5..1e13a83f52 100644
--- a/deps/npm/lib/commands/team.js
+++ b/deps/npm/lib/commands/team.js
@@ -1,7 +1,6 @@
const columns = require('cli-columns')
const libteam = require('libnpmteam')
-const log = require('../utils/log-shim.js')
const otplease = require('../utils/otplease.js')
const BaseCommand = require('../base-command.js')
@@ -43,7 +42,7 @@ class Team extends BaseCommand {
// XXX: "description" option to libnpmteam is used as a description of the
// team, but in npm's options, this is a boolean meaning "show the
// description in npm search output". Hence its being set to null here.
- await otplease({ ...this.npm.flatOptions, log }, opts => {
+ await otplease({ ...this.npm.flatOptions }, opts => {
entity = entity.replace(/^@/, '')
switch (cmd) {
case 'create': return this.create(entity, opts)
@@ -73,7 +72,7 @@ class Team extends BaseCommand {
}))
} else if (opts.parseable) {
this.npm.output(`${entity}\tcreated`)
- } else if (!opts.silent && opts.loglevel !== 'silent') {
+ } else if (!this.npm.silent) {
this.npm.output(`+@${entity}`)
}
}
@@ -87,7 +86,7 @@ class Team extends BaseCommand {
}))
} else if (opts.parseable) {
this.npm.output(`${entity}\tdeleted`)
- } else if (!opts.silent && opts.loglevel !== 'silent') {
+ } else if (!this.npm.silent) {
this.npm.output(`-@${entity}`)
}
}
@@ -102,7 +101,7 @@ class Team extends BaseCommand {
}))
} else if (opts.parseable) {
this.npm.output(`${user}\t${entity}\tadded`)
- } else if (!opts.silent && opts.loglevel !== 'silent') {
+ } else if (!this.npm.silent) {
this.npm.output(`${user} added to @${entity}`)
}
}
@@ -117,7 +116,7 @@ class Team extends BaseCommand {
}))
} else if (opts.parseable) {
this.npm.output(`${user}\t${entity}\tremoved`)
- } else if (!opts.silent && opts.loglevel !== 'silent') {
+ } else if (!this.npm.silent) {
this.npm.output(`${user} removed from @${entity}`)
}
}
@@ -128,7 +127,7 @@ class Team extends BaseCommand {
this.npm.output(JSON.stringify(users, null, 2))
} else if (opts.parseable) {
this.npm.output(users.join('\n'))
- } else if (!opts.silent && opts.loglevel !== 'silent') {
+ } else if (!this.npm.silent) {
const plural = users.length === 1 ? '' : 's'
const more = users.length === 0 ? '' : ':\n'
this.npm.output(`\n@${entity} has ${users.length} user${plural}${more}`)
@@ -142,7 +141,7 @@ class Team extends BaseCommand {
this.npm.output(JSON.stringify(teams, null, 2))
} else if (opts.parseable) {
this.npm.output(teams.join('\n'))
- } else if (!opts.silent && opts.loglevel !== 'silent') {
+ } else if (!this.npm.silent) {
const plural = teams.length === 1 ? '' : 's'
const more = teams.length === 0 ? '' : ':\n'
this.npm.output(`\n@${entity} has ${teams.length} team${plural}${more}`)
diff --git a/deps/npm/lib/commands/token.js b/deps/npm/lib/commands/token.js
index cfb5ab6665..df80f1afec 100644
--- a/deps/npm/lib/commands/token.js
+++ b/deps/npm/lib/commands/token.js
@@ -168,7 +168,7 @@ class Token extends BaseCommand {
}
config () {
- const conf = { ...this.npm.flatOptions, log }
+ const conf = { ...this.npm.flatOptions }
const creds = this.npm.config.getCredentialsByURI(conf.registry)
if (creds.token) {
conf.auth = { token: creds.token }
diff --git a/deps/npm/lib/commands/uninstall.js b/deps/npm/lib/commands/uninstall.js
index b40c59bda4..587968e3bb 100644
--- a/deps/npm/lib/commands/uninstall.js
+++ b/deps/npm/lib/commands/uninstall.js
@@ -1,5 +1,4 @@
const { resolve } = require('path')
-const log = require('../utils/log-shim.js')
const Arborist = require('@npmcli/arborist')
const rpj = require('read-package-json-fast')
@@ -49,7 +48,6 @@ class Uninstall extends ArboristWorkspaceCmd {
const opts = {
...this.npm.flatOptions,
path,
- log,
rm: args,
workspaces: this.workspaceNames,
}
diff --git a/deps/npm/lib/commands/unpublish.js b/deps/npm/lib/commands/unpublish.js
index d8410cc134..c848b6389d 100644
--- a/deps/npm/lib/commands/unpublish.js
+++ b/deps/npm/lib/commands/unpublish.js
@@ -32,7 +32,7 @@ class Unpublish extends BaseCommand {
return []
}
- const opts = { ...this.npm.flatOptions, log }
+ const opts = { ...this.npm.flatOptions }
const username = await getIdentity(this.npm, { ...opts }).catch(() => null)
if (!username) {
return []
@@ -68,8 +68,7 @@ class Unpublish extends BaseCommand {
const spec = args.length && npa(args[0])
const force = this.npm.config.get('force')
- const loglevel = this.npm.config.get('loglevel')
- const silent = loglevel === 'silent'
+ const { silent } = this.npm
const dryRun = this.npm.config.get('dry-run')
let pkgName
let pkgVersion
@@ -84,7 +83,7 @@ class Unpublish extends BaseCommand {
)
}
- const opts = { ...this.npm.flatOptions, log }
+ const opts = { ...this.npm.flatOptions }
if (!spec || path.resolve(spec.name) === this.npm.localPrefix) {
// if there's a package.json in the current folder, then
// read the package name and version out of that.
diff --git a/deps/npm/lib/commands/update.js b/deps/npm/lib/commands/update.js
index c55d7cf575..025ebbaf81 100644
--- a/deps/npm/lib/commands/update.js
+++ b/deps/npm/lib/commands/update.js
@@ -54,7 +54,6 @@ class Update extends ArboristWorkspaceCmd {
const opts = {
...this.npm.flatOptions,
- log,
path: where,
save,
workspaces: this.workspaceNames,
diff --git a/deps/npm/lib/commands/whoami.js b/deps/npm/lib/commands/whoami.js
index 07ebe2e244..154cc87039 100644
--- a/deps/npm/lib/commands/whoami.js
+++ b/deps/npm/lib/commands/whoami.js
@@ -1,5 +1,4 @@
const getIdentity = require('../utils/get-identity.js')
-const log = require('../utils/log-shim.js')
const BaseCommand = require('../base-command.js')
class Whoami extends BaseCommand {
@@ -8,7 +7,7 @@ class Whoami extends BaseCommand {
static params = ['registry']
async exec (args) {
- const username = await getIdentity(this.npm, { ...this.npm.flatOptions, log })
+ const username = await getIdentity(this.npm, { ...this.npm.flatOptions })
this.npm.output(
this.npm.config.get('json') ? JSON.stringify(username) : username
)
diff --git a/deps/npm/lib/npm.js b/deps/npm/lib/npm.js
index 4d22b531a4..ce8f6aee8f 100644
--- a/deps/npm/lib/npm.js
+++ b/deps/npm/lib/npm.js
@@ -52,7 +52,6 @@ class Npm extends EventEmitter {
definitions,
flatten,
shorthands,
- log,
})
this[_title] = process.title
this.updateNotification = null
@@ -251,6 +250,7 @@ class Npm extends EventEmitter {
// Use logColor since that is based on stderr
color: this.logColor,
progress: this.flatOptions.progress,
+ silent: this.silent,
timing: this.config.get('timing'),
loglevel: this.config.get('loglevel'),
unicode: this.config.get('unicode'),
@@ -300,6 +300,10 @@ class Npm extends EventEmitter {
return this.flatOptions.logColor
}
+ get silent () {
+ return this.flatOptions.silent
+ }
+
get lockfileVersion () {
return 2
}
diff --git a/deps/npm/lib/utils/config/definitions.js b/deps/npm/lib/utils/config/definitions.js
index 79e686ca75..c5c129eb3d 100644
--- a/deps/npm/lib/utils/config/definitions.js
+++ b/deps/npm/lib/utils/config/definitions.js
@@ -1222,6 +1222,9 @@ define('loglevel', {
See also the \`foreground-scripts\` config.
`,
+ flatten (key, obj, flatOptions) {
+ flatOptions.silent = obj[key] === 'silent'
+ },
})
define('logs-max', {
diff --git a/deps/npm/lib/utils/display.js b/deps/npm/lib/utils/display.js
index aae51e8806..a19f72297e 100644
--- a/deps/npm/lib/utils/display.js
+++ b/deps/npm/lib/utils/display.js
@@ -35,6 +35,7 @@ class Display {
loglevel,
unicode,
progress,
+ silent,
heading = 'npm',
} = config
@@ -59,8 +60,7 @@ class Display {
log.disableUnicode()
}
- // if it's more than error, don't show progress
- const silent = log.levels[log.level] > log.levels.error
+ // if it's silent, don't show progress
if (progress && !silent) {
log.enableProgress()
} else {
diff --git a/deps/npm/lib/utils/exit-handler.js b/deps/npm/lib/utils/exit-handler.js
index 22c7741017..6186ea81dc 100644
--- a/deps/npm/lib/utils/exit-handler.js
+++ b/deps/npm/lib/utils/exit-handler.js
@@ -49,8 +49,8 @@ process.on('exit', code => {
// npm must be loaded to know where the log file was written
if (showLogFileMessage && hasLoadedNpm) {
- // just a line break
- if (log.levels[log.level] <= log.levels.error) {
+ // just a line break if not in silent mode
+ if (!npm.silent) {
console.error('')
}
@@ -175,7 +175,7 @@ const exitHandler = err => {
log.verbose('exit', exitCode || 0)
- showLogFileMessage = log.level === 'silent' || noLogMessage
+ showLogFileMessage = (hasLoadedNpm && npm.silent) || noLogMessage
? false
: !!exitCode
diff --git a/deps/npm/lib/utils/reify-output.js b/deps/npm/lib/utils/reify-output.js
index b4114c1b2f..b5c3a593b8 100644
--- a/deps/npm/lib/utils/reify-output.js
+++ b/deps/npm/lib/utils/reify-output.js
@@ -27,7 +27,7 @@ const reifyOutput = (npm, arb) => {
// don't print any info in --silent mode, but we still need to
// set the exitCode properly from the audit report, if we have one.
- if (log.levels[log.level] > log.levels.error) {
+ if (npm.silent) {
getAuditReport(npm, auditReport)
return
}
@@ -88,7 +88,7 @@ const reifyOutput = (npm, arb) => {
// at the end if there's still stuff, because it's silly for `npm audit`
// to tell you to run `npm audit` for details. otherwise, use the summary
// report. if we get here, we know it's not quiet or json.
-// If the loglevel is set higher than 'error', then we just run the report
+// If the loglevel is silent, then we just run the report
// to get the exitCode set appropriately.
const printAuditReport = (npm, report) => {
const res = getAuditReport(npm, report)
@@ -105,7 +105,7 @@ const getAuditReport = (npm, report) => {
// when in silent mode, we print nothing. the JSON output is
// going to just JSON.stringify() the report object.
- const reporter = log.levels[log.level] > log.levels.error ? 'quiet'
+ const reporter = npm.silent ? 'quiet'
: npm.flatOptions.json ? 'quiet'
: npm.command !== 'audit' ? 'install'
: 'detail'
diff --git a/deps/npm/lib/utils/update-notifier.js b/deps/npm/lib/utils/update-notifier.js
index 44b6a5433c..875c3a99a2 100644
--- a/deps/npm/lib/utils/update-notifier.js
+++ b/deps/npm/lib/utils/update-notifier.js
@@ -10,7 +10,6 @@ const { promisify } = require('util')
const stat = promisify(require('fs').stat)
const writeFile = promisify(require('fs').writeFile)
const { resolve } = require('path')
-const log = require('./log-shim.js')
const isGlobalNpmUpdate = npm => {
return npm.flatOptions.global &&
@@ -62,7 +61,7 @@ const updateNotifier = async (npm, spec = 'latest') => {
// if they're currently using a prerelease, nudge to the next prerelease
// otherwise, nudge to latest.
- const useColor = log.useColor()
+ const useColor = npm.logColor
const mani = await pacote.manifest(`npm@${spec}`, {
// always prefer latest, even if doing --tag=whatever on the cmd
diff --git a/deps/npm/man/man1/npm-access.1 b/deps/npm/man/man1/npm-access.1
index cd47aaac57..2399de3cb5 100644
--- a/deps/npm/man/man1/npm-access.1
+++ b/deps/npm/man/man1/npm-access.1
@@ -7,13 +7,10 @@
.nf
npm access public [<package>]
npm access restricted [<package>]
-
npm access grant <read\-only|read\-write> <scope:team> [<package>]
npm access revoke <scope:team> [<package>]
-
npm access 2fa\-required [<package>]
npm access 2fa\-not\-required [<package>]
-
npm access ls\-packages [<user>|<scope>|<scope:team>]
npm access ls\-collaborators [<package> [<user>]]
npm access edit [<package>]
@@ -86,9 +83,6 @@ fail with an HTTP 402 status code (logically enough), unless you use
.P
Management of teams and team memberships is done with the \fBnpm team\fP command\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -99,9 +93,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBotp\fP
.RS 0
.IP \(bu 2
@@ -116,11 +107,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\.
.P
If not set, and a registry response fails with a challenge for a one\-time
password, npm will prompt on the command line for one\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-adduser.1 b/deps/npm/man/man1/npm-adduser.1
index 7539f3d983..4fed35da19 100644
--- a/deps/npm/man/man1/npm-adduser.1
+++ b/deps/npm/man/man1/npm-adduser.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm adduser [\-\-registry=url] [\-\-scope=@orgname] [\-\-auth\-type=legacy]
+npm adduser
aliases: login, add\-user
.fi
@@ -31,9 +31,6 @@ your existing record\.
.P
\fBnpm login\fP is an alias to \fBadduser\fP and behaves exactly the same way\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -44,9 +41,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBscope\fP
.RS 0
.IP \(bu 2
@@ -83,11 +77,6 @@ This will also cause \fBnpm init\fP to create a scoped package\.
npm init \-\-scope=@foo \-\-yes
.fi
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-audit.1 b/deps/npm/man/man1/npm-audit.1
index 8968fda01b..d58e960f16 100644
--- a/deps/npm/man/man1/npm-audit.1
+++ b/deps/npm/man/man1/npm-audit.1
@@ -5,10 +5,7 @@
.P
.RS 2
.nf
-npm audit [\-\-json] [\-\-production] [\-\-audit\-level=(low|moderate|high|critical)]
-npm audit fix [\-\-force|\-\-package\-lock\-only|\-\-dry\-run|\-\-production|\-\-only=(dev|prod)]
-
-common options: [\-\-production] [\-\-only=(dev|prod)]
+npm audit [fix]
.fi
.RE
.SS Description
@@ -201,9 +198,6 @@ $ npm audit \-\-audit\-level=moderate
.fi
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBaudit\-level\fP
.RS 0
.IP \(bu 2
@@ -215,9 +209,6 @@ Type: null, "info", "low", "moderate", "high", "critical", or "none"
.P
The minimum level of vulnerability for \fBnpm audit\fP to exit with a non\-zero
exit code\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdry\-run\fP
.RS 0
.IP \(bu 2
@@ -234,9 +225,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP,
.P
Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP,
\fBowner\fP, etc\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBforce\fP
.RS 0
.IP \(bu 2
@@ -277,9 +265,6 @@ Allow clobbering existing values in \fBnpm pkg\fP
.P
If you don't have a clear idea of what you want to do, it is strongly
recommended that you do not use this option!
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBjson\fP
.RS 0
.IP \(bu 2
@@ -298,9 +283,6 @@ saving them to your \fBpackage\.json\fP\|\.
.RE
.P
Not supported by all npm commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBpackage\-lock\-only\fP
.RS 0
.IP \(bu 2
@@ -318,9 +300,6 @@ instead of checking \fBnode_modules\fP and downloading dependencies\.
.P
For \fBlist\fP this means the output will be based on the tree described by the
\fBpackage\-lock\.json\fP, rather than the contents of \fBnode_modules\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBomit\fP
.RS 0
.IP \(bu 2
@@ -342,9 +321,6 @@ it will be included\.
.P
If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment
variable will be set to \fB\|'production'\fP for all lifecycle scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -375,9 +351,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -402,9 +375,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -419,11 +389,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-bin.1 b/deps/npm/man/man1/npm-bin.1
index fc8787e881..1b5eeeaf2e 100644
--- a/deps/npm/man/man1/npm-bin.1
+++ b/deps/npm/man/man1/npm-bin.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm bin [\-g|\-\-global]
+npm bin
.fi
.RE
.P
@@ -14,9 +14,6 @@ Note: This command is unaware of workspaces\.
.P
Print the folder where npm will install executables\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBglobal\fP
.RS 0
.IP \(bu 2
@@ -39,11 +36,6 @@ bin files are linked to \fB{prefix}/bin\fP
man pages are linked to \fB{prefix}/share/man\fP
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-bugs.1 b/deps/npm/man/man1/npm-bugs.1
index a4375f62f4..d7c259bcdb 100644
--- a/deps/npm/man/man1/npm-bugs.1
+++ b/deps/npm/man/man1/npm-bugs.1
@@ -5,9 +5,9 @@
.P
.RS 2
.nf
-npm bugs [<pkgname> [<pkgname> \.\.\.]]
+npm bugs [<pkgname>]
-aliases: issues
+alias: issues
.fi
.RE
.SS Description
@@ -17,9 +17,6 @@ tracker URL or the \fBmailto\fP URL of the support email, and then tries to
open it using the \fB\-\-browser\fP config param\. If no package name is provided, it
will search for a \fBpackage\.json\fP in the current folder and use the \fBname\fP property\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBbrowser\fP
.RS 0
.IP \(bu 2
@@ -35,9 +32,6 @@ Set to \fBfalse\fP to suppress browser behavior and instead print urls to
terminal\.
.P
Set to \fBtrue\fP to use default system URL opener\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -48,11 +42,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-cache.1 b/deps/npm/man/man1/npm-cache.1
index 113d6aca91..cea50c6c03 100644
--- a/deps/npm/man/man1/npm-cache.1
+++ b/deps/npm/man/man1/npm-cache.1
@@ -5,14 +5,13 @@
.P
.RS 2
.nf
-npm cache add <tarball file>\.\.\.
-npm cache add <folder>\.\.\.
-npm cache add <tarball url>\.\.\.
-npm cache add <name>@<version>\.\.\.
-
-npm cache clean
-aliases: npm cache clear, npm cache rm
-
+npm cache add <tarball file>
+npm cache add <folder>
+npm cache add <tarball url>
+npm cache add <git url>
+npm cache add <name>@<version>
+npm cache clean [<key>]
+npm cache ls [<name>@<version>]
npm cache verify
.fi
.RE
@@ -72,9 +71,6 @@ data that was inserted\.
To run an offline verification of existing cache contents, use \fBnpm cache
verify\fP\|\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBcache\fP
.RS 0
.IP \(bu 2
@@ -86,11 +82,6 @@ Type: Path
.P
The location of npm's cache directory\. See npm help \fBnpm
cache\fP
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-ci.1 b/deps/npm/man/man1/npm-ci.1
index b54060b14d..fc50c55efe 100644
--- a/deps/npm/man/man1/npm-ci.1
+++ b/deps/npm/man/man1/npm-ci.1
@@ -6,6 +6,8 @@
.RS 2
.nf
npm ci
+
+aliases: clean\-install, ic, install\-clean, isntall\-clean
.fi
.RE
.SS Description
@@ -79,9 +81,6 @@ cache:
.fi
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBaudit\fP
.RS 0
.IP \(bu 2
@@ -95,9 +94,6 @@ When "true" submit audit reports alongside the current npm command to the
default registry and all registries configured for scopes\. See the
documentation for npm help \fBaudit\fP for details on what is
submitted\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBignore\-scripts\fP
.RS 0
.IP \(bu 2
@@ -113,9 +109,6 @@ Note that commands explicitly intended to run a particular script, such as
\fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP
will still run their intended script if \fBignore\-scripts\fP is set, but they
will \fInot\fR run any pre\- or post\-scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBscript\-shell\fP
.RS 0
.IP \(bu 2
@@ -127,11 +120,6 @@ Type: null or String
.P
The shell to use for scripts run with the \fBnpm exec\fP, \fBnpm run\fP and \fBnpm
init <pkg>\fP commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-completion.1 b/deps/npm/man/man1/npm-completion.1
index 865ddbd9cb..fd9d640b52 100644
--- a/deps/npm/man/man1/npm-completion.1
+++ b/deps/npm/man/man1/npm-completion.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-source <(npm completion)
+npm completion
.fi
.RE
.P
diff --git a/deps/npm/man/man1/npm-config.1 b/deps/npm/man/man1/npm-config.1
index 75561092f2..8ebb7a9dd2 100644
--- a/deps/npm/man/man1/npm-config.1
+++ b/deps/npm/man/man1/npm-config.1
@@ -10,8 +10,6 @@ npm config get [<key> [<key> \.\.\.]]
npm config delete <key> [<key> \.\.\.]
npm config list [\-\-json]
npm config edit
-npm set <key>=<value> [<key>=<value> \.\.\.]
-npm get [<key> [<key> \.\.\.]]
alias: c
.fi
@@ -95,9 +93,6 @@ npm config edit
Opens the config file in an editor\. Use the \fB\-\-global\fP flag to edit the
global config\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBjson\fP
.RS 0
.IP \(bu 2
@@ -116,9 +111,6 @@ saving them to your \fBpackage\.json\fP\|\.
.RE
.P
Not supported by all npm commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBglobal\fP
.RS 0
.IP \(bu 2
@@ -141,9 +133,6 @@ bin files are linked to \fB{prefix}/bin\fP
man pages are linked to \fB{prefix}/share/man\fP
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBeditor\fP
.RS 0
.IP \(bu 2
@@ -155,9 +144,6 @@ Type: String
.RE
.P
The command to run for \fBnpm edit\fP and \fBnpm config edit\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlocation\fP
.RS 0
.IP \(bu 2
@@ -169,9 +155,6 @@ Type: "global", "user", or "project"
.RE
.P
When passed to \fBnpm config\fP this refers to which config file to use\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlong\fP
.RS 0
.IP \(bu 2
@@ -182,11 +165,6 @@ Type: Boolean
.RE
.P
Show extended information in \fBls\fP, \fBsearch\fP, and \fBhelp\-search\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-dedupe.1 b/deps/npm/man/man1/npm-dedupe.1
index 8d2d5082a1..7db8b734db 100644
--- a/deps/npm/man/man1/npm-dedupe.1
+++ b/deps/npm/man/man1/npm-dedupe.1
@@ -6,9 +6,8 @@
.RS 2
.nf
npm dedupe
-npm ddp
-aliases: ddp
+alias: ddp
.fi
.RE
.SS Description
@@ -82,9 +81,6 @@ values in \fBpackage\.json\fP you can run: \fBnpm dedupe \-\-save\fP (or add the
\fBsave=true\fP option to a npm help configuration file
to make that the default behavior)\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBglobal\-style\fP
.RS 0
.IP \(bu 2
@@ -100,9 +96,6 @@ direct dependencies will show in \fBnode_modules\fP and everything they depend
on will be flattened in their \fBnode_modules\fP folders\. This obviously will
eliminate some deduping\. If used with \fBlegacy\-bundling\fP, \fBlegacy\-bundling\fP
will be preferred\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlegacy\-bundling\fP
.RS 0
.IP \(bu 2
@@ -116,9 +109,6 @@ Causes npm to install the package such that versions of npm prior to 1\.4,
such as the one included with node 0\.8, can install the package\. This
eliminates all automatic deduping\. If used with \fBglobal\-style\fP this option
will be preferred\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBstrict\-peer\-deps\fP
.RS 0
.IP \(bu 2
@@ -141,9 +131,6 @@ the range set in their package's \fBpeerDependencies\fP object\.
When such and override is performed, a warning is printed, explaining the
conflict and the packages involved\. If \fB\-\-strict\-peer\-deps\fP is set, then
this warning is treated as a failure\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBpackage\-lock\fP
.RS 0
.IP \(bu 2
@@ -159,9 +146,24 @@ will also prevent \fIwriting\fR \fBpackage\-lock\.json\fP if \fBsave\fP is true\
When package package\-locks are disabled, automatic pruning of extraneous
modules will also be disabled\. To remove extraneous modules with
package\-locks disabled use \fBnpm prune\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
+.P
+This configuration does not affect \fBnpm ci\fP\|\.
+.SS \fBsave\fP
+.RS 0
+.IP \(bu 2
+Default: \fBtrue\fP unless when using \fBnpm update\fP or \fBnpm dedupe\fP where it
+defaults to \fBfalse\fP
+.IP \(bu 2
+Type: Boolean
+.RE
+.P
+Save installed packages to a \fBpackage\.json\fP file as dependencies\.
+.P
+When used with the \fBnpm rm\fP command, removes the dependency from
+\fBpackage\.json\fP\|\.
+.P
+Will also prevent writing to \fBpackage\-lock\.json\fP if set to \fBfalse\fP\|\.
.SS \fBomit\fP
.RS 0
.IP \(bu 2
@@ -183,9 +185,6 @@ it will be included\.
.P
If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment
variable will be set to \fB\|'production'\fP for all lifecycle scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBignore\-scripts\fP
.RS 0
.IP \(bu 2
@@ -201,9 +200,6 @@ Note that commands explicitly intended to run a particular script, such as
\fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP
will still run their intended script if \fBignore\-scripts\fP is set, but they
will \fInot\fR run any pre\- or post\-scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBaudit\fP
.RS 0
.IP \(bu 2
@@ -217,9 +213,6 @@ When "true" submit audit reports alongside the current npm command to the
default registry and all registries configured for scopes\. See the
documentation for npm help \fBaudit\fP for details on what is
submitted\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBbin\-links\fP
.RS 0
.IP \(bu 2
@@ -235,9 +228,6 @@ executables\.
Set to false to have it not do this\. This can be used to work around the
fact that some file systems don't support symlinks, even on ostensibly Unix
systems\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBfund\fP
.RS 0
.IP \(bu 2
@@ -250,9 +240,6 @@ Type: Boolean
When "true" displays the message at the end of each \fBnpm install\fP
acknowledging the number of dependencies looking for funding\. See npm help \fBnpm
fund\fP for details\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdry\-run\fP
.RS 0
.IP \(bu 2
@@ -269,9 +256,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP,
.P
Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP,
\fBowner\fP, etc\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -302,9 +286,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -329,9 +310,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -346,11 +324,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-deprecate.1 b/deps/npm/man/man1/npm-deprecate.1
index 40cd6b65eb..bf066fb78c 100644
--- a/deps/npm/man/man1/npm-deprecate.1
+++ b/deps/npm/man/man1/npm-deprecate.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm deprecate <pkg>[@<version range>] <message>
+npm deprecate <pkg>[@<version>] <message>
.fi
.RE
.P
@@ -42,9 +42,6 @@ To un\-deprecate a package, specify an empty string (\fB""\fP) for the \fBmessag
argument\. Note that you must use double quotes with no space between them to
format an empty string\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -55,9 +52,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBotp\fP
.RS 0
.IP \(bu 2
@@ -72,11 +66,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\.
.P
If not set, and a registry response fails with a challenge for a one\-time
password, npm will prompt on the command line for one\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-diff.1 b/deps/npm/man/man1/npm-diff.1
index 97a5f7b73c..2ff62b5147 100644
--- a/deps/npm/man/man1/npm-diff.1
+++ b/deps/npm/man/man1/npm-diff.1
@@ -6,10 +6,6 @@
.RS 2
.nf
npm diff [\.\.\.<paths>]
-npm diff \-\-diff=<pkg\-name> [\.\.\.<paths>]
-npm diff \-\-diff=<version\-a> [\-\-diff=<version\-b>] [\.\.\.<paths>]
-npm diff \-\-diff=<spec\-a> [\-\-diff=<spec\-b>] [\.\.\.<paths>]
-npm diff [\-\-diff\-ignore\-all\-space] [\-\-diff\-name\-only] [\.\.\.<paths>]
.fi
.RE
.SS Description
@@ -147,9 +143,6 @@ In the example above the diff output is only going to print contents of files
located within the folder \fB\|\./lib/\fP and changed lines of code within the
\fBCHANGELOG\.md\fP file\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBdiff\fP
.RS 0
.IP \(bu 2
@@ -160,9 +153,6 @@ Type: String (can be set multiple times)
.RE
.P
Define arguments to compare in \fBnpm diff\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdiff\-name\-only\fP
.RS 0
.IP \(bu 2
@@ -173,9 +163,6 @@ Type: Boolean
.RE
.P
Prints only filenames when using \fBnpm diff\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdiff\-unified\fP
.RS 0
.IP \(bu 2
@@ -186,9 +173,6 @@ Type: Number
.RE
.P
The number of lines of context to print in \fBnpm diff\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdiff\-ignore\-all\-space\fP
.RS 0
.IP \(bu 2
@@ -199,9 +183,6 @@ Type: Boolean
.RE
.P
Ignore whitespace when comparing lines in \fBnpm diff\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdiff\-no\-prefix\fP
.RS 0
.IP \(bu 2
@@ -215,9 +196,6 @@ Do not show any source or destination prefix in \fBnpm diff\fP output\.
.P
Note: this causes \fBnpm diff\fP to ignore the \fB\-\-diff\-src\-prefix\fP and
\fB\-\-diff\-dst\-prefix\fP configs\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdiff\-src\-prefix\fP
.RS 0
.IP \(bu 2
@@ -228,9 +206,6 @@ Type: String
.RE
.P
Source prefix to be used in \fBnpm diff\fP output\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdiff\-dst\-prefix\fP
.RS 0
.IP \(bu 2
@@ -241,9 +216,6 @@ Type: String
.RE
.P
Destination prefix to be used in \fBnpm diff\fP output\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdiff\-text\fP
.RS 0
.IP \(bu 2
@@ -254,9 +226,6 @@ Type: Boolean
.RE
.P
Treat all files as text in \fBnpm diff\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBglobal\fP
.RS 0
.IP \(bu 2
@@ -279,9 +248,6 @@ bin files are linked to \fB{prefix}/bin\fP
man pages are linked to \fB{prefix}/share/man\fP
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBtag\fP
.RS 0
.IP \(bu 2
@@ -299,9 +265,6 @@ command, if no explicit tag is given\.
.P
When used by the \fBnpm diff\fP command, this is the tag used to fetch the
tarball that will be compared with the local files by default\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -332,9 +295,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -359,9 +319,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -376,10 +333,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
.SH See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-dist-tag.1 b/deps/npm/man/man1/npm-dist-tag.1
index ea472e34c8..6b3bb0769b 100644
--- a/deps/npm/man/man1/npm-dist-tag.1
+++ b/deps/npm/man/man1/npm-dist-tag.1
@@ -9,7 +9,7 @@ npm dist\-tag add <pkg>@<version> [<tag>]
npm dist\-tag rm <pkg> <tag>
npm dist\-tag ls [<pkg>]
-aliases: dist\-tags
+alias: dist\-tags
.fi
.RE
.SS Description
@@ -91,9 +91,6 @@ semver as \fB>=1\.4\.0 <1\.5\.0\fP\|\. See https://github\.com/npm/npm/issues/6
The simplest way to avoid semver problems with tags is to use tags that do
not begin with a number or the letter \fBv\fP\|\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -124,9 +121,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -151,9 +145,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -168,11 +159,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-docs.1 b/deps/npm/man/man1/npm-docs.1
index 41f3e723d5..cb2e101741 100644
--- a/deps/npm/man/man1/npm-docs.1
+++ b/deps/npm/man/man1/npm-docs.1
@@ -7,7 +7,7 @@
.nf
npm docs [<pkgname> [<pkgname> \.\.\.]]
-aliases: home
+alias: home
.fi
.RE
.SS Description
@@ -18,9 +18,6 @@ param\. You can pass multiple package names at once\. If no package name is
provided, it will search for a \fBpackage\.json\fP in the current folder and use
the \fBname\fP property\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBbrowser\fP
.RS 0
.IP \(bu 2
@@ -36,9 +33,6 @@ Set to \fBfalse\fP to suppress browser behavior and instead print urls to
terminal\.
.P
Set to \fBtrue\fP to use default system URL opener\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -49,9 +43,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -82,9 +73,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -109,9 +97,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -126,11 +111,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-doctor.1 b/deps/npm/man/man1/npm-doctor.1
index 9306593324..d58c0f5a0d 100644
--- a/deps/npm/man/man1/npm-doctor.1
+++ b/deps/npm/man/man1/npm-doctor.1
@@ -104,9 +104,6 @@ located with \fBnpm config get cache\fP)\. In the event that there are corrupt
packages in your cache, you should probably run \fBnpm cache clean \-f\fP and
reset the cache\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -117,11 +114,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-edit.1 b/deps/npm/man/man1/npm-edit.1
index b7e3a1258f..7645a3746b 100644
--- a/deps/npm/man/man1/npm-edit.1
+++ b/deps/npm/man/man1/npm-edit.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm edit <pkg>
+npm edit <pkg>[/<subpkg>\.\.\.]
.fi
.RE
.P
@@ -23,9 +23,6 @@ For instance, you can do \fBnpm install connect\fP to install connect
into your package, and then \fBnpm edit connect\fP to make a few
changes to your locally installed copy\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBeditor\fP
.RS 0
.IP \(bu 2
@@ -37,11 +34,6 @@ Type: String
.RE
.P
The command to run for \fBnpm edit\fP and \fBnpm config edit\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-exec.1 b/deps/npm/man/man1/npm-exec.1
index a72d04d647..f7af484ac1 100644
--- a/deps/npm/man/man1/npm-exec.1
+++ b/deps/npm/man/man1/npm-exec.1
@@ -9,20 +9,8 @@ npm exec \-\- <pkg>[@<version>] [args\.\.\.]
npm exec \-\-package=<pkg>[@<version>] \-\- <cmd> [args\.\.\.]
npm exec \-c '<cmd> [args\.\.\.]'
npm exec \-\-package=foo \-c '<cmd> [args\.\.\.]'
-npm exec [\-\-ws] [\-w <workspace\-name] [args\.\.\.]
-npx <pkg>[@<specifier>] [args\.\.\.]
-npx \-p <pkg>[@<specifier>] <cmd> [args\.\.\.]
-npx \-c '<cmd> [args\.\.\.]'
-npx \-p <pkg>[@<specifier>] \-c '<cmd> [args\.\.\.]'
-Run without \-\-call or positional args to open interactive subshell
-
-alias: npm x, npx
-
-common options:
-\-\-package=<pkg> (may be specified multiple times)
-\-p is a shorthand for \-\-package only when using npx executable
-\-c <cmd> \-\-call=<cmd> (may not be mixed with positional arguments)
+alias: x
.fi
.RE
.SS Description
@@ -132,9 +120,6 @@ $ npm exec \-\- foo@latest bar \-\-package=@npmcli/foo
.fi
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBpackage\fP
.RS 0
.IP \(bu 2
@@ -145,9 +130,6 @@ Type: String (can be set multiple times)
.RE
.P
The package to install for npm help \fBexec\fP
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBcall\fP
.RS 0
.IP \(bu 2
@@ -165,9 +147,6 @@ custom command to be run along with the installed packages\.
npm exec \-\-package yo \-\-package generator\-node \-\-call "yo node"
.fi
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -198,9 +177,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -225,9 +201,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -242,11 +215,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS Examples
.P
Run the version of \fBtap\fP in the local dependencies, with the provided
diff --git a/deps/npm/man/man1/npm-explain.1 b/deps/npm/man/man1/npm-explain.1
index e036b1c10b..fc00d3b2c8 100644
--- a/deps/npm/man/man1/npm-explain.1
+++ b/deps/npm/man/man1/npm-explain.1
@@ -55,9 +55,6 @@ node_modules/nyc/node_modules/find\-up
.fi
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBjson\fP
.RS 0
.IP \(bu 2
@@ -76,9 +73,6 @@ saving them to your \fBpackage\.json\fP\|\.
.RE
.P
Not supported by all npm commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -109,11 +103,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-explore.1 b/deps/npm/man/man1/npm-explore.1
index 9b9dcf3eae..3e1b8e4cab 100644
--- a/deps/npm/man/man1/npm-explore.1
+++ b/deps/npm/man/man1/npm-explore.1
@@ -29,9 +29,6 @@ npm explore some\-dependency \-\- git pull origin master
Note that the package is \fInot\fR automatically rebuilt afterwards, so be
sure to use \fBnpm rebuild <pkg>\fP if you make any changes\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBshell\fP
.RS 0
.IP \(bu 2
@@ -43,11 +40,6 @@ Type: String
.RE
.P
The shell to run for the \fBnpm explore\fP command\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-find-dupes.1 b/deps/npm/man/man1/npm-find-dupes.1
index 5670e811da..aafd3f2d68 100644
--- a/deps/npm/man/man1/npm-find-dupes.1
+++ b/deps/npm/man/man1/npm-find-dupes.1
@@ -13,9 +13,6 @@ npm find\-dupes
Runs \fBnpm dedupe\fP in \fB\-\-dry\-run\fP mode, making npm only output the
duplications, without actually changing the package tree\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBglobal\-style\fP
.RS 0
.IP \(bu 2
@@ -31,9 +28,6 @@ direct dependencies will show in \fBnode_modules\fP and everything they depend
on will be flattened in their \fBnode_modules\fP folders\. This obviously will
eliminate some deduping\. If used with \fBlegacy\-bundling\fP, \fBlegacy\-bundling\fP
will be preferred\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlegacy\-bundling\fP
.RS 0
.IP \(bu 2
@@ -47,9 +41,6 @@ Causes npm to install the package such that versions of npm prior to 1\.4,
such as the one included with node 0\.8, can install the package\. This
eliminates all automatic deduping\. If used with \fBglobal\-style\fP this option
will be preferred\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBstrict\-peer\-deps\fP
.RS 0
.IP \(bu 2
@@ -72,9 +63,6 @@ the range set in their package's \fBpeerDependencies\fP object\.
When such and override is performed, a warning is printed, explaining the
conflict and the packages involved\. If \fB\-\-strict\-peer\-deps\fP is set, then
this warning is treated as a failure\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBpackage\-lock\fP
.RS 0
.IP \(bu 2
@@ -90,9 +78,8 @@ will also prevent \fIwriting\fR \fBpackage\-lock\.json\fP if \fBsave\fP is true\
When package package\-locks are disabled, automatic pruning of extraneous
modules will also be disabled\. To remove extraneous modules with
package\-locks disabled use \fBnpm prune\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
+.P
+This configuration does not affect \fBnpm ci\fP\|\.
.SS \fBomit\fP
.RS 0
.IP \(bu 2
@@ -114,9 +101,6 @@ it will be included\.
.P
If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment
variable will be set to \fB\|'production'\fP for all lifecycle scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBignore\-scripts\fP
.RS 0
.IP \(bu 2
@@ -132,9 +116,6 @@ Note that commands explicitly intended to run a particular script, such as
\fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP
will still run their intended script if \fBignore\-scripts\fP is set, but they
will \fInot\fR run any pre\- or post\-scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBaudit\fP
.RS 0
.IP \(bu 2
@@ -148,9 +129,6 @@ When "true" submit audit reports alongside the current npm command to the
default registry and all registries configured for scopes\. See the
documentation for npm help \fBaudit\fP for details on what is
submitted\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBbin\-links\fP
.RS 0
.IP \(bu 2
@@ -166,9 +144,6 @@ executables\.
Set to false to have it not do this\. This can be used to work around the
fact that some file systems don't support symlinks, even on ostensibly Unix
systems\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBfund\fP
.RS 0
.IP \(bu 2
@@ -181,9 +156,6 @@ Type: Boolean
When "true" displays the message at the end of each \fBnpm install\fP
acknowledging the number of dependencies looking for funding\. See npm help \fBnpm
fund\fP for details\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -214,9 +186,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -241,9 +210,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -258,11 +224,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-fund.1 b/deps/npm/man/man1/npm-fund.1
index 181beaf362..8a8577ff4e 100644
--- a/deps/npm/man/man1/npm-fund.1
+++ b/deps/npm/man/man1/npm-fund.1
@@ -5,8 +5,7 @@
.P
.RS 2
.nf
-npm fund [<pkg>]
-npm fund [\-w <workspace\-name>]
+npm fund [[<@scope>/]<pkg>]
.fi
.RE
.SS Description
@@ -61,9 +60,6 @@ test\-workspaces\-fund@1\.0\.0
.fi
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBjson\fP
.RS 0
.IP \(bu 2
@@ -82,9 +78,6 @@ saving them to your \fBpackage\.json\fP\|\.
.RE
.P
Not supported by all npm commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBbrowser\fP
.RS 0
.IP \(bu 2
@@ -100,9 +93,6 @@ Set to \fBfalse\fP to suppress browser behavior and instead print urls to
terminal\.
.P
Set to \fBtrue\fP to use default system URL opener\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBunicode\fP
.RS 0
.IP \(bu 2
@@ -115,9 +105,6 @@ Type: Boolean
.P
When set to true, npm uses unicode characters in the tree output\. When
false, it uses ascii characters instead of unicode glyphs\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -148,9 +135,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBwhich\fP
.RS 0
.IP \(bu 2
@@ -161,11 +145,6 @@ Type: null or Number
.RE
.P
If there are multiple funding sources, which 1\-indexed source URL to open\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SH See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-help-search.1 b/deps/npm/man/man1/npm-help-search.1
index 8a65bb39ca..e986c11167 100644
--- a/deps/npm/man/man1/npm-help-search.1
+++ b/deps/npm/man/man1/npm-help-search.1
@@ -21,9 +21,6 @@ If the argument to \fBnpm help\fP is not a known help topic, then it will call
\fBhelp\-search\fP\|\. It is rarely if ever necessary to call this command
directly\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBlong\fP
.RS 0
.IP \(bu 2
@@ -34,11 +31,6 @@ Type: Boolean
.RE
.P
Show extended information in \fBls\fP, \fBsearch\fP, and \fBhelp\-search\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-help.1 b/deps/npm/man/man1/npm-help.1
index 7f7ac6ee6f..af7a646bc8 100644
--- a/deps/npm/man/man1/npm-help.1
+++ b/deps/npm/man/man1/npm-help.1
@@ -6,6 +6,8 @@
.RS 2
.nf
npm help <term> [<terms\.\.>]
+
+alias: hlep
.fi
.RE
.P
@@ -19,9 +21,6 @@ will run the \fBhelp\-search\fP command to find a match\. Note that, if
\fBhelp\-search\fP finds a single subject, then it will run \fBhelp\fP on that
topic, so unique matches are equivalent to specifying a topic name\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBviewer\fP
.RS 0
.IP \(bu 2
@@ -34,11 +33,6 @@ Type: String
The program to use to view help content\.
.P
Set to \fB"browser"\fP to view html help content in the default web browser\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-hook.1 b/deps/npm/man/man1/npm-hook.1
index b4f772c73d..4bf31b4f0a 100644
--- a/deps/npm/man/man1/npm-hook.1
+++ b/deps/npm/man/man1/npm-hook.1
@@ -5,10 +5,10 @@
.P
.RS 2
.nf
+npm hook add <pkg> <url> <secret> [\-\-type=<type>]
npm hook ls [pkg]
-npm hook add <entity> <url> <secret>
-npm hook update <id> <url> [secret]
npm hook rm <id>
+npm hook update <id> <url> <secret>
.fi
.RE
.P
@@ -94,9 +94,6 @@ $ npm hook rm id\-deadbeef
.fi
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -107,9 +104,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBotp\fP
.RS 0
.IP \(bu 2
@@ -124,11 +118,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\.
.P
If not set, and a registry response fails with a challenge for a one\-time
password, npm will prompt on the command line for one\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-init.1 b/deps/npm/man/man1/npm-init.1
index 2aa55d63a2..476bc9c267 100644
--- a/deps/npm/man/man1/npm-init.1
+++ b/deps/npm/man/man1/npm-init.1
@@ -5,10 +5,11 @@
.P
.RS 2
.nf
-npm init [\-\-yes|\-y|\-\-scope]
-npm init <@scope> (same as `npm exec <@scope>/create`)
-npm init [<@scope>/]<name> (same as `npm exec [<@scope>/]create\-<name>`)
-npm init [\-w <dir>] [args\.\.\.]
+npm init [\-\-force|\-f|\-\-yes|\-y|\-\-scope]
+npm init <@scope> (same as `npx <@scope>/create`)
+npm init [<@scope>/]<name> (same as `npx [<@scope>/]create\-<name>`)
+
+aliases: create, innit
.fi
.RE
.SS Description
@@ -40,6 +41,19 @@ guesses based on existing fields, dependencies, and options selected\. It is
strictly additive, so it will keep any fields and values that were already
set\. You can also use \fB\-y\fP/\fB\-\-yes\fP to skip the questionnaire altogether\. If
you pass \fB\-\-scope\fP, it will create a scoped package\.
+.P
+\fINote:\fR if a user already has the \fBcreate\-<initializer>\fP package
+globally installed, that will be what \fBnpm init\fP uses\. If you want npm
+to use the latest version, or another specific version you must specify
+it:
+.RS 0
+.IP \(bu 2
+\fBnpm init foo@latest\fP # fetches and runs the latest \fBcreate\-foo\fP from
+ the registry
+.IP \(bu 2
+\fBnpm init foo@1\.2\.3\fP # runs \fBcreate\-foo@1\.2\.3\fP specifically
+
+.RE
.SS Forwarding additional options
.P
Any additional options will be passed directly to the command, so \fBnpm init
@@ -165,9 +179,6 @@ dot to represent the current directory in that context, e\.g: \fBreact\-app \.\f
.fi
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fByes\fP
.RS 0
.IP \(bu 2
@@ -179,9 +190,6 @@ Type: null or Boolean
.P
Automatically answer "yes" to any prompts that npm might print on the
command line\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBforce\fP
.RS 0
.IP \(bu 2
@@ -222,9 +230,6 @@ Allow clobbering existing values in \fBnpm pkg\fP
.P
If you don't have a clear idea of what you want to do, it is strongly
recommended that you do not use this option!
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -255,9 +260,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -282,9 +284,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -299,11 +298,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-install-ci-test.1 b/deps/npm/man/man1/npm-install-ci-test.1
index 50da8e31a5..c90591124a 100644
--- a/deps/npm/man/man1/npm-install-ci-test.1
+++ b/deps/npm/man/man1/npm-install-ci-test.1
@@ -7,16 +7,13 @@
.nf
npm install\-ci\-test
-alias: npm cit
+alias: cit
.fi
.RE
.SS Description
.P
This command runs \fBnpm ci\fP followed immediately by \fBnpm test\fP\|\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBaudit\fP
.RS 0
.IP \(bu 2
@@ -30,9 +27,6 @@ When "true" submit audit reports alongside the current npm command to the
default registry and all registries configured for scopes\. See the
documentation for npm help \fBaudit\fP for details on what is
submitted\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBignore\-scripts\fP
.RS 0
.IP \(bu 2
@@ -48,9 +42,6 @@ Note that commands explicitly intended to run a particular script, such as
\fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP
will still run their intended script if \fBignore\-scripts\fP is set, but they
will \fInot\fR run any pre\- or post\-scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBscript\-shell\fP
.RS 0
.IP \(bu 2
@@ -62,11 +53,6 @@ Type: null or String
.P
The shell to use for scripts run with the \fBnpm exec\fP, \fBnpm run\fP and \fBnpm
init <pkg>\fP commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-install-test.1 b/deps/npm/man/man1/npm-install-test.1
index 709523d9bf..158dfe1dcc 100644
--- a/deps/npm/man/man1/npm-install-test.1
+++ b/deps/npm/man/man1/npm-install-test.1
@@ -5,17 +5,18 @@
.P
.RS 2
.nf
-npm install\-test (with no args, in package dir)
-npm install\-test [<@scope>/]<name>
-npm install\-test [<@scope>/]<name>@<tag>
-npm install\-test [<@scope>/]<name>@<version>
-npm install\-test [<@scope>/]<name>@<version range>
+npm install\-test [<@scope>/]<pkg>
+npm install\-test [<@scope>/]<pkg>@<tag>
+npm install\-test [<@scope>/]<pkg>@<version>
+npm install\-test [<@scope>/]<pkg>@<version range>
+npm install\-test <alias>@npm:<name>
+npm install\-test <folder>
npm install\-test <tarball file>
npm install\-test <tarball url>
-npm install\-test <folder>
+npm install\-test <git:// url>
+npm install\-test <github username>/<github project>
-alias: npm it
-common options: [\-\-save|\-\-save\-dev|\-\-save\-optional] [\-\-save\-exact] [\-\-dry\-run]
+alias: it
.fi
.RE
.SS Description
@@ -23,25 +24,22 @@ common options: [\-\-save|\-\-save\-dev|\-\-save\-optional] [\-\-save\-exact] [\
This command runs an \fBnpm install\fP followed immediately by an \fBnpm test\fP\|\. It
takes exactly the same arguments as \fBnpm install\fP\|\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBsave\fP
.RS 0
.IP \(bu 2
-Default: true
+Default: \fBtrue\fP unless when using \fBnpm update\fP or \fBnpm dedupe\fP where it
+defaults to \fBfalse\fP
.IP \(bu 2
Type: Boolean
.RE
.P
-Save installed packages to a package\.json file as dependencies\.
+Save installed packages to a \fBpackage\.json\fP file as dependencies\.
.P
When used with the \fBnpm rm\fP command, removes the dependency from
-package\.json\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
+\fBpackage\.json\fP\|\.
+.P
+Will also prevent writing to \fBpackage\-lock\.json\fP if set to \fBfalse\fP\|\.
.SS \fBsave\-exact\fP
.RS 0
.IP \(bu 2
@@ -53,9 +51,6 @@ Type: Boolean
.P
Dependencies saved to package\.json will be configured with an exact version
rather than using npm's default semver range operator\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBglobal\fP
.RS 0
.IP \(bu 2
@@ -78,9 +73,6 @@ bin files are linked to \fB{prefix}/bin\fP
man pages are linked to \fB{prefix}/share/man\fP
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBglobal\-style\fP
.RS 0
.IP \(bu 2
@@ -96,9 +88,6 @@ direct dependencies will show in \fBnode_modules\fP and everything they depend
on will be flattened in their \fBnode_modules\fP folders\. This obviously will
eliminate some deduping\. If used with \fBlegacy\-bundling\fP, \fBlegacy\-bundling\fP
will be preferred\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlegacy\-bundling\fP
.RS 0
.IP \(bu 2
@@ -112,9 +101,6 @@ Causes npm to install the package such that versions of npm prior to 1\.4,
such as the one included with node 0\.8, can install the package\. This
eliminates all automatic deduping\. If used with \fBglobal\-style\fP this option
will be preferred\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBstrict\-peer\-deps\fP
.RS 0
.IP \(bu 2
@@ -137,9 +123,6 @@ the range set in their package's \fBpeerDependencies\fP object\.
When such and override is performed, a warning is printed, explaining the
conflict and the packages involved\. If \fB\-\-strict\-peer\-deps\fP is set, then
this warning is treated as a failure\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBpackage\-lock\fP
.RS 0
.IP \(bu 2
@@ -155,9 +138,8 @@ will also prevent \fIwriting\fR \fBpackage\-lock\.json\fP if \fBsave\fP is true\
When package package\-locks are disabled, automatic pruning of extraneous
modules will also be disabled\. To remove extraneous modules with
package\-locks disabled use \fBnpm prune\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
+.P
+This configuration does not affect \fBnpm ci\fP\|\.
.SS \fBomit\fP
.RS 0
.IP \(bu 2
@@ -179,9 +161,6 @@ it will be included\.
.P
If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment
variable will be set to \fB\|'production'\fP for all lifecycle scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBignore\-scripts\fP
.RS 0
.IP \(bu 2
@@ -197,9 +176,6 @@ Note that commands explicitly intended to run a particular script, such as
\fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP
will still run their intended script if \fBignore\-scripts\fP is set, but they
will \fInot\fR run any pre\- or post\-scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBaudit\fP
.RS 0
.IP \(bu 2
@@ -213,9 +189,6 @@ When "true" submit audit reports alongside the current npm command to the
default registry and all registries configured for scopes\. See the
documentation for npm help \fBaudit\fP for details on what is
submitted\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBbin\-links\fP
.RS 0
.IP \(bu 2
@@ -231,9 +204,6 @@ executables\.
Set to false to have it not do this\. This can be used to work around the
fact that some file systems don't support symlinks, even on ostensibly Unix
systems\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBfund\fP
.RS 0
.IP \(bu 2
@@ -246,9 +216,6 @@ Type: Boolean
When "true" displays the message at the end of each \fBnpm install\fP
acknowledging the number of dependencies looking for funding\. See npm help \fBnpm
fund\fP for details\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdry\-run\fP
.RS 0
.IP \(bu 2
@@ -265,9 +232,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP,
.P
Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP,
\fBowner\fP, etc\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -298,9 +262,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -325,9 +286,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -342,11 +300,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-install.1 b/deps/npm/man/man1/npm-install.1
index d8085ee231..2c76bbd886 100644
--- a/deps/npm/man/man1/npm-install.1
+++ b/deps/npm/man/man1/npm-install.1
@@ -5,20 +5,18 @@
.P
.RS 2
.nf
-npm install (with no args, in package dir)
-npm install [<@scope>/]<name>
-npm install [<@scope>/]<name>@<tag>
-npm install [<@scope>/]<name>@<version>
-npm install [<@scope>/]<name>@<version range>
+npm install [<@scope>/]<pkg>
+npm install [<@scope>/]<pkg>@<tag>
+npm install [<@scope>/]<pkg>@<version>
+npm install [<@scope>/]<pkg>@<version range>
npm install <alias>@npm:<name>
-npm install <git\-host>:<git\-user>/<repo\-name>
-npm install <git repo url>
+npm install <folder>
npm install <tarball file>
npm install <tarball url>
-npm install <folder>
+npm install <git:// url>
+npm install <github username>/<github project>
-aliases: npm i, npm add
-common options: [\-P|\-\-save\-prod|\-D|\-\-save\-dev|\-O|\-\-save\-optional|\-\-save\-peer] [\-E|\-\-save\-exact] [\-B|\-\-save\-bundle] [\-\-no\-save] [\-\-dry\-run]
+aliases: i, in, ins, inst, insta, instal, isnt, isnta, isntal, add
.fi
.RE
.SS Description
@@ -437,25 +435,22 @@ params have some effect on installation, since that's most of what npm
does\.
.P
These are some of the most common options related to installation\.
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBsave\fP
.RS 0
.IP \(bu 2
-Default: true
+Default: \fBtrue\fP unless when using \fBnpm update\fP or \fBnpm dedupe\fP where it
+defaults to \fBfalse\fP
.IP \(bu 2
Type: Boolean
.RE
.P
-Save installed packages to a package\.json file as dependencies\.
+Save installed packages to a \fBpackage\.json\fP file as dependencies\.
.P
When used with the \fBnpm rm\fP command, removes the dependency from
-package\.json\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
+\fBpackage\.json\fP\|\.
+.P
+Will also prevent writing to \fBpackage\-lock\.json\fP if set to \fBfalse\fP\|\.
.SS \fBsave\-exact\fP
.RS 0
.IP \(bu 2
@@ -467,9 +462,6 @@ Type: Boolean
.P
Dependencies saved to package\.json will be configured with an exact version
rather than using npm's default semver range operator\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBglobal\fP
.RS 0
.IP \(bu 2
@@ -492,9 +484,6 @@ bin files are linked to \fB{prefix}/bin\fP
man pages are linked to \fB{prefix}/share/man\fP
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBglobal\-style\fP
.RS 0
.IP \(bu 2
@@ -510,9 +499,6 @@ direct dependencies will show in \fBnode_modules\fP and everything they depend
on will be flattened in their \fBnode_modules\fP folders\. This obviously will
eliminate some deduping\. If used with \fBlegacy\-bundling\fP, \fBlegacy\-bundling\fP
will be preferred\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlegacy\-bundling\fP
.RS 0
.IP \(bu 2
@@ -526,9 +512,6 @@ Causes npm to install the package such that versions of npm prior to 1\.4,
such as the one included with node 0\.8, can install the package\. This
eliminates all automatic deduping\. If used with \fBglobal\-style\fP this option
will be preferred\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBstrict\-peer\-deps\fP
.RS 0
.IP \(bu 2
@@ -551,9 +534,6 @@ the range set in their package's \fBpeerDependencies\fP object\.
When such and override is performed, a warning is printed, explaining the
conflict and the packages involved\. If \fB\-\-strict\-peer\-deps\fP is set, then
this warning is treated as a failure\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBpackage\-lock\fP
.RS 0
.IP \(bu 2
@@ -569,9 +549,8 @@ will also prevent \fIwriting\fR \fBpackage\-lock\.json\fP if \fBsave\fP is true\
When package package\-locks are disabled, automatic pruning of extraneous
modules will also be disabled\. To remove extraneous modules with
package\-locks disabled use \fBnpm prune\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
+.P
+This configuration does not affect \fBnpm ci\fP\|\.
.SS \fBomit\fP
.RS 0
.IP \(bu 2
@@ -593,9 +572,6 @@ it will be included\.
.P
If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment
variable will be set to \fB\|'production'\fP for all lifecycle scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBignore\-scripts\fP
.RS 0
.IP \(bu 2
@@ -611,9 +587,6 @@ Note that commands explicitly intended to run a particular script, such as
\fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP
will still run their intended script if \fBignore\-scripts\fP is set, but they
will \fInot\fR run any pre\- or post\-scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBaudit\fP
.RS 0
.IP \(bu 2
@@ -627,9 +600,6 @@ When "true" submit audit reports alongside the current npm command to the
default registry and all registries configured for scopes\. See the
documentation for npm help \fBaudit\fP for details on what is
submitted\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBbin\-links\fP
.RS 0
.IP \(bu 2
@@ -645,9 +615,6 @@ executables\.
Set to false to have it not do this\. This can be used to work around the
fact that some file systems don't support symlinks, even on ostensibly Unix
systems\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBfund\fP
.RS 0
.IP \(bu 2
@@ -660,9 +627,6 @@ Type: Boolean
When "true" displays the message at the end of each \fBnpm install\fP
acknowledging the number of dependencies looking for funding\. See npm help \fBnpm
fund\fP for details\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdry\-run\fP
.RS 0
.IP \(bu 2
@@ -679,9 +643,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP,
.P
Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP,
\fBowner\fP, etc\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -712,9 +673,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -739,9 +697,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -756,11 +711,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS Algorithm
.P
Given a \fBpackage{dep}\fP structure: \fBA{B,C}, B{C}, C{D}\fP,
diff --git a/deps/npm/man/man1/npm-link.1 b/deps/npm/man/man1/npm-link.1
index 378c342e45..f77d8c2d76 100644
--- a/deps/npm/man/man1/npm-link.1
+++ b/deps/npm/man/man1/npm-link.1
@@ -8,7 +8,7 @@
npm link (in package dir)
npm link [<@scope>/]<pkg>[@<version>]
-alias: npm ln
+alias: ln
.fi
.RE
.SS Description
@@ -113,25 +113,22 @@ conflicting dependencies\.
\fBnpm link \-\-workspace <name>\fP will create a global link to the specified
workspace(s)\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBsave\fP
.RS 0
.IP \(bu 2
-Default: true
+Default: \fBtrue\fP unless when using \fBnpm update\fP or \fBnpm dedupe\fP where it
+defaults to \fBfalse\fP
.IP \(bu 2
Type: Boolean
.RE
.P
-Save installed packages to a package\.json file as dependencies\.
+Save installed packages to a \fBpackage\.json\fP file as dependencies\.
.P
When used with the \fBnpm rm\fP command, removes the dependency from
-package\.json\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
+\fBpackage\.json\fP\|\.
+.P
+Will also prevent writing to \fBpackage\-lock\.json\fP if set to \fBfalse\fP\|\.
.SS \fBsave\-exact\fP
.RS 0
.IP \(bu 2
@@ -143,9 +140,6 @@ Type: Boolean
.P
Dependencies saved to package\.json will be configured with an exact version
rather than using npm's default semver range operator\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBglobal\fP
.RS 0
.IP \(bu 2
@@ -168,9 +162,6 @@ bin files are linked to \fB{prefix}/bin\fP
man pages are linked to \fB{prefix}/share/man\fP
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBglobal\-style\fP
.RS 0
.IP \(bu 2
@@ -186,9 +177,6 @@ direct dependencies will show in \fBnode_modules\fP and everything they depend
on will be flattened in their \fBnode_modules\fP folders\. This obviously will
eliminate some deduping\. If used with \fBlegacy\-bundling\fP, \fBlegacy\-bundling\fP
will be preferred\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlegacy\-bundling\fP
.RS 0
.IP \(bu 2
@@ -202,9 +190,6 @@ Causes npm to install the package such that versions of npm prior to 1\.4,
such as the one included with node 0\.8, can install the package\. This
eliminates all automatic deduping\. If used with \fBglobal\-style\fP this option
will be preferred\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBstrict\-peer\-deps\fP
.RS 0
.IP \(bu 2
@@ -227,9 +212,6 @@ the range set in their package's \fBpeerDependencies\fP object\.
When such and override is performed, a warning is printed, explaining the
conflict and the packages involved\. If \fB\-\-strict\-peer\-deps\fP is set, then
this warning is treated as a failure\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBpackage\-lock\fP
.RS 0
.IP \(bu 2
@@ -245,9 +227,8 @@ will also prevent \fIwriting\fR \fBpackage\-lock\.json\fP if \fBsave\fP is true\
When package package\-locks are disabled, automatic pruning of extraneous
modules will also be disabled\. To remove extraneous modules with
package\-locks disabled use \fBnpm prune\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
+.P
+This configuration does not affect \fBnpm ci\fP\|\.
.SS \fBomit\fP
.RS 0
.IP \(bu 2
@@ -269,9 +250,6 @@ it will be included\.
.P
If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment
variable will be set to \fB\|'production'\fP for all lifecycle scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBignore\-scripts\fP
.RS 0
.IP \(bu 2
@@ -287,9 +265,6 @@ Note that commands explicitly intended to run a particular script, such as
\fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP
will still run their intended script if \fBignore\-scripts\fP is set, but they
will \fInot\fR run any pre\- or post\-scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBaudit\fP
.RS 0
.IP \(bu 2
@@ -303,9 +278,6 @@ When "true" submit audit reports alongside the current npm command to the
default registry and all registries configured for scopes\. See the
documentation for npm help \fBaudit\fP for details on what is
submitted\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBbin\-links\fP
.RS 0
.IP \(bu 2
@@ -321,9 +293,6 @@ executables\.
Set to false to have it not do this\. This can be used to work around the
fact that some file systems don't support symlinks, even on ostensibly Unix
systems\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBfund\fP
.RS 0
.IP \(bu 2
@@ -336,9 +305,6 @@ Type: Boolean
When "true" displays the message at the end of each \fBnpm install\fP
acknowledging the number of dependencies looking for funding\. See npm help \fBnpm
fund\fP for details\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdry\-run\fP
.RS 0
.IP \(bu 2
@@ -355,9 +321,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP,
.P
Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP,
\fBowner\fP, etc\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -388,9 +351,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -415,9 +375,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -432,11 +389,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-logout.1 b/deps/npm/man/man1/npm-logout.1
index f7f121d6db..da09d34da6 100644
--- a/deps/npm/man/man1/npm-logout.1
+++ b/deps/npm/man/man1/npm-logout.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm logout [\-\-registry=<url>] [\-\-scope=<@scope>]
+npm logout
.fi
.RE
.P
@@ -23,9 +23,6 @@ In this case, it will \fIonly\fR affect the current environment\.
If \fB\-\-scope\fP is provided, this will find the credentials for the registry
connected to that scope, if set\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -36,9 +33,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBscope\fP
.RS 0
.IP \(bu 2
@@ -75,11 +69,6 @@ This will also cause \fBnpm init\fP to create a scoped package\.
npm init \-\-scope=@foo \-\-yes
.fi
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1
index 03bb885ece..a1b640a145 100644
--- a/deps/npm/man/man1/npm-ls.1
+++ b/deps/npm/man/man1/npm-ls.1
@@ -7,7 +7,7 @@
.nf
npm ls [[<@scope>/]<pkg> \.\.\.]
-aliases: list, la, ll
+alias: list
.fi
.RE
.SS Description
@@ -26,7 +26,7 @@ example, running \fBnpm ls promzard\fP in npm's source tree will show:
.P
.RS 2
.nf
-npm@8\.5\.1 /path/to/npm
+npm@8\.5\.2 /path/to/npm
└─┬ init\-package\-json@0\.0\.4
└── promzard@0\.1\.5
.fi
@@ -70,9 +70,6 @@ A thorough re\-examination of the use cases, intention, behavior, and output
of this command, is currently underway\. Expect significant changes to at
least the default human\-readable \fBnpm ls\fP output in npm v8\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBall\fP
.RS 0
.IP \(bu 2
@@ -85,9 +82,6 @@ Type: Boolean
When running \fBnpm outdated\fP and \fBnpm ls\fP, setting \fB\-\-all\fP will show all
outdated or installed packages, rather than only those directly depended
upon by the current project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBjson\fP
.RS 0
.IP \(bu 2
@@ -106,9 +100,6 @@ saving them to your \fBpackage\.json\fP\|\.
.RE
.P
Not supported by all npm commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlong\fP
.RS 0
.IP \(bu 2
@@ -119,9 +110,6 @@ Type: Boolean
.RE
.P
Show extended information in \fBls\fP, \fBsearch\fP, and \fBhelp\-search\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBparseable\fP
.RS 0
.IP \(bu 2
@@ -133,9 +121,6 @@ Type: Boolean
.P
Output parseable results from commands that write to standard output\. For
\fBnpm search\fP, this will be tab\-separated table format\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBglobal\fP
.RS 0
.IP \(bu 2
@@ -158,9 +143,6 @@ bin files are linked to \fB{prefix}/bin\fP
man pages are linked to \fB{prefix}/share/man\fP
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdepth\fP
.RS 0
.IP \(bu 2
@@ -174,9 +156,6 @@ The depth to go when recursing packages for \fBnpm ls\fP\|\.
.P
If not set, \fBnpm ls\fP will show only the immediate dependencies of the root
project\. If \fB\-\-all\fP is set, then npm will show all dependencies by default\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBomit\fP
.RS 0
.IP \(bu 2
@@ -198,9 +177,6 @@ it will be included\.
.P
If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment
variable will be set to \fB\|'production'\fP for all lifecycle scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlink\fP
.RS 0
.IP \(bu 2
@@ -211,9 +187,6 @@ Type: Boolean
.RE
.P
Used with \fBnpm ls\fP, limiting output to only those packages that are linked\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBpackage\-lock\-only\fP
.RS 0
.IP \(bu 2
@@ -231,9 +204,6 @@ instead of checking \fBnode_modules\fP and downloading dependencies\.
.P
For \fBlist\fP this means the output will be based on the tree described by the
\fBpackage\-lock\.json\fP, rather than the contents of \fBnode_modules\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBunicode\fP
.RS 0
.IP \(bu 2
@@ -246,9 +216,6 @@ Type: Boolean
.P
When set to true, npm uses unicode characters in the tree output\. When
false, it uses ascii characters instead of unicode glyphs\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -279,9 +246,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -306,9 +270,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -323,11 +284,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-org.1 b/deps/npm/man/man1/npm-org.1
index 45c366aa7d..932ff78497 100644
--- a/deps/npm/man/man1/npm-org.1
+++ b/deps/npm/man/man1/npm-org.1
@@ -5,9 +5,11 @@
.P
.RS 2
.nf
-npm org set <orgname> <username> [developer | admin | owner]
-npm org rm <orgname> <username>
-npm org ls <orgname> [<username>]
+npm org set orgname username [developer | admin | owner]
+npm org rm orgname username
+npm org ls orgname [<username>]
+
+alias: ogr
.fi
.RE
.P
@@ -67,9 +69,6 @@ You can use the \fBnpm org\fP commands to manage and view users of an
organization\. It supports adding and removing users, changing their roles,
listing them, and finding specific ones and their roles\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -80,9 +79,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBotp\fP
.RS 0
.IP \(bu 2
@@ -97,9 +93,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\.
.P
If not set, and a registry response fails with a challenge for a one\-time
password, npm will prompt on the command line for one\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBjson\fP
.RS 0
.IP \(bu 2
@@ -118,9 +111,6 @@ saving them to your \fBpackage\.json\fP\|\.
.RE
.P
Not supported by all npm commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBparseable\fP
.RS 0
.IP \(bu 2
@@ -132,11 +122,6 @@ Type: Boolean
.P
Output parseable results from commands that write to standard output\. For
\fBnpm search\fP, this will be tab\-separated table format\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-outdated.1 b/deps/npm/man/man1/npm-outdated.1
index 6e001f2644..c0c01e4635 100644
--- a/deps/npm/man/man1/npm-outdated.1
+++ b/deps/npm/man/man1/npm-outdated.1
@@ -102,9 +102,6 @@ scratch or running \fBnpm update\fP will bring it up to spec\.
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBall\fP
.RS 0
.IP \(bu 2
@@ -117,9 +114,6 @@ Type: Boolean
When running \fBnpm outdated\fP and \fBnpm ls\fP, setting \fB\-\-all\fP will show all
outdated or installed packages, rather than only those directly depended
upon by the current project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBjson\fP
.RS 0
.IP \(bu 2
@@ -138,9 +132,6 @@ saving them to your \fBpackage\.json\fP\|\.
.RE
.P
Not supported by all npm commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlong\fP
.RS 0
.IP \(bu 2
@@ -151,9 +142,6 @@ Type: Boolean
.RE
.P
Show extended information in \fBls\fP, \fBsearch\fP, and \fBhelp\-search\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBparseable\fP
.RS 0
.IP \(bu 2
@@ -165,9 +153,6 @@ Type: Boolean
.P
Output parseable results from commands that write to standard output\. For
\fBnpm search\fP, this will be tab\-separated table format\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBglobal\fP
.RS 0
.IP \(bu 2
@@ -190,9 +175,6 @@ bin files are linked to \fB{prefix}/bin\fP
man pages are linked to \fB{prefix}/share/man\fP
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -223,11 +205,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-owner.1 b/deps/npm/man/man1/npm-owner.1
index 3a28988d01..61c6ad0914 100644
--- a/deps/npm/man/man1/npm-owner.1
+++ b/deps/npm/man/man1/npm-owner.1
@@ -9,7 +9,7 @@ npm owner add <user> [<@scope>/]<pkg>
npm owner rm <user> [<@scope>/]<pkg>
npm owner ls [<@scope>/]<pkg>
-aliases: author
+alias: author
.fi
.RE
.P
@@ -38,9 +38,6 @@ If you have two\-factor authentication enabled with \fBauth\-and\-writes\fP (see
npm help \fBnpm\-profile\fP) then you'll need to include an otp
on the command line when changing ownership with \fB\-\-otp\fP\|\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -51,9 +48,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBotp\fP
.RS 0
.IP \(bu 2
@@ -68,11 +62,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\.
.P
If not set, and a registry response fails with a challenge for a one\-time
password, npm will prompt on the command line for one\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-pack.1 b/deps/npm/man/man1/npm-pack.1
index 5ab05b0105..d5fb3a42bc 100644
--- a/deps/npm/man/man1/npm-pack.1
+++ b/deps/npm/man/man1/npm-pack.1
@@ -5,13 +5,10 @@
.P
.RS 2
.nf
-npm pack [[<@scope>/]<pkg>\.\.\.] [\-\-dry\-run] [\-\-json]
+npm pack [[<@scope>/]<pkg>\.\.\.]
.fi
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBdry\-run\fP
.RS 0
.IP \(bu 2
@@ -28,9 +25,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP,
.P
Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP,
\fBowner\fP, etc\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBjson\fP
.RS 0
.IP \(bu 2
@@ -49,9 +43,6 @@ saving them to your \fBpackage\.json\fP\|\.
.RE
.P
Not supported by all npm commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBpack\-destination\fP
.RS 0
.IP \(bu 2
@@ -62,9 +53,6 @@ Type: String
.RE
.P
Directory in which \fBnpm pack\fP will save tarballs\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -95,9 +83,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -122,9 +107,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -139,11 +121,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS Description
.P
For anything that's installable (that is, a package folder, tarball,
diff --git a/deps/npm/man/man1/npm-ping.1 b/deps/npm/man/man1/npm-ping.1
index 2441892a6a..c42e43765a 100644
--- a/deps/npm/man/man1/npm-ping.1
+++ b/deps/npm/man/man1/npm-ping.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm ping [\-\-registry <registry>]
+npm ping
.fi
.RE
.P
@@ -32,9 +32,6 @@ npm ERR! 404 Not Found \- GET http://www\.foo\.com/\-/ping?write=true
.fi
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -45,11 +42,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-pkg.1 b/deps/npm/man/man1/npm-pkg.1
index 08610b24d1..2f821fd64d 100644
--- a/deps/npm/man/man1/npm-pkg.1
+++ b/deps/npm/man/man1/npm-pkg.1
@@ -5,9 +5,9 @@
.P
.RS 2
.nf
-npm pkg get [<field> [\.<subfield> \.\.\.]]
-npm pkg set <field>=<value> [\.<subfield>=<value> \.\.\.]
-npm pkg delete <field> [\.<subfield> \.\.\.]
+npm pkg set <key>=<value> [<key>=<value> \.\.\.]
+npm pkg get [<key> [<key> \.\.\.]]
+npm pkg delete <key> [<key> \.\.\.]
.fi
.RE
.SS Description
@@ -174,9 +174,6 @@ npm pkg get name version \-\-ws
.fi
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBforce\fP
.RS 0
.IP \(bu 2
@@ -217,9 +214,6 @@ Allow clobbering existing values in \fBnpm pkg\fP
.P
If you don't have a clear idea of what you want to do, it is strongly
recommended that you do not use this option!
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBjson\fP
.RS 0
.IP \(bu 2
@@ -238,9 +232,6 @@ saving them to your \fBpackage\.json\fP\|\.
.RE
.P
Not supported by all npm commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -271,9 +262,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -298,10 +286,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
.SH See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-prefix.1 b/deps/npm/man/man1/npm-prefix.1
index d4d7139d98..610dcca739 100644
--- a/deps/npm/man/man1/npm-prefix.1
+++ b/deps/npm/man/man1/npm-prefix.1
@@ -34,9 +34,6 @@ npm prefix \-g
.fi
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBglobal\fP
.RS 0
.IP \(bu 2
@@ -59,11 +56,6 @@ bin files are linked to \fB{prefix}/bin\fP
man pages are linked to \fB{prefix}/share/man\fP
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-profile.1 b/deps/npm/man/man1/npm-profile.1
index 9cd5bfd055..1730f2ab32 100644
--- a/deps/npm/man/man1/npm-profile.1
+++ b/deps/npm/man/man1/npm-profile.1
@@ -5,11 +5,10 @@
.P
.RS 2
.nf
-npm profile get [\-\-json|\-\-parseable] [<property>]
-npm profile set [\-\-json|\-\-parseable] <property> <value>
-npm profile set password
-npm profile enable\-2fa [auth\-and\-writes|auth\-only]
+npm profile enable\-2fa [auth\-only|auth\-and\-writes]
npm profile disable\-2fa
+npm profile get [<key>]
+npm profile set <key> <value>
.fi
.RE
.P
@@ -83,9 +82,6 @@ dist\-tag, or changing access via \fBnpm access\fP and \fBnpm owner\fP\|\.
.P
Some of these commands may not be available on non npmjs\.com registries\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -96,9 +92,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBjson\fP
.RS 0
.IP \(bu 2
@@ -117,9 +110,6 @@ saving them to your \fBpackage\.json\fP\|\.
.RE
.P
Not supported by all npm commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBparseable\fP
.RS 0
.IP \(bu 2
@@ -131,9 +121,6 @@ Type: Boolean
.P
Output parseable results from commands that write to standard output\. For
\fBnpm search\fP, this will be tab\-separated table format\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBotp\fP
.RS 0
.IP \(bu 2
@@ -148,11 +135,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\.
.P
If not set, and a registry response fails with a challenge for a one\-time
password, npm will prompt on the command line for one\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-prune.1 b/deps/npm/man/man1/npm-prune.1
index e7d4a13f80..0a68646609 100644
--- a/deps/npm/man/man1/npm-prune.1
+++ b/deps/npm/man/man1/npm-prune.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm prune [[<@scope>/]<pkg>\.\.\.] [\-\-production] [\-\-dry\-run] [\-\-json]
+npm prune [[<@scope>/]<pkg>\.\.\.]
.fi
.RE
.SS Description
@@ -31,9 +31,6 @@ only need this command with the \fB\-\-production\fP flag\. However, in the rea
world, operation is not always "normal"\. When crashes or mistakes happen,
this command can help clean up any resulting garbage\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBomit\fP
.RS 0
.IP \(bu 2
@@ -55,9 +52,6 @@ it will be included\.
.P
If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment
variable will be set to \fB\|'production'\fP for all lifecycle scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdry\-run\fP
.RS 0
.IP \(bu 2
@@ -74,9 +68,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP,
.P
Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP,
\fBowner\fP, etc\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBjson\fP
.RS 0
.IP \(bu 2
@@ -95,9 +86,6 @@ saving them to your \fBpackage\.json\fP\|\.
.RE
.P
Not supported by all npm commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -128,9 +116,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -155,9 +140,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -172,11 +154,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-publish.1 b/deps/npm/man/man1/npm-publish.1
index 820d0d6850..bf822f0b09 100644
--- a/deps/npm/man/man1/npm-publish.1
+++ b/deps/npm/man/man1/npm-publish.1
@@ -5,10 +5,7 @@
.P
.RS 2
.nf
-npm publish [<tarball>|<folder>] [\-\-tag <tag>] [\-\-access <public|restricted>] [\-\-otp otpcode] [\-\-dry\-run]
-
-Publishes '\.' if no argument supplied
-Sets tag 'latest' if no \-\-tag specified
+npm publish [<folder>]
.fi
.RE
.SS Description
@@ -105,9 +102,6 @@ See npm help \fBdevelopers\fP for full details on what's
included in the published package, as well as details on how the package is
built\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBtag\fP
.RS 0
.IP \(bu 2
@@ -125,9 +119,6 @@ command, if no explicit tag is given\.
.P
When used by the \fBnpm diff\fP command, this is the tag used to fetch the
tarball that will be compared with the local files by default\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBaccess\fP
.RS 0
.IP \(bu 2
@@ -147,9 +138,6 @@ the package access level on the initial publish of the package\. Any
subsequent \fBnpm publish\fP commands using the \fB\-\-access\fP flag will not have an
effect to the access level\. To make changes to the access level after the
initial publish use \fBnpm access\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdry\-run\fP
.RS 0
.IP \(bu 2
@@ -166,9 +154,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP,
.P
Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP,
\fBowner\fP, etc\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBotp\fP
.RS 0
.IP \(bu 2
@@ -183,9 +168,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\.
.P
If not set, and a registry response fails with a challenge for a one\-time
password, npm will prompt on the command line for one\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -216,9 +198,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -243,9 +222,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -260,11 +236,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-rebuild.1 b/deps/npm/man/man1/npm-rebuild.1
index 06c17d369a..0ed3c58ba9 100644
--- a/deps/npm/man/man1/npm-rebuild.1
+++ b/deps/npm/man/man1/npm-rebuild.1
@@ -22,9 +22,6 @@ If one or more package names (and optionally version ranges) are provided,
then only packages with a name and version matching one of the specifiers
will be rebuilt\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBglobal\fP
.RS 0
.IP \(bu 2
@@ -47,9 +44,6 @@ bin files are linked to \fB{prefix}/bin\fP
man pages are linked to \fB{prefix}/share/man\fP
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBbin\-links\fP
.RS 0
.IP \(bu 2
@@ -65,9 +59,6 @@ executables\.
Set to false to have it not do this\. This can be used to work around the
fact that some file systems don't support symlinks, even on ostensibly Unix
systems\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBignore\-scripts\fP
.RS 0
.IP \(bu 2
@@ -83,9 +74,6 @@ Note that commands explicitly intended to run a particular script, such as
\fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP
will still run their intended script if \fBignore\-scripts\fP is set, but they
will \fInot\fR run any pre\- or post\-scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -116,9 +104,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -143,9 +128,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -160,11 +142,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-repo.1 b/deps/npm/man/man1/npm-repo.1
index fe752dbfcf..f53a7b87c6 100644
--- a/deps/npm/man/man1/npm-repo.1
+++ b/deps/npm/man/man1/npm-repo.1
@@ -15,9 +15,6 @@ repository URL, and then tries to open it using the \fB\-\-browser\fP config
param\. If no package name is provided, it will search for a \fBpackage\.json\fP
in the current folder and use the \fBrepository\fP property\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBbrowser\fP
.RS 0
.IP \(bu 2
@@ -33,9 +30,6 @@ Set to \fBfalse\fP to suppress browser behavior and instead print urls to
terminal\.
.P
Set to \fBtrue\fP to use default system URL opener\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -66,9 +60,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -93,9 +84,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -110,11 +98,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-restart.1 b/deps/npm/man/man1/npm-restart.1
index 9c6f50e45d..d600984d7c 100644
--- a/deps/npm/man/man1/npm-restart.1
+++ b/deps/npm/man/man1/npm-restart.1
@@ -47,9 +47,6 @@ postrestart
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBignore\-scripts\fP
.RS 0
.IP \(bu 2
@@ -65,9 +62,6 @@ Note that commands explicitly intended to run a particular script, such as
\fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP
will still run their intended script if \fBignore\-scripts\fP is set, but they
will \fInot\fR run any pre\- or post\-scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBscript\-shell\fP
.RS 0
.IP \(bu 2
@@ -79,11 +73,6 @@ Type: null or String
.P
The shell to use for scripts run with the \fBnpm exec\fP, \fBnpm run\fP and \fBnpm
init <pkg>\fP commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-root.1 b/deps/npm/man/man1/npm-root.1
index e2bfadbcb6..04b5a77f15 100644
--- a/deps/npm/man/man1/npm-root.1
+++ b/deps/npm/man/man1/npm-root.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm root [\-g]
+npm root
.fi
.RE
.SS Description
@@ -23,9 +23,6 @@ echo "Global packages installed in: ${global_node_modules}"
.fi
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBglobal\fP
.RS 0
.IP \(bu 2
@@ -48,11 +45,6 @@ bin files are linked to \fB{prefix}/bin\fP
man pages are linked to \fB{prefix}/share/man\fP
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-run-script.1 b/deps/npm/man/man1/npm-run-script.1
index 4edb0b7dfd..a9028478dc 100644
--- a/deps/npm/man/man1/npm-run-script.1
+++ b/deps/npm/man/man1/npm-run-script.1
@@ -5,9 +5,7 @@
.P
.RS 2
.nf
-npm run\-script <command> [\-\-if\-present] [\-\-silent] [\-\- <args>]
-npm run\-script <command> [\-\-workspace=<workspace\-name>]
-npm run\-script <command> [\-\-workspaces]
+npm run\-script <command> [\-\- <args>]
aliases: run, rum, urn
.fi
@@ -146,9 +144,6 @@ npm test \-w a \-w b
This last command will run \fBtest\fP in both \fB\|\./packages/a\fP and \fB\|\./packages/b\fP
packages\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -179,9 +174,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -206,9 +198,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -223,9 +212,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBif\-present\fP
.RS 0
.IP \(bu 2
@@ -241,9 +227,6 @@ This option can be used when it's desirable to optionally run a script when
it's present and fail if the script fails\. This is useful, for example, when
running scripts that may only apply for some builds in an otherwise generic
CI setup\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBignore\-scripts\fP
.RS 0
.IP \(bu 2
@@ -259,9 +242,6 @@ Note that commands explicitly intended to run a particular script, such as
\fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP
will still run their intended script if \fBignore\-scripts\fP is set, but they
will \fInot\fR run any pre\- or post\-scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBscript\-shell\fP
.RS 0
.IP \(bu 2
@@ -273,11 +253,6 @@ Type: null or String
.P
The shell to use for scripts run with the \fBnpm exec\fP, \fBnpm run\fP and \fBnpm
init <pkg>\fP commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-search.1 b/deps/npm/man/man1/npm-search.1
index 2fd5032062..f6157ff03f 100644
--- a/deps/npm/man/man1/npm-search.1
+++ b/deps/npm/man/man1/npm-search.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm search [\-l|\-\-long] [\-\-json] [\-\-parseable] [\-\-no\-description] [search terms \.\.\.]
+npm search [search terms \.\.\.]
aliases: s, se, find
.fi
@@ -35,9 +35,6 @@ and supports standard JavaScript RegExp syntax\. In this case search will
ignore a trailing \fB/\fP \. (Note you must escape or quote many regular
expression characters in most shells\.)
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBlong\fP
.RS 0
.IP \(bu 2
@@ -48,9 +45,6 @@ Type: Boolean
.RE
.P
Show extended information in \fBls\fP, \fBsearch\fP, and \fBhelp\-search\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBjson\fP
.RS 0
.IP \(bu 2
@@ -69,9 +63,6 @@ saving them to your \fBpackage\.json\fP\|\.
.RE
.P
Not supported by all npm commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBcolor\fP
.RS 0
.IP \(bu 2
@@ -83,9 +74,6 @@ Type: "always" or Boolean
.P
If false, never shows colors\. If \fB"always"\fP then always shows colors\. If
true, then only prints color codes for tty file descriptors\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBparseable\fP
.RS 0
.IP \(bu 2
@@ -97,9 +85,6 @@ Type: Boolean
.P
Output parseable results from commands that write to standard output\. For
\fBnpm search\fP, this will be tab\-separated table format\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdescription\fP
.RS 0
.IP \(bu 2
@@ -110,9 +95,6 @@ Type: Boolean
.RE
.P
Show the description in \fBnpm search\fP
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsearchopts\fP
.RS 0
.IP \(bu 2
@@ -123,9 +105,6 @@ Type: String
.RE
.P
Space\-separated options that are always passed to search\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsearchexclude\fP
.RS 0
.IP \(bu 2
@@ -136,9 +115,6 @@ Type: String
.RE
.P
Space\-separated options that limit the results from search\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -149,9 +125,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBprefer\-online\fP
.RS 0
.IP \(bu 2
@@ -163,9 +136,6 @@ Type: Boolean
.P
If true, staleness checks for cached data will be forced, making the CLI
look for updates immediately even for fresh package data\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBprefer\-offline\fP
.RS 0
.IP \(bu 2
@@ -178,9 +148,6 @@ Type: Boolean
If true, staleness checks for cached data will be bypassed, but missing data
will be requested from the server\. To force full offline mode, use
\fB\-\-offline\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBoffline\fP
.RS 0
.IP \(bu 2
@@ -192,11 +159,6 @@ Type: Boolean
.P
Force offline mode: no network requests will be done during install\. To
allow the CLI to fill in missing cache data, see \fB\-\-prefer\-offline\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-set-script.1 b/deps/npm/man/man1/npm-set-script.1
index 4ea8ba31c6..29e27f985f 100644
--- a/deps/npm/man/man1/npm-set-script.1
+++ b/deps/npm/man/man1/npm-set-script.1
@@ -30,9 +30,6 @@ npm set\-script [<script>] [<command>]
.fi
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -63,9 +60,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -90,9 +84,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -107,11 +98,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-star.1 b/deps/npm/man/man1/npm-star.1
index 3de4cceda8..89cf072dd2 100644
--- a/deps/npm/man/man1/npm-star.1
+++ b/deps/npm/man/man1/npm-star.1
@@ -28,9 +28,6 @@ You can also "unstar" a package using npm help \fBunstar\fP
.P
You can see all your starred packages using npm help \fBstars\fP
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -41,9 +38,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBunicode\fP
.RS 0
.IP \(bu 2
@@ -56,11 +50,6 @@ Type: Boolean
.P
When set to true, npm uses unicode characters in the tree output\. When
false, it uses ascii characters instead of unicode glyphs\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-stars.1 b/deps/npm/man/man1/npm-stars.1
index 4325d32fdd..3aa6f02932 100644
--- a/deps/npm/man/man1/npm-stars.1
+++ b/deps/npm/man/man1/npm-stars.1
@@ -18,9 +18,6 @@ quickly this command lets you do just that\.
You may also want to see your friend's favorite packages, in this case
you will most certainly enjoy this command\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -31,11 +28,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-start.1 b/deps/npm/man/man1/npm-start.1
index 756b08f22c..e99e5f48e7 100644
--- a/deps/npm/man/man1/npm-start.1
+++ b/deps/npm/man/man1/npm-start.1
@@ -46,9 +46,6 @@ npm start
.fi
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBignore\-scripts\fP
.RS 0
.IP \(bu 2
@@ -64,9 +61,6 @@ Note that commands explicitly intended to run a particular script, such as
\fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP
will still run their intended script if \fBignore\-scripts\fP is set, but they
will \fInot\fR run any pre\- or post\-scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBscript\-shell\fP
.RS 0
.IP \(bu 2
@@ -78,11 +72,6 @@ Type: null or String
.P
The shell to use for scripts run with the \fBnpm exec\fP, \fBnpm run\fP and \fBnpm
init <pkg>\fP commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-stop.1 b/deps/npm/man/man1/npm-stop.1
index dd2357ba5d..d5b17a646e 100644
--- a/deps/npm/man/man1/npm-stop.1
+++ b/deps/npm/man/man1/npm-stop.1
@@ -39,9 +39,6 @@ npm stop
.fi
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBignore\-scripts\fP
.RS 0
.IP \(bu 2
@@ -57,9 +54,6 @@ Note that commands explicitly intended to run a particular script, such as
\fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP
will still run their intended script if \fBignore\-scripts\fP is set, but they
will \fInot\fR run any pre\- or post\-scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBscript\-shell\fP
.RS 0
.IP \(bu 2
@@ -71,11 +65,6 @@ Type: null or String
.P
The shell to use for scripts run with the \fBnpm exec\fP, \fBnpm run\fP and \fBnpm
init <pkg>\fP commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-team.1 b/deps/npm/man/man1/npm-team.1
index 3d7ebf1447..81d8245730 100644
--- a/deps/npm/man/man1/npm-team.1
+++ b/deps/npm/man/man1/npm-team.1
@@ -5,12 +5,10 @@
.P
.RS 2
.nf
-npm team create <scope:team>
-npm team destroy <scope:team>
-
-npm team add <scope:team> <user>
-npm team rm <scope:team> <user>
-
+npm team create <scope:team> [\-\-otp <otpcode>]
+npm team destroy <scope:team> [\-\-otp <otpcode>]
+npm team add <scope:team> <user> [\-\-otp <otpcode>]
+npm team rm <scope:team> <user> [\-\-otp <otpcode>]
npm team ls <scope>|<scope:team>
.fi
.RE
@@ -103,9 +101,6 @@ is done through the website, not the npm CLI\.
To use teams to manage permissions on packages belonging to your organization,
use the \fBnpm access\fP command to grant or revoke the appropriate permissions\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -116,9 +111,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBotp\fP
.RS 0
.IP \(bu 2
@@ -133,9 +125,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\.
.P
If not set, and a registry response fails with a challenge for a one\-time
password, npm will prompt on the command line for one\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBparseable\fP
.RS 0
.IP \(bu 2
@@ -147,9 +136,6 @@ Type: Boolean
.P
Output parseable results from commands that write to standard output\. For
\fBnpm search\fP, this will be tab\-separated table format\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBjson\fP
.RS 0
.IP \(bu 2
@@ -168,11 +154,6 @@ saving them to your \fBpackage\.json\fP\|\.
.RE
.P
Not supported by all npm commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-test.1 b/deps/npm/man/man1/npm-test.1
index c2fb13f424..7241ffb41e 100644
--- a/deps/npm/man/man1/npm-test.1
+++ b/deps/npm/man/man1/npm-test.1
@@ -7,7 +7,7 @@
.nf
npm test [\-\- <args>]
-aliases: t, tst
+aliases: tst, t
.fi
.RE
.SS Description
@@ -36,9 +36,6 @@ npm test
.fi
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBignore\-scripts\fP
.RS 0
.IP \(bu 2
@@ -54,9 +51,6 @@ Note that commands explicitly intended to run a particular script, such as
\fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP
will still run their intended script if \fBignore\-scripts\fP is set, but they
will \fInot\fR run any pre\- or post\-scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBscript\-shell\fP
.RS 0
.IP \(bu 2
@@ -68,11 +62,6 @@ Type: null or String
.P
The shell to use for scripts run with the \fBnpm exec\fP, \fBnpm run\fP and \fBnpm
init <pkg>\fP commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-token.1 b/deps/npm/man/man1/npm-token.1
index 5d07f4bf99..da53c023ea 100644
--- a/deps/npm/man/man1/npm-token.1
+++ b/deps/npm/man/man1/npm-token.1
@@ -5,9 +5,9 @@
.P
.RS 2
.nf
- npm token list [\-\-json|\-\-parseable]
- npm token create [\-\-read\-only] [\-\-cidr=1\.1\.1\.1/24,2\.2\.2\.2/16]
- npm token revoke <id|token>
+npm token list
+npm token revoke <id|token>
+npm token create [\-\-read\-only] [\-\-cidr=list]
.fi
.RE
.P
@@ -85,9 +85,6 @@ found in the normal \fBnpm token list\fP output\.
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBread\-only\fP
.RS 0
.IP \(bu 2
@@ -99,9 +96,6 @@ Type: Boolean
.P
This is used to mark a token as unable to publish when configuring limited
access tokens with the \fBnpm token create\fP command\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBcidr\fP
.RS 0
.IP \(bu 2
@@ -113,9 +107,6 @@ Type: null or String (can be set multiple times)
.P
This is a list of CIDR address to be used when configuring limited access
tokens with the \fBnpm token create\fP command\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -126,9 +117,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBotp\fP
.RS 0
.IP \(bu 2
@@ -143,11 +131,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\.
.P
If not set, and a registry response fails with a challenge for a one\-time
password, npm will prompt on the command line for one\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-uninstall.1 b/deps/npm/man/man1/npm-uninstall.1
index ddf5d307f3..543695f7f9 100644
--- a/deps/npm/man/man1/npm-uninstall.1
+++ b/deps/npm/man/man1/npm-uninstall.1
@@ -5,9 +5,9 @@
.P
.RS 2
.nf
-npm uninstall [<@scope>/]<pkg>[@<version>]\.\.\. [\-S|\-\-save|\-\-no\-save]
+npm uninstall [<@scope>/]<pkg>\.\.\.
-aliases: remove, rm, r, un, unlink
+aliases: un, unlink, remove, rm, r
.fi
.RE
.SS Description
@@ -55,25 +55,22 @@ npm uninstall lodash \-\-no\-save
\fBlodash\fP will not be removed from your \fBpackage\.json\fP,
\fBnpm\-shrinkwrap\.json\fP, or \fBpackage\-lock\.json\fP files\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBsave\fP
.RS 0
.IP \(bu 2
-Default: true
+Default: \fBtrue\fP unless when using \fBnpm update\fP or \fBnpm dedupe\fP where it
+defaults to \fBfalse\fP
.IP \(bu 2
Type: Boolean
.RE
.P
-Save installed packages to a package\.json file as dependencies\.
+Save installed packages to a \fBpackage\.json\fP file as dependencies\.
.P
When used with the \fBnpm rm\fP command, removes the dependency from
-package\.json\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
+\fBpackage\.json\fP\|\.
+.P
+Will also prevent writing to \fBpackage\-lock\.json\fP if set to \fBfalse\fP\|\.
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -104,9 +101,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -131,9 +125,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -148,11 +139,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-unpublish.1 b/deps/npm/man/man1/npm-unpublish.1
index affff7d939..da3484bcde 100644
--- a/deps/npm/man/man1/npm-unpublish.1
+++ b/deps/npm/man/man1/npm-unpublish.1
@@ -42,9 +42,6 @@ you must use a new version number\. If you unpublish the entire package,
you may not publish any new versions of that package until 24 hours have
passed\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBdry\-run\fP
.RS 0
.IP \(bu 2
@@ -61,9 +58,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP,
.P
Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP,
\fBowner\fP, etc\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBforce\fP
.RS 0
.IP \(bu 2
@@ -104,9 +98,6 @@ Allow clobbering existing values in \fBnpm pkg\fP
.P
If you don't have a clear idea of what you want to do, it is strongly
recommended that you do not use this option!
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -137,9 +128,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -164,11 +152,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-unstar.1 b/deps/npm/man/man1/npm-unstar.1
index eca58debaf..65d5da8acc 100644
--- a/deps/npm/man/man1/npm-unstar.1
+++ b/deps/npm/man/man1/npm-unstar.1
@@ -24,9 +24,6 @@ You can "star" a package using npm help \fBstar\fP
.P
You can see all your starred packages using npm help \fBstars\fP
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -37,9 +34,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBunicode\fP
.RS 0
.IP \(bu 2
@@ -52,9 +46,6 @@ Type: Boolean
.P
When set to true, npm uses unicode characters in the tree output\. When
false, it uses ascii characters instead of unicode glyphs\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBotp\fP
.RS 0
.IP \(bu 2
@@ -69,11 +60,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\.
.P
If not set, and a registry response fails with a challenge for a one\-time
password, npm will prompt on the command line for one\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.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 88db2f8116..759da2fd2f 100644
--- a/deps/npm/man/man1/npm-update.1
+++ b/deps/npm/man/man1/npm-update.1
@@ -5,9 +5,9 @@
.P
.RS 2
.nf
-npm update [\-g] [<pkg>\.\.\.]
+npm update [<pkg>\.\.\.]
-aliases: up, upgrade
+aliases: up, upgrade, udpate
.fi
.RE
.SS Description
@@ -159,9 +159,6 @@ need to run \fBnpm install \-g [<pkg>\.\.\.]\fP
NOTE: If a package has been upgraded to a version newer than \fBlatest\fP, it will
be \fIdowngraded\fR\|\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBglobal\fP
.RS 0
.IP \(bu 2
@@ -184,9 +181,6 @@ bin files are linked to \fB{prefix}/bin\fP
man pages are linked to \fB{prefix}/share/man\fP
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBglobal\-style\fP
.RS 0
.IP \(bu 2
@@ -202,9 +196,6 @@ direct dependencies will show in \fBnode_modules\fP and everything they depend
on will be flattened in their \fBnode_modules\fP folders\. This obviously will
eliminate some deduping\. If used with \fBlegacy\-bundling\fP, \fBlegacy\-bundling\fP
will be preferred\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlegacy\-bundling\fP
.RS 0
.IP \(bu 2
@@ -218,9 +209,6 @@ Causes npm to install the package such that versions of npm prior to 1\.4,
such as the one included with node 0\.8, can install the package\. This
eliminates all automatic deduping\. If used with \fBglobal\-style\fP this option
will be preferred\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBstrict\-peer\-deps\fP
.RS 0
.IP \(bu 2
@@ -243,9 +231,6 @@ the range set in their package's \fBpeerDependencies\fP object\.
When such and override is performed, a warning is printed, explaining the
conflict and the packages involved\. If \fB\-\-strict\-peer\-deps\fP is set, then
this warning is treated as a failure\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBpackage\-lock\fP
.RS 0
.IP \(bu 2
@@ -261,9 +246,24 @@ will also prevent \fIwriting\fR \fBpackage\-lock\.json\fP if \fBsave\fP is true\
When package package\-locks are disabled, automatic pruning of extraneous
modules will also be disabled\. To remove extraneous modules with
package\-locks disabled use \fBnpm prune\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
+.P
+This configuration does not affect \fBnpm ci\fP\|\.
+.SS \fBsave\fP
+.RS 0
+.IP \(bu 2
+Default: \fBtrue\fP unless when using \fBnpm update\fP or \fBnpm dedupe\fP where it
+defaults to \fBfalse\fP
+.IP \(bu 2
+Type: Boolean
+.RE
+.P
+Save installed packages to a \fBpackage\.json\fP file as dependencies\.
+.P
+When used with the \fBnpm rm\fP command, removes the dependency from
+\fBpackage\.json\fP\|\.
+.P
+Will also prevent writing to \fBpackage\-lock\.json\fP if set to \fBfalse\fP\|\.
.SS \fBomit\fP
.RS 0
.IP \(bu 2
@@ -285,9 +285,6 @@ it will be included\.
.P
If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment
variable will be set to \fB\|'production'\fP for all lifecycle scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBignore\-scripts\fP
.RS 0
.IP \(bu 2
@@ -303,9 +300,6 @@ Note that commands explicitly intended to run a particular script, such as
\fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP
will still run their intended script if \fBignore\-scripts\fP is set, but they
will \fInot\fR run any pre\- or post\-scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBaudit\fP
.RS 0
.IP \(bu 2
@@ -319,9 +313,6 @@ When "true" submit audit reports alongside the current npm command to the
default registry and all registries configured for scopes\. See the
documentation for npm help \fBaudit\fP for details on what is
submitted\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBbin\-links\fP
.RS 0
.IP \(bu 2
@@ -337,9 +328,6 @@ executables\.
Set to false to have it not do this\. This can be used to work around the
fact that some file systems don't support symlinks, even on ostensibly Unix
systems\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBfund\fP
.RS 0
.IP \(bu 2
@@ -352,9 +340,6 @@ Type: Boolean
When "true" displays the message at the end of each \fBnpm install\fP
acknowledging the number of dependencies looking for funding\. See npm help \fBnpm
fund\fP for details\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdry\-run\fP
.RS 0
.IP \(bu 2
@@ -371,9 +356,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP,
.P
Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP,
\fBowner\fP, etc\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -404,9 +386,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -431,9 +410,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -448,11 +424,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-version.1 b/deps/npm/man/man1/npm-version.1
index 5e7f7d183e..0ec5a5c55c 100644
--- a/deps/npm/man/man1/npm-version.1
+++ b/deps/npm/man/man1/npm-version.1
@@ -5,17 +5,12 @@
.P
.RS 2
.nf
-npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [\-\-preid=<prerelease\-id>] | from\-git]
+npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease | from\-git]
-\|'npm [\-v | \-\-version]' to print npm version
-\|'npm view <pkg> version' to view a package's published version
-\|'npm ls' to inspect current package/dependency versions
+alias: verison
.fi
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBallow\-same\-version\fP
.RS 0
.IP \(bu 2
@@ -27,9 +22,6 @@ Type: Boolean
.P
Prevents throwing an error when \fBnpm version\fP is used to set the new version
to the same value as the current version\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBcommit\-hooks\fP
.RS 0
.IP \(bu 2
@@ -40,9 +32,6 @@ Type: Boolean
.RE
.P
Run git commit hooks when using the \fBnpm version\fP command\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBgit\-tag\-version\fP
.RS 0
.IP \(bu 2
@@ -53,9 +42,6 @@ Type: Boolean
.RE
.P
Tag the commit when using the \fBnpm version\fP command\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBjson\fP
.RS 0
.IP \(bu 2
@@ -74,9 +60,6 @@ saving them to your \fBpackage\.json\fP\|\.
.RE
.P
Not supported by all npm commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBpreid\fP
.RS 0
.IP \(bu 2
@@ -88,9 +71,6 @@ Type: String
.P
The "prerelease identifier" to use as a prefix for the "prerelease" part of
a semver\. Like the \fBrc\fP in \fB1\.2\.0\-rc\.8\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsign\-git\-tag\fP
.RS 0
.IP \(bu 2
@@ -105,9 +85,6 @@ If set to true, then the \fBnpm version\fP command will tag the version using
.P
Note that git requires you to have set up GPG keys in your git configs for
this to work properly\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -138,9 +115,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -165,9 +139,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -182,11 +153,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS Description
.P
Run this in a package directory to bump the version and write the new data
diff --git a/deps/npm/man/man1/npm-view.1 b/deps/npm/man/man1/npm-view.1
index b9239bc5e5..68da4b8aa4 100644
--- a/deps/npm/man/man1/npm-view.1
+++ b/deps/npm/man/man1/npm-view.1
@@ -5,9 +5,9 @@
.P
.RS 2
.nf
-npm view [<@scope>/]<name>[@<version>] [<field>[\.<subfield>]\.\.\.]
+npm view [<@scope>/]<pkg>[@<version>] [<field>[\.subfield]\.\.\.]
-aliases: info, show, v
+aliases: v, info, show
.fi
.RE
.SS Description
@@ -112,9 +112,6 @@ npm view connect versions
.fi
.RE
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBjson\fP
.RS 0
.IP \(bu 2
@@ -133,9 +130,6 @@ saving them to your \fBpackage\.json\fP\|\.
.RE
.P
Not supported by all npm commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -166,9 +160,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -193,9 +184,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -210,11 +198,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS Output
.P
If only a single string field for a single version is output, then it
diff --git a/deps/npm/man/man1/npm-whoami.1 b/deps/npm/man/man1/npm-whoami.1
index c637584728..42135b21cc 100644
--- a/deps/npm/man/man1/npm-whoami.1
+++ b/deps/npm/man/man1/npm-whoami.1
@@ -5,7 +5,7 @@
.P
.RS 2
.nf
-npm whoami [\-\-registry <registry>]
+npm whoami
.fi
.RE
.P
@@ -21,9 +21,6 @@ associated with the token, and print to standard output\.
If logged into a registry that uses Basic Auth, then simply print the
\fBusername\fP portion of the authentication string\.
.SS Configuration
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -34,11 +31,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See Also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1
index 47c78a6959..dfde451990 100644
--- a/deps/npm/man/man1/npm.1
+++ b/deps/npm/man/man1/npm.1
@@ -2,15 +2,9 @@
.SH "NAME"
\fBnpm\fR \- javascript package manager
.SS Synopsis
-.P
-.RS 2
-.nf
-npm <command> [args]
-.fi
-.RE
.SS Version
.P
-8\.5\.1
+8\.5\.2
.SS Description
.P
npm is the package manager for the Node JavaScript platform\. It puts
diff --git a/deps/npm/man/man1/npx.1 b/deps/npm/man/man1/npx.1
index 80b9629e34..e4a29ef653 100644
--- a/deps/npm/man/man1/npx.1
+++ b/deps/npm/man/man1/npx.1
@@ -5,21 +5,10 @@
.P
.RS 2
.nf
-npm exec \-\- <pkg>[@<version>] [args\.\.\.]
-npm exec \-\-package=<pkg>[@<version>] \-\- <cmd> [args\.\.\.]
-npm exec \-c '<cmd> [args\.\.\.]'
-npm exec \-\-package=foo \-c '<cmd> [args\.\.\.]'
-
-npx <pkg>[@<specifier>] [args\.\.\.]
-npx \-p <pkg>[@<specifier>] <cmd> [args\.\.\.]
+npx \-\- <pkg>[@<version>] [args\.\.\.]
+npx \-\-package=<pkg>[@<version>] \-\- <cmd> [args\.\.\.]
npx \-c '<cmd> [args\.\.\.]'
-npx \-p <pkg>[@<specifier>] \-c '<cmd> [args\.\.\.]'
-
-alias: npm x, npx
-
-\-\-package=<pkg> (may be specified multiple times)
-\-p is a shorthand for \-\-package only when using npx executable
-\-c <cmd> \-\-call=<cmd> (may not be mixed with positional arguments)
+npx \-\-package=foo \-c '<cmd> [args\.\.\.]'
.fi
.RE
.SS Description
diff --git a/deps/npm/man/man7/config.7 b/deps/npm/man/man7/config.7
index 6a62b6a3f0..6cd11eb958 100644
--- a/deps/npm/man/man7/config.7
+++ b/deps/npm/man/man7/config.7
@@ -56,9 +56,6 @@ internal to npm, and are defaults if nothing else is specified\.
.SS Shorthands and Other CLI Niceties
.P
The following shorthands are parsed on the command\-line:
-<!\-\- AUTOGENERATED CONFIG SHORTHANDS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.RS 0
.IP \(bu 2
\fB\-a\fP: \fB\-\-all\fP
@@ -140,10 +137,6 @@ The following shorthands are parsed on the command\-line:
\fB\-y\fP: \fB\-\-yes\fP
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-<!\-\- AUTOGENERATED CONFIG SHORTHANDS END \-\->
-
.P
If the specified configuration param resolves unambiguously to a known
configuration parameter, then it is expanded to that configuration
@@ -170,9 +163,6 @@ npm ls \-\-global \-\-parseable \-\-long \-\-loglevel info
.fi
.RE
.SS Config Settings
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\->
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
.SS \fB_auth\fP
.RS 0
.IP \(bu 2
@@ -187,9 +177,6 @@ A basic\-auth string to use when authenticating against the npm registry\.
Warning: This should generally not be set via a command\-line option\. It is
safer to use a registry\-provided authentication bearer token stored in the
~/\.npmrc file by running \fBnpm login\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBaccess\fP
.RS 0
.IP \(bu 2
@@ -209,9 +196,6 @@ the package access level on the initial publish of the package\. Any
subsequent \fBnpm publish\fP commands using the \fB\-\-access\fP flag will not have an
effect to the access level\. To make changes to the access level after the
initial publish use \fBnpm access\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBall\fP
.RS 0
.IP \(bu 2
@@ -224,9 +208,6 @@ Type: Boolean
When running \fBnpm outdated\fP and \fBnpm ls\fP, setting \fB\-\-all\fP will show all
outdated or installed packages, rather than only those directly depended
upon by the current project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBallow\-same\-version\fP
.RS 0
.IP \(bu 2
@@ -238,9 +219,6 @@ Type: Boolean
.P
Prevents throwing an error when \fBnpm version\fP is used to set the new version
to the same value as the current version\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBaudit\fP
.RS 0
.IP \(bu 2
@@ -254,9 +232,6 @@ When "true" submit audit reports alongside the current npm command to the
default registry and all registries configured for scopes\. See the
documentation for npm help \fBaudit\fP for details on what is
submitted\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBaudit\-level\fP
.RS 0
.IP \(bu 2
@@ -268,9 +243,6 @@ Type: null, "info", "low", "moderate", "high", "critical", or "none"
.P
The minimum level of vulnerability for \fBnpm audit\fP to exit with a non\-zero
exit code\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBbefore\fP
.RS 0
.IP \(bu 2
@@ -289,9 +261,6 @@ If the requested version is a \fBdist\-tag\fP and the given tag does not pass th
\fB\-\-before\fP filter, the most recent version less than or equal to that tag
will be used\. For example, \fBfoo@latest\fP might install \fBfoo@1\.2\fP even though
\fBlatest\fP is \fB2\.0\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBbin\-links\fP
.RS 0
.IP \(bu 2
@@ -307,9 +276,6 @@ executables\.
Set to false to have it not do this\. This can be used to work around the
fact that some file systems don't support symlinks, even on ostensibly Unix
systems\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBbrowser\fP
.RS 0
.IP \(bu 2
@@ -325,9 +291,6 @@ Set to \fBfalse\fP to suppress browser behavior and instead print urls to
terminal\.
.P
Set to \fBtrue\fP to use default system URL opener\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBca\fP
.RS 0
.IP \(bu 2
@@ -361,9 +324,6 @@ ca[]="\.\.\."
.RE
.P
See also the \fBstrict\-ssl\fP config\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBcache\fP
.RS 0
.IP \(bu 2
@@ -375,9 +335,6 @@ Type: Path
.P
The location of npm's cache directory\. See npm help \fBnpm
cache\fP
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBcafile\fP
.RS 0
.IP \(bu 2
@@ -390,9 +347,6 @@ Type: Path
A path to a file containing one or multiple Certificate Authority signing
certificates\. Similar to the \fBca\fP setting, but allows for multiple CA's, as
well as for the CA information to be stored in a file on disk\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBcall\fP
.RS 0
.IP \(bu 2
@@ -410,9 +364,6 @@ custom command to be run along with the installed packages\.
npm exec \-\-package yo \-\-package generator\-node \-\-call "yo node"
.fi
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBcert\fP
.RS 0
.IP \(bu 2
@@ -434,9 +385,6 @@ cert="\-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\-\\nXXXX\\nXXXX\\n\-\-\-\-\-END CERTIF
.P
It is \fInot\fR the path to a certificate file (and there is no "certfile"
option)\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBci\-name\fP
.RS 0
.IP \(bu 2
@@ -450,9 +398,6 @@ Type: null or String
The name of a continuous integration system\. If not set explicitly, npm will
detect the current CI environment using the
\fB@npmcli/ci\-detect\fP \fIhttp://npm\.im/@npmcli/ci\-detect\fR module\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBcidr\fP
.RS 0
.IP \(bu 2
@@ -464,9 +409,6 @@ Type: null or String (can be set multiple times)
.P
This is a list of CIDR address to be used when configuring limited access
tokens with the \fBnpm token create\fP command\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBcolor\fP
.RS 0
.IP \(bu 2
@@ -478,9 +420,6 @@ Type: "always" or Boolean
.P
If false, never shows colors\. If \fB"always"\fP then always shows colors\. If
true, then only prints color codes for tty file descriptors\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBcommit\-hooks\fP
.RS 0
.IP \(bu 2
@@ -491,9 +430,6 @@ Type: Boolean
.RE
.P
Run git commit hooks when using the \fBnpm version\fP command\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdepth\fP
.RS 0
.IP \(bu 2
@@ -507,9 +443,6 @@ The depth to go when recursing packages for \fBnpm ls\fP\|\.
.P
If not set, \fBnpm ls\fP will show only the immediate dependencies of the root
project\. If \fB\-\-all\fP is set, then npm will show all dependencies by default\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdescription\fP
.RS 0
.IP \(bu 2
@@ -520,9 +453,6 @@ Type: Boolean
.RE
.P
Show the description in \fBnpm search\fP
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdiff\fP
.RS 0
.IP \(bu 2
@@ -533,9 +463,6 @@ Type: String (can be set multiple times)
.RE
.P
Define arguments to compare in \fBnpm diff\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdiff\-dst\-prefix\fP
.RS 0
.IP \(bu 2
@@ -546,9 +473,6 @@ Type: String
.RE
.P
Destination prefix to be used in \fBnpm diff\fP output\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdiff\-ignore\-all\-space\fP
.RS 0
.IP \(bu 2
@@ -559,9 +483,6 @@ Type: Boolean
.RE
.P
Ignore whitespace when comparing lines in \fBnpm diff\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdiff\-name\-only\fP
.RS 0
.IP \(bu 2
@@ -572,9 +493,6 @@ Type: Boolean
.RE
.P
Prints only filenames when using \fBnpm diff\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdiff\-no\-prefix\fP
.RS 0
.IP \(bu 2
@@ -588,9 +506,6 @@ Do not show any source or destination prefix in \fBnpm diff\fP output\.
.P
Note: this causes \fBnpm diff\fP to ignore the \fB\-\-diff\-src\-prefix\fP and
\fB\-\-diff\-dst\-prefix\fP configs\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdiff\-src\-prefix\fP
.RS 0
.IP \(bu 2
@@ -601,9 +516,6 @@ Type: String
.RE
.P
Source prefix to be used in \fBnpm diff\fP output\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdiff\-text\fP
.RS 0
.IP \(bu 2
@@ -614,9 +526,6 @@ Type: Boolean
.RE
.P
Treat all files as text in \fBnpm diff\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdiff\-unified\fP
.RS 0
.IP \(bu 2
@@ -627,9 +536,6 @@ Type: Number
.RE
.P
The number of lines of context to print in \fBnpm diff\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdry\-run\fP
.RS 0
.IP \(bu 2
@@ -646,9 +552,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP,
.P
Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP,
\fBowner\fP, etc\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBeditor\fP
.RS 0
.IP \(bu 2
@@ -660,9 +563,6 @@ Type: String
.RE
.P
The command to run for \fBnpm edit\fP and \fBnpm config edit\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBengine\-strict\fP
.RS 0
.IP \(bu 2
@@ -677,9 +577,6 @@ installing) any package that claims to not be compatible with the current
Node\.js version\.
.P
This can be overridden by setting the \fB\-\-force\fP flag\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBfetch\-retries\fP
.RS 0
.IP \(bu 2
@@ -694,9 +591,6 @@ from the registry\.
.P
npm will retry idempotent read requests to the registry in the case of
network failures or 5xx HTTP errors\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBfetch\-retry\-factor\fP
.RS 0
.IP \(bu 2
@@ -707,9 +601,6 @@ Type: Number
.RE
.P
The "factor" config for the \fBretry\fP module to use when fetching packages\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBfetch\-retry\-maxtimeout\fP
.RS 0
.IP \(bu 2
@@ -721,9 +612,6 @@ Type: Number
.P
The "maxTimeout" config for the \fBretry\fP module to use when fetching
packages\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBfetch\-retry\-mintimeout\fP
.RS 0
.IP \(bu 2
@@ -735,9 +623,6 @@ Type: Number
.P
The "minTimeout" config for the \fBretry\fP module to use when fetching
packages\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBfetch\-timeout\fP
.RS 0
.IP \(bu 2
@@ -748,9 +633,6 @@ Type: Number
.RE
.P
The maximum amount of time to wait for HTTP requests to complete\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBforce\fP
.RS 0
.IP \(bu 2
@@ -791,9 +673,6 @@ Allow clobbering existing values in \fBnpm pkg\fP
.P
If you don't have a clear idea of what you want to do, it is strongly
recommended that you do not use this option!
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBforeground\-scripts\fP
.RS 0
.IP \(bu 2
@@ -809,9 +688,6 @@ input, output, and error with the main npm process\.
.P
Note that this will generally make installs run slower, and be much noisier,
but can be useful for debugging\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBformat\-package\-lock\fP
.RS 0
.IP \(bu 2
@@ -823,9 +699,6 @@ Type: Boolean
.P
Format \fBpackage\-lock\.json\fP or \fBnpm\-shrinkwrap\.json\fP as a human readable
file\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBfund\fP
.RS 0
.IP \(bu 2
@@ -838,9 +711,6 @@ Type: Boolean
When "true" displays the message at the end of each \fBnpm install\fP
acknowledging the number of dependencies looking for funding\. See npm help \fBnpm
fund\fP for details\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBgit\fP
.RS 0
.IP \(bu 2
@@ -852,9 +722,6 @@ Type: String
.P
The command to use for git commands\. If git is installed on the computer,
but is not in the \fBPATH\fP, then set this to the full path to the git binary\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBgit\-tag\-version\fP
.RS 0
.IP \(bu 2
@@ -865,9 +732,6 @@ Type: Boolean
.RE
.P
Tag the commit when using the \fBnpm version\fP command\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBglobal\fP
.RS 0
.IP \(bu 2
@@ -890,9 +754,6 @@ bin files are linked to \fB{prefix}/bin\fP
man pages are linked to \fB{prefix}/share/man\fP
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBglobal\-style\fP
.RS 0
.IP \(bu 2
@@ -908,9 +769,6 @@ direct dependencies will show in \fBnode_modules\fP and everything they depend
on will be flattened in their \fBnode_modules\fP folders\. This obviously will
eliminate some deduping\. If used with \fBlegacy\-bundling\fP, \fBlegacy\-bundling\fP
will be preferred\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBglobalconfig\fP
.RS 0
.IP \(bu 2
@@ -922,9 +780,6 @@ Type: Path
.RE
.P
The config file to read for global config options\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBheading\fP
.RS 0
.IP \(bu 2
@@ -935,9 +790,6 @@ Type: String
.RE
.P
The string that starts all the debugging log output\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBhttps\-proxy\fP
.RS 0
.IP \(bu 2
@@ -951,9 +803,6 @@ A proxy to use for outgoing https requests\. If the \fBHTTPS_PROXY\fP or
\fBhttps_proxy\fP or \fBHTTP_PROXY\fP or \fBhttp_proxy\fP environment variables are set,
proxy settings will be honored by the underlying \fBmake\-fetch\-happen\fP
library\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBif\-present\fP
.RS 0
.IP \(bu 2
@@ -969,9 +818,6 @@ This option can be used when it's desirable to optionally run a script when
it's present and fail if the script fails\. This is useful, for example, when
running scripts that may only apply for some builds in an otherwise generic
CI setup\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBignore\-scripts\fP
.RS 0
.IP \(bu 2
@@ -987,9 +833,6 @@ Note that commands explicitly intended to run a particular script, such as
\fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP
will still run their intended script if \fBignore\-scripts\fP is set, but they
will \fInot\fR run any pre\- or post\-scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\fP
.RS 0
.IP \(bu 2
@@ -1005,9 +848,6 @@ This is the inverse of \fB\-\-omit=<type>\fP\|\.
.P
Dependency types specified in \fB\-\-include\fP will not be omitted, regardless of
the order in which omit/include are specified on the command\-line\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-staged\fP
.RS 0
.IP \(bu 2
@@ -1021,9 +861,6 @@ Allow installing "staged" published packages, as defined by npm RFC PR
#92 \fIhttps://github\.com/npm/rfcs/pull/92\fR\|\.
.P
This is experimental, and not implemented by the npm public registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinclude\-workspace\-root\fP
.RS 0
.IP \(bu 2
@@ -1038,9 +875,6 @@ Include the workspace root when workspaces are enabled for a command\.
When false, specifying individual workspaces via the \fBworkspace\fP config, or
all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on
the specified workspaces, and not on the root project\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinit\-author\-email\fP
.RS 0
.IP \(bu 2
@@ -1051,9 +885,6 @@ Type: String
.RE
.P
The value \fBnpm init\fP should use by default for the package author's email\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinit\-author\-name\fP
.RS 0
.IP \(bu 2
@@ -1064,9 +895,6 @@ Type: String
.RE
.P
The value \fBnpm init\fP should use by default for the package author's name\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinit\-author\-url\fP
.RS 0
.IP \(bu 2
@@ -1078,9 +906,6 @@ Type: "" or URL
.P
The value \fBnpm init\fP should use by default for the package author's
homepage\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinit\-license\fP
.RS 0
.IP \(bu 2
@@ -1091,9 +916,6 @@ Type: String
.RE
.P
The value \fBnpm init\fP should use by default for the package license\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinit\-module\fP
.RS 0
.IP \(bu 2
@@ -1107,9 +929,6 @@ A module that will be loaded by the \fBnpm init\fP command\. See the
documentation for the
init\-package\-json \fIhttps://github\.com/npm/init\-package\-json\fR module for
more information, or npm help init\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinit\-version\fP
.RS 0
.IP \(bu 2
@@ -1121,9 +940,6 @@ Type: SemVer string
.P
The value that \fBnpm init\fP should use by default for the package version
number, if not already set in package\.json\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBjson\fP
.RS 0
.IP \(bu 2
@@ -1142,9 +958,6 @@ saving them to your \fBpackage\.json\fP\|\.
.RE
.P
Not supported by all npm commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBkey\fP
.RS 0
.IP \(bu 2
@@ -1164,9 +977,6 @@ key="\-\-\-\-\-BEGIN PRIVATE KEY\-\-\-\-\-\\nXXXX\\nXXXX\\n\-\-\-\-\-END PRIVATE
.RE
.P
It is \fInot\fR the path to a key file (and there is no "keyfile" option)\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlegacy\-bundling\fP
.RS 0
.IP \(bu 2
@@ -1180,9 +990,6 @@ Causes npm to install the package such that versions of npm prior to 1\.4,
such as the one included with node 0\.8, can install the package\. This
eliminates all automatic deduping\. If used with \fBglobal\-style\fP this option
will be preferred\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlegacy\-peer\-deps\fP
.RS 0
.IP \(bu 2
@@ -1204,9 +1011,6 @@ This differs from \fB\-\-omit=peer\fP, in that \fB\-\-omit=peer\fP will avoid un
.P
Use of \fBlegacy\-peer\-deps\fP is not recommended, as it will not enforce the
\fBpeerDependencies\fP contract that meta\-dependencies may rely on\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlink\fP
.RS 0
.IP \(bu 2
@@ -1217,9 +1021,6 @@ Type: Boolean
.RE
.P
Used with \fBnpm ls\fP, limiting output to only those packages that are linked\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlocal\-address\fP
.RS 0
.IP \(bu 2
@@ -1231,9 +1032,6 @@ Type: IP Address
.P
The IP address of the local interface to use when making connections to the
npm registry\. Must be IPv4 in versions of Node prior to 0\.12\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlocation\fP
.RS 0
.IP \(bu 2
@@ -1245,9 +1043,6 @@ Type: "global", "user", or "project"
.RE
.P
When passed to \fBnpm config\fP this refers to which config file to use\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlockfile\-version\fP
.RS 0
.IP \(bu 2
@@ -1273,9 +1068,6 @@ and interoperability, at the expense of more bytes on disk\.
3: Only the new lockfile information introduced in npm version 7\. Smaller on
disk than lockfile version 2, but not interoperable with older npm versions\.
Ideal if all users are on npm version 7 and higher\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBloglevel\fP
.RS 0
.IP \(bu 2
@@ -1293,9 +1085,6 @@ Any logs of a higher level than the setting are shown\. The default is
"notice"\.
.P
See also the \fBforeground\-scripts\fP config\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlogs\-max\fP
.RS 0
.IP \(bu 2
@@ -1306,9 +1095,6 @@ Type: Number
.RE
.P
The maximum number of log files to store\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBlong\fP
.RS 0
.IP \(bu 2
@@ -1319,9 +1105,6 @@ Type: Boolean
.RE
.P
Show extended information in \fBls\fP, \fBsearch\fP, and \fBhelp\-search\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBmaxsockets\fP
.RS 0
.IP \(bu 2
@@ -1333,9 +1116,6 @@ Type: Number
.P
The maximum number of connections to use per origin (protocol/host/port
combination)\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBmessage\fP
.RS 0
.IP \(bu 2
@@ -1348,9 +1128,6 @@ Type: String
Commit message which is used by \fBnpm version\fP when creating version commit\.
.P
Any "%s" in the message will be replaced with the version number\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBnode\-options\fP
.RS 0
.IP \(bu 2
@@ -1363,9 +1140,6 @@ Type: null or String
Options to pass through to Node\.js via the \fBNODE_OPTIONS\fP environment
variable\. This does not impact how npm itself is executed but it does impact
how lifecycle scripts are called\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBnode\-version\fP
.RS 0
.IP \(bu 2
@@ -1376,9 +1150,6 @@ Type: SemVer string
.RE
.P
The node version to use when checking a package's \fBengines\fP setting\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBnoproxy\fP
.RS 0
.IP \(bu 2
@@ -1391,9 +1162,6 @@ Type: String (can be set multiple times)
Domain extensions that should bypass any proxies\.
.P
Also accepts a comma\-delimited string\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBnpm\-version\fP
.RS 0
.IP \(bu 2
@@ -1404,9 +1172,6 @@ Type: SemVer string
.RE
.P
The npm version to use when checking a package's \fBengines\fP setting\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBoffline\fP
.RS 0
.IP \(bu 2
@@ -1418,9 +1183,6 @@ Type: Boolean
.P
Force offline mode: no network requests will be done during install\. To
allow the CLI to fill in missing cache data, see \fB\-\-prefer\-offline\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBomit\fP
.RS 0
.IP \(bu 2
@@ -1442,9 +1204,6 @@ it will be included\.
.P
If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment
variable will be set to \fB\|'production'\fP for all lifecycle scripts\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBotp\fP
.RS 0
.IP \(bu 2
@@ -1459,9 +1218,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\.
.P
If not set, and a registry response fails with a challenge for a one\-time
password, npm will prompt on the command line for one\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBpack\-destination\fP
.RS 0
.IP \(bu 2
@@ -1472,9 +1228,6 @@ Type: String
.RE
.P
Directory in which \fBnpm pack\fP will save tarballs\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBpackage\fP
.RS 0
.IP \(bu 2
@@ -1485,9 +1238,6 @@ Type: String (can be set multiple times)
.RE
.P
The package to install for npm help \fBexec\fP
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBpackage\-lock\fP
.RS 0
.IP \(bu 2
@@ -1505,9 +1255,6 @@ modules will also be disabled\. To remove extraneous modules with
package\-locks disabled use \fBnpm prune\fP\|\.
.P
This configuration does not affect \fBnpm ci\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBpackage\-lock\-only\fP
.RS 0
.IP \(bu 2
@@ -1525,9 +1272,6 @@ instead of checking \fBnode_modules\fP and downloading dependencies\.
.P
For \fBlist\fP this means the output will be based on the tree described by the
\fBpackage\-lock\.json\fP, rather than the contents of \fBnode_modules\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBparseable\fP
.RS 0
.IP \(bu 2
@@ -1539,9 +1283,6 @@ Type: Boolean
.P
Output parseable results from commands that write to standard output\. For
\fBnpm search\fP, this will be tab\-separated table format\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBprefer\-offline\fP
.RS 0
.IP \(bu 2
@@ -1554,9 +1295,6 @@ Type: Boolean
If true, staleness checks for cached data will be bypassed, but missing data
will be requested from the server\. To force full offline mode, use
\fB\-\-offline\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBprefer\-online\fP
.RS 0
.IP \(bu 2
@@ -1568,9 +1306,6 @@ Type: Boolean
.P
If true, staleness checks for cached data will be forced, making the CLI
look for updates immediately even for fresh package data\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBprefix\fP
.RS 0
.IP \(bu 2
@@ -1584,9 +1319,6 @@ Type: Path
.P
The location to install global items\. If set on the command line, then it
forces non\-global commands to run in the specified folder\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBpreid\fP
.RS 0
.IP \(bu 2
@@ -1598,9 +1330,6 @@ Type: String
.P
The "prerelease identifier" to use as a prefix for the "prerelease" part of
a semver\. Like the \fBrc\fP in \fB1\.2\.0\-rc\.8\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBprogress\fP
.RS 0
.IP \(bu 2
@@ -1614,9 +1343,6 @@ When set to \fBtrue\fP, npm will display a progress bar during time intensive
operations, if \fBprocess\.stderr\fP is a TTY\.
.P
Set to \fBfalse\fP to suppress the progress bar\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBproxy\fP
.RS 0
.IP \(bu 2
@@ -1629,9 +1355,6 @@ Type: null, false, or URL
A proxy to use for outgoing http requests\. If the \fBHTTP_PROXY\fP or
\fBhttp_proxy\fP environment variables are set, proxy settings will be honored
by the underlying \fBrequest\fP library\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBread\-only\fP
.RS 0
.IP \(bu 2
@@ -1643,9 +1366,6 @@ Type: Boolean
.P
This is used to mark a token as unable to publish when configuring limited
access tokens with the \fBnpm token create\fP command\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBrebuild\-bundle\fP
.RS 0
.IP \(bu 2
@@ -1656,9 +1376,6 @@ Type: Boolean
.RE
.P
Rebuild bundled dependencies after installation\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBregistry\fP
.RS 0
.IP \(bu 2
@@ -1669,9 +1386,6 @@ Type: URL
.RE
.P
The base URL of the npm registry\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsave\fP
.RS 0
.IP \(bu 2
@@ -1688,9 +1402,6 @@ When used with the \fBnpm rm\fP command, removes the dependency from
\fBpackage\.json\fP\|\.
.P
Will also prevent writing to \fBpackage\-lock\.json\fP if set to \fBfalse\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsave\-bundle\fP
.RS 0
.IP \(bu 2
@@ -1705,9 +1416,6 @@ If a package would be saved at install time by the use of \fB\-\-save\fP,
\fBbundleDependencies\fP list\.
.P
Ignored if \fB\-\-save\-peer\fP is set, since peerDependencies cannot be bundled\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsave\-dev\fP
.RS 0
.IP \(bu 2
@@ -1718,9 +1426,6 @@ Type: Boolean
.RE
.P
Save installed packages to a package\.json file as \fBdevDependencies\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsave\-exact\fP
.RS 0
.IP \(bu 2
@@ -1732,9 +1437,6 @@ Type: Boolean
.P
Dependencies saved to package\.json will be configured with an exact version
rather than using npm's default semver range operator\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsave\-optional\fP
.RS 0
.IP \(bu 2
@@ -1745,9 +1447,6 @@ Type: Boolean
.RE
.P
Save installed packages to a package\.json file as \fBoptionalDependencies\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsave\-peer\fP
.RS 0
.IP \(bu 2
@@ -1758,9 +1457,6 @@ Type: Boolean
.RE
.P
Save installed packages to a package\.json file as \fBpeerDependencies\fP
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsave\-prefix\fP
.RS 0
.IP \(bu 2
@@ -1777,9 +1473,6 @@ For example if a package has version \fB1\.2\.3\fP, by default its version is se
to \fB^1\.2\.3\fP which allows minor upgrades for that package, but after \fBnpm
config set save\-prefix='~'\fP it would be set to \fB~1\.2\.3\fP which only allows
patch upgrades\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsave\-prod\fP
.RS 0
.IP \(bu 2
@@ -1795,9 +1488,6 @@ you want to move it to be a non\-optional production dependency\.
.P
This is the default behavior if \fB\-\-save\fP is true, and neither \fB\-\-save\-dev\fP
or \fB\-\-save\-optional\fP are true\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBscope\fP
.RS 0
.IP \(bu 2
@@ -1834,9 +1524,6 @@ This will also cause \fBnpm init\fP to create a scoped package\.
npm init \-\-scope=@foo \-\-yes
.fi
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBscript\-shell\fP
.RS 0
.IP \(bu 2
@@ -1848,9 +1535,6 @@ Type: null or String
.P
The shell to use for scripts run with the \fBnpm exec\fP, \fBnpm run\fP and \fBnpm
init <pkg>\fP commands\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsearchexclude\fP
.RS 0
.IP \(bu 2
@@ -1861,9 +1545,6 @@ Type: String
.RE
.P
Space\-separated options that limit the results from search\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsearchlimit\fP
.RS 0
.IP \(bu 2
@@ -1875,9 +1556,6 @@ Type: Number
.P
Number of items to limit search results to\. Will not apply at all to legacy
searches\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsearchopts\fP
.RS 0
.IP \(bu 2
@@ -1888,9 +1566,6 @@ Type: String
.RE
.P
Space\-separated options that are always passed to search\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsearchstaleness\fP
.RS 0
.IP \(bu 2
@@ -1902,9 +1577,6 @@ Type: Number
.P
The age of the cache, in seconds, before another registry request is made if
using legacy search endpoint\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBshell\fP
.RS 0
.IP \(bu 2
@@ -1916,9 +1588,6 @@ Type: String
.RE
.P
The shell to run for the \fBnpm explore\fP command\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsign\-git\-commit\fP
.RS 0
.IP \(bu 2
@@ -1933,9 +1602,6 @@ version using \fB\-S\fP to add a signature\.
.P
Note that git requires you to have set up GPG keys in your git configs for
this to work properly\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsign\-git\-tag\fP
.RS 0
.IP \(bu 2
@@ -1950,9 +1616,6 @@ If set to true, then the \fBnpm version\fP command will tag the version using
.P
Note that git requires you to have set up GPG keys in your git configs for
this to work properly\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBstrict\-peer\-deps\fP
.RS 0
.IP \(bu 2
@@ -1975,9 +1638,6 @@ the range set in their package's \fBpeerDependencies\fP object\.
When such and override is performed, a warning is printed, explaining the
conflict and the packages involved\. If \fB\-\-strict\-peer\-deps\fP is set, then
this warning is treated as a failure\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBstrict\-ssl\fP
.RS 0
.IP \(bu 2
@@ -1991,9 +1651,6 @@ Whether or not to do SSL key validation when making requests to the registry
via https\.
.P
See also the \fBca\fP config\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBtag\fP
.RS 0
.IP \(bu 2
@@ -2011,9 +1668,6 @@ command, if no explicit tag is given\.
.P
When used by the \fBnpm diff\fP command, this is the tag used to fetch the
tarball that will be compared with the local files by default\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBtag\-version\-prefix\fP
.RS 0
.IP \(bu 2
@@ -2030,9 +1684,6 @@ it to the empty string: \fB""\fP\|\.
Because other tools may rely on the convention that npm version tags look
like \fBv1\.0\.0\fP, \fIonly use this property if it is absolutely necessary\fR\|\. In
particular, use care when overriding this setting for public packages\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBtiming\fP
.RS 0
.IP \(bu 2
@@ -2048,9 +1699,6 @@ successfully\. \fB_timing\.json\fP is a newline delimited list of JSON objects\.
.P
You can quickly view it with this json \fIhttps://npm\.im/json\fR command line:
\fBnpm exec \-\- json \-g < ~/\.npm/_timing\.json\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBumask\fP
.RS 0
.IP \(bu 2
@@ -2074,9 +1722,6 @@ rather adds the \fB\-\-umask\fP config to it\.
Thus, the effective default umask value on most POSIX systems is 0o22,
meaning that folders and executables are created with a mode of 0o755 and
other files are created with a mode of 0o644\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBunicode\fP
.RS 0
.IP \(bu 2
@@ -2089,9 +1734,6 @@ Type: Boolean
.P
When set to true, npm uses unicode characters in the tree output\. When
false, it uses ascii characters instead of unicode glyphs\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBupdate\-notifier\fP
.RS 0
.IP \(bu 2
@@ -2103,9 +1745,6 @@ Type: Boolean
.P
Set to false to suppress the update notification when using an older version
of npm than the latest\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBusage\fP
.RS 0
.IP \(bu 2
@@ -2116,9 +1755,6 @@ Type: Boolean
.RE
.P
Show short usage output about the command specified\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBuser\-agent\fP
.RS 0
.IP \(bu 2
@@ -2148,9 +1784,6 @@ are set\.
an empty string if \fBci\-name\fP is empty\.
.RE
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBuserconfig\fP
.RS 0
.IP \(bu 2
@@ -2165,9 +1798,6 @@ The location of user\-level configuration settings\.
This may be overridden by the \fBnpm_config_userconfig\fP environment variable
or the \fB\-\-userconfig\fP command line option, but may \fInot\fR be overridden by
settings in the \fBglobalconfig\fP file\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBversion\fP
.RS 0
.IP \(bu 2
@@ -2180,9 +1810,6 @@ Type: Boolean
If true, output the npm version and exit successfully\.
.P
Only relevant when specified explicitly on the command line\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBversions\fP
.RS 0
.IP \(bu 2
@@ -2197,9 +1824,6 @@ the version in the current working directory's \fBpackage\.json\fP file if one
exists, and exit successfully\.
.P
Only relevant when specified explicitly on the command line\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBviewer\fP
.RS 0
.IP \(bu 2
@@ -2212,9 +1836,6 @@ Type: String
The program to use to view help content\.
.P
Set to \fB"browser"\fP to view html help content in the default web browser\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBwhich\fP
.RS 0
.IP \(bu 2
@@ -2225,9 +1846,6 @@ Type: null or Number
.RE
.P
If there are multiple funding sources, which 1\-indexed source URL to open\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspace\fP
.RS 0
.IP \(bu 2
@@ -2258,9 +1876,6 @@ workspace which does not yet exist, to create the folder and set it up as a
brand new workspace within the project\.
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBworkspaces\fP
.RS 0
.IP \(bu 2
@@ -2285,9 +1900,6 @@ other things (test, exec, publish, etc\.) will operate on the root project,
.RE
.P
This value is not exported to the environment for child processes\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fByes\fP
.RS 0
.IP \(bu 2
@@ -2299,9 +1911,6 @@ Type: null or Boolean
.P
Automatically answer "yes" to any prompts that npm might print on the
command line\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBalso\fP
.RS 0
.IP \(bu 2
@@ -2314,9 +1923,6 @@ DEPRECATED: Please use \-\-include=dev instead\.
.RE
.P
When set to \fBdev\fP or \fBdevelopment\fP, this is an alias for \fB\-\-include=dev\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBauth\-type\fP
.RS 0
.IP \(bu 2
@@ -2330,9 +1936,6 @@ in a future version of npm in favor of web\-based login\.
.RE
.P
What authentication strategy to use with \fBadduser\fP/\fBlogin\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBcache\-max\fP
.RS 0
.IP \(bu 2
@@ -2345,9 +1948,6 @@ DEPRECATED: This option has been deprecated in favor of \fB\-\-prefer\-online\fP
.RE
.P
\fB\-\-cache\-max=0\fP is an alias for \fB\-\-prefer\-online\fP
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBcache\-min\fP
.RS 0
.IP \(bu 2
@@ -2360,9 +1960,6 @@ DEPRECATED: This option has been deprecated in favor of \fB\-\-prefer\-offline\f
.RE
.P
\fB\-\-cache\-min=9999 (or bigger)\fP is an alias for \fB\-\-prefer\-offline\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBdev\fP
.RS 0
.IP \(bu 2
@@ -2375,9 +1972,6 @@ DEPRECATED: Please use \-\-include=dev instead\.
.RE
.P
Alias for \fB\-\-include=dev\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinit\.author\.email\fP
.RS 0
.IP \(bu 2
@@ -2390,9 +1984,6 @@ DEPRECATED: Use \fB\-\-init\-author\-email\fP instead\.
.RE
.P
Alias for \fB\-\-init\-author\-email\fP
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinit\.author\.name\fP
.RS 0
.IP \(bu 2
@@ -2405,9 +1996,6 @@ DEPRECATED: Use \fB\-\-init\-author\-name\fP instead\.
.RE
.P
Alias for \fB\-\-init\-author\-name\fP
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinit\.author\.url\fP
.RS 0
.IP \(bu 2
@@ -2420,9 +2008,6 @@ DEPRECATED: Use \fB\-\-init\-author\-url\fP instead\.
.RE
.P
Alias for \fB\-\-init\-author\-url\fP
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinit\.license\fP
.RS 0
.IP \(bu 2
@@ -2435,9 +2020,6 @@ DEPRECATED: Use \fB\-\-init\-license\fP instead\.
.RE
.P
Alias for \fB\-\-init\-license\fP
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinit\.module\fP
.RS 0
.IP \(bu 2
@@ -2450,9 +2032,6 @@ DEPRECATED: Use \fB\-\-init\-module\fP instead\.
.RE
.P
Alias for \fB\-\-init\-module\fP
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBinit\.version\fP
.RS 0
.IP \(bu 2
@@ -2465,9 +2044,6 @@ DEPRECATED: Use \fB\-\-init\-version\fP instead\.
.RE
.P
Alias for \fB\-\-init\-version\fP
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBonly\fP
.RS 0
.IP \(bu 2
@@ -2480,9 +2056,6 @@ DEPRECATED: Use \fB\-\-omit=dev\fP to omit dev dependencies from the install\.
.RE
.P
When set to \fBprod\fP or \fBproduction\fP, this is an alias for \fB\-\-omit=dev\fP\|\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBoptional\fP
.RS 0
.IP \(bu 2
@@ -2498,9 +2071,6 @@ DEPRECATED: Use \fB\-\-omit=optional\fP to exclude optional dependencies, or
Default value does install optional deps unless otherwise omitted\.
.P
Alias for \-\-include=optional or \-\-omit=optional
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBproduction\fP
.RS 0
.IP \(bu 2
@@ -2513,9 +2083,6 @@ DEPRECATED: Use \fB\-\-omit=dev\fP instead\.
.RE
.P
Alias for \fB\-\-omit=dev\fP
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBshrinkwrap\fP
.RS 0
.IP \(bu 2
@@ -2528,9 +2095,6 @@ DEPRECATED: Use the \-\-package\-lock setting instead\.
.RE
.P
Alias for \-\-package\-lock
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsso\-poll\-frequency\fP
.RS 0
.IP \(bu 2
@@ -2545,9 +2109,6 @@ future version of npm in favor of web\-based login\.
.P
When used with SSO\-enabled \fBauth\-type\fPs, configures how regularly the
registry should be polled while the user is completing authentication\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBsso\-type\fP
.RS 0
.IP \(bu 2
@@ -2561,9 +2122,6 @@ future version of npm in favor of web\-based login\.
.RE
.P
If \fB\-\-auth\-type=sso\fP, the type of SSO type to use\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-
.SS \fBtmp\fP
.RS 0
.IP \(bu 2
@@ -2580,10 +2138,6 @@ special location in the cache, and they are managed by
.P
Historically, the location where temporary files were stored\. No longer
relevant\.
-<!\-\- automatically generated, do not edit manually \-\->
-<!\-\- see lib/utils/config/definitions\.js \-\->
-<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\->
-
.SS See also
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man7/scripts.7 b/deps/npm/man/man7/scripts.7
index 8190c97cba..42f6c9393a 100644
--- a/deps/npm/man/man7/scripts.7
+++ b/deps/npm/man/man7/scripts.7
@@ -443,6 +443,12 @@ for anything else\. You should almost never have to explicitly set a
preinstall or install script\. If you are doing this, please consider if
there is another option\. The only valid use of \fBinstall\fP or \fBpreinstall\fP
scripts is for compilation which must be done on the target architecture\.
+.IP \(bu 2
+Scripts are run from the root of the package folder, regardless of what the
+current working directory is when \fBnpm\fP is invoked\. If you want your
+script to use different behavior based on what subdirectory you're in, you
+can use the \fBINIT_CWD\fP environment variable, which holds the full path you
+were in when you ran \fBnpm run\fP\|\.
.RE
.SS See Also
diff --git a/deps/npm/node_modules/@npmcli/arborist/README.md b/deps/npm/node_modules/@npmcli/arborist/README.md
index 8722b7a43c..ee79a3bf2f 100644
--- a/deps/npm/node_modules/@npmcli/arborist/README.md
+++ b/deps/npm/node_modules/@npmcli/arborist/README.md
@@ -333,3 +333,13 @@ pruning nodes from the tree.
Note: `devOptional` is only set in the shrinkwrap/package-lock file if
_neither_ `dev` nor `optional` are set, as it would be redundant.
+
+## BIN
+
+Arborist ships with a cli that can be used to run arborist specific commands outside of the context of the npm CLI. This script is currently not part of the public API and is subject to breaking changes outside of major version bumps.
+
+To see the usage run:
+
+```
+npx @npmcli/arborist --help
+```
diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/actual.js b/deps/npm/node_modules/@npmcli/arborist/bin/actual.js
index eb0495997a..866b2cd82f 100644
--- a/deps/npm/node_modules/@npmcli/arborist/bin/actual.js
+++ b/deps/npm/node_modules/@npmcli/arborist/bin/actual.js
@@ -1,23 +1,19 @@
const Arborist = require('../')
-const print = require('./lib/print-tree.js')
-const options = require('./lib/options.js')
-require('./lib/logging.js')
-require('./lib/timers.js')
-const start = process.hrtime()
-new Arborist(options).loadActual(options).then(tree => {
- const end = process.hrtime(start)
- if (!process.argv.includes('--quiet')) {
- print(tree)
- }
+const printTree = require('./lib/print-tree.js')
- console.error(`read ${tree.inventory.size} deps in ${end[0] * 1000 + end[1] / 1e6}ms`)
- if (options.save) {
- tree.meta.save()
- }
- if (options.saveHidden) {
- tree.meta.hiddenLockfile = true
- tree.meta.filename = options.path + '/node_modules/.package-lock.json'
- tree.meta.save()
- }
-}).catch(er => console.error(er))
+module.exports = (options, time) => new Arborist(options)
+ .loadActual(options)
+ .then(time)
+ .then(async ({ timing, result: tree }) => {
+ printTree(tree)
+ if (options.save) {
+ await tree.meta.save()
+ }
+ if (options.saveHidden) {
+ tree.meta.hiddenLockfile = true
+ tree.meta.filename = options.path + '/node_modules/.package-lock.json'
+ await tree.meta.save()
+ }
+ return `read ${tree.inventory.size} deps in ${timing.ms}`
+ })
diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/audit.js b/deps/npm/node_modules/@npmcli/arborist/bin/audit.js
index d9ac532d3e..0e32833d4a 100644
--- a/deps/npm/node_modules/@npmcli/arborist/bin/audit.js
+++ b/deps/npm/node_modules/@npmcli/arborist/bin/audit.js
@@ -1,19 +1,17 @@
const Arborist = require('../')
-const print = require('./lib/print-tree.js')
-const options = require('./lib/options.js')
-require('./lib/timers.js')
-require('./lib/logging.js')
+const printTree = require('./lib/print-tree.js')
+const log = require('./lib/logging.js')
const Vuln = require('../lib/vuln.js')
const printReport = report => {
for (const vuln of report.values()) {
- console.log(printVuln(vuln))
+ log.info(printVuln(vuln))
}
if (report.topVulns.size) {
- console.log('\n# top-level vulnerabilities')
+ log.info('\n# top-level vulnerabilities')
for (const vuln of report.topVulns.values()) {
- console.log(printVuln(vuln))
+ log.info(printVuln(vuln))
}
}
}
@@ -33,22 +31,21 @@ const printVuln = vuln => {
const printAdvisory = a => `${a.title}${a.url ? ' ' + a.url : ''}`
-const start = process.hrtime()
-process.emit('time', 'audit script')
-const arb = new Arborist(options)
-arb.audit(options).then(tree => {
- process.emit('timeEnd', 'audit script')
- const end = process.hrtime(start)
- if (options.fix) {
- print(tree)
- }
- if (!options.quiet) {
- printReport(arb.auditReport)
- }
- if (options.fix) {
- console.error(`resolved ${tree.inventory.size} deps in ${end[0] + end[1] / 1e9}s`)
- }
- if (tree.meta && options.save) {
- tree.meta.save()
- }
-}).catch(er => console.error(er))
+module.exports = (options, time) => {
+ const arb = new Arborist(options)
+ return arb
+ .audit(options)
+ .then(time)
+ .then(async ({ timing, result: tree }) => {
+ if (options.fix) {
+ printTree(tree)
+ }
+ printReport(arb.auditReport)
+ if (tree.meta && options.save) {
+ await tree.meta.save()
+ }
+ return options.fix
+ ? `resolved ${tree.inventory.size} deps in ${timing.seconds}`
+ : `done in ${timing.seconds}`
+ })
+}
diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/funding.js b/deps/npm/node_modules/@npmcli/arborist/bin/funding.js
index d0f4f31654..cf25976d94 100644
--- a/deps/npm/node_modules/@npmcli/arborist/bin/funding.js
+++ b/deps/npm/node_modules/@npmcli/arborist/bin/funding.js
@@ -1,34 +1,38 @@
-const options = require('./lib/options.js')
-require('./lib/logging.js')
-require('./lib/timers.js')
-
const Arborist = require('../')
-const a = new Arborist(options)
-const query = options._.shift()
-const start = process.hrtime()
-a.loadVirtual().then(tree => {
- // only load the actual tree if the virtual one doesn't have modern metadata
- if (!tree.meta || !(tree.meta.originalLockfileVersion >= 2)) {
- console.error('old metadata, load actual')
- throw 'load actual'
- } else {
- console.error('meta ok, return virtual tree')
- return tree
- }
-}).catch(() => a.loadActual()).then(tree => {
- const end = process.hrtime(start)
- if (!query) {
- for (const node of tree.inventory.values()) {
- if (node.package.funding) {
- console.log(node.name, node.location, node.package.funding)
+
+const log = require('./lib/logging.js')
+
+module.exports = (options, time) => {
+ const query = options._.shift()
+ const a = new Arborist(options)
+ return a
+ .loadVirtual()
+ .then(tree => {
+ // only load the actual tree if the virtual one doesn't have modern metadata
+ if (!tree.meta || !(tree.meta.originalLockfileVersion >= 2)) {
+ log.error('old metadata, load actual')
+ throw 'load actual'
+ } else {
+ log.error('meta ok, return virtual tree')
+ return tree
}
- }
- } else {
- for (const node of tree.inventory.query('name', query)) {
- if (node.package.funding) {
- console.log(node.name, node.location, node.package.funding)
+ })
+ .catch(() => a.loadActual())
+ .then(time)
+ .then(({ timing, result: tree }) => {
+ if (!query) {
+ for (const node of tree.inventory.values()) {
+ if (node.package.funding) {
+ log.info(node.name, node.location, node.package.funding)
+ }
+ }
+ } else {
+ for (const node of tree.inventory.query('name', query)) {
+ if (node.package.funding) {
+ log.info(node.name, node.location, node.package.funding)
+ }
+ }
}
- }
- }
- console.error(`read ${tree.inventory.size} deps in ${end[0] * 1000 + end[1] / 1e6}ms`)
-})
+ return `read ${tree.inventory.size} deps in ${timing.ms}`
+ })
+}
diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/ideal.js b/deps/npm/node_modules/@npmcli/arborist/bin/ideal.js
index 5d1ed0dcd9..1dd206e81f 100644
--- a/deps/npm/node_modules/@npmcli/arborist/bin/ideal.js
+++ b/deps/npm/node_modules/@npmcli/arborist/bin/ideal.js
@@ -1,21 +1,14 @@
const Arborist = require('../')
-const { inspect } = require('util')
-const options = require('./lib/options.js')
-const print = require('./lib/print-tree.js')
-require('./lib/logging.js')
-require('./lib/timers.js')
+const printTree = require('./lib/print-tree.js')
-const start = process.hrtime()
-new Arborist(options).buildIdealTree(options).then(tree => {
- const end = process.hrtime(start)
- print(tree)
- console.error(`resolved ${tree.inventory.size} deps in ${end[0] + end[1] / 10e9}s`)
- if (tree.meta && options.save) {
- tree.meta.save()
- }
-}).catch(er => {
- const opt = { depth: Infinity, color: true }
- console.error(er.code === 'ERESOLVE' ? inspect(er, opt) : er)
- process.exitCode = 1
-})
+module.exports = (options, time) => new Arborist(options)
+ .buildIdealTree(options)
+ .then(time)
+ .then(async ({ timing, result: tree }) => {
+ printTree(tree)
+ if (tree.meta && options.save) {
+ await tree.meta.save()
+ }
+ return `resolved ${tree.inventory.size} deps in ${timing.seconds}`
+ })
diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/index.js b/deps/npm/node_modules/@npmcli/arborist/bin/index.js
index 5449a50e67..0c1e984453 100755
--- a/deps/npm/node_modules/@npmcli/arborist/bin/index.js
+++ b/deps/npm/node_modules/@npmcli/arborist/bin/index.js
@@ -1,81 +1,110 @@
#!/usr/bin/env node
-const [cmd] = process.argv.splice(2, 1)
-const usage = () => `Arborist - the npm tree doctor
+const fs = require('fs')
+const path = require('path')
-Version: ${require('../package.json').version}
+const { bin, arb: options } = require('./lib/options')
+const version = require('../package.json').version
+const usage = (message = '') => `Arborist - the npm tree doctor
+
+Version: ${version}
+${message && '\n' + message + '\n'}
# USAGE
arborist <cmd> [path] [options...]
# COMMANDS
-* reify: reify ideal tree to node_modules (install, update, rm, ...)
-* prune: prune the ideal tree and reify (like npm prune)
-* ideal: generate and print the ideal tree
-* actual: read and print the actual tree in node_modules
-* virtual: read and print the virtual tree in the local shrinkwrap file
-* shrinkwrap: load a local shrinkwrap and print its data
-* audit: perform a security audit on project dependencies
-* funding: query funding information in the local package tree. A second
- positional argument after the path name can limit to a package name.
-* license: query license information in the local package tree. A second
- positional argument after the path name can limit to a license type.
-* help: print this text
+ * reify: reify ideal tree to node_modules (install, update, rm, ...)
+ * prune: prune the ideal tree and reify (like npm prune)
+ * ideal: generate and print the ideal tree
+ * actual: read and print the actual tree in node_modules
+ * virtual: read and print the virtual tree in the local shrinkwrap file
+ * shrinkwrap: load a local shrinkwrap and print its data
+ * audit: perform a security audit on project dependencies
+ * funding: query funding information in the local package tree. A second
+ positional argument after the path name can limit to a package name.
+ * license: query license information in the local package tree. A second
+ positional argument after the path name can limit to a license type.
+ * help: print this text
+ * version: print the version
# OPTIONS
-Most npm options are supported, but in camelCase rather than css-case. For
-example, instead of '--dry-run', use '--dryRun'.
+ Most npm options are supported, but in camelCase rather than css-case. For
+ example, instead of '--dry-run', use '--dryRun'.
-Additionally:
+ Additionally:
-* --quiet will supppress the printing of package trees
-* Instead of 'npm install <pkg>', use 'arborist reify --add=<pkg>'.
- The '--add=<pkg>' option can be specified multiple times.
-* Instead of 'npm rm <pkg>', use 'arborist reify --rm=<pkg>'.
- The '--rm=<pkg>' option can be specified multiple times.
-* Instead of 'npm update', use 'arborist reify --update-all'.
-* 'npm audit fix' is 'arborist audit --fix'
+ * --loglevel=warn|--quiet will supppress the printing of package trees
+ * --logfile <file|bool> will output logs to a file
+ * --timing will show timing information
+ * Instead of 'npm install <pkg>', use 'arborist reify --add=<pkg>'.
+ The '--add=<pkg>' option can be specified multiple times.
+ * Instead of 'npm rm <pkg>', use 'arborist reify --rm=<pkg>'.
+ The '--rm=<pkg>' option can be specified multiple times.
+ * Instead of 'npm update', use 'arborist reify --update-all'.
+ * 'npm audit fix' is 'arborist audit --fix'
`
-const help = () => console.log(usage())
-
-switch (cmd) {
- case 'actual':
- require('./actual.js')
- break
- case 'virtual':
- require('./virtual.js')
- break
- case 'ideal':
- require('./ideal.js')
- break
- case 'prune':
- require('./prune.js')
- break
- case 'reify':
- require('./reify.js')
- break
- case 'audit':
- require('./audit.js')
- break
- case 'funding':
- require('./funding.js')
- break
- case 'license':
- require('./license.js')
- break
- case 'shrinkwrap':
- require('./shrinkwrap.js')
- break
- case 'help':
- case '-h':
- case '--help':
- help()
- break
- default:
+const commands = {
+ version: () => console.log(version),
+ help: () => console.log(usage()),
+ exit: () => {
process.exitCode = 1
- console.error(usage())
- break
+ console.error(
+ usage(`Error: command '${bin.command}' does not exist.`)
+ )
+ },
+}
+
+const commandFiles = fs.readdirSync(__dirname).filter((f) => path.extname(f) === '.js' && f !== __filename)
+
+for (const file of commandFiles) {
+ const command = require(`./${file}`)
+ const name = path.basename(file, '.js')
+ const totalTime = `bin:${name}:init`
+ const scriptTime = `bin:${name}:script`
+
+ commands[name] = () => {
+ const timers = require('./lib/timers')
+ const log = require('./lib/logging')
+
+ log.info(name, options)
+
+ process.emit('time', totalTime)
+ process.emit('time', scriptTime)
+
+ return command(options, (result) => {
+ process.emit('timeEnd', scriptTime)
+ return {
+ result,
+ timing: {
+ seconds: `${timers.get(scriptTime) / 1e9}s`,
+ ms: `${timers.get(scriptTime) / 1e6}ms`,
+ },
+ }
+ })
+ .then((result) => {
+ log.info(result)
+ return result
+ })
+ .catch((err) => {
+ process.exitCode = 1
+ log.error(err)
+ return err
+ })
+ .then((r) => {
+ process.emit('timeEnd', totalTime)
+ if (bin.loglevel !== 'silent') {
+ console[process.exitCode ? 'error' : 'log'](r)
+ }
+ })
+ }
+}
+
+if (commands[bin.command]) {
+ commands[bin.command]()
+} else {
+ commands.exit()
}
diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/lib/logging.js b/deps/npm/node_modules/@npmcli/arborist/bin/lib/logging.js
index 8183ece1fd..8b04d6370e 100644
--- a/deps/npm/node_modules/@npmcli/arborist/bin/lib/logging.js
+++ b/deps/npm/node_modules/@npmcli/arborist/bin/lib/logging.js
@@ -1,42 +1,78 @@
-const options = require('./options.js')
-const { quiet = false } = options
-const { loglevel = quiet ? 'warn' : 'silly' } = options
+const log = require('proc-log')
+const mkdirp = require('mkdirp')
+const fs = require('fs')
+const { dirname } = require('path')
+const os = require('os')
+const { inspect, format } = require('util')
+
+const { bin: options } = require('./options.js')
-const levels = [
+// add a meta method to proc-log for passing optional
+// metadata through to log handlers
+const META = Symbol('meta')
+const parseArgs = (...args) => {
+ const { [META]: isMeta } = args[args.length - 1] || {}
+ return isMeta
+ ? [args[args.length - 1], ...args.slice(0, args.length - 1)]
+ : [{}, ...args]
+}
+log.meta = (meta = {}) => ({ [META]: true, ...meta })
+
+const levels = new Map([
'silly',
'verbose',
'info',
- 'timing',
'http',
'notice',
'warn',
'error',
'silent',
-]
+].map((level, index) => [level, index]))
-const levelMap = new Map(levels.reduce((set, level, index) => {
- set.push([level, index], [index, level])
- return set
-}, []))
+const addLogListener = (write, { eol = os.EOL, loglevel = 'silly', colors = false } = {}) => {
+ const levelIndex = levels.get(loglevel)
-const { inspect, format } = require('util')
-const colors = process.stderr.isTTY
-const magenta = colors ? msg => `\x1B[35m${msg}\x1B[39m` : m => m
-if (loglevel !== 'silent') {
- process.on('log', (level, ...args) => {
- if (levelMap.get(level) < levelMap.get(loglevel)) {
- return
+ const magenta = m => colors ? `\x1B[35m${m}\x1B[39m` : m
+ const dim = m => colors ? `\x1B[2m${m}\x1B[22m` : m
+ const red = m => colors ? `\x1B[31m${m}\x1B[39m` : m
+
+ const formatter = (level, ...args) => {
+ const depth = level === 'error' && args[0] && args[0].code === 'ERESOLVE' ? Infinity : 10
+
+ if (level === 'info' && args[0] === 'timeEnd') {
+ args[1] = dim(args[1])
+ } else if (level === 'error' && args[0] === 'timeError') {
+ args[1] = red(args[1])
}
+
+ const messages = args.map(a => typeof a === 'string' ? a : inspect(a, { depth, colors }))
const pref = `${process.pid} ${magenta(level)} `
- if (level === 'warn' && args[0] === 'ERESOLVE') {
- args[2] = inspect(args[2], { depth: 10, colors })
- } else {
- args = args.map(a => {
- return typeof a === 'string' ? a
- : inspect(a, { depth: 10, colors })
- })
+
+ return pref + format(...messages).trim().split('\n').join(`${eol}${pref}`) + eol
+ }
+
+ process.on('log', (...args) => {
+ const [meta, level, ...logArgs] = parseArgs(...args)
+
+ if (levelIndex <= levels.get(level) || meta.force) {
+ write(formatter(level, ...logArgs))
}
- const msg = pref + format(...args).trim().split('\n').join(`\n${pref}`)
- console.error(msg)
})
}
+
+if (options.loglevel !== 'silent') {
+ addLogListener((v) => process.stderr.write(v), {
+ eol: '\n',
+ colors: options.colors,
+ loglevel: options.loglevel,
+ })
+}
+
+if (options.logfile) {
+ log.silly('logfile', options.logfile)
+ mkdirp.sync(dirname(options.logfile))
+ const fd = fs.openSync(options.logfile, 'a')
+ addLogListener((str) => fs.writeSync(fd, str))
+}
+
+module.exports = log
diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/lib/options.js b/deps/npm/node_modules/@npmcli/arborist/bin/lib/options.js
index 23e89ddce6..8dbaf13dac 100644
--- a/deps/npm/node_modules/@npmcli/arborist/bin/lib/options.js
+++ b/deps/npm/node_modules/@npmcli/arborist/bin/lib/options.js
@@ -1,59 +1,123 @@
-const options = module.exports = {
- path: undefined,
- cache: `${process.env.HOME}/.npm/_cacache`,
- _: [],
+const nopt = require('nopt')
+const path = require('path')
+
+const has = (o, k) => Object.prototype.hasOwnProperty.call(o, k)
+
+const cleanPath = (val) => {
+ const k = Symbol('key')
+ const data = {}
+ nopt.typeDefs.path.validate(data, k, val)
+ return data[k]
}
-for (const arg of process.argv.slice(2)) {
- if (/^--add=/.test(arg)) {
- options.add = options.add || []
- options.add.push(arg.substr('--add='.length))
- } else if (/^--rm=/.test(arg)) {
- options.rm = options.rm || []
- options.rm.push(arg.substr('--rm='.length))
- } else if (arg === '--global') {
- options.global = true
- } else if (arg === '--global-style') {
- options.globalStyle = true
- } else if (arg === '--prefer-dedupe') {
- options.preferDedupe = true
- } else if (arg === '--legacy-peer-deps') {
- options.legacyPeerDeps = true
- } else if (arg === '--force') {
- options.force = true
- } else if (arg === '--update-all') {
- options.update = options.update || {}
- options.update.all = true
- } else if (/^--update=/.test(arg)) {
- options.update = options.update || {}
- options.update.names = options.update.names || []
- options.update.names.push(arg.substr('--update='.length))
- } else if (/^--omit=/.test(arg)) {
- options.omit = options.omit || []
- options.omit.push(arg.substr('--omit='.length))
- } else if (/^--before=/.test(arg)) {
- options.before = new Date(arg.substr('--before='.length))
- } else if (/^-w.+/.test(arg)) {
- options.workspaces = options.workspaces || []
- options.workspaces.push(arg.replace(/^-w/, ''))
- } else if (/^--workspace=/.test(arg)) {
- options.workspaces = options.workspaces || []
- options.workspaces.push(arg.replace(/^--workspace=/, ''))
- } else if (/^--[^=]+=/.test(arg)) {
- const [key, ...v] = arg.replace(/^--/, '').split('=')
- const val = v.join('=')
- options[key] = val === 'false' ? false : val === 'true' ? true : val
- } else if (/^--.+/.test(arg)) {
- options[arg.replace(/^--/, '')] = true
- } else if (options.path === undefined) {
- options.path = arg
- } else {
- options._.push(arg)
+const parse = (...noptArgs) => {
+ const binOnlyOpts = {
+ command: String,
+ loglevel: String,
+ colors: Boolean,
+ timing: ['always', Boolean],
+ logfile: String,
+ }
+
+ const arbOpts = {
+ add: Array,
+ rm: Array,
+ omit: Array,
+ update: Array,
+ workspaces: Array,
+ global: Boolean,
+ force: Boolean,
+ 'global-style': Boolean,
+ 'prefer-dedupe': Boolean,
+ 'legacy-peer-deps': Boolean,
+ 'update-all': Boolean,
+ before: Date,
+ path: path,
+ cache: path,
+ ...binOnlyOpts,
+ }
+
+ const short = {
+ quiet: ['--loglevel', 'warn'],
+ logs: ['--logfile', 'true'],
+ w: '--workspaces',
+ g: '--global',
+ f: '--force',
+ }
+
+ const defaults = {
+ // key order is important for command and path
+ // since they shift positional args
+ // command is 1st, path is 2nd
+ command: (o) => o.argv.remain.shift(),
+ path: (o) => cleanPath(o.argv.remain.shift() || '.'),
+ colors: has(process.env, 'NO_COLOR') ? false : !!process.stderr.isTTY,
+ loglevel: 'silly',
+ timing: (o) => o.loglevel === 'silly',
+ cache: `${process.env.HOME}/.npm/_cacache`,
+ }
+
+ const derived = [
+ // making update either `all` or an array of names but not both
+ ({ updateAll: all, update: names, ...o }) => {
+ if (all || names) {
+ o.update = all != null ? { all } : { names }
+ }
+ return o
+ },
+ ({ logfile, ...o }) => {
+ // logfile is parsed as a string so if its true or set but empty
+ // then set the default logfile
+ if (logfile === 'true' || logfile === '') {
+ logfile = `arb-log-${new Date().toISOString().replace(/[.:]/g, '_')}.log`
+ }
+ // then parse it the same as nopt parses other paths
+ if (logfile) {
+ o.logfile = cleanPath(logfile)
+ }
+ return o
+ },
+ ]
+
+ const transforms = [
+ // Camelcase all top level keys
+ (o) => {
+ const entries = Object.entries(o).map(([k, v]) => [
+ k.replace(/-./g, s => s[1].toUpperCase()),
+ v,
+ ])
+ return Object.fromEntries(entries)
+ },
+ // Set defaults on unset keys
+ (o) => {
+ for (const [k, v] of Object.entries(defaults)) {
+ if (!has(o, k)) {
+ o[k] = typeof v === 'function' ? v(o) : v
+ }
+ }
+ return o
+ },
+ // Set/unset derived values
+ ...derived.map((derive) => (o) => derive(o) || o),
+ // Separate bin and arborist options
+ ({ argv: { remain: _ }, ...o }) => {
+ const bin = { _ }
+ for (const k of Object.keys(binOnlyOpts)) {
+ if (has(o, k)) {
+ bin[k] = o[k]
+ delete o[k]
+ }
+ }
+ return { bin, arb: o }
+ },
+ ]
+
+ let options = nopt(arbOpts, short, ...noptArgs)
+ for (const t of transforms) {
+ options = t(options)
}
-}
-if (options.path === undefined) {
- options.path = '.'
+ return options
}
-console.error(options)
+module.exports = parse()
diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/lib/print-tree.js b/deps/npm/node_modules/@npmcli/arborist/bin/lib/print-tree.js
index 1ea2a72187..55398190b9 100644
--- a/deps/npm/node_modules/@npmcli/arborist/bin/lib/print-tree.js
+++ b/deps/npm/node_modules/@npmcli/arborist/bin/lib/print-tree.js
@@ -1,5 +1,4 @@
const { inspect } = require('util')
-const { quiet } = require('./options.js')
+const log = require('./logging.js')
-module.exports = quiet ? () => {}
- : tree => console.log(inspect(tree.toJSON(), { depth: Infinity }))
+module.exports = tree => log.info(inspect(tree.toJSON(), { depth: Infinity }))
diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/lib/timers.js b/deps/npm/node_modules/@npmcli/arborist/bin/lib/timers.js
index 242431980e..586dee7806 100644
--- a/deps/npm/node_modules/@npmcli/arborist/bin/lib/timers.js
+++ b/deps/npm/node_modules/@npmcli/arborist/bin/lib/timers.js
@@ -1,31 +1,33 @@
-const timers = Object.create(null)
-const { format } = require('util')
-const options = require('./options.js')
+const { bin: options } = require('./options.js')
+const log = require('./logging.js')
+
+const timers = new Map()
+const finished = new Map()
process.on('time', name => {
- if (timers[name]) {
+ if (timers.has(name)) {
throw new Error('conflicting timer! ' + name)
}
- timers[name] = process.hrtime()
+ timers.set(name, process.hrtime.bigint())
})
-const dim = process.stderr.isTTY ? msg => `\x1B[2m${msg}\x1B[22m` : m => m
-const red = process.stderr.isTTY ? msg => `\x1B[31m${msg}\x1B[39m` : m => m
process.on('timeEnd', name => {
- if (!timers[name]) {
+ if (!timers.has(name)) {
throw new Error('timer not started! ' + name)
}
- const res = process.hrtime(timers[name])
- delete timers[name]
- const msg = format(`${process.pid} ${name}`, res[0] * 1e3 + res[1] / 1e6)
- if (options.timers !== false) {
- console.error(dim(msg))
+ const elapsed = Number(process.hrtime.bigint() - timers.get(name))
+ timers.delete(name)
+ finished.set(name, elapsed)
+ if (options.timing) {
+ log.info('timeEnd', `${name} ${elapsed / 1e9}s`, log.meta({ force: options.timing === 'always' }))
}
})
process.on('exit', () => {
- for (const name of Object.keys(timers)) {
- console.error(red('Dangling timer:'), name)
+ for (const name of timers.keys()) {
+ log.error('timeError', 'Dangling timer:', name)
process.exitCode = 1
}
})
+
+module.exports = finished
diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/license.js b/deps/npm/node_modules/@npmcli/arborist/bin/license.js
index 7fc08dd83e..77d5796793 100644
--- a/deps/npm/node_modules/@npmcli/arborist/bin/license.js
+++ b/deps/npm/node_modules/@npmcli/arborist/bin/license.js
@@ -1,38 +1,48 @@
+const localeCompare = require('@isaacs/string-locale-compare')('en')
const Arborist = require('../')
-const options = require('./lib/options.js')
-require('./lib/logging.js')
-require('./lib/timers.js')
+const log = require('./lib/logging.js')
-const a = new Arborist(options)
-const query = options._.shift()
+module.exports = (options, time) => {
+ const query = options._.shift()
+ const a = new Arborist(options)
+ return a
+ .loadVirtual()
+ .then(tree => {
+ // only load the actual tree if the virtual one doesn't have modern metadata
+ if (!tree.meta || !(tree.meta.originalLockfileVersion >= 2)) {
+ throw 'load actual'
+ } else {
+ return tree
+ }
+ }).catch((er) => {
+ log.error('loading actual tree', er)
+ return a.loadActual()
+ })
+ .then(time)
+ .then(({ result: tree }) => {
+ const output = []
+ if (!query) {
+ const set = []
+ for (const license of tree.inventory.query('license')) {
+ set.push([tree.inventory.query('license', license).size, license])
+ }
-a.loadVirtual().then(tree => {
- // only load the actual tree if the virtual one doesn't have modern metadata
- if (!tree.meta || !(tree.meta.originalLockfileVersion >= 2)) {
- throw 'load actual'
- } else {
- return tree
- }
-}).catch((er) => {
- console.error('loading actual tree', er)
- return a.loadActual()
-}).then(tree => {
- if (!query) {
- const set = []
- for (const license of tree.inventory.query('license')) {
- set.push([tree.inventory.query('license', license).size, license])
- }
+ for (const [count, license] of set.sort((a, b) =>
+ a[1] && b[1] ? b[0] - a[0] || localeCompare(a[1], b[1])
+ : a[1] ? -1
+ : b[1] ? 1
+ : 0)) {
+ output.push(`${count} ${license}`)
+ log.info(count, license)
+ }
+ } else {
+ for (const node of tree.inventory.query('license', query === 'undefined' ? undefined : query)) {
+ const msg = `${node.name} ${node.location} ${node.package.description || ''}`
+ output.push(msg)
+ log.info(msg)
+ }
+ }
- for (const [count, license] of set.sort((a, b) =>
- a[1] && b[1] ? b[0] - a[0] || a[1].localeCompare(b[1], 'en')
- : a[1] ? -1
- : b[1] ? 1
- : 0)) {
- console.log(count, license)
- }
- } else {
- for (const node of tree.inventory.query('license', query === 'undefined' ? undefined : query)) {
- console.log(`${node.name} ${node.location} ${node.package.description || ''}`)
- }
- }
-})
+ return output.join('\n')
+ })
+}
diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/prune.js b/deps/npm/node_modules/@npmcli/arborist/bin/prune.js
index e11858c209..3c52bc13af 100644
--- a/deps/npm/node_modules/@npmcli/arborist/bin/prune.js
+++ b/deps/npm/node_modules/@npmcli/arborist/bin/prune.js
@@ -1,9 +1,7 @@
const Arborist = require('../')
-const options = require('./lib/options.js')
-const print = require('./lib/print-tree.js')
-require('./lib/logging.js')
-require('./lib/timers.js')
+const printTree = require('./lib/print-tree.js')
+const log = require('./lib/logging.js')
const printDiff = diff => {
const { depth } = require('treeverse')
@@ -15,13 +13,13 @@ const printDiff = diff => {
}
switch (d.action) {
case 'REMOVE':
- console.error('REMOVE', d.actual.location)
+ log.info('REMOVE', d.actual.location)
break
case 'ADD':
- console.error('ADD', d.ideal.location, d.ideal.resolved)
+ log.info('ADD', d.ideal.location, d.ideal.resolved)
break
case 'CHANGE':
- console.error('CHANGE', d.actual.location, {
+ log.info('CHANGE', d.actual.location, {
from: d.actual.resolved,
to: d.ideal.resolved,
})
@@ -32,18 +30,19 @@ const printDiff = diff => {
})
}
-const start = process.hrtime()
-process.emit('time', 'install')
-const arb = new Arborist(options)
-arb.prune(options).then(tree => {
- process.emit('timeEnd', 'install')
- const end = process.hrtime(start)
- print(tree)
- if (options.dryRun) {
- printDiff(arb.diff)
- }
- console.error(`resolved ${tree.inventory.size} deps in ${end[0] + end[1] / 1e9}s`)
- if (tree.meta && options.save) {
- tree.meta.save()
- }
-}).catch(er => console.error(require('util').inspect(er, { depth: Infinity })))
+module.exports = (options, time) => {
+ const arb = new Arborist(options)
+ return arb
+ .prune(options)
+ .then(time)
+ .then(async ({ timing, result: tree }) => {
+ printTree(tree)
+ if (options.dryRun) {
+ printDiff(arb.diff)
+ }
+ if (tree.meta && options.save) {
+ await tree.meta.save()
+ }
+ return `resolved ${tree.inventory.size} deps in ${timing.seconds}`
+ })
+}
diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/reify.js b/deps/npm/node_modules/@npmcli/arborist/bin/reify.js
index 9dc26d2b96..3f3aafe8ab 100644
--- a/deps/npm/node_modules/@npmcli/arborist/bin/reify.js
+++ b/deps/npm/node_modules/@npmcli/arborist/bin/reify.js
@@ -1,9 +1,7 @@
const Arborist = require('../')
-const options = require('./lib/options.js')
-const print = require('./lib/print-tree.js')
-require('./lib/logging.js')
-require('./lib/timers.js')
+const printTree = require('./lib/print-tree.js')
+const log = require('./lib/logging.js')
const printDiff = diff => {
const { depth } = require('treeverse')
@@ -15,13 +13,13 @@ const printDiff = diff => {
}
switch (d.action) {
case 'REMOVE':
- console.error('REMOVE', d.actual.location)
+ log.info('REMOVE', d.actual.location)
break
case 'ADD':
- console.error('ADD', d.ideal.location, d.ideal.resolved)
+ log.info('ADD', d.ideal.location, d.ideal.resolved)
break
case 'CHANGE':
- console.error('CHANGE', d.actual.location, {
+ log.info('CHANGE', d.actual.location, {
from: d.actual.resolved,
to: d.ideal.resolved,
})
@@ -32,18 +30,19 @@ const printDiff = diff => {
})
}
-const start = process.hrtime()
-process.emit('time', 'install')
-const arb = new Arborist(options)
-arb.reify(options).then(tree => {
- process.emit('timeEnd', 'install')
- const end = process.hrtime(start)
- print(tree)
- if (options.dryRun) {
- printDiff(arb.diff)
- }
- console.error(`resolved ${tree.inventory.size} deps in ${end[0] + end[1] / 1e9}s`)
- if (tree.meta && options.save) {
- tree.meta.save()
- }
-}).catch(er => console.error(require('util').inspect(er, { depth: Infinity })))
+module.exports = (options, time) => {
+ const arb = new Arborist(options)
+ return arb
+ .reify(options)
+ .then(time)
+ .then(async ({ timing, result: tree }) => {
+ printTree(tree)
+ if (options.dryRun) {
+ printDiff(arb.diff)
+ }
+ if (tree.meta && options.save) {
+ await tree.meta.save()
+ }
+ return `resolved ${tree.inventory.size} deps in ${timing.seconds}`
+ })
+}
diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/shrinkwrap.js b/deps/npm/node_modules/@npmcli/arborist/bin/shrinkwrap.js
index b40416b7b9..56603224e9 100644
--- a/deps/npm/node_modules/@npmcli/arborist/bin/shrinkwrap.js
+++ b/deps/npm/node_modules/@npmcli/arborist/bin/shrinkwrap.js
@@ -1,12 +1,7 @@
const Shrinkwrap = require('../lib/shrinkwrap.js')
-const options = require('./lib/options.js')
-require('./lib/logging.js')
-require('./lib/timers.js')
-const { quiet } = options
-Shrinkwrap.load(options)
- .then(s => quiet || console.log(JSON.stringify(s.commit(), 0, 2)))
- .catch(er => {
- console.error('shrinkwrap load failure', er)
- process.exit(1)
- })
+module.exports = (options, time) => Shrinkwrap
+ .load(options)
+ .then((s) => s.commit())
+ .then(time)
+ .then(({ result: s }) => JSON.stringify(s, 0, 2))
diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/virtual.js b/deps/npm/node_modules/@npmcli/arborist/bin/virtual.js
index 457c945e72..95b1de282e 100644
--- a/deps/npm/node_modules/@npmcli/arborist/bin/virtual.js
+++ b/deps/npm/node_modules/@npmcli/arborist/bin/virtual.js
@@ -1,18 +1,14 @@
const Arborist = require('../')
-const print = require('./lib/print-tree.js')
-const options = require('./lib/options.js')
-require('./lib/logging.js')
-require('./lib/timers.js')
+const printTree = require('./lib/print-tree.js')
-const start = process.hrtime()
-new Arborist(options).loadVirtual().then(tree => {
- const end = process.hrtime(start)
- if (!options.quiet) {
- print(tree)
- }
- if (options.save) {
- tree.meta.save()
- }
- console.error(`read ${tree.inventory.size} deps in ${end[0] * 1000 + end[1] / 1e6}ms`)
-}).catch(er => console.error(er))
+module.exports = (options, time) => new Arborist(options)
+ .loadVirtual()
+ .then(time)
+ .then(async ({ timing, result: tree }) => {
+ printTree(tree)
+ if (options.save) {
+ await tree.meta.save()
+ }
+ return `read ${tree.inventory.size} deps in ${timing.ms}`
+ })
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/add-rm-pkg-deps.js b/deps/npm/node_modules/@npmcli/arborist/lib/add-rm-pkg-deps.js
index ae813186fb..f59df359e9 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/add-rm-pkg-deps.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/add-rm-pkg-deps.js
@@ -1,10 +1,11 @@
// add and remove dependency specs to/from pkg manifest
+const log = require('proc-log')
const localeCompare = require('@isaacs/string-locale-compare')('en')
-const add = ({ pkg, add, saveBundle, saveType, log }) => {
+const add = ({ pkg, add, saveBundle, saveType }) => {
for (const spec of add) {
- addSingle({ pkg, spec, saveBundle, saveType, log })
+ addSingle({ pkg, spec, saveBundle, saveType })
}
return pkg
@@ -20,7 +21,7 @@ const saveTypeMap = new Map([
['peer', 'peerDependencies'],
])
-const addSingle = ({ pkg, spec, saveBundle, saveType, log }) => {
+const addSingle = ({ pkg, spec, saveBundle, saveType }) => {
const { name, rawSpec } = spec
// if the user does not give us a type, we infer which type(s)
@@ -34,19 +35,19 @@ const addSingle = ({ pkg, spec, saveBundle, saveType, log }) => {
if (saveType === 'prod') {
// a production dependency can only exist as production (rpj ensures it
// doesn't coexist w/ optional)
- deleteSubKey(pkg, 'devDependencies', name, 'dependencies', log)
- deleteSubKey(pkg, 'peerDependencies', name, 'dependencies', log)
+ deleteSubKey(pkg, 'devDependencies', name, 'dependencies')
+ deleteSubKey(pkg, 'peerDependencies', name, 'dependencies')
} else if (saveType === 'dev') {
// a dev dependency may co-exist as peer, or optional, but not production
- deleteSubKey(pkg, 'dependencies', name, 'devDependencies', log)
+ deleteSubKey(pkg, 'dependencies', name, 'devDependencies')
} else if (saveType === 'optional') {
// an optional dependency may co-exist as dev (rpj ensures it doesn't
// coexist w/ prod)
- deleteSubKey(pkg, 'peerDependencies', name, 'optionalDependencies', log)
+ deleteSubKey(pkg, 'peerDependencies', name, 'optionalDependencies')
} else { // peer or peerOptional is all that's left
// a peer dependency may coexist as dev
- deleteSubKey(pkg, 'dependencies', name, 'peerDependencies', log)
- deleteSubKey(pkg, 'optionalDependencies', name, 'peerDependencies', log)
+ deleteSubKey(pkg, 'dependencies', name, 'peerDependencies')
+ deleteSubKey(pkg, 'optionalDependencies', name, 'peerDependencies')
}
const depType = saveTypeMap.get(saveType)
@@ -108,9 +109,9 @@ const hasSubKey = (pkg, depType, name) => {
}
// Removes a subkey and warns about it if it's being replaced
-const deleteSubKey = (pkg, depType, name, replacedBy, log) => {
+const deleteSubKey = (pkg, depType, name, replacedBy) => {
if (hasSubKey(pkg, depType, name)) {
- if (replacedBy && log) {
+ if (replacedBy) {
log.warn('idealTree', `Removing ${depType}.${name} in favor of ${replacedBy}.${name}`)
}
delete pkg[depType][name]
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
index b7bc56f3e9..3f001f9e9e 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js
@@ -14,6 +14,7 @@ const fs = require('fs')
const lstat = promisify(fs.lstat)
const readlink = promisify(fs.readlink)
const { depth } = require('treeverse')
+const log = require('proc-log')
const {
OK,
@@ -248,7 +249,7 @@ module.exports = cls => class IdealTreeBuilder extends cls {
try {
c()
} catch (er) {
- this.log.warn(er.code, er.message, {
+ log.warn(er.code, er.message, {
package: er.pkgid,
required: er.required,
current: er.current,
@@ -532,7 +533,6 @@ Try using the package name instead, e.g:
saveBundle,
saveType,
path: this.path,
- log: this.log,
})
})
}
@@ -602,7 +602,7 @@ Try using the package name instead, e.g:
// be printed by npm-audit-report as if they can be fixed, because
// they can't.
if (bundler) {
- this.log.warn(`audit fix ${node.name}@${node.version}`,
+ log.warn(`audit fix ${node.name}@${node.version}`,
`${node.location}\nis a bundled dependency of\n${
bundler.name}@${bundler.version} at ${bundler.location}\n` +
'It cannot be fixed automatically.\n' +
@@ -637,14 +637,14 @@ Try using the package name instead, e.g:
if (!node.isProjectRoot && !node.isWorkspace) {
// not something we're going to fix, sorry. have to cd into
// that directory and fix it yourself.
- this.log.warn('audit', 'Manual fix required in linked project ' +
+ log.warn('audit', 'Manual fix required in linked project ' +
`at ./${node.location} for ${name}@${simpleRange}.\n` +
`'cd ./${node.location}' and run 'npm audit' for details.`)
continue
}
if (!fixAvailable) {
- this.log.warn('audit', `No fix available for ${name}@${simpleRange}`)
+ log.warn('audit', `No fix available for ${name}@${simpleRange}`)
continue
}
@@ -652,7 +652,7 @@ Try using the package name instead, e.g:
const breakingMessage = isSemVerMajor
? 'a SemVer major change'
: 'outside your stated dependency range'
- this.log.warn('audit', `Updating ${name} to ${version},` +
+ log.warn('audit', `Updating ${name} to ${version},` +
`which is ${breakingMessage}.`)
await this[_add](node, { add: [`${name}@${version}`] })
@@ -727,7 +727,7 @@ Try using the package name instead, e.g:
const heading = ancient ? 'ancient lockfile' : 'old lockfile'
if (ancient || !this.options.lockfileVersion ||
this.options.lockfileVersion >= defaultLockfileVersion) {
- this.log.warn(heading,
+ log.warn(heading,
`
The ${meta.type} file was created with an old version of npm,
so supplemental metadata must be fetched from the registry.
@@ -744,7 +744,7 @@ This is a one-time fix-up, please be patient...
}
queue.push(async () => {
- this.log.silly('inflate', node.location)
+ log.silly('inflate', node.location)
const { resolved, version, path, name, location, integrity } = node
// don't try to hit the registry for linked deps
const useResolved = resolved && (
@@ -753,8 +753,7 @@ This is a one-time fix-up, please be patient...
const id = useResolved ? resolved
: version || `file:${node.path}`
const spec = npa.resolve(name, id, dirname(path))
- const sloc = location.substr('node_modules/'.length)
- const t = `idealTree:inflate:${sloc}`
+ const t = `idealTree:inflate:${location}`
this.addTracker(t)
await pacote.manifest(spec, {
...this.options,
@@ -765,7 +764,7 @@ This is a one-time fix-up, please be patient...
node.package = { ...mani, _id: `${mani.name}@${mani.version}` }
}).catch((er) => {
const warning = `Could not fetch metadata for ${name}@${id}`
- this.log.warn(heading, warning, er)
+ log.warn(heading, warning, er)
})
this.finishTracker(t)
})
@@ -794,7 +793,7 @@ This is a one-time fix-up, please be patient...
this[_depsQueue].push(tree)
// XXX also push anything that depends on a node with a name
// in the override list
- this.log.silly('idealTree', 'buildDeps')
+ log.silly('idealTree', 'buildDeps')
this.addTracker('idealTree', tree.name, '')
return this[_buildDepStep]()
.then(() => process.emit('timeEnd', 'idealTree:buildDeps'))
@@ -1233,7 +1232,7 @@ This is a one-time fix-up, please be patient...
if (this[_manifests].has(spec.raw)) {
return this[_manifests].get(spec.raw)
} else {
- this.log.silly('fetch manifest', spec.raw)
+ log.silly('fetch manifest', spec.raw)
const p = pacote.manifest(spec, options)
.then(mani => {
this[_manifests].set(spec.raw, mani)
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/index.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/index.js
index de625e9b76..cb6ef1e0c2 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/index.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/index.js
@@ -28,7 +28,6 @@
const { resolve } = require('path')
const { homedir } = require('os')
-const procLog = require('proc-log')
const { depth } = require('treeverse')
const { saveTypeMap } = require('../add-rm-pkg-deps.js')
@@ -74,7 +73,6 @@ class Arborist extends Base {
path: options.path || '.',
cache: options.cache || `${homedir()}/.npm/_cacache`,
packumentCache: options.packumentCache || new Map(),
- log: options.log || procLog,
workspacesEnabled: options.workspacesEnabled !== false,
lockfileVersion: lockfileVersion(options.lockfileVersion),
}
@@ -94,7 +92,7 @@ class Arborist extends Base {
// returns an array of the actual nodes for all the workspaces
workspaceNodes (tree, workspaces) {
- return getWorkspaceNodes(tree, workspaces, this.log)
+ return getWorkspaceNodes(tree, workspaces)
}
// returns a set of workspace nodes and all their deps
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/rebuild.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/rebuild.js
index 1a05e52735..09b4419f5b 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/rebuild.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/rebuild.js
@@ -13,6 +13,7 @@ const {
isNodeGypPackage,
defaultGypInstallScript,
} = require('@npmcli/node-gyp')
+const log = require('proc-log')
const boolEnv = b => b ? '1' : ''
const sortNodes = (a, b) =>
@@ -297,7 +298,7 @@ module.exports = cls => class Builder extends cls {
const timer = `build:run:${event}:${location}`
process.emit('time', timer)
- this.log.info('run', pkg._id, event, location, pkg.scripts[event])
+ log.info('run', pkg._id, event, location, pkg.scripts[event])
const env = {
npm_package_resolved: resolved,
npm_package_integrity: integrity,
@@ -319,7 +320,7 @@ module.exports = cls => class Builder extends cls {
}
const p = runScript(runOpts).catch(er => {
const { code, signal } = er
- this.log.info('run', pkg._id, event, { code, signal })
+ log.info('run', pkg._id, event, { code, signal })
throw er
}).then(({ args, code, signal, stdout, stderr }) => {
this.scriptsRun.add({
@@ -333,7 +334,7 @@ module.exports = cls => class Builder extends cls {
stdout,
stderr,
})
- this.log.info('run', pkg._id, event, { code, signal })
+ log.info('run', pkg._id, event, { code, signal })
})
await (this[_doHandleOptionalFailure]
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js
index 91507fd791..4bc1c7ee4e 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js
@@ -8,6 +8,7 @@ const npa = require('npm-package-arg')
const semver = require('semver')
const debug = require('../debug.js')
const walkUp = require('walk-up-path')
+const log = require('proc-log')
const { dirname, resolve, relative } = require('path')
const { depth: dfwalk } = require('treeverse')
@@ -390,7 +391,7 @@ module.exports = cls => class Reifier extends cls {
[_addNodeToTrashList] (node, retire = false) {
const paths = [node.path, ...node.binPaths]
const moves = this[_retiredPaths]
- this.log.silly('reify', 'mark', retire ? 'retired' : 'deleted', paths)
+ log.silly('reify', 'mark', retire ? 'retired' : 'deleted', paths)
for (const path of paths) {
if (retire) {
const retired = retirePath(path)
@@ -413,7 +414,7 @@ module.exports = cls => class Reifier extends cls {
this[_addNodeToTrashList](diff.actual, true)
}
}
- this.log.silly('reify', 'moves', moves)
+ log.silly('reify', 'moves', moves)
const movePromises = Object.entries(moves)
.map(([from, to]) => this[_renamePath](from, to))
return promiseAllRejectLate(movePromises)
@@ -532,7 +533,7 @@ module.exports = cls => class Reifier extends cls {
return promiseAllRejectLate(unlinks)
.then(() => {
if (failures.length) {
- this.log.warn('cleanup', 'Failed to remove some directories', failures)
+ log.warn('cleanup', 'Failed to remove some directories', failures)
}
})
.then(() => process.emit('timeEnd', 'reify:rollback:createSparse'))
@@ -624,7 +625,7 @@ module.exports = cls => class Reifier extends cls {
this[_nmValidated].add(nm)
return
}
- this.log.warn('reify', 'Removing non-directory', nm)
+ log.warn('reify', 'Removing non-directory', nm)
await rimraf(nm)
}
@@ -647,8 +648,8 @@ module.exports = cls => class Reifier extends cls {
'please re-try this operation once it completes\n' +
'so that the damage can be corrected, or perform\n' +
'a fresh install with no lockfile if the problem persists.'
- this.log.warn('reify', warning)
- this.log.verbose('reify', 'unrecognized node in tree', node.path)
+ log.warn('reify', warning)
+ log.verbose('reify', 'unrecognized node in tree', node.path)
node.parent = null
node.fsParent = null
this[_addNodeToTrashList](node)
@@ -691,7 +692,7 @@ module.exports = cls => class Reifier extends cls {
[_warnDeprecated] (node) {
const { _id, deprecated } = node.package
if (deprecated) {
- this.log.warn('deprecated', `${_id}: ${deprecated}`)
+ log.warn('deprecated', `${_id}: ${deprecated}`)
}
}
@@ -701,7 +702,7 @@ module.exports = cls => class Reifier extends cls {
return (node.optional ? p.catch(er => {
const set = optionalSet(node)
for (node of set) {
- this.log.verbose('reify', 'failed optional dependency', node.path)
+ log.verbose('reify', 'failed optional dependency', node.path)
this[_addNodeToTrashList](node)
}
}) : p).then(() => node)
@@ -716,7 +717,7 @@ module.exports = cls => class Reifier extends cls {
// Shrinkwrap and Node classes carefully, so for now, just treat
// the default reg as the magical animal that it has been.
return resolved && resolved
- .replace(/^https?:\/\/registry.npmjs.org\//, this.registry)
+ .replace(/^https?:\/\/registry\.npmjs\.org\//, this.registry)
}
// bundles are *sort of* like shrinkwraps, in that the branch is defined
@@ -1129,7 +1130,7 @@ module.exports = cls => class Reifier extends cls {
return promiseAllRejectLate(promises).then(() => {
if (failures.length) {
- this.log.warn('cleanup', 'Failed to remove some directories', failures)
+ log.warn('cleanup', 'Failed to remove some directories', failures)
}
})
.then(() => process.emit('timeEnd', 'reify:trash'))
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/audit-report.js b/deps/npm/node_modules/@npmcli/arborist/lib/audit-report.js
index b7d8249b12..4dc6dd177c 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/audit-report.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/audit-report.js
@@ -13,7 +13,7 @@ const _fixAvailable = Symbol('fixAvailable')
const _checkTopNode = Symbol('checkTopNode')
const _init = Symbol('init')
const _omit = Symbol('omit')
-const procLog = require('proc-log')
+const log = require('proc-log')
const fetch = require('npm-registry-fetch')
@@ -98,14 +98,13 @@ class AuditReport extends Map {
this.calculator = new Calculator(opts)
this.error = null
this.options = opts
- this.log = opts.log || procLog
this.tree = tree
this.filterSet = opts.filterSet
}
async run () {
this.report = await this[_getReport]()
- this.log.silly('audit report', this.report)
+ log.silly('audit report', this.report)
if (this.report) {
await this[_init]()
}
@@ -313,7 +312,7 @@ class AuditReport extends Map {
try {
// first try the super fast bulk advisory listing
const body = prepareBulkData(this.tree, this[_omit], this.filterSet)
- this.log.silly('audit', 'bulk request', body)
+ log.silly('audit', 'bulk request', body)
// no sense asking if we don't have anything to audit,
// we know it'll be empty
@@ -331,7 +330,7 @@ class AuditReport extends Map {
return await res.json()
} catch (er) {
- this.log.silly('audit', 'bulk request failed', String(er.body))
+ log.silly('audit', 'bulk request failed', String(er.body))
// that failed, try the quick audit endpoint
const body = prepareData(this.tree, this.options)
const res = await fetch('/-/npm/v1/security/audits/quick', {
@@ -344,8 +343,8 @@ class AuditReport extends Map {
return AuditReport.auditToBulk(await res.json())
}
} catch (er) {
- this.log.verbose('audit error', er)
- this.log.silly('audit error', String(er.body))
+ log.verbose('audit error', er)
+ log.silly('audit error', String(er.body))
this.error = er
return null
} finally {
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/get-workspace-nodes.js b/deps/npm/node_modules/@npmcli/arborist/lib/get-workspace-nodes.js
index 6db489f69c..91002dab57 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/get-workspace-nodes.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/get-workspace-nodes.js
@@ -1,7 +1,10 @@
// Get the actual nodes corresponding to a root node's child workspaces,
// given a list of workspace names.
+
+const log = require('proc-log')
const relpath = require('./relpath.js')
-const getWorkspaceNodes = (tree, workspaces, log) => {
+
+const getWorkspaceNodes = (tree, workspaces) => {
const wsMap = tree.workspaces
if (!wsMap) {
log.warn('workspaces', 'filter set, but no workspaces present')
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/shrinkwrap.js b/deps/npm/node_modules/@npmcli/arborist/lib/shrinkwrap.js
index bb6971f7ad..ead9aed364 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/shrinkwrap.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/shrinkwrap.js
@@ -33,7 +33,7 @@ const mismatch = (a, b) => a && b && a !== b
// After calling this.commit(), any nodes not present in the tree will have
// been removed from the shrinkwrap data as well.
-const procLog = require('proc-log')
+const log = require('proc-log')
const YarnLock = require('./yarn-lock.js')
const { promisify } = require('util')
const rimraf = promisify(require('rimraf'))
@@ -80,8 +80,8 @@ const swKeyOrder = [
]
// used to rewrite from yarn registry to npm registry
-const yarnRegRe = /^https?:\/\/registry.yarnpkg.com\//
-const npmRegRe = /^https?:\/\/registry.npmjs.org\//
+const yarnRegRe = /^https?:\/\/registry\.yarnpkg\.com\//
+const npmRegRe = /^https?:\/\/registry\.npmjs\.org\//
// sometimes resolved: is weird or broken, or something npa can't handle
const specFromResolved = resolved => {
@@ -329,14 +329,12 @@ class Shrinkwrap {
newline = '\n',
shrinkwrapOnly = false,
hiddenLockfile = false,
- log = procLog,
lockfileVersion,
} = options
this.lockfileVersion = hiddenLockfile ? 3
: lockfileVersion ? parseInt(lockfileVersion, 10)
: null
- this.log = log
this[_awaitingUpdate] = new Map()
this.tree = null
this.path = resolve(path || '.')
@@ -479,9 +477,9 @@ class Shrinkwrap {
/* istanbul ignore else */
if (typeof this.filename === 'string') {
const rel = relpath(this.path, this.filename)
- this.log.verbose('shrinkwrap', `failed to load ${rel}`, er)
+ log.verbose('shrinkwrap', `failed to load ${rel}`, er)
} else {
- this.log.verbose('shrinkwrap', `failed to load ${this.path}`, er)
+ log.verbose('shrinkwrap', `failed to load ${this.path}`, er)
}
this.loadingError = er
this.loadedFromDisk = false
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/tracker.js b/deps/npm/node_modules/@npmcli/arborist/lib/tracker.js
index b50f06eaa5..c2a456e483 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/tracker.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/tracker.js
@@ -1,20 +1,14 @@
const _progress = Symbol('_progress')
const _onError = Symbol('_onError')
-const procLog = require('proc-log')
+const npmlog = require('npmlog')
module.exports = cls => class Tracker extends cls {
constructor (options = {}) {
super(options)
- this.log = options.log || procLog
this[_progress] = new Map()
}
addTracker (section, subsection = null, key = null) {
- // TrackerGroup type object not found
- if (!this.log.newGroup) {
- return
- }
-
if (section === null || section === undefined) {
this[_onError](`Tracker can't be null or undefined`)
}
@@ -31,13 +25,13 @@ module.exports = cls => class Tracker extends cls {
this[_onError](`Tracker "${section}" already exists`)
} else if (!hasTracker && subsection === null) {
// 1. no existing tracker, no subsection
- // Create a new tracker from this.log
+ // Create a new tracker from npmlog
// starts progress bar
if (this[_progress].size === 0) {
- this.log.enableProgress()
+ npmlog.enableProgress()
}
- this[_progress].set(section, this.log.newGroup(section))
+ this[_progress].set(section, npmlog.newGroup(section))
} else if (!hasTracker && subsection !== null) {
// 2. no parent tracker and subsection
this[_onError](`Parent tracker "${section}" does not exist`)
@@ -53,11 +47,6 @@ module.exports = cls => class Tracker extends cls {
}
finishTracker (section, subsection = null, key = null) {
- // TrackerGroup type object not found
- if (!this.log.newGroup) {
- return
- }
-
if (section === null || section === undefined) {
this[_onError](`Tracker can't be null or undefined`)
}
@@ -88,7 +77,7 @@ module.exports = cls => class Tracker extends cls {
// remove progress bar if all
// trackers are finished
if (this[_progress].size === 0) {
- this.log.disableProgress()
+ npmlog.disableProgress()
}
} else if (!hasTracker && subsection === null) {
// 1. no existing parent tracker, no subsection
@@ -103,7 +92,7 @@ module.exports = cls => class Tracker extends cls {
}
[_onError] (msg) {
- this.log.disableProgress()
+ npmlog.disableProgress()
throw new Error(msg)
}
}
diff --git a/deps/npm/node_modules/@npmcli/arborist/package.json b/deps/npm/node_modules/@npmcli/arborist/package.json
index a915c9d8b1..520c457487 100644
--- a/deps/npm/node_modules/@npmcli/arborist/package.json
+++ b/deps/npm/node_modules/@npmcli/arborist/package.json
@@ -1,17 +1,17 @@
{
"name": "@npmcli/arborist",
- "version": "4.3.1",
+ "version": "5.0.0",
"description": "Manage node_modules trees",
"dependencies": {
"@isaacs/string-locale-compare": "^1.1.0",
"@npmcli/installed-package-contents": "^1.0.7",
"@npmcli/map-workspaces": "^2.0.0",
- "@npmcli/metavuln-calculator": "^2.0.0",
+ "@npmcli/metavuln-calculator": "^3.0.0",
"@npmcli/move-file": "^1.1.0",
"@npmcli/name-from-folder": "^1.0.1",
"@npmcli/node-gyp": "^1.0.3",
"@npmcli/package-json": "^1.0.1",
- "@npmcli/run-script": "^2.0.0",
+ "@npmcli/run-script": "^3.0.0",
"bin-links": "^3.0.0",
"cacache": "^15.0.3",
"common-ancestor-path": "^1.0.1",
@@ -19,13 +19,15 @@
"json-stringify-nice": "^1.1.4",
"mkdirp": "^1.0.4",
"mkdirp-infer-owner": "^2.0.0",
+ "nopt": "^5.0.0",
"npm-install-checks": "^4.0.0",
- "npm-package-arg": "^8.1.5",
- "npm-pick-manifest": "^6.1.0",
- "npm-registry-fetch": "^12.0.1",
- "pacote": "^12.0.2",
+ "npm-package-arg": "^9.0.0",
+ "npm-pick-manifest": "^7.0.0",
+ "npm-registry-fetch": "^13.0.0",
+ "npmlog": "^6.0.1",
+ "pacote": "^13.0.2",
"parse-conflict-json": "^2.0.1",
- "proc-log": "^1.0.0",
+ "proc-log": "^2.0.0",
"promise-all-reject-late": "^1.0.0",
"promise-call-limit": "^1.0.1",
"read-package-json-fast": "^2.0.2",
diff --git a/deps/npm/node_modules/@npmcli/config/lib/env-replace.js b/deps/npm/node_modules/@npmcli/config/lib/env-replace.js
index a6e4b2968d..e0f7276b1e 100644
--- a/deps/npm/node_modules/@npmcli/config/lib/env-replace.js
+++ b/deps/npm/node_modules/@npmcli/config/lib/env-replace.js
@@ -1,6 +1,6 @@
// replace any ${ENV} values with the appropriate environ.
-const envExpr = /(\\*)\$\{([^}]+)\}/g
+const envExpr = /(?<!\\)(\\*)\$\{([^${}]+)\}/g
module.exports = (f, env) => f.replace(envExpr, (orig, esc, name) => {
const val = env[name] !== undefined ? env[name] : `$\{${name}}`
diff --git a/deps/npm/node_modules/@npmcli/config/lib/index.js b/deps/npm/node_modules/@npmcli/config/lib/index.js
index dc839a5389..82e369938d 100644
--- a/deps/npm/node_modules/@npmcli/config/lib/index.js
+++ b/deps/npm/node_modules/@npmcli/config/lib/index.js
@@ -5,6 +5,7 @@ const nopt = require('nopt')
const mkdirp = require('mkdirp-infer-owner')
const mapWorkspaces = require('@npmcli/map-workspaces')
const rpj = require('read-package-json-fast')
+const log = require('proc-log')
/* istanbul ignore next */
const myUid = process.getuid && process.getuid()
@@ -88,7 +89,6 @@ class Config {
// options just to override in tests, mostly
env = process.env,
argv = process.argv,
- log = require('./proc-log.js'),
platform = process.platform,
execPath = process.execPath,
cwd = process.cwd(),
@@ -114,7 +114,6 @@ class Config {
this.defaults = defaults
this.npmPath = npmPath
- this.log = log
this.argv = argv
this.env = env
this.execPath = execPath
@@ -436,7 +435,7 @@ class Config {
}
invalidHandler (k, val, type, source, where) {
- this.log.warn(
+ log.warn(
'invalid config',
k + '=' + JSON.stringify(val),
`set in ${source}`
@@ -469,7 +468,7 @@ class Config {
: mustBe.filter(m => m !== Array)
.map(n => typeof n === 'string' ? n : JSON.stringify(n))
.join(', ')
- this.log.warn('invalid config', msg, desc)
+ log.warn('invalid config', msg, desc)
}
[_loadObject] (obj, where, source, er = null) {
@@ -491,7 +490,7 @@ class Config {
if (er) {
conf.loadError = er
if (er.code !== 'ENOENT') {
- this.log.verbose('config', `error loading ${where} config`, er)
+ log.verbose('config', `error loading ${where} config`, er)
}
} else {
conf.raw = obj
@@ -510,7 +509,7 @@ class Config {
// XXX a future npm version will make this a warning.
// An even more future npm version will make this an error.
if (this.deprecated[key]) {
- this.log.verbose('config', key, this.deprecated[key])
+ log.verbose('config', key, this.deprecated[key])
}
}
@@ -607,14 +606,14 @@ class Config {
.catch(() => false)
if (hasNpmrc) {
- this.log.warn(`ignoring workspace config at ${this.localPrefix}/.npmrc`)
+ log.warn(`ignoring workspace config at ${this.localPrefix}/.npmrc`)
}
// set the workspace in the default layer, which allows it to be overridden easily
const { data } = this.data.get('default')
data.workspace = [this.localPrefix]
this.localPrefix = p
- this.log.info(`found workspace root at ${this.localPrefix}`)
+ log.info(`found workspace root at ${this.localPrefix}`)
// we found a root, so we return now
return
}
diff --git a/deps/npm/node_modules/@npmcli/config/lib/proc-log.js b/deps/npm/node_modules/@npmcli/config/lib/proc-log.js
deleted file mode 100644
index 0492a26180..0000000000
--- a/deps/npm/node_modules/@npmcli/config/lib/proc-log.js
+++ /dev/null
@@ -1,4 +0,0 @@
-const log = (level) => (...args) => process.emit('log', level, ...args)
-for (const level of ['silly', 'verbose', 'warn', 'error']) {
- exports[level] = log(level)
-}
diff --git a/deps/npm/node_modules/@npmcli/config/package.json b/deps/npm/node_modules/@npmcli/config/package.json
index b0722db413..ea03f957f8 100644
--- a/deps/npm/node_modules/@npmcli/config/package.json
+++ b/deps/npm/node_modules/@npmcli/config/package.json
@@ -1,6 +1,6 @@
{
"name": "@npmcli/config",
- "version": "3.0.0",
+ "version": "4.0.0",
"files": [
"bin",
"lib"
@@ -30,22 +30,23 @@
"coverage-map": "map.js"
},
"devDependencies": {
- "@npmcli/template-oss": "^2.5.1",
- "tap": "^15.0.4"
+ "@npmcli/template-oss": "^2.7.1",
+ "tap": "^15.1.6"
},
"dependencies": {
"@npmcli/map-workspaces": "^2.0.0",
"ini": "^2.0.0",
"mkdirp-infer-owner": "^2.0.0",
"nopt": "^5.0.0",
+ "proc-log": "^2.0.0",
"read-package-json-fast": "^2.0.3",
- "semver": "^7.3.4",
+ "semver": "^7.3.5",
"walk-up-path": "^1.0.0"
},
"engines": {
"node": "^12.13.0 || ^14.15.0 || >=16"
},
"templateOSS": {
- "version": "2.6.0"
+ "version": "2.7.1"
}
}
diff --git a/deps/npm/node_modules/@npmcli/git/lib/clone.js b/deps/npm/node_modules/@npmcli/git/lib/clone.js
index 6754fd7606..ac5f86b144 100644
--- a/deps/npm/node_modules/@npmcli/git/lib/clone.js
+++ b/deps/npm/node_modules/@npmcli/git/lib/clone.js
@@ -15,7 +15,7 @@ const shallowHosts = new Set([
'gist.github.com',
'gitlab.com',
'bitbucket.com',
- 'bitbucket.org'
+ 'bitbucket.org',
])
// we have to use url.parse until we add the same shim that hosted-git-info has
// to handle scp:// urls
@@ -113,10 +113,14 @@ const branch = (repo, revDoc, target, opts) => {
revDoc.ref,
repo,
target,
- '--recurse-submodules'
+ '--recurse-submodules',
]
- if (maybeShallow(repo, opts)) { args.push('--depth=1') }
- if (isWindows(opts)) { args.push('--config', 'core.longpaths=true') }
+ if (maybeShallow(repo, opts)) {
+ args.push('--depth=1')
+ }
+ if (isWindows(opts)) {
+ args.push('--config', 'core.longpaths=true')
+ }
return spawn(args, opts).then(() => revDoc.sha)
}
@@ -126,10 +130,14 @@ const plain = (repo, revDoc, target, opts) => {
'clone',
repo,
target,
- '--recurse-submodules'
+ '--recurse-submodules',
]
- if (maybeShallow(repo, opts)) { args.push('--depth=1') }
- if (isWindows(opts)) { args.push('--config', 'core.longpaths=true') }
+ if (maybeShallow(repo, opts)) {
+ args.push('--depth=1')
+ }
+ if (isWindows(opts)) {
+ args.push('--config', 'core.longpaths=true')
+ }
return spawn(args, opts).then(() => revDoc.sha)
}
@@ -143,7 +151,7 @@ const updateSubmodules = (target, opts) => new Promise(resolve =>
'update',
'-q',
'--init',
- '--recursive'
+ '--recursive',
], { ...opts, cwd: target }))
}))
diff --git a/deps/npm/node_modules/@npmcli/git/lib/errors.js b/deps/npm/node_modules/@npmcli/git/lib/errors.js
index 25b2b9f9fd..7aeac47628 100644
--- a/deps/npm/node_modules/@npmcli/git/lib/errors.js
+++ b/deps/npm/node_modules/@npmcli/git/lib/errors.js
@@ -32,5 +32,5 @@ class GitUnknownError extends GitError {
module.exports = {
GitConnectionError,
GitPathspecError,
- GitUnknownError
+ GitUnknownError,
}
diff --git a/deps/npm/node_modules/@npmcli/git/lib/index.js b/deps/npm/node_modules/@npmcli/git/lib/index.js
index 20d7cfd01c..10a65f782e 100644
--- a/deps/npm/node_modules/@npmcli/git/lib/index.js
+++ b/deps/npm/node_modules/@npmcli/git/lib/index.js
@@ -5,5 +5,5 @@ module.exports = {
is: require('./is.js'),
find: require('./find.js'),
isClean: require('./is-clean.js'),
- errors: require('./errors.js')
+ errors: require('./errors.js'),
}
diff --git a/deps/npm/node_modules/@npmcli/git/lib/lines-to-revs.js b/deps/npm/node_modules/@npmcli/git/lib/lines-to-revs.js
index 9f879ca247..3cf3778fe9 100644
--- a/deps/npm/node_modules/@npmcli/git/lib/lines-to-revs.js
+++ b/deps/npm/node_modules/@npmcli/git/lib/lines-to-revs.js
@@ -7,7 +7,7 @@ module.exports = lines => finish(lines.reduce(linesToRevsReducer, {
versions: {},
'dist-tags': {},
refs: {},
- shas: {}
+ shas: {},
}))
const finish = revs => distTags(shaList(peelTags(revs)))
@@ -52,7 +52,9 @@ const distTags = revs => {
revs['dist-tags'].latest = v
} else if (ver.sha === HEAD.sha) {
revs['dist-tags'].HEAD = v
- if (!revs.refs.latest) { revs['dist-tags'].latest = v }
+ if (!revs.refs.latest) {
+ revs['dist-tags'].latest = v
+ }
}
})
return revs
@@ -79,7 +81,9 @@ const refType = ref => {
// return the doc, or null if we should ignore it.
const lineToRevDoc = line => {
const split = line.trim().split(/\s+/, 2)
- if (split.length < 2) { return null }
+ if (split.length < 2) {
+ return null
+ }
const sha = split[0].trim()
const rawRef = split[1].trim()
@@ -122,7 +126,9 @@ const lineToRevDoc = line => {
const linesToRevsReducer = (revs, line) => {
const doc = lineToRevDoc(line)
- if (!doc) { return revs }
+ if (!doc) {
+ return revs
+ }
revs.refs[doc.ref] = doc
revs.refs[doc.rawRef] = doc
diff --git a/deps/npm/node_modules/@npmcli/git/lib/make-error.js b/deps/npm/node_modules/@npmcli/git/lib/make-error.js
index 043a8e6e95..7540ec7c8b 100644
--- a/deps/npm/node_modules/@npmcli/git/lib/make-error.js
+++ b/deps/npm/node_modules/@npmcli/git/lib/make-error.js
@@ -1,7 +1,7 @@
const {
GitConnectionError,
GitPathspecError,
- GitUnknownError
+ GitUnknownError,
} = require('./errors.js')
const connectionErrorRe = new RegExp([
@@ -12,7 +12,7 @@ const connectionErrorRe = new RegExp([
'Failed to connect to .* Timed out',
'Connection reset by peer',
'SSL_ERROR_SYSCALL',
- 'The requested URL returned error: 503'
+ 'The requested URL returned error: 503',
].join('|'))
const missingPathspecRe = /pathspec .* did not match any file\(s\) known to git/
diff --git a/deps/npm/node_modules/@npmcli/git/lib/opts.js b/deps/npm/node_modules/@npmcli/git/lib/opts.js
index 144e0a3aaf..3119af16e0 100644
--- a/deps/npm/node_modules/@npmcli/git/lib/opts.js
+++ b/deps/npm/node_modules/@npmcli/git/lib/opts.js
@@ -2,11 +2,11 @@
// This defaults to accepting new ssh host key fingerprints
const gitEnv = {
GIT_ASKPASS: 'echo',
- GIT_SSH_COMMAND: 'ssh -oStrictHostKeyChecking=accept-new'
+ GIT_SSH_COMMAND: 'ssh -oStrictHostKeyChecking=accept-new',
}
module.exports = (opts = {}) => ({
stdioString: true,
...opts,
shell: false,
- env: opts.env || { ...gitEnv, ...process.env }
+ env: opts.env || { ...gitEnv, ...process.env },
})
diff --git a/deps/npm/node_modules/@npmcli/git/lib/proc-log.js b/deps/npm/node_modules/@npmcli/git/lib/proc-log.js
deleted file mode 100644
index b2bdd9dc90..0000000000
--- a/deps/npm/node_modules/@npmcli/git/lib/proc-log.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// default logger.
-// emits 'log' events on the process
-const LEVELS = [
- 'notice',
- 'error',
- 'warn',
- 'info',
- 'verbose',
- 'http',
- 'silly',
- 'pause',
- 'resume'
-]
-
-const log = level => (...args) => process.emit('log', level, ...args)
-
-const logger = {}
-for (const level of LEVELS) {
- logger[level] = log(level)
-}
-module.exports = logger
diff --git a/deps/npm/node_modules/@npmcli/git/lib/revs.js b/deps/npm/node_modules/@npmcli/git/lib/revs.js
index 81059594f7..ee72370d5b 100644
--- a/deps/npm/node_modules/@npmcli/git/lib/revs.js
+++ b/deps/npm/node_modules/@npmcli/git/lib/revs.js
@@ -4,7 +4,7 @@ const LRU = require('lru-cache')
const revsCache = new LRU({
max: 100,
- maxAge: 5 * 60 * 1000
+ ttl: 5 * 60 * 1000,
})
const linesToRevs = require('./lines-to-revs.js')
diff --git a/deps/npm/node_modules/@npmcli/git/lib/spawn.js b/deps/npm/node_modules/@npmcli/git/lib/spawn.js
index 1c89a4c53c..40972a509c 100644
--- a/deps/npm/node_modules/@npmcli/git/lib/spawn.js
+++ b/deps/npm/node_modules/@npmcli/git/lib/spawn.js
@@ -1,28 +1,29 @@
const spawn = require('@npmcli/promise-spawn')
const promiseRetry = require('promise-retry')
+const log = require('proc-log')
const makeError = require('./make-error.js')
const whichGit = require('./which.js')
const makeOpts = require('./opts.js')
-const procLog = require('./proc-log.js')
module.exports = (gitArgs, opts = {}) => {
const gitPath = whichGit(opts)
- if (gitPath instanceof Error) { return Promise.reject(gitPath) }
+ if (gitPath instanceof Error) {
+ return Promise.reject(gitPath)
+ }
// undocumented option, mostly only here for tests
const args = opts.allowReplace || gitArgs[0] === '--no-replace-objects'
? gitArgs
: ['--no-replace-objects', ...gitArgs]
- const log = opts.log || procLog
let retry = opts.retry
if (retry === null || retry === undefined) {
retry = {
retries: opts.fetchRetries || 2,
factor: opts.fetchRetryFactor || 10,
maxTimeout: opts.fetchRetryMaxtimeout || 60000,
- minTimeout: opts.fetchRetryMintimeout || 1000
+ minTimeout: opts.fetchRetryMintimeout || 1000,
}
}
return promiseRetry((retry, number) => {
diff --git a/deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/LICENSE b/deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/LICENSE
new file mode 100644
index 0000000000..9b58a3e03d
--- /dev/null
+++ b/deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/LICENSE
@@ -0,0 +1,15 @@
+The ISC License
+
+Copyright (c) 2010-2022 Isaac Z. Schlueter and Contributors
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR
+IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/index.js b/deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/index.js
new file mode 100644
index 0000000000..ede2f30cc4
--- /dev/null
+++ b/deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/index.js
@@ -0,0 +1,581 @@
+const perf = typeof performance === 'object' && performance &&
+ typeof performance.now === 'function' ? performance : Date
+
+const warned = new Set()
+const deprecatedOption = (opt, msg) => {
+ const code = `LRU_CACHE_OPTION_${opt}`
+ if (shouldWarn(code)) {
+ warn(code, `The ${opt} option is deprecated. ${msg}`, LRUCache)
+ }
+}
+const deprecatedMethod = (method, msg) => {
+ const code = `LRU_CACHE_METHOD_${method}`
+ if (shouldWarn(code)) {
+ const { prototype } = LRUCache
+ const { get } = Object.getOwnPropertyDescriptor(prototype, method)
+ warn(code, `The ${method} method is deprecated. ${msg}`, get)
+ }
+}
+const deprecatedProperty = (field, msg) => {
+ const code = `LRU_CACHE_PROPERTY_${field}`
+ if (shouldWarn(code)) {
+ const { prototype } = LRUCache
+ const { get } = Object.getOwnPropertyDescriptor(prototype, field)
+ warn(code, `The ${field} property is deprecated. ${msg}`, get)
+ }
+}
+const shouldWarn = (code) => !(process.noDeprecation || warned.has(code))
+const warn = (code, msg, fn) => {
+ warned.add(code)
+ process.emitWarning(msg, 'DeprecationWarning', code, fn)
+}
+
+const isPosInt = n => n && n === Math.floor(n) && n > 0 && isFinite(n)
+
+/* istanbul ignore next - This is a little bit ridiculous, tbh.
+ * The maximum array length is 2^32-1 or thereabouts on most JS impls.
+ * And well before that point, you're caching the entire world, I mean,
+ * that's ~32GB of just integers for the next/prev links, plus whatever
+ * else to hold that many keys and values. Just filling the memory with
+ * zeroes at init time is brutal when you get that big.
+ * But why not be complete?
+ * Maybe in the future, these limits will have expanded. */
+const getUintArray = max => !isPosInt(max) ? null
+: max <= Math.pow(2, 8) ? Uint8Array
+: max <= Math.pow(2, 16) ? Uint16Array
+: max <= Math.pow(2, 32) ? Uint32Array
+: max <= Number.MAX_SAFE_INTEGER ? ZeroArray
+: null
+
+class ZeroArray extends Array {
+ constructor (size) {
+ super(size)
+ this.fill(0)
+ }
+}
+
+class Stack {
+ constructor (max) {
+ const UintArray = getUintArray(max)
+ this.heap = new UintArray(max)
+ this.length = 0
+ }
+ push (n) {
+ this.heap[this.length++] = n
+ }
+ pop () {
+ return this.heap[--this.length]
+ }
+}
+
+class LRUCache {
+ constructor (options = {}) {
+ const {
+ max,
+ ttl,
+ ttlResolution = 1,
+ ttlAutopurge,
+ updateAgeOnGet,
+ allowStale,
+ dispose,
+ disposeAfter,
+ noDisposeOnSet,
+ maxSize,
+ sizeCalculation,
+ } = options
+
+ // deprecated options, don't trigger a warning for getting them if
+ // the thing being passed in is another LRUCache we're copying.
+ const {
+ length,
+ maxAge,
+ stale,
+ } = options instanceof LRUCache ? {} : options
+
+ if (!isPosInt(max)) {
+ throw new TypeError('max option must be an integer')
+ }
+
+ const UintArray = getUintArray(max)
+ if (!UintArray) {
+ throw new Error('invalid max value: ' + max)
+ }
+
+ this.max = max
+ this.maxSize = maxSize || 0
+ this.sizeCalculation = sizeCalculation || length
+ if (this.sizeCalculation) {
+ if (!this.maxSize) {
+ throw new TypeError('cannot set sizeCalculation without setting maxSize')
+ }
+ if (typeof this.sizeCalculation !== 'function') {
+ throw new TypeError('sizeCalculating set to non-function')
+ }
+ }
+ this.keyMap = new Map()
+ this.keyList = new Array(max).fill(null)
+ this.valList = new Array(max).fill(null)
+ this.next = new UintArray(max)
+ this.prev = new UintArray(max)
+ this.head = 0
+ this.tail = 0
+ this.free = new Stack(max)
+ this.initialFill = 1
+ this.size = 0
+
+ if (typeof dispose === 'function') {
+ this.dispose = dispose
+ }
+ if (typeof disposeAfter === 'function') {
+ this.disposeAfter = disposeAfter
+ this.disposed = []
+ } else {
+ this.disposeAfter = null
+ this.disposed = null
+ }
+ this.noDisposeOnSet = !!noDisposeOnSet
+
+ if (this.maxSize) {
+ if (!isPosInt(this.maxSize)) {
+ throw new TypeError('maxSize must be a positive integer if specified')
+ }
+ this.initializeSizeTracking()
+ }
+
+ this.allowStale = !!allowStale || !!stale
+ this.updateAgeOnGet = !!updateAgeOnGet
+ this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0
+ ? ttlResolution : 1
+ this.ttlAutopurge = !!ttlAutopurge
+ this.ttl = ttl || maxAge || 0
+ if (this.ttl) {
+ if (!isPosInt(this.ttl)) {
+ throw new TypeError('ttl must be a positive integer if specified')
+ }
+ this.initializeTTLTracking()
+ }
+
+ if (stale) {
+ deprecatedOption('stale', 'please use options.allowStale instead')
+ }
+ if (maxAge) {
+ deprecatedOption('maxAge', 'please use options.ttl instead')
+ }
+ if (length) {
+ deprecatedOption('length', 'please use options.sizeCalculation instead')
+ }
+ }
+
+ initializeTTLTracking () {
+ this.ttls = new ZeroArray(this.max)
+ this.starts = new ZeroArray(this.max)
+ this.setItemTTL = (index, ttl) => {
+ this.starts[index] = ttl !== 0 ? perf.now() : 0
+ this.ttls[index] = ttl
+ if (ttl !== 0 && this.ttlAutopurge) {
+ const t = setTimeout(() => {
+ if (this.isStale(index)) {
+ this.delete(this.keyList[index])
+ }
+ }, ttl + 1)
+ /* istanbul ignore else - unref() not supported on all platforms */
+ if (t.unref) {
+ t.unref()
+ }
+ }
+ }
+ this.updateItemAge = (index) => {
+ this.starts[index] = this.ttls[index] !== 0 ? perf.now() : 0
+ }
+ // debounce calls to perf.now() to 1s so we're not hitting
+ // that costly call repeatedly.
+ let cachedNow = 0
+ const getNow = () => {
+ const n = perf.now()
+ if (this.ttlResolution > 0) {
+ cachedNow = n
+ const t = setTimeout(() => cachedNow = 0, this.ttlResolution)
+ /* istanbul ignore else - not available on all platforms */
+ if (t.unref) {
+ t.unref()
+ }
+ }
+ return n
+ }
+ this.isStale = (index) => {
+ return this.ttls[index] !== 0 && this.starts[index] !== 0 &&
+ ((cachedNow || getNow()) - this.starts[index] > this.ttls[index])
+ }
+ }
+ updateItemAge (index) {}
+ setItemTTL (index, ttl) {}
+ isStale (index) { return false }
+
+ initializeSizeTracking () {
+ this.calculatedSize = 0
+ this.sizes = new ZeroArray(this.max)
+ this.removeItemSize = index => this.calculatedSize -= this.sizes[index]
+ this.addItemSize = (index, v, k, size, sizeCalculation) => {
+ const s = size || (sizeCalculation ? sizeCalculation(v, k) : 0)
+ this.sizes[index] = isPosInt(s) ? s : 0
+ const maxSize = this.maxSize - this.sizes[index]
+ while (this.calculatedSize > maxSize) {
+ this.evict()
+ }
+ this.calculatedSize += this.sizes[index]
+ }
+ this.delete = k => {
+ if (this.size !== 0) {
+ const index = this.keyMap.get(k)
+ if (index !== undefined) {
+ this.calculatedSize -= this.sizes[index]
+ }
+ }
+ return LRUCache.prototype.delete.call(this, k)
+ }
+ }
+ removeItemSize (index) {}
+ addItemSize (index, v, k, size, sizeCalculation) {}
+
+ *indexes () {
+ if (this.size) {
+ for (let i = this.tail; true; i = this.prev[i]) {
+ if (!this.isStale(i)) {
+ yield i
+ }
+ if (i === this.head) {
+ break
+ }
+ }
+ }
+ }
+ *rindexes () {
+ if (this.size) {
+ for (let i = this.head; true; i = this.next[i]) {
+ if (!this.isStale(i)) {
+ yield i
+ }
+ if (i === this.tail) {
+ break
+ }
+ }
+ }
+ }
+
+ *entries () {
+ for (const i of this.indexes()) {
+ yield [this.keyList[i], this.valList[i]]
+ }
+ }
+
+ *keys () {
+ for (const i of this.indexes()) {
+ yield this.keyList[i]
+ }
+ }
+
+ *values () {
+ for (const i of this.indexes()) {
+ yield this.valList[i]
+ }
+ }
+
+ [Symbol.iterator] () {
+ return this.entries()
+ }
+
+ find (fn, getOptions = {}) {
+ for (const i of this.indexes()) {
+ if (fn(this.valList[i], this.keyList[i], this)) {
+ return this.get(this.keyList[i], getOptions)
+ }
+ }
+ }
+
+ forEach (fn, thisp = this) {
+ for (const i of this.indexes()) {
+ fn.call(thisp, this.valList[i], this.keyList[i], this)
+ }
+ }
+
+ rforEach (fn, thisp = this) {
+ for (const i of this.rindexes()) {
+ fn.call(thisp, this.valList[i], this.keyList[i], this)
+ }
+ }
+
+ get prune () {
+ deprecatedMethod('prune', 'Please use cache.purgeStale() instead.')
+ return this.purgeStale
+ }
+
+ purgeStale () {
+ let deleted = false
+ if (this.size) {
+ for (let i = this.head; true; i = this.next[i]) {
+ const b = i === this.tail
+ if (this.isStale(i)) {
+ this.delete(this.keyList[i])
+ deleted = true
+ }
+ if (b) {
+ break
+ }
+ }
+ }
+ return deleted
+ }
+
+ dump () {
+ const arr = []
+ for (const i of this.indexes()) {
+ const key = this.keyList[i]
+ const value = this.valList[i]
+ const entry = { value }
+ if (this.ttls) {
+ entry.ttl = this.ttls[i]
+ }
+ if (this.sizes) {
+ entry.size = this.sizes[i]
+ }
+ arr.unshift([key, entry])
+ }
+ return arr
+ }
+
+ load (arr) {
+ this.clear()
+ for (const [key, entry] of arr) {
+ this.set(key, entry.value, entry)
+ }
+ }
+
+ dispose (v, k, reason) {}
+
+ set (k, v, {
+ ttl = this.ttl,
+ noDisposeOnSet = this.noDisposeOnSet,
+ size = 0,
+ sizeCalculation = this.sizeCalculation,
+ } = {}) {
+ let index = this.size === 0 ? undefined : this.keyMap.get(k)
+ if (index === undefined) {
+ // addition
+ index = this.newIndex()
+ this.keyList[index] = k
+ this.valList[index] = v
+ this.keyMap.set(k, index)
+ this.next[this.tail] = index
+ this.prev[index] = this.tail
+ this.tail = index
+ this.size ++
+ this.addItemSize(index, v, k, size, sizeCalculation)
+ } else {
+ // update
+ const oldVal = this.valList[index]
+ if (v !== oldVal) {
+ if (!noDisposeOnSet) {
+ this.dispose(oldVal, k, 'set')
+ if (this.disposeAfter) {
+ this.disposed.push([oldVal, k, 'set'])
+ }
+ }
+ this.removeItemSize(index)
+ this.valList[index] = v
+ this.addItemSize(index, v, k, size, sizeCalculation)
+ }
+ this.moveToTail(index)
+ }
+ if (ttl !== 0 && this.ttl === 0 && !this.ttls) {
+ this.initializeTTLTracking()
+ }
+ this.setItemTTL(index, ttl)
+ if (this.disposeAfter) {
+ while (this.disposed.length) {
+ this.disposeAfter(...this.disposed.shift())
+ }
+ }
+ return this
+ }
+
+ newIndex () {
+ if (this.size === 0) {
+ return this.tail
+ }
+ if (this.size === this.max) {
+ return this.evict()
+ }
+ if (this.free.length !== 0) {
+ return this.free.pop()
+ }
+ // initial fill, just keep writing down the list
+ return this.initialFill++
+ }
+
+ pop () {
+ if (this.size) {
+ const val = this.valList[this.head]
+ this.evict()
+ return val
+ }
+ }
+
+ evict () {
+ const head = this.head
+ const k = this.keyList[head]
+ const v = this.valList[head]
+ this.dispose(v, k, 'evict')
+ if (this.disposeAfter) {
+ this.disposed.push([v, k, 'evict'])
+ }
+ this.removeItemSize(head)
+ this.head = this.next[head]
+ this.keyMap.delete(k)
+ this.size --
+ return head
+ }
+
+ has (k) {
+ return this.keyMap.has(k) && !this.isStale(this.keyMap.get(k))
+ }
+
+ // like get(), but without any LRU updating or TTL expiration
+ peek (k, { allowStale = this.allowStale } = {}) {
+ const index = this.keyMap.get(k)
+ if (index !== undefined && (allowStale || !this.isStale(index))) {
+ return this.valList[index]
+ }
+ }
+
+ get (k, {
+ allowStale = this.allowStale,
+ updateAgeOnGet = this.updateAgeOnGet,
+ } = {}) {
+ const index = this.keyMap.get(k)
+ if (index !== undefined) {
+ if (this.isStale(index)) {
+ const value = allowStale ? this.valList[index] : undefined
+ this.delete(k)
+ return value
+ } else {
+ this.moveToTail(index)
+ if (updateAgeOnGet) {
+ this.updateItemAge(index)
+ }
+ return this.valList[index]
+ }
+ }
+ }
+
+ connect (p, n) {
+ this.prev[n] = p
+ this.next[p] = n
+ }
+
+ moveToTail (index) {
+ // if tail already, nothing to do
+ // if head, move head to next[index]
+ // else
+ // move next[prev[index]] to next[index] (head has no prev)
+ // move prev[next[index]] to prev[index]
+ // prev[index] = tail
+ // next[tail] = index
+ // tail = index
+ if (index !== this.tail) {
+ if (index === this.head) {
+ this.head = this.next[index]
+ } else {
+ this.connect(this.prev[index], this.next[index])
+ }
+ this.connect(this.tail, index)
+ this.tail = index
+ }
+ }
+
+ get del () {
+ deprecatedMethod('del', 'Please use cache.delete() instead.')
+ return this.delete
+ }
+ delete (k) {
+ let deleted = false
+ if (this.size !== 0) {
+ const index = this.keyMap.get(k)
+ if (index !== undefined) {
+ deleted = true
+ if (this.size === 1) {
+ this.clear()
+ } else {
+ this.removeItemSize(index)
+ this.dispose(this.valList[index], k, 'delete')
+ if (this.disposeAfter) {
+ this.disposed.push([this.valList[index], k, 'delete'])
+ }
+ this.keyMap.delete(k)
+ this.keyList[index] = null
+ this.valList[index] = null
+ if (index === this.tail) {
+ this.tail = this.prev[index]
+ } else if (index === this.head) {
+ this.head = this.next[index]
+ } else {
+ this.next[this.prev[index]] = this.next[index]
+ this.prev[this.next[index]] = this.prev[index]
+ }
+ this.size --
+ this.free.push(index)
+ }
+ }
+ }
+ if (this.disposed) {
+ while (this.disposed.length) {
+ this.disposeAfter(...this.disposed.shift())
+ }
+ }
+ return deleted
+ }
+
+ clear () {
+ if (this.dispose !== LRUCache.prototype.dispose) {
+ for (const index of this.rindexes()) {
+ this.dispose(this.valList[index], this.keyList[index], 'delete')
+ }
+ }
+ if (this.disposeAfter) {
+ for (const index of this.rindexes()) {
+ this.disposed.push([this.valList[index], this.keyList[index], 'delete'])
+ }
+ }
+ this.keyMap.clear()
+ this.valList.fill(null)
+ this.keyList.fill(null)
+ if (this.ttls) {
+ this.ttls.fill(0)
+ this.starts.fill(0)
+ }
+ if (this.sizes) {
+ this.sizes.fill(0)
+ }
+ this.head = 0
+ this.tail = 0
+ this.initialFill = 1
+ this.free.length = 0
+ this.calculatedSize = 0
+ this.size = 0
+ if (this.disposed) {
+ while (this.disposed.length) {
+ this.disposeAfter(...this.disposed.shift())
+ }
+ }
+ }
+ get reset () {
+ deprecatedMethod('reset', 'Please use cache.clear() instead.')
+ return this.clear
+ }
+
+ get length () {
+ deprecatedProperty('length', 'Please use cache.size instead.')
+ return this.size
+ }
+}
+
+module.exports = LRUCache
diff --git a/deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/package.json b/deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/package.json
new file mode 100644
index 0000000000..66dbbd9c11
--- /dev/null
+++ b/deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/package.json
@@ -0,0 +1,34 @@
+{
+ "name": "lru-cache",
+ "description": "A cache object that deletes the least-recently-used items.",
+ "version": "7.3.1",
+ "author": "Isaac Z. Schlueter <i@izs.me>",
+ "keywords": [
+ "mru",
+ "lru",
+ "cache"
+ ],
+ "scripts": {
+ "test": "tap",
+ "snap": "tap",
+ "preversion": "npm test",
+ "postversion": "npm publish",
+ "prepublishOnly": "git push origin --follow-tags"
+ },
+ "main": "index.js",
+ "repository": "git://github.com/isaacs/node-lru-cache.git",
+ "devDependencies": {
+ "benchmark": "^2.1.4",
+ "tap": "^15.1.6"
+ },
+ "license": "ISC",
+ "files": [
+ "index.js"
+ ],
+ "engines": {
+ "node": ">=12"
+ },
+ "tap": {
+ "coverage-map": "map.js"
+ }
+}
diff --git a/deps/npm/node_modules/@npmcli/git/package.json b/deps/npm/node_modules/@npmcli/git/package.json
index 9475da5007..02cd37fa22 100644
--- a/deps/npm/node_modules/@npmcli/git/package.json
+++ b/deps/npm/node_modules/@npmcli/git/package.json
@@ -1,44 +1,57 @@
{
"name": "@npmcli/git",
- "version": "2.1.0",
+ "version": "3.0.0",
"main": "lib/index.js",
"files": [
- "lib/*.js"
+ "bin",
+ "lib"
],
"description": "a util for spawning git from npm CLI contexts",
"repository": {
"type": "git",
"url": "git+https://github.com/npm/git"
},
- "author": "Isaac Z. Schlueter <i@izs.me> (https://izs.me)",
+ "author": "GitHub Inc.",
"license": "ISC",
"scripts": {
- "lint": "standard",
+ "lint": "eslint '**/*.js'",
"lint:fix": "standard --fix",
"postversion": "npm publish",
"prepublishOnly": "git push origin --follow-tags",
"preversion": "npm test",
"snap": "tap",
"test": "tap",
- "posttest": "npm run lint"
+ "posttest": "npm run lint",
+ "postlint": "npm-template-check",
+ "template-copy": "npm-template-copy --force",
+ "lintfix": "npm run lint -- --fix"
},
"tap": {
"check-coverage": true,
"coverage-map": "map.js"
},
"devDependencies": {
+ "@npmcli/template-oss": "^2.7.1",
"slash": "^3.0.0",
"standard": "^16.0.3",
- "tap": "^15.0.6"
+ "tap": "^15.1.6"
},
"dependencies": {
"@npmcli/promise-spawn": "^1.3.2",
- "lru-cache": "^6.0.0",
+ "lru-cache": "^7.3.1",
"mkdirp": "^1.0.4",
- "npm-pick-manifest": "^6.1.1",
+ "npm-pick-manifest": "^7.0.0",
+ "proc-log": "^2.0.0",
"promise-inflight": "^1.0.1",
"promise-retry": "^2.0.1",
"semver": "^7.3.5",
"which": "^2.0.2"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16"
+ },
+ "templateOSS": {
+ "windowsCI": false,
+ "version": "2.7.1"
}
}
diff --git a/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/advisory.js b/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/advisory.js
index d0900e3732..5b58ef6370 100644
--- a/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/advisory.js
+++ b/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/advisory.js
@@ -22,8 +22,9 @@ class Advisory {
this[_source] = source
this[_options] = options
this.name = name
- if (!source.name)
+ if (!source.name) {
source.name = name
+ }
this.dependency = source.name
@@ -70,11 +71,13 @@ class Advisory {
// load up the data from a cache entry and a fetched packument
load (cached, packument) {
// basic data integrity gutcheck
- if (!cached || typeof cached !== 'object')
+ if (!cached || typeof cached !== 'object') {
throw new TypeError('invalid cached data, expected object')
+ }
- if (!packument || typeof packument !== 'object')
+ if (!packument || typeof packument !== 'object') {
throw new TypeError('invalid packument data, expected object')
+ }
if (cached.id && cached.id !== this.id) {
throw Object.assign(new Error('loading from incorrect cache entry'), {
@@ -88,14 +91,16 @@ class Advisory {
actual: packument.name,
})
}
- if (this[_packument])
+ if (this[_packument]) {
throw new Error('advisory object already loaded')
+ }
// if we have a range from the initialization, and the cached
// data has a *different* range, then we know we have to recalc.
// just don't use the cached data, so we will definitely not match later
- if (!this.range || cached.range && cached.range === this.range)
+ if (!this.range || cached.range && cached.range === this.range) {
Object.assign(this, cached)
+ }
this[_packument] = packument
@@ -107,8 +112,9 @@ class Advisory {
if (!this.versions.includes(v)) {
versionsAdded.push(v)
this.versions.push(v)
- } else if (!pakuVersions.includes(v))
+ } else if (!pakuVersions.includes(v)) {
versionsRemoved.push(v)
+ }
}
// strip out any removed versions from our lists, and sort by semver
@@ -138,14 +144,16 @@ class Advisory {
this[_updated] = true
// test any versions newly added
- if (!unchanged || versionsAdded.length)
+ if (!unchanged || versionsAdded.length) {
this[_testVersions](unchanged ? versionsAdded : this.versions)
+ }
this.vulnerableVersions = semver.sort(this.vulnerableVersions, semverOpt)
// metavulns have to calculate their range, since cache is invalidated
// advisories just get their range from the advisory above
- if (this.type === 'metavuln')
+ if (this.type === 'metavuln') {
this[_calculateRange]()
+ }
return this
}
@@ -170,10 +178,11 @@ class Advisory {
}
break
}
- if (vr.length > 1)
+ if (vr.length > 1) {
vr[1] = this.versions[v]
- else
+ } else {
vr.push(this.versions[v])
+ }
v++
vulnVer++
}
@@ -198,26 +207,30 @@ class Advisory {
// we use the dependency version from the manifest.
testVersion (version, spec = null) {
const sv = String(version)
- if (this[_versionVulnMemo].has(sv))
+ if (this[_versionVulnMemo].has(sv)) {
return this[_versionVulnMemo].get(sv)
+ }
const result = this[_testVersion](version, spec)
- if (result)
+ if (result) {
this[_markVulnerable](version)
+ }
this[_versionVulnMemo].set(sv, !!result)
return result
}
[_markVulnerable] (version) {
const sv = String(version)
- if (!this.vulnerableVersions.includes(sv))
+ if (!this.vulnerableVersions.includes(sv)) {
this.vulnerableVersions.push(sv)
+ }
}
[_testVersion] (version, spec) {
const sv = String(version)
- if (this.vulnerableVersions.includes(sv))
+ if (this.vulnerableVersions.includes(sv)) {
return true
+ }
if (this.type === 'advisory') {
// advisory, just test range
@@ -233,12 +246,14 @@ class Advisory {
},
}
- if (!spec)
+ if (!spec) {
spec = getDepSpec(mani, this.dependency)
+ }
// no dep, no vuln
- if (spec === null)
+ if (spec === null) {
return false
+ }
if (!semver.validRange(spec, semverOpt)) {
// not a semver range, nothing we can hope to do about it
@@ -252,8 +267,9 @@ class Advisory {
// try to pick a version of the dep that isn't vulnerable
const avoid = this[_source].range
- if (bundled)
+ if (bundled) {
return semver.intersects(spec, avoid, semverOpt)
+ }
return this[_source].testSpec(spec)
}
@@ -263,8 +279,9 @@ class Advisory {
// consistent across multiple versions, so memoize this as well, in case
// we're testing lots of versions.
const memo = this[_specVulnMemo]
- if (memo.has(spec))
+ if (memo.has(spec)) {
return memo.get(spec)
+ }
const res = this[_testSpec](spec)
memo.set(spec, res)
@@ -274,10 +291,12 @@ class Advisory {
[_testSpec] (spec) {
for (const v of this.versions) {
const satisfies = semver.satisfies(v, spec)
- if (!satisfies)
+ if (!satisfies) {
continue
- if (!this.testVersion(v))
+ }
+ if (!this.testVersion(v)) {
return false
+ }
}
// either vulnerable, or not installable because nothing satisfied
// either way, best avoided.
@@ -285,8 +304,9 @@ class Advisory {
}
[_testVersions] (versions) {
- if (!versions.length)
+ if (!versions.length) {
return
+ }
// set of lists of versions
const versionSets = new Set()
@@ -328,30 +348,34 @@ class Advisory {
// version in the list, then start there instead.
let h = 0
const origHeadVuln = this.testVersion(list[h])
- while (h < list.length && /-/.test(String(list[h])))
+ while (h < list.length && /-/.test(String(list[h]))) {
h++
+ }
// don't filter out the whole list! they might all be pr's
- if (h === list.length)
+ if (h === list.length) {
h = 0
- else if (origHeadVuln) {
+ } else if (origHeadVuln) {
// if the original was vulnerable, assume so are all of these
- for (let hh = 0; hh < h; hh++)
+ for (let hh = 0; hh < h; hh++) {
this[_markVulnerable](list[hh])
+ }
}
let t = list.length - 1
const origTailVuln = this.testVersion(list[t])
- while (t > h && /-/.test(String(list[t])))
+ while (t > h && /-/.test(String(list[t]))) {
t--
+ }
// don't filter out the whole list! might all be pr's
- if (t === h)
+ if (t === h) {
t = list.length - 1
- else if (origTailVuln) {
+ } else if (origTailVuln) {
// if original tail was vulnerable, assume these are as well
- for (let tt = list.length - 1; tt > t; tt--)
+ for (let tt = list.length - 1; tt > t; tt--) {
this[_markVulnerable](list[tt])
+ }
}
const headVuln = h === 0 ? origHeadVuln
@@ -362,14 +386,16 @@ class Advisory {
// if head and tail both vulnerable, whole list is thrown out
if (headVuln && tailVuln) {
- for (let v = h; v < t; v++)
+ for (let v = h; v < t; v++) {
this[_markVulnerable](list[v])
+ }
continue
}
// if length is 2 or 1, then we marked them all already
- if (t < h + 2)
+ if (t < h + 2) {
continue
+ }
const mid = Math.floor(list.length / 2)
const pre = list.slice(0, mid)
@@ -382,8 +408,9 @@ class Advisory {
const midVuln = this.testVersion(pre[pre.length - 1])
while (/-/.test(String(pre[pre.length - 1]))) {
const v = pre.pop()
- if (midVuln)
+ if (midVuln) {
this[_markVulnerable](v)
+ }
}
}
@@ -391,8 +418,9 @@ class Advisory {
const midVuln = this.testVersion(post[0])
while (/-/.test(String(post[0]))) {
const v = post.shift()
- if (midVuln)
+ if (midVuln) {
this[_markVulnerable](v)
+ }
}
}
diff --git a/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/hash.js b/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/hash.js
index 79c0678c75..634bf99de0 100644
--- a/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/hash.js
+++ b/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/hash.js
@@ -1,5 +1,5 @@
-const {createHash} = require('crypto')
+const { createHash } = require('crypto')
-module.exports = ({name, source}) => createHash('sha512')
+module.exports = ({ name, source }) => createHash('sha512')
.update(JSON.stringify([name, source]))
.digest('base64')
diff --git a/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/index.js b/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/index.js
index 02c1ed018b..668f55942c 100644
--- a/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/index.js
+++ b/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/index.js
@@ -4,7 +4,7 @@
const pacote = require('pacote')
const cacache = require('cacache')
const Advisory = require('./advisory.js')
-const {homedir} = require('os')
+const { homedir } = require('os')
const jsonParse = require('json-parse-even-better-errors')
const _packument = Symbol('packument')
@@ -37,8 +37,9 @@ class Calculator {
async calculate (name, source) {
const k = `security-advisory:${name}:${source.id}`
- if (this[_advisories].has(k))
+ if (this[_advisories].has(k)) {
return this[_advisories].get(k)
+ }
const p = this[_calculate](name, source)
this[_advisories].set(k, p)
@@ -58,8 +59,9 @@ class Calculator {
process.emit('time', `metavuln:load:${k}`)
advisory.load(cached, packument)
process.emit('timeEnd', `metavuln:load:${k}`)
- if (advisory.updated)
+ if (advisory.updated) {
await this[_cachePut](advisory)
+ }
this[_advisories].set(k, advisory)
process.emit('timeEnd', t)
return advisory
@@ -81,8 +83,9 @@ class Calculator {
const key = `security-advisory:${name}:${id}`
/* istanbul ignore if - should be impossible, since we memoize the
* advisory object itself using the same key, just being cautious */
- if (this[_cacheData].has(key))
+ if (this[_cacheData].has(key)) {
return this[_cacheData].get(key)
+ }
process.emit('time', `metavuln:cache:get:${key}`)
const p = cacache.get(this[_cache], key, { ...this[_options] })
@@ -98,8 +101,9 @@ class Calculator {
}
async [_packument] (name) {
- if (this[_packuments].has(name))
+ if (this[_packuments].has(name)) {
return this[_packuments].get(name)
+ }
process.emit('time', `metavuln:packument:${name}`)
const p = pacote.packument(name, { ...this[_options] })
diff --git a/deps/npm/node_modules/@npmcli/metavuln-calculator/package.json b/deps/npm/node_modules/@npmcli/metavuln-calculator/package.json
index 131cff6723..385a34b85a 100644
--- a/deps/npm/node_modules/@npmcli/metavuln-calculator/package.json
+++ b/deps/npm/node_modules/@npmcli/metavuln-calculator/package.json
@@ -1,13 +1,14 @@
{
"name": "@npmcli/metavuln-calculator",
- "version": "2.0.0",
+ "version": "3.0.0",
"main": "lib/index.js",
"files": [
+ "bin",
"lib"
],
"description": "Calculate meta-vulnerabilities from package security advisories",
"repository": "https://github.com/npm/metavuln-calculator",
- "author": "Isaac Z. Schlueter <i@izs.me> (https://izs.me)",
+ "author": "GitHub Inc.",
"license": "ISC",
"scripts": {
"test": "tap",
@@ -18,29 +19,30 @@
"postversion": "npm publish",
"prepublishOnly": "git push origin --follow-tags",
"eslint": "eslint",
- "lint": "npm run eslint -- \"lib/**/*.js\" \"test/**/*.js\"",
- "lintfix": "npm run lint -- --fix"
+ "lint": "eslint '**/*.js'",
+ "lintfix": "npm run lint -- --fix",
+ "postlint": "npm-template-check",
+ "template-copy": "npm-template-copy --force"
},
"tap": {
"check-coverage": true,
"coverage-map": "map.js"
},
"devDependencies": {
- "eslint": "^7.20.0",
- "eslint-plugin-import": "^2.22.1",
- "eslint-plugin-node": "^11.1.0",
- "eslint-plugin-promise": "^4.3.1",
- "eslint-plugin-standard": "^4.1.0",
+ "@npmcli/template-oss": "^2.7.1",
"require-inject": "^1.4.4",
- "tap": "^14.10.8"
+ "tap": "^15.1.6"
},
"dependencies": {
- "cacache": "^15.0.5",
+ "cacache": "^15.3.0",
"json-parse-even-better-errors": "^2.3.1",
- "pacote": "^12.0.0",
- "semver": "^7.3.2"
+ "pacote": "^13.0.1",
+ "semver": "^7.3.5"
},
"engines": {
"node": "^12.13.0 || ^14.15.0 || >=16"
+ },
+ "templateOSS": {
+ "version": "2.7.1"
}
}
diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/make-spawn-args.js b/deps/npm/node_modules/@npmcli/run-script/lib/make-spawn-args.js
index 8f299954a7..9cfc84b0e0 100644
--- a/deps/npm/node_modules/@npmcli/run-script/lib/make-spawn-args.js
+++ b/deps/npm/node_modules/@npmcli/run-script/lib/make-spawn-args.js
@@ -1,7 +1,7 @@
/* eslint camelcase: "off" */
const isWindows = require('./is-windows.js')
const setPATH = require('./set-path.js')
-const {resolve} = require('path')
+const { resolve } = require('path')
const npm_config_node_gyp = require.resolve('node-gyp/bin/node-gyp.js')
const makeSpawnArgs = options => {
diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/package-envs.js b/deps/npm/node_modules/@npmcli/run-script/lib/package-envs.js
index 47791fb991..6b538e5024 100644
--- a/deps/npm/node_modules/@npmcli/run-script/lib/package-envs.js
+++ b/deps/npm/node_modules/@npmcli/run-script/lib/package-envs.js
@@ -6,12 +6,13 @@ const envVal = val => Array.isArray(val) ? val.map(v => envVal(v)).join('\n\n')
const packageEnvs = (env, vals, prefix) => {
for (const [key, val] of Object.entries(vals)) {
- if (val === undefined)
+ if (val === undefined) {
continue
- else if (val && !Array.isArray(val) && typeof val === 'object')
+ } else if (val && !Array.isArray(val) && typeof val === 'object') {
packageEnvs(env, val, `${prefix}${key}_`)
- else
+ } else {
env[`${prefix}${key}`] = envVal(val)
+ }
}
return env
}
diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/run-script-pkg.js b/deps/npm/node_modules/@npmcli/run-script/lib/run-script-pkg.js
index ccde173e01..a6fa4d2b38 100644
--- a/deps/npm/node_modules/@npmcli/run-script/lib/run-script-pkg.js
+++ b/deps/npm/node_modules/@npmcli/run-script/lib/run-script-pkg.js
@@ -26,25 +26,28 @@ const runScriptPkg = async options => {
signalTimeout = 500,
} = options
- const {scripts = {}, gypfile} = pkg
+ const { scripts = {}, gypfile } = pkg
let cmd = null
- if (options.cmd)
+ if (options.cmd) {
cmd = options.cmd
- else if (pkg.scripts && pkg.scripts[event])
+ } else if (pkg.scripts && pkg.scripts[event]) {
cmd = pkg.scripts[event] + args.map(a => ` ${JSON.stringify(a)}`).join('')
- else if ( // If there is no preinstall or install script, default to rebuilding node-gyp packages.
+ } else if (
+ // If there is no preinstall or install script, default to rebuilding node-gyp packages.
event === 'install' &&
!scripts.install &&
!scripts.preinstall &&
gypfile !== false &&
await isNodeGypPackage(path)
- )
+ ) {
cmd = defaultGypInstallScript
- else if (event === 'start' && await isServerPackage(path))
+ } else if (event === 'start' && await isServerPackage(path)) {
cmd = 'node server.js' + args.map(a => ` ${JSON.stringify(a)}`).join('')
+ }
- if (!cmd)
+ if (!cmd) {
return { code: 0, signal: null }
+ }
if (stdio === 'inherit' && banner !== false) {
// we're dumping to the parent's stdout, so print the banner
@@ -66,11 +69,13 @@ const runScriptPkg = async options => {
path,
})
- if (stdio === 'inherit')
+ if (stdio === 'inherit') {
signalManager.add(p.process)
+ }
- if (p.stdin)
+ if (p.stdin) {
p.stdin.end()
+ }
return p.catch(er => {
const { signal } = er
@@ -80,8 +85,9 @@ const runScriptPkg = async options => {
// this also keeps the node process open long enough to actually
// get the signal, rather than terminating gracefully.
return new Promise((res, rej) => setTimeout(() => rej(er), signalTimeout))
- } else
+ } else {
throw er
+ }
})
}
diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/run-script.js b/deps/npm/node_modules/@npmcli/run-script/lib/run-script.js
index af33d2113f..6bb4a2e666 100644
--- a/deps/npm/node_modules/@npmcli/run-script/lib/run-script.js
+++ b/deps/npm/node_modules/@npmcli/run-script/lib/run-script.js
@@ -5,9 +5,9 @@ const isServerPackage = require('./is-server-package.js')
const runScript = options => {
validateOptions(options)
- const {pkg, path} = options
+ const { pkg, path } = options
return pkg ? runScriptPkg(options)
- : rpj(path + '/package.json').then(pkg => runScriptPkg({...options, pkg}))
+ : rpj(path + '/package.json').then(pkg => runScriptPkg({ ...options, pkg }))
}
module.exports = Object.assign(runScript, { isServerPackage })
diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js b/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js
index d7bd2c2886..d5f8707efc 100644
--- a/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js
+++ b/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js
@@ -1,4 +1,4 @@
-const {resolve, dirname} = require('path')
+const { resolve, dirname } = require('path')
const isWindows = require('./is-windows.js')
// the path here is relative, even though it does not need to be
// in order to make the posix tests pass in windows
@@ -34,8 +34,9 @@ const setPATH = (projectPath, env) => {
// npm or arborist or whoever to just provide that by putting it in
// the PATH environ, since that's preserved anyway.
for (const key of Object.keys(env)) {
- if (/^path$/i.test(key))
+ if (/^path$/i.test(key)) {
env[key] = pathVal
+ }
}
return env
diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/signal-manager.js b/deps/npm/node_modules/@npmcli/run-script/lib/signal-manager.js
index 556e758c25..7e10f859e0 100644
--- a/deps/npm/node_modules/@npmcli/run-script/lib/signal-manager.js
+++ b/deps/npm/node_modules/@npmcli/run-script/lib/signal-manager.js
@@ -3,7 +3,7 @@ let handlersInstalled = false
const forwardedSignals = [
'SIGINT',
- 'SIGTERM'
+ 'SIGTERM',
]
const handleSignal = signal => {
@@ -30,8 +30,9 @@ const cleanupListeners = () => {
const add = proc => {
runningProcs.add(proc)
- if (!handlersInstalled)
+ if (!handlersInstalled) {
setupListeners()
+ }
proc.once('exit', () => {
runningProcs.delete(proc)
@@ -42,5 +43,5 @@ const add = proc => {
module.exports = {
add,
handleSignal,
- forwardedSignals
+ forwardedSignals,
}
diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/validate-options.js b/deps/npm/node_modules/@npmcli/run-script/lib/validate-options.js
index 48ac5c5d9e..8d855916ec 100644
--- a/deps/npm/node_modules/@npmcli/run-script/lib/validate-options.js
+++ b/deps/npm/node_modules/@npmcli/run-script/lib/validate-options.js
@@ -1,6 +1,7 @@
const validateOptions = options => {
- if (typeof options !== 'object' || !options)
+ if (typeof options !== 'object' || !options) {
throw new TypeError('invalid options object provided to runScript')
+ }
const {
event,
@@ -12,20 +13,27 @@ const validateOptions = options => {
cmd,
} = options
- if (!event || typeof event !== 'string')
+ if (!event || typeof event !== 'string') {
throw new TypeError('valid event not provided to runScript')
- if (!path || typeof path !== 'string')
+ }
+ if (!path || typeof path !== 'string') {
throw new TypeError('valid path not provided to runScript')
- if (scriptShell !== undefined && typeof scriptShell !== 'string')
+ }
+ if (scriptShell !== undefined && typeof scriptShell !== 'string') {
throw new TypeError('invalid scriptShell option provided to runScript')
- if (typeof env !== 'object' || !env)
+ }
+ if (typeof env !== 'object' || !env) {
throw new TypeError('invalid env option provided to runScript')
- if (typeof stdio !== 'string' && !Array.isArray(stdio))
+ }
+ if (typeof stdio !== 'string' && !Array.isArray(stdio)) {
throw new TypeError('invalid stdio option provided to runScript')
- if (!Array.isArray(args) || args.some(a => typeof a !== 'string'))
+ }
+ if (!Array.isArray(args) || args.some(a => typeof a !== 'string')) {
throw new TypeError('invalid args option provided to runScript')
- if (cmd !== undefined && typeof cmd !== 'string')
+ }
+ if (cmd !== undefined && typeof cmd !== 'string') {
throw new TypeError('invalid cmd option provided to runScript')
+ }
}
module.exports = validateOptions
diff --git a/deps/npm/node_modules/@npmcli/run-script/package.json b/deps/npm/node_modules/@npmcli/run-script/package.json
index 9e744e639e..bb069a7a0a 100644
--- a/deps/npm/node_modules/@npmcli/run-script/package.json
+++ b/deps/npm/node_modules/@npmcli/run-script/package.json
@@ -1,8 +1,8 @@
{
"name": "@npmcli/run-script",
- "version": "2.0.0",
+ "version": "3.0.0",
"description": "Run a lifecycle script for a package (descendant of npm-lifecycle)",
- "author": "Isaac Z. Schlueter <i@izs.me> (https://izs.me)",
+ "author": "GitHub Inc.",
"license": "ISC",
"scripts": {
"test": "tap",
@@ -10,36 +10,42 @@
"postversion": "npm publish",
"prepublishOnly": "git push origin --follow-tags",
"eslint": "eslint",
- "lint": "npm run eslint -- \"lib/**/*.js\"",
- "lintfix": "npm run lint -- --fix"
+ "lint": "eslint '**/*.js'",
+ "lintfix": "npm run lint -- --fix",
+ "postlint": "npm-template-check",
+ "template-copy": "npm-template-copy --force",
+ "snap": "tap",
+ "posttest": "npm run lint"
},
"tap": {
"check-coverage": true,
"coverage-map": "map.js"
},
"devDependencies": {
- "eslint": "^7.19.0",
- "eslint-plugin-import": "^2.22.1",
- "eslint-plugin-node": "^11.1.0",
- "eslint-plugin-promise": "^4.2.1",
- "eslint-plugin-standard": "^5.0.0",
- "minipass": "^3.1.1",
+ "@npmcli/template-oss": "^2.7.1",
+ "minipass": "^3.1.6",
"require-inject": "^1.4.4",
"tap": "^15.0.4"
},
"dependencies": {
- "@npmcli/node-gyp": "^1.0.2",
+ "@npmcli/node-gyp": "^1.0.3",
"@npmcli/promise-spawn": "^1.3.2",
- "node-gyp": "^8.2.0",
- "read-package-json-fast": "^2.0.1"
+ "node-gyp": "^8.4.1",
+ "read-package-json-fast": "^2.0.3"
},
"files": [
- "lib/**/*.js",
- "lib/node-gyp-bin"
+ "bin",
+ "lib"
],
"main": "lib/run-script.js",
"repository": {
"type": "git",
"url": "git+https://github.com/npm/run-script.git"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16"
+ },
+ "templateOSS": {
+ "version": "2.7.1"
}
}
diff --git a/deps/npm/node_modules/ansi-regex/index.js b/deps/npm/node_modules/ansi-regex/index.js
deleted file mode 100644
index b9574ed7e8..0000000000
--- a/deps/npm/node_modules/ansi-regex/index.js
+++ /dev/null
@@ -1,4 +0,0 @@
-'use strict';
-module.exports = function () {
- return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g;
-};
diff --git a/deps/npm/node_modules/ansi-regex/license b/deps/npm/node_modules/ansi-regex/license
deleted file mode 100644
index 654d0bfe94..0000000000
--- a/deps/npm/node_modules/ansi-regex/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/deps/npm/node_modules/ansi-regex/package.json b/deps/npm/node_modules/ansi-regex/package.json
deleted file mode 100644
index eb44fb5c1f..0000000000
--- a/deps/npm/node_modules/ansi-regex/package.json
+++ /dev/null
@@ -1,64 +0,0 @@
-{
- "name": "ansi-regex",
- "version": "2.1.1",
- "description": "Regular expression for matching ANSI escape codes",
- "license": "MIT",
- "repository": "chalk/ansi-regex",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "maintainers": [
- "Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)",
- "Joshua Appelman <jappelman@xebia.com> (jbnicolai.com)",
- "JD Ballard <i.am.qix@gmail.com> (github.com/qix-)"
- ],
- "engines": {
- "node": ">=0.10.0"
- },
- "scripts": {
- "test": "xo && ava --verbose",
- "view-supported": "node fixtures/view-codes.js"
- },
- "files": [
- "index.js"
- ],
- "keywords": [
- "ansi",
- "styles",
- "color",
- "colour",
- "colors",
- "terminal",
- "console",
- "cli",
- "string",
- "tty",
- "escape",
- "formatting",
- "rgb",
- "256",
- "shell",
- "xterm",
- "command-line",
- "text",
- "regex",
- "regexp",
- "re",
- "match",
- "test",
- "find",
- "pattern"
- ],
- "devDependencies": {
- "ava": "0.17.0",
- "xo": "0.16.0"
- },
- "xo": {
- "rules": {
- "guard-for-in": 0,
- "no-loop-func": 0
- }
- }
-}
diff --git a/deps/npm/node_modules/ansi-regex/readme.md b/deps/npm/node_modules/ansi-regex/readme.md
deleted file mode 100644
index 6a928edf0f..0000000000
--- a/deps/npm/node_modules/ansi-regex/readme.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# ansi-regex [![Build Status](https://travis-ci.org/chalk/ansi-regex.svg?branch=master)](https://travis-ci.org/chalk/ansi-regex)
-
-> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code)
-
-
-## Install
-
-```
-$ npm install --save ansi-regex
-```
-
-
-## Usage
-
-```js
-const ansiRegex = require('ansi-regex');
-
-ansiRegex().test('\u001b[4mcake\u001b[0m');
-//=> true
-
-ansiRegex().test('cake');
-//=> false
-
-'\u001b[4mcake\u001b[0m'.match(ansiRegex());
-//=> ['\u001b[4m', '\u001b[0m']
-```
-
-## FAQ
-
-### Why do you test for codes not in the ECMA 48 standard?
-
-Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. If I recall correctly, we test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from the test because we cannot reliably match them.
-
-On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out.
-
-
-## License
-
-MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/index.js b/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/index.js
deleted file mode 100644
index 671f97f760..0000000000
--- a/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/index.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/* eslint-disable yoda */
-'use strict';
-
-const isFullwidthCodePoint = codePoint => {
- if (Number.isNaN(codePoint)) {
- return false;
- }
-
- // Code points are derived from:
- // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt
- if (
- codePoint >= 0x1100 && (
- codePoint <= 0x115F || // Hangul Jamo
- codePoint === 0x2329 || // LEFT-POINTING ANGLE BRACKET
- codePoint === 0x232A || // RIGHT-POINTING ANGLE BRACKET
- // CJK Radicals Supplement .. Enclosed CJK Letters and Months
- (0x2E80 <= codePoint && codePoint <= 0x3247 && codePoint !== 0x303F) ||
- // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
- (0x3250 <= codePoint && codePoint <= 0x4DBF) ||
- // CJK Unified Ideographs .. Yi Radicals
- (0x4E00 <= codePoint && codePoint <= 0xA4C6) ||
- // Hangul Jamo Extended-A
- (0xA960 <= codePoint && codePoint <= 0xA97C) ||
- // Hangul Syllables
- (0xAC00 <= codePoint && codePoint <= 0xD7A3) ||
- // CJK Compatibility Ideographs
- (0xF900 <= codePoint && codePoint <= 0xFAFF) ||
- // Vertical Forms
- (0xFE10 <= codePoint && codePoint <= 0xFE19) ||
- // CJK Compatibility Forms .. Small Form Variants
- (0xFE30 <= codePoint && codePoint <= 0xFE6B) ||
- // Halfwidth and Fullwidth Forms
- (0xFF01 <= codePoint && codePoint <= 0xFF60) ||
- (0xFFE0 <= codePoint && codePoint <= 0xFFE6) ||
- // Kana Supplement
- (0x1B000 <= codePoint && codePoint <= 0x1B001) ||
- // Enclosed Ideographic Supplement
- (0x1F200 <= codePoint && codePoint <= 0x1F251) ||
- // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
- (0x20000 <= codePoint && codePoint <= 0x3FFFD)
- )
- ) {
- return true;
- }
-
- return false;
-};
-
-module.exports = isFullwidthCodePoint;
-module.exports.default = isFullwidthCodePoint;
diff --git a/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/package.json b/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/package.json
deleted file mode 100644
index 2137e888fa..0000000000
--- a/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/package.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "name": "is-fullwidth-code-point",
- "version": "3.0.0",
- "description": "Check if the character represented by a given Unicode code point is fullwidth",
- "license": "MIT",
- "repository": "sindresorhus/is-fullwidth-code-point",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "xo && ava && tsd-check"
- },
- "files": [
- "index.js",
- "index.d.ts"
- ],
- "keywords": [
- "fullwidth",
- "full-width",
- "full",
- "width",
- "unicode",
- "character",
- "string",
- "codepoint",
- "code",
- "point",
- "is",
- "detect",
- "check"
- ],
- "devDependencies": {
- "ava": "^1.3.1",
- "tsd-check": "^0.5.0",
- "xo": "^0.24.0"
- }
-}
diff --git a/deps/npm/node_modules/cli-columns/node_modules/string-width/index.js b/deps/npm/node_modules/cli-columns/node_modules/string-width/index.js
deleted file mode 100644
index f4d261a96a..0000000000
--- a/deps/npm/node_modules/cli-columns/node_modules/string-width/index.js
+++ /dev/null
@@ -1,47 +0,0 @@
-'use strict';
-const stripAnsi = require('strip-ansi');
-const isFullwidthCodePoint = require('is-fullwidth-code-point');
-const emojiRegex = require('emoji-regex');
-
-const stringWidth = string => {
- if (typeof string !== 'string' || string.length === 0) {
- return 0;
- }
-
- string = stripAnsi(string);
-
- if (string.length === 0) {
- return 0;
- }
-
- string = string.replace(emojiRegex(), ' ');
-
- let width = 0;
-
- for (let i = 0; i < string.length; i++) {
- const code = string.codePointAt(i);
-
- // Ignore control characters
- if (code <= 0x1F || (code >= 0x7F && code <= 0x9F)) {
- continue;
- }
-
- // Ignore combining characters
- if (code >= 0x300 && code <= 0x36F) {
- continue;
- }
-
- // Surrogates
- if (code > 0xFFFF) {
- i++;
- }
-
- width += isFullwidthCodePoint(code) ? 2 : 1;
- }
-
- return width;
-};
-
-module.exports = stringWidth;
-// TODO: remove this in the next major version
-module.exports.default = stringWidth;
diff --git a/deps/npm/node_modules/cli-columns/node_modules/string-width/package.json b/deps/npm/node_modules/cli-columns/node_modules/string-width/package.json
deleted file mode 100644
index 28ba7b4cae..0000000000
--- a/deps/npm/node_modules/cli-columns/node_modules/string-width/package.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "name": "string-width",
- "version": "4.2.3",
- "description": "Get the visual width of a string - the number of columns required to display it",
- "license": "MIT",
- "repository": "sindresorhus/string-width",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "xo && ava && tsd"
- },
- "files": [
- "index.js",
- "index.d.ts"
- ],
- "keywords": [
- "string",
- "character",
- "unicode",
- "width",
- "visual",
- "column",
- "columns",
- "fullwidth",
- "full-width",
- "full",
- "ansi",
- "escape",
- "codes",
- "cli",
- "command-line",
- "terminal",
- "console",
- "cjk",
- "chinese",
- "japanese",
- "korean",
- "fixed-width"
- ],
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "devDependencies": {
- "ava": "^1.4.1",
- "tsd": "^0.7.1",
- "xo": "^0.24.0"
- }
-}
diff --git a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/license b/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/license
deleted file mode 100644
index e7af2f7710..0000000000
--- a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/readme.md b/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/readme.md
deleted file mode 100644
index 3c2b77c435..0000000000
--- a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/readme.md
+++ /dev/null
@@ -1,78 +0,0 @@
-# ansi-regex [![Build Status](https://travis-ci.org/chalk/ansi-regex.svg?branch=master)](https://travis-ci.org/chalk/ansi-regex)
-
-> Regular expression for matching [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code)
-
-
-## Install
-
-```
-$ npm install ansi-regex
-```
-
-
-## Usage
-
-```js
-const ansiRegex = require('ansi-regex');
-
-ansiRegex().test('\u001B[4mcake\u001B[0m');
-//=> true
-
-ansiRegex().test('cake');
-//=> false
-
-'\u001B[4mcake\u001B[0m'.match(ansiRegex());
-//=> ['\u001B[4m', '\u001B[0m']
-
-'\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true}));
-//=> ['\u001B[4m']
-
-'\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007'.match(ansiRegex());
-//=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007']
-```
-
-
-## API
-
-### ansiRegex(options?)
-
-Returns a regex for matching ANSI escape codes.
-
-#### options
-
-Type: `object`
-
-##### onlyFirst
-
-Type: `boolean`<br>
-Default: `false` *(Matches any ANSI escape codes in a string)*
-
-Match only the first ANSI escape.
-
-
-## FAQ
-
-### Why do you test for codes not in the ECMA 48 standard?
-
-Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. We test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from the test because we cannot reliably match them.
-
-On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out.
-
-
-## Maintainers
-
-- [Sindre Sorhus](https://github.com/sindresorhus)
-- [Josh Junon](https://github.com/qix-)
-
-
----
-
-<div align="center">
- <b>
- <a href="https://tidelift.com/subscription/pkg/npm-ansi-regex?utm_source=npm-ansi-regex&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
- </b>
- <br>
- <sub>
- Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
- </sub>
-</div>
diff --git a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/index.d.ts b/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/index.d.ts
deleted file mode 100644
index 729d202051..0000000000
--- a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/index.d.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
-Check if the character represented by a given [Unicode code point](https://en.wikipedia.org/wiki/Code_point) is [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms).
-
-@param codePoint - The [code point](https://en.wikipedia.org/wiki/Code_point) of a character.
-
-@example
-```
-import isFullwidthCodePoint from 'is-fullwidth-code-point';
-
-isFullwidthCodePoint('谢'.codePointAt(0));
-//=> true
-
-isFullwidthCodePoint('a'.codePointAt(0));
-//=> false
-```
-*/
-export default function isFullwidthCodePoint(codePoint: number): boolean;
diff --git a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/index.js b/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/index.js
deleted file mode 100644
index 671f97f760..0000000000
--- a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/index.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/* eslint-disable yoda */
-'use strict';
-
-const isFullwidthCodePoint = codePoint => {
- if (Number.isNaN(codePoint)) {
- return false;
- }
-
- // Code points are derived from:
- // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt
- if (
- codePoint >= 0x1100 && (
- codePoint <= 0x115F || // Hangul Jamo
- codePoint === 0x2329 || // LEFT-POINTING ANGLE BRACKET
- codePoint === 0x232A || // RIGHT-POINTING ANGLE BRACKET
- // CJK Radicals Supplement .. Enclosed CJK Letters and Months
- (0x2E80 <= codePoint && codePoint <= 0x3247 && codePoint !== 0x303F) ||
- // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
- (0x3250 <= codePoint && codePoint <= 0x4DBF) ||
- // CJK Unified Ideographs .. Yi Radicals
- (0x4E00 <= codePoint && codePoint <= 0xA4C6) ||
- // Hangul Jamo Extended-A
- (0xA960 <= codePoint && codePoint <= 0xA97C) ||
- // Hangul Syllables
- (0xAC00 <= codePoint && codePoint <= 0xD7A3) ||
- // CJK Compatibility Ideographs
- (0xF900 <= codePoint && codePoint <= 0xFAFF) ||
- // Vertical Forms
- (0xFE10 <= codePoint && codePoint <= 0xFE19) ||
- // CJK Compatibility Forms .. Small Form Variants
- (0xFE30 <= codePoint && codePoint <= 0xFE6B) ||
- // Halfwidth and Fullwidth Forms
- (0xFF01 <= codePoint && codePoint <= 0xFF60) ||
- (0xFFE0 <= codePoint && codePoint <= 0xFFE6) ||
- // Kana Supplement
- (0x1B000 <= codePoint && codePoint <= 0x1B001) ||
- // Enclosed Ideographic Supplement
- (0x1F200 <= codePoint && codePoint <= 0x1F251) ||
- // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
- (0x20000 <= codePoint && codePoint <= 0x3FFFD)
- )
- ) {
- return true;
- }
-
- return false;
-};
-
-module.exports = isFullwidthCodePoint;
-module.exports.default = isFullwidthCodePoint;
diff --git a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/license b/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/license
deleted file mode 100644
index e7af2f7710..0000000000
--- a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/package.json b/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/package.json
deleted file mode 100644
index 2137e888fa..0000000000
--- a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/package.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "name": "is-fullwidth-code-point",
- "version": "3.0.0",
- "description": "Check if the character represented by a given Unicode code point is fullwidth",
- "license": "MIT",
- "repository": "sindresorhus/is-fullwidth-code-point",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "xo && ava && tsd-check"
- },
- "files": [
- "index.js",
- "index.d.ts"
- ],
- "keywords": [
- "fullwidth",
- "full-width",
- "full",
- "width",
- "unicode",
- "character",
- "string",
- "codepoint",
- "code",
- "point",
- "is",
- "detect",
- "check"
- ],
- "devDependencies": {
- "ava": "^1.3.1",
- "tsd-check": "^0.5.0",
- "xo": "^0.24.0"
- }
-}
diff --git a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/readme.md b/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/readme.md
deleted file mode 100644
index 4236bba980..0000000000
--- a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/readme.md
+++ /dev/null
@@ -1,39 +0,0 @@
-# is-fullwidth-code-point [![Build Status](https://travis-ci.org/sindresorhus/is-fullwidth-code-point.svg?branch=master)](https://travis-ci.org/sindresorhus/is-fullwidth-code-point)
-
-> Check if the character represented by a given [Unicode code point](https://en.wikipedia.org/wiki/Code_point) is [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms)
-
-
-## Install
-
-```
-$ npm install is-fullwidth-code-point
-```
-
-
-## Usage
-
-```js
-const isFullwidthCodePoint = require('is-fullwidth-code-point');
-
-isFullwidthCodePoint('谢'.codePointAt(0));
-//=> true
-
-isFullwidthCodePoint('a'.codePointAt(0));
-//=> false
-```
-
-
-## API
-
-### isFullwidthCodePoint(codePoint)
-
-#### codePoint
-
-Type: `number`
-
-The [code point](https://en.wikipedia.org/wiki/Code_point) of a character.
-
-
-## License
-
-MIT © [Sindre Sorhus](https://sindresorhus.com)
diff --git a/deps/npm/node_modules/cli-table3/node_modules/string-width/index.d.ts b/deps/npm/node_modules/cli-table3/node_modules/string-width/index.d.ts
deleted file mode 100644
index 12b5309751..0000000000
--- a/deps/npm/node_modules/cli-table3/node_modules/string-width/index.d.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-declare const stringWidth: {
- /**
- Get the visual width of a string - the number of columns required to display it.
-
- Some Unicode characters are [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) and use double the normal width. [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) are stripped and doesn't affect the width.
-
- @example
- ```
- import stringWidth = require('string-width');
-
- stringWidth('a');
- //=> 1
-
- stringWidth('古');
- //=> 2
-
- stringWidth('\u001B[1m古\u001B[22m');
- //=> 2
- ```
- */
- (string: string): number;
-
- // TODO: remove this in the next major version, refactor the whole definition to:
- // declare function stringWidth(string: string): number;
- // export = stringWidth;
- default: typeof stringWidth;
-}
-
-export = stringWidth;
diff --git a/deps/npm/node_modules/cli-table3/node_modules/string-width/index.js b/deps/npm/node_modules/cli-table3/node_modules/string-width/index.js
deleted file mode 100644
index f4d261a96a..0000000000
--- a/deps/npm/node_modules/cli-table3/node_modules/string-width/index.js
+++ /dev/null
@@ -1,47 +0,0 @@
-'use strict';
-const stripAnsi = require('strip-ansi');
-const isFullwidthCodePoint = require('is-fullwidth-code-point');
-const emojiRegex = require('emoji-regex');
-
-const stringWidth = string => {
- if (typeof string !== 'string' || string.length === 0) {
- return 0;
- }
-
- string = stripAnsi(string);
-
- if (string.length === 0) {
- return 0;
- }
-
- string = string.replace(emojiRegex(), ' ');
-
- let width = 0;
-
- for (let i = 0; i < string.length; i++) {
- const code = string.codePointAt(i);
-
- // Ignore control characters
- if (code <= 0x1F || (code >= 0x7F && code <= 0x9F)) {
- continue;
- }
-
- // Ignore combining characters
- if (code >= 0x300 && code <= 0x36F) {
- continue;
- }
-
- // Surrogates
- if (code > 0xFFFF) {
- i++;
- }
-
- width += isFullwidthCodePoint(code) ? 2 : 1;
- }
-
- return width;
-};
-
-module.exports = stringWidth;
-// TODO: remove this in the next major version
-module.exports.default = stringWidth;
diff --git a/deps/npm/node_modules/cli-table3/node_modules/string-width/license b/deps/npm/node_modules/cli-table3/node_modules/string-width/license
deleted file mode 100644
index e7af2f7710..0000000000
--- a/deps/npm/node_modules/cli-table3/node_modules/string-width/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/deps/npm/node_modules/cli-table3/node_modules/string-width/package.json b/deps/npm/node_modules/cli-table3/node_modules/string-width/package.json
deleted file mode 100644
index b9b20caaf6..0000000000
--- a/deps/npm/node_modules/cli-table3/node_modules/string-width/package.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "name": "string-width",
- "version": "4.2.2",
- "description": "Get the visual width of a string - the number of columns required to display it",
- "license": "MIT",
- "repository": "sindresorhus/string-width",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "xo && ava && tsd"
- },
- "files": [
- "index.js",
- "index.d.ts"
- ],
- "keywords": [
- "string",
- "character",
- "unicode",
- "width",
- "visual",
- "column",
- "columns",
- "fullwidth",
- "full-width",
- "full",
- "ansi",
- "escape",
- "codes",
- "cli",
- "command-line",
- "terminal",
- "console",
- "cjk",
- "chinese",
- "japanese",
- "korean",
- "fixed-width"
- ],
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.0"
- },
- "devDependencies": {
- "ava": "^1.4.1",
- "tsd": "^0.7.1",
- "xo": "^0.24.0"
- }
-}
diff --git a/deps/npm/node_modules/cli-table3/node_modules/string-width/readme.md b/deps/npm/node_modules/cli-table3/node_modules/string-width/readme.md
deleted file mode 100644
index bdd314129c..0000000000
--- a/deps/npm/node_modules/cli-table3/node_modules/string-width/readme.md
+++ /dev/null
@@ -1,50 +0,0 @@
-# string-width
-
-> Get the visual width of a string - the number of columns required to display it
-
-Some Unicode characters are [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) and use double the normal width. [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) are stripped and doesn't affect the width.
-
-Useful to be able to measure the actual width of command-line output.
-
-
-## Install
-
-```
-$ npm install string-width
-```
-
-
-## Usage
-
-```js
-const stringWidth = require('string-width');
-
-stringWidth('a');
-//=> 1
-
-stringWidth('古');
-//=> 2
-
-stringWidth('\u001B[1m古\u001B[22m');
-//=> 2
-```
-
-
-## Related
-
-- [string-width-cli](https://github.com/sindresorhus/string-width-cli) - CLI for this module
-- [string-length](https://github.com/sindresorhus/string-length) - Get the real length of a string
-- [widest-line](https://github.com/sindresorhus/widest-line) - Get the visual width of the widest line in a string
-
-
----
-
-<div align="center">
- <b>
- <a href="https://tidelift.com/subscription/pkg/npm-string-width?utm_source=npm-string-width&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
- </b>
- <br>
- <sub>
- Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
- </sub>
-</div>
diff --git a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/license b/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/license
deleted file mode 100644
index e7af2f7710..0000000000
--- a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/readme.md b/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/readme.md
deleted file mode 100644
index 7c4b56d46d..0000000000
--- a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/readme.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# strip-ansi [![Build Status](https://travis-ci.org/chalk/strip-ansi.svg?branch=master)](https://travis-ci.org/chalk/strip-ansi)
-
-> Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string
-
-
-## Install
-
-```
-$ npm install strip-ansi
-```
-
-
-## Usage
-
-```js
-const stripAnsi = require('strip-ansi');
-
-stripAnsi('\u001B[4mUnicorn\u001B[0m');
-//=> 'Unicorn'
-
-stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007');
-//=> 'Click'
-```
-
-
-## strip-ansi for enterprise
-
-Available as part of the Tidelift Subscription.
-
-The maintainers of strip-ansi and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-strip-ansi?utm_source=npm-strip-ansi&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
-
-
-## Related
-
-- [strip-ansi-cli](https://github.com/chalk/strip-ansi-cli) - CLI for this module
-- [strip-ansi-stream](https://github.com/chalk/strip-ansi-stream) - Streaming version of this module
-- [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes
-- [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes
-- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right
-
-
-## Maintainers
-
-- [Sindre Sorhus](https://github.com/sindresorhus)
-- [Josh Junon](https://github.com/qix-)
-
diff --git a/deps/npm/node_modules/columnify/Readme.md b/deps/npm/node_modules/columnify/Readme.md
index 4a37928a76..868a4a4aa0 100644
--- a/deps/npm/node_modules/columnify/Readme.md
+++ b/deps/npm/node_modules/columnify/Readme.md
@@ -1,13 +1,8 @@
# columnify
-[![NPM](https://nodei.co/npm/columnify.png?downloads=true&downloadRank=true&stars=true&chrome)](https://nodei.co/npm-dl/columnify/)
-[![NPM](https://nodei.co/npm-dl/columnify.png?months=3&height=3&chrome)](https://nodei.co/npm/columnify/)
-
-[![Build Status](https://img.shields.io/travis/timoxley/columnify.svg?style=flat)](https://travis-ci.org/timoxley/columnify)
+[![Columnify Unit Tests](https://github.com/timoxley/columnify/actions/workflows/test.yml/badge.svg)](https://github.com/timoxley/columnify/actions/workflows/test.yml)
[![NPM Version](https://img.shields.io/npm/v/columnify.svg?style=flat)](https://npmjs.org/package/columnify)
[![License](http://img.shields.io/npm/l/columnify.svg?style=flat)](LICENSE)
-[![Dependency Status](https://david-dm.org/timoxley/columnify.svg)](https://david-dm.org/timoxley/columnify)
-[![devDependency Status](https://david-dm.org/timoxley/columnify/dev-status.svg)](https://david-dm.org/timoxley/columnify#info=devDependencies)
Create text-based columns suitable for console output from objects or
arrays of objects.
@@ -22,10 +17,10 @@ Designed to [handle sensible wrapping in npm search results](https://github.com/
![npm-tidy-search](https://f.cloud.github.com/assets/43438/1848959/ae02ad04-76a1-11e3-8255-4781debffc26.gif)
-## Installation & Update
+## Installation
```
-$ npm install --save columnify@latest
+$ npm install columnify
```
## Usage
@@ -379,7 +374,7 @@ var columns = columnify(data, {
```
### Transforming Column Data and Headers
-If you need to modify the presentation of column content or heading content there are two useful options for doing that: `dataTransform` and `headerTransform`. Both of these take a function and need to return a valid string.
+If you need to modify the presentation of column content or heading content there are two useful options for doing that: `dataTransform` and `headingTransform`. Both of these take a function and need to return a valid string.
```javascript
var columns = columnify([{
@@ -392,6 +387,9 @@ var columns = columnify([{
dataTransform: function(data) {
return data.toLowerCase()
},
+ headingTransform: function(heading) {
+ return heading.toLowerCase()
+ },
config: {
name: {
headingTransform: function(heading) {
@@ -404,7 +402,7 @@ var columns = columnify([{
```
#### Output:
```
-*MODULE NAME* DESCRIPTION
+*MODULE NAME* description
mod1 some description text.
module-two some slightly longer description text.
```
@@ -450,19 +448,26 @@ module-one some description 0.0.1
```
project : columnify
- repo age : 1 year, 2 months
- active : 32 days
- commits : 120
- files : 54
+ repo age : 8 years
+ active : 47 days
+ commits : 180
+ files : 57
authors :
- 90 Tim Oxley 75.0%
- 8 Tim 6.7%
- 7 Arjun Mehta 5.8%
- 6 Dany 5.0%
- 5 Wei Gao 4.2%
- 2 Dany Shaanan 1.7%
- 1 Seth Miller 0.8%
- 1 Isaac Z. Schlueter 0.8%
+ 123 Tim Oxley 68.3%
+ 11 Nicholas Hoffman 6.1%
+ 8 Tim 4.4%
+ 7 Arjun Mehta 3.9%
+ 6 Dany 3.3%
+ 5 Tim Kevin Oxley 2.8%
+ 5 Wei Gao 2.8%
+ 4 Matias Singers 2.2%
+ 3 Michael Kriese 1.7%
+ 2 sreekanth370 1.1%
+ 2 Dany Shaanan 1.1%
+ 1 Tim Malone 0.6%
+ 1 Seth Miller 0.6%
+ 1 andyfusniak 0.6%
+ 1 Isaac Z. Schlueter 0.6%
```
## License
diff --git a/deps/npm/node_modules/columnify/columnify.js b/deps/npm/node_modules/columnify/columnify.js
index 334d5509ae..dcef9236e1 100644
--- a/deps/npm/node_modules/columnify/columnify.js
+++ b/deps/npm/node_modules/columnify/columnify.js
@@ -2,14 +2,13 @@
var wcwidth = require('./width');
-var _require = require('./utils');
-
-var padRight = _require.padRight;
-var padCenter = _require.padCenter;
-var padLeft = _require.padLeft;
-var splitIntoLines = _require.splitIntoLines;
-var splitLongWords = _require.splitLongWords;
-var truncateString = _require.truncateString;
+var _require = require('./utils'),
+ padRight = _require.padRight,
+ padCenter = _require.padCenter,
+ padLeft = _require.padLeft,
+ splitIntoLines = _require.splitIntoLines,
+ splitLongWords = _require.splitLongWords,
+ truncateString = _require.truncateString;
var DEFAULT_HEADING_TRANSFORM = function DEFAULT_HEADING_TRANSFORM(key) {
return key.toUpperCase();
@@ -33,7 +32,8 @@ var DEFAULTS = Object.freeze({
});
module.exports = function (items) {
- var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1];
+ var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
+
var columnConfigs = options.config || {};
delete options.config; // remove config so doesn't appear on every column.
@@ -244,9 +244,7 @@ function createRows(items, columns, columnNames, paddingChr) {
*/
function mixin() {
- var _Object;
-
- if (Object.assign) return (_Object = Object).assign.apply(_Object, arguments);
+ if (Object.assign) return Object.assign.apply(Object, arguments);
return ObjectAssign.apply(undefined, arguments);
}
diff --git a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/index.d.ts b/deps/npm/node_modules/columnify/node_modules/ansi-regex/index.d.ts
index 2dbf6af2b6..2dbf6af2b6 100644
--- a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/index.d.ts
+++ b/deps/npm/node_modules/columnify/node_modules/ansi-regex/index.d.ts
diff --git a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/index.js b/deps/npm/node_modules/columnify/node_modules/ansi-regex/index.js
index 35054aa677..616ff837d3 100644
--- a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/index.js
+++ b/deps/npm/node_modules/columnify/node_modules/ansi-regex/index.js
@@ -2,7 +2,7 @@
module.exports = ({onlyFirst = false} = {}) => {
const pattern = [
- '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)',
+ '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)',
'(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'
].join('|');
diff --git a/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/license b/deps/npm/node_modules/columnify/node_modules/ansi-regex/license
index e7af2f7710..e7af2f7710 100644
--- a/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/license
+++ b/deps/npm/node_modules/columnify/node_modules/ansi-regex/license
diff --git a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/package.json b/deps/npm/node_modules/columnify/node_modules/ansi-regex/package.json
index 7af801f352..017f53116a 100644
--- a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/package.json
+++ b/deps/npm/node_modules/columnify/node_modules/ansi-regex/package.json
@@ -1,6 +1,6 @@
{
"name": "ansi-regex",
- "version": "5.0.0",
+ "version": "5.0.1",
"description": "Regular expression for matching ANSI escape codes",
"license": "MIT",
"repository": "chalk/ansi-regex",
diff --git a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/index.d.ts b/deps/npm/node_modules/columnify/node_modules/strip-ansi/index.d.ts
index 907fccc292..907fccc292 100644
--- a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/index.d.ts
+++ b/deps/npm/node_modules/columnify/node_modules/strip-ansi/index.d.ts
diff --git a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/index.js b/deps/npm/node_modules/columnify/node_modules/strip-ansi/index.js
index 9a593dfcd1..9a593dfcd1 100644
--- a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/index.js
+++ b/deps/npm/node_modules/columnify/node_modules/strip-ansi/index.js
diff --git a/deps/npm/node_modules/cli-columns/node_modules/string-width/license b/deps/npm/node_modules/columnify/node_modules/strip-ansi/license
index e7af2f7710..e7af2f7710 100644
--- a/deps/npm/node_modules/cli-columns/node_modules/string-width/license
+++ b/deps/npm/node_modules/columnify/node_modules/strip-ansi/license
diff --git a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/package.json b/deps/npm/node_modules/columnify/node_modules/strip-ansi/package.json
index 65a6c95161..1a41108d42 100644
--- a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/package.json
+++ b/deps/npm/node_modules/columnify/node_modules/strip-ansi/package.json
@@ -1,6 +1,6 @@
{
"name": "strip-ansi",
- "version": "6.0.0",
+ "version": "6.0.1",
"description": "Strip ANSI escape codes from a string",
"license": "MIT",
"repository": "chalk/strip-ansi",
@@ -44,7 +44,7 @@
"text"
],
"dependencies": {
- "ansi-regex": "^5.0.0"
+ "ansi-regex": "^5.0.1"
},
"devDependencies": {
"ava": "^2.4.0",
diff --git a/deps/npm/node_modules/columnify/package.json b/deps/npm/node_modules/columnify/package.json
index 4bff7f5268..29565407a8 100644
--- a/deps/npm/node_modules/columnify/package.json
+++ b/deps/npm/node_modules/columnify/package.json
@@ -1,6 +1,6 @@
{
"name": "columnify",
- "version": "1.5.4",
+ "version": "1.6.0",
"description": "Render data in text columns. Supports in-column text-wrap.",
"main": "columnify.js",
"scripts": {
@@ -17,11 +17,10 @@
"author": "Tim Oxley",
"license": "MIT",
"devDependencies": {
- "babel": "^6.3.26",
- "babel-cli": "^6.3.17",
+ "babel-cli": "^6.26.0",
"babel-preset-es2015": "^6.3.13",
"chalk": "^1.1.1",
- "tap-spec": "^4.1.1",
+ "tap-spec": "^5.0.0",
"tape": "^4.4.0"
},
"repository": {
@@ -41,8 +40,11 @@
"url": "https://github.com/timoxley/columnify/issues"
},
"homepage": "https://github.com/timoxley/columnify",
+ "engines": {
+ "node": ">=8.0.0"
+ },
"dependencies": {
- "strip-ansi": "^3.0.0",
+ "strip-ansi": "^6.0.1",
"wcwidth": "^1.0.0"
},
"directories": {
diff --git a/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/index.d.ts b/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/index.d.ts
deleted file mode 100644
index 729d202051..0000000000
--- a/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/index.d.ts
+++ /dev/null
@@ -1,17 +0,0 @@
-/**
-Check if the character represented by a given [Unicode code point](https://en.wikipedia.org/wiki/Code_point) is [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms).
-
-@param codePoint - The [code point](https://en.wikipedia.org/wiki/Code_point) of a character.
-
-@example
-```
-import isFullwidthCodePoint from 'is-fullwidth-code-point';
-
-isFullwidthCodePoint('谢'.codePointAt(0));
-//=> true
-
-isFullwidthCodePoint('a'.codePointAt(0));
-//=> false
-```
-*/
-export default function isFullwidthCodePoint(codePoint: number): boolean;
diff --git a/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/index.js b/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/index.js
deleted file mode 100644
index 671f97f760..0000000000
--- a/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/index.js
+++ /dev/null
@@ -1,50 +0,0 @@
-/* eslint-disable yoda */
-'use strict';
-
-const isFullwidthCodePoint = codePoint => {
- if (Number.isNaN(codePoint)) {
- return false;
- }
-
- // Code points are derived from:
- // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt
- if (
- codePoint >= 0x1100 && (
- codePoint <= 0x115F || // Hangul Jamo
- codePoint === 0x2329 || // LEFT-POINTING ANGLE BRACKET
- codePoint === 0x232A || // RIGHT-POINTING ANGLE BRACKET
- // CJK Radicals Supplement .. Enclosed CJK Letters and Months
- (0x2E80 <= codePoint && codePoint <= 0x3247 && codePoint !== 0x303F) ||
- // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
- (0x3250 <= codePoint && codePoint <= 0x4DBF) ||
- // CJK Unified Ideographs .. Yi Radicals
- (0x4E00 <= codePoint && codePoint <= 0xA4C6) ||
- // Hangul Jamo Extended-A
- (0xA960 <= codePoint && codePoint <= 0xA97C) ||
- // Hangul Syllables
- (0xAC00 <= codePoint && codePoint <= 0xD7A3) ||
- // CJK Compatibility Ideographs
- (0xF900 <= codePoint && codePoint <= 0xFAFF) ||
- // Vertical Forms
- (0xFE10 <= codePoint && codePoint <= 0xFE19) ||
- // CJK Compatibility Forms .. Small Form Variants
- (0xFE30 <= codePoint && codePoint <= 0xFE6B) ||
- // Halfwidth and Fullwidth Forms
- (0xFF01 <= codePoint && codePoint <= 0xFF60) ||
- (0xFFE0 <= codePoint && codePoint <= 0xFFE6) ||
- // Kana Supplement
- (0x1B000 <= codePoint && codePoint <= 0x1B001) ||
- // Enclosed Ideographic Supplement
- (0x1F200 <= codePoint && codePoint <= 0x1F251) ||
- // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
- (0x20000 <= codePoint && codePoint <= 0x3FFFD)
- )
- ) {
- return true;
- }
-
- return false;
-};
-
-module.exports = isFullwidthCodePoint;
-module.exports.default = isFullwidthCodePoint;
diff --git a/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/license b/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/license
deleted file mode 100644
index e7af2f7710..0000000000
--- a/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/package.json b/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/package.json
deleted file mode 100644
index 2137e888fa..0000000000
--- a/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/package.json
+++ /dev/null
@@ -1,42 +0,0 @@
-{
- "name": "is-fullwidth-code-point",
- "version": "3.0.0",
- "description": "Check if the character represented by a given Unicode code point is fullwidth",
- "license": "MIT",
- "repository": "sindresorhus/is-fullwidth-code-point",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "xo && ava && tsd-check"
- },
- "files": [
- "index.js",
- "index.d.ts"
- ],
- "keywords": [
- "fullwidth",
- "full-width",
- "full",
- "width",
- "unicode",
- "character",
- "string",
- "codepoint",
- "code",
- "point",
- "is",
- "detect",
- "check"
- ],
- "devDependencies": {
- "ava": "^1.3.1",
- "tsd-check": "^0.5.0",
- "xo": "^0.24.0"
- }
-}
diff --git a/deps/npm/node_modules/gauge/node_modules/string-width/index.d.ts b/deps/npm/node_modules/gauge/node_modules/string-width/index.d.ts
deleted file mode 100644
index 12b5309751..0000000000
--- a/deps/npm/node_modules/gauge/node_modules/string-width/index.d.ts
+++ /dev/null
@@ -1,29 +0,0 @@
-declare const stringWidth: {
- /**
- Get the visual width of a string - the number of columns required to display it.
-
- Some Unicode characters are [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) and use double the normal width. [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) are stripped and doesn't affect the width.
-
- @example
- ```
- import stringWidth = require('string-width');
-
- stringWidth('a');
- //=> 1
-
- stringWidth('古');
- //=> 2
-
- stringWidth('\u001B[1m古\u001B[22m');
- //=> 2
- ```
- */
- (string: string): number;
-
- // TODO: remove this in the next major version, refactor the whole definition to:
- // declare function stringWidth(string: string): number;
- // export = stringWidth;
- default: typeof stringWidth;
-}
-
-export = stringWidth;
diff --git a/deps/npm/node_modules/gauge/node_modules/string-width/index.js b/deps/npm/node_modules/gauge/node_modules/string-width/index.js
deleted file mode 100644
index f4d261a96a..0000000000
--- a/deps/npm/node_modules/gauge/node_modules/string-width/index.js
+++ /dev/null
@@ -1,47 +0,0 @@
-'use strict';
-const stripAnsi = require('strip-ansi');
-const isFullwidthCodePoint = require('is-fullwidth-code-point');
-const emojiRegex = require('emoji-regex');
-
-const stringWidth = string => {
- if (typeof string !== 'string' || string.length === 0) {
- return 0;
- }
-
- string = stripAnsi(string);
-
- if (string.length === 0) {
- return 0;
- }
-
- string = string.replace(emojiRegex(), ' ');
-
- let width = 0;
-
- for (let i = 0; i < string.length; i++) {
- const code = string.codePointAt(i);
-
- // Ignore control characters
- if (code <= 0x1F || (code >= 0x7F && code <= 0x9F)) {
- continue;
- }
-
- // Ignore combining characters
- if (code >= 0x300 && code <= 0x36F) {
- continue;
- }
-
- // Surrogates
- if (code > 0xFFFF) {
- i++;
- }
-
- width += isFullwidthCodePoint(code) ? 2 : 1;
- }
-
- return width;
-};
-
-module.exports = stringWidth;
-// TODO: remove this in the next major version
-module.exports.default = stringWidth;
diff --git a/deps/npm/node_modules/gauge/node_modules/string-width/license b/deps/npm/node_modules/gauge/node_modules/string-width/license
deleted file mode 100644
index e7af2f7710..0000000000
--- a/deps/npm/node_modules/gauge/node_modules/string-width/license
+++ /dev/null
@@ -1,9 +0,0 @@
-MIT License
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/deps/npm/node_modules/gauge/node_modules/string-width/package.json b/deps/npm/node_modules/gauge/node_modules/string-width/package.json
deleted file mode 100644
index 28ba7b4cae..0000000000
--- a/deps/npm/node_modules/gauge/node_modules/string-width/package.json
+++ /dev/null
@@ -1,56 +0,0 @@
-{
- "name": "string-width",
- "version": "4.2.3",
- "description": "Get the visual width of a string - the number of columns required to display it",
- "license": "MIT",
- "repository": "sindresorhus/string-width",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=8"
- },
- "scripts": {
- "test": "xo && ava && tsd"
- },
- "files": [
- "index.js",
- "index.d.ts"
- ],
- "keywords": [
- "string",
- "character",
- "unicode",
- "width",
- "visual",
- "column",
- "columns",
- "fullwidth",
- "full-width",
- "full",
- "ansi",
- "escape",
- "codes",
- "cli",
- "command-line",
- "terminal",
- "console",
- "cjk",
- "chinese",
- "japanese",
- "korean",
- "fixed-width"
- ],
- "dependencies": {
- "emoji-regex": "^8.0.0",
- "is-fullwidth-code-point": "^3.0.0",
- "strip-ansi": "^6.0.1"
- },
- "devDependencies": {
- "ava": "^1.4.1",
- "tsd": "^0.7.1",
- "xo": "^0.24.0"
- }
-}
diff --git a/deps/npm/node_modules/init-package-json/lib/init-package-json.js b/deps/npm/node_modules/init-package-json/lib/init-package-json.js
index bee79351ca..f13a34ce6f 100644
--- a/deps/npm/node_modules/init-package-json/lib/init-package-json.js
+++ b/deps/npm/node_modules/init-package-json/lib/init-package-json.js
@@ -127,7 +127,7 @@ function init (dir, input, config, cb) {
return write(true)
}
console.log('About to write to %s:\n\n%s\n', packageFile, d)
- read({prompt: 'Is this OK? ', default: 'yes'}, function (er, ok) {
+ read({ prompt: 'Is this OK? ', default: 'yes' }, function (er, ok) {
if (er) {
return cb(er)
}
diff --git a/deps/npm/node_modules/init-package-json/package.json b/deps/npm/node_modules/init-package-json/package.json
index 6d642f6cf6..7649c503de 100644
--- a/deps/npm/node_modules/init-package-json/package.json
+++ b/deps/npm/node_modules/init-package-json/package.json
@@ -1,6 +1,6 @@
{
"name": "init-package-json",
- "version": "2.0.5",
+ "version": "3.0.0",
"main": "lib/init-package-json.js",
"scripts": {
"test": "tap",
@@ -11,7 +11,8 @@
"postlint": "npm-template-check",
"lintfix": "npm run lint -- --fix",
"snap": "tap",
- "posttest": "npm run lint"
+ "posttest": "npm run lint",
+ "template-copy": "npm-template-copy --force"
},
"repository": {
"type": "git",
@@ -21,21 +22,21 @@
"license": "ISC",
"description": "A node module to get your node module started",
"dependencies": {
- "npm-package-arg": "^8.1.5",
+ "npm-package-arg": "^9.0.0",
"promzard": "^0.3.0",
- "read": "~1.0.1",
+ "read": "^1.0.7",
"read-package-json": "^4.1.1",
"semver": "^7.3.5",
"validate-npm-package-license": "^3.0.4",
"validate-npm-package-name": "^3.0.0"
},
"devDependencies": {
- "@npmcli/config": "^2.1.0",
- "@npmcli/template-oss": "^1.0.3",
- "tap": "^15.0.9"
+ "@npmcli/config": "^4.0.0",
+ "@npmcli/template-oss": "^2.7.1",
+ "tap": "^15.1.6"
},
"engines": {
- "node": ">=10"
+ "node": "^12.13.0 || ^14.15.0 || >=16"
},
"tap": {
"statements": "94",
@@ -56,5 +57,7 @@
"bin",
"lib"
],
- "templateVersion": "1.0.3"
+ "templateOSS": {
+ "version": "2.7.1"
+ }
}
diff --git a/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/index.d.ts b/deps/npm/node_modules/is-fullwidth-code-point/index.d.ts
index 729d202051..729d202051 100644
--- a/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/index.d.ts
+++ b/deps/npm/node_modules/is-fullwidth-code-point/index.d.ts
diff --git a/deps/npm/node_modules/is-fullwidth-code-point/index.js b/deps/npm/node_modules/is-fullwidth-code-point/index.js
index d506327c3e..671f97f760 100644
--- a/deps/npm/node_modules/is-fullwidth-code-point/index.js
+++ b/deps/npm/node_modules/is-fullwidth-code-point/index.js
@@ -1,42 +1,43 @@
-'use strict';
/* eslint-disable yoda */
-module.exports = x => {
- if (Number.isNaN(x)) {
+'use strict';
+
+const isFullwidthCodePoint = codePoint => {
+ if (Number.isNaN(codePoint)) {
return false;
}
- // code points are derived from:
+ // Code points are derived from:
// http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt
if (
- x >= 0x1100 && (
- x <= 0x115f || // Hangul Jamo
- x === 0x2329 || // LEFT-POINTING ANGLE BRACKET
- x === 0x232a || // RIGHT-POINTING ANGLE BRACKET
+ codePoint >= 0x1100 && (
+ codePoint <= 0x115F || // Hangul Jamo
+ codePoint === 0x2329 || // LEFT-POINTING ANGLE BRACKET
+ codePoint === 0x232A || // RIGHT-POINTING ANGLE BRACKET
// CJK Radicals Supplement .. Enclosed CJK Letters and Months
- (0x2e80 <= x && x <= 0x3247 && x !== 0x303f) ||
+ (0x2E80 <= codePoint && codePoint <= 0x3247 && codePoint !== 0x303F) ||
// Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A
- (0x3250 <= x && x <= 0x4dbf) ||
+ (0x3250 <= codePoint && codePoint <= 0x4DBF) ||
// CJK Unified Ideographs .. Yi Radicals
- (0x4e00 <= x && x <= 0xa4c6) ||
+ (0x4E00 <= codePoint && codePoint <= 0xA4C6) ||
// Hangul Jamo Extended-A
- (0xa960 <= x && x <= 0xa97c) ||
+ (0xA960 <= codePoint && codePoint <= 0xA97C) ||
// Hangul Syllables
- (0xac00 <= x && x <= 0xd7a3) ||
+ (0xAC00 <= codePoint && codePoint <= 0xD7A3) ||
// CJK Compatibility Ideographs
- (0xf900 <= x && x <= 0xfaff) ||
+ (0xF900 <= codePoint && codePoint <= 0xFAFF) ||
// Vertical Forms
- (0xfe10 <= x && x <= 0xfe19) ||
+ (0xFE10 <= codePoint && codePoint <= 0xFE19) ||
// CJK Compatibility Forms .. Small Form Variants
- (0xfe30 <= x && x <= 0xfe6b) ||
+ (0xFE30 <= codePoint && codePoint <= 0xFE6B) ||
// Halfwidth and Fullwidth Forms
- (0xff01 <= x && x <= 0xff60) ||
- (0xffe0 <= x && x <= 0xffe6) ||
+ (0xFF01 <= codePoint && codePoint <= 0xFF60) ||
+ (0xFFE0 <= codePoint && codePoint <= 0xFFE6) ||
// Kana Supplement
- (0x1b000 <= x && x <= 0x1b001) ||
+ (0x1B000 <= codePoint && codePoint <= 0x1B001) ||
// Enclosed Ideographic Supplement
- (0x1f200 <= x && x <= 0x1f251) ||
+ (0x1F200 <= codePoint && codePoint <= 0x1F251) ||
// CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane
- (0x20000 <= x && x <= 0x3fffd)
+ (0x20000 <= codePoint && codePoint <= 0x3FFFD)
)
) {
return true;
@@ -44,3 +45,6 @@ module.exports = x => {
return false;
};
+
+module.exports = isFullwidthCodePoint;
+module.exports.default = isFullwidthCodePoint;
diff --git a/deps/npm/node_modules/is-fullwidth-code-point/license b/deps/npm/node_modules/is-fullwidth-code-point/license
index 654d0bfe94..e7af2f7710 100644
--- a/deps/npm/node_modules/is-fullwidth-code-point/license
+++ b/deps/npm/node_modules/is-fullwidth-code-point/license
@@ -1,21 +1,9 @@
-The MIT License (MIT)
+MIT License
Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/deps/npm/node_modules/is-fullwidth-code-point/package.json b/deps/npm/node_modules/is-fullwidth-code-point/package.json
index 3049d9e030..2137e888fa 100644
--- a/deps/npm/node_modules/is-fullwidth-code-point/package.json
+++ b/deps/npm/node_modules/is-fullwidth-code-point/package.json
@@ -1,45 +1,42 @@
{
- "name": "is-fullwidth-code-point",
- "version": "2.0.0",
- "description": "Check if the character represented by a given Unicode code point is fullwidth",
- "license": "MIT",
- "repository": "sindresorhus/is-fullwidth-code-point",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=4"
- },
- "scripts": {
- "test": "xo && ava"
- },
- "files": [
- "index.js"
- ],
- "keywords": [
- "fullwidth",
- "full-width",
- "full",
- "width",
- "unicode",
- "character",
- "char",
- "string",
- "str",
- "codepoint",
- "code",
- "point",
- "is",
- "detect",
- "check"
- ],
- "devDependencies": {
- "ava": "*",
- "xo": "*"
- },
- "xo": {
- "esnext": true
- }
+ "name": "is-fullwidth-code-point",
+ "version": "3.0.0",
+ "description": "Check if the character represented by a given Unicode code point is fullwidth",
+ "license": "MIT",
+ "repository": "sindresorhus/is-fullwidth-code-point",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "scripts": {
+ "test": "xo && ava && tsd-check"
+ },
+ "files": [
+ "index.js",
+ "index.d.ts"
+ ],
+ "keywords": [
+ "fullwidth",
+ "full-width",
+ "full",
+ "width",
+ "unicode",
+ "character",
+ "string",
+ "codepoint",
+ "code",
+ "point",
+ "is",
+ "detect",
+ "check"
+ ],
+ "devDependencies": {
+ "ava": "^1.3.1",
+ "tsd-check": "^0.5.0",
+ "xo": "^0.24.0"
+ }
}
diff --git a/deps/npm/node_modules/is-fullwidth-code-point/readme.md b/deps/npm/node_modules/is-fullwidth-code-point/readme.md
index 093b0281b2..4236bba980 100644
--- a/deps/npm/node_modules/is-fullwidth-code-point/readme.md
+++ b/deps/npm/node_modules/is-fullwidth-code-point/readme.md
@@ -6,7 +6,7 @@
## Install
```
-$ npm install --save is-fullwidth-code-point
+$ npm install is-fullwidth-code-point
```
@@ -15,23 +15,23 @@ $ npm install --save is-fullwidth-code-point
```js
const isFullwidthCodePoint = require('is-fullwidth-code-point');
-isFullwidthCodePoint('谢'.codePointAt());
+isFullwidthCodePoint('谢'.codePointAt(0));
//=> true
-isFullwidthCodePoint('a'.codePointAt());
+isFullwidthCodePoint('a'.codePointAt(0));
//=> false
```
## API
-### isFullwidthCodePoint(input)
+### isFullwidthCodePoint(codePoint)
-#### input
+#### codePoint
Type: `number`
-[Code point](https://en.wikipedia.org/wiki/Code_point) of a character.
+The [code point](https://en.wikipedia.org/wiki/Code_point) of a character.
## License
diff --git a/deps/npm/node_modules/libnpmaccess/package.json b/deps/npm/node_modules/libnpmaccess/package.json
index 760da6cc1b..33085ffd7c 100644
--- a/deps/npm/node_modules/libnpmaccess/package.json
+++ b/deps/npm/node_modules/libnpmaccess/package.json
@@ -1,6 +1,6 @@
{
"name": "libnpmaccess",
- "version": "5.0.1",
+ "version": "6.0.0",
"description": "programmatic library for `npm access` commands",
"author": "GitHub Inc.",
"license": "ISC",
@@ -31,8 +31,8 @@
"dependencies": {
"aproba": "^2.0.0",
"minipass": "^3.1.1",
- "npm-package-arg": "^8.1.2",
- "npm-registry-fetch": "^12.0.1"
+ "npm-package-arg": "^9.0.0",
+ "npm-registry-fetch": "^13.0.0"
},
"engines": {
"node": "^12.13.0 || ^14.15.0 || >=16"
diff --git a/deps/npm/node_modules/libnpmdiff/package.json b/deps/npm/node_modules/libnpmdiff/package.json
index 24846f39cf..fbfc1eaf9c 100644
--- a/deps/npm/node_modules/libnpmdiff/package.json
+++ b/deps/npm/node_modules/libnpmdiff/package.json
@@ -1,6 +1,6 @@
{
"name": "libnpmdiff",
- "version": "3.0.0",
+ "version": "4.0.0",
"description": "The registry diff",
"repository": "https://github.com/npm/libnpmdiff",
"main": "lib/index.js",
@@ -53,8 +53,8 @@
"binary-extensions": "^2.2.0",
"diff": "^5.0.0",
"minimatch": "^3.0.4",
- "npm-package-arg": "^8.1.4",
- "pacote": "^12.0.0",
+ "npm-package-arg": "^9.0.0",
+ "pacote": "^13.0.2",
"tar": "^6.1.0"
},
"templateOSS": {
diff --git a/deps/npm/node_modules/libnpmexec/README.md b/deps/npm/node_modules/libnpmexec/README.md
index a48552714d..74d6f5211e 100644
--- a/deps/npm/node_modules/libnpmexec/README.md
+++ b/deps/npm/node_modules/libnpmexec/README.md
@@ -35,7 +35,6 @@ await libexec({
- `color`: Output should use color? **Boolean**, defaults to `false`
- `localBin`: Location to the `node_modules/.bin` folder of the local project to start scanning for bin files **String**, defaults to `./node_modules/.bin`. **libexec** will walk up the directory structure looking for `node_modules/.bin` folders in parent folders that might satisfy the current `arg` and will use that bin if found.
- `locationMsg`: Overrides "at location" message when entering interactive mode **String**
- - `log`: Sets an optional logger **Object**, defaults to `proc-log` module usage.
- `globalBin`: Location to the global space bin folder, same as: `$(npm bin -g)` **String**, defaults to empty string.
- `output`: A function to print output to **Function**
- `packages`: A list of packages to be used (possibly fetch from the registry) **Array<String>**, defaults to `[]`
diff --git a/deps/npm/node_modules/libnpmexec/lib/index.js b/deps/npm/node_modules/libnpmexec/lib/index.js
index facafb035d..3c7be11491 100644
--- a/deps/npm/node_modules/libnpmexec/lib/index.js
+++ b/deps/npm/node_modules/libnpmexec/lib/index.js
@@ -4,7 +4,8 @@ const read = promisify(require('read'))
const Arborist = require('@npmcli/arborist')
const ciDetect = require('@npmcli/ci-detect')
-const logger = require('proc-log')
+const log = require('proc-log')
+const npmlog = require('npmlog')
const mkdirp = require('mkdirp-infer-owner')
const npa = require('npm-package-arg')
const pacote = require('pacote')
@@ -39,7 +40,6 @@ const exec = async (opts) => {
yes = undefined,
...flatOptions
} = opts
- const log = flatOptions.log || logger
// dereferences values because we manipulate it later
const packages = [..._packages]
@@ -50,7 +50,6 @@ const exec = async (opts) => {
color,
flatOptions,
locationMsg,
- log,
output,
path,
pathArr,
@@ -169,9 +168,7 @@ const exec = async (opts) => {
const prompt = `Need to install the following packages:\n${
addList
}Ok to proceed? `
- if (typeof log.clearProgress === 'function') {
- log.clearProgress()
- }
+ npmlog.clearProgress()
const confirm = await read({ prompt, default: 'y' })
if (confirm.trim().toLowerCase().charAt(0) !== 'y') {
throw new Error('canceled')
diff --git a/deps/npm/node_modules/libnpmexec/lib/run-script.js b/deps/npm/node_modules/libnpmexec/lib/run-script.js
index 851f5c60bd..97543e6ff0 100644
--- a/deps/npm/node_modules/libnpmexec/lib/run-script.js
+++ b/deps/npm/node_modules/libnpmexec/lib/run-script.js
@@ -4,6 +4,8 @@ const chalk = require('chalk')
const ciDetect = require('@npmcli/ci-detect')
const runScript = require('@npmcli/run-script')
const readPackageJson = require('read-package-json-fast')
+const npmlog = require('npmlog')
+const log = require('proc-log')
const noTTY = require('./no-tty.js')
const nocolor = {
@@ -18,7 +20,6 @@ const run = async ({
color,
flatOptions,
locationMsg,
- log,
output = () => {},
path,
pathArr,
@@ -41,9 +42,7 @@ const run = async ({
},
}
- if (log && log.disableProgress) {
- log.disableProgress()
- }
+ npmlog.disableProgress()
try {
if (script === scriptShell) {
@@ -80,9 +79,7 @@ const run = async ({
stdio: 'inherit',
})
} finally {
- if (log && log.enableProgress) {
- log.enableProgress()
- }
+ npmlog.enableProgress()
}
}
diff --git a/deps/npm/node_modules/libnpmexec/package.json b/deps/npm/node_modules/libnpmexec/package.json
index 4410f187ec..9ce05bf968 100644
--- a/deps/npm/node_modules/libnpmexec/package.json
+++ b/deps/npm/node_modules/libnpmexec/package.json
@@ -1,6 +1,6 @@
{
"name": "libnpmexec",
- "version": "3.0.3",
+ "version": "4.0.0",
"files": [
"bin",
"lib"
@@ -50,14 +50,15 @@
"tap": "^15.0.6"
},
"dependencies": {
- "@npmcli/arborist": "^4.0.0",
+ "@npmcli/arborist": "^5.0.0",
"@npmcli/ci-detect": "^2.0.0",
- "@npmcli/run-script": "^2.0.0",
+ "@npmcli/run-script": "^3.0.0",
"chalk": "^4.1.0",
"mkdirp-infer-owner": "^2.0.0",
- "npm-package-arg": "^8.1.2",
- "pacote": "^12.0.0",
- "proc-log": "^1.0.0",
+ "npm-package-arg": "^9.0.0",
+ "npmlog": "^6.0.1",
+ "pacote": "^13.0.2",
+ "proc-log": "^2.0.0",
"read": "^1.0.7",
"read-package-json-fast": "^2.0.2",
"walk-up-path": "^1.0.0"
diff --git a/deps/npm/node_modules/libnpmfund/package.json b/deps/npm/node_modules/libnpmfund/package.json
index 4b7ffc8f30..eae757f04e 100644
--- a/deps/npm/node_modules/libnpmfund/package.json
+++ b/deps/npm/node_modules/libnpmfund/package.json
@@ -1,6 +1,6 @@
{
"name": "libnpmfund",
- "version": "2.0.2",
+ "version": "3.0.0",
"main": "lib/index.js",
"files": [
"bin",
@@ -46,7 +46,7 @@
"tap": "^15.0.9"
},
"dependencies": {
- "@npmcli/arborist": "^4.0.0"
+ "@npmcli/arborist": "^5.0.0"
},
"engines": {
"node": "^12.13.0 || ^14.15.0 || >=16"
diff --git a/deps/npm/node_modules/libnpmhook/package.json b/deps/npm/node_modules/libnpmhook/package.json
index 4f30555273..8b749d1809 100644
--- a/deps/npm/node_modules/libnpmhook/package.json
+++ b/deps/npm/node_modules/libnpmhook/package.json
@@ -1,6 +1,6 @@
{
"name": "libnpmhook",
- "version": "7.0.1",
+ "version": "8.0.0",
"description": "programmatic API for managing npm registry hooks",
"main": "lib/index.js",
"files": [
@@ -34,7 +34,7 @@
"license": "ISC",
"dependencies": {
"aproba": "^2.0.0",
- "npm-registry-fetch": "^12.0.1"
+ "npm-registry-fetch": "^13.0.0"
},
"devDependencies": {
"@npmcli/template-oss": "^2.4.2",
diff --git a/deps/npm/node_modules/libnpmorg/package.json b/deps/npm/node_modules/libnpmorg/package.json
index 5c4909b1c9..913030066d 100644
--- a/deps/npm/node_modules/libnpmorg/package.json
+++ b/deps/npm/node_modules/libnpmorg/package.json
@@ -1,6 +1,6 @@
{
"name": "libnpmorg",
- "version": "3.0.1",
+ "version": "4.0.0",
"description": "Programmatic api for `npm org` commands",
"author": "GitHub Inc.",
"main": "lib/index.js",
@@ -45,7 +45,7 @@
"homepage": "https://npmjs.com/package/libnpmorg",
"dependencies": {
"aproba": "^2.0.0",
- "npm-registry-fetch": "^12.0.1"
+ "npm-registry-fetch": "^13.0.0"
},
"engines": {
"node": "^12.13.0 || ^14.15.0 || >=16"
diff --git a/deps/npm/node_modules/libnpmpack/lib/index.js b/deps/npm/node_modules/libnpmpack/lib/index.js
index a2c95cf938..dc9cfd2c4e 100644
--- a/deps/npm/node_modules/libnpmpack/lib/index.js
+++ b/deps/npm/node_modules/libnpmpack/lib/index.js
@@ -16,7 +16,7 @@ async function pack (spec = 'file:.', opts = {}) {
// Default to true if no log options passed, set to false if we're in silent
// mode
- const banner = !opts.log || (opts.log.level !== 'silent')
+ const banner = !opts.silent
if (spec.type === 'directory') {
// prepack
diff --git a/deps/npm/node_modules/libnpmpack/package.json b/deps/npm/node_modules/libnpmpack/package.json
index 7317c272f7..579b4efa23 100644
--- a/deps/npm/node_modules/libnpmpack/package.json
+++ b/deps/npm/node_modules/libnpmpack/package.json
@@ -1,6 +1,6 @@
{
"name": "libnpmpack",
- "version": "3.1.0",
+ "version": "4.0.0",
"description": "Programmatic API for the bits behind npm pack",
"author": "GitHub Inc.",
"main": "lib/index.js",
@@ -38,9 +38,9 @@
"bugs": "https://github.com/npm/libnpmpack/issues",
"homepage": "https://npmjs.com/package/libnpmpack",
"dependencies": {
- "@npmcli/run-script": "^2.0.0",
- "npm-package-arg": "^8.1.0",
- "pacote": "^12.0.0"
+ "@npmcli/run-script": "^3.0.0",
+ "npm-package-arg": "^9.0.0",
+ "pacote": "^13.0.2"
},
"engines": {
"node": "^12.13.0 || ^14.15.0 || >=16"
diff --git a/deps/npm/node_modules/libnpmpublish/lib/publish.js b/deps/npm/node_modules/libnpmpublish/lib/publish.js
index f6d88f7325..75b764c989 100644
--- a/deps/npm/node_modules/libnpmpublish/lib/publish.js
+++ b/deps/npm/node_modules/libnpmpublish/lib/publish.js
@@ -58,7 +58,7 @@ Remove the 'private' field from the package.json to publish it.`),
...opts,
query: { write: true },
})
- const newMetadata = patchMetadata(current, metadata, opts)
+ const newMetadata = patchMetadata(current, metadata)
return npmFetch(spec.escapedName, {
...opts,
method: 'PUT',
diff --git a/deps/npm/node_modules/libnpmpublish/package.json b/deps/npm/node_modules/libnpmpublish/package.json
index 3fd2d6d5a3..2e15c08f17 100644
--- a/deps/npm/node_modules/libnpmpublish/package.json
+++ b/deps/npm/node_modules/libnpmpublish/package.json
@@ -1,6 +1,6 @@
{
"name": "libnpmpublish",
- "version": "5.0.1",
+ "version": "6.0.0",
"description": "Programmatic API for the bits behind npm publish and unpublish",
"author": "GitHub Inc.",
"main": "lib/index.js",
@@ -30,7 +30,7 @@
},
"devDependencies": {
"@npmcli/template-oss": "^2.4.2",
- "libnpmpack": "^3.0.0",
+ "libnpmpack": "^4.0.0",
"lodash.clonedeep": "^4.5.0",
"nock": "^12.0.2",
"tap": "^15"
@@ -43,8 +43,8 @@
"homepage": "https://npmjs.com/package/libnpmpublish",
"dependencies": {
"normalize-package-data": "^3.0.2",
- "npm-package-arg": "^8.1.2",
- "npm-registry-fetch": "^12.0.1",
+ "npm-package-arg": "^9.0.0",
+ "npm-registry-fetch": "^13.0.0",
"semver": "^7.1.3",
"ssri": "^8.0.1"
},
diff --git a/deps/npm/node_modules/libnpmsearch/package.json b/deps/npm/node_modules/libnpmsearch/package.json
index f524426dc6..ba296930c2 100644
--- a/deps/npm/node_modules/libnpmsearch/package.json
+++ b/deps/npm/node_modules/libnpmsearch/package.json
@@ -1,6 +1,6 @@
{
"name": "libnpmsearch",
- "version": "4.0.1",
+ "version": "5.0.0",
"description": "Programmatic API for searching in npm and compatible registries.",
"author": "GitHub Inc.",
"main": "lib/index.js",
@@ -41,7 +41,7 @@
"bugs": "https://github.com/npm/libnpmsearch/issues",
"homepage": "https://npmjs.com/package/libnpmsearch",
"dependencies": {
- "npm-registry-fetch": "^12.0.1"
+ "npm-registry-fetch": "^13.0.0"
},
"engines": {
"node": "^12.13.0 || ^14.15.0 || >=16"
diff --git a/deps/npm/node_modules/libnpmteam/package.json b/deps/npm/node_modules/libnpmteam/package.json
index 23903551aa..1c4633accb 100644
--- a/deps/npm/node_modules/libnpmteam/package.json
+++ b/deps/npm/node_modules/libnpmteam/package.json
@@ -1,7 +1,7 @@
{
"name": "libnpmteam",
"description": "npm Team management APIs",
- "version": "3.0.1",
+ "version": "4.0.0",
"author": "GitHub Inc.",
"license": "ISC",
"main": "lib/index.js",
@@ -32,7 +32,7 @@
"homepage": "https://npmjs.com/package/libnpmteam",
"dependencies": {
"aproba": "^2.0.0",
- "npm-registry-fetch": "^12.0.1"
+ "npm-registry-fetch": "^13.0.0"
},
"engines": {
"node": "^12.13.0 || ^14.15.0 || >=16"
diff --git a/deps/npm/node_modules/libnpmversion/README.md b/deps/npm/node_modules/libnpmversion/README.md
index e82e7cd6f8..165d16a2b6 100644
--- a/deps/npm/node_modules/libnpmversion/README.md
+++ b/deps/npm/node_modules/libnpmversion/README.md
@@ -27,6 +27,7 @@ npmVersion(arg, {
ignoreScripts: false, // do not run pre/post/version lifecycle scripts
scriptShell: '/bin/bash', // shell to run lifecycle scripts in
message: 'v%s', // message for tag and commit, replace %s with the version
+ silent: false, // passed to @npmcli/run-script to control whether it logs
}).then(newVersion => {
console.error('version updated!', newVersion)
})
diff --git a/deps/npm/node_modules/libnpmversion/lib/enforce-clean.js b/deps/npm/node_modules/libnpmversion/lib/enforce-clean.js
index 6103da9bd9..721f146221 100644
--- a/deps/npm/node_modules/libnpmversion/lib/enforce-clean.js
+++ b/deps/npm/node_modules/libnpmversion/lib/enforce-clean.js
@@ -1,9 +1,10 @@
const git = require('@npmcli/git')
+const log = require('proc-log')
// returns true if it's cool to do git stuff
// throws if it's unclean, and not forced.
module.exports = async opts => {
- const { force, log } = opts
+ const { force } = opts
let hadError = false
const clean = await git.isClean(opts).catch(er => {
if (er.code === 'ENOGIT') {
diff --git a/deps/npm/node_modules/libnpmversion/lib/index.js b/deps/npm/node_modules/libnpmversion/lib/index.js
index 683941cdea..95acd11b5e 100644
--- a/deps/npm/node_modules/libnpmversion/lib/index.js
+++ b/deps/npm/node_modules/libnpmversion/lib/index.js
@@ -1,6 +1,5 @@
const readJson = require('./read-json.js')
const version = require('./version.js')
-const proclog = require('./proc-log.js')
module.exports = async (newversion, opts = {}) => {
const {
@@ -15,8 +14,8 @@ module.exports = async (newversion, opts = {}) => {
ignoreScripts = false,
scriptShell = undefined,
preid = null,
- log = proclog,
message = 'v%s',
+ silent,
} = opts
const pkg = opts.pkg || await readJson(path + '/package.json')
@@ -35,7 +34,7 @@ module.exports = async (newversion, opts = {}) => {
scriptShell,
preid,
pkg,
- log,
message,
+ silent,
})
}
diff --git a/deps/npm/node_modules/libnpmversion/lib/version.js b/deps/npm/node_modules/libnpmversion/lib/version.js
index 116a375553..12be89b040 100644
--- a/deps/npm/node_modules/libnpmversion/lib/version.js
+++ b/deps/npm/node_modules/libnpmversion/lib/version.js
@@ -8,6 +8,7 @@ const readJson = require('./read-json.js')
const git = require('@npmcli/git')
const commit = require('./commit.js')
const tag = require('./tag.js')
+const log = require('proc-log')
const runScript = require('@npmcli/run-script')
@@ -19,7 +20,7 @@ module.exports = async (newversion, opts) => {
ignoreScripts,
preid,
pkg,
- log,
+ silent,
} = opts
const { valid, clean, inc } = semver
@@ -64,7 +65,7 @@ module.exports = async (newversion, opts) => {
pkg,
stdio: 'inherit',
event: 'preversion',
- banner: log.level !== 'silent',
+ banner: !silent,
env: {
npm_old_version: current,
npm_new_version: newV,
@@ -98,7 +99,7 @@ module.exports = async (newversion, opts) => {
pkg,
stdio: 'inherit',
event: 'version',
- banner: log.level !== 'silent',
+ banner: !silent,
env: {
npm_old_version: current,
npm_new_version: newV,
@@ -125,7 +126,7 @@ module.exports = async (newversion, opts) => {
pkg,
stdio: 'inherit',
event: 'postversion',
- banner: log.level !== 'silent',
+ banner: !silent,
env: {
npm_old_version: current,
npm_new_version: newV,
diff --git a/deps/npm/node_modules/libnpmversion/package.json b/deps/npm/node_modules/libnpmversion/package.json
index 6d7823f5d0..e0f5097a3f 100644
--- a/deps/npm/node_modules/libnpmversion/package.json
+++ b/deps/npm/node_modules/libnpmversion/package.json
@@ -1,6 +1,6 @@
{
"name": "libnpmversion",
- "version": "2.0.2",
+ "version": "3.0.0",
"main": "lib/index.js",
"files": [
"bin",
@@ -34,9 +34,10 @@
"tap": "^15"
},
"dependencies": {
- "@npmcli/git": "^2.0.7",
- "@npmcli/run-script": "^2.0.0",
+ "@npmcli/git": "^3.0.0",
+ "@npmcli/run-script": "^3.0.0",
"json-parse-even-better-errors": "^2.3.1",
+ "proc-log": "^2.0.0",
"semver": "^7.3.5",
"stringify-package": "^1.0.1"
},
diff --git a/deps/npm/node_modules/npm-package-arg/npa.js b/deps/npm/node_modules/npm-package-arg/lib/npa.js
index 191befeb5e..cc1eddaec7 100644
--- a/deps/npm/node_modules/npm-package-arg/npa.js
+++ b/deps/npm/node_modules/npm-package-arg/lib/npa.js
@@ -20,30 +20,32 @@ function npa (arg, where) {
let name
let spec
if (typeof arg === 'object') {
- if (arg instanceof Result && (!where || where === arg.where))
+ if (arg instanceof Result && (!where || where === arg.where)) {
return arg
- else if (arg.name && arg.rawSpec)
+ } else if (arg.name && arg.rawSpec) {
return npa.resolve(arg.name, arg.rawSpec, where || arg.where)
- else
+ } else {
return npa(arg.raw, where || arg.where)
+ }
}
const nameEndsAt = arg[0] === '@' ? arg.slice(1).indexOf('@') + 1 : arg.indexOf('@')
const namePart = nameEndsAt > 0 ? arg.slice(0, nameEndsAt) : arg
- if (isURL.test(arg))
+ if (isURL.test(arg)) {
spec = arg
- else if (isGit.test(arg))
+ } else if (isGit.test(arg)) {
spec = `git+ssh://${arg}`
- else if (namePart[0] !== '@' && (hasSlashes.test(namePart) || isFilename.test(namePart)))
+ } else if (namePart[0] !== '@' && (hasSlashes.test(namePart) || isFilename.test(namePart))) {
spec = arg
- else if (nameEndsAt > 0) {
+ } else if (nameEndsAt > 0) {
name = namePart
spec = arg.slice(nameEndsAt + 1)
} else {
const valid = validatePackageName(arg)
- if (valid.validForOldPackages)
+ if (valid.validForOldPackages) {
name = arg
- else
+ } else {
spec = arg
+ }
}
return resolve(name, spec, where, arg)
}
@@ -58,35 +60,41 @@ function resolve (name, spec, where, arg) {
fromArgument: arg != null,
})
- if (name)
+ if (name) {
res.setName(name)
+ }
- if (spec && (isFilespec.test(spec) || /^file:/i.test(spec)))
+ if (spec && (isFilespec.test(spec) || /^file:/i.test(spec))) {
return fromFile(res, where)
- else if (spec && /^npm:/i.test(spec))
+ } else if (spec && /^npm:/i.test(spec)) {
return fromAlias(res, where)
+ }
const hosted = HostedGit.fromUrl(spec, {
noGitPlus: true,
noCommittish: true,
})
- if (hosted)
+ if (hosted) {
return fromHostedGit(res, hosted)
- else if (spec && isURL.test(spec))
+ } else if (spec && isURL.test(spec)) {
return fromURL(res)
- else if (spec && (hasSlashes.test(spec) || isFilename.test(spec)))
+ } else if (spec && (hasSlashes.test(spec) || isFilename.test(spec))) {
return fromFile(res, where)
- else
+ } else {
return fromRegistry(res)
+ }
}
-function invalidPackageName (name, valid) {
- const err = new Error(`Invalid package name "${name}": ${valid.errors.join('; ')}`)
+function invalidPackageName (name, valid, raw) {
+ // eslint-disable-next-line max-len
+ const err = new Error(`Invalid package name "${name}" of package "${raw}": ${valid.errors.join('; ')}.`)
err.code = 'EINVALIDPACKAGENAME'
return err
}
-function invalidTagName (name) {
- const err = new Error(`Invalid tag name "${name}": Tags may not have any characters that encodeURIComponent encodes.`)
+
+function invalidTagName (name, raw) {
+ // eslint-disable-next-line max-len
+ const err = new Error(`Invalid tag name "${name}" of package "${raw}": Tags may not have any characters that encodeURIComponent encodes.`)
err.code = 'EINVALIDTAGNAME'
return err
}
@@ -95,10 +103,11 @@ function Result (opts) {
this.type = opts.type
this.registry = opts.registry
this.where = opts.where
- if (opts.raw == null)
+ if (opts.raw == null) {
this.raw = opts.name ? opts.name + '@' + opts.rawSpec : opts.rawSpec
- else
+ } else {
this.raw = opts.raw
+ }
this.name = undefined
this.escapedName = undefined
@@ -106,8 +115,9 @@ function Result (opts) {
this.rawSpec = opts.rawSpec == null ? '' : opts.rawSpec
this.saveSpec = opts.saveSpec
this.fetchSpec = opts.fetchSpec
- if (opts.name)
+ if (opts.name) {
this.setName(opts.name)
+ }
this.gitRange = opts.gitRange
this.gitCommittish = opts.gitCommittish
this.hosted = opts.hosted
@@ -115,8 +125,9 @@ function Result (opts) {
Result.prototype.setName = function (name) {
const valid = validatePackageName(name)
- if (!valid.validForOldPackages)
- throw invalidPackageName(name, valid)
+ if (!valid.validForOldPackages) {
+ throw invalidPackageName(name, valid, this.raw)
+ }
this.name = name
this.scope = name[0] === '@' ? name.slice(0, name.indexOf('/')) : undefined
@@ -127,11 +138,13 @@ Result.prototype.setName = function (name) {
Result.prototype.toString = function () {
const full = []
- if (this.name != null && this.name !== '')
+ if (this.name != null && this.name !== '') {
full.push(this.name)
+ }
const spec = this.saveSpec || this.fetchSpec || this.rawSpec
- if (spec != null && spec !== '')
+ if (spec != null && spec !== '') {
full.push(spec)
+ }
return full.length ? full.join('@') : this.raw
}
@@ -145,21 +158,23 @@ function setGitCommittish (res, committish) {
if (committish != null && committish.length >= 7 && committish.slice(0, 7) === 'semver:') {
res.gitRange = decodeURIComponent(committish.slice(7))
res.gitCommittish = null
- } else
+ } else {
res.gitCommittish = committish === '' ? null : committish
+ }
return res
}
function fromFile (res, where) {
- if (!where)
+ if (!where) {
where = process.cwd()
+ }
res.type = isFilename.test(res.rawSpec) ? 'file' : 'directory'
res.where = where
// always put the '/' on where when resolving urls, or else
// file:foo from /path/to/bar goes to /path/to/foo, when we want
- // it to be /path/to/foo/bar
+ // it to be /path/to/bar/foo
let specUrl
let resolvedUrl
@@ -225,10 +240,11 @@ function fromFile (res, where) {
if (/^\/~(\/|$)/.test(specPath)) {
res.saveSpec = `file:${specPath.substr(1)}`
resolvedPath = path.resolve(homedir(), specPath.substr(3))
- } else if (!path.isAbsolute(rawNoPrefix))
+ } else if (!path.isAbsolute(rawNoPrefix)) {
res.saveSpec = `file:${path.relative(where, resolvedPath)}`
- else
+ } else {
res.saveSpec = `file:${path.resolve(resolvedPath)}`
+ }
res.fetchSpec = path.resolve(where, resolvedPath)
return res
@@ -311,11 +327,13 @@ function fromURL (res) {
function fromAlias (res, where) {
const subSpec = npa(res.rawSpec.substr(4), where)
- if (subSpec.type === 'alias')
+ if (subSpec.type === 'alias') {
throw new Error('nested aliases not supported')
+ }
- if (!subSpec.registry)
+ if (!subSpec.registry) {
throw new Error('aliases only work for registry deps')
+ }
res.subSpec = subSpec
res.registry = true
@@ -334,14 +352,14 @@ function fromRegistry (res) {
res.fetchSpec = spec
const version = semver.valid(spec, true)
const range = semver.validRange(spec, true)
- if (version)
+ if (version) {
res.type = 'version'
- else if (range)
+ } else if (range) {
res.type = 'range'
- else {
- if (encodeURIComponent(spec) !== spec)
- throw invalidTagName(spec)
-
+ } else {
+ if (encodeURIComponent(spec) !== spec) {
+ throw invalidTagName(spec, res.raw)
+ }
res.type = 'tag'
}
return res
diff --git a/deps/npm/node_modules/npm-package-arg/package.json b/deps/npm/node_modules/npm-package-arg/package.json
index bf5f597e6d..b0821312a7 100644
--- a/deps/npm/node_modules/npm-package-arg/package.json
+++ b/deps/npm/node_modules/npm-package-arg/package.json
@@ -1,22 +1,23 @@
{
"name": "npm-package-arg",
- "version": "8.1.5",
+ "version": "9.0.0",
"description": "Parse the things that can be arguments to `npm install`",
- "main": "npa.js",
+ "main": "./lib/npa.js",
"directories": {
"test": "test"
},
"files": [
- "npa.js"
+ "bin",
+ "lib"
],
"dependencies": {
- "hosted-git-info": "^4.0.1",
- "semver": "^7.3.4",
+ "hosted-git-info": "^4.1.0",
+ "semver": "^7.3.5",
"validate-npm-package-name": "^3.0.0"
},
"devDependencies": {
- "@npmcli/lint": "^1.0.1",
- "tap": "^15.0.9"
+ "@npmcli/template-oss": "^2.7.1",
+ "tap": "^15.1.6"
},
"scripts": {
"preversion": "npm test",
@@ -25,22 +26,30 @@
"test": "tap",
"snap": "tap",
"npmclilint": "npmcli-lint",
- "lint": "npm run npmclilint -- \"*.*js\" \"test/**/*.*js\"",
+ "lint": "eslint '**/*.js'",
"lintfix": "npm run lint -- --fix",
- "posttest": "npm run lint --",
- "postsnap": "npm run lintfix --"
+ "posttest": "npm run lint",
+ "postsnap": "npm run lintfix --",
+ "postlint": "npm-template-check",
+ "template-copy": "npm-template-copy --force"
},
"repository": {
"type": "git",
"url": "https://github.com/npm/npm-package-arg"
},
- "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
+ "author": "GitHub Inc.",
"license": "ISC",
"bugs": {
"url": "https://github.com/npm/npm-package-arg/issues"
},
"homepage": "https://github.com/npm/npm-package-arg",
"engines": {
- "node": ">=10"
+ "node": "^12.13.0 || ^14.15.0 || >=16"
+ },
+ "tap": {
+ "branches": 97
+ },
+ "templateOSS": {
+ "version": "2.7.1"
}
}
diff --git a/deps/npm/node_modules/npm-pick-manifest/index.js b/deps/npm/node_modules/npm-pick-manifest/lib/index.js
index 695450524d..f2934e9ca1 100644
--- a/deps/npm/node_modules/npm-pick-manifest/index.js
+++ b/deps/npm/node_modules/npm-pick-manifest/lib/index.js
@@ -34,7 +34,7 @@ const pickManifest = (packument, wanted, opts) => {
npmVersion = null,
includeStaged = false,
avoid = null,
- avoidStrict = false
+ avoidStrict = false,
} = opts
const { name, time: verTimes } = packument
@@ -43,7 +43,7 @@ const pickManifest = (packument, wanted, opts) => {
if (avoidStrict) {
const looseOpts = {
...opts,
- avoidStrict: false
+ avoidStrict: false,
}
const result = pickManifest(packument, wanted, looseOpts)
@@ -56,7 +56,7 @@ const pickManifest = (packument, wanted, opts) => {
return {
...caret,
_outsideDependencyRange: true,
- _isSemVerMajor: false
+ _isSemVerMajor: false,
}
}
@@ -65,7 +65,7 @@ const pickManifest = (packument, wanted, opts) => {
return {
...star,
_outsideDependencyRange: true,
- _isSemVerMajor: true
+ _isSemVerMajor: true,
}
}
@@ -75,7 +75,7 @@ const pickManifest = (packument, wanted, opts) => {
wanted,
avoid,
before,
- versions: Object.keys(versions)
+ versions: Object.keys(versions),
})
}
@@ -143,7 +143,7 @@ const pickManifest = (packument, wanted, opts) => {
type,
wanted,
before,
- versions: Object.keys(versions)
+ versions: Object.keys(versions),
})
}
@@ -213,6 +213,6 @@ module.exports = (packument, wanted, opts = {}) => {
versions: Object.keys(packument.versions),
name,
distTags: packument['dist-tags'],
- defaultTag
+ defaultTag,
})
}
diff --git a/deps/npm/node_modules/npm-pick-manifest/package.json b/deps/npm/node_modules/npm-pick-manifest/package.json
index 4b4866cbf8..ece1d174db 100644
--- a/deps/npm/node_modules/npm-pick-manifest/package.json
+++ b/deps/npm/node_modules/npm-pick-manifest/package.json
@@ -1,19 +1,24 @@
{
"name": "npm-pick-manifest",
- "version": "6.1.1",
+ "version": "7.0.0",
"description": "Resolves a matching manifest from a package metadata document according to standard npm semver resolution rules.",
- "main": "index.js",
+ "main": "./lib",
"files": [
- "*.js"
+ "bin",
+ "lib"
],
"scripts": {
"coverage": "tap",
- "lint": "standard",
+ "lint": "eslint '**/*.js'",
"test": "tap",
"posttest": "npm run lint",
"preversion": "npm test",
"postversion": "npm publish",
- "prepublishOnly": "git push origin --follow-tags"
+ "prepublishOnly": "git push origin --follow-tags",
+ "postlint": "npm-template-check",
+ "template-copy": "npm-template-copy --force",
+ "lintfix": "npm run lint -- --fix",
+ "snap": "tap"
},
"repository": "https://github.com/npm/npm-pick-manifest",
"keywords": [
@@ -21,23 +26,25 @@
"semver",
"package manager"
],
- "author": {
- "name": "Kat Marchán",
- "email": "kzm@sykosomatic.org",
- "twitter": "maybekatz"
- },
+ "author": "GitHub Inc.",
"license": "ISC",
"dependencies": {
"npm-install-checks": "^4.0.0",
"npm-normalize-package-bin": "^1.0.1",
- "npm-package-arg": "^8.1.2",
- "semver": "^7.3.4"
+ "npm-package-arg": "^9.0.0",
+ "semver": "^7.3.5"
},
"devDependencies": {
- "standard": "^14.3.1",
- "tap": "^14.11.0"
+ "@npmcli/template-oss": "^2.7.1",
+ "tap": "^15.1.6"
},
"tap": {
"check-coverage": true
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16"
+ },
+ "templateOSS": {
+ "version": "2.7.1"
}
}
diff --git a/deps/npm/node_modules/npm-profile/lib/index.js b/deps/npm/node_modules/npm-profile/lib/index.js
index aa322e37f4..74a8084292 100644
--- a/deps/npm/node_modules/npm-profile/lib/index.js
+++ b/deps/npm/node_modules/npm-profile/lib/index.js
@@ -4,13 +4,14 @@ const fetch = require('npm-registry-fetch')
const { HttpErrorBase } = require('npm-registry-fetch/lib/errors')
const os = require('os')
const { URL } = require('url')
+const log = require('proc-log')
// try loginWeb, catch the "not supported" message and fall back to couch
const login = (opener, prompter, opts = {}) => {
const { creds } = opts
return loginWeb(opener, opts).catch(er => {
if (er instanceof WebLoginNotSupported) {
- process.emit('log', 'verbose', 'web login not supported, trying couch')
+ log.verbose('web login not supported, trying couch')
return prompter(creds)
.then(data => loginCouch(data.username, data.password, opts))
} else {
@@ -23,7 +24,7 @@ const adduser = (opener, prompter, opts = {}) => {
const { creds } = opts
return adduserWeb(opener, opts).catch(er => {
if (er instanceof WebLoginNotSupported) {
- process.emit('log', 'verbose', 'web adduser not supported, trying couch')
+ log.verbose('web adduser not supported, trying couch')
return prompter(creds)
.then(data => adduserCouch(data.username, data.email, data.password, opts))
} else {
@@ -33,12 +34,12 @@ const adduser = (opener, prompter, opts = {}) => {
}
const adduserWeb = (opener, opts = {}) => {
- process.emit('log', 'verbose', 'web adduser', 'before first POST')
+ log.verbose('web adduser', 'before first POST')
return webAuth(opener, opts, { create: true })
}
const loginWeb = (opener, opts = {}) => {
- process.emit('log', 'verbose', 'web login', 'before first POST')
+ log.verbose('web login', 'before first POST')
return webAuth(opener, opts, {})
}
@@ -62,13 +63,13 @@ const webAuth = (opener, opts, body) => {
return Promise.all([res, res.json()])
}).then(([res, content]) => {
const { doneUrl, loginUrl } = content
- process.emit('log', 'verbose', 'web auth', 'got response', content)
+ log.verbose('web auth', 'got response', content)
if (!isValidUrl(doneUrl) || !isValidUrl(loginUrl)) {
throw new WebLoginInvalidResponse('POST', res, content)
}
return content
}).then(({ doneUrl, loginUrl }) => {
- process.emit('log', 'verbose', 'web auth', 'opening url pair')
+ log.verbose('web auth', 'opening url pair')
return opener(loginUrl).then(
() => webAuthCheckLogin(doneUrl, { ...opts, cache: false })
)
@@ -121,7 +122,7 @@ const adduserCouch = (username, email, password, opts = {}) => {
...body,
password: 'XXXXX',
}
- process.emit('log', 'verbose', 'adduser', 'before first PUT', logObj)
+ log.verbose('adduser', 'before first PUT', logObj)
const target = '/-/user/org.couchdb.user:' + encodeURIComponent(username)
return fetch.json(target, {
@@ -147,9 +148,9 @@ const loginCouch = (username, password, opts = {}) => {
...body,
password: 'XXXXX',
}
- process.emit('log', 'verbose', 'login', 'before first PUT', logObj)
+ log.verbose('login', 'before first PUT', logObj)
- const target = '-/user/org.couchdb.user:' + encodeURIComponent(username)
+ const target = '/-/user/org.couchdb.user:' + encodeURIComponent(username)
return fetch.json(target, {
...opts,
method: 'PUT',
diff --git a/deps/npm/node_modules/npm-profile/package.json b/deps/npm/node_modules/npm-profile/package.json
index 8745c2559f..68b04bba6d 100644
--- a/deps/npm/node_modules/npm-profile/package.json
+++ b/deps/npm/node_modules/npm-profile/package.json
@@ -1,12 +1,13 @@
{
"name": "npm-profile",
- "version": "6.0.0",
+ "version": "6.0.2",
"description": "Library for updating an npmjs.com profile",
"keywords": [],
"author": "GitHub Inc.",
"license": "ISC",
"dependencies": {
- "npm-registry-fetch": "^12.0.0"
+ "npm-registry-fetch": "^13.0.0",
+ "proc-log": "^2.0.0"
},
"main": "./lib/index.js",
"repository": {
@@ -18,9 +19,9 @@
"lib"
],
"devDependencies": {
- "@npmcli/template-oss": "^2.5.1",
- "nock": "^13.2.1",
- "tap": "^15.1.5"
+ "@npmcli/template-oss": "^2.7.1",
+ "nock": "^13.2.4",
+ "tap": "^15.1.6"
},
"scripts": {
"preversion": "npm test",
@@ -31,7 +32,8 @@
"snap": "tap",
"lint": "eslint '**/*.js'",
"postlint": "npm-template-check",
- "lintfix": "npm run lint -- --fix"
+ "lintfix": "npm run lint -- --fix",
+ "template-copy": "npm-template-copy --force"
},
"tap": {
"check-coverage": true
@@ -40,6 +42,6 @@
"node": "^12.13.0 || ^14.15.0 || >=16"
},
"templateOSS": {
- "version": "2.5.1"
+ "version": "2.7.1"
}
}
diff --git a/deps/npm/node_modules/npm-registry-fetch/lib/check-response.js b/deps/npm/node_modules/npm-registry-fetch/lib/check-response.js
index 26043a96de..872ec8a888 100644
--- a/deps/npm/node_modules/npm-registry-fetch/lib/check-response.js
+++ b/deps/npm/node_modules/npm-registry-fetch/lib/check-response.js
@@ -3,23 +3,24 @@
const errors = require('./errors.js')
const { Response } = require('minipass-fetch')
const defaultOpts = require('./default-opts.js')
+const log = require('proc-log')
/* eslint-disable-next-line max-len */
const moreInfoUrl = 'https://github.com/npm/cli/wiki/No-auth-for-URI,-but-auth-present-for-scoped-registry'
const checkResponse =
- async ({ method, uri, res, registry, startTime, auth, opts }) => {
+ async ({ method, uri, res, startTime, auth, opts }) => {
opts = { ...defaultOpts, ...opts }
if (res.headers.has('npm-notice') && !res.headers.has('x-local-cache')) {
- opts.log.notice('', res.headers.get('npm-notice'))
+ log.notice('', res.headers.get('npm-notice'))
}
if (res.status >= 400) {
- logRequest(method, res, startTime, opts)
+ logRequest(method, res, startTime)
if (auth && auth.scopeAuthKey && !auth.token && !auth.auth) {
// we didn't have auth for THIS request, but we do have auth for
// requests to the registry indicated by the spec's scope value.
// Warn the user.
- opts.log.warn('registry', `No auth for URI, but auth present for scoped registry.
+ log.warn('registry', `No auth for URI, but auth present for scoped registry.
URI: ${uri}
Scoped Registry Key: ${auth.scopeAuthKey}
@@ -38,7 +39,7 @@ More info here: ${moreInfoUrl}`)
}
module.exports = checkResponse
-function logRequest (method, res, startTime, opts) {
+function logRequest (method, res, startTime) {
const elapsedTime = Date.now() - startTime
const attempt = res.headers.get('x-fetch-attempts')
const attemptStr = attempt && attempt > 1 ? ` attempt #${attempt}` : ''
@@ -58,7 +59,7 @@ function logRequest (method, res, startTime, opts) {
urlStr = res.url
}
- opts.log.http(
+ log.http(
'fetch',
`${method.toUpperCase()} ${res.status} ${urlStr} ${elapsedTime}ms${attemptStr}${cacheStr}`
)
diff --git a/deps/npm/node_modules/npm-registry-fetch/lib/default-opts.js b/deps/npm/node_modules/npm-registry-fetch/lib/default-opts.js
index e8e8221da4..f0847f0b50 100644
--- a/deps/npm/node_modules/npm-registry-fetch/lib/default-opts.js
+++ b/deps/npm/node_modules/npm-registry-fetch/lib/default-opts.js
@@ -1,6 +1,5 @@
const pkg = require('../package.json')
module.exports = {
- log: require('./silentlog.js'),
maxSockets: 12,
method: 'GET',
registry: 'https://registry.npmjs.org/',
diff --git a/deps/npm/node_modules/npm-registry-fetch/package.json b/deps/npm/node_modules/npm-registry-fetch/package.json
index f1aab5c7bb..9349619e99 100644
--- a/deps/npm/node_modules/npm-registry-fetch/package.json
+++ b/deps/npm/node_modules/npm-registry-fetch/package.json
@@ -1,6 +1,6 @@
{
"name": "npm-registry-fetch",
- "version": "12.0.2",
+ "version": "13.0.0",
"description": "Fetch-based http client for use with npm registry APIs",
"main": "lib",
"files": [
@@ -31,18 +31,18 @@
"author": "GitHub Inc.",
"license": "ISC",
"dependencies": {
- "make-fetch-happen": "^10.0.1",
+ "make-fetch-happen": "^10.0.2",
"minipass": "^3.1.6",
"minipass-fetch": "^1.4.1",
"minipass-json-stream": "^1.0.1",
"minizlib": "^2.1.2",
- "npm-package-arg": "^8.1.5"
+ "npm-package-arg": "^9.0.0",
+ "proc-log": "^2.0.0"
},
"devDependencies": {
"@npmcli/template-oss": "^2.7.1",
"cacache": "^15.3.0",
"nock": "^13.2.4",
- "npmlog": "^6.0.0",
"require-inject": "^1.4.4",
"ssri": "^8.0.1",
"tap": "^15.1.6"
diff --git a/deps/npm/node_modules/pacote/README.md b/deps/npm/node_modules/pacote/README.md
index 2328c0a4a5..11822dbb48 100644
--- a/deps/npm/node_modules/pacote/README.md
+++ b/deps/npm/node_modules/pacote/README.md
@@ -146,10 +146,6 @@ resolved, and other properties, as they are determined.
`0o666`. See "Extracted File Modes" below.
* `dmode` Minimum permission mode for extracted directories. Defaults to
`0o777`. See "Extracted File Modes" below.
-* `log` A logger object with methods for various log levels. Typically,
- this will be [`npmlog`](http://npm.im/npmlog) in the npm CLI use case,
- but if not specified, the default is a logger that emits `'log'` events
- on the `process` object.
* `preferOnline` Prefer to revalidate cache entries, even when it would not
be strictly necessary. Default `false`.
* `before` When picking a manifest from a packument, only consider
@@ -162,11 +158,16 @@ resolved, and other properties, as they are determined.
including information not strictly required for installation (author,
description, etc.) Defaults to `true` when `before` is set, since the
version publish time is part of the extended packument metadata.
+* `fullReadJson` Use the slower `read-package-json` package insted of
+ `read-package-json-fast` in order to include extra fields like "readme" in
+ the manifest. Defaults to `false`.
* `packumentCache` For registry packuments only, you may provide a `Map`
object which will be used to cache packument requests between pacote
calls. This allows you to easily avoid hitting the registry multiple
times (even just to validate the cache) for a given packument, since it
is unlikely to change in the span of a single command.
+* `silent` A boolean that determines whether the banner is displayed
+ when calling `@npmcli/run-script`.
### Advanced API
diff --git a/deps/npm/node_modules/pacote/lib/bin.js b/deps/npm/node_modules/pacote/lib/bin.js
index c0409be1ff..369304adaa 100755
--- a/deps/npm/node_modules/pacote/lib/bin.js
+++ b/deps/npm/node_modules/pacote/lib/bin.js
@@ -4,26 +4,28 @@ const run = conf => {
const pacote = require('../')
switch (conf._[0]) {
case 'resolve':
- if (conf.long)
+ case 'manifest':
+ case 'packument':
+ if (conf._[0] === 'resolve' && conf.long) {
return pacote.manifest(conf._[1], conf).then(mani => ({
resolved: mani._resolved,
integrity: mani._integrity,
from: mani._from,
}))
- case 'manifest':
- case 'packument':
+ }
return pacote[conf._[0]](conf._[1], conf)
case 'tarball':
if (!conf._[2] || conf._[2] === '-') {
return pacote.tarball.stream(conf._[1], stream => {
stream.pipe(conf.testStdout ||
- /* istanbul ignore next */ process.stdout)
+ /* istanbul ignore next */ process.stdout)
// make sure it resolves something falsey
return stream.promise().then(() => {})
}, conf)
- } else
+ } else {
return pacote.tarball.file(conf._[1], conf._[2], conf)
+ }
case 'extract':
return pacote.extract(conf._[1], conf._[2], conf)
@@ -81,8 +83,9 @@ const pretty = (conf, result) =>
let addedLogListener = false
const main = args => {
const conf = parse(args)
- if (conf.help || conf.h)
+ if (conf.help || conf.h) {
return console.log(usage())
+ }
if (!addedLogListener) {
process.on('log', console.error)
@@ -121,14 +124,14 @@ const parse = args => {
}
let dashdash = false
args.forEach(arg => {
- if (dashdash)
+ if (dashdash) {
conf._.push(arg)
- else if (arg === '--')
+ } else if (arg === '--') {
dashdash = true
- else if (arg === '-h')
+ } else if (arg === '-h') {
conf.help = true
- else if (/^--/.test(arg)) {
- const {key, value} = parseArg(arg)
+ } else if (/^--/.test(arg)) {
+ const { key, value } = parseArg(arg)
conf[key] = value
} else {
conf._.push(arg)
@@ -137,9 +140,9 @@ const parse = args => {
return conf
}
-if (module === require.main)
+if (module === require.main) {
main(process.argv.slice(2))
-else
+} else {
module.exports = {
main,
run,
@@ -147,3 +150,4 @@ else
parseArg,
parse,
}
+}
diff --git a/deps/npm/node_modules/pacote/lib/dir.js b/deps/npm/node_modules/pacote/lib/dir.js
index 0d3a00d95a..598b029f7a 100644
--- a/deps/npm/node_modules/pacote/lib/dir.js
+++ b/deps/npm/node_modules/pacote/lib/dir.js
@@ -1,14 +1,12 @@
const Fetcher = require('./fetcher.js')
const FileFetcher = require('./file.js')
-const cacache = require('cacache')
const Minipass = require('minipass')
-const { promisify } = require('util')
-const readPackageJson = require('read-package-json-fast')
const tarCreateOptions = require('./util/tar-create-options.js')
const packlist = require('npm-packlist')
const tar = require('tar')
const _prepareDir = Symbol('_prepareDir')
const { resolve } = require('path')
+const _readPackageJson = Symbol.for('package.Fetcher._readPackageJson')
const runScript = require('@npmcli/run-script')
@@ -31,18 +29,18 @@ class DirFetcher extends Fetcher {
[_prepareDir] () {
return this.manifest().then(mani => {
- if (!mani.scripts || !mani.scripts.prepare)
+ if (!mani.scripts || !mani.scripts.prepare) {
return
+ }
// we *only* run prepare.
// pre/post-pack is run by the npm CLI for publish and pack,
// but this function is *also* run when installing git deps
const stdio = this.opts.foregroundScripts ? 'inherit' : 'pipe'
- // hide the banner if loglevel is silent, or if prepare running
+ // hide the banner if silent opt is passed in, or if prepare running
// in the background.
- const banner = this.opts.log && this.opts.log.level === 'silent' ? false
- : stdio === 'inherit'
+ const banner = this.opts.silent ? false : stdio === 'inherit'
return runScript({
pkg: mani,
@@ -76,10 +74,11 @@ class DirFetcher extends Fetcher {
}
manifest () {
- if (this.package)
+ if (this.package) {
return Promise.resolve(this.package)
+ }
- return readPackageJson(this.resolved + '/package.json')
+ return this[_readPackageJson](this.resolved + '/package.json')
.then(mani => this.package = {
...mani,
_integrity: this.integrity && String(this.integrity),
diff --git a/deps/npm/node_modules/pacote/lib/fetcher.js b/deps/npm/node_modules/pacote/lib/fetcher.js
index 69dd025b7b..78b13a9637 100644
--- a/deps/npm/node_modules/pacote/lib/fetcher.js
+++ b/deps/npm/node_modules/pacote/lib/fetcher.js
@@ -9,12 +9,15 @@ const { promisify } = require('util')
const { basename, dirname } = require('path')
const rimraf = promisify(require('rimraf'))
const tar = require('tar')
-const procLog = require('./util/proc-log.js')
+const log = require('proc-log')
const retry = require('promise-retry')
const fsm = require('fs-minipass')
const cacache = require('cacache')
const isPackageBin = require('./util/is-package-bin.js')
+const removeTrailingSlashes = require('./util/trailing-slashes.js')
const getContents = require('@npmcli/installed-package-contents')
+const readPackageJsonFast = require('read-package-json-fast')
+const readPackageJson = promisify(require('read-package-json'))
// we only change ownership on unix platforms, and only if uid is 0
const selfOwner = process.getuid && process.getuid() === 0 ? {
@@ -41,11 +44,13 @@ const _assertType = Symbol('_assertType')
const _tarballFromCache = Symbol('_tarballFromCache')
const _tarballFromResolved = Symbol.for('pacote.Fetcher._tarballFromResolved')
const _cacheFetches = Symbol.for('pacote.Fetcher._cacheFetches')
+const _readPackageJson = Symbol.for('package.Fetcher._readPackageJson')
class FetcherBase {
constructor (spec, opts) {
- if (!opts || typeof opts !== 'object')
+ if (!opts || typeof opts !== 'object') {
throw new TypeError('options object is required')
+ }
this.spec = npa(spec, opts.where)
this.allowGitIgnore = !!opts.allowGitIgnore
@@ -62,7 +67,7 @@ class FetcherBase {
this[_assertType]()
// clone the opts object so that others aren't upset when we mutate it
// by adding/modifying the integrity value.
- this.opts = {...opts}
+ this.opts = { ...opts }
this.cache = opts.cache || cacheDir()
this.resolved = opts.resolved || null
@@ -72,8 +77,9 @@ class FetcherBase {
// is no longer strong enough.
this.defaultIntegrityAlgorithm = opts.defaultIntegrityAlgorithm || 'sha512'
- if (typeof opts.integrity === 'string')
+ if (typeof opts.integrity === 'string') {
this.opts.integrity = ssri.parse(opts.integrity)
+ }
this.package = null
this.type = this.constructor.name
@@ -85,7 +91,6 @@ class FetcherBase {
// the process's umask setting do its job. but if configured, we do
// respect it.
this.umask = opts.umask || 0
- this.log = opts.log || procLog
this.preferOnline = !!opts.preferOnline
this.preferOffline = !!opts.preferOffline
@@ -93,10 +98,15 @@ class FetcherBase {
this.before = opts.before
this.fullMetadata = this.before ? true : !!opts.fullMetadata
+ this.fullReadJson = !!opts.fullReadJson
+ if (this.fullReadJson) {
+ this[_readPackageJson] = readPackageJson
+ } else {
+ this[_readPackageJson] = readPackageJsonFast
+ }
this.defaultTag = opts.defaultTag || 'latest'
- this.registry = (opts.registry || 'https://registry.npmjs.org')
- .replace(/\/+$/, '')
+ this.registry = removeTrailingSlashes(opts.registry || 'https://registry.npmjs.org')
// command to run 'prepare' scripts on directories and git dirs
// To use pacote with yarn, for example, set npmBin to 'yarn'
@@ -104,7 +114,7 @@ class FetcherBase {
this.npmBin = opts.npmBin || 'npm'
// command to install deps for preparing
- this.npmInstallCmd = opts.npmInstallCmd || [ 'install', '--force' ]
+ this.npmInstallCmd = opts.npmInstallCmd || ['install', '--force']
// XXX fill more of this in based on what we know from this.opts
// we explicitly DO NOT fill in --tag, though, since we are often
@@ -132,19 +142,22 @@ class FetcherBase {
get integrity () {
return this.opts.integrity || null
}
+
set integrity (i) {
- if (!i)
+ if (!i) {
return
+ }
i = ssri.parse(i)
const current = this.opts.integrity
// do not ever update an existing hash value, but do
// merge in NEW algos and hashes that we don't already have.
- if (current)
+ if (current) {
current.merge(i)
- else
+ } else {
this.opts.integrity = i
+ }
}
get notImplementedError () {
@@ -212,8 +225,9 @@ class FetcherBase {
stream.on('error', er => istream.emit('error', er))
// if not caching this, just pipe through to the istream and return it
- if (!this.opts.cache || !this[_cacheFetches])
+ if (!this.opts.cache || !this[_cacheFetches]) {
return stream.pipe(istream)
+ }
// we have to return a stream that gets ALL the data, and proxies errors,
// but then pipe from the original tarball stream into the cache as well.
@@ -288,39 +302,42 @@ class FetcherBase {
this.integrity &&
this.resolved
) ? streamHandler(this[_tarballFromCache]()).catch(er => {
- if (this.isDataCorruptionError(er)) {
- this.log.warn('tarball', `cached data for ${
+ if (this.isDataCorruptionError(er)) {
+ log.warn('tarball', `cached data for ${
this.spec
} (${this.integrity}) seems to be corrupted. Refreshing cache.`)
- return this.cleanupCached().then(() => { throw er })
- } else {
- throw er
- }
- }) : null
+ return this.cleanupCached().then(() => {
+ throw er
+ })
+ } else {
+ throw er
+ }
+ }) : null
const fromResolved = er => {
if (er) {
- if (!this.isRetriableError(er))
+ if (!this.isRetriableError(er)) {
throw er
- this.log.silly('tarball', `no local data for ${
+ }
+ log.silly('tarball', `no local data for ${
this.spec
}. Extracting by manifest.`)
}
return this.resolve().then(() => retry(tryAgain =>
streamHandler(this[_istream](this[_tarballFromResolved]()))
- .catch(er => {
+ .catch(er => {
// Most likely data integrity. A cache ENOENT error is unlikely
// here, since we're definitely not reading from the cache, but it
// IS possible that the fetch subsystem accessed the cache, and the
// entry got blown away or something. Try one more time to be sure.
- if (this.isRetriableError(er)) {
- this.log.warn('tarball', `tarball data for ${
+ if (this.isRetriableError(er)) {
+ log.warn('tarball', `tarball data for ${
this.spec
} (${this.integrity}) seems to be corrupted. Trying again.`)
- return this.cleanupCached().then(() => tryAgain(er))
- }
- throw er
- }), { retries: 1, minTimeout: 0, maxTimeout: 0 }))
+ return this.cleanupCached().then(() => tryAgain(er))
+ }
+ throw er
+ }), { retries: 1, minTimeout: 0, maxTimeout: 0 }))
}
return fromCache ? fromCache.catch(fromResolved) : fromResolved()
@@ -337,7 +354,7 @@ class FetcherBase {
}
[_empty] (path) {
- return getContents({path, depth: 1}).then(contents => Promise.all(
+ return getContents({ path, depth: 1 }).then(contents => Promise.all(
contents.map(entry => rimraf(entry))))
}
@@ -350,7 +367,7 @@ class FetcherBase {
// parent folder (rare, but probably happens sometimes).
return !inferOwner
? this[_empty](dest).then(() => mkdirp(dest)).then(() => ({}))
- : inferOwner(dest).then(({uid, gid}) =>
+ : inferOwner(dest).then(({ uid, gid }) =>
this[_empty](dest)
.then(() => mkdirp(dest))
.then(made => {
@@ -360,13 +377,13 @@ class FetcherBase {
const dir = made || /* istanbul ignore next */ dest
return this[_chown](dir, uid, gid)
})
- .then(() => ({uid, gid})))
+ .then(() => ({ uid, gid })))
}
// extraction is always the same. the only difference is where
// the tarball comes from.
extract (dest) {
- return this[_mkdir](dest).then(({uid, gid}) =>
+ return this[_mkdir](dest).then(({ uid, gid }) =>
this.tarballStream(tarball => this[_extract](dest, tarball, uid, gid)))
}
@@ -389,7 +406,7 @@ class FetcherBase {
const dir = dirname(dest)
return !inferOwner
? mkdirp(dir).then(() => this[_toFile](dest))
- : inferOwner(dest).then(({uid, gid}) =>
+ : inferOwner(dest).then(({ uid, gid }) =>
mkdirp(dir).then(made => this[_toFile](dest)
.then(res => this[_chown](made || dir, uid, gid)
.then(() => res))))
@@ -407,8 +424,8 @@ class FetcherBase {
})
extractor.on('error', er => {
- this.log.warn('tar', er.message)
- this.log.silly('tar', er)
+ log.warn('tar', er.message)
+ log.silly('tar', er)
reject(er)
})
@@ -439,21 +456,23 @@ class FetcherBase {
noChmod: true,
noMtime: true,
filter: (name, entry) => {
- if (/Link$/.test(entry.type))
+ if (/Link$/.test(entry.type)) {
return false
+ }
entry.mode = this[_entryMode](entry.path, entry.mode, entry.type)
// this replicates the npm pack behavior where .gitignore files
// are treated like .npmignore files, but only if a .npmignore
// file is not present.
if (/File$/.test(entry.type)) {
const base = basename(entry.path)
- if (base === '.npmignore')
+ if (base === '.npmignore') {
sawIgnores.add(entry.path)
- else if (base === '.gitignore' && !this.allowGitIgnore) {
+ } else if (base === '.gitignore' && !this.allowGitIgnore) {
// rename, but only if there's not already a .npmignore
const ni = entry.path.replace(/\.gitignore$/, '.npmignore')
- if (sawIgnores.has(ni))
+ if (sawIgnores.has(ni)) {
return false
+ }
entry.path = ni
}
return true
@@ -462,8 +481,8 @@ class FetcherBase {
strip: 1,
onwarn: /* istanbul ignore next - we can trust that tar logs */
(code, msg, data) => {
- this.log.warn('tar', code, msg)
- this.log.silly('tar', code, msg, data)
+ log.warn('tar', code, msg)
+ log.silly('tar', code, msg, data)
},
uid,
gid,
diff --git a/deps/npm/node_modules/pacote/lib/file.js b/deps/npm/node_modules/pacote/lib/file.js
index d5c601aabd..bf99bb86e3 100644
--- a/deps/npm/node_modules/pacote/lib/file.js
+++ b/deps/npm/node_modules/pacote/lib/file.js
@@ -1,12 +1,11 @@
const Fetcher = require('./fetcher.js')
const fsm = require('fs-minipass')
const cacache = require('cacache')
-const { promisify } = require('util')
-const readPackageJson = require('read-package-json-fast')
const _tarballFromResolved = Symbol.for('pacote.Fetcher._tarballFromResolved')
const _exeBins = Symbol('_exeBins')
const { resolve } = require('path')
const fs = require('fs')
+const _readPackageJson = Symbol.for('package.Fetcher._readPackageJson')
class FileFetcher extends Fetcher {
constructor (spec, opts) {
@@ -20,24 +19,26 @@ class FileFetcher extends Fetcher {
}
manifest () {
- if (this.package)
+ if (this.package) {
return Promise.resolve(this.package)
+ }
// have to unpack the tarball for this.
return cacache.tmp.withTmp(this.cache, this.opts, dir =>
this.extract(dir)
- .then(() => readPackageJson(dir + '/package.json'))
- .then(mani => this.package = {
- ...mani,
- _integrity: this.integrity && String(this.integrity),
- _resolved: this.resolved,
- _from: this.from,
- }))
+ .then(() => this[_readPackageJson](dir + '/package.json'))
+ .then(mani => this.package = {
+ ...mani,
+ _integrity: this.integrity && String(this.integrity),
+ _resolved: this.resolved,
+ _from: this.from,
+ }))
}
[_exeBins] (pkg, dest) {
- if (!pkg.bin)
+ if (!pkg.bin) {
return Promise.resolve()
+ }
return Promise.all(Object.keys(pkg.bin).map(k => new Promise(res => {
const script = resolve(dest, pkg.bin[k])
@@ -46,11 +47,13 @@ class FileFetcher extends Fetcher {
// something, we just leave it for a later stage to trip over
// when we can provide a more useful contextual error.
fs.stat(script, (er, st) => {
- if (er)
+ if (er) {
return res()
+ }
const mode = st.mode | 0o111
- if (mode === st.mode)
+ if (mode === st.mode) {
return res()
+ }
fs.chmod(script, mode, res)
})
})))
@@ -61,8 +64,8 @@ class FileFetcher extends Fetcher {
// but if not, read the unpacked manifest and chmod properly.
return super.extract(dest)
.then(result => this.package ? result
- : readPackageJson(dest + '/package.json').then(pkg =>
- this[_exeBins](pkg, dest)).then(() => result))
+ : this[_readPackageJson](dest + '/package.json').then(pkg =>
+ this[_exeBins](pkg, dest)).then(() => result))
}
[_tarballFromResolved] () {
@@ -75,7 +78,7 @@ class FileFetcher extends Fetcher {
return this.manifest().then(mani => ({
name: mani.name,
'dist-tags': {
- [this.defaultTag]: mani.version
+ [this.defaultTag]: mani.version,
},
versions: {
[mani.version]: {
@@ -83,9 +86,9 @@ class FileFetcher extends Fetcher {
dist: {
tarball: `file:${this.resolved}`,
integrity: this.integrity && String(this.integrity),
- }
- }
- }
+ },
+ },
+ },
}))
}
}
diff --git a/deps/npm/node_modules/pacote/lib/git.js b/deps/npm/node_modules/pacote/lib/git.js
index ab87d494ce..9d84d95fa6 100644
--- a/deps/npm/node_modules/pacote/lib/git.js
+++ b/deps/npm/node_modules/pacote/lib/git.js
@@ -6,11 +6,9 @@ const hashre = /^[a-f0-9]{40}$/
const git = require('@npmcli/git')
const pickManifest = require('npm-pick-manifest')
const npa = require('npm-package-arg')
-const url = require('url')
const Minipass = require('minipass')
const cacache = require('cacache')
-const { promisify } = require('util')
-const readPackageJson = require('read-package-json-fast')
+const log = require('proc-log')
const npm = require('./util/npm.js')
const _resolvedFromRepo = Symbol('_resolvedFromRepo')
@@ -24,6 +22,7 @@ const _cloneHosted = Symbol('_cloneHosted')
const _cloneRepo = Symbol('_cloneRepo')
const _setResolvedWithSha = Symbol('_setResolvedWithSha')
const _prepareDir = Symbol('_prepareDir')
+const _readPackageJson = Symbol.for('package.Fetcher._readPackageJson')
// get the repository url.
// prefer https if there's auth, since ssh will drop that.
@@ -39,9 +38,17 @@ const addGitPlus = url => url && `git+${url}`.replace(/^(git\+)+/, 'git+')
class GitFetcher extends Fetcher {
constructor (spec, opts) {
super(spec, opts)
+
+ // we never want to compare integrity for git dependencies: npm/rfcs#525
+ if (this.opts.integrity) {
+ delete this.opts.integrity
+ log.warn(`skipping integrity check for git dependency ${this.spec.fetchSpec}`)
+ }
+
this.resolvedRef = null
- if (this.spec.hosted)
+ if (this.spec.hosted) {
this.from = this.spec.hosted.shortcut({ noCommittish: false })
+ }
// shortcut: avoid full clone when we can go straight to the tgz
// if we have the full sha and it's a hosted git platform
@@ -51,8 +58,9 @@ class GitFetcher extends Fetcher {
this.resolved = this.spec.hosted
? repoUrl(this.spec.hosted, { noCommittish: false })
: this.spec.rawSpec
- } else
+ } else {
this.resolvedSha = ''
+ }
}
// just exposed to make it easier to test all the combinations
@@ -67,8 +75,9 @@ class GitFetcher extends Fetcher {
resolve () {
// likely a hosted git repo with a sha, so get the tarball url
// but in general, no reason to resolve() more than necessary!
- if (this.resolved)
+ if (this.resolved) {
return super.resolve()
+ }
// fetch the git repo and then look at the current hash
const h = this.spec.hosted
@@ -86,37 +95,41 @@ class GitFetcher extends Fetcher {
return this[_resolvedFromRepo](hosted.https && hosted.https())
.catch(er => {
// Throw early since we know pathspec errors will fail again if retried
- if (er instanceof git.errors.GitPathspecError)
+ if (er instanceof git.errors.GitPathspecError) {
throw er
+ }
const ssh = hosted.sshurl && hosted.sshurl()
// no fallthrough if we can't fall through or have https auth
- if (!ssh || hosted.auth)
+ if (!ssh || hosted.auth) {
throw er
+ }
return this[_resolvedFromRepo](ssh)
})
}
[_resolvedFromRepo] (gitRemote) {
// XXX make this a custom error class
- if (!gitRemote)
+ if (!gitRemote) {
return Promise.reject(new Error(`No git url for ${this.spec}`))
+ }
const gitRange = this.spec.gitRange
const name = this.spec.name
return git.revs(gitRemote, this.opts).then(remoteRefs => {
return gitRange ? pickManifest({
- versions: remoteRefs.versions,
- 'dist-tags': remoteRefs['dist-tags'],
- name,
- }, gitRange, this.opts)
+ versions: remoteRefs.versions,
+ 'dist-tags': remoteRefs['dist-tags'],
+ name,
+ }, gitRange, this.opts)
: this.spec.gitCommittish ?
remoteRefs.refs[this.spec.gitCommittish] ||
remoteRefs.refs[remoteRefs.shas[this.spec.gitCommittish]]
- : remoteRefs.refs.HEAD // no git committish, get default head
+ : remoteRefs.refs.HEAD // no git committish, get default head
}).then(revDoc => {
// the committish provided isn't in the rev list
// things like HEAD~3 or @yesterday can land here.
- if (!revDoc || !revDoc.sha)
+ if (!revDoc || !revDoc.sha) {
return this[_resolvedFromClone]()
+ }
this.resolvedRef = revDoc
this.resolvedSha = revDoc.sha
@@ -145,16 +158,18 @@ class GitFetcher extends Fetcher {
}
[_prepareDir] (dir) {
- return readPackageJson(dir + '/package.json').then(mani => {
+ return this[_readPackageJson](dir + '/package.json').then(mani => {
// no need if we aren't going to do any preparation.
const scripts = mani.scripts
- if (!scripts || !(
- scripts.postinstall ||
+ if (!mani.workspaces && (!scripts || !(
+ scripts.postinstall ||
scripts.build ||
scripts.preinstall ||
scripts.install ||
- scripts.prepare))
+ scripts.prepack ||
+ scripts.prepare))) {
return
+ }
// to avoid cases where we have an cycle of git deps that depend
// on one another, we only ever do preparation for one instance
@@ -166,7 +181,7 @@ class GitFetcher extends Fetcher {
const noPrepare = !process.env._PACOTE_NO_PREPARE_ ? []
: process.env._PACOTE_NO_PREPARE_.split('\n')
if (noPrepare.includes(this.resolved)) {
- this.log.info('prepare', 'skip prepare, already seen', this.resolved)
+ log.info('prepare', 'skip prepare, already seen', this.resolved)
return
}
noPrepare.push(this.resolved)
@@ -186,7 +201,6 @@ class GitFetcher extends Fetcher {
[_tarballFromResolved] () {
const stream = new Minipass()
stream.resolved = this.resolved
- stream.integrity = this.integrity
stream.from = this.from
// check it out and then shell out to the DirFetcher tarball packer
@@ -202,9 +216,9 @@ class GitFetcher extends Fetcher {
dirStream.on('end', res)
dirStream.pipe(stream)
}))).catch(
- /* istanbul ignore next: very unlikely and hard to test */
- er => stream.emit('error', er)
- )
+ /* istanbul ignore next: very unlikely and hard to test */
+ er => stream.emit('error', er)
+ )
return stream
}
@@ -237,10 +251,11 @@ class GitFetcher extends Fetcher {
integrity: null, // it'll always be different, if we have one
}).extract(tmp).then(() => handler(tmp), er => {
// fall back to ssh download if tarball fails
- if (er.constructor.name.match(/^Http/))
+ if (er.constructor.name.match(/^Http/)) {
return this[_clone](handler, false)
- else
+ } else {
throw er
+ }
})
}
@@ -249,10 +264,11 @@ class GitFetcher extends Fetcher {
: this[_cloneRepo](this.spec.fetchSpec, ref, tmp)
).then(sha => {
this.resolvedSha = sha
- if (!this.resolved)
+ if (!this.resolved) {
this[_addGitSha](sha)
+ }
})
- .then(() => handler(tmp))
+ .then(() => handler(tmp))
})
}
@@ -266,12 +282,14 @@ class GitFetcher extends Fetcher {
return this[_cloneRepo](hosted.https({ noCommittish: true }), ref, tmp)
.catch(er => {
// Throw early since we know pathspec errors will fail again if retried
- if (er instanceof git.errors.GitPathspecError)
+ if (er instanceof git.errors.GitPathspecError) {
throw er
+ }
const ssh = hosted.sshurl && hosted.sshurl({ noCommittish: true })
// no fallthrough if we can't fall through or have https auth
- if (!ssh || hosted.auth)
+ if (!ssh || hosted.auth) {
throw er
+ }
return this[_cloneRepo](ssh, ref, tmp)
})
}
@@ -282,19 +300,19 @@ class GitFetcher extends Fetcher {
}
manifest () {
- if (this.package)
+ if (this.package) {
return Promise.resolve(this.package)
+ }
return this.spec.hosted && this.resolved
? FileFetcher.prototype.manifest.apply(this)
: this[_clone](dir =>
- readPackageJson(dir + '/package.json')
- .then(mani => this.package = {
- ...mani,
- _integrity: this.integrity && String(this.integrity),
- _resolved: this.resolved,
- _from: this.from,
- }))
+ this[_readPackageJson](dir + '/package.json')
+ .then(mani => this.package = {
+ ...mani,
+ _resolved: this.resolved,
+ _from: this.from,
+ }))
}
packument () {
diff --git a/deps/npm/node_modules/pacote/lib/registry.js b/deps/npm/node_modules/pacote/lib/registry.js
index e0a3107174..b4f890d310 100644
--- a/deps/npm/node_modules/pacote/lib/registry.js
+++ b/deps/npm/node_modules/pacote/lib/registry.js
@@ -2,11 +2,11 @@ const Fetcher = require('./fetcher.js')
const RemoteFetcher = require('./remote.js')
const _tarballFromResolved = Symbol.for('pacote.Fetcher._tarballFromResolved')
const pacoteVersion = require('../package.json').version
+const removeTrailingSlashes = require('./util/trailing-slashes.js')
const npa = require('npm-package-arg')
const rpj = require('read-package-json-fast')
const pickManifest = require('npm-pick-manifest')
const ssri = require('ssri')
-const Minipass = require('minipass')
// Corgis are cute. 🐕🐶
const corgiDoc = 'application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*'
@@ -32,10 +32,11 @@ class RegistryFetcher extends Fetcher {
// handle case when npm-package-arg guesses wrong.
if (this.spec.type === 'tag' &&
this.spec.rawSpec === '' &&
- this.defaultTag !== 'latest')
+ this.defaultTag !== 'latest') {
this.spec = npa(`${this.spec.name}@${this.defaultTag}`)
+ }
this.registry = fetch.pickRegistry(spec, opts)
- this.packumentUrl = this.registry.replace(/\/*$/, '/') +
+ this.packumentUrl = removeTrailingSlashes(this.registry) + '/' +
this.spec.escapedName
// XXX pacote <=9 has some logic to ignore opts.resolved if
@@ -45,13 +46,15 @@ class RegistryFetcher extends Fetcher {
}
resolve () {
- if (this.resolved)
+ if (this.resolved) {
return Promise.resolve(this.resolved)
+ }
// fetching the manifest sets resolved and (usually) integrity
return this.manifest().then(() => {
- if (this.resolved)
+ if (this.resolved) {
return this.resolved
+ }
throw Object.assign(
new Error('Invalid package manifest: no `dist.tarball` field'),
@@ -77,8 +80,9 @@ class RegistryFetcher extends Fetcher {
// note this might be either an in-flight promise for a request,
// or the actual packument, but we never want to make more than
// one request at a time for the same thing regardless.
- if (this.packumentCache && this.packumentCache.has(this.packumentUrl))
+ if (this.packumentCache && this.packumentCache.has(this.packumentUrl)) {
return this.packumentCache.get(this.packumentUrl)
+ }
// npm-registry-fetch the packument
// set the appropriate header for corgis if fullMetadata isn't set
@@ -92,12 +96,14 @@ class RegistryFetcher extends Fetcher {
}).then(res => res.json().then(packument => {
packument._cached = res.headers.has('x-local-cache')
packument._contentLength = +res.headers.get('content-length')
- if (this.packumentCache)
+ if (this.packumentCache) {
this.packumentCache.set(this.packumentUrl, packument)
+ }
return packument
})).catch(er => {
- if (this.packumentCache)
+ if (this.packumentCache) {
this.packumentCache.delete(this.packumentUrl)
+ }
if (er.code === 'E404' && !this.fullMetadata) {
// possible that corgis are not supported by this registry
this.fullMetadata = true
@@ -105,14 +111,16 @@ class RegistryFetcher extends Fetcher {
}
throw er
})
- if (this.packumentCache)
+ if (this.packumentCache) {
this.packumentCache.set(this.packumentUrl, p)
+ }
return p
}
manifest () {
- if (this.package)
+ if (this.package) {
return Promise.resolve(this.package)
+ }
return this.packument()
.then(packument => pickManifest(packument, this.spec.fetchSpec, {
@@ -127,12 +135,12 @@ class RegistryFetcher extends Fetcher {
this.resolved = mani._resolved = dist.tarball
mani._from = this.from
const distIntegrity = dist.integrity ? ssri.parse(dist.integrity)
- : dist.shasum ? ssri.fromHex(dist.shasum, 'sha1', {...this.opts})
+ : dist.shasum ? ssri.fromHex(dist.shasum, 'sha1', { ...this.opts })
: null
if (distIntegrity) {
- if (!this.integrity)
+ if (!this.integrity) {
this.integrity = distIntegrity
- else if (!this.integrity.match(distIntegrity)) {
+ } else if (!this.integrity.match(distIntegrity)) {
// only bork if they have algos in common.
// otherwise we end up breaking if we have saved a sha512
// previously for the tarball, but the manifest only
@@ -143,7 +151,7 @@ class RegistryFetcher extends Fetcher {
for (const algo of Object.keys(this.integrity)) {
if (distIntegrity[algo]) {
throw Object.assign(new Error(
- `Integrity checksum failed when using ${algo}: `+
+ `Integrity checksum failed when using ${algo}: ` +
`wanted ${this.integrity} but got ${distIntegrity}.`
), { code: 'EINTEGRITY' })
}
@@ -155,8 +163,9 @@ class RegistryFetcher extends Fetcher {
}
}
}
- if (this.integrity)
+ if (this.integrity) {
mani._integrity = String(this.integrity)
+ }
this.package = rpj.normalize(mani)
return this.package
})
diff --git a/deps/npm/node_modules/pacote/lib/remote.js b/deps/npm/node_modules/pacote/lib/remote.js
index 727a8bfc8e..5cabfe4fcd 100644
--- a/deps/npm/node_modules/pacote/lib/remote.js
+++ b/deps/npm/node_modules/pacote/lib/remote.js
@@ -3,7 +3,6 @@ const FileFetcher = require('./file.js')
const _tarballFromResolved = Symbol.for('pacote.Fetcher._tarballFromResolved')
const pacoteVersion = require('../package.json').version
const fetch = require('npm-registry-fetch')
-const ssri = require('ssri')
const Minipass = require('minipass')
// The default registry URL is a string of great magic.
const magic = /^https?:\/\/registry\.npmjs\.org\//
@@ -14,8 +13,9 @@ class RemoteFetcher extends Fetcher {
constructor (spec, opts) {
super(spec, opts)
this.resolved = this.spec.fetchSpec
- if (magic.test(this.resolved) && !magic.test(this.registry + '/'))
+ if (magic.test(this.resolved) && !magic.test(this.registry + '/')) {
this.resolved = this.resolved.replace(magic, this.registry + '/')
+ }
// nam is a fermented pork sausage that is good to eat
const nameat = this.spec.name ? `${this.spec.name}@` : ''
@@ -35,7 +35,7 @@ class RemoteFetcher extends Fetcher {
headers: this[_headers](),
spec: this.spec,
integrity: this.integrity,
- algorithms: [ this.pickIntegrityAlgorithm() ],
+ algorithms: [this.pickIntegrityAlgorithm()],
}
fetch(this.resolved, fetchOpts).then(res => {
const hash = res.headers.get('x-local-cache-hash')
@@ -62,7 +62,7 @@ class RemoteFetcher extends Fetcher {
'pacote-req-type': 'tarball',
'pacote-pkg-id': this.pkgid,
...(this.integrity ? { 'pacote-integrity': String(this.integrity) }
- : {}),
+ : {}),
...(this.opts.headers || {}),
}
}
diff --git a/deps/npm/node_modules/pacote/lib/util/cache-dir.js b/deps/npm/node_modules/pacote/lib/util/cache-dir.js
index abd2453232..4236213edd 100644
--- a/deps/npm/node_modules/pacote/lib/util/cache-dir.js
+++ b/deps/npm/node_modules/pacote/lib/util/cache-dir.js
@@ -1,5 +1,5 @@
const os = require('os')
-const {resolve} = require('path')
+const { resolve } = require('path')
module.exports = (fakePlatform = false) => {
const temp = os.tmpdir()
diff --git a/deps/npm/node_modules/pacote/lib/util/is-package-bin.js b/deps/npm/node_modules/pacote/lib/util/is-package-bin.js
index 35cf064270..49a3f73f53 100644
--- a/deps/npm/node_modules/pacote/lib/util/is-package-bin.js
+++ b/deps/npm/node_modules/pacote/lib/util/is-package-bin.js
@@ -12,10 +12,11 @@ const binObj = (name, bin) =>
const hasBin = (pkg, path) => {
const bin = binObj(pkg.name, pkg.bin)
- const p = path.replace(/^[^\\\/]*\//, '')
- for (const [k, v] of Object.entries(bin)) {
- if (v === p)
+ const p = path.replace(/^[^\\/]*\//, '')
+ for (const kv of Object.entries(bin)) {
+ if (kv[1] === p) {
return true
+ }
}
return false
}
diff --git a/deps/npm/node_modules/pacote/lib/util/npm.js b/deps/npm/node_modules/pacote/lib/util/npm.js
index f2f29bd0ac..c444d788ad 100644
--- a/deps/npm/node_modules/pacote/lib/util/npm.js
+++ b/deps/npm/node_modules/pacote/lib/util/npm.js
@@ -1,6 +1,5 @@
// run an npm command
const spawn = require('@npmcli/promise-spawn')
-const {dirname} = require('path')
module.exports = (npmBin, npmCommand, cwd, env, extra) => {
const isJS = npmBin.endsWith('.js')
diff --git a/deps/npm/node_modules/pacote/lib/util/proc-log.js b/deps/npm/node_modules/pacote/lib/util/proc-log.js
deleted file mode 100644
index b2bdd9dc90..0000000000
--- a/deps/npm/node_modules/pacote/lib/util/proc-log.js
+++ /dev/null
@@ -1,21 +0,0 @@
-// default logger.
-// emits 'log' events on the process
-const LEVELS = [
- 'notice',
- 'error',
- 'warn',
- 'info',
- 'verbose',
- 'http',
- 'silly',
- 'pause',
- 'resume'
-]
-
-const log = level => (...args) => process.emit('log', level, ...args)
-
-const logger = {}
-for (const level of LEVELS) {
- logger[level] = log(level)
-}
-module.exports = logger
diff --git a/deps/npm/node_modules/pacote/lib/util/tar-create-options.js b/deps/npm/node_modules/pacote/lib/util/tar-create-options.js
index 31ab34c9d9..d070f0f7ba 100644
--- a/deps/npm/node_modules/pacote/lib/util/tar-create-options.js
+++ b/deps/npm/node_modules/pacote/lib/util/tar-create-options.js
@@ -9,7 +9,7 @@ const tarCreateOptions = manifest => ({
// platform specific optimizations that cause
// integrity mismatch errors due to differing
// end results after compression
- level: 9
+ level: 9,
},
// ensure that package bins are always executable
@@ -17,8 +17,9 @@ const tarCreateOptions = manifest => ({
// anything that is not a regular file, ignored by
// .npmignore or package.json "files", etc.
filter: (path, stat) => {
- if (isPackageBin(manifest, path))
+ if (isPackageBin(manifest, path)) {
stat.mode |= 0o111
+ }
return true
},
diff --git a/deps/npm/node_modules/pacote/lib/util/trailing-slashes.js b/deps/npm/node_modules/pacote/lib/util/trailing-slashes.js
new file mode 100644
index 0000000000..ff75dfd9c0
--- /dev/null
+++ b/deps/npm/node_modules/pacote/lib/util/trailing-slashes.js
@@ -0,0 +1,10 @@
+const removeTrailingSlashes = (input) => {
+ // in order to avoid regexp redos detection
+ let output = input
+ while (output.endsWith('/')) {
+ output = output.substr(0, output.length - 1)
+ }
+ return output
+}
+
+module.exports = removeTrailingSlashes
diff --git a/deps/npm/node_modules/pacote/package.json b/deps/npm/node_modules/pacote/package.json
index ffbc067f68..fc6ab52fa9 100644
--- a/deps/npm/node_modules/pacote/package.json
+++ b/deps/npm/node_modules/pacote/package.json
@@ -1,8 +1,8 @@
{
"name": "pacote",
- "version": "12.0.3",
+ "version": "13.0.3",
"description": "JavaScript package downloader",
- "author": "Isaac Z. Schlueter <i@izs.me> (https://izs.me)",
+ "author": "GitHub Inc.",
"bin": {
"pacote": "lib/bin.js"
},
@@ -13,19 +13,26 @@
"snap": "tap",
"preversion": "npm test",
"postversion": "npm publish",
- "prepublishOnly": "git push origin --follow-tags"
+ "prepublishOnly": "git push origin --follow-tags",
+ "lint": "eslint '**/*.js'",
+ "postlint": "npm-template-check",
+ "lintfix": "npm run lint -- --fix",
+ "posttest": "npm run lint",
+ "template-copy": "npm-template-copy --force"
},
"tap": {
"timeout": 300,
"coverage-map": "map.js"
},
"devDependencies": {
+ "@npmcli/template-oss": "^2.7.1",
"mutate-fs": "^2.1.1",
"npm-registry-mock": "^1.3.1",
- "tap": "^15.0.4"
+ "tap": "^15.1.6"
},
"files": [
- "lib/**/*.js"
+ "bin",
+ "lib"
],
"keywords": [
"packages",
@@ -33,28 +40,34 @@
"git"
],
"dependencies": {
- "@npmcli/git": "^2.1.0",
- "@npmcli/installed-package-contents": "^1.0.6",
+ "@npmcli/git": "^3.0.0",
+ "@npmcli/installed-package-contents": "^1.0.7",
"@npmcli/promise-spawn": "^1.2.0",
- "@npmcli/run-script": "^2.0.0",
- "cacache": "^15.0.5",
+ "@npmcli/run-script": "^3.0.0",
+ "cacache": "^15.3.0",
"chownr": "^2.0.0",
"fs-minipass": "^2.1.0",
"infer-owner": "^1.0.4",
- "minipass": "^3.1.3",
- "mkdirp": "^1.0.3",
- "npm-package-arg": "^8.0.1",
+ "minipass": "^3.1.6",
+ "mkdirp": "^1.0.4",
+ "npm-package-arg": "^9.0.0",
"npm-packlist": "^3.0.0",
- "npm-pick-manifest": "^6.0.0",
- "npm-registry-fetch": "^12.0.0",
+ "npm-pick-manifest": "^7.0.0",
+ "npm-registry-fetch": "^13.0.0",
+ "proc-log": "^2.0.0",
"promise-retry": "^2.0.1",
- "read-package-json-fast": "^2.0.1",
+ "read-package-json": "^4.1.1",
+ "read-package-json-fast": "^2.0.3",
"rimraf": "^3.0.2",
"ssri": "^8.0.1",
- "tar": "^6.1.0"
+ "tar": "^6.1.11"
},
"engines": {
"node": "^12.13.0 || ^14.15.0 || >=16"
},
- "repository": "git@github.com:npm/pacote"
+ "repository": "git@github.com:npm/pacote",
+ "templateOSS": {
+ "version": "2.7.1",
+ "windowsCI": false
+ }
}
diff --git a/deps/npm/node_modules/proc-log/index.js b/deps/npm/node_modules/proc-log/index.js
deleted file mode 100644
index 9b58713ff3..0000000000
--- a/deps/npm/node_modules/proc-log/index.js
+++ /dev/null
@@ -1,22 +0,0 @@
-// emits 'log' events on the process
-const LEVELS = [
- 'notice',
- 'error',
- 'warn',
- 'info',
- 'verbose',
- 'http',
- 'silly',
- 'pause',
- 'resume',
-]
-
-const log = level => (...args) => process.emit('log', level, ...args)
-
-const logger = {}
-for (const level of LEVELS)
- logger[level] = log(level)
-
-logger.LEVELS = LEVELS
-
-module.exports = logger
diff --git a/deps/npm/node_modules/libnpmversion/lib/proc-log.js b/deps/npm/node_modules/proc-log/lib/index.js
index a7c683ba2f..7c5dfad3b7 100644
--- a/deps/npm/node_modules/libnpmversion/lib/proc-log.js
+++ b/deps/npm/node_modules/proc-log/lib/index.js
@@ -1,4 +1,3 @@
-// default logger.
// emits 'log' events on the process
const LEVELS = [
'notice',
@@ -18,4 +17,7 @@ const logger = {}
for (const level of LEVELS) {
logger[level] = log(level)
}
+
+logger.LEVELS = LEVELS
+
module.exports = logger
diff --git a/deps/npm/node_modules/proc-log/package.json b/deps/npm/node_modules/proc-log/package.json
index 178009f61b..17e9249b7c 100644
--- a/deps/npm/node_modules/proc-log/package.json
+++ b/deps/npm/node_modules/proc-log/package.json
@@ -1,28 +1,36 @@
{
"name": "proc-log",
- "version": "1.0.0",
+ "version": "2.0.0",
"files": [
- "index.js"
+ "bin",
+ "lib"
],
+ "main": "lib/index.js",
"description": "just emit 'log' events on the process object",
"repository": "https://github.com/npm/proc-log",
- "author": "Isaac Z. Schlueter <i@izs.me> (https://izs.me)",
+ "author": "GitHub Inc.",
"license": "ISC",
"scripts": {
"test": "tap",
"snap": "tap",
- "posttest": "eslint index.js test/*.js",
+ "posttest": "npm run lint",
"postsnap": "eslint index.js test/*.js --fix",
"preversion": "npm test",
"postversion": "npm publish",
- "prepublishOnly": "git push origin --follow-tags"
+ "prepublishOnly": "git push origin --follow-tags",
+ "lint": "eslint '**/*.js'",
+ "postlint": "npm-template-check",
+ "template-copy": "npm-template-copy --force",
+ "lintfix": "npm run lint -- --fix"
},
"devDependencies": {
- "eslint": "^7.9.0",
- "eslint-plugin-import": "^2.22.0",
- "eslint-plugin-node": "^11.1.0",
- "eslint-plugin-promise": "^4.2.1",
- "eslint-plugin-standard": "^4.0.1",
- "tap": "^15.0.2"
+ "@npmcli/template-oss": "^2.7.1",
+ "tap": "^15.1.6"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16"
+ },
+ "templateOSS": {
+ "version": "2.7.1"
}
}
diff --git a/deps/npm/node_modules/cli-columns/node_modules/string-width/index.d.ts b/deps/npm/node_modules/string-width/index.d.ts
index 12b5309751..12b5309751 100644
--- a/deps/npm/node_modules/cli-columns/node_modules/string-width/index.d.ts
+++ b/deps/npm/node_modules/string-width/index.d.ts
diff --git a/deps/npm/node_modules/string-width/index.js b/deps/npm/node_modules/string-width/index.js
index bbc49d29b1..f4d261a96a 100644
--- a/deps/npm/node_modules/string-width/index.js
+++ b/deps/npm/node_modules/string-width/index.js
@@ -1,18 +1,25 @@
'use strict';
const stripAnsi = require('strip-ansi');
const isFullwidthCodePoint = require('is-fullwidth-code-point');
+const emojiRegex = require('emoji-regex');
-module.exports = str => {
- if (typeof str !== 'string' || str.length === 0) {
+const stringWidth = string => {
+ if (typeof string !== 'string' || string.length === 0) {
return 0;
}
- str = stripAnsi(str);
+ string = stripAnsi(string);
+
+ if (string.length === 0) {
+ return 0;
+ }
+
+ string = string.replace(emojiRegex(), ' ');
let width = 0;
- for (let i = 0; i < str.length; i++) {
- const code = str.codePointAt(i);
+ for (let i = 0; i < string.length; i++) {
+ const code = string.codePointAt(i);
// Ignore control characters
if (code <= 0x1F || (code >= 0x7F && code <= 0x9F)) {
@@ -34,3 +41,7 @@ module.exports = str => {
return width;
};
+
+module.exports = stringWidth;
+// TODO: remove this in the next major version
+module.exports.default = stringWidth;
diff --git a/deps/npm/node_modules/string-width/node_modules/ansi-regex/index.d.ts b/deps/npm/node_modules/string-width/node_modules/ansi-regex/index.d.ts
new file mode 100644
index 0000000000..2dbf6af2b6
--- /dev/null
+++ b/deps/npm/node_modules/string-width/node_modules/ansi-regex/index.d.ts
@@ -0,0 +1,37 @@
+declare namespace ansiRegex {
+ interface Options {
+ /**
+ Match only the first ANSI escape.
+
+ @default false
+ */
+ onlyFirst: boolean;
+ }
+}
+
+/**
+Regular expression for matching ANSI escape codes.
+
+@example
+```
+import ansiRegex = require('ansi-regex');
+
+ansiRegex().test('\u001B[4mcake\u001B[0m');
+//=> true
+
+ansiRegex().test('cake');
+//=> false
+
+'\u001B[4mcake\u001B[0m'.match(ansiRegex());
+//=> ['\u001B[4m', '\u001B[0m']
+
+'\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true}));
+//=> ['\u001B[4m']
+
+'\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007'.match(ansiRegex());
+//=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007']
+```
+*/
+declare function ansiRegex(options?: ansiRegex.Options): RegExp;
+
+export = ansiRegex;
diff --git a/deps/npm/node_modules/string-width/node_modules/ansi-regex/index.js b/deps/npm/node_modules/string-width/node_modules/ansi-regex/index.js
index c4aaecf505..616ff837d3 100644
--- a/deps/npm/node_modules/string-width/node_modules/ansi-regex/index.js
+++ b/deps/npm/node_modules/string-width/node_modules/ansi-regex/index.js
@@ -1,10 +1,10 @@
'use strict';
-module.exports = () => {
+module.exports = ({onlyFirst = false} = {}) => {
const pattern = [
- '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)',
- '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))'
+ '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)',
+ '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))'
].join('|');
- return new RegExp(pattern, 'g');
+ return new RegExp(pattern, onlyFirst ? undefined : 'g');
};
diff --git a/deps/npm/node_modules/string-width/node_modules/ansi-regex/package.json b/deps/npm/node_modules/string-width/node_modules/ansi-regex/package.json
index e94852fd70..017f53116a 100644
--- a/deps/npm/node_modules/string-width/node_modules/ansi-regex/package.json
+++ b/deps/npm/node_modules/string-width/node_modules/ansi-regex/package.json
@@ -1,53 +1,55 @@
{
- "name": "ansi-regex",
- "version": "3.0.0",
- "description": "Regular expression for matching ANSI escape codes",
- "license": "MIT",
- "repository": "chalk/ansi-regex",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=4"
- },
- "scripts": {
- "test": "xo && ava",
- "view-supported": "node fixtures/view-codes.js"
- },
- "files": [
- "index.js"
- ],
- "keywords": [
- "ansi",
- "styles",
- "color",
- "colour",
- "colors",
- "terminal",
- "console",
- "cli",
- "string",
- "tty",
- "escape",
- "formatting",
- "rgb",
- "256",
- "shell",
- "xterm",
- "command-line",
- "text",
- "regex",
- "regexp",
- "re",
- "match",
- "test",
- "find",
- "pattern"
- ],
- "devDependencies": {
- "ava": "*",
- "xo": "*"
- }
+ "name": "ansi-regex",
+ "version": "5.0.1",
+ "description": "Regular expression for matching ANSI escape codes",
+ "license": "MIT",
+ "repository": "chalk/ansi-regex",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "scripts": {
+ "test": "xo && ava && tsd",
+ "view-supported": "node fixtures/view-codes.js"
+ },
+ "files": [
+ "index.js",
+ "index.d.ts"
+ ],
+ "keywords": [
+ "ansi",
+ "styles",
+ "color",
+ "colour",
+ "colors",
+ "terminal",
+ "console",
+ "cli",
+ "string",
+ "tty",
+ "escape",
+ "formatting",
+ "rgb",
+ "256",
+ "shell",
+ "xterm",
+ "command-line",
+ "text",
+ "regex",
+ "regexp",
+ "re",
+ "match",
+ "test",
+ "find",
+ "pattern"
+ ],
+ "devDependencies": {
+ "ava": "^2.4.0",
+ "tsd": "^0.9.0",
+ "xo": "^0.25.3"
+ }
}
diff --git a/deps/npm/node_modules/string-width/node_modules/ansi-regex/readme.md b/deps/npm/node_modules/string-width/node_modules/ansi-regex/readme.md
index 22db1c3405..4d848bc36f 100644
--- a/deps/npm/node_modules/string-width/node_modules/ansi-regex/readme.md
+++ b/deps/npm/node_modules/string-width/node_modules/ansi-regex/readme.md
@@ -1,4 +1,4 @@
-# ansi-regex [![Build Status](https://travis-ci.org/chalk/ansi-regex.svg?branch=master)](https://travis-ci.org/chalk/ansi-regex)
+# ansi-regex
> Regular expression for matching [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code)
@@ -23,9 +23,33 @@ ansiRegex().test('cake');
'\u001B[4mcake\u001B[0m'.match(ansiRegex());
//=> ['\u001B[4m', '\u001B[0m']
+
+'\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true}));
+//=> ['\u001B[4m']
+
+'\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007'.match(ansiRegex());
+//=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007']
```
+## API
+
+### ansiRegex(options?)
+
+Returns a regex for matching ANSI escape codes.
+
+#### options
+
+Type: `object`
+
+##### onlyFirst
+
+Type: `boolean`<br>
+Default: `false` *(Matches any ANSI escape codes in a string)*
+
+Match only the first ANSI escape.
+
+
## FAQ
### Why do you test for codes not in the ECMA 48 standard?
@@ -41,6 +65,14 @@ On the historical side, those ECMA standards were established in the early 90's
- [Josh Junon](https://github.com/qix-)
-## License
+---
-MIT
+<div align="center">
+ <b>
+ <a href="https://tidelift.com/subscription/pkg/npm-ansi-regex?utm_source=npm-ansi-regex&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
+ </b>
+ <br>
+ <sub>
+ Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
+ </sub>
+</div>
diff --git a/deps/npm/node_modules/string-width/node_modules/strip-ansi/index.d.ts b/deps/npm/node_modules/string-width/node_modules/strip-ansi/index.d.ts
new file mode 100644
index 0000000000..907fccc292
--- /dev/null
+++ b/deps/npm/node_modules/string-width/node_modules/strip-ansi/index.d.ts
@@ -0,0 +1,17 @@
+/**
+Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string.
+
+@example
+```
+import stripAnsi = require('strip-ansi');
+
+stripAnsi('\u001B[4mUnicorn\u001B[0m');
+//=> 'Unicorn'
+
+stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007');
+//=> 'Click'
+```
+*/
+declare function stripAnsi(string: string): string;
+
+export = stripAnsi;
diff --git a/deps/npm/node_modules/string-width/node_modules/strip-ansi/index.js b/deps/npm/node_modules/string-width/node_modules/strip-ansi/index.js
index 96e0292c8e..9a593dfcd1 100644
--- a/deps/npm/node_modules/string-width/node_modules/strip-ansi/index.js
+++ b/deps/npm/node_modules/string-width/node_modules/strip-ansi/index.js
@@ -1,4 +1,4 @@
'use strict';
const ansiRegex = require('ansi-regex');
-module.exports = input => typeof input === 'string' ? input.replace(ansiRegex(), '') : input;
+module.exports = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string;
diff --git a/deps/npm/node_modules/string-width/node_modules/strip-ansi/package.json b/deps/npm/node_modules/string-width/node_modules/strip-ansi/package.json
index 555f194616..1a41108d42 100644
--- a/deps/npm/node_modules/string-width/node_modules/strip-ansi/package.json
+++ b/deps/npm/node_modules/string-width/node_modules/strip-ansi/package.json
@@ -1,52 +1,54 @@
{
- "name": "strip-ansi",
- "version": "4.0.0",
- "description": "Strip ANSI escape codes",
- "license": "MIT",
- "repository": "chalk/strip-ansi",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "engines": {
- "node": ">=4"
- },
- "scripts": {
- "test": "xo && ava"
- },
- "files": [
- "index.js"
- ],
- "keywords": [
- "strip",
- "trim",
- "remove",
- "ansi",
- "styles",
- "color",
- "colour",
- "colors",
- "terminal",
- "console",
- "string",
- "tty",
- "escape",
- "formatting",
- "rgb",
- "256",
- "shell",
- "xterm",
- "log",
- "logging",
- "command-line",
- "text"
- ],
- "dependencies": {
- "ansi-regex": "^3.0.0"
- },
- "devDependencies": {
- "ava": "*",
- "xo": "*"
- }
+ "name": "strip-ansi",
+ "version": "6.0.1",
+ "description": "Strip ANSI escape codes from a string",
+ "license": "MIT",
+ "repository": "chalk/strip-ansi",
+ "author": {
+ "name": "Sindre Sorhus",
+ "email": "sindresorhus@gmail.com",
+ "url": "sindresorhus.com"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "scripts": {
+ "test": "xo && ava && tsd"
+ },
+ "files": [
+ "index.js",
+ "index.d.ts"
+ ],
+ "keywords": [
+ "strip",
+ "trim",
+ "remove",
+ "ansi",
+ "styles",
+ "color",
+ "colour",
+ "colors",
+ "terminal",
+ "console",
+ "string",
+ "tty",
+ "escape",
+ "formatting",
+ "rgb",
+ "256",
+ "shell",
+ "xterm",
+ "log",
+ "logging",
+ "command-line",
+ "text"
+ ],
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "devDependencies": {
+ "ava": "^2.4.0",
+ "tsd": "^0.10.0",
+ "xo": "^0.25.3"
+ }
}
diff --git a/deps/npm/node_modules/string-width/node_modules/strip-ansi/readme.md b/deps/npm/node_modules/string-width/node_modules/strip-ansi/readme.md
index dc76f0cb1a..7c4b56d46d 100644
--- a/deps/npm/node_modules/string-width/node_modules/strip-ansi/readme.md
+++ b/deps/npm/node_modules/string-width/node_modules/strip-ansi/readme.md
@@ -1,6 +1,6 @@
# strip-ansi [![Build Status](https://travis-ci.org/chalk/strip-ansi.svg?branch=master)](https://travis-ci.org/chalk/strip-ansi)
-> Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code)
+> Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string
## Install
@@ -17,12 +17,23 @@ const stripAnsi = require('strip-ansi');
stripAnsi('\u001B[4mUnicorn\u001B[0m');
//=> 'Unicorn'
+
+stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007');
+//=> 'Click'
```
+## strip-ansi for enterprise
+
+Available as part of the Tidelift Subscription.
+
+The maintainers of strip-ansi and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-strip-ansi?utm_source=npm-strip-ansi&utm_medium=referral&utm_campaign=enterprise&utm_term=repo)
+
+
## Related
- [strip-ansi-cli](https://github.com/chalk/strip-ansi-cli) - CLI for this module
+- [strip-ansi-stream](https://github.com/chalk/strip-ansi-stream) - Streaming version of this module
- [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes
- [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes
- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right
@@ -33,7 +44,3 @@ stripAnsi('\u001B[4mUnicorn\u001B[0m');
- [Sindre Sorhus](https://github.com/sindresorhus)
- [Josh Junon](https://github.com/qix-)
-
-## License
-
-MIT
diff --git a/deps/npm/node_modules/string-width/package.json b/deps/npm/node_modules/string-width/package.json
index 89f0b6a6c6..28ba7b4cae 100644
--- a/deps/npm/node_modules/string-width/package.json
+++ b/deps/npm/node_modules/string-width/package.json
@@ -1,6 +1,6 @@
{
"name": "string-width",
- "version": "2.1.1",
+ "version": "4.2.3",
"description": "Get the visual width of a string - the number of columns required to display it",
"license": "MIT",
"repository": "sindresorhus/string-width",
@@ -10,19 +10,18 @@
"url": "sindresorhus.com"
},
"engines": {
- "node": ">=4"
+ "node": ">=8"
},
"scripts": {
- "test": "xo && ava"
+ "test": "xo && ava && tsd"
},
"files": [
- "index.js"
+ "index.js",
+ "index.d.ts"
],
"keywords": [
"string",
- "str",
"character",
- "char",
"unicode",
"width",
"visual",
@@ -45,11 +44,13 @@
"fixed-width"
],
"dependencies": {
- "is-fullwidth-code-point": "^2.0.0",
- "strip-ansi": "^4.0.0"
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
},
"devDependencies": {
- "ava": "*",
- "xo": "*"
+ "ava": "^1.4.1",
+ "tsd": "^0.7.1",
+ "xo": "^0.24.0"
}
}
diff --git a/deps/npm/node_modules/string-width/readme.md b/deps/npm/node_modules/string-width/readme.md
index df5b7199f9..bdd314129c 100644
--- a/deps/npm/node_modules/string-width/readme.md
+++ b/deps/npm/node_modules/string-width/readme.md
@@ -1,4 +1,4 @@
-# string-width [![Build Status](https://travis-ci.org/sindresorhus/string-width.svg?branch=master)](https://travis-ci.org/sindresorhus/string-width)
+# string-width
> Get the visual width of a string - the number of columns required to display it
@@ -19,14 +19,14 @@ $ npm install string-width
```js
const stringWidth = require('string-width');
+stringWidth('a');
+//=> 1
+
stringWidth('古');
//=> 2
-stringWidth('\u001b[1m古\u001b[22m');
+stringWidth('\u001B[1m古\u001B[22m');
//=> 2
-
-stringWidth('a');
-//=> 1
```
@@ -37,6 +37,14 @@ stringWidth('a');
- [widest-line](https://github.com/sindresorhus/widest-line) - Get the visual width of the widest line in a string
-## License
+---
-MIT © [Sindre Sorhus](https://sindresorhus.com)
+<div align="center">
+ <b>
+ <a href="https://tidelift.com/subscription/pkg/npm-string-width?utm_source=npm-string-width&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a>
+ </b>
+ <br>
+ <sub>
+ Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies.
+ </sub>
+</div>
diff --git a/deps/npm/node_modules/strip-ansi/index.js b/deps/npm/node_modules/strip-ansi/index.js
deleted file mode 100644
index 099480fbfc..0000000000
--- a/deps/npm/node_modules/strip-ansi/index.js
+++ /dev/null
@@ -1,6 +0,0 @@
-'use strict';
-var ansiRegex = require('ansi-regex')();
-
-module.exports = function (str) {
- return typeof str === 'string' ? str.replace(ansiRegex, '') : str;
-};
diff --git a/deps/npm/node_modules/strip-ansi/license b/deps/npm/node_modules/strip-ansi/license
deleted file mode 100644
index 654d0bfe94..0000000000
--- a/deps/npm/node_modules/strip-ansi/license
+++ /dev/null
@@ -1,21 +0,0 @@
-The MIT License (MIT)
-
-Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/deps/npm/node_modules/strip-ansi/package.json b/deps/npm/node_modules/strip-ansi/package.json
deleted file mode 100644
index 301685ba32..0000000000
--- a/deps/npm/node_modules/strip-ansi/package.json
+++ /dev/null
@@ -1,57 +0,0 @@
-{
- "name": "strip-ansi",
- "version": "3.0.1",
- "description": "Strip ANSI escape codes",
- "license": "MIT",
- "repository": "chalk/strip-ansi",
- "author": {
- "name": "Sindre Sorhus",
- "email": "sindresorhus@gmail.com",
- "url": "sindresorhus.com"
- },
- "maintainers": [
- "Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)",
- "Joshua Boy Nicolai Appelman <joshua@jbna.nl> (jbna.nl)",
- "JD Ballard <i.am.qix@gmail.com> (github.com/qix-)"
- ],
- "engines": {
- "node": ">=0.10.0"
- },
- "scripts": {
- "test": "xo && ava"
- },
- "files": [
- "index.js"
- ],
- "keywords": [
- "strip",
- "trim",
- "remove",
- "ansi",
- "styles",
- "color",
- "colour",
- "colors",
- "terminal",
- "console",
- "string",
- "tty",
- "escape",
- "formatting",
- "rgb",
- "256",
- "shell",
- "xterm",
- "log",
- "logging",
- "command-line",
- "text"
- ],
- "dependencies": {
- "ansi-regex": "^2.0.0"
- },
- "devDependencies": {
- "ava": "*",
- "xo": "*"
- }
-}
diff --git a/deps/npm/node_modules/strip-ansi/readme.md b/deps/npm/node_modules/strip-ansi/readme.md
deleted file mode 100644
index cb7d9ff7ee..0000000000
--- a/deps/npm/node_modules/strip-ansi/readme.md
+++ /dev/null
@@ -1,33 +0,0 @@
-# strip-ansi [![Build Status](https://travis-ci.org/chalk/strip-ansi.svg?branch=master)](https://travis-ci.org/chalk/strip-ansi)
-
-> Strip [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code)
-
-
-## Install
-
-```
-$ npm install --save strip-ansi
-```
-
-
-## Usage
-
-```js
-var stripAnsi = require('strip-ansi');
-
-stripAnsi('\u001b[4mcake\u001b[0m');
-//=> 'cake'
-```
-
-
-## Related
-
-- [strip-ansi-cli](https://github.com/chalk/strip-ansi-cli) - CLI for this module
-- [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes
-- [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes
-- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right
-
-
-## License
-
-MIT © [Sindre Sorhus](http://sindresorhus.com)
diff --git a/deps/npm/package.json b/deps/npm/package.json
index c407a66ae1..d7574cb99e 100644
--- a/deps/npm/package.json
+++ b/deps/npm/package.json
@@ -1,5 +1,5 @@
{
- "version": "8.5.1",
+ "version": "8.5.2",
"name": "npm",
"description": "a package manager for JavaScript",
"workspaces": [
@@ -55,12 +55,12 @@
},
"dependencies": {
"@isaacs/string-locale-compare": "^1.1.0",
- "@npmcli/arborist": "^4.3.1",
+ "@npmcli/arborist": "^5.0.0",
"@npmcli/ci-detect": "^2.0.0",
- "@npmcli/config": "^3.0.0",
+ "@npmcli/config": "^4.0.0",
"@npmcli/map-workspaces": "^2.0.0",
"@npmcli/package-json": "^1.0.1",
- "@npmcli/run-script": "^2.0.0",
+ "@npmcli/run-script": "^3.0.0",
"abbrev": "~1.1.1",
"ansicolors": "~0.3.2",
"ansistyles": "~0.1.3",
@@ -70,26 +70,26 @@
"chownr": "^2.0.0",
"cli-columns": "^4.0.0",
"cli-table3": "^0.6.1",
- "columnify": "~1.5.4",
+ "columnify": "^1.6.0",
"fastest-levenshtein": "^1.0.12",
"glob": "^7.2.0",
"graceful-fs": "^4.2.9",
"hosted-git-info": "^4.1.0",
"ini": "^2.0.0",
- "init-package-json": "^2.0.5",
+ "init-package-json": "^3.0.0",
"is-cidr": "^4.0.2",
"json-parse-even-better-errors": "^2.3.1",
- "libnpmaccess": "^5.0.1",
- "libnpmdiff": "^3.0.0",
- "libnpmexec": "^3.0.3",
- "libnpmfund": "^2.0.2",
- "libnpmhook": "^7.0.1",
- "libnpmorg": "^3.0.1",
- "libnpmpack": "^3.1.0",
- "libnpmpublish": "^5.0.1",
- "libnpmsearch": "^4.0.1",
- "libnpmteam": "^3.0.1",
- "libnpmversion": "^2.0.2",
+ "libnpmaccess": "^6.0.0",
+ "libnpmdiff": "^4.0.0",
+ "libnpmexec": "^4.0.0",
+ "libnpmfund": "^3.0.0",
+ "libnpmhook": "^8.0.0",
+ "libnpmorg": "^4.0.0",
+ "libnpmpack": "^4.0.0",
+ "libnpmpublish": "^6.0.0",
+ "libnpmsearch": "^5.0.0",
+ "libnpmteam": "^4.0.0",
+ "libnpmversion": "^3.0.0",
"make-fetch-happen": "^10.0.3",
"minipass": "^3.1.6",
"minipass-pipeline": "^1.2.4",
@@ -100,16 +100,16 @@
"nopt": "^5.0.0",
"npm-audit-report": "^2.1.5",
"npm-install-checks": "^4.0.0",
- "npm-package-arg": "^8.1.5",
- "npm-pick-manifest": "^6.1.1",
- "npm-profile": "^6.0.0",
- "npm-registry-fetch": "^12.0.2",
+ "npm-package-arg": "^9.0.0",
+ "npm-pick-manifest": "^7.0.0",
+ "npm-profile": "^6.0.2",
+ "npm-registry-fetch": "^13.0.0",
"npm-user-validate": "^1.0.1",
"npmlog": "^6.0.1",
"opener": "^1.5.2",
- "pacote": "^12.0.3",
+ "pacote": "^13.0.3",
"parse-conflict-json": "^2.0.1",
- "proc-log": "^1.0.0",
+ "proc-log": "^2.0.0",
"qrcode-terminal": "^0.12.0",
"read": "~1.0.7",
"read-package-json": "^4.1.1",
diff --git a/deps/npm/tap-snapshots/test/lib/utils/exit-handler.js.test.cjs b/deps/npm/tap-snapshots/test/lib/utils/exit-handler.js.test.cjs
index 523aabca29..0aaf235fd1 100644
--- a/deps/npm/tap-snapshots/test/lib/utils/exit-handler.js.test.cjs
+++ b/deps/npm/tap-snapshots/test/lib/utils/exit-handler.js.test.cjs
@@ -26,10 +26,10 @@ exports[`test/lib/utils/exit-handler.js TAP handles unknown error with logs and
32 error ERR SUMMARY Unknown error
33 error ERR DETAIL Unknown error
34 verbose exit 1
-35 timing npm Completed in {TIME}ms
-36 verbose code 1
-37 error A complete log of this run can be found in:
-37 error {CWD}/test/lib/utils/tap-testdir-exit-handler-handles-unknown-error-with-logs-and-debug-file/cache/_logs/{DATE}-debug-0.log
+36 timing npm Completed in {TIME}ms
+37 verbose code 1
+38 error A complete log of this run can be found in:
+38 error {CWD}/test/lib/utils/tap-testdir-exit-handler-handles-unknown-error-with-logs-and-debug-file/cache/_logs/{DATE}-debug-0.log
`
exports[`test/lib/utils/exit-handler.js TAP handles unknown error with logs and debug file > logs 1`] = `
diff --git a/deps/npm/test/fixtures/mock-npm.js b/deps/npm/test/fixtures/mock-npm.js
index c3dc47f5dd..4846d9a485 100644
--- a/deps/npm/test/fixtures/mock-npm.js
+++ b/deps/npm/test/fixtures/mock-npm.js
@@ -31,6 +31,18 @@ const RealMockNpm = (t, otherMocks = {}) => {
return mock
}
+const setLoglevel = (t, loglevel, reset = true) => {
+ if (t && reset) {
+ const _level = log.level
+ t.teardown(() => log.level = _level)
+ }
+
+ if (loglevel) {
+ // Set log level on the npmlog singleton and shared across everything
+ log.level = loglevel
+ }
+}
+
// Resolve some options to a function call with supplied args
const result = (fn, ...args) => typeof fn === 'function' ? fn(...args) : fn
@@ -62,14 +74,8 @@ const LoadMockNpm = async (t, {
throw new Error('cant `load` without `init`')
}
- const _level = log.level
- t.teardown(() => log.level = _level)
-
- if (config.loglevel) {
- // Set log level as early as possible since it is set
- // on the npmlog singleton and shared across everything
- log.level = config.loglevel
- }
+ // Set log level as early as possible since
+ setLoglevel(t, config.loglevel)
const dir = t.testdir({ root: testdir, cache: {} })
const prefix = path.join(dir, 'root')
@@ -93,11 +99,9 @@ const LoadMockNpm = async (t, {
for (const [k, v] of Object.entries(result(config, { npm, prefix, cache }))) {
npm.config.set(k, v)
}
- if (config.loglevel) {
- // Set global loglevel *again* since it possibly got reset during load
- // XXX: remove with npmlog
- log.level = config.loglevel
- }
+ // Set global loglevel *again* since it possibly got reset during load
+ // XXX: remove with npmlog
+ setLoglevel(t, config.loglevel, false)
npm.prefix = prefix
npm.cache = cache
}
@@ -129,7 +133,7 @@ const realConfig = require('../../lib/utils/config')
// npm.config You still need a separate flatOptions. Tests should migrate to
// using the real npm mock above
class MockNpm {
- constructor (base = {}) {
+ constructor (base = {}, t) {
this._mockOutputs = []
this.isMockNpm = true
this.base = base
@@ -150,9 +154,24 @@ class MockNpm {
// for now isDefault is going to just return false if a value was defined
isDefault: (k) => !Object.prototype.hasOwnProperty.call(config, k),
get: (k) => ({ ...realConfig.defaults, ...config })[k],
- set: (k, v) => config[k] = v,
+ set: (k, v) => {
+ config[k] = v
+ // mock how real npm derives silent
+ if (k === 'loglevel') {
+ this.flatOptions.silent = v === 'silent'
+ this.silent = v === 'silent'
+ }
+ },
list: [{ ...realConfig.defaults, ...config }],
}
+
+ if (t && config.loglevel) {
+ setLoglevel(t, config.loglevel)
+ }
+
+ if (config.loglevel) {
+ this.config.set('loglevel', config.loglevel)
+ }
}
output (...msg) {
@@ -163,8 +182,8 @@ class MockNpm {
}
}
-const FakeMockNpm = (base = {}) => {
- return new MockNpm(base)
+const FakeMockNpm = (base = {}, t) => {
+ return new MockNpm(base, t)
}
module.exports = {
diff --git a/deps/npm/test/fixtures/sandbox.js b/deps/npm/test/fixtures/sandbox.js
index 701d9cea72..d51281d41d 100644
--- a/deps/npm/test/fixtures/sandbox.js
+++ b/deps/npm/test/fixtures/sandbox.js
@@ -193,6 +193,8 @@ class Sandbox extends EventEmitter {
// test.teardown hook
teardown () {
if (this[_parent]) {
+ const sandboxProcess = sandboxes.get(this[_parent])
+ sandboxProcess.removeAllListeners('log')
sandboxes.delete(this[_parent])
}
if (this[_npm]) {
@@ -211,20 +213,7 @@ class Sandbox extends EventEmitter {
return Reflect.get(this, prop, this)
}
- const actual = Reflect.get(target, prop, receiver)
- if (typeof actual === 'function') {
- // in node 10.1 there's an interesting bug where if a function on process
- // is called without explicitly forcing the 'this' arg to something, we
- // get 'Illegal invocation' errors. wrapping function properties in their
- // own proxy so that we can make sure the context is right fixes it
- return new Proxy(actual, {
- apply: (target, context, args) => {
- return Reflect.apply(target, _process, args)
- },
- })
- }
-
- return actual
+ return Reflect.get(target, prop, receiver)
}
// proxy set handler
@@ -278,17 +267,15 @@ class Sandbox extends EventEmitter {
...this[_mocks],
...mockedLogs.logMocks,
})
+ this.process.on('log', (l, ...args) => {
+ if (l !== 'pause' && l !== 'resume') {
+ this[_logs].push([l, ...args])
+ }
+ })
+
this[_npm] = new Npm()
this[_npm].output = (...args) => this[_output].push(args)
await this[_npm].load()
- // in some node versions (later 10.x) our executionAsyncId at this point
- // will for some reason appear to have been triggered by a different parent
- // so immediately after load, if we can see that we lost our ancestry, we
- // fix it here with a hammer
- if (chain.get(executionAsyncId()) !== this[_parent]) {
- chain.set(executionAsyncId(), this[_parent])
- process = this[_proxy]
- }
const cmd = this[_npm].argv.shift()
return this[_npm].exec(cmd, this[_npm].argv)
@@ -330,17 +317,15 @@ class Sandbox extends EventEmitter {
...this[_mocks],
...mockedLogs.logMocks,
})
+ this.process.on('log', (l, ...args) => {
+ if (l !== 'pause' && l !== 'resume') {
+ this[_logs].push([l, ...args])
+ }
+ })
+
this[_npm] = new Npm()
this[_npm].output = (...args) => this[_output].push(args)
await this[_npm].load()
- // in some node versions (later 10.x) our executionAsyncId at this point
- // will for some reason appear to have been triggered by a different parent
- // so immediately after load, if we can see that we lost our ancestry, we
- // fix it here with a hammer
- if (chain.get(executionAsyncId()) !== this[_parent]) {
- chain.set(executionAsyncId(), this[_parent])
- process = this[_proxy]
- }
const impl = await this[_npm].cmd(command)
return impl.completion({
diff --git a/deps/npm/test/lib/commands/access.js b/deps/npm/test/lib/commands/access.js
index c4e6f3167a..298897e4f5 100644
--- a/deps/npm/test/lib/commands/access.js
+++ b/deps/npm/test/lib/commands/access.js
@@ -75,13 +75,12 @@ t.test('access public on unscoped package', async t => {
})
t.test('access public on scoped package', async t => {
- t.plan(3)
+ t.plan(2)
const name = '@scoped/npm-access-public-pkg'
const { npm } = await loadMockNpm(t, {
mocks: {
libnpmaccess: {
- public: (pkg, { registry, log }) => {
- t.ok(log, 'should pass a logger')
+ public: (pkg, { registry }) => {
t.equal(pkg, name, 'should use pkg name ref')
t.equal(
registry,
diff --git a/deps/npm/test/lib/commands/adduser.js b/deps/npm/test/lib/commands/adduser.js
index 8a9358f9ab..f88508d15a 100644
--- a/deps/npm/test/lib/commands/adduser.js
+++ b/deps/npm/test/lib/commands/adduser.js
@@ -20,13 +20,6 @@ const authDummy = (npm, options) => {
throw new Error('did not pass full flatOptions to auth function')
}
- if (!options.log) {
- // A quick to test to make sure a log gets passed to auth
- // XXX: should be refactored with change to real mock npm
- // https://github.com/npm/statusboard/issues/411
- throw new Error('pass log to auth')
- }
-
return Promise.resolve({
message: 'success',
newCreds: {
diff --git a/deps/npm/test/lib/commands/deprecate.js b/deps/npm/test/lib/commands/deprecate.js
index aa158cca3a..180629a748 100644
--- a/deps/npm/test/lib/commands/deprecate.js
+++ b/deps/npm/test/lib/commands/deprecate.js
@@ -2,15 +2,12 @@ const t = require('tap')
let getIdentityImpl = () => 'someperson'
let npmFetchBody = null
-let npmFetchLog = null
const npmFetch = async (uri, opts) => {
npmFetchBody = opts.body
- npmFetchLog = opts.log
}
npmFetch.json = async (uri, opts) => {
- npmFetchLog = opts.log
return {
versions: {
'1.0.0': {},
@@ -87,10 +84,8 @@ t.test('invalid semver range', async t => {
t.test('undeprecate', async t => {
t.teardown(() => {
npmFetchBody = null
- npmFetchLog = null
})
await deprecate.exec(['foo', ''])
- t.ok(npmFetchLog, 'was passed a logger')
t.match(npmFetchBody, {
versions: {
'1.0.0': { deprecated: '' },
@@ -103,11 +98,9 @@ t.test('undeprecate', async t => {
t.test('deprecates given range', async t => {
t.teardown(() => {
npmFetchBody = null
- npmFetchLog = null
})
await deprecate.exec(['foo@1.0.0', 'this version is deprecated'])
- t.ok(npmFetchLog, 'was passed a logger')
t.match(npmFetchBody, {
versions: {
'1.0.0': {
diff --git a/deps/npm/test/lib/commands/diff.js b/deps/npm/test/lib/commands/diff.js
index f73a543cb4..ed0702e378 100644
--- a/deps/npm/test/lib/commands/diff.js
+++ b/deps/npm/test/lib/commands/diff.js
@@ -61,10 +61,9 @@ const diff = new Diff(npm)
t.test('no args', t => {
t.test('in a project dir', async t => {
- t.plan(4)
+ t.plan(3)
libnpmdiff = async ([a, b], opts) => {
- t.ok(opts.log, 'should be passed a logger')
t.equal(a, 'foo@latest', 'should have default spec comparison')
t.equal(b, `file:${fooPath}`, 'should compare to cwd')
t.match(opts, npm.flatOptions, 'should forward flat options')
diff --git a/deps/npm/test/lib/commands/dist-tag.js b/deps/npm/test/lib/commands/dist-tag.js
index b83c30e9c6..eb13c7ff02 100644
--- a/deps/npm/test/lib/commands/dist-tag.js
+++ b/deps/npm/test/lib/commands/dist-tag.js
@@ -43,7 +43,6 @@ const routeMap = {
// XXX overriding this does not appear to do anything, adding t.plan to things
// that use it fails the test
let npmRegistryFetchMock = (url, opts) => {
- npmRegistryFetchLog = opts.log
if (url === '/-/package/foo/dist-tags') {
throw new Error('no package found')
}
@@ -51,9 +50,7 @@ let npmRegistryFetchMock = (url, opts) => {
return routeMap[url]
}
-let npmRegistryFetchLog
npmRegistryFetchMock.json = async (url, opts) => {
- npmRegistryFetchLog = opts.log
return routeMap[url]
}
@@ -86,10 +83,6 @@ const npm = mockNpm({
})
const distTag = new DistTag(npm)
-t.afterEach(() => {
- npmRegistryFetchLog = null
-})
-
t.test('ls in current package', async t => {
npm.prefix = t.testdir({
'package.json': JSON.stringify({
@@ -97,7 +90,6 @@ t.test('ls in current package', async t => {
}),
})
await distTag.exec(['ls'])
- t.ok(npmRegistryFetchLog, 'is passed a logger')
t.matchSnapshot(
result,
'should list available tags for current package'
@@ -299,7 +291,6 @@ t.test('add new tag', async t => {
})
npmRegistryFetchMock = async (url, opts) => {
- t.ok(opts.log, 'is passed a logger')
t.equal(opts.method, 'PUT', 'should trigger request to add new tag')
t.equal(opts.body, '7.7.7', 'should point to expected version')
}
@@ -366,7 +357,6 @@ t.test('remove existing tag', async t => {
}
npm.prefix = t.testdir({})
await distTag.exec(['rm', '@scoped/another', 'c'])
- t.ok(npmRegistryFetchLog, 'is passed a logger')
t.matchSnapshot(log, 'should log remove info')
t.matchSnapshot(result, 'should return success msg')
})
diff --git a/deps/npm/test/lib/commands/doctor.js b/deps/npm/test/lib/commands/doctor.js
index 51b6111a0a..dee2110ff3 100644
--- a/deps/npm/test/lib/commands/doctor.js
+++ b/deps/npm/test/lib/commands/doctor.js
@@ -4,6 +4,7 @@ const { join } = require('path')
const fs = require('fs')
const ansiTrim = require('../../../lib/utils/ansi-trim.js')
const isWindows = require('../../../lib/utils/is-windows.js')
+const { fake: mockNpm } = require('../../fixtures/mock-npm')
// getuid and getgid do not exist in windows, so we shim them
// to return 0, as that is the value that lstat will assign the
@@ -61,15 +62,18 @@ const clearLogs = () => {
}
}
-const npm = {
+const npm = mockNpm({
flatOptions: {
registry: 'https://registry.npmjs.org/',
},
+ config: {
+ loglevel: 'info',
+ },
version: '7.1.0',
output: data => {
output.push(data)
},
-}
+})
let latestNpm = npm.version
const pacote = {
@@ -211,7 +215,7 @@ t.test('node versions', t => {
npm.globalDir = dir
npm.localBin = dir
npm.globalBin = dir
- mocks.npmlog.level = 'info'
+ npm.config.set('loglevel', 'silent')
st.teardown(() => {
delete npm.cache
@@ -220,7 +224,7 @@ t.test('node versions', t => {
delete npm.globalDir
delete npm.localBin
delete npm.globalBin
- mocks.npmlog.level = 'error'
+ npm.config.set('loglevel', 'info')
clearLogs()
})
diff --git a/deps/npm/test/lib/commands/hook.js b/deps/npm/test/lib/commands/hook.js
index a4eee711fe..60a59a3fe7 100644
--- a/deps/npm/test/lib/commands/hook.js
+++ b/deps/npm/test/lib/commands/hook.js
@@ -1,18 +1,20 @@
const t = require('tap')
+const { fake: mockNpm } = require('../../fixtures/mock-npm')
const output = []
-const npm = {
+const npm = mockNpm({
flatOptions: {
json: false,
parseable: false,
- silent: false,
- loglevel: 'info',
unicode: false,
},
+ config: {
+ loglevel: 'info',
+ },
output: msg => {
output.push(msg)
},
-}
+})
const pkgTypes = {
semver: 'package',
@@ -78,7 +80,6 @@ t.test('npm hook add', async t => {
await hook.exec(['add', 'semver', 'https://google.com', 'some-secret'])
- t.ok(hookArgs.opts.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -102,7 +103,6 @@ t.test('npm hook add - unicode output', async t => {
await hook.exec(['add', 'semver', 'https://google.com', 'some-secret'])
- t.ok(hookArgs.opts.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -126,7 +126,6 @@ t.test('npm hook add - json output', async t => {
await hook.exec(['add', '@npmcli', 'https://google.com', 'some-secret'])
- t.ok(hookArgs.opts.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -159,7 +158,6 @@ t.test('npm hook add - parseable output', async t => {
await hook.exec(['add', '@npmcli', 'https://google.com', 'some-secret'])
- t.ok(hookArgs.opts.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -183,16 +181,15 @@ t.test('npm hook add - parseable output', async t => {
})
t.test('npm hook add - silent output', async t => {
- npm.flatOptions.silent = true
+ npm.config.set('loglevel', 'silent')
t.teardown(() => {
- npm.flatOptions.silent = false
+ npm.config.set('loglevel', 'info')
hookArgs = null
output.length = 0
})
await hook.exec(['add', '@npmcli', 'https://google.com', 'some-secret'])
- t.ok(hookArgs.opts.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -214,7 +211,6 @@ t.test('npm hook ls', async t => {
await hook.exec(['ls'])
- t.ok(hookArgs.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -240,7 +236,6 @@ t.test('npm hook ls, no results', async t => {
await hook.exec(['ls'])
- t.ok(hookArgs.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -270,7 +265,6 @@ t.test('npm hook ls, single result', async t => {
await hook.exec(['ls'])
- t.ok(hookArgs.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -294,7 +288,6 @@ t.test('npm hook ls - json output', async t => {
await hook.exec(['ls'])
- t.ok(hookArgs.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -340,7 +333,6 @@ t.test('npm hook ls - parseable output', async t => {
await hook.exec(['ls'])
- t.ok(hookArgs.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -362,16 +354,15 @@ t.test('npm hook ls - parseable output', async t => {
})
t.test('npm hook ls - silent output', async t => {
- npm.flatOptions.silent = true
+ npm.config.set('loglevel', 'silent')
t.teardown(() => {
- npm.flatOptions.silent = false
+ npm.config.set('loglevel', 'info')
hookArgs = null
output.length = 0
})
await hook.exec(['ls'])
- t.ok(hookArgs.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -391,7 +382,6 @@ t.test('npm hook rm', async t => {
await hook.exec(['rm', '1'])
- t.ok(hookArgs.opts.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -413,7 +403,6 @@ t.test('npm hook rm - unicode output', async t => {
await hook.exec(['rm', '1'])
- t.ok(hookArgs.opts.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -426,16 +415,15 @@ t.test('npm hook rm - unicode output', async t => {
})
t.test('npm hook rm - silent output', async t => {
- npm.flatOptions.silent = true
+ npm.config.set('loglevel', 'silent')
t.teardown(() => {
- npm.flatOptions.silent = false
+ npm.config.set('loglevel', 'info')
hookArgs = null
output.length = 0
})
await hook.exec(['rm', '1'])
- t.ok(hookArgs.opts.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -457,7 +445,6 @@ t.test('npm hook rm - json output', async t => {
await hook.exec(['rm', '1'])
- t.ok(hookArgs.opts.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -488,7 +475,6 @@ t.test('npm hook rm - parseable output', async t => {
await hook.exec(['rm', '1'])
- t.ok(hookArgs.opts.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -515,7 +501,6 @@ t.test('npm hook update', async t => {
await hook.exec(['update', '1', 'https://google.com', 'some-secret'])
- t.ok(hookArgs.opts.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -539,7 +524,6 @@ t.test('npm hook update - unicode', async t => {
await hook.exec(['update', '1', 'https://google.com', 'some-secret'])
- t.ok(hookArgs.opts.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -563,7 +547,6 @@ t.test('npm hook update - json output', async t => {
await hook.exec(['update', '1', 'https://google.com', 'some-secret'])
- t.ok(hookArgs.opts.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -596,7 +579,6 @@ t.test('npm hook update - parseable output', async t => {
await hook.exec(['update', '1', 'https://google.com', 'some-secret'])
- t.ok(hookArgs.opts.log, 'is passed a logger')
t.match(
hookArgs,
{
@@ -618,16 +600,15 @@ t.test('npm hook update - parseable output', async t => {
})
t.test('npm hook update - silent output', async t => {
- npm.flatOptions.silent = true
+ npm.config.set('loglevel', 'silent')
t.teardown(() => {
- npm.flatOptions.silent = false
+ npm.config.set('loglevel', 'info')
hookArgs = null
output.length = 0
})
await hook.exec(['update', '1', 'https://google.com', 'some-secret'])
- t.ok(hookArgs.opts.log, 'is passed a logger')
t.match(
hookArgs,
{
diff --git a/deps/npm/test/lib/commands/logout.js b/deps/npm/test/lib/commands/logout.js
index 1a1fbb785c..73fe8028c7 100644
--- a/deps/npm/test/lib/commands/logout.js
+++ b/deps/npm/test/lib/commands/logout.js
@@ -31,7 +31,7 @@ t.afterEach(() => {
})
t.test('token logout', async t => {
- t.plan(6)
+ t.plan(5)
flatOptions['//registry.npmjs.org/:_authToken'] = '@foo/'
@@ -62,7 +62,6 @@ t.test('token logout', async t => {
await logout.exec([])
- t.ok(result.opts.log, 'should pass a logger')
t.match(
result,
{
@@ -92,7 +91,7 @@ t.test('token scoped logout', async t => {
config.save = null
})
- t.plan(8)
+ t.plan(7)
flatOptions['//diff-registry.npmjs.com/:_authToken'] = '@bar/'
flatOptions['//registry.npmjs.org/:_authToken'] = '@foo/'
@@ -133,7 +132,6 @@ t.test('token scoped logout', async t => {
await logout.exec([])
- t.ok(result.opts.log, 'should pass a logger')
t.match(
result,
{
@@ -204,7 +202,7 @@ t.test('ignore invalid scoped registry config', async t => {
config.delete = null
config.save = null
})
- t.plan(5)
+ t.plan(4)
flatOptions['//registry.npmjs.org/:_authToken'] = '@foo/'
config.scope = '@myscope'
@@ -236,7 +234,6 @@ t.test('ignore invalid scoped registry config', async t => {
await logout.exec([])
- t.ok(result.opts.log, 'should pass a logger')
t.match(
result,
{
diff --git a/deps/npm/test/lib/commands/org.js b/deps/npm/test/lib/commands/org.js
index b716adc097..3ae951dd5c 100644
--- a/deps/npm/test/lib/commands/org.js
+++ b/deps/npm/test/lib/commands/org.js
@@ -1,18 +1,20 @@
const t = require('tap')
const ansiTrim = require('../../../lib/utils/ansi-trim.js')
+const { fake: mockNpm } = require('../../fixtures/mock-npm')
const output = []
-const npm = {
+const npm = mockNpm({
flatOptions: {
json: false,
parseable: false,
- silent: false,
+ },
+ config: {
loglevel: 'info',
},
output: msg => {
output.push(msg)
},
-}
+})
let orgSize = 1
let orgSetArgs = null
@@ -83,7 +85,6 @@ t.test('npm org add', async t => {
await org.exec(['add', 'orgname', 'username'])
- t.ok(orgSetArgs.opts.log, 'got passed a logger')
t.match(
orgSetArgs,
{
@@ -149,7 +150,6 @@ t.test('npm org add - more users', async t => {
})
await org.exec(['add', 'orgname', 'username'])
- t.ok(orgSetArgs.opts.log, 'got passed a logger')
t.match(
orgSetArgs,
{
@@ -177,7 +177,6 @@ t.test('npm org add - json output', async t => {
await org.exec(['add', 'orgname', 'username'])
- t.ok(orgSetArgs.opts.log, 'got passed a logger')
t.match(
orgSetArgs,
{
@@ -212,7 +211,6 @@ t.test('npm org add - parseable output', async t => {
await org.exec(['add', 'orgname', 'username'])
- t.ok(orgSetArgs.opts.log, 'got passed a logger')
t.match(
orgSetArgs,
{
@@ -234,16 +232,15 @@ t.test('npm org add - parseable output', async t => {
})
t.test('npm org add - silent output', async t => {
- npm.flatOptions.silent = true
+ npm.config.set('loglevel', 'silent')
t.teardown(() => {
- npm.flatOptions.silent = false
+ npm.config.set('loglevel', 'info')
orgSetArgs = null
output.length = 0
})
await org.exec(['add', 'orgname', 'username'])
- t.ok(orgSetArgs.opts.log, 'got passed a logger')
t.match(
orgSetArgs,
{
@@ -266,7 +263,6 @@ t.test('npm org rm', async t => {
await org.exec(['rm', 'orgname', 'username'])
- t.ok(orgRmArgs.opts.log, 'got passed a logger')
t.match(
orgRmArgs,
{
@@ -276,7 +272,6 @@ t.test('npm org rm', async t => {
},
'libnpmorg.rm received the correct args'
)
- t.ok(orgLsArgs.opts.log, 'got passed a logger')
t.match(
orgLsArgs,
{
@@ -330,7 +325,6 @@ t.test('npm org rm - one user left', async t => {
await org.exec(['rm', 'orgname', 'username'])
- t.ok(orgRmArgs.opts.log, 'got passed a logger')
t.match(
orgRmArgs,
{
@@ -340,7 +334,6 @@ t.test('npm org rm - one user left', async t => {
},
'libnpmorg.rm received the correct args'
)
- t.ok(orgLsArgs.opts.log, 'got passed a logger')
t.match(
orgLsArgs,
{
@@ -367,7 +360,6 @@ t.test('npm org rm - json output', async t => {
await org.exec(['rm', 'orgname', 'username'])
- t.ok(orgRmArgs.opts.log, 'got passed a logger')
t.match(
orgRmArgs,
{
@@ -377,7 +369,6 @@ t.test('npm org rm - json output', async t => {
},
'libnpmorg.rm received the correct args'
)
- t.ok(orgLsArgs.opts.log, 'got passed a logger')
t.match(
orgLsArgs,
{
@@ -409,7 +400,6 @@ t.test('npm org rm - parseable output', async t => {
await org.exec(['rm', 'orgname', 'username'])
- t.ok(orgRmArgs.opts.log, 'got passed a logger')
t.match(
orgRmArgs,
{
@@ -419,7 +409,6 @@ t.test('npm org rm - parseable output', async t => {
},
'libnpmorg.rm received the correct args'
)
- t.ok(orgLsArgs.opts.log, 'got passed a logger')
t.match(
orgLsArgs,
{
@@ -439,9 +428,9 @@ t.test('npm org rm - parseable output', async t => {
})
t.test('npm org rm - silent output', async t => {
- npm.flatOptions.silent = true
+ npm.config.set('loglevel', 'silent')
t.teardown(() => {
- npm.flatOptions.silent = false
+ npm.config.set('loglevel', 'info')
orgRmArgs = null
orgLsArgs = null
output.length = 0
@@ -449,7 +438,6 @@ t.test('npm org rm - silent output', async t => {
await org.exec(['rm', 'orgname', 'username'])
- t.ok(orgRmArgs.opts.log, 'got passed a logger')
t.match(
orgRmArgs,
{
@@ -459,7 +447,6 @@ t.test('npm org rm - silent output', async t => {
},
'libnpmorg.rm received the correct args'
)
- t.ok(orgLsArgs.opts.log, 'got passed a logger')
t.match(
orgLsArgs,
{
@@ -485,7 +472,6 @@ t.test('npm org ls', async t => {
await org.exec(['ls', 'orgname'])
- t.ok(orgLsArgs.opts.log, 'got passed a logger')
t.match(
orgLsArgs,
{
@@ -513,7 +499,6 @@ t.test('npm org ls - user filter', async t => {
await org.exec(['ls', 'orgname', 'username'])
- t.ok(orgLsArgs.opts.log, 'got passed a logger')
t.match(
orgLsArgs,
{
@@ -539,7 +524,6 @@ t.test('npm org ls - user filter, missing user', async t => {
await org.exec(['ls', 'orgname', 'username'])
- t.ok(orgLsArgs.opts.log, 'got passed a logger')
t.match(
orgLsArgs,
{
@@ -578,7 +562,6 @@ t.test('npm org ls - json output', async t => {
await org.exec(['ls', 'orgname'])
- t.ok(orgLsArgs.opts.log, 'got passed a logger')
t.match(
orgLsArgs,
{
@@ -606,7 +589,6 @@ t.test('npm org ls - parseable output', async t => {
await org.exec(['ls', 'orgname'])
- t.ok(orgLsArgs.opts.log, 'got passed a logger')
t.match(
orgLsArgs,
{
@@ -628,14 +610,14 @@ t.test('npm org ls - parseable output', async t => {
})
t.test('npm org ls - silent output', async t => {
- npm.flatOptions.silent = true
+ npm.config.set('loglevel', 'silent')
orgList = {
one: 'developer',
two: 'admin',
three: 'owner',
}
t.teardown(() => {
- npm.flatOptions.silent = false
+ npm.config.set('loglevel', 'info')
orgList = {}
orgLsArgs = null
output.length = 0
@@ -643,7 +625,6 @@ t.test('npm org ls - silent output', async t => {
await org.exec(['ls', 'orgname'])
- t.ok(orgLsArgs.opts.log, 'got passed a logger')
t.match(
orgLsArgs,
{
diff --git a/deps/npm/test/lib/commands/owner.js b/deps/npm/test/lib/commands/owner.js
index a32a3df9b7..b5d4d15842 100644
--- a/deps/npm/test/lib/commands/owner.js
+++ b/deps/npm/test/lib/commands/owner.js
@@ -51,14 +51,13 @@ t.test('owner no args', async t => {
})
t.test('owner ls no args', async t => {
- t.plan(5)
+ t.plan(4)
result = ''
readPackageNameResponse = '@npmcli/map-workspaces'
pacote.packument = async (spec, opts) => {
t.equal(spec.name, '@npmcli/map-workspaces', 'should use expect pkg name')
- t.ok(opts.log, 'is passed a logger')
t.match(
opts,
{
@@ -173,11 +172,10 @@ t.test('owner ls <pkg> no maintainers', async t => {
})
t.test('owner add <user> <pkg>', async t => {
- t.plan(11)
+ t.plan(8)
result = ''
npmFetch.json = async (uri, opts) => {
- t.ok(opts.log, 'is passed a logger')
// retrieve user info from couchdb request
if (uri === '/-/user/org.couchdb.user:foo') {
t.ok('should request user info')
@@ -218,7 +216,6 @@ t.test('owner add <user> <pkg>', async t => {
}
}
pacote.packument = async (spec, opts) => {
- t.ok(opts.log, 'is passed a logger')
t.equal(spec.name, '@npmcli/map-workspaces', 'should use expect pkg name')
t.match(
opts,
@@ -247,7 +244,6 @@ t.test('owner add <user> cwd package', async t => {
result = ''
readPackageNameResponse = '@npmcli/map-workspaces'
npmFetch.json = async (uri, opts) => {
- t.ok(opts.log, 'is passed a logger')
// retrieve user info from couchdb request
if (uri === '/-/user/org.couchdb.user:foo') {
return {
@@ -277,7 +273,7 @@ t.test('owner add <user> cwd package', async t => {
})
t.test('owner add <user> <pkg> already an owner', async t => {
- t.plan(3)
+ t.plan(2)
result = ''
log.info = (title, msg) => {
@@ -289,7 +285,6 @@ t.test('owner add <user> <pkg> already an owner', async t => {
)
}
npmFetch.json = async (uri, opts) => {
- t.ok(opts.log, 'is passed a logger')
// retrieve user info from couchdb request
if (uri === '/-/user/org.couchdb.user:ruyadorno') {
return {
@@ -321,7 +316,6 @@ t.test('owner add <user> <pkg> fails to retrieve user', async t => {
result = ''
readPackageNameResponse =
npmFetch.json = async (uri, opts) => {
- t.ok(opts.log, 'is passed a logger')
// retrieve borked user info from couchdb request
if (uri === '/-/user/org.couchdb.user:foo') {
return { ok: false }
@@ -352,7 +346,6 @@ t.test('owner add <user> <pkg> fails to retrieve user', async t => {
t.test('owner add <user> <pkg> fails to PUT updates', async t => {
result = ''
npmFetch.json = async (uri, opts) => {
- t.ok(opts.log, 'is passed a logger')
// retrieve user info from couchdb request
if (uri === '/-/user/org.couchdb.user:foo') {
return {
@@ -389,7 +382,7 @@ t.test('owner add <user> <pkg> fails to PUT updates', async t => {
})
t.test('owner add <user> <pkg> fails to retrieve user info', async t => {
- t.plan(4)
+ t.plan(3)
result = ''
log.error = (title, msg) => {
@@ -397,7 +390,6 @@ t.test('owner add <user> <pkg> fails to retrieve user info', async t => {
t.equal(msg, 'Error getting user data for foo')
}
npmFetch.json = async (uri, opts) => {
- t.ok(opts.log, 'is passed a logger')
// retrieve user info from couchdb request
if (uri === '/-/user/org.couchdb.user:foo') {
throw Object.assign(
@@ -429,7 +421,6 @@ t.test('owner add <user> <pkg> fails to retrieve user info', async t => {
t.test('owner add <user> <pkg> no previous maintainers property from server', async t => {
result = ''
npmFetch.json = async (uri, opts) => {
- t.ok(opts.log, 'is passed a logger')
// retrieve user info from couchdb request
if (uri === '/-/user/org.couchdb.user:foo') {
return {
@@ -496,11 +487,10 @@ t.test('owner add <user> no cwd package', async t => {
})
t.test('owner rm <user> <pkg>', async t => {
- t.plan(11)
+ t.plan(8)
result = ''
npmFetch.json = async (uri, opts) => {
- t.ok(opts.log, 'is passed a logger')
// retrieve user info from couchdb request
if (uri === '/-/user/org.couchdb.user:ruyadorno') {
t.ok('should request user info')
@@ -534,7 +524,6 @@ t.test('owner rm <user> <pkg>', async t => {
}
}
pacote.packument = async (spec, opts) => {
- t.ok(opts.log, 'is passed a logger')
t.equal(spec.name, '@npmcli/map-workspaces', 'should use expect pkg name')
t.match(
opts,
@@ -560,7 +549,7 @@ t.test('owner rm <user> <pkg>', async t => {
})
t.test('owner rm <user> <pkg> not a current owner', async t => {
- t.plan(3)
+ t.plan(2)
result = ''
log.info = (title, msg) => {
@@ -568,7 +557,6 @@ t.test('owner rm <user> <pkg> not a current owner', async t => {
t.equal(msg, 'Not a package owner: foo', 'should log.info not a package owner msg')
}
npmFetch.json = async (uri, opts) => {
- t.ok(opts.log, 'is passed a logger')
// retrieve user info from couchdb request
if (uri === '/-/user/org.couchdb.user:foo') {
return {
@@ -602,7 +590,6 @@ t.test('owner rm <user> cwd package', async t => {
result = ''
readPackageNameResponse = '@npmcli/map-workspaces'
npmFetch.json = async (uri, opts) => {
- t.ok(opts.log, 'is passed a logger')
// retrieve user info from couchdb request
if (uri === '/-/user/org.couchdb.user:ruyadorno') {
return {
@@ -635,7 +622,6 @@ t.test('owner rm <user> only user', async t => {
result = ''
readPackageNameResponse = 'ipt'
npmFetch.json = async (uri, opts) => {
- t.ok(opts.log, 'is passed a logger')
// retrieve user info from couchdb request
if (uri === '/-/user/org.couchdb.user:ruyadorno') {
return {
diff --git a/deps/npm/test/lib/commands/ping.js b/deps/npm/test/lib/commands/ping.js
index 19ba9d586b..f808e0ac3b 100644
--- a/deps/npm/test/lib/commands/ping.js
+++ b/deps/npm/test/lib/commands/ping.js
@@ -2,13 +2,12 @@ const t = require('tap')
const { fake: mockNpm } = require('../../fixtures/mock-npm')
t.test('pings', async t => {
- t.plan(7)
+ t.plan(6)
const registry = 'https://registry.npmjs.org'
let noticeCalls = 0
const Ping = t.mock('../../../lib/commands/ping.js', {
'../../../lib/utils/ping.js': function (spec) {
- t.ok(spec.log, 'is passed a logger')
t.equal(spec.registry, registry, 'passes flatOptions')
return {}
},
@@ -36,14 +35,13 @@ t.test('pings', async t => {
})
t.test('pings and logs details', async t => {
- t.plan(9)
+ t.plan(8)
const registry = 'https://registry.npmjs.org'
const details = { extra: 'data' }
let noticeCalls = 0
const Ping = t.mock('../../../lib/commands/ping.js', {
'../../../lib/utils/ping.js': function (spec) {
- t.ok(spec.log, 'is passed a logger')
t.equal(spec.registry, registry, 'passes flatOptions')
return details
},
@@ -75,14 +73,13 @@ t.test('pings and logs details', async t => {
})
t.test('pings and returns json', async t => {
- t.plan(10)
+ t.plan(9)
const registry = 'https://registry.npmjs.org'
const details = { extra: 'data' }
let noticeCalls = 0
const Ping = t.mock('../../../lib/commands/ping.js', {
'../../../lib/utils/ping.js': function (spec) {
- t.ok(spec.log, 'is passed a logger')
t.equal(spec.registry, registry, 'passes flatOptions')
return details
},
diff --git a/deps/npm/test/lib/commands/publish.js b/deps/npm/test/lib/commands/publish.js
index 52d4c1b342..0a7f961bfb 100644
--- a/deps/npm/test/lib/commands/publish.js
+++ b/deps/npm/test/lib/commands/publish.js
@@ -1,15 +1,6 @@
const t = require('tap')
const { fake: mockNpm } = require('../../fixtures/mock-npm')
const fs = require('fs')
-const log = require('../../../lib/utils/log-shim')
-
-// The way we set loglevel is kind of convoluted, and there is no way to affect
-// it from these tests, which only interact with lib/publish.js, which assumes
-// that the code that is requiring and calling lib/publish.js has already
-// taken care of the loglevel
-const _level = log.level
-t.beforeEach(() => (log.level = 'silent'))
-t.teardown(() => (log.level = _level))
t.cleanSnapshot = data => {
return data.replace(/^ *"gitHead": .*$\n/gm, '')
@@ -25,7 +16,7 @@ t.test(
/* eslint-disable-next-line max-len */
'should publish with libnpmpublish, passing through flatOptions and respecting publishConfig.registry',
async t => {
- t.plan(7)
+ t.plan(6)
const registry = 'https://some.registry'
const publishConfig = { registry }
@@ -59,7 +50,6 @@ t.test(
t.match(manifest, { name: 'my-cool-pkg', version: '1.0.0' }, 'gets manifest')
t.type(tarData, Buffer, 'tarData is a buffer')
t.ok(opts, 'gets opts object')
- t.ok(opts.log, 'gets passed a logger')
t.same(opts.customValue, true, 'flatOptions values are passed through')
t.same(opts.registry, registry, 'publishConfig.registry is passed through')
},
@@ -82,7 +72,7 @@ t.test(
)
t.test('re-loads publishConfig.registry if added during script process', async t => {
- t.plan(6)
+ t.plan(5)
const registry = 'https://some.registry'
const publishConfig = { registry }
const testDir = t.testdir({
@@ -113,7 +103,6 @@ t.test('re-loads publishConfig.registry if added during script process', async t
t.match(manifest, { name: 'my-cool-pkg', version: '1.0.0' }, 'gets manifest')
t.type(tarData, Buffer, 'tarData is a buffer')
t.ok(opts, 'gets opts object')
- t.ok(opts.log, 'gets passed a logger')
t.same(opts.registry, registry, 'publishConfig.registry is passed through')
},
},
@@ -142,7 +131,6 @@ t.test('if loglevel=info and json, should not output package contents', async t
),
})
- log.level = 'info'
const Publish = t.mock('../../../lib/commands/publish.js', {
'../../../lib/utils/tar.js': {
getContents: () => ({
@@ -159,11 +147,11 @@ t.test('if loglevel=info and json, should not output package contents', async t
},
})
const npm = mockNpm({
- config: { json: true },
+ config: { json: true, loglevel: 'info' },
output: () => {
t.pass('output is called')
},
- })
+ }, t)
npm.config.getCredentialsByURI = uri => {
t.same(uri, npm.config.get('registry'), 'gets credentials for expected registry')
return { token: 'some.registry.token' }
@@ -206,11 +194,11 @@ t.test(
},
})
const npm = mockNpm({
- config: { 'dry-run': true },
+ config: { 'dry-run': true, loglevel: 'silent' },
output: () => {
throw new Error('should not output in dry run mode')
},
- })
+ }, t)
npm.config.getCredentialsByURI = () => {
throw new Error('should not call getCredentialsByURI in dry run')
}
@@ -238,7 +226,6 @@ t.test(
),
})
- log.level = 'info'
const Publish = t.mock('../../../lib/commands/publish.js', {
'../../../lib/utils/tar.js': {
getContents: () => ({
@@ -255,11 +242,11 @@ t.test(
},
})
const npm = mockNpm({
- config: { 'dry-run': true },
+ config: { 'dry-run': true, loglevel: 'info' },
output: () => {
t.pass('output fn is called')
},
- })
+ }, t)
npm.config.getCredentialsByURI = () => {
throw new Error('should not call getCredentialsByURI in dry run')
}
@@ -294,7 +281,7 @@ t.test('throws when invalid tag', async t => {
})
t.test('can publish a tarball', async t => {
- t.plan(4)
+ t.plan(3)
const testDir = t.testdir({
tarball: {},
@@ -319,7 +306,6 @@ t.test('can publish a tarball', async t => {
const Publish = t.mock('../../../lib/commands/publish.js', {
libnpmpublish: {
publish: (manifest, tarData, opts) => {
- t.ok(opts.log, 'gets passed a logger')
t.match(
manifest,
{
@@ -415,7 +401,7 @@ t.test('should check auth for scope specific registry', async t => {
})
t.test('should use auth for scope specific registry', async t => {
- t.plan(4)
+ t.plan(3)
const registry = 'https://some.registry'
const testDir = t.testdir({
'package.json': JSON.stringify(
@@ -432,7 +418,6 @@ t.test('should use auth for scope specific registry', async t => {
libnpmpublish: {
publish: (manifest, tarData, opts) => {
t.ok(opts, 'gets opts object')
- t.ok(opts.log, 'gets passed a logger')
t.same(opts['@npm:registry'], registry, 'scope specific registry is passed through')
},
},
@@ -450,7 +435,7 @@ t.test('should use auth for scope specific registry', async t => {
})
t.test('read registry only from publishConfig', async t => {
- t.plan(4)
+ t.plan(3)
const registry = 'https://some.registry'
const publishConfig = { registry }
@@ -469,7 +454,6 @@ t.test('read registry only from publishConfig', async t => {
const Publish = t.mock('../../../lib/commands/publish.js', {
libnpmpublish: {
publish: (manifest, tarData, opts) => {
- t.ok(opts.log, 'gets passed a logger')
t.match(manifest, { name: 'my-cool-pkg', version: '1.0.0' }, 'gets manifest')
t.same(opts.registry, registry, 'publishConfig is passed through')
},
@@ -486,7 +470,7 @@ t.test('read registry only from publishConfig', async t => {
})
t.test('able to publish after if encountered multiple configs', async t => {
- t.plan(3)
+ t.plan(2)
const registry = 'https://some.registry'
const tag = 'better-tag'
@@ -515,7 +499,6 @@ t.test('able to publish after if encountered multiple configs', async t => {
const Publish = t.mock('../../../lib/commands/publish.js', {
libnpmpublish: {
publish: (manifest, tarData, opts) => {
- t.ok(opts.log, 'gets passed a logger')
t.same(opts.defaultTag, tag, 'gets option for expected tag')
},
},
@@ -526,6 +509,7 @@ t.test('able to publish after if encountered multiple configs', async t => {
defaultTag: 'better-tag',
registry: 'https://other.registry',
},
+ output () {},
config: {
get: key => configList[0][key],
list: configList,
@@ -604,14 +588,12 @@ t.test('workspaces', t => {
const publish = new Publish(npm)
t.test('all workspaces', async t => {
- log.level = 'info'
await publish.execWorkspaces([], [])
t.matchSnapshot(publishes, 'should publish all workspaces')
t.matchSnapshot(outputs, 'should output all publishes')
})
t.test('one workspace', async t => {
- log.level = 'info'
await publish.execWorkspaces([], ['workspace-a'])
t.matchSnapshot(publishes, 'should publish given workspace')
t.matchSnapshot(outputs, 'should output one publish')
@@ -623,7 +605,6 @@ t.test('workspaces', t => {
})
t.test('json', async t => {
- log.level = 'info'
npm.config.set('json', true)
await publish.execWorkspaces([], [])
t.matchSnapshot(publishes, 'should publish all workspaces')
@@ -680,10 +661,11 @@ t.test('private workspaces', async t => {
},
}
const npm = mockNpm({
+ config: { loglevel: 'info' },
output: o => {
outputs.push(o)
},
- })
+ }, t)
npm.localPrefix = testDir
npm.config.getCredentialsByURI = uri => {
return { token: 'some.registry.token' }
@@ -692,7 +674,6 @@ t.test('private workspaces', async t => {
t.test('with color', async t => {
t.plan(4)
- log.level = 'info'
const Publish = t.mock('../../../lib/commands/publish.js', {
...mocks,
'proc-log': {
@@ -721,7 +702,6 @@ t.test('private workspaces', async t => {
t.test('colorless', async t => {
t.plan(4)
- log.level = 'info'
const Publish = t.mock('../../../lib/commands/publish.js', {
...mocks,
'proc-log': {
@@ -754,7 +734,6 @@ t.test('private workspaces', async t => {
if (manifest.private) {
throw new Error('ERR')
}
- t.ok(opts.log, 'gets passed a logger')
publishes.push(manifest)
},
},
@@ -794,7 +773,6 @@ t.test('runs correct lifecycle scripts', async t => {
})
const scripts = []
- log.level = 'info'
const Publish = t.mock('../../../lib/commands/publish.js', {
'@npmcli/run-script': args => {
scripts.push(args)
@@ -814,10 +792,11 @@ t.test('runs correct lifecycle scripts', async t => {
},
})
const npm = mockNpm({
+ config: { loglevel: 'info' },
output: () => {
t.pass('output is called')
},
- })
+ }, t)
npm.config.getCredentialsByURI = uri => {
t.same(uri, npm.config.get('registry'), 'gets credentials for expected registry')
return { token: 'some.registry.token' }
@@ -845,7 +824,6 @@ t.test('does not run scripts on --ignore-scripts', async t => {
),
})
- log.level = 'info'
const Publish = t.mock('../../../lib/commands/publish.js', {
'@npmcli/run-script': () => {
t.fail('should not call run-script')
@@ -865,11 +843,11 @@ t.test('does not run scripts on --ignore-scripts', async t => {
},
})
const npm = mockNpm({
- config: { 'ignore-scripts': true },
+ config: { 'ignore-scripts': true, loglevel: 'info' },
output: () => {
t.pass('output is called')
},
- })
+ }, t)
npm.config.getCredentialsByURI = uri => {
t.same(uri, npm.config.get('registry'), 'gets credentials for expected registry')
return { token: 'some.registry.token' }
diff --git a/deps/npm/test/lib/commands/run-script.js b/deps/npm/test/lib/commands/run-script.js
index ea0227cda0..834b61e747 100644
--- a/deps/npm/test/lib/commands/run-script.js
+++ b/deps/npm/test/lib/commands/run-script.js
@@ -10,10 +10,12 @@ const RUN_SCRIPTS = []
const flatOptions = {
scriptShell: undefined,
}
+const defaultLoglevel = 'info'
const config = {
json: false,
parseable: false,
'if-present': false,
+ loglevel: defaultLoglevel,
}
const npm = mockNpm({
@@ -26,20 +28,21 @@ const npm = mockNpm({
output: (...msg) => output.push(msg),
})
-const output = []
-
-const npmlog = {
- disableProgress: () => null,
- level: 'warn',
+const setLoglevel = (t, level) => {
+ npm.config.set('loglevel', level)
+ t.teardown(() => {
+ npm.config.set('loglevel', defaultLoglevel)
+ })
}
+const output = []
+
const log = {
error: () => null,
}
t.afterEach(() => {
npm.color = false
- npmlog.level = 'warn'
log.error = () => null
output.length = 0
RUN_SCRIPTS.length = 0
@@ -58,7 +61,6 @@ const getRS = windows => {
isServerPackage: require('@npmcli/run-script').isServerPackage,
}
),
- npmlog,
'proc-log': log,
'../../../lib/utils/is-windows-shell.js': windows,
})
@@ -359,10 +361,7 @@ t.test('skip pre/post hooks when using ignoreScripts', async t => {
})
t.test('run silent', async t => {
- npmlog.level = 'silent'
- t.teardown(() => {
- npmlog.level = 'warn'
- })
+ setLoglevel(t, 'silent')
npm.localPrefix = t.testdir({
'package.json': JSON.stringify({
@@ -440,12 +439,11 @@ t.test('list scripts', t => {
})
t.test('silent', async t => {
- npmlog.level = 'silent'
+ setLoglevel(t, 'silent')
await runScript.exec([])
t.strictSame(output, [])
})
t.test('warn json', async t => {
- npmlog.level = 'warn'
config.json = true
await runScript.exec([])
t.strictSame(output, [[JSON.stringify(scripts, 0, 2)]], 'json report')
@@ -723,7 +721,7 @@ t.test('workspaces', t => {
})
t.test('list no scripts --loglevel=silent', async t => {
- npmlog.level = 'silent'
+ setLoglevel(t, 'silent')
await runScript.execWorkspaces([], [])
t.strictSame(output, [])
})
@@ -860,7 +858,6 @@ t.test('workspaces', t => {
'@npmcli/run-script': () => {
throw new Error('err')
},
- npmlog,
'proc-log': log,
'../../../lib/utils/is-windows-shell.js': false,
})
@@ -879,7 +876,6 @@ t.test('workspaces', t => {
RUN_SCRIPTS.push(opts)
},
- npmlog,
'proc-log': log,
'../../../lib/utils/is-windows-shell.js': false,
})
diff --git a/deps/npm/test/lib/commands/star.js b/deps/npm/test/lib/commands/star.js
index 2f4ddc9dc6..4d19b32e1d 100644
--- a/deps/npm/test/lib/commands/star.js
+++ b/deps/npm/test/lib/commands/star.js
@@ -42,10 +42,9 @@ t.test('no args', async t => {
})
t.test('star a package', async t => {
- t.plan(6)
+ t.plan(4)
const pkgName = '@npmcli/arborist'
npmFetch.json = async (uri, opts) => {
- t.ok(opts.log, 'is passed a logger')
return {
_id: pkgName,
_rev: 'hash',
@@ -70,11 +69,10 @@ t.test('star a package', async t => {
})
t.test('unstar a package', async t => {
- t.plan(6)
+ t.plan(4)
const pkgName = '@npmcli/arborist'
config['star.unstar'] = true
npmFetch.json = async (uri, opts) => {
- t.ok(opts.log, 'is passed a logger')
return {
_id: pkgName,
_rev: 'hash',
diff --git a/deps/npm/test/lib/commands/team.js b/deps/npm/test/lib/commands/team.js
index 96260835fa..0d5378b530 100644
--- a/deps/npm/test/lib/commands/team.js
+++ b/deps/npm/test/lib/commands/team.js
@@ -1,4 +1,5 @@
const t = require('tap')
+const { fake: mockNpm } = require('../../fixtures/mock-npm')
let result = ''
const libnpmteam = {
@@ -9,12 +10,15 @@ const libnpmteam = {
async lsUsers () {},
async rm () {},
}
-const npm = {
+const npm = mockNpm({
flatOptions: {},
+ config: {
+ loglevel: 'info',
+ },
output: (...msg) => {
result += msg.join('\n')
},
-}
+})
const mocks = {
libnpmteam,
'cli-columns': a => a.join(' '),
@@ -25,6 +29,7 @@ const mocks = {
t.afterEach(() => {
result = ''
npm.flatOptions = {}
+ npm.config.set('loglevel', 'info')
})
const Team = t.mock('../../../lib/commands/team.js', mocks)
@@ -73,7 +78,7 @@ t.test('team add <scope:team> <user>', async t => {
})
t.test('--silent', async t => {
- npm.flatOptions.silent = true
+ npm.config.set('loglevel', 'silent')
await team.exec(['add', '@npmcli:developers', 'foo'])
@@ -115,7 +120,7 @@ t.test('team create <scope:team>', async t => {
})
t.test('--silent', async t => {
- npm.flatOptions.silent = true
+ npm.config.set('loglevel', 'silent')
await team.exec(['create', '@npmcli:newteam'])
@@ -149,7 +154,7 @@ t.test('team destroy <scope:team>', async t => {
})
t.test('--silent', async t => {
- npm.flatOptions.silent = true
+ npm.config.set('loglevel', 'silent')
await team.exec(['destroy', '@npmcli:newteam'])
t.same(result, '', 'should not output destroy if silent')
})
@@ -198,7 +203,7 @@ t.test('team ls <scope>', async t => {
})
t.test('--silent', async t => {
- npm.flatOptions.silent = true
+ npm.config.set('loglevel', 'silent')
await team.exec(['ls', '@npmcli'])
t.same(result, '', 'should not list teams if silent')
})
@@ -278,7 +283,7 @@ t.test('team ls <scope:team>', async t => {
})
t.test('--silent', async t => {
- npm.flatOptions.silent = true
+ npm.config.set('loglevel', 'silent')
await team.exec(['ls', '@npmcli:developers'])
t.same(result, '', 'should not output users if silent')
})
@@ -345,7 +350,7 @@ t.test('team rm <scope:team> <user>', async t => {
})
t.test('--silent', async t => {
- npm.flatOptions.silent = true
+ npm.config.set('loglevel', 'silent')
await team.exec(['rm', '@npmcli:newteam', 'foo'])
t.same(result, '', 'should not output rm result if silent')
})
diff --git a/deps/npm/test/lib/commands/unpublish.js b/deps/npm/test/lib/commands/unpublish.js
index 99d55294fb..b9c94e5d52 100644
--- a/deps/npm/test/lib/commands/unpublish.js
+++ b/deps/npm/test/lib/commands/unpublish.js
@@ -22,7 +22,6 @@ const singleVersion = async () => {
const config = {
force: false,
- loglevel: 'silly',
}
const testDir = t.testdir({
@@ -54,7 +53,7 @@ t.afterEach(() => {
result = ''
config['dry-run'] = false
config.force = false
- config.loglevel = 'silly'
+ npm.config.set('loglevel', 'info')
})
t.test('no args --force', async t => {
@@ -76,7 +75,6 @@ t.test('no args --force', async t => {
const libnpmpublish = {
unpublish (spec, opts) {
- t.ok(opts.log, 'gets passed a logger')
t.equal(spec.raw, 'pkg@1.0.0', 'should unpublish expected spec')
t.match(
opts,
@@ -178,7 +176,6 @@ t.test('unpublish <pkg>@version', async t => {
const libnpmpublish = {
unpublish (spec, opts) {
- t.ok(opts.log, 'gets passed a logger')
t.equal(spec.raw, 'pkg@1.0.0', 'should unpublish expected parsed spec')
},
}
@@ -240,7 +237,7 @@ t.test('unpublish <pkg> --force no version set', async t => {
})
t.test('silent', async t => {
- config.loglevel = 'silent'
+ npm.config.set('loglevel', 'silent')
const Unpublish = t.mock('../../../lib/commands/unpublish.js', {
...mocks,
diff --git a/deps/npm/test/lib/commands/update.js b/deps/npm/test/lib/commands/update.js
index 2b464bfabb..ae93764661 100644
--- a/deps/npm/test/lib/commands/update.js
+++ b/deps/npm/test/lib/commands/update.js
@@ -27,7 +27,7 @@ t.afterEach(() => {
})
t.test('no args', async t => {
- t.plan(5)
+ t.plan(4)
npm.prefix = '/project/a'
@@ -44,7 +44,6 @@ t.test('no args', async t => {
},
'should call arborist contructor with expected args'
)
- t.match(log, {}, 'log is passed in')
}
reify ({ save, update }) {
@@ -66,7 +65,7 @@ t.test('no args', async t => {
})
t.test('with args', async t => {
- t.plan(5)
+ t.plan(4)
npm.prefix = '/project/a'
config.save = true
@@ -84,7 +83,6 @@ t.test('with args', async t => {
},
'should call arborist contructor with expected args'
)
- t.match(log, {}, 'log is passed in')
}
reify ({ save, update }) {
@@ -130,7 +128,7 @@ t.test('update --depth=<number>', async t => {
})
t.test('update --global', async t => {
- t.plan(3)
+ t.plan(2)
const normalizePath = p => p.replace(/\\+/g, '/')
const redactCwd = (path) => normalizePath(path)
@@ -149,8 +147,6 @@ t.test('update --global', async t => {
'should call arborist contructor with expected options'
)
- t.match(log, {}, 'log is passed in')
-
t.equal(
redactCwd(path),
'{CWD}/global/lib',
diff --git a/deps/npm/test/lib/utils/config/definitions.js b/deps/npm/test/lib/utils/config/definitions.js
index bf4b48709a..a5b34a7499 100644
--- a/deps/npm/test/lib/utils/config/definitions.js
+++ b/deps/npm/test/lib/utils/config/definitions.js
@@ -929,3 +929,12 @@ t.test('lockfile version', t => {
t.match(flat.lockfileVersion, 3, 'flattens to a number')
t.end()
})
+
+t.test('loglevel silent', t => {
+ const flat = {}
+ definitions.loglevel.flatten('loglevel', {
+ loglevel: 'silent',
+ }, flat)
+ t.match(flat.silent, true, 'flattens to assign silent')
+ t.end()
+})
diff --git a/deps/npm/test/lib/utils/exit-handler.js b/deps/npm/test/lib/utils/exit-handler.js
index 54bf48f89b..6a96d92ddb 100644
--- a/deps/npm/test/lib/utils/exit-handler.js
+++ b/deps/npm/test/lib/utils/exit-handler.js
@@ -89,9 +89,9 @@ const mockExitHandler = async (t, { init, load, testdir, config } = {}) => {
...rest,
errors,
npm,
- // // Make it async to make testing ergonomics a little
- // // easier so we dont need to t.plan() every test to
- // // make sure we get process.exit called
+ // Make it async to make testing ergonomics a little
+ // easier so we dont need to t.plan() every test to
+ // make sure we get process.exit called
exitHandler: (...args) => new Promise(resolve => {
process.once('exit', resolve)
exitHandler(...args)
diff --git a/deps/npm/test/lib/utils/reify-output.js b/deps/npm/test/lib/utils/reify-output.js
index 4e9ed7133c..b38a14de33 100644
--- a/deps/npm/test/lib/utils/reify-output.js
+++ b/deps/npm/test/lib/utils/reify-output.js
@@ -1,9 +1,4 @@
const t = require('tap')
-const log = require('../../../lib/utils/log-shim')
-
-const _level = log.level
-t.beforeEach(() => log.level = 'warn')
-t.teardown(() => log.level = _level)
t.cleanSnapshot = str => str.replace(/in [0-9]+m?s/g, 'in {TIME}')
@@ -13,6 +8,7 @@ const settings = {
const npm = {
started: Date.now(),
flatOptions: settings,
+ silent: false,
}
const reifyOutput = require('../../../lib/utils/reify-output.js')
t.test('missing info', (t) => {
@@ -236,10 +232,13 @@ t.test('showing and not showing audit report', async t => {
}
t.test('no output when silent', t => {
+ t.teardown(() => {
+ delete npm.silent
+ })
+ npm.silent = true
npm.output = out => {
t.fail('should not get output when silent', { actual: out })
}
- log.level = 'silent'
reifyOutput(npm, {
actualTree: { inventory: { size: 999 }, children: [] },
auditReport,
diff --git a/deps/npm/test/lib/utils/update-notifier.js b/deps/npm/test/lib/utils/update-notifier.js
index a7a800c602..fa4af29476 100644
--- a/deps/npm/test/lib/utils/update-notifier.js
+++ b/deps/npm/test/lib/utils/update-notifier.js
@@ -84,12 +84,11 @@ t.afterEach(() => {
})
const runUpdateNotifier = async ({ color = true, ...npmOptions } = {}) => {
- const _npm = { ...defaultNpm, ...npmOptions }
+ const _npm = { ...defaultNpm, ...npmOptions, logColor: color }
await t.mock('../../../lib/utils/update-notifier.js', {
'@npmcli/ci-detect': () => ciMock,
pacote,
fs,
- npmlog: { useColor: () => color },
})(_npm)
return _npm.updateNotification
}