summaryrefslogtreecommitdiff
path: root/deps/npm
diff options
context:
space:
mode:
authornpm CLI robot <npm-cli+bot@github.com>2022-06-13 23:04:21 -0700
committerGitHub <noreply@github.com>2022-06-14 07:04:21 +0100
commit47ea59fad1ea97ffeab7b670f45b99943ce9543b (patch)
treecb67d4d80b80bb1245e57041153440d14ebfc1d5 /deps/npm
parent486dcd7c69b3601252373cca7a132b67a0125fb8 (diff)
downloadnode-new-47ea59fad1ea97ffeab7b670f45b99943ce9543b.tar.gz
deps: upgrade npm to 8.12.1
PR-URL: https://github.com/nodejs/node/pull/43301 Reviewed-By: Ruy Adorno <ruyadorno@github.com> Reviewed-By: Luigi Pinca <luigipinca@gmail.com> Reviewed-By: Tobias Nießen <tniessen@tnie.de> Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com> Reviewed-By: Mestery <mestery@protonmail.com>
Diffstat (limited to 'deps/npm')
-rw-r--r--deps/npm/docs/content/commands/npm-adduser.md14
-rw-r--r--deps/npm/docs/content/commands/npm-bin.md2
-rw-r--r--deps/npm/docs/content/commands/npm-config.md2
-rw-r--r--deps/npm/docs/content/commands/npm-diff.md2
-rw-r--r--deps/npm/docs/content/commands/npm-init.md11
-rw-r--r--deps/npm/docs/content/commands/npm-install-test.md2
-rw-r--r--deps/npm/docs/content/commands/npm-install.md2
-rw-r--r--deps/npm/docs/content/commands/npm-link.md2
-rw-r--r--deps/npm/docs/content/commands/npm-ls.md2
-rw-r--r--deps/npm/docs/content/commands/npm-outdated.md2
-rw-r--r--deps/npm/docs/content/commands/npm-prefix.md2
-rw-r--r--deps/npm/docs/content/commands/npm-rebuild.md2
-rw-r--r--deps/npm/docs/content/commands/npm-root.md2
-rw-r--r--deps/npm/docs/content/commands/npm-update.md2
-rw-r--r--deps/npm/docs/content/configuring-npm/package-json.md20
-rw-r--r--deps/npm/docs/content/using-npm/config.md44
-rw-r--r--deps/npm/docs/content/using-npm/scripts.md6
-rw-r--r--deps/npm/docs/output/commands/npm-adduser.html13
-rw-r--r--deps/npm/docs/output/commands/npm-bin.html2
-rw-r--r--deps/npm/docs/output/commands/npm-config.html2
-rw-r--r--deps/npm/docs/output/commands/npm-diff.html2
-rw-r--r--deps/npm/docs/output/commands/npm-init.html11
-rw-r--r--deps/npm/docs/output/commands/npm-install-test.html2
-rw-r--r--deps/npm/docs/output/commands/npm-install.html2
-rw-r--r--deps/npm/docs/output/commands/npm-link.html2
-rw-r--r--deps/npm/docs/output/commands/npm-ls.html4
-rw-r--r--deps/npm/docs/output/commands/npm-outdated.html2
-rw-r--r--deps/npm/docs/output/commands/npm-prefix.html2
-rw-r--r--deps/npm/docs/output/commands/npm-rebuild.html2
-rw-r--r--deps/npm/docs/output/commands/npm-root.html2
-rw-r--r--deps/npm/docs/output/commands/npm-update.html2
-rw-r--r--deps/npm/docs/output/commands/npm.html2
-rw-r--r--deps/npm/docs/output/configuring-npm/package-json.html18
-rw-r--r--deps/npm/docs/output/using-npm/config.html43
-rw-r--r--deps/npm/docs/output/using-npm/scripts.html8
-rw-r--r--deps/npm/lib/commands/adduser.js2
-rw-r--r--deps/npm/lib/commands/init.js45
-rw-r--r--deps/npm/lib/commands/version.js44
-rw-r--r--deps/npm/lib/utils/config/definitions.js9
-rw-r--r--deps/npm/lib/workspaces/update-workspaces.js40
-rw-r--r--deps/npm/man/man1/npm-access.12
-rw-r--r--deps/npm/man/man1/npm-adduser.117
-rw-r--r--deps/npm/man/man1/npm-audit.12
-rw-r--r--deps/npm/man/man1/npm-bin.15
-rw-r--r--deps/npm/man/man1/npm-bugs.12
-rw-r--r--deps/npm/man/man1/npm-cache.12
-rw-r--r--deps/npm/man/man1/npm-ci.12
-rw-r--r--deps/npm/man/man1/npm-completion.12
-rw-r--r--deps/npm/man/man1/npm-config.15
-rw-r--r--deps/npm/man/man1/npm-dedupe.12
-rw-r--r--deps/npm/man/man1/npm-deprecate.12
-rw-r--r--deps/npm/man/man1/npm-diff.15
-rw-r--r--deps/npm/man/man1/npm-dist-tag.12
-rw-r--r--deps/npm/man/man1/npm-docs.12
-rw-r--r--deps/npm/man/man1/npm-doctor.12
-rw-r--r--deps/npm/man/man1/npm-edit.12
-rw-r--r--deps/npm/man/man1/npm-exec.12
-rw-r--r--deps/npm/man/man1/npm-explain.12
-rw-r--r--deps/npm/man/man1/npm-explore.12
-rw-r--r--deps/npm/man/man1/npm-find-dupes.12
-rw-r--r--deps/npm/man/man1/npm-fund.12
-rw-r--r--deps/npm/man/man1/npm-help-search.12
-rw-r--r--deps/npm/man/man1/npm-help.12
-rw-r--r--deps/npm/man/man1/npm-hook.12
-rw-r--r--deps/npm/man/man1/npm-init.113
-rw-r--r--deps/npm/man/man1/npm-install-ci-test.12
-rw-r--r--deps/npm/man/man1/npm-install-test.15
-rw-r--r--deps/npm/man/man1/npm-install.15
-rw-r--r--deps/npm/man/man1/npm-link.15
-rw-r--r--deps/npm/man/man1/npm-logout.12
-rw-r--r--deps/npm/man/man1/npm-ls.17
-rw-r--r--deps/npm/man/man1/npm-org.12
-rw-r--r--deps/npm/man/man1/npm-outdated.15
-rw-r--r--deps/npm/man/man1/npm-owner.12
-rw-r--r--deps/npm/man/man1/npm-pack.12
-rw-r--r--deps/npm/man/man1/npm-ping.12
-rw-r--r--deps/npm/man/man1/npm-pkg.12
-rw-r--r--deps/npm/man/man1/npm-prefix.15
-rw-r--r--deps/npm/man/man1/npm-profile.12
-rw-r--r--deps/npm/man/man1/npm-prune.12
-rw-r--r--deps/npm/man/man1/npm-publish.12
-rw-r--r--deps/npm/man/man1/npm-rebuild.15
-rw-r--r--deps/npm/man/man1/npm-repo.12
-rw-r--r--deps/npm/man/man1/npm-restart.12
-rw-r--r--deps/npm/man/man1/npm-root.15
-rw-r--r--deps/npm/man/man1/npm-run-script.12
-rw-r--r--deps/npm/man/man1/npm-search.12
-rw-r--r--deps/npm/man/man1/npm-set-script.12
-rw-r--r--deps/npm/man/man1/npm-shrinkwrap.12
-rw-r--r--deps/npm/man/man1/npm-star.12
-rw-r--r--deps/npm/man/man1/npm-stars.12
-rw-r--r--deps/npm/man/man1/npm-start.12
-rw-r--r--deps/npm/man/man1/npm-stop.12
-rw-r--r--deps/npm/man/man1/npm-team.12
-rw-r--r--deps/npm/man/man1/npm-test.12
-rw-r--r--deps/npm/man/man1/npm-token.12
-rw-r--r--deps/npm/man/man1/npm-uninstall.12
-rw-r--r--deps/npm/man/man1/npm-unpublish.12
-rw-r--r--deps/npm/man/man1/npm-unstar.12
-rw-r--r--deps/npm/man/man1/npm-update.15
-rw-r--r--deps/npm/man/man1/npm-version.12
-rw-r--r--deps/npm/man/man1/npm-view.12
-rw-r--r--deps/npm/man/man1/npm-whoami.12
-rw-r--r--deps/npm/man/man1/npm.14
-rw-r--r--deps/npm/man/man1/npx.12
-rw-r--r--deps/npm/man/man5/folders.52
-rw-r--r--deps/npm/man/man5/install.52
-rw-r--r--deps/npm/man/man5/npm-shrinkwrap-json.52
-rw-r--r--deps/npm/man/man5/npmrc.52
-rw-r--r--deps/npm/man/man5/package-json.530
-rw-r--r--deps/npm/man/man5/package-lock-json.52
-rw-r--r--deps/npm/man/man7/config.757
-rw-r--r--deps/npm/man/man7/developers.72
-rw-r--r--deps/npm/man/man7/logging.72
-rw-r--r--deps/npm/man/man7/orgs.72
-rw-r--r--deps/npm/man/man7/registry.72
-rw-r--r--deps/npm/man/man7/removal.72
-rw-r--r--deps/npm/man/man7/scope.72
-rw-r--r--deps/npm/man/man7/scripts.712
-rw-r--r--deps/npm/man/man7/workspaces.72
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/README.md2
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/edge.js7
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/package.json2
-rw-r--r--deps/npm/node_modules/glob/common.js14
-rw-r--r--deps/npm/node_modules/glob/glob.js2
-rw-r--r--deps/npm/node_modules/glob/package.json5
-rw-r--r--deps/npm/node_modules/glob/sync.js6
-rw-r--r--deps/npm/node_modules/libnpmexec/lib/index.js2
-rw-r--r--deps/npm/node_modules/libnpmexec/package.json2
-rw-r--r--deps/npm/node_modules/make-fetch-happen/lib/remote.js6
-rw-r--r--deps/npm/node_modules/make-fetch-happen/package.json5
-rw-r--r--deps/npm/node_modules/minimatch/minimatch.js5
-rw-r--r--deps/npm/node_modules/minimatch/package.json2
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/common.js2
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/glob.js5
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/package.json7
-rw-r--r--deps/npm/node_modules/node-gyp/node_modules/glob/sync.js9
-rw-r--r--deps/npm/node_modules/pacote/README.md6
-rw-r--r--deps/npm/node_modules/pacote/lib/fetcher.js52
-rw-r--r--deps/npm/node_modules/pacote/lib/registry.js77
-rw-r--r--deps/npm/node_modules/pacote/lib/remote.js27
-rw-r--r--deps/npm/node_modules/pacote/package.json5
-rw-r--r--deps/npm/node_modules/rimraf/node_modules/glob/common.js2
-rw-r--r--deps/npm/node_modules/rimraf/node_modules/glob/glob.js5
-rw-r--r--deps/npm/node_modules/rimraf/node_modules/glob/package.json7
-rw-r--r--deps/npm/node_modules/rimraf/node_modules/glob/sync.js9
-rw-r--r--deps/npm/package.json6
-rw-r--r--deps/npm/tap-snapshots/test/lib/commands/init.js.test.cjs49
-rw-r--r--deps/npm/tap-snapshots/test/lib/load-all-commands.js.test.cjs4
-rw-r--r--deps/npm/tap-snapshots/test/lib/npm.js.test.cjs4
-rw-r--r--deps/npm/tap-snapshots/test/lib/utils/config/definitions.js.test.cjs10
-rw-r--r--deps/npm/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs44
-rw-r--r--deps/npm/test/lib/commands/init.js34
153 files changed, 689 insertions, 434 deletions
diff --git a/deps/npm/docs/content/commands/npm-adduser.md b/deps/npm/docs/content/commands/npm-adduser.md
index 06eeb379c4..9f7caeb9cd 100644
--- a/deps/npm/docs/content/commands/npm-adduser.md
+++ b/deps/npm/docs/content/commands/npm-adduser.md
@@ -90,6 +90,20 @@ npm init --scope=@foo --yes
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `auth-type`
+
+* Default: "legacy"
+* Type: "legacy", "webauthn", "sso", "saml", or "oauth"
+* DEPRECATED: The SSO/SAML/OAuth methods are deprecated and will be removed in
+ a future version of npm in favor of web-based login.
+
+What authentication strategy to use with `adduser`/`login`.
+
+Pass `webauthn` to use a web-based login.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
<!-- AUTOGENERATED CONFIG DESCRIPTIONS END -->
### See Also
diff --git a/deps/npm/docs/content/commands/npm-bin.md b/deps/npm/docs/content/commands/npm-bin.md
index b344ea2fc9..94b72cfd5c 100644
--- a/deps/npm/docs/content/commands/npm-bin.md
+++ b/deps/npm/docs/content/commands/npm-bin.md
@@ -34,8 +34,6 @@ Print the folder where npm will install executables.
* Default: false
* Type: Boolean
-* DEPRECATED: `--global`, `--local` are deprecated. Use `--location=global`
- instead.
Operates in "global" mode, so that packages are installed into the `prefix`
folder instead of the current working directory. See
diff --git a/deps/npm/docs/content/commands/npm-config.md b/deps/npm/docs/content/commands/npm-config.md
index 809e42a1be..28c6003571 100644
--- a/deps/npm/docs/content/commands/npm-config.md
+++ b/deps/npm/docs/content/commands/npm-config.md
@@ -124,8 +124,6 @@ Not supported by all npm commands.
* Default: false
* Type: Boolean
-* DEPRECATED: `--global`, `--local` are deprecated. Use `--location=global`
- instead.
Operates in "global" mode, so that packages are installed into the `prefix`
folder instead of the current working directory. See
diff --git a/deps/npm/docs/content/commands/npm-diff.md b/deps/npm/docs/content/commands/npm-diff.md
index 7183e4a2b7..7dcc8af7c3 100644
--- a/deps/npm/docs/content/commands/npm-diff.md
+++ b/deps/npm/docs/content/commands/npm-diff.md
@@ -248,8 +248,6 @@ Treat all files as text in `npm diff`.
* Default: false
* Type: Boolean
-* DEPRECATED: `--global`, `--local` are deprecated. Use `--location=global`
- instead.
Operates in "global" mode, so that packages are installed into the `prefix`
folder instead of the current working directory. See
diff --git a/deps/npm/docs/content/commands/npm-init.md b/deps/npm/docs/content/commands/npm-init.md
index 5a7dd4c97a..35343cceb4 100644
--- a/deps/npm/docs/content/commands/npm-init.md
+++ b/deps/npm/docs/content/commands/npm-init.md
@@ -253,6 +253,17 @@ This value is not exported to the environment for child processes.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `workspaces-update`
+
+* Default: true
+* Type: Boolean
+
+If set to true, the npm cli will run an update after operations that may
+possibly change the workspaces installed to the `node_modules` folder.
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
#### `include-workspace-root`
* Default: false
diff --git a/deps/npm/docs/content/commands/npm-install-test.md b/deps/npm/docs/content/commands/npm-install-test.md
index 18e374869d..3dd860ea5c 100644
--- a/deps/npm/docs/content/commands/npm-install-test.md
+++ b/deps/npm/docs/content/commands/npm-install-test.md
@@ -70,8 +70,6 @@ rather than using npm's default semver range operator.
* Default: false
* Type: Boolean
-* DEPRECATED: `--global`, `--local` are deprecated. Use `--location=global`
- instead.
Operates in "global" mode, so that packages are installed into the `prefix`
folder instead of the current working directory. See
diff --git a/deps/npm/docs/content/commands/npm-install.md b/deps/npm/docs/content/commands/npm-install.md
index 318df5780e..d6668a2c2b 100644
--- a/deps/npm/docs/content/commands/npm-install.md
+++ b/deps/npm/docs/content/commands/npm-install.md
@@ -460,8 +460,6 @@ rather than using npm's default semver range operator.
* Default: false
* Type: Boolean
-* DEPRECATED: `--global`, `--local` are deprecated. Use `--location=global`
- instead.
Operates in "global" mode, so that packages are installed into the `prefix`
folder instead of the current working directory. See
diff --git a/deps/npm/docs/content/commands/npm-link.md b/deps/npm/docs/content/commands/npm-link.md
index 34c67aa3de..975c807c38 100644
--- a/deps/npm/docs/content/commands/npm-link.md
+++ b/deps/npm/docs/content/commands/npm-link.md
@@ -153,8 +153,6 @@ rather than using npm's default semver range operator.
* Default: false
* Type: Boolean
-* DEPRECATED: `--global`, `--local` are deprecated. Use `--location=global`
- instead.
Operates in "global" mode, so that packages are installed into the `prefix`
folder instead of the current working directory. See
diff --git a/deps/npm/docs/content/commands/npm-ls.md b/deps/npm/docs/content/commands/npm-ls.md
index 5ad4593bfa..ded8c0c0d2 100644
--- a/deps/npm/docs/content/commands/npm-ls.md
+++ b/deps/npm/docs/content/commands/npm-ls.md
@@ -137,8 +137,6 @@ Output parseable results from commands that write to standard output. For
* Default: false
* Type: Boolean
-* DEPRECATED: `--global`, `--local` are deprecated. Use `--location=global`
- instead.
Operates in "global" mode, so that packages are installed into the `prefix`
folder instead of the current working directory. See
diff --git a/deps/npm/docs/content/commands/npm-outdated.md b/deps/npm/docs/content/commands/npm-outdated.md
index 1bf2de039c..6fa026550e 100644
--- a/deps/npm/docs/content/commands/npm-outdated.md
+++ b/deps/npm/docs/content/commands/npm-outdated.md
@@ -150,8 +150,6 @@ Output parseable results from commands that write to standard output. For
* Default: false
* Type: Boolean
-* DEPRECATED: `--global`, `--local` are deprecated. Use `--location=global`
- instead.
Operates in "global" mode, so that packages are installed into the `prefix`
folder instead of the current working directory. See
diff --git a/deps/npm/docs/content/commands/npm-prefix.md b/deps/npm/docs/content/commands/npm-prefix.md
index 6f08e43fa8..39328bcc88 100644
--- a/deps/npm/docs/content/commands/npm-prefix.md
+++ b/deps/npm/docs/content/commands/npm-prefix.md
@@ -51,8 +51,6 @@ npm prefix -g
* Default: false
* Type: Boolean
-* DEPRECATED: `--global`, `--local` are deprecated. Use `--location=global`
- instead.
Operates in "global" mode, so that packages are installed into the `prefix`
folder instead of the current working directory. See
diff --git a/deps/npm/docs/content/commands/npm-rebuild.md b/deps/npm/docs/content/commands/npm-rebuild.md
index fa5b0cfa97..52c368c8c5 100644
--- a/deps/npm/docs/content/commands/npm-rebuild.md
+++ b/deps/npm/docs/content/commands/npm-rebuild.md
@@ -42,8 +42,6 @@ will be rebuilt.
* Default: false
* Type: Boolean
-* DEPRECATED: `--global`, `--local` are deprecated. Use `--location=global`
- instead.
Operates in "global" mode, so that packages are installed into the `prefix`
folder instead of the current working directory. See
diff --git a/deps/npm/docs/content/commands/npm-root.md b/deps/npm/docs/content/commands/npm-root.md
index 80545235fc..40b58e4b33 100644
--- a/deps/npm/docs/content/commands/npm-root.md
+++ b/deps/npm/docs/content/commands/npm-root.md
@@ -41,8 +41,6 @@ echo "Global packages installed in: ${global_node_modules}"
* Default: false
* Type: Boolean
-* DEPRECATED: `--global`, `--local` are deprecated. Use `--location=global`
- instead.
Operates in "global" mode, so that packages are installed into the `prefix`
folder instead of the current working directory. See
diff --git a/deps/npm/docs/content/commands/npm-update.md b/deps/npm/docs/content/commands/npm-update.md
index 55aad182fc..421d04ca3d 100644
--- a/deps/npm/docs/content/commands/npm-update.md
+++ b/deps/npm/docs/content/commands/npm-update.md
@@ -188,8 +188,6 @@ Will also prevent writing to `package-lock.json` if set to `false`.
* Default: false
* Type: Boolean
-* DEPRECATED: `--global`, `--local` are deprecated. Use `--location=global`
- instead.
Operates in "global" mode, so that packages are installed into the `prefix`
folder instead of the current working directory. See
diff --git a/deps/npm/docs/content/configuring-npm/package-json.md b/deps/npm/docs/content/configuring-npm/package-json.md
index 0c2047ad9a..8b188cfb0b 100644
--- a/deps/npm/docs/content/configuring-npm/package-json.md
+++ b/deps/npm/docs/content/configuring-npm/package-json.md
@@ -643,6 +643,26 @@ git+https://isaacs@github.com/npm/cli.git
git://github.com/npm/cli.git#v1.0.27
```
+When installing from a `git` repository, the presence of certain fields in the
+`package.json` will cause npm to believe it needs to perform a build. To do so
+your repository will be cloned into a temporary directory, all of its deps
+installed, relevant scripts run, and the resulting directory packed and
+installed.
+
+This flow will occur if your git dependency uses `workspaces`, or if any of the
+following scripts are present:
+
+* `build`
+* `prepare`
+* `prepack`
+* `preinstall`
+* `install`
+* `postinstall`
+
+If your git repository includes pre-built artifacts, you will likely want to
+make sure that none of the above scripts are defined, or your dependency
+will be rebuilt for every installation.
+
#### GitHub URLs
As of version 1.1.65, you can refer to GitHub urls as just "foo":
diff --git a/deps/npm/docs/content/using-npm/config.md b/deps/npm/docs/content/using-npm/config.md
index 12b508582a..6ef854eb6e 100644
--- a/deps/npm/docs/content/using-npm/config.md
+++ b/deps/npm/docs/content/using-npm/config.md
@@ -687,6 +687,23 @@ results in no commit being made at all.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### `global`
+
+* Default: false
+* Type: Boolean
+
+Operates in "global" mode, so that packages are installed into the `prefix`
+folder instead of the current working directory. See
+[folders](/configuring-npm/folders) for more on the differences in behavior.
+
+* packages are installed into the `{prefix}/lib/node_modules` folder, instead
+ of the current working directory.
+* bin files are linked to `{prefix}/bin`
+* man pages are linked to `{prefix}/share/man`
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
#### `global-style`
* Default: false
@@ -1891,12 +1908,14 @@ When set to `dev` or `development`, this is an alias for `--include=dev`.
#### `auth-type`
* Default: "legacy"
-* Type: "legacy", "sso", "saml", or "oauth"
-* DEPRECATED: This method of SSO/SAML/OAuth is deprecated and will be removed
- in a future version of npm in favor of web-based login.
+* Type: "legacy", "webauthn", "sso", "saml", or "oauth"
+* DEPRECATED: The SSO/SAML/OAuth methods are deprecated and will be removed in
+ a future version of npm in favor of web-based login.
What authentication strategy to use with `adduser`/`login`.
+Pass `webauthn` to use a web-based login.
+
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
@@ -1933,25 +1952,6 @@ Alias for `--include=dev`.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
-#### `global`
-
-* Default: false
-* Type: Boolean
-* DEPRECATED: `--global`, `--local` are deprecated. Use `--location=global`
- instead.
-
-Operates in "global" mode, so that packages are installed into the `prefix`
-folder instead of the current working directory. See
-[folders](/configuring-npm/folders) for more on the differences in behavior.
-
-* packages are installed into the `{prefix}/lib/node_modules` folder, instead
- of the current working directory.
-* bin files are linked to `{prefix}/bin`
-* man pages are linked to `{prefix}/share/man`
-
-<!-- automatically generated, do not edit manually -->
-<!-- see lib/utils/config/definitions.js -->
-
#### `init.author.email`
* Default: ""
diff --git a/deps/npm/docs/content/using-npm/scripts.md b/deps/npm/docs/content/using-npm/scripts.md
index b37ca593e4..381c0a7181 100644
--- a/deps/npm/docs/content/using-npm/scripts.md
+++ b/deps/npm/docs/content/using-npm/scripts.md
@@ -203,6 +203,12 @@ will default the `start` command to `node server.js`. `prestart` and
* `test`
* `posttest`
+#### [`npm version`](/commands/npm-version)
+
+* `preversion`
+* `version`
+* `postversion`
+
#### A Note on a lack of [`npm uninstall`](/commands/npm-uninstall) scripts
While npm v6 had `uninstall` lifecycle scripts, npm v7 does not. Removal of a package can happen for a wide variety of reasons, and there's no clear way to currently give the script enough context to be useful.
diff --git a/deps/npm/docs/output/commands/npm-adduser.html b/deps/npm/docs/output/commands/npm-adduser.html
index c0b870e534..3b8eaa3159 100644
--- a/deps/npm/docs/output/commands/npm-adduser.html
+++ b/deps/npm/docs/output/commands/npm-adduser.html
@@ -142,7 +142,7 @@ 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="#registry"><code>registry</code></a></li><li><a href="#scope"><code>scope</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="#registry"><code>registry</code></a></li><li><a href="#scope"><code>scope</code></a></li><li><a href="#auth-type"><code>auth-type</code></a></li></ul><li><a href="#see-also">See Also</a></li></ul></div>
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
@@ -204,6 +204,17 @@ npm init --scope=@foo --yes
</code></pre>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
+<h4 id="auth-type"><code>auth-type</code></h4>
+<ul>
+<li>Default: "legacy"</li>
+<li>Type: "legacy", "webauthn", "sso", "saml", or "oauth"</li>
+<li>DEPRECATED: The SSO/SAML/OAuth methods are deprecated and will be removed in
+a future version of npm in favor of web-based login.</li>
+</ul>
+<p>What authentication strategy to use with <code>adduser</code>/<code>login</code>.</p>
+<p>Pass <code>webauthn</code> to use a web-based login.</p>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h3 id="see-also">See Also</h3>
<ul>
diff --git a/deps/npm/docs/output/commands/npm-bin.html b/deps/npm/docs/output/commands/npm-bin.html
index 7b957b6014..5961ea7e50 100644
--- a/deps/npm/docs/output/commands/npm-bin.html
+++ b/deps/npm/docs/output/commands/npm-bin.html
@@ -165,8 +165,6 @@ npm command-line interface
<ul>
<li>Default: false</li>
<li>Type: Boolean</li>
-<li>DEPRECATED: <code>--global</code>, <code>--local</code> are deprecated. Use <code>--location=global</code>
-instead.</li>
</ul>
<p>Operates in "global" mode, so that packages are installed into the <code>prefix</code>
folder instead of the current working directory. See
diff --git a/deps/npm/docs/output/commands/npm-config.html b/deps/npm/docs/output/commands/npm-config.html
index e267531fc0..184895e036 100644
--- a/deps/npm/docs/output/commands/npm-config.html
+++ b/deps/npm/docs/output/commands/npm-config.html
@@ -223,8 +223,6 @@ saving them to your <code>package.json</code>.</li>
<ul>
<li>Default: false</li>
<li>Type: Boolean</li>
-<li>DEPRECATED: <code>--global</code>, <code>--local</code> are deprecated. Use <code>--location=global</code>
-instead.</li>
</ul>
<p>Operates in "global" mode, so that packages are installed into the <code>prefix</code>
folder instead of the current working directory. See
diff --git a/deps/npm/docs/output/commands/npm-diff.html b/deps/npm/docs/output/commands/npm-diff.html
index 7ee9d76d22..13ed989c46 100644
--- a/deps/npm/docs/output/commands/npm-diff.html
+++ b/deps/npm/docs/output/commands/npm-diff.html
@@ -334,8 +334,6 @@ located within the folder <code>./lib/</code> and changed lines of code within t
<ul>
<li>Default: false</li>
<li>Type: Boolean</li>
-<li>DEPRECATED: <code>--global</code>, <code>--local</code> are deprecated. Use <code>--location=global</code>
-instead.</li>
</ul>
<p>Operates in "global" mode, so that packages are installed into the <code>prefix</code>
folder instead of the current working directory. See
diff --git a/deps/npm/docs/output/commands/npm-init.html b/deps/npm/docs/output/commands/npm-init.html
index e2e9b01a04..b25bfec2d4 100644
--- a/deps/npm/docs/output/commands/npm-init.html
+++ b/deps/npm/docs/output/commands/npm-init.html
@@ -142,7 +142,7 @@ 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><ul><li><a href="#forwarding-additional-options">Forwarding additional options</a></li></ul><li><a href="#examples">Examples</a></li><li><a href="#workspaces-support">Workspaces support</a></li><li><a href="#configuration">Configuration</a></li><ul><li><a href="#yes"><code>yes</code></a></li><li><a href="#force"><code>force</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><ul><li><a href="#forwarding-additional-options">Forwarding additional options</a></li></ul><li><a href="#examples">Examples</a></li><li><a href="#workspaces-support">Workspaces support</a></li><li><a href="#configuration">Configuration</a></li><ul><li><a href="#yes"><code>yes</code></a></li><li><a href="#force"><code>force</code></a></li><li><a href="#workspace"><code>workspace</code></a></li><li><a href="#workspaces"><code>workspaces</code></a></li><li><a href="#workspaces-update"><code>workspaces-update</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>
@@ -339,6 +339,15 @@ other things (test, exec, publish, etc.) will operate on the root project,
<p>This value is not exported to the environment for child processes.</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
+<h4 id="workspaces-update"><code>workspaces-update</code></h4>
+<ul>
+<li>Default: true</li>
+<li>Type: Boolean</li>
+</ul>
+<p>If set to true, the npm cli will run an update after operations that may
+possibly change the workspaces installed to the <code>node_modules</code> folder.</p>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h4 id="include-workspace-root"><code>include-workspace-root</code></h4>
<ul>
<li>Default: false</li>
diff --git a/deps/npm/docs/output/commands/npm-install-test.html b/deps/npm/docs/output/commands/npm-install-test.html
index fce049dc2c..6306ceb593 100644
--- a/deps/npm/docs/output/commands/npm-install-test.html
+++ b/deps/npm/docs/output/commands/npm-install-test.html
@@ -196,8 +196,6 @@ rather than using npm's default semver range operator.</p>
<ul>
<li>Default: false</li>
<li>Type: Boolean</li>
-<li>DEPRECATED: <code>--global</code>, <code>--local</code> are deprecated. Use <code>--location=global</code>
-instead.</li>
</ul>
<p>Operates in "global" mode, so that packages are installed into the <code>prefix</code>
folder instead of the current working directory. See
diff --git a/deps/npm/docs/output/commands/npm-install.html b/deps/npm/docs/output/commands/npm-install.html
index ca6ca1ee26..509702b5bd 100644
--- a/deps/npm/docs/output/commands/npm-install.html
+++ b/deps/npm/docs/output/commands/npm-install.html
@@ -522,8 +522,6 @@ rather than using npm's default semver range operator.</p>
<ul>
<li>Default: false</li>
<li>Type: Boolean</li>
-<li>DEPRECATED: <code>--global</code>, <code>--local</code> are deprecated. Use <code>--location=global</code>
-instead.</li>
</ul>
<p>Operates in "global" mode, so that packages are installed into the <code>prefix</code>
folder instead of the current working directory. See
diff --git a/deps/npm/docs/output/commands/npm-link.html b/deps/npm/docs/output/commands/npm-link.html
index cb43c0478d..f7d5f66a9e 100644
--- a/deps/npm/docs/output/commands/npm-link.html
+++ b/deps/npm/docs/output/commands/npm-link.html
@@ -251,8 +251,6 @@ rather than using npm's default semver range operator.</p>
<ul>
<li>Default: false</li>
<li>Type: Boolean</li>
-<li>DEPRECATED: <code>--global</code>, <code>--local</code> are deprecated. Use <code>--location=global</code>
-instead.</li>
</ul>
<p>Operates in "global" mode, so that packages are installed into the <code>prefix</code>
folder instead of the current working directory. See
diff --git a/deps/npm/docs/output/commands/npm-ls.html b/deps/npm/docs/output/commands/npm-ls.html
index 10caff53c3..7b1c29f9a8 100644
--- a/deps/npm/docs/output/commands/npm-ls.html
+++ b/deps/npm/docs/output/commands/npm-ls.html
@@ -166,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.11.0 /path/to/npm
+<pre lang="bash"><code>npm@8.12.1 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5
</code></pre>
@@ -246,8 +246,6 @@ saving them to your <code>package.json</code>.</li>
<ul>
<li>Default: false</li>
<li>Type: Boolean</li>
-<li>DEPRECATED: <code>--global</code>, <code>--local</code> are deprecated. Use <code>--location=global</code>
-instead.</li>
</ul>
<p>Operates in "global" mode, so that packages are installed into the <code>prefix</code>
folder instead of the current working directory. See
diff --git a/deps/npm/docs/output/commands/npm-outdated.html b/deps/npm/docs/output/commands/npm-outdated.html
index 15030d6008..0bdb9f9a66 100644
--- a/deps/npm/docs/output/commands/npm-outdated.html
+++ b/deps/npm/docs/output/commands/npm-outdated.html
@@ -268,8 +268,6 @@ saving them to your <code>package.json</code>.</li>
<ul>
<li>Default: false</li>
<li>Type: Boolean</li>
-<li>DEPRECATED: <code>--global</code>, <code>--local</code> are deprecated. Use <code>--location=global</code>
-instead.</li>
</ul>
<p>Operates in "global" mode, so that packages are installed into the <code>prefix</code>
folder instead of the current working directory. See
diff --git a/deps/npm/docs/output/commands/npm-prefix.html b/deps/npm/docs/output/commands/npm-prefix.html
index df6960ef97..2f30214426 100644
--- a/deps/npm/docs/output/commands/npm-prefix.html
+++ b/deps/npm/docs/output/commands/npm-prefix.html
@@ -176,8 +176,6 @@ also specified.</p>
<ul>
<li>Default: false</li>
<li>Type: Boolean</li>
-<li>DEPRECATED: <code>--global</code>, <code>--local</code> are deprecated. Use <code>--location=global</code>
-instead.</li>
</ul>
<p>Operates in "global" mode, so that packages are installed into the <code>prefix</code>
folder instead of the current working directory. See
diff --git a/deps/npm/docs/output/commands/npm-rebuild.html b/deps/npm/docs/output/commands/npm-rebuild.html
index 84837a3be5..f4524f1a4f 100644
--- a/deps/npm/docs/output/commands/npm-rebuild.html
+++ b/deps/npm/docs/output/commands/npm-rebuild.html
@@ -173,8 +173,6 @@ will be rebuilt.</p>
<ul>
<li>Default: false</li>
<li>Type: Boolean</li>
-<li>DEPRECATED: <code>--global</code>, <code>--local</code> are deprecated. Use <code>--location=global</code>
-instead.</li>
</ul>
<p>Operates in "global" mode, so that packages are installed into the <code>prefix</code>
folder instead of the current working directory. See
diff --git a/deps/npm/docs/output/commands/npm-root.html b/deps/npm/docs/output/commands/npm-root.html
index c9cc1d4b67..e0595fd8e7 100644
--- a/deps/npm/docs/output/commands/npm-root.html
+++ b/deps/npm/docs/output/commands/npm-root.html
@@ -170,8 +170,6 @@ echo "Global packages installed in: ${global_node_modules}"
<ul>
<li>Default: false</li>
<li>Type: Boolean</li>
-<li>DEPRECATED: <code>--global</code>, <code>--local</code> are deprecated. Use <code>--location=global</code>
-instead.</li>
</ul>
<p>Operates in "global" mode, so that packages are installed into the <code>prefix</code>
folder instead of the current working directory. See
diff --git a/deps/npm/docs/output/commands/npm-update.html b/deps/npm/docs/output/commands/npm-update.html
index d0cb6d5f75..d88ea8578b 100644
--- a/deps/npm/docs/output/commands/npm-update.html
+++ b/deps/npm/docs/output/commands/npm-update.html
@@ -275,8 +275,6 @@ be <em>downgraded</em>.</p>
<ul>
<li>Default: false</li>
<li>Type: Boolean</li>
-<li>DEPRECATED: <code>--global</code>, <code>--local</code> are deprecated. Use <code>--location=global</code>
-instead.</li>
</ul>
<p>Operates in "global" mode, so that packages are installed into the <code>prefix</code>
folder instead of the current working directory. See
diff --git a/deps/npm/docs/output/commands/npm.html b/deps/npm/docs/output/commands/npm.html
index 99c109c4e2..040166af65 100644
--- a/deps/npm/docs/output/commands/npm.html
+++ b/deps/npm/docs/output/commands/npm.html
@@ -149,7 +149,7 @@ npm command-line interface
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h3 id="version">Version</h3>
-<p>8.11.0</p>
+<p>8.12.1</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/configuring-npm/package-json.html b/deps/npm/docs/output/configuring-npm/package-json.html
index b318eee579..d5860ee6e2 100644
--- a/deps/npm/docs/output/configuring-npm/package-json.html
+++ b/deps/npm/docs/output/configuring-npm/package-json.html
@@ -629,6 +629,24 @@ git+ssh://git@github.com:npm/cli#semver:^5.0
git+https://isaacs@github.com/npm/cli.git
git://github.com/npm/cli.git#v1.0.27
</code></pre>
+<p>When installing from a <code>git</code> repository, the presence of certain fields in the
+<code>package.json</code> will cause npm to believe it needs to perform a build. To do so
+your repository will be cloned into a temporary directory, all of its deps
+installed, relevant scripts run, and the resulting directory packed and
+installed.</p>
+<p>This flow will occur if your git dependency uses <code>workspaces</code>, or if any of the
+following scripts are present:</p>
+<ul>
+<li><code>build</code></li>
+<li><code>prepare</code></li>
+<li><code>prepack</code></li>
+<li><code>preinstall</code></li>
+<li><code>install</code></li>
+<li><code>postinstall</code></li>
+</ul>
+<p>If your git repository includes pre-built artifacts, you will likely want to
+make sure that none of the above scripts are defined, or your dependency
+will be rebuilt for every installation.</p>
<h4 id="github-urls">GitHub URLs</h4>
<p>As of version 1.1.65, you can refer to GitHub urls as just "foo":
"user/foo-project". Just as with git URLs, a <code>commit-ish</code> suffix can be
diff --git a/deps/npm/docs/output/using-npm/config.html b/deps/npm/docs/output/using-npm/config.html
index ef033b8693..4ec52124ff 100644
--- a/deps/npm/docs/output/using-npm/config.html
+++ b/deps/npm/docs/output/using-npm/config.html
@@ -142,7 +142,7 @@ 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="#description">Description</a></li><ul><li><a href="#command-line-flags">Command Line Flags</a></li><li><a href="#environment-variables">Environment Variables</a></li><li><a href="#npmrc-files">npmrc Files</a></li><li><a href="#default-configs">Default Configs</a></li></ul><li><a href="#shorthands-and-other-cli-niceties">Shorthands and Other CLI Niceties</a></li><li><a href="#config-settings">Config Settings</a></li><ul><li><a href="#auth"><code>_auth</code></a></li><li><a href="#access"><code>access</code></a></li><li><a href="#all"><code>all</code></a></li><li><a href="#allow-same-version"><code>allow-same-version</code></a></li><li><a href="#audit"><code>audit</code></a></li><li><a href="#audit-level"><code>audit-level</code></a></li><li><a href="#before"><code>before</code></a></li><li><a href="#bin-links"><code>bin-links</code></a></li><li><a href="#browser"><code>browser</code></a></li><li><a href="#ca"><code>ca</code></a></li><li><a href="#cache"><code>cache</code></a></li><li><a href="#cafile"><code>cafile</code></a></li><li><a href="#call"><code>call</code></a></li><li><a href="#cert"><code>cert</code></a></li><li><a href="#ci-name"><code>ci-name</code></a></li><li><a href="#cidr"><code>cidr</code></a></li><li><a href="#color"><code>color</code></a></li><li><a href="#commit-hooks"><code>commit-hooks</code></a></li><li><a href="#depth"><code>depth</code></a></li><li><a href="#description2"><code>description</code></a></li><li><a href="#diff"><code>diff</code></a></li><li><a href="#diff-dst-prefix"><code>diff-dst-prefix</code></a></li><li><a href="#diff-ignore-all-space"><code>diff-ignore-all-space</code></a></li><li><a href="#diff-name-only"><code>diff-name-only</code></a></li><li><a href="#diff-no-prefix"><code>diff-no-prefix</code></a></li><li><a href="#diff-src-prefix"><code>diff-src-prefix</code></a></li><li><a href="#diff-text"><code>diff-text</code></a></li><li><a href="#diff-unified"><code>diff-unified</code></a></li><li><a href="#dry-run"><code>dry-run</code></a></li><li><a href="#editor"><code>editor</code></a></li><li><a href="#engine-strict"><code>engine-strict</code></a></li><li><a href="#fetch-retries"><code>fetch-retries</code></a></li><li><a href="#fetch-retry-factor"><code>fetch-retry-factor</code></a></li><li><a href="#fetch-retry-maxtimeout"><code>fetch-retry-maxtimeout</code></a></li><li><a href="#fetch-retry-mintimeout"><code>fetch-retry-mintimeout</code></a></li><li><a href="#fetch-timeout"><code>fetch-timeout</code></a></li><li><a href="#force"><code>force</code></a></li><li><a href="#foreground-scripts"><code>foreground-scripts</code></a></li><li><a href="#format-package-lock"><code>format-package-lock</code></a></li><li><a href="#fund"><code>fund</code></a></li><li><a href="#git"><code>git</code></a></li><li><a href="#git-tag-version"><code>git-tag-version</code></a></li><li><a href="#global-style"><code>global-style</code></a></li><li><a href="#globalconfig"><code>globalconfig</code></a></li><li><a href="#heading"><code>heading</code></a></li><li><a href="#https-proxy"><code>https-proxy</code></a></li><li><a href="#if-present"><code>if-present</code></a></li><li><a href="#ignore-scripts"><code>ignore-scripts</code></a></li><li><a href="#include"><code>include</code></a></li><li><a href="#include-staged"><code>include-staged</code></a></li><li><a href="#include-workspace-root"><code>include-workspace-root</code></a></li><li><a href="#init-author-email"><code>init-author-email</code></a></li><li><a href="#init-author-name"><code>init-author-name</code></a></li><li><a href="#init-author-url"><code>init-author-url</code></a></li><li><a href="#init-license"><code>init-license</code></a></li><li><a href="#init-module"><code>init-module</code></a></li><li><a href="#init-version"><code>init-version</code></a></li><li><a href="#install-links"><code>install-links</code></a></li><li><a href="#json"><code>json</code></a></li><li><a href="#key"><code>key</code></a></li><li><a href="#legacy-bundling"><code>legacy-bundling</code></a></li><li><a href="#legacy-peer-deps"><code>legacy-peer-deps</code></a></li><li><a href="#link"><code>link</code></a></li><li><a href="#local-address"><code>local-address</code></a></li><li><a href="#location"><code>location</code></a></li><li><a href="#lockfile-version"><code>lockfile-version</code></a></li><li><a href="#loglevel"><code>loglevel</code></a></li><li><a href="#logs-dir"><code>logs-dir</code></a></li><li><a href="#logs-max"><code>logs-max</code></a></li><li><a href="#long"><code>long</code></a></li><li><a href="#maxsockets"><code>maxsockets</code></a></li><li><a href="#message"><code>message</code></a></li><li><a href="#node-options"><code>node-options</code></a></li><li><a href="#node-version"><code>node-version</code></a></li><li><a href="#noproxy"><code>noproxy</code></a></li><li><a href="#npm-version"><code>npm-version</code></a></li><li><a href="#offline"><code>offline</code></a></li><li><a href="#omit"><code>omit</code></a></li><li><a href="#omit-lockfile-registry-resolved"><code>omit-lockfile-registry-resolved</code></a></li><li><a href="#otp"><code>otp</code></a></li><li><a href="#pack-destination"><code>pack-destination</code></a></li><li><a href="#package"><code>package</code></a></li><li><a href="#package-lock"><code>package-lock</code></a></li><li><a href="#package-lock-only"><code>package-lock-only</code></a></li><li><a href="#parseable"><code>parseable</code></a></li><li><a href="#prefer-offline"><code>prefer-offline</code></a></li><li><a href="#prefer-online"><code>prefer-online</code></a></li><li><a href="#prefix"><code>prefix</code></a></li><li><a href="#preid"><code>preid</code></a></li><li><a href="#progress"><code>progress</code></a></li><li><a href="#proxy"><code>proxy</code></a></li><li><a href="#read-only"><code>read-only</code></a></li><li><a href="#rebuild-bundle"><code>rebuild-bundle</code></a></li><li><a href="#registry"><code>registry</code></a></li><li><a href="#save"><code>save</code></a></li><li><a href="#save-bundle"><code>save-bundle</code></a></li><li><a href="#save-dev"><code>save-dev</code></a></li><li><a href="#save-exact"><code>save-exact</code></a></li><li><a href="#save-optional"><code>save-optional</code></a></li><li><a href="#save-peer"><code>save-peer</code></a></li><li><a href="#save-prefix"><code>save-prefix</code></a></li><li><a href="#save-prod"><code>save-prod</code></a></li><li><a href="#scope"><code>scope</code></a></li><li><a href="#script-shell"><code>script-shell</code></a></li><li><a href="#searchexclude"><code>searchexclude</code></a></li><li><a href="#searchlimit"><code>searchlimit</code></a></li><li><a href="#searchopts"><code>searchopts</code></a></li><li><a href="#searchstaleness"><code>searchstaleness</code></a></li><li><a href="#shell"><code>shell</code></a></li><li><a href="#sign-git-commit"><code>sign-git-commit</code></a></li><li><a href="#sign-git-tag"><code>sign-git-tag</code></a></li><li><a href="#strict-peer-deps"><code>strict-peer-deps</code></a></li><li><a href="#strict-ssl"><code>strict-ssl</code></a></li><li><a href="#tag"><code>tag</code></a></li><li><a href="#tag-version-prefix"><code>tag-version-prefix</code></a></li><li><a href="#timing"><code>timing</code></a></li><li><a href="#umask"><code>umask</code></a></li><li><a href="#unicode"><code>unicode</code></a></li><li><a href="#update-notifier"><code>update-notifier</code></a></li><li><a href="#usage"><code>usage</code></a></li><li><a href="#user-agent"><code>user-agent</code></a></li><li><a href="#userconfig"><code>userconfig</code></a></li><li><a href="#version"><code>version</code></a></li><li><a href="#versions"><code>versions</code></a></li><li><a href="#viewer"><code>viewer</code></a></li><li><a href="#which"><code>which</code></a></li><li><a href="#workspace"><code>workspace</code></a></li><li><a href="#workspaces"><code>workspaces</code></a></li><li><a href="#workspaces-update"><code>workspaces-update</code></a></li><li><a href="#yes"><code>yes</code></a></li><li><a href="#also"><code>also</code></a></li><li><a href="#auth-type"><code>auth-type</code></a></li><li><a href="#cache-max"><code>cache-max</code></a></li><li><a href="#cache-min"><code>cache-min</code></a></li><li><a href="#dev"><code>dev</code></a></li><li><a href="#global"><code>global</code></a></li><li><a href="#initauthoremail"><code>init.author.email</code></a></li><li><a href="#initauthorname"><code>init.author.name</code></a></li><li><a href="#initauthorurl"><code>init.author.url</code></a></li><li><a href="#initlicense"><code>init.license</code></a></li><li><a href="#initmodule"><code>init.module</code></a></li><li><a href="#initversion"><code>init.version</code></a></li><li><a href="#only"><code>only</code></a></li><li><a href="#optional"><code>optional</code></a></li><li><a href="#production"><code>production</code></a></li><li><a href="#shrinkwrap"><code>shrinkwrap</code></a></li><li><a href="#sso-poll-frequency"><code>sso-poll-frequency</code></a></li><li><a href="#sso-type"><code>sso-type</code></a></li><li><a href="#tmp"><code>tmp</code></a></li></ul><li><a href="#see-also">See also</a></li></ul></div>
+<div id="_table_of_contents"><ul><li><a href="#description">Description</a></li><ul><li><a href="#command-line-flags">Command Line Flags</a></li><li><a href="#environment-variables">Environment Variables</a></li><li><a href="#npmrc-files">npmrc Files</a></li><li><a href="#default-configs">Default Configs</a></li></ul><li><a href="#shorthands-and-other-cli-niceties">Shorthands and Other CLI Niceties</a></li><li><a href="#config-settings">Config Settings</a></li><ul><li><a href="#auth"><code>_auth</code></a></li><li><a href="#access"><code>access</code></a></li><li><a href="#all"><code>all</code></a></li><li><a href="#allow-same-version"><code>allow-same-version</code></a></li><li><a href="#audit"><code>audit</code></a></li><li><a href="#audit-level"><code>audit-level</code></a></li><li><a href="#before"><code>before</code></a></li><li><a href="#bin-links"><code>bin-links</code></a></li><li><a href="#browser"><code>browser</code></a></li><li><a href="#ca"><code>ca</code></a></li><li><a href="#cache"><code>cache</code></a></li><li><a href="#cafile"><code>cafile</code></a></li><li><a href="#call"><code>call</code></a></li><li><a href="#cert"><code>cert</code></a></li><li><a href="#ci-name"><code>ci-name</code></a></li><li><a href="#cidr"><code>cidr</code></a></li><li><a href="#color"><code>color</code></a></li><li><a href="#commit-hooks"><code>commit-hooks</code></a></li><li><a href="#depth"><code>depth</code></a></li><li><a href="#description2"><code>description</code></a></li><li><a href="#diff"><code>diff</code></a></li><li><a href="#diff-dst-prefix"><code>diff-dst-prefix</code></a></li><li><a href="#diff-ignore-all-space"><code>diff-ignore-all-space</code></a></li><li><a href="#diff-name-only"><code>diff-name-only</code></a></li><li><a href="#diff-no-prefix"><code>diff-no-prefix</code></a></li><li><a href="#diff-src-prefix"><code>diff-src-prefix</code></a></li><li><a href="#diff-text"><code>diff-text</code></a></li><li><a href="#diff-unified"><code>diff-unified</code></a></li><li><a href="#dry-run"><code>dry-run</code></a></li><li><a href="#editor"><code>editor</code></a></li><li><a href="#engine-strict"><code>engine-strict</code></a></li><li><a href="#fetch-retries"><code>fetch-retries</code></a></li><li><a href="#fetch-retry-factor"><code>fetch-retry-factor</code></a></li><li><a href="#fetch-retry-maxtimeout"><code>fetch-retry-maxtimeout</code></a></li><li><a href="#fetch-retry-mintimeout"><code>fetch-retry-mintimeout</code></a></li><li><a href="#fetch-timeout"><code>fetch-timeout</code></a></li><li><a href="#force"><code>force</code></a></li><li><a href="#foreground-scripts"><code>foreground-scripts</code></a></li><li><a href="#format-package-lock"><code>format-package-lock</code></a></li><li><a href="#fund"><code>fund</code></a></li><li><a href="#git"><code>git</code></a></li><li><a href="#git-tag-version"><code>git-tag-version</code></a></li><li><a href="#global"><code>global</code></a></li><li><a href="#global-style"><code>global-style</code></a></li><li><a href="#globalconfig"><code>globalconfig</code></a></li><li><a href="#heading"><code>heading</code></a></li><li><a href="#https-proxy"><code>https-proxy</code></a></li><li><a href="#if-present"><code>if-present</code></a></li><li><a href="#ignore-scripts"><code>ignore-scripts</code></a></li><li><a href="#include"><code>include</code></a></li><li><a href="#include-staged"><code>include-staged</code></a></li><li><a href="#include-workspace-root"><code>include-workspace-root</code></a></li><li><a href="#init-author-email"><code>init-author-email</code></a></li><li><a href="#init-author-name"><code>init-author-name</code></a></li><li><a href="#init-author-url"><code>init-author-url</code></a></li><li><a href="#init-license"><code>init-license</code></a></li><li><a href="#init-module"><code>init-module</code></a></li><li><a href="#init-version"><code>init-version</code></a></li><li><a href="#install-links"><code>install-links</code></a></li><li><a href="#json"><code>json</code></a></li><li><a href="#key"><code>key</code></a></li><li><a href="#legacy-bundling"><code>legacy-bundling</code></a></li><li><a href="#legacy-peer-deps"><code>legacy-peer-deps</code></a></li><li><a href="#link"><code>link</code></a></li><li><a href="#local-address"><code>local-address</code></a></li><li><a href="#location"><code>location</code></a></li><li><a href="#lockfile-version"><code>lockfile-version</code></a></li><li><a href="#loglevel"><code>loglevel</code></a></li><li><a href="#logs-dir"><code>logs-dir</code></a></li><li><a href="#logs-max"><code>logs-max</code></a></li><li><a href="#long"><code>long</code></a></li><li><a href="#maxsockets"><code>maxsockets</code></a></li><li><a href="#message"><code>message</code></a></li><li><a href="#node-options"><code>node-options</code></a></li><li><a href="#node-version"><code>node-version</code></a></li><li><a href="#noproxy"><code>noproxy</code></a></li><li><a href="#npm-version"><code>npm-version</code></a></li><li><a href="#offline"><code>offline</code></a></li><li><a href="#omit"><code>omit</code></a></li><li><a href="#omit-lockfile-registry-resolved"><code>omit-lockfile-registry-resolved</code></a></li><li><a href="#otp"><code>otp</code></a></li><li><a href="#pack-destination"><code>pack-destination</code></a></li><li><a href="#package"><code>package</code></a></li><li><a href="#package-lock"><code>package-lock</code></a></li><li><a href="#package-lock-only"><code>package-lock-only</code></a></li><li><a href="#parseable"><code>parseable</code></a></li><li><a href="#prefer-offline"><code>prefer-offline</code></a></li><li><a href="#prefer-online"><code>prefer-online</code></a></li><li><a href="#prefix"><code>prefix</code></a></li><li><a href="#preid"><code>preid</code></a></li><li><a href="#progress"><code>progress</code></a></li><li><a href="#proxy"><code>proxy</code></a></li><li><a href="#read-only"><code>read-only</code></a></li><li><a href="#rebuild-bundle"><code>rebuild-bundle</code></a></li><li><a href="#registry"><code>registry</code></a></li><li><a href="#save"><code>save</code></a></li><li><a href="#save-bundle"><code>save-bundle</code></a></li><li><a href="#save-dev"><code>save-dev</code></a></li><li><a href="#save-exact"><code>save-exact</code></a></li><li><a href="#save-optional"><code>save-optional</code></a></li><li><a href="#save-peer"><code>save-peer</code></a></li><li><a href="#save-prefix"><code>save-prefix</code></a></li><li><a href="#save-prod"><code>save-prod</code></a></li><li><a href="#scope"><code>scope</code></a></li><li><a href="#script-shell"><code>script-shell</code></a></li><li><a href="#searchexclude"><code>searchexclude</code></a></li><li><a href="#searchlimit"><code>searchlimit</code></a></li><li><a href="#searchopts"><code>searchopts</code></a></li><li><a href="#searchstaleness"><code>searchstaleness</code></a></li><li><a href="#shell"><code>shell</code></a></li><li><a href="#sign-git-commit"><code>sign-git-commit</code></a></li><li><a href="#sign-git-tag"><code>sign-git-tag</code></a></li><li><a href="#strict-peer-deps"><code>strict-peer-deps</code></a></li><li><a href="#strict-ssl"><code>strict-ssl</code></a></li><li><a href="#tag"><code>tag</code></a></li><li><a href="#tag-version-prefix"><code>tag-version-prefix</code></a></li><li><a href="#timing"><code>timing</code></a></li><li><a href="#umask"><code>umask</code></a></li><li><a href="#unicode"><code>unicode</code></a></li><li><a href="#update-notifier"><code>update-notifier</code></a></li><li><a href="#usage"><code>usage</code></a></li><li><a href="#user-agent"><code>user-agent</code></a></li><li><a href="#userconfig"><code>userconfig</code></a></li><li><a href="#version"><code>version</code></a></li><li><a href="#versions"><code>versions</code></a></li><li><a href="#viewer"><code>viewer</code></a></li><li><a href="#which"><code>which</code></a></li><li><a href="#workspace"><code>workspace</code></a></li><li><a href="#workspaces"><code>workspaces</code></a></li><li><a href="#workspaces-update"><code>workspaces-update</code></a></li><li><a href="#yes"><code>yes</code></a></li><li><a href="#also"><code>also</code></a></li><li><a href="#auth-type"><code>auth-type</code></a></li><li><a href="#cache-max"><code>cache-max</code></a></li><li><a href="#cache-min"><code>cache-min</code></a></li><li><a href="#dev"><code>dev</code></a></li><li><a href="#initauthoremail"><code>init.author.email</code></a></li><li><a href="#initauthorname"><code>init.author.name</code></a></li><li><a href="#initauthorurl"><code>init.author.url</code></a></li><li><a href="#initlicense"><code>init.license</code></a></li><li><a href="#initmodule"><code>init.module</code></a></li><li><a href="#initversion"><code>init.version</code></a></li><li><a href="#only"><code>only</code></a></li><li><a href="#optional"><code>optional</code></a></li><li><a href="#production"><code>production</code></a></li><li><a href="#shrinkwrap"><code>shrinkwrap</code></a></li><li><a href="#sso-poll-frequency"><code>sso-poll-frequency</code></a></li><li><a href="#sso-type"><code>sso-type</code></a></li><li><a href="#tmp"><code>tmp</code></a></li></ul><li><a href="#see-also">See also</a></li></ul></div>
</section>
<div id="_content"><h3 id="description">Description</h3>
@@ -696,6 +696,22 @@ but is not in the <code>PATH</code>, then set this to the full path to the git b
results in no commit being made at all.</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
+<h4 id="global"><code>global</code></h4>
+<ul>
+<li>Default: false</li>
+<li>Type: Boolean</li>
+</ul>
+<p>Operates in "global" mode, so that packages are installed into the <code>prefix</code>
+folder instead of the current working directory. See
+<a href="../configuring-npm/folders.html">folders</a> for more on the differences in behavior.</p>
+<ul>
+<li>packages are installed into the <code>{prefix}/lib/node_modules</code> folder, instead
+of the current working directory.</li>
+<li>bin files are linked to <code>{prefix}/bin</code></li>
+<li>man pages are linked to <code>{prefix}/share/man</code></li>
+</ul>
+<!-- raw HTML omitted -->
+<!-- raw HTML omitted -->
<h4 id="global-style"><code>global-style</code></h4>
<ul>
<li>Default: false</li>
@@ -1660,11 +1676,12 @@ command line.</p>
<h4 id="auth-type"><code>auth-type</code></h4>
<ul>
<li>Default: "legacy"</li>
-<li>Type: "legacy", "sso", "saml", or "oauth"</li>
-<li>DEPRECATED: This method of SSO/SAML/OAuth is deprecated and will be removed
-in a future version of npm in favor of web-based login.</li>
+<li>Type: "legacy", "webauthn", "sso", "saml", or "oauth"</li>
+<li>DEPRECATED: The SSO/SAML/OAuth methods are deprecated and will be removed in
+a future version of npm in favor of web-based login.</li>
</ul>
<p>What authentication strategy to use with <code>adduser</code>/<code>login</code>.</p>
+<p>Pass <code>webauthn</code> to use a web-based login.</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
<h4 id="cache-max"><code>cache-max</code></h4>
@@ -1694,24 +1711,6 @@ in a future version of npm in favor of web-based login.</li>
<p>Alias for <code>--include=dev</code>.</p>
<!-- raw HTML omitted -->
<!-- raw HTML omitted -->
-<h4 id="global"><code>global</code></h4>
-<ul>
-<li>Default: false</li>
-<li>Type: Boolean</li>
-<li>DEPRECATED: <code>--global</code>, <code>--local</code> are deprecated. Use <code>--location=global</code>
-instead.</li>
-</ul>
-<p>Operates in "global" mode, so that packages are installed into the <code>prefix</code>
-folder instead of the current working directory. See
-<a href="../configuring-npm/folders.html">folders</a> for more on the differences in behavior.</p>
-<ul>
-<li>packages are installed into the <code>{prefix}/lib/node_modules</code> folder, instead
-of the current working directory.</li>
-<li>bin files are linked to <code>{prefix}/bin</code></li>
-<li>man pages are linked to <code>{prefix}/share/man</code></li>
-</ul>
-<!-- raw HTML omitted -->
-<!-- raw HTML omitted -->
<h4 id="initauthoremail"><code>init.author.email</code></h4>
<ul>
<li>Default: ""</li>
diff --git a/deps/npm/docs/output/using-npm/scripts.html b/deps/npm/docs/output/using-npm/scripts.html
index e13d0c488e..635f0c0acb 100644
--- a/deps/npm/docs/output/using-npm/scripts.html
+++ b/deps/npm/docs/output/using-npm/scripts.html
@@ -142,7 +142,7 @@ 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="#description">Description</a></li><li><a href="#pre--post-scripts">Pre &amp; Post Scripts</a></li><li><a href="#life-cycle-scripts">Life Cycle Scripts</a></li><ul><li><a href="#prepare-and-prepublish">Prepare and Prepublish</a></li></ul><li><a href="#life-cycle-operation-order">Life Cycle Operation Order</a></li><ul><li><a href="#npm-cache-add"><a href="../commands/npm-cache.html"><code>npm cache add</code></a></a></li><li><a href="#npm-ci"><a href="../commands/npm-ci.html"><code>npm ci</code></a></a></li><li><a href="#npm-diff"><a href="../commands/npm-diff.html"><code>npm diff</code></a></a></li><li><a href="#npm-install"><a href="../commands/npm-install.html"><code>npm install</code></a></a></li><li><a href="#npm-pack"><a href="../commands/npm-pack.html"><code>npm pack</code></a></a></li><li><a href="#npm-publish"><a href="../commands/npm-publish.html"><code>npm publish</code></a></a></li><li><a href="#npm-rebuild"><a href="../commands/npm-rebuild.html"><code>npm rebuild</code></a></a></li><li><a href="#npm-restart"><a href="../commands/npm-restart.html"><code>npm restart</code></a></a></li><li><a href="#npm-run-user-defined"><a href="../commands/npm-run-script.html"><code>npm run &lt;user defined&gt;</code></a></a></li><li><a href="#npm-start"><a href="../commands/npm-start.html"><code>npm start</code></a></a></li><li><a href="#npm-stop"><a href="../commands/npm-stop.html"><code>npm stop</code></a></a></li><li><a href="#npm-test"><a href="../commands/npm-test.html"><code>npm test</code></a></a></li><li><a href="#a-note-on-a-lack-of-npm-uninstall-scripts">A Note on a lack of <a href="../commands/npm-uninstall.html"><code>npm uninstall</code></a> scripts</a></li></ul><li><a href="#user">User</a></li><li><a href="#environment">Environment</a></li><ul><li><a href="#path">path</a></li><li><a href="#packagejson-vars">package.json vars</a></li><li><a href="#current-lifecycle-event">current lifecycle event</a></li></ul><li><a href="#examples">Examples</a></li><li><a href="#exiting">Exiting</a></li><li><a href="#best-practices">Best Practices</a></li><li><a href="#see-also">See Also</a></li></ul></div>
+<div id="_table_of_contents"><ul><li><a href="#description">Description</a></li><li><a href="#pre--post-scripts">Pre &amp; Post Scripts</a></li><li><a href="#life-cycle-scripts">Life Cycle Scripts</a></li><ul><li><a href="#prepare-and-prepublish">Prepare and Prepublish</a></li></ul><li><a href="#life-cycle-operation-order">Life Cycle Operation Order</a></li><ul><li><a href="#npm-cache-add"><a href="../commands/npm-cache.html"><code>npm cache add</code></a></a></li><li><a href="#npm-ci"><a href="../commands/npm-ci.html"><code>npm ci</code></a></a></li><li><a href="#npm-diff"><a href="../commands/npm-diff.html"><code>npm diff</code></a></a></li><li><a href="#npm-install"><a href="../commands/npm-install.html"><code>npm install</code></a></a></li><li><a href="#npm-pack"><a href="../commands/npm-pack.html"><code>npm pack</code></a></a></li><li><a href="#npm-publish"><a href="../commands/npm-publish.html"><code>npm publish</code></a></a></li><li><a href="#npm-rebuild"><a href="../commands/npm-rebuild.html"><code>npm rebuild</code></a></a></li><li><a href="#npm-restart"><a href="../commands/npm-restart.html"><code>npm restart</code></a></a></li><li><a href="#npm-run-user-defined"><a href="../commands/npm-run-script.html"><code>npm run &lt;user defined&gt;</code></a></a></li><li><a href="#npm-start"><a href="../commands/npm-start.html"><code>npm start</code></a></a></li><li><a href="#npm-stop"><a href="../commands/npm-stop.html"><code>npm stop</code></a></a></li><li><a href="#npm-test"><a href="../commands/npm-test.html"><code>npm test</code></a></a></li><li><a href="#npm-version"><a href="../commands/npm-version.html"><code>npm version</code></a></a></li><li><a href="#a-note-on-a-lack-of-npm-uninstall-scripts">A Note on a lack of <a href="../commands/npm-uninstall.html"><code>npm uninstall</code></a> scripts</a></li></ul><li><a href="#user">User</a></li><li><a href="#environment">Environment</a></li><ul><li><a href="#path">path</a></li><li><a href="#packagejson-vars">package.json vars</a></li><li><a href="#current-lifecycle-event">current lifecycle event</a></li></ul><li><a href="#examples">Examples</a></li><li><a href="#exiting">Exiting</a></li><li><a href="#best-practices">Best Practices</a></li><li><a href="#see-also">See Also</a></li></ul></div>
</section>
<div id="_content"><h3 id="description">Description</h3>
@@ -338,6 +338,12 @@ will default the <code>start</code> command to <code>node server.js</code>. <co
<li><code>test</code></li>
<li><code>posttest</code></li>
</ul>
+<h4 id="npm-version"><a href="../commands/npm-version.html"><code>npm version</code></a></h4>
+<ul>
+<li><code>preversion</code></li>
+<li><code>version</code></li>
+<li><code>postversion</code></li>
+</ul>
<h4 id="a-note-on-a-lack-of-npm-uninstall-scripts">A Note on a lack of <a href="../commands/npm-uninstall.html"><code>npm uninstall</code></a> scripts</h4>
<p>While npm v6 had <code>uninstall</code> lifecycle scripts, npm v7 does not. Removal of a package can happen for a wide variety of reasons, and there's no clear way to currently give the script enough context to be useful.</p>
<p>Reasons for a package removal include:</p>
diff --git a/deps/npm/lib/commands/adduser.js b/deps/npm/lib/commands/adduser.js
index 755abea8eb..cf467b7a73 100644
--- a/deps/npm/lib/commands/adduser.js
+++ b/deps/npm/lib/commands/adduser.js
@@ -3,6 +3,7 @@ const replaceInfo = require('../utils/replace-info.js')
const BaseCommand = require('../base-command.js')
const authTypes = {
legacy: require('../auth/legacy.js'),
+ webauthn: require('../auth/legacy.js'),
oauth: require('../auth/oauth.js'),
saml: require('../auth/saml.js'),
sso: require('../auth/sso.js'),
@@ -14,6 +15,7 @@ class AddUser extends BaseCommand {
static params = [
'registry',
'scope',
+ 'auth-type',
]
static ignoreImplicitWorkspace = true
diff --git a/deps/npm/lib/commands/init.js b/deps/npm/lib/commands/init.js
index 2a6b6aaddc..4c299e6513 100644
--- a/deps/npm/lib/commands/init.js
+++ b/deps/npm/lib/commands/init.js
@@ -8,13 +8,22 @@ const libexec = require('libnpmexec')
const mapWorkspaces = require('@npmcli/map-workspaces')
const PackageJson = require('@npmcli/package-json')
const log = require('../utils/log-shim.js')
+const updateWorkspaces = require('../workspaces/update-workspaces.js')
const getLocationMsg = require('../exec/get-workspace-location-msg.js')
const BaseCommand = require('../base-command.js')
class Init extends BaseCommand {
static description = 'Create a package.json file'
- static params = ['yes', 'force', 'workspace', 'workspaces', 'include-workspace-root']
+ static params = [
+ 'yes',
+ 'force',
+ 'workspace',
+ 'workspaces',
+ 'workspaces-update',
+ 'include-workspace-root',
+ ]
+
static name = 'init'
static usage = [
'[--force|-f|--yes|-y|--scope]',
@@ -46,11 +55,13 @@ class Init extends BaseCommand {
const pkg = await rpj(resolve(this.npm.localPrefix, 'package.json'))
const wPath = filterArg => resolve(this.npm.localPrefix, filterArg)
+ const workspacesPaths = []
// npm-exec style, runs in the context of each workspace filter
if (args.length) {
for (const filterArg of filters) {
const path = wPath(filterArg)
await mkdirp(path)
+ workspacesPaths.push(path)
await this.execCreate({ args, path })
await this.setWorkspace({ pkg, workspacePath: path })
}
@@ -61,9 +72,13 @@ class Init extends BaseCommand {
for (const filterArg of filters) {
const path = wPath(filterArg)
await mkdirp(path)
+ workspacesPaths.push(path)
await this.template(path)
await this.setWorkspace({ pkg, workspacePath: path })
}
+
+ // reify packages once all workspaces have been initialized
+ await this.update(workspacesPaths)
}
async execCreate ({ args, path }) {
@@ -196,6 +211,34 @@ class Init extends BaseCommand {
await pkgJson.save()
}
+
+ async update (workspacesPaths) {
+ // translate workspaces paths into an array containing workspaces names
+ const workspaces = []
+ for (const path of workspacesPaths) {
+ const pkgPath = resolve(path, 'package.json')
+ const { name } = await rpj(pkgPath)
+ .catch(() => ({}))
+
+ if (name) {
+ workspaces.push(name)
+ }
+ }
+
+ const {
+ config,
+ flatOptions,
+ localPrefix,
+ } = this.npm
+
+ await updateWorkspaces({
+ config,
+ flatOptions,
+ localPrefix,
+ npm: this.npm,
+ workspaces,
+ })
+ }
}
module.exports = Init
diff --git a/deps/npm/lib/commands/version.js b/deps/npm/lib/commands/version.js
index ed506f663e..ab59fff5a3 100644
--- a/deps/npm/lib/commands/version.js
+++ b/deps/npm/lib/commands/version.js
@@ -3,9 +3,7 @@ const { resolve } = require('path')
const { promisify } = require('util')
const readFile = promisify(require('fs').readFile)
-const Arborist = require('@npmcli/arborist')
-const reifyFinish = require('../utils/reify-finish.js')
-
+const updateWorkspaces = require('../workspaces/update-workspaces.js')
const BaseCommand = require('../base-command.js')
class Version extends BaseCommand {
@@ -137,32 +135,20 @@ class Version extends BaseCommand {
return this.list(results)
}
- async update (args) {
- if (!this.npm.flatOptions.workspacesUpdate || !args.length) {
- return
- }
-
- // default behavior is to not save by default in order to avoid
- // race condition problems when publishing multiple workspaces
- // that have dependencies on one another, it might still be useful
- // in some cases, which then need to set --save
- const save = this.npm.config.isDefault('save')
- ? false
- : this.npm.config.get('save')
-
- // runs a minimalistic reify update, targetting only the workspaces
- // that had version updates and skipping fund/audit/save
- const opts = {
- ...this.npm.flatOptions,
- audit: false,
- fund: false,
- path: this.npm.localPrefix,
- save,
- }
- const arb = new Arborist(opts)
-
- await arb.reify({ ...opts, update: args })
- await reifyFinish(this.npm, arb)
+ async update (workspaces) {
+ const {
+ config,
+ flatOptions,
+ localPrefix,
+ } = this.npm
+
+ await updateWorkspaces({
+ config,
+ flatOptions,
+ localPrefix,
+ npm: this.npm,
+ workspaces,
+ })
}
}
diff --git a/deps/npm/lib/utils/config/definitions.js b/deps/npm/lib/utils/config/definitions.js
index 92fbbd1e6d..4c77e375c5 100644
--- a/deps/npm/lib/utils/config/definitions.js
+++ b/deps/npm/lib/utils/config/definitions.js
@@ -238,13 +238,15 @@ define('audit-level', {
define('auth-type', {
default: 'legacy',
- type: ['legacy', 'sso', 'saml', 'oauth'],
+ type: ['legacy', 'webauthn', 'sso', 'saml', 'oauth'],
deprecated: `
- This method of SSO/SAML/OAuth is deprecated and will be removed in
+ The SSO/SAML/OAuth methods are deprecated and will be removed in
a future version of npm in favor of web-based login.
`,
description: `
What authentication strategy to use with \`adduser\`/\`login\`.
+
+ Pass \`webauthn\` to use a web-based login.
`,
flatten,
})
@@ -811,9 +813,6 @@ define('global', {
default: false,
type: Boolean,
short: 'g',
- deprecated: `
- \`--global\`, \`--local\` are deprecated. Use \`--location=global\` instead.
- `,
description: `
Operates in "global" mode, so that packages are installed into the
\`prefix\` folder instead of the current working directory. See
diff --git a/deps/npm/lib/workspaces/update-workspaces.js b/deps/npm/lib/workspaces/update-workspaces.js
new file mode 100644
index 0000000000..4cba1245ac
--- /dev/null
+++ b/deps/npm/lib/workspaces/update-workspaces.js
@@ -0,0 +1,40 @@
+'use strict'
+
+const Arborist = require('@npmcli/arborist')
+const reifyFinish = require('../utils/reify-finish.js')
+
+async function updateWorkspaces ({
+ config,
+ flatOptions,
+ localPrefix,
+ npm,
+ workspaces,
+}) {
+ if (!flatOptions.workspacesUpdate || !workspaces.length) {
+ return
+ }
+
+ // default behavior is to not save by default in order to avoid
+ // race condition problems when publishing multiple workspaces
+ // that have dependencies on one another, it might still be useful
+ // in some cases, which then need to set --save
+ const save = config.isDefault('save')
+ ? false
+ : config.get('save')
+
+ // runs a minimalistic reify update, targetting only the workspaces
+ // that had version updates and skipping fund/audit/save
+ const opts = {
+ ...flatOptions,
+ audit: false,
+ fund: false,
+ path: localPrefix,
+ save,
+ }
+ const arb = new Arborist(opts)
+
+ await arb.reify({ ...opts, update: workspaces })
+ await reifyFinish(npm, arb)
+}
+
+module.exports = updateWorkspaces
diff --git a/deps/npm/man/man1/npm-access.1 b/deps/npm/man/man1/npm-access.1
index 66e859f6a2..0529f88ac9 100644
--- a/deps/npm/man/man1/npm-access.1
+++ b/deps/npm/man/man1/npm-access.1
@@ -1,4 +1,4 @@
-.TH "NPM\-ACCESS" "1" "May 2022" "" ""
+.TH "NPM\-ACCESS" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-access\fR \- Set access level on published packages
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-adduser.1 b/deps/npm/man/man1/npm-adduser.1
index 08a78c48e8..de87ef4df4 100644
--- a/deps/npm/man/man1/npm-adduser.1
+++ b/deps/npm/man/man1/npm-adduser.1
@@ -1,4 +1,4 @@
-.TH "NPM\-ADDUSER" "1" "May 2022" "" ""
+.TH "NPM\-ADDUSER" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-adduser\fR \- Add a registry user account
.SS Synopsis
@@ -77,6 +77,21 @@ This will also cause \fBnpm init\fP to create a scoped package\.
npm init \-\-scope=@foo \-\-yes
.fi
.RE
+.SS \fBauth\-type\fP
+.RS 0
+.IP \(bu 2
+Default: "legacy"
+.IP \(bu 2
+Type: "legacy", "webauthn", "sso", "saml", or "oauth"
+.IP \(bu 2
+DEPRECATED: The SSO/SAML/OAuth methods are deprecated and will be removed in
+a future version of npm in favor of web\-based login\.
+
+.RE
+.P
+What authentication strategy to use with \fBadduser\fP/\fBlogin\fP\|\.
+.P
+Pass \fBwebauthn\fP to use a web\-based login\.
.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 d84fdd59e5..2f2d0b394b 100644
--- a/deps/npm/man/man1/npm-audit.1
+++ b/deps/npm/man/man1/npm-audit.1
@@ -1,4 +1,4 @@
-.TH "NPM\-AUDIT" "1" "May 2022" "" ""
+.TH "NPM\-AUDIT" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-audit\fR \- Run a security audit
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-bin.1 b/deps/npm/man/man1/npm-bin.1
index 9c6d2ccf4c..a053d7bc88 100644
--- a/deps/npm/man/man1/npm-bin.1
+++ b/deps/npm/man/man1/npm-bin.1
@@ -1,4 +1,4 @@
-.TH "NPM\-BIN" "1" "May 2022" "" ""
+.TH "NPM\-BIN" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-bin\fR \- Display npm bin folder
.SS Synopsis
@@ -20,9 +20,6 @@ Print the folder where npm will install executables\.
Default: false
.IP \(bu 2
Type: Boolean
-.IP \(bu 2
-DEPRECATED: \fB\-\-global\fP, \fB\-\-local\fP are deprecated\. Use \fB\-\-location=global\fP
-instead\.
.RE
.P
diff --git a/deps/npm/man/man1/npm-bugs.1 b/deps/npm/man/man1/npm-bugs.1
index 1c1ec8a08e..bee4cd4d01 100644
--- a/deps/npm/man/man1/npm-bugs.1
+++ b/deps/npm/man/man1/npm-bugs.1
@@ -1,4 +1,4 @@
-.TH "NPM\-BUGS" "1" "May 2022" "" ""
+.TH "NPM\-BUGS" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-bugs\fR \- Report bugs for a package in a web browser
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-cache.1 b/deps/npm/man/man1/npm-cache.1
index 1b5e5a8437..42e1998371 100644
--- a/deps/npm/man/man1/npm-cache.1
+++ b/deps/npm/man/man1/npm-cache.1
@@ -1,4 +1,4 @@
-.TH "NPM\-CACHE" "1" "May 2022" "" ""
+.TH "NPM\-CACHE" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-cache\fR \- Manipulates packages cache
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-ci.1 b/deps/npm/man/man1/npm-ci.1
index 70182bf407..533ec91005 100644
--- a/deps/npm/man/man1/npm-ci.1
+++ b/deps/npm/man/man1/npm-ci.1
@@ -1,4 +1,4 @@
-.TH "NPM\-CI" "1" "May 2022" "" ""
+.TH "NPM\-CI" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-ci\fR \- Clean install a project
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-completion.1 b/deps/npm/man/man1/npm-completion.1
index 87eb098ce9..7b6be088ca 100644
--- a/deps/npm/man/man1/npm-completion.1
+++ b/deps/npm/man/man1/npm-completion.1
@@ -1,4 +1,4 @@
-.TH "NPM\-COMPLETION" "1" "May 2022" "" ""
+.TH "NPM\-COMPLETION" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-completion\fR \- Tab Completion for npm
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-config.1 b/deps/npm/man/man1/npm-config.1
index 88ffa9aa05..2cd7faf69b 100644
--- a/deps/npm/man/man1/npm-config.1
+++ b/deps/npm/man/man1/npm-config.1
@@ -1,4 +1,4 @@
-.TH "NPM\-CONFIG" "1" "May 2022" "" ""
+.TH "NPM\-CONFIG" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-config\fR \- Manage the npm configuration files
.SS Synopsis
@@ -117,9 +117,6 @@ Not supported by all npm commands\.
Default: false
.IP \(bu 2
Type: Boolean
-.IP \(bu 2
-DEPRECATED: \fB\-\-global\fP, \fB\-\-local\fP are deprecated\. Use \fB\-\-location=global\fP
-instead\.
.RE
.P
diff --git a/deps/npm/man/man1/npm-dedupe.1 b/deps/npm/man/man1/npm-dedupe.1
index c337c71501..3f235b273e 100644
--- a/deps/npm/man/man1/npm-dedupe.1
+++ b/deps/npm/man/man1/npm-dedupe.1
@@ -1,4 +1,4 @@
-.TH "NPM\-DEDUPE" "1" "May 2022" "" ""
+.TH "NPM\-DEDUPE" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-dedupe\fR \- Reduce duplication in the package tree
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-deprecate.1 b/deps/npm/man/man1/npm-deprecate.1
index 594b1689b7..e9ab9bae71 100644
--- a/deps/npm/man/man1/npm-deprecate.1
+++ b/deps/npm/man/man1/npm-deprecate.1
@@ -1,4 +1,4 @@
-.TH "NPM\-DEPRECATE" "1" "May 2022" "" ""
+.TH "NPM\-DEPRECATE" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-deprecate\fR \- Deprecate a version of a package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-diff.1 b/deps/npm/man/man1/npm-diff.1
index d32c343f06..753d2863e8 100644
--- a/deps/npm/man/man1/npm-diff.1
+++ b/deps/npm/man/man1/npm-diff.1
@@ -1,4 +1,4 @@
-.TH "NPM\-DIFF" "1" "May 2022" "" ""
+.TH "NPM\-DIFF" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-diff\fR \- The registry diff command
.SS Synopsis
@@ -232,9 +232,6 @@ Treat all files as text in \fBnpm diff\fP\|\.
Default: false
.IP \(bu 2
Type: Boolean
-.IP \(bu 2
-DEPRECATED: \fB\-\-global\fP, \fB\-\-local\fP are deprecated\. Use \fB\-\-location=global\fP
-instead\.
.RE
.P
diff --git a/deps/npm/man/man1/npm-dist-tag.1 b/deps/npm/man/man1/npm-dist-tag.1
index 33166e1c45..7e1c145395 100644
--- a/deps/npm/man/man1/npm-dist-tag.1
+++ b/deps/npm/man/man1/npm-dist-tag.1
@@ -1,4 +1,4 @@
-.TH "NPM\-DIST\-TAG" "1" "May 2022" "" ""
+.TH "NPM\-DIST\-TAG" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-dist-tag\fR \- Modify package distribution tags
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-docs.1 b/deps/npm/man/man1/npm-docs.1
index e7dc87e834..55ad03256b 100644
--- a/deps/npm/man/man1/npm-docs.1
+++ b/deps/npm/man/man1/npm-docs.1
@@ -1,4 +1,4 @@
-.TH "NPM\-DOCS" "1" "May 2022" "" ""
+.TH "NPM\-DOCS" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-docs\fR \- Open documentation for a package in a web browser
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-doctor.1 b/deps/npm/man/man1/npm-doctor.1
index 4c7dd20a9d..a21a8eef1b 100644
--- a/deps/npm/man/man1/npm-doctor.1
+++ b/deps/npm/man/man1/npm-doctor.1
@@ -1,4 +1,4 @@
-.TH "NPM\-DOCTOR" "1" "May 2022" "" ""
+.TH "NPM\-DOCTOR" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-doctor\fR \- Check your npm environment
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-edit.1 b/deps/npm/man/man1/npm-edit.1
index d5e4fd9398..5c95bb1053 100644
--- a/deps/npm/man/man1/npm-edit.1
+++ b/deps/npm/man/man1/npm-edit.1
@@ -1,4 +1,4 @@
-.TH "NPM\-EDIT" "1" "May 2022" "" ""
+.TH "NPM\-EDIT" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-edit\fR \- Edit an installed package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-exec.1 b/deps/npm/man/man1/npm-exec.1
index 1203e1427e..6403191e1c 100644
--- a/deps/npm/man/man1/npm-exec.1
+++ b/deps/npm/man/man1/npm-exec.1
@@ -1,4 +1,4 @@
-.TH "NPM\-EXEC" "1" "May 2022" "" ""
+.TH "NPM\-EXEC" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-exec\fR \- Run a command from a local or remote npm package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-explain.1 b/deps/npm/man/man1/npm-explain.1
index 29866d5c36..9a3eec6756 100644
--- a/deps/npm/man/man1/npm-explain.1
+++ b/deps/npm/man/man1/npm-explain.1
@@ -1,4 +1,4 @@
-.TH "NPM\-EXPLAIN" "1" "May 2022" "" ""
+.TH "NPM\-EXPLAIN" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-explain\fR \- Explain installed packages
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-explore.1 b/deps/npm/man/man1/npm-explore.1
index 266248676d..f57776e2df 100644
--- a/deps/npm/man/man1/npm-explore.1
+++ b/deps/npm/man/man1/npm-explore.1
@@ -1,4 +1,4 @@
-.TH "NPM\-EXPLORE" "1" "May 2022" "" ""
+.TH "NPM\-EXPLORE" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-explore\fR \- Browse an installed package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-find-dupes.1 b/deps/npm/man/man1/npm-find-dupes.1
index 4f1652d54b..32e036cd73 100644
--- a/deps/npm/man/man1/npm-find-dupes.1
+++ b/deps/npm/man/man1/npm-find-dupes.1
@@ -1,4 +1,4 @@
-.TH "NPM\-FIND\-DUPES" "1" "May 2022" "" ""
+.TH "NPM\-FIND\-DUPES" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-find-dupes\fR \- Find duplication in the package tree
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-fund.1 b/deps/npm/man/man1/npm-fund.1
index 44d848357d..ef77df60ce 100644
--- a/deps/npm/man/man1/npm-fund.1
+++ b/deps/npm/man/man1/npm-fund.1
@@ -1,4 +1,4 @@
-.TH "NPM\-FUND" "1" "May 2022" "" ""
+.TH "NPM\-FUND" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-fund\fR \- Retrieve funding information
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-help-search.1 b/deps/npm/man/man1/npm-help-search.1
index f4e9ec4c91..e9b7f3e34e 100644
--- a/deps/npm/man/man1/npm-help-search.1
+++ b/deps/npm/man/man1/npm-help-search.1
@@ -1,4 +1,4 @@
-.TH "NPM\-HELP\-SEARCH" "1" "May 2022" "" ""
+.TH "NPM\-HELP\-SEARCH" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-help-search\fR \- Search npm help documentation
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-help.1 b/deps/npm/man/man1/npm-help.1
index 83cb8f92d0..1c22611f8e 100644
--- a/deps/npm/man/man1/npm-help.1
+++ b/deps/npm/man/man1/npm-help.1
@@ -1,4 +1,4 @@
-.TH "NPM\-HELP" "1" "May 2022" "" ""
+.TH "NPM\-HELP" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-help\fR \- Get help on npm
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-hook.1 b/deps/npm/man/man1/npm-hook.1
index 27b8888c8c..b90d873b09 100644
--- a/deps/npm/man/man1/npm-hook.1
+++ b/deps/npm/man/man1/npm-hook.1
@@ -1,4 +1,4 @@
-.TH "NPM\-HOOK" "1" "May 2022" "" ""
+.TH "NPM\-HOOK" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-hook\fR \- Manage registry hooks
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-init.1 b/deps/npm/man/man1/npm-init.1
index 829b1b4752..51e9f42f82 100644
--- a/deps/npm/man/man1/npm-init.1
+++ b/deps/npm/man/man1/npm-init.1
@@ -1,4 +1,4 @@
-.TH "NPM\-INIT" "1" "May 2022" "" ""
+.TH "NPM\-INIT" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-init\fR \- Create a package\.json file
.SS Synopsis
@@ -286,6 +286,17 @@ 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\.
+.SS \fBworkspaces\-update\fP
+.RS 0
+.IP \(bu 2
+Default: true
+.IP \(bu 2
+Type: Boolean
+
+.RE
+.P
+If set to true, the npm cli will run an update after operations that may
+possibly change the workspaces installed to the \fBnode_modules\fP folder\.
.SS \fBinclude\-workspace\-root\fP
.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 aeddd06d14..e50f7e90ae 100644
--- a/deps/npm/man/man1/npm-install-ci-test.1
+++ b/deps/npm/man/man1/npm-install-ci-test.1
@@ -1,4 +1,4 @@
-.TH "NPM\-INSTALL\-CI\-TEST" "1" "May 2022" "" ""
+.TH "NPM\-INSTALL\-CI\-TEST" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-install-ci-test\fR \- Install a project with a clean slate and run tests
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-install-test.1 b/deps/npm/man/man1/npm-install-test.1
index e29397bf94..1e6ece0f47 100644
--- a/deps/npm/man/man1/npm-install-test.1
+++ b/deps/npm/man/man1/npm-install-test.1
@@ -1,4 +1,4 @@
-.TH "NPM\-INSTALL\-TEST" "1" "May 2022" "" ""
+.TH "NPM\-INSTALL\-TEST" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-install-test\fR \- Install package(s) and run tests
.SS Synopsis
@@ -56,9 +56,6 @@ rather than using npm's default semver range operator\.
Default: false
.IP \(bu 2
Type: Boolean
-.IP \(bu 2
-DEPRECATED: \fB\-\-global\fP, \fB\-\-local\fP are deprecated\. Use \fB\-\-location=global\fP
-instead\.
.RE
.P
diff --git a/deps/npm/man/man1/npm-install.1 b/deps/npm/man/man1/npm-install.1
index 4bb41f2d7b..9d72011781 100644
--- a/deps/npm/man/man1/npm-install.1
+++ b/deps/npm/man/man1/npm-install.1
@@ -1,4 +1,4 @@
-.TH "NPM\-INSTALL" "1" "May 2022" "" ""
+.TH "NPM\-INSTALL" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-install\fR \- Install a package
.SS Synopsis
@@ -467,9 +467,6 @@ rather than using npm's default semver range operator\.
Default: false
.IP \(bu 2
Type: Boolean
-.IP \(bu 2
-DEPRECATED: \fB\-\-global\fP, \fB\-\-local\fP are deprecated\. Use \fB\-\-location=global\fP
-instead\.
.RE
.P
diff --git a/deps/npm/man/man1/npm-link.1 b/deps/npm/man/man1/npm-link.1
index 1b982044e4..d748d16845 100644
--- a/deps/npm/man/man1/npm-link.1
+++ b/deps/npm/man/man1/npm-link.1
@@ -1,4 +1,4 @@
-.TH "NPM\-LINK" "1" "May 2022" "" ""
+.TH "NPM\-LINK" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-link\fR \- Symlink a package folder
.SS Synopsis
@@ -145,9 +145,6 @@ rather than using npm's default semver range operator\.
Default: false
.IP \(bu 2
Type: Boolean
-.IP \(bu 2
-DEPRECATED: \fB\-\-global\fP, \fB\-\-local\fP are deprecated\. Use \fB\-\-location=global\fP
-instead\.
.RE
.P
diff --git a/deps/npm/man/man1/npm-logout.1 b/deps/npm/man/man1/npm-logout.1
index 8307918100..4f37c3f7b0 100644
--- a/deps/npm/man/man1/npm-logout.1
+++ b/deps/npm/man/man1/npm-logout.1
@@ -1,4 +1,4 @@
-.TH "NPM\-LOGOUT" "1" "May 2022" "" ""
+.TH "NPM\-LOGOUT" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-logout\fR \- Log out of the registry
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1
index 1efd612984..2308cc1601 100644
--- a/deps/npm/man/man1/npm-ls.1
+++ b/deps/npm/man/man1/npm-ls.1
@@ -1,4 +1,4 @@
-.TH "NPM\-LS" "1" "May 2022" "" ""
+.TH "NPM\-LS" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-ls\fR \- List installed packages
.SS Synopsis
@@ -26,7 +26,7 @@ example, running \fBnpm ls promzard\fP in npm's source tree will show:
.P
.RS 2
.nf
-npm@8\.11\.0 /path/to/npm
+npm@8\.12\.1 /path/to/npm
└─┬ init\-package\-json@0\.0\.4
└── promzard@0\.1\.5
.fi
@@ -127,9 +127,6 @@ Output parseable results from commands that write to standard output\. For
Default: false
.IP \(bu 2
Type: Boolean
-.IP \(bu 2
-DEPRECATED: \fB\-\-global\fP, \fB\-\-local\fP are deprecated\. Use \fB\-\-location=global\fP
-instead\.
.RE
.P
diff --git a/deps/npm/man/man1/npm-org.1 b/deps/npm/man/man1/npm-org.1
index 28d623b204..b8b606c61d 100644
--- a/deps/npm/man/man1/npm-org.1
+++ b/deps/npm/man/man1/npm-org.1
@@ -1,4 +1,4 @@
-.TH "NPM\-ORG" "1" "May 2022" "" ""
+.TH "NPM\-ORG" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-org\fR \- Manage orgs
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-outdated.1 b/deps/npm/man/man1/npm-outdated.1
index 03bcf92588..3d5025e0e0 100644
--- a/deps/npm/man/man1/npm-outdated.1
+++ b/deps/npm/man/man1/npm-outdated.1
@@ -1,4 +1,4 @@
-.TH "NPM\-OUTDATED" "1" "May 2022" "" ""
+.TH "NPM\-OUTDATED" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-outdated\fR \- Check for outdated packages
.SS Synopsis
@@ -159,9 +159,6 @@ Output parseable results from commands that write to standard output\. For
Default: false
.IP \(bu 2
Type: Boolean
-.IP \(bu 2
-DEPRECATED: \fB\-\-global\fP, \fB\-\-local\fP are deprecated\. Use \fB\-\-location=global\fP
-instead\.
.RE
.P
diff --git a/deps/npm/man/man1/npm-owner.1 b/deps/npm/man/man1/npm-owner.1
index 09f488ed8e..312bf22942 100644
--- a/deps/npm/man/man1/npm-owner.1
+++ b/deps/npm/man/man1/npm-owner.1
@@ -1,4 +1,4 @@
-.TH "NPM\-OWNER" "1" "May 2022" "" ""
+.TH "NPM\-OWNER" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-owner\fR \- Manage package owners
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-pack.1 b/deps/npm/man/man1/npm-pack.1
index 94a0df9efc..028fab69b1 100644
--- a/deps/npm/man/man1/npm-pack.1
+++ b/deps/npm/man/man1/npm-pack.1
@@ -1,4 +1,4 @@
-.TH "NPM\-PACK" "1" "May 2022" "" ""
+.TH "NPM\-PACK" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-pack\fR \- Create a tarball from a package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-ping.1 b/deps/npm/man/man1/npm-ping.1
index bf065b16f1..643504f3d9 100644
--- a/deps/npm/man/man1/npm-ping.1
+++ b/deps/npm/man/man1/npm-ping.1
@@ -1,4 +1,4 @@
-.TH "NPM\-PING" "1" "May 2022" "" ""
+.TH "NPM\-PING" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-ping\fR \- Ping npm registry
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-pkg.1 b/deps/npm/man/man1/npm-pkg.1
index 1307a6664b..7ffaf09cca 100644
--- a/deps/npm/man/man1/npm-pkg.1
+++ b/deps/npm/man/man1/npm-pkg.1
@@ -1,4 +1,4 @@
-.TH "NPM\-PKG" "1" "May 2022" "" ""
+.TH "NPM\-PKG" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-pkg\fR \- Manages your package\.json
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-prefix.1 b/deps/npm/man/man1/npm-prefix.1
index e053f315ff..b209abac6c 100644
--- a/deps/npm/man/man1/npm-prefix.1
+++ b/deps/npm/man/man1/npm-prefix.1
@@ -1,4 +1,4 @@
-.TH "NPM\-PREFIX" "1" "May 2022" "" ""
+.TH "NPM\-PREFIX" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-prefix\fR \- Display prefix
.SS Synopsis
@@ -40,9 +40,6 @@ npm prefix \-g
Default: false
.IP \(bu 2
Type: Boolean
-.IP \(bu 2
-DEPRECATED: \fB\-\-global\fP, \fB\-\-local\fP are deprecated\. Use \fB\-\-location=global\fP
-instead\.
.RE
.P
diff --git a/deps/npm/man/man1/npm-profile.1 b/deps/npm/man/man1/npm-profile.1
index a7a1733b63..ffdfbb5af5 100644
--- a/deps/npm/man/man1/npm-profile.1
+++ b/deps/npm/man/man1/npm-profile.1
@@ -1,4 +1,4 @@
-.TH "NPM\-PROFILE" "1" "May 2022" "" ""
+.TH "NPM\-PROFILE" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-profile\fR \- Change settings on your registry profile
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-prune.1 b/deps/npm/man/man1/npm-prune.1
index a0d2379320..1f91bd1f23 100644
--- a/deps/npm/man/man1/npm-prune.1
+++ b/deps/npm/man/man1/npm-prune.1
@@ -1,4 +1,4 @@
-.TH "NPM\-PRUNE" "1" "May 2022" "" ""
+.TH "NPM\-PRUNE" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-prune\fR \- Remove extraneous packages
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-publish.1 b/deps/npm/man/man1/npm-publish.1
index 241f7cffd2..dc914cf75c 100644
--- a/deps/npm/man/man1/npm-publish.1
+++ b/deps/npm/man/man1/npm-publish.1
@@ -1,4 +1,4 @@
-.TH "NPM\-PUBLISH" "1" "May 2022" "" ""
+.TH "NPM\-PUBLISH" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-publish\fR \- Publish a package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-rebuild.1 b/deps/npm/man/man1/npm-rebuild.1
index f3c51a34e4..8d6d90b10f 100644
--- a/deps/npm/man/man1/npm-rebuild.1
+++ b/deps/npm/man/man1/npm-rebuild.1
@@ -1,4 +1,4 @@
-.TH "NPM\-REBUILD" "1" "May 2022" "" ""
+.TH "NPM\-REBUILD" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-rebuild\fR \- Rebuild a package
.SS Synopsis
@@ -28,9 +28,6 @@ will be rebuilt\.
Default: false
.IP \(bu 2
Type: Boolean
-.IP \(bu 2
-DEPRECATED: \fB\-\-global\fP, \fB\-\-local\fP are deprecated\. Use \fB\-\-location=global\fP
-instead\.
.RE
.P
diff --git a/deps/npm/man/man1/npm-repo.1 b/deps/npm/man/man1/npm-repo.1
index 7b9993a2fd..453434dbb8 100644
--- a/deps/npm/man/man1/npm-repo.1
+++ b/deps/npm/man/man1/npm-repo.1
@@ -1,4 +1,4 @@
-.TH "NPM\-REPO" "1" "May 2022" "" ""
+.TH "NPM\-REPO" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-repo\fR \- Open package repository page in the browser
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-restart.1 b/deps/npm/man/man1/npm-restart.1
index 9866fa5792..2f99ee51ed 100644
--- a/deps/npm/man/man1/npm-restart.1
+++ b/deps/npm/man/man1/npm-restart.1
@@ -1,4 +1,4 @@
-.TH "NPM\-RESTART" "1" "May 2022" "" ""
+.TH "NPM\-RESTART" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-restart\fR \- Restart a package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-root.1 b/deps/npm/man/man1/npm-root.1
index a9143ebe88..3cda79f406 100644
--- a/deps/npm/man/man1/npm-root.1
+++ b/deps/npm/man/man1/npm-root.1
@@ -1,4 +1,4 @@
-.TH "NPM\-ROOT" "1" "May 2022" "" ""
+.TH "NPM\-ROOT" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-root\fR \- Display npm root
.SS Synopsis
@@ -29,9 +29,6 @@ echo "Global packages installed in: ${global_node_modules}"
Default: false
.IP \(bu 2
Type: Boolean
-.IP \(bu 2
-DEPRECATED: \fB\-\-global\fP, \fB\-\-local\fP are deprecated\. Use \fB\-\-location=global\fP
-instead\.
.RE
.P
diff --git a/deps/npm/man/man1/npm-run-script.1 b/deps/npm/man/man1/npm-run-script.1
index b9e2afb269..fc26c71e03 100644
--- a/deps/npm/man/man1/npm-run-script.1
+++ b/deps/npm/man/man1/npm-run-script.1
@@ -1,4 +1,4 @@
-.TH "NPM\-RUN\-SCRIPT" "1" "May 2022" "" ""
+.TH "NPM\-RUN\-SCRIPT" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-run-script\fR \- Run arbitrary package scripts
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-search.1 b/deps/npm/man/man1/npm-search.1
index 51fa43b80e..19bebf6c25 100644
--- a/deps/npm/man/man1/npm-search.1
+++ b/deps/npm/man/man1/npm-search.1
@@ -1,4 +1,4 @@
-.TH "NPM\-SEARCH" "1" "May 2022" "" ""
+.TH "NPM\-SEARCH" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-search\fR \- Search for packages
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-set-script.1 b/deps/npm/man/man1/npm-set-script.1
index 85106d95fb..d6c6c36f21 100644
--- a/deps/npm/man/man1/npm-set-script.1
+++ b/deps/npm/man/man1/npm-set-script.1
@@ -1,4 +1,4 @@
-.TH "NPM\-SET\-SCRIPT" "1" "May 2022" "" ""
+.TH "NPM\-SET\-SCRIPT" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-set-script\fR \- Set tasks in the scripts section of package\.json
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-shrinkwrap.1 b/deps/npm/man/man1/npm-shrinkwrap.1
index fa87fb7e72..bcfcae2fcc 100644
--- a/deps/npm/man/man1/npm-shrinkwrap.1
+++ b/deps/npm/man/man1/npm-shrinkwrap.1
@@ -1,4 +1,4 @@
-.TH "NPM\-SHRINKWRAP" "1" "May 2022" "" ""
+.TH "NPM\-SHRINKWRAP" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-shrinkwrap\fR \- Lock down dependency versions for publication
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-star.1 b/deps/npm/man/man1/npm-star.1
index 57f9c5d361..2ccd4046e4 100644
--- a/deps/npm/man/man1/npm-star.1
+++ b/deps/npm/man/man1/npm-star.1
@@ -1,4 +1,4 @@
-.TH "NPM\-STAR" "1" "May 2022" "" ""
+.TH "NPM\-STAR" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-star\fR \- Mark your favorite packages
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-stars.1 b/deps/npm/man/man1/npm-stars.1
index aa290760aa..91fcb6560b 100644
--- a/deps/npm/man/man1/npm-stars.1
+++ b/deps/npm/man/man1/npm-stars.1
@@ -1,4 +1,4 @@
-.TH "NPM\-STARS" "1" "May 2022" "" ""
+.TH "NPM\-STARS" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-stars\fR \- View packages marked as favorites
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-start.1 b/deps/npm/man/man1/npm-start.1
index f45e4a2a24..589ecea4a2 100644
--- a/deps/npm/man/man1/npm-start.1
+++ b/deps/npm/man/man1/npm-start.1
@@ -1,4 +1,4 @@
-.TH "NPM\-START" "1" "May 2022" "" ""
+.TH "NPM\-START" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-start\fR \- Start a package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-stop.1 b/deps/npm/man/man1/npm-stop.1
index a7bb25b3a4..19695cc0e0 100644
--- a/deps/npm/man/man1/npm-stop.1
+++ b/deps/npm/man/man1/npm-stop.1
@@ -1,4 +1,4 @@
-.TH "NPM\-STOP" "1" "May 2022" "" ""
+.TH "NPM\-STOP" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-stop\fR \- Stop a package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-team.1 b/deps/npm/man/man1/npm-team.1
index 05f508427a..b56e3fc786 100644
--- a/deps/npm/man/man1/npm-team.1
+++ b/deps/npm/man/man1/npm-team.1
@@ -1,4 +1,4 @@
-.TH "NPM\-TEAM" "1" "May 2022" "" ""
+.TH "NPM\-TEAM" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-team\fR \- Manage organization teams and team memberships
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-test.1 b/deps/npm/man/man1/npm-test.1
index 590d9519df..fbbe80d263 100644
--- a/deps/npm/man/man1/npm-test.1
+++ b/deps/npm/man/man1/npm-test.1
@@ -1,4 +1,4 @@
-.TH "NPM\-TEST" "1" "May 2022" "" ""
+.TH "NPM\-TEST" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-test\fR \- Test a package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-token.1 b/deps/npm/man/man1/npm-token.1
index f2e32ea27f..0292cf8013 100644
--- a/deps/npm/man/man1/npm-token.1
+++ b/deps/npm/man/man1/npm-token.1
@@ -1,4 +1,4 @@
-.TH "NPM\-TOKEN" "1" "May 2022" "" ""
+.TH "NPM\-TOKEN" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-token\fR \- Manage your authentication tokens
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-uninstall.1 b/deps/npm/man/man1/npm-uninstall.1
index d918034ba1..7ffd372951 100644
--- a/deps/npm/man/man1/npm-uninstall.1
+++ b/deps/npm/man/man1/npm-uninstall.1
@@ -1,4 +1,4 @@
-.TH "NPM\-UNINSTALL" "1" "May 2022" "" ""
+.TH "NPM\-UNINSTALL" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-uninstall\fR \- Remove a package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-unpublish.1 b/deps/npm/man/man1/npm-unpublish.1
index 2019842279..ff538299e7 100644
--- a/deps/npm/man/man1/npm-unpublish.1
+++ b/deps/npm/man/man1/npm-unpublish.1
@@ -1,4 +1,4 @@
-.TH "NPM\-UNPUBLISH" "1" "May 2022" "" ""
+.TH "NPM\-UNPUBLISH" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-unpublish\fR \- Remove a package from the registry
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-unstar.1 b/deps/npm/man/man1/npm-unstar.1
index 1fa7b88c64..d71bfff266 100644
--- a/deps/npm/man/man1/npm-unstar.1
+++ b/deps/npm/man/man1/npm-unstar.1
@@ -1,4 +1,4 @@
-.TH "NPM\-UNSTAR" "1" "May 2022" "" ""
+.TH "NPM\-UNSTAR" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-unstar\fR \- Remove an item from your favorite packages
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-update.1 b/deps/npm/man/man1/npm-update.1
index aebe0c8895..df54155942 100644
--- a/deps/npm/man/man1/npm-update.1
+++ b/deps/npm/man/man1/npm-update.1
@@ -1,4 +1,4 @@
-.TH "NPM\-UPDATE" "1" "May 2022" "" ""
+.TH "NPM\-UPDATE" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-update\fR \- Update packages
.SS Synopsis
@@ -180,9 +180,6 @@ Will also prevent writing to \fBpackage\-lock\.json\fP if set to \fBfalse\fP\|\.
Default: false
.IP \(bu 2
Type: Boolean
-.IP \(bu 2
-DEPRECATED: \fB\-\-global\fP, \fB\-\-local\fP are deprecated\. Use \fB\-\-location=global\fP
-instead\.
.RE
.P
diff --git a/deps/npm/man/man1/npm-version.1 b/deps/npm/man/man1/npm-version.1
index 444c070975..4971764323 100644
--- a/deps/npm/man/man1/npm-version.1
+++ b/deps/npm/man/man1/npm-version.1
@@ -1,4 +1,4 @@
-.TH "NPM\-VERSION" "1" "May 2022" "" ""
+.TH "NPM\-VERSION" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-version\fR \- Bump a package version
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-view.1 b/deps/npm/man/man1/npm-view.1
index b77c770566..efba9ebd6b 100644
--- a/deps/npm/man/man1/npm-view.1
+++ b/deps/npm/man/man1/npm-view.1
@@ -1,4 +1,4 @@
-.TH "NPM\-VIEW" "1" "May 2022" "" ""
+.TH "NPM\-VIEW" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-view\fR \- View registry info
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-whoami.1 b/deps/npm/man/man1/npm-whoami.1
index d79c448a7a..726153e012 100644
--- a/deps/npm/man/man1/npm-whoami.1
+++ b/deps/npm/man/man1/npm-whoami.1
@@ -1,4 +1,4 @@
-.TH "NPM\-WHOAMI" "1" "May 2022" "" ""
+.TH "NPM\-WHOAMI" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm-whoami\fR \- Display npm username
.SS Synopsis
diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1
index 6ac72ad35c..45db3c9e53 100644
--- a/deps/npm/man/man1/npm.1
+++ b/deps/npm/man/man1/npm.1
@@ -1,10 +1,10 @@
-.TH "NPM" "1" "May 2022" "" ""
+.TH "NPM" "1" "June 2022" "" ""
.SH "NAME"
\fBnpm\fR \- javascript package manager
.SS Synopsis
.SS Version
.P
-8\.11\.0
+8\.12\.1
.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 51634bc8e8..1f8c292bc5 100644
--- a/deps/npm/man/man1/npx.1
+++ b/deps/npm/man/man1/npx.1
@@ -1,4 +1,4 @@
-.TH "NPX" "1" "May 2022" "" ""
+.TH "NPX" "1" "June 2022" "" ""
.SH "NAME"
\fBnpx\fR \- Run a command from a local or remote npm package
.SS Synopsis
diff --git a/deps/npm/man/man5/folders.5 b/deps/npm/man/man5/folders.5
index 74403f97bf..925373df6d 100644
--- a/deps/npm/man/man5/folders.5
+++ b/deps/npm/man/man5/folders.5
@@ -1,4 +1,4 @@
-.TH "FOLDERS" "5" "May 2022" "" ""
+.TH "FOLDERS" "5" "June 2022" "" ""
.SH "NAME"
\fBfolders\fR \- Folder Structures Used by npm
.SS Description
diff --git a/deps/npm/man/man5/install.5 b/deps/npm/man/man5/install.5
index 40d8a825c9..e587d17aaf 100644
--- a/deps/npm/man/man5/install.5
+++ b/deps/npm/man/man5/install.5
@@ -1,4 +1,4 @@
-.TH "INSTALL" "5" "May 2022" "" ""
+.TH "INSTALL" "5" "June 2022" "" ""
.SH "NAME"
\fBinstall\fR \- Download and install node and npm
.SS Description
diff --git a/deps/npm/man/man5/npm-shrinkwrap-json.5 b/deps/npm/man/man5/npm-shrinkwrap-json.5
index 2928a9bae6..783976fb6c 100644
--- a/deps/npm/man/man5/npm-shrinkwrap-json.5
+++ b/deps/npm/man/man5/npm-shrinkwrap-json.5
@@ -1,4 +1,4 @@
-.TH "NPM\-SHRINKWRAP\.JSON" "5" "May 2022" "" ""
+.TH "NPM\-SHRINKWRAP\.JSON" "5" "June 2022" "" ""
.SH "NAME"
\fBnpm-shrinkwrap.json\fR \- A publishable lockfile
.SS Description
diff --git a/deps/npm/man/man5/npmrc.5 b/deps/npm/man/man5/npmrc.5
index 429bcc3875..cce0b9201c 100644
--- a/deps/npm/man/man5/npmrc.5
+++ b/deps/npm/man/man5/npmrc.5
@@ -1,4 +1,4 @@
-.TH "NPMRC" "5" "May 2022" "" ""
+.TH "NPMRC" "5" "June 2022" "" ""
.SH "NAME"
\fBnpmrc\fR \- The npm config files
.SS Description
diff --git a/deps/npm/man/man5/package-json.5 b/deps/npm/man/man5/package-json.5
index 4715650974..17c4c1e322 100644
--- a/deps/npm/man/man5/package-json.5
+++ b/deps/npm/man/man5/package-json.5
@@ -1,4 +1,4 @@
-.TH "PACKAGE\.JSON" "5" "May 2022" "" ""
+.TH "PACKAGE\.JSON" "5" "June 2022" "" ""
.SH "NAME"
\fBpackage.json\fR \- Specifics of npm's package\.json handling
.SS Description
@@ -721,6 +721,34 @@ git+https://isaacs@github\.com/npm/cli\.git
git://github\.com/npm/cli\.git#v1\.0\.27
.fi
.RE
+.P
+When installing from a \fBgit\fP repository, the presence of certain fields in the
+\fBpackage\.json\fP will cause npm to believe it needs to perform a build\. To do so
+your repository will be cloned into a temporary directory, all of its deps
+installed, relevant scripts run, and the resulting directory packed and
+installed\.
+.P
+This flow will occur if your git dependency uses \fBworkspaces\fP, or if any of the
+following scripts are present:
+.RS 0
+.IP \(bu 2
+\fBbuild\fP
+.IP \(bu 2
+\fBprepare\fP
+.IP \(bu 2
+\fBprepack\fP
+.IP \(bu 2
+\fBpreinstall\fP
+.IP \(bu 2
+\fBinstall\fP
+.IP \(bu 2
+\fBpostinstall\fP
+
+.RE
+.P
+If your git repository includes pre\-built artifacts, you will likely want to
+make sure that none of the above scripts are defined, or your dependency
+will be rebuilt for every installation\.
.SS GitHub URLs
.P
As of version 1\.1\.65, you can refer to GitHub urls as just "foo":
diff --git a/deps/npm/man/man5/package-lock-json.5 b/deps/npm/man/man5/package-lock-json.5
index 569d9c5ae6..9e17a85f75 100644
--- a/deps/npm/man/man5/package-lock-json.5
+++ b/deps/npm/man/man5/package-lock-json.5
@@ -1,4 +1,4 @@
-.TH "PACKAGE\-LOCK\.JSON" "5" "May 2022" "" ""
+.TH "PACKAGE\-LOCK\.JSON" "5" "June 2022" "" ""
.SH "NAME"
\fBpackage-lock.json\fR \- A manifestation of the manifest
.SS Description
diff --git a/deps/npm/man/man7/config.7 b/deps/npm/man/man7/config.7
index e3dc9a9952..70f6742b10 100644
--- a/deps/npm/man/man7/config.7
+++ b/deps/npm/man/man7/config.7
@@ -1,4 +1,4 @@
-.TH "CONFIG" "7" "May 2022" "" ""
+.TH "CONFIG" "7" "June 2022" "" ""
.SH "NAME"
\fBconfig\fR \- More than you probably want to know about npm configuration
.SS Description
@@ -739,6 +739,28 @@ Type: Boolean
.P
Tag the commit when using the \fBnpm version\fP command\. Setting this to false
results in no commit being made at all\.
+.SS \fBglobal\fP
+.RS 0
+.IP \(bu 2
+Default: false
+.IP \(bu 2
+Type: Boolean
+
+.RE
+.P
+Operates in "global" mode, so that packages are installed into the \fBprefix\fP
+folder instead of the current working directory\. See
+npm help folders for more on the differences in behavior\.
+.RS 0
+.IP \(bu 2
+packages are installed into the \fB{prefix}/lib/node_modules\fP folder, instead
+of the current working directory\.
+.IP \(bu 2
+bin files are linked to \fB{prefix}/bin\fP
+.IP \(bu 2
+man pages are linked to \fB{prefix}/share/man\fP
+
+.RE
.SS \fBglobal\-style\fP
.RS 0
.IP \(bu 2
@@ -1975,14 +1997,16 @@ When set to \fBdev\fP or \fBdevelopment\fP, this is an alias for \fB\-\-include=
.IP \(bu 2
Default: "legacy"
.IP \(bu 2
-Type: "legacy", "sso", "saml", or "oauth"
+Type: "legacy", "webauthn", "sso", "saml", or "oauth"
.IP \(bu 2
-DEPRECATED: This method of SSO/SAML/OAuth is deprecated and will be removed
-in a future version of npm in favor of web\-based login\.
+DEPRECATED: The SSO/SAML/OAuth methods are deprecated and will be removed in
+a future version of npm in favor of web\-based login\.
.RE
.P
What authentication strategy to use with \fBadduser\fP/\fBlogin\fP\|\.
+.P
+Pass \fBwebauthn\fP to use a web\-based login\.
.SS \fBcache\-max\fP
.RS 0
.IP \(bu 2
@@ -2019,31 +2043,6 @@ DEPRECATED: Please use \-\-include=dev instead\.
.RE
.P
Alias for \fB\-\-include=dev\fP\|\.
-.SS \fBglobal\fP
-.RS 0
-.IP \(bu 2
-Default: false
-.IP \(bu 2
-Type: Boolean
-.IP \(bu 2
-DEPRECATED: \fB\-\-global\fP, \fB\-\-local\fP are deprecated\. Use \fB\-\-location=global\fP
-instead\.
-
-.RE
-.P
-Operates in "global" mode, so that packages are installed into the \fBprefix\fP
-folder instead of the current working directory\. See
-npm help folders for more on the differences in behavior\.
-.RS 0
-.IP \(bu 2
-packages are installed into the \fB{prefix}/lib/node_modules\fP folder, instead
-of the current working directory\.
-.IP \(bu 2
-bin files are linked to \fB{prefix}/bin\fP
-.IP \(bu 2
-man pages are linked to \fB{prefix}/share/man\fP
-
-.RE
.SS \fBinit\.author\.email\fP
.RS 0
.IP \(bu 2
diff --git a/deps/npm/man/man7/developers.7 b/deps/npm/man/man7/developers.7
index 12e9b535fc..e5c163c680 100644
--- a/deps/npm/man/man7/developers.7
+++ b/deps/npm/man/man7/developers.7
@@ -1,4 +1,4 @@
-.TH "DEVELOPERS" "7" "May 2022" "" ""
+.TH "DEVELOPERS" "7" "June 2022" "" ""
.SH "NAME"
\fBdevelopers\fR \- Developer Guide
.SS Description
diff --git a/deps/npm/man/man7/logging.7 b/deps/npm/man/man7/logging.7
index ea0a7a8f18..821edc2b03 100644
--- a/deps/npm/man/man7/logging.7
+++ b/deps/npm/man/man7/logging.7
@@ -1,4 +1,4 @@
-.TH "LOGGING" "7" "May 2022" "" ""
+.TH "LOGGING" "7" "June 2022" "" ""
.SH "NAME"
\fBLogging\fR \- Why, What & How We Log
.SS Description
diff --git a/deps/npm/man/man7/orgs.7 b/deps/npm/man/man7/orgs.7
index 84c949949d..c713fb501c 100644
--- a/deps/npm/man/man7/orgs.7
+++ b/deps/npm/man/man7/orgs.7
@@ -1,4 +1,4 @@
-.TH "ORGS" "7" "May 2022" "" ""
+.TH "ORGS" "7" "June 2022" "" ""
.SH "NAME"
\fBorgs\fR \- Working with Teams & Orgs
.SS Description
diff --git a/deps/npm/man/man7/registry.7 b/deps/npm/man/man7/registry.7
index eff3f31ab6..2452816cff 100644
--- a/deps/npm/man/man7/registry.7
+++ b/deps/npm/man/man7/registry.7
@@ -1,4 +1,4 @@
-.TH "REGISTRY" "7" "May 2022" "" ""
+.TH "REGISTRY" "7" "June 2022" "" ""
.SH "NAME"
\fBregistry\fR \- The JavaScript Package Registry
.SS Description
diff --git a/deps/npm/man/man7/removal.7 b/deps/npm/man/man7/removal.7
index 27bb1de4c9..5896b1f07a 100644
--- a/deps/npm/man/man7/removal.7
+++ b/deps/npm/man/man7/removal.7
@@ -1,4 +1,4 @@
-.TH "REMOVAL" "7" "May 2022" "" ""
+.TH "REMOVAL" "7" "June 2022" "" ""
.SH "NAME"
\fBremoval\fR \- Cleaning the Slate
.SS Synopsis
diff --git a/deps/npm/man/man7/scope.7 b/deps/npm/man/man7/scope.7
index 5d4f0e7270..e519a2b432 100644
--- a/deps/npm/man/man7/scope.7
+++ b/deps/npm/man/man7/scope.7
@@ -1,4 +1,4 @@
-.TH "SCOPE" "7" "May 2022" "" ""
+.TH "SCOPE" "7" "June 2022" "" ""
.SH "NAME"
\fBscope\fR \- Scoped packages
.SS Description
diff --git a/deps/npm/man/man7/scripts.7 b/deps/npm/man/man7/scripts.7
index 2ced12c63d..945cb86e90 100644
--- a/deps/npm/man/man7/scripts.7
+++ b/deps/npm/man/man7/scripts.7
@@ -1,4 +1,4 @@
-.TH "SCRIPTS" "7" "May 2022" "" ""
+.TH "SCRIPTS" "7" "June 2022" "" ""
.SH "NAME"
\fBscripts\fR \- How npm handles the "scripts" field
.SS Description
@@ -290,6 +290,16 @@ will default the \fBstart\fP command to \fBnode server\.js\fP\|\. \fBprestart\f
\fBposttest\fP
.RE
+.SS npm help \fBversion\fP
+.RS 0
+.IP \(bu 2
+\fBpreversion\fP
+.IP \(bu 2
+\fBversion\fP
+.IP \(bu 2
+\fBpostversion\fP
+
+.RE
.SS A Note on a lack of npm help \fBuninstall\fP scripts
.P
While npm v6 had \fBuninstall\fP lifecycle scripts, npm v7 does not\. Removal of a package can happen for a wide variety of reasons, and there's no clear way to currently give the script enough context to be useful\.
diff --git a/deps/npm/man/man7/workspaces.7 b/deps/npm/man/man7/workspaces.7
index 494b406862..16460caa95 100644
--- a/deps/npm/man/man7/workspaces.7
+++ b/deps/npm/man/man7/workspaces.7
@@ -1,4 +1,4 @@
-.TH "WORKSPACES" "7" "May 2022" "" ""
+.TH "WORKSPACES" "7" "June 2022" "" ""
.SH "NAME"
\fBworkspaces\fR \- Working with workspaces
.SS Description
diff --git a/deps/npm/node_modules/@npmcli/arborist/README.md b/deps/npm/node_modules/@npmcli/arborist/README.md
index e4a58239a0..81d79cbf30 100644
--- a/deps/npm/node_modules/@npmcli/arborist/README.md
+++ b/deps/npm/node_modules/@npmcli/arborist/README.md
@@ -9,7 +9,7 @@ Inspect and manage `node_modules` trees.
![a tree with the word ARBORIST superimposed on it](https://raw.githubusercontent.com/npm/arborist/main/docs/logo.svg?sanitize=true)
There's more documentation [in the docs
-folder](https://github.com/npm/arborist/tree/main/docs).
+folder](https://github.com/npm/cli/tree/latest/workspaces/arborist/docs).
## USAGE
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/edge.js b/deps/npm/node_modules/@npmcli/arborist/lib/edge.js
index d72f312569..a04404f226 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/edge.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/edge.js
@@ -92,7 +92,12 @@ class Edge {
return false
}
- return depValid(node, this.spec, this.accept, this.from)
+ // NOTE: this condition means we explicitly do not support overriding
+ // bundled or shrinkwrapped dependencies
+ const spec = (node.hasShrinkwrap || node.inShrinkwrap || node.inBundle)
+ ? this.rawSpec
+ : this.spec
+ return depValid(node, spec, this.accept, this.from)
}
explain (seen = []) {
diff --git a/deps/npm/node_modules/@npmcli/arborist/package.json b/deps/npm/node_modules/@npmcli/arborist/package.json
index e6d2d9613c..baae74e25a 100644
--- a/deps/npm/node_modules/@npmcli/arborist/package.json
+++ b/deps/npm/node_modules/@npmcli/arborist/package.json
@@ -1,6 +1,6 @@
{
"name": "@npmcli/arborist",
- "version": "5.2.0",
+ "version": "5.2.1",
"description": "Manage node_modules trees",
"dependencies": {
"@isaacs/string-locale-compare": "^1.1.0",
diff --git a/deps/npm/node_modules/glob/common.js b/deps/npm/node_modules/glob/common.js
index fc193ee6fb..e094f75047 100644
--- a/deps/npm/node_modules/glob/common.js
+++ b/deps/npm/node_modules/glob/common.js
@@ -13,7 +13,7 @@ function ownProp (obj, field) {
var fs = require("fs")
var path = require("path")
var minimatch = require("minimatch")
-var isAbsolute = require("path-is-absolute")
+var isAbsolute = require("path").isAbsolute
var Minimatch = minimatch.Minimatch
function alphasort (a, b) {
@@ -88,7 +88,7 @@ function setopts (self, pattern, options) {
self.changedCwd = false
var cwd = process.cwd()
if (!ownProp(options, "cwd"))
- self.cwd = cwd
+ self.cwd = path.resolve(cwd)
else {
self.cwd = path.resolve(options.cwd)
self.changedCwd = self.cwd !== cwd
@@ -96,16 +96,18 @@ function setopts (self, pattern, options) {
self.root = options.root || path.resolve(self.cwd, "/")
self.root = path.resolve(self.root)
- if (process.platform === "win32")
- self.root = self.root.replace(/\\/g, "/")
// TODO: is an absolute `cwd` supposed to be resolved against `root`?
// e.g. { cwd: '/test', root: __dirname } === path.join(__dirname, '/test')
self.cwdAbs = isAbsolute(self.cwd) ? self.cwd : makeAbs(self, self.cwd)
- if (process.platform === "win32")
- self.cwdAbs = self.cwdAbs.replace(/\\/g, "/")
self.nomount = !!options.nomount
+ if (process.platform === "win32") {
+ self.root = self.root.replace(/\\/g, "/")
+ self.cwd = self.cwd.replace(/\\/g, "/")
+ self.cwdAbs = self.cwdAbs.replace(/\\/g, "/")
+ }
+
// disable comments and negation in Minimatch.
// Note that they are not supported in Glob itself anyway.
options.nonegate = true
diff --git a/deps/npm/node_modules/glob/glob.js b/deps/npm/node_modules/glob/glob.js
index 37a4d7e607..2112a957dc 100644
--- a/deps/npm/node_modules/glob/glob.js
+++ b/deps/npm/node_modules/glob/glob.js
@@ -47,7 +47,7 @@ var inherits = require('inherits')
var EE = require('events').EventEmitter
var path = require('path')
var assert = require('assert')
-var isAbsolute = require('path-is-absolute')
+var isAbsolute = require('path').isAbsolute
var globSync = require('./sync.js')
var common = require('./common.js')
var setopts = common.setopts
diff --git a/deps/npm/node_modules/glob/package.json b/deps/npm/node_modules/glob/package.json
index 54940cbeb4..5134253e32 100644
--- a/deps/npm/node_modules/glob/package.json
+++ b/deps/npm/node_modules/glob/package.json
@@ -2,7 +2,7 @@
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
"name": "glob",
"description": "a little globber",
- "version": "8.0.1",
+ "version": "8.0.3",
"repository": {
"type": "git",
"url": "git://github.com/isaacs/node-glob.git"
@@ -21,8 +21,7 @@
"inflight": "^1.0.4",
"inherits": "2",
"minimatch": "^5.0.1",
- "once": "^1.3.0",
- "path-is-absolute": "^1.0.0"
+ "once": "^1.3.0"
},
"devDependencies": {
"memfs": "^3.2.0",
diff --git a/deps/npm/node_modules/glob/sync.js b/deps/npm/node_modules/glob/sync.js
index c705a9c029..af4600dd59 100644
--- a/deps/npm/node_modules/glob/sync.js
+++ b/deps/npm/node_modules/glob/sync.js
@@ -8,7 +8,7 @@ var Glob = require('./glob.js').Glob
var util = require('util')
var path = require('path')
var assert = require('assert')
-var isAbsolute = require('path-is-absolute')
+var isAbsolute = require('path').isAbsolute
var common = require('./common.js')
var setopts = common.setopts
var ownProp = common.ownProp
@@ -48,7 +48,7 @@ function GlobSync (pattern, options) {
}
GlobSync.prototype._finish = function () {
- assert(this instanceof GlobSync)
+ assert.ok(this instanceof GlobSync)
if (this.realpath) {
var self = this
this.matches.forEach(function (matchset, index) {
@@ -72,7 +72,7 @@ GlobSync.prototype._finish = function () {
GlobSync.prototype._process = function (pattern, index, inGlobStar) {
- assert(this instanceof GlobSync)
+ assert.ok(this instanceof GlobSync)
// Get the first [n] parts of pattern that are all strings.
var n = 0
diff --git a/deps/npm/node_modules/libnpmexec/lib/index.js b/deps/npm/node_modules/libnpmexec/lib/index.js
index fbe5c5520c..dfe7560120 100644
--- a/deps/npm/node_modules/libnpmexec/lib/index.js
+++ b/deps/npm/node_modules/libnpmexec/lib/index.js
@@ -166,7 +166,7 @@ const exec = async (opts) => {
const add = manis
.filter(mani => !mani[_localManifest])
.filter(filterMissingPackagesFromInstallDir)
- .map(mani => mani._from)
+ .map(mani => mani._id || mani._from)
.sort((a, b) => a.localeCompare(b, 'en'))
// no need to install if already present
diff --git a/deps/npm/node_modules/libnpmexec/package.json b/deps/npm/node_modules/libnpmexec/package.json
index 9fe45c7ef6..dfe40b0d9f 100644
--- a/deps/npm/node_modules/libnpmexec/package.json
+++ b/deps/npm/node_modules/libnpmexec/package.json
@@ -1,6 +1,6 @@
{
"name": "libnpmexec",
- "version": "4.0.5",
+ "version": "4.0.6",
"files": [
"bin/",
"lib/"
diff --git a/deps/npm/node_modules/make-fetch-happen/lib/remote.js b/deps/npm/node_modules/make-fetch-happen/lib/remote.js
index 763fc0d488..068c73a8a7 100644
--- a/deps/npm/node_modules/make-fetch-happen/lib/remote.js
+++ b/deps/npm/node_modules/make-fetch-happen/lib/remote.js
@@ -52,7 +52,11 @@ const remoteFetch = (request, options) => {
if (_opts.integrity && res.status === 200) {
// we got a 200 response and the user has specified an expected
// integrity value, so wrap the response in an ssri stream to verify it
- const integrityStream = ssri.integrityStream({ integrity: _opts.integrity })
+ const integrityStream = ssri.integrityStream({
+ algorithms: _opts.algorithms,
+ integrity: _opts.integrity,
+ size: _opts.size,
+ })
const pipeline = new CachingMinipassPipeline({
events: ['integrity', 'size'],
}, res.body, integrityStream)
diff --git a/deps/npm/node_modules/make-fetch-happen/package.json b/deps/npm/node_modules/make-fetch-happen/package.json
index 2e6153b99f..e3d42bb211 100644
--- a/deps/npm/node_modules/make-fetch-happen/package.json
+++ b/deps/npm/node_modules/make-fetch-happen/package.json
@@ -1,6 +1,6 @@
{
"name": "make-fetch-happen",
- "version": "10.1.5",
+ "version": "10.1.6",
"description": "Opinionated, caching, retrying fetch client",
"main": "lib/index.js",
"files": [
@@ -69,7 +69,8 @@
"tap": {
"color": 1,
"files": "test/*.js",
- "check-coverage": true
+ "check-coverage": true,
+ "timeout": 60
},
"templateOSS": {
"//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",
diff --git a/deps/npm/node_modules/minimatch/minimatch.js b/deps/npm/node_modules/minimatch/minimatch.js
index f3b491dd10..71c96a1fb7 100644
--- a/deps/npm/node_modules/minimatch/minimatch.js
+++ b/deps/npm/node_modules/minimatch/minimatch.js
@@ -168,6 +168,11 @@ class Minimatch {
this.options = options
this.set = []
this.pattern = pattern
+ this.windowsPathsNoEscape = !!options.windowsPathsNoEscape ||
+ options.allowWindowsEscape === false
+ if (this.windowsPathsNoEscape) {
+ this.pattern = this.pattern.replace(/\\/g, '/')
+ }
this.regexp = null
this.negate = false
this.comment = false
diff --git a/deps/npm/node_modules/minimatch/package.json b/deps/npm/node_modules/minimatch/package.json
index 2cc856968c..8e1a84285d 100644
--- a/deps/npm/node_modules/minimatch/package.json
+++ b/deps/npm/node_modules/minimatch/package.json
@@ -2,7 +2,7 @@
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me)",
"name": "minimatch",
"description": "a glob matcher in javascript",
- "version": "5.0.1",
+ "version": "5.1.0",
"repository": {
"type": "git",
"url": "git://github.com/isaacs/minimatch.git"
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/common.js b/deps/npm/node_modules/node-gyp/node_modules/glob/common.js
index 8e363b6c1f..424c46e1da 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/common.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/glob/common.js
@@ -110,6 +110,8 @@ function setopts (self, pattern, options) {
// Note that they are not supported in Glob itself anyway.
options.nonegate = true
options.nocomment = true
+ // always treat \ in patterns as escapes, not path separators
+ options.allowWindowsEscape = false
self.minimatch = new Minimatch(pattern, options)
self.options = self.minimatch.options
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/glob.js b/deps/npm/node_modules/node-gyp/node_modules/glob/glob.js
index afcf82752c..37a4d7e607 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/glob.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/glob/glob.js
@@ -342,7 +342,10 @@ Glob.prototype._process = function (pattern, index, inGlobStar, cb) {
var read
if (prefix === null)
read = '.'
- else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) {
+ else if (isAbsolute(prefix) ||
+ isAbsolute(pattern.map(function (p) {
+ return typeof p === 'string' ? p : '[*]'
+ }).join('/'))) {
if (!prefix || !isAbsolute(prefix))
prefix = '/' + prefix
read = prefix
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/package.json b/deps/npm/node_modules/node-gyp/node_modules/glob/package.json
index cc1a57a896..5940b649b7 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/package.json
+++ b/deps/npm/node_modules/node-gyp/node_modules/glob/package.json
@@ -2,7 +2,10 @@
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
"name": "glob",
"description": "a little globber",
- "version": "7.2.0",
+ "version": "7.2.3",
+ "publishConfig": {
+ "tag": "v7-legacy"
+ },
"repository": {
"type": "git",
"url": "git://github.com/isaacs/node-glob.git"
@@ -20,7 +23,7 @@
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^3.0.4",
+ "minimatch": "^3.1.1",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
},
diff --git a/deps/npm/node_modules/node-gyp/node_modules/glob/sync.js b/deps/npm/node_modules/node-gyp/node_modules/glob/sync.js
index 4f46f90559..2c4f480192 100644
--- a/deps/npm/node_modules/node-gyp/node_modules/glob/sync.js
+++ b/deps/npm/node_modules/node-gyp/node_modules/glob/sync.js
@@ -48,7 +48,7 @@ function GlobSync (pattern, options) {
}
GlobSync.prototype._finish = function () {
- assert(this instanceof GlobSync)
+ assert.ok(this instanceof GlobSync)
if (this.realpath) {
var self = this
this.matches.forEach(function (matchset, index) {
@@ -72,7 +72,7 @@ GlobSync.prototype._finish = function () {
GlobSync.prototype._process = function (pattern, index, inGlobStar) {
- assert(this instanceof GlobSync)
+ assert.ok(this instanceof GlobSync)
// Get the first [n] parts of pattern that are all strings.
var n = 0
@@ -109,7 +109,10 @@ GlobSync.prototype._process = function (pattern, index, inGlobStar) {
var read
if (prefix === null)
read = '.'
- else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) {
+ else if (isAbsolute(prefix) ||
+ isAbsolute(pattern.map(function (p) {
+ return typeof p === 'string' ? p : '[*]'
+ }).join('/'))) {
if (!prefix || !isAbsolute(prefix))
prefix = '/' + prefix
read = prefix
diff --git a/deps/npm/node_modules/pacote/README.md b/deps/npm/node_modules/pacote/README.md
index eac48f69fe..4403ad113a 100644
--- a/deps/npm/node_modules/pacote/README.md
+++ b/deps/npm/node_modules/pacote/README.md
@@ -237,6 +237,7 @@ In addition to the common `package.json` fields, manifests include:
artifact can be found.
* `manifest._from` A normalized form of the spec passed in as an argument.
* `manifest._integrity` The integrity value for the package artifact.
+* `manifest._id` The canonical spec of this package version: name@version.
* `manifest.dist` Registry manifests (those included in a packument) have a
`dist` object. Only `tarball` is required, though at least one of
`shasum` or `integrity` is almost always present.
@@ -274,3 +275,8 @@ For Pacote's purposes, the following fields are relevant:
`foo@latest` gets turned into `foo@1.2.3`.
* `time` In the full packument, an object mapping version numbers to
publication times, for the `opts.before` functionality.
+
+Pacote adds the following fields, regardless of the accept header:
+
+* `_cached` Whether the packument was fetched from the network or the local cache.
+* `_contentLength` The size of the packument.
diff --git a/deps/npm/node_modules/pacote/lib/fetcher.js b/deps/npm/node_modules/pacote/lib/fetcher.js
index d88724c5d1..5f93e703bc 100644
--- a/deps/npm/node_modules/pacote/lib/fetcher.js
+++ b/deps/npm/node_modules/pacote/lib/fetcher.js
@@ -18,6 +18,7 @@ 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'))
+const Minipass = require('minipass')
// we only change ownership on unix platforms, and only if uid is 0
const selfOwner = process.getuid && process.getuid() === 0 ? {
@@ -105,15 +106,10 @@ class FetcherBase {
this[_readPackageJson] = readPackageJsonFast
}
- // config values: npmjs (default), never, always
- // we don't want to mutate the original value
- if (opts.replaceRegistryHost !== 'never'
- && opts.replaceRegistryHost !== 'always'
- ) {
- this.replaceRegistryHost = 'npmjs'
- } else {
- this.replaceRegistryHost = opts.replaceRegistryHost
- }
+ // rrh is a registry hostname or 'never' or 'always'
+ // defaults to registry.npmjs.org
+ this.replaceRegistryHost = (!opts.replaceRegistryHost || opts.replaceRegistryHost === 'npmjs') ?
+ 'registry.npmjs.org' : opts.replaceRegistryHost
this.defaultTag = opts.defaultTag || 'latest'
this.registry = removeTrailingSlashes(opts.registry || 'https://registry.npmjs.org')
@@ -224,18 +220,18 @@ class FetcherBase {
}
[_istream] (stream) {
- // everyone will need one of these, either for verifying or calculating
- // We always set it, because we have might only have a weak legacy hex
- // sha1 in the packument, and this MAY upgrade it to a stronger algo.
- // If we had an integrity, and it doesn't match, then this does not
- // override that error; the istream will raise the error before it
- // gets to the point of re-setting the integrity.
- const istream = ssri.integrityStream(this.opts)
- istream.on('integrity', i => this.integrity = i)
- stream.on('error', er => istream.emit('error', er))
-
- // if not caching this, just pipe through to the istream and return it
+ // if not caching this, just return it
if (!this.opts.cache || !this[_cacheFetches]) {
+ // instead of creating a new integrity stream, we only piggyback on the
+ // provided stream's events
+ if (stream.hasIntegrityEmitter) {
+ stream.on('integrity', i => this.integrity = i)
+ return stream
+ }
+
+ const istream = ssri.integrityStream(this.opts)
+ istream.on('integrity', i => this.integrity = i)
+ stream.on('error', err => istream.emit('error', err))
return stream.pipe(istream)
}
@@ -243,21 +239,23 @@ class FetcherBase {
// but then pipe from the original tarball stream into the cache as well.
// To do this without losing any data, and since the cacache put stream
// is not a passthrough, we have to pipe from the original stream into
- // the cache AFTER we pipe into the istream. Since the cache stream
+ // the cache AFTER we pipe into the middleStream. Since the cache stream
// has an asynchronous flush to write its contents to disk, we need to
- // defer the istream end until the cache stream ends.
- stream.pipe(istream, { end: false })
+ // defer the middleStream end until the cache stream ends.
+ const middleStream = new Minipass()
+ stream.on('error', err => middleStream.emit('error', err))
+ stream.pipe(middleStream, { end: false })
const cstream = cacache.put.stream(
this.opts.cache,
`pacote:tarball:${this.from}`,
this.opts
)
+ cstream.on('integrity', i => this.integrity = i)
+ cstream.on('error', err => stream.emit('error', err))
stream.pipe(cstream)
- // defer istream end until after cstream
- // cache write errors should not crash the fetch, this is best-effort.
- cstream.promise().catch(() => {}).then(() => istream.end())
- return istream
+ cstream.promise().catch(() => {}).then(() => middleStream.end())
+ return middleStream
}
pickIntegrityAlgorithm () {
diff --git a/deps/npm/node_modules/pacote/lib/registry.js b/deps/npm/node_modules/pacote/lib/registry.js
index 2eb37bcecc..c8eb6b0290 100644
--- a/deps/npm/node_modules/pacote/lib/registry.js
+++ b/deps/npm/node_modules/pacote/lib/registry.js
@@ -122,11 +122,12 @@ class RegistryFetcher extends Fetcher {
}
const packument = await this.packument()
- const mani = await pickManifest(packument, this.spec.fetchSpec, {
+ let mani = await pickManifest(packument, this.spec.fetchSpec, {
...this.opts,
defaultTag: this.defaultTag,
before: this.before,
})
+ mani = rpj.normalize(mani)
/* XXX add ETARGET and E403 revalidation of cached packuments here */
// add _resolved and _integrity from dist object
@@ -165,49 +166,53 @@ class RegistryFetcher extends Fetcher {
mani._integrity = String(this.integrity)
if (dist.signatures) {
if (this.opts.verifySignatures) {
- if (this.registryKeys) {
- // validate and throw on error, then set _signatures
- const message = `${mani._id}:${mani._integrity}`
- for (const signature of dist.signatures) {
- const publicKey = this.registryKeys.filter(key => (key.keyid === signature.keyid))[0]
- if (!publicKey) {
- throw Object.assign(new Error(
- `${mani._id} has a signature with keyid: ${signature.keyid} ` +
- 'but no corresponding public key can be found.'
- ), { code: 'EMISSINGSIGNATUREKEY' })
- }
- const validPublicKey =
- !publicKey.expires || (Date.parse(publicKey.expires) > Date.now())
- if (!validPublicKey) {
- throw Object.assign(new Error(
- `${mani._id} has a signature with keyid: ${signature.keyid} ` +
+ // validate and throw on error, then set _signatures
+ const message = `${mani._id}:${mani._integrity}`
+ for (const signature of dist.signatures) {
+ const publicKey = this.registryKeys &&
+ this.registryKeys.filter(key => (key.keyid === signature.keyid))[0]
+ if (!publicKey) {
+ throw Object.assign(new Error(
+ `${mani._id} has a registry signature with keyid: ${signature.keyid} ` +
+ 'but no corresponding public key can be found'
+ ), { code: 'EMISSINGSIGNATUREKEY' })
+ }
+ const validPublicKey =
+ !publicKey.expires || (Date.parse(publicKey.expires) > Date.now())
+ if (!validPublicKey) {
+ throw Object.assign(new Error(
+ `${mani._id} has a registry signature with keyid: ${signature.keyid} ` +
`but the corresponding public key has expired ${publicKey.expires}`
- ), { code: 'EEXPIREDSIGNATUREKEY' })
- }
- const verifier = crypto.createVerify('SHA256')
- verifier.write(message)
- verifier.end()
- const valid = verifier.verify(
- publicKey.pemkey,
- signature.sig,
- 'base64'
- )
- if (!valid) {
- throw Object.assign(new Error(
- 'Integrity checksum signature failed: ' +
- `key ${publicKey.keyid} signature ${signature.sig}`
- ), { code: 'EINTEGRITYSIGNATURE' })
- }
+ ), { code: 'EEXPIREDSIGNATUREKEY' })
+ }
+ const verifier = crypto.createVerify('SHA256')
+ verifier.write(message)
+ verifier.end()
+ const valid = verifier.verify(
+ publicKey.pemkey,
+ signature.sig,
+ 'base64'
+ )
+ if (!valid) {
+ throw Object.assign(new Error(
+ `${mani._id} has an invalid registry signature with ` +
+ `keyid: ${publicKey.keyid} and signature: ${signature.sig}`
+ ), {
+ code: 'EINTEGRITYSIGNATURE',
+ keyid: publicKey.keyid,
+ signature: signature.sig,
+ resolved: mani._resolved,
+ integrity: mani._integrity,
+ })
}
- mani._signatures = dist.signatures
}
- // if no keys, don't set _signatures
+ mani._signatures = dist.signatures
} else {
mani._signatures = dist.signatures
}
}
}
- this.package = rpj.normalize(mani)
+ this.package = 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 14e687805d..6759dbba3e 100644
--- a/deps/npm/node_modules/pacote/lib/remote.js
+++ b/deps/npm/node_modules/pacote/lib/remote.js
@@ -4,8 +4,6 @@ const _tarballFromResolved = Symbol.for('pacote.Fetcher._tarballFromResolved')
const pacoteVersion = require('../package.json').version
const fetch = require('npm-registry-fetch')
const Minipass = require('minipass')
-// The default registry URL is a string of great magic.
-const magicHost = 'https://registry.npmjs.org'
const _cacheFetches = Symbol.for('pacote.Fetcher._cacheFetches')
const _headers = Symbol('_headers')
@@ -14,11 +12,9 @@ class RemoteFetcher extends Fetcher {
super(spec, opts)
this.resolved = this.spec.fetchSpec
const resolvedURL = new URL(this.resolved)
- if (
- (this.replaceRegistryHost === 'npmjs'
- && resolvedURL.origin === magicHost)
- || this.replaceRegistryHost === 'always'
- ) {
+ if (this.replaceRegistryHost !== 'never'
+ && (this.replaceRegistryHost === 'always'
+ || this.replaceRegistryHost === resolvedURL.host)) {
this.resolved = new URL(resolvedURL.pathname, this.registry).href
}
@@ -35,6 +31,8 @@ class RemoteFetcher extends Fetcher {
[_tarballFromResolved] () {
const stream = new Minipass()
+ stream.hasIntegrityEmitter = true
+
const fetchOpts = {
...this.opts,
headers: this[_headers](),
@@ -42,16 +40,19 @@ class RemoteFetcher extends Fetcher {
integrity: this.integrity,
algorithms: [this.pickIntegrityAlgorithm()],
}
- fetch(this.resolved, fetchOpts).then(res => {
- const hash = res.headers.get('x-local-cache-hash')
- if (hash) {
- this.integrity = decodeURIComponent(hash)
- }
+ fetch(this.resolved, fetchOpts).then(res => {
res.body.on('error',
/* istanbul ignore next - exceedingly rare and hard to simulate */
er => stream.emit('error', er)
- ).pipe(stream)
+ )
+
+ res.body.on('integrity', i => {
+ this.integrity = i
+ stream.emit('integrity', i)
+ })
+
+ res.body.pipe(stream)
}).catch(er => stream.emit('error', er))
return stream
diff --git a/deps/npm/node_modules/pacote/package.json b/deps/npm/node_modules/pacote/package.json
index 5045e3f06a..af100fa8d6 100644
--- a/deps/npm/node_modules/pacote/package.json
+++ b/deps/npm/node_modules/pacote/package.json
@@ -1,6 +1,6 @@
{
"name": "pacote",
- "version": "13.5.0",
+ "version": "13.6.0",
"description": "JavaScript package downloader",
"author": "GitHub Inc.",
"bin": {
@@ -21,8 +21,7 @@
"template-oss-apply": "template-oss-apply --force"
},
"tap": {
- "timeout": 300,
- "coverage-map": "map.js"
+ "timeout": 300
},
"devDependencies": {
"@npmcli/eslint-config": "^3.0.1",
diff --git a/deps/npm/node_modules/rimraf/node_modules/glob/common.js b/deps/npm/node_modules/rimraf/node_modules/glob/common.js
index 8e363b6c1f..424c46e1da 100644
--- a/deps/npm/node_modules/rimraf/node_modules/glob/common.js
+++ b/deps/npm/node_modules/rimraf/node_modules/glob/common.js
@@ -110,6 +110,8 @@ function setopts (self, pattern, options) {
// Note that they are not supported in Glob itself anyway.
options.nonegate = true
options.nocomment = true
+ // always treat \ in patterns as escapes, not path separators
+ options.allowWindowsEscape = false
self.minimatch = new Minimatch(pattern, options)
self.options = self.minimatch.options
diff --git a/deps/npm/node_modules/rimraf/node_modules/glob/glob.js b/deps/npm/node_modules/rimraf/node_modules/glob/glob.js
index afcf82752c..37a4d7e607 100644
--- a/deps/npm/node_modules/rimraf/node_modules/glob/glob.js
+++ b/deps/npm/node_modules/rimraf/node_modules/glob/glob.js
@@ -342,7 +342,10 @@ Glob.prototype._process = function (pattern, index, inGlobStar, cb) {
var read
if (prefix === null)
read = '.'
- else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) {
+ else if (isAbsolute(prefix) ||
+ isAbsolute(pattern.map(function (p) {
+ return typeof p === 'string' ? p : '[*]'
+ }).join('/'))) {
if (!prefix || !isAbsolute(prefix))
prefix = '/' + prefix
read = prefix
diff --git a/deps/npm/node_modules/rimraf/node_modules/glob/package.json b/deps/npm/node_modules/rimraf/node_modules/glob/package.json
index cc1a57a896..5940b649b7 100644
--- a/deps/npm/node_modules/rimraf/node_modules/glob/package.json
+++ b/deps/npm/node_modules/rimraf/node_modules/glob/package.json
@@ -2,7 +2,10 @@
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
"name": "glob",
"description": "a little globber",
- "version": "7.2.0",
+ "version": "7.2.3",
+ "publishConfig": {
+ "tag": "v7-legacy"
+ },
"repository": {
"type": "git",
"url": "git://github.com/isaacs/node-glob.git"
@@ -20,7 +23,7 @@
"fs.realpath": "^1.0.0",
"inflight": "^1.0.4",
"inherits": "2",
- "minimatch": "^3.0.4",
+ "minimatch": "^3.1.1",
"once": "^1.3.0",
"path-is-absolute": "^1.0.0"
},
diff --git a/deps/npm/node_modules/rimraf/node_modules/glob/sync.js b/deps/npm/node_modules/rimraf/node_modules/glob/sync.js
index 4f46f90559..2c4f480192 100644
--- a/deps/npm/node_modules/rimraf/node_modules/glob/sync.js
+++ b/deps/npm/node_modules/rimraf/node_modules/glob/sync.js
@@ -48,7 +48,7 @@ function GlobSync (pattern, options) {
}
GlobSync.prototype._finish = function () {
- assert(this instanceof GlobSync)
+ assert.ok(this instanceof GlobSync)
if (this.realpath) {
var self = this
this.matches.forEach(function (matchset, index) {
@@ -72,7 +72,7 @@ GlobSync.prototype._finish = function () {
GlobSync.prototype._process = function (pattern, index, inGlobStar) {
- assert(this instanceof GlobSync)
+ assert.ok(this instanceof GlobSync)
// Get the first [n] parts of pattern that are all strings.
var n = 0
@@ -109,7 +109,10 @@ GlobSync.prototype._process = function (pattern, index, inGlobStar) {
var read
if (prefix === null)
read = '.'
- else if (isAbsolute(prefix) || isAbsolute(pattern.join('/'))) {
+ else if (isAbsolute(prefix) ||
+ isAbsolute(pattern.map(function (p) {
+ return typeof p === 'string' ? p : '[*]'
+ }).join('/'))) {
if (!prefix || !isAbsolute(prefix))
prefix = '/' + prefix
read = prefix
diff --git a/deps/npm/package.json b/deps/npm/package.json
index f616f038db..fbfabe9365 100644
--- a/deps/npm/package.json
+++ b/deps/npm/package.json
@@ -1,5 +1,5 @@
{
- "version": "8.11.0",
+ "version": "8.12.1",
"name": "npm",
"description": "a package manager for JavaScript",
"workspaces": [
@@ -90,7 +90,7 @@
"libnpmsearch": "^5.0.2",
"libnpmteam": "^4.0.2",
"libnpmversion": "^3.0.1",
- "make-fetch-happen": "^10.1.5",
+ "make-fetch-happen": "^10.1.6",
"minipass": "^3.1.6",
"minipass-pipeline": "^1.2.4",
"mkdirp": "^1.0.4",
@@ -107,7 +107,7 @@
"npm-user-validate": "^1.0.1",
"npmlog": "^6.0.2",
"opener": "^1.5.2",
- "pacote": "^13.4.1",
+ "pacote": "^13.6.0",
"parse-conflict-json": "^2.0.2",
"proc-log": "^2.0.1",
"qrcode-terminal": "^0.12.0",
diff --git a/deps/npm/tap-snapshots/test/lib/commands/init.js.test.cjs b/deps/npm/tap-snapshots/test/lib/commands/init.js.test.cjs
index 9dd0b4b6be..a544b86403 100644
--- a/deps/npm/tap-snapshots/test/lib/commands/init.js.test.cjs
+++ b/deps/npm/tap-snapshots/test/lib/commands/init.js.test.cjs
@@ -10,26 +10,53 @@ Array []
`
exports[`test/lib/commands/init.js TAP workspaces no args > should print helper info 1`] = `
+Array []
+`
+
+exports[`test/lib/commands/init.js TAP workspaces no args, existing folder > should print helper info 1`] = `
+Array []
+`
+
+exports[`test/lib/commands/init.js TAP workspaces post workspace-init reify > should print helper info 1`] = `
Array [
Array [
String(
- This utility will walk you through creating a package.json file.
- It only covers the most common items, and tries to guess sensible defaults.
-
- See \`npm help init\` for definitive documentation on these fields
- and exactly what they do.
-
- Use \`npm install <pkg>\` afterwards to install a package and
- save it as a dependency in the package.json file.
- Press ^C at any time to quit.
+ added 1 package in 100ms
),
],
]
`
-exports[`test/lib/commands/init.js TAP workspaces no args, existing folder > should print helper info 1`] = `
-Array []
+exports[`test/lib/commands/init.js TAP workspaces post workspace-init reify > should reify tree on init ws complete 1`] = `
+{
+ "name": "top-level",
+ "lockfileVersion": 2,
+ "requires": true,
+ "packages": {
+ "": {
+ "name": "top-level",
+ "workspaces": [
+ "a"
+ ]
+ },
+ "a": {
+ "version": "1.0.0",
+ "license": "ISC",
+ "devDependencies": {}
+ },
+ "node_modules/a": {
+ "resolved": "a",
+ "link": true
+ }
+ },
+ "dependencies": {
+ "a": {
+ "version": "file:a"
+ }
+ }
+}
+
`
exports[`test/lib/commands/init.js TAP workspaces with arg but missing workspace folder > should print helper info 1`] = `
diff --git a/deps/npm/tap-snapshots/test/lib/load-all-commands.js.test.cjs b/deps/npm/tap-snapshots/test/lib/load-all-commands.js.test.cjs
index b8c274b085..802fa8de93 100644
--- a/deps/npm/tap-snapshots/test/lib/load-all-commands.js.test.cjs
+++ b/deps/npm/tap-snapshots/test/lib/load-all-commands.js.test.cjs
@@ -33,6 +33,7 @@ npm adduser
Options:
[--registry <registry>] [--scope <@scope>]
+[--auth-type <legacy|webauthn|sso|saml|oauth>]
aliases: login, add-user
@@ -396,7 +397,7 @@ npm init [<@scope>/]<name> (same as \`npx [<@scope>/]create-<name>\`)
Options:
[-y|--yes] [-f|--force]
[-w|--workspace <workspace-name> [-w|--workspace <workspace-name> ...]]
-[-ws|--workspaces] [--include-workspace-root]
+[-ws|--workspaces] [--no-workspaces-update] [--include-workspace-root]
aliases: create, innit
@@ -523,6 +524,7 @@ npm adduser
Options:
[--registry <registry>] [--scope <@scope>]
+[--auth-type <legacy|webauthn|sso|saml|oauth>]
aliases: login, add-user
diff --git a/deps/npm/tap-snapshots/test/lib/npm.js.test.cjs b/deps/npm/tap-snapshots/test/lib/npm.js.test.cjs
index c7c75ce84b..d08935a14d 100644
--- a/deps/npm/tap-snapshots/test/lib/npm.js.test.cjs
+++ b/deps/npm/tap-snapshots/test/lib/npm.js.test.cjs
@@ -190,6 +190,7 @@ All commands:
Options:
[--registry <registry>] [--scope <@scope>]
+ [--auth-type <legacy|webauthn|sso|saml|oauth>]
aliases: login, add-user
@@ -486,7 +487,7 @@ All commands:
Options:
[-y|--yes] [-f|--force]
[-w|--workspace <workspace-name> [-w|--workspace <workspace-name> ...]]
- [-ws|--workspaces] [--include-workspace-root]
+ [-ws|--workspaces] [--no-workspaces-update] [--include-workspace-root]
aliases: create, innit
@@ -601,6 +602,7 @@ All commands:
Options:
[--registry <registry>] [--scope <@scope>]
+ [--auth-type <legacy|webauthn|sso|saml|oauth>]
aliases: login, add-user
diff --git a/deps/npm/tap-snapshots/test/lib/utils/config/definitions.js.test.cjs b/deps/npm/tap-snapshots/test/lib/utils/config/definitions.js.test.cjs
index b12dccdb76..33d6e4fb7a 100644
--- a/deps/npm/tap-snapshots/test/lib/utils/config/definitions.js.test.cjs
+++ b/deps/npm/tap-snapshots/test/lib/utils/config/definitions.js.test.cjs
@@ -253,11 +253,13 @@ exports[`test/lib/utils/config/definitions.js TAP > config description for auth-
#### \`auth-type\`
* Default: "legacy"
-* Type: "legacy", "sso", "saml", or "oauth"
-* DEPRECATED: This method of SSO/SAML/OAuth is deprecated and will be removed
- in a future version of npm in favor of web-based login.
+* Type: "legacy", "webauthn", "sso", "saml", or "oauth"
+* DEPRECATED: The SSO/SAML/OAuth methods are deprecated and will be removed in
+ a future version of npm in favor of web-based login.
What authentication strategy to use with \`adduser\`/\`login\`.
+
+Pass \`webauthn\` to use a web-based login.
`
exports[`test/lib/utils/config/definitions.js TAP > config description for before 1`] = `
@@ -731,8 +733,6 @@ exports[`test/lib/utils/config/definitions.js TAP > config description for globa
* Default: false
* Type: Boolean
-* DEPRECATED: \`--global\`, \`--local\` are deprecated. Use \`--location=global\`
- instead.
Operates in "global" mode, so that packages are installed into the \`prefix\`
folder instead of the current working directory. See
diff --git a/deps/npm/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs b/deps/npm/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs
index cacbe96a74..77f2c87684 100644
--- a/deps/npm/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs
+++ b/deps/npm/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs
@@ -560,6 +560,23 @@ results in no commit being made at all.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
+#### \`global\`
+
+* Default: false
+* Type: Boolean
+
+Operates in "global" mode, so that packages are installed into the \`prefix\`
+folder instead of the current working directory. See
+[folders](/configuring-npm/folders) for more on the differences in behavior.
+
+* packages are installed into the \`{prefix}/lib/node_modules\` folder, instead
+ of the current working directory.
+* bin files are linked to \`{prefix}/bin\`
+* man pages are linked to \`{prefix}/share/man\`
+
+<!-- automatically generated, do not edit manually -->
+<!-- see lib/utils/config/definitions.js -->
+
#### \`global-style\`
* Default: false
@@ -1764,12 +1781,14 @@ When set to \`dev\` or \`development\`, this is an alias for \`--include=dev\`.
#### \`auth-type\`
* Default: "legacy"
-* Type: "legacy", "sso", "saml", or "oauth"
-* DEPRECATED: This method of SSO/SAML/OAuth is deprecated and will be removed
- in a future version of npm in favor of web-based login.
+* Type: "legacy", "webauthn", "sso", "saml", or "oauth"
+* DEPRECATED: The SSO/SAML/OAuth methods are deprecated and will be removed in
+ a future version of npm in favor of web-based login.
What authentication strategy to use with \`adduser\`/\`login\`.
+Pass \`webauthn\` to use a web-based login.
+
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
@@ -1806,25 +1825,6 @@ Alias for \`--include=dev\`.
<!-- automatically generated, do not edit manually -->
<!-- see lib/utils/config/definitions.js -->
-#### \`global\`
-
-* Default: false
-* Type: Boolean
-* DEPRECATED: \`--global\`, \`--local\` are deprecated. Use \`--location=global\`
- instead.
-
-Operates in "global" mode, so that packages are installed into the \`prefix\`
-folder instead of the current working directory. See
-[folders](/configuring-npm/folders) for more on the differences in behavior.
-
-* packages are installed into the \`{prefix}/lib/node_modules\` folder, instead
- of the current working directory.
-* bin files are linked to \`{prefix}/bin\`
-* man pages are linked to \`{prefix}/share/man\`
-
-<!-- automatically generated, do not edit manually -->
-<!-- see lib/utils/config/definitions.js -->
-
#### \`init.author.email\`
* Default: ""
diff --git a/deps/npm/test/lib/commands/init.js b/deps/npm/test/lib/commands/init.js
index 82e7e0524c..32816adbc2 100644
--- a/deps/npm/test/lib/commands/init.js
+++ b/deps/npm/test/lib/commands/init.js
@@ -288,6 +288,7 @@ t.test('workspaces', t => {
t.teardown(() => {
npm._mockOutputs.length = 0
})
+ npm._mockOutputs.length = 0
npm.localPrefix = t.testdir({
'package.json': JSON.stringify({
name: 'top-level',
@@ -306,6 +307,39 @@ t.test('workspaces', t => {
t.matchSnapshot(npm._mockOutputs, 'should print helper info')
})
+ t.test('post workspace-init reify', async t => {
+ const _consolelog = console.log
+ console.log = () => null
+ t.teardown(() => {
+ console.log = _consolelog
+ npm._mockOutputs.length = 0
+ delete npm.flatOptions.workspacesUpdate
+ })
+ npm.started = Date.now()
+ npm._mockOutputs.length = 0
+ npm.flatOptions.workspacesUpdate = true
+ npm.localPrefix = t.testdir({
+ 'package.json': JSON.stringify({
+ name: 'top-level',
+ }),
+ })
+
+ const Init = t.mock('../../../lib/commands/init.js', {
+ ...mocks,
+ 'init-package-json': (dir, initFile, config, cb) => {
+ t.equal(dir, resolve(npm.localPrefix, 'a'), 'should use the ws path')
+ return require('init-package-json')(dir, initFile, config, cb)
+ },
+ })
+ const init = new Init(npm)
+ await init.execWorkspaces([], ['a'])
+ const output = npm._mockOutputs.map(arr => arr.map(i => i.replace(/[0-9]*ms$/, '100ms')))
+ t.matchSnapshot(output, 'should print helper info')
+ const lockFilePath = resolve(npm.localPrefix, 'package-lock.json')
+ const lockFile = fs.readFileSync(lockFilePath, { encoding: 'utf8' })
+ t.matchSnapshot(lockFile, 'should reify tree on init ws complete')
+ })
+
t.test('no args, existing folder', async t => {
t.teardown(() => {
npm._mockOutputs.length = 0