diff --git a/.github/DEVELOPMENT.md b/.github/DEVELOPMENT.md index 2159b2c1..ae676017 100644 --- a/.github/DEVELOPMENT.md +++ b/.github/DEVELOPMENT.md @@ -31,12 +31,12 @@ It should be applied automatically when you save files in VS Code or make a Git This package includes several forms of linting to enforce consistent code quality and styling. Each should be shown in VS Code, and can be run manually on the command-line: -- `pnpm lint` ([ESLint](https://eslint.org) with [typescript-eslint](https://typescript-eslint.io)): Lints JavaScript and TypeScript source files +- `pnpm lint:knip` ([knip](https://github.com/webpro/knip)): Detects unused files, dependencies, and code exports - `pnpm lint:md` ([Markdownlint](https://github.com/DavidAnson/markdownlint)): Checks Markdown source files - `pnpm lint:package` ([npm-package-json-lint](https://npmpackagejsonlint.org/)): Lints the `package.json` file - `pnpm lint:packages` ([pnpm-deduplicate](https://github.com/ocavue/pnpm-deduplicate)): Deduplicates packages in the `pnpm-lock.yml` file -- `pnpm lint:prune` ([ts-prune](https://github.com/nadeesha/ts-prune)): Detects unused exports in TypeScript source files - `pnpm lint:spelling` ([cspell](https://cspell.org)): Spell checks across all source files +- `pnpm lint` ([ESLint](https://eslint.org) with [typescript-eslint](https://typescript-eslint.io)): Lints JavaScript and TypeScript source files ## Testing @@ -47,7 +47,7 @@ You can run it locally on the command-line: pnpm run test ``` -Add the `--coverage` flat to compute test coverage and place reports in the `coverage/` directory: +Add the `--coverage` flag to compute test coverage and place reports in the `coverage/` directory: ```shell pnpm run test --coverage diff --git a/.github/workflows/prune.yml b/.github/workflows/knip.yml similarity index 76% rename from .github/workflows/prune.yml rename to .github/workflows/knip.yml index 04a5ab8d..a0d0f409 100644 --- a/.github/workflows/prune.yml +++ b/.github/workflows/knip.yml @@ -1,4 +1,4 @@ -name: Lint Prune +name: Lint Knip on: push: @@ -7,9 +7,9 @@ on: pull_request: jobs: - prune: + knip: runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - uses: ./.github/actions/prepare - - run: pnpm lint:prune + - run: pnpm lint:knip diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 9ed28829..d53e3010 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -64,12 +64,12 @@ jobs: checks: [ { context: "build" }, { context: "compliance" }, + { context: "knip" }, { context: "lint" }, { context: "markdown" }, { context: "package" }, { context: "packages" }, { context: "prettier" }, - { context: "prune" }, { context: "spelling" }, { context: "test" }, ], diff --git a/.ts-prunerc b/.ts-prunerc deleted file mode 100644 index 9afedfab..00000000 --- a/.ts-prunerc +++ /dev/null @@ -1,4 +0,0 @@ -{ - "error": true, - "skip": "(src/index\\.ts|vitest\\.config\\.ts)" -} diff --git a/README.md b/README.md index b68f97dc..11782238 100644 --- a/README.md +++ b/README.md @@ -33,13 +33,13 @@ It sets up the following tooling for you: - [**All Contributors**](https://allcontributors.org): Tracks various kinds of contributions and displays them in a nicely formatted table in the README.md. - [**ESLint**](https://eslint.org): Static analysis for JavaScript code, configured with [typescript-eslint](https://typescript-eslint.io) for TypeScript code and other general-use plugins. +- [**Knip**](https://github.com/webpro/knip): Detects unused files, dependencies, and code exports. - [**Markdownlint**](https://github.com/DavidAnson/markdownlint): Static analysis for Markdown code. - [**pnpm**](https://pnpm.io): Disk-efficient package manager alternative. - [**PR Compliance Action**](https://github.com/mtfoley/pr-compliance-action): Checks PRs for compliance on chore such as addressing a linked issue and proper title formatting. - [**Prettier**](https://prettier.io): Opinionated formatting for code, run on file save and as a Git commit hook via [husky](https://typicode.github.io/husky) and [lint-staged](https://github.com/okonet/lint-staged). - [**release-it**](https://github.com/release-it/release-it): Generates changelogs, bumps the package version, and publishes to GitHub and npm based on [conventional commits](https://www.conventionalcommits.org). - [**Renovate**](https://docs.renovatebot.com): Keeps dependencies up-to-date with PRs, configured to wait a few days after each update for safety. -- [**ts-prune**](https://github.com/nadeesha/ts-prune): Unused exports detection for TypeScript code. - [**TypeScript**](https://typescriptlang.org): A typed superset of JavaScript, configured with strict compiler options. - [**Vitest**](https://vitest.dev): Fast unit tests, configured with coverage tracking. diff --git a/cspell.json b/cspell.json index 1860b7d8..29c45552 100644 --- a/cspell.json +++ b/cspell.json @@ -16,6 +16,7 @@ "contributorsrc", "conventionalcommits", "infile", + "knip", "lcov", "quickstart", "wontfix" diff --git a/knip.jsonc b/knip.jsonc new file mode 100644 index 00000000..e1b6442d --- /dev/null +++ b/knip.jsonc @@ -0,0 +1,12 @@ +{ + "$schema": "https://unpkg.com/knip@next/schema.json", + "entry": ["src/index.ts!", "script/setup*.js"], + "project": ["src/**/*.ts!", "script/**/*.js"], + + "ignoreDependencies": [ + // Remove when Knip understands ESLint overrides > extends: + "eslint-plugin-markdown", + // Remove when Knip extends the release-it plugin to pluck binaries from hooks: + "should-semantic-release" + ] +} diff --git a/package.json b/package.json index 3e319981..d5d31617 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "@typescript-eslint/parser": "^5.48.2", "@vitest/coverage-istanbul": "^0.27.2", "chalk": "^5.2.0", - "cspell": "^6.19.0", + "cspell": "^6.19.1", "enquirer": "^2.3.6", "eslint": "^8.32.0", "eslint-config-prettier": "^8.6.0", @@ -21,6 +21,7 @@ "eslint-plugin-vitest": "^0.0.29", "husky": "^8.0.3", "jsonc-eslint-parser": "^2.1.0", + "knip": "1.9.0", "lint-staged": "^13.1.0", "markdownlint": "^0.27.0", "markdownlint-cli": "^0.33.0", @@ -33,10 +34,8 @@ "replace-in-file": "^6.3.5", "sentences-per-line": "^0.2.1", "should-semantic-release": "^0.0.1", - "ts-prune": "^0.10.3", "typescript": "^4.9.4", - "vitest": "^0.27.2", - "yargs": "^17.6.2" + "vitest": "^0.27.2" }, "engines": { "node": ">=18" @@ -57,10 +56,10 @@ "format": "prettier \"**/*\" --ignore-unknown", "format:write": "pnpm format --write", "lint": "eslint . --max-warnings 0 --report-unused-disable-directives", + "lint:knip": "knip", "lint:md": "markdownlint \"**/*.md\" \".github/**/*.md\" --rules sentences-per-line", "lint:package": "npmPkgJsonLint .", "lint:packages": "pnpm-deduplicate --list", - "lint:prune": "ts-prune", "lint:spelling": "cspell \"**\" \".github/**/*\"", "prepare": "husky install", "setup": "npx --yes zx --quiet script/setup.js", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 744e4815..d3804964 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,7 +5,7 @@ specifiers: '@typescript-eslint/parser': ^5.48.2 '@vitest/coverage-istanbul': ^0.27.2 chalk: ^5.2.0 - cspell: ^6.19.0 + cspell: ^6.19.1 enquirer: ^2.3.6 eslint: ^8.32.0 eslint-config-prettier: ^8.6.0 @@ -20,6 +20,7 @@ specifiers: eslint-plugin-vitest: ^0.0.29 husky: ^8.0.3 jsonc-eslint-parser: ^2.1.0 + knip: 1.9.0 lint-staged: ^13.1.0 markdownlint: ^0.27.0 markdownlint-cli: ^0.33.0 @@ -32,17 +33,15 @@ specifiers: replace-in-file: ^6.3.5 sentences-per-line: ^0.2.1 should-semantic-release: ^0.0.1 - ts-prune: ^0.10.3 typescript: ^4.9.4 vitest: ^0.27.2 - yargs: ^17.6.2 devDependencies: '@typescript-eslint/eslint-plugin': 5.48.2_caon6io6stgpr7lz2rtbhekxqy '@typescript-eslint/parser': 5.48.2_7uibuqfxkfaozanbtbziikiqje '@vitest/coverage-istanbul': 0.27.2 chalk: 5.2.0 - cspell: 6.19.0 + cspell: 6.19.1 enquirer: 2.3.6 eslint: 8.32.0 eslint-config-prettier: 8.6.0_eslint@8.32.0 @@ -57,6 +56,7 @@ devDependencies: eslint-plugin-vitest: 0.0.29_7uibuqfxkfaozanbtbziikiqje husky: 8.0.3 jsonc-eslint-parser: 2.1.0 + knip: 1.9.0 lint-staged: 13.1.0_enquirer@2.3.6 markdownlint: 0.27.0 markdownlint-cli: 0.33.0 @@ -69,10 +69,8 @@ devDependencies: replace-in-file: 6.3.5 sentences-per-line: 0.2.1 should-semantic-release: 0.0.1 - ts-prune: 0.10.3 typescript: 4.9.4 vitest: 0.27.2 - yargs: 17.6.2 packages: @@ -278,8 +276,8 @@ packages: to-fast-properties: 2.0.0 dev: true - /@cspell/cspell-bundled-dicts/6.19.0: - resolution: {integrity: sha512-KN05oSMzRk7lQewEmBjtlqczvs5uay0goIk/r9shJ/qiEnStWuT/GWckswKNqvKoHwgxXJ9juN32lRChEcOjXg==} + /@cspell/cspell-bundled-dicts/6.19.1: + resolution: {integrity: sha512-JnHij916qbmBX0Gh4a1D0QRMjrq7Wkd24skEt3A+3R2v7y6x0iQ8SKxp95/NXR8Ys/yfzgyU66+7HKEDytE7jA==} engines: {node: '>=14'} dependencies: '@cspell/dict-ada': 4.0.1 @@ -329,32 +327,18 @@ packages: '@cspell/dict-vue': 3.0.0 dev: true - /@cspell/cspell-pipe/6.19.0: - resolution: {integrity: sha512-Zx7MZv9sbw/2BdQEtAl6vMSEkanAyyzmQRV6i4Ct5awgILYfzDqgL5YbWLtkj7AWfvgSWj3SFoD8nrqjaUiuxw==} + /@cspell/cspell-pipe/6.19.1: + resolution: {integrity: sha512-yRn91Jopab26Ii6516NCKBDnhjiMVMEuBFelRVQwWbzpI7tTCGk2aDdEGAEj41Q5/dvrO8N89dQEveWzxyEXVg==} engines: {node: '>=14'} - dependencies: - vitest: 0.26.3 - transitivePeerDependencies: - - '@edge-runtime/vm' - - '@vitest/browser' - - '@vitest/ui' - - happy-dom - - jsdom - - less - - sass - - stylus - - sugarss - - supports-color - - terser dev: true - /@cspell/cspell-service-bus/6.19.0: - resolution: {integrity: sha512-7V/DiwI9YnIfe9+RzKVXI57uZfxBwH7JMBVABQHHU7jNZuYgJHm8K87zF/PQ1jCAenDtOl27hcTHfV1Hi8/Bmg==} + /@cspell/cspell-service-bus/6.19.1: + resolution: {integrity: sha512-WLUwNu2e1IrxtzjKIOw7/rUCDjvA6zwMeROw4mrBwOnM0+s/NLZIoEY8apSV05ojc8kiEXG0iJojQNW+7yQS8g==} engines: {node: '>=14'} dev: true - /@cspell/cspell-types/6.19.0: - resolution: {integrity: sha512-MPEpzhC21ZzOdQOZrJmViPvp/ZaafNGFeruODlKyZkZ87K69BWPz93i/QuWYwoaM0NxvfLlZCIK7INn7f9Rcog==} + /@cspell/cspell-types/6.19.1: + resolution: {integrity: sha512-Ag6XPBoajmeslrCf0sB/S5vsdn4DcG/DRt0jUtIML/W7f/qlzlUucHQvpzXB8FEpB/E8lAI+oM7JIqSuq0kZQQ==} engines: {node: '>=14'} dev: true @@ -538,11 +522,34 @@ packages: resolution: {integrity: sha512-niiEMPWPV9IeRBRzZ0TBZmNnkK3olkOPYxC1Ny2AX4TGlYRajcW0WUtoSHmvvjZNfWLSg2L6ruiBeuPSbjnG6A==} dev: true - /@cspell/strong-weak-map/6.19.0: - resolution: {integrity: sha512-0ZESkYkf1LMXbz/yIUIIAV0V3yzFBWqJZkfPbivMy62nhKd6l8ySYrfohy1TMx2UBuMbdkUTRTqVhHWBN8+xMA==} + /@cspell/strong-weak-map/6.19.1: + resolution: {integrity: sha512-ncq8OUTi+oGYAvEfkeuCBjmq7qglQ9XQTZJNn95ave1TDoupP3y9dRo5gE8qH9kaNRZ+n7ANDjjSWZ2NIz2MoA==} engines: {node: '>=14.6'} dev: true + /@esbuild-kit/core-utils/3.0.0: + resolution: {integrity: sha512-TXmwH9EFS3DC2sI2YJWJBgHGhlteK0Xyu1VabwetMULfm3oYhbrsWV5yaSr2NTWZIgDGVLHbRf0inxbjXqAcmQ==} + dependencies: + esbuild: 0.15.18 + source-map-support: 0.5.21 + dev: true + + /@esbuild-kit/esm-loader/2.5.4: + resolution: {integrity: sha512-afmtLf6uqxD5IgwCzomtqCYIgz/sjHzCWZFvfS5+FzeYxOURPUo4QcHtqJxbxWOMOogKriZanN/1bJQE/ZL93A==} + dependencies: + '@esbuild-kit/core-utils': 3.0.0 + get-tsconfig: 4.3.0 + dev: true + + /@esbuild/android-arm/0.15.18: + resolution: {integrity: sha512-5GT+kcs2WVGjVs7+boataCkO5Fg0y4kCjzkB5bAip7H4jfnOS3dA6KPiww9W1OEKTKeAcUVhdZGvgI65OXmUnw==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm/0.16.15: resolution: {integrity: sha512-JsJtmadyWcR+DEtHLixM7bAQsfi1s0Xotv9kVOoXbCLyhKPOHvMEyh3kJBuTbCPSE4c2jQkQVmarwc9Mg9k3bA==} engines: {node: '>=12'} @@ -552,6 +559,15 @@ packages: dev: true optional: true + /@esbuild/android-arm/0.17.3: + resolution: {integrity: sha512-1Mlz934GvbgdDmt26rTLmf03cAgLg5HyOgJN+ZGCeP3Q9ynYTNMn2/LQxIl7Uy+o4K6Rfi2OuLsr12JQQR8gNg==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm64/0.16.15: resolution: {integrity: sha512-OdbkUv7468dSsgoFtHIwTaYAuI5lDEv/v+dlfGBUbVa2xSDIIuSOHXawynw5N9+5lygo/JdXa5/sgGjiEU18gQ==} engines: {node: '>=12'} @@ -561,6 +577,15 @@ packages: dev: true optional: true + /@esbuild/android-arm64/0.17.3: + resolution: {integrity: sha512-XvJsYo3dO3Pi4kpalkyMvfQsjxPWHYjoX4MDiB/FUM4YMfWcXa5l4VCwFWVYI1+92yxqjuqrhNg0CZg3gSouyQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-x64/0.16.15: resolution: {integrity: sha512-dPUOBiNNWAm+/bxoA75o7R7qqqfcEzXaYlb5uJk2xGHmUMNKSAnDCtRYLgx9/wfE4sXyn8H948OrDyUAHhPOuA==} engines: {node: '>=12'} @@ -570,6 +595,15 @@ packages: dev: true optional: true + /@esbuild/android-x64/0.17.3: + resolution: {integrity: sha512-nuV2CmLS07Gqh5/GrZLuqkU9Bm6H6vcCspM+zjp9TdQlxJtIe+qqEXQChmfc7nWdyr/yz3h45Utk1tUn8Cz5+A==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-arm64/0.16.15: resolution: {integrity: sha512-AksarYV85Hxgwh5/zb6qGl4sYWxIXPQGBAZ+jUro1ZpINy3EWumK+/4DPOKUBPnsrOIvnNXy7Rq4mTeCsMQDNA==} engines: {node: '>=12'} @@ -579,6 +613,15 @@ packages: dev: true optional: true + /@esbuild/darwin-arm64/0.17.3: + resolution: {integrity: sha512-01Hxaaat6m0Xp9AXGM8mjFtqqwDjzlMP0eQq9zll9U85ttVALGCGDuEvra5Feu/NbP5AEP1MaopPwzsTcUq1cw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-x64/0.16.15: resolution: {integrity: sha512-qqrKJxoohceZGGP+sZ5yXkzW9ZiyFZJ1gWSEfuYdOWzBSL18Uy3w7s/IvnDYHo++/cxwqM0ch3HQVReSZy7/4Q==} engines: {node: '>=12'} @@ -588,6 +631,15 @@ packages: dev: true optional: true + /@esbuild/darwin-x64/0.17.3: + resolution: {integrity: sha512-Eo2gq0Q/er2muf8Z83X21UFoB7EU6/m3GNKvrhACJkjVThd0uA+8RfKpfNhuMCl1bKRfBzKOk6xaYKQZ4lZqvA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-arm64/0.16.15: resolution: {integrity: sha512-LBWaep6RvJm5KnsKkocdVEzuwnGMjz54fcRVZ9d3R7FSEWOtPBxMhuxeA1n98JVbCLMkTPFmKN6xSnfhnM9WXQ==} engines: {node: '>=12'} @@ -597,6 +649,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-arm64/0.17.3: + resolution: {integrity: sha512-CN62ESxaquP61n1ZjQP/jZte8CE09M6kNn3baos2SeUfdVBkWN5n6vGp2iKyb/bm/x4JQzEvJgRHLGd5F5b81w==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-x64/0.16.15: resolution: {integrity: sha512-LE8mKC6JPR04kPLRP9A6k7ZmG0k2aWF4ru79Sde6UeWCo7yDby5f48uJNFQ2pZqzUUkLrHL8xNdIHerJeZjHXg==} engines: {node: '>=12'} @@ -606,6 +667,15 @@ packages: dev: true optional: true + /@esbuild/freebsd-x64/0.17.3: + resolution: {integrity: sha512-feq+K8TxIznZE+zhdVurF3WNJ/Sa35dQNYbaqM/wsCbWdzXr5lyq+AaTUSER2cUR+SXPnd/EY75EPRjf4s1SLg==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm/0.16.15: resolution: {integrity: sha512-+1sGlqtMJTOnJUXwLUGnDhPaGRKqxT0UONtYacS+EjdDOrSgpQ/1gUXlnze45Z/BogwYaswQM19Gu1YD1T19/w==} engines: {node: '>=12'} @@ -615,6 +685,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm/0.17.3: + resolution: {integrity: sha512-CLP3EgyNuPcg2cshbwkqYy5bbAgK+VhyfMU7oIYyn+x4Y67xb5C5ylxsNUjRmr8BX+MW3YhVNm6Lq6FKtRTWHQ==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm64/0.16.15: resolution: {integrity: sha512-mRYpuQGbzY+XLczy3Sk7fMJ3DRKLGDIuvLKkkUkyecDGQMmil6K/xVKP9IpKO7JtNH477qAiMjjX7jfKae8t4g==} engines: {node: '>=12'} @@ -624,6 +703,15 @@ packages: dev: true optional: true + /@esbuild/linux-arm64/0.17.3: + resolution: {integrity: sha512-JHeZXD4auLYBnrKn6JYJ0o5nWJI9PhChA/Nt0G4MvLaMrvXuWnY93R3a7PiXeJQphpL1nYsaMcoV2QtuvRnF/g==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ia32/0.16.15: resolution: {integrity: sha512-puXVFvY4m8EB6/fzu3LdgjiNnEZ3gZMSR7NmKoQe51l3hyQalvTjab3Dt7aX4qGf+8Pj7dsCOBNzNzkSlr/4Aw==} engines: {node: '>=12'} @@ -633,6 +721,24 @@ packages: dev: true optional: true + /@esbuild/linux-ia32/0.17.3: + resolution: {integrity: sha512-FyXlD2ZjZqTFh0sOQxFDiWG1uQUEOLbEh9gKN/7pFxck5Vw0qjWSDqbn6C10GAa1rXJpwsntHcmLqydY9ST9ZA==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@esbuild/linux-loong64/0.15.18: + resolution: {integrity: sha512-L4jVKS82XVhw2nvzLg/19ClLWg0y27ulRwuP7lcyL6AbUWB5aPglXY3M21mauDQMDfRLs8cQmeT03r/+X3cZYQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64/0.16.15: resolution: {integrity: sha512-ATMGb3eg8T6ZTGZFldlGeFEcevBiVq6SBHvRAO04HMfUjZWneZ/U+JJb3YzlNZxuscJ4Tmzq+JrYxlk7ro4dRg==} engines: {node: '>=12'} @@ -642,6 +748,15 @@ packages: dev: true optional: true + /@esbuild/linux-loong64/0.17.3: + resolution: {integrity: sha512-OrDGMvDBI2g7s04J8dh8/I7eSO+/E7nMDT2Z5IruBfUO/RiigF1OF6xoH33Dn4W/OwAWSUf1s2nXamb28ZklTA==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-mips64el/0.16.15: resolution: {integrity: sha512-3SEA4L82OnoSATW+Ve8rPgLaKjC8WMt8fnx7De9kvi/NcVbkj8W+J7qnu/tK2P9pUPQP7Au/0sjPEqZtFeyKQQ==} engines: {node: '>=12'} @@ -651,6 +766,15 @@ packages: dev: true optional: true + /@esbuild/linux-mips64el/0.17.3: + resolution: {integrity: sha512-DcnUpXnVCJvmv0TzuLwKBC2nsQHle8EIiAJiJ+PipEVC16wHXaPEKP0EqN8WnBe0TPvMITOUlP2aiL5YMld+CQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ppc64/0.16.15: resolution: {integrity: sha512-8PgbeX+N6vmqeySzyxO0NyDOltCEW13OS5jUHTvCHmCgf4kNXZtAWJ+zEfJxjRGYhVezQ1FdIm7WfN1R27uOyg==} engines: {node: '>=12'} @@ -660,6 +784,15 @@ packages: dev: true optional: true + /@esbuild/linux-ppc64/0.17.3: + resolution: {integrity: sha512-BDYf/l1WVhWE+FHAW3FzZPtVlk9QsrwsxGzABmN4g8bTjmhazsId3h127pliDRRu5674k1Y2RWejbpN46N9ZhQ==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-riscv64/0.16.15: resolution: {integrity: sha512-U+coqH+89vbPVoU30no1Fllrn6gvEeO5tfEArBhjYZ+dQ3Gv7ciQXYf5nrT1QdlIFwEjH4Is1U1iiaGWW+tGpQ==} engines: {node: '>=12'} @@ -669,6 +802,15 @@ packages: dev: true optional: true + /@esbuild/linux-riscv64/0.17.3: + resolution: {integrity: sha512-WViAxWYMRIi+prTJTyV1wnqd2mS2cPqJlN85oscVhXdb/ZTFJdrpaqm/uDsZPGKHtbg5TuRX/ymKdOSk41YZow==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-s390x/0.16.15: resolution: {integrity: sha512-M0nKLFMdyFGBoitxG42kq6Xap0CPeDC6gfF9lg7ZejzGF6kqYUGT+pQGl2QCQoxJBeat/LzTma1hG8C3dq2ocg==} engines: {node: '>=12'} @@ -678,6 +820,15 @@ packages: dev: true optional: true + /@esbuild/linux-s390x/0.17.3: + resolution: {integrity: sha512-Iw8lkNHUC4oGP1O/KhumcVy77u2s6+KUjieUqzEU3XuWJqZ+AY7uVMrrCbAiwWTkpQHkr00BuXH5RpC6Sb/7Ug==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-x64/0.16.15: resolution: {integrity: sha512-t7/fOXBUKfigvhJLGKZ9TPHHgqNgpIpYaAbcXQk1X+fPeUG7x0tpAbXJ2wST9F/gJ02+CLETPMnhG7Tra2wqsQ==} engines: {node: '>=12'} @@ -687,6 +838,15 @@ packages: dev: true optional: true + /@esbuild/linux-x64/0.17.3: + resolution: {integrity: sha512-0AGkWQMzeoeAtXQRNB3s4J1/T2XbigM2/Mn2yU1tQSmQRmHIZdkGbVq2A3aDdNslPyhb9/lH0S5GMTZ4xsjBqg==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/netbsd-x64/0.16.15: resolution: {integrity: sha512-0k0Nxi6DOJmTnLtKD/0rlyqOPpcqONXY53vpkoAsue8CfyhNPWtwzba1ICFNCfCY1dqL3Ho/xEzujJhmdXq1rg==} engines: {node: '>=12'} @@ -696,6 +856,15 @@ packages: dev: true optional: true + /@esbuild/netbsd-x64/0.17.3: + resolution: {integrity: sha512-4+rR/WHOxIVh53UIQIICryjdoKdHsFZFD4zLSonJ9RRw7bhKzVyXbnRPsWSfwybYqw9sB7ots/SYyufL1mBpEg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/openbsd-x64/0.16.15: resolution: {integrity: sha512-3SkckazfIbdSjsGpuIYT3d6n2Hx0tck3MS1yVsbahhWiLvdy4QozTpvlbjqO3GmvtvhxY4qdyhFOO2wiZKeTAQ==} engines: {node: '>=12'} @@ -705,6 +874,15 @@ packages: dev: true optional: true + /@esbuild/openbsd-x64/0.17.3: + resolution: {integrity: sha512-cVpWnkx9IYg99EjGxa5Gc0XmqumtAwK3aoz7O4Dii2vko+qXbkHoujWA68cqXjhh6TsLaQelfDO4MVnyr+ODeA==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/sunos-x64/0.16.15: resolution: {integrity: sha512-8PNvBC+O8X5EnyIGqE8St2bOjjrXMR17NOLenIrzolvwWnJXvwPo0tE/ahOeiAJmTOS/eAcN8b4LAZcn17Uj7w==} engines: {node: '>=12'} @@ -714,6 +892,15 @@ packages: dev: true optional: true + /@esbuild/sunos-x64/0.17.3: + resolution: {integrity: sha512-RxmhKLbTCDAY2xOfrww6ieIZkZF+KBqG7S2Ako2SljKXRFi+0863PspK74QQ7JpmWwncChY25JTJSbVBYGQk2Q==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-arm64/0.16.15: resolution: {integrity: sha512-YPaSgm/mm7kNcATB53OxVGVfn6rDNbImTn330ZlF3hKej1e9ktCaljGjn2vH08z2dlHEf3kdt57tNjE6zs8SzA==} engines: {node: '>=12'} @@ -723,6 +910,15 @@ packages: dev: true optional: true + /@esbuild/win32-arm64/0.17.3: + resolution: {integrity: sha512-0r36VeEJ4efwmofxVJRXDjVRP2jTmv877zc+i+Pc7MNsIr38NfsjkQj23AfF7l0WbB+RQ7VUb+LDiqC/KY/M/A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-ia32/0.16.15: resolution: {integrity: sha512-0movUXbSNrTeNf5ZXT0avklEvlJD0hNGZsrrXHfsp9z4tK5xC+apCqmUEZeE9mqrb84Z8XbgGr/MS9LqafTP2A==} engines: {node: '>=12'} @@ -732,6 +928,15 @@ packages: dev: true optional: true + /@esbuild/win32-ia32/0.17.3: + resolution: {integrity: sha512-wgO6rc7uGStH22nur4aLFcq7Wh86bE9cOFmfTr/yxN3BXvDEdCSXyKkO+U5JIt53eTOgC47v9k/C1bITWL/Teg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-x64/0.16.15: resolution: {integrity: sha512-27h5GCcbfomVAqAnMJWvR1LqEY0dFqIq4vTe5nY3becnZNu0SX8F0+gTk3JPvgWQHzaGc6VkPzlOiMkdSUunUA==} engines: {node: '>=12'} @@ -741,6 +946,15 @@ packages: dev: true optional: true + /@esbuild/win32-x64/0.17.3: + resolution: {integrity: sha512-FdVl64OIuiKjgXBjwZaJLKp0eaEckifbhn10dXWhysMJkWblg3OEEGKSIyhiD5RSgAya8WzP3DNkngtIg3Nt7g==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@eslint/eslintrc/1.4.1: resolution: {integrity: sha512-XXrH9Uarn0stsyldqDYq8r++mROmWRI1xKMXa640Bb//SY1+ECYX6VzT6Lcx5frD0V30XieqJ0oX9I2Xj5aoMA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -851,6 +1065,21 @@ packages: fastq: 1.15.0 dev: true + /@npmcli/map-workspaces/3.0.1: + resolution: {integrity: sha512-QXwE2p5zRTP6X8Irgf/swYwwdQEalSA1GBm0IGE/86R5EJbUGgKMOP0kOjaJWJxaWPkSqyhM8N50SPxFHTfkNg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + '@npmcli/name-from-folder': 2.0.0 + glob: 8.0.3 + minimatch: 5.1.2 + read-package-json-fast: 3.0.2 + dev: true + + /@npmcli/name-from-folder/2.0.0: + resolution: {integrity: sha512-pwK+BfEBZJbKdNYpHHRTNBwBoqrN/iIMO0AiGvYsp3Hoaq0WbgGSWQR6SCldZovoDpY3yje5lkFUe6gsDgJ2vg==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + /@octokit/app/13.1.1: resolution: {integrity: sha512-83TPUMWPAWaACe8AJVBlg6gptbDJk/33C/0V9e0yWfBqXINqF2ZutctQIcrRcyWBPlfYmFElPbElMqlspe8UWg==} engines: {node: '>= 14'} @@ -1345,6 +1574,16 @@ packages: engines: {node: '>=14.16'} dev: true + /@snyk/github-codeowners/1.1.0: + resolution: {integrity: sha512-lGFf08pbkEac0NYgVf4hdANpAgApRjNByLXB+WBip3qj1iendOIyAwP2GKkKbQMNVy2r1xxDf0ssfWscoiC+Vw==} + engines: {node: '>=8.10'} + hasBin: true + dependencies: + commander: 4.1.1 + ignore: 5.2.4 + p-map: 4.0.0 + dev: true + /@szmarczak/http-timer/5.0.1: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} @@ -1357,11 +1596,11 @@ packages: engines: {node: '>= 6'} dev: true - /@ts-morph/common/0.12.3: - resolution: {integrity: sha512-4tUmeLyXJnJWvTFOKtcNJ1yh0a3SsTLi2MUoyj8iUNznFRN1ZquaNe7Oukqrnki2FzZkm0J9adCNLDZxUzvj+w==} + /@ts-morph/common/0.18.1: + resolution: {integrity: sha512-RVE+zSRICWRsfrkAw5qCAK+4ZH9kwEFv5h0+/YeHTLieWP7F4wWq4JsKFuNWG+fYh/KF+8rAtgdj5zb2mm+DVA==} dependencies: fast-glob: 3.2.12 - minimatch: 3.1.2 + minimatch: 5.1.2 mkdirp: 1.0.4 path-browserify: 1.0.1 dev: true @@ -1420,10 +1659,6 @@ packages: resolution: {integrity: sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==} dev: true - /@types/parse-json/4.0.0: - resolution: {integrity: sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==} - dev: true - /@types/semver/7.3.13: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} dev: true @@ -1660,6 +1895,10 @@ packages: - terser dev: true + /@yarnpkg/lockfile/1.1.0: + resolution: {integrity: sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==} + dev: true + /@zkochan/js-yaml/0.0.6: resolution: {integrity: sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==} hasBin: true @@ -1854,6 +2093,11 @@ packages: retry: 0.13.1 dev: true + /at-least-node/1.0.0: + resolution: {integrity: sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==} + engines: {node: '>= 4.0.0'} + dev: true + /available-typed-arrays/1.0.5: resolution: {integrity: sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==} engines: {node: '>= 0.4'} @@ -2083,6 +2327,10 @@ packages: resolution: {integrity: sha512-BrgHpW9NURQgzoNyjfq0Wu6VFO6D7IZEmJNdtgNqpzGG8RuNFHt2jQxWlAs4HMe119chBnv+34syEZtc6IhLtA==} dev: true + /ci-info/2.0.0: + resolution: {integrity: sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==} + dev: true + /ci-info/3.7.1: resolution: {integrity: sha512-4jYS4MOAaCIStSRwiuxc4B8MYhIe676yO1sYGzARnjXkWpmzZMMYxY6zu8WYWDhSuth5zhrQ1rhNSibyyvv4/w==} engines: {node: '>=8'} @@ -2189,8 +2437,13 @@ packages: resolution: {integrity: sha512-3tlv/dIP7FWvj3BsbHrGLJ6l/oKh1O3TcgBqMn+yyCagOxc23fyzDS6HypQbgxWbkpDnf52p1LuR4eWDQ/K9WQ==} dev: true - /commander/6.2.1: - resolution: {integrity: sha512-U7VdrJFnJgo4xjrHpTzu0yrHPGImdsmD95ZlgYSEajAn2JKzDhDTPG9kBTefmObL2w/ngeZnilk+OV9CG3d7UA==} + /commander/10.0.0: + resolution: {integrity: sha512-zS5PnTI22FIRM6ylNW8G4Ap0IEOyk62fhLSD0+uHRT9McRCLGpkVNvao4bjimpK/GShynyQkFFxHhwMcETmduA==} + engines: {node: '>=14'} + dev: true + + /commander/4.1.1: + resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} dev: true @@ -2280,17 +2533,6 @@ packages: resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==} dev: true - /cosmiconfig/7.1.0: - resolution: {integrity: sha512-AdmX6xUzdNASswsFtmwSt7Vj8po9IuqXm0UXz7QKPuEUmPB4XyjGfaAr2PSuELMwkRMVH1EpIkX5bTZGRB3eCA==} - engines: {node: '>=10'} - dependencies: - '@types/parse-json': 4.0.0 - import-fresh: 3.3.0 - parse-json: 5.2.0 - path-type: 4.0.0 - yaml: 1.10.2 - dev: true - /cosmiconfig/8.0.0: resolution: {integrity: sha512-da1EafcpH6b/TD8vDRaWV7xFINlHlF6zKsGwS1TsuVJTZRkquaS5HTMq7uq6h31619QjbsYl21gVDOm32KM1vQ==} engines: {node: '>=14'} @@ -2301,6 +2543,17 @@ packages: path-type: 4.0.0 dev: true + /cross-spawn/6.0.5: + resolution: {integrity: sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==} + engines: {node: '>=4.8'} + dependencies: + nice-try: 1.0.5 + path-key: 2.0.1 + semver: 5.7.1 + shebang-command: 1.2.0 + which: 1.3.1 + dev: true + /cross-spawn/7.0.3: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} @@ -2322,93 +2575,69 @@ packages: type-fest: 1.4.0 dev: true - /cspell-dictionary/6.19.0: - resolution: {integrity: sha512-8kNUInk6na5FsNmSslkpK4Op7SjICoNP1KsY5RIGlCFNW51wc6eRtKJnniyMWkXEugLMpPyUgEf3OYrLp7O0Wg==} + /cspell-dictionary/6.19.1: + resolution: {integrity: sha512-idlqDabvrh/nNj+p4tWFb/KbEV3tYuHXx8EwBg3h6BmjayEF1pxgghYW2ZoaRXp/meq2V2319kdefYyfX58EdA==} engines: {node: '>=14'} dependencies: - '@cspell/cspell-pipe': 6.19.0 - '@cspell/cspell-types': 6.19.0 - cspell-trie-lib: 6.19.0 + '@cspell/cspell-pipe': 6.19.1 + '@cspell/cspell-types': 6.19.1 + cspell-trie-lib: 6.19.1 fast-equals: 4.0.3 gensequence: 4.0.3 - transitivePeerDependencies: - - '@edge-runtime/vm' - - '@vitest/browser' - - '@vitest/ui' - - happy-dom - - jsdom - - less - - sass - - stylus - - sugarss - - supports-color - - terser dev: true - /cspell-gitignore/6.19.0: - resolution: {integrity: sha512-HcVWJSgBkGx9mVeYwYya+XfOOsrYaAswHdC5Ii9WhRGftGbiRVgKmxGgO349h4UhBvPQIkTUK0Nr7zKx59tOwA==} + /cspell-gitignore/6.19.1: + resolution: {integrity: sha512-2gNVU17xPwG5CDe0dEOBB6obGRHjIpbWvnvkPiHxlmGZCdZi1al3RP5qfb+OwCRFWRdWdM+ANkseXpUdbxEE2Q==} engines: {node: '>=14'} hasBin: true dependencies: - cspell-glob: 6.19.0 + cspell-glob: 6.19.1 find-up: 5.0.0 dev: true - /cspell-glob/6.19.0: - resolution: {integrity: sha512-8fFWs5CzZekfRm12FSM+7e61hubMMTW02kQr921CEPTqcnc9qq5xTJn2Agg9Yk/4MQ2rf9zK/lDc1hJ5AAuKUw==} + /cspell-glob/6.19.1: + resolution: {integrity: sha512-pYU5j1j7OLXQp9B5MMVTLPz7f3Xr9BT57gJnTndcmQ2QKD0pTm2IVLEHGYjVhylrnMa2tIWhMbwpW7q/L6x/Tw==} engines: {node: '>=14'} dependencies: micromatch: 4.0.5 dev: true - /cspell-grammar/6.19.0: - resolution: {integrity: sha512-pFhDIEbOyWNvjkJSdbNcGyEgbYMWgoIKTl4gzdiAYv5RkqjmYU55j/lmwZz1p87avTD7D4389Mli8LgkPjymhA==} + /cspell-grammar/6.19.1: + resolution: {integrity: sha512-i46WKdprENJ1xxZbSgdQ5WjauthzfJzfvmXvOWEpXPeT9Us2FyRutHeFcnsSHbF/jysh25/YJaXWM2xsUF6mqg==} engines: {node: '>=14'} hasBin: true dependencies: - '@cspell/cspell-pipe': 6.19.0 - '@cspell/cspell-types': 6.19.0 - transitivePeerDependencies: - - '@edge-runtime/vm' - - '@vitest/browser' - - '@vitest/ui' - - happy-dom - - jsdom - - less - - sass - - stylus - - sugarss - - supports-color - - terser + '@cspell/cspell-pipe': 6.19.1 + '@cspell/cspell-types': 6.19.1 dev: true - /cspell-io/6.19.0: - resolution: {integrity: sha512-u0LcSSmrBFojzu9lKSDQIU0CSCxiZ8IfCwO+vm1MaT9pPo15Zx/zU6KqTldudpDfUt+k453YcfoeEZG0cbA5Xw==} + /cspell-io/6.19.1: + resolution: {integrity: sha512-gKC+LbLMJCrcjHWIFz7h4Q6/BMLAnuliYacRTE44Z/Xfh/rpWTyLhyb6s5RTSVgSwqnNQSVsjmZoeyW3rE8B8A==} engines: {node: '>=14'} dependencies: - '@cspell/cspell-service-bus': 6.19.0 + '@cspell/cspell-service-bus': 6.19.1 node-fetch: 2.6.8 transitivePeerDependencies: - encoding dev: true - /cspell-lib/6.19.0: - resolution: {integrity: sha512-Ibq08/i21NudEOlxcsuIyVGi+2Di5J4OZeuvguRTvBX+HMM+ZtlToR0Y03IXYS3ogjECTIbmD13RaK/dTqqCIw==} + /cspell-lib/6.19.1: + resolution: {integrity: sha512-3zWZtjc4TBDbKuB7oc1cvekCnmoBjxYWdb3YYs663fi7VubJi6gz7AQCeBAAKDLnKBSVNFtJeiVfAjGLytf55g==} engines: {node: '>=14.6'} dependencies: - '@cspell/cspell-bundled-dicts': 6.19.0 - '@cspell/cspell-pipe': 6.19.0 - '@cspell/cspell-types': 6.19.0 - '@cspell/strong-weak-map': 6.19.0 + '@cspell/cspell-bundled-dicts': 6.19.1 + '@cspell/cspell-pipe': 6.19.1 + '@cspell/cspell-types': 6.19.1 + '@cspell/strong-weak-map': 6.19.1 clear-module: 4.1.2 comment-json: 4.2.3 configstore: 5.0.1 cosmiconfig: 8.0.0 - cspell-dictionary: 6.19.0 - cspell-glob: 6.19.0 - cspell-grammar: 6.19.0 - cspell-io: 6.19.0 - cspell-trie-lib: 6.19.0 + cspell-dictionary: 6.19.1 + cspell-glob: 6.19.1 + cspell-grammar: 6.19.1 + cspell-io: 6.19.1 + cspell-trie-lib: 6.19.1 fast-equals: 4.0.3 find-up: 5.0.0 gensequence: 4.0.3 @@ -2418,53 +2647,30 @@ packages: vscode-languageserver-textdocument: 1.0.8 vscode-uri: 3.0.7 transitivePeerDependencies: - - '@edge-runtime/vm' - - '@vitest/browser' - - '@vitest/ui' - encoding - - happy-dom - - jsdom - - less - - sass - - stylus - - sugarss - - supports-color - - terser dev: true - /cspell-trie-lib/6.19.0: - resolution: {integrity: sha512-WvFxBqgfoT7b4V8JK99oZGHwiCvB5ZIrA5tCgaxqbXEVpWWq/EMkxH9uMQUQv6kr/CRc1FXlRnia4/h8eOQjSQ==} + /cspell-trie-lib/6.19.1: + resolution: {integrity: sha512-sdGQj0UVvNjloV8hmjasGQbcb1hJP0IwMz6qWOce793RqA3N2BKiZt2kJzsNXM8dbPwGFpxHu7nfF0kVL30u1g==} engines: {node: '>=14'} dependencies: - '@cspell/cspell-pipe': 6.19.0 - '@cspell/cspell-types': 6.19.0 + '@cspell/cspell-pipe': 6.19.1 + '@cspell/cspell-types': 6.19.1 fs-extra: 11.1.0 gensequence: 4.0.3 - transitivePeerDependencies: - - '@edge-runtime/vm' - - '@vitest/browser' - - '@vitest/ui' - - happy-dom - - jsdom - - less - - sass - - stylus - - sugarss - - supports-color - - terser dev: true - /cspell/6.19.0: - resolution: {integrity: sha512-MHCAYkDXxYkQHD8J5DUAs6/VrK51lUY/hMuhSnfkmb5BLYOEhhS/tnM7DUtykzxLI9LLGP/fNcy3huC+aFjrkw==} + /cspell/6.19.1: + resolution: {integrity: sha512-LwWhBfk0XampjviTXy2nE9U2p6JrEgffZPuOKFkL2PSc6YT/oV4ZF/brrjcO4ZmPnHOZOCkLsOyJKJ4Ysj5mrw==} engines: {node: '>=14'} hasBin: true dependencies: - '@cspell/cspell-pipe': 6.19.0 + '@cspell/cspell-pipe': 6.19.1 chalk: 4.1.2 - commander: 9.5.0 - cspell-gitignore: 6.19.0 - cspell-glob: 6.19.0 - cspell-lib: 6.19.0 + commander: 10.0.0 + cspell-gitignore: 6.19.1 + cspell-glob: 6.19.1 + cspell-lib: 6.19.1 fast-glob: 3.2.12 fast-json-stable-stringify: 2.1.0 file-entry-cache: 6.0.1 @@ -2475,18 +2681,7 @@ packages: strip-ansi: 6.0.1 vscode-uri: 3.0.7 transitivePeerDependencies: - - '@edge-runtime/vm' - - '@vitest/browser' - - '@vitest/ui' - encoding - - happy-dom - - jsdom - - less - - sass - - stylus - - sugarss - - supports-color - - terser dev: true /data-uri-to-buffer/3.0.1: @@ -2632,6 +2827,14 @@ packages: resolution: {integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==} dev: true + /easy-table/1.2.0: + resolution: {integrity: sha512-OFzVOv03YpvtcWGe5AayU5G2hgybsg3iqA6drU8UaoZyB9jLGMTrz9+asnLp/E+6qPh88yEI1gvyZFZ41dmgww==} + dependencies: + ansi-regex: 5.0.1 + optionalDependencies: + wcwidth: 1.0.1 + dev: true + /ecdsa-sig-formatter/1.0.11: resolution: {integrity: sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==} dependencies: @@ -2717,39 +2920,260 @@ packages: which-typed-array: 1.1.9 dev: true - /es-array-method-boxes-properly/1.0.0: - resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} + /es-array-method-boxes-properly/1.0.0: + resolution: {integrity: sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA==} + dev: true + + /es-get-iterator/1.1.2: + resolution: {integrity: sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==} + dependencies: + call-bind: 1.0.2 + get-intrinsic: 1.1.3 + has-symbols: 1.0.3 + is-arguments: 1.1.1 + is-map: 2.0.2 + is-set: 2.0.2 + is-string: 1.0.7 + isarray: 2.0.5 + dev: true + + /es-set-tostringtag/2.0.1: + resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} + engines: {node: '>= 0.4'} + dependencies: + get-intrinsic: 1.1.3 + has: 1.0.3 + has-tostringtag: 1.0.0 + dev: true + + /es-to-primitive/1.2.1: + resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} + engines: {node: '>= 0.4'} + dependencies: + is-callable: 1.2.7 + is-date-object: 1.0.5 + is-symbol: 1.0.4 + dev: true + + /esbuild-android-64/0.15.18: + resolution: {integrity: sha512-wnpt3OXRhcjfIDSZu9bnzT4/TNTDsOUvip0foZOUBG7QbSt//w3QV4FInVJxNhKc/ErhUxc5z4QjHtMi7/TbgA==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-android-arm64/0.15.18: + resolution: {integrity: sha512-G4xu89B8FCzav9XU8EjsXacCKSG2FT7wW9J6hOc18soEHJdtWu03L3TQDGf0geNxfLTtxENKBzMSq9LlbjS8OQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-64/0.15.18: + resolution: {integrity: sha512-2WAvs95uPnVJPuYKP0Eqx+Dl/jaYseZEUUT1sjg97TJa4oBtbAKnPnl3b5M9l51/nbx7+QAEtuummJZW0sBEmg==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-darwin-arm64/0.15.18: + resolution: {integrity: sha512-tKPSxcTJ5OmNb1btVikATJ8NftlyNlc8BVNtyT/UAr62JFOhwHlnoPrhYWz09akBLHI9nElFVfWSTSRsrZiDUA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-64/0.15.18: + resolution: {integrity: sha512-TT3uBUxkteAjR1QbsmvSsjpKjOX6UkCstr8nMr+q7zi3NuZ1oIpa8U41Y8I8dJH2fJgdC3Dj3CXO5biLQpfdZA==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-freebsd-arm64/0.15.18: + resolution: {integrity: sha512-R/oVr+X3Tkh+S0+tL41wRMbdWtpWB8hEAMsOXDumSSa6qJR89U0S/PpLXrGF7Wk/JykfpWNokERUpCeHDl47wA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-32/0.15.18: + resolution: {integrity: sha512-lphF3HiCSYtaa9p1DtXndiQEeQDKPl9eN/XNoBf2amEghugNuqXNZA/ZovthNE2aa4EN43WroO0B85xVSjYkbg==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-64/0.15.18: + resolution: {integrity: sha512-hNSeP97IviD7oxLKFuii5sDPJ+QHeiFTFLoLm7NZQligur8poNOWGIgpQ7Qf8Balb69hptMZzyOBIPtY09GZYw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm/0.15.18: + resolution: {integrity: sha512-UH779gstRblS4aoS2qpMl3wjg7U0j+ygu3GjIeTonCcN79ZvpPee12Qun3vcdxX+37O5LFxz39XeW2I9bybMVA==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-arm64/0.15.18: + resolution: {integrity: sha512-54qr8kg/6ilcxd+0V3h9rjT4qmjc0CccMVWrjOEM/pEcUzt8X62HfBSeZfT2ECpM7104mk4yfQXkosY8Quptug==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-mips64le/0.15.18: + resolution: {integrity: sha512-Mk6Ppwzzz3YbMl/ZZL2P0q1tnYqh/trYZ1VfNP47C31yT0K8t9s7Z077QrDA/guU60tGNp2GOwCQnp+DYv7bxQ==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-ppc64le/0.15.18: + resolution: {integrity: sha512-b0XkN4pL9WUulPTa/VKHx2wLCgvIAbgwABGnKMY19WhKZPT+8BxhZdqz6EgkqCLld7X5qiCY2F/bfpUUlnFZ9w==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-riscv64/0.15.18: + resolution: {integrity: sha512-ba2COaoF5wL6VLZWn04k+ACZjZ6NYniMSQStodFKH/Pu6RxzQqzsmjR1t9QC89VYJxBeyVPTaHuBMCejl3O/xg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-linux-s390x/0.15.18: + resolution: {integrity: sha512-VbpGuXEl5FCs1wDVp93O8UIzl3ZrglgnSQ+Hu79g7hZu6te6/YHgVJxCM2SqfIila0J3k0csfnf8VD2W7u2kzQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /esbuild-netbsd-64/0.15.18: + resolution: {integrity: sha512-98ukeCdvdX7wr1vUYQzKo4kQ0N2p27H7I11maINv73fVEXt2kyh4K4m9f35U1K43Xc2QGXlzAw0K9yoU7JUjOg==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true dev: true + optional: true - /es-get-iterator/1.1.2: - resolution: {integrity: sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==} - dependencies: - call-bind: 1.0.2 - get-intrinsic: 1.1.3 - has-symbols: 1.0.3 - is-arguments: 1.1.1 - is-map: 2.0.2 - is-set: 2.0.2 - is-string: 1.0.7 - isarray: 2.0.5 + /esbuild-openbsd-64/0.15.18: + resolution: {integrity: sha512-yK5NCcH31Uae076AyQAXeJzt/vxIo9+omZRKj1pauhk3ITuADzuOx5N2fdHrAKPxN+zH3w96uFKlY7yIn490xQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true dev: true + optional: true - /es-set-tostringtag/2.0.1: - resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} - engines: {node: '>= 0.4'} + /esbuild-register/3.4.2_esbuild@0.17.3: + resolution: {integrity: sha512-kG/XyTDyz6+YDuyfB9ZoSIOOmgyFCH+xPRtsCa8W85HLRV5Csp+o3jWVbOSHgSLfyLc5DmP+KFDNwty4mEjC+Q==} + peerDependencies: + esbuild: '>=0.12 <1' dependencies: - get-intrinsic: 1.1.3 - has: 1.0.3 - has-tostringtag: 1.0.0 + debug: 4.3.4 + esbuild: 0.17.3 + transitivePeerDependencies: + - supports-color dev: true - /es-to-primitive/1.2.1: - resolution: {integrity: sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==} - engines: {node: '>= 0.4'} - dependencies: - is-callable: 1.2.7 - is-date-object: 1.0.5 - is-symbol: 1.0.4 + /esbuild-sunos-64/0.15.18: + resolution: {integrity: sha512-On22LLFlBeLNj/YF3FT+cXcyKPEI263nflYlAhz5crxtp3yRG1Ugfr7ITyxmCmjm4vbN/dGrb/B7w7U8yJR9yw==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-32/0.15.18: + resolution: {integrity: sha512-o+eyLu2MjVny/nt+E0uPnBxYuJHBvho8vWsC2lV61A7wwTWC3jkN2w36jtA+yv1UgYkHRihPuQsL23hsCYGcOQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-64/0.15.18: + resolution: {integrity: sha512-qinug1iTTaIIrCorAUjR0fcBk24fjzEedFYhhispP8Oc7SFvs+XeW3YpAKiKp8dRpizl4YYAhxMjlftAMJiaUw==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild-windows-arm64/0.15.18: + resolution: {integrity: sha512-q9bsYzegpZcLziq0zgUi5KqGVtfhjxGbnksaBFYmWLxeV/S1fK4OLdq2DFYnXcLMjlZw2L0jLsk1eGoB522WXQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + + /esbuild/0.15.18: + resolution: {integrity: sha512-x/R72SmW3sSFRm5zrrIjAhCeQSAWoni3CmHEqfQrZIQTM3lVCdehdwuIqaOtfC2slvpdlLa62GYoN8SxT23m6Q==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.15.18 + '@esbuild/linux-loong64': 0.15.18 + esbuild-android-64: 0.15.18 + esbuild-android-arm64: 0.15.18 + esbuild-darwin-64: 0.15.18 + esbuild-darwin-arm64: 0.15.18 + esbuild-freebsd-64: 0.15.18 + esbuild-freebsd-arm64: 0.15.18 + esbuild-linux-32: 0.15.18 + esbuild-linux-64: 0.15.18 + esbuild-linux-arm: 0.15.18 + esbuild-linux-arm64: 0.15.18 + esbuild-linux-mips64le: 0.15.18 + esbuild-linux-ppc64le: 0.15.18 + esbuild-linux-riscv64: 0.15.18 + esbuild-linux-s390x: 0.15.18 + esbuild-netbsd-64: 0.15.18 + esbuild-openbsd-64: 0.15.18 + esbuild-sunos-64: 0.15.18 + esbuild-windows-32: 0.15.18 + esbuild-windows-64: 0.15.18 + esbuild-windows-arm64: 0.15.18 dev: true /esbuild/0.16.15: @@ -2782,6 +3206,36 @@ packages: '@esbuild/win32-x64': 0.16.15 dev: true + /esbuild/0.17.3: + resolution: {integrity: sha512-9n3AsBRe6sIyOc6kmoXg2ypCLgf3eZSraWFRpnkto+svt8cZNuKTkb1bhQcitBcvIqjNiK7K0J3KPmwGSfkA8g==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/android-arm': 0.17.3 + '@esbuild/android-arm64': 0.17.3 + '@esbuild/android-x64': 0.17.3 + '@esbuild/darwin-arm64': 0.17.3 + '@esbuild/darwin-x64': 0.17.3 + '@esbuild/freebsd-arm64': 0.17.3 + '@esbuild/freebsd-x64': 0.17.3 + '@esbuild/linux-arm': 0.17.3 + '@esbuild/linux-arm64': 0.17.3 + '@esbuild/linux-ia32': 0.17.3 + '@esbuild/linux-loong64': 0.17.3 + '@esbuild/linux-mips64el': 0.17.3 + '@esbuild/linux-ppc64': 0.17.3 + '@esbuild/linux-riscv64': 0.17.3 + '@esbuild/linux-s390x': 0.17.3 + '@esbuild/linux-x64': 0.17.3 + '@esbuild/netbsd-x64': 0.17.3 + '@esbuild/openbsd-x64': 0.17.3 + '@esbuild/sunos-x64': 0.17.3 + '@esbuild/win32-arm64': 0.17.3 + '@esbuild/win32-ia32': 0.17.3 + '@esbuild/win32-x64': 0.17.3 + dev: true + /escalade/3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -3195,6 +3649,12 @@ packages: path-exists: 4.0.0 dev: true + /find-yarn-workspace-root/2.0.0: + resolution: {integrity: sha512-1IMnbjt4KzsQfnhnzNd8wUEgXZ44IzZaZmnLYx7D5FZlaHt2gW20Cri8Q+E/t5tIj4+epTBub+2Zxu/vNILzqQ==} + dependencies: + micromatch: 4.0.5 + dev: true + /flat-cache/3.0.4: resolution: {integrity: sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==} engines: {node: ^10.12.0 || >=12.0.0} @@ -3247,6 +3707,16 @@ packages: universalify: 0.1.2 dev: true + /fs-extra/9.1.0: + resolution: {integrity: sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==} + engines: {node: '>=10'} + dependencies: + at-least-node: 1.0.0 + graceful-fs: 4.2.10 + jsonfile: 6.1.0 + universalify: 2.0.0 + dev: true + /fs.realpath/1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} dev: true @@ -3340,6 +3810,10 @@ packages: get-intrinsic: 1.1.3 dev: true + /get-tsconfig/4.3.0: + resolution: {integrity: sha512-YCcF28IqSay3fqpIu5y3Krg/utCBHBeoflkZyHj/QcqI2nrLPC3ZegS9CmIo+hJb8K7aiGsuUl7PwWVjNG2HQQ==} + dev: true + /get-uri/3.0.2: resolution: {integrity: sha512-+5s0SJbGoyiJTZZ2JTpFPLMPSch72KEqGOTvQsBqg0RBWvwhWUSYZFAtz3TPW0GXJuLBJPts1E241iHg+VRfhg==} engines: {node: '>= 6'} @@ -3459,6 +3933,17 @@ packages: slash: 4.0.0 dev: true + /globby/13.1.3: + resolution: {integrity: sha512-8krCNHXvlCgHDpegPzleMq07yMYTO2sXKASmZmquEYWEmCx6J5UTRbp5RwMJkTJGtcQ44YpiUYUiN0b9mzy8Bw==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + dependencies: + dir-glob: 3.0.1 + fast-glob: 3.2.12 + ignore: 5.2.4 + merge2: 1.4.1 + slash: 4.0.0 + dev: true + /gopd/1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} dependencies: @@ -3790,6 +4275,13 @@ packages: engines: {node: '>= 0.4'} dev: true + /is-ci/2.0.0: + resolution: {integrity: sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w==} + hasBin: true + dependencies: + ci-info: 2.0.0 + dev: true + /is-ci/3.0.1: resolution: {integrity: sha512-ZYvCgrefwqoQ6yTyYUbQu64HsITZ3NfKX1lzaEYdkTDcfKzzCI/wthRRYKkdjHKFVgNiXKAKm65Zo1pk2as/QQ==} hasBin: true @@ -4122,6 +4614,11 @@ packages: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} dev: true + /json-parse-even-better-errors/3.0.0: + resolution: {integrity: sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + /json-schema-traverse/0.4.1: resolution: {integrity: sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==} dev: true @@ -4213,6 +4710,43 @@ packages: engines: {node: '>=0.10.0'} dev: true + /klaw-sync/6.0.0: + resolution: {integrity: sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ==} + dependencies: + graceful-fs: 4.2.10 + dev: true + + /knip/1.9.0: + resolution: {integrity: sha512-0tEfs0eY9U+B8g1OxdMolejJCk9LnFirVWufeM5fQqzT7uq+l2WtrOvxR1Zx1q4oaJU9qf39oH2LDk9TokuO6g==} + engines: {node: '>=16.17.0 <17 || >=18.6.0'} + hasBin: true + requiresBuild: true + dependencies: + '@esbuild-kit/esm-loader': 2.5.4 + '@npmcli/map-workspaces': 3.0.1 + '@snyk/github-codeowners': 1.1.0 + chalk: 5.2.0 + easy-table: 1.2.0 + esbuild: 0.17.3 + esbuild-register: 3.4.2_esbuild@0.17.3 + eslint: 8.32.0 + fast-glob: 3.2.12 + get-tsconfig: 4.3.0 + globby: 13.1.3 + js-yaml: 4.1.0 + micromatch: 4.0.5 + nano-memoize: 2.0.0 + patch-package: 6.5.1 + pretty-ms: 8.0.0 + strip-json-comments: 5.0.0 + summary: 2.1.0 + ts-morph: 17.0.1 + ts-morph-helpers: 0.6.3 + zod: 3.20.2 + transitivePeerDependencies: + - supports-color + dev: true + /latest-version/7.0.0: resolution: {integrity: sha512-KvNT4XqAMzdcL6ka6Tl3i2lYeFDgXNCuIX+xNx6ZMVR1dFq+idXd9FLKNMOIx0t9mJ9/HudyX4oZWXZQ0UJHeg==} engines: {node: '>=14.16'} @@ -4642,6 +5176,10 @@ packages: resolution: {integrity: sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==} dev: true + /nano-memoize/2.0.0: + resolution: {integrity: sha512-/m8k0gPWeZUYW8yQDchzxAkHt9Sw5DT8h+6QtRGu23OUj3d7qCXfO9+RU2O/zptPM1+fJCi4Tku4XoYN8s7AYQ==} + dev: true + /nanoid/3.3.4: resolution: {integrity: sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -4680,6 +5218,10 @@ packages: type-fest: 2.19.0 dev: true + /nice-try/1.0.5: + resolution: {integrity: sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==} + dev: true + /node-domexception/1.0.0: resolution: {integrity: sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==} engines: {node: '>=10.5.0'} @@ -4739,6 +5281,11 @@ packages: engines: {node: '>=14.16'} dev: true + /npm-normalize-package-bin/3.0.0: + resolution: {integrity: sha512-g+DPQSkusnk7HYXr75NtzkIP4+N81i3RPsGFidF3DzHd9MT9wWngmqoeg/fnHFz5MNdtG4w03s+QnhewSLTT2Q==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dev: true + /npm-package-json-lint-config-default/5.0.0_ogc4gh2psjwvuyt5uwb7bwur54: resolution: {integrity: sha512-guf+bECFtVz6sekPBmkf/m/k8gbX16F5S9wZI6cvhrkSEl+AhM2GoCU6alOhbaGbkn0PgbNRcRrsuu4jWEZFHQ==} engines: {node: '>=14.0.0', npm: '>=6.0.0'} @@ -4843,6 +5390,14 @@ packages: mimic-fn: 4.0.0 dev: true + /open/7.4.2: + resolution: {integrity: sha512-MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==} + engines: {node: '>=8'} + dependencies: + is-docker: 2.2.1 + is-wsl: 2.2.0 + dev: true + /open/8.4.0: resolution: {integrity: sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==} engines: {node: '>=12'} @@ -5025,6 +5580,11 @@ packages: lines-and-columns: 1.2.4 dev: true + /parse-ms/3.0.0: + resolution: {integrity: sha512-Tpb8Z7r7XbbtBTrM9UhpkzzaMrqA2VXMT3YChzYltwV3P3pM6t8wl7TvpMnSTosz1aQAdVib7kdoys7vYOPerw==} + engines: {node: '>=12'} + dev: true + /parse-path/7.0.0: resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} dependencies: @@ -5037,6 +5597,27 @@ packages: parse-path: 7.0.0 dev: true + /patch-package/6.5.1: + resolution: {integrity: sha512-I/4Zsalfhc6bphmJTlrLoOcAF87jcxko4q0qsv4bGcurbr8IskEOtdnt9iCmsQVGL1B+iUhSQqweyTLJfCF9rA==} + engines: {node: '>=10', npm: '>5'} + hasBin: true + dependencies: + '@yarnpkg/lockfile': 1.1.0 + chalk: 4.1.2 + cross-spawn: 6.0.5 + find-yarn-workspace-root: 2.0.0 + fs-extra: 9.1.0 + is-ci: 2.0.0 + klaw-sync: 6.0.0 + minimist: 1.2.7 + open: 7.4.2 + rimraf: 2.7.1 + semver: 5.7.1 + slash: 2.0.0 + tmp: 0.0.33 + yaml: 1.10.2 + dev: true + /path-browserify/1.0.1: resolution: {integrity: sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==} dev: true @@ -5056,6 +5637,11 @@ packages: engines: {node: '>=0.10.0'} dev: true + /path-key/2.0.1: + resolution: {integrity: sha512-fEHGKCSmUSDPv4uoj8AlD+joPlq3peND+HRYyxFz4KPw4z926S/b8rIuFs2FYJg3BwsxJf6A9/3eIdLaYC+9Dw==} + engines: {node: '>=4'} + dev: true + /path-key/3.1.1: resolution: {integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==} engines: {node: '>=8'} @@ -5163,6 +5749,13 @@ packages: hasBin: true dev: true + /pretty-ms/8.0.0: + resolution: {integrity: sha512-ASJqOugUF1bbzI35STMBUpZqdfYKlJugy6JBziGi2EE+AL5JPJGSzvpeVXojxrr0ViUYoToUjb5kjSEGf7Y83Q==} + engines: {node: '>=14.16'} + dependencies: + parse-ms: 3.0.0 + dev: true + /promise.allsettled/1.0.6: resolution: {integrity: sha512-22wJUOD3zswWFqgwjNHa1965LvqTX87WPu/lreY2KSd7SVcERfuZ4GfUaOnJNnvtoIv2yXT/W00YIGMetXtFXg==} engines: {node: '>= 0.4'} @@ -5249,6 +5842,14 @@ packages: strip-json-comments: 2.0.1 dev: true + /read-package-json-fast/3.0.2: + resolution: {integrity: sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==} + engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + dependencies: + json-parse-even-better-errors: 3.0.0 + npm-normalize-package-bin: 3.0.0 + dev: true + /read-pkg-up/7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} engines: {node: '>=8'} @@ -5484,6 +6085,13 @@ packages: resolution: {integrity: sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==} dev: true + /rimraf/2.7.1: + resolution: {integrity: sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==} + hasBin: true + dependencies: + glob: 7.2.3 + dev: true + /rimraf/3.0.2: resolution: {integrity: sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==} hasBin: true @@ -5594,6 +6202,13 @@ packages: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} dev: true + /shebang-command/1.2.0: + resolution: {integrity: sha512-EV3L1+UQWGor21OmnvojK36mhg+TyIKDh3iFBKBohr5xeXIhNBcx8oWdgkTEEQ+BEFFYdLRuqMfd5L84N1V5Vg==} + engines: {node: '>=0.10.0'} + dependencies: + shebang-regex: 1.0.0 + dev: true + /shebang-command/2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -5601,6 +6216,11 @@ packages: shebang-regex: 3.0.0 dev: true + /shebang-regex/1.0.0: + resolution: {integrity: sha512-wpoSFAxys6b2a2wHZ1XpDSgD7N9iVjg29Ph9uV/uaP9Ex/KXlkTZTeddxDPSYQpgvzKLGJke2UU0AzoGCjNIvQ==} + engines: {node: '>=0.10.0'} + dev: true + /shebang-regex/3.0.0: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} @@ -5640,6 +6260,11 @@ packages: resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} dev: true + /slash/2.0.0: + resolution: {integrity: sha512-ZYKh3Wh2z1PpEXWr0MpSBZ0V6mZHAQfYevttO11c51CaWjGTaadiKZ+wVt1PbMlDV5qhMFslpZCemhwOK7C89A==} + engines: {node: '>=6'} + dev: true + /slash/3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -5864,12 +6489,21 @@ packages: engines: {node: '>=8'} dev: true + /strip-json-comments/5.0.0: + resolution: {integrity: sha512-V1LGY4UUo0jgwC+ELQ2BNWfPa17TIuwBLg+j1AA/9RPzKINl1lhxVEu2r+ZTTO8aetIsUzE5Qj6LMSBkoGYKKw==} + engines: {node: '>=14.16'} + dev: true + /strip-literal/1.0.0: resolution: {integrity: sha512-5o4LsH1lzBzO9UFH63AJ2ad2/S2AVx6NtjOcaz+VTT2h1RiRvbipW72z8M/lxEhcPHDBQwpDrnTF7sXy/7OwCQ==} dependencies: acorn: 8.8.1 dev: true + /summary/2.1.0: + resolution: {integrity: sha512-nMIjMrd5Z2nuB2RZCKJfFMjgS3fygbeyGk9PxPPaJR1RIcyN9yn4A63Isovzm3ZtQuEkLBVgMdPup8UeLH7aQw==} + dev: true + /supports-color/5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -5964,28 +6598,17 @@ packages: engines: {node: '>=8'} dev: true - /true-myth/4.1.1: - resolution: {integrity: sha512-rqy30BSpxPznbbTcAcci90oZ1YR4DqvKcNXNerG5gQBU2v4jk0cygheiul5J6ExIMrgDVuanv/MkGfqZbKrNNg==} - engines: {node: 10.* || >= 12.*} - dev: true - - /ts-morph/13.0.3: - resolution: {integrity: sha512-pSOfUMx8Ld/WUreoSzvMFQG5i9uEiWIsBYjpU9+TTASOeUa89j5HykomeqVULm1oqWtBdleI3KEFRLrlA3zGIw==} + /ts-morph-helpers/0.6.3: + resolution: {integrity: sha512-/q4gUR9LEwpm+EFTbDy9QBsf0KwnQ3m9sidduFlERVHvsoh1aDxoTsz+oFFVbOTUyc/kd/5IDQUoUWZ5S3dSyQ==} dependencies: - '@ts-morph/common': 0.12.3 - code-block-writer: 11.0.3 + ts-morph: 17.0.1 dev: true - /ts-prune/0.10.3: - resolution: {integrity: sha512-iS47YTbdIcvN8Nh/1BFyziyUqmjXz7GVzWu02RaZXqb+e/3Qe1B7IQ4860krOeCGUeJmterAlaM2FRH0Ue0hjw==} - hasBin: true + /ts-morph/17.0.1: + resolution: {integrity: sha512-10PkHyXmrtsTvZSL+cqtJLTgFXkU43Gd0JCc0Rw6GchWbqKe0Rwgt1v3ouobTZwQzF1mGhDeAlWYBMGRV7y+3g==} dependencies: - commander: 6.2.1 - cosmiconfig: 7.1.0 - json5: 2.2.3 - lodash: 4.17.21 - true-myth: 4.1.1 - ts-morph: 13.0.3 + '@ts-morph/common': 0.18.1 + code-block-writer: 11.0.3 dev: true /tslib/1.14.1: @@ -6208,27 +6831,6 @@ packages: builtins: 5.0.1 dev: true - /vite-node/0.26.3_@types+node@18.11.18: - resolution: {integrity: sha512-Te2bq0Bfvq6XiO718I+1EinMjpNYKws6SNHKOmVbILAQimKoZKDd+IZLlkaYcBXPpK3HFe2U80k8Zw+m3w/a2w==} - engines: {node: '>=v14.16.0'} - hasBin: true - dependencies: - debug: 4.3.4 - mlly: 1.1.0 - pathe: 0.2.0 - source-map: 0.6.1 - source-map-support: 0.5.21 - vite: 4.0.4_@types+node@18.11.18 - transitivePeerDependencies: - - '@types/node' - - less - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vite-node/0.27.2_@types+node@18.11.18: resolution: {integrity: sha512-IDwuVhslF10qCnWOGJui7/2KksAOBHi+UbVo6Pqt4f5lgn+kS2sVvYDsETRG5PSuslisGB5CFGvb9I6FQgymBQ==} engines: {node: '>=v14.16.0'} @@ -6286,52 +6888,6 @@ packages: fsevents: 2.3.2 dev: true - /vitest/0.26.3: - resolution: {integrity: sha512-FmHxU9aUCxTi23keF3vxb/Qp0lYXaaJ+jRLGOUmMS3qVTOJvgGE+f1VArupA6pEhaG2Ans4X+zV9dqM5WISMbg==} - engines: {node: '>=v14.16.0'} - hasBin: true - peerDependencies: - '@edge-runtime/vm': '*' - '@vitest/browser': '*' - '@vitest/ui': '*' - happy-dom: '*' - jsdom: '*' - peerDependenciesMeta: - '@edge-runtime/vm': - optional: true - '@vitest/browser': - optional: true - '@vitest/ui': - optional: true - happy-dom: - optional: true - jsdom: - optional: true - dependencies: - '@types/chai': 4.3.4 - '@types/chai-subset': 1.3.3 - '@types/node': 18.11.18 - acorn: 8.8.1 - acorn-walk: 8.2.0 - chai: 4.3.7 - debug: 4.3.4 - local-pkg: 0.4.2 - source-map: 0.6.1 - strip-literal: 1.0.0 - tinybench: 2.3.1 - tinypool: 0.3.0 - tinyspy: 1.0.2 - vite: 4.0.4_@types+node@18.11.18 - vite-node: 0.26.3_@types+node@18.11.18 - transitivePeerDependencies: - - less - - sass - - stylus - - sugarss - - supports-color - - terser - dev: true - /vitest/0.27.2: resolution: {integrity: sha512-y7tdsL2uaQy+KF18AlmNHZe29ukyFytlxrpSTwwmgLE2XHR/aPucJP9FLjWoqjgqFlXzRAjHlFJLU+HDyI/OsA==} engines: {node: '>=v14.16.0'} @@ -6442,6 +6998,13 @@ packages: is-typed-array: 1.1.10 dev: true + /which/1.3.1: + resolution: {integrity: sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==} + hasBin: true + dependencies: + isexe: 2.0.0 + dev: true + /which/2.0.2: resolution: {integrity: sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==} engines: {node: '>= 8'} @@ -6602,3 +7165,7 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} dev: true + + /zod/3.20.2: + resolution: {integrity: sha512-1MzNQdAvO+54H+EaK5YpyEy0T+Ejo/7YLHS93G3RnYWh5gaotGHwGeN/ZO687qEDU2y4CdStQYXVHIgrUl5UVQ==} + dev: true diff --git a/script/setup.js b/script/setup.js index 85ccf7ce..365b6829 100644 --- a/script/setup.js +++ b/script/setup.js @@ -119,6 +119,12 @@ try { "./package.json", ], [/## Explainer.*## Usage/s, `## Usage`, "./README.md"], + [ + `["src/index.ts!", "script/setup*.js"]`, + `"src/index.ts!"`, + "./knip.jsonc", + ], + [`["src/**/*.ts!", "script/**/*.js"]`, `"src/**/*.ts!"`, "./knip.jsonc"], ]) { await replace({ files, from, to }); } @@ -230,12 +236,12 @@ try { checks: [ { context: "build" }, { context: "compliance" }, + { context: "knip" }, { context: "lint" }, { context: "markdown" }, { context: "package" }, { context: "packages" }, { context: "prettier" }, - { context: "prune" }, { context: "spelling" }, { context: "test" }, ],