From 8706fc5050d54da7083bf79135203a04917edf3c Mon Sep 17 00:00:00 2001 From: Armano Date: Sun, 7 Feb 2021 03:26:20 +0100 Subject: [PATCH] fix(eslint-plugin): [consistent-indexed-object-style] do not fix if interface has extends --- .../src/rules/consistent-indexed-object-style.ts | 3 +++ .../tests/rules/consistent-indexed-object-style.test.ts | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/eslint-plugin/src/rules/consistent-indexed-object-style.ts b/packages/eslint-plugin/src/rules/consistent-indexed-object-style.ts index bd48718c68b..f1cf4b01eed 100644 --- a/packages/eslint-plugin/src/rules/consistent-indexed-object-style.ts +++ b/packages/eslint-plugin/src/rules/consistent-indexed-object-style.ts @@ -115,6 +115,9 @@ export default createRule({ }, TSInterfaceDeclaration(node): void { + if (node.extends?.length) { + return; + } let genericTypes = ''; if ((node.typeParameters?.params ?? []).length > 0) { diff --git a/packages/eslint-plugin/tests/rules/consistent-indexed-object-style.test.ts b/packages/eslint-plugin/tests/rules/consistent-indexed-object-style.test.ts index 31077fcf620..44829032da3 100644 --- a/packages/eslint-plugin/tests/rules/consistent-indexed-object-style.test.ts +++ b/packages/eslint-plugin/tests/rules/consistent-indexed-object-style.test.ts @@ -76,7 +76,11 @@ interface Foo { []; } `, - + ` +interface B extends A { + [index: number]: unknown; +} + `, // 'index-signature' // Unhandled type {