Skip to content

svenschoenung/jshint-stylish-summary

Repository files navigation

npm Version Build Status Coverage Status Dependency Status devDependency Status Code Climate Codacy Badge Greenkeeper badge

jshint-stylish-summary

A stylish summary reporter for jshint. Best used in combination with jshint-stylish.

Brought on by this Stack Overflow question.

Screenshots

Default output with jshint (in combination with jshint-stylish):

Default output with gulp-jshint (in combination with jshint-stylish):

Installation

npm install --save-dev jshint-stylish-summary

Usage

With jshint

$ jshint --reporter=node_modules/jshint-stylish-summary src/js/*.js

Since jshint's CLI doesn't currently support multiple reporters it is necessary to create a wrapper reporter if jshint-stylish-summary should be used in combination with another reporter.

To use jshint-stylish-summary with, e.g., jshint-stylish, create a file reporter.js:

module.exports = {
  reporter: function(result, config, options) {
    require('jshint-stylish').reporter(result, config, options);
    require('jshint-stylish-summary').reporter(result, config, options);
  }
};

Then pass this file to jshint:

$ jshint --reporter=reporter.js src/js/*.js

Since jshint-stylish-summary needs to collect information about all files passing through the stream before it can log the results, it is not compatible with gulp-jshint's reporter() interface.

Instead use the collect() and summarize() functions that jshint-stylish-summary provides:

var jshintSummary = require('jshint-stylish-summary');

gulp.task('lint', function() {
  return gulp.src('src/**/*.js')
    .pipe(jshint('.jshintrc'))
    .pipe(jshint.reporter('jshint-stylish'))
    .pipe(jshintSummary.collect())
    .on('end', jshintSummary.summarize());
});

See the API documentation for a complete overview of all available functions and options.

License

MIT