A CLI wrapper for cssnano
A CLI tool that runs CSS files through a set of optimizations provided by cssnano. It exposes a bin called cssqueeze
.
Install via npm which is bundled with node:
$ npm install -g cssqueeze
$ cssqueeze --source source.css --destination bundle.min.css
# squeezed into -> ./bundle.min.css
Include a [hash]
in the destination filename to generate a unique hash code based on the source content:
$ cssqueeze --source source.css --destination bundle.[hash].min.css
# squeezed into -> ./bundle.0d422da9649ff811b3c90224cca0680c.min.css
See cssqueeze --help
for more info.
This tool uses cssnano as the optimization module. By default it wil use all advanced optimizations provided by cssnano.
Use the --config
flag to pass a custom json configuration file. This allows you to enable / disable optimizations and to pass options to the individual optimization modules.
$ cssqueeze --config config.json
The following configuration file disables the postcss-discard-comments plugin and sets autoprefixer browser targets to those that have more than 5% global usage statistics.
{
"source": "./source.config.css",
"destination": "./bundle.[hash].min.css",
"plugins": {
"postcss-discard-comments": false,
"autoprefixer": {
"browsers": ["> 5%"],
"add": true
}
}
}