Skip to content

Latest commit

 

History

History
93 lines (63 loc) · 3.21 KB

README.md

File metadata and controls

93 lines (63 loc) · 3.21 KB

microbundle
npm travis

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