{"id":19680,"library":"eslint-output","title":"eslint-output","description":"A wrapper around ESLint that exports multiple report formats (e.g., stylish, junit, gitlab) in a single run. v4.0.2 supports ESLint >=9 with Flat Config only. Configure via eslintoutput.config.js and CLI overrides. Releases are infrequent, with major version bumps tied to ESLint peer dep changes. Differentiator: eliminates need for multiple lint runs to get different formatters.","status":"active","version":"4.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/lwhiteley/eslint-output","tags":["javascript","eslint","multiple","outputs","format","formats","wrapper"],"install":[{"cmd":"npm install eslint-output","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-output","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-output","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Peer dependency: requires ESLint >=9 to run","package":"eslint","optional":false}],"imports":[{"note":"eslint-output is a CLI tool, not a library. Do not import it in code.","wrong":"import eslintOutput from 'eslint-output'","symbol":"default (no named export)","correct":"npm install --save-dev eslint-output"},{"note":"Use as a script in package.json, not required programmatically.","wrong":"require('eslint-output')","symbol":"eslint-output (CLI command)","correct":"npx eslint-output"},{"note":"Config file uses CommonJS (module.exports). ESLint config itself may be ESM.","wrong":"import config from './eslintoutput.config.js'","symbol":"ESLint config","correct":"const config = require('./eslintoutput.config.js')"}],"quickstart":{"code":"// eslintoutput.config.js\nmodule.exports = {\n  files: ['.'],\n  formats: [\n    { name: 'stylish', output: 'console' },\n    { name: 'junit', output: 'file', path: 'tmp/junit.xml' }\n  ]\n};\n\n// package.json\n\"scripts\": {\n  \"lint\": \"eslint-output\"\n}\n\n// Run\nnpm run lint","lang":"javascript","description":"Basic configuration with two formatters: console output and file output."},"warnings":[{"fix":"Rename config file to eslintoutput.config.js and ensure it uses module.exports.","message":"Config file renamed to eslintoutput.config.js in v4 (was eslintoutput.config.json or .js)","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Upgrade ESLint to v9 or later.","message":"ESLint peer dependency bumped to >=9; removed support for ESLint <9","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Migrate to ESLint Flat Config (eslint.config.js).","message":"Flat Config required; eslintrc configs no longer supported","severity":"breaking","affected_versions":">=4.0.0"},{"fix":"Install external formatters like eslint-formatter-junit.","message":"Built-in formatters removed from ESLint core (e.g., junit, gitlab, html)","severity":"deprecated","affected_versions":">=3.0.0"},{"fix":"Use absolute paths or run from correct directory.","message":"File paths are relative to cwd; may not resolve as expected in monorepos","severity":"gotcha","affected_versions":">=1.0.0"}],"env_vars":null,"last_verified":"2026-04-25T00:00:00.000Z","next_check":"2026-07-24T00:00:00.000Z","problems":[{"fix":"npm install --save-dev eslint@^9","cause":"ESLint not installed or version mismatch","error":"Cannot find module 'eslint'"},{"fix":"Create eslintoutput.config.js in project root.","cause":"Config file missing or wrong path","error":"Configuration file 'eslintoutput.config.js' not found"},{"fix":"npm install --save-dev eslint-formatter-junit","cause":"Formatters removed from ESLint core","error":"Error: Unsupported format 'junit'"},{"fix":"Ensure all plugins are installed and listed in flat config.","cause":"ESLint Flat Config migration issue","error":"Error while loading rule '...': Rule is not found"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}