fix (labs/analyzer): use analyzer typescript instead of import #4252
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There are still some places where we use methods available on our imported
tsrather than from the analyzer's reference (analyzer.typescript). This causes various problems with version mismatches and bundling.These have now been updated to use the analyzer's typescript.
Related question
While doing this change, I noticed we generally follow two common signatures for our functions:
(node, analyzer)(ts, node)For the latter, it does make a sense from a purist point of view... type guards and what not which operate purely on a given AST node don't need the analyzer in theory, so they accept a typescript lib ref instead.
But it does mean we switch back and forth inconsistently sometimes between these signatures. maybe we want to always pass an analyzer and just pull the typescript from that?