diff --git a/package.json b/package.json index 4388da1..da4ce67 100644 --- a/package.json +++ b/package.json @@ -17,55 +17,56 @@ } }, "dependencies": { - "@modelcontextprotocol/sdk": "^1.29.0", + "@modelcontextprotocol/sdk": "^1.30.1", "@mozilla/readability": "^0.6.0", - "commander": "^14.0.3", + "commander": "^15.0.0", "glob": "^13.0.6", - "jsdom": "^26.1.0", - "node-html-parser": "^7.0.1", + "jsdom": "^30.1.1", + "node-html-parser": "^9.0.4", "remark-parse": "^11.0.0", "remark-stringify": "^11.0.0", - "turndown": "^7.2.0", + "turndown": "^7.2.4", "unified": "^11.0.5", "unist-util-visit": "^5.1.0", "zod": "4.6.5" }, "devDependencies": { - "@commitlint/cli": "^21.2.2", - "@commitlint/config-conventional": "^21.2.2", - "@commitlint/types": "^21.2.0", - "@eslint/json": "2.0.1", + "@commitlint/cli": "^21.2.3", + "@commitlint/config-conventional": "^21.2.3", + "@commitlint/types": "^21.2.3", + "@eslint/json": "2.1.0", "@eslint/markdown": "8.0.3", "@exadev/eslint-config": "2.35.0", - "@semantic-release/changelog": "^6.0.3", - "@semantic-release/git": "^10.0.1", - "@types/jsdom": "^21.1.7", - "@types/node": "^25.6.0", + "@semantic-release/changelog": "^7.0.0", + "@semantic-release/git": "^11.0.1", + "@types/jsdom": "^30.0.0", + "@types/node": "^26.6.3", "@types/semver": "7.8.0", - "@types/turndown": "^5.0.5", + "@types/turndown": "^5.0.6", "@types/unist": "^3.0.3", - "@vitest/coverage-v8": "^3.2.3", - "commitizen": "^4.3.1", - "conventional-changelog-conventionalcommits": "^9.3.1", + "@typescript/native": "npm:typescript@^7.0.2", + "@vitest/coverage-v8": "^5.0.2", + "commitizen": "^4.3.2", + "conventional-changelog-conventionalcommits": "^10.4.0", "cz-conventional-changelog": "^3.3.0", - "eslint": "^10.2.1", + "eslint": "^10.11.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-depend": "1.5.0", "eslint-plugin-prettier": "5.5.6", "globals": "17.12.0", "husky": "^9.1.7", "jiti": "^2.7.0", - "knip": "^6.32.2", - "lint-staged": "^17.3.0", - "prettier": "^3.8.3", - "semantic-release": "^25.0.3", + "knip": "^6.38.0", + "lint-staged": "^17.6.0", + "prettier": "^3.9.9", + "semantic-release": "^25.0.9", "semver": "7.8.5", "tsx": "4.23.15", - "turbo": "^2.10.10", + "turbo": "^2.11.4", "typedoc": "^0.28.20", - "typescript": "^6.0.3", - "typescript-eslint": "^8.59.0", - "vitest": "^3.2.3", + "typescript": "npm:@typescript/typescript6@^6.0.2", + "typescript-eslint": "^8.70.1", + "vitest": "^5.0.2", "yaml": "2.9.1", "yaml-eslint-parser": "2.1.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1f6fcf0..2fe0f29 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -27,23 +27,23 @@ importers: .: dependencies: "@modelcontextprotocol/sdk": - specifier: ^1.29.0 - version: 1.30.0(supports-color@7.2.0)(zod@4.6.5) + specifier: ^1.30.1 + version: 1.30.1(supports-color@7.2.0)(zod@4.6.5) "@mozilla/readability": specifier: ^0.6.0 version: 0.6.0 commander: - specifier: ^14.0.3 - version: 14.0.3 + specifier: ^15.0.0 + version: 15.0.0 glob: specifier: ^13.0.6 version: 13.0.6 jsdom: - specifier: ^26.1.0 - version: 26.1.0(supports-color@7.2.0) + specifier: ^30.1.1 + version: 30.1.1 node-html-parser: - specifier: ^7.0.1 - version: 7.1.0 + specifier: ^9.0.4 + version: 9.0.4 remark-parse: specifier: ^11.0.0 version: 11.0.0(supports-color@7.2.0) @@ -51,7 +51,7 @@ importers: specifier: ^11.0.0 version: 11.0.0 turndown: - specifier: ^7.2.0 + specifier: ^7.2.4 version: 7.2.4 unified: specifier: ^11.0.5 @@ -64,68 +64,71 @@ importers: version: 4.6.5 devDependencies: "@commitlint/cli": - specifier: ^21.2.2 - version: 21.2.3(@types/node@25.9.5)(conventional-commits-parser@7.1.2)(typescript@6.0.3) + specifier: ^21.2.3 + version: 21.2.3(@types/node@26.6.3)(@typescript/typescript6@6.0.2)(conventional-commits-parser@7.1.2) "@commitlint/config-conventional": - specifier: ^21.2.2 + specifier: ^21.2.3 version: 21.2.3 "@commitlint/types": - specifier: ^21.2.0 + specifier: ^21.2.3 version: 21.2.3 "@eslint/json": - specifier: 2.0.1 - version: 2.0.1 + specifier: 2.1.0 + version: 2.1.0 "@eslint/markdown": specifier: 8.0.3 version: 8.0.3(supports-color@7.2.0) "@exadev/eslint-config": specifier: 2.35.0 - version: 2.35.0(@eslint/json@2.0.1)(@eslint/markdown@8.0.3(supports-color@7.2.0))(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript-eslint@8.67.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(typescript@6.0.3) + version: 2.35.0(@eslint/json@2.1.0)(@eslint/markdown@8.0.3(supports-color@7.2.0))(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript-eslint@8.70.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)) "@semantic-release/changelog": - specifier: ^6.0.3 - version: 6.0.3(semantic-release@25.0.9(supports-color@7.2.0)(typescript@6.0.3)) + specifier: ^7.0.0 + version: 7.0.0(semantic-release@25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0)) "@semantic-release/git": - specifier: ^10.0.1 - version: 10.0.1(semantic-release@25.0.9(supports-color@7.2.0)(typescript@6.0.3))(supports-color@7.2.0) + specifier: ^11.0.1 + version: 11.0.1(semantic-release@25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0))(supports-color@7.2.0) "@types/jsdom": - specifier: ^21.1.7 - version: 21.1.7 + specifier: ^30.0.0 + version: 30.0.0 "@types/node": - specifier: ^25.6.0 - version: 25.9.5 + specifier: ^26.6.3 + version: 26.6.3 "@types/semver": specifier: 7.8.0 version: 7.8.0 "@types/turndown": - specifier: ^5.0.5 + specifier: ^5.0.6 version: 5.0.6 "@types/unist": specifier: ^3.0.3 version: 3.0.3 + "@typescript/native": + specifier: npm:typescript@^7.0.2 + version: typescript@7.0.2 "@vitest/coverage-v8": - specifier: ^3.2.3 - version: 3.2.7(supports-color@7.2.0)(vitest@3.2.7(@types/debug@4.1.13)(@types/node@25.9.5)(jiti@2.7.0)(jsdom@26.1.0(supports-color@7.2.0))(supports-color@7.2.0)(tsx@4.23.15)(yaml@2.9.1)) + specifier: ^5.0.2 + version: 5.0.2(vitest@5.0.2) commitizen: - specifier: ^4.3.1 - version: 4.3.2(@types/node@25.9.5)(typescript@6.0.3) + specifier: ^4.3.2 + version: 4.3.2(@types/node@26.6.3)(@typescript/typescript6@6.0.2) conventional-changelog-conventionalcommits: - specifier: ^9.3.1 - version: 9.3.1 + specifier: ^10.4.0 + version: 10.4.0 cz-conventional-changelog: specifier: ^3.3.0 - version: 3.3.0(@types/node@25.9.5)(typescript@6.0.3) + version: 3.3.0(@types/node@26.6.3)(@typescript/typescript6@6.0.2) eslint: - specifier: ^10.2.1 - version: 10.10.0(jiti@2.7.0)(supports-color@7.2.0) + specifier: ^10.11.0 + version: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) eslint-config-prettier: specifier: ^10.1.8 - version: 10.1.8(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0)) + version: 10.1.8(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) eslint-plugin-depend: specifier: 1.5.0 - version: 1.5.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0)) + version: 1.5.0(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) eslint-plugin-prettier: specifier: 5.5.6 - version: 5.5.6(eslint-config-prettier@10.1.8(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0)))(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(prettier@3.9.6) + version: 5.5.6(eslint-config-prettier@10.1.8(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)))(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(prettier@3.9.9) globals: specifier: 17.12.0 version: 17.12.0 @@ -136,17 +139,17 @@ importers: specifier: ^2.7.0 version: 2.7.0 knip: - specifier: ^6.32.2 - version: 6.32.2 + specifier: ^6.38.0 + version: 6.38.0 lint-staged: - specifier: ^17.3.0 - version: 17.4.1 + specifier: ^17.6.0 + version: 17.6.0 prettier: - specifier: ^3.8.3 - version: 3.9.6 + specifier: ^3.9.9 + version: 3.9.9 semantic-release: - specifier: ^25.0.3 - version: 25.0.9(supports-color@7.2.0)(typescript@6.0.3) + specifier: ^25.0.9 + version: 25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0) semver: specifier: 7.8.5 version: 7.8.5 @@ -154,20 +157,20 @@ importers: specifier: 4.23.15 version: 4.23.15 turbo: - specifier: ^2.10.10 - version: 2.10.12 + specifier: ^2.11.4 + version: 2.11.4 typedoc: specifier: ^0.28.20 - version: 0.28.20(typescript@6.0.3) + version: 0.28.20(@typescript/typescript6@6.0.2) typescript: - specifier: ^6.0.3 - version: 6.0.3 + specifier: npm:@typescript/typescript6@^6.0.2 + version: "@typescript/typescript6@6.0.2" typescript-eslint: - specifier: ^8.59.0 - version: 8.67.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) + specifier: ^8.70.1 + version: 8.70.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0) vitest: - specifier: ^3.2.3 - version: 3.2.7(@types/debug@4.1.13)(@types/node@25.9.5)(jiti@2.7.0)(jsdom@26.1.0(supports-color@7.2.0))(supports-color@7.2.0)(tsx@4.23.15)(yaml@2.9.1) + specifier: ^5.0.2 + version: 5.0.2(@types/node@26.6.3)(@vitest/coverage-v8@5.0.2)(jsdom@30.1.1)(vite@7.3.6(@types/node@26.6.3)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) yaml: specifier: 2.9.1 version: 2.9.1 @@ -200,18 +203,19 @@ packages: integrity: sha512-nRBchcMM+QK1pdjO7/idu86rbJI5YHUKCvKs0KxnSYbVe3F51UfGxuZX4Qy/fWlp6l7gWFwIkrOzN+oUK03kfw==, } - "@ampproject/remapping@2.3.0": + "@asamuzakjp/css-color@7.1.0": resolution: { - integrity: sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==, + integrity: sha512-s6vMrO4hds+skR2OMmdwSORZiiEbqhAjd56W/0gc/x4PYpTibh/ey5Oy9ywkZ+ycX9EgTcJruhE1T/KkbU7LNA==, } - engines: { node: ">=6.0.0" } + engines: { node: ^22.22.2 || ^24.15.0 || >=26.0.0 } - "@asamuzakjp/css-color@3.2.0": + "@asamuzakjp/dom-selector@9.2.1": resolution: { - integrity: sha512-K1A6z8tS3XsmCMM86xoWdn7Fkdn9m6RSVtocUrJYIwZnFVkng/PvkEoWtOWmP+Scc6saYWHWZYbndEEXxl24jw==, + integrity: sha512-NT4s3yZLjovPpliRpTvdsdzyPjqRqiCZj9MxnarBihbaY5MbAG7DWAJcrLlhmC7xKTNCXsTELcqB8YsqpLnUFQ==, } + engines: { node: ^22.22.2 || ^24.15.0 || >=26.0.0 } "@babel/code-frame@7.29.7": resolution: @@ -234,10 +238,10 @@ packages: } engines: { node: ">=6.9.0" } - "@babel/parser@7.29.8": + "@babel/parser@7.29.9": resolution: { - integrity: sha512-E8lTAYNB1KW+FH+VGJuZM1ioAx2E6oVlvQFRrf5P8ZZmsiJXYAD9vTFV7yyEURNzgh1dFqMZuO6tUwcARbqFCA==, + integrity: sha512-CjXrNHTnvqBVqHgdBysY3vk2T8tpJHb5/RMeHJBTyVa9xgugCB0CJTx/3oO8RV2QRQP391RWpB7D6hLjm8V9uA==, } engines: { node: ">=6.0.0" } hasBin: true @@ -256,6 +260,13 @@ packages: } engines: { node: ">=18" } + "@bramus/specificity@2.4.2": + resolution: + { + integrity: sha512-ctxtJ/eA+t+6q2++vj5j7FYX3nRu311q1wfYH3xjlLOsczhlhxAg2FWNUXhpGvAw3BWo1xBcvOV6/YLc2r5FJw==, + } + hasBin: true + "@cacheable/memory@2.2.0": resolution: { @@ -290,13 +301,6 @@ packages: } engines: { node: ">=22.12.0" } - "@commitlint/config-validator@21.2.0": - resolution: - { - integrity: sha512-t7AzNHAKeIdo/3NRGwzpufKHsKkPHmFs/56N2Fnsh0/r0rGtnQzTxk6vnFgjaGr4hdSQKNB50/KAhR9Yk4LJKA==, - } - engines: { node: ">=22.12.0" } - "@commitlint/config-validator@21.2.3": resolution: { @@ -339,13 +343,6 @@ packages: } engines: { node: ">=22.12.0" } - "@commitlint/load@21.2.2": - resolution: - { - integrity: sha512-0Tt6wDPX167cjKC5D4zhm0+20wJJG+TN/TKovMOspfSe78rOnKX+MNzlVNiu6HyQPZChPJ8QBH31MVt6Bb8fCg==, - } - engines: { node: ">=22.12.0" } - "@commitlint/load@21.2.3": resolution: { @@ -374,13 +371,6 @@ packages: } engines: { node: ">=22.12.0" } - "@commitlint/resolve-extends@21.2.2": - resolution: - { - integrity: sha512-RPkJ/IFi7sMUUVbZLqwWFtWw/zRDcfFsmrPSiTMrt5wb7AdxOr86EGQFvmGzef5QKV5IPBWWCujqVTw1RWX44A==, - } - engines: { node: ">=22.12.0" } - "@commitlint/resolve-extends@21.2.3": resolution: { @@ -438,48 +428,59 @@ packages: } engines: { node: ">=22" } - "@csstools/color-helpers@5.1.0": + "@csstools/color-helpers@6.1.2": resolution: { - integrity: sha512-S11EXWJyy0Mz5SYvRmY8nJYTFFd1LCNV+7cXyAgQtOOuzb4EsgfqDufL+9esx72/eLhsRdGZwaldu/h+E4t4BA==, + integrity: sha512-grhRy3OKmniaAEKXMjua5z/EODX0MSqBGjunw8+j/3HQjOnahs2AGhvEOIYVUWcU6ScApbhLhVrQTX8XqrMrow==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } - "@csstools/css-calc@2.1.4": + "@csstools/css-calc@3.4.1": resolution: { - integrity: sha512-3N8oaj+0juUw/1H3YwmDDJXCgTB1gKU6Hc/bB502u9zR0q2vd786XJH9QfrKIEgFlZmhZiq6epXl4rHqhzsIgQ==, + integrity: sha512-EtC7SoN1j6J4E4DCwg5QgbO5TGxgxIA1RXqe+W+qUM+BUcezx9wT+/tiQ/WO2yCX4i5X+Cuf9ciJ22aP4UEwWw==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.5 - "@csstools/css-tokenizer": ^3.0.4 + "@csstools/css-parser-algorithms": ^4.0.1 + "@csstools/css-tokenizer": ^4.0.2 - "@csstools/css-color-parser@3.1.0": + "@csstools/css-color-parser@4.2.4": resolution: { - integrity: sha512-nbtKwh3a6xNVIp/VRuXV64yTKnb1IjTAEEh3irzS+HkKjAOYLTGNb9pmVNntZ8iVBHcWDA2Dof0QtPgFI1BaTA==, + integrity: sha512-DyefytAZ735mX4Dq/WcDAXFtXhaEFvme0ZS9tVEBAc2whxUthXr0R0L2rmEPm59SrMBkGrFzQviBXMs/UtnABQ==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.5 - "@csstools/css-tokenizer": ^3.0.4 + "@csstools/css-parser-algorithms": ^4.0.1 + "@csstools/css-tokenizer": ^4.0.2 - "@csstools/css-parser-algorithms@3.0.5": + "@csstools/css-parser-algorithms@4.0.1": resolution: { - integrity: sha512-DaDeUkXZKjdGhgYaHNJTV9pV7Y9B3b644jCLs9Upc3VeNGg6LWARAT6O+Q+/COo+2gg/bM5rhpMAtf70WqfBdQ==, + integrity: sha512-ShL8BqPfbKJrJiKFH0xBbN0i7Nrh9HXYRuF+pzyj93R/BL2YAsUxJeqANErzqM+0JGl7vjHp+3OIgd/DL69YIA==, } - engines: { node: ">=18" } + engines: { node: ">=20.19.0" } peerDependencies: - "@csstools/css-tokenizer": ^3.0.4 + "@csstools/css-tokenizer": ^4.0.2 - "@csstools/css-tokenizer@3.0.4": + "@csstools/css-syntax-patches-for-csstree@1.1.14": resolution: { - integrity: sha512-Vd/9EVDiu6PPJt9yAh6roZP6El1xHrdvIVGjyBsHR0RYwNHgL7FJPyIIW4fANJNG6FtyZfvlRPpFI4ZM/lubvw==, + integrity: sha512-HpbVXyrofRXpHpgkNIjU/3EWR4WJvOkO3emNK/L6X/mTJU7bGUI3AkkpoTNXznQLp0KRjLHELTGeKI5dIkI9JQ==, } - engines: { node: ">=18" } + peerDependencies: + css-tree: ^3.2.1 + peerDependenciesMeta: + css-tree: + optional: true + + "@csstools/css-tokenizer@4.0.2": + resolution: + { + integrity: sha512-OoKoR0f76dCY666JlcbhmVTs2drYj1GUXZTYTcbUgJjh9Nv41aFfZ21bPQTERm5+L5cBDo466NltB2lplS5GBw==, + } + engines: { node: ">=20.19.0" } "@emnapi/core@1.11.2": resolution: @@ -796,10 +797,10 @@ packages: eslint: optional: true - "@eslint/json@2.0.1": + "@eslint/json@2.1.0": resolution: { - integrity: sha512-Thz2j92ceUF3Bq/0TuWb3MWn3Z+Cwc8k5ptF0fakl2D4Mp8mSx07Xr1aQM4R5NoihzarWUdxfOmQ8DesGy4jOg==, + integrity: sha512-Zcg+SXHmdAlo+0ZFwxOvDQye2zxhaFCu/CPdJTsMDSEYZXkX67AWvdwzhI/YdPYNW68Q1Tr1Rv2SsuUZydnjBg==, } engines: { node: ^20.19.0 || ^22.13.0 || >=24 } @@ -817,13 +818,6 @@ packages: } engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - "@eslint/plugin-kit@0.7.2": - resolution: - { - integrity: sha512-+CNAzxglkrpNf/kKywqQfk74QjtceuOE7Qm+AF8miRvPF/wmmK5+OJOgVh3AVTT3RP2mH3+FOaxlE5v72owk0A==, - } - engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - "@eslint/plugin-kit@0.7.3": resolution: { @@ -867,6 +861,18 @@ packages: eslint-plugin-turbo: optional: true + "@exodus/bytes@1.16.0": + resolution: + { + integrity: sha512-IcpW84uEn3N7ETtNZMlxKhfl6Pec8rUNGOTBtWbK1FKhJxIFAptZyVrvVRVBimAJxJCgc3PxepxkdWWG4DVzfA==, + } + engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } + peerDependencies: + "@noble/hashes": ^1.8.0 || ^2.0.0 + peerDependenciesMeta: + "@noble/hashes": + optional: true + "@gerrit0/mini-shiki@3.23.0": resolution: { @@ -910,10 +916,10 @@ packages: } engines: { node: ">=12.22" } - "@humanwhocodes/momoa@3.3.10": + "@humanwhocodes/momoa@3.3.13": resolution: { - integrity: sha512-KWiFQpSAqEIyrTXko3hFNLeQvSK8zXlJQzhhxsyVn58WFRYXST99b3Nqnu+ttOtjds2Pl2grUHGpe2NzhPynuQ==, + integrity: sha512-AbKq3EW41+HY6pNMJgAOrz68iyiTTf0Nr1JRHHfuG5zwniJ9Dw8J3U7oa1I2ptpqYwmEf1sXKOGK6lbdZ9eqmg==, } engines: { node: ">=18" } @@ -936,26 +942,6 @@ packages: "@types/node": optional: true - "@isaacs/cliui@8.0.2": - resolution: - { - integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==, - } - engines: { node: ">=12" } - - "@istanbuljs/schema@0.1.6": - resolution: - { - integrity: sha512-+Sg6GCR/wy1oSmQDFq4LQDAhm3ETKnorxN+y5nbLULOR3P0c14f2Wurzj3/xqPXtasLFfHd5iRFQ7AJt4KH2cw==, - } - engines: { node: ">=8" } - - "@jridgewell/gen-mapping@0.3.13": - resolution: - { - integrity: sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==, - } - "@jridgewell/resolve-uri@3.1.2": resolution: { @@ -963,10 +949,10 @@ packages: } engines: { node: ">=6.0.0" } - "@jridgewell/sourcemap-codec@1.5.5": + "@jridgewell/sourcemap-codec@1.6.0": resolution: { - integrity: sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==, + integrity: sha512-T7jf+5zgsZHwNJ4lvQ7/aezbyk0nNX+zJVWpmHA7VYsEx7a7qr5Rg5IbtJFqkgze5Y2sruq1RUY8Q837Od7iFw==, } "@jridgewell/trace-mapping@0.3.31": @@ -1008,10 +994,10 @@ packages: integrity: sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw==, } - "@modelcontextprotocol/sdk@1.30.0": + "@modelcontextprotocol/sdk@1.30.1": resolution: { - integrity: sha512-xKd8OIzlqNzcqcNumGAa6g+PW2kjD5vrpcKOnfldAUPP3j7lnqMPwlTXQm8gF+UwH72z0lqaRbjr9hqGz0eITA==, + integrity: sha512-H2HxLvC3HDNybePJaLdSrU1hhUK5iQw+WvV1b01myFyI7sdVGe1u/IPTE5D9fGCiJDVtgMV/lmFkQXLmQyIFYA==, } engines: { node: ">=18" } peerDependencies: @@ -1038,10 +1024,10 @@ packages: os: [linux] libc: [glibc] - "@napi-rs/wasm-runtime@1.2.3": + "@napi-rs/wasm-runtime@1.2.4": resolution: { - integrity: sha512-UMduMbqO5s5zF2NkNacMT/yK5Y5QiKvWr2+50bzIIxFDwVJ2h49b+oyjaCGPhJxd2/gC2x39EHv/gHVuu36x2Q==, + integrity: sha512-AJxoUD2/15ESHbvpcyjU274nsAPLuOtPHCk0vKJM5pj//Fg/B1FXNWjPnXTT9PymCYYiHo4zPj0ZomXBKhoy7g==, } engines: { node: ^20.19.0 || ^22.13.0 || >=23.5.0 } peerDependencies: @@ -1055,43 +1041,43 @@ packages: } engines: { node: ">= 20" } - "@octokit/core@7.0.7": + "@octokit/core@7.0.8": resolution: { - integrity: sha512-DcB0M3KFgr9ECI328lhBMVsyFT2DnmNucSBTqEN3exyNKUzkkpUSCHmTRcunF41Eou2TIQKW4seewri8ON9bSA==, + integrity: sha512-L7y8eYc+AwxGr2PWI4WFt1VG4TiJ66c26BD16mXpYIlXxG0SMigM1+m4aTSlYyBr5BlQsGAlz8uDCoZN4SEMcg==, } engines: { node: ">= 20" } - "@octokit/endpoint@11.0.4": + "@octokit/endpoint@11.0.5": resolution: { - integrity: sha512-f1cOWoHPmxryJFknxbtDdjODWfV8A9tc8Aae6ermXPNgHFZ/x91AtHIz4gicEjL8hkJiip+u21QHJORfBv/qiA==, + integrity: sha512-iXa654H3yFafF/ieHkukfbgWo2rmXD2ceD0ZOtrPhw1bc3FDch1d9N/TNs0FQ1/cIbwb7kspUX8jzIs8nzb9DQ==, } engines: { node: ">= 20" } - "@octokit/graphql@9.0.4": + "@octokit/graphql@9.0.5": resolution: { - integrity: sha512-5s15CCiY8XXQ+FG+b1YQcl6Z2FA++nwAz/tg2VUrTmnMncP+2nnGUEYANImdnxsA2Fnq+Mbl7hDjUTw7cFAwcg==, + integrity: sha512-bt/hm03LeU6Vy7FwTrkkC9p3XGT/lBwClglMqxBSe5/q0E5CdJTXeAqEI0vlw89/LF/G6tryTIH8HirZ3prMVg==, } engines: { node: ">= 20" } - "@octokit/openapi-types@27.0.0": + "@octokit/openapi-types@28.0.0": resolution: { - integrity: sha512-whrdktVs1h6gtR+09+QsNk2+FO+49j6ga1c55YZudfEG+oKJVvJLQi3zkOm5JjiUXAagWK2tI2kTGKJ2Ys7MGA==, + integrity: sha512-0rFyLuyHvIj6uuZWuDslxkowFYdPXoNIkeAv4b27dzm2Tf4vGWXnPsMcxs7d65kLdMERgP3wc1AEPlqMz8e1cQ==, } - "@octokit/openapi-types@28.0.0": + "@octokit/openapi-types@29.0.1": resolution: { - integrity: sha512-0rFyLuyHvIj6uuZWuDslxkowFYdPXoNIkeAv4b27dzm2Tf4vGWXnPsMcxs7d65kLdMERgP3wc1AEPlqMz8e1cQ==, + integrity: sha512-9qWOMFNxxLokERcms42rU0PTLqQmVs7g5E41TI4mCOxmpFayD1rfC7XxOL55cG9MBZLFlC31BrR37myMKardwg==, } - "@octokit/plugin-paginate-rest@14.0.0": + "@octokit/plugin-paginate-rest@15.0.0": resolution: { - integrity: sha512-fNVRE7ufJiAA3XUrha2omTA39M6IXIc6GIZLvlbsm8QOQCYvpq/LkMNGyFlB1d8hTDzsAXa3OKtybdMAYsV/fw==, + integrity: sha512-lw9A9YL5s4VPj+VEx8uMxaxQm2YTgrPDkrLEuZuu18R8TK3oPcXF4K6t52nx6xn1RcogZC9i188sAr/4XYJaQQ==, } engines: { node: ">= 20" } peerDependencies: @@ -1115,215 +1101,215 @@ packages: peerDependencies: "@octokit/core": ^7.0.0 - "@octokit/request-error@7.1.1": + "@octokit/request-error@7.1.2": resolution: { - integrity: sha512-+eaY7G2VVpSf2pc5Gn1+mph837V/d/TYTJAgWL9Tb0ogGYcpN3IlAVFgjL+Vv93F/sevrxkvsYCedtpLdcFLzA==, + integrity: sha512-XZRuT3xZ84D3gYErI1DZvhJ33dCWVV6uzBtWkaBB4TvA/L6eOeTZodxLFVB44bBEEo3vEx7y00UfX1tBLrtLRg==, } engines: { node: ">= 20" } - "@octokit/request@10.0.13": + "@octokit/request@10.0.16": resolution: { - integrity: sha512-v2269YxL9Yf+x3d+gRI63FP0vFQEiWgLyBzxe/Y+0yFDg2B/Tzf5dhh9VNfccVAQnfcfwQWyk/y6Bn7rUXXs7A==, + integrity: sha512-A0zWGjHzISIb+9ccG8s0dq7LKO5zVpJLRICjgUb+sJxEWqn8RUHB1rD3AE51+PECvXHIxqZ1VVvs4fHTSD9nUQ==, } engines: { node: ">= 20" } - "@octokit/types@16.0.0": + "@octokit/types@17.0.0": resolution: { - integrity: sha512-sKq+9r1Mm4efXW1FCk7hFSeJo4QKreL/tTbR0rz/qx/r1Oa2VV83LTA/H/MuCOX7uCIJmQVRKBcbmWoySjAnSg==, + integrity: sha512-ByP1v7YL5SMveFPP7+sj0/ZuWCOOg/Chs4NafOMpq6WNIM/hdGY0S7C0TCGDBWu1aGmOxmUIhMx3cO+IdwYZ1Q==, } - "@octokit/types@17.0.0": + "@octokit/types@18.0.0": resolution: { - integrity: sha512-ByP1v7YL5SMveFPP7+sj0/ZuWCOOg/Chs4NafOMpq6WNIM/hdGY0S7C0TCGDBWu1aGmOxmUIhMx3cO+IdwYZ1Q==, + integrity: sha512-l6bAF43PNxkJp6g+W4PjoUSSkxHomXw2nOum5CTftJz1NlV3vu93NImgOYtLf6CbBUb5j+fiuzW0PPQ5JTSvZA==, } - "@oxc-parser/binding-android-arm-eabi@0.143.0": + "@oxc-parser/binding-android-arm-eabi@0.150.0": resolution: { - integrity: sha512-n9uozULWflPqBtdmI8lAabLqGKNgLVNN0ZH8HfgCwpKGNtzRzauB76jTiW/3YLkcA7N1zskpi9GdVnZuu1SAvg==, + integrity: sha512-oQef2Zu4Prz1KLKznz3HqZzU9uVoA5PMoDZuuLmqms7hKmKSAPzlaMnLllJq3t+rgKmfJJ2siPrpZfFrW06btw==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm] os: [android] - "@oxc-parser/binding-android-arm64@0.143.0": + "@oxc-parser/binding-android-arm64@0.150.0": resolution: { - integrity: sha512-9BbdjHETk6O3zH/DDid9IgBtF0GlpLabNKN231uraXpRDSfY+iiZxTP5bk1Z63GBownVdhdINFIeddmMz4MzpQ==, + integrity: sha512-B6ofpoFiAUwIZ0MJ2IgHPvZK8FAtL4qzSZRwOkAKIfxEobE1mQC8nDdiFZj7pUaJiVUVCsfkMsBJKedzO8rZvA==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [android] - "@oxc-parser/binding-darwin-arm64@0.143.0": + "@oxc-parser/binding-darwin-arm64@0.150.0": resolution: { - integrity: sha512-gh+6ecoHUy4/sUcolBl/1qPXKBbYNxFY0Pk0ujgQvINTMSftJY7o4yb8gOkDJPeZeB8+a+u7xTe6umoP8N5HFA==, + integrity: sha512-J+9IHKzx/bSz1JetOfD4zKXSK9sOm4/a7+0qomJODcTL6JsRXGeV/ZdkAPSIDydfFmWzYCraMlQEosSZEyBYkQ==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [darwin] - "@oxc-parser/binding-darwin-x64@0.143.0": + "@oxc-parser/binding-darwin-x64@0.150.0": resolution: { - integrity: sha512-qd1hl2d+lXgHv/VQ/M9qm8TrMC5T4RqDBwtOnl+1D0QMjwcz+8AaB4JSg8STgeag0GP6a6L74XEGAsrTSJWNzQ==, + integrity: sha512-v6IPfcAcSYrBWXV5Tce1DmxDMXLhEYpIIWiRFPJopgCVscZdLaV4MRQOUxvL3usQlw+yrwYOjBFB9IwBx+jUiQ==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [darwin] - "@oxc-parser/binding-freebsd-x64@0.143.0": + "@oxc-parser/binding-freebsd-x64@0.150.0": resolution: { - integrity: sha512-M5XXcNa7aOqLPKTR41msfghKu2yQ4xWvCm11/gwU0JzOzHNk5sgW//rVEjJ+LO48+VDAMzXTSzurUVxIDKwozw==, + integrity: sha512-AoR/4jD02HET0KO0yNT4nbTE+XJUxiO9jB1X/ycEjUE3WrIJ3IjV/Vf+gskhWLcqqeXfvNnkDtBR7epllAm88A==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [freebsd] - "@oxc-parser/binding-linux-arm-gnueabihf@0.143.0": + "@oxc-parser/binding-linux-arm-gnueabihf@0.150.0": resolution: { - integrity: sha512-T/GXusuOkPNQhCQCSBbcU/N8j0rAypuDBl1IyFK+lyYT594XsVz80clPC/OtbSSpBGyJxj8uYEfctxVuxVYoww==, + integrity: sha512-A/hycCFjLUrCmLoL5O/vBp40ohlaXO1Ta3v5hqYZxicYFs129wZmgZJggcW4mYGYbZebQLhup+N8JjeQl8qwyw==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm] os: [linux] - "@oxc-parser/binding-linux-arm-musleabihf@0.143.0": + "@oxc-parser/binding-linux-arm-musleabihf@0.150.0": resolution: { - integrity: sha512-oKu4RcBlXSqo3OC62dp6YTnQaZIurNDpCX3BnAM3+bJxt7s8J2TJKMnC0UYer1qhlRaDCg6wkTaTw+2IlsZ12w==, + integrity: sha512-pbqahg1Pkz7J4RKmXm30s/iQu99hv64ayXCu8P4p75HcEH5azOdR4eGqiB6lFGkFR3mMpzaYsSKLkS8oJbjmeQ==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm] os: [linux] - "@oxc-parser/binding-linux-arm64-gnu@0.143.0": + "@oxc-parser/binding-linux-arm64-gnu@0.150.0": resolution: { - integrity: sha512-WJBbD186AZmMGaSIhlktC+rPl8L3peCTXAh88Ih9uEvK0en2mPojGyCGYiL6mHtV1RPV3JyfJW5t6n5hh0lXhA==, + integrity: sha512-HV11aRbBQGwqv8bEo+K/6qr88uB4fEe1mhXncMhlVCrj+WpBSraxrUzHaPVmeQRU6x6x8v/3DuCbbo93rpp+fw==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [linux] libc: [glibc] - "@oxc-parser/binding-linux-arm64-musl@0.143.0": + "@oxc-parser/binding-linux-arm64-musl@0.150.0": resolution: { - integrity: sha512-t1AcYOwEzgceadT4v5e+vaCCb0AncCA3v5AyzfBAz/tMq11qzVccXKzNHtkWdjBsgvTKwRkaUF3QvT4kot8vcQ==, + integrity: sha512-k6pVkJqALwtEuP4zukVhGRhdIy4+ofChUIUUsAHHyqDZlNsknmel3JjbggrJiWGaes6h/dIcWmEXsKW4SmK9oQ==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [linux] libc: [musl] - "@oxc-parser/binding-linux-ppc64-gnu@0.143.0": + "@oxc-parser/binding-linux-ppc64-gnu@0.150.0": resolution: { - integrity: sha512-RsnO/NoD8376LMJq8JS8TwI0ieNaFRTuNe2GVJntQg6gwZNMENZsEbknHdVwjpOmxdGLGodcwaGSbAeRr5Bgjw==, + integrity: sha512-tEFg39mw/rHO5n8GK2DR4ZMFfsPQZtnQIPbsIpjoQRomJc/2tRfsCSmCT6gNit+NZGoeJG5aH9ATDH5bf0WnoQ==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [ppc64] os: [linux] libc: [glibc] - "@oxc-parser/binding-linux-riscv64-gnu@0.143.0": + "@oxc-parser/binding-linux-riscv64-gnu@0.150.0": resolution: { - integrity: sha512-48fSVfR9TZi5CASZFyv0VC6z6BCoeihFsX031mAD/oSH7d9PYsPgIqza7d9mjP7Z2KTEpTFyH6SIu0Ui6R1vdg==, + integrity: sha512-0JO7IFkoek6HqV589Menx3hJySNXi6quRhO4tq2P7kpEHKEXoDATnoPVUpn5B7gDH2KLkdo751N0uIrGJFCTCw==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [riscv64] os: [linux] libc: [glibc] - "@oxc-parser/binding-linux-riscv64-musl@0.143.0": + "@oxc-parser/binding-linux-riscv64-musl@0.150.0": resolution: { - integrity: sha512-T8CpdD+SfE01DnIOD4HpVxu0ZJOfMJ/VhCvikKfaXAxkZ+9veyLM/D2hpi7Y2hFUyPmVQO3FNZHmYzV/WlVR4g==, + integrity: sha512-7XPzREnyAS5wHU9aB+49Uaqgoo1gVCklHc3DRlc3fJy2tXD/eAJFN1QFz/crj+Ulup5P1+axNREF+/RGaB/IRA==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [riscv64] os: [linux] libc: [musl] - "@oxc-parser/binding-linux-s390x-gnu@0.143.0": + "@oxc-parser/binding-linux-s390x-gnu@0.150.0": resolution: { - integrity: sha512-QLdeMsCcacenPEFsfxnBUDF1y6opyz5+fmOz9bfD5Y7fiGCMupUCuB3KTPQhNwshIG1P9fPqar9MHxuBDd4bwQ==, + integrity: sha512-7n7ZxcbRWDFaTdyj8M8p0O9OfzoMKm8O6syBAIgcSutbOALq0Bb9G52Me+XH0anMLZV+NgXc726gqgG2q39vcQ==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [s390x] os: [linux] libc: [glibc] - "@oxc-parser/binding-linux-x64-gnu@0.143.0": + "@oxc-parser/binding-linux-x64-gnu@0.150.0": resolution: { - integrity: sha512-659ujfqLy6k7cuH3sbzhd8b+ztSq+i6E2E9pG78Q0BmHjAExfGIdgc8cGgMdwAozDXeZFHkJ+LXYJdWsaGdgyw==, + integrity: sha512-Vx0GSA9ZCRTUiczoEQnIIyXkMvtEY8uc6IiwLQtMe5ci2sXPqjrry0Ek5fsPP1k2kCzkML3ow9UOOEgnEDi7Bw==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [linux] libc: [glibc] - "@oxc-parser/binding-linux-x64-musl@0.143.0": + "@oxc-parser/binding-linux-x64-musl@0.150.0": resolution: { - integrity: sha512-/Mw/9j4TfZcnKphPrzOE6t4MMknXadcAAuVUlDRTF/ETWB5xOgQvOJV2Mh9We/bWxZdoxaGAdc+hy4GuYwQ2yQ==, + integrity: sha512-ii4/9m3viDLssMnfXU7/Pni/3nYplApuGayceX4qsVGaqqQJCx3tHIH9M/HWIeSty5i8LjS21zPYT6lVIkwLxw==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [linux] libc: [musl] - "@oxc-parser/binding-openharmony-arm64@0.143.0": + "@oxc-parser/binding-openharmony-arm64@0.150.0": resolution: { - integrity: sha512-8rIKWR2BFuifbIK/1XB9wTaSdtuJ25dlE7ZQYDnEwj/2xH2vHsxnvIjHT3ZjSVuLLwGGlSslIG/fbOJ8TV8rTw==, + integrity: sha512-ZtoxX5rez36ZWkwtiEhjkCPnlTPoQ2I7lIL0IYZ1yjxMYohbvoOjBmUIZzrf9W/HouONq0omIfTeCWEY+R380w==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [openharmony] - "@oxc-parser/binding-win32-arm64-msvc@0.143.0": + "@oxc-parser/binding-win32-arm64-msvc@0.150.0": resolution: { - integrity: sha512-5U9kQYMfRRI6Zq7KDxgbIP0RMnKrfn3gLepRMgJuRkPSUALTiRCk9d/uyhb4lGDjUdzwK7mBkKqhLgzBPCmLpQ==, + integrity: sha512-VqeRb5JX/bKYBrff7TUDvJyKY0914UzuCkuXIGxJS4FUmvMNfqkCbc7Sq90iMz9DlmAtlggwaBYQ9eg3h3ltiw==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [arm64] os: [win32] - "@oxc-parser/binding-win32-ia32-msvc@0.143.0": + "@oxc-parser/binding-win32-ia32-msvc@0.150.0": resolution: { - integrity: sha512-25P7AaHk4R88Yv2XH4gToDVmh0cOu+bEURQU10CRrmvgabfRArSGAP5osmwUKeSUHj0VS50upbpbRWWW/m7mHA==, + integrity: sha512-EPqJfeZ4Pgg2BJSsCV8GozxV0FDltRzpVtGVa1r2noJu1iu+opOw3gtBWXwIo9odCT/MdFfyHxdy0/CRqs3OqA==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [ia32] os: [win32] - "@oxc-parser/binding-win32-x64-msvc@0.143.0": + "@oxc-parser/binding-win32-x64-msvc@0.150.0": resolution: { - integrity: sha512-ORMh3JE1s6V7ySicdRK7vgaDQnn5o+UHg9ct989PlWHbel8O9ARrmWXM6kZjrBMtNucxNayQ8g69G0VfWzhANw==, + integrity: sha512-n5YMzbqwPQqozbkrexi0lNZrUz5cnPHalYpFWe6Dau7AmKIWNo+y24IwzDuZEQtEdUHuKhXmMMih/MPjOI+CMw==, } engines: { node: ^20.19.0 || >=22.12.0 } cpu: [x64] os: [win32] - "@oxc-project/types@0.143.0": + "@oxc-project/types@0.150.0": resolution: { - integrity: sha512-u6JZdLBTLotrNC9Vd6vPssINdzcCzleKAH6EJKImQb7GtYvX5keN2dxkoK44stCc4tffE6QQRtZTXVSzsLUlWA==, + integrity: sha512-rDS5/31E9HfPl/CIzGrn0DOlvBbXFseQ5URJ9sYMfstbKLD/c6Gm9vmRzRGDdAXyOIL4zmO37lc9RIwYqVruZw==, } "@oxc-resolver/binding-android-arm-eabi@11.24.2": @@ -1486,13 +1472,6 @@ packages: cpu: [x64] os: [win32] - "@pkgjs/parseargs@0.11.0": - resolution: - { - integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==, - } - engines: { node: ">=14" } - "@pkgr/core@0.3.6": resolution: { @@ -1740,14 +1719,14 @@ packages: integrity: sha512-831qok9r2t8AlxLko40y2ebgSDhenenCatLVeW/uBtnHPyhHOvG0C7TvfgecV+wHzIm5KUICgzmVpWS+IMEAeg==, } - "@semantic-release/changelog@6.0.3": + "@semantic-release/changelog@7.0.0": resolution: { - integrity: sha512-dZuR5qByyfe3Y03TpmCvAxCyTnp7r5XwtHRf/8vD9EAn4ZWbavUX8adMtXYzE86EVh0gyLA7lm5yW4IV30XUag==, + integrity: sha512-TNPyag5db24o7jWjre7UwKB4EcL8oJxbRhnDQ7hmZRAYqzreAc6PgdxQuU3pppp5xQinYtiumL0iG8SSKvnlzg==, } - engines: { node: ">=14.17" } + engines: { node: ^22.22.2 || >=24.15 } peerDependencies: - semantic-release: ">=18.0.0" + semantic-release: ">=20.1.0" "@semantic-release/commit-analyzer@13.0.1": resolution: @@ -1758,13 +1737,6 @@ packages: peerDependencies: semantic-release: ">=20.1.0" - "@semantic-release/error@3.0.0": - resolution: - { - integrity: sha512-5hiM4Un+tpl4cKw3lV4UgzJj+SmfNIDCLLw0TepzQxz9ZGV5ixnqkzIVF+3tp0ZHgcMKE+VNGHJjEeyFG2dcSw==, - } - engines: { node: ">=14.17" } - "@semantic-release/error@4.0.0": resolution: { @@ -1772,28 +1744,28 @@ packages: } engines: { node: ">=18" } - "@semantic-release/git@10.0.1": + "@semantic-release/git@11.0.1": resolution: { - integrity: sha512-eWrx5KguUcU2wUPaO6sfvZI0wPafUKAMNC18aXY4EnNcrZL86dEmpNVnC9uMpGZkmZJ9EfCVJBQx4pV4EMGT1w==, + integrity: sha512-Zr8BUYCTZMc8V6wDKN2dpR7nJgewd9I6THL3ydLTnp3OEdTo1/4RBLNYaeRucYMsjMv+BXoCNfXA0NADj1kwhw==, } - engines: { node: ">=14.17" } + engines: { node: ^22.22.2 || >=24.15 } peerDependencies: - semantic-release: ">=18.0.0" + semantic-release: ">=20.1.0" - "@semantic-release/github@12.0.9": + "@semantic-release/github@12.0.10": resolution: { - integrity: sha512-ODIqb0V3QqndipryEEiaBxUQCFjvv7Oese5Dt4omMGa60YRNEW0Sx3K+zri0uac2Y6S9nOlMehciWIzvvRCTGQ==, + integrity: sha512-QskygvpX8hFx9UEbqJ+C46OIhaJjsysNQ8PYJPuRDc/ek5+dh8WYGD1ofUahCcGLAOmnnwZTcmCJCEXM8XxhRw==, } engines: { node: ^22.14.0 || >= 24.10.0 } peerDependencies: semantic-release: ">=24.1.0" - "@semantic-release/npm@13.1.5": + "@semantic-release/npm@13.2.0": resolution: { - integrity: sha512-Hq5UxzoatN3LHiq2rTsWS54nCdqJHlsssGERCo8WlvdfFA9LoN0vO+OuKVSjtNapIc/S8C2LBj206wKLHg62mg==, + integrity: sha512-Uz4JGafLoEGiheLKEs1orockCWP6liY9D2YnvKHYbqo9hCHAw9fuAHcU53q29SXVCtkvDhs/QVUg7Vvuyfp4Jg==, } engines: { node: ^22.14.0 || >= 24.10.0 } peerDependencies: @@ -1895,58 +1867,58 @@ packages: oxlint: optional: true - "@turbo/darwin-64@2.10.12": + "@turbo/darwin-64@2.11.4": resolution: { - integrity: sha512-9nKgKoF6ZOUsM+or0OtNf+TTJSfGvDNP7ZFv/ZGWVwOSCkumyctQiTeHwB4UNljHTnC41AqylgbunLDHoccNrA==, + integrity: sha512-fEmcQVa95k79tZjcay5b2A4cpR/VrlNUki4AN7EbA+32vj5C5rBUE1q3i2yOFxsB2n01sOlzIZ+s2p2zADCTig==, } cpu: [x64] os: [darwin] - "@turbo/darwin-arm64@2.10.12": + "@turbo/darwin-arm64@2.11.4": resolution: { - integrity: sha512-H4Elb1jqTZVeIC9bbcNwjSzemZ6RegoTOVHeuV5Osirt2Z8UguTyisMEkvZjPVZgMeN9J4ERZBFad40tFnkb7w==, + integrity: sha512-SgXCVgBC1v+bdE6+KQGV6Kob7nBYo75zxzNFFuA4jLdM0J8lYamdTUoZSHLR0dy+kXVEYZqSC98CKqC17NG3Og==, } cpu: [arm64] os: [darwin] - "@turbo/linux-64@2.10.12": + "@turbo/linux-64@2.11.4": resolution: { - integrity: sha512-lr7KIotukvjZwEXiFSYAeOH3BWzjFVBbSzTbv0fuGFsNukYyH0+g1hB5ecqnJkgkYU+KHEMG1edOhnjiKON1wQ==, + integrity: sha512-MWM7Au6NPJMBmHJAzFzQ/PACYNRpBOqnBkj+7csdR+YhJ+0XBg4Z64wFwLnGFDac0gc+YlasWOZ5t05bGs54aQ==, } cpu: [x64] os: [android, linux] - "@turbo/linux-arm64@2.10.12": + "@turbo/linux-arm64@2.11.4": resolution: { - integrity: sha512-f0pZDTtvzB5SuNwuXBaKbZHUCMCukgc8nMlHEuvLmj91Fzec+MEbr3cAvGNor5htEDqZnO6Lxt9N/GPI/77oGA==, + integrity: sha512-rRVOh0UNlLbKPuf70FokqjahO/hCGgBmgvZcNXUPayn8Wk0zXIsVoNKpr0UQUhhR+KMiibvBKkVAGDViDFQHKA==, } cpu: [arm64] os: [android, linux] - "@turbo/windows-64@2.10.12": + "@turbo/windows-64@2.11.4": resolution: { - integrity: sha512-SDOueJRjS/QcykWf2KCRtTLmIl5YMKsLbXkXQGhDwcTXvKXZiS5ih5lBl/gkwZIpYFjqA/rAlfMzlAFcVHNe0g==, + integrity: sha512-COr+++1GwDg09XbJdm3sP1gEQApeV43UknYP9h82qet1tAGJrGQAxKVTMrf2JMsMw8MkJRnQj3gAVuQmV1kIyQ==, } cpu: [x64] os: [win32] - "@turbo/windows-arm64@2.10.12": + "@turbo/windows-arm64@2.11.4": resolution: { - integrity: sha512-0i0mVUa4kKk+/B3RwEwPMf9CB+T7ul56hn5FFHNA4VUNTOoLBEd6aNf3FaKfCatDNZ6cicCEf6if9QUTVyzzcA==, + integrity: sha512-gh5lwDA2d4aBdLvTANhFsFEgxbBqKZ4m4dCyChw9GoX8b+Esk8H3p25Q+rlWCUVJ2o6Hne10ZTL0QSFfWD4gIA==, } cpu: [arm64] os: [win32] - "@tybys/wasm-util@0.10.3": + "@tybys/wasm-util@0.10.4": resolution: { - integrity: sha512-F3fo1MYrRJYL3zER0OUOmkutjr1Vp23m7OsSgp7nq4SP6OqX6C/56XFIPAl5bt3zaBRjmW7SGz3u/6LwFpYcOg==, + integrity: sha512-W3c4gRigFS0T/Ma4qIYF3GDAc5AQdHb1yL5znJT1Zv1YaD9Kitx656wBjvr19qbiosmZT8lWDM5BEMynUqX65A==, } "@types/chai@5.2.3": @@ -1985,10 +1957,10 @@ packages: integrity: sha512-rp/ezSWaD1m44dPKICGhiskI13nVr7qTloFwDa/IYkhhf5nzwP+zIQcIJh3WIFSBOy/H1PzB40jPjMDksN4F+g==, } - "@types/jsdom@21.1.7": + "@types/jsdom@30.0.0": resolution: { - integrity: sha512-yOriVnggzrnQ3a9OKOCxaVuSug3w3/SbOj5i7VwXWZEyUNl3bLF9V3MfxGbZKuwqJOQyRfqXyROBB1CoZLFWzA==, + integrity: sha512-uAHGxujGE0cDaKGdK28zgDotFtNA7MKq5DXl8LrfdxdCI8VHcg15oJz+amHTChPNI5JpgEPQWc2xFdrw3em/nQ==, } "@types/json-schema@7.0.15": @@ -2015,16 +1987,10 @@ packages: integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==, } - "@types/node@25.9.5": - resolution: - { - integrity: sha512-OScDchr2fwuUmWdf4kZ9h7PcJiYDVInhJizG/biAq3cAvqwYktuy/TYGGdZNMtNTFUP7rnb0NU4TUdm82kt4Rg==, - } - - "@types/node@26.6.2": + "@types/node@26.6.3": resolution: { - integrity: sha512-X1P21scMv4zGKLYqjdGjaKa7COa0RKVYYZZN/NfvLQ1JegxFhdhpZG/Lyn8AXx6CDUavKAd11v6BvfpkDByK8g==, + integrity: sha512-dsqMQQoeTLqu9wynDD00q573mNzso3IdQOAfHRJqLCcmCFPoGo9A1bDpUcv/9tnKpErQWv9uKeGfl37EIS02Yg==, } "@types/normalize-package-data@2.4.4": @@ -2057,21 +2023,21 @@ packages: integrity: sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==, } - "@typescript-eslint/eslint-plugin@8.67.0": + "@typescript-eslint/eslint-plugin@8.70.1": resolution: { - integrity: sha512-Un7Heoyj65NREbKAyIrFxeM143NZpExWmy1Nep4DLeQOeLlTeumPjoNKnBrU5D5moWXbPJgRa5Uwcdu0faVNGQ==, + integrity: sha512-nDNrUQ/4ruSNYbu749TRY7cfrzPtoLHEXSNBI8aaNY32LlZCajixqRf3FqcKC4p5Cam4VOHYx/t+i5+nKXvrqA==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: - "@typescript-eslint/parser": ^8.67.0 + "@typescript-eslint/parser": ^8.70.1 eslint: ^8.57.0 || ^9.0.0 || ^10.0.0 typescript: ">=4.8.4 <6.1.0" - "@typescript-eslint/parser@8.67.0": + "@typescript-eslint/parser@8.70.1": resolution: { - integrity: sha512-fUBfTuuEulWqX6V8+O3PtScV01tzYYRUDTAirHFKoRAt7nOzoGiPt0M/bB47wWNy0coOOcgEwAMUtBpykMxl6w==, + integrity: sha512-nO974WLllwhSFWQXnMLj6nDGa8f0khKEz1JzpPJ1u7Vm/4X1X6ZHajpoknU4bb41vJyMB0HHVyS2GqdhWfIXZw==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: @@ -2153,10 +2119,10 @@ packages: peerDependencies: typescript: ">=4.8.4 <6.1.0" - "@typescript-eslint/type-utils@8.67.0": + "@typescript-eslint/type-utils@8.70.1": resolution: { - integrity: sha512-aVWDXbRmdXO9siTfX4ditQI1T9+zVcNazT48EJCD0v40/9RIFoUgZ05CmGEq9H2gixRpjUn/iplwvlcvutJW/Q==, + integrity: sha512-7zKTnyvaVWqzLZHPFQtX1hVHqgkMC+WebPWakNCSyrQVbIP1AM0L0TlBZtACldIRb6PptI8Odk+jyZ5kP3B1VA==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: @@ -2262,66 +2228,237 @@ packages: } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - "@vitest/coverage-v8@3.2.7": + "@typescript/typescript-aix-ppc64@7.0.2": resolution: { - integrity: sha512-NEGWJS2XNu2PfRLQwOO3CTKj1tTETxNBdk454vDxVBhxJYhPaA/eS0nAI0c+1El1P7a60z8+i+ZrQoGESweGKg==, + integrity: sha512-MTKKkWB7p/0E9xi1d1tHtZ5PiLkGEMIq88pK2CubZjOsLtYTLqhgIgi6zepFa+9GHZ6h05NMCkQxGKiPXMxXtQ==, } - peerDependencies: - "@vitest/browser": 3.2.7 - vitest: 3.2.7 - peerDependenciesMeta: - "@vitest/browser": - optional: true + engines: { node: ">=16.20.0" } + cpu: [ppc64] + os: [aix] - "@vitest/expect@3.2.7": + "@typescript/typescript-darwin-arm64@7.0.2": resolution: { - integrity: sha512-E8eBXaKibuvH2pSZErOjdVb5vF4PbKYcrnluBTYxEk1l/VhhwZg1kZQsdtjq+CsF5CFydf2Rdkz7jDHKSisi3w==, + integrity: sha512-gowzar9MwS/aRWp6f3a4KUqzRjAZjOsmGNCM6LcTgXum+dBfgsBVMN+AgvOCCbguXyick6LJhpBszxMebJ8syA==, } + engines: { node: ">=16.20.0" } + cpu: [arm64] + os: [darwin] - "@vitest/mocker@3.2.7": + "@typescript/typescript-darwin-x64@7.0.2": resolution: { - integrity: sha512-Trr0hYO9CM3Wj6ksWHRhK9IZpIY6wTMO5u/MqXurMxT57sWBaOPEtP3Oq60ihZuh5JsiagKfz95OcxdEP6dBrA==, + integrity: sha512-SZ9xZInqApNlNGc9s0W1VSsktYSOe9cFqNOIqmN1Gs8SmkjKZYFt017G4VwPxASInODuAdbTW7sXiFUf893RgA==, } - peerDependencies: - msw: ^2.4.9 - vite: ^5.0.0 || ^6.0.0 || ^7.0.0-0 - peerDependenciesMeta: - msw: - optional: true - vite: - optional: true + engines: { node: ">=16.20.0" } + cpu: [x64] + os: [darwin] + + "@typescript/typescript-freebsd-arm64@7.0.2": + resolution: + { + integrity: sha512-W5NH4y/J0plIIS5b2xvTEkU7JFxyqdMAOgf+Ilhl0vHQXKO5dZoxd+C/jEtq56c4F3wk71RB4BMRQ2XdI+bwYQ==, + } + engines: { node: ">=16.20.0" } + cpu: [arm64] + os: [freebsd] + + "@typescript/typescript-freebsd-x64@7.0.2": + resolution: + { + integrity: sha512-UMGDx5sTpzNw3WiPebH7l90IWfJggEd+egHt/q6p7/Cm3zqoV7VxkGXt+3DxPIw8CcmvAB0j3sVVfbhX+M4Tpw==, + } + engines: { node: ">=16.20.0" } + cpu: [x64] + os: [freebsd] + + "@typescript/typescript-linux-arm64@7.0.2": + resolution: + { + integrity: sha512-Qh4eU4/y3yDjnfjjyPYihMj5/ODIlmt+Bzu17OI+fiSRDW57QmU5SiN63exPRNJPKUzcc1INa1NXdrJ+MqHjUQ==, + } + engines: { node: ">=16.20.0" } + cpu: [arm64] + os: [linux] + + "@typescript/typescript-linux-arm@7.0.2": + resolution: + { + integrity: sha512-gffT3xPz9sR7j/YJExkyPntrI0P2EP9XbOyWzth2/Gs0RstK+90RBcO0ncXoXy/beYll1SXw846Nf2zdnEz0QQ==, + } + engines: { node: ">=16.20.0" } + cpu: [arm] + os: [linux] + + "@typescript/typescript-linux-loong64@7.0.2": + resolution: + { + integrity: sha512-uEHck9i8hoAzXPiYRib1O7miOnz23SxIeVl6F4LXox+qov1K35jHcEW6VHKvZI+pyvl7fZEP4MCU5LYvIq1GuQ==, + } + engines: { node: ">=16.20.0" } + cpu: [loong64] + os: [linux] + + "@typescript/typescript-linux-mips64el@7.0.2": + resolution: + { + integrity: sha512-R4KvAMnE43W5Qeqb0Ly56O3mWMWIAgsMyz36DCaycd5nbg/9kzm0liw3JocfRqyJY0KPmzFjbswozXyW0DnIYA==, + } + engines: { node: ">=16.20.0" } + cpu: [mips64el] + os: [linux] + + "@typescript/typescript-linux-ppc64@7.0.2": + resolution: + { + integrity: sha512-DORx5b3sd/4S7eayxm4FQv+A7CrkUIGRaHiwI8oiHTAI1fAPWhF4J0vAlkC8biAlHSVVwxMQ3tjZ2/DVbnQiiA==, + } + engines: { node: ">=16.20.0" } + cpu: [ppc64] + os: [linux] + + "@typescript/typescript-linux-riscv64@7.0.2": + resolution: + { + integrity: sha512-wf0jqEDOjrPRnKwYRyyJDRo11KMbvMFrU+q4zqKyChODBzvlkbhNQfKvLxQCcwTpdDaXSHZTVuh0JoCrKCUMHQ==, + } + engines: { node: ">=16.20.0" } + cpu: [riscv64] + os: [linux] + + "@typescript/typescript-linux-s390x@7.0.2": + resolution: + { + integrity: sha512-IkwJc3L7yhytWd/ewjyxNDfOmswCm9GWMJT/ue/dU4aZNbwZeYAetq42VyLmsmSjvoX7z74X6ZaYCtzAr0EuGw==, + } + engines: { node: ">=16.20.0" } + cpu: [s390x] + os: [linux] + + "@typescript/typescript-linux-x64@7.0.2": + resolution: + { + integrity: sha512-EYdf2cNg7rgCWJnxCdJ+F3V39O8ihb37eHAu1LK8oAFizgTQbPOK7zHHXbPt8rX24COqODXeI3sIf0fCXG7H/A==, + } + engines: { node: ">=16.20.0" } + cpu: [x64] + os: [linux] + + "@typescript/typescript-netbsd-arm64@7.0.2": + resolution: + { + integrity: sha512-+polYF4MF04aPpO5FTkHran9yUQDSXqy5GiSDKpsll5jy3l3+g9QLhpf39T+ePtefhXLOGrLl0QIjkQP6VnelA==, + } + engines: { node: ">=16.20.0" } + cpu: [arm64] + os: [netbsd] + + "@typescript/typescript-netbsd-x64@7.0.2": + resolution: + { + integrity: sha512-8YIT0EHM/3dq10ZOVF/A7pc/YSMtbcecct4rWtexrnSCHOPcpC2KTLXfTCR6vDpnSiY12heNb1GiN/wu+T/FyA==, + } + engines: { node: ">=16.20.0" } + cpu: [x64] + os: [netbsd] + + "@typescript/typescript-openbsd-arm64@7.0.2": + resolution: + { + integrity: sha512-APT8+ClYnuYm1u9+kgGXoMj2VzWzcymwh2gNSQVySHfkRDGOTVkoWLjCmOQSaO+PoqQ57B0flRp9SA+7GnnkzQ==, + } + engines: { node: ">=16.20.0" } + cpu: [arm64] + os: [openbsd] - "@vitest/pretty-format@3.2.7": + "@typescript/typescript-openbsd-x64@7.0.2": resolution: { - integrity: sha512-KUHlwqVu0sRlhCdyPdQ/wBoTfRahjUky1MubOmYw9fWfIZy1gNoHpuaaQBPAaMaVYdQYHJLurzj8ECCj5OwTqA==, + integrity: sha512-yX7s+Q0Dln0Dt9tEzZsAjXXR/+ytBM7AlglaqyeMPxQszJ1JhlJdZ6jLA+IzldHtflX81em7lDao1xXu+aRRkg==, } + engines: { node: ">=16.20.0" } + cpu: [x64] + os: [openbsd] - "@vitest/runner@3.2.7": + "@typescript/typescript-sunos-x64@7.0.2": resolution: { - integrity: sha512-sB9y4ovltoQP+WaUPwmSxO9WIg9Ig694Di5PalVPsYHklAdE027mehpWF2SQSVq+k6sFgaivbTjTJwZLSHbedA==, + integrity: sha512-dLJDGaLZ1D4HPQn62u1n8mBDkJREwMsAkCdkwd4Ieqw+x3TUyTsqY0YiBCtE6H6OzzgGk3iuZ3vFWRS+E8/d1g==, } + engines: { node: ">=16.20.0" } + cpu: [x64] + os: [sunos] - "@vitest/snapshot@3.2.7": + "@typescript/typescript-win32-arm64@7.0.2": resolution: { - integrity: sha512-7C+MwShwtBSI5Buwoyg3s/iY1eHL9PKAf+O1wVh/TdnjXUtkoL/9YQtre90i4MtNXM6edP1wJ2zOBpfCyhIS7g==, + integrity: sha512-Gyl1Vy6OsWesLzmq+EP0Fb7b4Nid5232AvcA2SFcdYreldpNtYFFofPjnt62y9hQy7VTaZp65ICJjuAQRaVcIQ==, } + engines: { node: ">=16.20.0" } + cpu: [arm64] + os: [win32] - "@vitest/spy@3.2.7": + "@typescript/typescript-win32-x64@7.0.2": resolution: { - integrity: sha512-Q2eQGI6d2L/hBtZ0qNuKcAGid68XK6cv1xsoaIma6PaJhHPoqcEJhYpXZ/5myCMqkNgtP6UKuBhbc0nHKnrkuQ==, + integrity: sha512-0BQ3HkAHHlKLSp1qRvf3SUhGpGsDuhB/jgFw75guyqbxJqEaS0Cw/VFO8i2nHglJUzQCRtMMR/IBAKE3ETMC4g==, } + engines: { node: ">=16.20.0" } + cpu: [x64] + os: [win32] - "@vitest/utils@3.2.7": + "@typescript/typescript6@6.0.2": resolution: { - integrity: sha512-x6BDOd7dyo3PFLY3I9/HJ25X/6OurhGXk2/B9gOZNPF7XDVjeBK4k01lQE5uvDpbuheErh91qYuE1E2OEjK3Rw==, + integrity: sha512-mbCddXd+jm7hfx7w2YU64/Av4/NqqeG3GoRZgxPcgoTxYjhrcfJRw9ULch71SS4G+Q3bOXFhRvPqjguN0Hyp5w==, + } + hasBin: true + + "@vitest/coverage-v8@5.0.2": + resolution: + { + integrity: sha512-3ffHBEi8DOOBLwIGBhOBZbRfYFYWjMUuxZicONdhuFEFEG5AVsMOSrVeuROskqnqpbOmEJwxM2eTVZ9N3a1t+A==, + } + peerDependencies: + "@vitest/browser": 5.0.2 + vitest: 5.0.2 + peerDependenciesMeta: + "@vitest/browser": + optional: true + + "@vitest/istanbul-lib-coverage@1.0.1": + resolution: + { + integrity: sha512-k3DJZ8LhMBK9NS4SclF1ASD3OgXEWDorbIcPTRDK0/Zae6fRvu+fJRxtFdLfHsa9Y24beCdPnoNZ4LviTNstfA==, + } + engines: { node: ">=22" } + + "@vitest/istanbul-lib-report@1.0.1": + resolution: + { + integrity: sha512-1EOLRfsTMnyAr3+kEAsP4o9dhaDlGPpD7H5iLBBeq//YpNB1VIahkPhB+eRp9N2Dkfw8oySROjE3yf9XDeaIkQ==, + } + engines: { node: ">=22" } + + "@vitest/mocker@5.0.2": + resolution: + { + integrity: sha512-Z5FS00Q1SJHkB35xATsmWGdQ5WA1/0MV3CDjqyv7GavHv1OfOj145MNfHOlHk7QLes21dKFDHr8EO2zvL+9WGA==, + } + peerDependencies: + msw: ^2.4.9 + vite: ^6.0.0 || ^7.0.0 || ^8.0.0 + peerDependenciesMeta: + msw: + optional: true + vite: + optional: true + + "@vitest/spy@5.0.2": + resolution: + { + integrity: sha512-Ijc7T1nT9efNb5LxvjaBrEqw3f/QwUv5EE0nKqZxgqsaV/FxAAZ8baGylA8X/Z2oS4Lp+K74Jr6dTJsDKxJDeg==, } accepts@2.0.0: @@ -2347,13 +2484,6 @@ packages: engines: { node: ">=0.4.0" } hasBin: true - agent-base@7.1.4: - resolution: - { - integrity: sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==, - } - engines: { node: ">= 14" } - agent-base@9.0.0: resolution: { @@ -2361,13 +2491,6 @@ packages: } engines: { node: ">= 20" } - aggregate-error@3.1.0: - resolution: - { - integrity: sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==, - } - engines: { node: ">=8" } - aggregate-error@5.0.0: resolution: { @@ -2498,10 +2621,10 @@ packages: } engines: { node: ">=12" } - ast-v8-to-istanbul@0.3.12: + ast-v8-to-istanbul@1.0.7: resolution: { - integrity: sha512-BRRC8VRZY2R4Z4lFIL35MwNXmwVqBityvOIwETtsCSwvjl0IdgFsy9NhdaA6j74nUdtJJlIypeRhpDam19Wq3g==, + integrity: sha512-kFL68AG6ajd8fg248zwM9GQrUWEp79gsmjum34OEXjs4yHuUMZfYKwOLW9GMmB4oNvVrj+EAGxsP7ye2UR9UlA==, } at-least-node@1.0.0: @@ -2536,6 +2659,12 @@ packages: integrity: sha512-q6tR3RPqIB1pMiTRMFcZwuG5T8vwp+vUvEG0vuI6B+Rikh5BfPp2fQ82c925FOs+b0lcFQ8CFrL+KbilfZFhOQ==, } + bidi-js@1.1.0: + resolution: + { + integrity: sha512-fX1Onk0tdVPC7obPWB5EbJ1z7NVhLq4m2xZLq2YXBkxzMXIGRpNMU88n0EPgWseKl12J7zXs7qrDxPK4sRs2fg==, + } + bl@4.1.0: resolution: { @@ -2588,13 +2717,6 @@ packages: } engines: { node: ">= 0.8" } - cac@6.7.14: - resolution: - { - integrity: sha512-b6Ilus+c3RrdDk+JhLKUAQfzzgLEPy6wcXqS7f/xe1EETvsDP6GORG7SFuOs6cID5YkqchW/LXZbX5bc8j7ZcQ==, - } - engines: { node: ">=8" } - cacheable@2.5.0: resolution: { @@ -2635,10 +2757,10 @@ packages: integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==, } - chai@5.3.3: + chai@6.2.2: resolution: { - integrity: sha512-4zNhdJD/iOjSH0A05ea+Ke6MU5mmpQcbQsSOkgdaUMJ9zTlDTD/GYlwohmIE2u0gaxHYiVHEn1Fw9mZ/ktJWgw==, + integrity: sha512-NUPRluOfOiTKBKvWPtSD4PhFvWCqOi0BGStNWs57X9js7XGTprSmFoz5F0tWhR4WPjNeR9jXqdC7/UpSJTnlRg==, } engines: { node: ">=18" } @@ -2682,20 +2804,6 @@ packages: integrity: sha512-rddelWYNPRrXq6PtNEN2S3f6t9ILzvqaN5pVgi4kqt9jHQaXIial9PznB5iSPVlQSLNaaH22ItWz3EJtQ10+OA==, } - check-error@2.1.3: - resolution: - { - integrity: sha512-PAJdDJusoxnwm1VwW07VWwUN1sl7smmC3OKggvndJFadxxDRyFJBX/ggnu/KE4kQAB7a3Dp8f/YXC1FlUprWmA==, - } - engines: { node: ">= 16" } - - clean-stack@2.2.0: - resolution: - { - integrity: sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==, - } - engines: { node: ">=6" } - clean-stack@5.3.0: resolution: { @@ -2784,12 +2892,12 @@ packages: integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==, } - commander@14.0.3: + commander@15.0.0: resolution: { - integrity: sha512-H+y0Jo/T1RZ9qPP4Eh1pkcQcLRglraJaSLoyOtHxu6AapkjWVCy2Sit1QQ4x3Dng8qDlSsZEet7g5Pq06MvTgw==, + integrity: sha512-z67u4ZhzCL/Tydu1lJARtEZYWbWaN7oYLHbsuzocr6y4N6WZAagG3RQ4FW61V1/0+jImpj293XfrcYnd1qxtPg==, } - engines: { node: ">=20" } + engines: { node: ">=22.12.0" } commander@8.3.0: resolution: @@ -2846,6 +2954,13 @@ packages: } engines: { node: ">=18" } + content-type@3.1.1: + resolution: + { + integrity: sha512-GW4qUsfFo59d0HbUibDlWv5wPz+vAAcaTWbKIuKCf0JkC7wWkSyf8f13IpXn5JkeMlB2P8iTSSIjwXljorg2vA==, + } + engines: { node: ">=22" } + conventional-changelog-angular@8.3.1: resolution: { @@ -2867,13 +2982,6 @@ packages: } engines: { node: ">=22" } - conventional-changelog-conventionalcommits@9.3.1: - resolution: - { - integrity: sha512-dTYtpIacRpcZgrvBYvBfArMmK2xvIpv2TaxM0/ZI5CBtNUzvF2x0t15HsbRABWprS6UPmvj+PzHVjSx4qAVKyw==, - } - engines: { node: ">=18" } - conventional-changelog-writer@8.4.0: resolution: { @@ -2988,19 +3096,19 @@ packages: integrity: sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==, } - css-what@6.2.2: + css-tree@3.2.1: resolution: { - integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==, + integrity: sha512-X7sjQzceUhu1u7Y/ylrRZFU2FS6LRiFVp6rKLPg23y3x3c3DOKAwuXGDp+PAGjh6CSnCjYeAul8pcT8bAl+lSA==, } - engines: { node: ">= 6" } + engines: { node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0 } - cssstyle@4.6.0: + css-what@6.2.2: resolution: { - integrity: sha512-2z+rWdzbbSZv6/rhtvzvqeZQHrBaqgogqt85sqFNbabZOuFbCVFb8kPeEtZjiKkbrm395irpNKiYeFeLiQnFPg==, + integrity: sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==, } - engines: { node: ">=18" } + engines: { node: ">= 6" } cz-conventional-changelog@3.3.0: resolution: @@ -3009,12 +3117,12 @@ packages: } engines: { node: ">= 10" } - data-urls@5.0.0: + data-urls@7.0.0: resolution: { - integrity: sha512-ZYP5VBHshaDAiVZxjbRVcFJpc+4xGgT0bK3vzy1HLN8jTO975HEbuYzZJcHoQEY5K1a0z8YayJkyVETa08eNTg==, + integrity: sha512-23XHcCF+coGYevirZceTVD7NdJOqVn+49IHyxgszm+JIiHLoB2TkmPtsYkNWT1pvRSGkc35L6NHs0yHkN2SumA==, } - engines: { node: ">=18" } + engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } debug@4.4.3: resolution: @@ -3046,13 +3154,6 @@ packages: integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==, } - deep-eql@5.0.2: - resolution: - { - integrity: sha512-h5k/5U50IJJFpzfL6nO9jaaumfjO/f2NjK/oYB2Djzm4p9L+3T9qWpZqZ2hAbLPuuYq9wrU08WQyBTL5GbPk5Q==, - } - engines: { node: ">=6" } - deep-extend@0.6.0: resolution: { @@ -3158,12 +3259,6 @@ packages: integrity: sha512-asLFVfWWtJ90ZyOUHMqk7/S2w2guQKxUI2itj3d92ADHhxUSbCMGi1f1cBcJ7xM1To+pE/Khbwo1yuNbMEPKeA==, } - eastasianwidth@0.2.0: - resolution: - { - integrity: sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==, - } - ee-first@1.1.1: resolution: { @@ -3182,22 +3277,16 @@ packages: integrity: sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==, } - emoji-regex@9.2.2: - resolution: - { - integrity: sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==, - } - emojilib@2.4.0: resolution: { integrity: sha512-5U0rVMU5Y2n2+ykNLQqMoqklN9ICBT/KsvC1Gz6vqHbz2AXXGkG+Pm5rMWk/8Vjrr/mY9985Hi8DYzn1F09Nyw==, } - empathic@2.0.1: + empathic@2.1.0: resolution: { - integrity: sha512-YGRs8knHhKHVShLkFET/rWAU8kmHbOV5LwN938RHI0pljAJ1Gf6SzXsSmRaEzcXTtOOmVqJ5+WtQPL5uigY50Q==, + integrity: sha512-AnfC1ATldl49/cvZdLPDjBfrRNwbDO05aibiOtzQu3qtlbJtomNLhF30HEtn/7iBz50dlMECqATo3fG0LrdEgw==, } engines: { node: ">=14" } @@ -3215,12 +3304,12 @@ packages: } engines: { node: ">=0.12" } - entities@6.0.1: + entities@8.1.0: resolution: { - integrity: sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==, + integrity: sha512-kxL7msIffSuh9aaFAMD7rxAIuTRMAHMeBtgHW2yUdWw732ZNh4MehkF2gdjvtdmikkaIP9bFDDJOPlsvm7avrA==, } - engines: { node: ">=0.12" } + engines: { node: ">=20.19.0" } env-ci@11.2.0: resolution: @@ -3263,10 +3352,10 @@ packages: } engines: { node: ">= 0.4" } - es-module-lexer@1.7.0: + es-module-lexer@2.3.2: resolution: { - integrity: sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==, + integrity: sha512-poHGpORABojJJucnV9KbOavETW8lBVnphkW77ER5/BQ5Fz7oXSoCNek7IH3vR5nRjdsEz926ibFYX8KtLQmdyw==, } es-object-atoms@1.1.2: @@ -3276,12 +3365,6 @@ packages: } engines: { node: ">= 0.4" } - es-toolkit@1.51.0: - resolution: - { - integrity: sha512-zC2lQGkM7QX+Gm6iM3+WIdZJzthsEd14LvRNJneSO2hzyz/zNBENR8+YXWo1cKxgPBtV6ksPYHELbcwBRzmdCw==, - } - es-toolkit@1.52.0: resolution: { @@ -3415,10 +3498,10 @@ packages: } engines: { node: ^20.19.0 || ^22.13.0 || >=24 } - eslint@10.10.0: + eslint@10.11.0: resolution: { - integrity: sha512-NPXn6r5zl4uET1DAVPaOwzX3rut4c0wcmw3dWJAfOsTM5+TogXo0DDjz8pwm/hL8cyVNpHqeK4JpN0NjnyFFNw==, + integrity: sha512-P7a6UEEqb9G95MYAtqkmsTbVXIYyzIfl6NGOIJk162PaahFxFyeGcrlXYFSiagECg4sEm8IseJdZBKR3rx6MsQ==, } engines: { node: ^20.19.0 || ^22.13.0 || >=24 } hasBin: true @@ -3490,12 +3573,12 @@ packages: } engines: { node: ">=18.0.0" } - execa@5.1.1: + execa@10.0.1: resolution: { - integrity: sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==, + integrity: sha512-ge98qjkRK4IB7tL7Ju/6qmm5LHoH1eEMt5FNZrz3f4UIYhF28lggX20z3FaX1sgc67msLEn0N0BscOs29iuwyw==, } - engines: { node: ">=10" } + engines: { node: ">=22" } execa@8.0.1: resolution: @@ -3525,10 +3608,10 @@ packages: } engines: { node: ">=12.0.0" } - express-rate-limit@8.6.2: + express-rate-limit@8.7.0: resolution: { - integrity: sha512-YH4ru+eOJxQABscKFfRCy9R7x9QFGdezclVMwwgFFndzS2Xnm0uo6B0ABZsLhcpeptGv2qvuJVWlQr9gQZoC3A==, + integrity: sha512-hOwV7WOxXfjRpAM1DSJWZDXx3GhplwD8IfwuwvogD8i1Qnkgosw/H45s4ZnFAUHDAhPjlY9hLBvJhKmGMyY26g==, } engines: { node: ">= 16" } peerDependencies: @@ -3701,13 +3784,6 @@ packages: integrity: sha512-5+ybhBZANEJxaH3X5evAFatUxLfEHSr7n6kYJ+1Qd0mUqr4eu9gIf6GDbWHf8RJijHrjjO8G+la14SlL2SeS1Q==, } - foreground-child@3.3.1: - resolution: - { - integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==, - } - engines: { node: ">=14" } - format@0.2.2: resolution: { @@ -3715,10 +3791,10 @@ packages: } engines: { node: ">=0.4.x" } - formatly@0.3.0: + formatly@0.7.1: resolution: { - integrity: sha512-9XNj/o4wrRFyhSMJOvsuyMwy8aUfBaZ1VrqHVfohyXf0Sw0e+yfKG+xZaY3arGCOMdwFsqObtzVOc1gU9KiT9w==, + integrity: sha512-ESuCEJE0SGgabl9q+zABI8LhJDmF+8nhpuqDzuM48HfJ9QTD5o6PqFJDFZY7w6f8xsh5lixuj5nJsQNvYOWvKQ==, } engines: { node: ">=18.3.0" } hasBin: true @@ -3737,10 +3813,10 @@ packages: } engines: { node: ">= 0.8" } - fs-extra@11.4.0: + fs-extra@11.4.1: resolution: { - integrity: sha512-EQsFzMUJkCKGr1ePqlYADkIUmHW1s3ZXr5Yqy6wbGrfUCphpl2maM/kyOIRA2HpP3AaFQTZXD4ldjek+nccddA==, + integrity: sha512-KYAb4c9BJQI6QqGKthV68OHe0badztdXJWKo0WtBA9IuCFPTKvE5ZdUBglP833aMjhaSPNO4A5j/EkzZtGlKjA==, } engines: { node: ">=14.14" } @@ -3827,10 +3903,10 @@ packages: } engines: { node: ">=18" } - get-tsconfig@4.14.1: + get-tsconfig@4.14.3: resolution: { - integrity: sha512-Dz/6HxkrxgNehhxLVeyv8sad9UzF2xBVeaKBQNDfJ5XiSXmp2gTR0eO0RWiT2NCKS5aGP9jjkOMggTN90qU50A==, + integrity: sha512-++QEw4DIY7WGoukz+/+A/8dGYPT9l9yIadnmSgZ8Rjr3YVSVDipQSO9CdnJo9ePqFqUUqh+wk9uIaoiAwsiPkA==, } git-log-parser@1.2.1: @@ -3852,14 +3928,6 @@ packages: } engines: { node: ">=10.13.0" } - glob@10.5.0: - resolution: - { - integrity: sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==, - } - 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 - hasBin: true - glob@13.0.6: resolution: { @@ -3964,13 +4032,6 @@ packages: } engines: { node: ">= 0.4" } - he@1.2.0: - resolution: - { - integrity: sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==, - } - hasBin: true - highlight.js@10.7.3: resolution: { @@ -3984,10 +4045,10 @@ packages: } engines: { node: ">=0.10.0" } - hono@4.13.2: + hono@4.13.9: resolution: { - integrity: sha512-JydRilDRkYBQMt9qR9U92mXxmbGqsqSn/IKOrh4e7/gEbn+0zSr8igTu0obwJoNGN4sez28DIql7FBHWydoJpA==, + integrity: sha512-7dMkQmZoC4E6F7AtaQSPhlWAdnBti+j7rreMZl8QB4jFiEhP9TWbGWUMi8WYzBCgmgulxuvLQupKqo+Co6Omyg==, } engines: { node: ">=16.9.0" } @@ -4024,12 +4085,12 @@ packages: } engines: { node: ^20.17.0 || >=22.9.0 } - html-encoding-sniffer@4.0.0: + html-encoding-sniffer@7.0.0: resolution: { - integrity: sha512-Y22oTqIU4uuPgEemfz7NDJz6OeKf12Lsu+QC+s3BVpda64lTiMYCyGwg5ki4vFxkMwQdeZDl2adZoqUgdFuTgQ==, + integrity: sha512-UikN5yr7xsCDAq87Or5or0PAlD3HJJOKVzM05az588WnpDJ4Ux7a2A53Qi6gofGg2/EtvF/H4hCi/TXfCW4Y6w==, } - engines: { node: ">=18" } + engines: { node: ^22.13.0 || >=24.0.0 } html-entities@2.6.0: resolution: @@ -4037,12 +4098,6 @@ packages: integrity: sha512-kig+rMn/QOVRvr7c86gQ8lWXq+Hkv6CbAH1hLu+RG338StTpE8Z0b44SDVaqVu7HGKf27frdmUYEs9hTUX/cLQ==, } - html-escaper@2.0.2: - resolution: - { - integrity: sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==, - } - http-errors@2.0.1: resolution: { @@ -4050,40 +4105,19 @@ packages: } engines: { node: ">= 0.8" } - http-proxy-agent@7.0.2: - resolution: - { - integrity: sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==, - } - engines: { node: ">= 14" } - http-proxy-agent@9.1.0: resolution: { - integrity: sha512-2NxoveTT58mjYT4n3RPTEfCZGLMbidoO8XEieXfpSYxu+PQJ1qpx4ypwH6N+uF9twBPIvRRgvkvW5HUTYWENig==, - } - engines: { node: ">= 20" } - - https-proxy-agent@7.0.6: - resolution: - { - integrity: sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==, - } - engines: { node: ">= 14" } - - https-proxy-agent@9.1.0: - resolution: - { - integrity: sha512-ag87y7cJJ9/3+GxFr8Oy4O5faDsGRGnBGsJj/YjOSsSx/5eadKLYTMPlzuR6obgoCDDm0abAAZitXXQkMOPSpA==, + integrity: sha512-2NxoveTT58mjYT4n3RPTEfCZGLMbidoO8XEieXfpSYxu+PQJ1qpx4ypwH6N+uF9twBPIvRRgvkvW5HUTYWENig==, } engines: { node: ">= 20" } - human-signals@2.1.0: + https-proxy-agent@9.1.0: resolution: { - integrity: sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==, + integrity: sha512-ag87y7cJJ9/3+GxFr8Oy4O5faDsGRGnBGsJj/YjOSsSx/5eadKLYTMPlzuR6obgoCDDm0abAAZitXXQkMOPSpA==, } - engines: { node: ">=10.17.0" } + engines: { node: ">= 20" } human-signals@5.0.0: resolution: @@ -4107,13 +4141,6 @@ packages: engines: { node: ">=18" } hasBin: true - iconv-lite@0.6.3: - resolution: - { - integrity: sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==, - } - engines: { node: ">=0.10.0" } - iconv-lite@0.7.3: resolution: { @@ -4134,10 +4161,10 @@ packages: } engines: { node: ">= 4" } - ignore@7.0.6: + ignore@7.0.10: resolution: { - integrity: sha512-BAg6QkE8W+TuQLrrw0Ugr7HegXduRuuj8/ti2kSOc+jz1dmx8/WNcjr6XGnq5YpDWxFwwaavqD0+jIUOKelTsw==, + integrity: sha512-HpbUakT7xp5miBUywCHf36ZEuAJNklBJDDsGpUIjMzOSmM8ELSfA9Sa/QDPeNeqeoN31u+UTCkL4klCOVvRm4Q==, } engines: { node: ">= 4" } @@ -4168,13 +4195,6 @@ packages: } engines: { node: ">=0.8.19" } - indent-string@4.0.0: - resolution: - { - integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==, - } - engines: { node: ">=8" } - indent-string@5.0.0: resolution: { @@ -4222,10 +4242,10 @@ packages: } engines: { node: ">=12.0.0" } - ip-address@10.5.0: + ip-address@10.7.2: resolution: { - integrity: sha512-R5SnVLJmgYYvf2F2ZgwSBnelz5G4q5AxIC277GDfUaNbrZKNANcBC7RHqYYePlszf4kBolVkJauG0ZjHHFh55g==, + integrity: sha512-7H/2gFSIitxc0hG3nOI1glS8QLo/EHBFFLk8vEUjXY/xu0AdL8jZ9U1IzO2PUm0d2D/ofQcAifb0g6OBkt8U7w==, } engines: { node: ">= 12" } @@ -4310,13 +4330,6 @@ packages: integrity: sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==, } - is-stream@2.0.1: - resolution: - { - integrity: sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==, - } - engines: { node: ">=8" } - is-stream@3.0.0: resolution: { @@ -4377,40 +4390,6 @@ packages: } engines: { node: ^18.17 || >=20.6.1 } - istanbul-lib-coverage@3.2.2: - resolution: - { - integrity: sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==, - } - engines: { node: ">=8" } - - istanbul-lib-report@3.0.1: - resolution: - { - integrity: sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==, - } - engines: { node: ">=10" } - - istanbul-lib-source-maps@5.0.6: - resolution: - { - integrity: sha512-yg2d+Em4KizZC5niWhQaIomgf5WlL4vOOjZ5xGCmF8SnPE/mDWWXgvRExdcpCgh9lLRRa1/fSYp2ymmbJ1pI+A==, - } - engines: { node: ">=10" } - - istanbul-reports@3.2.0: - resolution: - { - integrity: sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==, - } - engines: { node: ">=8" } - - jackspeak@3.4.3: - resolution: - { - integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==, - } - java-properties@1.0.2: resolution: { @@ -4438,10 +4417,10 @@ packages: integrity: sha512-8wb9Yw966OSxApiCt0K3yNJL8pnNeIv+OEq2YMidz4FKP6nonSRoOXc80iXY4JaN2FC11B9qsNmDsm+ZOfMROA==, } - jose@6.2.9: + jose@6.2.12: resolution: { - integrity: sha512-XrchZOFZUl/T3vTwRe8XK+cJrGtMF4th1ARnDfwbBXFKThGhlsxEE4Zu03AD/bjJSt/9jT/mxrOCkJWOg77aPA==, + integrity: sha512-9NiFmJEex0sy2Dk58j2UGBSHgUs2ypF9eZSu4L6vjOX3Dp96Sw1F3uL+H+D1sx02jZZdzUT0HgvCy59CuvXcWw==, } js-tokens@10.0.0: @@ -4456,12 +4435,6 @@ packages: integrity: sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==, } - js-tokens@9.0.1: - resolution: - { - integrity: sha512-mxa9E9ITFOt0ban3j6L5MpjwegGz6lBQmM1IJkWeBZGcMxto50+eWdjC/52xDbS2vy0k7vIMK0Fe2wfL9OQSpQ==, - } - js-yaml@5.4.2: resolution: { @@ -4476,14 +4449,14 @@ packages: } engines: { node: ^22.22.2 || >=24.15.0 } - jsdom@26.1.0: + jsdom@30.1.1: resolution: { - integrity: sha512-Cvc9WUhxSMEo4McES3P7oK3QaXldCfNWp7pl2NNeiIFlCoLr3kfq9kb1fxftiwk1FLV7CvpvDfonxtzUDeSOPg==, + integrity: sha512-FahmoPK5vbPc+jxV1iErMHmAZypCZ942NHF4+qqaWAuvaKKTBZxawnmAtrbGWLU7MtlxfqIP0qw6aSI+aWGtLg==, } - engines: { node: ">=18" } + engines: { node: ^22.22.2 || ^24.15.0 || >=26.0.0 } peerDependencies: - canvas: ^3.0.0 + canvas: ^3.2.3 peerDependenciesMeta: canvas: optional: true @@ -4549,10 +4522,10 @@ packages: integrity: sha512-CYDD3SOtsHtyXeEORYRx2qBtpDJFjRTGXUtmNEMGyzYOKj1TE3tycdlho7kA1Ufx9OYWZzg52QFBGALTirzDSw==, } - knip@6.32.2: + knip@6.38.0: resolution: { - integrity: sha512-WXTXbmocrw7gqm1A1TQvFN0OgJ7hUSU6E1g6SPRIzzHFogUBhXByc7cYeOFVtJ2uODg7DP4VbESYBYnfbtBYsg==, + integrity: sha512-umytiMCaZf02MV9SOO1FEDgbDf6h20VZk3ruJE0kh52kkGjYZFRUAXHJWYoLhvhoHGINO/7GXVJmQ2vxTBvl6A==, } engines: { node: ^20.19.0 || >=22.12.0 } hasBin: true @@ -4576,10 +4549,10 @@ packages: integrity: sha512-ONTm2jCMAVZjgQa/Fy1kScXsuOoF5NPTsoFBdE1KVIZ2vAh/r9+Bqo+0jINCBYnavTPQZz38QzFTme79ENoN3Q==, } - lint-staged@17.4.1: + lint-staged@17.6.0: resolution: { - integrity: sha512-FmJeudcalbSfg1du+JCfvi5vS6Qt08KgbfLWiHinbef+2JJwUZwAWVoaO1AcJVUTWPfk0t30PMQNwPAeCzYQ+Q==, + integrity: sha512-nOhBfYkZEwkFtNzD5pK9s9LkcWoxJ+whLzEnhqi9nl7zTB5n7tg8+9iYgMGx2Wm3VlLu8cbNj0RACzY+nWi5iQ==, } engines: { node: ">=22.22.1" } hasBin: true @@ -4673,22 +4646,16 @@ packages: } engines: { node: ">=0.10.0" } - loupe@3.2.1: - resolution: - { - integrity: sha512-CdzqowRJCeLU72bHvWqwRBBlLcMEtIvGrlvef74kMnV2AolS9Y8xUv1I0U/MNAWMhBlKIoyuEgoJ0t/bbwHbLQ==, - } - lru-cache@10.4.3: resolution: { integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==, } - lru-cache@11.5.2: + lru-cache@11.5.3: resolution: { - integrity: sha512-4pfM1Ff0x50o0tQwb5ucw/RzNyD0/YJME6IVcStalZuMWxdt3sR3huStTtxz4PUmvZfRguvDejasvQ2kifR11g==, + integrity: sha512-U4N8FgzmWxc8k1VH8Kr6lQg18U7Fjvby6wXHVRX/ZZ7IwWbRMgrRbP0Wrb5q5NVinryp4SQampHKdvtecItxUg==, } engines: { node: 20 || >=22 } @@ -4698,16 +4665,16 @@ packages: integrity: sha512-zTU3DaZaF3Rt9rhN3uBMGQD3dD2/vFQqnvZCDv4dl5iOzq2IZQqTxu90r4E5J+nP70J3ilqVCrbho2eWaeW8Ow==, } - magic-string@0.30.21: + magic-string@1.4.2: resolution: { - integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==, + integrity: sha512-vG+rjFRj1PqdIBozIxAGMjPlOhaVe+GXpbttY/iSK7rGcJRMlwNJO7dcUwmUqkymsFLJiNGI06t4D7Fr7yRC9g==, } - magicast@0.3.5: + magicast@0.5.5: resolution: { - integrity: sha512-L0WhttDl+2BOsybvEOLK7fW3UA0OQ0IQ2d6Zl2x/a6vVRs3bAY0ECOSHHeL5jD+SbOpOCUEi0y1DgHEn9Qn1AQ==, + integrity: sha512-UicdXN8zQ3JHlxVq+28afMXPr1z7WNY6+7EJnzTdQWkTAlMLF5fNCCKxJHBQwGaNGR11581EiQmQzx73+MvszA==, } make-asynchronous@1.1.0: @@ -4717,17 +4684,10 @@ packages: } engines: { node: ">=18" } - make-dir@4.0.0: - resolution: - { - integrity: sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==, - } - engines: { node: ">=10" } - - markdown-it@14.3.0: + markdown-it@14.3.2: resolution: { - integrity: sha512-RCEsPjR+sr0x+AuYp601tKTkgFG4YEPLCzHST3cQ/fhlJkqAkz1L2/Qbp1j9qw5SBwQHFBoW8+hoN5xssOF0Tw==, + integrity: sha512-sHHjZ5fJKlgrG4qns2YwVcdNep35h5fERrfkD2YNsb9UFk0UIHarbiTaHKVMlPuWAoiilyK8Fv/jAm11slsY7Q==, } hasBin: true @@ -4839,6 +4799,12 @@ packages: integrity: sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==, } + mdn-data@2.27.1: + resolution: + { + integrity: sha512-9Yubnt3e8A0OKwxYSXyhLymGW4sCufcLG6VdiDdUGVkPhpqLxlvP5vl1983gQjJl3tqbrM731mjaZaP68AgosQ==, + } + mdurl@2.1.0: resolution: { @@ -4908,10 +4874,10 @@ packages: integrity: sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==, } - micromark-extension-gfm-table@2.1.1: + micromark-extension-gfm-table@2.1.2: resolution: { - integrity: sha512-t2OU/dXXioARrC6yWfJ4hqB7rct14e8f7m0cbI5hUmDyyIlwv5vEtooptH8INkbLzOatzKuVbQmAYcbWoyz6Dg==, + integrity: sha512-pRzm4kDTu0MjlmBkxmS9yYhw60nncfcEwu9NNdPFSQEFXS95ZKyIIyTSHu/o3ReBUrLKYEq+7YaXCRn/bPB4MA==, } micromark-extension-gfm-tagfilter@2.0.0: @@ -5114,13 +5080,6 @@ packages: integrity: sha512-VgjWUsnnT6n+NUk6eZq77zeFdpW2LWDzP6zFGrCbHXiYNul5Dzqk2HHQ5uFH2DNW5Xbp8+jVzaeNt94ssEEl4w==, } - minimatch@9.0.9: - resolution: - { - integrity: sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==, - } - engines: { node: ">=16 || 14 >=14.17" } - minimist@1.2.8: resolution: { @@ -5172,12 +5131,12 @@ packages: integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==, } - negotiator@1.0.0: + negotiator@1.1.0: resolution: { - integrity: sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==, + integrity: sha512-NMPBRMJgiQHjbd8phG3Vebdx4kZ1H121rbl5IkMqeOsahptB9BKo/d7oJ3zTXqTgagn2bWlNSXkh0QUGM31RYg==, } - engines: { node: ">= 0.6" } + engines: { node: ">=18" } neo-async@2.6.2: resolution: @@ -5198,10 +5157,10 @@ packages: } engines: { node: ">=18" } - node-html-parser@7.1.0: + node-html-parser@9.0.4: resolution: { - integrity: sha512-iJo8b2uYGT40Y8BTyy5ufL6IVbN8rbm/1QK2xffXU/1a/v3AAa0d1YAoqBNYqaS4R/HajkWIpIfdE6KcyFh1AQ==, + integrity: sha512-reUSrZkF1rO7hEYe5mJwtbVcQ6mB5QrViCZH6Wv+iz3er/PA9Q50gol15dMLQRDfdli4VzqPMPR24HNRFgVKFw==, } normalize-package-data@6.0.2: @@ -5225,13 +5184,6 @@ packages: } engines: { node: ">=20" } - npm-run-path@4.0.1: - resolution: - { - integrity: sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==, - } - engines: { node: ">=8" } - npm-run-path@5.3.0: resolution: { @@ -5246,10 +5198,10 @@ packages: } engines: { node: ">=18" } - npm@11.19.0: + npm@11.20.0: resolution: { - integrity: sha512-SDd/hHg3KqHE5Ht2NHWxNYNtqCQ2pXAPLl6OtQhPyED5PHsRfrOtO199MZTIG2cQoQ1ZRI9t28shrD+2cr3AAw==, + integrity: sha512-dF3EDFwbYN+N5RUip+ZYDe0NeURK5BgqKOcvT1iNtUYhTMTl0FwWhBuXrS7KtXyduqyTMS5aaQaregnHDAxNgw==, } engines: { node: ^20.17.0 || >=22.9.0 } hasBin: true @@ -5326,12 +5278,6 @@ packages: integrity: sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==, } - nwsapi@2.2.24: - resolution: - { - integrity: sha512-7YRhZ3jS45LwmSCT4b2sVFHt/WuovaktDU07QrtOBY2PXskss5a9jfmR9jptyumwXST+rFjrmppMY1KT/yn35A==, - } - object-assign@4.1.1: resolution: { @@ -5352,6 +5298,13 @@ packages: } engines: { node: ">= 0.4" } + obug@2.2.1: + resolution: + { + integrity: sha512-XrsrhT5sybtKI6wakr2SPOlGZWWYbUXZ7a0jT8/QOeAPau+1X/bSegNe5YR75oJmEZQbKningirmGOEJCIk61Q==, + } + engines: { node: ">=12.20.0" } + on-finished@2.4.1: resolution: { @@ -5393,10 +5346,10 @@ packages: } engines: { node: ">=10" } - oxc-parser@0.143.0: + oxc-parser@0.150.0: resolution: { - integrity: sha512-ov0NzaDCOInknS7mP1cwKdJERt3utPW8ldjtdUXQ8Ty0GEFD08wk422vCUN0d7pST6kqtV7dxoI9w1Zi0l/9TA==, + integrity: sha512-zwajKw1GUa57IOdafIS7/yOObGF2NihwIfZfs5yJTRprMSkiwhWOc/k+n8bwnUPbHr2/XsjfBO8KyTPaW3VpWg==, } engines: { node: ^20.19.0 || >=22.12.0 } @@ -5455,20 +5408,13 @@ packages: } engines: { node: ">=10" } - p-map@7.0.6: + p-map@7.0.8: resolution: { - integrity: sha512-I4Prw6ivkd6p8PiYR1tXASOAOBzIJwu0TB7fqaX0c/8c3QAehNYmX57EijyGGGBt3c/BIowGwV03RVBtXvHEVg==, + integrity: sha512-MitaVsCuCFIvOLLPIU7NnfrZvS9H9h7kwMUkDo+T2pEISaJD48IV9S8iIdXB7PsvvdxyYcsSTTrr90XKsbulNw==, } engines: { node: ">=18" } - p-reduce@2.1.0: - resolution: - { - integrity: sha512-2USApvnsutq8uoxZBGbbWM0JIYLiEMJ9RlaN7fAzVNb9OZN0SHjjTTfIcb667XynS5Y1VhwDJVDa72TnPzAYWw==, - } - engines: { node: ">=8" } - p-reduce@3.0.0: resolution: { @@ -5490,10 +5436,10 @@ packages: } engines: { node: ">=4" } - package-json-from-dist@1.0.1: + package-manager-detector@1.8.0: resolution: { - integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==, + integrity: sha512-yQA4H19AmPEoMUeavPMDIe1higySl/gH/yaQrkT/s07Qp+7pp2hYz30N3z2l5BkjVkF9Ow6o0wjJamm2y7Sn0A==, } parent-module@1.0.1: @@ -5568,10 +5514,10 @@ packages: integrity: sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==, } - parse5@7.3.0: + parse5@8.0.1: resolution: { - integrity: sha512-IInvU7fabl34qmi9gY8XOVxhYyMyuH2xUNpb2q8/Y+7552KlejkRvqvD19nMoUW/uQGGbqNpA6Tufu5FL5BZgw==, + integrity: sha512-z1e/HMG90obSGeidlli3hj7cbocou0/wa5HacvI3ASx34PecNjNQeaHNo5WIZpWofN9kgkqV1q5YvXe3F0FoPw==, } parseurl@1.3.3: @@ -5622,13 +5568,6 @@ packages: integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==, } - path-scurry@1.11.1: - resolution: - { - integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==, - } - engines: { node: ">=16 || 14 >=14.18" } - path-scurry@2.0.2: resolution: { @@ -5649,19 +5588,6 @@ packages: } engines: { node: ">=8" } - pathe@2.0.3: - resolution: - { - integrity: sha512-WUjGcAqP1gQacoQe+OBJsFA7Ld4DyXuUIjZ5cc75cLHvJ7dtNsTugphxIADwspS+AraAUePCKrSVtPLFj/F88w==, - } - - pathval@2.0.1: - resolution: - { - integrity: sha512-//nshmD55c46FuFw26xV/xFAaB5HF9Xdap7HJBBnrKdAd6/GxDBaNA1870O79+9ueg61cZLSVc+OaFlfmObYVQ==, - } - engines: { node: ">= 14.16" } - picocolors@1.1.1: resolution: { @@ -5675,13 +5601,6 @@ packages: } engines: { node: ">=8.6" } - picomatch@4.0.5: - resolution: - { - integrity: sha512-RvwwcruNjI1ncT5xRakeyS9Lf8lcItv34KD+aif+VH9kduAyfYBipGh12274xtenIPZ119/R9BdTBa8gAwSh0A==, - } - engines: { node: ">=12" } - picomatch@4.0.7: resolution: { @@ -5731,18 +5650,18 @@ packages: } engines: { node: ">=6.0.0" } - prettier@3.9.6: + prettier@3.9.9: resolution: { - integrity: sha512-OpN0zzVdiaiAhxpuuj5efpIS4sY9j7bY6uR5mnj5yPzGkdkjNKSJeUThPb60Jw29QuAZgA4o+/iB49kFiaBX6g==, + integrity: sha512-Z/CJHIkdujO/OtN7nXUii0Rf3VT5SRuhjBA82Xvu2XhBUgX3nhP67T0LHceBdQLex7OOFGTox+Q5Yg8Jk2Qivg==, } engines: { node: ">=14" } hasBin: true - pretty-ms@9.3.0: + pretty-ms@9.3.1: resolution: { - integrity: sha512-gjVS5hOP+M3wMm5nmNOucbIrqudzs9v/57bWRHQWLYklXqoXKrVfYW2W9+glfGsqtPgpiz5WwyEEB+ksXIx3gQ==, + integrity: sha512-HzMy3Geq23nVALD/M2LliU+F+M+gVNsvkQWWqeBZ8HDiCgzo6YPJ/Omrmtq24EFrIsk0a3EkQGEd7bDOo+IhGA==, } engines: { node: ">=18" } @@ -5758,10 +5677,10 @@ packages: integrity: sha512-vtK/94akxsTMhe0/cbfpR+syPuszcuwhqVjJq26CuNDgFGj682oRBXOP5MJpv2r7JtE8MsiepGIqvvOTBwn2vA==, } - proxy-addr@2.0.7: + proxy-addr@2.0.8: resolution: { - integrity: sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==, + integrity: sha512-5nnx0yGyVUcY6t9RnWcARWtwT9F1D8O9rt08htPvnd49W1IgZtmLkhu9WfMzQj1cFxjHIO6connUNVW5k7AVyQ==, } engines: { node: ">= 0.10" } @@ -5798,10 +5717,10 @@ packages: } engines: { node: ">=20" } - qs@6.15.3: + qs@6.16.0: resolution: { - integrity: sha512-O9gl3zCl5h5blw1KGUzQKhA5oUXSl8rwUIM5o0S3nCXMliSvy5Dzx7/DJcI+SwgICv+IneSZwhBh1oSyEHA71A==, + integrity: sha512-h6fhOIaRrID2CbEY2fqs+7t+UXZo+MLAnU5gRIq85uFtdiUPCdsApMlHhXogKVM4HM2DVbIjGNTTYH2OcmP1vA==, } engines: { node: ">=0.6" } @@ -5964,12 +5883,6 @@ packages: } engines: { node: ">= 18" } - rrweb-cssom@0.8.0: - resolution: - { - integrity: sha512-guoltQEx+9aMf2gDZ0s62EcV8lsXR+0w8915TC3ITdn2YueuNjdAYh/levpU9nFaoChh9RUS5ZdQMrKfVEN9tw==, - } - run-async@2.4.1: resolution: { @@ -6093,12 +6006,6 @@ packages: } engines: { node: ">= 0.4" } - siginfo@2.0.0: - resolution: - { - integrity: sha512-ybx0WO1/8bSBLEWXZvEd7gMW3Sn3JFlW3TvX1nREbDLRNQNaeNN8WK0meBwPdAaOI7TtRRRJn/Es1zhrrCHu7g==, - } - signal-exit@3.0.7: resolution: { @@ -6126,10 +6033,10 @@ packages: } engines: { node: ">=8" } - smol-toml@1.8.0: + smol-toml@1.9.0: resolution: { - integrity: sha512-kCZr2V3ch9i00x8zXRhjUNVcjG9ijES5dDudkXvUVCT5QlJNQWElSJdZqyPemffHoLNUYwOcou0Fy+ojN0uHSQ==, + integrity: sha512-hpd+HLON7HdZXqYchMM/+LaTTbdK0AU3NngIJ4KVyWbY9bfQqdL9cD+4yf6dUoU2Ap4VsU0JkQi6FxAI1B2mXQ==, } engines: { node: ">= 18" } @@ -6177,10 +6084,10 @@ packages: integrity: sha512-vngmw3Rgn+o2arXNbnZaj5UtOEBuWBfvaI+Wc8GFfykIhA5/vdK9/Sp/XkLv63dykz2rxKDvKEHupF5P0FORcQ==, } - spdx-license-ids@3.0.23: + spdx-license-ids@3.0.24: resolution: { - integrity: sha512-CWLcCCH7VLu13TgOH+r8p1O/Znwhqv/dbb6lqWy67G+pT1kHmeD/+V36AVb/vq8QMIQwVShJ6Ssl5FPh0fuSdw==, + integrity: sha512-cLS9TtWkIQFyLkJ3/5aFQAOHOSKTlOs/7WDut/XPSdjom1fJhUdkepeJAKXa9Y05+FabHd0sti+Et559vDtkpQ==, } split2@1.0.0: @@ -6189,12 +6096,6 @@ packages: integrity: sha512-NKywug4u4pX/AZBB1FCPzZ6/7O+Xhz1qMVbzTvvKvikjO99oPN87SkK08mEY9P63/5lWjK+wgOOgApnTg5r6qg==, } - stackback@0.0.2: - resolution: - { - integrity: sha512-1XMJE5fQo1jGH6Y/7ebnwPOBEkIEnT4QF32d5R1+VXdXveM0IBMJt8zfaxX1P3QhVwrYe+576+jkANtSS2mBbw==, - } - statuses@2.0.2: resolution: { @@ -6202,10 +6103,10 @@ packages: } engines: { node: ">= 0.8" } - std-env@3.10.0: + std-env@4.2.0: resolution: { - integrity: sha512-5GS12FdOZNliM5mAOxFRg7Ir0pWz8MdpYm6AY6VPkGpbA7ZzmbzNcBJQ0GPvvyWgcY7QAhCgf9Uy89I03faLkg==, + integrity: sha512-oCUKSupKTHX53EyjDtuZQ64pjLJ6yYCtpmEw0goYxtjG9KpbRe8KAsl2tBUGU9DyMcJ0RwJ8GqJAFzMXcXW1Rw==, } stream-combiner2@1.1.1: @@ -6228,13 +6129,6 @@ packages: } engines: { node: ">=8" } - string-width@5.1.2: - resolution: - { - integrity: sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==, - } - engines: { node: ">=12" } - string-width@7.2.0: resolution: { @@ -6242,10 +6136,10 @@ packages: } engines: { node: ">=18" } - string-width@8.2.2: + string-width@8.3.0: resolution: { - integrity: sha512-GaPUh5gfdrYzqeVNZvUfT23vYYxXzKYidUcnMtJg/3rxRV63EFZy3k6xfKlmfeJD0176lnUV/Usr3XcwSvFzpg==, + integrity: sha512-ZbmZM0JCihQN91dWnxoipT2KOEyHqEyfRXUyjuRhW8b/xnqPDoq4gWEVApTVa9db2wN8mmoikgFBbjh71+cGeQ==, } engines: { node: ">=20" } @@ -6289,13 +6183,6 @@ packages: } engines: { node: ">=8" } - strip-final-newline@2.0.0: - resolution: - { - integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==, - } - engines: { node: ">=6" } - strip-final-newline@3.0.0: resolution: { @@ -6331,12 +6218,6 @@ packages: } engines: { node: ">=14.16" } - strip-literal@3.1.0: - resolution: - { - integrity: sha512-8r3mkIM/2+PpjHoOtiAW8Rg3jJLHaV7xPwG+YRGrv6FP0wwk/toTpATxWYOW0BKdWwl82VT2tFYi5DlROa0Mxg==, - } - super-regex@1.1.0: resolution: { @@ -6372,12 +6253,6 @@ packages: } engines: { node: ">= 0.4" } - symbol-tree@3.2.4: - resolution: - { - integrity: sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==, - } - synckit@0.11.13: resolution: { @@ -6406,13 +6281,6 @@ packages: } engines: { node: ">=14.16" } - test-exclude@7.0.2: - resolution: - { - integrity: sha512-u9E6A+ZDYdp7a4WnarkXPZOx8Ilz46+kby6p1yZ8zsGTz9gYa6FIS7lj2oezzNKmtdyyJNNmmXDppga5GB7kSw==, - } - engines: { node: ">=18" } - thenify-all@1.6.0: resolution: { @@ -6445,24 +6313,12 @@ packages: } engines: { node: ">=12" } - tinybench@2.9.0: - resolution: - { - integrity: sha512-0+DUvqWMValLmha6lr4kD8iAMK1HzV0/aKnCtWb9v9641TnP/MFb7Pc2bxoxQjTXAErryXVgUOfv2YqNllqGeg==, - } - - tinyexec@0.3.2: - resolution: - { - integrity: sha512-KQQR9yN7R5+OSwaK0XQoj22pwHoTlgYqmUscPYoknOoWCWfj/5/ABTMRi69FrKU5ffPVh5QcFikpWJI/P1ocHA==, - } - - tinyexec@1.3.0: + tinybench@6.2.0: resolution: { - integrity: sha512-QKAl9m8gWWGHV8jZcPeym6j+XULi6tOf1mT83WYJ4Lk2ytW/uwAWkrP0uFsdoYMdueVJ0qs26wZ+23xeB4ibNQ==, + integrity: sha512-78U2TlB2CnVenajOFzf3BKSm0J6oz5L0NV7g32LCPccvYc0lbWvys4d3uUUCS2B1N8PAf2+aekR8i1KbC3HO7Q==, } - engines: { node: ">=18" } + engines: { node: ">=20.0.0" } tinyexec@1.3.1: resolution: @@ -6478,37 +6334,23 @@ packages: } engines: { node: ">=12.0.0" } - tinypool@1.1.1: - resolution: - { - integrity: sha512-Zba82s87IFq9A9XmjiX5uZA/ARWDrB03OHlq+Vw1fSdt0I+4/Kutwy8BP4Y/y/aORMo61FQ0vIb5j44vSo5Pkg==, - } - engines: { node: ^18.0.0 || >=20.0.0 } - - tinyrainbow@2.0.0: + tinyrainbow@3.1.1: resolution: { - integrity: sha512-op4nsTR47R6p0vMUUoYl/a+ljLFVtlfaXkLQmqfLR1qHma1h/ysYk4hEXZ880bf2CYgTskvTa/e196Vd5dDQXw==, + integrity: sha512-yau8yJdTt989Mm0Bd/236QnzEiPf2xLLTqUZRUJOo/3CB078LSwzei343DgtJVmfJKJE3TMINY1u42SQsP6mXw==, } engines: { node: ">=14.0.0" } - tinyspy@4.0.4: + tldts-core@7.4.15: resolution: { - integrity: sha512-azl+t0z7pw/z958Gy9svOTuzqIk6xq+NSheJzn5MMWtWTFywIacg2wUlzKFGtt3cthx0r2SxMK0yzJOR0IES7Q==, - } - engines: { node: ">=14.0.0" } - - tldts-core@6.1.86: - resolution: - { - integrity: sha512-Je6p7pkk+KMzMv2XXKmAE3McmolOQFdxkKw0R8EYNr7sELW46JqnNeTX8ybPiQgvg1ymCoF8LXs5fzFaZvJPTA==, + integrity: sha512-ERuv0p98XgSzmlSLJr8vDNxX+uATGInlN97V3R+JpYWaSqn5IG3ewWgCwczk4bkOpgth/o8Nt5FOi4B4w0n/1A==, } - tldts@6.1.86: + tldts@7.4.15: resolution: { - integrity: sha512-WMi/OQ2axVTf/ykqCQgXiIct+mSQDFdH2fkwhPwgEwvJ1kSzZRiinb0zF2Xb8u4+OqPChmyI6MEu4EezNJz+FQ==, + integrity: sha512-SJVBeHOxDbNoq14CvpAoA2mLEWdbldGK8nR+yumpjY5nrlZxOflcA7p1Qj1gbTGmbu9DY9qLj/bENSWhBzjxRQ==, } hasBin: true @@ -6533,19 +6375,19 @@ packages: } engines: { node: ">=0.6" } - tough-cookie@5.1.2: + tough-cookie@6.0.2: resolution: { - integrity: sha512-FVDYdxtnj0G6Qm/DhNPSb8Ju59ULcup3tuJxkFb5K8Bv2pUXILbf0xZWU8PX8Ov19OXljbUyveOFwRMwkXzO+A==, + integrity: sha512-exgYmnmL/sJpR3upZfXG5PoatXQii55xAiXGXzY+sROLZ/Y+SLcp9PgJNI9Vz37HpQ74WvDcLT8eqm+kV3FzrA==, } engines: { node: ">=16" } - tr46@5.1.1: + tr46@6.0.0: resolution: { - integrity: sha512-hdF5ZgjTqgAntKkklYw0R03MG2x/bSzTtkxmIRw/sTNV8YXsCJ1tfLAX23lhxhHJlEf3CRCOCGGWw3vI3GaSPw==, + integrity: sha512-bLVMLPtstlZ4iMQHpFHTR7GAGj2jxi8Dg0s2h2MafAE4uSWF98FC/3MomU51iQAMf8/qDUbKWf5GxuvvVcXEhw==, } - engines: { node: ">=18" } + engines: { node: ">=20" } traverse@0.6.8: resolution: @@ -6590,10 +6432,10 @@ packages: } engines: { node: ">=0.6.11 <=0.7.0 || >=0.7.3" } - turbo@2.10.12: + turbo@2.11.4: resolution: { - integrity: sha512-AswgMPnpOoaVZHrrSBejETzEbuIA69OVGwfkHwfrY0A23VjWXBANzgq9+OymWOHAIArB7D1+1z498WY8fGg1Jw==, + integrity: sha512-nedZtJ2hjWpU/JBFq7Aj1GQBxQ56si+kIUmNZBUX35O35TIuhSBR6/u3yHHmk81U+RBdBcVjvLQ3/iOFzMwKsA==, } hasBin: true @@ -6639,10 +6481,10 @@ packages: } engines: { node: ">=16" } - type-fest@5.8.0: + type-fest@5.10.0: resolution: { - integrity: sha512-YGYEVz3Fm5iy/AybuA0oyNFq7H4CgQNfRp/qfe8nurE1kuCeNm3/vfm9X4Mtl+qLyaKJUh5xrFZwogr41SMjYA==, + integrity: sha512-NoSdpq/WEiAg5sjmBkmV/hfxv6HJH4NqPNrqjtSO5CwRmpsDfaf4begxW34KdJykH/l1yHtwBWQkCRdoXO8mPA==, } engines: { node: ">=20" } @@ -6663,10 +6505,10 @@ packages: peerDependencies: typescript: 5.0.x || 5.1.x || 5.2.x || 5.3.x || 5.4.x || 5.5.x || 5.6.x || 5.7.x || 5.8.x || 5.9.x || 6.0.x - typescript-eslint@8.67.0: + typescript-eslint@8.70.1: resolution: { - integrity: sha512-S2udFs8tCKEKffuJ4TB1idGUZiXdCPGi3IPBGWXarbLQ5UPXORV8QEVzJ4gCRduURMb5EkpNCdjbk0eDIuI8Yg==, + integrity: sha512-AcWG7KDjZ2THNXsgwttMaGmzVi0VFRlFYfqFHYQRbDpF3owuYbuiL8c7UUrd2k8s3PoSfIQrWfrGXfcElrWLYA==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: @@ -6681,6 +6523,14 @@ packages: engines: { node: ">=14.17" } hasBin: true + typescript@7.0.2: + resolution: + { + integrity: sha512-8FYau96o3NKOhbjKi/qNvG/W5jhzxkbdm5sj9AbZ/5T5sWqn3hJgLfGx27sRKZWTvyzCP8dLRBTf5tBTSRVUNA==, + } + engines: { node: ">=16.20.0" } + hasBin: true + uc.micro@2.1.0: resolution: { @@ -6695,17 +6545,17 @@ packages: engines: { node: ">=0.8.0" } hasBin: true - unbash@4.0.10: + unbash@4.0.11: resolution: { - integrity: sha512-b7zoBQvpWp0vuN5q2vK2RRBR2SvuruQAs50DApdDveBSn3eSYd84IaHodFqQIMlvY9K2VnyBUEXgwOBuGU9GBg==, + integrity: sha512-FoSOKV7NEofQSkAefMVHam4ZPKYMxjAydxiV72UFEDNV/YofxjGfiZ2A9pZjdL/lRJzTjcu4PABo1JYJX8N5iQ==, } engines: { node: ">=14" } - undici-types@7.24.6: + undici-types@8.11.2: resolution: { - integrity: sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==, + integrity: sha512-iMVNmWZ0leK/goS6eXMizSzmm9CDWtyphwbaCms3DNLqRxDL+mMoNVcZMTyyVgXP0N+Z8neAMzDoUOUJL8veKg==, } undici-types@8.9.0: @@ -6742,10 +6592,10 @@ packages: } engines: { node: ">=18" } - unicorn-magic@0.4.0: + unicorn-magic@0.4.1: resolution: { - integrity: sha512-wH590V9VNgYH9g3lH9wWjTrUoKsjLF6sGLjhR4sH1LWpLmCOH0Zf7PukhDA8BiS7KHe4oPNkcTHqYkj7SOGUOw==, + integrity: sha512-lzlXPoVB0Uy/FvTaUgX39RbixYiSKoc3JSoSf01+0c2B6FR3qdYIPN7Qjo/AV7n6sqLCk0509cT3LRj1oSZ1+A==, } engines: { node: ">=20" } @@ -6856,14 +6706,6 @@ packages: integrity: sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==, } - vite-node@3.2.4: - resolution: - { - integrity: sha512-EbKSKh+bh1E1IFxeO0pg1n4dvoOTt0UDiXMd/qn++r98+jPO1xtJilvXldeuQ8giIB5IkpjCgMleHMNEsGH6pg==, - } - engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 } - hasBin: true - vite@7.3.6: resolution: { @@ -6907,29 +6749,42 @@ packages: yaml: optional: true - vitest@3.2.7: + vitest@5.0.2: resolution: { - integrity: sha512-KrxIJ62Fd89gfysR4WotlgZABiz2dqFPgqGzX7s+CwsqLFomRH7777ZcrOD6+WVAh7khPQP41A+BKbpcJFrdEg==, + integrity: sha512-7MQrx9pDv5aHiUcovIb/70Ys3tgtkUVgCtledvKdCmEO+/1Dicq5ZqoSxOW034m03oqC+oHOKui2dM6qtMLoJg==, } - engines: { node: ^18.0.0 || ^20.0.0 || >=22.0.0 } + engines: { node: ^22.12.0 || ^24.0.0 || >=26.0.0 } hasBin: true peerDependencies: "@edge-runtime/vm": "*" - "@types/debug": ^4.1.12 - "@types/node": ^18.0.0 || ^20.0.0 || >=22.0.0 - "@vitest/browser": 3.2.7 - "@vitest/ui": 3.2.7 + "@opentelemetry/api": ^1.9.0 + "@types/node": ^22.0.0 || >=24.0.0 + "@vitest/browser-playwright": 5.0.2 + "@vitest/browser-preview": 5.0.2 + "@vitest/browser-webdriverio": ^5.0.0-beta.5 || >=5.0.0 + "@vitest/coverage-istanbul": 5.0.2 + "@vitest/coverage-v8": 5.0.2 + "@vitest/ui": 5.0.2 happy-dom: "*" jsdom: "*" + vite: ^6.4.0 || ^7.0.0 || ^8.0.0 peerDependenciesMeta: "@edge-runtime/vm": optional: true - "@types/debug": + "@opentelemetry/api": optional: true "@types/node": optional: true - "@vitest/browser": + "@vitest/browser-playwright": + optional: true + "@vitest/browser-preview": + optional: true + "@vitest/browser-webdriverio": + optional: true + "@vitest/coverage-istanbul": + optional: true + "@vitest/coverage-v8": optional: true "@vitest/ui": optional: true @@ -6938,12 +6793,12 @@ packages: jsdom: optional: true - w3c-xmlserializer@5.0.0: + w3c-xmlserializer@6.0.0: resolution: { - integrity: sha512-o8qghlI8NZHU1lLPrpi2+Uq7abh4GGPpYANlalzWxyWteJOCsr/P+oPBA49TOLu5FTZO4d3F9MnWJfiMo4BkmA==, + integrity: sha512-4Nsy8K5Tr6SPDH9jhKJOHf7ChDrc1zufZTVSF7x72hwuEXBqxqk9G6cK+K2NRUtB3iELRJqjXb4JPDMBjMTl2Q==, } - engines: { node: ">=18" } + engines: { node: ^22.22.2 || ^24.15.0 || >=26.0.0 } walk-up-path@4.0.0: resolution: @@ -6964,34 +6819,41 @@ packages: integrity: sha512-RiMReJrTAiA+mBjGONMnjVDP2u3p9R1vkcGz6gDIrOMT3oGuYwX2WRMYI9ipkphSuE5XKEhydbhNEJh4NY9mlw==, } - webidl-conversions@7.0.0: + webidl-conversions@8.0.1: resolution: { - integrity: sha512-VwddBukDzu71offAQR975unBIGqfKZpM+8ZX6ySk8nYhVoo5CYaZyzt3YBvYtRtO+aoGlqxPg/B87NGVZ/fu6g==, + integrity: sha512-BMhLD/Sw+GbJC21C/UgyaZX41nPt8bUTg+jWyDeg7e7YN4xOM05YPSIXceACnXVtqyEw/LMClUQMtMZ+PGGpqQ==, } - engines: { node: ">=12" } + engines: { node: ">=20" } - whatwg-encoding@3.1.1: + whatwg-mimetype@5.0.0: resolution: { - integrity: sha512-6qN4hJdMwfYBtE3YBTTHhoeuUrDBPZmbQaxWAqSALV/MeEnR5z1xd8UKud2RAkFoPkmB+hli1TZSnyi84xz1vQ==, + integrity: sha512-sXcNcHOC51uPGF0P/D4NVtrkjSU2fNsm9iog4ZvZJsL3rjoDAzXZhkm2MWt1y+PUdggKAYVoMAIYcs78wJ51Cw==, } - engines: { node: ">=18" } - deprecated: Use @exodus/bytes instead for a more spec-conformant and faster implementation + engines: { node: ">=20" } - whatwg-mimetype@4.0.0: + whatwg-url@16.0.1: resolution: { - integrity: sha512-QaKxh0eNIi2mE9p2vEdzfagOKHCcj1pJ56EEHGQOVxp8r9/iszLUUV7v89x9O1p/T+NlTM5W7jW6+cz4Fq1YVg==, + integrity: sha512-1to4zXBxmXHV3IiSSEInrreIlu02vUOvrhxJJH5vcxYTBDAx51cqZiKdyTxlecdKNSjj8EcxGBxNf6Vg+945gw==, } - engines: { node: ">=18" } + engines: { node: ^20.19.0 || ^22.12.0 || >=24.0.0 } - whatwg-url@14.2.0: + whatwg-url@17.1.2: resolution: { - integrity: sha512-De72GdQZzNTUBBChsXueQUnPKDkg/5A5zp7pFDuQAj5UFoENpiACU0wlCvzpAGnTkj++ihpKwKyYewn/XNUbKw==, + integrity: sha512-TEZA+Zqxin7Jjsm2cjRohCmen5awh+hT6Zi3VZdqZlNRk7zvOI/9WpBFg/DWlA56bWnzwm6DuB8NS0EsxQH9uQ==, } - engines: { node: ">=18" } + engines: { node: ^22.14.0 || >=24.0.0 } + + which-command@0.1.0: + resolution: + { + integrity: sha512-XZyoF5/5hZtXitIwzrU4NKK+Wtbb9aB9CezUEw2Q0wlYK8NUYQxC1rRXgNueYLtBAJwXIb+/tFVk4dozciNJMA==, + } + engines: { node: ">=22" } + hasBin: true which@1.3.1: resolution: @@ -7008,12 +6870,12 @@ packages: engines: { node: ">= 8" } hasBin: true - why-is-node-running@2.3.0: + why-is-node-running@3.2.2: resolution: { - integrity: sha512-hUrmaWBdVDcxvYqnyh09zunKzROWjbZTiNy8dBEjkS7ehEDQibXJ7XvlmtbwuTclUiIyN+CyXQD4Vmko8fNm8w==, + integrity: sha512-NKUzAelcoCXhXL4dJzKIwXeR8iEVqsA0Lq6Vnd0UXvgaKbzVo4ZTHROF2Jidrv+SgxOQ03fMinnNhzZATxOD3A==, } - engines: { node: ">=8" } + engines: { node: ">=20.11" } hasBin: true word-wrap@1.2.5: @@ -7043,13 +6905,6 @@ packages: } engines: { node: ">=10" } - wrap-ansi@8.1.0: - resolution: - { - integrity: sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==, - } - engines: { node: ">=12" } - wrap-ansi@9.0.2: resolution: { @@ -7063,21 +6918,6 @@ packages: integrity: sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==, } - ws@8.21.3: - resolution: - { - integrity: sha512-201TZ/kPWxoPr/OKWjquZR1SWKXcvxdH+e1xrx89b3YbmzLMFCLfnaG1HFIgWzJOEWZ7MvpK++odZufgYR50Rw==, - } - engines: { node: ">=10.0.0" } - peerDependencies: - bufferutil: ^4.0.1 - utf-8-validate: ">=5.0.2" - peerDependenciesMeta: - bufferutil: - optional: true - utf-8-validate: - optional: true - xml-name-validator@5.0.0: resolution: { @@ -7141,13 +6981,6 @@ packages: } engines: { node: ">=10" } - yargs@18.1.0: - resolution: - { - integrity: sha512-2rAgRKu54VsHkqI0/tYkmluGXHD4KW7yZoycuqDQ15QOTnc2VVfy0nN/1eMhnQLO00A+dwtK20xuCnc1YGeUyg==, - } - engines: { node: ^20.19.0 || ^22.12.0 || >=23 } - yargs@18.2.0: resolution: { @@ -7206,18 +7039,20 @@ snapshots: "@actions/io@3.0.2": {} - "@ampproject/remapping@2.3.0": + "@asamuzakjp/css-color@7.1.0": dependencies: - "@jridgewell/gen-mapping": 0.3.13 - "@jridgewell/trace-mapping": 0.3.31 + "@csstools/css-calc": 3.4.1(@csstools/css-parser-algorithms@4.0.1(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2) + "@csstools/css-color-parser": 4.2.4(@csstools/css-parser-algorithms@4.0.1(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2) + "@csstools/css-parser-algorithms": 4.0.1(@csstools/css-tokenizer@4.0.2) + "@csstools/css-tokenizer": 4.0.2 + lru-cache: 11.5.3 - "@asamuzakjp/css-color@3.2.0": + "@asamuzakjp/dom-selector@9.2.1": dependencies: - "@csstools/css-calc": 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-color-parser": 3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 - lru-cache: 10.4.3 + bidi-js: 1.1.0 + css-tree: 3.2.1 + is-potential-custom-element-name: 1.0.1 + lru-cache: 11.5.3 "@babel/code-frame@7.29.7": dependencies: @@ -7229,7 +7064,7 @@ snapshots: "@babel/helper-validator-identifier@7.29.7": {} - "@babel/parser@7.29.8": + "@babel/parser@7.29.9": dependencies: "@babel/types": 7.29.8 @@ -7240,6 +7075,10 @@ snapshots: "@bcoe/v8-coverage@1.0.2": {} + "@bramus/specificity@2.4.2": + dependencies: + css-tree: 3.2.1 + "@cacheable/memory@2.2.0": dependencies: "@cacheable/utils": 2.5.0 @@ -7255,12 +7094,12 @@ snapshots: "@colors/colors@1.5.0": optional: true - "@commitlint/cli@21.2.3(@types/node@25.9.5)(conventional-commits-parser@7.1.2)(typescript@6.0.3)": + "@commitlint/cli@21.2.3(@types/node@26.6.3)(@typescript/typescript6@6.0.2)(conventional-commits-parser@7.1.2)": dependencies: "@commitlint/config-conventional": 21.2.3 "@commitlint/format": 21.2.3 "@commitlint/lint": 21.2.3 - "@commitlint/load": 21.2.3(@types/node@25.9.5)(typescript@6.0.3) + "@commitlint/load": 21.2.3(@types/node@26.6.3)(@typescript/typescript6@6.0.2) "@commitlint/read": 21.2.3(conventional-commits-parser@7.1.2) "@commitlint/types": 21.2.3 tinyexec: 1.3.1 @@ -7276,12 +7115,6 @@ snapshots: "@commitlint/types": 21.2.3 conventional-changelog-conventionalcommits: 10.4.0 - "@commitlint/config-validator@21.2.0": - dependencies: - "@commitlint/types": 21.2.3 - ajv: 8.20.0 - optional: true - "@commitlint/config-validator@21.2.3": dependencies: "@commitlint/types": 21.2.3 @@ -7311,30 +7144,14 @@ snapshots: "@commitlint/rules": 21.2.3 "@commitlint/types": 21.2.3 - "@commitlint/load@21.2.2(@types/node@25.9.5)(typescript@6.0.3)": - dependencies: - "@commitlint/config-validator": 21.2.0 - "@commitlint/execute-rule": 21.0.1 - "@commitlint/resolve-extends": 21.2.2 - "@commitlint/types": 21.2.3 - cosmiconfig: 9.0.2(typescript@6.0.3) - cosmiconfig-typescript-loader: 6.3.0(@types/node@25.9.5)(cosmiconfig@9.0.2(typescript@6.0.3))(typescript@6.0.3) - es-toolkit: 1.51.0 - is-plain-obj: 4.1.0 - picocolors: 1.1.1 - transitivePeerDependencies: - - "@types/node" - - typescript - optional: true - - "@commitlint/load@21.2.3(@types/node@25.9.5)(typescript@6.0.3)": + "@commitlint/load@21.2.3(@types/node@26.6.3)(@typescript/typescript6@6.0.2)": dependencies: "@commitlint/config-validator": 21.2.3 "@commitlint/execute-rule": 21.0.1 "@commitlint/resolve-extends": 21.2.3 "@commitlint/types": 21.2.3 - cosmiconfig: 9.0.2(typescript@6.0.3) - cosmiconfig-typescript-loader: 6.3.0(@types/node@25.9.5)(cosmiconfig@9.0.2(typescript@6.0.3))(typescript@6.0.3) + cosmiconfig: 9.0.2(@typescript/typescript6@6.0.2) + cosmiconfig-typescript-loader: 6.3.0(@types/node@26.6.3)(@typescript/typescript6@6.0.2)(cosmiconfig@9.0.2(@typescript/typescript6@6.0.2)) es-toolkit: 1.52.0 is-plain-obj: 4.1.0 picocolors: 1.1.1 @@ -7360,15 +7177,6 @@ snapshots: - conventional-commits-filter - conventional-commits-parser - "@commitlint/resolve-extends@21.2.2": - dependencies: - "@commitlint/config-validator": 21.2.0 - "@commitlint/types": 21.2.3 - es-toolkit: 1.51.0 - global-directory: 5.0.0 - resolve-from: 5.0.0 - optional: true - "@commitlint/resolve-extends@21.2.3": dependencies: "@commitlint/config-validator": 21.2.3 @@ -7405,25 +7213,29 @@ snapshots: "@conventional-changelog/template@1.4.0": {} - "@csstools/color-helpers@5.1.0": {} + "@csstools/color-helpers@6.1.2": {} - "@csstools/css-calc@2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)": + "@csstools/css-calc@3.4.1(@csstools/css-parser-algorithms@4.0.1(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2)": dependencies: - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 + "@csstools/css-parser-algorithms": 4.0.1(@csstools/css-tokenizer@4.0.2) + "@csstools/css-tokenizer": 4.0.2 - "@csstools/css-color-parser@3.1.0(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4)": + "@csstools/css-color-parser@4.2.4(@csstools/css-parser-algorithms@4.0.1(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2)": dependencies: - "@csstools/color-helpers": 5.1.0 - "@csstools/css-calc": 2.1.4(@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4))(@csstools/css-tokenizer@3.0.4) - "@csstools/css-parser-algorithms": 3.0.5(@csstools/css-tokenizer@3.0.4) - "@csstools/css-tokenizer": 3.0.4 + "@csstools/color-helpers": 6.1.2 + "@csstools/css-calc": 3.4.1(@csstools/css-parser-algorithms@4.0.1(@csstools/css-tokenizer@4.0.2))(@csstools/css-tokenizer@4.0.2) + "@csstools/css-parser-algorithms": 4.0.1(@csstools/css-tokenizer@4.0.2) + "@csstools/css-tokenizer": 4.0.2 - "@csstools/css-parser-algorithms@3.0.5(@csstools/css-tokenizer@3.0.4)": + "@csstools/css-parser-algorithms@4.0.1(@csstools/css-tokenizer@4.0.2)": dependencies: - "@csstools/css-tokenizer": 3.0.4 + "@csstools/css-tokenizer": 4.0.2 + + "@csstools/css-syntax-patches-for-csstree@1.1.14(css-tree@3.2.1)": + optionalDependencies: + css-tree: 3.2.1 - "@csstools/css-tokenizer@3.0.4": {} + "@csstools/css-tokenizer@4.0.2": {} "@emnapi/core@1.11.2": dependencies: @@ -7529,9 +7341,9 @@ snapshots: "@esbuild/win32-x64@0.28.2": optional: true - "@eslint-community/eslint-utils@4.10.1(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))": + "@eslint-community/eslint-utils@4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))": dependencies: - eslint: 10.10.0(jiti@2.7.0)(supports-color@7.2.0) + eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) eslint-visitor-keys: 3.4.3 "@eslint-community/regexpp@4.12.2": {} @@ -7552,21 +7364,21 @@ snapshots: dependencies: "@types/json-schema": 7.0.15 - "@eslint/js@10.0.1(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))": + "@eslint/js@10.0.1(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))": optionalDependencies: - eslint: 10.10.0(jiti@2.7.0)(supports-color@7.2.0) + eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) - "@eslint/json@2.0.1": + "@eslint/json@2.1.0": dependencies: "@eslint/core": 1.2.1 - "@eslint/plugin-kit": 0.7.2 - "@humanwhocodes/momoa": 3.3.10 + "@eslint/plugin-kit": 0.7.3 + "@humanwhocodes/momoa": 3.3.13 natural-compare: 1.4.0 "@eslint/markdown@8.0.3(supports-color@7.2.0)": dependencies: "@eslint/core": 1.2.1 - "@eslint/plugin-kit": 0.7.2 + "@eslint/plugin-kit": 0.7.3 github-slugger: 2.0.0 mdast-util-from-markdown: 2.0.3(supports-color@7.2.0) mdast-util-frontmatter: 2.0.1(supports-color@7.2.0) @@ -7581,37 +7393,34 @@ snapshots: "@eslint/object-schema@3.0.5": {} - "@eslint/plugin-kit@0.7.2": - dependencies: - "@eslint/core": 1.2.1 - levn: 0.4.1 - "@eslint/plugin-kit@0.7.3": dependencies: "@eslint/core": 1.2.1 levn: 0.4.1 - "@exadev/eslint-config@2.35.0(@eslint/json@2.0.1)(@eslint/markdown@8.0.3(supports-color@7.2.0))(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript-eslint@8.67.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(typescript@6.0.3)": + "@exadev/eslint-config@2.35.0(@eslint/json@2.1.0)(@eslint/markdown@8.0.3(supports-color@7.2.0))(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript-eslint@8.70.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0))": dependencies: - "@eslint/js": 10.0.1(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0)) + "@eslint/js": 10.0.1(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) "@microsoft/tsdoc": 0.17.0 - "@stylistic/eslint-plugin": 6.0.0-beta.6(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0)) - "@typescript-eslint/typescript-estree": 8.67.0(supports-color@7.2.0)(typescript@6.0.3) - "@typescript-eslint/utils": 8.67.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - eslint: 10.10.0(jiti@2.7.0)(supports-color@7.2.0) - eslint-plugin-jsdoc: 64.3.6(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - eslint-plugin-json-canonical: 2.1.0(@eslint/json@2.0.1)(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0)) - eslint-plugin-tsdoc: 0.5.3(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - ts-api-utils: 2.5.0(typescript@6.0.3) - typescript: 6.0.3 - typescript-eslint: 8.67.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) + "@stylistic/eslint-plugin": 6.0.0-beta.6(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) + "@typescript-eslint/typescript-estree": 8.67.0(@typescript/typescript6@6.0.2)(supports-color@7.2.0) + "@typescript-eslint/utils": 8.67.0(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0) + eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) + eslint-plugin-jsdoc: 64.3.6(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0) + eslint-plugin-json-canonical: 2.1.0(@eslint/json@2.1.0)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) + eslint-plugin-tsdoc: 0.5.3(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0) + ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2) + typescript: "@typescript/typescript6@6.0.2" + typescript-eslint: 8.70.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0) optionalDependencies: - "@eslint/json": 2.0.1 + "@eslint/json": 2.1.0 "@eslint/markdown": 8.0.3(supports-color@7.2.0) transitivePeerDependencies: - oxlint - supports-color + "@exodus/bytes@1.16.0": {} + "@gerrit0/mini-shiki@3.23.0": dependencies: "@shikijs/engine-oniguruma": 3.23.0 @@ -7620,9 +7429,9 @@ snapshots: "@shikijs/types": 3.23.0 "@shikijs/vscode-textmate": 10.0.2 - "@hono/node-server@2.1.1(hono@4.13.2)": + "@hono/node-server@2.1.1(hono@4.13.9)": dependencies: - hono: 4.13.2 + hono: 4.13.9 "@humanfs/core@0.19.2": dependencies: @@ -7638,41 +7447,25 @@ snapshots: "@humanwhocodes/module-importer@1.0.1": {} - "@humanwhocodes/momoa@3.3.10": {} + "@humanwhocodes/momoa@3.3.13": {} "@humanwhocodes/retry@0.4.3": {} - "@inquirer/external-editor@1.0.3(@types/node@25.9.5)": + "@inquirer/external-editor@1.0.3(@types/node@26.6.3)": dependencies: chardet: 2.2.0 iconv-lite: 0.7.3 optionalDependencies: - "@types/node": 25.9.5 - - "@isaacs/cliui@8.0.2": - dependencies: - string-width: 5.1.2 - string-width-cjs: string-width@4.2.3 - strip-ansi: 7.2.0 - strip-ansi-cjs: strip-ansi@6.0.1 - wrap-ansi: 8.1.0 - wrap-ansi-cjs: wrap-ansi@7.0.0 - - "@istanbuljs/schema@0.1.6": {} - - "@jridgewell/gen-mapping@0.3.13": - dependencies: - "@jridgewell/sourcemap-codec": 1.5.5 - "@jridgewell/trace-mapping": 0.3.31 + "@types/node": 26.6.3 "@jridgewell/resolve-uri@3.1.2": {} - "@jridgewell/sourcemap-codec@1.5.5": {} + "@jridgewell/sourcemap-codec@1.6.0": {} "@jridgewell/trace-mapping@0.3.31": dependencies: "@jridgewell/resolve-uri": 3.1.2 - "@jridgewell/sourcemap-codec": 1.5.5 + "@jridgewell/sourcemap-codec": 1.6.0 "@keyv/bigmap@1.3.1(keyv@5.6.0)": dependencies: @@ -7693,9 +7486,9 @@ snapshots: "@mixmark-io/domino@2.2.0": {} - "@modelcontextprotocol/sdk@1.30.0(supports-color@7.2.0)(zod@4.6.5)": + "@modelcontextprotocol/sdk@1.30.1(supports-color@7.2.0)(zod@4.6.5)": dependencies: - "@hono/node-server": 2.1.1(hono@4.13.2) + "@hono/node-server": 2.1.1(hono@4.13.9) ajv: 8.20.0 ajv-formats: 3.0.1(ajv@8.20.0) content-type: 1.0.5 @@ -7704,9 +7497,9 @@ snapshots: eventsource: 3.0.7 eventsource-parser: 3.1.1 express: 5.2.1(supports-color@7.2.0) - express-rate-limit: 8.6.2(express@5.2.1(supports-color@7.2.0))(supports-color@7.2.0) - hono: 4.13.2 - jose: 6.2.9 + express-rate-limit: 8.7.0(express@5.2.1(supports-color@7.2.0))(supports-color@7.2.0) + hono: 4.13.9 + jose: 6.2.12 json-schema-typed: 8.0.2 pkce-challenge: 5.0.1 raw-body: 3.0.2 @@ -7720,137 +7513,137 @@ snapshots: "@napi-rs/lzma-linux-x64-gnu@1.5.1": optional: true - "@napi-rs/wasm-runtime@1.2.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)": + "@napi-rs/wasm-runtime@1.2.4(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2)": dependencies: "@emnapi/core": 1.11.2 "@emnapi/runtime": 1.11.2 - "@tybys/wasm-util": 0.10.3 + "@tybys/wasm-util": 0.10.4 optional: true "@octokit/auth-token@6.0.0": {} - "@octokit/core@7.0.7": + "@octokit/core@7.0.8": dependencies: "@octokit/auth-token": 6.0.0 - "@octokit/graphql": 9.0.4 - "@octokit/request": 10.0.13 - "@octokit/request-error": 7.1.1 - "@octokit/types": 17.0.0 + "@octokit/graphql": 9.0.5 + "@octokit/request": 10.0.16 + "@octokit/request-error": 7.1.2 + "@octokit/types": 18.0.0 before-after-hook: 4.0.0 universal-user-agent: 7.0.3 - "@octokit/endpoint@11.0.4": + "@octokit/endpoint@11.0.5": dependencies: - "@octokit/types": 17.0.0 + "@octokit/types": 18.0.0 universal-user-agent: 7.0.3 - "@octokit/graphql@9.0.4": + "@octokit/graphql@9.0.5": dependencies: - "@octokit/request": 10.0.13 - "@octokit/types": 17.0.0 + "@octokit/request": 10.0.16 + "@octokit/types": 18.0.0 universal-user-agent: 7.0.3 - "@octokit/openapi-types@27.0.0": {} - "@octokit/openapi-types@28.0.0": {} - "@octokit/plugin-paginate-rest@14.0.0(@octokit/core@7.0.7)": + "@octokit/openapi-types@29.0.1": {} + + "@octokit/plugin-paginate-rest@15.0.0(@octokit/core@7.0.8)": dependencies: - "@octokit/core": 7.0.7 - "@octokit/types": 16.0.0 + "@octokit/core": 7.0.8 + "@octokit/types": 17.0.0 - "@octokit/plugin-retry@8.1.1(@octokit/core@7.0.7)": + "@octokit/plugin-retry@8.1.1(@octokit/core@7.0.8)": dependencies: - "@octokit/core": 7.0.7 - "@octokit/request-error": 7.1.1 + "@octokit/core": 7.0.8 + "@octokit/request-error": 7.1.2 "@octokit/types": 17.0.0 bottleneck: 2.19.5 - "@octokit/plugin-throttling@11.0.5(@octokit/core@7.0.7)": + "@octokit/plugin-throttling@11.0.5(@octokit/core@7.0.8)": dependencies: - "@octokit/core": 7.0.7 + "@octokit/core": 7.0.8 "@octokit/types": 17.0.0 bottleneck: 2.19.5 - "@octokit/request-error@7.1.1": + "@octokit/request-error@7.1.2": dependencies: - "@octokit/types": 17.0.0 + "@octokit/types": 18.0.0 - "@octokit/request@10.0.13": + "@octokit/request@10.0.16": dependencies: - "@octokit/endpoint": 11.0.4 - "@octokit/request-error": 7.1.1 - "@octokit/types": 17.0.0 - content-type: 2.1.0 + "@octokit/endpoint": 11.0.5 + "@octokit/request-error": 7.1.2 + "@octokit/types": 18.0.0 + content-type: 3.1.1 json-with-bigint: 3.5.12 universal-user-agent: 7.0.3 - "@octokit/types@16.0.0": - dependencies: - "@octokit/openapi-types": 27.0.0 - "@octokit/types@17.0.0": dependencies: "@octokit/openapi-types": 28.0.0 - "@oxc-parser/binding-android-arm-eabi@0.143.0": + "@octokit/types@18.0.0": + dependencies: + "@octokit/openapi-types": 29.0.1 + + "@oxc-parser/binding-android-arm-eabi@0.150.0": optional: true - "@oxc-parser/binding-android-arm64@0.143.0": + "@oxc-parser/binding-android-arm64@0.150.0": optional: true - "@oxc-parser/binding-darwin-arm64@0.143.0": + "@oxc-parser/binding-darwin-arm64@0.150.0": optional: true - "@oxc-parser/binding-darwin-x64@0.143.0": + "@oxc-parser/binding-darwin-x64@0.150.0": optional: true - "@oxc-parser/binding-freebsd-x64@0.143.0": + "@oxc-parser/binding-freebsd-x64@0.150.0": optional: true - "@oxc-parser/binding-linux-arm-gnueabihf@0.143.0": + "@oxc-parser/binding-linux-arm-gnueabihf@0.150.0": optional: true - "@oxc-parser/binding-linux-arm-musleabihf@0.143.0": + "@oxc-parser/binding-linux-arm-musleabihf@0.150.0": optional: true - "@oxc-parser/binding-linux-arm64-gnu@0.143.0": + "@oxc-parser/binding-linux-arm64-gnu@0.150.0": optional: true - "@oxc-parser/binding-linux-arm64-musl@0.143.0": + "@oxc-parser/binding-linux-arm64-musl@0.150.0": optional: true - "@oxc-parser/binding-linux-ppc64-gnu@0.143.0": + "@oxc-parser/binding-linux-ppc64-gnu@0.150.0": optional: true - "@oxc-parser/binding-linux-riscv64-gnu@0.143.0": + "@oxc-parser/binding-linux-riscv64-gnu@0.150.0": optional: true - "@oxc-parser/binding-linux-riscv64-musl@0.143.0": + "@oxc-parser/binding-linux-riscv64-musl@0.150.0": optional: true - "@oxc-parser/binding-linux-s390x-gnu@0.143.0": + "@oxc-parser/binding-linux-s390x-gnu@0.150.0": optional: true - "@oxc-parser/binding-linux-x64-gnu@0.143.0": + "@oxc-parser/binding-linux-x64-gnu@0.150.0": optional: true - "@oxc-parser/binding-linux-x64-musl@0.143.0": + "@oxc-parser/binding-linux-x64-musl@0.150.0": optional: true - "@oxc-parser/binding-openharmony-arm64@0.143.0": + "@oxc-parser/binding-openharmony-arm64@0.150.0": optional: true - "@oxc-parser/binding-win32-arm64-msvc@0.143.0": + "@oxc-parser/binding-win32-arm64-msvc@0.150.0": optional: true - "@oxc-parser/binding-win32-ia32-msvc@0.143.0": + "@oxc-parser/binding-win32-ia32-msvc@0.150.0": optional: true - "@oxc-parser/binding-win32-x64-msvc@0.143.0": + "@oxc-parser/binding-win32-x64-msvc@0.150.0": optional: true - "@oxc-project/types@0.143.0": {} + "@oxc-project/types@0.150.0": {} "@oxc-resolver/binding-android-arm-eabi@11.24.2": optional: true @@ -7904,7 +7697,7 @@ snapshots: dependencies: "@emnapi/core": 1.11.2 "@emnapi/runtime": 1.11.2 - "@napi-rs/wasm-runtime": 1.2.3(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) + "@napi-rs/wasm-runtime": 1.2.4(@emnapi/core@1.11.2)(@emnapi/runtime@1.11.2) optional: true "@oxc-resolver/binding-win32-arm64-msvc@11.24.2": @@ -7913,9 +7706,6 @@ snapshots: "@oxc-resolver/binding-win32-x64-msvc@11.24.2": optional: true - "@pkgjs/parseargs@0.11.0": - optional: true - "@pkgr/core@0.3.6": {} "@pnpm/config.env-replace@1.1.0": {} @@ -8007,15 +7797,14 @@ snapshots: "@sec-ant/readable-stream@0.4.1": {} - "@semantic-release/changelog@6.0.3(semantic-release@25.0.9(supports-color@7.2.0)(typescript@6.0.3))": + "@semantic-release/changelog@7.0.0(semantic-release@25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0))": dependencies: - "@semantic-release/error": 3.0.0 - aggregate-error: 3.1.0 - fs-extra: 11.4.0 - lodash: 4.18.1 - semantic-release: 25.0.9(supports-color@7.2.0)(typescript@6.0.3) + "@semantic-release/error": 4.0.0 + aggregate-error: 5.0.0 + lodash-es: 4.18.1 + semantic-release: 25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0) - "@semantic-release/commit-analyzer@13.0.1(semantic-release@25.0.9(supports-color@7.2.0)(typescript@6.0.3))(supports-color@7.2.0)": + "@semantic-release/commit-analyzer@13.0.1(semantic-release@25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0))(supports-color@7.2.0)": dependencies: conventional-changelog-angular: 8.3.1 conventional-changelog-writer: 8.4.0 @@ -8025,34 +7814,32 @@ snapshots: import-from-esm: 2.0.0(supports-color@7.2.0) lodash-es: 4.18.1 micromatch: 4.0.8 - semantic-release: 25.0.9(supports-color@7.2.0)(typescript@6.0.3) + semantic-release: 25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0) transitivePeerDependencies: - supports-color - "@semantic-release/error@3.0.0": {} - "@semantic-release/error@4.0.0": {} - "@semantic-release/git@10.0.1(semantic-release@25.0.9(supports-color@7.2.0)(typescript@6.0.3))(supports-color@7.2.0)": + "@semantic-release/git@11.0.1(semantic-release@25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0))(supports-color@7.2.0)": dependencies: - "@semantic-release/error": 3.0.0 - aggregate-error: 3.1.0 + "@semantic-release/error": 4.0.0 + aggregate-error: 5.0.0 debug: 4.4.3(supports-color@7.2.0) dir-glob: 3.0.1 - execa: 5.1.1 - lodash: 4.18.1 + execa: 10.0.1 + lodash-es: 4.18.1 micromatch: 4.0.8 - p-reduce: 2.1.0 - semantic-release: 25.0.9(supports-color@7.2.0)(typescript@6.0.3) + p-reduce: 3.0.0 + semantic-release: 25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0) transitivePeerDependencies: - supports-color - "@semantic-release/github@12.0.9(semantic-release@25.0.9(supports-color@7.2.0)(typescript@6.0.3))(supports-color@7.2.0)": + "@semantic-release/github@12.0.10(semantic-release@25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0))(supports-color@7.2.0)": dependencies: - "@octokit/core": 7.0.7 - "@octokit/plugin-paginate-rest": 14.0.0(@octokit/core@7.0.7) - "@octokit/plugin-retry": 8.1.1(@octokit/core@7.0.7) - "@octokit/plugin-throttling": 11.0.5(@octokit/core@7.0.7) + "@octokit/core": 7.0.8 + "@octokit/plugin-paginate-rest": 15.0.0(@octokit/core@7.0.8) + "@octokit/plugin-retry": 8.1.1(@octokit/core@7.0.8) + "@octokit/plugin-throttling": 11.0.5(@octokit/core@7.0.8) "@semantic-release/error": 4.0.0 aggregate-error: 5.0.0 debug: 4.4.3(supports-color@7.2.0) @@ -8063,7 +7850,7 @@ snapshots: lodash-es: 4.18.1 mime: 4.1.0 p-filter: 4.1.0 - semantic-release: 25.0.9(supports-color@7.2.0)(typescript@6.0.3) + semantic-release: 25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0) tinyglobby: 0.2.17 undici: 8.11.2 url-join: 5.0.0 @@ -8071,26 +7858,26 @@ snapshots: - kerberos - supports-color - "@semantic-release/npm@13.1.5(semantic-release@25.0.9(supports-color@7.2.0)(typescript@6.0.3))": + "@semantic-release/npm@13.2.0(semantic-release@25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0))": dependencies: "@actions/core": 3.0.1 "@semantic-release/error": 4.0.0 aggregate-error: 5.0.0 env-ci: 11.2.0 execa: 9.6.1 - fs-extra: 11.4.0 + fs-extra: 11.4.1 lodash-es: 4.18.1 nerf-dart: 1.0.0 normalize-url: 9.0.1 - npm: 11.19.0 + npm: 11.20.0 rc: 1.2.8 read-pkg: 10.1.0 registry-auth-token: 5.1.1 - semantic-release: 25.0.9(supports-color@7.2.0)(typescript@6.0.3) + semantic-release: 25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0) semver: 7.8.5 tempy: 3.2.0 - "@semantic-release/release-notes-generator@14.1.1(semantic-release@25.0.9(supports-color@7.2.0)(typescript@6.0.3))(supports-color@7.2.0)": + "@semantic-release/release-notes-generator@14.1.1(semantic-release@25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0))(supports-color@7.2.0)": dependencies: conventional-changelog-angular: 8.3.1 conventional-changelog-writer: 8.4.0 @@ -8100,7 +7887,7 @@ snapshots: import-from-esm: 2.0.0(supports-color@7.2.0) lodash-es: 4.18.1 read-package-up: 11.0.0 - semantic-release: 25.0.9(supports-color@7.2.0)(typescript@6.0.3) + semantic-release: 25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0) transitivePeerDependencies: - supports-color @@ -8138,35 +7925,35 @@ snapshots: "@sindresorhus/merge-streams@4.0.0": {} - "@stylistic/eslint-plugin@6.0.0-beta.6(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))": + "@stylistic/eslint-plugin@6.0.0-beta.6(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))": dependencies: - "@eslint-community/eslint-utils": 4.10.1(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0)) - "@typescript-eslint/types": 8.67.0 - "@typescript-eslint/visitor-keys": 8.67.0 + "@eslint-community/eslint-utils": 4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) + "@typescript-eslint/types": 8.70.1 + "@typescript-eslint/visitor-keys": 8.70.1 espree: 11.2.0 picomatch: 4.0.7 optionalDependencies: - eslint: 10.10.0(jiti@2.7.0)(supports-color@7.2.0) + eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) - "@turbo/darwin-64@2.10.12": + "@turbo/darwin-64@2.11.4": optional: true - "@turbo/darwin-arm64@2.10.12": + "@turbo/darwin-arm64@2.11.4": optional: true - "@turbo/linux-64@2.10.12": + "@turbo/linux-64@2.11.4": optional: true - "@turbo/linux-arm64@2.10.12": + "@turbo/linux-arm64@2.11.4": optional: true - "@turbo/windows-64@2.10.12": + "@turbo/windows-64@2.11.4": optional: true - "@turbo/windows-arm64@2.10.12": + "@turbo/windows-arm64@2.11.4": optional: true - "@tybys/wasm-util@0.10.3": + "@tybys/wasm-util@0.10.4": dependencies: tslib: 2.8.1 optional: true @@ -8190,11 +7977,12 @@ snapshots: dependencies: "@types/unist": 3.0.3 - "@types/jsdom@21.1.7": + "@types/jsdom@30.0.0": dependencies: - "@types/node": 25.9.5 + "@types/node": 26.6.3 "@types/tough-cookie": 4.0.5 - parse5: 7.3.0 + parse5: 8.0.1 + undici-types: 8.11.2 "@types/json-schema@7.0.15": {} @@ -8206,11 +7994,7 @@ snapshots: "@types/ms@2.1.0": {} - "@types/node@25.9.5": - dependencies: - undici-types: 7.24.6 - - "@types/node@26.6.2": + "@types/node@26.6.3": dependencies: undici-types: 8.9.0 @@ -8224,58 +8008,58 @@ snapshots: "@types/unist@3.0.3": {} - "@typescript-eslint/eslint-plugin@8.67.0(@typescript-eslint/parser@8.67.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)": + "@typescript-eslint/eslint-plugin@8.70.1(@typescript-eslint/parser@8.70.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0))(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)": dependencies: "@eslint-community/regexpp": 4.12.2 - "@typescript-eslint/parser": 8.67.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - "@typescript-eslint/scope-manager": 8.67.0 - "@typescript-eslint/type-utils": 8.67.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - "@typescript-eslint/utils": 8.67.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - "@typescript-eslint/visitor-keys": 8.67.0 - eslint: 10.10.0(jiti@2.7.0)(supports-color@7.2.0) - ignore: 7.0.6 + "@typescript-eslint/parser": 8.70.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0) + "@typescript-eslint/scope-manager": 8.70.1 + "@typescript-eslint/type-utils": 8.70.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0) + "@typescript-eslint/utils": 8.70.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0) + "@typescript-eslint/visitor-keys": 8.70.1 + eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) + ignore: 7.0.10 natural-compare: 1.4.0 - ts-api-utils: 2.5.0(typescript@6.0.3) - typescript: 6.0.3 + ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2) + typescript: "@typescript/typescript6@6.0.2" transitivePeerDependencies: - supports-color - "@typescript-eslint/parser@8.67.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)": + "@typescript-eslint/parser@8.70.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)": dependencies: - "@typescript-eslint/scope-manager": 8.67.0 - "@typescript-eslint/types": 8.67.0 - "@typescript-eslint/typescript-estree": 8.67.0(supports-color@7.2.0)(typescript@6.0.3) - "@typescript-eslint/visitor-keys": 8.67.0 + "@typescript-eslint/scope-manager": 8.70.1 + "@typescript-eslint/types": 8.70.1 + "@typescript-eslint/typescript-estree": 8.70.1(@typescript/typescript6@6.0.2)(supports-color@7.2.0) + "@typescript-eslint/visitor-keys": 8.70.1 debug: 4.4.3(supports-color@7.2.0) - eslint: 10.10.0(jiti@2.7.0)(supports-color@7.2.0) - typescript: 6.0.3 + eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) + typescript: "@typescript/typescript6@6.0.2" transitivePeerDependencies: - supports-color - "@typescript-eslint/project-service@8.56.1(supports-color@7.2.0)(typescript@6.0.3)": + "@typescript-eslint/project-service@8.56.1(@typescript/typescript6@6.0.2)(supports-color@7.2.0)": dependencies: - "@typescript-eslint/tsconfig-utils": 8.67.0(typescript@6.0.3) - "@typescript-eslint/types": 8.67.0 + "@typescript-eslint/tsconfig-utils": 8.70.1(@typescript/typescript6@6.0.2) + "@typescript-eslint/types": 8.70.1 debug: 4.4.3(supports-color@7.2.0) - typescript: 6.0.3 + typescript: "@typescript/typescript6@6.0.2" transitivePeerDependencies: - supports-color - "@typescript-eslint/project-service@8.67.0(supports-color@7.2.0)(typescript@6.0.3)": + "@typescript-eslint/project-service@8.67.0(@typescript/typescript6@6.0.2)(supports-color@7.2.0)": dependencies: - "@typescript-eslint/tsconfig-utils": 8.67.0(typescript@6.0.3) - "@typescript-eslint/types": 8.67.0 + "@typescript-eslint/tsconfig-utils": 8.70.1(@typescript/typescript6@6.0.2) + "@typescript-eslint/types": 8.70.1 debug: 4.4.3(supports-color@7.2.0) - typescript: 6.0.3 + typescript: "@typescript/typescript6@6.0.2" transitivePeerDependencies: - supports-color - "@typescript-eslint/project-service@8.70.1(supports-color@7.2.0)(typescript@6.0.3)": + "@typescript-eslint/project-service@8.70.1(@typescript/typescript6@6.0.2)(supports-color@7.2.0)": dependencies: - "@typescript-eslint/tsconfig-utils": 8.70.1(typescript@6.0.3) + "@typescript-eslint/tsconfig-utils": 8.70.1(@typescript/typescript6@6.0.2) "@typescript-eslint/types": 8.70.1 debug: 4.4.3(supports-color@7.2.0) - typescript: 6.0.3 + typescript: "@typescript/typescript6@6.0.2" transitivePeerDependencies: - supports-color @@ -8294,27 +8078,27 @@ snapshots: "@typescript-eslint/types": 8.70.1 "@typescript-eslint/visitor-keys": 8.70.1 - "@typescript-eslint/tsconfig-utils@8.56.1(typescript@6.0.3)": + "@typescript-eslint/tsconfig-utils@8.56.1(@typescript/typescript6@6.0.2)": dependencies: - typescript: 6.0.3 + typescript: "@typescript/typescript6@6.0.2" - "@typescript-eslint/tsconfig-utils@8.67.0(typescript@6.0.3)": + "@typescript-eslint/tsconfig-utils@8.67.0(@typescript/typescript6@6.0.2)": dependencies: - typescript: 6.0.3 + typescript: "@typescript/typescript6@6.0.2" - "@typescript-eslint/tsconfig-utils@8.70.1(typescript@6.0.3)": + "@typescript-eslint/tsconfig-utils@8.70.1(@typescript/typescript6@6.0.2)": dependencies: - typescript: 6.0.3 + typescript: "@typescript/typescript6@6.0.2" - "@typescript-eslint/type-utils@8.67.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)": + "@typescript-eslint/type-utils@8.70.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)": dependencies: - "@typescript-eslint/types": 8.67.0 - "@typescript-eslint/typescript-estree": 8.67.0(supports-color@7.2.0)(typescript@6.0.3) - "@typescript-eslint/utils": 8.67.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) + "@typescript-eslint/types": 8.70.1 + "@typescript-eslint/typescript-estree": 8.70.1(@typescript/typescript6@6.0.2)(supports-color@7.2.0) + "@typescript-eslint/utils": 8.70.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0) debug: 4.4.3(supports-color@7.2.0) - eslint: 10.10.0(jiti@2.7.0)(supports-color@7.2.0) - ts-api-utils: 2.5.0(typescript@6.0.3) - typescript: 6.0.3 + eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) + ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2) + typescript: "@typescript/typescript6@6.0.2" transitivePeerDependencies: - supports-color @@ -8324,81 +8108,81 @@ snapshots: "@typescript-eslint/types@8.70.1": {} - "@typescript-eslint/typescript-estree@8.56.1(supports-color@7.2.0)(typescript@6.0.3)": + "@typescript-eslint/typescript-estree@8.56.1(@typescript/typescript6@6.0.2)(supports-color@7.2.0)": dependencies: - "@typescript-eslint/project-service": 8.56.1(supports-color@7.2.0)(typescript@6.0.3) - "@typescript-eslint/tsconfig-utils": 8.56.1(typescript@6.0.3) + "@typescript-eslint/project-service": 8.56.1(@typescript/typescript6@6.0.2)(supports-color@7.2.0) + "@typescript-eslint/tsconfig-utils": 8.56.1(@typescript/typescript6@6.0.2) "@typescript-eslint/types": 8.56.1 "@typescript-eslint/visitor-keys": 8.56.1 debug: 4.4.3(supports-color@7.2.0) minimatch: 10.2.6 semver: 7.8.5 tinyglobby: 0.2.17 - ts-api-utils: 2.5.0(typescript@6.0.3) - typescript: 6.0.3 + ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2) + typescript: "@typescript/typescript6@6.0.2" transitivePeerDependencies: - supports-color - "@typescript-eslint/typescript-estree@8.67.0(supports-color@7.2.0)(typescript@6.0.3)": + "@typescript-eslint/typescript-estree@8.67.0(@typescript/typescript6@6.0.2)(supports-color@7.2.0)": dependencies: - "@typescript-eslint/project-service": 8.67.0(supports-color@7.2.0)(typescript@6.0.3) - "@typescript-eslint/tsconfig-utils": 8.67.0(typescript@6.0.3) + "@typescript-eslint/project-service": 8.67.0(@typescript/typescript6@6.0.2)(supports-color@7.2.0) + "@typescript-eslint/tsconfig-utils": 8.67.0(@typescript/typescript6@6.0.2) "@typescript-eslint/types": 8.67.0 "@typescript-eslint/visitor-keys": 8.67.0 debug: 4.4.3(supports-color@7.2.0) minimatch: 10.2.6 semver: 7.8.5 tinyglobby: 0.2.17 - ts-api-utils: 2.5.0(typescript@6.0.3) - typescript: 6.0.3 + ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2) + typescript: "@typescript/typescript6@6.0.2" transitivePeerDependencies: - supports-color - "@typescript-eslint/typescript-estree@8.70.1(supports-color@7.2.0)(typescript@6.0.3)": + "@typescript-eslint/typescript-estree@8.70.1(@typescript/typescript6@6.0.2)(supports-color@7.2.0)": dependencies: - "@typescript-eslint/project-service": 8.70.1(supports-color@7.2.0)(typescript@6.0.3) - "@typescript-eslint/tsconfig-utils": 8.70.1(typescript@6.0.3) + "@typescript-eslint/project-service": 8.70.1(@typescript/typescript6@6.0.2)(supports-color@7.2.0) + "@typescript-eslint/tsconfig-utils": 8.70.1(@typescript/typescript6@6.0.2) "@typescript-eslint/types": 8.70.1 "@typescript-eslint/visitor-keys": 8.70.1 debug: 4.4.3(supports-color@7.2.0) minimatch: 10.2.6 semver: 7.8.5 tinyglobby: 0.2.17 - ts-api-utils: 2.5.0(typescript@6.0.3) - typescript: 6.0.3 + ts-api-utils: 2.5.0(@typescript/typescript6@6.0.2) + typescript: "@typescript/typescript6@6.0.2" transitivePeerDependencies: - supports-color - "@typescript-eslint/utils@8.56.1(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)": + "@typescript-eslint/utils@8.56.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)": dependencies: - "@eslint-community/eslint-utils": 4.10.1(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0)) + "@eslint-community/eslint-utils": 4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) "@typescript-eslint/scope-manager": 8.56.1 "@typescript-eslint/types": 8.56.1 - "@typescript-eslint/typescript-estree": 8.56.1(supports-color@7.2.0)(typescript@6.0.3) - eslint: 10.10.0(jiti@2.7.0)(supports-color@7.2.0) - typescript: 6.0.3 + "@typescript-eslint/typescript-estree": 8.56.1(@typescript/typescript6@6.0.2)(supports-color@7.2.0) + eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) + typescript: "@typescript/typescript6@6.0.2" transitivePeerDependencies: - supports-color - "@typescript-eslint/utils@8.67.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)": + "@typescript-eslint/utils@8.67.0(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)": dependencies: - "@eslint-community/eslint-utils": 4.10.1(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0)) + "@eslint-community/eslint-utils": 4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) "@typescript-eslint/scope-manager": 8.67.0 "@typescript-eslint/types": 8.67.0 - "@typescript-eslint/typescript-estree": 8.67.0(supports-color@7.2.0)(typescript@6.0.3) - eslint: 10.10.0(jiti@2.7.0)(supports-color@7.2.0) - typescript: 6.0.3 + "@typescript-eslint/typescript-estree": 8.67.0(@typescript/typescript6@6.0.2)(supports-color@7.2.0) + eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) + typescript: "@typescript/typescript6@6.0.2" transitivePeerDependencies: - supports-color - "@typescript-eslint/utils@8.70.1(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)": + "@typescript-eslint/utils@8.70.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)": dependencies: - "@eslint-community/eslint-utils": 4.10.1(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0)) + "@eslint-community/eslint-utils": 4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) "@typescript-eslint/scope-manager": 8.70.1 "@typescript-eslint/types": 8.70.1 - "@typescript-eslint/typescript-estree": 8.70.1(supports-color@7.2.0)(typescript@6.0.3) - eslint: 10.10.0(jiti@2.7.0)(supports-color@7.2.0) - typescript: 6.0.3 + "@typescript-eslint/typescript-estree": 8.70.1(@typescript/typescript6@6.0.2)(supports-color@7.2.0) + eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) + typescript: "@typescript/typescript6@6.0.2" transitivePeerDependencies: - supports-color @@ -8417,71 +8201,103 @@ snapshots: "@typescript-eslint/types": 8.70.1 eslint-visitor-keys: 5.0.1 - "@vitest/coverage-v8@3.2.7(supports-color@7.2.0)(vitest@3.2.7(@types/debug@4.1.13)(@types/node@25.9.5)(jiti@2.7.0)(jsdom@26.1.0(supports-color@7.2.0))(supports-color@7.2.0)(tsx@4.23.15)(yaml@2.9.1))": - dependencies: - "@ampproject/remapping": 2.3.0 - "@bcoe/v8-coverage": 1.0.2 - ast-v8-to-istanbul: 0.3.12 - debug: 4.4.3(supports-color@7.2.0) - istanbul-lib-coverage: 3.2.2 - istanbul-lib-report: 3.0.1 - istanbul-lib-source-maps: 5.0.6(supports-color@7.2.0) - istanbul-reports: 3.2.0 - magic-string: 0.30.21 - magicast: 0.3.5 - std-env: 3.10.0 - test-exclude: 7.0.2 - tinyrainbow: 2.0.0 - vitest: 3.2.7(@types/debug@4.1.13)(@types/node@25.9.5)(jiti@2.7.0)(jsdom@26.1.0(supports-color@7.2.0))(supports-color@7.2.0)(tsx@4.23.15)(yaml@2.9.1) - transitivePeerDependencies: - - supports-color + "@typescript/typescript-aix-ppc64@7.0.2": + optional: true - "@vitest/expect@3.2.7": - dependencies: - "@types/chai": 5.2.3 - "@vitest/spy": 3.2.7 - "@vitest/utils": 3.2.7 - chai: 5.3.3 - tinyrainbow: 2.0.0 + "@typescript/typescript-darwin-arm64@7.0.2": + optional: true - "@vitest/mocker@3.2.7(vite@7.3.6(@types/node@25.9.5)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))": - dependencies: - "@vitest/spy": 3.2.7 - estree-walker: 3.0.3 - magic-string: 0.30.21 - optionalDependencies: - vite: 7.3.6(@types/node@25.9.5)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + "@typescript/typescript-darwin-x64@7.0.2": + optional: true - "@vitest/pretty-format@3.2.7": - dependencies: - tinyrainbow: 2.0.0 + "@typescript/typescript-freebsd-arm64@7.0.2": + optional: true + + "@typescript/typescript-freebsd-x64@7.0.2": + optional: true + + "@typescript/typescript-linux-arm64@7.0.2": + optional: true + + "@typescript/typescript-linux-arm@7.0.2": + optional: true + + "@typescript/typescript-linux-loong64@7.0.2": + optional: true - "@vitest/runner@3.2.7": + "@typescript/typescript-linux-mips64el@7.0.2": + optional: true + + "@typescript/typescript-linux-ppc64@7.0.2": + optional: true + + "@typescript/typescript-linux-riscv64@7.0.2": + optional: true + + "@typescript/typescript-linux-s390x@7.0.2": + optional: true + + "@typescript/typescript-linux-x64@7.0.2": + optional: true + + "@typescript/typescript-netbsd-arm64@7.0.2": + optional: true + + "@typescript/typescript-netbsd-x64@7.0.2": + optional: true + + "@typescript/typescript-openbsd-arm64@7.0.2": + optional: true + + "@typescript/typescript-openbsd-x64@7.0.2": + optional: true + + "@typescript/typescript-sunos-x64@7.0.2": + optional: true + + "@typescript/typescript-win32-arm64@7.0.2": + optional: true + + "@typescript/typescript-win32-x64@7.0.2": + optional: true + + "@typescript/typescript6@6.0.2": dependencies: - "@vitest/utils": 3.2.7 - pathe: 2.0.3 - strip-literal: 3.1.0 + "@typescript/old": typescript@6.0.3 - "@vitest/snapshot@3.2.7": + "@vitest/coverage-v8@5.0.2(vitest@5.0.2)": dependencies: - "@vitest/pretty-format": 3.2.7 - magic-string: 0.30.21 - pathe: 2.0.3 + "@bcoe/v8-coverage": 1.0.2 + "@vitest/istanbul-lib-coverage": 1.0.1 + "@vitest/istanbul-lib-report": 1.0.1 + ast-v8-to-istanbul: 1.0.7 + magicast: 0.5.5 + obug: 2.2.1 + std-env: 4.2.0 + tinyrainbow: 3.1.1 + vitest: 5.0.2(@types/node@26.6.3)(@vitest/coverage-v8@5.0.2)(jsdom@30.1.1)(vite@7.3.6(@types/node@26.6.3)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + + "@vitest/istanbul-lib-coverage@1.0.1": {} - "@vitest/spy@3.2.7": + "@vitest/istanbul-lib-report@1.0.1": dependencies: - tinyspy: 4.0.4 + "@vitest/istanbul-lib-coverage": 1.0.1 - "@vitest/utils@3.2.7": + "@vitest/mocker@5.0.2(vite@7.3.6(@types/node@26.6.3)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1))": dependencies: - "@vitest/pretty-format": 3.2.7 - loupe: 3.2.1 - tinyrainbow: 2.0.0 + "@jridgewell/trace-mapping": 0.3.31 + "@vitest/spy": 5.0.2 + estree-walker: 3.0.3 + magic-string: 1.4.2 + optionalDependencies: + vite: 7.3.6(@types/node@26.6.3)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + + "@vitest/spy@5.0.2": {} accepts@2.0.0: dependencies: mime-types: 3.0.2 - negotiator: 1.0.0 + negotiator: 1.1.0 acorn-jsx@5.3.2(acorn@8.18.0): dependencies: @@ -8489,15 +8305,8 @@ snapshots: acorn@8.18.0: {} - agent-base@7.1.4: {} - agent-base@9.0.0: {} - aggregate-error@3.1.0: - dependencies: - clean-stack: 2.2.0 - indent-string: 4.0.0 - aggregate-error@5.0.0: dependencies: clean-stack: 5.3.0 @@ -8564,7 +8373,7 @@ snapshots: assertion-error@2.0.1: {} - ast-v8-to-istanbul@0.3.12: + ast-v8-to-istanbul@1.0.7: dependencies: "@jridgewell/trace-mapping": 0.3.31 estree-walker: 3.0.3 @@ -8580,6 +8389,10 @@ snapshots: before-after-hook@4.0.0: {} + bidi-js@1.1.0: + dependencies: + require-from-string: 2.0.2 + bl@4.1.0: dependencies: buffer: 5.7.1 @@ -8594,7 +8407,7 @@ snapshots: http-errors: 2.0.1 iconv-lite: 0.7.3 on-finished: 2.4.1 - qs: 6.15.3 + qs: 6.16.0 raw-body: 3.0.2 type-is: 2.1.0 transitivePeerDependencies: @@ -8619,8 +8432,6 @@ snapshots: bytes@3.1.2: {} - cac@6.7.14: {} - cacheable@2.5.0: dependencies: "@cacheable/memory": 2.2.0 @@ -8645,13 +8456,7 @@ snapshots: ccount@2.0.1: {} - chai@5.3.3: - dependencies: - assertion-error: 2.0.1 - check-error: 2.1.3 - deep-eql: 5.0.2 - loupe: 3.2.1 - pathval: 2.0.1 + chai@6.2.2: {} chalk@2.4.2: dependencies: @@ -8672,10 +8477,6 @@ snapshots: chardet@2.2.0: {} - check-error@2.1.3: {} - - clean-stack@2.2.0: {} - clean-stack@5.3.0: dependencies: escape-string-regexp: 5.0.0 @@ -8729,23 +8530,23 @@ snapshots: color-name@1.1.4: {} - commander@14.0.3: {} + commander@15.0.0: {} commander@8.3.0: {} comment-parser@1.4.8: {} - commitizen@4.3.2(@types/node@25.9.5)(typescript@6.0.3): + commitizen@4.3.2(@types/node@26.6.3)(@typescript/typescript6@6.0.2): dependencies: cachedir: 2.4.0 - cz-conventional-changelog: 3.3.0(@types/node@25.9.5)(typescript@6.0.3) + cz-conventional-changelog: 3.3.0(@types/node@26.6.3)(@typescript/typescript6@6.0.2) dedent: 0.7.0 detect-indent: 6.1.0 find-node-modules: 2.1.3 find-root: 1.1.0 fs-extra: 9.1.0 glob: 7.2.3 - inquirer: 8.2.7(@types/node@25.9.5) + inquirer: 8.2.7(@types/node@26.6.3) is-utf8: 0.2.1 lodash: 4.18.1 minimist: 1.2.8 @@ -8771,6 +8572,8 @@ snapshots: content-type@2.1.0: {} + content-type@3.1.1: {} + conventional-changelog-angular@8.3.1: dependencies: compare-func: 2.0.0 @@ -8783,10 +8586,6 @@ snapshots: dependencies: "@conventional-changelog/template": 1.4.0 - conventional-changelog-conventionalcommits@9.3.1: - dependencies: - compare-func: 2.0.0 - conventional-changelog-writer@8.4.0: dependencies: "@simple-libs/stream-utils": 1.2.0 @@ -8822,21 +8621,21 @@ snapshots: object-assign: 4.1.1 vary: 1.1.2 - cosmiconfig-typescript-loader@6.3.0(@types/node@25.9.5)(cosmiconfig@9.0.2(typescript@6.0.3))(typescript@6.0.3): + cosmiconfig-typescript-loader@6.3.0(@types/node@26.6.3)(@typescript/typescript6@6.0.2)(cosmiconfig@9.0.2(@typescript/typescript6@6.0.2)): dependencies: - "@types/node": 25.9.5 - cosmiconfig: 9.0.2(typescript@6.0.3) + "@types/node": 26.6.3 + cosmiconfig: 9.0.2(@typescript/typescript6@6.0.2) jiti: 2.6.1 - typescript: 6.0.3 + typescript: "@typescript/typescript6@6.0.2" - cosmiconfig@9.0.2(typescript@6.0.3): + cosmiconfig@9.0.2(@typescript/typescript6@6.0.2): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 js-yaml: 5.4.2 parse-json: 5.2.0 optionalDependencies: - typescript: 6.0.3 + typescript: "@typescript/typescript6@6.0.2" cross-spawn@7.0.6: dependencies: @@ -8856,31 +8655,33 @@ snapshots: domutils: 3.2.2 nth-check: 2.1.1 - css-what@6.2.2: {} - - cssstyle@4.6.0: + css-tree@3.2.1: dependencies: - "@asamuzakjp/css-color": 3.2.0 - rrweb-cssom: 0.8.0 + mdn-data: 2.27.1 + source-map-js: 1.2.1 - cz-conventional-changelog@3.3.0(@types/node@25.9.5)(typescript@6.0.3): + css-what@6.2.2: {} + + cz-conventional-changelog@3.3.0(@types/node@26.6.3)(@typescript/typescript6@6.0.2): dependencies: chalk: 2.4.2 - commitizen: 4.3.2(@types/node@25.9.5)(typescript@6.0.3) + commitizen: 4.3.2(@types/node@26.6.3)(@typescript/typescript6@6.0.2) conventional-commit-types: 3.0.0 lodash.map: 4.6.0 longest: 2.0.1 word-wrap: 1.2.5 optionalDependencies: - "@commitlint/load": 21.2.2(@types/node@25.9.5)(typescript@6.0.3) + "@commitlint/load": 21.2.3(@types/node@26.6.3)(@typescript/typescript6@6.0.2) transitivePeerDependencies: - "@types/node" - typescript - data-urls@5.0.0: + data-urls@7.0.0: dependencies: - whatwg-mimetype: 4.0.0 - whatwg-url: 14.2.0 + whatwg-mimetype: 5.0.0 + whatwg-url: 16.0.1 + transitivePeerDependencies: + - "@noble/hashes" debug@4.4.3(supports-color@7.2.0): dependencies: @@ -8896,8 +8697,6 @@ snapshots: dedent@0.7.0: {} - deep-eql@5.0.2: {} - deep-extend@0.6.0: {} deep-is@0.1.4: {} @@ -8954,25 +8753,21 @@ snapshots: dependencies: readable-stream: 2.3.8 - eastasianwidth@0.2.0: {} - ee-first@1.1.1: {} emoji-regex@10.6.0: {} emoji-regex@8.0.0: {} - emoji-regex@9.2.2: {} - emojilib@2.4.0: {} - empathic@2.0.1: {} + empathic@2.1.0: {} encodeurl@2.0.0: {} entities@4.5.0: {} - entities@6.0.1: {} + entities@8.1.0: {} env-ci@11.2.0: dependencies: @@ -8991,15 +8786,12 @@ snapshots: es-errors@1.3.0: {} - es-module-lexer@1.7.0: {} + es-module-lexer@2.3.2: {} es-object-atoms@1.1.2: dependencies: es-errors: 1.3.0 - es-toolkit@1.51.0: - optional: true - es-toolkit@1.52.0: {} esbuild@0.28.2: @@ -9041,27 +8833,27 @@ snapshots: escape-string-regexp@5.0.0: {} - eslint-config-prettier@10.1.8(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0)): + eslint-config-prettier@10.1.8(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)): dependencies: - eslint: 10.10.0(jiti@2.7.0)(supports-color@7.2.0) + eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) - eslint-plugin-depend@1.5.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0)): + eslint-plugin-depend@1.5.0(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)): dependencies: - empathic: 2.0.1 - eslint: 10.10.0(jiti@2.7.0)(supports-color@7.2.0) + empathic: 2.1.0 + eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) module-replacements: 2.11.0 semver: 7.8.5 - eslint-plugin-jsdoc@64.3.6(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3): + eslint-plugin-jsdoc@64.3.6(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0): dependencies: "@es-joy/jsdoccomment": 0.97.0 "@es-joy/resolve.exports": 1.2.0 - "@typescript-eslint/utils": 8.70.1(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) + "@typescript-eslint/utils": 8.70.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0) are-docs-informative: 0.1.1 comment-parser: 1.4.8 debug: 4.4.3(supports-color@7.2.0) escape-string-regexp: 5.0.0 - eslint: 10.10.0(jiti@2.7.0)(supports-color@7.2.0) + eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) espree: 11.2.0 esquery: 1.7.0 html-entities: 2.6.0 @@ -9074,27 +8866,27 @@ snapshots: - supports-color - typescript - eslint-plugin-json-canonical@2.1.0(@eslint/json@2.0.1)(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0)): + eslint-plugin-json-canonical@2.1.0(@eslint/json@2.1.0)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)): dependencies: - "@eslint/json": 2.0.1 - eslint: 10.10.0(jiti@2.7.0)(supports-color@7.2.0) + "@eslint/json": 2.1.0 + eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) - eslint-plugin-prettier@5.5.6(eslint-config-prettier@10.1.8(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0)))(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(prettier@3.9.6): + eslint-plugin-prettier@5.5.6(eslint-config-prettier@10.1.8(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)))(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(prettier@3.9.9): dependencies: - eslint: 10.10.0(jiti@2.7.0)(supports-color@7.2.0) - prettier: 3.9.6 + eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) + prettier: 3.9.9 prettier-linter-helpers: 1.0.1 synckit: 0.11.13 optionalDependencies: - eslint-config-prettier: 10.1.8(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0)) + eslint-config-prettier: 10.1.8(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) - eslint-plugin-tsdoc@0.5.3(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3): + eslint-plugin-tsdoc@0.5.3(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0): dependencies: "@microsoft/tsdoc": 0.17.0 "@microsoft/tsdoc-config": 0.18.2 - "@typescript-eslint/utils": 8.56.1(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) + "@typescript-eslint/utils": 8.56.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0) optionalDependencies: - eslint: 10.10.0(jiti@2.7.0)(supports-color@7.2.0) + eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) transitivePeerDependencies: - supports-color - typescript @@ -9110,9 +8902,9 @@ snapshots: eslint-visitor-keys@5.0.1: {} - eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0): + eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0): dependencies: - "@eslint-community/eslint-utils": 4.10.1(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0)) + "@eslint-community/eslint-utils": 4.10.1(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0)) "@eslint-community/regexpp": 4.12.2 "@eslint/config-array": 0.23.5(supports-color@7.2.0) "@eslint/config-helpers": 0.7.0 @@ -9177,17 +8969,20 @@ snapshots: dependencies: eventsource-parser: 3.1.1 - execa@5.1.1: + execa@10.0.1: dependencies: - cross-spawn: 7.0.6 - get-stream: 6.0.1 - human-signals: 2.1.0 - is-stream: 2.0.1 - merge-stream: 2.0.0 - npm-run-path: 4.0.1 - onetime: 5.1.2 - signal-exit: 3.0.7 - strip-final-newline: 2.0.0 + "@sindresorhus/merge-streams": 4.0.0 + figures: 6.1.0 + get-stream: 9.0.1 + human-signals: 8.0.1 + is-plain-obj: 4.1.0 + is-stream: 4.0.1 + npm-run-path: 6.0.0 + pretty-ms: 9.3.1 + signal-exit: 4.1.0 + strip-final-newline: 4.0.0 + which-command: 0.1.0 + yoctocolors: 2.2.0 execa@8.0.1: dependencies: @@ -9211,7 +9006,7 @@ snapshots: is-plain-obj: 4.1.0 is-stream: 4.0.1 npm-run-path: 6.0.0 - pretty-ms: 9.3.0 + pretty-ms: 9.3.1 signal-exit: 4.1.0 strip-final-newline: 4.0.0 yoctocolors: 2.2.0 @@ -9222,11 +9017,11 @@ snapshots: expect-type@1.4.0: {} - express-rate-limit@8.6.2(express@5.2.1(supports-color@7.2.0))(supports-color@7.2.0): + express-rate-limit@8.7.0(express@5.2.1(supports-color@7.2.0))(supports-color@7.2.0): dependencies: debug: 4.4.3(supports-color@7.2.0) express: 5.2.1(supports-color@7.2.0) - ip-address: 10.5.0 + ip-address: 10.7.2 transitivePeerDependencies: - supports-color @@ -9251,8 +9046,8 @@ snapshots: on-finished: 2.4.1 once: 1.4.0 parseurl: 1.3.3 - proxy-addr: 2.0.7 - qs: 6.15.3 + proxy-addr: 2.0.8 + qs: 6.16.0 range-parser: 1.3.0 router: 2.2.0(supports-color@7.2.0) send: 1.2.1(supports-color@7.2.0) @@ -9283,9 +9078,9 @@ snapshots: dependencies: walk-up-path: 4.0.0 - fdir@6.5.0(picomatch@4.0.5): + fdir@6.5.0(picomatch@4.0.7): optionalDependencies: - picomatch: 4.0.5 + picomatch: 4.0.7 figures@2.0.0: dependencies: @@ -9356,22 +9151,18 @@ snapshots: flatted@3.4.4: {} - foreground-child@3.3.1: - dependencies: - cross-spawn: 7.0.6 - signal-exit: 4.1.0 - format@0.2.2: {} - formatly@0.3.0: + formatly@0.7.1: dependencies: fd-package-json: 2.0.0 + package-manager-detector: 1.8.0 forwarded@0.2.0: {} fresh@2.0.0: {} - fs-extra@11.4.0: + fs-extra@11.4.1: dependencies: graceful-fs: 4.2.11 jsonfile: 6.2.1 @@ -9424,7 +9215,7 @@ snapshots: "@sec-ant/readable-stream": 0.4.1 is-stream: 4.0.1 - get-tsconfig@4.14.1: + get-tsconfig@4.14.3: dependencies: resolve-pkg-maps: 1.0.0 @@ -9443,15 +9234,6 @@ snapshots: dependencies: is-glob: 4.0.3 - glob@10.5.0: - dependencies: - foreground-child: 3.3.1 - jackspeak: 3.4.3 - minimatch: 9.0.9 - minipass: 7.1.3 - package-json-from-dist: 1.0.1 - path-scurry: 1.11.1 - glob@13.0.6: dependencies: minimatch: 10.2.6 @@ -9516,15 +9298,13 @@ snapshots: dependencies: function-bind: 1.1.2 - he@1.2.0: {} - highlight.js@10.7.3: {} homedir-polyfill@1.0.3: dependencies: parse-passwd: 1.0.0 - hono@4.13.2: {} + hono@4.13.9: {} hook-std@4.0.0: {} @@ -9538,16 +9318,16 @@ snapshots: hosted-git-info@9.0.3: dependencies: - lru-cache: 11.5.2 + lru-cache: 11.5.3 - html-encoding-sniffer@4.0.0: + html-encoding-sniffer@7.0.0: dependencies: - whatwg-encoding: 3.1.1 + "@exodus/bytes": 1.16.0 + transitivePeerDependencies: + - "@noble/hashes" html-entities@2.6.0: {} - html-escaper@2.0.2: {} - http-errors@2.0.1: dependencies: depd: 2.0.0 @@ -9556,13 +9336,6 @@ snapshots: statuses: 2.0.2 toidentifier: 1.0.1 - http-proxy-agent@7.0.2(supports-color@7.2.0): - dependencies: - agent-base: 7.1.4 - debug: 4.4.3(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color - http-proxy-agent@9.1.0(supports-color@7.2.0): dependencies: agent-base: 9.0.0 @@ -9572,13 +9345,6 @@ snapshots: - kerberos - supports-color - https-proxy-agent@7.0.6(supports-color@7.2.0): - dependencies: - agent-base: 7.1.4 - debug: 4.4.3(supports-color@7.2.0) - transitivePeerDependencies: - - supports-color - https-proxy-agent@9.1.0(supports-color@7.2.0): dependencies: agent-base: 9.0.0 @@ -9588,18 +9354,12 @@ snapshots: - kerberos - supports-color - human-signals@2.1.0: {} - human-signals@5.0.0: {} human-signals@8.0.1: {} husky@9.1.7: {} - iconv-lite@0.6.3: - dependencies: - safer-buffer: 2.1.2 - iconv-lite@0.7.3: dependencies: safer-buffer: 2.1.2 @@ -9608,7 +9368,7 @@ snapshots: ignore@5.3.2: {} - ignore@7.0.6: {} + ignore@7.0.10: {} import-fresh@3.3.1: dependencies: @@ -9626,8 +9386,6 @@ snapshots: imurmurhash@0.1.4: {} - indent-string@4.0.0: {} - indent-string@5.0.0: {} index-to-position@1.2.0: {} @@ -9643,9 +9401,9 @@ snapshots: ini@6.0.0: {} - inquirer@8.2.7(@types/node@25.9.5): + inquirer@8.2.7(@types/node@26.6.3): dependencies: - "@inquirer/external-editor": 1.0.3(@types/node@25.9.5) + "@inquirer/external-editor": 1.0.3(@types/node@26.6.3) ansi-escapes: 4.3.2 chalk: 4.1.2 cli-cursor: 3.1.0 @@ -9663,7 +9421,7 @@ snapshots: transitivePeerDependencies: - "@types/node" - ip-address@10.5.0: {} + ip-address@10.7.2: {} ipaddr.js@1.9.1: {} @@ -9693,8 +9451,6 @@ snapshots: is-promise@4.0.0: {} - is-stream@2.0.1: {} - is-stream@3.0.0: {} is-stream@4.0.1: {} @@ -9719,33 +9475,6 @@ snapshots: lodash.isstring: 4.0.1 lodash.uniqby: 4.7.0 - istanbul-lib-coverage@3.2.2: {} - - istanbul-lib-report@3.0.1: - dependencies: - istanbul-lib-coverage: 3.2.2 - make-dir: 4.0.0 - supports-color: 7.2.0 - - istanbul-lib-source-maps@5.0.6(supports-color@7.2.0): - dependencies: - "@jridgewell/trace-mapping": 0.3.31 - debug: 4.4.3(supports-color@7.2.0) - istanbul-lib-coverage: 3.2.2 - transitivePeerDependencies: - - supports-color - - istanbul-reports@3.2.0: - dependencies: - html-escaper: 2.0.2 - istanbul-lib-report: 3.0.1 - - jackspeak@3.4.3: - dependencies: - "@isaacs/cliui": 8.0.2 - optionalDependencies: - "@pkgjs/parseargs": 0.11.0 - java-properties@1.0.2: {} jiti@2.6.1: {} @@ -9754,14 +9483,12 @@ snapshots: jju@1.4.0: {} - jose@6.2.9: {} + jose@6.2.12: {} js-tokens@10.0.0: {} js-tokens@4.0.0: {} - js-tokens@9.0.1: {} - js-yaml@5.4.2: dependencies: argparse: 2.0.1 @@ -9769,34 +9496,32 @@ snapshots: jsdoc-type-pratt-parser@9.2.2: dependencies: "@types/estree": 1.0.9 - "@types/node": 26.6.2 + "@types/node": 26.6.3 - jsdom@26.1.0(supports-color@7.2.0): + jsdom@30.1.1: dependencies: - cssstyle: 4.6.0 - data-urls: 5.0.0 + "@asamuzakjp/css-color": 7.1.0 + "@asamuzakjp/dom-selector": 9.2.1 + "@bramus/specificity": 2.4.2 + "@csstools/css-syntax-patches-for-csstree": 1.1.14(css-tree@3.2.1) + "@exodus/bytes": 1.16.0 + css-tree: 3.2.1 + data-urls: 7.0.0 decimal.js: 10.6.0 - html-encoding-sniffer: 4.0.0 - http-proxy-agent: 7.0.2(supports-color@7.2.0) - https-proxy-agent: 7.0.6(supports-color@7.2.0) + html-encoding-sniffer: 7.0.0 is-potential-custom-element-name: 1.0.1 - nwsapi: 2.2.24 - parse5: 7.3.0 - rrweb-cssom: 0.8.0 + lru-cache: 11.5.3 + parse5: 8.0.1 saxes: 6.0.0 - symbol-tree: 3.2.4 - tough-cookie: 5.1.2 - w3c-xmlserializer: 5.0.0 - webidl-conversions: 7.0.0 - whatwg-encoding: 3.1.1 - whatwg-mimetype: 4.0.0 - whatwg-url: 14.2.0 - ws: 8.21.3 + tough-cookie: 6.0.2 + undici: 8.11.2 + w3c-xmlserializer: 6.0.0 + webidl-conversions: 8.0.1 + whatwg-mimetype: 5.0.0 + whatwg-url: 17.1.2 xml-name-validator: 5.0.0 transitivePeerDependencies: - - bufferutil - - supports-color - - utf-8-validate + - "@noble/hashes" json-parse-better-errors@1.0.2: {} @@ -9826,19 +9551,19 @@ snapshots: dependencies: "@keyv/serialize": 1.1.1 - knip@6.32.2: + knip@6.38.0: dependencies: - fdir: 6.5.0(picomatch@4.0.5) - formatly: 0.3.0 - get-tsconfig: 4.14.1 + fdir: 6.5.0(picomatch@4.0.7) + formatly: 0.7.1 + get-tsconfig: 4.14.3 jiti: 2.7.0 - oxc-parser: 0.143.0 + oxc-parser: 0.150.0 oxc-resolver: 11.24.2 - picomatch: 4.0.5 - smol-toml: 1.8.0 + picomatch: 4.0.7 + smol-toml: 1.9.0 strip-json-comments: 5.0.3 tinyglobby: 0.2.17 - unbash: 4.0.10 + unbash: 4.0.11 yaml: 2.9.1 zod: 4.6.5 @@ -9853,11 +9578,11 @@ snapshots: dependencies: uc.micro: 2.1.0 - lint-staged@17.4.1: + lint-staged@17.6.0: dependencies: picomatch: 4.0.7 string-argv: 0.3.2 - tinyexec: 1.3.0 + tinyexec: 1.3.1 optionalDependencies: yaml: 2.9.1 @@ -9902,21 +9627,19 @@ snapshots: longest@2.0.1: {} - loupe@3.2.1: {} - lru-cache@10.4.3: {} - lru-cache@11.5.2: {} + lru-cache@11.5.3: {} lunr@2.3.9: {} - magic-string@0.30.21: + magic-string@1.4.2: dependencies: - "@jridgewell/sourcemap-codec": 1.5.5 + "@jridgewell/sourcemap-codec": 1.6.0 - magicast@0.3.5: + magicast@0.5.5: dependencies: - "@babel/parser": 7.29.8 + "@babel/parser": 7.29.9 "@babel/types": 7.29.8 source-map-js: 1.2.1 @@ -9926,11 +9649,7 @@ snapshots: type-fest: 4.41.0 web-worker: 1.5.0 - make-dir@4.0.0: - dependencies: - semver: 7.8.5 - - markdown-it@14.3.0: + markdown-it@14.3.2: dependencies: argparse: 2.0.1 entities: 4.5.0 @@ -10081,6 +9800,8 @@ snapshots: dependencies: "@types/mdast": 4.0.4 + mdn-data@2.27.1: {} + mdurl@2.1.0: {} media-typer@1.1.1: {} @@ -10146,7 +9867,7 @@ snapshots: micromark-util-symbol: 2.0.1 micromark-util-types: 2.0.2 - micromark-extension-gfm-table@2.1.1: + micromark-extension-gfm-table@2.1.2: dependencies: devlop: 1.1.0 micromark-factory-space: 2.0.1 @@ -10171,7 +9892,7 @@ snapshots: micromark-extension-gfm-autolink-literal: 2.1.0 micromark-extension-gfm-footnote: 2.1.0 micromark-extension-gfm-strikethrough: 2.1.0 - micromark-extension-gfm-table: 2.1.1 + micromark-extension-gfm-table: 2.1.2 micromark-extension-gfm-tagfilter: 2.0.0 micromark-extension-gfm-task-list-item: 2.1.0 micromark-util-combine-extensions: 2.0.1 @@ -10326,10 +10047,6 @@ snapshots: dependencies: brace-expansion: 5.0.12 - minimatch@9.0.9: - dependencies: - brace-expansion: 5.0.12 - minimist@1.2.8: {} minipass@7.1.3: {} @@ -10350,7 +10067,9 @@ snapshots: natural-compare@1.4.0: {} - negotiator@1.0.0: {} + negotiator@1.1.0: + dependencies: + content-type: 2.1.0 neo-async@2.6.2: {} @@ -10363,10 +10082,10 @@ snapshots: emojilib: 2.4.0 skin-tone: 2.0.0 - node-html-parser@7.1.0: + node-html-parser@9.0.4: dependencies: css-select: 5.2.2 - he: 1.2.0 + entities: 8.1.0 normalize-package-data@6.0.2: dependencies: @@ -10382,10 +10101,6 @@ snapshots: normalize-url@9.0.1: {} - npm-run-path@4.0.1: - dependencies: - path-key: 3.1.1 - npm-run-path@5.3.0: dependencies: path-key: 4.0.0 @@ -10395,20 +10110,20 @@ snapshots: path-key: 4.0.0 unicorn-magic: 0.3.0 - npm@11.19.0: {} + npm@11.20.0: {} nth-check@2.1.1: dependencies: boolbase: 1.0.0 - nwsapi@2.2.24: {} - object-assign@4.1.1: {} object-deep-merge@2.0.1: {} object-inspect@1.13.4: {} + obug@2.2.1: {} + on-finished@2.4.1: dependencies: ee-first: 1.1.1 @@ -10446,29 +10161,29 @@ snapshots: strip-ansi: 6.0.1 wcwidth: 1.0.1 - oxc-parser@0.143.0: + oxc-parser@0.150.0: dependencies: - "@oxc-project/types": 0.143.0 + "@oxc-project/types": 0.150.0 optionalDependencies: - "@oxc-parser/binding-android-arm-eabi": 0.143.0 - "@oxc-parser/binding-android-arm64": 0.143.0 - "@oxc-parser/binding-darwin-arm64": 0.143.0 - "@oxc-parser/binding-darwin-x64": 0.143.0 - "@oxc-parser/binding-freebsd-x64": 0.143.0 - "@oxc-parser/binding-linux-arm-gnueabihf": 0.143.0 - "@oxc-parser/binding-linux-arm-musleabihf": 0.143.0 - "@oxc-parser/binding-linux-arm64-gnu": 0.143.0 - "@oxc-parser/binding-linux-arm64-musl": 0.143.0 - "@oxc-parser/binding-linux-ppc64-gnu": 0.143.0 - "@oxc-parser/binding-linux-riscv64-gnu": 0.143.0 - "@oxc-parser/binding-linux-riscv64-musl": 0.143.0 - "@oxc-parser/binding-linux-s390x-gnu": 0.143.0 - "@oxc-parser/binding-linux-x64-gnu": 0.143.0 - "@oxc-parser/binding-linux-x64-musl": 0.143.0 - "@oxc-parser/binding-openharmony-arm64": 0.143.0 - "@oxc-parser/binding-win32-arm64-msvc": 0.143.0 - "@oxc-parser/binding-win32-ia32-msvc": 0.143.0 - "@oxc-parser/binding-win32-x64-msvc": 0.143.0 + "@oxc-parser/binding-android-arm-eabi": 0.150.0 + "@oxc-parser/binding-android-arm64": 0.150.0 + "@oxc-parser/binding-darwin-arm64": 0.150.0 + "@oxc-parser/binding-darwin-x64": 0.150.0 + "@oxc-parser/binding-freebsd-x64": 0.150.0 + "@oxc-parser/binding-linux-arm-gnueabihf": 0.150.0 + "@oxc-parser/binding-linux-arm-musleabihf": 0.150.0 + "@oxc-parser/binding-linux-arm64-gnu": 0.150.0 + "@oxc-parser/binding-linux-arm64-musl": 0.150.0 + "@oxc-parser/binding-linux-ppc64-gnu": 0.150.0 + "@oxc-parser/binding-linux-riscv64-gnu": 0.150.0 + "@oxc-parser/binding-linux-riscv64-musl": 0.150.0 + "@oxc-parser/binding-linux-s390x-gnu": 0.150.0 + "@oxc-parser/binding-linux-x64-gnu": 0.150.0 + "@oxc-parser/binding-linux-x64-musl": 0.150.0 + "@oxc-parser/binding-openharmony-arm64": 0.150.0 + "@oxc-parser/binding-win32-arm64-msvc": 0.150.0 + "@oxc-parser/binding-win32-ia32-msvc": 0.150.0 + "@oxc-parser/binding-win32-x64-msvc": 0.150.0 oxc-resolver@11.24.2: optionalDependencies: @@ -10500,7 +10215,7 @@ snapshots: p-filter@4.1.0: dependencies: - p-map: 7.0.6 + p-map: 7.0.8 p-limit@1.3.0: dependencies: @@ -10518,9 +10233,7 @@ snapshots: dependencies: p-limit: 3.1.0 - p-map@7.0.6: {} - - p-reduce@2.1.0: {} + p-map@7.0.8: {} p-reduce@3.0.0: {} @@ -10528,7 +10241,7 @@ snapshots: p-try@1.0.0: {} - package-json-from-dist@1.0.1: {} + package-manager-detector@1.8.0: {} parent-module@1.0.1: dependencies: @@ -10570,9 +10283,9 @@ snapshots: parse5@6.0.1: {} - parse5@7.3.0: + parse5@8.0.1: dependencies: - entities: 6.0.1 + entities: 8.1.0 parseurl@1.3.3: {} @@ -10588,30 +10301,19 @@ snapshots: path-parse@1.0.7: {} - path-scurry@1.11.1: - dependencies: - lru-cache: 10.4.3 - minipass: 7.1.3 - path-scurry@2.0.2: dependencies: - lru-cache: 11.5.2 + lru-cache: 11.5.3 minipass: 7.1.3 path-to-regexp@8.4.2: {} path-type@4.0.0: {} - pathe@2.0.3: {} - - pathval@2.0.1: {} - picocolors@1.1.1: {} picomatch@2.3.2: {} - picomatch@4.0.5: {} - picomatch@4.0.7: {} pify@3.0.0: {} @@ -10635,9 +10337,9 @@ snapshots: dependencies: fast-diff: 1.3.0 - prettier@3.9.6: {} + prettier@3.9.9: {} - pretty-ms@9.3.0: + pretty-ms@9.3.1: dependencies: parse-ms: 4.0.0 @@ -10645,7 +10347,7 @@ snapshots: proto-list@1.2.4: {} - proxy-addr@2.0.7: + proxy-addr@2.0.8: dependencies: forwarded: 0.2.0 ipaddr.js: 1.9.1 @@ -10660,7 +10362,7 @@ snapshots: dependencies: hookified: 2.2.0 - qs@6.15.3: + qs@6.16.0: dependencies: es-define-property: 1.0.1 side-channel: 1.1.1 @@ -10691,15 +10393,15 @@ snapshots: dependencies: find-up-simple: 1.0.1 read-pkg: 10.1.0 - type-fest: 5.8.0 + type-fest: 5.10.0 read-pkg@10.1.0: dependencies: "@types/normalize-package-data": 2.4.4 normalize-package-data: 8.0.0 parse-json: 8.3.0 - type-fest: 5.8.0 - unicorn-magic: 0.4.0 + type-fest: 5.10.0 + unicorn-magic: 0.4.1 read-pkg@9.0.1: dependencies: @@ -10815,8 +10517,6 @@ snapshots: transitivePeerDependencies: - supports-color - rrweb-cssom@0.8.0: {} - run-async@2.4.1: {} rxjs@7.8.2: @@ -10833,15 +10533,15 @@ snapshots: dependencies: xmlchars: 2.2.0 - semantic-release@25.0.9(supports-color@7.2.0)(typescript@6.0.3): + semantic-release@25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0): dependencies: - "@semantic-release/commit-analyzer": 13.0.1(semantic-release@25.0.9(supports-color@7.2.0)(typescript@6.0.3))(supports-color@7.2.0) + "@semantic-release/commit-analyzer": 13.0.1(semantic-release@25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0))(supports-color@7.2.0) "@semantic-release/error": 4.0.0 - "@semantic-release/github": 12.0.9(semantic-release@25.0.9(supports-color@7.2.0)(typescript@6.0.3))(supports-color@7.2.0) - "@semantic-release/npm": 13.1.5(semantic-release@25.0.9(supports-color@7.2.0)(typescript@6.0.3)) - "@semantic-release/release-notes-generator": 14.1.1(semantic-release@25.0.9(supports-color@7.2.0)(typescript@6.0.3))(supports-color@7.2.0) + "@semantic-release/github": 12.0.10(semantic-release@25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0))(supports-color@7.2.0) + "@semantic-release/npm": 13.2.0(semantic-release@25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0)) + "@semantic-release/release-notes-generator": 14.1.1(semantic-release@25.0.9(@typescript/typescript6@6.0.2)(supports-color@7.2.0))(supports-color@7.2.0) aggregate-error: 5.0.0 - cosmiconfig: 9.0.2(typescript@6.0.3) + cosmiconfig: 9.0.2(@typescript/typescript6@6.0.2) debug: 4.4.3(supports-color@7.2.0) env-ci: 11.2.0 execa: 9.6.1 @@ -10862,7 +10562,7 @@ snapshots: resolve-from: 5.0.0 semver: 7.8.5 signale: 1.4.0 - yargs: 18.1.0 + yargs: 18.2.0 transitivePeerDependencies: - kerberos - supports-color @@ -10933,8 +10633,6 @@ snapshots: side-channel-map: 1.0.1 side-channel-weakmap: 1.0.2 - siginfo@2.0.0: {} - signal-exit@3.0.7: {} signal-exit@4.1.0: {} @@ -10949,7 +10647,7 @@ snapshots: dependencies: unicode-emoji-modifier-base: 1.0.0 - smol-toml@1.8.0: {} + smol-toml@1.9.0: {} source-map-js@1.2.1: {} @@ -10960,31 +10658,29 @@ snapshots: spdx-correct@3.2.0: dependencies: spdx-expression-parse: 3.0.1 - spdx-license-ids: 3.0.23 + spdx-license-ids: 3.0.24 spdx-exceptions@2.5.0: {} spdx-expression-parse@3.0.1: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.23 + spdx-license-ids: 3.0.24 spdx-expression-parse@5.0.0: dependencies: spdx-exceptions: 2.5.0 - spdx-license-ids: 3.0.23 + spdx-license-ids: 3.0.24 - spdx-license-ids@3.0.23: {} + spdx-license-ids@3.0.24: {} split2@1.0.0: dependencies: through2: 2.0.5 - stackback@0.0.2: {} - statuses@2.0.2: {} - std-env@3.10.0: {} + std-env@4.2.0: {} stream-combiner2@1.1.1: dependencies: @@ -10999,19 +10695,13 @@ snapshots: is-fullwidth-code-point: 3.0.0 strip-ansi: 6.0.1 - string-width@5.1.2: - dependencies: - eastasianwidth: 0.2.0 - emoji-regex: 9.2.2 - strip-ansi: 7.2.0 - string-width@7.2.0: dependencies: emoji-regex: 10.6.0 get-east-asian-width: 1.7.0 strip-ansi: 7.2.0 - string-width@8.2.2: + string-width@8.3.0: dependencies: get-east-asian-width: 1.7.0 strip-ansi: 7.2.0 @@ -11036,8 +10726,6 @@ snapshots: strip-bom@4.0.0: {} - strip-final-newline@2.0.0: {} - strip-final-newline@3.0.0: {} strip-final-newline@4.0.0: {} @@ -11048,10 +10736,6 @@ snapshots: strip-json-comments@5.0.3: {} - strip-literal@3.1.0: - dependencies: - js-tokens: 9.0.1 - super-regex@1.1.0: dependencies: function-timeout: 1.0.2 @@ -11073,8 +10757,6 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - symbol-tree@3.2.4: {} - synckit@0.11.13: dependencies: "@pkgr/core": 0.3.6 @@ -11090,12 +10772,6 @@ snapshots: type-fest: 2.19.0 unique-string: 3.0.0 - test-exclude@7.0.2: - dependencies: - "@istanbuljs/schema": 0.1.6 - glob: 10.5.0 - minimatch: 10.2.6 - thenify-all@1.6.0: dependencies: thenify: 3.3.1 @@ -11115,30 +10791,22 @@ snapshots: dependencies: convert-hrtime: 5.0.0 - tinybench@2.9.0: {} - - tinyexec@0.3.2: {} - - tinyexec@1.3.0: {} + tinybench@6.2.0: {} tinyexec@1.3.1: {} tinyglobby@0.2.17: dependencies: - fdir: 6.5.0(picomatch@4.0.5) - picomatch: 4.0.5 - - tinypool@1.1.1: {} - - tinyrainbow@2.0.0: {} + fdir: 6.5.0(picomatch@4.0.7) + picomatch: 4.0.7 - tinyspy@4.0.4: {} + tinyrainbow@3.1.1: {} - tldts-core@6.1.86: {} + tldts-core@7.4.15: {} - tldts@6.1.86: + tldts@7.4.15: dependencies: - tldts-core: 6.1.86 + tldts-core: 7.4.15 to-regex-range@5.0.1: dependencies: @@ -11151,11 +10819,11 @@ snapshots: toidentifier@1.0.1: {} - tough-cookie@5.1.2: + tough-cookie@6.0.2: dependencies: - tldts: 6.1.86 + tldts: 7.4.15 - tr46@5.1.1: + tr46@6.0.0: dependencies: punycode: 2.3.1 @@ -11163,9 +10831,9 @@ snapshots: trough@2.2.0: {} - ts-api-utils@2.5.0(typescript@6.0.3): + ts-api-utils@2.5.0(@typescript/typescript6@6.0.2): dependencies: - typescript: 6.0.3 + typescript: "@typescript/typescript6@6.0.2" tslib@2.8.1: {} @@ -11177,14 +10845,14 @@ snapshots: tunnel@0.0.6: {} - turbo@2.10.12: + turbo@2.11.4: optionalDependencies: - "@turbo/darwin-64": 2.10.12 - "@turbo/darwin-arm64": 2.10.12 - "@turbo/linux-64": 2.10.12 - "@turbo/linux-arm64": 2.10.12 - "@turbo/windows-64": 2.10.12 - "@turbo/windows-arm64": 2.10.12 + "@turbo/darwin-64": 2.11.4 + "@turbo/darwin-arm64": 2.11.4 + "@turbo/linux-64": 2.11.4 + "@turbo/linux-arm64": 2.11.4 + "@turbo/windows-64": 2.11.4 + "@turbo/windows-arm64": 2.11.4 turndown@7.2.4: dependencies: @@ -11202,7 +10870,7 @@ snapshots: type-fest@4.41.0: {} - type-fest@5.8.0: + type-fest@5.10.0: dependencies: tagged-tag: 1.0.0 @@ -11212,36 +10880,59 @@ snapshots: media-typer: 1.1.1 mime-types: 3.0.2 - typedoc@0.28.20(typescript@6.0.3): + typedoc@0.28.20(@typescript/typescript6@6.0.2): dependencies: "@gerrit0/mini-shiki": 3.23.0 lunr: 2.3.9 - markdown-it: 14.3.0 + markdown-it: 14.3.2 minimatch: 10.2.6 - typescript: 6.0.3 + typescript: "@typescript/typescript6@6.0.2" yaml: 2.9.1 - typescript-eslint@8.67.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3): + typescript-eslint@8.70.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0): dependencies: - "@typescript-eslint/eslint-plugin": 8.67.0(@typescript-eslint/parser@8.67.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - "@typescript-eslint/parser": 8.67.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - "@typescript-eslint/typescript-estree": 8.67.0(supports-color@7.2.0)(typescript@6.0.3) - "@typescript-eslint/utils": 8.67.0(eslint@10.10.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3) - eslint: 10.10.0(jiti@2.7.0)(supports-color@7.2.0) - typescript: 6.0.3 + "@typescript-eslint/eslint-plugin": 8.70.1(@typescript-eslint/parser@8.70.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0))(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0) + "@typescript-eslint/parser": 8.70.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0) + "@typescript-eslint/typescript-estree": 8.70.1(@typescript/typescript6@6.0.2)(supports-color@7.2.0) + "@typescript-eslint/utils": 8.70.1(@typescript/typescript6@6.0.2)(eslint@10.11.0(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0) + eslint: 10.11.0(jiti@2.7.0)(supports-color@7.2.0) + typescript: "@typescript/typescript6@6.0.2" transitivePeerDependencies: - supports-color typescript@6.0.3: {} + typescript@7.0.2: + optionalDependencies: + "@typescript/typescript-aix-ppc64": 7.0.2 + "@typescript/typescript-darwin-arm64": 7.0.2 + "@typescript/typescript-darwin-x64": 7.0.2 + "@typescript/typescript-freebsd-arm64": 7.0.2 + "@typescript/typescript-freebsd-x64": 7.0.2 + "@typescript/typescript-linux-arm": 7.0.2 + "@typescript/typescript-linux-arm64": 7.0.2 + "@typescript/typescript-linux-loong64": 7.0.2 + "@typescript/typescript-linux-mips64el": 7.0.2 + "@typescript/typescript-linux-ppc64": 7.0.2 + "@typescript/typescript-linux-riscv64": 7.0.2 + "@typescript/typescript-linux-s390x": 7.0.2 + "@typescript/typescript-linux-x64": 7.0.2 + "@typescript/typescript-netbsd-arm64": 7.0.2 + "@typescript/typescript-netbsd-x64": 7.0.2 + "@typescript/typescript-openbsd-arm64": 7.0.2 + "@typescript/typescript-openbsd-x64": 7.0.2 + "@typescript/typescript-sunos-x64": 7.0.2 + "@typescript/typescript-win32-arm64": 7.0.2 + "@typescript/typescript-win32-x64": 7.0.2 + uc.micro@2.1.0: {} uglify-js@3.19.3: optional: true - unbash@4.0.10: {} + unbash@4.0.11: {} - undici-types@7.24.6: {} + undici-types@8.11.2: {} undici-types@8.9.0: {} @@ -11253,7 +10944,7 @@ snapshots: unicorn-magic@0.3.0: {} - unicorn-magic@0.4.0: {} + unicorn-magic@0.4.1: {} unified@11.0.5: dependencies: @@ -11324,86 +11015,45 @@ snapshots: "@types/unist": 3.0.3 vfile-message: 4.0.3 - vite-node@3.2.4(@types/node@25.9.5)(jiti@2.7.0)(supports-color@7.2.0)(tsx@4.23.15)(yaml@2.9.1): - dependencies: - cac: 6.7.14 - debug: 4.4.3(supports-color@7.2.0) - es-module-lexer: 1.7.0 - pathe: 2.0.3 - vite: 7.3.6(@types/node@25.9.5)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) - transitivePeerDependencies: - - "@types/node" - - jiti - - less - - lightningcss - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - - vite@7.3.6(@types/node@25.9.5)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1): + vite@7.3.6(@types/node@26.6.3)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1): dependencies: esbuild: 0.28.2 - fdir: 6.5.0(picomatch@4.0.5) - picomatch: 4.0.5 + fdir: 6.5.0(picomatch@4.0.7) + picomatch: 4.0.7 postcss: 8.5.26 rollup: 4.62.4 tinyglobby: 0.2.17 optionalDependencies: - "@types/node": 25.9.5 + "@types/node": 26.6.3 fsevents: 2.3.3 jiti: 2.7.0 tsx: 4.23.15 yaml: 2.9.1 - vitest@3.2.7(@types/debug@4.1.13)(@types/node@25.9.5)(jiti@2.7.0)(jsdom@26.1.0(supports-color@7.2.0))(supports-color@7.2.0)(tsx@4.23.15)(yaml@2.9.1): + vitest@5.0.2(@types/node@26.6.3)(@vitest/coverage-v8@5.0.2)(jsdom@30.1.1)(vite@7.3.6(@types/node@26.6.3)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)): dependencies: "@types/chai": 5.2.3 - "@vitest/expect": 3.2.7 - "@vitest/mocker": 3.2.7(vite@7.3.6(@types/node@25.9.5)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) - "@vitest/pretty-format": 3.2.7 - "@vitest/runner": 3.2.7 - "@vitest/snapshot": 3.2.7 - "@vitest/spy": 3.2.7 - "@vitest/utils": 3.2.7 - chai: 5.3.3 - debug: 4.4.3(supports-color@7.2.0) + "@vitest/mocker": 5.0.2(vite@7.3.6(@types/node@26.6.3)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1)) + chai: 6.2.2 + es-module-lexer: 2.3.2 expect-type: 1.4.0 - magic-string: 0.30.21 - pathe: 2.0.3 - picomatch: 4.0.5 - std-env: 3.10.0 - tinybench: 2.9.0 - tinyexec: 0.3.2 + magic-string: 1.4.2 + obug: 2.2.1 + picomatch: 4.0.7 + std-env: 4.2.0 + tinybench: 6.2.0 + tinyexec: 1.3.1 tinyglobby: 0.2.17 - tinypool: 1.1.1 - tinyrainbow: 2.0.0 - vite: 7.3.6(@types/node@25.9.5)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) - vite-node: 3.2.4(@types/node@25.9.5)(jiti@2.7.0)(supports-color@7.2.0)(tsx@4.23.15)(yaml@2.9.1) - why-is-node-running: 2.3.0 + vite: 7.3.6(@types/node@26.6.3)(jiti@2.7.0)(tsx@4.23.15)(yaml@2.9.1) + why-is-node-running: 3.2.2 optionalDependencies: - "@types/debug": 4.1.13 - "@types/node": 25.9.5 - jsdom: 26.1.0(supports-color@7.2.0) + "@types/node": 26.6.3 + "@vitest/coverage-v8": 5.0.2(vitest@5.0.2) + jsdom: 30.1.1 transitivePeerDependencies: - - jiti - - less - - lightningcss - msw - - sass - - sass-embedded - - stylus - - sugarss - - supports-color - - terser - - tsx - - yaml - w3c-xmlserializer@5.0.0: + w3c-xmlserializer@6.0.0: dependencies: xml-name-validator: 5.0.0 @@ -11415,18 +11065,27 @@ snapshots: web-worker@1.5.0: {} - webidl-conversions@7.0.0: {} + webidl-conversions@8.0.1: {} - whatwg-encoding@3.1.1: - dependencies: - iconv-lite: 0.6.3 + whatwg-mimetype@5.0.0: {} - whatwg-mimetype@4.0.0: {} + whatwg-url@16.0.1: + dependencies: + "@exodus/bytes": 1.16.0 + tr46: 6.0.0 + webidl-conversions: 8.0.1 + transitivePeerDependencies: + - "@noble/hashes" - whatwg-url@14.2.0: + whatwg-url@17.1.2: dependencies: - tr46: 5.1.1 - webidl-conversions: 7.0.0 + "@exodus/bytes": 1.16.0 + tr46: 6.0.0 + webidl-conversions: 8.0.1 + transitivePeerDependencies: + - "@noble/hashes" + + which-command@0.1.0: {} which@1.3.1: dependencies: @@ -11436,10 +11095,7 @@ snapshots: dependencies: isexe: 2.0.0 - why-is-node-running@2.3.0: - dependencies: - siginfo: 2.0.0 - stackback: 0.0.2 + why-is-node-running@3.2.2: {} word-wrap@1.2.5: {} @@ -11457,12 +11113,6 @@ snapshots: string-width: 4.2.3 strip-ansi: 6.0.1 - wrap-ansi@8.1.0: - dependencies: - ansi-styles: 6.2.3 - string-width: 5.1.2 - strip-ansi: 7.2.0 - wrap-ansi@9.0.2: dependencies: ansi-styles: 6.2.3 @@ -11471,8 +11121,6 @@ snapshots: wrappy@1.0.2: {} - ws@8.21.3: {} - xml-name-validator@5.0.0: {} xmlchars@2.2.0: {} @@ -11502,21 +11150,12 @@ snapshots: y18n: 5.0.8 yargs-parser: 20.2.9 - yargs@18.1.0: - dependencies: - cliui: 9.0.1 - escalade: 3.2.0 - get-caller-file: 2.0.5 - string-width: 8.2.2 - y18n: 5.0.8 - yargs-parser: 22.0.0 - yargs@18.2.0: dependencies: cliui: 9.0.1 escalade: 3.2.0 get-caller-file: 2.0.5 - string-width: 8.2.2 + string-width: 8.3.0 y18n: 5.0.8 yargs-parser: 22.0.0 diff --git a/src/cli.integration.test.ts b/src/cli.integration.test.ts index e0fffe7..dce6536 100644 --- a/src/cli.integration.test.ts +++ b/src/cli.integration.test.ts @@ -68,7 +68,9 @@ const mockCommandInstance = { }; vi.mock("commander", () => ({ - Command: vi.fn().mockImplementation(() => mockCommandInstance), + Command: vi.fn().mockImplementation(function () { + return mockCommandInstance; + }), })); describe("CLI Entry Point", () => { diff --git a/src/commands/check-links.integration.test.ts b/src/commands/check-links.integration.test.ts index 50dc674..1d59361 100644 --- a/src/commands/check-links.integration.test.ts +++ b/src/commands/check-links.integration.test.ts @@ -1,3 +1,4 @@ +import { implementAsInstance } from "../test-support/implement-as-instance.js"; import { describe, it, expect, beforeEach, afterEach, vi } from "vitest"; import { writeFile, mkdir, rm } from "fs/promises"; import { join } from "path"; @@ -8,21 +9,23 @@ import { type CheckLinksOperationOptions, type CheckLinksResult, } from "./check-links.js"; -import type { LinkParser } from "../core/link-parser.js"; -import type { LinkValidator } from "../core/link-validator.js"; // Mock the LinkValidator to avoid actual network requests in tests vi.mock("../core/link-validator.js", () => ({ - LinkValidator: vi.fn().mockImplementation(() => ({ - validateLink: vi.fn(), - })), + LinkValidator: vi.fn().mockImplementation(function () { + return { + validateLink: vi.fn(), + }; + }), })); // Mock the LinkParser vi.mock("../core/link-parser.js", () => ({ - LinkParser: vi.fn().mockImplementation(() => ({ - parseFile: vi.fn(), - })), + LinkParser: vi.fn().mockImplementation(function () { + return { + parseFile: vi.fn(), + }; + }), })); const TEST_DIR = "/tmp/markmv-check-links-test"; @@ -100,10 +103,10 @@ Some text content.`; const { LinkValidator } = await import("../core/link-validator.js"); vi.mocked(LinkParser).mockImplementation( - () => mockParser as unknown as LinkParser, + implementAsInstance(() => mockParser), ); vi.mocked(LinkValidator).mockImplementation( - () => mockValidator as unknown as LinkValidator, + implementAsInstance(() => mockValidator), ); const result = await checkLinks([testFile], DEFAULT_CHECK_LINKS_OPTIONS); @@ -165,10 +168,10 @@ Some text content.`; const { LinkValidator } = await import("../core/link-validator.js"); vi.mocked(LinkParser).mockImplementation( - () => mockParser as unknown as LinkParser, + implementAsInstance(() => mockParser), ); vi.mocked(LinkValidator).mockImplementation( - () => mockValidator as unknown as LinkValidator, + implementAsInstance(() => mockValidator), ); const result = await checkLinks([testFile], DEFAULT_CHECK_LINKS_OPTIONS); @@ -222,10 +225,10 @@ Some text content.`; const { LinkValidator } = await import("../core/link-validator.js"); vi.mocked(LinkParser).mockImplementation( - () => mockParser as unknown as LinkParser, + implementAsInstance(() => mockParser), ); vi.mocked(LinkValidator).mockImplementation( - () => mockValidator as unknown as LinkValidator, + implementAsInstance(() => mockValidator), ); const result = await checkLinks([TEST_DIR], { @@ -282,10 +285,10 @@ Some text content.`; const { LinkValidator } = await import("../core/link-validator.js"); vi.mocked(LinkParser).mockImplementation( - () => mockParser as unknown as LinkParser, + implementAsInstance(() => mockParser), ); vi.mocked(LinkValidator).mockImplementation( - () => mockValidator as unknown as LinkValidator, + implementAsInstance(() => mockValidator), ); const options: CheckLinksOperationOptions = { @@ -337,10 +340,10 @@ Some text content.`; const { LinkValidator } = await import("../core/link-validator.js"); vi.mocked(LinkParser).mockImplementation( - () => mockParser as unknown as LinkParser, + implementAsInstance(() => mockParser), ); vi.mocked(LinkValidator).mockImplementation( - () => mockValidator as unknown as LinkValidator, + implementAsInstance(() => mockValidator), ); const options: CheckLinksOperationOptions = { @@ -651,10 +654,10 @@ No external links here.`; const { LinkValidator } = await import("../core/link-validator.js"); vi.mocked(LinkParser).mockImplementation( - () => mockParser as unknown as LinkParser, + implementAsInstance(() => mockParser), ); vi.mocked(LinkValidator).mockImplementation( - () => mockValidator as unknown as LinkValidator, + implementAsInstance(() => mockValidator), ); const result = await checkLinks([testFile], DEFAULT_CHECK_LINKS_OPTIONS); diff --git a/src/commands/clip.integration.test.ts b/src/commands/clip.integration.test.ts index 3509771..e2b498b 100644 --- a/src/commands/clip.integration.test.ts +++ b/src/commands/clip.integration.test.ts @@ -16,7 +16,9 @@ const mockClip = vi.hoisted(() => // Mock the WebClipper class vi.mock("../core/web-clipper.js", () => ({ - WebClipper: vi.fn().mockImplementation(() => ({ clip: mockClip })), + WebClipper: vi.fn().mockImplementation(function () { + return { clip: mockClip }; + }), })); /** Mock `process.exit` for the duration of a test and capture the code it was called with. */ diff --git a/src/commands/validate-git.integration.test.ts b/src/commands/validate-git.integration.test.ts index 8968a3d..fc5d5ce 100644 --- a/src/commands/validate-git.integration.test.ts +++ b/src/commands/validate-git.integration.test.ts @@ -4,15 +4,12 @@ * Tests git-aware validation features including caching and incremental validation. */ +import { implementAsInstance } from "../test-support/implement-as-instance.js"; import { describe, it, expect, beforeEach, afterEach, vi } from "vitest"; import { mkdtemp, rm } from "node:fs/promises"; import { tmpdir } from "node:os"; import { join } from "node:path"; import { validateLinks } from "./validate.js"; -import type { GitUtils } from "../utils/git-utils.js"; -import type { ValidationCache } from "../utils/validation-cache.js"; -import type { LinkValidator } from "../core/link-validator.js"; -import type { LinkParser } from "../core/link-parser.js"; const mocks = vi.hoisted(() => { const createGitUtilsInstance = () => ({ @@ -118,16 +115,16 @@ describe("Git Integration in Validate Command", () => { const { LinkValidator } = await import("../core/link-validator.js"); const { LinkParser } = await import("../core/link-parser.js"); vi.mocked(GitUtils).mockImplementation( - () => mocks.createGitUtilsInstance() as unknown as GitUtils, + implementAsInstance(() => mocks.createGitUtilsInstance()), ); vi.mocked(ValidationCache).mockImplementation( - () => mocks.createValidationCacheInstance() as unknown as ValidationCache, + implementAsInstance(() => mocks.createValidationCacheInstance()), ); vi.mocked(LinkValidator).mockImplementation( - () => mocks.createLinkValidatorInstance() as unknown as LinkValidator, + implementAsInstance(() => mocks.createLinkValidatorInstance()), ); vi.mocked(LinkParser).mockImplementation( - () => mocks.createLinkParserInstance() as unknown as LinkParser, + implementAsInstance(() => mocks.createLinkParserInstance()), ); }); @@ -164,11 +161,10 @@ describe("Git Integration in Validate Command", () => { const { GitUtils } = await import("../utils/git-utils.js"); const mockGitUtils = vi.mocked(GitUtils); mockGitUtils.mockImplementation( - () => - ({ - isGitRepository: vi.fn().mockReturnValue(true), - refExists: vi.fn().mockReturnValue(false), - }) as unknown as GitUtils, + implementAsInstance(() => ({ + isGitRepository: vi.fn().mockReturnValue(true), + refExists: vi.fn().mockReturnValue(false), + })), ); await expect( @@ -182,23 +178,22 @@ describe("Git Integration in Validate Command", () => { const { GitUtils } = await import("../utils/git-utils.js"); const mockGitUtils = vi.mocked(GitUtils); mockGitUtils.mockImplementation( - () => - ({ - isGitRepository: vi.fn().mockReturnValue(true), - getRepositoryRoot: vi.fn().mockReturnValue("/test/repo"), - getStatus: vi.fn().mockReturnValue({ - branch: "main", - commit: "abc123", - isDirty: false, - rootDir: "/test/repo", - }), - refExists: vi.fn().mockReturnValue(true), - getChangedFiles: vi.fn().mockReturnValue([ - { path: "/test/repo/modified.md", status: "modified" }, - { path: "/test/repo/deleted.md", status: "deleted" }, - { path: "/test/repo/added.md", status: "added" }, - ]), - }) as unknown as GitUtils, + implementAsInstance(() => ({ + isGitRepository: vi.fn().mockReturnValue(true), + getRepositoryRoot: vi.fn().mockReturnValue("/test/repo"), + getStatus: vi.fn().mockReturnValue({ + branch: "main", + commit: "abc123", + isDirty: false, + rootDir: "/test/repo", + }), + refExists: vi.fn().mockReturnValue(true), + getChangedFiles: vi.fn().mockReturnValue([ + { path: "/test/repo/modified.md", status: "modified" }, + { path: "/test/repo/deleted.md", status: "deleted" }, + { path: "/test/repo/added.md", status: "added" }, + ]), + })), ); const result = await validateLinks(["**/*.md"], { @@ -228,18 +223,17 @@ describe("Git Integration in Validate Command", () => { const { GitUtils } = await import("../utils/git-utils.js"); const mockGitUtils = vi.mocked(GitUtils); mockGitUtils.mockImplementation( - () => - ({ - isGitRepository: vi.fn().mockReturnValue(true), - getRepositoryRoot: vi.fn().mockReturnValue("/test/repo"), - getStatus: vi.fn().mockReturnValue({ - branch: "main", - commit: "abc123", - isDirty: false, - rootDir: "/test/repo", - }), - getStagedFiles: vi.fn().mockReturnValue([]), - }) as unknown as GitUtils, + implementAsInstance(() => ({ + isGitRepository: vi.fn().mockReturnValue(true), + getRepositoryRoot: vi.fn().mockReturnValue("/test/repo"), + getStatus: vi.fn().mockReturnValue({ + branch: "main", + commit: "abc123", + isDirty: false, + rootDir: "/test/repo", + }), + getStagedFiles: vi.fn().mockReturnValue([]), + })), ); const result = await validateLinks(["**/*.md"], { @@ -267,7 +261,7 @@ describe("Git Integration in Validate Command", () => { set: vi.fn(), }; vi.mocked(ValidationCache).mockImplementation( - () => mockCacheInstance as unknown as ValidationCache, + implementAsInstance(() => mockCacheInstance), ); const result = await validateLinks(["/test/cached.md"], { @@ -288,7 +282,7 @@ describe("Git Integration in Validate Command", () => { set: vi.fn(), }; vi.mocked(ValidationCache).mockImplementation( - () => mockCacheInstance as unknown as ValidationCache, + implementAsInstance(() => mockCacheInstance), ); await validateLinks(["/test/new.md"], { @@ -304,7 +298,7 @@ describe("Git Integration in Validate Command", () => { isEnabled: vi.fn().mockResolvedValue(false), }; vi.mocked(ValidationCache).mockImplementation( - () => mockCacheInstance as unknown as ValidationCache, + implementAsInstance(() => mockCacheInstance), ); // Should not throw error @@ -335,7 +329,7 @@ describe("Git Integration in Validate Command", () => { set: vi.fn(), }; vi.mocked(ValidationCache).mockImplementation( - () => mockCacheInstance as unknown as ValidationCache, + implementAsInstance(() => mockCacheInstance), ); const result = await validateLinks(["/test/file1.md", "/test/file2.md"], { @@ -353,20 +347,19 @@ describe("Git Integration in Validate Command", () => { it("should exit early when fail-fast is enabled and broken link found", async () => { const { LinkValidator } = await import("../core/link-validator.js"); vi.mocked(LinkValidator).mockImplementation( - () => - ({ - validateLinks: vi.fn().mockResolvedValue({ - brokenLinks: [ - { - link: { href: "broken.md", type: "internal", line: 1 }, - reason: "File not found", - }, - ], - }), - checkCircularReferences: vi.fn().mockResolvedValue({ - hasCircularReferences: false, - }), - }) as unknown as LinkValidator, + implementAsInstance(() => ({ + validateLinks: vi.fn().mockResolvedValue({ + brokenLinks: [ + { + link: { href: "broken.md", type: "internal", line: 1 }, + reason: "File not found", + }, + ], + }), + checkCircularReferences: vi.fn().mockResolvedValue({ + hasCircularReferences: false, + }), + })), ); const result = await validateLinks(["/test/file1.md", "/test/file2.md"], { @@ -385,10 +378,9 @@ describe("Git Integration in Validate Command", () => { it("should handle git repository detection failure", async () => { const { GitUtils } = await import("../utils/git-utils.js"); vi.mocked(GitUtils).mockImplementation( - () => - ({ - isGitRepository: vi.fn().mockReturnValue(false), - }) as unknown as GitUtils, + implementAsInstance(() => ({ + isGitRepository: vi.fn().mockReturnValue(false), + })), ); await expect( @@ -401,10 +393,9 @@ describe("Git Integration in Validate Command", () => { it("should gracefully disable git integration when not in repository but cache enabled", async () => { const { GitUtils } = await import("../utils/git-utils.js"); vi.mocked(GitUtils).mockImplementation( - () => - ({ - isGitRepository: vi.fn().mockReturnValue(false), - }) as unknown as GitUtils, + implementAsInstance(() => ({ + isGitRepository: vi.fn().mockReturnValue(false), + })), ); // Should not throw, just disable git integration @@ -419,14 +410,13 @@ describe("Git Integration in Validate Command", () => { it("should handle git command failures gracefully", async () => { const { GitUtils } = await import("../utils/git-utils.js"); vi.mocked(GitUtils).mockImplementation( - () => - ({ - isGitRepository: vi.fn().mockReturnValue(true), - refExists: vi.fn().mockReturnValue(true), - getChangedFiles: vi.fn().mockImplementation(() => { - throw new Error("Git command failed"); - }), - }) as unknown as GitUtils, + implementAsInstance(() => ({ + isGitRepository: vi.fn().mockReturnValue(true), + refExists: vi.fn().mockReturnValue(true), + getChangedFiles: vi.fn().mockImplementation(() => { + throw new Error("Git command failed"); + }), + })), ); await expect( @@ -444,7 +434,7 @@ describe("Git Integration in Validate Command", () => { set: vi.fn().mockRejectedValue(new Error("Cache write error")), }; vi.mocked(ValidationCache).mockImplementation( - () => mockCacheInstance as unknown as ValidationCache, + implementAsInstance(() => mockCacheInstance), ); /* Should not throw, just continue without cache. The mocked glob resolves every @@ -518,7 +508,7 @@ describe("Git Integration in Validate Command", () => { set: vi.fn(), }; vi.mocked(ValidationCache).mockImplementation( - () => mockCacheInstance as unknown as ValidationCache, + implementAsInstance(() => mockCacheInstance), ); const result = await validateLinks(["/test/file.md"], { diff --git a/src/core/web-clipper.unit.test.ts b/src/core/web-clipper.unit.test.ts index 6ed6afc..53e9aa7 100644 --- a/src/core/web-clipper.unit.test.ts +++ b/src/core/web-clipper.unit.test.ts @@ -2,41 +2,48 @@ * Tests for the WebClipper core class, covering web page content extraction and processing. */ +import { implementAsInstance } from "../test-support/implement-as-instance.js"; import { describe, it, expect, beforeEach, vi } from "vitest"; import { WebClipper } from "./web-clipper.js"; // Mock external dependencies vi.mock("jsdom", () => ({ - JSDOM: vi.fn().mockImplementation(() => ({ - window: { - document: { - title: "Test Article", - body: { - textContent: "Test content", + JSDOM: vi.fn().mockImplementation(function () { + return { + window: { + document: { + title: "Test Article", + body: { + textContent: "Test content", + }, }, }, - }, - })), + }; + }), })); vi.mock("@mozilla/readability", () => ({ - Readability: vi.fn().mockImplementation(() => ({ - parse: vi.fn().mockReturnValue({ - title: "Test Article", - byline: "Test Author", - excerpt: "Test excerpt", - content: "
This is test content.
", - }), - })), + Readability: vi.fn().mockImplementation(function () { + return { + parse: vi.fn().mockReturnValue({ + title: "Test Article", + byline: "Test Author", + excerpt: "Test excerpt", + content: "This is test content.
", + }), + }; + }), })); vi.mock("turndown", () => { - const TurndownService = vi.fn().mockImplementation(() => ({ - turndown: vi - .fn() - .mockReturnValue("# Test Article\n\nThis is test content."), - addRule: vi.fn(), - })); + const TurndownService = vi.fn().mockImplementation(function () { + return { + turndown: vi + .fn() + .mockReturnValue("# Test Article\n\nThis is test content."), + addRule: vi.fn(), + }; + }); return { default: TurndownService }; }); @@ -734,7 +741,9 @@ describe("WebClipper", () => { const mockInstance = { parse: vi.fn().mockReturnValue(null), }; - vi.mocked(Readability).mockImplementationOnce(() => mockInstance); + vi.mocked(Readability).mockImplementationOnce( + implementAsInstance(() => mockInstance), + ); const mockResponse = { ok: true, diff --git a/src/mcp-server.unit.test.ts b/src/mcp-server.unit.test.ts index 622f44d..9fa8d60 100644 --- a/src/mcp-server.unit.test.ts +++ b/src/mcp-server.unit.test.ts @@ -5,7 +5,9 @@ import { InMemoryTransport } from "@modelcontextprotocol/sdk/inMemory.js"; // Mock console.error to avoid output during tests const mockConsoleError = vi .spyOn(console, "error") - .mockImplementation(() => undefined); + .mockImplementation(function () { + return undefined; + }); // Mock the markmv index module vi.mock("./index.js", () => ({ @@ -43,9 +45,9 @@ vi.mock("./index.js", () => ({ // startMcpServer connects over stdio; give it one end of a real in-memory transport pair instead (the other end is left unconnected, since nothing in this test sends it anything) so server.connect() satisfies the real Transport contract rather than a hand-rolled stub. vi.mock("@modelcontextprotocol/sdk/server/stdio.js", () => ({ - StdioServerTransport: vi - .fn() - .mockImplementation(() => InMemoryTransport.createLinkedPair()[0]), + StdioServerTransport: vi.fn().mockImplementation(function () { + return InMemoryTransport.createLinkedPair()[0]; + }), })); import { createMcpServer, startMcpServer } from "./mcp-server.js"; diff --git a/src/test-support/implement-as-instance.ts b/src/test-support/implement-as-instance.ts new file mode 100644 index 0000000..ab1fdea --- /dev/null +++ b/src/test-support/implement-as-instance.ts @@ -0,0 +1,18 @@ +/** + * Builds a class-mock implementation that makes `new Class()` hold the members of a test double. + * vitest types a class mock's implementation as either a constructable or a `this`-typed function + * returning nothing, and a double is not a full instance of a class that has private members, so the + * double's members are copied onto the constructed instance instead of returning it. + * @param create - Builds the test double whose members the instance should carry + * @returns An implementation to pass to `mockImplementation` on a mocked class + */ +export function implementAsInstance( + create: () => object, +): (this: object) => void { + return function (this: object): void { + const double = create(); + for (const key of Reflect.ownKeys(double)) { + Reflect.set(this, key, Reflect.get(double, key)); + } + }; +} diff --git a/tsconfig.build.json b/tsconfig.build.json index b30f96b..0afd654 100644 --- a/tsconfig.build.json +++ b/tsconfig.build.json @@ -3,6 +3,6 @@ "incremental": true, "tsBuildInfoFile": "./tsconfig.tsbuildinfo" }, - "exclude": ["node_modules", "dist", "**/*.test.ts"], + "exclude": ["node_modules", "dist", "**/*.test.ts", "src/test-support"], "extends": "./tsconfig.json" } diff --git a/turbo.json b/turbo.json index c36ab26..659b944 100644 --- a/turbo.json +++ b/turbo.json @@ -18,6 +18,7 @@ "outputs": [".eslintcache"] }, "_test": { + "env": ["MARKMV_TEST_*"], "inputs": ["src/**/*.ts", "vitest.config.ts"], "outputs": ["coverage/**"] }, diff --git a/vitest.config.ts b/vitest.config.ts index fd8cf73..cc05625 100644 --- a/vitest.config.ts +++ b/vitest.config.ts @@ -1,5 +1,22 @@ import { defineConfig } from "vitest/config"; +/** + * Forwards the named environment variables to the tests, leaving out any that are unset or empty. + * Vitest turns an undefined `env` value into the string "undefined", which a test reading the + * variable would take for a real setting. + * @param names - The variables to forward + * @returns The variables that are set, with their values + */ +function forwardedEnv(names: readonly string[]): Record