From 130bc9fb31fcff956765493a9e3cec668867c30e Mon Sep 17 00:00:00 2001 From: giovanniPepi Date: Mon, 3 Oct 2022 15:31:58 -0300 Subject: [PATCH 01/20] docs: Remove circular reference (#5626) --- docs/content/commands/npm-cache.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/docs/content/commands/npm-cache.md b/docs/content/commands/npm-cache.md index b5eddd46c05a7..008cad971c030 100644 --- a/docs/content/commands/npm-cache.md +++ b/docs/content/commands/npm-cache.md @@ -87,8 +87,7 @@ verify`. * Default: Windows: `%LocalAppData%\npm-cache`, Posix: `~/.npm` * Type: Path -The location of npm's cache directory. See [`npm -cache`](/commands/npm-cache) +The location of npm's cache directory. From 4c52d85b212b191cd10b1ff2f1c2da18ee2c3dc5 Mon Sep 17 00:00:00 2001 From: Luke Karrys Date: Tue, 4 Oct 2022 07:01:16 -0700 Subject: [PATCH 02/20] chore: @npmcli/template-oss@4.4.4 (#5588) --- .github/workflows/post-dependabot.yml | 11 ++++--- docs/package.json | 4 +-- package-lock.json | 46 +++++++++++++-------------- package.json | 4 +-- smoke-tests/package.json | 4 +-- workspaces/arborist/package.json | 4 +-- workspaces/libnpmaccess/package.json | 4 +-- workspaces/libnpmdiff/package.json | 4 +-- workspaces/libnpmexec/package.json | 4 +-- workspaces/libnpmfund/package.json | 4 +-- workspaces/libnpmhook/package.json | 4 +-- workspaces/libnpmorg/package.json | 4 +-- workspaces/libnpmpack/package.json | 4 +-- workspaces/libnpmpublish/package.json | 6 ++-- workspaces/libnpmsearch/package.json | 4 +-- workspaces/libnpmteam/package.json | 4 +-- workspaces/libnpmversion/package.json | 4 +-- 17 files changed, 61 insertions(+), 58 deletions(-) diff --git a/.github/workflows/post-dependabot.yml b/.github/workflows/post-dependabot.yml index f488974da3f63..cac29cc911dd9 100644 --- a/.github/workflows/post-dependabot.yml +++ b/.github/workflows/post-dependabot.yml @@ -19,7 +19,7 @@ jobs: - name: Checkout uses: actions/checkout@v3 with: - ref: ${{ github.event.pull_request.head_ref }} + ref: ${{ github.ref_name }} - name: Setup Git User run: | git config --global user.email "npm-cli+bot@github.com" @@ -43,10 +43,13 @@ jobs: if: contains(steps.metadata.outputs.dependency-names, '@npmcli/template-oss') id: flags run: | - if [[ "${{ steps.metadata.outputs.directory }}" == "/" ]]; then + dependabot_dir="${{ steps.metadata.outputs.directory }}" + if [[ "$dependabot_dir" == "/" ]]; then echo "::set-output name=workspace::-iwr" else - echo "::set-output name=workspace::-w ${{ steps.metadata.outputs.directory }}" + # strip leading slash from directory so it works as a + # a path to the workspace flag + echo "::set-output name=workspace::-w ${dependabot_dir#/}" fi - name: Apply Changes @@ -83,7 +86,7 @@ jobs: # If the previous step failed, then reset the commit and remove any workflow changes # and attempt to commit and push again. This is helpful because we will have a commit # with the correct prefix that we can then --amend with @npmcli/stafftools later. - - name: Commit and push all changes except workflows + - name: Push All Changes Except Workflows if: steps.apply.outputs.changes && steps.push-all.outcome == 'failure' env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} diff --git a/docs/package.json b/docs/package.json index adcf96d571507..ab8683aed975a 100644 --- a/docs/package.json +++ b/docs/package.json @@ -22,7 +22,7 @@ "@npmcli/eslint-config": "^3.1.0", "@npmcli/fs": "^2.1.0", "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "cmark-gfm": "^0.9.0", "jsdom": "^18.1.0", "marked-man": "^0.7.0", @@ -64,7 +64,7 @@ ], "ciVersions": "latest", "engines": "^14.17.0 || ^16.13.0 || >=18.0.0", - "version": "4.4.1", + "version": "4.4.4", "content": "../scripts/template-oss/index.js" } } diff --git a/package-lock.json b/package-lock.json index 4c8acfb869429..6838b6474c4cd 100644 --- a/package-lock.json +++ b/package-lock.json @@ -169,7 +169,7 @@ "devDependencies": { "@npmcli/eslint-config": "^3.1.0", "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "@octokit/rest": "^19.0.4", "fs-minipass": "^2.1.0", "licensee": "^8.2.0", @@ -190,7 +190,7 @@ "@npmcli/eslint-config": "^3.1.0", "@npmcli/fs": "^2.1.0", "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "cmark-gfm": "^0.9.0", "jsdom": "^18.1.0", "marked-man": "^0.7.0", @@ -2363,9 +2363,9 @@ } }, "node_modules/@npmcli/template-oss": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@npmcli/template-oss/-/template-oss-4.4.1.tgz", - "integrity": "sha512-HWzfbkCJD2R7LT5gZy6yZJDf+TX+B3j4HkwJ04MWI//QFsKSGiWon37B8vhF84SdCVpRgrCRX9VQmBf2sooePg==", + "version": "4.4.4", + "resolved": "https://registry.npmjs.org/@npmcli/template-oss/-/template-oss-4.4.4.tgz", + "integrity": "sha512-/WNB1HE0KuZGikExDn9ahglEdHk49+wKMG3BSXuPFsCK35KTrQweJbCvlFoX0xJBP0YGAMkTxidqa6hVywNCkg==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -2387,7 +2387,7 @@ "lodash": "^4.17.21", "npm-package-arg": "^9.0.1", "proc-log": "^2.0.0", - "release-please": "npm:@npmcli/release-please@^14.2.4", + "release-please": "npm:@npmcli/release-please@^14.2.5", "semver": "^7.3.5", "yaml": "^2.1.1" }, @@ -9451,9 +9451,9 @@ }, "node_modules/release-please": { "name": "@npmcli/release-please", - "version": "14.2.4", - "resolved": "https://registry.npmjs.org/@npmcli/release-please/-/release-please-14.2.4.tgz", - "integrity": "sha512-G09V96BVGDRZNz8GIIvtUiQ0ay2kJ7IbWqkE6+lxWZkEov1H3f+SxJp16F3LxUY5j2ILxOUBfn1oOElg5vo4Dg==", + "version": "14.2.5", + "resolved": "https://registry.npmjs.org/@npmcli/release-please/-/release-please-14.2.5.tgz", + "integrity": "sha512-DYdAMinyf+Kvcurz50fvq0q9/hvshIzgziq1YDLPN7uWXbSzZUufeU4eSCo9/8PisR2Zn+muRroLU/Sk1SxGzA==", "dev": true, "dependencies": { "@conventional-commits/parser": "^0.4.1", @@ -13816,7 +13816,7 @@ "devDependencies": { "@npmcli/eslint-config": "^3.1.0", "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "minify-registry-metadata": "^2.2.0", "rimraf": "^3.0.2", "tap": "^16.0.1", @@ -13873,7 +13873,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "benchmark": "^2.1.4", "chalk": "^4.1.0", "minify-registry-metadata": "^2.1.0", @@ -13894,7 +13894,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -13918,7 +13918,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "tap": "^16.0.1" }, "engines": { @@ -13946,7 +13946,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "bin-links": "^3.0.3", "minify-registry-metadata": "^2.2.0", "mkdirp": "^1.0.4", @@ -13964,7 +13964,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "tap": "^16.0.1" }, "engines": { @@ -13980,7 +13980,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -13997,7 +13997,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "minipass": "^3.1.1", "nock": "^13.2.4", "tap": "^16.0.1" @@ -14017,7 +14017,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "nock": "^13.0.7", "tap": "^16.0.1" }, @@ -14037,8 +14037,8 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", - "libnpmpack": "^5.0.0-pre.1", + "@npmcli/template-oss": "4.4.4", + "libnpmpack": "^5.0.0-pre.0", "lodash.clonedeep": "^4.5.0", "nock": "^13.2.4", "tap": "^16.0.1" @@ -14055,7 +14055,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -14072,7 +14072,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -14092,7 +14092,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "require-inject": "^1.4.4", "tap": "^16.0.1" }, diff --git a/package.json b/package.json index be4d7f26d00c5..23c1d471431ee 100644 --- a/package.json +++ b/package.json @@ -206,7 +206,7 @@ "devDependencies": { "@npmcli/eslint-config": "^3.1.0", "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "@octokit/rest": "^19.0.4", "fs-minipass": "^2.1.0", "licensee": "^8.2.0", @@ -258,7 +258,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.1", + "version": "4.4.4", "content": "./scripts/template-oss/root.js" }, "license": "Artistic-2.0", diff --git a/smoke-tests/package.json b/smoke-tests/package.json index 97262585821c4..44e92760e9329 100644 --- a/smoke-tests/package.json +++ b/smoke-tests/package.json @@ -20,7 +20,7 @@ "devDependencies": { "@npmcli/eslint-config": "^3.1.0", "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "minify-registry-metadata": "^2.2.0", "rimraf": "^3.0.2", "tap": "^16.0.1", @@ -30,7 +30,7 @@ "license": "ISC", "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.1", + "version": "4.4.4", "content": "../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/arborist/package.json b/workspaces/arborist/package.json index 33b0794a21910..ee8150baf6b9e 100644 --- a/workspaces/arborist/package.json +++ b/workspaces/arborist/package.json @@ -42,7 +42,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "benchmark": "^2.1.4", "chalk": "^4.1.0", "minify-registry-metadata": "^2.1.0", @@ -104,7 +104,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.1", + "version": "4.4.4", "content": "../../scripts/template-oss/index.js" } } diff --git a/workspaces/libnpmaccess/package.json b/workspaces/libnpmaccess/package.json index dcf7e09f37677..9eecd443561ee 100644 --- a/workspaces/libnpmaccess/package.json +++ b/workspaces/libnpmaccess/package.json @@ -16,7 +16,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -40,7 +40,7 @@ ], "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.1", + "version": "4.4.4", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmdiff/package.json b/workspaces/libnpmdiff/package.json index c933f590edfff..63872128abf52 100644 --- a/workspaces/libnpmdiff/package.json +++ b/workspaces/libnpmdiff/package.json @@ -43,7 +43,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "tap": "^16.0.1" }, "dependencies": { @@ -59,7 +59,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.1", + "version": "4.4.4", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmexec/package.json b/workspaces/libnpmexec/package.json index 48bd5e0075645..21b18fce1875f 100644 --- a/workspaces/libnpmexec/package.json +++ b/workspaces/libnpmexec/package.json @@ -51,7 +51,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "bin-links": "^3.0.3", "minify-registry-metadata": "^2.2.0", "mkdirp": "^1.0.4", @@ -75,7 +75,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.1", + "version": "4.4.4", "content": "../../scripts/template-oss/index.js" } } diff --git a/workspaces/libnpmfund/package.json b/workspaces/libnpmfund/package.json index 81deb03ac9188..fe53b8a63912a 100644 --- a/workspaces/libnpmfund/package.json +++ b/workspaces/libnpmfund/package.json @@ -42,7 +42,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "tap": "^16.0.1" }, "dependencies": { @@ -53,7 +53,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.1", + "version": "4.4.4", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmhook/package.json b/workspaces/libnpmhook/package.json index 63382d3e3f043..d99aaef2caf97 100644 --- a/workspaces/libnpmhook/package.json +++ b/workspaces/libnpmhook/package.json @@ -37,7 +37,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -46,7 +46,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.1", + "version": "4.4.4", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmorg/package.json b/workspaces/libnpmorg/package.json index 0e6db28eefde9..aaec8bfdd60e8 100644 --- a/workspaces/libnpmorg/package.json +++ b/workspaces/libnpmorg/package.json @@ -28,7 +28,7 @@ ], "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "minipass": "^3.1.1", "nock": "^13.2.4", "tap": "^16.0.1" @@ -49,7 +49,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.1", + "version": "4.4.4", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmpack/package.json b/workspaces/libnpmpack/package.json index aa0b27036bddd..2ce7ca5b4e990 100644 --- a/workspaces/libnpmpack/package.json +++ b/workspaces/libnpmpack/package.json @@ -23,7 +23,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "nock": "^13.0.7", "tap": "^16.0.1" }, @@ -45,7 +45,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.1", + "version": "4.4.4", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmpublish/package.json b/workspaces/libnpmpublish/package.json index 8bfa3baf69f60..e378def209d9d 100644 --- a/workspaces/libnpmpublish/package.json +++ b/workspaces/libnpmpublish/package.json @@ -25,8 +25,8 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", - "libnpmpack": "^5.0.0-pre.1", + "@npmcli/template-oss": "4.4.4", + "libnpmpack": "^5.0.0-pre.0", "lodash.clonedeep": "^4.5.0", "nock": "^13.2.4", "tap": "^16.0.1" @@ -50,7 +50,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.1", + "version": "4.4.4", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmsearch/package.json b/workspaces/libnpmsearch/package.json index cb670ca35ad63..f1af06270067e 100644 --- a/workspaces/libnpmsearch/package.json +++ b/workspaces/libnpmsearch/package.json @@ -26,7 +26,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -45,7 +45,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.1", + "version": "4.4.4", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmteam/package.json b/workspaces/libnpmteam/package.json index 85849a75a9502..cf991acb74029 100644 --- a/workspaces/libnpmteam/package.json +++ b/workspaces/libnpmteam/package.json @@ -16,7 +16,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -39,7 +39,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.1", + "version": "4.4.4", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmversion/package.json b/workspaces/libnpmversion/package.json index c01e7f6956405..4011020e277e8 100644 --- a/workspaces/libnpmversion/package.json +++ b/workspaces/libnpmversion/package.json @@ -32,7 +32,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.1", + "@npmcli/template-oss": "4.4.4", "require-inject": "^1.4.4", "tap": "^16.0.1" }, @@ -48,7 +48,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.1", + "version": "4.4.4", "content": "../../scripts/template-oss/index.js" } } From 02fcbb67e6b7cf78cd6dc996570b0ba58132de22 Mon Sep 17 00:00:00 2001 From: nlf Date: Tue, 4 Oct 2022 09:33:43 -0700 Subject: [PATCH 03/20] fix: ensure Arborist constructor gets passed around everywhere for pacote (#5634) --- lib/npm.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/npm.js b/lib/npm.js index 852d91ad3f890..fe2ce5c6b818c 100644 --- a/lib/npm.js +++ b/lib/npm.js @@ -1,3 +1,4 @@ +const Arborist = require('@npmcli/arborist') const EventEmitter = require('events') const { resolve, dirname, join } = require('path') const Config = require('@npmcli/config') @@ -310,6 +311,9 @@ class Npm extends EventEmitter { get flatOptions () { const { flat } = this.config + // the Arborist constructor is used almost everywhere we call pacote, it's easiest + // to attach it to flatOptions so it goes everywhere without having to touch every call + flat.Arborist = Arborist if (this.command) { flat.npmCommand = this.command } From eab47e63565d60ba6d7e412870a3688a3d3735e7 Mon Sep 17 00:00:00 2001 From: Luke Karrys Date: Tue, 4 Oct 2022 09:59:44 -0700 Subject: [PATCH 04/20] chore: @npmcli/template-oss@4.4.5 (#5636) --- .github/workflows/ci-docs.yml | 1 + docs/package.json | 4 +-- package-lock.json | 36 +++++++++++++-------------- package.json | 4 +-- smoke-tests/package.json | 4 +-- workspaces/arborist/package.json | 4 +-- workspaces/libnpmaccess/package.json | 4 +-- workspaces/libnpmdiff/package.json | 4 +-- workspaces/libnpmexec/package.json | 4 +-- workspaces/libnpmfund/package.json | 4 +-- workspaces/libnpmhook/package.json | 4 +-- workspaces/libnpmorg/package.json | 4 +-- workspaces/libnpmpack/package.json | 4 +-- workspaces/libnpmpublish/package.json | 4 +-- workspaces/libnpmsearch/package.json | 4 +-- workspaces/libnpmteam/package.json | 4 +-- workspaces/libnpmversion/package.json | 4 +-- 17 files changed, 49 insertions(+), 48 deletions(-) diff --git a/.github/workflows/ci-docs.yml b/.github/workflows/ci-docs.yml index dfa32c0ee9ed4..ef583ed2332a7 100644 --- a/.github/workflows/ci-docs.yml +++ b/.github/workflows/ci-docs.yml @@ -29,6 +29,7 @@ jobs: os: ubuntu-latest shell: bash node-version: + - 18.0.0 runs-on: ${{ matrix.platform.os }} defaults: run: diff --git a/docs/package.json b/docs/package.json index ab8683aed975a..834bca3eaf4a3 100644 --- a/docs/package.json +++ b/docs/package.json @@ -22,7 +22,7 @@ "@npmcli/eslint-config": "^3.1.0", "@npmcli/fs": "^2.1.0", "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "cmark-gfm": "^0.9.0", "jsdom": "^18.1.0", "marked-man": "^0.7.0", @@ -64,7 +64,7 @@ ], "ciVersions": "latest", "engines": "^14.17.0 || ^16.13.0 || >=18.0.0", - "version": "4.4.4", + "version": "4.4.5", "content": "../scripts/template-oss/index.js" } } diff --git a/package-lock.json b/package-lock.json index 6838b6474c4cd..91c914bf595ae 100644 --- a/package-lock.json +++ b/package-lock.json @@ -169,7 +169,7 @@ "devDependencies": { "@npmcli/eslint-config": "^3.1.0", "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "@octokit/rest": "^19.0.4", "fs-minipass": "^2.1.0", "licensee": "^8.2.0", @@ -190,7 +190,7 @@ "@npmcli/eslint-config": "^3.1.0", "@npmcli/fs": "^2.1.0", "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "cmark-gfm": "^0.9.0", "jsdom": "^18.1.0", "marked-man": "^0.7.0", @@ -2363,9 +2363,9 @@ } }, "node_modules/@npmcli/template-oss": { - "version": "4.4.4", - "resolved": "https://registry.npmjs.org/@npmcli/template-oss/-/template-oss-4.4.4.tgz", - "integrity": "sha512-/WNB1HE0KuZGikExDn9ahglEdHk49+wKMG3BSXuPFsCK35KTrQweJbCvlFoX0xJBP0YGAMkTxidqa6hVywNCkg==", + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/@npmcli/template-oss/-/template-oss-4.4.5.tgz", + "integrity": "sha512-lAQBMVk79aPr7J09YJBICPOSi5wpTDmtZxXFknvTey30t/Q8jJFYy83gLsgNxXR2KxBP/xVemiiqxl1UdihkSw==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -13816,7 +13816,7 @@ "devDependencies": { "@npmcli/eslint-config": "^3.1.0", "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "minify-registry-metadata": "^2.2.0", "rimraf": "^3.0.2", "tap": "^16.0.1", @@ -13873,7 +13873,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "benchmark": "^2.1.4", "chalk": "^4.1.0", "minify-registry-metadata": "^2.1.0", @@ -13894,7 +13894,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -13918,7 +13918,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "tap": "^16.0.1" }, "engines": { @@ -13946,7 +13946,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "bin-links": "^3.0.3", "minify-registry-metadata": "^2.2.0", "mkdirp": "^1.0.4", @@ -13964,7 +13964,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "tap": "^16.0.1" }, "engines": { @@ -13980,7 +13980,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -13997,7 +13997,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "minipass": "^3.1.1", "nock": "^13.2.4", "tap": "^16.0.1" @@ -14017,7 +14017,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "nock": "^13.0.7", "tap": "^16.0.1" }, @@ -14037,7 +14037,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "libnpmpack": "^5.0.0-pre.0", "lodash.clonedeep": "^4.5.0", "nock": "^13.2.4", @@ -14055,7 +14055,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -14072,7 +14072,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -14092,7 +14092,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "require-inject": "^1.4.4", "tap": "^16.0.1" }, diff --git a/package.json b/package.json index 23c1d471431ee..000e99d59f919 100644 --- a/package.json +++ b/package.json @@ -206,7 +206,7 @@ "devDependencies": { "@npmcli/eslint-config": "^3.1.0", "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "@octokit/rest": "^19.0.4", "fs-minipass": "^2.1.0", "licensee": "^8.2.0", @@ -258,7 +258,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.4", + "version": "4.4.5", "content": "./scripts/template-oss/root.js" }, "license": "Artistic-2.0", diff --git a/smoke-tests/package.json b/smoke-tests/package.json index 44e92760e9329..7a2c4eed065cf 100644 --- a/smoke-tests/package.json +++ b/smoke-tests/package.json @@ -20,7 +20,7 @@ "devDependencies": { "@npmcli/eslint-config": "^3.1.0", "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "minify-registry-metadata": "^2.2.0", "rimraf": "^3.0.2", "tap": "^16.0.1", @@ -30,7 +30,7 @@ "license": "ISC", "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.4", + "version": "4.4.5", "content": "../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/arborist/package.json b/workspaces/arborist/package.json index ee8150baf6b9e..a6430cc4eeaba 100644 --- a/workspaces/arborist/package.json +++ b/workspaces/arborist/package.json @@ -42,7 +42,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "benchmark": "^2.1.4", "chalk": "^4.1.0", "minify-registry-metadata": "^2.1.0", @@ -104,7 +104,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.4", + "version": "4.4.5", "content": "../../scripts/template-oss/index.js" } } diff --git a/workspaces/libnpmaccess/package.json b/workspaces/libnpmaccess/package.json index 9eecd443561ee..3238cdc2d05ec 100644 --- a/workspaces/libnpmaccess/package.json +++ b/workspaces/libnpmaccess/package.json @@ -16,7 +16,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -40,7 +40,7 @@ ], "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.4", + "version": "4.4.5", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmdiff/package.json b/workspaces/libnpmdiff/package.json index 63872128abf52..6423e0ce35e86 100644 --- a/workspaces/libnpmdiff/package.json +++ b/workspaces/libnpmdiff/package.json @@ -43,7 +43,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "tap": "^16.0.1" }, "dependencies": { @@ -59,7 +59,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.4", + "version": "4.4.5", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmexec/package.json b/workspaces/libnpmexec/package.json index 21b18fce1875f..73224ff6f7afd 100644 --- a/workspaces/libnpmexec/package.json +++ b/workspaces/libnpmexec/package.json @@ -51,7 +51,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "bin-links": "^3.0.3", "minify-registry-metadata": "^2.2.0", "mkdirp": "^1.0.4", @@ -75,7 +75,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.4", + "version": "4.4.5", "content": "../../scripts/template-oss/index.js" } } diff --git a/workspaces/libnpmfund/package.json b/workspaces/libnpmfund/package.json index fe53b8a63912a..17bfee5bc401d 100644 --- a/workspaces/libnpmfund/package.json +++ b/workspaces/libnpmfund/package.json @@ -42,7 +42,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "tap": "^16.0.1" }, "dependencies": { @@ -53,7 +53,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.4", + "version": "4.4.5", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmhook/package.json b/workspaces/libnpmhook/package.json index d99aaef2caf97..75dbb8557f071 100644 --- a/workspaces/libnpmhook/package.json +++ b/workspaces/libnpmhook/package.json @@ -37,7 +37,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -46,7 +46,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.4", + "version": "4.4.5", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmorg/package.json b/workspaces/libnpmorg/package.json index aaec8bfdd60e8..67d1ce0d0712e 100644 --- a/workspaces/libnpmorg/package.json +++ b/workspaces/libnpmorg/package.json @@ -28,7 +28,7 @@ ], "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "minipass": "^3.1.1", "nock": "^13.2.4", "tap": "^16.0.1" @@ -49,7 +49,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.4", + "version": "4.4.5", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmpack/package.json b/workspaces/libnpmpack/package.json index 2ce7ca5b4e990..2e3b35f726e58 100644 --- a/workspaces/libnpmpack/package.json +++ b/workspaces/libnpmpack/package.json @@ -23,7 +23,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "nock": "^13.0.7", "tap": "^16.0.1" }, @@ -45,7 +45,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.4", + "version": "4.4.5", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmpublish/package.json b/workspaces/libnpmpublish/package.json index e378def209d9d..e8455cfed94cc 100644 --- a/workspaces/libnpmpublish/package.json +++ b/workspaces/libnpmpublish/package.json @@ -25,7 +25,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "libnpmpack": "^5.0.0-pre.0", "lodash.clonedeep": "^4.5.0", "nock": "^13.2.4", @@ -50,7 +50,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.4", + "version": "4.4.5", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmsearch/package.json b/workspaces/libnpmsearch/package.json index f1af06270067e..c662bf366d996 100644 --- a/workspaces/libnpmsearch/package.json +++ b/workspaces/libnpmsearch/package.json @@ -26,7 +26,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -45,7 +45,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.4", + "version": "4.4.5", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmteam/package.json b/workspaces/libnpmteam/package.json index cf991acb74029..f55da8d0c52dc 100644 --- a/workspaces/libnpmteam/package.json +++ b/workspaces/libnpmteam/package.json @@ -16,7 +16,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -39,7 +39,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.4", + "version": "4.4.5", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmversion/package.json b/workspaces/libnpmversion/package.json index 4011020e277e8..a3eeffda227e3 100644 --- a/workspaces/libnpmversion/package.json +++ b/workspaces/libnpmversion/package.json @@ -32,7 +32,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.4", + "@npmcli/template-oss": "4.4.5", "require-inject": "^1.4.4", "tap": "^16.0.1" }, @@ -48,7 +48,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.4", + "version": "4.4.5", "content": "../../scripts/template-oss/index.js" } } From f8433cbcd1f7a66251877bd95a1308660d22cd50 Mon Sep 17 00:00:00 2001 From: Luke Karrys Date: Tue, 4 Oct 2022 10:04:41 -0700 Subject: [PATCH 05/20] chore(deps-script): only walk deps for ours (#5635) --- DEPENDENCIES.md | 28 +++++++++--- scripts/dependency-graph.js | 86 +++++++++++++++++++++++++------------ scripts/npm-cli-repos.txt | 19 +++----- 3 files changed, 86 insertions(+), 47 deletions(-) diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md index 0ce063561c744..a9db099d3962c 100644 --- a/DEPENDENCIES.md +++ b/DEPENDENCIES.md @@ -32,6 +32,7 @@ graph LR; libnpmdiff-->npmcli-template-oss["@npmcli/template-oss"]; libnpmdiff-->pacote; libnpmexec-->bin-links; + libnpmexec-->minify-registry-metadata; libnpmexec-->npm-package-arg; libnpmexec-->npmcli-arborist["@npmcli/arborist"]; libnpmexec-->npmcli-ci-detect["@npmcli/ci-detect"]; @@ -74,6 +75,7 @@ graph LR; libnpmteam-->npm-registry-fetch; libnpmteam-->npmcli-eslint-config["@npmcli/eslint-config"]; libnpmteam-->npmcli-template-oss["@npmcli/template-oss"]; + libnpmversion-->json-parse-even-better-errors; libnpmversion-->npmcli-eslint-config["@npmcli/eslint-config"]; libnpmversion-->npmcli-git["@npmcli/git"]; libnpmversion-->npmcli-run-script["@npmcli/run-script"]; @@ -92,6 +94,7 @@ graph LR; npm-->hosted-git-info; npm-->ini; npm-->init-package-json; + npm-->json-parse-even-better-errors; npm-->libnpmaccess; npm-->libnpmdiff; npm-->libnpmexec; @@ -108,6 +111,7 @@ graph LR; npm-->npm-audit-report; npm-->npm-install-checks; npm-->npm-package-arg; + npm-->npm-pick-manifest; npm-->npm-profile; npm-->npm-registry-fetch; npm-->npm-user-validate; @@ -141,6 +145,10 @@ graph LR; npm-package-arg-->semver; npm-package-arg-->validate-npm-package-name; npm-packlist-->ignore-walk; + npm-pick-manifest-->npm-install-checks; + npm-pick-manifest-->npm-normalize-package-bin; + npm-pick-manifest-->npm-package-arg; + npm-pick-manifest-->semver; npm-profile-->npm-registry-fetch; npm-profile-->proc-log; npm-registry-fetch-->make-fetch-happen; @@ -149,9 +157,12 @@ graph LR; npm-registry-fetch-->proc-log; npmcli-arborist-->bin-links; npmcli-arborist-->cacache; + npmcli-arborist-->json-parse-even-better-errors; + npmcli-arborist-->minify-registry-metadata; npmcli-arborist-->nopt; npmcli-arborist-->npm-install-checks; npmcli-arborist-->npm-package-arg; + npmcli-arborist-->npm-pick-manifest; npmcli-arborist-->npm-registry-fetch; npmcli-arborist-->npmcli-eslint-config["@npmcli/eslint-config"]; npmcli-arborist-->npmcli-installed-package-contents["@npmcli/installed-package-contents"]; @@ -180,6 +191,7 @@ graph LR; npmcli-config-->read-package-json-fast; npmcli-config-->semver; npmcli-fs-->semver; + npmcli-git-->npm-pick-manifest; npmcli-git-->npmcli-promise-spawn["@npmcli/promise-spawn"]; npmcli-git-->proc-log; npmcli-git-->semver; @@ -188,8 +200,10 @@ graph LR; npmcli-map-workspaces-->npmcli-name-from-folder["@npmcli/name-from-folder"]; npmcli-map-workspaces-->read-package-json-fast; npmcli-metavuln-calculator-->cacache; + npmcli-metavuln-calculator-->json-parse-even-better-errors; npmcli-metavuln-calculator-->pacote; npmcli-metavuln-calculator-->semver; + npmcli-package-json-->json-parse-even-better-errors; npmcli-promise-spawn-->infer-owner; npmcli-query-->npm-package-arg; npmcli-query-->semver; @@ -203,6 +217,7 @@ graph LR; pacote-->infer-owner; pacote-->npm-package-arg; pacote-->npm-packlist; + pacote-->npm-pick-manifest; pacote-->npm-registry-fetch; pacote-->npmcli-git["@npmcli/git"]; pacote-->npmcli-installed-package-contents["@npmcli/installed-package-contents"]; @@ -212,10 +227,13 @@ graph LR; pacote-->read-package-json-fast; pacote-->read-package-json; pacote-->ssri; + parse-conflict-json-->json-parse-even-better-errors; promzard-->read; read-->mute-stream; + read-package-json-->json-parse-even-better-errors; read-package-json-->normalize-package-data; read-package-json-->npm-normalize-package-bin; + read-package-json-fast-->json-parse-even-better-errors; read-package-json-fast-->npm-normalize-package-bin; readdir-scoped-modules-->dezalgo; unique-filename-->unique-slug; @@ -760,8 +778,8 @@ packages higher up the chain. - @npmcli/arborist - @npmcli/metavuln-calculator - pacote, libnpmaccess, libnpmhook, libnpmorg, libnpmsearch, libnpmteam, npm-profile - - npm-registry-fetch - - make-fetch-happen, libnpmversion, @npmcli/config, init-package-json - - @npmcli/installed-package-contents, @npmcli/map-workspaces, cacache, @npmcli/git, @npmcli/run-script, read-package-json, @npmcli/query, readdir-scoped-modules, promzard - - npm-bundled, read-package-json-fast, @npmcli/fs, unique-filename, @npmcli/promise-spawn, npm-package-arg, npm-packlist, normalize-package-data, bin-links, nopt, npm-install-checks, npmlog, dezalgo, read - - npm-normalize-package-bin, @npmcli/name-from-folder, semver, @npmcli/move-file, fs-minipass, infer-owner, ssri, unique-slug, proc-log, @npmcli/node-gyp, hosted-git-info, validate-npm-package-name, ignore-walk, minipass-fetch, @npmcli/package-json, cmd-shim, read-cmd-shim, write-file-atomic, abbrev, are-we-there-yet, gauge, parse-conflict-json, wrappy, treeverse, @npmcli/eslint-config, @npmcli/template-oss, @npmcli/disparity-colors, @npmcli/ci-detect, mute-stream, ini, npm-audit-report, npm-user-validate \ No newline at end of file + - npm-registry-fetch, libnpmversion + - @npmcli/git, make-fetch-happen, @npmcli/config, init-package-json + - @npmcli/installed-package-contents, @npmcli/map-workspaces, cacache, npm-pick-manifest, @npmcli/run-script, read-package-json, @npmcli/query, readdir-scoped-modules, promzard + - npm-bundled, read-package-json-fast, @npmcli/fs, unique-filename, @npmcli/promise-spawn, npm-install-checks, npm-package-arg, npm-packlist, normalize-package-data, @npmcli/package-json, bin-links, nopt, npmlog, parse-conflict-json, dezalgo, read + - npm-normalize-package-bin, @npmcli/name-from-folder, json-parse-even-better-errors, semver, @npmcli/move-file, fs-minipass, infer-owner, ssri, unique-slug, hosted-git-info, proc-log, validate-npm-package-name, @npmcli/node-gyp, ignore-walk, minipass-fetch, cmd-shim, read-cmd-shim, write-file-atomic, abbrev, are-we-there-yet, gauge, wrappy, treeverse, @npmcli/eslint-config, @npmcli/template-oss, minify-registry-metadata, @npmcli/disparity-colors, @npmcli/ci-detect, mute-stream, ini, npm-audit-report, npm-user-validate \ No newline at end of file diff --git a/scripts/dependency-graph.js b/scripts/dependency-graph.js index 6d84b88ee735c..41beb302dffd4 100644 --- a/scripts/dependency-graph.js +++ b/scripts/dependency-graph.js @@ -1,9 +1,17 @@ +#!/usr/bin/env node + 'use strict' // Generates our dependency graph documents in DEPENDENCIES.md. const Arborist = require('@npmcli/arborist') +const mapWorkspaces = require('@npmcli/map-workspaces') const fs = require('fs') +const log = require('proc-log') + +if (process.argv.includes('--debug')) { + process.on('log', console.error) +} // To re-create npm-cli-repos.txt run: /* eslint-disable-next-line max-len */ @@ -66,6 +74,7 @@ function escapeName (name) { } return name } + function stripName (name) { if (name.startsWith('@')) { const parts = name.slice(1).split('/') @@ -75,6 +84,14 @@ function stripName (name) { } const main = async function () { + // add all of the cli's public workspaces as package names + const workspaces = await mapWorkspaces({ pkg: require('../package.json') }) + for (const [key, value] of workspaces.entries()) { + if (!require(value + '/package.json').private) { + repos.push(key) + } + } + const arborist = new Arborist({ prefix: process.cwd(), path: process.cwd(), @@ -82,14 +99,8 @@ const main = async function () { const tree = await arborist.loadVirtual({ path: process.cwd(), name: 'npm' }) tree.name = 'npm' - const { - heirarchy: heirarchyOurs, - annotations: annotationsOurs, - } = walk(tree, true) - - const { - annotations: annotationsAll, - } = walk(tree, false) + const [annotationsOurs, heirarchyOurs] = walk(tree, true) + const [annotationsAll] = walk(tree, false) const out = [ '# npm dependencies', @@ -121,31 +132,52 @@ const main = async function () { const walk = function (tree, onlyOurs) { const annotations = [] // mermaid dependency annotations const dependedBy = {} + iterate(tree, dependedBy, annotations, onlyOurs) + const allDeps = new Set(Object.keys(dependedBy)) const foundDeps = new Set() const heirarchy = [] - while (allDeps.size) { - const level = [] - for (const dep of allDeps) { - if (!dependedBy[dep].size) { - level.push(dep) - foundDeps.add(dep) + + if (onlyOurs) { + while (allDeps.size) { + log.silly('SIZE', allDeps.size) + const level = [] + + for (const dep of allDeps) { + log.silly(dep, '::', [...dependedBy[dep]].join(', ')) + log.silly('-'.repeat(80)) + + if (!dependedBy[dep].size) { + level.push(dep) + foundDeps.add(dep) + } } - } - for (const dep of allDeps) { - for (const found of foundDeps) { - allDeps.delete(found) - dependedBy[dep].delete(found) + + log.silly('LEVEL', level.length) + log.silly('FOUND', foundDeps.size) + + for (const dep of allDeps) { + for (const found of foundDeps) { + allDeps.delete(found) + dependedBy[dep].delete(found) + } } + + log.silly('SIZE', allDeps.size) + + if (!level.length) { + const remaining = `Remaining deps: ${[...allDeps.keys()]}` + throw new Error(`Would do an infinite loop here, need to debug. ${remaining}`) + } + + heirarchy.push(level.join(', ')) + log.silly('HIEARARCHY', heirarchy.length) + log.silly('='.repeat(80)) } - if (!level.length) { - throw new Error('Would do an infinite loop here, need to debug') - } - heirarchy.push(level.join(', ')) } - return { heirarchy, annotations } + return [annotations, heirarchy] } const iterate = function (node, dependedBy, annotations, onlyOurs) { if (!dependedBy[node.packageName]) { @@ -167,10 +199,8 @@ const iterate = function (node, dependedBy, annotations, onlyOurs) { } main().then(() => { - process.exit(0) - return 0 + return process.exit(0) }).catch(err => { console.error(err) - process.exit(1) - return 1 + return process.exit(1) }) diff --git a/scripts/npm-cli-repos.txt b/scripts/npm-cli-repos.txt index 83b6a8b5ebae5..75b604fed9011 100644 --- a/scripts/npm-cli-repos.txt +++ b/scripts/npm-cli-repos.txt @@ -1,6 +1,5 @@ abbrev-js agent -arborist are-we-there-yet benchmarks bin-links @@ -20,6 +19,7 @@ fs fs-minipass gauge git +graphec hosted-git-info ignore-walk infer-owner @@ -27,19 +27,11 @@ inflight ini init-package-json installed-package-contents -libnpmaccess -libnpmfund -libnpmhook -libnpmorg -libnpmpack -libnpmpublish -libnpmsearch -libnpmteam -libnpmversion -lint +json-parse-even-better-errors make-fetch-happen map-workspaces metavuln-calculator +minify-registry-metadata minipass-fetch move-file mute-stream @@ -52,13 +44,14 @@ node-which nopt normalize-package-data npm-audit-report -npm-birthday npm-bundled +npm-cli-release-please npm-install-checks npm-install-script npm-normalize-package-bin npm-package-arg npm-packlist +npm-pick-manifest npm-profile npm-registry-fetch npm-registry-mock @@ -71,7 +64,6 @@ proc-log proggy promise-spawn promzard -pull query read read-cmd-shim @@ -83,7 +75,6 @@ run-script ssri stafftools statusboard -stringify-package tap-nock template-oss treeverse From 1ebbb4454c09891ca2c9f9a11432c4a10ccf8c32 Mon Sep 17 00:00:00 2001 From: Gar Date: Tue, 4 Oct 2022 10:38:57 -0700 Subject: [PATCH 06/20] deps: npm-profile@7.0.0 (#5638) --- node_modules/npm-profile/package.json | 17 +++++++++-------- package-lock.json | 10 +++++----- package.json | 2 +- 3 files changed, 15 insertions(+), 14 deletions(-) diff --git a/node_modules/npm-profile/package.json b/node_modules/npm-profile/package.json index 457a1fb0988fb..a99125f55bf0c 100644 --- a/node_modules/npm-profile/package.json +++ b/node_modules/npm-profile/package.json @@ -1,6 +1,6 @@ { "name": "npm-profile", - "version": "6.2.1", + "version": "7.0.0", "description": "Library for updating an npmjs.com profile", "keywords": [], "author": "GitHub Inc.", @@ -20,14 +20,11 @@ ], "devDependencies": { "@npmcli/eslint-config": "^3.0.1", - "@npmcli/template-oss": "3.5.0", + "@npmcli/template-oss": "4.4.4", "nock": "^13.2.4", "tap": "^16.0.1" }, "scripts": { - "preversion": "npm test", - "postversion": "npm publish", - "prepublishOnly": "git push origin --follow-tags", "posttest": "npm run lint", "test": "tap", "snap": "tap", @@ -37,13 +34,17 @@ "template-oss-apply": "template-oss-apply --force" }, "tap": { - "check-coverage": true + "check-coverage": true, + "nyc-arg": [ + "--exclude", + "tap-snapshots/**" + ] }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "3.5.0" + "version": "4.4.4" } } diff --git a/package-lock.json b/package-lock.json index 91c914bf595ae..d1ce45af626da 100644 --- a/package-lock.json +++ b/package-lock.json @@ -137,7 +137,7 @@ "npm-install-checks": "^5.0.0", "npm-package-arg": "^9.1.2", "npm-pick-manifest": "^7.0.2", - "npm-profile": "^6.2.0", + "npm-profile": "^7.0.0", "npm-registry-fetch": "^13.3.1", "npm-user-validate": "^1.0.1", "npmlog": "^6.0.2", @@ -8040,16 +8040,16 @@ } }, "node_modules/npm-profile": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/npm-profile/-/npm-profile-6.2.1.tgz", - "integrity": "sha512-Tlu13duByHyDd4Xy0PgroxzxnBYWbGGL5aZifNp8cx2DxUrHSoETXtPKg38aRPsBWMRfDtvcvVfJNasj7oImQQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/npm-profile/-/npm-profile-7.0.0.tgz", + "integrity": "sha512-/WbM1IJzmOECMOsxx75kgpKCn6v2doXsvv2/FQeSmSuHxN2IzeLqqjrsQU2lBOf0fZIbyoR5vxLrnI8vvnXd0A==", "inBundle": true, "dependencies": { "npm-registry-fetch": "^13.0.1", "proc-log": "^2.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/npm-registry-fetch": { diff --git a/package.json b/package.json index 000e99d59f919..4b3255b55c42f 100644 --- a/package.json +++ b/package.json @@ -102,7 +102,7 @@ "npm-install-checks": "^5.0.0", "npm-package-arg": "^9.1.2", "npm-pick-manifest": "^7.0.2", - "npm-profile": "^6.2.0", + "npm-profile": "^7.0.0", "npm-registry-fetch": "^13.3.1", "npm-user-validate": "^1.0.1", "npmlog": "^6.0.2", From 8b072dc113190ed49b296a5f02650b7d8cbf384a Mon Sep 17 00:00:00 2001 From: Gar Date: Tue, 4 Oct 2022 10:53:00 -0700 Subject: [PATCH 07/20] deps: @npmcli/ci-detect@3.0.0 (#5639) --- node_modules/@npmcli/ci-detect/lib/index.js | 1 + node_modules/@npmcli/ci-detect/package.json | 35 +++++++++++---------- package-lock.json | 11 ++++--- package.json | 2 +- workspaces/libnpmexec/package.json | 2 +- 5 files changed, 28 insertions(+), 23 deletions(-) diff --git a/node_modules/@npmcli/ci-detect/lib/index.js b/node_modules/@npmcli/ci-detect/lib/index.js index 8be8fe2e6d03b..34755c7f166c3 100644 --- a/node_modules/@npmcli/ci-detect/lib/index.js +++ b/node_modules/@npmcli/ci-detect/lib/index.js @@ -45,6 +45,7 @@ module.exports = () => : process.env.TRAVIS ? 'travis-ci' // aws CodeBuild/CodePipeline : process.env.CODEBUILD_SRC_DIR ? 'aws-codebuild' + : process.env.CI === 'woodpecker' ? 'woodpecker' : process.env.CI === 'true' || process.env.CI === '1' ? 'custom' // Google Cloud Build - it sets almost nothing : process.env.BUILDER_OUTPUT ? 'builder' diff --git a/node_modules/@npmcli/ci-detect/package.json b/node_modules/@npmcli/ci-detect/package.json index c1cf9dc889371..eaf1a3a286429 100644 --- a/node_modules/@npmcli/ci-detect/package.json +++ b/node_modules/@npmcli/ci-detect/package.json @@ -1,41 +1,44 @@ { "name": "@npmcli/ci-detect", - "version": "2.0.0", + "version": "3.0.0", "description": "Detect what kind of CI environment the program is in", "author": "GitHub Inc.", "license": "ISC", "main": "./lib", "scripts": { "test": "tap", - "preversion": "npm test", - "postversion": "npm publish", - "prepublishOnly": "git push origin --follow-tags", - "lint": "eslint '**/*.js'", - "postlint": "npm-template-check", - "template-copy": "npm-template-copy --force", + "lint": "eslint \"**/*.js\"", + "postlint": "template-oss-check", "lintfix": "npm run lint -- --fix", "snap": "tap", - "posttest": "npm run lint" + "posttest": "npm run lint", + "template-oss-apply": "template-oss-apply --force" }, "tap": { - "check-coverage": true + "check-coverage": true, + "nyc-arg": [ + "--exclude", + "tap-snapshots/**" + ] }, "devDependencies": { - "@npmcli/template-oss": "^2.7.1", - "tap": "^15.1.6" + "@npmcli/eslint-config": "^3.0.1", + "@npmcli/template-oss": "4.4.4", + "tap": "^16.0.1" }, "files": [ - "bin", - "lib" + "bin/", + "lib/" ], "repository": { "type": "git", - "url": "git+https://github.com/npm/ci-detect.git" + "url": "https://github.com/npm/ci-detect.git" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" }, "templateOSS": { - "version": "2.7.1" + "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", + "version": "4.4.4" } } diff --git a/package-lock.json b/package-lock.json index d1ce45af626da..e0309554fb515 100644 --- a/package-lock.json +++ b/package-lock.json @@ -92,7 +92,7 @@ "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/arborist": "^6.0.0-pre.3", - "@npmcli/ci-detect": "^2.0.0", + "@npmcli/ci-detect": "^3.0.0", "@npmcli/config": "^4.2.1", "@npmcli/fs": "^2.1.0", "@npmcli/map-workspaces": "^2.0.3", @@ -2138,11 +2138,12 @@ "link": true }, "node_modules/@npmcli/ci-detect": { - "version": "2.0.0", + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/ci-detect/-/ci-detect-3.0.0.tgz", + "integrity": "sha512-d6eGMbZ2j6n2b1KpGNbTsKNpCe3NU7xe7stzeXu6BJyLbMZ/FGHnSuwozcHEckGRKF06RO+Z8FpHg7nAbBmuUw==", "inBundle": true, - "license": "ISC", "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16" + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, "node_modules/@npmcli/config": { @@ -13930,7 +13931,7 @@ "license": "ISC", "dependencies": { "@npmcli/arborist": "^6.0.0-pre.3", - "@npmcli/ci-detect": "^2.0.0", + "@npmcli/ci-detect": "^3.0.0", "@npmcli/fs": "^2.1.1", "@npmcli/run-script": "^4.2.0", "chalk": "^4.1.0", diff --git a/package.json b/package.json index 4b3255b55c42f..175bb743df70c 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "dependencies": { "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/arborist": "^6.0.0-pre.3", - "@npmcli/ci-detect": "^2.0.0", + "@npmcli/ci-detect": "^3.0.0", "@npmcli/config": "^4.2.1", "@npmcli/fs": "^2.1.0", "@npmcli/map-workspaces": "^2.0.3", diff --git a/workspaces/libnpmexec/package.json b/workspaces/libnpmexec/package.json index 73224ff6f7afd..7d00c0517f64c 100644 --- a/workspaces/libnpmexec/package.json +++ b/workspaces/libnpmexec/package.json @@ -59,7 +59,7 @@ }, "dependencies": { "@npmcli/arborist": "^6.0.0-pre.3", - "@npmcli/ci-detect": "^2.0.0", + "@npmcli/ci-detect": "^3.0.0", "@npmcli/fs": "^2.1.1", "@npmcli/run-script": "^4.2.0", "chalk": "^4.1.0", From 97c32ed24d8fa2edcdbb9448839a1f1c9d8fb86f Mon Sep 17 00:00:00 2001 From: Gar Date: Tue, 4 Oct 2022 10:54:26 -0700 Subject: [PATCH 08/20] docs: remove link to cache command (#5637) The cache command itself contains this config making it a circular reference --- docs/content/commands/npm-cache.md | 2 +- docs/content/using-npm/config.md | 3 +-- lib/utils/config/definitions.js | 3 +-- tap-snapshots/test/lib/utils/config/definitions.js.test.cjs | 3 +-- tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs | 3 +-- 5 files changed, 5 insertions(+), 9 deletions(-) diff --git a/docs/content/commands/npm-cache.md b/docs/content/commands/npm-cache.md index 008cad971c030..68c4faff57582 100644 --- a/docs/content/commands/npm-cache.md +++ b/docs/content/commands/npm-cache.md @@ -87,7 +87,7 @@ verify`. * Default: Windows: `%LocalAppData%\npm-cache`, Posix: `~/.npm` * Type: Path -The location of npm's cache directory. +The location of npm's cache directory. diff --git a/docs/content/using-npm/config.md b/docs/content/using-npm/config.md index e5d9d081feb4a..1a4349782d74e 100644 --- a/docs/content/using-npm/config.md +++ b/docs/content/using-npm/config.md @@ -307,8 +307,7 @@ See also the `strict-ssl` config. * Default: Windows: `%LocalAppData%\npm-cache`, Posix: `~/.npm` * Type: Path -The location of npm's cache directory. See [`npm -cache`](/commands/npm-cache) +The location of npm's cache directory. diff --git a/lib/utils/config/definitions.js b/lib/utils/config/definitions.js index 5f74eb03b14c8..3dd599a6812e8 100644 --- a/lib/utils/config/definitions.js +++ b/lib/utils/config/definitions.js @@ -326,8 +326,7 @@ define('cache', { `, type: path, description: ` - The location of npm's cache directory. See [\`npm - cache\`](/commands/npm-cache) + The location of npm's cache directory. `, flatten (key, obj, flatOptions) { flatOptions.cache = join(obj.cache, '_cacache') diff --git a/tap-snapshots/test/lib/utils/config/definitions.js.test.cjs b/tap-snapshots/test/lib/utils/config/definitions.js.test.cjs index 1005b9e4df112..f10e5280c7e1a 100644 --- a/tap-snapshots/test/lib/utils/config/definitions.js.test.cjs +++ b/tap-snapshots/test/lib/utils/config/definitions.js.test.cjs @@ -336,8 +336,7 @@ exports[`test/lib/utils/config/definitions.js TAP > config description for cache * Default: Windows: \`%LocalAppData%\\npm-cache\`, Posix: \`~/.npm\` * Type: Path -The location of npm's cache directory. See [\`npm -cache\`](/commands/npm-cache) +The location of npm's cache directory. ` exports[`test/lib/utils/config/definitions.js TAP > config description for cache-max 1`] = ` diff --git a/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs b/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs index e14b88464237c..06c19abfb6e2a 100644 --- a/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs +++ b/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs @@ -180,8 +180,7 @@ See also the \`strict-ssl\` config. * Default: Windows: \`%LocalAppData%\\npm-cache\`, Posix: \`~/.npm\` * Type: Path -The location of npm's cache directory. See [\`npm -cache\`](/commands/npm-cache) +The location of npm's cache directory. From 9609e9eed87c735f0319ac0af265f4d406cbf800 Mon Sep 17 00:00:00 2001 From: Nathan Fritz Date: Tue, 4 Oct 2022 12:45:54 -0700 Subject: [PATCH 09/20] feat: use v3 lockfiles by default (#5605) --- docs/content/using-npm/config.md | 10 +- lib/utils/config/definitions.js | 9 +- .../tap-snapshots/test/index.js.test.cjs | 48 +- .../test/lib/commands/init.js.test.cjs | 7 +- .../test/lib/commands/shrinkwrap.js.test.cjs | 12 +- .../test/lib/commands/version.js.test.cjs | 20 +- .../lib/utils/config/definitions.js.test.cjs | 10 +- .../lib/utils/config/describe-all.js.test.cjs | 10 +- test/lib/commands/shrinkwrap.js | 12 +- .../arborist/lib/arborist/build-ideal-tree.js | 7 +- workspaces/arborist/lib/arborist/reify.js | 8 + workspaces/arborist/lib/shrinkwrap.js | 39 +- .../arborist/build-ideal-tree.js.test.cjs | 9 +- .../test/arborist/pruner.js.test.cjs | 15 +- .../test/arborist/reify.js.test.cjs | 525 +- .../tap-snapshots/test/shrinkwrap.js.test.cjs | 4506 +---------------- .../test/arborist/build-ideal-tree.js | 2 +- workspaces/arborist/test/arborist/reify.js | 8 +- workspaces/arborist/test/shrinkwrap.js | 49 +- 19 files changed, 235 insertions(+), 5071 deletions(-) diff --git a/docs/content/using-npm/config.md b/docs/content/using-npm/config.md index 1a4349782d74e..89cb069c63f16 100644 --- a/docs/content/using-npm/config.md +++ b/docs/content/using-npm/config.md @@ -1026,8 +1026,8 @@ instead of the current working directory. See #### `lockfile-version` -* Default: Version 2 if no lockfile or current lockfile version less than or - equal to 2, otherwise maintain current lockfile version +* Default: Version 3 if no lockfile, auto-converting v1 lockfiles to v3, + otherwise maintain current lockfile version. * Type: null, 1, 2, 3, "1", "2", or "3" Set the lockfile format version to be used in package-lock.json and @@ -1038,9 +1038,9 @@ is used during the install, resulting in slower and possibly less deterministic installs. Prevents lockfile churn when interoperating with older npm versions. -2: The default lockfile version used by npm version 7. Includes both the -version 1 lockfile data and version 3 lockfile data, for maximum determinism -and interoperability, at the expense of more bytes on disk. +2: The default lockfile version used by npm version 7 and 8. Includes both +the version 1 lockfile data and version 3 lockfile data, for maximum +determinism and interoperability, at the expense of more bytes on disk. 3: Only the new lockfile information introduced in npm version 7. Smaller on disk than lockfile version 2, but not interoperable with older npm versions. diff --git a/lib/utils/config/definitions.js b/lib/utils/config/definitions.js index 3dd599a6812e8..3f3d928e5e8fc 100644 --- a/lib/utils/config/definitions.js +++ b/lib/utils/config/definitions.js @@ -1198,9 +1198,8 @@ define('lockfile-version', { default: null, type: [null, 1, 2, 3, '1', '2', '3'], defaultDescription: ` - Version 2 if no lockfile or current lockfile version less than or equal to - 2, otherwise maintain current lockfile version - `, + Version 3 if no lockfile, auto-converting v1 lockfiles to v3, otherwise + maintain current lockfile version.`, description: ` Set the lockfile format version to be used in package-lock.json and npm-shrinkwrap-json files. Possible options are: @@ -1210,8 +1209,8 @@ define('lockfile-version', { deterministic installs. Prevents lockfile churn when interoperating with older npm versions. - 2: The default lockfile version used by npm version 7. Includes both the - version 1 lockfile data and version 3 lockfile data, for maximum + 2: The default lockfile version used by npm version 7 and 8. Includes both + the version 1 lockfile data and version 3 lockfile data, for maximum determinism and interoperability, at the expense of more bytes on disk. 3: Only the new lockfile information introduced in npm version 7. Smaller diff --git a/smoke-tests/tap-snapshots/test/index.js.test.cjs b/smoke-tests/tap-snapshots/test/index.js.test.cjs index 017ca71d37777..5a08980433547 100644 --- a/smoke-tests/tap-snapshots/test/index.js.test.cjs +++ b/smoke-tests/tap-snapshots/test/index.js.test.cjs @@ -366,7 +366,7 @@ exports[`test/index.js TAP npm install dev dep > should have expected dev dep ad { "name": "project", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -394,19 +394,6 @@ exports[`test/index.js TAP npm install dev dep > should have expected dev dep ad "url": "https://github.com/sponsors/isaacs" } } - }, - "dependencies": { - "abbrev": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=" - }, - "promise-all-reject-late": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz", - "integrity": "sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==", - "dev": true - } } } @@ -453,7 +440,7 @@ exports[`test/index.js TAP npm install prodDep@version > should have expected lo { "name": "project", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -469,13 +456,6 @@ exports[`test/index.js TAP npm install prodDep@version > should have expected lo "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=" } - }, - "dependencies": { - "abbrev": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=" - } } } @@ -642,7 +622,7 @@ exports[`test/index.js TAP npm uninstall > should have expected uninstall lockfi { "name": "project", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -658,13 +638,6 @@ exports[`test/index.js TAP npm uninstall > should have expected uninstall lockfi "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" } - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - } } } @@ -700,7 +673,7 @@ exports[`test/index.js TAP npm update dep > should have expected update lockfile { "name": "project", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -728,19 +701,6 @@ exports[`test/index.js TAP npm update dep > should have expected update lockfile "url": "https://github.com/sponsors/isaacs" } } - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "promise-all-reject-late": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-all-reject-late/-/promise-all-reject-late-1.0.1.tgz", - "integrity": "sha512-vuf0Lf0lOxyQREH7GDIOUMLS7kz+gs8i6B+Yi8dC68a2sychGrHTJYghMBD6k7eUcH0H5P73EckCA48xijWqXw==", - "dev": true - } } } diff --git a/tap-snapshots/test/lib/commands/init.js.test.cjs b/tap-snapshots/test/lib/commands/init.js.test.cjs index 97a6722f3ece4..86b3fdd475585 100644 --- a/tap-snapshots/test/lib/commands/init.js.test.cjs +++ b/tap-snapshots/test/lib/commands/init.js.test.cjs @@ -31,7 +31,7 @@ Array [ exports[`test/lib/commands/init.js TAP workspaces post workspace-init reify > should reify tree on init ws complete 1`] = ` { "name": "top-level", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -49,11 +49,6 @@ exports[`test/lib/commands/init.js TAP workspaces post workspace-init reify > sh "resolved": "a", "link": true } - }, - "dependencies": { - "a": { - "version": "file:a" - } } } diff --git a/tap-snapshots/test/lib/commands/shrinkwrap.js.test.cjs b/tap-snapshots/test/lib/commands/shrinkwrap.js.test.cjs index dee5f8af83b0f..d97f13d2ed85c 100644 --- a/tap-snapshots/test/lib/commands/shrinkwrap.js.test.cjs +++ b/tap-snapshots/test/lib/commands/shrinkwrap.js.test.cjs @@ -125,12 +125,12 @@ exports[`test/lib/commands/shrinkwrap.js TAP with nothing ancient > must match s "config": {}, "shrinkwrap": { "name": "prefix", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": {} }, "logs": [ - "created a lockfile as npm-shrinkwrap.json with version 2" + "created a lockfile as npm-shrinkwrap.json with version 3" ] } ` @@ -163,7 +163,7 @@ exports[`test/lib/commands/shrinkwrap.js TAP with npm-shrinkwrap.json ancient > "config": {}, "shrinkwrap": { "name": "prefix", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -172,7 +172,7 @@ exports[`test/lib/commands/shrinkwrap.js TAP with npm-shrinkwrap.json ancient > } }, "logs": [ - "npm-shrinkwrap.json updated to version 2" + "npm-shrinkwrap.json updated to version 3" ] } ` @@ -284,7 +284,7 @@ exports[`test/lib/commands/shrinkwrap.js TAP with package-lock.json ancient > mu "config": {}, "shrinkwrap": { "name": "prefix", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -293,7 +293,7 @@ exports[`test/lib/commands/shrinkwrap.js TAP with package-lock.json ancient > mu } }, "logs": [ - "package-lock.json has been renamed to npm-shrinkwrap.json and updated to version 2" + "package-lock.json has been renamed to npm-shrinkwrap.json and updated to version 3" ] } ` diff --git a/tap-snapshots/test/lib/commands/version.js.test.cjs b/tap-snapshots/test/lib/commands/version.js.test.cjs index e19f9b8eef14e..0fed009652597 100644 --- a/tap-snapshots/test/lib/commands/version.js.test.cjs +++ b/tap-snapshots/test/lib/commands/version.js.test.cjs @@ -9,7 +9,7 @@ exports[`test/lib/commands/version.js TAP empty versions workspaces with one arg { "name": "workspaces-test", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -34,14 +34,6 @@ exports[`test/lib/commands/version.js TAP empty versions workspaces with one arg "workspace-b": { "version": "2.0.0" } - }, - "dependencies": { - "workspace-a": { - "version": "file:workspace-a" - }, - "workspace-b": { - "version": "file:workspace-b" - } } } @@ -51,7 +43,7 @@ exports[`test/lib/commands/version.js TAP empty versions workspaces with one arg { "name": "workspaces-test", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -80,14 +72,6 @@ exports[`test/lib/commands/version.js TAP empty versions workspaces with one arg "workspace-b": { "version": "2.0.0" } - }, - "dependencies": { - "workspace-a": { - "version": "file:workspace-a" - }, - "workspace-b": { - "version": "file:workspace-b" - } } } diff --git a/tap-snapshots/test/lib/utils/config/definitions.js.test.cjs b/tap-snapshots/test/lib/utils/config/definitions.js.test.cjs index f10e5280c7e1a..277576ed5318b 100644 --- a/tap-snapshots/test/lib/utils/config/definitions.js.test.cjs +++ b/tap-snapshots/test/lib/utils/config/definitions.js.test.cjs @@ -1089,8 +1089,8 @@ instead of the current working directory. See exports[`test/lib/utils/config/definitions.js TAP > config description for lockfile-version 1`] = ` #### \`lockfile-version\` -* Default: Version 2 if no lockfile or current lockfile version less than or - equal to 2, otherwise maintain current lockfile version +* Default: Version 3 if no lockfile, auto-converting v1 lockfiles to v3, + otherwise maintain current lockfile version. * Type: null, 1, 2, 3, "1", "2", or "3" Set the lockfile format version to be used in package-lock.json and @@ -1101,9 +1101,9 @@ is used during the install, resulting in slower and possibly less deterministic installs. Prevents lockfile churn when interoperating with older npm versions. -2: The default lockfile version used by npm version 7. Includes both the -version 1 lockfile data and version 3 lockfile data, for maximum determinism -and interoperability, at the expense of more bytes on disk. +2: The default lockfile version used by npm version 7 and 8. Includes both +the version 1 lockfile data and version 3 lockfile data, for maximum +determinism and interoperability, at the expense of more bytes on disk. 3: Only the new lockfile information introduced in npm version 7. Smaller on disk than lockfile version 2, but not interoperable with older npm versions. diff --git a/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs b/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs index 06c19abfb6e2a..2f8a721af4bc9 100644 --- a/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs +++ b/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs @@ -899,8 +899,8 @@ instead of the current working directory. See #### \`lockfile-version\` -* Default: Version 2 if no lockfile or current lockfile version less than or - equal to 2, otherwise maintain current lockfile version +* Default: Version 3 if no lockfile, auto-converting v1 lockfiles to v3, + otherwise maintain current lockfile version. * Type: null, 1, 2, 3, "1", "2", or "3" Set the lockfile format version to be used in package-lock.json and @@ -911,9 +911,9 @@ is used during the install, resulting in slower and possibly less deterministic installs. Prevents lockfile churn when interoperating with older npm versions. -2: The default lockfile version used by npm version 7. Includes both the -version 1 lockfile data and version 3 lockfile data, for maximum determinism -and interoperability, at the expense of more bytes on disk. +2: The default lockfile version used by npm version 7 and 8. Includes both +the version 1 lockfile data and version 3 lockfile data, for maximum +determinism and interoperability, at the expense of more bytes on disk. 3: Only the new lockfile information introduced in npm version 7. Smaller on disk than lockfile version 2, but not interoperable with older npm versions. diff --git a/test/lib/commands/shrinkwrap.js b/test/lib/commands/shrinkwrap.js index 812a9e23ec7f6..604a7db7a0b35 100644 --- a/test/lib/commands/shrinkwrap.js +++ b/test/lib/commands/shrinkwrap.js @@ -112,8 +112,8 @@ const NOTICES = { t.test('with nothing', t => shrinkwrapMatrix(t, null, { ancient: { - shrinkwrap: { lockfileVersion: 2 }, - logs: NOTICES.CREATED(2), + shrinkwrap: { lockfileVersion: 3 }, + logs: NOTICES.CREATED(3), }, ancientUpgrade: { shrinkwrap: { lockfileVersion: 3 }, @@ -125,8 +125,8 @@ t.test('with nothing', t => t.test('with package-lock.json', t => shrinkwrapMatrix(t, 'package-lock', { ancient: { - shrinkwrap: { lockfileVersion: 2 }, - logs: NOTICES.RENAMED(2), + shrinkwrap: { lockfileVersion: 3 }, + logs: NOTICES.RENAMED(3), }, ancientUpgrade: { shrinkwrap: { lockfileVersion: 3 }, @@ -150,8 +150,8 @@ t.test('with package-lock.json', t => t.test('with npm-shrinkwrap.json', t => shrinkwrapMatrix(t, 'npm-shrinkwrap', { ancient: { - shrinkwrap: { lockfileVersion: 2 }, - logs: NOTICES.UPDATED(2), + shrinkwrap: { lockfileVersion: 3 }, + logs: NOTICES.UPDATED(3), }, ancientUpgrade: { shrinkwrap: { lockfileVersion: 3 }, diff --git a/workspaces/arborist/lib/arborist/build-ideal-tree.js b/workspaces/arborist/lib/arborist/build-ideal-tree.js index 0260bd563ab2f..4caf310d40d7e 100644 --- a/workspaces/arborist/lib/arborist/build-ideal-tree.js +++ b/workspaces/arborist/lib/arborist/build-ideal-tree.js @@ -330,8 +330,7 @@ Try using the package name instead, e.g: if (tree.children.size) { root.meta.loadedFromDisk = true // set these so that we don't try to ancient lockfile reload it - root.meta.originalLockfileVersion = defaultLockfileVersion - root.meta.lockfileVersion = defaultLockfileVersion + root.meta.originalLockfileVersion = root.meta.lockfileVersion = this.options.lockfileVersion || defaultLockfileVersion } } root.meta.inferFormattingOptions(root.package) @@ -758,7 +757,9 @@ This is a one-time fix-up, please be patient... // yes, yes, this isn't the "original" version, but now that it's been // upgraded, we need to make sure we don't do the work to upgrade it // again, since it's now as new as can be. - meta.originalLockfileVersion = defaultLockfileVersion + if (!this.options.lockfileVersion && !meta.hiddenLockfile) { + meta.originalLockfileVersion = defaultLockfileVersion + } this.finishTracker('idealTree:inflate') process.emit('timeEnd', 'idealTree:inflate') } diff --git a/workspaces/arborist/lib/arborist/reify.js b/workspaces/arborist/lib/arborist/reify.js index 4f9db7575d79b..82d65daa5cc2a 100644 --- a/workspaces/arborist/lib/arborist/reify.js +++ b/workspaces/arborist/lib/arborist/reify.js @@ -35,6 +35,9 @@ const optionalSet = require('../optional-set.js') const calcDepFlags = require('../calc-dep-flags.js') const { saveTypeMap, hasSubKey } = require('../add-rm-pkg-deps.js') +const Shrinkwrap = require('../shrinkwrap.js') +const { defaultLockfileVersion } = Shrinkwrap + const _retiredPaths = Symbol('retiredPaths') const _retiredUnchanged = Symbol('retiredUnchanged') const _sparseTreeDirs = Symbol('sparseTreeDirs') @@ -1514,11 +1517,16 @@ module.exports = cls => class Reifier extends cls { this.idealTree.meta.filename = this.idealTree.realpath + '/node_modules/.package-lock.json' this.idealTree.meta.hiddenLockfile = true + const resetMeta = this.idealTree.meta && this.idealTree.meta.lockfileVersion !== defaultLockfileVersion + this.idealTree.meta.lockfileVersion = defaultLockfileVersion this.actualTree = this.idealTree this.idealTree = null if (!this[_global]) { + if (resetMeta) { + await this.actualTree.meta.reset() + } await this.actualTree.meta.save() const ignoreScripts = !!this.options.ignoreScripts // if we aren't doing a dry run or ignoring scripts and we actually made changes to the dep diff --git a/workspaces/arborist/lib/shrinkwrap.js b/workspaces/arborist/lib/shrinkwrap.js index d5448bbcba927..96551990b122b 100644 --- a/workspaces/arborist/lib/shrinkwrap.js +++ b/workspaces/arborist/lib/shrinkwrap.js @@ -10,7 +10,7 @@ // definitely not before npm v8. const localeCompare = require('@isaacs/string-locale-compare')('en') -const defaultLockfileVersion = 2 +const defaultLockfileVersion = 3 // for comparing nodes to yarn.lock entries const mismatch = (a, b) => a && b && a !== b @@ -60,7 +60,7 @@ const readdir = async (path, opt) => { return ents } -const { resolve, basename } = require('path') +const { resolve, basename, relative } = require('path') const specFromLock = require('./spec-from-lock.js') const versionFromTgz = require('./version-from-tgz.js') const npa = require('npm-package-arg') @@ -224,6 +224,7 @@ const _buildLegacyLockfile = Symbol('_buildLegacyLockfile') const _filenameSet = Symbol('_filenameSet') const _maybeRead = Symbol('_maybeRead') const _maybeStat = Symbol('_maybeStat') + class Shrinkwrap { static get defaultLockfileVersion () { return defaultLockfileVersion @@ -252,17 +253,6 @@ class Shrinkwrap { s.loadedFromDisk = !!(sw || lock) s.type = basename(s.filename) - try { - if (s.loadedFromDisk && !s.lockfileVersion) { - const json = parseJSON(await maybeReadFile(s.filename)) - if (json.lockfileVersion > defaultLockfileVersion) { - s.lockfileVersion = json.lockfileVersion - } - } - } catch { - // ignore errors - } - return s } @@ -342,6 +332,7 @@ class Shrinkwrap { this.lockfileVersion = hiddenLockfile ? 3 : lockfileVersion ? parseInt(lockfileVersion, 10) : null + this[_awaitingUpdate] = new Map() this.tree = null this.path = resolve(path || '.') @@ -398,6 +389,7 @@ class Shrinkwrap { this[_awaitingUpdate] = new Map() const lockfileVersion = this.lockfileVersion || defaultLockfileVersion this.originalLockfileVersion = lockfileVersion + this.data = { lockfileVersion, requires: true, @@ -496,8 +488,14 @@ class Shrinkwrap { this.ancientLockfile = false return {} }).then(lock => { - const lockfileVersion = this.lockfileVersion ? this.lockfileVersion - : Math.max(lock.lockfileVersion || 0, defaultLockfileVersion) + // auto convert v1 lockfiles to v3 + // leave v2 in place unless configured + // v3 by default + const lockfileVersion = + this.lockfileVersion ? this.lockfileVersion + : lock.lockfileVersion === 1 ? defaultLockfileVersion + : lock.lockfileVersion || defaultLockfileVersion + this.data = { ...lock, lockfileVersion: lockfileVersion, @@ -507,6 +505,7 @@ class Shrinkwrap { } this.originalLockfileVersion = lock.lockfileVersion + // use default if it wasn't explicitly set, and the current file is // less than our default. otherwise, keep whatever is in the file, // unless we had an explicit setting already. @@ -1135,7 +1134,17 @@ class Shrinkwrap { if (!this.data) { throw new Error('run load() before saving data') } + const json = this.toString(options) + if ( + !this.hiddenLockfile + && this.originalLockfileVersion !== undefined + && this.originalLockfileVersion !== this.lockfileVersion + ) { + log.warn( + `Converting lock file (${relative(process.cwd(), this.filename)}) from v${this.originalLockfileVersion} -> v${this.lockfileVersion}` + ) + } return Promise.all([ writeFile(this.filename, json).catch(er => { if (this.hiddenLockfile) { diff --git a/workspaces/arborist/tap-snapshots/test/arborist/build-ideal-tree.js.test.cjs b/workspaces/arborist/tap-snapshots/test/arborist/build-ideal-tree.js.test.cjs index 42327a9db1924..3559497804752 100644 --- a/workspaces/arborist/tap-snapshots/test/arborist/build-ideal-tree.js.test.cjs +++ b/workspaces/arborist/tap-snapshots/test/arborist/build-ideal-tree.js.test.cjs @@ -97925,7 +97925,7 @@ exports[`test/arborist/build-ideal-tree.js TAP store files with a custom indenti { "name": "tab-indented-package-json", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -97940,13 +97940,6 @@ exports[`test/arborist/build-ideal-tree.js TAP store files with a custom indenti "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" } - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - } } } diff --git a/workspaces/arborist/tap-snapshots/test/arborist/pruner.js.test.cjs b/workspaces/arborist/tap-snapshots/test/arborist/pruner.js.test.cjs index 6a814fedfa812..16c732a8b5600 100644 --- a/workspaces/arborist/tap-snapshots/test/arborist/pruner.js.test.cjs +++ b/workspaces/arborist/tap-snapshots/test/arborist/pruner.js.test.cjs @@ -18,20 +18,7 @@ ArboristNode { exports[`test/arborist/pruner.js TAP prune with actual tree omit dev > should keep dev dependencies in package-lock.json 1`] = ` Object { - "dependencies": Object { - "once": Object { - "dev": true, - "requires": Object { - "wrappy": "1", - }, - "version": "1.4.0", - }, - "wrappy": Object { - "dev": true, - "version": "1.0.2", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "prune-actual", "packages": Object { "": Object { diff --git a/workspaces/arborist/tap-snapshots/test/arborist/reify.js.test.cjs b/workspaces/arborist/tap-snapshots/test/arborist/reify.js.test.cjs index 32b02494f7cf2..5650fddcef0ea 100644 --- a/workspaces/arborist/tap-snapshots/test/arborist/reify.js.test.cjs +++ b/workspaces/arborist/tap-snapshots/test/arborist/reify.js.test.cjs @@ -206,7 +206,7 @@ ArboristNode { exports[`test/arborist/reify.js TAP add a new pkg to a prefix that needs to be mkdirpd > should place expected lockfile file into place 1`] = ` { "name": "root", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -219,13 +219,6 @@ exports[`test/arborist/reify.js TAP add a new pkg to a prefix that needs to be m "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" } - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - } } } @@ -471,56 +464,7 @@ ArboristNode { exports[`test/arborist/reify.js TAP add deps to workspaces add mkdirp 0.5.0 to b > lockfile 1`] = ` Object { - "dependencies": Object { - "a": Object { - "dependencies": Object { - "mkdirp": Object { - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": Object { - "minimist": "^1.2.5", - }, - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "version": "0.5.5", - }, - }, - "requires": Object { - "mkdirp": "^0.5.0", - }, - "version": "file:packages/a", - }, - "b": Object { - "dependencies": Object { - "minimist": Object { - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "version": "0.0.8", - }, - "mkdirp": Object { - "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", - "requires": Object { - "minimist": "0.0.8", - }, - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", - "version": "0.5.0", - }, - }, - "requires": Object { - "mkdirp": "0.5.0", - }, - "version": "file:packages/b", - }, - "minimist": Object { - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "version": "1.2.5", - }, - "mkdirp": Object { - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "version": "1.0.4", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "tap-testdir-reify-add-deps-to-workspaces-add-mkdirp-0.5.0-to-b", "packages": Object { "": Object { @@ -814,56 +758,7 @@ ArboristNode { exports[`test/arborist/reify.js TAP add deps to workspaces add mkdirp 0.5.0 to b, empty start > lockfile 1`] = ` Object { - "dependencies": Object { - "a": Object { - "dependencies": Object { - "mkdirp": Object { - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": Object { - "minimist": "^1.2.5", - }, - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "version": "0.5.5", - }, - }, - "requires": Object { - "mkdirp": "^0.5.0", - }, - "version": "file:packages/a", - }, - "b": Object { - "dependencies": Object { - "minimist": Object { - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "version": "0.0.8", - }, - "mkdirp": Object { - "integrity": "sha1-HXMHam35hs2TROFecfzAWkyavxI=", - "requires": Object { - "minimist": "0.0.8", - }, - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.0.tgz", - "version": "0.5.0", - }, - }, - "requires": Object { - "mkdirp": "0.5.0", - }, - "version": "file:packages/b", - }, - "minimist": Object { - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "version": "1.2.5", - }, - "mkdirp": Object { - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "version": "1.0.4", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "tap-testdir-reify-add-deps-to-workspaces-add-mkdirp-0.5.0-to-b-empty-start", "packages": Object { "": Object { @@ -1069,38 +964,7 @@ ArboristNode { exports[`test/arborist/reify.js TAP add deps to workspaces no args > lockfile 1`] = ` Object { - "dependencies": Object { - "a": Object { - "dependencies": Object { - "mkdirp": Object { - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "requires": Object { - "minimist": "^1.2.5", - }, - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "version": "0.5.5", - }, - }, - "requires": Object { - "mkdirp": "^0.5.0", - }, - "version": "file:packages/a", - }, - "b": Object { - "version": "file:packages/b", - }, - "minimist": Object { - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "version": "1.2.5", - }, - "mkdirp": Object { - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "version": "1.0.4", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "tap-testdir-reify-add-deps-to-workspaces-no-args", "packages": Object { "": Object { @@ -1316,20 +1180,7 @@ ArboristNode { exports[`test/arborist/reify.js TAP add deps to workspaces remove mkdirp from a > lockfile 1`] = ` Object { - "dependencies": Object { - "a": Object { - "version": "file:packages/a", - }, - "b": Object { - "version": "file:packages/b", - }, - "mkdirp": Object { - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "version": "1.0.4", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "tap-testdir-reify-add-deps-to-workspaces-remove-mkdirp-from-a", "packages": Object { "": Object { @@ -1485,20 +1336,7 @@ ArboristNode { exports[`test/arborist/reify.js TAP add deps to workspaces remove mkdirp from a, empty start > lockfile 1`] = ` Object { - "dependencies": Object { - "a": Object { - "version": "file:packages/a", - }, - "b": Object { - "version": "file:packages/b", - }, - "mkdirp": Object { - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "version": "1.0.4", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "tap-testdir-reify-add-deps-to-workspaces-remove-mkdirp-from-a-empty-start", "packages": Object { "": Object { @@ -1614,23 +1452,7 @@ ArboristNode { exports[`test/arborist/reify.js TAP add deps to workspaces upgrade mkdirp in a, dedupe on root > lockfile 1`] = ` Object { - "dependencies": Object { - "a": Object { - "requires": Object { - "mkdirp": "1", - }, - "version": "file:packages/a", - }, - "b": Object { - "version": "file:packages/b", - }, - "mkdirp": Object { - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "version": "1.0.4", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "tap-testdir-reify-add-deps-to-workspaces-upgrade-mkdirp-in-a-dedupe-on-root", "packages": Object { "": Object { @@ -1806,23 +1628,7 @@ ArboristNode { exports[`test/arborist/reify.js TAP add deps to workspaces upgrade mkdirp in a, dedupe on root, empty start > lockfile 1`] = ` Object { - "dependencies": Object { - "a": Object { - "requires": Object { - "mkdirp": "1", - }, - "version": "file:packages/a", - }, - "b": Object { - "version": "file:packages/b", - }, - "mkdirp": Object { - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "version": "1.0.4", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "tap-testdir-reify-add-deps-to-workspaces-upgrade-mkdirp-in-a-dedupe-on-root-empty-start", "packages": Object { "": Object { @@ -2612,7 +2418,7 @@ exports[`test/arborist/reify.js TAP do not excessively duplicate bundled metadep { "name": "@isaacs/bundle-metadep-duplication-root", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "node_modules/@isaacs/bundle-metadep-duplication-x": { @@ -2663,7 +2469,7 @@ exports[`test/arborist/reify.js TAP do not excessively duplicate bundled metadep { "name": "@isaacs/bundle-metadep-duplication-root", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -2712,46 +2518,6 @@ exports[`test/arborist/reify.js TAP do not excessively duplicate bundled metadep "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" } - }, - "dependencies": { - "@isaacs/bundle-metadep-duplication-x": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/@isaacs/bundle-metadep-duplication-x/-/bundle-metadep-duplication-x-1.0.2.tgz", - "integrity": "sha512-mlCA3lXLaraoJFrnZ1sBZeXy4qdYpubKH8jZB5KIjCCwcWPgOui/EWTWnf/wf0Q08V0qr8xmG63wGQgEa+hkSw==", - "requires": { - "@isaacs/bundle-metadep-duplication-y": "1", - "@isaacs/bundle-metadep-duplication-z": "1", - "abbrev": "1" - }, - "dependencies": { - "@isaacs/bundle-metadep-duplication-a": { - "version": "1.0.0", - "bundled": true, - "requires": { - "@isaacs/bundle-metadep-duplication-z": "1" - } - }, - "@isaacs/bundle-metadep-duplication-y": { - "version": "1.0.0", - "bundled": true, - "requires": { - "@isaacs/bundle-metadep-duplication-z": "1" - } - }, - "@isaacs/bundle-metadep-duplication-z": { - "version": "1.0.0", - "bundled": true, - "requires": { - "@isaacs/bundle-metadep-duplication-a": "1" - } - } - } - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - } } } @@ -3542,7 +3308,7 @@ ArboristNode { exports[`test/arborist/reify.js TAP filtered reification in workspaces > hidden lockfile - c 1`] = ` { "name": "tap-testdir-reify-filtered-reification-in-workspaces", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "node_modules/c": { @@ -3568,7 +3334,7 @@ exports[`test/arborist/reify.js TAP filtered reification in workspaces > hidden exports[`test/arborist/reify.js TAP filtered reification in workspaces > hidden lockfile - c, old x, removed a 1`] = ` { "name": "tap-testdir-reify-filtered-reification-in-workspaces", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "apps/x": { @@ -3601,7 +3367,7 @@ exports[`test/arborist/reify.js TAP filtered reification in workspaces > hidden exports[`test/arborist/reify.js TAP filtered reification in workspaces > hidden lockfile - c, x 1`] = ` { "name": "tap-testdir-reify-filtered-reification-in-workspaces", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "apps/x": { @@ -3634,7 +3400,7 @@ exports[`test/arborist/reify.js TAP filtered reification in workspaces > hidden exports[`test/arborist/reify.js TAP filtered reification in workspaces > hidden lockfile - c, x, a 1`] = ` { "name": "tap-testdir-reify-filtered-reification-in-workspaces", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "apps/x": { @@ -3691,7 +3457,7 @@ exports[`test/arborist/reify.js TAP filtered reification in workspaces > hidden exports[`test/arborist/reify.js TAP filtered reification in workspaces > hidden lockfile - foo/x linked, c, old x, removed a 1`] = ` { "name": "tap-testdir-reify-filtered-reification-in-workspaces", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "apps/x": { @@ -4552,7 +4318,7 @@ ArboristNode { exports[`test/arborist/reify.js TAP just the shrinkwrap cli-750-fresh > must match snapshot 1`] = ` { "name": "monorepo", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -4575,17 +4341,6 @@ exports[`test/arborist/reify.js TAP just the shrinkwrap cli-750-fresh > must mat "resolved": "lib", "link": true } - }, - "dependencies": { - "app": { - "version": "file:app", - "requires": { - "lib": "file:../lib" - } - }, - "lib": { - "version": "file:lib" - } } } @@ -4594,7 +4349,7 @@ exports[`test/arborist/reify.js TAP just the shrinkwrap cli-750-fresh > must mat exports[`test/arborist/reify.js TAP just the shrinkwrap yarn-lock-mkdirp > must match snapshot 1`] = ` { "name": "tap-testdir-reify-just-the-shrinkwrap-yarn-lock-mkdirp", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -4613,13 +4368,6 @@ exports[`test/arborist/reify.js TAP just the shrinkwrap yarn-lock-mkdirp > must "node": ">=10" } } - }, - "dependencies": { - "mkdirp": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.2.tgz", - "integrity": "sha512-N2REVrJ/X/jGPfit2d7zea2J1pf7EAR5chIUcfHffAZ7gmlam5U65sAm76+o4ntQbSRdTjYf7qZz3chuHlwXEA==" - } } } @@ -17744,7 +17492,7 @@ exports[`test/arborist/reify.js TAP packageLockOnly can add deps > must match sn exports[`test/arborist/reify.js TAP packageLockOnly can add deps > must match snapshot 2`] = ` { "name": "tap-testdir-reify-packageLockOnly-can-add-deps", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -17757,13 +17505,6 @@ exports[`test/arborist/reify.js TAP packageLockOnly can add deps > must match sn "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" } - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - } } } @@ -17921,14 +17662,7 @@ ArboristNode { exports[`test/arborist/reify.js TAP reify from old package-lock with bins > should add bins entry to package-lock packages entry 1`] = ` Object { - "dependencies": Object { - "ruy": Object { - "integrity": "sha512-VYppDTCM6INWUMKlWiKws4nVMuCNU5h+xjF6lj/0y90rLq017/m8aEpNy4zQSZFV2qz66U/hRZwwlSLJ5l5JMQ==", - "resolved": "https://registry.npmjs.org/ruy/-/ruy-1.0.0.tgz", - "version": "1.0.0", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "old-package-lock-with-bins", "packages": Object { "": Object { @@ -32821,7 +32555,7 @@ exports[`test/arborist/reify.js TAP save complete lockfile on update-all > shoul { "name": "save-package-lock-after-update-test", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -32836,13 +32570,6 @@ exports[`test/arborist/reify.js TAP save complete lockfile on update-all > shoul "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=" } - }, - "dependencies": { - "abbrev": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.4.tgz", - "integrity": "sha1-vVWuXkE7oXIu5Mq6H26hBBSlns0=" - } } } @@ -32852,7 +32579,7 @@ exports[`test/arborist/reify.js TAP save complete lockfile on update-all > shoul { "name": "save-package-lock-after-update-test", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -32867,13 +32594,6 @@ exports[`test/arborist/reify.js TAP save complete lockfile on update-all > shoul "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" } - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - } } } @@ -32938,7 +32658,7 @@ exports[`test/arborist/reify.js TAP save package.json on update should not save exports[`test/arborist/reify.js TAP save package.json on update should not save many deps in multiple package.json when using save=false > should update lockfile with many deps updated package.json save=false 1`] = ` { "name": "tap-testdir-reify-save-package.json-on-update-should-not-save-many-deps-in-multiple-package.json-when-using-save-false", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -32987,39 +32707,6 @@ exports[`test/arborist/reify.js TAP save package.json on update should not save "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" } - }, - "dependencies": { - "a": { - "version": "file:a", - "requires": { - "abbrev": "^1.0.4", - "once": "^1.3.2" - } - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "b": { - "version": "file:b", - "requires": { - "abbrev": "^1.0.4" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - } } } @@ -33028,7 +32715,7 @@ exports[`test/arborist/reify.js TAP save package.json on update should not save exports[`test/arborist/reify.js TAP save package.json on update should save many deps in multiple package.json when using save=true > should update lockfile with many deps updated package.json save=true 1`] = ` { "name": "tap-testdir-reify-save-package.json-on-update-should-save-many-deps-in-multiple-package.json-when-using-save-true", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -33077,39 +32764,6 @@ exports[`test/arborist/reify.js TAP save package.json on update should save many "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" } - }, - "dependencies": { - "a": { - "version": "file:a", - "requires": { - "abbrev": "^1.0.4", - "once": "^1.3.2" - } - }, - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - }, - "b": { - "version": "file:b", - "requires": { - "abbrev": "^1.0.4" - } - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" - } - }, - "wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" - } } } @@ -33298,7 +32952,7 @@ exports[`test/arborist/reify.js TAP save package.json on update should update si exports[`test/arborist/reify.js TAP save proper lockfile with bins when upgrading lockfile complete=false > should upgrade, with bins in place 1`] = ` { "name": "tap-testdir-reify-save-proper-lockfile-with-bins-when-upgrading-lockfile-complete-false", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -33317,13 +32971,6 @@ exports[`test/arborist/reify.js TAP save proper lockfile with bins when upgradin "node": ">=10" } } - }, - "dependencies": { - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" - } } } @@ -33332,7 +32979,7 @@ exports[`test/arborist/reify.js TAP save proper lockfile with bins when upgradin exports[`test/arborist/reify.js TAP save proper lockfile with bins when upgrading lockfile complete=true > should upgrade, with bins in place 1`] = ` { "name": "tap-testdir-reify-save-proper-lockfile-with-bins-when-upgrading-lockfile-complete-true", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -33351,13 +32998,6 @@ exports[`test/arborist/reify.js TAP save proper lockfile with bins when upgradin "node": ">=10" } } - }, - "dependencies": { - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==" - } } } @@ -33373,46 +33013,7 @@ exports[`test/arborist/reify.js TAP saveBundle > must match snapshot 1`] = ` exports[`test/arborist/reify.js TAP saving the ideal tree save some stuff > lock after save 1`] = ` Object { - "dependencies": Object { - "a": Object { - "extraneous": true, - "from": "a@git+ssh://git@github.com:foo/bar#baz", - "version": "git+ssh://git@github.com:foo/bar#71f3ccfefba85d2048484569dba8c1829f6f41d7", - }, - "b": Object { - "extraneous": true, - "resolved": "https://registry.npmjs.org/b/-/b-1.2.3.tgz", - "version": "1.2.3", - }, - "c": Object { - "extraneous": true, - "from": "c@git+ssh://git@githost.com:a/b/c.git#master", - "version": "git+ssh://git@githost.com:a/b/c.git#71f3ccfefba85d2048484569dba8c1829f6f41d7", - }, - "d": Object { - "extraneous": true, - "resolved": "https://registry.npmjs.org/c/-/c-1.2.3.tgz", - "version": "npm:c@1.2.3", - }, - "e": Object { - "version": "file:e", - }, - "f": Object { - "extraneous": true, - "from": "f@git+https://user:pass@github.com/baz/quux#asdf", - "version": "git+https://user:pass@github.com/baz/quux#71f3ccfefba85d2048484569dba8c1829f6f41d7", - }, - "g": Object { - "extraneous": true, - "resolved": "https://registry.npmjs.org/g/-/g-1.2.3.tgz", - }, - "h": Object { - "extraneous": true, - "resolved": "https://registry.npmjs.org/h/-/h-1.2.3.tgz", - "version": "1.2.3", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "tap-testdir-reify-saving-the-ideal-tree-save-some-stuff", "packages": Object { "": Object { @@ -33523,7 +33124,7 @@ exports[`test/arborist/reify.js TAP store files with a custom indenting > must m { "name": "tab-indented-package-json", "version": "1.0.0", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { @@ -33538,13 +33139,6 @@ exports[`test/arborist/reify.js TAP store files with a custom indenting > must m "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" } - }, - "dependencies": { - "abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==" - } } } @@ -34592,16 +34186,6 @@ ArboristNode { } ` -exports[`test/arborist/reify.js TAP update a bundling node without updating all of its deps > contains fsevents in lockfile 1`] = ` -Object { - "dev": true, - "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", - "optional": true, - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", - "version": "2.1.2", -} -` - exports[`test/arborist/reify.js TAP update a bundling node without updating all of its deps > expect resolving Promise 1`] = ` ArboristNode { "children": Map { @@ -53756,18 +53340,7 @@ ArboristNode { exports[`test/arborist/reify.js TAP workspaces reify workspaces lockfile > should lock workspaces config 1`] = ` Object { - "dependencies": Object { - "a": Object { - "requires": Object { - "b": "^1.0.0", - }, - "version": "file:a", - }, - "b": Object { - "version": "file:b", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "workspace-simple", "packages": Object { "": Object { @@ -53801,47 +53374,7 @@ Object { exports[`test/arborist/reify.js TAP workspaces root as-a-workspace > should produce expected package-lock file 1`] = ` Object { - "dependencies": Object { - "a": Object { - "requires": Object { - "abbrev": "^1.0.0", - }, - "version": "file:a", - }, - "abbrev": Object { - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "version": "1.1.1", - }, - "b": Object { - "version": "file:b", - }, - "workspaces-root-linked": Object { - "dependencies": Object { - "a": Object { - "requires": Object { - "abbrev": "^1.0.0", - }, - "version": "file:a", - }, - "abbrev": Object { - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "version": "1.1.1", - }, - "b": Object { - "version": "file:b", - }, - }, - "requires": Object { - "a": "file:a", - "b": "file:b", - "workspaces-root-linked": "file:", - }, - "version": "file:", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "workspaces-root-linked", "packages": Object { "": Object { diff --git a/workspaces/arborist/tap-snapshots/test/shrinkwrap.js.test.cjs b/workspaces/arborist/tap-snapshots/test/shrinkwrap.js.test.cjs index 93f6e8a89b59b..b30d1aa02da81 100644 --- a/workspaces/arborist/tap-snapshots/test/shrinkwrap.js.test.cjs +++ b/workspaces/arborist/tap-snapshots/test/shrinkwrap.js.test.cjs @@ -13,7 +13,7 @@ Object { "version": "file:mkdirp", }, }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "root", "packages": Object { "": Object { @@ -57,7 +57,7 @@ Object { "version": "1.0.2", }, }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "root", "packages": Object { "": Object { @@ -98,7 +98,7 @@ Object { "version": "1.0.2", }, }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "root", "packages": Object { "": Object { @@ -137,7 +137,7 @@ Object { "version": "1.0.2", }, }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "root", "packages": Object { "": Object { @@ -175,7 +175,7 @@ Object { "version": "1.0.4", }, }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "root", "packages": Object { "": Object { @@ -211,7 +211,7 @@ Object { "version": "1.0.4", }, }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "root", "packages": Object { "": Object { @@ -272,93 +272,7 @@ Object { exports[`test/shrinkwrap.js TAP construct metadata from node and package data > data calculated from nodes themselves 1`] = ` Object { - "dependencies": Object { - "a": Object { - "integrity": "sha512-helloyesthisisdog", - "resolved": "https://example.com/a.tgz", - "version": "1.2.3", - }, - "d": Object { - "dependencies": Object { - "bundled": Object { - "bundled": true, - "dev": true, - "version": "npm:not-bundled-tho@1.2.3", - }, - "git-dep": Object { - "dev": true, - "from": "git-dep@github:foo/bar", - "version": "git+ssh://git@github.com/foo/bar.git#0000000000000000000000000000000000000000", - }, - }, - "dev": true, - "requires": Object { - "bundled": "npm:not-bundled-tho@*", - "e": "1.2.3", - "git-dep": "github:foo/bar", - }, - "version": "1.2.3", - }, - "devit": Object { - "dev": true, - "requires": Object { - "devo": "", - }, - "version": "1.2.3", - }, - "devo": Object { - "devOptional": true, - "version": "1.2.3", - }, - "e": Object { - "dev": true, - "requires": Object { - "tgz": "", - "tgz-pkg-resolved": "", - }, - "version": "https://foo.com/e.tgz", - }, - "link": Object { - "version": "file:target", - }, - "nopkg": Object { - "extraneous": true, - }, - "optin": Object { - "optional": true, - "requires": Object { - "devo": "", - }, - "version": "1.2.3", - }, - "peer": Object { - "dependencies": Object { - "peerdep": Object { - "integrity": "sha512-peerdeppeerdep", - "peer": true, - "resolved": "https://peer.com/peerdep.tgz", - "version": "1.2.3", - }, - }, - "integrity": "sha512-peerpeerpeer", - "peer": true, - "requires": Object { - "peerdep": "", - }, - "resolved": "https://peer.com/peer.tgz", - "version": "1.2.3", - }, - "tgz": Object { - "dev": true, - "version": "1.2.3", - }, - "tgz-pkg-resolved": Object { - "dev": true, - "integrity": "sha512-tarball/package/resolved/integrity", - "version": "1.2.3", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "root", "packages": Object { "": Object { @@ -678,13 +592,7 @@ Object { exports[`test/shrinkwrap.js TAP handle missing dependencies object without borking > must match snapshot 1`] = ` Object { - "dependencies": Object { - "foo": Object { - "integrity": "foo integrity", - "resolved": "http://foo.com/", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "packages": Object { "node_modules/foo": Object {}, }, @@ -916,7 +824,7 @@ Object { "version": "1.0.2", }, }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "a", "packages": Object { "": Object { @@ -1168,7 +1076,7 @@ Object { "version": "1.0.2", }, }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "dev-deps", "packages": Object { "": Object { @@ -1228,10 +1136,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests bundle > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "dep": Object {}, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "bundle", "packages": Object { "": Object { @@ -1253,71 +1158,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests deepmixedloop > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "a": Object { - "optional": true, - "requires": Object { - "b": "", - }, - "version": "1.2.3", - }, - "b": Object { - "optional": true, - "requires": Object { - "c": "", - }, - "version": "1.2.3", - }, - "c": Object { - "optional": true, - "requires": Object { - "d": "", - }, - "version": "1.2.3", - }, - "d": Object { - "optional": true, - "requires": Object { - "e": "", - }, - "version": "1.2.3", - }, - "e": Object { - "optional": true, - "version": "1.2.3", - }, - "i": Object { - "dev": true, - "requires": Object { - "j": "", - }, - }, - "j": Object { - "dev": true, - "requires": Object { - "k": "", - }, - }, - "k": Object { - "dev": true, - }, - "x": Object { - "requires": Object { - "y": "", - }, - }, - "y": Object { - "requires": Object { - "z": "", - }, - }, - "z": Object { - "requires": Object { - "a": "", - }, - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "root", "packages": Object { "": Object { @@ -1398,72 +1239,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests deeproot/root > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "@scope/x": Object { - "dependencies": Object { - "glob": Object { - "dependencies": Object { - "graceful-fs": Object { - "version": "3.0.2", - }, - "inherits": Object { - "version": "2.0.1", - }, - "minimatch": Object { - "dependencies": Object { - "lru-cache": Object { - "version": "2.5.0", - }, - "sigmund": Object { - "version": "1.0.0", - }, - }, - "requires": Object { - "lru-cache": "", - "once": "", - "sigmund": "", - }, - "version": "1.0.0", - }, - "once": Object { - "version": "1.3.0", - }, - }, - "requires": Object { - "graceful-fs": "", - "inherits": "", - "minimatch": "", - "once": "", - }, - "version": "4.0.5", - }, - }, - "requires": Object { - "@scope/y": "", - "glob": "4", - }, - "version": "1.2.3", - }, - "@scope/y": Object { - "requires": Object { - "foo": "99.x", - }, - "version": "1.2.3", - }, - "foo": Object { - "dependencies": Object { - "express": Object { - "version": "npm:abbrev@1.1.1", - }, - }, - "requires": Object { - "@scope/x": "", - "express": "npm:abbrev@*", - }, - "version": "1.2.3", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "root", "packages": Object { "": Object { @@ -1554,32 +1330,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests devloop > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "a": Object { - "dev": true, - "requires": Object { - "b": "", - "d": "", - }, - "version": "1.2.3", - }, - "b": Object { - "version": "1.2.3", - }, - "c": Object { - "requires": Object { - "d": "", - }, - "version": "1.2.3", - }, - "d": Object { - "requires": Object { - "b": "", - }, - "version": "1.2.3", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "devloop", "packages": Object { "": Object { @@ -1621,7 +1372,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests external-dep/root > shrinkwrap data 1`] = ` Object { - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "root", "packages": Object { "": Object { @@ -1639,21 +1390,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests external-link-cached-dummy-dep/root > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "x": Object { - "requires": Object { - "y": "", - }, - "version": "file:../a/node_modules/b/node_modules/x", - }, - "z": Object { - "requires": Object { - "b": "", - }, - "version": "file:../a/t/u/v/w/x/y/z", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "root", "packages": Object { "": Object { @@ -1813,214 +1550,36 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests install-types > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "abbrev": Object { + "lockfileVersion": 3, + "name": "a", + "packages": Object { + "": Object { + "dependencies": Object { + "abbrev": "^1.1.1", + "bundler": "1.2.3", + "full-git-url": "git+https://github.com/isaacs/abbrev-js.git", + "ghshort": "github:isaacs/abbrev-js", + "old": "npm:abbrev@^1.0.3", + "pinned": "npm:abbrev@^1.1.1", + "reg": "npm:abbrev@^1.1.1", + "remote": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "symlink": "file:./abbrev-link-target", + "tarball": "file:abbrev-1.1.1.tgz", + }, + "name": "a", + "version": "1.2.3", + }, + "abbrev-link-target": Object { + "devDependencies": Object { + "tap": "^14.4.1", + }, + "license": "ISC", + "name": "abbrev", + "version": "1.1.1", + }, + "node_modules/abbrev": Object { "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "version": "1.1.1", - }, - "balanced-match": Object { - "extraneous": true, - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "version": "1.0.0", - }, - "brace-expansion": Object { - "extraneous": true, - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": Object { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1", - }, - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "version": "1.1.11", - }, - "bundler": Object { - "dependencies": Object { - "a": Object { - "bundled": true, - "integrity": "sha1-3Klr13/Wjfd5OnMDajug1UBdR3s=", - "requires": Object { - "b": "", - }, - "resolved": "https://registry.internal/a/-/a-1.2.3.tgz", - "version": "1.2.3", - }, - "b": Object { - "bundled": true, - "integrity": "sha1-4Klr13/Wjfd5OnMDajug1UBdR3s=", - "requires": Object { - "c": "", - }, - "resolved": "https://registry.internal/b/-/b-1.2.3.tgz", - "version": "1.2.3", - }, - "c": Object { - "bundled": true, - "integrity": "sha1-5Klr13/Wjfd5OnMDajug1UBdR3s=", - "resolved": "https://registry.internal/c/-/c-1.2.3.tgz", - "version": "1.2.3", - }, - }, - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "requires": Object { - "a": "", - }, - "resolved": "https://registry.internal/bundler/-/bundler-1.2.3.tgz", - "version": "1.2.3", - }, - "concat-map": Object { - "extraneous": true, - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "version": "0.0.1", - }, - "fs.realpath": Object { - "extraneous": true, - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "version": "1.0.0", - }, - "full-git-url": Object { - "from": "full-git-url@git+https://github.com/isaacs/abbrev-js.git", - "version": "git+ssh://git@github.com/isaacs/abbrev-js.git#a9ee72ebc8fe3975f1b0c7aeb3a8f2a806a432eb", - }, - "ghshort": Object { - "from": "ghshort@github:isaacs/abbrev-js", - "version": "git+ssh://git@github.com/isaacs/abbrev-js.git#a9ee72ebc8fe3975f1b0c7aeb3a8f2a806a432eb", - }, - "ghtgz": Object { - "extraneous": true, - "integrity": "sha512-yowslMd9y/lGBCDVO0RwZoXRK5X0zMsf6XECM6DdeqN7qwVnFQ6IAwJai7BD4mVe1xOdWWqWNkuzyuStvSBnHw==", - "version": "https://codeload.github.com/isaacs/abbrev-js/tar.gz/a9ee72ebc8fe3975f1b0c7aeb3a8f2a806a432eb", - }, - "glob": Object { - "extraneous": true, - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "requires": Object { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "version": "7.1.4", - }, - "inflight": Object { - "extraneous": true, - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": Object { - "once": "^1.3.0", - "wrappy": "1", - }, - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "version": "1.0.6", - }, - "inherits": Object { - "extraneous": true, - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "version": "2.0.4", - }, - "minimatch": Object { - "extraneous": true, - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": Object { - "brace-expansion": "^1.1.7", - }, - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "version": "3.0.4", - }, - "old": Object { - "integrity": "sha1-qgScln+ZkiKqQuFENPDFYu9GgkE=", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.0.3.tgz", - "version": "npm:abbrev@1.0.3", - }, - "once": Object { - "extraneous": true, - "integrity": "sha512-oic2VxBO6ZRyhk4W/amcN3D4tGpSELjpXwShWPBHNVDvVXo2+JcNnNx6Dth+Y961vfz7SmCCc6RP2oNQE2yVwQ==", - "requires": Object { - "wrappy": "1", - }, - "version": "1.4.0", - }, - "path-is-absolute": Object { - "extraneous": true, - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "version": "1.0.1", - }, - "pinned": Object { - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "version": "npm:abbrev@1.1.1", - }, - "reg": Object { - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "resolved": "https://localhost:8080/abbrev/-/abbrev-1.1.1.tgz", - "version": "npm:abbrev@1.1.1", - }, - "remote": Object { - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "version": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - }, - "rimraf": Object { - "extraneous": true, - "integrity": "sha512-hKCr1HweNbIu6JN4K8WYBwikeg2ISRHU2D7OTX0fivTb+2dOM7mITni0cAjgWCsNGUQDFI+4BTNeGBVp/WbBow==", - "requires": Object { - "glob": "^7.1.3", - }, - "version": "file:rimraf-2.6.3.tgz", - }, - "symlink": Object { - "requires": Object { - "tap": "^14.4.1", - }, - "version": "file:abbrev-link-target", - }, - "tarball": Object { - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "version": "file:abbrev-1.1.1.tgz", - }, - "wrappy": Object { - "extraneous": true, - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "resolved": "https://localhost:8080/wrappy/-/wrappy-1.0.2.tgz", - "version": "1.0.2", - }, - }, - "lockfileVersion": 2, - "name": "a", - "packages": Object { - "": Object { - "dependencies": Object { - "abbrev": "^1.1.1", - "bundler": "1.2.3", - "full-git-url": "git+https://github.com/isaacs/abbrev-js.git", - "ghshort": "github:isaacs/abbrev-js", - "old": "npm:abbrev@^1.0.3", - "pinned": "npm:abbrev@^1.1.1", - "reg": "npm:abbrev@^1.1.1", - "remote": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "symlink": "file:./abbrev-link-target", - "tarball": "file:abbrev-1.1.1.tgz", - }, - "name": "a", - "version": "1.2.3", - }, - "abbrev-link-target": Object { - "devDependencies": Object { - "tap": "^14.4.1", - }, - "license": "ISC", - "name": "abbrev", - "version": "1.1.1", - }, - "node_modules/abbrev": Object { - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "license": "ISC", + "license": "ISC", "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", "version": "1.1.1", }, @@ -2249,37 +1808,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests link-dep-cycle > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "a": Object { - "dependencies": Object { - "b": Object { - "requires": Object { - "a": "file:../a", - }, - "version": "file:b", - }, - }, - "requires": Object { - "b": "file:../b", - }, - "version": "file:a", - }, - "b": Object { - "dependencies": Object { - "a": Object { - "requires": Object { - "b": "file:../b", - }, - "version": "file:a", - }, - }, - "requires": Object { - "a": "file:../a", - }, - "version": "file:b", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "link-dep-cycle", "packages": Object { "": Object { @@ -2321,33 +1850,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests link-dep-nested > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "foo": Object { - "dependencies": Object { - "wrappy": Object { - "version": "1.0.2", - }, - }, - "requires": Object { - "tap": "^7.0.1", - "wrappy": "1", - }, - "version": "file:once", - }, - "once": Object { - "dependencies": Object { - "wrappy": Object { - "version": "1.0.2", - }, - }, - "requires": Object { - "tap": "^7.0.1", - "wrappy": "1", - }, - "version": "file:once", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "nested-thingies", "packages": Object { "": Object { @@ -2388,45 +1891,10 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests link-dep-nested/root > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "bork": Object { - "dependencies": Object { - "foo": Object { - "dependencies": Object { - "wrappy": Object { - "version": "1.0.2", - }, - }, - "requires": Object { - "tap": "^7.0.1", - "wrappy": "1", - }, - "version": "file:../once", - }, - "once": Object { - "dependencies": Object { - "wrappy": Object { - "version": "1.0.2", - }, - }, - "requires": Object { - "tap": "^7.0.1", - "wrappy": "1", - }, - "version": "file:../once", - }, - }, - "requires": Object { - "foo": "file:once", - "once": "file:once", - }, - "version": "file:..", - }, - }, - "lockfileVersion": 2, - "name": "root", - "packages": Object { - "": Object { + "lockfileVersion": 3, + "name": "root", + "packages": Object { + "": Object { "dependencies": Object { "bork": "file:..", }, @@ -2475,72 +1943,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests linkedroot > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "@scope/x": Object { - "dependencies": Object { - "glob": Object { - "dependencies": Object { - "graceful-fs": Object { - "version": "3.0.2", - }, - "inherits": Object { - "version": "2.0.1", - }, - "minimatch": Object { - "dependencies": Object { - "lru-cache": Object { - "version": "2.5.0", - }, - "sigmund": Object { - "version": "1.0.0", - }, - }, - "requires": Object { - "lru-cache": "", - "once": "", - "sigmund": "", - }, - "version": "1.0.0", - }, - "once": Object { - "version": "1.3.0", - }, - }, - "requires": Object { - "graceful-fs": "", - "inherits": "", - "minimatch": "", - "once": "", - }, - "version": "4.0.5", - }, - }, - "requires": Object { - "@scope/y": "", - "glob": "4", - }, - "version": "1.2.3", - }, - "@scope/y": Object { - "requires": Object { - "foo": "99.x", - }, - "version": "1.2.3", - }, - "foo": Object { - "dependencies": Object { - "express": Object { - "version": "npm:abbrev@1.1.1", - }, - }, - "requires": Object { - "@scope/x": "", - "express": "npm:abbrev@*", - }, - "version": "1.2.3", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "root", "packages": Object { "": Object { @@ -2631,98 +2034,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests links-all-over > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "link-deep": Object { - "dependencies": Object { - "deep-a": Object { - "version": "1.2.3", - }, - }, - "requires": Object { - "a": "", - "deep-a": "", - }, - "version": "file:node_modules/nest/node_modules/a/node_modules/b/node_modules/c/node_modules/d/node_modules/deep", - }, - "link-link": Object { - "dependencies": Object { - "deep-a": Object { - "version": "1.2.3", - }, - }, - "requires": Object { - "a": "", - "deep-a": "", - }, - "version": "file:node_modules/nest/node_modules/a/node_modules/b/node_modules/c/node_modules/d/node_modules/deep", - }, - "link-outside-nest": Object { - "requires": Object { - "link-link": "", - }, - "version": "file:real", - }, - "nest": Object { - "dependencies": Object { - "a": Object { - "dependencies": Object { - "b": Object { - "dependencies": Object { - "c": Object { - "dependencies": Object { - "d": Object { - "dependencies": Object { - "deep": Object { - "dependencies": Object { - "deep-a": Object { - "version": "1.2.3", - }, - }, - "requires": Object { - "a": "", - "deep-a": "", - }, - "version": "1.2.3", - }, - }, - "requires": Object { - "deep": "", - }, - "version": "1.2.3", - }, - }, - "requires": Object { - "d": "", - }, - "version": "1.2.3", - }, - }, - "requires": Object { - "c": "", - }, - "version": "1.2.3", - }, - }, - "requires": Object { - "b": "", - }, - "version": "1.2.3", - }, - "link-in-nest": Object { - "requires": Object { - "link-link": "", - }, - "version": "file:real", - }, - }, - "requires": Object { - "a": "", - "link-in-nest": "", - }, - "version": "1.2.3", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "links-all-over", "packages": Object { "": Object { @@ -2806,41 +2118,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests mixedloop > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "a": Object { - "optional": true, - "requires": Object { - "b": "", - }, - "version": "1.1.1", - }, - "b": Object { - "optional": true, - "requires": Object { - "c": "", - }, - "version": "1.2.3", - }, - "c": Object { - "devOptional": true, - "requires": Object { - "d": "", - }, - "version": "1.2.3", - }, - "d": Object { - "devOptional": true, - "requires": Object { - "e": "", - }, - "version": "1.2.3", - }, - "e": Object { - "devOptional": true, - "version": "1.2.3", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "root", "packages": Object { "": Object { @@ -2891,74 +2169,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests mixedmidway > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "a": Object { - "optional": true, - "requires": Object { - "b": "", - }, - "version": "1.2.3", - }, - "b": Object { - "optional": true, - "requires": Object { - "c": "", - "j": "", - }, - "version": "1.2.3", - }, - "c": Object { - "devOptional": true, - "version": "1.2.3", - }, - "i": Object { - "dev": true, - "requires": Object { - "j": "", - }, - }, - "j": Object { - "devOptional": true, - "requires": Object { - "k": "", - }, - }, - "k": Object { - "devOptional": true, - "requires": Object { - "c": "", - }, - }, - "l": Object { - "requires": Object { - "m": "", - }, - }, - "m": Object {}, - "n": Object { - "extraneous": true, - "requires": Object { - "b": "", - "j": "", - }, - }, - "x": Object { - "requires": Object { - "y": "", - }, - }, - "y": Object { - "requires": Object { - "z": "", - }, - }, - "z": Object { - "requires": Object { - "l": "", - }, - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "root", "packages": Object { "": Object { @@ -3051,12 +2262,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests noname > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "foo": Object { - "extraneous": true, - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "noname", "packages": Object { "node_modules/foo": Object { @@ -3069,32 +2275,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests optionalloop > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "a": Object { - "optional": true, - "requires": Object { - "b": "", - "d": "", - }, - "version": "1.2.3", - }, - "b": Object { - "version": "1.2.3", - }, - "c": Object { - "requires": Object { - "d": "", - }, - "version": "1.2.3", - }, - "d": Object { - "requires": Object { - "b": "", - }, - "version": "1.2.3", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "optionalloop", "packages": Object { "": Object { @@ -3136,39 +2317,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests optofdev > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "a": Object { - "dev": true, - "requires": Object { - "b": "", - "d": "", - }, - }, - "b": Object { - "dev": true, - "optional": true, - "requires": Object { - "c": "", - }, - }, - "c": Object { - "dev": true, - "optional": true, - "requires": Object { - "e": "", - }, - }, - "d": Object { - "dev": true, - "requires": Object { - "e": "", - }, - }, - "e": Object { - "dev": true, - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "optofdev", "packages": Object { "": Object { @@ -3216,52 +2365,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests other > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "glob": Object { - "dependencies": Object { - "graceful-fs": Object { - "extraneous": true, - "version": "3.0.2", - }, - "inherits": Object { - "extraneous": true, - "version": "2.0.1", - }, - "minimatch": Object { - "dependencies": Object { - "lru-cache": Object { - "extraneous": true, - "version": "2.5.0", - }, - "sigmund": Object { - "extraneous": true, - "version": "1.0.0", - }, - }, - "extraneous": true, - "requires": Object { - "lru-cache": "", - "once": "", - "sigmund": "", - }, - "version": "1.0.0", - }, - "once": Object { - "extraneous": true, - "version": "1.3.0", - }, - }, - "extraneous": true, - "requires": Object { - "graceful-fs": "", - "inherits": "", - "minimatch": "", - "once": "", - }, - "version": "file:../root/node_modules/@scope/x/node_modules/glob", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "other", "packages": Object { "../root/node_modules/@scope/x/node_modules/glob": Object { @@ -3417,72 +2521,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests root > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "@scope/x": Object { - "dependencies": Object { - "glob": Object { - "dependencies": Object { - "graceful-fs": Object { - "version": "3.0.2", - }, - "inherits": Object { - "version": "2.0.1", - }, - "minimatch": Object { - "dependencies": Object { - "lru-cache": Object { - "version": "2.5.0", - }, - "sigmund": Object { - "version": "1.0.0", - }, - }, - "requires": Object { - "lru-cache": "", - "once": "", - "sigmund": "", - }, - "version": "1.0.0", - }, - "once": Object { - "version": "1.3.0", - }, - }, - "requires": Object { - "graceful-fs": "", - "inherits": "", - "minimatch": "", - "once": "", - }, - "version": "4.0.5", - }, - }, - "requires": Object { - "@scope/y": "", - "glob": "4", - }, - "version": "1.2.3", - }, - "@scope/y": Object { - "requires": Object { - "foo": "99.x", - }, - "version": "1.2.3", - }, - "foo": Object { - "dependencies": Object { - "express": Object { - "version": "npm:abbrev@1.1.1", - }, - }, - "requires": Object { - "@scope/x": "", - "express": "npm:abbrev@*", - }, - "version": "1.2.3", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "root", "packages": Object { "": Object { @@ -3574,96 +2613,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests selflink > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "@scope/y": Object { - "requires": Object { - "foo": "*", - }, - "version": "1.2.3", - }, - "@scope/z": Object { - "dependencies": Object { - "glob": Object { - "dependencies": Object { - "graceful-fs": Object { - "extraneous": true, - "version": "3.0.2", - }, - "inherits": Object { - "extraneous": true, - "version": "2.0.1", - }, - "minimatch": Object { - "dependencies": Object { - "lru-cache": Object { - "extraneous": true, - "version": "2.5.0", - }, - "sigmund": Object { - "extraneous": true, - "version": "1.0.0", - }, - }, - "extraneous": true, - "version": "1.0.0", - }, - "once": Object { - "extraneous": true, - "version": "1.3.0", - }, - }, - "extraneous": true, - "version": "file:node_modules/foo/node_modules/glob", - }, - }, - "extraneous": true, - "requires": Object { - "glob": "4", - }, - "version": "1.2.3", - }, - "foo": Object { - "dependencies": Object { - "glob": Object { - "dependencies": Object { - "graceful-fs": Object { - "extraneous": true, - "version": "3.0.2", - }, - "inherits": Object { - "extraneous": true, - "version": "2.0.1", - }, - "minimatch": Object { - "dependencies": Object { - "lru-cache": Object { - "extraneous": true, - "version": "2.5.0", - }, - "sigmund": Object { - "extraneous": true, - "version": "1.0.0", - }, - }, - "extraneous": true, - "version": "1.0.0", - }, - "once": Object { - "extraneous": true, - "version": "1.3.0", - }, - }, - "version": "4.0.5", - }, - }, - "requires": Object { - "glob": "4", - "selflink": "*", - }, - "version": "1.2.3", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "selflink", "packages": Object { "": Object { @@ -3736,3049 +2686,40 @@ Object { } ` -exports[`test/shrinkwrap.js TAP loadActual tests symlinked-node-modules/example > shrinkwrap data 1`] = ` -Object { - "dependencies": Object { - "bar": Object { - "extraneous": true, - "version": "file:../bar", - }, - "foo": Object { - "extraneous": true, - "version": "file:../linked-node-modules/foo", - }, - }, - "lockfileVersion": 2, - "name": "example", - "packages": Object { - "": Object { - "name": "example", - "version": "1.0.0", - }, - "../bar": Object { - "extraneous": true, - "version": "1.0.0", - }, - "../linked-node-modules/foo": Object { - "extraneous": true, - "version": "1.0.0", - }, - "node_modules/bar": Object { - "link": true, - "resolved": "../bar", - }, - "node_modules/foo": Object { - "link": true, - "resolved": "../linked-node-modules/foo", - }, - }, - "requires": true, - "version": "1.0.0", -} -` - -exports[`test/shrinkwrap.js TAP loadActual tests tap-with-yarn-lock > shrinkwrap data 1`] = ` -Object { - "dependencies": Object { - "@babel/code-frame": Object { - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", - "requires": Object { - "@babel/highlight": "^7.0.0", - }, - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "version": "7.0.0", - }, - "@babel/generator": Object { - "dependencies": Object { - "jsesc": Object { - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "version": "2.5.2", - }, - "source-map": Object { - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "version": "0.5.7", - }, - }, - "integrity": "sha512-1TTVrt7J9rcG5PMjvO7VEG3FrEoEJNHxumRq66GemPmzboLWtIjjcJgk8rokuAS7IiRSpgVSu5Vb9lc99iJkOA==", - "requires": Object { - "@babel/types": "^7.5.0", - "jsesc": "^2.5.1", - "lodash": "^4.17.11", - "source-map": "^0.5.0", - "trim-right": "^1.0.1", - }, - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.5.0.tgz", - "version": "7.5.0", - }, - "@babel/helper-function-name": Object { - "integrity": "sha512-A95XEoCpb3TO+KZzJ4S/5uW5fNe26DjBGqf1o9ucyLyCmi1dXq/B3c8iaWTfBk3VvetUxl16e8tIrd5teOCfGw==", - "requires": Object { - "@babel/helper-get-function-arity": "^7.0.0", - "@babel/template": "^7.1.0", - "@babel/types": "^7.0.0", - }, - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.1.0.tgz", - "version": "7.1.0", - }, - "@babel/helper-get-function-arity": Object { - "integrity": "sha512-r2DbJeg4svYvt3HOS74U4eWKsUAMRH01Z1ds1zx8KNTPtpTL5JAsdFv8BNyOpVqdFhHkkRDIg5B4AsxmkjAlmQ==", - "requires": Object { - "@babel/types": "^7.0.0", - }, - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.0.0.tgz", - "version": "7.0.0", - }, - "@babel/helper-split-export-declaration": Object { - "integrity": "sha512-Ro/XkzLf3JFITkW6b+hNxzZ1n5OQ80NvIUdmHspih1XAhtN3vPTuUFT4eQnela+2MaZ5ulH+iyP513KJrxbN7Q==", - "requires": Object { - "@babel/types": "^7.4.4", - }, - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.4.4.tgz", - "version": "7.4.4", - }, - "@babel/highlight": Object { - "integrity": "sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==", - "requires": Object { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0", - }, - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.5.0.tgz", - "version": "7.5.0", - }, - "@babel/parser": Object { - "integrity": "sha512-I5nW8AhGpOXGCCNYGc+p7ExQIBxRFnS2fd/d862bNOKvmoEPjYPcfIjsfdy0ujagYOIYPczKgD9l3FsgTkAzKA==", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.5.0.tgz", - "version": "7.5.0", - }, - "@babel/runtime": Object { - "integrity": "sha512-9M29wrrP7//JBGX70+IrDuD1w4iOYhUGpJNMQJVNAXue+cFeFlMTqBECouIziXPUphlgrfjcfiEpGX4t0WGK4g==", - "requires": Object { - "regenerator-runtime": "^0.13.2", - }, - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.5.2.tgz", - "version": "7.5.2", - }, - "@babel/template": Object { - "integrity": "sha512-CiGzLN9KgAvgZsnivND7rkA+AeJ9JB0ciPOD4U59GKbQP2iQl+olF1l76kJOupqidozfZ32ghwBEJDhnk9MEcw==", - "requires": Object { - "@babel/code-frame": "^7.0.0", - "@babel/parser": "^7.4.4", - "@babel/types": "^7.4.4", - }, - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.4.4.tgz", - "version": "7.4.4", - }, - "@babel/traverse": Object { - "dependencies": Object { - "debug": Object { - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": Object { - "ms": "^2.1.1", - }, - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "version": "4.1.1", - }, - }, - "integrity": "sha512-SnA9aLbyOCcnnbQEGwdfBggnc142h/rbqqsXcaATj2hZcegCl903pUD/lfpsNBlBSuWow/YDfRyJuWi2EPR5cg==", - "requires": Object { - "@babel/code-frame": "^7.0.0", - "@babel/generator": "^7.5.0", - "@babel/helper-function-name": "^7.1.0", - "@babel/helper-split-export-declaration": "^7.4.4", - "@babel/parser": "^7.5.0", - "@babel/types": "^7.5.0", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.11", - }, - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.5.0.tgz", - "version": "7.5.0", - }, - "@babel/types": Object { - "dependencies": Object { - "to-fast-properties": Object { - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "version": "2.0.0", - }, - }, - "integrity": "sha512-UFpDVqRABKsW01bvw7/wSUe56uy6RXM5+VJibVVAybDGxEW25jdwiFJEf7ASvSaC7sN7rbE/l3cLp2izav+CtQ==", - "requires": Object { - "esutils": "^2.0.2", - "lodash": "^4.17.11", - "to-fast-properties": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.5.0.tgz", - "version": "7.5.0", - }, - "@types/prop-types": Object { - "integrity": "sha512-CFzn9idOEpHrgdw8JsoTkaDDyRWk1jrzIV8djzcgpq0y9tG4B4lFT+Nxh52DVpDXV+n4+NPNv7M1Dj5uMp6XFg==", - "resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.1.tgz", - "version": "15.7.1", - }, - "@types/react": Object { - "integrity": "sha512-abkEOIeljniUN9qB5onp++g0EY38h7atnDHxwKUFz1r3VH1+yG1OKi2sNPTyObL40goBmfKFpdii2lEzwLX1cA==", - "requires": Object { - "@types/prop-types": "*", - "csstype": "^2.2.0", - }, - "resolved": "https://registry.npmjs.org/@types/react/-/react-16.8.23.tgz", - "version": "16.8.23", - }, - "ajv": Object { - "integrity": "sha512-w1YQaVGNC6t2UCPjEawK/vo/dG8OOrVtUmhBT1uJJYxbl5kU2Tj3v6LGqBcsysN1yhuCStJCCA3GqdvKY8sqXQ==", - "requires": Object { - "fast-deep-equal": "^2.0.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2", - }, - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.10.1.tgz", - "version": "6.10.1", - }, - "ansi-escapes": Object { - "integrity": "sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz", - "version": "3.2.0", - }, - "ansi-regex": Object { - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "version": "2.1.1", - }, - "ansi-styles": Object { - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": Object { - "color-convert": "^1.9.0", - }, - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "version": "3.2.1", - }, - "ansicolors": Object { - "integrity": "sha1-ZlWX3oap/+Oqm/vmyuXG6kJrSXk=", - "resolved": "https://registry.npmjs.org/ansicolors/-/ansicolors-0.3.2.tgz", - "version": "0.3.2", - }, - "anymatch": Object { - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", - "requires": Object { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4", - }, - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "version": "3.1.1", - }, - "append-transform": Object { - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", - "requires": Object { - "default-require-extensions": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "version": "1.0.0", - }, - "archy": Object { - "integrity": "sha1-+cjBN1fMHde8N5rHeyxipcKGjEA=", - "resolved": "https://registry.npmjs.org/archy/-/archy-1.0.0.tgz", - "version": "1.0.0", - }, - "arg": Object { - "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", - "version": "4.1.0", - }, - "argparse": Object { - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "requires": Object { - "sprintf-js": "~1.0.2", - }, - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "version": "1.0.10", - }, - "arrify": Object { - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "version": "1.0.1", - }, - "asn1": Object { - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", - "requires": Object { - "safer-buffer": "~2.1.0", - }, - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "version": "0.2.4", - }, - "assert-plus": Object { - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "version": "1.0.0", - }, - "astral-regex": Object { - "integrity": "sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg==", - "resolved": "https://registry.npmjs.org/astral-regex/-/astral-regex-1.0.0.tgz", - "version": "1.0.0", - }, - "async-hook-domain": Object { - "dependencies": Object { - "source-map-support": Object { - "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", - "requires": Object { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0", - }, - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", - "version": "0.5.12", - }, - }, - "integrity": "sha512-ZovMxSbADV3+biB7oR1GL5lGyptI24alp0LWHlmz1OFc5oL47pz3EiIF6nXOkDW7yLqih4NtsiYduzdDW0i+Wg==", - "requires": Object { - "source-map-support": "^0.5.11", - }, - "resolved": "https://registry.npmjs.org/async-hook-domain/-/async-hook-domain-1.1.3.tgz", - "version": "1.1.3", - }, - "asynckit": Object { - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "version": "0.4.0", - }, - "auto-bind": Object { - "integrity": "sha512-qZuFvkes1eh9lB2mg8/HG18C+5GIO51r+RrCSst/lh+i5B1CtVlkhTE488M805Nr3dKl0sM/pIFKSKUIlg3zUg==", - "requires": Object { - "@types/react": "^16.8.12", - }, - "resolved": "https://registry.npmjs.org/auto-bind/-/auto-bind-2.1.0.tgz", - "version": "2.1.0", - }, - "aws-sign2": Object { - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "version": "0.7.0", - }, - "aws4": Object { - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "version": "1.8.0", - }, - "babel-code-frame": Object { - "dependencies": Object { - "ansi-styles": Object { - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "version": "2.2.1", - }, - "chalk": Object { - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "requires": Object { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "version": "1.1.3", - }, - "js-tokens": Object { - "integrity": "sha1-mGbfOVECEw449/mWvOtlRDIJwls=", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-3.0.2.tgz", - "version": "3.0.2", - }, - "supports-color": Object { - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "version": "2.0.0", - }, - }, - "integrity": "sha1-Y/1D99weO7fONZR9uP42mj9Yx0s=", - "requires": Object { - "chalk": "^1.1.3", - "esutils": "^2.0.2", - "js-tokens": "^3.0.2", - }, - "resolved": "https://registry.npmjs.org/babel-code-frame/-/babel-code-frame-6.26.0.tgz", - "version": "6.26.0", - }, - "babel-core": Object { - "dependencies": Object { - "source-map": Object { - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "version": "0.5.7", - }, - }, - "integrity": "sha512-6jyFLuDmeidKmUEb3NM+/yawG0M2bDZ9Z1qbZP59cyHLz8kYGKYwpJP0UwUKKUiTRNvxfLesJnTedqczP7cTDA==", - "requires": Object { - "babel-code-frame": "^6.26.0", - "babel-generator": "^6.26.0", - "babel-helpers": "^6.24.1", - "babel-messages": "^6.23.0", - "babel-register": "^6.26.0", - "babel-runtime": "^6.26.0", - "babel-template": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "convert-source-map": "^1.5.1", - "debug": "^2.6.9", - "json5": "^0.5.1", - "lodash": "^4.17.4", - "minimatch": "^3.0.4", - "path-is-absolute": "^1.0.1", - "private": "^0.1.8", - "slash": "^1.0.0", - "source-map": "^0.5.7", - }, - "resolved": "https://registry.npmjs.org/babel-core/-/babel-core-6.26.3.tgz", - "version": "6.26.3", - }, - "babel-generator": Object { - "dependencies": Object { - "source-map": Object { - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "version": "0.5.7", - }, - }, - "integrity": "sha512-HyfwY6ApZj7BYTcJURpM5tznulaBvyio7/0d4zFOeMPUmfxkCjHocCuoLa2SAGzBI8AREcH3eP3758F672DppA==", - "requires": Object { - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "detect-indent": "^4.0.0", - "jsesc": "^1.3.0", - "lodash": "^4.17.4", - "source-map": "^0.5.7", - "trim-right": "^1.0.1", - }, - "resolved": "https://registry.npmjs.org/babel-generator/-/babel-generator-6.26.1.tgz", - "version": "6.26.1", - }, - "babel-helper-builder-react-jsx": Object { - "integrity": "sha1-Of+DE7dci2Xc7/HzHTg+D/KkCKA=", - "requires": Object { - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "esutils": "^2.0.2", - }, - "resolved": "https://registry.npmjs.org/babel-helper-builder-react-jsx/-/babel-helper-builder-react-jsx-6.26.0.tgz", - "version": "6.26.0", - }, - "babel-helpers": Object { - "integrity": "sha1-NHHenK7DiOXIUOWX5Yom3fN2ArI=", - "requires": Object { - "babel-runtime": "^6.22.0", - "babel-template": "^6.24.1", - }, - "resolved": "https://registry.npmjs.org/babel-helpers/-/babel-helpers-6.24.1.tgz", - "version": "6.24.1", - }, - "babel-messages": Object { - "integrity": "sha1-8830cDhYA1sqKVHG7F7fbGLyYw4=", - "requires": Object { - "babel-runtime": "^6.22.0", - }, - "resolved": "https://registry.npmjs.org/babel-messages/-/babel-messages-6.23.0.tgz", - "version": "6.23.0", - }, - "babel-plugin-syntax-jsx": Object { - "integrity": "sha1-CvMqmm4Tyno/1QaeYtew9Y0NiUY=", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-jsx/-/babel-plugin-syntax-jsx-6.18.0.tgz", - "version": "6.18.0", - }, - "babel-plugin-syntax-object-rest-spread": Object { - "integrity": "sha1-/WU28rzhODb/o6VFjEkDpZe7O/U=", - "resolved": "https://registry.npmjs.org/babel-plugin-syntax-object-rest-spread/-/babel-plugin-syntax-object-rest-spread-6.13.0.tgz", - "version": "6.13.0", - }, - "babel-plugin-transform-es2015-destructuring": Object { - "integrity": "sha1-mXux8auWf2gtKwh2/jWNYOdlxW0=", - "requires": Object { - "babel-runtime": "^6.22.0", - }, - "resolved": "https://registry.npmjs.org/babel-plugin-transform-es2015-destructuring/-/babel-plugin-transform-es2015-destructuring-6.23.0.tgz", - "version": "6.23.0", - }, - "babel-plugin-transform-object-rest-spread": Object { - "integrity": "sha1-DzZpLVD+9rfi1LOsFHgTepY7ewY=", - "requires": Object { - "babel-plugin-syntax-object-rest-spread": "^6.8.0", - "babel-runtime": "^6.26.0", - }, - "resolved": "https://registry.npmjs.org/babel-plugin-transform-object-rest-spread/-/babel-plugin-transform-object-rest-spread-6.26.0.tgz", - "version": "6.26.0", - }, - "babel-plugin-transform-react-jsx": Object { - "integrity": "sha1-hAoCjn30YN/DotKfDA2R9jduZqM=", - "requires": Object { - "babel-helper-builder-react-jsx": "^6.24.1", - "babel-plugin-syntax-jsx": "^6.8.0", - "babel-runtime": "^6.22.0", - }, - "resolved": "https://registry.npmjs.org/babel-plugin-transform-react-jsx/-/babel-plugin-transform-react-jsx-6.24.1.tgz", - "version": "6.24.1", - }, - "babel-register": Object { - "dependencies": Object { - "source-map": Object { - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "version": "0.5.7", - }, - "source-map-support": Object { - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "requires": Object { - "source-map": "^0.5.6", - }, - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "version": "0.4.18", - }, - }, - "integrity": "sha1-btAhFz4vy0htestFxgCahW9kcHE=", - "requires": Object { - "babel-core": "^6.26.0", - "babel-runtime": "^6.26.0", - "core-js": "^2.5.0", - "home-or-tmp": "^2.0.0", - "lodash": "^4.17.4", - "mkdirp": "^0.5.1", - "source-map-support": "^0.4.15", - }, - "resolved": "https://registry.npmjs.org/babel-register/-/babel-register-6.26.0.tgz", - "version": "6.26.0", - }, - "babel-runtime": Object { - "dependencies": Object { - "regenerator-runtime": Object { - "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", - "version": "0.11.1", - }, - }, - "integrity": "sha1-llxwWGaOgrVde/4E/yM3vItWR/4=", - "requires": Object { - "core-js": "^2.4.0", - "regenerator-runtime": "^0.11.0", - }, - "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", - "version": "6.26.0", - }, - "babel-template": Object { - "integrity": "sha1-3gPi0WOWsGn0bdn/+FIfsaDjXgI=", - "requires": Object { - "babel-runtime": "^6.26.0", - "babel-traverse": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "lodash": "^4.17.4", - }, - "resolved": "https://registry.npmjs.org/babel-template/-/babel-template-6.26.0.tgz", - "version": "6.26.0", - }, - "babel-traverse": Object { - "dependencies": Object { - "globals": Object { - "integrity": "sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==", - "resolved": "https://registry.npmjs.org/globals/-/globals-9.18.0.tgz", - "version": "9.18.0", - }, - }, - "integrity": "sha1-RqnL1+3MYsjlwGTi0tjQ9ANXZu4=", - "requires": Object { - "babel-code-frame": "^6.26.0", - "babel-messages": "^6.23.0", - "babel-runtime": "^6.26.0", - "babel-types": "^6.26.0", - "babylon": "^6.18.0", - "debug": "^2.6.8", - "globals": "^9.18.0", - "invariant": "^2.2.2", - "lodash": "^4.17.4", - }, - "resolved": "https://registry.npmjs.org/babel-traverse/-/babel-traverse-6.26.0.tgz", - "version": "6.26.0", - }, - "babel-types": Object { - "integrity": "sha1-o7Bz+Uq0nrb6Vc1lInozQ4BjJJc=", - "requires": Object { - "babel-runtime": "^6.26.0", - "esutils": "^2.0.2", - "lodash": "^4.17.4", - "to-fast-properties": "^1.0.3", - }, - "resolved": "https://registry.npmjs.org/babel-types/-/babel-types-6.26.0.tgz", - "version": "6.26.0", - }, - "babylon": Object { - "integrity": "sha512-q/UEjfGJ2Cm3oKV71DJz9d25TPnq5rhBVL2Q4fA5wcC3jcrdn7+SssEybFIxwAvvP+YCsCYNKughoF33GxgycQ==", - "resolved": "https://registry.npmjs.org/babylon/-/babylon-6.18.0.tgz", - "version": "6.18.0", - }, - "balanced-match": Object { - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "version": "1.0.0", - }, - "bcrypt-pbkdf": Object { - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", - "requires": Object { - "tweetnacl": "^0.14.3", - }, - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "version": "1.0.2", - }, - "binary-extensions": Object { - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "version": "2.0.0", - }, - "bind-obj-methods": Object { - "integrity": "sha512-3/qRXczDi2Cdbz6jE+W3IflJOutRVica8frpBn14de1mBOkzDo+6tY33kNhvkw54Kn3PzRRD2VnGbGPcTAk4sw==", - "resolved": "https://registry.npmjs.org/bind-obj-methods/-/bind-obj-methods-2.0.0.tgz", - "version": "2.0.0", - }, - "brace-expansion": Object { - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": Object { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1", - }, - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "version": "1.1.11", - }, - "braces": Object { - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "requires": Object { - "fill-range": "^7.0.1", - }, - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "version": "3.0.2", - }, - "browser-process-hrtime": Object { - "integrity": "sha512-9o5UecI3GhkpM6DrXr69PblIuWxPKk9Y0jHBRhdocZ2y7YECBFCsHm79Pr3OyR2AvjhDkabFJaDJMYRazHgsow==", - "resolved": "https://registry.npmjs.org/browser-process-hrtime/-/browser-process-hrtime-1.0.0.tgz", - "version": "1.0.0", - }, - "buffer-from": Object { - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "version": "1.1.1", - }, - "caching-transform": Object { - "dependencies": Object { - "write-file-atomic": Object { - "integrity": "sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ==", - "requires": Object { - "graceful-fs": "^4.1.11", - "imurmurhash": "^0.1.4", - "signal-exit": "^3.0.2", - }, - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-2.4.3.tgz", - "version": "2.4.3", - }, - }, - "integrity": "sha512-Mtgcv3lh3U0zRii/6qVgQODdPA4G3zhG+jtbCWj39RXuUFTMzH0vcdMtaJS1jPowd+It2Pqr6y3NJMQqOqCE2w==", - "requires": Object { - "hasha": "^3.0.0", - "make-dir": "^2.0.0", - "package-hash": "^3.0.0", - "write-file-atomic": "^2.4.2", - }, - "resolved": "https://registry.npmjs.org/caching-transform/-/caching-transform-3.0.2.tgz", - "version": "3.0.2", - }, - "caller-callsite": Object { - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", - "requires": Object { - "callsites": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "version": "2.0.0", - }, - "caller-path": Object { - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", - "requires": Object { - "caller-callsite": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "version": "2.0.0", - }, - "callsites": Object { - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "version": "2.0.0", - }, - "camelcase": Object { - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "version": "5.3.1", - }, - "cardinal": Object { - "integrity": "sha1-fMEFXYItISlU0HsIXeolHMe8VQU=", - "requires": Object { - "ansicolors": "~0.3.2", - "redeyed": "~2.1.0", - }, - "resolved": "https://registry.npmjs.org/cardinal/-/cardinal-2.1.1.tgz", - "version": "2.1.1", - }, - "caseless": Object { - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "version": "0.12.0", - }, - "chalk": Object { - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": Object { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0", - }, - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "version": "2.4.2", - }, - "chokidar": Object { - "integrity": "sha512-dGmKLDdT3Gdl7fBUe8XK+gAtGmzy5Fn0XkkWQuYxGIgWVPPse2CxFA5mtrlD0TOHaHjEUqkWNyP1XdHoJES/4A==", - "requires": Object { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.1", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.2.0", - }, - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.3.0.tgz", - "version": "3.3.0", - }, - "ci-info": Object { - "integrity": "sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==", - "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-2.0.0.tgz", - "version": "2.0.0", - }, - "cli-cursor": Object { - "integrity": "sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=", - "requires": Object { - "restore-cursor": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz", - "version": "2.1.0", - }, - "cli-truncate": Object { - "integrity": "sha512-bAtZo0u82gCfaAGfSNxUdTI9mNyza7D8w4CVCcaOsy7sgwDzvx6ekr6cuWJqY3UGzgnQ1+4wgENup5eIhgxEYA==", - "requires": Object { - "slice-ansi": "^1.0.0", - "string-width": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-1.1.0.tgz", - "version": "1.1.0", - }, - "cliui": Object { - "dependencies": Object { - "ansi-regex": Object { - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "version": "3.0.0", - }, - "is-fullwidth-code-point": Object { - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "requires": Object { - "number-is-nan": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "version": "1.0.0", - }, - "strip-ansi": Object { - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": Object { - "ansi-regex": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "version": "4.0.0", - }, - "wrap-ansi": Object { - "dependencies": Object { - "ansi-regex": Object { - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "version": "2.1.1", - }, - "string-width": Object { - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "requires": Object { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "version": "1.0.2", - }, - "strip-ansi": Object { - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": Object { - "ansi-regex": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "version": "3.0.1", - }, - }, - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "requires": Object { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1", - }, - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "version": "2.1.0", - }, - }, - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", - "requires": Object { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "version": "4.1.0", - }, - "code-point-at": Object { - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "version": "1.1.0", - }, - "color-convert": Object { - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": Object { - "color-name": "1.1.3", - }, - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "version": "1.9.3", - }, - "color-name": Object { - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "version": "1.1.3", - }, - "color-support": Object { - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "version": "1.1.3", - }, - "combined-stream": Object { - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", - "requires": Object { - "delayed-stream": "~1.0.0", - }, - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "version": "1.0.8", - }, - "commander": Object { - "integrity": "sha512-7j2y+40w61zy6YC2iRNpUe/NwhNyoXrYpHMrSunaMG64nRnaf96zO/KMQR4OyN/UnE5KLyEBnKHd4aG3rskjpQ==", - "optional": true, - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.0.tgz", - "version": "2.20.0", - }, - "commondir": Object { - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "version": "1.0.1", - }, - "concat-map": Object { - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "version": "0.0.1", - }, - "convert-source-map": Object { - "integrity": "sha512-eFu7XigvxdZ1ETfbgPBohgyQ/Z++C0eEhTor0qRwBw9unw+L0/6V8wkSuGgzdThkiS5lSpdptOQPD8Ak40a+7A==", - "requires": Object { - "safe-buffer": "~5.1.1", - }, - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.6.0.tgz", - "version": "1.6.0", - }, - "core-js": Object { - "integrity": "sha512-HOpZf6eXmnl7la+cUdMnLvUxKNqLUzJvgIziQ0DiF3JwSImNphIqdGqzj6hIKyX04MmV0poclQ7+wjWvxQyR2A==", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.9.tgz", - "version": "2.6.9", - }, - "core-util-is": Object { - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "version": "1.0.2", - }, - "coveralls": Object { - "dependencies": Object { - "minimist": Object { - "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz", - "version": "1.2.0", - }, - }, - "integrity": "sha512-mUuH2MFOYB2oBaA4D4Ykqi9LaEYpMMlsiOMJOrv358yAjP6enPIk55fod2fNJ8AvwoYXStWQls37rA+s5e7boA==", - "requires": Object { - "growl": "~> 1.10.0", - "js-yaml": "^3.13.1", - "lcov-parse": "^0.0.10", - "log-driver": "^1.2.7", - "minimist": "^1.2.0", - "request": "^2.86.0", - }, - "resolved": "https://registry.npmjs.org/coveralls/-/coveralls-3.0.7.tgz", - "version": "3.0.7", - }, - "cp-file": Object { - "dependencies": Object { - "pify": Object { - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "version": "4.0.1", - }, - "safe-buffer": Object { - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "version": "5.2.0", - }, - }, - "integrity": "sha512-fmvV4caBnofhPe8kOcitBwSn2f39QLjnAnGq3gO9dfd75mUytzKNZB1hde6QHunW2Rt+OwuBOMc3i1tNElbszA==", - "requires": Object { - "graceful-fs": "^4.1.2", - "make-dir": "^2.0.0", - "nested-error-stacks": "^2.0.0", - "pify": "^4.0.1", - "safe-buffer": "^5.0.1", - }, - "resolved": "https://registry.npmjs.org/cp-file/-/cp-file-6.2.0.tgz", - "version": "6.2.0", - }, - "cross-spawn": Object { - "dependencies": Object { - "which": Object { - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": Object { - "isexe": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "version": "1.3.1", - }, - }, - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "requires": Object { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9", - }, - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "version": "6.0.5", - }, - "csstype": Object { - "integrity": "sha512-RpFbQGUE74iyPgvr46U9t1xoQBM8T4BL8SxrN66Le2xYAPSaDJJKeztV3awugusb3g3G9iL8StmkBBXhcbbXhg==", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-2.6.6.tgz", - "version": "2.6.6", - }, - "dashdash": Object { - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", - "requires": Object { - "assert-plus": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "version": "1.14.1", - }, - "debug": Object { - "dependencies": Object { - "ms": Object { - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "version": "2.0.0", - }, - }, - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "requires": Object { - "ms": "2.0.0", - }, - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "version": "2.6.9", - }, - "decamelize": Object { - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "version": "1.2.0", - }, - "default-require-extensions": Object { - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", - "requires": Object { - "strip-bom": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "version": "2.0.0", - }, - "delayed-stream": Object { - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "version": "1.0.0", - }, - "detect-indent": Object { - "integrity": "sha1-920GQ1LN9Docts5hnE7jqUdd4gg=", - "requires": Object { - "repeating": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-4.0.0.tgz", - "version": "4.0.0", - }, - "diff": Object { - "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", - "version": "4.0.1", - }, - "ecc-jsbn": Object { - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "requires": Object { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0", - }, - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "version": "0.1.2", - }, - "emoji-regex": Object { - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "version": "7.0.3", - }, - "end-of-stream": Object { - "integrity": "sha512-1MkrZNvWTKCaigbn+W15elq2BB/L22nqrSY5DKlo3X6+vclJm8Bb5djXJBmEX6fS3+zCh/F4VBK5Z2KxJt4s2Q==", - "requires": Object { - "once": "^1.4.0", - }, - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.1.tgz", - "version": "1.4.1", - }, - "error-ex": Object { - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "requires": Object { - "is-arrayish": "^0.2.1", - }, - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "version": "1.3.2", - }, - "es6-error": Object { - "integrity": "sha512-Um/+FxMr9CISWh0bi5Zv0iOD+4cFh5qLeks1qhAopKVAJw3drgKbKySikp7wGhDL0HPeaja0P5ULZrxLkniUVg==", - "resolved": "https://registry.npmjs.org/es6-error/-/es6-error-4.1.1.tgz", - "version": "4.1.1", - }, - "escape-string-regexp": Object { - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "version": "1.0.5", - }, - "esm": Object { - "integrity": "sha512-U1suiZ2oDVWv4zPO56S0NcR5QriEahGtdN2OR6FiOG4WJvcjBVFB0qI4+eKoWFH483PKGuLuu6V8Z4T5g63UVA==", - "resolved": "https://registry.npmjs.org/esm/-/esm-3.2.25.tgz", - "version": "3.2.25", - }, - "esprima": Object { - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "version": "4.0.1", - }, - "esutils": Object { - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "version": "2.0.2", - }, - "events-to-array": Object { - "integrity": "sha1-LUH1Y+H+QA7Uli/hpNXGp1Od9/Y=", - "resolved": "https://registry.npmjs.org/events-to-array/-/events-to-array-1.1.2.tgz", - "version": "1.1.2", - }, - "execa": Object { - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", - "requires": Object { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "version": "1.0.0", - }, - "extend": Object { - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "version": "3.0.2", - }, - "extsprintf": Object { - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "version": "1.3.0", - }, - "fast-deep-equal": Object { - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "version": "2.0.1", - }, - "fast-json-stable-stringify": Object { - "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", - "version": "2.0.0", - }, - "fill-range": Object { - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "requires": Object { - "to-regex-range": "^5.0.1", - }, - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "version": "7.0.1", - }, - "find-cache-dir": Object { - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "requires": Object { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "version": "2.1.0", - }, - "find-up": Object { - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "requires": Object { - "locate-path": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "version": "3.0.0", - }, - "findit": Object { - "integrity": "sha1-ZQnwEmr0wXhVHPqZOU4DLhOk1W4=", - "resolved": "https://registry.npmjs.org/findit/-/findit-2.0.0.tgz", - "version": "2.0.0", - }, - "flow-parser": Object { - "integrity": "sha512-sxjnwhR76B/fUN6n/XerYzn8R1HvtVo3SM8Il3WiZ4nkAlb2BBzKe1TSVKGSyZgD6FW9Bsxom/57ktkqrqmXGA==", - "resolved": "https://registry.npmjs.org/flow-parser/-/flow-parser-0.112.0.tgz", - "version": "0.112.0", - }, - "flow-remove-types": Object { - "integrity": "sha512-h3bwcfh41nR9kvlhZFr5ySGmzzOyG4VUsnN4OBl9R6anbWAiX4H5lPhKTwZ7AelWF8Rtqmw/Vnq+VLEMg7PdAw==", - "requires": Object { - "flow-parser": "^0.112.0", - "pirates": "^3.0.2", - "vlq": "^0.2.1", - }, - "resolved": "https://registry.npmjs.org/flow-remove-types/-/flow-remove-types-2.112.0.tgz", - "version": "2.112.0", - }, - "foreground-child": Object { - "dependencies": Object { - "cross-spawn": Object { - "integrity": "sha1-e5JHYhwjrf3ThWAEqCPL45dCTUE=", - "requires": Object { - "lru-cache": "^4.0.1", - "which": "^1.2.9", - }, - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-4.0.2.tgz", - "version": "4.0.2", - }, - "which": Object { - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": Object { - "isexe": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "version": "1.3.1", - }, - }, - "integrity": "sha1-T9ca0t/elnibmApcCilZN8svXOk=", - "requires": Object { - "cross-spawn": "^4", - "signal-exit": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-1.5.6.tgz", - "version": "1.5.6", - }, - "forever-agent": Object { - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "version": "0.6.1", - }, - "form-data": Object { - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", - "requires": Object { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12", - }, - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "version": "2.3.3", - }, - "fs-exists-cached": Object { - "integrity": "sha1-zyVVTKBQ3EmuZla0HeQiWJidy84=", - "resolved": "https://registry.npmjs.org/fs-exists-cached/-/fs-exists-cached-1.0.0.tgz", - "version": "1.0.0", - }, - "fs.realpath": Object { - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "version": "1.0.0", - }, - "fsevents": Object { - "integrity": "sha512-R4wDiBwZ0KzpgOWetKDug1FZcYhqYnUYKtfZYt4mD5SBz76q0KR4Q9o7GIPamsVPGmW3EYPPJ0dOOjvx32ldZA==", - "optional": true, - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.2.tgz", - "version": "2.1.2", - }, - "function-loop": Object { - "integrity": "sha512-Iw4MzMfS3udk/rqxTiDDCllhGwlOrsr50zViTOO/W6lS/9y6B1J0BD2VZzrnWUYBJsl3aeqjgR5v7bWWhZSYbA==", - "resolved": "https://registry.npmjs.org/function-loop/-/function-loop-1.0.2.tgz", - "version": "1.0.2", - }, - "get-caller-file": Object { - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "version": "2.0.5", - }, - "get-stream": Object { - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", - "requires": Object { - "pump": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "version": "4.1.0", - }, - "getpass": Object { - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", - "requires": Object { - "assert-plus": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "version": "0.1.7", - }, - "glob": Object { - "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", - "requires": Object { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", - "version": "7.1.4", - }, - "glob-parent": Object { - "integrity": "sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==", - "requires": Object { - "is-glob": "^4.0.1", - }, - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.0.tgz", - "version": "5.1.0", - }, - "globals": Object { - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "version": "11.12.0", - }, - "graceful-fs": Object { - "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", - "version": "4.2.0", - }, - "growl": Object { - "integrity": "sha512-qBr4OuELkhPenW6goKVXiv47US3clb3/IbuWF9KNKEijAy9oeHxU9IgzjvJhHkUzhaj7rOUD7+YGWqUjLp5oSA==", - "resolved": "https://registry.npmjs.org/growl/-/growl-1.10.5.tgz", - "version": "1.10.5", - }, - "handlebars": Object { - "integrity": "sha512-nvfrjqvt9xQ8Z/w0ijewdD/vvWDTOweBUm96NTr66Wfvo1mJenBLwcYmPs3TIBP5ruzYGD7Hx/DaM9RmhroGPw==", - "requires": Object { - "neo-async": "^2.6.0", - "optimist": "^0.6.1", - "source-map": "^0.6.1", - "uglify-js": "^3.1.4", - }, - "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.1.2.tgz", - "version": "4.1.2", - }, - "har-schema": Object { - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "version": "2.0.0", - }, - "har-validator": Object { - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", - "requires": Object { - "ajv": "^6.5.5", - "har-schema": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "version": "5.1.3", - }, - "has-ansi": Object { - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", - "requires": Object { - "ansi-regex": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "version": "2.0.0", - }, - "has-flag": Object { - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "version": "3.0.0", - }, - "hasha": Object { - "integrity": "sha1-UqMvq4Vp1BymmmH/GiFPjrfIvTk=", - "requires": Object { - "is-stream": "^1.0.1", - }, - "resolved": "https://registry.npmjs.org/hasha/-/hasha-3.0.0.tgz", - "version": "3.0.0", - }, - "home-or-tmp": Object { - "integrity": "sha1-42w/LSyufXRqhX440Y1fMqeILbg=", - "requires": Object { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.1", - }, - "resolved": "https://registry.npmjs.org/home-or-tmp/-/home-or-tmp-2.0.0.tgz", - "version": "2.0.0", - }, - "hosted-git-info": Object { - "integrity": "sha512-7T/BxH19zbcCTa8XkMlbK5lTo1WtgkFi3GvdWEyNuc4Vex7/9Dqbnpsf4JMydcfj9HCg4zUWFTL3Za6lapg5/w==", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.7.1.tgz", - "version": "2.7.1", - }, - "http-signature": Object { - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", - "requires": Object { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0", - }, - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "version": "1.2.0", - }, - "import-jsx": Object { - "integrity": "sha512-xmrgtiRnAdjIaRzKwsHut54FA8nx59WqN4MpQvPFr/8yD6BamavkmKHrA5dotAlnIiF4uqMzg/lA5yhPdpIXsA==", - "requires": Object { - "babel-core": "^6.25.0", - "babel-plugin-transform-es2015-destructuring": "^6.23.0", - "babel-plugin-transform-object-rest-spread": "^6.23.0", - "babel-plugin-transform-react-jsx": "^6.24.1", - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/import-jsx/-/import-jsx-2.0.0.tgz", - "version": "2.0.0", - }, - "imurmurhash": Object { - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "version": "0.1.4", - }, - "inflight": Object { - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": Object { - "once": "^1.3.0", - "wrappy": "1", - }, - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "version": "1.0.6", - }, - "inherits": Object { - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "version": "2.0.4", - }, - "ink": Object { - "integrity": "sha512-931rgXHAS3hM++8ygWPOBeHOFwTzHh3pDAVZtiBVOUH6tVvJijym43ODUy22ySo2NwYUFeR/Zj3xuWzBEKMiHw==", - "requires": Object { - "@types/react": "^16.8.6", - "arrify": "^1.0.1", - "auto-bind": "^2.0.0", - "chalk": "^2.4.1", - "cli-cursor": "^2.1.0", - "cli-truncate": "^1.1.0", - "is-ci": "^2.0.0", - "lodash.throttle": "^4.1.1", - "log-update": "^3.0.0", - "prop-types": "^15.6.2", - "react-reconciler": "^0.20.0", - "scheduler": "^0.13.2", - "signal-exit": "^3.0.2", - "slice-ansi": "^1.0.0", - "string-length": "^2.0.0", - "widest-line": "^2.0.0", - "wrap-ansi": "^5.0.0", - "yoga-layout-prebuilt": "^1.9.3", - }, - "resolved": "https://registry.npmjs.org/ink/-/ink-2.3.0.tgz", - "version": "2.3.0", - }, - "invariant": Object { - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", - "requires": Object { - "loose-envify": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "version": "2.2.4", - }, - "invert-kv": Object { - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "version": "2.0.0", - }, - "is-arrayish": Object { - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "version": "0.2.1", - }, - "is-binary-path": Object { - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "requires": Object { - "binary-extensions": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "version": "2.1.0", - }, - "is-ci": Object { - "integrity": "sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==", - "requires": Object { - "ci-info": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/is-ci/-/is-ci-2.0.0.tgz", - "version": "2.0.0", - }, - "is-extglob": Object { - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "version": "2.1.1", - }, - "is-finite": Object { - "integrity": "sha1-zGZ3aVYCvlUO8R6LSqYwU0K20Ko=", - "requires": Object { - "number-is-nan": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/is-finite/-/is-finite-1.0.2.tgz", - "version": "1.0.2", - }, - "is-fullwidth-code-point": Object { - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "version": "2.0.0", - }, - "is-glob": Object { - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", - "requires": Object { - "is-extglob": "^2.1.1", - }, - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "version": "4.0.1", - }, - "is-number": Object { - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "version": "7.0.0", - }, - "is-stream": Object { - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "version": "1.1.0", - }, - "is-typedarray": Object { - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "version": "1.0.0", - }, - "isarray": Object { - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "optional": true, - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "version": "1.0.0", - }, - "isexe": Object { - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "version": "2.0.0", - }, - "isstream": Object { - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "version": "0.1.2", - }, - "istanbul-lib-coverage": Object { - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "version": "2.0.5", - }, - "istanbul-lib-hook": Object { - "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", - "requires": Object { - "append-transform": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", - "version": "2.0.7", - }, - "istanbul-lib-instrument": Object { - "dependencies": Object { - "semver": Object { - "integrity": "sha512-jdFC1VdUGT/2Scgbimf7FSx9iJLXoqfglSF+gJeuNWVpiE37OIbc1jywR/GJyFdz3mnkz2/id0L0J/cr0izR5A==", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.2.0.tgz", - "version": "6.2.0", - }, - }, - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "requires": Object { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0", - }, - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "version": "3.3.0", - }, - "istanbul-lib-processinfo": Object { - "dependencies": Object { - "rimraf": Object { - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "requires": Object { - "glob": "^7.1.3", - }, - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "version": "2.6.3", - }, - }, - "integrity": "sha512-FY0cPmWa4WoQNlvB8VOcafiRoB5nB+l2Pz2xGuXHRSy1KM8QFOYfz/rN+bGMCAeejrY3mrpF5oJHcN0s/garCg==", - "requires": Object { - "archy": "^1.0.0", - "cross-spawn": "^6.0.5", - "istanbul-lib-coverage": "^2.0.3", - "rimraf": "^2.6.3", - "uuid": "^3.3.2", - }, - "resolved": "https://registry.npmjs.org/istanbul-lib-processinfo/-/istanbul-lib-processinfo-1.0.0.tgz", - "version": "1.0.0", - }, - "istanbul-lib-report": Object { - "dependencies": Object { - "supports-color": Object { - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "requires": Object { - "has-flag": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "version": "6.1.0", - }, - }, - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", - "requires": Object { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0", - }, - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "version": "2.0.8", - }, - "istanbul-lib-source-maps": Object { - "dependencies": Object { - "debug": Object { - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": Object { - "ms": "^2.1.1", - }, - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "version": "4.1.1", - }, - "rimraf": Object { - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "requires": Object { - "glob": "^7.1.3", - }, - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "version": "2.6.3", - }, - }, - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", - "requires": Object { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1", - }, - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "version": "3.0.6", - }, - "istanbul-reports": Object { - "integrity": "sha512-SKi4rnMyLBKe0Jy2uUdx28h8oG7ph2PPuQPvIAh31d+Ci+lSiEu4C+h3oBPuJ9+mPKhOyW0M8gY4U5NM1WLeXA==", - "requires": Object { - "handlebars": "^4.1.2", - }, - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.6.tgz", - "version": "2.2.6", - }, - "jackspeak": Object { - "integrity": "sha512-VDcSunT+wcccoG46FtzuBAyQKlzhHjli4q31e1fIHGOsRspqNUFjVzGb+7eIFDlTvqLygxapDHPHS0ouT2o/tw==", - "requires": Object { - "cliui": "^4.1.0", - }, - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-1.4.0.tgz", - "version": "1.4.0", - }, - "js-tokens": Object { - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "version": "4.0.0", - }, - "js-yaml": Object { - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", - "requires": Object { - "argparse": "^1.0.7", - "esprima": "^4.0.0", - }, - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "version": "3.13.1", - }, - "jsbn": Object { - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "version": "0.1.1", - }, - "jsesc": Object { - "integrity": "sha1-RsP+yMGJKxKwgz25vHYiF226s0s=", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-1.3.0.tgz", - "version": "1.3.0", - }, - "json-parse-better-errors": Object { - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "version": "1.0.2", - }, - "json-schema": Object { - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "version": "0.2.3", - }, - "json-schema-traverse": Object { - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "version": "0.4.1", - }, - "json-stringify-safe": Object { - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "version": "5.0.1", - }, - "json5": Object { - "integrity": "sha1-Hq3nrMASA0rYTiOWdn6tn6VJWCE=", - "resolved": "https://registry.npmjs.org/json5/-/json5-0.5.1.tgz", - "version": "0.5.1", - }, - "jsprim": Object { - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", - "requires": Object { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0", - }, - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "version": "1.4.1", - }, - "lcid": Object { - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "requires": Object { - "invert-kv": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "version": "2.0.0", - }, - "lcov-parse": Object { - "integrity": "sha1-GwuP+ayceIklBYK3C3ExXZ2m2aM=", - "resolved": "https://registry.npmjs.org/lcov-parse/-/lcov-parse-0.0.10.tgz", - "version": "0.0.10", - }, - "load-json-file": Object { - "integrity": "sha1-L19Fq5HjMhYjT9U62rZo607AmTs=", - "requires": Object { - "graceful-fs": "^4.1.2", - "parse-json": "^4.0.0", - "pify": "^3.0.0", - "strip-bom": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/load-json-file/-/load-json-file-4.0.0.tgz", - "version": "4.0.0", - }, - "locate-path": Object { - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "requires": Object { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "version": "3.0.0", - }, - "lodash": Object { - "integrity": "sha512-cQKh8igo5QUhZ7lg38DYWAxMvjSAKG0A8wGSVimP07SIUEK2UO+arSRKbRZWtelMtN5V0Hkwh5ryOto/SshYIg==", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.11.tgz", - "version": "4.17.11", - }, - "lodash.flattendeep": Object { - "integrity": "sha1-+wMJF/hqMTTlvJvsDWngAT3f7bI=", - "resolved": "https://registry.npmjs.org/lodash.flattendeep/-/lodash.flattendeep-4.4.0.tgz", - "version": "4.4.0", - }, - "lodash.throttle": Object { - "integrity": "sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ=", - "resolved": "https://registry.npmjs.org/lodash.throttle/-/lodash.throttle-4.1.1.tgz", - "version": "4.1.1", - }, - "log-driver": Object { - "integrity": "sha512-U7KCmLdqsGHBLeWqYlFA0V0Sl6P08EE1ZrmA9cxjUE0WVqT9qnyVDPz1kzpFEP0jdJuFnasWIfSd7fsaNXkpbg==", - "resolved": "https://registry.npmjs.org/log-driver/-/log-driver-1.2.7.tgz", - "version": "1.2.7", - }, - "log-update": Object { - "integrity": "sha512-KJ6zAPIHWo7Xg1jYror6IUDFJBq1bQ4Bi4wAEp2y/0ScjBBVi/g0thr0sUVhuvuXauWzczt7T2QHghPDNnKBuw==", - "requires": Object { - "ansi-escapes": "^3.2.0", - "cli-cursor": "^2.1.0", - "wrap-ansi": "^5.0.0", - }, - "resolved": "https://registry.npmjs.org/log-update/-/log-update-3.2.0.tgz", - "version": "3.2.0", - }, - "loose-envify": Object { - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "requires": Object { - "js-tokens": "^3.0.0 || ^4.0.0", - }, - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "version": "1.4.0", - }, - "lru-cache": Object { - "dependencies": Object { - "yallist": Object { - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "version": "2.1.2", - }, - }, - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "requires": Object { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2", - }, - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "version": "4.1.5", - }, - "make-dir": Object { - "dependencies": Object { - "pify": Object { - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "version": "4.0.1", - }, - }, - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "requires": Object { - "pify": "^4.0.1", - "semver": "^5.6.0", - }, - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "version": "2.1.0", - }, - "make-error": Object { - "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", - "version": "1.3.5", - }, - "map-age-cleaner": Object { - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", - "requires": Object { - "p-defer": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "version": "0.1.3", - }, - "mem": Object { - "dependencies": Object { - "mimic-fn": Object { - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "version": "2.1.0", - }, - }, - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", - "requires": Object { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "version": "4.3.0", - }, - "merge-source-map": Object { - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "requires": Object { - "source-map": "^0.6.1", - }, - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "version": "1.1.0", - }, - "mime-db": Object { - "integrity": "sha512-jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.40.0.tgz", - "version": "1.40.0", - }, - "mime-types": Object { - "integrity": "sha512-WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==", - "requires": Object { - "mime-db": "1.40.0", - }, - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.24.tgz", - "version": "2.1.24", - }, - "mimic-fn": Object { - "integrity": "sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz", - "version": "1.2.0", - }, - "minimatch": Object { - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": Object { - "brace-expansion": "^1.1.7", - }, - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "version": "3.0.4", - }, - "minimist": Object { - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "version": "0.0.8", - }, - "minipass": Object { - "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==", - "requires": Object { - "yallist": "^4.0.0", - }, - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", - "version": "3.1.1", - }, - "mkdirp": Object { - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", - "requires": Object { - "minimist": "0.0.8", - }, - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "version": "0.5.1", - }, - "ms": Object { - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "version": "2.1.2", - }, - "neo-async": Object { - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "version": "2.6.1", - }, - "nested-error-stacks": Object { - "integrity": "sha512-AO81vsIO1k1sM4Zrd6Hu7regmJN1NSiAja10gc4bX3F0wd+9rQmcuHQaHVQCYIEC8iFXnE+mavh23GOt7wBgug==", - "resolved": "https://registry.npmjs.org/nested-error-stacks/-/nested-error-stacks-2.1.0.tgz", - "version": "2.1.0", - }, - "nice-try": Object { - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "version": "1.0.5", - }, - "node-modules-regexp": Object { - "integrity": "sha1-jZ2+KJZKSsVxLpExZCEHxx6Q7EA=", - "resolved": "https://registry.npmjs.org/node-modules-regexp/-/node-modules-regexp-1.0.0.tgz", - "version": "1.0.0", - }, - "normalize-package-data": Object { - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", - "requires": Object { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1", - }, - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "version": "2.5.0", - }, - "normalize-path": Object { - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "version": "3.0.0", - }, - "npm-run-path": Object { - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", - "requires": Object { - "path-key": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "version": "2.0.2", - }, - "number-is-nan": Object { - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "version": "1.0.1", - }, - "nyc": Object { - "dependencies": Object { - "resolve-from": Object { - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "version": "4.0.0", - }, - "rimraf": Object { - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "requires": Object { - "glob": "^7.1.3", - }, - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "version": "2.6.3", - }, - }, - "integrity": "sha512-OI0vm6ZGUnoGZv/tLdZ2esSVzDwUC88SNs+6JoSOMVxA+gKMB8Tk7jBwgemLx4O40lhhvZCVw1C+OYLOBOPXWw==", - "requires": Object { - "archy": "^1.0.0", - "caching-transform": "^3.0.2", - "convert-source-map": "^1.6.0", - "cp-file": "^6.2.0", - "find-cache-dir": "^2.1.0", - "find-up": "^3.0.0", - "foreground-child": "^1.5.6", - "glob": "^7.1.3", - "istanbul-lib-coverage": "^2.0.5", - "istanbul-lib-hook": "^2.0.7", - "istanbul-lib-instrument": "^3.3.0", - "istanbul-lib-report": "^2.0.8", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^2.2.4", - "js-yaml": "^3.13.1", - "make-dir": "^2.1.0", - "merge-source-map": "^1.1.0", - "resolve-from": "^4.0.0", - "rimraf": "^2.6.3", - "signal-exit": "^3.0.2", - "spawn-wrap": "^1.4.2", - "test-exclude": "^5.2.3", - "uuid": "^3.3.2", - "yargs": "^13.2.2", - "yargs-parser": "^13.0.0", - }, - "resolved": "https://registry.npmjs.org/nyc/-/nyc-14.1.1.tgz", - "version": "14.1.1", - }, - "oauth-sign": Object { - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "version": "0.9.0", - }, - "object-assign": Object { - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "version": "4.1.1", - }, - "once": Object { - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": Object { - "wrappy": "1", - }, - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "version": "1.4.0", - }, - "onetime": Object { - "integrity": "sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=", - "requires": Object { - "mimic-fn": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz", - "version": "2.0.1", - }, - "opener": Object { - "integrity": "sha512-goYSy5c2UXE4Ra1xixabeVh1guIX/ZV/YokJksb6q2lubWu6UbvPQ20p542/sFIll1nl8JnCyK9oBaOcCWXwvA==", - "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.1.tgz", - "version": "1.5.1", - }, - "optimist": Object { - "dependencies": Object { - "minimist": Object { - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "version": "0.0.10", - }, - }, - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", - "requires": Object { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2", - }, - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "version": "0.6.1", - }, - "os-homedir": Object { - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "version": "1.0.2", - }, - "os-locale": Object { - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", - "requires": Object { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0", - }, - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "version": "3.1.0", - }, - "os-tmpdir": Object { - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "version": "1.0.2", - }, - "own-or": Object { - "integrity": "sha1-Tod/vtqaLsgAD7wLyuOWRe6L+Nw=", - "resolved": "https://registry.npmjs.org/own-or/-/own-or-1.0.0.tgz", - "version": "1.0.0", - }, - "own-or-env": Object { - "integrity": "sha512-y8qULRbRAlL6x2+M0vIe7jJbJx/kmUTzYonRAa2ayesR2qWLswninkVyeJe4x3IEXhdgoNodzjQRKAoEs6Fmrw==", - "requires": Object { - "own-or": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/own-or-env/-/own-or-env-1.0.1.tgz", - "version": "1.0.1", - }, - "p-defer": Object { - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "version": "1.0.0", - }, - "p-finally": Object { - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "version": "1.0.0", - }, - "p-is-promise": Object { - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "version": "2.1.0", - }, - "p-limit": Object { - "integrity": "sha512-pZbTJpoUsCzV48Mc9Nh51VbwO0X9cuPFE8gYwx9BTCt9SF8/b7Zljd2fVgOxhIF/HDTKgpVzs+GPhyKfjLLFRQ==", - "requires": Object { - "p-try": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.2.0.tgz", - "version": "2.2.0", - }, - "p-locate": Object { - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "requires": Object { - "p-limit": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "version": "3.0.0", - }, - "p-try": Object { - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "version": "2.2.0", - }, - "package-hash": Object { - "integrity": "sha512-lOtmukMDVvtkL84rJHI7dpTYq+0rli8N2wlnqUcBuDWCfVhRUfOmnR9SsoHFMLpACvEV60dX7rd0rFaYDZI+FA==", - "requires": Object { - "graceful-fs": "^4.1.15", - "hasha": "^3.0.0", - "lodash.flattendeep": "^4.4.0", - "release-zalgo": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/package-hash/-/package-hash-3.0.0.tgz", - "version": "3.0.0", - }, - "parse-json": Object { - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", - "requires": Object { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1", - }, - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "version": "4.0.0", - }, - "path-exists": Object { - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "version": "3.0.0", - }, - "path-is-absolute": Object { - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "version": "1.0.1", - }, - "path-key": Object { - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "version": "2.0.1", - }, - "path-parse": Object { - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "version": "1.0.6", - }, - "path-type": Object { - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", - "requires": Object { - "pify": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "version": "3.0.0", - }, - "performance-now": Object { - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "version": "2.1.0", - }, - "picomatch": Object { - "integrity": "sha512-oLHIdio3tZ0qH76NybpeneBhYVj0QFTfXEFTc/B3zKQspYfYYkWYgFsmzo+4kvId/bQRcNkVeguI3y+CD22BtA==", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.0.7.tgz", - "version": "2.0.7", - }, - "pify": Object { - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "version": "3.0.0", - }, - "pirates": Object { - "integrity": "sha512-c5CgUJq6H2k6MJz72Ak1F5sN9n9wlSlJyEnwvpm9/y3WB4E3pHBDT2c6PEiS1vyJvq2bUxUAIu0EGf8Cx4Ic7Q==", - "requires": Object { - "node-modules-regexp": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/pirates/-/pirates-3.0.2.tgz", - "version": "3.0.2", - }, - "pkg-dir": Object { - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "requires": Object { - "find-up": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "version": "3.0.0", - }, - "private": Object { - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "version": "0.1.8", - }, - "process-nextick-args": Object { - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "optional": true, - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "version": "2.0.1", - }, - "prop-types": Object { - "integrity": "sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==", - "requires": Object { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.8.1", - }, - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.7.2.tgz", - "version": "15.7.2", - }, - "pseudomap": Object { - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "version": "1.0.2", - }, - "psl": Object { - "integrity": "sha512-GEn74ZffufCmkDDLNcl3uuyF/aSD6exEyh1v/ZSdAomB82t6G9hzJVRx0jBmLDW+VfZqks3aScmMw9DszwUalA==", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.2.0.tgz", - "version": "1.2.0", - }, - "pump": Object { - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "requires": Object { - "end-of-stream": "^1.1.0", - "once": "^1.3.1", - }, - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "version": "3.0.0", - }, - "punycode": Object { - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "version": "1.4.1", - }, - "qs": Object { - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "version": "6.5.2", - }, - "react": Object { - "integrity": "sha512-fglqy3k5E+81pA8s+7K0/T3DBCF0ZDOher1elBFzF7O6arXJgzyu/FW+COxFvAWXJoJN9KIZbT2LXlukwphYTA==", - "requires": Object { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - }, - "resolved": "https://registry.npmjs.org/react/-/react-16.12.0.tgz", - "version": "16.12.0", - }, - "react-is": Object { - "integrity": "sha512-aUk3bHfZ2bRSVFFbbeVS4i+lNPZr3/WM5jT2J5omUVV1zzcs1nAaf3l51ctA5FFvCRbhrH0bdAsRRQddFJZPtA==", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.8.6.tgz", - "version": "16.8.6", - }, - "react-reconciler": Object { - "integrity": "sha512-kxERc4H32zV2lXMg/iMiwQHOtyqf15qojvkcZ5Ja2CPkjVohHw9k70pdDBwrnQhLVetUJBSYyqU3yqrlVTOajA==", - "requires": Object { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.13.6", - }, - "resolved": "https://registry.npmjs.org/react-reconciler/-/react-reconciler-0.20.4.tgz", - "version": "0.20.4", - }, - "read-pkg": Object { - "integrity": "sha1-nLxoaXj+5l0WwA4rGcI3/Pbjg4k=", - "requires": Object { - "load-json-file": "^4.0.0", - "normalize-package-data": "^2.3.2", - "path-type": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-3.0.0.tgz", - "version": "3.0.0", - }, - "read-pkg-up": Object { - "integrity": "sha512-6etQSH7nJGsK0RbG/2TeDzZFa8shjQ1um+SwQQ5cwKy0dhSXdOncEhb1CPpvQG4h7FyOV6EB6YlV0yJvZQNAkA==", - "requires": Object { - "find-up": "^3.0.0", - "read-pkg": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-4.0.0.tgz", - "version": "4.0.0", - }, - "readable-stream": Object { - "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", - "optional": true, - "requires": Object { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1", - }, - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", - "version": "2.3.6", - }, - "readdirp": Object { - "integrity": "sha512-crk4Qu3pmXwgxdSgGhgA/eXiJAPQiX4GMOZZMXnqKxHX7TaoL+3gQVo/WeuAiogr07DpnfjIMpXXa+PAIvwPGQ==", - "requires": Object { - "picomatch": "^2.0.4", - }, - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.2.0.tgz", - "version": "3.2.0", - }, - "redeyed": Object { - "integrity": "sha1-iYS1gV2ZyyIEacme7v/jiRPmzAs=", - "requires": Object { - "esprima": "~4.0.0", - }, - "resolved": "https://registry.npmjs.org/redeyed/-/redeyed-2.1.1.tgz", - "version": "2.1.1", - }, - "regenerator-runtime": Object { - "integrity": "sha512-S/TQAZJO+D3m9xeN1WTI8dLKBBiRgXBlTJvbWjCThHWZj9EvHK70Ff50/tYj2J/fvBY6JtFVwRuazHN2E7M9BA==", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.2.tgz", - "version": "0.13.2", - }, - "release-zalgo": Object { - "integrity": "sha1-CXALflB0Mpc5Mw5TXFqQ+2eFFzA=", - "requires": Object { - "es6-error": "^4.0.1", - }, - "resolved": "https://registry.npmjs.org/release-zalgo/-/release-zalgo-1.0.0.tgz", - "version": "1.0.0", - }, - "repeating": Object { - "integrity": "sha1-UhTFOpJtNVJwdSf7q0FdvAjQbdo=", - "requires": Object { - "is-finite": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/repeating/-/repeating-2.0.1.tgz", - "version": "2.0.1", - }, - "request": Object { - "dependencies": Object { - "safe-buffer": Object { - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "version": "5.2.0", - }, - }, - "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", - "requires": Object { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.0", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.4.3", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2", - }, - "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", - "version": "2.88.0", - }, - "require-directory": Object { - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "version": "2.1.1", - }, - "require-main-filename": Object { - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "version": "2.0.0", - }, - "resolve": Object { - "integrity": "sha512-vIpgF6wfuJOZI7KKKSP+HmiKggadPQAdsp5HiC1mvqnfp0gF1vdwgBWZIdrVft9pgqoMFQN+R7BSWZiBxx+BBw==", - "requires": Object { - "path-parse": "^1.0.6", - }, - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.11.1.tgz", - "version": "1.11.1", - }, - "resolve-from": Object { - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "version": "3.0.0", - }, - "restore-cursor": Object { - "integrity": "sha1-n37ih/gv0ybU/RYpI9YhKe7g368=", - "requires": Object { - "onetime": "^2.0.0", - "signal-exit": "^3.0.2", - }, - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz", - "version": "2.0.0", - }, - "rimraf": Object { - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "requires": Object { - "glob": "^7.1.3", - }, - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "version": "2.7.1", - }, - "safe-buffer": Object { - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "version": "5.1.2", - }, - "safer-buffer": Object { - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "version": "2.1.2", - }, - "scheduler": Object { - "integrity": "sha512-IWnObHt413ucAYKsD9J1QShUKkbKLQQHdxRyw73sw4FN26iWr3DY/H34xGPe4nmL1DwXyWmSWmMrA9TfQbE/XQ==", - "requires": Object { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - }, - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.13.6.tgz", - "version": "0.13.6", - }, - "semver": Object { - "integrity": "sha512-Ya52jSX2u7QKghxeoFGpLwCtGlt7j0oY9DYb5apt9nPlJ42ID+ulTXESnt/qAQcoSERyZ5sl3LDIOw0nAn/5DA==", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.0.tgz", - "version": "5.7.0", - }, - "set-blocking": Object { - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "version": "2.0.0", - }, - "shebang-command": Object { - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", - "requires": Object { - "shebang-regex": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "version": "1.2.0", - }, - "shebang-regex": Object { - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "version": "1.0.0", - }, - "signal-exit": Object { - "integrity": "sha1-tf3AjxKH6hF4Yo5BXiUTK3NkbG0=", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.2.tgz", - "version": "3.0.2", - }, - "slash": Object { - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "version": "1.0.0", - }, - "slice-ansi": Object { - "integrity": "sha512-POqxBK6Lb3q6s047D/XsDVNPnF9Dl8JSaqe9h9lURl0OdNqy/ujDrOiIHtsqXMGbWWTIomRzAMaTyawAU//Reg==", - "requires": Object { - "is-fullwidth-code-point": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-1.0.0.tgz", - "version": "1.0.0", - }, - "source-map": Object { - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "version": "0.6.1", - }, - "source-map-support": Object { - "integrity": "sha512-efyLRJDr68D9hBBNIPWFjhpFzURh+KJykQwvMyW5UiZzYwoF6l4YMMDIJJEyFWxWCqfyxLzz6tSfUFR+kXXsVQ==", - "requires": Object { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0", - }, - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.16.tgz", - "version": "0.5.16", - }, - "spawn-wrap": Object { - "dependencies": Object { - "rimraf": Object { - "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", - "requires": Object { - "glob": "^7.1.3", - }, - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", - "version": "2.6.3", - }, - "which": Object { - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "requires": Object { - "isexe": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "version": "1.3.1", - }, - }, - "integrity": "sha512-vMwR3OmmDhnxCVxM8M+xO/FtIp6Ju/mNaDfCMMW7FDcLRTPFWUswec4LXJHTJE2hwTI9O0YBfygu4DalFl7Ylg==", - "requires": Object { - "foreground-child": "^1.5.6", - "mkdirp": "^0.5.0", - "os-homedir": "^1.0.1", - "rimraf": "^2.6.2", - "signal-exit": "^3.0.2", - "which": "^1.3.0", - }, - "resolved": "https://registry.npmjs.org/spawn-wrap/-/spawn-wrap-1.4.2.tgz", - "version": "1.4.2", - }, - "spdx-correct": Object { - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", - "requires": Object { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "version": "3.1.0", - }, - "spdx-exceptions": Object { - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "version": "2.2.0", - }, - "spdx-expression-parse": Object { - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", - "requires": Object { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "version": "3.0.0", - }, - "spdx-license-ids": Object { - "integrity": "sha512-7j8LYJLeY/Yb6ACbQ7F76qy5jHkp0U6jgBfJsk97bwWlVUnUWsAgpyaCvo17h0/RQGnQ036tVDomiwoI4pDkQA==", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.4.tgz", - "version": "3.0.4", - }, - "sprintf-js": Object { - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "version": "1.0.3", - }, - "sshpk": Object { - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "requires": Object { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0", - }, - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "version": "1.16.1", - }, - "stack-utils": Object { - "integrity": "sha512-MTX+MeG5U994cazkjd/9KNAapsHnibjMLnfXodlkXw76JEea0UiNzrqidzo1emMwk7w5Qhc9jd4Bn9TBb1MFwA==", - "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-1.0.2.tgz", - "version": "1.0.2", - }, - "string_decoder": Object { - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "optional": true, - "requires": Object { - "safe-buffer": "~5.1.0", - }, - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "version": "1.1.1", - }, - "string-length": Object { - "dependencies": Object { - "ansi-regex": Object { - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "version": "3.0.0", - }, - "strip-ansi": Object { - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": Object { - "ansi-regex": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "version": "4.0.0", - }, - }, - "integrity": "sha1-1A27aGo6zpYMHP/KVivyxF+DY+0=", - "requires": Object { - "astral-regex": "^1.0.0", - "strip-ansi": "^4.0.0", - }, - "resolved": "https://registry.npmjs.org/string-length/-/string-length-2.0.0.tgz", - "version": "2.0.0", - }, - "string-width": Object { - "dependencies": Object { - "ansi-regex": Object { - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "version": "3.0.0", - }, - "strip-ansi": Object { - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "requires": Object { - "ansi-regex": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "version": "4.0.0", - }, - }, - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", - "requires": Object { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0", - }, - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "version": "2.1.1", - }, - "strip-ansi": Object { - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "requires": Object { - "ansi-regex": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "version": "3.0.1", - }, - "strip-bom": Object { - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "version": "3.0.0", - }, - "strip-eof": Object { - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "version": "1.0.0", - }, - "supports-color": Object { - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": Object { - "has-flag": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "version": "5.5.0", - }, - "tap-mocha-reporter": Object { - "dependencies": Object { - "diff": Object { - "integrity": "sha1-fyjS657nsVqX79ic5j3P2qPMur8=", - "resolved": "https://registry.npmjs.org/diff/-/diff-1.4.0.tgz", - "version": "1.4.0", - }, - }, - "integrity": "sha512-8HlAtdmYGlDZuW83QbF/dc46L7cN+AGhLZcanX3I9ILvxUAl+G2/mtucNPSXecTlG/4iP1hv6oMo0tMhkn3Tsw==", - "requires": Object { - "color-support": "^1.1.0", - "debug": "^2.1.3", - "diff": "^1.3.2", - "escape-string-regexp": "^1.0.3", - "glob": "^7.0.5", - "readable-stream": "^2.1.5", - "tap-parser": "^10.0.0", - "tap-yaml": "^1.0.0", - "unicode-length": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/tap-mocha-reporter/-/tap-mocha-reporter-5.0.0.tgz", - "version": "5.0.0", - }, - "tap-parser": Object { - "integrity": "sha512-qdT15H0DoJIi7zOqVXDn9X0gSM68JjNy1w3VemwTJlDnETjbi6SutnqmBfjDJAwkFS79NJ97gZKqie00ZCGmzg==", - "requires": Object { - "events-to-array": "^1.0.1", - "minipass": "^3.0.0", - "tap-yaml": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/tap-parser/-/tap-parser-10.0.1.tgz", - "version": "10.0.1", - }, - "tap-yaml": Object { - "integrity": "sha512-Rxbx4EnrWkYk0/ztcm5u3/VznbyFJpyXO12dDBHKWiDVxy7O2Qw6MRrwO5H6Ww0U5YhRY/4C/VzWmFPhBQc4qQ==", - "requires": Object { - "yaml": "^1.5.0", - }, - "resolved": "https://registry.npmjs.org/tap-yaml/-/tap-yaml-1.0.0.tgz", - "version": "1.0.0", - }, - "tcompare": Object { - "integrity": "sha512-fAfA73uFtFGybWGt4+IYT6UPLYVZQ4NfsP+IXEZGY0vh8e2IF7LVKafcQNMRBLqP0wzEA65LM9Tqj+FSmO8GLw==", - "resolved": "https://registry.npmjs.org/tcompare/-/tcompare-2.3.0.tgz", - "version": "2.3.0", - }, - "test-exclude": Object { - "integrity": "sha512-M+oxtseCFO3EDtAaGH7iiej3CBkzXqFMbzqYAACdzKui4eZA+pq3tZEwChvOdNfa7xxy8BfbmgJSIr43cC/+2g==", - "requires": Object { - "glob": "^7.1.3", - "minimatch": "^3.0.4", - "read-pkg-up": "^4.0.0", - "require-main-filename": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-5.2.3.tgz", - "version": "5.2.3", - }, - "to-fast-properties": Object { - "integrity": "sha1-uDVx+k2MJbguIxsG46MFXeTKGkc=", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-1.0.3.tgz", - "version": "1.0.3", - }, - "to-regex-range": Object { - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "requires": Object { - "is-number": "^7.0.0", - }, - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "version": "5.0.1", - }, - "tough-cookie": Object { - "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", - "requires": Object { - "psl": "^1.1.24", - "punycode": "^1.4.1", - }, - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", - "version": "2.4.3", - }, - "treport": Object { - "dependencies": Object { - "punycode": Object { - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "version": "2.1.1", - }, - "react": Object { - "integrity": "sha512-pC0uMkhLaHm11ZSJULfOBqV4tIZkx87ZLvbbQYunNixAAvjnC+snJCg0XQXn9VIsttVsbZP/H/ewzgsd5fxKXw==", - "requires": Object { - "loose-envify": "^1.1.0", - "object-assign": "^4.1.1", - "prop-types": "^15.6.2", - "scheduler": "^0.13.6", - }, - "resolved": "https://registry.npmjs.org/react/-/react-16.8.6.tgz", - "version": "16.8.6", - }, - "unicode-length": Object { - "integrity": "sha512-Ph/j1VbS3/r77nhoY2WU0GWGjVYOHL3xpKp0y/Eq2e5r0mT/6b649vm7KFO6RdAdrZkYLdxphYVgvODxPB+Ebg==", - "requires": Object { - "punycode": "^2.0.0", - "strip-ansi": "^3.0.1", - }, - "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-2.0.2.tgz", - "version": "2.0.2", - }, - }, - "integrity": "sha512-Po8pQ/rmu4lVNmZWBgqyiHoIWXFeWaMA3H/WoCKw+DiS0xFn43UYRH6hYnjmrWCp0rkLItELQP/maO9uHDe/7A==", - "requires": Object { - "cardinal": "^2.1.1", - "chalk": "^2.4.2", - "import-jsx": "^2.0.0", - "ink": "^2.1.1", - "ms": "^2.1.1", - "react": "^16.8.6", - "string-length": "^2.0.0", - "tap-parser": "^10.0.1", - "unicode-length": "^2.0.1", - }, - "resolved": "https://registry.npmjs.org/treport/-/treport-0.4.2.tgz", - "version": "0.4.2", - }, - "trim-right": Object { - "integrity": "sha1-yy4SAwZ+DI3h9hQJS5/kVwTqYAM=", - "resolved": "https://registry.npmjs.org/trim-right/-/trim-right-1.0.1.tgz", - "version": "1.0.1", - }, - "trivial-deferred": Object { - "integrity": "sha1-N21NKdlR1jaKb3oK6FwvTV4GWPM=", - "resolved": "https://registry.npmjs.org/trivial-deferred/-/trivial-deferred-1.0.1.tgz", - "version": "1.0.1", - }, - "ts-node": Object { - "dependencies": Object { - "source-map-support": Object { - "integrity": "sha512-4h2Pbvyy15EE02G+JOZpUCmqWJuqrs+sEkzewTm++BPi7Hvn/HwcqLAcNxYAyI0x13CpPPn+kMjl+hplXMHITQ==", - "requires": Object { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0", - }, - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.12.tgz", - "version": "0.5.12", - }, - }, - "integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==", - "requires": Object { - "arg": "^4.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.6", - "yn": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz", - "version": "8.3.0", - }, - "tunnel-agent": Object { - "dependencies": Object { - "safe-buffer": Object { - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "version": "5.2.0", - }, - }, - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", - "requires": Object { - "safe-buffer": "^5.0.1", - }, - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "version": "0.6.0", - }, - "tweetnacl": Object { - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "version": "0.14.5", - }, - "typedarray-to-buffer": Object { - "integrity": "sha512-zdu8XMNEDepKKR+XYOXAVPtWui0ly0NtohUscw+UmaHiAWT8hrV1rr//H6V+0DvJ3OQ19S979M0laLfX8rm82Q==", - "requires": Object { - "is-typedarray": "^1.0.0", - }, - "resolved": "https://registry.npmjs.org/typedarray-to-buffer/-/typedarray-to-buffer-3.1.5.tgz", - "version": "3.1.5", - }, - "typescript": Object { - "integrity": "sha512-ml7V7JfiN2Xwvcer+XAf2csGO1bPBdRbFCkYBczNZggrBZ9c7G3riSUeJmqEU5uOtXNPMhE3n+R4FA/3YOAWOQ==", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.7.2.tgz", - "version": "3.7.2", - }, - "uglify-js": Object { - "integrity": "sha512-W+jrUHJr3DXKhrsS7NUVxn3zqMOFn0hL/Ei6v0anCIMoKC93TjcflTagwIHLW7SfMFfiQuktQyFVCFHGUE0+yg==", - "optional": true, - "requires": Object { - "commander": "~2.20.0", - "source-map": "~0.6.1", - }, - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.6.0.tgz", - "version": "3.6.0", - }, - "unicode-length": Object { - "integrity": "sha1-Wtp6f+1RhBpBijKM8UlHisg1irs=", - "requires": Object { - "punycode": "^1.3.2", - "strip-ansi": "^3.0.1", - }, - "resolved": "https://registry.npmjs.org/unicode-length/-/unicode-length-1.0.3.tgz", - "version": "1.0.3", - }, - "uri-js": Object { - "dependencies": Object { - "punycode": Object { - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "version": "2.1.1", - }, - }, - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", - "requires": Object { - "punycode": "^2.1.0", - }, - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "version": "4.2.2", - }, - "util-deprecate": Object { - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "optional": true, - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "version": "1.0.2", - }, - "uuid": Object { - "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", - "version": "3.3.2", - }, - "validate-npm-package-license": Object { - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "requires": Object { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0", - }, - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "version": "3.0.4", - }, - "verror": Object { - "dependencies": Object { - "extsprintf": Object { - "integrity": "sha1-4mifjzVvrWLMplo6kcXfX5VRaS8=", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.4.0.tgz", - "version": "1.4.0", - }, - }, - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "requires": Object { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0", - }, - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "version": "1.10.0", - }, - "vlq": Object { - "integrity": "sha512-DRibZL6DsNhIgYQ+wNdWDL2SL3bKPlVrRiBqV5yuMm++op8W4kGFtaQfCs4KEJn0wBZcHVHJ3eoywX8983k1ow==", - "resolved": "https://registry.npmjs.org/vlq/-/vlq-0.2.3.tgz", - "version": "0.2.3", - }, - "which": Object { - "integrity": "sha512-N7GBZOTswtB9lkQBZA4+zAXrjEIWAUOB93AvzUiudRzRxhUdLURQ7D/gAIMY1gatT/LTbmbcv8SiYazy3eYB7w==", - "requires": Object { - "isexe": "^2.0.0", - }, - "resolved": "https://registry.npmjs.org/which/-/which-2.0.1.tgz", - "version": "2.0.1", - }, - "which-module": Object { - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "version": "2.0.0", - }, - "widest-line": Object { - "integrity": "sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA==", - "requires": Object { - "string-width": "^2.1.1", - }, - "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-2.0.1.tgz", - "version": "2.0.1", - }, - "wordwrap": Object { - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "version": "0.0.3", - }, - "wrap-ansi": Object { - "dependencies": Object { - "ansi-regex": Object { - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "version": "4.1.0", - }, - "string-width": Object { - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": Object { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0", - }, - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "version": "3.1.0", - }, - "strip-ansi": Object { - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": Object { - "ansi-regex": "^4.1.0", - }, - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "version": "5.2.0", - }, - }, - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", - "requires": Object { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0", - }, - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "version": "5.1.0", - }, - "wrappy": Object { - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "version": "1.0.2", - }, - "write-file-atomic": Object { - "integrity": "sha512-EIgkf60l2oWsffja2Sf2AL384dx328c0B+cIYPTQq5q2rOYuDV00/iPFBOUiDKKwKMOhkymH8AidPaRvzfxY+Q==", - "requires": Object { - "imurmurhash": "^0.1.4", - "is-typedarray": "^1.0.0", - "signal-exit": "^3.0.2", - "typedarray-to-buffer": "^3.1.5", - }, - "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-3.0.0.tgz", - "version": "3.0.0", - }, - "y18n": Object { - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "version": "4.0.0", - }, - "yallist": Object { - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "version": "4.0.0", - }, - "yaml": Object { - "integrity": "sha512-iZfse3lwrJRoSlfs/9KQ9iIXxs9++RvBFVzAqbbBiFT+giYtyanevreF9r61ZTbGMgWQBxAua3FzJiniiJXWWw==", - "requires": Object { - "@babel/runtime": "^7.4.5", - }, - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.6.0.tgz", - "version": "1.6.0", - }, - "yapool": Object { - "integrity": "sha1-9pPymjFbUNmp2iZGp6ZkXJaYW2o=", - "resolved": "https://registry.npmjs.org/yapool/-/yapool-1.0.0.tgz", +exports[`test/shrinkwrap.js TAP loadActual tests symlinked-node-modules/example > shrinkwrap data 1`] = ` +Object { + "lockfileVersion": 3, + "name": "example", + "packages": Object { + "": Object { + "name": "example", "version": "1.0.0", }, - "yargs": Object { - "dependencies": Object { - "ansi-regex": Object { - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "version": "4.1.0", - }, - "cliui": Object { - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", - "requires": Object { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0", - }, - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "version": "5.0.0", - }, - "string-width": Object { - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "requires": Object { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0", - }, - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "version": "3.1.0", - }, - "strip-ansi": Object { - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "requires": Object { - "ansi-regex": "^4.1.0", - }, - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "version": "5.2.0", - }, - }, - "integrity": "sha512-HG/DWAJa1PAnHT9JAhNa8AbAv3FPaiLzioSjCcmuXXhP8MlpHO5vwls4g4j6n30Z74GVQj8Xa62dWVx1QCGklg==", - "requires": Object { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", - "os-locale": "^3.1.0", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.0", - }, - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.2.4.tgz", - "version": "13.2.4", + "../bar": Object { + "extraneous": true, + "version": "1.0.0", }, - "yargs-parser": Object { - "integrity": "sha512-oVAVsHz6uFrg3XQheFII8ESO2ssAf9luWuAd6Wexsu4F3OtIW0o8IribPXYrD4WC24LWtPrJlGy87y5udK+dxQ==", - "requires": Object { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0", - }, - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.1.tgz", - "version": "13.1.1", + "../linked-node-modules/foo": Object { + "extraneous": true, + "version": "1.0.0", }, - "yn": Object { - "integrity": "sha512-kKfnnYkbTfrAdd0xICNFw7Atm8nKpLcLv9AZGEt+kczL/WQVai4e2V6ZN8U/O+iI6WrNuJjNNOyu4zfhl9D3Hg==", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.0.tgz", - "version": "3.1.0", + "node_modules/bar": Object { + "link": true, + "resolved": "../bar", }, - "yoga-layout-prebuilt": Object { - "integrity": "sha512-9SNQpwuEh2NucU83i2KMZnONVudZ86YNcFk9tq74YaqrQfgJWO3yB9uzH1tAg8iqh5c9F5j0wuyJ2z72wcum2w==", - "resolved": "https://registry.npmjs.org/yoga-layout-prebuilt/-/yoga-layout-prebuilt-1.9.3.tgz", - "version": "1.9.3", + "node_modules/foo": Object { + "link": true, + "resolved": "../linked-node-modules/foo", }, }, - "lockfileVersion": 2, + "requires": true, + "version": "1.0.0", +} +` + +exports[`test/shrinkwrap.js TAP loadActual tests tap-with-yarn-lock > shrinkwrap data 1`] = ` +Object { + "lockfileVersion": 3, "name": "tap", "packages": Object { "": Object { @@ -13645,132 +9586,7 @@ exports[`test/shrinkwrap.js TAP loadActual tests tap-with-yarn-lock > yarn.lock exports[`test/shrinkwrap.js TAP loadActual tests workspace > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "a": Object { - "dependencies": Object { - "b": Object { - "dependencies": Object { - "c": Object { - "requires": Object { - "a": "", - "b": "", - }, - "version": "file:packages/c", - }, - }, - "requires": Object { - "a": "", - "c": "", - }, - "version": "file:packages/b", - }, - "c": Object { - "dependencies": Object { - "b": Object { - "requires": Object { - "a": "", - "c": "", - }, - "version": "file:packages/b", - }, - }, - "requires": Object { - "a": "", - "b": "", - }, - "version": "file:packages/c", - }, - }, - "requires": Object { - "b": "", - "c": "", - }, - "version": "file:packages/a", - }, - "b": Object { - "dependencies": Object { - "a": Object { - "dependencies": Object { - "c": Object { - "requires": Object { - "a": "", - "b": "", - }, - "version": "file:packages/c", - }, - }, - "requires": Object { - "b": "", - "c": "", - }, - "version": "file:packages/a", - }, - "c": Object { - "dependencies": Object { - "a": Object { - "requires": Object { - "b": "", - "c": "", - }, - "version": "file:packages/a", - }, - }, - "requires": Object { - "a": "", - "b": "", - }, - "version": "file:packages/c", - }, - }, - "requires": Object { - "a": "", - "c": "", - }, - "version": "file:packages/b", - }, - "c": Object { - "dependencies": Object { - "a": Object { - "dependencies": Object { - "b": Object { - "requires": Object { - "a": "", - "c": "", - }, - "version": "file:packages/b", - }, - }, - "requires": Object { - "b": "", - "c": "", - }, - "version": "file:packages/a", - }, - "b": Object { - "dependencies": Object { - "a": Object { - "requires": Object { - "b": "", - "c": "", - }, - "version": "file:packages/a", - }, - }, - "requires": Object { - "a": "", - "c": "", - }, - "version": "file:packages/b", - }, - }, - "requires": Object { - "a": "", - "b": "", - }, - "version": "file:packages/c", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "workspace", "packages": Object { "": Object { @@ -13842,44 +9658,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests workspace2 > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "b": Object { - "dependencies": Object { - "d": Object { - "requires": Object { - "b": "", - }, - "version": "1.2.3", - }, - }, - "requires": Object { - "d": "", - }, - "version": "1.2.3", - }, - "c": Object { - "dependencies": Object { - "d": Object { - "requires": Object { - "b": "", - }, - "version": "file:node_modules/b/node_modules/d", - }, - "x": Object { - "requires": Object { - "b": "", - }, - "version": "file:x", - }, - }, - "requires": Object { - "d": "", - "x": "", - }, - "version": "1.2.3", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "a", "packages": Object { "": Object { @@ -13931,70 +9710,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests workspace3 > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "a": Object { - "dependencies": Object { - "x": Object { - "extraneous": true, - "version": "1.2.3", - }, - }, - "extraneous": true, - "requires": Object { - "b": "", - "c": "", - "x": "", - }, - "version": "file:packages/a", - }, - "app": Object { - "dependencies": Object { - "i": Object { - "extraneous": true, - "version": "1.2.3", - }, - }, - "extraneous": true, - "requires": Object { - "a": "", - "b": "", - "c": "", - "i": "", - }, - "version": "file:app", - }, - "b": Object { - "dependencies": Object { - "y": Object { - "extraneous": true, - "version": "1.2.3", - }, - }, - "extraneous": true, - "requires": Object { - "a": "", - "c": "", - "y": "", - }, - "version": "file:packages/b", - }, - "c": Object { - "dependencies": Object { - "z": Object { - "extraneous": true, - "version": "1.2.3", - }, - }, - "extraneous": true, - "requires": Object { - "a": "", - "b": "", - "z": "", - }, - "version": "file:packages/c", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "workspace3", "packages": Object { "": Object { @@ -14076,18 +9792,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests workspaces-simple > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "a": Object { - "requires": Object { - "b": "^1.0.0", - }, - "version": "file:a", - }, - "b": Object { - "version": "file:b", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "workspace-simple", "packages": Object { "": Object { @@ -14121,12 +9826,7 @@ Object { exports[`test/shrinkwrap.js TAP loadActual tests yarn-lock-mkdirp-file-dep > shrinkwrap data 1`] = ` Object { - "dependencies": Object { - "mkdirp": Object { - "version": "1.0.2", - }, - }, - "lockfileVersion": 2, + "lockfileVersion": 3, "name": "yarn-lock-mkdirp-file-dep", "packages": Object { "": Object { @@ -14232,18 +9932,16 @@ Object { exports[`test/shrinkwrap.js TAP saving dependency-free shrinkwrap object load file, and save it with a custom format > custom indented json output 1`] = ` { - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, - "packages": {}, - "dependencies": {} + "packages": {} } ` exports[`test/shrinkwrap.js TAP saving dependency-free shrinkwrap object load the unindented file, and generate expected contents > indented json object output 1`] = ` Object { - "dependencies": Object {}, - "lockfileVersion": 2, + "lockfileVersion": 3, "packages": Object {}, "requires": true, } @@ -14251,26 +9949,24 @@ Object { exports[`test/shrinkwrap.js TAP saving dependency-free shrinkwrap object load the unindented file, and generate expected contents > indented json string output 1`] = ` { - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, - "packages": {}, - "dependencies": {} + "packages": {} } ` exports[`test/shrinkwrap.js TAP saving dependency-free shrinkwrap object load the unindented file, and save it back default > indented json output 1`] = ` { - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, - "packages": {}, - "dependencies": {} + "packages": {} } ` exports[`test/shrinkwrap.js TAP saving dependency-free shrinkwrap object save lockfile to root directory > no indent json output 1`] = ` -{"lockfileVersion":2,"requires":true,"packages":{},"dependencies":{}} +{"lockfileVersion":3,"requires":true,"packages":{}} ` exports[`test/shrinkwrap.js TAP shrinkwrap key order > must match snapshot 1`] = ` diff --git a/workspaces/arborist/test/arborist/build-ideal-tree.js b/workspaces/arborist/test/arborist/build-ideal-tree.js index 0f7c5fecf4fd9..15378964b3eca 100644 --- a/workspaces/arborist/test/arborist/build-ideal-tree.js +++ b/workspaces/arborist/test/arborist/build-ideal-tree.js @@ -673,7 +673,7 @@ t.test('empty update should not trigger old lockfile', async t => { 'package-lock.json': JSON.stringify({ name: 'empty-update', version: '1.0.0', - lockfileVersion: 2, + lockfileVersion: 3, requires: true, packages: { '': { diff --git a/workspaces/arborist/test/arborist/reify.js b/workspaces/arborist/test/arborist/reify.js index 01945f7136c41..399031abbcfec 100644 --- a/workspaces/arborist/test/arborist/reify.js +++ b/workspaces/arborist/test/arborist/reify.js @@ -273,7 +273,11 @@ t.test('update a bundling node without updating all of its deps', t => { : () => t.ok(fs.lstatSync(bin).isSymbolicLink(), 'created symlink') const checkPackageLock = () => { - t.matchSnapshot(require(path + '/package-lock.json').dependencies.fsevents, + t.match(require(path + '/package-lock.json').packages['node_modules/fsevents'], + { + dev: true, + optional: true, + }, 'contains fsevents in lockfile') } @@ -341,7 +345,7 @@ t.test('omit optional dep', t => { return arb.reify({ omit: ['optional'] }).then(tree => { t.equal(tree.children.get('fsevents'), undefined, 'no fsevents in tree') t.throws(() => fs.statSync(path + '/node_modules/fsevents'), 'no fsevents unpacked') - t.match(require(path + '/package-lock.json').dependencies.fsevents, { + t.match(require(path + '/package-lock.json').packages['node_modules/fsevents'], { dev: true, optional: true, }, 'fsevents present in lockfile') diff --git a/workspaces/arborist/test/shrinkwrap.js b/workspaces/arborist/test/shrinkwrap.js index 46f8ceccff915..28e4167d35332 100644 --- a/workspaces/arborist/test/shrinkwrap.js +++ b/workspaces/arborist/test/shrinkwrap.js @@ -44,7 +44,7 @@ t.test('load and change lockfileVersion', async t => { const v2 = await Shrinkwrap.load({ path: fixture, lockfileVersion: 2 }) const v3 = await Shrinkwrap.load({ path: fixture, lockfileVersion: 3 }) - t.strictSame(vDefault, v2, 'default is same as version 2') + t.strictSame(vDefault, v3, 'default is same as version 3') const v1Data = await v1.commit() const v2Data = await v2.commit() const v3Data = await v3.commit() @@ -58,7 +58,7 @@ t.test('load and then reset gets empty lockfile', async t => { const sw = await Shrinkwrap.load({ path: fixture }) sw.reset() t.strictSame(sw.data, { - lockfileVersion: 2, + lockfileVersion: 3, requires: true, dependencies: {}, packages: {}, @@ -70,12 +70,12 @@ t.test('load and then reset gets empty lockfile', async t => { t.test('starting out with a reset lockfile is an empty lockfile', async t => { const sw = await Shrinkwrap.reset({ path: fixture }) t.strictSame(sw.data, { - lockfileVersion: 2, + lockfileVersion: 3, requires: true, dependencies: {}, packages: {}, }) - t.equal(sw.originalLockfileVersion, 2) + t.equal(sw.originalLockfileVersion, 3) t.equal(sw.loadedFromDisk, true) t.equal(sw.filename, resolve(fixture, 'package-lock.json')) }) @@ -91,7 +91,7 @@ t.test('reset in a bad dir gets an empty lockfile with no lockfile version', asy ]) t.strictSame(swMissingLock.data, { - lockfileVersion: 2, + lockfileVersion: 3, requires: true, dependencies: {}, packages: {}, @@ -100,7 +100,7 @@ t.test('reset in a bad dir gets an empty lockfile with no lockfile version', asy t.equal(swMissingLock.loadedFromDisk, false) t.strictSame(swNullLock.data, { - lockfileVersion: 2, + lockfileVersion: 3, requires: true, dependencies: {}, packages: {}, @@ -112,7 +112,7 @@ t.test('reset in a bad dir gets an empty lockfile with no lockfile version', asy t.test('loading in bad dir gets empty lockfile', async t => { const sw = await Shrinkwrap.load({ path: 'path/which/does/not/exist' }) t.strictSame(sw.data, { - lockfileVersion: 2, + lockfileVersion: 3, requires: true, dependencies: {}, packages: {}, @@ -123,7 +123,7 @@ t.test('loading in bad dir gets empty lockfile', async t => { t.test('failure to parse json gets empty lockfile', async t => { const sw = await Shrinkwrap.load({ path: badJsonFixture }) t.strictSame(sw.data, { - lockfileVersion: 2, + lockfileVersion: 3, requires: true, dependencies: {}, packages: {}, @@ -134,7 +134,7 @@ t.test('failure to parse json gets empty lockfile', async t => { t.test('loading in empty dir gets empty lockfile', async t => { const sw = await Shrinkwrap.load({ path: emptyFixture }) t.strictSame(sw.data, { - lockfileVersion: 2, + lockfileVersion: 3, requires: true, dependencies: {}, packages: {}, @@ -153,7 +153,7 @@ t.test('loading in empty dir gets empty lockfile', async t => { sw.add(root) t.strictSame(sw.commit(), { name: 'empty', - lockfileVersion: 2, + lockfileVersion: 3, requires: true, packages: {}, }) @@ -178,7 +178,7 @@ t.test('look up from locks and such', async t => { }, }, 'root metadata') t.match(m.data, { - lockfileVersion: 2, + lockfileVersion: 3, requires: true, dependencies: Object, packages: Object, @@ -231,7 +231,7 @@ t.test('throws when attempting to access data before loading', t => { t.end() }) -t.only('resolveOptions', async t => { +t.test('resolveOptions', async t => { const url = 'https://private.registry.org/deadbeef/registry/-/registry-1.2.3.tgz' const someOtherRegistry = 'https://someother.registry.org/registry/-/registry-1.2.3.tgz' const getData = async (resolveOptions) => { @@ -239,6 +239,7 @@ t.only('resolveOptions', async t => { const meta = await Shrinkwrap.load({ path: dir, resolveOptions, + lockfileVersion: 2, }) const root = new Node({ @@ -294,7 +295,6 @@ t.only('resolveOptions', async t => { // registry dependencies in v2 packages and v1 dependencies should // have resolved stripped. t.strictSame(data.packages['node_modules/registry'].resolved, undefined) - t.strictSame(data.dependencies.registry.resolved, undefined) // tar should have resolved because it is not a registry dep. t.strictSame(data.packages['node_modules/tar'].resolved, url) @@ -617,13 +617,14 @@ t.test('saving dependency-free shrinkwrap object', t => { t.test('write the shrinkwrap back to disk', t => { const dir = t.testdir({}) t.test('just read and write back', async t => { - const s = await Shrinkwrap.load({ path: fixture }) + const s = await Shrinkwrap.load({ path: fixture, lockfileVersion: 1 }) + const fileData = require(s.filename) s.filename = dir + '/test-shrinkwrap.json' - await s.save() - t.strictSame(require(s.filename), s.data, 'saved json matches data') + const shrinkwrapData = await s.commit() + t.strictSame(shrinkwrapData, fileData, 'saved json matches data') }) t.test('write back with pending changes', async t => { - const s = await Shrinkwrap.load({ path: fixture }) + const s = await Shrinkwrap.load({ path: fixture, lockfileVersion: 2 }) const dir = t.testdir({}) s.filename = dir + '/test-shrinkwrap-with-changes.json' const node = new Node({ @@ -1549,7 +1550,7 @@ t.test('shrinkwrap where root is a link node', async t => { }) t.strictSame(root.meta.commit(), { - lockfileVersion: 2, + lockfileVersion: 3, requires: true, packages: { '': { @@ -1564,12 +1565,6 @@ t.test('shrinkwrap where root is a link node', async t => { extraneous: true, }, }, - dependencies: { - kid: { - version: '1.2.3', - extraneous: true, - }, - }, name: 'path', version: '1.2.3', extraneous: true, @@ -1651,11 +1646,11 @@ t.test('setting lockfileVersion from the file contents', async t => { t.test('default setting', async t => { const s1 = await loadAndReset({ path: `${path}/v1` }) - t.strictSame(s1, [2, null], 'will upgrade old lockfile') + t.strictSame(s1, [3, null], 'will upgrade old lockfile') const s2 = await loadAndReset({ path: `${path}/v2` }) t.strictSame(s2, [2, null], 'will keep v2 as v2') const s3 = await loadAndReset({ path: `${path}/v3` }) - t.strictSame(s3, [3, 3], 'load will keep v3 as v3') + t.strictSame(s3, [3, null], 'load will keep v3 as v3') }) t.test('v1', async t => { const s1 = await loadAndReset({ path: `${path}/v1`, lockfileVersion: 1 }) @@ -1682,7 +1677,7 @@ t.test('setting lockfileVersion from the file contents', async t => { t.strictSame(s3, [3, 3], 'keep v3 setting') }) - t.equal(Shrinkwrap.defaultLockfileVersion, 2, 'default is 2') + t.equal(Shrinkwrap.defaultLockfileVersion, 3, 'default is 3') t.test('load should return error correctly when it cant access folder', { skip: process.platform === 'win32' ? 'skip chmod in windows' : false }, From 07fabc93007495f0926f4dd24b4350c07d92887d Mon Sep 17 00:00:00 2001 From: Nathan Fritz Date: Tue, 4 Oct 2022 13:22:24 -0700 Subject: [PATCH 10/20] fix: `npm link` should override `--install-links` (#5633) --- lib/commands/link.js | 2 ++ .../test/lib/commands/link.js.test.cjs | 5 +++ test/lib/commands/link.js | 36 +++++++++++++++++-- 3 files changed, 40 insertions(+), 3 deletions(-) diff --git a/lib/commands/link.js b/lib/commands/link.js index 7bce73ed2bb6f..c9169edc9e5c3 100644 --- a/lib/commands/link.js +++ b/lib/commands/link.js @@ -51,6 +51,8 @@ class Link extends ArboristWorkspaceCmd { { code: 'ELINKGLOBAL' } ) } + // install-links is implicitely false when running `npm link` + this.npm.config.set('install-links', false) // link with no args: symlink the folder to the global location // link with package arg: symlink the global to the local diff --git a/tap-snapshots/test/lib/commands/link.js.test.cjs b/tap-snapshots/test/lib/commands/link.js.test.cjs index e01409e4ce196..0c34bd972dcf9 100644 --- a/tap-snapshots/test/lib/commands/link.js.test.cjs +++ b/tap-snapshots/test/lib/commands/link.js.test.cjs @@ -48,3 +48,8 @@ exports[`test/lib/commands/link.js TAP link ws to globalDir when workspace speci {CWD}/test/lib/commands/tap-testdir-link-link-ws-to-globalDir-when-workspace-specified-and-no-args/global-prefix/lib/node_modules/a -> {CWD}/test/lib/commands/tap-testdir-link-link-ws-to-globalDir-when-workspace-specified-and-no-args/test-pkg-link/packages/a ` + +exports[`test/lib/commands/link.js TAP test linked installed as symlinks > linked package should not be installed 1`] = ` +{CWD}/test/lib/commands/tap-testdir-link-test-linked-installed-as-symlinks/prefix/node_modules/mylink -> {CWD}/test/lib/commands/tap-testdir-link-test-linked-installed-as-symlinks/other/mylink + +` diff --git a/test/lib/commands/link.js b/test/lib/commands/link.js index 5bd7a3f1480ae..d908fa025fbde 100644 --- a/test/lib/commands/link.js +++ b/test/lib/commands/link.js @@ -1,9 +1,9 @@ const t = require('tap') -const { resolve } = require('path') +const { resolve, join } = require('path') const fs = require('fs') const Arborist = require('@npmcli/arborist') -const { fake: mockNpm } = require('../../fixtures/mock-npm') +const { fake: mockNpm, load: fullMockNpm } = require('../../fixtures/mock-npm') const redactCwd = (path) => { const normalizePath = p => p @@ -72,7 +72,6 @@ t.test('link to globalDir when in current working dir of pkg and no args', async path: resolve(npm.globalDir, '..'), global: true, }) - t.matchSnapshot(links, 'should create a global link to current pkg') }) @@ -550,3 +549,34 @@ t.test('hash character in working directory path', async t => { t.matchSnapshot(links, 'should create a global link to current pkg, even within path with hash') }) + +t.test('test linked installed as symlinks', async t => { + // fakeMock is insufficient due to lack of flatOptions + const { npm } = await fullMockNpm(t, { + otherDirs: { + mylink: { + 'package.json': JSON.stringify({ + name: 'mylink', + version: '1.0.0', + }), + }, + }, + }) + + const _cwd = process.cwd() + process.chdir(npm.prefix) + + await npm.exec('link', [ + join('file:../other/mylink'), + ]) + process.chdir(_cwd) + const links = await printLinks({ + path: npm.prefix, + }) + + t.ok(fs.lstatSync(join(npm.prefix, 'node_modules', 'mylink')).isSymbolicLink(), + 'linked path should by symbolic link' + ) + + t.matchSnapshot(links, 'linked package should not be installed') +}) From 501f8ca47bb042f19cdfca4026970caf7160f7f6 Mon Sep 17 00:00:00 2001 From: Gar Date: Wed, 5 Oct 2022 10:35:24 -0700 Subject: [PATCH 11/20] deps: semver@7.3.8 (#5640) --- node_modules/semver/classes/range.js | 3 + node_modules/semver/index.js | 122 ++++++++++++++++++--------- node_modules/semver/package.json | 31 ++++--- package-lock.json | 35 +++++++- package.json | 2 +- 5 files changed, 137 insertions(+), 56 deletions(-) diff --git a/node_modules/semver/classes/range.js b/node_modules/semver/classes/range.js index 7dc24bc714b02..a791d912515cc 100644 --- a/node_modules/semver/classes/range.js +++ b/node_modules/semver/classes/range.js @@ -252,6 +252,7 @@ const isX = id => !id || id.toLowerCase() === 'x' || id === '*' // ~1.2, ~1.2.x, ~>1.2, ~>1.2.x --> >=1.2.0 <1.3.0-0 // ~1.2.3, ~>1.2.3 --> >=1.2.3 <1.3.0-0 // ~1.2.0, ~>1.2.0 --> >=1.2.0 <1.3.0-0 +// ~0.0.1 --> >=0.0.1 <0.1.0-0 const replaceTildes = (comp, options) => comp.trim().split(/\s+/).map((c) => { return replaceTilde(c, options) @@ -291,6 +292,8 @@ const replaceTilde = (comp, options) => { // ^1.2, ^1.2.x --> >=1.2.0 <2.0.0-0 // ^1.2.3 --> >=1.2.3 <2.0.0-0 // ^1.2.0 --> >=1.2.0 <2.0.0-0 +// ^0.0.1 --> >=0.0.1 <0.0.2-0 +// ^0.1.0 --> >=0.1.0 <0.2.0-0 const replaceCarets = (comp, options) => comp.trim().split(/\s+/).map((c) => { return replaceCaret(c, options) diff --git a/node_modules/semver/index.js b/node_modules/semver/index.js index 57e2ae649479b..4a342c6afe5ae 100644 --- a/node_modules/semver/index.js +++ b/node_modules/semver/index.js @@ -1,48 +1,88 @@ // just pre-load all the stuff that index.js lazily exports const internalRe = require('./internal/re') +const constants = require('./internal/constants') +const SemVer = require('./classes/semver') +const identifiers = require('./internal/identifiers') +const parse = require('./functions/parse') +const valid = require('./functions/valid') +const clean = require('./functions/clean') +const inc = require('./functions/inc') +const diff = require('./functions/diff') +const major = require('./functions/major') +const minor = require('./functions/minor') +const patch = require('./functions/patch') +const prerelease = require('./functions/prerelease') +const compare = require('./functions/compare') +const rcompare = require('./functions/rcompare') +const compareLoose = require('./functions/compare-loose') +const compareBuild = require('./functions/compare-build') +const sort = require('./functions/sort') +const rsort = require('./functions/rsort') +const gt = require('./functions/gt') +const lt = require('./functions/lt') +const eq = require('./functions/eq') +const neq = require('./functions/neq') +const gte = require('./functions/gte') +const lte = require('./functions/lte') +const cmp = require('./functions/cmp') +const coerce = require('./functions/coerce') +const Comparator = require('./classes/comparator') +const Range = require('./classes/range') +const satisfies = require('./functions/satisfies') +const toComparators = require('./ranges/to-comparators') +const maxSatisfying = require('./ranges/max-satisfying') +const minSatisfying = require('./ranges/min-satisfying') +const minVersion = require('./ranges/min-version') +const validRange = require('./ranges/valid') +const outside = require('./ranges/outside') +const gtr = require('./ranges/gtr') +const ltr = require('./ranges/ltr') +const intersects = require('./ranges/intersects') +const simplifyRange = require('./ranges/simplify') +const subset = require('./ranges/subset') module.exports = { + parse, + valid, + clean, + inc, + diff, + major, + minor, + patch, + prerelease, + compare, + rcompare, + compareLoose, + compareBuild, + sort, + rsort, + gt, + lt, + eq, + neq, + gte, + lte, + cmp, + coerce, + Comparator, + Range, + satisfies, + toComparators, + maxSatisfying, + minSatisfying, + minVersion, + validRange, + outside, + gtr, + ltr, + intersects, + simplifyRange, + subset, + SemVer, re: internalRe.re, src: internalRe.src, tokens: internalRe.t, - SEMVER_SPEC_VERSION: require('./internal/constants').SEMVER_SPEC_VERSION, - SemVer: require('./classes/semver'), - compareIdentifiers: require('./internal/identifiers').compareIdentifiers, - rcompareIdentifiers: require('./internal/identifiers').rcompareIdentifiers, - parse: require('./functions/parse'), - valid: require('./functions/valid'), - clean: require('./functions/clean'), - inc: require('./functions/inc'), - diff: require('./functions/diff'), - major: require('./functions/major'), - minor: require('./functions/minor'), - patch: require('./functions/patch'), - prerelease: require('./functions/prerelease'), - compare: require('./functions/compare'), - rcompare: require('./functions/rcompare'), - compareLoose: require('./functions/compare-loose'), - compareBuild: require('./functions/compare-build'), - sort: require('./functions/sort'), - rsort: require('./functions/rsort'), - gt: require('./functions/gt'), - lt: require('./functions/lt'), - eq: require('./functions/eq'), - neq: require('./functions/neq'), - gte: require('./functions/gte'), - lte: require('./functions/lte'), - cmp: require('./functions/cmp'), - coerce: require('./functions/coerce'), - Comparator: require('./classes/comparator'), - Range: require('./classes/range'), - satisfies: require('./functions/satisfies'), - toComparators: require('./ranges/to-comparators'), - maxSatisfying: require('./ranges/max-satisfying'), - minSatisfying: require('./ranges/min-satisfying'), - minVersion: require('./ranges/min-version'), - validRange: require('./ranges/valid'), - outside: require('./ranges/outside'), - gtr: require('./ranges/gtr'), - ltr: require('./ranges/ltr'), - intersects: require('./ranges/intersects'), - simplifyRange: require('./ranges/simplify'), - subset: require('./ranges/subset'), + SEMVER_SPEC_VERSION: constants.SEMVER_SPEC_VERSION, + compareIdentifiers: identifiers.compareIdentifiers, + rcompareIdentifiers: identifiers.rcompareIdentifiers, } diff --git a/node_modules/semver/package.json b/node_modules/semver/package.json index 7898f5902cb73..72d3f66e8f766 100644 --- a/node_modules/semver/package.json +++ b/node_modules/semver/package.json @@ -1,24 +1,20 @@ { "name": "semver", - "version": "7.3.7", + "version": "7.3.8", "description": "The semantic version parser used by npm.", "main": "index.js", "scripts": { "test": "tap", "snap": "tap", - "preversion": "npm test", - "postversion": "npm publish", - "postpublish": "git push origin --follow-tags", "lint": "eslint \"**/*.js\"", "postlint": "template-oss-check", "lintfix": "npm run lint -- --fix", - "prepublishOnly": "git push origin --follow-tags", "posttest": "npm run lint", "template-oss-apply": "template-oss-apply --force" }, "devDependencies": { "@npmcli/eslint-config": "^3.0.1", - "@npmcli/template-oss": "3.3.2", + "@npmcli/template-oss": "4.4.4", "tap": "^16.0.0" }, "license": "ISC", @@ -31,6 +27,7 @@ }, "files": [ "bin/", + "lib/", "classes/", "functions/", "internal/", @@ -41,7 +38,11 @@ ], "tap": { "check-coverage": true, - "coverage-map": "map.js" + "coverage-map": "map.js", + "nyc-arg": [ + "--exclude", + "tap-snapshots/**" + ] }, "engines": { "node": ">=10" @@ -52,17 +53,18 @@ "author": "GitHub Inc.", "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "3.3.2", + "version": "4.4.4", "engines": ">=10", + "content": "./scripts", "ciVersions": [ "10.0.0", "10.x", "12.x", "14.x", - "16.x" + "16.x", + "18.x" ], "distPaths": [ - "bin/", "classes/", "functions/", "internal/", @@ -70,6 +72,15 @@ "index.js", "preload.js", "range.bnf" + ], + "allowPaths": [ + "/classes/", + "/functions/", + "/internal/", + "/ranges/", + "/index.js", + "/preload.js", + "/range.bnf" ] } } diff --git a/package-lock.json b/package-lock.json index e0309554fb515..c18988ad5321b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -152,7 +152,7 @@ "read-package-json-fast": "^2.0.3", "readdir-scoped-modules": "^1.1.0", "rimraf": "^3.0.2", - "semver": "^7.3.7", + "semver": "^7.3.8", "ssri": "^9.0.1", "tar": "^6.1.11", "text-table": "~0.2.0", @@ -776,6 +776,33 @@ "node": ">=v14" } }, + "node_modules/@commitlint/is-ignored/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@commitlint/is-ignored/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/@commitlint/lint": { "version": "17.1.0", "resolved": "https://registry.npmjs.org/@commitlint/lint/-/lint-17.1.0.tgz", @@ -9906,9 +9933,9 @@ } }, "node_modules/semver": { - "version": "7.3.7", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", - "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "version": "7.3.8", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.8.tgz", + "integrity": "sha512-NB1ctGL5rlHrPJtFDVIVzTyQylMLu9N9VICA6HSFJo8MCGVTMW6gfpicwKmmK/dAjTOrqu5l63JJOpDSrAis3A==", "inBundle": true, "dependencies": { "lru-cache": "^6.0.0" diff --git a/package.json b/package.json index 175bb743df70c..ee12defc81666 100644 --- a/package.json +++ b/package.json @@ -117,7 +117,7 @@ "read-package-json-fast": "^2.0.3", "readdir-scoped-modules": "^1.1.0", "rimraf": "^3.0.2", - "semver": "^7.3.7", + "semver": "^7.3.8", "ssri": "^9.0.1", "tar": "^6.1.11", "text-table": "~0.2.0", From f37caad9e92c50ae949014f6bee6375d9299fb39 Mon Sep 17 00:00:00 2001 From: Luke Karrys Date: Wed, 5 Oct 2022 10:36:12 -0700 Subject: [PATCH 12/20] docs: accurately describe install-links effect on relative paths (#5606) --- docs/content/commands/npm-audit.md | 6 +++--- docs/content/commands/npm-ci.md | 6 +++--- docs/content/commands/npm-dedupe.md | 6 +++--- docs/content/commands/npm-find-dupes.md | 6 +++--- docs/content/commands/npm-install-ci-test.md | 6 +++--- docs/content/commands/npm-install-test.md | 6 +++--- docs/content/commands/npm-install.md | 6 +++--- docs/content/commands/npm-link.md | 6 +++--- docs/content/commands/npm-ls.md | 6 +++--- docs/content/commands/npm-prune.md | 6 +++--- docs/content/commands/npm-rebuild.md | 6 +++--- docs/content/commands/npm-uninstall.md | 6 +++--- docs/content/commands/npm-update.md | 6 +++--- docs/content/using-npm/config.md | 6 +++--- lib/utils/config/definitions.js | 6 +++--- tap-snapshots/test/lib/utils/config/definitions.js.test.cjs | 6 +++--- .../test/lib/utils/config/describe-all.js.test.cjs | 6 +++--- 17 files changed, 51 insertions(+), 51 deletions(-) diff --git a/docs/content/commands/npm-audit.md b/docs/content/commands/npm-audit.md index dda1c31c864c4..e08aace0163c1 100644 --- a/docs/content/commands/npm-audit.md +++ b/docs/content/commands/npm-audit.md @@ -456,9 +456,9 @@ This value is not exported to the environment for child processes. * Default: true * Type: Boolean -When set file: protocol dependencies that exist outside of the project root -will be packed and installed as regular dependencies instead of creating a -symlink. This option has no effect on workspaces. +When set file: protocol dependencies will be packed and installed as regular +dependencies instead of creating a symlink. This option has no effect on +workspaces. diff --git a/docs/content/commands/npm-ci.md b/docs/content/commands/npm-ci.md index af6fc7fcc94e8..fee305618cca3 100644 --- a/docs/content/commands/npm-ci.md +++ b/docs/content/commands/npm-ci.md @@ -364,9 +364,9 @@ This value is not exported to the environment for child processes. * Default: true * Type: Boolean -When set file: protocol dependencies that exist outside of the project root -will be packed and installed as regular dependencies instead of creating a -symlink. This option has no effect on workspaces. +When set file: protocol dependencies will be packed and installed as regular +dependencies instead of creating a symlink. This option has no effect on +workspaces. diff --git a/docs/content/commands/npm-dedupe.md b/docs/content/commands/npm-dedupe.md index da9f406d57024..4a7e0ab6b9851 100644 --- a/docs/content/commands/npm-dedupe.md +++ b/docs/content/commands/npm-dedupe.md @@ -311,9 +311,9 @@ This value is not exported to the environment for child processes. * Default: true * Type: Boolean -When set file: protocol dependencies that exist outside of the project root -will be packed and installed as regular dependencies instead of creating a -symlink. This option has no effect on workspaces. +When set file: protocol dependencies will be packed and installed as regular +dependencies instead of creating a symlink. This option has no effect on +workspaces. diff --git a/docs/content/commands/npm-find-dupes.md b/docs/content/commands/npm-find-dupes.md index 590c7e2cbd438..af41f5ccb14f2 100644 --- a/docs/content/commands/npm-find-dupes.md +++ b/docs/content/commands/npm-find-dupes.md @@ -235,9 +235,9 @@ This value is not exported to the environment for child processes. * Default: true * Type: Boolean -When set file: protocol dependencies that exist outside of the project root -will be packed and installed as regular dependencies instead of creating a -symlink. This option has no effect on workspaces. +When set file: protocol dependencies will be packed and installed as regular +dependencies instead of creating a symlink. This option has no effect on +workspaces. diff --git a/docs/content/commands/npm-install-ci-test.md b/docs/content/commands/npm-install-ci-test.md index 784efdcf46e95..4de56d372fefe 100644 --- a/docs/content/commands/npm-install-ci-test.md +++ b/docs/content/commands/npm-install-ci-test.md @@ -310,9 +310,9 @@ This value is not exported to the environment for child processes. * Default: true * Type: Boolean -When set file: protocol dependencies that exist outside of the project root -will be packed and installed as regular dependencies instead of creating a -symlink. This option has no effect on workspaces. +When set file: protocol dependencies will be packed and installed as regular +dependencies instead of creating a symlink. This option has no effect on +workspaces. diff --git a/docs/content/commands/npm-install-test.md b/docs/content/commands/npm-install-test.md index ec69e081f9dee..4dad775e927c9 100644 --- a/docs/content/commands/npm-install-test.md +++ b/docs/content/commands/npm-install-test.md @@ -311,9 +311,9 @@ This value is not exported to the environment for child processes. * Default: true * Type: Boolean -When set file: protocol dependencies that exist outside of the project root -will be packed and installed as regular dependencies instead of creating a -symlink. This option has no effect on workspaces. +When set file: protocol dependencies will be packed and installed as regular +dependencies instead of creating a symlink. This option has no effect on +workspaces. diff --git a/docs/content/commands/npm-install.md b/docs/content/commands/npm-install.md index 72bd93fff9ba8..f9d14fb338c9a 100644 --- a/docs/content/commands/npm-install.md +++ b/docs/content/commands/npm-install.md @@ -701,9 +701,9 @@ This value is not exported to the environment for child processes. * Default: true * Type: Boolean -When set file: protocol dependencies that exist outside of the project root -will be packed and installed as regular dependencies instead of creating a -symlink. This option has no effect on workspaces. +When set file: protocol dependencies will be packed and installed as regular +dependencies instead of creating a symlink. This option has no effect on +workspaces. diff --git a/docs/content/commands/npm-link.md b/docs/content/commands/npm-link.md index fd6eb69e9b03c..81a31acfa0272 100644 --- a/docs/content/commands/npm-link.md +++ b/docs/content/commands/npm-link.md @@ -387,9 +387,9 @@ This value is not exported to the environment for child processes. * Default: true * Type: Boolean -When set file: protocol dependencies that exist outside of the project root -will be packed and installed as regular dependencies instead of creating a -symlink. This option has no effect on workspaces. +When set file: protocol dependencies will be packed and installed as regular +dependencies instead of creating a symlink. This option has no effect on +workspaces. diff --git a/docs/content/commands/npm-ls.md b/docs/content/commands/npm-ls.md index bb7fd5cc06f79..0e01dc3409011 100644 --- a/docs/content/commands/npm-ls.md +++ b/docs/content/commands/npm-ls.md @@ -290,9 +290,9 @@ This value is not exported to the environment for child processes. * Default: true * Type: Boolean -When set file: protocol dependencies that exist outside of the project root -will be packed and installed as regular dependencies instead of creating a -symlink. This option has no effect on workspaces. +When set file: protocol dependencies will be packed and installed as regular +dependencies instead of creating a symlink. This option has no effect on +workspaces. diff --git a/docs/content/commands/npm-prune.md b/docs/content/commands/npm-prune.md index 064b0e07e4e7a..6cbfc2ad438cd 100644 --- a/docs/content/commands/npm-prune.md +++ b/docs/content/commands/npm-prune.md @@ -196,9 +196,9 @@ This value is not exported to the environment for child processes. * Default: true * Type: Boolean -When set file: protocol dependencies that exist outside of the project root -will be packed and installed as regular dependencies instead of creating a -symlink. This option has no effect on workspaces. +When set file: protocol dependencies will be packed and installed as regular +dependencies instead of creating a symlink. This option has no effect on +workspaces. diff --git a/docs/content/commands/npm-rebuild.md b/docs/content/commands/npm-rebuild.md index 89fbd763555a0..6851b4ddff087 100644 --- a/docs/content/commands/npm-rebuild.md +++ b/docs/content/commands/npm-rebuild.md @@ -166,9 +166,9 @@ This value is not exported to the environment for child processes. * Default: true * Type: Boolean -When set file: protocol dependencies that exist outside of the project root -will be packed and installed as regular dependencies instead of creating a -symlink. This option has no effect on workspaces. +When set file: protocol dependencies will be packed and installed as regular +dependencies instead of creating a symlink. This option has no effect on +workspaces. diff --git a/docs/content/commands/npm-uninstall.md b/docs/content/commands/npm-uninstall.md index bea7112ae5719..83b0aa180c040 100644 --- a/docs/content/commands/npm-uninstall.md +++ b/docs/content/commands/npm-uninstall.md @@ -150,9 +150,9 @@ This value is not exported to the environment for child processes. * Default: true * Type: Boolean -When set file: protocol dependencies that exist outside of the project root -will be packed and installed as regular dependencies instead of creating a -symlink. This option has no effect on workspaces. +When set file: protocol dependencies will be packed and installed as regular +dependencies instead of creating a symlink. This option has no effect on +workspaces. diff --git a/docs/content/commands/npm-update.md b/docs/content/commands/npm-update.md index 5e21bdeebbb99..985b1a9eb224e 100644 --- a/docs/content/commands/npm-update.md +++ b/docs/content/commands/npm-update.md @@ -438,9 +438,9 @@ This value is not exported to the environment for child processes. * Default: true * Type: Boolean -When set file: protocol dependencies that exist outside of the project root -will be packed and installed as regular dependencies instead of creating a -symlink. This option has no effect on workspaces. +When set file: protocol dependencies will be packed and installed as regular +dependencies instead of creating a symlink. This option has no effect on +workspaces. diff --git a/docs/content/using-npm/config.md b/docs/content/using-npm/config.md index 89cb069c63f16..79fc84d82804b 100644 --- a/docs/content/using-npm/config.md +++ b/docs/content/using-npm/config.md @@ -909,9 +909,9 @@ number, if not already set in package.json. * Default: true * Type: Boolean -When set file: protocol dependencies that exist outside of the project root -will be packed and installed as regular dependencies instead of creating a -symlink. This option has no effect on workspaces. +When set file: protocol dependencies will be packed and installed as regular +dependencies instead of creating a symlink. This option has no effect on +workspaces. diff --git a/lib/utils/config/definitions.js b/lib/utils/config/definitions.js index 3f3d928e5e8fc..6d92651eb95f3 100644 --- a/lib/utils/config/definitions.js +++ b/lib/utils/config/definitions.js @@ -1069,9 +1069,9 @@ define('install-links', { default: true, type: Boolean, description: ` - When set file: protocol dependencies that exist outside of the project root - will be packed and installed as regular dependencies instead of creating a - symlink. This option has no effect on workspaces. + When set file: protocol dependencies will be packed and installed as + regular dependencies instead of creating a symlink. This option has + no effect on workspaces. `, flatten, }) diff --git a/tap-snapshots/test/lib/utils/config/definitions.js.test.cjs b/tap-snapshots/test/lib/utils/config/definitions.js.test.cjs index 277576ed5318b..92a8e6222320c 100644 --- a/tap-snapshots/test/lib/utils/config/definitions.js.test.cjs +++ b/tap-snapshots/test/lib/utils/config/definitions.js.test.cjs @@ -980,9 +980,9 @@ exports[`test/lib/utils/config/definitions.js TAP > config description for insta * Default: true * Type: Boolean -When set file: protocol dependencies that exist outside of the project root -will be packed and installed as regular dependencies instead of creating a -symlink. This option has no effect on workspaces. +When set file: protocol dependencies will be packed and installed as regular +dependencies instead of creating a symlink. This option has no effect on +workspaces. ` exports[`test/lib/utils/config/definitions.js TAP > config description for json 1`] = ` diff --git a/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs b/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs index 2f8a721af4bc9..999b3859fff2e 100644 --- a/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs +++ b/tap-snapshots/test/lib/utils/config/describe-all.js.test.cjs @@ -782,9 +782,9 @@ number, if not already set in package.json. * Default: true * Type: Boolean -When set file: protocol dependencies that exist outside of the project root -will be packed and installed as regular dependencies instead of creating a -symlink. This option has no effect on workspaces. +When set file: protocol dependencies will be packed and installed as regular +dependencies instead of creating a symlink. This option has no effect on +workspaces. From 6a43b31eab8bd392ed684d2f906259ddfe0f26b5 Mon Sep 17 00:00:00 2001 From: Gar Date: Wed, 5 Oct 2022 10:33:35 -0700 Subject: [PATCH 13/20] deps: @npmcli/metavuln-calculator@4.0.0 --- .../@npmcli/metavuln-calculator/package.json | 8 +++---- node_modules/npm-packlist/lib/index.js | 1 - node_modules/npm-packlist/package.json | 2 +- node_modules/pacote/package.json | 8 +++---- package-lock.json | 24 +++++++++---------- workspaces/arborist/package.json | 2 +- 6 files changed, 22 insertions(+), 23 deletions(-) diff --git a/node_modules/@npmcli/metavuln-calculator/package.json b/node_modules/@npmcli/metavuln-calculator/package.json index 90b4d2ecddce4..be020f726ff08 100644 --- a/node_modules/@npmcli/metavuln-calculator/package.json +++ b/node_modules/@npmcli/metavuln-calculator/package.json @@ -1,6 +1,6 @@ { "name": "@npmcli/metavuln-calculator", - "version": "4.0.0-pre.0", + "version": "4.0.0", "main": "lib/index.js", "files": [ "bin/", @@ -34,14 +34,14 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.0.1", - "@npmcli/template-oss": "4.4.2", + "@npmcli/template-oss": "4.4.4", "require-inject": "^1.4.4", "tap": "^16.0.1" }, "dependencies": { "cacache": "^16.0.0", "json-parse-even-better-errors": "^2.3.1", - "pacote": "^14.0.0 || ^14.0.0-pre.0", + "pacote": "^14.0.0", "semver": "^7.3.5" }, "engines": { @@ -49,6 +49,6 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.2" + "version": "4.4.4" } } diff --git a/node_modules/npm-packlist/lib/index.js b/node_modules/npm-packlist/lib/index.js index 1b2cdbb8df641..853a99c4fe2cd 100644 --- a/node_modules/npm-packlist/lib/index.js +++ b/node_modules/npm-packlist/lib/index.js @@ -285,7 +285,6 @@ class PackWalker extends IgnoreWalker { const strict = [ ...strictDefaults, '!/package.json', - '!/npm-shrinkwrap.json', '/.git', '/node_modules', '/package-lock.json', diff --git a/node_modules/npm-packlist/package.json b/node_modules/npm-packlist/package.json index 4aaa524bf76a7..5811e02f48251 100644 --- a/node_modules/npm-packlist/package.json +++ b/node_modules/npm-packlist/package.json @@ -1,6 +1,6 @@ { "name": "npm-packlist", - "version": "7.0.0-pre.0", + "version": "7.0.0", "description": "Get a list of the files to add from a folder into an npm package", "directories": { "test": "test" diff --git a/node_modules/pacote/package.json b/node_modules/pacote/package.json index f9b796d86cd20..9add3c97361b4 100644 --- a/node_modules/pacote/package.json +++ b/node_modules/pacote/package.json @@ -1,6 +1,6 @@ { "name": "pacote", - "version": "14.0.0-pre.3", + "version": "14.0.0", "description": "JavaScript package downloader", "author": "GitHub Inc.", "bin": { @@ -27,7 +27,7 @@ "devDependencies": { "@npmcli/arborist": "^6.0.0 || ^6.0.0-pre.0", "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.2", + "@npmcli/template-oss": "4.4.4", "hosted-git-info": "^5.0.0", "mutate-fs": "^2.1.1", "nock": "^13.2.4", @@ -55,7 +55,7 @@ "minipass": "^3.1.6", "mkdirp": "^1.0.4", "npm-package-arg": "^9.0.0", - "npm-packlist": "^7.0.0 || ^7.0.0-pre.0", + "npm-packlist": "^7.0.0", "npm-pick-manifest": "^7.0.0", "npm-registry-fetch": "^13.0.1", "proc-log": "^2.0.0", @@ -75,7 +75,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.2", + "version": "4.4.4", "windowsCI": false } } diff --git a/package-lock.json b/package-lock.json index c18988ad5321b..cb13cdde4cee8 100644 --- a/package-lock.json +++ b/package-lock.json @@ -2297,13 +2297,13 @@ } }, "node_modules/@npmcli/metavuln-calculator": { - "version": "4.0.0-pre.0", - "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-4.0.0-pre.0.tgz", - "integrity": "sha512-2rJ7hovlcZMkqKm2cOWuZ0YsXIcP3iARsm+aYn/SLXK9aWRMVTW1f4fpDjtSvkZkaQVr48ofSG3YLYwlersSQA==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/metavuln-calculator/-/metavuln-calculator-4.0.0.tgz", + "integrity": "sha512-RHNlpbXW0onc8inOANEC55m4zjRbhw11OwAof967MgzQauLFjoCAANhx3Ugvse/mXglb48uS3Jy+XjbYPOuqsg==", "dependencies": { "cacache": "^16.0.0", "json-parse-even-better-errors": "^2.3.1", - "pacote": "^14.0.0 || ^14.0.0-pre.0", + "pacote": "^14.0.0", "semver": "^7.3.5" }, "engines": { @@ -8032,9 +8032,9 @@ } }, "node_modules/npm-packlist": { - "version": "7.0.0-pre.0", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.0-pre.0.tgz", - "integrity": "sha512-m98nCdY9RDDSJAODMf9afFwUyyuSO7rl1b8vvKRJD6s/isdTlOEgfdxJP4Pj31l973GNDe1n41e07QGPSIBQSw==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.0.tgz", + "integrity": "sha512-8GRMzWQmFdUrRmc6tPPCd9Umm9g2qDR6X6Rik+9nYvoDQTLs/0IcCKv6iUdAmgr9sgJCm24QovwozCHWMDriOg==", "inBundle": true, "dependencies": { "ignore-walk": "^5.0.1" @@ -8579,9 +8579,9 @@ } }, "node_modules/pacote": { - "version": "14.0.0-pre.3", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-14.0.0-pre.3.tgz", - "integrity": "sha512-WS8jos9mKpG6yRdMacwBc5WPEE4Z4xyJqyYiBoEU/0ayFlEPL8M8LUXlg86zjMWVpPobWIOIHvDO2i5oxOpIgQ==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-14.0.0.tgz", + "integrity": "sha512-SYXfAQi7Bj+suydMz7lVnEF4/xNIvP+uobXGPwIUdFPkUxoOBHYxCakMXHGQQZ9lIHLj2IXTJ6BeWSe6U/uAYg==", "inBundle": true, "dependencies": { "@npmcli/git": "^3.0.0", @@ -8595,7 +8595,7 @@ "minipass": "^3.1.6", "mkdirp": "^1.0.4", "npm-package-arg": "^9.0.0", - "npm-packlist": "^7.0.0 || ^7.0.0-pre.0", + "npm-packlist": "^7.0.0", "npm-pick-manifest": "^7.0.0", "npm-registry-fetch": "^13.0.1", "proc-log": "^2.0.0", @@ -13862,7 +13862,7 @@ "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/installed-package-contents": "^1.0.7", "@npmcli/map-workspaces": "^2.0.3", - "@npmcli/metavuln-calculator": "^4.0.0-pre.0", + "@npmcli/metavuln-calculator": "^4.0.0", "@npmcli/move-file": "^2.0.0", "@npmcli/name-from-folder": "^1.0.1", "@npmcli/node-gyp": "^2.0.0", diff --git a/workspaces/arborist/package.json b/workspaces/arborist/package.json index a6430cc4eeaba..4884d45514c52 100644 --- a/workspaces/arborist/package.json +++ b/workspaces/arborist/package.json @@ -6,7 +6,7 @@ "@isaacs/string-locale-compare": "^1.1.0", "@npmcli/installed-package-contents": "^1.0.7", "@npmcli/map-workspaces": "^2.0.3", - "@npmcli/metavuln-calculator": "^4.0.0-pre.0", + "@npmcli/metavuln-calculator": "^4.0.0", "@npmcli/move-file": "^2.0.0", "@npmcli/name-from-folder": "^1.0.1", "@npmcli/node-gyp": "^2.0.0", From 5344d2ca9ffd1f6db473fd58b46b50179f899ff5 Mon Sep 17 00:00:00 2001 From: Gar Date: Wed, 5 Oct 2022 10:34:29 -0700 Subject: [PATCH 14/20] deps: pacote@14.0.0 --- package-lock.json | 10 +++++----- package.json | 2 +- workspaces/arborist/package.json | 2 +- workspaces/libnpmdiff/package.json | 2 +- workspaces/libnpmexec/package.json | 2 +- workspaces/libnpmpack/package.json | 2 +- 6 files changed, 10 insertions(+), 10 deletions(-) diff --git a/package-lock.json b/package-lock.json index cb13cdde4cee8..169319c1f21bc 100644 --- a/package-lock.json +++ b/package-lock.json @@ -143,7 +143,7 @@ "npmlog": "^6.0.2", "opener": "^1.5.2", "p-map": "^4.0.0", - "pacote": "^14.0.0-pre.3", + "pacote": "^14.0.0", "parse-conflict-json": "^2.0.2", "proc-log": "^2.0.1", "qrcode-terminal": "^0.12.0", @@ -13883,7 +13883,7 @@ "npm-pick-manifest": "^7.0.2", "npm-registry-fetch": "^13.0.0", "npmlog": "^6.0.2", - "pacote": "^14.0.0-pre.3", + "pacote": "^14.0.0", "parse-conflict-json": "^2.0.1", "proc-log": "^2.0.0", "promise-all-reject-late": "^1.0.0", @@ -13941,7 +13941,7 @@ "diff": "^5.1.0", "minimatch": "^5.0.1", "npm-package-arg": "^9.0.1", - "pacote": "^14.0.0-pre.3", + "pacote": "^14.0.0", "tar": "^6.1.0" }, "devDependencies": { @@ -13965,7 +13965,7 @@ "mkdirp-infer-owner": "^2.0.0", "npm-package-arg": "^9.0.1", "npmlog": "^6.0.2", - "pacote": "^14.0.0-pre.3", + "pacote": "^14.0.0", "proc-log": "^2.0.0", "read": "^1.0.7", "read-package-json-fast": "^2.0.2", @@ -14041,7 +14041,7 @@ "@npmcli/arborist": "^6.0.0-pre.3", "@npmcli/run-script": "^4.1.3", "npm-package-arg": "^9.0.1", - "pacote": "^14.0.0-pre.3" + "pacote": "^14.0.0" }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", diff --git a/package.json b/package.json index ee12defc81666..0e0f9d745902d 100644 --- a/package.json +++ b/package.json @@ -108,7 +108,7 @@ "npmlog": "^6.0.2", "opener": "^1.5.2", "p-map": "^4.0.0", - "pacote": "^14.0.0-pre.3", + "pacote": "^14.0.0", "parse-conflict-json": "^2.0.2", "proc-log": "^2.0.1", "qrcode-terminal": "^0.12.0", diff --git a/workspaces/arborist/package.json b/workspaces/arborist/package.json index 4884d45514c52..6c11a90d51945 100644 --- a/workspaces/arborist/package.json +++ b/workspaces/arborist/package.json @@ -27,7 +27,7 @@ "npm-pick-manifest": "^7.0.2", "npm-registry-fetch": "^13.0.0", "npmlog": "^6.0.2", - "pacote": "^14.0.0-pre.3", + "pacote": "^14.0.0", "parse-conflict-json": "^2.0.1", "proc-log": "^2.0.0", "promise-all-reject-late": "^1.0.0", diff --git a/workspaces/libnpmdiff/package.json b/workspaces/libnpmdiff/package.json index 6423e0ce35e86..c606575505b9e 100644 --- a/workspaces/libnpmdiff/package.json +++ b/workspaces/libnpmdiff/package.json @@ -54,7 +54,7 @@ "diff": "^5.1.0", "minimatch": "^5.0.1", "npm-package-arg": "^9.0.1", - "pacote": "^14.0.0-pre.3", + "pacote": "^14.0.0", "tar": "^6.1.0" }, "templateOSS": { diff --git a/workspaces/libnpmexec/package.json b/workspaces/libnpmexec/package.json index 7d00c0517f64c..55a1ac9bd6631 100644 --- a/workspaces/libnpmexec/package.json +++ b/workspaces/libnpmexec/package.json @@ -66,7 +66,7 @@ "mkdirp-infer-owner": "^2.0.0", "npm-package-arg": "^9.0.1", "npmlog": "^6.0.2", - "pacote": "^14.0.0-pre.3", + "pacote": "^14.0.0", "proc-log": "^2.0.0", "read": "^1.0.7", "read-package-json-fast": "^2.0.2", diff --git a/workspaces/libnpmpack/package.json b/workspaces/libnpmpack/package.json index 2e3b35f726e58..da9e36c2edc37 100644 --- a/workspaces/libnpmpack/package.json +++ b/workspaces/libnpmpack/package.json @@ -38,7 +38,7 @@ "@npmcli/arborist": "^6.0.0-pre.3", "@npmcli/run-script": "^4.1.3", "npm-package-arg": "^9.0.1", - "pacote": "^14.0.0-pre.3" + "pacote": "^14.0.0" }, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" From e9eda6893ae67b7f190f5240884e062eb5a6902d Mon Sep 17 00:00:00 2001 From: Luke Karrys Date: Wed, 5 Oct 2022 11:07:46 -0700 Subject: [PATCH 15/20] chore: @npmcli/template-oss@4.5.0 (#5646) This also removes the release-manager script in favor of the one provided by template oss. --- .github/workflows/post-dependabot.yml | 2 +- .github/workflows/release.yml | 1 + DEPENDENCIES.md | 1 - docs/package.json | 4 +- package-lock.json | 39 ++--- package.json | 7 +- scripts/release-manager.js | 203 -------------------------- smoke-tests/package.json | 4 +- workspaces/arborist/package.json | 4 +- workspaces/libnpmaccess/package.json | 4 +- workspaces/libnpmdiff/package.json | 4 +- workspaces/libnpmexec/package.json | 4 +- workspaces/libnpmfund/package.json | 4 +- workspaces/libnpmhook/package.json | 4 +- workspaces/libnpmorg/package.json | 4 +- workspaces/libnpmpack/package.json | 4 +- workspaces/libnpmpublish/package.json | 4 +- workspaces/libnpmsearch/package.json | 4 +- workspaces/libnpmteam/package.json | 4 +- workspaces/libnpmversion/package.json | 4 +- 20 files changed, 53 insertions(+), 256 deletions(-) delete mode 100644 scripts/release-manager.js diff --git a/.github/workflows/post-dependabot.yml b/.github/workflows/post-dependabot.yml index cac29cc911dd9..e2411dba05bb3 100644 --- a/.github/workflows/post-dependabot.yml +++ b/.github/workflows/post-dependabot.yml @@ -19,7 +19,7 @@ jobs: - name: Checkout uses: actions/checkout@v3 with: - ref: ${{ github.ref_name }} + ref: ${{ github.event.pull_request.head.ref }} - name: Setup Git User run: | git config --global user.email "npm-cli+bot@github.com" diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 87d95eeeaad99..8db7ed9d35b60 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -126,6 +126,7 @@ jobs: RELEASE_COMMENT_ID: ${{ needs.release.outputs.comment-id }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | + node . exec --offline -- template-oss-release-manager node . run rp-pull-request --ignore-scripts -ws -iwr --if-present - name: Commit id: commit diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md index a9db099d3962c..bdee9cd465d8a 100644 --- a/DEPENDENCIES.md +++ b/DEPENDENCIES.md @@ -543,7 +543,6 @@ graph LR; npm-->npmcli-run-script["@npmcli/run-script"]; npm-->npmcli-template-oss["@npmcli/template-oss"]; npm-->npmlog; - npm-->octokit-rest["@octokit/rest"]; npm-->opener; npm-->p-map; npm-->pacote; diff --git a/docs/package.json b/docs/package.json index 834bca3eaf4a3..16d83b2cd6b22 100644 --- a/docs/package.json +++ b/docs/package.json @@ -22,7 +22,7 @@ "@npmcli/eslint-config": "^3.1.0", "@npmcli/fs": "^2.1.0", "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "cmark-gfm": "^0.9.0", "jsdom": "^18.1.0", "marked-man": "^0.7.0", @@ -64,7 +64,7 @@ ], "ciVersions": "latest", "engines": "^14.17.0 || ^16.13.0 || >=18.0.0", - "version": "4.4.5", + "version": "4.5.0", "content": "../scripts/template-oss/index.js" } } diff --git a/package-lock.json b/package-lock.json index 169319c1f21bc..157a7de1440bb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -169,8 +169,7 @@ "devDependencies": { "@npmcli/eslint-config": "^3.1.0", "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/template-oss": "4.4.5", - "@octokit/rest": "^19.0.4", + "@npmcli/template-oss": "4.5.0", "fs-minipass": "^2.1.0", "licensee": "^8.2.0", "minimatch": "^5.1.0", @@ -190,7 +189,7 @@ "@npmcli/eslint-config": "^3.1.0", "@npmcli/fs": "^2.1.0", "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "cmark-gfm": "^0.9.0", "jsdom": "^18.1.0", "marked-man": "^0.7.0", @@ -2391,9 +2390,9 @@ } }, "node_modules/@npmcli/template-oss": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/@npmcli/template-oss/-/template-oss-4.4.5.tgz", - "integrity": "sha512-lAQBMVk79aPr7J09YJBICPOSi5wpTDmtZxXFknvTey30t/Q8jJFYy83gLsgNxXR2KxBP/xVemiiqxl1UdihkSw==", + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/@npmcli/template-oss/-/template-oss-4.5.0.tgz", + "integrity": "sha512-5Z55OSSKiD1r3S7Q0Q8w8PPw3q+tvmj9RPRixyy1e4dIqiyKgUwDUNUVlngjDG2xzykAlZWW2EKudr8d9Zn6Lg==", "dev": true, "hasInstallScript": true, "dependencies": { @@ -2405,6 +2404,7 @@ "@npmcli/git": "^3.0.0", "@npmcli/map-workspaces": "^2.0.2", "@npmcli/package-json": "^2.0.0", + "@octokit/rest": "^19.0.4", "diff": "^5.0.0", "glob": "^8.0.1", "handlebars": "^4.7.7", @@ -2422,6 +2422,7 @@ "bin": { "template-oss-apply": "bin/apply.js", "template-oss-check": "bin/check.js", + "template-oss-release-manager": "bin/release-manager.js", "template-oss-release-please": "bin/release-please.js" }, "engines": { @@ -13844,7 +13845,7 @@ "devDependencies": { "@npmcli/eslint-config": "^3.1.0", "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "minify-registry-metadata": "^2.2.0", "rimraf": "^3.0.2", "tap": "^16.0.1", @@ -13901,7 +13902,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "benchmark": "^2.1.4", "chalk": "^4.1.0", "minify-registry-metadata": "^2.1.0", @@ -13922,7 +13923,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -13946,7 +13947,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "tap": "^16.0.1" }, "engines": { @@ -13974,7 +13975,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "bin-links": "^3.0.3", "minify-registry-metadata": "^2.2.0", "mkdirp": "^1.0.4", @@ -13992,7 +13993,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "tap": "^16.0.1" }, "engines": { @@ -14008,7 +14009,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -14025,7 +14026,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "minipass": "^3.1.1", "nock": "^13.2.4", "tap": "^16.0.1" @@ -14045,7 +14046,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "nock": "^13.0.7", "tap": "^16.0.1" }, @@ -14065,7 +14066,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "libnpmpack": "^5.0.0-pre.0", "lodash.clonedeep": "^4.5.0", "nock": "^13.2.4", @@ -14083,7 +14084,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -14100,7 +14101,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -14120,7 +14121,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "require-inject": "^1.4.4", "tap": "^16.0.1" }, diff --git a/package.json b/package.json index 0e0f9d745902d..2afce0e820a93 100644 --- a/package.json +++ b/package.json @@ -206,8 +206,7 @@ "devDependencies": { "@npmcli/eslint-config": "^3.1.0", "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/template-oss": "4.4.5", - "@octokit/rest": "^19.0.4", + "@npmcli/template-oss": "4.5.0", "fs-minipass": "^2.1.0", "licensee": "^8.2.0", "minimatch": "^5.1.0", @@ -233,7 +232,7 @@ "lint-all": "node . run lint -ws -iwr --if-present", "prelint": "rimraf test/npm_cache*", "resetdeps": "bash scripts/resetdeps.sh", - "rp-pull-request": "node . run authors && node scripts/release-manager.js", + "rp-pull-request": "node . run authors", "postlint": "template-oss-check", "template-oss-apply": "template-oss-apply --force" }, @@ -258,7 +257,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.5", + "version": "4.5.0", "content": "./scripts/template-oss/root.js" }, "license": "Artistic-2.0", diff --git a/scripts/release-manager.js b/scripts/release-manager.js deleted file mode 100644 index 2d981ceb93c17..0000000000000 --- a/scripts/release-manager.js +++ /dev/null @@ -1,203 +0,0 @@ -#!/usr/bin/env node - -const { Octokit } = require('@octokit/rest') -const semver = require('semver') -const mapWorkspaces = require('@npmcli/map-workspaces') -const { join } = require('path') - -const ROOT = process.cwd() -const pkg = require(join(ROOT, 'package.json')) - -const log = (...logs) => console.error('LOG', ...logs) - -const getReleaseProcess = async () => { - // XXX: the release steps need to always be the last thing in the doc for this to work - const RELEASE_PROCESS_SECTION = '### Release the CLI and workspaces' - const RELEASE_PROCESS_WIKI = 'https://raw.githubusercontent.com/wiki/npm/cli/Release-Process.md' - const RELEASE_LIST_ITEM = /^\d+\.\s/gm - - log(`Fetching release process from:`, RELEASE_PROCESS_WIKI) - - const releaseProcess = await new Promise((resolve, reject) => { - require('https') - .get(RELEASE_PROCESS_WIKI, resp => { - let d = '' - resp.on('data', c => (d += c)) - resp.on('end', () => resolve(d)) - }) - .on('error', reject) - }) - - const section = releaseProcess.split(RELEASE_PROCESS_SECTION)[1] - - if (!section) { - throw new Error('Could not find release process section:', RELEASE_PROCESS_SECTION) - } - - return section.split({ - [Symbol.split] (str) { - const [, ...matches] = str.split(RELEASE_LIST_ITEM) - log(`Found ${matches.length} release items`) - return matches.map((m) => `- [ ] . ${m}`.trim()) - }, - }) -} - -const getPrReleases = async (pr) => { - const RELEASE_SEPARATOR = /
.*<\/summary>/g - const MONO_VERSIONS = /
(?:(.*?):\s)?(.*?)<\/summary>/ - const ROOT_VERSION = /\n##\s\[(.*?)\]/ - - const workspaces = [...await mapWorkspaces({ pkg: pkg, cwd: ROOT })].reduce((acc, [k]) => { - const wsComponentName = k.startsWith('@') ? k.split('/')[1] : k - acc[wsComponentName] = k - return acc - }, {}) - - const getReleaseInfo = ({ name, version: rawVersion }) => { - const version = semver.parse(rawVersion) - const prerelease = !!version.prerelease.length - const tag = `${name ? `${name}-` : ''}v${rawVersion}` - const workspace = workspaces[name] - - return { - name, - tag, - prerelease, - version: rawVersion, - major: version.major, - url: `https://github.com/${pr.base.repo.full_name}/releases/tag/${tag}`, - flags: name ? `-w ${workspace} ${prerelease ? `--tag prerelease` : ''}`.trim() : '', - } - } - - const releases = pr.body.match(RELEASE_SEPARATOR) - - if (!releases) { - log('Found no monorepo, checking for single root version') - const [, version] = pr.body.match(ROOT_VERSION) || [] - - if (!version) { - throw new Error('Could not find version with:', ROOT_VERSION) - } - - log('Found version', version) - return [getReleaseInfo({ version })] - } - - log(`Found ${releases.length} releases`) - - return releases.reduce((acc, r) => { - const [, name, version] = r.match(MONO_VERSIONS) - const release = getReleaseInfo({ name, version }) - - if (!name) { - log('Found root', release) - acc[0] = release - } else { - log('Found workspace', release) - acc[1].push(release) - } - - return acc - }, [null, []]) -} - -const appendToComment = async ({ github, commentId, title, body }) => { - if (!commentId) { - log(`No comment id, skipping append to comment`) - return - } - - const { data: comment } = await github.rest.issues.getComment({ - ...github.repo, - comment_id: commentId, - }) - - const hasAppended = comment.body.includes(title) - - log('Found comment with id:', commentId) - log(hasAppended ? 'Comment has aready been appended, replacing' : 'Appending to comment') - - const prefix = hasAppended - ? comment.body.split(title)[0] - : comment.body - - return github.rest.issues.updateComment({ - ...github.repo, - comment_id: commentId, - body: [prefix, title, body].join('\n\n'), - }) -} - -const main = async (env) => { - // These env vars are set by the release.yml workflow from template-oss - const { - CI, - GITHUB_TOKEN, - GITHUB_REPOSITORY, - RELEASE_PR_NUMBER, - RELEASE_COMMENT_ID, // comment is optional for testing - } = env - - if (!CI || !GITHUB_TOKEN || !GITHUB_REPOSITORY || !RELEASE_PR_NUMBER) { - throw new Error('This script is designed to run in CI. If you want to test it, set the ' + - `following env vars: \`CI, GITHUB_TOKEN, GITHUB_REPOSITORY, RELEASE_PR_NUMBER\``) - } - - const github = new Octokit({ auth: GITHUB_TOKEN }) - github.repo = { owner: GITHUB_REPOSITORY.split('/')[0], repo: GITHUB_REPOSITORY.split('/')[1] } - - const { data: pr } = await github.rest.pulls.get({ - ...github.repo, - pull_number: RELEASE_PR_NUMBER, - }) - - const [release, workspaces = []] = await getPrReleases(pr) - - const RELEASE_OMIT_PRERELEASE = '> NOT FOR PRERELEASE' - const RELEASE_OMIT_WORKSPACES = 'Publish workspaces' - const releaseItems = (await getReleaseProcess()) - .filter((item) => { - if (release.prerelease && item.includes(RELEASE_OMIT_PRERELEASE)) { - return false - } - - if (!workspaces.length && item.includes(RELEASE_OMIT_WORKSPACES)) { - return false - } - - return true - }) - .map((item, index) => item.replace('', index + 1)) - - log( - `Filtered ${releaseItems.length} release process items:\n`, - releaseItems.map(r => r.split('\n')[0]).join('\n') - ) - - const releaseTitle = `### Release Checklist for ${release.tag}` - const releaseChecklist = releaseItems - .join('\n\n') - .replace(//g, RELEASE_PR_NUMBER) - .replace(//g, pr.head.ref) - .replace(//g, pr.base.ref) - .replace(//g, release.major) - .replace(//g, release.version) - .replace(//g, release.url) - .replace(/(\s+node \. publish )-w /g, workspaces.map(w => `$1${w.flags}`).join('')) - .trim() - - await appendToComment({ - github, - commentId: RELEASE_COMMENT_ID, - title: releaseTitle, - body: releaseChecklist, - }) -} - -main(process.env) - // This is part of the release CI and is for posting a release manager - // comment to the issue but we dont want it to ever fail the workflow so - // just log but dont set the error code - .catch(err => console.error(err)) diff --git a/smoke-tests/package.json b/smoke-tests/package.json index 7a2c4eed065cf..a63b5ce15d3ac 100644 --- a/smoke-tests/package.json +++ b/smoke-tests/package.json @@ -20,7 +20,7 @@ "devDependencies": { "@npmcli/eslint-config": "^3.1.0", "@npmcli/promise-spawn": "^3.0.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "minify-registry-metadata": "^2.2.0", "rimraf": "^3.0.2", "tap": "^16.0.1", @@ -30,7 +30,7 @@ "license": "ISC", "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.5", + "version": "4.5.0", "content": "../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/arborist/package.json b/workspaces/arborist/package.json index 6c11a90d51945..e329fe9a88a42 100644 --- a/workspaces/arborist/package.json +++ b/workspaces/arborist/package.json @@ -42,7 +42,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "benchmark": "^2.1.4", "chalk": "^4.1.0", "minify-registry-metadata": "^2.1.0", @@ -104,7 +104,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.5", + "version": "4.5.0", "content": "../../scripts/template-oss/index.js" } } diff --git a/workspaces/libnpmaccess/package.json b/workspaces/libnpmaccess/package.json index 3238cdc2d05ec..11a8963d821ce 100644 --- a/workspaces/libnpmaccess/package.json +++ b/workspaces/libnpmaccess/package.json @@ -16,7 +16,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -40,7 +40,7 @@ ], "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.5", + "version": "4.5.0", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmdiff/package.json b/workspaces/libnpmdiff/package.json index c606575505b9e..8309f14a6157f 100644 --- a/workspaces/libnpmdiff/package.json +++ b/workspaces/libnpmdiff/package.json @@ -43,7 +43,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "tap": "^16.0.1" }, "dependencies": { @@ -59,7 +59,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.5", + "version": "4.5.0", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmexec/package.json b/workspaces/libnpmexec/package.json index 55a1ac9bd6631..84393c0500e9e 100644 --- a/workspaces/libnpmexec/package.json +++ b/workspaces/libnpmexec/package.json @@ -51,7 +51,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "bin-links": "^3.0.3", "minify-registry-metadata": "^2.2.0", "mkdirp": "^1.0.4", @@ -75,7 +75,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.5", + "version": "4.5.0", "content": "../../scripts/template-oss/index.js" } } diff --git a/workspaces/libnpmfund/package.json b/workspaces/libnpmfund/package.json index 17bfee5bc401d..9c53c75c29143 100644 --- a/workspaces/libnpmfund/package.json +++ b/workspaces/libnpmfund/package.json @@ -42,7 +42,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "tap": "^16.0.1" }, "dependencies": { @@ -53,7 +53,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.5", + "version": "4.5.0", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmhook/package.json b/workspaces/libnpmhook/package.json index 75dbb8557f071..5661da103eef1 100644 --- a/workspaces/libnpmhook/package.json +++ b/workspaces/libnpmhook/package.json @@ -37,7 +37,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -46,7 +46,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.5", + "version": "4.5.0", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmorg/package.json b/workspaces/libnpmorg/package.json index 67d1ce0d0712e..0bd99c1b185e4 100644 --- a/workspaces/libnpmorg/package.json +++ b/workspaces/libnpmorg/package.json @@ -28,7 +28,7 @@ ], "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "minipass": "^3.1.1", "nock": "^13.2.4", "tap": "^16.0.1" @@ -49,7 +49,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.5", + "version": "4.5.0", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmpack/package.json b/workspaces/libnpmpack/package.json index da9e36c2edc37..b7ebe1a354b19 100644 --- a/workspaces/libnpmpack/package.json +++ b/workspaces/libnpmpack/package.json @@ -23,7 +23,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "nock": "^13.0.7", "tap": "^16.0.1" }, @@ -45,7 +45,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.5", + "version": "4.5.0", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmpublish/package.json b/workspaces/libnpmpublish/package.json index e8455cfed94cc..05ff19d6e9178 100644 --- a/workspaces/libnpmpublish/package.json +++ b/workspaces/libnpmpublish/package.json @@ -25,7 +25,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "libnpmpack": "^5.0.0-pre.0", "lodash.clonedeep": "^4.5.0", "nock": "^13.2.4", @@ -50,7 +50,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.5", + "version": "4.5.0", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmsearch/package.json b/workspaces/libnpmsearch/package.json index c662bf366d996..e2de6d468a286 100644 --- a/workspaces/libnpmsearch/package.json +++ b/workspaces/libnpmsearch/package.json @@ -26,7 +26,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -45,7 +45,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.5", + "version": "4.5.0", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmteam/package.json b/workspaces/libnpmteam/package.json index f55da8d0c52dc..d72edb526b4f2 100644 --- a/workspaces/libnpmteam/package.json +++ b/workspaces/libnpmteam/package.json @@ -16,7 +16,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "nock": "^13.2.4", "tap": "^16.0.1" }, @@ -39,7 +39,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.5", + "version": "4.5.0", "content": "../../scripts/template-oss/index.js" }, "tap": { diff --git a/workspaces/libnpmversion/package.json b/workspaces/libnpmversion/package.json index a3eeffda227e3..5cdeec0bd7261 100644 --- a/workspaces/libnpmversion/package.json +++ b/workspaces/libnpmversion/package.json @@ -32,7 +32,7 @@ }, "devDependencies": { "@npmcli/eslint-config": "^3.1.0", - "@npmcli/template-oss": "4.4.5", + "@npmcli/template-oss": "4.5.0", "require-inject": "^1.4.4", "tap": "^16.0.1" }, @@ -48,7 +48,7 @@ }, "templateOSS": { "//@npmcli/template-oss": "This file is partially managed by @npmcli/template-oss. Edits may be overwritten.", - "version": "4.4.5", + "version": "4.5.0", "content": "../../scripts/template-oss/index.js" } } From 92e94e3e891e602b8cbac2b39bedaf297a84f102 Mon Sep 17 00:00:00 2001 From: Luke Karrys Date: Wed, 5 Oct 2022 11:27:47 -0700 Subject: [PATCH 16/20] chore: use packlist to write node_module ignores (#5363) The gitignore file inside `node_modules/` is now an allow list built from the output of `npm-packlist`. This means that the only dependencies that get checked in to source control are those that will end up in the packed tarball, with the exception of some files that we always ignore. This also moves the dependencies required to build the docs workspace from devDependencies to dependencies so they are available for making the docs after pruning. Ignoring these from source control was the reason that the change to how we build the gitignore file was necessary. --- DEPENDENCIES.md | 324 +- docs/.eslintrc.local.json | 1 - docs/package.json | 15 +- node_modules/.gitignore | 845 ++-- node_modules/aggregate-error/readme.md | 61 - node_modules/ansi-regex/readme.md | 78 - node_modules/ansi-styles/readme.md | 152 - node_modules/binary-extensions/readme.md | 41 - node_modules/builtins/Readme.md | 39 - node_modules/chalk/readme.md | 341 -- node_modules/clean-stack/readme.md | 76 - node_modules/cli-columns/{LICENSE => license} | 0 node_modules/columnify/Readme.md | 475 --- node_modules/debug/node_modules/ms/readme.md | 60 - node_modules/delegates/Readme.md | 94 - node_modules/depd/Readme.md | 280 -- node_modules/env-paths/readme.md | 115 - node_modules/has-flag/readme.md | 89 - node_modules/iconv-lite/Changelog.md | 212 - node_modules/indent-string/readme.md | 70 - node_modules/ip-regex/readme.md | 86 - .../is-fullwidth-code-point/readme.md | 39 - node_modules/minipass-sized/package-lock.json | 3464 ---------------- node_modules/mkdirp/readme.markdown | 266 -- node_modules/ms/readme.md | 59 - node_modules/node-gyp/node_modules/.bin/nopt | 1 - .../package-lock.json | 3529 ----------------- node_modules/p-map/readme.md | 89 - node_modules/path-is-absolute/readme.md | 59 - .../promise-all-reject-late/package-lock.json | 3447 ---------------- node_modules/safer-buffer/Readme.md | 156 - node_modules/string-width/readme.md | 50 - node_modules/strip-ansi/readme.md | 46 - node_modules/supports-color/readme.md | 76 - node_modules/text-table/readme.markdown | 134 - node_modules/wcwidth/Readme.md | 33 - package-lock.json | 246 +- package.json | 7 +- scripts/bundle-and-gitignore-deps.js | 264 +- 39 files changed, 823 insertions(+), 14596 deletions(-) delete mode 100644 docs/.eslintrc.local.json delete mode 100644 node_modules/aggregate-error/readme.md delete mode 100644 node_modules/ansi-regex/readme.md delete mode 100644 node_modules/ansi-styles/readme.md delete mode 100644 node_modules/binary-extensions/readme.md delete mode 100644 node_modules/builtins/Readme.md delete mode 100644 node_modules/chalk/readme.md delete mode 100644 node_modules/clean-stack/readme.md rename node_modules/cli-columns/{LICENSE => license} (100%) delete mode 100644 node_modules/columnify/Readme.md delete mode 100644 node_modules/debug/node_modules/ms/readme.md delete mode 100644 node_modules/delegates/Readme.md delete mode 100644 node_modules/depd/Readme.md delete mode 100644 node_modules/env-paths/readme.md delete mode 100644 node_modules/has-flag/readme.md delete mode 100644 node_modules/iconv-lite/Changelog.md delete mode 100644 node_modules/indent-string/readme.md delete mode 100644 node_modules/ip-regex/readme.md delete mode 100644 node_modules/is-fullwidth-code-point/readme.md delete mode 100644 node_modules/minipass-sized/package-lock.json delete mode 100644 node_modules/mkdirp/readme.markdown delete mode 100644 node_modules/ms/readme.md delete mode 120000 node_modules/node-gyp/node_modules/.bin/nopt delete mode 100644 node_modules/npm-normalize-package-bin/package-lock.json delete mode 100644 node_modules/p-map/readme.md delete mode 100644 node_modules/path-is-absolute/readme.md delete mode 100644 node_modules/promise-all-reject-late/package-lock.json delete mode 100644 node_modules/safer-buffer/Readme.md delete mode 100644 node_modules/string-width/readme.md delete mode 100644 node_modules/strip-ansi/readme.md delete mode 100644 node_modules/supports-color/readme.md delete mode 100644 node_modules/text-table/readme.markdown delete mode 100644 node_modules/wcwidth/Readme.md diff --git a/DEPENDENCIES.md b/DEPENDENCIES.md index bdee9cd465d8a..52525aa03c5b9 100644 --- a/DEPENDENCIES.md +++ b/DEPENDENCIES.md @@ -111,6 +111,7 @@ graph LR; npm-->npm-audit-report; npm-->npm-install-checks; npm-->npm-package-arg; + npm-->npm-packlist; npm-->npm-pick-manifest; npm-->npm-profile; npm-->npm-registry-fetch; @@ -120,6 +121,7 @@ graph LR; npm-->npmcli-config["@npmcli/config"]; npm-->npmcli-eslint-config["@npmcli/eslint-config"]; npm-->npmcli-fs["@npmcli/fs"]; + npm-->npmcli-git["@npmcli/git"]; npm-->npmcli-map-workspaces["@npmcli/map-workspaces"]; npm-->npmcli-package-json["@npmcli/package-json"]; npm-->npmcli-promise-spawn["@npmcli/promise-spawn"]; @@ -242,6 +244,8 @@ graph LR; ## all dependencies ```mermaid graph LR; + acorn-globals-->acorn-walk; + acorn-globals-->acorn; agent-base-->debug; agentkeepalive-->debug; agentkeepalive-->depd; @@ -251,14 +255,92 @@ graph LR; ansi-styles-->color-convert; are-we-there-yet-->delegates; are-we-there-yet-->readable-stream; + babel-code-frame-->babel-highlight["@babel/highlight"]; + babel-core-->babel-code-frame["@babel/code-frame"]; + babel-core-->babel-generator["@babel/generator"]; + babel-core-->babel-helper-module-transforms["@babel/helper-module-transforms"]; + babel-core-->babel-helpers["@babel/helpers"]; + babel-core-->babel-parser["@babel/parser"]; + babel-core-->babel-template["@babel/template"]; + babel-core-->babel-traverse["@babel/traverse"]; + babel-core-->babel-types["@babel/types"]; + babel-core-->convert-source-map; + babel-core-->debug; + babel-core-->gensync; + babel-core-->json5; + babel-core-->lodash; + babel-core-->resolve; + babel-core-->semver; + babel-core-->source-map; + babel-generator-->babel-types["@babel/types"]; + babel-generator-->jsesc; + babel-generator-->source-map; + babel-helper-environment-visitor-->babel-types["@babel/types"]; + babel-helper-function-name-->babel-helper-get-function-arity["@babel/helper-get-function-arity"]; + babel-helper-function-name-->babel-template["@babel/template"]; + babel-helper-function-name-->babel-types["@babel/types"]; + babel-helper-get-function-arity-->babel-types["@babel/types"]; + babel-helper-hoist-variables-->babel-types["@babel/types"]; + babel-helper-module-imports-->babel-types["@babel/types"]; + babel-helper-module-transforms-->babel-helper-environment-visitor["@babel/helper-environment-visitor"]; + babel-helper-module-transforms-->babel-helper-module-imports["@babel/helper-module-imports"]; + babel-helper-module-transforms-->babel-helper-simple-access["@babel/helper-simple-access"]; + babel-helper-module-transforms-->babel-helper-split-export-declaration["@babel/helper-split-export-declaration"]; + babel-helper-module-transforms-->babel-helper-validator-identifier["@babel/helper-validator-identifier"]; + babel-helper-module-transforms-->babel-template["@babel/template"]; + babel-helper-module-transforms-->babel-traverse["@babel/traverse"]; + babel-helper-module-transforms-->babel-types["@babel/types"]; + babel-helper-simple-access-->babel-types["@babel/types"]; + babel-helper-split-export-declaration-->babel-types["@babel/types"]; + babel-helpers-->babel-template["@babel/template"]; + babel-helpers-->babel-traverse["@babel/traverse"]; + babel-helpers-->babel-types["@babel/types"]; + babel-highlight-->babel-helper-validator-identifier["@babel/helper-validator-identifier"]; + babel-highlight-->chalk; + babel-highlight-->js-tokens; + babel-plugin-apply-mdx-type-prop-->babel-core["@babel/core"]; + babel-plugin-apply-mdx-type-prop-->babel-helper-plugin-utils["@babel/helper-plugin-utils"]; + babel-plugin-apply-mdx-type-prop-->mdx-js-util["@mdx-js/util"]; + babel-plugin-extract-import-names-->babel-helper-plugin-utils["@babel/helper-plugin-utils"]; + babel-plugin-proposal-object-rest-spread-->babel-core["@babel/core"]; + babel-plugin-proposal-object-rest-spread-->babel-helper-plugin-utils["@babel/helper-plugin-utils"]; + babel-plugin-proposal-object-rest-spread-->babel-plugin-syntax-object-rest-spread["@babel/plugin-syntax-object-rest-spread"]; + babel-plugin-proposal-object-rest-spread-->babel-plugin-transform-parameters["@babel/plugin-transform-parameters"]; + babel-plugin-syntax-jsx-->babel-core["@babel/core"]; + babel-plugin-syntax-jsx-->babel-helper-plugin-utils["@babel/helper-plugin-utils"]; + babel-plugin-syntax-object-rest-spread-->babel-core["@babel/core"]; + babel-plugin-syntax-object-rest-spread-->babel-helper-plugin-utils["@babel/helper-plugin-utils"]; + babel-plugin-transform-parameters-->babel-core["@babel/core"]; + babel-plugin-transform-parameters-->babel-helper-plugin-utils["@babel/helper-plugin-utils"]; + babel-template-->babel-code-frame["@babel/code-frame"]; + babel-template-->babel-parser["@babel/parser"]; + babel-template-->babel-types["@babel/types"]; + babel-traverse-->babel-code-frame["@babel/code-frame"]; + babel-traverse-->babel-generator["@babel/generator"]; + babel-traverse-->babel-helper-environment-visitor["@babel/helper-environment-visitor"]; + babel-traverse-->babel-helper-function-name["@babel/helper-function-name"]; + babel-traverse-->babel-helper-hoist-variables["@babel/helper-hoist-variables"]; + babel-traverse-->babel-helper-split-export-declaration["@babel/helper-split-export-declaration"]; + babel-traverse-->babel-parser["@babel/parser"]; + babel-traverse-->babel-types["@babel/types"]; + babel-traverse-->debug; + babel-traverse-->globals; + babel-types-->babel-helper-validator-identifier["@babel/helper-validator-identifier"]; + babel-types-->to-fast-properties; bin-links-->cmd-shim; bin-links-->mkdirp-infer-owner; bin-links-->npm-normalize-package-bin; bin-links-->read-cmd-shim; bin-links-->rimraf; bin-links-->write-file-atomic; + bindings-->file-uri-to-path; + bl-->buffer; + bl-->inherits; + bl-->readable-stream; brace-expansion-->balanced-match; brace-expansion-->concat-map; + buffer-->base64-js; + buffer-->ieee754; builtins-->semver; cacache-->chownr; cacache-->fs-minipass; @@ -279,24 +361,37 @@ graph LR; cacache-->tar; cacache-->unique-filename; chalk-->ansi-styles; + chalk-->escape-string-regexp; chalk-->supports-color; cidr-regex-->ip-regex; cli-columns-->string-width; cli-columns-->strip-ansi; cli-table3-->colors-colors["@colors/colors"]; cli-table3-->string-width; + cmark-gfm-->bindings; + cmark-gfm-->node-addon-api; + cmark-gfm-->prebuild-install; cmd-shim-->mkdirp-infer-owner; color-convert-->color-name; columnify-->strip-ansi; columnify-->wcwidth; + combined-stream-->delayed-stream; + convert-source-map-->safe-buffer; + cssstyle-->cssom; + data-urls-->abab; + data-urls-->whatwg-mimetype; + data-urls-->whatwg-url; debug-->ms; + decompress-response-->mimic-response; defaults-->clone; + detab-->repeat-string; dezalgo-->asap; dezalgo-->wrappy; docs-->cmark-gfm; docs-->jsdom; docs-->marked-man; docs-->mdx-js-mdx["@mdx-js/mdx"]; + docs-->mkdirp; docs-->npmcli-eslint-config["@npmcli/eslint-config"]; docs-->npmcli-fs["@npmcli/fs"]; docs-->npmcli-promise-spawn["@npmcli/promise-spawn"]; @@ -304,12 +399,22 @@ graph LR; docs-->tap; docs-->which; docs-->yaml; + domexception-->webidl-conversions; encoding-->iconv-lite; + end-of-stream-->once; + escodegen-->esprima; + escodegen-->estraverse; + escodegen-->esutils; + escodegen-->optionator; + escodegen-->source-map; + form-data-->asynckit; + form-data-->combined-stream; + form-data-->mime-types; fs-minipass-->minipass; gauge-->aproba; - gauge-->color-support; gauge-->console-control-strings; gauge-->has-unicode; + gauge-->object-assign; gauge-->signal-exit; gauge-->string-width; gauge-->strip-ansi; @@ -321,7 +426,41 @@ graph LR; glob-->once; glob-->path-is-absolute; has-->function-bind; + hast-to-hyperscript-->comma-separated-tokens; + hast-to-hyperscript-->property-information; + hast-to-hyperscript-->space-separated-tokens; + hast-to-hyperscript-->style-to-object; + hast-to-hyperscript-->types-unist["@types/unist"]; + hast-to-hyperscript-->unist-util-is; + hast-to-hyperscript-->web-namespaces; + hast-util-from-parse5-->hastscript; + hast-util-from-parse5-->property-information; + hast-util-from-parse5-->types-parse5["@types/parse5"]; + hast-util-from-parse5-->vfile-location; + hast-util-from-parse5-->vfile; + hast-util-from-parse5-->web-namespaces; + hast-util-raw-->hast-util-from-parse5; + hast-util-raw-->hast-util-to-parse5; + hast-util-raw-->html-void-elements; + hast-util-raw-->parse5; + hast-util-raw-->types-hast["@types/hast"]; + hast-util-raw-->unist-util-position; + hast-util-raw-->vfile; + hast-util-raw-->web-namespaces; + hast-util-raw-->xtend; + hast-util-raw-->zwitch; + hast-util-to-parse5-->hast-to-hyperscript; + hast-util-to-parse5-->property-information; + hast-util-to-parse5-->web-namespaces; + hast-util-to-parse5-->xtend; + hast-util-to-parse5-->zwitch; + hastscript-->comma-separated-tokens; + hastscript-->hast-util-parse-selector; + hastscript-->property-information; + hastscript-->space-separated-tokens; + hastscript-->types-hast["@types/hast"]; hosted-git-info-->lru-cache; + html-encoding-sniffer-->whatwg-encoding; http-proxy-agent-->agent-base; http-proxy-agent-->debug; http-proxy-agent-->tootallnate-once["@tootallnate/once"]; @@ -339,8 +478,41 @@ graph LR; init-package-json-->semver; init-package-json-->validate-npm-package-license; init-package-json-->validate-npm-package-name; + is-alphanumerical-->is-alphabetical; + is-alphanumerical-->is-decimal; is-cidr-->cidr-regex; is-core-module-->has; + is-fullwidth-code-point-->number-is-nan; + jsdom-->abab; + jsdom-->acorn-globals; + jsdom-->acorn; + jsdom-->canvas; + jsdom-->cssom; + jsdom-->cssstyle; + jsdom-->data-urls; + jsdom-->decimal.js; + jsdom-->domexception; + jsdom-->escodegen; + jsdom-->form-data; + jsdom-->html-encoding-sniffer; + jsdom-->http-proxy-agent; + jsdom-->https-proxy-agent; + jsdom-->is-potential-custom-element-name; + jsdom-->nwsapi; + jsdom-->parse5; + jsdom-->saxes; + jsdom-->symbol-tree; + jsdom-->tough-cookie; + jsdom-->w3c-hr-time; + jsdom-->w3c-xmlserializer; + jsdom-->webidl-conversions; + jsdom-->whatwg-encoding; + jsdom-->whatwg-mimetype; + jsdom-->whatwg-url; + jsdom-->ws; + jsdom-->xml-name-validator; + levn-->prelude-ls; + levn-->type-check; libnpmaccess-->nock; libnpmaccess-->npm-package-arg; libnpmaccess-->npm-registry-fetch; @@ -452,6 +624,37 @@ graph LR; make-fetch-happen-->promise-retry; make-fetch-happen-->socks-proxy-agent; make-fetch-happen-->ssri; + marked-man-->marked; + mdast-squeeze-paragraphs-->unist-util-remove; + mdast-util-definitions-->unist-util-visit; + mdast-util-to-hast-->mdast-util-definitions; + mdast-util-to-hast-->mdurl; + mdast-util-to-hast-->types-mdast["@types/mdast"]; + mdast-util-to-hast-->types-unist["@types/unist"]; + mdast-util-to-hast-->unist-builder; + mdast-util-to-hast-->unist-util-generated; + mdast-util-to-hast-->unist-util-position; + mdast-util-to-hast-->unist-util-visit; + mdx-js-mdx-->babel-core["@babel/core"]; + mdx-js-mdx-->babel-plugin-apply-mdx-type-prop; + mdx-js-mdx-->babel-plugin-extract-import-names; + mdx-js-mdx-->babel-plugin-syntax-jsx["@babel/plugin-syntax-jsx"]; + mdx-js-mdx-->babel-plugin-syntax-object-rest-spread["@babel/plugin-syntax-object-rest-spread"]; + mdx-js-mdx-->camelcase-css; + mdx-js-mdx-->detab; + mdx-js-mdx-->hast-util-raw; + mdx-js-mdx-->lodash.uniq; + mdx-js-mdx-->mdast-util-to-hast; + mdx-js-mdx-->mdx-js-util["@mdx-js/util"]; + mdx-js-mdx-->remark-footnotes; + mdx-js-mdx-->remark-mdx; + mdx-js-mdx-->remark-parse; + mdx-js-mdx-->remark-squeeze-paragraphs; + mdx-js-mdx-->style-to-object; + mdx-js-mdx-->unified; + mdx-js-mdx-->unist-builder; + mdx-js-mdx-->unist-util-visit; + mime-types-->mime-db; minimatch-->brace-expansion; minipass-->yallist; minipass-collect-->minipass; @@ -469,6 +672,7 @@ graph LR; mkdirp-infer-owner-->chownr; mkdirp-infer-owner-->infer-owner; mkdirp-infer-owner-->mkdirp; + node-abi-->semver; node-gyp-->env-paths; node-gyp-->glob; node-gyp-->graceful-fs; @@ -528,6 +732,7 @@ graph LR; npm-->npm-audit-report; npm-->npm-install-checks; npm-->npm-package-arg; + npm-->npm-packlist; npm-->npm-pick-manifest; npm-->npm-profile; npm-->npm-registry-fetch; @@ -537,6 +742,7 @@ graph LR; npm-->npmcli-config["@npmcli/config"]; npm-->npmcli-eslint-config["@npmcli/eslint-config"]; npm-->npmcli-fs["@npmcli/fs"]; + npm-->npmcli-git["@npmcli/git"]; npm-->npmcli-map-workspaces["@npmcli/map-workspaces"]; npm-->npmcli-package-json["@npmcli/package-json"]; npm-->npmcli-promise-spawn["@npmcli/promise-spawn"]; @@ -678,6 +884,12 @@ graph LR; npmlog-->gauge; npmlog-->set-blocking; once-->wrappy; + optionator-->deep-is; + optionator-->fast-levenshtein; + optionator-->levn; + optionator-->prelude-ls; + optionator-->type-check; + optionator-->word-wrap; p-map-->aggregate-error; pacote-->cacache; pacote-->chownr; @@ -703,11 +915,37 @@ graph LR; parse-conflict-json-->json-parse-even-better-errors; parse-conflict-json-->just-diff-apply; parse-conflict-json-->just-diff; + parse-entities-->character-entities-legacy; + parse-entities-->character-entities; + parse-entities-->character-reference-invalid; + parse-entities-->is-alphanumerical; + parse-entities-->is-decimal; + parse-entities-->is-hexadecimal; postcss-selector-parser-->cssesc; postcss-selector-parser-->util-deprecate; + prebuild-install-->detect-libc; + prebuild-install-->expand-template; + prebuild-install-->github-from-package; + prebuild-install-->minimist; + prebuild-install-->mkdirp-classic; + prebuild-install-->napi-build-utils; + prebuild-install-->node-abi; + prebuild-install-->npmlog; + prebuild-install-->pump; + prebuild-install-->rc; + prebuild-install-->simple-get; + prebuild-install-->tar-fs; + prebuild-install-->tunnel-agent; promise-retry-->err-code; promise-retry-->retry; promzard-->read; + property-information-->xtend; + pump-->end-of-stream; + pump-->once; + rc-->deep-extend; + rc-->ini; + rc-->minimist; + rc-->strip-json-comments; read-->mute-stream; read-package-json-->glob; read-package-json-->json-parse-even-better-errors; @@ -715,15 +953,51 @@ graph LR; read-package-json-->npm-normalize-package-bin; read-package-json-fast-->json-parse-even-better-errors; read-package-json-fast-->npm-normalize-package-bin; + readable-stream-->core-util-is; readable-stream-->inherits; + readable-stream-->isarray; + readable-stream-->process-nextick-args; + readable-stream-->safe-buffer; readable-stream-->string_decoder; readable-stream-->util-deprecate; readdir-scoped-modules-->debuglog; readdir-scoped-modules-->dezalgo; readdir-scoped-modules-->graceful-fs; readdir-scoped-modules-->once; + remark-mdx-->babel-core["@babel/core"]; + remark-mdx-->babel-helper-plugin-utils["@babel/helper-plugin-utils"]; + remark-mdx-->babel-plugin-proposal-object-rest-spread["@babel/plugin-proposal-object-rest-spread"]; + remark-mdx-->babel-plugin-syntax-jsx["@babel/plugin-syntax-jsx"]; + remark-mdx-->is-alphabetical; + remark-mdx-->mdx-js-util["@mdx-js/util"]; + remark-mdx-->remark-parse; + remark-mdx-->unified; + remark-parse-->ccount; + remark-parse-->collapse-white-space; + remark-parse-->is-alphabetical; + remark-parse-->is-decimal; + remark-parse-->is-whitespace-character; + remark-parse-->is-word-character; + remark-parse-->markdown-escapes; + remark-parse-->parse-entities; + remark-parse-->repeat-string; + remark-parse-->state-toggle; + remark-parse-->trim-trailing-lines; + remark-parse-->trim; + remark-parse-->unherit; + remark-parse-->unist-util-remove-position; + remark-parse-->vfile-location; + remark-parse-->xtend; + remark-squeeze-paragraphs-->mdast-squeeze-paragraphs; + resolve-->is-core-module; + resolve-->path-parse; + resolve-->supports-preserve-symlinks-flag; rimraf-->glob; + saxes-->xmlchars; semver-->lru-cache; + simple-get-->decompress-response; + simple-get-->once; + simple-get-->simple-concat; smoke-tests-->minify-registry-metadata; smoke-tests-->npmcli-eslint-config["@npmcli/eslint-config"]; smoke-tests-->npmcli-promise-spawn["@npmcli/promise-spawn"]; @@ -741,11 +1015,13 @@ graph LR; spdx-expression-parse-->spdx-exceptions; spdx-expression-parse-->spdx-license-ids; ssri-->minipass; + string-width-->code-point-at; string-width-->emoji-regex; string-width-->is-fullwidth-code-point; string-width-->strip-ansi; string_decoder-->safe-buffer; strip-ansi-->ansi-regex; + style-to-object-->inline-style-parser; supports-color-->has-flag; tar-->chownr; tar-->fs-minipass; @@ -753,16 +1029,62 @@ graph LR; tar-->minizlib; tar-->mkdirp; tar-->yallist; + tar-fs-->chownr; + tar-fs-->mkdirp-classic; + tar-fs-->pump; + tar-fs-->tar-stream; + tar-stream-->bl; + tar-stream-->end-of-stream; + tar-stream-->fs-constants; + tar-stream-->inherits; + tar-stream-->readable-stream; + tough-cookie-->psl; + tough-cookie-->punycode; + tough-cookie-->universalify; + tr46-->punycode; + tunnel-agent-->safe-buffer; + type-check-->prelude-ls; + types-hast-->types-unist["@types/unist"]; + types-mdast-->types-unist["@types/unist"]; + unherit-->inherits; + unherit-->xtend; + unified-->bail; + unified-->extend; + unified-->is-buffer; + unified-->is-plain-obj; + unified-->trough; + unified-->vfile; unique-filename-->unique-slug; unique-slug-->imurmurhash; + unist-util-remove-->unist-util-is; + unist-util-remove-position-->unist-util-visit; + unist-util-stringify-position-->types-unist["@types/unist"]; + unist-util-visit-->types-unist["@types/unist"]; + unist-util-visit-->unist-util-is; + unist-util-visit-->unist-util-visit-parents; + unist-util-visit-parents-->types-unist["@types/unist"]; + unist-util-visit-parents-->unist-util-is; validate-npm-package-license-->spdx-correct; validate-npm-package-license-->spdx-expression-parse; validate-npm-package-name-->builtins; + vfile-->is-buffer; + vfile-->types-unist["@types/unist"]; + vfile-->unist-util-stringify-position; + vfile-->vfile-message; + vfile-message-->types-unist["@types/unist"]; + vfile-message-->unist-util-stringify-position; + w3c-hr-time-->browser-process-hrtime; + w3c-xmlserializer-->xml-name-validator; wcwidth-->defaults; + whatwg-encoding-->iconv-lite; + whatwg-url-->tr46; + whatwg-url-->webidl-conversions; which-->isexe; wide-align-->string-width; write-file-atomic-->imurmurhash; write-file-atomic-->signal-exit; + ws-->bufferutil; + ws-->utf-8-validate; ``` ## npm dependency heirarchy diff --git a/docs/.eslintrc.local.json b/docs/.eslintrc.local.json deleted file mode 100644 index ed467baedee00..0000000000000 --- a/docs/.eslintrc.local.json +++ /dev/null @@ -1 +0,0 @@ -{ "rules": { "import/no-extraneous-dependencies": "off" } } diff --git a/docs/package.json b/docs/package.json index 16d83b2cd6b22..eb5e16576eaab 100644 --- a/docs/package.json +++ b/docs/package.json @@ -17,18 +17,21 @@ "url": "https://github.com/npm/cli.git", "directory": "docs" }, - "devDependencies": { + "dependencies": { "@mdx-js/mdx": "^1.6.22", + "cmark-gfm": "^0.9.0", + "jsdom": "^18.1.0", + "marked-man": "^0.7.0", + "mkdirp": "^1.0.4", + "yaml": "^1.10.2" + }, + "devDependencies": { "@npmcli/eslint-config": "^3.1.0", "@npmcli/fs": "^2.1.0", "@npmcli/promise-spawn": "^3.0.0", "@npmcli/template-oss": "4.5.0", - "cmark-gfm": "^0.9.0", - "jsdom": "^18.1.0", - "marked-man": "^0.7.0", "tap": "^16.0.1", - "which": "^2.0.2", - "yaml": "^1.10.0" + "which": "^2.0.2" }, "author": "GitHub Inc.", "license": "ISC", diff --git a/node_modules/.gitignore b/node_modules/.gitignore index 37530342b697a..3ca5d9de99121 100644 --- a/node_modules/.gitignore +++ b/node_modules/.gitignore @@ -1,10 +1,253 @@ -# Automatically generated to ignore dev deps -/.package-lock.json +# Automatically generated to ignore everything except bundled deps +# Ignore everything by default except this file +/* +!/.gitignore +# Allow all bundled deps +!/@colors/ +/@colors/* +!/@colors/colors +!/@gar/ +/@gar/* +!/@gar/promisify +!/@isaacs/ +/@isaacs/* +!/@isaacs/string-locale-compare +!/@npmcli/ +/@npmcli/* +!/@npmcli/arborist +!/@npmcli/ci-detect +!/@npmcli/config +!/@npmcli/disparity-colors +!/@npmcli/fs +!/@npmcli/git +!/@npmcli/installed-package-contents +!/@npmcli/installed-package-contents/node_modules/ +/@npmcli/installed-package-contents/node_modules/* +!/@npmcli/installed-package-contents/node_modules/npm-bundled +!/@npmcli/map-workspaces +!/@npmcli/metavuln-calculator +!/@npmcli/move-file +!/@npmcli/name-from-folder +!/@npmcli/node-gyp +!/@npmcli/package-json +!/@npmcli/promise-spawn +!/@npmcli/query +!/@npmcli/run-script +!/@tootallnate/ +/@tootallnate/* +!/@tootallnate/once +!/abbrev +!/agent-base +!/agentkeepalive +!/aggregate-error +!/ansi-regex +!/ansi-styles +!/aproba +!/archy +!/are-we-there-yet +!/asap +!/balanced-match +!/bin-links +!/bin-links/node_modules/ +/bin-links/node_modules/* +!/bin-links/node_modules/npm-normalize-package-bin +!/binary-extensions +!/brace-expansion +!/builtins +!/cacache +!/chalk +!/chownr +!/cidr-regex +!/clean-stack +!/cli-columns +!/cli-table3 +!/clone +!/cmd-shim +!/color-convert +!/color-name +!/color-support +!/columnify +!/common-ancestor-path +!/concat-map +!/console-control-strings +!/cssesc +!/debug +!/debug/node_modules/ +/debug/node_modules/* +!/debug/node_modules/ms +!/debuglog +!/defaults +!/delegates +!/depd +!/dezalgo +!/diff +!/emoji-regex +!/encoding +!/env-paths +!/err-code +!/fastest-levenshtein +!/fs-minipass +!/fs.realpath +!/function-bind +!/gauge +!/glob +!/graceful-fs +!/has-flag +!/has-unicode +!/has +!/hosted-git-info +!/http-cache-semantics +!/http-proxy-agent +!/https-proxy-agent +!/humanize-ms +!/iconv-lite +!/ignore-walk +!/imurmurhash +!/indent-string +!/infer-owner +!/inflight +!/inherits +!/ini +!/init-package-json +!/ip-regex +!/ip +!/is-cidr +!/is-core-module +!/is-fullwidth-code-point +!/is-lambda +!/isexe +!/json-parse-even-better-errors +!/json-stringify-nice +!/jsonparse +!/just-diff-apply +!/just-diff +!/libnpmaccess +!/libnpmdiff +!/libnpmexec +!/libnpmfund +!/libnpmhook +!/libnpmorg +!/libnpmpack +!/libnpmpublish +!/libnpmsearch +!/libnpmteam +!/libnpmversion +!/lru-cache +!/make-fetch-happen +!/minimatch +!/minipass-collect +!/minipass-fetch +!/minipass-flush +!/minipass-json-stream +!/minipass-pipeline +!/minipass-sized +!/minipass +!/minizlib +!/mkdirp-infer-owner +!/mkdirp +!/ms +!/mute-stream +!/negotiator +!/node-gyp +!/node-gyp/node_modules/ +/node-gyp/node_modules/* +!/node-gyp/node_modules/brace-expansion +!/node-gyp/node_modules/glob +!/node-gyp/node_modules/minimatch +!/node-gyp/node_modules/nopt +!/nopt +!/normalize-package-data +!/npm-audit-report +!/npm-install-checks +!/npm-normalize-package-bin +!/npm-package-arg +!/npm-packlist +!/npm-pick-manifest +!/npm-pick-manifest/node_modules/ +/npm-pick-manifest/node_modules/* +!/npm-pick-manifest/node_modules/npm-normalize-package-bin +!/npm-profile +!/npm-registry-fetch +!/npm-user-validate +!/npmlog +!/once +!/opener +!/p-map +!/pacote +!/parse-conflict-json +!/path-is-absolute +!/postcss-selector-parser +!/proc-log +!/promise-all-reject-late +!/promise-call-limit +!/promise-inflight +!/promise-retry +!/promzard +!/qrcode-terminal +!/read-cmd-shim +!/read-package-json-fast +!/read-package-json +!/read-package-json/node_modules/ +/read-package-json/node_modules/* +!/read-package-json/node_modules/npm-normalize-package-bin +!/read +!/readable-stream +!/readdir-scoped-modules +!/retry +!/rimraf +!/rimraf/node_modules/ +/rimraf/node_modules/* +!/rimraf/node_modules/brace-expansion +!/rimraf/node_modules/glob +!/rimraf/node_modules/minimatch +!/safe-buffer +!/safer-buffer +!/semver +!/semver/node_modules/ +/semver/node_modules/* +!/semver/node_modules/lru-cache +!/set-blocking +!/signal-exit +!/smart-buffer +!/socks-proxy-agent +!/socks +!/spdx-correct +!/spdx-exceptions +!/spdx-expression-parse +!/spdx-license-ids +!/ssri +!/string_decoder +!/string-width +!/strip-ansi +!/supports-color +!/tar +!/text-table +!/tiny-relative-date +!/treeverse +!/unique-filename +!/unique-slug +!/util-deprecate +!/validate-npm-package-license +!/validate-npm-package-name +!/walk-up-path +!/wcwidth +!/which +!/wide-align +!/wrappy +!/write-file-atomic +!/yallist +# Always ignore some specific patterns within any allowed package +.bin/ +.cache/ package-lock.json CHANGELOG* changelog* +ChangeLog* +Changelog* README* readme* +ReadMe* +Readme* __pycache__ .editorconfig .idea/ @@ -24,601 +267,3 @@ __pycache__ .babelrc* .nyc_output .gitkeep - -/@actions/core -/@actions/http-client -/@babel/code-frame -/@babel/core -/@babel/generator -/@babel/helper-environment-visitor -/@babel/helper-function-name -/@babel/helper-get-function-arity -/@babel/helper-hoist-variables -/@babel/helper-module-imports -/@babel/helper-module-transforms -/@babel/helper-plugin-utils -/@babel/helper-simple-access -/@babel/helper-split-export-declaration -/@babel/helper-validator-identifier -/@babel/helpers -/@babel/highlight -/@babel/parser -/@babel/plugin-proposal-object-rest-spread -/@babel/plugin-syntax-jsx -/@babel/plugin-syntax-object-rest-spread -/@babel/plugin-transform-parameters -/@babel/template -/@babel/traverse -/@babel/types -/@blueoak/list -/@commitlint/cli -/@commitlint/config-conventional -/@commitlint/config-validator -/@commitlint/ensure -/@commitlint/execute-rule -/@commitlint/format -/@commitlint/is-ignored -/@commitlint/lint -/@commitlint/load -/@commitlint/message -/@commitlint/parse -/@commitlint/read -/@commitlint/resolve-extends -/@commitlint/rules -/@commitlint/to-lines -/@commitlint/top-level -/@commitlint/types -/@conventional-commits/parser -/@cspotcode/source-map-support -/@eslint/eslintrc -/@google-automations/git-file-utils -/@humanwhocodes/config-array -/@humanwhocodes/object-schema -/@iarna/toml -/@istanbuljs/load-nyc-config -/@istanbuljs/schema -/@jridgewell/resolve-uri -/@jridgewell/sourcemap-codec -/@jridgewell/trace-mapping -/@lerna/child-process -/@lerna/collect-updates -/@lerna/describe-ref -/@lerna/package -/@lerna/package-graph -/@lerna/prerelease-id-from-version -/@lerna/query-graph -/@lerna/run-topologically -/@lerna/validation-error -/@mdx-js/mdx -/@mdx-js/util -/@npmcli/eslint-config -/@npmcli/template-oss -/@octokit/auth-token -/@octokit/core -/@octokit/endpoint -/@octokit/graphql -/@octokit/openapi-types -/@octokit/plugin-paginate-rest -/@octokit/plugin-request-log -/@octokit/plugin-rest-endpoint-methods -/@octokit/request -/@octokit/request-error -/@octokit/rest -/@octokit/types -/@tsconfig/node10 -/@tsconfig/node12 -/@tsconfig/node14 -/@tsconfig/node16 -/@types/hast -/@types/json5 -/@types/mdast -/@types/minimist -/@types/node -/@types/normalize-package-data -/@types/npm-package-arg -/@types/parse-json -/@types/parse5 -/@types/unist -/@types/yargs -/@types/yargs-parser -/@xmldom/xmldom -/abab -/acorn -/acorn-globals -/acorn-jsx -/acorn-walk -/ajv -/anymatch -/append-transform -/arg -/argparse -/array-find-index -/array-ify -/array-includes -/array.prototype.flat -/arrify -/asn1 -/assert-plus -/async-hook-domain -/async-retry -/asynckit -/aws-sign2 -/aws4 -/babel-plugin-apply-mdx-type-prop -/babel-plugin-extract-import-names -/bail -/base64-js -/bcrypt-pbkdf -/before-after-hook -/benchmark -/bind-obj-methods -/bindings -/bl -/boolbase -/braces -/browser-process-hrtime -/buffer -/buffer-from -/caching-transform -/call-bind -/caller -/callsites -/camelcase -/camelcase-css -/camelcase-keys -/caseless -/ccount -/character-entities -/character-entities-legacy -/character-reference-invalid -/chokidar -/cliui -/cmark-gfm -/code-point-at -/code-suggester -/collapse-white-space -/combined-stream -/comma-separated-tokens -/commondir -/compare-func -/conventional-changelog-angular -/conventional-changelog-conventionalcommits -/conventional-changelog-writer -/conventional-commits-filter -/conventional-commits-parser -/convert-source-map -/core-util-is -/correct-license-metadata -/cosmiconfig -/cosmiconfig-typescript-loader -/coveralls -/create-require -/cross-spawn -/css-select -/css-what -/cssom -/cssstyle -/dargs -/dashdash -/data-urls -/dateformat -/decamelize -/decamelize-keys -/decimal.js -/decompress-response -/deep-extend -/deep-is -/default-require-extensions -/define-properties -/delayed-stream -/deprecation -/detab -/detect-indent -/detect-libc -/docopt -/docs -/doctrine -/dom-serializer -/domelementtype -/domexception -/domhandler -/domutils -/dot-prop -/duplexer -/ecc-jsbn -/end-of-stream -/entities -/error-ex -/es-abstract -/es-shim-unscopables -/es-to-primitive -/es6-error -/escalade -/escape-string-regexp -/escodegen -/eslint -/eslint-import-resolver-node -/eslint-module-utils -/eslint-plugin-es -/eslint-plugin-import -/eslint-plugin-node -/eslint-plugin-promise -/eslint-scope -/eslint-utils -/eslint-visitor-keys -/espree -/esprima -/esquery -/esrecurse -/estraverse -/esutils -/eventemitter3 -/events-to-array -/execa -/expand-template -/extend -/extsprintf -/fast-deep-equal -/fast-json-stable-stringify -/fast-levenshtein -/figures -/file-entry-cache -/file-uri-to-path -/fill-range -/find-cache-dir -/find-up -/findit -/flat-cache -/flatted -/flow-parser -/flow-remove-types -/foreground-child -/forever-agent -/form-data -/fromentries -/fs-access -/fs-constants -/fs-exists-cached -/fs-extra -/fsevents -/function-loop -/function.prototype.name -/functional-red-black-tree -/functions-have-names -/gensync -/get-caller-file -/get-intrinsic -/get-package-type -/get-stream -/get-symbol-description -/getpass -/git-raw-commits -/github-from-package -/glob-parent -/global-dirs -/globals -/handlebars -/har-schema -/har-validator -/hard-rejection -/has-bigints -/has-property-descriptors -/has-symbols -/has-tostringtag -/hasha -/hast-to-hyperscript -/hast-util-from-parse5 -/hast-util-parse-selector -/hast-util-raw -/hast-util-to-parse5 -/hastscript -/he -/html-encoding-sniffer -/html-escaper -/html-void-elements -/http-signature -/human-signals -/ieee754 -/ignore -/import-fresh -/inline-style-parser -/internal-slot -/is-alphabetical -/is-alphanumerical -/is-arrayish -/is-bigint -/is-binary-path -/is-boolean-object -/is-buffer -/is-callable -/is-date-object -/is-decimal -/is-extglob -/is-glob -/is-hexadecimal -/is-negative-zero -/is-number -/is-number-object -/is-obj -/is-plain-obj -/is-plain-object -/is-potential-custom-element-name -/is-regex -/is-shared-array-buffer -/is-stream -/is-string -/is-symbol -/is-text-path -/is-typedarray -/is-weakref -/is-whitespace-character -/is-windows -/is-word-character -/isarray -/isstream -/istanbul-lib-coverage -/istanbul-lib-hook -/istanbul-lib-instrument -/istanbul-lib-processinfo -/istanbul-lib-report -/istanbul-lib-source-maps -/istanbul-reports -/jackspeak -/js-tokens -/js-yaml -/jsbn -/jsdom -/jsesc -/json-parse-errback -/json-schema -/json-schema-traverse -/json-stable-stringify-without-jsonify -/json-stringify-safe -/json5 -/jsonfile -/jsonpath -/JSONStream -/jsprim -/just-deep-map-values -/kind-of -/lcov-parse -/levn -/libtap -/licensee -/lines-and-columns -/load-json-file -/locate-path -/lodash -/lodash.clonedeep -/lodash.flattendeep -/lodash.ismatch -/lodash.merge -/lodash.uniq -/log-driver -/make-dir -/make-error -/map-obj -/markdown-escapes -/marked -/marked-man -/mdast-squeeze-paragraphs -/mdast-util-definitions -/mdast-util-to-hast -/mdurl -/meow -/merge-stream -/mime-db -/mime-types -/mimic-fn -/mimic-response -/min-indent -/minify-registry-metadata -/minimist -/minimist-options -/mkdirp-classic -/modify-values -/napi-build-utils -/natural-compare -/neo-async -/nock -/node-abi -/node-addon-api -/node-fetch -/node-html-parser -/node-modules-regexp -/node-preload -/normalize-path -/npm-license-corrections -/npm-run-path -/nth-check -/null-check -/number-is-nan -/nwsapi -/nyc -/oauth-sign -/object-assign -/object-inspect -/object-keys -/object.assign -/object.getownpropertydescriptors -/object.values -/onetime -/optionator -/own-or -/own-or-env -/p-finally -/p-limit -/p-locate -/p-queue -/p-timeout -/p-try -/package-hash -/parent-module -/parse-diff -/parse-entities -/parse-github-repo-url -/parse-json -/parse5 -/path-exists -/path-key -/path-parse -/path-type -/performance-now -/picomatch -/pify -/pirates -/platform -/prebuild-install -/prelude-ls -/process-nextick-args -/process-on-spawn -/propagate -/property-information -/psl -/pump -/punycode -/q -/qs -/queue-microtask -/quick-lru -/rc -/read-package-tree -/read-pkg -/read-pkg-up -/readdirp -/redent -/regexp.prototype.flags -/regexpp -/release-please -/release-zalgo -/remark-footnotes -/remark-mdx -/remark-parse -/remark-squeeze-paragraphs -/repeat-string -/request -/require-directory -/require-from-string -/require-inject -/require-main-filename -/resolve -/resolve-from -/resolve-global -/run-parallel -/saxes -/shebang-command -/shebang-regex -/side-channel -/simple-concat -/simple-get -/slash -/smoke-tests -/sort-keys -/source-map -/source-map-support -/space-separated-tokens -/spawk -/spawn-wrap -/spdx-compare -/spdx-expression-validate -/spdx-osi -/spdx-ranges -/spdx-whitelisted -/split -/split2 -/sprintf-js -/sshpk -/stack-utils -/state-toggle -/static-eval -/string.prototype.trimend -/string.prototype.trimstart -/strip-bom -/strip-final-newline -/strip-indent -/strip-json-comments -/strong-log-transformer -/style-to-object -/supports-preserve-symlinks-flag -/symbol-tree -/tap -/tap-mocha-reporter -/tap-parser -/tap-yaml -/tar-fs -/tar-stream -/tcompare -/test-exclude -/text-extensions -/through -/through2 -/to-fast-properties -/to-regex-range -/tough-cookie -/tr46 -/trim -/trim-newlines -/trim-trailing-lines -/trivial-deferred -/trough -/ts-node -/tsconfig-paths -/tunnel -/tunnel-agent -/tweetnacl -/type-check -/type-fest -/typescript -/uglify-js -/unbox-primitive -/underscore -/unherit -/unicode-length -/unified -/unist-builder -/unist-util-generated -/unist-util-is -/unist-util-position -/unist-util-remove -/unist-util-remove-position -/unist-util-stringify-position -/unist-util-visit -/unist-util-visit-parents -/universal-user-agent -/universalify -/uri-js -/util-promisify -/uuid -/v8-compile-cache -/v8-compile-cache-lib -/verror -/vfile -/vfile-location -/vfile-message -/vlq -/w3c-hr-time -/w3c-xmlserializer -/web-namespaces -/webidl-conversions -/whatwg-encoding -/whatwg-mimetype -/whatwg-url -/which-boxed-primitive -/which-module -/word-wrap -/wordwrap -/wrap-ansi -/write-json-file -/write-pkg -/ws -/xml-name-validator -/xmlchars -/xpath -/xtend -/y18n -/yaml -/yargs -/yargs-parser -/yn -/yocto-queue -/zwitch diff --git a/node_modules/aggregate-error/readme.md b/node_modules/aggregate-error/readme.md deleted file mode 100644 index 850de98a8e8f4..0000000000000 --- a/node_modules/aggregate-error/readme.md +++ /dev/null @@ -1,61 +0,0 @@ -# aggregate-error [![Build Status](https://travis-ci.org/sindresorhus/aggregate-error.svg?branch=master)](https://travis-ci.org/sindresorhus/aggregate-error) - -> Create an error from multiple errors - - -## Install - -``` -$ npm install aggregate-error -``` - - -## Usage - -```js -const AggregateError = require('aggregate-error'); - -const error = new AggregateError([new Error('foo'), 'bar', {message: 'baz'}]); - -throw error; -/* -AggregateError: - Error: foo - at Object. (/Users/sindresorhus/dev/aggregate-error/example.js:3:33) - Error: bar - at Object. (/Users/sindresorhus/dev/aggregate-error/example.js:3:13) - Error: baz - at Object. (/Users/sindresorhus/dev/aggregate-error/example.js:3:13) - at AggregateError (/Users/sindresorhus/dev/aggregate-error/index.js:19:3) - at Object. (/Users/sindresorhus/dev/aggregate-error/example.js:3:13) - at Module._compile (module.js:556:32) - at Object.Module._extensions..js (module.js:565:10) - at Module.load (module.js:473:32) - at tryModuleLoad (module.js:432:12) - at Function.Module._load (module.js:424:3) - at Module.runMain (module.js:590:10) - at run (bootstrap_node.js:394:7) - at startup (bootstrap_node.js:149:9) -*/ - -for (const individualError of error) { - console.log(individualError); -} -//=> [Error: foo] -//=> [Error: bar] -//=> [Error: baz] -``` - - -## API - -### AggregateError(errors) - -Returns an `Error` that is also an [`Iterable`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Iterators_and_Generators#Iterables) for the individual errors. - -#### errors - -Type: `Array` - -If a string, a new `Error` is created with the string as the error message.
-If a non-Error object, a new `Error` is created with all properties from the object copied over. diff --git a/node_modules/ansi-regex/readme.md b/node_modules/ansi-regex/readme.md deleted file mode 100644 index 4d848bc36f6b8..0000000000000 --- a/node_modules/ansi-regex/readme.md +++ /dev/null @@ -1,78 +0,0 @@ -# ansi-regex - -> Regular expression for matching [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code) - - -## Install - -``` -$ npm install ansi-regex -``` - - -## Usage - -```js -const ansiRegex = require('ansi-regex'); - -ansiRegex().test('\u001B[4mcake\u001B[0m'); -//=> true - -ansiRegex().test('cake'); -//=> false - -'\u001B[4mcake\u001B[0m'.match(ansiRegex()); -//=> ['\u001B[4m', '\u001B[0m'] - -'\u001B[4mcake\u001B[0m'.match(ansiRegex({onlyFirst: true})); -//=> ['\u001B[4m'] - -'\u001B]8;;https://github.com\u0007click\u001B]8;;\u0007'.match(ansiRegex()); -//=> ['\u001B]8;;https://github.com\u0007', '\u001B]8;;\u0007'] -``` - - -## API - -### ansiRegex(options?) - -Returns a regex for matching ANSI escape codes. - -#### options - -Type: `object` - -##### onlyFirst - -Type: `boolean`
-Default: `false` *(Matches any ANSI escape codes in a string)* - -Match only the first ANSI escape. - - -## FAQ - -### Why do you test for codes not in the ECMA 48 standard? - -Some of the codes we run as a test are codes that we acquired finding various lists of non-standard or manufacturer specific codes. We test for both standard and non-standard codes, as most of them follow the same or similar format and can be safely matched in strings without the risk of removing actual string content. There are a few non-standard control codes that do not follow the traditional format (i.e. they end in numbers) thus forcing us to exclude them from the test because we cannot reliably match them. - -On the historical side, those ECMA standards were established in the early 90's whereas the VT100, for example, was designed in the mid/late 70's. At that point in time, control codes were still pretty ungoverned and engineers used them for a multitude of things, namely to activate hardware ports that may have been proprietary. Somewhere else you see a similar 'anarchy' of codes is in the x86 architecture for processors; there are a ton of "interrupts" that can mean different things on certain brands of processors, most of which have been phased out. - - -## Maintainers - -- [Sindre Sorhus](https://github.com/sindresorhus) -- [Josh Junon](https://github.com/qix-) - - ---- - -
- - Get professional support for this package with a Tidelift subscription - -
- - Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies. -
-
diff --git a/node_modules/ansi-styles/readme.md b/node_modules/ansi-styles/readme.md deleted file mode 100644 index 24883de808be6..0000000000000 --- a/node_modules/ansi-styles/readme.md +++ /dev/null @@ -1,152 +0,0 @@ -# ansi-styles [![Build Status](https://travis-ci.org/chalk/ansi-styles.svg?branch=master)](https://travis-ci.org/chalk/ansi-styles) - -> [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors_and_Styles) for styling strings in the terminal - -You probably want the higher-level [chalk](https://github.com/chalk/chalk) module for styling your strings. - - - -## Install - -``` -$ npm install ansi-styles -``` - -## Usage - -```js -const style = require('ansi-styles'); - -console.log(`${style.green.open}Hello world!${style.green.close}`); - - -// Color conversion between 16/256/truecolor -// NOTE: If conversion goes to 16 colors or 256 colors, the original color -// may be degraded to fit that color palette. This means terminals -// that do not support 16 million colors will best-match the -// original color. -console.log(style.bgColor.ansi.hsl(120, 80, 72) + 'Hello world!' + style.bgColor.close); -console.log(style.color.ansi256.rgb(199, 20, 250) + 'Hello world!' + style.color.close); -console.log(style.color.ansi16m.hex('#abcdef') + 'Hello world!' + style.color.close); -``` - -## API - -Each style has an `open` and `close` property. - -## Styles - -### Modifiers - -- `reset` -- `bold` -- `dim` -- `italic` *(Not widely supported)* -- `underline` -- `inverse` -- `hidden` -- `strikethrough` *(Not widely supported)* - -### Colors - -- `black` -- `red` -- `green` -- `yellow` -- `blue` -- `magenta` -- `cyan` -- `white` -- `blackBright` (alias: `gray`, `grey`) -- `redBright` -- `greenBright` -- `yellowBright` -- `blueBright` -- `magentaBright` -- `cyanBright` -- `whiteBright` - -### Background colors - -- `bgBlack` -- `bgRed` -- `bgGreen` -- `bgYellow` -- `bgBlue` -- `bgMagenta` -- `bgCyan` -- `bgWhite` -- `bgBlackBright` (alias: `bgGray`, `bgGrey`) -- `bgRedBright` -- `bgGreenBright` -- `bgYellowBright` -- `bgBlueBright` -- `bgMagentaBright` -- `bgCyanBright` -- `bgWhiteBright` - -## Advanced usage - -By default, you get a map of styles, but the styles are also available as groups. They are non-enumerable so they don't show up unless you access them explicitly. This makes it easier to expose only a subset in a higher-level module. - -- `style.modifier` -- `style.color` -- `style.bgColor` - -###### Example - -```js -console.log(style.color.green.open); -``` - -Raw escape codes (i.e. without the CSI escape prefix `\u001B[` and render mode postfix `m`) are available under `style.codes`, which returns a `Map` with the open codes as keys and close codes as values. - -###### Example - -```js -console.log(style.codes.get(36)); -//=> 39 -``` - -## [256 / 16 million (TrueColor) support](https://gist.github.com/XVilka/8346728) - -`ansi-styles` uses the [`color-convert`](https://github.com/Qix-/color-convert) package to allow for converting between various colors and ANSI escapes, with support for 256 and 16 million colors. - -The following color spaces from `color-convert` are supported: - -- `rgb` -- `hex` -- `keyword` -- `hsl` -- `hsv` -- `hwb` -- `ansi` -- `ansi256` - -To use these, call the associated conversion function with the intended output, for example: - -```js -style.color.ansi.rgb(100, 200, 15); // RGB to 16 color ansi foreground code -style.bgColor.ansi.rgb(100, 200, 15); // RGB to 16 color ansi background code - -style.color.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code -style.bgColor.ansi256.hsl(120, 100, 60); // HSL to 256 color ansi foreground code - -style.color.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color foreground code -style.bgColor.ansi16m.hex('#C0FFEE'); // Hex (RGB) to 16 million color background code -``` - -## Related - -- [ansi-escapes](https://github.com/sindresorhus/ansi-escapes) - ANSI escape codes for manipulating the terminal - -## Maintainers - -- [Sindre Sorhus](https://github.com/sindresorhus) -- [Josh Junon](https://github.com/qix-) - -## For enterprise - -Available as part of the Tidelift Subscription. - -The maintainers of `ansi-styles` and thousands of other packages are working with Tidelift to deliver commercial support and maintenance for the open source dependencies you use to build your applications. Save time, reduce risk, and improve code health, while paying the maintainers of the exact dependencies you use. [Learn more.](https://tidelift.com/subscription/pkg/npm-ansi-styles?utm_source=npm-ansi-styles&utm_medium=referral&utm_campaign=enterprise&utm_term=repo) diff --git a/node_modules/binary-extensions/readme.md b/node_modules/binary-extensions/readme.md deleted file mode 100644 index 3e25dd835e08b..0000000000000 --- a/node_modules/binary-extensions/readme.md +++ /dev/null @@ -1,41 +0,0 @@ -# binary-extensions - -> List of binary file extensions - -The list is just a [JSON file](binary-extensions.json) and can be used anywhere. - - -## Install - -``` -$ npm install binary-extensions -``` - - -## Usage - -```js -const binaryExtensions = require('binary-extensions'); - -console.log(binaryExtensions); -//=> ['3ds', '3g2', …] -``` - - -## Related - -- [is-binary-path](https://github.com/sindresorhus/is-binary-path) - Check if a filepath is a binary file -- [text-extensions](https://github.com/sindresorhus/text-extensions) - List of text file extensions - - ---- - -
- - Get professional support for this package with a Tidelift subscription - -
- - Tidelift helps make open source sustainable for maintainers while giving companies
assurances about security, maintenance, and licensing for their dependencies. -
-
diff --git a/node_modules/builtins/Readme.md b/node_modules/builtins/Readme.md deleted file mode 100644 index b1c0007d6f5e4..0000000000000 --- a/node_modules/builtins/Readme.md +++ /dev/null @@ -1,39 +0,0 @@ -# builtins - -[![CI](https://github.com/juliangruber/builtins/actions/workflows/ci.yml/badge.svg)](https://github.com/juliangruber/builtins/actions/workflows/ci.yml) - -List of node.js [builtin modules](http://nodejs.org/api/). - -## Usage - -```js -const builtins = require('builtins') -``` - -Get list of core modules for current Node.js version: - -```js -assert(builtins().includes('http')) -``` - -Get list of core modules for specific Node.js version: - -```js -assert(builtins({ version: '6.0.0' }).includes('http')) -``` - -Get list of core modules present in one or mode Node.js versions: - -```js -assert(builtins({ version: '*' }).includes('worker_threads')) -``` - -Add experimental modules to the list: - -```js -assert(builtins({ experimental: true }).includes('wasi')) -``` - -## License - -MIT diff --git a/node_modules/chalk/readme.md b/node_modules/chalk/readme.md deleted file mode 100644 index a055d21c97ed7..0000000000000 --- a/node_modules/chalk/readme.md +++ /dev/null @@ -1,341 +0,0 @@ -

-
-
- Chalk -
-
-
-

- -> Terminal string styling done right - -[![Build Status](https://travis-ci.org/chalk/chalk.svg?branch=master)](https://travis-ci.org/chalk/chalk) [![Coverage Status](https://coveralls.io/repos/github/chalk/chalk/badge.svg?branch=master)](https://coveralls.io/github/chalk/chalk?branch=master) [![npm dependents](https://badgen.net/npm/dependents/chalk)](https://www.npmjs.com/package/chalk?activeTab=dependents) [![Downloads](https://badgen.net/npm/dt/chalk)](https://www.npmjs.com/package/chalk) [![](https://img.shields.io/badge/unicorn-approved-ff69b4.svg)](https://www.youtube.com/watch?v=9auOCbH5Ns4) [![XO code style](https://img.shields.io/badge/code_style-XO-5ed9c7.svg)](https://github.com/xojs/xo) ![TypeScript-ready](https://img.shields.io/npm/types/chalk.svg) [![run on repl.it](https://repl.it/badge/github/chalk/chalk)](https://repl.it/github/chalk/chalk) - - - -
- ---- - - - ---- - -
- -## Highlights - -- Expressive API -- Highly performant -- Ability to nest styles -- [256/Truecolor color support](#256-and-truecolor-color-support) -- Auto-detects color support -- Doesn't extend `String.prototype` -- Clean and focused -- Actively maintained -- [Used by ~50,000 packages](https://www.npmjs.com/browse/depended/chalk) as of January 1, 2020 - -## Install - -```console -$ npm install chalk -``` - -## Usage - -```js -const chalk = require('chalk'); - -console.log(chalk.blue('Hello world!')); -``` - -Chalk comes with an easy to use composable API where you just chain and nest the styles you want. - -```js -const chalk = require('chalk'); -const log = console.log; - -// Combine styled and normal strings -log(chalk.blue('Hello') + ' World' + chalk.red('!')); - -// Compose multiple styles using the chainable API -log(chalk.blue.bgRed.bold('Hello world!')); - -// Pass in multiple arguments -log(chalk.blue('Hello', 'World!', 'Foo', 'bar', 'biz', 'baz')); - -// Nest styles -log(chalk.red('Hello', chalk.underline.bgBlue('world') + '!')); - -// Nest styles of the same type even (color, underline, background) -log(chalk.green( - 'I am a green line ' + - chalk.blue.underline.bold('with a blue substring') + - ' that becomes green again!' -)); - -// ES2015 template literal -log(` -CPU: ${chalk.red('90%')} -RAM: ${chalk.green('40%')} -DISK: ${chalk.yellow('70%')} -`); - -// ES2015 tagged template literal -log(chalk` -CPU: {red ${cpu.totalPercent}%} -RAM: {green ${ram.used / ram.total * 100}%} -DISK: {rgb(255,131,0) ${disk.used / disk.total * 100}%} -`); - -// Use RGB colors in terminal emulators that support it. -log(chalk.keyword('orange')('Yay for orange colored text!')); -log(chalk.rgb(123, 45, 67).underline('Underlined reddish color')); -log(chalk.hex('#DEADED').bold('Bold gray!')); -``` - -Easily define your own themes: - -```js -const chalk = require('chalk'); - -const error = chalk.bold.red; -const warning = chalk.keyword('orange'); - -console.log(error('Error!')); -console.log(warning('Warning!')); -``` - -Take advantage of console.log [string substitution](https://nodejs.org/docs/latest/api/console.html#console_console_log_data_args): - -```js -const name = 'Sindre'; -console.log(chalk.green('Hello %s'), name); -//=> 'Hello Sindre' -``` - -## API - -### chalk.`