Why Choose Bunup Over Bun's Bundler?
Clearing this confusion here since i'm hearing people are asking this question.
Just as tsdown exists for Rolldown and tsup exists for esbuild, Bunup exists for Bun's bundler. While Bun's bundler is a fast, general-purpose bundler for all use cases, Bunup is specifically designed to build libraries with Bun's bundler easily and with zero configuration, handling many library-specific tasks out of the box so you don't need to worry about them.
For example, if you use Bun's bundler directly, you have to manually handle external and non-external dependencies, keep them up to date, manage multi-format/target outputs, and handle output extensions for different formats, like when building for different formats, Bunup automatically handles this and correctly assigns proper extensions for formats such as .js, .mjs, .cjs, .global.js, etc.
With Bun's bundler directly, you'd need to create a build script, make multiple Bun.build calls for different formats, set up various configurations for different environments, and add plugins to handle different tasks automatically (like extension handling, glob external handling, etc.), all of which Bunup handles automatically.
Bunup makes all of this simple by providing a zero-config library bundling experience with Bun, along with many other built-in features like multi-config, detect unused dependencies, automatic exports generation, workspace support, automatic CSS module type generation, and many more, allowing you to focus on your code rather than build setup. Bunup adds no overhead over Bun's native bundler, you get the same performance, but your development life is much easier.
Additionally, it's worth noting that Bun's bundler currently cannot generate TypeScript declarations, requiring you to use a separate TypeScript declaration generator alongside your build configuration, which is slow and defeats the purpose of Bun's speed advantage. Meanwhile, Bunup has its own built-in declaration generator and bundler that is very fast, built on top of Bun's native bundler, and includes advanced features like minification and splitting.