CodeVetter · Repo Unpack · Feature catalog
eslint/eslint
The primary interfaces lint paths or supplied text and return diagnostics with configurable severity. Users can apply fixes, choose report formats, inspect effective configuration, and manage suppression allowances. Optional caching and concurrency change execution strategy. Separate convenience flags delegate setup, MCP serving, and interactive configuration inspection to external packages.
- lintFiles() accepts file/directory/glob inputs; empty inputs default to '.', unless passOnNoPatterns requests an empty result.
- The CLI supports stdin with --stdin-filename; lintText() matches configuration using a resolved filename or __placeholder__.js and optionally reports ignored input.
- --fix and --fix-dry-run both enable fix generation, but only --fix invokes outputFixes(); --fix-type restricts fixes and stdin requires dry-run mode.
- Reports support built-in, npm, or file-path formatters and an optional output file; formatter calls receive cwd, result metadata, and lazily computed rule metadata.
- --quiet filters displayed warnings; --max-warnings can still require warning rules to execute and causes failure when the threshold is exceeded.
- --print-config calculates and prints one file's configuration; --help, --version, and --env-info return informational output through early CLI branches.
- Bulk suppression commands create allowances for all or selected rules, prune obsolete allowances, and normally reject leftover unused suppressions with exit status 2.
- Optional cache strategies are metadata/content and concurrency can choose worker execution; --init, --mcp, and --inspect-config delegate to @eslint/config, @eslint/mcp, and @eslint/config-inspector respectively.