Tsdown – the Elegant Bundler for Libraries
Posted2 months agoActive2 months ago
tsdown.devTechstory
supportivepositive
Debate
20/100
TypescriptBundlerLibrary Development
Key topics
Typescript
Bundler
Library Development
The post introduces Tsdown, a new bundler for TypeScript libraries, and the community discusses its features and potential benefits for library development.
Snapshot generated from the HN discussion
Discussion Activity
Light discussionFirst comment
3h
Peak period
4
3-4h
Avg / period
2
Key moments
- 01Story posted
Oct 25, 2025 at 11:19 PM EDT
2 months ago
Step 01 - 02First comment
Oct 26, 2025 at 2:19 AM EDT
3h after posting
Step 02 - 03Peak activity
4 comments in 3-4h
Hottest window of the conversation
Step 03 - 04Latest activity
Oct 26, 2025 at 7:41 AM EDT
2 months ago
Step 04
Generating AI Summary...
Analyzing up to 500 comments to identify key contributors and discussion patterns
ID: 45708884Type: storyLast synced: 11/20/2025, 1:30:03 PM
Want the full context?
Jump to the original sources
Read the primary article or dive into the live Hacker News thread when you're ready.
The “What is tsdown” link goes to a video with pre-roll ads.
I put the video URL into Gemini and asked it what it does. Gemini hallucinated a comparison with Rspack.
I followed the link to documentation from the YouTube description and it took me back to the main page that does not have a description of what it does.
There is an FAQ with a single question:
> Will tsdown support stub mode (similar to unbuild)?
Is there any kind of text description available for what this is and why I – as somebody who is currently writing a lot of front-end code – should care?
But again, all it says is it's fast. And vite is pretty damn fast and widely supported so?
Plus vite exposes roll down config options so yea, what's the point?
Think of it as in opinionated Rolldown-"preset" for libraries. It will be used as the foundation of Vite's lib mode revamp.
Compared to using plain tsc to compile the code, is that it’s a lot quicker. The compiled code has some odd conventions, like using void 0 instead of undefined, but … whatever works!
So far, it has been an easy-entry high-ROI tool that helps me publish TS/JS tools quite easily.
Currently we're using tsc with the new build mode to build everything at once, but the result is incredibly brittle and requires a lot of unnecessary extra configuration all over the place that tends to confuse people when they need to add extra packages or make changes somewhere. It's also very slow (hopefully something that will be fixed by tsgo, eventually).
My initial plan was to have a separate tsdown config in each package and use pnpm to build the entire monorepo (or at least, the parts necessary for each sub-application) in parallel. But your config also looks like a useful approach, I'll explore that as well. Thanks for sharing!
[0]: https://github.com/microsoft/typescript-go