import { defineConfig } from "vite"; import laravel from "laravel-vite-plugin"; import tailwindcss from "@tailwindcss/vite"; // SSL-Konfiguration - für Entwicklung ohne echte Zertifikate const httpsConfig = process.env.NODE_ENV === "production" ? { // In Produktion: echte Zertifikate verwenden key: process.env.SSL_KEY_PATH, cert: process.env.SSL_CERT_PATH, } : true; // Self-signed für Entwicklung export default defineConfig({ plugins: [ laravel({ input: [ // Web Theme CSS Dateien "resources/css/web/shared-styles.css", "resources/css/web/theme-b2in.css", "resources/css/web/theme-b2a.css", "resources/css/web/theme-stileigentum.css", "resources/css/web/theme-style2own.css", "resources/js/app.js", ], refresh: ["resources/views/web/**/*.blade.php"], }), tailwindcss({ config: "./tailwind.web.config.js", }), ], server: { https: false, // Traefik übernimmt SSL, Vite läuft intern auf HTTP cors: true, host: "0.0.0.0", port: 5175, // Web-spezifischer Port hmr: { host: "assets.b2in.test", // oder assets-web.b2in.test protocol: "wss", // Explizit wss für WebSocket Secure // WICHTIG: Die 'port'-Angabe hier entfernen! // Der Browser soll den Standard-Port (443) von Traefik nutzen. }, // Das origin ist nicht mehr notwendig, da der HMR-Port wegfällt. }, build: { outDir: `public/build/${process.env.THEME || 'web'}`, assetsDir: "", manifest: "manifest.json", rollupOptions: { output: { manualChunks: undefined, }, }, }, });