diff options
author | npm team <ops+robot@npmjs.com> | 2022-02-25 00:41:49 +0300 |
---|---|---|
committer | Luigi Pinca <luigipinca@gmail.com> | 2022-02-26 10:15:26 +0300 |
commit | 1b8300b238923822ea0934b196e3a9e97e0a0893 (patch) | |
tree | 474bd5d5a4ee73358f4feebd433cc3f67d65b6e2 /deps/npm | |
parent | e84b635db49d629f119959c9f0a31762ac22770b (diff) |
deps: upgrade npm to 8.5.2
PR-URL: https://github.com/nodejs/node/pull/42122
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Mestery <mestery@protonmail.com>
Reviewed-By: Danielle Adams <adamzdanielle@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Diffstat (limited to 'deps/npm')
421 files changed, 3967 insertions, 4906 deletions
diff --git a/deps/npm/docs/content/commands/npm-access.md b/deps/npm/docs/content/commands/npm-access.md index 1f661c911f4..162e94f1fec 100644 --- a/deps/npm/docs/content/commands/npm-access.md +++ b/deps/npm/docs/content/commands/npm-access.md @@ -6,21 +6,27 @@ description: Set access level on published packages ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/access.js --> + ```bash npm access public [<package>] npm access restricted [<package>] - npm access grant <read-only|read-write> <scope:team> [<package>] npm access revoke <scope:team> [<package>] - npm access 2fa-required [<package>] npm access 2fa-not-required [<package>] - npm access ls-packages [<user>|<scope>|<scope:team>] npm access ls-collaborators [<package> [<user>]] npm access edit [<package>] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/access.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description Used to set access controls on private packages. diff --git a/deps/npm/docs/content/commands/npm-adduser.md b/deps/npm/docs/content/commands/npm-adduser.md index 21a31ca940e..06eeb379c4d 100644 --- a/deps/npm/docs/content/commands/npm-adduser.md +++ b/deps/npm/docs/content/commands/npm-adduser.md @@ -6,12 +6,21 @@ description: Add a registry user account ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/adduser.js --> + ```bash -npm adduser [--registry=url] [--scope=@orgname] [--auth-type=legacy] +npm adduser aliases: login, add-user ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/adduser.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-audit.md b/deps/npm/docs/content/commands/npm-audit.md index 58c614d793d..323d38f64c1 100644 --- a/deps/npm/docs/content/commands/npm-audit.md +++ b/deps/npm/docs/content/commands/npm-audit.md @@ -6,13 +6,19 @@ description: Run a security audit ### Synopsis -```bash -npm audit [--json] [--production] [--audit-level=(low|moderate|high|critical)] -npm audit fix [--force|--package-lock-only|--dry-run|--production|--only=(dev|prod)] +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/audit.js --> -common options: [--production] [--only=(dev|prod)] +```bash +npm audit [fix] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/audit.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description The audit command submits a description of the dependencies configured in diff --git a/deps/npm/docs/content/commands/npm-bin.md b/deps/npm/docs/content/commands/npm-bin.md index 2d7c1d5b814..94b72cfd5c8 100644 --- a/deps/npm/docs/content/commands/npm-bin.md +++ b/deps/npm/docs/content/commands/npm-bin.md @@ -6,10 +6,19 @@ description: Display npm bin folder ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/bin.js --> + ```bash -npm bin [-g|--global] +npm bin ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/bin.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-bugs.md b/deps/npm/docs/content/commands/npm-bugs.md index f92241a14b9..aeddeb848e8 100644 --- a/deps/npm/docs/content/commands/npm-bugs.md +++ b/deps/npm/docs/content/commands/npm-bugs.md @@ -6,12 +6,21 @@ description: Report bugs for a package in a web browser ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/bugs.js --> + ```bash -npm bugs [<pkgname> [<pkgname> ...]] +npm bugs [<pkgname>] -aliases: issues +alias: issues ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/bugs.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This command tries to guess at the likely location of a package's bug diff --git a/deps/npm/docs/content/commands/npm-cache.md b/deps/npm/docs/content/commands/npm-cache.md index 6497a3988c9..091e26e8a71 100644 --- a/deps/npm/docs/content/commands/npm-cache.md +++ b/deps/npm/docs/content/commands/npm-cache.md @@ -6,18 +6,26 @@ description: Manipulates packages cache ### Synopsis -```bash -npm cache add <tarball file>... -npm cache add <folder>... -npm cache add <tarball url>... -npm cache add <name>@<version>... - -npm cache clean -aliases: npm cache clear, npm cache rm +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/cache.js --> +```bash +npm cache add <tarball file> +npm cache add <folder> +npm cache add <tarball url> +npm cache add <git url> +npm cache add <name>@<version> +npm cache clean [<key>] +npm cache ls [<name>@<version>] npm cache verify ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/cache.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-ci.md b/deps/npm/docs/content/commands/npm-ci.md index 1ce50c66d5f..4490fea9a0b 100644 --- a/deps/npm/docs/content/commands/npm-ci.md +++ b/deps/npm/docs/content/commands/npm-ci.md @@ -6,10 +6,21 @@ description: Install a project with a clean slate ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/ci.js --> + ```bash npm ci + +aliases: clean-install, ic, install-clean, isntall-clean ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/ci.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This command is similar to [`npm install`](/commands/npm-install), except diff --git a/deps/npm/docs/content/commands/npm-completion.md b/deps/npm/docs/content/commands/npm-completion.md index 9dbd960913f..d73a98f2e50 100644 --- a/deps/npm/docs/content/commands/npm-completion.md +++ b/deps/npm/docs/content/commands/npm-completion.md @@ -6,10 +6,19 @@ description: Tab Completion for npm ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/completion.js --> + ```bash -source <(npm completion) +npm completion ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/completion.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-config.md b/deps/npm/docs/content/commands/npm-config.md index 2d77f045cbc..a66a198ce42 100644 --- a/deps/npm/docs/content/commands/npm-config.md +++ b/deps/npm/docs/content/commands/npm-config.md @@ -6,18 +6,25 @@ description: Manage the npm configuration files ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/config.js --> + ```bash npm config set <key>=<value> [<key>=<value> ...] npm config get [<key> [<key> ...]] npm config delete <key> [<key> ...] npm config list [--json] npm config edit -npm set <key>=<value> [<key>=<value> ...] -npm get [<key> [<key> ...]] alias: c ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/config.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-dedupe.md b/deps/npm/docs/content/commands/npm-dedupe.md index 53d2e64272a..b5a64831c0b 100644 --- a/deps/npm/docs/content/commands/npm-dedupe.md +++ b/deps/npm/docs/content/commands/npm-dedupe.md @@ -6,13 +6,21 @@ description: Reduce duplication in the package tree ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/dedupe.js --> + ```bash npm dedupe -npm ddp -aliases: ddp +alias: ddp ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/dedupe.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description Searches the local package tree and attempts to simplify the overall @@ -145,6 +153,24 @@ When package package-locks are disabled, automatic pruning of extraneous modules will also be disabled. To remove extraneous modules with package-locks disabled use `npm prune`. +This configuration does not affect `npm ci`. + +<!-- automatically generated, do not edit manually --> +<!-- see lib/utils/config/definitions.js --> + +#### `save` + +* Default: `true` unless when using `npm update` or `npm dedupe` where it + defaults to `false` +* Type: Boolean + +Save installed packages to a `package.json` file as dependencies. + +When used with the `npm rm` command, removes the dependency from +`package.json`. + +Will also prevent writing to `package-lock.json` if set to `false`. + <!-- automatically generated, do not edit manually --> <!-- see lib/utils/config/definitions.js --> diff --git a/deps/npm/docs/content/commands/npm-deprecate.md b/deps/npm/docs/content/commands/npm-deprecate.md index 438a54ec6e4..4345120d374 100644 --- a/deps/npm/docs/content/commands/npm-deprecate.md +++ b/deps/npm/docs/content/commands/npm-deprecate.md @@ -6,10 +6,19 @@ description: Deprecate a version of a package ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/deprecate.js --> + ```bash -npm deprecate <pkg>[@<version range>] <message> +npm deprecate <pkg>[@<version>] <message> ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/deprecate.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-diff.md b/deps/npm/docs/content/commands/npm-diff.md index 8d05df779f3..c4c9eafdb35 100644 --- a/deps/npm/docs/content/commands/npm-diff.md +++ b/deps/npm/docs/content/commands/npm-diff.md @@ -6,14 +6,19 @@ description: The registry diff command ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/diff.js --> + ```bash npm diff [...<paths>] -npm diff --diff=<pkg-name> [...<paths>] -npm diff --diff=<version-a> [--diff=<version-b>] [...<paths>] -npm diff --diff=<spec-a> [--diff=<spec-b>] [...<paths>] -npm diff [--diff-ignore-all-space] [--diff-name-only] [...<paths>] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/diff.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description Similar to its `git diff` counterpart, this command will print diff patches diff --git a/deps/npm/docs/content/commands/npm-dist-tag.md b/deps/npm/docs/content/commands/npm-dist-tag.md index a4e0243aac8..a0f306cd497 100644 --- a/deps/npm/docs/content/commands/npm-dist-tag.md +++ b/deps/npm/docs/content/commands/npm-dist-tag.md @@ -6,14 +6,23 @@ description: Modify package distribution tags ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/dist-tag.js --> + ```bash npm dist-tag add <pkg>@<version> [<tag>] npm dist-tag rm <pkg> <tag> npm dist-tag ls [<pkg>] -aliases: dist-tags +alias: dist-tags ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/dist-tag.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description Add, remove, and enumerate distribution tags on a package: diff --git a/deps/npm/docs/content/commands/npm-docs.md b/deps/npm/docs/content/commands/npm-docs.md index 970d17aa829..8d5a278286a 100644 --- a/deps/npm/docs/content/commands/npm-docs.md +++ b/deps/npm/docs/content/commands/npm-docs.md @@ -6,12 +6,21 @@ description: Open documentation for a package in a web browser ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/docs.js --> + ```bash npm docs [<pkgname> [<pkgname> ...]] -aliases: home +alias: home ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/docs.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This command tries to guess at the likely location of a package's diff --git a/deps/npm/docs/content/commands/npm-doctor.md b/deps/npm/docs/content/commands/npm-doctor.md index 0cce60c7b7b..7fb63bab16e 100644 --- a/deps/npm/docs/content/commands/npm-doctor.md +++ b/deps/npm/docs/content/commands/npm-doctor.md @@ -6,10 +6,19 @@ description: Check your npm environment ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/doctor.js --> + ```bash npm doctor ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/doctor.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-edit.md b/deps/npm/docs/content/commands/npm-edit.md index 5ae7f2481ae..39fc49592c5 100644 --- a/deps/npm/docs/content/commands/npm-edit.md +++ b/deps/npm/docs/content/commands/npm-edit.md @@ -6,10 +6,19 @@ description: Edit an installed package ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/edit.js --> + ```bash -npm edit <pkg> +npm edit <pkg>[/<subpkg>...] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/edit.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-exec.md b/deps/npm/docs/content/commands/npm-exec.md index d154f5780b9..3645e336b9d 100644 --- a/deps/npm/docs/content/commands/npm-exec.md +++ b/deps/npm/docs/content/commands/npm-exec.md @@ -6,26 +6,23 @@ description: Run a command from a local or remote npm package ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/exec.js --> + ```bash npm exec -- <pkg>[@<version>] [args...] npm exec --package=<pkg>[@<version>] -- <cmd> [args...] npm exec -c '<cmd> [args...]' npm exec --package=foo -c '<cmd> [args...]' -npm exec [--ws] [-w <workspace-name] [args...] -npx <pkg>[@<specifier>] [args...] -npx -p <pkg>[@<specifier>] <cmd> [args...] -npx -c '<cmd> [args...]' -npx -p <pkg>[@<specifier>] -c '<cmd> [args...]' -Run without --call or positional args to open interactive subshell +alias: x +``` -alias: npm x, npx +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/exec.js --> -common options: ---package=<pkg> (may be specified multiple times) --p is a shorthand for --package only when using npx executable --c <cmd> --call=<cmd> (may not be mixed with positional arguments) -``` +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> ### Description diff --git a/deps/npm/docs/content/commands/npm-explain.md b/deps/npm/docs/content/commands/npm-explain.md index 5f05cac0f90..76522105658 100644 --- a/deps/npm/docs/content/commands/npm-explain.md +++ b/deps/npm/docs/content/commands/npm-explain.md @@ -6,12 +6,21 @@ description: Explain installed packages ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/explain.js --> + ```bash npm explain <folder | specifier> alias: why ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/explain.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This command will print the chain of dependencies causing a given package diff --git a/deps/npm/docs/content/commands/npm-explore.md b/deps/npm/docs/content/commands/npm-explore.md index 3979da9573d..90753c7e091 100644 --- a/deps/npm/docs/content/commands/npm-explore.md +++ b/deps/npm/docs/content/commands/npm-explore.md @@ -6,10 +6,19 @@ description: Browse an installed package ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/explore.js --> + ```bash npm explore <pkg> [ -- <command>] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/explore.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-find-dupes.md b/deps/npm/docs/content/commands/npm-find-dupes.md index f7dc84f9c53..f7366fa6375 100644 --- a/deps/npm/docs/content/commands/npm-find-dupes.md +++ b/deps/npm/docs/content/commands/npm-find-dupes.md @@ -6,10 +6,19 @@ description: Find duplication in the package tree ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/find-dupes.js --> + ```bash npm find-dupes ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/find-dupes.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description Runs `npm dedupe` in `--dry-run` mode, making npm only output the @@ -82,6 +91,8 @@ When package package-locks are disabled, automatic pruning of extraneous modules will also be disabled. To remove extraneous modules with package-locks disabled use `npm prune`. +This configuration does not affect `npm ci`. + <!-- automatically generated, do not edit manually --> <!-- see lib/utils/config/definitions.js --> diff --git a/deps/npm/docs/content/commands/npm-fund.md b/deps/npm/docs/content/commands/npm-fund.md index 606b0a188c5..5b96e91ab8c 100644 --- a/deps/npm/docs/content/commands/npm-fund.md +++ b/deps/npm/docs/content/commands/npm-fund.md @@ -6,11 +6,19 @@ description: Retrieve funding information ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/fund.js --> + ```bash -npm fund [<pkg>] -npm fund [-w <workspace-name>] +npm fund [[<@scope>/]<pkg>] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/fund.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This command retrieves information on how to fund the dependencies of a diff --git a/deps/npm/docs/content/commands/npm-help-search.md b/deps/npm/docs/content/commands/npm-help-search.md index 78553a14ecb..152f9f6bec1 100644 --- a/deps/npm/docs/content/commands/npm-help-search.md +++ b/deps/npm/docs/content/commands/npm-help-search.md @@ -6,10 +6,19 @@ description: Search npm help documentation ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/help-search.js --> + ```bash npm help-search <text> ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/help-search.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-help.md b/deps/npm/docs/content/commands/npm-help.md index a8002eef171..83c595db696 100644 --- a/deps/npm/docs/content/commands/npm-help.md +++ b/deps/npm/docs/content/commands/npm-help.md @@ -6,10 +6,21 @@ description: Get help on npm ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/help.js --> + ```bash npm help <term> [<terms..>] + +alias: hlep ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/help.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-hook.md b/deps/npm/docs/content/commands/npm-hook.md index c91bce3075e..4a9805d02f9 100644 --- a/deps/npm/docs/content/commands/npm-hook.md +++ b/deps/npm/docs/content/commands/npm-hook.md @@ -6,13 +6,22 @@ description: Manage registry hooks ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/hook.js --> + ```bash +npm hook add <pkg> <url> <secret> [--type=<type>] npm hook ls [pkg] -npm hook add <entity> <url> <secret> -npm hook update <id> <url> [secret] npm hook rm <id> +npm hook update <id> <url> <secret> ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/hook.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-init.md b/deps/npm/docs/content/commands/npm-init.md index a608061a96d..d9c03aef415 100644 --- a/deps/npm/docs/content/commands/npm-init.md +++ b/deps/npm/docs/content/commands/npm-init.md @@ -6,13 +6,23 @@ description: Create a package.json file ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/init.js --> + ```bash -npm init [--yes|-y|--scope] -npm init <@scope> (same as `npm exec <@scope>/create`) -npm init [<@scope>/]<name> (same as `npm exec [<@scope>/]create-<name>`) -npm init [-w <dir>] [args...] +npm init [--force|-f|--yes|-y|--scope] +npm init <@scope> (same as `npx <@scope>/create`) +npm init [<@scope>/]<name> (same as `npx [<@scope>/]create-<name>`) + +aliases: create, innit ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/init.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description `npm init <initializer>` can be used to set up a new or existing npm @@ -38,6 +48,15 @@ strictly additive, so it will keep any fields and values that were already set. You can also use `-y`/`--yes` to skip the questionnaire altogether. If you pass `--scope`, it will create a scoped package. +*Note:* if a user already has the `create-<initializer>` package +globally installed, that will be what `npm init` uses. If you want npm +to use the latest version, or another specific version you must specify +it: + +* `npm init foo@latest` # fetches and runs the latest `create-foo` from + the registry +* `npm init foo@1.2.3` # runs `create-foo@1.2.3` specifically + #### Forwarding additional options Any additional options will be passed directly to the command, so `npm init diff --git a/deps/npm/docs/content/commands/npm-install-ci-test.md b/deps/npm/docs/content/commands/npm-install-ci-test.md index 5c37ed8f561..5ad67604541 100644 --- a/deps/npm/docs/content/commands/npm-install-ci-test.md +++ b/deps/npm/docs/content/commands/npm-install-ci-test.md @@ -6,12 +6,21 @@ description: Install a project with a clean slate and run tests ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/install-ci-test.js --> + ```bash npm install-ci-test -alias: npm cit +alias: cit ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/install-ci-test.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This command runs `npm ci` followed immediately by `npm test`. diff --git a/deps/npm/docs/content/commands/npm-install-test.md b/deps/npm/docs/content/commands/npm-install-test.md index c464e5bd0b8..ed39c6705a4 100644 --- a/deps/npm/docs/content/commands/npm-install-test.md +++ b/deps/npm/docs/content/commands/npm-install-test.md @@ -6,20 +6,30 @@ description: Install package(s) and run tests ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/install-test.js --> + ```bash -npm install-test (with no args, in package dir) -npm install-test [<@scope>/]<name> -npm install-test [<@scope>/]<name>@<tag> -npm install-test [<@scope>/]<name>@<version> -npm install-test [<@scope>/]<name>@<version range> +npm install-test [<@scope>/]<pkg> +npm install-test [<@scope>/]<pkg>@<tag> +npm install-test [<@scope>/]<pkg>@<version> +npm install-test [<@scope>/]<pkg>@<version range> +npm install-test <alias>@npm:<name> +npm install-test <folder> npm install-test <tarball file> npm install-test <tarball url> -npm install-test <folder> +npm install-test <git:// url> +npm install-test <github username>/<github project> -alias: npm it -common options: [--save|--save-dev|--save-optional] [--save-exact] [--dry-run] +alias: it ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/install-test.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This command runs an `npm install` followed immediately by an `npm test`. It @@ -32,13 +42,16 @@ takes exactly the same arguments as `npm install`. <!-- see lib/utils/config/definitions.js --> #### `save` -* Default: true +* Default: `true` unless when using `npm update` or `npm dedupe` where it + defaults to `false` * Type: Boolean -Save installed packages to a package.json file as dependencies. +Save installed packages to a `package.json` file as dependencies. When used with the `npm rm` command, removes the dependency from -package.json. +`package.json`. + +Will also prevent writing to `package-lock.json` if set to `false`. <!-- automatically generated, do not edit manually --> <!-- see lib/utils/config/definitions.js --> @@ -133,6 +146,8 @@ When package package-locks are disabled, automatic pruning of extraneous modules will also be disabled. To remove extraneous modules with package-locks disabled use `npm prune`. +This configuration does not affect `npm ci`. + <!-- automatically generated, do not edit manually --> <!-- see lib/utils/config/definitions.js --> diff --git a/deps/npm/docs/content/commands/npm-install.md b/deps/npm/docs/content/commands/npm-install.md index f83ff511991..6f12e5f5389 100644 --- a/deps/npm/docs/content/commands/npm-install.md +++ b/deps/npm/docs/content/commands/npm-install.md @@ -6,23 +6,30 @@ description: Install a package ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/install.js --> + ```bash -npm install (with no args, in package dir) -npm install [<@scope>/]<name> -npm install [<@scope>/]<name>@<tag> -npm install [<@scope>/]<name>@<version> -npm install [<@scope>/]<name>@<version range> +npm install [<@scope>/]<pkg> +npm install [<@scope>/]<pkg>@<tag> +npm install [<@scope>/]<pkg>@<version> +npm install [<@scope>/]<pkg>@<version range> npm install <alias>@npm:<name> -npm install <git-host>:<git-user>/<repo-name> -npm install <git repo url> +npm install <folder> npm install <tarball file> npm install <tarball url> -npm install <folder> +npm install <git:// url> +npm install <github username>/<github project> -aliases: npm i, npm add -common options: [-P|--save-prod|-D|--save-dev|-O|--save-optional|--save-peer] [-E|--save-exact] [-B|--save-bundle] [--no-save] [--dry-run] +aliases: i, in, ins, inst, insta, instal, isnt, isnta, isntal, add ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/install.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This command installs a package and any packages that it depends on. If the @@ -425,13 +432,16 @@ These are some of the most common options related to installation. <!-- see lib/utils/config/definitions.js --> #### `save` -* Default: true +* Default: `true` unless when using `npm update` or `npm dedupe` where it + defaults to `false` * Type: Boolean -Save installed packages to a package.json file as dependencies. +Save installed packages to a `package.json` file as dependencies. When used with the `npm rm` command, removes the dependency from -package.json. +`package.json`. + +Will also prevent writing to `package-lock.json` if set to `false`. <!-- automatically generated, do not edit manually --> <!-- see lib/utils/config/definitions.js --> @@ -526,6 +536,8 @@ When package package-locks are disabled, automatic pruning of extraneous modules will also be disabled. To remove extraneous modules with package-locks disabled use `npm prune`. +This configuration does not affect `npm ci`. + <!-- automatically generated, do not edit manually --> <!-- see lib/utils/config/definitions.js --> diff --git a/deps/npm/docs/content/commands/npm-link.md b/deps/npm/docs/content/commands/npm-link.md index d4ef41ae964..892b55496c9 100644 --- a/deps/npm/docs/content/commands/npm-link.md +++ b/deps/npm/docs/content/commands/npm-link.md @@ -6,13 +6,22 @@ description: Symlink a package folder ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/link.js --> + ```bash npm link (in package dir) npm link [<@scope>/]<pkg>[@<version>] -alias: npm ln +alias: ln ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/link.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This is handy for installing your own stuff, so that you can work on it and @@ -116,13 +125,16 @@ workspace(s). <!-- see lib/utils/config/definitions.js --> #### `save` -* Default: true +* Default: `true` unless when using `npm update` or `npm dedupe` where it + defaults to `false` * Type: Boolean -Save installed packages to a package.json file as dependencies. +Save installed packages to a `package.json` file as dependencies. When used with the `npm rm` command, removes the dependency from -package.json. +`package.json`. + +Will also prevent writing to `package-lock.json` if set to `false`. <!-- automatically generated, do not edit manually --> <!-- see lib/utils/config/definitions.js --> @@ -217,6 +229,8 @@ When package package-locks are disabled, automatic pruning of extraneous modules will also be disabled. To remove extraneous modules with package-locks disabled use `npm prune`. +This configuration does not affect `npm ci`. + <!-- automatically generated, do not edit manually --> <!-- see lib/utils/config/definitions.js --> diff --git a/deps/npm/docs/content/commands/npm-logout.md b/deps/npm/docs/content/commands/npm-logout.md index cb7c8496fb4..f0dd5cb856e 100644 --- a/deps/npm/docs/content/commands/npm-logout.md +++ b/deps/npm/docs/content/commands/npm-logout.md @@ -6,10 +6,19 @@ description: Log out of the registry ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/logout.js --> + ```bash -npm logout [--registry=<url>] [--scope=<@scope>] +npm logout ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/logout.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-ls.md b/deps/npm/docs/content/commands/npm-ls.md index 3b33f0a3605..0f06e131f41 100644 --- a/deps/npm/docs/content/commands/npm-ls.md +++ b/deps/npm/docs/content/commands/npm-ls.md @@ -6,12 +6,21 @@ description: List installed packages ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/ls.js --> + ```bash npm ls [[<@scope>/]<pkg> ...] -aliases: list, la, ll +alias: list ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/ls.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This command will print to stdout all the versions of packages that are diff --git a/deps/npm/docs/content/commands/npm-org.md b/deps/npm/docs/content/commands/npm-org.md index 2f08f611529..975581c860d 100644 --- a/deps/npm/docs/content/commands/npm-org.md +++ b/deps/npm/docs/content/commands/npm-org.md @@ -6,12 +6,23 @@ description: Manage orgs ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/org.js --> + ```bash -npm org set <orgname> <username> [developer | admin | owner] -npm org rm <orgname> <username> -npm org ls <orgname> [<username>] +npm org set orgname username [developer | admin | owner] +npm org rm orgname username +npm org ls orgname [<username>] + +alias: ogr ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/org.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Example diff --git a/deps/npm/docs/content/commands/npm-outdated.md b/deps/npm/docs/content/commands/npm-outdated.md index 1b58a6afda6..6fa026550e7 100644 --- a/deps/npm/docs/content/commands/npm-outdated.md +++ b/deps/npm/docs/content/commands/npm-outdated.md @@ -6,10 +6,19 @@ description: Check for outdated packages ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/outdated.js --> + ```bash npm outdated [[<@scope>/]<pkg> ...] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/outdated.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This command will check the registry to see if any (or, specific) installed diff --git a/deps/npm/docs/content/commands/npm-owner.md b/deps/npm/docs/content/commands/npm-owner.md index 74e7f84af6c..0779984e19a 100644 --- a/deps/npm/docs/content/commands/npm-owner.md +++ b/deps/npm/docs/content/commands/npm-owner.md @@ -6,14 +6,23 @@ description: Manage package owners ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/owner.js --> + ```bash npm owner add <user> [<@scope>/]<pkg> npm owner rm <user> [<@scope>/]<pkg> npm owner ls [<@scope>/]<pkg> -aliases: author +alias: author ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/owner.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-pack.md b/deps/npm/docs/content/commands/npm-pack.md index 53945986837..c834f643ac0 100644 --- a/deps/npm/docs/content/commands/npm-pack.md +++ b/deps/npm/docs/content/commands/npm-pack.md @@ -6,10 +6,19 @@ description: Create a tarball from a package ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/pack.js --> + ```bash -npm pack [[<@scope>/]<pkg>...] [--dry-run] [--json] +npm pack [[<@scope>/]<pkg>...] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/pack.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Configuration <!-- AUTOGENERATED CONFIG DESCRIPTIONS START --> diff --git a/deps/npm/docs/content/commands/npm-ping.md b/deps/npm/docs/content/commands/npm-ping.md index c59a56e611e..161d7292f8c 100644 --- a/deps/npm/docs/content/commands/npm-ping.md +++ b/deps/npm/docs/content/commands/npm-ping.md @@ -6,10 +6,19 @@ description: Ping npm registry ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/ping.js --> + ```bash -npm ping [--registry <registry>] +npm ping ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/ping.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-pkg.md b/deps/npm/docs/content/commands/npm-pkg.md index beee9c1c4e7..8f6cbecf958 100644 --- a/deps/npm/docs/content/commands/npm-pkg.md +++ b/deps/npm/docs/content/commands/npm-pkg.md @@ -6,12 +6,21 @@ description: Manages your package.json ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/pkg.js --> + ```bash -npm pkg get [<field> [.<subfield> ...]] -npm pkg set <field>=<value> [.<subfield>=<value> ...] -npm pkg delete <field> [.<subfield> ...] +npm pkg set <key>=<value> [<key>=<value> ...] +npm pkg get [<key> [<key> ...]] +npm pkg delete <key> [<key> ...] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/pkg.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description A command that automates the management of `package.json` files. diff --git a/deps/npm/docs/content/commands/npm-prefix.md b/deps/npm/docs/content/commands/npm-prefix.md index 276a9e9e699..39328bcc88a 100644 --- a/deps/npm/docs/content/commands/npm-prefix.md +++ b/deps/npm/docs/content/commands/npm-prefix.md @@ -6,10 +6,19 @@ description: Display prefix ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/prefix.js --> + ```bash npm prefix [-g] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/prefix.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-profile.md b/deps/npm/docs/content/commands/npm-profile.md index cecc48518db..af1f9d8aa10 100644 --- a/deps/npm/docs/content/commands/npm-profile.md +++ b/deps/npm/docs/content/commands/npm-profile.md @@ -6,14 +6,22 @@ description: Change settings on your registry profile ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/profile.js --> + ```bash -npm profile get [--json|--parseable] [<property>] -npm profile set [--json|--parseable] <property> <value> -npm profile set password -npm profile enable-2fa [auth-and-writes|auth-only] +npm profile enable-2fa [auth-only|auth-and-writes] npm profile disable-2fa +npm profile get [<key>] +npm profile set <key> <value> ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/profile.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-prune.md b/deps/npm/docs/content/commands/npm-prune.md index 658ab2610e0..49420e5b9d9 100644 --- a/deps/npm/docs/content/commands/npm-prune.md +++ b/deps/npm/docs/content/commands/npm-prune.md @@ -6,10 +6,19 @@ description: Remove extraneous packages ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/prune.js --> + ```bash -npm prune [[<@scope>/]<pkg>...] [--production] [--dry-run] [--json] +npm prune [[<@scope>/]<pkg>...] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/prune.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This command removes "extraneous" packages. If a package name is provided, diff --git a/deps/npm/docs/content/commands/npm-publish.md b/deps/npm/docs/content/commands/npm-publish.md index 6958b1066de..ce6e1c1012c 100644 --- a/deps/npm/docs/content/commands/npm-publish.md +++ b/deps/npm/docs/content/commands/npm-publish.md @@ -6,13 +6,19 @@ description: Publish a package ### Synopsis -```bash -npm publish [<tarball>|<folder>] [--tag <tag>] [--access <public|restricted>] [--otp otpcode] [--dry-run] +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/publish.js --> -Publishes '.' if no argument supplied -Sets tag 'latest' if no --tag specified +```bash +npm publish [<folder>] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/publish.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description Publishes a package to the registry so that it can be installed by name. diff --git a/deps/npm/docs/content/commands/npm-rebuild.md b/deps/npm/docs/content/commands/npm-rebuild.md index 75e71c60e68..ecb4a7ce34c 100644 --- a/deps/npm/docs/content/commands/npm-rebuild.md +++ b/deps/npm/docs/content/commands/npm-rebuild.md @@ -6,12 +6,21 @@ description: Rebuild a package ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/rebuild.js --> + ```bash npm rebuild [[<@scope>/]<name>[@<version>] ...] alias: rb ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/rebuild.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This command runs the `npm build` command on the matched folders. This is diff --git a/deps/npm/docs/content/commands/npm-repo.md b/deps/npm/docs/content/commands/npm-repo.md index cd47fde4712..e14f07012a2 100644 --- a/deps/npm/docs/content/commands/npm-repo.md +++ b/deps/npm/docs/content/commands/npm-repo.md @@ -6,10 +6,19 @@ description: Open package repository page in the browser ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/repo.js --> + ```bash npm repo [<pkgname> [<pkgname> ...]] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/repo.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This command tries to guess at the likely location of a package's diff --git a/deps/npm/docs/content/commands/npm-restart.md b/deps/npm/docs/content/commands/npm-restart.md index 80f8ab77ef0..f01cd014e74 100644 --- a/deps/npm/docs/content/commands/npm-restart.md +++ b/deps/npm/docs/content/commands/npm-restart.md @@ -6,10 +6,19 @@ description: Restart a package ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/restart.js --> + ```bash npm restart [-- <args>] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/restart.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This restarts a project. It is equivalent to running `npm run-script diff --git a/deps/npm/docs/content/commands/npm-root.md b/deps/npm/docs/content/commands/npm-root.md index 98d1108d33f..40b58e4b33d 100644 --- a/deps/npm/docs/content/commands/npm-root.md +++ b/deps/npm/docs/content/commands/npm-root.md @@ -6,10 +6,19 @@ description: Display npm root ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/root.js --> + ```bash -npm root [-g] +npm root ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/root.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description Print the effective `node_modules` folder to standard out. diff --git a/deps/npm/docs/content/commands/npm-run-script.md b/deps/npm/docs/content/commands/npm-run-script.md index 6dd602d03e0..79b7c9a2578 100644 --- a/deps/npm/docs/content/commands/npm-run-script.md +++ b/deps/npm/docs/content/commands/npm-run-script.md @@ -6,14 +6,21 @@ description: Run arbitrary package scripts ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/run-script.js --> + ```bash -npm run-script <command> [--if-present] [--silent] [-- <args>] -npm run-script <command> [--workspace=<workspace-name>] -npm run-script <command> [--workspaces] +npm run-script <command> [-- <args>] aliases: run, rum, urn ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/run-script.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This runs an arbitrary command from a package's `"scripts"` object. If no diff --git a/deps/npm/docs/content/commands/npm-search.md b/deps/npm/docs/content/commands/npm-search.md index 252822e7198..db6a12bafab 100644 --- a/deps/npm/docs/content/commands/npm-search.md +++ b/deps/npm/docs/content/commands/npm-search.md @@ -6,12 +6,21 @@ description: Search for packages ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/search.js --> + ```bash -npm search [-l|--long] [--json] [--parseable] [--no-description] [search terms ...] +npm search [search terms ...] aliases: s, se, find ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/search.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-set-script.md b/deps/npm/docs/content/commands/npm-set-script.md index 869ceede045..2d8e87db852 100644 --- a/deps/npm/docs/content/commands/npm-set-script.md +++ b/deps/npm/docs/content/commands/npm-set-script.md @@ -7,10 +7,19 @@ description: Set tasks in the scripts section of package.json ### Synopsis An npm command that lets you create a task in the `scripts` section of the `package.json`. +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/set-script.js --> + ```bash npm set-script [<script>] [<command>] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/set-script.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + **Example:** diff --git a/deps/npm/docs/content/commands/npm-shrinkwrap.md b/deps/npm/docs/content/commands/npm-shrinkwrap.md index 6786229469d..043b4ad1b1b 100644 --- a/deps/npm/docs/content/commands/npm-shrinkwrap.md +++ b/deps/npm/docs/content/commands/npm-shrinkwrap.md @@ -6,10 +6,19 @@ description: Lock down dependency versions for publication ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/shrinkwrap.js --> + ```bash npm shrinkwrap ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/shrinkwrap.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-star.md b/deps/npm/docs/content/commands/npm-star.md index 21109c35096..bbec7ac5f92 100644 --- a/deps/npm/docs/content/commands/npm-star.md +++ b/deps/npm/docs/content/commands/npm-star.md @@ -6,10 +6,19 @@ description: Mark your favorite packages ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/star.js --> + ```bash npm star [<pkg>...] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/star.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-stars.md b/deps/npm/docs/content/commands/npm-stars.md index 101559ad99b..b9153831533 100644 --- a/deps/npm/docs/content/commands/npm-stars.md +++ b/deps/npm/docs/content/commands/npm-stars.md @@ -5,10 +5,20 @@ description: View packages marked as favorites --- ### Synopsis + +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/stars.js --> + ```bash npm stars [<user>] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/stars.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-start.md b/deps/npm/docs/content/commands/npm-start.md index 50a54cb5e5b..8dd874b3c7d 100644 --- a/deps/npm/docs/content/commands/npm-start.md +++ b/deps/npm/docs/content/commands/npm-start.md @@ -6,10 +6,19 @@ description: Start a package ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/start.js --> + ```bash npm start [-- <args>] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/start.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This runs a predefined command specified in the `"start"` property of diff --git a/deps/npm/docs/content/commands/npm-stop.md b/deps/npm/docs/content/commands/npm-stop.md index d4de4caf3a6..9a3a55cf3f2 100644 --- a/deps/npm/docs/content/commands/npm-stop.md +++ b/deps/npm/docs/content/commands/npm-stop.md @@ -6,10 +6,19 @@ description: Stop a package ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/stop.js --> + ```bash npm stop [-- <args>] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/stop.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This runs a predefined command specified in the "stop" property of a diff --git a/deps/npm/docs/content/commands/npm-team.md b/deps/npm/docs/content/commands/npm-team.md index 6050af1dff2..dc26fb53aaf 100644 --- a/deps/npm/docs/content/commands/npm-team.md +++ b/deps/npm/docs/content/commands/npm-team.md @@ -6,16 +6,23 @@ description: Manage organization teams and team memberships ### Synopsis -```bash -npm team create <scope:team> -npm team destroy <scope:team> - -npm team add <scope:team> <user> -npm team rm <scope:team> <user> +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/team.js --> +```bash +npm team create <scope:team> [--otp <otpcode>] +npm team destroy <scope:team> [--otp <otpcode>] +npm team add <scope:team> <user> [--otp <otpcode>] +npm team rm <scope:team> <user> [--otp <otpcode>] npm team ls <scope>|<scope:team> ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/team.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-test.md b/deps/npm/docs/content/commands/npm-test.md index 2059f93dec4..8a343ab299b 100644 --- a/deps/npm/docs/content/commands/npm-test.md +++ b/deps/npm/docs/content/commands/npm-test.md @@ -6,12 +6,21 @@ description: Test a package ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/test.js --> + ```bash npm test [-- <args>] -aliases: t, tst +aliases: tst, t ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/test.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This runs a predefined command specified in the `"test"` property of diff --git a/deps/npm/docs/content/commands/npm-token.md b/deps/npm/docs/content/commands/npm-token.md index 16da1f73192..856ad68c9c9 100644 --- a/deps/npm/docs/content/commands/npm-token.md +++ b/deps/npm/docs/content/commands/npm-token.md @@ -5,12 +5,22 @@ description: Manage your authentication tokens --- ### Synopsis + +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/token.js --> + ```bash - npm token list [--json|--parseable] - npm token create [--read-only] [--cidr=1.1.1.1/24,2.2.2.2/16] - npm token revoke <id|token> +npm token list +npm token revoke <id|token> +npm token create [--read-only] [--cidr=list] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/token.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-uninstall.md b/deps/npm/docs/content/commands/npm-uninstall.md index 824d0d8760e..8132bf6bc40 100644 --- a/deps/npm/docs/content/commands/npm-uninstall.md +++ b/deps/npm/docs/content/commands/npm-uninstall.md @@ -6,12 +6,21 @@ description: Remove a package ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/uninstall.js --> + ```bash -npm uninstall [<@scope>/]<pkg>[@<version>]... [-S|--save|--no-save] +npm uninstall [<@scope>/]<pkg>... -aliases: remove, rm, r, un, unlink +aliases: un, unlink, remove, rm, r ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/uninstall.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This uninstalls a package, completely removing everything npm installed @@ -61,13 +70,16 @@ npm uninstall lodash --no-save <!-- see lib/utils/config/definitions.js --> #### `save` -* Default: true +* Default: `true` unless when using `npm update` or `npm dedupe` where it + defaults to `false` * Type: Boolean -Save installed packages to a package.json file as dependencies. +Save installed packages to a `package.json` file as dependencies. When used with the `npm rm` command, removes the dependency from -package.json. +`package.json`. + +Will also prevent writing to `package-lock.json` if set to `false`. <!-- automatically generated, do not edit manually --> <!-- see lib/utils/config/definitions.js --> diff --git a/deps/npm/docs/content/commands/npm-unstar.md b/deps/npm/docs/content/commands/npm-unstar.md index d6e36207723..76202190da8 100644 --- a/deps/npm/docs/content/commands/npm-unstar.md +++ b/deps/npm/docs/content/commands/npm-unstar.md @@ -6,10 +6,19 @@ description: Remove an item from your favorite packages ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/unstar.js --> + ```bash npm unstar [<pkg>...] ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/unstar.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm-update.md b/deps/npm/docs/content/commands/npm-update.md index 1889d60569f..e1b48a8ed43 100644 --- a/deps/npm/docs/content/commands/npm-update.md +++ b/deps/npm/docs/content/commands/npm-update.md @@ -6,12 +6,21 @@ description: Update packages ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/update.js --> + ```bash -npm update [-g] [<pkg>...] +npm update [<pkg>...] -aliases: up, upgrade +aliases: up, upgrade, udpate ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/update.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This command will update all the packages listed to the latest version @@ -239,6 +248,24 @@ When package package-locks are disabled, automatic pruning of extraneous modules will also be disabled. To remove extraneous modules with package-locks disabled use `npm prune`. +This configuration does not affect `npm ci`. + +<!-- automatically generated, do not edit manually --> +<!-- see lib/utils/config/definitions.js --> + +#### `save` + +* Default: `true` unless when using `npm update` or `npm dedupe` where it + defaults to `false` +* Type: Boolean + +Save installed packages to a `package.json` file as dependencies. + +When used with the `npm rm` command, removes the dependency from +`package.json`. + +Will also prevent writing to `package-lock.json` if set to `false`. + <!-- automatically generated, do not edit manually --> <!-- see lib/utils/config/definitions.js --> diff --git a/deps/npm/docs/content/commands/npm-version.md b/deps/npm/docs/content/commands/npm-version.md index 91ab0dee042..b53dd64aeae 100644 --- a/deps/npm/docs/content/commands/npm-version.md +++ b/deps/npm/docs/content/commands/npm-version.md @@ -6,14 +6,21 @@ description: Bump a package version ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/version.js --> + ```bash -npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git] +npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease | from-git] -'npm [-v | --version]' to print npm version -'npm view <pkg> version' to view a package's published version -'npm ls' to inspect current package/dependency versions +alias: verison ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/version.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Configuration <!-- AUTOGENERATED CONFIG DESCRIPTIONS START --> diff --git a/deps/npm/docs/content/commands/npm-view.md b/deps/npm/docs/content/commands/npm-view.md index 9a1793f13fa..53ca408a012 100644 --- a/deps/npm/docs/content/commands/npm-view.md +++ b/deps/npm/docs/content/commands/npm-view.md @@ -6,12 +6,21 @@ description: View registry info ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/view.js --> + ```bash -npm view [<@scope>/]<name>[@<version>] [<field>[.<subfield>]...] +npm view [<@scope>/]<pkg>[@<version>] [<field>[.subfield]...] -aliases: info, show, v +aliases: v, info, show ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/view.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + ### Description This command shows data about a package and prints it to stdout. diff --git a/deps/npm/docs/content/commands/npm-whoami.md b/deps/npm/docs/content/commands/npm-whoami.md index 2cd7ffde3f4..18416f633a1 100644 --- a/deps/npm/docs/content/commands/npm-whoami.md +++ b/deps/npm/docs/content/commands/npm-whoami.md @@ -6,10 +6,19 @@ description: Display npm username ### Synopsis +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/whoami.js --> + ```bash -npm whoami [--registry <registry>] +npm whoami ``` +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/whoami.js --> + +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> + Note: This command is unaware of workspaces. ### Description diff --git a/deps/npm/docs/content/commands/npm.md b/deps/npm/docs/content/commands/npm.md index de510870640..aaf295dfde2 100644 --- a/deps/npm/docs/content/commands/npm.md +++ b/deps/npm/docs/content/commands/npm.md @@ -6,9 +6,8 @@ description: javascript package manager ### Synopsis -```bash -npm <command> [args] -``` +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> ### Version diff --git a/deps/npm/docs/content/commands/npx.md b/deps/npm/docs/content/commands/npx.md index c1aae0b9ff0..e7e59d00d84 100644 --- a/deps/npm/docs/content/commands/npx.md +++ b/deps/npm/docs/content/commands/npx.md @@ -6,23 +6,21 @@ description: Run a command from a local or remote npm package ### Synopsis -```bash -npm exec -- <pkg>[@<version>] [args...] -npm exec --package=<pkg>[@<version>] -- <cmd> [args...] -npm exec -c '<cmd> [args...]' -npm exec --package=foo -c '<cmd> [args...]' +<!-- AUTOGENERATED USAGE DESCRIPTIONS START --> +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/exec.js --> -npx <pkg>[@<specifier>] [args...] -npx -p <pkg>[@<specifier>] <cmd> [args...] +```bash +npx -- <pkg>[@<version>] [args...] +npx --package=<pkg>[@<version>] -- <cmd> [args...] npx -c '<cmd> [args...]' -npx -p <pkg>[@<specifier>] -c '<cmd> [args...]' +npx --package=foo -c '<cmd> [args...]' +``` -alias: npm x, npx +<!-- automatically generated, do not edit manually --> +<!-- see lib/commands/exec.js --> ---package=<pkg> (may be specified multiple times) --p is a shorthand for --package only when using npx executable --c <cmd> --call=<cmd> (may not be mixed with positional arguments) -``` +<!-- AUTOGENERATED USAGE DESCRIPTIONS END --> ### Description diff --git a/deps/npm/docs/content/using-npm/scripts.md b/deps/npm/docs/content/using-npm/scripts.md index 737cef3f43c..f79ddc65e9b 100644 --- a/deps/npm/docs/content/using-npm/scripts.md +++ b/deps/npm/docs/content/using-npm/scripts.md @@ -344,6 +344,11 @@ file. preinstall or install script. If you are doing this, please consider if there is another option. The only valid use of `install` or `preinstall` scripts is for compilation which must be done on the target architecture. +* Scripts are run from the root of the package folder, regardless of what the + current working directory is when `npm` is invoked. If you want your + script to use different behavior based on what subdirectory you're in, you + can use the `INIT_CWD` environment variable, which holds the full path you + were in when you ran `npm run`. ### See Also diff --git a/deps/npm/docs/output/commands/npm-access.html b/deps/npm/docs/output/commands/npm-access.html index cfadcce10c5..71eed719dbb 100644 --- a/deps/npm/docs/output/commands/npm-access.html +++ b/deps/npm/docs/output/commands/npm-access.html @@ -146,19 +146,22 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm access public [<package>] npm access restricted [<package>] - npm access grant <read-only|read-write> <scope:team> [<package>] npm access revoke <scope:team> [<package>] - npm access 2fa-required [<package>] npm access 2fa-not-required [<package>] - npm access ls-packages [<user>|<scope>|<scope:team>] npm access ls-collaborators [<package> [<user>]] npm access edit [<package>] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>Used to set access controls on private packages.</p> <p>For all of the subcommands, <code>npm access</code> will perform actions on the packages diff --git a/deps/npm/docs/output/commands/npm-adduser.html b/deps/npm/docs/output/commands/npm-adduser.html index 7d7d606b0f3..c0b870e5346 100644 --- a/deps/npm/docs/output/commands/npm-adduser.html +++ b/deps/npm/docs/output/commands/npm-adduser.html @@ -146,10 +146,16 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm adduser [--registry=url] [--scope=@orgname] [--auth-type=legacy] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm adduser aliases: login, add-user </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>Create or verify a user named <code><username></code> in the specified registry, and diff --git a/deps/npm/docs/output/commands/npm-audit.html b/deps/npm/docs/output/commands/npm-audit.html index 95167a3c329..11006e2f090 100644 --- a/deps/npm/docs/output/commands/npm-audit.html +++ b/deps/npm/docs/output/commands/npm-audit.html @@ -146,11 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm audit [--json] [--production] [--audit-level=(low|moderate|high|critical)] -npm audit fix [--force|--package-lock-only|--dry-run|--production|--only=(dev|prod)] - -common options: [--production] [--only=(dev|prod)] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm audit [fix] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>The audit command submits a description of the dependencies configured in your project to your default registry and asks for a report of known diff --git a/deps/npm/docs/output/commands/npm-bin.html b/deps/npm/docs/output/commands/npm-bin.html index 3bf26a23f8a..5961ea7e50f 100644 --- a/deps/npm/docs/output/commands/npm-bin.html +++ b/deps/npm/docs/output/commands/npm-bin.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm bin [-g|--global] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm bin </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>Print the folder where npm will install executables.</p> diff --git a/deps/npm/docs/output/commands/npm-bugs.html b/deps/npm/docs/output/commands/npm-bugs.html index 5f192715705..3b5bed07593 100644 --- a/deps/npm/docs/output/commands/npm-bugs.html +++ b/deps/npm/docs/output/commands/npm-bugs.html @@ -146,10 +146,16 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm bugs [<pkgname> [<pkgname> ...]] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm bugs [<pkgname>] -aliases: issues +alias: issues </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This command tries to guess at the likely location of a package's bug tracker URL or the <code>mailto</code> URL of the support email, and then tries to diff --git a/deps/npm/docs/output/commands/npm-cache.html b/deps/npm/docs/output/commands/npm-cache.html index 88ccd2facda..c5d6869b343 100644 --- a/deps/npm/docs/output/commands/npm-cache.html +++ b/deps/npm/docs/output/commands/npm-cache.html @@ -146,16 +146,21 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm cache add <tarball file>... -npm cache add <folder>... -npm cache add <tarball url>... -npm cache add <name>@<version>... - -npm cache clean -aliases: npm cache clear, npm cache rm - +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm cache add <tarball file> +npm cache add <folder> +npm cache add <tarball url> +npm cache add <git url> +npm cache add <name>@<version> +npm cache clean [<key>] +npm cache ls [<name>@<version>] npm cache verify </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>Used to add, list, or clean the npm cache folder.</p> diff --git a/deps/npm/docs/output/commands/npm-ci.html b/deps/npm/docs/output/commands/npm-ci.html index d2beab0364e..fdde58b1adb 100644 --- a/deps/npm/docs/output/commands/npm-ci.html +++ b/deps/npm/docs/output/commands/npm-ci.html @@ -146,8 +146,16 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm ci + +aliases: clean-install, ic, install-clean, isntall-clean </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This command is similar to <a href="../commands/npm-install.html"><code>npm install</code></a>, except it's meant to be used in automated environments such as test platforms, diff --git a/deps/npm/docs/output/commands/npm-completion.html b/deps/npm/docs/output/commands/npm-completion.html index a8351c874bf..3864e693bd9 100644 --- a/deps/npm/docs/output/commands/npm-completion.html +++ b/deps/npm/docs/output/commands/npm-completion.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>source <(npm completion) +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm completion </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>Enables tab-completion in all npm commands.</p> diff --git a/deps/npm/docs/output/commands/npm-config.html b/deps/npm/docs/output/commands/npm-config.html index 9f1e1f2b37a..f8b279756df 100644 --- a/deps/npm/docs/output/commands/npm-config.html +++ b/deps/npm/docs/output/commands/npm-config.html @@ -146,16 +146,20 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm config set <key>=<value> [<key>=<value> ...] npm config get [<key> [<key> ...]] npm config delete <key> [<key> ...] npm config list [--json] npm config edit -npm set <key>=<value> [<key>=<value> ...] -npm get [<key> [<key> ...]] alias: c </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>npm gets its config settings from the command line, environment diff --git a/deps/npm/docs/output/commands/npm-dedupe.html b/deps/npm/docs/output/commands/npm-dedupe.html index a31af824b20..8d7e42ad46a 100644 --- a/deps/npm/docs/output/commands/npm-dedupe.html +++ b/deps/npm/docs/output/commands/npm-dedupe.html @@ -142,15 +142,20 @@ npm command-line interface <section id="table_of_contents"> <h2 id="table-of-contents">Table of contents</h2> -<div id="_table_of_contents"><ul><li><a href="#synopsis">Synopsis</a></li><li><a href="#description">Description</a></li><li><a href="#configuration">Configuration</a></li><ul><li><a href="#global-style"><code>global-style</code></a></li><li><a href="#legacy-bundling"><code>legacy-bundling</code></a></li><li><a href="#strict-peer-deps"><code>strict-peer-deps</code></a></li><li><a href="#package-lock"><code>package-lock</code></a></li><li><a href="#omit"><code>omit</code></a></li><li><a href="#ignore-scripts"><code>ignore-scripts</code></a></li><li><a href="#audit"><code>audit</code></a></li><li><a href="#bin-links"><code>bin-links</code></a></li><li><a href="#fund"><code>fund</code></a></li><li><a href="#dry-run"><code>dry-run</code></a></li><li><a href="#workspace"><code>workspace</code></a></li><li><a href="#workspaces"><code>workspaces</code></a></li><li><a href="#include-workspace-root"><code>include-workspace-root</code></a></li></ul><li><a href="#see-also">See Also</a></li></ul></div> +<div id="_table_of_contents"><ul><li><a href="#synopsis">Synopsis</a></li><li><a href="#description">Description</a></li><li><a href="#configuration">Configuration</a></li><ul><li><a href="#global-style"><code>global-style</code></a></li><li><a href="#legacy-bundling"><code>legacy-bundling</code></a></li><li><a href="#strict-peer-deps"><code>strict-peer-deps</code></a></li><li><a href="#package-lock"><code>package-lock</code></a></li><li><a href="#save"><code>save</code></a></li><li><a href="#omit"><code>omit</code></a></li><li><a href="#ignore-scripts"><code>ignore-scripts</code></a></li><li><a href="#audit"><code>audit</code></a></li><li><a href="#bin-links"><code>bin-links</code></a></li><li><a href="#fund"><code>fund</code></a></li><li><a href="#dry-run"><code>dry-run</code></a></li><li><a href="#workspace"><code>workspace</code></a></li><li><a href="#workspaces"><code>workspaces</code></a></li><li><a href="#include-workspace-root"><code>include-workspace-root</code></a></li></ul><li><a href="#see-also">See Also</a></li></ul></div> </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm dedupe -npm ddp -aliases: ddp +alias: ddp </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>Searches the local package tree and attempts to simplify the overall structure by moving dependencies further up the tree, where they can @@ -253,6 +258,19 @@ will also prevent <em>writing</em> <code>package-lock.json</code> if <code>save< <p>When package package-locks are disabled, automatic pruning of extraneous modules will also be disabled. To remove extraneous modules with package-locks disabled use <code>npm prune</code>.</p> +<p>This configuration does not affect <code>npm ci</code>.</p> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<h4 id="save"><code>save</code></h4> +<ul> +<li>Default: <code>true</code> unless when using <code>npm update</code> or <code>npm dedupe</code> where it +defaults to <code>false</code></li> +<li>Type: Boolean</li> +</ul> +<p>Save installed packages to a <code>package.json</code> file as dependencies.</p> +<p>When used with the <code>npm rm</code> command, removes the dependency from +<code>package.json</code>.</p> +<p>Will also prevent writing to <code>package-lock.json</code> if set to <code>false</code>.</p> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <h4 id="omit"><code>omit</code></h4> diff --git a/deps/npm/docs/output/commands/npm-deprecate.html b/deps/npm/docs/output/commands/npm-deprecate.html index e95ecf85ab6..52a9ef82c30 100644 --- a/deps/npm/docs/output/commands/npm-deprecate.html +++ b/deps/npm/docs/output/commands/npm-deprecate.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm deprecate <pkg>[@<version range>] <message> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm deprecate <pkg>[@<version>] <message> </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>This command will update the npm registry entry for a package, providing a diff --git a/deps/npm/docs/output/commands/npm-diff.html b/deps/npm/docs/output/commands/npm-diff.html index 171113201e1..c26aa27e8a0 100644 --- a/deps/npm/docs/output/commands/npm-diff.html +++ b/deps/npm/docs/output/commands/npm-diff.html @@ -146,12 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm diff [...<paths>] -npm diff --diff=<pkg-name> [...<paths>] -npm diff --diff=<version-a> [--diff=<version-b>] [...<paths>] -npm diff --diff=<spec-a> [--diff=<spec-b>] [...<paths>] -npm diff [--diff-ignore-all-space] [--diff-name-only] [...<paths>] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>Similar to its <code>git diff</code> counterpart, this command will print diff patches of files for packages published to the npm registry.</p> diff --git a/deps/npm/docs/output/commands/npm-dist-tag.html b/deps/npm/docs/output/commands/npm-dist-tag.html index 9448432a787..8cadd42dcc4 100644 --- a/deps/npm/docs/output/commands/npm-dist-tag.html +++ b/deps/npm/docs/output/commands/npm-dist-tag.html @@ -146,12 +146,18 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm dist-tag add <pkg>@<version> [<tag>] npm dist-tag rm <pkg> <tag> npm dist-tag ls [<pkg>] -aliases: dist-tags +alias: dist-tags </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>Add, remove, and enumerate distribution tags on a package:</p> <ul> diff --git a/deps/npm/docs/output/commands/npm-docs.html b/deps/npm/docs/output/commands/npm-docs.html index 01094eba1d7..c25f8abf9b7 100644 --- a/deps/npm/docs/output/commands/npm-docs.html +++ b/deps/npm/docs/output/commands/npm-docs.html @@ -146,10 +146,16 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm docs [<pkgname> [<pkgname> ...]] -aliases: home +alias: home </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This command tries to guess at the likely location of a package's documentation URL, and then tries to open it using the <code>--browser</code> config diff --git a/deps/npm/docs/output/commands/npm-doctor.html b/deps/npm/docs/output/commands/npm-doctor.html index 2f42a6238e0..1d41b2ce186 100644 --- a/deps/npm/docs/output/commands/npm-doctor.html +++ b/deps/npm/docs/output/commands/npm-doctor.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm doctor </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p><code>npm doctor</code> runs a set of checks to ensure that your npm installation has diff --git a/deps/npm/docs/output/commands/npm-edit.html b/deps/npm/docs/output/commands/npm-edit.html index 7b5cf1ca36a..78c2445fa10 100644 --- a/deps/npm/docs/output/commands/npm-edit.html +++ b/deps/npm/docs/output/commands/npm-edit.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm edit <pkg> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm edit <pkg>[/<subpkg>...] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>Selects a dependency in the current project and opens the package folder in diff --git a/deps/npm/docs/output/commands/npm-exec.html b/deps/npm/docs/output/commands/npm-exec.html index 89398e3147c..4a5f14389c0 100644 --- a/deps/npm/docs/output/commands/npm-exec.html +++ b/deps/npm/docs/output/commands/npm-exec.html @@ -146,25 +146,19 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm exec -- <pkg>[@<version>] [args...] npm exec --package=<pkg>[@<version>] -- <cmd> [args...] npm exec -c '<cmd> [args...]' npm exec --package=foo -c '<cmd> [args...]' -npm exec [--ws] [-w <workspace-name] [args...] - -npx <pkg>[@<specifier>] [args...] -npx -p <pkg>[@<specifier>] <cmd> [args...] -npx -c '<cmd> [args...]' -npx -p <pkg>[@<specifier>] -c '<cmd> [args...]' -Run without --call or positional args to open interactive subshell -alias: npm x, npx - -common options: ---package=<pkg> (may be specified multiple times) --p is a shorthand for --package only when using npx executable --c <cmd> --call=<cmd> (may not be mixed with positional arguments) +alias: x </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This command allows you to run an arbitrary command from an npm package (either one installed locally, or fetched remotely), in a similar context diff --git a/deps/npm/docs/output/commands/npm-explain.html b/deps/npm/docs/output/commands/npm-explain.html index 4c0ef6dc80b..caf5ab1506f 100644 --- a/deps/npm/docs/output/commands/npm-explain.html +++ b/deps/npm/docs/output/commands/npm-explain.html @@ -146,10 +146,16 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm explain <folder | specifier> alias: why </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This command will print the chain of dependencies causing a given package to be installed in the current project.</p> diff --git a/deps/npm/docs/output/commands/npm-explore.html b/deps/npm/docs/output/commands/npm-explore.html index 5082ce5bacd..833605d5e09 100644 --- a/deps/npm/docs/output/commands/npm-explore.html +++ b/deps/npm/docs/output/commands/npm-explore.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm explore <pkg> [ -- <command>] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>Spawn a subshell in the directory of the installed package specified.</p> diff --git a/deps/npm/docs/output/commands/npm-find-dupes.html b/deps/npm/docs/output/commands/npm-find-dupes.html index 8625c3d098a..c5685458d96 100644 --- a/deps/npm/docs/output/commands/npm-find-dupes.html +++ b/deps/npm/docs/output/commands/npm-find-dupes.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm find-dupes </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>Runs <code>npm dedupe</code> in <code>--dry-run</code> mode, making npm only output the duplications, without actually changing the package tree.</p> @@ -207,6 +213,7 @@ will also prevent <em>writing</em> <code>package-lock.json</code> if <code>save< <p>When package package-locks are disabled, automatic pruning of extraneous modules will also be disabled. To remove extraneous modules with package-locks disabled use <code>npm prune</code>.</p> +<p>This configuration does not affect <code>npm ci</code>.</p> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <h4 id="omit"><code>omit</code></h4> diff --git a/deps/npm/docs/output/commands/npm-fund.html b/deps/npm/docs/output/commands/npm-fund.html index af7991b542b..ba88e461c60 100644 --- a/deps/npm/docs/output/commands/npm-fund.html +++ b/deps/npm/docs/output/commands/npm-fund.html @@ -146,9 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm fund [<pkg>] -npm fund [-w <workspace-name>] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm fund [[<@scope>/]<pkg>] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This command retrieves information on how to fund the dependencies of a given project. If no package name is provided, it will list all diff --git a/deps/npm/docs/output/commands/npm-help-search.html b/deps/npm/docs/output/commands/npm-help-search.html index ae743070853..f99095a05a5 100644 --- a/deps/npm/docs/output/commands/npm-help-search.html +++ b/deps/npm/docs/output/commands/npm-help-search.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm help-search <text> </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>This command will search the npm markdown documentation files for the terms diff --git a/deps/npm/docs/output/commands/npm-help.html b/deps/npm/docs/output/commands/npm-help.html index 83d02736e57..2e80805fb37 100644 --- a/deps/npm/docs/output/commands/npm-help.html +++ b/deps/npm/docs/output/commands/npm-help.html @@ -146,8 +146,16 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm help <term> [<terms..>] + +alias: hlep </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>If supplied a topic, then show the appropriate documentation page.</p> diff --git a/deps/npm/docs/output/commands/npm-hook.html b/deps/npm/docs/output/commands/npm-hook.html index 79e5c8719c0..64bf21876db 100644 --- a/deps/npm/docs/output/commands/npm-hook.html +++ b/deps/npm/docs/output/commands/npm-hook.html @@ -146,11 +146,17 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm hook ls [pkg] -npm hook add <entity> <url> <secret> -npm hook update <id> <url> [secret] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm hook add <pkg> <url> <secret> [--type=<type>] +npm hook ls [pkg] npm hook rm <id> +npm hook update <id> <url> <secret> </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>Allows you to manage <a href="https://blog.npmjs.org/post/145260155635/introducing-hooks-get-notifications-of-npm">npm diff --git a/deps/npm/docs/output/commands/npm-init.html b/deps/npm/docs/output/commands/npm-init.html index 530e75fcd09..00874a95c08 100644 --- a/deps/npm/docs/output/commands/npm-init.html +++ b/deps/npm/docs/output/commands/npm-init.html @@ -146,11 +146,18 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm init [--yes|-y|--scope] -npm init <@scope> (same as `npm exec <@scope>/create`) -npm init [<@scope>/]<name> (same as `npm exec [<@scope>/]create-<name>`) -npm init [-w <dir>] [args...] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm init [--force|-f|--yes|-y|--scope] +npm init <@scope> (same as `npx <@scope>/create`) +npm init [<@scope>/]<name> (same as `npx [<@scope>/]create-<name>`) + +aliases: create, innit </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p><code>npm init <initializer></code> can be used to set up a new or existing npm package.</p> @@ -172,6 +179,15 @@ guesses based on existing fields, dependencies, and options selected. It is strictly additive, so it will keep any fields and values that were already set. You can also use <code>-y</code>/<code>--yes</code> to skip the questionnaire altogether. If you pass <code>--scope</code>, it will create a scoped package.</p> +<p><em>Note:</em> if a user already has the <code>create-<initializer></code> package +globally installed, that will be what <code>npm init</code> uses. If you want npm +to use the latest version, or another specific version you must specify +it:</p> +<ul> +<li><code>npm init foo@latest</code> # fetches and runs the latest <code>create-foo</code> from +the registry</li> +<li><code>npm init foo@1.2.3</code> # runs <code>create-foo@1.2.3</code> specifically</li> +</ul> <h4 id="forwarding-additional-options">Forwarding additional options</h4> <p>Any additional options will be passed directly to the command, so <code>npm init foo -- --hello</code> will map to <code>npm exec -- create-foo --hello</code>.</p> <p>To better illustrate how options are forwarded, here's a more evolved diff --git a/deps/npm/docs/output/commands/npm-install-ci-test.html b/deps/npm/docs/output/commands/npm-install-ci-test.html index 1c9fea51e1d..f8b2bcfeeed 100644 --- a/deps/npm/docs/output/commands/npm-install-ci-test.html +++ b/deps/npm/docs/output/commands/npm-install-ci-test.html @@ -146,10 +146,16 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm install-ci-test -alias: npm cit +alias: cit </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This command runs <code>npm ci</code> followed immediately by <code>npm test</code>.</p> <h3 id="configuration">Configuration</h3> diff --git a/deps/npm/docs/output/commands/npm-install-test.html b/deps/npm/docs/output/commands/npm-install-test.html index 833e2855428..9db250961fe 100644 --- a/deps/npm/docs/output/commands/npm-install-test.html +++ b/deps/npm/docs/output/commands/npm-install-test.html @@ -146,18 +146,25 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm install-test (with no args, in package dir) -npm install-test [<@scope>/]<name> -npm install-test [<@scope>/]<name>@<tag> -npm install-test [<@scope>/]<name>@<version> -npm install-test [<@scope>/]<name>@<version range> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm install-test [<@scope>/]<pkg> +npm install-test [<@scope>/]<pkg>@<tag> +npm install-test [<@scope>/]<pkg>@<version> +npm install-test [<@scope>/]<pkg>@<version range> +npm install-test <alias>@npm:<name> +npm install-test <folder> npm install-test <tarball file> npm install-test <tarball url> -npm install-test <folder> +npm install-test <git:// url> +npm install-test <github username>/<github project> -alias: npm it -common options: [--save|--save-dev|--save-optional] [--save-exact] [--dry-run] +alias: it </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This command runs an <code>npm install</code> followed immediately by an <code>npm test</code>. It takes exactly the same arguments as <code>npm install</code>.</p> @@ -167,12 +174,14 @@ takes exactly the same arguments as <code>npm install</code>.</p> <!-- raw HTML omitted --> <h4 id="save"><code>save</code></h4> <ul> -<li>Default: true</li> +<li>Default: <code>true</code> unless when using <code>npm update</code> or <code>npm dedupe</code> where it +defaults to <code>false</code></li> <li>Type: Boolean</li> </ul> -<p>Save installed packages to a package.json file as dependencies.</p> +<p>Save installed packages to a <code>package.json</code> file as dependencies.</p> <p>When used with the <code>npm rm</code> command, removes the dependency from -package.json.</p> +<code>package.json</code>.</p> +<p>Will also prevent writing to <code>package-lock.json</code> if set to <code>false</code>.</p> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <h4 id="save-exact"><code>save-exact</code></h4> @@ -252,6 +261,7 @@ will also prevent <em>writing</em> <code>package-lock.json</code> if <code>save< <p>When package package-locks are disabled, automatic pruning of extraneous modules will also be disabled. To remove extraneous modules with package-locks disabled use <code>npm prune</code>.</p> +<p>This configuration does not affect <code>npm ci</code>.</p> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <h4 id="omit"><code>omit</code></h4> diff --git a/deps/npm/docs/output/commands/npm-install.html b/deps/npm/docs/output/commands/npm-install.html index 5a4f9670fc5..678e4cce344 100644 --- a/deps/npm/docs/output/commands/npm-install.html +++ b/deps/npm/docs/output/commands/npm-install.html @@ -146,21 +146,25 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm install (with no args, in package dir) -npm install [<@scope>/]<name> -npm install [<@scope>/]<name>@<tag> -npm install [<@scope>/]<name>@<version> -npm install [<@scope>/]<name>@<version range> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm install [<@scope>/]<pkg> +npm install [<@scope>/]<pkg>@<tag> +npm install [<@scope>/]<pkg>@<version> +npm install [<@scope>/]<pkg>@<version range> npm install <alias>@npm:<name> -npm install <git-host>:<git-user>/<repo-name> -npm install <git repo url> +npm install <folder> npm install <tarball file> npm install <tarball url> -npm install <folder> +npm install <git:// url> +npm install <github username>/<github project> -aliases: npm i, npm add -common options: [-P|--save-prod|-D|--save-dev|-O|--save-optional|--save-peer] [-E|--save-exact] [-B|--save-bundle] [--no-save] [--dry-run] +aliases: i, in, ins, inst, insta, instal, isnt, isnta, isntal, add </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This command installs a package and any packages that it depends on. If the package has a package-lock, or an npm shrinkwrap file, or a yarn lock file, @@ -496,12 +500,14 @@ does.</p> <!-- raw HTML omitted --> <h4 id="save"><code>save</code></h4> <ul> -<li>Default: true</li> +<li>Default: <code>true</code> unless when using <code>npm update</code> or <code>npm dedupe</code> where it +defaults to <code>false</code></li> <li>Type: Boolean</li> </ul> -<p>Save installed packages to a package.json file as dependencies.</p> +<p>Save installed packages to a <code>package.json</code> file as dependencies.</p> <p>When used with the <code>npm rm</code> command, removes the dependency from -package.json.</p> +<code>package.json</code>.</p> +<p>Will also prevent writing to <code>package-lock.json</code> if set to <code>false</code>.</p> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <h4 id="save-exact"><code>save-exact</code></h4> @@ -581,6 +587,7 @@ will also prevent <em>writing</em> <code>package-lock.json</code> if <code>save< <p>When package package-locks are disabled, automatic pruning of extraneous modules will also be disabled. To remove extraneous modules with package-locks disabled use <code>npm prune</code>.</p> +<p>This configuration does not affect <code>npm ci</code>.</p> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <h4 id="omit"><code>omit</code></h4> diff --git a/deps/npm/docs/output/commands/npm-link.html b/deps/npm/docs/output/commands/npm-link.html index a3776c9bb5a..a659cb16c26 100644 --- a/deps/npm/docs/output/commands/npm-link.html +++ b/deps/npm/docs/output/commands/npm-link.html @@ -146,11 +146,17 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm link (in package dir) npm link [<@scope>/]<pkg>[@<version>] -alias: npm ln +alias: ln </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This is handy for installing your own stuff, so that you can work on it and test iteratively without having to continually rebuild.</p> @@ -223,12 +229,14 @@ workspace(s).</p> <!-- raw HTML omitted --> <h4 id="save"><code>save</code></h4> <ul> -<li>Default: true</li> +<li>Default: <code>true</code> unless when using <code>npm update</code> or <code>npm dedupe</code> where it +defaults to <code>false</code></li> <li>Type: Boolean</li> </ul> -<p>Save installed packages to a package.json file as dependencies.</p> +<p>Save installed packages to a <code>package.json</code> file as dependencies.</p> <p>When used with the <code>npm rm</code> command, removes the dependency from -package.json.</p> +<code>package.json</code>.</p> +<p>Will also prevent writing to <code>package-lock.json</code> if set to <code>false</code>.</p> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <h4 id="save-exact"><code>save-exact</code></h4> @@ -308,6 +316,7 @@ will also prevent <em>writing</em> <code>package-lock.json</code> if <code>save< <p>When package package-locks are disabled, automatic pruning of extraneous modules will also be disabled. To remove extraneous modules with package-locks disabled use <code>npm prune</code>.</p> +<p>This configuration does not affect <code>npm ci</code>.</p> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <h4 id="omit"><code>omit</code></h4> diff --git a/deps/npm/docs/output/commands/npm-logout.html b/deps/npm/docs/output/commands/npm-logout.html index 21c92ab6ccd..112065a63dd 100644 --- a/deps/npm/docs/output/commands/npm-logout.html +++ b/deps/npm/docs/output/commands/npm-logout.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm logout [--registry=<url>] [--scope=<@scope>] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm logout </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>When logged into a registry that supports token-based authentication, tell diff --git a/deps/npm/docs/output/commands/npm-ls.html b/deps/npm/docs/output/commands/npm-ls.html index 1dbee93d4bf..2f28ede781f 100644 --- a/deps/npm/docs/output/commands/npm-ls.html +++ b/deps/npm/docs/output/commands/npm-ls.html @@ -146,10 +146,16 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm ls [[<@scope>/]<pkg> ...] -aliases: list, la, ll +alias: list </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This command will print to stdout all the versions of packages that are installed, as well as their dependencies when <code>--all</code> is specified, in a @@ -160,7 +166,7 @@ tree at all, use <a href="../commands/npm-explain.html"><code>npm explain</code> the results to only the paths to the packages named. Note that nested packages will <em>also</em> show the paths to the specified packages. For example, running <code>npm ls promzard</code> in npm's source tree will show:</p> -<pre lang="bash"><code>npm@8.5.1 /path/to/npm +<pre lang="bash"><code>npm@8.5.2 /path/to/npm └─┬ init-package-json@0.0.4 └── promzard@0.1.5 </code></pre> diff --git a/deps/npm/docs/output/commands/npm-org.html b/deps/npm/docs/output/commands/npm-org.html index 634a485c26e..a8aee32fb74 100644 --- a/deps/npm/docs/output/commands/npm-org.html +++ b/deps/npm/docs/output/commands/npm-org.html @@ -146,10 +146,18 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm org set <orgname> <username> [developer | admin | owner] -npm org rm <orgname> <username> -npm org ls <orgname> [<username>] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm org set orgname username [developer | admin | owner] +npm org rm orgname username +npm org ls orgname [<username>] + +alias: ogr </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="example">Example</h3> <p>Add a new developer to an org:</p> diff --git a/deps/npm/docs/output/commands/npm-outdated.html b/deps/npm/docs/output/commands/npm-outdated.html index 2ef2b60a4bc..0bdb9f9a66a 100644 --- a/deps/npm/docs/output/commands/npm-outdated.html +++ b/deps/npm/docs/output/commands/npm-outdated.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm outdated [[<@scope>/]<pkg> ...] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This command will check the registry to see if any (or, specific) installed packages are currently outdated.</p> diff --git a/deps/npm/docs/output/commands/npm-owner.html b/deps/npm/docs/output/commands/npm-owner.html index 7aae72bad03..b76967a18da 100644 --- a/deps/npm/docs/output/commands/npm-owner.html +++ b/deps/npm/docs/output/commands/npm-owner.html @@ -146,12 +146,18 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm owner add <user> [<@scope>/]<pkg> npm owner rm <user> [<@scope>/]<pkg> npm owner ls [<@scope>/]<pkg> -aliases: author +alias: author </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>Manage ownership of published packages.</p> diff --git a/deps/npm/docs/output/commands/npm-pack.html b/deps/npm/docs/output/commands/npm-pack.html index 6338e477111..bdd4b01af46 100644 --- a/deps/npm/docs/output/commands/npm-pack.html +++ b/deps/npm/docs/output/commands/npm-pack.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm pack [[<@scope>/]<pkg>...] [--dry-run] [--json] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm pack [[<@scope>/]<pkg>...] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="configuration">Configuration</h3> <!-- raw HTML omitted --> <!-- raw HTML omitted --> diff --git a/deps/npm/docs/output/commands/npm-ping.html b/deps/npm/docs/output/commands/npm-ping.html index 40637a8e781..529b7931ef9 100644 --- a/deps/npm/docs/output/commands/npm-ping.html +++ b/deps/npm/docs/output/commands/npm-ping.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm ping [--registry <registry>] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm ping </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>Ping the configured or given npm registry and verify authentication. diff --git a/deps/npm/docs/output/commands/npm-pkg.html b/deps/npm/docs/output/commands/npm-pkg.html index 1ec7b0922e1..4c34d4556ea 100644 --- a/deps/npm/docs/output/commands/npm-pkg.html +++ b/deps/npm/docs/output/commands/npm-pkg.html @@ -146,10 +146,16 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm pkg get [<field> [.<subfield> ...]] -npm pkg set <field>=<value> [.<subfield>=<value> ...] -npm pkg delete <field> [.<subfield> ...] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm pkg set <key>=<value> [<key>=<value> ...] +npm pkg get [<key> [<key> ...]] +npm pkg delete <key> [<key> ...] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>A command that automates the management of <code>package.json</code> files. <code>npm pkg</code> provide 3 different sub commands that allow you to modify or retrieve diff --git a/deps/npm/docs/output/commands/npm-prefix.html b/deps/npm/docs/output/commands/npm-prefix.html index 458f24789fd..2f302144269 100644 --- a/deps/npm/docs/output/commands/npm-prefix.html +++ b/deps/npm/docs/output/commands/npm-prefix.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm prefix [-g] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>Print the local prefix to standard output. This is the closest parent directory diff --git a/deps/npm/docs/output/commands/npm-profile.html b/deps/npm/docs/output/commands/npm-profile.html index 92a92f92a70..89ca083b122 100644 --- a/deps/npm/docs/output/commands/npm-profile.html +++ b/deps/npm/docs/output/commands/npm-profile.html @@ -146,12 +146,17 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm profile get [--json|--parseable] [<property>] -npm profile set [--json|--parseable] <property> <value> -npm profile set password -npm profile enable-2fa [auth-and-writes|auth-only] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm profile enable-2fa [auth-only|auth-and-writes] npm profile disable-2fa +npm profile get [<key>] +npm profile set <key> <value> </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>Change your profile information on the registry. Note that this command diff --git a/deps/npm/docs/output/commands/npm-prune.html b/deps/npm/docs/output/commands/npm-prune.html index 42de1b6ab0a..942b4f94f8b 100644 --- a/deps/npm/docs/output/commands/npm-prune.html +++ b/deps/npm/docs/output/commands/npm-prune.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm prune [[<@scope>/]<pkg>...] [--production] [--dry-run] [--json] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm prune [[<@scope>/]<pkg>...] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This command removes "extraneous" packages. If a package name is provided, then only packages matching one of the supplied names are removed.</p> diff --git a/deps/npm/docs/output/commands/npm-publish.html b/deps/npm/docs/output/commands/npm-publish.html index 60f35fb6156..f46fd310d0c 100644 --- a/deps/npm/docs/output/commands/npm-publish.html +++ b/deps/npm/docs/output/commands/npm-publish.html @@ -146,11 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm publish [<tarball>|<folder>] [--tag <tag>] [--access <public|restricted>] [--otp otpcode] [--dry-run] - -Publishes '.' if no argument supplied -Sets tag 'latest' if no --tag specified +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm publish [<folder>] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>Publishes a package to the registry so that it can be installed by name.</p> <p>By default npm will publish to the public registry. This can be overridden diff --git a/deps/npm/docs/output/commands/npm-rebuild.html b/deps/npm/docs/output/commands/npm-rebuild.html index 425751dd725..9e55f371c63 100644 --- a/deps/npm/docs/output/commands/npm-rebuild.html +++ b/deps/npm/docs/output/commands/npm-rebuild.html @@ -146,10 +146,16 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm rebuild [[<@scope>/]<name>[@<version>] ...] alias: rb </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This command runs the <code>npm build</code> command on the matched folders. This is useful when you install a new version of node, and must recompile all your diff --git a/deps/npm/docs/output/commands/npm-repo.html b/deps/npm/docs/output/commands/npm-repo.html index 3585570237f..b5fedd5ac92 100644 --- a/deps/npm/docs/output/commands/npm-repo.html +++ b/deps/npm/docs/output/commands/npm-repo.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm repo [<pkgname> [<pkgname> ...]] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This command tries to guess at the likely location of a package's repository URL, and then tries to open it using the <code>--browser</code> config diff --git a/deps/npm/docs/output/commands/npm-restart.html b/deps/npm/docs/output/commands/npm-restart.html index 135611a54ed..f65a170d538 100644 --- a/deps/npm/docs/output/commands/npm-restart.html +++ b/deps/npm/docs/output/commands/npm-restart.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm restart [-- <args>] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This restarts a project. It is equivalent to running <code>npm run-script restart</code>.</p> <p>If the current project has a <code>"restart"</code> script specified in diff --git a/deps/npm/docs/output/commands/npm-root.html b/deps/npm/docs/output/commands/npm-root.html index 58e5f0e4f4f..e0595fd8e76 100644 --- a/deps/npm/docs/output/commands/npm-root.html +++ b/deps/npm/docs/output/commands/npm-root.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm root [-g] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm root </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>Print the effective <code>node_modules</code> folder to standard out.</p> <p>Useful for using npm in shell scripts that do things with the diff --git a/deps/npm/docs/output/commands/npm-run-script.html b/deps/npm/docs/output/commands/npm-run-script.html index 18d5fe74ec0..07fc79127d0 100644 --- a/deps/npm/docs/output/commands/npm-run-script.html +++ b/deps/npm/docs/output/commands/npm-run-script.html @@ -146,12 +146,16 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm run-script <command> [--if-present] [--silent] [-- <args>] -npm run-script <command> [--workspace=<workspace-name>] -npm run-script <command> [--workspaces] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm run-script <command> [-- <args>] aliases: run, rum, urn </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This runs an arbitrary command from a package's <code>"scripts"</code> object. If no <code>"command"</code> is provided, it will list the available scripts.</p> diff --git a/deps/npm/docs/output/commands/npm-search.html b/deps/npm/docs/output/commands/npm-search.html index 34c4cebfd18..2e224afec52 100644 --- a/deps/npm/docs/output/commands/npm-search.html +++ b/deps/npm/docs/output/commands/npm-search.html @@ -146,10 +146,16 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm search [-l|--long] [--json] [--parseable] [--no-description] [search terms ...] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm search [search terms ...] aliases: s, se, find </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>Search the registry for packages matching the search terms. <code>npm search</code> diff --git a/deps/npm/docs/output/commands/npm-set-script.html b/deps/npm/docs/output/commands/npm-set-script.html index 9391ba9e380..cb66491d07c 100644 --- a/deps/npm/docs/output/commands/npm-set-script.html +++ b/deps/npm/docs/output/commands/npm-set-script.html @@ -147,8 +147,14 @@ npm command-line interface <div id="_content"><h3 id="synopsis">Synopsis</h3> <p>An npm command that lets you create a task in the <code>scripts</code> section of the <code>package.json</code>.</p> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm set-script [<script>] [<command>] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p><strong>Example:</strong></p> <ul> <li><code>npm set-script start "http-server ."</code></li> diff --git a/deps/npm/docs/output/commands/npm-shrinkwrap.html b/deps/npm/docs/output/commands/npm-shrinkwrap.html index ff2926fe4bd..26e8299586f 100644 --- a/deps/npm/docs/output/commands/npm-shrinkwrap.html +++ b/deps/npm/docs/output/commands/npm-shrinkwrap.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm shrinkwrap </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>This command repurposes <code>package-lock.json</code> into a publishable diff --git a/deps/npm/docs/output/commands/npm-star.html b/deps/npm/docs/output/commands/npm-star.html index de968318b41..42143bed974 100644 --- a/deps/npm/docs/output/commands/npm-star.html +++ b/deps/npm/docs/output/commands/npm-star.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm star [<pkg>...] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>"Starring" a package means that you have some interest in it. It's diff --git a/deps/npm/docs/output/commands/npm-stars.html b/deps/npm/docs/output/commands/npm-stars.html index c91ffa23a3e..d4626066c43 100644 --- a/deps/npm/docs/output/commands/npm-stars.html +++ b/deps/npm/docs/output/commands/npm-stars.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm stars [<user>] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>If you have starred a lot of neat things and want to find them again diff --git a/deps/npm/docs/output/commands/npm-start.html b/deps/npm/docs/output/commands/npm-start.html index 14554ca4589..8cedd9855d8 100644 --- a/deps/npm/docs/output/commands/npm-start.html +++ b/deps/npm/docs/output/commands/npm-start.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm start [-- <args>] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This runs a predefined command specified in the <code>"start"</code> property of a package's <code>"scripts"</code> object.</p> diff --git a/deps/npm/docs/output/commands/npm-stop.html b/deps/npm/docs/output/commands/npm-stop.html index ff119ac865e..87b7d30fd8f 100644 --- a/deps/npm/docs/output/commands/npm-stop.html +++ b/deps/npm/docs/output/commands/npm-stop.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm stop [-- <args>] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This runs a predefined command specified in the "stop" property of a package's "scripts" object.</p> diff --git a/deps/npm/docs/output/commands/npm-team.html b/deps/npm/docs/output/commands/npm-team.html index 2ee0b2369b3..a7b99172927 100644 --- a/deps/npm/docs/output/commands/npm-team.html +++ b/deps/npm/docs/output/commands/npm-team.html @@ -146,14 +146,18 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm team create <scope:team> -npm team destroy <scope:team> - -npm team add <scope:team> <user> -npm team rm <scope:team> <user> - +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm team create <scope:team> [--otp <otpcode>] +npm team destroy <scope:team> [--otp <otpcode>] +npm team add <scope:team> <user> [--otp <otpcode>] +npm team rm <scope:team> <user> [--otp <otpcode>] npm team ls <scope>|<scope:team> </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>Used to manage teams in organizations, and change team memberships. Does not diff --git a/deps/npm/docs/output/commands/npm-test.html b/deps/npm/docs/output/commands/npm-test.html index 8cbd417c31e..5c403b94eb9 100644 --- a/deps/npm/docs/output/commands/npm-test.html +++ b/deps/npm/docs/output/commands/npm-test.html @@ -146,10 +146,16 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm test [-- <args>] -aliases: t, tst +aliases: tst, t </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This runs a predefined command specified in the <code>"test"</code> property of a package's <code>"scripts"</code> object.</p> diff --git a/deps/npm/docs/output/commands/npm-token.html b/deps/npm/docs/output/commands/npm-token.html index a0ec36c4578..8ce05427c6c 100644 --- a/deps/npm/docs/output/commands/npm-token.html +++ b/deps/npm/docs/output/commands/npm-token.html @@ -146,10 +146,16 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code> npm token list [--json|--parseable] - npm token create [--read-only] [--cidr=1.1.1.1/24,2.2.2.2/16] - npm token revoke <id|token> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm token list +npm token revoke <id|token> +npm token create [--read-only] [--cidr=list] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>This lets you list, create and revoke authentication tokens.</p> diff --git a/deps/npm/docs/output/commands/npm-uninstall.html b/deps/npm/docs/output/commands/npm-uninstall.html index cec9937e913..f7f7760da74 100644 --- a/deps/npm/docs/output/commands/npm-uninstall.html +++ b/deps/npm/docs/output/commands/npm-uninstall.html @@ -146,10 +146,16 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm uninstall [<@scope>/]<pkg>[@<version>]... [-S|--save|--no-save] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm uninstall [<@scope>/]<pkg>... -aliases: remove, rm, r, un, unlink +aliases: un, unlink, remove, rm, r </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This uninstalls a package, completely removing everything npm installed on its behalf.</p> @@ -183,12 +189,14 @@ it uninstalls the current package context as a global package. <!-- raw HTML omitted --> <h4 id="save"><code>save</code></h4> <ul> -<li>Default: true</li> +<li>Default: <code>true</code> unless when using <code>npm update</code> or <code>npm dedupe</code> where it +defaults to <code>false</code></li> <li>Type: Boolean</li> </ul> -<p>Save installed packages to a package.json file as dependencies.</p> +<p>Save installed packages to a <code>package.json</code> file as dependencies.</p> <p>When used with the <code>npm rm</code> command, removes the dependency from -package.json.</p> +<code>package.json</code>.</p> +<p>Will also prevent writing to <code>package-lock.json</code> if set to <code>false</code>.</p> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <h4 id="workspace"><code>workspace</code></h4> diff --git a/deps/npm/docs/output/commands/npm-unstar.html b/deps/npm/docs/output/commands/npm-unstar.html index 83bed9707b2..a332f857e6b 100644 --- a/deps/npm/docs/output/commands/npm-unstar.html +++ b/deps/npm/docs/output/commands/npm-unstar.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <pre lang="bash"><code>npm unstar [<pkg>...] </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>"Unstarring" a package is the opposite of <a href="../commands/npm-star.html"><code>npm star</code></a>, diff --git a/deps/npm/docs/output/commands/npm-update.html b/deps/npm/docs/output/commands/npm-update.html index 6185df91e8d..7a8df45f12c 100644 --- a/deps/npm/docs/output/commands/npm-update.html +++ b/deps/npm/docs/output/commands/npm-update.html @@ -142,14 +142,20 @@ npm command-line interface <section id="table_of_contents"> <h2 id="table-of-contents">Table of contents</h2> -<div id="_table_of_contents"><ul><li><a href="#synopsis">Synopsis</a></li><li><a href="#description">Description</a></li><li><a href="#example">Example</a></li><ul><li><a href="#caret-dependencies">Caret Dependencies</a></li><li><a href="#tilde-dependencies">Tilde Dependencies</a></li><li><a href="#caret-dependencies-below-100">Caret Dependencies below 1.0.0</a></li><li><a href="#subdependencies">Subdependencies</a></li><li><a href="#updating-globally-installed-packages">Updating Globally-Installed Packages</a></li></ul><li><a href="#configuration">Configuration</a></li><ul><li><a href="#global"><code>global</code></a></li><li><a href="#global-style"><code>global-style</code></a></li><li><a href="#legacy-bundling"><code>legacy-bundling</code></a></li><li><a href="#strict-peer-deps"><code>strict-peer-deps</code></a></li><li><a href="#package-lock"><code>package-lock</code></a></li><li><a href="#omit"><code>omit</code></a></li><li><a href="#ignore-scripts"><code>ignore-scripts</code></a></li><li><a href="#audit"><code>audit</code></a></li><li><a href="#bin-links"><code>bin-links</code></a></li><li><a href="#fund"><code>fund</code></a></li><li><a href="#dry-run"><code>dry-run</code></a></li><li><a href="#workspace"><code>workspace</code></a></li><li><a href="#workspaces"><code>workspaces</code></a></li><li><a href="#include-workspace-root"><code>include-workspace-root</code></a></li></ul><li><a href="#see-also">See Also</a></li></ul></div> +<div id="_table_of_contents"><ul><li><a href="#synopsis">Synopsis</a></li><li><a href="#description">Description</a></li><li><a href="#example">Example</a></li><ul><li><a href="#caret-dependencies">Caret Dependencies</a></li><li><a href="#tilde-dependencies">Tilde Dependencies</a></li><li><a href="#caret-dependencies-below-100">Caret Dependencies below 1.0.0</a></li><li><a href="#subdependencies">Subdependencies</a></li><li><a href="#updating-globally-installed-packages">Updating Globally-Installed Packages</a></li></ul><li><a href="#configuration">Configuration</a></li><ul><li><a href="#global"><code>global</code></a></li><li><a href="#global-style"><code>global-style</code></a></li><li><a href="#legacy-bundling"><code>legacy-bundling</code></a></li><li><a href="#strict-peer-deps"><code>strict-peer-deps</code></a></li><li><a href="#package-lock"><code>package-lock</code></a></li><li><a href="#save"><code>save</code></a></li><li><a href="#omit"><code>omit</code></a></li><li><a href="#ignore-scripts"><code>ignore-scripts</code></a></li><li><a href="#audit"><code>audit</code></a></li><li><a href="#bin-links"><code>bin-links</code></a></li><li><a href="#fund"><code>fund</code></a></li><li><a href="#dry-run"><code>dry-run</code></a></li><li><a href="#workspace"><code>workspace</code></a></li><li><a href="#workspaces"><code>workspaces</code></a></li><li><a href="#include-workspace-root"><code>include-workspace-root</code></a></li></ul><li><a href="#see-also">See Also</a></li></ul></div> </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm update [-g] [<pkg>...] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm update [<pkg>...] -aliases: up, upgrade +aliases: up, upgrade, udpate </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This command will update all the packages listed to the latest version (specified by the <code>tag</code> config), respecting the semver constraints of @@ -322,6 +328,19 @@ will also prevent <em>writing</em> <code>package-lock.json</code> if <code>save< <p>When package package-locks are disabled, automatic pruning of extraneous modules will also be disabled. To remove extraneous modules with package-locks disabled use <code>npm prune</code>.</p> +<p>This configuration does not affect <code>npm ci</code>.</p> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<h4 id="save"><code>save</code></h4> +<ul> +<li>Default: <code>true</code> unless when using <code>npm update</code> or <code>npm dedupe</code> where it +defaults to <code>false</code></li> +<li>Type: Boolean</li> +</ul> +<p>Save installed packages to a <code>package.json</code> file as dependencies.</p> +<p>When used with the <code>npm rm</code> command, removes the dependency from +<code>package.json</code>.</p> +<p>Will also prevent writing to <code>package-lock.json</code> if set to <code>false</code>.</p> <!-- raw HTML omitted --> <!-- raw HTML omitted --> <h4 id="omit"><code>omit</code></h4> diff --git a/deps/npm/docs/output/commands/npm-version.html b/deps/npm/docs/output/commands/npm-version.html index 8c9521dcea5..34eeb4dc7d1 100644 --- a/deps/npm/docs/output/commands/npm-version.html +++ b/deps/npm/docs/output/commands/npm-version.html @@ -146,12 +146,16 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [--preid=<prerelease-id>] | from-git] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease | from-git] -'npm [-v | --version]' to print npm version -'npm view <pkg> version' to view a package's published version -'npm ls' to inspect current package/dependency versions +alias: verison </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="configuration">Configuration</h3> <!-- raw HTML omitted --> <!-- raw HTML omitted --> diff --git a/deps/npm/docs/output/commands/npm-view.html b/deps/npm/docs/output/commands/npm-view.html index 991376ccf04..28be6ea90c8 100644 --- a/deps/npm/docs/output/commands/npm-view.html +++ b/deps/npm/docs/output/commands/npm-view.html @@ -146,10 +146,16 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm view [<@scope>/]<name>[@<version>] [<field>[.<subfield>]...] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm view [<@scope>/]<pkg>[@<version>] [<field>[.subfield]...] -aliases: info, show, v +aliases: v, info, show </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This command shows data about a package and prints it to stdout.</p> <p>As an example, to view information about the <code>connect</code> package from the registry, you would run:</p> diff --git a/deps/npm/docs/output/commands/npm-whoami.html b/deps/npm/docs/output/commands/npm-whoami.html index f112f5e0c3f..1561991a458 100644 --- a/deps/npm/docs/output/commands/npm-whoami.html +++ b/deps/npm/docs/output/commands/npm-whoami.html @@ -146,8 +146,14 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm whoami [--registry <registry>] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npm whoami </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <p>Note: This command is unaware of workspaces.</p> <h3 id="description">Description</h3> <p>Display the npm username of the currently logged-in user.</p> diff --git a/deps/npm/docs/output/commands/npm.html b/deps/npm/docs/output/commands/npm.html index 1fd3337b2c1..7059fa5d37a 100644 --- a/deps/npm/docs/output/commands/npm.html +++ b/deps/npm/docs/output/commands/npm.html @@ -146,10 +146,10 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm <command> [args] -</code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="version">Version</h3> -<p>8.5.1</p> +<p>8.5.2</p> <h3 id="description">Description</h3> <p>npm is the package manager for the Node JavaScript platform. It puts modules in place so that node can find them, and manages dependency diff --git a/deps/npm/docs/output/commands/npx.html b/deps/npm/docs/output/commands/npx.html index 095de7ae0e9..2664dfe025b 100644 --- a/deps/npm/docs/output/commands/npx.html +++ b/deps/npm/docs/output/commands/npx.html @@ -146,22 +146,17 @@ npm command-line interface </section> <div id="_content"><h3 id="synopsis">Synopsis</h3> -<pre lang="bash"><code>npm exec -- <pkg>[@<version>] [args...] -npm exec --package=<pkg>[@<version>] -- <cmd> [args...] -npm exec -c '<cmd> [args...]' -npm exec --package=foo -c '<cmd> [args...]' - -npx <pkg>[@<specifier>] [args...] -npx -p <pkg>[@<specifier>] <cmd> [args...] +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<pre lang="bash"><code>npx -- <pkg>[@<version>] [args...] +npx --package=<pkg>[@<version>] -- <cmd> [args...] npx -c '<cmd> [args...]' -npx -p <pkg>[@<specifier>] -c '<cmd> [args...]' - -alias: npm x, npx - ---package=<pkg> (may be specified multiple times) --p is a shorthand for --package only when using npx executable --c <cmd> --call=<cmd> (may not be mixed with positional arguments) +npx --package=foo -c '<cmd> [args...]' </code></pre> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> +<!-- raw HTML omitted --> <h3 id="description">Description</h3> <p>This command allows you to run an arbitrary command from an npm package (either one installed locally, or fetched remotely), in a similar context diff --git a/deps/npm/docs/output/using-npm/scripts.html b/deps/npm/docs/output/using-npm/scripts.html index 19082719efc..a1b691f3768 100644 --- a/deps/npm/docs/output/using-npm/scripts.html +++ b/deps/npm/docs/output/using-npm/scripts.html @@ -447,6 +447,11 @@ for anything else. You should almost never have to explicitly set a preinstall or install script. If you are doing this, please consider if there is another option. The only valid use of <code>install</code> or <code>preinstall</code> scripts is for compilation which must be done on the target architecture.</li> +<li>Scripts are run from the root of the package folder, regardless of what the +current working directory is when <code>npm</code> is invoked. If you want your +script to use different behavior based on what subdirectory you're in, you +can use the <code>INIT_CWD</code> environment variable, which holds the full path you +were in when you ran <code>npm run</code>.</li> </ul> <h3 id="see-also">See Also</h3> <ul> diff --git a/deps/npm/lib/commands/access.js b/deps/npm/lib/commands/access.js index 7d3930dacbc..206d6de9c22 100644 --- a/deps/npm/lib/commands/access.js +++ b/deps/npm/lib/commands/access.js @@ -3,7 +3,6 @@ const path = require('path') const libaccess = require('libnpmaccess') const readPackageJson = require('read-package-json-fast') -const log = require('../utils/log-shim.js') const otplease = require('../utils/otplease.js') const getIdentity = require('../utils/get-identity.js') const BaseCommand = require('../base-command.js') @@ -79,7 +78,6 @@ class Access extends BaseCommand { return this[cmd](args, { ...this.npm.flatOptions, - log, }) } diff --git a/deps/npm/lib/commands/adduser.js b/deps/npm/lib/commands/adduser.js index 1cf70fffbf5..cbeaaaf0f28 100644 --- a/deps/npm/lib/commands/adduser.js +++ b/deps/npm/lib/commands/adduser.js @@ -31,7 +31,6 @@ class AddUser extends BaseCommand { creds, registry, scope, - log, }) await this.updateConfig({ diff --git a/deps/npm/lib/commands/ci.js b/deps/npm/lib/commands/ci.js index 5e862a473a7..e054bee5167 100644 --- a/deps/npm/lib/commands/ci.js +++ b/deps/npm/lib/commands/ci.js @@ -40,7 +40,6 @@ class CI extends ArboristWorkspaceCmd { ...this.npm.flatOptions, packageLock: true, // npm ci should never skip lock files path: where, - log, save: false, // npm ci should never modify the lockfile or package.json workspaces: this.workspaceNames, } @@ -101,7 +100,7 @@ class CI extends ArboristWorkspaceCmd { scriptShell, stdio: 'inherit', stdioString: true, - banner: log.level !== 'silent', + banner: !this.npm.silent, event, }) } diff --git a/deps/npm/lib/commands/dedupe.js b/deps/npm/lib/commands/dedupe.js index 1c270249adb..4662ce3241b 100644 --- a/deps/npm/lib/commands/dedupe.js +++ b/deps/npm/lib/commands/dedupe.js @@ -1,7 +1,6 @@ // dedupe duplicated packages, or find them in the tree const Arborist = require('@npmcli/arborist') const reifyFinish = require('../utils/reify-finish.js') -const log = require('../utils/log-shim.js') const ArboristWorkspaceCmd = require('../arborist-cmd.js') @@ -40,7 +39,6 @@ class Dedupe extends ArboristWorkspaceCmd { const where = this.npm.prefix const opts = { ...this.npm.flatOptions, - log, path: where, dryRun, save, diff --git a/deps/npm/lib/commands/deprecate.js b/deps/npm/lib/commands/deprecate.js index 5505b9bf77c..839e974caf0 100644 --- a/deps/npm/lib/commands/deprecate.js +++ b/deps/npm/lib/commands/deprecate.js @@ -1,5 +1,4 @@ const fetch = require('npm-registry-fetch') -const log = require('../utils/log-shim.js') const otplease = require('../utils/otplease.js') const npa = require('npm-package-arg') const semver = require('semver') @@ -51,7 +50,6 @@ class Deprecate extends BaseCommand { ...this.npm.flatOptions, spec: p, query: { write: true }, - log, }) Object.keys(packument.versions) @@ -66,7 +64,6 @@ class Deprecate extends BaseCommand { method: 'PUT', body: packument, ignoreBody: true, - log, })) } } diff --git a/deps/npm/lib/commands/diff.js b/deps/npm/lib/commands/diff.js index b3855aa08f3..d737a58dc43 100644 --- a/deps/npm/lib/commands/diff.js +++ b/deps/npm/lib/commands/diff.js @@ -61,7 +61,6 @@ class Diff extends BaseCommand { ...this.npm.flatOptions, diffFiles: args, where: this.top, - log, }) return this.npm.output(res) } @@ -194,7 +193,6 @@ class Diff extends BaseCommand { const packument = await pacote.packument(spec, { ...this.npm.flatOptions, preferOnline: true, - log, }) bSpec = pickManifest( packument, diff --git a/deps/npm/lib/commands/dist-tag.js b/deps/npm/lib/commands/dist-tag.js index e2b013206d3..bb36f3f72bf 100644 --- a/deps/npm/lib/commands/dist-tag.js +++ b/deps/npm/lib/commands/dist-tag.js @@ -31,7 +31,6 @@ class DistTag extends BaseCommand { async exec ([cmdName, pkg, tag]) { const opts = { ...this.npm.flatOptions, - log, } if (['add', 'a', 'set', 's'].includes(cmdName)) { diff --git a/deps/npm/lib/commands/doctor.js b/deps/npm/lib/commands/doctor.js index 47a522eb676..508faa57aa5 100644 --- a/deps/npm/lib/commands/doctor.js +++ b/deps/npm/lib/commands/doctor.js @@ -125,8 +125,7 @@ class Doctor extends BaseCommand { stringLength: s => ansiTrim(s).length, } - const silent = log.levels[log.level] > log.levels.error - if (!silent) { + if (!this.npm.silent) { this.npm.output(table(outTable, tableOpts)) if (!allOk) { console.error('') diff --git a/deps/npm/lib/commands/exec.js b/deps/npm/lib/commands/exec.js index 61a6d965954..52fb1f8eb72 100644 --- a/deps/npm/lib/commands/exec.js +++ b/deps/npm/lib/commands/exec.js @@ -1,7 +1,6 @@ const libexec = require('libnpmexec') const BaseCommand = require('../base-command.js') const getLocationMsg = require('../exec/get-workspace-location-msg.js') -const log = require('../utils/log-shim') // it's like this: // @@ -77,7 +76,6 @@ class Exec extends BaseCommand { call, localBin, locationMsg, - log, globalBin, output, packages, diff --git a/deps/npm/lib/commands/fund.js b/deps/npm/lib/commands/fund.js index 47a51c33a68..787a5193f01 100644 --- a/deps/npm/lib/commands/fund.js +++ b/deps/npm/lib/commands/fund.js @@ -5,7 +5,6 @@ const pacote = require('pacote') const semver = require('semver') const npa = require('npm-package-arg') const { depth } = require('treeverse') -const log = require('../utils/log-shim.js') const { readTree: getFundingInfo, normalizeFunding, isValidFunding } = require('libnpmfund') const completion = require('../utils/completion/installed-deep.js') @@ -69,7 +68,6 @@ class Fund extends ArboristWorkspaceCmd { // TODO: add !workspacesEnabled option handling to libnpmfund const fundingInfo = getFundingInfo(tree, { ...this.flatOptions, - log, workspaces: this.workspaceNames, }) diff --git a/deps/npm/lib/commands/hook.js b/deps/npm/lib/commands/hook.js index c99a9958589..2ff6ac01ce5 100644 --- a/deps/npm/lib/commands/hook.js +++ b/deps/npm/lib/commands/hook.js @@ -2,7 +2,6 @@ const hookApi = require('libnpmhook') const otplease = require('../utils/otplease.js') const relativeDate = require('tiny-relative-date') const Table = require('cli-table3') -const log = require('../utils/log-shim.js') const BaseCommand = require('../base-command.js') class Hook extends BaseCommand { @@ -23,7 +22,6 @@ class Hook extends BaseCommand { async exec (args) { return otplease({ ...this.npm.flatOptions, - log, }, (opts) => { switch (args[0]) { case 'add': @@ -48,7 +46,7 @@ class Hook extends BaseCommand { } else if (opts.parseable) { this.npm.output(Object.keys(hook).join('\t')) this.npm.output(Object.keys(hook).map(k => hook[k]).join('\t')) - } else if (!opts.silent && opts.loglevel !== 'silent') { + } else if (!this.npm.silent) { this.npm.output(`+ ${this.hookName(hook)} ${ opts.unicode ? ' ➜ ' : ' -> ' } ${hook.endpoint}`) @@ -66,7 +64,7 @@ class Hook extends BaseCommand { }) } else if (!hooks.length) { this.npm.output("You don't have any hooks configured yet.") - } else if (!opts.silent && opts.loglevel !== 'silent') { + } else if (!this.npm.silent) { if (hooks.length === 1) { this.npm.output('You have one hook configured.') } else { @@ -103,7 +101,7 @@ class Hook extends BaseCommand { } else if (opts.parseable) { this.npm.output(Object.keys(hook).join('\t')) this.npm.output(Object.keys(hook).map(k => hook[k]).join('\t')) - } else if (!opts.silent && opts.loglevel !== 'silent') { + } else if (!this.npm.silent) { this.npm.output(`- ${this.hookName(hook)} ${ opts.unicode ? ' ✘ ' : ' X ' } ${hook.endpoint}`) @@ -117,7 +115,7 @@ class Hook extends BaseCommand { } else if (opts.parseable) { this.npm.output(Object.keys(hook).join('\t')) this.npm.output(Object.keys(hook).map(k => hook[k]).join('\t')) - } else if (!opts.silent && opts.loglevel !== 'silent') { + } else if (!this.npm.silent) { this.npm.output(`+ ${this.hookName(hook)} ${ opts.unicode ? ' ➜ ' : ' -> ' } ${hook.endpoint}`) diff --git a/deps/npm/lib/commands/init.js b/deps/npm/lib/commands/init.js index 7e8a8f7a5c8..367533f8259 100644 --- a/deps/npm/lib/commands/init.js +++ b/deps/npm/lib/commands/init.js @@ -114,7 +114,6 @@ class Init extends BaseCommand { color, localBin, locationMsg, - log, globalBin, output, path, diff --git a/deps/npm/lib/commands/install.js b/deps/npm/lib/commands/install.js index a92a5edc5eb..61526abb787 100644 --- a/deps/npm/lib/commands/install.js +++ b/deps/npm/lib/commands/install.js @@ -147,7 +147,6 @@ class Install extends ArboristWorkspaceCmd { const opts = { ...this.npm.flatOptions, - log, auditLevel: null, path: where, add: args, @@ -173,7 +172,7 @@ class Install extends ArboristWorkspaceCmd { scriptShell, stdio: 'inherit', stdioString: true, - banner: log.level !== 'silent', + banner: !this.npm.silent, event, }) } diff --git a/deps/npm/lib/commands/link.js b/deps/npm/lib/commands/link.js index e8e2c6b349a..d656791469a 100644 --- a/deps/npm/lib/commands/link.js +++ b/deps/npm/lib/commands/link.js @@ -7,7 +7,6 @@ const Arborist = require('@npmcli/arborist') const npa = require('npm-package-arg') const rpj = require('read-package-json-fast') const semver = require('semver') -const log = require('../utils/log-shim.js') const reifyFinish = require('../utils/reify-finish.js') @@ -69,7 +68,6 @@ class Link extends ArboristWorkspaceCmd { const globalOpts = { ...this.npm.flatOptions, path: globalTop, - log, global: true, prune: false, } @@ -118,7 +116,6 @@ class Link extends ArboristWorkspaceCmd { const localArb = new Arborist({ ...this.npm.flatOptions, prune: false, - log, path: this.npm.prefix, save, }) @@ -126,7 +123,6 @@ class Link extends ArboristWorkspaceCmd { ...this.npm.flatOptions, prune: false, path: this.npm.prefix, - log, add: names.map(l => `file:${resolve(globalTop, 'node_modules', l)}`), save, workspaces: this.workspaceNames, @@ -143,12 +139,10 @@ class Link extends ArboristWorkspaceCmd { const arb = new Arborist({ ...this.npm.flatOptions, path: globalTop, - log, global: true, }) await arb.reify({ add, - log, }) await reifyFinish(this.npm, arb) } diff --git a/deps/npm/lib/commands/logout.js b/deps/npm/lib/commands/logout.js index 34fbace5835..aea5e93652b 100644 --- a/deps/npm/lib/commands/logout.js +++ b/deps/npm/lib/commands/logout.js @@ -25,7 +25,6 @@ class Logout extends BaseCommand { ...this.npm.flatOptions, method: 'DELETE', ignoreBody: true, - log, }) } else if (auth.isBasicAuth) { log.verbose('logout', `clearing user credentials for ${reg}`) diff --git a/deps/npm/lib/commands/org.js b/deps/npm/lib/commands/org.js index 89859200fed..f3d344ca33e 100644 --- a/deps/npm/lib/commands/org.js +++ b/deps/npm/lib/commands/org.js @@ -2,7 +2,6 @@ const liborg = require('libnpmorg') const otplease = require('../utils/otplease.js') const Table = require('cli-table3') const BaseCommand = require('../base-command.js') -const log = require('../utils/log-shim.js') class Org extends BaseCommand { static description = 'Manage orgs' @@ -35,7 +34,6 @@ class Org extends BaseCommand { async exec ([cmd, orgname, username, role], cb) { return otplease({ ...this.npm.flatOptions, - log, }, opts => { switch (cmd) { case 'add': @@ -76,7 +74,7 @@ class Org extends BaseCommand { this.npm.output( [memDeets.org.name, memDeets.org.size, memDeets.user, memDeets.role].join('\t') ) - } else if (!opts.silent && opts.loglevel !== 'silent') { + } else if (!this.npm.silent) { this.npm.output( `Added ${memDeets.user} as ${memDeets.role} to ${memDeets.org.name}. You now have ${ memDeets.org.size @@ -118,7 +116,7 @@ class Org extends BaseCommand { } else if (opts.parseable) { this.npm.output(['user', 'org', 'userCount', 'deleted'].join('\t')) this.npm.output([user, org, userCount, true].join('\t')) - } else if (!opts.silent && opts.loglevel !== 'silent') { + } else if (!this.npm.silent) { this.npm.output( `Successfully removed ${user} from ${org}. You now have ${userCount} member${ userCount === 1 ? '' : 's' @@ -149,7 +147,7 @@ class Org extends BaseCommand { Object.keys(roster).forEach(user => { this.npm.output([user, roster[user]].join('\t')) }) - } else if (!opts.silent && opts.loglevel !== 'silent') { + } else if (!this.npm.silent) { const table = new Table({ head: ['user', 'role'] }) Object.keys(roster) .sort() diff --git a/deps/npm/lib/commands/owner.js b/deps/npm/lib/commands/owner.js index 7b76b7be42e..effaaa6a53d 100644 --- a/deps/npm/lib/commands/owner.js +++ b/deps/npm/lib/commands/owner.js @@ -59,7 +59,6 @@ class Owner extends BaseCommand { async exec ([action, ...args]) { const opts = { ...this.npm.flatOptions, - log, } switch (action) { case 'ls': @@ -198,7 +197,6 @@ class Owner extends BaseCommand { method: 'PUT', body, spec, - log, }) }) diff --git a/deps/npm/lib/commands/ping.js b/deps/npm/lib/commands/ping.js index 27089be4e17..5a651c4a6ab 100644 --- a/deps/npm/lib/commands/ping.js +++ b/deps/npm/lib/commands/ping.js @@ -10,7 +10,7 @@ class Ping extends BaseCommand { async exec (args) { log.notice('PING', this.npm.config.get('registry')) const start = Date.now() - const details = await pingUtil({ ...this.npm.flatOptions, log }) + const details = await pingUtil({ ...this.npm.flatOptions }) const time = Date.now() - start log.notice('PONG', `${time}ms`) if (this.npm.config.get('json')) { diff --git a/deps/npm/lib/commands/profile.js b/deps/npm/lib/commands/profile.js index 9786e9ba4d4..6b4d1407f79 100644 --- a/deps/npm/lib/commands/profile.js +++ b/deps/npm/lib/commands/profile.js @@ -108,7 +108,7 @@ class Profile extends BaseCommand { async get (args) { const tfa = 'two-factor auth' const info = await pulseTillDone.withPromise( - npmProfile.get({ ...this.npm.flatOptions, log }) + npmProfile.get({ ...this.npm.flatOptions }) ) if (!info.cidr_whitelist) { @@ -170,7 +170,7 @@ class Profile extends BaseCommand { } async set (args) { - const conf = { ...this.npm.flatOptions, log } + const conf = { ...this.npm.flatOptions } const prop = (args[0] || '').toLowerCase().trim() let value = args.length > 1 ? args.slice(1).join(' ') : null @@ -285,7 +285,7 @@ class Profile extends BaseCommand { if (auth.basic) { log.info('profile', 'Updating authentication to bearer token') const result = await npmProfile.createToken( - auth.basic.password, false, [], { ...this.npm.flatOptions, log } + auth.basic.password, false, [], { ...this.npm.flatOptions } ) if (!result.token) { @@ -309,7 +309,7 @@ class Profile extends BaseCommand { log.info('profile', 'Determine if tfa is pending') const userInfo = await pulseTillDone.withPromise( - npmProfile.get({ ...this.npm.flatOptions, log }) + npmProfile.get({ ...this.npm.flatOptions }) ) const conf = { ...this.npm.flatOptions } diff --git a/deps/npm/lib/commands/prune.js b/deps/npm/lib/commands/prune.js index 5831df62859..16c8b6d4329 100644 --- a/deps/npm/lib/commands/prune.js +++ b/deps/npm/lib/commands/prune.js @@ -1,6 +1,5 @@ // prune extraneous packages const Arborist = require('@npmcli/arborist') -const log = require('../utils/log-shim.js') const reifyFinish = require('../utils/reify-finish.js') const ArboristWorkspaceCmd = require('../arborist-cmd.js') @@ -15,7 +14,6 @@ class Prune extends ArboristWorkspaceCmd { const opts = { ...this.npm.flatOptions, path: where, - log, workspaces: this.workspaceNames, } const arb = new Arborist(opts) diff --git a/deps/npm/lib/commands/publish.js b/deps/npm/lib/commands/publish.js index 63106c520bd..d1f0ee743cf 100644 --- a/deps/npm/lib/commands/publish.js +++ b/deps/npm/lib/commands/publish.js @@ -55,13 +55,13 @@ class Publish extends BaseCommand { const json = this.npm.config.get('json') const defaultTag = this.npm.config.get('tag') const ignoreScripts = this.npm.config.get('ignore-scripts') - const silent = log.level === 'silent' + const { silent } = this.npm if (semver.validRange(defaultTag)) { throw new Error('Tag name must not be a valid SemVer range: ' + defaultTag.trim()) } - const opts = { ...this.npm.flatOptions, log } + const opts = { ...this.npm.flatOptions } // you can publish name@version, ./foo.tgz, etc. // even though the default is the 'file:.' cwd. @@ -152,7 +152,7 @@ class Publish extends BaseCommand { const results = {} const json = this.npm.config.get('json') - const silent = log.level === 'silent' + const { silent } = this.npm const noop = a => a const color = this.npm.color ? chalk : { green: noop, bold: noop } await this.setWorkspaces(filters) diff --git a/deps/npm/lib/commands/run-script.js b/deps/npm/lib/commands/run-script.js index cd877e0b3df..edba95821b4 100644 --- a/deps/npm/lib/commands/run-script.js +++ b/deps/npm/lib/commands/run-script.js @@ -116,7 +116,7 @@ class RunScript extends BaseCommand { stdio: 'inherit', stdioString: true, pkg, - banner: log.level !== 'silent', + banner: !this.npm.silent, } for (const [event, args] of events) { @@ -139,7 +139,7 @@ class RunScript extends BaseCommand { } const allScripts = Object.keys(scripts) - if (log.level === 'silent') { + if (this.npm.silent) { return allScripts } @@ -233,7 +233,7 @@ class RunScript extends BaseCommand { async listWorkspaces (args, filters) { await this.setWorkspaces(filters) - if (log.level === 'silent') { + if (this.npm.silent) { return } diff --git a/deps/npm/lib/commands/star.js b/deps/npm/lib/commands/star.js index 4974c39883e..2d08747aa77 100644 --- a/deps/npm/lib/commands/star.js +++ b/deps/npm/lib/commands/star.js @@ -29,13 +29,12 @@ class Star extends BaseCommand { const pkgs = args.map(npa) for (const pkg of pkgs) { const [username, fullData] = await Promise.all([ - getIdentity(this.npm, { ...this.npm.flatOptions, log }), + getIdentity(this.npm, { ...this.npm.flatOptions }), fetch.json(pkg.escapedName, { ...this.npm.flatOptions, spec: pkg, query: { write: true }, preferOnline: true, - log, }), ]) @@ -64,7 +63,6 @@ class Star extends BaseCommand { spec: pkg, method: 'PUT', body, - log, }) this.npm.output(show + ' ' + pkg.name) diff --git a/deps/npm/lib/commands/team.js b/deps/npm/lib/commands/team.js index e3fb9b83c5a..1e13a83f52b 100644 --- a/deps/npm/lib/commands/team.js +++ b/deps/npm/lib/commands/team.js @@ -1,7 +1,6 @@ const columns = require('cli-columns') const libteam = require('libnpmteam') -const log = require('../utils/log-shim.js') const otplease = require('../utils/otplease.js') const BaseCommand = require('../base-command.js') @@ -43,7 +42,7 @@ class Team extends BaseCommand { // XXX: "description" option to libnpmteam is used as a description of the // team, but in npm's options, this is a boolean meaning "show the // description in npm search output". Hence its being set to null here. - await otplease({ ...this.npm.flatOptions, log }, opts => { + await otplease({ ...this.npm.flatOptions }, opts => { entity = entity.replace(/^@/, '') switch (cmd) { case 'create': return this.create(entity, opts) @@ -73,7 +72,7 @@ class Team extends BaseCommand { })) } else if (opts.parseable) { this.npm.output(`${entity}\tcreated`) - } else if (!opts.silent && opts.loglevel !== 'silent') { + } else if (!this.npm.silent) { this.npm.output(`+@${entity}`) } } @@ -87,7 +86,7 @@ class Team extends BaseCommand { })) } else if (opts.parseable) { this.npm.output(`${entity}\tdeleted`) - } else if (!opts.silent && opts.loglevel !== 'silent') { + } else if (!this.npm.silent) { this.npm.output(`-@${entity}`) } } @@ -102,7 +101,7 @@ class Team extends BaseCommand { })) } else if (opts.parseable) { this.npm.output(`${user}\t${entity}\tadded`) - } else if (!opts.silent && opts.loglevel !== 'silent') { + } else if (!this.npm.silent) { this.npm.output(`${user} added to @${entity}`) } } @@ -117,7 +116,7 @@ class Team extends BaseCommand { })) } else if (opts.parseable) { this.npm.output(`${user}\t${entity}\tremoved`) - } else if (!opts.silent && opts.loglevel !== 'silent') { + } else if (!this.npm.silent) { this.npm.output(`${user} removed from @${entity}`) } } @@ -128,7 +127,7 @@ class Team extends BaseCommand { this.npm.output(JSON.stringify(users, null, 2)) } else if (opts.parseable) { this.npm.output(users.join('\n')) - } else if (!opts.silent && opts.loglevel !== 'silent') { + } else if (!this.npm.silent) { const plural = users.length === 1 ? '' : 's' const more = users.length === 0 ? '' : ':\n' this.npm.output(`\n@${entity} has ${users.length} user${plural}${more}`) @@ -142,7 +141,7 @@ class Team extends BaseCommand { this.npm.output(JSON.stringify(teams, null, 2)) } else if (opts.parseable) { this.npm.output(teams.join('\n')) - } else if (!opts.silent && opts.loglevel !== 'silent') { + } else if (!this.npm.silent) { const plural = teams.length === 1 ? '' : 's' const more = teams.length === 0 ? '' : ':\n' this.npm.output(`\n@${entity} has ${teams.length} team${plural}${more}`) diff --git a/deps/npm/lib/commands/token.js b/deps/npm/lib/commands/token.js index cfb5ab66656..df80f1afec4 100644 --- a/deps/npm/lib/commands/token.js +++ b/deps/npm/lib/commands/token.js @@ -168,7 +168,7 @@ class Token extends BaseCommand { } config () { - const conf = { ...this.npm.flatOptions, log } + const conf = { ...this.npm.flatOptions } const creds = this.npm.config.getCredentialsByURI(conf.registry) if (creds.token) { conf.auth = { token: creds.token } diff --git a/deps/npm/lib/commands/uninstall.js b/deps/npm/lib/commands/uninstall.js index b40c59bda44..587968e3bbb 100644 --- a/deps/npm/lib/commands/uninstall.js +++ b/deps/npm/lib/commands/uninstall.js @@ -1,5 +1,4 @@ const { resolve } = require('path') -const log = require('../utils/log-shim.js') const Arborist = require('@npmcli/arborist') const rpj = require('read-package-json-fast') @@ -49,7 +48,6 @@ class Uninstall extends ArboristWorkspaceCmd { const opts = { ...this.npm.flatOptions, path, - log, rm: args, workspaces: this.workspaceNames, } diff --git a/deps/npm/lib/commands/unpublish.js b/deps/npm/lib/commands/unpublish.js index d8410cc1348..c848b6389d1 100644 --- a/deps/npm/lib/commands/unpublish.js +++ b/deps/npm/lib/commands/unpublish.js @@ -32,7 +32,7 @@ class Unpublish extends BaseCommand { return [] } - const opts = { ...this.npm.flatOptions, log } + const opts = { ...this.npm.flatOptions } const username = await getIdentity(this.npm, { ...opts }).catch(() => null) if (!username) { return [] @@ -68,8 +68,7 @@ class Unpublish extends BaseCommand { const spec = args.length && npa(args[0]) const force = this.npm.config.get('force') - const loglevel = this.npm.config.get('loglevel') - const silent = loglevel === 'silent' + const { silent } = this.npm const dryRun = this.npm.config.get('dry-run') let pkgName let pkgVersion @@ -84,7 +83,7 @@ class Unpublish extends BaseCommand { ) } - const opts = { ...this.npm.flatOptions, log } + const opts = { ...this.npm.flatOptions } if (!spec || path.resolve(spec.name) === this.npm.localPrefix) { // if there's a package.json in the current folder, then // read the package name and version out of that. diff --git a/deps/npm/lib/commands/update.js b/deps/npm/lib/commands/update.js index c55d7cf575d..025ebbaf815 100644 --- a/deps/npm/lib/commands/update.js +++ b/deps/npm/lib/commands/update.js @@ -54,7 +54,6 @@ class Update extends ArboristWorkspaceCmd { const opts = { ...this.npm.flatOptions, - log, path: where, save, workspaces: this.workspaceNames, diff --git a/deps/npm/lib/commands/whoami.js b/deps/npm/lib/commands/whoami.js index 07ebe2e2447..154cc870391 100644 --- a/deps/npm/lib/commands/whoami.js +++ b/deps/npm/lib/commands/whoami.js @@ -1,5 +1,4 @@ const getIdentity = require('../utils/get-identity.js') -const log = require('../utils/log-shim.js') const BaseCommand = require('../base-command.js') class Whoami extends BaseCommand { @@ -8,7 +7,7 @@ class Whoami extends BaseCommand { static params = ['registry'] async exec (args) { - const username = await getIdentity(this.npm, { ...this.npm.flatOptions, log }) + const username = await getIdentity(this.npm, { ...this.npm.flatOptions }) this.npm.output( this.npm.config.get('json') ? JSON.stringify(username) : username ) diff --git a/deps/npm/lib/npm.js b/deps/npm/lib/npm.js index 4d22b531a46..ce8f6aee8f5 100644 --- a/deps/npm/lib/npm.js +++ b/deps/npm/lib/npm.js @@ -52,7 +52,6 @@ class Npm extends EventEmitter { definitions, flatten, shorthands, - log, }) this[_title] = process.title this.updateNotification = null @@ -251,6 +250,7 @@ class Npm extends EventEmitter { // Use logColor since that is based on stderr color: this.logColor, progress: this.flatOptions.progress, + silent: this.silent, timing: this.config.get('timing'), loglevel: this.config.get('loglevel'), unicode: this.config.get('unicode'), @@ -300,6 +300,10 @@ class Npm extends EventEmitter { return this.flatOptions.logColor } + get silent () { + return this.flatOptions.silent + } + get lockfileVersion () { return 2 } diff --git a/deps/npm/lib/utils/config/definitions.js b/deps/npm/lib/utils/config/definitions.js index 79e686ca751..c5c129eb3d4 100644 --- a/deps/npm/lib/utils/config/definitions.js +++ b/deps/npm/lib/utils/config/definitions.js @@ -1222,6 +1222,9 @@ define('loglevel', { See also the \`foreground-scripts\` config. `, + flatten (key, obj, flatOptions) { + flatOptions.silent = obj[key] === 'silent' + }, }) define('logs-max', { diff --git a/deps/npm/lib/utils/display.js b/deps/npm/lib/utils/display.js index aae51e8806f..a19f72297e8 100644 --- a/deps/npm/lib/utils/display.js +++ b/deps/npm/lib/utils/display.js @@ -35,6 +35,7 @@ class Display { loglevel, unicode, progress, + silent, heading = 'npm', } = config @@ -59,8 +60,7 @@ class Display { log.disableUnicode() } - // if it's more than error, don't show progress - const silent = log.levels[log.level] > log.levels.error + // if it's silent, don't show progress if (progress && !silent) { log.enableProgress() } else { diff --git a/deps/npm/lib/utils/exit-handler.js b/deps/npm/lib/utils/exit-handler.js index 22c77410175..6186ea81dcc 100644 --- a/deps/npm/lib/utils/exit-handler.js +++ b/deps/npm/lib/utils/exit-handler.js @@ -49,8 +49,8 @@ process.on('exit', code => { // npm must be loaded to know where the log file was written if (showLogFileMessage && hasLoadedNpm) { - // just a line break - if (log.levels[log.level] <= log.levels.error) { + // just a line break if not in silent mode + if (!npm.silent) { console.error('') } @@ -175,7 +175,7 @@ const exitHandler = err => { log.verbose('exit', exitCode || 0) - showLogFileMessage = log.level === 'silent' || noLogMessage + showLogFileMessage = (hasLoadedNpm && npm.silent) || noLogMessage ? false : !!exitCode diff --git a/deps/npm/lib/utils/reify-output.js b/deps/npm/lib/utils/reify-output.js index b4114c1b2fe..b5c3a593b8d 100644 --- a/deps/npm/lib/utils/reify-output.js +++ b/deps/npm/lib/utils/reify-output.js @@ -27,7 +27,7 @@ const reifyOutput = (npm, arb) => { // don't print any info in --silent mode, but we still need to // set the exitCode properly from the audit report, if we have one. - if (log.levels[log.level] > log.levels.error) { + if (npm.silent) { getAuditReport(npm, auditReport) return } @@ -88,7 +88,7 @@ const reifyOutput = (npm, arb) => { // at the end if there's still stuff, because it's silly for `npm audit` // to tell you to run `npm audit` for details. otherwise, use the summary // report. if we get here, we know it's not quiet or json. -// If the loglevel is set higher than 'error', then we just run the report +// If the loglevel is silent, then we just run the report // to get the exitCode set appropriately. const printAuditReport = (npm, report) => { const res = getAuditReport(npm, report) @@ -105,7 +105,7 @@ const getAuditReport = (npm, report) => { // when in silent mode, we print nothing. the JSON output is // going to just JSON.stringify() the report object. - const reporter = log.levels[log.level] > log.levels.error ? 'quiet' + const reporter = npm.silent ? 'quiet' : npm.flatOptions.json ? 'quiet' : npm.command !== 'audit' ? 'install' : 'detail' diff --git a/deps/npm/lib/utils/update-notifier.js b/deps/npm/lib/utils/update-notifier.js index 44b6a5433c0..875c3a99a25 100644 --- a/deps/npm/lib/utils/update-notifier.js +++ b/deps/npm/lib/utils/update-notifier.js @@ -10,7 +10,6 @@ const { promisify } = require('util') const stat = promisify(require('fs').stat) const writeFile = promisify(require('fs').writeFile) const { resolve } = require('path') -const log = require('./log-shim.js') const isGlobalNpmUpdate = npm => { return npm.flatOptions.global && @@ -62,7 +61,7 @@ const updateNotifier = async (npm, spec = 'latest') => { // if they're currently using a prerelease, nudge to the next prerelease // otherwise, nudge to latest. - const useColor = log.useColor() + const useColor = npm.logColor const mani = await pacote.manifest(`npm@${spec}`, { // always prefer latest, even if doing --tag=whatever on the cmd diff --git a/deps/npm/man/man1/npm-access.1 b/deps/npm/man/man1/npm-access.1 index cd47aaac579..2399de3cb56 100644 --- a/deps/npm/man/man1/npm-access.1 +++ b/deps/npm/man/man1/npm-access.1 @@ -7,13 +7,10 @@ .nf npm access public [<package>] npm access restricted [<package>] - npm access grant <read\-only|read\-write> <scope:team> [<package>] npm access revoke <scope:team> [<package>] - npm access 2fa\-required [<package>] npm access 2fa\-not\-required [<package>] - npm access ls\-packages [<user>|<scope>|<scope:team>] npm access ls\-collaborators [<package> [<user>]] npm access edit [<package>] @@ -86,9 +83,6 @@ fail with an HTTP 402 status code (logically enough), unless you use .P Management of teams and team memberships is done with the \fBnpm team\fP command\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -99,9 +93,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBotp\fP .RS 0 .IP \(bu 2 @@ -116,11 +107,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\. .P If not set, and a registry response fails with a challenge for a one\-time password, npm will prompt on the command line for one\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-adduser.1 b/deps/npm/man/man1/npm-adduser.1 index 7539f3d9838..4fed35da19b 100644 --- a/deps/npm/man/man1/npm-adduser.1 +++ b/deps/npm/man/man1/npm-adduser.1 @@ -5,7 +5,7 @@ .P .RS 2 .nf -npm adduser [\-\-registry=url] [\-\-scope=@orgname] [\-\-auth\-type=legacy] +npm adduser aliases: login, add\-user .fi @@ -31,9 +31,6 @@ your existing record\. .P \fBnpm login\fP is an alias to \fBadduser\fP and behaves exactly the same way\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -44,9 +41,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBscope\fP .RS 0 .IP \(bu 2 @@ -83,11 +77,6 @@ This will also cause \fBnpm init\fP to create a scoped package\. npm init \-\-scope=@foo \-\-yes .fi .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-audit.1 b/deps/npm/man/man1/npm-audit.1 index 8968fda01b9..d58e960f167 100644 --- a/deps/npm/man/man1/npm-audit.1 +++ b/deps/npm/man/man1/npm-audit.1 @@ -5,10 +5,7 @@ .P .RS 2 .nf -npm audit [\-\-json] [\-\-production] [\-\-audit\-level=(low|moderate|high|critical)] -npm audit fix [\-\-force|\-\-package\-lock\-only|\-\-dry\-run|\-\-production|\-\-only=(dev|prod)] - -common options: [\-\-production] [\-\-only=(dev|prod)] +npm audit [fix] .fi .RE .SS Description @@ -201,9 +198,6 @@ $ npm audit \-\-audit\-level=moderate .fi .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBaudit\-level\fP .RS 0 .IP \(bu 2 @@ -215,9 +209,6 @@ Type: null, "info", "low", "moderate", "high", "critical", or "none" .P The minimum level of vulnerability for \fBnpm audit\fP to exit with a non\-zero exit code\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdry\-run\fP .RS 0 .IP \(bu 2 @@ -234,9 +225,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP, .P Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP, \fBowner\fP, etc\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBforce\fP .RS 0 .IP \(bu 2 @@ -277,9 +265,6 @@ Allow clobbering existing values in \fBnpm pkg\fP .P If you don't have a clear idea of what you want to do, it is strongly recommended that you do not use this option! -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBjson\fP .RS 0 .IP \(bu 2 @@ -298,9 +283,6 @@ saving them to your \fBpackage\.json\fP\|\. .RE .P Not supported by all npm commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBpackage\-lock\-only\fP .RS 0 .IP \(bu 2 @@ -318,9 +300,6 @@ instead of checking \fBnode_modules\fP and downloading dependencies\. .P For \fBlist\fP this means the output will be based on the tree described by the \fBpackage\-lock\.json\fP, rather than the contents of \fBnode_modules\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBomit\fP .RS 0 .IP \(bu 2 @@ -342,9 +321,6 @@ it will be included\. .P If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment variable will be set to \fB\|'production'\fP for all lifecycle scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -375,9 +351,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -402,9 +375,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -419,11 +389,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-bin.1 b/deps/npm/man/man1/npm-bin.1 index fc8787e881c..1b5eeeaf2e0 100644 --- a/deps/npm/man/man1/npm-bin.1 +++ b/deps/npm/man/man1/npm-bin.1 @@ -5,7 +5,7 @@ .P .RS 2 .nf -npm bin [\-g|\-\-global] +npm bin .fi .RE .P @@ -14,9 +14,6 @@ Note: This command is unaware of workspaces\. .P Print the folder where npm will install executables\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBglobal\fP .RS 0 .IP \(bu 2 @@ -39,11 +36,6 @@ bin files are linked to \fB{prefix}/bin\fP man pages are linked to \fB{prefix}/share/man\fP .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-bugs.1 b/deps/npm/man/man1/npm-bugs.1 index a4375f62f4e..d7c259bcdb4 100644 --- a/deps/npm/man/man1/npm-bugs.1 +++ b/deps/npm/man/man1/npm-bugs.1 @@ -5,9 +5,9 @@ .P .RS 2 .nf -npm bugs [<pkgname> [<pkgname> \.\.\.]] +npm bugs [<pkgname>] -aliases: issues +alias: issues .fi .RE .SS Description @@ -17,9 +17,6 @@ tracker URL or the \fBmailto\fP URL of the support email, and then tries to open it using the \fB\-\-browser\fP config param\. If no package name is provided, it will search for a \fBpackage\.json\fP in the current folder and use the \fBname\fP property\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBbrowser\fP .RS 0 .IP \(bu 2 @@ -35,9 +32,6 @@ Set to \fBfalse\fP to suppress browser behavior and instead print urls to terminal\. .P Set to \fBtrue\fP to use default system URL opener\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -48,11 +42,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-cache.1 b/deps/npm/man/man1/npm-cache.1 index 113d6aca915..cea50c6c035 100644 --- a/deps/npm/man/man1/npm-cache.1 +++ b/deps/npm/man/man1/npm-cache.1 @@ -5,14 +5,13 @@ .P .RS 2 .nf -npm cache add <tarball file>\.\.\. -npm cache add <folder>\.\.\. -npm cache add <tarball url>\.\.\. -npm cache add <name>@<version>\.\.\. - -npm cache clean -aliases: npm cache clear, npm cache rm - +npm cache add <tarball file> +npm cache add <folder> +npm cache add <tarball url> +npm cache add <git url> +npm cache add <name>@<version> +npm cache clean [<key>] +npm cache ls [<name>@<version>] npm cache verify .fi .RE @@ -72,9 +71,6 @@ data that was inserted\. To run an offline verification of existing cache contents, use \fBnpm cache verify\fP\|\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBcache\fP .RS 0 .IP \(bu 2 @@ -86,11 +82,6 @@ Type: Path .P The location of npm's cache directory\. See npm help \fBnpm cache\fP -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-ci.1 b/deps/npm/man/man1/npm-ci.1 index b54060b14d6..fc50c55efe2 100644 --- a/deps/npm/man/man1/npm-ci.1 +++ b/deps/npm/man/man1/npm-ci.1 @@ -6,6 +6,8 @@ .RS 2 .nf npm ci + +aliases: clean\-install, ic, install\-clean, isntall\-clean .fi .RE .SS Description @@ -79,9 +81,6 @@ cache: .fi .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBaudit\fP .RS 0 .IP \(bu 2 @@ -95,9 +94,6 @@ When "true" submit audit reports alongside the current npm command to the default registry and all registries configured for scopes\. See the documentation for npm help \fBaudit\fP for details on what is submitted\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBignore\-scripts\fP .RS 0 .IP \(bu 2 @@ -113,9 +109,6 @@ Note that commands explicitly intended to run a particular script, such as \fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP will still run their intended script if \fBignore\-scripts\fP is set, but they will \fInot\fR run any pre\- or post\-scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBscript\-shell\fP .RS 0 .IP \(bu 2 @@ -127,11 +120,6 @@ Type: null or String .P The shell to use for scripts run with the \fBnpm exec\fP, \fBnpm run\fP and \fBnpm init <pkg>\fP commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-completion.1 b/deps/npm/man/man1/npm-completion.1 index 865ddbd9cbb..fd9d640b52e 100644 --- a/deps/npm/man/man1/npm-completion.1 +++ b/deps/npm/man/man1/npm-completion.1 @@ -5,7 +5,7 @@ .P .RS 2 .nf -source <(npm completion) +npm completion .fi .RE .P diff --git a/deps/npm/man/man1/npm-config.1 b/deps/npm/man/man1/npm-config.1 index 75561092f29..8ebb7a9dd2f 100644 --- a/deps/npm/man/man1/npm-config.1 +++ b/deps/npm/man/man1/npm-config.1 @@ -10,8 +10,6 @@ npm config get [<key> [<key> \.\.\.]] npm config delete <key> [<key> \.\.\.] npm config list [\-\-json] npm config edit -npm set <key>=<value> [<key>=<value> \.\.\.] -npm get [<key> [<key> \.\.\.]] alias: c .fi @@ -95,9 +93,6 @@ npm config edit Opens the config file in an editor\. Use the \fB\-\-global\fP flag to edit the global config\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBjson\fP .RS 0 .IP \(bu 2 @@ -116,9 +111,6 @@ saving them to your \fBpackage\.json\fP\|\. .RE .P Not supported by all npm commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBglobal\fP .RS 0 .IP \(bu 2 @@ -141,9 +133,6 @@ bin files are linked to \fB{prefix}/bin\fP man pages are linked to \fB{prefix}/share/man\fP .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBeditor\fP .RS 0 .IP \(bu 2 @@ -155,9 +144,6 @@ Type: String .RE .P The command to run for \fBnpm edit\fP and \fBnpm config edit\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlocation\fP .RS 0 .IP \(bu 2 @@ -169,9 +155,6 @@ Type: "global", "user", or "project" .RE .P When passed to \fBnpm config\fP this refers to which config file to use\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlong\fP .RS 0 .IP \(bu 2 @@ -182,11 +165,6 @@ Type: Boolean .RE .P Show extended information in \fBls\fP, \fBsearch\fP, and \fBhelp\-search\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-dedupe.1 b/deps/npm/man/man1/npm-dedupe.1 index 8d2d5082a10..7db8b734dbe 100644 --- a/deps/npm/man/man1/npm-dedupe.1 +++ b/deps/npm/man/man1/npm-dedupe.1 @@ -6,9 +6,8 @@ .RS 2 .nf npm dedupe -npm ddp -aliases: ddp +alias: ddp .fi .RE .SS Description @@ -82,9 +81,6 @@ values in \fBpackage\.json\fP you can run: \fBnpm dedupe \-\-save\fP (or add the \fBsave=true\fP option to a npm help configuration file to make that the default behavior)\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBglobal\-style\fP .RS 0 .IP \(bu 2 @@ -100,9 +96,6 @@ direct dependencies will show in \fBnode_modules\fP and everything they depend on will be flattened in their \fBnode_modules\fP folders\. This obviously will eliminate some deduping\. If used with \fBlegacy\-bundling\fP, \fBlegacy\-bundling\fP will be preferred\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlegacy\-bundling\fP .RS 0 .IP \(bu 2 @@ -116,9 +109,6 @@ Causes npm to install the package such that versions of npm prior to 1\.4, such as the one included with node 0\.8, can install the package\. This eliminates all automatic deduping\. If used with \fBglobal\-style\fP this option will be preferred\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBstrict\-peer\-deps\fP .RS 0 .IP \(bu 2 @@ -141,9 +131,6 @@ the range set in their package's \fBpeerDependencies\fP object\. When such and override is performed, a warning is printed, explaining the conflict and the packages involved\. If \fB\-\-strict\-peer\-deps\fP is set, then this warning is treated as a failure\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBpackage\-lock\fP .RS 0 .IP \(bu 2 @@ -159,9 +146,24 @@ will also prevent \fIwriting\fR \fBpackage\-lock\.json\fP if \fBsave\fP is true\ When package package\-locks are disabled, automatic pruning of extraneous modules will also be disabled\. To remove extraneous modules with package\-locks disabled use \fBnpm prune\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> +.P +This configuration does not affect \fBnpm ci\fP\|\. +.SS \fBsave\fP +.RS 0 +.IP \(bu 2 +Default: \fBtrue\fP unless when using \fBnpm update\fP or \fBnpm dedupe\fP where it +defaults to \fBfalse\fP +.IP \(bu 2 +Type: Boolean +.RE +.P +Save installed packages to a \fBpackage\.json\fP file as dependencies\. +.P +When used with the \fBnpm rm\fP command, removes the dependency from +\fBpackage\.json\fP\|\. +.P +Will also prevent writing to \fBpackage\-lock\.json\fP if set to \fBfalse\fP\|\. .SS \fBomit\fP .RS 0 .IP \(bu 2 @@ -183,9 +185,6 @@ it will be included\. .P If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment variable will be set to \fB\|'production'\fP for all lifecycle scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBignore\-scripts\fP .RS 0 .IP \(bu 2 @@ -201,9 +200,6 @@ Note that commands explicitly intended to run a particular script, such as \fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP will still run their intended script if \fBignore\-scripts\fP is set, but they will \fInot\fR run any pre\- or post\-scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBaudit\fP .RS 0 .IP \(bu 2 @@ -217,9 +213,6 @@ When "true" submit audit reports alongside the current npm command to the default registry and all registries configured for scopes\. See the documentation for npm help \fBaudit\fP for details on what is submitted\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBbin\-links\fP .RS 0 .IP \(bu 2 @@ -235,9 +228,6 @@ executables\. Set to false to have it not do this\. This can be used to work around the fact that some file systems don't support symlinks, even on ostensibly Unix systems\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBfund\fP .RS 0 .IP \(bu 2 @@ -250,9 +240,6 @@ Type: Boolean When "true" displays the message at the end of each \fBnpm install\fP acknowledging the number of dependencies looking for funding\. See npm help \fBnpm fund\fP for details\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdry\-run\fP .RS 0 .IP \(bu 2 @@ -269,9 +256,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP, .P Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP, \fBowner\fP, etc\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -302,9 +286,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -329,9 +310,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -346,11 +324,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-deprecate.1 b/deps/npm/man/man1/npm-deprecate.1 index 40cd6b65eb6..bf066fb78ca 100644 --- a/deps/npm/man/man1/npm-deprecate.1 +++ b/deps/npm/man/man1/npm-deprecate.1 @@ -5,7 +5,7 @@ .P .RS 2 .nf -npm deprecate <pkg>[@<version range>] <message> +npm deprecate <pkg>[@<version>] <message> .fi .RE .P @@ -42,9 +42,6 @@ To un\-deprecate a package, specify an empty string (\fB""\fP) for the \fBmessag argument\. Note that you must use double quotes with no space between them to format an empty string\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -55,9 +52,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBotp\fP .RS 0 .IP \(bu 2 @@ -72,11 +66,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\. .P If not set, and a registry response fails with a challenge for a one\-time password, npm will prompt on the command line for one\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-diff.1 b/deps/npm/man/man1/npm-diff.1 index 97a5f7b73cf..2ff62b5147c 100644 --- a/deps/npm/man/man1/npm-diff.1 +++ b/deps/npm/man/man1/npm-diff.1 @@ -6,10 +6,6 @@ .RS 2 .nf npm diff [\.\.\.<paths>] -npm diff \-\-diff=<pkg\-name> [\.\.\.<paths>] -npm diff \-\-diff=<version\-a> [\-\-diff=<version\-b>] [\.\.\.<paths>] -npm diff \-\-diff=<spec\-a> [\-\-diff=<spec\-b>] [\.\.\.<paths>] -npm diff [\-\-diff\-ignore\-all\-space] [\-\-diff\-name\-only] [\.\.\.<paths>] .fi .RE .SS Description @@ -147,9 +143,6 @@ In the example above the diff output is only going to print contents of files located within the folder \fB\|\./lib/\fP and changed lines of code within the \fBCHANGELOG\.md\fP file\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBdiff\fP .RS 0 .IP \(bu 2 @@ -160,9 +153,6 @@ Type: String (can be set multiple times) .RE .P Define arguments to compare in \fBnpm diff\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdiff\-name\-only\fP .RS 0 .IP \(bu 2 @@ -173,9 +163,6 @@ Type: Boolean .RE .P Prints only filenames when using \fBnpm diff\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdiff\-unified\fP .RS 0 .IP \(bu 2 @@ -186,9 +173,6 @@ Type: Number .RE .P The number of lines of context to print in \fBnpm diff\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdiff\-ignore\-all\-space\fP .RS 0 .IP \(bu 2 @@ -199,9 +183,6 @@ Type: Boolean .RE .P Ignore whitespace when comparing lines in \fBnpm diff\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdiff\-no\-prefix\fP .RS 0 .IP \(bu 2 @@ -215,9 +196,6 @@ Do not show any source or destination prefix in \fBnpm diff\fP output\. .P Note: this causes \fBnpm diff\fP to ignore the \fB\-\-diff\-src\-prefix\fP and \fB\-\-diff\-dst\-prefix\fP configs\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdiff\-src\-prefix\fP .RS 0 .IP \(bu 2 @@ -228,9 +206,6 @@ Type: String .RE .P Source prefix to be used in \fBnpm diff\fP output\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdiff\-dst\-prefix\fP .RS 0 .IP \(bu 2 @@ -241,9 +216,6 @@ Type: String .RE .P Destination prefix to be used in \fBnpm diff\fP output\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdiff\-text\fP .RS 0 .IP \(bu 2 @@ -254,9 +226,6 @@ Type: Boolean .RE .P Treat all files as text in \fBnpm diff\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBglobal\fP .RS 0 .IP \(bu 2 @@ -279,9 +248,6 @@ bin files are linked to \fB{prefix}/bin\fP man pages are linked to \fB{prefix}/share/man\fP .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBtag\fP .RS 0 .IP \(bu 2 @@ -299,9 +265,6 @@ command, if no explicit tag is given\. .P When used by the \fBnpm diff\fP command, this is the tag used to fetch the tarball that will be compared with the local files by default\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -332,9 +295,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -359,9 +319,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -376,10 +333,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> .SH See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-dist-tag.1 b/deps/npm/man/man1/npm-dist-tag.1 index ea472e34c82..6b3bb0769b5 100644 --- a/deps/npm/man/man1/npm-dist-tag.1 +++ b/deps/npm/man/man1/npm-dist-tag.1 @@ -9,7 +9,7 @@ npm dist\-tag add <pkg>@<version> [<tag>] npm dist\-tag rm <pkg> <tag> npm dist\-tag ls [<pkg>] -aliases: dist\-tags +alias: dist\-tags .fi .RE .SS Description @@ -91,9 +91,6 @@ semver as \fB>=1\.4\.0 <1\.5\.0\fP\|\. See https://github\.com/npm/npm/issues/6 The simplest way to avoid semver problems with tags is to use tags that do not begin with a number or the letter \fBv\fP\|\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -124,9 +121,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -151,9 +145,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -168,11 +159,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-docs.1 b/deps/npm/man/man1/npm-docs.1 index 41f3e723d52..cb2e1017413 100644 --- a/deps/npm/man/man1/npm-docs.1 +++ b/deps/npm/man/man1/npm-docs.1 @@ -7,7 +7,7 @@ .nf npm docs [<pkgname> [<pkgname> \.\.\.]] -aliases: home +alias: home .fi .RE .SS Description @@ -18,9 +18,6 @@ param\. You can pass multiple package names at once\. If no package name is provided, it will search for a \fBpackage\.json\fP in the current folder and use the \fBname\fP property\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBbrowser\fP .RS 0 .IP \(bu 2 @@ -36,9 +33,6 @@ Set to \fBfalse\fP to suppress browser behavior and instead print urls to terminal\. .P Set to \fBtrue\fP to use default system URL opener\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -49,9 +43,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -82,9 +73,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -109,9 +97,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -126,11 +111,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-doctor.1 b/deps/npm/man/man1/npm-doctor.1 index 93065933246..d58c0f5a0db 100644 --- a/deps/npm/man/man1/npm-doctor.1 +++ b/deps/npm/man/man1/npm-doctor.1 @@ -104,9 +104,6 @@ located with \fBnpm config get cache\fP)\. In the event that there are corrupt packages in your cache, you should probably run \fBnpm cache clean \-f\fP and reset the cache\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -117,11 +114,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-edit.1 b/deps/npm/man/man1/npm-edit.1 index b7e3a1258f7..7645a3746bb 100644 --- a/deps/npm/man/man1/npm-edit.1 +++ b/deps/npm/man/man1/npm-edit.1 @@ -5,7 +5,7 @@ .P .RS 2 .nf -npm edit <pkg> +npm edit <pkg>[/<subpkg>\.\.\.] .fi .RE .P @@ -23,9 +23,6 @@ For instance, you can do \fBnpm install connect\fP to install connect into your package, and then \fBnpm edit connect\fP to make a few changes to your locally installed copy\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBeditor\fP .RS 0 .IP \(bu 2 @@ -37,11 +34,6 @@ Type: String .RE .P The command to run for \fBnpm edit\fP and \fBnpm config edit\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-exec.1 b/deps/npm/man/man1/npm-exec.1 index a72d04d647d..f7af484ac1c 100644 --- a/deps/npm/man/man1/npm-exec.1 +++ b/deps/npm/man/man1/npm-exec.1 @@ -9,20 +9,8 @@ npm exec \-\- <pkg>[@<version>] [args\.\.\.] npm exec \-\-package=<pkg>[@<version>] \-\- <cmd> [args\.\.\.] npm exec \-c '<cmd> [args\.\.\.]' npm exec \-\-package=foo \-c '<cmd> [args\.\.\.]' -npm exec [\-\-ws] [\-w <workspace\-name] [args\.\.\.] -npx <pkg>[@<specifier>] [args\.\.\.] -npx \-p <pkg>[@<specifier>] <cmd> [args\.\.\.] -npx \-c '<cmd> [args\.\.\.]' -npx \-p <pkg>[@<specifier>] \-c '<cmd> [args\.\.\.]' -Run without \-\-call or positional args to open interactive subshell - -alias: npm x, npx - -common options: -\-\-package=<pkg> (may be specified multiple times) -\-p is a shorthand for \-\-package only when using npx executable -\-c <cmd> \-\-call=<cmd> (may not be mixed with positional arguments) +alias: x .fi .RE .SS Description @@ -132,9 +120,6 @@ $ npm exec \-\- foo@latest bar \-\-package=@npmcli/foo .fi .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBpackage\fP .RS 0 .IP \(bu 2 @@ -145,9 +130,6 @@ Type: String (can be set multiple times) .RE .P The package to install for npm help \fBexec\fP -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBcall\fP .RS 0 .IP \(bu 2 @@ -165,9 +147,6 @@ custom command to be run along with the installed packages\. npm exec \-\-package yo \-\-package generator\-node \-\-call "yo node" .fi .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -198,9 +177,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -225,9 +201,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -242,11 +215,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS Examples .P Run the version of \fBtap\fP in the local dependencies, with the provided diff --git a/deps/npm/man/man1/npm-explain.1 b/deps/npm/man/man1/npm-explain.1 index e036b1c10b7..fc00d3b2c85 100644 --- a/deps/npm/man/man1/npm-explain.1 +++ b/deps/npm/man/man1/npm-explain.1 @@ -55,9 +55,6 @@ node_modules/nyc/node_modules/find\-up .fi .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBjson\fP .RS 0 .IP \(bu 2 @@ -76,9 +73,6 @@ saving them to your \fBpackage\.json\fP\|\. .RE .P Not supported by all npm commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -109,11 +103,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-explore.1 b/deps/npm/man/man1/npm-explore.1 index 9b9dcf3eae7..3e1b8e4cab0 100644 --- a/deps/npm/man/man1/npm-explore.1 +++ b/deps/npm/man/man1/npm-explore.1 @@ -29,9 +29,6 @@ npm explore some\-dependency \-\- git pull origin master Note that the package is \fInot\fR automatically rebuilt afterwards, so be sure to use \fBnpm rebuild <pkg>\fP if you make any changes\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBshell\fP .RS 0 .IP \(bu 2 @@ -43,11 +40,6 @@ Type: String .RE .P The shell to run for the \fBnpm explore\fP command\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-find-dupes.1 b/deps/npm/man/man1/npm-find-dupes.1 index 5670e811dac..aafd3f2d689 100644 --- a/deps/npm/man/man1/npm-find-dupes.1 +++ b/deps/npm/man/man1/npm-find-dupes.1 @@ -13,9 +13,6 @@ npm find\-dupes Runs \fBnpm dedupe\fP in \fB\-\-dry\-run\fP mode, making npm only output the duplications, without actually changing the package tree\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBglobal\-style\fP .RS 0 .IP \(bu 2 @@ -31,9 +28,6 @@ direct dependencies will show in \fBnode_modules\fP and everything they depend on will be flattened in their \fBnode_modules\fP folders\. This obviously will eliminate some deduping\. If used with \fBlegacy\-bundling\fP, \fBlegacy\-bundling\fP will be preferred\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlegacy\-bundling\fP .RS 0 .IP \(bu 2 @@ -47,9 +41,6 @@ Causes npm to install the package such that versions of npm prior to 1\.4, such as the one included with node 0\.8, can install the package\. This eliminates all automatic deduping\. If used with \fBglobal\-style\fP this option will be preferred\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBstrict\-peer\-deps\fP .RS 0 .IP \(bu 2 @@ -72,9 +63,6 @@ the range set in their package's \fBpeerDependencies\fP object\. When such and override is performed, a warning is printed, explaining the conflict and the packages involved\. If \fB\-\-strict\-peer\-deps\fP is set, then this warning is treated as a failure\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBpackage\-lock\fP .RS 0 .IP \(bu 2 @@ -90,9 +78,8 @@ will also prevent \fIwriting\fR \fBpackage\-lock\.json\fP if \fBsave\fP is true\ When package package\-locks are disabled, automatic pruning of extraneous modules will also be disabled\. To remove extraneous modules with package\-locks disabled use \fBnpm prune\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - +.P +This configuration does not affect \fBnpm ci\fP\|\. .SS \fBomit\fP .RS 0 .IP \(bu 2 @@ -114,9 +101,6 @@ it will be included\. .P If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment variable will be set to \fB\|'production'\fP for all lifecycle scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBignore\-scripts\fP .RS 0 .IP \(bu 2 @@ -132,9 +116,6 @@ Note that commands explicitly intended to run a particular script, such as \fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP will still run their intended script if \fBignore\-scripts\fP is set, but they will \fInot\fR run any pre\- or post\-scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBaudit\fP .RS 0 .IP \(bu 2 @@ -148,9 +129,6 @@ When "true" submit audit reports alongside the current npm command to the default registry and all registries configured for scopes\. See the documentation for npm help \fBaudit\fP for details on what is submitted\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBbin\-links\fP .RS 0 .IP \(bu 2 @@ -166,9 +144,6 @@ executables\. Set to false to have it not do this\. This can be used to work around the fact that some file systems don't support symlinks, even on ostensibly Unix systems\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBfund\fP .RS 0 .IP \(bu 2 @@ -181,9 +156,6 @@ Type: Boolean When "true" displays the message at the end of each \fBnpm install\fP acknowledging the number of dependencies looking for funding\. See npm help \fBnpm fund\fP for details\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -214,9 +186,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -241,9 +210,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -258,11 +224,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-fund.1 b/deps/npm/man/man1/npm-fund.1 index 181beaf362a..8a8577ff4e9 100644 --- a/deps/npm/man/man1/npm-fund.1 +++ b/deps/npm/man/man1/npm-fund.1 @@ -5,8 +5,7 @@ .P .RS 2 .nf -npm fund [<pkg>] -npm fund [\-w <workspace\-name>] +npm fund [[<@scope>/]<pkg>] .fi .RE .SS Description @@ -61,9 +60,6 @@ test\-workspaces\-fund@1\.0\.0 .fi .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBjson\fP .RS 0 .IP \(bu 2 @@ -82,9 +78,6 @@ saving them to your \fBpackage\.json\fP\|\. .RE .P Not supported by all npm commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBbrowser\fP .RS 0 .IP \(bu 2 @@ -100,9 +93,6 @@ Set to \fBfalse\fP to suppress browser behavior and instead print urls to terminal\. .P Set to \fBtrue\fP to use default system URL opener\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBunicode\fP .RS 0 .IP \(bu 2 @@ -115,9 +105,6 @@ Type: Boolean .P When set to true, npm uses unicode characters in the tree output\. When false, it uses ascii characters instead of unicode glyphs\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -148,9 +135,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBwhich\fP .RS 0 .IP \(bu 2 @@ -161,11 +145,6 @@ Type: null or Number .RE .P If there are multiple funding sources, which 1\-indexed source URL to open\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SH See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-help-search.1 b/deps/npm/man/man1/npm-help-search.1 index 8a65bb39cab..e986c111673 100644 --- a/deps/npm/man/man1/npm-help-search.1 +++ b/deps/npm/man/man1/npm-help-search.1 @@ -21,9 +21,6 @@ If the argument to \fBnpm help\fP is not a known help topic, then it will call \fBhelp\-search\fP\|\. It is rarely if ever necessary to call this command directly\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBlong\fP .RS 0 .IP \(bu 2 @@ -34,11 +31,6 @@ Type: Boolean .RE .P Show extended information in \fBls\fP, \fBsearch\fP, and \fBhelp\-search\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-help.1 b/deps/npm/man/man1/npm-help.1 index 7f7ac6ee6f0..af7a646bc82 100644 --- a/deps/npm/man/man1/npm-help.1 +++ b/deps/npm/man/man1/npm-help.1 @@ -6,6 +6,8 @@ .RS 2 .nf npm help <term> [<terms\.\.>] + +alias: hlep .fi .RE .P @@ -19,9 +21,6 @@ will run the \fBhelp\-search\fP command to find a match\. Note that, if \fBhelp\-search\fP finds a single subject, then it will run \fBhelp\fP on that topic, so unique matches are equivalent to specifying a topic name\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBviewer\fP .RS 0 .IP \(bu 2 @@ -34,11 +33,6 @@ Type: String The program to use to view help content\. .P Set to \fB"browser"\fP to view html help content in the default web browser\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-hook.1 b/deps/npm/man/man1/npm-hook.1 index b4f772c73db..4bf31b4f0ab 100644 --- a/deps/npm/man/man1/npm-hook.1 +++ b/deps/npm/man/man1/npm-hook.1 @@ -5,10 +5,10 @@ .P .RS 2 .nf +npm hook add <pkg> <url> <secret> [\-\-type=<type>] npm hook ls [pkg] -npm hook add <entity> <url> <secret> -npm hook update <id> <url> [secret] npm hook rm <id> +npm hook update <id> <url> <secret> .fi .RE .P @@ -94,9 +94,6 @@ $ npm hook rm id\-deadbeef .fi .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -107,9 +104,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBotp\fP .RS 0 .IP \(bu 2 @@ -124,11 +118,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\. .P If not set, and a registry response fails with a challenge for a one\-time password, npm will prompt on the command line for one\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-init.1 b/deps/npm/man/man1/npm-init.1 index 2aa55d63a2d..476bc9c2672 100644 --- a/deps/npm/man/man1/npm-init.1 +++ b/deps/npm/man/man1/npm-init.1 @@ -5,10 +5,11 @@ .P .RS 2 .nf -npm init [\-\-yes|\-y|\-\-scope] -npm init <@scope> (same as `npm exec <@scope>/create`) -npm init [<@scope>/]<name> (same as `npm exec [<@scope>/]create\-<name>`) -npm init [\-w <dir>] [args\.\.\.] +npm init [\-\-force|\-f|\-\-yes|\-y|\-\-scope] +npm init <@scope> (same as `npx <@scope>/create`) +npm init [<@scope>/]<name> (same as `npx [<@scope>/]create\-<name>`) + +aliases: create, innit .fi .RE .SS Description @@ -40,6 +41,19 @@ guesses based on existing fields, dependencies, and options selected\. It is strictly additive, so it will keep any fields and values that were already set\. You can also use \fB\-y\fP/\fB\-\-yes\fP to skip the questionnaire altogether\. If you pass \fB\-\-scope\fP, it will create a scoped package\. +.P +\fINote:\fR if a user already has the \fBcreate\-<initializer>\fP package +globally installed, that will be what \fBnpm init\fP uses\. If you want npm +to use the latest version, or another specific version you must specify +it: +.RS 0 +.IP \(bu 2 +\fBnpm init foo@latest\fP # fetches and runs the latest \fBcreate\-foo\fP from + the registry +.IP \(bu 2 +\fBnpm init foo@1\.2\.3\fP # runs \fBcreate\-foo@1\.2\.3\fP specifically + +.RE .SS Forwarding additional options .P Any additional options will be passed directly to the command, so \fBnpm init @@ -165,9 +179,6 @@ dot to represent the current directory in that context, e\.g: \fBreact\-app \.\f .fi .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fByes\fP .RS 0 .IP \(bu 2 @@ -179,9 +190,6 @@ Type: null or Boolean .P Automatically answer "yes" to any prompts that npm might print on the command line\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBforce\fP .RS 0 .IP \(bu 2 @@ -222,9 +230,6 @@ Allow clobbering existing values in \fBnpm pkg\fP .P If you don't have a clear idea of what you want to do, it is strongly recommended that you do not use this option! -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -255,9 +260,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -282,9 +284,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -299,11 +298,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-install-ci-test.1 b/deps/npm/man/man1/npm-install-ci-test.1 index 50da8e31a59..c90591124a6 100644 --- a/deps/npm/man/man1/npm-install-ci-test.1 +++ b/deps/npm/man/man1/npm-install-ci-test.1 @@ -7,16 +7,13 @@ .nf npm install\-ci\-test -alias: npm cit +alias: cit .fi .RE .SS Description .P This command runs \fBnpm ci\fP followed immediately by \fBnpm test\fP\|\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBaudit\fP .RS 0 .IP \(bu 2 @@ -30,9 +27,6 @@ When "true" submit audit reports alongside the current npm command to the default registry and all registries configured for scopes\. See the documentation for npm help \fBaudit\fP for details on what is submitted\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBignore\-scripts\fP .RS 0 .IP \(bu 2 @@ -48,9 +42,6 @@ Note that commands explicitly intended to run a particular script, such as \fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP will still run their intended script if \fBignore\-scripts\fP is set, but they will \fInot\fR run any pre\- or post\-scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBscript\-shell\fP .RS 0 .IP \(bu 2 @@ -62,11 +53,6 @@ Type: null or String .P The shell to use for scripts run with the \fBnpm exec\fP, \fBnpm run\fP and \fBnpm init <pkg>\fP commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-install-test.1 b/deps/npm/man/man1/npm-install-test.1 index 709523d9bf8..158dfe1dcce 100644 --- a/deps/npm/man/man1/npm-install-test.1 +++ b/deps/npm/man/man1/npm-install-test.1 @@ -5,17 +5,18 @@ .P .RS 2 .nf -npm install\-test (with no args, in package dir) -npm install\-test [<@scope>/]<name> -npm install\-test [<@scope>/]<name>@<tag> -npm install\-test [<@scope>/]<name>@<version> -npm install\-test [<@scope>/]<name>@<version range> +npm install\-test [<@scope>/]<pkg> +npm install\-test [<@scope>/]<pkg>@<tag> +npm install\-test [<@scope>/]<pkg>@<version> +npm install\-test [<@scope>/]<pkg>@<version range> +npm install\-test <alias>@npm:<name> +npm install\-test <folder> npm install\-test <tarball file> npm install\-test <tarball url> -npm install\-test <folder> +npm install\-test <git:// url> +npm install\-test <github username>/<github project> -alias: npm it -common options: [\-\-save|\-\-save\-dev|\-\-save\-optional] [\-\-save\-exact] [\-\-dry\-run] +alias: it .fi .RE .SS Description @@ -23,25 +24,22 @@ common options: [\-\-save|\-\-save\-dev|\-\-save\-optional] [\-\-save\-exact] [\ This command runs an \fBnpm install\fP followed immediately by an \fBnpm test\fP\|\. It takes exactly the same arguments as \fBnpm install\fP\|\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBsave\fP .RS 0 .IP \(bu 2 -Default: true +Default: \fBtrue\fP unless when using \fBnpm update\fP or \fBnpm dedupe\fP where it +defaults to \fBfalse\fP .IP \(bu 2 Type: Boolean .RE .P -Save installed packages to a package\.json file as dependencies\. +Save installed packages to a \fBpackage\.json\fP file as dependencies\. .P When used with the \fBnpm rm\fP command, removes the dependency from -package\.json\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - +\fBpackage\.json\fP\|\. +.P +Will also prevent writing to \fBpackage\-lock\.json\fP if set to \fBfalse\fP\|\. .SS \fBsave\-exact\fP .RS 0 .IP \(bu 2 @@ -53,9 +51,6 @@ Type: Boolean .P Dependencies saved to package\.json will be configured with an exact version rather than using npm's default semver range operator\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBglobal\fP .RS 0 .IP \(bu 2 @@ -78,9 +73,6 @@ bin files are linked to \fB{prefix}/bin\fP man pages are linked to \fB{prefix}/share/man\fP .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBglobal\-style\fP .RS 0 .IP \(bu 2 @@ -96,9 +88,6 @@ direct dependencies will show in \fBnode_modules\fP and everything they depend on will be flattened in their \fBnode_modules\fP folders\. This obviously will eliminate some deduping\. If used with \fBlegacy\-bundling\fP, \fBlegacy\-bundling\fP will be preferred\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlegacy\-bundling\fP .RS 0 .IP \(bu 2 @@ -112,9 +101,6 @@ Causes npm to install the package such that versions of npm prior to 1\.4, such as the one included with node 0\.8, can install the package\. This eliminates all automatic deduping\. If used with \fBglobal\-style\fP this option will be preferred\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBstrict\-peer\-deps\fP .RS 0 .IP \(bu 2 @@ -137,9 +123,6 @@ the range set in their package's \fBpeerDependencies\fP object\. When such and override is performed, a warning is printed, explaining the conflict and the packages involved\. If \fB\-\-strict\-peer\-deps\fP is set, then this warning is treated as a failure\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBpackage\-lock\fP .RS 0 .IP \(bu 2 @@ -155,9 +138,8 @@ will also prevent \fIwriting\fR \fBpackage\-lock\.json\fP if \fBsave\fP is true\ When package package\-locks are disabled, automatic pruning of extraneous modules will also be disabled\. To remove extraneous modules with package\-locks disabled use \fBnpm prune\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - +.P +This configuration does not affect \fBnpm ci\fP\|\. .SS \fBomit\fP .RS 0 .IP \(bu 2 @@ -179,9 +161,6 @@ it will be included\. .P If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment variable will be set to \fB\|'production'\fP for all lifecycle scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBignore\-scripts\fP .RS 0 .IP \(bu 2 @@ -197,9 +176,6 @@ Note that commands explicitly intended to run a particular script, such as \fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP will still run their intended script if \fBignore\-scripts\fP is set, but they will \fInot\fR run any pre\- or post\-scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBaudit\fP .RS 0 .IP \(bu 2 @@ -213,9 +189,6 @@ When "true" submit audit reports alongside the current npm command to the default registry and all registries configured for scopes\. See the documentation for npm help \fBaudit\fP for details on what is submitted\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBbin\-links\fP .RS 0 .IP \(bu 2 @@ -231,9 +204,6 @@ executables\. Set to false to have it not do this\. This can be used to work around the fact that some file systems don't support symlinks, even on ostensibly Unix systems\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBfund\fP .RS 0 .IP \(bu 2 @@ -246,9 +216,6 @@ Type: Boolean When "true" displays the message at the end of each \fBnpm install\fP acknowledging the number of dependencies looking for funding\. See npm help \fBnpm fund\fP for details\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdry\-run\fP .RS 0 .IP \(bu 2 @@ -265,9 +232,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP, .P Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP, \fBowner\fP, etc\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -298,9 +262,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -325,9 +286,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -342,11 +300,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-install.1 b/deps/npm/man/man1/npm-install.1 index d8085ee231f..2c76bbd886f 100644 --- a/deps/npm/man/man1/npm-install.1 +++ b/deps/npm/man/man1/npm-install.1 @@ -5,20 +5,18 @@ .P .RS 2 .nf -npm install (with no args, in package dir) -npm install [<@scope>/]<name> -npm install [<@scope>/]<name>@<tag> -npm install [<@scope>/]<name>@<version> -npm install [<@scope>/]<name>@<version range> +npm install [<@scope>/]<pkg> +npm install [<@scope>/]<pkg>@<tag> +npm install [<@scope>/]<pkg>@<version> +npm install [<@scope>/]<pkg>@<version range> npm install <alias>@npm:<name> -npm install <git\-host>:<git\-user>/<repo\-name> -npm install <git repo url> +npm install <folder> npm install <tarball file> npm install <tarball url> -npm install <folder> +npm install <git:// url> +npm install <github username>/<github project> -aliases: npm i, npm add -common options: [\-P|\-\-save\-prod|\-D|\-\-save\-dev|\-O|\-\-save\-optional|\-\-save\-peer] [\-E|\-\-save\-exact] [\-B|\-\-save\-bundle] [\-\-no\-save] [\-\-dry\-run] +aliases: i, in, ins, inst, insta, instal, isnt, isnta, isntal, add .fi .RE .SS Description @@ -437,25 +435,22 @@ params have some effect on installation, since that's most of what npm does\. .P These are some of the most common options related to installation\. -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBsave\fP .RS 0 .IP \(bu 2 -Default: true +Default: \fBtrue\fP unless when using \fBnpm update\fP or \fBnpm dedupe\fP where it +defaults to \fBfalse\fP .IP \(bu 2 Type: Boolean .RE .P -Save installed packages to a package\.json file as dependencies\. +Save installed packages to a \fBpackage\.json\fP file as dependencies\. .P When used with the \fBnpm rm\fP command, removes the dependency from -package\.json\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - +\fBpackage\.json\fP\|\. +.P +Will also prevent writing to \fBpackage\-lock\.json\fP if set to \fBfalse\fP\|\. .SS \fBsave\-exact\fP .RS 0 .IP \(bu 2 @@ -467,9 +462,6 @@ Type: Boolean .P Dependencies saved to package\.json will be configured with an exact version rather than using npm's default semver range operator\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBglobal\fP .RS 0 .IP \(bu 2 @@ -492,9 +484,6 @@ bin files are linked to \fB{prefix}/bin\fP man pages are linked to \fB{prefix}/share/man\fP .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBglobal\-style\fP .RS 0 .IP \(bu 2 @@ -510,9 +499,6 @@ direct dependencies will show in \fBnode_modules\fP and everything they depend on will be flattened in their \fBnode_modules\fP folders\. This obviously will eliminate some deduping\. If used with \fBlegacy\-bundling\fP, \fBlegacy\-bundling\fP will be preferred\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlegacy\-bundling\fP .RS 0 .IP \(bu 2 @@ -526,9 +512,6 @@ Causes npm to install the package such that versions of npm prior to 1\.4, such as the one included with node 0\.8, can install the package\. This eliminates all automatic deduping\. If used with \fBglobal\-style\fP this option will be preferred\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBstrict\-peer\-deps\fP .RS 0 .IP \(bu 2 @@ -551,9 +534,6 @@ the range set in their package's \fBpeerDependencies\fP object\. When such and override is performed, a warning is printed, explaining the conflict and the packages involved\. If \fB\-\-strict\-peer\-deps\fP is set, then this warning is treated as a failure\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBpackage\-lock\fP .RS 0 .IP \(bu 2 @@ -569,9 +549,8 @@ will also prevent \fIwriting\fR \fBpackage\-lock\.json\fP if \fBsave\fP is true\ When package package\-locks are disabled, automatic pruning of extraneous modules will also be disabled\. To remove extraneous modules with package\-locks disabled use \fBnpm prune\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - +.P +This configuration does not affect \fBnpm ci\fP\|\. .SS \fBomit\fP .RS 0 .IP \(bu 2 @@ -593,9 +572,6 @@ it will be included\. .P If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment variable will be set to \fB\|'production'\fP for all lifecycle scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBignore\-scripts\fP .RS 0 .IP \(bu 2 @@ -611,9 +587,6 @@ Note that commands explicitly intended to run a particular script, such as \fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP will still run their intended script if \fBignore\-scripts\fP is set, but they will \fInot\fR run any pre\- or post\-scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBaudit\fP .RS 0 .IP \(bu 2 @@ -627,9 +600,6 @@ When "true" submit audit reports alongside the current npm command to the default registry and all registries configured for scopes\. See the documentation for npm help \fBaudit\fP for details on what is submitted\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBbin\-links\fP .RS 0 .IP \(bu 2 @@ -645,9 +615,6 @@ executables\. Set to false to have it not do this\. This can be used to work around the fact that some file systems don't support symlinks, even on ostensibly Unix systems\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBfund\fP .RS 0 .IP \(bu 2 @@ -660,9 +627,6 @@ Type: Boolean When "true" displays the message at the end of each \fBnpm install\fP acknowledging the number of dependencies looking for funding\. See npm help \fBnpm fund\fP for details\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdry\-run\fP .RS 0 .IP \(bu 2 @@ -679,9 +643,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP, .P Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP, \fBowner\fP, etc\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -712,9 +673,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -739,9 +697,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -756,11 +711,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS Algorithm .P Given a \fBpackage{dep}\fP structure: \fBA{B,C}, B{C}, C{D}\fP, diff --git a/deps/npm/man/man1/npm-link.1 b/deps/npm/man/man1/npm-link.1 index 378c342e459..f77d8c2d761 100644 --- a/deps/npm/man/man1/npm-link.1 +++ b/deps/npm/man/man1/npm-link.1 @@ -8,7 +8,7 @@ npm link (in package dir) npm link [<@scope>/]<pkg>[@<version>] -alias: npm ln +alias: ln .fi .RE .SS Description @@ -113,25 +113,22 @@ conflicting dependencies\. \fBnpm link \-\-workspace <name>\fP will create a global link to the specified workspace(s)\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBsave\fP .RS 0 .IP \(bu 2 -Default: true +Default: \fBtrue\fP unless when using \fBnpm update\fP or \fBnpm dedupe\fP where it +defaults to \fBfalse\fP .IP \(bu 2 Type: Boolean .RE .P -Save installed packages to a package\.json file as dependencies\. +Save installed packages to a \fBpackage\.json\fP file as dependencies\. .P When used with the \fBnpm rm\fP command, removes the dependency from -package\.json\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - +\fBpackage\.json\fP\|\. +.P +Will also prevent writing to \fBpackage\-lock\.json\fP if set to \fBfalse\fP\|\. .SS \fBsave\-exact\fP .RS 0 .IP \(bu 2 @@ -143,9 +140,6 @@ Type: Boolean .P Dependencies saved to package\.json will be configured with an exact version rather than using npm's default semver range operator\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBglobal\fP .RS 0 .IP \(bu 2 @@ -168,9 +162,6 @@ bin files are linked to \fB{prefix}/bin\fP man pages are linked to \fB{prefix}/share/man\fP .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBglobal\-style\fP .RS 0 .IP \(bu 2 @@ -186,9 +177,6 @@ direct dependencies will show in \fBnode_modules\fP and everything they depend on will be flattened in their \fBnode_modules\fP folders\. This obviously will eliminate some deduping\. If used with \fBlegacy\-bundling\fP, \fBlegacy\-bundling\fP will be preferred\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlegacy\-bundling\fP .RS 0 .IP \(bu 2 @@ -202,9 +190,6 @@ Causes npm to install the package such that versions of npm prior to 1\.4, such as the one included with node 0\.8, can install the package\. This eliminates all automatic deduping\. If used with \fBglobal\-style\fP this option will be preferred\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBstrict\-peer\-deps\fP .RS 0 .IP \(bu 2 @@ -227,9 +212,6 @@ the range set in their package's \fBpeerDependencies\fP object\. When such and override is performed, a warning is printed, explaining the conflict and the packages involved\. If \fB\-\-strict\-peer\-deps\fP is set, then this warning is treated as a failure\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBpackage\-lock\fP .RS 0 .IP \(bu 2 @@ -245,9 +227,8 @@ will also prevent \fIwriting\fR \fBpackage\-lock\.json\fP if \fBsave\fP is true\ When package package\-locks are disabled, automatic pruning of extraneous modules will also be disabled\. To remove extraneous modules with package\-locks disabled use \fBnpm prune\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - +.P +This configuration does not affect \fBnpm ci\fP\|\. .SS \fBomit\fP .RS 0 .IP \(bu 2 @@ -269,9 +250,6 @@ it will be included\. .P If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment variable will be set to \fB\|'production'\fP for all lifecycle scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBignore\-scripts\fP .RS 0 .IP \(bu 2 @@ -287,9 +265,6 @@ Note that commands explicitly intended to run a particular script, such as \fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP will still run their intended script if \fBignore\-scripts\fP is set, but they will \fInot\fR run any pre\- or post\-scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBaudit\fP .RS 0 .IP \(bu 2 @@ -303,9 +278,6 @@ When "true" submit audit reports alongside the current npm command to the default registry and all registries configured for scopes\. See the documentation for npm help \fBaudit\fP for details on what is submitted\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBbin\-links\fP .RS 0 .IP \(bu 2 @@ -321,9 +293,6 @@ executables\. Set to false to have it not do this\. This can be used to work around the fact that some file systems don't support symlinks, even on ostensibly Unix systems\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBfund\fP .RS 0 .IP \(bu 2 @@ -336,9 +305,6 @@ Type: Boolean When "true" displays the message at the end of each \fBnpm install\fP acknowledging the number of dependencies looking for funding\. See npm help \fBnpm fund\fP for details\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdry\-run\fP .RS 0 .IP \(bu 2 @@ -355,9 +321,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP, .P Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP, \fBowner\fP, etc\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -388,9 +351,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -415,9 +375,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -432,11 +389,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-logout.1 b/deps/npm/man/man1/npm-logout.1 index f7f121d6dbd..da09d34da6b 100644 --- a/deps/npm/man/man1/npm-logout.1 +++ b/deps/npm/man/man1/npm-logout.1 @@ -5,7 +5,7 @@ .P .RS 2 .nf -npm logout [\-\-registry=<url>] [\-\-scope=<@scope>] +npm logout .fi .RE .P @@ -23,9 +23,6 @@ In this case, it will \fIonly\fR affect the current environment\. If \fB\-\-scope\fP is provided, this will find the credentials for the registry connected to that scope, if set\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -36,9 +33,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBscope\fP .RS 0 .IP \(bu 2 @@ -75,11 +69,6 @@ This will also cause \fBnpm init\fP to create a scoped package\. npm init \-\-scope=@foo \-\-yes .fi .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1 index 03bb885ecec..a1b640a1459 100644 --- a/deps/npm/man/man1/npm-ls.1 +++ b/deps/npm/man/man1/npm-ls.1 @@ -7,7 +7,7 @@ .nf npm ls [[<@scope>/]<pkg> \.\.\.] -aliases: list, la, ll +alias: list .fi .RE .SS Description @@ -26,7 +26,7 @@ example, running \fBnpm ls promzard\fP in npm's source tree will show: .P .RS 2 .nf -npm@8\.5\.1 /path/to/npm +npm@8\.5\.2 /path/to/npm └─┬ init\-package\-json@0\.0\.4 └── promzard@0\.1\.5 .fi @@ -70,9 +70,6 @@ A thorough re\-examination of the use cases, intention, behavior, and output of this command, is currently underway\. Expect significant changes to at least the default human\-readable \fBnpm ls\fP output in npm v8\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBall\fP .RS 0 .IP \(bu 2 @@ -85,9 +82,6 @@ Type: Boolean When running \fBnpm outdated\fP and \fBnpm ls\fP, setting \fB\-\-all\fP will show all outdated or installed packages, rather than only those directly depended upon by the current project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBjson\fP .RS 0 .IP \(bu 2 @@ -106,9 +100,6 @@ saving them to your \fBpackage\.json\fP\|\. .RE .P Not supported by all npm commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlong\fP .RS 0 .IP \(bu 2 @@ -119,9 +110,6 @@ Type: Boolean .RE .P Show extended information in \fBls\fP, \fBsearch\fP, and \fBhelp\-search\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBparseable\fP .RS 0 .IP \(bu 2 @@ -133,9 +121,6 @@ Type: Boolean .P Output parseable results from commands that write to standard output\. For \fBnpm search\fP, this will be tab\-separated table format\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBglobal\fP .RS 0 .IP \(bu 2 @@ -158,9 +143,6 @@ bin files are linked to \fB{prefix}/bin\fP man pages are linked to \fB{prefix}/share/man\fP .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdepth\fP .RS 0 .IP \(bu 2 @@ -174,9 +156,6 @@ The depth to go when recursing packages for \fBnpm ls\fP\|\. .P If not set, \fBnpm ls\fP will show only the immediate dependencies of the root project\. If \fB\-\-all\fP is set, then npm will show all dependencies by default\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBomit\fP .RS 0 .IP \(bu 2 @@ -198,9 +177,6 @@ it will be included\. .P If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment variable will be set to \fB\|'production'\fP for all lifecycle scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlink\fP .RS 0 .IP \(bu 2 @@ -211,9 +187,6 @@ Type: Boolean .RE .P Used with \fBnpm ls\fP, limiting output to only those packages that are linked\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBpackage\-lock\-only\fP .RS 0 .IP \(bu 2 @@ -231,9 +204,6 @@ instead of checking \fBnode_modules\fP and downloading dependencies\. .P For \fBlist\fP this means the output will be based on the tree described by the \fBpackage\-lock\.json\fP, rather than the contents of \fBnode_modules\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBunicode\fP .RS 0 .IP \(bu 2 @@ -246,9 +216,6 @@ Type: Boolean .P When set to true, npm uses unicode characters in the tree output\. When false, it uses ascii characters instead of unicode glyphs\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -279,9 +246,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -306,9 +270,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -323,11 +284,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-org.1 b/deps/npm/man/man1/npm-org.1 index 45c366aa7dc..932ff784974 100644 --- a/deps/npm/man/man1/npm-org.1 +++ b/deps/npm/man/man1/npm-org.1 @@ -5,9 +5,11 @@ .P .RS 2 .nf -npm org set <orgname> <username> [developer | admin | owner] -npm org rm <orgname> <username> -npm org ls <orgname> [<username>] +npm org set orgname username [developer | admin | owner] +npm org rm orgname username +npm org ls orgname [<username>] + +alias: ogr .fi .RE .P @@ -67,9 +69,6 @@ You can use the \fBnpm org\fP commands to manage and view users of an organization\. It supports adding and removing users, changing their roles, listing them, and finding specific ones and their roles\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -80,9 +79,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBotp\fP .RS 0 .IP \(bu 2 @@ -97,9 +93,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\. .P If not set, and a registry response fails with a challenge for a one\-time password, npm will prompt on the command line for one\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBjson\fP .RS 0 .IP \(bu 2 @@ -118,9 +111,6 @@ saving them to your \fBpackage\.json\fP\|\. .RE .P Not supported by all npm commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBparseable\fP .RS 0 .IP \(bu 2 @@ -132,11 +122,6 @@ Type: Boolean .P Output parseable results from commands that write to standard output\. For \fBnpm search\fP, this will be tab\-separated table format\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-outdated.1 b/deps/npm/man/man1/npm-outdated.1 index 6e001f2644f..c0c01e4635a 100644 --- a/deps/npm/man/man1/npm-outdated.1 +++ b/deps/npm/man/man1/npm-outdated.1 @@ -102,9 +102,6 @@ scratch or running \fBnpm update\fP will bring it up to spec\. .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBall\fP .RS 0 .IP \(bu 2 @@ -117,9 +114,6 @@ Type: Boolean When running \fBnpm outdated\fP and \fBnpm ls\fP, setting \fB\-\-all\fP will show all outdated or installed packages, rather than only those directly depended upon by the current project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBjson\fP .RS 0 .IP \(bu 2 @@ -138,9 +132,6 @@ saving them to your \fBpackage\.json\fP\|\. .RE .P Not supported by all npm commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlong\fP .RS 0 .IP \(bu 2 @@ -151,9 +142,6 @@ Type: Boolean .RE .P Show extended information in \fBls\fP, \fBsearch\fP, and \fBhelp\-search\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBparseable\fP .RS 0 .IP \(bu 2 @@ -165,9 +153,6 @@ Type: Boolean .P Output parseable results from commands that write to standard output\. For \fBnpm search\fP, this will be tab\-separated table format\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBglobal\fP .RS 0 .IP \(bu 2 @@ -190,9 +175,6 @@ bin files are linked to \fB{prefix}/bin\fP man pages are linked to \fB{prefix}/share/man\fP .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -223,11 +205,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-owner.1 b/deps/npm/man/man1/npm-owner.1 index 3a28988d012..61c6ad09142 100644 --- a/deps/npm/man/man1/npm-owner.1 +++ b/deps/npm/man/man1/npm-owner.1 @@ -9,7 +9,7 @@ npm owner add <user> [<@scope>/]<pkg> npm owner rm <user> [<@scope>/]<pkg> npm owner ls [<@scope>/]<pkg> -aliases: author +alias: author .fi .RE .P @@ -38,9 +38,6 @@ If you have two\-factor authentication enabled with \fBauth\-and\-writes\fP (see npm help \fBnpm\-profile\fP) then you'll need to include an otp on the command line when changing ownership with \fB\-\-otp\fP\|\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -51,9 +48,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBotp\fP .RS 0 .IP \(bu 2 @@ -68,11 +62,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\. .P If not set, and a registry response fails with a challenge for a one\-time password, npm will prompt on the command line for one\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-pack.1 b/deps/npm/man/man1/npm-pack.1 index 5ab05b0105c..d5fb3a42bc4 100644 --- a/deps/npm/man/man1/npm-pack.1 +++ b/deps/npm/man/man1/npm-pack.1 @@ -5,13 +5,10 @@ .P .RS 2 .nf -npm pack [[<@scope>/]<pkg>\.\.\.] [\-\-dry\-run] [\-\-json] +npm pack [[<@scope>/]<pkg>\.\.\.] .fi .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBdry\-run\fP .RS 0 .IP \(bu 2 @@ -28,9 +25,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP, .P Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP, \fBowner\fP, etc\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBjson\fP .RS 0 .IP \(bu 2 @@ -49,9 +43,6 @@ saving them to your \fBpackage\.json\fP\|\. .RE .P Not supported by all npm commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBpack\-destination\fP .RS 0 .IP \(bu 2 @@ -62,9 +53,6 @@ Type: String .RE .P Directory in which \fBnpm pack\fP will save tarballs\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -95,9 +83,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -122,9 +107,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -139,11 +121,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS Description .P For anything that's installable (that is, a package folder, tarball, diff --git a/deps/npm/man/man1/npm-ping.1 b/deps/npm/man/man1/npm-ping.1 index 2441892a6ac..c42e43765a6 100644 --- a/deps/npm/man/man1/npm-ping.1 +++ b/deps/npm/man/man1/npm-ping.1 @@ -5,7 +5,7 @@ .P .RS 2 .nf -npm ping [\-\-registry <registry>] +npm ping .fi .RE .P @@ -32,9 +32,6 @@ npm ERR! 404 Not Found \- GET http://www\.foo\.com/\-/ping?write=true .fi .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -45,11 +42,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-pkg.1 b/deps/npm/man/man1/npm-pkg.1 index 08610b24d1e..2f821fd64df 100644 --- a/deps/npm/man/man1/npm-pkg.1 +++ b/deps/npm/man/man1/npm-pkg.1 @@ -5,9 +5,9 @@ .P .RS 2 .nf -npm pkg get [<field> [\.<subfield> \.\.\.]] -npm pkg set <field>=<value> [\.<subfield>=<value> \.\.\.] -npm pkg delete <field> [\.<subfield> \.\.\.] +npm pkg set <key>=<value> [<key>=<value> \.\.\.] +npm pkg get [<key> [<key> \.\.\.]] +npm pkg delete <key> [<key> \.\.\.] .fi .RE .SS Description @@ -174,9 +174,6 @@ npm pkg get name version \-\-ws .fi .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBforce\fP .RS 0 .IP \(bu 2 @@ -217,9 +214,6 @@ Allow clobbering existing values in \fBnpm pkg\fP .P If you don't have a clear idea of what you want to do, it is strongly recommended that you do not use this option! -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBjson\fP .RS 0 .IP \(bu 2 @@ -238,9 +232,6 @@ saving them to your \fBpackage\.json\fP\|\. .RE .P Not supported by all npm commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -271,9 +262,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -298,10 +286,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> .SH See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-prefix.1 b/deps/npm/man/man1/npm-prefix.1 index d4d7139d984..610dcca7391 100644 --- a/deps/npm/man/man1/npm-prefix.1 +++ b/deps/npm/man/man1/npm-prefix.1 @@ -34,9 +34,6 @@ npm prefix \-g .fi .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBglobal\fP .RS 0 .IP \(bu 2 @@ -59,11 +56,6 @@ bin files are linked to \fB{prefix}/bin\fP man pages are linked to \fB{prefix}/share/man\fP .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-profile.1 b/deps/npm/man/man1/npm-profile.1 index 9cd5bfd055c..1730f2ab325 100644 --- a/deps/npm/man/man1/npm-profile.1 +++ b/deps/npm/man/man1/npm-profile.1 @@ -5,11 +5,10 @@ .P .RS 2 .nf -npm profile get [\-\-json|\-\-parseable] [<property>] -npm profile set [\-\-json|\-\-parseable] <property> <value> -npm profile set password -npm profile enable\-2fa [auth\-and\-writes|auth\-only] +npm profile enable\-2fa [auth\-only|auth\-and\-writes] npm profile disable\-2fa +npm profile get [<key>] +npm profile set <key> <value> .fi .RE .P @@ -83,9 +82,6 @@ dist\-tag, or changing access via \fBnpm access\fP and \fBnpm owner\fP\|\. .P Some of these commands may not be available on non npmjs\.com registries\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -96,9 +92,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBjson\fP .RS 0 .IP \(bu 2 @@ -117,9 +110,6 @@ saving them to your \fBpackage\.json\fP\|\. .RE .P Not supported by all npm commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBparseable\fP .RS 0 .IP \(bu 2 @@ -131,9 +121,6 @@ Type: Boolean .P Output parseable results from commands that write to standard output\. For \fBnpm search\fP, this will be tab\-separated table format\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBotp\fP .RS 0 .IP \(bu 2 @@ -148,11 +135,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\. .P If not set, and a registry response fails with a challenge for a one\-time password, npm will prompt on the command line for one\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-prune.1 b/deps/npm/man/man1/npm-prune.1 index e7d4a13f801..0a68646609e 100644 --- a/deps/npm/man/man1/npm-prune.1 +++ b/deps/npm/man/man1/npm-prune.1 @@ -5,7 +5,7 @@ .P .RS 2 .nf -npm prune [[<@scope>/]<pkg>\.\.\.] [\-\-production] [\-\-dry\-run] [\-\-json] +npm prune [[<@scope>/]<pkg>\.\.\.] .fi .RE .SS Description @@ -31,9 +31,6 @@ only need this command with the \fB\-\-production\fP flag\. However, in the rea world, operation is not always "normal"\. When crashes or mistakes happen, this command can help clean up any resulting garbage\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBomit\fP .RS 0 .IP \(bu 2 @@ -55,9 +52,6 @@ it will be included\. .P If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment variable will be set to \fB\|'production'\fP for all lifecycle scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdry\-run\fP .RS 0 .IP \(bu 2 @@ -74,9 +68,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP, .P Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP, \fBowner\fP, etc\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBjson\fP .RS 0 .IP \(bu 2 @@ -95,9 +86,6 @@ saving them to your \fBpackage\.json\fP\|\. .RE .P Not supported by all npm commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -128,9 +116,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -155,9 +140,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -172,11 +154,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-publish.1 b/deps/npm/man/man1/npm-publish.1 index 820d0d6850a..bf822f0b094 100644 --- a/deps/npm/man/man1/npm-publish.1 +++ b/deps/npm/man/man1/npm-publish.1 @@ -5,10 +5,7 @@ .P .RS 2 .nf -npm publish [<tarball>|<folder>] [\-\-tag <tag>] [\-\-access <public|restricted>] [\-\-otp otpcode] [\-\-dry\-run] - -Publishes '\.' if no argument supplied -Sets tag 'latest' if no \-\-tag specified +npm publish [<folder>] .fi .RE .SS Description @@ -105,9 +102,6 @@ See npm help \fBdevelopers\fP for full details on what's included in the published package, as well as details on how the package is built\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBtag\fP .RS 0 .IP \(bu 2 @@ -125,9 +119,6 @@ command, if no explicit tag is given\. .P When used by the \fBnpm diff\fP command, this is the tag used to fetch the tarball that will be compared with the local files by default\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBaccess\fP .RS 0 .IP \(bu 2 @@ -147,9 +138,6 @@ the package access level on the initial publish of the package\. Any subsequent \fBnpm publish\fP commands using the \fB\-\-access\fP flag will not have an effect to the access level\. To make changes to the access level after the initial publish use \fBnpm access\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdry\-run\fP .RS 0 .IP \(bu 2 @@ -166,9 +154,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP, .P Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP, \fBowner\fP, etc\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBotp\fP .RS 0 .IP \(bu 2 @@ -183,9 +168,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\. .P If not set, and a registry response fails with a challenge for a one\-time password, npm will prompt on the command line for one\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -216,9 +198,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -243,9 +222,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -260,11 +236,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-rebuild.1 b/deps/npm/man/man1/npm-rebuild.1 index 06c17d369a6..0ed3c58ba9f 100644 --- a/deps/npm/man/man1/npm-rebuild.1 +++ b/deps/npm/man/man1/npm-rebuild.1 @@ -22,9 +22,6 @@ If one or more package names (and optionally version ranges) are provided, then only packages with a name and version matching one of the specifiers will be rebuilt\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBglobal\fP .RS 0 .IP \(bu 2 @@ -47,9 +44,6 @@ bin files are linked to \fB{prefix}/bin\fP man pages are linked to \fB{prefix}/share/man\fP .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBbin\-links\fP .RS 0 .IP \(bu 2 @@ -65,9 +59,6 @@ executables\. Set to false to have it not do this\. This can be used to work around the fact that some file systems don't support symlinks, even on ostensibly Unix systems\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBignore\-scripts\fP .RS 0 .IP \(bu 2 @@ -83,9 +74,6 @@ Note that commands explicitly intended to run a particular script, such as \fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP will still run their intended script if \fBignore\-scripts\fP is set, but they will \fInot\fR run any pre\- or post\-scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -116,9 +104,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -143,9 +128,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -160,11 +142,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-repo.1 b/deps/npm/man/man1/npm-repo.1 index fe752dbfcfb..f53a7b87c61 100644 --- a/deps/npm/man/man1/npm-repo.1 +++ b/deps/npm/man/man1/npm-repo.1 @@ -15,9 +15,6 @@ repository URL, and then tries to open it using the \fB\-\-browser\fP config param\. If no package name is provided, it will search for a \fBpackage\.json\fP in the current folder and use the \fBrepository\fP property\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBbrowser\fP .RS 0 .IP \(bu 2 @@ -33,9 +30,6 @@ Set to \fBfalse\fP to suppress browser behavior and instead print urls to terminal\. .P Set to \fBtrue\fP to use default system URL opener\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -66,9 +60,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -93,9 +84,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -110,11 +98,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-restart.1 b/deps/npm/man/man1/npm-restart.1 index 9c6f50e45d0..d600984d7c9 100644 --- a/deps/npm/man/man1/npm-restart.1 +++ b/deps/npm/man/man1/npm-restart.1 @@ -47,9 +47,6 @@ postrestart .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBignore\-scripts\fP .RS 0 .IP \(bu 2 @@ -65,9 +62,6 @@ Note that commands explicitly intended to run a particular script, such as \fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP will still run their intended script if \fBignore\-scripts\fP is set, but they will \fInot\fR run any pre\- or post\-scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBscript\-shell\fP .RS 0 .IP \(bu 2 @@ -79,11 +73,6 @@ Type: null or String .P The shell to use for scripts run with the \fBnpm exec\fP, \fBnpm run\fP and \fBnpm init <pkg>\fP commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-root.1 b/deps/npm/man/man1/npm-root.1 index e2bfadbcb6b..04b5a77f152 100644 --- a/deps/npm/man/man1/npm-root.1 +++ b/deps/npm/man/man1/npm-root.1 @@ -5,7 +5,7 @@ .P .RS 2 .nf -npm root [\-g] +npm root .fi .RE .SS Description @@ -23,9 +23,6 @@ echo "Global packages installed in: ${global_node_modules}" .fi .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBglobal\fP .RS 0 .IP \(bu 2 @@ -48,11 +45,6 @@ bin files are linked to \fB{prefix}/bin\fP man pages are linked to \fB{prefix}/share/man\fP .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-run-script.1 b/deps/npm/man/man1/npm-run-script.1 index 4edb0b7dfd9..a9028478dc8 100644 --- a/deps/npm/man/man1/npm-run-script.1 +++ b/deps/npm/man/man1/npm-run-script.1 @@ -5,9 +5,7 @@ .P .RS 2 .nf -npm run\-script <command> [\-\-if\-present] [\-\-silent] [\-\- <args>] -npm run\-script <command> [\-\-workspace=<workspace\-name>] -npm run\-script <command> [\-\-workspaces] +npm run\-script <command> [\-\- <args>] aliases: run, rum, urn .fi @@ -146,9 +144,6 @@ npm test \-w a \-w b This last command will run \fBtest\fP in both \fB\|\./packages/a\fP and \fB\|\./packages/b\fP packages\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -179,9 +174,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -206,9 +198,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -223,9 +212,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBif\-present\fP .RS 0 .IP \(bu 2 @@ -241,9 +227,6 @@ This option can be used when it's desirable to optionally run a script when it's present and fail if the script fails\. This is useful, for example, when running scripts that may only apply for some builds in an otherwise generic CI setup\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBignore\-scripts\fP .RS 0 .IP \(bu 2 @@ -259,9 +242,6 @@ Note that commands explicitly intended to run a particular script, such as \fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP will still run their intended script if \fBignore\-scripts\fP is set, but they will \fInot\fR run any pre\- or post\-scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBscript\-shell\fP .RS 0 .IP \(bu 2 @@ -273,11 +253,6 @@ Type: null or String .P The shell to use for scripts run with the \fBnpm exec\fP, \fBnpm run\fP and \fBnpm init <pkg>\fP commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-search.1 b/deps/npm/man/man1/npm-search.1 index 2fd5032062a..f6157ff03fa 100644 --- a/deps/npm/man/man1/npm-search.1 +++ b/deps/npm/man/man1/npm-search.1 @@ -5,7 +5,7 @@ .P .RS 2 .nf -npm search [\-l|\-\-long] [\-\-json] [\-\-parseable] [\-\-no\-description] [search terms \.\.\.] +npm search [search terms \.\.\.] aliases: s, se, find .fi @@ -35,9 +35,6 @@ and supports standard JavaScript RegExp syntax\. In this case search will ignore a trailing \fB/\fP \. (Note you must escape or quote many regular expression characters in most shells\.) .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBlong\fP .RS 0 .IP \(bu 2 @@ -48,9 +45,6 @@ Type: Boolean .RE .P Show extended information in \fBls\fP, \fBsearch\fP, and \fBhelp\-search\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBjson\fP .RS 0 .IP \(bu 2 @@ -69,9 +63,6 @@ saving them to your \fBpackage\.json\fP\|\. .RE .P Not supported by all npm commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBcolor\fP .RS 0 .IP \(bu 2 @@ -83,9 +74,6 @@ Type: "always" or Boolean .P If false, never shows colors\. If \fB"always"\fP then always shows colors\. If true, then only prints color codes for tty file descriptors\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBparseable\fP .RS 0 .IP \(bu 2 @@ -97,9 +85,6 @@ Type: Boolean .P Output parseable results from commands that write to standard output\. For \fBnpm search\fP, this will be tab\-separated table format\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdescription\fP .RS 0 .IP \(bu 2 @@ -110,9 +95,6 @@ Type: Boolean .RE .P Show the description in \fBnpm search\fP -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsearchopts\fP .RS 0 .IP \(bu 2 @@ -123,9 +105,6 @@ Type: String .RE .P Space\-separated options that are always passed to search\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsearchexclude\fP .RS 0 .IP \(bu 2 @@ -136,9 +115,6 @@ Type: String .RE .P Space\-separated options that limit the results from search\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -149,9 +125,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBprefer\-online\fP .RS 0 .IP \(bu 2 @@ -163,9 +136,6 @@ Type: Boolean .P If true, staleness checks for cached data will be forced, making the CLI look for updates immediately even for fresh package data\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBprefer\-offline\fP .RS 0 .IP \(bu 2 @@ -178,9 +148,6 @@ Type: Boolean If true, staleness checks for cached data will be bypassed, but missing data will be requested from the server\. To force full offline mode, use \fB\-\-offline\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBoffline\fP .RS 0 .IP \(bu 2 @@ -192,11 +159,6 @@ Type: Boolean .P Force offline mode: no network requests will be done during install\. To allow the CLI to fill in missing cache data, see \fB\-\-prefer\-offline\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-set-script.1 b/deps/npm/man/man1/npm-set-script.1 index 4ea8ba31c61..29e27f985f1 100644 --- a/deps/npm/man/man1/npm-set-script.1 +++ b/deps/npm/man/man1/npm-set-script.1 @@ -30,9 +30,6 @@ npm set\-script [<script>] [<command>] .fi .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -63,9 +60,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -90,9 +84,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -107,11 +98,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-star.1 b/deps/npm/man/man1/npm-star.1 index 3de4cceda83..89cf072dd25 100644 --- a/deps/npm/man/man1/npm-star.1 +++ b/deps/npm/man/man1/npm-star.1 @@ -28,9 +28,6 @@ You can also "unstar" a package using npm help \fBunstar\fP .P You can see all your starred packages using npm help \fBstars\fP .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -41,9 +38,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBunicode\fP .RS 0 .IP \(bu 2 @@ -56,11 +50,6 @@ Type: Boolean .P When set to true, npm uses unicode characters in the tree output\. When false, it uses ascii characters instead of unicode glyphs\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-stars.1 b/deps/npm/man/man1/npm-stars.1 index 4325d32fddc..3aa6f02932f 100644 --- a/deps/npm/man/man1/npm-stars.1 +++ b/deps/npm/man/man1/npm-stars.1 @@ -18,9 +18,6 @@ quickly this command lets you do just that\. You may also want to see your friend's favorite packages, in this case you will most certainly enjoy this command\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -31,11 +28,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-start.1 b/deps/npm/man/man1/npm-start.1 index 756b08f22cd..e99e5f48e73 100644 --- a/deps/npm/man/man1/npm-start.1 +++ b/deps/npm/man/man1/npm-start.1 @@ -46,9 +46,6 @@ npm start .fi .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBignore\-scripts\fP .RS 0 .IP \(bu 2 @@ -64,9 +61,6 @@ Note that commands explicitly intended to run a particular script, such as \fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP will still run their intended script if \fBignore\-scripts\fP is set, but they will \fInot\fR run any pre\- or post\-scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBscript\-shell\fP .RS 0 .IP \(bu 2 @@ -78,11 +72,6 @@ Type: null or String .P The shell to use for scripts run with the \fBnpm exec\fP, \fBnpm run\fP and \fBnpm init <pkg>\fP commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-stop.1 b/deps/npm/man/man1/npm-stop.1 index dd2357ba5d8..d5b17a646eb 100644 --- a/deps/npm/man/man1/npm-stop.1 +++ b/deps/npm/man/man1/npm-stop.1 @@ -39,9 +39,6 @@ npm stop .fi .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBignore\-scripts\fP .RS 0 .IP \(bu 2 @@ -57,9 +54,6 @@ Note that commands explicitly intended to run a particular script, such as \fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP will still run their intended script if \fBignore\-scripts\fP is set, but they will \fInot\fR run any pre\- or post\-scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBscript\-shell\fP .RS 0 .IP \(bu 2 @@ -71,11 +65,6 @@ Type: null or String .P The shell to use for scripts run with the \fBnpm exec\fP, \fBnpm run\fP and \fBnpm init <pkg>\fP commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-team.1 b/deps/npm/man/man1/npm-team.1 index 3d7ebf14476..81d8245730f 100644 --- a/deps/npm/man/man1/npm-team.1 +++ b/deps/npm/man/man1/npm-team.1 @@ -5,12 +5,10 @@ .P .RS 2 .nf -npm team create <scope:team> -npm team destroy <scope:team> - -npm team add <scope:team> <user> -npm team rm <scope:team> <user> - +npm team create <scope:team> [\-\-otp <otpcode>] +npm team destroy <scope:team> [\-\-otp <otpcode>] +npm team add <scope:team> <user> [\-\-otp <otpcode>] +npm team rm <scope:team> <user> [\-\-otp <otpcode>] npm team ls <scope>|<scope:team> .fi .RE @@ -103,9 +101,6 @@ is done through the website, not the npm CLI\. To use teams to manage permissions on packages belonging to your organization, use the \fBnpm access\fP command to grant or revoke the appropriate permissions\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -116,9 +111,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBotp\fP .RS 0 .IP \(bu 2 @@ -133,9 +125,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\. .P If not set, and a registry response fails with a challenge for a one\-time password, npm will prompt on the command line for one\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBparseable\fP .RS 0 .IP \(bu 2 @@ -147,9 +136,6 @@ Type: Boolean .P Output parseable results from commands that write to standard output\. For \fBnpm search\fP, this will be tab\-separated table format\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBjson\fP .RS 0 .IP \(bu 2 @@ -168,11 +154,6 @@ saving them to your \fBpackage\.json\fP\|\. .RE .P Not supported by all npm commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-test.1 b/deps/npm/man/man1/npm-test.1 index c2fb13f4243..7241ffb41e8 100644 --- a/deps/npm/man/man1/npm-test.1 +++ b/deps/npm/man/man1/npm-test.1 @@ -7,7 +7,7 @@ .nf npm test [\-\- <args>] -aliases: t, tst +aliases: tst, t .fi .RE .SS Description @@ -36,9 +36,6 @@ npm test .fi .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBignore\-scripts\fP .RS 0 .IP \(bu 2 @@ -54,9 +51,6 @@ Note that commands explicitly intended to run a particular script, such as \fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP will still run their intended script if \fBignore\-scripts\fP is set, but they will \fInot\fR run any pre\- or post\-scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBscript\-shell\fP .RS 0 .IP \(bu 2 @@ -68,11 +62,6 @@ Type: null or String .P The shell to use for scripts run with the \fBnpm exec\fP, \fBnpm run\fP and \fBnpm init <pkg>\fP commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-token.1 b/deps/npm/man/man1/npm-token.1 index 5d07f4bf99c..da53c023ea4 100644 --- a/deps/npm/man/man1/npm-token.1 +++ b/deps/npm/man/man1/npm-token.1 @@ -5,9 +5,9 @@ .P .RS 2 .nf - npm token list [\-\-json|\-\-parseable] - npm token create [\-\-read\-only] [\-\-cidr=1\.1\.1\.1/24,2\.2\.2\.2/16] - npm token revoke <id|token> +npm token list +npm token revoke <id|token> +npm token create [\-\-read\-only] [\-\-cidr=list] .fi .RE .P @@ -85,9 +85,6 @@ found in the normal \fBnpm token list\fP output\. .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBread\-only\fP .RS 0 .IP \(bu 2 @@ -99,9 +96,6 @@ Type: Boolean .P This is used to mark a token as unable to publish when configuring limited access tokens with the \fBnpm token create\fP command\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBcidr\fP .RS 0 .IP \(bu 2 @@ -113,9 +107,6 @@ Type: null or String (can be set multiple times) .P This is a list of CIDR address to be used when configuring limited access tokens with the \fBnpm token create\fP command\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -126,9 +117,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBotp\fP .RS 0 .IP \(bu 2 @@ -143,11 +131,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\. .P If not set, and a registry response fails with a challenge for a one\-time password, npm will prompt on the command line for one\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-uninstall.1 b/deps/npm/man/man1/npm-uninstall.1 index ddf5d307f36..543695f7f90 100644 --- a/deps/npm/man/man1/npm-uninstall.1 +++ b/deps/npm/man/man1/npm-uninstall.1 @@ -5,9 +5,9 @@ .P .RS 2 .nf -npm uninstall [<@scope>/]<pkg>[@<version>]\.\.\. [\-S|\-\-save|\-\-no\-save] +npm uninstall [<@scope>/]<pkg>\.\.\. -aliases: remove, rm, r, un, unlink +aliases: un, unlink, remove, rm, r .fi .RE .SS Description @@ -55,25 +55,22 @@ npm uninstall lodash \-\-no\-save \fBlodash\fP will not be removed from your \fBpackage\.json\fP, \fBnpm\-shrinkwrap\.json\fP, or \fBpackage\-lock\.json\fP files\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBsave\fP .RS 0 .IP \(bu 2 -Default: true +Default: \fBtrue\fP unless when using \fBnpm update\fP or \fBnpm dedupe\fP where it +defaults to \fBfalse\fP .IP \(bu 2 Type: Boolean .RE .P -Save installed packages to a package\.json file as dependencies\. +Save installed packages to a \fBpackage\.json\fP file as dependencies\. .P When used with the \fBnpm rm\fP command, removes the dependency from -package\.json\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - +\fBpackage\.json\fP\|\. +.P +Will also prevent writing to \fBpackage\-lock\.json\fP if set to \fBfalse\fP\|\. .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -104,9 +101,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -131,9 +125,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -148,11 +139,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-unpublish.1 b/deps/npm/man/man1/npm-unpublish.1 index affff7d9392..da3484bcde1 100644 --- a/deps/npm/man/man1/npm-unpublish.1 +++ b/deps/npm/man/man1/npm-unpublish.1 @@ -42,9 +42,6 @@ you must use a new version number\. If you unpublish the entire package, you may not publish any new versions of that package until 24 hours have passed\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBdry\-run\fP .RS 0 .IP \(bu 2 @@ -61,9 +58,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP, .P Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP, \fBowner\fP, etc\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBforce\fP .RS 0 .IP \(bu 2 @@ -104,9 +98,6 @@ Allow clobbering existing values in \fBnpm pkg\fP .P If you don't have a clear idea of what you want to do, it is strongly recommended that you do not use this option! -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -137,9 +128,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -164,11 +152,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-unstar.1 b/deps/npm/man/man1/npm-unstar.1 index eca58debaf8..65d5da8acca 100644 --- a/deps/npm/man/man1/npm-unstar.1 +++ b/deps/npm/man/man1/npm-unstar.1 @@ -24,9 +24,6 @@ You can "star" a package using npm help \fBstar\fP .P You can see all your starred packages using npm help \fBstars\fP .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -37,9 +34,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBunicode\fP .RS 0 .IP \(bu 2 @@ -52,9 +46,6 @@ Type: Boolean .P When set to true, npm uses unicode characters in the tree output\. When false, it uses ascii characters instead of unicode glyphs\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBotp\fP .RS 0 .IP \(bu 2 @@ -69,11 +60,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\. .P If not set, and a registry response fails with a challenge for a one\-time password, npm will prompt on the command line for one\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-update.1 b/deps/npm/man/man1/npm-update.1 index 88db2f81166..759da2fd2f4 100644 --- a/deps/npm/man/man1/npm-update.1 +++ b/deps/npm/man/man1/npm-update.1 @@ -5,9 +5,9 @@ .P .RS 2 .nf -npm update [\-g] [<pkg>\.\.\.] +npm update [<pkg>\.\.\.] -aliases: up, upgrade +aliases: up, upgrade, udpate .fi .RE .SS Description @@ -159,9 +159,6 @@ need to run \fBnpm install \-g [<pkg>\.\.\.]\fP NOTE: If a package has been upgraded to a version newer than \fBlatest\fP, it will be \fIdowngraded\fR\|\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBglobal\fP .RS 0 .IP \(bu 2 @@ -184,9 +181,6 @@ bin files are linked to \fB{prefix}/bin\fP man pages are linked to \fB{prefix}/share/man\fP .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBglobal\-style\fP .RS 0 .IP \(bu 2 @@ -202,9 +196,6 @@ direct dependencies will show in \fBnode_modules\fP and everything they depend on will be flattened in their \fBnode_modules\fP folders\. This obviously will eliminate some deduping\. If used with \fBlegacy\-bundling\fP, \fBlegacy\-bundling\fP will be preferred\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlegacy\-bundling\fP .RS 0 .IP \(bu 2 @@ -218,9 +209,6 @@ Causes npm to install the package such that versions of npm prior to 1\.4, such as the one included with node 0\.8, can install the package\. This eliminates all automatic deduping\. If used with \fBglobal\-style\fP this option will be preferred\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBstrict\-peer\-deps\fP .RS 0 .IP \(bu 2 @@ -243,9 +231,6 @@ the range set in their package's \fBpeerDependencies\fP object\. When such and override is performed, a warning is printed, explaining the conflict and the packages involved\. If \fB\-\-strict\-peer\-deps\fP is set, then this warning is treated as a failure\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBpackage\-lock\fP .RS 0 .IP \(bu 2 @@ -261,9 +246,24 @@ will also prevent \fIwriting\fR \fBpackage\-lock\.json\fP if \fBsave\fP is true\ When package package\-locks are disabled, automatic pruning of extraneous modules will also be disabled\. To remove extraneous modules with package\-locks disabled use \fBnpm prune\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> +.P +This configuration does not affect \fBnpm ci\fP\|\. +.SS \fBsave\fP +.RS 0 +.IP \(bu 2 +Default: \fBtrue\fP unless when using \fBnpm update\fP or \fBnpm dedupe\fP where it +defaults to \fBfalse\fP +.IP \(bu 2 +Type: Boolean +.RE +.P +Save installed packages to a \fBpackage\.json\fP file as dependencies\. +.P +When used with the \fBnpm rm\fP command, removes the dependency from +\fBpackage\.json\fP\|\. +.P +Will also prevent writing to \fBpackage\-lock\.json\fP if set to \fBfalse\fP\|\. .SS \fBomit\fP .RS 0 .IP \(bu 2 @@ -285,9 +285,6 @@ it will be included\. .P If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment variable will be set to \fB\|'production'\fP for all lifecycle scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBignore\-scripts\fP .RS 0 .IP \(bu 2 @@ -303,9 +300,6 @@ Note that commands explicitly intended to run a particular script, such as \fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP will still run their intended script if \fBignore\-scripts\fP is set, but they will \fInot\fR run any pre\- or post\-scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBaudit\fP .RS 0 .IP \(bu 2 @@ -319,9 +313,6 @@ When "true" submit audit reports alongside the current npm command to the default registry and all registries configured for scopes\. See the documentation for npm help \fBaudit\fP for details on what is submitted\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBbin\-links\fP .RS 0 .IP \(bu 2 @@ -337,9 +328,6 @@ executables\. Set to false to have it not do this\. This can be used to work around the fact that some file systems don't support symlinks, even on ostensibly Unix systems\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBfund\fP .RS 0 .IP \(bu 2 @@ -352,9 +340,6 @@ Type: Boolean When "true" displays the message at the end of each \fBnpm install\fP acknowledging the number of dependencies looking for funding\. See npm help \fBnpm fund\fP for details\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdry\-run\fP .RS 0 .IP \(bu 2 @@ -371,9 +356,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP, .P Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP, \fBowner\fP, etc\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -404,9 +386,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -431,9 +410,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -448,11 +424,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm-version.1 b/deps/npm/man/man1/npm-version.1 index 5e7f7d183e9..0ec5a5c55c0 100644 --- a/deps/npm/man/man1/npm-version.1 +++ b/deps/npm/man/man1/npm-version.1 @@ -5,17 +5,12 @@ .P .RS 2 .nf -npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease [\-\-preid=<prerelease\-id>] | from\-git] +npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease | from\-git] -\|'npm [\-v | \-\-version]' to print npm version -\|'npm view <pkg> version' to view a package's published version -\|'npm ls' to inspect current package/dependency versions +alias: verison .fi .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBallow\-same\-version\fP .RS 0 .IP \(bu 2 @@ -27,9 +22,6 @@ Type: Boolean .P Prevents throwing an error when \fBnpm version\fP is used to set the new version to the same value as the current version\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBcommit\-hooks\fP .RS 0 .IP \(bu 2 @@ -40,9 +32,6 @@ Type: Boolean .RE .P Run git commit hooks when using the \fBnpm version\fP command\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBgit\-tag\-version\fP .RS 0 .IP \(bu 2 @@ -53,9 +42,6 @@ Type: Boolean .RE .P Tag the commit when using the \fBnpm version\fP command\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBjson\fP .RS 0 .IP \(bu 2 @@ -74,9 +60,6 @@ saving them to your \fBpackage\.json\fP\|\. .RE .P Not supported by all npm commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBpreid\fP .RS 0 .IP \(bu 2 @@ -88,9 +71,6 @@ Type: String .P The "prerelease identifier" to use as a prefix for the "prerelease" part of a semver\. Like the \fBrc\fP in \fB1\.2\.0\-rc\.8\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsign\-git\-tag\fP .RS 0 .IP \(bu 2 @@ -105,9 +85,6 @@ If set to true, then the \fBnpm version\fP command will tag the version using .P Note that git requires you to have set up GPG keys in your git configs for this to work properly\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -138,9 +115,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -165,9 +139,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -182,11 +153,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS Description .P Run this in a package directory to bump the version and write the new data diff --git a/deps/npm/man/man1/npm-view.1 b/deps/npm/man/man1/npm-view.1 index b9239bc5e5e..68da4b8aa49 100644 --- a/deps/npm/man/man1/npm-view.1 +++ b/deps/npm/man/man1/npm-view.1 @@ -5,9 +5,9 @@ .P .RS 2 .nf -npm view [<@scope>/]<name>[@<version>] [<field>[\.<subfield>]\.\.\.] +npm view [<@scope>/]<pkg>[@<version>] [<field>[\.subfield]\.\.\.] -aliases: info, show, v +aliases: v, info, show .fi .RE .SS Description @@ -112,9 +112,6 @@ npm view connect versions .fi .RE .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBjson\fP .RS 0 .IP \(bu 2 @@ -133,9 +130,6 @@ saving them to your \fBpackage\.json\fP\|\. .RE .P Not supported by all npm commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -166,9 +160,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -193,9 +184,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -210,11 +198,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS Output .P If only a single string field for a single version is output, then it diff --git a/deps/npm/man/man1/npm-whoami.1 b/deps/npm/man/man1/npm-whoami.1 index c6375847287..42135b21cca 100644 --- a/deps/npm/man/man1/npm-whoami.1 +++ b/deps/npm/man/man1/npm-whoami.1 @@ -5,7 +5,7 @@ .P .RS 2 .nf -npm whoami [\-\-registry <registry>] +npm whoami .fi .RE .P @@ -21,9 +21,6 @@ associated with the token, and print to standard output\. If logged into a registry that uses Basic Auth, then simply print the \fBusername\fP portion of the authentication string\. .SS Configuration -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -34,11 +31,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See Also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1 index 47c78a69598..dfde4519904 100644 --- a/deps/npm/man/man1/npm.1 +++ b/deps/npm/man/man1/npm.1 @@ -2,15 +2,9 @@ .SH "NAME" \fBnpm\fR \- javascript package manager .SS Synopsis -.P -.RS 2 -.nf -npm <command> [args] -.fi -.RE .SS Version .P -8\.5\.1 +8\.5\.2 .SS Description .P npm is the package manager for the Node JavaScript platform\. It puts diff --git a/deps/npm/man/man1/npx.1 b/deps/npm/man/man1/npx.1 index 80b9629e341..e4a29ef653c 100644 --- a/deps/npm/man/man1/npx.1 +++ b/deps/npm/man/man1/npx.1 @@ -5,21 +5,10 @@ .P .RS 2 .nf -npm exec \-\- <pkg>[@<version>] [args\.\.\.] -npm exec \-\-package=<pkg>[@<version>] \-\- <cmd> [args\.\.\.] -npm exec \-c '<cmd> [args\.\.\.]' -npm exec \-\-package=foo \-c '<cmd> [args\.\.\.]' - -npx <pkg>[@<specifier>] [args\.\.\.] -npx \-p <pkg>[@<specifier>] <cmd> [args\.\.\.] +npx \-\- <pkg>[@<version>] [args\.\.\.] +npx \-\-package=<pkg>[@<version>] \-\- <cmd> [args\.\.\.] npx \-c '<cmd> [args\.\.\.]' -npx \-p <pkg>[@<specifier>] \-c '<cmd> [args\.\.\.]' - -alias: npm x, npx - -\-\-package=<pkg> (may be specified multiple times) -\-p is a shorthand for \-\-package only when using npx executable -\-c <cmd> \-\-call=<cmd> (may not be mixed with positional arguments) +npx \-\-package=foo \-c '<cmd> [args\.\.\.]' .fi .RE .SS Description diff --git a/deps/npm/man/man7/config.7 b/deps/npm/man/man7/config.7 index 6a62b6a3f05..6cd11eb958e 100644 --- a/deps/npm/man/man7/config.7 +++ b/deps/npm/man/man7/config.7 @@ -56,9 +56,6 @@ internal to npm, and are defaults if nothing else is specified\. .SS Shorthands and Other CLI Niceties .P The following shorthands are parsed on the command\-line: -<!\-\- AUTOGENERATED CONFIG SHORTHANDS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .RS 0 .IP \(bu 2 \fB\-a\fP: \fB\-\-all\fP @@ -140,10 +137,6 @@ The following shorthands are parsed on the command\-line: \fB\-y\fP: \fB\-\-yes\fP .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> -<!\-\- AUTOGENERATED CONFIG SHORTHANDS END \-\-> - .P If the specified configuration param resolves unambiguously to a known configuration parameter, then it is expanded to that configuration @@ -170,9 +163,6 @@ npm ls \-\-global \-\-parseable \-\-long \-\-loglevel info .fi .RE .SS Config Settings -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS START \-\-> -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> .SS \fB_auth\fP .RS 0 .IP \(bu 2 @@ -187,9 +177,6 @@ A basic\-auth string to use when authenticating against the npm registry\. Warning: This should generally not be set via a command\-line option\. It is safer to use a registry\-provided authentication bearer token stored in the ~/\.npmrc file by running \fBnpm login\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBaccess\fP .RS 0 .IP \(bu 2 @@ -209,9 +196,6 @@ the package access level on the initial publish of the package\. Any subsequent \fBnpm publish\fP commands using the \fB\-\-access\fP flag will not have an effect to the access level\. To make changes to the access level after the initial publish use \fBnpm access\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBall\fP .RS 0 .IP \(bu 2 @@ -224,9 +208,6 @@ Type: Boolean When running \fBnpm outdated\fP and \fBnpm ls\fP, setting \fB\-\-all\fP will show all outdated or installed packages, rather than only those directly depended upon by the current project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBallow\-same\-version\fP .RS 0 .IP \(bu 2 @@ -238,9 +219,6 @@ Type: Boolean .P Prevents throwing an error when \fBnpm version\fP is used to set the new version to the same value as the current version\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBaudit\fP .RS 0 .IP \(bu 2 @@ -254,9 +232,6 @@ When "true" submit audit reports alongside the current npm command to the default registry and all registries configured for scopes\. See the documentation for npm help \fBaudit\fP for details on what is submitted\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBaudit\-level\fP .RS 0 .IP \(bu 2 @@ -268,9 +243,6 @@ Type: null, "info", "low", "moderate", "high", "critical", or "none" .P The minimum level of vulnerability for \fBnpm audit\fP to exit with a non\-zero exit code\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBbefore\fP .RS 0 .IP \(bu 2 @@ -289,9 +261,6 @@ If the requested version is a \fBdist\-tag\fP and the given tag does not pass th \fB\-\-before\fP filter, the most recent version less than or equal to that tag will be used\. For example, \fBfoo@latest\fP might install \fBfoo@1\.2\fP even though \fBlatest\fP is \fB2\.0\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBbin\-links\fP .RS 0 .IP \(bu 2 @@ -307,9 +276,6 @@ executables\. Set to false to have it not do this\. This can be used to work around the fact that some file systems don't support symlinks, even on ostensibly Unix systems\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBbrowser\fP .RS 0 .IP \(bu 2 @@ -325,9 +291,6 @@ Set to \fBfalse\fP to suppress browser behavior and instead print urls to terminal\. .P Set to \fBtrue\fP to use default system URL opener\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBca\fP .RS 0 .IP \(bu 2 @@ -361,9 +324,6 @@ ca[]="\.\.\." .RE .P See also the \fBstrict\-ssl\fP config\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBcache\fP .RS 0 .IP \(bu 2 @@ -375,9 +335,6 @@ Type: Path .P The location of npm's cache directory\. See npm help \fBnpm cache\fP -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBcafile\fP .RS 0 .IP \(bu 2 @@ -390,9 +347,6 @@ Type: Path A path to a file containing one or multiple Certificate Authority signing certificates\. Similar to the \fBca\fP setting, but allows for multiple CA's, as well as for the CA information to be stored in a file on disk\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBcall\fP .RS 0 .IP \(bu 2 @@ -410,9 +364,6 @@ custom command to be run along with the installed packages\. npm exec \-\-package yo \-\-package generator\-node \-\-call "yo node" .fi .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBcert\fP .RS 0 .IP \(bu 2 @@ -434,9 +385,6 @@ cert="\-\-\-\-\-BEGIN CERTIFICATE\-\-\-\-\-\\nXXXX\\nXXXX\\n\-\-\-\-\-END CERTIF .P It is \fInot\fR the path to a certificate file (and there is no "certfile" option)\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBci\-name\fP .RS 0 .IP \(bu 2 @@ -450,9 +398,6 @@ Type: null or String The name of a continuous integration system\. If not set explicitly, npm will detect the current CI environment using the \fB@npmcli/ci\-detect\fP \fIhttp://npm\.im/@npmcli/ci\-detect\fR module\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBcidr\fP .RS 0 .IP \(bu 2 @@ -464,9 +409,6 @@ Type: null or String (can be set multiple times) .P This is a list of CIDR address to be used when configuring limited access tokens with the \fBnpm token create\fP command\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBcolor\fP .RS 0 .IP \(bu 2 @@ -478,9 +420,6 @@ Type: "always" or Boolean .P If false, never shows colors\. If \fB"always"\fP then always shows colors\. If true, then only prints color codes for tty file descriptors\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBcommit\-hooks\fP .RS 0 .IP \(bu 2 @@ -491,9 +430,6 @@ Type: Boolean .RE .P Run git commit hooks when using the \fBnpm version\fP command\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdepth\fP .RS 0 .IP \(bu 2 @@ -507,9 +443,6 @@ The depth to go when recursing packages for \fBnpm ls\fP\|\. .P If not set, \fBnpm ls\fP will show only the immediate dependencies of the root project\. If \fB\-\-all\fP is set, then npm will show all dependencies by default\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdescription\fP .RS 0 .IP \(bu 2 @@ -520,9 +453,6 @@ Type: Boolean .RE .P Show the description in \fBnpm search\fP -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdiff\fP .RS 0 .IP \(bu 2 @@ -533,9 +463,6 @@ Type: String (can be set multiple times) .RE .P Define arguments to compare in \fBnpm diff\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdiff\-dst\-prefix\fP .RS 0 .IP \(bu 2 @@ -546,9 +473,6 @@ Type: String .RE .P Destination prefix to be used in \fBnpm diff\fP output\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdiff\-ignore\-all\-space\fP .RS 0 .IP \(bu 2 @@ -559,9 +483,6 @@ Type: Boolean .RE .P Ignore whitespace when comparing lines in \fBnpm diff\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdiff\-name\-only\fP .RS 0 .IP \(bu 2 @@ -572,9 +493,6 @@ Type: Boolean .RE .P Prints only filenames when using \fBnpm diff\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdiff\-no\-prefix\fP .RS 0 .IP \(bu 2 @@ -588,9 +506,6 @@ Do not show any source or destination prefix in \fBnpm diff\fP output\. .P Note: this causes \fBnpm diff\fP to ignore the \fB\-\-diff\-src\-prefix\fP and \fB\-\-diff\-dst\-prefix\fP configs\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdiff\-src\-prefix\fP .RS 0 .IP \(bu 2 @@ -601,9 +516,6 @@ Type: String .RE .P Source prefix to be used in \fBnpm diff\fP output\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdiff\-text\fP .RS 0 .IP \(bu 2 @@ -614,9 +526,6 @@ Type: Boolean .RE .P Treat all files as text in \fBnpm diff\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdiff\-unified\fP .RS 0 .IP \(bu 2 @@ -627,9 +536,6 @@ Type: Number .RE .P The number of lines of context to print in \fBnpm diff\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdry\-run\fP .RS 0 .IP \(bu 2 @@ -646,9 +552,6 @@ commands that modify your local installation, eg, \fBinstall\fP, \fBupdate\fP, .P Note: This is NOT honored by other network related commands, eg \fBdist\-tags\fP, \fBowner\fP, etc\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBeditor\fP .RS 0 .IP \(bu 2 @@ -660,9 +563,6 @@ Type: String .RE .P The command to run for \fBnpm edit\fP and \fBnpm config edit\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBengine\-strict\fP .RS 0 .IP \(bu 2 @@ -677,9 +577,6 @@ installing) any package that claims to not be compatible with the current Node\.js version\. .P This can be overridden by setting the \fB\-\-force\fP flag\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBfetch\-retries\fP .RS 0 .IP \(bu 2 @@ -694,9 +591,6 @@ from the registry\. .P npm will retry idempotent read requests to the registry in the case of network failures or 5xx HTTP errors\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBfetch\-retry\-factor\fP .RS 0 .IP \(bu 2 @@ -707,9 +601,6 @@ Type: Number .RE .P The "factor" config for the \fBretry\fP module to use when fetching packages\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBfetch\-retry\-maxtimeout\fP .RS 0 .IP \(bu 2 @@ -721,9 +612,6 @@ Type: Number .P The "maxTimeout" config for the \fBretry\fP module to use when fetching packages\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBfetch\-retry\-mintimeout\fP .RS 0 .IP \(bu 2 @@ -735,9 +623,6 @@ Type: Number .P The "minTimeout" config for the \fBretry\fP module to use when fetching packages\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBfetch\-timeout\fP .RS 0 .IP \(bu 2 @@ -748,9 +633,6 @@ Type: Number .RE .P The maximum amount of time to wait for HTTP requests to complete\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBforce\fP .RS 0 .IP \(bu 2 @@ -791,9 +673,6 @@ Allow clobbering existing values in \fBnpm pkg\fP .P If you don't have a clear idea of what you want to do, it is strongly recommended that you do not use this option! -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBforeground\-scripts\fP .RS 0 .IP \(bu 2 @@ -809,9 +688,6 @@ input, output, and error with the main npm process\. .P Note that this will generally make installs run slower, and be much noisier, but can be useful for debugging\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBformat\-package\-lock\fP .RS 0 .IP \(bu 2 @@ -823,9 +699,6 @@ Type: Boolean .P Format \fBpackage\-lock\.json\fP or \fBnpm\-shrinkwrap\.json\fP as a human readable file\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBfund\fP .RS 0 .IP \(bu 2 @@ -838,9 +711,6 @@ Type: Boolean When "true" displays the message at the end of each \fBnpm install\fP acknowledging the number of dependencies looking for funding\. See npm help \fBnpm fund\fP for details\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBgit\fP .RS 0 .IP \(bu 2 @@ -852,9 +722,6 @@ Type: String .P The command to use for git commands\. If git is installed on the computer, but is not in the \fBPATH\fP, then set this to the full path to the git binary\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBgit\-tag\-version\fP .RS 0 .IP \(bu 2 @@ -865,9 +732,6 @@ Type: Boolean .RE .P Tag the commit when using the \fBnpm version\fP command\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBglobal\fP .RS 0 .IP \(bu 2 @@ -890,9 +754,6 @@ bin files are linked to \fB{prefix}/bin\fP man pages are linked to \fB{prefix}/share/man\fP .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBglobal\-style\fP .RS 0 .IP \(bu 2 @@ -908,9 +769,6 @@ direct dependencies will show in \fBnode_modules\fP and everything they depend on will be flattened in their \fBnode_modules\fP folders\. This obviously will eliminate some deduping\. If used with \fBlegacy\-bundling\fP, \fBlegacy\-bundling\fP will be preferred\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBglobalconfig\fP .RS 0 .IP \(bu 2 @@ -922,9 +780,6 @@ Type: Path .RE .P The config file to read for global config options\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBheading\fP .RS 0 .IP \(bu 2 @@ -935,9 +790,6 @@ Type: String .RE .P The string that starts all the debugging log output\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBhttps\-proxy\fP .RS 0 .IP \(bu 2 @@ -951,9 +803,6 @@ A proxy to use for outgoing https requests\. If the \fBHTTPS_PROXY\fP or \fBhttps_proxy\fP or \fBHTTP_PROXY\fP or \fBhttp_proxy\fP environment variables are set, proxy settings will be honored by the underlying \fBmake\-fetch\-happen\fP library\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBif\-present\fP .RS 0 .IP \(bu 2 @@ -969,9 +818,6 @@ This option can be used when it's desirable to optionally run a script when it's present and fail if the script fails\. This is useful, for example, when running scripts that may only apply for some builds in an otherwise generic CI setup\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBignore\-scripts\fP .RS 0 .IP \(bu 2 @@ -987,9 +833,6 @@ Note that commands explicitly intended to run a particular script, such as \fBnpm start\fP, \fBnpm stop\fP, \fBnpm restart\fP, \fBnpm test\fP, and \fBnpm run\-script\fP will still run their intended script if \fBignore\-scripts\fP is set, but they will \fInot\fR run any pre\- or post\-scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\fP .RS 0 .IP \(bu 2 @@ -1005,9 +848,6 @@ This is the inverse of \fB\-\-omit=<type>\fP\|\. .P Dependency types specified in \fB\-\-include\fP will not be omitted, regardless of the order in which omit/include are specified on the command\-line\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-staged\fP .RS 0 .IP \(bu 2 @@ -1021,9 +861,6 @@ Allow installing "staged" published packages, as defined by npm RFC PR #92 \fIhttps://github\.com/npm/rfcs/pull/92\fR\|\. .P This is experimental, and not implemented by the npm public registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinclude\-workspace\-root\fP .RS 0 .IP \(bu 2 @@ -1038,9 +875,6 @@ Include the workspace root when workspaces are enabled for a command\. When false, specifying individual workspaces via the \fBworkspace\fP config, or all workspaces via the \fBworkspaces\fP flag, will cause npm to operate only on the specified workspaces, and not on the root project\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinit\-author\-email\fP .RS 0 .IP \(bu 2 @@ -1051,9 +885,6 @@ Type: String .RE .P The value \fBnpm init\fP should use by default for the package author's email\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinit\-author\-name\fP .RS 0 .IP \(bu 2 @@ -1064,9 +895,6 @@ Type: String .RE .P The value \fBnpm init\fP should use by default for the package author's name\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinit\-author\-url\fP .RS 0 .IP \(bu 2 @@ -1078,9 +906,6 @@ Type: "" or URL .P The value \fBnpm init\fP should use by default for the package author's homepage\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinit\-license\fP .RS 0 .IP \(bu 2 @@ -1091,9 +916,6 @@ Type: String .RE .P The value \fBnpm init\fP should use by default for the package license\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinit\-module\fP .RS 0 .IP \(bu 2 @@ -1107,9 +929,6 @@ A module that will be loaded by the \fBnpm init\fP command\. See the documentation for the init\-package\-json \fIhttps://github\.com/npm/init\-package\-json\fR module for more information, or npm help init\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinit\-version\fP .RS 0 .IP \(bu 2 @@ -1121,9 +940,6 @@ Type: SemVer string .P The value that \fBnpm init\fP should use by default for the package version number, if not already set in package\.json\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBjson\fP .RS 0 .IP \(bu 2 @@ -1142,9 +958,6 @@ saving them to your \fBpackage\.json\fP\|\. .RE .P Not supported by all npm commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBkey\fP .RS 0 .IP \(bu 2 @@ -1164,9 +977,6 @@ key="\-\-\-\-\-BEGIN PRIVATE KEY\-\-\-\-\-\\nXXXX\\nXXXX\\n\-\-\-\-\-END PRIVATE .RE .P It is \fInot\fR the path to a key file (and there is no "keyfile" option)\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlegacy\-bundling\fP .RS 0 .IP \(bu 2 @@ -1180,9 +990,6 @@ Causes npm to install the package such that versions of npm prior to 1\.4, such as the one included with node 0\.8, can install the package\. This eliminates all automatic deduping\. If used with \fBglobal\-style\fP this option will be preferred\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlegacy\-peer\-deps\fP .RS 0 .IP \(bu 2 @@ -1204,9 +1011,6 @@ This differs from \fB\-\-omit=peer\fP, in that \fB\-\-omit=peer\fP will avoid un .P Use of \fBlegacy\-peer\-deps\fP is not recommended, as it will not enforce the \fBpeerDependencies\fP contract that meta\-dependencies may rely on\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlink\fP .RS 0 .IP \(bu 2 @@ -1217,9 +1021,6 @@ Type: Boolean .RE .P Used with \fBnpm ls\fP, limiting output to only those packages that are linked\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlocal\-address\fP .RS 0 .IP \(bu 2 @@ -1231,9 +1032,6 @@ Type: IP Address .P The IP address of the local interface to use when making connections to the npm registry\. Must be IPv4 in versions of Node prior to 0\.12\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlocation\fP .RS 0 .IP \(bu 2 @@ -1245,9 +1043,6 @@ Type: "global", "user", or "project" .RE .P When passed to \fBnpm config\fP this refers to which config file to use\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlockfile\-version\fP .RS 0 .IP \(bu 2 @@ -1273,9 +1068,6 @@ and interoperability, at the expense of more bytes on disk\. 3: Only the new lockfile information introduced in npm version 7\. Smaller on disk than lockfile version 2, but not interoperable with older npm versions\. Ideal if all users are on npm version 7 and higher\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBloglevel\fP .RS 0 .IP \(bu 2 @@ -1293,9 +1085,6 @@ Any logs of a higher level than the setting are shown\. The default is "notice"\. .P See also the \fBforeground\-scripts\fP config\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlogs\-max\fP .RS 0 .IP \(bu 2 @@ -1306,9 +1095,6 @@ Type: Number .RE .P The maximum number of log files to store\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBlong\fP .RS 0 .IP \(bu 2 @@ -1319,9 +1105,6 @@ Type: Boolean .RE .P Show extended information in \fBls\fP, \fBsearch\fP, and \fBhelp\-search\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBmaxsockets\fP .RS 0 .IP \(bu 2 @@ -1333,9 +1116,6 @@ Type: Number .P The maximum number of connections to use per origin (protocol/host/port combination)\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBmessage\fP .RS 0 .IP \(bu 2 @@ -1348,9 +1128,6 @@ Type: String Commit message which is used by \fBnpm version\fP when creating version commit\. .P Any "%s" in the message will be replaced with the version number\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBnode\-options\fP .RS 0 .IP \(bu 2 @@ -1363,9 +1140,6 @@ Type: null or String Options to pass through to Node\.js via the \fBNODE_OPTIONS\fP environment variable\. This does not impact how npm itself is executed but it does impact how lifecycle scripts are called\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBnode\-version\fP .RS 0 .IP \(bu 2 @@ -1376,9 +1150,6 @@ Type: SemVer string .RE .P The node version to use when checking a package's \fBengines\fP setting\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBnoproxy\fP .RS 0 .IP \(bu 2 @@ -1391,9 +1162,6 @@ Type: String (can be set multiple times) Domain extensions that should bypass any proxies\. .P Also accepts a comma\-delimited string\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBnpm\-version\fP .RS 0 .IP \(bu 2 @@ -1404,9 +1172,6 @@ Type: SemVer string .RE .P The npm version to use when checking a package's \fBengines\fP setting\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBoffline\fP .RS 0 .IP \(bu 2 @@ -1418,9 +1183,6 @@ Type: Boolean .P Force offline mode: no network requests will be done during install\. To allow the CLI to fill in missing cache data, see \fB\-\-prefer\-offline\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBomit\fP .RS 0 .IP \(bu 2 @@ -1442,9 +1204,6 @@ it will be included\. .P If the resulting omit list includes \fB\|'dev'\fP, then the \fBNODE_ENV\fP environment variable will be set to \fB\|'production'\fP for all lifecycle scripts\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBotp\fP .RS 0 .IP \(bu 2 @@ -1459,9 +1218,6 @@ when publishing or changing package permissions with \fBnpm access\fP\|\. .P If not set, and a registry response fails with a challenge for a one\-time password, npm will prompt on the command line for one\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBpack\-destination\fP .RS 0 .IP \(bu 2 @@ -1472,9 +1228,6 @@ Type: String .RE .P Directory in which \fBnpm pack\fP will save tarballs\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBpackage\fP .RS 0 .IP \(bu 2 @@ -1485,9 +1238,6 @@ Type: String (can be set multiple times) .RE .P The package to install for npm help \fBexec\fP -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBpackage\-lock\fP .RS 0 .IP \(bu 2 @@ -1505,9 +1255,6 @@ modules will also be disabled\. To remove extraneous modules with package\-locks disabled use \fBnpm prune\fP\|\. .P This configuration does not affect \fBnpm ci\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBpackage\-lock\-only\fP .RS 0 .IP \(bu 2 @@ -1525,9 +1272,6 @@ instead of checking \fBnode_modules\fP and downloading dependencies\. .P For \fBlist\fP this means the output will be based on the tree described by the \fBpackage\-lock\.json\fP, rather than the contents of \fBnode_modules\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBparseable\fP .RS 0 .IP \(bu 2 @@ -1539,9 +1283,6 @@ Type: Boolean .P Output parseable results from commands that write to standard output\. For \fBnpm search\fP, this will be tab\-separated table format\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBprefer\-offline\fP .RS 0 .IP \(bu 2 @@ -1554,9 +1295,6 @@ Type: Boolean If true, staleness checks for cached data will be bypassed, but missing data will be requested from the server\. To force full offline mode, use \fB\-\-offline\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBprefer\-online\fP .RS 0 .IP \(bu 2 @@ -1568,9 +1306,6 @@ Type: Boolean .P If true, staleness checks for cached data will be forced, making the CLI look for updates immediately even for fresh package data\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBprefix\fP .RS 0 .IP \(bu 2 @@ -1584,9 +1319,6 @@ Type: Path .P The location to install global items\. If set on the command line, then it forces non\-global commands to run in the specified folder\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBpreid\fP .RS 0 .IP \(bu 2 @@ -1598,9 +1330,6 @@ Type: String .P The "prerelease identifier" to use as a prefix for the "prerelease" part of a semver\. Like the \fBrc\fP in \fB1\.2\.0\-rc\.8\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBprogress\fP .RS 0 .IP \(bu 2 @@ -1614,9 +1343,6 @@ When set to \fBtrue\fP, npm will display a progress bar during time intensive operations, if \fBprocess\.stderr\fP is a TTY\. .P Set to \fBfalse\fP to suppress the progress bar\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBproxy\fP .RS 0 .IP \(bu 2 @@ -1629,9 +1355,6 @@ Type: null, false, or URL A proxy to use for outgoing http requests\. If the \fBHTTP_PROXY\fP or \fBhttp_proxy\fP environment variables are set, proxy settings will be honored by the underlying \fBrequest\fP library\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBread\-only\fP .RS 0 .IP \(bu 2 @@ -1643,9 +1366,6 @@ Type: Boolean .P This is used to mark a token as unable to publish when configuring limited access tokens with the \fBnpm token create\fP command\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBrebuild\-bundle\fP .RS 0 .IP \(bu 2 @@ -1656,9 +1376,6 @@ Type: Boolean .RE .P Rebuild bundled dependencies after installation\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBregistry\fP .RS 0 .IP \(bu 2 @@ -1669,9 +1386,6 @@ Type: URL .RE .P The base URL of the npm registry\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsave\fP .RS 0 .IP \(bu 2 @@ -1688,9 +1402,6 @@ When used with the \fBnpm rm\fP command, removes the dependency from \fBpackage\.json\fP\|\. .P Will also prevent writing to \fBpackage\-lock\.json\fP if set to \fBfalse\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsave\-bundle\fP .RS 0 .IP \(bu 2 @@ -1705,9 +1416,6 @@ If a package would be saved at install time by the use of \fB\-\-save\fP, \fBbundleDependencies\fP list\. .P Ignored if \fB\-\-save\-peer\fP is set, since peerDependencies cannot be bundled\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsave\-dev\fP .RS 0 .IP \(bu 2 @@ -1718,9 +1426,6 @@ Type: Boolean .RE .P Save installed packages to a package\.json file as \fBdevDependencies\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsave\-exact\fP .RS 0 .IP \(bu 2 @@ -1732,9 +1437,6 @@ Type: Boolean .P Dependencies saved to package\.json will be configured with an exact version rather than using npm's default semver range operator\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsave\-optional\fP .RS 0 .IP \(bu 2 @@ -1745,9 +1447,6 @@ Type: Boolean .RE .P Save installed packages to a package\.json file as \fBoptionalDependencies\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsave\-peer\fP .RS 0 .IP \(bu 2 @@ -1758,9 +1457,6 @@ Type: Boolean .RE .P Save installed packages to a package\.json file as \fBpeerDependencies\fP -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsave\-prefix\fP .RS 0 .IP \(bu 2 @@ -1777,9 +1473,6 @@ For example if a package has version \fB1\.2\.3\fP, by default its version is se to \fB^1\.2\.3\fP which allows minor upgrades for that package, but after \fBnpm config set save\-prefix='~'\fP it would be set to \fB~1\.2\.3\fP which only allows patch upgrades\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsave\-prod\fP .RS 0 .IP \(bu 2 @@ -1795,9 +1488,6 @@ you want to move it to be a non\-optional production dependency\. .P This is the default behavior if \fB\-\-save\fP is true, and neither \fB\-\-save\-dev\fP or \fB\-\-save\-optional\fP are true\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBscope\fP .RS 0 .IP \(bu 2 @@ -1834,9 +1524,6 @@ This will also cause \fBnpm init\fP to create a scoped package\. npm init \-\-scope=@foo \-\-yes .fi .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBscript\-shell\fP .RS 0 .IP \(bu 2 @@ -1848,9 +1535,6 @@ Type: null or String .P The shell to use for scripts run with the \fBnpm exec\fP, \fBnpm run\fP and \fBnpm init <pkg>\fP commands\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsearchexclude\fP .RS 0 .IP \(bu 2 @@ -1861,9 +1545,6 @@ Type: String .RE .P Space\-separated options that limit the results from search\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsearchlimit\fP .RS 0 .IP \(bu 2 @@ -1875,9 +1556,6 @@ Type: Number .P Number of items to limit search results to\. Will not apply at all to legacy searches\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsearchopts\fP .RS 0 .IP \(bu 2 @@ -1888,9 +1566,6 @@ Type: String .RE .P Space\-separated options that are always passed to search\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsearchstaleness\fP .RS 0 .IP \(bu 2 @@ -1902,9 +1577,6 @@ Type: Number .P The age of the cache, in seconds, before another registry request is made if using legacy search endpoint\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBshell\fP .RS 0 .IP \(bu 2 @@ -1916,9 +1588,6 @@ Type: String .RE .P The shell to run for the \fBnpm explore\fP command\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsign\-git\-commit\fP .RS 0 .IP \(bu 2 @@ -1933,9 +1602,6 @@ version using \fB\-S\fP to add a signature\. .P Note that git requires you to have set up GPG keys in your git configs for this to work properly\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsign\-git\-tag\fP .RS 0 .IP \(bu 2 @@ -1950,9 +1616,6 @@ If set to true, then the \fBnpm version\fP command will tag the version using .P Note that git requires you to have set up GPG keys in your git configs for this to work properly\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBstrict\-peer\-deps\fP .RS 0 .IP \(bu 2 @@ -1975,9 +1638,6 @@ the range set in their package's \fBpeerDependencies\fP object\. When such and override is performed, a warning is printed, explaining the conflict and the packages involved\. If \fB\-\-strict\-peer\-deps\fP is set, then this warning is treated as a failure\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBstrict\-ssl\fP .RS 0 .IP \(bu 2 @@ -1991,9 +1651,6 @@ Whether or not to do SSL key validation when making requests to the registry via https\. .P See also the \fBca\fP config\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBtag\fP .RS 0 .IP \(bu 2 @@ -2011,9 +1668,6 @@ command, if no explicit tag is given\. .P When used by the \fBnpm diff\fP command, this is the tag used to fetch the tarball that will be compared with the local files by default\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBtag\-version\-prefix\fP .RS 0 .IP \(bu 2 @@ -2030,9 +1684,6 @@ it to the empty string: \fB""\fP\|\. Because other tools may rely on the convention that npm version tags look like \fBv1\.0\.0\fP, \fIonly use this property if it is absolutely necessary\fR\|\. In particular, use care when overriding this setting for public packages\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBtiming\fP .RS 0 .IP \(bu 2 @@ -2048,9 +1699,6 @@ successfully\. \fB_timing\.json\fP is a newline delimited list of JSON objects\. .P You can quickly view it with this json \fIhttps://npm\.im/json\fR command line: \fBnpm exec \-\- json \-g < ~/\.npm/_timing\.json\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBumask\fP .RS 0 .IP \(bu 2 @@ -2074,9 +1722,6 @@ rather adds the \fB\-\-umask\fP config to it\. Thus, the effective default umask value on most POSIX systems is 0o22, meaning that folders and executables are created with a mode of 0o755 and other files are created with a mode of 0o644\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBunicode\fP .RS 0 .IP \(bu 2 @@ -2089,9 +1734,6 @@ Type: Boolean .P When set to true, npm uses unicode characters in the tree output\. When false, it uses ascii characters instead of unicode glyphs\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBupdate\-notifier\fP .RS 0 .IP \(bu 2 @@ -2103,9 +1745,6 @@ Type: Boolean .P Set to false to suppress the update notification when using an older version of npm than the latest\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBusage\fP .RS 0 .IP \(bu 2 @@ -2116,9 +1755,6 @@ Type: Boolean .RE .P Show short usage output about the command specified\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBuser\-agent\fP .RS 0 .IP \(bu 2 @@ -2148,9 +1784,6 @@ are set\. an empty string if \fBci\-name\fP is empty\. .RE -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBuserconfig\fP .RS 0 .IP \(bu 2 @@ -2165,9 +1798,6 @@ The location of user\-level configuration settings\. This may be overridden by the \fBnpm_config_userconfig\fP environment variable or the \fB\-\-userconfig\fP command line option, but may \fInot\fR be overridden by settings in the \fBglobalconfig\fP file\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBversion\fP .RS 0 .IP \(bu 2 @@ -2180,9 +1810,6 @@ Type: Boolean If true, output the npm version and exit successfully\. .P Only relevant when specified explicitly on the command line\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBversions\fP .RS 0 .IP \(bu 2 @@ -2197,9 +1824,6 @@ the version in the current working directory's \fBpackage\.json\fP file if one exists, and exit successfully\. .P Only relevant when specified explicitly on the command line\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBviewer\fP .RS 0 .IP \(bu 2 @@ -2212,9 +1836,6 @@ Type: String The program to use to view help content\. .P Set to \fB"browser"\fP to view html help content in the default web browser\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBwhich\fP .RS 0 .IP \(bu 2 @@ -2225,9 +1846,6 @@ Type: null or Number .RE .P If there are multiple funding sources, which 1\-indexed source URL to open\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspace\fP .RS 0 .IP \(bu 2 @@ -2258,9 +1876,6 @@ workspace which does not yet exist, to create the folder and set it up as a brand new workspace within the project\. .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBworkspaces\fP .RS 0 .IP \(bu 2 @@ -2285,9 +1900,6 @@ other things (test, exec, publish, etc\.) will operate on the root project, .RE .P This value is not exported to the environment for child processes\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fByes\fP .RS 0 .IP \(bu 2 @@ -2299,9 +1911,6 @@ Type: null or Boolean .P Automatically answer "yes" to any prompts that npm might print on the command line\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBalso\fP .RS 0 .IP \(bu 2 @@ -2314,9 +1923,6 @@ DEPRECATED: Please use \-\-include=dev instead\. .RE .P When set to \fBdev\fP or \fBdevelopment\fP, this is an alias for \fB\-\-include=dev\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBauth\-type\fP .RS 0 .IP \(bu 2 @@ -2330,9 +1936,6 @@ in a future version of npm in favor of web\-based login\. .RE .P What authentication strategy to use with \fBadduser\fP/\fBlogin\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBcache\-max\fP .RS 0 .IP \(bu 2 @@ -2345,9 +1948,6 @@ DEPRECATED: This option has been deprecated in favor of \fB\-\-prefer\-online\fP .RE .P \fB\-\-cache\-max=0\fP is an alias for \fB\-\-prefer\-online\fP -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBcache\-min\fP .RS 0 .IP \(bu 2 @@ -2360,9 +1960,6 @@ DEPRECATED: This option has been deprecated in favor of \fB\-\-prefer\-offline\f .RE .P \fB\-\-cache\-min=9999 (or bigger)\fP is an alias for \fB\-\-prefer\-offline\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBdev\fP .RS 0 .IP \(bu 2 @@ -2375,9 +1972,6 @@ DEPRECATED: Please use \-\-include=dev instead\. .RE .P Alias for \fB\-\-include=dev\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinit\.author\.email\fP .RS 0 .IP \(bu 2 @@ -2390,9 +1984,6 @@ DEPRECATED: Use \fB\-\-init\-author\-email\fP instead\. .RE .P Alias for \fB\-\-init\-author\-email\fP -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinit\.author\.name\fP .RS 0 .IP \(bu 2 @@ -2405,9 +1996,6 @@ DEPRECATED: Use \fB\-\-init\-author\-name\fP instead\. .RE .P Alias for \fB\-\-init\-author\-name\fP -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinit\.author\.url\fP .RS 0 .IP \(bu 2 @@ -2420,9 +2008,6 @@ DEPRECATED: Use \fB\-\-init\-author\-url\fP instead\. .RE .P Alias for \fB\-\-init\-author\-url\fP -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinit\.license\fP .RS 0 .IP \(bu 2 @@ -2435,9 +2020,6 @@ DEPRECATED: Use \fB\-\-init\-license\fP instead\. .RE .P Alias for \fB\-\-init\-license\fP -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinit\.module\fP .RS 0 .IP \(bu 2 @@ -2450,9 +2032,6 @@ DEPRECATED: Use \fB\-\-init\-module\fP instead\. .RE .P Alias for \fB\-\-init\-module\fP -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBinit\.version\fP .RS 0 .IP \(bu 2 @@ -2465,9 +2044,6 @@ DEPRECATED: Use \fB\-\-init\-version\fP instead\. .RE .P Alias for \fB\-\-init\-version\fP -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBonly\fP .RS 0 .IP \(bu 2 @@ -2480,9 +2056,6 @@ DEPRECATED: Use \fB\-\-omit=dev\fP to omit dev dependencies from the install\. .RE .P When set to \fBprod\fP or \fBproduction\fP, this is an alias for \fB\-\-omit=dev\fP\|\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBoptional\fP .RS 0 .IP \(bu 2 @@ -2498,9 +2071,6 @@ DEPRECATED: Use \fB\-\-omit=optional\fP to exclude optional dependencies, or Default value does install optional deps unless otherwise omitted\. .P Alias for \-\-include=optional or \-\-omit=optional -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBproduction\fP .RS 0 .IP \(bu 2 @@ -2513,9 +2083,6 @@ DEPRECATED: Use \fB\-\-omit=dev\fP instead\. .RE .P Alias for \fB\-\-omit=dev\fP -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBshrinkwrap\fP .RS 0 .IP \(bu 2 @@ -2528,9 +2095,6 @@ DEPRECATED: Use the \-\-package\-lock setting instead\. .RE .P Alias for \-\-package\-lock -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsso\-poll\-frequency\fP .RS 0 .IP \(bu 2 @@ -2545,9 +2109,6 @@ future version of npm in favor of web\-based login\. .P When used with SSO\-enabled \fBauth\-type\fPs, configures how regularly the registry should be polled while the user is completing authentication\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBsso\-type\fP .RS 0 .IP \(bu 2 @@ -2561,9 +2122,6 @@ future version of npm in favor of web\-based login\. .RE .P If \fB\-\-auth\-type=sso\fP, the type of SSO type to use\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> - .SS \fBtmp\fP .RS 0 .IP \(bu 2 @@ -2580,10 +2138,6 @@ special location in the cache, and they are managed by .P Historically, the location where temporary files were stored\. No longer relevant\. -<!\-\- automatically generated, do not edit manually \-\-> -<!\-\- see lib/utils/config/definitions\.js \-\-> -<!\-\- AUTOGENERATED CONFIG DESCRIPTIONS END \-\-> - .SS See also .RS 0 .IP \(bu 2 diff --git a/deps/npm/man/man7/scripts.7 b/deps/npm/man/man7/scripts.7 index 8190c97cba7..42f6c9393a8 100644 --- a/deps/npm/man/man7/scripts.7 +++ b/deps/npm/man/man7/scripts.7 @@ -443,6 +443,12 @@ for anything else\. You should almost never have to explicitly set a preinstall or install script\. If you are doing this, please consider if there is another option\. The only valid use of \fBinstall\fP or \fBpreinstall\fP scripts is for compilation which must be done on the target architecture\. +.IP \(bu 2 +Scripts are run from the root of the package folder, regardless of what the +current working directory is when \fBnpm\fP is invoked\. If you want your +script to use different behavior based on what subdirectory you're in, you +can use the \fBINIT_CWD\fP environment variable, which holds the full path you +were in when you ran \fBnpm run\fP\|\. .RE .SS See Also diff --git a/deps/npm/node_modules/@npmcli/arborist/README.md b/deps/npm/node_modules/@npmcli/arborist/README.md index 8722b7a43cc..ee79a3bf2f7 100644 --- a/deps/npm/node_modules/@npmcli/arborist/README.md +++ b/deps/npm/node_modules/@npmcli/arborist/README.md @@ -333,3 +333,13 @@ pruning nodes from the tree. Note: `devOptional` is only set in the shrinkwrap/package-lock file if _neither_ `dev` nor `optional` are set, as it would be redundant. + +## BIN + +Arborist ships with a cli that can be used to run arborist specific commands outside of the context of the npm CLI. This script is currently not part of the public API and is subject to breaking changes outside of major version bumps. + +To see the usage run: + +``` +npx @npmcli/arborist --help +``` diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/actual.js b/deps/npm/node_modules/@npmcli/arborist/bin/actual.js index eb0495997a1..866b2cd82fa 100644 --- a/deps/npm/node_modules/@npmcli/arborist/bin/actual.js +++ b/deps/npm/node_modules/@npmcli/arborist/bin/actual.js @@ -1,23 +1,19 @@ const Arborist = require('../') -const print = require('./lib/print-tree.js') -const options = require('./lib/options.js') -require('./lib/logging.js') -require('./lib/timers.js') -const start = process.hrtime() -new Arborist(options).loadActual(options).then(tree => { - const end = process.hrtime(start) - if (!process.argv.includes('--quiet')) { - print(tree) - } +const printTree = require('./lib/print-tree.js') - console.error(`read ${tree.inventory.size} deps in ${end[0] * 1000 + end[1] / 1e6}ms`) - if (options.save) { - tree.meta.save() - } - if (options.saveHidden) { - tree.meta.hiddenLockfile = true - tree.meta.filename = options.path + '/node_modules/.package-lock.json' - tree.meta.save() - } -}).catch(er => console.error(er)) +module.exports = (options, time) => new Arborist(options) + .loadActual(options) + .then(time) + .then(async ({ timing, result: tree }) => { + printTree(tree) + if (options.save) { + await tree.meta.save() + } + if (options.saveHidden) { + tree.meta.hiddenLockfile = true + tree.meta.filename = options.path + '/node_modules/.package-lock.json' + await tree.meta.save() + } + return `read ${tree.inventory.size} deps in ${timing.ms}` + }) diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/audit.js b/deps/npm/node_modules/@npmcli/arborist/bin/audit.js index d9ac532d3ed..0e32833d4aa 100644 --- a/deps/npm/node_modules/@npmcli/arborist/bin/audit.js +++ b/deps/npm/node_modules/@npmcli/arborist/bin/audit.js @@ -1,19 +1,17 @@ const Arborist = require('../') -const print = require('./lib/print-tree.js') -const options = require('./lib/options.js') -require('./lib/timers.js') -require('./lib/logging.js') +const printTree = require('./lib/print-tree.js') +const log = require('./lib/logging.js') const Vuln = require('../lib/vuln.js') const printReport = report => { for (const vuln of report.values()) { - console.log(printVuln(vuln)) + log.info(printVuln(vuln)) } if (report.topVulns.size) { - console.log('\n# top-level vulnerabilities') + log.info('\n# top-level vulnerabilities') for (const vuln of report.topVulns.values()) { - console.log(printVuln(vuln)) + log.info(printVuln(vuln)) } } } @@ -33,22 +31,21 @@ const printVuln = vuln => { const printAdvisory = a => `${a.title}${a.url ? ' ' + a.url : ''}` -const start = process.hrtime() -process.emit('time', 'audit script') -const arb = new Arborist(options) -arb.audit(options).then(tree => { - process.emit('timeEnd', 'audit script') - const end = process.hrtime(start) - if (options.fix) { - print(tree) - } - if (!options.quiet) { - printReport(arb.auditReport) - } - if (options.fix) { - console.error(`resolved ${tree.inventory.size} deps in ${end[0] + end[1] / 1e9}s`) - } - if (tree.meta && options.save) { - tree.meta.save() - } -}).catch(er => console.error(er)) +module.exports = (options, time) => { + const arb = new Arborist(options) + return arb + .audit(options) + .then(time) + .then(async ({ timing, result: tree }) => { + if (options.fix) { + printTree(tree) + } + printReport(arb.auditReport) + if (tree.meta && options.save) { + await tree.meta.save() + } + return options.fix + ? `resolved ${tree.inventory.size} deps in ${timing.seconds}` + : `done in ${timing.seconds}` + }) +} diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/funding.js b/deps/npm/node_modules/@npmcli/arborist/bin/funding.js index d0f4f31654a..cf25976d94c 100644 --- a/deps/npm/node_modules/@npmcli/arborist/bin/funding.js +++ b/deps/npm/node_modules/@npmcli/arborist/bin/funding.js @@ -1,34 +1,38 @@ -const options = require('./lib/options.js') -require('./lib/logging.js') -require('./lib/timers.js') - const Arborist = require('../') -const a = new Arborist(options) -const query = options._.shift() -const start = process.hrtime() -a.loadVirtual().then(tree => { - // only load the actual tree if the virtual one doesn't have modern metadata - if (!tree.meta || !(tree.meta.originalLockfileVersion >= 2)) { - console.error('old metadata, load actual') - throw 'load actual' - } else { - console.error('meta ok, return virtual tree') - return tree - } -}).catch(() => a.loadActual()).then(tree => { - const end = process.hrtime(start) - if (!query) { - for (const node of tree.inventory.values()) { - if (node.package.funding) { - console.log(node.name, node.location, node.package.funding) + +const log = require('./lib/logging.js') + +module.exports = (options, time) => { + const query = options._.shift() + const a = new Arborist(options) + return a + .loadVirtual() + .then(tree => { + // only load the actual tree if the virtual one doesn't have modern metadata + if (!tree.meta || !(tree.meta.originalLockfileVersion >= 2)) { + log.error('old metadata, load actual') + throw 'load actual' + } else { + log.error('meta ok, return virtual tree') + return tree } - } - } else { - for (const node of tree.inventory.query('name', query)) { - if (node.package.funding) { - console.log(node.name, node.location, node.package.funding) + }) + .catch(() => a.loadActual()) + .then(time) + .then(({ timing, result: tree }) => { + if (!query) { + for (const node of tree.inventory.values()) { + if (node.package.funding) { + log.info(node.name, node.location, node.package.funding) + } + } + } else { + for (const node of tree.inventory.query('name', query)) { + if (node.package.funding) { + log.info(node.name, node.location, node.package.funding) + } + } } - } - } - console.error(`read ${tree.inventory.size} deps in ${end[0] * 1000 + end[1] / 1e6}ms`) -}) + return `read ${tree.inventory.size} deps in ${timing.ms}` + }) +} diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/ideal.js b/deps/npm/node_modules/@npmcli/arborist/bin/ideal.js index 5d1ed0dcd9d..1dd206e81ff 100644 --- a/deps/npm/node_modules/@npmcli/arborist/bin/ideal.js +++ b/deps/npm/node_modules/@npmcli/arborist/bin/ideal.js @@ -1,21 +1,14 @@ const Arborist = require('../') -const { inspect } = require('util') -const options = require('./lib/options.js') -const print = require('./lib/print-tree.js') -require('./lib/logging.js') -require('./lib/timers.js') +const printTree = require('./lib/print-tree.js') -const start = process.hrtime() -new Arborist(options).buildIdealTree(options).then(tree => { - const end = process.hrtime(start) - print(tree) - console.error(`resolved ${tree.inventory.size} deps in ${end[0] + end[1] / 10e9}s`) - if (tree.meta && options.save) { - tree.meta.save() - } -}).catch(er => { - const opt = { depth: Infinity, color: true } - console.error(er.code === 'ERESOLVE' ? inspect(er, opt) : er) - process.exitCode = 1 -}) +module.exports = (options, time) => new Arborist(options) + .buildIdealTree(options) + .then(time) + .then(async ({ timing, result: tree }) => { + printTree(tree) + if (tree.meta && options.save) { + await tree.meta.save() + } + return `resolved ${tree.inventory.size} deps in ${timing.seconds}` + }) diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/index.js b/deps/npm/node_modules/@npmcli/arborist/bin/index.js index 5449a50e67f..0c1e9844534 100755 --- a/deps/npm/node_modules/@npmcli/arborist/bin/index.js +++ b/deps/npm/node_modules/@npmcli/arborist/bin/index.js @@ -1,81 +1,110 @@ #!/usr/bin/env node -const [cmd] = process.argv.splice(2, 1) -const usage = () => `Arborist - the npm tree doctor +const fs = require('fs') +const path = require('path') -Version: ${require('../package.json').version} +const { bin, arb: options } = require('./lib/options') +const version = require('../package.json').version +const usage = (message = '') => `Arborist - the npm tree doctor + +Version: ${version} +${message && '\n' + message + '\n'} # USAGE arborist <cmd> [path] [options...] # COMMANDS -* reify: reify ideal tree to node_modules (install, update, rm, ...) -* prune: prune the ideal tree and reify (like npm prune) -* ideal: generate and print the ideal tree -* actual: read and print the actual tree in node_modules -* virtual: read and print the virtual tree in the local shrinkwrap file -* shrinkwrap: load a local shrinkwrap and print its data -* audit: perform a security audit on project dependencies -* funding: query funding information in the local package tree. A second - positional argument after the path name can limit to a package name. -* license: query license information in the local package tree. A second - positional argument after the path name can limit to a license type. -* help: print this text + * reify: reify ideal tree to node_modules (install, update, rm, ...) + * prune: prune the ideal tree and reify (like npm prune) + * ideal: generate and print the ideal tree + * actual: read and print the actual tree in node_modules + * virtual: read and print the virtual tree in the local shrinkwrap file + * shrinkwrap: load a local shrinkwrap and print its data + * audit: perform a security audit on project dependencies + * funding: query funding information in the local package tree. A second + positional argument after the path name can limit to a package name. + * license: query license information in the local package tree. A second + positional argument after the path name can limit to a license type. + * help: print this text + * version: print the version # OPTIONS -Most npm options are supported, but in camelCase rather than css-case. For -example, instead of '--dry-run', use '--dryRun'. + Most npm options are supported, but in camelCase rather than css-case. For + example, instead of '--dry-run', use '--dryRun'. -Additionally: + Additionally: -* --quiet will supppress the printing of package trees -* Instead of 'npm install <pkg>', use 'arborist reify --add=<pkg>'. - The '--add=<pkg>' option can be specified multiple times. -* Instead of 'npm rm <pkg>', use 'arborist reify --rm=<pkg>'. - The '--rm=<pkg>' option can be specified multiple times. -* Instead of 'npm update', use 'arborist reify --update-all'. -* 'npm audit fix' is 'arborist audit --fix' + * --loglevel=warn|--quiet will supppress the printing of package trees + * --logfile <file|bool> will output logs to a file + * --timing will show timing information + * Instead of 'npm install <pkg>', use 'arborist reify --add=<pkg>'. + The '--add=<pkg>' option can be specified multiple times. + * Instead of 'npm rm <pkg>', use 'arborist reify --rm=<pkg>'. + The '--rm=<pkg>' option can be specified multiple times. + * Instead of 'npm update', use 'arborist reify --update-all'. + * 'npm audit fix' is 'arborist audit --fix' ` -const help = () => console.log(usage()) - -switch (cmd) { - case 'actual': - require('./actual.js') - break - case 'virtual': - require('./virtual.js') - break - case 'ideal': - require('./ideal.js') - break - case 'prune': - require('./prune.js') - break - case 'reify': - require('./reify.js') - break - case 'audit': - require('./audit.js') - break - case 'funding': - require('./funding.js') - break - case 'license': - require('./license.js') - break - case 'shrinkwrap': - require('./shrinkwrap.js') - break - case 'help': - case '-h': - case '--help': - help() - break - default: +const commands = { + version: () => console.log(version), + help: () => console.log(usage()), + exit: () => { process.exitCode = 1 - console.error(usage()) - break + console.error( + usage(`Error: command '${bin.command}' does not exist.`) + ) + }, +} + +const commandFiles = fs.readdirSync(__dirname).filter((f) => path.extname(f) === '.js' && f !== __filename) + +for (const file of commandFiles) { + const command = require(`./${file}`) + const name = path.basename(file, '.js') + const totalTime = `bin:${name}:init` + const scriptTime = `bin:${name}:script` + + commands[name] = () => { + const timers = require('./lib/timers') + const log = require('./lib/logging') + + log.info(name, options) + + process.emit('time', totalTime) + process.emit('time', scriptTime) + + return command(options, (result) => { + process.emit('timeEnd', scriptTime) + return { + result, + timing: { + seconds: `${timers.get(scriptTime) / 1e9}s`, + ms: `${timers.get(scriptTime) / 1e6}ms`, + }, + } + }) + .then((result) => { + log.info(result) + return result + }) + .catch((err) => { + process.exitCode = 1 + log.error(err) + return err + }) + .then((r) => { + process.emit('timeEnd', totalTime) + if (bin.loglevel !== 'silent') { + console[process.exitCode ? 'error' : 'log'](r) + } + }) + } +} + +if (commands[bin.command]) { + commands[bin.command]() +} else { + commands.exit() } diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/lib/logging.js b/deps/npm/node_modules/@npmcli/arborist/bin/lib/logging.js index 8183ece1fd1..8b04d6370e6 100644 --- a/deps/npm/node_modules/@npmcli/arborist/bin/lib/logging.js +++ b/deps/npm/node_modules/@npmcli/arborist/bin/lib/logging.js @@ -1,42 +1,78 @@ -const options = require('./options.js') -const { quiet = false } = options -const { loglevel = quiet ? 'warn' : 'silly' } = options +const log = require('proc-log') +const mkdirp = require('mkdirp') +const fs = require('fs') +const { dirname } = require('path') +const os = require('os') +const { inspect, format } = require('util') + +const { bin: options } = require('./options.js') -const levels = [ +// add a meta method to proc-log for passing optional +// metadata through to log handlers +const META = Symbol('meta') +const parseArgs = (...args) => { + const { [META]: isMeta } = args[args.length - 1] || {} + return isMeta + ? [args[args.length - 1], ...args.slice(0, args.length - 1)] + : [{}, ...args] +} +log.meta = (meta = {}) => ({ [META]: true, ...meta }) + +const levels = new Map([ 'silly', 'verbose', 'info', - 'timing', 'http', 'notice', 'warn', 'error', 'silent', -] +].map((level, index) => [level, index])) -const levelMap = new Map(levels.reduce((set, level, index) => { - set.push([level, index], [index, level]) - return set -}, [])) +const addLogListener = (write, { eol = os.EOL, loglevel = 'silly', colors = false } = {}) => { + const levelIndex = levels.get(loglevel) -const { inspect, format } = require('util') -const colors = process.stderr.isTTY -const magenta = colors ? msg => `\x1B[35m${msg}\x1B[39m` : m => m -if (loglevel !== 'silent') { - process.on('log', (level, ...args) => { - if (levelMap.get(level) < levelMap.get(loglevel)) { - return + const magenta = m => colors ? `\x1B[35m${m}\x1B[39m` : m + const dim = m => colors ? `\x1B[2m${m}\x1B[22m` : m + const red = m => colors ? `\x1B[31m${m}\x1B[39m` : m + + const formatter = (level, ...args) => { + const depth = level === 'error' && args[0] && args[0].code === 'ERESOLVE' ? Infinity : 10 + + if (level === 'info' && args[0] === 'timeEnd') { + args[1] = dim(args[1]) + } else if (level === 'error' && args[0] === 'timeError') { + args[1] = red(args[1]) } + + const messages = args.map(a => typeof a === 'string' ? a : inspect(a, { depth, colors })) const pref = `${process.pid} ${magenta(level)} ` - if (level === 'warn' && args[0] === 'ERESOLVE') { - args[2] = inspect(args[2], { depth: 10, colors }) - } else { - args = args.map(a => { - return typeof a === 'string' ? a - : inspect(a, { depth: 10, colors }) - }) + + return pref + format(...messages).trim().split('\n').join(`${eol}${pref}`) + eol + } + + process.on('log', (...args) => { + const [meta, level, ...logArgs] = parseArgs(...args) + + if (levelIndex <= levels.get(level) || meta.force) { + write(formatter(level, ...logArgs)) } - const msg = pref + format(...args).trim().split('\n').join(`\n${pref}`) - console.error(msg) }) } + +if (options.loglevel !== 'silent') { + addLogListener((v) => process.stderr.write(v), { + eol: '\n', + colors: options.colors, + loglevel: options.loglevel, + }) +} + +if (options.logfile) { + log.silly('logfile', options.logfile) + mkdirp.sync(dirname(options.logfile)) + const fd = fs.openSync(options.logfile, 'a') + addLogListener((str) => fs.writeSync(fd, str)) +} + +module.exports = log diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/lib/options.js b/deps/npm/node_modules/@npmcli/arborist/bin/lib/options.js index 23e89ddce69..8dbaf13dac0 100644 --- a/deps/npm/node_modules/@npmcli/arborist/bin/lib/options.js +++ b/deps/npm/node_modules/@npmcli/arborist/bin/lib/options.js @@ -1,59 +1,123 @@ -const options = module.exports = { - path: undefined, - cache: `${process.env.HOME}/.npm/_cacache`, - _: [], +const nopt = require('nopt') +const path = require('path') + +const has = (o, k) => Object.prototype.hasOwnProperty.call(o, k) + +const cleanPath = (val) => { + const k = Symbol('key') + const data = {} + nopt.typeDefs.path.validate(data, k, val) + return data[k] } -for (const arg of process.argv.slice(2)) { - if (/^--add=/.test(arg)) { - options.add = options.add || [] - options.add.push(arg.substr('--add='.length)) - } else if (/^--rm=/.test(arg)) { - options.rm = options.rm || [] - options.rm.push(arg.substr('--rm='.length)) - } else if (arg === '--global') { - options.global = true - } else if (arg === '--global-style') { - options.globalStyle = true - } else if (arg === '--prefer-dedupe') { - options.preferDedupe = true - } else if (arg === '--legacy-peer-deps') { - options.legacyPeerDeps = true - } else if (arg === '--force') { - options.force = true - } else if (arg === '--update-all') { - options.update = options.update || {} - options.update.all = true - } else if (/^--update=/.test(arg)) { - options.update = options.update || {} - options.update.names = options.update.names || [] - options.update.names.push(arg.substr('--update='.length)) - } else if (/^--omit=/.test(arg)) { - options.omit = options.omit || [] - options.omit.push(arg.substr('--omit='.length)) - } else if (/^--before=/.test(arg)) { - options.before = new Date(arg.substr('--before='.length)) - } else if (/^-w.+/.test(arg)) { - options.workspaces = options.workspaces || [] - options.workspaces.push(arg.replace(/^-w/, '')) - } else if (/^--workspace=/.test(arg)) { - options.workspaces = options.workspaces || [] - options.workspaces.push(arg.replace(/^--workspace=/, '')) - } else if (/^--[^=]+=/.test(arg)) { - const [key, ...v] = arg.replace(/^--/, '').split('=') - const val = v.join('=') - options[key] = val === 'false' ? false : val === 'true' ? true : val - } else if (/^--.+/.test(arg)) { - options[arg.replace(/^--/, '')] = true - } else if (options.path === undefined) { - options.path = arg - } else { - options._.push(arg) +const parse = (...noptArgs) => { + const binOnlyOpts = { + command: String, + loglevel: String, + colors: Boolean, + timing: ['always', Boolean], + logfile: String, + } + + const arbOpts = { + add: Array, + rm: Array, + omit: Array, + update: Array, + workspaces: Array, + global: Boolean, + force: Boolean, + 'global-style': Boolean, + 'prefer-dedupe': Boolean, + 'legacy-peer-deps': Boolean, + 'update-all': Boolean, + before: Date, + path: path, + cache: path, + ...binOnlyOpts, + } + + const short = { + quiet: ['--loglevel', 'warn'], + logs: ['--logfile', 'true'], + w: '--workspaces', + g: '--global', + f: '--force', + } + + const defaults = { + // key order is important for command and path + // since they shift positional args + // command is 1st, path is 2nd + command: (o) => o.argv.remain.shift(), + path: (o) => cleanPath(o.argv.remain.shift() || '.'), + colors: has(process.env, 'NO_COLOR') ? false : !!process.stderr.isTTY, + loglevel: 'silly', + timing: (o) => o.loglevel === 'silly', + cache: `${process.env.HOME}/.npm/_cacache`, + } + + const derived = [ + // making update either `all` or an array of names but not both + ({ updateAll: all, update: names, ...o }) => { + if (all || names) { + o.update = all != null ? { all } : { names } + } + return o + }, + ({ logfile, ...o }) => { + // logfile is parsed as a string so if its true or set but empty + // then set the default logfile + if (logfile === 'true' || logfile === '') { + logfile = `arb-log-${new Date().toISOString().replace(/[.:]/g, '_')}.log` + } + // then parse it the same as nopt parses other paths + if (logfile) { + o.logfile = cleanPath(logfile) + } + return o + }, + ] + + const transforms = [ + // Camelcase all top level keys + (o) => { + const entries = Object.entries(o).map(([k, v]) => [ + k.replace(/-./g, s => s[1].toUpperCase()), + v, + ]) + return Object.fromEntries(entries) + }, + // Set defaults on unset keys + (o) => { + for (const [k, v] of Object.entries(defaults)) { + if (!has(o, k)) { + o[k] = typeof v === 'function' ? v(o) : v + } + } + return o + }, + // Set/unset derived values + ...derived.map((derive) => (o) => derive(o) || o), + // Separate bin and arborist options + ({ argv: { remain: _ }, ...o }) => { + const bin = { _ } + for (const k of Object.keys(binOnlyOpts)) { + if (has(o, k)) { + bin[k] = o[k] + delete o[k] + } + } + return { bin, arb: o } + }, + ] + + let options = nopt(arbOpts, short, ...noptArgs) + for (const t of transforms) { + options = t(options) } -} -if (options.path === undefined) { - options.path = '.' + return options } -console.error(options) +module.exports = parse() diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/lib/print-tree.js b/deps/npm/node_modules/@npmcli/arborist/bin/lib/print-tree.js index 1ea2a721873..55398190b99 100644 --- a/deps/npm/node_modules/@npmcli/arborist/bin/lib/print-tree.js +++ b/deps/npm/node_modules/@npmcli/arborist/bin/lib/print-tree.js @@ -1,5 +1,4 @@ const { inspect } = require('util') -const { quiet } = require('./options.js') +const log = require('./logging.js') -module.exports = quiet ? () => {} - : tree => console.log(inspect(tree.toJSON(), { depth: Infinity })) +module.exports = tree => log.info(inspect(tree.toJSON(), { depth: Infinity })) diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/lib/timers.js b/deps/npm/node_modules/@npmcli/arborist/bin/lib/timers.js index 242431980e5..586dee7806d 100644 --- a/deps/npm/node_modules/@npmcli/arborist/bin/lib/timers.js +++ b/deps/npm/node_modules/@npmcli/arborist/bin/lib/timers.js @@ -1,31 +1,33 @@ -const timers = Object.create(null) -const { format } = require('util') -const options = require('./options.js') +const { bin: options } = require('./options.js') +const log = require('./logging.js') + +const timers = new Map() +const finished = new Map() process.on('time', name => { - if (timers[name]) { + if (timers.has(name)) { throw new Error('conflicting timer! ' + name) } - timers[name] = process.hrtime() + timers.set(name, process.hrtime.bigint()) }) -const dim = process.stderr.isTTY ? msg => `\x1B[2m${msg}\x1B[22m` : m => m -const red = process.stderr.isTTY ? msg => `\x1B[31m${msg}\x1B[39m` : m => m process.on('timeEnd', name => { - if (!timers[name]) { + if (!timers.has(name)) { throw new Error('timer not started! ' + name) } - const res = process.hrtime(timers[name]) - delete timers[name] - const msg = format(`${process.pid} ${name}`, res[0] * 1e3 + res[1] / 1e6) - if (options.timers !== false) { - console.error(dim(msg)) + const elapsed = Number(process.hrtime.bigint() - timers.get(name)) + timers.delete(name) + finished.set(name, elapsed) + if (options.timing) { + log.info('timeEnd', `${name} ${elapsed / 1e9}s`, log.meta({ force: options.timing === 'always' })) } }) process.on('exit', () => { - for (const name of Object.keys(timers)) { - console.error(red('Dangling timer:'), name) + for (const name of timers.keys()) { + log.error('timeError', 'Dangling timer:', name) process.exitCode = 1 } }) + +module.exports = finished diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/license.js b/deps/npm/node_modules/@npmcli/arborist/bin/license.js index 7fc08dd83eb..77d5796793a 100644 --- a/deps/npm/node_modules/@npmcli/arborist/bin/license.js +++ b/deps/npm/node_modules/@npmcli/arborist/bin/license.js @@ -1,38 +1,48 @@ +const localeCompare = require('@isaacs/string-locale-compare')('en') const Arborist = require('../') -const options = require('./lib/options.js') -require('./lib/logging.js') -require('./lib/timers.js') +const log = require('./lib/logging.js') -const a = new Arborist(options) -const query = options._.shift() +module.exports = (options, time) => { + const query = options._.shift() + const a = new Arborist(options) + return a + .loadVirtual() + .then(tree => { + // only load the actual tree if the virtual one doesn't have modern metadata + if (!tree.meta || !(tree.meta.originalLockfileVersion >= 2)) { + throw 'load actual' + } else { + return tree + } + }).catch((er) => { + log.error('loading actual tree', er) + return a.loadActual() + }) + .then(time) + .then(({ result: tree }) => { + const output = [] + if (!query) { + const set = [] + for (const license of tree.inventory.query('license')) { + set.push([tree.inventory.query('license', license).size, license]) + } -a.loadVirtual().then(tree => { - // only load the actual tree if the virtual one doesn't have modern metadata - if (!tree.meta || !(tree.meta.originalLockfileVersion >= 2)) { - throw 'load actual' - } else { - return tree - } -}).catch((er) => { - console.error('loading actual tree', er) - return a.loadActual() -}).then(tree => { - if (!query) { - const set = [] - for (const license of tree.inventory.query('license')) { - set.push([tree.inventory.query('license', license).size, license]) - } + for (const [count, license] of set.sort((a, b) => + a[1] && b[1] ? b[0] - a[0] || localeCompare(a[1], b[1]) + : a[1] ? -1 + : b[1] ? 1 + : 0)) { + output.push(`${count} ${license}`) + log.info(count, license) + } + } else { + for (const node of tree.inventory.query('license', query === 'undefined' ? undefined : query)) { + const msg = `${node.name} ${node.location} ${node.package.description || ''}` + output.push(msg) + log.info(msg) + } + } - for (const [count, license] of set.sort((a, b) => - a[1] && b[1] ? b[0] - a[0] || a[1].localeCompare(b[1], 'en') - : a[1] ? -1 - : b[1] ? 1 - : 0)) { - console.log(count, license) - } - } else { - for (const node of tree.inventory.query('license', query === 'undefined' ? undefined : query)) { - console.log(`${node.name} ${node.location} ${node.package.description || ''}`) - } - } -}) + return output.join('\n') + }) +} diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/prune.js b/deps/npm/node_modules/@npmcli/arborist/bin/prune.js index e11858c209f..3c52bc13af1 100644 --- a/deps/npm/node_modules/@npmcli/arborist/bin/prune.js +++ b/deps/npm/node_modules/@npmcli/arborist/bin/prune.js @@ -1,9 +1,7 @@ const Arborist = require('../') -const options = require('./lib/options.js') -const print = require('./lib/print-tree.js') -require('./lib/logging.js') -require('./lib/timers.js') +const printTree = require('./lib/print-tree.js') +const log = require('./lib/logging.js') const printDiff = diff => { const { depth } = require('treeverse') @@ -15,13 +13,13 @@ const printDiff = diff => { } switch (d.action) { case 'REMOVE': - console.error('REMOVE', d.actual.location) + log.info('REMOVE', d.actual.location) break case 'ADD': - console.error('ADD', d.ideal.location, d.ideal.resolved) + log.info('ADD', d.ideal.location, d.ideal.resolved) break case 'CHANGE': - console.error('CHANGE', d.actual.location, { + log.info('CHANGE', d.actual.location, { from: d.actual.resolved, to: d.ideal.resolved, }) @@ -32,18 +30,19 @@ const printDiff = diff => { }) } -const start = process.hrtime() -process.emit('time', 'install') -const arb = new Arborist(options) -arb.prune(options).then(tree => { - process.emit('timeEnd', 'install') - const end = process.hrtime(start) - print(tree) - if (options.dryRun) { - printDiff(arb.diff) - } - console.error(`resolved ${tree.inventory.size} deps in ${end[0] + end[1] / 1e9}s`) - if (tree.meta && options.save) { - tree.meta.save() - } -}).catch(er => console.error(require('util').inspect(er, { depth: Infinity }))) +module.exports = (options, time) => { + const arb = new Arborist(options) + return arb + .prune(options) + .then(time) + .then(async ({ timing, result: tree }) => { + printTree(tree) + if (options.dryRun) { + printDiff(arb.diff) + } + if (tree.meta && options.save) { + await tree.meta.save() + } + return `resolved ${tree.inventory.size} deps in ${timing.seconds}` + }) +} diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/reify.js b/deps/npm/node_modules/@npmcli/arborist/bin/reify.js index 9dc26d2b968..3f3aafe8ab9 100644 --- a/deps/npm/node_modules/@npmcli/arborist/bin/reify.js +++ b/deps/npm/node_modules/@npmcli/arborist/bin/reify.js @@ -1,9 +1,7 @@ const Arborist = require('../') -const options = require('./lib/options.js') -const print = require('./lib/print-tree.js') -require('./lib/logging.js') -require('./lib/timers.js') +const printTree = require('./lib/print-tree.js') +const log = require('./lib/logging.js') const printDiff = diff => { const { depth } = require('treeverse') @@ -15,13 +13,13 @@ const printDiff = diff => { } switch (d.action) { case 'REMOVE': - console.error('REMOVE', d.actual.location) + log.info('REMOVE', d.actual.location) break case 'ADD': - console.error('ADD', d.ideal.location, d.ideal.resolved) + log.info('ADD', d.ideal.location, d.ideal.resolved) break case 'CHANGE': - console.error('CHANGE', d.actual.location, { + log.info('CHANGE', d.actual.location, { from: d.actual.resolved, to: d.ideal.resolved, }) @@ -32,18 +30,19 @@ const printDiff = diff => { }) } -const start = process.hrtime() -process.emit('time', 'install') -const arb = new Arborist(options) -arb.reify(options).then(tree => { - process.emit('timeEnd', 'install') - const end = process.hrtime(start) - print(tree) - if (options.dryRun) { - printDiff(arb.diff) - } - console.error(`resolved ${tree.inventory.size} deps in ${end[0] + end[1] / 1e9}s`) - if (tree.meta && options.save) { - tree.meta.save() - } -}).catch(er => console.error(require('util').inspect(er, { depth: Infinity }))) +module.exports = (options, time) => { + const arb = new Arborist(options) + return arb + .reify(options) + .then(time) + .then(async ({ timing, result: tree }) => { + printTree(tree) + if (options.dryRun) { + printDiff(arb.diff) + } + if (tree.meta && options.save) { + await tree.meta.save() + } + return `resolved ${tree.inventory.size} deps in ${timing.seconds}` + }) +} diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/shrinkwrap.js b/deps/npm/node_modules/@npmcli/arborist/bin/shrinkwrap.js index b40416b7b9e..56603224e99 100644 --- a/deps/npm/node_modules/@npmcli/arborist/bin/shrinkwrap.js +++ b/deps/npm/node_modules/@npmcli/arborist/bin/shrinkwrap.js @@ -1,12 +1,7 @@ const Shrinkwrap = require('../lib/shrinkwrap.js') -const options = require('./lib/options.js') -require('./lib/logging.js') -require('./lib/timers.js') -const { quiet } = options -Shrinkwrap.load(options) - .then(s => quiet || console.log(JSON.stringify(s.commit(), 0, 2))) - .catch(er => { - console.error('shrinkwrap load failure', er) - process.exit(1) - }) +module.exports = (options, time) => Shrinkwrap + .load(options) + .then((s) => s.commit()) + .then(time) + .then(({ result: s }) => JSON.stringify(s, 0, 2)) diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/virtual.js b/deps/npm/node_modules/@npmcli/arborist/bin/virtual.js index 457c945e72c..95b1de282e6 100644 --- a/deps/npm/node_modules/@npmcli/arborist/bin/virtual.js +++ b/deps/npm/node_modules/@npmcli/arborist/bin/virtual.js @@ -1,18 +1,14 @@ const Arborist = require('../') -const print = require('./lib/print-tree.js') -const options = require('./lib/options.js') -require('./lib/logging.js') -require('./lib/timers.js') +const printTree = require('./lib/print-tree.js') -const start = process.hrtime() -new Arborist(options).loadVirtual().then(tree => { - const end = process.hrtime(start) - if (!options.quiet) { - print(tree) - } - if (options.save) { - tree.meta.save() - } - console.error(`read ${tree.inventory.size} deps in ${end[0] * 1000 + end[1] / 1e6}ms`) -}).catch(er => console.error(er)) +module.exports = (options, time) => new Arborist(options) + .loadVirtual() + .then(time) + .then(async ({ timing, result: tree }) => { + printTree(tree) + if (options.save) { + await tree.meta.save() + } + return `read ${tree.inventory.size} deps in ${timing.ms}` + }) diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/add-rm-pkg-deps.js b/deps/npm/node_modules/@npmcli/arborist/lib/add-rm-pkg-deps.js index ae813186fb7..f59df359e94 100644 --- a/deps/npm/node_modules/@npmcli/arborist/lib/add-rm-pkg-deps.js +++ b/deps/npm/node_modules/@npmcli/arborist/lib/add-rm-pkg-deps.js @@ -1,10 +1,11 @@ // add and remove dependency specs to/from pkg manifest +const log = require('proc-log') const localeCompare = require('@isaacs/string-locale-compare')('en') -const add = ({ pkg, add, saveBundle, saveType, log }) => { +const add = ({ pkg, add, saveBundle, saveType }) => { for (const spec of add) { - addSingle({ pkg, spec, saveBundle, saveType, log }) + addSingle({ pkg, spec, saveBundle, saveType }) } return pkg @@ -20,7 +21,7 @@ const saveTypeMap = new Map([ ['peer', 'peerDependencies'], ]) -const addSingle = ({ pkg, spec, saveBundle, saveType, log }) => { +const addSingle = ({ pkg, spec, saveBundle, saveType }) => { const { name, rawSpec } = spec // if the user does not give us a type, we infer which type(s) @@ -34,19 +35,19 @@ const addSingle = ({ pkg, spec, saveBundle, saveType, log }) => { if (saveType === 'prod') { // a production dependency can only exist as production (rpj ensures it // doesn't coexist w/ optional) - deleteSubKey(pkg, 'devDependencies', name, 'dependencies', log) - deleteSubKey(pkg, 'peerDependencies', name, 'dependencies', log) + deleteSubKey(pkg, 'devDependencies', name, 'dependencies') + deleteSubKey(pkg, 'peerDependencies', name, 'dependencies') } else if (saveType === 'dev') { // a dev dependency may co-exist as peer, or optional, but not production - deleteSubKey(pkg, 'dependencies', name, 'devDependencies', log) + deleteSubKey(pkg, 'dependencies', name, 'devDependencies') } else if (saveType === 'optional') { // an optional dependency may co-exist as dev (rpj ensures it doesn't // coexist w/ prod) - deleteSubKey(pkg, 'peerDependencies', name, 'optionalDependencies', log) + deleteSubKey(pkg, 'peerDependencies', name, 'optionalDependencies') } else { // peer or peerOptional is all that's left // a peer dependency may coexist as dev - deleteSubKey(pkg, 'dependencies', name, 'peerDependencies', log) - deleteSubKey(pkg, 'optionalDependencies', name, 'peerDependencies', log) + deleteSubKey(pkg, 'dependencies', name, 'peerDependencies') + deleteSubKey(pkg, 'optionalDependencies', name, 'peerDependencies') } const depType = saveTypeMap.get(saveType) @@ -108,9 +109,9 @@ const hasSubKey = (pkg, depType, name) => { } // Removes a subkey and warns about it if it's being replaced -const deleteSubKey = (pkg, depType, name, replacedBy, log) => { +const deleteSubKey = (pkg, depType, name, replacedBy) => { if (hasSubKey(pkg, depType, name)) { - if (replacedBy && log) { + if (replacedBy) { log.warn('idealTree', `Removing ${depType}.${name} in favor of ${replacedBy}.${name}`) } delete pkg[depType][name] diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js index b7bc56f3e97..3f001f9e9eb 100644 --- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js +++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js @@ -14,6 +14,7 @@ const fs = require('fs') const lstat = promisify(fs.lstat) const readlink = promisify(fs.readlink) const { depth } = require('treeverse') +const log = require('proc-log') const { OK, @@ -248,7 +249,7 @@ module.exports = cls => class IdealTreeBuilder extends cls { try { c() } catch (er) { - this.log.warn(er.code, er.message, { + log.warn(er.code, er.message, { package: er.pkgid, required: er.required, current: er.current, @@ -532,7 +533,6 @@ Try using the package name instead, e.g: saveBundle, saveType, path: this.path, - log: this.log, }) }) } @@ -602,7 +602,7 @@ Try using the package name instead, e.g: // be printed by npm-audit-report as if they can be fixed, because // they can't. if (bundler) { - this.log.warn(`audit fix ${node.name}@${node.version}`, + log.warn(`audit fix ${node.name}@${node.version}`, `${node.location}\nis a bundled dependency of\n${ bundler.name}@${bundler.version} at ${bundler.location}\n` + 'It cannot be fixed automatically.\n' + @@ -637,14 +637,14 @@ Try using the package name instead, e.g: if (!node.isProjectRoot && !node.isWorkspace) { // not something we're going to fix, sorry. have to cd into // that directory and fix it yourself. - this.log.warn('audit', 'Manual fix required in linked project ' + + log.warn('audit', 'Manual fix required in linked project ' + `at ./${node.location} for ${name}@${simpleRange}.\n` + `'cd ./${node.location}' and run 'npm audit' for details.`) continue } if (!fixAvailable) { - this.log.warn('audit', `No fix available for ${name}@${simpleRange}`) + log.warn('audit', `No fix available for ${name}@${simpleRange}`) continue } @@ -652,7 +652,7 @@ Try using the package name instead, e.g: const breakingMessage = isSemVerMajor ? 'a SemVer major change' : 'outside your stated dependency range' - this.log.warn('audit', `Updating ${name} to ${version},` + + log.warn('audit', `Updating ${name} to ${version},` + `which is ${breakingMessage}.`) await this[_add](node, { add: [`${name}@${version}`] }) @@ -727,7 +727,7 @@ Try using the package name instead, e.g: const heading = ancient ? 'ancient lockfile' : 'old lockfile' if (ancient || !this.options.lockfileVersion || this.options.lockfileVersion >= defaultLockfileVersion) { - this.log.warn(heading, + log.warn(heading, ` The ${meta.type} file was created with an old version of npm, so supplemental metadata must be fetched from the registry. @@ -744,7 +744,7 @@ This is a one-time fix-up, please be patient... } queue.push(async () => { - this.log.silly('inflate', node.location) + log.silly('inflate', node.location) const { resolved, version, path, name, location, integrity } = node // don't try to hit the registry for linked deps const useResolved = resolved && ( @@ -753,8 +753,7 @@ This is a one-time fix-up, please be patient... const id = useResolved ? resolved : version || `file:${node.path}` const spec = npa.resolve(name, id, dirname(path)) - const sloc = location.substr('node_modules/'.length) - const t = `idealTree:inflate:${sloc}` + const t = `idealTree:inflate:${location}` this.addTracker(t) await pacote.manifest(spec, { ...this.options, @@ -765,7 +764,7 @@ This is a one-time fix-up, please be patient... node.package = { ...mani, _id: `${mani.name}@${mani.version}` } }).catch((er) => { const warning = `Could not fetch metadata for ${name}@${id}` - this.log.warn(heading, warning, er) + log.warn(heading, warning, er) }) this.finishTracker(t) }) @@ -794,7 +793,7 @@ This is a one-time fix-up, please be patient... this[_depsQueue].push(tree) // XXX also push anything that depends on a node with a name // in the override list - this.log.silly('idealTree', 'buildDeps') + log.silly('idealTree', 'buildDeps') this.addTracker('idealTree', tree.name, '') return this[_buildDepStep]() .then(() => process.emit('timeEnd', 'idealTree:buildDeps')) @@ -1233,7 +1232,7 @@ This is a one-time fix-up, please be patient... if (this[_manifests].has(spec.raw)) { return this[_manifests].get(spec.raw) } else { - this.log.silly('fetch manifest', spec.raw) + log.silly('fetch manifest', spec.raw) const p = pacote.manifest(spec, options) .then(mani => { this[_manifests].set(spec.raw, mani) diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/index.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/index.js index de625e9b768..cb6ef1e0c2c 100644 --- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/index.js +++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/index.js @@ -28,7 +28,6 @@ const { resolve } = require('path') const { homedir } = require('os') -const procLog = require('proc-log') const { depth } = require('treeverse') const { saveTypeMap } = require('../add-rm-pkg-deps.js') @@ -74,7 +73,6 @@ class Arborist extends Base { path: options.path || '.', cache: options.cache || `${homedir()}/.npm/_cacache`, packumentCache: options.packumentCache || new Map(), - log: options.log || procLog, workspacesEnabled: options.workspacesEnabled !== false, lockfileVersion: lockfileVersion(options.lockfileVersion), } @@ -94,7 +92,7 @@ class Arborist extends Base { // returns an array of the actual nodes for all the workspaces workspaceNodes (tree, workspaces) { - return getWorkspaceNodes(tree, workspaces, this.log) + return getWorkspaceNodes(tree, workspaces) } // returns a set of workspace nodes and all their deps diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/rebuild.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/rebuild.js index 1a05e527353..09b4419f5b5 100644 --- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/rebuild.js +++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/rebuild.js @@ -13,6 +13,7 @@ const { isNodeGypPackage, defaultGypInstallScript, } = require('@npmcli/node-gyp') +const log = require('proc-log') const boolEnv = b => b ? '1' : '' const sortNodes = (a, b) => @@ -297,7 +298,7 @@ module.exports = cls => class Builder extends cls { const timer = `build:run:${event}:${location}` process.emit('time', timer) - this.log.info('run', pkg._id, event, location, pkg.scripts[event]) + log.info('run', pkg._id, event, location, pkg.scripts[event]) const env = { npm_package_resolved: resolved, npm_package_integrity: integrity, @@ -319,7 +320,7 @@ module.exports = cls => class Builder extends cls { } const p = runScript(runOpts).catch(er => { const { code, signal } = er - this.log.info('run', pkg._id, event, { code, signal }) + log.info('run', pkg._id, event, { code, signal }) throw er }).then(({ args, code, signal, stdout, stderr }) => { this.scriptsRun.add({ @@ -333,7 +334,7 @@ module.exports = cls => class Builder extends cls { stdout, stderr, }) - this.log.info('run', pkg._id, event, { code, signal }) + log.info('run', pkg._id, event, { code, signal }) }) await (this[_doHandleOptionalFailure] diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js index 91507fd7918..4bc1c7ee4e7 100644 --- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js +++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js @@ -8,6 +8,7 @@ const npa = require('npm-package-arg') const semver = require('semver') const debug = require('../debug.js') const walkUp = require('walk-up-path') +const log = require('proc-log') const { dirname, resolve, relative } = require('path') const { depth: dfwalk } = require('treeverse') @@ -390,7 +391,7 @@ module.exports = cls => class Reifier extends cls { [_addNodeToTrashList] (node, retire = false) { const paths = [node.path, ...node.binPaths] const moves = this[_retiredPaths] - this.log.silly('reify', 'mark', retire ? 'retired' : 'deleted', paths) + log.silly('reify', 'mark', retire ? 'retired' : 'deleted', paths) for (const path of paths) { if (retire) { const retired = retirePath(path) @@ -413,7 +414,7 @@ module.exports = cls => class Reifier extends cls { this[_addNodeToTrashList](diff.actual, true) } } - this.log.silly('reify', 'moves', moves) + log.silly('reify', 'moves', moves) const movePromises = Object.entries(moves) .map(([from, to]) => this[_renamePath](from, to)) return promiseAllRejectLate(movePromises) @@ -532,7 +533,7 @@ module.exports = cls => class Reifier extends cls { return promiseAllRejectLate(unlinks) .then(() => { if (failures.length) { - this.log.warn('cleanup', 'Failed to remove some directories', failures) + log.warn('cleanup', 'Failed to remove some directories', failures) } }) .then(() => process.emit('timeEnd', 'reify:rollback:createSparse')) @@ -624,7 +625,7 @@ module.exports = cls => class Reifier extends cls { this[_nmValidated].add(nm) return } - this.log.warn('reify', 'Removing non-directory', nm) + log.warn('reify', 'Removing non-directory', nm) await rimraf(nm) } @@ -647,8 +648,8 @@ module.exports = cls => class Reifier extends cls { 'please re-try this operation once it completes\n' + 'so that the damage can be corrected, or perform\n' + 'a fresh install with no lockfile if the problem persists.' - this.log.warn('reify', warning) - this.log.verbose('reify', 'unrecognized node in tree', node.path) + log.warn('reify', warning) + log.verbose('reify', 'unrecognized node in tree', node.path) node.parent = null node.fsParent = null this[_addNodeToTrashList](node) @@ -691,7 +692,7 @@ module.exports = cls => class Reifier extends cls { [_warnDeprecated] (node) { const { _id, deprecated } = node.package if (deprecated) { - this.log.warn('deprecated', `${_id}: ${deprecated}`) + log.warn('deprecated', `${_id}: ${deprecated}`) } } @@ -701,7 +702,7 @@ module.exports = cls => class Reifier extends cls { return (node.optional ? p.catch(er => { const set = optionalSet(node) for (node of set) { - this.log.verbose('reify', 'failed optional dependency', node.path) + log.verbose('reify', 'failed optional dependency', node.path) this[_addNodeToTrashList](node) } }) : p).then(() => node) @@ -716,7 +717,7 @@ module.exports = cls => class Reifier extends cls { // Shrinkwrap and Node classes carefully, so for now, just treat // the default reg as the magical animal that it has been. return resolved && resolved - .replace(/^https?:\/\/registry.npmjs.org\//, this.registry) + .replace(/^https?:\/\/registry\.npmjs\.org\//, this.registry) } // bundles are *sort of* like shrinkwraps, in that the branch is defined @@ -1129,7 +1130,7 @@ module.exports = cls => class Reifier extends cls { return promiseAllRejectLate(promises).then(() => { if (failures.length) { - this.log.warn('cleanup', 'Failed to remove some directories', failures) + log.warn('cleanup', 'Failed to remove some directories', failures) } }) .then(() => process.emit('timeEnd', 'reify:trash')) diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/audit-report.js b/deps/npm/node_modules/@npmcli/arborist/lib/audit-report.js index b7d8249b12d..4dc6dd177c1 100644 --- a/deps/npm/node_modules/@npmcli/arborist/lib/audit-report.js +++ b/deps/npm/node_modules/@npmcli/arborist/lib/audit-report.js @@ -13,7 +13,7 @@ const _fixAvailable = Symbol('fixAvailable') const _checkTopNode = Symbol('checkTopNode') const _init = Symbol('init') const _omit = Symbol('omit') -const procLog = require('proc-log') +const log = require('proc-log') const fetch = require('npm-registry-fetch') @@ -98,14 +98,13 @@ class AuditReport extends Map { this.calculator = new Calculator(opts) this.error = null this.options = opts - this.log = opts.log || procLog this.tree = tree this.filterSet = opts.filterSet } async run () { this.report = await this[_getReport]() - this.log.silly('audit report', this.report) + log.silly('audit report', this.report) if (this.report) { await this[_init]() } @@ -313,7 +312,7 @@ class AuditReport extends Map { try { // first try the super fast bulk advisory listing const body = prepareBulkData(this.tree, this[_omit], this.filterSet) - this.log.silly('audit', 'bulk request', body) + log.silly('audit', 'bulk request', body) // no sense asking if we don't have anything to audit, // we know it'll be empty @@ -331,7 +330,7 @@ class AuditReport extends Map { return await res.json() } catch (er) { - this.log.silly('audit', 'bulk request failed', String(er.body)) + log.silly('audit', 'bulk request failed', String(er.body)) // that failed, try the quick audit endpoint const body = prepareData(this.tree, this.options) const res = await fetch('/-/npm/v1/security/audits/quick', { @@ -344,8 +343,8 @@ class AuditReport extends Map { return AuditReport.auditToBulk(await res.json()) } } catch (er) { - this.log.verbose('audit error', er) - this.log.silly('audit error', String(er.body)) + log.verbose('audit error', er) + log.silly('audit error', String(er.body)) this.error = er return null } finally { diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/get-workspace-nodes.js b/deps/npm/node_modules/@npmcli/arborist/lib/get-workspace-nodes.js index 6db489f69c5..91002dab570 100644 --- a/deps/npm/node_modules/@npmcli/arborist/lib/get-workspace-nodes.js +++ b/deps/npm/node_modules/@npmcli/arborist/lib/get-workspace-nodes.js @@ -1,7 +1,10 @@ // Get the actual nodes corresponding to a root node's child workspaces, // given a list of workspace names. + +const log = require('proc-log') const relpath = require('./relpath.js') -const getWorkspaceNodes = (tree, workspaces, log) => { + +const getWorkspaceNodes = (tree, workspaces) => { const wsMap = tree.workspaces if (!wsMap) { log.warn('workspaces', 'filter set, but no workspaces present') diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/shrinkwrap.js b/deps/npm/node_modules/@npmcli/arborist/lib/shrinkwrap.js index bb6971f7ad5..ead9aed3649 100644 --- a/deps/npm/node_modules/@npmcli/arborist/lib/shrinkwrap.js +++ b/deps/npm/node_modules/@npmcli/arborist/lib/shrinkwrap.js @@ -33,7 +33,7 @@ const mismatch = (a, b) => a && b && a !== b // After calling this.commit(), any nodes not present in the tree will have // been removed from the shrinkwrap data as well. -const procLog = require('proc-log') +const log = require('proc-log') const YarnLock = require('./yarn-lock.js') const { promisify } = require('util') const rimraf = promisify(require('rimraf')) @@ -80,8 +80,8 @@ const swKeyOrder = [ ] // used to rewrite from yarn registry to npm registry -const yarnRegRe = /^https?:\/\/registry.yarnpkg.com\// -const npmRegRe = /^https?:\/\/registry.npmjs.org\// +const yarnRegRe = /^https?:\/\/registry\.yarnpkg\.com\// +const npmRegRe = /^https?:\/\/registry\.npmjs\.org\// // sometimes resolved: is weird or broken, or something npa can't handle const specFromResolved = resolved => { @@ -329,14 +329,12 @@ class Shrinkwrap { newline = '\n', shrinkwrapOnly = false, hiddenLockfile = false, - log = procLog, lockfileVersion, } = options this.lockfileVersion = hiddenLockfile ? 3 : lockfileVersion ? parseInt(lockfileVersion, 10) : null - this.log = log this[_awaitingUpdate] = new Map() this.tree = null this.path = resolve(path || '.') @@ -479,9 +477,9 @@ class Shrinkwrap { /* istanbul ignore else */ if (typeof this.filename === 'string') { const rel = relpath(this.path, this.filename) - this.log.verbose('shrinkwrap', `failed to load ${rel}`, er) + log.verbose('shrinkwrap', `failed to load ${rel}`, er) } else { - this.log.verbose('shrinkwrap', `failed to load ${this.path}`, er) + log.verbose('shrinkwrap', `failed to load ${this.path}`, er) } this.loadingError = er this.loadedFromDisk = false diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/tracker.js b/deps/npm/node_modules/@npmcli/arborist/lib/tracker.js index b50f06eaa55..c2a456e4832 100644 --- a/deps/npm/node_modules/@npmcli/arborist/lib/tracker.js +++ b/deps/npm/node_modules/@npmcli/arborist/lib/tracker.js @@ -1,20 +1,14 @@ const _progress = Symbol('_progress') const _onError = Symbol('_onError') -const procLog = require('proc-log') +const npmlog = require('npmlog') module.exports = cls => class Tracker extends cls { constructor (options = {}) { super(options) - this.log = options.log || procLog this[_progress] = new Map() } addTracker (section, subsection = null, key = null) { - // TrackerGroup type object not found - if (!this.log.newGroup) { - return - } - if (section === null || section === undefined) { this[_onError](`Tracker can't be null or undefined`) } @@ -31,13 +25,13 @@ module.exports = cls => class Tracker extends cls { this[_onError](`Tracker "${section}" already exists`) } else if (!hasTracker && subsection === null) { // 1. no existing tracker, no subsection - // Create a new tracker from this.log + // Create a new tracker from npmlog // starts progress bar if (this[_progress].size === 0) { - this.log.enableProgress() + npmlog.enableProgress() } - this[_progress].set(section, this.log.newGroup(section)) + this[_progress].set(section, npmlog.newGroup(section)) } else if (!hasTracker && subsection !== null) { // 2. no parent tracker and subsection this[_onError](`Parent tracker "${section}" does not exist`) @@ -53,11 +47,6 @@ module.exports = cls => class Tracker extends cls { } finishTracker (section, subsection = null, key = null) { - // TrackerGroup type object not found - if (!this.log.newGroup) { - return - } - if (section === null || section === undefined) { this[_onError](`Tracker can't be null or undefined`) } @@ -88,7 +77,7 @@ module.exports = cls => class Tracker extends cls { // remove progress bar if all // trackers are finished if (this[_progress].size === 0) { - this.log.disableProgress() + npmlog.disableProgress() } } else if (!hasTracker && subsection === null) { // 1. no existing parent tracker, no subsection @@ -103,7 +92,7 @@ module.exports = cls => class Tracker extends cls { } [_onError] (msg) { - this.log.disableProgress() + npmlog.disableProgress() throw new Error(msg) } } diff --git a/deps/npm/node_modules/@npmcli/arborist/package.json b/deps/npm/node_modules/@npmcli/arborist/package.json index a915c9d8b1f..520c4574872 100644 --- a/deps/npm/node_modules/@npmcli/arborist/package.json +++ b/deps/npm/node_modules/@npmcli/arborist/package.json @@ -1,17 +1,17 @@ { "name": "@npmcli/arborist", - "version": "4.3.1", + "version": "5.0.0", "description": "Manage node_modules trees", "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/installed-package-contents": "^1.0.7", "@npmcli/map-workspaces": "^2.0.0", - "@npmcli/metavuln-calculator": "^2.0.0", + "@npmcli/metavuln-calculator": "^3.0.0", "@npmcli/move-file": "^1.1.0", "@npmcli/name-from-folder": "^1.0.1", "@npmcli/node-gyp": "^1.0.3", "@npmcli/package-json": "^1.0.1", - "@npmcli/run-script": "^2.0.0", + "@npmcli/run-script": "^3.0.0", "bin-links": "^3.0.0", "cacache": "^15.0.3", "common-ancestor-path": "^1.0.1", @@ -19,13 +19,15 @@ "json-stringify-nice": "^1.1.4", "mkdirp": "^1.0.4", "mkdirp-infer-owner": "^2.0.0", + "nopt": "^5.0.0", "npm-install-checks": "^4.0.0", - "npm-package-arg": "^8.1.5", - "npm-pick-manifest": "^6.1.0", - "npm-registry-fetch": "^12.0.1", - "pacote": "^12.0.2", + "npm-package-arg": "^9.0.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.0", + "npmlog": "^6.0.1", + "pacote": "^13.0.2", "parse-conflict-json": "^2.0.1", - "proc-log": "^1.0.0", + "proc-log": "^2.0.0", "promise-all-reject-late": "^1.0.0", "promise-call-limit": "^1.0.1", "read-package-json-fast": "^2.0.2", diff --git a/deps/npm/node_modules/@npmcli/config/lib/env-replace.js b/deps/npm/node_modules/@npmcli/config/lib/env-replace.js index a6e4b2968d0..e0f7276b1ec 100644 --- a/deps/npm/node_modules/@npmcli/config/lib/env-replace.js +++ b/deps/npm/node_modules/@npmcli/config/lib/env-replace.js @@ -1,6 +1,6 @@ // replace any ${ENV} values with the appropriate environ. -const envExpr = /(\\*)\$\{([^}]+)\}/g +const envExpr = /(?<!\\)(\\*)\$\{([^${}]+)\}/g module.exports = (f, env) => f.replace(envExpr, (orig, esc, name) => { const val = env[name] !== undefined ? env[name] : `$\{${name}}` diff --git a/deps/npm/node_modules/@npmcli/config/lib/index.js b/deps/npm/node_modules/@npmcli/config/lib/index.js index dc839a5389c..82e369938db 100644 --- a/deps/npm/node_modules/@npmcli/config/lib/index.js +++ b/deps/npm/node_modules/@npmcli/config/lib/index.js @@ -5,6 +5,7 @@ const nopt = require('nopt') const mkdirp = require('mkdirp-infer-owner') const mapWorkspaces = require('@npmcli/map-workspaces') const rpj = require('read-package-json-fast') +const log = require('proc-log') /* istanbul ignore next */ const myUid = process.getuid && process.getuid() @@ -88,7 +89,6 @@ class Config { // options just to override in tests, mostly env = process.env, argv = process.argv, - log = require('./proc-log.js'), platform = process.platform, execPath = process.execPath, cwd = process.cwd(), @@ -114,7 +114,6 @@ class Config { this.defaults = defaults this.npmPath = npmPath - this.log = log this.argv = argv this.env = env this.execPath = execPath @@ -436,7 +435,7 @@ class Config { } invalidHandler (k, val, type, source, where) { - this.log.warn( + log.warn( 'invalid config', k + '=' + JSON.stringify(val), `set in ${source}` @@ -469,7 +468,7 @@ class Config { : mustBe.filter(m => m !== Array) .map(n => typeof n === 'string' ? n : JSON.stringify(n)) .join(', ') - this.log.warn('invalid config', msg, desc) + log.warn('invalid config', msg, desc) } [_loadObject] (obj, where, source, er = null) { @@ -491,7 +490,7 @@ class Config { if (er) { conf.loadError = er if (er.code !== 'ENOENT') { - this.log.verbose('config', `error loading ${where} config`, er) + log.verbose('config', `error loading ${where} config`, er) } } else { conf.raw = obj @@ -510,7 +509,7 @@ class Config { // XXX a future npm version will make this a warning. // An even more future npm version will make this an error. if (this.deprecated[key]) { - this.log.verbose('config', key, this.deprecated[key]) + log.verbose('config', key, this.deprecated[key]) } } @@ -607,14 +606,14 @@ class Config { .catch(() => false) if (hasNpmrc) { - this.log.warn(`ignoring workspace config at ${this.localPrefix}/.npmrc`) + log.warn(`ignoring workspace config at ${this.localPrefix}/.npmrc`) } // set the workspace in the default layer, which allows it to be overridden easily const { data } = this.data.get('default') data.workspace = [this.localPrefix] this.localPrefix = p - this.log.info(`found workspace root at ${this.localPrefix}`) + log.info(`found workspace root at ${this.localPrefix}`) // we found a root, so we return now return } diff --git a/deps/npm/node_modules/@npmcli/config/lib/proc-log.js b/deps/npm/node_modules/@npmcli/config/lib/proc-log.js deleted file mode 100644 index 0492a261807..00000000000 --- a/deps/npm/node_modules/@npmcli/config/lib/proc-log.js +++ /dev/null @@ -1,4 +0,0 @@ -const log = (level) => (...args) => process.emit('log', level, ...args) -for (const level of ['silly', 'verbose', 'warn', 'error']) { - exports[level] = log(level) -} diff --git a/deps/npm/node_modules/@npmcli/config/package.json b/deps/npm/node_modules/@npmcli/config/package.json index b0722db413e..ea03f957f83 100644 --- a/deps/npm/node_modules/@npmcli/config/package.json +++ b/deps/npm/node_modules/@npmcli/config/package.json @@ -1,6 +1,6 @@ { "name": "@npmcli/config", - "version": "3.0.0", + "version": "4.0.0", "files": [ "bin", "lib" @@ -30,22 +30,23 @@ "coverage-map": "map.js" }, "devDependencies": { - "@npmcli/template-oss": "^2.5.1", - "tap": "^15.0.4" + "@npmcli/template-oss": "^2.7.1", + "tap": "^15.1.6" }, "dependencies": { "@npmcli/map-workspaces": "^2.0.0", "ini": "^2.0.0", "mkdirp-infer-owner": "^2.0.0", "nopt": "^5.0.0", + "proc-log": "^2.0.0", "read-package-json-fast": "^2.0.3", - "semver": "^7.3.4", + "semver": "^7.3.5", "walk-up-path": "^1.0.0" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16" }, "templateOSS": { - "version": "2.6.0" + "version": "2.7.1" } } diff --git a/deps/npm/node_modules/@npmcli/git/lib/clone.js b/deps/npm/node_modules/@npmcli/git/lib/clone.js index 6754fd76060..ac5f86b1449 100644 --- a/deps/npm/node_modules/@npmcli/git/lib/clone.js +++ b/deps/npm/node_modules/@npmcli/git/lib/clone.js @@ -15,7 +15,7 @@ const shallowHosts = new Set([ 'gist.github.com', 'gitlab.com', 'bitbucket.com', - 'bitbucket.org' + 'bitbucket.org', ]) // we have to use url.parse until we add the same shim that hosted-git-info has // to handle scp:// urls @@ -113,10 +113,14 @@ const branch = (repo, revDoc, target, opts) => { revDoc.ref, repo, target, - '--recurse-submodules' + '--recurse-submodules', ] - if (maybeShallow(repo, opts)) { args.push('--depth=1') } - if (isWindows(opts)) { args.push('--config', 'core.longpaths=true') } + if (maybeShallow(repo, opts)) { + args.push('--depth=1') + } + if (isWindows(opts)) { + args.push('--config', 'core.longpaths=true') + } return spawn(args, opts).then(() => revDoc.sha) } @@ -126,10 +130,14 @@ const plain = (repo, revDoc, target, opts) => { 'clone', repo, target, - '--recurse-submodules' + '--recurse-submodules', ] - if (maybeShallow(repo, opts)) { args.push('--depth=1') } - if (isWindows(opts)) { args.push('--config', 'core.longpaths=true') } + if (maybeShallow(repo, opts)) { + args.push('--depth=1') + } + if (isWindows(opts)) { + args.push('--config', 'core.longpaths=true') + } return spawn(args, opts).then(() => revDoc.sha) } @@ -143,7 +151,7 @@ const updateSubmodules = (target, opts) => new Promise(resolve => 'update', '-q', '--init', - '--recursive' + '--recursive', ], { ...opts, cwd: target })) })) diff --git a/deps/npm/node_modules/@npmcli/git/lib/errors.js b/deps/npm/node_modules/@npmcli/git/lib/errors.js index 25b2b9f9fd6..7aeac476286 100644 --- a/deps/npm/node_modules/@npmcli/git/lib/errors.js +++ b/deps/npm/node_modules/@npmcli/git/lib/errors.js @@ -32,5 +32,5 @@ class GitUnknownError extends GitError { module.exports = { GitConnectionError, GitPathspecError, - GitUnknownError + GitUnknownError, } diff --git a/deps/npm/node_modules/@npmcli/git/lib/index.js b/deps/npm/node_modules/@npmcli/git/lib/index.js index 20d7cfd01cf..10a65f782e6 100644 --- a/deps/npm/node_modules/@npmcli/git/lib/index.js +++ b/deps/npm/node_modules/@npmcli/git/lib/index.js @@ -5,5 +5,5 @@ module.exports = { is: require('./is.js'), find: require('./find.js'), isClean: require('./is-clean.js'), - errors: require('./errors.js') + errors: require('./errors.js'), } diff --git a/deps/npm/node_modules/@npmcli/git/lib/lines-to-revs.js b/deps/npm/node_modules/@npmcli/git/lib/lines-to-revs.js index 9f879ca2475..3cf3778fe91 100644 --- a/deps/npm/node_modules/@npmcli/git/lib/lines-to-revs.js +++ b/deps/npm/node_modules/@npmcli/git/lib/lines-to-revs.js @@ -7,7 +7,7 @@ module.exports = lines => finish(lines.reduce(linesToRevsReducer, { versions: {}, 'dist-tags': {}, refs: {}, - shas: {} + shas: {}, })) const finish = revs => distTags(shaList(peelTags(revs))) @@ -52,7 +52,9 @@ const distTags = revs => { revs['dist-tags'].latest = v } else if (ver.sha === HEAD.sha) { revs['dist-tags'].HEAD = v - if (!revs.refs.latest) { revs['dist-tags'].latest = v } + if (!revs.refs.latest) { + revs['dist-tags'].latest = v + } } }) return revs @@ -79,7 +81,9 @@ const refType = ref => { // return the doc, or null if we should ignore it. const lineToRevDoc = line => { const split = line.trim().split(/\s+/, 2) - if (split.length < 2) { return null } + if (split.length < 2) { + return null + } const sha = split[0].trim() const rawRef = split[1].trim() @@ -122,7 +126,9 @@ const lineToRevDoc = line => { const linesToRevsReducer = (revs, line) => { const doc = lineToRevDoc(line) - if (!doc) { return revs } + if (!doc) { + return revs + } revs.refs[doc.ref] = doc revs.refs[doc.rawRef] = doc diff --git a/deps/npm/node_modules/@npmcli/git/lib/make-error.js b/deps/npm/node_modules/@npmcli/git/lib/make-error.js index 043a8e6e951..7540ec7c8b9 100644 --- a/deps/npm/node_modules/@npmcli/git/lib/make-error.js +++ b/deps/npm/node_modules/@npmcli/git/lib/make-error.js @@ -1,7 +1,7 @@ const { GitConnectionError, GitPathspecError, - GitUnknownError + GitUnknownError, } = require('./errors.js') const connectionErrorRe = new RegExp([ @@ -12,7 +12,7 @@ const connectionErrorRe = new RegExp([ 'Failed to connect to .* Timed out', 'Connection reset by peer', 'SSL_ERROR_SYSCALL', - 'The requested URL returned error: 503' + 'The requested URL returned error: 503', ].join('|')) const missingPathspecRe = /pathspec .* did not match any file\(s\) known to git/ diff --git a/deps/npm/node_modules/@npmcli/git/lib/opts.js b/deps/npm/node_modules/@npmcli/git/lib/opts.js index 144e0a3aaf0..3119af16e0c 100644 --- a/deps/npm/node_modules/@npmcli/git/lib/opts.js +++ b/deps/npm/node_modules/@npmcli/git/lib/opts.js @@ -2,11 +2,11 @@ // This defaults to accepting new ssh host key fingerprints const gitEnv = { GIT_ASKPASS: 'echo', - GIT_SSH_COMMAND: 'ssh -oStrictHostKeyChecking=accept-new' + GIT_SSH_COMMAND: 'ssh -oStrictHostKeyChecking=accept-new', } module.exports = (opts = {}) => ({ stdioString: true, ...opts, shell: false, - env: opts.env || { ...gitEnv, ...process.env } + env: opts.env || { ...gitEnv, ...process.env }, }) diff --git a/deps/npm/node_modules/@npmcli/git/lib/proc-log.js b/deps/npm/node_modules/@npmcli/git/lib/proc-log.js deleted file mode 100644 index b2bdd9dc902..00000000000 --- a/deps/npm/node_modules/@npmcli/git/lib/proc-log.js +++ /dev/null @@ -1,21 +0,0 @@ -// default logger. -// emits 'log' events on the process -const LEVELS = [ - 'notice', - 'error', - 'warn', - 'info', - 'verbose', - 'http', - 'silly', - 'pause', - 'resume' -] - -const log = level => (...args) => process.emit('log', level, ...args) - -const logger = {} -for (const level of LEVELS) { - logger[level] = log(level) -} -module.exports = logger diff --git a/deps/npm/node_modules/@npmcli/git/lib/revs.js b/deps/npm/node_modules/@npmcli/git/lib/revs.js index 81059594f7a..ee72370d5b7 100644 --- a/deps/npm/node_modules/@npmcli/git/lib/revs.js +++ b/deps/npm/node_modules/@npmcli/git/lib/revs.js @@ -4,7 +4,7 @@ const LRU = require('lru-cache') const revsCache = new LRU({ max: 100, - maxAge: 5 * 60 * 1000 + ttl: 5 * 60 * 1000, }) const linesToRevs = require('./lines-to-revs.js') diff --git a/deps/npm/node_modules/@npmcli/git/lib/spawn.js b/deps/npm/node_modules/@npmcli/git/lib/spawn.js index 1c89a4c53cf..40972a509ca 100644 --- a/deps/npm/node_modules/@npmcli/git/lib/spawn.js +++ b/deps/npm/node_modules/@npmcli/git/lib/spawn.js @@ -1,28 +1,29 @@ const spawn = require('@npmcli/promise-spawn') const promiseRetry = require('promise-retry') +const log = require('proc-log') const makeError = require('./make-error.js') const whichGit = require('./which.js') const makeOpts = require('./opts.js') -const procLog = require('./proc-log.js') module.exports = (gitArgs, opts = {}) => { const gitPath = whichGit(opts) - if (gitPath instanceof Error) { return Promise.reject(gitPath) } + if (gitPath instanceof Error) { + return Promise.reject(gitPath) + } // undocumented option, mostly only here for tests const args = opts.allowReplace || gitArgs[0] === '--no-replace-objects' ? gitArgs : ['--no-replace-objects', ...gitArgs] - const log = opts.log || procLog let retry = opts.retry if (retry === null || retry === undefined) { retry = { retries: opts.fetchRetries || 2, factor: opts.fetchRetryFactor || 10, maxTimeout: opts.fetchRetryMaxtimeout || 60000, - minTimeout: opts.fetchRetryMintimeout || 1000 + minTimeout: opts.fetchRetryMintimeout || 1000, } } return promiseRetry((retry, number) => { diff --git a/deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/LICENSE b/deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/LICENSE new file mode 100644 index 00000000000..9b58a3e03d1 --- /dev/null +++ b/deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/LICENSE @@ -0,0 +1,15 @@ +The ISC License + +Copyright (c) 2010-2022 Isaac Z. Schlueter and Contributors + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR +IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/index.js b/deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/index.js new file mode 100644 index 00000000000..ede2f30cc4b --- /dev/null +++ b/deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/index.js @@ -0,0 +1,581 @@ +const perf = typeof performance === 'object' && performance && + typeof performance.now === 'function' ? performance : Date + +const warned = new Set() +const deprecatedOption = (opt, msg) => { + const code = `LRU_CACHE_OPTION_${opt}` + if (shouldWarn(code)) { + warn(code, `The ${opt} option is deprecated. ${msg}`, LRUCache) + } +} +const deprecatedMethod = (method, msg) => { + const code = `LRU_CACHE_METHOD_${method}` + if (shouldWarn(code)) { + const { prototype } = LRUCache + const { get } = Object.getOwnPropertyDescriptor(prototype, method) + warn(code, `The ${method} method is deprecated. ${msg}`, get) + } +} +const deprecatedProperty = (field, msg) => { + const code = `LRU_CACHE_PROPERTY_${field}` + if (shouldWarn(code)) { + const { prototype } = LRUCache + const { get } = Object.getOwnPropertyDescriptor(prototype, field) + warn(code, `The ${field} property is deprecated. ${msg}`, get) + } +} +const shouldWarn = (code) => !(process.noDeprecation || warned.has(code)) +const warn = (code, msg, fn) => { + warned.add(code) + process.emitWarning(msg, 'DeprecationWarning', code, fn) +} + +const isPosInt = n => n && n === Math.floor(n) && n > 0 && isFinite(n) + +/* istanbul ignore next - This is a little bit ridiculous, tbh. + * The maximum array length is 2^32-1 or thereabouts on most JS impls. + * And well before that point, you're caching the entire world, I mean, + * that's ~32GB of just integers for the next/prev links, plus whatever + * else to hold that many keys and values. Just filling the memory with + * zeroes at init time is brutal when you get that big. + * But why not be complete? + * Maybe in the future, these limits will have expanded. */ +const getUintArray = max => !isPosInt(max) ? null +: max <= Math.pow(2, 8) ? Uint8Array +: max <= Math.pow(2, 16) ? Uint16Array +: max <= Math.pow(2, 32) ? Uint32Array +: max <= Number.MAX_SAFE_INTEGER ? ZeroArray +: null + +class ZeroArray extends Array { + constructor (size) { + super(size) + this.fill(0) + } +} + +class Stack { + constructor (max) { + const UintArray = getUintArray(max) + this.heap = new UintArray(max) + this.length = 0 + } + push (n) { + this.heap[this.length++] = n + } + pop () { + return this.heap[--this.length] + } +} + +class LRUCache { + constructor (options = {}) { + const { + max, + ttl, + ttlResolution = 1, + ttlAutopurge, + updateAgeOnGet, + allowStale, + dispose, + disposeAfter, + noDisposeOnSet, + maxSize, + sizeCalculation, + } = options + + // deprecated options, don't trigger a warning for getting them if + // the thing being passed in is another LRUCache we're copying. + const { + length, + maxAge, + stale, + } = options instanceof LRUCache ? {} : options + + if (!isPosInt(max)) { + throw new TypeError('max option must be an integer') + } + + const UintArray = getUintArray(max) + if (!UintArray) { + throw new Error('invalid max value: ' + max) + } + + this.max = max + this.maxSize = maxSize || 0 + this.sizeCalculation = sizeCalculation || length + if (this.sizeCalculation) { + if (!this.maxSize) { + throw new TypeError('cannot set sizeCalculation without setting maxSize') + } + if (typeof this.sizeCalculation !== 'function') { + throw new TypeError('sizeCalculating set to non-function') + } + } + this.keyMap = new Map() + this.keyList = new Array(max).fill(null) + this.valList = new Array(max).fill(null) + this.next = new UintArray(max) + this.prev = new UintArray(max) + this.head = 0 + this.tail = 0 + this.free = new Stack(max) + this.initialFill = 1 + this.size = 0 + + if (typeof dispose === 'function') { + this.dispose = dispose + } + if (typeof disposeAfter === 'function') { + this.disposeAfter = disposeAfter + this.disposed = [] + } else { + this.disposeAfter = null + this.disposed = null + } + this.noDisposeOnSet = !!noDisposeOnSet + + if (this.maxSize) { + if (!isPosInt(this.maxSize)) { + throw new TypeError('maxSize must be a positive integer if specified') + } + this.initializeSizeTracking() + } + + this.allowStale = !!allowStale || !!stale + this.updateAgeOnGet = !!updateAgeOnGet + this.ttlResolution = isPosInt(ttlResolution) || ttlResolution === 0 + ? ttlResolution : 1 + this.ttlAutopurge = !!ttlAutopurge + this.ttl = ttl || maxAge || 0 + if (this.ttl) { + if (!isPosInt(this.ttl)) { + throw new TypeError('ttl must be a positive integer if specified') + } + this.initializeTTLTracking() + } + + if (stale) { + deprecatedOption('stale', 'please use options.allowStale instead') + } + if (maxAge) { + deprecatedOption('maxAge', 'please use options.ttl instead') + } + if (length) { + deprecatedOption('length', 'please use options.sizeCalculation instead') + } + } + + initializeTTLTracking () { + this.ttls = new ZeroArray(this.max) + this.starts = new ZeroArray(this.max) + this.setItemTTL = (index, ttl) => { + this.starts[index] = ttl !== 0 ? perf.now() : 0 + this.ttls[index] = ttl + if (ttl !== 0 && this.ttlAutopurge) { + const t = setTimeout(() => { + if (this.isStale(index)) { + this.delete(this.keyList[index]) + } + }, ttl + 1) + /* istanbul ignore else - unref() not supported on all platforms */ + if (t.unref) { + t.unref() + } + } + } + this.updateItemAge = (index) => { + this.starts[index] = this.ttls[index] !== 0 ? perf.now() : 0 + } + // debounce calls to perf.now() to 1s so we're not hitting + // that costly call repeatedly. + let cachedNow = 0 + const getNow = () => { + const n = perf.now() + if (this.ttlResolution > 0) { + cachedNow = n + const t = setTimeout(() => cachedNow = 0, this.ttlResolution) + /* istanbul ignore else - not available on all platforms */ + if (t.unref) { + t.unref() + } + } + return n + } + this.isStale = (index) => { + return this.ttls[index] !== 0 && this.starts[index] !== 0 && + ((cachedNow || getNow()) - this.starts[index] > this.ttls[index]) + } + } + updateItemAge (index) {} + setItemTTL (index, ttl) {} + isStale (index) { return false } + + initializeSizeTracking () { + this.calculatedSize = 0 + this.sizes = new ZeroArray(this.max) + this.removeItemSize = index => this.calculatedSize -= this.sizes[index] + this.addItemSize = (index, v, k, size, sizeCalculation) => { + const s = size || (sizeCalculation ? sizeCalculation(v, k) : 0) + this.sizes[index] = isPosInt(s) ? s : 0 + const maxSize = this.maxSize - this.sizes[index] + while (this.calculatedSize > maxSize) { + this.evict() + } + this.calculatedSize += this.sizes[index] + } + this.delete = k => { + if (this.size !== 0) { + const index = this.keyMap.get(k) + if (index !== undefined) { + this.calculatedSize -= this.sizes[index] + } + } + return LRUCache.prototype.delete.call(this, k) + } + } + removeItemSize (index) {} + addItemSize (index, v, k, size, sizeCalculation) {} + + *indexes () { + if (this.size) { + for (let i = this.tail; true; i = this.prev[i]) { + if (!this.isStale(i)) { + yield i + } + if (i === this.head) { + break + } + } + } + } + *rindexes () { + if (this.size) { + for (let i = this.head; true; i = this.next[i]) { + if (!this.isStale(i)) { + yield i + } + if (i === this.tail) { + break + } + } + } + } + + *entries () { + for (const i of this.indexes()) { + yield [this.keyList[i], this.valList[i]] + } + } + + *keys () { + for (const i of this.indexes()) { + yield this.keyList[i] + } + } + + *values () { + for (const i of this.indexes()) { + yield this.valList[i] + } + } + + [Symbol.iterator] () { + return this.entries() + } + + find (fn, getOptions = {}) { + for (const i of this.indexes()) { + if (fn(this.valList[i], this.keyList[i], this)) { + return this.get(this.keyList[i], getOptions) + } + } + } + + forEach (fn, thisp = this) { + for (const i of this.indexes()) { + fn.call(thisp, this.valList[i], this.keyList[i], this) + } + } + + rforEach (fn, thisp = this) { + for (const i of this.rindexes()) { + fn.call(thisp, this.valList[i], this.keyList[i], this) + } + } + + get prune () { + deprecatedMethod('prune', 'Please use cache.purgeStale() instead.') + return this.purgeStale + } + + purgeStale () { + let deleted = false + if (this.size) { + for (let i = this.head; true; i = this.next[i]) { + const b = i === this.tail + if (this.isStale(i)) { + this.delete(this.keyList[i]) + deleted = true + } + if (b) { + break + } + } + } + return deleted + } + + dump () { + const arr = [] + for (const i of this.indexes()) { + const key = this.keyList[i] + const value = this.valList[i] + const entry = { value } + if (this.ttls) { + entry.ttl = this.ttls[i] + } + if (this.sizes) { + entry.size = this.sizes[i] + } + arr.unshift([key, entry]) + } + return arr + } + + load (arr) { + this.clear() + for (const [key, entry] of arr) { + this.set(key, entry.value, entry) + } + } + + dispose (v, k, reason) {} + + set (k, v, { + ttl = this.ttl, + noDisposeOnSet = this.noDisposeOnSet, + size = 0, + sizeCalculation = this.sizeCalculation, + } = {}) { + let index = this.size === 0 ? undefined : this.keyMap.get(k) + if (index === undefined) { + // addition + index = this.newIndex() + this.keyList[index] = k + this.valList[index] = v + this.keyMap.set(k, index) + this.next[this.tail] = index + this.prev[index] = this.tail + this.tail = index + this.size ++ + this.addItemSize(index, v, k, size, sizeCalculation) + } else { + // update + const oldVal = this.valList[index] + if (v !== oldVal) { + if (!noDisposeOnSet) { + this.dispose(oldVal, k, 'set') + if (this.disposeAfter) { + this.disposed.push([oldVal, k, 'set']) + } + } + this.removeItemSize(index) + this.valList[index] = v + this.addItemSize(index, v, k, size, sizeCalculation) + } + this.moveToTail(index) + } + if (ttl !== 0 && this.ttl === 0 && !this.ttls) { + this.initializeTTLTracking() + } + this.setItemTTL(index, ttl) + if (this.disposeAfter) { + while (this.disposed.length) { + this.disposeAfter(...this.disposed.shift()) + } + } + return this + } + + newIndex () { + if (this.size === 0) { + return this.tail + } + if (this.size === this.max) { + return this.evict() + } + if (this.free.length !== 0) { + return this.free.pop() + } + // initial fill, just keep writing down the list + return this.initialFill++ + } + + pop () { + if (this.size) { + const val = this.valList[this.head] + this.evict() + return val + } + } + + evict () { + const head = this.head + const k = this.keyList[head] + const v = this.valList[head] + this.dispose(v, k, 'evict') + if (this.disposeAfter) { + this.disposed.push([v, k, 'evict']) + } + this.removeItemSize(head) + this.head = this.next[head] + this.keyMap.delete(k) + this.size -- + return head + } + + has (k) { + return this.keyMap.has(k) && !this.isStale(this.keyMap.get(k)) + } + + // like get(), but without any LRU updating or TTL expiration + peek (k, { allowStale = this.allowStale } = {}) { + const index = this.keyMap.get(k) + if (index !== undefined && (allowStale || !this.isStale(index))) { + return this.valList[index] + } + } + + get (k, { + allowStale = this.allowStale, + updateAgeOnGet = this.updateAgeOnGet, + } = {}) { + const index = this.keyMap.get(k) + if (index !== undefined) { + if (this.isStale(index)) { + const value = allowStale ? this.valList[index] : undefined + this.delete(k) + return value + } else { + this.moveToTail(index) + if (updateAgeOnGet) { + this.updateItemAge(index) + } + return this.valList[index] + } + } + } + + connect (p, n) { + this.prev[n] = p + this.next[p] = n + } + + moveToTail (index) { + // if tail already, nothing to do + // if head, move head to next[index] + // else + // move next[prev[index]] to next[index] (head has no prev) + // move prev[next[index]] to prev[index] + // prev[index] = tail + // next[tail] = index + // tail = index + if (index !== this.tail) { + if (index === this.head) { + this.head = this.next[index] + } else { + this.connect(this.prev[index], this.next[index]) + } + this.connect(this.tail, index) + this.tail = index + } + } + + get del () { + deprecatedMethod('del', 'Please use cache.delete() instead.') + return this.delete + } + delete (k) { + let deleted = false + if (this.size !== 0) { + const index = this.keyMap.get(k) + if (index !== undefined) { + deleted = true + if (this.size === 1) { + this.clear() + } else { + this.removeItemSize(index) + this.dispose(this.valList[index], k, 'delete') + if (this.disposeAfter) { + this.disposed.push([this.valList[index], k, 'delete']) + } + this.keyMap.delete(k) + this.keyList[index] = null + this.valList[index] = null + if (index === this.tail) { + this.tail = this.prev[index] + } else if (index === this.head) { + this.head = this.next[index] + } else { + this.next[this.prev[index]] = this.next[index] + this.prev[this.next[index]] = this.prev[index] + } + this.size -- + this.free.push(index) + } + } + } + if (this.disposed) { + while (this.disposed.length) { + this.disposeAfter(...this.disposed.shift()) + } + } + return deleted + } + + clear () { + if (this.dispose !== LRUCache.prototype.dispose) { + for (const index of this.rindexes()) { + this.dispose(this.valList[index], this.keyList[index], 'delete') + } + } + if (this.disposeAfter) { + for (const index of this.rindexes()) { + this.disposed.push([this.valList[index], this.keyList[index], 'delete']) + } + } + this.keyMap.clear() + this.valList.fill(null) + this.keyList.fill(null) + if (this.ttls) { + this.ttls.fill(0) + this.starts.fill(0) + } + if (this.sizes) { + this.sizes.fill(0) + } + this.head = 0 + this.tail = 0 + this.initialFill = 1 + this.free.length = 0 + this.calculatedSize = 0 + this.size = 0 + if (this.disposed) { + while (this.disposed.length) { + this.disposeAfter(...this.disposed.shift()) + } + } + } + get reset () { + deprecatedMethod('reset', 'Please use cache.clear() instead.') + return this.clear + } + + get length () { + deprecatedProperty('length', 'Please use cache.size instead.') + return this.size + } +} + +module.exports = LRUCache diff --git a/deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/package.json b/deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/package.json new file mode 100644 index 00000000000..66dbbd9c115 --- /dev/null +++ b/deps/npm/node_modules/@npmcli/git/node_modules/lru-cache/package.json @@ -0,0 +1,34 @@ +{ + "name": "lru-cache", + "description": "A cache object that deletes the least-recently-used items.", + "version": "7.3.1", + "author": "Isaac Z. Schlueter <i@izs.me>", + "keywords": [ + "mru", + "lru", + "cache" + ], + "scripts": { + "test": "tap", + "snap": "tap", + "preversion": "npm test", + "postversion": "npm publish", + "prepublishOnly": "git push origin --follow-tags" + }, + "main": "index.js", + "repository": "git://github.com/isaacs/node-lru-cache.git", + "devDependencies": { + "benchmark": "^2.1.4", + "tap": "^15.1.6" + }, + "license": "ISC", + "files": [ + "index.js" + ], + "engines": { + "node": ">=12" + }, + "tap": { + "coverage-map": "map.js" + } +} diff --git a/deps/npm/node_modules/@npmcli/git/package.json b/deps/npm/node_modules/@npmcli/git/package.json index 9475da5007a..02cd37fa225 100644 --- a/deps/npm/node_modules/@npmcli/git/package.json +++ b/deps/npm/node_modules/@npmcli/git/package.json @@ -1,44 +1,57 @@ { "name": "@npmcli/git", - "version": "2.1.0", + "version": "3.0.0", "main": "lib/index.js", "files": [ - "lib/*.js" + "bin", + "lib" ], "description": "a util for spawning git from npm CLI contexts", "repository": { "type": "git", "url": "git+https://github.com/npm/git" }, - "author": "Isaac Z. Schlueter <i@izs.me> (https://izs.me)", + "author": "GitHub Inc.", "license": "ISC", "scripts": { - "lint": "standard", + "lint": "eslint '**/*.js'", "lint:fix": "standard --fix", "postversion": "npm publish", "prepublishOnly": "git push origin --follow-tags", "preversion": "npm test", "snap": "tap", "test": "tap", - "posttest": "npm run lint" + "posttest": "npm run lint", + "postlint": "npm-template-check", + "template-copy": "npm-template-copy --force", + "lintfix": "npm run lint -- --fix" }, "tap": { "check-coverage": true, "coverage-map": "map.js" }, "devDependencies": { + "@npmcli/template-oss": "^2.7.1", "slash": "^3.0.0", "standard": "^16.0.3", - "tap": "^15.0.6" + "tap": "^15.1.6" }, "dependencies": { "@npmcli/promise-spawn": "^1.3.2", - "lru-cache": "^6.0.0", + "lru-cache": "^7.3.1", "mkdirp": "^1.0.4", - "npm-pick-manifest": "^6.1.1", + "npm-pick-manifest": "^7.0.0", + "proc-log": "^2.0.0", "promise-inflight": "^1.0.1", "promise-retry": "^2.0.1", "semver": "^7.3.5", "which": "^2.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + }, + "templateOSS": { + "windowsCI": false, + "version": "2.7.1" } } diff --git a/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/advisory.js b/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/advisory.js index d0900e37328..5b58ef63707 100644 --- a/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/advisory.js +++ b/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/advisory.js @@ -22,8 +22,9 @@ class Advisory { this[_source] = source this[_options] = options this.name = name - if (!source.name) + if (!source.name) { source.name = name + } this.dependency = source.name @@ -70,11 +71,13 @@ class Advisory { // load up the data from a cache entry and a fetched packument load (cached, packument) { // basic data integrity gutcheck - if (!cached || typeof cached !== 'object') + if (!cached || typeof cached !== 'object') { throw new TypeError('invalid cached data, expected object') + } - if (!packument || typeof packument !== 'object') + if (!packument || typeof packument !== 'object') { throw new TypeError('invalid packument data, expected object') + } if (cached.id && cached.id !== this.id) { throw Object.assign(new Error('loading from incorrect cache entry'), { @@ -88,14 +91,16 @@ class Advisory { actual: packument.name, }) } - if (this[_packument]) + if (this[_packument]) { throw new Error('advisory object already loaded') + } // if we have a range from the initialization, and the cached // data has a *different* range, then we know we have to recalc. // just don't use the cached data, so we will definitely not match later - if (!this.range || cached.range && cached.range === this.range) + if (!this.range || cached.range && cached.range === this.range) { Object.assign(this, cached) + } this[_packument] = packument @@ -107,8 +112,9 @@ class Advisory { if (!this.versions.includes(v)) { versionsAdded.push(v) this.versions.push(v) - } else if (!pakuVersions.includes(v)) + } else if (!pakuVersions.includes(v)) { versionsRemoved.push(v) + } } // strip out any removed versions from our lists, and sort by semver @@ -138,14 +144,16 @@ class Advisory { this[_updated] = true // test any versions newly added - if (!unchanged || versionsAdded.length) + if (!unchanged || versionsAdded.length) { this[_testVersions](unchanged ? versionsAdded : this.versions) + } this.vulnerableVersions = semver.sort(this.vulnerableVersions, semverOpt) // metavulns have to calculate their range, since cache is invalidated // advisories just get their range from the advisory above - if (this.type === 'metavuln') + if (this.type === 'metavuln') { this[_calculateRange]() + } return this } @@ -170,10 +178,11 @@ class Advisory { } break } - if (vr.length > 1) + if (vr.length > 1) { vr[1] = this.versions[v] - else + } else { vr.push(this.versions[v]) + } v++ vulnVer++ } @@ -198,26 +207,30 @@ class Advisory { // we use the dependency version from the manifest. testVersion (version, spec = null) { const sv = String(version) - if (this[_versionVulnMemo].has(sv)) + if (this[_versionVulnMemo].has(sv)) { return this[_versionVulnMemo].get(sv) + } const result = this[_testVersion](version, spec) - if (result) + if (result) { this[_markVulnerable](version) + } this[_versionVulnMemo].set(sv, !!result) return result } [_markVulnerable] (version) { const sv = String(version) - if (!this.vulnerableVersions.includes(sv)) + if (!this.vulnerableVersions.includes(sv)) { this.vulnerableVersions.push(sv) + } } [_testVersion] (version, spec) { const sv = String(version) - if (this.vulnerableVersions.includes(sv)) + if (this.vulnerableVersions.includes(sv)) { return true + } if (this.type === 'advisory') { // advisory, just test range @@ -233,12 +246,14 @@ class Advisory { }, } - if (!spec) + if (!spec) { spec = getDepSpec(mani, this.dependency) + } // no dep, no vuln - if (spec === null) + if (spec === null) { return false + } if (!semver.validRange(spec, semverOpt)) { // not a semver range, nothing we can hope to do about it @@ -252,8 +267,9 @@ class Advisory { // try to pick a version of the dep that isn't vulnerable const avoid = this[_source].range - if (bundled) + if (bundled) { return semver.intersects(spec, avoid, semverOpt) + } return this[_source].testSpec(spec) } @@ -263,8 +279,9 @@ class Advisory { // consistent across multiple versions, so memoize this as well, in case // we're testing lots of versions. const memo = this[_specVulnMemo] - if (memo.has(spec)) + if (memo.has(spec)) { return memo.get(spec) + } const res = this[_testSpec](spec) memo.set(spec, res) @@ -274,10 +291,12 @@ class Advisory { [_testSpec] (spec) { for (const v of this.versions) { const satisfies = semver.satisfies(v, spec) - if (!satisfies) + if (!satisfies) { continue - if (!this.testVersion(v)) + } + if (!this.testVersion(v)) { return false + } } // either vulnerable, or not installable because nothing satisfied // either way, best avoided. @@ -285,8 +304,9 @@ class Advisory { } [_testVersions] (versions) { - if (!versions.length) + if (!versions.length) { return + } // set of lists of versions const versionSets = new Set() @@ -328,30 +348,34 @@ class Advisory { // version in the list, then start there instead. let h = 0 const origHeadVuln = this.testVersion(list[h]) - while (h < list.length && /-/.test(String(list[h]))) + while (h < list.length && /-/.test(String(list[h]))) { h++ + } // don't filter out the whole list! they might all be pr's - if (h === list.length) + if (h === list.length) { h = 0 - else if (origHeadVuln) { + } else if (origHeadVuln) { // if the original was vulnerable, assume so are all of these - for (let hh = 0; hh < h; hh++) + for (let hh = 0; hh < h; hh++) { this[_markVulnerable](list[hh]) + } } let t = list.length - 1 const origTailVuln = this.testVersion(list[t]) - while (t > h && /-/.test(String(list[t]))) + while (t > h && /-/.test(String(list[t]))) { t-- + } // don't filter out the whole list! might all be pr's - if (t === h) + if (t === h) { t = list.length - 1 - else if (origTailVuln) { + } else if (origTailVuln) { // if original tail was vulnerable, assume these are as well - for (let tt = list.length - 1; tt > t; tt--) + for (let tt = list.length - 1; tt > t; tt--) { this[_markVulnerable](list[tt]) + } } const headVuln = h === 0 ? origHeadVuln @@ -362,14 +386,16 @@ class Advisory { // if head and tail both vulnerable, whole list is thrown out if (headVuln && tailVuln) { - for (let v = h; v < t; v++) + for (let v = h; v < t; v++) { this[_markVulnerable](list[v]) + } continue } // if length is 2 or 1, then we marked them all already - if (t < h + 2) + if (t < h + 2) { continue + } const mid = Math.floor(list.length / 2) const pre = list.slice(0, mid) @@ -382,8 +408,9 @@ class Advisory { const midVuln = this.testVersion(pre[pre.length - 1]) while (/-/.test(String(pre[pre.length - 1]))) { const v = pre.pop() - if (midVuln) + if (midVuln) { this[_markVulnerable](v) + } } } @@ -391,8 +418,9 @@ class Advisory { const midVuln = this.testVersion(post[0]) while (/-/.test(String(post[0]))) { const v = post.shift() - if (midVuln) + if (midVuln) { this[_markVulnerable](v) + } } } diff --git a/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/hash.js b/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/hash.js index 79c0678c758..634bf99de04 100644 --- a/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/hash.js +++ b/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/hash.js @@ -1,5 +1,5 @@ -const {createHash} = require('crypto') +const { createHash } = require('crypto') -module.exports = ({name, source}) => createHash('sha512') +module.exports = ({ name, source }) => createHash('sha512') .update(JSON.stringify([name, source])) .digest('base64') diff --git a/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/index.js b/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/index.js index 02c1ed018b8..668f55942c5 100644 --- a/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/index.js +++ b/deps/npm/node_modules/@npmcli/metavuln-calculator/lib/index.js @@ -4,7 +4,7 @@ const pacote = require('pacote') const cacache = require('cacache') const Advisory = require('./advisory.js') -const {homedir} = require('os') +const { homedir } = require('os') const jsonParse = require('json-parse-even-better-errors') const _packument = Symbol('packument') @@ -37,8 +37,9 @@ class Calculator { async calculate (name, source) { const k = `security-advisory:${name}:${source.id}` - if (this[_advisories].has(k)) + if (this[_advisories].has(k)) { return this[_advisories].get(k) + } const p = this[_calculate](name, source) this[_advisories].set(k, p) @@ -58,8 +59,9 @@ class Calculator { process.emit('time', `metavuln:load:${k}`) advisory.load(cached, packument) process.emit('timeEnd', `metavuln:load:${k}`) - if (advisory.updated) + if (advisory.updated) { await this[_cachePut](advisory) + } this[_advisories].set(k, advisory) process.emit('timeEnd', t) return advisory @@ -81,8 +83,9 @@ class Calculator { const key = `security-advisory:${name}:${id}` /* istanbul ignore if - should be impossible, since we memoize the * advisory object itself using the same key, just being cautious */ - if (this[_cacheData].has(key)) + if (this[_cacheData].has(key)) { return this[_cacheData].get(key) + } process.emit('time', `metavuln:cache:get:${key}`) const p = cacache.get(this[_cache], key, { ...this[_options] }) @@ -98,8 +101,9 @@ class Calculator { } async [_packument] (name) { - if (this[_packuments].has(name)) + if (this[_packuments].has(name)) { return this[_packuments].get(name) + } process.emit('time', `metavuln:packument:${name}`) const p = pacote.packument(name, { ...this[_options] }) diff --git a/deps/npm/node_modules/@npmcli/metavuln-calculator/package.json b/deps/npm/node_modules/@npmcli/metavuln-calculator/package.json index 131cff67233..385a34b85af 100644 --- a/deps/npm/node_modules/@npmcli/metavuln-calculator/package.json +++ b/deps/npm/node_modules/@npmcli/metavuln-calculator/package.json @@ -1,13 +1,14 @@ { "name": "@npmcli/metavuln-calculator", - "version": "2.0.0", + "version": "3.0.0", "main": "lib/index.js", "files": [ + "bin", "lib" ], "description": "Calculate meta-vulnerabilities from package security advisories", "repository": "https://github.com/npm/metavuln-calculator", - "author": "Isaac Z. Schlueter <i@izs.me> (https://izs.me)", + "author": "GitHub Inc.", "license": "ISC", "scripts": { "test": "tap", @@ -18,29 +19,30 @@ "postversion": "npm publish", "prepublishOnly": "git push origin --follow-tags", "eslint": "eslint", - "lint": "npm run eslint -- \"lib/**/*.js\" \"test/**/*.js\"", - "lintfix": "npm run lint -- --fix" + "lint": "eslint '**/*.js'", + "lintfix": "npm run lint -- --fix", + "postlint": "npm-template-check", + "template-copy": "npm-template-copy --force" }, "tap": { "check-coverage": true, "coverage-map": "map.js" }, "devDependencies": { - "eslint": "^7.20.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.3.1", - "eslint-plugin-standard": "^4.1.0", + "@npmcli/template-oss": "^2.7.1", "require-inject": "^1.4.4", - "tap": "^14.10.8" + "tap": "^15.1.6" }, "dependencies": { - "cacache": "^15.0.5", + "cacache": "^15.3.0", "json-parse-even-better-errors": "^2.3.1", - "pacote": "^12.0.0", - "semver": "^7.3.2" + "pacote": "^13.0.1", + "semver": "^7.3.5" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16" + }, + "templateOSS": { + "version": "2.7.1" } } diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/make-spawn-args.js b/deps/npm/node_modules/@npmcli/run-script/lib/make-spawn-args.js index 8f299954a7a..9cfc84b0e0d 100644 --- a/deps/npm/node_modules/@npmcli/run-script/lib/make-spawn-args.js +++ b/deps/npm/node_modules/@npmcli/run-script/lib/make-spawn-args.js @@ -1,7 +1,7 @@ /* eslint camelcase: "off" */ const isWindows = require('./is-windows.js') const setPATH = require('./set-path.js') -const {resolve} = require('path') +const { resolve } = require('path') const npm_config_node_gyp = require.resolve('node-gyp/bin/node-gyp.js') const makeSpawnArgs = options => { diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/package-envs.js b/deps/npm/node_modules/@npmcli/run-script/lib/package-envs.js index 47791fb991b..6b538e50247 100644 --- a/deps/npm/node_modules/@npmcli/run-script/lib/package-envs.js +++ b/deps/npm/node_modules/@npmcli/run-script/lib/package-envs.js @@ -6,12 +6,13 @@ const envVal = val => Array.isArray(val) ? val.map(v => envVal(v)).join('\n\n') const packageEnvs = (env, vals, prefix) => { for (const [key, val] of Object.entries(vals)) { - if (val === undefined) + if (val === undefined) { continue - else if (val && !Array.isArray(val) && typeof val === 'object') + } else if (val && !Array.isArray(val) && typeof val === 'object') { packageEnvs(env, val, `${prefix}${key}_`) - else + } else { env[`${prefix}${key}`] = envVal(val) + } } return env } diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/run-script-pkg.js b/deps/npm/node_modules/@npmcli/run-script/lib/run-script-pkg.js index ccde173e014..a6fa4d2b389 100644 --- a/deps/npm/node_modules/@npmcli/run-script/lib/run-script-pkg.js +++ b/deps/npm/node_modules/@npmcli/run-script/lib/run-script-pkg.js @@ -26,25 +26,28 @@ const runScriptPkg = async options => { signalTimeout = 500, } = options - const {scripts = {}, gypfile} = pkg + const { scripts = {}, gypfile } = pkg let cmd = null - if (options.cmd) + if (options.cmd) { cmd = options.cmd - else if (pkg.scripts && pkg.scripts[event]) + } else if (pkg.scripts && pkg.scripts[event]) { cmd = pkg.scripts[event] + args.map(a => ` ${JSON.stringify(a)}`).join('') - else if ( // If there is no preinstall or install script, default to rebuilding node-gyp packages. + } else if ( + // If there is no preinstall or install script, default to rebuilding node-gyp packages. event === 'install' && !scripts.install && !scripts.preinstall && gypfile !== false && await isNodeGypPackage(path) - ) + ) { cmd = defaultGypInstallScript - else if (event === 'start' && await isServerPackage(path)) + } else if (event === 'start' && await isServerPackage(path)) { cmd = 'node server.js' + args.map(a => ` ${JSON.stringify(a)}`).join('') + } - if (!cmd) + if (!cmd) { return { code: 0, signal: null } + } if (stdio === 'inherit' && banner !== false) { // we're dumping to the parent's stdout, so print the banner @@ -66,11 +69,13 @@ const runScriptPkg = async options => { path, }) - if (stdio === 'inherit') + if (stdio === 'inherit') { signalManager.add(p.process) + } - if (p.stdin) + if (p.stdin) { p.stdin.end() + } return p.catch(er => { const { signal } = er @@ -80,8 +85,9 @@ const runScriptPkg = async options => { // this also keeps the node process open long enough to actually // get the signal, rather than terminating gracefully. return new Promise((res, rej) => setTimeout(() => rej(er), signalTimeout)) - } else + } else { throw er + } }) } diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/run-script.js b/deps/npm/node_modules/@npmcli/run-script/lib/run-script.js index af33d2113f9..6bb4a2e666a 100644 --- a/deps/npm/node_modules/@npmcli/run-script/lib/run-script.js +++ b/deps/npm/node_modules/@npmcli/run-script/lib/run-script.js @@ -5,9 +5,9 @@ const isServerPackage = require('./is-server-package.js') const runScript = options => { validateOptions(options) - const {pkg, path} = options + const { pkg, path } = options return pkg ? runScriptPkg(options) - : rpj(path + '/package.json').then(pkg => runScriptPkg({...options, pkg})) + : rpj(path + '/package.json').then(pkg => runScriptPkg({ ...options, pkg })) } module.exports = Object.assign(runScript, { isServerPackage }) diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js b/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js index d7bd2c2886b..d5f8707efc8 100644 --- a/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js +++ b/deps/npm/node_modules/@npmcli/run-script/lib/set-path.js @@ -1,4 +1,4 @@ -const {resolve, dirname} = require('path') +const { resolve, dirname } = require('path') const isWindows = require('./is-windows.js') // the path here is relative, even though it does not need to be // in order to make the posix tests pass in windows @@ -34,8 +34,9 @@ const setPATH = (projectPath, env) => { // npm or arborist or whoever to just provide that by putting it in // the PATH environ, since that's preserved anyway. for (const key of Object.keys(env)) { - if (/^path$/i.test(key)) + if (/^path$/i.test(key)) { env[key] = pathVal + } } return env diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/signal-manager.js b/deps/npm/node_modules/@npmcli/run-script/lib/signal-manager.js index 556e758c254..7e10f859e0a 100644 --- a/deps/npm/node_modules/@npmcli/run-script/lib/signal-manager.js +++ b/deps/npm/node_modules/@npmcli/run-script/lib/signal-manager.js @@ -3,7 +3,7 @@ let handlersInstalled = false const forwardedSignals = [ 'SIGINT', - 'SIGTERM' + 'SIGTERM', ] const handleSignal = signal => { @@ -30,8 +30,9 @@ const cleanupListeners = () => { const add = proc => { runningProcs.add(proc) - if (!handlersInstalled) + if (!handlersInstalled) { setupListeners() + } proc.once('exit', () => { runningProcs.delete(proc) @@ -42,5 +43,5 @@ const add = proc => { module.exports = { add, handleSignal, - forwardedSignals + forwardedSignals, } diff --git a/deps/npm/node_modules/@npmcli/run-script/lib/validate-options.js b/deps/npm/node_modules/@npmcli/run-script/lib/validate-options.js index 48ac5c5d9e3..8d855916ecd 100644 --- a/deps/npm/node_modules/@npmcli/run-script/lib/validate-options.js +++ b/deps/npm/node_modules/@npmcli/run-script/lib/validate-options.js @@ -1,6 +1,7 @@ const validateOptions = options => { - if (typeof options !== 'object' || !options) + if (typeof options !== 'object' || !options) { throw new TypeError('invalid options object provided to runScript') + } const { event, @@ -12,20 +13,27 @@ const validateOptions = options => { cmd, } = options - if (!event || typeof event !== 'string') + if (!event || typeof event !== 'string') { throw new TypeError('valid event not provided to runScript') - if (!path || typeof path !== 'string') + } + if (!path || typeof path !== 'string') { throw new TypeError('valid path not provided to runScript') - if (scriptShell !== undefined && typeof scriptShell !== 'string') + } + if (scriptShell !== undefined && typeof scriptShell !== 'string') { throw new TypeError('invalid scriptShell option provided to runScript') - if (typeof env !== 'object' || !env) + } + if (typeof env !== 'object' || !env) { throw new TypeError('invalid env option provided to runScript') - if (typeof stdio !== 'string' && !Array.isArray(stdio)) + } + if (typeof stdio !== 'string' && !Array.isArray(stdio)) { throw new TypeError('invalid stdio option provided to runScript') - if (!Array.isArray(args) || args.some(a => typeof a !== 'string')) + } + if (!Array.isArray(args) || args.some(a => typeof a !== 'string')) { throw new TypeError('invalid args option provided to runScript') - if (cmd !== undefined && typeof cmd !== 'string') + } + if (cmd !== undefined && typeof cmd !== 'string') { throw new TypeError('invalid cmd option provided to runScript') + } } module.exports = validateOptions diff --git a/deps/npm/node_modules/@npmcli/run-script/package.json b/deps/npm/node_modules/@npmcli/run-script/package.json index 9e744e639eb..bb069a7a0a5 100644 --- a/deps/npm/node_modules/@npmcli/run-script/package.json +++ b/deps/npm/node_modules/@npmcli/run-script/package.json @@ -1,8 +1,8 @@ { "name": "@npmcli/run-script", - "version": "2.0.0", + "version": "3.0.0", "description": "Run a lifecycle script for a package (descendant of npm-lifecycle)", - "author": "Isaac Z. Schlueter <i@izs.me> (https://izs.me)", + "author": "GitHub Inc.", "license": "ISC", "scripts": { "test": "tap", @@ -10,36 +10,42 @@ "postversion": "npm publish", "prepublishOnly": "git push origin --follow-tags", "eslint": "eslint", - "lint": "npm run eslint -- \"lib/**/*.js\"", - "lintfix": "npm run lint -- --fix" + "lint": "eslint '**/*.js'", + "lintfix": "npm run lint -- --fix", + "postlint": "npm-template-check", + "template-copy": "npm-template-copy --force", + "snap": "tap", + "posttest": "npm run lint" }, "tap": { "check-coverage": true, "coverage-map": "map.js" }, "devDependencies": { - "eslint": "^7.19.0", - "eslint-plugin-import": "^2.22.1", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1", - "eslint-plugin-standard": "^5.0.0", - "minipass": "^3.1.1", + "@npmcli/template-oss": "^2.7.1", + "minipass": "^3.1.6", "require-inject": "^1.4.4", "tap": "^15.0.4" }, "dependencies": { - "@npmcli/node-gyp": "^1.0.2", + "@npmcli/node-gyp": "^1.0.3", "@npmcli/promise-spawn": "^1.3.2", - "node-gyp": "^8.2.0", - "read-package-json-fast": "^2.0.1" + "node-gyp": "^8.4.1", + "read-package-json-fast": "^2.0.3" }, "files": [ - "lib/**/*.js", - "lib/node-gyp-bin" + "bin", + "lib" ], "main": "lib/run-script.js", "repository": { "type": "git", "url": "git+https://github.com/npm/run-script.git" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + }, + "templateOSS": { + "version": "2.7.1" } } diff --git a/deps/npm/node_modules/ansi-regex/index.js b/deps/npm/node_modules/ansi-regex/index.js deleted file mode 100644 index b9574ed7e82..00000000000 --- a/deps/npm/node_modules/ansi-regex/index.js +++ /dev/null @@ -1,4 +0,0 @@ -'use strict'; -module.exports = function () { - return /[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-PRZcf-nqry=><]/g; -}; diff --git a/deps/npm/node_modules/ansi-regex/license b/deps/npm/node_modules/ansi-regex/license deleted file mode 100644 index 654d0bfe943..00000000000 --- a/deps/npm/node_modules/ansi-regex/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/deps/npm/node_modules/ansi-regex/package.json b/deps/npm/node_modules/ansi-regex/package.json deleted file mode 100644 index eb44fb5c1fe..00000000000 --- a/deps/npm/node_modules/ansi-regex/package.json +++ /dev/null @@ -1,64 +0,0 @@ -{ - "name": "ansi-regex", - "version": "2.1.1", - "description": "Regular expression for matching ANSI escape codes", - "license": "MIT", - "repository": "chalk/ansi-regex", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "maintainers": [ - "Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)", - "Joshua Appelman <jappelman@xebia.com> (jbnicolai.com)", - "JD Ballard <i.am.qix@gmail.com> (github.com/qix-)" - ], - "engines": { - "node": ">=0.10.0" - }, - "scripts": { - "test": "xo && ava --verbose", - "view-supported": "node fixtures/view-codes.js" - }, - "files": [ - "index.js" - ], - "keywords": [ - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "command-line", - "text", - "regex", - "regexp", - "re", - "match", - "test", - "find", - "pattern" - ], - "devDependencies": { - "ava": "0.17.0", - "xo": "0.16.0" - }, - "xo": { - "rules": { - "guard-for-in": 0, - "no-loop-func": 0 - } - } -} diff --git a/deps/npm/node_modules/ansi-regex/readme.md b/deps/npm/node_modules/ansi-regex/readme.md deleted file mode 100644 index 6a928edf0f6..00000000000 --- a/deps/npm/node_modules/ansi-regex/readme.md +++ /dev/null @@ -1,39 +0,0 @@ -# ansi-regex [![Build Status](https://travis-ci.org/chalk/ansi-regex.svg?branch=master)](https://travis-ci.org/chalk/ansi-regex) - -> Regular expression for matching [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) - - -## Install - -``` -$ npm install --save ansi-regex -``` - - -## Usage - -```js -const ansiRegex = require('ansi-regex'); - -ansiRegex().test('\u001b[4mcake\u001b[0m'); -//=> true - -ansiRegex().test('cake'); -//=> false - -'\u001b[4mcake\u001b[0m'.match(ansiRegex()); -//=> ['\u001b[4m', '\u001b[0m'] -``` - -## FAQ - -### Why do you test for codes not in the ECMA 48 standard? - -Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. If I recall correctly, we test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from the test because we cannot reliably match them. - -On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out. - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/index.js b/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/index.js deleted file mode 100644 index 671f97f7607..00000000000 --- a/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/index.js +++ /dev/null @@ -1,50 +0,0 @@ -/* eslint-disable yoda */ -'use strict'; - -const isFullwidthCodePoint = codePoint => { - if (Number.isNaN(codePoint)) { - return false; - } - - // Code points are derived from: - // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt - if ( - codePoint >= 0x1100 && ( - codePoint <= 0x115F || // Hangul Jamo - codePoint === 0x2329 || // LEFT-POINTING ANGLE BRACKET - codePoint === 0x232A || // RIGHT-POINTING ANGLE BRACKET - // CJK Radicals Supplement .. Enclosed CJK Letters and Months - (0x2E80 <= codePoint && codePoint <= 0x3247 && codePoint !== 0x303F) || - // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A - (0x3250 <= codePoint && codePoint <= 0x4DBF) || - // CJK Unified Ideographs .. Yi Radicals - (0x4E00 <= codePoint && codePoint <= 0xA4C6) || - // Hangul Jamo Extended-A - (0xA960 <= codePoint && codePoint <= 0xA97C) || - // Hangul Syllables - (0xAC00 <= codePoint && codePoint <= 0xD7A3) || - // CJK Compatibility Ideographs - (0xF900 <= codePoint && codePoint <= 0xFAFF) || - // Vertical Forms - (0xFE10 <= codePoint && codePoint <= 0xFE19) || - // CJK Compatibility Forms .. Small Form Variants - (0xFE30 <= codePoint && codePoint <= 0xFE6B) || - // Halfwidth and Fullwidth Forms - (0xFF01 <= codePoint && codePoint <= 0xFF60) || - (0xFFE0 <= codePoint && codePoint <= 0xFFE6) || - // Kana Supplement - (0x1B000 <= codePoint && codePoint <= 0x1B001) || - // Enclosed Ideographic Supplement - (0x1F200 <= codePoint && codePoint <= 0x1F251) || - // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane - (0x20000 <= codePoint && codePoint <= 0x3FFFD) - ) - ) { - return true; - } - - return false; -}; - -module.exports = isFullwidthCodePoint; -module.exports.default = isFullwidthCodePoint; diff --git a/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/package.json b/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/package.json deleted file mode 100644 index 2137e888fa5..00000000000 --- a/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "is-fullwidth-code-point", - "version": "3.0.0", - "description": "Check if the character represented by a given Unicode code point is fullwidth", - "license": "MIT", - "repository": "sindresorhus/is-fullwidth-code-point", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=8" - }, - "scripts": { - "test": "xo && ava && tsd-check" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "keywords": [ - "fullwidth", - "full-width", - "full", - "width", - "unicode", - "character", - "string", - "codepoint", - "code", - "point", - "is", - "detect", - "check" - ], - "devDependencies": { - "ava": "^1.3.1", - "tsd-check": "^0.5.0", - "xo": "^0.24.0" - } -} diff --git a/deps/npm/node_modules/cli-columns/node_modules/string-width/index.js b/deps/npm/node_modules/cli-columns/node_modules/string-width/index.js deleted file mode 100644 index f4d261a96a0..00000000000 --- a/deps/npm/node_modules/cli-columns/node_modules/string-width/index.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; -const stripAnsi = require('strip-ansi'); -const isFullwidthCodePoint = require('is-fullwidth-code-point'); -const emojiRegex = require('emoji-regex'); - -const stringWidth = string => { - if (typeof string !== 'string' || string.length === 0) { - return 0; - } - - string = stripAnsi(string); - - if (string.length === 0) { - return 0; - } - - string = string.replace(emojiRegex(), ' '); - - let width = 0; - - for (let i = 0; i < string.length; i++) { - const code = string.codePointAt(i); - - // Ignore control characters - if (code <= 0x1F || (code >= 0x7F && code <= 0x9F)) { - continue; - } - - // Ignore combining characters - if (code >= 0x300 && code <= 0x36F) { - continue; - } - - // Surrogates - if (code > 0xFFFF) { - i++; - } - - width += isFullwidthCodePoint(code) ? 2 : 1; - } - - return width; -}; - -module.exports = stringWidth; -// TODO: remove this in the next major version -module.exports.default = stringWidth; diff --git a/deps/npm/node_modules/cli-columns/node_modules/string-width/package.json b/deps/npm/node_modules/cli-columns/node_modules/string-width/package.json deleted file mode 100644 index 28ba7b4cae9..00000000000 --- a/deps/npm/node_modules/cli-columns/node_modules/string-width/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "string-width", - "version": "4.2.3", - "description": "Get the visual width of a string - the number of columns required to display it", - "license": "MIT", - "repository": "sindresorhus/string-width", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=8" - }, - "scripts": { - "test": "xo && ava && tsd" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "keywords": [ - "string", - "character", - "unicode", - "width", - "visual", - "column", - "columns", - "fullwidth", - "full-width", - "full", - "ansi", - "escape", - "codes", - "cli", - "command-line", - "terminal", - "console", - "cjk", - "chinese", - "japanese", - "korean", - "fixed-width" - ], - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "devDependencies": { - "ava": "^1.4.1", - "tsd": "^0.7.1", - "xo": "^0.24.0" - } -} diff --git a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/license b/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/license deleted file mode 100644 index e7af2f77107..00000000000 --- a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/license +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/readme.md b/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/readme.md deleted file mode 100644 index 3c2b77c4354..00000000000 --- a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/readme.md +++ /dev/null @@ -1,78 +0,0 @@ -# ansi-regex [![Build Status](https://travis-ci.org/chalk/ansi-regex.svg?branch=master)](https://travis-ci.org/chalk/ansi-regex) - -> Regular expression for matching [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) - - -## Install - -``` -$ npm install ansi-regex -``` - - -## Usage - -```js -const ansiRegex = require('ansi-regex'); - -ansiRegex().test('\u001B[4mcake\u001B[0m'); -//=> true - -ansiRegex().test('cake'); -//=> false - -'\u001B[4mcake\u001B[0m'.match(ansiRegex()); -//=> ['\u001B[4m', '\u001B[0m'] - -'\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true})); -//=> ['\u001B[4m'] - -'\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007'.match(ansiRegex()); -//=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007'] -``` - - -## API - -### ansiRegex(options?) - -Returns a regex for matching ANSI escape codes. - -#### options - -Type: `object` - -##### onlyFirst - -Type: `boolean`<br> -Default: `false` *(Matches any ANSI escape codes in a string)* - -Match only the first ANSI escape. - - -## FAQ - -### Why do you test for codes not in the ECMA 48 standard? - -Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. We test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from the test because we cannot reliably match them. - -On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out. - - -## Maintainers - -- [Sindre Sorhus](https://github.com/sindresorhus) -- [Josh Junon](https://github.com/qix-) - - ---- - -<div align="center"> - <b> - <a href="https://tidelift.com/subscription/pkg/npm-ansi-regex?utm_source=npm-ansi-regex&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a> - </b> - <br> - <sub> - Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies. - </sub> -</div> diff --git a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/index.d.ts b/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/index.d.ts deleted file mode 100644 index 729d2020516..00000000000 --- a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/index.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** -Check if the character represented by a given [Unicode code point](https://en.wikipedia.org/wiki/Code_point) is [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms). - -@param codePoint - The [code point](https://en.wikipedia.org/wiki/Code_point) of a character. - -@example -``` -import isFullwidthCodePoint from 'is-fullwidth-code-point'; - -isFullwidthCodePoint('谢'.codePointAt(0)); -//=> true - -isFullwidthCodePoint('a'.codePointAt(0)); -//=> false -``` -*/ -export default function isFullwidthCodePoint(codePoint: number): boolean; diff --git a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/index.js b/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/index.js deleted file mode 100644 index 671f97f7607..00000000000 --- a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/index.js +++ /dev/null @@ -1,50 +0,0 @@ -/* eslint-disable yoda */ -'use strict'; - -const isFullwidthCodePoint = codePoint => { - if (Number.isNaN(codePoint)) { - return false; - } - - // Code points are derived from: - // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt - if ( - codePoint >= 0x1100 && ( - codePoint <= 0x115F || // Hangul Jamo - codePoint === 0x2329 || // LEFT-POINTING ANGLE BRACKET - codePoint === 0x232A || // RIGHT-POINTING ANGLE BRACKET - // CJK Radicals Supplement .. Enclosed CJK Letters and Months - (0x2E80 <= codePoint && codePoint <= 0x3247 && codePoint !== 0x303F) || - // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A - (0x3250 <= codePoint && codePoint <= 0x4DBF) || - // CJK Unified Ideographs .. Yi Radicals - (0x4E00 <= codePoint && codePoint <= 0xA4C6) || - // Hangul Jamo Extended-A - (0xA960 <= codePoint && codePoint <= 0xA97C) || - // Hangul Syllables - (0xAC00 <= codePoint && codePoint <= 0xD7A3) || - // CJK Compatibility Ideographs - (0xF900 <= codePoint && codePoint <= 0xFAFF) || - // Vertical Forms - (0xFE10 <= codePoint && codePoint <= 0xFE19) || - // CJK Compatibility Forms .. Small Form Variants - (0xFE30 <= codePoint && codePoint <= 0xFE6B) || - // Halfwidth and Fullwidth Forms - (0xFF01 <= codePoint && codePoint <= 0xFF60) || - (0xFFE0 <= codePoint && codePoint <= 0xFFE6) || - // Kana Supplement - (0x1B000 <= codePoint && codePoint <= 0x1B001) || - // Enclosed Ideographic Supplement - (0x1F200 <= codePoint && codePoint <= 0x1F251) || - // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane - (0x20000 <= codePoint && codePoint <= 0x3FFFD) - ) - ) { - return true; - } - - return false; -}; - -module.exports = isFullwidthCodePoint; -module.exports.default = isFullwidthCodePoint; diff --git a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/license b/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/license deleted file mode 100644 index e7af2f77107..00000000000 --- a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/license +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/package.json b/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/package.json deleted file mode 100644 index 2137e888fa5..00000000000 --- a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "is-fullwidth-code-point", - "version": "3.0.0", - "description": "Check if the character represented by a given Unicode code point is fullwidth", - "license": "MIT", - "repository": "sindresorhus/is-fullwidth-code-point", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=8" - }, - "scripts": { - "test": "xo && ava && tsd-check" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "keywords": [ - "fullwidth", - "full-width", - "full", - "width", - "unicode", - "character", - "string", - "codepoint", - "code", - "point", - "is", - "detect", - "check" - ], - "devDependencies": { - "ava": "^1.3.1", - "tsd-check": "^0.5.0", - "xo": "^0.24.0" - } -} diff --git a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/readme.md b/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/readme.md deleted file mode 100644 index 4236bba980d..00000000000 --- a/deps/npm/node_modules/cli-table3/node_modules/is-fullwidth-code-point/readme.md +++ /dev/null @@ -1,39 +0,0 @@ -# is-fullwidth-code-point [![Build Status](https://travis-ci.org/sindresorhus/is-fullwidth-code-point.svg?branch=master)](https://travis-ci.org/sindresorhus/is-fullwidth-code-point) - -> Check if the character represented by a given [Unicode code point](https://en.wikipedia.org/wiki/Code_point) is [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) - - -## Install - -``` -$ npm install is-fullwidth-code-point -``` - - -## Usage - -```js -const isFullwidthCodePoint = require('is-fullwidth-code-point'); - -isFullwidthCodePoint('谢'.codePointAt(0)); -//=> true - -isFullwidthCodePoint('a'.codePointAt(0)); -//=> false -``` - - -## API - -### isFullwidthCodePoint(codePoint) - -#### codePoint - -Type: `number` - -The [code point](https://en.wikipedia.org/wiki/Code_point) of a character. - - -## License - -MIT © [Sindre Sorhus](https://sindresorhus.com) diff --git a/deps/npm/node_modules/cli-table3/node_modules/string-width/index.d.ts b/deps/npm/node_modules/cli-table3/node_modules/string-width/index.d.ts deleted file mode 100644 index 12b5309751d..00000000000 --- a/deps/npm/node_modules/cli-table3/node_modules/string-width/index.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -declare const stringWidth: { - /** - Get the visual width of a string - the number of columns required to display it. - - Some Unicode characters are [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) and use double the normal width. [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) are stripped and doesn't affect the width. - - @example - ``` - import stringWidth = require('string-width'); - - stringWidth('a'); - //=> 1 - - stringWidth('古'); - //=> 2 - - stringWidth('\u001B[1m古\u001B[22m'); - //=> 2 - ``` - */ - (string: string): number; - - // TODO: remove this in the next major version, refactor the whole definition to: - // declare function stringWidth(string: string): number; - // export = stringWidth; - default: typeof stringWidth; -} - -export = stringWidth; diff --git a/deps/npm/node_modules/cli-table3/node_modules/string-width/index.js b/deps/npm/node_modules/cli-table3/node_modules/string-width/index.js deleted file mode 100644 index f4d261a96a0..00000000000 --- a/deps/npm/node_modules/cli-table3/node_modules/string-width/index.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; -const stripAnsi = require('strip-ansi'); -const isFullwidthCodePoint = require('is-fullwidth-code-point'); -const emojiRegex = require('emoji-regex'); - -const stringWidth = string => { - if (typeof string !== 'string' || string.length === 0) { - return 0; - } - - string = stripAnsi(string); - - if (string.length === 0) { - return 0; - } - - string = string.replace(emojiRegex(), ' '); - - let width = 0; - - for (let i = 0; i < string.length; i++) { - const code = string.codePointAt(i); - - // Ignore control characters - if (code <= 0x1F || (code >= 0x7F && code <= 0x9F)) { - continue; - } - - // Ignore combining characters - if (code >= 0x300 && code <= 0x36F) { - continue; - } - - // Surrogates - if (code > 0xFFFF) { - i++; - } - - width += isFullwidthCodePoint(code) ? 2 : 1; - } - - return width; -}; - -module.exports = stringWidth; -// TODO: remove this in the next major version -module.exports.default = stringWidth; diff --git a/deps/npm/node_modules/cli-table3/node_modules/string-width/license b/deps/npm/node_modules/cli-table3/node_modules/string-width/license deleted file mode 100644 index e7af2f77107..00000000000 --- a/deps/npm/node_modules/cli-table3/node_modules/string-width/license +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/deps/npm/node_modules/cli-table3/node_modules/string-width/package.json b/deps/npm/node_modules/cli-table3/node_modules/string-width/package.json deleted file mode 100644 index b9b20caaf6f..00000000000 --- a/deps/npm/node_modules/cli-table3/node_modules/string-width/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "string-width", - "version": "4.2.2", - "description": "Get the visual width of a string - the number of columns required to display it", - "license": "MIT", - "repository": "sindresorhus/string-width", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=8" - }, - "scripts": { - "test": "xo && ava && tsd" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "keywords": [ - "string", - "character", - "unicode", - "width", - "visual", - "column", - "columns", - "fullwidth", - "full-width", - "full", - "ansi", - "escape", - "codes", - "cli", - "command-line", - "terminal", - "console", - "cjk", - "chinese", - "japanese", - "korean", - "fixed-width" - ], - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - }, - "devDependencies": { - "ava": "^1.4.1", - "tsd": "^0.7.1", - "xo": "^0.24.0" - } -} diff --git a/deps/npm/node_modules/cli-table3/node_modules/string-width/readme.md b/deps/npm/node_modules/cli-table3/node_modules/string-width/readme.md deleted file mode 100644 index bdd314129ca..00000000000 --- a/deps/npm/node_modules/cli-table3/node_modules/string-width/readme.md +++ /dev/null @@ -1,50 +0,0 @@ -# string-width - -> Get the visual width of a string - the number of columns required to display it - -Some Unicode characters are [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) and use double the normal width. [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) are stripped and doesn't affect the width. - -Useful to be able to measure the actual width of command-line output. - - -## Install - -``` -$ npm install string-width -``` - - -## Usage - -```js -const stringWidth = require('string-width'); - -stringWidth('a'); -//=> 1 - -stringWidth('古'); -//=> 2 - -stringWidth('\u001B[1m古\u001B[22m'); -//=> 2 -``` - - -## Related - -- [string-width-cli](https://github.com/sindresorhus/string-width-cli) - CLI for this module -- [string-length](https://github.com/sindresorhus/string-length) - Get the real length of a string -- [widest-line](https://github.com/sindresorhus/widest-line) - Get the visual width of the widest line in a string - - ---- - -<div align="center"> - <b> - <a href="https://tidelift.com/subscription/pkg/npm-string-width?utm_source=npm-string-width&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a> - </b> - <br> - <sub> - Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies. - </sub> -</div> diff --git a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/license b/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/license deleted file mode 100644 index e7af2f77107..00000000000 --- a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/license +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/readme.md b/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/readme.md deleted file mode 100644 index 7c4b56d46dd..00000000000 --- a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/readme.md +++ /dev/null @@ -1,46 +0,0 @@ -# strip-ansi [![Build Status](https://travis-ci.org/chalk/strip-ansi.svg?branch=master)](https://travis-ci.org/chalk/strip-ansi) - -> Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string - - -## Install - -``` -$ npm install strip-ansi -``` - - -## Usage - -```js -const stripAnsi = require('strip-ansi'); - -stripAnsi('\u001B[4mUnicorn\u001B[0m'); -//=> 'Unicorn' - -stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007'); -//=> 'Click' -``` - - -## strip-ansi for enterprise - -Available as part of the Tidelift Subscription. - -The maintainers of strip-ansi and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-strip-ansi?utm_source=npm-strip-ansi&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) - - -## Related - -- [strip-ansi-cli](https://github.com/chalk/strip-ansi-cli) - CLI for this module -- [strip-ansi-stream](https://github.com/chalk/strip-ansi-stream) - Streaming version of this module -- [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes -- [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes -- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right - - -## Maintainers - -- [Sindre Sorhus](https://github.com/sindresorhus) -- [Josh Junon](https://github.com/qix-) - diff --git a/deps/npm/node_modules/columnify/Readme.md b/deps/npm/node_modules/columnify/Readme.md index 4a37928a762..868a4a4aa04 100644 --- a/deps/npm/node_modules/columnify/Readme.md +++ b/deps/npm/node_modules/columnify/Readme.md @@ -1,13 +1,8 @@ # columnify -[![NPM](https://nodei.co/npm/columnify.png?downloads=true&downloadRank=true&stars=true&chrome)](https://nodei.co/npm-dl/columnify/) -[![NPM](https://nodei.co/npm-dl/columnify.png?months=3&height=3&chrome)](https://nodei.co/npm/columnify/) - -[![Build Status](https://img.shields.io/travis/timoxley/columnify.svg?style=flat)](https://travis-ci.org/timoxley/columnify) +[![Columnify Unit Tests](https://github.com/timoxley/columnify/actions/workflows/test.yml/badge.svg)](https://github.com/timoxley/columnify/actions/workflows/test.yml) [![NPM Version](https://img.shields.io/npm/v/columnify.svg?style=flat)](https://npmjs.org/package/columnify) [![License](http://img.shields.io/npm/l/columnify.svg?style=flat)](LICENSE) -[![Dependency Status](https://david-dm.org/timoxley/columnify.svg)](https://david-dm.org/timoxley/columnify) -[![devDependency Status](https://david-dm.org/timoxley/columnify/dev-status.svg)](https://david-dm.org/timoxley/columnify#info=devDependencies) Create text-based columns suitable for console output from objects or arrays of objects. @@ -22,10 +17,10 @@ Designed to [handle sensible wrapping in npm search results](https://github.com/ ![npm-tidy-search](https://f.cloud.github.com/assets/43438/1848959/ae02ad04-76a1-11e3-8255-4781debffc26.gif) -## Installation & Update +## Installation ``` -$ npm install --save columnify@latest +$ npm install columnify ``` ## Usage @@ -379,7 +374,7 @@ var columns = columnify(data, { ``` ### Transforming Column Data and Headers -If you need to modify the presentation of column content or heading content there are two useful options for doing that: `dataTransform` and `headerTransform`. Both of these take a function and need to return a valid string. +If you need to modify the presentation of column content or heading content there are two useful options for doing that: `dataTransform` and `headingTransform`. Both of these take a function and need to return a valid string. ```javascript var columns = columnify([{ @@ -392,6 +387,9 @@ var columns = columnify([{ dataTransform: function(data) { return data.toLowerCase() }, + headingTransform: function(heading) { + return heading.toLowerCase() + }, config: { name: { headingTransform: function(heading) { @@ -404,7 +402,7 @@ var columns = columnify([{ ``` #### Output: ``` -*MODULE NAME* DESCRIPTION +*MODULE NAME* description mod1 some description text. module-two some slightly longer description text. ``` @@ -450,19 +448,26 @@ module-one some description 0.0.1 ``` project : columnify - repo age : 1 year, 2 months - active : 32 days - commits : 120 - files : 54 + repo age : 8 years + active : 47 days + commits : 180 + files : 57 authors : - 90 Tim Oxley 75.0% - 8 Tim 6.7% - 7 Arjun Mehta 5.8% - 6 Dany 5.0% - 5 Wei Gao 4.2% - 2 Dany Shaanan 1.7% - 1 Seth Miller 0.8% - 1 Isaac Z. Schlueter 0.8% + 123 Tim Oxley 68.3% + 11 Nicholas Hoffman 6.1% + 8 Tim 4.4% + 7 Arjun Mehta 3.9% + 6 Dany 3.3% + 5 Tim Kevin Oxley 2.8% + 5 Wei Gao 2.8% + 4 Matias Singers 2.2% + 3 Michael Kriese 1.7% + 2 sreekanth370 1.1% + 2 Dany Shaanan 1.1% + 1 Tim Malone 0.6% + 1 Seth Miller 0.6% + 1 andyfusniak 0.6% + 1 Isaac Z. Schlueter 0.6% ``` ## License diff --git a/deps/npm/node_modules/columnify/columnify.js b/deps/npm/node_modules/columnify/columnify.js index 334d5509ae2..dcef9236e18 100644 --- a/deps/npm/node_modules/columnify/columnify.js +++ b/deps/npm/node_modules/columnify/columnify.js @@ -2,14 +2,13 @@ var wcwidth = require('./width'); -var _require = require('./utils'); - -var padRight = _require.padRight; -var padCenter = _require.padCenter; -var padLeft = _require.padLeft; -var splitIntoLines = _require.splitIntoLines; -var splitLongWords = _require.splitLongWords; -var truncateString = _require.truncateString; +var _require = require('./utils'), + padRight = _require.padRight, + padCenter = _require.padCenter, + padLeft = _require.padLeft, + splitIntoLines = _require.splitIntoLines, + splitLongWords = _require.splitLongWords, + truncateString = _require.truncateString; var DEFAULT_HEADING_TRANSFORM = function DEFAULT_HEADING_TRANSFORM(key) { return key.toUpperCase(); @@ -33,7 +32,8 @@ var DEFAULTS = Object.freeze({ }); module.exports = function (items) { - var options = arguments.length <= 1 || arguments[1] === undefined ? {} : arguments[1]; + var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {}; + var columnConfigs = options.config || {}; delete options.config; // remove config so doesn't appear on every column. @@ -244,9 +244,7 @@ function createRows(items, columns, columnNames, paddingChr) { */ function mixin() { - var _Object; - - if (Object.assign) return (_Object = Object).assign.apply(_Object, arguments); + if (Object.assign) return Object.assign.apply(Object, arguments); return ObjectAssign.apply(undefined, arguments); } diff --git a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/index.d.ts b/deps/npm/node_modules/columnify/node_modules/ansi-regex/index.d.ts index 2dbf6af2b6f..2dbf6af2b6f 100644 --- a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/index.d.ts +++ b/deps/npm/node_modules/columnify/node_modules/ansi-regex/index.d.ts diff --git a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/index.js b/deps/npm/node_modules/columnify/node_modules/ansi-regex/index.js index 35054aa6774..616ff837d3f 100644 --- a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/index.js +++ b/deps/npm/node_modules/columnify/node_modules/ansi-regex/index.js @@ -2,7 +2,7 @@ module.exports = ({onlyFirst = false} = {}) => { const pattern = [ - '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)', + '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)', '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))' ].join('|'); diff --git a/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/license b/deps/npm/node_modules/columnify/node_modules/ansi-regex/license index e7af2f77107..e7af2f77107 100644 --- a/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/license +++ b/deps/npm/node_modules/columnify/node_modules/ansi-regex/license diff --git a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/package.json b/deps/npm/node_modules/columnify/node_modules/ansi-regex/package.json index 7af801f3522..017f53116a9 100644 --- a/deps/npm/node_modules/cli-table3/node_modules/ansi-regex/package.json +++ b/deps/npm/node_modules/columnify/node_modules/ansi-regex/package.json @@ -1,6 +1,6 @@ { "name": "ansi-regex", - "version": "5.0.0", + "version": "5.0.1", "description": "Regular expression for matching ANSI escape codes", "license": "MIT", "repository": "chalk/ansi-regex", diff --git a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/index.d.ts b/deps/npm/node_modules/columnify/node_modules/strip-ansi/index.d.ts index 907fccc2926..907fccc2926 100644 --- a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/index.d.ts +++ b/deps/npm/node_modules/columnify/node_modules/strip-ansi/index.d.ts diff --git a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/index.js b/deps/npm/node_modules/columnify/node_modules/strip-ansi/index.js index 9a593dfcd1f..9a593dfcd1f 100644 --- a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/index.js +++ b/deps/npm/node_modules/columnify/node_modules/strip-ansi/index.js diff --git a/deps/npm/node_modules/cli-columns/node_modules/string-width/license b/deps/npm/node_modules/columnify/node_modules/strip-ansi/license index e7af2f77107..e7af2f77107 100644 --- a/deps/npm/node_modules/cli-columns/node_modules/string-width/license +++ b/deps/npm/node_modules/columnify/node_modules/strip-ansi/license diff --git a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/package.json b/deps/npm/node_modules/columnify/node_modules/strip-ansi/package.json index 65a6c95161f..1a41108d428 100644 --- a/deps/npm/node_modules/cli-table3/node_modules/strip-ansi/package.json +++ b/deps/npm/node_modules/columnify/node_modules/strip-ansi/package.json @@ -1,6 +1,6 @@ { "name": "strip-ansi", - "version": "6.0.0", + "version": "6.0.1", "description": "Strip ANSI escape codes from a string", "license": "MIT", "repository": "chalk/strip-ansi", @@ -44,7 +44,7 @@ "text" ], "dependencies": { - "ansi-regex": "^5.0.0" + "ansi-regex": "^5.0.1" }, "devDependencies": { "ava": "^2.4.0", diff --git a/deps/npm/node_modules/columnify/package.json b/deps/npm/node_modules/columnify/package.json index 4bff7f52684..29565407a8c 100644 --- a/deps/npm/node_modules/columnify/package.json +++ b/deps/npm/node_modules/columnify/package.json @@ -1,6 +1,6 @@ { "name": "columnify", - "version": "1.5.4", + "version": "1.6.0", "description": "Render data in text columns. Supports in-column text-wrap.", "main": "columnify.js", "scripts": { @@ -17,11 +17,10 @@ "author": "Tim Oxley", "license": "MIT", "devDependencies": { - "babel": "^6.3.26", - "babel-cli": "^6.3.17", + "babel-cli": "^6.26.0", "babel-preset-es2015": "^6.3.13", "chalk": "^1.1.1", - "tap-spec": "^4.1.1", + "tap-spec": "^5.0.0", "tape": "^4.4.0" }, "repository": { @@ -41,8 +40,11 @@ "url": "https://github.com/timoxley/columnify/issues" }, "homepage": "https://github.com/timoxley/columnify", + "engines": { + "node": ">=8.0.0" + }, "dependencies": { - "strip-ansi": "^3.0.0", + "strip-ansi": "^6.0.1", "wcwidth": "^1.0.0" }, "directories": { diff --git a/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/index.d.ts b/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/index.d.ts deleted file mode 100644 index 729d2020516..00000000000 --- a/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/index.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -/** -Check if the character represented by a given [Unicode code point](https://en.wikipedia.org/wiki/Code_point) is [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms). - -@param codePoint - The [code point](https://en.wikipedia.org/wiki/Code_point) of a character. - -@example -``` -import isFullwidthCodePoint from 'is-fullwidth-code-point'; - -isFullwidthCodePoint('谢'.codePointAt(0)); -//=> true - -isFullwidthCodePoint('a'.codePointAt(0)); -//=> false -``` -*/ -export default function isFullwidthCodePoint(codePoint: number): boolean; diff --git a/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/index.js b/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/index.js deleted file mode 100644 index 671f97f7607..00000000000 --- a/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/index.js +++ /dev/null @@ -1,50 +0,0 @@ -/* eslint-disable yoda */ -'use strict'; - -const isFullwidthCodePoint = codePoint => { - if (Number.isNaN(codePoint)) { - return false; - } - - // Code points are derived from: - // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt - if ( - codePoint >= 0x1100 && ( - codePoint <= 0x115F || // Hangul Jamo - codePoint === 0x2329 || // LEFT-POINTING ANGLE BRACKET - codePoint === 0x232A || // RIGHT-POINTING ANGLE BRACKET - // CJK Radicals Supplement .. Enclosed CJK Letters and Months - (0x2E80 <= codePoint && codePoint <= 0x3247 && codePoint !== 0x303F) || - // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A - (0x3250 <= codePoint && codePoint <= 0x4DBF) || - // CJK Unified Ideographs .. Yi Radicals - (0x4E00 <= codePoint && codePoint <= 0xA4C6) || - // Hangul Jamo Extended-A - (0xA960 <= codePoint && codePoint <= 0xA97C) || - // Hangul Syllables - (0xAC00 <= codePoint && codePoint <= 0xD7A3) || - // CJK Compatibility Ideographs - (0xF900 <= codePoint && codePoint <= 0xFAFF) || - // Vertical Forms - (0xFE10 <= codePoint && codePoint <= 0xFE19) || - // CJK Compatibility Forms .. Small Form Variants - (0xFE30 <= codePoint && codePoint <= 0xFE6B) || - // Halfwidth and Fullwidth Forms - (0xFF01 <= codePoint && codePoint <= 0xFF60) || - (0xFFE0 <= codePoint && codePoint <= 0xFFE6) || - // Kana Supplement - (0x1B000 <= codePoint && codePoint <= 0x1B001) || - // Enclosed Ideographic Supplement - (0x1F200 <= codePoint && codePoint <= 0x1F251) || - // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane - (0x20000 <= codePoint && codePoint <= 0x3FFFD) - ) - ) { - return true; - } - - return false; -}; - -module.exports = isFullwidthCodePoint; -module.exports.default = isFullwidthCodePoint; diff --git a/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/license b/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/license deleted file mode 100644 index e7af2f77107..00000000000 --- a/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/license +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/package.json b/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/package.json deleted file mode 100644 index 2137e888fa5..00000000000 --- a/deps/npm/node_modules/gauge/node_modules/is-fullwidth-code-point/package.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "name": "is-fullwidth-code-point", - "version": "3.0.0", - "description": "Check if the character represented by a given Unicode code point is fullwidth", - "license": "MIT", - "repository": "sindresorhus/is-fullwidth-code-point", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=8" - }, - "scripts": { - "test": "xo && ava && tsd-check" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "keywords": [ - "fullwidth", - "full-width", - "full", - "width", - "unicode", - "character", - "string", - "codepoint", - "code", - "point", - "is", - "detect", - "check" - ], - "devDependencies": { - "ava": "^1.3.1", - "tsd-check": "^0.5.0", - "xo": "^0.24.0" - } -} diff --git a/deps/npm/node_modules/gauge/node_modules/string-width/index.d.ts b/deps/npm/node_modules/gauge/node_modules/string-width/index.d.ts deleted file mode 100644 index 12b5309751d..00000000000 --- a/deps/npm/node_modules/gauge/node_modules/string-width/index.d.ts +++ /dev/null @@ -1,29 +0,0 @@ -declare const stringWidth: { - /** - Get the visual width of a string - the number of columns required to display it. - - Some Unicode characters are [fullwidth](https://en.wikipedia.org/wiki/Halfwidth_and_fullwidth_forms) and use double the normal width. [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) are stripped and doesn't affect the width. - - @example - ``` - import stringWidth = require('string-width'); - - stringWidth('a'); - //=> 1 - - stringWidth('古'); - //=> 2 - - stringWidth('\u001B[1m古\u001B[22m'); - //=> 2 - ``` - */ - (string: string): number; - - // TODO: remove this in the next major version, refactor the whole definition to: - // declare function stringWidth(string: string): number; - // export = stringWidth; - default: typeof stringWidth; -} - -export = stringWidth; diff --git a/deps/npm/node_modules/gauge/node_modules/string-width/index.js b/deps/npm/node_modules/gauge/node_modules/string-width/index.js deleted file mode 100644 index f4d261a96a0..00000000000 --- a/deps/npm/node_modules/gauge/node_modules/string-width/index.js +++ /dev/null @@ -1,47 +0,0 @@ -'use strict'; -const stripAnsi = require('strip-ansi'); -const isFullwidthCodePoint = require('is-fullwidth-code-point'); -const emojiRegex = require('emoji-regex'); - -const stringWidth = string => { - if (typeof string !== 'string' || string.length === 0) { - return 0; - } - - string = stripAnsi(string); - - if (string.length === 0) { - return 0; - } - - string = string.replace(emojiRegex(), ' '); - - let width = 0; - - for (let i = 0; i < string.length; i++) { - const code = string.codePointAt(i); - - // Ignore control characters - if (code <= 0x1F || (code >= 0x7F && code <= 0x9F)) { - continue; - } - - // Ignore combining characters - if (code >= 0x300 && code <= 0x36F) { - continue; - } - - // Surrogates - if (code > 0xFFFF) { - i++; - } - - width += isFullwidthCodePoint(code) ? 2 : 1; - } - - return width; -}; - -module.exports = stringWidth; -// TODO: remove this in the next major version -module.exports.default = stringWidth; diff --git a/deps/npm/node_modules/gauge/node_modules/string-width/license b/deps/npm/node_modules/gauge/node_modules/string-width/license deleted file mode 100644 index e7af2f77107..00000000000 --- a/deps/npm/node_modules/gauge/node_modules/string-width/license +++ /dev/null @@ -1,9 +0,0 @@ -MIT License - -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/deps/npm/node_modules/gauge/node_modules/string-width/package.json b/deps/npm/node_modules/gauge/node_modules/string-width/package.json deleted file mode 100644 index 28ba7b4cae9..00000000000 --- a/deps/npm/node_modules/gauge/node_modules/string-width/package.json +++ /dev/null @@ -1,56 +0,0 @@ -{ - "name": "string-width", - "version": "4.2.3", - "description": "Get the visual width of a string - the number of columns required to display it", - "license": "MIT", - "repository": "sindresorhus/string-width", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=8" - }, - "scripts": { - "test": "xo && ava && tsd" - }, - "files": [ - "index.js", - "index.d.ts" - ], - "keywords": [ - "string", - "character", - "unicode", - "width", - "visual", - "column", - "columns", - "fullwidth", - "full-width", - "full", - "ansi", - "escape", - "codes", - "cli", - "command-line", - "terminal", - "console", - "cjk", - "chinese", - "japanese", - "korean", - "fixed-width" - ], - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "devDependencies": { - "ava": "^1.4.1", - "tsd": "^0.7.1", - "xo": "^0.24.0" - } -} diff --git a/deps/npm/node_modules/init-package-json/lib/init-package-json.js b/deps/npm/node_modules/init-package-json/lib/init-package-json.js index bee79351caa..f13a34ce6ff 100644 --- a/deps/npm/node_modules/init-package-json/lib/init-package-json.js +++ b/deps/npm/node_modules/init-package-json/lib/init-package-json.js @@ -127,7 +127,7 @@ function init (dir, input, config, cb) { return write(true) } console.log('About to write to %s:\n\n%s\n', packageFile, d) - read({prompt: 'Is this OK? ', default: 'yes'}, function (er, ok) { + read({ prompt: 'Is this OK? ', default: 'yes' }, function (er, ok) { if (er) { return cb(er) } diff --git a/deps/npm/node_modules/init-package-json/package.json b/deps/npm/node_modules/init-package-json/package.json index 6d642f6cf68..7649c503de8 100644 --- a/deps/npm/node_modules/init-package-json/package.json +++ b/deps/npm/node_modules/init-package-json/package.json @@ -1,6 +1,6 @@ { "name": "init-package-json", - "version": "2.0.5", + "version": "3.0.0", "main": "lib/init-package-json.js", "scripts": { "test": "tap", @@ -11,7 +11,8 @@ "postlint": "npm-template-check", "lintfix": "npm run lint -- --fix", "snap": "tap", - "posttest": "npm run lint" + "posttest": "npm run lint", + "template-copy": "npm-template-copy --force" }, "repository": { "type": "git", @@ -21,21 +22,21 @@ "license": "ISC", "description": "A node module to get your node module started", "dependencies": { - "npm-package-arg": "^8.1.5", + "npm-package-arg": "^9.0.0", "promzard": "^0.3.0", - "read": "~1.0.1", + "read": "^1.0.7", "read-package-json": "^4.1.1", "semver": "^7.3.5", "validate-npm-package-license": "^3.0.4", "validate-npm-package-name": "^3.0.0" }, "devDependencies": { - "@npmcli/config": "^2.1.0", - "@npmcli/template-oss": "^1.0.3", - "tap": "^15.0.9" + "@npmcli/config": "^4.0.0", + "@npmcli/template-oss": "^2.7.1", + "tap": "^15.1.6" }, "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16" }, "tap": { "statements": "94", @@ -56,5 +57,7 @@ "bin", "lib" ], - "templateVersion": "1.0.3" + "templateOSS": { + "version": "2.7.1" + } } diff --git a/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/index.d.ts b/deps/npm/node_modules/is-fullwidth-code-point/index.d.ts index 729d2020516..729d2020516 100644 --- a/deps/npm/node_modules/cli-columns/node_modules/is-fullwidth-code-point/index.d.ts +++ b/deps/npm/node_modules/is-fullwidth-code-point/index.d.ts diff --git a/deps/npm/node_modules/is-fullwidth-code-point/index.js b/deps/npm/node_modules/is-fullwidth-code-point/index.js index d506327c3e5..671f97f7607 100644 --- a/deps/npm/node_modules/is-fullwidth-code-point/index.js +++ b/deps/npm/node_modules/is-fullwidth-code-point/index.js @@ -1,42 +1,43 @@ -'use strict'; /* eslint-disable yoda */ -module.exports = x => { - if (Number.isNaN(x)) { +'use strict'; + +const isFullwidthCodePoint = codePoint => { + if (Number.isNaN(codePoint)) { return false; } - // code points are derived from: + // Code points are derived from: // http://www.unix.org/Public/UNIDATA/EastAsianWidth.txt if ( - x >= 0x1100 && ( - x <= 0x115f || // Hangul Jamo - x === 0x2329 || // LEFT-POINTING ANGLE BRACKET - x === 0x232a || // RIGHT-POINTING ANGLE BRACKET + codePoint >= 0x1100 && ( + codePoint <= 0x115F || // Hangul Jamo + codePoint === 0x2329 || // LEFT-POINTING ANGLE BRACKET + codePoint === 0x232A || // RIGHT-POINTING ANGLE BRACKET // CJK Radicals Supplement .. Enclosed CJK Letters and Months - (0x2e80 <= x && x <= 0x3247 && x !== 0x303f) || + (0x2E80 <= codePoint && codePoint <= 0x3247 && codePoint !== 0x303F) || // Enclosed CJK Letters and Months .. CJK Unified Ideographs Extension A - (0x3250 <= x && x <= 0x4dbf) || + (0x3250 <= codePoint && codePoint <= 0x4DBF) || // CJK Unified Ideographs .. Yi Radicals - (0x4e00 <= x && x <= 0xa4c6) || + (0x4E00 <= codePoint && codePoint <= 0xA4C6) || // Hangul Jamo Extended-A - (0xa960 <= x && x <= 0xa97c) || + (0xA960 <= codePoint && codePoint <= 0xA97C) || // Hangul Syllables - (0xac00 <= x && x <= 0xd7a3) || + (0xAC00 <= codePoint && codePoint <= 0xD7A3) || // CJK Compatibility Ideographs - (0xf900 <= x && x <= 0xfaff) || + (0xF900 <= codePoint && codePoint <= 0xFAFF) || // Vertical Forms - (0xfe10 <= x && x <= 0xfe19) || + (0xFE10 <= codePoint && codePoint <= 0xFE19) || // CJK Compatibility Forms .. Small Form Variants - (0xfe30 <= x && x <= 0xfe6b) || + (0xFE30 <= codePoint && codePoint <= 0xFE6B) || // Halfwidth and Fullwidth Forms - (0xff01 <= x && x <= 0xff60) || - (0xffe0 <= x && x <= 0xffe6) || + (0xFF01 <= codePoint && codePoint <= 0xFF60) || + (0xFFE0 <= codePoint && codePoint <= 0xFFE6) || // Kana Supplement - (0x1b000 <= x && x <= 0x1b001) || + (0x1B000 <= codePoint && codePoint <= 0x1B001) || // Enclosed Ideographic Supplement - (0x1f200 <= x && x <= 0x1f251) || + (0x1F200 <= codePoint && codePoint <= 0x1F251) || // CJK Unified Ideographs Extension B .. Tertiary Ideographic Plane - (0x20000 <= x && x <= 0x3fffd) + (0x20000 <= codePoint && codePoint <= 0x3FFFD) ) ) { return true; @@ -44,3 +45,6 @@ module.exports = x => { return false; }; + +module.exports = isFullwidthCodePoint; +module.exports.default = isFullwidthCodePoint; diff --git a/deps/npm/node_modules/is-fullwidth-code-point/license b/deps/npm/node_modules/is-fullwidth-code-point/license index 654d0bfe943..e7af2f77107 100644 --- a/deps/npm/node_modules/is-fullwidth-code-point/license +++ b/deps/npm/node_modules/is-fullwidth-code-point/license @@ -1,21 +1,9 @@ -The MIT License (MIT) +MIT License Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com) -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/deps/npm/node_modules/is-fullwidth-code-point/package.json b/deps/npm/node_modules/is-fullwidth-code-point/package.json index 3049d9e0304..2137e888fa5 100644 --- a/deps/npm/node_modules/is-fullwidth-code-point/package.json +++ b/deps/npm/node_modules/is-fullwidth-code-point/package.json @@ -1,45 +1,42 @@ { - "name": "is-fullwidth-code-point", - "version": "2.0.0", - "description": "Check if the character represented by a given Unicode code point is fullwidth", - "license": "MIT", - "repository": "sindresorhus/is-fullwidth-code-point", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=4" - }, - "scripts": { - "test": "xo && ava" - }, - "files": [ - "index.js" - ], - "keywords": [ - "fullwidth", - "full-width", - "full", - "width", - "unicode", - "character", - "char", - "string", - "str", - "codepoint", - "code", - "point", - "is", - "detect", - "check" - ], - "devDependencies": { - "ava": "*", - "xo": "*" - }, - "xo": { - "esnext": true - } + "name": "is-fullwidth-code-point", + "version": "3.0.0", + "description": "Check if the character represented by a given Unicode code point is fullwidth", + "license": "MIT", + "repository": "sindresorhus/is-fullwidth-code-point", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava && tsd-check" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "fullwidth", + "full-width", + "full", + "width", + "unicode", + "character", + "string", + "codepoint", + "code", + "point", + "is", + "detect", + "check" + ], + "devDependencies": { + "ava": "^1.3.1", + "tsd-check": "^0.5.0", + "xo": "^0.24.0" + } } diff --git a/deps/npm/node_modules/is-fullwidth-code-point/readme.md b/deps/npm/node_modules/is-fullwidth-code-point/readme.md index 093b0281b2c..4236bba980d 100644 --- a/deps/npm/node_modules/is-fullwidth-code-point/readme.md +++ b/deps/npm/node_modules/is-fullwidth-code-point/readme.md @@ -6,7 +6,7 @@ ## Install ``` -$ npm install --save is-fullwidth-code-point +$ npm install is-fullwidth-code-point ``` @@ -15,23 +15,23 @@ $ npm install --save is-fullwidth-code-point ```js const isFullwidthCodePoint = require('is-fullwidth-code-point'); -isFullwidthCodePoint('谢'.codePointAt()); +isFullwidthCodePoint('谢'.codePointAt(0)); //=> true -isFullwidthCodePoint('a'.codePointAt()); +isFullwidthCodePoint('a'.codePointAt(0)); //=> false ``` ## API -### isFullwidthCodePoint(input) +### isFullwidthCodePoint(codePoint) -#### input +#### codePoint Type: `number` -[Code point](https://en.wikipedia.org/wiki/Code_point) of a character. +The [code point](https://en.wikipedia.org/wiki/Code_point) of a character. ## License diff --git a/deps/npm/node_modules/libnpmaccess/package.json b/deps/npm/node_modules/libnpmaccess/package.json index 760da6cc1be..33085ffd7cc 100644 --- a/deps/npm/node_modules/libnpmaccess/package.json +++ b/deps/npm/node_modules/libnpmaccess/package.json @@ -1,6 +1,6 @@ { "name": "libnpmaccess", - "version": "5.0.1", + "version": "6.0.0", "description": "programmatic library for `npm access` commands", "author": "GitHub Inc.", "license": "ISC", @@ -31,8 +31,8 @@ "dependencies": { "aproba": "^2.0.0", "minipass": "^3.1.1", - "npm-package-arg": "^8.1.2", - "npm-registry-fetch": "^12.0.1" + "npm-package-arg": "^9.0.0", + "npm-registry-fetch": "^13.0.0" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16" diff --git a/deps/npm/node_modules/libnpmdiff/package.json b/deps/npm/node_modules/libnpmdiff/package.json index 24846f39cf4..fbfc1eaf9c0 100644 --- a/deps/npm/node_modules/libnpmdiff/package.json +++ b/deps/npm/node_modules/libnpmdiff/package.json @@ -1,6 +1,6 @@ { "name": "libnpmdiff", - "version": "3.0.0", + "version": "4.0.0", "description": "The registry diff", "repository": "https://github.com/npm/libnpmdiff", "main": "lib/index.js", @@ -53,8 +53,8 @@ "binary-extensions": "^2.2.0", "diff": "^5.0.0", "minimatch": "^3.0.4", - "npm-package-arg": "^8.1.4", - "pacote": "^12.0.0", + "npm-package-arg": "^9.0.0", + "pacote": "^13.0.2", "tar": "^6.1.0" }, "templateOSS": { diff --git a/deps/npm/node_modules/libnpmexec/README.md b/deps/npm/node_modules/libnpmexec/README.md index a48552714d5..74d6f5211e6 100644 --- a/deps/npm/node_modules/libnpmexec/README.md +++ b/deps/npm/node_modules/libnpmexec/README.md @@ -35,7 +35,6 @@ await libexec({ - `color`: Output should use color? **Boolean**, defaults to `false` - `localBin`: Location to the `node_modules/.bin` folder of the local project to start scanning for bin files **String**, defaults to `./node_modules/.bin`. **libexec** will walk up the directory structure looking for `node_modules/.bin` folders in parent folders that might satisfy the current `arg` and will use that bin if found. - `locationMsg`: Overrides "at location" message when entering interactive mode **String** - - `log`: Sets an optional logger **Object**, defaults to `proc-log` module usage. - `globalBin`: Location to the global space bin folder, same as: `$(npm bin -g)` **String**, defaults to empty string. - `output`: A function to print output to **Function** - `packages`: A list of packages to be used (possibly fetch from the registry) **Array<String>**, defaults to `[]` diff --git a/deps/npm/node_modules/libnpmexec/lib/index.js b/deps/npm/node_modules/libnpmexec/lib/index.js index facafb035d3..3c7be114913 100644 --- a/deps/npm/node_modules/libnpmexec/lib/index.js +++ b/deps/npm/node_modules/libnpmexec/lib/index.js @@ -4,7 +4,8 @@ const read = promisify(require('read')) const Arborist = require('@npmcli/arborist') const ciDetect = require('@npmcli/ci-detect') -const logger = require('proc-log') +const log = require('proc-log') +const npmlog = require('npmlog') const mkdirp = require('mkdirp-infer-owner') const npa = require('npm-package-arg') const pacote = require('pacote') @@ -39,7 +40,6 @@ const exec = async (opts) => { yes = undefined, ...flatOptions } = opts - const log = flatOptions.log || logger // dereferences values because we manipulate it later const packages = [..._packages] @@ -50,7 +50,6 @@ const exec = async (opts) => { color, flatOptions, locationMsg, - log, output, path, pathArr, @@ -169,9 +168,7 @@ const exec = async (opts) => { const prompt = `Need to install the following packages:\n${ addList }Ok to proceed? ` - if (typeof log.clearProgress === 'function') { - log.clearProgress() - } + npmlog.clearProgress() const confirm = await read({ prompt, default: 'y' }) if (confirm.trim().toLowerCase().charAt(0) !== 'y') { throw new Error('canceled') diff --git a/deps/npm/node_modules/libnpmexec/lib/run-script.js b/deps/npm/node_modules/libnpmexec/lib/run-script.js index 851f5c60bd0..97543e6ff0d 100644 --- a/deps/npm/node_modules/libnpmexec/lib/run-script.js +++ b/deps/npm/node_modules/libnpmexec/lib/run-script.js @@ -4,6 +4,8 @@ const chalk = require('chalk') const ciDetect = require('@npmcli/ci-detect') const runScript = require('@npmcli/run-script') const readPackageJson = require('read-package-json-fast') +const npmlog = require('npmlog') +const log = require('proc-log') const noTTY = require('./no-tty.js') const nocolor = { @@ -18,7 +20,6 @@ const run = async ({ color, flatOptions, locationMsg, - log, output = () => {}, path, pathArr, @@ -41,9 +42,7 @@ const run = async ({ }, } - if (log && log.disableProgress) { - log.disableProgress() - } + npmlog.disableProgress() try { if (script === scriptShell) { @@ -80,9 +79,7 @@ const run = async ({ stdio: 'inherit', }) } finally { - if (log && log.enableProgress) { - log.enableProgress() - } + npmlog.enableProgress() } } diff --git a/deps/npm/node_modules/libnpmexec/package.json b/deps/npm/node_modules/libnpmexec/package.json index 4410f187ec6..9ce05bf9688 100644 --- a/deps/npm/node_modules/libnpmexec/package.json +++ b/deps/npm/node_modules/libnpmexec/package.json @@ -1,6 +1,6 @@ { "name": "libnpmexec", - "version": "3.0.3", + "version": "4.0.0", "files": [ "bin", "lib" @@ -50,14 +50,15 @@ "tap": "^15.0.6" }, "dependencies": { - "@npmcli/arborist": "^4.0.0", + "@npmcli/arborist": "^5.0.0", "@npmcli/ci-detect": "^2.0.0", - "@npmcli/run-script": "^2.0.0", + "@npmcli/run-script": "^3.0.0", "chalk": "^4.1.0", "mkdirp-infer-owner": "^2.0.0", - "npm-package-arg": "^8.1.2", - "pacote": "^12.0.0", - "proc-log": "^1.0.0", + "npm-package-arg": "^9.0.0", + "npmlog": "^6.0.1", + "pacote": "^13.0.2", + "proc-log": "^2.0.0", "read": "^1.0.7", "read-package-json-fast": "^2.0.2", "walk-up-path": "^1.0.0" diff --git a/deps/npm/node_modules/libnpmfund/package.json b/deps/npm/node_modules/libnpmfund/package.json index 4b7ffc8f308..eae757f04e9 100644 --- a/deps/npm/node_modules/libnpmfund/package.json +++ b/deps/npm/node_modules/libnpmfund/package.json @@ -1,6 +1,6 @@ { "name": "libnpmfund", - "version": "2.0.2", + "version": "3.0.0", "main": "lib/index.js", "files": [ "bin", @@ -46,7 +46,7 @@ "tap": "^15.0.9" }, "dependencies": { - "@npmcli/arborist": "^4.0.0" + "@npmcli/arborist": "^5.0.0" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16" diff --git a/deps/npm/node_modules/libnpmhook/package.json b/deps/npm/node_modules/libnpmhook/package.json index 4f305552732..8b749d1809d 100644 --- a/deps/npm/node_modules/libnpmhook/package.json +++ b/deps/npm/node_modules/libnpmhook/package.json @@ -1,6 +1,6 @@ { "name": "libnpmhook", - "version": "7.0.1", + "version": "8.0.0", "description": "programmatic API for managing npm registry hooks", "main": "lib/index.js", "files": [ @@ -34,7 +34,7 @@ "license": "ISC", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^12.0.1" + "npm-registry-fetch": "^13.0.0" }, "devDependencies": { "@npmcli/template-oss": "^2.4.2", diff --git a/deps/npm/node_modules/libnpmorg/package.json b/deps/npm/node_modules/libnpmorg/package.json index 5c4909b1c95..913030066dd 100644 --- a/deps/npm/node_modules/libnpmorg/package.json +++ b/deps/npm/node_modules/libnpmorg/package.json @@ -1,6 +1,6 @@ { "name": "libnpmorg", - "version": "3.0.1", + "version": "4.0.0", "description": "Programmatic api for `npm org` commands", "author": "GitHub Inc.", "main": "lib/index.js", @@ -45,7 +45,7 @@ "homepage": "https://npmjs.com/package/libnpmorg", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^12.0.1" + "npm-registry-fetch": "^13.0.0" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16" diff --git a/deps/npm/node_modules/libnpmpack/lib/index.js b/deps/npm/node_modules/libnpmpack/lib/index.js index a2c95cf938d..dc9cfd2c4e7 100644 --- a/deps/npm/node_modules/libnpmpack/lib/index.js +++ b/deps/npm/node_modules/libnpmpack/lib/index.js @@ -16,7 +16,7 @@ async function pack (spec = 'file:.', opts = {}) { // Default to true if no log options passed, set to false if we're in silent // mode - const banner = !opts.log || (opts.log.level !== 'silent') + const banner = !opts.silent if (spec.type === 'directory') { // prepack diff --git a/deps/npm/node_modules/libnpmpack/package.json b/deps/npm/node_modules/libnpmpack/package.json index 7317c272f7e..579b4efa230 100644 --- a/deps/npm/node_modules/libnpmpack/package.json +++ b/deps/npm/node_modules/libnpmpack/package.json @@ -1,6 +1,6 @@ { "name": "libnpmpack", - "version": "3.1.0", + "version": "4.0.0", "description": "Programmatic API for the bits behind npm pack", "author": "GitHub Inc.", "main": "lib/index.js", @@ -38,9 +38,9 @@ "bugs": "https://github.com/npm/libnpmpack/issues", "homepage": "https://npmjs.com/package/libnpmpack", "dependencies": { - "@npmcli/run-script": "^2.0.0", - "npm-package-arg": "^8.1.0", - "pacote": "^12.0.0" + "@npmcli/run-script": "^3.0.0", + "npm-package-arg": "^9.0.0", + "pacote": "^13.0.2" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16" diff --git a/deps/npm/node_modules/libnpmpublish/lib/publish.js b/deps/npm/node_modules/libnpmpublish/lib/publish.js index f6d88f7325b..75b764c9896 100644 --- a/deps/npm/node_modules/libnpmpublish/lib/publish.js +++ b/deps/npm/node_modules/libnpmpublish/lib/publish.js @@ -58,7 +58,7 @@ Remove the 'private' field from the package.json to publish it.`), ...opts, query: { write: true }, }) - const newMetadata = patchMetadata(current, metadata, opts) + const newMetadata = patchMetadata(current, metadata) return npmFetch(spec.escapedName, { ...opts, method: 'PUT', diff --git a/deps/npm/node_modules/libnpmpublish/package.json b/deps/npm/node_modules/libnpmpublish/package.json index 3fd2d6d5a39..2e15c08f179 100644 --- a/deps/npm/node_modules/libnpmpublish/package.json +++ b/deps/npm/node_modules/libnpmpublish/package.json @@ -1,6 +1,6 @@ { "name": "libnpmpublish", - "version": "5.0.1", + "version": "6.0.0", "description": "Programmatic API for the bits behind npm publish and unpublish", "author": "GitHub Inc.", "main": "lib/index.js", @@ -30,7 +30,7 @@ }, "devDependencies": { "@npmcli/template-oss": "^2.4.2", - "libnpmpack": "^3.0.0", + "libnpmpack": "^4.0.0", "lodash.clonedeep": "^4.5.0", "nock": "^12.0.2", "tap": "^15" @@ -43,8 +43,8 @@ "homepage": "https://npmjs.com/package/libnpmpublish", "dependencies": { "normalize-package-data": "^3.0.2", - "npm-package-arg": "^8.1.2", - "npm-registry-fetch": "^12.0.1", + "npm-package-arg": "^9.0.0", + "npm-registry-fetch": "^13.0.0", "semver": "^7.1.3", "ssri": "^8.0.1" }, diff --git a/deps/npm/node_modules/libnpmsearch/package.json b/deps/npm/node_modules/libnpmsearch/package.json index f524426dc65..ba296930c2e 100644 --- a/deps/npm/node_modules/libnpmsearch/package.json +++ b/deps/npm/node_modules/libnpmsearch/package.json @@ -1,6 +1,6 @@ { "name": "libnpmsearch", - "version": "4.0.1", + "version": "5.0.0", "description": "Programmatic API for searching in npm and compatible registries.", "author": "GitHub Inc.", "main": "lib/index.js", @@ -41,7 +41,7 @@ "bugs": "https://github.com/npm/libnpmsearch/issues", "homepage": "https://npmjs.com/package/libnpmsearch", "dependencies": { - "npm-registry-fetch": "^12.0.1" + "npm-registry-fetch": "^13.0.0" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16" diff --git a/deps/npm/node_modules/libnpmteam/package.json b/deps/npm/node_modules/libnpmteam/package.json index 23903551aa8..1c4633accb8 100644 --- a/deps/npm/node_modules/libnpmteam/package.json +++ b/deps/npm/node_modules/libnpmteam/package.json @@ -1,7 +1,7 @@ { "name": "libnpmteam", "description": "npm Team management APIs", - "version": "3.0.1", + "version": "4.0.0", "author": "GitHub Inc.", "license": "ISC", "main": "lib/index.js", @@ -32,7 +32,7 @@ "homepage": "https://npmjs.com/package/libnpmteam", "dependencies": { "aproba": "^2.0.0", - "npm-registry-fetch": "^12.0.1" + "npm-registry-fetch": "^13.0.0" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16" diff --git a/deps/npm/node_modules/libnpmversion/README.md b/deps/npm/node_modules/libnpmversion/README.md index e82e7cd6f87..165d16a2b60 100644 --- a/deps/npm/node_modules/libnpmversion/README.md +++ b/deps/npm/node_modules/libnpmversion/README.md @@ -27,6 +27,7 @@ npmVersion(arg, { ignoreScripts: false, // do not run pre/post/version lifecycle scripts scriptShell: '/bin/bash', // shell to run lifecycle scripts in message: 'v%s', // message for tag and commit, replace %s with the version + silent: false, // passed to @npmcli/run-script to control whether it logs }).then(newVersion => { console.error('version updated!', newVersion) }) diff --git a/deps/npm/node_modules/libnpmversion/lib/enforce-clean.js b/deps/npm/node_modules/libnpmversion/lib/enforce-clean.js index 6103da9bd96..721f146221c 100644 --- a/deps/npm/node_modules/libnpmversion/lib/enforce-clean.js +++ b/deps/npm/node_modules/libnpmversion/lib/enforce-clean.js @@ -1,9 +1,10 @@ const git = require('@npmcli/git') +const log = require('proc-log') // returns true if it's cool to do git stuff // throws if it's unclean, and not forced. module.exports = async opts => { - const { force, log } = opts + const { force } = opts let hadError = false const clean = await git.isClean(opts).catch(er => { if (er.code === 'ENOGIT') { diff --git a/deps/npm/node_modules/libnpmversion/lib/index.js b/deps/npm/node_modules/libnpmversion/lib/index.js index 683941cdea4..95acd11b5e4 100644 --- a/deps/npm/node_modules/libnpmversion/lib/index.js +++ b/deps/npm/node_modules/libnpmversion/lib/index.js @@ -1,6 +1,5 @@ const readJson = require('./read-json.js') const version = require('./version.js') -const proclog = require('./proc-log.js') module.exports = async (newversion, opts = {}) => { const { @@ -15,8 +14,8 @@ module.exports = async (newversion, opts = {}) => { ignoreScripts = false, scriptShell = undefined, preid = null, - log = proclog, message = 'v%s', + silent, } = opts const pkg = opts.pkg || await readJson(path + '/package.json') @@ -35,7 +34,7 @@ module.exports = async (newversion, opts = {}) => { scriptShell, preid, pkg, - log, message, + silent, }) } diff --git a/deps/npm/node_modules/libnpmversion/lib/version.js b/deps/npm/node_modules/libnpmversion/lib/version.js index 116a375553e..12be89b040d 100644 --- a/deps/npm/node_modules/libnpmversion/lib/version.js +++ b/deps/npm/node_modules/libnpmversion/lib/version.js @@ -8,6 +8,7 @@ const readJson = require('./read-json.js') const git = require('@npmcli/git') const commit = require('./commit.js') const tag = require('./tag.js') +const log = require('proc-log') const runScript = require('@npmcli/run-script') @@ -19,7 +20,7 @@ module.exports = async (newversion, opts) => { ignoreScripts, preid, pkg, - log, + silent, } = opts const { valid, clean, inc } = semver @@ -64,7 +65,7 @@ module.exports = async (newversion, opts) => { pkg, stdio: 'inherit', event: 'preversion', - banner: log.level !== 'silent', + banner: !silent, env: { npm_old_version: current, npm_new_version: newV, @@ -98,7 +99,7 @@ module.exports = async (newversion, opts) => { pkg, stdio: 'inherit', event: 'version', - banner: log.level !== 'silent', + banner: !silent, env: { npm_old_version: current, npm_new_version: newV, @@ -125,7 +126,7 @@ module.exports = async (newversion, opts) => { pkg, stdio: 'inherit', event: 'postversion', - banner: log.level !== 'silent', + banner: !silent, env: { npm_old_version: current, npm_new_version: newV, diff --git a/deps/npm/node_modules/libnpmversion/package.json b/deps/npm/node_modules/libnpmversion/package.json index 6d7823f5d0a..e0f5097a3f2 100644 --- a/deps/npm/node_modules/libnpmversion/package.json +++ b/deps/npm/node_modules/libnpmversion/package.json @@ -1,6 +1,6 @@ { "name": "libnpmversion", - "version": "2.0.2", + "version": "3.0.0", "main": "lib/index.js", "files": [ "bin", @@ -34,9 +34,10 @@ "tap": "^15" }, "dependencies": { - "@npmcli/git": "^2.0.7", - "@npmcli/run-script": "^2.0.0", + "@npmcli/git": "^3.0.0", + "@npmcli/run-script": "^3.0.0", "json-parse-even-better-errors": "^2.3.1", + "proc-log": "^2.0.0", "semver": "^7.3.5", "stringify-package": "^1.0.1" }, diff --git a/deps/npm/node_modules/npm-package-arg/npa.js b/deps/npm/node_modules/npm-package-arg/lib/npa.js index 191befeb5e6..cc1eddaec74 100644 --- a/deps/npm/node_modules/npm-package-arg/npa.js +++ b/deps/npm/node_modules/npm-package-arg/lib/npa.js @@ -20,30 +20,32 @@ function npa (arg, where) { let name let spec if (typeof arg === 'object') { - if (arg instanceof Result && (!where || where === arg.where)) + if (arg instanceof Result && (!where || where === arg.where)) { return arg - else if (arg.name && arg.rawSpec) + } else if (arg.name && arg.rawSpec) { return npa.resolve(arg.name, arg.rawSpec, where || arg.where) - else + } else { return npa(arg.raw, where || arg.where) + } } const nameEndsAt = arg[0] === '@' ? arg.slice(1).indexOf('@') + 1 : arg.indexOf('@') const namePart = nameEndsAt > 0 ? arg.slice(0, nameEndsAt) : arg - if (isURL.test(arg)) + if (isURL.test(arg)) { spec = arg - else if (isGit.test(arg)) + } else if (isGit.test(arg)) { spec = `git+ssh://${arg}` - else if (namePart[0] !== '@' && (hasSlashes.test(namePart) || isFilename.test(namePart))) + } else if (namePart[0] !== '@' && (hasSlashes.test(namePart) || isFilename.test(namePart))) { spec = arg - else if (nameEndsAt > 0) { + } else if (nameEndsAt > 0) { name = namePart spec = arg.slice(nameEndsAt + 1) } else { const valid = validatePackageName(arg) - if (valid.validForOldPackages) + if (valid.validForOldPackages) { name = arg - else + } else { spec = arg + } } return resolve(name, spec, where, arg) } @@ -58,35 +60,41 @@ function resolve (name, spec, where, arg) { fromArgument: arg != null, }) - if (name) + if (name) { res.setName(name) + } - if (spec && (isFilespec.test(spec) || /^file:/i.test(spec))) + if (spec && (isFilespec.test(spec) || /^file:/i.test(spec))) { return fromFile(res, where) - else if (spec && /^npm:/i.test(spec)) + } else if (spec && /^npm:/i.test(spec)) { return fromAlias(res, where) + } const hosted = HostedGit.fromUrl(spec, { noGitPlus: true, noCommittish: true, }) - if (hosted) + if (hosted) { return fromHostedGit(res, hosted) - else if (spec && isURL.test(spec)) + } else if (spec && isURL.test(spec)) { return fromURL(res) - else if (spec && (hasSlashes.test(spec) || isFilename.test(spec))) + } else if (spec && (hasSlashes.test(spec) || isFilename.test(spec))) { return fromFile(res, where) - else + } else { return fromRegistry(res) + } } -function invalidPackageName (name, valid) { - const err = new Error(`Invalid package name "${name}": ${valid.errors.join('; ')}`) +function invalidPackageName (name, valid, raw) { + // eslint-disable-next-line max-len + const err = new Error(`Invalid package name "${name}" of package "${raw}": ${valid.errors.join('; ')}.`) err.code = 'EINVALIDPACKAGENAME' return err } -function invalidTagName (name) { - const err = new Error(`Invalid tag name "${name}": Tags may not have any characters that encodeURIComponent encodes.`) + +function invalidTagName (name, raw) { + // eslint-disable-next-line max-len + const err = new Error(`Invalid tag name "${name}" of package "${raw}": Tags may not have any characters that encodeURIComponent encodes.`) err.code = 'EINVALIDTAGNAME' return err } @@ -95,10 +103,11 @@ function Result (opts) { this.type = opts.type this.registry = opts.registry this.where = opts.where - if (opts.raw == null) + if (opts.raw == null) { this.raw = opts.name ? opts.name + '@' + opts.rawSpec : opts.rawSpec - else + } else { this.raw = opts.raw + } this.name = undefined this.escapedName = undefined @@ -106,8 +115,9 @@ function Result (opts) { this.rawSpec = opts.rawSpec == null ? '' : opts.rawSpec this.saveSpec = opts.saveSpec this.fetchSpec = opts.fetchSpec - if (opts.name) + if (opts.name) { this.setName(opts.name) + } this.gitRange = opts.gitRange this.gitCommittish = opts.gitCommittish this.hosted = opts.hosted @@ -115,8 +125,9 @@ function Result (opts) { Result.prototype.setName = function (name) { const valid = validatePackageName(name) - if (!valid.validForOldPackages) - throw invalidPackageName(name, valid) + if (!valid.validForOldPackages) { + throw invalidPackageName(name, valid, this.raw) + } this.name = name this.scope = name[0] === '@' ? name.slice(0, name.indexOf('/')) : undefined @@ -127,11 +138,13 @@ Result.prototype.setName = function (name) { Result.prototype.toString = function () { const full = [] - if (this.name != null && this.name !== '') + if (this.name != null && this.name !== '') { full.push(this.name) + } const spec = this.saveSpec || this.fetchSpec || this.rawSpec - if (spec != null && spec !== '') + if (spec != null && spec !== '') { full.push(spec) + } return full.length ? full.join('@') : this.raw } @@ -145,21 +158,23 @@ function setGitCommittish (res, committish) { if (committish != null && committish.length >= 7 && committish.slice(0, 7) === 'semver:') { res.gitRange = decodeURIComponent(committish.slice(7)) res.gitCommittish = null - } else + } else { res.gitCommittish = committish === '' ? null : committish + } return res } function fromFile (res, where) { - if (!where) + if (!where) { where = process.cwd() + } res.type = isFilename.test(res.rawSpec) ? 'file' : 'directory' res.where = where // always put the '/' on where when resolving urls, or else // file:foo from /path/to/bar goes to /path/to/foo, when we want - // it to be /path/to/foo/bar + // it to be /path/to/bar/foo let specUrl let resolvedUrl @@ -225,10 +240,11 @@ function fromFile (res, where) { if (/^\/~(\/|$)/.test(specPath)) { res.saveSpec = `file:${specPath.substr(1)}` resolvedPath = path.resolve(homedir(), specPath.substr(3)) - } else if (!path.isAbsolute(rawNoPrefix)) + } else if (!path.isAbsolute(rawNoPrefix)) { res.saveSpec = `file:${path.relative(where, resolvedPath)}` - else + } else { res.saveSpec = `file:${path.resolve(resolvedPath)}` + } res.fetchSpec = path.resolve(where, resolvedPath) return res @@ -311,11 +327,13 @@ function fromURL (res) { function fromAlias (res, where) { const subSpec = npa(res.rawSpec.substr(4), where) - if (subSpec.type === 'alias') + if (subSpec.type === 'alias') { throw new Error('nested aliases not supported') + } - if (!subSpec.registry) + if (!subSpec.registry) { throw new Error('aliases only work for registry deps') + } res.subSpec = subSpec res.registry = true @@ -334,14 +352,14 @@ function fromRegistry (res) { res.fetchSpec = spec const version = semver.valid(spec, true) const range = semver.validRange(spec, true) - if (version) + if (version) { res.type = 'version' - else if (range) + } else if (range) { res.type = 'range' - else { - if (encodeURIComponent(spec) !== spec) - throw invalidTagName(spec) - + } else { + if (encodeURIComponent(spec) !== spec) { + throw invalidTagName(spec, res.raw) + } res.type = 'tag' } return res diff --git a/deps/npm/node_modules/npm-package-arg/package.json b/deps/npm/node_modules/npm-package-arg/package.json index bf5f597e6d8..b0821312a7f 100644 --- a/deps/npm/node_modules/npm-package-arg/package.json +++ b/deps/npm/node_modules/npm-package-arg/package.json @@ -1,22 +1,23 @@ { "name": "npm-package-arg", - "version": "8.1.5", + "version": "9.0.0", "description": "Parse the things that can be arguments to `npm install`", - "main": "npa.js", + "main": "./lib/npa.js", "directories": { "test": "test" }, "files": [ - "npa.js" + "bin", + "lib" ], "dependencies": { - "hosted-git-info": "^4.0.1", - "semver": "^7.3.4", + "hosted-git-info": "^4.1.0", + "semver": "^7.3.5", "validate-npm-package-name": "^3.0.0" }, "devDependencies": { - "@npmcli/lint": "^1.0.1", - "tap": "^15.0.9" + "@npmcli/template-oss": "^2.7.1", + "tap": "^15.1.6" }, "scripts": { "preversion": "npm test", @@ -25,22 +26,30 @@ "test": "tap", "snap": "tap", "npmclilint": "npmcli-lint", - "lint": "npm run npmclilint -- \"*.*js\" \"test/**/*.*js\"", + "lint": "eslint '**/*.js'", "lintfix": "npm run lint -- --fix", - "posttest": "npm run lint --", - "postsnap": "npm run lintfix --" + "posttest": "npm run lint", + "postsnap": "npm run lintfix --", + "postlint": "npm-template-check", + "template-copy": "npm-template-copy --force" }, "repository": { "type": "git", "url": "https://github.com/npm/npm-package-arg" }, - "author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)", + "author": "GitHub Inc.", "license": "ISC", "bugs": { "url": "https://github.com/npm/npm-package-arg/issues" }, "homepage": "https://github.com/npm/npm-package-arg", "engines": { - "node": ">=10" + "node": "^12.13.0 || ^14.15.0 || >=16" + }, + "tap": { + "branches": 97 + }, + "templateOSS": { + "version": "2.7.1" } } diff --git a/deps/npm/node_modules/npm-pick-manifest/index.js b/deps/npm/node_modules/npm-pick-manifest/lib/index.js index 695450524dc..f2934e9ca18 100644 --- a/deps/npm/node_modules/npm-pick-manifest/index.js +++ b/deps/npm/node_modules/npm-pick-manifest/lib/index.js @@ -34,7 +34,7 @@ const pickManifest = (packument, wanted, opts) => { npmVersion = null, includeStaged = false, avoid = null, - avoidStrict = false + avoidStrict = false, } = opts const { name, time: verTimes } = packument @@ -43,7 +43,7 @@ const pickManifest = (packument, wanted, opts) => { if (avoidStrict) { const looseOpts = { ...opts, - avoidStrict: false + avoidStrict: false, } const result = pickManifest(packument, wanted, looseOpts) @@ -56,7 +56,7 @@ const pickManifest = (packument, wanted, opts) => { return { ...caret, _outsideDependencyRange: true, - _isSemVerMajor: false + _isSemVerMajor: false, } } @@ -65,7 +65,7 @@ const pickManifest = (packument, wanted, opts) => { return { ...star, _outsideDependencyRange: true, - _isSemVerMajor: true + _isSemVerMajor: true, } } @@ -75,7 +75,7 @@ const pickManifest = (packument, wanted, opts) => { wanted, avoid, before, - versions: Object.keys(versions) + versions: Object.keys(versions), }) } @@ -143,7 +143,7 @@ const pickManifest = (packument, wanted, opts) => { type, wanted, before, - versions: Object.keys(versions) + versions: Object.keys(versions), }) } @@ -213,6 +213,6 @@ module.exports = (packument, wanted, opts = {}) => { versions: Object.keys(packument.versions), name, distTags: packument['dist-tags'], - defaultTag + defaultTag, }) } diff --git a/deps/npm/node_modules/npm-pick-manifest/package.json b/deps/npm/node_modules/npm-pick-manifest/package.json index 4b4866cbf88..ece1d174dbc 100644 --- a/deps/npm/node_modules/npm-pick-manifest/package.json +++ b/deps/npm/node_modules/npm-pick-manifest/package.json @@ -1,19 +1,24 @@ { "name": "npm-pick-manifest", - "version": "6.1.1", + "version": "7.0.0", "description": "Resolves a matching manifest from a package metadata document according to standard npm semver resolution rules.", - "main": "index.js", + "main": "./lib", "files": [ - "*.js" + "bin", + "lib" ], "scripts": { "coverage": "tap", - "lint": "standard", + "lint": "eslint '**/*.js'", "test": "tap", "posttest": "npm run lint", "preversion": "npm test", "postversion": "npm publish", - "prepublishOnly": "git push origin --follow-tags" + "prepublishOnly": "git push origin --follow-tags", + "postlint": "npm-template-check", + "template-copy": "npm-template-copy --force", + "lintfix": "npm run lint -- --fix", + "snap": "tap" }, "repository": "https://github.com/npm/npm-pick-manifest", "keywords": [ @@ -21,23 +26,25 @@ "semver", "package manager" ], - "author": { - "name": "Kat Marchán", - "email": "kzm@sykosomatic.org", - "twitter": "maybekatz" - }, + "author": "GitHub Inc.", "license": "ISC", "dependencies": { "npm-install-checks": "^4.0.0", "npm-normalize-package-bin": "^1.0.1", - "npm-package-arg": "^8.1.2", - "semver": "^7.3.4" + "npm-package-arg": "^9.0.0", + "semver": "^7.3.5" }, "devDependencies": { - "standard": "^14.3.1", - "tap": "^14.11.0" + "@npmcli/template-oss": "^2.7.1", + "tap": "^15.1.6" }, "tap": { "check-coverage": true + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + }, + "templateOSS": { + "version": "2.7.1" } } diff --git a/deps/npm/node_modules/npm-profile/lib/index.js b/deps/npm/node_modules/npm-profile/lib/index.js index aa322e37f48..74a8084292a 100644 --- a/deps/npm/node_modules/npm-profile/lib/index.js +++ b/deps/npm/node_modules/npm-profile/lib/index.js @@ -4,13 +4,14 @@ const fetch = require('npm-registry-fetch') const { HttpErrorBase } = require('npm-registry-fetch/lib/errors') const os = require('os') const { URL } = require('url') +const log = require('proc-log') // try loginWeb, catch the "not supported" message and fall back to couch const login = (opener, prompter, opts = {}) => { const { creds } = opts return loginWeb(opener, opts).catch(er => { if (er instanceof WebLoginNotSupported) { - process.emit('log', 'verbose', 'web login not supported, trying couch') + log.verbose('web login not supported, trying couch') return prompter(creds) .then(data => loginCouch(data.username, data.password, opts)) } else { @@ -23,7 +24,7 @@ const adduser = (opener, prompter, opts = {}) => { const { creds } = opts return adduserWeb(opener, opts).catch(er => { if (er instanceof WebLoginNotSupported) { - process.emit('log', 'verbose', 'web adduser not supported, trying couch') + log.verbose('web adduser not supported, trying couch') return prompter(creds) .then(data => adduserCouch(data.username, data.email, data.password, opts)) } else { @@ -33,12 +34,12 @@ const adduser = (opener, prompter, opts = {}) => { } const adduserWeb = (opener, opts = {}) => { - process.emit('log', 'verbose', 'web adduser', 'before first POST') + log.verbose('web adduser', 'before first POST') return webAuth(opener, opts, { create: true }) } const loginWeb = (opener, opts = {}) => { - process.emit('log', 'verbose', 'web login', 'before first POST') + log.verbose('web login', 'before first POST') return webAuth(opener, opts, {}) } @@ -62,13 +63,13 @@ const webAuth = (opener, opts, body) => { return Promise.all([res, res.json()]) }).then(([res, content]) => { const { doneUrl, loginUrl } = content - process.emit('log', 'verbose', 'web auth', 'got response', content) + log.verbose('web auth', 'got response', content) if (!isValidUrl(doneUrl) || !isValidUrl(loginUrl)) { throw new WebLoginInvalidResponse('POST', res, content) } return content }).then(({ doneUrl, loginUrl }) => { - process.emit('log', 'verbose', 'web auth', 'opening url pair') + log.verbose('web auth', 'opening url pair') return opener(loginUrl).then( () => webAuthCheckLogin(doneUrl, { ...opts, cache: false }) ) @@ -121,7 +122,7 @@ const adduserCouch = (username, email, password, opts = {}) => { ...body, password: 'XXXXX', } - process.emit('log', 'verbose', 'adduser', 'before first PUT', logObj) + log.verbose('adduser', 'before first PUT', logObj) const target = '/-/user/org.couchdb.user:' + encodeURIComponent(username) return fetch.json(target, { @@ -147,9 +148,9 @@ const loginCouch = (username, password, opts = {}) => { ...body, password: 'XXXXX', } - process.emit('log', 'verbose', 'login', 'before first PUT', logObj) + log.verbose('login', 'before first PUT', logObj) - const target = '-/user/org.couchdb.user:' + encodeURIComponent(username) + const target = '/-/user/org.couchdb.user:' + encodeURIComponent(username) return fetch.json(target, { ...opts, method: 'PUT', diff --git a/deps/npm/node_modules/npm-profile/package.json b/deps/npm/node_modules/npm-profile/package.json index 8745c2559f3..68b04bba6d9 100644 --- a/deps/npm/node_modules/npm-profile/package.json +++ b/deps/npm/node_modules/npm-profile/package.json @@ -1,12 +1,13 @@ { "name": "npm-profile", - "version": "6.0.0", + "version": "6.0.2", "description": "Library for updating an npmjs.com profile", "keywords": [], "author": "GitHub Inc.", "license": "ISC", "dependencies": { - "npm-registry-fetch": "^12.0.0" + "npm-registry-fetch": "^13.0.0", + "proc-log": "^2.0.0" }, "main": "./lib/index.js", "repository": { @@ -18,9 +19,9 @@ "lib" ], "devDependencies": { - "@npmcli/template-oss": "^2.5.1", - "nock": "^13.2.1", - "tap": "^15.1.5" + "@npmcli/template-oss": "^2.7.1", + "nock": "^13.2.4", + "tap": "^15.1.6" }, "scripts": { "preversion": "npm test", @@ -31,7 +32,8 @@ "snap": "tap", "lint": "eslint '**/*.js'", "postlint": "npm-template-check", - "lintfix": "npm run lint -- --fix" + "lintfix": "npm run lint -- --fix", + "template-copy": "npm-template-copy --force" }, "tap": { "check-coverage": true @@ -40,6 +42,6 @@ "node": "^12.13.0 || ^14.15.0 || >=16" }, "templateOSS": { - "version": "2.5.1" + "version": "2.7.1" } } diff --git a/deps/npm/node_modules/npm-registry-fetch/lib/check-response.js b/deps/npm/node_modules/npm-registry-fetch/lib/check-response.js index 26043a96de8..872ec8a8886 100644 --- a/deps/npm/node_modules/npm-registry-fetch/lib/check-response.js +++ b/deps/npm/node_modules/npm-registry-fetch/lib/check-response.js @@ -3,23 +3,24 @@ const errors = require('./errors.js') const { Response } = require('minipass-fetch') const defaultOpts = require('./default-opts.js') +const log = require('proc-log') /* eslint-disable-next-line max-len */ const moreInfoUrl = 'https://github.com/npm/cli/wiki/No-auth-for-URI,-but-auth-present-for-scoped-registry' const checkResponse = - async ({ method, uri, res, registry, startTime, auth, opts }) => { + async ({ method, uri, res, startTime, auth, opts }) => { opts = { ...defaultOpts, ...opts } if (res.headers.has('npm-notice') && !res.headers.has('x-local-cache')) { - opts.log.notice('', res.headers.get('npm-notice')) + log.notice('', res.headers.get('npm-notice')) } if (res.status >= 400) { - logRequest(method, res, startTime, opts) + logRequest(method, res, startTime) if (auth && auth.scopeAuthKey && !auth.token && !auth.auth) { // we didn't have auth for THIS request, but we do have auth for // requests to the registry indicated by the spec's scope value. // Warn the user. - opts.log.warn('registry', `No auth for URI, but auth present for scoped registry. + log.warn('registry', `No auth for URI, but auth present for scoped registry. URI: ${uri} Scoped Registry Key: ${auth.scopeAuthKey} @@ -38,7 +39,7 @@ More info here: ${moreInfoUrl}`) } module.exports = checkResponse -function logRequest (method, res, startTime, opts) { +function logRequest (method, res, startTime) { const elapsedTime = Date.now() - startTime const attempt = res.headers.get('x-fetch-attempts') const attemptStr = attempt && attempt > 1 ? ` attempt #${attempt}` : '' @@ -58,7 +59,7 @@ function logRequest (method, res, startTime, opts) { urlStr = res.url } - opts.log.http( + log.http( 'fetch', `${method.toUpperCase()} ${res.status} ${urlStr} ${elapsedTime}ms${attemptStr}${cacheStr}` ) diff --git a/deps/npm/node_modules/npm-registry-fetch/lib/default-opts.js b/deps/npm/node_modules/npm-registry-fetch/lib/default-opts.js index e8e8221da4a..f0847f0b507 100644 --- a/deps/npm/node_modules/npm-registry-fetch/lib/default-opts.js +++ b/deps/npm/node_modules/npm-registry-fetch/lib/default-opts.js @@ -1,6 +1,5 @@ const pkg = require('../package.json') module.exports = { - log: require('./silentlog.js'), maxSockets: 12, method: 'GET', registry: 'https://registry.npmjs.org/', diff --git a/deps/npm/node_modules/npm-registry-fetch/package.json b/deps/npm/node_modules/npm-registry-fetch/package.json index f1aab5c7bb4..9349619e99e 100644 --- a/deps/npm/node_modules/npm-registry-fetch/package.json +++ b/deps/npm/node_modules/npm-registry-fetch/package.json @@ -1,6 +1,6 @@ { "name": "npm-registry-fetch", - "version": "12.0.2", + "version": "13.0.0", "description": "Fetch-based http client for use with npm registry APIs", "main": "lib", "files": [ @@ -31,18 +31,18 @@ "author": "GitHub Inc.", "license": "ISC", "dependencies": { - "make-fetch-happen": "^10.0.1", + "make-fetch-happen": "^10.0.2", "minipass": "^3.1.6", "minipass-fetch": "^1.4.1", "minipass-json-stream": "^1.0.1", "minizlib": "^2.1.2", - "npm-package-arg": "^8.1.5" + "npm-package-arg": "^9.0.0", + "proc-log": "^2.0.0" }, "devDependencies": { "@npmcli/template-oss": "^2.7.1", "cacache": "^15.3.0", "nock": "^13.2.4", - "npmlog": "^6.0.0", "require-inject": "^1.4.4", "ssri": "^8.0.1", "tap": "^15.1.6" diff --git a/deps/npm/node_modules/pacote/README.md b/deps/npm/node_modules/pacote/README.md index 2328c0a4a55..11822dbb488 100644 --- a/deps/npm/node_modules/pacote/README.md +++ b/deps/npm/node_modules/pacote/README.md @@ -146,10 +146,6 @@ resolved, and other properties, as they are determined. `0o666`. See "Extracted File Modes" below. * `dmode` Minimum permission mode for extracted directories. Defaults to `0o777`. See "Extracted File Modes" below. -* `log` A logger object with methods for various log levels. Typically, - this will be [`npmlog`](http://npm.im/npmlog) in the npm CLI use case, - but if not specified, the default is a logger that emits `'log'` events - on the `process` object. * `preferOnline` Prefer to revalidate cache entries, even when it would not be strictly necessary. Default `false`. * `before` When picking a manifest from a packument, only consider @@ -162,11 +158,16 @@ resolved, and other properties, as they are determined. including information not strictly required for installation (author, description, etc.) Defaults to `true` when `before` is set, since the version publish time is part of the extended packument metadata. +* `fullReadJson` Use the slower `read-package-json` package insted of + `read-package-json-fast` in order to include extra fields like "readme" in + the manifest. Defaults to `false`. * `packumentCache` For registry packuments only, you may provide a `Map` object which will be used to cache packument requests between pacote calls. This allows you to easily avoid hitting the registry multiple times (even just to validate the cache) for a given packument, since it is unlikely to change in the span of a single command. +* `silent` A boolean that determines whether the banner is displayed + when calling `@npmcli/run-script`. ### Advanced API diff --git a/deps/npm/node_modules/pacote/lib/bin.js b/deps/npm/node_modules/pacote/lib/bin.js index c0409be1ff0..369304adaa8 100755 --- a/deps/npm/node_modules/pacote/lib/bin.js +++ b/deps/npm/node_modules/pacote/lib/bin.js @@ -4,26 +4,28 @@ const run = conf => { const pacote = require('../') switch (conf._[0]) { case 'resolve': - if (conf.long) + case 'manifest': + case 'packument': + if (conf._[0] === 'resolve' && conf.long) { return pacote.manifest(conf._[1], conf).then(mani => ({ resolved: mani._resolved, integrity: mani._integrity, from: mani._from, })) - case 'manifest': - case 'packument': + } return pacote[conf._[0]](conf._[1], conf) case 'tarball': if (!conf._[2] || conf._[2] === '-') { return pacote.tarball.stream(conf._[1], stream => { stream.pipe(conf.testStdout || - /* istanbul ignore next */ process.stdout) + /* istanbul ignore next */ process.stdout) // make sure it resolves something falsey return stream.promise().then(() => {}) }, conf) - } else + } else { return pacote.tarball.file(conf._[1], conf._[2], conf) + } case 'extract': return pacote.extract(conf._[1], conf._[2], conf) @@ -81,8 +83,9 @@ const pretty = (conf, result) => let addedLogListener = false const main = args => { const conf = parse(args) - if (conf.help || conf.h) + if (conf.help || conf.h) { return console.log(usage()) + } if (!addedLogListener) { process.on('log', console.error) @@ -121,14 +124,14 @@ const parse = args => { } let dashdash = false args.forEach(arg => { - if (dashdash) + if (dashdash) { conf._.push(arg) - else if (arg === '--') + } else if (arg === '--') { dashdash = true - else if (arg === '-h') + } else if (arg === '-h') { conf.help = true - else if (/^--/.test(arg)) { - const {key, value} = parseArg(arg) + } else if (/^--/.test(arg)) { + const { key, value } = parseArg(arg) conf[key] = value } else { conf._.push(arg) @@ -137,9 +140,9 @@ const parse = args => { return conf } -if (module === require.main) +if (module === require.main) { main(process.argv.slice(2)) -else +} else { module.exports = { main, run, @@ -147,3 +150,4 @@ else parseArg, parse, } +} diff --git a/deps/npm/node_modules/pacote/lib/dir.js b/deps/npm/node_modules/pacote/lib/dir.js index 0d3a00d95ae..598b029f7ad 100644 --- a/deps/npm/node_modules/pacote/lib/dir.js +++ b/deps/npm/node_modules/pacote/lib/dir.js @@ -1,14 +1,12 @@ const Fetcher = require('./fetcher.js') const FileFetcher = require('./file.js') -const cacache = require('cacache') const Minipass = require('minipass') -const { promisify } = require('util') -const readPackageJson = require('read-package-json-fast') const tarCreateOptions = require('./util/tar-create-options.js') const packlist = require('npm-packlist') const tar = require('tar') const _prepareDir = Symbol('_prepareDir') const { resolve } = require('path') +const _readPackageJson = Symbol.for('package.Fetcher._readPackageJson') const runScript = require('@npmcli/run-script') @@ -31,18 +29,18 @@ class DirFetcher extends Fetcher { [_prepareDir] () { return this.manifest().then(mani => { - if (!mani.scripts || !mani.scripts.prepare) + if (!mani.scripts || !mani.scripts.prepare) { return + } // we *only* run prepare. // pre/post-pack is run by the npm CLI for publish and pack, // but this function is *also* run when installing git deps const stdio = this.opts.foregroundScripts ? 'inherit' : 'pipe' - // hide the banner if loglevel is silent, or if prepare running + // hide the banner if silent opt is passed in, or if prepare running // in the background. - const banner = this.opts.log && this.opts.log.level === 'silent' ? false - : stdio === 'inherit' + const banner = this.opts.silent ? false : stdio === 'inherit' return runScript({ pkg: mani, @@ -76,10 +74,11 @@ class DirFetcher extends Fetcher { } manifest () { - if (this.package) + if (this.package) { return Promise.resolve(this.package) + } - return readPackageJson(this.resolved + '/package.json') + return this[_readPackageJson](this.resolved + '/package.json') .then(mani => this.package = { ...mani, _integrity: this.integrity && String(this.integrity), diff --git a/deps/npm/node_modules/pacote/lib/fetcher.js b/deps/npm/node_modules/pacote/lib/fetcher.js index 69dd025b7bd..78b13a9637c 100644 --- a/deps/npm/node_modules/pacote/lib/fetcher.js +++ b/deps/npm/node_modules/pacote/lib/fetcher.js @@ -9,12 +9,15 @@ const { promisify } = require('util') const { basename, dirname } = require('path') const rimraf = promisify(require('rimraf')) const tar = require('tar') -const procLog = require('./util/proc-log.js') +const log = require('proc-log') const retry = require('promise-retry') const fsm = require('fs-minipass') const cacache = require('cacache') const isPackageBin = require('./util/is-package-bin.js') +const removeTrailingSlashes = require('./util/trailing-slashes.js') const getContents = require('@npmcli/installed-package-contents') +const readPackageJsonFast = require('read-package-json-fast') +const readPackageJson = promisify(require('read-package-json')) // we only change ownership on unix platforms, and only if uid is 0 const selfOwner = process.getuid && process.getuid() === 0 ? { @@ -41,11 +44,13 @@ const _assertType = Symbol('_assertType') const _tarballFromCache = Symbol('_tarballFromCache') const _tarballFromResolved = Symbol.for('pacote.Fetcher._tarballFromResolved') const _cacheFetches = Symbol.for('pacote.Fetcher._cacheFetches') +const _readPackageJson = Symbol.for('package.Fetcher._readPackageJson') class FetcherBase { constructor (spec, opts) { - if (!opts || typeof opts !== 'object') + if (!opts || typeof opts !== 'object') { throw new TypeError('options object is required') + } this.spec = npa(spec, opts.where) this.allowGitIgnore = !!opts.allowGitIgnore @@ -62,7 +67,7 @@ class FetcherBase { this[_assertType]() // clone the opts object so that others aren't upset when we mutate it // by adding/modifying the integrity value. - this.opts = {...opts} + this.opts = { ...opts } this.cache = opts.cache || cacheDir() this.resolved = opts.resolved || null @@ -72,8 +77,9 @@ class FetcherBase { // is no longer strong enough. this.defaultIntegrityAlgorithm = opts.defaultIntegrityAlgorithm || 'sha512' - if (typeof opts.integrity === 'string') + if (typeof opts.integrity === 'string') { this.opts.integrity = ssri.parse(opts.integrity) + } this.package = null this.type = this.constructor.name @@ -85,7 +91,6 @@ class FetcherBase { // the process's umask setting do its job. but if configured, we do // respect it. this.umask = opts.umask || 0 - this.log = opts.log || procLog this.preferOnline = !!opts.preferOnline this.preferOffline = !!opts.preferOffline @@ -93,10 +98,15 @@ class FetcherBase { this.before = opts.before this.fullMetadata = this.before ? true : !!opts.fullMetadata + this.fullReadJson = !!opts.fullReadJson + if (this.fullReadJson) { + this[_readPackageJson] = readPackageJson + } else { + this[_readPackageJson] = readPackageJsonFast + } this.defaultTag = opts.defaultTag || 'latest' - this.registry = (opts.registry || 'https://registry.npmjs.org') - .replace(/\/+$/, '') + this.registry = removeTrailingSlashes(opts.registry || 'https://registry.npmjs.org') // command to run 'prepare' scripts on directories and git dirs // To use pacote with yarn, for example, set npmBin to 'yarn' @@ -104,7 +114,7 @@ class FetcherBase { this.npmBin = opts.npmBin || 'npm' // command to install deps for preparing - this.npmInstallCmd = opts.npmInstallCmd || [ 'install', '--force' ] + this.npmInstallCmd = opts.npmInstallCmd || ['install', '--force'] // XXX fill more of this in based on what we know from this.opts // we explicitly DO NOT fill in --tag, though, since we are often @@ -132,19 +142,22 @@ class FetcherBase { get integrity () { return this.opts.integrity || null } + set integrity (i) { - if (!i) + if (!i) { return + } i = ssri.parse(i) const current = this.opts.integrity // do not ever update an existing hash value, but do // merge in NEW algos and hashes that we don't already have. - if (current) + if (current) { current.merge(i) - else + } else { this.opts.integrity = i + } } get notImplementedError () { @@ -212,8 +225,9 @@ class FetcherBase { stream.on('error', er => istream.emit('error', er)) // if not caching this, just pipe through to the istream and return it - if (!this.opts.cache || !this[_cacheFetches]) + if (!this.opts.cache || !this[_cacheFetches]) { return stream.pipe(istream) + } // we have to return a stream that gets ALL the data, and proxies errors, // but then pipe from the original tarball stream into the cache as well. @@ -288,39 +302,42 @@ class FetcherBase { this.integrity && this.resolved ) ? streamHandler(this[_tarballFromCache]()).catch(er => { - if (this.isDataCorruptionError(er)) { - this.log.warn('tarball', `cached data for ${ + if (this.isDataCorruptionError(er)) { + log.warn('tarball', `cached data for ${ this.spec } (${this.integrity}) seems to be corrupted. Refreshing cache.`) - return this.cleanupCached().then(() => { throw er }) - } else { - throw er - } - }) : null + return this.cleanupCached().then(() => { + throw er + }) + } else { + throw er + } + }) : null const fromResolved = er => { if (er) { - if (!this.isRetriableError(er)) + if (!this.isRetriableError(er)) { throw er - this.log.silly('tarball', `no local data for ${ + } + log.silly('tarball', `no local data for ${ this.spec }. Extracting by manifest.`) } return this.resolve().then(() => retry(tryAgain => streamHandler(this[_istream](this[_tarballFromResolved]())) - .catch(er => { + .catch(er => { // Most likely data integrity. A cache ENOENT error is unlikely // here, since we're definitely not reading from the cache, but it // IS possible that the fetch subsystem accessed the cache, and the // entry got blown away or something. Try one more time to be sure. - if (this.isRetriableError(er)) { - this.log.warn('tarball', `tarball data for ${ + if (this.isRetriableError(er)) { + log.warn('tarball', `tarball data for ${ this.spec } (${this.integrity}) seems to be corrupted. Trying again.`) - return this.cleanupCached().then(() => tryAgain(er)) - } - throw er - }), { retries: 1, minTimeout: 0, maxTimeout: 0 })) + return this.cleanupCached().then(() => tryAgain(er)) + } + throw er + }), { retries: 1, minTimeout: 0, maxTimeout: 0 })) } return fromCache ? fromCache.catch(fromResolved) : fromResolved() @@ -337,7 +354,7 @@ class FetcherBase { } [_empty] (path) { - return getContents({path, depth: 1}).then(contents => Promise.all( + return getContents({ path, depth: 1 }).then(contents => Promise.all( contents.map(entry => rimraf(entry)))) } @@ -350,7 +367,7 @@ class FetcherBase { // parent folder (rare, but probably happens sometimes). return !inferOwner ? this[_empty](dest).then(() => mkdirp(dest)).then(() => ({})) - : inferOwner(dest).then(({uid, gid}) => + : inferOwner(dest).then(({ uid, gid }) => this[_empty](dest) .then(() => mkdirp(dest)) .then(made => { @@ -360,13 +377,13 @@ class FetcherBase { const dir = made || /* istanbul ignore next */ dest return this[_chown](dir, uid, gid) }) - .then(() => ({uid, gid}))) + .then(() => ({ uid, gid }))) } // extraction is always the same. the only difference is where // the tarball comes from. extract (dest) { - return this[_mkdir](dest).then(({uid, gid}) => + return this[_mkdir](dest).then(({ uid, gid }) => this.tarballStream(tarball => this[_extract](dest, tarball, uid, gid))) } @@ -389,7 +406,7 @@ class FetcherBase { const dir = dirname(dest) return !inferOwner ? mkdirp(dir).then(() => this[_toFile](dest)) - : inferOwner(dest).then(({uid, gid}) => + : inferOwner(dest).then(({ uid, gid }) => mkdirp(dir).then(made => this[_toFile](dest) .then(res => this[_chown](made || dir, uid, gid) .then(() => res)))) @@ -407,8 +424,8 @@ class FetcherBase { }) extractor.on('error', er => { - this.log.warn('tar', er.message) - this.log.silly('tar', er) + log.warn('tar', er.message) + log.silly('tar', er) reject(er) }) @@ -439,21 +456,23 @@ class FetcherBase { noChmod: true, noMtime: true, filter: (name, entry) => { - if (/Link$/.test(entry.type)) + if (/Link$/.test(entry.type)) { return false + } entry.mode = this[_entryMode](entry.path, entry.mode, entry.type) // this replicates the npm pack behavior where .gitignore files // are treated like .npmignore files, but only if a .npmignore // file is not present. if (/File$/.test(entry.type)) { const base = basename(entry.path) - if (base === '.npmignore') + if (base === '.npmignore') { sawIgnores.add(entry.path) - else if (base === '.gitignore' && !this.allowGitIgnore) { + } else if (base === '.gitignore' && !this.allowGitIgnore) { // rename, but only if there's not already a .npmignore const ni = entry.path.replace(/\.gitignore$/, '.npmignore') - if (sawIgnores.has(ni)) + if (sawIgnores.has(ni)) { return false + } entry.path = ni } return true @@ -462,8 +481,8 @@ class FetcherBase { strip: 1, onwarn: /* istanbul ignore next - we can trust that tar logs */ (code, msg, data) => { - this.log.warn('tar', code, msg) - this.log.silly('tar', code, msg, data) + log.warn('tar', code, msg) + log.silly('tar', code, msg, data) }, uid, gid, diff --git a/deps/npm/node_modules/pacote/lib/file.js b/deps/npm/node_modules/pacote/lib/file.js index d5c601aabd8..bf99bb86e35 100644 --- a/deps/npm/node_modules/pacote/lib/file.js +++ b/deps/npm/node_modules/pacote/lib/file.js @@ -1,12 +1,11 @@ const Fetcher = require('./fetcher.js') const fsm = require('fs-minipass') const cacache = require('cacache') -const { promisify } = require('util') -const readPackageJson = require('read-package-json-fast') const _tarballFromResolved = Symbol.for('pacote.Fetcher._tarballFromResolved') const _exeBins = Symbol('_exeBins') const { resolve } = require('path') const fs = require('fs') +const _readPackageJson = Symbol.for('package.Fetcher._readPackageJson') class FileFetcher extends Fetcher { constructor (spec, opts) { @@ -20,24 +19,26 @@ class FileFetcher extends Fetcher { } manifest () { - if (this.package) + if (this.package) { return Promise.resolve(this.package) + } // have to unpack the tarball for this. return cacache.tmp.withTmp(this.cache, this.opts, dir => this.extract(dir) - .then(() => readPackageJson(dir + '/package.json')) - .then(mani => this.package = { - ...mani, - _integrity: this.integrity && String(this.integrity), - _resolved: this.resolved, - _from: this.from, - })) + .then(() => this[_readPackageJson](dir + '/package.json')) + .then(mani => this.package = { + ...mani, + _integrity: this.integrity && String(this.integrity), + _resolved: this.resolved, + _from: this.from, + })) } [_exeBins] (pkg, dest) { - if (!pkg.bin) + if (!pkg.bin) { return Promise.resolve() + } return Promise.all(Object.keys(pkg.bin).map(k => new Promise(res => { const script = resolve(dest, pkg.bin[k]) @@ -46,11 +47,13 @@ class FileFetcher extends Fetcher { // something, we just leave it for a later stage to trip over // when we can provide a more useful contextual error. fs.stat(script, (er, st) => { - if (er) + if (er) { return res() + } const mode = st.mode | 0o111 - if (mode === st.mode) + if (mode === st.mode) { return res() + } fs.chmod(script, mode, res) }) }))) @@ -61,8 +64,8 @@ class FileFetcher extends Fetcher { // but if not, read the unpacked manifest and chmod properly. return super.extract(dest) .then(result => this.package ? result - : readPackageJson(dest + '/package.json').then(pkg => - this[_exeBins](pkg, dest)).then(() => result)) + : this[_readPackageJson](dest + '/package.json').then(pkg => + this[_exeBins](pkg, dest)).then(() => result)) } [_tarballFromResolved] () { @@ -75,7 +78,7 @@ class FileFetcher extends Fetcher { return this.manifest().then(mani => ({ name: mani.name, 'dist-tags': { - [this.defaultTag]: mani.version + [this.defaultTag]: mani.version, }, versions: { [mani.version]: { @@ -83,9 +86,9 @@ class FileFetcher extends Fetcher { dist: { tarball: `file:${this.resolved}`, integrity: this.integrity && String(this.integrity), - } - } - } + }, + }, + }, })) } } diff --git a/deps/npm/node_modules/pacote/lib/git.js b/deps/npm/node_modules/pacote/lib/git.js index ab87d494ce4..9d84d95fa62 100644 --- a/deps/npm/node_modules/pacote/lib/git.js +++ b/deps/npm/node_modules/pacote/lib/git.js @@ -6,11 +6,9 @@ const hashre = /^[a-f0-9]{40}$/ const git = require('@npmcli/git') const pickManifest = require('npm-pick-manifest') const npa = require('npm-package-arg') -const url = require('url') const Minipass = require('minipass') const cacache = require('cacache') -const { promisify } = require('util') -const readPackageJson = require('read-package-json-fast') +const log = require('proc-log') const npm = require('./util/npm.js') const _resolvedFromRepo = Symbol('_resolvedFromRepo') @@ -24,6 +22,7 @@ const _cloneHosted = Symbol('_cloneHosted') const _cloneRepo = Symbol('_cloneRepo') const _setResolvedWithSha = Symbol('_setResolvedWithSha') const _prepareDir = Symbol('_prepareDir') +const _readPackageJson = Symbol.for('package.Fetcher._readPackageJson') // get the repository url. // prefer https if there's auth, since ssh will drop that. @@ -39,9 +38,17 @@ const addGitPlus = url => url && `git+${url}`.replace(/^(git\+)+/, 'git+') class GitFetcher extends Fetcher { constructor (spec, opts) { super(spec, opts) + + // we never want to compare integrity for git dependencies: npm/rfcs#525 + if (this.opts.integrity) { + delete this.opts.integrity + log.warn(`skipping integrity check for git dependency ${this.spec.fetchSpec}`) + } + this.resolvedRef = null - if (this.spec.hosted) + if (this.spec.hosted) { this.from = this.spec.hosted.shortcut({ noCommittish: false }) + } // shortcut: avoid full clone when we can go straight to the tgz // if we have the full sha and it's a hosted git platform @@ -51,8 +58,9 @@ class GitFetcher extends Fetcher { this.resolved = this.spec.hosted ? repoUrl(this.spec.hosted, { noCommittish: false }) : this.spec.rawSpec - } else + } else { this.resolvedSha = '' + } } // just exposed to make it easier to test all the combinations @@ -67,8 +75,9 @@ class GitFetcher extends Fetcher { resolve () { // likely a hosted git repo with a sha, so get the tarball url // but in general, no reason to resolve() more than necessary! - if (this.resolved) + if (this.resolved) { return super.resolve() + } // fetch the git repo and then look at the current hash const h = this.spec.hosted @@ -86,37 +95,41 @@ class GitFetcher extends Fetcher { return this[_resolvedFromRepo](hosted.https && hosted.https()) .catch(er => { // Throw early since we know pathspec errors will fail again if retried - if (er instanceof git.errors.GitPathspecError) + if (er instanceof git.errors.GitPathspecError) { throw er + } const ssh = hosted.sshurl && hosted.sshurl() // no fallthrough if we can't fall through or have https auth - if (!ssh || hosted.auth) + if (!ssh || hosted.auth) { throw er + } return this[_resolvedFromRepo](ssh) }) } [_resolvedFromRepo] (gitRemote) { // XXX make this a custom error class - if (!gitRemote) + if (!gitRemote) { return Promise.reject(new Error(`No git url for ${this.spec}`)) + } const gitRange = this.spec.gitRange const name = this.spec.name return git.revs(gitRemote, this.opts).then(remoteRefs => { return gitRange ? pickManifest({ - versions: remoteRefs.versions, - 'dist-tags': remoteRefs['dist-tags'], - name, - }, gitRange, this.opts) + versions: remoteRefs.versions, + 'dist-tags': remoteRefs['dist-tags'], + name, + }, gitRange, this.opts) : this.spec.gitCommittish ? remoteRefs.refs[this.spec.gitCommittish] || remoteRefs.refs[remoteRefs.shas[this.spec.gitCommittish]] - : remoteRefs.refs.HEAD // no git committish, get default head + : remoteRefs.refs.HEAD // no git committish, get default head }).then(revDoc => { // the committish provided isn't in the rev list // things like HEAD~3 or @yesterday can land here. - if (!revDoc || !revDoc.sha) + if (!revDoc || !revDoc.sha) { return this[_resolvedFromClone]() + } this.resolvedRef = revDoc this.resolvedSha = revDoc.sha @@ -145,16 +158,18 @@ class GitFetcher extends Fetcher { } [_prepareDir] (dir) { - return readPackageJson(dir + '/package.json').then(mani => { + return this[_readPackageJson](dir + '/package.json').then(mani => { // no need if we aren't going to do any preparation. const scripts = mani.scripts - if (!scripts || !( - scripts.postinstall || + if (!mani.workspaces && (!scripts || !( + scripts.postinstall || scripts.build || scripts.preinstall || scripts.install || - scripts.prepare)) + scripts.prepack || + scripts.prepare))) { return + } // to avoid cases where we have an cycle of git deps that depend // on one another, we only ever do preparation for one instance @@ -166,7 +181,7 @@ class GitFetcher extends Fetcher { const noPrepare = !process.env._PACOTE_NO_PREPARE_ ? [] : process.env._PACOTE_NO_PREPARE_.split('\n') if (noPrepare.includes(this.resolved)) { - this.log.info('prepare', 'skip prepare, already seen', this.resolved) + log.info('prepare', 'skip prepare, already seen', this.resolved) return } noPrepare.push(this.resolved) @@ -186,7 +201,6 @@ class GitFetcher extends Fetcher { [_tarballFromResolved] () { const stream = new Minipass() stream.resolved = this.resolved - stream.integrity = this.integrity stream.from = this.from // check it out and then shell out to the DirFetcher tarball packer @@ -202,9 +216,9 @@ class GitFetcher extends Fetcher { dirStream.on('end', res) dirStream.pipe(stream) }))).catch( - /* istanbul ignore next: very unlikely and hard to test */ - er => stream.emit('error', er) - ) + /* istanbul ignore next: very unlikely and hard to test */ + er => stream.emit('error', er) + ) return stream } @@ -237,10 +251,11 @@ class GitFetcher extends Fetcher { integrity: null, // it'll always be different, if we have one }).extract(tmp).then(() => handler(tmp), er => { // fall back to ssh download if tarball fails - if (er.constructor.name.match(/^Http/)) + if (er.constructor.name.match(/^Http/)) { return this[_clone](handler, false) - else + } else { throw er + } }) } @@ -249,10 +264,11 @@ class GitFetcher extends Fetcher { : this[_cloneRepo](this.spec.fetchSpec, ref, tmp) ).then(sha => { this.resolvedSha = sha - if (!this.resolved) + if (!this.resolved) { this[_addGitSha](sha) + } }) - .then(() => handler(tmp)) + .then(() => handler(tmp)) }) } @@ -266,12 +282,14 @@ class GitFetcher extends Fetcher { return this[_cloneRepo](hosted.https({ noCommittish: true }), ref, tmp) .catch(er => { // Throw early since we know pathspec errors will fail again if retried - if (er instanceof git.errors.GitPathspecError) + if (er instanceof git.errors.GitPathspecError) { throw er + } const ssh = hosted.sshurl && hosted.sshurl({ noCommittish: true }) // no fallthrough if we can't fall through or have https auth - if (!ssh || hosted.auth) + if (!ssh || hosted.auth) { throw er + } return this[_cloneRepo](ssh, ref, tmp) }) } @@ -282,19 +300,19 @@ class GitFetcher extends Fetcher { } manifest () { - if (this.package) + if (this.package) { return Promise.resolve(this.package) + } return this.spec.hosted && this.resolved ? FileFetcher.prototype.manifest.apply(this) : this[_clone](dir => - readPackageJson(dir + '/package.json') - .then(mani => this.package = { - ...mani, - _integrity: this.integrity && String(this.integrity), - _resolved: this.resolved, - _from: this.from, - })) + this[_readPackageJson](dir + '/package.json') + .then(mani => this.package = { + ...mani, + _resolved: this.resolved, + _from: this.from, + })) } packument () { diff --git a/deps/npm/node_modules/pacote/lib/registry.js b/deps/npm/node_modules/pacote/lib/registry.js index e0a31071742..b4f890d310d 100644 --- a/deps/npm/node_modules/pacote/lib/registry.js +++ b/deps/npm/node_modules/pacote/lib/registry.js @@ -2,11 +2,11 @@ const Fetcher = require('./fetcher.js') const RemoteFetcher = require('./remote.js') const _tarballFromResolved = Symbol.for('pacote.Fetcher._tarballFromResolved') const pacoteVersion = require('../package.json').version +const removeTrailingSlashes = require('./util/trailing-slashes.js') const npa = require('npm-package-arg') const rpj = require('read-package-json-fast') const pickManifest = require('npm-pick-manifest') const ssri = require('ssri') -const Minipass = require('minipass') // Corgis are cute. 🐕🐶 const corgiDoc = 'application/vnd.npm.install-v1+json; q=1.0, application/json; q=0.8, */*' @@ -32,10 +32,11 @@ class RegistryFetcher extends Fetcher { // handle case when npm-package-arg guesses wrong. if (this.spec.type === 'tag' && this.spec.rawSpec === '' && - this.defaultTag !== 'latest') + this.defaultTag !== 'latest') { this.spec = npa(`${this.spec.name}@${this.defaultTag}`) + } this.registry = fetch.pickRegistry(spec, opts) - this.packumentUrl = this.registry.replace(/\/*$/, '/') + + this.packumentUrl = removeTrailingSlashes(this.registry) + '/' + this.spec.escapedName // XXX pacote <=9 has some logic to ignore opts.resolved if @@ -45,13 +46,15 @@ class RegistryFetcher extends Fetcher { } resolve () { - if (this.resolved) + if (this.resolved) { return Promise.resolve(this.resolved) + } // fetching the manifest sets resolved and (usually) integrity return this.manifest().then(() => { - if (this.resolved) + if (this.resolved) { return this.resolved + } throw Object.assign( new Error('Invalid package manifest: no `dist.tarball` field'), @@ -77,8 +80,9 @@ class RegistryFetcher extends Fetcher { // note this might be either an in-flight promise for a request, // or the actual packument, but we never want to make more than // one request at a time for the same thing regardless. - if (this.packumentCache && this.packumentCache.has(this.packumentUrl)) + if (this.packumentCache && this.packumentCache.has(this.packumentUrl)) { return this.packumentCache.get(this.packumentUrl) + } // npm-registry-fetch the packument // set the appropriate header for corgis if fullMetadata isn't set @@ -92,12 +96,14 @@ class RegistryFetcher extends Fetcher { }).then(res => res.json().then(packument => { packument._cached = res.headers.has('x-local-cache') packument._contentLength = +res.headers.get('content-length') - if (this.packumentCache) + if (this.packumentCache) { this.packumentCache.set(this.packumentUrl, packument) + } return packument })).catch(er => { - if (this.packumentCache) + if (this.packumentCache) { this.packumentCache.delete(this.packumentUrl) + } if (er.code === 'E404' && !this.fullMetadata) { // possible that corgis are not supported by this registry this.fullMetadata = true @@ -105,14 +111,16 @@ class RegistryFetcher extends Fetcher { } throw er }) - if (this.packumentCache) + if (this.packumentCache) { this.packumentCache.set(this.packumentUrl, p) + } return p } manifest () { - if (this.package) + if (this.package) { return Promise.resolve(this.package) + } return this.packument() .then(packument => pickManifest(packument, this.spec.fetchSpec, { @@ -127,12 +135,12 @@ class RegistryFetcher extends Fetcher { this.resolved = mani._resolved = dist.tarball mani._from = this.from const distIntegrity = dist.integrity ? ssri.parse(dist.integrity) - : dist.shasum ? ssri.fromHex(dist.shasum, 'sha1', {...this.opts}) + : dist.shasum ? ssri.fromHex(dist.shasum, 'sha1', { ...this.opts }) : null if (distIntegrity) { - if (!this.integrity) + if (!this.integrity) { this.integrity = distIntegrity - else if (!this.integrity.match(distIntegrity)) { + } else if (!this.integrity.match(distIntegrity)) { // only bork if they have algos in common. // otherwise we end up breaking if we have saved a sha512 // previously for the tarball, but the manifest only @@ -143,7 +151,7 @@ class RegistryFetcher extends Fetcher { for (const algo of Object.keys(this.integrity)) { if (distIntegrity[algo]) { throw Object.assign(new Error( - `Integrity checksum failed when using ${algo}: `+ + `Integrity checksum failed when using ${algo}: ` + `wanted ${this.integrity} but got ${distIntegrity}.` ), { code: 'EINTEGRITY' }) } @@ -155,8 +163,9 @@ class RegistryFetcher extends Fetcher { } } } - if (this.integrity) + if (this.integrity) { mani._integrity = String(this.integrity) + } this.package = rpj.normalize(mani) return this.package }) diff --git a/deps/npm/node_modules/pacote/lib/remote.js b/deps/npm/node_modules/pacote/lib/remote.js index 727a8bfc8e6..5cabfe4fcda 100644 --- a/deps/npm/node_modules/pacote/lib/remote.js +++ b/deps/npm/node_modules/pacote/lib/remote.js @@ -3,7 +3,6 @@ const FileFetcher = require('./file.js') const _tarballFromResolved = Symbol.for('pacote.Fetcher._tarballFromResolved') const pacoteVersion = require('../package.json').version const fetch = require('npm-registry-fetch') -const ssri = require('ssri') const Minipass = require('minipass') // The default registry URL is a string of great magic. const magic = /^https?:\/\/registry\.npmjs\.org\// @@ -14,8 +13,9 @@ class RemoteFetcher extends Fetcher { constructor (spec, opts) { super(spec, opts) this.resolved = this.spec.fetchSpec - if (magic.test(this.resolved) && !magic.test(this.registry + '/')) + if (magic.test(this.resolved) && !magic.test(this.registry + '/')) { this.resolved = this.resolved.replace(magic, this.registry + '/') + } // nam is a fermented pork sausage that is good to eat const nameat = this.spec.name ? `${this.spec.name}@` : '' @@ -35,7 +35,7 @@ class RemoteFetcher extends Fetcher { headers: this[_headers](), spec: this.spec, integrity: this.integrity, - algorithms: [ this.pickIntegrityAlgorithm() ], + algorithms: [this.pickIntegrityAlgorithm()], } fetch(this.resolved, fetchOpts).then(res => { const hash = res.headers.get('x-local-cache-hash') @@ -62,7 +62,7 @@ class RemoteFetcher extends Fetcher { 'pacote-req-type': 'tarball', 'pacote-pkg-id': this.pkgid, ...(this.integrity ? { 'pacote-integrity': String(this.integrity) } - : {}), + : {}), ...(this.opts.headers || {}), } } diff --git a/deps/npm/node_modules/pacote/lib/util/cache-dir.js b/deps/npm/node_modules/pacote/lib/util/cache-dir.js index abd24532320..4236213edd4 100644 --- a/deps/npm/node_modules/pacote/lib/util/cache-dir.js +++ b/deps/npm/node_modules/pacote/lib/util/cache-dir.js @@ -1,5 +1,5 @@ const os = require('os') -const {resolve} = require('path') +const { resolve } = require('path') module.exports = (fakePlatform = false) => { const temp = os.tmpdir() diff --git a/deps/npm/node_modules/pacote/lib/util/is-package-bin.js b/deps/npm/node_modules/pacote/lib/util/is-package-bin.js index 35cf0642703..49a3f73f537 100644 --- a/deps/npm/node_modules/pacote/lib/util/is-package-bin.js +++ b/deps/npm/node_modules/pacote/lib/util/is-package-bin.js @@ -12,10 +12,11 @@ const binObj = (name, bin) => const hasBin = (pkg, path) => { const bin = binObj(pkg.name, pkg.bin) - const p = path.replace(/^[^\\\/]*\//, '') - for (const [k, v] of Object.entries(bin)) { - if (v === p) + const p = path.replace(/^[^\\/]*\//, '') + for (const kv of Object.entries(bin)) { + if (kv[1] === p) { return true + } } return false } diff --git a/deps/npm/node_modules/pacote/lib/util/npm.js b/deps/npm/node_modules/pacote/lib/util/npm.js index f2f29bd0acb..c444d788ad1 100644 --- a/deps/npm/node_modules/pacote/lib/util/npm.js +++ b/deps/npm/node_modules/pacote/lib/util/npm.js @@ -1,6 +1,5 @@ // run an npm command const spawn = require('@npmcli/promise-spawn') -const {dirname} = require('path') module.exports = (npmBin, npmCommand, cwd, env, extra) => { const isJS = npmBin.endsWith('.js') diff --git a/deps/npm/node_modules/pacote/lib/util/proc-log.js b/deps/npm/node_modules/pacote/lib/util/proc-log.js deleted file mode 100644 index b2bdd9dc902..00000000000 --- a/deps/npm/node_modules/pacote/lib/util/proc-log.js +++ /dev/null @@ -1,21 +0,0 @@ -// default logger. -// emits 'log' events on the process -const LEVELS = [ - 'notice', - 'error', - 'warn', - 'info', - 'verbose', - 'http', - 'silly', - 'pause', - 'resume' -] - -const log = level => (...args) => process.emit('log', level, ...args) - -const logger = {} -for (const level of LEVELS) { - logger[level] = log(level) -} -module.exports = logger diff --git a/deps/npm/node_modules/pacote/lib/util/tar-create-options.js b/deps/npm/node_modules/pacote/lib/util/tar-create-options.js index 31ab34c9d94..d070f0f7ba2 100644 --- a/deps/npm/node_modules/pacote/lib/util/tar-create-options.js +++ b/deps/npm/node_modules/pacote/lib/util/tar-create-options.js @@ -9,7 +9,7 @@ const tarCreateOptions = manifest => ({ // platform specific optimizations that cause // integrity mismatch errors due to differing // end results after compression - level: 9 + level: 9, }, // ensure that package bins are always executable @@ -17,8 +17,9 @@ const tarCreateOptions = manifest => ({ // anything that is not a regular file, ignored by // .npmignore or package.json "files", etc. filter: (path, stat) => { - if (isPackageBin(manifest, path)) + if (isPackageBin(manifest, path)) { stat.mode |= 0o111 + } return true }, diff --git a/deps/npm/node_modules/pacote/lib/util/trailing-slashes.js b/deps/npm/node_modules/pacote/lib/util/trailing-slashes.js new file mode 100644 index 00000000000..ff75dfd9c0f --- /dev/null +++ b/deps/npm/node_modules/pacote/lib/util/trailing-slashes.js @@ -0,0 +1,10 @@ +const removeTrailingSlashes = (input) => { + // in order to avoid regexp redos detection + let output = input + while (output.endsWith('/')) { + output = output.substr(0, output.length - 1) + } + return output +} + +module.exports = removeTrailingSlashes diff --git a/deps/npm/node_modules/pacote/package.json b/deps/npm/node_modules/pacote/package.json index ffbc067f68d..fc6ab52fa9b 100644 --- a/deps/npm/node_modules/pacote/package.json +++ b/deps/npm/node_modules/pacote/package.json @@ -1,8 +1,8 @@ { "name": "pacote", - "version": "12.0.3", + "version": "13.0.3", "description": "JavaScript package downloader", - "author": "Isaac Z. Schlueter <i@izs.me> (https://izs.me)", + "author": "GitHub Inc.", "bin": { "pacote": "lib/bin.js" }, @@ -13,19 +13,26 @@ "snap": "tap", "preversion": "npm test", "postversion": "npm publish", - "prepublishOnly": "git push origin --follow-tags" + "prepublishOnly": "git push origin --follow-tags", + "lint": "eslint '**/*.js'", + "postlint": "npm-template-check", + "lintfix": "npm run lint -- --fix", + "posttest": "npm run lint", + "template-copy": "npm-template-copy --force" }, "tap": { "timeout": 300, "coverage-map": "map.js" }, "devDependencies": { + "@npmcli/template-oss": "^2.7.1", "mutate-fs": "^2.1.1", "npm-registry-mock": "^1.3.1", - "tap": "^15.0.4" + "tap": "^15.1.6" }, "files": [ - "lib/**/*.js" + "bin", + "lib" ], "keywords": [ "packages", @@ -33,28 +40,34 @@ "git" ], "dependencies": { - "@npmcli/git": "^2.1.0", - "@npmcli/installed-package-contents": "^1.0.6", + "@npmcli/git": "^3.0.0", + "@npmcli/installed-package-contents": "^1.0.7", "@npmcli/promise-spawn": "^1.2.0", - "@npmcli/run-script": "^2.0.0", - "cacache": "^15.0.5", + "@npmcli/run-script": "^3.0.0", + "cacache": "^15.3.0", "chownr": "^2.0.0", "fs-minipass": "^2.1.0", "infer-owner": "^1.0.4", - "minipass": "^3.1.3", - "mkdirp": "^1.0.3", - "npm-package-arg": "^8.0.1", + "minipass": "^3.1.6", + "mkdirp": "^1.0.4", + "npm-package-arg": "^9.0.0", "npm-packlist": "^3.0.0", - "npm-pick-manifest": "^6.0.0", - "npm-registry-fetch": "^12.0.0", + "npm-pick-manifest": "^7.0.0", + "npm-registry-fetch": "^13.0.0", + "proc-log": "^2.0.0", "promise-retry": "^2.0.1", - "read-package-json-fast": "^2.0.1", + "read-package-json": "^4.1.1", + "read-package-json-fast": "^2.0.3", "rimraf": "^3.0.2", "ssri": "^8.0.1", - "tar": "^6.1.0" + "tar": "^6.1.11" }, "engines": { "node": "^12.13.0 || ^14.15.0 || >=16" }, - "repository": "git@github.com:npm/pacote" + "repository": "git@github.com:npm/pacote", + "templateOSS": { + "version": "2.7.1", + "windowsCI": false + } } diff --git a/deps/npm/node_modules/proc-log/index.js b/deps/npm/node_modules/proc-log/index.js deleted file mode 100644 index 9b58713ff3f..00000000000 --- a/deps/npm/node_modules/proc-log/index.js +++ /dev/null @@ -1,22 +0,0 @@ -// emits 'log' events on the process -const LEVELS = [ - 'notice', - 'error', - 'warn', - 'info', - 'verbose', - 'http', - 'silly', - 'pause', - 'resume', -] - -const log = level => (...args) => process.emit('log', level, ...args) - -const logger = {} -for (const level of LEVELS) - logger[level] = log(level) - -logger.LEVELS = LEVELS - -module.exports = logger diff --git a/deps/npm/node_modules/libnpmversion/lib/proc-log.js b/deps/npm/node_modules/proc-log/lib/index.js index a7c683ba2fd..7c5dfad3b7b 100644 --- a/deps/npm/node_modules/libnpmversion/lib/proc-log.js +++ b/deps/npm/node_modules/proc-log/lib/index.js @@ -1,4 +1,3 @@ -// default logger. // emits 'log' events on the process const LEVELS = [ 'notice', @@ -18,4 +17,7 @@ const logger = {} for (const level of LEVELS) { logger[level] = log(level) } + +logger.LEVELS = LEVELS + module.exports = logger diff --git a/deps/npm/node_modules/proc-log/package.json b/deps/npm/node_modules/proc-log/package.json index 178009f61b8..17e9249b7ca 100644 --- a/deps/npm/node_modules/proc-log/package.json +++ b/deps/npm/node_modules/proc-log/package.json @@ -1,28 +1,36 @@ { "name": "proc-log", - "version": "1.0.0", + "version": "2.0.0", "files": [ - "index.js" + "bin", + "lib" ], + "main": "lib/index.js", "description": "just emit 'log' events on the process object", "repository": "https://github.com/npm/proc-log", - "author": "Isaac Z. Schlueter <i@izs.me> (https://izs.me)", + "author": "GitHub Inc.", "license": "ISC", "scripts": { "test": "tap", "snap": "tap", - "posttest": "eslint index.js test/*.js", + "posttest": "npm run lint", "postsnap": "eslint index.js test/*.js --fix", "preversion": "npm test", "postversion": "npm publish", - "prepublishOnly": "git push origin --follow-tags" + "prepublishOnly": "git push origin --follow-tags", + "lint": "eslint '**/*.js'", + "postlint": "npm-template-check", + "template-copy": "npm-template-copy --force", + "lintfix": "npm run lint -- --fix" }, "devDependencies": { - "eslint": "^7.9.0", - "eslint-plugin-import": "^2.22.0", - "eslint-plugin-node": "^11.1.0", - "eslint-plugin-promise": "^4.2.1", - "eslint-plugin-standard": "^4.0.1", - "tap": "^15.0.2" + "@npmcli/template-oss": "^2.7.1", + "tap": "^15.1.6" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16" + }, + "templateOSS": { + "version": "2.7.1" } } diff --git a/deps/npm/node_modules/cli-columns/node_modules/string-width/index.d.ts b/deps/npm/node_modules/string-width/index.d.ts index 12b5309751d..12b5309751d 100644 --- a/deps/npm/node_modules/cli-columns/node_modules/string-width/index.d.ts +++ b/deps/npm/node_modules/string-width/index.d.ts diff --git a/deps/npm/node_modules/string-width/index.js b/deps/npm/node_modules/string-width/index.js index bbc49d29b15..f4d261a96a0 100644 --- a/deps/npm/node_modules/string-width/index.js +++ b/deps/npm/node_modules/string-width/index.js @@ -1,18 +1,25 @@ 'use strict'; const stripAnsi = require('strip-ansi'); const isFullwidthCodePoint = require('is-fullwidth-code-point'); +const emojiRegex = require('emoji-regex'); -module.exports = str => { - if (typeof str !== 'string' || str.length === 0) { +const stringWidth = string => { + if (typeof string !== 'string' || string.length === 0) { return 0; } - str = stripAnsi(str); + string = stripAnsi(string); + + if (string.length === 0) { + return 0; + } + + string = string.replace(emojiRegex(), ' '); let width = 0; - for (let i = 0; i < str.length; i++) { - const code = str.codePointAt(i); + for (let i = 0; i < string.length; i++) { + const code = string.codePointAt(i); // Ignore control characters if (code <= 0x1F || (code >= 0x7F && code <= 0x9F)) { @@ -34,3 +41,7 @@ module.exports = str => { return width; }; + +module.exports = stringWidth; +// TODO: remove this in the next major version +module.exports.default = stringWidth; diff --git a/deps/npm/node_modules/string-width/node_modules/ansi-regex/index.d.ts b/deps/npm/node_modules/string-width/node_modules/ansi-regex/index.d.ts new file mode 100644 index 00000000000..2dbf6af2b6f --- /dev/null +++ b/deps/npm/node_modules/string-width/node_modules/ansi-regex/index.d.ts @@ -0,0 +1,37 @@ +declare namespace ansiRegex { + interface Options { + /** + Match only the first ANSI escape. + + @default false + */ + onlyFirst: boolean; + } +} + +/** +Regular expression for matching ANSI escape codes. + +@example +``` +import ansiRegex = require('ansi-regex'); + +ansiRegex().test('\u001B[4mcake\u001B[0m'); +//=> true + +ansiRegex().test('cake'); +//=> false + +'\u001B[4mcake\u001B[0m'.match(ansiRegex()); +//=> ['\u001B[4m', '\u001B[0m'] + +'\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true})); +//=> ['\u001B[4m'] + +'\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007'.match(ansiRegex()); +//=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007'] +``` +*/ +declare function ansiRegex(options?: ansiRegex.Options): RegExp; + +export = ansiRegex; diff --git a/deps/npm/node_modules/string-width/node_modules/ansi-regex/index.js b/deps/npm/node_modules/string-width/node_modules/ansi-regex/index.js index c4aaecf5050..616ff837d3f 100644 --- a/deps/npm/node_modules/string-width/node_modules/ansi-regex/index.js +++ b/deps/npm/node_modules/string-width/node_modules/ansi-regex/index.js @@ -1,10 +1,10 @@ 'use strict'; -module.exports = () => { +module.exports = ({onlyFirst = false} = {}) => { const pattern = [ - '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:[a-zA-Z\\d]*(?:;[a-zA-Z\\d]*)*)?\\u0007)', - '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PRZcf-ntqry=><~]))' + '[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?\\u0007)', + '(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-ntqry=><~]))' ].join('|'); - return new RegExp(pattern, 'g'); + return new RegExp(pattern, onlyFirst ? undefined : 'g'); }; diff --git a/deps/npm/node_modules/string-width/node_modules/ansi-regex/package.json b/deps/npm/node_modules/string-width/node_modules/ansi-regex/package.json index e94852fd70b..017f53116a9 100644 --- a/deps/npm/node_modules/string-width/node_modules/ansi-regex/package.json +++ b/deps/npm/node_modules/string-width/node_modules/ansi-regex/package.json @@ -1,53 +1,55 @@ { - "name": "ansi-regex", - "version": "3.0.0", - "description": "Regular expression for matching ANSI escape codes", - "license": "MIT", - "repository": "chalk/ansi-regex", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=4" - }, - "scripts": { - "test": "xo && ava", - "view-supported": "node fixtures/view-codes.js" - }, - "files": [ - "index.js" - ], - "keywords": [ - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "cli", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "command-line", - "text", - "regex", - "regexp", - "re", - "match", - "test", - "find", - "pattern" - ], - "devDependencies": { - "ava": "*", - "xo": "*" - } + "name": "ansi-regex", + "version": "5.0.1", + "description": "Regular expression for matching ANSI escape codes", + "license": "MIT", + "repository": "chalk/ansi-regex", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava && tsd", + "view-supported": "node fixtures/view-codes.js" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "cli", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "command-line", + "text", + "regex", + "regexp", + "re", + "match", + "test", + "find", + "pattern" + ], + "devDependencies": { + "ava": "^2.4.0", + "tsd": "^0.9.0", + "xo": "^0.25.3" + } } diff --git a/deps/npm/node_modules/string-width/node_modules/ansi-regex/readme.md b/deps/npm/node_modules/string-width/node_modules/ansi-regex/readme.md index 22db1c34055..4d848bc36f6 100644 --- a/deps/npm/node_modules/string-width/node_modules/ansi-regex/readme.md +++ b/deps/npm/node_modules/string-width/node_modules/ansi-regex/readme.md @@ -1,4 +1,4 @@ -# ansi-regex [![Build Status](https://travis-ci.org/chalk/ansi-regex.svg?branch=master)](https://travis-ci.org/chalk/ansi-regex) +# ansi-regex > Regular expression for matching [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) @@ -23,9 +23,33 @@ ansiRegex().test('cake'); '\u001B[4mcake\u001B[0m'.match(ansiRegex()); //=> ['\u001B[4m', '\u001B[0m'] + +'\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true})); +//=> ['\u001B[4m'] + +'\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007'.match(ansiRegex()); +//=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007'] ``` +## API + +### ansiRegex(options?) + +Returns a regex for matching ANSI escape codes. + +#### options + +Type: `object` + +##### onlyFirst + +Type: `boolean`<br> +Default: `false` *(Matches any ANSI escape codes in a string)* + +Match only the first ANSI escape. + + ## FAQ ### Why do you test for codes not in the ECMA 48 standard? @@ -41,6 +65,14 @@ On the historical side, those ECMA standards were established in the early 90's - [Josh Junon](https://github.com/qix-) -## License +--- -MIT +<div align="center"> + <b> + <a href="https://tidelift.com/subscription/pkg/npm-ansi-regex?utm_source=npm-ansi-regex&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a> + </b> + <br> + <sub> + Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies. + </sub> +</div> diff --git a/deps/npm/node_modules/string-width/node_modules/strip-ansi/index.d.ts b/deps/npm/node_modules/string-width/node_modules/strip-ansi/index.d.ts new file mode 100644 index 00000000000..907fccc2926 --- /dev/null +++ b/deps/npm/node_modules/string-width/node_modules/strip-ansi/index.d.ts @@ -0,0 +1,17 @@ +/** +Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string. + +@example +``` +import stripAnsi = require('strip-ansi'); + +stripAnsi('\u001B[4mUnicorn\u001B[0m'); +//=> 'Unicorn' + +stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007'); +//=> 'Click' +``` +*/ +declare function stripAnsi(string: string): string; + +export = stripAnsi; diff --git a/deps/npm/node_modules/string-width/node_modules/strip-ansi/index.js b/deps/npm/node_modules/string-width/node_modules/strip-ansi/index.js index 96e0292c8e2..9a593dfcd1f 100644 --- a/deps/npm/node_modules/string-width/node_modules/strip-ansi/index.js +++ b/deps/npm/node_modules/string-width/node_modules/strip-ansi/index.js @@ -1,4 +1,4 @@ 'use strict'; const ansiRegex = require('ansi-regex'); -module.exports = input => typeof input === 'string' ? input.replace(ansiRegex(), '') : input; +module.exports = string => typeof string === 'string' ? string.replace(ansiRegex(), '') : string; diff --git a/deps/npm/node_modules/string-width/node_modules/strip-ansi/package.json b/deps/npm/node_modules/string-width/node_modules/strip-ansi/package.json index 555f1946165..1a41108d428 100644 --- a/deps/npm/node_modules/string-width/node_modules/strip-ansi/package.json +++ b/deps/npm/node_modules/string-width/node_modules/strip-ansi/package.json @@ -1,52 +1,54 @@ { - "name": "strip-ansi", - "version": "4.0.0", - "description": "Strip ANSI escape codes", - "license": "MIT", - "repository": "chalk/strip-ansi", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "engines": { - "node": ">=4" - }, - "scripts": { - "test": "xo && ava" - }, - "files": [ - "index.js" - ], - "keywords": [ - "strip", - "trim", - "remove", - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "log", - "logging", - "command-line", - "text" - ], - "dependencies": { - "ansi-regex": "^3.0.0" - }, - "devDependencies": { - "ava": "*", - "xo": "*" - } + "name": "strip-ansi", + "version": "6.0.1", + "description": "Strip ANSI escape codes from a string", + "license": "MIT", + "repository": "chalk/strip-ansi", + "author": { + "name": "Sindre Sorhus", + "email": "sindresorhus@gmail.com", + "url": "sindresorhus.com" + }, + "engines": { + "node": ">=8" + }, + "scripts": { + "test": "xo && ava && tsd" + }, + "files": [ + "index.js", + "index.d.ts" + ], + "keywords": [ + "strip", + "trim", + "remove", + "ansi", + "styles", + "color", + "colour", + "colors", + "terminal", + "console", + "string", + "tty", + "escape", + "formatting", + "rgb", + "256", + "shell", + "xterm", + "log", + "logging", + "command-line", + "text" + ], + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "devDependencies": { + "ava": "^2.4.0", + "tsd": "^0.10.0", + "xo": "^0.25.3" + } } diff --git a/deps/npm/node_modules/string-width/node_modules/strip-ansi/readme.md b/deps/npm/node_modules/string-width/node_modules/strip-ansi/readme.md index dc76f0cb1a0..7c4b56d46dd 100644 --- a/deps/npm/node_modules/string-width/node_modules/strip-ansi/readme.md +++ b/deps/npm/node_modules/string-width/node_modules/strip-ansi/readme.md @@ -1,6 +1,6 @@ # strip-ansi [![Build Status](https://travis-ci.org/chalk/strip-ansi.svg?branch=master)](https://travis-ci.org/chalk/strip-ansi) -> Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) +> Strip [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) from a string ## Install @@ -17,12 +17,23 @@ const stripAnsi = require('strip-ansi'); stripAnsi('\u001B[4mUnicorn\u001B[0m'); //=> 'Unicorn' + +stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007'); +//=> 'Click' ``` +## strip-ansi for enterprise + +Available as part of the Tidelift Subscription. + +The maintainers of strip-ansi and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-strip-ansi?utm_source=npm-strip-ansi&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) + + ## Related - [strip-ansi-cli](https://github.com/chalk/strip-ansi-cli) - CLI for this module +- [strip-ansi-stream](https://github.com/chalk/strip-ansi-stream) - Streaming version of this module - [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes - [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes - [chalk](https://github.com/chalk/chalk) - Terminal string styling done right @@ -33,7 +44,3 @@ stripAnsi('\u001B[4mUnicorn\u001B[0m'); - [Sindre Sorhus](https://github.com/sindresorhus) - [Josh Junon](https://github.com/qix-) - -## License - -MIT diff --git a/deps/npm/node_modules/string-width/package.json b/deps/npm/node_modules/string-width/package.json index 89f0b6a6c60..28ba7b4cae9 100644 --- a/deps/npm/node_modules/string-width/package.json +++ b/deps/npm/node_modules/string-width/package.json @@ -1,6 +1,6 @@ { "name": "string-width", - "version": "2.1.1", + "version": "4.2.3", "description": "Get the visual width of a string - the number of columns required to display it", "license": "MIT", "repository": "sindresorhus/string-width", @@ -10,19 +10,18 @@ "url": "sindresorhus.com" }, "engines": { - "node": ">=4" + "node": ">=8" }, "scripts": { - "test": "xo && ava" + "test": "xo && ava && tsd" }, "files": [ - "index.js" + "index.js", + "index.d.ts" ], "keywords": [ "string", - "str", "character", - "char", "unicode", "width", "visual", @@ -45,11 +44,13 @@ "fixed-width" ], "dependencies": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" }, "devDependencies": { - "ava": "*", - "xo": "*" + "ava": "^1.4.1", + "tsd": "^0.7.1", + "xo": "^0.24.0" } } diff --git a/deps/npm/node_modules/string-width/readme.md b/deps/npm/node_modules/string-width/readme.md index df5b7199f90..bdd314129ca 100644 --- a/deps/npm/node_modules/string-width/readme.md +++ b/deps/npm/node_modules/string-width/readme.md @@ -1,4 +1,4 @@ -# string-width [![Build Status](https://travis-ci.org/sindresorhus/string-width.svg?branch=master)](https://travis-ci.org/sindresorhus/string-width) +# string-width > Get the visual width of a string - the number of columns required to display it @@ -19,14 +19,14 @@ $ npm install string-width ```js const stringWidth = require('string-width'); +stringWidth('a'); +//=> 1 + stringWidth('古'); //=> 2 -stringWidth('\u001b[1m古\u001b[22m'); +stringWidth('\u001B[1m古\u001B[22m'); //=> 2 - -stringWidth('a'); -//=> 1 ``` @@ -37,6 +37,14 @@ stringWidth('a'); - [widest-line](https://github.com/sindresorhus/widest-line) - Get the visual width of the widest line in a string -## License +--- -MIT © [Sindre Sorhus](https://sindresorhus.com) +<div align="center"> + <b> + <a href="https://tidelift.com/subscription/pkg/npm-string-width?utm_source=npm-string-width&utm_medium=referral&utm_campaign=readme">Get professional support for this package with a Tidelift subscription</a> + </b> + <br> + <sub> + Tidelift helps make open source sustainable for maintainers while giving companies<br>assurances about security, maintenance, and licensing for their dependencies. + </sub> +</div> diff --git a/deps/npm/node_modules/strip-ansi/index.js b/deps/npm/node_modules/strip-ansi/index.js deleted file mode 100644 index 099480fbfc5..00000000000 --- a/deps/npm/node_modules/strip-ansi/index.js +++ /dev/null @@ -1,6 +0,0 @@ -'use strict'; -var ansiRegex = require('ansi-regex')(); - -module.exports = function (str) { - return typeof str === 'string' ? str.replace(ansiRegex, '') : str; -}; diff --git a/deps/npm/node_modules/strip-ansi/license b/deps/npm/node_modules/strip-ansi/license deleted file mode 100644 index 654d0bfe943..00000000000 --- a/deps/npm/node_modules/strip-ansi/license +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com) - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/deps/npm/node_modules/strip-ansi/package.json b/deps/npm/node_modules/strip-ansi/package.json deleted file mode 100644 index 301685ba329..00000000000 --- a/deps/npm/node_modules/strip-ansi/package.json +++ /dev/null @@ -1,57 +0,0 @@ -{ - "name": "strip-ansi", - "version": "3.0.1", - "description": "Strip ANSI escape codes", - "license": "MIT", - "repository": "chalk/strip-ansi", - "author": { - "name": "Sindre Sorhus", - "email": "sindresorhus@gmail.com", - "url": "sindresorhus.com" - }, - "maintainers": [ - "Sindre Sorhus <sindresorhus@gmail.com> (sindresorhus.com)", - "Joshua Boy Nicolai Appelman <joshua@jbna.nl> (jbna.nl)", - "JD Ballard <i.am.qix@gmail.com> (github.com/qix-)" - ], - "engines": { - "node": ">=0.10.0" - }, - "scripts": { - "test": "xo && ava" - }, - "files": [ - "index.js" - ], - "keywords": [ - "strip", - "trim", - "remove", - "ansi", - "styles", - "color", - "colour", - "colors", - "terminal", - "console", - "string", - "tty", - "escape", - "formatting", - "rgb", - "256", - "shell", - "xterm", - "log", - "logging", - "command-line", - "text" - ], - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "devDependencies": { - "ava": "*", - "xo": "*" - } -} diff --git a/deps/npm/node_modules/strip-ansi/readme.md b/deps/npm/node_modules/strip-ansi/readme.md deleted file mode 100644 index cb7d9ff7ee4..00000000000 --- a/deps/npm/node_modules/strip-ansi/readme.md +++ /dev/null @@ -1,33 +0,0 @@ -# strip-ansi [![Build Status](https://travis-ci.org/chalk/strip-ansi.svg?branch=master)](https://travis-ci.org/chalk/strip-ansi) - -> Strip [ANSI escape codes](http://en.wikipedia.org/wiki/ANSI_escape_code) - - -## Install - -``` -$ npm install --save strip-ansi -``` - - -## Usage - -```js -var stripAnsi = require('strip-ansi'); - -stripAnsi('\u001b[4mcake\u001b[0m'); -//=> 'cake' -``` - - -## Related - -- [strip-ansi-cli](https://github.com/chalk/strip-ansi-cli) - CLI for this module -- [has-ansi](https://github.com/chalk/has-ansi) - Check if a string has ANSI escape codes -- [ansi-regex](https://github.com/chalk/ansi-regex) - Regular expression for matching ANSI escape codes -- [chalk](https://github.com/chalk/chalk) - Terminal string styling done right - - -## License - -MIT © [Sindre Sorhus](http://sindresorhus.com) diff --git a/deps/npm/package.json b/deps/npm/package.json index c407a66ae12..d7574cb99e3 100644 --- a/deps/npm/package.json +++ b/deps/npm/package.json @@ -1,5 +1,5 @@ { - "version": "8.5.1", + "version": "8.5.2", "name": "npm", "description": "a package manager for JavaScript", "workspaces": [ @@ -55,12 +55,12 @@ }, "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", - "@npmcli/arborist": "^4.3.1", + "@npmcli/arborist": "^5.0.0", "@npmcli/ci-detect": "^2.0.0", - "@npmcli/config": "^3.0.0", + "@npmcli/config": "^4.0.0", "@npmcli/map-workspaces": "^2.0.0", "@npmcli/package-json": "^1.0.1", - "@npmcli/run-script": "^2.0.0", + "@npmcli/run-script": "^3.0.0", "abbrev": "~1.1.1", "ansicolors": "~0.3.2", "ansistyles": "~0.1.3", @@ -70,26 +70,26 @@ "chownr": "^2.0.0", "cli-columns": "^4.0.0", "cli-table3": "^0.6.1", - "columnify": "~1.5.4", + "columnify": "^1.6.0", "fastest-levenshtein": "^1.0.12", "glob": "^7.2.0", "graceful-fs": "^4.2.9", "hosted-git-info": "^4.1.0", "ini": "^2.0.0", - "init-package-json": "^2.0.5", + "init-package-json": "^3.0.0", "is-cidr": "^4.0.2", "json-parse-even-better-errors": "^2.3.1", - "libnpmaccess": "^5.0.1", - "libnpmdiff": "^3.0.0", - "libnpmexec": "^3.0.3", - "libnpmfund": "^2.0.2", - "libnpmhook": "^7.0.1", - "libnpmorg": "^3.0.1", - "libnpmpack": "^3.1.0", - "libnpmpublish": "^5.0.1", - "libnpmsearch": "^4.0.1", - "libnpmteam": "^3.0.1", - "libnpmversion": "^2.0.2", + "libnpmaccess": "^6.0.0", + "libnpmdiff": "^4.0.0", + "libnpmexec": "^4.0.0", + "libnpmfund": "^3.0.0", + "libnpmhook": "^8.0.0", + "libnpmorg": "^4.0.0", + "libnpmpack": "^4.0.0", + "libnpmpublish": "^6.0.0", + "libnpmsearch": "^5.0.0", + "libnpmteam": "^4.0.0", + "libnpmversion": "^3.0.0", "make-fetch-happen": "^10.0.3", "minipass": "^3.1.6", "minipass-pipeline": "^1.2.4", @@ -100,16 +100,16 @@ "nopt": "^5.0.0", "npm-audit-report": "^2.1.5", "npm-install-checks": "^4.0.0", - "npm-package-arg": "^8.1.5", - "npm-pick-manifest": "^6.1.1", - "npm-profile": "^6.0.0", - "npm-registry-fetch": "^12.0.2", + "npm-package-arg": "^9.0.0", + "npm-pick-manifest": "^7.0.0", + "npm-profile": "^6.0.2", + "npm-registry-fetch": "^13.0.0", "npm-user-validate": "^1.0.1", "npmlog": "^6.0.1", "opener": "^1.5.2", - "pacote": "^12.0.3", + "pacote": "^13.0.3", "parse-conflict-json": "^2.0.1", - "proc-log": "^1.0.0", + "proc-log": "^2.0.0", "qrcode-terminal": "^0.12.0", "read": "~1.0.7", "read-package-json": "^4.1.1", diff --git a/deps/npm/tap-snapshots/test/lib/utils/exit-handler.js.test.cjs b/deps/npm/tap-snapshots/test/lib/utils/exit-handler.js.test.cjs index 523aabca29b..0aaf235fd14 100644 --- a/deps/npm/tap-snapshots/test/lib/utils/exit-handler.js.test.cjs +++ b/deps/npm/tap-snapshots/test/lib/utils/exit-handler.js.test.cjs @@ -26,10 +26,10 @@ exports[`test/lib/utils/exit-handler.js TAP handles unknown error with logs and 32 error ERR SUMMARY Unknown error 33 error ERR DETAIL Unknown error 34 verbose exit 1 -35 timing npm Completed in {TIME}ms -36 verbose code 1 -37 error A complete log of this run can be found in: -37 error {CWD}/test/lib/utils/tap-testdir-exit-handler-handles-unknown-error-with-logs-and-debug-file/cache/_logs/{DATE}-debug-0.log +36 timing npm Completed in {TIME}ms +37 verbose code 1 +38 error A complete log of this run can be found in: +38 error {CWD}/test/lib/utils/tap-testdir-exit-handler-handles-unknown-error-with-logs-and-debug-file/cache/_logs/{DATE}-debug-0.log ` exports[`test/lib/utils/exit-handler.js TAP handles unknown error with logs and debug file > logs 1`] = ` diff --git a/deps/npm/test/fixtures/mock-npm.js b/deps/npm/test/fixtures/mock-npm.js index c3dc47f5dde..4846d9a4858 100644 --- a/deps/npm/test/fixtures/mock-npm.js +++ b/deps/npm/test/fixtures/mock-npm.js @@ -31,6 +31,18 @@ const RealMockNpm = (t, otherMocks = {}) => { return mock } +const setLoglevel = (t, loglevel, reset = true) => { + if (t && reset) { + const _level = log.level + t.teardown(() => log.level = _level) + } + + if (loglevel) { + // Set log level on the npmlog singleton and shared across everything + log.level = loglevel + } +} + // Resolve some options to a function call with supplied args const result = (fn, ...args) => typeof fn === 'function' ? fn(...args) : fn @@ -62,14 +74,8 @@ const LoadMockNpm = async (t, { throw new Error('cant `load` without `init`') } - const _level = log.level - t.teardown(() => log.level = _level) - - if (config.loglevel) { - // Set log level as early as possible since it is set - // on the npmlog singleton and shared across everything - log.level = config.loglevel - } + // Set log level as early as possible since + setLoglevel(t, config.loglevel) const dir = t.testdir({ root: testdir, cache: {} }) const prefix = path.join(dir, 'root') @@ -93,11 +99,9 @@ const LoadMockNpm = async (t, { for (const [k, v] of Object.entries(result(config, { npm, prefix, cache }))) { npm.config.set(k, v) } - if (config.loglevel) { - // Set global loglevel *again* since it possibly got reset during load - // XXX: remove with npmlog - log.level = config.loglevel - } + // Set global loglevel *again* since it possibly got reset during load + // XXX: remove with npmlog + setLoglevel(t, config.loglevel, false) npm.prefix = prefix npm.cache = cache } @@ -129,7 +133,7 @@ const realConfig = require('../../lib/utils/config') // npm.config You still need a separate flatOptions. Tests should migrate to // using the real npm mock above class MockNpm { - constructor (base = {}) { + constructor (base = {}, t) { this._mockOutputs = [] this.isMockNpm = true this.base = base @@ -150,9 +154,24 @@ class MockNpm { // for now isDefault is going to just return false if a value was defined isDefault: (k) => !Object.prototype.hasOwnProperty.call(config, k), get: (k) => ({ ...realConfig.defaults, ...config })[k], - set: (k, v) => config[k] = v, + set: (k, v) => { + config[k] = v + // mock how real npm derives silent + if (k === 'loglevel') { + this.flatOptions.silent = v === 'silent' + this.silent = v === 'silent' + } + }, list: [{ ...realConfig.defaults, ...config }], } + + if (t && config.loglevel) { + setLoglevel(t, config.loglevel) + } + + if (config.loglevel) { + this.config.set('loglevel', config.loglevel) + } } output (...msg) { @@ -163,8 +182,8 @@ class MockNpm { } } -const FakeMockNpm = (base = {}) => { - return new MockNpm(base) +const FakeMockNpm = (base = {}, t) => { + return new MockNpm(base, t) } module.exports = { diff --git a/deps/npm/test/fixtures/sandbox.js b/deps/npm/test/fixtures/sandbox.js index 701d9cea723..d51281d41d1 100644 --- a/deps/npm/test/fixtures/sandbox.js +++ b/deps/npm/test/fixtures/sandbox.js @@ -193,6 +193,8 @@ class Sandbox extends EventEmitter { // test.teardown hook teardown () { if (this[_parent]) { + const sandboxProcess = sandboxes.get(this[_parent]) + sandboxProcess.removeAllListeners('log') sandboxes.delete(this[_parent]) } if (this[_npm]) { @@ -211,20 +213,7 @@ class Sandbox extends EventEmitter { return Reflect.get(this, prop, this) } - const actual = Reflect.get(target, prop, receiver) - if (typeof actual === 'function') { - // in node 10.1 there's an interesting bug where if a function on process - // is called without explicitly forcing the 'this' arg to something, we - // get 'Illegal invocation' errors. wrapping function properties in their - // own proxy so that we can make sure the context is right fixes it - return new Proxy(actual, { - apply: (target, context, args) => { - return Reflect.apply(target, _process, args) - }, - }) - } - - return actual + return Reflect.get(target, prop, receiver) } // proxy set handler @@ -278,17 +267,15 @@ class Sandbox extends EventEmitter { ...this[_mocks], ...mockedLogs.logMocks, }) + this.process.on('log', (l, ...args) => { + if (l !== 'pause' && l !== 'resume') { + this[_logs].push([l, ...args]) + } + }) + this[_npm] = new Npm() this[_npm].output = (...args) => this[_output].push(args) await this[_npm].load() - // in some node versions (later 10.x) our executionAsyncId at this point - // will for some reason appear to have been triggered by a different parent - // so immediately after load, if we can see that we lost our ancestry, we - // fix it here with a hammer - if (chain.get(executionAsyncId()) !== this[_parent]) { - chain.set(executionAsyncId(), this[_parent]) - process = this[_proxy] - } const cmd = this[_npm].argv.shift() return this[_npm].exec(cmd, this[_npm].argv) @@ -330,17 +317,15 @@ class Sandbox extends EventEmitter { ...this[_mocks], ...mockedLogs.logMocks, }) + this.process.on('log', (l, ...args) => { + if (l !== 'pause' && l !== 'resume') { + this[_logs].push([l, ...args]) + } + }) + this[_npm] = new Npm() this[_npm].output = (...args) => this[_output].push(args) await this[_npm].load() - // in some node versions (later 10.x) our executionAsyncId at this point - // will for some reason appear to have been triggered by a different parent - // so immediately after load, if we can see that we lost our ancestry, we - // fix it here with a hammer - if (chain.get(executionAsyncId()) !== this[_parent]) { - chain.set(executionAsyncId(), this[_parent]) - process = this[_proxy] - } const impl = await this[_npm].cmd(command) return impl.completion({ diff --git a/deps/npm/test/lib/commands/access.js b/deps/npm/test/lib/commands/access.js index c4e6f3167aa..298897e4f5f 100644 --- a/deps/npm/test/lib/commands/access.js +++ b/deps/npm/test/lib/commands/access.js @@ -75,13 +75,12 @@ t.test('access public on unscoped package', async t => { }) t.test('access public on scoped package', async t => { - t.plan(3) + t.plan(2) const name = '@scoped/npm-access-public-pkg' const { npm } = await loadMockNpm(t, { mocks: { libnpmaccess: { - public: (pkg, { registry, log }) => { - t.ok(log, 'should pass a logger') + public: (pkg, { registry }) => { t.equal(pkg, name, 'should use pkg name ref') t.equal( registry, diff --git a/deps/npm/test/lib/commands/adduser.js b/deps/npm/test/lib/commands/adduser.js index 8a9358f9ab2..f88508d15a6 100644 --- a/deps/npm/test/lib/commands/adduser.js +++ b/deps/npm/test/lib/commands/adduser.js @@ -20,13 +20,6 @@ const authDummy = (npm, options) => { throw new Error('did not pass full flatOptions to auth function') } - if (!options.log) { - // A quick to test to make sure a log gets passed to auth - // XXX: should be refactored with change to real mock npm - // https://github.com/npm/statusboard/issues/411 - throw new Error('pass log to auth') - } - return Promise.resolve({ message: 'success', newCreds: { diff --git a/deps/npm/test/lib/commands/deprecate.js b/deps/npm/test/lib/commands/deprecate.js index aa158cca3a1..180629a7488 100644 --- a/deps/npm/test/lib/commands/deprecate.js +++ b/deps/npm/test/lib/commands/deprecate.js @@ -2,15 +2,12 @@ const t = require('tap') let getIdentityImpl = () => 'someperson' let npmFetchBody = null -let npmFetchLog = null const npmFetch = async (uri, opts) => { npmFetchBody = opts.body - npmFetchLog = opts.log } npmFetch.json = async (uri, opts) => { - npmFetchLog = opts.log return { versions: { '1.0.0': {}, @@ -87,10 +84,8 @@ t.test('invalid semver range', async t => { t.test('undeprecate', async t => { t.teardown(() => { npmFetchBody = null - npmFetchLog = null }) await deprecate.exec(['foo', '']) - t.ok(npmFetchLog, 'was passed a logger') t.match(npmFetchBody, { versions: { '1.0.0': { deprecated: '' }, @@ -103,11 +98,9 @@ t.test('undeprecate', async t => { t.test('deprecates given range', async t => { t.teardown(() => { npmFetchBody = null - npmFetchLog = null }) await deprecate.exec(['foo@1.0.0', 'this version is deprecated']) - t.ok(npmFetchLog, 'was passed a logger') t.match(npmFetchBody, { versions: { '1.0.0': { diff --git a/deps/npm/test/lib/commands/diff.js b/deps/npm/test/lib/commands/diff.js index f73a543cb4c..ed0702e3784 100644 --- a/deps/npm/test/lib/commands/diff.js +++ b/deps/npm/test/lib/commands/diff.js @@ -61,10 +61,9 @@ const diff = new Diff(npm) t.test('no args', t => { t.test('in a project dir', async t => { - t.plan(4) + t.plan(3) libnpmdiff = async ([a, b], opts) => { - t.ok(opts.log, 'should be passed a logger') t.equal(a, 'foo@latest', 'should have default spec comparison') t.equal(b, `file:${fooPath}`, 'should compare to cwd') t.match(opts, npm.flatOptions, 'should forward flat options') diff --git a/deps/npm/test/lib/commands/dist-tag.js b/deps/npm/test/lib/commands/dist-tag.js index b83c30e9c64..eb13c7ff02f 100644 --- a/deps/npm/test/lib/commands/dist-tag.js +++ b/deps/npm/test/lib/commands/dist-tag.js @@ -43,7 +43,6 @@ const routeMap = { // XXX overriding this does not appear to do anything, adding t.plan to things // that use it fails the test let npmRegistryFetchMock = (url, opts) => { - npmRegistryFetchLog = opts.log if (url === '/-/package/foo/dist-tags') { throw new Error('no package found') } @@ -51,9 +50,7 @@ let npmRegistryFetchMock = (url, opts) => { return routeMap[url] } -let npmRegistryFetchLog npmRegistryFetchMock.json = async (url, opts) => { - npmRegistryFetchLog = opts.log return routeMap[url] } @@ -86,10 +83,6 @@ const npm = mockNpm({ }) const distTag = new DistTag(npm) -t.afterEach(() => { - npmRegistryFetchLog = null -}) - t.test('ls in current package', async t => { npm.prefix = t.testdir({ 'package.json': JSON.stringify({ @@ -97,7 +90,6 @@ t.test('ls in current package', async t => { }), }) await distTag.exec(['ls']) - t.ok(npmRegistryFetchLog, 'is passed a logger') t.matchSnapshot( result, 'should list available tags for current package' @@ -299,7 +291,6 @@ t.test('add new tag', async t => { }) npmRegistryFetchMock = async (url, opts) => { - t.ok(opts.log, 'is passed a logger') t.equal(opts.method, 'PUT', 'should trigger request to add new tag') t.equal(opts.body, '7.7.7', 'should point to expected version') } @@ -366,7 +357,6 @@ t.test('remove existing tag', async t => { } npm.prefix = t.testdir({}) await distTag.exec(['rm', '@scoped/another', 'c']) - t.ok(npmRegistryFetchLog, 'is passed a logger') t.matchSnapshot(log, 'should log remove info') t.matchSnapshot(result, 'should return success msg') }) diff --git a/deps/npm/test/lib/commands/doctor.js b/deps/npm/test/lib/commands/doctor.js index 51b6111a0ae..dee2110ff3c 100644 --- a/deps/npm/test/lib/commands/doctor.js +++ b/deps/npm/test/lib/commands/doctor.js @@ -4,6 +4,7 @@ const { join } = require('path') const fs = require('fs') const ansiTrim = require('../../../lib/utils/ansi-trim.js') const isWindows = require('../../../lib/utils/is-windows.js') +const { fake: mockNpm } = require('../../fixtures/mock-npm') // getuid and getgid do not exist in windows, so we shim them // to return 0, as that is the value that lstat will assign the @@ -61,15 +62,18 @@ const clearLogs = () => { } } -const npm = { +const npm = mockNpm({ flatOptions: { registry: 'https://registry.npmjs.org/', }, + config: { + loglevel: 'info', + }, version: '7.1.0', output: data => { output.push(data) }, -} +}) let latestNpm = npm.version const pacote = { @@ -211,7 +215,7 @@ t.test('node versions', t => { npm.globalDir = dir npm.localBin = dir npm.globalBin = dir - mocks.npmlog.level = 'info' + npm.config.set('loglevel', 'silent') st.teardown(() => { delete npm.cache @@ -220,7 +224,7 @@ t.test('node versions', t => { delete npm.globalDir delete npm.localBin delete npm.globalBin - mocks.npmlog.level = 'error' + npm.config.set('loglevel', 'info') clearLogs() }) diff --git a/deps/npm/test/lib/commands/hook.js b/deps/npm/test/lib/commands/hook.js index a4eee711fe8..60a59a3fe7a 100644 --- a/deps/npm/test/lib/commands/hook.js +++ b/deps/npm/test/lib/commands/hook.js @@ -1,18 +1,20 @@ const t = require('tap') +const { fake: mockNpm } = require('../../fixtures/mock-npm') const output = [] -const npm = { +const npm = mockNpm({ flatOptions: { json: false, parseable: false, - silent: false, - loglevel: 'info', unicode: false, }, + config: { + loglevel: 'info', + }, output: msg => { output.push(msg) }, -} +}) const pkgTypes = { semver: 'package', @@ -78,7 +80,6 @@ t.test('npm hook add', async t => { await hook.exec(['add', 'semver', 'https://google.com', 'some-secret']) - t.ok(hookArgs.opts.log, 'is passed a logger') t.match( hookArgs, { @@ -102,7 +103,6 @@ t.test('npm hook add - unicode output', async t => { await hook.exec(['add', 'semver', 'https://google.com', 'some-secret']) - t.ok(hookArgs.opts.log, 'is passed a logger') t.match( hookArgs, { @@ -126,7 +126,6 @@ t.test('npm hook add - json output', async t => { await hook.exec(['add', '@npmcli', 'https://google.com', 'some-secret']) - t.ok(hookArgs.opts.log, 'is passed a logger') t.match( hookArgs, { @@ -159,7 +158,6 @@ t.test('npm hook add - parseable output', async t => { await hook.exec(['add', '@npmcli', 'https://google.com', 'some-secret']) - t.ok(hookArgs.opts.log, 'is passed a logger') t.match( hookArgs, { @@ -183,16 +181,15 @@ t.test('npm hook add - parseable output', async t => { }) t.test('npm hook add - silent output', async t => { - npm.flatOptions.silent = true + npm.config.set('loglevel', 'silent') t.teardown(() => { - npm.flatOptions.silent = false + npm.config.set('loglevel', 'info') hookArgs = null output.length = 0 }) await hook.exec(['add', '@npmcli', 'https://google.com', 'some-secret']) - t.ok(hookArgs.opts.log, 'is passed a logger') t.match( hookArgs, { @@ -214,7 +211,6 @@ t.test('npm hook ls', async t => { await hook.exec(['ls']) - t.ok(hookArgs.log, 'is passed a logger') t.match( hookArgs, { @@ -240,7 +236,6 @@ t.test('npm hook ls, no results', async t => { await hook.exec(['ls']) - t.ok(hookArgs.log, 'is passed a logger') t.match( hookArgs, { @@ -270,7 +265,6 @@ t.test('npm hook ls, single result', async t => { await hook.exec(['ls']) - t.ok(hookArgs.log, 'is passed a logger') t.match( hookArgs, { @@ -294,7 +288,6 @@ t.test('npm hook ls - json output', async t => { await hook.exec(['ls']) - t.ok(hookArgs.log, 'is passed a logger') t.match( hookArgs, { @@ -340,7 +333,6 @@ t.test('npm hook ls - parseable output', async t => { await hook.exec(['ls']) - t.ok(hookArgs.log, 'is passed a logger') t.match( hookArgs, { @@ -362,16 +354,15 @@ t.test('npm hook ls - parseable output', async t => { }) t.test('npm hook ls - silent output', async t => { - npm.flatOptions.silent = true + npm.config.set('loglevel', 'silent') t.teardown(() => { - npm.flatOptions.silent = false + npm.config.set('loglevel', 'info') hookArgs = null output.length = 0 }) await hook.exec(['ls']) - t.ok(hookArgs.log, 'is passed a logger') t.match( hookArgs, { @@ -391,7 +382,6 @@ t.test('npm hook rm', async t => { await hook.exec(['rm', '1']) - t.ok(hookArgs.opts.log, 'is passed a logger') t.match( hookArgs, { @@ -413,7 +403,6 @@ t.test('npm hook rm - unicode output', async t => { await hook.exec(['rm', '1']) - t.ok(hookArgs.opts.log, 'is passed a logger') t.match( hookArgs, { @@ -426,16 +415,15 @@ t.test('npm hook rm - unicode output', async t => { }) t.test('npm hook rm - silent output', async t => { - npm.flatOptions.silent = true + npm.config.set('loglevel', 'silent') t.teardown(() => { - npm.flatOptions.silent = false + npm.config.set('loglevel', 'info') hookArgs = null output.length = 0 }) await hook.exec(['rm', '1']) - t.ok(hookArgs.opts.log, 'is passed a logger') t.match( hookArgs, { @@ -457,7 +445,6 @@ t.test('npm hook rm - json output', async t => { await hook.exec(['rm', '1']) - t.ok(hookArgs.opts.log, 'is passed a logger') t.match( hookArgs, { @@ -488,7 +475,6 @@ t.test('npm hook rm - parseable output', async t => { await hook.exec(['rm', '1']) - t.ok(hookArgs.opts.log, 'is passed a logger') t.match( hookArgs, { @@ -515,7 +501,6 @@ t.test('npm hook update', async t => { await hook.exec(['update', '1', 'https://google.com', 'some-secret']) - t.ok(hookArgs.opts.log, 'is passed a logger') t.match( hookArgs, { @@ -539,7 +524,6 @@ t.test('npm hook update - unicode', async t => { await hook.exec(['update', '1', 'https://google.com', 'some-secret']) - t.ok(hookArgs.opts.log, 'is passed a logger') t.match( hookArgs, { @@ -563,7 +547,6 @@ t.test('npm hook update - json output', async t => { await hook.exec(['update', '1', 'https://google.com', 'some-secret']) - t.ok(hookArgs.opts.log, 'is passed a logger') t.match( hookArgs, { @@ -596,7 +579,6 @@ t.test('npm hook update - parseable output', async t => { await hook.exec(['update', '1', 'https://google.com', 'some-secret']) - t.ok(hookArgs.opts.log, 'is passed a logger') t.match( hookArgs, { @@ -618,16 +600,15 @@ t.test('npm hook update - parseable output', async t => { }) t.test('npm hook update - silent output', async t => { - npm.flatOptions.silent = true + npm.config.set('loglevel', 'silent') t.teardown(() => { - npm.flatOptions.silent = false + npm.config.set('loglevel', 'info') hookArgs = null output.length = 0 }) await hook.exec(['update', '1', 'https://google.com', 'some-secret']) - t.ok(hookArgs.opts.log, 'is passed a logger') t.match( hookArgs, { diff --git a/deps/npm/test/lib/commands/logout.js b/deps/npm/test/lib/commands/logout.js index 1a1fbb785c8..73fe8028c78 100644 --- a/deps/npm/test/lib/commands/logout.js +++ b/deps/npm/test/lib/commands/logout.js @@ -31,7 +31,7 @@ t.afterEach(() => { }) t.test('token logout', async t => { - t.plan(6) + t.plan(5) flatOptions['//registry.npmjs.org/:_authToken'] = '@foo/' @@ -62,7 +62,6 @@ t.test('token logout', async t => { await logout.exec([]) - t.ok(result.opts.log, 'should pass a logger') t.match( result, { @@ -92,7 +91,7 @@ t.test('token scoped logout', async t => { config.save = null }) - t.plan(8) + t.plan(7) flatOptions['//diff-registry.npmjs.com/:_authToken'] = '@bar/' flatOptions['//registry.npmjs.org/:_authToken'] = '@foo/' @@ -133,7 +132,6 @@ t.test('token scoped logout', async t => { await logout.exec([]) - t.ok(result.opts.log, 'should pass a logger') t.match( result, { @@ -204,7 +202,7 @@ t.test('ignore invalid scoped registry config', async t => { config.delete = null config.save = null }) - t.plan(5) + t.plan(4) flatOptions['//registry.npmjs.org/:_authToken'] = '@foo/' config.scope = '@myscope' @@ -236,7 +234,6 @@ t.test('ignore invalid scoped registry config', async t => { await logout.exec([]) - t.ok(result.opts.log, 'should pass a logger') t.match( result, { diff --git a/deps/npm/test/lib/commands/org.js b/deps/npm/test/lib/commands/org.js index b716adc0975..3ae951dd5c4 100644 --- a/deps/npm/test/lib/commands/org.js +++ b/deps/npm/test/lib/commands/org.js @@ -1,18 +1,20 @@ const t = require('tap') const ansiTrim = require('../../../lib/utils/ansi-trim.js') +const { fake: mockNpm } = require('../../fixtures/mock-npm') const output = [] -const npm = { +const npm = mockNpm({ flatOptions: { json: false, parseable: false, - silent: false, + }, + config: { loglevel: 'info', }, output: msg => { output.push(msg) }, -} +}) let orgSize = 1 let orgSetArgs = null @@ -83,7 +85,6 @@ t.test('npm org add', async t => { await org.exec(['add', 'orgname', 'username']) - t.ok(orgSetArgs.opts.log, 'got passed a logger') t.match( orgSetArgs, { @@ -149,7 +150,6 @@ t.test('npm org add - more users', async t => { }) await org.exec(['add', 'orgname', 'username']) - t.ok(orgSetArgs.opts.log, 'got passed a logger') t.match( orgSetArgs, { @@ -177,7 +177,6 @@ t.test('npm org add - json output', async t => { await org.exec(['add', 'orgname', 'username']) - t.ok(orgSetArgs.opts.log, 'got passed a logger') t.match( orgSetArgs, { @@ -212,7 +211,6 @@ t.test('npm org add - parseable output', async t => { await org.exec(['add', 'orgname', 'username']) - t.ok(orgSetArgs.opts.log, 'got passed a logger') t.match( orgSetArgs, { @@ -234,16 +232,15 @@ t.test('npm org add - parseable output', async t => { }) t.test('npm org add - silent output', async t => { - npm.flatOptions.silent = true + npm.config.set('loglevel', 'silent') t.teardown(() => { - npm.flatOptions.silent = false + npm.config.set('loglevel', 'info') orgSetArgs = null output.length = 0 }) await org.exec(['add', 'orgname', 'username']) - t.ok(orgSetArgs.opts.log, 'got passed a logger') t.match( orgSetArgs, { @@ -266,7 +263,6 @@ t.test('npm org rm', async t => { await org.exec(['rm', 'orgname', 'username']) - t.ok(orgRmArgs.opts.log, 'got passed a logger') t.match( orgRmArgs, { @@ -276,7 +272,6 @@ t.test('npm org rm', async t => { }, 'libnpmorg.rm received the correct args' ) - t.ok(orgLsArgs.opts.log, 'got passed a logger') t.match( orgLsArgs, { @@ -330,7 +325,6 @@ t.test('npm org rm - one user left', async t => { await org.exec(['rm', 'orgname', 'username']) - t.ok(orgRmArgs.opts.log, 'got passed a logger') t.match( orgRmArgs, { @@ -340,7 +334,6 @@ t.test('npm org rm - one user left', async t => { }, 'libnpmorg.rm received the correct args' ) - t.ok(orgLsArgs.opts.log, 'got passed a logger') t.match( orgLsArgs, { @@ -367,7 +360,6 @@ t.test('npm org rm - json output', async t => { await org.exec(['rm', 'orgname', 'username']) - t.ok(orgRmArgs.opts.log, 'got passed a logger') t.match( orgRmArgs, { @@ -377,7 +369,6 @@ t.test('npm org rm - json output', async t => { }, 'libnpmorg.rm received the correct args' ) - t.ok(orgLsArgs.opts.log, 'got passed a logger') t.match( orgLsArgs, { @@ -409,7 +400,6 @@ t.test('npm org rm - parseable output', async t => { await org.exec(['rm', 'orgname', 'username']) - t.ok(orgRmArgs.opts.log, 'got passed a logger') t.match( orgRmArgs, { @@ -419,7 +409,6 @@ t.test('npm org rm - parseable output', async t => { }, 'libnpmorg.rm received the correct args' ) - t.ok(orgLsArgs.opts.log, 'got passed a logger') t.match( orgLsArgs, { @@ -439,9 +428,9 @@ t.test('npm org rm - parseable output', async t => { }) t.test('npm org rm - silent output', async t => { - npm.flatOptions.silent = true + npm.config.set('loglevel', 'silent') t.teardown(() => { - npm.flatOptions.silent = false + npm.config.set('loglevel', 'info') orgRmArgs = null orgLsArgs = null output.length = 0 @@ -449,7 +438,6 @@ t.test('npm org rm - silent output', async t => { await org.exec(['rm', 'orgname', 'username']) - t.ok(orgRmArgs.opts.log, 'got passed a logger') t.match( orgRmArgs, { @@ -459,7 +447,6 @@ t.test('npm org rm - silent output', async t => { }, 'libnpmorg.rm received the correct args' ) - t.ok(orgLsArgs.opts.log, 'got passed a logger') t.match( orgLsArgs, { @@ -485,7 +472,6 @@ t.test('npm org ls', async t => { await org.exec(['ls', 'orgname']) - t.ok(orgLsArgs.opts.log, 'got passed a logger') t.match( orgLsArgs, { @@ -513,7 +499,6 @@ t.test('npm org ls - user filter', async t => { await org.exec(['ls', 'orgname', 'username']) - t.ok(orgLsArgs.opts.log, 'got passed a logger') t.match( orgLsArgs, { @@ -539,7 +524,6 @@ t.test('npm org ls - user filter, missing user', async t => { await org.exec(['ls', 'orgname', 'username']) - t.ok(orgLsArgs.opts.log, 'got passed a logger') t.match( orgLsArgs, { @@ -578,7 +562,6 @@ t.test('npm org ls - json output', async t => { await org.exec(['ls', 'orgname']) - t.ok(orgLsArgs.opts.log, 'got passed a logger') t.match( orgLsArgs, { @@ -606,7 +589,6 @@ t.test('npm org ls - parseable output', async t => { await org.exec(['ls', 'orgname']) - t.ok(orgLsArgs.opts.log, 'got passed a logger') t.match( orgLsArgs, { @@ -628,14 +610,14 @@ t.test('npm org ls - parseable output', async t => { }) t.test('npm org ls - silent output', async t => { - npm.flatOptions.silent = true + npm.config.set('loglevel', 'silent') orgList = { one: 'developer', two: 'admin', three: 'owner', } t.teardown(() => { - npm.flatOptions.silent = false + npm.config.set('loglevel', 'info') orgList = {} orgLsArgs = null output.length = 0 @@ -643,7 +625,6 @@ t.test('npm org ls - silent output', async t => { await org.exec(['ls', 'orgname']) - t.ok(orgLsArgs.opts.log, 'got passed a logger') t.match( orgLsArgs, { diff --git a/deps/npm/test/lib/commands/owner.js b/deps/npm/test/lib/commands/owner.js index a32a3df9b7d..b5d4d158428 100644 --- a/deps/npm/test/lib/commands/owner.js +++ b/deps/npm/test/lib/commands/owner.js @@ -51,14 +51,13 @@ t.test('owner no args', async t => { }) t.test('owner ls no args', async t => { - t.plan(5) + t.plan(4) result = '' readPackageNameResponse = '@npmcli/map-workspaces' pacote.packument = async (spec, opts) => { t.equal(spec.name, '@npmcli/map-workspaces', 'should use expect pkg name') - t.ok(opts.log, 'is passed a logger') t.match( opts, { @@ -173,11 +172,10 @@ t.test('owner ls <pkg> no maintainers', async t => { }) t.test('owner add <user> <pkg>', async t => { - t.plan(11) + t.plan(8) result = '' npmFetch.json = async (uri, opts) => { - t.ok(opts.log, 'is passed a logger') // retrieve user info from couchdb request if (uri === '/-/user/org.couchdb.user:foo') { t.ok('should request user info') @@ -218,7 +216,6 @@ t.test('owner add <user> <pkg>', async t => { } } pacote.packument = async (spec, opts) => { - t.ok(opts.log, 'is passed a logger') t.equal(spec.name, '@npmcli/map-workspaces', 'should use expect pkg name') t.match( opts, @@ -247,7 +244,6 @@ t.test('owner add <user> cwd package', async t => { result = '' readPackageNameResponse = '@npmcli/map-workspaces' npmFetch.json = async (uri, opts) => { - t.ok(opts.log, 'is passed a logger') // retrieve user info from couchdb request if (uri === '/-/user/org.couchdb.user:foo') { return { @@ -277,7 +273,7 @@ t.test('owner add <user> cwd package', async t => { }) t.test('owner add <user> <pkg> already an owner', async t => { - t.plan(3) + t.plan(2) result = '' log.info = (title, msg) => { @@ -289,7 +285,6 @@ t.test('owner add <user> <pkg> already an owner', async t => { ) } npmFetch.json = async (uri, opts) => { - t.ok(opts.log, 'is passed a logger') // retrieve user info from couchdb request if (uri === '/-/user/org.couchdb.user:ruyadorno') { return { @@ -321,7 +316,6 @@ t.test('owner add <user> <pkg> fails to retrieve user', async t => { result = '' readPackageNameResponse = npmFetch.json = async (uri, opts) => { - t.ok(opts.log, 'is passed a logger') // retrieve borked user info from couchdb request if (uri === '/-/user/org.couchdb.user:foo') { return { ok: false } @@ -352,7 +346,6 @@ t.test('owner add <user> <pkg> fails to retrieve user', async t => { t.test('owner add <user> <pkg> fails to PUT updates', async t => { result = '' npmFetch.json = async (uri, opts) => { - t.ok(opts.log, 'is passed a logger') // retrieve user info from couchdb request if (uri === '/-/user/org.couchdb.user:foo') { return { @@ -389,7 +382,7 @@ t.test('owner add <user> <pkg> fails to PUT updates', async t => { }) t.test('owner add <user> <pkg> fails to retrieve user info', async t => { - t.plan(4) + t.plan(3) result = '' log.error = (title, msg) => { @@ -397,7 +390,6 @@ t.test('owner add <user> <pkg> fails to retrieve user info', async t => { t.equal(msg, 'Error getting user data for foo') } npmFetch.json = async (uri, opts) => { - t.ok(opts.log, 'is passed a logger') // retrieve user info from couchdb request if (uri === '/-/user/org.couchdb.user:foo') { throw Object.assign( @@ -429,7 +421,6 @@ t.test('owner add <user> <pkg> fails to retrieve user info', async t => { t.test('owner add <user> <pkg> no previous maintainers property from server', async t => { result = '' npmFetch.json = async (uri, opts) => { - t.ok(opts.log, 'is passed a logger') // retrieve user info from couchdb request if (uri === '/-/user/org.couchdb.user:foo') { return { @@ -496,11 +487,10 @@ t.test('owner add <user> no cwd package', async t => { }) t.test('owner rm <user> <pkg>', async t => { - t.plan(11) + t.plan(8) result = '' npmFetch.json = async (uri, opts) => { - t.ok(opts.log, 'is passed a logger') // retrieve user info from couchdb request if (uri === '/-/user/org.couchdb.user:ruyadorno') { t.ok('should request user info') @@ -534,7 +524,6 @@ t.test('owner rm <user> <pkg>', async t => { } } pacote.packument = async (spec, opts) => { - t.ok(opts.log, 'is passed a logger') t.equal(spec.name, '@npmcli/map-workspaces', 'should use expect pkg name') t.match( opts, @@ -560,7 +549,7 @@ t.test('owner rm <user> <pkg>', async t => { }) t.test('owner rm <user> <pkg> not a current owner', async t => { - t.plan(3) + t.plan(2) result = '' log.info = (title, msg) => { @@ -568,7 +557,6 @@ t.test('owner rm <user> <pkg> not a current owner', async t => { t.equal(msg, 'Not a package owner: foo', 'should log.info not a package owner msg') } npmFetch.json = async (uri, opts) => { - t.ok(opts.log, 'is passed a logger') // retrieve user info from couchdb request if (uri === '/-/user/org.couchdb.user:foo') { return { @@ -602,7 +590,6 @@ t.test('owner rm <user> cwd package', async t => { result = '' readPackageNameResponse = '@npmcli/map-workspaces' npmFetch.json = async (uri, opts) => { - t.ok(opts.log, 'is passed a logger') // retrieve user info from couchdb request if (uri === '/-/user/org.couchdb.user:ruyadorno') { return { @@ -635,7 +622,6 @@ t.test('owner rm <user> only user', async t => { result = '' readPackageNameResponse = 'ipt' npmFetch.json = async (uri, opts) => { - t.ok(opts.log, 'is passed a logger') // retrieve user info from couchdb request if (uri === '/-/user/org.couchdb.user:ruyadorno') { return { diff --git a/deps/npm/test/lib/commands/ping.js b/deps/npm/test/lib/commands/ping.js index 19ba9d586b7..f808e0ac3ba 100644 --- a/deps/npm/test/lib/commands/ping.js +++ b/deps/npm/test/lib/commands/ping.js @@ -2,13 +2,12 @@ const t = require('tap') const { fake: mockNpm } = require('../../fixtures/mock-npm') t.test('pings', async t => { - t.plan(7) + t.plan(6) const registry = 'https://registry.npmjs.org' let noticeCalls = 0 const Ping = t.mock('../../../lib/commands/ping.js', { '../../../lib/utils/ping.js': function (spec) { - t.ok(spec.log, 'is passed a logger') t.equal(spec.registry, registry, 'passes flatOptions') return {} }, @@ -36,14 +35,13 @@ t.test('pings', async t => { }) t.test('pings and logs details', async t => { - t.plan(9) + t.plan(8) const registry = 'https://registry.npmjs.org' const details = { extra: 'data' } let noticeCalls = 0 const Ping = t.mock('../../../lib/commands/ping.js', { '../../../lib/utils/ping.js': function (spec) { - t.ok(spec.log, 'is passed a logger') t.equal(spec.registry, registry, 'passes flatOptions') return details }, @@ -75,14 +73,13 @@ t.test('pings and logs details', async t => { }) t.test('pings and returns json', async t => { - t.plan(10) + t.plan(9) const registry = 'https://registry.npmjs.org' const details = { extra: 'data' } let noticeCalls = 0 const Ping = t.mock('../../../lib/commands/ping.js', { '../../../lib/utils/ping.js': function (spec) { - t.ok(spec.log, 'is passed a logger') t.equal(spec.registry, registry, 'passes flatOptions') return details }, diff --git a/deps/npm/test/lib/commands/publish.js b/deps/npm/test/lib/commands/publish.js index 52d4c1b3429..0a7f961bfbd 100644 --- a/deps/npm/test/lib/commands/publish.js +++ b/deps/npm/test/lib/commands/publish.js @@ -1,15 +1,6 @@ const t = require('tap') const { fake: mockNpm } = require('../../fixtures/mock-npm') const fs = require('fs') -const log = require('../../../lib/utils/log-shim') - -// The way we set loglevel is kind of convoluted, and there is no way to affect -// it from these tests, which only interact with lib/publish.js, which assumes -// that the code that is requiring and calling lib/publish.js has already -// taken care of the loglevel -const _level = log.level -t.beforeEach(() => (log.level = 'silent')) -t.teardown(() => (log.level = _level)) t.cleanSnapshot = data => { return data.replace(/^ *"gitHead": .*$\n/gm, '') @@ -25,7 +16,7 @@ t.test( /* eslint-disable-next-line max-len */ 'should publish with libnpmpublish, passing through flatOptions and respecting publishConfig.registry', async t => { - t.plan(7) + t.plan(6) const registry = 'https://some.registry' const publishConfig = { registry } @@ -59,7 +50,6 @@ t.test( t.match(manifest, { name: 'my-cool-pkg', version: '1.0.0' }, 'gets manifest') t.type(tarData, Buffer, 'tarData is a buffer') t.ok(opts, 'gets opts object') - t.ok(opts.log, 'gets passed a logger') t.same(opts.customValue, true, 'flatOptions values are passed through') t.same(opts.registry, registry, 'publishConfig.registry is passed through') }, @@ -82,7 +72,7 @@ t.test( ) t.test('re-loads publishConfig.registry if added during script process', async t => { - t.plan(6) + t.plan(5) const registry = 'https://some.registry' const publishConfig = { registry } const testDir = t.testdir({ @@ -113,7 +103,6 @@ t.test('re-loads publishConfig.registry if added during script process', async t t.match(manifest, { name: 'my-cool-pkg', version: '1.0.0' }, 'gets manifest') t.type(tarData, Buffer, 'tarData is a buffer') t.ok(opts, 'gets opts object') - t.ok(opts.log, 'gets passed a logger') t.same(opts.registry, registry, 'publishConfig.registry is passed through') }, }, @@ -142,7 +131,6 @@ t.test('if loglevel=info and json, should not output package contents', async t ), }) - log.level = 'info' const Publish = t.mock('../../../lib/commands/publish.js', { '../../../lib/utils/tar.js': { getContents: () => ({ @@ -159,11 +147,11 @@ t.test('if loglevel=info and json, should not output package contents', async t }, }) const npm = mockNpm({ - config: { json: true }, + config: { json: true, loglevel: 'info' }, output: () => { t.pass('output is called') }, - }) + }, t) npm.config.getCredentialsByURI = uri => { t.same(uri, npm.config.get('registry'), 'gets credentials for expected registry') return { token: 'some.registry.token' } @@ -206,11 +194,11 @@ t.test( }, }) const npm = mockNpm({ - config: { 'dry-run': true }, + config: { 'dry-run': true, loglevel: 'silent' }, output: () => { throw new Error('should not output in dry run mode') }, - }) + }, t) npm.config.getCredentialsByURI = () => { throw new Error('should not call getCredentialsByURI in dry run') } @@ -238,7 +226,6 @@ t.test( ), }) - log.level = 'info' const Publish = t.mock('../../../lib/commands/publish.js', { '../../../lib/utils/tar.js': { getContents: () => ({ @@ -255,11 +242,11 @@ t.test( }, }) const npm = mockNpm({ - config: { 'dry-run': true }, + config: { 'dry-run': true, loglevel: 'info' }, output: () => { t.pass('output fn is called') }, - }) + }, t) npm.config.getCredentialsByURI = () => { throw new Error('should not call getCredentialsByURI in dry run') } @@ -294,7 +281,7 @@ t.test('throws when invalid tag', async t => { }) t.test('can publish a tarball', async t => { - t.plan(4) + t.plan(3) const testDir = t.testdir({ tarball: {}, @@ -319,7 +306,6 @@ t.test('can publish a tarball', async t => { const Publish = t.mock('../../../lib/commands/publish.js', { libnpmpublish: { publish: (manifest, tarData, opts) => { - t.ok(opts.log, 'gets passed a logger') t.match( manifest, { @@ -415,7 +401,7 @@ t.test('should check auth for scope specific registry', async t => { }) t.test('should use auth for scope specific registry', async t => { - t.plan(4) + t.plan(3) const registry = 'https://some.registry' const testDir = t.testdir({ 'package.json': JSON.stringify( @@ -432,7 +418,6 @@ t.test('should use auth for scope specific registry', async t => { libnpmpublish: { publish: (manifest, tarData, opts) => { t.ok(opts, 'gets opts object') - t.ok(opts.log, 'gets passed a logger') t.same(opts['@npm:registry'], registry, 'scope specific registry is passed through') }, }, @@ -450,7 +435,7 @@ t.test('should use auth for scope specific registry', async t => { }) t.test('read registry only from publishConfig', async t => { - t.plan(4) + t.plan(3) const registry = 'https://some.registry' const publishConfig = { registry } @@ -469,7 +454,6 @@ t.test('read registry only from publishConfig', async t => { const Publish = t.mock('../../../lib/commands/publish.js', { libnpmpublish: { publish: (manifest, tarData, opts) => { - t.ok(opts.log, 'gets passed a logger') t.match(manifest, { name: 'my-cool-pkg', version: '1.0.0' }, 'gets manifest') t.same(opts.registry, registry, 'publishConfig is passed through') }, @@ -486,7 +470,7 @@ t.test('read registry only from publishConfig', async t => { }) t.test('able to publish after if encountered multiple configs', async t => { - t.plan(3) + t.plan(2) const registry = 'https://some.registry' const tag = 'better-tag' @@ -515,7 +499,6 @@ t.test('able to publish after if encountered multiple configs', async t => { const Publish = t.mock('../../../lib/commands/publish.js', { libnpmpublish: { publish: (manifest, tarData, opts) => { - t.ok(opts.log, 'gets passed a logger') t.same(opts.defaultTag, tag, 'gets option for expected tag') }, }, @@ -526,6 +509,7 @@ t.test('able to publish after if encountered multiple configs', async t => { defaultTag: 'better-tag', registry: 'https://other.registry', }, + output () {}, config: { get: key => configList[0][key], list: configList, @@ -604,14 +588,12 @@ t.test('workspaces', t => { const publish = new Publish(npm) t.test('all workspaces', async t => { - log.level = 'info' await publish.execWorkspaces([], []) t.matchSnapshot(publishes, 'should publish all workspaces') t.matchSnapshot(outputs, 'should output all publishes') }) t.test('one workspace', async t => { - log.level = 'info' await publish.execWorkspaces([], ['workspace-a']) t.matchSnapshot(publishes, 'should publish given workspace') t.matchSnapshot(outputs, 'should output one publish') @@ -623,7 +605,6 @@ t.test('workspaces', t => { }) t.test('json', async t => { - log.level = 'info' npm.config.set('json', true) await publish.execWorkspaces([], []) t.matchSnapshot(publishes, 'should publish all workspaces') @@ -680,10 +661,11 @@ t.test('private workspaces', async t => { }, } const npm = mockNpm({ + config: { loglevel: 'info' }, output: o => { outputs.push(o) }, - }) + }, t) npm.localPrefix = testDir npm.config.getCredentialsByURI = uri => { return { token: 'some.registry.token' } @@ -692,7 +674,6 @@ t.test('private workspaces', async t => { t.test('with color', async t => { t.plan(4) - log.level = 'info' const Publish = t.mock('../../../lib/commands/publish.js', { ...mocks, 'proc-log': { @@ -721,7 +702,6 @@ t.test('private workspaces', async t => { t.test('colorless', async t => { t.plan(4) - log.level = 'info' const Publish = t.mock('../../../lib/commands/publish.js', { ...mocks, 'proc-log': { @@ -754,7 +734,6 @@ t.test('private workspaces', async t => { if (manifest.private) { throw new Error('ERR') } - t.ok(opts.log, 'gets passed a logger') publishes.push(manifest) }, }, @@ -794,7 +773,6 @@ t.test('runs correct lifecycle scripts', async t => { }) const scripts = [] - log.level = 'info' const Publish = t.mock('../../../lib/commands/publish.js', { '@npmcli/run-script': args => { scripts.push(args) @@ -814,10 +792,11 @@ t.test('runs correct lifecycle scripts', async t => { }, }) const npm = mockNpm({ + config: { loglevel: 'info' }, output: () => { t.pass('output is called') }, - }) + }, t) npm.config.getCredentialsByURI = uri => { t.same(uri, npm.config.get('registry'), 'gets credentials for expected registry') return { token: 'some.registry.token' } @@ -845,7 +824,6 @@ t.test('does not run scripts on --ignore-scripts', async t => { ), }) - log.level = 'info' const Publish = t.mock('../../../lib/commands/publish.js', { '@npmcli/run-script': () => { t.fail('should not call run-script') @@ -865,11 +843,11 @@ t.test('does not run scripts on --ignore-scripts', async t => { }, }) const npm = mockNpm({ - config: { 'ignore-scripts': true }, + config: { 'ignore-scripts': true, loglevel: 'info' }, output: () => { t.pass('output is called') }, - }) + }, t) npm.config.getCredentialsByURI = uri => { t.same(uri, npm.config.get('registry'), 'gets credentials for expected registry') return { token: 'some.registry.token' } diff --git a/deps/npm/test/lib/commands/run-script.js b/deps/npm/test/lib/commands/run-script.js index ea0227cda08..834b61e7474 100644 --- a/deps/npm/test/lib/commands/run-script.js +++ b/deps/npm/test/lib/commands/run-script.js @@ -10,10 +10,12 @@ const RUN_SCRIPTS = [] const flatOptions = { scriptShell: undefined, } +const defaultLoglevel = 'info' const config = { json: false, parseable: false, 'if-present': false, + loglevel: defaultLoglevel, } const npm = mockNpm({ @@ -26,20 +28,21 @@ const npm = mockNpm({ output: (...msg) => output.push(msg), }) -const output = [] - -const npmlog = { - disableProgress: () => null, - level: 'warn', +const setLoglevel = (t, level) => { + npm.config.set('loglevel', level) + t.teardown(() => { + npm.config.set('loglevel', defaultLoglevel) + }) } +const output = [] + const log = { error: () => null, } t.afterEach(() => { npm.color = false - npmlog.level = 'warn' log.error = () => null output.length = 0 RUN_SCRIPTS.length = 0 @@ -58,7 +61,6 @@ const getRS = windows => { isServerPackage: require('@npmcli/run-script').isServerPackage, } ), - npmlog, 'proc-log': log, '../../../lib/utils/is-windows-shell.js': windows, }) @@ -359,10 +361,7 @@ t.test('skip pre/post hooks when using ignoreScripts', async t => { }) t.test('run silent', async t => { - npmlog.level = 'silent' - t.teardown(() => { - npmlog.level = 'warn' - }) + setLoglevel(t, 'silent') npm.localPrefix = t.testdir({ 'package.json': JSON.stringify({ @@ -440,12 +439,11 @@ t.test('list scripts', t => { }) t.test('silent', async t => { - npmlog.level = 'silent' + setLoglevel(t, 'silent') await runScript.exec([]) t.strictSame(output, []) }) t.test('warn json', async t => { - npmlog.level = 'warn' config.json = true await runScript.exec([]) t.strictSame(output, [[JSON.stringify(scripts, 0, 2)]], 'json report') @@ -723,7 +721,7 @@ t.test('workspaces', t => { }) t.test('list no scripts --loglevel=silent', async t => { - npmlog.level = 'silent' + setLoglevel(t, 'silent') await runScript.execWorkspaces([], []) t.strictSame(output, []) }) @@ -860,7 +858,6 @@ t.test('workspaces', t => { '@npmcli/run-script': () => { throw new Error('err') }, - npmlog, 'proc-log': log, '../../../lib/utils/is-windows-shell.js': false, }) @@ -879,7 +876,6 @@ t.test('workspaces', t => { RUN_SCRIPTS.push(opts) }, - npmlog, 'proc-log': log, '../../../lib/utils/is-windows-shell.js': false, }) diff --git a/deps/npm/test/lib/commands/star.js b/deps/npm/test/lib/commands/star.js index 2f4ddc9dc64..4d19b32e1d2 100644 --- a/deps/npm/test/lib/commands/star.js +++ b/deps/npm/test/lib/commands/star.js @@ -42,10 +42,9 @@ t.test('no args', async t => { }) t.test('star a package', async t => { - t.plan(6) + t.plan(4) const pkgName = '@npmcli/arborist' npmFetch.json = async (uri, opts) => { - t.ok(opts.log, 'is passed a logger') return { _id: pkgName, _rev: 'hash', @@ -70,11 +69,10 @@ t.test('star a package', async t => { }) t.test('unstar a package', async t => { - t.plan(6) + t.plan(4) const pkgName = '@npmcli/arborist' config['star.unstar'] = true npmFetch.json = async (uri, opts) => { - t.ok(opts.log, 'is passed a logger') return { _id: pkgName, _rev: 'hash', diff --git a/deps/npm/test/lib/commands/team.js b/deps/npm/test/lib/commands/team.js index 96260835fa2..0d5378b5306 100644 --- a/deps/npm/test/lib/commands/team.js +++ b/deps/npm/test/lib/commands/team.js @@ -1,4 +1,5 @@ const t = require('tap') +const { fake: mockNpm } = require('../../fixtures/mock-npm') let result = '' const libnpmteam = { @@ -9,12 +10,15 @@ const libnpmteam = { async lsUsers () {}, async rm () {}, } -const npm = { +const npm = mockNpm({ flatOptions: {}, + config: { + loglevel: 'info', + }, output: (...msg) => { result += msg.join('\n') }, -} +}) const mocks = { libnpmteam, 'cli-columns': a => a.join(' '), @@ -25,6 +29,7 @@ const mocks = { t.afterEach(() => { result = '' npm.flatOptions = {} + npm.config.set('loglevel', 'info') }) const Team = t.mock('../../../lib/commands/team.js', mocks) @@ -73,7 +78,7 @@ t.test('team add <scope:team> <user>', async t => { }) t.test('--silent', async t => { - npm.flatOptions.silent = true + npm.config.set('loglevel', 'silent') await team.exec(['add', '@npmcli:developers', 'foo']) @@ -115,7 +120,7 @@ t.test('team create <scope:team>', async t => { }) t.test('--silent', async t => { - npm.flatOptions.silent = true + npm.config.set('loglevel', 'silent') await team.exec(['create', '@npmcli:newteam']) @@ -149,7 +154,7 @@ t.test('team destroy <scope:team>', async t => { }) t.test('--silent', async t => { - npm.flatOptions.silent = true + npm.config.set('loglevel', 'silent') await team.exec(['destroy', '@npmcli:newteam']) t.same(result, '', 'should not output destroy if silent') }) @@ -198,7 +203,7 @@ t.test('team ls <scope>', async t => { }) t.test('--silent', async t => { - npm.flatOptions.silent = true + npm.config.set('loglevel', 'silent') await team.exec(['ls', '@npmcli']) t.same(result, '', 'should not list teams if silent') }) @@ -278,7 +283,7 @@ t.test('team ls <scope:team>', async t => { }) t.test('--silent', async t => { - npm.flatOptions.silent = true + npm.config.set('loglevel', 'silent') await team.exec(['ls', '@npmcli:developers']) t.same(result, '', 'should not output users if silent') }) @@ -345,7 +350,7 @@ t.test('team rm <scope:team> <user>', async t => { }) t.test('--silent', async t => { - npm.flatOptions.silent = true + npm.config.set('loglevel', 'silent') await team.exec(['rm', '@npmcli:newteam', 'foo']) t.same(result, '', 'should not output rm result if silent') }) diff --git a/deps/npm/test/lib/commands/unpublish.js b/deps/npm/test/lib/commands/unpublish.js index 99d55294fba..b9c94e5d526 100644 --- a/deps/npm/test/lib/commands/unpublish.js +++ b/deps/npm/test/lib/commands/unpublish.js @@ -22,7 +22,6 @@ const singleVersion = async () => { const config = { force: false, - loglevel: 'silly', } const testDir = t.testdir({ @@ -54,7 +53,7 @@ t.afterEach(() => { result = '' config['dry-run'] = false config.force = false - config.loglevel = 'silly' + npm.config.set('loglevel', 'info') }) t.test('no args --force', async t => { @@ -76,7 +75,6 @@ t.test('no args --force', async t => { const libnpmpublish = { unpublish (spec, opts) { - t.ok(opts.log, 'gets passed a logger') t.equal(spec.raw, 'pkg@1.0.0', 'should unpublish expected spec') t.match( opts, @@ -178,7 +176,6 @@ t.test('unpublish <pkg>@version', async t => { const libnpmpublish = { unpublish (spec, opts) { - t.ok(opts.log, 'gets passed a logger') t.equal(spec.raw, 'pkg@1.0.0', 'should unpublish expected parsed spec') }, } @@ -240,7 +237,7 @@ t.test('unpublish <pkg> --force no version set', async t => { }) t.test('silent', async t => { - config.loglevel = 'silent' + npm.config.set('loglevel', 'silent') const Unpublish = t.mock('../../../lib/commands/unpublish.js', { ...mocks, diff --git a/deps/npm/test/lib/commands/update.js b/deps/npm/test/lib/commands/update.js index 2b464bfabbf..ae937646612 100644 --- a/deps/npm/test/lib/commands/update.js +++ b/deps/npm/test/lib/commands/update.js @@ -27,7 +27,7 @@ t.afterEach(() => { }) t.test('no args', async t => { - t.plan(5) + t.plan(4) npm.prefix = '/project/a' @@ -44,7 +44,6 @@ t.test('no args', async t => { }, 'should call arborist contructor with expected args' ) - t.match(log, {}, 'log is passed in') } reify ({ save, update }) { @@ -66,7 +65,7 @@ t.test('no args', async t => { }) t.test('with args', async t => { - t.plan(5) + t.plan(4) npm.prefix = '/project/a' config.save = true @@ -84,7 +83,6 @@ t.test('with args', async t => { }, 'should call arborist contructor with expected args' ) - t.match(log, {}, 'log is passed in') } reify ({ save, update }) { @@ -130,7 +128,7 @@ t.test('update --depth=<number>', async t => { }) t.test('update --global', async t => { - t.plan(3) + t.plan(2) const normalizePath = p => p.replace(/\\+/g, '/') const redactCwd = (path) => normalizePath(path) @@ -149,8 +147,6 @@ t.test('update --global', async t => { 'should call arborist contructor with expected options' ) - t.match(log, {}, 'log is passed in') - t.equal( redactCwd(path), '{CWD}/global/lib', diff --git a/deps/npm/test/lib/utils/config/definitions.js b/deps/npm/test/lib/utils/config/definitions.js index bf4b48709ae..a5b34a7499f 100644 --- a/deps/npm/test/lib/utils/config/definitions.js +++ b/deps/npm/test/lib/utils/config/definitions.js @@ -929,3 +929,12 @@ t.test('lockfile version', t => { t.match(flat.lockfileVersion, 3, 'flattens to a number') t.end() }) + +t.test('loglevel silent', t => { + const flat = {} + definitions.loglevel.flatten('loglevel', { + loglevel: 'silent', + }, flat) + t.match(flat.silent, true, 'flattens to assign silent') + t.end() +}) diff --git a/deps/npm/test/lib/utils/exit-handler.js b/deps/npm/test/lib/utils/exit-handler.js index 54bf48f89b0..6a96d92ddb2 100644 --- a/deps/npm/test/lib/utils/exit-handler.js +++ b/deps/npm/test/lib/utils/exit-handler.js @@ -89,9 +89,9 @@ const mockExitHandler = async (t, { init, load, testdir, config } = {}) => { ...rest, errors, npm, - // // Make it async to make testing ergonomics a little - // // easier so we dont need to t.plan() every test to - // // make sure we get process.exit called + // Make it async to make testing ergonomics a little + // easier so we dont need to t.plan() every test to + // make sure we get process.exit called exitHandler: (...args) => new Promise(resolve => { process.once('exit', resolve) exitHandler(...args) diff --git a/deps/npm/test/lib/utils/reify-output.js b/deps/npm/test/lib/utils/reify-output.js index 4e9ed7133c1..b38a14de339 100644 --- a/deps/npm/test/lib/utils/reify-output.js +++ b/deps/npm/test/lib/utils/reify-output.js @@ -1,9 +1,4 @@ const t = require('tap') -const log = require('../../../lib/utils/log-shim') - -const _level = log.level -t.beforeEach(() => log.level = 'warn') -t.teardown(() => log.level = _level) t.cleanSnapshot = str => str.replace(/in [0-9]+m?s/g, 'in {TIME}') @@ -13,6 +8,7 @@ const settings = { const npm = { started: Date.now(), flatOptions: settings, + silent: false, } const reifyOutput = require('../../../lib/utils/reify-output.js') t.test('missing info', (t) => { @@ -236,10 +232,13 @@ t.test('showing and not showing audit report', async t => { } t.test('no output when silent', t => { + t.teardown(() => { + delete npm.silent + }) + npm.silent = true npm.output = out => { t.fail('should not get output when silent', { actual: out }) } - log.level = 'silent' reifyOutput(npm, { actualTree: { inventory: { size: 999 }, children: [] }, auditReport, diff --git a/deps/npm/test/lib/utils/update-notifier.js b/deps/npm/test/lib/utils/update-notifier.js index a7a800c602f..fa4af29476f 100644 --- a/deps/npm/test/lib/utils/update-notifier.js +++ b/deps/npm/test/lib/utils/update-notifier.js @@ -84,12 +84,11 @@ t.afterEach(() => { }) const runUpdateNotifier = async ({ color = true, ...npmOptions } = {}) => { - const _npm = { ...defaultNpm, ...npmOptions } + const _npm = { ...defaultNpm, ...npmOptions, logColor: color } await t.mock('../../../lib/utils/update-notifier.js', { '@npmcli/ci-detect': () => ciMock, pacote, fs, - npmlog: { useColor: () => color }, })(_npm) return _npm.updateNotification } |