Check JavaScript code style with jscs
JavaScript
Latest commit f7471e8 Jun 24, 2016 @sindresorhus sindresorhus 4.0.0

readme.md

gulp-jscs Build Status

Check JavaScript code style with JSCS

Issues with the output should be reported on the JSCS issue tracker.

Install

$ npm install --save-dev gulp-jscs

Usage

Reporting

const gulp = require('gulp');
const jscs = require('gulp-jscs');

gulp.task('default', () => {
	return gulp.src('src/app.js')
		.pipe(jscs())
		.pipe(jscs.reporter());
});

Fixing

const gulp = require('gulp');
const jscs = require('gulp-jscs');

gulp.task('default', () => {
	return gulp.src('src/app.js')
		.pipe(jscs({fix: true}))
		.pipe(gulp.dest('src'));
});

Reporting & fixing & failing on lint error

const gulp = require('gulp');
const jscs = require('gulp-jscs');

gulp.task('default', () => {
	return gulp.src('src/app.js')
		.pipe(jscs({fix: true}))
		.pipe(jscs.reporter())
		.pipe(jscs.reporter('fail'))
		.pipe(gulp.dest('src'));
});

Results

A jscs object will be attached to the file object.
An example with one error might look like this:

{
	success: false,  // or true if no errors
	errorCount: 1,   // number of errors in the errors array
	errors: [{       // an array of jscs error objects
		filename: 'index.js',  // basename of the file
		rule: 'requireCamelCaseOrUpperCaseIdentifiers',  // the rule which triggered the error
		message: 'All identifiers must be camelCase or UPPER_CASE',  // error message
		line: 32,  // error line number
		column: 7  // error column
	}]
};

API

JSCS config should be placed in a .jscsrc file.

jscs([options])

options

fix

Type: boolean
Default: false

Make JSCS attempt to auto-fix your files.
Be sure to pipe to gulp.dest if you use this option.

configPath

Type: string
Default: JSCS will search for the config file up to your home directory.

Set the path to the JSCS config file.
Only use this option when it can't be found automatically.

jscs.reporter([reporter])

reporter

Type: string
Default: console

See the JSCS reporter docs for supported input.

Can be used multiple times in the same pipeline.

This plugin also ships with some custom reporters:

  • fail - Emits an error at the end of the stream if there are lint errors.
  • failImmediately - Emits an error immediately if there are lint errors.

License

MIT © Sindre Sorhus