The zero-configuration bundler for tiny modules, powered by Rollup.
- One dependency to bundle your library using only a
package.json - Support for ESnext & async/await (via Bublé & Nodent)
- Produces tiny, optimized code for all inputs
- Supports multiple entry modules (
cli.js+index.js, etc) - Creates multiple output formats for each entry (CJS, UMD & ESM)
- Built-in Uglify compression & gzipped bundle size tracking
npm i -D microbundle
... then add the scripts to your package.json:
{
"scripts": {
"build": "microbundle",
"dev": "microbundle watch"
}
}Microbundle includes two commands - build (the default) and watch. Neither require any options, but you can tailor things to suit your needs a bit if you like.
By default, microbundle will infer the location of your source entry file
(the root module in your program) from the source field in your package.json. It will infer the output directory and filename(s) from the main field. For UMD builds, microbundle will use a snake case version of the name field in your package.json for the export name; you can also specify a name via an amdName field or the name CLI option.
Just like microbundle build, but watches your source files and rebuilds on any change.
microbundle [entries..]
Build once and exit
Commands:
cli.js build [entries..] Build once and exit [default]
cli.js watch [entries..] Rebuilds on any change
Options:
--version Show version number [boolean]
--entry, -i Entry module(s)
[string] [default: <package.module>]
--output, -o Directory to place build files into
[string] [default: <dirname(package.main), build/>]
--cwd Use an alternative working directory
[string] [default: .]
--format Only build specified formats
[string] [default: es,cjs,umd]
--target Specify your target environment
[string] [default: node]
--compress Compress output using UglifyJS
[boolean] [default: true]
--strict Enforce undefined global context and add "use
strict" [default: false]
--name Specify name exposed in UMD builds [string]
Here's what's coming up for Microbundle:
