UglifyCSS is a port of YUI Compressor to NodeJS for its CSS part. Its name is a reference to the awesome UglifyJS but UglifyCSS is not a CSS parser. Like YUI CSS Compressor, it applies many regexp replacements. Note that a port to JavaScript is also available in the YUI Compressor repository.
UglifyCSS passes successfully the test suite of YUI compressor CSS.
For a command line usage:
$ npm install uglifycss -gFor API usage:
$ npm install uglifycssFrom Github:
$ git clone git://github.com/fmarcia/UglifyCSS.git$ uglifycss [options] css1 [css2] [...] > outputOptions:
--max-line-len nadds a newline (approx.) everyncharacters;0means no newline and is the default value--expand-varsexpands variables; by default,@variablesblocks are preserved andvar(x)s are not expanded--ugly-commentsremoves newlines within preserved comments; by default, newlines are preserved--cute-commentspreserves newlines within and around preserved comments
2 functions are provided:
processString( content, options )to process a given stringprocessFiles( [ filename1, ... ], options )to process the concatenation of given files
Options are identical to the command line:
<int> maxLineLenfor--max-line-len n<bool> expandVarsfor--expand-vars<bool> uglyCommentsfor--ugly-comments<bool> cuteCommentsfor--cute-comments
Both functions return uglified css.
var uglifycss = require('uglifycss');
var uglified = uglifycss.processFile(
[ 'file1', 'file2' ],
{ maxLineLen: 500, expandVars: true }
);
console.log(uglified);See also test.js.
UglifyCSS is MIT licensed.