Git Product home page Git Product logo

microbundle's Introduction

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

  Usage
    $ microbundle <command> [options]

  Available Commands
    build    Build once and exit
    watch    Rebuilds on any change

  For more info, run any command with the `--help` flag
    $ microbundle build --help
    $ microbundle watch --help

  Options
    -v, --version    Displays current version
    -i, --entry      Entry module(s)
    -o, --output     Directory to place build files into
    -f, --format     Only build specified formats  (default es,cjs,umd)
    -w, --watch      Rebuilds on any change  (default false)
    --target         Specify your target environment  (default node)
    --external       Specify external dependencies, or 'none'
    --compress       Compress output using UglifyJS  (default true)
    --strict         Enforce undefined global context and add "use strict"
    --name           Specify name exposed in UMD builds
    --cwd            Use an alternative working directory  (default .)
    --sourcemap      Generate source map  (default true)
    -h, --help       Displays this message

Specifying builds in package.json

You can specify output builds in a package.json as follows:

"main": "dist/foo.js",          // CJS bundle
"umd:main": "dist/foo.umd.js",  // UMD bundle
"module": "dist/foo.m.js",      // ES Modules bundle
"source": "src/foo.js",         // custom entry module (same as 1st arg to microbundle)

๐Ÿ›ฃ Roadmap

Here's what's coming up for Microbundle:

๐Ÿ”จ Built with Microbundle

  • Stockroom Offload your store management to a worker easily.
  • Microenvi Bundle, serve, and hot reload with one command.
  • react-recomponent Reason-style reducer components for React using ES6 classes.

๐Ÿฅ‚ License

MIT

microbundle's People

Contributors

andarist avatar developit avatar forsakenharmony avatar freeman avatar g-plane avatar greenkeeper[bot] avatar gribnoysup avatar jaredpalmer avatar jescalan avatar jesstelford avatar jvorcak avatar kevlened avatar kristoferbaxter avatar lukeed avatar maciej-ka avatar mattdesl avatar mistakenelf avatar msfragala avatar ngryman avatar nicksrandall avatar philipp-spiess avatar robinmalfait avatar rtorr avatar tlvince avatar tusbar avatar tymondesigns avatar vutran avatar wcastand avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.