Open
Description
I think it'd be great to be able to do this:
package.json
{
"name": "foo", // your package name
"type": "module",
"source": "src/foo.js", // your source code
"exports": {
"require": "./dist/foo.cjs", // used for require() in Node 12+
"default": "./dist/foo.modern.js" // where to generate the modern bundle (see below)
},
"main": "./dist/foo.cjs", // where to generate the CommonJS bundle
"module": "./dist/foo.module.min.js", // where to generate the ESM bundle
// note the 'min' here 👇👇👇
"unpkg": "./dist/foo.umd.min.js", // where to generate the UMD bundle (also aliased as "umd:main")
"scripts": {
"build": "microbundle", // compiles "source" to "main"/"module"/"unpkg"
"dev": "microbundle watch" // re-build when source files change
}
}
Then expand the --compress
option to allow a regex. So, if you run --compress min
it's saying "Compress the outputs that contain the string min
". In the above case, it'd only minify the module
and unpkg
outputs.
This'd be useful to allow node users to use unminified code but browser users to use minified etc. It could be made to be non-breaking by making --compress true
and --compress false
special cases to enable/disable all.