cssqueeze
A CLI tool to optimize CSS files
What is it?
A CLI tool that runs CSS files through a set of optimizations provided by cssnano. It exposes a bin called cssqueeze
.
Installation
Install via npm which is bundled with node:
$ npm install --global cssqueeze
CLI Usage
$ cssqueeze --source ../source.css --destination ../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
See cssqueeze --help
for more info.
Custom Configuration
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 --custom ../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
}
}
}