diff --git a/packages/eslint-plugin/src/rules/comma-spacing.ts b/packages/eslint-plugin/src/rules/comma-spacing.ts index 2774324d259..336017db1b3 100644 --- a/packages/eslint-plugin/src/rules/comma-spacing.ts +++ b/packages/eslint-plugin/src/rules/comma-spacing.ts @@ -177,7 +177,7 @@ export default createRule({ isCommaToken(prevToken) || ignoredTokens.has(token) ? null : prevToken, - isCommaToken(nextToken) || ignoredTokens.has(token) + (nextToken && isCommaToken(nextToken)) || ignoredTokens.has(token) ? null : nextToken, ); diff --git a/packages/eslint-plugin/tests/rules/comma-spacing.test.ts b/packages/eslint-plugin/tests/rules/comma-spacing.test.ts index 9ab7def96d9..37eb6e2e3ad 100644 --- a/packages/eslint-plugin/tests/rules/comma-spacing.test.ts +++ b/packages/eslint-plugin/tests/rules/comma-spacing.test.ts @@ -281,6 +281,7 @@ ruleTester.run('comma-spacing', rule, { 'class Foo {}', 'interface Foo{}', 'interface A<> {}', + 'let foo,', ], invalid: [ @@ -787,5 +788,17 @@ ruleTester.run('comma-spacing', rule, { }, ], }, + { + code: 'let foo ,', + output: 'let foo,', + errors: [ + { + messageId: 'unexpected', + column: 9, + line: 1, + data: { loc: 'before' }, + }, + ], + }, ], });