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.
- 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).
Click here to view an example report.
Click here to view an example success report.
npm install eslint-detailed-reporter --save-dev
With ESLint CLI:
# 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
With Grunt ESLint:
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.
With Gulp ESLint:
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);
})
);
- lodash: Lodash modular utilities.
- eslint: An AST-based pattern checker for JavaScript.
- eslint-config-angular: ESLint shareable config for Angular plugin.
- eslint-plugin-angular: ESLint rules for your angular project with checks for best-practices, conventions or potential errors.
- eslint-plugin-lodash: Lodash-specific linting rules for ESLint.
- grunt: The JavaScript Task Runner.
- grunt-cli: The Grunt command line interface.
- grunt-eslint: Validate files with ESLint.
- load-grunt-tasks: Load multiple grunt tasks using globbing patterns.
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!
See CHANGELOG
MIT © Marcelo S. Portugal