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 {