Skip to content

freeman/microbundle

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

microbundle

Microbundle npm travis

The zero-configuration bundler for tiny modules, powered by Rollup.


✨ Features:

  • 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

🔧 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 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.

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]
  --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]

🛣 Roadmap

Here's what's coming up for Microbundle:

🥂 License

MIT

About

📦 Zero-configuration bundler for tiny modules.

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 100.0%