[siː juː ʤeɪ ɛs] – Cosmic UglifyJS
A CLI wrapper around
uglifyjs. Configurable with sensible defaults.
great sane again!
It turns this
$ npm i -D cujs uglify-es
uglify-es, you can install any other package that provides a binary named
uglifyjs with a compatible interface.
cujs uses cosmiconfig to collect configuration before calling
uglifyjs. That means,
cujs will look for configuration (all the way up the directory tree until it hits the home directory) in the following places:
.cujsrcfile in JSON or YAML format
cujs.config.jsfile exporting a JS object
You can use camelCase variants of all options supported by
uglifyjs in your configuration. In addition to that, you can also configure input files with the
input key instead of passing them as arguments. Consider this example
moduleexports =input: 'foo.js' 'bar.js'output: 'foo.min.js'compress: falsesourceMap: url: "foo.min.js.map"
This corresponds to the following
foo.js bar.js --output foo.min.js --no-compress --source-map url="foo.min.js.map"
cujs applies the following defaults that differ from those of
mangle: truecompress: truesourceMap: truecomments: /@preserve|@license|@cc_on|^!/i
cujs tries to be smart about some things. For example, when sourcemaps are enabled, it infers
sourceMap.url and looks for a input source map to use as
sourceMap.content. However, if you explicitly set any of those keys,
cujs won't touch them.
If in doubt, run as
DEBUG=cujs cujs to see what's going on.
MIT © Raphael von der Grün