Skip to content
SPECIFICTION
Get listed

ncc vs Rolldown

ncc

github.com

Rolldown

rolldown.rs

Side by side

FigurenccRolldown
Price fromFreeFree
Free planYesYes
Free trial——
Open source——
Web—Yes
Windows—Yes
macOS—Yes
LinuxYesYes
Android—Yes
API—Yes
Plans published11
Spec score · JavaScript Build Tools8.2 (#5)8.7 (#1)
LicenseThe repository lists an MIT license.Rolldown is free and open source; VoidZero states that it remains open source and MIT-licensed.
Module formatsWhen building an `.mjs` file or a `.js` file inside a `type: module` package boundary, ncc automatically creates ES module output.Rolldown supports mixed ESM and CommonJS module graphs without requiring @rollup/plugin-commonjs.
Purposencc is a CLI that compiles a Node.js module and its dependencies into a single file.Rolldown is a Rust-based bundler for JavaScript with a Rollup-compatible API and esbuild feature parity.

Plans

ncc

  • @vercel/nccFree

ncc pricing →

Rolldown

  • Free & open sourceFree

Rolldown pricing →

In their own words

ncc

ncc is a free, MIT-licensed command-line tool for compiling a Node.js module and its dependencies into one file. It is distributed through npm as `@vercel/ncc`, with `npm i -g @vercel/ncc` given as the global installation command. The project targets publishing minimal npm packages and sending only relevant application code to serverless environments. Its design goals include zero configuration, built-in TypeScript support, and handling Node.js programs and npm modules. Inputs can include TypeScript, binary addons, and dynamic requires. Build options cover minification, source maps, watched builds, external modules, and ECMAScript target selection. Node.js programs can call ncc programmatically with options for caching, externals, minification, source maps, and asset builds. `.ts` and `.tsx` inputs require a `tsconfig.json`. Module-format behavior includes automatic ES module output for `.mjs` files and `.js` files inside a `type: module` package boundary. Support examples cover Sequelize with MariaDB and `@google-cloud/vision` with `google-proto-files`. Dynamically loaded assets that static analysis cannot identify may not work correctly. It runs on Linux.

Visit github.com

Rolldown

Rolldown is a free, open-source JavaScript bundler written in Rust and designed as the unified bundler powering Vite 8+. Its Rollup-compatible plugin API can reuse most existing Rollup plugins. Built-in capabilities include TypeScript and JSX transforms, syntax lowering, module resolution, ESM and CommonJS interoperability, define, inject, and minification. It can handle mixed ESM and CommonJS module graphs and supports configurable manual code splitting. Install commands are provided for npm, pnpm, yarn, bun, and vp. Prebuilt binaries are listed for Linux, Windows, Apple platforms, Android, and other targets; where none is distributed, a Wasm build or building from source are options. The guide recommends using Rolldown through Vite for most applications and points library authors to tsdown. Module types are experimental, and the JavaScript build() API may change in patch releases. The troubleshooting guide says Windows file-system access can slow builds, particularly when transforms run without plugins. An online REPL is linked, along with GitHub, Discord, and contribution resources. VoidZero Inc. holds the copyrights, funds development, and directs the project; it states Rolldown remains open source and MIT-licensed.

Visit rolldown.rs