CodeVetter · Repo Unpack · Testing signals
typescript-eslint/typescript-eslint
Tests and CI were inspected, not executed; no passing result or measured coverage is asserted. Vitest supplies package suites, with RuleTester cases, parser snapshots, mocked service tests, and packed-package integrations. CI conditionally selects affected packages and adds compatibility and snapshot checks. The inspected configuration excludes website suites from the root test project, so it does not establish browser-flow coverage; the inventory remains bounded.
- The shared Vitest configuration enables globals, disables isolation and watch mode, installs console-fail-test setup, discovers test/test-d files, and configures source coverage with fixture exclusions.
- Parser service tests discover .src.ts fixtures, snapshot converted ASTs, and assert that parser services contain a Program for configured parsing paths.
- no-floating-promises tests use createRuleTesterWithTypes, include accepted handling/void examples, and assert suggestion outputs; the helper defaults typed tests to projectService unless a project was requested.
- Project-service tests mock configuration parsing and host configuration, while useProgramFromProjectService tests substitute service/program factories; these assertions exercise branch behavior without proving complete real-tsserver interoperability.
- Cleanup-throttle tests use a fake service and performance timers to check first cleanup, 249/250 ms boundaries, out-of-open cleanup, argument/this forwarding, return values, and thrown errors.
- Preset tests compare metadata-derived rule selections against all, disable-type-checked, and recommended configs; scope fixtures discover JS/TS/JSX/TSX files with per-fixture analysis options.
- Integration Vitest setup packs public packages and installs temporary fixture dependencies; ESLint integration tests run --fix-dry-run, parse JSON output, normalize paths, and compare snapshots, including an ESLint-v9 fixture.
- CI shards affected plugin tests on Linux with Node 18/24, runs a separate project-service mode, and aggregates required checks; Windows configuration skips rule suites, and the root Vitest project excludes website and website-eslint projects.