Introduction
Running command roly
it will compile src/index.js
to:
dist/[name].common.js # commonjs format
The [name]
is name
in package.json
or index
as fallback.
You can also generate UMD bundle and compress it with: roly --format umd --compress umd
, then you get:
dist/[name].js # umd format dist/[name].min.js # compressed umd format dist/[name].min.js.map # compressed file will automatically get sourcemaps
Not enough? You can have them all in one command roly --format cjs,es,umd --compress umd
:
dist/[name].js # umd format dist/[name].min.js # umd format and compressed dist/[name].min.js.map # sourcemap for umd format dist/[name].common.js # commonjs format dist/[name].es.js # es-modules format
Note: In UMD
format all third-party libraries will be bundled in dist files, while in other formats they are excluded.
Install
npm install -g roly# prefer local install npm install roly --save-dev
Dive into the documentation if you are ready to bundle!
FAQ
targets
option?
Why not use Rollup's As per Rollup Command Line Interface:
input: 'src/main.js' plugins: output: file: 'dist/bundle.cjs.js' format: 'cjs' file: 'dist/bundle.umd.js' format: 'umd' file: 'dist/bundle.es.js' format: 'es'
You can use an array as targets
to generate bundles in multiple formats, which is really neat and helpful.
However, you can't apply different plugins to different target, which means you still need more config files. For example, add rollup-plugin-node-resolve
and rollup-plugin-commonjs
in umd
build, and what about minification? It's yet another config file.
While in roly, it's as simple as running:
roly src/main.js --format cjs --format umd --format es --compress umd
Everything can be done via CLI options, if it's too long to read, you can keep them in roly
field in package.json
:
"roly": "entry": "src/main.js" "format": "cjs" "umd" "es" "compress": "umd"
License
MIT © ULIVZ