Sign Up for Free

RunKit +

Try any Node.js package right in your browser

This is a playground to test code. It runs a full Node.js environment and already has all of npm’s 1,000,000+ packages pre-installed, including gulp-csso with all npm packages installed. Try it out:

var gulpCsso = require("gulp-csso")

This service is provided by RunKit and is not affiliated with npm, Inc or the package authors.

gulp-csso v4.0.1

Minify CSS with CSSO.

gulp-csso Build Status NPM version Dependency Status

Minify CSS with CSSO.

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

Install

With npm do:

npm install gulp-csso --save-dev

Example

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'));
});

API

csso([options])

options

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}).

restructure

Type: boolean
Default: true

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

sourceMap

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'));
});
debug

Type: boolean
Default: false

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

usage

Type: object Default: null

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

Contributing

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

License

MIT © Ben Briggs

RunKit is a free, in-browser JavaScript dev environment for prototyping Node.js code, with every npm package installed. Sign up to share your code.
Sign Up for Free