feat(typescript-estree): allow erroring on TypeScript syntactic diagn… #6271
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
PR Checklist
Overview
Adds a
TypeScriptIssueDetection
enum so typescript-estree can be told to callprogram.getSyntacticDiagnostics(ast)
but notprogram.getSemanticDiagnostics(ast)
.Note that this is partially in conflict with #6066. That PR removes the partial program; this PR explicitly uses it.
It would be nice to have performance testing in place (#6218). I removed all type checking from
.eslintrc.js
(recommended-requiring-type-checking
,deprecation/deprecation
, and a few assorted rules, deleted inline commends referring to type-checked rules, and ranhyperfine "npx eslint ."
:So, a 4% slowdown penalty for asking for syntactic diagnostics? That might just be worth it.
Either way, filed microsoft/TypeScript#52011 about some syntactic issues being reported as semantic diagnostics.
Competitor/sibling to #6247.