From fcfb16fc5b995e15d1ed373341adf82dc15e1269 Mon Sep 17 00:00:00 2001 From: Matthieu Date: Fri, 19 Jun 2026 15:25:39 +0200 Subject: [PATCH] docs : correct LST-62 front verification gate (typecheck is not green on this stack) --- docs/superpowers/plans/2026-06-19-lst-62-socle-front.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/docs/superpowers/plans/2026-06-19-lst-62-socle-front.md b/docs/superpowers/plans/2026-06-19-lst-62-socle-front.md index 9885c9a..506814d 100644 --- a/docs/superpowers/plans/2026-06-19-lst-62-socle-front.md +++ b/docs/superpowers/plans/2026-06-19-lst-62-socle-front.md @@ -27,10 +27,17 @@ ## Vérification (pas de runner de tests JS dans ce projet) - **Back (Task 1)** : vraie TDD PHPUnit. -- **Front (Tasks 2-7)** : la verif = `typecheck` Nuxt + smoke test runtime. Commandes : +- **Front (Tasks 2-7)** : la verif = `typecheck` Nuxt (en LECTURE différentielle, cf. ci-dessous) + smoke test runtime. Commandes : - Typecheck : `cd /home/matthieu/dev_malio/Lesstime/frontend && npx nuxt typecheck` - Runtime : dev server `make dev-nuxt` (port 3002, proxy `/api` → nginx) ; vérifier manuellement la navigation + `curl` des endpoints via nginx (`http://localhost:8082/api/...`). Les containers sont up. +> **⚠️ `nuxt typecheck` n'est PAS un gate vert sur ce projet (constat 2026-06-19).** Le baseline Lesstime est déjà rouge (~230 lignes `error TS`), et le projet de référence **Starseed (même Nuxt 4.3.1, même layout `shared/` + `srcDir: '.'`) ship en prod avec 325 erreurs `error TS`**. Ces erreurs sont des classes structurelles attendues, pas des régressions : +> - dans `shared/composables/*` et `shared/stores/*` : `Cannot find name 'ref'/'useApi'/'useRoute'/'navigateTo'/'defineStore'/'useToast'/'useNuxtApp'…` — Nuxt 4 type le dossier `shared/` sous un `tsconfig.shared.json` isolé sans les globals d'auto-import, alors que `imports.dirs` les rend bien disponibles au RUNTIME (vérifié dans `.nuxt/imports.d.ts`). Starseed a exactement ces 15 erreurs et fonctionne. +> - dans `nuxt.config.ts` : `node:fs`/`node:path`/`__dirname`/`process` (pas de `@types/node` — comme Starseed) ; ce fichier est compilé par Nuxt au runtime, pas par `tsc`. +> - dans `useApi.ts` : `Property 'url' does not exist…` (préexistant, code forké de Starseed). +> +> **Le vrai gate front** = (1) **ZÉRO erreur `Cannot find module '~/shared/…'` / chemin cassé** (sinon un import a vraiment été cassé par un déplacement) ; (2) les auto-imports attendus présents dans `.nuxt/imports.d.ts` ; (3) smoke runtime sur le dev server. Ne JAMAIS s'arrêter sur les classes d'erreurs structurelles ci-dessus — elles sont identiques à la référence Starseed. + --- ### Task 1: Backend — gate de rôle dans la sidebar (`roles`) + config complète