Home

Awesome

gulp-stylint Build Status

Gulp plugin for stylus stylint linter

Install

$ npm install --save-dev gulp-stylint

Usage

var gulp = require('gulp');
var stylint = require('gulp-stylint');

gulp.task('default', function () {
	return gulp.src('src/*.styl')
		.pipe(stylint())
		.pipe(stylint.reporter());
});

Custom options

var gulp = require('gulp');
var stylint = require('gulp-stylint');

gulp.task('default', function () {
	return gulp.src('src/*.styl')
		.pipe(stylint({config: '.stylintrc'}))
		.pipe(stylint.reporter());
});

Reporters

Standard

Standard reporter is just printing out the report created from stylint (possibly formatted by #reporter).

var gulp = require('gulp');
var stylint = require('gulp-stylint');

gulp.task('default', function () {
	return gulp.src('src/*.styl')
		.pipe(stylint())
		.pipe(stylint.reporter());
});

Reporter options

logger

Type: function
Default: console.log

Default warnings log function, you can use for example gutil.log.

var gulp = require('gulp');
var stylint = require('gulp-stylint');

gulp.task('default', function () {
	return gulp.src('src/*.styl')
		.pipe(stylint())
		.pipe(stylint.reporter({ logger: gutil.log.bind(null, 'gulp-stylint:') }));
});

Fail-reporter

Another reporter you can use is the fail-reporter. You can use it to fail the gulp-process in the case of linting-errors, or optionally warnings.

var gulp = require('gulp');
var stylint = require('gulp-stylint');

gulp.task('default', function () {
	return gulp.src('src/*.styl')
		.pipe(stylint())
		.pipe(stylint.reporter())
		.pipe(stylint.reporter('fail'));
});

Fail-reporter options

failOnWarning

Type: boolean
Default: false If provided, fail the process not only on errors from stylint, but also on warnings.

var gulp = require('gulp');
var stylint = require('gulp-stylint');

gulp.task('default', function () {
	return gulp.src('src/*.styl')
		.pipe(stylint())
		.pipe(stylint.reporter())
		.pipe(stylint.reporter('fail', { failOnWarning: true }));
});

API

stylint(options)

options

type: object

config

Type: string
Default: undefined

Pass in path to custom rules configuration file as a string. If no configuration is passed in, it will use the .stylintrc file in the project root if present. If that file is not present, it will use default rules.

rules

type: object
Default: undefined

Pass in an object with rules for stylint to lint by. This will override all default rules.

reporter

type: string or object
Default: undefined

If using rules, and you want to use a custom reporter, you can pass in either a string with it's name, or an object containing both a string with the name, and options for it.
If you only pass in config, this config can be placed in that file instead.

Example:

gulp.task('default', function () {
  return gulp.src('src/*.styl')
    .pipe(stylint({
      rules: { semicolons: 'always' },
      reporter: {
        reporter: 'stylint-stylish',
        reporterOptions: {
          verbose: true
        }
      }
    }))
    .pipe(stylint.reporter());
}

NOTE: You must install the reporter yourself. E.g. npm i -D stylint-stylish.

License

MIT © Daniel Husar