Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Merged
merged 5 commits into from
Jan 28, 2024
Merged

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

merged 5 commits into from
Jan 28, 2024

Conversation

Gravy59
Copy link
Contributor

@Gravy59 Gravy59 commented Nov 19, 2023

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:

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.

Copy link

vercel bot commented Nov 19, 2023

@Gravy59 is attempting to deploy a commit to the shadcn-pro Team on Vercel.

A member of the Team first needs to authorize it.

Copy link
Collaborator

@shadcn shadcn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. I've switched to tsx on most projects as well. Thanks. Appreciate this PR.

Copy link

vercel bot commented Jan 28, 2024

The latest updates on your projects. Learn more about Vercel for Git ↗︎

Name Status Preview Comments Updated (UTC)
ui ✅ Ready (Inspect) Visit Preview 💬 Add feedback Jan 28, 2024 9:14am

# Conflicts:
#	pnpm-lock.yaml
@kodiakhq kodiakhq bot merged commit f3ff4a4 into shadcn-ui:main Jan 28, 2024
7 checks passed
@Gravy59 Gravy59 deleted the fix-ts-scripts branch February 24, 2024 20:13
kjxbyz pushed a commit to muse-ui/muse-ui that referenced this pull request Jun 7, 2024
…hadcn-ui#1977)

This pull request resolves shadcn-ui#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 shadcn-ui#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 shadcn-ui#1937. That will not happen again.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

ts-node error on build attempt
2 participants