{"id":19629,"library":"eslint-detailed-reporter","title":"ESLint Detailed Reporter","description":"An HTML reporter for ESLint that provides detailed output including total problem counts, tables of top warnings and errors, a list of files with the most issues, source code views with highlighted problems, and per-file summaries. Current version 0.9.0 supports ESLint 3.x to 8.x (peer dep: eslint >=3.0.0 <9). It features links to rule descriptions, keyboard accessibility, and optional multi-file output. Updated sporadically, last release in 2020.","status":"maintenance","version":"0.9.0","language":"javascript","source_language":"en","source_url":"https://github.com/mportuga/eslint-detailed-reporter","tags":["javascript","eslint","formatter","reporter","lint","html","validate","detailed","plato"],"install":[{"cmd":"npm install eslint-detailed-reporter","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-detailed-reporter","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-detailed-reporter","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Used for utility functions in the reporter","package":"lodash","optional":false}],"imports":[{"note":"Package exports a single function via default export; ESM import works as shown. For CommonJS, use require('eslint-detailed-reporter').","wrong":"const reporter = require('eslint-detailed-reporter').default","symbol":"reporterFn","correct":"import reporter from 'eslint-detailed-reporter'"},{"note":"The multi-file formatter must be referenced via its full path to lib/detailed-multi.js. Single-file formatter is at lib/detailed.js.","wrong":"eslint . -f eslint-detailed-reporter -o report.html","symbol":"format path (multi-file)","correct":"eslint . -f node_modules/eslint-detailed-reporter/lib/detailed-multi.js -o report.html"},{"note":"In Grunt, you must pass the required function, not a string. The string approach will not work.","wrong":"format: 'eslint-detailed-reporter'","symbol":"format option in Grunt","correct":"format: require('eslint-detailed-reporter')"}],"quickstart":{"code":"// Install\nnpm install eslint-detailed-reporter --save-dev\n\n// Run ESLint with the reporter (single file output)\neslint file.js -f node_modules/eslint-detailed-reporter/lib/detailed.js -o report.html\n\n// Run ESLint with the reporter (multi-file output, experimental)\neslint . -f node_modules/eslint-detailed-reporter/lib/detailed-multi.js -o report.html\n\n// Alternative: use the exported module for programmatic usage\nconst reporter = require('eslint-detailed-reporter');\nconst fs = require('fs');\nconst results = /* get ESLint results */;\nconst html = reporter(results);\nfs.writeFileSync('report.html', html);","lang":"javascript","description":"Shows installation, CLI usage for single and multi-file output, and programmatic usage with Node.js."},"warnings":[{"fix":"Use an older version of ESLint (e.g., 8.x) or consider alternatives like eslint-formatter-html.","message":"ESLint >=9 is not supported. The peer dependency specifies eslint >=3.0.0 <9, so ESLint 9 and above will not work.","severity":"gotcha","affected_versions":">=9.0.0"},{"fix":"Stick with single-file mode for stability. If using multi-file, test thoroughly.","message":"The multi-file output feature is marked as BETA and may have bugs.","severity":"gotcha","affected_versions":"all"},{"fix":"Use format: require('eslint-detailed-reporter') instead of format: 'eslint-detailed-reporter'.","message":"When using Grunt, you must pass the reporter function via require, not a string.","severity":"gotcha","affected_versions":"all"},{"fix":"Use eslint.format(reporter, function(results) { fs.writeFileSync(...) });","message":"With Gulp, you need to call eslint.format with a callback to write the HTML output; just passing the reporter won't generate a file.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"Run npm install eslint-detailed-reporter --save-dev and ensure you are using require('eslint-detailed-reporter') (CommonJS) or import from 'eslint-detailed-reporter' (ESM).","cause":"The package was not installed or the require path is incorrect.","error":"Cannot find module 'eslint-detailed-reporter'"},{"fix":"For CommonJS: const reporter = require('eslint-detailed-reporter'); For ESM: import reporter from 'eslint-detailed-reporter'. In Grunt, use require('eslint-detailed-reporter') as the format value.","cause":"Using default import incorrectly in ESM or supplying a string to format option in Grunt/ESLint config.","error":"TypeError: reporter is not a function"},{"fix":"In programmatic or config usage, pass the require'd function directly, not a string. For CLI, use -f node_modules/eslint-detailed-reporter/lib/detailed.js.","cause":"Using a string for the format option in ESLint configuration object (e.g., in .eslintrc) is not supported; only CLI -f accepts string paths.","error":"Error: ESLint configuration is invalid: \"format\" must be a function or a full path to a formatter file."}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}