Refactor: Investigate removing Program from isolated programs #5855
Labels
accepting prs
Go ahead, send a pull request that resolves this issue
breaking change
This change will require a new major version to be released
locked due to age
Please open a new issue if you'd like to say more. See https://typescript-eslint.io/contributing.
refactor
PRs that refactor code only
Milestone
Overview
Right now,
createIsolatedProgram
creates ats.Program
with minimal type info behind the scenes:typescript-eslint/packages/typescript-estree/src/create-program/createIsolatedProgram.ts
Line 63 in 09c04fb
In theory, the services without a specified project path don’t need to make their own Program. That program was used for the experimental unused variables rule, to get program diagnostics such as unused var diagnostics... but this can take dozens of ms a file, and is rarely used by anybody.
Creating a standalone program that way isn't very expensive, but it would be nice to avoid. We should investigate whether we can get rid of it altogether.
The tricky thing here is parser types: some internal code expects
ASTAndProgram
instances from the parsing results. In this new world, there may not be theprogram
from there.Marking as accepting PRs with the caveat that everything still has to work as expected. Which may or may not be doable. Good luck! 😄
This issue is from a pairing I had with @bradzacher going over the parser internals.
The text was updated successfully, but these errors were encountered: