mirror of
https://github.com/developit/microbundle.git
synced 2026-01-18 13:56:35 +00:00
Microbundle
The zero-configuration bundler for tiny modules, powered by Rollup.
✨ Features:
- Bundles your library using nothing but a
package.json - Support for ESnext & async/await (via Bublé & Nodent)
- 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
🔧 Installation
npm i -D microbundle
... then add the scripts to your package.json:
{
"scripts": {
"build": "microbundle",
"dev": "microbundle watch"
}
}
📦 Usage
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.
microbundle / microbundle build
By default, microbundle will infer the location of your source entry file
(the root module in your program) from the module field in your package.json. It will infer the output directory and filename(s) from the main field.
microbundle watch
Just like microbundle build, but watches your source files and rebuilds on any change.
All CLI Options
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]
--compress Compress output using UglifyJS
[boolean] [default: true]
--strict Enforce undefined global context and add "use
strict" [default: false]
🛣 Roadmap
Here's what's coming up for Microbundle:
🥂 License
MIT
Languages
JavaScript
100%