Files

45 lines
2.1 KiB
JavaScript

// ==============================================================================
// 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.
}
});