44 lines
2.1 KiB
JavaScript
44 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: [
|
|
'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.
|
|
}
|
|
}); |