-
-
Notifications
You must be signed in to change notification settings - Fork 1k
infra: migrate to tsdown #3558
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
base: next
Are you sure you want to change the base?
infra: migrate to tsdown #3558
Conversation
✅ Deploy Preview for fakerjs ready!
To edit notification comments on pull requests, go to your Netlify project configuration. |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## next #3558 +/- ##
=======================================
Coverage 99.97% 99.97%
=======================================
Files 2995 2995
Lines 236324 236324
Branches 941 939 -2
=======================================
Hits 236267 236267
Misses 57 57 🚀 New features to boost your workflow:
|
|
I'll need to verify that this build works as expected using the playground. Might take some time, as it doesn't have any priority for me right now. |
Sure, take your time. This is not a breaking change and can theoretically merged any time. I use it already in unuse and here I checked it in the preview docs console. |
c5533ae to
d676f11
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR migrates the build toolchain from tsup to tsdown, a Rust-based rewrite of tsup using VoidZero rolldown. The migration aims to improve build performance (from 11-12s to 7s locally, 8s to 5s in CI) while maintaining equivalent functionality.
- Replaces tsup configuration with tsdown configuration using simplified entry patterns
- Updates package.json scripts and dependencies to use tsdown instead of tsup
- Cleans up package.json exports structure by removing redundant nested "default" objects
Reviewed Changes
Copilot reviewed 3 out of 4 changed files in this pull request and generated 2 comments.
| File | Description |
|---|---|
| tsup.config.ts | Removes the existing tsup configuration file |
| tsdown.config.ts | Adds new tsdown configuration with simplified glob patterns and publint integration |
| package.json | Updates build scripts, dependencies, and cleans up exports structure |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
|
It took some time - sorry about that. Multiple things:
@Shinigami92 are you up to the task? |
|
Yes, can look into that. |
d676f11 to
18a3919
Compare
|
@xDivisionByZerox updated everything
I'm not sure if you e.g. forget to clean something or not, however, tsdown is checking the exports field with publint and on my machine everything looks fine 🤔 |
You are right. I honestly can't tell you what the problem was (invalid dependency cache, legacy artifacts or whatever) - i can now get the project to build on my machine as well. I'm running into the next problem, tho. I cannot get the CJS (Jest) playground to run probably with a locally linked dependency. You might want to give it a try, because I'm currently at my limit with this jest configuration nonsense... |
tsup got a rewrite in Rust using VoidZero rolldown named tsdown
this PR migrates from tsup to tsdown
performance for a build run on my windows PC is
pnpm run buildfrom 11s-12s to 7sGitHub Actions CI
tsdown size is also a bit smaller than tsup