As pointed out by https://github.com/microsoft/TypeScript/pull/58337, type checking can proceed in different orders depending on whether it was triggered by a full tsc run or by a tsserver request like getting semantic info.
It would be interesting to trace the tsserver process but there are two obvious downsides:
tracing would add extra overhead when the editor experience is already laggy
a. we can use a separate tsserver, like we do for the realtime metrics
the tracing code specifically disables recording types when in server mode
a. this is moot, as we can just monkey path tracing.recordType
As pointed out by https://github.com/microsoft/TypeScript/pull/58337, type checking can proceed in different orders depending on whether it was triggered by a full tsc run or by a tsserver request like getting semantic info.
It would be interesting to trace the tsserver process but there are two obvious downsides:
the tracing code specifically disables recording types when in server modea. this is moot, as we can just monkey path tracing.recordType