diff --git a/.README/advanced.md b/.README/advanced.md index 70bece04e..d4b4df069 100644 --- a/.README/advanced.md +++ b/.README/advanced.md @@ -56,7 +56,7 @@ you are using with ESLint (e.g., `espree` is the default parser for ESLint, and this follows [EStree AST](https://github.com/estree/estree) but to support the the latest experimental features of JavaScript, one may use `@babel/eslint-parser` or to be able to have one's rules (including JSDoc rules) -apply to TypeScript, one may use `@typescript-eslint/parser`, etc. +apply to TypeScript, one may use `typescript-eslint`, etc. So you can look up a particular parser to see its rules, e.g., browse through the [ESTree docs](https://github.com/estree/estree) as used by Espree or see diff --git a/docs/advanced.md b/docs/advanced.md index 4d593c0cb..46ca8b380 100644 --- a/docs/advanced.md +++ b/docs/advanced.md @@ -68,7 +68,7 @@ you are using with ESLint (e.g., `espree` is the default parser for ESLint, and this follows [EStree AST](https://github.com/estree/estree) but to support the the latest experimental features of JavaScript, one may use `@babel/eslint-parser` or to be able to have one's rules (including JSDoc rules) -apply to TypeScript, one may use `@typescript-eslint/parser`, etc. +apply to TypeScript, one may use `typescript-eslint`, etc. So you can look up a particular parser to see its rules, e.g., browse through the [ESTree docs](https://github.com/estree/estree) as used by Espree or see diff --git a/docs/rules/check-param-names.md b/docs/rules/check-param-names.md index 5b3c74f35..fc4c62ec2 100644 --- a/docs/rules/check-param-names.md +++ b/docs/rules/check-param-names.md @@ -620,7 +620,7 @@ function quux (foo) { /** * @param barr This is the description of bar. Oops, we misspelled "bar" as "barr". */ -declare function foo(bar: number) {} +declare function foo(bar: number) // Message: Expected @param names to be "bar". Got "barr". /** diff --git a/package.json b/package.json index f9d788fb3..79e718e58 100644 --- a/package.json +++ b/package.json @@ -42,7 +42,7 @@ "@types/node": "^20.12.12", "@types/semver": "^7.5.8", "@types/spdx-expression-parse": "^3.0.5", - "@typescript-eslint/parser": "^7.11.0", + "@typescript-eslint/types": "^7.14.1", "babel-plugin-add-module-exports": "^1.0.4", "babel-plugin-istanbul": "^6.1.1", "babel-plugin-transform-import-meta": "^2.2.1", @@ -67,7 +67,8 @@ "replace": "^1.2.2", "rimraf": "^5.0.7", "semantic-release": "^23.1.1", - "typescript": "5.3.x" + "typescript": "5.3.x", + "typescript-eslint": "^8.0.0-alpha.34" }, "engines": { "node": ">=18" diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a5a8c20cd..97ed0abf8 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -111,9 +111,9 @@ importers: '@types/spdx-expression-parse': specifier: ^3.0.5 version: 3.0.5 - '@typescript-eslint/parser': - specifier: ^7.11.0 - version: 7.11.0(eslint@9.3.0)(typescript@5.3.3) + '@typescript-eslint/types': + specifier: ^7.14.1 + version: 7.14.1 babel-plugin-add-module-exports: specifier: ^1.0.4 version: 1.0.4 @@ -189,6 +189,9 @@ importers: typescript: specifier: 5.3.x version: 5.3.3 + typescript-eslint: + specifier: ^8.0.0-alpha.34 + version: 8.0.0-alpha.34(eslint@9.3.0)(typescript@5.3.3) packages: @@ -1355,6 +1358,17 @@ packages: typescript: optional: true + '@typescript-eslint/eslint-plugin@8.0.0-alpha.34': + resolution: {integrity: sha512-qPLMqSlyZCHFSvsqIUV/QZ0ufxhOJhutvBEpi4KppixRZgrI6ZJw2M9EgqMRGraA5lGghwymVdxmcaCp4QuFPQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + '@typescript-eslint/parser': ^8.0.0 || ^8.0.0-alpha.0 + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/experimental-utils@5.62.0': resolution: {integrity: sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1381,6 +1395,16 @@ packages: typescript: optional: true + '@typescript-eslint/parser@8.0.0-alpha.34': + resolution: {integrity: sha512-jtBWP09o/RrVsLhDwoxUHtvJURZ7RaO3Ia9OnkC6Jjsdn23tKwoEtjLbB94ATr6BU44R3JVbRJn1SCueCmECYw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/scope-manager@5.62.0': resolution: {integrity: sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1397,10 +1421,14 @@ packages: resolution: {integrity: sha512-27tGdVEiutD4POirLZX4YzT180vevUURJl4wJGmm6TrQoiYwuxTIY98PBp6L2oN+JQxzE0URvYlzJaBHIekXAw==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/scope-manager@7.8.0': - resolution: {integrity: sha512-viEmZ1LmwsGcnr85gIq+FCYI7nO90DVbE37/ll51hjv9aG+YZMb4WDE2fyWpUR4O/UrhGRpYXK/XajcGTk2B8g==} + '@typescript-eslint/scope-manager@7.14.1': + resolution: {integrity: sha512-gPrFSsoYcsffYXTOZ+hT7fyJr95rdVe4kGVX1ps/dJ+DfmlnjFN/GcMxXcVkeHDKqsq6uAcVaQaIi3cFffmAbA==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/scope-manager@8.0.0-alpha.34': + resolution: {integrity: sha512-IpeT8JnV1Uo5lG/GTYe/SRJRcz1rBaCNma5cS5R8c4NkBIiIeE+R9Vy8ZEPkGImTfBp9BUNU6w+8lSQf0Z6tKw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/type-utils@7.11.0': resolution: {integrity: sha512-WmppUEgYy+y1NTseNMJ6mCFxt03/7jTOy08bcg7bxJJdsM4nuhnchyBbE8vryveaJUf62noH7LodPSo5Z0WUCg==} engines: {node: ^18.18.0 || >=20.0.0} @@ -1411,6 +1439,15 @@ packages: typescript: optional: true + '@typescript-eslint/type-utils@8.0.0-alpha.34': + resolution: {integrity: sha512-VmsfGVQ9UV1gs+LQkA9W9Nf7rSwY9KzB7WZUXwx56Ynlwjyt+999Z4Rrh2kPuDCPHTsO+GJDqeYyOYOEeXi9Bw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/types@5.62.0': resolution: {integrity: sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1427,10 +1464,14 @@ packages: resolution: {integrity: sha512-MPEsDRZTyCiXkD4vd3zywDCifi7tatc4K37KqTprCvaXptP7Xlpdw0NR2hRJTetG5TxbWDB79Ys4kLmHliEo/w==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/types@7.8.0': - resolution: {integrity: sha512-wf0peJ+ZGlcH+2ZS23aJbOv+ztjeeP8uQ9GgwMJGVLx/Nj9CJt17GWgWWoSmoRVKAX2X+7fzEnAjxdvK2gqCLw==} + '@typescript-eslint/types@7.14.1': + resolution: {integrity: sha512-mL7zNEOQybo5R3AavY+Am7KLv8BorIv7HCYS5rKoNZKQD9tsfGUpO4KdAn3sSUvTiS4PQkr2+K0KJbxj8H9NDg==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/types@8.0.0-alpha.34': + resolution: {integrity: sha512-9d2pLf/htOVVX/VNQgRt23z5kCOznsiAVt1TllCiMT1xic0W8yKr2FT6sJHYIUl1qDjHE7t/P6CQpNFvyOfbxA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@typescript-eslint/typescript-estree@5.62.0': resolution: {integrity: sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1467,8 +1508,8 @@ packages: typescript: optional: true - '@typescript-eslint/typescript-estree@7.8.0': - resolution: {integrity: sha512-5pfUCOwK5yjPaJQNy44prjCwtr981dO8Qo9J9PwYXZ0MosgAbfEMB008dJ5sNo3+/BN6ytBPuSvXUg9SAqB0dg==} + '@typescript-eslint/typescript-estree@7.14.1': + resolution: {integrity: sha512-k5d0VuxViE2ulIO6FbxxSZaxqDVUyMbXcidC8rHvii0I56XZPv8cq+EhMns+d/EVIL41sMXqRbK3D10Oza1bbA==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: typescript: '*' @@ -1476,6 +1517,15 @@ packages: typescript: optional: true + '@typescript-eslint/typescript-estree@8.0.0-alpha.34': + resolution: {integrity: sha512-1ZAffOto9HpStxKCVpKkemYRUC4fznLEaj9fZyIYcppC/hdNNgZaiC0ONRUQQtdlPgdeH8BKoiWo6bGRemlxUw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + '@typescript-eslint/utils@5.62.0': resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1494,12 +1544,18 @@ packages: peerDependencies: eslint: ^8.56.0 - '@typescript-eslint/utils@7.8.0': - resolution: {integrity: sha512-L0yFqOCflVqXxiZyXrDr80lnahQfSOfc9ELAAZ75sqicqp2i36kEZZGuUymHNFoYOqxRT05up760b4iGsl02nQ==} + '@typescript-eslint/utils@7.14.1': + resolution: {integrity: sha512-CMmVVELns3nak3cpJhZosDkm63n+DwBlDX8g0k4QUa9BMnF+lH2lr3d130M1Zt1xxmB3LLk3NV7KQCq86ZBBhQ==} engines: {node: ^18.18.0 || >=20.0.0} peerDependencies: eslint: ^8.56.0 + '@typescript-eslint/utils@8.0.0-alpha.34': + resolution: {integrity: sha512-gHiHW96wCi3yllubUOswdWyCS/D5IRytTw9rPyumWJGD9qPh47MZAxtKp86Qdt1sbg+BJkYb8cCUMX9dwlVZzA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + '@typescript-eslint/visitor-keys@5.62.0': resolution: {integrity: sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -1516,10 +1572,14 @@ packages: resolution: {integrity: sha512-7syYk4MzjxTEk0g/w3iqtgxnFQspDJfn6QKD36xMuuhTzjcxY7F8EmBLnALjVyaOF1/bVocu3bS/2/F7rXrveQ==} engines: {node: ^18.18.0 || >=20.0.0} - '@typescript-eslint/visitor-keys@7.8.0': - resolution: {integrity: sha512-q4/gibTNBQNA0lGyYQCmWRS5D15n8rXh4QjK3KV+MBPlTYHpfBUT3D3PaPR/HeNiI9W6R7FvlkcGhNyAoP+caA==} + '@typescript-eslint/visitor-keys@7.14.1': + resolution: {integrity: sha512-Crb+F75U1JAEtBeQGxSKwI60hZmmzaqA3z9sYsVm8X7W5cwLEm5bRe0/uXS6+MR/y8CVpKSR/ontIAIEPFcEkA==} engines: {node: ^18.18.0 || >=20.0.0} + '@typescript-eslint/visitor-keys@8.0.0-alpha.34': + resolution: {integrity: sha512-Zs84EZx55fusxi4+6bzdZyNLy6nN8snh7HOcgs1jiRkqmf0qo+cgPjb7mGA1RgE1m60FQYgesj7je9KBE0HfSA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + '@ungap/structured-clone@1.2.0': resolution: {integrity: sha512-zuVdFrMJiuCDQUMCzQaD6KL28MjnqqN8XnAqiEq9PNm/hCPTSGfrXCOfwj1ow4LFb/tNymJPwsNbVePc1xFqrQ==} @@ -5434,6 +5494,15 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} + typescript-eslint@8.0.0-alpha.34: + resolution: {integrity: sha512-Y8d1Q72RyygrV4bmbMXT21hPzNYyZIC+RzRftKvt5OFAMlfVNehre2qBVPwvljFu86AXMNe4FDMFhHvhZtOa6w==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '*' + peerDependenciesMeta: + typescript: + optional: true + typescript@5.3.3: resolution: {integrity: sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==} engines: {node: '>=14.17'} @@ -6678,7 +6747,7 @@ snapshots: dependencies: '@types/eslint': 8.56.10 '@types/estree': 1.0.5 - '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/types': 7.14.1 comment-parser: 1.4.1 esquery: 1.5.0 jsdoc-type-pratt-parser: 4.0.0 @@ -7300,6 +7369,24 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/eslint-plugin@8.0.0-alpha.34(@typescript-eslint/parser@8.0.0-alpha.34(eslint@9.3.0)(typescript@5.3.3))(eslint@9.3.0)(typescript@5.3.3)': + dependencies: + '@eslint-community/regexpp': 4.10.0 + '@typescript-eslint/parser': 8.0.0-alpha.34(eslint@9.3.0)(typescript@5.3.3) + '@typescript-eslint/scope-manager': 8.0.0-alpha.34 + '@typescript-eslint/type-utils': 8.0.0-alpha.34(eslint@9.3.0)(typescript@5.3.3) + '@typescript-eslint/utils': 8.0.0-alpha.34(eslint@9.3.0)(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 8.0.0-alpha.34 + eslint: 9.3.0 + graphemer: 1.4.0 + ignore: 5.3.1 + natural-compare: 1.4.0 + ts-api-utils: 1.3.0(typescript@5.3.3) + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/experimental-utils@5.62.0(eslint@9.3.0)(typescript@5.3.3)': dependencies: '@typescript-eslint/utils': 5.62.0(eslint@9.3.0)(typescript@5.3.3) @@ -7334,6 +7421,19 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/parser@8.0.0-alpha.34(eslint@9.3.0)(typescript@5.3.3)': + dependencies: + '@typescript-eslint/scope-manager': 8.0.0-alpha.34 + '@typescript-eslint/types': 8.0.0-alpha.34 + '@typescript-eslint/typescript-estree': 8.0.0-alpha.34(typescript@5.3.3) + '@typescript-eslint/visitor-keys': 8.0.0-alpha.34 + debug: 4.3.4(supports-color@8.1.1) + eslint: 9.3.0 + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/scope-manager@5.62.0': dependencies: '@typescript-eslint/types': 5.62.0 @@ -7354,10 +7454,15 @@ snapshots: '@typescript-eslint/types': 7.11.0 '@typescript-eslint/visitor-keys': 7.11.0 - '@typescript-eslint/scope-manager@7.8.0': + '@typescript-eslint/scope-manager@7.14.1': + dependencies: + '@typescript-eslint/types': 7.14.1 + '@typescript-eslint/visitor-keys': 7.14.1 + + '@typescript-eslint/scope-manager@8.0.0-alpha.34': dependencies: - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/visitor-keys': 7.8.0 + '@typescript-eslint/types': 8.0.0-alpha.34 + '@typescript-eslint/visitor-keys': 8.0.0-alpha.34 '@typescript-eslint/type-utils@7.11.0(eslint@9.3.0)(typescript@5.3.3)': dependencies: @@ -7371,6 +7476,18 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/type-utils@8.0.0-alpha.34(eslint@9.3.0)(typescript@5.3.3)': + dependencies: + '@typescript-eslint/typescript-estree': 8.0.0-alpha.34(typescript@5.3.3) + '@typescript-eslint/utils': 8.0.0-alpha.34(eslint@9.3.0)(typescript@5.3.3) + debug: 4.3.4(supports-color@8.1.1) + ts-api-utils: 1.3.0(typescript@5.3.3) + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - eslint + - supports-color + '@typescript-eslint/types@5.62.0': {} '@typescript-eslint/types@6.19.1': {} @@ -7379,7 +7496,9 @@ snapshots: '@typescript-eslint/types@7.11.0': {} - '@typescript-eslint/types@7.8.0': {} + '@typescript-eslint/types@7.14.1': {} + + '@typescript-eslint/types@8.0.0-alpha.34': {} '@typescript-eslint/typescript-estree@5.62.0(typescript@5.3.3)': dependencies: @@ -7440,10 +7559,25 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/typescript-estree@7.8.0(typescript@5.3.3)': + '@typescript-eslint/typescript-estree@7.14.1(typescript@5.3.3)': + dependencies: + '@typescript-eslint/types': 7.14.1 + '@typescript-eslint/visitor-keys': 7.14.1 + debug: 4.3.4(supports-color@8.1.1) + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.4 + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.3.3) + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - supports-color + + '@typescript-eslint/typescript-estree@8.0.0-alpha.34(typescript@5.3.3)': dependencies: - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/visitor-keys': 7.8.0 + '@typescript-eslint/types': 8.0.0-alpha.34 + '@typescript-eslint/visitor-keys': 8.0.0-alpha.34 debug: 4.3.4(supports-color@8.1.1) globby: 11.1.0 is-glob: 4.0.3 @@ -7495,16 +7629,24 @@ snapshots: - supports-color - typescript - '@typescript-eslint/utils@7.8.0(eslint@9.3.0)(typescript@5.3.3)': + '@typescript-eslint/utils@7.14.1(eslint@9.3.0)(typescript@5.3.3)': dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0) - '@types/json-schema': 7.0.15 - '@types/semver': 7.5.8 - '@typescript-eslint/scope-manager': 7.8.0 - '@typescript-eslint/types': 7.8.0 - '@typescript-eslint/typescript-estree': 7.8.0(typescript@5.3.3) + '@typescript-eslint/scope-manager': 7.14.1 + '@typescript-eslint/types': 7.14.1 + '@typescript-eslint/typescript-estree': 7.14.1(typescript@5.3.3) + eslint: 9.3.0 + transitivePeerDependencies: + - supports-color + - typescript + + '@typescript-eslint/utils@8.0.0-alpha.34(eslint@9.3.0)(typescript@5.3.3)': + dependencies: + '@eslint-community/eslint-utils': 4.4.0(eslint@9.3.0) + '@typescript-eslint/scope-manager': 8.0.0-alpha.34 + '@typescript-eslint/types': 8.0.0-alpha.34 + '@typescript-eslint/typescript-estree': 8.0.0-alpha.34(typescript@5.3.3) eslint: 9.3.0 - semver: 7.6.2 transitivePeerDependencies: - supports-color - typescript @@ -7529,9 +7671,14 @@ snapshots: '@typescript-eslint/types': 7.11.0 eslint-visitor-keys: 3.4.3 - '@typescript-eslint/visitor-keys@7.8.0': + '@typescript-eslint/visitor-keys@7.14.1': + dependencies: + '@typescript-eslint/types': 7.14.1 + eslint-visitor-keys: 3.4.3 + + '@typescript-eslint/visitor-keys@8.0.0-alpha.34': dependencies: - '@typescript-eslint/types': 7.8.0 + '@typescript-eslint/types': 8.0.0-alpha.34 eslint-visitor-keys: 3.4.3 '@ungap/structured-clone@1.2.0': {} @@ -8657,7 +8804,7 @@ snapshots: eslint-config-prettier: 9.1.0(eslint@9.3.0) eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.11.0(eslint@9.3.0)(typescript@5.3.3))(eslint-plugin-i@2.29.1)(eslint@9.3.0) eslint-plugin-ava: 15.0.1(eslint@9.3.0) - eslint-plugin-canonical: 4.18.0(@typescript-eslint/parser@7.11.0(eslint@9.3.0)(typescript@5.3.3))(eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.11.0(eslint@9.3.0)(typescript@5.3.3))(eslint@9.3.0))(eslint@9.3.0)(typescript@5.3.3) + eslint-plugin-canonical: 4.18.0(@typescript-eslint/parser@7.11.0(eslint@9.3.0)(typescript@5.3.3))(eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.11.0(eslint@9.3.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.3.0))(eslint@9.3.0)(typescript@5.3.3) eslint-plugin-cypress: 3.3.0(eslint@9.3.0) eslint-plugin-eslint-comments: 3.2.0(eslint@9.3.0) eslint-plugin-flowtype: 8.0.3(@babel/plugin-syntax-flow@7.24.6(@babel/core@7.24.6))(@babel/plugin-transform-react-jsx@7.23.4(@babel/core@7.24.6))(eslint@9.3.0) @@ -8755,7 +8902,7 @@ snapshots: pkg-dir: 5.0.0 resolve-from: 5.0.0 - eslint-plugin-canonical@4.18.0(@typescript-eslint/parser@7.11.0(eslint@9.3.0)(typescript@5.3.3))(eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.11.0(eslint@9.3.0)(typescript@5.3.3))(eslint@9.3.0))(eslint@9.3.0)(typescript@5.3.3): + eslint-plugin-canonical@4.18.0(@typescript-eslint/parser@7.11.0(eslint@9.3.0)(typescript@5.3.3))(eslint-plugin-i@2.29.1(@typescript-eslint/parser@7.11.0(eslint@9.3.0)(typescript@5.3.3))(eslint-import-resolver-typescript@3.6.1)(eslint@9.3.0))(eslint@9.3.0)(typescript@5.3.3): dependencies: '@typescript-eslint/utils': 6.19.1(eslint@9.3.0)(typescript@5.3.3) chance: 1.1.11 @@ -8834,7 +8981,7 @@ snapshots: eslint-plugin-jest@28.5.0(@typescript-eslint/eslint-plugin@7.11.0(@typescript-eslint/parser@7.11.0(eslint@9.3.0)(typescript@5.3.3))(eslint@9.3.0)(typescript@5.3.3))(eslint@9.3.0)(typescript@5.3.3): dependencies: - '@typescript-eslint/utils': 7.8.0(eslint@9.3.0)(typescript@5.3.3) + '@typescript-eslint/utils': 7.14.1(eslint@9.3.0)(typescript@5.3.3) eslint: 9.3.0 optionalDependencies: '@typescript-eslint/eslint-plugin': 7.11.0(@typescript-eslint/parser@7.11.0(eslint@9.3.0)(typescript@5.3.3))(eslint@9.3.0)(typescript@5.3.3) @@ -9005,7 +9152,7 @@ snapshots: eslint-plugin-vitest@0.5.4(@typescript-eslint/eslint-plugin@7.11.0(@typescript-eslint/parser@7.11.0(eslint@9.3.0)(typescript@5.3.3))(eslint@9.3.0)(typescript@5.3.3))(eslint@9.3.0)(typescript@5.3.3): dependencies: - '@typescript-eslint/utils': 7.8.0(eslint@9.3.0)(typescript@5.3.3) + '@typescript-eslint/utils': 7.14.1(eslint@9.3.0)(typescript@5.3.3) eslint: 9.3.0 optionalDependencies: '@typescript-eslint/eslint-plugin': 7.11.0(@typescript-eslint/parser@7.11.0(eslint@9.3.0)(typescript@5.3.3))(eslint@9.3.0)(typescript@5.3.3) @@ -11991,6 +12138,17 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 + typescript-eslint@8.0.0-alpha.34(eslint@9.3.0)(typescript@5.3.3): + dependencies: + '@typescript-eslint/eslint-plugin': 8.0.0-alpha.34(@typescript-eslint/parser@8.0.0-alpha.34(eslint@9.3.0)(typescript@5.3.3))(eslint@9.3.0)(typescript@5.3.3) + '@typescript-eslint/parser': 8.0.0-alpha.34(eslint@9.3.0)(typescript@5.3.3) + '@typescript-eslint/utils': 8.0.0-alpha.34(eslint@9.3.0)(typescript@5.3.3) + optionalDependencies: + typescript: 5.3.3 + transitivePeerDependencies: + - eslint + - supports-color + typescript@5.3.3: {} uglify-js@3.17.4: diff --git a/src/exportParser.js b/src/exportParser.js index fe74c197e..4bb2e13bd 100644 --- a/src/exportParser.js +++ b/src/exportParser.js @@ -248,7 +248,7 @@ const getSymbol = function (node, globals, scope, opt) { val.type = 'object'; for (const prop of node.properties) { if ([ - // @typescript-eslint/parser, espree, acorn, etc. + // typescript-eslint, espree, acorn, etc. 'SpreadElement', // @babel/eslint-parser diff --git a/src/utils/hasReturnValue.js b/src/utils/hasReturnValue.js index 9f103f68c..9f370c36f 100644 --- a/src/utils/hasReturnValue.js +++ b/src/utils/hasReturnValue.js @@ -20,6 +20,7 @@ const isNewPromiseExpression = (node) => { */ const isVoidPromise = (node) => { return /** @type {import('@typescript-eslint/types').TSESTree.TSTypeReference} */ (node)?.typeArguments?.params?.[0]?.type === 'TSVoidKeyword' + /* c8 ignore next */ || /** @type {import('@typescript-eslint/types').TSESTree.TSTypeReference} */ (node)?.typeParameters?.params?.[0]?.type === 'TSVoidKeyword'; }; diff --git a/test/rules/assertions/checkAccess.js b/test/rules/assertions/checkAccess.js index 876dfd04d..4a3650298 100644 --- a/test/rules/assertions/checkAccess.js +++ b/test/rules/assertions/checkAccess.js @@ -1,4 +1,4 @@ -import * as typescriptEslintParser from '@typescript-eslint/parser'; +import {parser as typescriptEslintParser} from 'typescript-eslint'; export default { invalid: [ diff --git a/test/rules/assertions/checkIndentation.js b/test/rules/assertions/checkIndentation.js index ee2c9630e..2c0ea9966 100644 --- a/test/rules/assertions/checkIndentation.js +++ b/test/rules/assertions/checkIndentation.js @@ -1,4 +1,4 @@ -import * as typescriptEslintParser from '@typescript-eslint/parser'; +import {parser as typescriptEslintParser} from 'typescript-eslint'; export default { invalid: [ diff --git a/test/rules/assertions/checkParamNames.js b/test/rules/assertions/checkParamNames.js index 173f565a8..851f5df59 100644 --- a/test/rules/assertions/checkParamNames.js +++ b/test/rules/assertions/checkParamNames.js @@ -1,4 +1,4 @@ -import * as typescriptEslintParser from '@typescript-eslint/parser'; +import {parser as typescriptEslintParser} from 'typescript-eslint'; import * as babelEslintParser from '@babel/eslint-parser'; export default { @@ -1162,7 +1162,7 @@ export default { /** * @param barr This is the description of bar. Oops, we misspelled "bar" as "barr". */ - declare function foo(bar: number) {} + declare function foo(bar: number) `, errors: [ { diff --git a/test/rules/assertions/checkTagNames.js b/test/rules/assertions/checkTagNames.js index a3ce841fb..12cc770e0 100644 --- a/test/rules/assertions/checkTagNames.js +++ b/test/rules/assertions/checkTagNames.js @@ -1,4 +1,4 @@ -import * as typescriptEslintParser from '@typescript-eslint/parser'; +import {parser as typescriptEslintParser} from 'typescript-eslint'; import { closureTags, jsdocTags, diff --git a/test/rules/assertions/informativeDocs.js b/test/rules/assertions/informativeDocs.js index c9fa78a10..e28965a3c 100644 --- a/test/rules/assertions/informativeDocs.js +++ b/test/rules/assertions/informativeDocs.js @@ -1,4 +1,4 @@ -import * as typescriptEslintParser from '@typescript-eslint/parser'; +import {parser as typescriptEslintParser} from 'typescript-eslint'; export default { invalid: [ diff --git a/test/rules/assertions/matchDescription.js b/test/rules/assertions/matchDescription.js index 7f79a2cd2..dd2e2cff0 100644 --- a/test/rules/assertions/matchDescription.js +++ b/test/rules/assertions/matchDescription.js @@ -1,4 +1,4 @@ -import * as typescriptEslintParser from '@typescript-eslint/parser'; +import {parser as typescriptEslintParser} from 'typescript-eslint'; export default { invalid: [ diff --git a/test/rules/assertions/noMissingSyntax.js b/test/rules/assertions/noMissingSyntax.js index 833082c83..6ff571927 100644 --- a/test/rules/assertions/noMissingSyntax.js +++ b/test/rules/assertions/noMissingSyntax.js @@ -1,4 +1,4 @@ -import * as typescriptEslintParser from '@typescript-eslint/parser'; +import {parser as typescriptEslintParser} from 'typescript-eslint'; export default { invalid: [ diff --git a/test/rules/assertions/noMultiAsterisks.js b/test/rules/assertions/noMultiAsterisks.js index 174d17662..0152616f7 100644 --- a/test/rules/assertions/noMultiAsterisks.js +++ b/test/rules/assertions/noMultiAsterisks.js @@ -1,4 +1,4 @@ -import * as typescriptEslintParser from '@typescript-eslint/parser'; +import {parser as typescriptEslintParser} from 'typescript-eslint'; export default { invalid: [ diff --git a/test/rules/assertions/noRestrictedSyntax.js b/test/rules/assertions/noRestrictedSyntax.js index 0f6f3b8d3..68f02771d 100644 --- a/test/rules/assertions/noRestrictedSyntax.js +++ b/test/rules/assertions/noRestrictedSyntax.js @@ -1,4 +1,4 @@ -import * as typescriptEslintParser from '@typescript-eslint/parser'; +import {parser as typescriptEslintParser} from 'typescript-eslint'; import * as jsdocEslintParser from '@es-joy/jsdoc-eslint-parser/typescript.js'; export default { diff --git a/test/rules/assertions/noTypes.js b/test/rules/assertions/noTypes.js index 6c2bfb789..8acee50fb 100644 --- a/test/rules/assertions/noTypes.js +++ b/test/rules/assertions/noTypes.js @@ -1,4 +1,4 @@ -import * as typescriptEslintParser from '@typescript-eslint/parser'; +import {parser as typescriptEslintParser} from 'typescript-eslint'; export default { invalid: [ diff --git a/test/rules/assertions/noUndefinedTypes.js b/test/rules/assertions/noUndefinedTypes.js index 44d3e68b2..d468e1f67 100644 --- a/test/rules/assertions/noUndefinedTypes.js +++ b/test/rules/assertions/noUndefinedTypes.js @@ -1,4 +1,4 @@ -import * as typescriptEslintParser from '@typescript-eslint/parser'; +import {parser as typescriptEslintParser} from 'typescript-eslint'; import * as babelEslintParser from '@babel/eslint-parser'; import globals from 'globals'; diff --git a/test/rules/assertions/requireDescription.js b/test/rules/assertions/requireDescription.js index 0431fe3d9..ed2f3b8a2 100644 --- a/test/rules/assertions/requireDescription.js +++ b/test/rules/assertions/requireDescription.js @@ -1,4 +1,4 @@ -import * as typescriptEslintParser from '@typescript-eslint/parser'; +import {parser as typescriptEslintParser} from 'typescript-eslint'; export default { invalid: [ diff --git a/test/rules/assertions/requireJsdoc.js b/test/rules/assertions/requireJsdoc.js index d2b174c3d..48ddb50df 100644 --- a/test/rules/assertions/requireJsdoc.js +++ b/test/rules/assertions/requireJsdoc.js @@ -1,4 +1,4 @@ -import * as typescriptEslintParser from '@typescript-eslint/parser'; +import {parser as typescriptEslintParser} from 'typescript-eslint'; import * as babelEslintParser from '@babel/eslint-parser'; import globals from 'globals'; diff --git a/test/rules/assertions/requireParam.js b/test/rules/assertions/requireParam.js index 4acdc56bf..7c29734f3 100644 --- a/test/rules/assertions/requireParam.js +++ b/test/rules/assertions/requireParam.js @@ -1,4 +1,4 @@ -import * as typescriptEslintParser from '@typescript-eslint/parser'; +import {parser as typescriptEslintParser} from 'typescript-eslint'; import * as babelEslintParser from '@babel/eslint-parser'; export default { diff --git a/test/rules/assertions/requireReturns.js b/test/rules/assertions/requireReturns.js index f68178c9e..f688d77ca 100644 --- a/test/rules/assertions/requireReturns.js +++ b/test/rules/assertions/requireReturns.js @@ -1,4 +1,4 @@ -import * as typescriptEslintParser from '@typescript-eslint/parser'; +import {parser as typescriptEslintParser} from 'typescript-eslint'; export default { invalid: [ diff --git a/test/rules/assertions/requireReturnsCheck.js b/test/rules/assertions/requireReturnsCheck.js index cd6e180e6..025d6ab12 100755 --- a/test/rules/assertions/requireReturnsCheck.js +++ b/test/rules/assertions/requireReturnsCheck.js @@ -1,4 +1,4 @@ -import * as typescriptEslintParser from '@typescript-eslint/parser'; +import {parser as typescriptEslintParser} from 'typescript-eslint'; export default { invalid: [ diff --git a/test/rules/assertions/tagLines.js b/test/rules/assertions/tagLines.js index b53b4aae4..06baaec12 100644 --- a/test/rules/assertions/tagLines.js +++ b/test/rules/assertions/tagLines.js @@ -1,4 +1,4 @@ -import * as typescriptEslintParser from '@typescript-eslint/parser'; +import {parser as typescriptEslintParser} from 'typescript-eslint'; export default { invalid: [ diff --git a/test/rules/assertions/validTypes.js b/test/rules/assertions/validTypes.js index fb3710bb2..9f31a796f 100644 --- a/test/rules/assertions/validTypes.js +++ b/test/rules/assertions/validTypes.js @@ -1,4 +1,4 @@ -import * as typescriptEslintParser from '@typescript-eslint/parser'; +import {parser as typescriptEslintParser} from 'typescript-eslint'; export default { invalid: [