# Data flow — eslint/eslint

> Canonical page: https://codevetter.com/unpack/eslint/data-flow

# Data flow — eslint/eslint

Scanned commit bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7 (2026-10-02). Generated by codevetter codevetter 1.15.0 on 2026-10-02.

Source inspection; upstream code and tests were not executed.

CLI arguments become constructor options and appended configuration overrides. File discovery resolves physical paths, while text linting uses a filename for configuration matching. Parsing produces language-owned source representations that rules turn into diagnostics and fix ranges. Results then pass through persistence, suppression, formatting, and exit-status decisions.
- translateOptions() turns globals, parser selection, CLI rules, plugins, and extensions into overrideConfig; fix/dry-run, ignores, cache, flags, and statistics become ESLint options. — [lib/shared/translate-cli-options.js#L128-156](https://github.com/eslint/eslint/blob/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7/lib/shared/translate-cli-options.js#L128-L156) [lib/shared/translate-cli-options.js#L180-218](https://github.com/eslint/eslint/blob/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7/lib/shared/translate-cli-options.js#L180-L218)
- findFiles() resolves inputs against cwd, stats direct paths, loads configuration for explicit files, groups directory/glob searches, and deduplicates the resulting paths. — [lib/eslint/eslint-helpers.js#L569-639](https://github.com/eslint/eslint/blob/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7/lib/eslint/eslint-helpers.js#L569-L639)
- ConfigLoader caches lookup promises by starting directory and configuration-array promises by config path, then replaces promises with resolved values for synchronous cached access. — [lib/config/config-loader.js#L324-373](https://github.com/eslint/eslint/blob/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7/lib/config/config-loader.js#L324-L373)
- ParserService.parseSync() calls language.parse(), rejects promise results, creates SourceCode on success, and converts parse failures into severity-2 fatal diagnostics. — [lib/services/parser-service.js#L32-59](https://github.com/eslint/eslint/blob/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7/lib/services/parser-service.js#L32-L59)
- JavaScript parsing requests locations, ranges, tokens, comments, visitor keys, and scope information; parseForESLint() can additionally return parser services and its own scope manager. — [lib/languages/js/index.js#L238-288](https://github.com/eslint/eslint/blob/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7/lib/languages/js/index.js#L238-L288)
- runRules() derives severity/options and FileContext, registers rule selectors, traverses SourceCode synchronously, and forwards context.report() calls into FileReport. — [lib/linter/linter.js#L551-592](https://github.com/eslint/eslint/blob/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7/lib/linter/linter.js#L551-L592) [lib/linter/linter.js#L678-719](https://github.com/eslint/eslint/blob/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7/lib/linter/linter.js#L678-L719)
- verifyText() converts verifyAndFix() output into LintResult with messages, suppressed messages, counts, optional fixed output, original source for unresolved problems, and optional timing statistics. — [lib/eslint/eslint-helpers.js#L1153-1195](https://github.com/eslint/eslint/blob/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7/lib/eslint/eslint-helpers.js#L1153-L1195)
- Workers claim file indices through Atomics.add(), return indexed results through parentPort, and the controller restores input ordering before storing cache entries. — [lib/eslint/worker.js#L115-148](https://github.com/eslint/eslint/blob/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7/lib/eslint/worker.js#L115-L148) [lib/eslint/worker.js#L159-172](https://github.com/eslint/eslint/blob/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7/lib/eslint/worker.js#L159-L172) [lib/eslint/eslint.js#L509-513](https://github.com/eslint/eslint/blob/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7/lib/eslint/eslint.js#L509-L513) [lib/eslint/eslint.js#L571-594](https://github.com/eslint/eslint/blob/bc51eee6e3e816622b2dd1bc08acb9cfb2d3a6a7/lib/eslint/eslint.js#L571-L594)

Every claim links to its cited files at the pinned commit. Citations identify source evidence; they do not establish runtime correctness. Independent CodeVetter scan — not reviewed by upstream maintainers.

## Public product links

- [CodeVetter](https://codevetter.com/)
- [Download](https://codevetter.com/download)
- [Documentation](https://codevetter.com/docs/)
- [Source](https://github.com/Codevetter/codevetter)
