diff --git a/.README/rules/require-returns-check.md b/.README/rules/require-returns-check.md index fda45348f..a86d5f099 100644 --- a/.README/rules/require-returns-check.md +++ b/.README/rules/require-returns-check.md @@ -11,6 +11,8 @@ Will also report `@returns {void}` and `@returns {undefined}` if `exemptAsync` is set to `false` and a non-`undefined` value is returned or a resolved value is found. Also reports if `@returns {never}` is discovered with a return value. +Will report if native types are specified for `@returns` on an async function. + Will also report if multiple `@returns` tags are present. ## Options @@ -24,7 +26,7 @@ Will also report if multiple `@returns` tags are present. |Context|`ArrowFunctionExpression`, `FunctionDeclaration`, `FunctionExpression`| |Tags|`returns`| |Aliases|`return`| -|Options|`exemptAsync`, `exemptGenerators`, `reportMissingReturnForUndefinedTypes`| +|Options|`exemptAsync`, `exemptGenerators`, `noNativeTypes`, `reportMissingReturnForUndefinedTypes`| |Recommended|true| ## Failing examples diff --git a/docs/rules/prefer-import-tag.md b/docs/rules/prefer-import-tag.md index 375aaaaf0..6640f4434 100644 --- a/docs/rules/prefer-import-tag.md +++ b/docs/rules/prefer-import-tag.md @@ -294,6 +294,14 @@ The following patterns are considered problems: */ // "jsdoc/prefer-import-tag": ["error"|"warn", {"exemptTypedefs":true}] // Message: Inline `import()` found; using `@typedef` + +/** @type {import('foo')} */ +let foo; +// Message: Inline `import()` found; prefer `@import` + +/** @type {import('foo')} */ +let foo; +// Message: Inline `import()` found; prefer `@import` ```` diff --git a/docs/rules/require-returns-check.md b/docs/rules/require-returns-check.md index 505b23da7..948885d14 100644 --- a/docs/rules/require-returns-check.md +++ b/docs/rules/require-returns-check.md @@ -5,6 +5,7 @@ * [Options](#user-content-require-returns-check-options) * [`exemptAsync`](#user-content-require-returns-check-options-exemptasync) * [`exemptGenerators`](#user-content-require-returns-check-options-exemptgenerators) + * [`noNativeTypes`](#user-content-require-returns-check-options-nonativetypes) * [`reportMissingReturnForUndefinedTypes`](#user-content-require-returns-check-options-reportmissingreturnforundefinedtypes) * [Context and settings](#user-content-require-returns-check-context-and-settings) * [Failing examples](#user-content-require-returns-check-failing-examples) @@ -20,6 +21,8 @@ Will also report `@returns {void}` and `@returns {undefined}` if `exemptAsync` is set to `false` and a non-`undefined` value is returned or a resolved value is found. Also reports if `@returns {never}` is discovered with a return value. +Will report if native types are specified for `@returns` on an async function. + Will also report if multiple `@returns` tags are present. @@ -54,6 +57,13 @@ option is therefore `true` by default in `typescript` mode (in "jsdoc" mode, one might be more likely to take advantage of `@yields`). Set it to `false` if you wish for a missing `return` to be flagged regardless. + + +### noNativeTypes + +Whether to check that async functions do not +indicate they return non-native types. Defaults to `true`. + ### reportMissingReturnForUndefinedTypes @@ -74,7 +84,7 @@ Unlike `require-returns`, with this option in the rule, one can |Context|`ArrowFunctionExpression`, `FunctionDeclaration`, `FunctionExpression`| |Tags|`returns`| |Aliases|`return`| -|Options|`exemptAsync`, `exemptGenerators`, `reportMissingReturnForUndefinedTypes`| +|Options|`exemptAsync`, `exemptGenerators`, `noNativeTypes`, `reportMissingReturnForUndefinedTypes`| |Recommended|true| @@ -206,7 +216,7 @@ function quux() { /** * Description. - * @returns {string} + * @returns {SomeType} */ async function foo() { return new Promise(resolve => resolve()); @@ -401,6 +411,15 @@ function foo() { } } // Message: JSDoc @returns declaration present but return expression not available in function. + +/** + * @returns {number} + */ +async function quux (foo) { + +} +// "jsdoc/require-returns-check": ["error"|"warn", {"exemptAsync":false}] +// Message: Function is async or otherwise returns a Promise but the return type is a native type. ```` diff --git a/package.json b/package.json index e398ab33e..d12d0bae1 100644 --- a/package.json +++ b/package.json @@ -5,7 +5,7 @@ "url": "http://gajus.com" }, "dependencies": { - "@es-joy/jsdoccomment": "~0.64.0", + "@es-joy/jsdoccomment": "~0.65.2", "are-docs-informative": "^0.0.2", "comment-parser": "1.4.1", "debug": "^4.4.3", @@ -41,7 +41,7 @@ "@types/estree": "^1.0.8", "@types/json-schema": "^7.0.15", "@types/mocha": "^10.0.10", - "@types/node": "^24.6.0", + "@types/node": "^24.6.1", "@types/semver": "^7.7.1", "@types/spdx-expression-parse": "^3.0.5", "@typescript-eslint/types": "^8.45.0", @@ -58,7 +58,7 @@ "glob": "^11.0.3", "globals": "^16.4.0", "husky": "^9.1.7", - "jsdoc-type-pratt-parser": "^6.0.1", + "jsdoc-type-pratt-parser": "^6.1.2", "json-schema": "^0.4.0", "json-schema-to-typescript": "^15.0.4", "lint-staged": "^16.2.3", @@ -67,7 +67,7 @@ "replace": "^1.2.2", "rimraf": "^6.0.1", "semantic-release": "^24.2.9", - "typescript": "5.9.2", + "typescript": "5.9.3", "typescript-eslint": "^8.45.0" }, "engines": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3c6f6d223..6a2e1d80f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -12,8 +12,8 @@ importers: .: dependencies: '@es-joy/jsdoccomment': - specifier: ~0.64.0 - version: 0.64.0 + specifier: ~0.65.2 + version: 0.65.2 are-docs-informative: specifier: ^0.0.2 version: 0.0.2 @@ -59,7 +59,7 @@ importers: version: 7.28.4 '@babel/eslint-parser': specifier: ^7.28.4 - version: 7.28.4(@babel/core@7.28.4)(eslint@9.36.0(jiti@2.6.0)) + version: 7.28.4(@babel/core@7.28.4)(eslint@9.36.0(jiti@2.6.1)) '@babel/plugin-syntax-class-properties': specifier: ^7.12.13 version: 7.12.13(@babel/core@7.28.4) @@ -74,22 +74,22 @@ importers: version: 4.0.3 '@es-joy/jsdoc-eslint-parser': specifier: ^0.24.0 - version: 0.24.0(jiti@2.6.0) + version: 0.24.0(jiti@2.6.1) '@eslint/core': specifier: ^0.16.0 version: 0.16.0 '@hkdobrev/run-if-changed': specifier: ^0.6.3 - version: 0.6.3(typescript@5.9.2) + version: 0.6.3(typescript@5.9.3) '@semantic-release/commit-analyzer': specifier: ^13.0.1 - version: 13.0.1(semantic-release@24.2.9(typescript@5.9.2)) + version: 13.0.1(semantic-release@24.2.9(typescript@5.9.3)) '@semantic-release/github': specifier: ^11.0.6 - version: 11.0.6(semantic-release@24.2.9(typescript@5.9.2)) + version: 11.0.6(semantic-release@24.2.9(typescript@5.9.3)) '@semantic-release/npm': specifier: ^12.0.2 - version: 12.0.2(semantic-release@24.2.9(typescript@5.9.2)) + version: 12.0.2(semantic-release@24.2.9(typescript@5.9.3)) '@types/chai': specifier: ^5.2.2 version: 5.2.2 @@ -112,8 +112,8 @@ importers: specifier: ^10.0.10 version: 10.0.10 '@types/node': - specifier: ^24.6.0 - version: 24.6.0 + specifier: ^24.6.1 + version: 24.6.1 '@types/semver': specifier: ^7.7.1 version: 7.7.1 @@ -146,10 +146,10 @@ importers: version: 6.0.1 eslint: specifier: 9.36.0 - version: 9.36.0(jiti@2.6.0) + version: 9.36.0(jiti@2.6.1) eslint-config-canonical: specifier: ^45.0.0 - version: 45.0.0(@types/node@24.6.0)(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) + version: 45.0.0(@types/node@24.6.1)(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) gitdown: specifier: ^4.1.1 version: 4.1.1(re2@1.20.9) @@ -163,8 +163,8 @@ importers: specifier: ^9.1.7 version: 9.1.7 jsdoc-type-pratt-parser: - specifier: ^6.0.1 - version: 6.0.1 + specifier: ^6.1.2 + version: 6.1.2 json-schema: specifier: ^0.4.0 version: 0.4.0 @@ -188,13 +188,13 @@ importers: version: 6.0.1 semantic-release: specifier: ^24.2.9 - version: 24.2.9(typescript@5.9.2) + version: 24.2.9(typescript@5.9.3) typescript: - specifier: 5.9.2 - version: 5.9.2 + specifier: 5.9.3 + version: 5.9.3 typescript-eslint: specifier: ^8.45.0 - version: 8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) + version: 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) packages: @@ -789,8 +789,8 @@ packages: resolution: {integrity: sha512-yWi6sm7INEwnfS7IJvE0dU+RTrwzLPFcY7e7eGpu/l5Q9lWfQ2ROwZ0qVnc242jw2TUPsfHX3XMIISkGBv57RQ==} engines: {node: '>=20.11.0'} - '@es-joy/jsdoccomment@0.64.0': - resolution: {integrity: sha512-sLUv/udfqNO795T0dHAgV6kC79VJvUfX3kDw/F24+dVvGL25QQfxWLTrNjIZ3BcD8R/c8Hg3inC0GrXXTSw4/A==} + '@es-joy/jsdoccomment@0.65.2': + resolution: {integrity: sha512-/rrj5oayCc7xdoQZ24Tz/+V41IDm+9ILYpTFJOZgav9vfncMNApKR0t/4d1oRXYTcyLZEcGHGOg4xBsD0Doing==} engines: {node: '>=20.11.0'} '@eslint-community/eslint-utils@4.9.0': @@ -1078,53 +1078,47 @@ packages: resolution: {integrity: sha512-P4YJBPdPSpWTQ1NU4XYdvHvXJJDxM6YwpS0FZHRgP7YFkdVxsWcpWGy/NVqlAA7PcPCnMacXlRm1y2PFZRWL/w==} engines: {node: '>= 20'} - '@octokit/core@7.0.4': - resolution: {integrity: sha512-jOT8V1Ba5BdC79sKrRWDdMT5l1R+XNHTPR6CPWzUP2EcfAcvIHZWF0eAbmRcpOOP5gVIwnqNg0C4nvh6Abc3OA==} + '@octokit/core@7.0.5': + resolution: {integrity: sha512-t54CUOsFMappY1Jbzb7fetWeO0n6K0k/4+/ZpkS+3Joz8I4VcvY9OiEBFRYISqaI2fq5sCiPtAjRDOzVYG8m+Q==} engines: {node: '>= 20'} - '@octokit/endpoint@11.0.0': - resolution: {integrity: sha512-hoYicJZaqISMAI3JfaDr1qMNi48OctWuOih1m80bkYow/ayPw6Jj52tqWJ6GEoFTk1gBqfanSoI1iY99Z5+ekQ==} + '@octokit/endpoint@11.0.1': + resolution: {integrity: sha512-7P1dRAZxuWAOPI7kXfio88trNi/MegQ0IJD3vfgC3b+LZo1Qe6gRJc2v0mz2USWWJOKrB2h5spXCzGbw+fAdqA==} engines: {node: '>= 20'} - '@octokit/graphql@9.0.1': - resolution: {integrity: sha512-j1nQNU1ZxNFx2ZtKmL4sMrs4egy5h65OMDmSbVyuCzjOcwsHq6EaYjOTGXPQxgfiN8dJ4CriYHk6zF050WEULg==} + '@octokit/graphql@9.0.2': + resolution: {integrity: sha512-iz6KzZ7u95Fzy9Nt2L8cG88lGRMr/qy1Q36ih/XVzMIlPDMYwaNLE/ENhqmIzgPrlNWiYJkwmveEetvxAgFBJw==} engines: {node: '>= 20'} - '@octokit/openapi-types@25.1.0': - resolution: {integrity: sha512-idsIggNXUKkk0+BExUn1dQ92sfysJrje03Q0bv0e+KPLrvyqZF8MnBpFz8UNfYDwB3Ie7Z0TByjWfzxt7vseaA==} - '@octokit/openapi-types@26.0.0': resolution: {integrity: sha512-7AtcfKtpo77j7Ts73b4OWhOZHTKo/gGY8bB3bNBQz4H+GRSWqx2yvj8TXRsbdTE0eRmYmXOEY66jM7mJ7LzfsA==} - '@octokit/plugin-paginate-rest@13.1.1': - resolution: {integrity: sha512-q9iQGlZlxAVNRN2jDNskJW/Cafy7/XE52wjZ5TTvyhyOD904Cvx//DNyoO3J/MXJ0ve3rPoNWKEg5iZrisQSuw==} + '@octokit/plugin-paginate-rest@13.2.0': + resolution: {integrity: sha512-YuAlyjR8o5QoRSOvMHxSJzPtogkNMgeMv2mpccrvdUGeC3MKyfi/hS+KiFwyH/iRKIKyx+eIMsDjbt3p9r2GYA==} engines: {node: '>= 20'} peerDependencies: '@octokit/core': '>=6' - '@octokit/plugin-retry@8.0.1': - resolution: {integrity: sha512-KUoYR77BjF5O3zcwDQHRRZsUvJwepobeqiSSdCJ8lWt27FZExzb0GgVxrhhfuyF6z2B2zpO0hN5pteni1sqWiw==} + '@octokit/plugin-retry@8.0.2': + resolution: {integrity: sha512-mVPCe77iaD8g1lIX46n9bHPUirFLzc3BfIzsZOpB7bcQh1ecS63YsAgcsyMGqvGa2ARQWKEFTrhMJX2MLJVHVw==} engines: {node: '>= 20'} peerDependencies: '@octokit/core': '>=7' - '@octokit/plugin-throttling@11.0.1': - resolution: {integrity: sha512-S+EVhy52D/272L7up58dr3FNSMXWuNZolkL4zMJBNIfIxyZuUcczsQAU4b5w6dewJXnKYVgSHSV5wxitMSW1kw==} + '@octokit/plugin-throttling@11.0.2': + resolution: {integrity: sha512-ntNIig4zZhQVOZF4fG9Wt8QCoz9ehb+xnlUwp74Ic2ANChCk8oKmRwV9zDDCtrvU1aERIOvtng8wsalEX7Jk5Q==} engines: {node: '>= 20'} peerDependencies: '@octokit/core': ^7.0.0 - '@octokit/request-error@7.0.0': - resolution: {integrity: sha512-KRA7VTGdVyJlh0cP5Tf94hTiYVVqmt2f3I6mnimmaVz4UG3gQV/k4mDJlJv3X67iX6rmN7gSHCF8ssqeMnmhZg==} + '@octokit/request-error@7.0.1': + resolution: {integrity: sha512-CZpFwV4+1uBrxu7Cw8E5NCXDWFNf18MSY23TdxCBgjw1tXXHvTrZVsXlW8hgFTOLw8RQR1BBrMvYRtuyaijHMA==} engines: {node: '>= 20'} - '@octokit/request@10.0.3': - resolution: {integrity: sha512-V6jhKokg35vk098iBqp2FBKunk3kMTXlmq+PtbV9Gl3TfskWlebSofU9uunVKhUN7xl+0+i5vt0TGTG8/p/7HA==} + '@octokit/request@10.0.5': + resolution: {integrity: sha512-TXnouHIYLtgDhKo+N6mXATnDBkV05VwbR0TtMWpgTHIoQdRQfCSzmy/LGqR1AbRMbijq/EckC/E3/ZNcU92NaQ==} engines: {node: '>= 20'} - '@octokit/types@14.1.0': - resolution: {integrity: sha512-1y6DgTy8Jomcpu33N+p5w58l6xyt55Ar2I91RPiIA0xCJBXyUAhXCcmZaDWSANiha7R9a6qJJ2CRomGPZ6f46g==} - '@octokit/types@15.0.0': resolution: {integrity: sha512-8o6yDfmoGJUIeR9OfYU0/TUJTnMPG2r68+1yEdUeG2Fdqpj8Qetg0ziKIgcBm0RW/j29H41WP37CYCEhp6GoHQ==} @@ -1238,8 +1232,8 @@ packages: '@types/ms@2.1.0': resolution: {integrity: sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==} - '@types/node@24.6.0': - resolution: {integrity: sha512-F1CBxgqwOMc4GKJ7eY22hWhBVQuMYTtqI8L0FcszYcpYX0fzfDGpez22Xau8Mgm7O9fI+zA/TYIdq3tGWfweBA==} + '@types/node@24.6.1': + resolution: {integrity: sha512-ljvjjs3DNXummeIaooB4cLBKg2U6SPI6Hjra/9rRIy7CpM0HpLtG9HptkMKAb4HYWy5S7HUvJEuWgr/y0U8SHw==} '@types/normalize-package-data@2.4.4': resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} @@ -1253,14 +1247,6 @@ packages: '@types/ws@8.18.1': resolution: {integrity: sha512-ThVF6DCVhA8kUGy+aazFQ4kXQ7E1Ty7A3ypFOe0IcJV8O/M511G99AW24irKrW56Wt44yG9+ij8FaqoBGkuBXg==} - '@typescript-eslint/eslint-plugin@8.44.1': - resolution: {integrity: sha512-molgphGqOBT7t4YKCSkbasmu1tb1MgrZ2szGzHbclF7PNmOkSTQVHy+2jXOSnxvR3+Xe1yySHFZoqMpz3TfQsw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - '@typescript-eslint/parser': ^8.44.1 - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/eslint-plugin@8.45.0': resolution: {integrity: sha512-HC3y9CVuevvWCl/oyZuI47dOeDF9ztdMEfMH8/DW/Mhwa9cCLnK1oD7JoTVGW/u7kFzNZUKUoyJEqkaJh5y3Wg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1269,13 +1255,6 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.44.1': - resolution: {integrity: sha512-EHrrEsyhOhxYt8MTg4zTF+DJMuNBzWwgvvOYNj/zm1vnaD/IC5zCXFehZv94Piqa2cRFfXrTFxIvO95L7Qc/cw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/parser@8.45.0': resolution: {integrity: sha512-TGf22kon8KW+DeKaUmOibKWktRY8b2NSAZNdtWh798COm1NWx8+xJ6iFBtk3IvLdv6+LGLJLRlyhrhEDZWargQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1283,45 +1262,22 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.44.1': - resolution: {integrity: sha512-ycSa60eGg8GWAkVsKV4E6Nz33h+HjTXbsDT4FILyL8Obk5/mx4tbvCNsLf9zret3ipSumAOG89UcCs/KRaKYrA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/project-service@8.45.0': resolution: {integrity: sha512-3pcVHwMG/iA8afdGLMuTibGR7pDsn9RjDev6CCB+naRsSYs2pns5QbinF4Xqw6YC/Sj3lMrm/Im0eMfaa61WUg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/scope-manager@8.44.1': - resolution: {integrity: sha512-NdhWHgmynpSvyhchGLXh+w12OMT308Gm25JoRIyTZqEbApiBiQHD/8xgb6LqCWCFcxFtWwaVdFsLPQI3jvhywg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/scope-manager@8.45.0': resolution: {integrity: sha512-clmm8XSNj/1dGvJeO6VGH7EUSeA0FMs+5au/u3lrA3KfG8iJ4u8ym9/j2tTEoacAffdW1TVUzXO30W1JTJS7dA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.44.1': - resolution: {integrity: sha512-B5OyACouEjuIvof3o86lRMvyDsFwZm+4fBOqFHccIctYgBjqR3qT39FBYGN87khcgf0ExpdCBeGKpKRhSFTjKQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/tsconfig-utils@8.45.0': resolution: {integrity: sha512-aFdr+c37sc+jqNMGhH+ajxPXwjv9UtFZk79k8pLoJ6p4y0snmYpPA52GuWHgt2ZF4gRRW6odsEj41uZLojDt5w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.44.1': - resolution: {integrity: sha512-KdEerZqHWXsRNKjF9NYswNISnFzXfXNDfPxoTh7tqohU/PRIbwTmsjGK6V9/RTYWau7NZvfo52lgVk+sJh0K3g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/type-utils@8.45.0': resolution: {integrity: sha512-bpjepLlHceKgyMEPglAeULX1vixJDgaKocp0RVJ5u4wLJIMNuKtUXIczpJCPcn2waII0yuvks/5m5/h3ZQKs0A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1329,33 +1285,16 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/types@8.44.1': - resolution: {integrity: sha512-Lk7uj7y9uQUOEguiDIDLYLJOrYHQa7oBiURYVFqIpGxclAFQ78f6VUOM8lI2XEuNOKNB7XuvM2+2cMXAoq4ALQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/types@8.45.0': resolution: {integrity: sha512-WugXLuOIq67BMgQInIxxnsSyRLFxdkJEJu8r4ngLR56q/4Q5LrbfkFRH27vMTjxEK8Pyz7QfzuZe/G15qQnVRA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.44.1': - resolution: {integrity: sha512-qnQJ+mVa7szevdEyvfItbO5Vo+GfZ4/GZWWDRRLjrxYPkhM+6zYB2vRYwCsoJLzqFCdZT4mEqyJoyzkunsZ96A==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/typescript-estree@8.45.0': resolution: {integrity: sha512-GfE1NfVbLam6XQ0LcERKwdTTPlLvHvXXhOeUGC1OXi4eQBoyy1iVsW+uzJ/J9jtCz6/7GCQ9MtrQ0fml/jWCnA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.44.1': - resolution: {integrity: sha512-DpX5Fp6edTlocMCwA+mHY8Mra+pPjRZ0TfHkXI8QFelIKcbADQz1LUPNtzOFUriBB2UYqw4Pi9+xV4w9ZczHFg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/utils@8.45.0': resolution: {integrity: sha512-bxi1ht+tLYg4+XV2knz/F7RVhU0k6VrSMc9sb8DQ6fyCTrGQLHfo7lDtN0QJjZjKkLA2ThrKuCdHEvLReqtIGg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1363,10 +1302,6 @@ packages: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <6.0.0' - '@typescript-eslint/visitor-keys@8.44.1': - resolution: {integrity: sha512-576+u0QD+Jp3tZzvfRfxon0EA2lzcDt3lhUbsC6Lgzy9x2VR4E+JUiNyGHi5T8vk0TV+fpJ5GLG1JsJuWCaKhw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/visitor-keys@8.45.0': resolution: {integrity: sha512-qsaFBA3e09MIDAGFUrTk+dzqtfv1XPVz8t8d1f0ybTzrCY7BKiMC5cjrl1O/P7UmHsNyW90EYSkU/ZWpmXelag==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -1687,8 +1622,8 @@ packages: balanced-match@1.0.2: resolution: {integrity: sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==} - baseline-browser-mapping@2.8.7: - resolution: {integrity: sha512-bxxN2M3a4d1CRoQC//IqsR5XrLh0IJ8TCv2x6Y9N0nckNz/rTjZB3//GGscZziZOxmjP55rzxg/ze7usFI9FqQ==} + baseline-browser-mapping@2.8.9: + resolution: {integrity: sha512-hY/u2lxLrbecMEWSB0IpGzGyDyeoMFQhCvZd2jGFSE5I17Fh01sYUBPCJtkWERw7zrac9+cIghxm/ytJa2X8iA==} hasBin: true bcrypt-pbkdf@1.0.2: @@ -1782,8 +1717,8 @@ packages: resolution: {integrity: sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==} engines: {node: '>=16'} - caniuse-lite@1.0.30001745: - resolution: {integrity: sha512-ywt6i8FzvdgrrrGbr1jZVObnVv6adj+0if2/omv9cmR2oiZs30zL4DIyaptKcbOrBdOIc74QTMoJvSE2QHh5UQ==} + caniuse-lite@1.0.30001746: + resolution: {integrity: sha512-eA7Ys/DGw+pnkWWSE/id29f2IcPHVoE8wxtvE5JdvD2V28VTDPy1yEeo11Guz0sJ4ZeGRcm3uaTcAqK1LXaphA==} caseless@0.12.0: resolution: {integrity: sha512-4tYFyifaFfGacoiObjJegolkwSU4xQNGbVgUiNYVUxbQ2x2lUsFvY4hVgVzGiIe6WLOPqycWXA40l+PWsxthUw==} @@ -2157,8 +2092,8 @@ packages: ecc-jsbn@0.1.2: resolution: {integrity: sha512-eh9O+hwRHNbG4BLTjEl3nw044CkGm5X6LoaCf7LPp7UU8Qrt47JYNi6nPX8xjW97TKGKm1ouctg0QSpZe9qrnw==} - electron-to-chromium@1.5.224: - resolution: {integrity: sha512-kWAoUu/bwzvnhpdZSIc6KUyvkI1rbRXMT0Eq8pKReyOyaPZcctMli+EgvcN1PAvwVc7Tdo4Fxi2PsLNDU05mdg==} + electron-to-chromium@1.5.228: + resolution: {integrity: sha512-nxkiyuqAn4MJ1QbobwqJILiDtu/jk14hEAWaMiJmNPh1Z+jqoFlBFZjdXwLWGeVSeu9hGLg6+2G9yJaW8rBIFA==} emoji-regex@10.5.0: resolution: {integrity: sha512-lb49vf1Xzfx080OKA0o6l8DQQpV+6Vg95zyCJX9VB/BqKYlhG7N4wgROUUHRA+ZPUefLnteQOad7z1kT2bV7bg==} @@ -2778,6 +2713,10 @@ packages: functions-have-names@1.2.3: resolution: {integrity: sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==} + generator-function@2.0.1: + resolution: {integrity: sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==} + engines: {node: '>= 0.4'} + gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} @@ -3192,8 +3131,8 @@ packages: resolution: {integrity: sha512-5XHYaSyiqADb4RnZ1Bdad6cPp8Toise4TzEjcOYDHZkTCbKgiUl7WTUCpNWHuxmDt91wnsZBc9xinNzopv3JMQ==} engines: {node: '>=18'} - is-generator-function@1.1.0: - resolution: {integrity: sha512-nPUB5km40q9e8UfN/Zc24eLlzdSf9OfKByBw9CIdw4H1giPMeA0OIJvbchsCu4npfI2QcMVBsGEBHKZ7wLTWmQ==} + is-generator-function@1.1.2: + resolution: {integrity: sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==} engines: {node: '>= 0.4'} is-get-set-prop@1.0.0: @@ -3373,8 +3312,8 @@ packages: resolution: {integrity: sha512-qjdpeo2yKlYTH7nFdK0vbZWuTCesk4o63v5iVOlhMQPfuIZQfW/HI35SjfhA+4qpg36rnFSvUK5b1m+ckIblQQ==} engines: {node: '>= 0.6.0'} - jiti@2.6.0: - resolution: {integrity: sha512-VXe6RjJkBPj0ohtqaO8vSWP3ZhAKo66fKrFNCll4BTcwljPLz03pCbaNKfzGP5MbrCYcbJ7v0nOYYwUzTEIdXQ==} + jiti@2.6.1: + resolution: {integrity: sha512-ekilCSN1jwRvIbgeg/57YFh8qQDNbwDb9xT/qu2DAHbFFZUicIl4ygVaAvzveMhMVr3LnpSKTNnwt8PoOfmKhQ==} hasBin: true js-tokens@4.0.0: @@ -3407,8 +3346,8 @@ packages: resolution: {integrity: sha512-TYzkACp/wPvDJLRY7qpHXtrhgwoAaojIOnLaaVNi+AbPU2u1kkjfKd9hXXTq0qSAGsyYXvwUXt99h9I5iCmjjw==} engines: {node: '>=12.0.0'} - jsdoc-type-pratt-parser@6.0.1: - resolution: {integrity: sha512-N2OCUHYmrEPSH3SDKvbri9gAsOvhyJ01142dRb2gnpOGjBqGkUI5r6EcFSVXtLPUoUFTuh/TYMHTIEGpobqT5w==} + jsdoc-type-pratt-parser@6.1.2: + resolution: {integrity: sha512-ruy+JcplsWkqnYq1m/qokaErhEURwf/vhdTzlPNpei7RJabVWxPxGWoCPSCP0sbsz03d590hTkjLdXjyMxH0iA==} engines: {node: '>=20.0.0'} jsdom@6.5.1: @@ -3835,8 +3774,8 @@ packages: resolution: {integrity: sha512-9qny7Z9DsQU8Ou39ERsPU4OZQlSTP47ShQzuKZ6PRXpYLtIFgl/DEBYEXKlvcEa+9tHVcK8CF81Y2V72qaZhWA==} engines: {node: '>=18'} - npm@10.9.3: - resolution: {integrity: sha512-6Eh1u5Q+kIVXeA8e7l2c/HpnFFcwrkt37xDMujD5be1gloWa9p6j3Fsv3mByXXmqJHy+2cElRMML8opNT7xIJQ==} + npm@10.9.4: + resolution: {integrity: sha512-OnUG836FwboQIbqtefDNlyR0gTHzIfwRfE3DuiNewBvnMnWEpB0VEXwBlFVgqpNzIgYo/MHh3d2Hel/pszapAA==} engines: {node: ^18.17.0 || >=20.5.0} hasBin: true bundledDependencies: @@ -4859,8 +4798,8 @@ packages: engines: {node: '>=14.17'} hasBin: true - typescript@5.9.2: - resolution: {integrity: sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==} + typescript@5.9.3: + resolution: {integrity: sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==} engines: {node: '>=14.17'} hasBin: true @@ -5211,11 +5150,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/eslint-parser@7.28.4(@babel/core@7.28.4)(eslint@9.36.0(jiti@2.6.0))': + '@babel/eslint-parser@7.28.4(@babel/core@7.28.4)(eslint@9.36.0(jiti@2.6.1))': dependencies: '@babel/core': 7.28.4 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) eslint-visitor-keys: 2.1.0 semver: 6.3.1 @@ -5911,15 +5850,15 @@ snapshots: '@es-joy/estraverse@7.1.1': {} - '@es-joy/jsdoc-eslint-parser@0.24.0(jiti@2.6.0)': + '@es-joy/jsdoc-eslint-parser@0.24.0(jiti@2.6.1)': dependencies: '@babel/core': 7.28.4 - '@babel/eslint-parser': 7.28.4(@babel/core@7.28.4)(eslint@9.36.0(jiti@2.6.0)) + '@babel/eslint-parser': 7.28.4(@babel/core@7.28.4)(eslint@9.36.0(jiti@2.6.1)) '@es-joy/jsdoccomment': 0.62.0 - '@typescript-eslint/parser': 8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - eslint: 9.36.0(jiti@2.6.0) + '@typescript-eslint/parser': 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.36.0(jiti@2.6.1) esquery: 1.6.0 - typescript: 5.9.2 + typescript: 5.9.3 transitivePeerDependencies: - jiti - supports-color @@ -5940,17 +5879,17 @@ snapshots: esquery: 1.6.0 jsdoc-type-pratt-parser: 5.9.2 - '@es-joy/jsdoccomment@0.64.0': + '@es-joy/jsdoccomment@0.65.2': dependencies: '@types/estree': 1.0.8 '@typescript-eslint/types': 8.45.0 comment-parser: 1.4.1 esquery: 1.6.0 - jsdoc-type-pratt-parser: 6.0.1 + jsdoc-type-pratt-parser: 6.1.2 - '@eslint-community/eslint-utils@4.9.0(eslint@9.36.0(jiti@2.6.0))': + '@eslint-community/eslint-utils@4.9.0(eslint@9.36.0(jiti@2.6.1))': dependencies: - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) eslint-visitor-keys: 3.4.3 '@eslint-community/regexpp@4.12.1': {} @@ -5998,16 +5937,16 @@ snapshots: '@fastify/busboy@3.2.0': {} - '@graphql-eslint/eslint-plugin@4.4.0(@types/node@24.6.0)(eslint@9.36.0(jiti@2.6.0))(graphql@16.11.0)(typescript@5.9.2)': + '@graphql-eslint/eslint-plugin@4.4.0(@types/node@24.6.1)(eslint@9.36.0(jiti@2.6.1))(graphql@16.11.0)(typescript@5.9.3)': dependencies: '@graphql-tools/code-file-loader': 8.1.22(graphql@16.11.0) '@graphql-tools/graphql-tag-pluck': 8.3.21(graphql@16.11.0) '@graphql-tools/utils': 10.9.1(graphql@16.11.0) debug: 4.4.3(supports-color@8.1.1) - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) fast-glob: 3.3.3 graphql: 16.11.0 - graphql-config: 5.1.5(@types/node@24.6.0)(graphql@16.11.0)(typescript@5.9.2) + graphql-config: 5.1.5(@types/node@24.6.1)(graphql@16.11.0)(typescript@5.9.3) graphql-depth-limit: 1.1.0(graphql@16.11.0) lodash.lowercase: 4.3.0 transitivePeerDependencies: @@ -6084,7 +6023,7 @@ snapshots: - uWebSockets.js - utf-8-validate - '@graphql-tools/executor-http@1.3.3(@types/node@24.6.0)(graphql@16.11.0)': + '@graphql-tools/executor-http@1.3.3(@types/node@24.6.1)(graphql@16.11.0)': dependencies: '@graphql-hive/signal': 1.0.0 '@graphql-tools/executor-common': 0.0.4(graphql@16.11.0) @@ -6094,7 +6033,7 @@ snapshots: '@whatwg-node/fetch': 0.10.11 '@whatwg-node/promise-helpers': 1.3.2 graphql: 16.11.0 - meros: 1.3.2(@types/node@24.6.0) + meros: 1.3.2(@types/node@24.6.1) tslib: 2.8.1 transitivePeerDependencies: - '@types/node' @@ -6184,10 +6123,10 @@ snapshots: graphql: 16.11.0 tslib: 2.8.1 - '@graphql-tools/url-loader@8.0.33(@types/node@24.6.0)(graphql@16.11.0)': + '@graphql-tools/url-loader@8.0.33(@types/node@24.6.1)(graphql@16.11.0)': dependencies: '@graphql-tools/executor-graphql-ws': 2.0.7(graphql@16.11.0) - '@graphql-tools/executor-http': 1.3.3(@types/node@24.6.0)(graphql@16.11.0) + '@graphql-tools/executor-http': 1.3.3(@types/node@24.6.1)(graphql@16.11.0) '@graphql-tools/executor-legacy-ws': 1.1.19(graphql@16.11.0) '@graphql-tools/utils': 10.9.1(graphql@16.11.0) '@graphql-tools/wrap': 10.1.4(graphql@16.11.0) @@ -6229,9 +6168,9 @@ snapshots: dependencies: graphql: 16.11.0 - '@hkdobrev/run-if-changed@0.6.3(typescript@5.9.2)': + '@hkdobrev/run-if-changed@0.6.3(typescript@5.9.3)': dependencies: - cosmiconfig: 9.0.0(typescript@5.9.2) + cosmiconfig: 9.0.0(typescript@5.9.3) execa: 9.6.0 listr2: 8.3.3 micromatch: 4.0.8 @@ -6350,65 +6289,59 @@ snapshots: '@octokit/auth-token@6.0.0': {} - '@octokit/core@7.0.4': + '@octokit/core@7.0.5': dependencies: '@octokit/auth-token': 6.0.0 - '@octokit/graphql': 9.0.1 - '@octokit/request': 10.0.3 - '@octokit/request-error': 7.0.0 + '@octokit/graphql': 9.0.2 + '@octokit/request': 10.0.5 + '@octokit/request-error': 7.0.1 '@octokit/types': 15.0.0 before-after-hook: 4.0.0 universal-user-agent: 7.0.3 - '@octokit/endpoint@11.0.0': + '@octokit/endpoint@11.0.1': dependencies: - '@octokit/types': 14.1.0 + '@octokit/types': 15.0.0 universal-user-agent: 7.0.3 - '@octokit/graphql@9.0.1': + '@octokit/graphql@9.0.2': dependencies: - '@octokit/request': 10.0.3 - '@octokit/types': 14.1.0 + '@octokit/request': 10.0.5 + '@octokit/types': 15.0.0 universal-user-agent: 7.0.3 - '@octokit/openapi-types@25.1.0': {} - '@octokit/openapi-types@26.0.0': {} - '@octokit/plugin-paginate-rest@13.1.1(@octokit/core@7.0.4)': + '@octokit/plugin-paginate-rest@13.2.0(@octokit/core@7.0.5)': dependencies: - '@octokit/core': 7.0.4 - '@octokit/types': 14.1.0 + '@octokit/core': 7.0.5 + '@octokit/types': 15.0.0 - '@octokit/plugin-retry@8.0.1(@octokit/core@7.0.4)': + '@octokit/plugin-retry@8.0.2(@octokit/core@7.0.5)': dependencies: - '@octokit/core': 7.0.4 - '@octokit/request-error': 7.0.0 - '@octokit/types': 14.1.0 + '@octokit/core': 7.0.5 + '@octokit/request-error': 7.0.1 + '@octokit/types': 15.0.0 bottleneck: 2.19.5 - '@octokit/plugin-throttling@11.0.1(@octokit/core@7.0.4)': + '@octokit/plugin-throttling@11.0.2(@octokit/core@7.0.5)': dependencies: - '@octokit/core': 7.0.4 - '@octokit/types': 14.1.0 + '@octokit/core': 7.0.5 + '@octokit/types': 15.0.0 bottleneck: 2.19.5 - '@octokit/request-error@7.0.0': + '@octokit/request-error@7.0.1': dependencies: - '@octokit/types': 14.1.0 + '@octokit/types': 15.0.0 - '@octokit/request@10.0.3': + '@octokit/request@10.0.5': dependencies: - '@octokit/endpoint': 11.0.0 - '@octokit/request-error': 7.0.0 - '@octokit/types': 14.1.0 + '@octokit/endpoint': 11.0.1 + '@octokit/request-error': 7.0.1 + '@octokit/types': 15.0.0 fast-content-type-parse: 3.0.0 universal-user-agent: 7.0.3 - '@octokit/types@14.1.0': - dependencies: - '@octokit/openapi-types': 25.1.0 - '@octokit/types@15.0.0': dependencies: '@octokit/openapi-types': 26.0.0 @@ -6434,7 +6367,7 @@ snapshots: '@sec-ant/readable-stream@0.4.1': {} - '@semantic-release/commit-analyzer@13.0.1(semantic-release@24.2.9(typescript@5.9.2))': + '@semantic-release/commit-analyzer@13.0.1(semantic-release@24.2.9(typescript@5.9.3))': dependencies: conventional-changelog-angular: 8.0.0 conventional-changelog-writer: 8.2.0 @@ -6444,18 +6377,18 @@ snapshots: import-from-esm: 2.0.0 lodash-es: 4.17.21 micromatch: 4.0.8 - semantic-release: 24.2.9(typescript@5.9.2) + semantic-release: 24.2.9(typescript@5.9.3) transitivePeerDependencies: - supports-color '@semantic-release/error@4.0.0': {} - '@semantic-release/github@11.0.6(semantic-release@24.2.9(typescript@5.9.2))': + '@semantic-release/github@11.0.6(semantic-release@24.2.9(typescript@5.9.3))': dependencies: - '@octokit/core': 7.0.4 - '@octokit/plugin-paginate-rest': 13.1.1(@octokit/core@7.0.4) - '@octokit/plugin-retry': 8.0.1(@octokit/core@7.0.4) - '@octokit/plugin-throttling': 11.0.1(@octokit/core@7.0.4) + '@octokit/core': 7.0.5 + '@octokit/plugin-paginate-rest': 13.2.0(@octokit/core@7.0.5) + '@octokit/plugin-retry': 8.0.2(@octokit/core@7.0.5) + '@octokit/plugin-throttling': 11.0.2(@octokit/core@7.0.5) '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 debug: 4.4.3(supports-color@8.1.1) @@ -6466,13 +6399,13 @@ snapshots: lodash-es: 4.17.21 mime: 4.1.0 p-filter: 4.1.0 - semantic-release: 24.2.9(typescript@5.9.2) + semantic-release: 24.2.9(typescript@5.9.3) tinyglobby: 0.2.15 url-join: 5.0.0 transitivePeerDependencies: - supports-color - '@semantic-release/npm@12.0.2(semantic-release@24.2.9(typescript@5.9.2))': + '@semantic-release/npm@12.0.2(semantic-release@24.2.9(typescript@5.9.3))': dependencies: '@semantic-release/error': 4.0.0 aggregate-error: 5.0.0 @@ -6481,15 +6414,15 @@ snapshots: lodash-es: 4.17.21 nerf-dart: 1.0.0 normalize-url: 8.1.0 - npm: 10.9.3 + npm: 10.9.4 rc: 1.2.8 read-pkg: 9.0.1 registry-auth-token: 5.1.0 - semantic-release: 24.2.9(typescript@5.9.2) + semantic-release: 24.2.9(typescript@5.9.3) semver: 7.7.2 tempy: 3.1.0 - '@semantic-release/release-notes-generator@14.1.0(semantic-release@24.2.9(typescript@5.9.2))': + '@semantic-release/release-notes-generator@14.1.0(semantic-release@24.2.9(typescript@5.9.3))': dependencies: conventional-changelog-angular: 8.0.0 conventional-changelog-writer: 8.2.0 @@ -6501,7 +6434,7 @@ snapshots: into-stream: 7.0.0 lodash-es: 4.17.21 read-package-up: 11.0.0 - semantic-release: 24.2.9(typescript@5.9.2) + semantic-release: 24.2.9(typescript@5.9.3) transitivePeerDependencies: - supports-color @@ -6509,10 +6442,10 @@ snapshots: '@sindresorhus/merge-streams@4.0.0': {} - '@stylistic/eslint-plugin@4.4.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2)': + '@stylistic/eslint-plugin@4.4.1(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/utils': 8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - eslint: 9.36.0(jiti@2.6.0) + '@typescript-eslint/utils': 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.36.0(jiti@2.6.1) eslint-visitor-keys: 4.2.1 espree: 10.4.0 estraverse: 5.3.0 @@ -6567,7 +6500,7 @@ snapshots: '@types/ms@2.1.0': {} - '@types/node@24.6.0': + '@types/node@24.6.1': dependencies: undici-types: 7.13.0 @@ -6579,150 +6512,73 @@ snapshots: '@types/ws@8.18.1': dependencies: - '@types/node': 24.6.0 + '@types/node': 24.6.1 - '@typescript-eslint/eslint-plugin@8.44.1(@typescript-eslint/parser@8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2)': + '@typescript-eslint/eslint-plugin@8.45.0(@typescript-eslint/parser@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - '@typescript-eslint/scope-manager': 8.44.1 - '@typescript-eslint/type-utils': 8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - '@typescript-eslint/utils': 8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - '@typescript-eslint/visitor-keys': 8.44.1 - eslint: 9.36.0(jiti@2.6.0) - graphemer: 1.4.0 - ignore: 7.0.5 - natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/eslint-plugin@8.45.0(@typescript-eslint/parser@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2)': - dependencies: - '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) + '@typescript-eslint/parser': 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/scope-manager': 8.45.0 - '@typescript-eslint/type-utils': 8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - '@typescript-eslint/utils': 8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) + '@typescript-eslint/type-utils': 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/utils': 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.45.0 - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) graphemer: 1.4.0 ignore: 7.0.5 natural-compare: 1.4.0 - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2)': - dependencies: - '@typescript-eslint/scope-manager': 8.44.1 - '@typescript-eslint/types': 8.44.1 - '@typescript-eslint/typescript-estree': 8.44.1(typescript@5.9.2) - '@typescript-eslint/visitor-keys': 8.44.1 - debug: 4.4.3(supports-color@8.1.1) - eslint: 9.36.0(jiti@2.6.0) - typescript: 5.9.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/parser@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2)': + '@typescript-eslint/parser@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/scope-manager': 8.45.0 '@typescript-eslint/types': 8.45.0 - '@typescript-eslint/typescript-estree': 8.45.0(typescript@5.9.2) + '@typescript-eslint/typescript-estree': 8.45.0(typescript@5.9.3) '@typescript-eslint/visitor-keys': 8.45.0 debug: 4.4.3(supports-color@8.1.1) - eslint: 9.36.0(jiti@2.6.0) - typescript: 5.9.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/project-service@8.44.1(typescript@5.9.2)': - dependencies: - '@typescript-eslint/tsconfig-utils': 8.44.1(typescript@5.9.2) - '@typescript-eslint/types': 8.45.0 - debug: 4.4.3(supports-color@8.1.1) - typescript: 5.9.2 + eslint: 9.36.0(jiti@2.6.1) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.45.0(typescript@5.9.2)': + '@typescript-eslint/project-service@8.45.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.45.0(typescript@5.9.2) + '@typescript-eslint/tsconfig-utils': 8.45.0(typescript@5.9.3) '@typescript-eslint/types': 8.45.0 debug: 4.4.3(supports-color@8.1.1) - typescript: 5.9.2 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.44.1': - dependencies: - '@typescript-eslint/types': 8.44.1 - '@typescript-eslint/visitor-keys': 8.44.1 - '@typescript-eslint/scope-manager@8.45.0': dependencies: '@typescript-eslint/types': 8.45.0 '@typescript-eslint/visitor-keys': 8.45.0 - '@typescript-eslint/tsconfig-utils@8.44.1(typescript@5.9.2)': - dependencies: - typescript: 5.9.2 - - '@typescript-eslint/tsconfig-utils@8.45.0(typescript@5.9.2)': + '@typescript-eslint/tsconfig-utils@8.45.0(typescript@5.9.3)': dependencies: - typescript: 5.9.2 + typescript: 5.9.3 - '@typescript-eslint/type-utils@8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2)': - dependencies: - '@typescript-eslint/types': 8.44.1 - '@typescript-eslint/typescript-estree': 8.44.1(typescript@5.9.2) - '@typescript-eslint/utils': 8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - debug: 4.4.3(supports-color@8.1.1) - eslint: 9.36.0(jiti@2.6.0) - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/type-utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2)': + '@typescript-eslint/type-utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: '@typescript-eslint/types': 8.45.0 - '@typescript-eslint/typescript-estree': 8.45.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) + '@typescript-eslint/typescript-estree': 8.45.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) debug: 4.4.3(supports-color@8.1.1) - eslint: 9.36.0(jiti@2.6.0) - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 + eslint: 9.36.0(jiti@2.6.1) + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.44.1': {} - '@typescript-eslint/types@8.45.0': {} - '@typescript-eslint/typescript-estree@8.44.1(typescript@5.9.2)': + '@typescript-eslint/typescript-estree@8.45.0(typescript@5.9.3)': dependencies: - '@typescript-eslint/project-service': 8.44.1(typescript@5.9.2) - '@typescript-eslint/tsconfig-utils': 8.44.1(typescript@5.9.2) - '@typescript-eslint/types': 8.44.1 - '@typescript-eslint/visitor-keys': 8.44.1 - debug: 4.4.3(supports-color@8.1.1) - fast-glob: 3.3.3 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/typescript-estree@8.45.0(typescript@5.9.2)': - dependencies: - '@typescript-eslint/project-service': 8.45.0(typescript@5.9.2) - '@typescript-eslint/tsconfig-utils': 8.45.0(typescript@5.9.2) + '@typescript-eslint/project-service': 8.45.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.45.0(typescript@5.9.3) '@typescript-eslint/types': 8.45.0 '@typescript-eslint/visitor-keys': 8.45.0 debug: 4.4.3(supports-color@8.1.1) @@ -6730,38 +6586,22 @@ snapshots: is-glob: 4.0.3 minimatch: 9.0.5 semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.9.2) - typescript: 5.9.2 - transitivePeerDependencies: - - supports-color - - '@typescript-eslint/utils@8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2)': - dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.0)) - '@typescript-eslint/scope-manager': 8.44.1 - '@typescript-eslint/types': 8.44.1 - '@typescript-eslint/typescript-estree': 8.44.1(typescript@5.9.2) - eslint: 9.36.0(jiti@2.6.0) - typescript: 5.9.2 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2)': + '@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.0)) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.1)) '@typescript-eslint/scope-manager': 8.45.0 '@typescript-eslint/types': 8.45.0 - '@typescript-eslint/typescript-estree': 8.45.0(typescript@5.9.2) - eslint: 9.36.0(jiti@2.6.0) - typescript: 5.9.2 + '@typescript-eslint/typescript-estree': 8.45.0(typescript@5.9.3) + eslint: 9.36.0(jiti@2.6.1) + typescript: 5.9.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.44.1': - dependencies: - '@typescript-eslint/types': 8.44.1 - eslint-visitor-keys: 4.2.1 - '@typescript-eslint/visitor-keys@8.45.0': dependencies: '@typescript-eslint/types': 8.45.0 @@ -6826,13 +6666,13 @@ snapshots: '@unrs/resolver-binding-win32-x64-msvc@1.11.1': optional: true - '@vitest/eslint-plugin@1.3.13(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2)': + '@vitest/eslint-plugin@1.3.13(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3)': dependencies: - '@typescript-eslint/scope-manager': 8.44.1 - '@typescript-eslint/utils': 8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - eslint: 9.36.0(jiti@2.6.0) + '@typescript-eslint/scope-manager': 8.45.0 + '@typescript-eslint/utils': 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.36.0(jiti@2.6.1) optionalDependencies: - typescript: 5.9.2 + typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -7065,7 +6905,7 @@ snapshots: balanced-match@1.0.2: {} - baseline-browser-mapping@2.8.7: {} + baseline-browser-mapping@2.8.9: {} bcrypt-pbkdf@1.0.2: dependencies: @@ -7101,9 +6941,9 @@ snapshots: browserslist@4.26.2: dependencies: - baseline-browser-mapping: 2.8.7 - caniuse-lite: 1.0.30001745 - electron-to-chromium: 1.5.224 + baseline-browser-mapping: 2.8.9 + caniuse-lite: 1.0.30001746 + electron-to-chromium: 1.5.228 node-releases: 2.0.21 update-browserslist-db: 1.1.3(browserslist@4.26.2) @@ -7168,7 +7008,7 @@ snapshots: camelcase@8.0.0: {} - caniuse-lite@1.0.30001745: {} + caniuse-lite@1.0.30001746: {} caseless@0.12.0: {} @@ -7355,23 +7195,23 @@ snapshots: core-util-is@1.0.3: {} - cosmiconfig@8.3.6(typescript@5.9.2): + cosmiconfig@8.3.6(typescript@5.9.3): dependencies: import-fresh: 3.3.1 js-yaml: 4.1.0 parse-json: 5.2.0 path-type: 4.0.0 optionalDependencies: - typescript: 5.9.2 + typescript: 5.9.3 - cosmiconfig@9.0.0(typescript@5.9.2): + cosmiconfig@9.0.0(typescript@5.9.3): dependencies: env-paths: 2.2.1 import-fresh: 3.3.1 js-yaml: 4.1.0 parse-json: 5.2.0 optionalDependencies: - typescript: 5.9.2 + typescript: 5.9.3 create-eslint-index@1.0.0: dependencies: @@ -7535,7 +7375,7 @@ snapshots: jsbn: 0.1.1 safer-buffer: 2.1.2 - electron-to-chromium@1.5.224: {} + electron-to-chromium@1.5.228: {} emoji-regex@10.5.0: {} @@ -7704,55 +7544,55 @@ snapshots: lodash.get: 4.4.2 lodash.zip: 4.2.0 - eslint-compat-utils@0.5.1(eslint@9.36.0(jiti@2.6.0)): + eslint-compat-utils@0.5.1(eslint@9.36.0(jiti@2.6.1)): dependencies: - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) semver: 7.7.2 - eslint-compat-utils@0.6.5(eslint@9.36.0(jiti@2.6.0)): + eslint-compat-utils@0.6.5(eslint@9.36.0(jiti@2.6.1)): dependencies: - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) semver: 7.7.2 - eslint-config-canonical@45.0.0(@types/node@24.6.0)(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2): + eslint-config-canonical@45.0.0(@types/node@24.6.1)(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@graphql-eslint/eslint-plugin': 4.4.0(@types/node@24.6.0)(eslint@9.36.0(jiti@2.6.0))(graphql@16.11.0)(typescript@5.9.2) + '@graphql-eslint/eslint-plugin': 4.4.0(@types/node@24.6.1)(eslint@9.36.0(jiti@2.6.1))(graphql@16.11.0)(typescript@5.9.3) '@next/eslint-plugin-next': 15.5.4 - '@stylistic/eslint-plugin': 4.4.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - '@typescript-eslint/eslint-plugin': 8.44.1(@typescript-eslint/parser@8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - '@typescript-eslint/parser': 8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - '@vitest/eslint-plugin': 1.3.13(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - eslint: 9.36.0(jiti@2.6.0) - eslint-config-prettier: 10.1.8(eslint@9.36.0(jiti@2.6.0)) - eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint@9.36.0(jiti@2.6.0)) - eslint-plugin-ava: 15.1.0(eslint@9.36.0(jiti@2.6.0)) - eslint-plugin-canonical: 5.1.3(@typescript-eslint/parser@8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - eslint-plugin-eslint-comments: 3.2.0(eslint@9.36.0(jiti@2.6.0)) - eslint-plugin-fp: 2.3.0(eslint@9.36.0(jiti@2.6.0)) - eslint-plugin-functional: 9.0.2(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - eslint-plugin-import: eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)) - eslint-plugin-jest: 28.14.0(@typescript-eslint/eslint-plugin@8.44.1(@typescript-eslint/parser@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - eslint-plugin-jsdoc: 50.8.0(eslint@9.36.0(jiti@2.6.0)) - eslint-plugin-jsonc: 2.20.1(eslint@9.36.0(jiti@2.6.0)) - eslint-plugin-jsx-a11y: 6.10.2(eslint@9.36.0(jiti@2.6.0)) - eslint-plugin-lodash: 8.0.0(eslint@9.36.0(jiti@2.6.0)) - eslint-plugin-mocha: 10.5.0(eslint@9.36.0(jiti@2.6.0)) + '@stylistic/eslint-plugin': 4.4.1(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/eslint-plugin': 8.45.0(@typescript-eslint/parser@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + '@vitest/eslint-plugin': 1.3.13(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.36.0(jiti@2.6.1) + eslint-config-prettier: 10.1.8(eslint@9.36.0(jiti@2.6.1)) + eslint-import-resolver-typescript: 4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint@9.36.0(jiti@2.6.1)) + eslint-plugin-ava: 15.1.0(eslint@9.36.0(jiti@2.6.1)) + eslint-plugin-canonical: 5.1.3(@typescript-eslint/parser@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + eslint-plugin-eslint-comments: 3.2.0(eslint@9.36.0(jiti@2.6.1)) + eslint-plugin-fp: 2.3.0(eslint@9.36.0(jiti@2.6.1)) + eslint-plugin-functional: 9.0.2(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + eslint-plugin-import: eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)) + eslint-plugin-jest: 28.14.0(@typescript-eslint/eslint-plugin@8.45.0(@typescript-eslint/parser@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + eslint-plugin-jsdoc: 50.8.0(eslint@9.36.0(jiti@2.6.1)) + eslint-plugin-jsonc: 2.20.1(eslint@9.36.0(jiti@2.6.1)) + eslint-plugin-jsx-a11y: 6.10.2(eslint@9.36.0(jiti@2.6.1)) + eslint-plugin-lodash: 8.0.0(eslint@9.36.0(jiti@2.6.1)) + eslint-plugin-mocha: 10.5.0(eslint@9.36.0(jiti@2.6.1)) eslint-plugin-modules-newline: 0.0.6 - eslint-plugin-n: 17.23.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - eslint-plugin-perfectionist: 4.15.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - eslint-plugin-prettier: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.36.0(jiti@2.6.0)))(eslint@9.36.0(jiti@2.6.0))(prettier@3.6.2) - eslint-plugin-promise: 7.2.1(eslint@9.36.0(jiti@2.6.0)) - eslint-plugin-react: 7.37.5(eslint@9.36.0(jiti@2.6.0)) - eslint-plugin-react-hooks: 5.2.0(eslint@9.36.0(jiti@2.6.0)) - eslint-plugin-regexp: 2.10.0(eslint@9.36.0(jiti@2.6.0)) - eslint-plugin-unicorn: 60.0.0(eslint@9.36.0(jiti@2.6.0)) - eslint-plugin-yml: 1.18.0(eslint@9.36.0(jiti@2.6.0)) - eslint-plugin-zod: 1.4.0(eslint@9.36.0(jiti@2.6.0)) + eslint-plugin-n: 17.23.1(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + eslint-plugin-perfectionist: 4.15.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + eslint-plugin-prettier: 5.5.4(eslint-config-prettier@10.1.8(eslint@9.36.0(jiti@2.6.1)))(eslint@9.36.0(jiti@2.6.1))(prettier@3.6.2) + eslint-plugin-promise: 7.2.1(eslint@9.36.0(jiti@2.6.1)) + eslint-plugin-react: 7.37.5(eslint@9.36.0(jiti@2.6.1)) + eslint-plugin-react-hooks: 5.2.0(eslint@9.36.0(jiti@2.6.1)) + eslint-plugin-regexp: 2.10.0(eslint@9.36.0(jiti@2.6.1)) + eslint-plugin-unicorn: 60.0.0(eslint@9.36.0(jiti@2.6.1)) + eslint-plugin-yml: 1.18.0(eslint@9.36.0(jiti@2.6.1)) + eslint-plugin-zod: 1.4.0(eslint@9.36.0(jiti@2.6.1)) globals: 16.4.0 graphql: 16.11.0 prettier: 3.6.2 ramda: 0.30.1 - typescript-eslint: 8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) + typescript-eslint: 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) yaml-eslint-parser: 1.3.0 transitivePeerDependencies: - '@apollo/subgraph' @@ -7775,9 +7615,9 @@ snapshots: - utf-8-validate - vitest - eslint-config-prettier@10.1.8(eslint@9.36.0(jiti@2.6.0)): + eslint-config-prettier@10.1.8(eslint@9.36.0(jiti@2.6.1)): dependencies: - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) eslint-import-context@0.1.9(unrs-resolver@1.11.1): dependencies: @@ -7786,26 +7626,26 @@ snapshots: optionalDependencies: unrs-resolver: 1.11.1 - eslint-import-resolver-typescript@3.10.1(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint@9.36.0(jiti@2.6.0)): + eslint-import-resolver-typescript@3.10.1(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint@9.36.0(jiti@2.6.1)): dependencies: '@nolyfill/is-core-module': 1.0.39 debug: 4.4.3(supports-color@8.1.1) - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) get-tsconfig: 4.10.1 is-bun-module: 2.0.0 stable-hash: 0.0.5 tinyglobby: 0.2.15 unrs-resolver: 1.11.1 optionalDependencies: - eslint-plugin-import: eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)) - eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)) + eslint-plugin-import: eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)) + eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)) transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint@9.36.0(jiti@2.6.0)): + eslint-import-resolver-typescript@4.4.4(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint@9.36.0(jiti@2.6.1)): dependencies: debug: 4.4.3(supports-color@8.1.1) - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) eslint-import-context: 0.1.9(unrs-resolver@1.11.1) get-tsconfig: 4.10.1 is-bun-module: 2.0.0 @@ -7813,32 +7653,32 @@ snapshots: tinyglobby: 0.2.15 unrs-resolver: 1.11.1 optionalDependencies: - eslint-plugin-import: eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)) - eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)) + eslint-plugin-import: eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)) + eslint-plugin-import-x: 4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)) transitivePeerDependencies: - supports-color - eslint-json-compat-utils@0.2.1(eslint@9.36.0(jiti@2.6.0))(jsonc-eslint-parser@2.4.1): + eslint-json-compat-utils@0.2.1(eslint@9.36.0(jiti@2.6.1))(jsonc-eslint-parser@2.4.1): dependencies: - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) esquery: 1.6.0 jsonc-eslint-parser: 2.4.1 - eslint-module-utils@2.12.1(@typescript-eslint/parser@8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint@9.36.0(jiti@2.6.0)))(eslint@9.36.0(jiti@2.6.0)): + eslint-module-utils@2.12.1(@typescript-eslint/parser@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint@9.36.0(jiti@2.6.1)))(eslint@9.36.0(jiti@2.6.1)): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - eslint: 9.36.0(jiti@2.6.0) - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint@9.36.0(jiti@2.6.0)) + '@typescript-eslint/parser': 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.36.0(jiti@2.6.1) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint@9.36.0(jiti@2.6.1)) transitivePeerDependencies: - supports-color - eslint-plugin-ava@15.1.0(eslint@9.36.0(jiti@2.6.0)): + eslint-plugin-ava@15.1.0(eslint@9.36.0(jiti@2.6.1)): dependencies: enhance-visitors: 1.0.0 - eslint: 9.36.0(jiti@2.6.0) - eslint-utils: 3.0.0(eslint@9.36.0(jiti@2.6.0)) + eslint: 9.36.0(jiti@2.6.1) + eslint-utils: 3.0.0(eslint@9.36.0(jiti@2.6.1)) espree: 9.6.1 espurify: 2.1.1 import-modules: 2.1.0 @@ -7846,14 +7686,14 @@ snapshots: pkg-dir: 5.0.0 resolve-from: 5.0.0 - eslint-plugin-canonical@5.1.3(@typescript-eslint/parser@8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2): + eslint-plugin-canonical@5.1.3(@typescript-eslint/parser@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@typescript-eslint/utils': 8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) + '@typescript-eslint/utils': 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) array-includes: 3.1.9 debug: 4.4.3(supports-color@8.1.1) doctrine: 3.0.0 - eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint@9.36.0(jiti@2.6.0)) - eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)))(eslint@9.36.0(jiti@2.6.0)))(eslint@9.36.0(jiti@2.6.0)) + eslint-import-resolver-typescript: 3.10.1(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint@9.36.0(jiti@2.6.1)) + eslint-module-utils: 2.12.1(@typescript-eslint/parser@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint-import-resolver-typescript@3.10.1(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)))(eslint@9.36.0(jiti@2.6.1)))(eslint@9.36.0(jiti@2.6.1)) is-get-set-prop: 1.0.0 is-js-type: 2.0.0 is-obj-prop: 1.0.0 @@ -7873,47 +7713,47 @@ snapshots: - supports-color - typescript - eslint-plugin-es-x@7.8.0(eslint@9.36.0(jiti@2.6.0)): + eslint-plugin-es-x@7.8.0(eslint@9.36.0(jiti@2.6.1)): dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.0)) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.1 - eslint: 9.36.0(jiti@2.6.0) - eslint-compat-utils: 0.5.1(eslint@9.36.0(jiti@2.6.0)) + eslint: 9.36.0(jiti@2.6.1) + eslint-compat-utils: 0.5.1(eslint@9.36.0(jiti@2.6.1)) - eslint-plugin-eslint-comments@3.2.0(eslint@9.36.0(jiti@2.6.0)): + eslint-plugin-eslint-comments@3.2.0(eslint@9.36.0(jiti@2.6.1)): dependencies: escape-string-regexp: 1.0.5 - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) ignore: 5.3.2 - eslint-plugin-fp@2.3.0(eslint@9.36.0(jiti@2.6.0)): + eslint-plugin-fp@2.3.0(eslint@9.36.0(jiti@2.6.1)): dependencies: create-eslint-index: 1.0.0 - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) eslint-ast-utils: 1.1.0 lodash: 4.17.21 req-all: 0.1.0 - eslint-plugin-functional@9.0.2(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2): + eslint-plugin-functional@9.0.2(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@typescript-eslint/utils': 8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) + '@typescript-eslint/utils': 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) deepmerge-ts: 7.1.5 escape-string-regexp: 5.0.0 - eslint: 9.36.0(jiti@2.6.0) - is-immutable-type: 5.0.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - ts-api-utils: 2.1.0(typescript@5.9.2) - ts-declaration-location: 1.0.7(typescript@5.9.2) + eslint: 9.36.0(jiti@2.6.1) + is-immutable-type: 5.0.1(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + ts-api-utils: 2.1.0(typescript@5.9.3) + ts-declaration-location: 1.0.7(typescript@5.9.3) optionalDependencies: - typescript: 5.9.2 + typescript: 5.9.3 transitivePeerDependencies: - supports-color - eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0)): + eslint-plugin-import-x@4.16.1(@typescript-eslint/utils@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1)): dependencies: '@typescript-eslint/types': 8.45.0 comment-parser: 1.4.1 debug: 4.4.3(supports-color@8.1.1) - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) eslint-import-context: 0.1.9(unrs-resolver@1.11.1) is-glob: 4.0.3 minimatch: 10.0.3 @@ -7921,28 +7761,28 @@ snapshots: stable-hash-x: 0.2.0 unrs-resolver: 1.11.1 optionalDependencies: - '@typescript-eslint/utils': 8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) + '@typescript-eslint/utils': 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - supports-color - eslint-plugin-jest@28.14.0(@typescript-eslint/eslint-plugin@8.44.1(@typescript-eslint/parser@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2): + eslint-plugin-jest@28.14.0(@typescript-eslint/eslint-plugin@8.45.0(@typescript-eslint/parser@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@typescript-eslint/utils': 8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - eslint: 9.36.0(jiti@2.6.0) + '@typescript-eslint/utils': 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.36.0(jiti@2.6.1) optionalDependencies: - '@typescript-eslint/eslint-plugin': 8.44.1(@typescript-eslint/parser@8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) + '@typescript-eslint/eslint-plugin': 8.45.0(@typescript-eslint/parser@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-jsdoc@50.8.0(eslint@9.36.0(jiti@2.6.0)): + eslint-plugin-jsdoc@50.8.0(eslint@9.36.0(jiti@2.6.1)): dependencies: '@es-joy/jsdoccomment': 0.50.2 are-docs-informative: 0.0.2 comment-parser: 1.4.1 debug: 4.4.3(supports-color@8.1.1) escape-string-regexp: 4.0.0 - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) espree: 10.4.0 esquery: 1.6.0 parse-imports-exports: 0.2.4 @@ -7951,12 +7791,12 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-jsonc@2.20.1(eslint@9.36.0(jiti@2.6.0)): + eslint-plugin-jsonc@2.20.1(eslint@9.36.0(jiti@2.6.1)): dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.0)) - eslint: 9.36.0(jiti@2.6.0) - eslint-compat-utils: 0.6.5(eslint@9.36.0(jiti@2.6.0)) - eslint-json-compat-utils: 0.2.1(eslint@9.36.0(jiti@2.6.0))(jsonc-eslint-parser@2.4.1) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.1)) + eslint: 9.36.0(jiti@2.6.1) + eslint-compat-utils: 0.6.5(eslint@9.36.0(jiti@2.6.1)) + eslint-json-compat-utils: 0.2.1(eslint@9.36.0(jiti@2.6.1))(jsonc-eslint-parser@2.4.1) espree: 10.4.0 graphemer: 1.4.0 jsonc-eslint-parser: 2.4.1 @@ -7965,7 +7805,7 @@ snapshots: transitivePeerDependencies: - '@eslint/json' - eslint-plugin-jsx-a11y@6.10.2(eslint@9.36.0(jiti@2.6.0)): + eslint-plugin-jsx-a11y@6.10.2(eslint@9.36.0(jiti@2.6.1)): dependencies: aria-query: 5.3.2 array-includes: 3.1.9 @@ -7975,7 +7815,7 @@ snapshots: axobject-query: 4.1.0 damerau-levenshtein: 1.0.8 emoji-regex: 9.2.2 - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) hasown: 2.0.2 jsx-ast-utils: 3.3.5 language-tags: 1.0.9 @@ -7984,15 +7824,15 @@ snapshots: safe-regex-test: 1.1.0 string.prototype.includes: 2.0.1 - eslint-plugin-lodash@8.0.0(eslint@9.36.0(jiti@2.6.0)): + eslint-plugin-lodash@8.0.0(eslint@9.36.0(jiti@2.6.1)): dependencies: - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) lodash: 4.17.21 - eslint-plugin-mocha@10.5.0(eslint@9.36.0(jiti@2.6.0)): + eslint-plugin-mocha@10.5.0(eslint@9.36.0(jiti@2.6.1)): dependencies: - eslint: 9.36.0(jiti@2.6.0) - eslint-utils: 3.0.0(eslint@9.36.0(jiti@2.6.0)) + eslint: 9.36.0(jiti@2.6.1) + eslint-utils: 3.0.0(eslint@9.36.0(jiti@2.6.1)) globals: 13.24.0 rambda: 7.5.0 @@ -8000,50 +7840,50 @@ snapshots: dependencies: requireindex: 1.1.0 - eslint-plugin-n@17.23.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2): + eslint-plugin-n@17.23.1(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.0)) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.1)) enhanced-resolve: 5.18.3 - eslint: 9.36.0(jiti@2.6.0) - eslint-plugin-es-x: 7.8.0(eslint@9.36.0(jiti@2.6.0)) + eslint: 9.36.0(jiti@2.6.1) + eslint-plugin-es-x: 7.8.0(eslint@9.36.0(jiti@2.6.1)) get-tsconfig: 4.10.1 globals: 15.15.0 globrex: 0.1.2 ignore: 5.3.2 semver: 7.7.2 - ts-declaration-location: 1.0.7(typescript@5.9.2) + ts-declaration-location: 1.0.7(typescript@5.9.3) transitivePeerDependencies: - typescript - eslint-plugin-perfectionist@4.15.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2): + eslint-plugin-perfectionist@4.15.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3): dependencies: '@typescript-eslint/types': 8.45.0 - '@typescript-eslint/utils': 8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - eslint: 9.36.0(jiti@2.6.0) + '@typescript-eslint/utils': 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.36.0(jiti@2.6.1) natural-orderby: 5.0.0 transitivePeerDependencies: - supports-color - typescript - eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.36.0(jiti@2.6.0)))(eslint@9.36.0(jiti@2.6.0))(prettier@3.6.2): + eslint-plugin-prettier@5.5.4(eslint-config-prettier@10.1.8(eslint@9.36.0(jiti@2.6.1)))(eslint@9.36.0(jiti@2.6.1))(prettier@3.6.2): dependencies: - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) prettier: 3.6.2 prettier-linter-helpers: 1.0.0 synckit: 0.11.11 optionalDependencies: - eslint-config-prettier: 10.1.8(eslint@9.36.0(jiti@2.6.0)) + eslint-config-prettier: 10.1.8(eslint@9.36.0(jiti@2.6.1)) - eslint-plugin-promise@7.2.1(eslint@9.36.0(jiti@2.6.0)): + eslint-plugin-promise@7.2.1(eslint@9.36.0(jiti@2.6.1)): dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.0)) - eslint: 9.36.0(jiti@2.6.0) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.1)) + eslint: 9.36.0(jiti@2.6.1) - eslint-plugin-react-hooks@5.2.0(eslint@9.36.0(jiti@2.6.0)): + eslint-plugin-react-hooks@5.2.0(eslint@9.36.0(jiti@2.6.1)): dependencies: - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) - eslint-plugin-react@7.37.5(eslint@9.36.0(jiti@2.6.0)): + eslint-plugin-react@7.37.5(eslint@9.36.0(jiti@2.6.1)): dependencies: array-includes: 3.1.9 array.prototype.findlast: 1.2.5 @@ -8051,7 +7891,7 @@ snapshots: array.prototype.tosorted: 1.1.4 doctrine: 2.1.0 es-iterator-helpers: 1.2.1 - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) estraverse: 5.3.0 hasown: 2.0.2 jsx-ast-utils: 3.3.5 @@ -8065,27 +7905,27 @@ snapshots: string.prototype.matchall: 4.0.12 string.prototype.repeat: 1.0.0 - eslint-plugin-regexp@2.10.0(eslint@9.36.0(jiti@2.6.0)): + eslint-plugin-regexp@2.10.0(eslint@9.36.0(jiti@2.6.1)): dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.0)) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.1 comment-parser: 1.4.1 - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) jsdoc-type-pratt-parser: 4.8.0 refa: 0.12.1 regexp-ast-analysis: 0.7.1 scslre: 0.3.0 - eslint-plugin-unicorn@60.0.0(eslint@9.36.0(jiti@2.6.0)): + eslint-plugin-unicorn@60.0.0(eslint@9.36.0(jiti@2.6.1)): dependencies: '@babel/helper-validator-identifier': 7.27.1 - '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.0)) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.1)) '@eslint/plugin-kit': 0.3.5 change-case: 5.4.4 ci-info: 4.3.0 clean-regexp: 1.0.0 core-js-compat: 3.45.1 - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) esquery: 1.6.0 find-up-simple: 1.0.1 globals: 16.4.0 @@ -8098,20 +7938,20 @@ snapshots: semver: 7.7.2 strip-indent: 4.1.0 - eslint-plugin-yml@1.18.0(eslint@9.36.0(jiti@2.6.0)): + eslint-plugin-yml@1.18.0(eslint@9.36.0(jiti@2.6.1)): dependencies: debug: 4.4.3(supports-color@8.1.1) escape-string-regexp: 4.0.0 - eslint: 9.36.0(jiti@2.6.0) - eslint-compat-utils: 0.6.5(eslint@9.36.0(jiti@2.6.0)) + eslint: 9.36.0(jiti@2.6.1) + eslint-compat-utils: 0.6.5(eslint@9.36.0(jiti@2.6.1)) natural-compare: 1.4.0 yaml-eslint-parser: 1.3.0 transitivePeerDependencies: - supports-color - eslint-plugin-zod@1.4.0(eslint@9.36.0(jiti@2.6.0)): + eslint-plugin-zod@1.4.0(eslint@9.36.0(jiti@2.6.1)): dependencies: - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) eslint-scope@5.1.1: dependencies: @@ -8123,9 +7963,9 @@ snapshots: esrecurse: 4.3.0 estraverse: 5.3.0 - eslint-utils@3.0.0(eslint@9.36.0(jiti@2.6.0)): + eslint-utils@3.0.0(eslint@9.36.0(jiti@2.6.1)): dependencies: - eslint: 9.36.0(jiti@2.6.0) + eslint: 9.36.0(jiti@2.6.1) eslint-visitor-keys: 2.1.0 eslint-visitor-keys@2.1.0: {} @@ -8134,9 +7974,9 @@ snapshots: eslint-visitor-keys@4.2.1: {} - eslint@9.36.0(jiti@2.6.0): + eslint@9.36.0(jiti@2.6.1): dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.0)) + '@eslint-community/eslint-utils': 4.9.0(eslint@9.36.0(jiti@2.6.1)) '@eslint-community/regexpp': 4.12.1 '@eslint/config-array': 0.21.0 '@eslint/config-helpers': 0.3.1 @@ -8172,7 +8012,7 @@ snapshots: natural-compare: 1.4.0 optionator: 0.9.4 optionalDependencies: - jiti: 2.6.0 + jiti: 2.6.1 transitivePeerDependencies: - supports-color @@ -8399,6 +8239,8 @@ snapshots: functions-have-names@1.2.3: {} + generator-function@2.0.1: {} + gensync@1.0.0-beta.2: {} get-caller-file@2.0.5: {} @@ -8561,17 +8403,17 @@ snapshots: graphemer@1.4.0: {} - graphql-config@5.1.5(@types/node@24.6.0)(graphql@16.11.0)(typescript@5.9.2): + graphql-config@5.1.5(@types/node@24.6.1)(graphql@16.11.0)(typescript@5.9.3): dependencies: '@graphql-tools/graphql-file-loader': 8.1.2(graphql@16.11.0) '@graphql-tools/json-file-loader': 8.0.20(graphql@16.11.0) '@graphql-tools/load': 8.1.2(graphql@16.11.0) '@graphql-tools/merge': 9.1.1(graphql@16.11.0) - '@graphql-tools/url-loader': 8.0.33(@types/node@24.6.0)(graphql@16.11.0) + '@graphql-tools/url-loader': 8.0.33(@types/node@24.6.1)(graphql@16.11.0) '@graphql-tools/utils': 10.9.1(graphql@16.11.0) - cosmiconfig: 8.3.6(typescript@5.9.2) + cosmiconfig: 8.3.6(typescript@5.9.3) graphql: 16.11.0 - jiti: 2.6.0 + jiti: 2.6.1 minimatch: 9.0.5 string-env-interpolation: 1.0.1 tslib: 2.8.1 @@ -8827,9 +8669,10 @@ snapshots: dependencies: get-east-asian-width: 1.4.0 - is-generator-function@1.1.0: + is-generator-function@1.1.2: dependencies: call-bound: 1.0.4 + generator-function: 2.0.1 get-proto: 1.0.1 has-tostringtag: 1.0.2 safe-regex-test: 1.1.0 @@ -8843,13 +8686,13 @@ snapshots: dependencies: is-extglob: 2.1.1 - is-immutable-type@5.0.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2): + is-immutable-type@5.0.1(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@typescript-eslint/type-utils': 8.44.1(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - eslint: 9.36.0(jiti@2.6.0) - ts-api-utils: 2.1.0(typescript@5.9.2) - ts-declaration-location: 1.0.7(typescript@5.9.2) - typescript: 5.9.2 + '@typescript-eslint/type-utils': 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.36.0(jiti@2.6.1) + ts-api-utils: 2.1.0(typescript@5.9.3) + ts-declaration-location: 1.0.7(typescript@5.9.3) + typescript: 5.9.3 transitivePeerDependencies: - supports-color @@ -9013,7 +8856,7 @@ snapshots: java-properties@1.0.2: {} - jiti@2.6.0: {} + jiti@2.6.1: {} js-tokens@4.0.0: {} @@ -9036,7 +8879,7 @@ snapshots: jsdoc-type-pratt-parser@5.9.2: {} - jsdoc-type-pratt-parser@6.0.1: {} + jsdoc-type-pratt-parser@6.1.2: {} jsdom@6.5.1: dependencies: @@ -9315,9 +9158,9 @@ snapshots: merge2@1.4.1: {} - meros@1.3.2(@types/node@24.6.0): + meros@1.3.2(@types/node@24.6.1): optionalDependencies: - '@types/node': 24.6.0 + '@types/node': 24.6.1 micro-spelling-correcter@1.1.1: {} @@ -9522,7 +9365,7 @@ snapshots: path-key: 4.0.0 unicorn-magic: 0.3.0 - npm@10.9.3: {} + npm@10.9.4: {} nwmatcher@1.4.4: {} @@ -10055,15 +9898,15 @@ snapshots: refa: 0.12.1 regexp-ast-analysis: 0.7.1 - semantic-release@24.2.9(typescript@5.9.2): + semantic-release@24.2.9(typescript@5.9.3): dependencies: - '@semantic-release/commit-analyzer': 13.0.1(semantic-release@24.2.9(typescript@5.9.2)) + '@semantic-release/commit-analyzer': 13.0.1(semantic-release@24.2.9(typescript@5.9.3)) '@semantic-release/error': 4.0.0 - '@semantic-release/github': 11.0.6(semantic-release@24.2.9(typescript@5.9.2)) - '@semantic-release/npm': 12.0.2(semantic-release@24.2.9(typescript@5.9.2)) - '@semantic-release/release-notes-generator': 14.1.0(semantic-release@24.2.9(typescript@5.9.2)) + '@semantic-release/github': 11.0.6(semantic-release@24.2.9(typescript@5.9.3)) + '@semantic-release/npm': 12.0.2(semantic-release@24.2.9(typescript@5.9.3)) + '@semantic-release/release-notes-generator': 14.1.0(semantic-release@24.2.9(typescript@5.9.3)) aggregate-error: 5.0.0 - cosmiconfig: 9.0.0(typescript@5.9.2) + cosmiconfig: 9.0.0(typescript@5.9.3) debug: 4.4.3(supports-color@8.1.1) env-ci: 11.2.0 execa: 9.6.0 @@ -10498,14 +10341,14 @@ snapshots: traverse@0.6.8: {} - ts-api-utils@2.1.0(typescript@5.9.2): + ts-api-utils@2.1.0(typescript@5.9.3): dependencies: - typescript: 5.9.2 + typescript: 5.9.3 - ts-declaration-location@1.0.7(typescript@5.9.2): + ts-declaration-location@1.0.7(typescript@5.9.3): dependencies: picomatch: 4.0.3 - typescript: 5.9.2 + typescript: 5.9.3 tsconfig-paths@4.2.0: dependencies: @@ -10572,20 +10415,20 @@ snapshots: possible-typed-array-names: 1.1.0 reflect.getprototypeof: 1.0.10 - typescript-eslint@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2): + typescript-eslint@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.45.0(@typescript-eslint/parser@8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2))(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - '@typescript-eslint/parser': 8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - '@typescript-eslint/typescript-estree': 8.45.0(typescript@5.9.2) - '@typescript-eslint/utils': 8.45.0(eslint@9.36.0(jiti@2.6.0))(typescript@5.9.2) - eslint: 9.36.0(jiti@2.6.0) - typescript: 5.9.2 + '@typescript-eslint/eslint-plugin': 8.45.0(@typescript-eslint/parser@8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3))(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/parser': 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + '@typescript-eslint/typescript-estree': 8.45.0(typescript@5.9.3) + '@typescript-eslint/utils': 8.45.0(eslint@9.36.0(jiti@2.6.1))(typescript@5.9.3) + eslint: 9.36.0(jiti@2.6.1) + typescript: 5.9.3 transitivePeerDependencies: - supports-color typescript@5.6.1-rc: {} - typescript@5.9.2: {} + typescript@5.9.3: {} uglify-js@3.19.3: optional: true @@ -10736,7 +10579,7 @@ snapshots: is-async-function: 2.1.1 is-date-object: 1.1.0 is-finalizationregistry: 1.1.1 - is-generator-function: 1.1.0 + is-generator-function: 1.1.2 is-regex: 1.2.1 is-weakref: 1.1.1 isarray: 2.0.5 diff --git a/src/jsdocUtils.js b/src/jsdocUtils.js index a9dc75bcc..b1b4f170f 100644 --- a/src/jsdocUtils.js +++ b/src/jsdocUtils.js @@ -962,7 +962,7 @@ const mayBeUndefinedTypeTag = (tag, mode) => { // We do not traverse deeply as it could be, e.g., `Promise` parsedTypes && parsedTypes.type === 'JsdocTypeUnion' && - parsedTypes.elements.find((elem) => { + parsedTypes.elements.some((elem) => { return elem.type === 'JsdocTypeUndefined' || elem.type === 'JsdocTypeName' && elem.value === 'void'; })) { @@ -1845,6 +1845,21 @@ const getRegexFromString = (regexString, requiredFlags) => { return new RegExp(regex, flags); }; +const strictNativeTypes = [ + 'undefined', + 'null', + 'boolean', + 'number', + 'bigint', + 'string', + 'symbol', + 'object', + 'Array', + 'Function', + 'Date', + 'RegExp', +]; + export { comparePaths, dropPathSegmentQuotes, @@ -1885,6 +1900,7 @@ export { parseClosureTemplateTag, pathDoesNotBeginWith, setTagStructure, + strictNativeTypes, tagMightHaveEitherTypeOrNamePosition, tagMightHaveNamepath, tagMightHaveNamePosition, diff --git a/src/rules.d.ts b/src/rules.d.ts index e6780aaee..b8f1de56f 100644 --- a/src/rules.d.ts +++ b/src/rules.d.ts @@ -2317,6 +2317,11 @@ export interface Rules { * if you wish for a missing `return` to be flagged regardless. */ exemptGenerators?: boolean; + /** + * Whether to check that async functions do not + * indicate they return non-native types. Defaults to `true`. + */ + noNativeTypes?: boolean; /** * If `true` and no return or * resolve value is found, this setting will even insist that reporting occur diff --git a/src/rules/checkTypes.js b/src/rules/checkTypes.js index 009171e35..ad174b48a 100644 --- a/src/rules/checkTypes.js +++ b/src/rules/checkTypes.js @@ -1,21 +1,9 @@ import { buildRejectOrPreferRuleDefinition, } from '../buildRejectOrPreferRuleDefinition.js'; - -const strictNativeTypes = [ - 'undefined', - 'null', - 'boolean', - 'number', - 'bigint', - 'string', - 'symbol', - 'object', - 'Array', - 'Function', - 'Date', - 'RegExp', -]; +import { + strictNativeTypes, +} from '../jsdocUtils.js'; /** * @callback CheckNativeTypes diff --git a/src/rules/preferImportTag.js b/src/rules/preferImportTag.js index 9e4e4ccdb..f2c92f51a 100644 --- a/src/rules/preferImportTag.js +++ b/src/rules/preferImportTag.js @@ -16,6 +16,7 @@ import { export default iterateJsdoc(({ context, + indent, jsdoc, settings, sourceCode, @@ -363,10 +364,14 @@ export default iterateJsdoc(({ enableFixer ? (fixer) => { getFixer(element.value, [])(); - const programNode = sourceCode.getNodeByRangeIndex(0); + const programNode = sourceCode.ast; + const commentNodes = sourceCode.getCommentsBefore(programNode); return fixer.insertTextBefore( - /** @type {import('estree').Program} */ (programNode), - `/** @import * as ${element.value} from '${element.value}'; */`, + // @ts-expect-error Ok + commentNodes[0] ?? programNode, + `/** @import * as ${element.value} from '${element.value}'; */${ + commentNodes[0] ? '\n' + indent : '' + }`, ); } : null, ); diff --git a/src/rules/requireReturnsCheck.js b/src/rules/requireReturnsCheck.js index 201292fed..18fc52b07 100755 --- a/src/rules/requireReturnsCheck.js +++ b/src/rules/requireReturnsCheck.js @@ -1,4 +1,7 @@ import iterateJsdoc from '../iterateJsdoc.js'; +import { + strictNativeTypes, +} from '../jsdocUtils.js'; /** * @param {import('../iterateJsdoc.js').Utils} utils @@ -43,6 +46,7 @@ export default iterateJsdoc(({ const { exemptAsync = true, exemptGenerators = settings.mode === 'typescript', + noNativeTypes = true, reportMissingReturnForUndefinedTypes = false, } = context.options[0] || {}; @@ -50,7 +54,8 @@ export default iterateJsdoc(({ return; } - if (exemptAsync && utils.isAsync()) { + const isAsync = utils.isAsync(); + if (exemptAsync && isAsync) { return; } @@ -92,6 +97,11 @@ export default iterateJsdoc(({ return; } + if (noNativeTypes && isAsync && strictNativeTypes.includes(type)) { + report('Function is async or otherwise returns a Promise but the return type is a native type.'); + return; + } + // In case a return value is declared in JSDoc, we also expect one in the code. if ( !returnNever && @@ -147,6 +157,11 @@ one might be more likely to take advantage of \`@yields\`). Set it to \`false\` if you wish for a missing \`return\` to be flagged regardless.`, type: 'boolean', }, + noNativeTypes: { + description: `Whether to check that async functions do not +indicate they return non-native types. Defaults to \`true\`.`, + type: 'boolean', + }, reportMissingReturnForUndefinedTypes: { default: false, description: `If \`true\` and no return or diff --git a/test/rules/assertions/preferImportTag.js b/test/rules/assertions/preferImportTag.js index 56acb5ccc..288c3b9fe 100644 --- a/test/rules/assertions/preferImportTag.js +++ b/test/rules/assertions/preferImportTag.js @@ -819,6 +819,38 @@ export default { */ `, }, + { + code: ` + /** @type {import('foo')} */ + let foo; + `, + errors: [ + { + line: 2, + message: 'Inline `import()` found; prefer `@import`', + }, + ], + output: ` + /** @import * as foo from 'foo'; */ + /** @type {foo} */ + let foo; + `, + }, + { + code: `/** @type {import('foo')} */ +let foo; + `, + errors: [ + { + line: 1, + message: 'Inline `import()` found; prefer `@import`', + }, + ], + output: `/** @import * as foo from 'foo'; */ +/** @type {foo} */ +let foo; + `, + }, ], valid: [ { diff --git a/test/rules/assertions/requireReturnsCheck.js b/test/rules/assertions/requireReturnsCheck.js index 660272191..7fc1cd102 100755 --- a/test/rules/assertions/requireReturnsCheck.js +++ b/test/rules/assertions/requireReturnsCheck.js @@ -277,7 +277,7 @@ export default /** @type {import('../index.js').TestCases} */ ({ code: ` /** * Description. - * @returns {string} + * @returns {SomeType} */ async function foo() { return new Promise(resolve => resolve()); @@ -664,7 +664,27 @@ export default /** @type {import('../index.js').TestCases} */ ({ }, ], }, + { + code: ` + /** + * @returns {number} + */ + async function quux (foo) { + } + `, + errors: [ + { + line: 2, + message: 'Function is async or otherwise returns a Promise but the return type is a native type.', + }, + ], + options: [ + { + exemptAsync: false, + }, + ], + }, ], valid: [ {