{"id":19651,"library":"eslint-formatter-summary","title":"eslint-formatter-summary","description":"ESLint formatter that aggregates linting results by rule, showing total errors and warnings per rule instead of per-file output. Current stable version is 2.0.2 (April 2025), with regular releases. Key differentiator: helps introduce ESLint to large codebases by summarizing rule failures, making it easier to suppress or prioritize fixes. Supports sorting by rule name, error count, or warning count via environment variables. Written in TypeScript, requires Node.js >=20.","status":"active","version":"2.0.2","language":"javascript","source_language":"en","source_url":"https://github.com/mhipszki/eslint-formatter-summary","tags":["javascript","eslint","eslint-formatter","summary","formatter","linting","report"],"install":[{"cmd":"npm install eslint-formatter-summary","lang":"bash","label":"npm"},{"cmd":"yarn add eslint-formatter-summary","lang":"bash","label":"yarn"},{"cmd":"pnpm add eslint-formatter-summary","lang":"bash","label":"pnpm"}],"dependencies":[],"imports":[{"note":"Use the shorthand name 'summary' when specifying the formatter, not the full package name.","wrong":"eslint -f eslint-formatter-summary ./src","symbol":"summary formatter","correct":"eslint -f summary ./src"},{"note":"Configuration is via environment variables only, not CLI flags.","wrong":"eslint -f summary --sort-by rule ./src","symbol":"SORT_BY environment variable","correct":"SORT_BY=rule eslint -f summary ./src"},{"note":"Use DESC=true to reverse sort order. Must be used with SORT_BY.","wrong":"eslint -f summary --desc ./src","symbol":"DESC environment variable","correct":"SORT_BY=errors DESC=true eslint -f summary ./src"}],"quickstart":{"code":"npm install -D eslint-formatter-summary\n# Create a test file with lint errors\necho 'const x = 1;' > test.js\n# Run ESLint with the summary formatter (ensure ESLint is installed)\neslint -f summary test.js\n# Output shows aggregated errors/warnings per rule\n# To sort by rule (ascending):\nSORT_BY=rule eslint -f summary test.js\n# To sort by errors descending:\nSORT_BY=errors DESC=true eslint -f summary test.js","lang":"javascript","description":"Installs the package and runs ESLint with the summary formatter, demonstrating basic usage and sorting via environment variables."},"warnings":[{"fix":"Upgrade Node.js to v20 or later.","message":"v2.0.0 drops support for Node.js versions below 20. Requires Node.js >=20.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Review output format for any changes in aggregation behavior.","message":"v2.0.0 rewrites the formatter in TypeScript and updates dependencies. Output format may have slight changes.","severity":"breaking","affected_versions":">=2.0.0"},{"fix":"Migrate to v2 and continue using env vars; no breaking change in usage.","message":"v1.x configuration via environment variables SORT_BY and DESC remain supported but may be removed in future.","severity":"deprecated","affected_versions":"<2.0.0"},{"fix":"Ensure ESLint is installed in the project (npm i -D eslint).","message":"The formatter expects ESLint to be installed as a peer dependency. It may not work if ESLint is missing.","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":"Run 'npm install -D eslint-formatter-summary' and ensure node_modules is present.","cause":"Package not installed or ESLint cannot locate the formatter.","error":"Error: Cannot find module 'eslint-formatter-summary'"},{"fix":"Use '-f summary' (the shorthand) after installing eslint-formatter-summary.","cause":"Using a formatter name that ESLint does not recognize.","error":"Invalid formatter 'summary'"},{"fix":"Upgrade Node.js to v20 or later, or use v1 (npm install eslint-formatter-summary@1).","cause":"Node.js version is below 20 when using v2.","error":"Error: Requires node >=20"}],"ecosystem":"npm","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}