typescript-eslint
typescript-eslint copied to clipboard
Docs: [no-inferrable-types] Explain whether and how to use (or not use) with `isolatedDeclarations`
Before You File a Proposal Please Confirm You Have Done The Following...
- [X] I have searched for related issues and found none that match my proposal.
- [X] I have searched the current rule list and found no rules that match my proposal.
- [X] I have read the FAQ and my problem is not listed.
My proposal is suitable for this project
- [X] I believe my proposal would be useful to the broader TypeScript community (meaning it is not a niche proposal).
Link to the rule's documentation
https://typescript-eslint.io/rules/no-inferrable-types/
Description
It would be nice to use "no-inferrable-types" with isolatedDeclarations
Fail
const a: bigint = 10n;
export const b = true;
Pass
const a = 10n;
export const b: boolean = true;
Additional Info
No response
It's going to be very hard for us to do this because it depends on the constraints that the flag implies.
If it's too complicated we might just have to advise that people don't use the two together or else we'd have to try and match the same logic TS uses.
Strong -1 on encoding TS semantics in our rule. ID exists almost precisely to eliminate "inferred types" so I'm not sure why anyone wants to use it with no-inferrable-types. We can add to docs saying they are incompatible.