From 264f501bf90927241cba98f0c6c3afc91a4af1a9 Mon Sep 17 00:00:00 2001 From: yeonjuan Date: Mon, 4 Jan 2021 00:25:54 +0900 Subject: [PATCH] fix(eslint-plugin): [comma-spacing] handle empty type params --- packages/eslint-plugin/src/rules/comma-spacing.ts | 11 +++++++---- .../eslint-plugin/tests/rules/comma-spacing.test.ts | 1 + 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/packages/eslint-plugin/src/rules/comma-spacing.ts b/packages/eslint-plugin/src/rules/comma-spacing.ts index fa5dc1c0ec8..e0b20622116 100644 --- a/packages/eslint-plugin/src/rules/comma-spacing.ts +++ b/packages/eslint-plugin/src/rules/comma-spacing.ts @@ -90,10 +90,13 @@ export default createRule({ function addTypeParametersTrailingCommaToIgnoreList( node: TSESTree.TSTypeParameterDeclaration, ): void { - const param = node.params[node.params.length - 1]; - const afterToken = sourceCode.getTokenAfter(param); - if (afterToken && isCommaToken(afterToken)) { - ignoredTokens.add(afterToken); + const paramLength = node.params.length; + if (paramLength) { + const param = node.params[paramLength - 1]; + const afterToken = sourceCode.getTokenAfter(param); + if (afterToken && isCommaToken(afterToken)) { + ignoredTokens.add(afterToken); + } } } diff --git a/packages/eslint-plugin/tests/rules/comma-spacing.test.ts b/packages/eslint-plugin/tests/rules/comma-spacing.test.ts index 7147815b759..9ab7def96d9 100644 --- a/packages/eslint-plugin/tests/rules/comma-spacing.test.ts +++ b/packages/eslint-plugin/tests/rules/comma-spacing.test.ts @@ -280,6 +280,7 @@ ruleTester.run('comma-spacing', rule, { 'function foo() {}', 'class Foo {}', 'interface Foo{}', + 'interface A<> {}', ], invalid: [