diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 2ba6cc84db..f665669614 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -81,12 +81,29 @@ jobs: echo "frozen=true" >> "$GITHUB_OUTPUT" fi - - uses: googleapis/release-please-action@5c625bfb5d1ff62eadeeb3772007f7f66fdcf071 # v4.4.1 + - name: Check out proposal controller and complete Git history + if: steps.editorial.outputs.frozen != 'true' + uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 + with: + fetch-depth: 0 + persist-credentials: false + + - uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0 if: steps.editorial.outputs.frozen != 'true' with: - token: ${{ secrets.RELEASE_PLEASE_TOKEN || secrets.GITHUB_TOKEN }} - target-branch: main - skip-github-release: true + node-version-file: .nvmrc + package-manager-cache: false + + - name: Install proposal controller dependencies + if: steps.editorial.outputs.frozen != 'true' + run: npm ci + + - name: Update release proposal + if: steps.editorial.outputs.frozen != 'true' + env: + GH_TOKEN: ${{ secrets.RELEASE_PLEASE_TOKEN || secrets.GITHUB_TOKEN }} + SOURCE_SHA: ${{ github.sha }} + run: node scripts/release-proposal.mjs --target-branch main --source-sha "$SOURCE_SHA" merged-release: name: Release reviewed main merge @@ -259,15 +276,25 @@ jobs: node scripts/release-notes.mjs publication --repository "$GH_REPO" \ --source "$SOURCE_SHA" - - uses: googleapis/release-please-action@5c625bfb5d1ff62eadeeb3772007f7f66fdcf071 # v4.4.1 - id: release - with: + - name: Prepare checkpoint release proposal + if: inputs.phase == 'prepare' + id: proposal + env: # A dedicated credential starts PR CI automatically; the built-in # token creates approval-required PR runs for maintainers to approve. + GH_TOKEN: ${{ secrets.RELEASE_PLEASE_TOKEN || secrets.GITHUB_TOKEN }} + RELEASE_BRANCH: ${{ inputs.release_branch }} + SOURCE_SHA: ${{ steps.branch.outputs.sha }} + run: node scripts/release-proposal.mjs --target-branch "$RELEASE_BRANCH" --source-sha "$SOURCE_SHA" + + - uses: googleapis/release-please-action@5c625bfb5d1ff62eadeeb3772007f7f66fdcf071 # v4.4.1 + if: inputs.phase == 'publish' + id: release + with: token: ${{ secrets.RELEASE_PLEASE_TOKEN || secrets.GITHUB_TOKEN }} target-branch: ${{ inputs.release_branch }} - skip-github-release: ${{ inputs.phase == 'prepare' }} - skip-github-pull-request: ${{ inputs.phase == 'publish' }} + skip-github-release: false + skip-github-pull-request: true - name: Require a merged release PR for publication if: inputs.phase == 'publish' && steps.release.outputs.release_created != 'true' @@ -287,26 +314,26 @@ jobs: fi - name: Check out release pull request - if: inputs.phase == 'prepare' && steps.release.outputs.prs_created == 'true' + if: inputs.phase == 'prepare' && steps.proposal.outputs.prs_created == 'true' uses: actions/checkout@d23441a48e516b6c34aea4fa41551a30e30af803 # v6.1.0 with: - ref: ${{ fromJSON(steps.release.outputs.pr).headBranchName }} + ref: ${{ fromJSON(steps.proposal.outputs.pr).headBranchName }} fetch-depth: 0 persist-credentials: false - name: Set up Node.js for generated documentation - if: inputs.phase == 'prepare' && steps.release.outputs.prs_created == 'true' + if: inputs.phase == 'prepare' && steps.proposal.outputs.prs_created == 'true' uses: actions/setup-node@249970729cb0ef3589644e2896645e5dc5ba9c38 # v6.5.0 with: node-version-file: .nvmrc package-manager-cache: false - name: Install dependencies - if: inputs.phase == 'prepare' && steps.release.outputs.prs_created == 'true' + if: inputs.phase == 'prepare' && steps.proposal.outputs.prs_created == 'true' run: npm ci - name: Validate prepared release version and migration notes - if: inputs.phase == 'prepare' && steps.release.outputs.prs_created == 'true' + if: inputs.phase == 'prepare' && steps.proposal.outputs.prs_created == 'true' env: RELEASE_BRANCH: ${{ inputs.release_branch }} SOURCE_SHA: ${{ steps.branch.outputs.sha }} @@ -316,11 +343,11 @@ jobs: --source-sha "$SOURCE_SHA" - name: Regenerate release documentation - if: inputs.phase == 'prepare' && steps.release.outputs.prs_created == 'true' + if: inputs.phase == 'prepare' && steps.proposal.outputs.prs_created == 'true' run: npm run docs:generate - name: Validate generated release documentation - if: inputs.phase == 'prepare' && steps.release.outputs.prs_created == 'true' + if: inputs.phase == 'prepare' && steps.proposal.outputs.prs_created == 'true' run: npm run docs:check && git diff --exit-code qualification: diff --git a/docs/releasing.md b/docs/releasing.md index 44081875bb..72b51e5cb4 100644 --- a/docs/releasing.md +++ b/docs/releasing.md @@ -90,6 +90,23 @@ releases are outside this recovery path. For a release that needs an independently frozen application checkpoint, use the optional manual path below. It retains explicit prepare and publish phases. +Automatic main proposals and manual checkpoint preparation use +`scripts/release-proposal.mjs` with the pinned release-please dependency. +The controller applies `patches/release-please+17.3.0.patch` only when invoked; +normal dependency installation and published-package installation do not apply it. +The patch avoids commit-file backfills and path splitting for a single root Node +package with the default changelog, default or always-bump-minor versioning, +no path exclusions and no explicit plugins. Other configurations retain the +upstream file attribution workflow. Associated PR metadata and commit overrides +still come from GitHub. The controller sizes commit search from the complete +selected Git history, and a missing known release boundary fails before proposal +creation. Publication continues through the pinned release-please action. + +When upgrading release-please, review the upstream manifest implementation, +refresh the versioned patch and run the release proposal and workflow boundary +tests. Version mismatch or a patch that neither applies cleanly nor matches an +already-applied patch fails closed. + ## Contributor-aware release notes Use [the rea-changelog-update skill](https://github.com/morluto/rea/blob/main/.agents/skills/rea-changelog-update/SKILL.md) diff --git a/licenses/npm-dependencies.txt b/licenses/npm-dependencies.txt index 4a252cee4a..aaf5608cba 100644 --- a/licenses/npm-dependencies.txt +++ b/licenses/npm-dependencies.txt @@ -2,7 +2,7 @@ REA npm dependency inventory Prepared from the root package-lock.json; refresh this inventory when locked dependencies change. License identifiers are upstream lockfile declarations, not a legal assessment. Runtime includes transitive and optional platform packages; development includes build, test and website tooling. -Locked package entries: 775; runtime: 180. +Locked package entries: 956; runtime: 180. Full runtime copyright/license/NOTICE texts: npm-runtime-notices.txt. @algolia/abtesting@1.25.0 | development | MIT @@ -355,6 +355,31 @@ obug@3.0.0 | development | MIT Package: https://www.npmjs.com/package/@clack/prompts/v/1.7.0 Archive: https://registry.npmjs.org/@clack/prompts/-/prompts-1.7.0.tgz Integrity: sha512-y7/yvZ2TPAnR9+jnc00klvNNLkJiXFFrQA/hlLCcxA9a2A4zQIOimyFQ9XfwYKiGD1fb5GY8vbKIIgO8d5Tb2A== +@conventional-commits/parser@0.4.1 | development | ISC + Lockfile path: node_modules/@conventional-commits/parser + Package: https://www.npmjs.com/package/@conventional-commits/parser/v/0.4.1 + Archive: https://registry.npmjs.org/@conventional-commits/parser/-/parser-0.4.1.tgz + Integrity: sha512-H2ZmUVt6q+KBccXfMBhbBF14NlANeqHTXL4qCL6QGbMzrc4HDXyzWuxPxPNbz71f/5UkR5DrycP5VO9u7crahg== +@types/unist@2.0.11 | development | MIT + Lockfile path: node_modules/@conventional-commits/parser/node_modules/@types/unist + Package: https://www.npmjs.com/package/@types/unist/v/2.0.11 + Archive: https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz + Integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== +unist-util-is@4.1.0 | development | MIT + Lockfile path: node_modules/@conventional-commits/parser/node_modules/unist-util-is + Package: https://www.npmjs.com/package/unist-util-is/v/4.1.0 + Archive: https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz + Integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== +unist-util-visit@2.0.3 | development | MIT + Lockfile path: node_modules/@conventional-commits/parser/node_modules/unist-util-visit + Package: https://www.npmjs.com/package/unist-util-visit/v/2.0.3 + Archive: https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz + Integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== +unist-util-visit-parents@3.1.1 | development | MIT + Lockfile path: node_modules/@conventional-commits/parser/node_modules/unist-util-visit-parents + Package: https://www.npmjs.com/package/unist-util-visit-parents/v/3.1.1 + Archive: https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz + Integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== @docsearch/css@3.8.2 | development | MIT Lockfile path: node_modules/@docsearch/css Package: https://www.npmjs.com/package/@docsearch/css/v/3.8.2 @@ -530,6 +555,16 @@ commander@13.1.0 | runtime | MIT Package: https://www.npmjs.com/package/@fast-check/vitest/v/0.5.0 Archive: https://registry.npmjs.org/@fast-check/vitest/-/vitest-0.5.0.tgz Integrity: sha512-Kgbj2smuq1P4OhGKuPATs5i2fAxNmGbJ/zSmTrzWhQSLUrHREbKWgv9WGbNUOXcx77q6joLVMmTygyXuwP2Bog== +@google-automations/git-file-utils@3.2.1 | development | Apache-2.0 + Lockfile path: node_modules/@google-automations/git-file-utils + Package: https://www.npmjs.com/package/@google-automations/git-file-utils/v/3.2.1 + Archive: https://registry.npmjs.org/@google-automations/git-file-utils/-/git-file-utils-3.2.1.tgz + Integrity: sha512-LYOjAnGu/xtEkYYh6W3/1RmeK9HB/fV+xMe7nHc+WiDYrnxAJWBfcyUucoJtYS8XAhVUzNWrQvYDPRbxe67DNQ== +@iarna/toml@3.0.0 | development | ISC + Lockfile path: node_modules/@iarna/toml + Package: https://www.npmjs.com/package/@iarna/toml/v/3.0.0 + Archive: https://registry.npmjs.org/@iarna/toml/-/toml-3.0.0.tgz + Integrity: sha512-td6ZUkz2oS3VeleBcN+m//Q6HlCFCPrnI0FZhrt/h4XqLEdOyYp2u21nd8MdsR+WJy5r9PTDaHTDDfhf4H4l6Q== @iconify-json/simple-icons@1.2.99 | development | CC0-1.0 Lockfile path: node_modules/@iconify-json/simple-icons Package: https://www.npmjs.com/package/@iconify-json/simple-icons/v/1.2.99 @@ -640,6 +675,16 @@ commander@13.1.0 | runtime | MIT Package: https://www.npmjs.com/package/@jridgewell/trace-mapping/v/0.3.31 Archive: https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz Integrity: sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw== +@jsep-plugin/assignment@1.4.0 | development | MIT + Lockfile path: node_modules/@jsep-plugin/assignment + Package: https://www.npmjs.com/package/@jsep-plugin/assignment/v/1.4.0 + Archive: https://registry.npmjs.org/@jsep-plugin/assignment/-/assignment-1.4.0.tgz + Integrity: sha512-nw2Px23Eirx0PFTVoPrb3FEq9Wkmg6vxcDtt38MtBCf1G0tjLCB9cK+3seOXyiw+6+aalgYhvJabQbWwMVKlEQ== +@jsep-plugin/regex@1.1.0 | development | MIT + Lockfile path: node_modules/@jsep-plugin/regex + Package: https://www.npmjs.com/package/@jsep-plugin/regex/v/1.1.0 + Archive: https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.1.0.tgz + Integrity: sha512-2Vkbda+XRjK6VTI6Lrh0sNBuMT8mZ51EhqMvO+V2rSdmqjs7NAGssxPZfkL23EFzYfSrvxyd1ZjOdqPQMM50og== @lydell/node-pty@1.1.0 | runtime | MIT Lockfile path: node_modules/@lydell/node-pty Package: https://www.npmjs.com/package/@lydell/node-pty/v/1.1.0 @@ -705,6 +750,66 @@ commander@13.1.0 | runtime | MIT Package: https://www.npmjs.com/package/@napi-rs/wasm-runtime/v/1.2.5 Archive: https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.2.5.tgz Integrity: sha512-HshSvXzmBxNzqejd3k/KemgQ3hdREUYFRRrgxOZ+gPljDIsO2SDZrVZMd4Z/HsxudQbE62OVyVFE8z9BCurfjA== +@octokit/auth-token@4.0.0 | development | MIT + Lockfile path: node_modules/@octokit/auth-token + Package: https://www.npmjs.com/package/@octokit/auth-token/v/4.0.0 + Archive: https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz + Integrity: sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA== +@octokit/core@5.2.2 | development | MIT + Lockfile path: node_modules/@octokit/core + Package: https://www.npmjs.com/package/@octokit/core/v/5.2.2 + Archive: https://registry.npmjs.org/@octokit/core/-/core-5.2.2.tgz + Integrity: sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg== +@octokit/endpoint@9.0.6 | development | MIT + Lockfile path: node_modules/@octokit/endpoint + Package: https://www.npmjs.com/package/@octokit/endpoint/v/9.0.6 + Archive: https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.6.tgz + Integrity: sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw== +@octokit/graphql@7.1.1 | development | MIT + Lockfile path: node_modules/@octokit/graphql + Package: https://www.npmjs.com/package/@octokit/graphql/v/7.1.1 + Archive: https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.1.tgz + Integrity: sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g== +@octokit/openapi-types@24.2.0 | development | MIT + Lockfile path: node_modules/@octokit/openapi-types + Package: https://www.npmjs.com/package/@octokit/openapi-types/v/24.2.0 + Archive: https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz + Integrity: sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg== +@octokit/plugin-paginate-rest@11.4.4-cjs.2 | development | MIT + Lockfile path: node_modules/@octokit/plugin-paginate-rest + Package: https://www.npmjs.com/package/@octokit/plugin-paginate-rest/v/11.4.4-cjs.2 + Archive: https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.4-cjs.2.tgz + Integrity: sha512-2dK6z8fhs8lla5PaOTgqfCGBxgAv/le+EhPs27KklPhm1bKObpu6lXzwfUEQ16ajXzqNrKMujsFyo9K2eaoISw== +@octokit/plugin-request-log@4.0.1 | development | MIT + Lockfile path: node_modules/@octokit/plugin-request-log + Package: https://www.npmjs.com/package/@octokit/plugin-request-log/v/4.0.1 + Archive: https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz + Integrity: sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA== +@octokit/plugin-rest-endpoint-methods@13.3.2-cjs.1 | development | MIT + Lockfile path: node_modules/@octokit/plugin-rest-endpoint-methods + Package: https://www.npmjs.com/package/@octokit/plugin-rest-endpoint-methods/v/13.3.2-cjs.1 + Archive: https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.2-cjs.1.tgz + Integrity: sha512-VUjIjOOvF2oELQmiFpWA1aOPdawpyaCUqcEBc/UOUnj3Xp6DJGrJ1+bjUIIDzdHjnFNO6q57ODMfdEZnoBkCwQ== +@octokit/request@8.4.1 | development | MIT + Lockfile path: node_modules/@octokit/request + Package: https://www.npmjs.com/package/@octokit/request/v/8.4.1 + Archive: https://registry.npmjs.org/@octokit/request/-/request-8.4.1.tgz + Integrity: sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw== +@octokit/request-error@5.1.1 | development | MIT + Lockfile path: node_modules/@octokit/request-error + Package: https://www.npmjs.com/package/@octokit/request-error/v/5.1.1 + Archive: https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz + Integrity: sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g== +@octokit/rest@20.1.2 | development | MIT + Lockfile path: node_modules/@octokit/rest + Package: https://www.npmjs.com/package/@octokit/rest/v/20.1.2 + Archive: https://registry.npmjs.org/@octokit/rest/-/rest-20.1.2.tgz + Integrity: sha512-GmYiltypkHHtihFwPRxlaorG5R9VAHuk/vbszVoRTGXnAsY60wYLkh/E2XiFmdZmqrisw+9FaazS1i5SbdWYgA== +@octokit/types@13.10.0 | development | MIT + Lockfile path: node_modules/@octokit/types + Package: https://www.npmjs.com/package/@octokit/types/v/13.10.0 + Archive: https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz + Integrity: sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA== @oxc-parser/binding-android-arm-eabi@0.150.0 | development, optional | MIT Lockfile path: node_modules/@oxc-parser/binding-android-arm-eabi Package: https://www.npmjs.com/package/@oxc-parser/binding-android-arm-eabi/v/0.150.0 @@ -1505,11 +1610,26 @@ commander@13.1.0 | runtime | MIT Package: https://www.npmjs.com/package/@types/mdurl/v/2.0.0 Archive: https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz Integrity: sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg== +@types/minimist@1.2.5 | development | MIT + Lockfile path: node_modules/@types/minimist + Package: https://www.npmjs.com/package/@types/minimist/v/1.2.5 + Archive: https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz + Integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== @types/node@26.6.4 | development | MIT Lockfile path: node_modules/@types/node Package: https://www.npmjs.com/package/@types/node/v/26.6.4 Archive: https://registry.npmjs.org/@types/node/-/node-26.6.4.tgz Integrity: sha512-ldVPDCzj7fsaGZrLB0NuHuTvJcsNasysBAqMolr/cgxrLd1xbqxIr3XJiPnHHJUCxj5sNF1vnRj9aWnrVh5Jcg== +@types/normalize-package-data@2.4.4 | development | MIT + Lockfile path: node_modules/@types/normalize-package-data + Package: https://www.npmjs.com/package/@types/normalize-package-data/v/2.4.4 + Archive: https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz + Integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA== +@types/npm-package-arg@6.1.4 | development | MIT + Lockfile path: node_modules/@types/npm-package-arg + Package: https://www.npmjs.com/package/@types/npm-package-arg/v/6.1.4 + Archive: https://registry.npmjs.org/@types/npm-package-arg/-/npm-package-arg-6.1.4.tgz + Integrity: sha512-vDgdbMy2QXHnAruzlv68pUtXCjmqUk3WrBAsRboRovsOmxbfn/WiYCjmecyKjGztnMps5dWp4Uq2prp+Ilo17Q== @types/semver@7.7.1 | development | MIT Lockfile path: node_modules/@types/semver Package: https://www.npmjs.com/package/@types/semver/v/7.7.1 @@ -1535,6 +1655,16 @@ commander@13.1.0 | runtime | MIT Package: https://www.npmjs.com/package/@types/ws/v/8.18.1 Archive: https://registry.npmjs.org/@types/ws/-/ws-8.18.1.tgz Integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg== +@types/yargs@16.0.11 | development | MIT + Lockfile path: node_modules/@types/yargs + Package: https://www.npmjs.com/package/@types/yargs/v/16.0.11 + Archive: https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz + Integrity: sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g== +@types/yargs-parser@21.0.3 | development | MIT + Lockfile path: node_modules/@types/yargs-parser + Package: https://www.npmjs.com/package/@types/yargs-parser/v/21.0.3 + Archive: https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz + Integrity: sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== @typescript/typescript-aix-ppc64@7.0.2 | development, optional | Apache-2.0 Lockfile path: node_modules/@typescript/typescript-aix-ppc64 Package: https://www.npmjs.com/package/@typescript/typescript-aix-ppc64/v/7.0.2 @@ -1825,6 +1955,11 @@ abort-controller@3.0.0 | runtime | MIT Package: https://www.npmjs.com/package/abort-controller/v/3.0.0 Archive: https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz Integrity: sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg== +agent-base@7.1.4 | development | MIT + Lockfile path: node_modules/agent-base + Package: https://www.npmjs.com/package/agent-base/v/7.1.4 + Archive: https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz + Integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ== ajv@8.20.0 | runtime | MIT Lockfile path: node_modules/ajv Package: https://www.npmjs.com/package/ajv/v/8.20.0 @@ -1860,6 +1995,21 @@ ansi-styles@6.2.3 | development | MIT Package: https://www.npmjs.com/package/ansi-styles/v/6.2.3 Archive: https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.3.tgz Integrity: sha512-4Dj6M28JB+oAH8kFkTLUo+a2jwOFkuqb3yucU0CANcRRUbxS0cP0nZYCGjcc3BNXwRIsUVmDGgzawme7zvJHvg== +argparse@2.0.1 | development | Python-2.0 + Lockfile path: node_modules/argparse + Package: https://www.npmjs.com/package/argparse/v/2.0.1 + Archive: https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz + Integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== +array-ify@1.0.0 | development | MIT + Lockfile path: node_modules/array-ify + Package: https://www.npmjs.com/package/array-ify/v/1.0.0 + Archive: https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz + Integrity: sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng== +arrify@1.0.1 | development | MIT + Lockfile path: node_modules/arrify + Package: https://www.npmjs.com/package/arrify/v/1.0.1 + Archive: https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz + Integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA== assertion-error@2.0.1 | development | MIT Lockfile path: node_modules/assertion-error Package: https://www.npmjs.com/package/assertion-error/v/2.0.1 @@ -1875,6 +2025,11 @@ async-lock@1.4.1 | runtime | MIT Package: https://www.npmjs.com/package/async-lock/v/1.4.1 Archive: https://registry.npmjs.org/async-lock/-/async-lock-1.4.1.tgz Integrity: sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ== +async-retry@1.3.3 | development | MIT + Lockfile path: node_modules/async-retry + Package: https://www.npmjs.com/package/async-retry/v/1.3.3 + Archive: https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz + Integrity: sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw== atomic-sleep@1.0.0 | runtime | MIT Lockfile path: node_modules/atomic-sleep Package: https://www.npmjs.com/package/atomic-sleep/v/1.0.0 @@ -1900,6 +2055,11 @@ baseline-browser-mapping@2.11.28 | development | Apache-2.0 Package: https://www.npmjs.com/package/baseline-browser-mapping/v/2.11.28 Archive: https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.11.28.tgz Integrity: sha512-br0LOmjJqr6Rt4AEkadbcNf67Zpo7EPwKsWbjnRrJIa1QYFHQBqM4C7F2WTbV8ahTEcg1Eo+Y0aWjjORInYFyA== +before-after-hook@2.2.3 | development | Apache-2.0 + Lockfile path: node_modules/before-after-hook + Package: https://www.npmjs.com/package/before-after-hook/v/2.2.3 + Archive: https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz + Integrity: sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ== bindings@1.5.0 | runtime, optional | MIT Lockfile path: node_modules/bindings Package: https://www.npmjs.com/package/bindings/v/1.5.0 @@ -1925,6 +2085,11 @@ readable-stream@3.6.2 | runtime, optional | MIT Package: https://www.npmjs.com/package/readable-stream/v/3.6.2 Archive: https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz Integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA== +boolbase@1.0.0 | development | ISC + Lockfile path: node_modules/boolbase + Package: https://www.npmjs.com/package/boolbase/v/1.0.0 + Archive: https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz + Integrity: sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww== brace-expansion@5.0.12 | runtime | MIT Lockfile path: node_modules/brace-expansion Package: https://www.npmjs.com/package/brace-expansion/v/5.0.12 @@ -1955,6 +2120,16 @@ call-bound@1.0.4 | runtime | MIT Package: https://www.npmjs.com/package/call-bound/v/1.0.4 Archive: https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz Integrity: sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg== +camelcase@5.3.1 | development | MIT + Lockfile path: node_modules/camelcase + Package: https://www.npmjs.com/package/camelcase/v/5.3.1 + Archive: https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz + Integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg== +camelcase-keys@6.2.2 | development | MIT + Lockfile path: node_modules/camelcase-keys + Package: https://www.npmjs.com/package/camelcase-keys/v/6.2.2 + Archive: https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz + Integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg== caniuse-lite@1.0.30001815 | development | CC-BY-4.0 Lockfile path: node_modules/caniuse-lite Package: https://www.npmjs.com/package/caniuse-lite/v/1.0.30001815 @@ -2025,6 +2200,131 @@ cli-width@4.1.0 | development | ISC Package: https://www.npmjs.com/package/cli-width/v/4.1.0 Archive: https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz Integrity: sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ== +cliui@8.0.1 | development | ISC + Lockfile path: node_modules/cliui + Package: https://www.npmjs.com/package/cliui/v/8.0.1 + Archive: https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz + Integrity: sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ== +ansi-regex@5.0.1 | development | MIT + Lockfile path: node_modules/cliui/node_modules/ansi-regex + Package: https://www.npmjs.com/package/ansi-regex/v/5.0.1 + Archive: https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz + Integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-styles@4.3.0 | development | MIT + Lockfile path: node_modules/cliui/node_modules/ansi-styles + Package: https://www.npmjs.com/package/ansi-styles/v/4.3.0 + Archive: https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz + Integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== +emoji-regex@8.0.0 | development | MIT + Lockfile path: node_modules/cliui/node_modules/emoji-regex + Package: https://www.npmjs.com/package/emoji-regex/v/8.0.0 + Archive: https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz + Integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +is-fullwidth-code-point@3.0.0 | development | MIT + Lockfile path: node_modules/cliui/node_modules/is-fullwidth-code-point + Package: https://www.npmjs.com/package/is-fullwidth-code-point/v/3.0.0 + Archive: https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz + Integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +string-width@4.2.3 | development | MIT + Lockfile path: node_modules/cliui/node_modules/string-width + Package: https://www.npmjs.com/package/string-width/v/4.2.3 + Archive: https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz + Integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== +strip-ansi@6.0.1 | development | MIT + Lockfile path: node_modules/cliui/node_modules/strip-ansi + Package: https://www.npmjs.com/package/strip-ansi/v/6.0.1 + Archive: https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz + Integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== +wrap-ansi@7.0.0 | development | MIT + Lockfile path: node_modules/cliui/node_modules/wrap-ansi + Package: https://www.npmjs.com/package/wrap-ansi/v/7.0.0 + Archive: https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz + Integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== +code-suggester@5.0.1 | development | Apache-2.0 + Lockfile path: node_modules/code-suggester + Package: https://www.npmjs.com/package/code-suggester/v/5.0.1 + Archive: https://registry.npmjs.org/code-suggester/-/code-suggester-5.0.1.tgz + Integrity: sha512-8qJiiSCfkbPNWvjEFzdG1UW3axL+Bs0ldV1/TdlBKmF9I/a/WooSQZQCi9M44HoXbVTQesn/IQr6+nIWNnVIWA== +ansi-regex@5.0.1 | development | MIT + Lockfile path: node_modules/code-suggester/node_modules/ansi-regex + Package: https://www.npmjs.com/package/ansi-regex/v/5.0.1 + Archive: https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz + Integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +ansi-styles@4.3.0 | development | MIT + Lockfile path: node_modules/code-suggester/node_modules/ansi-styles + Package: https://www.npmjs.com/package/ansi-styles/v/4.3.0 + Archive: https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz + Integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== +balanced-match@1.0.2 | development | MIT + Lockfile path: node_modules/code-suggester/node_modules/balanced-match + Package: https://www.npmjs.com/package/balanced-match/v/1.0.2 + Archive: https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz + Integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw== +brace-expansion@1.1.21 | development | MIT + Lockfile path: node_modules/code-suggester/node_modules/brace-expansion + Package: https://www.npmjs.com/package/brace-expansion/v/1.1.21 + Archive: https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.21.tgz + Integrity: sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw== +cliui@7.0.4 | development | ISC + Lockfile path: node_modules/code-suggester/node_modules/cliui + Package: https://www.npmjs.com/package/cliui/v/7.0.4 + Archive: https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz + Integrity: sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ== +diff@8.0.4 | development | BSD-3-Clause + Lockfile path: node_modules/code-suggester/node_modules/diff + Package: https://www.npmjs.com/package/diff/v/8.0.4 + Archive: https://registry.npmjs.org/diff/-/diff-8.0.4.tgz + Integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw== +emoji-regex@8.0.0 | development | MIT + Lockfile path: node_modules/code-suggester/node_modules/emoji-regex + Package: https://www.npmjs.com/package/emoji-regex/v/8.0.0 + Archive: https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz + Integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +glob@7.2.3 | development | ISC + Lockfile path: node_modules/code-suggester/node_modules/glob + Package: https://www.npmjs.com/package/glob/v/7.2.3 + Archive: https://registry.npmjs.org/glob/-/glob-7.2.3.tgz + Integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q== +is-fullwidth-code-point@3.0.0 | development | MIT + Lockfile path: node_modules/code-suggester/node_modules/is-fullwidth-code-point + Package: https://www.npmjs.com/package/is-fullwidth-code-point/v/3.0.0 + Archive: https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz + Integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +minimatch@3.1.5 | development | ISC + Lockfile path: node_modules/code-suggester/node_modules/minimatch + Package: https://www.npmjs.com/package/minimatch/v/3.1.5 + Archive: https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz + Integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w== +string-width@4.2.3 | development | MIT + Lockfile path: node_modules/code-suggester/node_modules/string-width + Package: https://www.npmjs.com/package/string-width/v/4.2.3 + Archive: https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz + Integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== +strip-ansi@6.0.1 | development | MIT + Lockfile path: node_modules/code-suggester/node_modules/strip-ansi + Package: https://www.npmjs.com/package/strip-ansi/v/6.0.1 + Archive: https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz + Integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== +wrap-ansi@7.0.0 | development | MIT + Lockfile path: node_modules/code-suggester/node_modules/wrap-ansi + Package: https://www.npmjs.com/package/wrap-ansi/v/7.0.0 + Archive: https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz + Integrity: sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== +yargs@16.2.2 | development | MIT + Lockfile path: node_modules/code-suggester/node_modules/yargs + Package: https://www.npmjs.com/package/yargs/v/16.2.2 + Archive: https://registry.npmjs.org/yargs/-/yargs-16.2.2.tgz + Integrity: sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w== +color-convert@2.0.1 | development | MIT + Lockfile path: node_modules/color-convert + Package: https://www.npmjs.com/package/color-convert/v/2.0.1 + Archive: https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz + Integrity: sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ== +color-name@1.1.4 | development | MIT + Lockfile path: node_modules/color-name + Package: https://www.npmjs.com/package/color-name/v/1.1.4 + Archive: https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz + Integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA== colorette@2.0.20 | development | MIT Lockfile path: node_modules/colorette Package: https://www.npmjs.com/package/colorette/v/2.0.20 @@ -2040,6 +2340,31 @@ commander@14.0.3 | development | MIT Package: https://www.npmjs.com/package/commander/v/14.0.3 Archive: https://registry.npmjs.org/commander/-/commander-14.0.3.tgz Integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw== +compare-func@2.0.0 | development | MIT + Lockfile path: node_modules/compare-func + Package: https://www.npmjs.com/package/compare-func/v/2.0.0 + Archive: https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz + Integrity: sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA== +concat-map@0.0.1 | development | MIT + Lockfile path: node_modules/concat-map + Package: https://www.npmjs.com/package/concat-map/v/0.0.1 + Archive: https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz + Integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg== +conventional-changelog-conventionalcommits@6.1.0 | development | ISC + Lockfile path: node_modules/conventional-changelog-conventionalcommits + Package: https://www.npmjs.com/package/conventional-changelog-conventionalcommits/v/6.1.0 + Archive: https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-6.1.0.tgz + Integrity: sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw== +conventional-changelog-writer@6.0.1 | development | MIT + Lockfile path: node_modules/conventional-changelog-writer + Package: https://www.npmjs.com/package/conventional-changelog-writer/v/6.0.1 + Archive: https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-6.0.1.tgz + Integrity: sha512-359t9aHorPw+U+nHzUXHS5ZnPBOizRxfQsWT5ZDHBfvfxQOAik+yfuhKXG66CN5LEWPpMNnIMHUTCKeYNprvHQ== +conventional-commits-filter@3.0.0 | development | MIT + Lockfile path: node_modules/conventional-commits-filter + Package: https://www.npmjs.com/package/conventional-commits-filter/v/3.0.0 + Archive: https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-3.0.0.tgz + Integrity: sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q== convert-source-map@2.0.0 | development | MIT Lockfile path: node_modules/convert-source-map Package: https://www.npmjs.com/package/convert-source-map/v/2.0.0 @@ -2060,11 +2385,46 @@ cross-spawn@7.0.6 | runtime | MIT Package: https://www.npmjs.com/package/cross-spawn/v/7.0.6 Archive: https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz Integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA== +css-select@5.2.2 | development | BSD-2-Clause + Lockfile path: node_modules/css-select + Package: https://www.npmjs.com/package/css-select/v/5.2.2 + Archive: https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz + Integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw== +css-what@6.2.2 | development | BSD-2-Clause + Lockfile path: node_modules/css-what + Package: https://www.npmjs.com/package/css-what/v/6.2.2 + Archive: https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz + Integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA== csstype@3.2.3 | development | MIT Lockfile path: node_modules/csstype Package: https://www.npmjs.com/package/csstype/v/3.2.3 Archive: https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz Integrity: sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ== +dateformat@3.0.3 | development | MIT + Lockfile path: node_modules/dateformat + Package: https://www.npmjs.com/package/dateformat/v/3.0.3 + Archive: https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz + Integrity: sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q== +debug@4.4.3 | development | MIT + Lockfile path: node_modules/debug + Package: https://www.npmjs.com/package/debug/v/4.4.3 + Archive: https://registry.npmjs.org/debug/-/debug-4.4.3.tgz + Integrity: sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA== +decamelize@1.2.0 | development | MIT + Lockfile path: node_modules/decamelize + Package: https://www.npmjs.com/package/decamelize/v/1.2.0 + Archive: https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz + Integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA== +decamelize-keys@1.1.1 | development | MIT + Lockfile path: node_modules/decamelize-keys + Package: https://www.npmjs.com/package/decamelize-keys/v/1.1.1 + Archive: https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz + Integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg== +map-obj@1.0.1 | development | MIT + Lockfile path: node_modules/decamelize-keys/node_modules/map-obj + Package: https://www.npmjs.com/package/map-obj/v/1.0.1 + Archive: https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz + Integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg== decompress-response@6.0.0 | runtime | MIT Lockfile path: node_modules/decompress-response Package: https://www.npmjs.com/package/decompress-response/v/6.0.0 @@ -2080,6 +2440,11 @@ define-data-property@1.1.4 | runtime | MIT Package: https://www.npmjs.com/package/define-data-property/v/1.1.4 Archive: https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz Integrity: sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A== +deprecation@2.3.1 | development | ISC + Lockfile path: node_modules/deprecation + Package: https://www.npmjs.com/package/deprecation/v/2.3.1 + Archive: https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz + Integrity: sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ== dequal@2.0.3 | development | MIT Lockfile path: node_modules/dequal Package: https://www.npmjs.com/package/dequal/v/2.0.3 @@ -2090,6 +2455,11 @@ des.js@1.1.0 | development | MIT Package: https://www.npmjs.com/package/des.js/v/1.1.0 Archive: https://registry.npmjs.org/des.js/-/des.js-1.1.0.tgz Integrity: sha512-r17GxjhUCjSRy8aiJpr8/UadFIzMzJGexI3Nmz4ADi9LYSFx4gTBp80+NaX/YsXWWLhpZ7v/v/ubEc/bCNfKwg== +detect-indent@6.1.0 | development | MIT + Lockfile path: node_modules/detect-indent + Package: https://www.npmjs.com/package/detect-indent/v/6.1.0 + Archive: https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz + Integrity: sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA== detect-libc@2.1.2 | runtime | Apache-2.0 Lockfile path: node_modules/detect-libc Package: https://www.npmjs.com/package/detect-libc/v/2.1.2 @@ -2115,6 +2485,36 @@ diff3@0.0.3 | runtime | MIT Package: https://www.npmjs.com/package/diff3/v/0.0.3 Archive: https://registry.npmjs.org/diff3/-/diff3-0.0.3.tgz Integrity: sha512-iSq8ngPOt0K53A6eVr4d5Kn6GNrM2nQZtC740pzIriHtn4pOQ2lyzEXQMBeVcWERN0ye7fhBsk9PbLLQOnUx/g== +dom-serializer@2.0.0 | development | MIT + Lockfile path: node_modules/dom-serializer + Package: https://www.npmjs.com/package/dom-serializer/v/2.0.0 + Archive: https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz + Integrity: sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg== +entities@4.5.0 | development | BSD-2-Clause + Lockfile path: node_modules/dom-serializer/node_modules/entities + Package: https://www.npmjs.com/package/entities/v/4.5.0 + Archive: https://registry.npmjs.org/entities/-/entities-4.5.0.tgz + Integrity: sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== +domelementtype@2.3.0 | development | BSD-2-Clause + Lockfile path: node_modules/domelementtype + Package: https://www.npmjs.com/package/domelementtype/v/2.3.0 + Archive: https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz + Integrity: sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw== +domhandler@5.0.3 | development | BSD-2-Clause + Lockfile path: node_modules/domhandler + Package: https://www.npmjs.com/package/domhandler/v/5.0.3 + Archive: https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz + Integrity: sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w== +domutils@3.2.2 | development | BSD-2-Clause + Lockfile path: node_modules/domutils + Package: https://www.npmjs.com/package/domutils/v/3.2.2 + Archive: https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz + Integrity: sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw== +dot-prop@5.3.0 | development | MIT + Lockfile path: node_modules/dot-prop + Package: https://www.npmjs.com/package/dot-prop/v/5.3.0 + Archive: https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz + Integrity: sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q== dunder-proto@1.0.1 | runtime | MIT Lockfile path: node_modules/dunder-proto Package: https://www.npmjs.com/package/dunder-proto/v/1.0.1 @@ -2155,6 +2555,11 @@ environment@1.1.0 | development | MIT Package: https://www.npmjs.com/package/environment/v/1.1.0 Archive: https://registry.npmjs.org/environment/-/environment-1.1.0.tgz Integrity: sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q== +error-ex@1.3.4 | development | MIT + Lockfile path: node_modules/error-ex + Package: https://www.npmjs.com/package/error-ex/v/1.3.4 + Archive: https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz + Integrity: sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ== es-define-property@1.0.1 | runtime | MIT Lockfile path: node_modules/es-define-property Package: https://www.npmjs.com/package/es-define-property/v/1.0.1 @@ -2185,6 +2590,11 @@ escalade@3.2.0 | development | MIT Package: https://www.npmjs.com/package/escalade/v/3.2.0 Archive: https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz Integrity: sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== +escape-string-regexp@1.0.5 | development | MIT + Lockfile path: node_modules/escape-string-regexp + Package: https://www.npmjs.com/package/escape-string-regexp/v/1.0.5 + Archive: https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz + Integrity: sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg== estree-walker@3.0.3 | development | MIT Lockfile path: node_modules/estree-walker Package: https://www.npmjs.com/package/estree-walker/v/3.0.3 @@ -2285,6 +2695,11 @@ file-uri-to-path@1.0.0 | runtime, optional | MIT Package: https://www.npmjs.com/package/file-uri-to-path/v/1.0.0 Archive: https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz Integrity: sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw== +find-up@4.1.0 | development | MIT + Lockfile path: node_modules/find-up + Package: https://www.npmjs.com/package/find-up/v/4.1.0 + Archive: https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz + Integrity: sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw== flru@1.0.2 | development | MIT Lockfile path: node_modules/flru Package: https://www.npmjs.com/package/flru/v/1.0.2 @@ -2315,6 +2730,11 @@ fs-constants@1.0.0 | runtime, optional | MIT Package: https://www.npmjs.com/package/fs-constants/v/1.0.0 Archive: https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz Integrity: sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== +fs.realpath@1.0.0 | development | ISC + Lockfile path: node_modules/fs.realpath + Package: https://www.npmjs.com/package/fs.realpath/v/1.0.0 + Archive: https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz + Integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== fsevents@2.3.3 | development, optional | MIT Lockfile path: node_modules/fsevents Package: https://www.npmjs.com/package/fsevents/v/2.3.3 @@ -2330,6 +2750,11 @@ gensync@1.0.0-beta.2 | development | MIT Package: https://www.npmjs.com/package/gensync/v/1.0.0-beta.2 Archive: https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz Integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg== +get-caller-file@2.0.5 | development | ISC + Lockfile path: node_modules/get-caller-file + Package: https://www.npmjs.com/package/get-caller-file/v/2.0.5 + Archive: https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz + Integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== get-east-asian-width@1.6.0 | development | MIT Lockfile path: node_modules/get-east-asian-width Package: https://www.npmjs.com/package/get-east-asian-width/v/1.6.0 @@ -2370,11 +2795,31 @@ gopd@1.2.0 | runtime | MIT Package: https://www.npmjs.com/package/gopd/v/1.2.0 Archive: https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz Integrity: sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg== +handlebars@4.7.10 | development | MIT + Lockfile path: node_modules/handlebars + Package: https://www.npmjs.com/package/handlebars/v/4.7.10 + Archive: https://registry.npmjs.org/handlebars/-/handlebars-4.7.10.tgz + Integrity: sha512-P5VJMVM7qgBn6vjXMw8WG9uVI+ncf2pi72j4de4yz5ZULLj2RGqLYaKOYGsgyrViQ0tePOVlN1tDCCXXtFqXKg== +source-map@0.6.1 | development | BSD-3-Clause + Lockfile path: node_modules/handlebars/node_modules/source-map + Package: https://www.npmjs.com/package/source-map/v/0.6.1 + Archive: https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz + Integrity: sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g== har-schema@2.0.0 | runtime | ISC Lockfile path: node_modules/har-schema Package: https://www.npmjs.com/package/har-schema/v/2.0.0 Archive: https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz Integrity: sha512-Oqluz6zhGX8cyRaTQlFMPw80bSJVG2x/cFb8ZPhUILGgHka9SsokCCOQgpveePerqidZOrT14ipqfJb7ILcW5Q== +hard-rejection@2.1.0 | development | MIT + Lockfile path: node_modules/hard-rejection + Package: https://www.npmjs.com/package/hard-rejection/v/2.1.0 + Archive: https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz + Integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA== +has-flag@4.0.0 | development | MIT + Lockfile path: node_modules/has-flag + Package: https://www.npmjs.com/package/has-flag/v/4.0.0 + Archive: https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz + Integrity: sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ== has-property-descriptors@1.0.2 | runtime | MIT Lockfile path: node_modules/has-property-descriptors Package: https://www.npmjs.com/package/has-property-descriptors/v/1.0.2 @@ -2405,16 +2850,41 @@ hast-util-whitespace@3.0.0 | development | MIT Package: https://www.npmjs.com/package/hast-util-whitespace/v/3.0.0 Archive: https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz Integrity: sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw== +he@1.2.0 | development | MIT + Lockfile path: node_modules/he + Package: https://www.npmjs.com/package/he/v/1.2.0 + Archive: https://registry.npmjs.org/he/-/he-1.2.0.tgz + Integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw== hookable@5.5.3 | development | MIT Lockfile path: node_modules/hookable Package: https://www.npmjs.com/package/hookable/v/5.5.3 Archive: https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz Integrity: sha512-Yc+BQe8SvoXH1643Qez1zqLRmbA5rCL+sSmk6TVos0LWVfNIB7PGncdlId77WzLGSIB5KaWgTaNTs2lNVEI6VQ== +hosted-git-info@4.1.0 | development | ISC + Lockfile path: node_modules/hosted-git-info + Package: https://www.npmjs.com/package/hosted-git-info/v/4.1.0 + Archive: https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz + Integrity: sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA== +lru-cache@6.0.0 | development | ISC + Lockfile path: node_modules/hosted-git-info/node_modules/lru-cache + Package: https://www.npmjs.com/package/lru-cache/v/6.0.0 + Archive: https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz + Integrity: sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA== html-void-elements@3.0.0 | development | MIT Lockfile path: node_modules/html-void-elements Package: https://www.npmjs.com/package/html-void-elements/v/3.0.0 Archive: https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz Integrity: sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg== +http-proxy-agent@7.0.2 | development | MIT + Lockfile path: node_modules/http-proxy-agent + Package: https://www.npmjs.com/package/http-proxy-agent/v/7.0.2 + Archive: https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz + Integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig== +https-proxy-agent@7.0.6 | development | MIT + Lockfile path: node_modules/https-proxy-agent + Package: https://www.npmjs.com/package/https-proxy-agent/v/7.0.6 + Archive: https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz + Integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw== human-signals@8.0.1 | development | Apache-2.0 Lockfile path: node_modules/human-signals Package: https://www.npmjs.com/package/human-signals/v/8.0.1 @@ -2460,6 +2930,16 @@ incur@0.6.1 | runtime | MIT Package: https://www.npmjs.com/package/@modelcontextprotocol/server/v/2.0.0-alpha.4 Archive: https://registry.npmjs.org/@modelcontextprotocol/server/-/server-2.0.0-alpha.4.tgz Integrity: sha512-/KEo3ZJ50HlagHp0lz2vPgfBZFtXHu6zTBXT9XqPc+4O9i4+IbBVWKq/a9yAfv/ifp0u3+mRo8SUk5kMKzhN8A== +indent-string@4.0.0 | development | MIT + Lockfile path: node_modules/indent-string + Package: https://www.npmjs.com/package/indent-string/v/4.0.0 + Archive: https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz + Integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg== +inflight@1.0.6 | development | ISC + Lockfile path: node_modules/inflight + Package: https://www.npmjs.com/package/inflight/v/1.0.6 + Archive: https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz + Integrity: sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA== inherits@2.0.4 | runtime | ISC Lockfile path: node_modules/inherits Package: https://www.npmjs.com/package/inherits/v/2.0.4 @@ -2470,16 +2950,31 @@ ini@1.3.8 | runtime, optional | ISC Package: https://www.npmjs.com/package/ini/v/1.3.8 Archive: https://registry.npmjs.org/ini/-/ini-1.3.8.tgz Integrity: sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== +is-arrayish@0.2.1 | development | MIT + Lockfile path: node_modules/is-arrayish + Package: https://www.npmjs.com/package/is-arrayish/v/0.2.1 + Archive: https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz + Integrity: sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg== is-callable@1.2.7 | runtime | MIT Lockfile path: node_modules/is-callable Package: https://www.npmjs.com/package/is-callable/v/1.2.7 Archive: https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz Integrity: sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== +is-core-module@2.17.0 | development | MIT + Lockfile path: node_modules/is-core-module + Package: https://www.npmjs.com/package/is-core-module/v/2.17.0 + Archive: https://registry.npmjs.org/is-core-module/-/is-core-module-2.17.0.tgz + Integrity: sha512-J/vG0zBCbIKOQFfufSwyXdMrsohyJIUNkrnmo6WZGzoM7tr/lsbfW5b2BvisL6zsyMzK9UxV9L6c7AoFbyXHOA== is-fullwidth-code-point@5.1.0 | development | MIT Lockfile path: node_modules/is-fullwidth-code-point Package: https://www.npmjs.com/package/is-fullwidth-code-point/v/5.1.0 Archive: https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz Integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ== +is-obj@2.0.0 | development | MIT + Lockfile path: node_modules/is-obj + Package: https://www.npmjs.com/package/is-obj/v/2.0.0 + Archive: https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz + Integrity: sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w== is-plain-obj@4.1.0 | development | MIT Lockfile path: node_modules/is-plain-obj Package: https://www.npmjs.com/package/is-plain-obj/v/4.1.0 @@ -2540,6 +3035,11 @@ js-tokens@10.0.0 | development | MIT Package: https://www.npmjs.com/package/js-tokens/v/10.0.0 Archive: https://registry.npmjs.org/js-tokens/-/js-tokens-10.0.0.tgz Integrity: sha512-lM/UBzQmfJRo9ABXbPWemivdCW8V2G8FHaHdypQaIy523snUjog0W71ayWXTjiR+ixeMyVHN2XcpnTd/liPg/Q== +js-yaml@4.3.2 | development | MIT + Lockfile path: node_modules/js-yaml + Package: https://www.npmjs.com/package/js-yaml/v/4.3.2 + Archive: https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz + Integrity: sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA== jscpd@5.0.12 | development | MIT Lockfile path: node_modules/jscpd Package: https://www.npmjs.com/package/jscpd/v/5.0.12 @@ -2575,11 +3075,21 @@ jscpd-windows-x64-msvc@5.0.12 | development, optional | MIT Package: https://www.npmjs.com/package/jscpd-windows-x64-msvc/v/5.0.12 Archive: https://registry.npmjs.org/jscpd-windows-x64-msvc/-/jscpd-windows-x64-msvc-5.0.12.tgz Integrity: sha512-01x1klKjvfzI6Of5tI9u72x7TIQZQLLG6kMdsEPJKl/BXbskdknrfCepeTXRBbdFPKs25jfcd0klZ4OdDvww5w== +jsep@1.6.0 | development | MIT + Lockfile path: node_modules/jsep + Package: https://www.npmjs.com/package/jsep/v/1.6.0 + Archive: https://registry.npmjs.org/jsep/-/jsep-1.6.0.tgz + Integrity: sha512-Y8Tr54CX7B5YGAwo7/n8eumidEX3Opx98RyyQVnlHqUaZcPA8uUzL2v1rshr9ypW9Q6hNjfJtg3sL+8kaNE7TA== jsesc@3.1.0 | development | MIT Lockfile path: node_modules/jsesc Package: https://www.npmjs.com/package/jsesc/v/3.1.0 Archive: https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz Integrity: sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== +json-parse-even-better-errors@2.3.1 | development | MIT + Lockfile path: node_modules/json-parse-even-better-errors + Package: https://www.npmjs.com/package/json-parse-even-better-errors/v/2.3.1 + Archive: https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz + Integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w== json-rpc-2.0@1.8.1 | development | MIT Lockfile path: node_modules/json-rpc-2.0 Package: https://www.npmjs.com/package/json-rpc-2.0/v/1.8.1 @@ -2590,6 +3100,11 @@ json-schema-traverse@1.0.0 | runtime | MIT Package: https://www.npmjs.com/package/json-schema-traverse/v/1.0.0 Archive: https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz Integrity: sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== +json-stringify-safe@5.0.1 | development | ISC + Lockfile path: node_modules/json-stringify-safe + Package: https://www.npmjs.com/package/json-stringify-safe/v/5.0.1 + Archive: https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz + Integrity: sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA== json5@2.2.3 | development | MIT Lockfile path: node_modules/json5 Package: https://www.npmjs.com/package/json5/v/2.2.3 @@ -2600,6 +3115,16 @@ jsonc-parser@3.3.1 | runtime | MIT Package: https://www.npmjs.com/package/jsonc-parser/v/3.3.1 Archive: https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz Integrity: sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ== +jsonpath-plus@10.4.0 | development | MIT + Lockfile path: node_modules/jsonpath-plus + Package: https://www.npmjs.com/package/jsonpath-plus/v/10.4.0 + Archive: https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-10.4.0.tgz + Integrity: sha512-T92WWatJXmhBbKsgH/0hl+jxjdXrifi5IKeMY02DWggRxX0UElcbVzPlmgLTbvsPeW1PasQ6xE2Q75stkhGbsA== +kind-of@6.0.3 | development | MIT + Lockfile path: node_modules/kind-of + Package: https://www.npmjs.com/package/kind-of/v/6.0.3 + Archive: https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz + Integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== knip@6.39.0 | development | ISC Lockfile path: node_modules/knip Package: https://www.npmjs.com/package/knip/v/6.39.0 @@ -2670,6 +3195,11 @@ lightningcss-win32-x64-msvc@1.33.0 | development, optional | MPL-2.0 Package: https://www.npmjs.com/package/lightningcss-win32-x64-msvc/v/1.33.0 Archive: https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.33.0.tgz Integrity: sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA== +lines-and-columns@1.2.4 | development | MIT + Lockfile path: node_modules/lines-and-columns + Package: https://www.npmjs.com/package/lines-and-columns/v/1.2.4 + Archive: https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz + Integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg== lint-staged@16.4.0 | development | MIT Lockfile path: node_modules/lint-staged Package: https://www.npmjs.com/package/lint-staged/v/16.4.0 @@ -2680,11 +3210,21 @@ listr2@9.0.5 | development | MIT Package: https://www.npmjs.com/package/listr2/v/9.0.5 Archive: https://registry.npmjs.org/listr2/-/listr2-9.0.5.tgz Integrity: sha512-ME4Fb83LgEgwNw96RKNvKV4VTLuXfoKudAmm2lP8Kk87KaMK0/Xrx/aAkMWmT8mDb+3MlFDspfbCs7adjRxA2g== +locate-path@5.0.0 | development | MIT + Lockfile path: node_modules/locate-path + Package: https://www.npmjs.com/package/locate-path/v/5.0.0 + Archive: https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz + Integrity: sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g== lodash.groupby@4.6.0 | development | MIT Lockfile path: node_modules/lodash.groupby Package: https://www.npmjs.com/package/lodash.groupby/v/4.6.0 Archive: https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz Integrity: sha512-5dcWxm23+VAoz+awKmBaiBvzox8+RqMgFhi7UvX9DHZr2HdxHXM/Wrf8cfKpsW37RNrvtPn6hSwNqurSILbmJw== +lodash.ismatch@4.4.0 | development | MIT + Lockfile path: node_modules/lodash.ismatch + Package: https://www.npmjs.com/package/lodash.ismatch/v/4.4.0 + Archive: https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz + Integrity: sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g== log-update@6.1.0 | development | MIT Lockfile path: node_modules/log-update Package: https://www.npmjs.com/package/log-update/v/6.1.0 @@ -2735,6 +3275,11 @@ magicast@0.5.5 | development | MIT Package: https://www.npmjs.com/package/@babel/types/v/7.29.8 Archive: https://registry.npmjs.org/@babel/types/-/types-7.29.8.tgz Integrity: sha512-Vj1jF3cPfxg7OAfoI7QnVKLoILlm2JF9pnVHrX8qx7AHMiYWT+NDAA7jChlNgRS4WTLc/fD1lXLmPixluj+3Gg== +map-obj@4.3.0 | development | MIT + Lockfile path: node_modules/map-obj + Package: https://www.npmjs.com/package/map-obj/v/4.3.0 + Archive: https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz + Integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ== mark.js@8.11.1 | development | MIT Lockfile path: node_modules/mark.js Package: https://www.npmjs.com/package/mark.js/v/8.11.1 @@ -2750,6 +3295,16 @@ mdast-util-to-hast@13.2.1 | development | MIT Package: https://www.npmjs.com/package/mdast-util-to-hast/v/13.2.1 Archive: https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz Integrity: sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA== +meow@8.1.2 | development | MIT + Lockfile path: node_modules/meow + Package: https://www.npmjs.com/package/meow/v/8.1.2 + Archive: https://registry.npmjs.org/meow/-/meow-8.1.2.tgz + Integrity: sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q== +type-fest@0.18.1 | development | (MIT OR CC0-1.0) + Lockfile path: node_modules/meow/node_modules/type-fest + Package: https://www.npmjs.com/package/type-fest/v/0.18.1 + Archive: https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz + Integrity: sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw== micromark-util-character@2.1.1 | development | MIT Lockfile path: node_modules/micromark-util-character Package: https://www.npmjs.com/package/micromark-util-character/v/2.1.1 @@ -2785,6 +3340,11 @@ mimic-response@3.1.0 | runtime | MIT Package: https://www.npmjs.com/package/mimic-response/v/3.1.0 Archive: https://registry.npmjs.org/mimic-response/-/mimic-response-3.1.0.tgz Integrity: sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ== +min-indent@1.0.1 | development | MIT + Lockfile path: node_modules/min-indent + Package: https://www.npmjs.com/package/min-indent/v/1.0.1 + Archive: https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz + Integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg== minimalistic-assert@1.0.1 | development | ISC Lockfile path: node_modules/minimalistic-assert Package: https://www.npmjs.com/package/minimalistic-assert/v/1.0.1 @@ -2800,6 +3360,16 @@ minimist@1.2.8 | runtime | MIT Package: https://www.npmjs.com/package/minimist/v/1.2.8 Archive: https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz Integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA== +minimist-options@4.1.0 | development | MIT + Lockfile path: node_modules/minimist-options + Package: https://www.npmjs.com/package/minimist-options/v/4.1.0 + Archive: https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz + Integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A== +is-plain-obj@1.1.0 | development | MIT + Lockfile path: node_modules/minimist-options/node_modules/is-plain-obj + Package: https://www.npmjs.com/package/is-plain-obj/v/1.1.0 + Archive: https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz + Integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg== minimisted@2.0.1 | runtime | MIT Lockfile path: node_modules/minimisted Package: https://www.npmjs.com/package/minimisted/v/2.0.1 @@ -2825,6 +3395,16 @@ mkdirp-classic@0.5.3 | runtime, optional | MIT Package: https://www.npmjs.com/package/mkdirp-classic/v/0.5.3 Archive: https://registry.npmjs.org/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz Integrity: sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== +modify-values@1.0.1 | development | MIT + Lockfile path: node_modules/modify-values + Package: https://www.npmjs.com/package/modify-values/v/1.0.1 + Archive: https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz + Integrity: sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw== +ms@2.1.3 | development | MIT + Lockfile path: node_modules/ms + Package: https://www.npmjs.com/package/ms/v/2.1.3 + Archive: https://registry.npmjs.org/ms/-/ms-2.1.3.tgz + Integrity: sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== mutation-server-protocol@0.4.1 | development | Apache-2.0 Lockfile path: node_modules/mutation-server-protocol Package: https://www.npmjs.com/package/mutation-server-protocol/v/0.4.1 @@ -2860,16 +3440,31 @@ napi-build-utils@2.0.0 | runtime, optional | MIT Package: https://www.npmjs.com/package/napi-build-utils/v/2.0.0 Archive: https://registry.npmjs.org/napi-build-utils/-/napi-build-utils-2.0.0.tgz Integrity: sha512-GEbrYkbfF7MoNaoh2iGG84Mnf/WZfB0GdGEsM8wz7Expx/LlWf5U8t9nvJKXSp3qr5IsEbK04cBGhol/KwOsWA== +neo-async@2.6.2 | development | MIT + Lockfile path: node_modules/neo-async + Package: https://www.npmjs.com/package/neo-async/v/2.6.2 + Archive: https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz + Integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw== node-abi@3.98.0 | runtime, optional | MIT Lockfile path: node_modules/node-abi Package: https://www.npmjs.com/package/node-abi/v/3.98.0 Archive: https://registry.npmjs.org/node-abi/-/node-abi-3.98.0.tgz Integrity: sha512-Llh8noNw7s15m+rmIrZnZQbe4gLyasL9loT74rC92PkmwWKeEedKvc7o6pjp8B3MhrYT/Cl846NOYZbz1wmddw== +node-html-parser@6.1.13 | development | MIT + Lockfile path: node_modules/node-html-parser + Package: https://www.npmjs.com/package/node-html-parser/v/6.1.13 + Archive: https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.13.tgz + Integrity: sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg== node-releases@2.0.58 | development | MIT Lockfile path: node_modules/node-releases Package: https://www.npmjs.com/package/node-releases/v/2.0.58 Archive: https://registry.npmjs.org/node-releases/-/node-releases-2.0.58.tgz Integrity: sha512-BdiKAgbfRlvfMq/XzO/AF9NPmaA8a+YpLAyAFTVFBj3gARrAIfWvNq7Q7NE4se3KgFu0KkrvQMxTS0XVnsGzHg== +normalize-package-data@3.0.3 | development | BSD-2-Clause + Lockfile path: node_modules/normalize-package-data + Package: https://www.npmjs.com/package/normalize-package-data/v/3.0.3 + Archive: https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz + Integrity: sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== npm-run-path@6.0.0 | development | MIT Lockfile path: node_modules/npm-run-path Package: https://www.npmjs.com/package/npm-run-path/v/6.0.0 @@ -2880,6 +3475,11 @@ path-key@4.0.0 | development | MIT Package: https://www.npmjs.com/package/path-key/v/4.0.0 Archive: https://registry.npmjs.org/path-key/-/path-key-4.0.0.tgz Integrity: sha512-haREypq7xkM7ErfgIyA0z+Bj4AGKlMSdlQE2jvJo6huWD1EdkKYV+G/T4nq0YEF2vgTT8kqMFKo1uHn950r4SQ== +nth-check@2.1.1 | development | BSD-2-Clause + Lockfile path: node_modules/nth-check + Package: https://www.npmjs.com/package/nth-check/v/2.1.1 + Archive: https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz + Integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w== object-inspect@1.13.4 | development | MIT Lockfile path: node_modules/object-inspect Package: https://www.npmjs.com/package/object-inspect/v/1.13.4 @@ -2940,6 +3540,21 @@ oxlint@1.87.0 | development | MIT Package: https://www.npmjs.com/package/oxlint/v/1.87.0 Archive: https://registry.npmjs.org/oxlint/-/oxlint-1.87.0.tgz Integrity: sha512-drxVlaW7Oqq7wSy1CN25znRu00aRq8n57Q2wniJRxCmtYVz07ufCm7EVDPQFZURrTgQIjzKrVEHAD/HcvJXObg== +p-limit@2.3.0 | development | MIT + Lockfile path: node_modules/p-limit + Package: https://www.npmjs.com/package/p-limit/v/2.3.0 + Archive: https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz + Integrity: sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w== +p-locate@4.1.0 | development | MIT + Lockfile path: node_modules/p-locate + Package: https://www.npmjs.com/package/p-locate/v/4.1.0 + Archive: https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz + Integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A== +p-try@2.2.0 | development | MIT + Lockfile path: node_modules/p-try + Package: https://www.npmjs.com/package/p-try/v/2.2.0 + Archive: https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz + Integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== package-manager-detector@1.9.0 | development | MIT Lockfile path: node_modules/package-manager-detector Package: https://www.npmjs.com/package/package-manager-detector/v/1.9.0 @@ -2950,6 +3565,36 @@ pako@1.0.11 | runtime | (MIT AND Zlib) Package: https://www.npmjs.com/package/pako/v/1.0.11 Archive: https://registry.npmjs.org/pako/-/pako-1.0.11.tgz Integrity: sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw== +parse-diff@0.11.1 | development | MIT + Lockfile path: node_modules/parse-diff + Package: https://www.npmjs.com/package/parse-diff/v/0.11.1 + Archive: https://registry.npmjs.org/parse-diff/-/parse-diff-0.11.1.tgz + Integrity: sha512-Oq4j8LAOPOcssanQkIjxosjATBIEJhCxMCxPhMu+Ci4wdNmAEdx0O+a7gzbR2PyKXgKPvRLIN5g224+dJAsKHA== +parse-github-repo-url@1.4.1 | development | MIT + Lockfile path: node_modules/parse-github-repo-url + Package: https://www.npmjs.com/package/parse-github-repo-url/v/1.4.1 + Archive: https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz + Integrity: sha512-bSWyzBKqcSL4RrncTpGsEKoJ7H8a4L3++ifTAbTFeMHyq2wRV+42DGmQcHIrJIvdcacjIOxEuKH/w4tthF17gg== +parse-json@5.2.0 | development | MIT + Lockfile path: node_modules/parse-json + Package: https://www.npmjs.com/package/parse-json/v/5.2.0 + Archive: https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz + Integrity: sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg== +@babel/code-frame@7.29.7 | development | MIT + Lockfile path: node_modules/parse-json/node_modules/@babel/code-frame + Package: https://www.npmjs.com/package/@babel/code-frame/v/7.29.7 + Archive: https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz + Integrity: sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw== +@babel/helper-validator-identifier@7.29.7 | development | MIT + Lockfile path: node_modules/parse-json/node_modules/@babel/helper-validator-identifier + Package: https://www.npmjs.com/package/@babel/helper-validator-identifier/v/7.29.7 + Archive: https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz + Integrity: sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg== +js-tokens@4.0.0 | development | MIT + Lockfile path: node_modules/parse-json/node_modules/js-tokens + Package: https://www.npmjs.com/package/js-tokens/v/4.0.0 + Archive: https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz + Integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ== parse-ms@4.0.0 | development | MIT Lockfile path: node_modules/parse-ms Package: https://www.npmjs.com/package/parse-ms/v/4.0.0 @@ -2965,11 +3610,26 @@ entities@8.1.0 | runtime | BSD-2-Clause Package: https://www.npmjs.com/package/entities/v/8.1.0 Archive: https://registry.npmjs.org/entities/-/entities-8.1.0.tgz Integrity: sha512-kxL7msIffSuh9aaFAMD7rxAIuTRMAHMeBtgHW2yUdWw732ZNh4MehkF2gdjvtdmikkaIP9bFDDJOPlsvm7avrA== +path-exists@4.0.0 | development | MIT + Lockfile path: node_modules/path-exists + Package: https://www.npmjs.com/package/path-exists/v/4.0.0 + Archive: https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz + Integrity: sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w== +path-is-absolute@1.0.1 | development | MIT + Lockfile path: node_modules/path-is-absolute + Package: https://www.npmjs.com/package/path-is-absolute/v/1.0.1 + Archive: https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz + Integrity: sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg== path-key@3.1.1 | runtime | MIT Lockfile path: node_modules/path-key Package: https://www.npmjs.com/package/path-key/v/3.1.1 Archive: https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz Integrity: sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== +path-parse@1.0.7 | development | MIT + Lockfile path: node_modules/path-parse + Package: https://www.npmjs.com/package/path-parse/v/1.0.7 + Archive: https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz + Integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== path-scurry@2.0.2 | runtime | BlueOak-1.0.0 Lockfile path: node_modules/path-scurry Package: https://www.npmjs.com/package/path-scurry/v/2.0.2 @@ -3090,6 +3750,11 @@ quick-format-unescaped@4.0.4 | runtime | MIT Package: https://www.npmjs.com/package/quick-format-unescaped/v/4.0.4 Archive: https://registry.npmjs.org/quick-format-unescaped/-/quick-format-unescaped-4.0.4.tgz Integrity: sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg== +quick-lru@4.0.1 | development | MIT + Lockfile path: node_modules/quick-lru + Package: https://www.npmjs.com/package/quick-lru/v/4.0.1 + Archive: https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz + Integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g== rc@1.2.8 | runtime, optional | (BSD-2-Clause OR MIT OR Apache-2.0) Lockfile path: node_modules/rc Package: https://www.npmjs.com/package/rc/v/1.2.8 @@ -3100,6 +3765,41 @@ strip-json-comments@2.0.1 | runtime, optional | MIT Package: https://www.npmjs.com/package/strip-json-comments/v/2.0.1 Archive: https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-2.0.1.tgz Integrity: sha512-4gB8na07fecVVkOI6Rs4e7T6NOTki5EmL7TUduTs6bu3EdnSycntVJ4re8kgZA+wx9IueI2Y11bfbgwtzuE0KQ== +read-pkg@5.2.0 | development | MIT + Lockfile path: node_modules/read-pkg + Package: https://www.npmjs.com/package/read-pkg/v/5.2.0 + Archive: https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz + Integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg== +read-pkg-up@7.0.1 | development | MIT + Lockfile path: node_modules/read-pkg-up + Package: https://www.npmjs.com/package/read-pkg-up/v/7.0.1 + Archive: https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz + Integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg== +type-fest@0.8.1 | development | (MIT OR CC0-1.0) + Lockfile path: node_modules/read-pkg-up/node_modules/type-fest + Package: https://www.npmjs.com/package/type-fest/v/0.8.1 + Archive: https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz + Integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== +hosted-git-info@2.8.9 | development | ISC + Lockfile path: node_modules/read-pkg/node_modules/hosted-git-info + Package: https://www.npmjs.com/package/hosted-git-info/v/2.8.9 + Archive: https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz + Integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw== +normalize-package-data@2.5.0 | development | BSD-2-Clause + Lockfile path: node_modules/read-pkg/node_modules/normalize-package-data + Package: https://www.npmjs.com/package/normalize-package-data/v/2.5.0 + Archive: https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz + Integrity: sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA== +semver@5.7.2 | development | ISC + Lockfile path: node_modules/read-pkg/node_modules/semver + Package: https://www.npmjs.com/package/semver/v/5.7.2 + Archive: https://registry.npmjs.org/semver/-/semver-5.7.2.tgz + Integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g== +type-fest@0.6.0 | development | (MIT OR CC0-1.0) + Lockfile path: node_modules/read-pkg/node_modules/type-fest + Package: https://www.npmjs.com/package/type-fest/v/0.6.0 + Archive: https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz + Integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg== readable-stream@4.7.0 | runtime | MIT Lockfile path: node_modules/readable-stream Package: https://www.npmjs.com/package/readable-stream/v/4.7.0 @@ -3110,6 +3810,11 @@ real-require@1.0.0 | runtime | MIT Package: https://www.npmjs.com/package/real-require/v/1.0.0 Archive: https://registry.npmjs.org/real-require/-/real-require-1.0.0.tgz Integrity: sha512-P4nbQYQfePJxRSmY+v/KINxVucm4NF3p3s7pJveMTtom52FR4YGltUQLB8idDXwDDWW+eYrWDFbuzUnjoWHF7g== +redent@3.0.0 | development | MIT + Lockfile path: node_modules/redent + Package: https://www.npmjs.com/package/redent/v/3.0.0 + Archive: https://registry.npmjs.org/redent/-/redent-3.0.0.tgz + Integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg== regex@6.1.0 | development | MIT Lockfile path: node_modules/regex Package: https://www.npmjs.com/package/regex/v/6.1.0 @@ -3125,11 +3830,76 @@ regex-utilities@2.3.0 | development | MIT Package: https://www.npmjs.com/package/regex-utilities/v/2.3.0 Archive: https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz Integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng== +release-please@17.3.0 | development | Apache-2.0 + Lockfile path: node_modules/release-please + Package: https://www.npmjs.com/package/release-please/v/17.3.0 + Archive: https://registry.npmjs.org/release-please/-/release-please-17.3.0.tgz + Integrity: sha512-dB7HsFUpAvU1Wj9RGCINUz8Zi2qQDZiGbDEEVnJ7baNfJmk5XdYhuUFL6RcuDGjReGhp1gzY8Tc2g7vHlM4zpg== +@types/unist@2.0.11 | development | MIT + Lockfile path: node_modules/release-please/node_modules/@types/unist + Package: https://www.npmjs.com/package/@types/unist/v/2.0.11 + Archive: https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz + Integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== +@xmldom/xmldom@0.8.15 | development | MIT + Lockfile path: node_modules/release-please/node_modules/@xmldom/xmldom + Package: https://www.npmjs.com/package/@xmldom/xmldom/v/0.8.15 + Archive: https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.15.tgz + Integrity: sha512-/5NV/vDALVFDXgLmfsy9TRCBlKwO2LNBFzpzvb9iIj+jR+eSc6DLYYvVOdivT/jm7MtU6TebYuRmzEOI7w40UA== +ansi-styles@4.3.0 | development | MIT + Lockfile path: node_modules/release-please/node_modules/ansi-styles + Package: https://www.npmjs.com/package/ansi-styles/v/4.3.0 + Archive: https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz + Integrity: sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg== +chalk@4.1.2 | development | MIT + Lockfile path: node_modules/release-please/node_modules/chalk + Package: https://www.npmjs.com/package/chalk/v/4.1.2 + Archive: https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz + Integrity: sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA== +diff@8.0.4 | development | BSD-3-Clause + Lockfile path: node_modules/release-please/node_modules/diff + Package: https://www.npmjs.com/package/diff/v/8.0.4 + Archive: https://registry.npmjs.org/diff/-/diff-8.0.4.tgz + Integrity: sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw== +figures@3.2.0 | development | MIT + Lockfile path: node_modules/release-please/node_modules/figures + Package: https://www.npmjs.com/package/figures/v/3.2.0 + Archive: https://registry.npmjs.org/figures/-/figures-3.2.0.tgz + Integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg== +typescript@4.9.5 | development | Apache-2.0 + Lockfile path: node_modules/release-please/node_modules/typescript + Package: https://www.npmjs.com/package/typescript/v/4.9.5 + Archive: https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz + Integrity: sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g== +unist-util-is@4.1.0 | development | MIT + Lockfile path: node_modules/release-please/node_modules/unist-util-is + Package: https://www.npmjs.com/package/unist-util-is/v/4.1.0 + Archive: https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz + Integrity: sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg== +unist-util-visit@2.0.3 | development | MIT + Lockfile path: node_modules/release-please/node_modules/unist-util-visit + Package: https://www.npmjs.com/package/unist-util-visit/v/2.0.3 + Archive: https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz + Integrity: sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q== +unist-util-visit-parents@3.1.1 | development | MIT + Lockfile path: node_modules/release-please/node_modules/unist-util-visit-parents + Package: https://www.npmjs.com/package/unist-util-visit-parents/v/3.1.1 + Archive: https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz + Integrity: sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg== +require-directory@2.1.1 | development | MIT + Lockfile path: node_modules/require-directory + Package: https://www.npmjs.com/package/require-directory/v/2.1.1 + Archive: https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz + Integrity: sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q== require-from-string@2.0.2 | runtime | MIT Lockfile path: node_modules/require-from-string Package: https://www.npmjs.com/package/require-from-string/v/2.0.2 Archive: https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz Integrity: sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== +resolve@1.22.13 | development | MIT + Lockfile path: node_modules/resolve + Package: https://www.npmjs.com/package/resolve/v/1.22.13 + Archive: https://registry.npmjs.org/resolve/-/resolve-1.22.13.tgz + Integrity: sha512-Dj/cW9zBV2aRj6XzCxuGIs3ESZKv02jixne3q6jFZYZ3/Tg09gHHviSMDL4kObh9pqSahdRHEnDoaP2gn8YLhA== resolve-pkg-maps@1.0.0 | development | MIT Lockfile path: node_modules/resolve-pkg-maps Package: https://www.npmjs.com/package/resolve-pkg-maps/v/1.0.0 @@ -3140,6 +3910,11 @@ restore-cursor@5.1.0 | development | MIT Package: https://www.npmjs.com/package/restore-cursor/v/5.1.0 Archive: https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz Integrity: sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA== +retry@0.13.1 | development | MIT + Lockfile path: node_modules/retry + Package: https://www.npmjs.com/package/retry/v/0.13.1 + Archive: https://registry.npmjs.org/retry/-/retry-0.13.1.tgz + Integrity: sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg== rfdc@1.4.1 | development | MIT Lockfile path: node_modules/rfdc Package: https://www.npmjs.com/package/rfdc/v/1.4.1 @@ -3285,11 +4060,36 @@ space-separated-tokens@2.0.2 | development | MIT Package: https://www.npmjs.com/package/space-separated-tokens/v/2.0.2 Archive: https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz Integrity: sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q== +spdx-correct@3.2.0 | development | Apache-2.0 + Lockfile path: node_modules/spdx-correct + Package: https://www.npmjs.com/package/spdx-correct/v/3.2.0 + Archive: https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz + Integrity: sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA== +spdx-exceptions@2.5.0 | development | CC-BY-3.0 + Lockfile path: node_modules/spdx-exceptions + Package: https://www.npmjs.com/package/spdx-exceptions/v/2.5.0 + Archive: https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz + Integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w== +spdx-expression-parse@3.0.1 | development | MIT + Lockfile path: node_modules/spdx-expression-parse + Package: https://www.npmjs.com/package/spdx-expression-parse/v/3.0.1 + Archive: https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz + Integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q== +spdx-license-ids@3.0.24 | development | CC0-1.0 + Lockfile path: node_modules/spdx-license-ids + Package: https://www.npmjs.com/package/spdx-license-ids/v/3.0.24 + Archive: https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.24.tgz + Integrity: sha512-cLS9TtWkIQFyLkJ3/5aFQAOHOSKTlOs/7WDut/XPSdjom1fJhUdkepeJAKXa9Y05+FabHd0sti+Et559vDtkpQ== speakingurl@14.0.1 | development | BSD-3-Clause Lockfile path: node_modules/speakingurl Package: https://www.npmjs.com/package/speakingurl/v/14.0.1 Archive: https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz Integrity: sha512-1POYv7uv2gXoyGFpBCmpDVSNV74IfsWlDW216UPjbWufNf+bSU6GdbDsxdcxtfwb4xlI3yxzOTKClUosxARYrQ== +split@1.0.1 | development | MIT + Lockfile path: node_modules/split + Package: https://www.npmjs.com/package/split/v/1.0.1 + Archive: https://registry.npmjs.org/split/-/split-1.0.1.tgz + Integrity: sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg== split2@4.2.0 | runtime | ISC Lockfile path: node_modules/split2 Package: https://www.npmjs.com/package/split2/v/4.2.0 @@ -3340,6 +4140,11 @@ strip-final-newline@4.0.0 | development | MIT Package: https://www.npmjs.com/package/strip-final-newline/v/4.0.0 Archive: https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-4.0.0.tgz Integrity: sha512-aulFJcD6YK8V1G7iRB5tigAP4TsHBZZrOV8pjV++zdUwmeV8uzbY7yn6h9MswN62adStNZFuCIx4haBnRuMDaw== +strip-indent@3.0.0 | development | MIT + Lockfile path: node_modules/strip-indent + Package: https://www.npmjs.com/package/strip-indent/v/3.0.0 + Archive: https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz + Integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ== strip-json-comments@5.0.3 | development | MIT Lockfile path: node_modules/strip-json-comments Package: https://www.npmjs.com/package/strip-json-comments/v/5.0.3 @@ -3350,6 +4155,16 @@ superjson@2.2.6 | development | MIT Package: https://www.npmjs.com/package/superjson/v/2.2.6 Archive: https://registry.npmjs.org/superjson/-/superjson-2.2.6.tgz Integrity: sha512-H+ue8Zo4vJmV2nRjpx86P35lzwDT3nItnIsocgumgr0hHMQ+ZGq5vrERg9kJBo5AWGmxZDhzDo+WVIJqkB0cGA== +supports-color@7.2.0 | development | MIT + Lockfile path: node_modules/supports-color + Package: https://www.npmjs.com/package/supports-color/v/7.2.0 + Archive: https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz + Integrity: sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw== +supports-preserve-symlinks-flag@1.0.0 | development | MIT + Lockfile path: node_modules/supports-preserve-symlinks-flag + Package: https://www.npmjs.com/package/supports-preserve-symlinks-flag/v/1.0.0 + Archive: https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz + Integrity: sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== tabbable@6.5.0 | development | MIT Lockfile path: node_modules/tabbable Package: https://www.npmjs.com/package/tabbable/v/6.5.0 @@ -3375,6 +4190,11 @@ thread-stream@4.2.0 | runtime | MIT Package: https://www.npmjs.com/package/thread-stream/v/4.2.0 Archive: https://registry.npmjs.org/thread-stream/-/thread-stream-4.2.0.tgz Integrity: sha512-e2zZ96wSChazBsbENf/Pcm/4swHt2cEKQ92rhUjkL9GCKiTDJIaTBenjE/m9DXi0QBmTMDkFDdOomUy20A1tDQ== +through@2.3.8 | development | MIT + Lockfile path: node_modules/through + Package: https://www.npmjs.com/package/through/v/2.3.8 + Archive: https://registry.npmjs.org/through/-/through-2.3.8.tgz + Integrity: sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg== tinybench@6.2.0 | development | MIT Lockfile path: node_modules/tinybench Package: https://www.npmjs.com/package/tinybench/v/6.2.0 @@ -3420,6 +4240,11 @@ trim-lines@3.0.1 | development | MIT Package: https://www.npmjs.com/package/trim-lines/v/3.0.1 Archive: https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz Integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg== +trim-newlines@3.0.1 | development | MIT + Lockfile path: node_modules/trim-newlines + Package: https://www.npmjs.com/package/trim-newlines/v/3.0.1 + Archive: https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz + Integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw== tslib@2.8.1 | development | 0BSD Lockfile path: node_modules/tslib Package: https://www.npmjs.com/package/tslib/v/2.8.1 @@ -3450,6 +4275,11 @@ turbo@2.11.7 | development | MIT Package: https://www.npmjs.com/package/turbo/v/2.11.7 Archive: https://registry.npmjs.org/turbo/-/turbo-2.11.7.tgz Integrity: sha512-RhXHbqfvY6o3xt/zSHCwSNwLrZlXiqHzewi4eAj9PtZ1T1CqgMJ2yIDb7SKPTG9IikTm925mfzL6hldQVdyNWw== +type-fest@3.13.1 | development | (MIT OR CC0-1.0) + Lockfile path: node_modules/type-fest + Package: https://www.npmjs.com/package/type-fest/v/3.13.1 + Archive: https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz + Integrity: sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== typed-array-buffer@1.0.3 | runtime | MIT Lockfile path: node_modules/typed-array-buffer Package: https://www.npmjs.com/package/typed-array-buffer/v/1.0.3 @@ -3480,6 +4310,11 @@ typescript@6.0.3 | development | Apache-2.0 Package: https://www.npmjs.com/package/typescript/v/6.0.3 Archive: https://registry.npmjs.org/typescript/-/typescript-6.0.3.tgz Integrity: sha512-y2TvuxSZPDyQakkFRPZHKFm+KKVqIisdg9/CZwm9ftvKXLP8NRWj38/ODjNbr43SsoXqNuAisEf1GdCxqWcdBw== +uglify-js@3.19.3 | development, optional | BSD-2-Clause + Lockfile path: node_modules/uglify-js + Package: https://www.npmjs.com/package/uglify-js/v/3.19.3 + Archive: https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz + Integrity: sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ== unbash@4.0.12 | development | ISC Lockfile path: node_modules/unbash Package: https://www.npmjs.com/package/unbash/v/4.0.12 @@ -3525,6 +4360,11 @@ unist-util-visit-parents@6.0.2 | development | MIT Package: https://www.npmjs.com/package/unist-util-visit-parents/v/6.0.2 Archive: https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz Integrity: sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ== +universal-user-agent@6.0.1 | development | ISC + Lockfile path: node_modules/universal-user-agent + Package: https://www.npmjs.com/package/universal-user-agent/v/6.0.1 + Archive: https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz + Integrity: sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ== update-browserslist-db@1.3.4 | development | MIT Lockfile path: node_modules/update-browserslist-db Package: https://www.npmjs.com/package/update-browserslist-db/v/1.3.4 @@ -3535,6 +4375,11 @@ util-deprecate@1.0.2 | runtime, optional | MIT Package: https://www.npmjs.com/package/util-deprecate/v/1.0.2 Archive: https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz Integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw== +validate-npm-package-license@3.0.4 | development | Apache-2.0 + Lockfile path: node_modules/validate-npm-package-license + Package: https://www.npmjs.com/package/validate-npm-package-license/v/3.0.4 + Archive: https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz + Integrity: sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew== verkit@0.5.0 | development | MIT Lockfile path: node_modules/verkit Package: https://www.npmjs.com/package/verkit/v/0.5.0 @@ -3825,6 +4670,11 @@ why-is-node-running@3.2.1 | development | MIT Package: https://www.npmjs.com/package/why-is-node-running/v/3.2.1 Archive: https://registry.npmjs.org/why-is-node-running/-/why-is-node-running-3.2.1.tgz Integrity: sha512-Tb2FUhB4vUsGQlfSquQLYkApkuPAFQXGFzxWKHHumVz2dK+X1RUm/HnID4+TfIGYJ1kTcwOaCk/buYCEJr6YjQ== +wordwrap@1.0.0 | development | MIT + Lockfile path: node_modules/wordwrap + Package: https://www.npmjs.com/package/wordwrap/v/1.0.0 + Archive: https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz + Integrity: sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q== wrap-ansi@9.0.2 | development | MIT Lockfile path: node_modules/wrap-ansi Package: https://www.npmjs.com/package/wrap-ansi/v/9.0.2 @@ -3860,11 +4710,66 @@ xmlchars@2.2.0 | runtime | MIT Package: https://www.npmjs.com/package/xmlchars/v/2.2.0 Archive: https://registry.npmjs.org/xmlchars/-/xmlchars-2.2.0.tgz Integrity: sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== +xpath@0.0.34 | development | MIT + Lockfile path: node_modules/xpath + Package: https://www.npmjs.com/package/xpath/v/0.0.34 + Archive: https://registry.npmjs.org/xpath/-/xpath-0.0.34.tgz + Integrity: sha512-FxF6+rkr1rNSQrhUNYrAFJpRXNzlDoMxeXN5qI84939ylEv3qqPFKa85Oxr6tDaJKqwW6KKyo2v26TSv3k6LeA== +y18n@5.0.8 | development | ISC + Lockfile path: node_modules/y18n + Package: https://www.npmjs.com/package/y18n/v/5.0.8 + Archive: https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz + Integrity: sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA== +yallist@4.0.0 | development | ISC + Lockfile path: node_modules/yallist + Package: https://www.npmjs.com/package/yallist/v/4.0.0 + Archive: https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz + Integrity: sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A== yaml@2.9.0 | runtime | ISC Lockfile path: node_modules/yaml Package: https://www.npmjs.com/package/yaml/v/2.9.0 Archive: https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz Integrity: sha512-2AvhNX3mb8zd6Zy7INTtSpl1F15HW6Wnqj0srWlkKLcpYl/gMIMJiyuGq2KeI2YFxUPjdlB+3Lc10seMLtL4cA== +yargs@17.7.3 | development | MIT + Lockfile path: node_modules/yargs + Package: https://www.npmjs.com/package/yargs/v/17.7.3 + Archive: https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz + Integrity: sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g== +yargs-parser@20.2.9 | development | ISC + Lockfile path: node_modules/yargs-parser + Package: https://www.npmjs.com/package/yargs-parser/v/20.2.9 + Archive: https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz + Integrity: sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w== +ansi-regex@5.0.1 | development | MIT + Lockfile path: node_modules/yargs/node_modules/ansi-regex + Package: https://www.npmjs.com/package/ansi-regex/v/5.0.1 + Archive: https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz + Integrity: sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ== +emoji-regex@8.0.0 | development | MIT + Lockfile path: node_modules/yargs/node_modules/emoji-regex + Package: https://www.npmjs.com/package/emoji-regex/v/8.0.0 + Archive: https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz + Integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +is-fullwidth-code-point@3.0.0 | development | MIT + Lockfile path: node_modules/yargs/node_modules/is-fullwidth-code-point + Package: https://www.npmjs.com/package/is-fullwidth-code-point/v/3.0.0 + Archive: https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz + Integrity: sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg== +string-width@4.2.3 | development | MIT + Lockfile path: node_modules/yargs/node_modules/string-width + Package: https://www.npmjs.com/package/string-width/v/4.2.3 + Archive: https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz + Integrity: sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== +strip-ansi@6.0.1 | development | MIT + Lockfile path: node_modules/yargs/node_modules/strip-ansi + Package: https://www.npmjs.com/package/strip-ansi/v/6.0.1 + Archive: https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz + Integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== +yargs-parser@21.1.1 | development | ISC + Lockfile path: node_modules/yargs/node_modules/yargs-parser + Package: https://www.npmjs.com/package/yargs-parser/v/21.1.1 + Archive: https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz + Integrity: sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw== yoctocolors@2.2.0 | development | MIT Lockfile path: node_modules/yoctocolors Package: https://www.npmjs.com/package/yoctocolors/v/2.2.0 diff --git a/package-lock.json b/package-lock.json index 98ad57b8ae..170aee203d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -73,6 +73,7 @@ "lint-staged": "16.4.0", "oxfmt": "0.72.0", "oxlint": "1.87.0", + "release-please": "17.3.0", "rolldown": "1.2.12", "tsrs": "0.18.0-ts7.1.0-dev.20260929", "tsx": "4.23.15", @@ -1133,6 +1134,66 @@ "node": ">= 20.12.0" } }, + "node_modules/@conventional-commits/parser": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@conventional-commits/parser/-/parser-0.4.1.tgz", + "integrity": "sha512-H2ZmUVt6q+KBccXfMBhbBF14NlANeqHTXL4qCL6QGbMzrc4HDXyzWuxPxPNbz71f/5UkR5DrycP5VO9u7crahg==", + "dev": true, + "license": "ISC", + "dependencies": { + "unist-util-visit": "^2.0.3", + "unist-util-visit-parents": "^3.1.1" + } + }, + "node_modules/@conventional-commits/parser/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@conventional-commits/parser/node_modules/unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@conventional-commits/parser/node_modules/unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@conventional-commits/parser/node_modules/unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, "node_modules/@docsearch/css": { "version": "3.8.2", "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-3.8.2.tgz", @@ -1709,6 +1770,27 @@ "vitest": "^4.1.0 || ^5.0.0" } }, + "node_modules/@google-automations/git-file-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@google-automations/git-file-utils/-/git-file-utils-3.2.1.tgz", + "integrity": "sha512-LYOjAnGu/xtEkYYh6W3/1RmeK9HB/fV+xMe7nHc+WiDYrnxAJWBfcyUucoJtYS8XAhVUzNWrQvYDPRbxe67DNQ==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@octokit/rest": "^20.1.1", + "minimatch": "^10.2.4" + }, + "engines": { + "node": ">= 22" + } + }, + "node_modules/@iarna/toml": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@iarna/toml/-/toml-3.0.0.tgz", + "integrity": "sha512-td6ZUkz2oS3VeleBcN+m//Q6HlCFCPrnI0FZhrt/h4XqLEdOyYp2u21nd8MdsR+WJy5r9PTDaHTDDfhf4H4l6Q==", + "dev": true, + "license": "ISC" + }, "node_modules/@iconify-json/simple-icons": { "version": "1.2.99", "resolved": "https://registry.npmjs.org/@iconify-json/simple-icons/-/simple-icons-1.2.99.tgz", @@ -2106,6 +2188,32 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@jsep-plugin/assignment": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@jsep-plugin/assignment/-/assignment-1.4.0.tgz", + "integrity": "sha512-nw2Px23Eirx0PFTVoPrb3FEq9Wkmg6vxcDtt38MtBCf1G0tjLCB9cK+3seOXyiw+6+aalgYhvJabQbWwMVKlEQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" + } + }, + "node_modules/@jsep-plugin/regex": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@jsep-plugin/regex/-/regex-1.1.0.tgz", + "integrity": "sha512-2Vkbda+XRjK6VTI6Lrh0sNBuMT8mZ51EhqMvO+V2rSdmqjs7NAGssxPZfkL23EFzYfSrvxyd1ZjOdqPQMM50og==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 10.16.0" + }, + "peerDependencies": { + "jsep": "^0.4.0||^1.0.0" + } + }, "node_modules/@lydell/node-pty": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@lydell/node-pty/-/node-pty-1.1.0.tgz", @@ -2289,6 +2397,173 @@ "@emnapi/runtime": "^1.7.1 || ^2.0.0-alpha.4" } }, + "node_modules/@octokit/auth-token": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-4.0.0.tgz", + "integrity": "sha512-tY/msAuJo6ARbK6SPIxZrPBms3xPbfwBrulZe0Wtr/DIY9lje2HeV1uoebShn6mx7SjCHif6EjMvoREj+gZ+SA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/core": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/@octokit/core/-/core-5.2.2.tgz", + "integrity": "sha512-/g2d4sW9nUDJOMz3mabVQvOGhVa4e/BN/Um7yca9Bb2XTzPPnfTWHWQg+IsEYO7M3Vx+EXvaM/I2pJWIMun1bg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/auth-token": "^4.0.0", + "@octokit/graphql": "^7.1.0", + "@octokit/request": "^8.4.1", + "@octokit/request-error": "^5.1.1", + "@octokit/types": "^13.0.0", + "before-after-hook": "^2.2.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/endpoint": { + "version": "9.0.6", + "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-9.0.6.tgz", + "integrity": "sha512-H1fNTMA57HbkFESSt3Y9+FBICv+0jFceJFPWDePYlR/iMGrwM5ph+Dd4XRQs+8X+PUFURLQgX9ChPfhJ/1uNQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/graphql": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-7.1.1.tgz", + "integrity": "sha512-3mkDltSfcDUoa176nlGoA32RGjeWjl3K7F/BwHwRMJUW/IteSa4bnSV8p2ThNkcIcZU2umkZWxwETSSCJf2Q7g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/request": "^8.4.1", + "@octokit/types": "^13.0.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/openapi-types": { + "version": "24.2.0", + "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-24.2.0.tgz", + "integrity": "sha512-9sIH3nSUttelJSXUrmGzl7QUBFul0/mB8HRYl3fOlgHbIWG+WnYDXU3v/2zMtAvuzZ/ed00Ei6on975FhBfzrg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@octokit/plugin-paginate-rest": { + "version": "11.4.4-cjs.2", + "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-11.4.4-cjs.2.tgz", + "integrity": "sha512-2dK6z8fhs8lla5PaOTgqfCGBxgAv/le+EhPs27KklPhm1bKObpu6lXzwfUEQ16ajXzqNrKMujsFyo9K2eaoISw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.7.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "5" + } + }, + "node_modules/@octokit/plugin-request-log": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-4.0.1.tgz", + "integrity": "sha512-GihNqNpGHorUrO7Qa9JbAl0dbLnqJVrV8OXe2Zm5/Y4wFkZQDfTreBzVmiRfJVfE4mClXdihHnbpyyO9FSX4HA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "5" + } + }, + "node_modules/@octokit/plugin-rest-endpoint-methods": { + "version": "13.3.2-cjs.1", + "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-13.3.2-cjs.1.tgz", + "integrity": "sha512-VUjIjOOvF2oELQmiFpWA1aOPdawpyaCUqcEBc/UOUnj3Xp6DJGrJ1+bjUIIDzdHjnFNO6q57ODMfdEZnoBkCwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.8.0" + }, + "engines": { + "node": ">= 18" + }, + "peerDependencies": { + "@octokit/core": "^5" + } + }, + "node_modules/@octokit/request": { + "version": "8.4.1", + "resolved": "https://registry.npmjs.org/@octokit/request/-/request-8.4.1.tgz", + "integrity": "sha512-qnB2+SY3hkCmBxZsR/MPCybNmbJe4KAlfWErXq+rBKkQJlbjdJeS85VI9r8UqeLYLvnAenU8Q1okM/0MBsAGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/endpoint": "^9.0.6", + "@octokit/request-error": "^5.1.1", + "@octokit/types": "^13.1.0", + "universal-user-agent": "^6.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/request-error": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-5.1.1.tgz", + "integrity": "sha512-v9iyEQJH6ZntoENr9/yXxjuezh4My67CBSu9r6Ve/05Iu5gNgnisNWOsoJHTP6k0Rr0+HQIpnH+kyammu90q/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/types": "^13.1.0", + "deprecation": "^2.0.0", + "once": "^1.4.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/rest": { + "version": "20.1.2", + "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-20.1.2.tgz", + "integrity": "sha512-GmYiltypkHHtihFwPRxlaorG5R9VAHuk/vbszVoRTGXnAsY60wYLkh/E2XiFmdZmqrisw+9FaazS1i5SbdWYgA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/core": "^5.0.2", + "@octokit/plugin-paginate-rest": "11.4.4-cjs.2", + "@octokit/plugin-request-log": "^4.0.0", + "@octokit/plugin-rest-endpoint-methods": "13.3.2-cjs.1" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/@octokit/types": { + "version": "13.10.0", + "resolved": "https://registry.npmjs.org/@octokit/types/-/types-13.10.0.tgz", + "integrity": "sha512-ifLaO34EbbPj0Xgro4G5lP5asESjwHracYJvVaPIyXMuiuXLlhic3S47cBdTb+jfODkTE5YtGCLt3Ay3+J97sA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@octokit/openapi-types": "^24.2.0" + } + }, "node_modules/@oxc-parser/binding-android-arm-eabi": { "version": "0.150.0", "resolved": "https://registry.npmjs.org/@oxc-parser/binding-android-arm-eabi/-/binding-android-arm-eabi-0.150.0.tgz", @@ -4696,6 +4971,13 @@ "dev": true, "license": "MIT" }, + "node_modules/@types/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/node": { "version": "26.6.4", "resolved": "https://registry.npmjs.org/@types/node/-/node-26.6.4.tgz", @@ -4706,6 +4988,20 @@ "undici-types": "~8.9.0" } }, + "node_modules/@types/normalize-package-data": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.4.tgz", + "integrity": "sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/npm-package-arg": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/@types/npm-package-arg/-/npm-package-arg-6.1.4.tgz", + "integrity": "sha512-vDgdbMy2QXHnAruzlv68pUtXCjmqUk3WrBAsRboRovsOmxbfn/WiYCjmecyKjGztnMps5dWp4Uq2prp+Ilo17Q==", + "dev": true, + "license": "MIT" + }, "node_modules/@types/semver": { "version": "7.7.1", "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.7.1.tgz", @@ -4747,6 +5043,23 @@ "@types/node": "*" } }, + "node_modules/@types/yargs": { + "version": "16.0.11", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.11.tgz", + "integrity": "sha512-sbtvk8wDN+JvEdabmZExoW/HNr1cB7D/j4LT08rMiuikfA7m/JNJg7ATQcgzs34zHnoScDkY0ZRSl29Fkmk36g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/yargs-parser": "*" + } + }, + "node_modules/@types/yargs-parser": { + "version": "21.0.3", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz", + "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==", + "dev": true, + "license": "MIT" + }, "node_modules/@typescript/typescript-aix-ppc64": { "version": "7.0.2", "resolved": "https://registry.npmjs.org/@typescript/typescript-aix-ppc64/-/typescript-aix-ppc64-7.0.2.tgz", @@ -5604,6 +5917,16 @@ "node": ">=6.5" } }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, "node_modules/ajv": { "version": "8.20.0", "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.20.0.tgz", @@ -5715,6 +6038,30 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true, + "license": "Python-2.0" + }, + "node_modules/array-ify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-ify/-/array-ify-1.0.0.tgz", + "integrity": "sha512-c5AMf34bKdvPhQ7tBGhqkgKNUzMr4WUs+WDtC2ZUGOUncbxKMTvqxYctiseW3+L4bA8ec+GcZ6/A/FW4m8ukng==", + "dev": true, + "license": "MIT" + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/assertion-error": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/assertion-error/-/assertion-error-2.0.1.tgz", @@ -5743,6 +6090,16 @@ "integrity": "sha512-Az2ZTpuytrtqENulXwO3GGv1Bztugx6TT37NIo7imr/Qo0gsYiGtSdBa2B6fsXhTpVZDNfu1Qn3pk531e3q+nQ==", "license": "MIT" }, + "node_modules/async-retry": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/async-retry/-/async-retry-1.3.3.tgz", + "integrity": "sha512-wfr/jstw9xNi/0teMHrRW7dsz3Lt5ARhYNZ2ewpadnhaIp5mbALhOAP+EAdsC7t4Z6wqsDVv9+W6gm1Dk9mEyw==", + "dev": true, + "license": "MIT", + "dependencies": { + "retry": "0.13.1" + } + }, "node_modules/atomic-sleep": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/atomic-sleep/-/atomic-sleep-1.0.0.tgz", @@ -5809,6 +6166,13 @@ "node": ">=6.0.0" } }, + "node_modules/before-after-hook": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz", + "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ==", + "dev": true, + "license": "Apache-2.0" + }, "node_modules/bindings": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", @@ -5881,6 +6245,13 @@ "node": ">= 6" } }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, "node_modules/brace-expansion": { "version": "5.0.12", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-5.0.12.tgz", @@ -5998,6 +6369,34 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase-keys": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-6.2.2.tgz", + "integrity": "sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "camelcase": "^5.3.1", + "map-obj": "^4.0.0", + "quick-lru": "^4.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/caniuse-lite": { "version": "1.0.30001815", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001815.tgz", @@ -6159,6 +6558,335 @@ "node": ">= 12" } }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/cliui/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/cliui/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/code-suggester": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/code-suggester/-/code-suggester-5.0.1.tgz", + "integrity": "sha512-8qJiiSCfkbPNWvjEFzdG1UW3axL+Bs0ldV1/TdlBKmF9I/a/WooSQZQCi9M44HoXbVTQesn/IQr6+nIWNnVIWA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@octokit/rest": "^20.1.2", + "@types/yargs": "^16.0.0", + "async-retry": "^1.3.1", + "diff": "^8.0.3", + "glob": "^7.1.6", + "parse-diff": "^0.11.0", + "yargs": "^16.0.0" + }, + "bin": { + "code-suggester": "build/src/bin/code-suggester.js" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/code-suggester/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/code-suggester/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/code-suggester/node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/code-suggester/node_modules/brace-expansion": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.21.tgz", + "integrity": "sha512-9zeA+KLZNNzglF2TPKRQEDyx6Yby7daAkuy8MiPzpXPsYDWi/DRM8jmwUDxokQjYqBpv5DgPiwD4h4ZZSy1Ujw==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/code-suggester/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/code-suggester/node_modules/diff": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/code-suggester/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/code-suggester/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Old versions of glob are not supported, and contain widely publicized security vulnerabilities, which have been fixed in the current version. Please update. Support for old versions may be purchased (at exorbitant rates) by contacting i@izs.me", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/code-suggester/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/code-suggester/node_modules/minimatch": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.5.tgz", + "integrity": "sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/code-suggester/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/code-suggester/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/code-suggester/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/code-suggester/node_modules/yargs": { + "version": "16.2.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.2.tgz", + "integrity": "sha512-Nt9ZJjXTv5R8MHbqby/wXQ6Gi0Bb3TcYZkR1bzuL4yB2OxWPkXknz513gEF0GoA6tn00UpbPvERW8rzCuWCA6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", @@ -6187,6 +6915,73 @@ "node": ">=20" } }, + "node_modules/compare-func": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/compare-func/-/compare-func-2.0.0.tgz", + "integrity": "sha512-zHig5N+tPWARooBnb0Zx1MFcdfpyJrfTJ3Y5L+IFvUm8rM74hHz66z0gw0x4tijh5CorKkKUCnW82R2vmpeCRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "array-ify": "^1.0.0", + "dot-prop": "^5.1.0" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/conventional-changelog-conventionalcommits": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/conventional-changelog-conventionalcommits/-/conventional-changelog-conventionalcommits-6.1.0.tgz", + "integrity": "sha512-3cS3GEtR78zTfMzk0AizXKKIdN4OvSh7ibNz6/DPbhWWQu7LqE/8+/GqSodV+sywUR2gpJAdP/1JFf4XtN7Zpw==", + "dev": true, + "license": "ISC", + "dependencies": { + "compare-func": "^2.0.0" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/conventional-changelog-writer": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/conventional-changelog-writer/-/conventional-changelog-writer-6.0.1.tgz", + "integrity": "sha512-359t9aHorPw+U+nHzUXHS5ZnPBOizRxfQsWT5ZDHBfvfxQOAik+yfuhKXG66CN5LEWPpMNnIMHUTCKeYNprvHQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "conventional-commits-filter": "^3.0.0", + "dateformat": "^3.0.3", + "handlebars": "^4.7.7", + "json-stringify-safe": "^5.0.1", + "meow": "^8.1.2", + "semver": "^7.0.0", + "split": "^1.0.1" + }, + "bin": { + "conventional-changelog-writer": "cli.js" + }, + "engines": { + "node": ">=14" + } + }, + "node_modules/conventional-commits-filter": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/conventional-commits-filter/-/conventional-commits-filter-3.0.0.tgz", + "integrity": "sha512-1ymej8b5LouPx9Ox0Dw/qAO2dVdfpRFq28e5Y0jJEU8ZrLdy0vOSkkIInwmxErFGhg6SALro60ZrwYFVTUDo4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "lodash.ismatch": "^4.4.0", + "modify-values": "^1.0.1" + }, + "engines": { + "node": ">=14" + } + }, "node_modules/convert-source-map": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", @@ -6233,6 +7028,36 @@ "node": ">= 8" } }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, "node_modules/csstype": { "version": "3.2.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", @@ -6240,6 +7065,71 @@ "dev": true, "license": "MIT" }, + "node_modules/dateformat": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/dateformat/-/dateformat-3.0.3.tgz", + "integrity": "sha512-jyCETtSl3VMZMWeRo7iY1FL19ges1t55hMo5yaam4Jrsm5EPL89UQkoQRyiI+Yf4k8r2ZpdngkV8hr1lIdjb3Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": "*" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/decamelize-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz", + "integrity": "sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==", + "dev": true, + "license": "MIT", + "dependencies": { + "decamelize": "^1.1.0", + "map-obj": "^1.0.0" + }, + "engines": { + "node": ">=0.10.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/decamelize-keys/node_modules/map-obj": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-1.0.1.tgz", + "integrity": "sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/decompress-response": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/decompress-response/-/decompress-response-6.0.0.tgz", @@ -6282,6 +7172,13 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/deprecation": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz", + "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ==", + "dev": true, + "license": "ISC" + }, "node_modules/dequal": { "version": "2.0.3", "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", @@ -6303,6 +7200,16 @@ "minimalistic-assert": "^1.0.0" } }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/detect-libc": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", @@ -6349,6 +7256,91 @@ "integrity": "sha512-iSq8ngPOt0K53A6eVr4d5Kn6GNrM2nQZtC740pzIriHtn4pOQ2lyzEXQMBeVcWERN0ye7fhBsk9PbLLQOnUx/g==", "license": "MIT" }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dot-prop": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", + "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-obj": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/dunder-proto": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", @@ -6430,6 +7422,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/error-ex": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.4.tgz", + "integrity": "sha512-sqQamAnR14VgCr1A618A3sGrygcpK+HEbenA/HiEAkkUwcZIIB/tgWqHFxWgOyDh4nB4JCRimh79dR5Ywc9MDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, "node_modules/es-define-property": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", @@ -6519,6 +7521,16 @@ "node": ">=6" } }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/estree-walker": { "version": "3.0.3", "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", @@ -6754,6 +7766,20 @@ "license": "MIT", "optional": true }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/flru": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/flru/-/flru-1.0.2.tgz", @@ -6829,6 +7855,13 @@ "license": "MIT", "optional": true }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, "node_modules/fsevents": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", @@ -6863,6 +7896,16 @@ "node": ">=6.9.0" } }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, "node_modules/get-east-asian-width": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.6.0.tgz", @@ -6979,6 +8022,38 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/handlebars": { + "version": "4.7.10", + "resolved": "https://registry.npmjs.org/handlebars/-/handlebars-4.7.10.tgz", + "integrity": "sha512-P5VJMVM7qgBn6vjXMw8WG9uVI+ncf2pi72j4de4yz5ZULLj2RGqLYaKOYGsgyrViQ0tePOVlN1tDCCXXtFqXKg==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.8", + "neo-async": "^2.6.2", + "source-map": "^0.6.1", + "wordwrap": "^1.0.0" + }, + "bin": { + "handlebars": "bin/handlebars" + }, + "engines": { + "node": ">=0.4.7" + }, + "optionalDependencies": { + "uglify-js": "^3.1.4" + } + }, + "node_modules/handlebars/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", @@ -6988,6 +8063,26 @@ "node": ">=4" } }, + "node_modules/hard-rejection": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/hard-rejection/-/hard-rejection-2.1.0.tgz", + "integrity": "sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/has-property-descriptors": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", @@ -7077,6 +8172,16 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "license": "MIT", + "bin": { + "he": "bin/he" + } + }, "node_modules/hookable": { "version": "5.5.3", "resolved": "https://registry.npmjs.org/hookable/-/hookable-5.5.3.tgz", @@ -7084,6 +8189,32 @@ "dev": true, "license": "MIT" }, + "node_modules/hosted-git-info": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-4.1.0.tgz", + "integrity": "sha512-kyCuEOWjJqZuDbRHzL8V93NzQhwIB71oFWSyzVo+KPZI+pnQPPxucdkrOZvkLRnrf5URsQM+IJ09Dw29cRALIA==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^6.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/html-void-elements": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", @@ -7095,6 +8226,34 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, "node_modules/human-signals": { "version": "8.0.1", "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-8.0.1.tgz", @@ -7221,6 +8380,28 @@ "node": ">=20" } }, + "node_modules/indent-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", + "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, "node_modules/inherits": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", @@ -7234,6 +8415,13 @@ "license": "ISC", "optional": true }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true, + "license": "MIT" + }, "node_modules/is-callable": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", @@ -7246,6 +8434,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-core-module": { + "version": "2.17.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.17.0.tgz", + "integrity": "sha512-J/vG0zBCbIKOQFfufSwyXdMrsohyJIUNkrnmo6WZGzoM7tr/lsbfW5b2BvisL6zsyMzK9UxV9L6c7AoFbyXHOA==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-fullwidth-code-point": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.1.0.tgz", @@ -7262,6 +8466,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-obj": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", + "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-obj": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", @@ -7395,6 +8609,29 @@ "dev": true, "license": "MIT" }, + "node_modules/js-yaml": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.3.2.tgz", + "integrity": "sha512-SFNOvSJ+Dgf/9An904Yx+CgSlIPCkIpao4qo51lpee25TIRejdH3rhR4EZMGoNx3/TP3O+wzWuiTFl4sqbltzA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/puzrin" + }, + { + "type": "github", + "url": "https://github.com/sponsors/nodeca" + } + ], + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, "node_modules/jscpd": { "version": "5.0.12", "resolved": "https://registry.npmjs.org/jscpd/-/jscpd-5.0.12.tgz", @@ -7500,6 +8737,16 @@ "win32" ] }, + "node_modules/jsep": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/jsep/-/jsep-1.6.0.tgz", + "integrity": "sha512-Y8Tr54CX7B5YGAwo7/n8eumidEX3Opx98RyyQVnlHqUaZcPA8uUzL2v1rshr9ypW9Q6hNjfJtg3sL+8kaNE7TA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20.16.0" + } + }, "node_modules/jsesc": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", @@ -7513,6 +8760,13 @@ "node": ">=6" } }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true, + "license": "MIT" + }, "node_modules/json-rpc-2.0": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/json-rpc-2.0/-/json-rpc-2.0-1.8.1.tgz", @@ -7526,6 +8780,13 @@ "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "license": "MIT" }, + "node_modules/json-stringify-safe": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", + "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", + "dev": true, + "license": "ISC" + }, "node_modules/json5": { "version": "2.2.3", "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", @@ -7545,6 +8806,35 @@ "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", "license": "MIT" }, + "node_modules/jsonpath-plus": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/jsonpath-plus/-/jsonpath-plus-10.4.0.tgz", + "integrity": "sha512-T92WWatJXmhBbKsgH/0hl+jxjdXrifi5IKeMY02DWggRxX0UElcbVzPlmgLTbvsPeW1PasQ6xE2Q75stkhGbsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jsep-plugin/assignment": "^1.3.0", + "@jsep-plugin/regex": "^1.0.4", + "jsep": "^1.4.0" + }, + "bin": { + "jsonpath": "bin/jsonpath-cli.js", + "jsonpath-plus": "bin/jsonpath-cli.js" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/knip": { "version": "6.39.0", "resolved": "https://registry.npmjs.org/knip/-/knip-6.39.0.tgz", @@ -7873,6 +9163,13 @@ "url": "https://opencollective.com/parcel" } }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true, + "license": "MIT" + }, "node_modules/lint-staged": { "version": "16.4.0", "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-16.4.0.tgz", @@ -7915,6 +9212,19 @@ "node": ">=20.0.0" } }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/lodash.groupby": { "version": "4.6.0", "resolved": "https://registry.npmjs.org/lodash.groupby/-/lodash.groupby-4.6.0.tgz", @@ -7922,6 +9232,13 @@ "dev": true, "license": "MIT" }, + "node_modules/lodash.ismatch": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/lodash.ismatch/-/lodash.ismatch-4.4.0.tgz", + "integrity": "sha512-fPMfXjGQEV9Xsq/8MTSgUf255gawYRbjwMyDbcvDhXgV7enSZA0hynz6vMPnpAb5iONEzBHBPsT+0zes5Z301g==", + "dev": true, + "license": "MIT" + }, "node_modules/log-update": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", @@ -8046,6 +9363,19 @@ "node": ">=6.9.0" } }, + "node_modules/map-obj": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/map-obj/-/map-obj-4.3.0.tgz", + "integrity": "sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/mark.js": { "version": "8.11.1", "resolved": "https://registry.npmjs.org/mark.js/-/mark.js-8.11.1.tgz", @@ -8084,6 +9414,45 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/meow": { + "version": "8.1.2", + "resolved": "https://registry.npmjs.org/meow/-/meow-8.1.2.tgz", + "integrity": "sha512-r85E3NdZ+mpYk1C6RjPFEMSE+s1iZMuHtsHAqY0DT3jZczl0diWUZ8g6oU7h0M9cD2EL+PzaYghhCLzR0ZNn5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/minimist": "^1.2.0", + "camelcase-keys": "^6.2.2", + "decamelize-keys": "^1.1.0", + "hard-rejection": "^2.1.0", + "minimist-options": "4.1.0", + "normalize-package-data": "^3.0.0", + "read-pkg-up": "^7.0.1", + "redent": "^3.0.0", + "trim-newlines": "^3.0.0", + "type-fest": "^0.18.0", + "yargs-parser": "^20.2.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/meow/node_modules/type-fest": { + "version": "0.18.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.18.1.tgz", + "integrity": "sha512-OIAYXk8+ISY+qTOwkHtKqzAuxchoMiD9Udx+FSGQDuiRR+PJKJHc2NJAXlbhkGwTt/4/nKZxELY1w3ReWOL8mw==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/micromark-util-character": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", @@ -8203,6 +9572,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=4" + } + }, "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", @@ -8234,6 +9613,31 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/minimist-options": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/minimist-options/-/minimist-options-4.1.0.tgz", + "integrity": "sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==", + "dev": true, + "license": "MIT", + "dependencies": { + "arrify": "^1.0.1", + "is-plain-obj": "^1.1.0", + "kind-of": "^6.0.3" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/minimist-options/node_modules/is-plain-obj": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", + "integrity": "sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/minimisted": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/minimisted/-/minimisted-2.0.1.tgz", @@ -8273,6 +9677,23 @@ "license": "MIT", "optional": true }, + "node_modules/modify-values": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/modify-values/-/modify-values-1.0.1.tgz", + "integrity": "sha512-xV2bxeN6F7oYjZWTe/YPAy6MN2M+sL4u/Rlm2AHCIVGfo2p1yGmBHQ6vHehl4bRTZBdHu3TSkWdYgkwpYzAGSw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, "node_modules/mutation-server-protocol": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/mutation-server-protocol/-/mutation-server-protocol-0.4.1.tgz", @@ -8346,6 +9767,13 @@ "license": "MIT", "optional": true }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true, + "license": "MIT" + }, "node_modules/node-abi": { "version": "3.98.0", "resolved": "https://registry.npmjs.org/node-abi/-/node-abi-3.98.0.tgz", @@ -8359,6 +9787,17 @@ "node": ">=10" } }, + "node_modules/node-html-parser": { + "version": "6.1.13", + "resolved": "https://registry.npmjs.org/node-html-parser/-/node-html-parser-6.1.13.tgz", + "integrity": "sha512-qIsTMOY4C/dAa5Q5vsobRpOOvPfC4pB61UVW2uSwZNUp0QU/jCekTal1vMmbO0DgdHeLUJpv/ARmDqErVxA3Sg==", + "dev": true, + "license": "MIT", + "dependencies": { + "css-select": "^5.1.0", + "he": "1.2.0" + } + }, "node_modules/node-releases": { "version": "2.0.58", "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.58.tgz", @@ -8369,6 +9808,22 @@ "node": ">=18" } }, + "node_modules/normalize-package-data": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-3.0.3.tgz", + "integrity": "sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^4.0.1", + "is-core-module": "^2.5.0", + "semver": "^7.3.4", + "validate-npm-package-license": "^3.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/npm-run-path": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-6.0.0.tgz", @@ -8399,6 +9854,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, "node_modules/object-inspect": { "version": "1.13.4", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", @@ -8669,6 +10137,45 @@ } } }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, "node_modules/package-manager-detector": { "version": "1.9.0", "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.9.0.tgz", @@ -8682,6 +10189,71 @@ "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "license": "(MIT AND Zlib)" }, + "node_modules/parse-diff": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/parse-diff/-/parse-diff-0.11.1.tgz", + "integrity": "sha512-Oq4j8LAOPOcssanQkIjxosjATBIEJhCxMCxPhMu+Ci4wdNmAEdx0O+a7gzbR2PyKXgKPvRLIN5g224+dJAsKHA==", + "dev": true, + "license": "MIT" + }, + "node_modules/parse-github-repo-url": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/parse-github-repo-url/-/parse-github-repo-url-1.4.1.tgz", + "integrity": "sha512-bSWyzBKqcSL4RrncTpGsEKoJ7H8a4L3++ifTAbTFeMHyq2wRV+42DGmQcHIrJIvdcacjIOxEuKH/w4tthF17gg==", + "dev": true, + "license": "MIT" + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parse-json/node_modules/@babel/code-frame": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.7.tgz", + "integrity": "sha512-Aup7aUOfpbAUg2ROOJN6Iw5f9DMBlzu0mIkm/malLQFN/YQgO48wCj0Kxa3sEHJvPVFg7siR+qRInwXd2qhQKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.29.7", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/parse-json/node_modules/@babel/helper-validator-identifier": { + "version": "7.29.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.29.7.tgz", + "integrity": "sha512-qehxGkRj55h/ff8EMaJ+cYhyaKlHIxqYDn682wQD7RNp9UujOQsHog2uS0r2vzr4pW+sXf90NeeayjcNaX3fFg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/parse-json/node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, "node_modules/parse-ms": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/parse-ms/-/parse-ms-4.0.0.tgz", @@ -8719,6 +10291,26 @@ "url": "https://github.com/fb55/entities?sponsor=1" } }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/path-key": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", @@ -8728,6 +10320,13 @@ "node": ">=8" } }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, "node_modules/path-scurry": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-2.0.2.tgz", @@ -9049,6 +10648,16 @@ "integrity": "sha512-tYC1Q1hgyRuHgloV/YXs2w15unPVh8qfu/qCTfhTYamaw7fyhumKa2yGpdSo87vY32rIclj+4fWYQXUMs9EHvg==", "license": "MIT" }, + "node_modules/quick-lru": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/quick-lru/-/quick-lru-4.0.1.tgz", + "integrity": "sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/rc": { "version": "1.2.8", "resolved": "https://registry.npmjs.org/rc/-/rc-1.2.8.tgz", @@ -9075,6 +10684,90 @@ "node": ">=0.10.0" } }, + "node_modules/read-pkg": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", + "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/normalize-package-data": "^2.4.0", + "normalize-package-data": "^2.5.0", + "parse-json": "^5.0.0", + "type-fest": "^0.6.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg-up": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-7.0.1.tgz", + "integrity": "sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==", + "dev": true, + "license": "MIT", + "dependencies": { + "find-up": "^4.1.0", + "read-pkg": "^5.2.0", + "type-fest": "^0.8.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/read-pkg-up/node_modules/type-fest": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.8.1.tgz", + "integrity": "sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, + "node_modules/read-pkg/node_modules/hosted-git-info": { + "version": "2.8.9", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.9.tgz", + "integrity": "sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==", + "dev": true, + "license": "ISC" + }, + "node_modules/read-pkg/node_modules/normalize-package-data": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", + "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "hosted-git-info": "^2.1.4", + "resolve": "^1.10.0", + "semver": "2 || 3 || 4 || 5", + "validate-npm-package-license": "^3.0.1" + } + }, + "node_modules/read-pkg/node_modules/semver": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", + "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver" + } + }, + "node_modules/read-pkg/node_modules/type-fest": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", + "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=8" + } + }, "node_modules/readable-stream": { "version": "4.7.0", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-4.7.0.tgz", @@ -9097,6 +10790,20 @@ "integrity": "sha512-P4nbQYQfePJxRSmY+v/KINxVucm4NF3p3s7pJveMTtom52FR4YGltUQLB8idDXwDDWW+eYrWDFbuzUnjoWHF7g==", "license": "MIT" }, + "node_modules/redent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", + "integrity": "sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==", + "dev": true, + "license": "MIT", + "dependencies": { + "indent-string": "^4.0.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/regex": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", @@ -9124,6 +10831,194 @@ "dev": true, "license": "MIT" }, + "node_modules/release-please": { + "version": "17.3.0", + "resolved": "https://registry.npmjs.org/release-please/-/release-please-17.3.0.tgz", + "integrity": "sha512-dB7HsFUpAvU1Wj9RGCINUz8Zi2qQDZiGbDEEVnJ7baNfJmk5XdYhuUFL6RcuDGjReGhp1gzY8Tc2g7vHlM4zpg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@conventional-commits/parser": "^0.4.1", + "@google-automations/git-file-utils": "^3.0.0", + "@iarna/toml": "^3.0.0", + "@octokit/graphql": "^7.1.0", + "@octokit/request": "^8.3.1", + "@octokit/request-error": "^5.1.0", + "@octokit/rest": "^20.1.1", + "@types/npm-package-arg": "^6.1.0", + "@xmldom/xmldom": "^0.8.4", + "chalk": "^4.0.0", + "code-suggester": "^5.0.0", + "conventional-changelog-conventionalcommits": "^6.0.0", + "conventional-changelog-writer": "^6.0.0", + "conventional-commits-filter": "^3.0.0", + "detect-indent": "^6.1.0", + "diff": "^8.0.3", + "figures": "^3.0.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.0", + "js-yaml": "^4.0.0", + "jsonpath-plus": "^10.0.0", + "node-html-parser": "^6.0.0", + "parse-github-repo-url": "^1.4.1", + "semver": "^7.5.3", + "type-fest": "^3.0.0", + "typescript": "^4.6.4", + "unist-util-visit": "^2.0.3", + "unist-util-visit-parents": "^3.1.1", + "xpath": "^0.0.34", + "yaml": "^2.2.2", + "yargs": "^17.0.0" + }, + "bin": { + "release-please": "build/src/bin/release-please.js" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/release-please/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "dev": true, + "license": "MIT" + }, + "node_modules/release-please/node_modules/@xmldom/xmldom": { + "version": "0.8.15", + "resolved": "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.15.tgz", + "integrity": "sha512-/5NV/vDALVFDXgLmfsy9TRCBlKwO2LNBFzpzvb9iIj+jR+eSc6DLYYvVOdivT/jm7MtU6TebYuRmzEOI7w40UA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/release-please/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/release-please/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/release-please/node_modules/diff": { + "version": "8.0.4", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.4.tgz", + "integrity": "sha512-DPi0FmjiSU5EvQV0++GFDOJ9ASQUVFh5kD+OzOnYdi7n3Wpm9hWWGfB/O2blfHcMVTL5WkQXSnRiK9makhrcnw==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/release-please/node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/release-please/node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/release-please/node_modules/unist-util-is": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-4.1.0.tgz", + "integrity": "sha512-ZOQSsnce92GrxSqlnEEseX0gi7GH9zTJZ0p9dtu87WRb/37mMPO2Ilx1s/t9vBHrFhbgweUwb+t7cIn5dxPhZg==", + "dev": true, + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/release-please/node_modules/unist-util-visit": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-2.0.3.tgz", + "integrity": "sha512-iJ4/RczbJMkD0712mGktuGpm/U4By4FfDonL7N/9tATGIF4imikjOuagyMY53tnZq3NP6BcmlrHhEKAfGWjh7Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0", + "unist-util-visit-parents": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/release-please/node_modules/unist-util-visit-parents": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-3.1.1.tgz", + "integrity": "sha512-1KROIZWo6bcMrZEwiH2UrXDyalAa0uqzWCxCJj6lPOvTve2WkfgCytoDTPaMnodXh1WrXOq0haVYHj99ynJlsg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "unist-util-is": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/require-from-string": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", @@ -9133,6 +11028,28 @@ "node": ">=0.10.0" } }, + "node_modules/resolve": { + "version": "1.22.13", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.13.tgz", + "integrity": "sha512-Dj/cW9zBV2aRj6XzCxuGIs3ESZKv02jixne3q6jFZYZ3/Tg09gHHviSMDL4kObh9pqSahdRHEnDoaP2gn8YLhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "is-core-module": "^2.17.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/resolve-pkg-maps": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", @@ -9160,6 +11077,16 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, "node_modules/rfdc": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", @@ -9608,6 +11535,42 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.24", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.24.tgz", + "integrity": "sha512-cLS9TtWkIQFyLkJ3/5aFQAOHOSKTlOs/7WDut/XPSdjom1fJhUdkepeJAKXa9Y05+FabHd0sti+Et559vDtkpQ==", + "dev": true, + "license": "CC0-1.0" + }, "node_modules/speakingurl": { "version": "14.0.1", "resolved": "https://registry.npmjs.org/speakingurl/-/speakingurl-14.0.1.tgz", @@ -9618,6 +11581,19 @@ "node": ">=0.10.0" } }, + "node_modules/split": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/split/-/split-1.0.1.tgz", + "integrity": "sha512-mTyOoPbrivtXnwnIxZRFYRrPNtEFKlpB2fvjSnCQUiAA6qAZzqwna5envK4uk6OIeP17CsdF3rSBGYVBsU0Tkg==", + "dev": true, + "license": "MIT", + "dependencies": { + "through": "2" + }, + "engines": { + "node": "*" + } + }, "node_modules/split2": { "version": "4.2.0", "resolved": "https://registry.npmjs.org/split2/-/split2-4.2.0.tgz", @@ -9735,6 +11711,19 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/strip-json-comments": { "version": "5.0.3", "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-5.0.3.tgz", @@ -9761,6 +11750,32 @@ "node": ">=16" } }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/tabbable": { "version": "6.5.0", "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.5.0.tgz", @@ -9825,6 +11840,13 @@ "node": ">=20" } }, + "node_modules/through": { + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", + "dev": true, + "license": "MIT" + }, "node_modules/tinybench": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/tinybench/-/tinybench-6.2.0.tgz", @@ -9923,6 +11945,16 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/trim-newlines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-newlines/-/trim-newlines-3.0.1.tgz", + "integrity": "sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, "node_modules/tslib": { "version": "2.8.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", @@ -10010,6 +12042,19 @@ "@turbo/windows-arm64": "2.11.7" } }, + "node_modules/type-fest": { + "version": "3.13.1", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-3.13.1.tgz", + "integrity": "sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/typed-array-buffer": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", @@ -10116,6 +12161,20 @@ "node": ">=14.17" } }, + "node_modules/uglify-js": { + "version": "3.19.3", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-3.19.3.tgz", + "integrity": "sha512-v3Xu+yuwBXisp6QYTcH4UbH+xYJXqnq2m/LtQVWKWzYc1iehYnLixoQDN9FH6/j9/oybfd6W9Ghwkl8+UMKTKQ==", + "dev": true, + "license": "BSD-2-Clause", + "optional": true, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/unbash": { "version": "4.0.12", "resolved": "https://registry.npmjs.org/unbash/-/unbash-4.0.12.tgz", @@ -10226,6 +12285,13 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/universal-user-agent": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.1.tgz", + "integrity": "sha512-yCzhz6FN2wU1NiiQRogkTQszlQSlpWaw8SvVegAc+bDxbzHgh1vX8uIe8OYyMH6DwH+sdTJsgMl36+mSMdRJIQ==", + "dev": true, + "license": "ISC" + }, "node_modules/update-browserslist-db": { "version": "1.3.4", "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.3.4.tgz", @@ -10264,6 +12330,17 @@ "license": "MIT", "optional": true }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, "node_modules/verkit": { "version": "0.5.0", "resolved": "https://registry.npmjs.org/verkit/-/verkit-0.5.0.tgz", @@ -11488,6 +13565,13 @@ "node": ">=20.11" } }, + "node_modules/wordwrap": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-1.0.0.tgz", + "integrity": "sha512-gvVzJFlPycKc5dZN4yPkP8w7Dc37BtP1yczEneOb4uq34pXZcvrtRTmWV8W+Ume+XCxKgbjM+nevkyFPMybd4Q==", + "dev": true, + "license": "MIT" + }, "node_modules/wrap-ansi": { "version": "9.0.2", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.2.tgz", @@ -11579,6 +13663,33 @@ "integrity": "sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw==", "license": "MIT" }, + "node_modules/xpath": { + "version": "0.0.34", + "resolved": "https://registry.npmjs.org/xpath/-/xpath-0.0.34.tgz", + "integrity": "sha512-FxF6+rkr1rNSQrhUNYrAFJpRXNzlDoMxeXN5qI84939ylEv3qqPFKa85Oxr6tDaJKqwW6KKyo2v26TSv3k6LeA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, "node_modules/yaml": { "version": "2.9.0", "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.9.0.tgz", @@ -11594,6 +13705,100 @@ "url": "https://github.com/sponsors/eemeli" } }, + "node_modules/yargs": { + "version": "17.7.3", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.3.tgz", + "integrity": "sha512-GZtjxm/J/4TSxuL3FNYjCmLktBTnIw/rVmKSIyKeYAZpmJB2ig9VauCC5xsa82GNKVKDAqpOn3KVzNt0zmrU0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yargs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/yargs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/yargs/node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=12" + } + }, "node_modules/yoctocolors": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.2.0.tgz", diff --git a/package.json b/package.json index 4720dbd50e..5d525b82df 100644 --- a/package.json +++ b/package.json @@ -397,6 +397,7 @@ "lint-staged": "16.4.0", "oxfmt": "0.72.0", "oxlint": "1.87.0", + "release-please": "17.3.0", "rolldown": "1.2.12", "tsrs": "0.18.0-ts7.1.0-dev.20260929", "tsx": "4.23.15", diff --git a/patches/release-please+17.3.0.patch b/patches/release-please+17.3.0.patch new file mode 100644 index 0000000000..6766660fed --- /dev/null +++ b/patches/release-please+17.3.0.patch @@ -0,0 +1,71 @@ +--- a/build/src/manifest.js ++++ b/build/src/manifest.js +@@ -261,9 +261,19 @@ + this.logger.info('Collecting commits since all latest releases'); + const commits = []; + this.logger.debug(`commit search depth: ${this.commitSearchDepth}`); ++ // The root receives every commit without path splitting. Node's strategy, ++ // default changelog and extra-file updaters do not inspect commit.files. ++ // Keep the general path for exclusions, plugins and other strategies. ++ const rootConfig = this.repositoryConfig[exports.ROOT_PROJECT_PATH]; ++ const rootOnlyNode = Object.keys(this.repositoryConfig).length === 1 && ++ rootConfig?.releaseType === 'node' && ++ (!rootConfig.changelogType || rootConfig.changelogType === 'default') && ++ (!rootConfig.versioning || ['default', 'always-bump-minor'].includes(rootConfig.versioning)) && ++ !rootConfig.excludePaths?.length && ++ this.plugins.length === 0; + const commitGenerator = this.github.mergeCommitIterator(this.targetBranch, { + maxResults: this.commitSearchDepth, +- backfillFiles: true, ++ backfillFiles: !rootOnlyNode, + batchSize: this.commitBatchSize, + }); + const releaseShas = new Set(Object.values(releaseShasByPath)); +@@ -272,6 +282,7 @@ + // sha => release pull request + const releasePullRequestsBySha = {}; + let releaseCommitsFound = 0; ++ let historyBoundaryFound = false; + for await (const commit of commitGenerator) { + if (releaseShas.has(commit.sha)) { + if (commit.pullRequest) { +@@ -284,14 +295,17 @@ + } + if (this.lastReleaseSha && this.lastReleaseSha === commit.sha) { + this.logger.info(`Using configured lastReleaseSha ${this.lastReleaseSha} as last commit.`); ++ historyBoundaryFound = true; + break; + } + else if (needsBootstrap && commit.sha === this.bootstrapSha) { + this.logger.info(`Needed bootstrapping, found configured bootstrapSha ${this.bootstrapSha}`); ++ historyBoundaryFound = true; + break; + } + else if (!needsBootstrap && releaseCommitsFound >= expectedShas) { + // found enough commits ++ historyBoundaryFound = true; + break; + } + commits.push({ +@@ -301,16 +315,18 @@ + pullRequest: commit.pullRequest, + }); + } ++ if (releaseCommitsFound < expectedShas && !historyBoundaryFound) { ++ throw new Error(`Incomplete release history: expected ${expectedShas} release boundaries, found ${releaseCommitsFound}. Refusing a partial release proposal.`); ++ } + if (releaseCommitsFound < expectedShas) { + this.logger.warn(`Expected ${expectedShas} commits, only found ${releaseCommitsFound}`); + } + // split commits by path + this.logger.info(`Splitting ${commits.length} commits by path`); +- const cs = new commit_split_1.CommitSplit({ ++ const splitCommits = rootOnlyNode ? {} : new commit_split_1.CommitSplit({ + includeEmpty: true, + packagePaths: Object.keys(this.repositoryConfig), +- }); +- const splitCommits = cs.split(commits); ++ }).split(commits); + // limit paths to ones since the last release + let commitsPerPath = {}; + for (const path in this.repositoryConfig) { diff --git a/scripts/lib/release-notes.mjs b/scripts/lib/release-notes.mjs index d6c640c15b..4223b6ad83 100644 --- a/scripts/lib/release-notes.mjs +++ b/scripts/lib/release-notes.mjs @@ -53,7 +53,7 @@ export const releaseInventorySchema = z.object({ pullRequests: z.array(pullRequest), }); -export async function readReleaseHistory(run, base, target) { +export async function requireCompleteReleaseHistory(run) { if ( (await run("git", ["rev-parse", "--is-shallow-repository"])).trim() !== "false" @@ -61,6 +61,10 @@ export async function readReleaseHistory(run, base, target) { throw new Error( "Release inventory requires complete Git history; fetch --unshallow first", ); +} + +export async function readReleaseHistory(run, base, target) { + await requireCompleteReleaseHistory(run); const resolve = async (ref) => sha.parse( ( diff --git a/scripts/lib/release-proposal.d.mts b/scripts/lib/release-proposal.d.mts new file mode 100644 index 0000000000..bd92aaba19 --- /dev/null +++ b/scripts/lib/release-proposal.d.mts @@ -0,0 +1,6 @@ +export function applyReleasePleasePatch(directory?: string): Promise; + +export function releaseProposalSearchDepth( + run: (command: string, args: string[]) => Promise, + sourceSha: string, +): Promise; diff --git a/scripts/lib/release-proposal.mjs b/scripts/lib/release-proposal.mjs new file mode 100644 index 0000000000..1db7cf973c --- /dev/null +++ b/scripts/lib/release-proposal.mjs @@ -0,0 +1,61 @@ +import { execFile } from "node:child_process"; +import { readFile } from "node:fs/promises"; +import { createRequire } from "node:module"; +import { dirname, relative } from "node:path"; +import { promisify } from "node:util"; +import { fileURLToPath } from "node:url"; +import { requireCompleteReleaseHistory } from "./release-notes.mjs"; + +const execute = promisify(execFile); +const require = createRequire(import.meta.url); +const project = fileURLToPath(new URL("../../", import.meta.url)); +const patch = fileURLToPath( + new URL("../../patches/release-please+17.3.0.patch", import.meta.url), +); + +export async function applyReleasePleasePatch( + directory = dirname(require.resolve("release-please/package.json")), +) { + const metadata = JSON.parse( + await readFile(`${directory}/package.json`, "utf8"), + ); + if (metadata.version !== "17.3.0") { + throw new Error( + "The release proposal patch requires release-please 17.3.0", + ); + } + const args = ["--directory", relative(project, directory), patch]; + const check = async (reverse) => { + try { + await execute( + "git", + ["apply", "--check", ...(reverse ? ["--reverse"] : []), ...args], + { cwd: project }, + ); + return true; + } catch (error) { + if (error.code === 1) return false; + throw error; + } + }; + if (await check(false)) { + await execute("git", ["apply", ...args], { cwd: project }); + } else if (!(await check(true))) { + throw new Error( + "The release proposal dependency patch does not match the installed source", + ); + } +} + +export async function releaseProposalSearchDepth(run, sourceSha) { + if (!/^[a-f0-9]{40}$/u.test(sourceSha ?? "")) { + throw new Error("Expected an exact release proposal source SHA"); + } + await requireCompleteReleaseHistory(run); + const text = (await run("git", ["rev-list", "--count", sourceSha])).trim(); + const count = Number(text); + if (!/^[1-9][0-9]*$/u.test(text) || !Number.isSafeInteger(count)) { + throw new Error("Git returned an invalid release history size"); + } + return count; +} diff --git a/scripts/release-proposal.mjs b/scripts/release-proposal.mjs new file mode 100644 index 0000000000..bf64a27bc5 --- /dev/null +++ b/scripts/release-proposal.mjs @@ -0,0 +1,69 @@ +#!/usr/bin/env node +import { execFile } from "node:child_process"; +import { appendFile } from "node:fs/promises"; +import { parseArgs, promisify } from "node:util"; +import { + applyReleasePleasePatch, + releaseProposalSearchDepth, +} from "./lib/release-proposal.mjs"; + +const execute = promisify(execFile); + +async function main() { + const { values } = parseArgs({ + options: { + "target-branch": { type: "string" }, + "source-sha": { type: "string" }, + }, + }); + const repository = process.env.GITHUB_REPOSITORY; + const token = process.env.GH_TOKEN; + if ( + !repository || + !/^[\w.-]+\/[\w.-]+$/u.test(repository) || + !token || + !values["target-branch"] + ) { + throw new Error("Expected GITHUB_REPOSITORY, GH_TOKEN and --target-branch"); + } + const depth = await releaseProposalSearchDepth( + async (command, args) => + (await execute(command, args, { encoding: "utf8" })).stdout, + values["source-sha"], + ); + // Patch before import: only proposal generation uses this maintained upstream fix. + // Publication continues through the pinned release-please action. + await applyReleasePleasePatch(); + const { GitHub, Manifest } = await import("release-please"); + const [owner, repo] = repository.split("/"); + const branch = values["target-branch"]; + const github = await GitHub.create({ + owner, + repo, + token, + defaultBranch: branch, + }); + const manifest = await Manifest.fromManifest( + github, + branch, + undefined, + undefined, + { + commitSearchDepth: depth, + }, + ); + const prs = (await manifest.createPullRequests()).filter(Boolean); + if (process.env.GITHUB_OUTPUT) { + await appendFile( + process.env.GITHUB_OUTPUT, + `prs_created=${prs.length > 0}\n${prs.length ? `pr=${JSON.stringify(prs[0])}\nprs=${JSON.stringify(prs)}\n` : ""}`, + ); + } +} + +await main().catch((error) => { + process.stderr.write( + `Release proposal failed: ${error instanceof Error ? error.message : String(error)}\n`, + ); + process.exitCode = 1; +}); diff --git a/tests/boundary/filesystem/releaseProposal.test.ts b/tests/boundary/filesystem/releaseProposal.test.ts new file mode 100644 index 0000000000..293d255d2a --- /dev/null +++ b/tests/boundary/filesystem/releaseProposal.test.ts @@ -0,0 +1,439 @@ +import { execFile } from "node:child_process"; +import { readFile, writeFile } from "node:fs/promises"; +import { createRequire } from "node:module"; +import { dirname, join } from "node:path"; +import { promisify } from "node:util"; +import { beforeAll, expect, it } from "vitest"; +import { z } from "zod"; + +import { + applyReleasePleasePatch, + releaseProposalSearchDepth, +} from "../../../scripts/lib/release-proposal.mjs"; +import { createTestTempDirectory } from "../../fixtures/temporaryDirectory.js"; + +const execute = promisify(execFile); +const require = createRequire(import.meta.url); +let upstream: typeof import("release-please"); +const baseline = "a".repeat(40); +const latest = "b".repeat(40); +const silent = { + info() {}, + warn() {}, + error() {}, + debug() {}, + trace() {}, +}; + +beforeAll(async () => { + await applyReleasePleasePatch(); + upstream = await import("release-please"); +}); + +function respond(value: unknown) { + return new Response(JSON.stringify(value), { + status: 200, + headers: { "content-type": "application/json" }, + }); +} + +type CommitRecord = { sha: string; message: string; files: string[] }; + +function historyPage( + commits: CommitRecord[], + page: { num: number; cursor?: string | undefined }, + pullRequest: boolean, +) { + const offset = Number(page.cursor ?? "0"); + const selected = commits.slice(offset, offset + page.num); + return { + data: { + repository: { + ref: { + target: { + history: { + nodes: selected.map((commit) => ({ + sha: commit.sha, + message: commit.message, + associatedPullRequests: { + nodes: + pullRequest && commit.sha === latest + ? [ + { + number: 42, + title: "Original title", + baseRefName: "main", + headRefName: "feature", + body: "BEGIN_COMMIT_OVERRIDE\nfix: attributed override (#42)\nEND_COMMIT_OVERRIDE", + mergeCommit: { oid: latest }, + labels: { nodes: [{ name: "reviewed" }] }, + files: { + nodes: [{ path: "src/feature.ts" }], + pageInfo: { hasNextPage: false }, + }, + }, + ] + : [], + }, + })), + pageInfo: { + hasNextPage: offset + selected.length < commits.length, + endCursor: String(offset + selected.length), + }, + }, + }, + }, + }, + }, + }; +} + +async function releaseFixture({ + config = {}, + commits = [ + { sha: latest, message: "fix: direct change", files: ["docs/changed.md"] }, + { sha: baseline, message: "chore: release 6.7.0", files: ["package.json"] }, + ], + depth = 500, + pullRequest = false, +}: { + config?: Record; + commits?: CommitRecord[]; + depth?: number; + pullRequest?: boolean; +} = {}) { + const requests: { method: string; pathname: string }[] = []; + const pages: { num: number; cursor?: string | undefined }[] = []; + const configuration = { + "release-type": "node", + versioning: "always-bump-minor", + "include-v-in-tag": false, + packages: { + ".": { + "package-name": "rea-agents", + "extra-files": [{ type: "generic", path: "version.txt" }], + }, + }, + ...config, + }; + const github = await upstream.GitHub.create({ + owner: "fixture", + repo: "rea", + defaultBranch: "main", + logger: silent, + fetch: async ( + input: string, + options: { method?: string; body?: string }, + ) => { + const url = new URL(input); + requests.push({ + method: options.method ?? "GET", + pathname: url.pathname, + }); + if (url.pathname === "/repos/fixture/rea/tags") return respond([]); + if (url.pathname === "/repos/fixture/rea/releases/generate-notes") { + return respond({ body: "Generated release notes" }); + } + if (url.pathname === "/graphql") { + const query = z + .object({ + query: z.string(), + variables: z.object({ + num: z.number(), + cursor: z.string().optional(), + }), + }) + .parse(JSON.parse(options.body ?? "")); + if (query.query.includes("query releases(")) { + return respond({ + data: { + repository: { + releases: { + nodes: [ + { + name: "6.7.0", + tag: { name: "rea-agents-6.7.0" }, + tagCommit: { oid: baseline }, + description: "", + isDraft: false, + url: "https://github.com/fixture/rea/releases/tag/rea-agents-6.7.0", + }, + ], + pageInfo: { hasNextPage: false }, + }, + }, + }, + }); + } + if (!query.query.includes("query pullRequestsSince(")) { + throw new Error(`Unexpected GraphQL operation: ${query.query}`); + } + pages.push(query.variables); + return respond(historyPage(commits, query.variables, pullRequest)); + } + const files: Record = { + "release-please-config.json": configuration, + ".release-please-manifest.json": { ".": "6.7.0", pkg: "6.7.0" }, + "package.json": { name: "rea-agents", version: "6.7.0" }, + "pkg/package.json": { name: "rea-agents", version: "6.7.0" }, + }; + const entries = Object.entries(files).map(([path, value], index) => ({ + path, + sha: (index + 1).toString(16).padStart(40, "0"), + text: JSON.stringify(value), + })); + if (url.pathname === "/repos/fixture/rea/git/trees/main") { + return respond({ + truncated: false, + sha: baseline, + tree: entries.map(({ path, sha, text }) => ({ + path, + sha, + type: "blob", + mode: "100644", + size: text.length, + })), + }); + } + const blobPrefix = "/repos/fixture/rea/git/blobs/"; + if (url.pathname.startsWith(blobPrefix)) { + const entry = entries.find( + (item) => item.sha === url.pathname.slice(blobPrefix.length), + ); + if (!entry) throw new Error("Unexpected blob read"); + return respond({ + content: Buffer.from(entry.text).toString("base64"), + encoding: "base64", + sha: entry.sha, + size: entry.text.length, + }); + } + const commitPath = "/repos/fixture/rea/commits/"; + if (url.pathname.startsWith(commitPath)) { + const commit = commits.find( + (item) => item.sha === url.pathname.slice(commitPath.length), + ); + if (!commit) throw new Error("Unexpected commit lookup"); + return respond({ + files: commit.files.map((filename) => ({ filename })), + }); + } + throw new Error( + `Unexpected HTTP request: ${options.method} ${url.pathname}`, + ); + }, + }); + const manifest = await upstream.Manifest.fromManifest( + github, + "main", + undefined, + undefined, + { + commitSearchDepth: depth, + logger: silent, + }, + ); + return { manifest, github, requests, pages }; +} + +it("builds the root Node proposal without commit-file lookups and retains extra-file updates", async () => { + const fixture = await releaseFixture(); + const candidates = await fixture.manifest.buildPullRequests(); + expect(candidates).toHaveLength(1); + expect(candidates[0]?.body.toString()).toContain("direct change"); + const version = candidates[0]?.updates.find( + (update) => update.path === "version.txt", + ); + expect( + version?.updater.updateContent("6.7.0 // x-release-please-version"), + ).toContain("6.8.0"); + expect( + fixture.requests.filter((request) => + request.pathname.includes("/commits/"), + ), + ).toEqual([]); + expect(fixture.pages.map((page) => page.num)).toEqual([10]); + const commits = []; + for await (const commit of fixture.github.mergeCommitIterator("main", { + backfillFiles: false, + })) + commits.push(commit); + expect(commits[0]?.files).toBeUndefined(); +}); + +it("keeps real associated PR metadata, body overrides and attribution", async () => { + const fixture = await releaseFixture({ pullRequest: true }); + const candidates = await fixture.manifest.buildPullRequests(); + const body = candidates[0]?.body.toString(); + expect(body).toContain("attributed override"); + expect(body).toContain("https://github.com/fixture/rea/issues/42"); + expect(body).not.toContain("direct change"); + const commits = []; + for await (const commit of fixture.github.mergeCommitIterator("main", { + backfillFiles: false, + })) + commits.push(commit); + expect(commits[0]?.pullRequest).toMatchObject({ + number: 42, + labels: ["reviewed"], + mergeCommitOid: latest, + body: expect.stringContaining("BEGIN_COMMIT_OVERRIDE"), + }); +}); + +it.each([ + { + name: "inherited exclusion", + config: { "exclude-paths": ["docs"] }, + excluded: true, + }, + { + name: "package exclusion", + config: { + packages: { + ".": { "package-name": "rea-agents", "exclude-paths": ["docs"] }, + }, + }, + excluded: true, + }, + { + name: "explicit plugin", + config: { plugins: ["sentence-case"] }, + excluded: false, + }, + { + name: "nondefault changelog", + config: { "changelog-type": "github" }, + excluded: false, + }, + { + name: "other versioning strategy", + config: { versioning: "always-bump-patch" }, + excluded: false, + }, + { + name: "subpackage", + config: { packages: { pkg: { "package-name": "rea-agents" } } }, + excluded: true, + }, +])("retains file-backed semantics for $name", async ({ config, excluded }) => { + const fixture = await releaseFixture({ config }); + const candidates = await fixture.manifest.buildPullRequests(); + expect( + fixture.requests.filter((request) => + request.pathname.includes("/commits/"), + ), + ).toHaveLength(2); + expect(candidates).toHaveLength(excluded ? 0 : 1); +}); + +it("collects beyond 500 commits and rejects an unobserved known release boundary", async () => { + const commits = Array.from({ length: 501 }, (_, index) => ({ + sha: index.toString(16).padStart(40, "0"), + message: `fix: unreleased change ${index}`, + files: ["src/change.ts"], + })); + commits.push({ + sha: baseline, + message: "chore: release 6.7.0", + files: ["package.json"], + }); + const complete = await releaseFixture({ commits, depth: commits.length }); + const candidates = await complete.manifest.buildPullRequests(); + expect(candidates[0]?.body.toString()).toContain("unreleased change 500"); + expect(complete.pages).toHaveLength(51); + expect( + complete.requests.filter((request) => + request.pathname.includes("/commits/"), + ), + ).toEqual([]); + const truncated = await releaseFixture({ commits }); + await expect(truncated.manifest.createPullRequests()).rejects.toThrow( + "Incomplete release history", + ); + expect( + truncated.requests.every( + (request) => request.method === "GET" || request.pathname === "/graphql", + ), + ).toBe(true); +}); + +it("preserves a reached explicit last-release override", async () => { + const fixture = await releaseFixture({ + config: { "last-release-sha": latest }, + }); + await expect(fixture.manifest.buildPullRequests()).resolves.toEqual([]); +}); + +it("preserves complete mixed bootstrap history with all known release boundaries", async () => { + const fixture = await releaseFixture({ + config: { + packages: { + ".": { "package-name": "rea-agents" }, + pkg: { "package-name": "unreleased" }, + }, + }, + }); + await expect(fixture.manifest.buildPullRequests()).resolves.toHaveLength(1); +}); + +it("requires complete local history when sizing the upstream search", async () => { + const directory = await createTestTempDirectory("rea-release-depth-"); + await execute("git", ["init", "--quiet", directory]); + await execute("git", [ + "-C", + directory, + "-c", + "user.name=Test", + "-c", + "user.email=test@example.com", + "commit", + "--quiet", + "--allow-empty", + "-m", + "fixture", + ]); + const run = async (command: string, args: string[]) => + (await execute(command, args, { cwd: directory })).stdout; + const head = (await run("git", ["rev-parse", "HEAD"])).trim(); + await expect(releaseProposalSearchDepth(run, head)).resolves.toBe(1); + await writeFile(join(directory, ".git/shallow"), `${head}\n`); + await expect(releaseProposalSearchDepth(run, head)).rejects.toThrow( + "complete Git history", + ); +}); + +it("applies the exact dependency patch idempotently and rejects another version", async () => { + await expect(applyReleasePleasePatch()).resolves.toBeUndefined(); + const directory = dirname(require.resolve("release-please/package.json")); + const metadata = await readFile(join(directory, "package.json"), "utf8"); + expect(JSON.parse(metadata).version).toBe("17.3.0"); + const fixture = await createTestTempDirectory("rea-release-patch-"); + await writeFile( + join(fixture, "package.json"), + JSON.stringify({ version: "17.4.0" }), + ); + await expect(applyReleasePleasePatch(fixture)).rejects.toThrow( + "requires release-please 17.3.0", + ); +}); + +it("rejects a partial or mismatched dependency patch", async () => { + const directory = dirname(require.resolve("release-please/package.json")); + const manifest = join(directory, "build/src/manifest.js"); + const original = await readFile(manifest, "utf8"); + try { + await writeFile( + manifest, + original.replace( + "const rootOnlyNode =", + "const mismatchedRootOnlyNode =", + ), + ); + await expect(applyReleasePleasePatch()).rejects.toThrow( + "does not match the installed source", + ); + } finally { + await writeFile(manifest, original); + } +}); diff --git a/tests/boundary/filesystem/releaseWorkflow.test.ts b/tests/boundary/filesystem/releaseWorkflow.test.ts index fca652daa8..60064dbe10 100644 --- a/tests/boundary/filesystem/releaseWorkflow.test.ts +++ b/tests/boundary/filesystem/releaseWorkflow.test.ts @@ -88,7 +88,7 @@ it("validates the source before release creation and the prepared candidate befo expect(candidate).toBeGreaterThan(action); expect(candidate).toBeLessThan(generation); expect(steps[candidate]?.if).toBe( - "inputs.phase == 'prepare' && steps.release.outputs.prs_created == 'true'", + "inputs.phase == 'prepare' && steps.proposal.outputs.prs_created == 'true'", ); expect(steps[candidate]?.run).toContain("--stage candidate"); for (const name of [ @@ -110,16 +110,28 @@ it("keeps main pushes proposal-only and gates merged-release automation", async }); const proposal = workflow.jobs["release-proposal"]; expect(proposal.if).toBe("github.event_name == 'push'"); - const action = proposal.steps.find((step) => - step.uses?.startsWith("googleapis/release-please-action@"), + const controller = proposal.steps.find((step) => + step.run?.includes("scripts/release-proposal.mjs"), ); - expect(action?.with).toMatchObject({ - token: "${{ secrets.RELEASE_PLEASE_TOKEN || secrets.GITHUB_TOKEN }}", - "target-branch": "main", - "skip-github-release": true, + expect(controller?.env?.GH_TOKEN).toBe( + "${{ secrets.RELEASE_PLEASE_TOKEN || secrets.GITHUB_TOKEN }}", + ); + expect(controller?.run).toContain("--target-branch main"); + expect(controller?.run).toContain('--source-sha "$SOURCE_SHA"'); + expect(controller?.env?.SOURCE_SHA).toBe("${{ github.sha }}"); + expect(controller?.if).toBe("steps.editorial.outputs.frozen != 'true'"); + expect( + proposal.steps.some((step) => + step.uses?.startsWith("googleapis/release-please-action@"), + ), + ).toBe(false); + expect( + proposal.steps.find((step) => step.uses?.startsWith("actions/checkout@")) + ?.with, + ).toMatchObject({ + "fetch-depth": 0, + "persist-credentials": false, }); - expect(action?.with?.["skip-github-pull-request"]).not.toBe(true); - expect(action?.if).toBe("steps.editorial.outputs.frozen != 'true'"); expect(proposal.steps[0]?.run).toContain("rea:release-notes-finalized"); expect(proposal.steps[0]?.run).toContain("--paginate"); const merged = workflow.jobs["merged-release"]; @@ -368,10 +380,17 @@ it("keeps frozen candidate preparation and publication explicit", async () => { expect(release?.with).toMatchObject({ token: "${{ secrets.RELEASE_PLEASE_TOKEN || secrets.GITHUB_TOKEN }}", "target-branch": "${{ inputs.release_branch }}", - "skip-github-release": "${{ inputs.phase == 'prepare' }}", - "skip-github-pull-request": "${{ inputs.phase == 'publish' }}", + "skip-github-release": false, + "skip-github-pull-request": true, }); + expect(release?.if).toBe("inputs.phase == 'publish'"); const steps = workflow.jobs["release-please"].steps; + const proposal = steps.find((step) => step.id === "proposal"); + expect(proposal?.if).toBe("inputs.phase == 'prepare'"); + expect(proposal?.run).toContain("scripts/release-proposal.mjs"); + expect(proposal?.run).toContain('--target-branch "$RELEASE_BRANCH"'); + expect(proposal?.env?.SOURCE_SHA).toBe("${{ steps.branch.outputs.sha }}"); + expect(proposal?.run).toContain('--source-sha "$SOURCE_SHA"'); const notesIndex = steps.findIndex((step) => step.run?.includes("release-notes.mjs publication"), ); @@ -513,7 +532,7 @@ it("binds npm and MCP publication to the same immutable release SHA", async () = workflow.jobs["release-please"].steps.find((step) => step.name === name) ?.if, ).toBe( - "inputs.phase == 'prepare' && steps.release.outputs.prs_created == 'true'", + "inputs.phase == 'prepare' && steps.proposal.outputs.prs_created == 'true'", ); } const publishCommand = workflow.jobs.publish.steps.find(