docs(backlog): record three tooling debt findings from WS-3 lint cleanup
- TECH-PORTAL-ESLINT-DEPS: audit apps/portal/package.json on the
same missing-direct-deps pattern uncovered in apps/app (commit
4369806). Cursor's strict ESLint resolution will hit identical
issues for portal users until fixed.
- TECH-ESLINT-V9-MIGRATION: ESLint v8.57.1 is EOL since end-2024.
Migration to v9 + flat config + modern @antfu/eslint-config is a
dedicated 1-2 day workstream.
- TECH-VSCODE-STALE-ADMIN-ENTRY: .vscode/settings.json still
references apps/admin in eslint.workingDirectories; removed in
April 2026. Trivial cleanup.
This commit is contained in:
@@ -543,6 +543,85 @@ apps/portal om drift te voorkomen.
|
||||
|
||||
---
|
||||
|
||||
### TECH-PORTAL-ESLINT-DEPS — Audit apps/portal/package.json op missing direct ESLint deps
|
||||
|
||||
**Aanleiding:** Tijdens de Cursor ESLint-integratie fix in `apps/app/`
|
||||
(commit `4369806`, 2026-04-30) bleek dat 15 ESLint plugins, parsers en
|
||||
configs alleen via pnpm-hoisting werden gevonden, niet als directe
|
||||
dependencies in `package.json`. Cursor's ESLint extension gebruikt
|
||||
strict module resolution en crashte op elke missing plugin in de
|
||||
`@antfu/eslint-config-vue` extends-chain. Aannemelijk dat
|
||||
`apps/portal/package.json` hetzelfde patroon heeft, want zelfde antfu-
|
||||
config-keten en zelfde pnpm-monorepo-structuur. Zonder fix breekt het
|
||||
ESLint-formatter pad voor iedereen die de portal opent in Cursor —
|
||||
zelfde 3-uur-diagnose die we vandaag hebben doorgemaakt.
|
||||
**Wat:**
|
||||
- Run de diagnose-keten van vandaag (`ls node_modules/.pnpm | grep
|
||||
"^eslint-plugin-"` vs `ls node_modules | grep "^eslint-plugin-"`,
|
||||
plus de scoped variant en `vue-eslint-parser`/`@antfu/eslint-config-*`
|
||||
audits) op `apps/portal/`.
|
||||
- Voeg alle ontbrekende plugins als directe deps toe via `pnpm add -D`
|
||||
met versies die matchen wat in pnpm store zit (zero version shifts).
|
||||
- Verifieer in Cursor dat de portal ESLint extension activeert zonder
|
||||
errors in Output Channel, en dat save-on-format ESLint correct firet.
|
||||
**Prioriteit:** Middel — moet vóór sessie 2 (Pages migration) waar
|
||||
portal-files actief in Cursor bewerkt worden. Niet kritisch nu, maar
|
||||
de eerste developer die portal in Cursor opent stuit op hetzelfde
|
||||
issue als vandaag.
|
||||
|
||||
---
|
||||
|
||||
### TECH-ESLINT-V9-MIGRATION — Migreer apps/app + apps/portal naar ESLint v9 + flat config
|
||||
|
||||
**Aanleiding:** ESLint v8.57.1 is end-of-life sinds eind 2024
|
||||
(zie pnpm install warnings: `eslint@8.57.1: This version is no longer
|
||||
supported`). Daarnaast zijn meerdere config-pakketten in onze chain
|
||||
deprecated en migreren naar flat config: `@antfu/eslint-config-vue`,
|
||||
`@antfu/eslint-config-basic`, `@antfu/eslint-config-ts`, en
|
||||
`eslint-plugin-markdown`. De huidige `.eslintrc.cjs` legacy-config
|
||||
werkt, maar er komen geen security fixes meer voor v8 en de transitieve
|
||||
deprecated-warnings groeien per `pnpm install`. Migratie naar v9 + flat
|
||||
config (`eslint.config.js`) + modern `@antfu/eslint-config` lost in één
|
||||
klap alle deprecated warnings op én moderniseert de toolchain.
|
||||
**Wat:**
|
||||
- Eigen workstream — niet meeliften op andere sprints want config-
|
||||
rewrite raakt 200+ regels.
|
||||
- ESLint 8.57.1 → 9.x upgrade.
|
||||
- `.eslintrc.cjs` (legacy) → `eslint.config.js` (flat config).
|
||||
- `@antfu/eslint-config@0.43.x` (legacy) → `@antfu/eslint-config@latest`
|
||||
(flat-config variant).
|
||||
- Alle plugins meeschalen naar versies die met v9 + flat config werken.
|
||||
- Test op apps/app + apps/portal — de hele lint-baseline moet groen
|
||||
blijven (0 problems voor app, baseline voor portal).
|
||||
- Hoort vóór WS-3 sessie 2 (pages migration) als de portal-eslint
|
||||
baseline ook op 0 staat, anders na alle WS-3 sessies. Schat 1-2
|
||||
dagen werk inclusief regression-fixing.
|
||||
**Prioriteit:** Middel-Hoog — security-EOL is een doorslaggevend
|
||||
argument; uitstel tot na WS-3 acceptabel maar niet onbeperkt. Eigen
|
||||
sprint waard, geen meelift-pad.
|
||||
|
||||
---
|
||||
|
||||
### TECH-VSCODE-STALE-ADMIN-ENTRY — Verwijder apps/admin uit .vscode/settings.json eslint.workingDirectories
|
||||
|
||||
**Aanleiding:** `.vscode/settings.json` bevat in
|
||||
`eslint.workingDirectories` nog een entry voor `apps/admin`, een
|
||||
directory die in april 2026 volledig is verwijderd (admin SPA gemerged
|
||||
in apps/app/ onder `/platform/*`). Cursor's ESLint extension skipt
|
||||
missende directories silently dus is harmless, maar het is dode config
|
||||
die bij toekomstig debugging voor verwarring kan zorgen.
|
||||
**Wat:**
|
||||
- Open `.vscode/settings.json`.
|
||||
- Verwijder uit `eslint.workingDirectories` de regel:
|
||||
`{ "directory": "apps/admin", "changeProcessCWD": true },`
|
||||
- Commit als `chore(tooling): remove stale apps/admin entry from
|
||||
.vscode/settings.json`.
|
||||
**Prioriteit:** Laag — triviaal cleanup-item, kan in elke gerelateerde
|
||||
tooling-sprint meeliften (TECH-PORTAL-ESLINT-DEPS of
|
||||
TECH-ESLINT-V9-MIGRATION zijn natuurlijke kandidaten).
|
||||
|
||||
---
|
||||
|
||||
### TECH-08 — Paginated response meta wordt weggegooid in organizer composables
|
||||
|
||||
**Aanleiding:** `apps/app/src/composables/api/useSections.ts` en
|
||||
|
||||
Reference in New Issue
Block a user