node package manager

postcss-csso

NPM version Build Status

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);
        // .a,.b{color:red} 
    });

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);
        // .a{color:red}.b{color:red} 
    });

License

MIT