FREEDOM251

Freedom251 › JavaScript Build Tools

ncc

Free plan Linux

Visit ncc Alternatives Pricing

ncc's own site

What ncc is

ncc compiles a Node.js module and its dependencies into one file. The project lists publishing minimal npm packages and sending only relevant application code to serverless environments as reasons to use it. It accepts Node.js programs and supports TypeScript, binary addons, and dynamic requires. The project aims for zero-configuration builds and includes built-in TypeScript support. Its CLI offers minification, source maps, watched builds, external modules, and ECMAScript target selection. Node.js programs can also call ncc directly, with options for caching, externals, minification, source maps, and asset builds. For `.mjs` files and `.js` files within a `type: module` package boundary, it automatically creates ES module output. Install it from npm as `@vercel/ncc`; the listed plan is free. TypeScript `.ts` and `.tsx` inputs require a `tsconfig.json`. Dynamically loaded assets that static analysis cannot inspect may not work correctly. The project provides package configuration examples and recommends searching or posting in its issue queue when a package needs troubleshooting.

Who it suits

ncc suits Node.js developers who want to bundle modules for npm distribution or serverless environments. Its CLI and programmatic options support both direct builds and use from another Node.js program.

What it does well

  • Compiles modules and dependencies into one file
  • Supports TypeScript, binary addons, and dynamic requires
  • Offers minification, source maps, and watched builds
  • Can be called programmatically from Node.js
  • MIT-licensed and listed as free

What to know first

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

Limits

For TypeScript `.ts` and `.tsx` inputs, a `tsconfig.json` file is required. Dynamically loaded assets that cannot be statically analyzed may not work correctly, and some packages may need extra configuration options.

Plans

PlanBilled and limitsPrice
@vercel/nccMIT-licensed open-source CLIFree

As github.com lists them, read 9 Oct 2026. The maker's own page has the final word.

Getting started

  1. Install ncc globally from npm with `npm i -g @vercel/ncc`.
  2. Use a Node.js program or module as the build input.
  3. For `.ts` or `.tsx` input, provide a `tsconfig.json`.
  4. Choose CLI options such as minification, source maps, watched builds, externals, or an ECMAScript target as needed.
  5. For programmatic use, call the package from Node.js with the options your build needs.

Verdict

ncc provides command-line and programmatic options for bundling Node.js programs, with support for TypeScript and several build controls. Check the TypeScript configuration requirement and static analysis caveat against the packages and assets you plan to bundle.

Questions

How much does ncc cost?

The listed plan is free. The project is MIT-licensed.

Is there a free plan or free trial?

There is a free plan. There is no free trial.

Which platforms does it support?

Linux is the listed platform.

Where can I install ncc?

It is distributed on npm as `@vercel/ncc`. The global installation command is `npm i -g @vercel/ncc`.

Does ncc support TypeScript?

Yes. Inputs ending in `.ts` or `.tsx` require a `tsconfig.json` file.

What integrations are documented?

The package support guide provides configuration examples for Sequelize with MariaDB and for `@google-cloud/vision` with `google-proto-files`.

Facts from ncc's own pages

Build options
The CLI offers minification, source maps, asset builds, externals, watch mode, and ECMAScript target selection. · github.com, 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. · github.com, 9 Oct 2026
Configuration
The design goals include zero configuration and built-in TypeScript support. · github.com, 4 Oct 2026
Design goals
Its design goals include zero configuration, built-in TypeScript support, and support for Node.js programs and npm modules. · github.com, 9 Oct 2026
Distribution
The README directs users to install ncc from npm as `@vercel/ncc`. · github.com, 4 Oct 2026
Install
The README gives `npm i -g @vercel/ncc` as the global installation command. · github.com, 4 Oct 2026
Installation
The README gives `npm i -g @vercel/ncc` as the installation command. · github.com, 9 Oct 2026
Integrations
The package support guide gives configuration examples for Sequelize with MariaDB and for `@google-cloud/vision` with `google-proto-files`. · github.com, 4 Oct 2026
Intended uses
The project lists publishing minimal npm packages and shipping relevant app code to serverless environments as motivations. · github.com, 9 Oct 2026
License
The repository lists an MIT license. · github.com, 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. · github.com, 9 Oct 2026
Node.js scope
The project supports Node.js programs as input and output. · github.com, 4 Oct 2026
Package integration examples
The package support guide gives configuration examples for Sequelize with MariaDB and `@google-cloud/vision`. · github.com, 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. · github.com, 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. · github.com, 9 Oct 2026
Purpose
ncc is a CLI that compiles a Node.js module and its dependencies into a single file. · github.com, 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. · github.com, 9 Oct 2026
Supported inputs
It supports TypeScript, binary addons, and dynamic requires. · github.com, 9 Oct 2026
TypeScript requirement
For `.ts` or `.tsx` inputs, the README says a `tsconfig.json` file is necessary. · github.com, 4 Oct 2026
Use cases
The project lists publishing minimal npm packages and shipping only relevant app code to serverless environments as motivations. · github.com, 4 Oct 2026
What it does
ncc is a CLI that compiles a Node.js module and its dependencies into a single file. · github.com, 9 Oct 2026

Where ncc stands on Freedom251

Look at these too