diff --git a/.all-contributorsrc b/.all-contributorsrc index fdf8aba8..23063be3 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -1,7 +1,5 @@ { - "badgeTemplate": "\"All 👪\" src=\"https://img.shields.io/badge/all_contributors-<%= contributors.length %>_👪-21bb42.svg\" />", - "commit": false, - "commitConvention": "angular", + "badgeTemplate": "\t\"👪\" src=\"https://img.shields.io/badge/%F0%9F%91%AA_all_contributors-<%= contributors.length %>-21bb42.svg\" />", "contributors": [ { "login": "b3rnhard", @@ -24,7 +22,9 @@ "infra", "doc", "maintenance", - "ideas" + "ideas", + "content", + "projectManagement" ] }, { @@ -238,15 +238,9 @@ ] } ], - "contributorsPerLine": 7, "contributorsSortAlphabetically": true, - "files": [ - "README.md" - ], - "imageSize": 100, "projectName": "eslint-plugin-package-json", "projectOwner": "JoshuaKGoldberg", - "repoHost": "https://github.com", "repoType": "github", - "commitType": "docs" + "commitConvention": "angular" } diff --git a/.eslint-doc-generatorrc.js b/.eslint-doc-generatorrc.js deleted file mode 100644 index cfe70d16..00000000 --- a/.eslint-doc-generatorrc.js +++ /dev/null @@ -1,6 +0,0 @@ -/** @type {import('eslint-doc-generator').GenerateOptions} */ -const config = { - ignoreConfig: ["legacy-recommended"], -}; - -module.exports = config; diff --git a/.eslint-doc-generatorrc.mjs b/.eslint-doc-generatorrc.mjs new file mode 100644 index 00000000..2e0df98f --- /dev/null +++ b/.eslint-doc-generatorrc.mjs @@ -0,0 +1,17 @@ +import prettier from "prettier"; + +/** @type {import('eslint-doc-generator').GenerateOptions} */ +const config = { + configEmoji: [ + ["recommended", "✅"], + ["legacy-recommended", "✔️"], + ], + postprocess: async (content, path) => + prettier.format(content, { + ...(await prettier.resolveConfig(path)), + parser: "markdown", + }), + ruleDocTitleFormat: "name", +}; + +export default config; diff --git a/.github/CODE_OF_CONDUCT.md b/.github/CODE_OF_CONDUCT.md index 3ab1b0bd..84f95ffd 100644 --- a/.github/CODE_OF_CONDUCT.md +++ b/.github/CODE_OF_CONDUCT.md @@ -17,24 +17,24 @@ diverse, inclusive, and healthy community. Examples of behavior that contributes to a positive environment for our community include: -- Demonstrating empathy and kindness toward other people -- Being respectful of differing opinions, viewpoints, and experiences -- Giving and gracefully accepting constructive feedback -- Accepting responsibility and apologizing to those affected by our mistakes, - and learning from the experience -- Focusing on what is best not just for us as individuals, but for the overall - community +- Demonstrating empathy and kindness toward other people +- Being respectful of differing opinions, viewpoints, and experiences +- Giving and gracefully accepting constructive feedback +- Accepting responsibility and apologizing to those affected by our mistakes, + and learning from the experience +- Focusing on what is best not just for us as individuals, but for the overall + community Examples of unacceptable behavior include: -- The use of sexualized language or imagery, and sexual attention or advances of - any kind -- Trolling, insulting or derogatory comments, and personal or political attacks -- Public or private harassment -- Publishing others' private information, such as a physical or email address, - without their explicit permission -- Other conduct which could reasonably be considered inappropriate in a - professional setting +- The use of sexualized language or imagery, and sexual attention or advances of + any kind +- Trolling, insulting or derogatory comments, and personal or political attacks +- Public or private harassment +- Publishing others' private information, such as a physical or email address, + without their explicit permission +- Other conduct which could reasonably be considered inappropriate in a + professional setting ## Enforcement Responsibilities diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index 1a694eae..7d9a7860 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -1,6 +1,6 @@ # Contributing -Thanks for your interest in contributing to `eslint-plugin-package-json`! 💖 +Thanks for your interest in contributing to `eslint-plugin-package-json`! 🗂 > After this page, see [DEVELOPMENT.md](./DEVELOPMENT.md) for local development instructions. @@ -93,5 +93,5 @@ Please do ping the maintainer who merged your PR if that doesn't happen within 2 ## Emojis & Appreciation If you made it all the way to the end, bravo dear user, we love you. -Please include your favorite emoji in the bottom of your issues and PRs to signal to us that you did in fact read this file and are trying to conform to it as best as possible. -💖 is a good starter if you're not sure which to use. +Please include an emoji in the bottom of your issues and PRs to signal to us that you did in fact read this file and are trying to conform to it as best as possible. +🗂 is a good starter if you're not sure which to use. diff --git a/.github/DEVELOPMENT.md b/.github/DEVELOPMENT.md index 96ddecbd..15f47752 100644 --- a/.github/DEVELOPMENT.md +++ b/.github/DEVELOPMENT.md @@ -3,7 +3,7 @@ After [forking the repo from GitHub](https://help.github.com/articles/fork-a-repo) and [installing pnpm](https://pnpm.io/installation): ```shell -git clone https://github.com//eslint-plugin-package-json +git clone https://github.com/(your-name-here)/eslint-plugin-package-json cd eslint-plugin-package-json pnpm install ``` @@ -25,6 +25,14 @@ Add `--watch` to run the builder in a watch mode that continuously cleans and re pnpm build --watch ``` +### Building Docs + +Run [`eslint-doc-generator`](https://github.com/bmish/eslint-doc-generator) to generate Markdown files documenting rules. + +```shell +pnpm build:docs +``` + ## Formatting [Prettier](https://prettier.io) is used to format code. @@ -41,11 +49,12 @@ pnpm format --write 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:packages` ([pnpm dedupe --check](https://pnpm.io/cli/dedupe)): Checks for unnecessarily duplicated packages in the `pnpm-lock.yml` file -- `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 +- `pnpm lint:docs` ([eslint-doc-generator](https://github.com/bmish/eslint-doc-generator)): Generates and validates documentation for ESLint rules +- `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:packages` ([pnpm dedupe --check](https://pnpm.io/cli/dedupe)): Checks for unnecessarily duplicated packages in the `pnpm-lock.yml` file +- `pnpm lint:spelling` ([cspell](https://cspell.org)): Spell checks across all source files Read the individual documentation for each linter to understand how it can be configured and used best. @@ -55,7 +64,7 @@ For example, ESLint can be run with `--fix` to auto-fix some lint rule complaint pnpm run lint --fix ``` -Note that you'll likely need to run `pnpm build` before `pnpm lint` so that lint rules which check the file system can pick up on any built files. +Note that you'll need to run `pnpm build` before `pnpm lint` so that lint rules which check the file system can pick up on any built files. ## Testing diff --git a/.github/ISSUE_TEMPLATE/01-bug.yml b/.github/ISSUE_TEMPLATE/01-bug.yml index 409319b9..9eda362d 100644 --- a/.github/ISSUE_TEMPLATE/01-bug.yml +++ b/.github/ISSUE_TEMPLATE/01-bug.yml @@ -26,8 +26,12 @@ body: description: Any additional info you'd like to provide. label: Additional Info type: textarea + description: Report a bug trying to run the code + labels: - "type: bug" + name: 🐛 Bug + title: "🐛 Bug: " diff --git a/.github/ISSUE_TEMPLATE/02-documentation.yml b/.github/ISSUE_TEMPLATE/02-documentation.yml index b55a503b..5171fa43 100644 --- a/.github/ISSUE_TEMPLATE/02-documentation.yml +++ b/.github/ISSUE_TEMPLATE/02-documentation.yml @@ -1,7 +1,7 @@ body: - attributes: description: If any of these required steps are not taken, we may not be able to review your issue. Help us to help you! - label: Bug Report Checklist + label: Documentation Report Checklist options: - label: I have pulled the latest `main` branch of the repository. required: true @@ -18,8 +18,12 @@ body: description: Any additional info you'd like to provide. label: Additional Info type: textarea + description: Report a typo or missing area of documentation + labels: - "area: documentation" + name: 📝 Documentation + title: "📝 Documentation: " diff --git a/.github/ISSUE_TEMPLATE/03-feature.yml b/.github/ISSUE_TEMPLATE/03-feature.yml index 2d170dae..9820f745 100644 --- a/.github/ISSUE_TEMPLATE/03-feature.yml +++ b/.github/ISSUE_TEMPLATE/03-feature.yml @@ -1,10 +1,8 @@ body: - attributes: description: If any of these required steps are not taken, we may not be able to review your issue. Help us to help you! - label: Bug Report Checklist + label: Feature Request Checklist options: - - label: I have tried restarting my IDE and the issue persists. - required: true - label: I have pulled the latest `main` branch of the repository. required: true - label: I have [searched for related issues](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=is%3Aissue) and found none that matched my issue. @@ -20,8 +18,12 @@ body: description: Any additional info you'd like to provide. label: Additional Info type: textarea + description: Request that a new feature be added or an existing feature improved + labels: - "type: feature" + name: 🚀 Feature + title: "🚀 Feature: " diff --git a/.github/ISSUE_TEMPLATE/04-tooling.yml b/.github/ISSUE_TEMPLATE/04-tooling.yml index 42bdfae7..df3f81db 100644 --- a/.github/ISSUE_TEMPLATE/04-tooling.yml +++ b/.github/ISSUE_TEMPLATE/04-tooling.yml @@ -1,7 +1,7 @@ body: - attributes: description: If any of these required steps are not taken, we may not be able to review your issue. Help us to help you! - label: Bug Report Checklist + label: Tooling Report Checklist options: - label: I have tried restarting my IDE and the issue persists. required: true @@ -20,8 +20,12 @@ body: description: Any additional info you'd like to provide. label: Additional Info type: textarea + description: Report a bug or request an enhancement in repository tooling + labels: - "area: tooling" + name: 🛠 Tooling + title: "🛠 Tooling: " diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index a5d7dc6a..ede3f994 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -1,12 +1,12 @@ - ## PR Checklist -- [ ] Addresses an existing open issue: fixes #000 -- [ ] That issue was marked as [`status: accepting prs`](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=is%3Aopen+is%3Aissue+label%3A%22status%3A+accepting+prs%22) -- [ ] Steps in [CONTRIBUTING.md](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/main/.github/CONTRIBUTING.md) were taken +- [ ] Addresses an existing open issue: fixes #000 +- [ ] That issue was marked as [`status: accepting prs`](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues?q=is%3Aopen+is%3Aissue+label%3A%22status%3A+accepting+prs%22) +- [ ] Steps in [CONTRIBUTING.md](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/blob/main/.github/CONTRIBUTING.md) were taken ## Overview diff --git a/.github/SECURITY.md b/.github/SECURITY.md index c2d760d4..08678393 100644 --- a/.github/SECURITY.md +++ b/.github/SECURITY.md @@ -3,7 +3,7 @@ We take all security vulnerabilities seriously. If you have a vulnerability or other security issues to disclose: -- Thank you very much, please do! -- Please send them to us by emailing `git@joshuakgoldberg.com` +- Thank you very much, please do! +- Please send them to us by emailing `git@joshuakgoldberg.com` We appreciate your efforts and responsible disclosure and will make every effort to acknowledge your contributions. diff --git a/.github/actions/prepare/action.yml b/.github/actions/prepare/action.yml index e5dca1a2..410d7a1b 100644 --- a/.github/actions/prepare/action.yml +++ b/.github/actions/prepare/action.yml @@ -8,7 +8,7 @@ runs: - uses: actions/setup-node@v4 with: cache: pnpm - node-version: "18" + node-version: 18 - run: pnpm install --frozen-lockfile shell: bash using: composite diff --git a/.github/renovate.json b/.github/renovate.json index 356375bb..77cb7449 100644 --- a/.github/renovate.json +++ b/.github/renovate.json @@ -1,9 +1,14 @@ { "$schema": "https://docs.renovatebot.com/renovate-schema.json", - "extends": ["config:recommended"], "automerge": true, - "internalChecksFilter": "strict", + "extends": [ + ":preserveSemverRanges", + "config:best-practices", + "replacements:all" + ], + "ignoreDeps": ["codecov/codecov-action"], "labels": ["dependencies"], - "minimumReleaseAge": "3 days", + "minimumReleaseAge": "7 days", + "patch": { "enabled": false }, "postUpdateOptions": ["pnpmDedupe"] } diff --git a/.github/workflows/accessibility-alt-text-bot.yml b/.github/workflows/accessibility-alt-text-bot.yml index 60d0521a..cecd84cf 100644 --- a/.github/workflows/accessibility-alt-text-bot.yml +++ b/.github/workflows/accessibility-alt-text-bot.yml @@ -1,5 +1,6 @@ jobs: accessibility_alt_text_bot: + if: ${{ !endsWith(github.actor, '[bot]') }} runs-on: ubuntu-latest steps: - uses: github/accessibility-alt-text-bot@v1.7.1 diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml deleted file mode 100644 index 057fc542..00000000 --- a/.github/workflows/build.yml +++ /dev/null @@ -1,16 +0,0 @@ -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: ./.github/actions/prepare - - run: pnpm build - - run: node ./lib/index.js - -name: Build - -on: - pull_request: ~ - push: - branches: - - main diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000..3d66e869 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,83 @@ +jobs: + build: + name: Build + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/prepare + - run: pnpm build + - run: node lib/index.js + lint: + name: Lint + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/prepare + - run: pnpm lint + lint_docs: + name: Lint Docs + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/prepare + - run: pnpm build || exit 0 + - run: pnpm lint:docs + lint_knip: + name: Lint Knip + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/prepare + - run: pnpm lint:knip + lint_markdown: + name: Lint Markdown + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/prepare + - run: pnpm lint:md + lint_packages: + name: Lint Packages + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/prepare + - run: pnpm lint:packages + lint_spelling: + name: Lint Spelling + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/prepare + - run: pnpm lint:spelling + prettier: + name: Prettier + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/prepare + - run: pnpm format --list-different + test: + name: Test + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/prepare + - run: pnpm run test --coverage + - if: always() + uses: codecov/codecov-action@v5 + type_check: + name: Type Check + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: ./.github/actions/prepare + - run: pnpm tsc + +name: CI + +on: + pull_request: ~ + push: + branches: + - main diff --git a/.github/workflows/lint-eslint-docs.yml b/.github/workflows/lint-eslint-docs.yml deleted file mode 100644 index eddf79a7..00000000 --- a/.github/workflows/lint-eslint-docs.yml +++ /dev/null @@ -1,15 +0,0 @@ -jobs: - lint_eslint_docs: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: ./.github/actions/prepare - - run: npm run lint:eslint-docs - -name: Lint ESLint Docs - -on: - pull_request: ~ - push: - branches: - - main diff --git a/.github/workflows/lint-knip.yml b/.github/workflows/lint-knip.yml deleted file mode 100644 index 781d52ef..00000000 --- a/.github/workflows/lint-knip.yml +++ /dev/null @@ -1,15 +0,0 @@ -jobs: - lint_knip: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: ./.github/actions/prepare - - run: pnpm lint:knip - -name: Lint Knip - -on: - pull_request: ~ - push: - branches: - - main diff --git a/.github/workflows/lint-markdown.yml b/.github/workflows/lint-markdown.yml deleted file mode 100644 index acac714d..00000000 --- a/.github/workflows/lint-markdown.yml +++ /dev/null @@ -1,15 +0,0 @@ -jobs: - lint_markdown: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: ./.github/actions/prepare - - run: pnpm lint:md - -name: Lint Markdown - -on: - pull_request: ~ - push: - branches: - - main diff --git a/.github/workflows/lint-packages.yml b/.github/workflows/lint-packages.yml deleted file mode 100644 index 87520cac..00000000 --- a/.github/workflows/lint-packages.yml +++ /dev/null @@ -1,15 +0,0 @@ -jobs: - lint_packages: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: ./.github/actions/prepare - - run: pnpm lint:packages - -name: Lint Packages - -on: - pull_request: ~ - push: - branches: - - main diff --git a/.github/workflows/lint-spelling.yml b/.github/workflows/lint-spelling.yml deleted file mode 100644 index ef020b62..00000000 --- a/.github/workflows/lint-spelling.yml +++ /dev/null @@ -1,15 +0,0 @@ -jobs: - lint_spelling: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: ./.github/actions/prepare - - run: pnpm lint:spelling - -name: Lint spelling - -on: - pull_request: ~ - push: - branches: - - main diff --git a/.github/workflows/lint.yml b/.github/workflows/lint.yml deleted file mode 100644 index 49b2ba34..00000000 --- a/.github/workflows/lint.yml +++ /dev/null @@ -1,16 +0,0 @@ -jobs: - lint: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: ./.github/actions/prepare - - run: pnpm build || true - - run: pnpm lint - -name: Lint - -on: - pull_request: ~ - push: - branches: - - main diff --git a/.github/workflows/post-release.yml b/.github/workflows/post-release.yml index 12025cc3..95321800 100644 --- a/.github/workflows/post-release.yml +++ b/.github/workflows/post-release.yml @@ -25,3 +25,7 @@ on: release: types: - published + +permissions: + issues: write + pull-requests: write diff --git a/.github/workflows/prettier.yml b/.github/workflows/prettier.yml deleted file mode 100644 index ae43fc44..00000000 --- a/.github/workflows/prettier.yml +++ /dev/null @@ -1,15 +0,0 @@ -jobs: - prettier: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: ./.github/actions/prepare - - run: pnpm format --list-different - -name: Prettier - -on: - pull_request: ~ - push: - branches: - - main diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 264117b2..29bffa52 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,6 +9,7 @@ jobs: with: fetch-depth: 0 ref: main + token: ${{ secrets.ACCESS_TOKEN }} - uses: ./.github/actions/prepare - run: pnpm build - env: diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml deleted file mode 100644 index d813a56d..00000000 --- a/.github/workflows/test.yml +++ /dev/null @@ -1,17 +0,0 @@ -jobs: - test: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: ./.github/actions/prepare - - run: pnpm run test --coverage - - name: Codecov - uses: codecov/codecov-action@v5 - -name: Test - -on: - pull_request: ~ - push: - branches: - - main diff --git a/.github/workflows/tsc.yml b/.github/workflows/tsc.yml deleted file mode 100644 index 3b20f242..00000000 --- a/.github/workflows/tsc.yml +++ /dev/null @@ -1,15 +0,0 @@ -jobs: - type_check: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: ./.github/actions/prepare - - run: pnpm tsc - -name: Type Check - -on: - pull_request: ~ - push: - branches: - - main diff --git a/.gitignore b/.gitignore index a8bff3bd..67a4fbfa 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ -coverage/ -lib/ -node_modules/ +/coverage +/lib +/node_modules diff --git a/.markdownlintignore b/.markdownlintignore index d6ea7b60..aa2e723c 100644 --- a/.markdownlintignore +++ b/.markdownlintignore @@ -1,4 +1,5 @@ .github/CODE_OF_CONDUCT.md CHANGELOG.md +docs/rules/valid-package-def.md lib/ node_modules/ diff --git a/.prettierignore b/.prettierignore index 32ca0f25..9d99a416 100644 --- a/.prettierignore +++ b/.prettierignore @@ -1,4 +1,5 @@ -.all-contributorsrc -coverage/ -lib/ -pnpm-lock.yaml +/.all-contributorsrc +/.husky +/coverage +/lib +/pnpm-lock.yaml diff --git a/.prettierrc b/.prettierrc deleted file mode 100644 index 19bc8199..00000000 --- a/.prettierrc +++ /dev/null @@ -1,9 +0,0 @@ -{ - "$schema": "http://json.schemastore.org/prettierrc", - "overrides": [ - { "files": ".*rc", "options": { "parser": "json" } }, - { "files": ".nvmrc", "options": { "parser": "yaml" } } - ], - "plugins": ["prettier-plugin-curly", "prettier-plugin-packagejson"], - "useTabs": true -} diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 00000000..e3cac34d --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,10 @@ +{ + "$schema": "http://json.schemastore.org/prettierrc", + "overrides": [{ "files": ".nvmrc", "options": { "parser": "yaml" } }], + "plugins": [ + "prettier-plugin-curly", + "prettier-plugin-packagejson", + "prettier-plugin-sh" + ], + "useTabs": true +} diff --git a/.release-it.json b/.release-it.json index 8dd0e48f..95207170 100644 --- a/.release-it.json +++ b/.release-it.json @@ -3,10 +3,7 @@ "commitMessage": "chore: release v${version}", "requireCommits": true }, - "github": { - "release": true, - "releaseName": "v${version}" - }, + "github": { "release": true, "releaseName": "v${version}" }, "npm": { "publishArgs": ["--access public", "--provenance"] }, "plugins": { "@release-it/conventional-changelog": { diff --git a/.vscode/extensions.json b/.vscode/extensions.json index 095512a0..1f22a4e7 100644 --- a/.vscode/extensions.json +++ b/.vscode/extensions.json @@ -3,6 +3,7 @@ "DavidAnson.vscode-markdownlint", "dbaeumer.vscode-eslint", "esbenp.prettier-vscode", - "streetsidesoftware.code-spell-checker" + "streetsidesoftware.code-spell-checker", + "vitest.explorer" ] } diff --git a/.vscode/tasks.json b/.vscode/tasks.json new file mode 100644 index 00000000..ea91cf7e --- /dev/null +++ b/.vscode/tasks.json @@ -0,0 +1,11 @@ +{ + "tasks": [ + { + "detail": "Build the project", + "label": "build", + "script": "build", + "type": "npm" + } + ], + "version": "2.0.0" +} diff --git a/CHANGELOG.md b/CHANGELOG.md index 46fa08e2..c18479d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,19 +4,19 @@ ### Features -- **require-types:** add new rule ([#958](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/958)) ([63305af](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/63305afcac6fa57030b13de2ae9f26c108c979c0)), closes [#816](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/816) [#816](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/816) +- **require-types:** add new rule ([#958](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/958)) ([63305af](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/63305afcac6fa57030b13de2ae9f26c108c979c0)), closes [#816](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/816) [#816](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/816) # [0.28.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.27.0...v0.28.0) (2025-03-17) ### Features -- **require-engines:** add new rule ([#954](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/954)) ([9093b28](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/9093b280c77770512ac88631e4903e17d5275bec)), closes [#868](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/868) +- **require-engines:** add new rule ([#954](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/954)) ([9093b28](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/9093b280c77770512ac88631e4903e17d5275bec)), closes [#868](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/868) # [0.27.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.26.4...v0.27.0) (2025-03-17) ### Features -- empty feature commit to trigger new minor version ([b6b58d4](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/b6b58d46da07dd5f1a51e5b2c71a10803863b113)) +- empty feature commit to trigger new minor version ([b6b58d4](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/b6b58d46da07dd5f1a51e5b2c71a10803863b113)) ## [0.26.4](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.26.3...v0.26.4) (2025-03-17) @@ -24,261 +24,261 @@ ### Bug Fixes -- **deps:** update dependency sort-package-json to v3 ([#939](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/939)) ([a61e725](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/a61e7255f5f0fe70b2c190b38f76d684a9d3e37c)) +- **deps:** update dependency sort-package-json to v3 ([#939](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/939)) ([a61e725](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/a61e7255f5f0fe70b2c190b38f76d684a9d3e37c)) ## [0.26.2](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.26.1...v0.26.2) (2025-03-04) ### Bug Fixes -- **deps:** update dependency sort-package-json to v2.15.1 ([#933](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/933)) ([f3a8169](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/f3a8169113d25f3be69be2a6a027bd74ea3c8022)) +- **deps:** update dependency sort-package-json to v2.15.1 ([#933](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/933)) ([f3a8169](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/f3a8169113d25f3be69be2a6a027bd74ea3c8022)) ## [0.26.1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.26.0...v0.26.1) (2025-03-02) ### Bug Fixes -- **deps:** update dependency sort-package-json to v2.15.0 ([#925](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/925)) ([3ce4286](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/3ce4286442f45c74d09dcc60e040bafb879a75f2)) +- **deps:** update dependency sort-package-json to v2.15.0 ([#925](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/925)) ([3ce4286](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/3ce4286442f45c74d09dcc60e040bafb879a75f2)) # [0.26.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.25.0...v0.26.0) (2025-02-10) ### Features -- **require-files:** add require-files rule ([#887](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/887)) ([4de33de](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4de33de2715579c0d217609cd576d1b3b843d457)), closes [#803](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/803) +- **require-files:** add require-files rule ([#887](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/887)) ([4de33de](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4de33de2715579c0d217609cd576d1b3b843d457)), closes [#803](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/803) # [0.25.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.24.0...v0.25.0) (2025-02-09) ### Features -- **require-keywords:** add require-keywords rule ([#884](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/884)) ([99237f0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/99237f0dc5902bda417345cba681f23a328c5bbe)), closes [#866](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/866) +- **require-keywords:** add require-keywords rule ([#884](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/884)) ([99237f0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/99237f0dc5902bda417345cba681f23a328c5bbe)), closes [#866](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/866) # [0.24.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.23.1...v0.24.0) (2025-02-08) ### Features -- **require-name:** add require-name rule ([#883](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/883)) ([3a82dd8](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/3a82dd82d14b6bc1aaa72cfbc2e68aeb282ce18a)), closes [#808](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/808) +- **require-name:** add require-name rule ([#883](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/883)) ([3a82dd8](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/3a82dd82d14b6bc1aaa72cfbc2e68aeb282ce18a)), closes [#808](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/808) ## [0.23.1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.23.0...v0.23.1) (2025-02-07) ### Bug Fixes -- **deps:** update dependency semver to v7.7.1 ([#880](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/880)) ([152cfc1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/152cfc10e9cc9e34803e609ec3b12855395093c6)) +- **deps:** update dependency semver to v7.7.1 ([#880](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/880)) ([152cfc1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/152cfc10e9cc9e34803e609ec3b12855395093c6)) # [0.23.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.22.0...v0.23.0) (2025-02-04) ### Features -- **require-version:** add require-version rule ([#861](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/861)) ([848377d](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/848377dea379ed23d22d8fc5acd2e84c472ebb1b)) +- **require-version:** add require-version rule ([#861](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/861)) ([848377d](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/848377dea379ed23d22d8fc5acd2e84c472ebb1b)) # [0.22.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.21.1...v0.22.0) (2025-02-03) ### Features -- **require-author:** add new `require-author` rule ([#851](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/851)) ([cde68da](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/cde68da27bf87d711a8fb6f90df9f99f7bdb1512)), closes [#795](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/795) +- **require-author:** add new `require-author` rule ([#851](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/851)) ([cde68da](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/cde68da27bf87d711a8fb6f90df9f99f7bdb1512)), closes [#795](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/795) ## [0.21.1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.21.0...v0.21.1) (2025-01-24) ### Bug Fixes -- **no-redundant-files:** detect variations of README.md as redundant ([#765](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/765)) ([7453095](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/745309536c3d2c175591582147028754f9287b1d)), closes [#763](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/763) [#763](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/763) +- **no-redundant-files:** detect variations of README.md as redundant ([#765](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/765)) ([7453095](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/745309536c3d2c175591582147028754f9287b1d)), closes [#763](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/763) [#763](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/763) # [0.21.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.20.1...v0.21.0) (2025-01-23) ### Features -- add no-empty-fields rule ([#741](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/741)) ([e57765b](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/e57765b3de7c4703f1c697d54758e5789494281a)), closes [#683](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/683) +- add no-empty-fields rule ([#741](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/741)) ([e57765b](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/e57765b3de7c4703f1c697d54758e5789494281a)), closes [#683](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/683) ## [0.20.1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.20.0...v0.20.1) (2025-01-19) ### Bug Fixes -- bump package-json-validator dep to 0.8 ([#735](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/735)) ([29a9722](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/29a9722c15d39984ea99c2be346e20c2f4f9c76e)), closes [#734](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/734) +- bump package-json-validator dep to 0.8 ([#735](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/735)) ([29a9722](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/29a9722c15d39984ea99c2be346e20c2f4f9c76e)), closes [#734](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/734) # [0.20.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.19.0...v0.20.0) (2025-01-17) ### Features -- **no-redundant-files:** add new rule ([#721](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/721)) ([1167f5e](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/1167f5ea698bf09e2dfe77147464cc3a3d5ee6e7)), closes [#686](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/686) [#686](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/686) +- **no-redundant-files:** add new rule ([#721](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/721)) ([1167f5e](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/1167f5ea698bf09e2dfe77147464cc3a3d5ee6e7)), closes [#686](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/686) [#686](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/686) # [0.19.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.18.0...v0.19.0) (2024-12-31) ### Features -- **valid-package-definition:** rename rule from valid-package-def ([#711](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/711)) ([4f3907b](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4f3907b83ce1ddadcfbb572e70559e22b9c4a917)), closes [#132](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/132) [#132](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/132) +- **valid-package-definition:** rename rule from valid-package-def ([#711](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/711)) ([4f3907b](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4f3907b83ce1ddadcfbb572e70559e22b9c4a917)), closes [#132](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/132) [#132](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/132) # [0.18.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.17.0...v0.18.0) (2024-12-05) ### Features -- update sort-package-json to 12 ([#680](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/680)) ([566e85b](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/566e85b27ecff4997cd08e1fa00611b1b0e61db0)), closes [#679](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/679) +- update sort-package-json to 12 ([#680](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/680)) ([566e85b](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/566e85b27ecff4997cd08e1fa00611b1b0e61db0)), closes [#679](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/679) # [0.17.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.16.0...v0.17.0) (2024-11-30) ### Features -- sort alphabetically with co-located hooks for `scripts` ([#632](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/632)) ([4ccae4f](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4ccae4f58e1695b792dd3d0daf46cedc134d9541)), closes [#499](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/499) [#499](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/499) +- sort alphabetically with co-located hooks for `scripts` ([#632](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/632)) ([4ccae4f](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4ccae4f58e1695b792dd3d0daf46cedc134d9541)), closes [#499](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/499) [#499](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/499) # [0.16.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.15.6...v0.16.0) (2024-11-30) ### Features -- **sort-collections:** should sort `overrides` ([#668](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/668)) ([18129cd](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/18129cd5c4a0bf45709ea7fcb9fb316c2a639a71)), closes [#619](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/619) +- **sort-collections:** should sort `overrides` ([#668](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/668)) ([18129cd](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/18129cd5c4a0bf45709ea7fcb9fb316c2a639a71)), closes [#619](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/619) ## [0.15.6](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.15.5...v0.15.6) (2024-11-09) ### Bug Fixes -- add sorting exports field ([#615](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/615)) ([116c74b](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/116c74be65089d7cfb39f3dae2fcae18fe19a263)), closes [#000](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/000) +- add sorting exports field ([#615](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/615)) ([116c74b](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/116c74be65089d7cfb39f3dae2fcae18fe19a263)), closes [#000](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/000) ## [0.15.5](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.15.4...v0.15.5) (2024-11-06) ### Bug Fixes -- add plugin export ([#609](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/609)) ([a2c83b4](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/a2c83b42c231129efb97ec29a29f6ae361adcc26)), closes [#000](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/000) +- add plugin export ([#609](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/609)) ([a2c83b4](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/a2c83b42c231129efb97ec29a29f6ae361adcc26)), closes [#000](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/000) ## [0.15.4](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.15.3...v0.15.4) (2024-10-18) ### Bug Fixes -- update dependency package-json-validator to v0.7.0 ([#569](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/569)) ([9d44862](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/9d44862f29cef1e6e8d71facf55ac5cf907d979e)), closes [#000](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/000) +- update dependency package-json-validator to v0.7.0 ([#569](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/569)) ([9d44862](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/9d44862f29cef1e6e8d71facf55ac5cf907d979e)), closes [#000](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/000) ## [0.15.3](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.15.2...v0.15.3) (2024-09-12) ### Bug Fixes -- **valid-repository-directory:** use repository root for more accurate linting ([#498](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/498)) ([d149400](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/d1494001a7cbf3fa95041179004fa8ad03ef0d34)), closes [#252](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/252) +- **valid-repository-directory:** use repository root for more accurate linting ([#498](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/498)) ([d149400](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/d1494001a7cbf3fa95041179004fa8ad03ef0d34)), closes [#252](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/252) ## [0.15.2](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.15.1...v0.15.2) (2024-07-10) ### Bug Fixes -- skip check for name to match npm package when private is true ([#455](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/455)) ([cc10e05](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/cc10e052911688ca7cacb9761c2db7c24c826d3e)), closes [#000](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/000) +- skip check for name to match npm package when private is true ([#455](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/455)) ([cc10e05](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/cc10e052911688ca7cacb9761c2db7c24c826d3e)), closes [#000](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/000) ## [0.15.1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.15.0...v0.15.1) (2024-07-10) ### Bug Fixes -- update package-json-validator ([#456](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/456)) ([1a8bda4](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/1a8bda47891c14c7434ad6242f33f9ad7c2e940f)), closes [#250](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/250) +- update package-json-validator ([#456](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/456)) ([1a8bda4](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/1a8bda47891c14c7434ad6242f33f9ad7c2e940f)), closes [#250](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/250) # [0.15.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.14.0...v0.15.0) (2024-06-17) ### Features -- **order-properties:** more precise error reporting ([#328](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/328)) ([4a3fbc8](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4a3fbc8046d4286ca950b1de9000f12bdadfa961)), closes [#320](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/320) +- **order-properties:** more precise error reporting ([#328](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/328)) ([4a3fbc8](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4a3fbc8046d4286ca950b1de9000f12bdadfa961)), closes [#320](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/320) # [0.14.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.13.1...v0.14.0) (2024-05-31) ### Features -- add name field to recommended config ([#329](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/329)) ([b7a1a37](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/b7a1a37afb35c8040fa77abaaeb669d3935e5e14)), closes [#308](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/308) +- add name field to recommended config ([#329](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/329)) ([b7a1a37](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/b7a1a37afb35c8040fa77abaaeb669d3935e5e14)), closes [#308](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/308) ## [0.13.1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.13.0...v0.13.1) (2024-04-29) ### Bug Fixes -- rule order-properties not work ([#315](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/315)) ([3a477f5](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/3a477f5f9e6223bff49d0a3b3cb33633bed7b76e)), closes [#000](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/000) +- rule order-properties not work ([#315](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/315)) ([3a477f5](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/3a477f5f9e6223bff49d0a3b3cb33633bed7b76e)), closes [#000](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/000) # [0.13.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.12.1...v0.13.0) (2024-04-29) ### Bug Fixes -- correct suggestion status ([#299](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/299)) ([146e25d](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/146e25dc1f837eb3cd64d4862bf5e035dbb250e2)), closes [#255](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/255) +- correct suggestion status ([#299](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/299)) ([146e25d](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/146e25dc1f837eb3cd64d4862bf5e035dbb250e2)), closes [#255](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/255) ### Features -- sort-order rule shouldn't change sub-keys, better auto-fix ([#312](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/312)) ([a894550](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/a89455019be1a41309c7b3cab0a9acefbd7abeb2)), closes [#80](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/80) +- sort-order rule shouldn't change sub-keys, better auto-fix ([#312](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/312)) ([a894550](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/a89455019be1a41309c7b3cab0a9acefbd7abeb2)), closes [#80](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/80) ## [0.12.1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.12.0...v0.12.1) (2024-03-28) ### Bug Fixes -- **valid-package-def:** ignore pnpm workspace protocol ([#258](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/258)) ([4b061e6](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4b061e6540fb914d004337bb89a90fedfb94b0f7)), closes [#251](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/251) +- **valid-package-def:** ignore pnpm workspace protocol ([#258](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/258)) ([4b061e6](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4b061e6540fb914d004337bb89a90fedfb94b0f7)), closes [#251](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/251) # [0.12.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.11.0...v0.12.0) (2024-03-25) ### Features -- switch prefer-repository-shorthand to repository-shorthand ([#248](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/248)) ([580edb3](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/580edb3957cd4d8229bf73c10b1f7f65f79dc53f)), closes [#223](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/223) +- switch prefer-repository-shorthand to repository-shorthand ([#248](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/248)) ([580edb3](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/580edb3957cd4d8229bf73c10b1f7f65f79dc53f)), closes [#223](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/223) # [0.11.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.10.4...v0.11.0) (2024-03-24) ### Features -- support flat config ([#161](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/161)) ([bf31a6c](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/bf31a6cb491afe0d43b29bc830d3b4c24bd1cf6d)), closes [#91](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/91) +- support flat config ([#161](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/161)) ([bf31a6c](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/bf31a6cb491afe0d43b29bc830d3b4c24bd1cf6d)), closes [#91](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/91) ## [0.10.4](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.10.3...v0.10.4) (2024-02-20) ### Bug Fixes -- can not import in ESM package ([#159](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/159)) ([2ce1881](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/2ce188156d0b91fdcb9606e069a45148c673e6c0)), closes [#152](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/152) [#157](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/157) +- can not import in ESM package ([#159](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/159)) ([2ce1881](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/2ce188156d0b91fdcb9606e069a45148c673e6c0)), closes [#152](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/152) [#157](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/157) ## [0.10.3](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.10.2...v0.10.3) (2024-02-20) ### Bug Fixes -- ignore npm alias version range error ([#156](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/156)) ([4436638](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4436638aba4eb727d4d09cc3e33bca04faf18620)), closes [#153](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/153) +- ignore npm alias version range error ([#156](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/156)) ([4436638](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/4436638aba4eb727d4d09cc3e33bca04faf18620)), closes [#153](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/153) ## [0.10.2](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.10.1...v0.10.2) (2024-02-01) ### Bug Fixes -- support Windows paths, again ([#144](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/144)) ([27243fa](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/27243fa5e6d0d59362e19f49135f69300949d282)), closes [#142](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/142) [#30](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/30) +- support Windows paths, again ([#144](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/144)) ([27243fa](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/27243fa5e6d0d59362e19f49135f69300949d282)), closes [#142](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/142) [#30](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/30) ## [0.10.1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.10.0...v0.10.1) (2024-01-25) ### Bug Fixes -- incorrect example in 'sort-collections' ([#137](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/137)) ([88a94a0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/88a94a06e0db5624f83fab22144d7096a0cd1a3a)), closes [#136](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/136) +- incorrect example in 'sort-collections' ([#137](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/137)) ([88a94a0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/88a94a06e0db5624f83fab22144d7096a0cd1a3a)), closes [#136](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/136) # [0.10.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.9.0...v0.10.0) (2024-01-20) ### Features -- added valid-version rule ([#135](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/135)) ([6e8b6fb](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/6e8b6fbe777d03731f5552c980eaad4e5f8d4dad)), closes [#130](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/130) +- added valid-version rule ([#135](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/135)) ([6e8b6fb](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/6e8b6fbe777d03731f5552c980eaad4e5f8d4dad)), closes [#130](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/130) # [0.9.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.8.1...v0.9.0) (2024-01-20) ### Features -- added valid-name rule ([#134](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/134)) ([ecf9266](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/ecf926602f760c3edf1a832615624210a90ed3ed)), closes [#131](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/131) +- added valid-name rule ([#134](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/134)) ([ecf9266](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/ecf926602f760c3edf1a832615624210a90ed3ed)), closes [#131](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/131) ## [0.8.1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.8.0...v0.8.1) (2024-01-20) ### Bug Fixes -- correct order-properties key checks ([#129](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/129)) ([a635c27](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/a635c279552beea4b0e5a611321d9f92083416e4)), closes [#127](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/127) [#128](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/128) [#127](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/127) [#128](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/128) +- correct order-properties key checks ([#129](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/129)) ([a635c27](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/a635c279552beea4b0e5a611321d9f92083416e4)), closes [#127](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/127) [#128](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/128) [#127](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/127) [#128](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/128) # [0.8.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.7.0...v0.8.0) (2024-01-20) ### Features -- added unique-dependencies rule ([#126](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/126)) ([a9417d1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/a9417d1685808dd8e4c27eff9e3b9c7399be6e1b)), closes [#50](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/50) +- added unique-dependencies rule ([#126](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/126)) ([a9417d1](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/a9417d1685808dd8e4c27eff9e3b9c7399be6e1b)), closes [#50](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/50) # [0.7.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.6.0...v0.7.0) (2024-01-20) ### Features -- added valid-repository-directory rule ([#123](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/123)) ([84035c3](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/84035c3f2bac376567eef767ba21f354a0d93f54)), closes [#53](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/53) +- added valid-repository-directory rule ([#123](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/123)) ([84035c3](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/84035c3f2bac376567eef767ba21f354a0d93f54)), closes [#53](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/53) # [0.6.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.5.0...v0.6.0) (2024-01-20) ### Features -- change order-properties order default to sort-package-json ([#122](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/122)) ([246261d](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/246261dff5838c42add53fd45c03a5eadc495d83)), closes [#58](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/58) +- change order-properties order default to sort-package-json ([#122](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/122)) ([246261d](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/246261dff5838c42add53fd45c03a5eadc495d83)), closes [#58](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/58) # [0.5.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.4.0...v0.5.0) (2024-01-20) ### Features -- add prefer-repository-shorthand rule ([#70](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/70)) ([0c7fb19](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/0c7fb199cdf0ba001bd996f6da2c4ba8cbbc7d0f)), closes [#71](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/71) +- add prefer-repository-shorthand rule ([#70](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/70)) ([0c7fb19](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/0c7fb199cdf0ba001bd996f6da2c4ba8cbbc7d0f)), closes [#71](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/71) # [0.4.0](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/compare/v0.1.3...v0.4.0) (2024-01-20) ### Bug Fixes -- detect package.json in Windows ([eb90172](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/eb901727c12fdd4f7a5d734c9e98f3123059bee8)) -- Missing extension in valid-package-def link ([0cd9b6b](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/0cd9b6bd462b9b801cf69b1a09d8c23d4afcedf0)) -- recommended config ([#103](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/103)) ([77dc134](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/77dc1344ea7a34abcb6c0e87d61b65149b4fe2ca)), closes [#102](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/102) -- typo ([#63](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/63)) ([3e6f6bc](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/3e6f6bc40ed8a856199082429e66c77c099210f5)) +- detect package.json in Windows ([eb90172](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/eb901727c12fdd4f7a5d734c9e98f3123059bee8)) +- Missing extension in valid-package-def link ([0cd9b6b](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/0cd9b6bd462b9b801cf69b1a09d8c23d4afcedf0)) +- recommended config ([#103](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/103)) ([77dc134](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/77dc1344ea7a34abcb6c0e87d61b65149b4fe2ca)), closes [#102](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/102) +- typo ([#63](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/63)) ([3e6f6bc](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/3e6f6bc40ed8a856199082429e66c77c099210f5)) ### Features -- converted to TypeScript ([#59](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/59)) ([c328633](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/c3286338cb98a3d5570ff95424057317a2881fa1)), closes [#60](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/60) [#35](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/35) +- converted to TypeScript ([#59](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/59)) ([c328633](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/commit/c3286338cb98a3d5570ff95424057317a2881fa1)), closes [#60](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/60) [#35](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/35) diff --git a/README.md b/README.md index 52248dee..12aa3936 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,21 @@

eslint-plugin-package-json

-

Rules for consistent, readable, and valid package.json files. 🗂️

+

+ Rules for consistent, readable, and valid package.json files. + 🗂️ +

- - - -All Contributors: 23 👪 + + + 👪 All Contributors: 23 - - - Codecov Test Coverage - Contributor Covenant - License: MIT - Style: Prettier - npm package version + + 🤝 Code of Conduct: Kept + 🧪 Coverage + 📝 License: MIT + 📦 npm version + 💪 TypeScript: Strict

## Installation @@ -70,7 +71,7 @@ npm install jsonc-eslint-parser --save-dev Add an override to your ESLint configuration file that specifies `jsonc-eslint-parser`, this plugin, and its recommended rules for your `package.json` file: -```js +```ts module.exports = { overrides: [ { @@ -85,7 +86,7 @@ module.exports = { You may also want to individually configure rules. See [ESLint's _Configure Rules_ guide](https://eslint.org/docs/latest/use/configure/rules) for details on how to customize your rules. -```js +```ts module.exports = { overrides: [ { @@ -112,32 +113,33 @@ The default settings don't conflict, and Prettier plugins can quickly fix up ord 💼 Configurations enabled in.\ +✔️ Set in the `legacy-recommended` configuration.\ ✅ Set in the `recommended` configuration.\ 🔧 Automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/user-guide/command-line-interface#--fix).\ 💡 Manually fixable by [editor suggestions](https://eslint.org/docs/latest/use/core-concepts#rule-suggestions).\ ❌ Deprecated. -| Name                       | Description | 💼 | 🔧 | 💡 | ❌ | -| :--------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ | :- | :- | :- | :- | -| [no-empty-fields](docs/rules/no-empty-fields.md) | Reports on unnecessary empty arrays and objects. | ✅ | | 💡 | | -| [no-redundant-files](docs/rules/no-redundant-files.md) | Prevents adding unnecessary / redundant files. | | | 💡 | | -| [order-properties](docs/rules/order-properties.md) | Package properties must be declared in standard order | ✅ | 🔧 | | | -| [repository-shorthand](docs/rules/repository-shorthand.md) | Enforce either object or shorthand declaration for repository. | ✅ | 🔧 | | | -| [require-author](docs/rules/require-author.md) | Requires the `author` property to be present. | | | | | -| [require-engines](docs/rules/require-engines.md) | Requires the `engines` property to be present. | | | | | -| [require-files](docs/rules/require-files.md) | Requires the `files` property to be present. | | | | | -| [require-keywords](docs/rules/require-keywords.md) | Requires the `keywords` property to be present. | | | | | -| [require-name](docs/rules/require-name.md) | Requires the `name` property to be present. | ✅ | | | | -| [require-types](docs/rules/require-types.md) | Requires the `types` property to be present. | | | | | -| [require-version](docs/rules/require-version.md) | Requires the `version` property to be present. | ✅ | | | | -| [sort-collections](docs/rules/sort-collections.md) | Dependencies, scripts, and configuration values must be declared in alphabetical order. | ✅ | 🔧 | | | -| [unique-dependencies](docs/rules/unique-dependencies.md) | Checks a dependency isn't specified more than once (i.e. in `dependencies` and `devDependencies`) | ✅ | | 💡 | | -| [valid-local-dependency](docs/rules/valid-local-dependency.md) | Checks existence of local dependencies in the package.json | ✅ | | | | -| [valid-name](docs/rules/valid-name.md) | Enforce that package names are valid npm package names | ✅ | | | | -| [valid-package-def](docs/rules/valid-package-def.md) | Enforce that package.json has all properties required by the npm spec | | | | ❌ | -| [valid-package-definition](docs/rules/valid-package-definition.md) | Enforce that package.json has all properties required by the npm spec | ✅ | | | | -| [valid-repository-directory](docs/rules/valid-repository-directory.md) | Enforce that if repository directory is specified, it matches the path to the package.json file | ✅ | | 💡 | | -| [valid-version](docs/rules/valid-version.md) | Enforce that package versions are valid semver specifiers | ✅ | | | | +| Name                       | Description | 💼 | 🔧 | 💡 | ❌ | +| :--------------------------------------------------------------------- | :------------------------------------------------------------------------------------------------ | :--- | :- | :- | :- | +| [no-empty-fields](docs/rules/no-empty-fields.md) | Reports on unnecessary empty arrays and objects. | ✔️ ✅ | | 💡 | | +| [no-redundant-files](docs/rules/no-redundant-files.md) | Prevents adding unnecessary / redundant files. | | | 💡 | | +| [order-properties](docs/rules/order-properties.md) | Package properties must be declared in standard order | ✔️ ✅ | 🔧 | | | +| [repository-shorthand](docs/rules/repository-shorthand.md) | Enforce either object or shorthand declaration for repository. | ✔️ ✅ | 🔧 | | | +| [require-author](docs/rules/require-author.md) | Requires the `author` property to be present. | | | | | +| [require-engines](docs/rules/require-engines.md) | Requires the `engines` property to be present. | | | | | +| [require-files](docs/rules/require-files.md) | Requires the `files` property to be present. | | | | | +| [require-keywords](docs/rules/require-keywords.md) | Requires the `keywords` property to be present. | | | | | +| [require-name](docs/rules/require-name.md) | Requires the `name` property to be present. | ✔️ ✅ | | | | +| [require-types](docs/rules/require-types.md) | Requires the `types` property to be present. | | | | | +| [require-version](docs/rules/require-version.md) | Requires the `version` property to be present. | ✔️ ✅ | | | | +| [sort-collections](docs/rules/sort-collections.md) | Dependencies, scripts, and configuration values must be declared in alphabetical order. | ✔️ ✅ | 🔧 | | | +| [unique-dependencies](docs/rules/unique-dependencies.md) | Checks a dependency isn't specified more than once (i.e. in `dependencies` and `devDependencies`) | ✔️ ✅ | | 💡 | | +| [valid-local-dependency](docs/rules/valid-local-dependency.md) | Checks existence of local dependencies in the package.json | ✔️ ✅ | | | | +| [valid-name](docs/rules/valid-name.md) | Enforce that package names are valid npm package names | ✔️ ✅ | | | | +| [valid-package-def](docs/rules/valid-package-def.md) | Enforce that package.json has all properties required by the npm spec | | | | ❌ | +| [valid-package-definition](docs/rules/valid-package-definition.md) | Enforce that package.json has all properties required by the npm spec | ✔️ ✅ | | | | +| [valid-repository-directory](docs/rules/valid-repository-directory.md) | Enforce that if repository directory is specified, it matches the path to the package.json file | ✔️ ✅ | | 💡 | | +| [valid-version](docs/rules/valid-version.md) | Enforce that package versions are valid semver specifiers | ✔️ ✅ | | | | @@ -148,7 +150,7 @@ They can lint `package.json` files at project root and in any subfolder of the p ## Development See [`.github/CONTRIBUTING.md`](./.github/CONTRIBUTING.md), then [`.github/DEVELOPMENT.md`](./.github/DEVELOPMENT.md). -Thanks! 💖 +Thanks! 🗂 ## Contributors @@ -159,35 +161,35 @@ Thanks! 💖 - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - - - - - - + + + + + + + - - + +
Alan
Alan

🐛 💻
Andreas Lindberg
Andreas Lindberg

🐛
Anton Khitrenovich
Anton Khitrenovich

🤔
Azat S.
Azat S.

🤔 💻
David LJ
David LJ

📖
Heggria
Heggria

🤔
James
James

💻
Alan
Alan

🐛 💻
Andreas Lindberg
Andreas Lindberg

🐛
Anton Khitrenovich
Anton Khitrenovich

🤔
Azat S.
Azat S.

🤔 💻
David LJ
David LJ

📖
Heggria
Heggria

🤔
James
James

💻
James Zetlen
James Zetlen

💻 🐛 📖 🚇 🚧 🔧
Jesús Leganés-Combarro
Jesús Leganés-Combarro

💻
Josh Goldberg ✨
Josh Goldberg ✨

🔧 🐛 💻 🚇 📖 🚧 🤔
Kendall Gassner
Kendall Gassner

💻 🚧
Kristjan ESPERANTO
Kristjan ESPERANTO

🤔 🐛 💻
Mathias Schreck
Mathias Schreck

🤔
Michael
Michael "Mike" Ferris

💻
James Zetlen
James Zetlen

💻 🐛 📖 🚇 🚧 🔧
Jesús Leganés-Combarro
Jesús Leganés-Combarro

💻
Josh Goldberg ✨
Josh Goldberg ✨

🔧 🐛 💻 🚇 📖 🚧 🤔 🖋 📆
Kendall Gassner
Kendall Gassner

💻 🚧
Kristjan ESPERANTO
Kristjan ESPERANTO

🤔 🐛 💻
Mathias Schreck
Mathias Schreck

🤔
Michael
Michael "Mike" Ferris

💻
Nick Schonning
Nick Schonning

💻
Pavel
Pavel

🤔 🔧 📖 💻 🐛
Sasial
Sasial

💻
Stephen
Stephen

💻
Stephen Zhou
Stephen Zhou

🐛 💻 🤔 📖
Yosuke Ota
Yosuke Ota

🐛 💻
b3rnhard
b3rnhard

🐛
Nick Schonning
Nick Schonning

💻
Pavel
Pavel

🤔 🔧 📖 💻 🐛
Sasial
Sasial

💻
Stephen
Stephen

💻
Stephen Zhou
Stephen Zhou

🐛 💻 🤔 📖
Yosuke Ota
Yosuke Ota

🐛 💻
b3rnhard
b3rnhard

🐛
chouchouji
chouchouji

💻
michael faith
michael faith

🚇 💻 🚧 🤔
chouchouji
chouchouji

💻
michael faith
michael faith

🚇 💻 🚧 🤔
@@ -202,4 +204,4 @@ Thanks! 💖 Many thanks to [@zetlen](https://github.com/zetlen) for creating the initial version and core infrastructure of this package! 💖 -> 💙 This package was templated with [create-typescript-app](https://github.com/JoshuaKGoldberg/create-typescript-app). +> 💝 This package was templated with [`create-typescript-app`](https://github.com/JoshuaKGoldberg/create-typescript-app) using the [Bingo engine](https://create.bingo). diff --git a/create-typescript-app.config.mjs b/create-typescript-app.config.mjs new file mode 100644 index 00000000..7d4ba774 --- /dev/null +++ b/create-typescript-app.config.mjs @@ -0,0 +1,21 @@ +// 👋 Hi! This is an optional config file for create-typescript-app (CTA). +// Repos created with CTA or its underlying framework Bingo don't use one by default. +// A CTA config file allows automatic updates to the repo that preserve customizations. +// For more information, see Bingo's docs: +// https://www.create.bingo/execution#transition-mode +// Eventually these values should be inferable, making this config file unnecessary: +// https://github.com/JoshuaKGoldberg/bingo/issues/128 +import { + blockESLintPackageJson, + blockESLintPlugin, + createConfig, +} from "create-typescript-app"; + +export default createConfig({ + refinements: { + blocks: { + add: [blockESLintPlugin], + exclude: [blockESLintPackageJson], + }, + }, +}); diff --git a/cspell.json b/cspell.json index 22a4d371..72674cc0 100644 --- a/cspell.json +++ b/cspell.json @@ -1,22 +1,23 @@ { - "dictionaries": ["typescript"], + "dictionaries": ["npm", "node", "typescript"], "ignorePaths": [ + ".all-contributorsrc", ".github", "CHANGELOG.md", "coverage", - "eslint.config.js", "lib", "node_modules", "pnpm-lock.yaml" ], "words": [ + "Codecov", "altano", "autofixable", - "Codecov", "codespace", "commitlint", "contributorsrc", "conventionalcommits", + "eslint-doc-generatorrc", "estree", "knip", "lcov", diff --git a/docs/rules/no-empty-fields.md b/docs/rules/no-empty-fields.md index a8b184f6..bbf401c9 100644 --- a/docs/rules/no-empty-fields.md +++ b/docs/rules/no-empty-fields.md @@ -1,15 +1,13 @@ # no-empty-fields -💼 This rule is enabled in the ✅ `recommended` config. +💼 This rule is enabled in the following configs: ✔️ `legacy-recommended`, ✅ `recommended`. 💡 This rule is manually fixable by [editor suggestions](https://eslint.org/docs/latest/use/core-concepts#rule-suggestions). -This rule flags all empty arrays and objects in a `package.json`, -as such empty expressions do nothing, and are often the result of a mistake. -It will report both named properties that are empty, as well as nested arrays and objects -that are empty. +This rule flags all empty arrays and objects in a `package.json`, as such empty expressions do nothing, and are often the result of a mistake. +It will report both named properties that are empty, as well as nested arrays and objects that are empty. Example of **incorrect** code for this rule: diff --git a/docs/rules/no-redundant-files.md b/docs/rules/no-redundant-files.md index 20973999..abfd79c0 100644 --- a/docs/rules/no-redundant-files.md +++ b/docs/rules/no-redundant-files.md @@ -4,22 +4,23 @@ -This rule checks that the `files` property of a `package.json` doesn't contain -any redundant or unnecessary file entries. By default, [npm will automatically](https://docs.npmjs.com/cli/v11/configuring-npm/package-json#files) -include certain files, based on a number of circumstances. +This rule checks that the `files` property of a `package.json` doesn't contain any redundant or unnecessary file entries. +By default, [npm will automatically](https://docs.npmjs.com/cli/v11/configuring-npm/package-json#files) include certain files, based on a number of circumstances. It will always include the following files, if present: -- `package.json` -- `README` - -- `LICENSE` / `LICENCE` + -Additionally, it will include any files that are declared in the `main` and `bin` -fields of the `package.json`. +- `package.json` +- `README` +- `LICENSE` / `LICENCE` -This rule will check that the `files` don't contain any of the above. It will -also check for duplicate entries. + + +Additionally, it will include any files that are declared in the `main` and `bin` fields of the `package.json`. + +This rule will check that the `files` don't contain any of the above. +It will also check for duplicate entries. Example of **incorrect** code for this rule: diff --git a/docs/rules/order-properties.md b/docs/rules/order-properties.md index 60ce6718..909a7b39 100644 --- a/docs/rules/order-properties.md +++ b/docs/rules/order-properties.md @@ -1,6 +1,6 @@ # order-properties -💼 This rule is enabled in the ✅ `recommended` config. +💼 This rule is enabled in the following configs: ✔️ `legacy-recommended`, ✅ `recommended`. 🔧 This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). @@ -57,11 +57,10 @@ Examples of **correct** code for this rule: The `order` property specifies the sorting order of package properties. Pass in: -- `"legacy"` - to order properties specified by [npm documentation](https://docs.npmjs.com/cli/v10/configuring-npm/package-json). -- `"sort-package-json"` - to order properties by the default order specified in [sort-package-json](https://github.com/keithamus/sort-package-json). -- `Array` - to specify an array of top-level package properties to lint sorting on only those - properties. - All properties not in this collection will be sorted by "sort-package-json" specifications. +- `"legacy"` - to order properties specified by [npm documentation](https://docs.npmjs.com/cli/v10/configuring-npm/package-json). +- `"sort-package-json"` - to order properties by the default order specified in [sort-package-json](https://github.com/keithamus/sort-package-json). +- `Array` - to specify an array of top-level package properties to lint sorting on only those properties. + All properties not in this collection will be sorted by "sort-package-json" specifications. ```tsx interface { diff --git a/docs/rules/repository-shorthand.md b/docs/rules/repository-shorthand.md index cb7af1d3..b795790b 100644 --- a/docs/rules/repository-shorthand.md +++ b/docs/rules/repository-shorthand.md @@ -1,6 +1,6 @@ # repository-shorthand -💼 This rule is enabled in the ✅ `recommended` config. +💼 This rule is enabled in the following configs: ✔️ `legacy-recommended`, ✅ `recommended`. 🔧 This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). @@ -49,8 +49,8 @@ Examples of **correct** code for this rule with the default options: The `form` property specifies whether to use: -- `"object"` _(default)_: an object with `"type"` and `"url"` -- `"shorthand"`: the shorthand string equivalent. +- `"object"` _(default)_: an object with `"type"` and `"url"` +- `"shorthand"`: the shorthand string equivalent. The `object` form is generally recommended as that's what `npm publish` prefers. @@ -58,5 +58,5 @@ The `object` form is generally recommended as that's what `npm publish` prefers. ## Further Reading -- [JoshuaKGoldberg/eslint-plugin-package-json#223 🐛 Bug: prefer-repository-shorthand in conflict with npm publish requirements](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/223) -- [npm/cli#7299 [DOCS] package.json#repository should clarify normalization steps and future plans.](https://github.com/npm/cli/issues/7299) +- [JoshuaKGoldberg/eslint-plugin-package-json#223 🐛 Bug: prefer-repository-shorthand in conflict with npm publish requirements](https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues/223) +- [npm/cli#7299 [DOCS] package.json#repository should clarify normalization steps and future plans.](https://github.com/npm/cli/issues/7299) diff --git a/docs/rules/require-author.md b/docs/rules/require-author.md index 87ea27e9..aebe1304 100644 --- a/docs/rules/require-author.md +++ b/docs/rules/require-author.md @@ -2,8 +2,7 @@ -This rule checks for the existence of the `"author"` property in a package.json, -and reports a violation if it doesn't exist. +This rule checks for the existence of the `"author"` property in a package.json, and reports a violation if it doesn't exist. Example of **incorrect** code for this rule: diff --git a/docs/rules/require-engines.md b/docs/rules/require-engines.md index 9fbf90f4..4ea8ddca 100644 --- a/docs/rules/require-engines.md +++ b/docs/rules/require-engines.md @@ -2,8 +2,7 @@ -This rule checks for the existence of the `"engines"` property in a package.json, -and reports a violation if it doesn't exist. +This rule checks for the existence of the `"engines"` property in a package.json, and reports a violation if it doesn't exist. Example of **incorrect** code for this rule: diff --git a/docs/rules/require-files.md b/docs/rules/require-files.md index 18453d65..9ef15754 100644 --- a/docs/rules/require-files.md +++ b/docs/rules/require-files.md @@ -2,8 +2,7 @@ -This rule checks for the existence of the `"files"` property in a package.json, -and reports a violation if it doesn't exist. +This rule checks for the existence of the `"files"` property in a package.json, and reports a violation if it doesn't exist. Example of **incorrect** code for this rule: diff --git a/docs/rules/require-keywords.md b/docs/rules/require-keywords.md index 047a2f09..29226f83 100644 --- a/docs/rules/require-keywords.md +++ b/docs/rules/require-keywords.md @@ -2,8 +2,7 @@ -This rule checks for the existence of the `"keywords"` property in a package.json, -and reports a violation if it doesn't exist. +This rule checks for the existence of the `"keywords"` property in a package.json, and reports a violation if it doesn't exist. Example of **incorrect** code for this rule: diff --git a/docs/rules/require-name.md b/docs/rules/require-name.md index b13eeb48..afc3f016 100644 --- a/docs/rules/require-name.md +++ b/docs/rules/require-name.md @@ -1,11 +1,10 @@ # require-name -💼 This rule is enabled in the ✅ `recommended` config. +💼 This rule is enabled in the following configs: ✔️ `legacy-recommended`, ✅ `recommended`. -This rule checks for the existence of the `"name"` property in a package.json, -and reports a violation if it doesn't exist. +This rule checks for the existence of the `"name"` property in a package.json, and reports a violation if it doesn't exist. Example of **incorrect** code for this rule: diff --git a/docs/rules/require-types.md b/docs/rules/require-types.md index 9a7e0da2..496d68e8 100644 --- a/docs/rules/require-types.md +++ b/docs/rules/require-types.md @@ -2,8 +2,7 @@ -This rule checks for the existence of the `"types"` property in a package.json, -and reports a violation if it doesn't exist. +This rule checks for the existence of the `"types"` property in a package.json, and reports a violation if it doesn't exist. Example of **incorrect** code for this rule: diff --git a/docs/rules/require-version.md b/docs/rules/require-version.md index 1edc50f1..c0f23a4f 100644 --- a/docs/rules/require-version.md +++ b/docs/rules/require-version.md @@ -1,11 +1,10 @@ # require-version -💼 This rule is enabled in the ✅ `recommended` config. +💼 This rule is enabled in the following configs: ✔️ `legacy-recommended`, ✅ `recommended`. -This rule checks for the existence of the `"version"` property in a package.json, -and reports a violation if it doesn't exist. +This rule checks for the existence of the `"version"` property in a package.json, and reports a violation if it doesn't exist. Example of **incorrect** code for this rule: diff --git a/docs/rules/sort-collections.md b/docs/rules/sort-collections.md index d38581ff..425ea4fc 100644 --- a/docs/rules/sort-collections.md +++ b/docs/rules/sort-collections.md @@ -1,6 +1,6 @@ # sort-collections -💼 This rule is enabled in the ✅ `recommended` config. +💼 This rule is enabled in the following configs: ✔️ `legacy-recommended`, ✅ `recommended`. 🔧 This rule is automatically fixable by the [`--fix` CLI option](https://eslint.org/docs/latest/user-guide/command-line-interface#--fix). @@ -79,18 +79,14 @@ Note that in lexical ordering, `lodash` comes before `lodash.debounce`. ### Options -Pass an array of top-level package properties to lint sorting on those collections. All of their values must be objects. +Pass an array of top-level package properties to lint sorting on those collections. +All of their values must be objects. -Example: +Example of only sorting devDependencies: -```jsonc +```json { - "package-json/sort-collections": [ - "error", - [ - "devDependencies", // Only sort devDependencies - ], - ], + "package-json/sort-collections": ["error", ["devDependencies"]] } ``` diff --git a/docs/rules/unique-dependencies.md b/docs/rules/unique-dependencies.md index 3cc0338d..b89d00f4 100644 --- a/docs/rules/unique-dependencies.md +++ b/docs/rules/unique-dependencies.md @@ -1,6 +1,6 @@ # unique-dependencies -💼 This rule is enabled in the ✅ `recommended` config. +💼 This rule is enabled in the following configs: ✔️ `legacy-recommended`, ✅ `recommended`. 💡 This rule is manually fixable by [editor suggestions](https://eslint.org/docs/latest/use/core-concepts#rule-suggestions). diff --git a/docs/rules/valid-local-dependency.md b/docs/rules/valid-local-dependency.md index 5af84057..a40f776d 100644 --- a/docs/rules/valid-local-dependency.md +++ b/docs/rules/valid-local-dependency.md @@ -1,6 +1,6 @@ # valid-local-dependency -💼 This rule is enabled in the ✅ `recommended` config. +💼 This rule is enabled in the following configs: ✔️ `legacy-recommended`, ✅ `recommended`. diff --git a/docs/rules/valid-name.md b/docs/rules/valid-name.md index a1f2c409..244671f9 100644 --- a/docs/rules/valid-name.md +++ b/docs/rules/valid-name.md @@ -1,13 +1,13 @@ # valid-name -💼 This rule is enabled in the ✅ `recommended` config. +💼 This rule is enabled in the following configs: ✔️ `legacy-recommended`, ✅ `recommended`. This rule applies two validations to the `"name"` property: -- It must be a string rather than any other data type -- It should pass [`validate-npm-package-name`](https://www.npmjs.com/package/validate-npm-package-name) validation +- It must be a string rather than any other data type +- It should pass [`validate-npm-package-name`](https://www.npmjs.com/package/validate-npm-package-name) validation Example of **incorrect** code for this rule: diff --git a/docs/rules/valid-package-definition.md b/docs/rules/valid-package-definition.md index 0b269a58..7a89a5bc 100644 --- a/docs/rules/valid-package-definition.md +++ b/docs/rules/valid-package-definition.md @@ -1,6 +1,6 @@ # valid-package-definition -💼 This rule is enabled in the ✅ `recommended` config. +💼 This rule is enabled in the following configs: ✔️ `legacy-recommended`, ✅ `recommended`. diff --git a/docs/rules/valid-repository-directory.md b/docs/rules/valid-repository-directory.md index fb6674f0..ecaca462 100644 --- a/docs/rules/valid-repository-directory.md +++ b/docs/rules/valid-repository-directory.md @@ -1,6 +1,6 @@ # valid-repository-directory -💼 This rule is enabled in the ✅ `recommended` config. +💼 This rule is enabled in the following configs: ✔️ `legacy-recommended`, ✅ `recommended`. 💡 This rule is manually fixable by [editor suggestions](https://eslint.org/docs/latest/use/core-concepts#rule-suggestions). diff --git a/docs/rules/valid-version.md b/docs/rules/valid-version.md index da378475..e012c751 100644 --- a/docs/rules/valid-version.md +++ b/docs/rules/valid-version.md @@ -1,13 +1,13 @@ # valid-version -💼 This rule is enabled in the ✅ `recommended` config. +💼 This rule is enabled in the following configs: ✔️ `legacy-recommended`, ✅ `recommended`. This rule applies two validations to the `"name"` property: -- It must be a string rather than any other data type -- It should pass [`semver`](https://www.npmjs.com/package/semver) validation +- It must be a string rather than any other data type +- It should pass [`semver`](https://www.npmjs.com/package/semver) validation Example of **incorrect** code for this rule: diff --git a/eslint.config.js b/eslint.config.mjs similarity index 60% rename from eslint.config.js rename to eslint.config.mjs index 60e34d8f..c6484842 100644 --- a/eslint.config.js +++ b/eslint.config.mjs @@ -1,21 +1,23 @@ -const comments = require("@eslint-community/eslint-plugin-eslint-comments/configs"); -const eslint = require("@eslint/js"); -const vitest = require("@vitest/eslint-plugin"); -const eslintPlugin = require("eslint-plugin-eslint-plugin"); -const jsdoc = require("eslint-plugin-jsdoc"); -const jsonc = require("eslint-plugin-jsonc"); -const markdown = require("eslint-plugin-markdown"); -const n = require("eslint-plugin-n"); -const perfectionist = require("eslint-plugin-perfectionist"); -const regexp = require("eslint-plugin-regexp"); -const yml = require("eslint-plugin-yml"); -const tseslint = require("typescript-eslint"); +import comments from "@eslint-community/eslint-plugin-eslint-comments/configs"; +import eslint from "@eslint/js"; +import vitest from "@vitest/eslint-plugin"; +import eslintPlugin from "eslint-plugin-eslint-plugin"; +import jsdoc from "eslint-plugin-jsdoc"; +import jsonc from "eslint-plugin-jsonc"; +import markdown from "eslint-plugin-markdown"; +import n from "eslint-plugin-n"; +import perfectionist from "eslint-plugin-perfectionist"; +import * as regexp from "eslint-plugin-regexp"; +import yml from "eslint-plugin-yml"; +import tseslint from "typescript-eslint"; -module.exports = tseslint.config( +export default tseslint.config( { ignores: [ "**/*.snap", - "coverage*", + ".eslint-doc-generatorrc.mjs", + "coverage", + "docs/rules/*/*.ts", "lib", "node_modules", "pnpm-lock.yaml", @@ -23,8 +25,8 @@ module.exports = tseslint.config( }, { linterOptions: { reportUnusedDisableDirectives: "error" } }, eslint.configs.recommended, - eslintPlugin.configs["flat/recommended"], comments.recommended, + eslintPlugin.configs["flat/recommended"], jsdoc.configs["flat/contents-typescript-error"], jsdoc.configs["flat/logical-typescript-error"], jsdoc.configs["flat/stylistic-typescript-error"], @@ -38,25 +40,26 @@ module.exports = tseslint.config( tseslint.configs.strictTypeChecked, tseslint.configs.stylisticTypeChecked, ], - files: ["**/*.js", "**/*.ts"], + files: ["**/*.{js,mjs,ts}"], languageOptions: { parserOptions: { - projectService: { - allowDefaultProject: [ - "*.config.*s", - ".eslint-doc-generatorrc.js", - "bin/*.js", - "src/tests/*.js", - ], - }, - tsconfigRootDir: __dirname, + projectService: { allowDefaultProject: ["*.config.*s"] }, + tsconfigRootDir: import.meta.dirname, }, }, rules: { - "@typescript-eslint/no-require-imports": "off", - "jsdoc/match-description": "off", "n/no-missing-import": "off", + // We prefer seeing :exit after all other AST selectors in rules + "perfectionist/sort-objects": [ + "error", + { + customGroups: { programExit: "Program:exit" }, + groups: ["unknown", "programExit"], + type: "alphabetical", + }, + ], + // Stylistic concerns that don't interfere with Prettier "logical-assignment-operators": [ "error", @@ -66,32 +69,18 @@ module.exports = tseslint.config( "no-useless-rename": "error", "object-shorthand": "error", "operator-assignment": "error", - "perfectionist/sort-objects": [ - "error", - { - customGroups: { - programExit: "Program:exit", - }, - groups: ["unknown", "programExit"], - type: "alphabetical", - }, - ], }, settings: { perfectionist: { partitionByComment: true, type: "natural" }, + vitest: { typecheck: true }, }, }, { extends: [tseslint.configs.disableTypeChecked], - files: ["**/*.md/*.js", "**/*.md/*.ts", "eslint.config.js"], - }, - { - files: ["**/*.md/*.jsonc"], - rules: { - "jsonc/comma-dangle": "off", - "jsonc/no-comments": "off", - }, + files: ["**/*.md/*.ts"], + rules: { "n/no-missing-import": "off" }, }, + { files: ["*.mjs"], languageOptions: { sourceType: "module" } }, { extends: [vitest.configs.recommended], files: ["**/*.test.*"], diff --git a/knip.json b/knip.json index d73a20f3..9b9192b6 100644 --- a/knip.json +++ b/knip.json @@ -1,6 +1,7 @@ { - "$schema": "https://unpkg.com/knip@latest/schema.json", - "entry": ["src/index.ts!"], + "$schema": "https://unpkg.com/knip@5.46.0/schema.json", + "entry": ["src/**/*.test.*", "src/index.ts"], + "ignoreDependencies": ["create-typescript-app"], "ignoreExportsUsedInFile": { "interface": true, "type": true }, - "project": ["src/**/*.ts!"] + "project": ["src/**/*.ts"] } diff --git a/package.json b/package.json index 537daddc..7a7894d4 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,10 @@ "bugs": { "url": "https://github.com/JoshuaKGoldberg/eslint-plugin-package-json/issues" }, - "repository": "JoshuaKGoldberg/eslint-plugin-package-json", + "repository": { + "type": "git", + "url": "git+https://github.com/JoshuaKGoldberg/eslint-plugin-package-json.git" + }, "license": "MIT", "author": { "name": "James Zetlan", @@ -23,24 +26,26 @@ "require": "./lib/index.js" } }, - "main": "./lib/index.js", + "main": "lib/index.js", "files": [ - "lib" + "LICENSE.md", + "README.md", + "lib/", + "package.json" ], "scripts": { "build": "tsup", - "format": "prettier \"**/*\" --ignore-unknown", + "build:docs": "pnpm build --no-dts && eslint-doc-generator", + "format": "prettier .", "lint": "eslint . --max-warnings 0", - "lint:eslint-docs": "pnpm update:eslint-docs --check", + "lint:docs": "eslint-doc-generator --check", "lint:knip": "knip", - "lint:md": "markdownlint \"**/*.md\" \".github/**/*.md\"", + "lint:md": "markdownlint \"**/*.md\" \".github/**/*.md\" --rules sentences-per-line", "lint:packages": "pnpm dedupe --check", "lint:spelling": "cspell \"**\" \".github/**/*\"", "prepare": "husky", - "should-semantic-release": "should-semantic-release --verbose", "test": "vitest", - "tsc": "tsc", - "update:eslint-docs": "pnpm build && eslint-doc-generator --rule-doc-title-format name" + "tsc": "tsc" }, "lint-staged": { "*": "prettier --ignore-unknown --write" @@ -57,43 +62,46 @@ "validate-npm-package-name": "^6.0.0" }, "devDependencies": { - "@eslint-community/eslint-plugin-eslint-comments": "^4.4.1", - "@eslint/js": "^9.18.0", - "@release-it/conventional-changelog": "^10.0.0", + "@eslint-community/eslint-plugin-eslint-comments": "4.4.1", + "@eslint/js": "9.22.0", + "@release-it/conventional-changelog": "10.0.0", + "@types/eslint-plugin-markdown": "2.0.2", "@types/estree": "^1.0.6", - "@types/node": "^22.0.0", + "@types/node": "22.13.10", "@types/semver": "^7.5.6", "@types/sort-object-keys": "^1.1.3", "@types/validate-npm-package-name": "^4.0.2", - "@vitest/coverage-v8": "^3.0.0", - "@vitest/eslint-plugin": "^1.1.25", - "console-fail-test": "^0.5.0", - "cspell": "^8.3.2", - "eslint": "^9.18.0", + "@vitest/coverage-v8": "3.0.9", + "@vitest/eslint-plugin": "1.1.38", + "console-fail-test": "0.5.0", + "create-typescript-app": "^2.40.0", + "cspell": "8.17.5", + "eslint": "9.22.0", "eslint-doc-generator": "^2.1.2", - "eslint-plugin-eslint-plugin": "^6.4.0", - "eslint-plugin-jsdoc": "^50.6.1", - "eslint-plugin-jsonc": "^2.18.2", - "eslint-plugin-markdown": "^5.1.0", - "eslint-plugin-n": "^17.15.1", - "eslint-plugin-perfectionist": "^4.6.0", - "eslint-plugin-regexp": "^2.7.0", - "eslint-plugin-yml": "^1.16.0", - "husky": "^9.0.0", + "eslint-plugin-eslint-plugin": "6.4.0", + "eslint-plugin-jsdoc": "50.6.8", + "eslint-plugin-jsonc": "2.20.0", + "eslint-plugin-markdown": "5.1.0", + "eslint-plugin-n": "17.16.2", + "eslint-plugin-perfectionist": "4.11.0", + "eslint-plugin-regexp": "2.7.0", + "eslint-plugin-yml": "1.17.0", + "husky": "9.1.7", "jsonc-eslint-parser": "^2.4.0", - "knip": "^5.0.0", - "lint-staged": "^15.3.0", - "markdownlint": "^0.37.4", - "markdownlint-cli": "^0.44.0", - "prettier": "^3.2.4", - "prettier-plugin-curly": "^0.3.0", - "prettier-plugin-packagejson": "^2.4.9", - "release-it": "^18.0.0", - "should-semantic-release": "^0.3.0", - "tsup": "^8.0.1", - "typescript": "^5.7.3", - "typescript-eslint": "^8.20.0", - "vitest": "^3.0.0" + "knip": "5.46.0", + "lint-staged": "15.5.0", + "markdownlint": "0.37.4", + "markdownlint-cli": "0.44.0", + "prettier": "3.5.3", + "prettier-plugin-curly": "0.3.1", + "prettier-plugin-packagejson": "2.5.10", + "prettier-plugin-sh": "0.15.0", + "release-it": "18.1.2", + "sentences-per-line": "0.3.0", + "tsup": "8.4.0", + "typescript": "5.8.2", + "typescript-eslint": "8.26.1", + "vitest": "3.0.9" }, "peerDependencies": { "eslint": ">=8.0.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b3336cad..e44914ff 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -19,7 +19,7 @@ importers: version: 3.1.0 eslint-fix-utils: specifier: ^0.2.0 - version: 0.2.1(@types/estree@1.0.7)(eslint@9.23.0(jiti@2.4.2)) + version: 0.2.1(@types/estree@1.0.7)(eslint@9.22.0(jiti@2.4.2)) package-json-validator: specifier: ^0.10.0 version: 0.10.0 @@ -37,20 +37,23 @@ importers: version: 6.0.0 devDependencies: '@eslint-community/eslint-plugin-eslint-comments': - specifier: ^4.4.1 - version: 4.4.1(eslint@9.23.0(jiti@2.4.2)) + specifier: 4.4.1 + version: 4.4.1(eslint@9.22.0(jiti@2.4.2)) '@eslint/js': - specifier: ^9.18.0 - version: 9.23.0 + specifier: 9.22.0 + version: 9.22.0 '@release-it/conventional-changelog': - specifier: ^10.0.0 - version: 10.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0)(release-it@18.1.2(@types/node@22.13.14)(typescript@5.8.2)) + specifier: 10.0.0 + version: 10.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0)(release-it@18.1.2(@types/node@22.13.10)(typescript@5.8.2)) + '@types/eslint-plugin-markdown': + specifier: 2.0.2 + version: 2.0.2 '@types/estree': specifier: ^1.0.6 version: 1.0.7 '@types/node': - specifier: ^22.0.0 - version: 22.13.14 + specifier: 22.13.10 + version: 22.13.10 '@types/semver': specifier: ^7.5.6 version: 7.7.0 @@ -61,92 +64,98 @@ importers: specifier: ^4.0.2 version: 4.0.2 '@vitest/coverage-v8': - specifier: ^3.0.0 - version: 3.1.1(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.7.1)) + specifier: 3.0.9 + version: 3.0.9(vitest@3.0.9(@types/debug@4.1.12)(@types/node@22.13.10)(jiti@2.4.2)(yaml@2.7.1)) '@vitest/eslint-plugin': - specifier: ^1.1.25 - version: 1.1.38(@typescript-eslint/utils@8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.7.1)) + specifier: 1.1.38 + version: 1.1.38(@typescript-eslint/utils@8.29.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)(vitest@3.0.9(@types/debug@4.1.12)(@types/node@22.13.10)(jiti@2.4.2)(yaml@2.7.1)) console-fail-test: - specifier: ^0.5.0 + specifier: 0.5.0 version: 0.5.0 + create-typescript-app: + specifier: ^2.40.0 + version: 2.40.0(bingo-systems@0.5.4)(typescript@5.8.2) cspell: - specifier: ^8.3.2 - version: 8.18.1 + specifier: 8.17.5 + version: 8.17.5 eslint: - specifier: ^9.18.0 - version: 9.23.0(jiti@2.4.2) + specifier: 9.22.0 + version: 9.22.0(jiti@2.4.2) eslint-doc-generator: specifier: ^2.1.2 - version: 2.1.2(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + version: 2.1.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) eslint-plugin-eslint-plugin: - specifier: ^6.4.0 - version: 6.4.0(eslint@9.23.0(jiti@2.4.2)) + specifier: 6.4.0 + version: 6.4.0(eslint@9.22.0(jiti@2.4.2)) eslint-plugin-jsdoc: - specifier: ^50.6.1 - version: 50.6.9(eslint@9.23.0(jiti@2.4.2)) + specifier: 50.6.8 + version: 50.6.8(eslint@9.22.0(jiti@2.4.2)) eslint-plugin-jsonc: - specifier: ^2.18.2 - version: 2.19.1(eslint@9.23.0(jiti@2.4.2)) + specifier: 2.20.0 + version: 2.20.0(eslint@9.22.0(jiti@2.4.2)) eslint-plugin-markdown: - specifier: ^5.1.0 - version: 5.1.0(eslint@9.23.0(jiti@2.4.2)) + specifier: 5.1.0 + version: 5.1.0(eslint@9.22.0(jiti@2.4.2)) eslint-plugin-n: - specifier: ^17.15.1 - version: 17.16.2(eslint@9.23.0(jiti@2.4.2)) + specifier: 17.16.2 + version: 17.16.2(eslint@9.22.0(jiti@2.4.2)) eslint-plugin-perfectionist: - specifier: ^4.6.0 - version: 4.10.1(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + specifier: 4.11.0 + version: 4.11.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) eslint-plugin-regexp: - specifier: ^2.7.0 - version: 2.7.0(eslint@9.23.0(jiti@2.4.2)) + specifier: 2.7.0 + version: 2.7.0(eslint@9.22.0(jiti@2.4.2)) eslint-plugin-yml: - specifier: ^1.16.0 - version: 1.17.0(eslint@9.23.0(jiti@2.4.2)) + specifier: 1.17.0 + version: 1.17.0(eslint@9.22.0(jiti@2.4.2)) husky: - specifier: ^9.0.0 + specifier: 9.1.7 version: 9.1.7 jsonc-eslint-parser: specifier: ^2.4.0 version: 2.4.0 knip: - specifier: ^5.0.0 - version: 5.46.4(@types/node@22.13.14)(typescript@5.8.2) + specifier: 5.46.0 + version: 5.46.0(@types/node@22.13.10)(typescript@5.8.2) lint-staged: - specifier: ^15.3.0 + specifier: 15.5.0 version: 15.5.0 markdownlint: - specifier: ^0.37.4 + specifier: 0.37.4 version: 0.37.4 markdownlint-cli: - specifier: ^0.44.0 + specifier: 0.44.0 version: 0.44.0 prettier: - specifier: ^3.2.4 - version: 3.3.3 + specifier: 3.5.3 + version: 3.5.3 prettier-plugin-curly: - specifier: ^0.3.0 - version: 0.3.1(prettier@3.3.3) + specifier: 0.3.1 + version: 0.3.1(prettier@3.5.3) prettier-plugin-packagejson: - specifier: ^2.4.9 - version: 2.5.10(prettier@3.3.3) + specifier: 2.5.10 + version: 2.5.10(prettier@3.5.3) + prettier-plugin-sh: + specifier: 0.15.0 + version: 0.15.0(prettier@3.5.3) release-it: - specifier: ^18.0.0 - version: 18.1.2(@types/node@22.13.14)(typescript@5.8.2) - should-semantic-release: - specifier: ^0.3.0 - version: 0.3.1 + specifier: 18.1.2 + version: 18.1.2(@types/node@22.13.10)(typescript@5.8.2) + sentences-per-line: + specifier: 0.3.0 + version: 0.3.0 tsup: - specifier: ^8.0.1 + specifier: 8.4.0 version: 8.4.0(jiti@2.4.2)(postcss@8.5.3)(typescript@5.8.2)(yaml@2.7.1) typescript: - specifier: ^5.7.3 + specifier: 5.8.2 version: 5.8.2 typescript-eslint: - specifier: ^8.20.0 - version: 8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + specifier: 8.26.1 + version: 8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) vitest: - specifier: ^3.0.0 - version: 3.1.1(@types/debug@4.1.12)(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.7.1) + specifier: 3.0.9 + version: 3.0.9(@types/debug@4.1.12)(@types/node@22.13.10)(jiti@2.4.2)(yaml@2.7.1) packages: @@ -194,6 +203,12 @@ packages: resolution: {integrity: sha512-6zABk/ECA/QYSCQ1NGiVwwbQerUCZ+TQbp64Q3AgmfNvurHH0j8TtXa1qbShXA6qqkpAj4V5W8pP6mLe1mcMqA==} engines: {node: '>=18'} + '@clack/core@0.4.1': + resolution: {integrity: sha512-Pxhij4UXg8KSr7rPek6Zowm+5M22rbd2g1nfojHJkxp5YkFqiZ2+YLEM/XGVIzvGOcM0nqjIFxrpDwWRZYWYjA==} + + '@clack/prompts@0.10.0': + resolution: {integrity: sha512-H3rCl6CwW1NdQt9rE3n373t7o5cthPv7yUoxF2ytZvyvlJv89C5RYMJu83Hed8ODgys5vpBU0GKxIRG83jd8NQ==} + '@conventional-changelog/git-client@1.0.1': resolution: {integrity: sha512-PJEqBwAleffCMETaVm/fUgHldzBE35JFk3/9LL6NUA5EXa3qednu+UT6M7E5iBu3zIQZCULYIiZ90fBYHt6xUw==} engines: {node: '>=18'} @@ -206,28 +221,28 @@ packages: conventional-commits-parser: optional: true - '@cspell/cspell-bundled-dicts@8.18.1': - resolution: {integrity: sha512-gxciVVfQqCVXYH0p2Q5D7x7/SgaW3Wv5UjRwO+TCme0P2lVLl/IcfjkujZX+6UQkT7X4QRglXo1QN141UcCRCQ==} + '@cspell/cspell-bundled-dicts@8.17.5': + resolution: {integrity: sha512-b/Ntabar+g4gsRNwOct909cvatO/auHhNvBzJZfyFQzryI1nqHMaSFuDsrrtzbhQkGJ4GiMAKCXZC2EOdHMgmw==} engines: {node: '>=18'} - '@cspell/cspell-json-reporter@8.18.1': - resolution: {integrity: sha512-/U3/8bcOL5O35fI9F7nN7Mhic0K01ZRxRV/+5jj7atltBbqgFSxViHCZBX0lDZJM96gUHn+3r6q6/8VEJahpDA==} + '@cspell/cspell-json-reporter@8.17.5': + resolution: {integrity: sha512-+eVFCdnda74Frv8hguHYwDtxvqDuJJ/luFRl4dC5oknPMRab0JCHM1DDYjp3NzsehTex0HmcxplxqVW6QoDosg==} engines: {node: '>=18'} - '@cspell/cspell-pipe@8.18.1': - resolution: {integrity: sha512-QHndTQPkR1c02pvvQ7UKFtLjCXgY0OcX8zjTLrCkynmcQxJFjAZAh9cJ7NMOAxab+ciSnkaVf4KWaRSEG17z8Q==} + '@cspell/cspell-pipe@8.17.5': + resolution: {integrity: sha512-VOIfFdIo3FYQFcSpIyGkqHupOx0LgfBrWs79IKnTT1II27VUHPF+0oGq0WWf4c2Zpd8tzdHvS3IUhGarWZq69g==} engines: {node: '>=18'} - '@cspell/cspell-resolver@8.18.1': - resolution: {integrity: sha512-T2sUBv0p9Hnfyg1xT1u3ESKuIWaaIDo0I8idh5DSlTpHgLjdIeAwasmFjEJ28qZv8OKSGawcSQKgJbStfbZASQ==} + '@cspell/cspell-resolver@8.17.5': + resolution: {integrity: sha512-5MhYInligPbGctWxoklAKxtg+sxvtJCuRKGSQHHA0JlCOLSsducypl780P6zvpjLK59XmdfC+wtFONxSmRbsuA==} engines: {node: '>=18'} - '@cspell/cspell-service-bus@8.18.1': - resolution: {integrity: sha512-PwWl7EyhGIu4wHEhvBJb6xVlqMtFwQk0qLDArBvugL6nA+MX9NfG/w7PTgS7tCkFjVF1ku2sDzDLTDWwEk+MLw==} + '@cspell/cspell-service-bus@8.17.5': + resolution: {integrity: sha512-Ur3IK0R92G/2J6roopG9cU/EhoYAMOx2um7KYlq93cdrly8RBAK2NCcGCL7DbjQB6C9RYEAV60ueMUnQ45RrCQ==} engines: {node: '>=18'} - '@cspell/cspell-types@8.18.1': - resolution: {integrity: sha512-d/nMG+qnMbI/1JPm+lD0KcKpgtEHMRsHxkdtGyNCDgvHL/JOGaSHc5ERS3IUgBW0Dfya/3z9wPdaMcHEzt7YCQ==} + '@cspell/cspell-types@8.17.5': + resolution: {integrity: sha512-91y2+0teunRSRZj940ORDA3kdjyenrUiM+4j6nQQH24sAIAJdRmQl2LG3eUTmeaSReJGkZIpnToQ6DyU5cC88Q==} engines: {node: '>=18'} '@cspell/dict-ada@4.1.0': @@ -388,8 +403,8 @@ packages: '@cspell/dict-shell@1.1.0': resolution: {integrity: sha512-D/xHXX7T37BJxNRf5JJHsvziFDvh23IF/KvkZXNSh8VqcRdod3BAz9VGHZf6VDqcZXr1VRqIYR3mQ8DSvs3AVQ==} - '@cspell/dict-software-terms@5.0.3': - resolution: {integrity: sha512-YSNSt+7mTKMMJRT26+uOmWrx5Yaqs+WqTbLb0an0zIcnZHjxrH0eVYlvZmxQcF2JiDuhjQvo9YaEnu+MI09HZg==} + '@cspell/dict-software-terms@4.2.5': + resolution: {integrity: sha512-CaRzkWti3AgcXoxuRcMijaNG7YUk/MH1rHjB8VX34v3UdCxXXeqvRyElRKnxhFeVLB/robb2UdShqh/CpskxRg==} '@cspell/dict-sql@2.2.0': resolution: {integrity: sha512-MUop+d1AHSzXpBvQgQkCiok8Ejzb+nrzyG16E8TvKL2MQeDwnIvMe3bv90eukP6E1HWb+V/MA/4pnq0pcJWKqQ==} @@ -409,20 +424,20 @@ packages: '@cspell/dict-vue@3.0.4': resolution: {integrity: sha512-0dPtI0lwHcAgSiQFx8CzvqjdoXROcH+1LyqgROCpBgppommWpVhbQ0eubnKotFEXgpUCONVkeZJ6Ql8NbTEu+w==} - '@cspell/dynamic-import@8.18.1': - resolution: {integrity: sha512-VJHfS/Iv0Rx7wn1pjPmwgsaw6r72N5Cx2gL0slWk8Cogc8YiK7/6jsGnsvxJZVkHntJoiT8PrkIvhNKb3awD3g==} + '@cspell/dynamic-import@8.17.5': + resolution: {integrity: sha512-tY+cVkRou+0VKvH+K1NXv8/R7mOlW3BDGSs9fcgvhatj0m00Yf8blFC7tE4VVI9Qh2bkC/KDFqM24IqZbuwXUQ==} engines: {node: '>=18.0'} - '@cspell/filetypes@8.18.1': - resolution: {integrity: sha512-vTOb2itP0pjrccvt8wcKiTGyw0pFMTPI85H12T6n8ZhqXTktPgQH2gEf/SU/5tkPNnBKr4GJ+FdU5hJ27HzgXQ==} + '@cspell/filetypes@8.17.5': + resolution: {integrity: sha512-Fj6py2Rl+FEnMiXhRQUM1A5QmyeCLxi6dY/vQ0qfH6tp6KSaBiaC8wuPUKhr8hKyTd3+8lkUbobDhUf6xtMEXg==} engines: {node: '>=18'} - '@cspell/strong-weak-map@8.18.1': - resolution: {integrity: sha512-gsgv+5ZQD4aHNHDdfNGoafVYkqRynyYgaodt9Dp/3o0YKYcxGf2jrX8SJ35MfZ61qln0n7P4Djrg+bFV2zNH5w==} + '@cspell/strong-weak-map@8.17.5': + resolution: {integrity: sha512-Z4eo+rZJr1086wZWycBiIG/n7gGvVoqn28I7ZicS8xedRYu/4yp2loHgLn4NpxG3e46+dNWs4La6vinod+UydQ==} engines: {node: '>=18'} - '@cspell/url@8.18.1': - resolution: {integrity: sha512-FRJbLYDC9ucpTOzbF6MohP2u5X3NU5L0RoVuoYCynqm/QOI38XP6WOEaI4H58CAn857bOIKZk0LZRPTGzi6Qlg==} + '@cspell/url@8.17.5': + resolution: {integrity: sha512-GNQqST7zI85dAFVyao6oiTeg5rNhO9FH1ZAd397qQhvwfxrrniNfuoewu8gPXyP0R4XBiiaCwhBL7w9S/F5guw==} engines: {node: '>=18.0'} '@es-joy/jsdoccomment@0.49.0': @@ -599,8 +614,8 @@ packages: resolution: {integrity: sha512-GNKqxfHG2ySmJOBSHg7LxeUx4xpuCoFjacmlCoYWEbaPXLwvfIjixRI12xCQZeULksQb23uiA8F40w5TojpV7w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/config-helpers@0.2.0': - resolution: {integrity: sha512-yJLLmLexii32mGrhW29qvU3QBVTu0GUmEf/J4XsBtVhp4JkIUFN/BjWqTF63yRvGApIDpZm5fa97LtYtINmfeQ==} + '@eslint/config-helpers@0.1.0': + resolution: {integrity: sha512-kLrdPDJE1ckPo94kmPPf9Hfd0DU0Jw6oKYrhe+pwSC0iTUInmTa+w6fw8sGgcfkFJGNdWOUeOaDM4quW4a7OkA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/core@0.12.0': @@ -611,8 +626,8 @@ packages: resolution: {integrity: sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@eslint/js@9.23.0': - resolution: {integrity: sha512-35MJ8vCPU0ZMxo7zfev2pypqTwWTofFZO6m4KAtdoFhRpLJUpHTZZ+KB3C7Hb1d7bULYwO4lJXGCi5Se+8OMbw==} + '@eslint/js@9.22.0': + resolution: {integrity: sha512-vLFajx9o8d1/oL2ZkpMYbkLv8nDB6yaIwFNt7nI4+I80U/z03SxmfOMsLbvWr3p7C+Wnoh//aOu2pQW8cS0HCQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@eslint/object-schema@2.1.6': @@ -784,27 +799,72 @@ packages: resolution: {integrity: sha512-nIh/M6Kh3ZtOmlY00DaUYB4xeeV6F3/ts1l29iwl3/cfyY/OuCfUx+v08zgx8TKPTifXRcjjqVQ4KB2zOYSbyw==} engines: {node: '>=18.18.0'} + '@octokit/app@15.1.5': + resolution: {integrity: sha512-6cxLT9U8x7GGQ7lNWsKtFr4ccg9oLkGvowk373sX9HvX5U37kql5d55SzaQUxPE8PwgX2cqkzDm5NF5aPKevqg==} + engines: {node: '>= 18'} + + '@octokit/auth-app@7.2.0': + resolution: {integrity: sha512-js6wDY3SNLNZo5XwybhC8WKEw8BonEa9vqxN4IKbhEbo22i2+DinHxapV/PpFCTsmlkT1HMhF75xyOG9RVvI5g==} + engines: {node: '>= 18'} + + '@octokit/auth-oauth-app@8.1.3': + resolution: {integrity: sha512-4e6OjVe5rZ8yBe8w7byBjpKtSXFuro7gqeGAAZc7QYltOF8wB93rJl2FE0a4U1Mt88xxPv/mS+25/0DuLk0Ewg==} + engines: {node: '>= 18'} + + '@octokit/auth-oauth-device@7.1.4': + resolution: {integrity: sha512-yK35I9VGDGjYxu0NPZ9Rl+zXM/+DO/Hu1VR5FUNz+ZsU6i8B8oQ43TPwci9nuH8bAF6rQrKDNR9F0r0+kzYJhA==} + engines: {node: '>= 18'} + + '@octokit/auth-oauth-user@5.1.3': + resolution: {integrity: sha512-zNPByPn9K7TC+OOHKGxU+MxrE9SZAN11UHYEFLsK2NRn3akJN2LHRl85q+Eypr3tuB2GrKx3rfj2phJdkYCvzw==} + engines: {node: '>= 18'} + '@octokit/auth-token@5.1.2': resolution: {integrity: sha512-JcQDsBdg49Yky2w2ld20IHAlwr8d/d8N6NiOXbtuoPCqzbsiJgF633mVUw3x4mo0H5ypataQIX7SFu3yy44Mpw==} engines: {node: '>= 18'} - '@octokit/core@6.1.3': - resolution: {integrity: sha512-z+j7DixNnfpdToYsOutStDgeRzJSMnbj8T1C/oQjB6Aa+kRfNjs/Fn7W6c8bmlt6mfy3FkgeKBRnDjxQow5dow==} + '@octokit/auth-unauthenticated@6.1.2': + resolution: {integrity: sha512-07DlUGcz/AAVdzu3EYfi/dOyMSHp9YsOxPl/MPmtlVXWiD//GlV8HgZsPhud94DEyx+RfrW0wSl46Lx+AWbOlg==} + engines: {node: '>= 18'} + + '@octokit/core@6.1.4': + resolution: {integrity: sha512-lAS9k7d6I0MPN+gb9bKDt7X8SdxknYqAMh44S5L+lNqIN2NuV8nvv3g8rPp7MuRxcOpxpUIATWprO0C34a8Qmg==} engines: {node: '>= 18'} - '@octokit/endpoint@10.1.2': - resolution: {integrity: sha512-XybpFv9Ms4hX5OCHMZqyODYqGTZ3H6K6Vva+M9LR7ib/xr1y1ZnlChYv9H680y77Vd/i/k+thXApeRASBQkzhA==} + '@octokit/endpoint@10.1.3': + resolution: {integrity: sha512-nBRBMpKPhQUxCsQQeW+rCJ/OPSMcj3g0nfHn01zGYZXuNDvvXudF/TYY6APj5THlurerpFN4a/dQAIAaM6BYhA==} engines: {node: '>= 18'} '@octokit/graphql@8.2.0': resolution: {integrity: sha512-gejfDywEml/45SqbWTWrhfwvLBrcGYhOn50sPOjIeVvH6i7D16/9xcFA8dAJNp2HMcd+g4vru41g4E2RBiZvfQ==} engines: {node: '>= 18'} - '@octokit/openapi-types@23.0.1': - resolution: {integrity: sha512-izFjMJ1sir0jn0ldEKhZ7xegCTj/ObmEDlEfpFrx4k/JyZSMRHbO3/rBwgE7f3m2DHt+RrNGIVw4wSmwnm3t/g==} + '@octokit/oauth-app@7.1.6': + resolution: {integrity: sha512-OMcMzY2WFARg80oJNFwWbY51TBUfLH4JGTy119cqiDawSFXSIBujxmpXiKbGWQlvfn0CxE6f7/+c6+Kr5hI2YA==} + engines: {node: '>= 18'} + + '@octokit/oauth-authorization-url@7.1.1': + resolution: {integrity: sha512-ooXV8GBSabSWyhLUowlMIVd9l1s2nsOGQdlP2SQ4LnkEsGXzeCvbSbCPdZThXhEFzleGPwbapT0Sb+YhXRyjCA==} + engines: {node: '>= 18'} + + '@octokit/oauth-methods@5.1.4': + resolution: {integrity: sha512-Jc/ycnePClOvO1WL7tlC+TRxOFtyJBGuTDsL4dzXNiVZvzZdrPuNw7zHI3qJSUX2n6RLXE5L0SkFmYyNaVUFoQ==} + engines: {node: '>= 18'} + + '@octokit/openapi-types@24.2.0': + resolution: {integrity: sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==} + + '@octokit/openapi-webhooks-types@10.4.0': + resolution: {integrity: sha512-HMiF7FUiVBYfp8pPijMTkWuPELQB6XkPftrnSuK1C1YXaaq2+0ganiQkorEQfXTmhtwlgHJwXT6P8miVhIyjQA==} + + '@octokit/plugin-paginate-graphql@5.2.4': + resolution: {integrity: sha512-pLZES1jWaOynXKHOqdnwZ5ULeVR6tVVCMm+AUbp0htdcyXDU95WbkYdU4R2ej1wKj5Tu94Mee2Ne0PjPO9cCyA==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=6' - '@octokit/plugin-paginate-rest@11.4.0': - resolution: {integrity: sha512-ttpGck5AYWkwMkMazNCZMqxKqIq1fJBNxBfsFwwfyYKTf914jKkLF0POMS3YkPBwp5g1c2Y4L79gDz01GhSr1g==} + '@octokit/plugin-paginate-rest@11.6.0': + resolution: {integrity: sha512-n5KPteiF7pWKgBIBJSk8qzoZWcUkza2O6A0za97pMGVrGfPdltxrfmfF5GucHYvHGZD8BdaZmmHGz5cX/3gdpw==} engines: {node: '>= 18'} peerDependencies: '@octokit/core': '>=6' @@ -815,26 +875,46 @@ packages: peerDependencies: '@octokit/core': '>=6' - '@octokit/plugin-rest-endpoint-methods@13.3.0': - resolution: {integrity: sha512-LUm44shlmkp/6VC+qQgHl3W5vzUP99ZM54zH6BuqkJK4DqfFLhegANd+fM4YRLapTvPm4049iG7F3haANKMYvQ==} + '@octokit/plugin-rest-endpoint-methods@13.5.0': + resolution: {integrity: sha512-9Pas60Iv9ejO3WlAX3maE1+38c5nqbJXV5GrncEfkndIpZrJ/WPMRd2xYDcPPEt5yzpxcjw9fWNoPhsSGzqKqw==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': '>=6' + + '@octokit/plugin-retry@7.2.0': + resolution: {integrity: sha512-psMbEYb/Fh+V+ZaFo8J16QiFz4sVTv3GntCSU+hYqzHiMdc3P+hhHLVv+dJt0PGIPAGoIA5u+J2DCJdK6lEPsQ==} engines: {node: '>= 18'} peerDependencies: '@octokit/core': '>=6' - '@octokit/request-error@6.1.6': - resolution: {integrity: sha512-pqnVKYo/at0NuOjinrgcQYpEbv4snvP3bKMRqHaD9kIsk9u1LCpb2smHZi8/qJfgeNqLo5hNW4Z7FezNdEo0xg==} + '@octokit/plugin-throttling@9.6.1': + resolution: {integrity: sha512-bt3EBUkeKUzDQXRCcFrR9SWVqlLFRRqcCrr6uAorWt6NXTyjMKqcGrFmXqJy9NCbnKgiIZ2OXWq04theFc76Jg==} + engines: {node: '>= 18'} + peerDependencies: + '@octokit/core': ^6.1.3 + + '@octokit/request-error@6.1.7': + resolution: {integrity: sha512-69NIppAwaauwZv6aOzb+VVLwt+0havz9GT5YplkeJv7fG7a40qpLt/yZKyiDxAhgz0EtgNdNcb96Z0u+Zyuy2g==} engines: {node: '>= 18'} - '@octokit/request@9.2.0': - resolution: {integrity: sha512-kXLfcxhC4ozCnAXy2ff+cSxpcF0A1UqxjvYMqNuPIeOAzJbVWQ+dy5G2fTylofB/gTbObT8O6JORab+5XtA1Kw==} + '@octokit/request@9.2.2': + resolution: {integrity: sha512-dZl0ZHx6gOQGcffgm1/Sf6JfEpmh34v3Af2Uci02vzUYz6qEN6zepoRtmybWXIGXFIK8K9ylE3b+duCWqhArtg==} engines: {node: '>= 18'} '@octokit/rest@21.0.2': resolution: {integrity: sha512-+CiLisCoyWmYicH25y1cDfCrv41kRSvTq6pPWtRroRJzhsCZWZyCqGyI8foJT5LmScADSwRAnr/xo+eewL04wQ==} engines: {node: '>= 18'} - '@octokit/types@13.8.0': - resolution: {integrity: sha512-x7DjTIbEpEWXK99DMd01QfWy0hd5h4EN+Q7shkdKds3otGQP+oWE/y0A76i1OvH9fygo4ddvNf7ZvF0t78P98A==} + '@octokit/types@13.10.0': + resolution: {integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==} + + '@octokit/webhooks-methods@5.1.1': + resolution: {integrity: sha512-NGlEHZDseJTCj8TMMFehzwa9g7On4KJMPVHDSrHxCQumL6uSQR8wIkP/qesv52fXqV1BPf4pTxwtS31ldAt9Xg==} + engines: {node: '>= 18'} + + '@octokit/webhooks@13.8.0': + resolution: {integrity: sha512-3PCWyFBNbW2+Ox36VAkSqlPoIb96NZiPcICRYySHZrDTM2NuNxvrjPeaQDj2egqILs9EZFObRTHVMe4XxXJV7w==} + engines: {node: '>= 18'} '@one-ini/wasm@0.2.0': resolution: {integrity: sha512-n+L/BvrwKUn7q5O3wHGo+CJZAqfewh38+37sk+eBzv/39lM9pPgPRd4sOZRvSRzo0ukLxzyXso4WlGj2oKZ5hA==} @@ -968,9 +1048,24 @@ packages: '@sec-ant/readable-stream@0.4.1': resolution: {integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==} + '@selderee/plugin-htmlparser2@0.11.0': + resolution: {integrity: sha512-P33hHGdldxGabLFjPPpaTxVolMrzrcegejx+0GxjrIb9Zv48D8yAIA/QTDR2dFl7Uz7urX8aX6+5bCZslr+gWQ==} + '@sinclair/typebox@0.27.8': resolution: {integrity: sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==} + '@sindresorhus/chunkify@1.0.0': + resolution: {integrity: sha512-YJOcVaEasXWcttXetXn0jd6Gtm9wFHQ1gViTPcxhESwkMCOoA4kwFsNr9EGcmsARGx7jXQZWmOR4zQotRcI9hw==} + engines: {node: '>=18'} + + '@sindresorhus/df@1.0.1': + resolution: {integrity: sha512-1Hyp7NQnD/u4DSxR2DGW78TF9k7R0wZ8ev0BpMAIzA6yTQSHqNb5wTuvtcPYf4FWbVse2rW7RgDsyL8ua2vXHw==} + engines: {node: '>=0.10.0'} + + '@sindresorhus/df@3.1.1': + resolution: {integrity: sha512-SME/vtXaJcnQ/HpeV6P82Egy+jThn11IKfwW8+/XVoRD0rmPHVTeKMtww1oWdVnMykzVPjmrDN9S8NBndPEHCQ==} + engines: {node: '>=8'} + '@sindresorhus/merge-streams@2.3.0': resolution: {integrity: sha512-LtoMMhxAlorcGhmFYI+LhPgbPZCkgP6ra1YL604EeF6U98pLlQ3iWIGMdWSC+vWmPBWBNgmDBAhnAobLROJmwg==} engines: {node: '>=18'} @@ -984,12 +1079,25 @@ packages: engines: {node: '>=8.10'} hasBin: true + '@stroncium/procfs@1.2.1': + resolution: {integrity: sha512-X1Iui3FUNZP18EUvysTHxt+Avu2nlVzyf90YM8OYgP6SGzTzzX/0JgObfO1AQQDzuZtNNz29bVh8h5R97JrjxA==} + engines: {node: '>=8'} + '@tootallnate/quickjs-emscripten@0.23.0': resolution: {integrity: sha512-C5Mc6rdnsaJDjO3UpGW/CQTHtCKaYlScZTly4JIu97Jxo/odCiH0ITnDXSJPTOrEKk/ycSZ0AOgTmkDtkOsvIA==} + '@types/aws-lambda@8.10.148': + resolution: {integrity: sha512-JL+2cfkY9ODQeE06hOxSFNkafjNk4JRBgY837kpoq1GHDttq2U3BA9IzKOWxS4DLjKoymGB4i9uBrlCkjUl1yg==} + '@types/debug@4.1.12': resolution: {integrity: sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==} + '@types/eslint-plugin-markdown@2.0.2': + resolution: {integrity: sha512-ImmEw5xBVb9vCaFfQ+5kUcVatUO4XPpTvryAmhpKzalUKhDb3EZmeuHvIUO6E1/WDOTw+/b9qlWsZhxULhZdfQ==} + + '@types/eslint@9.6.1': + resolution: {integrity: sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==} + '@types/estree@1.0.7': resolution: {integrity: sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==} @@ -1005,8 +1113,8 @@ packages: '@types/ms@0.7.34': resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} - '@types/node@22.13.14': - resolution: {integrity: sha512-Zs/Ollc1SJ8nKUAgc7ivOEdIBM8JAKgrqqUYi2J997JuKO7/tpQC+WCetQ1sypiKCQWHdvdg9wBNpUPEWZae7w==} + '@types/node@22.13.10': + resolution: {integrity: sha512-I6LPUvlRH+O6VRUqYOcMudhaIdUVWfsjnZavnsraHvpBwaEyMN29ry+0UVJhImYL16xsscu0aske3yA+uPOWfw==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1026,42 +1134,73 @@ packages: '@types/validate-npm-package-name@4.0.2': resolution: {integrity: sha512-lrpDziQipxCEeK5kWxvljWYhUvOiB2A9izZd9B2AFarYAkqZshb4lPbRs7zKEic6eGtH8V/2qJW+dPp9OtF6bw==} - '@typescript-eslint/eslint-plugin@8.29.0': - resolution: {integrity: sha512-PAIpk/U7NIS6H7TEtN45SPGLQaHNgB7wSjsQV/8+KYokAb2T/gloOA/Bee2yd4/yKVhPKe5LlaUGhAZk5zmSaQ==} + '@typescript-eslint/eslint-plugin@8.26.1': + resolution: {integrity: sha512-2X3mwqsj9Bd3Ciz508ZUtoQQYpOhU/kWoUqIf49H8Z0+Vbh6UF/y0OEYp0Q0axOGzaBGs7QxRwq0knSQ8khQNA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/parser@8.29.0': - resolution: {integrity: sha512-8C0+jlNJOwQso2GapCVWWfW/rzaq7Lbme+vGUFKE31djwNncIpgXD7Cd4weEsDdkoZDjH0lwwr3QDQFuyrMg9g==} + '@typescript-eslint/parser@8.26.1': + resolution: {integrity: sha512-w6HZUV4NWxqd8BdeFf81t07d7/YV9s7TCWrQQbG5uhuvGUAW+fq1usZ1Hmz9UPNLniFnD8GLSsDpjP0hm1S4lQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/scope-manager@8.26.1': + resolution: {integrity: sha512-6EIvbE5cNER8sqBu6V7+KeMZIC1664d2Yjt+B9EWUXrsyWpxx4lEZrmvxgSKRC6gX+efDL/UY9OpPZ267io3mg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/scope-manager@8.29.0': resolution: {integrity: sha512-aO1PVsq7Gm+tcghabUpzEnVSFMCU4/nYIgC2GOatJcllvWfnhrgW0ZEbnTxm36QsikmCN1K/6ZgM7fok2I7xNw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/type-utils@8.29.0': - resolution: {integrity: sha512-ahaWQ42JAOx+NKEf5++WC/ua17q5l+j1GFrbbpVKzFL/tKVc0aYY8rVSYUpUvt2hUP1YBr7mwXzx+E/DfUWI9Q==} + '@typescript-eslint/type-utils@8.26.1': + resolution: {integrity: sha512-Kcj/TagJLwoY/5w9JGEFV0dclQdyqw9+VMndxOJKtoFSjfZhLXhYjzsQEeyza03rwHx2vFEGvrJWJBXKleRvZg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/types@8.26.1': + resolution: {integrity: sha512-n4THUQW27VmQMx+3P+B0Yptl7ydfceUj4ON/AQILAASwgYdZ/2dhfymRMh5egRUrvK5lSmaOm77Ry+lmXPOgBQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.29.0': resolution: {integrity: sha512-wcJL/+cOXV+RE3gjCyl/V2G877+2faqvlgtso/ZRbTCnZazh0gXhe+7gbAnfubzN2bNsBtZjDvlh7ero8uIbzg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/types@8.29.1': + resolution: {integrity: sha512-VT7T1PuJF1hpYC3AGm2rCgJBjHL3nc+A/bhOp9sGMKfi5v0WufsX/sHCFBfNTx2F+zA6qBc/PD0/kLRLjdt8mQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@typescript-eslint/typescript-estree@8.26.1': + resolution: {integrity: sha512-yUwPpUHDgdrv1QJ7YQal3cMVBGWfnuCdKbXw1yyjArax3353rEJP1ZA+4F8nOlQ3RfS2hUN/wze3nlY+ZOhvoA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/typescript-estree@8.29.0': resolution: {integrity: sha512-yOfen3jE9ISZR/hHpU/bmNvTtBW1NjRbkSFdZOksL1N+ybPEE7UVGMwqvS6CP022Rp00Sb0tdiIkhSCe6NI8ow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/typescript-estree@8.29.1': + resolution: {integrity: sha512-l1enRoSaUkQxOQnbi0KPUtqeZkSiFlqrx9/3ns2rEDhGKfTa+88RmXqedC1zmVTOWrLc2e6DEJrTA51C9iLH5g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <5.9.0' + + '@typescript-eslint/utils@8.26.1': + resolution: {integrity: sha512-V4Urxa/XtSUroUrnI7q6yUTD3hDtfJ2jzVfeT3VK0ciizfK2q/zGC0iDh1lFMUZR8cImRrep6/q0xd/1ZGPQpg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/utils@8.29.0': resolution: {integrity: sha512-gX/A0Mz9Bskm8avSWFcK0gP7cZpbY4AIo6B0hWYFCaIsz750oaiWR4Jr2CI+PQhfW1CpcQr9OlfPS+kMFegjXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1069,15 +1208,23 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' + '@typescript-eslint/visitor-keys@8.26.1': + resolution: {integrity: sha512-AjOC3zfnxd6S4Eiy3jwktJPclqhFHNyd8L6Gycf9WUPoKZpgM5PjkxY1X7uSy61xVpiJDhhk7XT2NVsN3ALTWg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/visitor-keys@8.29.0': resolution: {integrity: sha512-Sne/pVz8ryR03NFK21VpN88dZ2FdQXOlq3VIklbrTYEt8yXtRFr9tvUhqvCeKjqYk5FSim37sHbooT6vzBTZcg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@vitest/coverage-v8@3.1.1': - resolution: {integrity: sha512-MgV6D2dhpD6Hp/uroUoAIvFqA8AuvXEFBC2eepG3WFc1pxTfdk1LEqqkWoWhjz+rytoqrnUUCdf6Lzco3iHkLQ==} + '@typescript-eslint/visitor-keys@8.29.1': + resolution: {integrity: sha512-RGLh5CRaUEf02viP5c1Vh1cMGffQscyHe7HPAzGpfmfflFg1wUz2rYxd+OZqwpeypYvZ8UxSxuIpF++fmOzEcg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + + '@vitest/coverage-v8@3.0.9': + resolution: {integrity: sha512-15OACZcBtQ34keIEn19JYTVuMFTlFrClclwWjHo/IRPg/8ELpkgNTl0o7WLP9WO9XGH6+tip9CPYtEOrIDJvBA==} peerDependencies: - '@vitest/browser': 3.1.1 - vitest: 3.1.1 + '@vitest/browser': 3.0.9 + vitest: 3.0.9 peerDependenciesMeta: '@vitest/browser': optional: true @@ -1095,11 +1242,11 @@ packages: vitest: optional: true - '@vitest/expect@3.1.1': - resolution: {integrity: sha512-q/zjrW9lgynctNbwvFtQkGK9+vvHA5UzVi2V8APrp1C6fG6/MuYYkmlx4FubuqLycCeSdHD5aadWfua/Vr0EUA==} + '@vitest/expect@3.0.9': + resolution: {integrity: sha512-5eCqRItYgIML7NNVgJj6TVCmdzE7ZVgJhruW0ziSQV4V7PvLkDL1bBkBdcTs/VuIz0IxPb5da1IDSqc1TR9eig==} - '@vitest/mocker@3.1.1': - resolution: {integrity: sha512-bmpJJm7Y7i9BBELlLuuM1J1Q6EQ6K5Ye4wcyOpOMXMcePYKSIYlpcrCm4l/O6ja4VJA5G2aMJiuZkZdnxlC3SA==} + '@vitest/mocker@3.0.9': + resolution: {integrity: sha512-ryERPIBOnvevAkTq+L1lD+DTFBRcjueL9lOUfXsLfwP92h4e+Heb+PjiqS3/OURWPtywfafK0kj++yDFjWUmrA==} peerDependencies: msw: ^2.4.9 vite: ^5.0.0 || ^6.0.0 @@ -1109,24 +1256,23 @@ packages: vite: optional: true + '@vitest/pretty-format@3.0.9': + resolution: {integrity: sha512-OW9F8t2J3AwFEwENg3yMyKWweF7oRJlMyHOMIhO5F3n0+cgQAJZBjNgrF8dLwFTEXl5jUqBLXd9QyyKv8zEcmA==} + '@vitest/pretty-format@3.1.1': resolution: {integrity: sha512-dg0CIzNx+hMMYfNmSqJlLSXEmnNhMswcn3sXO7Tpldr0LiGmg3eXdLLhwkv2ZqgHb/d5xg5F7ezNFRA1fA13yA==} - '@vitest/runner@3.1.1': - resolution: {integrity: sha512-X/d46qzJuEDO8ueyjtKfxffiXraPRfmYasoC4i5+mlLEJ10UvPb0XH5M9C3gWuxd7BAQhpK42cJgJtq53YnWVA==} + '@vitest/runner@3.0.9': + resolution: {integrity: sha512-NX9oUXgF9HPfJSwl8tUZCMP1oGx2+Sf+ru6d05QjzQz4OwWg0psEzwY6VexP2tTHWdOkhKHUIZH+fS6nA7jfOw==} - '@vitest/snapshot@3.1.1': - resolution: {integrity: sha512-bByMwaVWe/+1WDf9exFxWWgAixelSdiwo2p33tpqIlM14vW7PRV5ppayVXtfycqze4Qhtwag5sVhX400MLBOOw==} + '@vitest/snapshot@3.0.9': + resolution: {integrity: sha512-AiLUiuZ0FuA+/8i19mTYd+re5jqjEc2jZbgJ2up0VY0Ddyyxg/uUtBDpIFAy4uzKaQxOW8gMgBdAJJ2ydhu39A==} - '@vitest/spy@3.1.1': - resolution: {integrity: sha512-+EmrUOOXbKzLkTDwlsc/xrwOlPDXyVk3Z6P6K4oiCndxz7YLpp/0R0UsWVOKT0IXWjjBJuSMk6D27qipaupcvQ==} + '@vitest/spy@3.0.9': + resolution: {integrity: sha512-/CcK2UDl0aQ2wtkp3YVWldrpLRNCfVcIOFGlVGKO4R5eajsH393Z1yiXLVQ7vWsj26JOEjeZI0x5sm5P4OGUNQ==} - '@vitest/utils@3.1.1': - resolution: {integrity: sha512-1XIjflyaU2k3HMArJ50bwSh3wKWPD6Q47wz/NUSmRV0zNywPc4w79ARjg/i/aNINHwA+mIALhUVqD9/aUvZNgg==} - - JSONStream@1.3.5: - resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} - hasBin: true + '@vitest/utils@3.0.9': + resolution: {integrity: sha512-ilHM5fHhZ89MCp5aAaM9uhfl1c2JdxVxl3McqsdVyVNN6JffnEen8UMCdRTzOhGXNQGo5GNL9QugHrz727Wnng==} acorn-jsx@5.3.2: resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} @@ -1155,6 +1301,10 @@ packages: ajv@8.17.1: resolution: {integrity: sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==} + all-properties-lazy@0.1.0: + resolution: {integrity: sha512-Ab9UQDstwhrTcsRP1m4QkT6W1PRMBoAnPJeB5LZcuum/nLiFMlSwYxH1J8fsRAolaXez0ijgbm6BAWZkQC9DVg==} + engines: {node: '>=18.3.0'} + ansi-align@3.0.1: resolution: {integrity: sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==} @@ -1202,6 +1352,14 @@ packages: array-timsort@1.0.3: resolution: {integrity: sha512-/+3GRL7dDAGEfM6TseQk/U+mi18TU2Ms9I3UlLdUMhz2hbvGNTKdj9xniwXfUqgYhHxRx0+8UnKkvlNwVU+cWQ==} + array-union@1.0.2: + resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} + engines: {node: '>=0.10.0'} + + array-uniq@1.0.3: + resolution: {integrity: sha512-MNha4BWQ6JbwhFhj03YK552f7cb3AzoE8SzeljgChvL1dl3IcvggXVz1DilzySZkCja+CXuZbdW7yATchWn8/Q==} + engines: {node: '>=0.10.0'} + assertion-error@2.0.1: resolution: {integrity: sha512-Izi8RQcffqCeNVgFigKli1ssklIbpHnCYc6AknXGYoB6grJqyeby7jv12JUQgmTAnIDnbck1uxksT4dzN3PWBA==} engines: {node: '>=12'} @@ -1216,6 +1374,10 @@ packages: atomically@2.0.3: resolution: {integrity: sha512-kU6FmrwZ3Lx7/7y3hPS5QnbJfaohcIul5fGqf7ok+4KklIEk9tJ0C2IQPdacSbVUWv6zVHXEBWoWd6NrVMT7Cw==} + author-regex@1.0.0: + resolution: {integrity: sha512-KbWgR8wOYRAPekEmMXrYYdc7BRyhn2Ftk7KWfMUnQ43hFdojWEFRxhhRUm3/OFEdPa1r0KAvTTg9YQK57xTe0g==} + engines: {node: '>=0.8'} + balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} @@ -1226,6 +1388,38 @@ packages: before-after-hook@3.0.2: resolution: {integrity: sha512-Nik3Sc0ncrMK4UUdXQmAnRtzmNQTAAXmXIopizwZ1W1t8QmfJj+zL4OA2I7XPTPW5z5TDqv4hRo/JzouDJnX3A==} + bingo-fs@0.5.5: + resolution: {integrity: sha512-T06BMIQPuJEuDKEQRl206hRFVthMu5byyFf1ZslCRUVRdFExrZ7A5dBU5FZdeT+41nJX89/rvu8wFfNB/LY98Q==} + engines: {node: '>=18'} + + bingo-requests@0.5.5: + resolution: {integrity: sha512-NQcnlAtnR72Cfn6Y9EWPS3RXAGM+4ndE3BEueLnWOQgj+/Y6kQyhGEiB7cPmi4VeJL+Kcqo/EGyzuF23aIT3Cg==} + engines: {node: '>=18'} + + bingo-stratum@0.5.11: + resolution: {integrity: sha512-5tmx6zmqDjHyMklhnYsUNyv9aJVxu92kYdUlSs3Jq42w9WVIwCACJatCMUJYDRo6035MXjB6sbUSORT55l/qBg==} + engines: {node: '>=18'} + peerDependencies: + bingo: ^0.5.14 + bingo-fs: ^0.5.5 + bingo-systems: ^0.5.4 + zod: ^3.24.2 + + bingo-systems@0.5.4: + resolution: {integrity: sha512-DZJ/OGQtGeiw9neP6pDFXOBiuGO0vr1Nqlm70WJs3NfziozE1OeFLe8E4ol5t1sIfH8AAheM4Z/YnU2ftroWzw==} + engines: {node: '>=18'} + + bingo@0.5.15: + resolution: {integrity: sha512-aqOK7IfB8oEp7tPFgC+CrQ26/DryarkLOBgOiW6+wbMYVC37ddFIHdrNm7v7J2rPaNxqyBgpuaOZtwCZxcxNIw==} + engines: {node: '>=18'} + hasBin: true + + boolbase@1.0.0: + resolution: {integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==} + + bottleneck@2.19.5: + resolution: {integrity: sha512-VHiNCbI1lKdl44tGrhNfU3lup0Tj/ZBMJB5/2ZbNXRCPuRCO7ed2mgcK4r17y+KB2EfuYuRaVlwNbAeaWGSpbw==} + boxen@8.0.1: resolution: {integrity: sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==} engines: {node: '>=18'} @@ -1257,6 +1451,14 @@ packages: resolution: {integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==} engines: {node: '>=8'} + cached-factory@0.1.0: + resolution: {integrity: sha512-IGOSWu+NuED5UzCRmBeqQPZ8z7SkgrD/nN67W2iY1Qv83CVhevyMexkGclJ86saXisIqxoOnbeiTWvsCHRqJBw==} + engines: {node: '>=18'} + + call-id@0.1.0: + resolution: {integrity: sha512-iAv5z+2e3vft6isR73F4GuMdouNsgVXWILISiSCwP2NYW+lIg8N0pY0DGYKsLrrBR9MYcSG8zehiZqUsgcggcA==} + engines: {node: '>=10'} + callsites@3.1.0: resolution: {integrity: sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==} engines: {node: '>=6'} @@ -1309,6 +1511,13 @@ packages: resolution: {integrity: sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw==} engines: {node: '>= 16'} + cheerio-select@2.1.0: + resolution: {integrity: sha512-9v9kG0LvzrlcungtnJtpGNxY+fzECQKhK4EGJX2vByejiMX84MFNQw4UxPJl3bFbTMw+Dfs37XaIkCwTZfLh4g==} + + cheerio@1.0.0-rc.12: + resolution: {integrity: sha512-VqR8m68vM46BNnuZ5NtnGBKIE/DfN0cRIzg9n40EIq9NOv90ayxLBXA8fXC5gquFRGJSTRqBq25Jt2ECLR431Q==} + engines: {node: '>= 6'} + chokidar@4.0.3: resolution: {integrity: sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==} engines: {node: '>= 14.16.0'} @@ -1465,11 +1674,6 @@ packages: resolution: {integrity: sha512-tQMagCOC59EVgNZcC5zl7XqO30Wki9i9J3acbUvkaosCT6JX3EeFwJD7Qqp4MCikRnzS18WXV3BLIQ66ytu6+Q==} engines: {node: '>=18'} - conventional-commits-parser@5.0.0: - resolution: {integrity: sha512-ZPMl0ZJbw74iS9LuX9YIAiW8pfM5p3yh2o/NbXHbkFuZzY5jvdi5jFycEOkmBW5H5I7nA+D6f3UcsCLP2vvSEA==} - engines: {node: '>=16'} - hasBin: true - conventional-commits-parser@6.1.0: resolution: {integrity: sha512-5nxDo7TwKB5InYBl4ZC//1g9GRwB/F3TXOGR9hgUjMGfvSP4Vu5NkpNro2+1+TIEy1vwxApl5ircECr2ri5JIw==} engines: {node: '>=18'} @@ -1492,49 +1696,66 @@ packages: typescript: optional: true + create-typescript-app@2.40.0: + resolution: {integrity: sha512-mwjWMIXXxcjKdvzEE+2paolcXF+oyUydx+AAV6XapYiSGSSSVxcV9UiySCxiLy8KCwC7iLzj71Ldl+WqlGW8ww==} + engines: {node: '>=18.3.0'} + hasBin: true + cross-spawn@7.0.6: resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} engines: {node: '>= 8'} - cspell-config-lib@8.18.1: - resolution: {integrity: sha512-zdJ0uhLROSUrHoibysPw+AkxKPUmiG95hDtiL7s8smewkuaS1hpjqwsDBx981nHYs3xW3qDUfVATrAkSzb0VMw==} + cspell-config-lib@8.17.5: + resolution: {integrity: sha512-XDc+UJO5RZ9S9e2Ajz332XjT7dv6Og2UqCiSnAlvHt7t/MacLHSPARZFIivheObNkWZ7E1iWI681RxKoH4o40w==} engines: {node: '>=18'} - cspell-dictionary@8.18.1: - resolution: {integrity: sha512-vKHEPSfkMKMR4S4tk6K2vHC+f3kdJK8Kdh/C0jDh6RRDjDsyAPxshtbremxOgAX6X8GaRUCROoMZ7FhB92+Y9w==} + cspell-dictionary@8.17.5: + resolution: {integrity: sha512-O/Uuhv1RuDu+5WYQml0surudweaTvr+2YJSmPSdlihByUSiogCbpGqwrRow7wQv/C5p1W1FlFjotvUfoR0fxHA==} engines: {node: '>=18'} - cspell-gitignore@8.18.1: - resolution: {integrity: sha512-gp/AdUtW6FqpKY4YyYJ3kz0OsXApwsV1FOUA9Z0VnOYKVZtt2snh4uNlI4Ltq+wh7pDU8mqaPWmX6Xy+HSRDkQ==} + cspell-gitignore@8.17.5: + resolution: {integrity: sha512-I27fgOUZzH14jeIYo65LooB60fZ42f6OJL1lOR9Mk6IrIlDyUtzherGR+xx5KshK2katYkX42Qu4zsVYM6VFPA==} engines: {node: '>=18'} hasBin: true - cspell-glob@8.18.1: - resolution: {integrity: sha512-tlZXvzsN7dByHo69dz/HbJuQDUtrfhdioZ/LHaW7W9diG9NpaghgEfyX4fmsIXjU/2f66LDpYVY6osjtlOgyrg==} + cspell-glob@8.17.5: + resolution: {integrity: sha512-OXquou7UykInlGV5et5lNKYYrW0dwa28aEF995x1ocANND7o0bbHmFlbgyci/Lp4uFQai8sifmfFJbuIg2IC/A==} engines: {node: '>=18'} - cspell-grammar@8.18.1: - resolution: {integrity: sha512-V6XTN1B++7EzJA0H4g4XbNJtqm6Y3/iXdLeZ6sMRDaNFKXXwTbWRtn8gukDQIytyw09AnCUKeqGSzCVqw26Omg==} + cspell-grammar@8.17.5: + resolution: {integrity: sha512-st2n+FVw25MvMbsGb3TeJNRr6Oih4g14rjOd/UJN0qn+ceH360SAShUFqSd4kHHu2ADazI/TESFU6FRtMTPNOg==} engines: {node: '>=18'} hasBin: true - cspell-io@8.18.1: - resolution: {integrity: sha512-mm9SUEF2yShuTXDSjCbsAqYTEb6jrtgcCnlqIzpsZOJOOe+zj/VyzTy2NJvOrdvR59dikdaqB75VGBMfHi804g==} + cspell-io@8.17.5: + resolution: {integrity: sha512-oevM/8l0s6nc1NCYPqNFumrW50QSHoa6wqUT8cWs09gtZdE2AWG0U6bIE8ZEVz6e6FxS+6IenGKTdUUwP0+3fg==} engines: {node: '>=18'} - cspell-lib@8.18.1: - resolution: {integrity: sha512-t1j+XB7515yHmrczK6I1N6j0a72vmL/6OxsMJnCucHC6DO0WkOqmHulNRH7LpFacnns0dx15lmrAqPg7gQFcIg==} + cspell-lib@8.17.5: + resolution: {integrity: sha512-S3KuOrcST1d2BYmTXA+hnbRdho5n3w5GUvEaCx3QZQBwAPfLpAwJbe2yig1TxBpyEJ5LqP02i/mDg1pUCOP0hQ==} engines: {node: '>=18'} - cspell-trie-lib@8.18.1: - resolution: {integrity: sha512-UaB36wsyp2eWeMtrbS6Q2t2WFvpedmGXJ879yHn9qKD7ViyUpI4cAbh6v7gWMUu+gjqCulXtke64k1ddmBihPQ==} + cspell-populate-words@0.3.0: + resolution: {integrity: sha512-Z78pCvDjnj+Ybuj8FIfrMqY2rwe5mnfbRlsNiXGrB5ry5sydIdoC4PxexuHPgzoBPGQkKRXOqdbyRW1jfBvfrQ==} + engines: {node: '>=18.3.0'} + hasBin: true + + cspell-trie-lib@8.17.5: + resolution: {integrity: sha512-9hjI3nRQxtGEua6CgnLbK3sGHLx9dXR/BHwI/csRL4dN5GGRkE5X3CCoy1RJVL7iGFLIzi43+L10xeFRmWniKw==} engines: {node: '>=18'} - cspell@8.18.1: - resolution: {integrity: sha512-RE3LIgN9NAVcYBNX2NQVhLergok8EPymOuCUhu1vBR8cjRmioksn3CJeCoQgD8rPjalM+S9thYkMtOZc5Jjv2A==} + cspell@8.17.5: + resolution: {integrity: sha512-l3Cfp87d7Yrodem675irdxV6+7+OsdR+jNwYHe33Dgnd6ePEfooYrvmfGdXF9rlQrNLUQp/HqYgHJzSq19UEsg==} engines: {node: '>=18'} hasBin: true + css-select@5.1.0: + resolution: {integrity: sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==} + + css-what@6.1.0: + resolution: {integrity: sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==} + engines: {node: '>= 6'} + data-uri-to-buffer@6.0.2: resolution: {integrity: sha512-7hvf7/GW8e86rW0ptuwS3OcBGDjIi6SZva7hCyWC0yYry2cOPmLIjXAUHI6DK2HsnwJd9ifmt57i8eV2n4YNpw==} engines: {node: '>= 14'} @@ -1548,6 +1769,10 @@ packages: supports-color: optional: true + decircular@0.1.1: + resolution: {integrity: sha512-V2Vy+QYSXdgxRPmOZKQWCDf1KQNTUP/Eqswv/3W20gz7+6GB1HTosNrWqK3PqstVpFw/Dd/cGTmXSTKPeOiGVg==} + engines: {node: '>=18'} + decode-named-character-reference@1.0.2: resolution: {integrity: sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==} @@ -1612,6 +1837,23 @@ packages: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} engines: {node: ^14.15.0 || ^16.10.0 || >=18.0.0} + dir-glob@2.2.2: + resolution: {integrity: sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==} + engines: {node: '>=4'} + + dom-serializer@2.0.0: + resolution: {integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==} + + domelementtype@2.3.0: + resolution: {integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==} + + domhandler@5.0.3: + resolution: {integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==} + engines: {node: '>= 4'} + + domutils@3.2.2: + resolution: {integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==} + dot-prop@5.3.0: resolution: {integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==} engines: {node: '>=8'} @@ -1640,6 +1882,9 @@ packages: emoji-regex@9.2.2: resolution: {integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==} + end-of-stream@1.4.4: + resolution: {integrity: sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==} + enhanced-resolve@5.18.1: resolution: {integrity: sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==} engines: {node: '>=10.13.0'} @@ -1740,14 +1985,14 @@ packages: peerDependencies: eslint: '>=8.23.0' - eslint-plugin-jsdoc@50.6.9: - resolution: {integrity: sha512-7/nHu3FWD4QRG8tCVqcv+BfFtctUtEDWc29oeDXB4bwmDM2/r1ndl14AG/2DUntdqH7qmpvdemJKwb3R97/QEw==} + eslint-plugin-jsdoc@50.6.8: + resolution: {integrity: sha512-PPZVqhoXaalMQwDGzcQrJtPSPIPOYsSMtvkjYAdsIazOW20yhYtVX4+jLL+XznD4zYTXyZbPWPRKkNev4D4lyw==} engines: {node: '>=18'} peerDependencies: eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 - eslint-plugin-jsonc@2.19.1: - resolution: {integrity: sha512-MmlAOaZK1+Lg7YoCZPGRjb88ZjT+ct/KTsvcsbZdBm+w8WMzGx+XEmexk0m40P1WV9G2rFV7X3klyRGRpFXEjA==} + eslint-plugin-jsonc@2.20.0: + resolution: {integrity: sha512-FRgCn9Hzk5eKboCbVMrr9QrhM0eO4G+WKH8IFXoaeqhM/2kuWzbStJn4kkr0VWL8J5H8RYZF+Aoam1vlBaZVkw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: eslint: '>=6.0.0' @@ -1764,8 +2009,8 @@ packages: peerDependencies: eslint: '>=8.23.0' - eslint-plugin-perfectionist@4.10.1: - resolution: {integrity: sha512-GXwFfL47RfBLZRGQdrvGZw9Ali2T2GPW8p4Gyj2fyWQ9396R/HgJMf0m9kn7D6WXRwrINfTDGLS+QYIeok9qEg==} + eslint-plugin-perfectionist@4.11.0: + resolution: {integrity: sha512-5s+ehXydnLPQpLDj5mJ0CnYj2fQe6v6gKA3tS+FZVBLzwMOh8skH+l+1Gni08rG0SdEcNhJyjQp/mEkDYK8czw==} engines: {node: ^18.0.0 || >=20.0.0} peerDependencies: eslint: '>=8.45.0' @@ -1794,8 +2039,8 @@ packages: resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint@9.23.0: - resolution: {integrity: sha512-jV7AbNoFPAY1EkFYpLq5bslU9NLNO8xnEeQXwErNibVryjk67wHVmddTBilc5srIttJDBrB0eMHKZBFbSIABCw==} + eslint@9.22.0: + resolution: {integrity: sha512-9V/QURhsRN40xuHXWjV64yvrzMjcz7ZyNoF2jJFmy9j/SLk0u1OLSZgXi28MrXjymnjEGSR80WCdab3RGMDveQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} hasBin: true peerDependencies: @@ -1839,6 +2084,10 @@ packages: eventemitter3@5.0.1: resolution: {integrity: sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==} + execa@2.1.0: + resolution: {integrity: sha512-Y/URAVapfbYy2Xp/gb6A0E7iR8xeqOCXsuuaoMn7A5PzrXUK84E1gyiEfq0wQd/GHA6GsoHWwhNq8anb0mleIw==} + engines: {node: ^8.12.0 || >=9.7.0} + execa@8.0.1: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} @@ -1951,10 +2200,18 @@ packages: resolution: {integrity: sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==} engines: {node: '>=18'} + get-github-auth-token@0.1.2: + resolution: {integrity: sha512-vcGCRhKNOOynlxi7j3dOrkCkxG1rxt/IbmZY9A+xXMhRAUMeIA5T4Fn0LTaPXfQWdUkOcc3DBWDvcc6dmnxmYw==} + engines: {node: '>=18'} + get-stdin@9.0.0: resolution: {integrity: sha512-dVKBjfWisLAicarI2Sf+JuBE/DghV4UzNAVe9yhEJuzeREd3JhOTE9cUaJTeSa77fsbQUK3pcOpJfM59+VKZaA==} engines: {node: '>=12'} + get-stream@5.2.0: + resolution: {integrity: sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==} + engines: {node: '>=8'} + get-stream@8.0.1: resolution: {integrity: sha512-VaUJspBffn/LMCJVoMvSAdmscJyS1auj5Zulnn5UoYcY531UWmdwhRWkcGKnGU93m5HSXP9LP2usOryrBtQowA==} engines: {node: '>=16'} @@ -1989,6 +2246,13 @@ packages: git-url-parse@16.0.0: resolution: {integrity: sha512-Y8iAF0AmCaqXc6a5GYgPQW9ESbncNLOL+CeQAJRhmWUOmnPkKpBYeWYp4mFd3LA5j53CdGDdslzX12yEBVHQQg==} + git-url-parse@16.0.1: + resolution: {integrity: sha512-mcD36GrhAzX5JVOsIO52qNpgRyFzYWRbU1VSRFCvJt1IJvqfvH427wWw/CFqkWvjVPtdG5VTx4MKUeC5GeFPDQ==} + + github-default-labels@0.1.0: + resolution: {integrity: sha512-vFpUWrpPKKrtL8AA9RPdsS6JDfQW+YjlVUhYvb8/et8wZUHC+L6OsJ+A8TyaqzT86wvbZxnDkw/BNGJzoz47cQ==} + engines: {node: '>=18.3.0'} + glob-parent@5.1.2: resolution: {integrity: sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==} engines: {node: '>= 6'} @@ -2025,6 +2289,10 @@ packages: resolution: {integrity: sha512-s3Fq41ZVh7vbbe2PN3nrW7yC7U7MFVc5c98/iTl9c2GawNMKx/J648KQRW6WKkuU8GIbbh2IXfIRQjOZnXcTnw==} engines: {node: '>=18'} + globby@7.1.1: + resolution: {integrity: sha512-yANWAN2DUcBtuus5Cpd+SKROzXHs2iVXFZt/Ykrfz6SAXqacLX25NZpltE+39ceMexYF4TtEadjuSTw8+3wX4g==} + engines: {node: '>=4'} + graceful-fs@4.2.10: resolution: {integrity: sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==} @@ -2047,6 +2315,10 @@ packages: resolution: {integrity: sha512-Pq0h+hvsVm6dDEa8x82GnLSYHOzNDt7f0ddFa3FqcQlgzEiptPqL+XrOJNavjOzSYiYWIrgeVYYgGlLmnxwilQ==} engines: {node: '>=8'} + hash-object@5.0.1: + resolution: {integrity: sha512-iaRY4jYOow1caHkXW7wotYRjZDQk2nq4U7904anGJj8l4x1SLId+vuR8RpGoywZz9puD769hNFVFLFH9t+baJw==} + engines: {node: '>=18'} + hasown@2.0.2: resolution: {integrity: sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==} engines: {node: '>= 0.4'} @@ -2055,9 +2327,20 @@ packages: resolution: {integrity: sha512-puUZAUKT5m8Zzvs72XWy3HtvVbTWljRE66cP60bxJzAqf2DgICo7lYTY2IHUmLnNpjYvw5bvmoHvPc0QO2a62w==} engines: {node: ^16.14.0 || >=18.0.0} + hosted-git-info@8.0.2: + resolution: {integrity: sha512-sYKnA7eGln5ov8T8gnYlkSOxFJvywzEx9BueN6xo/GKO8PGiI6uK6xx+DIGe45T3bdVjLAQDQW1aicT8z8JwQg==} + engines: {node: ^18.17.0 || >=20.5.0} + html-escaper@2.0.2: resolution: {integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==} + html-to-text@9.0.5: + resolution: {integrity: sha512-qY60FjREgVZL03vJU6IfMV4GDjGBIoOyvuFdpBDIX9yTlDw0TjxVBQp+P8NvpdIXNJvfWBTNul7fsAQJq2FNpg==} + engines: {node: '>=14'} + + htmlparser2@8.0.2: + resolution: {integrity: sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==} + http-proxy-agent@7.0.2: resolution: {integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==} engines: {node: '>= 14'} @@ -2083,6 +2366,9 @@ packages: resolution: {integrity: sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==} engines: {node: '>=0.10.0'} + ignore@3.3.10: + resolution: {integrity: sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==} + ignore@5.3.2: resolution: {integrity: sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==} engines: {node: '>= 4'} @@ -2091,6 +2377,11 @@ packages: resolution: {integrity: sha512-bAH5jbK/F3T3Jls4I0SO1hmPR0dKU0a7+SY6n1yzRtG54FLO8d6w/nxLFX2Nb7dBu6cCWXPaAME6cYqFUMmuCA==} engines: {node: '>= 4'} + image-size@1.2.1: + resolution: {integrity: sha512-rH+46sQJ2dlwfjfhCyNx5thzrv+dtmBIhPHk0zgRUukHzZ/kRueTJXoYYsclBaKcSMBWuGbOFXtioLpzTb5euw==} + engines: {node: '>=16.x'} + hasBin: true + import-fresh@3.3.1: resolution: {integrity: sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==} engines: {node: '>=6'} @@ -2124,6 +2415,25 @@ packages: resolution: {integrity: sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==} engines: {node: ^14.17.0 || ^16.13.0 || >=18.0.0} + input-from-file-json@0.5.4: + resolution: {integrity: sha512-rLENfl3mlP5fShQ570MZ2hQStoO67qGO56PkeaOuwDg0VTh7yRBSC65+0N5lb3BMb0hxsiwRAIuxGCf58JY6LQ==} + engines: {node: '>=18'} + peerDependencies: + bingo: ^0.5.4 + zod: ^3.24.2 + + input-from-file@0.5.4: + resolution: {integrity: sha512-maOF/jcv6lcPbi3Gup5+FPJqTjVg5m/caUARnMPiaNePXwGfmttljS4YJfpfpm79Vnr7HiPAbcerxBdOzS1XfA==} + engines: {node: '>=18'} + peerDependencies: + bingo: ^0.5.4 + + input-from-script@0.5.4: + resolution: {integrity: sha512-QpPpKUI7hpVih2zoF/lRf14kmMutvUBpGCCb3E4nz1Ou5uqg+QH9UcST0Zpm/02GrAorWt4JUap1wdWKu45keA==} + engines: {node: '>=18'} + peerDependencies: + bingo: ^0.5.4 + inquirer@12.3.0: resolution: {integrity: sha512-3NixUXq+hM8ezj2wc7wC37b32/rHq1MwNZDYdvx+d6jokOD+r+i8Q4Pkylh9tISYP114A128LCX8RKhopC5RfQ==} engines: {node: '>=18'} @@ -2224,6 +2534,10 @@ packages: resolution: {integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==} engines: {node: '>=8'} + is-obj@3.0.0: + resolution: {integrity: sha512-IlsXEHOjtKhpN8r/tRFj2nDyTmHvcfNeu/nrRIcXE17ROeatXchkojffa1SpdqW4cr/Fj6QkEf/Gn4zf6KKvEQ==} + engines: {node: '>=12'} + is-path-inside@4.0.0: resolution: {integrity: sha512-lJJV/5dYS+RcL8uQdBDW9c9uWFLLBNRyFhnAKXw5tVqLlKZ4RMGZKv+YQ/IA3OhD+RpbJa1LLFM1FQPGyIXvOA==} engines: {node: '>=12'} @@ -2235,6 +2549,10 @@ packages: is-ssh@1.4.0: resolution: {integrity: sha512-x7+VxdxOdlV3CYpjvRLBv5Lo9OJerlYanjwFrPR9fuGPjCiNiCzFgAWpiLAohSbsnH4ZAys3SBh+hq5rJosxUQ==} + is-stream@2.0.1: + resolution: {integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==} + engines: {node: '>=8'} + is-stream@3.0.0: resolution: {integrity: sha512-LnQR4bZ9IADDRSkvpqMGvt/tEJWclzklNgSw48V5EAaAeDd6qGvN8ei6k5p0tvxSR171VmGyHuTiAOfxAbr8kA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2243,10 +2561,6 @@ packages: resolution: {integrity: sha512-Dnz92NInDqYckGEUJv689RbRiTSEHCQ7wOVeALbkOz999YpqT46yMRIGtSNl2iCL1waAZSx40+h59NV/EwzV/A==} engines: {node: '>=18'} - is-text-path@2.0.0: - resolution: {integrity: sha512-+oDTluR6WEjdXEJMnC2z6A4FRwFoYuvShVVEGsS7ewc0UTi2QtAKMDJuL4BDEVt+5T7MjFo12RP8ghOM75oKJw==} - engines: {node: '>=8'} - is-unicode-supported@1.3.0: resolution: {integrity: sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==} engines: {node: '>=12'} @@ -2338,6 +2652,11 @@ packages: json-stable-stringify-without-jsonify@1.0.1: resolution: {integrity: sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==} + json5@2.2.3: + resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} + engines: {node: '>=6'} + hasBin: true + jsonc-eslint-parser@2.4.0: resolution: {integrity: sha512-WYDyuc/uFcGp6YtM2H0uKmUwieOuzeE/5YocFJLnLfclZ4inf3mRn8ZVy1s7Hxji7Jxm6Ss8gqpexD/GlKoGgg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2345,10 +2664,6 @@ packages: jsonc-parser@3.3.1: resolution: {integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==} - jsonparse@1.3.1: - resolution: {integrity: sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==} - engines: {'0': node >= 0.2.0} - jsonpointer@5.0.1: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} @@ -2360,8 +2675,8 @@ packages: keyv@4.5.4: resolution: {integrity: sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==} - knip@5.46.4: - resolution: {integrity: sha512-iU2VGdXOPOj6Y8jEeixYMjlf2MCLZNjB63u2pfuP14gprRFjxgF+8wZiCgrjvogWt9H2WT+ytLYouXoEFAcm5g==} + knip@5.46.0: + resolution: {integrity: sha512-WedHSK5xNBWYgm64Rt5B9b0CVXL2kRBcyCeet3NHgdv9en3QE4AWSDPEiX48NoPUBW3h//9S0VwLF5MG/MPi3g==} engines: {node: '>=18.18.0'} hasBin: true peerDependencies: @@ -2376,6 +2691,13 @@ packages: resolution: {integrity: sha512-7W0vV3rqv5tokqkBAFV1LbR7HPOWzXQDpDgEuib/aJ1jsZZx6x3c2mBI+TJhJzOhkGeaLbCKEHXEXLfirtG2JA==} engines: {node: '>=18'} + lazy-value@3.0.0: + resolution: {integrity: sha512-BBcLu68yjVhYSqRLYbiDOCWOD7Q8pm39SNL+UfhSfroJScJKRZMaoDJMXLYA2wBA+JCY/5ICoVEvG3yQjqQtKw==} + engines: {node: '>=12'} + + leac@0.6.0: + resolution: {integrity: sha512-y+SqErxb8h7nE/fiEX07jsbuhrpO9lL8eca7/Y1nuWV2moNlXhyd59iDGcRf6moVyDMbmTNzL40SUyrFU/yDpg==} + levn@0.4.1: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} @@ -2475,10 +2797,19 @@ packages: engines: {node: '>=18'} hasBin: true + markdownlint-rule-helpers@0.28.0: + resolution: {integrity: sha512-qBOQWESmc/yTNe6nVu3D7AU7pFg2e7T5svbQI+S7rocw4g4xZ3GHerKPl0Rw0cx4fnAViEdzoAcbrxeuXUCEAA==} + engines: {node: '>=18'} + markdownlint@0.37.4: resolution: {integrity: sha512-u00joA/syf3VhWh6/ybVFkib5Zpj2e5KB/cfCei8fkSRuums6nyisTWGqjTWIOFoFwuXoTBQQiqlB4qFKp8ncQ==} engines: {node: '>=18'} + marked@15.0.7: + resolution: {integrity: sha512-dgLIeKGLx5FwziAnsk4ONoGwHwGPJzselimvlVskE9XLN4Orv9u2VA3GWw/lYUqjfA0rUT/6fqKwfZJapP9BEg==} + engines: {node: '>= 18'} + hasBin: true + mdast-util-from-markdown@0.8.5: resolution: {integrity: sha512-2hkTXtYYnr+NubD/g6KGBS/0mFmBcifAsI0yIWRiRo0PjVs6SSOSOdtzbp6kSGnShDN6G5aWZpKQ2lWRy27mWQ==} @@ -2488,10 +2819,6 @@ packages: mdurl@2.0.0: resolution: {integrity: sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==} - meow@12.1.1: - resolution: {integrity: sha512-BhXM0Au22RwUneMPwSCnyhTOizdWoIEPU9sp0Aqa1PnDMR5Wv2FGXYDjuzJEIX+Eo2Rb8xuYe5jrnm5QowQFkw==} - engines: {node: '>=16.10'} - meow@13.2.0: resolution: {integrity: sha512-pxQJQzB6djGPXh08dacEloMFopsOqGVRKFPYvPOt9XDZ1HasbgDZA74CJGreSU4G3Ak7EFJGoiH2auq+yXISgA==} engines: {node: '>=18'} @@ -2593,6 +2920,10 @@ packages: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} + mimic-fn@2.1.0: + resolution: {integrity: sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==} + engines: {node: '>=6'} + mimic-fn@4.0.0: resolution: {integrity: sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw==} engines: {node: '>=12'} @@ -2619,6 +2950,14 @@ packages: resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} + mount-point@3.0.0: + resolution: {integrity: sha512-jAhfD7ZCG+dbESZjcY1SdFVFqSJkh/yGbdsifHcPkvuLRO5ugK0Ssmd9jdATu29BTd4JiN+vkpMzVvsUgP3SZA==} + engines: {node: '>=0.10.0'} + + move-file@3.1.0: + resolution: {integrity: sha512-4aE3U7CCBWgrQlQDMq8da4woBWDGHioJFiOZ8Ie6Yq2uwYQ9V2kGhTz4x3u6Wc+OU17nw0yc3rJ/lQ4jIiPe3A==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + ms@2.1.3: resolution: {integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==} @@ -2626,6 +2965,9 @@ packages: resolution: {integrity: sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==} engines: {node: ^18.17.0 || >=20.5.0} + mvdan-sh@0.10.1: + resolution: {integrity: sha512-kMbrH0EObaKmK3nVRKUIIya1dpASHIEusM13S4V1ViHFuxuNxCo+arxoa6j/dbV22YBGjl7UKJm9QQKJ2Crzhg==} + mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} @@ -2652,10 +2994,22 @@ packages: resolution: {integrity: sha512-NHDDGYudnvRutt/VhKFlX26IotXe1w0cmkDm6JGquh5bz/bDTw0LufSmH/GxTjEdpHEO+bVKFTwdrcGa/9XlKQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + new-github-repository@0.2.1: + resolution: {integrity: sha512-zzUV4UzmGgY/naFxleMZZQUGquODAKSLnu+lGqOWPfWunmyqJBlNNfYwah4Rpw00PduTVJm3W3Bvwoj6Y/Zm1w==} + engines: {node: '>=18.3.0'} + normalize-package-data@6.0.2: resolution: {integrity: sha512-V6gygoYb/5EmNI+MEGrWkC+e6+Rr7mTmfHrxDbLzxQogBkgzo76rkok0Am6thgSF7Mv2nLOajAJj5vDJZEFn7g==} engines: {node: ^16.14.0 || >=18.0.0} + npm-email@5.1.0: + resolution: {integrity: sha512-1fwpLd2ZuD7yZ8XaAfejB6fbKnDa+PwU3qzlkTy8sgy4C3KPjHpnBxo6fx3E3LjmcSKY34qEUD3ggx7HxxNvDQ==} + engines: {node: '>=18'} + + npm-run-path@3.1.0: + resolution: {integrity: sha512-Dbl4A/VfiVGLgQv29URL9xshU8XDY1GeLy+fsaZ1AA8JDSfjvr5P5+pzRbWqRSBxk6/DW7MIh8lTM/PaGnP2kg==} + engines: {node: '>=8'} + npm-run-path@5.3.0: resolution: {integrity: sha512-ppwTtiJZq0O/ai0z7yfudtBpWIoxM8yE6nHi1X47eFR2EWORqfbu6CnPlNsjeN683eT0qG6H/Pyf9fCcvjnnnQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2664,13 +3018,36 @@ packages: resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} engines: {node: '>=18'} + npm-user@6.1.1: + resolution: {integrity: sha512-gfNQElX1LwT9ftOzlFe8GlsCn2zPL3Ee2+mv2+xAiPhXCiicYywt7mhRoIHLzBUW7FLp2s0PcKBBHtcpJw6sgQ==} + engines: {node: '>=18'} + + nth-check@2.1.1: + resolution: {integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==} + object-assign@4.1.1: resolution: {integrity: sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==} engines: {node: '>=0.10.0'} + object-strings-deep@0.1.1: + resolution: {integrity: sha512-5ypgv3IIlt7v2pybSIcn1OcAQvJBtB2GrOXf1MAVNsMyQ/CYV9P5ZQPAsVrKTbZ0EMUHHMsSLbMc9SBHB57MxA==} + engines: {node: '>=18.3.0'} + + octokit-from-auth@0.3.1: + resolution: {integrity: sha512-bLhX1slllc+aSJDxSUjTqzXk856xHr9JwuEGAQI34IZNG0UdLrkryBiGWKvk/trcc+O0KtGhT8JoMmVRolprZA==} + engines: {node: '>=18.3.0'} + + octokit@4.1.2: + resolution: {integrity: sha512-0kcTxJOK3yQrJsRb8wKa28hlTze4QOz4sLuUnfXXnhboDhFKgv8LxS86tFwbsafDW9JZ08ByuVAE8kQbYJIZkA==} + engines: {node: '>= 18'} + once@1.4.0: resolution: {integrity: sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==} + onetime@5.1.2: + resolution: {integrity: sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==} + engines: {node: '>=6'} + onetime@6.0.0: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} @@ -2691,6 +3068,10 @@ packages: resolution: {integrity: sha512-YWielGi1XzG1UTvOaCFaNgEnuhZVMSHYkW/FQ7UX8O26PtlpdM84c0f7wLPlkvx2RfiQmnzd61d/MGxmpQeJPw==} engines: {node: '>=18'} + os-homedir@1.0.2: + resolution: {integrity: sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ==} + engines: {node: '>=0.10.0'} + os-name@6.0.0: resolution: {integrity: sha512-bv608E0UX86atYi2GMGjDe0vF/X1TJjemNS8oEW6z22YW1Rc3QykSYoGfkQbX0zZX9H0ZB6CQP/3GTf1I5hURg==} engines: {node: '>=18'} @@ -2699,6 +3080,10 @@ packages: resolution: {integrity: sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==} engines: {node: '>=0.10.0'} + p-finally@2.0.1: + resolution: {integrity: sha512-vpm09aKwq6H9phqRQzecoDpD8TmVyGw70qmWlyq5onxY7tqyTTFVvxMykxQSQKILBSFlbXpypIw2T1Ml7+DDtw==} + engines: {node: '>=8'} + p-limit@3.1.0: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} @@ -2711,6 +3096,10 @@ packages: resolution: {integrity: sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==} engines: {node: '>=10'} + p-map@7.0.3: + resolution: {integrity: sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==} + engines: {node: '>=18'} + pac-proxy-agent@7.1.0: resolution: {integrity: sha512-Z5FnLVVZSnX7WjBg0mhDtydeRZ1xMcATZThjySQUHqr+0ksP8kqaw23fNKkaaN/Z8gwLUs/W7xdl0I75eP2Xyw==} engines: {node: '>= 14'} @@ -2739,6 +3128,10 @@ packages: resolution: {integrity: sha512-uo0Z9JJeWzv8BG+tRcapBKNJ0dro9cLyczGzulS6EfeyAdeC9sbojtW6XwvYxJkEne9En+J2XEl4zyglVeIwFg==} engines: {node: '>=8'} + parse-author@2.0.0: + resolution: {integrity: sha512-yx5DfvkN8JsHL2xk2Os9oTia467qnvRgey4ahSm2X8epehBLx/gWLcy5KI+Y36ful5DzGbCS6RazqZGgy1gHNw==} + engines: {node: '>=0.10.0'} + parse-entities@2.0.0: resolution: {integrity: sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ==} @@ -2761,6 +3154,9 @@ packages: resolution: {integrity: sha512-TXfryirbmq34y8QBwgqCVLi+8oA3oWx2eAnSn62ITyEhEYaWRlVZ2DvMM9eZbMs/RfxPu/PK/aBLyGj4IrqMHw==} engines: {node: '>=18'} + parse-package-name@1.0.0: + resolution: {integrity: sha512-kBeTUtcj+SkyfaW4+KBe0HtsloBJ/mKTPoxpVdA57GZiPerREsUWJOhVj9anXweFiJkm5y8FG1sxFZkZ0SN6wg==} + parse-path@7.0.0: resolution: {integrity: sha512-Euf9GG8WT9CdqwuWJGdf3RkUcTBArppHABkO7Lm8IzRQp0e2r/kkFnmhu4TSK30Wcu5rVAZLmfPKSBBi9tWFog==} @@ -2768,10 +3164,23 @@ packages: resolution: {integrity: sha512-bCgsFI+GeGWPAvAiUv63ZorMeif3/U0zaXABGJbOWt5OH2KCaPHF6S+0ok4aqM9RuIPGyZdx9tR9l13PsW4AYQ==} engines: {node: '>=14.13.0'} + parse5-htmlparser2-tree-adapter@7.1.0: + resolution: {integrity: sha512-ruw5xyKs6lrpo9x9rCZqZZnIUntICjQAd0Wsmp396Ul9lN/h+ifgVV1x1gZHi8euej6wTfpqX8j+BFQxF0NS/g==} + + parse5@7.2.1: + resolution: {integrity: sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==} + + parseley@0.12.1: + resolution: {integrity: sha512-e6qHKe3a9HWr0oMRVDTRhKce+bRO8VGQR3NyVwcjwrbhMmFCX9KszEV35+rn4AdilFAq9VPxP/Fe1wC9Qjd2lw==} + path-exists@4.0.0: resolution: {integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==} engines: {node: '>=8'} + path-exists@5.0.0: + resolution: {integrity: sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==} + engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + path-is-absolute@1.0.1: resolution: {integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==} engines: {node: '>=0.10.0'} @@ -2791,6 +3200,10 @@ packages: resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} engines: {node: '>=16 || 14 >=14.18'} + path-type@3.0.0: + resolution: {integrity: sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==} + engines: {node: '>=4'} + path-type@5.0.0: resolution: {integrity: sha512-5HviZNaZcfqP95rwpv+1HDgUamezbqdSYTyzjTvwtJSnIH+3vnbmWsItli8OFEndS984VT55M3jduxZbX351gg==} engines: {node: '>=12'} @@ -2802,6 +3215,9 @@ packages: resolution: {integrity: sha512-vE7JKRyES09KiunauX7nd2Q9/L7lhok4smP9RZTDeD4MVs72Dp2qNFVz39Nz5a0FVEW0BJR6C0DYrq6unoziZA==} engines: {node: '>= 14.16'} + peberminta@0.9.0: + resolution: {integrity: sha512-XIxfHpEuSJbITd1H3EeQwpcZbTLHc+VVr8ANI9t5sit565tsI4/xK3KWTUFE2e6QiangUkh3B0jihzmGnNrRsQ==} + picocolors@1.1.1: resolution: {integrity: sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==} @@ -2818,6 +3234,22 @@ packages: engines: {node: '>=0.10'} hasBin: true + pify@2.3.0: + resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} + engines: {node: '>=0.10.0'} + + pify@3.0.0: + resolution: {integrity: sha512-C3FsVNH1udSEX48gGX1xfvwTWfsYWj5U+8/uK15BGzIGrKoUpghX8hWZwa/OFnakBiiVNmBvemTJR5mcy7iPcg==} + engines: {node: '>=4'} + + pinkie-promise@2.0.1: + resolution: {integrity: sha512-0Gni6D4UcLTbv9c57DfxDGdr41XfgUjqWZu492f0cIGr16zDU06BWP/RAEvOuo7CQ0CNjHaLlM59YJJFm3NWlw==} + engines: {node: '>=0.10.0'} + + pinkie@2.0.4: + resolution: {integrity: sha512-MnUuEycAemtSaeFSjXKW/aroV7akBbY+Sv+RkyqFjgAe73F+MR0TBWKBRDkmfWq/HiFmdavfZ1G7h4SPZXaCSg==} + engines: {node: '>=0.10.0'} + pirates@4.0.6: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} @@ -2862,8 +3294,14 @@ packages: prettier: optional: true - prettier@3.3.3: - resolution: {integrity: sha512-i2tDNA0O5IrMO757lfrdQZCc2jPNDVntV0m/+4whiDfWaTKfMNgR7Qz0NAeGz/nRqF4m5/6CLzbP4/liHt12Ew==} + prettier-plugin-sh@0.15.0: + resolution: {integrity: sha512-U0PikJr/yr2bzzARl43qI0mApBj0C1xdAfA04AZa6LnvIKawXHhuy2fFo6LNA7weRzGlAiNbaEFfKMFo0nZr/A==} + engines: {node: '>=16.0.0'} + peerDependencies: + prettier: ^3.0.3 + + prettier@3.5.3: + resolution: {integrity: sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==} engines: {node: '>=14'} hasBin: true @@ -2888,6 +3326,9 @@ packages: proxy-from-env@1.1.0: resolution: {integrity: sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==} + pump@3.0.2: + resolution: {integrity: sha512-tUPXtzlGM8FE3P0ZL6DVs/3P58k9nk8/jZeQCurTJylQA8qFYzHFfhBJkuqyE0FifOsQ0uKWekiZ5g8wtr28cw==} + punycode.js@2.3.1: resolution: {integrity: sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==} engines: {node: '>=6'} @@ -2903,6 +3344,9 @@ packages: queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} + queue@6.0.2: + resolution: {integrity: sha512-iHZWu+q3IdFZFX36ro/lKBkSvfkztY5Y7HMiPlOUjhupPcG2JMfst2KKEpu5XndviX/3UhFbRngUPNKtgvtZiA==} + rc@1.2.8: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true @@ -2951,6 +3395,15 @@ packages: engines: {node: ^20.9.0 || >=22.0.0} hasBin: true + remove-dependencies@0.1.1: + resolution: {integrity: sha512-CDQMz0yYx8Jta0LcWgGdkRXbd+wxXlGj7mPKJAkBkJjw0Wq4WVgPpQs3/S695YnBcTpk1JxLAiX+oPw+2Cqagw==} + engines: {node: '>=18.3.0'} + hasBin: true + + remove-undefined-objects@6.0.0: + resolution: {integrity: sha512-8fR4QQFV2xMKTYXazi1944rpr1f+JOzQu58TgUFi3xDu41fDon5qMXtjJ1/nhquOouTtJ621bKDrhE1IlOSP+A==} + engines: {node: '>=18'} + repeat-string@1.6.1: resolution: {integrity: sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==} engines: {node: '>=0.10'} @@ -3027,6 +3480,9 @@ packages: resolution: {integrity: sha512-3A6sD0WYP7+QrjbfNA2FN3FsOaGGFoekCVgTyypy53gPxhbkCIjtO6YWgdrfM+n/8sI8JeXZOIxsHjMTNxQ4nQ==} engines: {node: ^14.0.0 || >=16.0.0} + selderee@0.11.0: + resolution: {integrity: sha512-5TF+l7p4+OsnP8BCCvSyZiSPc4x4//p5uPwK8TCnVPJYRmU2aYKMpOXvw8zM5a5JvuuCGN1jmsMwuU2W02ukfA==} + semver@7.6.3: resolution: {integrity: sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A==} engines: {node: '>=10'} @@ -3037,6 +3493,19 @@ packages: engines: {node: '>=10'} hasBin: true + sentences-per-line@0.3.0: + resolution: {integrity: sha512-/cSQgaLDEmed+AIC2KAd1A5k4sy8bbWy3ObBDUE2+JmiwolTBuc87TlwlTSnBJVPa7+zfGv28J63xzznFRv5tQ==} + engines: {node: '>=18'} + + set-github-repository-labels@0.2.2: + resolution: {integrity: sha512-/CTFBP0vyT9TDK4zxOmy1xdBKJKfbJGob60O5fw39Sk9cjwJcJNX1Bqz7INQ75gaPa/K7r1q2dz9iF8TY+d4Fw==} + engines: {node: '>=18.3.0'} + hasBin: true + + sh-syntax@0.4.2: + resolution: {integrity: sha512-/l2UZ5fhGZLVZa16XQM9/Vq/hezGGbdHeVEA01uWjOL1+7Ek/gt6FquW0iKKws4a9AYPYvlz6RyVvjh3JxOteg==} + engines: {node: '>=16.0.0'} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -3050,18 +3519,23 @@ packages: engines: {node: '>=4'} hasBin: true - should-semantic-release@0.3.1: - resolution: {integrity: sha512-4KvUaY3HWGnXMxn6Qc3WEK26Ihn3uK8UrjwtOIAdjIBlVEiW64pS8ypj/RwkbMSk7cj66ArS2mfd/UdKjILyNg==} - engines: {node: '>=18'} - hasBin: true - siginfo@2.0.0: resolution: {integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==} + signal-exit@3.0.7: + resolution: {integrity: sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==} + signal-exit@4.1.0: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + sisteransi@1.0.5: + resolution: {integrity: sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==} + + slash@1.0.0: + resolution: {integrity: sha512-3TYDR7xWt4dIqV2JauJr+EJeW356RXijHeUlO+8djJ+uBXPn8/2dpzBc8yQhh583sVvc9CvFAeQVgijsH+PNNg==} + engines: {node: '>=0.10.0'} + slash@5.1.0: resolution: {integrity: sha512-ZA6oR3T/pEyuqwMgAKT0/hAv8oAXckzbkmR0UkUosQ+Mc4RxGoJkRmwHgHufaenlyAgE1Mxgpdcrf75y6XcnDg==} engines: {node: '>=14.16'} @@ -3077,6 +3551,10 @@ packages: resolution: {integrity: sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==} engines: {node: '>=18'} + slugify@1.6.6: + resolution: {integrity: sha512-h+z7HKHYXj6wJU+AnS/+IH8Uh9fdcX1Lrhg1/VMdf9PwoBQXFcXiAdsy2tSK0P6gKwJLXp02r90ahUCqHk9rrw==} + engines: {node: '>=8.0.0'} + smart-buffer@4.2.0: resolution: {integrity: sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==} engines: {node: '>= 6.0.0', npm: '>= 3.0.0'} @@ -3093,6 +3571,10 @@ packages: resolution: {integrity: sha512-l5x7VUUWbjVFbafGLxPWkYsHIhEvmF85tbIeFZWc8ZPtoMyybuEhL7Jye/ooC4/d48FgOjSJXgsF/AJPYCW8Zw==} engines: {node: '>= 10.0.0', npm: '>= 3.0.0'} + sort-keys@5.1.0: + resolution: {integrity: sha512-aSbHV0DaBcr7u0PVHXzM6NbZNAtrr9sF6+Qfs9UUVG7Ll3jQ6hHi8F/xqIIcn2rvIVbr0v/2zyjSdwSV47AgLQ==} + engines: {node: '>=12'} + sort-object-keys@1.1.3: resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} @@ -3131,10 +3613,6 @@ packages: spdx-license-ids@3.0.21: resolution: {integrity: sha512-Bvg/8F5XephndSK3JffaRqdT+gyhfqIPwDHpX80tJrF8QQRYMo8sNMeaZ2Dp5+jhwKnUmIOyFFQfHRkjJm5nXg==} - split2@4.2.0: - resolution: {integrity: sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==} - engines: {node: '>= 10.x'} - sprintf-js@1.1.3: resolution: {integrity: sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==} @@ -3175,6 +3653,10 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} + strip-final-newline@2.0.0: + resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} + engines: {node: '>=6'} + strip-final-newline@3.0.0: resolution: {integrity: sha512-dOESqjYr96iWYylGObzd39EuNTa5VJxyvVAEm5Jnh7KGo75V43Hk1odPQkNDyXNmUR6k+gEiDVXnjB8HJ3crXw==} engines: {node: '>=12'} @@ -3230,10 +3712,6 @@ packages: resolution: {integrity: sha512-pFYqmTw68LXVjeWJMST4+borgQP2AyMNbg1BpZh9LbyhUeNkeaPF9gzfPGUAnSMV3qPYdWUwDIjjCLiSDOl7vg==} engines: {node: '>=18'} - text-extensions@2.4.0: - resolution: {integrity: sha512-te/NtwBwfiNRLf9Ijqx3T0nlqZiQ2XrrtBvu+cLL8ZRrGkO0NHTug8MYFKyoSrv/sHTaSKfilUkizV6XhxMJ3g==} - engines: {node: '>=8'} - thenify-all@1.6.0: resolution: {integrity: sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==} engines: {node: '>=0.8'} @@ -3241,8 +3719,8 @@ packages: thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} - through@2.3.8: - resolution: {integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==} + throttled-queue@2.1.4: + resolution: {integrity: sha512-YGdk8sdmr4ge3g+doFj/7RLF5kLM+Mi7DEciu9PHxnMJZMeVuZeTj31g4VE7ekUffx/IdbvrtOCiz62afg0mkg==} tinybench@2.9.0: resolution: {integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==} @@ -3266,6 +3744,9 @@ packages: resolution: {integrity: sha512-n1cw8k1k0x4pgA2+9XrOkFydTerNcJ1zWCO5Nn9scWHTD+5tp8dghT2x1uduQePZTZgd3Tupf+x9BxJjeJi77Q==} engines: {node: '>=14.0.0'} + title-case@4.3.2: + resolution: {integrity: sha512-I/nkcBo73mO42Idfv08jhInV61IMb61OdIFxk+B4Gu1oBjWBPOLmhZdsli+oJCVaD+86pYQA93cJfFt224ZFAA==} + tmp@0.0.33: resolution: {integrity: sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==} engines: {node: '>=0.6.0'} @@ -3274,9 +3755,22 @@ packages: resolution: {integrity: sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==} engines: {node: '>=8.0'} + toad-cache@3.7.0: + resolution: {integrity: sha512-/m8M+2BJUpoJdgAHoG+baCwBT+tf2VraSfkBgl0Y00qIWt41DJ8R5B8nsEw0I58YwF5IZH6z24/2TobDKnqSWw==} + engines: {node: '>=12'} + tr46@1.0.1: resolution: {integrity: sha512-dTpowEjclQ7Kgx5SdBkqRzVhERQXov8/l9Ft9dVM9fmg0W0KQSVaXX9T4i6twCPNtYiZM53lpSSUAwJbFPOHxA==} + trash-cli@6.0.0: + resolution: {integrity: sha512-O97EQwg5kHd18GvV6BnMvAlfsMsZC+mhQZH04HFalB5U9hgFDjcLQXALZ62cf4c+jKB2F3pAhQQTkUoiURGCqg==} + engines: {node: '>=18'} + hasBin: true + + trash@9.0.0: + resolution: {integrity: sha512-6U3A0olN4C16iiPZvoF93AcZDNZtv/nI2bHb2m/sO3h/m8VPzg9tPdd3n3LVcYLWz7ui0AHaXYhIuRjzGW9ptg==} + engines: {node: '>=18'} + tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -3331,8 +3825,8 @@ packages: typedarray@0.0.6: resolution: {integrity: sha512-/aCDEGatGvZ2BIk+HmLf4ifCJFwvKFNb9/JeZPMulfgFracn9QFcAf5GO8B/mweUjSoblS5In0cWhqpfs/5PQA==} - typescript-eslint@8.29.0: - resolution: {integrity: sha512-ep9rVd9B4kQsZ7ZnWCVxUE/xDLUUUsRzE0poAeNu+4CkFErLfuvPt/qtm2EpnSyfvsR0S6QzDFSrPCFBwf64fg==} + typescript-eslint@8.26.1: + resolution: {integrity: sha512-t/oIs9mYyrwZGRpDv3g+3K6nZ5uhKEMt2oNmAPwaY4/ye0+EH4nXIPYNtkYFS6QHm+1DFg34DbglYBz5P9Xysg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -3369,6 +3863,9 @@ packages: unist-util-stringify-position@2.0.3: resolution: {integrity: sha512-3faScn5I+hy9VleOq/qNbAd6pAx7iH5jYBMS9I1HgQVijz/4mv5Bvw5iw1sC/90CODiKo81G/ps8AJrISn687g==} + universal-github-app-jwt@2.2.2: + resolution: {integrity: sha512-dcmbeSrOdTnsjGjUfAlqNDJrhxXizjAz94ija9Qw8YkZ1uu0d+GoZzyH+Jb9tIIqvGsadUfwg+22k5aDqqwzbw==} + universal-user-agent@7.0.2: resolution: {integrity: sha512-0JCqzSKnStlRRQfCdowvqy3cy0Dvtlb8xecj/H8JFZuCze4rwjPZQOgvFvn0Ws/usCHQFGpyr+pB9adaGwXn4Q==} @@ -3383,6 +3880,10 @@ packages: resolution: {integrity: sha512-n2huDr9h9yzd6exQVnH/jU5mr+Pfx08LRXXZhkLLetAMESRj+anQsTAh940iMrIetKAmry9coFuZQ2jY8/p3WA==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} + user-home@2.0.0: + resolution: {integrity: sha512-KMWqdlOcjCYdtIJpicDSFBQ8nFwS2i9sslAd6f4+CBGcU4gist2REnr2fxj2YocvJFxSF3ZOHLYLVZnUxv4BZQ==} + engines: {node: '>=0.10.0'} + util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} @@ -3393,8 +3894,8 @@ packages: resolution: {integrity: sha512-d7KLgL1LD3U3fgnvWEY1cQXoO/q6EQ1BSz48Sa149V/5zVTAbgmZIpyI8TRi6U9/JNyeYLlTKsEMPtLC27RFUg==} engines: {node: ^18.17.0 || >=20.5.0} - vite-node@3.1.1: - resolution: {integrity: sha512-V+IxPAE2FvXpTCHXyNem0M+gWm6J7eRyWPR6vYoG/Gl+IscNOjXzztUhimQgTxaAoUoj40Qqimaa0NLIOOAH4w==} + vite-node@3.0.9: + resolution: {integrity: sha512-w3Gdx7jDcuT9cNn9jExXgOyKmf5UOTb6WMHz8LGAm54eS1Elf5OuBhCxl6zJxGhEeIkgsE1WbHuoL0mj/UXqXg==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true @@ -3438,16 +3939,16 @@ packages: yaml: optional: true - vitest@3.1.1: - resolution: {integrity: sha512-kiZc/IYmKICeBAZr9DQ5rT7/6bD9G7uqQEki4fxazi1jdVl2mWGzedtBs5s6llz59yQhVb7FFY2MbHzHCnT79Q==} + vitest@3.0.9: + resolution: {integrity: sha512-BbcFDqNyBlfSpATmTtXOAOj71RNKDDvjBM/uPfnxxVGrG+FSH2RQIwgeEngTaTkuU/h0ScFvf+tRcKfYXzBybQ==} engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0} hasBin: true peerDependencies: '@edge-runtime/vm': '*' '@types/debug': ^4.1.12 '@types/node': ^18.0.0 || ^20.0.0 || >=22.0.0 - '@vitest/browser': 3.1.1 - '@vitest/ui': 3.1.1 + '@vitest/browser': 3.0.9 + '@vitest/ui': 3.0.9 happy-dom: '*' jsdom: '*' peerDependenciesMeta: @@ -3505,6 +4006,10 @@ packages: resolution: {integrity: sha512-MS3BzG8QK33dAyqwxfYJCJ03arkwKaddUOvvnnlFdXLudflsQF6I8yAxrLBeQk4yO8wjdH/+ax0YzxJEDrOftg==} engines: {node: '>=18'} + without-undefined-properties@0.1.2: + resolution: {integrity: sha512-qQGjKRi109klAxb+JtQdP79VIb6unIQ6hxNfL7OP9EDAJ/Di2FaLVq0jKM+gwxmqKO+i2S1WX7qGUwSCcChbEg==} + engines: {node: '>=18.3.0'} + word-wrap@1.2.5: resolution: {integrity: sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==} engines: {node: '>=0.10.0'} @@ -3531,10 +4036,18 @@ packages: wrappy@1.0.2: resolution: {integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==} + xdg-basedir@4.0.0: + resolution: {integrity: sha512-PSNhEJDejZYV7h50BohL09Er9VaIefr2LMAf3OEmpCkjOi34eYyQYAXUTjEQtZJTKcF0E2UKTh+osDLsgNim9Q==} + engines: {node: '>=8'} + xdg-basedir@5.1.0: resolution: {integrity: sha512-GCPAHLvrIH13+c0SuacwvRYj2SxJXQ4kaVTT5xgL3kPrz56XxkF21IGhjSE1+W0aw7gpBWRGXLCPnPby6lSpmQ==} engines: {node: '>=12'} + xdg-trashdir@3.1.0: + resolution: {integrity: sha512-N1XQngeqMBoj9wM4ZFadVV2MymImeiFfYD+fJrNlcVcOHsJFFQe7n3b+aBoTPwARuq2HQxukfzVpQmAk1gN4sQ==} + engines: {node: '>=10'} + y18n@5.0.8: resolution: {integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==} engines: {node: '>=10'} @@ -3568,6 +4081,14 @@ packages: resolution: {integrity: sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==} engines: {node: '>=18'} + zod-package-json@1.1.0: + resolution: {integrity: sha512-RvEsa3W/NCqEBMtnoE09GRVelA3IqRcKaijEiM6CEGsD19qLurf0HjrYMHwOqImOszlLL0ja63DPJeeU4pm7oQ==} + engines: {node: '>=20'} + + zod-tsconfig@0.2.0: + resolution: {integrity: sha512-ug/zndWh/wNiejtCJ2tGyNzi3Nf94ZnpFos/e5CGTIXYIwoXMiXYg3a3SptYVrfXFnLCpuTTfVjYWh6q9djKhA==} + engines: {node: '>=18.3.0'} + zod-validation-error@3.4.0: resolution: {integrity: sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ==} engines: {node: '>=18.0.0'} @@ -3632,6 +4153,17 @@ snapshots: '@bcoe/v8-coverage@1.0.2': {} + '@clack/core@0.4.1': + dependencies: + picocolors: 1.1.1 + sisteransi: 1.0.5 + + '@clack/prompts@0.10.0': + dependencies: + '@clack/core': 0.4.1 + picocolors: 1.1.1 + sisteransi: 1.0.5 + '@conventional-changelog/git-client@1.0.1(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0)': dependencies: '@types/semver': 7.7.0 @@ -3640,7 +4172,7 @@ snapshots: conventional-commits-filter: 5.0.0 conventional-commits-parser: 6.1.0 - '@cspell/cspell-bundled-dicts@8.18.1': + '@cspell/cspell-bundled-dicts@8.17.5': dependencies: '@cspell/dict-ada': 4.1.0 '@cspell/dict-al': 1.1.0 @@ -3693,7 +4225,7 @@ snapshots: '@cspell/dict-rust': 4.0.11 '@cspell/dict-scala': 5.0.7 '@cspell/dict-shell': 1.1.0 - '@cspell/dict-software-terms': 5.0.3 + '@cspell/dict-software-terms': 4.2.5 '@cspell/dict-sql': 2.2.0 '@cspell/dict-svelte': 1.0.6 '@cspell/dict-swift': 2.0.5 @@ -3701,19 +4233,19 @@ snapshots: '@cspell/dict-typescript': 3.2.0 '@cspell/dict-vue': 3.0.4 - '@cspell/cspell-json-reporter@8.18.1': + '@cspell/cspell-json-reporter@8.17.5': dependencies: - '@cspell/cspell-types': 8.18.1 + '@cspell/cspell-types': 8.17.5 - '@cspell/cspell-pipe@8.18.1': {} + '@cspell/cspell-pipe@8.17.5': {} - '@cspell/cspell-resolver@8.18.1': + '@cspell/cspell-resolver@8.17.5': dependencies: global-directory: 4.0.1 - '@cspell/cspell-service-bus@8.18.1': {} + '@cspell/cspell-service-bus@8.17.5': {} - '@cspell/cspell-types@8.18.1': {} + '@cspell/cspell-types@8.17.5': {} '@cspell/dict-ada@4.1.0': {} @@ -3826,7 +4358,7 @@ snapshots: '@cspell/dict-shell@1.1.0': {} - '@cspell/dict-software-terms@5.0.3': {} + '@cspell/dict-software-terms@4.2.5': {} '@cspell/dict-sql@2.2.0': {} @@ -3840,16 +4372,16 @@ snapshots: '@cspell/dict-vue@3.0.4': {} - '@cspell/dynamic-import@8.18.1': + '@cspell/dynamic-import@8.17.5': dependencies: - '@cspell/url': 8.18.1 + '@cspell/url': 8.17.5 import-meta-resolve: 4.1.0 - '@cspell/filetypes@8.18.1': {} + '@cspell/filetypes@8.17.5': {} - '@cspell/strong-weak-map@8.18.1': {} + '@cspell/strong-weak-map@8.17.5': {} - '@cspell/url@8.18.1': {} + '@cspell/url@8.17.5': {} '@es-joy/jsdoccomment@0.49.0': dependencies: @@ -3932,15 +4464,15 @@ snapshots: '@esbuild/win32-x64@0.25.2': optional: true - '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.23.0(jiti@2.4.2))': + '@eslint-community/eslint-plugin-eslint-comments@4.4.1(eslint@9.22.0(jiti@2.4.2))': dependencies: escape-string-regexp: 4.0.0 - eslint: 9.23.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.4.2) ignore: 5.3.2 - '@eslint-community/eslint-utils@4.5.1(eslint@9.23.0(jiti@2.4.2))': + '@eslint-community/eslint-utils@4.5.1(eslint@9.22.0(jiti@2.4.2))': dependencies: - eslint: 9.23.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.4.2) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} @@ -3953,7 +4485,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/config-helpers@0.2.0': {} + '@eslint/config-helpers@0.1.0': {} '@eslint/core@0.12.0': dependencies: @@ -3973,7 +4505,7 @@ snapshots: transitivePeerDependencies: - supports-color - '@eslint/js@9.23.0': {} + '@eslint/js@9.22.0': {} '@eslint/object-schema@2.1.6': {} @@ -3999,25 +4531,25 @@ snapshots: '@iarna/toml@2.2.5': {} - '@inquirer/checkbox@4.0.7(@types/node@22.13.14)': + '@inquirer/checkbox@4.0.7(@types/node@22.13.10)': dependencies: - '@inquirer/core': 10.1.5(@types/node@22.13.14) + '@inquirer/core': 10.1.5(@types/node@22.13.10) '@inquirer/figures': 1.0.10 - '@inquirer/type': 3.0.3(@types/node@22.13.14) - '@types/node': 22.13.14 + '@inquirer/type': 3.0.3(@types/node@22.13.10) + '@types/node': 22.13.10 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 - '@inquirer/confirm@5.1.4(@types/node@22.13.14)': + '@inquirer/confirm@5.1.4(@types/node@22.13.10)': dependencies: - '@inquirer/core': 10.1.5(@types/node@22.13.14) - '@inquirer/type': 3.0.3(@types/node@22.13.14) - '@types/node': 22.13.14 + '@inquirer/core': 10.1.5(@types/node@22.13.10) + '@inquirer/type': 3.0.3(@types/node@22.13.10) + '@types/node': 22.13.10 - '@inquirer/core@10.1.5(@types/node@22.13.14)': + '@inquirer/core@10.1.5(@types/node@22.13.10)': dependencies: '@inquirer/figures': 1.0.10 - '@inquirer/type': 3.0.3(@types/node@22.13.14) + '@inquirer/type': 3.0.3(@types/node@22.13.10) ansi-escapes: 4.3.2 cli-width: 4.1.0 mute-stream: 2.0.0 @@ -4027,82 +4559,82 @@ snapshots: transitivePeerDependencies: - '@types/node' - '@inquirer/editor@4.2.4(@types/node@22.13.14)': + '@inquirer/editor@4.2.4(@types/node@22.13.10)': dependencies: - '@inquirer/core': 10.1.5(@types/node@22.13.14) - '@inquirer/type': 3.0.3(@types/node@22.13.14) - '@types/node': 22.13.14 + '@inquirer/core': 10.1.5(@types/node@22.13.10) + '@inquirer/type': 3.0.3(@types/node@22.13.10) + '@types/node': 22.13.10 external-editor: 3.1.0 - '@inquirer/expand@4.0.7(@types/node@22.13.14)': + '@inquirer/expand@4.0.7(@types/node@22.13.10)': dependencies: - '@inquirer/core': 10.1.5(@types/node@22.13.14) - '@inquirer/type': 3.0.3(@types/node@22.13.14) - '@types/node': 22.13.14 + '@inquirer/core': 10.1.5(@types/node@22.13.10) + '@inquirer/type': 3.0.3(@types/node@22.13.10) + '@types/node': 22.13.10 yoctocolors-cjs: 2.1.2 '@inquirer/figures@1.0.10': {} - '@inquirer/input@4.1.4(@types/node@22.13.14)': + '@inquirer/input@4.1.4(@types/node@22.13.10)': dependencies: - '@inquirer/core': 10.1.5(@types/node@22.13.14) - '@inquirer/type': 3.0.3(@types/node@22.13.14) - '@types/node': 22.13.14 + '@inquirer/core': 10.1.5(@types/node@22.13.10) + '@inquirer/type': 3.0.3(@types/node@22.13.10) + '@types/node': 22.13.10 - '@inquirer/number@3.0.7(@types/node@22.13.14)': + '@inquirer/number@3.0.7(@types/node@22.13.10)': dependencies: - '@inquirer/core': 10.1.5(@types/node@22.13.14) - '@inquirer/type': 3.0.3(@types/node@22.13.14) - '@types/node': 22.13.14 + '@inquirer/core': 10.1.5(@types/node@22.13.10) + '@inquirer/type': 3.0.3(@types/node@22.13.10) + '@types/node': 22.13.10 - '@inquirer/password@4.0.7(@types/node@22.13.14)': + '@inquirer/password@4.0.7(@types/node@22.13.10)': dependencies: - '@inquirer/core': 10.1.5(@types/node@22.13.14) - '@inquirer/type': 3.0.3(@types/node@22.13.14) - '@types/node': 22.13.14 + '@inquirer/core': 10.1.5(@types/node@22.13.10) + '@inquirer/type': 3.0.3(@types/node@22.13.10) + '@types/node': 22.13.10 ansi-escapes: 4.3.2 - '@inquirer/prompts@7.2.4(@types/node@22.13.14)': - dependencies: - '@inquirer/checkbox': 4.0.7(@types/node@22.13.14) - '@inquirer/confirm': 5.1.4(@types/node@22.13.14) - '@inquirer/editor': 4.2.4(@types/node@22.13.14) - '@inquirer/expand': 4.0.7(@types/node@22.13.14) - '@inquirer/input': 4.1.4(@types/node@22.13.14) - '@inquirer/number': 3.0.7(@types/node@22.13.14) - '@inquirer/password': 4.0.7(@types/node@22.13.14) - '@inquirer/rawlist': 4.0.7(@types/node@22.13.14) - '@inquirer/search': 3.0.7(@types/node@22.13.14) - '@inquirer/select': 4.0.7(@types/node@22.13.14) - '@types/node': 22.13.14 - - '@inquirer/rawlist@4.0.7(@types/node@22.13.14)': - dependencies: - '@inquirer/core': 10.1.5(@types/node@22.13.14) - '@inquirer/type': 3.0.3(@types/node@22.13.14) - '@types/node': 22.13.14 + '@inquirer/prompts@7.2.4(@types/node@22.13.10)': + dependencies: + '@inquirer/checkbox': 4.0.7(@types/node@22.13.10) + '@inquirer/confirm': 5.1.4(@types/node@22.13.10) + '@inquirer/editor': 4.2.4(@types/node@22.13.10) + '@inquirer/expand': 4.0.7(@types/node@22.13.10) + '@inquirer/input': 4.1.4(@types/node@22.13.10) + '@inquirer/number': 3.0.7(@types/node@22.13.10) + '@inquirer/password': 4.0.7(@types/node@22.13.10) + '@inquirer/rawlist': 4.0.7(@types/node@22.13.10) + '@inquirer/search': 3.0.7(@types/node@22.13.10) + '@inquirer/select': 4.0.7(@types/node@22.13.10) + '@types/node': 22.13.10 + + '@inquirer/rawlist@4.0.7(@types/node@22.13.10)': + dependencies: + '@inquirer/core': 10.1.5(@types/node@22.13.10) + '@inquirer/type': 3.0.3(@types/node@22.13.10) + '@types/node': 22.13.10 yoctocolors-cjs: 2.1.2 - '@inquirer/search@3.0.7(@types/node@22.13.14)': + '@inquirer/search@3.0.7(@types/node@22.13.10)': dependencies: - '@inquirer/core': 10.1.5(@types/node@22.13.14) + '@inquirer/core': 10.1.5(@types/node@22.13.10) '@inquirer/figures': 1.0.10 - '@inquirer/type': 3.0.3(@types/node@22.13.14) - '@types/node': 22.13.14 + '@inquirer/type': 3.0.3(@types/node@22.13.10) + '@types/node': 22.13.10 yoctocolors-cjs: 2.1.2 - '@inquirer/select@4.0.7(@types/node@22.13.14)': + '@inquirer/select@4.0.7(@types/node@22.13.10)': dependencies: - '@inquirer/core': 10.1.5(@types/node@22.13.14) + '@inquirer/core': 10.1.5(@types/node@22.13.10) '@inquirer/figures': 1.0.10 - '@inquirer/type': 3.0.3(@types/node@22.13.14) - '@types/node': 22.13.14 + '@inquirer/type': 3.0.3(@types/node@22.13.10) + '@types/node': 22.13.10 ansi-escapes: 4.3.2 yoctocolors-cjs: 2.1.2 - '@inquirer/type@3.0.3(@types/node@22.13.14)': + '@inquirer/type@3.0.3(@types/node@22.13.10)': dependencies: - '@types/node': 22.13.14 + '@types/node': 22.13.10 '@isaacs/cliui@8.0.2': dependencies: @@ -4160,71 +4692,168 @@ snapshots: '@nodelib/fs.scandir': 4.0.1 fastq: 1.19.1 + '@octokit/app@15.1.5': + dependencies: + '@octokit/auth-app': 7.2.0 + '@octokit/auth-unauthenticated': 6.1.2 + '@octokit/core': 6.1.4 + '@octokit/oauth-app': 7.1.6 + '@octokit/plugin-paginate-rest': 11.6.0(@octokit/core@6.1.4) + '@octokit/types': 13.10.0 + '@octokit/webhooks': 13.8.0 + + '@octokit/auth-app@7.2.0': + dependencies: + '@octokit/auth-oauth-app': 8.1.3 + '@octokit/auth-oauth-user': 5.1.3 + '@octokit/request': 9.2.2 + '@octokit/request-error': 6.1.7 + '@octokit/types': 13.10.0 + toad-cache: 3.7.0 + universal-github-app-jwt: 2.2.2 + universal-user-agent: 7.0.2 + + '@octokit/auth-oauth-app@8.1.3': + dependencies: + '@octokit/auth-oauth-device': 7.1.4 + '@octokit/auth-oauth-user': 5.1.3 + '@octokit/request': 9.2.2 + '@octokit/types': 13.10.0 + universal-user-agent: 7.0.2 + + '@octokit/auth-oauth-device@7.1.4': + dependencies: + '@octokit/oauth-methods': 5.1.4 + '@octokit/request': 9.2.2 + '@octokit/types': 13.10.0 + universal-user-agent: 7.0.2 + + '@octokit/auth-oauth-user@5.1.3': + dependencies: + '@octokit/auth-oauth-device': 7.1.4 + '@octokit/oauth-methods': 5.1.4 + '@octokit/request': 9.2.2 + '@octokit/types': 13.10.0 + universal-user-agent: 7.0.2 + '@octokit/auth-token@5.1.2': {} - '@octokit/core@6.1.3': + '@octokit/auth-unauthenticated@6.1.2': + dependencies: + '@octokit/request-error': 6.1.7 + '@octokit/types': 13.10.0 + + '@octokit/core@6.1.4': dependencies: '@octokit/auth-token': 5.1.2 '@octokit/graphql': 8.2.0 - '@octokit/request': 9.2.0 - '@octokit/request-error': 6.1.6 - '@octokit/types': 13.8.0 + '@octokit/request': 9.2.2 + '@octokit/request-error': 6.1.7 + '@octokit/types': 13.10.0 before-after-hook: 3.0.2 universal-user-agent: 7.0.2 - '@octokit/endpoint@10.1.2': + '@octokit/endpoint@10.1.3': dependencies: - '@octokit/types': 13.8.0 + '@octokit/types': 13.10.0 universal-user-agent: 7.0.2 '@octokit/graphql@8.2.0': dependencies: - '@octokit/request': 9.2.0 - '@octokit/types': 13.8.0 + '@octokit/request': 9.2.2 + '@octokit/types': 13.10.0 + universal-user-agent: 7.0.2 + + '@octokit/oauth-app@7.1.6': + dependencies: + '@octokit/auth-oauth-app': 8.1.3 + '@octokit/auth-oauth-user': 5.1.3 + '@octokit/auth-unauthenticated': 6.1.2 + '@octokit/core': 6.1.4 + '@octokit/oauth-authorization-url': 7.1.1 + '@octokit/oauth-methods': 5.1.4 + '@types/aws-lambda': 8.10.148 universal-user-agent: 7.0.2 - '@octokit/openapi-types@23.0.1': {} + '@octokit/oauth-authorization-url@7.1.1': {} - '@octokit/plugin-paginate-rest@11.4.0(@octokit/core@6.1.3)': + '@octokit/oauth-methods@5.1.4': dependencies: - '@octokit/core': 6.1.3 - '@octokit/types': 13.8.0 + '@octokit/oauth-authorization-url': 7.1.1 + '@octokit/request': 9.2.2 + '@octokit/request-error': 6.1.7 + '@octokit/types': 13.10.0 - '@octokit/plugin-request-log@5.3.1(@octokit/core@6.1.3)': + '@octokit/openapi-types@24.2.0': {} + + '@octokit/openapi-webhooks-types@10.4.0': {} + + '@octokit/plugin-paginate-graphql@5.2.4(@octokit/core@6.1.4)': + dependencies: + '@octokit/core': 6.1.4 + + '@octokit/plugin-paginate-rest@11.6.0(@octokit/core@6.1.4)': + dependencies: + '@octokit/core': 6.1.4 + '@octokit/types': 13.10.0 + + '@octokit/plugin-request-log@5.3.1(@octokit/core@6.1.4)': dependencies: - '@octokit/core': 6.1.3 + '@octokit/core': 6.1.4 - '@octokit/plugin-rest-endpoint-methods@13.3.0(@octokit/core@6.1.3)': + '@octokit/plugin-rest-endpoint-methods@13.5.0(@octokit/core@6.1.4)': dependencies: - '@octokit/core': 6.1.3 - '@octokit/types': 13.8.0 + '@octokit/core': 6.1.4 + '@octokit/types': 13.10.0 - '@octokit/request-error@6.1.6': + '@octokit/plugin-retry@7.2.0(@octokit/core@6.1.4)': dependencies: - '@octokit/types': 13.8.0 + '@octokit/core': 6.1.4 + '@octokit/request-error': 6.1.7 + '@octokit/types': 13.10.0 + bottleneck: 2.19.5 - '@octokit/request@9.2.0': + '@octokit/plugin-throttling@9.6.1(@octokit/core@6.1.4)': dependencies: - '@octokit/endpoint': 10.1.2 - '@octokit/request-error': 6.1.6 - '@octokit/types': 13.8.0 + '@octokit/core': 6.1.4 + '@octokit/types': 13.10.0 + bottleneck: 2.19.5 + + '@octokit/request-error@6.1.7': + dependencies: + '@octokit/types': 13.10.0 + + '@octokit/request@9.2.2': + dependencies: + '@octokit/endpoint': 10.1.3 + '@octokit/request-error': 6.1.7 + '@octokit/types': 13.10.0 fast-content-type-parse: 2.0.1 universal-user-agent: 7.0.2 '@octokit/rest@21.0.2': dependencies: - '@octokit/core': 6.1.3 - '@octokit/plugin-paginate-rest': 11.4.0(@octokit/core@6.1.3) - '@octokit/plugin-request-log': 5.3.1(@octokit/core@6.1.3) - '@octokit/plugin-rest-endpoint-methods': 13.3.0(@octokit/core@6.1.3) + '@octokit/core': 6.1.4 + '@octokit/plugin-paginate-rest': 11.6.0(@octokit/core@6.1.4) + '@octokit/plugin-request-log': 5.3.1(@octokit/core@6.1.4) + '@octokit/plugin-rest-endpoint-methods': 13.5.0(@octokit/core@6.1.4) - '@octokit/types@13.8.0': + '@octokit/types@13.10.0': dependencies: - '@octokit/openapi-types': 23.0.1 + '@octokit/openapi-types': 24.2.0 + + '@octokit/webhooks-methods@5.1.1': {} + + '@octokit/webhooks@13.8.0': + dependencies: + '@octokit/openapi-webhooks-types': 10.4.0 + '@octokit/request-error': 6.1.7 + '@octokit/webhooks-methods': 5.1.1 '@one-ini/wasm@0.2.0': {} - '@pkgjs/parseargs@0.11.0': {} + '@pkgjs/parseargs@0.11.0': + optional: true '@pkgr/core@0.1.2': {} @@ -4240,13 +4869,13 @@ snapshots: '@pnpm/network.ca-file': 1.0.2 config-chain: 1.1.13 - '@release-it/conventional-changelog@10.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0)(release-it@18.1.2(@types/node@22.13.14)(typescript@5.8.2))': + '@release-it/conventional-changelog@10.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0)(release-it@18.1.2(@types/node@22.13.10)(typescript@5.8.2))': dependencies: concat-stream: 2.0.0 conventional-changelog: 6.0.0(conventional-commits-filter@5.0.0) conventional-recommended-bump: 10.0.0 git-semver-tags: 8.0.0(conventional-commits-filter@5.0.0)(conventional-commits-parser@6.1.0) - release-it: 18.1.2(@types/node@22.13.14)(typescript@5.8.2) + release-it: 18.1.2(@types/node@22.13.10)(typescript@5.8.2) semver: 7.7.1 transitivePeerDependencies: - conventional-commits-filter @@ -4314,8 +4943,21 @@ snapshots: '@sec-ant/readable-stream@0.4.1': {} + '@selderee/plugin-htmlparser2@0.11.0': + dependencies: + domhandler: 5.0.3 + selderee: 0.11.0 + '@sinclair/typebox@0.27.8': {} + '@sindresorhus/chunkify@1.0.0': {} + + '@sindresorhus/df@1.0.1': {} + + '@sindresorhus/df@3.1.1': + dependencies: + execa: 2.1.0 + '@sindresorhus/merge-streams@2.3.0': {} '@sindresorhus/merge-streams@4.0.0': {} @@ -4326,12 +4968,26 @@ snapshots: ignore: 5.3.2 p-map: 4.0.0 + '@stroncium/procfs@1.2.1': {} + '@tootallnate/quickjs-emscripten@0.23.0': {} + '@types/aws-lambda@8.10.148': {} + '@types/debug@4.1.12': dependencies: '@types/ms': 0.7.34 + '@types/eslint-plugin-markdown@2.0.2': + dependencies: + '@types/eslint': 9.6.1 + '@types/unist': 2.0.11 + + '@types/eslint@9.6.1': + dependencies: + '@types/estree': 1.0.7 + '@types/json-schema': 7.0.15 + '@types/estree@1.0.7': {} '@types/json-schema@7.0.15': {} @@ -4344,7 +5000,7 @@ snapshots: '@types/ms@0.7.34': {} - '@types/node@22.13.14': + '@types/node@22.13.10': dependencies: undici-types: 6.20.0 @@ -4360,15 +5016,15 @@ snapshots: '@types/validate-npm-package-name@4.0.2': {} - '@typescript-eslint/eslint-plugin@8.29.0(@typescript-eslint/parser@8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)': + '@typescript-eslint/eslint-plugin@8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) - '@typescript-eslint/scope-manager': 8.29.0 - '@typescript-eslint/type-utils': 8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) - '@typescript-eslint/utils': 8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) - '@typescript-eslint/visitor-keys': 8.29.0 - eslint: 9.23.0(jiti@2.4.2) + '@typescript-eslint/parser': 8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) + '@typescript-eslint/scope-manager': 8.26.1 + '@typescript-eslint/type-utils': 8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) + '@typescript-eslint/utils': 8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) + '@typescript-eslint/visitor-keys': 8.26.1 + eslint: 9.22.0(jiti@2.4.2) graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -4377,36 +5033,59 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)': + '@typescript-eslint/parser@8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)': dependencies: - '@typescript-eslint/scope-manager': 8.29.0 - '@typescript-eslint/types': 8.29.0 - '@typescript-eslint/typescript-estree': 8.29.0(typescript@5.8.2) - '@typescript-eslint/visitor-keys': 8.29.0 + '@typescript-eslint/scope-manager': 8.26.1 + '@typescript-eslint/types': 8.26.1 + '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.2) + '@typescript-eslint/visitor-keys': 8.26.1 debug: 4.4.0 - eslint: 9.23.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.4.2) typescript: 5.8.2 transitivePeerDependencies: - supports-color + '@typescript-eslint/scope-manager@8.26.1': + dependencies: + '@typescript-eslint/types': 8.26.1 + '@typescript-eslint/visitor-keys': 8.26.1 + '@typescript-eslint/scope-manager@8.29.0': dependencies: '@typescript-eslint/types': 8.29.0 '@typescript-eslint/visitor-keys': 8.29.0 - '@typescript-eslint/type-utils@8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)': + '@typescript-eslint/type-utils@8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)': dependencies: - '@typescript-eslint/typescript-estree': 8.29.0(typescript@5.8.2) - '@typescript-eslint/utils': 8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.2) + '@typescript-eslint/utils': 8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) debug: 4.4.0 - eslint: 9.23.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.4.2) ts-api-utils: 2.1.0(typescript@5.8.2) typescript: 5.8.2 transitivePeerDependencies: - supports-color + '@typescript-eslint/types@8.26.1': {} + '@typescript-eslint/types@8.29.0': {} + '@typescript-eslint/types@8.29.1': {} + + '@typescript-eslint/typescript-estree@8.26.1(typescript@5.8.2)': + dependencies: + '@typescript-eslint/types': 8.26.1 + '@typescript-eslint/visitor-keys': 8.26.1 + debug: 4.4.0 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.1 + ts-api-utils: 2.1.0(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/typescript-estree@8.29.0(typescript@5.8.2)': dependencies: '@typescript-eslint/types': 8.29.0 @@ -4421,23 +5100,58 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)': + '@typescript-eslint/typescript-estree@8.29.1(typescript@5.8.2)': + dependencies: + '@typescript-eslint/types': 8.29.1 + '@typescript-eslint/visitor-keys': 8.29.1 + debug: 4.4.0 + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.1 + ts-api-utils: 2.1.0(typescript@5.8.2) + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)': dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.5.1(eslint@9.22.0(jiti@2.4.2)) + '@typescript-eslint/scope-manager': 8.26.1 + '@typescript-eslint/types': 8.26.1 + '@typescript-eslint/typescript-estree': 8.26.1(typescript@5.8.2) + eslint: 9.22.0(jiti@2.4.2) + typescript: 5.8.2 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/utils@8.29.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)': + dependencies: + '@eslint-community/eslint-utils': 4.5.1(eslint@9.22.0(jiti@2.4.2)) '@typescript-eslint/scope-manager': 8.29.0 '@typescript-eslint/types': 8.29.0 '@typescript-eslint/typescript-estree': 8.29.0(typescript@5.8.2) - eslint: 9.23.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.4.2) typescript: 5.8.2 transitivePeerDependencies: - supports-color + '@typescript-eslint/visitor-keys@8.26.1': + dependencies: + '@typescript-eslint/types': 8.26.1 + eslint-visitor-keys: 4.2.0 + '@typescript-eslint/visitor-keys@8.29.0': dependencies: '@typescript-eslint/types': 8.29.0 eslint-visitor-keys: 4.2.0 - '@vitest/coverage-v8@3.1.1(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.7.1))': + '@typescript-eslint/visitor-keys@8.29.1': + dependencies: + '@typescript-eslint/types': 8.29.1 + eslint-visitor-keys: 4.2.0 + + '@vitest/coverage-v8@3.0.9(vitest@3.0.9(@types/debug@4.1.12)(@types/node@22.13.10)(jiti@2.4.2)(yaml@2.7.1))': dependencies: '@ampproject/remapping': 2.3.0 '@bcoe/v8-coverage': 1.0.2 @@ -4451,63 +5165,62 @@ snapshots: std-env: 3.8.1 test-exclude: 7.0.1 tinyrainbow: 2.0.0 - vitest: 3.1.1(@types/debug@4.1.12)(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.7.1) + vitest: 3.0.9(@types/debug@4.1.12)(@types/node@22.13.10)(jiti@2.4.2)(yaml@2.7.1) transitivePeerDependencies: - supports-color - '@vitest/eslint-plugin@1.1.38(@typescript-eslint/utils@8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2)(vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.7.1))': + '@vitest/eslint-plugin@1.1.38(@typescript-eslint/utils@8.29.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2)(vitest@3.0.9(@types/debug@4.1.12)(@types/node@22.13.10)(jiti@2.4.2)(yaml@2.7.1))': dependencies: - '@typescript-eslint/utils': 8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) - eslint: 9.23.0(jiti@2.4.2) + '@typescript-eslint/utils': 8.29.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) + eslint: 9.22.0(jiti@2.4.2) optionalDependencies: typescript: 5.8.2 - vitest: 3.1.1(@types/debug@4.1.12)(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.7.1) + vitest: 3.0.9(@types/debug@4.1.12)(@types/node@22.13.10)(jiti@2.4.2)(yaml@2.7.1) - '@vitest/expect@3.1.1': + '@vitest/expect@3.0.9': dependencies: - '@vitest/spy': 3.1.1 - '@vitest/utils': 3.1.1 + '@vitest/spy': 3.0.9 + '@vitest/utils': 3.0.9 chai: 5.2.0 tinyrainbow: 2.0.0 - '@vitest/mocker@3.1.1(vite@6.2.5(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.7.1))': + '@vitest/mocker@3.0.9(vite@6.2.5(@types/node@22.13.10)(jiti@2.4.2)(yaml@2.7.1))': dependencies: - '@vitest/spy': 3.1.1 + '@vitest/spy': 3.0.9 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 6.2.5(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.7.1) + vite: 6.2.5(@types/node@22.13.10)(jiti@2.4.2)(yaml@2.7.1) + + '@vitest/pretty-format@3.0.9': + dependencies: + tinyrainbow: 2.0.0 '@vitest/pretty-format@3.1.1': dependencies: tinyrainbow: 2.0.0 - '@vitest/runner@3.1.1': + '@vitest/runner@3.0.9': dependencies: - '@vitest/utils': 3.1.1 + '@vitest/utils': 3.0.9 pathe: 2.0.3 - '@vitest/snapshot@3.1.1': + '@vitest/snapshot@3.0.9': dependencies: - '@vitest/pretty-format': 3.1.1 + '@vitest/pretty-format': 3.0.9 magic-string: 0.30.17 pathe: 2.0.3 - '@vitest/spy@3.1.1': + '@vitest/spy@3.0.9': dependencies: tinyspy: 3.0.2 - '@vitest/utils@3.1.1': + '@vitest/utils@3.0.9': dependencies: - '@vitest/pretty-format': 3.1.1 + '@vitest/pretty-format': 3.0.9 loupe: 3.1.3 tinyrainbow: 2.0.0 - JSONStream@1.3.5: - dependencies: - jsonparse: 1.3.1 - through: 2.3.8 - acorn-jsx@5.3.2(acorn@8.14.1): dependencies: acorn: 8.14.1 @@ -4537,6 +5250,10 @@ snapshots: json-schema-traverse: 1.0.0 require-from-string: 2.0.2 + all-properties-lazy@0.1.0: + dependencies: + without-undefined-properties: 0.1.2 + ansi-align@3.0.1: dependencies: string-width: 4.2.3 @@ -4571,6 +5288,12 @@ snapshots: array-timsort@1.0.3: {} + array-union@1.0.2: + dependencies: + array-uniq: 1.0.3 + + array-uniq@1.0.3: {} + assertion-error@2.0.1: {} ast-types@0.13.4: @@ -4586,12 +5309,65 @@ snapshots: stubborn-fs: 1.2.5 when-exit: 2.1.4 + author-regex@1.0.0: {} + balanced-match@1.0.2: {} basic-ftp@5.0.5: {} before-after-hook@3.0.2: {} + bingo-fs@0.5.5: {} + + bingo-requests@0.5.5: + dependencies: + '@octokit/types': 13.10.0 + + bingo-stratum@0.5.11(bingo-fs@0.5.5)(bingo-systems@0.5.4)(bingo@0.5.15)(zod@3.24.2): + dependencies: + all-properties-lazy: 0.1.0 + bingo: 0.5.15 + bingo-fs: 0.5.5 + bingo-systems: 0.5.4 + cached-factory: 0.1.0 + chalk: 5.4.1 + hash-object: 5.0.1 + octokit: 4.1.2 + slugify: 1.6.6 + without-undefined-properties: 0.1.2 + zod: 3.24.2 + + bingo-systems@0.5.4: + dependencies: + bingo-fs: 0.5.5 + execa: 9.5.2 + get-github-auth-token: 0.1.2 + octokit: 4.1.2 + + bingo@0.5.15: + dependencies: + '@clack/prompts': 0.10.0 + all-properties-lazy: 0.1.0 + bingo-fs: 0.5.5 + bingo-requests: 0.5.5 + bingo-systems: 0.5.4 + cached-factory: 0.1.0 + call-id: 0.1.0 + chalk: 5.4.1 + get-github-auth-token: 0.1.2 + hash-object: 5.0.1 + hosted-git-info: 8.0.2 + new-github-repository: 0.2.1 + read-package-up: 11.0.0 + read-pkg: 9.0.1 + slugify: 1.6.6 + without-undefined-properties: 0.1.2 + zod: 3.24.2 + + boolbase@1.0.0: {} + + bottleneck@2.19.5: {} + boxen@8.0.1: dependencies: ansi-align: 3.0.1 @@ -4629,6 +5405,10 @@ snapshots: cac@6.7.14: {} + cached-factory@0.1.0: {} + + call-id@0.1.0: {} + callsites@3.1.0: {} camelcase@8.0.0: {} @@ -4670,6 +5450,25 @@ snapshots: check-error@2.1.1: {} + cheerio-select@2.1.0: + dependencies: + boolbase: 1.0.0 + css-select: 5.1.0 + css-what: 6.1.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + + cheerio@1.0.0-rc.12: + dependencies: + cheerio-select: 2.1.0 + dom-serializer: 2.0.0 + domhandler: 5.0.3 + domutils: 3.2.2 + htmlparser2: 8.0.2 + parse5: 7.2.1 + parse5-htmlparser2-tree-adapter: 7.1.0 + chokidar@4.0.3: dependencies: readdirp: 4.1.2 @@ -4828,13 +5627,6 @@ snapshots: conventional-commits-filter@5.0.0: {} - conventional-commits-parser@5.0.0: - dependencies: - JSONStream: 1.3.5 - is-text-path: 2.0.0 - meow: 12.1.1 - split2: 4.2.0 - conventional-commits-parser@6.1.0: dependencies: meow: 13.2.0 @@ -4858,64 +5650,106 @@ snapshots: optionalDependencies: typescript: 5.8.2 + create-typescript-app@2.40.0(bingo-systems@0.5.4)(typescript@5.8.2): + dependencies: + '@typescript-eslint/typescript-estree': 8.29.1(typescript@5.8.2) + bingo: 0.5.15 + bingo-fs: 0.5.5 + bingo-stratum: 0.5.11(bingo-fs@0.5.5)(bingo-systems@0.5.4)(bingo@0.5.15)(zod@3.24.2) + cached-factory: 0.1.0 + cspell-populate-words: 0.3.0 + execa: 9.5.2 + git-url-parse: 16.0.1 + github-default-labels: 0.1.0 + html-to-text: 9.0.5 + image-size: 1.2.1 + input-from-file: 0.5.4(bingo@0.5.15) + input-from-file-json: 0.5.4(bingo@0.5.15)(zod@3.24.2) + input-from-script: 0.5.4(bingo@0.5.15) + js-yaml: 4.1.0 + json5: 2.2.3 + lazy-value: 3.0.0 + lodash: 4.17.21 + marked: 15.0.7 + npm-user: 6.1.1 + object-strings-deep: 0.1.1 + parse-author: 2.0.0 + parse-package-name: 1.0.0 + remove-dependencies: 0.1.1 + remove-undefined-objects: 6.0.0 + semver: 7.7.1 + set-github-repository-labels: 0.2.2 + sort-keys: 5.1.0 + sort-package-json: 3.0.0 + title-case: 4.3.2 + trash-cli: 6.0.0 + zod: 3.24.2 + zod-package-json: 1.1.0 + zod-tsconfig: 0.2.0 + transitivePeerDependencies: + - bingo-systems + - supports-color + - typescript + cross-spawn@7.0.6: dependencies: path-key: 3.1.1 shebang-command: 2.0.0 which: 2.0.2 - cspell-config-lib@8.18.1: + cspell-config-lib@8.17.5: dependencies: - '@cspell/cspell-types': 8.18.1 + '@cspell/cspell-types': 8.17.5 comment-json: 4.2.5 yaml: 2.7.1 - cspell-dictionary@8.18.1: + cspell-dictionary@8.17.5: dependencies: - '@cspell/cspell-pipe': 8.18.1 - '@cspell/cspell-types': 8.18.1 - cspell-trie-lib: 8.18.1 + '@cspell/cspell-pipe': 8.17.5 + '@cspell/cspell-types': 8.17.5 + cspell-trie-lib: 8.17.5 fast-equals: 5.2.2 - cspell-gitignore@8.18.1: + cspell-gitignore@8.17.5: dependencies: - '@cspell/url': 8.18.1 - cspell-glob: 8.18.1 - cspell-io: 8.18.1 + '@cspell/url': 8.17.5 + cspell-glob: 8.17.5 + cspell-io: 8.17.5 + find-up-simple: 1.0.0 - cspell-glob@8.18.1: + cspell-glob@8.17.5: dependencies: - '@cspell/url': 8.18.1 + '@cspell/url': 8.17.5 micromatch: 4.0.8 - cspell-grammar@8.18.1: + cspell-grammar@8.17.5: dependencies: - '@cspell/cspell-pipe': 8.18.1 - '@cspell/cspell-types': 8.18.1 + '@cspell/cspell-pipe': 8.17.5 + '@cspell/cspell-types': 8.17.5 - cspell-io@8.18.1: + cspell-io@8.17.5: dependencies: - '@cspell/cspell-service-bus': 8.18.1 - '@cspell/url': 8.18.1 + '@cspell/cspell-service-bus': 8.17.5 + '@cspell/url': 8.17.5 - cspell-lib@8.18.1: + cspell-lib@8.17.5: dependencies: - '@cspell/cspell-bundled-dicts': 8.18.1 - '@cspell/cspell-pipe': 8.18.1 - '@cspell/cspell-resolver': 8.18.1 - '@cspell/cspell-types': 8.18.1 - '@cspell/dynamic-import': 8.18.1 - '@cspell/filetypes': 8.18.1 - '@cspell/strong-weak-map': 8.18.1 - '@cspell/url': 8.18.1 + '@cspell/cspell-bundled-dicts': 8.17.5 + '@cspell/cspell-pipe': 8.17.5 + '@cspell/cspell-resolver': 8.17.5 + '@cspell/cspell-types': 8.17.5 + '@cspell/dynamic-import': 8.17.5 + '@cspell/filetypes': 8.17.5 + '@cspell/strong-weak-map': 8.17.5 + '@cspell/url': 8.17.5 clear-module: 4.1.2 comment-json: 4.2.5 - cspell-config-lib: 8.18.1 - cspell-dictionary: 8.18.1 - cspell-glob: 8.18.1 - cspell-grammar: 8.18.1 - cspell-io: 8.18.1 - cspell-trie-lib: 8.18.1 + cspell-config-lib: 8.17.5 + cspell-dictionary: 8.17.5 + cspell-glob: 8.17.5 + cspell-grammar: 8.17.5 + cspell-io: 8.17.5 + cspell-trie-lib: 8.17.5 env-paths: 3.0.0 fast-equals: 5.2.2 gensequence: 7.0.0 @@ -4925,39 +5759,55 @@ snapshots: vscode-uri: 3.1.0 xdg-basedir: 5.1.0 - cspell-trie-lib@8.18.1: + cspell-populate-words@0.3.0: + dependencies: + cspell: 8.17.5 + + cspell-trie-lib@8.17.5: dependencies: - '@cspell/cspell-pipe': 8.18.1 - '@cspell/cspell-types': 8.18.1 + '@cspell/cspell-pipe': 8.17.5 + '@cspell/cspell-types': 8.17.5 gensequence: 7.0.0 - cspell@8.18.1: + cspell@8.17.5: dependencies: - '@cspell/cspell-json-reporter': 8.18.1 - '@cspell/cspell-pipe': 8.18.1 - '@cspell/cspell-types': 8.18.1 - '@cspell/dynamic-import': 8.18.1 - '@cspell/url': 8.18.1 + '@cspell/cspell-json-reporter': 8.17.5 + '@cspell/cspell-pipe': 8.17.5 + '@cspell/cspell-types': 8.17.5 + '@cspell/dynamic-import': 8.17.5 + '@cspell/url': 8.17.5 chalk: 5.4.1 chalk-template: 1.1.0 commander: 13.1.0 - cspell-dictionary: 8.18.1 - cspell-gitignore: 8.18.1 - cspell-glob: 8.18.1 - cspell-io: 8.18.1 - cspell-lib: 8.18.1 + cspell-dictionary: 8.17.5 + cspell-gitignore: 8.17.5 + cspell-glob: 8.17.5 + cspell-io: 8.17.5 + cspell-lib: 8.17.5 fast-json-stable-stringify: 2.1.0 file-entry-cache: 9.1.0 get-stdin: 9.0.0 semver: 7.7.1 tinyglobby: 0.2.12 + css-select@5.1.0: + dependencies: + boolbase: 1.0.0 + css-what: 6.1.0 + domhandler: 5.0.3 + domutils: 3.2.2 + nth-check: 2.1.1 + + css-what@6.1.0: {} + data-uri-to-buffer@6.0.2: {} debug@4.4.0: dependencies: ms: 2.1.3 + decircular@0.1.1: {} + decode-named-character-reference@1.0.2: dependencies: character-entities: 2.0.2 @@ -5006,6 +5856,28 @@ snapshots: diff-sequences@29.6.3: {} + dir-glob@2.2.2: + dependencies: + path-type: 3.0.0 + + dom-serializer@2.0.0: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + entities: 4.5.0 + + domelementtype@2.3.0: {} + + domhandler@5.0.3: + dependencies: + domelementtype: 2.3.0 + + domutils@3.2.2: + dependencies: + dom-serializer: 2.0.0 + domelementtype: 2.3.0 + domhandler: 5.0.3 + dot-prop@5.3.0: dependencies: is-obj: 2.0.0 @@ -5035,6 +5907,10 @@ snapshots: emoji-regex@9.2.2: {} + end-of-stream@1.4.4: + dependencies: + once: 1.4.0 + enhanced-resolve@5.18.1: dependencies: graceful-fs: 4.2.11 @@ -5096,19 +5972,19 @@ snapshots: optionalDependencies: source-map: 0.6.1 - eslint-compat-utils@0.5.1(eslint@9.23.0(jiti@2.4.2)): + eslint-compat-utils@0.5.1(eslint@9.22.0(jiti@2.4.2)): dependencies: - eslint: 9.23.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.4.2) semver: 7.7.1 - eslint-compat-utils@0.6.4(eslint@9.23.0(jiti@2.4.2)): + eslint-compat-utils@0.6.4(eslint@9.22.0(jiti@2.4.2)): dependencies: - eslint: 9.23.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.4.2) semver: 7.7.1 - eslint-doc-generator@2.1.2(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2): + eslint-doc-generator@2.1.2(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2): dependencies: - '@typescript-eslint/utils': 8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) + '@typescript-eslint/utils': 8.29.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) ajv: 8.17.1 change-case: 5.4.4 commander: 13.1.0 @@ -5116,7 +5992,7 @@ snapshots: deepmerge: 4.3.1 dot-prop: 9.0.0 editorconfig: 2.0.1 - eslint: 9.23.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.4.2) jest-diff: 29.7.0 json-schema: 0.4.0 json-schema-traverse: 1.0.0 @@ -5126,39 +6002,39 @@ snapshots: - supports-color - typescript - eslint-fix-utils@0.2.1(@types/estree@1.0.7)(eslint@9.23.0(jiti@2.4.2)): + eslint-fix-utils@0.2.1(@types/estree@1.0.7)(eslint@9.22.0(jiti@2.4.2)): dependencies: - eslint: 9.23.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.4.2) optionalDependencies: '@types/estree': 1.0.7 - eslint-json-compat-utils@0.2.1(eslint@9.23.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0): + eslint-json-compat-utils@0.2.1(eslint@9.22.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0): dependencies: - eslint: 9.23.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.4.2) esquery: 1.6.0 jsonc-eslint-parser: 2.4.0 - eslint-plugin-es-x@7.8.0(eslint@9.23.0(jiti@2.4.2)): + eslint-plugin-es-x@7.8.0(eslint@9.22.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.5.1(eslint@9.22.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.12.1 - eslint: 9.23.0(jiti@2.4.2) - eslint-compat-utils: 0.5.1(eslint@9.23.0(jiti@2.4.2)) + eslint: 9.22.0(jiti@2.4.2) + eslint-compat-utils: 0.5.1(eslint@9.22.0(jiti@2.4.2)) - eslint-plugin-eslint-plugin@6.4.0(eslint@9.23.0(jiti@2.4.2)): + eslint-plugin-eslint-plugin@6.4.0(eslint@9.22.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0(jiti@2.4.2)) - eslint: 9.23.0(jiti@2.4.2) + '@eslint-community/eslint-utils': 4.5.1(eslint@9.22.0(jiti@2.4.2)) + eslint: 9.22.0(jiti@2.4.2) estraverse: 5.3.0 - eslint-plugin-jsdoc@50.6.9(eslint@9.23.0(jiti@2.4.2)): + eslint-plugin-jsdoc@50.6.8(eslint@9.22.0(jiti@2.4.2)): dependencies: '@es-joy/jsdoccomment': 0.49.0 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.4.0 escape-string-regexp: 4.0.0 - eslint: 9.23.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.4.2) espree: 10.3.0 esquery: 1.6.0 parse-imports: 2.2.1 @@ -5168,13 +6044,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@2.19.1(eslint@9.23.0(jiti@2.4.2)): + eslint-plugin-jsonc@2.20.0(eslint@9.22.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0(jiti@2.4.2)) - eslint: 9.23.0(jiti@2.4.2) - eslint-compat-utils: 0.6.4(eslint@9.23.0(jiti@2.4.2)) - eslint-json-compat-utils: 0.2.1(eslint@9.23.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0) - espree: 9.6.1 + '@eslint-community/eslint-utils': 4.5.1(eslint@9.22.0(jiti@2.4.2)) + eslint: 9.22.0(jiti@2.4.2) + eslint-compat-utils: 0.6.4(eslint@9.22.0(jiti@2.4.2)) + eslint-json-compat-utils: 0.2.1(eslint@9.22.0(jiti@2.4.2))(jsonc-eslint-parser@2.4.0) + espree: 10.3.0 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.0 natural-compare: 1.4.0 @@ -5182,52 +6058,52 @@ snapshots: transitivePeerDependencies: - '@eslint/json' - eslint-plugin-markdown@5.1.0(eslint@9.23.0(jiti@2.4.2)): + eslint-plugin-markdown@5.1.0(eslint@9.22.0(jiti@2.4.2)): dependencies: - eslint: 9.23.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.4.2) mdast-util-from-markdown: 0.8.5 transitivePeerDependencies: - supports-color - eslint-plugin-n@17.16.2(eslint@9.23.0(jiti@2.4.2)): + eslint-plugin-n@17.16.2(eslint@9.22.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.5.1(eslint@9.22.0(jiti@2.4.2)) enhanced-resolve: 5.18.1 - eslint: 9.23.0(jiti@2.4.2) - eslint-plugin-es-x: 7.8.0(eslint@9.23.0(jiti@2.4.2)) + eslint: 9.22.0(jiti@2.4.2) + eslint-plugin-es-x: 7.8.0(eslint@9.22.0(jiti@2.4.2)) get-tsconfig: 4.10.0 globals: 15.15.0 ignore: 5.3.2 minimatch: 9.0.5 semver: 7.7.1 - eslint-plugin-perfectionist@4.10.1(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2): + eslint-plugin-perfectionist@4.11.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2): dependencies: - '@typescript-eslint/types': 8.29.0 - '@typescript-eslint/utils': 8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) - eslint: 9.23.0(jiti@2.4.2) + '@typescript-eslint/types': 8.29.1 + '@typescript-eslint/utils': 8.29.0(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) + eslint: 9.22.0(jiti@2.4.2) natural-orderby: 5.0.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-regexp@2.7.0(eslint@9.23.0(jiti@2.4.2)): + eslint-plugin-regexp@2.7.0(eslint@9.22.0(jiti@2.4.2)): dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.5.1(eslint@9.22.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.12.1 comment-parser: 1.4.1 - eslint: 9.23.0(jiti@2.4.2) + eslint: 9.22.0(jiti@2.4.2) jsdoc-type-pratt-parser: 4.1.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-yml@1.17.0(eslint@9.23.0(jiti@2.4.2)): + eslint-plugin-yml@1.17.0(eslint@9.22.0(jiti@2.4.2)): dependencies: debug: 4.4.0 escape-string-regexp: 4.0.0 - eslint: 9.23.0(jiti@2.4.2) - eslint-compat-utils: 0.6.4(eslint@9.23.0(jiti@2.4.2)) + eslint: 9.22.0(jiti@2.4.2) + eslint-compat-utils: 0.6.4(eslint@9.22.0(jiti@2.4.2)) natural-compare: 1.4.0 yaml-eslint-parser: 1.2.3 transitivePeerDependencies: @@ -5242,15 +6118,15 @@ snapshots: eslint-visitor-keys@4.2.0: {} - eslint@9.23.0(jiti@2.4.2): + eslint@9.22.0(jiti@2.4.2): dependencies: - '@eslint-community/eslint-utils': 4.5.1(eslint@9.23.0(jiti@2.4.2)) + '@eslint-community/eslint-utils': 4.5.1(eslint@9.22.0(jiti@2.4.2)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.19.2 - '@eslint/config-helpers': 0.2.0 + '@eslint/config-helpers': 0.1.0 '@eslint/core': 0.12.0 '@eslint/eslintrc': 3.3.1 - '@eslint/js': 9.23.0 + '@eslint/js': 9.22.0 '@eslint/plugin-kit': 0.2.7 '@humanfs/node': 0.16.6 '@humanwhocodes/module-importer': 1.0.1 @@ -5316,6 +6192,18 @@ snapshots: eventemitter3@5.0.1: {} + execa@2.1.0: + dependencies: + cross-spawn: 7.0.6 + get-stream: 5.2.0 + is-stream: 2.0.1 + merge-stream: 2.0.0 + npm-run-path: 3.1.0 + onetime: 5.1.2 + p-finally: 2.0.1 + signal-exit: 3.0.7 + strip-final-newline: 2.0.0 + execa@8.0.1: dependencies: cross-spawn: 7.0.6 @@ -5432,8 +6320,14 @@ snapshots: get-east-asian-width@1.3.0: {} + get-github-auth-token@0.1.2: {} + get-stdin@9.0.0: {} + get-stream@5.2.0: + dependencies: + pump: 3.0.2 + get-stream@8.0.1: {} get-stream@9.0.1: @@ -5480,6 +6374,12 @@ snapshots: dependencies: git-up: 8.0.0 + git-url-parse@16.0.1: + dependencies: + git-up: 8.0.0 + + github-default-labels@0.1.0: {} + glob-parent@5.1.2: dependencies: is-glob: 4.0.3 @@ -5525,6 +6425,15 @@ snapshots: slash: 5.1.0 unicorn-magic: 0.1.0 + globby@7.1.1: + dependencies: + array-union: 1.0.2 + dir-glob: 2.2.2 + glob: 7.2.3 + ignore: 3.3.10 + pify: 3.0.0 + slash: 1.0.0 + graceful-fs@4.2.10: {} graceful-fs@4.2.11: {} @@ -5544,6 +6453,13 @@ snapshots: has-own-prop@2.0.0: {} + hash-object@5.0.1: + dependencies: + decircular: 0.1.1 + is-obj: 3.0.0 + sort-keys: 5.1.0 + type-fest: 4.37.0 + hasown@2.0.2: dependencies: function-bind: 1.1.2 @@ -5552,8 +6468,27 @@ snapshots: dependencies: lru-cache: 10.4.3 + hosted-git-info@8.0.2: + dependencies: + lru-cache: 10.4.3 + html-escaper@2.0.2: {} + html-to-text@9.0.5: + dependencies: + '@selderee/plugin-htmlparser2': 0.11.0 + deepmerge: 4.3.1 + dom-serializer: 2.0.0 + htmlparser2: 8.0.2 + selderee: 0.11.0 + + htmlparser2@8.0.2: + dependencies: + domelementtype: 2.3.0 + domhandler: 5.0.3 + domutils: 3.2.2 + entities: 4.5.0 + http-proxy-agent@7.0.2: dependencies: agent-base: 7.1.3 @@ -5578,10 +6513,16 @@ snapshots: dependencies: safer-buffer: 2.1.2 + ignore@3.3.10: {} + ignore@5.3.2: {} ignore@7.0.3: {} + image-size@1.2.1: + dependencies: + queue: 6.0.2 + import-fresh@3.3.1: dependencies: parent-module: 1.0.1 @@ -5606,12 +6547,28 @@ snapshots: ini@4.1.1: {} - inquirer@12.3.0(@types/node@22.13.14): + input-from-file-json@0.5.4(bingo@0.5.15)(zod@3.24.2): dependencies: - '@inquirer/core': 10.1.5(@types/node@22.13.14) - '@inquirer/prompts': 7.2.4(@types/node@22.13.14) - '@inquirer/type': 3.0.3(@types/node@22.13.14) - '@types/node': 22.13.14 + bingo: 0.5.15 + input-from-file: 0.5.4(bingo@0.5.15) + zod: 3.24.2 + + input-from-file@0.5.4(bingo@0.5.15): + dependencies: + bingo: 0.5.15 + zod: 3.24.2 + + input-from-script@0.5.4(bingo@0.5.15): + dependencies: + bingo: 0.5.15 + zod: 3.24.2 + + inquirer@12.3.0(@types/node@22.13.10): + dependencies: + '@inquirer/core': 10.1.5(@types/node@22.13.10) + '@inquirer/prompts': 7.2.4(@types/node@22.13.10) + '@inquirer/type': 3.0.3(@types/node@22.13.10) + '@types/node': 22.13.10 ansi-escapes: 4.3.2 mute-stream: 2.0.0 run-async: 3.0.0 @@ -5687,6 +6644,8 @@ snapshots: is-obj@2.0.0: {} + is-obj@3.0.0: {} + is-path-inside@4.0.0: {} is-plain-obj@4.1.0: {} @@ -5695,14 +6654,12 @@ snapshots: dependencies: protocols: 2.0.1 + is-stream@2.0.1: {} + is-stream@3.0.0: {} is-stream@4.0.1: {} - is-text-path@2.0.0: - dependencies: - text-extensions: 2.4.0 - is-unicode-supported@1.3.0: {} is-unicode-supported@2.1.0: {} @@ -5785,6 +6742,8 @@ snapshots: json-stable-stringify-without-jsonify@1.0.1: {} + json5@2.2.3: {} + jsonc-eslint-parser@2.4.0: dependencies: acorn: 8.14.1 @@ -5794,8 +6753,6 @@ snapshots: jsonc-parser@3.3.1: {} - jsonparse@1.3.1: {} - jsonpointer@5.0.1: {} katex@0.16.19: @@ -5806,11 +6763,11 @@ snapshots: dependencies: json-buffer: 3.0.1 - knip@5.46.4(@types/node@22.13.14)(typescript@5.8.2): + knip@5.46.0(@types/node@22.13.10)(typescript@5.8.2): dependencies: '@nodelib/fs.walk': 3.0.1 '@snyk/github-codeowners': 1.1.0 - '@types/node': 22.13.14 + '@types/node': 22.13.10 easy-table: 1.2.0 enhanced-resolve: 5.18.1 fast-glob: 3.3.3 @@ -5833,6 +6790,10 @@ snapshots: dependencies: package-json: 10.0.1 + lazy-value@3.0.0: {} + + leac@0.6.0: {} + levn@0.4.1: dependencies: prelude-ls: 1.2.1 @@ -5953,6 +6914,8 @@ snapshots: transitivePeerDependencies: - supports-color + markdownlint-rule-helpers@0.28.0: {} + markdownlint@0.37.4: dependencies: markdown-it: 14.1.0 @@ -5967,6 +6930,8 @@ snapshots: transitivePeerDependencies: - supports-color + marked@15.0.7: {} + mdast-util-from-markdown@0.8.5: dependencies: '@types/mdast': 3.0.15 @@ -5981,8 +6946,6 @@ snapshots: mdurl@2.0.0: {} - meow@12.1.1: {} - meow@13.2.0: {} merge-stream@2.0.0: {} @@ -6179,6 +7142,8 @@ snapshots: dependencies: mime-db: 1.52.0 + mimic-fn@2.1.0: {} + mimic-fn@4.0.0: {} mimic-function@5.0.1: {} @@ -6199,10 +7164,22 @@ snapshots: minipass@7.1.2: {} + mount-point@3.0.0: + dependencies: + '@sindresorhus/df': 1.0.1 + pify: 2.3.0 + pinkie-promise: 2.0.1 + + move-file@3.1.0: + dependencies: + path-exists: 5.0.0 + ms@2.1.3: {} mute-stream@2.0.0: {} + mvdan-sh@0.10.1: {} + mz@2.7.0: dependencies: any-promise: 1.3.0 @@ -6223,12 +7200,26 @@ snapshots: dependencies: type-fest: 2.19.0 + new-github-repository@0.2.1: + dependencies: + '@octokit/openapi-types': 24.2.0 + octokit: 4.1.2 + octokit-from-auth: 0.3.1 + normalize-package-data@6.0.2: dependencies: hosted-git-info: 7.0.2 semver: 7.7.1 validate-npm-package-license: 3.0.4 + npm-email@5.1.0: + dependencies: + ky: 1.7.4 + + npm-run-path@3.1.0: + dependencies: + path-key: 3.1.1 + npm-run-path@5.3.0: dependencies: path-key: 4.0.0 @@ -6238,12 +7229,46 @@ snapshots: path-key: 4.0.0 unicorn-magic: 0.3.0 + npm-user@6.1.1: + dependencies: + cheerio: 1.0.0-rc.12 + ky: 1.7.4 + npm-email: 5.1.0 + + nth-check@2.1.1: + dependencies: + boolbase: 1.0.0 + object-assign@4.1.1: {} + object-strings-deep@0.1.1: {} + + octokit-from-auth@0.3.1: + dependencies: + get-github-auth-token: 0.1.2 + octokit: 4.1.2 + + octokit@4.1.2: + dependencies: + '@octokit/app': 15.1.5 + '@octokit/core': 6.1.4 + '@octokit/oauth-app': 7.1.6 + '@octokit/plugin-paginate-graphql': 5.2.4(@octokit/core@6.1.4) + '@octokit/plugin-paginate-rest': 11.6.0(@octokit/core@6.1.4) + '@octokit/plugin-rest-endpoint-methods': 13.5.0(@octokit/core@6.1.4) + '@octokit/plugin-retry': 7.2.0(@octokit/core@6.1.4) + '@octokit/plugin-throttling': 9.6.1(@octokit/core@6.1.4) + '@octokit/request-error': 6.1.7 + '@octokit/types': 13.10.0 + once@1.4.0: dependencies: wrappy: 1.0.2 + onetime@5.1.2: + dependencies: + mimic-fn: 2.1.0 + onetime@6.0.0: dependencies: mimic-fn: 4.0.0 @@ -6280,6 +7305,8 @@ snapshots: string-width: 7.2.0 strip-ansi: 7.1.0 + os-homedir@1.0.2: {} + os-name@6.0.0: dependencies: macos-release: 3.3.0 @@ -6287,6 +7314,8 @@ snapshots: os-tmpdir@1.0.2: {} + p-finally@2.0.1: {} + p-limit@3.1.0: dependencies: yocto-queue: 0.1.0 @@ -6299,6 +7328,8 @@ snapshots: dependencies: aggregate-error: 3.1.0 + p-map@7.0.3: {} + pac-proxy-agent@7.1.0: dependencies: '@tootallnate/quickjs-emscripten': 0.23.0 @@ -6338,6 +7369,10 @@ snapshots: dependencies: callsites: 3.1.0 + parse-author@2.0.0: + dependencies: + author-regex: 1.0.0 + parse-entities@2.0.0: dependencies: character-entities: 1.2.4 @@ -6377,6 +7412,8 @@ snapshots: parse-ms@4.0.0: {} + parse-package-name@1.0.0: {} + parse-path@7.0.0: dependencies: protocols: 2.0.1 @@ -6386,8 +7423,24 @@ snapshots: '@types/parse-path': 7.0.3 parse-path: 7.0.0 + parse5-htmlparser2-tree-adapter@7.1.0: + dependencies: + domhandler: 5.0.3 + parse5: 7.2.1 + + parse5@7.2.1: + dependencies: + entities: 4.5.0 + + parseley@0.12.1: + dependencies: + leac: 0.6.0 + peberminta: 0.9.0 + path-exists@4.0.0: {} + path-exists@5.0.0: {} + path-is-absolute@1.0.1: {} path-key@3.1.1: {} @@ -6401,12 +7454,18 @@ snapshots: lru-cache: 10.4.3 minipass: 7.1.2 + path-type@3.0.0: + dependencies: + pify: 3.0.0 + path-type@5.0.0: {} pathe@2.0.3: {} pathval@2.0.0: {} + peberminta@0.9.0: {} + picocolors@1.1.1: {} picomatch@2.3.1: {} @@ -6415,6 +7474,16 @@ snapshots: pidtree@0.6.0: {} + pify@2.3.0: {} + + pify@3.0.0: {} + + pinkie-promise@2.0.1: + dependencies: + pinkie: 2.0.4 + + pinkie@2.0.4: {} + pirates@4.0.6: {} postcss-load-config@6.0.1(jiti@2.4.2)(postcss@8.5.3)(yaml@2.7.1): @@ -6433,23 +7502,29 @@ snapshots: prelude-ls@1.2.1: {} - prettier-plugin-curly@0.3.1(prettier@3.3.3): + prettier-plugin-curly@0.3.1(prettier@3.5.3): dependencies: '@babel/generator': 7.25.7 '@babel/parser': 7.27.0 '@babel/traverse': 7.25.7 - prettier: 3.3.3 + prettier: 3.5.3 transitivePeerDependencies: - supports-color - prettier-plugin-packagejson@2.5.10(prettier@3.3.3): + prettier-plugin-packagejson@2.5.10(prettier@3.5.3): dependencies: sort-package-json: 2.15.1 synckit: 0.9.2 optionalDependencies: - prettier: 3.3.3 + prettier: 3.5.3 + + prettier-plugin-sh@0.15.0(prettier@3.5.3): + dependencies: + mvdan-sh: 0.10.1 + prettier: 3.5.3 + sh-syntax: 0.4.2 - prettier@3.3.3: {} + prettier@3.5.3: {} pretty-format@29.7.0: dependencies: @@ -6480,6 +7555,11 @@ snapshots: proxy-from-env@1.1.0: {} + pump@3.0.2: + dependencies: + end-of-stream: 1.4.4 + once: 1.4.0 + punycode.js@2.3.1: {} punycode@2.3.1: {} @@ -6490,6 +7570,10 @@ snapshots: queue-microtask@1.2.3: {} + queue@6.0.2: + dependencies: + inherits: 2.0.4 + rc@1.2.8: dependencies: deep-extend: 0.6.0 @@ -6542,7 +7626,7 @@ snapshots: dependencies: rc: 1.2.8 - release-it@18.1.2(@types/node@22.13.14)(typescript@5.8.2): + release-it@18.1.2(@types/node@22.13.10)(typescript@5.8.2): dependencies: '@iarna/toml': 2.2.5 '@octokit/rest': 21.0.2 @@ -6553,7 +7637,7 @@ snapshots: execa: 9.5.2 git-url-parse: 16.0.0 globby: 14.0.2 - inquirer: 12.3.0(@types/node@22.13.14) + inquirer: 12.3.0(@types/node@22.13.10) issue-parser: 7.0.1 lodash: 4.17.21 mime-types: 2.1.35 @@ -6574,6 +7658,10 @@ snapshots: - supports-color - typescript + remove-dependencies@0.1.1: {} + + remove-undefined-objects@6.0.0: {} + repeat-string@1.6.1: {} require-directory@2.1.1: {} @@ -6658,10 +7746,28 @@ snapshots: refa: 0.12.1 regexp-ast-analysis: 0.7.1 + selderee@0.11.0: + dependencies: + parseley: 0.12.1 + semver@7.6.3: {} semver@7.7.1: {} + sentences-per-line@0.3.0: + dependencies: + markdownlint-rule-helpers: 0.28.0 + + set-github-repository-labels@0.2.2: + dependencies: + octokit-from-auth: 0.3.1 + throttled-queue: 2.1.4 + zod: 3.24.2 + + sh-syntax@0.4.2: + dependencies: + tslib: 2.8.1 + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 @@ -6674,15 +7780,16 @@ snapshots: interpret: 1.4.0 rechoir: 0.6.2 - should-semantic-release@0.3.1: - dependencies: - '@pkgjs/parseargs': 0.11.0 - conventional-commits-parser: 5.0.0 - siginfo@2.0.0: {} + signal-exit@3.0.7: {} + signal-exit@4.1.0: {} + sisteransi@1.0.5: {} + + slash@1.0.0: {} + slash@5.1.0: {} slashes@3.0.12: {} @@ -6697,6 +7804,8 @@ snapshots: ansi-styles: 6.2.1 is-fullwidth-code-point: 5.0.0 + slugify@1.6.6: {} + smart-buffer@4.2.0: {} smol-toml@1.3.1: {} @@ -6714,6 +7823,10 @@ snapshots: ip-address: 9.0.5 smart-buffer: 4.2.0 + sort-keys@5.1.0: + dependencies: + is-plain-obj: 4.1.0 + sort-object-keys@1.1.3: {} sort-package-json@2.15.1: @@ -6765,8 +7878,6 @@ snapshots: spdx-license-ids@3.0.21: {} - split2@4.2.0: {} - sprintf-js@1.1.3: {} stackback@0.0.2: {} @@ -6807,6 +7918,8 @@ snapshots: dependencies: ansi-regex: 6.1.0 + strip-final-newline@2.0.0: {} + strip-final-newline@3.0.0: {} strip-final-newline@4.0.0: {} @@ -6854,8 +7967,6 @@ snapshots: glob: 10.4.5 minimatch: 9.0.5 - text-extensions@2.4.0: {} - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -6864,7 +7975,7 @@ snapshots: dependencies: any-promise: 1.3.0 - through@2.3.8: {} + throttled-queue@2.1.4: {} tinybench@2.9.0: {} @@ -6881,6 +7992,8 @@ snapshots: tinyspy@3.0.2: {} + title-case@4.3.2: {} + tmp@0.0.33: dependencies: os-tmpdir: 1.0.2 @@ -6889,10 +8002,27 @@ snapshots: dependencies: is-number: 7.0.0 + toad-cache@3.7.0: {} + tr46@1.0.1: dependencies: punycode: 2.3.1 + trash-cli@6.0.0: + dependencies: + meow: 13.2.0 + trash: 9.0.0 + + trash@9.0.0: + dependencies: + '@sindresorhus/chunkify': 1.0.0 + '@stroncium/procfs': 1.2.1 + globby: 7.1.1 + is-path-inside: 4.0.0 + move-file: 3.1.0 + p-map: 7.0.3 + xdg-trashdir: 3.1.0 + tree-kill@1.2.2: {} ts-api-utils@2.1.0(typescript@5.8.2): @@ -6942,12 +8072,12 @@ snapshots: typedarray@0.0.6: {} - typescript-eslint@8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2): + typescript-eslint@8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2): dependencies: - '@typescript-eslint/eslint-plugin': 8.29.0(@typescript-eslint/parser@8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) - '@typescript-eslint/parser': 8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) - '@typescript-eslint/utils': 8.29.0(eslint@9.23.0(jiti@2.4.2))(typescript@5.8.2) - eslint: 9.23.0(jiti@2.4.2) + '@typescript-eslint/eslint-plugin': 8.26.1(@typescript-eslint/parser@8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2))(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) + '@typescript-eslint/parser': 8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) + '@typescript-eslint/utils': 8.26.1(eslint@9.22.0(jiti@2.4.2))(typescript@5.8.2) + eslint: 9.22.0(jiti@2.4.2) typescript: 5.8.2 transitivePeerDependencies: - supports-color @@ -6971,6 +8101,8 @@ snapshots: dependencies: '@types/unist': 2.0.11 + universal-github-app-jwt@2.2.2: {} + universal-user-agent@7.0.2: {} update-notifier@7.3.1: @@ -6992,6 +8124,10 @@ snapshots: url-join@5.0.0: {} + user-home@2.0.0: + dependencies: + os-homedir: 1.0.2 + util-deprecate@1.0.2: {} validate-npm-package-license@3.0.4: @@ -7001,13 +8137,13 @@ snapshots: validate-npm-package-name@6.0.0: {} - vite-node@3.1.1(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.7.1): + vite-node@3.0.9(@types/node@22.13.10)(jiti@2.4.2)(yaml@2.7.1): dependencies: cac: 6.7.14 debug: 4.4.0 es-module-lexer: 1.6.0 pathe: 2.0.3 - vite: 6.2.5(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.7.1) + vite: 6.2.5(@types/node@22.13.10)(jiti@2.4.2)(yaml@2.7.1) transitivePeerDependencies: - '@types/node' - jiti @@ -7022,26 +8158,26 @@ snapshots: - tsx - yaml - vite@6.2.5(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.7.1): + vite@6.2.5(@types/node@22.13.10)(jiti@2.4.2)(yaml@2.7.1): dependencies: esbuild: 0.25.2 postcss: 8.5.3 rollup: 4.39.0 optionalDependencies: - '@types/node': 22.13.14 + '@types/node': 22.13.10 fsevents: 2.3.3 jiti: 2.4.2 yaml: 2.7.1 - vitest@3.1.1(@types/debug@4.1.12)(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.7.1): + vitest@3.0.9(@types/debug@4.1.12)(@types/node@22.13.10)(jiti@2.4.2)(yaml@2.7.1): dependencies: - '@vitest/expect': 3.1.1 - '@vitest/mocker': 3.1.1(vite@6.2.5(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.7.1)) + '@vitest/expect': 3.0.9 + '@vitest/mocker': 3.0.9(vite@6.2.5(@types/node@22.13.10)(jiti@2.4.2)(yaml@2.7.1)) '@vitest/pretty-format': 3.1.1 - '@vitest/runner': 3.1.1 - '@vitest/snapshot': 3.1.1 - '@vitest/spy': 3.1.1 - '@vitest/utils': 3.1.1 + '@vitest/runner': 3.0.9 + '@vitest/snapshot': 3.0.9 + '@vitest/spy': 3.0.9 + '@vitest/utils': 3.0.9 chai: 5.2.0 debug: 4.4.0 expect-type: 1.2.1 @@ -7052,12 +8188,12 @@ snapshots: tinyexec: 0.3.2 tinypool: 1.0.2 tinyrainbow: 2.0.0 - vite: 6.2.5(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.7.1) - vite-node: 3.1.1(@types/node@22.13.14)(jiti@2.4.2)(yaml@2.7.1) + vite: 6.2.5(@types/node@22.13.10)(jiti@2.4.2)(yaml@2.7.1) + vite-node: 3.0.9(@types/node@22.13.10)(jiti@2.4.2)(yaml@2.7.1) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 22.13.14 + '@types/node': 22.13.10 transitivePeerDependencies: - jiti - less @@ -7110,6 +8246,8 @@ snapshots: dependencies: execa: 8.0.1 + without-undefined-properties@0.1.2: {} + word-wrap@1.2.5: {} wordwrap@1.0.0: {} @@ -7140,8 +8278,17 @@ snapshots: wrappy@1.0.2: {} + xdg-basedir@4.0.0: {} + xdg-basedir@5.1.0: {} + xdg-trashdir@3.1.0: + dependencies: + '@sindresorhus/df': 3.1.1 + mount-point: 3.0.0 + user-home: 2.0.0 + xdg-basedir: 4.0.0 + y18n@5.0.8: {} yaml-eslint-parser@1.2.3: @@ -7170,6 +8317,14 @@ snapshots: yoctocolors@2.1.1: {} + zod-package-json@1.1.0: + dependencies: + zod: 3.24.2 + + zod-tsconfig@0.2.0: + dependencies: + zod: 3.24.2 + zod-validation-error@3.4.0(zod@3.24.2): dependencies: zod: 3.24.2 diff --git a/src/rules/no-redundant-files.ts b/src/rules/no-redundant-files.ts index be4bab3d..ba4455cc 100644 --- a/src/rules/no-redundant-files.ts +++ b/src/rules/no-redundant-files.ts @@ -38,9 +38,6 @@ export const rule = createRule({ main?: string; } = { bin: [], files: [] }; - /** - * Report rule violations - */ const report = ( elements: (JsonAST.JSONExpression | null)[], index: number, diff --git a/src/rules/valid-repository-directory.ts b/src/rules/valid-repository-directory.ts index 02f2dd24..dbba0a00 100644 --- a/src/rules/valid-repository-directory.ts +++ b/src/rules/valid-repository-directory.ts @@ -8,12 +8,11 @@ import { createRule } from "../createRule.js"; import { findPropertyWithKeyValue } from "../utils/findPropertyWithKeyValue.js"; /** - * Checks if the child path appears at the end of the parent path. e.g. - * - * '/a/b/c', 'c' => true - * '/a/b/c', 'b/c' => true - * '/a/b/c', 'b' => false - * '/a/b/c', 'd' => false + * Checks if the child path appears at the end of the parent path. + * @example '/a/b/c', 'c' => true + * @example '/a/b/c', 'b/c' => true + * @example '/a/b/c', 'b' => false + * @example '/a/b/c', 'd' => false */ function pathEndsWith(parent: string, child: string): boolean { const segments = parent.split(path.sep); diff --git a/src/tests/globalSetup.js b/src/tests/globalSetup.js deleted file mode 100644 index 527e135f..00000000 --- a/src/tests/globalSetup.js +++ /dev/null @@ -1,7 +0,0 @@ -import { RuleTester } from "eslint"; -import * as vitest from "vitest"; - -RuleTester.afterAll = vitest.afterAll; -RuleTester.describe = vitest.describe; -RuleTester.it = vitest.it; -RuleTester.itOnly = vitest.it.only; diff --git a/src/tests/rules/ruleTester.ts b/src/tests/rules/ruleTester.ts index d1faab20..71bdc574 100644 --- a/src/tests/rules/ruleTester.ts +++ b/src/tests/rules/ruleTester.ts @@ -1,4 +1,6 @@ import { RuleTester } from "eslint"; +import jsoncESLintParser from "jsonc-eslint-parser"; +import * as vitest from "vitest"; import type { PackageJsonRuleModule } from "../../createRule.js"; @@ -15,7 +17,9 @@ export type JsonRuleTesterRun = ( }, ) => void; -import jsoncESLintParser from "jsonc-eslint-parser"; +RuleTester.describe = vitest.describe; +RuleTester.it = vitest.it; +RuleTester.itOnly = vitest.it.only; export const ruleTester = new RuleTester({ languageOptions: { parser: jsoncESLintParser }, diff --git a/tsconfig.json b/tsconfig.json index bb0dbf7c..b8165ac4 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -6,10 +6,8 @@ "module": "ESNext", "moduleResolution": "Bundler", "noEmit": true, - "outDir": "lib", "resolveJsonModule": true, "skipLibCheck": true, - "sourceMap": true, "strict": true, "target": "ES2021" }, diff --git a/tsup.config.ts b/tsup.config.ts index 6624b1d4..6d69ae7d 100644 --- a/tsup.config.ts +++ b/tsup.config.ts @@ -7,5 +7,4 @@ export default defineConfig({ entry: ["src/**/*.ts", "!src/**/*.test.*"], format: ["cjs", "esm"], outDir: "lib", - sourcemap: true, }); diff --git a/vitest.config.ts b/vitest.config.ts index 4f843eae..01add164 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -5,11 +5,11 @@ export default defineConfig({ clearMocks: true, coverage: { all: true, - exclude: ["lib"], + exclude: ["lib", "src/index.ts", "src/rules/index.ts"], include: ["src"], reporter: ["html", "lcov"], }, exclude: ["lib", "node_modules"], - setupFiles: ["console-fail-test/setup", "./src/tests/globalSetup.js"], + setupFiles: ["console-fail-test/setup"], }, });