test(r0.12): ESLint monorepo + parcours démo Playwright — R0.12 clos

- ESLint 10 flat config racine (typescript-eslint, react-hooks) ; règle
  ADR-001 codée : no-restricted-imports interdit « minio » partout sauf
  minio-storage.service.ts (violation vérifiée) ; jobs lint par paquet
- Playwright apps/web/e2e : redirection sans jeton, connexion démo 1 clic,
  coquille (rail actif, chip DÉMO), bascule de rôle chronométrée < 3 s
  (ADR-002), /design, déconnexion avec purge ; webServer api dist + vite,
  seed idempotent en globalSetup, PW_CHANNEL=chrome en local
- CI : jobs lint + e2e (services PostgreSQL/Redis, artefact
  playwright-report sur échec) ; vitest restreint à src/

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
pr-daaif
2026-07-15 22:36:17 +01:00
parent a9e51507aa
commit 36de93bb7e
15 changed files with 968 additions and 56 deletions

View File

@@ -0,0 +1,11 @@
import { execSync } from 'node:child_process';
import { fileURLToPath } from 'node:url';
/** Seed idempotent avant le parcours : mêmes comptes en local et en CI. */
export default function globalSetup() {
execSync('pnpm --filter @siop/api seed', {
cwd: fileURLToPath(new URL('../../..', import.meta.url)),
stdio: 'inherit',
env: process.env,
});
}