fix(build): replace ts-node with tsx to resolve issues with modules #1977
+265
−6
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.
This pull request resolves #1926 and prevents issues like it from happening in the future
Rationale for this PR
This PR changes the TypeScript execution package for use in scripts like
build:registry
fromts-node
totsx
. This is becausets-node
has many difficult quirks to work through (and is slow). In addition, it also has a difficult to understand error for newcomers that is reproducible.The ts-node error
As shown in #1926, using
ts-node
(specifically inbuild:registry
) results in this error:Unknown file extension ".ts" for /ui/apps/www/scripts/build-registry.ts
. There are many issues in thets-node
repository documenting this problem:Switching the typescript-in-node system to
tsx
, which uses esbuild under the hood, resolves this error.This PR shouldn't affect tests, representation, etc. and is merely a change of build tools. There is no urgent need to merge this.
I accidentally deleted the head repository on #1937. That will not happen again.