bunchee
zero config bundler for JavaScript/TypeScript/JSX library
Bunchee can help you to bundle your library into one file with zero configuration. It's built on top of rollup and babel.
Let you focus on writing code and can generate multiple types of module (commonjs, esmodule) at the same time.
Installation
npm install --save-dev bunchee
Usage
CLI
Usage: bunchee [options]
Options:
-v, --version output the version number
-w, --watch watch src files changes
-o, --output <file> specify output filename
-f, --format <format> specify bundle type. esm, cjs, umd. default is esm
-b, --bin output with shebang banner at top of file
-h, --help output usage information
Usage:
$ bunchee ./src/index.js # if you set main fields in package.json
$ bunchee ./src/index.ts -o ./dist/bundle.js # specify the dist file path
Use NPM Script
Declare your main field and module field in package.json, then call bunchee cli in build scripts
{
"main": "dist/pkg.cjs.js",
"module": "dist/pkg.esm.js",
"scripts": {
"build": "bunchee ./src/index.js"
}
}
Use CLI
cd <project-root-dir>
bunchee ./src/index.js -f cjs -o ./dist/bundle.js
bunchee ./src/index.js -f esm -o ./dist/bundle.esm.js