perf(lsp): use null types instead of stub modules #21541
Merged
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.
When tsc tries to load types for a module which had failed to resolve (labelled
internal:///missing_dependency.d.ts
), return null instead of a stub module like:#20780 fixed a discrepancy between
deno check
and LSP type-checking where that latter was returning null fromop_load()
instead of using the above stub module. After seeing denoland/vscode_deno#895 (comment) we suspect that this caused a slowdown in projects using node compat. So this PR flips them both the other way.As far as we know this change only affects the behaviour of doing erroneous
type
imports from untyped modules. These will no longer error and there's no real reason they should.