Skip to content

[wip] Shared resolutions in tsserver #55968

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

Draft
wants to merge 26 commits into
base: main
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
31009c8
Write log about unresolved imports calculation
sheetalkamat Oct 17, 2023
d81f147
Add test when type acquisition changes
sheetalkamat Nov 7, 2023
592bba4
Verify getUnresolvedImports incrementally
sheetalkamat Oct 20, 2023
cae589d
Handle unnecessary typings request force just because root files change
sheetalkamat Oct 11, 2023
3ae4463
When type acquisition is disabled, remove the typing files set as root
sheetalkamat Oct 11, 2023
e89404f
Close watchers for TI that are no longer needed
sheetalkamat Oct 11, 2023
d839cae
Update the unresolved import list only if it will be used
sheetalkamat Oct 11, 2023
457d9b7
Do not update typings for project if type aquisition is disabled
sheetalkamat Oct 12, 2023
f659bec
If typing installer is disabled invalidate all the resolutions from t…
sheetalkamat Oct 12, 2023
1637783
Use globalCacheResolution to invalidate resolutions on typings update
sheetalkamat Oct 17, 2023
dad8851
Update cached import list update as part of resolving modules instead…
sheetalkamat Oct 20, 2023
cbbbf4a
If the there is no change detected in module resolution we shouldnt n…
sheetalkamat Oct 20, 2023
8e23cb4
Now that work with unresolved imports cleanup is done, remove the tem…
sheetalkamat Nov 9, 2023
2a08064
unresolved imports of empty array and undefined are same
sheetalkamat Nov 9, 2023
c9dcebe
Tests
sheetalkamat Jul 15, 2024
2f52238
Add incremental test where cache should have same resolutions as what…
sheetalkamat Sep 27, 2023
3b993ff
Make sure reused resolutions from file are accounted if all resolutio…
sheetalkamat Sep 29, 2023
254139c
In preparation of sharing resolutions, watch the resolutions right aw…
sheetalkamat Jul 11, 2023
a51e79a
Resolutions in cache stays for lifetime..
sheetalkamat Jul 8, 2024
b3ab401
Handle package json lifetime
sheetalkamat Jul 26, 2024
fb623b9
The redirected reference use that projects tsconfig directory as the …
sheetalkamat Jul 10, 2024
0633e0e
Dont pollute resolution so we can reuse it across projects
sheetalkamat Jul 19, 2024
ee741df
Factor out cache to be shared and not shared. Projects still are not …
sheetalkamat May 16, 2025
80ba295
Real sharing across projects
sheetalkamat Sep 27, 2024
69c37d3
Test cases for shared resolutions and effective type roots calculation
sheetalkamat Oct 2, 2024
ea2352a
Handle effective type roots and type ref resolution sharing cache
sheetalkamat Oct 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
1 change: 1 addition & 0 deletions src/compiler/_namespaces/ts.ts
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,7 @@ export * from "../builderStatePublic.js";
export * from "../builderState.js";
export * from "../builder.js";
export * from "../builderPublic.js";
export * from "../sharedResolutionCache.js";
export * from "../resolutionCache.js";
export * from "../watch.js";
export * from "../watchPublic.js";
Expand Down
619 changes: 530 additions & 89 deletions src/compiler/moduleNameResolver.ts

Large diffs are not rendered by default.

186 changes: 169 additions & 17 deletions src/compiler/program.ts

Large diffs are not rendered by default.

Loading
Loading