-
Notifications
You must be signed in to change notification settings - Fork 14
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Speed up lint-everything #1468
Comments
ESLint does not have good support for project references. I tried the proposal in parserOptions: {
EXPERIMENTAL_useProjectService: true,
}, but I could not get it to work. Running multiple repos with different parserOptions.projects overwhelms the memory and in #1356 I split it up into worker threads, but it takes 5+ minutes even when little has changed. At the moment, we could specify an eslint-specific tsconfig.json that allows multiple repos to fit in memory and use shared type information. The main problem with this is it would be redundant with our modular project references tsconfigs. Furthermore, when we start specifying different behavior (node vs browser), we would need a way to accommodate that in the eslint-specific tsconfig. Running I also experimented with coming up with a config file dynamically that would be for the lint-everything, but paths were messy and difficult to match the rules with the files. So to speed up lint-everything and lint-all, and to restore prior behavior to lint-everything such as --chip-away and better behavior for disable-eslint-cache, the recommendation for this issue is:
Let's consult with @zepumph soon. |
I implemented the recommendation here and in #1470 since I already had it in my working copy. But I left a placeholder in each package.json to make it easy to experiment or revert in the future. |
We should look into https://typescript-eslint.io/packages/parser#projectservice |
We used |
Reopening because there is a TODO marked for this issue. |
Fixed in the branch, will be merged with #1484, closing. |
lint-everything slowed down in #1356 since (a) project references per-repo adds overhead, and (b) couldn't fit all sims in memory at once. Let's see if we can speed it up again. Parts like #1467 and #1466 may help too.
also:
The text was updated successfully, but these errors were encountered: