node package manager

gulp-csso

Minify CSS with CSSO.

gulp-csso

Minify CSS with CSSO.

If you have any difficulties with the output of this plugin, please use the CSSO tracker.

With npm do:

npm install gulp-csso --save-dev
var gulp = require('gulp');
var csso = require('gulp-csso');
 
gulp.task('default', function () {
    return gulp.src('./main.css')
        .pipe(csso())
        .pipe(gulp.dest('./out'));
});
 
gulp.task('development', function () {
    return gulp.src('./main.css')
        .pipe(csso({
            restructure: false,
            sourceMap: true,
            debug: true
        }))
        .pipe(gulp.dest('./out'));
});

For backwards compatibility it can also be a boolean. In this case, the inverted value is set to options.restructure (e.g. true becomes {restructure: false}).

Type: boolean
Default: true

The default is to use structure minimization for maximum compression. Pass false instead if you want to disable this feature.

Type: boolean
Default: depends on input file has a source map or not

Specify this to generate source map; by default a source map is generated only if the input file has a source map. Pass true to ensure that the source map is generated or false to disable this.

Alternatively, you can enable source maps support using gulp-sourcemaps:

var gulp = require('gulp');
var csso = require('gulp-csso');
var sourcemaps = require('gulp-sourcemaps');
 
gulp.task('default', function () {
    return gulp.src('main.css')
        .pipe(sourcemaps.init())
        .pipe(csso())
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest('./out'));
});

Type: boolean
Default: false

Pass true or a positive number (greater number for more details) to get some debugging information about the minification process.

Type: object Default: null

Usage data for advanced optimisations (read more in the CSSO documentation).

Pull requests are welcome. If you add functionality, then please add unit tests to cover it.

MIT © Ben Briggs