Entwicklung & Deployment
Lokale Entwicklung
Abschnitt betitelt „Lokale Entwicklung“cd appnpm installnpm run dev # Vite-Dev-ServerDie Datenquelle steuert VITE_DATA_SOURCE:
supabase— gegen das echte Backend (Standard),memory— In-Memory-Daten, ohne Backend (für Tests/E2E).
| Art | Werkzeug | Zweck |
|---|---|---|
| Unit/Integration | Vitest | reine Logik, Komponenten (jsdom) |
| End-to-End | Playwright | App im Memory-Modus, ohne Secrets |
Beide laufen im CI (.github/workflows/ci.yml) als Gate. Vitest und der
Playwright-Runner sind getrennt — die E2E-Specs unter app/e2e/ sind aus dem
Vitest-Lauf ausgeschlossen.
npm run test # Vitestnpm run e2e # Playwright (baut zuerst den Memory-Build)Release-Disziplin
Abschnitt betitelt „Release-Disziplin“Bei jedem Deploy:
src/version.ts—APP_VERSIONhochzählen.src/changelog.ts— neuen Eintrag oben ergänzen (ZeitpunktEurope/Berlin).src/roadmap.ts— bei abgeschlossenen MeilensteinenROADMAP_DONEpflegen.- Gate lokal grün:
npx tsc --noEmit,npx vitest run,npm run build. - Commit + Push.
Auslieferung
Abschnitt betitelt „Auslieferung“- App: Push auf
main→ Cloudflare Workers Build baut und deployt den Workertagwerkautomatisch (Static Assets ausdist/). - Datenbank: Migrationen unter
app/supabase/migrations/werden persupabase db pushauf das Projekt angewandt.