From f0dc4a631c1ffc275c206ec6512a2972a9a3f805 Mon Sep 17 00:00:00 2001 From: Brad Zacher Date: Thu, 9 Feb 2023 21:19:10 +1030 Subject: [PATCH] fix(eslint-plugin): [no-import-type-side-effects] correctly ignore zero-specifier imports --- .../eslint-plugin/src/rules/no-import-type-side-effects.ts | 4 ++++ .../tests/rules/no-import-type-side-effects.test.ts | 1 + 2 files changed, 5 insertions(+) diff --git a/packages/eslint-plugin/src/rules/no-import-type-side-effects.ts b/packages/eslint-plugin/src/rules/no-import-type-side-effects.ts index ce80a654afe5..941aa93e72ae 100644 --- a/packages/eslint-plugin/src/rules/no-import-type-side-effects.ts +++ b/packages/eslint-plugin/src/rules/no-import-type-side-effects.ts @@ -29,6 +29,10 @@ export default util.createRule({ 'ImportDeclaration[importKind!="type"]'( node: TSESTree.ImportDeclaration, ): void { + if (node.specifiers.length === 0) { + return; + } + const specifiers: TSESTree.ImportSpecifier[] = []; for (const specifier of node.specifiers) { if ( diff --git a/packages/eslint-plugin/tests/rules/no-import-type-side-effects.test.ts b/packages/eslint-plugin/tests/rules/no-import-type-side-effects.test.ts index 9dade06a9432..98d7923e4b45 100644 --- a/packages/eslint-plugin/tests/rules/no-import-type-side-effects.test.ts +++ b/packages/eslint-plugin/tests/rules/no-import-type-side-effects.test.ts @@ -18,6 +18,7 @@ ruleTester.run('no-import-type-side-effects', rule, { "import type T, { U } from 'mod';", "import T, { type U } from 'mod';", "import type * as T from 'mod';", + "import 'mod';", ], invalid: [ {