Next.js 16, Prisma 7, Tailwind 4 und Vitest/Playwright, Konfiguration aus Laufzettel übernommen, weil dort derselbe Stack erprobt ist. Die Farben der Branding-Vorgabe stehen als Tokens in globals.css, das helle Theme setzt dieselben Namen neu. Amber und Rot sind dort abgedunkelt, sonst reicht der Kontrast nicht – ein Test prüft beide Themes gegen 4,5:1. Anmeldung mit lokalem Benutzer, Rolle je Anfrage aus der Datenbank, Audit-Log per Trigger nur anhängbar. Geprüft im gebauten Stand auf 1440 px und 390 px. Closes #001 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
48 lines
1.2 KiB
JavaScript
48 lines
1.2 KiB
JavaScript
import { defineConfig, globalIgnores } from "eslint/config";
|
||
import nextVitals from "eslint-config-next/core-web-vitals";
|
||
import nextTs from "eslint-config-next/typescript";
|
||
import prettier from "eslint-config-prettier/flat";
|
||
|
||
export default defineConfig([
|
||
...nextVitals,
|
||
...nextTs,
|
||
prettier,
|
||
{
|
||
rules: {
|
||
// Zod wird in src/lib/validierung.ts auf deutsche Meldungen eingestellt.
|
||
// Ein direkter Import aus "zod" umginge das, und die englischen
|
||
// Standardsaetze landeten in der Oberflaeche.
|
||
"no-restricted-imports": [
|
||
"error",
|
||
{
|
||
paths: [
|
||
{
|
||
name: "zod",
|
||
message:
|
||
'Bitte `import { z } from "@/lib/validierung"` benutzen – dort sind die deutschen Meldungen eingestellt.',
|
||
},
|
||
],
|
||
},
|
||
],
|
||
},
|
||
},
|
||
{
|
||
// Die Datei, die Zod einstellt, muss es selbst importieren duerfen.
|
||
files: ["src/lib/validierung.ts"],
|
||
rules: { "no-restricted-imports": "off" },
|
||
},
|
||
globalIgnores([
|
||
".next/**",
|
||
"out/**",
|
||
"build/**",
|
||
"coverage/**",
|
||
"next-env.d.ts",
|
||
// Erzeugter Prisma-Client.
|
||
"src/generated/**",
|
||
"test-results/**",
|
||
"playwright-report/**",
|
||
"dist/**",
|
||
"cli/**",
|
||
]),
|
||
]);
|