// ============================================================================== // Void-Genesis - Vite Konfiguration // ============================================================================== import { defineConfig } from 'vite'; export default defineConfig({ server: { // Erlaubt Vite, Verbindungen über diese spezifische Domain anzunehmen. // Verhindert den "Blocked request" Fehler hinter dem Nginx Proxy Manager. allowedHosts: [ 'lobby.void-genesis.de', 'dev.void-genesis.de' ], // 'host: true' stellt sicher, dass Vite auf 0.0.0.0 lauscht // (haben wir zwar im Dockerfile schon als Flag, ist hier aber sicherer) host: true, }, build: { // ---------------------------------------------------------------------- // EULA-Konformität: Base64-Zwang für alle Assets // ---------------------------------------------------------------------- // Wir setzen das Limit für das Inlining von Assets auf einen extrem hohen // Wert (hier ca. 100 MB). Standardmäßig liegt dieser Wert bei 4096 (4 KB). // Alles, was größer ist, wird von Vite normalerweise als separate Datei // (z. B. .png oder .jpg) im Ausgabeordner gespeichert. // // Durch diesen hohen Wert zwingen wir Vite dazu, sämtliche importierten // Assets zwingend als Base64-Strings direkt in die generierten JavaScript- // oder CSS-Dateien einzubetten. Dadurch liegen nach dem Build absolut // keine rohen, extrahierbaren Bilddateien mehr auf unserem Server. // ---------------------------------------------------------------------- assetsInlineLimit: 100000000, // Wir deaktivieren das Generieren von Source Maps für den produktiven Build. // Das ist wichtig, da Source Maps extrem groß werden können, wenn sie // riesige Base64-Strings enthalten. Außerdem erschwert es das Auslesen // unserer Struktur von außen. sourcemap: false, // Optional: Falls wir den Output noch weiter minimieren wollen, // können wir hier auch die CSS-Code-Splitting-Optionen anpassen, // aber für den Base64-Zwang reicht das assetsInlineLimit völlig aus. } });