0edf4a789c
Extract Express app factory for testability, add Vitest/Supertest API smoke tests, root npm run check script, and deployment docs. Fix express-rate-limit IPv6 keyGenerator for feedback limiter. Co-authored-by: Cursor <cursoragent@cursor.com>
39 lines
1.0 KiB
Markdown
39 lines
1.0 KiB
Markdown
# Pre-Deploy-Checks (ohne CI)
|
|
|
|
Vor jedem Update auf **https://kapteins-daagbok.eu/** lokal ausführen:
|
|
|
|
```bash
|
|
npm run check
|
|
```
|
|
|
|
Das Skript [`scripts/predeploy-check.sh`](../../scripts/predeploy-check.sh) führt aus:
|
|
|
|
1. i18n-Key-Validierung (`validate:i18n`)
|
|
2. Client: `test` → `build` (TypeScript via `tsc -b`)
|
|
3. Server: `test` → `build`
|
|
|
|
## Einzelbefehle (Repo-Root)
|
|
|
|
| Befehl | Inhalt |
|
|
|--------|--------|
|
|
| `npm run lint` | ESLint (Client) — optional, noch nicht Teil von `check` |
|
|
| `npm run test` | Vitest Client + Server |
|
|
| `npm run build` | Production-Build beider Pakete |
|
|
| `npm run predeploy` | Alias für `npm run check` |
|
|
|
|
## Server-Tests
|
|
|
|
Smoke-Tests in `server/src/api.smoke.test.ts` — keine echte Datenbank (Prisma gemockt). Prüfen u. a. Health, 401 ohne Session, öffentliche Collaboration-Validierung.
|
|
|
|
```bash
|
|
cd server && npm test
|
|
```
|
|
|
|
## Nach erfolgreichem Check
|
|
|
|
```bash
|
|
./scripts/update-prod.sh
|
|
```
|
|
|
|
Oder manuell auf dem Server: `git pull`, `docker compose build`, `docker compose up -d` (siehe [npm-security.md](npm-security.md)).
|