Bunup is an MIT-licensed TypeScript and React library bundler built on Bun's native bundler, made for developers who publish packages to npm and want fast builds with minimal configuration.
What it is
Bunup is a build tool for TypeScript libraries that runs on Bun's native bundler. It sits in the Bun and npm ecosystem: it is installed as the bunup package and invoked through bunx bunup, and it is itself written in TypeScript under the MIT licence. The project ships a single command that compiles a library's source and writes the result to dist/, emitting ESM JavaScript alongside .d.ts type declarations in one pass.
The concrete problem it solves is the assembly line a library author normally has to wire up by hand: bundling JavaScript, generating type declarations, supporting a second module format, and exposing the right package.json exports. Bunup handles those steps in one command โ --format esm,cjs adds CommonJS output, and --exports generates and syncs package exports automatically. Because it produces .d.ts files itself, a separate type-generation step is not required, which shortens the path from source to a publishable package.
Key capabilities
bunx bunup builds a TypeScript library to dist/ with ESM output and .d.ts type declarations.
--format esm,cjs emits CommonJS alongside ESM for consumers on older module systems.
--exports generates and syncs package.json exports automatically.
- CSS is imported directly, with built-in CSS Modules support.
- Declaration splitting produces smaller, cleaner type bundles.
- Workspace support builds multiple packages from one config and one command.
- Batteries-included checks include unused dependency detection alongside auto-exports.
Who uses it and how
- Library authors publishing TypeScript packages to npm, who need ESM plus type declarations without hand-written build config.
- React component library authors, covered by examples for plain CSS, CSS Modules, and Tailwind CSS styling.
- Monorepo teams, addressed by a workspace example that builds several packages from one configuration and one command.
- New projects started from the scaffold, which spins up a TypeScript or React component library, or a basic starter, in about ten seconds.
Getting started
Build a library by running bunx bunup, or scaffold a new one with bunx @bunup/cli@latest create. The tool is distributed as the npm package bunup, with documentation at https://bunup.dev.
How it compares
The facts provided name no competing or similar tools, so bunup stands alone in this registry rather than being contrasted with alternatives. Its only stated point of difference is that it is built on Bun's native bundler.
When to use it โ and when not to
Bunup requires Bun in the build pipeline, since it is built on Bun's native bundler and run through bunx, so teams that cannot add Bun to their toolchain should look elsewhere. It is also a young, small project โ roughly 525 stars, 15 forks, and a single open issue โ so the maintainer base and community surface are limited, and the README is a short overview rather than deep operational guidance. Pick it if a Bun-based build and one-command ESM, CommonJS, and .d.ts output match the library you are shipping.
project readme (upstream, from github) โ read inline



Bunup helps you ship TypeScript/React libraries faster with great DX โ built on Bun's native bundler.
Performance
Instant builds by design. With Bunโs native speed, builds and rebuilds are extremely quick, even in monorepos. Faster feedback loops, higher productivity, calmer flow.
๐ Quick Start
Create a TypeScript file:
// src/index.ts
export function greet(name: string): string {
return `Hello, ${name}!`;
}
Build it instantly:
bunx bunup
Outputs to dist/ with ESM and .d.ts types.
Need CommonJS too?
bunx bunup --format esm,cjs
Want to generate and sync package exports automatically?
bunx bunup --exports
Scaffold
Spin up a modern, ready-to-publish TypeScript or React component library (or a basic starter) in ~10 seconds:
bunx @bunup/cli@latest create
See more in Scaffold with Bunup.
Features
- โก Instant builds โ lightning-fast by default
- ๐จ CSS support out of the box โ import CSS directly, with built-in CSS Modules support.
- ๐ TypeScript declarations โ clean, accurate
.d.ts files
- ๐ช Declaration splitting โ smaller, cleaner type bundles
- ๐ Batteries included โ auto-exports, unused dependency detection, and more
- ๐๏ธ Workspace-ready โ build multiple packages from one config and one command
For more, see the full documentation: https://bunup.dev
๐ Examples
Check out the examples directory for example usage:
โค๏ธ Contributing
We welcome contributions! Please read the contributing guide.

