postcss-csso
PostCSS plugin to minify CSS using CSSO.
Under the hood the plugin converts PostCSS
AST into CSSO
format, optimises it and converts back. The plugin uses either input PostCSS
tree nodes or their clones on reverse convertation. So shape of original PostCSS
tree nodes persists the same after compression in most cases (e.g. properties added by other plugins isn't lost). Also this allows to generate source map correctly.
Performance of the plugin is approximately the same as CSSO
has (see CSSO
numbers in comparison table).
If you have any difficulties with the output of this plugin, please use the CSSO tracker.
Install
npm install postcss-csso
Usage
var postcss = require('postcss');
var csso = require('postcss-csso');
postcss([
csso
])
.process('.a { color: #FF0000; } .b { color: rgba(255, 0, 0, 1) }')
.then(function(result) {
console.log(result.css);
});
Plugin accepts the same options as minify()
method of CSSO with no any changes.
postcss([
csso({ restructure: false })
])
.process('.a { color: #FF0000; } .b { color: rgba(255, 0, 0, 1) }')
.then(function(result) {
console.log(result.css);
});
License
MIT