EVERYTHING XIAOMI
Get listed

ncc

ncc is a free command-line tool that compiles a Node.js module and its dependencies into a single file.

Place
#9 of 27
Score
6.2
ncc's website

What ncc is

ncc is a free command-line tool that compiles a Node.js module and its dependencies into a single file. The project presents it as an option for publishing minimal npm packages or shipping relevant application code to serverless environments. Its design goals include zero configuration and built-in TypeScript support, and it accepts Node.js programs as both input and output. Build options include minification, source maps, watched builds, external modules, and ECMAScript target selection. Node.js programs can also call ncc through its programmatic interface, with options for caching, externals, minification, source maps, and asset builds. It supports TypeScript, binary addons, and dynamic requires; `.mjs` files and `.js` files inside a `type: module` package boundary produce ES module output automatically. TypeScript `.ts` and `.tsx` inputs need a `tsconfig.json` file. Some packages may need extra configuration, and dynamically loaded assets that cannot be analyzed statically may not work correctly. ncc is distributed on npm as `@vercel/ncc`; the global install command is `npm i -g @vercel/ncc`. The repository is MIT licensed.

Good

  • Compiles a Node.js module into one file
  • Built-in TypeScript support
  • Offers minification and source maps
  • Free and MIT licensed

Watch out

  • TypeScript inputs require a tsconfig.json file
  • Dynamically loaded assets may not work correctly
  • Some packages may require extra configuration

Who it suits

ncc suits Node.js developers who want to package a module and its dependencies into one file, including for npm publishing or serverless environments. It also offers a programmatic interface for Node.js projects.

Verdict

ncc provides a free way to bundle Node.js code, with build options for common packaging needs and a programmatic interface. Check package-specific setup and the limits around dynamically loaded assets before relying on a build.

Plans and prices

From ncc's own pricing page, checked 9 Oct 2026.

All about pricing
PlanPriceWhat it gives you
@vercel/nccFreeMIT-licensed open-source CLI

The facts

Each one read from ncc's own pages, with the date it was checked.

What it does

Build options
The CLI offers minification, source maps, asset builds, externals, watch mode, and ECMAScript target selection.checked 9 Oct 2026
Compatibility caveat
Dynamically loaded assets that cannot be statically analyzed may not work correctly because files and assets are relocated using a static evaluator.checked 9 Oct 2026
Configuration
The design goals include zero configuration and built-in TypeScript support.checked 4 Oct 2026
Design goals
Its design goals include zero configuration, built-in TypeScript support, and support for Node.js programs and npm modules.checked 9 Oct 2026
Distribution
The README directs users to install ncc from npm as `@vercel/ncc`.checked 4 Oct 2026
Install
The README gives `npm i -g @vercel/ncc` as the global installation command.checked 4 Oct 2026
Installation
The README gives `npm i -g @vercel/ncc` as the installation command.checked 9 Oct 2026
Integrations
The package support guide gives configuration examples for Sequelize with MariaDB and for `@google-cloud/vision` with `google-proto-files`.checked 4 Oct 2026
Intended uses
The project lists publishing minimal npm packages and shipping relevant app code to serverless environments as motivations.checked 9 Oct 2026
License
The repository lists an MIT license.checked 9 Oct 2026
Module formats
When building an `.mjs` file or a `.js` file inside a `type: module` package boundary, ncc automatically creates ES module output.checked 9 Oct 2026
Node.js scope
The project supports Node.js programs as input and output.checked 4 Oct 2026
Package integration examples
The package support guide gives configuration examples for Sequelize with MariaDB and `@google-cloud/vision`.checked 9 Oct 2026
Package-specific setup
The project says some packages may need extra options to work better with ncc static analysis and directs users to its issue queue for troubleshooting.checked 9 Oct 2026
Programmatic use
The README documents using ncc from Node.js with options for caching, externals, minification, source maps, asset builds, and watch mode.checked 9 Oct 2026
Purpose
ncc is a CLI that compiles a Node.js module and its dependencies into a single file.checked 4 Oct 2026
Support channel
The package support guide suggests searching the issue queue or posting an issue when a package does not run with ncc.checked 9 Oct 2026
Supported inputs
It supports TypeScript, binary addons, and dynamic requires.checked 9 Oct 2026
TypeScript requirement
For `.ts` or `.tsx` inputs, the README says a `tsconfig.json` file is necessary.checked 4 Oct 2026
Use cases
The project lists publishing minimal npm packages and shipping only relevant app code to serverless environments as motivations.checked 4 Oct 2026
What it does
ncc is a CLI that compiles a Node.js module and its dependencies into a single file.checked 9 Oct 2026

Alternatives to ncc

All alternatives
  1. 1Rolldown logo

    Rolldown

    Free planAndroidWebAPILinux
    7.2Free plan
  2. 2SWC logo

    SWC

    Free planAndroidWebAPILinux
    7.1Free plan
  3. 3

    Rslib

    Free planWebAPILinuxmacOS
    6.8Free plan
  4. 4esbuild logo

    esbuild

    Free planAndroidWebAPILinux
    6.7Free plan
  5. 5
    6.6Free plan
  6. 6Vite logo

    Vite

    Free planWebLinuxmacOSWindows
    6.4Free plan