-
Notifications
You must be signed in to change notification settings - Fork 12.5k
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
[experiment] direct imports #51590
base: main
Are you sure you want to change the base?
[experiment] direct imports #51590
Conversation
Thanks for the PR! It looks like you've changed the TSServer protocol in some way. Please ensure that any changes here don't break consumers of the current TSServer API. For some extra review, we'll ping @sheetalkamat, @amcasey, @mjbvz, @minestarks for you. Feel free to loop in other consumers/maintainers if necessary |
…eat/direct_imports
…eat/direct_imports
…eat/direct_imports
…eat/direct_imports
…eat/direct_imports
…eat/direct_imports
Very exciting that this works! I have yet to review it and take a look at what it does in the bundle, but you basically did all of the hard work for us... |
…eat/direct_imports
…eat/direct_imports
There is still an open question with |
Can you remind me again what breaks? Though there are some circular things, I don't know that any should crash at this point, besides one scanner thing which can be fixed by moving a helper to another file. Solving circular imports entirely is a further PR just because that will involve a lot of code moving, but eliminating internal |
69b11ab
to
1136d5a
Compare
Currently, there are approximately 10 _circular dependencies, however, |
…eat/direct_imports
…eat/direct_imports
…eat/direct_imports
…eat/direct_imports
…eat/direct_imports
…eat/direct_imports
…eat/direct_imports
…eat/direct_imports
…eat/direct_imports
…eat/direct_imports
…eat/direct_imports
93944bd
to
99babfc
Compare
…eat/direct_imports
…eat/direct_imports
With 5.0 coming out soon, I'd like to try and relook at this to get it in for 5.1 (especially as some amount of this is a prereq for me to test out TS-as-ESM); one thing I'm immediately unsure of is all of the extra utility files being created, especially I know that there is some code that should be shifted out of the scanner (or something), but, if they're being created solely to fix cycles, I'm wondering if we'd be better off doing that at a second step to minimize the diff a little. I'm also planning on sending another partial change that will make this PR smaller, namely, trying something to get rid of most of the |
(minor) Moving the types to (major) Some files (
If we are talking about the
Sounds promising :). Maybe we need to try breaking it up into smaller pieces, however, I'm not sure how granular they should be. Maybe we need to split file by file, however, that adds a lot of new PR and as I recall some cases can't be refactored without touching many files. |
|
…eat/direct_imports
Ok, I'll try to move these helpers to |
I would think they can be moved to |
…eat/direct_imports
…eat/direct_imports
…eat/direct_imports
…eat/direct_imports
…eat/direct_imports
…eat/direct_imports
…eat/direct_imports
/** @todo */
Debug
in thescanner
/semver
modulesDebug
in thecore