Problem
packages/dredd/eslint.config.mjs is a flat config built only from @eslint/js (js.configs.recommended) plus eslint-config-prettier. It applies no configuration to .ts files, so running the CI lint form (eslint . bin/dredd) silently skips every TypeScript source — invoking eslint on a .ts file directly reports File ignored because no matching configuration was supplied.
This was tolerable when lib/ was almost entirely .js, but the .js → .ts conversion (#61) is now moving files out of lint coverage one batch at a time (e.g. the logging cluster in #62, the new lib/validation/ module). Lint coverage shrinks with every conversion.
Proposal
Add typescript-eslint to the flat config so .ts sources are linted:
- add
typescript-eslint dev dependency;
- extend
eslint.config.mjs with tseslint.configs.recommended (or a deliberately scoped subset) applied to **/*.ts;
- keep
eslint-config-prettier last so formatting stays delegated to Prettier;
- reconcile any findings the new rules surface on the already-converted
.ts files (lib/general.ts, lib/sortTransactions.ts, lib/validation/**, the logging cluster).
Acceptance criteria
eslint . bin/dredd lints .ts files (verified: introducing a deliberate lint error in a .ts file fails the command).
- CI
quality-checks stays green on main.
- No Prettier/ESLint rule conflicts (prettier config remains last).
Relates to #61.
Problem
packages/dredd/eslint.config.mjsis a flat config built only from@eslint/js(js.configs.recommended) pluseslint-config-prettier. It applies no configuration to.tsfiles, so running the CI lint form (eslint . bin/dredd) silently skips every TypeScript source — invoking eslint on a.tsfile directly reportsFile ignored because no matching configuration was supplied.This was tolerable when
lib/was almost entirely.js, but the.js→.tsconversion (#61) is now moving files out of lint coverage one batch at a time (e.g. the logging cluster in #62, the newlib/validation/module). Lint coverage shrinks with every conversion.Proposal
Add
typescript-eslintto the flat config so.tssources are linted:typescript-eslintdev dependency;eslint.config.mjswithtseslint.configs.recommended(or a deliberately scoped subset) applied to**/*.ts;eslint-config-prettierlast so formatting stays delegated to Prettier;.tsfiles (lib/general.ts,lib/sortTransactions.ts,lib/validation/**, the logging cluster).Acceptance criteria
eslint . bin/dreddlints.tsfiles (verified: introducing a deliberate lint error in a.tsfile fails the command).quality-checksstays green onmain.Relates to #61.