gulp-csslint

CSSLint plugin for gulp

gulp-csslint

CSSLint plugin for gulp 3

First, install gulp-csslint as a development dependency:

npm install --save-dev gulp-csslint

Then, add it to your gulpfile.js:

var csslint = require('gulp-csslint');
 
gulp.task('css', function() {
  gulp.src('client/css/*.css')
    .pipe(csslint())
    .pipe(csslint.reporter());
});

Type: Object

You can pass rule configuration as an object. See the list of rules by ID on the CSSLint wiki for valid rule IDs.

gulp.src('client/css/*.css')
  .pipe(csslint({
    'shorthand': false
  }))
  .pipe(csslint.reporter());

Type: String

You can also pass the path to your csslintrc file instead of a rule configuration object.

gulp.src('client/css/*.css')
  .pipe(csslint('csslintrc.json'))
  .pipe(csslint.reporter());

Adds the following properties to the file object:

file.csslint.success = true; // or false 
file.csslint.errorCount = 0; // number of errors returned by CSSLint 
file.csslint.results = []; // CSSLint errors 
file.csslint.opt = {}; // The options you passed to CSSLint 

Custom reporter functions can be passed as cssline.reporter(reporterFunc). The reporter function will be called for each linted file and passed the file object as described above.

var csslint = require('gulp-csslint');
var gutil = require('gulp-util');
 
var customReporter = function(file) {
  gutil.log(gutil.colors.cyan(file.csslint.errorCount)+' errors in '+gutil.colors.magenta(file.path));
 
  file.csslint.results.forEach(function(result) {
    gutil.log(result.error.message+' on line '+result.error.line);
  });
};
 
gulp.task('lint', function() {
  gulp.files('lib/*.css')
    .pipe(csslint())
    .pipe(csslint.reporter(customReporter));
});