Async compiler processing #3043
This has taken a while, but it is functionally complete,
Basically this does pre-processing of TypeScript files and gathers all the dependencies asynchronously. Only then after all the dependencies are gathered, does it do a compile, which at that point all the dependencies are cached in memory in the compiler, so with the exception of the hard coded assets, there are no ops during the compilation.
In theory the module name resolution and the fetching of the source files could be broken out as two different ops. This would prevent situations of sending the full source file all the time when actually the module is the same module referenced by multiple modules, but that could be done subsequently to this.
bartlomieju left a comment
@kitsonk this is very nice
I'd be very cautious about it. Currently all redirection handling logic is hidden in Rust, which effectively means that we need to make actual request to be sure that