Files
planer/vitest.config.ts
T
Florian WildeandClaude Opus 5 de1f923767 chore: Projektgerüst und Werkzeugkette einrichten
Next 16 mit App Router und standalone-Ausgabe, React 19, TypeScript strict,
Tailwind 4, Vitest und Playwright. Alle Versionen exakt gepinnt.

Abweichungen vom ursprünglich notierten Stand, jeweils begründet:
- Prisma 7.10.0 statt 6, weil 6 überholt ist und 8 nur als RC vorliegt.
- TypeScript 6.0.3 statt 7, weil typescript-eslint 8 nur "<6.1.0" trägt.
- ESLint 9.39.5 statt 10, weil das in eslint-config-next gebündelte
  eslint-plugin-react noch context.getFilename() benutzt.
- npm-overrides für SimpleWebAuthn und nodemailer, weil next-auth dort
  ältere optionale Peers deklariert. Die betroffenen next-auth-Provider
  werden nicht benutzt: Passkeys laufen direkt über SimpleWebAuthn 14.

"npm run pruefen" bündelt Prettier, ESLint, tsc, Vitest und ShellCheck.
ShellCheck läuft über das Docker-Abbild, wenn es lokal fehlt.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-09-10 12:41:28 +02:00

42 lines
1.1 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
import react from '@vitejs/plugin-react'
import { defineConfig } from 'vitest/config'
export default defineConfig({
plugins: [react()],
resolve: {
// Loest den Alias @/ aus der tsconfig.json auf.
tsconfigPaths: true,
},
test: {
// Die Zeitrechnung des Planers gilt in Europe/Berlin. Damit Tests nicht
// von der Zeitzone des Rechners abhaengen, laufen sie in UTC – so faellt
// sofort auf, wenn irgendwo die Ortszeit des Servers durchschlaegt.
env: { TZ: 'UTC' },
coverage: {
provider: 'v8',
reportsDirectory: 'coverage',
include: ['src/lib/**/*.ts'],
exclude: ['**/*.test.ts'],
},
projects: [
{
extends: true,
test: {
name: 'logik',
environment: 'node',
include: ['src/lib/**/*.test.ts', 'src/server/**/*.test.ts'],
},
},
{
extends: true,
test: {
name: 'oberflaeche',
environment: 'jsdom',
include: ['src/components/**/*.test.tsx', 'src/app/**/*.test.tsx'],
setupFiles: ['./test/aufbau-oberflaeche.ts'],
},
},
],
},
})