Skip to content

lukeed/bundt

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
bundt
A simple bundler for your delicious modules~!

Features

  • Release CommonJS, ES Module, and UMD targets
  • Easily configured through your package.json
  • Optionally control Terser settings

Gotchas

Your code is prepared for release targets as written!

  • Does not transpile your code
    AKA – no Babel or Buble
  • Does not inline dependencies
    AKA – no Rollup or Webpack

If you need either of these, using microbundle comes highly recommended!

Seriously, I write wonky ES5 code in a single file...
bundt only puts a name to the builder script I copy & paste between libraries.
You are 99.9999% more likely to do better with microbundle and/or to not outgrow it.

Install

$ npm install --save-dev bundt

Usage

# display help text
$ bundt --help

# build with "lib/index.js" as your entry file
$ bundt lib/index.js

# build with "src/index.js" (default)
$ bundt

Configuration

Most configuration lives within your package.json file. The following keys are evaluated:

  • "main" — the destination for your CommonJS file
    Defaults to dist/{pkg.name}.js – always built!

  • "module" — the destination for your ES Module file
    A ESM file will not be built if unspecified!

  • "unpkg" or "umd:main" — the destination for your UMD file
    A UMD file will not be built if unspecified!

  • "umd:name" or "name" — the globally exposed name for your UMD factory
    You should use an alternate umd:name if your name is not alphanumeric!

  • "modes" — a map of "mode" names and their entry files
    Your "default" mode will use the destinations defined above.
    All other modes replace dist with its name as the new directory.

  • "terser" — custom Terser options for minification
    Alternatively, you may use a .terserrc file~!

License

MIT © Luke Edwards


Logo by iconicbestiary

About

A simple bundler for your delicious modules

Resources

License

Stars

Watchers

Forks

Sponsor this project