Closed
Description
- I have tried restarting my IDE and the issue persists.
- I have updated to the latest version of the packages.
- I have read the FAQ and my problem is not listed.
Repro
module.exports = {
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"extends": [
"eslint:recommended",
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended"
],
"rules": {
"@typescript-eslint/space-infix-ops": "error"
}
}
// Does not throw error 👎
export interface Test {
default?: boolean|(() => boolean);
}
// Does not throw error 👎
export interface Test {
default?: (() => boolean)|(() => string);
}
// Correctly throws error 👍
export interface Test {
default?: (() => boolean)|boolean;
}
// Correctly throws error 👍
export interface Test {
default?: boolean | (() => boolean|Promise<boolean>);
}
// Correctly throws error 👍
export interface Test {
default?: boolean|string;
}
Expected Result
I expect an error when running npx eslint repro.ts
on the first two cases above:
/home/andrewda/Development/repro.ts
2:20 error Operator '|' must be spaced @typescript-eslint/space-infix-ops
Actual Result
No error messages are printed by eslint when the right type is a function, e.g. (() => string)
. If the left type is a function, errors are thrown correctly.
Versions
package | version |
---|---|
@typescript-eslint/eslint-plugin |
5.18.0 |
@typescript-eslint/parser |
5.18.0 |
TypeScript |
4.6.3 |
ESLint |
8.13.0 |
node |
16.13.0 |