From a514f4986b1c3da77ff0121557b512768ba523b6 Mon Sep 17 00:00:00 2001 From: senke Date: Thu, 30 Apr 2026 15:25:15 +0200 Subject: [PATCH] ci(web): tighten ESLint --max-warnings to 1204 baseline (was 2000) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The CI lint step was running with `--max-warnings=2000`, which left ~800 warnings of headroom — meaning every PR could quietly add new warnings without anyone noticing. The "raise gradually" intent in the comment never converted to action. Locked the gate at the current count (1204) so the dette stops growing. Top contributors : - 721 no-restricted-syntax (custom rule, mostly unicode/i18n) - 139 @typescript-eslint/no-non-null-assertion (the `!` operator) - 134 @typescript-eslint/no-unused-vars - 115 @typescript-eslint/no-explicit-any - 47 react-hooks/exhaustive-deps - 25 react-refresh/only-export-components - 23 storybook/no-redundant-story-name Operational rule: lower this number as warnings are resorbed by feature work — never raise it. New code must not add warnings; if you genuinely need an exception, add `// eslint-disable-next-line -- ` rather than bumping the cap. Co-Authored-By: Claude Opus 4.7 (1M context) --- .github/workflows/ci.yml | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 07cb1b13a..1a2e6a878 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -124,11 +124,14 @@ jobs: working-directory: apps/web - name: Lint - # NOTE: --max-warnings is temporarily raised to 2000 while the - # team resorbs the ESLint warning backlog (1167 at last count, - # mostly @typescript-eslint/no-explicit-any and unused vars). - # Lower this gradually as warnings are fixed. - run: npx eslint --max-warnings=2000 . + # ESLint warning baseline freeze (v1.0.10 polish): + # 1204 is the current count of legacy warnings (mostly the + # custom no-restricted-syntax 721, plus @typescript-eslint + # no-non-null-assertion 139, no-unused-vars 134, + # no-explicit-any 115, react-hooks/exhaustive-deps 47). + # CI fails on ANY new warning. Lower this number as warnings + # are resorbed by feature work; never raise it. + run: npx eslint --max-warnings=1204 . working-directory: apps/web - name: Typecheck