diff --git a/.cspell.json b/.cspell.json index 73006b14fd39..8a6d8b54cc41 100644 --- a/.cspell.json +++ b/.cspell.json @@ -79,6 +79,7 @@ "destructures", "discoverability", "dprint", + "dummypkg", "errored", "erroring", "ESLint", diff --git a/.github/actions/breaking-pr-check/action.yml b/.github/actions/breaking-pr-check/action.yml index f54443a4f433..7e158a90869d 100644 --- a/.github/actions/breaking-pr-check/action.yml +++ b/.github/actions/breaking-pr-check/action.yml @@ -2,5 +2,8 @@ name: Validate Breaking Change PR description: Validate breaking change PR title and description runs: - using: node20 - main: index.js + using: 'composite' + steps: + - shell: bash + run: yarn breaking-pr-check-action + working-directory: packages/repo-tools diff --git a/.github/actions/wait-for-netlify/action.yml b/.github/actions/wait-for-netlify/action.yml deleted file mode 100644 index 15111ea9c4d3..000000000000 --- a/.github/actions/wait-for-netlify/action.yml +++ /dev/null @@ -1,15 +0,0 @@ -name: Wait for the Netlify deployment for the current commit to be ready -description: Wait for the Netlify deployment for the current commit to be ready - -inputs: - netlify_token: - description: The value of secrets.NETLIFY_TOKEN - required: true - max_timeout: - description: The maximum length of time to keep retrying the Netlify api - retry_interval: - description: How long to wait between retries of the Netlify api - -runs: - using: node20 - main: index.js diff --git a/.github/actions/wait-for-netlify/index.js b/.github/actions/wait-for-netlify/index.js deleted file mode 100644 index f96f6bac7d0a..000000000000 --- a/.github/actions/wait-for-netlify/index.js +++ /dev/null @@ -1,108 +0,0 @@ -const core = require('@actions/core'); -const github = require('@actions/github'); - -const NETLIFY_SITE_ID = '128d21c7-b2fe-45ad-b141-9878fcf5de3a'; // https://app.netlify.com/sites/typescript-eslint/overview -const NETLIFY_TOKEN = core.getInput('netlify_token', { required: true }); -const MAX_TIMEOUT = core.getInput('max_timeout') || 300000; // 5 minutes -const RETRY_INTERVAL = core.getInput('retry_interval') || 5000; // 5 seconds - -const COMMIT_SHA = - github.context.eventName === 'pull_request' - ? github.context.payload.pull_request.head.sha - : github.context.sha; -const BRANCH = - github.context.eventName === 'pull_request' - ? github.context.payload.pull_request.head.ref - : github.context.ref_name; - -if (!COMMIT_SHA || !BRANCH) { - core.setFailed( - `Could not determine the full commit SHA and branch from the GitHub context: ${JSON.stringify( - github.context, - null, - 2, - )}`, - ); -} - -async function run() { - const { NetlifyAPI } = await import('netlify'); // ESM only, cannot be used with `require` - const client = new NetlifyAPI(NETLIFY_TOKEN); - - async function getReadyDeploymentForCommitRef() { - console.log( - `Checking if deployment for commit "${COMMIT_SHA}" on branch "${BRANCH}" has state "ready"...`, - ); - const deployments = await client.listSiteDeploys({ - site_id: NETLIFY_SITE_ID, - branch: BRANCH, - }); - console.log( - `Found ${deployments.length} deployments for this branch "${BRANCH}"`, - ); - const deploymentForCommit = deployments.find( - deployment => deployment.commit_ref === COMMIT_SHA, - ); - if (!deploymentForCommit) { - console.log( - `No deployment found yet for commit "${COMMIT_SHA}" on branch "${BRANCH}"`, - ); - return null; - } - if (deploymentForCommit.state !== 'ready') { - console.log( - `Resolve deployment for commit "${COMMIT_SHA}" on branch "${BRANCH}", but it is not ready yet. State: ${deploymentForCommit.state}`, - ); - return null; - } - return deploymentForCommit; - } - - async function waitUntilReadyDeployment() { - const maxTimeout = new Promise((_, reject) => { - const id = setTimeout(() => { - clearTimeout(id); - reject( - new Error( - `Error: Timed out in ${MAX_TIMEOUT}ms, based on the configured MAX_TIMEOUT.`, - ), - ); - }, MAX_TIMEOUT); - }); - - const isReady = new Promise(async (resolve, reject) => { - const checkReady = async () => { - try { - const readyDeployment = await getReadyDeploymentForCommitRef(); - if (readyDeployment) { - return resolve({ readyDeployment }); - } - console.log( - `Deployment is not ready yet. Retrying in ${RETRY_INTERVAL}ms based on the configured RETRY_INTERVAL...`, - ); - setTimeout(checkReady, RETRY_INTERVAL); - } catch (err) { - return reject(err); - } - }; - checkReady(); - }); - - return Promise.race([isReady, maxTimeout]); - } - - waitUntilReadyDeployment() - .then(({ readyDeployment }) => { - console.log( - `Resolved "ready" deployment with ID: ${readyDeployment.id}, URL: ${readyDeployment.deploy_ssl_url}`, - ); - core.setOutput('deploy_id', readyDeployment.id); - core.setOutput('url', readyDeployment.deploy_ssl_url); - process.exit(0); - }) - .catch(error => { - core.setFailed(error.message); - }); -} - -run(); diff --git a/eslint.config.mjs b/eslint.config.mjs index 3e71ec470c9d..a97c3456d422 100644 --- a/eslint.config.mjs +++ b/eslint.config.mjs @@ -53,6 +53,8 @@ export default tseslint.config( '**/__snapshots__/**', '**/.docusaurus/**', '**/build/**', + '.nx/cache', + '.yarn/*', // Files copied as part of the build 'packages/types/src/generated/**/*.ts', // Playground types downloaded from the web diff --git a/knip.ts b/knip.ts index 1ea468f97299..83179d3486dd 100644 --- a/knip.ts +++ b/knip.ts @@ -1,4 +1,4 @@ -import type { KnipConfig } from 'knip'; +import type { KnipConfig } from 'knip' with { 'resolution-mode': 'import' }; export default { rules: { @@ -31,9 +31,10 @@ export default { // imported in eslint.config.js '@typescript-eslint/utils', ], - entry: ['tools/release/changelog-renderer.js'], + entry: ['packages/repo-tools/src/release/changelog-renderer.js'], ignoreBinaries: [ // https://github.com/webpro/knip/issues/433 + 'breaking-pr-check-action', 'stylelint', ], }, @@ -58,6 +59,7 @@ export default { 'packages/parser': { ignore: ['tests/fixtures/**'], }, + 'packages/repo-tools/src/dummypkg': {}, 'packages/scope-manager': { ignore: ['tests/fixtures/**'], }, @@ -120,6 +122,5 @@ export default { 'src/mock/util.js', ], }, - 'tools/dummypkg': {}, }, } satisfies KnipConfig; diff --git a/nx.json b/nx.json index 3715d93d966b..930b55a2c987 100644 --- a/nx.json +++ b/nx.json @@ -6,10 +6,10 @@ "changelog": { "workspaceChangelog": { "createRelease": "github", - "renderer": "{workspaceRoot}/tools/release/changelog-renderer" + "renderer": "{workspaceRoot}/packages/repo-tools/src/release/changelog-renderer" }, "projectChangelogs": { - "renderer": "{workspaceRoot}/tools/release/changelog-renderer" + "renderer": "{workspaceRoot}/packages/repo-tools/src/release/changelog-renderer" } }, "version": { diff --git a/package.json b/package.json index 549a187742f0..d24309e59d67 100644 --- a/package.json +++ b/package.json @@ -40,21 +40,19 @@ "lint-markdown-fix": "yarn lint-markdown --fix", "lint-markdown": "markdownlint \"**/*.md\" --config=.markdownlint.json --ignore-path=.markdownlintignore", "lint-stylelint": "npx nx lint website stylelint", - "lint": "npx nx lint eslint-plugin --skip-nx-cache && npx nx run-many --target=lint --parallel --exclude eslint-plugin", + "lint": "npx nx lint eslint-plugin --skip-nx-cache && npx nx run-many --target=lint --parallel --exclude eslint-plugin && eslint . --ignore-pattern=packages --cache", "postinstall": "npx nx run repo-tools:postinstall-script", "pre-commit": "yarn lint-staged", - "release": "tsx tools/release/release.mts", + "release": "tsx packages/repo-tools/src/release/release.mts", "start": "npx nx run website:start", "test": "npx nx run-many --target=test --parallel --exclude integration-tests --exclude website --exclude website-eslint", "test-integration": "npx nx run integration-tests:test", - "typecheck": "npx nx run-many --target=typecheck --parallel" + "typecheck": "npx nx run-many --target=typecheck --parallel && tsc" }, "engines": { "node": "^18.18.0 || >=20.0.0" }, "devDependencies": { - "@actions/core": "^1.10.1", - "@actions/github": "^6.0.0", "@babel/code-frame": "^7.24.2", "@babel/core": "^7.24.4", "@babel/eslint-parser": "^7.24.1", @@ -79,7 +77,6 @@ "@types/node": "^20.12.5", "@types/semver": "^7.5.8", "@types/tmp": "^0.2.6", - "@types/yargs": "^17.0.32", "@typescript-eslint/eslint-plugin-internal": "workspace:^", "console-fail-test": "^0.2.3", "cross-fetch": "^4.0.0", @@ -97,7 +94,6 @@ "eslint-plugin-react-hooks": "^4.6.0", "eslint-plugin-simple-import-sort": "^10.0.0", "eslint-plugin-unicorn": "^50.0.1", - "execa": "7.2.0", "glob": "^10.3.12", "globals": "^15.0.0", "husky": "^9.0.0", @@ -108,7 +104,6 @@ "make-dir": "^4.0.0", "markdownlint-cli": "^0.41.0", "ncp": "^2.0.0", - "netlify": "^13.1.14", "nx": "19.4.0", "prettier": "3.3.2", "pretty-format": "^29.7.0", @@ -116,17 +111,16 @@ "tmp": "^0.2.1", "tsx": "*", "typescript": ">=4.7.4 <5.6.0", - "typescript-eslint": "workspace:^", - "yargs": "17.7.2" + "typescript-eslint": "workspace:^" }, "resolutions": { "@jest/create-cache-key-function": "^29", "@jest/reporters": "^29", "@jest/test-result": "^29", "@microsoft/api-extractor@^7.38.0": "patch:@microsoft/api-extractor@npm%3A7.38.0#./.yarn/patches/@microsoft-api-extractor-npm-7.38.0-955f1e0725.patch", - "@types/eslint-scope": "link:./tools/dummypkg", - "@types/eslint": "link:./tools/dummypkg", - "@types/estree": "link:./tools/dummypkg", + "@types/eslint-scope": "link:./packages/repo-tools/src/dummypkg", + "@types/eslint": "link:./packages/repo-tools/src/dummypkg", + "@types/estree": "link:./packages/repo-tools/src/dummypkg", "@types/node": "^20.0.0", "@types/react": "^18.2.14", "eslint": "8.57.0", diff --git a/packages/repo-tools/package.json b/packages/repo-tools/package.json index 17ee7c7bf439..cf25c3a0f2c4 100644 --- a/packages/repo-tools/package.json +++ b/packages/repo-tools/package.json @@ -5,6 +5,7 @@ "//": "NOTE: intentionally no build step in this package", "scripts": { "apply-canary-version": "npx tsx ./src/apply-canary-version.mts", + "breaking-pr-check-action": "npx tsx ./src/breaking-pr-check-action.mts", "format": "npx prettier --write \"./**/*.{ts,mts,cts,tsx,js,mjs,cjs,jsx,json,md,css}\" --ignore-path ../../.prettierignore", "generate-configs": "npx tsx ./src/generate-configs.mts", "generate-contributors": "npx tsx ./src/generate-contributors.mts", @@ -16,8 +17,11 @@ "typecheck": "npx tsc --noEmit" }, "devDependencies": { + "@actions/core": "^1.10.1", + "@actions/github": "^6.0.0", "@jest/types": "29.6.3", "@nx/devkit": "*", + "@types/yargs": "^17.0.32", "@typescript-eslint/eslint-plugin": "7.15.0", "@typescript-eslint/scope-manager": "7.15.0", "@typescript-eslint/types": "7.15.0", @@ -25,9 +29,11 @@ "@typescript-eslint/utils": "7.15.0", "cross-fetch": "*", "execa": "*", + "nx": "19.4.0", "prettier": "^3.2.5", "rimraf": "*", "semver": "7.6.2", - "typescript": "*" + "typescript": "*", + "yargs": "^17.7.2" } } diff --git a/.github/actions/breaking-pr-check/index.js b/packages/repo-tools/src/breaking-pr-check-action.mts similarity index 55% rename from .github/actions/breaking-pr-check/index.js rename to packages/repo-tools/src/breaking-pr-check-action.mts index f8e590c2f192..510276744ec2 100644 --- a/.github/actions/breaking-pr-check/index.js +++ b/packages/repo-tools/src/breaking-pr-check-action.mts @@ -1,12 +1,13 @@ -const core = require('@actions/core'); -const github = require('@actions/github'); +import core from '@actions/core'; +import github from '@actions/github'; -function raiseError(message) { +function raiseError(message: string): never { throw new Error(message); } -async function getPullRequest() { - const client = github.getOctokit(process.env.GITHUB_TOKEN); +async function getPullRequest(): Promise { + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion + const client = github.getOctokit(process.env.GITHUB_TOKEN!); const pr = github.context.payload.pull_request; if (!pr) { @@ -15,8 +16,9 @@ async function getPullRequest() { ); } - const owner = pr.base.user.login; - const repo = pr.base.repo.name; + const base = pr.base as { user: { login: string }; repo: { name: string } }; + const owner = base.user.login; + const repo = base.repo.name; const { data } = await client.rest.pulls.get({ owner, @@ -27,7 +29,7 @@ async function getPullRequest() { return data; } -function checkTitle(title) { +function checkTitle(title: string): void { if (/^[a-z]+(\([a-z-]+\))?!: /.test(title)) { raiseError( `Do not use exclamation mark ('!') to indicate breaking change in the PR Title.`, @@ -35,13 +37,16 @@ function checkTitle(title) { } } -function checkDescription(body, labels) { +function checkDescription( + body: string, + labels: (typeof pullRequest)['labels'], +): void { if (!labels.some(label => label.name === 'breaking change')) { return; } const [firstLine, secondLine] = body.split(/\r?\n/); - if (!firstLine || !/^BREAKING CHANGE:/.test(firstLine)) { + if (!firstLine.startsWith('BREAKING CHANGE:')) { raiseError( `Breaking change PR body should start with "BREAKING CHANGE:". See https://typescript-eslint.io/maintenance/releases#2-merging-breaking-changes.`, ); @@ -53,14 +58,10 @@ function checkDescription(body, labels) { } } -async function run() { - const pullRequest = await getPullRequest(); - try { - checkTitle(pullRequest.title); - checkDescription(pullRequest.body, pullRequest.labels); - } catch (e) { - core.setFailed(e.message); - } +const pullRequest = await getPullRequest(); +try { + checkTitle(pullRequest.title); + checkDescription(pullRequest.body ?? '', pullRequest.labels); +} catch (e) { + core.setFailed((e as Error).message); } - -run(); diff --git a/tools/dummypkg/README.md b/packages/repo-tools/src/dummypkg/README.md similarity index 100% rename from tools/dummypkg/README.md rename to packages/repo-tools/src/dummypkg/README.md diff --git a/tools/dummypkg/index.d.ts b/packages/repo-tools/src/dummypkg/index.d.ts similarity index 100% rename from tools/dummypkg/index.d.ts rename to packages/repo-tools/src/dummypkg/index.d.ts diff --git a/tools/dummypkg/index.js b/packages/repo-tools/src/dummypkg/index.js similarity index 100% rename from tools/dummypkg/index.js rename to packages/repo-tools/src/dummypkg/index.js diff --git a/tools/dummypkg/package.json b/packages/repo-tools/src/dummypkg/package.json similarity index 100% rename from tools/dummypkg/package.json rename to packages/repo-tools/src/dummypkg/package.json diff --git a/tools/release/changelog-renderer.js b/packages/repo-tools/src/release/changelog-renderer.js similarity index 100% rename from tools/release/changelog-renderer.js rename to packages/repo-tools/src/release/changelog-renderer.js diff --git a/tools/release/release.mts b/packages/repo-tools/src/release/release.mts similarity index 97% rename from tools/release/release.mts rename to packages/repo-tools/src/release/release.mts index 9ecdd34fd856..b70d8b8269f7 100644 --- a/tools/release/release.mts +++ b/packages/repo-tools/src/release/release.mts @@ -60,5 +60,6 @@ if (workspaceVersion === null) { dryRun: options.dryRun, verbose: options.verbose, }); + // eslint-disable-next-line no-process-exit process.exit(publishStatus); } diff --git a/tsconfig.json b/tsconfig.json index cea4b651f67e..95169a092c73 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -13,6 +13,7 @@ "eslint.config.mjs", "jest.config.base.js", "jest.config.js", - "jest.preset.js" + "jest.preset.js", + "knip.ts" ] } diff --git a/yarn.lock b/yarn.lock index 00e277cdab91..68a6cb6d928f 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3857,13 +3857,6 @@ __metadata: languageName: node linkType: hard -"@netlify/open-api@npm:^2.33.0": - version: 2.33.1 - resolution: "@netlify/open-api@npm:2.33.1" - checksum: c34345f832aa5e567d5fe8c3205d36453e0243dadbec21be2b789a6a8c0413c7ec60cd5c2fa1b1c15b0d66efbbf573f59d544e7b4003329b653e9ebb10fcf1e0 - languageName: node - linkType: hard - "@nicolo-ribaudo/eslint-scope-5-internals@npm:5.1.1-v1": version: 5.1.1-v1 resolution: "@nicolo-ribaudo/eslint-scope-5-internals@npm:5.1.1-v1" @@ -5090,9 +5083,9 @@ __metadata: languageName: node linkType: hard -"@types/eslint-scope@link:./tools/dummypkg::locator=%40typescript-eslint%2Ftypescript-eslint%40workspace%3A.": +"@types/eslint-scope@link:./packages/repo-tools/src/dummypkg::locator=%40typescript-eslint%2Ftypescript-eslint%40workspace%3A.": version: 0.0.0-use.local - resolution: "@types/eslint-scope@link:./tools/dummypkg::locator=%40typescript-eslint%2Ftypescript-eslint%40workspace%3A." + resolution: "@types/eslint-scope@link:./packages/repo-tools/src/dummypkg::locator=%40typescript-eslint%2Ftypescript-eslint%40workspace%3A." languageName: node linkType: soft @@ -5114,9 +5107,9 @@ __metadata: languageName: node linkType: hard -"@types/estree@link:./tools/dummypkg::locator=%40typescript-eslint%2Ftypescript-eslint%40workspace%3A.": +"@types/estree@link:./packages/repo-tools/src/dummypkg::locator=%40typescript-eslint%2Ftypescript-eslint%40workspace%3A.": version: 0.0.0-use.local - resolution: "@types/estree@link:./tools/dummypkg::locator=%40typescript-eslint%2Ftypescript-eslint%40workspace%3A." + resolution: "@types/estree@link:./packages/repo-tools/src/dummypkg::locator=%40typescript-eslint%2Ftypescript-eslint%40workspace%3A." languageName: node linkType: soft @@ -5703,8 +5696,11 @@ __metadata: version: 0.0.0-use.local resolution: "@typescript-eslint/repo-tools@workspace:packages/repo-tools" dependencies: + "@actions/core": ^1.10.1 + "@actions/github": ^6.0.0 "@jest/types": 29.6.3 "@nx/devkit": "*" + "@types/yargs": ^17.0.32 "@typescript-eslint/eslint-plugin": 7.15.0 "@typescript-eslint/scope-manager": 7.15.0 "@typescript-eslint/types": 7.15.0 @@ -5712,10 +5708,12 @@ __metadata: "@typescript-eslint/utils": 7.15.0 cross-fetch: "*" execa: "*" + nx: 19.4.0 prettier: ^3.2.5 rimraf: "*" semver: 7.6.2 typescript: "*" + yargs: ^17.7.2 languageName: unknown linkType: soft @@ -5851,8 +5849,6 @@ __metadata: version: 0.0.0-use.local resolution: "@typescript-eslint/typescript-eslint@workspace:." dependencies: - "@actions/core": ^1.10.1 - "@actions/github": ^6.0.0 "@babel/code-frame": ^7.24.2 "@babel/core": ^7.24.4 "@babel/eslint-parser": ^7.24.1 @@ -5877,7 +5873,6 @@ __metadata: "@types/node": ^20.12.5 "@types/semver": ^7.5.8 "@types/tmp": ^0.2.6 - "@types/yargs": ^17.0.32 "@typescript-eslint/eslint-plugin-internal": "workspace:^" console-fail-test: ^0.2.3 cross-fetch: ^4.0.0 @@ -5895,7 +5890,6 @@ __metadata: eslint-plugin-react-hooks: ^4.6.0 eslint-plugin-simple-import-sort: ^10.0.0 eslint-plugin-unicorn: ^50.0.1 - execa: 7.2.0 glob: ^10.3.12 globals: ^15.0.0 husky: ^9.0.0 @@ -5906,7 +5900,6 @@ __metadata: make-dir: ^4.0.0 markdownlint-cli: ^0.41.0 ncp: ^2.0.0 - netlify: ^13.1.14 nx: 19.4.0 prettier: 3.3.2 pretty-format: ^29.7.0 @@ -5915,7 +5908,6 @@ __metadata: tsx: "*" typescript: ">=4.7.4 <5.6.0" typescript-eslint: "workspace:^" - yargs: 17.7.2 languageName: unknown linkType: soft @@ -8729,13 +8721,6 @@ __metadata: languageName: node linkType: hard -"data-uri-to-buffer@npm:^4.0.0": - version: 4.0.1 - resolution: "data-uri-to-buffer@npm:4.0.1" - checksum: 0d0790b67ffec5302f204c2ccca4494f70b4e2d940fea3d36b09f0bb2b8539c2e86690429eb1f1dc4bcc9e4df0644193073e63d9ee48ac9fce79ec1506e4aa4c - languageName: node - linkType: hard - "data-view-buffer@npm:^1.0.1": version: 1.0.1 resolution: "data-view-buffer@npm:1.0.1" @@ -10366,23 +10351,6 @@ __metadata: languageName: node linkType: hard -"execa@npm:7.2.0": - version: 7.2.0 - resolution: "execa@npm:7.2.0" - dependencies: - cross-spawn: ^7.0.3 - get-stream: ^6.0.1 - human-signals: ^4.3.0 - is-stream: ^3.0.0 - merge-stream: ^2.0.0 - npm-run-path: ^5.1.0 - onetime: ^6.0.0 - signal-exit: ^3.0.7 - strip-final-newline: ^3.0.0 - checksum: 14fd17ba0ca8c87b277584d93b1d9fc24f2a65e5152b31d5eb159a3b814854283eaae5f51efa9525e304447e2f757c691877f7adff8fde5746aae67eb1edd1cc - languageName: node - linkType: hard - "execa@npm:^5.0.0": version: 5.1.1 resolution: "execa@npm:5.1.1" @@ -10597,16 +10565,6 @@ __metadata: languageName: node linkType: hard -"fetch-blob@npm:^3.1.2, fetch-blob@npm:^3.1.4": - version: 3.2.0 - resolution: "fetch-blob@npm:3.2.0" - dependencies: - node-domexception: ^1.0.0 - web-streams-polyfill: ^3.0.3 - checksum: f19bc28a2a0b9626e69fd7cf3a05798706db7f6c7548da657cbf5026a570945f5eeaedff52007ea35c8bcd3d237c58a20bf1543bc568ab2422411d762dd3d5bf - languageName: node - linkType: hard - "figures@npm:3.2.0": version: 3.2.0 resolution: "figures@npm:3.2.0" @@ -10890,15 +10848,6 @@ __metadata: languageName: node linkType: hard -"formdata-polyfill@npm:^4.0.10": - version: 4.0.10 - resolution: "formdata-polyfill@npm:4.0.10" - dependencies: - fetch-blob: ^3.1.2 - checksum: 82a34df292afadd82b43d4a740ce387bc08541e0a534358425193017bf9fb3567875dc5f69564984b1da979979b70703aa73dee715a17b6c229752ae736dd9db - languageName: node - linkType: hard - "forwarded@npm:0.2.0": version: 0.2.0 resolution: "forwarded@npm:0.2.0" @@ -11955,13 +11904,6 @@ __metadata: languageName: node linkType: hard -"human-signals@npm:^4.3.0": - version: 4.3.1 - resolution: "human-signals@npm:4.3.1" - checksum: 6f12958df3f21b6fdaf02d90896c271df00636a31e2bbea05bddf817a35c66b38a6fdac5863e2df85bd52f34958997f1f50350ff97249e1dff8452865d5235d1 - languageName: node - linkType: hard - "human-signals@npm:^5.0.0": version: 5.0.0 resolution: "human-signals@npm:5.0.0" @@ -13851,13 +13793,6 @@ __metadata: languageName: node linkType: hard -"lodash-es@npm:^4.17.21": - version: 4.17.21 - resolution: "lodash-es@npm:4.17.21" - checksum: 05cbffad6e2adbb331a4e16fbd826e7faee403a1a04873b82b42c0f22090f280839f85b95393f487c1303c8a3d2a010048bf06151a6cbe03eee4d388fb0a12d2 - languageName: node - linkType: hard - "lodash.curry@npm:^4.1.1": version: 4.1.1 resolution: "lodash.curry@npm:4.1.1" @@ -14517,13 +14452,6 @@ __metadata: languageName: node linkType: hard -"micro-api-client@npm:^3.3.0": - version: 3.3.0 - resolution: "micro-api-client@npm:3.3.0" - checksum: db0ad27df4c58bfb10eb4a6ad14d242d8abbae1bca623db3b23568dae6b146338ecbd62563a41a756b7a75ea155c950ddb5d633859ca728072d1852ed29dd1e2 - languageName: node - linkType: hard - "micromark-core-commonmark@npm:^2.0.0": version: 2.0.0 resolution: "micromark-core-commonmark@npm:2.0.0" @@ -15423,21 +15351,6 @@ __metadata: languageName: node linkType: hard -"netlify@npm:^13.1.14": - version: 13.1.19 - resolution: "netlify@npm:13.1.19" - dependencies: - "@netlify/open-api": ^2.33.0 - lodash-es: ^4.17.21 - micro-api-client: ^3.3.0 - node-fetch: ^3.0.0 - omit.js: ^2.0.2 - p-wait-for: ^4.0.0 - qs: ^6.9.6 - checksum: 20ee83123214555e15f116d8caafb4f9212ef1c7a8dbee1d535fd723d323e51fae911ab67ee3c6ebe9e0aab0c98cd56d300838c468509172ca820692df22e5af - languageName: node - linkType: hard - "nise@npm:^5.1.4": version: 5.1.4 resolution: "nise@npm:5.1.4" @@ -15461,13 +15374,6 @@ __metadata: languageName: node linkType: hard -"node-domexception@npm:^1.0.0": - version: 1.0.0 - resolution: "node-domexception@npm:1.0.0" - checksum: ee1d37dd2a4eb26a8a92cd6b64dfc29caec72bff5e1ed9aba80c294f57a31ba4895a60fd48347cf17dd6e766da0ae87d75657dfd1f384ebfa60462c2283f5c7f - languageName: node - linkType: hard - "node-emoji@npm:^2.1.0": version: 2.1.3 resolution: "node-emoji@npm:2.1.3" @@ -15494,17 +15400,6 @@ __metadata: languageName: node linkType: hard -"node-fetch@npm:^3.0.0": - version: 3.3.1 - resolution: "node-fetch@npm:3.3.1" - dependencies: - data-uri-to-buffer: ^4.0.0 - fetch-blob: ^3.1.4 - formdata-polyfill: ^4.0.10 - checksum: 62145fd3ba4770a76110bc31fdc0054ab2f5442b5ce96e9c4b39fc9e94a3d305560eec76e1165d9259eab866e02a8eecf9301062bb5dfc9f08a4d08b69d223dd - languageName: node - linkType: hard - "node-forge@npm:^1": version: 1.3.1 resolution: "node-forge@npm:1.3.1" @@ -15868,13 +15763,6 @@ __metadata: languageName: node linkType: hard -"omit.js@npm:^2.0.2": - version: 2.0.2 - resolution: "omit.js@npm:2.0.2" - checksum: 5d802b9fd7640250aada82f3b9b7243b554b38911f29b3de0d1066c00f24dd4ee72d3b9c94c582e373fb6511bd21e107917d419a7b2a04287f26c31133b48a15 - languageName: node - linkType: hard - "on-finished@npm:2.4.1": version: 2.4.1 resolution: "on-finished@npm:2.4.1" @@ -16057,13 +15945,6 @@ __metadata: languageName: node linkType: hard -"p-timeout@npm:^5.0.0": - version: 5.1.0 - resolution: "p-timeout@npm:5.1.0" - checksum: f5cd4e17301ff1ff1d8dbf2817df0ad88c6bba99349fc24d8d181827176ad4f8aca649190b8a5b1a428dfd6ddc091af4606835d3e0cb0656e04045da5c9e270c - languageName: node - linkType: hard - "p-try@npm:^2.0.0": version: 2.2.0 resolution: "p-try@npm:2.2.0" @@ -16071,15 +15952,6 @@ __metadata: languageName: node linkType: hard -"p-wait-for@npm:^4.0.0": - version: 4.1.0 - resolution: "p-wait-for@npm:4.1.0" - dependencies: - p-timeout: ^5.0.0 - checksum: 4f3ad4aa52b86d9f73ad558dcb00f9df6727a2c6c42dc1ba46e5ae2505898801f09016d753fd9ecb26eac925ba33ff7f8dbc0981856132c895d9df87dbb25d57 - languageName: node - linkType: hard - "package-json-from-dist@npm:^1.0.0": version: 1.0.0 resolution: "package-json-from-dist@npm:1.0.0" @@ -17090,15 +16962,6 @@ __metadata: languageName: node linkType: hard -"qs@npm:^6.9.6": - version: 6.11.2 - resolution: "qs@npm:6.11.2" - dependencies: - side-channel: ^1.0.4 - checksum: e812f3c590b2262548647d62f1637b6989cc56656dc960b893fe2098d96e1bd633f36576f4cd7564dfbff9db42e17775884db96d846bebe4f37420d073ecdc0b - languageName: node - linkType: hard - "queue-microtask@npm:^1.2.2": version: 1.2.3 resolution: "queue-microtask@npm:1.2.3" @@ -20284,13 +20147,6 @@ __metadata: languageName: node linkType: hard -"web-streams-polyfill@npm:^3.0.3": - version: 3.2.1 - resolution: "web-streams-polyfill@npm:3.2.1" - checksum: b119c78574b6d65935e35098c2afdcd752b84268e18746606af149e3c424e15621b6f1ff0b42b2676dc012fc4f0d313f964b41a4b5031e525faa03997457da02 - languageName: node - linkType: hard - "webidl-conversions@npm:^3.0.0": version: 3.0.1 resolution: "webidl-conversions@npm:3.0.1" @@ -21060,7 +20916,7 @@ __metadata: languageName: node linkType: hard -"yargs@npm:17.7.2, yargs@npm:^17.3.1, yargs@npm:^17.6.2": +"yargs@npm:^17.3.1, yargs@npm:^17.6.2, yargs@npm:^17.7.2": version: 17.7.2 resolution: "yargs@npm:17.7.2" dependencies: