Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug: [space-infix-ops] code that contains extends triggers error #5134

Closed
4 tasks done
armano2 opened this issue Jun 1, 2022 · 0 comments · Fixed by #5135
Closed
4 tasks done

Bug: [space-infix-ops] code that contains extends triggers error #5134

armano2 opened this issue Jun 1, 2022 · 0 comments · Fixed by #5135
Labels
accepting prs Go ahead, send a pull request that resolves this issue bug Something isn't working formatting Related to whitespace/bracket formatting. We strongly recommend you use a formatter instead. package: eslint-plugin Issues related to @typescript-eslint/eslint-plugin

Comments

@armano2
Copy link
Member

armano2 commented Jun 1, 2022

Before You File a Bug Report Please Confirm You Have Done The Following...

  • I have tried restarting my IDE and the issue persists.
  • I have updated to the latest version of the packages.
  • I have searched for related issues and found none that matched my issue.
  • I have read the FAQ and my problem is not listed.

Playground Link

https://typescript-eslint.io/play/#ts=4.7.2&sourceType=module&code=C4TwDgpgBAYg9nAPAFQHxQLxWVCAPYCAOwBMBnKAbygCMBDAJwC4ozgGBLIgcygF8oAflbsuvFkQCuAWxoQGAWABQy0JCgAhOgC8U6LDnyFSFABT1mIzjwCUmdADc4HEkKtioEmXIZA&eslintrc=N4KABGBEBOCuA2BTAzpAXGUEKQAIBcBPABxQGNoBLY-AWhXkoDt8B6ZYgQzMVuYDNKAD1oB7YqgyRE0aKOiRwYAL4hlQA&tsconfig=N4KABGBEDGD2C2AHAlgGwKYCcDyiAuysAdgM6QBcYoEEkJemy0eAcgK6qoDCAFutAGsylBm3TgwAXxCSgA

Repro Code

type Foo<T> = T extends { bar: string } ? string : number

type Bar<T> = T extends (bar: string) => void ? string : number

type Baz<T> = T extends (bar: string) => void ? { x: string } : { y: string }

ESLint Config

module.exports = {
  "rules": {
    "@typescript-eslint/space-infix-ops": "error"
  }
}

tsconfig

{
  "compilerOptions": {
    "strictNullChecks": true
  }
}

Expected Result

there should not be errors reported

Actual Result

Operator ':' must be spaced. 1:30 - 1:31

Operator ':' must be spaced. 3:29 - 3:30

Additional Info

most likely can be fixed by improving token selection of

function checkForTypeConditional(node: TSESTree.TSConditionalType): void {
const extendsTypeNode = sourceCode.getTokenByRangeStart(
node.extendsType.range[0],
)!;
const trueTypeNode = sourceCode.getTokenByRangeStart(
node.trueType.range[0],
)!;
const falseTypeNode = sourceCode.getTokenByRangeStart(
node.falseType.range[0],
);
checkAndReportAssignmentSpace(node, extendsTypeNode, trueTypeNode);
checkAndReportAssignmentSpace(node, trueTypeNode, falseTypeNode);
}

#5113 (comment)

cc @CyanSalt

Versions

package version
@typescript-eslint/eslint-plugin 5.27.0
@typescript-eslint/parser 5.27.0
TypeScript 4.7.2
ESLint 8.15.0
node web
@armano2 armano2 added bug Something isn't working package: eslint-plugin Issues related to @typescript-eslint/eslint-plugin triage Waiting for maintainers to take a look labels Jun 1, 2022
@armano2 armano2 changed the title Bug: [space-infix-ops] <short description of the issue> Bug: [space-infix-ops] code that contains extends triggers incorrect error Jun 1, 2022
@armano2 armano2 added accepting prs Go ahead, send a pull request that resolves this issue and removed triage Waiting for maintainers to take a look labels Jun 1, 2022
@armano2 armano2 changed the title Bug: [space-infix-ops] code that contains extends triggers incorrect error Bug: [space-infix-ops] code that contains extends triggers error Jun 1, 2022
@armano2 armano2 closed this as completed Jun 1, 2022
@armano2 armano2 reopened this Jun 1, 2022
@bradzacher bradzacher added the formatting Related to whitespace/bracket formatting. We strongly recommend you use a formatter instead. label Jun 1, 2022
@github-actions github-actions bot locked as resolved and limited conversation to collaborators Jul 5, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
accepting prs Go ahead, send a pull request that resolves this issue bug Something isn't working formatting Related to whitespace/bracket formatting. We strongly recommend you use a formatter instead. package: eslint-plugin Issues related to @typescript-eslint/eslint-plugin
Projects
None yet
2 participants