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
$ bundt --help
$ bundt lib/index.js
$ 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