docs: WS-3 session 1b-iii complete — baseline 32 → 1

ARCH-CONSOLIDATION-2026-04.md §6.8: session 1b-iii recorded. Three
restpunten from 1b-ii resolved:
- indent SwitchCase: 1 (24 items in useTimeSlotDropdown.ts)
- lines-around-comment per-*.vue override (3 items in
  PortalLayout/PublicLayout/AppKpiCard)
- axios.ts async/await rewrite (2 promise/no-promise-in-callback
  warnings on lines 61, 73)

Lint baseline: 32 → 1. The remaining 1 item is a pre-existing
sonarjs/no-collapsible-if at useImpersonationStore.ts:103 — was
already in the 32 baseline (not specifically called out in 1b-iii's
three planned tasks per scope rules).

WS-3 lint cleanup workstream complete; session 1c
(eslint-plugin-boundaries) can proceed on a clean baseline.

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-04-29 18:49:46 +02:00
parent b164a4979d
commit 5512e22f2b

View File

@@ -530,6 +530,27 @@ Zie §4 voor scope en stappen.
codebase's `SwitchCase: 1` style), en 2 promise/no-promise-in-callback codebase's `SwitchCase: 1` style), en 2 promise/no-promise-in-callback
warnings in `lib/axios.ts:61,73` (Q4's `void` prefix recipe blijkt warnings in `lib/axios.ts:61,73` (Q4's `void` prefix recipe blijkt
empirisch de rule niet te kalmeren — vraag voor 1b-iii). empirisch de rule niet te kalmeren — vraag voor 1b-iii).
- **Sessie 1b-iii (2026-04-29)** — _lint baseline mop-up, klaar._
Drie restpunten uit 1b-ii afgesloten via twee `.eslintrc.cjs`
tweaks en één axios refactor: (1) `indent` rule krijgt
`{ SwitchCase: 1 }` om de codebase-style te matchen (resolveert 24
items in useTimeSlotDropdown.ts in één config-regel, geen code-rewrite
nodig); (2) per-`*.vue` override op `lines-around-comment` met
`beforeBlockComment: false` + `beforeLineComment: false` zodat
SFC `<script>`-tag-aangrenzende comments het rule niet meer triggeren
(resolveert 3 items in PortalLayout/PublicLayout/AppKpiCard, lost
het 1b-ii-empirisch geconstateerde conflict met `vue/block-tag-newline`
op); (3) axios response interceptor herschreven van
`error => { void import(...).then(...) }` naar
`async error => { ... await import(...) }` — semantisch identiek
(de 2 sites navigeren beide via `window.location.href` weg) maar
voldoet wel aan `promise/no-promise-in-callback`. Build smoke
groen (12.13s). Baseline ging van **32 → 1**. Het laatste item is
een pre-existing `sonarjs/no-collapsible-if` op
`useImpersonationStore.ts:103` — niet in scope van 1b-iii's
drie geplande wijzigingen, doorschuiven naar follow-up. WS-3 lint
cleanup workstream effectief afgerond; sessie 1c
(eslint-plugin-boundaries) kan starten op een schone baseline.
**Klaar-criteria:** **Klaar-criteria:**
- `apps/portal/` is verwijderd - `apps/portal/` is verwijderd