From 8d1c8f320bd8061bcb64cd5a744e1e414c1e363e Mon Sep 17 00:00:00 2001 From: Schalli Date: Mon, 21 Sep 2026 08:46:06 +0200 Subject: [PATCH] chore(quick-260921-bi2): Lint-Konfiguration bereinigen, Messgrundlage herstellen - overrides fuer Testdateien (noExplicitAny off) und apps/api (useImportType off, siehe Regelbeschreibung "Caveat with TypeScript experimental decorators") - Fixture-Ausnahme in files.includes ohne angehaengten Doppelstern (Biome-Hinweis useBiomeIgnoreFolder befolgt) - Entwickleranleitung auf den neuen Stand gebracht: 754 Befunde (633 echt, 121 Test), beide Ausnahmen begruendet, Folgeaufgaben benannt Rueckstand: 2923 -> 754, Fehlerstufe weiterhin 0. security-Regelgruppe unangetastet. Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_01TPPB4ApQxzSU1rwV2Ffj9J --- biome.json | 24 +++++++++++++++++++++++- docs/anleitung-entwicklung.md | 22 ++++++++++++++++------ 2 files changed, 39 insertions(+), 7 deletions(-) diff --git a/biome.json b/biome.json index f0e2316..4ae6d4a 100644 --- a/biome.json +++ b/biome.json @@ -8,7 +8,7 @@ "files": { "includes": [ "**", - "!**/__fixtures__/**", + "!**/__fixtures__", "!apps/web/src/app/globals.css" ] }, @@ -42,6 +42,28 @@ } } }, + "overrides": [ + { + "includes": ["**/*.spec.ts", "**/*.spec.tsx", "**/*.test.ts", "**/*.test.tsx"], + "linter": { + "rules": { + "suspicious": { + "noExplicitAny": "off" + } + } + } + }, + { + "includes": ["apps/api/**"], + "linter": { + "rules": { + "style": { + "useImportType": "off" + } + } + } + } + ], "javascript": { "parser": { "unsafeParameterDecoratorsEnabled": true diff --git a/docs/anleitung-entwicklung.md b/docs/anleitung-entwicklung.md index 6d8482b..1ad43b7 100644 --- a/docs/anleitung-entwicklung.md +++ b/docs/anleitung-entwicklung.md @@ -62,12 +62,22 @@ Linting/Formatierung laufen über **Biome** (`biome.json`, Zeilenlänge 100, 2 S aktiv) — es gibt kein ESLint/Prettier im Projekt. `pnpm lint` führt seit dem Vorgang #35 in jedem der fünf Workspaces tatsächlich `biome lint .` aus, und der CI-Schritt „Lint" prüft damit echt statt nur grün zu melden. Das Tor blockiert nur auf echte Fehler; Stilhinweise laufen als Warnungen mit -und stoppen den Lauf nicht. Aktuell stehen rund 2800 solcher Warnungen offen — überwiegend aus der -Regelfamilie um den Typ `any` sowie Barrierefreiheits-Hinweise in `apps/web` —, die bewusst als -eigener Durchlauf stehen bleiben und nicht Teil dieses Vorgangs waren. `pnpm lint` formatiert dabei -nichts und besteht auch nicht auf Formatierung; für Formatierung gibt es getrennt -`biome format --write`, das absichtlich von Hand angestoßen wird. Testrunner ist **Vitest** in -beiden Apps (`apps/api/vitest.config.ts`, `apps/web/vitest.config.ts`); für `apps/web` läuft die +und stoppen den Lauf nicht. Seit dem Vorgang 260921-bi2 trägt `biome.json` genau zwei gezielte +Ausnahmen, sonst keine: In Testdateien (`**/*.spec.ts`, `**/*.spec.tsx`, `**/*.test.ts`, +`**/*.test.tsx`) ist `suspicious/noExplicitAny` abgeschaltet, weil `any` dort ausnahmslos an +Attrappen hängt und eine Umschreibung viel Bewegung bei null Gewinn wäre. In `apps/api/**` ist +`style/useImportType` abgeschaltet, weil die dortige Korrektur die von NestJS über +`emitDecoratorMetadata` erzeugten Abhängigkeitsdaten zerstört — Biome räumt das in der eigenen +Regelbeschreibung ein (`biome explain useImportType`, Abschnitt „Caveat with TypeScript +experimental decorators") und rät dort selbst zum Abschalten bei solchen Dekoratoren; der Schaden +würde von keinem Tor dieses Projekts bemerkt, da kein Test `createTestingModule` aufruft. Nach der +Konfigurationsbereinigung steht der Rückstand bei 754 Warnungen (633 in echtem Quelltext, 121 in +Testdateien), Fehlerstufe weiterhin 0 — vorher waren es 2923. Als eigene, benannte Folgeaufgaben +stehen noch aus: ein maschineller Durchgang über die verbleibenden mechanischen Regeln plus toter +Code, und danach ein von Hand gepflegter Durchgang über die Barrierefreiheits-Befunde in `apps/web`. +`pnpm lint` formatiert dabei nichts und besteht auch nicht auf Formatierung; für Formatierung gibt es +getrennt `biome format --write`, das absichtlich von Hand angestoßen wird. Testrunner ist **Vitest** +in beiden Apps (`apps/api/vitest.config.ts`, `apps/web/vitest.config.ts`); für `apps/web` läuft die `jsdom`-Umgebung mit `@testing-library/react`. ## Lokale Entwicklungsumgebung