Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/deps
diff options
context:
space:
mode:
Diffstat (limited to 'deps')
-rw-r--r--deps/npm/AUTHORS4
-rw-r--r--deps/npm/CHANGELOG.md94
-rw-r--r--deps/npm/CONTRIBUTING.md2
-rw-r--r--deps/npm/docs/content/commands/npm-cache.md10
-rw-r--r--deps/npm/docs/content/commands/npm-ci.md2
-rw-r--r--deps/npm/docs/content/commands/npm-dedupe.md8
-rw-r--r--deps/npm/docs/content/commands/npm-deprecate.md4
-rw-r--r--deps/npm/docs/content/commands/npm-explore.md1
-rw-r--r--deps/npm/docs/content/commands/npm-find-dupes.md8
-rw-r--r--deps/npm/docs/content/commands/npm-install.md1
-rw-r--r--deps/npm/docs/content/commands/npm-unpublish.md4
-rw-r--r--deps/npm/docs/content/commands/npm-view.md2
-rw-r--r--deps/npm/docs/content/commands/npm.md2
-rw-r--r--deps/npm/docs/content/configuring-npm/folders.md2
-rw-r--r--deps/npm/docs/content/configuring-npm/package-json.md2
-rw-r--r--deps/npm/docs/content/using-npm/config.md5
-rw-r--r--deps/npm/docs/content/using-npm/scripts.md7
-rw-r--r--deps/npm/docs/output/commands/npm-cache.html10
-rw-r--r--deps/npm/docs/output/commands/npm-ci.html2
-rw-r--r--deps/npm/docs/output/commands/npm-dedupe.html8
-rw-r--r--deps/npm/docs/output/commands/npm-deprecate.html4
-rw-r--r--deps/npm/docs/output/commands/npm-explore.html1
-rw-r--r--deps/npm/docs/output/commands/npm-find-dupes.html8
-rw-r--r--deps/npm/docs/output/commands/npm-install.html1
-rw-r--r--deps/npm/docs/output/commands/npm-ls.html2
-rw-r--r--deps/npm/docs/output/commands/npm-unpublish.html4
-rw-r--r--deps/npm/docs/output/commands/npm-view.html2
-rw-r--r--deps/npm/docs/output/commands/npm.html4
-rw-r--r--deps/npm/docs/output/configuring-npm/folders.html2
-rw-r--r--deps/npm/docs/output/configuring-npm/package-json.html2
-rw-r--r--deps/npm/docs/output/using-npm/config.html5
-rw-r--r--deps/npm/docs/output/using-npm/scripts.html9
-rw-r--r--deps/npm/lib/cache.js40
-rw-r--r--deps/npm/lib/config.js4
-rw-r--r--deps/npm/lib/help.js2
-rw-r--r--deps/npm/lib/ls.js2
-rw-r--r--deps/npm/lib/outdated.js4
-rw-r--r--deps/npm/lib/utils/completion/installed-deep.js2
-rw-r--r--deps/npm/lib/utils/config/definitions.js7
-rw-r--r--deps/npm/lib/utils/config/describe-all.js2
-rw-r--r--deps/npm/lib/utils/npm-usage.js2
-rw-r--r--deps/npm/lib/utils/tar.js4
-rw-r--r--deps/npm/lib/view.js5
-rw-r--r--deps/npm/man/man1/npm-access.12
-rw-r--r--deps/npm/man/man1/npm-adduser.12
-rw-r--r--deps/npm/man/man1/npm-audit.12
-rw-r--r--deps/npm/man/man1/npm-bin.12
-rw-r--r--deps/npm/man/man1/npm-bugs.12
-rw-r--r--deps/npm/man/man1/npm-cache.112
-rw-r--r--deps/npm/man/man1/npm-ci.14
-rw-r--r--deps/npm/man/man1/npm-completion.12
-rw-r--r--deps/npm/man/man1/npm-config.12
-rw-r--r--deps/npm/man/man1/npm-dedupe.110
-rw-r--r--deps/npm/man/man1/npm-deprecate.16
-rw-r--r--deps/npm/man/man1/npm-diff.12
-rw-r--r--deps/npm/man/man1/npm-dist-tag.12
-rw-r--r--deps/npm/man/man1/npm-docs.12
-rw-r--r--deps/npm/man/man1/npm-doctor.12
-rw-r--r--deps/npm/man/man1/npm-edit.12
-rw-r--r--deps/npm/man/man1/npm-exec.12
-rw-r--r--deps/npm/man/man1/npm-explain.12
-rw-r--r--deps/npm/man/man1/npm-explore.14
-rw-r--r--deps/npm/man/man1/npm-find-dupes.110
-rw-r--r--deps/npm/man/man1/npm-fund.12
-rw-r--r--deps/npm/man/man1/npm-help-search.12
-rw-r--r--deps/npm/man/man1/npm-help.12
-rw-r--r--deps/npm/man/man1/npm-hook.12
-rw-r--r--deps/npm/man/man1/npm-init.12
-rw-r--r--deps/npm/man/man1/npm-install-ci-test.12
-rw-r--r--deps/npm/man/man1/npm-install-test.12
-rw-r--r--deps/npm/man/man1/npm-install.14
-rw-r--r--deps/npm/man/man1/npm-link.12
-rw-r--r--deps/npm/man/man1/npm-logout.12
-rw-r--r--deps/npm/man/man1/npm-ls.14
-rw-r--r--deps/npm/man/man1/npm-org.12
-rw-r--r--deps/npm/man/man1/npm-outdated.12
-rw-r--r--deps/npm/man/man1/npm-owner.12
-rw-r--r--deps/npm/man/man1/npm-pack.12
-rw-r--r--deps/npm/man/man1/npm-ping.12
-rw-r--r--deps/npm/man/man1/npm-prefix.12
-rw-r--r--deps/npm/man/man1/npm-profile.12
-rw-r--r--deps/npm/man/man1/npm-prune.12
-rw-r--r--deps/npm/man/man1/npm-publish.12
-rw-r--r--deps/npm/man/man1/npm-rebuild.12
-rw-r--r--deps/npm/man/man1/npm-repo.12
-rw-r--r--deps/npm/man/man1/npm-restart.12
-rw-r--r--deps/npm/man/man1/npm-root.12
-rw-r--r--deps/npm/man/man1/npm-run-script.12
-rw-r--r--deps/npm/man/man1/npm-search.12
-rw-r--r--deps/npm/man/man1/npm-set-script.12
-rw-r--r--deps/npm/man/man1/npm-shrinkwrap.12
-rw-r--r--deps/npm/man/man1/npm-star.12
-rw-r--r--deps/npm/man/man1/npm-stars.12
-rw-r--r--deps/npm/man/man1/npm-start.12
-rw-r--r--deps/npm/man/man1/npm-stop.12
-rw-r--r--deps/npm/man/man1/npm-team.12
-rw-r--r--deps/npm/man/man1/npm-test.12
-rw-r--r--deps/npm/man/man1/npm-token.12
-rw-r--r--deps/npm/man/man1/npm-uninstall.12
-rw-r--r--deps/npm/man/man1/npm-unpublish.12
-rw-r--r--deps/npm/man/man1/npm-unstar.12
-rw-r--r--deps/npm/man/man1/npm-update.12
-rw-r--r--deps/npm/man/man1/npm-version.12
-rw-r--r--deps/npm/man/man1/npm-view.12
-rw-r--r--deps/npm/man/man1/npm-whoami.12
-rw-r--r--deps/npm/man/man1/npm.14
-rw-r--r--deps/npm/man/man1/npx.12
-rw-r--r--deps/npm/man/man5/folders.52
-rw-r--r--deps/npm/man/man5/install.52
-rw-r--r--deps/npm/man/man5/npm-shrinkwrap-json.52
-rw-r--r--deps/npm/man/man5/npmrc.52
-rw-r--r--deps/npm/man/man5/package-json.54
-rw-r--r--deps/npm/man/man5/package-lock-json.52
-rw-r--r--deps/npm/man/man7/config.78
-rw-r--r--deps/npm/man/man7/developers.72
-rw-r--r--deps/npm/man/man7/orgs.72
-rw-r--r--deps/npm/man/man7/registry.72
-rw-r--r--deps/npm/man/man7/removal.72
-rw-r--r--deps/npm/man/man7/scope.72
-rw-r--r--deps/npm/man/man7/scripts.79
-rw-r--r--deps/npm/man/man7/workspaces.72
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/CHANGELOG.md19
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/bin/license.js2
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/add-rm-pkg-deps.js168
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/arborist/build-ideal-tree.js7
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/arborist/index.js3
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-virtual.js4
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/arborist/rebuild.js2
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js74
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/audit-report.js21
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/dep-spec.js43
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/inventory.js2
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/node.js45
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/printable.js12
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/shrinkwrap.js12
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/update-root-package-json.js16
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/vuln.js9
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/lib/yarn-lock.js12
-rw-r--r--deps/npm/node_modules/@npmcli/arborist/package.json13
-rw-r--r--deps/npm/node_modules/@npmcli/git/lib/clone.js2
-rw-r--r--deps/npm/node_modules/@npmcli/git/lib/spawn.js11
-rw-r--r--deps/npm/node_modules/@npmcli/git/package.json4
-rw-r--r--deps/npm/node_modules/glob/README.md2
-rw-r--r--deps/npm/node_modules/glob/common.js10
-rw-r--r--deps/npm/node_modules/glob/glob.js2
-rw-r--r--deps/npm/node_modules/glob/package.json11
-rw-r--r--deps/npm/node_modules/glob/sync.js2
-rw-r--r--deps/npm/node_modules/ignore-walk/index.js2
-rw-r--r--deps/npm/node_modules/ignore-walk/package.json7
-rw-r--r--deps/npm/node_modules/json-stringify-nice/index.js2
-rw-r--r--deps/npm/node_modules/json-stringify-nice/package.json17
-rw-r--r--deps/npm/node_modules/libnpmexec/CHANGELOG.md7
-rw-r--r--deps/npm/node_modules/libnpmexec/README.md2
-rw-r--r--deps/npm/node_modules/libnpmexec/lib/cache-install-dir.js2
-rw-r--r--deps/npm/node_modules/libnpmexec/lib/file-exists.js29
-rw-r--r--deps/npm/node_modules/libnpmexec/lib/index.js18
-rw-r--r--deps/npm/node_modules/libnpmexec/package.json7
-rwxr-xr-xdeps/npm/node_modules/npm-packlist/bin/index.js5
-rw-r--r--deps/npm/node_modules/npm-packlist/index.js47
-rw-r--r--deps/npm/node_modules/npm-packlist/package.json21
-rw-r--r--deps/npm/package.json17
-rw-r--r--deps/npm/tap-snapshots/test/lib/config.js.test.cjs12
-rw-r--r--deps/npm/tap-snapshots/test/lib/ls.js.test.cjs164
-rw-r--r--deps/npm/tap-snapshots/test/lib/outdated.js.test.cjs100
-rw-r--r--deps/npm/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs5
-rw-r--r--deps/npm/tap-snapshots/test/lib/utils/tar.js.test.cjs15
-rw-r--r--deps/npm/tap-snapshots/test/lib/view.js.test.cjs46
-rw-r--r--deps/npm/test/fixtures/mock-npm.js8
-rw-r--r--deps/npm/test/lib/cache.js11
-rw-r--r--deps/npm/test/lib/config.js6
-rw-r--r--deps/npm/test/lib/dist-tag.js9
-rw-r--r--deps/npm/test/lib/exec.js28
-rw-r--r--deps/npm/test/lib/link.js2
-rw-r--r--deps/npm/test/lib/load-all-commands.js2
-rw-r--r--deps/npm/test/lib/ls.js262
-rw-r--r--deps/npm/test/lib/outdated.js64
-rw-r--r--deps/npm/test/lib/utils/cleanup-log-files.js2
-rw-r--r--deps/npm/test/lib/utils/completion/installed-deep.js19
-rw-r--r--deps/npm/test/lib/utils/config/definitions.js19
-rw-r--r--deps/npm/test/lib/utils/tar.js3
-rw-r--r--deps/npm/test/lib/utils/update-notifier.js8
-rw-r--r--deps/npm/test/lib/view.js48
182 files changed, 1141 insertions, 890 deletions
diff --git a/deps/npm/AUTHORS b/deps/npm/AUTHORS
index 2b3e48e7651..3186985b8e3 100644
--- a/deps/npm/AUTHORS
+++ b/deps/npm/AUTHORS
@@ -772,3 +772,7 @@ Seth Thomas <seth@emailseth.com>
Andreas <andreas@bielk.se>
Felipe Santos <felipecassiors@gmail.com>
Luigi Pinca <luigipinca@gmail.com>
+Marco Sirabella <marco@sirabella.org>
+wangsai <wangsai@bootcss.com>
+Luke Hefson <luke@github.com>
+mrmlnc <mrmlnc@yandex-team.ru>
diff --git a/deps/npm/CHANGELOG.md b/deps/npm/CHANGELOG.md
index ce79e9368a6..bed0f87c2b8 100644
--- a/deps/npm/CHANGELOG.md
+++ b/deps/npm/CHANGELOG.md
@@ -1,3 +1,94 @@
+## v7.12.1 (2021-05-10)
+
+### BUG FIXES
+
+* [`de49f58f5`](https://github.com/npm/cli/commit/de49f58f55dc2ac3a5057cd492a43c32ae41381e)
+ [#3216](https://github.com/npm/cli/issues/3216)
+ fix(contributing): link to proper cli repo
+ ([@mrmlnc](https://github.com/mrmlnc))
+* [`1d092144e`](https://github.com/npm/cli/commit/1d092144eaaabff63ac8424b40b2286822be7677)
+ [#3203](https://github.com/npm/cli/issues/3203)
+ fix(packages): locale-agnostic string sorting
+ ([@isaacs](https://github.com/isaacs))
+* [`0696fca13`](https://github.com/npm/cli/commit/0696fca13d10726e04ca97ff50eef7bd7455a3ab)
+ [#3209](https://github.com/npm/cli/issues/3209)
+ fix(view): fix non-registry specs
+ ([@wraithgar](https://github.com/wraithgar))
+* [`71ac93597`](https://github.com/npm/cli/commit/71ac935976390e4fd05987ff510049f82bc6e2a9)
+ [#3206](https://github.com/npm/cli/issues/3206)
+ chore(github): Convert md issue template to yaml
+ ([@lukehefson](https://github.com/lukehefson))
+* [`6fb386d3b`](https://github.com/npm/cli/commit/6fb386d3bfbaa8e4771ff87a08de1f3aa6f9b34d)
+ [#3201](https://github.com/npm/cli/issues/3201)
+ fix(tests): increase test fuzziness
+ ([@wraithgar](https://github.com/wraithgar))
+* [`f3a662fcd`](https://github.com/npm/cli/commit/f3a662fcd869653f9753aef3d40cc96ed28ed509)
+ [#3211](https://github.com/npm/cli/issues/3211)
+ fix(tests): use config defaults
+ ([@wraithgar](https://github.com/wraithgar))
+
+### DEPENDENCIES
+
+* [`285976fd1`](https://github.com/npm/cli/commit/285976fd12f037f59da47307d98df7ebda5278d9)
+ `@npmcli/arborist@2.4.4`
+ * fix(reify): properly save spec if prerelease
+* [`f9f24d17c`](https://github.com/npm/cli/commit/f9f24d17c29c421de3c9b82c6b98a40268aeb920)
+ `libnpmexec@1.1.1`
+ * fix(add): Specify 'en' locale to String.localeCompare
+* [`cb9f17499`](https://github.com/npm/cli/commit/cb9f174996dbb4779a1be82890564f9abffb11f4)
+ `glob@7.1.7`
+ * force 'en' locale in string sorting
+* [`24b4e4a41`](https://github.com/npm/cli/commit/24b4e4a41b451db3de381fac6b719149db14c288)
+ `ignore-walk@3.0.4`
+ * Avoid locale-specific sorting issues
+* [`1eb7e5c7d`](https://github.com/npm/cli/commit/1eb7e5c7d466293b472c2506c64e5a89ec84ac2f)
+ `@npmcli/arborist@2.4.3`
+ * guard against locale-specific sorting
+* [`a6a826067`](https://github.com/npm/cli/commit/a6a826067cb46c711521772c2d0158257d54400a)
+ `npm-packlist@2.2.2`:
+ * fix(sort): avoid locale-dependent sorting issues
+
+## v7.12.0 (2021-05-06)
+
+### FEATURES
+
+* [`701627c51`](https://github.com/npm/cli/commit/701627c5169934e59da2959d76a49c77278cc9dc)
+ [#3098](https://github.com/npm/cli/issues/3098)
+ feat(cache): Allow `add` to accept multiple specs
+ ([@mjsir911](https://github.com/mjsir911))
+* [`59171f030`](https://github.com/npm/cli/commit/59171f0304f048a009f1697eec6f74f778bc52ff)
+ [#3187](https://github.com/npm/cli/issues/3187)
+ feat(config): add workspaces boolean to user-agent
+ ([@nlf](https://github.com/nlf))
+
+### BUG FIXES
+
+* [`2c9b8713c`](https://github.com/npm/cli/commit/2c9b8713c4c88fbd0c3c48eb0de84dbd7269398f)
+ [#3182](https://github.com/npm/cli/issues/3182)
+ fix(docs): fix broken links
+ ([@wangsai](https://github.com/wangsai))
+* [`88cbc8c44`](https://github.com/npm/cli/commit/88cbc8c447cbaef20b5a8f19246211ce4918f4d8)
+ [#3198](https://github.com/npm/cli/issues/3198)
+ fix(tests): reflect new libnpmexec logic
+
+### DEPENDENCIES
+
+* [`d01ce5e13`](https://github.com/npm/cli/commit/d01ce5e132cb4661698012fd5017753c2bdb660b)
+ `libnpmexec@1.1.0`:
+ * feat: add walk up dir lookup to satisfy local bins
+* [`81c1dfaaa`](https://github.com/npm/cli/commit/81c1dfaaaf918229316a975aa8075769ffafdb6d)
+ `@npmcli/arborist@2.4.2`:
+ * fix(add): save packages in the right place
+ * fix(reify): do not clean up nodes with no parent
+ * fix(audit): support alias specs & root package names
+* [`87c2303ea`](https://github.com/npm/cli/commit/87c2303eaa6edfa5309da0a30f5ad291b6d57640)
+ `@npmcli/git@2.0.9`:
+ * fix(clone): Do not allow git replacement objects by default
+* [`99ff40dff`](https://github.com/npm/cli/commit/99ff40dff5e5e55a5d5f045ba90e76c08174ca38)
+ `npm-packlist@2.2.0`:
+ * feat(npmignore): Do not force include history, changelogs, notice
+ * fix(package.json): add missing bin/index.js to files
+
## v7.11.2 (2021-04-29)
### BUG FIXES
@@ -76,8 +167,8 @@
[#3126](https://github.com/npm/cli/issues/3126)
fix(logout): use isBasicAuth attribute
([@wraithgar](https://github.com/wraithgar))
-### DOCUMENTATION
+### DOCUMENTATION
* [`c93f1c39e`](https://github.com/npm/cli/commit/c93f1c39e326feff0857712a10ef6183fbafe1ab)
[#3101](https://github.com/npm/cli/issues/3101)
@@ -89,7 +180,6 @@
fix(usage): fix refs to ws shorthand
([@ruyadorno](https://github.com/ruyadorno))
-
### DEPENDENCIES
* [`83166ebcc`](https://github.com/npm/cli/commit/83166ebcc4ba5e3bf215f08151437d96637f4f33)
diff --git a/deps/npm/CONTRIBUTING.md b/deps/npm/CONTRIBUTING.md
index 6821da895b3..558ce2a839b 100644
--- a/deps/npm/CONTRIBUTING.md
+++ b/deps/npm/CONTRIBUTING.md
@@ -9,7 +9,7 @@ All interactions in the **npm** organization on GitHub are considered to be cove
**1. Clone this repository...**
```bash
-$ git clone git@github.com:npm/cli.git
+$ git clone git@github.com:npm/cli.git npm
```
**2. Navigate into project & install development-specific dependencies...**
diff --git a/deps/npm/docs/content/commands/npm-cache.md b/deps/npm/docs/content/commands/npm-cache.md
index bcc2989b7d3..0bbb2756a40 100644
--- a/deps/npm/docs/content/commands/npm-cache.md
+++ b/deps/npm/docs/content/commands/npm-cache.md
@@ -7,10 +7,10 @@ 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 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
@@ -25,7 +25,7 @@ Note: This command is unaware of workspaces.
Used to add, list, or clean the npm cache folder.
* add:
- Add the specified package to the local cache. This command is primarily
+ Add the specified packages to the local cache. This command is primarily
intended to be used internally by npm, but it can provide a way to
add data to the local installation cache explicitly.
diff --git a/deps/npm/docs/content/commands/npm-ci.md b/deps/npm/docs/content/commands/npm-ci.md
index 925ba8de2e5..937553631ac 100644
--- a/deps/npm/docs/content/commands/npm-ci.md
+++ b/deps/npm/docs/content/commands/npm-ci.md
@@ -12,7 +12,7 @@ npm ci
### Description
-This command is similar to [`npm install`](/cli-commands/install), except
+This command is similar to [`npm install`](/commands/npm-install), except
it's meant to be used in automated environments such as test platforms,
continuous integration, and deployment -- or any situation where you want
to make sure you're doing a clean install of your dependencies.
diff --git a/deps/npm/docs/content/commands/npm-dedupe.md b/deps/npm/docs/content/commands/npm-dedupe.md
index c6d26126d30..f9bfd9e0153 100644
--- a/deps/npm/docs/content/commands/npm-dedupe.md
+++ b/deps/npm/docs/content/commands/npm-dedupe.md
@@ -74,7 +74,7 @@ Using `npm find-dupes` will run the command in `--dry-run` mode.
### See Also
-* [npm find-dupes](/cli-commands/find-dupes)
-* [npm ls](/cli-commands/ls)
-* [npm update](/cli-commands/update)
-* [npm install](/cli-commands/install)
+* [npm find-dupes](/commands/npm-find-dupes)
+* [npm ls](/commands/npm-ls)
+* [npm update](/commands/npm-update)
+* [npm install](/commands/npm-install)
diff --git a/deps/npm/docs/content/commands/npm-deprecate.md b/deps/npm/docs/content/commands/npm-deprecate.md
index 06037976610..73d88b3717b 100644
--- a/deps/npm/docs/content/commands/npm-deprecate.md
+++ b/deps/npm/docs/content/commands/npm-deprecate.md
@@ -44,5 +44,5 @@ format an empty string.
* [npm publish](/commands/npm-publish)
* [npm registry](/using-npm/registry)
-* [npm owner](/cli-commands/owner)
-* [npm owner](/cli-commands/adduser)
+* [npm owner](/commands/npm-owner)
+* [npm owner](/commands/npm-adduser)
diff --git a/deps/npm/docs/content/commands/npm-explore.md b/deps/npm/docs/content/commands/npm-explore.md
index 7e2004b84c0..8bad293052e 100644
--- a/deps/npm/docs/content/commands/npm-explore.md
+++ b/deps/npm/docs/content/commands/npm-explore.md
@@ -44,5 +44,4 @@ The shell to run for the `npm explore` command.
* [npm folders](/configuring-npm/folders)
* [npm edit](/commands/npm-edit)
* [npm rebuild](/commands/npm-rebuild)
-* [npm build](/commands/npm-build)
* [npm install](/commands/npm-install)
diff --git a/deps/npm/docs/content/commands/npm-find-dupes.md b/deps/npm/docs/content/commands/npm-find-dupes.md
index 6f55d47bfd7..6557a071c82 100644
--- a/deps/npm/docs/content/commands/npm-find-dupes.md
+++ b/deps/npm/docs/content/commands/npm-find-dupes.md
@@ -17,8 +17,8 @@ duplications, without actually changing the package tree.
### See Also
-* [npm dedupe](/cli-commands/dedupe)
-* [npm ls](/cli-commands/ls)
-* [npm update](/cli-commands/update)
-* [npm install](/cli-commands/install)
+* [npm dedupe](/commands/npm-dedupe)
+* [npm ls](/commands/npm-ls)
+* [npm update](/commands/npm-update)
+* [npm install](/commands/npm-install)
diff --git a/deps/npm/docs/content/commands/npm-install.md b/deps/npm/docs/content/commands/npm-install.md
index 5ab9275ee4e..f81a8a24639 100644
--- a/deps/npm/docs/content/commands/npm-install.md
+++ b/deps/npm/docs/content/commands/npm-install.md
@@ -538,7 +538,6 @@ the specific folder structures that npm creates.
* [npm link](/commands/npm-link)
* [npm rebuild](/commands/npm-rebuild)
* [npm scripts](/using-npm/scripts)
-* [npm build](/commands/npm-build)
* [npm config](/commands/npm-config)
* [npmrc](/configuring-npm/npmrc)
* [npm registry](/using-npm/registry)
diff --git a/deps/npm/docs/content/commands/npm-unpublish.md b/deps/npm/docs/content/commands/npm-unpublish.md
index e9d6e9045c6..2ce52d3f8cd 100644
--- a/deps/npm/docs/content/commands/npm-unpublish.md
+++ b/deps/npm/docs/content/commands/npm-unpublish.md
@@ -34,7 +34,7 @@ This removes a package version from the registry, deleting its entry and
removing the tarball.
The npm registry will return an error if you are not [logged
-in](/commands/npm-login).
+in](/commands/npm-adduser).
If you do not specify a version or if you remove all of a package's
versions then the registry will remove the root package entry entirely.
@@ -52,4 +52,4 @@ passed.
* [npm registry](/using-npm/registry)
* [npm adduser](/commands/npm-adduser)
* [npm owner](/commands/npm-owner)
-* [npm login](/commands/npm-login)
+* [npm login](/commands/npm-adduser)
diff --git a/deps/npm/docs/content/commands/npm-view.md b/deps/npm/docs/content/commands/npm-view.md
index 8f7e886ed19..982ba299551 100644
--- a/deps/npm/docs/content/commands/npm-view.md
+++ b/deps/npm/docs/content/commands/npm-view.md
@@ -73,7 +73,7 @@ npm view express contributors.name contributors.email
"Person" fields are shown as a string if they would be shown as an
object. So, for example, this will show the list of `npm` contributors in
-the shortened string format. (See [`package.json`](/configuring-npm/package.json) for more on this.)
+the shortened string format. (See [`package.json`](/configuring-npm/package-json) for more on this.)
```bash
npm view npm contributors
diff --git a/deps/npm/docs/content/commands/npm.md b/deps/npm/docs/content/commands/npm.md
index d01146d3704..2d86aa62c00 100644
--- a/deps/npm/docs/content/commands/npm.md
+++ b/deps/npm/docs/content/commands/npm.md
@@ -107,7 +107,7 @@ following help topics:
Create an account or log in. When you do this, npm will store
credentials in the user config file config file.
* publish:
- Use the [`npm publish`](/commands/npm-publish`) command to upload your
+ Use the [`npm publish`](/commands/npm-publish) command to upload your
code to the registry.
#### Configuration
diff --git a/deps/npm/docs/content/configuring-npm/folders.md b/deps/npm/docs/content/configuring-npm/folders.md
index 3ec716f2c67..75e31cd7331 100644
--- a/deps/npm/docs/content/configuring-npm/folders.md
+++ b/deps/npm/docs/content/configuring-npm/folders.md
@@ -205,7 +205,7 @@ not be included in the package tarball.
This allows a package maintainer to install all of their dependencies
(and dev dependencies) locally, but only re-publish those items that
-cannot be found elsewhere. See [`package.json`](/configuring-npm/package.json) for more information.
+cannot be found elsewhere. See [`package.json`](/configuring-npm/package-json) for more information.
### See also
diff --git a/deps/npm/docs/content/configuring-npm/package-json.md b/deps/npm/docs/content/configuring-npm/package-json.md
index f5519f62bb3..3ed03990214 100644
--- a/deps/npm/docs/content/configuring-npm/package-json.md
+++ b/deps/npm/docs/content/configuring-npm/package-json.md
@@ -566,7 +566,7 @@ tarball or git URL.
**Please do not put test harnesses or transpilers or other "development"
time tools in your `dependencies` object.** See `devDependencies`, below.
-See [semver](/using-npm/semver#versions) for more details about specifying version ranges.
+See [semver](https://github.com/npm/node-semver#versions) for more details about specifying version ranges.
* `version` Must match `version` exactly
* `>version` Must be greater than `version`
diff --git a/deps/npm/docs/content/using-npm/config.md b/deps/npm/docs/content/using-npm/config.md
index 76ac4192f13..d8fb70fb74b 100644
--- a/deps/npm/docs/content/using-npm/config.md
+++ b/deps/npm/docs/content/using-npm/config.md
@@ -1253,7 +1253,8 @@ Show short usage output about the command specified.
#### `user-agent`
-* Default: "npm/{npm-version} node/{node-version} {platform} {arch} {ci}"
+* Default: "npm/{npm-version} node/{node-version} {platform} {arch}
+ workspaces/{workspaces} {ci}"
* Type: String
Sets the User-Agent request header. The following fields are replaced with
@@ -1263,6 +1264,8 @@ their actual counterparts:
* `{node-version}` - The Node.js version in use
* `{platform}` - The value of `process.platform`
* `{arch}` - The value of `process.arch`
+* `{workspaces}` - Set to `true` if the `workspaces` or `workspace` options
+ are set.
* `{ci}` - The value of the `ci-name` config, if set, prefixed with `ci/`, or
an empty string if `ci-name` is empty.
diff --git a/deps/npm/docs/content/using-npm/scripts.md b/deps/npm/docs/content/using-npm/scripts.md
index 9312a21546d..82cde7d7909 100644
--- a/deps/npm/docs/content/using-npm/scripts.md
+++ b/deps/npm/docs/content/using-npm/scripts.md
@@ -118,11 +118,6 @@ The advantage of doing these things at `prepublish` time is that they can be don
* `prepare`
-#### [`npm env`](/commands/npm-env)
-
-* `env` (You can override the default behavior of `npm env` by defining
- a custom `env` entry in your `scripts` object)
-
#### [`npm install`](/commands/npm-install)
These also run when you run `npm install -g <pkg-name>`
@@ -179,7 +174,7 @@ If there is a `restart` script defined, these events are run, otherwise
* `restart`
* `postrestart`
-#### [`npm run <user defined>`](/commands/npm-run)
+#### [`npm run <user defined>`](/commands/npm-run-script)
* `pre<user-defined>`
* `<user-defined>`
diff --git a/deps/npm/docs/output/commands/npm-cache.html b/deps/npm/docs/output/commands/npm-cache.html
index 22ca6f1999b..cb886d3c7be 100644
--- a/deps/npm/docs/output/commands/npm-cache.html
+++ b/deps/npm/docs/output/commands/npm-cache.html
@@ -145,10 +145,10 @@ npm command-line interface
</section>
<div id="_content"><h3 id="synopsis">Synopsis</h3>
-<pre lang="bash"><code>npm cache add &lt;tarball file&gt;
-npm cache add &lt;folder&gt;
-npm cache add &lt;tarball url&gt;
-npm cache add &lt;name&gt;@&lt;version&gt;
+<pre lang="bash"><code>npm cache add &lt;tarball file&gt;...
+npm cache add &lt;folder&gt;...
+npm cache add &lt;tarball url&gt;...
+npm cache add &lt;name&gt;@&lt;version&gt;...
npm cache clean
aliases: npm cache clear, npm cache rm
@@ -161,7 +161,7 @@ npm cache verify
<ul>
<li>
<p>add:
-Add the specified package to the local cache. This command is primarily
+Add the specified packages to the local cache. This command is primarily
intended to be used internally by npm, but it can provide a way to
add data to the local installation cache explicitly.</p>
</li>
diff --git a/deps/npm/docs/output/commands/npm-ci.html b/deps/npm/docs/output/commands/npm-ci.html
index 8361e995b3a..be6f8acb4c8 100644
--- a/deps/npm/docs/output/commands/npm-ci.html
+++ b/deps/npm/docs/output/commands/npm-ci.html
@@ -148,7 +148,7 @@ npm command-line interface
<pre lang="bash"><code>npm ci
</code></pre>
<h3 id="description">Description</h3>
-<p>This command is similar to <a href="../cli-commands/install.html"><code>npm install</code></a>, except
+<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,
continuous integration, and deployment – or any situation where you want
to make sure you’re doing a clean install of your dependencies.</p>
diff --git a/deps/npm/docs/output/commands/npm-dedupe.html b/deps/npm/docs/output/commands/npm-dedupe.html
index ccd9a03f4d8..795659a6103 100644
--- a/deps/npm/docs/output/commands/npm-dedupe.html
+++ b/deps/npm/docs/output/commands/npm-dedupe.html
@@ -193,10 +193,10 @@ result in new modules being installed.</p>
<p>Using <code>npm find-dupes</code> will run the command in <code>--dry-run</code> mode.</p>
<h3 id="see-also">See Also</h3>
<ul>
-<li><a href="../cli-commands/find-dupes.html">npm find-dupes</a></li>
-<li><a href="../cli-commands/ls.html">npm ls</a></li>
-<li><a href="../cli-commands/update.html">npm update</a></li>
-<li><a href="../cli-commands/install.html">npm install</a></li>
+<li><a href="../commands/npm-find-dupes.html">npm find-dupes</a></li>
+<li><a href="../commands/npm-ls.html">npm ls</a></li>
+<li><a href="../commands/npm-update.html">npm update</a></li>
+<li><a href="../commands/npm-install.html">npm install</a></li>
</ul>
</div>
diff --git a/deps/npm/docs/output/commands/npm-deprecate.html b/deps/npm/docs/output/commands/npm-deprecate.html
index 88299a80bcf..7f4409cd3ac 100644
--- a/deps/npm/docs/output/commands/npm-deprecate.html
+++ b/deps/npm/docs/output/commands/npm-deprecate.html
@@ -169,8 +169,8 @@ format an empty string.</p>
<ul>
<li><a href="../commands/npm-publish.html">npm publish</a></li>
<li><a href="../using-npm/registry.html">npm registry</a></li>
-<li><a href="../cli-commands/owner.html">npm owner</a></li>
-<li><a href="../cli-commands/adduser.html">npm owner</a></li>
+<li><a href="../commands/npm-owner.html">npm owner</a></li>
+<li><a href="../commands/npm-adduser.html">npm owner</a></li>
</ul>
</div>
diff --git a/deps/npm/docs/output/commands/npm-explore.html b/deps/npm/docs/output/commands/npm-explore.html
index cd52ff96a68..8d1e2843d73 100644
--- a/deps/npm/docs/output/commands/npm-explore.html
+++ b/deps/npm/docs/output/commands/npm-explore.html
@@ -171,7 +171,6 @@ Windows</li>
<li><a href="../configuring-npm/folders.html">npm folders</a></li>
<li><a href="../commands/npm-edit.html">npm edit</a></li>
<li><a href="../commands/npm-rebuild.html">npm rebuild</a></li>
-<li><a href="../commands/npm-build.html">npm build</a></li>
<li><a href="../commands/npm-install.html">npm install</a></li>
</ul>
</div>
diff --git a/deps/npm/docs/output/commands/npm-find-dupes.html b/deps/npm/docs/output/commands/npm-find-dupes.html
index 32d8993b99c..7f7f3c101b2 100644
--- a/deps/npm/docs/output/commands/npm-find-dupes.html
+++ b/deps/npm/docs/output/commands/npm-find-dupes.html
@@ -152,10 +152,10 @@ npm command-line interface
duplications, without actually changing the package tree.</p>
<h3 id="see-also">See Also</h3>
<ul>
-<li><a href="../cli-commands/dedupe.html">npm dedupe</a></li>
-<li><a href="../cli-commands/ls.html">npm ls</a></li>
-<li><a href="../cli-commands/update.html">npm update</a></li>
-<li><a href="../cli-commands/install.html">npm install</a></li>
+<li><a href="../commands/npm-dedupe.html">npm dedupe</a></li>
+<li><a href="../commands/npm-ls.html">npm ls</a></li>
+<li><a href="../commands/npm-update.html">npm update</a></li>
+<li><a href="../commands/npm-install.html">npm install</a></li>
</ul>
</div>
diff --git a/deps/npm/docs/output/commands/npm-install.html b/deps/npm/docs/output/commands/npm-install.html
index 2794b9a983d..8fff20fe836 100644
--- a/deps/npm/docs/output/commands/npm-install.html
+++ b/deps/npm/docs/output/commands/npm-install.html
@@ -614,7 +614,6 @@ the specific folder structures that npm creates.</p>
<li><a href="../commands/npm-link.html">npm link</a></li>
<li><a href="../commands/npm-rebuild.html">npm rebuild</a></li>
<li><a href="../using-npm/scripts.html">npm scripts</a></li>
-<li><a href="../commands/npm-build.html">npm build</a></li>
<li><a href="../commands/npm-config.html">npm config</a></li>
<li><a href="../configuring-npm/npmrc.html">npmrc</a></li>
<li><a href="../using-npm/registry.html">npm registry</a></li>
diff --git a/deps/npm/docs/output/commands/npm-ls.html b/deps/npm/docs/output/commands/npm-ls.html
index ede5cb04290..3d60f2baecd 100644
--- a/deps/npm/docs/output/commands/npm-ls.html
+++ b/deps/npm/docs/output/commands/npm-ls.html
@@ -159,7 +159,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@7.11.2 /path/to/npm
+<pre lang="bash"><code>npm@7.12.1 /path/to/npm
└─┬ init-package-json@0.0.4
└── promzard@0.1.5
</code></pre>
diff --git a/deps/npm/docs/output/commands/npm-unpublish.html b/deps/npm/docs/output/commands/npm-unpublish.html
index 75751d3408c..737d5336c83 100644
--- a/deps/npm/docs/output/commands/npm-unpublish.html
+++ b/deps/npm/docs/output/commands/npm-unpublish.html
@@ -159,7 +159,7 @@ want to maintain a package.</p>
<h3 id="description">Description</h3>
<p>This removes a package version from the registry, deleting its entry and
removing the tarball.</p>
-<p>The npm registry will return an error if you are not <a href="../commands/npm-login.html">logged
+<p>The npm registry will return an error if you are not <a href="../commands/npm-adduser.html">logged
in</a>.</p>
<p>If you do not specify a version or if you remove all of a package’s
versions then the registry will remove the root package entry entirely.</p>
@@ -175,7 +175,7 @@ passed.</p>
<li><a href="../using-npm/registry.html">npm registry</a></li>
<li><a href="../commands/npm-adduser.html">npm adduser</a></li>
<li><a href="../commands/npm-owner.html">npm owner</a></li>
-<li><a href="../commands/npm-login.html">npm login</a></li>
+<li><a href="../commands/npm-adduser.html">npm login</a></li>
</ul>
</div>
diff --git a/deps/npm/docs/output/commands/npm-view.html b/deps/npm/docs/output/commands/npm-view.html
index 7489b17b1cd..77786b74fd8 100644
--- a/deps/npm/docs/output/commands/npm-view.html
+++ b/deps/npm/docs/output/commands/npm-view.html
@@ -186,7 +186,7 @@ can do this:</p>
</code></pre>
<p>“Person” fields are shown as a string if they would be shown as an
object. So, for example, this will show the list of <code>npm</code> contributors in
-the shortened string format. (See <a href="../configuring-npm/package.json.html"><code>package.json</code></a> for more on this.)</p>
+the shortened string format. (See <a href="../configuring-npm/package-json.html"><code>package.json</code></a> for more on this.)</p>
<pre lang="bash"><code>npm view npm contributors
</code></pre>
<p>If a version range is provided, then data will be printed for every
diff --git a/deps/npm/docs/output/commands/npm.html b/deps/npm/docs/output/commands/npm.html
index 311c581f681..445abd0d5ce 100644
--- a/deps/npm/docs/output/commands/npm.html
+++ b/deps/npm/docs/output/commands/npm.html
@@ -148,7 +148,7 @@ npm command-line interface
<pre lang="bash"><code>npm &lt;command&gt; [args]
</code></pre>
<h3 id="version">Version</h3>
-<p>7.11.2</p>
+<p>7.12.1</p>
<h3 id="description">Description</h3>
<p>npm is the package manager for the Node JavaScript platform. It puts
modules in place so that node can find them, and manages dependency
@@ -222,7 +222,7 @@ done via <a href="../commands/npm-install.html"><code>npm install</code></a></li
Create an account or log in. When you do this, npm will store
credentials in the user config file config file.</li>
<li>publish:
-Use the <a href="../commands/npm-publish%60.html"><code>npm publish</code></a> command to upload your
+Use the <a href="../commands/npm-publish.html"><code>npm publish</code></a> command to upload your
code to the registry.</li>
</ul>
<h4 id="configuration">Configuration</h4>
diff --git a/deps/npm/docs/output/configuring-npm/folders.html b/deps/npm/docs/output/configuring-npm/folders.html
index 20027ea3a9f..6cdae3cd1ec 100644
--- a/deps/npm/docs/output/configuring-npm/folders.html
+++ b/deps/npm/docs/output/configuring-npm/folders.html
@@ -292,7 +292,7 @@ the items there are not in the <code>bundledDependencies</code> array, then they
not be included in the package tarball.</p>
<p>This allows a package maintainer to install all of their dependencies
(and dev dependencies) locally, but only re-publish those items that
-cannot be found elsewhere. See <a href="../configuring-npm/package.json.html"><code>package.json</code></a> for more information.</p>
+cannot be found elsewhere. See <a href="../configuring-npm/package-json.html"><code>package.json</code></a> for more information.</p>
<h3 id="see-also">See also</h3>
<ul>
<li><a href="../configuring-npm/package-json.html">package.json</a></li>
diff --git a/deps/npm/docs/output/configuring-npm/package-json.html b/deps/npm/docs/output/configuring-npm/package-json.html
index 84956dede7d..f9c3ee6e4f5 100644
--- a/deps/npm/docs/output/configuring-npm/package-json.html
+++ b/deps/npm/docs/output/configuring-npm/package-json.html
@@ -567,7 +567,7 @@ space-separated descriptors. Dependencies can also be identified with a
tarball or git URL.</p>
<p><strong>Please do not put test harnesses or transpilers or other “development”
time tools in your <code>dependencies</code> object.</strong> See <code>devDependencies</code>, below.</p>
-<p>See <a href="../using-npm/semver#versions.html">semver</a> for more details about specifying version ranges.</p>
+<p>See <a href="https://github.com/npm/node-semver#versions">semver</a> for more details about specifying version ranges.</p>
<ul>
<li><code>version</code> Must match <code>version</code> exactly</li>
<li><code>&gt;version</code> Must be greater than <code>version</code></li>
diff --git a/deps/npm/docs/output/using-npm/config.html b/deps/npm/docs/output/using-npm/config.html
index 4435ce53bba..881080eb121 100644
--- a/deps/npm/docs/output/using-npm/config.html
+++ b/deps/npm/docs/output/using-npm/config.html
@@ -1193,7 +1193,8 @@ of npm than the latest.</p>
<p>Show short usage output about the command specified.</p>
<h4 id="user-agent"><code>user-agent</code></h4>
<ul>
-<li>Default: “npm/{npm-version} node/{node-version} {platform} {arch} {ci}”</li>
+<li>Default: “npm/{npm-version} node/{node-version} {platform} {arch}
+workspaces/{workspaces} {ci}”</li>
<li>Type: String</li>
</ul>
<p>Sets the User-Agent request header. The following fields are replaced with
@@ -1203,6 +1204,8 @@ their actual counterparts:</p>
<li><code>{node-version}</code> - The Node.js version in use</li>
<li><code>{platform}</code> - The value of <code>process.platform</code></li>
<li><code>{arch}</code> - The value of <code>process.arch</code></li>
+<li><code>{workspaces}</code> - Set to <code>true</code> if the <code>workspaces</code> or <code>workspace</code> options
+are set.</li>
<li><code>{ci}</code> - The value of the <code>ci-name</code> config, if set, prefixed with <code>ci/</code>, or
an empty string if <code>ci-name</code> is empty.</li>
</ul>
diff --git a/deps/npm/docs/output/using-npm/scripts.html b/deps/npm/docs/output/using-npm/scripts.html
index e231cfec2ab..dde9b1b75d7 100644
--- a/deps/npm/docs/output/using-npm/scripts.html
+++ b/deps/npm/docs/output/using-npm/scripts.html
@@ -141,7 +141,7 @@ npm command-line interface
<section id="table_of_contents">
<h2 id="table-of-contents">Table of contents</h2>
-<div id="_table_of_contents"><ul><li><a href="#description">Description</a></li><li><a href="#pre--post-scripts">Pre &amp; Post Scripts</a></li><li><a href="#life-cycle-scripts">Life Cycle Scripts</a></li><ul><li><a href="#prepare-and-prepublish">Prepare and Prepublish</a></li></ul><li><a href="#life-cycle-operation-order">Life Cycle Operation Order</a></li><ul><li><a href="#npm-cache-add"><a href="../commands/npm-cache.html"><code>npm cache add</code></a></a></li><li><a href="#npm-ci"><a href="../commands/npm-ci.html"><code>npm ci</code></a></a></li><li><a href="#npm-diff"><a href="../commands/npm-diff.html"><code>npm diff</code></a></a></li><li><a href="#npm-env"><a href="../commands/npm-env.html"><code>npm env</code></a></a></li><li><a href="#npm-install"><a href="../commands/npm-install.html"><code>npm install</code></a></a></li><li><a href="#npm-pack"><a href="../commands/npm-pack.html"><code>npm pack</code></a></a></li><li><a href="#npm-publish"><a href="../commands/npm-publish.html"><code>npm publish</code></a></a></li><li><a href="#npm-rebuild"><a href="../commands/npm-rebuild.html"><code>npm rebuild</code></a></a></li><li><a href="#npm-restart"><a href="../commands/npm-restart.html"><code>npm restart</code></a></a></li><li><a href="#npm-run-user-defined"><a href="../commands/npm-run.html"><code>npm run &lt;user defined&gt;</code></a></a></li><li><a href="#npm-start"><a href="../commands/npm-start.html"><code>npm start</code></a></a></li><li><a href="#npm-stop"><a href="../commands/npm-stop.html"><code>npm stop</code></a></a></li><li><a href="#npm-test"><a href="../commands/npm-test.html"><code>npm test</code></a></a></li></ul><li><a href="#user">User</a></li><li><a href="#environment">Environment</a></li><ul><li><a href="#path">path</a></li><li><a href="#packagejson-vars">package.json vars</a></li><li><a href="#configuration">configuration</a></li><li><a href="#special-packagejson-config-object">Special: package.json “config” object</a></li><li><a href="#current-lifecycle-event">current lifecycle event</a></li></ul><li><a href="#examples">Examples</a></li><li><a href="#exiting">Exiting</a></li><li><a href="#hook-scripts">Hook Scripts</a></li><li><a href="#best-practices">Best Practices</a></li><li><a href="#see-also">See Also</a></li></ul></div>
+<div id="_table_of_contents"><ul><li><a href="#description">Description</a></li><li><a href="#pre--post-scripts">Pre &amp; Post Scripts</a></li><li><a href="#life-cycle-scripts">Life Cycle Scripts</a></li><ul><li><a href="#prepare-and-prepublish">Prepare and Prepublish</a></li></ul><li><a href="#life-cycle-operation-order">Life Cycle Operation Order</a></li><ul><li><a href="#npm-cache-add"><a href="../commands/npm-cache.html"><code>npm cache add</code></a></a></li><li><a href="#npm-ci"><a href="../commands/npm-ci.html"><code>npm ci</code></a></a></li><li><a href="#npm-diff"><a href="../commands/npm-diff.html"><code>npm diff</code></a></a></li><li><a href="#npm-install"><a href="../commands/npm-install.html"><code>npm install</code></a></a></li><li><a href="#npm-pack"><a href="../commands/npm-pack.html"><code>npm pack</code></a></a></li><li><a href="#npm-publish"><a href="../commands/npm-publish.html"><code>npm publish</code></a></a></li><li><a href="#npm-rebuild"><a href="../commands/npm-rebuild.html"><code>npm rebuild</code></a></a></li><li><a href="#npm-restart"><a href="../commands/npm-restart.html"><code>npm restart</code></a></a></li><li><a href="#npm-run-user-defined"><a href="../commands/npm-run-script.html"><code>npm run &lt;user defined&gt;</code></a></a></li><li><a href="#npm-start"><a href="../commands/npm-start.html"><code>npm start</code></a></a></li><li><a href="#npm-stop"><a href="../commands/npm-stop.html"><code>npm stop</code></a></a></li><li><a href="#npm-test"><a href="../commands/npm-test.html"><code>npm test</code></a></a></li></ul><li><a href="#user">User</a></li><li><a href="#environment">Environment</a></li><ul><li><a href="#path">path</a></li><li><a href="#packagejson-vars">package.json vars</a></li><li><a href="#configuration">configuration</a></li><li><a href="#special-packagejson-config-object">Special: package.json “config” object</a></li><li><a href="#current-lifecycle-event">current lifecycle event</a></li></ul><li><a href="#examples">Examples</a></li><li><a href="#exiting">Exiting</a></li><li><a href="#hook-scripts">Hook Scripts</a></li><li><a href="#best-practices">Best Practices</a></li><li><a href="#see-also">See Also</a></li></ul></div>
</section>
<div id="_content"><h3 id="description">Description</h3>
@@ -260,11 +260,6 @@ other system tools on the target machines.</li>
<ul>
<li><code>prepare</code></li>
</ul>
-<h4 id="npm-env"><a href="../commands/npm-env.html"><code>npm env</code></a></h4>
-<ul>
-<li><code>env</code> (You can override the default behavior of <code>npm env</code> by defining
-a custom <code>env</code> entry in your <code>scripts</code> object)</li>
-</ul>
<h4 id="npm-install"><a href="../commands/npm-install.html"><code>npm install</code></a></h4>
<p>These also run when you run <code>npm install -g &lt;pkg-name&gt;</code></p>
<ul>
@@ -314,7 +309,7 @@ linked packages)</p>
<li><code>restart</code></li>
<li><code>postrestart</code></li>
</ul>
-<h4 id="npm-run-user-defined"><a href="../commands/npm-run.html"><code>npm run &lt;user defined&gt;</code></a></h4>
+<h4 id="npm-run-user-defined"><a href="../commands/npm-run-script.html"><code>npm run &lt;user defined&gt;</code></a></h4>
<ul>
<li><code>pre&lt;user-defined&gt;</code></li>
<li><code>&lt;user-defined&gt;</code></li>
diff --git a/deps/npm/lib/cache.js b/deps/npm/lib/cache.js
index 43902f43bbe..5d544b2dbd1 100644
--- a/deps/npm/lib/cache.js
+++ b/deps/npm/lib/cache.js
@@ -86,32 +86,30 @@ with --force.`)
return rimraf(cachePath)
}
- // npm cache add <tarball-url>
- // npm cache add <pkg> <ver>
- // npm cache add <tarball>
- // npm cache add <folder>
+ // npm cache add <tarball-url>...
+ // npm cache add <pkg> <ver>...
+ // npm cache add <tarball>...
+ // npm cache add <folder>...
async add (args) {
const usage = 'Usage:\n' +
- ' npm cache add <tarball-url>\n' +
- ' npm cache add <pkg>@<ver>\n' +
- ' npm cache add <tarball>\n' +
- ' npm cache add <folder>\n'
+ ' npm cache add <tarball-url>...\n' +
+ ' npm cache add <pkg>@<ver>...\n' +
+ ' npm cache add <tarball>...\n' +
+ ' npm cache add <folder>...\n'
log.silly('cache add', 'args', args)
- const spec = args[0] && args[0] +
- (args[1] === undefined || args[1] === null ? '' : `@${args[1]}`)
-
- if (!spec)
+ if (args.length === 0)
throw Object.assign(new Error(usage), { code: 'EUSAGE' })
- log.silly('cache add', 'spec', spec)
-
- // we ask pacote for the thing, and then just throw the data
- // away so that it tee-pipes it into the cache like it does
- // for a normal request.
- await pacote.tarball.stream(spec, stream => {
- stream.resume()
- return stream.promise()
- }, this.npm.flatOptions)
+ return Promise.all(args.map(spec => {
+ log.silly('cache add', 'spec', spec)
+ // we ask pacote for the thing, and then just throw the data
+ // away so that it tee-pipes it into the cache like it does
+ // for a normal request.
+ return pacote.tarball.stream(spec, stream => {
+ stream.resume()
+ return stream.promise()
+ }, this.npm.flatOptions)
+ }))
}
async verify () {
diff --git a/deps/npm/lib/config.js b/deps/npm/lib/config.js
index f53d7e5ae27..4b3ac587365 100644
--- a/deps/npm/lib/config.js
+++ b/deps/npm/lib/config.js
@@ -199,7 +199,7 @@ class Config extends BaseCommand {
; Configs like \`//<hostname>/:_authToken\` are auth that is restricted
; to the registry host specified.
-${data.split('\n').sort((a, b) => a.localeCompare(b)).join('\n').trim()}
+${data.split('\n').sort((a, b) => a.localeCompare(b, 'en')).join('\n').trim()}
;;;;
; all available options shown below with default values
@@ -227,7 +227,7 @@ ${defData}
if (where === 'default' && !long)
continue
- const keys = Object.keys(data).sort((a, b) => a.localeCompare(b))
+ const keys = Object.keys(data).sort((a, b) => a.localeCompare(b, 'en'))
if (!keys.length)
continue
diff --git a/deps/npm/lib/help.js b/deps/npm/lib/help.js
index 589819eb02a..e9aade5215a 100644
--- a/deps/npm/lib/help.js
+++ b/deps/npm/lib/help.js
@@ -77,7 +77,7 @@ class Help extends BaseCommand {
if (aManNumber !== bManNumber)
return aManNumber - bManNumber
- return a.localeCompare(b)
+ return a.localeCompare(b, 'en')
})
const man = mans[0]
diff --git a/deps/npm/lib/ls.js b/deps/npm/lib/ls.js
index ccd8b2ff9de..9fa5fddd53f 100644
--- a/deps/npm/lib/ls.js
+++ b/deps/npm/lib/ls.js
@@ -443,7 +443,7 @@ const augmentNodesWithMetadata = ({
}
const sortAlphabetically = (a, b) =>
- a.pkgid.localeCompare(b.pkgid)
+ a.pkgid.localeCompare(b.pkgid, 'en')
const humanOutput = ({ color, result, seenItems, unicode }) => {
// we need to traverse the entire tree in order to determine which items
diff --git a/deps/npm/lib/outdated.js b/deps/npm/lib/outdated.js
index 9b656d2aeed..a436059e9e2 100644
--- a/deps/npm/lib/outdated.js
+++ b/deps/npm/lib/outdated.js
@@ -68,7 +68,7 @@ class Outdated extends BaseCommand {
}))
// sorts list alphabetically
- const outdated = this.list.sort((a, b) => a.name.localeCompare(b.name))
+ const outdated = this.list.sort((a, b) => a.name.localeCompare(b.name, 'en'))
// return if no outdated packages
if (outdated.length === 0 && !this.npm.config.get('json'))
@@ -149,7 +149,7 @@ class Outdated extends BaseCommand {
: edge.dev ? 'devDependencies'
: 'dependencies'
- for (const omitType of this.npm.config.get('omit') || []) {
+ for (const omitType of this.npm.config.get('omit')) {
if (node[omitType])
return
}
diff --git a/deps/npm/lib/utils/completion/installed-deep.js b/deps/npm/lib/utils/completion/installed-deep.js
index b65c17e41d7..2430688612c 100644
--- a/deps/npm/lib/utils/completion/installed-deep.js
+++ b/deps/npm/lib/utils/completion/installed-deep.js
@@ -16,7 +16,7 @@ const installedDeep = async (npm) => {
})
.filter(i => (i.depth - 1) <= depth)
.sort((a, b) => a.depth - b.depth)
- .sort((a, b) => a.depth === b.depth ? a.name.localeCompare(b.name) : 0)
+ .sort((a, b) => a.depth === b.depth ? a.name.localeCompare(b.name, 'en') : 0)
const res = new Set()
const gArb = new Arborist({ global: true, path: resolve(npm.globalDir, '..') })
diff --git a/deps/npm/lib/utils/config/definitions.js b/deps/npm/lib/utils/config/definitions.js
index 3a50175d5db..aa90de8e760 100644
--- a/deps/npm/lib/utils/config/definitions.js
+++ b/deps/npm/lib/utils/config/definitions.js
@@ -1943,6 +1943,7 @@ define('user-agent', {
'node/{node-version} ' +
'{platform} ' +
'{arch} ' +
+ 'workspaces/{workspaces} ' +
'{ci}',
type: String,
description: `
@@ -1953,17 +1954,23 @@ define('user-agent', {
* \`{node-version}\` - The Node.js version in use
* \`{platform}\` - The value of \`process.platform\`
* \`{arch}\` - The value of \`process.arch\`
+ * \`{workspaces}\` - Set to \`true\` if the \`workspaces\` or \`workspace\`
+ options are set.
* \`{ci}\` - The value of the \`ci-name\` config, if set, prefixed with
\`ci/\`, or an empty string if \`ci-name\` is empty.
`,
flatten (key, obj, flatOptions) {
const value = obj[key]
const ciName = obj['ci-name']
+ let inWorkspaces = false
+ if (obj.workspaces || obj.workspace && obj.workspace.length)
+ inWorkspaces = true
flatOptions.userAgent =
value.replace(/\{node-version\}/gi, obj['node-version'])
.replace(/\{npm-version\}/gi, obj['npm-version'])
.replace(/\{platform\}/gi, process.platform)
.replace(/\{arch\}/gi, process.arch)
+ .replace(/\{workspaces\}/gi, inWorkspaces)
.replace(/\{ci\}/gi, ciName ? `ci/${ciName}` : '')
.trim()
// user-agent is a unique kind of config item that gets set from a template
diff --git a/deps/npm/lib/utils/config/describe-all.js b/deps/npm/lib/utils/config/describe-all.js
index ab3f3a63ea7..5fb785f0831 100644
--- a/deps/npm/lib/utils/config/describe-all.js
+++ b/deps/npm/lib/utils/config/describe-all.js
@@ -7,7 +7,7 @@ const describeAll = () => {
const sort = ([keya, {deprecated: depa}], [keyb, {deprecated: depb}]) => {
return depa && !depb ? 1
: !depa && depb ? -1
- : keya.localeCompare(keyb)
+ : keya.localeCompare(keyb, 'en')
}
return Object.entries(definitions).sort(sort)
.map(([key, def]) => def.describe())
diff --git a/deps/npm/lib/utils/npm-usage.js b/deps/npm/lib/utils/npm-usage.js
index bc397cb4d95..ddb0bab0bc9 100644
--- a/deps/npm/lib/utils/npm-usage.js
+++ b/deps/npm/lib/utils/npm-usage.js
@@ -62,7 +62,7 @@ const usages = (npm) => {
maxLen = Math.max(maxLen, c.length)
return set
}, [])
- .sort((a, b) => a[0].localeCompare(b[0]))
+ .sort((a, b) => a[0].localeCompare(b[0], 'en'))
.map(([c, usage]) => `\n ${c}${' '.repeat(maxLen - c.length + 1)}${
(usage.split('\n').join('\n' + ' '.repeat(maxLen + 5)))}`)
.join('\n')
diff --git a/deps/npm/lib/utils/tar.js b/deps/npm/lib/utils/tar.js
index 887c40a0f6e..9e7c3329530 100644
--- a/deps/npm/lib/utils/tar.js
+++ b/deps/npm/lib/utils/tar.js
@@ -76,7 +76,7 @@ const getContents = async (manifest, tarball) => {
})
const comparator = (a, b) => {
- return a.path.localeCompare(b.path, undefined, {
+ return a.path.localeCompare(b.path, 'en', {
sensitivity: 'case',
numeric: true,
})
@@ -84,7 +84,7 @@ const getContents = async (manifest, tarball) => {
const isUpper = (str) => {
const ch = str.charAt(0)
- return ch >= 'A' && ch <= 'Z'
+ return ch === ch.toUpperCase()
}
const uppers = files.filter(file => isUpper(file.path))
diff --git a/deps/npm/lib/view.js b/deps/npm/lib/view.js
index 91b32e2fd38..9cc1aed9144 100644
--- a/deps/npm/lib/view.js
+++ b/deps/npm/lib/view.js
@@ -202,7 +202,10 @@ class View extends BaseCommand {
const spec = npa(pkg)
// get the data about this package
- let version = spec.rawSpec || this.npm.config.get('tag')
+ let version = this.npm.config.get('tag')
+ // rawSpec is the git url if this is from git
+ if (spec.type !== 'git' && spec.rawSpec)
+ version = spec.rawSpec
const pckmnt = await packument(spec, opts)
diff --git a/deps/npm/man/man1/npm-access.1 b/deps/npm/man/man1/npm-access.1
index f1deed4c428..8165ccd46d5 100644
--- a/deps/npm/man/man1/npm-access.1
+++ b/deps/npm/man/man1/npm-access.1
@@ -1,4 +1,4 @@
-.TH "NPM\-ACCESS" "1" "April 2021" "" ""
+.TH "NPM\-ACCESS" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-access\fR \- Set access level on published packages
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-adduser.1 b/deps/npm/man/man1/npm-adduser.1
index aa7d0e5e527..26f42858694 100644
--- a/deps/npm/man/man1/npm-adduser.1
+++ b/deps/npm/man/man1/npm-adduser.1
@@ -1,4 +1,4 @@
-.TH "NPM\-ADDUSER" "1" "April 2021" "" ""
+.TH "NPM\-ADDUSER" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-adduser\fR \- Add a registry user account
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-audit.1 b/deps/npm/man/man1/npm-audit.1
index ebbb019ec8a..cd63c284730 100644
--- a/deps/npm/man/man1/npm-audit.1
+++ b/deps/npm/man/man1/npm-audit.1
@@ -1,4 +1,4 @@
-.TH "NPM\-AUDIT" "1" "April 2021" "" ""
+.TH "NPM\-AUDIT" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-audit\fR \- Run a security audit
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-bin.1 b/deps/npm/man/man1/npm-bin.1
index d7ddf05cb75..61e2ab1ea91 100644
--- a/deps/npm/man/man1/npm-bin.1
+++ b/deps/npm/man/man1/npm-bin.1
@@ -1,4 +1,4 @@
-.TH "NPM\-BIN" "1" "April 2021" "" ""
+.TH "NPM\-BIN" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-bin\fR \- Display npm bin folder
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-bugs.1 b/deps/npm/man/man1/npm-bugs.1
index 9d453b825b9..c4297521de2 100644
--- a/deps/npm/man/man1/npm-bugs.1
+++ b/deps/npm/man/man1/npm-bugs.1
@@ -1,4 +1,4 @@
-.TH "NPM\-BUGS" "1" "April 2021" "" ""
+.TH "NPM\-BUGS" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-bugs\fR \- Report bugs for a package in a web browser
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-cache.1 b/deps/npm/man/man1/npm-cache.1
index 08913baa632..25b9d0d7911 100644
--- a/deps/npm/man/man1/npm-cache.1
+++ b/deps/npm/man/man1/npm-cache.1
@@ -1,14 +1,14 @@
-.TH "NPM\-CACHE" "1" "April 2021" "" ""
+.TH "NPM\-CACHE" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-cache\fR \- Manipulates packages cache
.SS Synopsis
.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 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
@@ -24,7 +24,7 @@ Used to add, list, or clean the npm cache folder\.
.RS 0
.IP \(bu 2
add:
-Add the specified package to the local cache\. This command is primarily
+Add the specified packages to the local cache\. This command is primarily
intended to be used internally by npm, but it can provide a way to
add data to the local installation cache explicitly\.
.IP \(bu 2
diff --git a/deps/npm/man/man1/npm-ci.1 b/deps/npm/man/man1/npm-ci.1
index 67f7245d01b..481d3d23c95 100644
--- a/deps/npm/man/man1/npm-ci.1
+++ b/deps/npm/man/man1/npm-ci.1
@@ -1,4 +1,4 @@
-.TH "NPM\-CI" "1" "April 2021" "" ""
+.TH "NPM\-CI" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-ci\fR \- Install a project with a clean slate
.SS Synopsis
@@ -10,7 +10,7 @@ npm ci
.RE
.SS Description
.P
-This command is similar to \fBnpm install\fP \fI/cli\-commands/install\fR, except
+This command is similar to npm help \fBinstall\fP, except
it's meant to be used in automated environments such as test platforms,
continuous integration, and deployment \-\- or any situation where you want
to make sure you're doing a clean install of your dependencies\.
diff --git a/deps/npm/man/man1/npm-completion.1 b/deps/npm/man/man1/npm-completion.1
index cb3e2d99435..dffedb6b639 100644
--- a/deps/npm/man/man1/npm-completion.1
+++ b/deps/npm/man/man1/npm-completion.1
@@ -1,4 +1,4 @@
-.TH "NPM\-COMPLETION" "1" "April 2021" "" ""
+.TH "NPM\-COMPLETION" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-completion\fR \- Tab Completion for npm
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-config.1 b/deps/npm/man/man1/npm-config.1
index c19d0411cb7..2ab14312a86 100644
--- a/deps/npm/man/man1/npm-config.1
+++ b/deps/npm/man/man1/npm-config.1
@@ -1,4 +1,4 @@
-.TH "NPM\-CONFIG" "1" "April 2021" "" ""
+.TH "NPM\-CONFIG" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-config\fR \- Manage the npm configuration files
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-dedupe.1 b/deps/npm/man/man1/npm-dedupe.1
index fd6cce4bc1b..bd65bd3853c 100644
--- a/deps/npm/man/man1/npm-dedupe.1
+++ b/deps/npm/man/man1/npm-dedupe.1
@@ -1,4 +1,4 @@
-.TH "NPM\-DEDUPE" "1" "April 2021" "" ""
+.TH "NPM\-DEDUPE" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-dedupe\fR \- Reduce duplication in the package tree
.SS Synopsis
@@ -78,12 +78,12 @@ Using \fBnpm find\-dupes\fP will run the command in \fB\-\-dry\-run\fP mode\.
.SS See Also
.RS 0
.IP \(bu 2
-npm find\-dupes \fI/cli\-commands/find\-dupes\fR
+npm help find\-dupes
.IP \(bu 2
-npm ls \fI/cli\-commands/ls\fR
+npm help ls
.IP \(bu 2
-npm update \fI/cli\-commands/update\fR
+npm help update
.IP \(bu 2
-npm install \fI/cli\-commands/install\fR
+npm help install
.RE
diff --git a/deps/npm/man/man1/npm-deprecate.1 b/deps/npm/man/man1/npm-deprecate.1
index 33922d2e834..c57decbba87 100644
--- a/deps/npm/man/man1/npm-deprecate.1
+++ b/deps/npm/man/man1/npm-deprecate.1
@@ -1,4 +1,4 @@
-.TH "NPM\-DEPRECATE" "1" "April 2021" "" ""
+.TH "NPM\-DEPRECATE" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-deprecate\fR \- Deprecate a version of a package
.SS Synopsis
@@ -48,8 +48,8 @@ npm help publish
.IP \(bu 2
npm help registry
.IP \(bu 2
-npm owner \fI/cli\-commands/owner\fR
+npm help owner
.IP \(bu 2
-npm owner \fI/cli\-commands/adduser\fR
+npm help owner
.RE
diff --git a/deps/npm/man/man1/npm-diff.1 b/deps/npm/man/man1/npm-diff.1
index 97092215bd8..079c73e46a4 100644
--- a/deps/npm/man/man1/npm-diff.1
+++ b/deps/npm/man/man1/npm-diff.1
@@ -1,4 +1,4 @@
-.TH "NPM\-DIFF" "1" "April 2021" "" ""
+.TH "NPM\-DIFF" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-diff\fR \- The registry diff command
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-dist-tag.1 b/deps/npm/man/man1/npm-dist-tag.1
index 6be3351be3c..95ed3584723 100644
--- a/deps/npm/man/man1/npm-dist-tag.1
+++ b/deps/npm/man/man1/npm-dist-tag.1
@@ -1,4 +1,4 @@
-.TH "NPM\-DIST\-TAG" "1" "April 2021" "" ""
+.TH "NPM\-DIST\-TAG" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-dist-tag\fR \- Modify package distribution tags
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-docs.1 b/deps/npm/man/man1/npm-docs.1
index 5da2b661a54..1aec0eb795f 100644
--- a/deps/npm/man/man1/npm-docs.1
+++ b/deps/npm/man/man1/npm-docs.1
@@ -1,4 +1,4 @@
-.TH "NPM\-DOCS" "1" "April 2021" "" ""
+.TH "NPM\-DOCS" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-docs\fR \- Open documentation for a package in a web browser
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-doctor.1 b/deps/npm/man/man1/npm-doctor.1
index c3b11a90259..df05a562f95 100644
--- a/deps/npm/man/man1/npm-doctor.1
+++ b/deps/npm/man/man1/npm-doctor.1
@@ -1,4 +1,4 @@
-.TH "NPM\-DOCTOR" "1" "April 2021" "" ""
+.TH "NPM\-DOCTOR" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-doctor\fR \- Check your npm environment
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-edit.1 b/deps/npm/man/man1/npm-edit.1
index 445439d1554..425c769cfed 100644
--- a/deps/npm/man/man1/npm-edit.1
+++ b/deps/npm/man/man1/npm-edit.1
@@ -1,4 +1,4 @@
-.TH "NPM\-EDIT" "1" "April 2021" "" ""
+.TH "NPM\-EDIT" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-edit\fR \- Edit an installed package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-exec.1 b/deps/npm/man/man1/npm-exec.1
index 1ac663ff18e..5bb3736ae62 100644
--- a/deps/npm/man/man1/npm-exec.1
+++ b/deps/npm/man/man1/npm-exec.1
@@ -1,4 +1,4 @@
-.TH "NPM\-EXEC" "1" "April 2021" "" ""
+.TH "NPM\-EXEC" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-exec\fR \- Run a command from a local or remote npm package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-explain.1 b/deps/npm/man/man1/npm-explain.1
index efc53147882..87c84f1aaf2 100644
--- a/deps/npm/man/man1/npm-explain.1
+++ b/deps/npm/man/man1/npm-explain.1
@@ -1,4 +1,4 @@
-.TH "NPM\-EXPLAIN" "1" "April 2021" "" ""
+.TH "NPM\-EXPLAIN" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-explain\fR \- Explain installed packages
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-explore.1 b/deps/npm/man/man1/npm-explore.1
index 7863f3a0711..205f0518e90 100644
--- a/deps/npm/man/man1/npm-explore.1
+++ b/deps/npm/man/man1/npm-explore.1
@@ -1,4 +1,4 @@
-.TH "NPM\-EXPLORE" "1" "April 2021" "" ""
+.TH "NPM\-EXPLORE" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-explore\fR \- Browse an installed package
.SS Synopsis
@@ -49,8 +49,6 @@ npm help edit
.IP \(bu 2
npm help rebuild
.IP \(bu 2
-npm help build
-.IP \(bu 2
npm help install
.RE
diff --git a/deps/npm/man/man1/npm-find-dupes.1 b/deps/npm/man/man1/npm-find-dupes.1
index 03ff67e95b5..e88c89408b3 100644
--- a/deps/npm/man/man1/npm-find-dupes.1
+++ b/deps/npm/man/man1/npm-find-dupes.1
@@ -1,4 +1,4 @@
-.TH "NPM\-FIND\-DUPES" "1" "April 2021" "" ""
+.TH "NPM\-FIND\-DUPES" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-find-dupes\fR \- Find duplication in the package tree
.SS Synopsis
@@ -15,12 +15,12 @@ duplications, without actually changing the package tree\.
.SS See Also
.RS 0
.IP \(bu 2
-npm dedupe \fI/cli\-commands/dedupe\fR
+npm help dedupe
.IP \(bu 2
-npm ls \fI/cli\-commands/ls\fR
+npm help ls
.IP \(bu 2
-npm update \fI/cli\-commands/update\fR
+npm help update
.IP \(bu 2
-npm install \fI/cli\-commands/install\fR
+npm help install
.RE
diff --git a/deps/npm/man/man1/npm-fund.1 b/deps/npm/man/man1/npm-fund.1
index dc67600e6ac..81a277bb008 100644
--- a/deps/npm/man/man1/npm-fund.1
+++ b/deps/npm/man/man1/npm-fund.1
@@ -1,4 +1,4 @@
-.TH "NPM\-FUND" "1" "April 2021" "" ""
+.TH "NPM\-FUND" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-fund\fR \- Retrieve funding information
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-help-search.1 b/deps/npm/man/man1/npm-help-search.1
index a7bc089b196..2f85992550d 100644
--- a/deps/npm/man/man1/npm-help-search.1
+++ b/deps/npm/man/man1/npm-help-search.1
@@ -1,4 +1,4 @@
-.TH "NPM\-HELP\-SEARCH" "1" "April 2021" "" ""
+.TH "NPM\-HELP\-SEARCH" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-help-search\fR \- Search npm help documentation
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-help.1 b/deps/npm/man/man1/npm-help.1
index 8e328293000..f97f9117b68 100644
--- a/deps/npm/man/man1/npm-help.1
+++ b/deps/npm/man/man1/npm-help.1
@@ -1,4 +1,4 @@
-.TH "NPM\-HELP" "1" "April 2021" "" ""
+.TH "NPM\-HELP" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-help\fR \- Get help on npm
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-hook.1 b/deps/npm/man/man1/npm-hook.1
index 06cb0959fcc..bb6b553a60c 100644
--- a/deps/npm/man/man1/npm-hook.1
+++ b/deps/npm/man/man1/npm-hook.1
@@ -1,4 +1,4 @@
-.TH "NPM\-HOOK" "1" "April 2021" "" ""
+.TH "NPM\-HOOK" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-hook\fR \- Manage registry hooks
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-init.1 b/deps/npm/man/man1/npm-init.1
index b4b09e598d2..9ba1cf0a645 100644
--- a/deps/npm/man/man1/npm-init.1
+++ b/deps/npm/man/man1/npm-init.1
@@ -1,4 +1,4 @@
-.TH "NPM\-INIT" "1" "April 2021" "" ""
+.TH "NPM\-INIT" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-init\fR \- Create a package\.json file
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-install-ci-test.1 b/deps/npm/man/man1/npm-install-ci-test.1
index 22eb734e21e..448a8514812 100644
--- a/deps/npm/man/man1/npm-install-ci-test.1
+++ b/deps/npm/man/man1/npm-install-ci-test.1
@@ -1,4 +1,4 @@
-.TH "NPM\-INSTALL\-CI\-TEST" "1" "April 2021" "" ""
+.TH "NPM\-INSTALL\-CI\-TEST" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-install-ci-test\fR \- Install a project with a clean slate and run tests
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-install-test.1 b/deps/npm/man/man1/npm-install-test.1
index 521d0bc5ebf..03efe308f2e 100644
--- a/deps/npm/man/man1/npm-install-test.1
+++ b/deps/npm/man/man1/npm-install-test.1
@@ -1,4 +1,4 @@
-.TH "NPM\-INSTALL\-TEST" "1" "April 2021" "" ""
+.TH "NPM\-INSTALL\-TEST" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-install-test\fR \- Install package(s) and run tests
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-install.1 b/deps/npm/man/man1/npm-install.1
index 5ac2700d829..c4567fb2920 100644
--- a/deps/npm/man/man1/npm-install.1
+++ b/deps/npm/man/man1/npm-install.1
@@ -1,4 +1,4 @@
-.TH "NPM\-INSTALL" "1" "April 2021" "" ""
+.TH "NPM\-INSTALL" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-install\fR \- Install a package
.SS Synopsis
@@ -576,8 +576,6 @@ npm help rebuild
.IP \(bu 2
npm help scripts
.IP \(bu 2
-npm help build
-.IP \(bu 2
npm help config
.IP \(bu 2
npm help npmrc
diff --git a/deps/npm/man/man1/npm-link.1 b/deps/npm/man/man1/npm-link.1
index 94afe9c3fdf..404b04a5ce4 100644
--- a/deps/npm/man/man1/npm-link.1
+++ b/deps/npm/man/man1/npm-link.1
@@ -1,4 +1,4 @@
-.TH "NPM\-LINK" "1" "April 2021" "" ""
+.TH "NPM\-LINK" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-link\fR \- Symlink a package folder
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-logout.1 b/deps/npm/man/man1/npm-logout.1
index 0f94b466398..84a6851b284 100644
--- a/deps/npm/man/man1/npm-logout.1
+++ b/deps/npm/man/man1/npm-logout.1
@@ -1,4 +1,4 @@
-.TH "NPM\-LOGOUT" "1" "April 2021" "" ""
+.TH "NPM\-LOGOUT" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-logout\fR \- Log out of the registry
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-ls.1 b/deps/npm/man/man1/npm-ls.1
index 2d4720ad8a4..c47da918754 100644
--- a/deps/npm/man/man1/npm-ls.1
+++ b/deps/npm/man/man1/npm-ls.1
@@ -1,4 +1,4 @@
-.TH "NPM\-LS" "1" "April 2021" "" ""
+.TH "NPM\-LS" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-ls\fR \- List installed packages
.SS Synopsis
@@ -26,7 +26,7 @@ example, running \fBnpm ls promzard\fP in npm's source tree will show:
.P
.RS 2
.nf
-npm@7\.11\.2 /path/to/npm
+npm@7\.12\.1 /path/to/npm
└─┬ init\-package\-json@0\.0\.4
└── promzard@0\.1\.5
.fi
diff --git a/deps/npm/man/man1/npm-org.1 b/deps/npm/man/man1/npm-org.1
index 7d85be8760a..18cb791b071 100644
--- a/deps/npm/man/man1/npm-org.1
+++ b/deps/npm/man/man1/npm-org.1
@@ -1,4 +1,4 @@
-.TH "NPM\-ORG" "1" "April 2021" "" ""
+.TH "NPM\-ORG" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-org\fR \- Manage orgs
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-outdated.1 b/deps/npm/man/man1/npm-outdated.1
index d90143428f2..a7309f2dfb9 100644
--- a/deps/npm/man/man1/npm-outdated.1
+++ b/deps/npm/man/man1/npm-outdated.1
@@ -1,4 +1,4 @@
-.TH "NPM\-OUTDATED" "1" "April 2021" "" ""
+.TH "NPM\-OUTDATED" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-outdated\fR \- Check for outdated packages
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-owner.1 b/deps/npm/man/man1/npm-owner.1
index 3731b383d76..7140aef06b6 100644
--- a/deps/npm/man/man1/npm-owner.1
+++ b/deps/npm/man/man1/npm-owner.1
@@ -1,4 +1,4 @@
-.TH "NPM\-OWNER" "1" "April 2021" "" ""
+.TH "NPM\-OWNER" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-owner\fR \- Manage package owners
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-pack.1 b/deps/npm/man/man1/npm-pack.1
index adedbef0c1f..ab34dc891d1 100644
--- a/deps/npm/man/man1/npm-pack.1
+++ b/deps/npm/man/man1/npm-pack.1
@@ -1,4 +1,4 @@
-.TH "NPM\-PACK" "1" "April 2021" "" ""
+.TH "NPM\-PACK" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-pack\fR \- Create a tarball from a package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-ping.1 b/deps/npm/man/man1/npm-ping.1
index 9eb5ec12842..385e4b8a810 100644
--- a/deps/npm/man/man1/npm-ping.1
+++ b/deps/npm/man/man1/npm-ping.1
@@ -1,4 +1,4 @@
-.TH "NPM\-PING" "1" "April 2021" "" ""
+.TH "NPM\-PING" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-ping\fR \- Ping npm registry
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-prefix.1 b/deps/npm/man/man1/npm-prefix.1
index c4b8a36e954..82de74199e9 100644
--- a/deps/npm/man/man1/npm-prefix.1
+++ b/deps/npm/man/man1/npm-prefix.1
@@ -1,4 +1,4 @@
-.TH "NPM\-PREFIX" "1" "April 2021" "" ""
+.TH "NPM\-PREFIX" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-prefix\fR \- Display prefix
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-profile.1 b/deps/npm/man/man1/npm-profile.1
index 7b2ff13efae..d2d412fe8bf 100644
--- a/deps/npm/man/man1/npm-profile.1
+++ b/deps/npm/man/man1/npm-profile.1
@@ -1,4 +1,4 @@
-.TH "NPM\-PROFILE" "1" "April 2021" "" ""
+.TH "NPM\-PROFILE" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-profile\fR \- Change settings on your registry profile
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-prune.1 b/deps/npm/man/man1/npm-prune.1
index df8b82eb7b5..18d5e14dd1a 100644
--- a/deps/npm/man/man1/npm-prune.1
+++ b/deps/npm/man/man1/npm-prune.1
@@ -1,4 +1,4 @@
-.TH "NPM\-PRUNE" "1" "April 2021" "" ""
+.TH "NPM\-PRUNE" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-prune\fR \- Remove extraneous packages
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-publish.1 b/deps/npm/man/man1/npm-publish.1
index ac7a0323a72..c405f64f27e 100644
--- a/deps/npm/man/man1/npm-publish.1
+++ b/deps/npm/man/man1/npm-publish.1
@@ -1,4 +1,4 @@
-.TH "NPM\-PUBLISH" "1" "April 2021" "" ""
+.TH "NPM\-PUBLISH" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-publish\fR \- Publish a package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-rebuild.1 b/deps/npm/man/man1/npm-rebuild.1
index 995c8ab5ea1..3a78852b543 100644
--- a/deps/npm/man/man1/npm-rebuild.1
+++ b/deps/npm/man/man1/npm-rebuild.1
@@ -1,4 +1,4 @@
-.TH "NPM\-REBUILD" "1" "April 2021" "" ""
+.TH "NPM\-REBUILD" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-rebuild\fR \- Rebuild a package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-repo.1 b/deps/npm/man/man1/npm-repo.1
index 30b05534836..bdb5452181e 100644
--- a/deps/npm/man/man1/npm-repo.1
+++ b/deps/npm/man/man1/npm-repo.1
@@ -1,4 +1,4 @@
-.TH "NPM\-REPO" "1" "April 2021" "" ""
+.TH "NPM\-REPO" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-repo\fR \- Open package repository page in the browser
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-restart.1 b/deps/npm/man/man1/npm-restart.1
index bd212fb466a..4ecb71f177e 100644
--- a/deps/npm/man/man1/npm-restart.1
+++ b/deps/npm/man/man1/npm-restart.1
@@ -1,4 +1,4 @@
-.TH "NPM\-RESTART" "1" "April 2021" "" ""
+.TH "NPM\-RESTART" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-restart\fR \- Restart a package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-root.1 b/deps/npm/man/man1/npm-root.1
index ddff01d429e..e552a650986 100644
--- a/deps/npm/man/man1/npm-root.1
+++ b/deps/npm/man/man1/npm-root.1
@@ -1,4 +1,4 @@
-.TH "NPM\-ROOT" "1" "April 2021" "" ""
+.TH "NPM\-ROOT" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-root\fR \- Display npm root
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-run-script.1 b/deps/npm/man/man1/npm-run-script.1
index 53b88e6fab9..22222c6541e 100644
--- a/deps/npm/man/man1/npm-run-script.1
+++ b/deps/npm/man/man1/npm-run-script.1
@@ -1,4 +1,4 @@
-.TH "NPM\-RUN\-SCRIPT" "1" "April 2021" "" ""
+.TH "NPM\-RUN\-SCRIPT" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-run-script\fR \- Run arbitrary package scripts
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-search.1 b/deps/npm/man/man1/npm-search.1
index 068499dc99c..5e889b15f62 100644
--- a/deps/npm/man/man1/npm-search.1
+++ b/deps/npm/man/man1/npm-search.1
@@ -1,4 +1,4 @@
-.TH "NPM\-SEARCH" "1" "April 2021" "" ""
+.TH "NPM\-SEARCH" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-search\fR \- Search for packages
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-set-script.1 b/deps/npm/man/man1/npm-set-script.1
index f348099fb48..e9a380ee460 100644
--- a/deps/npm/man/man1/npm-set-script.1
+++ b/deps/npm/man/man1/npm-set-script.1
@@ -1,4 +1,4 @@
-.TH "NPM\-SET\-SCRIPT" "1" "April 2021" "" ""
+.TH "NPM\-SET\-SCRIPT" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-set-script\fR \- Set tasks in the scripts section of package\.json
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-shrinkwrap.1 b/deps/npm/man/man1/npm-shrinkwrap.1
index d349510e5a9..a57ffb18187 100644
--- a/deps/npm/man/man1/npm-shrinkwrap.1
+++ b/deps/npm/man/man1/npm-shrinkwrap.1
@@ -1,4 +1,4 @@
-.TH "NPM\-SHRINKWRAP" "1" "April 2021" "" ""
+.TH "NPM\-SHRINKWRAP" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-shrinkwrap\fR \- Lock down dependency versions for publication
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-star.1 b/deps/npm/man/man1/npm-star.1
index e95168e243f..49f91c6466e 100644
--- a/deps/npm/man/man1/npm-star.1
+++ b/deps/npm/man/man1/npm-star.1
@@ -1,4 +1,4 @@
-.TH "NPM\-STAR" "1" "April 2021" "" ""
+.TH "NPM\-STAR" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-star\fR \- Mark your favorite packages
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-stars.1 b/deps/npm/man/man1/npm-stars.1
index fa16060953c..397cfea91fe 100644
--- a/deps/npm/man/man1/npm-stars.1
+++ b/deps/npm/man/man1/npm-stars.1
@@ -1,4 +1,4 @@
-.TH "NPM\-STARS" "1" "April 2021" "" ""
+.TH "NPM\-STARS" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-stars\fR \- View packages marked as favorites
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-start.1 b/deps/npm/man/man1/npm-start.1
index 42d8b6cc96f..84bdff0140d 100644
--- a/deps/npm/man/man1/npm-start.1
+++ b/deps/npm/man/man1/npm-start.1
@@ -1,4 +1,4 @@
-.TH "NPM\-START" "1" "April 2021" "" ""
+.TH "NPM\-START" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-start\fR \- Start a package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-stop.1 b/deps/npm/man/man1/npm-stop.1
index 55be734ed48..143aa56462d 100644
--- a/deps/npm/man/man1/npm-stop.1
+++ b/deps/npm/man/man1/npm-stop.1
@@ -1,4 +1,4 @@
-.TH "NPM\-STOP" "1" "April 2021" "" ""
+.TH "NPM\-STOP" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-stop\fR \- Stop a package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-team.1 b/deps/npm/man/man1/npm-team.1
index 94aa9d89cca..5816ea1d21b 100644
--- a/deps/npm/man/man1/npm-team.1
+++ b/deps/npm/man/man1/npm-team.1
@@ -1,4 +1,4 @@
-.TH "NPM\-TEAM" "1" "April 2021" "" ""
+.TH "NPM\-TEAM" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-team\fR \- Manage organization teams and team memberships
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-test.1 b/deps/npm/man/man1/npm-test.1
index cedbe681982..4dd4bc2335f 100644
--- a/deps/npm/man/man1/npm-test.1
+++ b/deps/npm/man/man1/npm-test.1
@@ -1,4 +1,4 @@
-.TH "NPM\-TEST" "1" "April 2021" "" ""
+.TH "NPM\-TEST" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-test\fR \- Test a package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-token.1 b/deps/npm/man/man1/npm-token.1
index 5adf0cda6d8..2b45db5fc4e 100644
--- a/deps/npm/man/man1/npm-token.1
+++ b/deps/npm/man/man1/npm-token.1
@@ -1,4 +1,4 @@
-.TH "NPM\-TOKEN" "1" "April 2021" "" ""
+.TH "NPM\-TOKEN" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-token\fR \- Manage your authentication tokens
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-uninstall.1 b/deps/npm/man/man1/npm-uninstall.1
index 0de9f431be3..0ee2fded986 100644
--- a/deps/npm/man/man1/npm-uninstall.1
+++ b/deps/npm/man/man1/npm-uninstall.1
@@ -1,4 +1,4 @@
-.TH "NPM\-UNINSTALL" "1" "April 2021" "" ""
+.TH "NPM\-UNINSTALL" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-uninstall\fR \- Remove a package
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-unpublish.1 b/deps/npm/man/man1/npm-unpublish.1
index 9645ab106d0..e0e2a6c81b2 100644
--- a/deps/npm/man/man1/npm-unpublish.1
+++ b/deps/npm/man/man1/npm-unpublish.1
@@ -1,4 +1,4 @@
-.TH "NPM\-UNPUBLISH" "1" "April 2021" "" ""
+.TH "NPM\-UNPUBLISH" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-unpublish\fR \- Remove a package from the registry
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-unstar.1 b/deps/npm/man/man1/npm-unstar.1
index 86c152eb6d2..ec4cf6d2d1f 100644
--- a/deps/npm/man/man1/npm-unstar.1
+++ b/deps/npm/man/man1/npm-unstar.1
@@ -1,4 +1,4 @@
-.TH "NPM\-UNSTAR" "1" "April 2021" "" ""
+.TH "NPM\-UNSTAR" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-unstar\fR \- Remove an item from your favorite packages
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-update.1 b/deps/npm/man/man1/npm-update.1
index adaebe92db3..2ac1f9e8478 100644
--- a/deps/npm/man/man1/npm-update.1
+++ b/deps/npm/man/man1/npm-update.1
@@ -1,4 +1,4 @@
-.TH "NPM\-UPDATE" "1" "April 2021" "" ""
+.TH "NPM\-UPDATE" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-update\fR \- Update packages
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-version.1 b/deps/npm/man/man1/npm-version.1
index d926c9e5282..02de076a10c 100644
--- a/deps/npm/man/man1/npm-version.1
+++ b/deps/npm/man/man1/npm-version.1
@@ -1,4 +1,4 @@
-.TH "NPM\-VERSION" "1" "April 2021" "" ""
+.TH "NPM\-VERSION" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-version\fR \- Bump a package version
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-view.1 b/deps/npm/man/man1/npm-view.1
index 498821fbb6b..b3dac21b757 100644
--- a/deps/npm/man/man1/npm-view.1
+++ b/deps/npm/man/man1/npm-view.1
@@ -1,4 +1,4 @@
-.TH "NPM\-VIEW" "1" "April 2021" "" ""
+.TH "NPM\-VIEW" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-view\fR \- View registry info
.SS Synopsis
diff --git a/deps/npm/man/man1/npm-whoami.1 b/deps/npm/man/man1/npm-whoami.1
index c38b46dff07..ed54f2f00bc 100644
--- a/deps/npm/man/man1/npm-whoami.1
+++ b/deps/npm/man/man1/npm-whoami.1
@@ -1,4 +1,4 @@
-.TH "NPM\-WHOAMI" "1" "April 2021" "" ""
+.TH "NPM\-WHOAMI" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm-whoami\fR \- Display npm username
.SS Synopsis
diff --git a/deps/npm/man/man1/npm.1 b/deps/npm/man/man1/npm.1
index 8dbeca5362b..4562527e1b5 100644
--- a/deps/npm/man/man1/npm.1
+++ b/deps/npm/man/man1/npm.1
@@ -1,4 +1,4 @@
-.TH "NPM" "1" "April 2021" "" ""
+.TH "NPM" "1" "May 2021" "" ""
.SH "NAME"
\fBnpm\fR \- javascript package manager
.SS Synopsis
@@ -10,7 +10,7 @@ npm <command> [args]
.RE
.SS Version
.P
-7\.11\.2
+7\.12\.1
.SS Description
.P
npm is the package manager for the Node JavaScript platform\. It puts
diff --git a/deps/npm/man/man1/npx.1 b/deps/npm/man/man1/npx.1
index 87c018f4121..76305688fb0 100644
--- a/deps/npm/man/man1/npx.1
+++ b/deps/npm/man/man1/npx.1
@@ -1,4 +1,4 @@
-.TH "NPX" "1" "April 2021" "" ""
+.TH "NPX" "1" "May 2021" "" ""
.SH "NAME"
\fBnpx\fR \- Run a command from a local or remote npm package
.SS Synopsis
diff --git a/deps/npm/man/man5/folders.5 b/deps/npm/man/man5/folders.5
index cacb710a03b..ccf0c4f6e8f 100644
--- a/deps/npm/man/man5/folders.5
+++ b/deps/npm/man/man5/folders.5
@@ -1,4 +1,4 @@
-.TH "FOLDERS" "5" "April 2021" "" ""
+.TH "FOLDERS" "5" "May 2021" "" ""
.SH "NAME"
\fBfolders\fR \- Folder Structures Used by npm
.SS Description
diff --git a/deps/npm/man/man5/install.5 b/deps/npm/man/man5/install.5
index 445353eb856..5fc6f442a92 100644
--- a/deps/npm/man/man5/install.5
+++ b/deps/npm/man/man5/install.5
@@ -1,4 +1,4 @@
-.TH "INSTALL" "5" "April 2021" "" ""
+.TH "INSTALL" "5" "May 2021" "" ""
.SH "NAME"
\fBinstall\fR \- Download and install node and npm
.SS Description
diff --git a/deps/npm/man/man5/npm-shrinkwrap-json.5 b/deps/npm/man/man5/npm-shrinkwrap-json.5
index 27076ba3361..2fdbdd139a9 100644
--- a/deps/npm/man/man5/npm-shrinkwrap-json.5
+++ b/deps/npm/man/man5/npm-shrinkwrap-json.5
@@ -1,4 +1,4 @@
-.TH "NPM\-SHRINKWRAP\.JSON" "5" "April 2021" "" ""
+.TH "NPM\-SHRINKWRAP\.JSON" "5" "May 2021" "" ""
.SH "NAME"
\fBnpm-shrinkwrap.json\fR \- A publishable lockfile
.SS Description
diff --git a/deps/npm/man/man5/npmrc.5 b/deps/npm/man/man5/npmrc.5
index f880a269513..1ecd71ff214 100644
--- a/deps/npm/man/man5/npmrc.5
+++ b/deps/npm/man/man5/npmrc.5
@@ -1,4 +1,4 @@
-.TH "NPMRC" "5" "April 2021" "" ""
+.TH "NPMRC" "5" "May 2021" "" ""
.SH "NAME"
\fBnpmrc\fR \- The npm config files
.SS Description
diff --git a/deps/npm/man/man5/package-json.5 b/deps/npm/man/man5/package-json.5
index a882e445ca0..8b5b12e0382 100644
--- a/deps/npm/man/man5/package-json.5
+++ b/deps/npm/man/man5/package-json.5
@@ -1,4 +1,4 @@
-.TH "PACKAGE\.JSON" "5" "April 2021" "" ""
+.TH "PACKAGE\.JSON" "5" "May 2021" "" ""
.SH "NAME"
\fBpackage.json\fR \- Specifics of npm's package\.json handling
.SS Description
@@ -624,7 +624,7 @@ tarball or git URL\.
\fBPlease do not put test harnesses or transpilers or other "development"
time tools in your \fBdependencies\fP object\.\fR See \fBdevDependencies\fP, below\.
.P
-See npm help semver for more details about specifying version ranges\.
+See semver \fIhttps://github\.com/npm/node\-semver#versions\fR for more details about specifying version ranges\.
.RS 0
.IP \(bu 2
\fBversion\fP Must match \fBversion\fP exactly
diff --git a/deps/npm/man/man5/package-lock-json.5 b/deps/npm/man/man5/package-lock-json.5
index 765dd849994..20bedd30009 100644
--- a/deps/npm/man/man5/package-lock-json.5
+++ b/deps/npm/man/man5/package-lock-json.5
@@ -1,4 +1,4 @@
-.TH "PACKAGE\-LOCK\.JSON" "5" "April 2021" "" ""
+.TH "PACKAGE\-LOCK\.JSON" "5" "May 2021" "" ""
.SH "NAME"
\fBpackage-lock.json\fR \- A manifestation of the manifest
.SS Description
diff --git a/deps/npm/man/man7/config.7 b/deps/npm/man/man7/config.7
index 522e974fc07..b8884ded13e 100644
--- a/deps/npm/man/man7/config.7
+++ b/deps/npm/man/man7/config.7
@@ -1,4 +1,4 @@
-.TH "CONFIG" "7" "April 2021" "" ""
+.TH "CONFIG" "7" "May 2021" "" ""
.SH "NAME"
\fBconfig\fR \- More than you probably want to know about npm configuration
.SS Description
@@ -1666,7 +1666,8 @@ Show short usage output about the command specified\.
.SS \fBuser\-agent\fP
.RS 0
.IP \(bu 2
-Default: "npm/{npm\-version} node/{node\-version} {platform} {arch} {ci}"
+Default: "npm/{npm\-version} node/{node\-version} {platform} {arch}
+workspaces/{workspaces} {ci}"
.IP \(bu 2
Type: String
@@ -1684,6 +1685,9 @@ their actual counterparts:
.IP \(bu 2
\fB{arch}\fP \- The value of \fBprocess\.arch\fP
.IP \(bu 2
+\fB{workspaces}\fP \- Set to \fBtrue\fP if the \fBworkspaces\fP or \fBworkspace\fP options
+are set\.
+.IP \(bu 2
\fB{ci}\fP \- The value of the \fBci\-name\fP config, if set, prefixed with \fBci/\fP, or
an empty string if \fBci\-name\fP is empty\.
diff --git a/deps/npm/man/man7/developers.7 b/deps/npm/man/man7/developers.7
index 00dc1b14e24..0935fea65f5 100644
--- a/deps/npm/man/man7/developers.7
+++ b/deps/npm/man/man7/developers.7
@@ -1,4 +1,4 @@
-.TH "DEVELOPERS" "7" "April 2021" "" ""
+.TH "DEVELOPERS" "7" "May 2021" "" ""
.SH "NAME"
\fBdevelopers\fR \- Developer Guide
.SS Description
diff --git a/deps/npm/man/man7/orgs.7 b/deps/npm/man/man7/orgs.7
index 7f29cf2c239..13c9b9dbadf 100644
--- a/deps/npm/man/man7/orgs.7
+++ b/deps/npm/man/man7/orgs.7
@@ -1,4 +1,4 @@
-.TH "ORGS" "7" "April 2021" "" ""
+.TH "ORGS" "7" "May 2021" "" ""
.SH "NAME"
\fBorgs\fR \- Working with Teams & Orgs
.SS Description
diff --git a/deps/npm/man/man7/registry.7 b/deps/npm/man/man7/registry.7
index 2ff87e4a4c4..941a1450073 100644
--- a/deps/npm/man/man7/registry.7
+++ b/deps/npm/man/man7/registry.7
@@ -1,4 +1,4 @@
-.TH "REGISTRY" "7" "April 2021" "" ""
+.TH "REGISTRY" "7" "May 2021" "" ""
.SH "NAME"
\fBregistry\fR \- The JavaScript Package Registry
.SS Description
diff --git a/deps/npm/man/man7/removal.7 b/deps/npm/man/man7/removal.7
index e3508f6696d..ead032bfdf4 100644
--- a/deps/npm/man/man7/removal.7
+++ b/deps/npm/man/man7/removal.7
@@ -1,4 +1,4 @@
-.TH "REMOVAL" "7" "April 2021" "" ""
+.TH "REMOVAL" "7" "May 2021" "" ""
.SH "NAME"
\fBremoval\fR \- Cleaning the Slate
.SS Synopsis
diff --git a/deps/npm/man/man7/scope.7 b/deps/npm/man/man7/scope.7
index 2a0fa9e1c8e..716946d732a 100644
--- a/deps/npm/man/man7/scope.7
+++ b/deps/npm/man/man7/scope.7
@@ -1,4 +1,4 @@
-.TH "SCOPE" "7" "April 2021" "" ""
+.TH "SCOPE" "7" "May 2021" "" ""
.SH "NAME"
\fBscope\fR \- Scoped packages
.SS Description
diff --git a/deps/npm/man/man7/scripts.7 b/deps/npm/man/man7/scripts.7
index 2dc2486de7d..63ebce805b4 100644
--- a/deps/npm/man/man7/scripts.7
+++ b/deps/npm/man/man7/scripts.7
@@ -1,4 +1,4 @@
-.TH "SCRIPTS" "7" "April 2021" "" ""
+.TH "SCRIPTS" "7" "May 2021" "" ""
.SH "NAME"
\fBscripts\fR \- How npm handles the "scripts" field
.SS Description
@@ -161,13 +161,6 @@ These all run after the actual installation of modules into
\fBprepare\fP
.RE
-.SS npm help \fBenv\fP
-.RS 0
-.IP \(bu 2
-\fBenv\fP (You can override the default behavior of \fBnpm env\fP by defining
- a custom \fBenv\fP entry in your \fBscripts\fP object)
-
-.RE
.SS npm help \fBinstall\fP
.P
These also run when you run \fBnpm install \-g <pkg\-name>\fP
diff --git a/deps/npm/man/man7/workspaces.7 b/deps/npm/man/man7/workspaces.7
index 5b28ac54c5d..dbb63528d6d 100644
--- a/deps/npm/man/man7/workspaces.7
+++ b/deps/npm/man/man7/workspaces.7
@@ -1,4 +1,4 @@
-.TH "WORKSPACES" "7" "April 2021" "" ""
+.TH "WORKSPACES" "7" "May 2021" "" ""
.SH "NAME"
\fBworkspaces\fR \- Working with workspaces
.SS Description
diff --git a/deps/npm/node_modules/@npmcli/arborist/CHANGELOG.md b/deps/npm/node_modules/@npmcli/arborist/CHANGELOG.md
deleted file mode 100644
index 3cd36d027b6..00000000000
--- a/deps/npm/node_modules/@npmcli/arborist/CHANGELOG.md
+++ /dev/null
@@ -1,19 +0,0 @@
-# CHANGELOG
-
-## 2.0
-
-* BREAKING CHANGE: root node is now included in inventory
-* All parent/target/fsParent/etc. references set in `root` setter, rather
- than the hodgepodge of setters that existed before.
-* `treeCheck` function added, to enforce strict correctness guarantees when
- `ARBORIST_DEBUG=1` in the environment (on by default in Arborist tests).
-
-## 1.0
-
-* Release for npm v7 beta
-* Fully functional
-
-## 0.0
-
-* Proof of concept
-* Before this, it was [`read-package-tree`](http://npm.im/read-package-tree)
diff --git a/deps/npm/node_modules/@npmcli/arborist/bin/license.js b/deps/npm/node_modules/@npmcli/arborist/bin/license.js
index 4083ddc695d..89d0d879036 100644
--- a/deps/npm/node_modules/@npmcli/arborist/bin/license.js
+++ b/deps/npm/node_modules/@npmcli/arborist/bin/license.js
@@ -22,7 +22,7 @@ a.loadVirtual().then(tree => {
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] || a[1].localeCompare(b[1])
+ a[1] && b[1] ? b[0] - a[0] || a[1].localeCompare(b[1], 'en')
: a[1] ? -1
: b[1] ? 1
: 0))
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 9a96fd1b379..f78a43319be 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,60 +1,60 @@
// add and remove dependency specs to/from pkg manifest
-const removeFromOthers = (name, type, pkg) => {
- const others = new Set([
- 'dependencies',
- 'optionalDependencies',
- 'devDependencies',
- 'peerDependenciesMeta',
- 'peerDependencies',
- ])
-
- switch (type) {
- case 'prod':
- others.delete('dependencies')
- break
- case 'dev':
- others.delete('devDependencies')
- others.delete('peerDependencies')
- others.delete('peerDependenciesMeta')
- break
- case 'optional':
- others.delete('optionalDependencies')
- break
- case 'peer':
- case 'peerOptional':
- others.delete('devDependencies')
- others.delete('peerDependencies')
- others.delete('peerDependenciesMeta')
- break
- }
-
- for (const other of others)
- deleteSubKey(pkg, other, name)
-}
-
-const add = ({pkg, add, saveBundle, saveType}) => {
+const add = ({pkg, add, saveBundle, saveType, log}) => {
for (const spec of add)
- addSingle({pkg, spec, saveBundle, saveType})
+ addSingle({pkg, spec, saveBundle, saveType, log})
return pkg
}
-const addSingle = ({pkg, spec, saveBundle, saveType}) => {
- if (!saveType)
- saveType = getSaveType(pkg, spec)
+// Canonical source of both the map between saveType and where it correlates to
+// in the package, and the names of all our dependencies attributes
+const saveTypeMap = new Map([
+ ['dev', 'devDependencies'],
+ ['optional', 'optionalDependencies'],
+ ['prod', 'dependencies'],
+ ['peerOptional', 'peerDependencies'],
+ ['peer', 'peerDependencies'],
+])
+const addSingle = ({pkg, spec, saveBundle, saveType, log}) => {
const { name, rawSpec } = spec
- removeFromOthers(name, saveType, pkg)
- const type = saveType === 'prod' ? 'dependencies'
- : saveType === 'optional' ? 'optionalDependencies'
- : saveType === 'peer' || saveType === 'peerOptional' ? 'peerDependencies'
- : saveType === 'dev' ? 'devDependencies'
- : /* istanbul ignore next */ null
- pkg[type] = pkg[type] || {}
- if (rawSpec !== '' || pkg[type][name] === undefined)
- pkg[type][name] = rawSpec || '*'
+ // if the user does not give us a type, we infer which type(s)
+ // to keep based on the same order of priority we do when
+ // building the tree as defined in the _loadDeps method of
+ // the node class.
+ if (!saveType)
+ saveType = inferSaveType(pkg, spec.name)
+
+ 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)
+ } else if (saveType === 'dev') {
+ // a dev dependency may co-exist as peer, or optional, but not production
+ deleteSubKey(pkg, 'dependencies', name, 'devDependencies', log)
+ } 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)
+ } 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)
+ }
+
+ const depType = saveTypeMap.get(saveType)
+
+ pkg[depType] = pkg[depType] || {}
+ if (rawSpec !== '' || pkg[depType][name] === undefined)
+ pkg[depType][name] = rawSpec || '*'
+ if (saveType === 'optional') {
+ // Affordance for previous npm versions that require this behaviour
+ pkg.dependencies = pkg.dependencies || {}
+ pkg.dependencies[name] = pkg.optionalDependencies[name]
+ }
if (saveType === 'peer' || saveType === 'peerOptional') {
const pdm = pkg.peerDependenciesMeta || {}
@@ -75,51 +75,53 @@ const addSingle = ({pkg, spec, saveBundle, saveType}) => {
// keep it sorted, keep it unique
const bd = new Set(pkg.bundleDependencies || [])
bd.add(spec.name)
- pkg.bundleDependencies = [...bd].sort((a, b) => a.localeCompare(b))
+ pkg.bundleDependencies = [...bd].sort((a, b) => a.localeCompare(b, 'en'))
}
}
-const getSaveType = (pkg, spec) => {
- const {name} = spec
- const {
- // these names are so lonnnnngggg
- devDependencies: devDeps,
- optionalDependencies: optDeps,
- peerDependencies: peerDeps,
- peerDependenciesMeta: peerDepsMeta,
- } = pkg
-
- if (peerDeps && peerDeps[name] !== undefined) {
- if (peerDepsMeta && peerDepsMeta[name] && peerDepsMeta[name].optional)
- return 'peerOptional'
- else
- return 'peer'
- } else if (devDeps && devDeps[name] !== undefined)
- return 'dev'
- else if (optDeps && optDeps[name] !== undefined)
- return 'optional'
- else
- return 'prod'
+// Finds where the package is already in the spec and infers saveType from that
+const inferSaveType = (pkg, name) => {
+ for (const saveType of saveTypeMap.keys()) {
+ if (hasSubKey(pkg, saveTypeMap.get(saveType), name)) {
+ if (
+ saveType === 'peerOptional' &&
+ (!hasSubKey(pkg, 'peerDependenciesMeta', name) ||
+ !pkg.peerDependenciesMeta[name].optional)
+ )
+ return 'peer'
+ return saveType
+ }
+ }
+ return 'prod'
}
-const deleteSubKey = (obj, k, sk) => {
- if (obj[k]) {
- delete obj[k][sk]
- if (!Object.keys(obj[k]).length)
- delete obj[k]
+const hasSubKey = (pkg, depType, name) => {
+ return pkg[depType] && Object.prototype.hasOwnProperty.call(pkg[depType], name)
+}
+
+// Removes a subkey and warns about it if it's being replaced
+const deleteSubKey = (pkg, depType, name, replacedBy, log) => {
+ if (hasSubKey(pkg, depType, name)) {
+ if (replacedBy && log)
+ log.warn('idealTree', `Removing ${depType}.${name} in favor of ${replacedBy}.${name}`)
+ delete pkg[depType][name]
+
+ // clean up peerDependenciesMeta if we are removing something from peerDependencies
+ if (depType === 'peerDependencies' && pkg.peerDependenciesMeta) {
+ delete pkg.peerDependenciesMeta[name]
+ if (!Object.keys(pkg.peerDependenciesMeta).length)
+ delete pkg.peerDependenciesMeta
+ }
+
+ if (!Object.keys(pkg[depType]).length)
+ delete pkg[depType]
}
}
const rm = (pkg, rm) => {
- for (const type of [
- 'dependencies',
- 'optionalDependencies',
- 'peerDependencies',
- 'peerDependenciesMeta',
- 'devDependencies',
- ]) {
+ for (const depType of new Set(saveTypeMap.values())) {
for (const name of rm)
- deleteSubKey(pkg, type, name)
+ deleteSubKey(pkg, depType, name)
}
if (pkg.bundleDependencies) {
pkg.bundleDependencies = pkg.bundleDependencies
@@ -130,4 +132,4 @@ const rm = (pkg, rm) => {
return pkg
}
-module.exports = { add, rm }
+module.exports = { add, rm, saveTypeMap, hasSubKey }
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 7ee8dae35be..ade9bbf1a15 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
@@ -504,6 +504,7 @@ module.exports = cls => class IdealTreeBuilder extends cls {
saveBundle,
saveType,
path: this.path,
+ log: this.log,
})
})
}
@@ -763,7 +764,7 @@ This is a one-time fix-up, please be patient...
// sort physically shallower deps up to the front of the queue,
// because they'll affect things deeper in, then alphabetical
this[_depsQueue].sort((a, b) =>
- (a.depth - b.depth) || a.path.localeCompare(b.path))
+ (a.depth - b.depth) || a.path.localeCompare(b.path, 'en'))
const node = this[_depsQueue].shift()
const bd = node.package.bundleDependencies
@@ -901,7 +902,7 @@ This is a one-time fix-up, please be patient...
}
const placed = tasks
- .sort((a, b) => a.edge.name.localeCompare(b.edge.name))
+ .sort((a, b) => a.edge.name.localeCompare(b.edge.name, 'en'))
.map(({ edge, dep }) => this[_placeDep](dep, node, edge))
const promises = []
@@ -1146,7 +1147,7 @@ This is a one-time fix-up, please be patient...
// we typically only install non-optional peers, but we have to
// factor them into the peerSet so that we can avoid conflicts
.filter(e => e.peer && !(e.valid && e.to))
- .sort(({name: a}, {name: b}) => a.localeCompare(b))
+ .sort(({name: a}, {name: b}) => a.localeCompare(b, 'en'))
for (const edge of peerEdges) {
// already placed this one, and we're happy with it.
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 93b9aa38298..3578d50389e 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/index.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/index.js
@@ -29,6 +29,7 @@
const {resolve} = require('path')
const {homedir} = require('os')
const procLog = require('../proc-log.js')
+const { saveTypeMap } = require('../add-rm-pkg-deps.js')
const mixins = [
require('../tracker.js'),
@@ -57,6 +58,8 @@ class Arborist extends Base {
packumentCache: options.packumentCache || new Map(),
log: options.log || procLog,
}
+ if (options.saveType && !saveTypeMap.get(options.saveType))
+ throw new Error(`Invalid saveType ${options.saveType}`)
this.cache = resolve(this.options.cache)
this.path = resolve(this.options.path)
process.emit('timeEnd', 'arborist:ctor')
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-virtual.js b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-virtual.js
index 2a222249d7a..a98ed23b2a4 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-virtual.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/load-virtual.js
@@ -159,12 +159,12 @@ module.exports = cls => class VirtualLoader extends cls {
...depsToEdges('peerOptional', peerOptional),
...lockWS,
].sort(([atype, aname], [btype, bname]) =>
- atype.localeCompare(btype) || aname.localeCompare(bname))
+ atype.localeCompare(btype, 'en') || aname.localeCompare(bname, 'en'))
const rootEdges = [...root.edgesOut.values()]
.map(e => [e.type, e.name, e.spec])
.sort(([atype, aname], [btype, bname]) =>
- atype.localeCompare(btype) || aname.localeCompare(bname))
+ atype.localeCompare(btype, 'en') || aname.localeCompare(bname, 'en'))
if (rootEdges.length !== lockEdges.length) {
// something added or removed
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 390d3ce42ae..7cba1da0000 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/rebuild.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/rebuild.js
@@ -14,7 +14,7 @@ const {
} = require('@npmcli/node-gyp')
const boolEnv = b => b ? '1' : ''
-const sortNodes = (a, b) => (a.depth - b.depth) || a.path.localeCompare(b.path)
+const sortNodes = (a, b) => (a.depth - b.depth) || a.path.localeCompare(b.path, 'en')
const _build = Symbol('build')
const _resetQueues = Symbol('resetQueues')
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 64f08756263..b09a9e0fe16 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/arborist/reify.js
@@ -3,9 +3,8 @@
const onExit = require('../signal-handling.js')
const pacote = require('pacote')
const rpj = require('read-package-json-fast')
-const { updateDepSpec } = require('../dep-spec.js')
const AuditReport = require('../audit-report.js')
-const {subset} = require('semver')
+const {subset, intersects} = require('semver')
const npa = require('npm-package-arg')
const {dirname, resolve, relative} = require('path')
@@ -28,6 +27,7 @@ const promiseAllRejectLate = require('promise-all-reject-late')
const optionalSet = require('../optional-set.js')
const updateRootPackageJson = require('../update-root-package-json.js')
const calcDepFlags = require('../calc-dep-flags.js')
+const { saveTypeMap, hasSubKey } = require('../add-rm-pkg-deps.js')
const _retiredPaths = Symbol('retiredPaths')
const _retiredUnchanged = Symbol('retiredUnchanged')
@@ -406,11 +406,14 @@ module.exports = cls => class Reifier extends cls {
return
process.emit('time', 'reify:trashOmits')
+ // node.parent is checked to make sure this is a node that's in the tree, and
+ // not the parent-less top level nodes
const filter = node =>
- node.peer && this[_omitPeer] ||
- node.dev && this[_omitDev] ||
- node.optional && this[_omitOptional] ||
- node.devOptional && this[_omitOptional] && this[_omitDev]
+ node.isDescendantOf(this.idealTree) &&
+ (node.peer && this[_omitPeer] ||
+ node.dev && this[_omitDev] ||
+ node.optional && this[_omitOptional] ||
+ node.devOptional && this[_omitOptional] && this[_omitDev])
for (const node of this.idealTree.inventory.filter(filter))
this[_addNodeToTrashList](node)
@@ -539,8 +542,8 @@ module.exports = cls => class Reifier extends cls {
// Do the best with what we have, or else remove it from the tree
// entirely, since we can't possibly reify it.
const res = node.resolved ? `${node.name}@${this[_registryResolved](node.resolved)}`
- : node.package.name && node.version
- ? `${node.package.name}@${node.version}`
+ : node.packageName && node.version
+ ? `${node.packageName}@${node.version}`
: null
// no idea what this thing is. remove it from the tree.
@@ -959,6 +962,7 @@ module.exports = cls => class Reifier extends cls {
const spec = subSpec ? subSpec.rawSpec : rawSpec
const child = root.children.get(name)
+ let newSpec
if (req.registry) {
const version = child.version
const prefixRange = version ? this[_savePrefix] + version : '*'
@@ -968,18 +972,26 @@ module.exports = cls => class Reifier extends cls {
// would allow versions outside the requested range. Tags and
// specific versions save with the save-prefix.
const isRange = (subSpec || req).type === 'range'
- const range = !isRange || subset(prefixRange, spec, { loose: true })
- ? prefixRange : spec
- const pname = child.package.name
+
+ let range = spec
+ if (
+ !isRange ||
+ spec === '*' ||
+ subset(prefixRange, spec, { loose: true })
+ )
+ range = prefixRange
+
+ const pname = child.packageName
const alias = name !== pname
- updateDepSpec(pkg, name, (alias ? `npm:${pname}@` : '') + range)
+ newSpec = alias ? `npm:${pname}@${range}` : range
} else if (req.hosted) {
// save the git+https url if it has auth, otherwise shortcut
const h = req.hosted
const opt = { noCommittish: false }
- const save = h.https && h.auth ? `git+${h.https(opt)}`
- : h.shortcut(opt)
- updateDepSpec(pkg, name, save)
+ if (h.https && h.auth)
+ newSpec = `git+${h.https(opt)}`
+ else
+ newSpec = h.shortcut(opt)
} else if (req.type === 'directory' || req.type === 'file') {
// save the relative path in package.json
// Normally saveSpec is updated with the proper relative
@@ -988,9 +1000,37 @@ module.exports = cls => class Reifier extends cls {
// thing, so just get the ultimate fetchSpec and relativize it.
const p = req.fetchSpec.replace(/^file:/, '')
const rel = relpath(root.realpath, p)
- updateDepSpec(pkg, name, `file:${rel}`)
+ newSpec = `file:${rel}`
} else
- updateDepSpec(pkg, name, req.saveSpec)
+ newSpec = req.saveSpec
+
+ if (options.saveType) {
+ const depType = saveTypeMap.get(options.saveType)
+ pkg[depType][name] = newSpec
+ // rpj will have moved it here if it was in both
+ // if it is empty it will be deleted later
+ if (options.saveType === 'prod' && pkg.optionalDependencies)
+ delete pkg.optionalDependencies[name]
+ } else {
+ if (hasSubKey(pkg, 'dependencies', name))
+ pkg.dependencies[name] = newSpec
+
+ if (hasSubKey(pkg, 'devDependencies', name)) {
+ pkg.devDependencies[name] = newSpec
+ // don't update peer or optional if we don't have to
+ if (hasSubKey(pkg, 'peerDependencies', name) && !intersects(newSpec, pkg.peerDependencies[name]))
+ pkg.peerDependencies[name] = newSpec
+
+ if (hasSubKey(pkg, 'optionalDependencies', name) && !intersects(newSpec, pkg.optionalDependencies[name]))
+ pkg.optionalDependencies[name] = newSpec
+ } else {
+ if (hasSubKey(pkg, 'peerDependencies', name))
+ pkg.peerDependencies[name] = newSpec
+
+ if (hasSubKey(pkg, 'optionalDependencies', name))
+ pkg.optionalDependencies[name] = newSpec
+ }
+ }
}
// refresh the edges so they have the correct specs
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 77cd6511aea..76387cde1d6 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/audit-report.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/audit-report.js
@@ -78,7 +78,7 @@ class AuditReport extends Map {
}
obj.vulnerabilities = vulnerabilities
- .sort(([a], [b]) => a.localeCompare(b))
+ .sort(([a], [b]) => a.localeCompare(b, 'en'))
.reduce((set, [name, vuln]) => {
set[name] = vuln
return set
@@ -101,13 +101,14 @@ class AuditReport extends Map {
async run () {
this.report = await this[_getReport]()
+ this.log.silly('audit report', this.report)
if (this.report)
await this[_init]()
return this
}
isVulnerable (node) {
- const vuln = this.get(node.package.name)
+ const vuln = this.get(node.packageName)
return !!(vuln && vuln.isVulnerable(node))
}
@@ -144,7 +145,7 @@ class AuditReport extends Map {
super.set(name, vuln)
const p = []
- for (const node of this.tree.inventory.query('name', name)) {
+ for (const node of this.tree.inventory.query('packageName', name)) {
if (shouldOmit(node, this[_omit]))
continue
@@ -167,7 +168,7 @@ class AuditReport extends Map {
this[_checkTopNode](dep, vuln, spec)
else {
// calculate a metavuln, if necessary
- p.push(this.calculator.calculate(dep.name, advisory).then(meta => {
+ p.push(this.calculator.calculate(dep.packageName, advisory).then(meta => {
if (meta.testVersion(dep.version, spec))
advisories.add(meta)
}))
@@ -228,6 +229,9 @@ class AuditReport extends Map {
if (!specObj.registry)
return false
+ if (specObj.subSpec)
+ spec = specObj.subSpec.rawSpec
+
// We don't provide fixes for top nodes other than root, but we
// still check to see if the node is fixable with a different version,
// and if that is a semver major bump.
@@ -289,6 +293,7 @@ class AuditReport extends Map {
try {
// first try the super fast bulk advisory listing
const body = prepareBulkData(this.tree, this[_omit])
+ this.log.silly('audit', 'bulk request', body)
// no sense asking if we don't have anything to audit,
// we know it'll be empty
@@ -304,7 +309,8 @@ class AuditReport extends Map {
})
return await res.json()
- } catch (_) {
+ } catch (er) {
+ this.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', {
@@ -330,6 +336,7 @@ class AuditReport extends Map {
// return true if we should ignore this one
const shouldOmit = (node, omit) =>
!node.version ? true
+ : node.isRoot ? true
: omit.size === 0 ? false
: node.dev && omit.has('dev') ||
node.optional && omit.has('optional') ||
@@ -338,9 +345,9 @@ const shouldOmit = (node, omit) =>
const prepareBulkData = (tree, omit) => {
const payload = {}
- for (const name of tree.inventory.query('name')) {
+ for (const name of tree.inventory.query('packageName')) {
const set = new Set()
- for (const node of tree.inventory.query('name', name)) {
+ for (const node of tree.inventory.query('packageName', name)) {
if (shouldOmit(node, omit))
continue
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/dep-spec.js b/deps/npm/node_modules/@npmcli/arborist/lib/dep-spec.js
deleted file mode 100644
index 92911543e16..00000000000
--- a/deps/npm/node_modules/@npmcli/arborist/lib/dep-spec.js
+++ /dev/null
@@ -1,43 +0,0 @@
-const types = [
- 'peerDependencies',
- 'devDependencies',
- 'optionalDependencies',
- 'dependencies',
-]
-
-const findType = (pkg, name) => {
- for (const t of types) {
- if (pkg[t] && typeof pkg[t] === 'object' && pkg[t][name] !== undefined)
- return t
- }
- return 'dependencies'
-}
-
-// given a dep name and spec, update it wherever it exists in
-// the manifest, or add the spec to 'dependencies' if not found.
-const updateDepSpec = (pkg, name, newSpec) => {
- const type = findType(pkg, name)
- pkg[type] = pkg[type] || {}
- pkg[type][name] = newSpec
- return pkg
-}
-
-// sort alphabetically all types of deps for a given package
-const orderDeps = (pkg) => {
- for (const type of types) {
- if (pkg && pkg[type]) {
- pkg[type] = Object.keys(pkg[type])
- .sort((a, b) => a.localeCompare(b))
- .reduce((res, key) => {
- res[key] = pkg[type][key]
- return res
- }, {})
- }
- }
- return pkg
-}
-
-module.exports = {
- orderDeps,
- updateDepSpec,
-}
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/inventory.js b/deps/npm/node_modules/@npmcli/arborist/lib/inventory.js
index cef0c4e2658..75782918852 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/inventory.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/inventory.js
@@ -4,7 +4,7 @@
// keys is the set of fields to be able to query.
const _primaryKey = Symbol('_primaryKey')
const _index = Symbol('_index')
-const defaultKeys = ['name', 'license', 'funding', 'realpath']
+const defaultKeys = ['name', 'license', 'funding', 'realpath', 'packageName']
const { hasOwnProperty } = Object.prototype
const debug = require('./debug.js')
class Inventory extends Map {
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/node.js b/deps/npm/node_modules/@npmcli/arborist/lib/node.js
index a54f76afcdf..370bfc9567d 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/node.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/node.js
@@ -291,6 +291,10 @@ class Node {
return this[_package].version || ''
}
+ get packageName () {
+ return this[_package].name || null
+ }
+
get pkgid () {
const { name = '', version = '' } = this.package
// root package will prefer package name over folder name,
@@ -350,10 +354,10 @@ class Node {
}
const why = {
- name: this.isProjectRoot ? this.package.name : this.name,
+ name: this.isProjectRoot ? this.packageName : this.name,
version: this.package.version,
}
- if (this.errors.length || !this.package.name || !this.package.version) {
+ if (this.errors.length || !this.packageName || !this.package.version) {
why.errors = this.errors.length ? this.errors : [
new Error('invalid package: lacks name and/or version'),
]
@@ -460,7 +464,7 @@ class Node {
if (this.isProjectRoot)
return false
const { root } = this
- const { type, to } = root.edgesOut.get(this.package.name) || {}
+ const { type, to } = root.edgesOut.get(this.packageName) || {}
return type === 'workspace' && to && (to.target === this || to === this)
}
@@ -730,20 +734,14 @@ class Node {
[_loadDeps] () {
// Caveat! Order is relevant!
- // packages in optionalDependencies and prod/peer/dev are
- // optional. Packages in both deps and devDeps are required.
+ // Packages in optionalDependencies are optional.
+ // Packages in both deps and devDeps are required.
// Note the subtle breaking change from v6: it is no longer possible
// to have a different spec for a devDep than production dep.
- this[_loadDepType](this.package.optionalDependencies, 'optional')
// Linked targets that are disconnected from the tree are tops,
// but don't have a 'path' field, only a 'realpath', because we
// don't know their canonical location. We don't need their devDeps.
- const { isTop, path, sourceReference } = this
- const { isTop: srcTop, path: srcPath } = sourceReference || {}
- if (isTop && path && (!sourceReference || srcTop && srcPath))
- this[_loadDepType](this.package.devDependencies, 'dev')
-
const pd = this.package.peerDependencies
if (pd && typeof pd === 'object' && !this.legacyPeerDeps) {
const pm = this.package.peerDependenciesMeta || {}
@@ -760,19 +758,22 @@ class Node {
}
this[_loadDepType](this.package.dependencies, 'prod')
+ this[_loadDepType](this.package.optionalDependencies, 'optional')
+
+ const { isTop, path, sourceReference } = this
+ const { isTop: srcTop, path: srcPath } = sourceReference || {}
+ if (isTop && path && (!sourceReference || srcTop && srcPath))
+ this[_loadDepType](this.package.devDependencies, 'dev')
}
- [_loadDepType] (obj, type) {
- const from = this
+ [_loadDepType] (deps, type) {
const ad = this.package.acceptDependencies || {}
- for (const [name, spec] of Object.entries(obj || {})) {
- const accept = ad[name]
- // if it's already set, then we keep the existing edge
- // Prod deps should not be marked as dev, however.
- // NB: the Edge ctor adds itself to from.edgesOut
+ // Because of the order in which _loadDeps runs, we always want to
+ // prioritize a new edge over an existing one
+ for (const [name, spec] of Object.entries(deps || {})) {
const current = this.edgesOut.get(name)
- if (!current || current.dev && type === 'prod')
- new Edge({ from, name, spec, accept, type })
+ if (!current || current.type !== 'workspace')
+ new Edge({ from: this, name, spec, accept: ad[name], type })
}
}
@@ -965,8 +966,8 @@ class Node {
// if no resolved, check both package name and version
// otherwise, conclude that they are different things
- return this.package.name && node.package.name &&
- this.package.name === node.package.name &&
+ return this.packageName && node.packageName &&
+ this.packageName === node.packageName &&
this.version && node.version &&
this.version === node.version
}
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/printable.js b/deps/npm/node_modules/@npmcli/arborist/lib/printable.js
index 79f46a9e93c..ce764071dc6 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/printable.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/printable.js
@@ -7,8 +7,8 @@ const relpath = require('./relpath.js')
class ArboristNode {
constructor (tree, path) {
this.name = tree.name
- if (tree.package.name && tree.package.name !== this.name)
- this.packageName = tree.package.name
+ if (tree.packageName && tree.packageName !== this.name)
+ this.packageName = tree.packageName
if (tree.version)
this.version = tree.version
this.location = tree.location
@@ -46,14 +46,14 @@ class ArboristNode {
// edgesOut sorted by name
if (tree.edgesOut.size) {
this.edgesOut = new Map([...tree.edgesOut.entries()]
- .sort(([a], [b]) => a.localeCompare(b))
+ .sort(([a], [b]) => a.localeCompare(b, 'en'))
.map(([name, edge]) => [name, new EdgeOut(edge)]))
}
// edgesIn sorted by location
if (tree.edgesIn.size) {
this.edgesIn = new Set([...tree.edgesIn]
- .sort((a, b) => a.from.location.localeCompare(b.from.location))
+ .sort((a, b) => a.from.location.localeCompare(b.from.location, 'en'))
.map(edge => new EdgeIn(edge)))
}
@@ -65,14 +65,14 @@ class ArboristNode {
// fsChildren sorted by path
if (tree.fsChildren.size) {
this.fsChildren = new Set([...tree.fsChildren]
- .sort(({path: a}, {path: b}) => a.localeCompare(b))
+ .sort(({path: a}, {path: b}) => a.localeCompare(b, 'en'))
.map(tree => printableTree(tree, path)))
}
// children sorted by name
if (tree.children.size) {
this.children = new Map([...tree.children.entries()]
- .sort(([a], [b]) => a.localeCompare(b))
+ .sort(([a], [b]) => a.localeCompare(b, 'en'))
.map(([name, tree]) => [name, printableTree(tree, path)]))
}
}
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/shrinkwrap.js b/deps/npm/node_modules/@npmcli/arborist/lib/shrinkwrap.js
index 342e78e9e3a..cff9f09633d 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/shrinkwrap.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/shrinkwrap.js
@@ -254,7 +254,7 @@ class Shrinkwrap {
meta[key.replace(/^_/, '')] = val
})
// we only include name if different from the node path name
- const pname = node.package.name
+ const pname = node.packageName
if (pname && pname !== node.name)
meta.name = pname
@@ -825,7 +825,7 @@ class Shrinkwrap {
[_buildLegacyLockfile] (node, lock, path = []) {
if (node === this.tree) {
// the root node
- lock.name = node.package.name || node.name
+ lock.name = node.packageName || node.name
if (node.version)
lock.version = node.version
}
@@ -844,7 +844,7 @@ class Shrinkwrap {
/* istanbul ignore next - sort calling order is indeterminate */
return aloc.length > bloc.length ? 1
: bloc.length > aloc.length ? -1
- : aloc[aloc.length - 1].localeCompare(bloc[bloc.length - 1])
+ : aloc[aloc.length - 1].localeCompare(bloc[bloc.length - 1], 'en')
})[0]
const res = consistentResolve(node.resolved, this.path, this.path, true)
@@ -870,9 +870,9 @@ class Shrinkwrap {
lock.from = spec.raw
} else if (!node.isRoot &&
node.package &&
- node.package.name &&
- node.package.name !== node.name)
- lock.version = `npm:${node.package.name}@${node.version}`
+ node.packageName &&
+ node.packageName !== node.name)
+ lock.version = `npm:${node.packageName}@${node.version}`
else if (node.package && node.version)
lock.version = node.version
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/update-root-package-json.js b/deps/npm/node_modules/@npmcli/arborist/lib/update-root-package-json.js
index aba5614924e..57ec4142487 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/update-root-package-json.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/update-root-package-json.js
@@ -6,8 +6,6 @@ const {resolve} = require('path')
const parseJSON = require('json-parse-even-better-errors')
-const { orderDeps } = require('./dep-spec.js')
-
const depTypes = new Set([
'dependencies',
'optionalDependencies',
@@ -15,6 +13,20 @@ const depTypes = new Set([
'peerDependencies',
])
+// sort alphabetically all types of deps for a given package
+const orderDeps = (pkg) => {
+ for (const type of depTypes) {
+ if (pkg && pkg[type]) {
+ pkg[type] = Object.keys(pkg[type])
+ .sort((a, b) => a.localeCompare(b, 'en'))
+ .reduce((res, key) => {
+ res[key] = pkg[type][key]
+ return res
+ }, {})
+ }
+ }
+ return pkg
+}
const parseJsonSafe = json => {
try {
return parseJSON(json)
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/vuln.js b/deps/npm/node_modules/@npmcli/arborist/lib/vuln.js
index 8f887a3fc96..5b1d1dc1ab8 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/vuln.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/vuln.js
@@ -83,6 +83,9 @@ class Vuln {
if (!specObj.registry)
return true
+ if (specObj.subSpec)
+ spec = specObj.subSpec.rawSpec
+
for (const v of this.versions) {
if (satisfies(v, spec) && !satisfies(v, this.range, semverOpt))
return false
@@ -103,12 +106,12 @@ class Vuln {
vulnerableVersions: undefined,
id: undefined,
}).sort((a, b) =>
- String(a.source || a).localeCompare(String(b.source || b))),
+ String(a.source || a).localeCompare(String(b.source || b, 'en'))),
effects: [...this.effects].map(v => v.name)
- .sort(/* istanbul ignore next */(a, b) => a.localeCompare(b)),
+ .sort(/* istanbul ignore next */(a, b) => a.localeCompare(b, 'en')),
range: this.simpleRange,
nodes: [...this.nodes].map(n => n.location)
- .sort(/* istanbul ignore next */(a, b) => a.localeCompare(b)),
+ .sort(/* istanbul ignore next */(a, b) => a.localeCompare(b, 'en')),
fixAvailable: this[_fixAvailable],
}
}
diff --git a/deps/npm/node_modules/@npmcli/arborist/lib/yarn-lock.js b/deps/npm/node_modules/@npmcli/arborist/lib/yarn-lock.js
index 14c7691f1bd..e237cc5c6a4 100644
--- a/deps/npm/node_modules/@npmcli/arborist/lib/yarn-lock.js
+++ b/deps/npm/node_modules/@npmcli/arborist/lib/yarn-lock.js
@@ -34,7 +34,7 @@ const {breadth} = require('treeverse')
// sort a key/value object into a string of JSON stringified keys and vals
const sortKV = obj => Object.keys(obj)
- .sort((a, b) => a.localeCompare(b))
+ .sort((a, b) => a.localeCompare(b, 'en'))
.map(k => ` ${JSON.stringify(k)} ${JSON.stringify(obj[k])}`)
.join('\n')
@@ -165,7 +165,7 @@ class YarnLock {
toString () {
return prefix + [...new Set([...this.entries.values()])]
.map(e => e.toString())
- .sort((a, b) => a.localeCompare(b)).join('\n\n') + '\n'
+ .sort((a, b) => a.localeCompare(b, 'en')).join('\n\n') + '\n'
}
fromTree (tree) {
@@ -175,7 +175,7 @@ class YarnLock {
tree,
visit: node => this.addEntryFromNode(node),
getChildren: node => [...node.children.values(), ...node.fsChildren]
- .sort((a, b) => a.depth - b.depth || a.name.localeCompare(b.name)),
+ .sort((a, b) => a.depth - b.depth || a.name.localeCompare(b.name, 'en')),
})
return this
}
@@ -183,7 +183,7 @@ class YarnLock {
addEntryFromNode (node) {
const specs = [...node.edgesIn]
.map(e => `${node.name}@${e.spec}`)
- .sort((a, b) => a.localeCompare(b))
+ .sort((a, b) => a.localeCompare(b, 'en'))
// Note:
// yarn will do excessive duplication in a case like this:
@@ -309,7 +309,7 @@ class YarnLockEntry {
toString () {
// sort objects to the bottom, then alphabetical
return ([...this[_specs]]
- .sort((a, b) => a.localeCompare(b))
+ .sort((a, b) => a.localeCompare(b, 'en'))
.map(JSON.stringify).join(', ') +
':\n' +
Object.getOwnPropertyNames(this)
@@ -318,7 +318,7 @@ class YarnLockEntry {
(a, b) =>
/* istanbul ignore next - sort call order is unpredictable */
(typeof this[a] === 'object') === (typeof this[b] === 'object')
- ? a.localeCompare(b)
+ ? a.localeCompare(b, 'en')
: typeof this[a] === 'object' ? 1 : -1)
.map(prop =>
typeof this[prop] !== 'object'
diff --git a/deps/npm/node_modules/@npmcli/arborist/package.json b/deps/npm/node_modules/@npmcli/arborist/package.json
index e7ac932e08d..bbe87d8bf97 100644
--- a/deps/npm/node_modules/@npmcli/arborist/package.json
+++ b/deps/npm/node_modules/@npmcli/arborist/package.json
@@ -1,6 +1,6 @@
{
"name": "@npmcli/arborist",
- "version": "2.4.1",
+ "version": "2.4.4",
"description": "Manage node_modules trees",
"dependencies": {
"@npmcli/installed-package-contents": "^1.0.7",
@@ -14,7 +14,7 @@
"cacache": "^15.0.3",
"common-ancestor-path": "^1.0.1",
"json-parse-even-better-errors": "^2.3.1",
- "json-stringify-nice": "^1.1.2",
+ "json-stringify-nice": "^1.1.4",
"mkdirp-infer-owner": "^2.0.0",
"npm-install-checks": "^4.0.0",
"npm-package-arg": "^8.1.0",
@@ -40,9 +40,8 @@
"eslint-plugin-promise": "^4.2.1",
"eslint-plugin-standard": "^4.0.1",
"minify-registry-metadata": "^2.1.0",
- "mutate-fs": "^2.1.1",
- "tap": "^15.0.4",
- "tcompare": "^3.0.4"
+ "tap": "^15.0.9",
+ "tcompare": "^5.0.6"
},
"scripts": {
"test": "npm run test-only --",
@@ -74,11 +73,13 @@
"bin": {
"arborist": "bin/index.js"
},
+ "//": "sk test-env locale to catch locale-specific sorting",
"tap": {
"after": "test/fixtures/cleanup.js",
"coverage-map": "map.js",
"test-env": [
- "NODE_OPTIONS=--no-warnings"
+ "NODE_OPTIONS=--no-warnings",
+ "LC_ALL=sk"
],
"node-arg": [
"--no-warnings",
diff --git a/deps/npm/node_modules/@npmcli/git/lib/clone.js b/deps/npm/node_modules/@npmcli/git/lib/clone.js
index 1fea5acc846..6754fd76060 100644
--- a/deps/npm/node_modules/@npmcli/git/lib/clone.js
+++ b/deps/npm/node_modules/@npmcli/git/lib/clone.js
@@ -30,7 +30,7 @@ const pickManifest = require('npm-pick-manifest')
const fs = require('fs')
const mkdirp = require('mkdirp')
-module.exports = (repo, ref = 'HEAD', target = null, /* istanbul ignore next */ opts = {}) =>
+module.exports = (repo, ref = 'HEAD', target = null, opts = {}) =>
revs(repo, opts).then(revs => clone(
repo,
revs,
diff --git a/deps/npm/node_modules/@npmcli/git/lib/spawn.js b/deps/npm/node_modules/@npmcli/git/lib/spawn.js
index cee3a7baf40..337164a9a01 100644
--- a/deps/npm/node_modules/@npmcli/git/lib/spawn.js
+++ b/deps/npm/node_modules/@npmcli/git/lib/spawn.js
@@ -10,6 +10,11 @@ module.exports = (gitArgs, opts = {}) => {
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) {
@@ -22,11 +27,11 @@ module.exports = (gitArgs, opts = {}) => {
}
return promiseRetry((retry, number) => {
if (number !== 1) {
- log.silly('pacote', `Retrying git command: ${
- gitArgs.join(' ')} attempt # ${number}`)
+ log.silly('git', `Retrying git command: ${
+ args.join(' ')} attempt # ${number}`)
}
- return spawn(gitPath, gitArgs, makeOpts(opts))
+ return spawn(gitPath, args, makeOpts(opts))
.catch(er => {
if (!shouldRetry(er.stderr, number)) {
throw er
diff --git a/deps/npm/node_modules/@npmcli/git/package.json b/deps/npm/node_modules/@npmcli/git/package.json
index 9b368c31e26..0fe94686ece 100644
--- a/deps/npm/node_modules/@npmcli/git/package.json
+++ b/deps/npm/node_modules/@npmcli/git/package.json
@@ -1,6 +1,6 @@
{
"name": "@npmcli/git",
- "version": "2.0.8",
+ "version": "2.0.9",
"main": "lib/index.js",
"files": [
"lib/*.js"
@@ -29,7 +29,7 @@
"devDependencies": {
"slash": "^3.0.0",
"standard": "^16.0.3",
- "tap": "^14.11.0"
+ "tap": "^15.0.6"
},
"dependencies": {
"@npmcli/promise-spawn": "^1.3.2",
diff --git a/deps/npm/node_modules/glob/README.md b/deps/npm/node_modules/glob/README.md
index 0916a48255c..2dde30a597d 100644
--- a/deps/npm/node_modules/glob/README.md
+++ b/deps/npm/node_modules/glob/README.md
@@ -7,7 +7,7 @@ Match files using the patterns the shell uses, like stars and stuff.
This is a glob implementation in JavaScript. It uses the `minimatch`
library to do its matching.
-![](logo/glob.png)
+![a fun cartoon logo made of glob characters](logo/glob.png)
## Usage
diff --git a/deps/npm/node_modules/glob/common.js b/deps/npm/node_modules/glob/common.js
index 66651bb3aac..d14157a0aec 100644
--- a/deps/npm/node_modules/glob/common.js
+++ b/deps/npm/node_modules/glob/common.js
@@ -1,5 +1,3 @@
-exports.alphasort = alphasort
-exports.alphasorti = alphasorti
exports.setopts = setopts
exports.ownProp = ownProp
exports.makeAbs = makeAbs
@@ -17,12 +15,8 @@ var minimatch = require("minimatch")
var isAbsolute = require("path-is-absolute")
var Minimatch = minimatch.Minimatch
-function alphasorti (a, b) {
- return a.toLowerCase().localeCompare(b.toLowerCase())
-}
-
function alphasort (a, b) {
- return a.localeCompare(b)
+ return a.localeCompare(b, 'en')
}
function setupIgnores (self, options) {
@@ -150,7 +144,7 @@ function finish (self) {
all = Object.keys(all)
if (!self.nosort)
- all = all.sort(self.nocase ? alphasorti : alphasort)
+ all = all.sort(alphasort)
// at *some* point we statted all of these
if (self.mark) {
diff --git a/deps/npm/node_modules/glob/glob.js b/deps/npm/node_modules/glob/glob.js
index 58dec0f6c2b..dc27aef10b3 100644
--- a/deps/npm/node_modules/glob/glob.js
+++ b/deps/npm/node_modules/glob/glob.js
@@ -51,8 +51,6 @@ var assert = require('assert')
var isAbsolute = require('path-is-absolute')
var globSync = require('./sync.js')
var common = require('./common.js')
-var alphasort = common.alphasort
-var alphasorti = common.alphasorti
var setopts = common.setopts
var ownProp = common.ownProp
var inflight = require('inflight')
diff --git a/deps/npm/node_modules/glob/package.json b/deps/npm/node_modules/glob/package.json
index 6477c3070cb..b345ae1e9fd 100644
--- a/deps/npm/node_modules/glob/package.json
+++ b/deps/npm/node_modules/glob/package.json
@@ -2,7 +2,7 @@
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
"name": "glob",
"description": "a little globber",
- "version": "7.1.6",
+ "version": "7.1.7",
"repository": {
"type": "git",
"url": "git://github.com/isaacs/node-glob.git"
@@ -27,13 +27,18 @@
"devDependencies": {
"mkdirp": "0",
"rimraf": "^2.2.8",
- "tap": "^12.0.1",
+ "tap": "^15.0.6",
"tick": "0.0.6"
},
+ "tap": {
+ "before": "test/00-setup.js",
+ "after": "test/zz-cleanup.js",
+ "jobs": 1
+ },
"scripts": {
"prepublish": "npm run benchclean",
"profclean": "rm -f v8.log profile.txt",
- "test": "tap test/*.js --cov",
+ "test": "tap",
"test-regen": "npm run profclean && TEST_REGEN=1 node test/00-setup.js",
"bench": "bash benchmark.sh",
"prof": "bash prof.sh && cat profile.txt",
diff --git a/deps/npm/node_modules/glob/sync.js b/deps/npm/node_modules/glob/sync.js
index c952134baa7..10b0ed2c002 100644
--- a/deps/npm/node_modules/glob/sync.js
+++ b/deps/npm/node_modules/glob/sync.js
@@ -11,8 +11,6 @@ var path = require('path')
var assert = require('assert')
var isAbsolute = require('path-is-absolute')
var common = require('./common.js')
-var alphasort = common.alphasort
-var alphasorti = common.alphasorti
var setopts = common.setopts
var ownProp = common.ownProp
var childrenIgnored = common.childrenIgnored
diff --git a/deps/npm/node_modules/ignore-walk/index.js b/deps/npm/node_modules/ignore-walk/index.js
index eec6851804a..c01d57de2a0 100644
--- a/deps/npm/node_modules/ignore-walk/index.js
+++ b/deps/npm/node_modules/ignore-walk/index.js
@@ -23,7 +23,7 @@ class Walker extends EE {
}
sort (a, b) {
- return a.localeCompare(b)
+ return a.localeCompare(b, 'en')
}
emit (ev, data) {
diff --git a/deps/npm/node_modules/ignore-walk/package.json b/deps/npm/node_modules/ignore-walk/package.json
index 99d2c2e64de..7d48b977e07 100644
--- a/deps/npm/node_modules/ignore-walk/package.json
+++ b/deps/npm/node_modules/ignore-walk/package.json
@@ -1,13 +1,13 @@
{
"name": "ignore-walk",
- "version": "3.0.3",
+ "version": "3.0.4",
"description": "Nested/recursive `.gitignore`/`.npmignore` parsing and filtering.",
"main": "index.js",
"devDependencies": {
"mkdirp": "^0.5.1",
"mutate-fs": "^1.1.0",
"rimraf": "^2.6.1",
- "tap": "^14.6.9"
+ "tap": "^15.0.6"
},
"scripts": {
"test": "tap",
@@ -36,6 +36,9 @@
"minimatch": "^3.0.4"
},
"tap": {
+ "test-env": "LC_ALL=sk",
+ "before": "test/00-setup.js",
+ "after": "test/zz-cleanup.js",
"jobs": 1
}
}
diff --git a/deps/npm/node_modules/json-stringify-nice/index.js b/deps/npm/node_modules/json-stringify-nice/index.js
index 2c722a752c6..36557bb055f 100644
--- a/deps/npm/node_modules/json-stringify-nice/index.js
+++ b/deps/npm/node_modules/json-stringify-nice/index.js
@@ -5,7 +5,7 @@ const compare = (ak, bk, prefKeys) =>
: prefKeys.includes(bk) && !prefKeys.includes(ak) ? 1
: prefKeys.includes(ak) && prefKeys.includes(bk)
? prefKeys.indexOf(ak) - prefKeys.indexOf(bk)
- : ak.localeCompare(bk)
+ : ak.localeCompare(bk, 'en')
const sort = (replacer, seen) => (key, val) => {
const prefKeys = Array.isArray(replacer) ? replacer : []
diff --git a/deps/npm/node_modules/json-stringify-nice/package.json b/deps/npm/node_modules/json-stringify-nice/package.json
index ea4f486c5e0..c9663290ee4 100644
--- a/deps/npm/node_modules/json-stringify-nice/package.json
+++ b/deps/npm/node_modules/json-stringify-nice/package.json
@@ -1,21 +1,34 @@
{
"name": "json-stringify-nice",
- "version": "1.1.3",
+ "version": "1.1.4",
"description": "Stringify an object sorting scalars before objects, and defaulting to 2-space indent",
"author": "Isaac Z. Schlueter <i@izs.me> (https://izs.me)",
"license": "ISC",
"scripts": {
"test": "tap",
+ "posttest": "npm run lint",
"snap": "tap",
+ "postsnap": "npm run lintfix",
+ "eslint": "eslint",
+ "lint": "npm run eslint -- index.js test/**/*.js",
+ "lintfix": "npm run lint -- --fix",
"preversion": "npm test",
"postversion": "npm publish",
"postpublish": "git push origin --follow-tags"
},
"tap": {
+ "test-env": [
+ "LC_ALL=sk"
+ ],
"check-coverage": true
},
"devDependencies": {
- "tap": "^14.9.2"
+ "eslint": "^7.25.0",
+ "eslint-plugin-import": "^2.22.1",
+ "eslint-plugin-node": "^11.1.0",
+ "eslint-plugin-promise": "^5.1.0",
+ "eslint-plugin-standard": "^5.0.0",
+ "tap": "^15.0.6"
},
"funding": {
"url": "https://github.com/sponsors/isaacs"
diff --git a/deps/npm/node_modules/libnpmexec/CHANGELOG.md b/deps/npm/node_modules/libnpmexec/CHANGELOG.md
deleted file mode 100644
index 9de3013f0ad..00000000000
--- a/deps/npm/node_modules/libnpmexec/CHANGELOG.md
+++ /dev/null
@@ -1,7 +0,0 @@
-# Changelog
-
-## v1.0.0
-
-- Initial implementation, moves the code that used to live in the **npm cli**,
-ref: https://github.com/npm/cli/blob/release/v7.10.0/lib/exec.js into this
-separate module, providing a programmatic API to the **npm exec** functionality.
diff --git a/deps/npm/node_modules/libnpmexec/README.md b/deps/npm/node_modules/libnpmexec/README.md
index a436c9a5a2b..fb7a7717600 100644
--- a/deps/npm/node_modules/libnpmexec/README.md
+++ b/deps/npm/node_modules/libnpmexec/README.md
@@ -31,7 +31,7 @@ await libexec({
- `call`: An alternative command to run when using `packages` option **String**, defaults to empty string.
- `cache`: The path location to where the npm cache folder is placed **String**
- `color`: Output should use color? **Boolean**, defaults to `false`
- - `localBin`: Location to the `node_modules/.bin` folder of the local project **String**, defaults to empty string.
+ - `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.
diff --git a/deps/npm/node_modules/libnpmexec/lib/cache-install-dir.js b/deps/npm/node_modules/libnpmexec/lib/cache-install-dir.js
index 1bee28989bf..9e30d62a1e1 100644
--- a/deps/npm/node_modules/libnpmexec/lib/cache-install-dir.js
+++ b/deps/npm/node_modules/libnpmexec/lib/cache-install-dir.js
@@ -12,7 +12,7 @@ const cacheInstallDir = ({ cache, packages }) => {
const getHash = (packages) =>
crypto.createHash('sha512')
- .update(packages.sort((a, b) => a.localeCompare(b)).join('\n'))
+ .update(packages.sort((a, b) => a.localeCompare(b, 'en')).join('\n'))
.digest('hex')
.slice(0, 16)
diff --git a/deps/npm/node_modules/libnpmexec/lib/file-exists.js b/deps/npm/node_modules/libnpmexec/lib/file-exists.js
new file mode 100644
index 00000000000..a115be14b00
--- /dev/null
+++ b/deps/npm/node_modules/libnpmexec/lib/file-exists.js
@@ -0,0 +1,29 @@
+const { resolve } = require('path')
+const { promisify } = require('util')
+const stat = promisify(require('fs').stat)
+const walkUp = require('walk-up-path')
+
+const fileExists = (file) => stat(file)
+ .then((stat) => stat.isFile())
+ .catch(() => false)
+
+const localFileExists = async (dir, binName, root = '/') => {
+ root = resolve(root).toLowerCase()
+
+ for (const path of walkUp(resolve(dir))) {
+ const binDir = resolve(path, 'node_modules', '.bin')
+
+ if (await fileExists(resolve(binDir, binName)))
+ return binDir
+
+ if (path.toLowerCase() === root)
+ return false
+ }
+
+ return false
+}
+
+module.exports = {
+ fileExists,
+ localFileExists,
+}
diff --git a/deps/npm/node_modules/libnpmexec/lib/index.js b/deps/npm/node_modules/libnpmexec/lib/index.js
index 906a0b5407c..a48c654bf6a 100644
--- a/deps/npm/node_modules/libnpmexec/lib/index.js
+++ b/deps/npm/node_modules/libnpmexec/lib/index.js
@@ -1,7 +1,6 @@
-const { delimiter, resolve } = require('path')
+const { delimiter, dirname, resolve } = require('path')
const { promisify } = require('util')
const read = promisify(require('read'))
-const stat = promisify(require('fs').stat)
const Arborist = require('@npmcli/arborist')
const ciDetect = require('@npmcli/ci-detect')
@@ -12,15 +11,12 @@ const pacote = require('pacote')
const readPackageJson = require('read-package-json-fast')
const cacheInstallDir = require('./cache-install-dir.js')
+const { fileExists, localFileExists } = require('./file-exists.js')
const getBinFromManifest = require('./get-bin-from-manifest.js')
const manifestMissing = require('./manifest-missing.js')
const noTTY = require('./no-tty.js')
const runScript = require('./run-script.js')
-const fileExists = (file) => stat(file)
- .then((stat) => stat.isFile())
- .catch(() => false)
-
/* istanbul ignore next */
const PATH = (
process.env.PATH || process.env.Path || process.env.path
@@ -31,7 +27,7 @@ const exec = async (opts) => {
args = [],
call = '',
color = false,
- localBin = '',
+ localBin = resolve('./node_modules/.bin'),
locationMsg = undefined,
globalBin = '',
output,
@@ -72,8 +68,10 @@ const exec = async (opts) => {
// the behavior of treating the single argument as a package name
if (needPackageCommandSwap) {
let binExists = false
- if (await fileExists(`${localBin}/${args[0]}`)) {
- pathArr.unshift(localBin)
+ const dir = dirname(dirname(localBin))
+ const localBinPath = await localFileExists(dir, args[0])
+ if (localBinPath) {
+ pathArr.unshift(localBinPath)
binExists = true
} else if (await fileExists(`${globalBin}/${args[0]}`)) {
pathArr.unshift(globalBin)
@@ -145,7 +143,7 @@ const exec = async (opts) => {
},
}))
.map(mani => mani._from)
- .sort((a, b) => a.localeCompare(b))
+ .sort((a, b) => a.localeCompare(b, 'en'))
// no need to install if already present
if (add.length) {
diff --git a/deps/npm/node_modules/libnpmexec/package.json b/deps/npm/node_modules/libnpmexec/package.json
index 1b7d24103be..c113ac6d0a6 100644
--- a/deps/npm/node_modules/libnpmexec/package.json
+++ b/deps/npm/node_modules/libnpmexec/package.json
@@ -1,6 +1,6 @@
{
"name": "libnpmexec",
- "version": "1.0.1",
+ "version": "1.1.1",
"files": [
"lib"
],
@@ -46,7 +46,7 @@
"eslint-plugin-node": "^11.1.0",
"eslint-plugin-promise": "^5.1.0",
"eslint-plugin-standard": "^5.0.0",
- "tap": "^15.0.2"
+ "tap": "^15.0.6"
},
"dependencies": {
"@npmcli/arborist": "^2.3.0",
@@ -58,6 +58,7 @@
"pacote": "^11.3.1",
"proc-log": "^1.0.0",
"read": "^1.0.7",
- "read-package-json-fast": "^2.0.2"
+ "read-package-json-fast": "^2.0.2",
+ "walk-up-path": "^1.0.0"
}
}
diff --git a/deps/npm/node_modules/npm-packlist/bin/index.js b/deps/npm/node_modules/npm-packlist/bin/index.js
index f06feffd9b5..40811db7d32 100755
--- a/deps/npm/node_modules/npm-packlist/bin/index.js
+++ b/deps/npm/node_modules/npm-packlist/bin/index.js
@@ -12,13 +12,14 @@ process.argv.slice(2).forEach(arg => {
dirs.push(arg)
})
-const sort = list => doSort ? list.sort((a, b) => a.localeCompare(b)) : list
+const sort = list => doSort ? list.sort((a, b) => a.localeCompare(b, 'en')) : list
const packlist = require('../')
if (!dirs.length)
console.log(sort(packlist.sync({ path: process.cwd() })).join('\n'))
-else
+else {
dirs.forEach(path => {
console.log(`> ${path}`)
console.log(sort(packlist.sync({ path })).join('\n'))
})
+}
diff --git a/deps/npm/node_modules/npm-packlist/index.js b/deps/npm/node_modules/npm-packlist/index.js
index 8f62983e6f6..f498fa008ce 100644
--- a/deps/npm/node_modules/npm-packlist/index.js
+++ b/deps/npm/node_modules/npm-packlist/index.js
@@ -26,11 +26,10 @@ const normalizePackageBin = require('npm-normalize-package-bin')
// localized documentation and other use cases. Adding a `/` to
// these rules, while tempting and arguably more "correct", is a
// significant change that will break existing use cases.
-const packageMustHaveFileNames =
- 'readme|copying|license|licence|notice|changes|changelog|history'
+const packageMustHaveFileNames = 'readme|copying|license|licence'
const packageMustHaves = `@(${packageMustHaveFileNames}){,.*[^~$]}`
-const packageMustHavesRE = new RegExp(`^(${packageMustHaveFileNames})(\\..*[^~\$])?$`, 'i')
+const packageMustHavesRE = new RegExp(`^(${packageMustHaveFileNames})(\\..*[^~$])?$`, 'i')
const fs = require('fs')
const glob = require('glob')
@@ -76,13 +75,11 @@ const npmWalker = Class => class Walker extends Class {
'package.json',
'.npmignore',
'.gitignore',
- packageNecessaryRules
+ packageNecessaryRules,
]
opt.includeEmpty = false
opt.path = opt.path || process.cwd()
- const dirName = path.basename(opt.path)
- const parentName = path.basename(path.dirname(opt.path))
// only follow links in the root node_modules folder, because if those
// folders are included, it's because they're bundled, and bundles
@@ -90,7 +87,7 @@ const npmWalker = Class => class Walker extends Class {
// This regexp tests to see that we're either a node_modules folder,
// or a @scope within a node_modules folder, in the root's node_modules
// hierarchy (ie, not in test/foo/node_modules/ or something).
- const followRe = /^(?:\/node_modules\/(?:@[^\/]+\/[^\/]+|[^\/]+)\/)*\/node_modules(?:\/@[^\/]+)?$/
+ const followRe = /^(?:\/node_modules\/(?:@[^/]+\/[^/]+|[^/]+)\/)*\/node_modules(?:\/@[^/]+)?$/
const rootPath = opt.parent ? opt.parent.root : opt.path
const followTestPath = opt.path.replace(/\\/g, '/').substr(rootPath.length)
opt.follow = followRe.test(followTestPath)
@@ -104,10 +101,10 @@ const npmWalker = Class => class Walker extends Class {
this.bundled = opt.bundled || []
this.bundledScopes = Array.from(new Set(
this.bundled.filter(f => /^@/.test(f))
- .map(f => f.split('/')[0])))
+ .map(f => f.split('/')[0])))
const rules = defaultRules.join('\n') + '\n'
this.packageJsonCache = opt.packageJsonCache || new Map()
- super.onReadIgnoreFile(rootBuiltinRules, rules, _=>_)
+ super.onReadIgnoreFile(rootBuiltinRules, rules, _ => _)
} else {
this.bundled = []
this.bundledScopes = []
@@ -129,9 +126,8 @@ const npmWalker = Class => class Walker extends Class {
// to be in the state the user wants to include them, and
// a package.json somewhere else might be a template or
// test or something else entirely.
- if (this.parent || !entries.includes('package.json')) {
+ if (this.parent || !entries.includes('package.json'))
return super.onReaddir(entries)
- }
// when the cache has been seeded with the root manifest,
// we must respect that (it may differ from the filesystem)
@@ -141,9 +137,8 @@ const npmWalker = Class => class Walker extends Class {
const pkg = this.packageJsonCache.get(ig)
// fall back to filesystem when seeded manifest is invalid
- if (!pkg || typeof pkg !== 'object') {
+ if (!pkg || typeof pkg !== 'object')
return this.readPackageJson(entries)
- }
// feels wonky, but this ensures package bin is _always_
// normalized, as well as guarding against invalid JSON
@@ -175,7 +170,7 @@ const npmWalker = Class => class Walker extends Class {
'/package.json',
'/npm-shrinkwrap.json',
'!/package-lock.json',
- packageMustHaves,
+ packageMustHaves
)
return files
}
@@ -233,9 +228,8 @@ const npmWalker = Class => class Walker extends Class {
return this.emit('error', er)
results[i] = { negate, fileList }
- if (--n === 0) {
+ if (--n === 0)
processResults(results)
- }
}
const processResults = results => {
for (const {negate, fileList} of results) {
@@ -273,7 +267,7 @@ const npmWalker = Class => class Walker extends Class {
filterEntry (entry, partial) {
// get the partial path from the root of the walk
const p = this.path.substr(this.root.length + 1)
- const pkgre = /^node_modules\/(@[^\/]+\/?[^\/]+|[^\/]+)(\/.*)?$/
+ const pkgre = /^node_modules\/(@[^/]+\/?[^/]+|[^/]+)(\/.*)?$/
const isRoot = !this.parent
const pkg = isRoot && pkgre.test(entry) ?
entry.replace(pkgre, '$1') : null
@@ -283,7 +277,7 @@ const npmWalker = Class => class Walker extends Class {
return (
// if we're in a bundled package, check with the parent.
/^node_modules($|\/)/i.test(p) ? this.parent.filterEntry(
- this.basename + '/' + entry, partial)
+ this.basename + '/' + entry, partial)
// if package is bundled, all files included
// also include @scope dirs for bundled scoped deps
@@ -291,8 +285,8 @@ const npmWalker = Class => class Walker extends Class {
// However, this only matters if we're in the root.
// node_modules folders elsewhere, like lib/node_modules,
// should be included normally unless ignored.
- : pkg ? -1 !== this.bundled.indexOf(pkg) ||
- -1 !== this.bundledScopes.indexOf(pkg)
+ : pkg ? this.bundled.indexOf(pkg) !== -1 ||
+ this.bundledScopes.indexOf(pkg) !== -1
// only walk top node_modules if we want to bundle something
: rootNM ? !!this.bundled.length
@@ -308,10 +302,10 @@ const npmWalker = Class => class Walker extends Class {
? true
// package-lock never included
- : isRoot && entry === 'package-lock.json' ? false
+ : isRoot && entry === 'package-lock.json' ? false
- // otherwise, follow ignore-walk's logic
- : super.filterEntry(entry, partial)
+ // otherwise, follow ignore-walk's logic
+ : super.filterEntry(entry, partial)
)
}
@@ -454,12 +448,11 @@ const sort = (a, b) => {
const basea = path.basename(a).toLowerCase()
const baseb = path.basename(b).toLowerCase()
- return exta.localeCompare(extb) ||
- basea.localeCompare(baseb) ||
- a.localeCompare(b)
+ return exta.localeCompare(extb, 'en') ||
+ basea.localeCompare(baseb, 'en') ||
+ a.localeCompare(b, 'en')
}
-
module.exports = walk
walk.sync = walkSync
walk.Walker = Walker
diff --git a/deps/npm/node_modules/npm-packlist/package.json b/deps/npm/node_modules/npm-packlist/package.json
index 1276b484136..49fa947547b 100644
--- a/deps/npm/node_modules/npm-packlist/package.json
+++ b/deps/npm/node_modules/npm-packlist/package.json
@@ -1,6 +1,6 @@
{
"name": "npm-packlist",
- "version": "2.1.5",
+ "version": "2.2.2",
"description": "Get a list of the files to add from a folder into an npm package",
"directories": {
"test": "test"
@@ -15,25 +15,38 @@
"author": "Isaac Z. Schlueter <i@izs.me> (http://blog.izs.me/)",
"license": "ISC",
"files": [
+ "bin/index.js",
"index.js"
],
"devDependencies": {
+ "eslint": "^7.25.0",
+ "eslint-plugin-import": "^2.22.1",
+ "eslint-plugin-node": "^11.1.0",
+ "eslint-plugin-promise": "^5.1.0",
+ "eslint-plugin-standard": "^5.0.0",
"mutate-fs": "^2.1.1",
- "require-inject": "^1.4.4",
- "tap": "^14.10.8"
+ "tap": "^15.0.6"
},
"scripts": {
"test": "tap",
+ "posttest": "npm run lint",
"snap": "tap",
+ "postsnap": "npm run lintfix",
"preversion": "npm test",
"postversion": "npm publish",
- "prepublishOnly": "git push origin --follow-tags"
+ "prepublishOnly": "git push origin --follow-tags",
+ "eslint": "eslint",
+ "lint": "npm run eslint -- index.js bin/index.js \"test/**/*.js\"",
+ "lintfix": "npm run lint -- --fix"
},
"repository": {
"type": "git",
"url": "git+https://github.com/npm/npm-packlist.git"
},
"tap": {
+ "test-env": [
+ "LC_ALL=sk"
+ ],
"check-coverage": true,
"nyc-arg": [
"--include=index.js",
diff --git a/deps/npm/package.json b/deps/npm/package.json
index 19326a9aa59..70f94838882 100644
--- a/deps/npm/package.json
+++ b/deps/npm/package.json
@@ -1,5 +1,5 @@
{
- "version": "7.11.2",
+ "version": "7.12.1",
"name": "npm",
"description": "a package manager for JavaScript",
"keywords": [
@@ -42,7 +42,7 @@
"./package.json": "./package.json"
},
"dependencies": {
- "@npmcli/arborist": "^2.4.1",
+ "@npmcli/arborist": "^2.4.4",
"@npmcli/ci-detect": "^1.2.0",
"@npmcli/config": "^2.2.0",
"@npmcli/run-script": "^1.8.5",
@@ -57,7 +57,7 @@
"cli-columns": "^3.1.2",
"cli-table3": "^0.6.0",
"columnify": "~1.5.4",
- "glob": "^7.1.4",
+ "glob": "^7.1.7",
"graceful-fs": "^4.2.6",
"hosted-git-info": "^4.0.2",
"ini": "^2.0.0",
@@ -67,7 +67,7 @@
"leven": "^3.1.0",
"libnpmaccess": "^4.0.2",
"libnpmdiff": "^2.0.4",
- "libnpmexec": "^1.0.1",
+ "libnpmexec": "^1.1.1",
"libnpmfund": "^1.0.2",
"libnpmhook": "^6.0.2",
"libnpmorg": "^2.0.2",
@@ -182,15 +182,15 @@
"devDependencies": {
"@mdx-js/mdx": "^1.6.22",
"cmark-gfm": "^0.8.5",
- "eslint": "^7.23.0",
+ "eslint": "^7.26.0",
"eslint-plugin-import": "^2.22.1",
"eslint-plugin-node": "^11.1.0",
- "eslint-plugin-promise": "^4.3.1",
+ "eslint-plugin-promise": "^5.1.0",
"eslint-plugin-standard": "^5.0.0",
"jsdom": "^16.5.2",
"licensee": "^8.1.0",
"marked-man": "^0.7.0",
- "tap": "^15.0.6",
+ "tap": "^15.0.9",
"yaml": "^1.10.2"
},
"scripts": {
@@ -216,6 +216,9 @@
"Remove the 'files' below once we're done porting old tests over"
],
"tap": {
+ "test-env": [
+ "LC_ALL=sk"
+ ],
"color": 1,
"files": "test/{lib,bin}",
"coverage-map": "test/coverage-map.js",
diff --git a/deps/npm/tap-snapshots/test/lib/config.js.test.cjs b/deps/npm/tap-snapshots/test/lib/config.js.test.cjs
index 68c50d699a4..a293eda63a0 100644
--- a/deps/npm/tap-snapshots/test/lib/config.js.test.cjs
+++ b/deps/npm/tap-snapshots/test/lib/config.js.test.cjs
@@ -88,6 +88,9 @@ exports[`test/lib/config.js TAP config edit > should write config file 2`] = `
exports[`test/lib/config.js TAP config get no args > should list configs on config get no args 1`] = `
; "cli" config from command line options
+cat = true
+chai = true
+dog = true
editor = "vi"
global = false
json = false
@@ -109,6 +112,9 @@ init.version = "1.0.0"
; "cli" config from command line options
+cat = true
+chai = true
+dog = true
editor = "vi"
global = false
json = false
@@ -118,6 +124,9 @@ long = true
exports[`test/lib/config.js TAP config list > should list configs 1`] = `
; "cli" config from command line options
+cat = true
+chai = true
+dog = true
editor = "vi"
global = false
json = false
@@ -132,6 +141,9 @@ long = false
exports[`test/lib/config.js TAP config list overrides > should list overridden configs 1`] = `
; "cli" config from command line options
+cat = true
+chai = true
+dog = true
editor = "vi"
global = false
init.author.name = "Bar"
diff --git a/deps/npm/tap-snapshots/test/lib/ls.js.test.cjs b/deps/npm/tap-snapshots/test/lib/ls.js.test.cjs
index 0278f6af1f2..67359f4b3a3 100644
--- a/deps/npm/tap-snapshots/test/lib/ls.js.test.cjs
+++ b/deps/npm/tap-snapshots/test/lib/ls.js.test.cjs
@@ -47,8 +47,8 @@ test-npm-ls-ignore-missing-optional@1.2.3 {project}
exports[`test/lib/ls.js TAP ls --depth=0 > should output tree containing only top-level dependencies 1`] = `
test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls---depth-0
-+-- foo@1.0.0
-\`-- lorem@1.0.0
++-- chai@1.0.0
+\`-- foo@1.0.0
`
@@ -64,7 +64,7 @@ exports[`test/lib/ls.js TAP ls --dev > should output tree containing dev deps 1`
test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls---dev
\`-- dev-dep@1.0.0
\`-- foo@1.0.0
- \`-- bar@1.0.0
+ \`-- dog@1.0.0
`
@@ -78,10 +78,10 @@ exports[`test/lib/ls.js TAP ls --long --depth=0 > should output tree containing
test-npm-ls@1.0.0
| {CWD}/tap-testdir-ls-ls---long---depth-0
|
++-- chai@1.0.0
+|
+-- dev-dep@1.0.0
| A DEV dep kind of dep
-+-- lorem@1.0.0
-|
+-- optional-dep@1.0.0
| Maybe a dep?
+-- peer-dep@1.0.0
@@ -95,13 +95,13 @@ exports[`test/lib/ls.js TAP ls --long > should output tree info with description
test-npm-ls@1.0.0
| {CWD}/tap-testdir-ls-ls---long
|
++-- chai@1.0.0
+|
+-- dev-dep@1.0.0
| | A DEV dep kind of dep
| \`-- foo@1.0.0
| |
-| \`-- bar@1.0.0
-|
-+-- lorem@1.0.0
+| \`-- dog@1.0.0
|
+-- optional-dep@1.0.0
| Maybe a dep?
@@ -109,7 +109,7 @@ test-npm-ls@1.0.0
| Peer-dep description here
\`-- prod-dep@1.0.0
| A PROD dep kind of dep
- \`-- bar@2.0.0
+ \`-- dog@2.0.0
A dep that bars
`
@@ -118,37 +118,37 @@ exports[`test/lib/ls.js TAP ls --only=development > should output tree containin
test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls---only-development
\`-- dev-dep@1.0.0
\`-- foo@1.0.0
- \`-- bar@1.0.0
+ \`-- dog@1.0.0
`
exports[`test/lib/ls.js TAP ls --only=prod > should output tree containing only prod deps 1`] = `
test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls---only-prod
-+-- lorem@1.0.0
++-- chai@1.0.0
+-- optional-dep@1.0.0
\`-- prod-dep@1.0.0
- \`-- bar@2.0.0
+ \`-- dog@2.0.0
`
exports[`test/lib/ls.js TAP ls --parseable --depth=0 > should output tree containing only top-level dependencies 1`] = `
{CWD}/tap-testdir-ls-ls---parseable---depth-0
+{CWD}/tap-testdir-ls-ls---parseable---depth-0/node_modules/chai
{CWD}/tap-testdir-ls-ls---parseable---depth-0/node_modules/foo
-{CWD}/tap-testdir-ls-ls---parseable---depth-0/node_modules/lorem
`
exports[`test/lib/ls.js TAP ls --parseable --depth=1 > should output parseable containing top-level deps and their deps only 1`] = `
{CWD}/tap-testdir-ls-ls---parseable---depth-1
+{CWD}/tap-testdir-ls-ls---parseable---depth-1/node_modules/chai
{CWD}/tap-testdir-ls-ls---parseable---depth-1/node_modules/foo
-{CWD}/tap-testdir-ls-ls---parseable---depth-1/node_modules/lorem
-{CWD}/tap-testdir-ls-ls---parseable---depth-1/node_modules/bar
+{CWD}/tap-testdir-ls-ls---parseable---depth-1/node_modules/dog
`
exports[`test/lib/ls.js TAP ls --parseable --dev > should output tree containing dev deps 1`] = `
{CWD}/tap-testdir-ls-ls---parseable---dev
{CWD}/tap-testdir-ls-ls---parseable---dev/node_modules/dev-dep
{CWD}/tap-testdir-ls-ls---parseable---dev/node_modules/foo
-{CWD}/tap-testdir-ls-ls---parseable---dev/node_modules/bar
+{CWD}/tap-testdir-ls-ls---parseable---dev/node_modules/dog
`
exports[`test/lib/ls.js TAP ls --parseable --link > should output tree containing linked deps 1`] = `
@@ -158,8 +158,8 @@ exports[`test/lib/ls.js TAP ls --parseable --link > should output tree containin
exports[`test/lib/ls.js TAP ls --parseable --long --depth=0 > should output tree containing top-level deps with descriptions 1`] = `
{CWD}/tap-testdir-ls-ls---parseable---long---depth-0:test-npm-ls@1.0.0
+{CWD}/tap-testdir-ls-ls---parseable---long---depth-0/node_modules/chai:chai@1.0.0
{CWD}/tap-testdir-ls-ls---parseable---long---depth-0/node_modules/dev-dep:dev-dep@1.0.0
-{CWD}/tap-testdir-ls-ls---parseable---long---depth-0/node_modules/lorem:lorem@1.0.0
{CWD}/tap-testdir-ls-ls---parseable---long---depth-0/node_modules/optional-dep:optional-dep@1.0.0
{CWD}/tap-testdir-ls-ls---parseable---long---depth-0/node_modules/peer-dep:peer-dep@1.0.0
{CWD}/tap-testdir-ls-ls---parseable---long---depth-0/node_modules/prod-dep:prod-dep@1.0.0
@@ -167,64 +167,64 @@ exports[`test/lib/ls.js TAP ls --parseable --long --depth=0 > should output tree
exports[`test/lib/ls.js TAP ls --parseable --long > should output tree info with descriptions 1`] = `
{CWD}/tap-testdir-ls-ls---parseable---long:test-npm-ls@1.0.0
+{CWD}/tap-testdir-ls-ls---parseable---long/node_modules/chai:chai@1.0.0
{CWD}/tap-testdir-ls-ls---parseable---long/node_modules/dev-dep:dev-dep@1.0.0
-{CWD}/tap-testdir-ls-ls---parseable---long/node_modules/lorem:lorem@1.0.0
{CWD}/tap-testdir-ls-ls---parseable---long/node_modules/optional-dep:optional-dep@1.0.0
{CWD}/tap-testdir-ls-ls---parseable---long/node_modules/peer-dep:peer-dep@1.0.0
{CWD}/tap-testdir-ls-ls---parseable---long/node_modules/prod-dep:prod-dep@1.0.0
{CWD}/tap-testdir-ls-ls---parseable---long/node_modules/foo:foo@1.0.0
-{CWD}/tap-testdir-ls-ls---parseable---long/node_modules/prod-dep/node_modules/bar:bar@2.0.0
-{CWD}/tap-testdir-ls-ls---parseable---long/node_modules/bar:bar@1.0.0
+{CWD}/tap-testdir-ls-ls---parseable---long/node_modules/prod-dep/node_modules/dog:dog@2.0.0
+{CWD}/tap-testdir-ls-ls---parseable---long/node_modules/dog:dog@1.0.0
`
exports[`test/lib/ls.js TAP ls --parseable --long missing/invalid/extraneous > should output parseable result containing EXTRANEOUS/INVALID labels 1`] = `
{CWD}/tap-testdir-ls-ls---parseable---long-missing-invalid-extraneous:test-npm-ls@1.0.0
+{CWD}/tap-testdir-ls-ls---parseable---long-missing-invalid-extraneous/node_modules/chai:chai@1.0.0:EXTRANEOUS
{CWD}/tap-testdir-ls-ls---parseable---long-missing-invalid-extraneous/node_modules/foo:foo@1.0.0:INVALID
-{CWD}/tap-testdir-ls-ls---parseable---long-missing-invalid-extraneous/node_modules/lorem:lorem@1.0.0:EXTRANEOUS
-{CWD}/tap-testdir-ls-ls---parseable---long-missing-invalid-extraneous/node_modules/bar:bar@1.0.0
+{CWD}/tap-testdir-ls-ls---parseable---long-missing-invalid-extraneous/node_modules/dog:dog@1.0.0
`
exports[`test/lib/ls.js TAP ls --parseable --long print symlink target location > should output parseable results with symlink targets 1`] = `
{CWD}/tap-testdir-ls-ls---parseable---long-print-symlink-target-location:test-npm-ls@1.0.0
+{CWD}/tap-testdir-ls-ls---parseable---long-print-symlink-target-location/node_modules/chai:chai@1.0.0
{CWD}/tap-testdir-ls-ls---parseable---long-print-symlink-target-location/node_modules/dev-dep:dev-dep@1.0.0
{CWD}/tap-testdir-ls-ls---parseable---long-print-symlink-target-location/node_modules/linked-dep:linked-dep@1.0.0:{CWD}/tap-testdir-ls-ls---parseable---long-print-symlink-target-location/linked-dep
-{CWD}/tap-testdir-ls-ls---parseable---long-print-symlink-target-location/node_modules/lorem:lorem@1.0.0
{CWD}/tap-testdir-ls-ls---parseable---long-print-symlink-target-location/node_modules/optional-dep:optional-dep@1.0.0
{CWD}/tap-testdir-ls-ls---parseable---long-print-symlink-target-location/node_modules/peer-dep:peer-dep@1.0.0
{CWD}/tap-testdir-ls-ls---parseable---long-print-symlink-target-location/node_modules/prod-dep:prod-dep@1.0.0
{CWD}/tap-testdir-ls-ls---parseable---long-print-symlink-target-location/node_modules/foo:foo@1.0.0
-{CWD}/tap-testdir-ls-ls---parseable---long-print-symlink-target-location/node_modules/prod-dep/node_modules/bar:bar@2.0.0
-{CWD}/tap-testdir-ls-ls---parseable---long-print-symlink-target-location/node_modules/bar:bar@1.0.0
+{CWD}/tap-testdir-ls-ls---parseable---long-print-symlink-target-location/node_modules/prod-dep/node_modules/dog:dog@2.0.0
+{CWD}/tap-testdir-ls-ls---parseable---long-print-symlink-target-location/node_modules/dog:dog@1.0.0
`
exports[`test/lib/ls.js TAP ls --parseable --long with extraneous deps > should output long parseable output with extraneous info 1`] = `
{CWD}/tap-testdir-ls-ls---parseable---long-with-extraneous-deps:test-npm-ls@1.0.0
+{CWD}/tap-testdir-ls-ls---parseable---long-with-extraneous-deps/node_modules/chai:chai@1.0.0:EXTRANEOUS
{CWD}/tap-testdir-ls-ls---parseable---long-with-extraneous-deps/node_modules/foo:foo@1.0.0
-{CWD}/tap-testdir-ls-ls---parseable---long-with-extraneous-deps/node_modules/lorem:lorem@1.0.0:EXTRANEOUS
-{CWD}/tap-testdir-ls-ls---parseable---long-with-extraneous-deps/node_modules/bar:bar@1.0.0
+{CWD}/tap-testdir-ls-ls---parseable---long-with-extraneous-deps/node_modules/dog:dog@1.0.0
`
exports[`test/lib/ls.js TAP ls --parseable --only=development > should output tree containing only development deps 1`] = `
{CWD}/tap-testdir-ls-ls---parseable---only-development
{CWD}/tap-testdir-ls-ls---parseable---only-development/node_modules/dev-dep
{CWD}/tap-testdir-ls-ls---parseable---only-development/node_modules/foo
-{CWD}/tap-testdir-ls-ls---parseable---only-development/node_modules/bar
+{CWD}/tap-testdir-ls-ls---parseable---only-development/node_modules/dog
`
exports[`test/lib/ls.js TAP ls --parseable --only=prod > should output tree containing only prod deps 1`] = `
{CWD}/tap-testdir-ls-ls---parseable---only-prod
-{CWD}/tap-testdir-ls-ls---parseable---only-prod/node_modules/lorem
+{CWD}/tap-testdir-ls-ls---parseable---only-prod/node_modules/chai
{CWD}/tap-testdir-ls-ls---parseable---only-prod/node_modules/optional-dep
{CWD}/tap-testdir-ls-ls---parseable---only-prod/node_modules/prod-dep
-{CWD}/tap-testdir-ls-ls---parseable---only-prod/node_modules/prod-dep/node_modules/bar
+{CWD}/tap-testdir-ls-ls---parseable---only-prod/node_modules/prod-dep/node_modules/dog
`
exports[`test/lib/ls.js TAP ls --parseable --production > should output tree containing production deps 1`] = `
{CWD}/tap-testdir-ls-ls---parseable---production
-{CWD}/tap-testdir-ls-ls---parseable---production/node_modules/lorem
+{CWD}/tap-testdir-ls-ls---parseable---production/node_modules/chai
{CWD}/tap-testdir-ls-ls---parseable---production/node_modules/optional-dep
{CWD}/tap-testdir-ls-ls---parseable---production/node_modules/prod-dep
-{CWD}/tap-testdir-ls-ls---parseable---production/node_modules/prod-dep/node_modules/bar
+{CWD}/tap-testdir-ls-ls---parseable---production/node_modules/prod-dep/node_modules/dog
`
exports[`test/lib/ls.js TAP ls --parseable cycle deps > should print tree output omitting deduped ref 1`] = `
@@ -235,8 +235,8 @@ exports[`test/lib/ls.js TAP ls --parseable cycle deps > should print tree output
exports[`test/lib/ls.js TAP ls --parseable default --depth value should be 0 > should output parseable output containing only top-level dependencies 1`] = `
{CWD}/tap-testdir-ls-ls---parseable-default---depth-value-should-be-0
+{CWD}/tap-testdir-ls-ls---parseable-default---depth-value-should-be-0/node_modules/chai
{CWD}/tap-testdir-ls-ls---parseable-default---depth-value-should-be-0/node_modules/foo
-{CWD}/tap-testdir-ls-ls---parseable-default---depth-value-should-be-0/node_modules/lorem
`
exports[`test/lib/ls.js TAP ls --parseable empty location > should print empty result 1`] = `
@@ -245,9 +245,9 @@ exports[`test/lib/ls.js TAP ls --parseable empty location > should print empty r
exports[`test/lib/ls.js TAP ls --parseable extraneous deps > should output containing problems info 1`] = `
{CWD}/tap-testdir-ls-ls---parseable-extraneous-deps
+{CWD}/tap-testdir-ls-ls---parseable-extraneous-deps/node_modules/chai
{CWD}/tap-testdir-ls-ls---parseable-extraneous-deps/node_modules/foo
-{CWD}/tap-testdir-ls-ls---parseable-extraneous-deps/node_modules/lorem
-{CWD}/tap-testdir-ls-ls---parseable-extraneous-deps/node_modules/bar
+{CWD}/tap-testdir-ls-ls---parseable-extraneous-deps/node_modules/dog
`
exports[`test/lib/ls.js TAP ls --parseable from and resolved properties > should not be printed in tree output 1`] = `
@@ -268,23 +268,23 @@ exports[`test/lib/ls.js TAP ls --parseable json read problems > should print emp
exports[`test/lib/ls.js TAP ls --parseable missing package.json > should output parseable missing name/version of top-level package 1`] = `
{CWD}/tap-testdir-ls-ls---parseable-missing-package.json
-{CWD}/tap-testdir-ls-ls---parseable-missing-package.json/node_modules/bar
+{CWD}/tap-testdir-ls-ls---parseable-missing-package.json/node_modules/chai
+{CWD}/tap-testdir-ls-ls---parseable-missing-package.json/node_modules/dog
{CWD}/tap-testdir-ls-ls---parseable-missing-package.json/node_modules/foo
-{CWD}/tap-testdir-ls-ls---parseable-missing-package.json/node_modules/lorem
`
exports[`test/lib/ls.js TAP ls --parseable missing/invalid/extraneous > should output parseable containing top-level deps and their deps only 1`] = `
{CWD}/tap-testdir-ls-ls---parseable-missing-invalid-extraneous
+{CWD}/tap-testdir-ls-ls---parseable-missing-invalid-extraneous/node_modules/chai
{CWD}/tap-testdir-ls-ls---parseable-missing-invalid-extraneous/node_modules/foo
-{CWD}/tap-testdir-ls-ls---parseable-missing-invalid-extraneous/node_modules/lorem
-{CWD}/tap-testdir-ls-ls---parseable-missing-invalid-extraneous/node_modules/bar
+{CWD}/tap-testdir-ls-ls---parseable-missing-invalid-extraneous/node_modules/dog
`
exports[`test/lib/ls.js TAP ls --parseable no args > should output parseable representation of dependencies structure 1`] = `
{CWD}/tap-testdir-ls-ls---parseable-no-args
+{CWD}/tap-testdir-ls-ls---parseable-no-args/node_modules/chai
{CWD}/tap-testdir-ls-ls---parseable-no-args/node_modules/foo
-{CWD}/tap-testdir-ls-ls---parseable-no-args/node_modules/lorem
-{CWD}/tap-testdir-ls-ls---parseable-no-args/node_modules/bar
+{CWD}/tap-testdir-ls-ls---parseable-no-args/node_modules/dog
`
exports[`test/lib/ls.js TAP ls --parseable resolved points to git ref > should output tree containing git refs 1`] = `
@@ -294,26 +294,26 @@ exports[`test/lib/ls.js TAP ls --parseable resolved points to git ref > should o
exports[`test/lib/ls.js TAP ls --parseable unmet optional dep > should output parseable with empty entry for missing optional deps 1`] = `
{CWD}/tap-testdir-ls-ls---parseable-unmet-optional-dep
+{CWD}/tap-testdir-ls-ls---parseable-unmet-optional-dep/node_modules/chai
{CWD}/tap-testdir-ls-ls---parseable-unmet-optional-dep/node_modules/dev-dep
-{CWD}/tap-testdir-ls-ls---parseable-unmet-optional-dep/node_modules/lorem
{CWD}/tap-testdir-ls-ls---parseable-unmet-optional-dep/node_modules/optional-dep
{CWD}/tap-testdir-ls-ls---parseable-unmet-optional-dep/node_modules/peer-dep
{CWD}/tap-testdir-ls-ls---parseable-unmet-optional-dep/node_modules/prod-dep
{CWD}/tap-testdir-ls-ls---parseable-unmet-optional-dep/node_modules/foo
-{CWD}/tap-testdir-ls-ls---parseable-unmet-optional-dep/node_modules/prod-dep/node_modules/bar
-{CWD}/tap-testdir-ls-ls---parseable-unmet-optional-dep/node_modules/bar
+{CWD}/tap-testdir-ls-ls---parseable-unmet-optional-dep/node_modules/prod-dep/node_modules/dog
+{CWD}/tap-testdir-ls-ls---parseable-unmet-optional-dep/node_modules/dog
`
exports[`test/lib/ls.js TAP ls --parseable unmet peer dep > should output parseable signaling missing peer dep in problems 1`] = `
{CWD}/tap-testdir-ls-ls---parseable-unmet-peer-dep
+{CWD}/tap-testdir-ls-ls---parseable-unmet-peer-dep/node_modules/chai
{CWD}/tap-testdir-ls-ls---parseable-unmet-peer-dep/node_modules/dev-dep
-{CWD}/tap-testdir-ls-ls---parseable-unmet-peer-dep/node_modules/lorem
{CWD}/tap-testdir-ls-ls---parseable-unmet-peer-dep/node_modules/optional-dep
{CWD}/tap-testdir-ls-ls---parseable-unmet-peer-dep/node_modules/peer-dep
{CWD}/tap-testdir-ls-ls---parseable-unmet-peer-dep/node_modules/prod-dep
{CWD}/tap-testdir-ls-ls---parseable-unmet-peer-dep/node_modules/foo
-{CWD}/tap-testdir-ls-ls---parseable-unmet-peer-dep/node_modules/prod-dep/node_modules/bar
-{CWD}/tap-testdir-ls-ls---parseable-unmet-peer-dep/node_modules/bar
+{CWD}/tap-testdir-ls-ls---parseable-unmet-peer-dep/node_modules/prod-dep/node_modules/dog
+{CWD}/tap-testdir-ls-ls---parseable-unmet-peer-dep/node_modules/dog
`
exports[`test/lib/ls.js TAP ls --parseable using aliases > should output tree containing aliases 1`] = `
@@ -322,11 +322,11 @@ exports[`test/lib/ls.js TAP ls --parseable using aliases > should output tree co
`
exports[`test/lib/ls.js TAP ls --parseable with filter arg > should output parseable contaning only occurrences of filtered by package 1`] = `
-{CWD}/tap-testdir-ls-ls---parseable-with-filter-arg/node_modules/lorem
+{CWD}/tap-testdir-ls-ls---parseable-with-filter-arg/node_modules/chai
`
exports[`test/lib/ls.js TAP ls --parseable with filter arg nested dep > should output parseable contaning only occurrences of filtered package 1`] = `
-{CWD}/tap-testdir-ls-ls---parseable-with-filter-arg-nested-dep/node_modules/bar
+{CWD}/tap-testdir-ls-ls---parseable-with-filter-arg-nested-dep/node_modules/dog
`
exports[`test/lib/ls.js TAP ls --parseable with missing filter arg > should output parseable output containing no dependencies info 1`] = `
@@ -334,16 +334,16 @@ exports[`test/lib/ls.js TAP ls --parseable with missing filter arg > should outp
`
exports[`test/lib/ls.js TAP ls --parseable with multiple filter args > should output parseable contaning only occurrences of multiple filtered packages and their ancestors 1`] = `
-{CWD}/tap-testdir-ls-ls---parseable-with-multiple-filter-args/node_modules/lorem
-{CWD}/tap-testdir-ls-ls---parseable-with-multiple-filter-args/node_modules/bar
+{CWD}/tap-testdir-ls-ls---parseable-with-multiple-filter-args/node_modules/chai
+{CWD}/tap-testdir-ls-ls---parseable-with-multiple-filter-args/node_modules/dog
`
exports[`test/lib/ls.js TAP ls --production > should output tree containing production deps 1`] = `
test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls---production
-+-- lorem@1.0.0
++-- chai@1.0.0
+-- optional-dep@1.0.0
\`-- prod-dep@1.0.0
- \`-- bar@2.0.0
+ \`-- dog@2.0.0
`
@@ -355,10 +355,10 @@ npm-broken-resolved-field-test@1.0.0 {CWD}/tap-testdir-ls-ls-broken-resolved-fie
exports[`test/lib/ls.js TAP ls colored output > should output tree containing color info 1`] = `
test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls-colored-output
++-- chai@1.0.0 extraneous
+-- foo@1.0.0 invalid
-| \`-- bar@1.0.0
-+-- UNMET DEPENDENCY ipsum@^1.0.0
-\`-- lorem@1.0.0 extraneous
+| \`-- dog@1.0.0
+\`-- UNMET DEPENDENCY ipsum@^1.0.0

`
@@ -388,8 +388,8 @@ test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls-deduped-missing-dep
exports[`test/lib/ls.js TAP ls default --depth value should be 0 > should output tree containing only top-level dependencies 1`] = `
test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls-default---depth-value-should-be-0
-+-- foo@1.0.0
-\`-- lorem@1.0.0
++-- chai@1.0.0
+\`-- foo@1.0.0
`
@@ -401,9 +401,9 @@ exports[`test/lib/ls.js TAP ls empty location > should print empty result 1`] =
exports[`test/lib/ls.js TAP ls extraneous deps > should output containing problems info 1`] = `
test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls-extraneous-deps
-+-- foo@1.0.0
-| \`-- bar@1.0.0
-\`-- lorem@1.0.0 extraneous
++-- chai@1.0.0 extraneous
+\`-- foo@1.0.0
+ \`-- dog@1.0.0
`
@@ -461,14 +461,14 @@ exports[`test/lib/ls.js TAP ls invalid deduped dep > should output tree signalin
exports[`test/lib/ls.js TAP ls invalid peer dep > should output tree signaling mismatching peer dep in problems 1`] = `
test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls-invalid-peer-dep
++-- chai@1.0.0
+-- dev-dep@1.0.0
| \`-- foo@1.0.0
-| \`-- bar@1.0.0
-+-- lorem@1.0.0
+| \`-- dog@1.0.0
+-- optional-dep@1.0.0
+-- peer-dep@1.0.0 invalid
\`-- prod-dep@1.0.0
- \`-- bar@2.0.0
+ \`-- dog@2.0.0
`
@@ -494,27 +494,27 @@ filter-by-child-of-missing-dep@1.0.0 {CWD}/tap-testdir-ls-ls-loading-a-tree-cont
exports[`test/lib/ls.js TAP ls missing package.json > should output tree missing name/version of top-level package 1`] = `
{CWD}/tap-testdir-ls-ls-missing-package.json
-+-- bar@1.0.0 extraneous
-+-- foo@1.0.0 extraneous
-| \`-- bar@1.0.0 deduped
-\`-- lorem@1.0.0 extraneous
++-- chai@1.0.0 extraneous
++-- dog@1.0.0 extraneous
+\`-- foo@1.0.0 extraneous
+ \`-- dog@1.0.0 deduped
`
exports[`test/lib/ls.js TAP ls missing/invalid/extraneous > should output tree containing missing, invalid, extraneous labels 1`] = `
test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls-missing-invalid-extraneous
++-- chai@1.0.0 extraneous
+-- foo@1.0.0 invalid
-| \`-- bar@1.0.0
-+-- UNMET DEPENDENCY ipsum@^1.0.0
-\`-- lorem@1.0.0 extraneous
+| \`-- dog@1.0.0
+\`-- UNMET DEPENDENCY ipsum@^1.0.0
`
exports[`test/lib/ls.js TAP ls no args > should output tree representation of dependencies structure 1`] = `
test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls-no-args
-+-- foo@1.0.0
-| \`-- bar@1.0.0
-\`-- lorem@1.0.0
++-- chai@1.0.0
+\`-- foo@1.0.0
+ \`-- dog@1.0.0
`
@@ -534,15 +534,15 @@ test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls-resolved-points-to-git-ref
exports[`test/lib/ls.js TAP ls unmet optional dep > should output tree with empty entry for missing optional deps 1`] = `
test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls-unmet-optional-dep
++-- chai@1.0.0
+-- dev-dep@1.0.0
| \`-- foo@1.0.0
-| \`-- bar@1.0.0
-+-- lorem@1.0.0
+| \`-- dog@1.0.0
+-- UNMET OPTIONAL DEPENDENCY missing-optional-dep@^1.0.0
+-- optional-dep@1.0.0 invalid
+-- peer-dep@1.0.0
\`-- prod-dep@1.0.0
- \`-- bar@2.0.0
+ \`-- dog@2.0.0

`
@@ -586,14 +586,14 @@ test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls-with-dot-filter-arg
exports[`test/lib/ls.js TAP ls with filter arg > should output tree contaning only occurrences of filtered by package and colored output 1`] = `
test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls-with-filter-arg
-\`-- lorem@1.0.0
+\`-- chai@1.0.0

`
exports[`test/lib/ls.js TAP ls with filter arg nested dep > should output tree contaning only occurrences of filtered package and its ancestors 1`] = `
test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls-with-filter-arg-nested-dep
\`-- foo@1.0.0
- \`-- bar@1.0.0
+ \`-- dog@1.0.0
`
@@ -605,9 +605,9 @@ test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls-with-missing-filter-arg
exports[`test/lib/ls.js TAP ls with multiple filter args > should output tree contaning only occurrences of multiple filtered packages and their ancestors 1`] = `
test-npm-ls@1.0.0 {CWD}/tap-testdir-ls-ls-with-multiple-filter-args
-+-- foo@1.0.0
-| \`-- bar@1.0.0
-\`-- lorem@1.0.0
++-- chai@1.0.0
+\`-- foo@1.0.0
+ \`-- dog@1.0.0
`
diff --git a/deps/npm/tap-snapshots/test/lib/outdated.js.test.cjs b/deps/npm/tap-snapshots/test/lib/outdated.js.test.cjs
index e57d7110b22..fdb25e90eb8 100644
--- a/deps/npm/tap-snapshots/test/lib/outdated.js.test.cjs
+++ b/deps/npm/tap-snapshots/test/lib/outdated.js.test.cjs
@@ -7,38 +7,38 @@
'use strict'
exports[`test/lib/outdated.js TAP should display outdated deps outdated --all > must match snapshot 1`] = `
-Package Current Wanted Latest Location Depended by
-alpha 1.0.0 1.0.1 1.0.1 node_modules/alpha tap-testdir-outdated-should-display-outdated-deps
-beta 1.0.0 1.0.1 1.0.1 node_modules/beta tap-testdir-outdated-should-display-outdated-deps
-gamma 1.0.1 1.0.1 2.0.0 node_modules/gamma tap-testdir-outdated-should-display-outdated-deps
-theta MISSING 1.0.1 1.0.1 - tap-testdir-outdated-should-display-outdated-deps
+Package Current Wanted Latest Location Depended by
+cat 1.0.0 1.0.1 1.0.1 node_modules/cat tap-testdir-outdated-should-display-outdated-deps
+chai 1.0.0 1.0.1 1.0.1 node_modules/chai tap-testdir-outdated-should-display-outdated-deps
+dog 1.0.1 1.0.1 2.0.0 node_modules/dog tap-testdir-outdated-should-display-outdated-deps
+theta MISSING 1.0.1 1.0.1 - tap-testdir-outdated-should-display-outdated-deps
`
exports[`test/lib/outdated.js TAP should display outdated deps outdated --json --long > must match snapshot 1`] = `
{
- "alpha": {
+ "cat": {
"current": "1.0.0",
"wanted": "1.0.1",
"latest": "1.0.1",
"dependent": "tap-testdir-outdated-should-display-outdated-deps",
- "location": "{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/alpha",
+ "location": "{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/cat",
"type": "dependencies"
},
- "beta": {
+ "chai": {
"current": "1.0.0",
"wanted": "1.0.1",
"latest": "1.0.1",
"dependent": "tap-testdir-outdated-should-display-outdated-deps",
- "location": "{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/beta",
+ "location": "{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/chai",
"type": "peerDependencies"
},
- "gamma": {
+ "dog": {
"current": "1.0.1",
"wanted": "1.0.1",
"latest": "2.0.0",
"dependent": "tap-testdir-outdated-should-display-outdated-deps",
- "location": "{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/gamma",
+ "location": "{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/dog",
"type": "dependencies"
},
"theta": {
@@ -53,26 +53,26 @@ exports[`test/lib/outdated.js TAP should display outdated deps outdated --json -
exports[`test/lib/outdated.js TAP should display outdated deps outdated --json > must match snapshot 1`] = `
{
- "alpha": {
+ "cat": {
"current": "1.0.0",
"wanted": "1.0.1",
"latest": "1.0.1",
"dependent": "tap-testdir-outdated-should-display-outdated-deps",
- "location": "{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/alpha"
+ "location": "{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/cat"
},
- "beta": {
+ "chai": {
"current": "1.0.0",
"wanted": "1.0.1",
"latest": "1.0.1",
"dependent": "tap-testdir-outdated-should-display-outdated-deps",
- "location": "{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/beta"
+ "location": "{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/chai"
},
- "gamma": {
+ "dog": {
"current": "1.0.1",
"wanted": "1.0.1",
"latest": "2.0.0",
"dependent": "tap-testdir-outdated-should-display-outdated-deps",
- "location": "{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/gamma"
+ "location": "{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/dog"
},
"theta": {
"wanted": "1.0.1",
@@ -84,71 +84,71 @@ exports[`test/lib/outdated.js TAP should display outdated deps outdated --json >
exports[`test/lib/outdated.js TAP should display outdated deps outdated --long > must match snapshot 1`] = `
-Package Current Wanted Latest Location Depended by Package Type Homepage
-alpha 1.0.0 1.0.1 1.0.1 node_modules/alpha tap-testdir-outdated-should-display-outdated-deps dependencies
-beta 1.0.0 1.0.1 1.0.1 node_modules/beta tap-testdir-outdated-should-display-outdated-deps peerDependencies
-gamma 1.0.1 1.0.1 2.0.0 node_modules/gamma tap-testdir-outdated-should-display-outdated-deps dependencies
-theta MISSING 1.0.1 1.0.1 - tap-testdir-outdated-should-display-outdated-deps dependencies
+Package Current Wanted Latest Location Depended by Package Type Homepage
+cat 1.0.0 1.0.1 1.0.1 node_modules/cat tap-testdir-outdated-should-display-outdated-deps dependencies
+chai 1.0.0 1.0.1 1.0.1 node_modules/chai tap-testdir-outdated-should-display-outdated-deps peerDependencies
+dog 1.0.1 1.0.1 2.0.0 node_modules/dog tap-testdir-outdated-should-display-outdated-deps dependencies
+theta MISSING 1.0.1 1.0.1 - tap-testdir-outdated-should-display-outdated-deps dependencies
`
exports[`test/lib/outdated.js TAP should display outdated deps outdated --omit=dev --omit=peer > must match snapshot 1`] = `
-Package Current Wanted Latest Location Depended by
-alpha 1.0.0 1.0.1 1.0.1 node_modules/alpha tap-testdir-outdated-should-display-outdated-deps
-gamma 1.0.1 1.0.1 2.0.0 node_modules/gamma tap-testdir-outdated-should-display-outdated-deps
-theta MISSING 1.0.1 1.0.1 - tap-testdir-outdated-should-display-outdated-deps
+Package Current Wanted Latest Location Depended by
+cat 1.0.0 1.0.1 1.0.1 node_modules/cat tap-testdir-outdated-should-display-outdated-deps
+dog 1.0.1 1.0.1 2.0.0 node_modules/dog tap-testdir-outdated-should-display-outdated-deps
+theta MISSING 1.0.1 1.0.1 - tap-testdir-outdated-should-display-outdated-deps
`
exports[`test/lib/outdated.js TAP should display outdated deps outdated --omit=dev > must match snapshot 1`] = `
-Package Current Wanted Latest Location Depended by
-alpha 1.0.0 1.0.1 1.0.1 node_modules/alpha tap-testdir-outdated-should-display-outdated-deps
-beta 1.0.0 1.0.1 1.0.1 node_modules/beta tap-testdir-outdated-should-display-outdated-deps
-gamma 1.0.1 1.0.1 2.0.0 node_modules/gamma tap-testdir-outdated-should-display-outdated-deps
-theta MISSING 1.0.1 1.0.1 - tap-testdir-outdated-should-display-outdated-deps
+Package Current Wanted Latest Location Depended by
+cat 1.0.0 1.0.1 1.0.1 node_modules/cat tap-testdir-outdated-should-display-outdated-deps
+chai 1.0.0 1.0.1 1.0.1 node_modules/chai tap-testdir-outdated-should-display-outdated-deps
+dog 1.0.1 1.0.1 2.0.0 node_modules/dog tap-testdir-outdated-should-display-outdated-deps
+theta MISSING 1.0.1 1.0.1 - tap-testdir-outdated-should-display-outdated-deps
`
exports[`test/lib/outdated.js TAP should display outdated deps outdated --omit=prod > must match snapshot 1`] = `
-Package Current Wanted Latest Location Depended by
-alpha 1.0.0 1.0.1 1.0.1 node_modules/alpha tap-testdir-outdated-should-display-outdated-deps
-beta 1.0.0 1.0.1 1.0.1 node_modules/beta tap-testdir-outdated-should-display-outdated-deps
-gamma 1.0.1 1.0.1 2.0.0 node_modules/gamma tap-testdir-outdated-should-display-outdated-deps
+Package Current Wanted Latest Location Depended by
+cat 1.0.0 1.0.1 1.0.1 node_modules/cat tap-testdir-outdated-should-display-outdated-deps
+chai 1.0.0 1.0.1 1.0.1 node_modules/chai tap-testdir-outdated-should-display-outdated-deps
+dog 1.0.1 1.0.1 2.0.0 node_modules/dog tap-testdir-outdated-should-display-outdated-deps
`
exports[`test/lib/outdated.js TAP should display outdated deps outdated --parseable --long > must match snapshot 1`] = `
-{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/alpha:alpha@1.0.1:alpha@1.0.0:alpha@1.0.1:tap-testdir-outdated-should-display-outdated-deps:dependencies:
-{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/beta:beta@1.0.1:beta@1.0.0:beta@1.0.1:tap-testdir-outdated-should-display-outdated-deps:peerDependencies:
-{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/gamma:gamma@1.0.1:gamma@1.0.1:gamma@2.0.0:tap-testdir-outdated-should-display-outdated-deps:dependencies:
+{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/cat:cat@1.0.1:cat@1.0.0:cat@1.0.1:tap-testdir-outdated-should-display-outdated-deps:dependencies:
+{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/chai:chai@1.0.1:chai@1.0.0:chai@1.0.1:tap-testdir-outdated-should-display-outdated-deps:peerDependencies:
+{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/dog:dog@1.0.1:dog@1.0.1:dog@2.0.0:tap-testdir-outdated-should-display-outdated-deps:dependencies:
:theta@1.0.1:MISSING:theta@1.0.1:tap-testdir-outdated-should-display-outdated-deps:dependencies:
`
exports[`test/lib/outdated.js TAP should display outdated deps outdated --parseable > must match snapshot 1`] = `
-{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/alpha:alpha@1.0.1:alpha@1.0.0:alpha@1.0.1:tap-testdir-outdated-should-display-outdated-deps
-{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/beta:beta@1.0.1:beta@1.0.0:beta@1.0.1:tap-testdir-outdated-should-display-outdated-deps
-{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/gamma:gamma@1.0.1:gamma@1.0.1:gamma@2.0.0:tap-testdir-outdated-should-display-outdated-deps
+{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/cat:cat@1.0.1:cat@1.0.0:cat@1.0.1:tap-testdir-outdated-should-display-outdated-deps
+{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/chai:chai@1.0.1:chai@1.0.0:chai@1.0.1:tap-testdir-outdated-should-display-outdated-deps
+{CWD}/test/lib/tap-testdir-outdated-should-display-outdated-deps/node_modules/dog:dog@1.0.1:dog@1.0.1:dog@2.0.0:tap-testdir-outdated-should-display-outdated-deps
:theta@1.0.1:MISSING:theta@1.0.1:tap-testdir-outdated-should-display-outdated-deps
`
exports[`test/lib/outdated.js TAP should display outdated deps outdated > must match snapshot 1`] = `
-Package Current Wanted Latest Location Depended by
-alpha 1.0.0 1.0.1 1.0.1 node_modules/alpha tap-testdir-outdated-should-display-outdated-deps
-beta 1.0.0 1.0.1 1.0.1 node_modules/beta tap-testdir-outdated-should-display-outdated-deps
-gamma 1.0.1 1.0.1 2.0.0 node_modules/gamma tap-testdir-outdated-should-display-outdated-deps
-theta MISSING 1.0.1 1.0.1 - tap-testdir-outdated-should-display-outdated-deps
+Package Current Wanted Latest Location Depended by
+cat 1.0.0 1.0.1 1.0.1 node_modules/cat tap-testdir-outdated-should-display-outdated-deps
+chai 1.0.0 1.0.1 1.0.1 node_modules/chai tap-testdir-outdated-should-display-outdated-deps
+dog 1.0.1 1.0.1 2.0.0 node_modules/dog tap-testdir-outdated-should-display-outdated-deps
+theta MISSING 1.0.1 1.0.1 - tap-testdir-outdated-should-display-outdated-deps
`
exports[`test/lib/outdated.js TAP should display outdated deps outdated global > must match snapshot 1`] = `
-Package Current Wanted Latest Location Depended by
-alpha 1.0.0 1.0.1 1.0.1 node_modules/alpha global
+Package Current Wanted Latest Location Depended by
+cat 1.0.0 1.0.1 1.0.1 node_modules/cat global
`
exports[`test/lib/outdated.js TAP should display outdated deps outdated specific dep > must match snapshot 1`] = `
-Package Current Wanted Latest Location Depended by
-alpha 1.0.0 1.0.1 1.0.1 node_modules/alpha tap-testdir-outdated-should-display-outdated-deps
+Package Current Wanted Latest Location Depended by
+cat 1.0.0 1.0.1 1.0.1 node_modules/cat tap-testdir-outdated-should-display-outdated-deps
`
diff --git a/deps/npm/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs b/deps/npm/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs
index d6761ea30c7..53aef86f79d 100644
--- a/deps/npm/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs
+++ b/deps/npm/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs
@@ -1132,7 +1132,8 @@ Show short usage output about the command specified.
#### \`user-agent\`
-* Default: "npm/{npm-version} node/{node-version} {platform} {arch} {ci}"
+* Default: "npm/{npm-version} node/{node-version} {platform} {arch}
+ workspaces/{workspaces} {ci}"
* Type: String
Sets the User-Agent request header. The following fields are replaced with
@@ -1142,6 +1143,8 @@ their actual counterparts:
* \`{node-version}\` - The Node.js version in use
* \`{platform}\` - The value of \`process.platform\`
* \`{arch}\` - The value of \`process.arch\`
+* \`{workspaces}\` - Set to \`true\` if the \`workspaces\` or \`workspace\` options
+ are set.
* \`{ci}\` - The value of the \`ci-name\` config, if set, prefixed with \`ci/\`, or
an empty string if \`ci-name\` is empty.
diff --git a/deps/npm/tap-snapshots/test/lib/utils/tar.js.test.cjs b/deps/npm/tap-snapshots/test/lib/utils/tar.js.test.cjs
index e117b38def9..af0b1454b26 100644
--- a/deps/npm/tap-snapshots/test/lib/utils/tar.js.test.cjs
+++ b/deps/npm/tap-snapshots/test/lib/utils/tar.js.test.cjs
@@ -11,6 +11,9 @@ exports[`test/lib/utils/tar.js TAP should log tarball contents > must match snap
package: my-cool-pkg@1.0.0
=== Tarball Contents ===
+4B cat
+4B chai
+4B dog
97B package.json
=== Bundled Dependencies ===
@@ -20,14 +23,14 @@ bundle-dep
name: my-cool-pkg
version: 1.0.0
filename: my-cool-pkg-1.0.0.tgz
-package size: 216 B
-unpacked size: 101 B
-shasum: a604258e06adecec0b18f48e901c5802f19f7dab
-integrity: sha512-fnN6NmI8DerTt[...]6rH17jx7OIFig==
+package size: 274 B
+unpacked size: 113 B
+shasum: cd0dfccff77dff944eb761854bc0b0497d974f67
+integrity: sha512-qeFip1jH05vkW[...]zHSdMdPpYogMA==
bundled deps: 1
bundled files: 0
-own files: 2
-total files: 2
+own files: 5
+total files: 5
`
diff --git a/deps/npm/tap-snapshots/test/lib/view.js.test.cjs b/deps/npm/tap-snapshots/test/lib/view.js.test.cjs
index 1cdf356356a..9aafe50e418 100644
--- a/deps/npm/tap-snapshots/test/lib/view.js.test.cjs
+++ b/deps/npm/tap-snapshots/test/lib/view.js.test.cjs
@@ -80,7 +80,7 @@ dist
.unpackedSize:1 B
dist-tags:
-
+latest: 1.0.0
published a year ago
`
@@ -97,18 +97,50 @@ dist
.unpackedSize:1 B
dist-tags:
-
+latest: 1.0.0
published a year ago
`
+exports[`test/lib/view.js TAP should log package info package from git > must match snapshot 1`] = `
+
+
+green@1.0.0 | ACME | deps: 2 | versions: 2
+green is a very important color
+
+DEPRECATED!! - true
+
+keywords:colors, green, crayola
+
+bin:green
+
+dist
+.tarball:http://hm.green.com/1.0.0.tgz
+.shasum:123
+.integrity:---
+.unpackedSize:1 B
+
+dependencies:
+red: 1.0.0
+yellow: 1.0.0
+
+maintainers:
+-claudia <c@yellow.com>
+-isaacs <i@yellow.com>
+
+dist-tags:
+latest: 1.0.0
+`
+
exports[`test/lib/view.js TAP should log package info package with --json and semver range > must match snapshot 1`] = `
[
{
"_npmUser": "claudia <claudia@cyan.com>",
"name": "cyan",
- "dist-tags": {},
+ "dist-tags": {
+ "latest": "1.0.0"
+ },
"versions": [
"1.0.0",
"1.0.1"
@@ -125,7 +157,9 @@ exports[`test/lib/view.js TAP should log package info package with --json and se
{
"_npmUser": "claudia <claudia@cyan.com>",
"name": "cyan",
- "dist-tags": {},
+ "dist-tags": {
+ "latest": "1.0.0"
+ },
"versions": [
"1.0.0",
"1.0.1"
@@ -249,7 +283,7 @@ dist
.unpackedSize:1 B
dist-tags:
-
+latest: 1.0.0
published by claudia <claudia@cyan.com>
`
@@ -266,7 +300,7 @@ dist
.unpackedSize:1 B
dist-tags:
-
+latest: 1.0.0
published a year ago
`
diff --git a/deps/npm/test/fixtures/mock-npm.js b/deps/npm/test/fixtures/mock-npm.js
index 01f482bde29..aa8d44020ee 100644
--- a/deps/npm/test/fixtures/mock-npm.js
+++ b/deps/npm/test/fixtures/mock-npm.js
@@ -2,6 +2,8 @@
// npm.config You still need a separate flatOptions but this is the first step
// to eventually just using npm itself
+const realConfig = require('../../lib/utils/config')
+
const mockLog = {
clearProgress: () => {},
disableProgress: () => {},
@@ -25,10 +27,10 @@ const mockNpm = (base = {}) => {
config: {
// for now just set `find` to what config.find should return
// this works cause `find` is not an existing config entry
- find: (k) => config[k],
- get: (k) => config[k],
+ find: (k) => ({...realConfig.defaults, ...config})[k],
+ get: (k) => ({...realConfig.defaults, ...config})[k],
set: (k, v) => config[k] = v,
- list: [config]
+ list: [{ ...realConfig.defaults, ...config}]
},
}
}
diff --git a/deps/npm/test/lib/cache.js b/deps/npm/test/lib/cache.js
index bbebae8894b..bad0ede89e1 100644
--- a/deps/npm/test/lib/cache.js
+++ b/deps/npm/test/lib/cache.js
@@ -134,20 +134,21 @@ t.test('cache add pkg only', t => {
})
})
-t.test('cache add pkg w/ spec modifier', t => {
+t.test('cache add multiple pkgs', t => {
t.teardown(() => {
logOutput = []
tarballStreamSpec = ''
tarballStreamOpts = {}
})
- cache.exec(['add', 'mypkg', 'latest'], err => {
+ cache.exec(['add', 'mypkg', 'anotherpkg'], err => {
t.error(err)
t.strictSame(logOutput, [
- ['silly', 'cache add', 'args', ['mypkg', 'latest']],
- ['silly', 'cache add', 'spec', 'mypkg@latest'],
+ ['silly', 'cache add', 'args', ['mypkg', 'anotherpkg']],
+ ['silly', 'cache add', 'spec', 'mypkg'],
+ ['silly', 'cache add', 'spec', 'anotherpkg'],
], 'logs correctly')
- t.equal(tarballStreamSpec, 'mypkg@latest', 'passes the correct spec to pacote')
+ t.equal(tarballStreamSpec, 'anotherpkg', 'passes the correct spec to pacote')
t.same(tarballStreamOpts, npm.flatOptions, 'passes the correct options to pacote')
t.end()
})
diff --git a/deps/npm/test/lib/config.js b/deps/npm/test/lib/config.js
index 155ad0bcfb1..6c04293137a 100644
--- a/deps/npm/test/lib/config.js
+++ b/deps/npm/test/lib/config.js
@@ -49,6 +49,9 @@ const cliConfig = {
json: false,
long: false,
global: false,
+ cat: true,
+ chai: true,
+ dog: true,
}
const npm = {
@@ -197,6 +200,9 @@ t.test('config list --json', t => {
json: true,
long: false,
global: false,
+ cat: true,
+ chai: true,
+ dog: true,
},
'should list configs usin json'
)
diff --git a/deps/npm/test/lib/dist-tag.js b/deps/npm/test/lib/dist-tag.js
index 701bdc6e48c..6bc17168cdc 100644
--- a/deps/npm/test/lib/dist-tag.js
+++ b/deps/npm/test/lib/dist-tag.js
@@ -68,10 +68,9 @@ const DistTag = t.mock('../../lib/dist-tag.js', {
},
})
+const config = {}
const npm = mockNpm({
- config: {
- global: false,
- },
+ config,
output: msg => {
result = result ? [result, msg].join('\n') : msg
},
@@ -349,6 +348,10 @@ t.test('add using valid semver range as name', (t) => {
t.test('add missing args', (t) => {
npm.prefix = t.testdir({})
+ config.tag = ''
+ t.teardown(() => {
+ delete config.tag
+ })
distTag.exec(['add', '@scoped/another@7.7.7'], (err) => {
t.matchSnapshot(err, 'should exit usage error message')
t.end()
diff --git a/deps/npm/test/lib/exec.js b/deps/npm/test/lib/exec.js
index 5ecc7327487..33e30e24f84 100644
--- a/deps/npm/test/lib/exec.js
+++ b/deps/npm/test/lib/exec.js
@@ -121,11 +121,15 @@ t.afterEach(() => {
t.test('npx foo, bin already exists locally', t => {
const path = t.testdir({
- foo: 'just some file',
+ node_modules: {
+ '.bin': {
+ foo: 'just some file',
+ },
+ },
})
PROGRESS_IGNORED = true
- npm.localBin = path
+ npm.localBin = resolve(path, 'node_modules', '.bin')
exec.exec(['foo', 'one arg', 'two arg'], er => {
t.error(er, 'npm exec')
@@ -137,7 +141,7 @@ t.test('npx foo, bin already exists locally', t => {
stdioString: true,
event: 'npx',
env: {
- PATH: [path, ...PATH].join(delimiter),
+ PATH: [npm.localBin, ...PATH].join(delimiter),
},
stdio: 'inherit',
}])
@@ -147,11 +151,15 @@ t.test('npx foo, bin already exists locally', t => {
t.test('npx foo, bin already exists globally', t => {
const path = t.testdir({
- foo: 'just some file',
+ node_modules: {
+ '.bin': {
+ foo: 'just some file',
+ },
+ },
})
PROGRESS_IGNORED = true
- npm.globalBin = path
+ npm.globalBin = resolve(path, 'node_modules', '.bin')
exec.exec(['foo', 'one arg', 'two arg'], er => {
t.error(er, 'npm exec')
@@ -163,7 +171,7 @@ t.test('npx foo, bin already exists globally', t => {
stdioString: true,
event: 'npx',
env: {
- PATH: [path, ...PATH].join(delimiter),
+ PATH: [npm.globalBin, ...PATH].join(delimiter),
},
stdio: 'inherit',
}])
@@ -593,7 +601,7 @@ t.test('run command with 2 packages, need install, verify sort', t => {
for (const packages of cases) {
t.test(packages.join(', '), t => {
config.package = packages
- const add = packages.map(p => `${p}@`).sort((a, b) => a.localeCompare(b))
+ const add = packages.map(p => `${p}@`).sort((a, b) => a.localeCompare(b, 'en'))
const path = t.testdir()
const installDir = resolve('cache-dir/_npx/07de77790e5f40f2')
npm.localPrefix = path
@@ -748,7 +756,7 @@ t.test('prompt when installs are needed if not already present and shell is a TT
config.package = packages
config.yes = undefined
- const add = packages.map(p => `${p}@`).sort((a, b) => a.localeCompare(b))
+ const add = packages.map(p => `${p}@`).sort((a, b) => a.localeCompare(b, 'en'))
const path = t.testdir()
const installDir = resolve('cache-dir/_npx/07de77790e5f40f2')
npm.localPrefix = path
@@ -817,7 +825,7 @@ t.test('skip prompt when installs are needed if not already present and shell is
config.package = packages
config.yes = undefined
- const add = packages.map(p => `${p}@`).sort((a, b) => a.localeCompare(b))
+ const add = packages.map(p => `${p}@`).sort((a, b) => a.localeCompare(b, 'en'))
const path = t.testdir()
const installDir = resolve('cache-dir/_npx/07de77790e5f40f2')
npm.localPrefix = path
@@ -884,7 +892,7 @@ t.test('skip prompt when installs are needed if not already present and shell is
config.package = packages
config.yes = undefined
- const add = packages.map(p => `${p}@`).sort((a, b) => a.localeCompare(b))
+ const add = packages.map(p => `${p}@`).sort((a, b) => a.localeCompare(b, 'en'))
const path = t.testdir()
const installDir = resolve('cache-dir/_npx/f7fbba6e0636f890')
npm.localPrefix = path
diff --git a/deps/npm/test/lib/link.js b/deps/npm/test/lib/link.js
index 34c533fb72c..d3e66185280 100644
--- a/deps/npm/test/lib/link.js
+++ b/deps/npm/test/lib/link.js
@@ -27,7 +27,7 @@ const printLinks = async (opts) => {
const arb = new Arborist(opts)
const tree = await arb.loadActual()
const linkedItems = [...tree.inventory.values()]
- .sort((a, b) => a.pkgid.localeCompare(b.pkgid))
+ .sort((a, b) => a.pkgid.localeCompare(b.pkgid, 'en'))
for (const item of linkedItems) {
if (item.target)
res += `${item.path} -> ${item.target.path}\n`
diff --git a/deps/npm/test/lib/load-all-commands.js b/deps/npm/test/lib/load-all-commands.js
index 8267cd5437e..935019756e2 100644
--- a/deps/npm/test/lib/load-all-commands.js
+++ b/deps/npm/test/lib/load-all-commands.js
@@ -15,7 +15,7 @@ t.test('load each command', t => {
npm.load((er) => {
t.notOk(er)
npm.config.set('usage', true)
- for (const cmd of cmdList.sort((a, b) => a.localeCompare(b))) {
+ for (const cmd of cmdList.sort((a, b) => a.localeCompare(b, 'en'))) {
t.test(cmd, t => {
const impl = npm.commands[cmd]
if (impl.completion)
diff --git a/deps/npm/test/lib/ls.js b/deps/npm/test/lib/ls.js
index 6eeaf0ad671..276a06180f6 100644
--- a/deps/npm/test/lib/ls.js
+++ b/deps/npm/test/lib/ls.js
@@ -21,19 +21,19 @@ const simpleNmFixture = {
name: 'foo',
version: '1.0.0',
dependencies: {
- bar: '^1.0.0',
+ dog: '^1.0.0',
},
}),
},
- bar: {
+ dog: {
'package.json': JSON.stringify({
- name: 'bar',
+ name: 'dog',
version: '1.0.0',
}),
},
- lorem: {
+ chai: {
'package.json': JSON.stringify({
- name: 'lorem',
+ name: 'chai',
version: '1.0.0',
}),
},
@@ -58,13 +58,13 @@ const diffDepTypesNmFixture = {
description: 'A PROD dep kind of dep',
version: '1.0.0',
dependencies: {
- bar: '^2.0.0',
+ dog: '^2.0.0',
},
}),
node_modules: {
- bar: {
+ dog: {
'package.json': JSON.stringify({
- name: 'bar',
+ name: 'dog',
description: 'A dep that bars',
version: '2.0.0',
}),
@@ -132,7 +132,7 @@ t.test('ls', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
@@ -181,12 +181,12 @@ t.test('ls', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
})
- ls.exec(['lorem'], (err) => {
+ ls.exec(['chai'], (err) => {
t.error(err, 'npm ls')
t.matchSnapshot(redactCwd(result), 'should output tree contaning only occurrences of filtered by package and colored output')
npm.color = false
@@ -224,12 +224,12 @@ t.test('ls', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
})
- ls.exec(['bar'], (err) => {
+ ls.exec(['dog'], (err) => {
t.error(err, 'npm ls')
t.matchSnapshot(redactCwd(result), 'should output tree contaning only occurrences of filtered package and its ancestors')
t.end()
@@ -243,7 +243,7 @@ t.test('ls', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
ipsum: '^1.0.0',
},
}),
@@ -257,7 +257,7 @@ t.test('ls', (t) => {
},
},
})
- ls.exec(['bar@*', 'lorem@1.0.0'], (err) => {
+ ls.exec(['dog@*', 'chai@1.0.0'], (err) => {
t.error(err, 'npm ls')
t.matchSnapshot(redactCwd(result), 'should output tree contaning only occurrences of multiple filtered packages and their ancestors')
t.end()
@@ -271,7 +271,7 @@ t.test('ls', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
@@ -298,7 +298,7 @@ t.test('ls', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
@@ -321,7 +321,7 @@ t.test('ls', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
@@ -412,9 +412,9 @@ t.test('ls', (t) => {
t.equal(err.code, 'ELSPROBLEMS', 'should have error code')
t.equal(
redactCwd(err.message).replace(/\r\n/g, '\n'),
+ 'extraneous: chai@1.0.0 {CWD}/tap-testdir-ls-ls-missing-invalid-extraneous/node_modules/chai\n' +
'invalid: foo@1.0.0 {CWD}/tap-testdir-ls-ls-missing-invalid-extraneous/node_modules/foo\n' +
- 'missing: ipsum@^1.0.0, required by test-npm-ls@1.0.0\n' +
- 'extraneous: lorem@1.0.0 {CWD}/tap-testdir-ls-ls-missing-invalid-extraneous/node_modules/lorem',
+ 'missing: ipsum@^1.0.0, required by test-npm-ls@1.0.0',
'should log missing/invalid/extraneous errors'
)
t.matchSnapshot(redactCwd(result), 'should output tree containing missing, invalid, extraneous labels')
@@ -451,7 +451,7 @@ t.test('ls', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -480,7 +480,7 @@ t.test('ls', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -509,7 +509,7 @@ t.test('ls', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
'linked-dep': '^1.0.0',
},
devDependencies: {
@@ -584,7 +584,7 @@ t.test('ls', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -613,7 +613,7 @@ t.test('ls', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -642,7 +642,7 @@ t.test('ls', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -673,7 +673,7 @@ t.test('ls', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -723,7 +723,7 @@ t.test('ls', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -835,7 +835,7 @@ t.test('ls', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -1243,7 +1243,7 @@ t.test('ls', (t) => {
dependencies: {
a: {
version: '1.0.1',
- resolved: 'foo@bar://b8f3a2fc0c3bb8ffd8b0d0072cc6b5a3667e963c',
+ resolved: 'foo@dog://b8f3a2fc0c3bb8ffd8b0d0072cc6b5a3667e963c',
integrity: 'sha512-8AN9lNCcBt5Xeje7fMEEpp5K3rgcAzIpTtAjYb/YMUYu8SbIVF6wz0WqACDVKvpQOUcSfNHZQNLNmue0QSwXOQ==',
},
},
@@ -1544,7 +1544,7 @@ t.test('ls --parseable', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
@@ -1592,12 +1592,12 @@ t.test('ls --parseable', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
})
- ls.exec(['lorem'], (err) => {
+ ls.exec(['chai'], (err) => {
t.error(err, 'npm ls')
t.matchSnapshot(redactCwd(result), 'should output parseable contaning only occurrences of filtered by package')
t.end()
@@ -1611,12 +1611,12 @@ t.test('ls --parseable', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
})
- ls.exec(['bar'], (err) => {
+ ls.exec(['dog'], (err) => {
t.error(err, 'npm ls')
t.matchSnapshot(redactCwd(result), 'should output parseable contaning only occurrences of filtered package')
t.end()
@@ -1630,7 +1630,7 @@ t.test('ls --parseable', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
ipsum: '^1.0.0',
},
}),
@@ -1644,7 +1644,7 @@ t.test('ls --parseable', (t) => {
},
},
})
- ls.exec(['bar@*', 'lorem@1.0.0'], (err) => {
+ ls.exec(['dog@*', 'chai@1.0.0'], (err) => {
t.error(err, 'npm ls')
t.matchSnapshot(redactCwd(result), 'should output parseable contaning only occurrences of multiple filtered packages and their ancestors')
t.end()
@@ -1658,7 +1658,7 @@ t.test('ls --parseable', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
@@ -1685,7 +1685,7 @@ t.test('ls --parseable', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
@@ -1708,7 +1708,7 @@ t.test('ls --parseable', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
@@ -1731,7 +1731,7 @@ t.test('ls --parseable', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
@@ -1772,7 +1772,7 @@ t.test('ls --parseable', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -1801,7 +1801,7 @@ t.test('ls --parseable', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -1830,7 +1830,7 @@ t.test('ls --parseable', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
'linked-dep': '^1.0.0',
},
devDependencies: {
@@ -1869,7 +1869,7 @@ t.test('ls --parseable', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -1898,7 +1898,7 @@ t.test('ls --parseable', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -1927,7 +1927,7 @@ t.test('ls --parseable', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -1995,7 +1995,7 @@ t.test('ls --parseable', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
'linked-dep': '^1.0.0',
},
devDependencies: {
@@ -2037,7 +2037,7 @@ t.test('ls --parseable', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -2087,7 +2087,7 @@ t.test('ls --parseable', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -2114,7 +2114,7 @@ t.test('ls --parseable', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -2463,7 +2463,7 @@ t.test('ls --json', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
@@ -2479,12 +2479,12 @@ t.test('ls --json', (t) => {
foo: {
version: '1.0.0',
dependencies: {
- bar: {
+ dog: {
version: '1.0.0',
},
},
},
- lorem: {
+ chai: {
version: '1.0.0',
},
},
@@ -2505,16 +2505,16 @@ t.test('ls --json', (t) => {
jsonParse(result),
{
problems: [
- 'extraneous: bar@1.0.0 {CWD}/tap-testdir-ls-ls---json-missing-package.json/node_modules/bar',
+ 'extraneous: chai@1.0.0 {CWD}/tap-testdir-ls-ls---json-missing-package.json/node_modules/chai',
+ 'extraneous: dog@1.0.0 {CWD}/tap-testdir-ls-ls---json-missing-package.json/node_modules/dog',
'extraneous: foo@1.0.0 {CWD}/tap-testdir-ls-ls---json-missing-package.json/node_modules/foo',
- 'extraneous: lorem@1.0.0 {CWD}/tap-testdir-ls-ls---json-missing-package.json/node_modules/lorem',
],
dependencies: {
- bar: {
+ dog: {
version: '1.0.0',
extraneous: true,
problems: [
- 'extraneous: bar@1.0.0 {CWD}/tap-testdir-ls-ls---json-missing-package.json/node_modules/bar',
+ 'extraneous: dog@1.0.0 {CWD}/tap-testdir-ls-ls---json-missing-package.json/node_modules/dog',
],
},
foo: {
@@ -2524,16 +2524,16 @@ t.test('ls --json', (t) => {
'extraneous: foo@1.0.0 {CWD}/tap-testdir-ls-ls---json-missing-package.json/node_modules/foo',
],
dependencies: {
- bar: {
+ dog: {
version: '1.0.0',
},
},
},
- lorem: {
+ chai: {
version: '1.0.0',
extraneous: true,
problems: [
- 'extraneous: lorem@1.0.0 {CWD}/tap-testdir-ls-ls---json-missing-package.json/node_modules/lorem',
+ 'extraneous: chai@1.0.0 {CWD}/tap-testdir-ls-ls---json-missing-package.json/node_modules/chai',
],
},
},
@@ -2563,22 +2563,22 @@ t.test('ls --json', (t) => {
name: 'test-npm-ls',
version: '1.0.0',
problems: [
- 'extraneous: lorem@1.0.0 {CWD}/tap-testdir-ls-ls---json-extraneous-deps/node_modules/lorem',
+ 'extraneous: chai@1.0.0 {CWD}/tap-testdir-ls-ls---json-extraneous-deps/node_modules/chai',
],
dependencies: {
foo: {
version: '1.0.0',
dependencies: {
- bar: {
+ dog: {
version: '1.0.0',
},
},
},
- lorem: {
+ chai: {
version: '1.0.0',
extraneous: true,
problems: [
- 'extraneous: lorem@1.0.0 {CWD}/tap-testdir-ls-ls---json-extraneous-deps/node_modules/lorem',
+ 'extraneous: chai@1.0.0 {CWD}/tap-testdir-ls-ls---json-extraneous-deps/node_modules/chai',
],
},
},
@@ -2597,8 +2597,8 @@ t.test('ls --json', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- bar: '^1.0.0',
- lorem: '^1.0.0',
+ dog: '^1.0.0',
+ chai: '^1.0.0',
ipsum: '^1.0.0',
},
}),
@@ -2638,12 +2638,12 @@ t.test('ls --json', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
})
- ls.exec(['lorem'], (err) => {
+ ls.exec(['chai'], (err) => {
t.error(err, 'npm ls')
t.same(
jsonParse(result),
@@ -2651,7 +2651,7 @@ t.test('ls --json', (t) => {
name: 'test-npm-ls',
version: '1.0.0',
dependencies: {
- lorem: {
+ chai: {
version: '1.0.0',
},
},
@@ -2674,12 +2674,12 @@ t.test('ls --json', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
})
- ls.exec(['bar'], (err) => {
+ ls.exec(['dog'], (err) => {
t.error(err, 'npm ls')
t.same(
jsonParse(result),
@@ -2690,7 +2690,7 @@ t.test('ls --json', (t) => {
foo: {
version: '1.0.0',
dependencies: {
- bar: {
+ dog: {
version: '1.0.0',
},
},
@@ -2710,7 +2710,7 @@ t.test('ls --json', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
ipsum: '^1.0.0',
},
}),
@@ -2724,7 +2724,7 @@ t.test('ls --json', (t) => {
},
},
})
- ls.exec(['bar@*', 'lorem@1.0.0'], (err) => {
+ ls.exec(['dog@*', 'chai@1.0.0'], (err) => {
t.error(err, 'npm ls')
t.same(
jsonParse(result),
@@ -2735,12 +2735,12 @@ t.test('ls --json', (t) => {
foo: {
version: '1.0.0',
dependencies: {
- bar: {
+ dog: {
version: '1.0.0',
},
},
},
- lorem: {
+ chai: {
version: '1.0.0',
},
},
@@ -2758,7 +2758,7 @@ t.test('ls --json', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
@@ -2792,7 +2792,7 @@ t.test('ls --json', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
@@ -2808,7 +2808,7 @@ t.test('ls --json', (t) => {
foo: {
version: '1.0.0',
},
- lorem: {
+ chai: {
version: '1.0.0',
},
},
@@ -2830,7 +2830,7 @@ t.test('ls --json', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
@@ -2846,7 +2846,7 @@ t.test('ls --json', (t) => {
foo: {
version: '1.0.0',
},
- lorem: {
+ chai: {
version: '1.0.0',
},
},
@@ -2868,7 +2868,7 @@ t.test('ls --json', (t) => {
version: '1.0.0',
dependencies: {
foo: '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
}),
...simpleNmFixture,
@@ -2884,12 +2884,12 @@ t.test('ls --json', (t) => {
foo: {
version: '1.0.0',
dependencies: {
- bar: {
+ dog: {
version: '1.0.0',
},
},
},
- lorem: {
+ chai: {
version: '1.0.0',
},
},
@@ -2922,9 +2922,9 @@ t.test('ls --json', (t) => {
name: 'test-npm-ls',
version: '1.0.0',
problems: [
+ 'extraneous: chai@1.0.0 {CWD}/tap-testdir-ls-ls---json-missing-invalid-extraneous/node_modules/chai',
'invalid: foo@1.0.0 {CWD}/tap-testdir-ls-ls---json-missing-invalid-extraneous/node_modules/foo',
'missing: ipsum@^1.0.0, required by test-npm-ls@1.0.0',
- 'extraneous: lorem@1.0.0 {CWD}/tap-testdir-ls-ls---json-missing-invalid-extraneous/node_modules/lorem',
],
dependencies: {
foo: {
@@ -2934,16 +2934,16 @@ t.test('ls --json', (t) => {
'invalid: foo@1.0.0 {CWD}/tap-testdir-ls-ls---json-missing-invalid-extraneous/node_modules/foo',
],
dependencies: {
- bar: {
+ dog: {
version: '1.0.0',
},
},
},
- lorem: {
+ chai: {
version: '1.0.0',
extraneous: true,
problems: [
- 'extraneous: lorem@1.0.0 {CWD}/tap-testdir-ls-ls---json-missing-invalid-extraneous/node_modules/lorem',
+ 'extraneous: chai@1.0.0 {CWD}/tap-testdir-ls-ls---json-missing-invalid-extraneous/node_modules/chai',
],
},
ipsum: {
@@ -2969,7 +2969,7 @@ t.test('ls --json', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -2995,7 +2995,7 @@ t.test('ls --json', (t) => {
dependencies: {
foo: {
version: '1.0.0',
- dependencies: { bar: { version: '1.0.0' } },
+ dependencies: { dog: { version: '1.0.0' } },
},
},
},
@@ -3016,7 +3016,7 @@ t.test('ls --json', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -3042,7 +3042,7 @@ t.test('ls --json', (t) => {
dependencies: {
foo: {
version: '1.0.0',
- dependencies: { bar: { version: '1.0.0' } },
+ dependencies: { dog: { version: '1.0.0' } },
},
},
},
@@ -3063,7 +3063,7 @@ t.test('ls --json', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
'linked-dep': '^1.0.0',
},
devDependencies: {
@@ -3115,7 +3115,7 @@ t.test('ls --json', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -3136,9 +3136,9 @@ t.test('ls --json', (t) => {
name: 'test-npm-ls',
version: '1.0.0',
dependencies: {
- lorem: { version: '1.0.0' },
+ chai: { version: '1.0.0' },
'optional-dep': { version: '1.0.0' },
- 'prod-dep': { version: '1.0.0', dependencies: { bar: { version: '2.0.0' } } },
+ 'prod-dep': { version: '1.0.0', dependencies: { dog: { version: '2.0.0' } } },
},
},
'should output json containing production deps'
@@ -3156,7 +3156,7 @@ t.test('ls --json', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -3177,9 +3177,9 @@ t.test('ls --json', (t) => {
name: 'test-npm-ls',
version: '1.0.0',
dependencies: {
- lorem: { version: '1.0.0' },
+ chai: { version: '1.0.0' },
'optional-dep': { version: '1.0.0' },
- 'prod-dep': { version: '1.0.0', dependencies: { bar: { version: '2.0.0' } } },
+ 'prod-dep': { version: '1.0.0', dependencies: { dog: { version: '2.0.0' } } },
},
},
'should output json containing only prod deps'
@@ -3326,7 +3326,7 @@ t.test('ls --json', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -3367,21 +3367,21 @@ t.test('ls --json', (t) => {
name: 'foo',
version: '1.0.0',
dependencies: {
- bar: {
- name: 'bar',
+ dog: {
+ name: 'dog',
version: '1.0.0',
- _id: 'bar@1.0.0',
+ _id: 'dog@1.0.0',
devDependencies: {},
peerDependencies: {},
_dependencies: {},
- path: '{CWD}/tap-testdir-ls-ls---json---long/node_modules/bar',
+ path: '{CWD}/tap-testdir-ls-ls---json---long/node_modules/dog',
extraneous: false,
},
},
_id: 'foo@1.0.0',
devDependencies: {},
peerDependencies: {},
- _dependencies: { bar: '^1.0.0' },
+ _dependencies: { dog: '^1.0.0' },
path: '{CWD}/tap-testdir-ls-ls---json---long/node_modules/foo',
extraneous: false,
},
@@ -3393,14 +3393,14 @@ t.test('ls --json', (t) => {
path: '{CWD}/tap-testdir-ls-ls---json---long/node_modules/dev-dep',
extraneous: false,
},
- lorem: {
- name: 'lorem',
+ chai: {
+ name: 'chai',
version: '1.0.0',
- _id: 'lorem@1.0.0',
+ _id: 'chai@1.0.0',
devDependencies: {},
peerDependencies: {},
_dependencies: {},
- path: '{CWD}/tap-testdir-ls-ls---json---long/node_modules/lorem',
+ path: '{CWD}/tap-testdir-ls-ls---json---long/node_modules/chai',
extraneous: false,
},
'optional-dep': {
@@ -3419,22 +3419,22 @@ t.test('ls --json', (t) => {
description: 'A PROD dep kind of dep',
version: '1.0.0',
dependencies: {
- bar: {
- name: 'bar',
+ dog: {
+ name: 'dog',
description: 'A dep that bars',
version: '2.0.0',
- _id: 'bar@2.0.0',
+ _id: 'dog@2.0.0',
devDependencies: {},
peerDependencies: {},
_dependencies: {},
- path: '{CWD}/tap-testdir-ls-ls---json---long/node_modules/prod-dep/node_modules/bar',
+ path: '{CWD}/tap-testdir-ls-ls---json---long/node_modules/prod-dep/node_modules/dog',
extraneous: false,
},
},
_id: 'prod-dep@1.0.0',
devDependencies: {},
peerDependencies: {},
- _dependencies: { bar: '^2.0.0' },
+ _dependencies: { dog: '^2.0.0' },
path: '{CWD}/tap-testdir-ls-ls---json---long/node_modules/prod-dep',
extraneous: false,
},
@@ -3443,7 +3443,7 @@ t.test('ls --json', (t) => {
optionalDependencies: { 'optional-dep': '^1.0.0' },
peerDependencies: { 'peer-dep': '^1.0.0' },
_id: 'test-npm-ls@1.0.0',
- _dependencies: { 'prod-dep': '^1.0.0', lorem: '^1.0.0', 'optional-dep': '^1.0.0' },
+ _dependencies: { 'prod-dep': '^1.0.0', chai: '^1.0.0', 'optional-dep': '^1.0.0' },
path: '{CWD}/tap-testdir-ls-ls---json---long',
extraneous: false,
},
@@ -3464,7 +3464,7 @@ t.test('ls --json', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -3507,14 +3507,14 @@ t.test('ls --json', (t) => {
path: '{CWD}/tap-testdir-ls-ls---json---long---depth-0/node_modules/dev-dep',
extraneous: false,
},
- lorem: {
- name: 'lorem',
+ chai: {
+ name: 'chai',
version: '1.0.0',
- _id: 'lorem@1.0.0',
+ _id: 'chai@1.0.0',
devDependencies: {},
peerDependencies: {},
_dependencies: {},
- path: '{CWD}/tap-testdir-ls-ls---json---long---depth-0/node_modules/lorem',
+ path: '{CWD}/tap-testdir-ls-ls---json---long---depth-0/node_modules/chai',
extraneous: false,
},
'optional-dep': {
@@ -3535,7 +3535,7 @@ t.test('ls --json', (t) => {
_id: 'prod-dep@1.0.0',
devDependencies: {},
peerDependencies: {},
- _dependencies: { bar: '^2.0.0' },
+ _dependencies: { dog: '^2.0.0' },
path: '{CWD}/tap-testdir-ls-ls---json---long---depth-0/node_modules/prod-dep',
extraneous: false,
},
@@ -3544,7 +3544,7 @@ t.test('ls --json', (t) => {
optionalDependencies: { 'optional-dep': '^1.0.0' },
peerDependencies: { 'peer-dep': '^1.0.0' },
_id: 'test-npm-ls@1.0.0',
- _dependencies: { 'prod-dep': '^1.0.0', lorem: '^1.0.0', 'optional-dep': '^1.0.0' },
+ _dependencies: { 'prod-dep': '^1.0.0', chai: '^1.0.0', 'optional-dep': '^1.0.0' },
path: '{CWD}/tap-testdir-ls-ls---json---long---depth-0',
extraneous: false,
},
@@ -3598,7 +3598,7 @@ t.test('ls --json', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -3635,13 +3635,13 @@ t.test('ls --json', (t) => {
dependencies: {
foo: {
version: '1.0.0',
- dependencies: { bar: { version: '1.0.0' } },
+ dependencies: { dog: { version: '1.0.0' } },
},
},
},
- lorem: { version: '1.0.0' },
+ chai: { version: '1.0.0' },
'optional-dep': { version: '1.0.0' },
- 'prod-dep': { version: '1.0.0', dependencies: { bar: { version: '2.0.0' } } },
+ 'prod-dep': { version: '1.0.0', dependencies: { dog: { version: '2.0.0' } } },
},
},
'should output json signaling missing peer dep in problems'
@@ -3657,7 +3657,7 @@ t.test('ls --json', (t) => {
version: '1.0.0',
dependencies: {
'prod-dep': '^1.0.0',
- lorem: '^1.0.0',
+ chai: '^1.0.0',
},
devDependencies: {
'dev-dep': '^1.0.0',
@@ -3699,12 +3699,12 @@ t.test('ls --json', (t) => {
dependencies: {
foo: {
version: '1.0.0',
- dependencies: { bar: { version: '1.0.0' } },
+ dependencies: { dog: { version: '1.0.0' } },
},
},
},
- lorem: { version: '1.0.0' },
- 'prod-dep': { version: '1.0.0', dependencies: { bar: { version: '2.0.0' } } },
+ chai: { version: '1.0.0' },
+ 'prod-dep': { version: '1.0.0', dependencies: { dog: { version: '2.0.0' } } },
'missing-optional-dep': {}, // missing optional dep has an empty entry in json output
},
},
diff --git a/deps/npm/test/lib/outdated.js b/deps/npm/test/lib/outdated.js
index 605853056a0..f7d57282127 100644
--- a/deps/npm/test/lib/outdated.js
+++ b/deps/npm/test/lib/outdated.js
@@ -3,8 +3,8 @@ const mockNpm = require('../fixtures/mock-npm')
const packument = spec => {
const mocks = {
- alpha: {
- name: 'alpha',
+ cat: {
+ name: 'cat',
'dist-tags': {
latest: '1.0.1',
},
@@ -12,13 +12,13 @@ const packument = spec => {
'1.0.1': {
version: '1.0.1',
dependencies: {
- gamma: '2.0.0',
+ dog: '2.0.0',
},
},
},
},
- beta: {
- name: 'beta',
+ chai: {
+ name: 'chai',
'dist-tags': {
latest: '1.0.1',
},
@@ -28,8 +28,8 @@ const packument = spec => {
},
},
},
- gamma: {
- name: 'gamma',
+ dog: {
+ name: 'dog',
'dist-tags': {
latest: '2.0.0',
},
@@ -74,9 +74,9 @@ const output = (msg) => {
const globalDir = t.testdir({
node_modules: {
- alpha: {
+ cat: {
'package.json': JSON.stringify({
- name: 'alpha',
+ name: 'cat',
version: '1.0.0',
}, null, 2),
},
@@ -116,8 +116,8 @@ t.test('should display outdated deps', t => {
name: 'delta',
version: '1.0.0',
dependencies: {
- alpha: '^1.0.0',
- gamma: '^1.0.0',
+ cat: '^1.0.0',
+ dog: '^1.0.0',
theta: '^1.0.0',
},
devDependencies: {
@@ -127,36 +127,36 @@ t.test('should display outdated deps', t => {
lorem: '^1.0.0',
},
peerDependencies: {
- beta: '^1.0.0',
+ chai: '^1.0.0',
},
}, null, 2),
node_modules: {
- alpha: {
+ cat: {
'package.json': JSON.stringify({
- name: 'alpha',
+ name: 'cat',
version: '1.0.0',
dependencies: {
- gamma: '2.0.0',
+ dog: '2.0.0',
},
}, null, 2),
node_modules: {
- gamma: {
+ dog: {
'package.json': JSON.stringify({
- name: 'gamma',
+ name: 'dog',
version: '2.0.0',
}, null, 2),
},
},
},
- beta: {
+ chai: {
'package.json': JSON.stringify({
- name: 'beta',
+ name: 'chai',
version: '1.0.0',
}, null, 2),
},
- gamma: {
+ dog: {
'package.json': JSON.stringify({
- name: 'gamma',
+ name: 'dog',
version: '1.0.1',
}, null, 2),
},
@@ -307,7 +307,7 @@ t.test('should display outdated deps', t => {
config: {
global: false,
},
- }).exec(['alpha'], () => {
+ }).exec(['cat'], () => {
t.matchSnapshot(logs)
t.end()
})
@@ -322,13 +322,13 @@ t.test('should return if no outdated deps', t => {
name: 'delta',
version: '1.0.0',
dependencies: {
- alpha: '^1.0.0',
+ cat: '^1.0.0',
},
}, null, 2),
node_modules: {
- alpha: {
+ cat: {
'package.json': JSON.stringify({
- name: 'alpha',
+ name: 'cat',
version: '1.0.1',
}, null, 2),
},
@@ -376,7 +376,7 @@ t.test('should skip missing non-prod deps', t => {
name: 'delta',
version: '1.0.0',
devDependencies: {
- beta: '^1.0.0',
+ chai: '^1.0.0',
},
}, null, 2),
node_modules: {},
@@ -396,13 +396,13 @@ t.test('should skip invalid pkg ranges', t => {
name: 'delta',
version: '1.0.0',
dependencies: {
- alpha: '>=^2',
+ cat: '>=^2',
},
}, null, 2),
node_modules: {
- alpha: {
+ cat: {
'package.json': JSON.stringify({
- name: 'alpha',
+ name: 'cat',
version: '1.0.0',
}, null, 2),
},
@@ -421,13 +421,13 @@ t.test('should skip git specs', t => {
name: 'delta',
version: '1.0.0',
dependencies: {
- alpha: 'github:username/foo',
+ cat: 'github:username/foo',
},
}, null, 2),
node_modules: {
- alpha: {
+ cat: {
'package.json': JSON.stringify({
- name: 'alpha',
+ name: 'cat',
version: '1.0.0',
}, null, 2),
},
diff --git a/deps/npm/test/lib/utils/cleanup-log-files.js b/deps/npm/test/lib/utils/cleanup-log-files.js
index 61240b7b523..e97cf36b55d 100644
--- a/deps/npm/test/lib/utils/cleanup-log-files.js
+++ b/deps/npm/test/lib/utils/cleanup-log-files.js
@@ -71,7 +71,7 @@ t.test('rimraf fail', t => {
const warnings = []
const warn = (...warning) => warnings.push(basename(warning[2]))
return cleanup(cache, 3, warn).then(() => {
- t.strictSame(warnings.sort((a, b) => a.localeCompare(b)), [
+ t.strictSame(warnings.sort((a, b) => a.localeCompare(b, 'en')), [
'1-debug.log',
'2-debug.log',
])
diff --git a/deps/npm/test/lib/utils/completion/installed-deep.js b/deps/npm/test/lib/utils/completion/installed-deep.js
index ba14798bbec..21e77a568bd 100644
--- a/deps/npm/test/lib/utils/completion/installed-deep.js
+++ b/deps/npm/test/lib/utils/completion/installed-deep.js
@@ -63,6 +63,15 @@ const fixture = {
'package.json': JSON.stringify({
name: 'c',
version: '1.0.0',
+ dependencies: {
+ ch: '1.0.0',
+ },
+ }),
+ },
+ ch: {
+ 'package.json': JSON.stringify({
+ name: 'ch',
+ version: '1.0.0',
}),
},
d: {
@@ -160,8 +169,8 @@ t.test('get list of package names', async t => {
['foo', '-g'],
['a-bar', '-g'],
'a', 'b', 'c',
- 'd', 'e', 'f',
- 'g', 'bb',
+ 'ch', 'd', 'e',
+ 'f', 'g', 'bb',
],
'should return list of package names and global flag'
)
@@ -211,9 +220,9 @@ t.test('limit depth', async t => {
['bar', '-g'],
['foo', '-g'],
'a', 'b',
- 'c', 'd',
- 'e', 'f',
- 'g',
+ 'c', 'ch',
+ 'd', 'e',
+ 'f', 'g',
],
'should print only packages up to the specified depth'
)
diff --git a/deps/npm/test/lib/utils/config/definitions.js b/deps/npm/test/lib/utils/config/definitions.js
index f735223655f..49e41528837 100644
--- a/deps/npm/test/lib/utils/config/definitions.js
+++ b/deps/npm/test/lib/utils/config/definitions.js
@@ -729,7 +729,7 @@ t.test('user-agent', t => {
}
const flat = {}
const expectNoCI = `npm/1.2.3 node/9.8.7 ` +
- `${process.platform} ${process.arch}`
+ `${process.platform} ${process.arch} workspaces/false`
definitions['user-agent'].flatten('user-agent', obj, flat)
t.equal(flat.userAgent, expectNoCI)
t.equal(process.env.npm_config_user_agent, flat.userAgent, 'npm_user_config environment is set')
@@ -742,6 +742,23 @@ t.test('user-agent', t => {
t.equal(flat.userAgent, expectCI)
t.equal(process.env.npm_config_user_agent, flat.userAgent, 'npm_user_config environment is set')
t.equal(obj['user-agent'], flat.userAgent, 'config user-agent template is translated')
+
+ delete obj['ci-name']
+ obj.workspaces = true
+ obj['user-agent'] = definitions['user-agent'].default
+ const expectWorkspaces = expectNoCI.replace('workspaces/false', 'workspaces/true')
+ definitions['user-agent'].flatten('user-agent', obj, flat)
+ t.equal(flat.userAgent, expectWorkspaces)
+ t.equal(process.env.npm_config_user_agent, flat.userAgent, 'npm_user_config environment is set')
+ t.equal(obj['user-agent'], flat.userAgent, 'config user-agent template is translated')
+
+ delete obj.workspaces
+ obj.workspace = ['foo']
+ obj['user-agent'] = definitions['user-agent'].default
+ definitions['user-agent'].flatten('user-agent', obj, flat)
+ t.equal(flat.userAgent, expectWorkspaces)
+ t.equal(process.env.npm_config_user_agent, flat.userAgent, 'npm_user_config environment is set')
+ t.equal(obj['user-agent'], flat.userAgent, 'config user-agent template is translated')
t.end()
})
diff --git a/deps/npm/test/lib/utils/tar.js b/deps/npm/test/lib/utils/tar.js
index 5758442fcb6..2662d47ace4 100644
--- a/deps/npm/test/lib/utils/tar.js
+++ b/deps/npm/test/lib/utils/tar.js
@@ -26,6 +26,9 @@ t.test('should log tarball contents', async (t) => {
'bundle-dep',
],
}, null, 2),
+ cat: 'meow',
+ chai: 'blub',
+ dog: 'woof',
node_modules: {
'bundle-dep': 'toto',
},
diff --git a/deps/npm/test/lib/utils/update-notifier.js b/deps/npm/test/lib/utils/update-notifier.js
index 1735b31057b..ad4d407728f 100644
--- a/deps/npm/test/lib/utils/update-notifier.js
+++ b/deps/npm/test/lib/utils/update-notifier.js
@@ -145,15 +145,15 @@ t.test('situations in which we do not notify', t => {
})
t.test('only check weekly for GA releases', async t => {
- // the 10 is fuzz factor for test environment
- STAT_MTIME = Date.now() - (1000 * 60 * 60 * 24 * 7) + 10
+ // One week (plus five minutes to account for test environment fuzziness)
+ STAT_MTIME = Date.now() - (1000 * 60 * 60 * 24 * 7) + (1000 * 60 * 5)
t.equal(await updateNotifier(npm), null)
t.strictSame(MANIFEST_REQUEST, [], 'no requests for manifests')
})
t.test('only check daily for betas', async t => {
- // the 10 is fuzz factor for test environment
- STAT_MTIME = Date.now() - (1000 * 60 * 60 * 24) + 10
+ // One day (plus five minutes to account for test environment fuzziness)
+ STAT_MTIME = Date.now() - (1000 * 60 * 60 * 24) + (1000 * 60 * 5)
t.equal(await updateNotifier({ ...npm, version: HAVE_BETA }), null)
t.strictSame(MANIFEST_REQUEST, [], 'no requests for manifests')
})
diff --git a/deps/npm/test/lib/view.js b/deps/npm/test/lib/view.js
index eb2beb9ff58..4544d7d5d1a 100644
--- a/deps/npm/test/lib/view.js
+++ b/deps/npm/test/lib/view.js
@@ -34,7 +34,9 @@ const packument = (nv, opts) => {
},
blue: {
name: 'blue',
- 'dist-tags': {},
+ 'dist-tags': {
+ latest: '1.0.0',
+ },
time: {
'1.0.0': '2019-08-06T16:21:09.842Z',
},
@@ -59,7 +61,9 @@ const packument = (nv, opts) => {
email: 'claudia@cyan.com',
},
name: 'cyan',
- 'dist-tags': {},
+ 'dist-tags': {
+ latest: '1.0.0',
+ },
versions: {
'1.0.0': {
version: '1.0.0',
@@ -236,6 +240,8 @@ const packument = (nv, opts) => {
},
},
}
+ if (nv.type === 'git')
+ return mocks[nv.hosted.project]
return mocks[nv.name]
}
@@ -248,7 +254,7 @@ t.test('should log package info', t => {
},
})
const npm = mockNpm({
- config: { global: false },
+ config: { unicode: false },
})
const view = new View(npm)
@@ -258,7 +264,10 @@ t.test('should log package info', t => {
},
})
const jsonNpm = mockNpm({
- config: { json: true },
+ config: {
+ json: true,
+ tag: 'latest',
+ },
})
const viewJson = new ViewJson(jsonNpm)
@@ -268,13 +277,17 @@ t.test('should log package info', t => {
},
})
const unicodeNpm = mockNpm({
- config: {
- global: false,
- unicode: true,
- },
+ config: { unicode: true },
})
const viewUnicode = new ViewUnicode(unicodeNpm)
+ t.test('package from git', t => {
+ view.exec(['https://github.com/npm/green'], () => {
+ t.matchSnapshot(logs)
+ t.end()
+ })
+ })
+
t.test('package with license, bugs, repository and other fields', t => {
view.exec(['green@1.0.0'], () => {
t.matchSnapshot(logs)
@@ -358,7 +371,6 @@ t.test('should log info of package in current working dir', t => {
prefix: testDir,
config: {
tag: '1.0.0',
- global: false,
},
})
const view = new View(npm)
@@ -388,8 +400,8 @@ t.test('should log info by field name', t => {
})
const jsonNpm = mockNpm({
config: {
+ tag: 'latest',
json: true,
- global: false,
},
})
@@ -400,9 +412,7 @@ t.test('should log info by field name', t => {
packument,
},
})
- const npm = mockNpm({
- config: { global: false },
- })
+ const npm = mockNpm()
const view = new View(npm)
t.test('readme', t => {
@@ -474,7 +484,10 @@ t.test('should log info by field name', t => {
t.test('throw error if global mode', (t) => {
const View = t.mock('../../lib/view.js')
const npm = mockNpm({
- config: { global: true },
+ config: {
+ global: true,
+ tag: 'latest',
+ },
})
const view = new View(npm)
view.exec([], (err) => {
@@ -489,7 +502,6 @@ t.test('throw ENOENT error if package.json misisng', (t) => {
const View = t.mock('../../lib/view.js')
const npm = mockNpm({
prefix: testDir,
- config: { global: false },
})
const view = new View(npm)
view.exec([], (err) => {
@@ -506,7 +518,6 @@ t.test('throw EJSONPARSE error if package.json not json', (t) => {
const View = t.mock('../../lib/view.js')
const npm = mockNpm({
prefix: testDir,
- config: { global: false },
})
const view = new View(npm)
view.exec([], (err) => {
@@ -523,7 +534,6 @@ t.test('throw error if package.json has no name', (t) => {
const View = t.mock('../../lib/view.js')
const npm = mockNpm({
prefix: testDir,
- config: { global: false },
})
const view = new View(npm)
view.exec([], (err) => {
@@ -541,7 +551,6 @@ t.test('throws when unpublished', (t) => {
const npm = mockNpm({
config: {
tag: '1.0.1',
- global: false,
},
})
const view = new View(npm)
@@ -581,6 +590,7 @@ t.test('workspaces', t => {
},
})
const config = {
+ unicode: false,
tag: 'latest',
}
let warnMsg
@@ -684,7 +694,6 @@ t.test('completion', async t => {
const npm = mockNpm({
config: {
tag: '1.0.1',
- global: false,
},
})
const view = new View(npm)
@@ -700,7 +709,6 @@ t.test('no registry completion', async t => {
const npm = mockNpm({
config: {
tag: '1.0.1',
- global: false,
},
})
const view = new View(npm)