From 23746f8babace7c2354368d6fb0881be26e19c41 Mon Sep 17 00:00:00 2001 From: comrem <53528033+comrem@users.noreply.github.com> Date: Wed, 27 Apr 2022 17:02:25 +0200 Subject: [PATCH] fix(eslint-plugin): [comma-spacing] verify `nextToken` exists (#4868) * eslint-plugin/rules/comma-spacing: add check to verify nextToken exists * fix(eslint-plugin): run prettier and use builtin functions * fix(eslint-plugin): [comma-spacing] add unit test --- packages/eslint-plugin/src/rules/comma-spacing.ts | 2 +- .../eslint-plugin/tests/rules/comma-spacing.test.ts | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) 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' }, + }, + ], + }, ], });