From 0d6a190c56fb3489f9f554b9035a008e29cc08ec Mon Sep 17 00:00:00 2001 From: Yadong Zhang Date: Mon, 5 Sep 2022 06:52:51 +0800 Subject: [PATCH] fix(eslint-plugin): [no-extra-parens] handle generic ts array type. (#5550) Co-authored-by: Josh Goldberg --- packages/eslint-plugin/src/rules/no-extra-parens.ts | 4 +++- .../eslint-plugin/tests/rules/no-extra-parens.test.ts | 11 +++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/packages/eslint-plugin/src/rules/no-extra-parens.ts b/packages/eslint-plugin/src/rules/no-extra-parens.ts index 71bfc4f10dc..1232f336048 100644 --- a/packages/eslint-plugin/src/rules/no-extra-parens.ts +++ b/packages/eslint-plugin/src/rules/no-extra-parens.ts @@ -79,7 +79,9 @@ export default util.createRule({ if ( node.arguments.length === 1 && node.typeParameters?.params.some( - param => param.type === AST_NODE_TYPES.TSImportType, + param => + param.type === AST_NODE_TYPES.TSImportType || + param.type === AST_NODE_TYPES.TSArrayType, ) ) { return rule({ diff --git a/packages/eslint-plugin/tests/rules/no-extra-parens.test.ts b/packages/eslint-plugin/tests/rules/no-extra-parens.test.ts index 5a72b6015a2..058331be10a 100644 --- a/packages/eslint-plugin/tests/rules/no-extra-parens.test.ts +++ b/packages/eslint-plugin/tests/rules/no-extra-parens.test.ts @@ -227,6 +227,17 @@ switch (foo) { case 1: case (<2>2): break; default: break; } }, ], }), + ...batchedSingleLineTests({ + code: ` +declare const f: (x: T) => any +f<(number | string)[]>(['a', 1]) + `, + parserOptions: { + ecmaFeatures: { + jsx: true, + }, + }, + }), ], invalid: [