diff --git a/packages/eslint-plugin/src/rules/space-infix-ops.ts b/packages/eslint-plugin/src/rules/space-infix-ops.ts index aa0cfcb3d83..a43ba5c30ab 100644 --- a/packages/eslint-plugin/src/rules/space-infix-ops.ts +++ b/packages/eslint-plugin/src/rules/space-infix-ops.ts @@ -174,10 +174,8 @@ export default util.createRule({ function checkForTypeAliasAssignment( node: TSESTree.TSTypeAliasDeclaration, ): void { - const leftNode = sourceCode.getTokenByRangeStart(node.id.range[0])!; - const rightNode = sourceCode.getTokenByRangeStart( - node.typeAnnotation.range[0], - ); + const leftNode = sourceCode.getLastToken(node.typeParameters ?? node.id)!; + const rightNode = sourceCode.getFirstToken(node.typeAnnotation); checkAndReportAssignmentSpace(node, leftNode, rightNode); } diff --git a/packages/eslint-plugin/tests/rules/space-infix-ops.test.ts b/packages/eslint-plugin/tests/rules/space-infix-ops.test.ts index be347d85663..e8b5fa2bc93 100644 --- a/packages/eslint-plugin/tests/rules/space-infix-ops.test.ts +++ b/packages/eslint-plugin/tests/rules/space-infix-ops.test.ts @@ -244,6 +244,9 @@ ruleTester.run('space-infix-ops', rule, { { code: 'type Baz = T extends (bar: string) => void ? { x: string } : { y: string }', }, + { + code: 'type Foo any> = T;', + }, { code: ` interface Test {