From 487b995d0a33b3cd6fd2ec135c25a74b776bb30e Mon Sep 17 00:00:00 2001 From: Ronen Amiel Date: Sat, 22 Feb 2025 00:05:02 +0200 Subject: [PATCH] check accessor properties with an invalid void type --- .../src/rules/no-invalid-void-type.ts | 1 + .../tests/rules/no-invalid-void-type.test.ts | 19 +++++++++++++++++++ 2 files changed, 20 insertions(+) diff --git a/packages/eslint-plugin/src/rules/no-invalid-void-type.ts b/packages/eslint-plugin/src/rules/no-invalid-void-type.ts index ea2981794d06..5b188b7455df 100644 --- a/packages/eslint-plugin/src/rules/no-invalid-void-type.ts +++ b/packages/eslint-plugin/src/rules/no-invalid-void-type.ts @@ -81,6 +81,7 @@ export default createRule<[Options], MessageIds>({ AST_NODE_TYPES.TSPropertySignature, AST_NODE_TYPES.CallExpression, AST_NODE_TYPES.PropertyDefinition, + AST_NODE_TYPES.AccessorProperty, AST_NODE_TYPES.Identifier, ]; const validUnionMembers: AST_NODE_TYPES[] = [ diff --git a/packages/eslint-plugin/tests/rules/no-invalid-void-type.test.ts b/packages/eslint-plugin/tests/rules/no-invalid-void-type.test.ts index 8f2c4b944dfe..2b952554df57 100644 --- a/packages/eslint-plugin/tests/rules/no-invalid-void-type.test.ts +++ b/packages/eslint-plugin/tests/rules/no-invalid-void-type.test.ts @@ -120,6 +120,11 @@ ruleTester.run('allowInGenericTypeArguments: true', rule, { 'type promiseNeverUnion = Promise | never;', 'const arrowGeneric1 = (arg: T) => {};', 'declare function functionDeclaration1(arg: T): void;', + ` + class ClassName { + accessor propName: number; + } + `, ], invalid: [ { @@ -286,6 +291,20 @@ ruleTester.run('allowInGenericTypeArguments: true', rule, { }, ], }, + { + code: ` + class ClassName { + accessor propName: void; + } + `, + errors: [ + { + column: 30, + line: 3, + messageId: 'invalidVoidNotReturnOrGeneric', + }, + ], + }, { code: 'let letVoid: void;', errors: [