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>
42 lines
1.1 KiB
TypeScript
42 lines
1.1 KiB
TypeScript
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'],
|
||
},
|
||
},
|
||
],
|
||
},
|
||
})
|