Closed
Description
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
Repro Code
// the following seems to be valid syntax and is parsable:
type Bar = {
[k in string];
};
// it gets auto-fixed into the following syntax error
type Bar = Record<string, type Bar = {
[k in string];
};
>;
ESLint Config
module.exports = {
parser: "@typescript-eslint/parser",
rules: {
"@typescript-eslint/consistent-indexed-object-style": "error",
},
};
tsconfig
Expected Result
I expected the rule to either not have an auto-fix for this special-case, or auto-fix it into the following Record
:
type Bar = Record<string, any>;
Actual Result
The rule auto-fixes this into invalid syntax:
type Bar = Record<string, type Bar = {
[k in string];
};
>;
Additional Info
TSMappedType
‘s type annotation can be undefined
(source).
I noticed this while trying to add missing coverage in #11177.