gulp-jscs-with-reporter
v1.4.0
Published
Check JavaScript code style with jscs
Downloads
14
Maintainers
Readme
gulp-jscs-with-reporter
gulp-jscs plugin, add reporter support.
Why
as of now, gulp-jscs can not support custom report like gulp-jshint
i need a custom report, like gulp-jshint-file-reporter and gulp-jshint-html-reporter
before offcial support that ( there are already a pull request and a issue about that, but as of now those are also waiting merge to master)
i need this feather , so i fork from gulp-jscs and add reporter support.
Install
$ npm install --save-dev gulp-jscs-with-reporter
Usage
you can use custorm reporter and jscs
build-in reporter.
api: jscs.reporter(reporter, options)
use jscs
build-in reporter
gulp.task('lint', function () {
//jscs build-in reporters:
// - checkstyle xml format
// - console default, with color in terminal
// - inline format inline: `{filename}: line {line}, col {col}, {msg}`
// - inlinesingle inline as well
// - junit junit xml format
// - text plain text
return gulp.src('./lib/**/*.js')
.pipe(jscs(jsCsConfig)) //jsCsConfig should read from pr
.pipe(jscs.reporter('inline'))
});
jscs build-in reporters (may change, rely on jscs)
use custom reporter
gulp.task('lint', function () {
return gulp.src('./lib/**/*.js')
.pipe(jscs(jsCsConfig)) //jsCsConfig should read from pr
.pipe(jscs.reporter(__dirname + '/gulp-jscs-custom-reporter', {
filename: __dirname + '/jscs-output.html'
}));
});
** first param **
the jscs.reporter()
first param report can be a string or a module instance:
__dirname + '/gulp-jscs-html-reporter'
require(__dirname + '/gulp-jscs-html-reporter')
all of the two ways work fine!
but you must know if first param is a string ,we will try jscs build-in first, then require it as an module. so if you want to require a module which name is as same as jscs build-in reporter, you should use the second way.
** options ** the options will trans to reporter as a second param.
a reporter stream handler should like this:
// this is a transform handle
// - errorsCollection is came from one stream file jscs check
// - options is came from above
module.exports = function( errorsCollection, options ) {
//handle one stream jscs check result
}
** reporter.beforeAll
and reporter.afterAll
**
sometimes, in custom reporter, we need do something before jscs checking or after that. we can use these two funciton binding for that:
// this is a init handle
// before first stream came this function will run first
module.exports.beforeAll = function( options ) {
//do something before all jscs checking
}
// this is a winding up handle
// so we transform all errorCollection in every stream file in the firm param
module.exports.afterAll = function( allErrorsCollection, options ) {
//do something after all jscs checking and use all collects
}