Files
irrlichtandClaude Opus 5.5 43c640dee6 Rechtstexte wieder gestylt: als Vite-Einstiege mit app.css gebaut
Die Seiten verlinkten /css/app.css, das es seit dem React-Umbau nicht mehr
gibt. Jetzt liegen sie unter frontend/static/docs, Vite baut sie mit und
schreibt den Link auf das gehashte app.css um; serveDoc liefert sie unter
den bisherigen Adressen /static/docs/… aus web/ aus.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TiXsPUqw7oeomZ8wZrQW5q
2026-09-27 15:14:53 +02:00

40 lines
1.3 KiB
TypeScript

import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
// Im Dev-Betrieb läuft das Go-Backend separat (siehe dev.env, Port 8081).
// Vite reicht /api und /static dorthin durch -- für den Browser bleibt alles
// eine Origin, Session-Cookie und Origin-Check funktionieren unverändert.
//
// changeOrigin: false ist Pflicht: die Kurzform (nur URL) setzt es auf true
// und schreibt den Host-Header auf das Backend um. Dann passt der Origin des
// Browsers nicht mehr zum Host und checkOrigin weist jeden POST als CSRF ab.
const backend = process.env.KVER_BACKEND ?? "http://127.0.0.1:8081";
const proxy = { target: backend, changeOrigin: false };
export default defineConfig({
plugins: [react()],
// Das Go-Backend liefert das Build aus web/ aus (siehe frontend.go).
// emptyOutDir muss explizit an sein, weil das Ziel außerhalb von frontend/
// liegt.
// Die Rechtstexte sind eigene statische Seiten ohne JS; als weitere Einstiege
// bekommen sie dasselbe gebaute app.css wie die App.
build: {
outDir: "../web",
emptyOutDir: true,
rollupOptions: {
input: [
"index.html",
"static/docs/impressum.html",
"static/docs/datenschutz.html",
"static/docs/beitragsordnung.html",
],
},
},
server: {
proxy: {
"/api": proxy,
"/static": proxy,
},
},
});