// Copyright (c) 2026 Gordon Bolton. MIT License. import { defineConfig, loadEnv } from 'vite' import path from 'path' export default defineConfig(({ mode }) => { // Load env variables from root directory to match backend TLS configuration const env = loadEnv(mode, path.resolve(__dirname, '..'), ''); const port = env.PORT || 3001; const tlsEnabled = (env.TLS_ENABLED || 'true').toLowerCase() !== 'false'; const target = `${tlsEnabled ? 'https' : 'http'}://localhost:${port}`; return { build: { outDir: '../public', emptyOutDir: false, rollupOptions: { input: { main: './src/main.js' }, output: { entryFileNames: 'app.js', chunkFileNames: '[name].js', assetFileNames: '[name][extname]' } } }, server: { port: 5173, host: true, // Listen on all network interfaces proxy: { '/api': { target: target, changeOrigin: true, secure: false // Allow self-signed certificate in development } } } }; });