fix(vite): type check TSRX imports - #11450
Merged
NathanWalker merged 3 commits intoSep 25, 2026
Merged
Conversation
Delegate build-time type checks to tsrx-tsc when project sources import .tsrx files, so the TSRX language plugin can transform those files before TypeScript checks them. Use a temporary config with the platform-filtered root files to preserve NativeScript's platform selection.
TypeScript resolves default typeRoots and `types` entries relative to the config file's directory, so a scratch tsconfig under os.tmpdir() lost every `@types/*` package (TS2688 for `types: ["node"]`, TS2580 for automatic inclusion). The generated config now lives under node_modules/.ns-vite/. The scratch config also declares `tsrx.platform` for the platform being built (ios for visionOS), so platform guards in .tsrx files compile the way the bundle does instead of following a hardcoded tsconfig value. Resolve the tsrx-tsc binary before scanning sources so projects without @tsrx/typescript-plugin pay nothing extra, point at the plugin when the in-process checker reports unresolved .tsrx imports, and cover the delegation with a spec.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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 a TypeScript project imports .tsrx files and has @tsrx/typescript-plugin installed, the build-time checker now delegates to tsrx-tsc using the existing platform-filtered root files. Other projects keep the in-process TypeScript checker, and the temporary config used for TSRX checking is cleaned up afterward.