/eslint-detailed-reporter

Detailed HTML reporter for ESLINT.

Primary LanguageHTMLMIT LicenseMIT

eslint-detailed-reporter

Build npm version Downloads/month GitHub license Gitter GitHub issues FOSSA Status

A Detailed HTML reporter for ESLINT based on the code written by Julian Laval for eslint's default HTML reporter and inspired by Sven Piller's eslint-formatter-markdown and mochajs's HTML coverage report.

Features

  • Total count of problems on linted files(counting both errors and warnings)
  • Tables with top 5 warnings and errors in the linted files.
  • List of top 5 files with the most problems.
  • View of source code with issues for files with issues.
  • Summary of issues per file
  • Links to the rule descriptions for all default eslint rules, as well as angular and lodash rules.
  • Ability to filter file list to just error or warning files.
  • Keyboard accessible.
  • Can return either multiple files or a single file as the result. (This feature is in BETA).

Example

Click here to view an example report.

Click here to view an example success report.

Installation

npm install eslint-detailed-reporter --save-dev

Usage

# Single file
eslint file.js -f node_modules/eslint-detailed-reporter/lib/detailed.js -o report.html

# Recurse current directory
eslint . -f node_modules/eslint-detailed-reporter/lib/detailed.js -o report.html

# Recurse current directory with multiple files as the result
eslint . -f node_modules/eslint-detailed-reporter/lib/detailed-multi.js -o report.html
module.exports = function(grunt) {
	'use strict';

	require('load-grunt-tasks')(grunt);

	grunt.initConfig({
		eslint: {
			options: {
				outputFile: 'example/example-report.html',
				format: require('eslint-detailed-reporter')
			},
			target: ['test/**/*.js']
		}
	});

	grunt.registerTask('default', ['eslint']);
};
  • If you want to use the new multi file feature, you must use the full path to the detailed-multi file in the format section and add --outputDirectory= to the command line.
var eslint   = require('gulp-eslint'),
    reporter = require('eslint-detailed-reporter'),
    path     = require('path'),
    fs       = require('fs');

gulp.src(['js/**/*.js'])
  .pipe(eslint())
  .pipe(eslint.format(reporter, function(results) {
      fs.writeFileSync(path.join(__dirname, 'report-results.html'), results);
    })
  );

Dependencies

  • lodash: Lodash modular utilities.

Dev Dependencies

Contributing

Feel free to contribute!

Fork this repo and run the following commands to get started:

npm install
npm install -g grunt-cli
npm test

After that, just open a pull request and I will review it when I can!

For more detailed contributing instructions checkout out our contributing documentation!

Release History

See CHANGELOG

License

MIT © Marcelo S. Portugal

FOSSA Status