fix(build): replace ts-node with tsx to resolve issues with modules (#1977)

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` from `ts-node` to `tsx`. This is because `ts-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 in `build:registry`) results in this error: `Unknown file extension ".ts" for /ui/apps/www/scripts/build-registry.ts`. There are many issues in the `ts-node` repository documenting this problem:
* TypeStrong/ts-node/issues/1062
* TypeStrong/ts-node/issues/2033
* TypeStrong/ts-node/issues/1997

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.
This commit is contained in:
Gravy59
2024-01-28 02:18:18 -07:00
committed by GitHub
parent 9a9c5b1faa
commit f3ff4a4fc3
3 changed files with 265 additions and 6 deletions

View File

@@ -63,7 +63,7 @@
"pretty-quick": "^3.1.3",
"tailwindcss": "^3.4.0",
"tailwindcss-animate": "^1.0.5",
"ts-node": "^10.9.1",
"tsx": "^4.1.4",
"turbo": "^1.9.9",
"typescript": "^4.9.5",
"vite-tsconfig-paths": "^4.2.0",