Files
fredy/vite.config.js
Michel c17a815263 fix: use absolute vite base so SPA deep links don't white-screen (#336)
With base '' the built index.html references assets relatively
(./assets/*). On deep links like /listings/listing/:id the browser
resolves those below the route path, the SPA fallback answers with
index.html and the page dies trying to execute HTML as a JS module.
Notification emails link directly to listing details, so every
'Open in fredy' link landed on a white screen.
2026-06-10 16:44:39 +02:00

44 lines
1.0 KiB
JavaScript

/*
* Copyright (c) 2026 by Christian Kellner.
* Licensed under Apache-2.0 with Commons Clause and Attribution/Naming Clause
*/
import react from '@vitejs/plugin-react';
import { defineConfig } from 'vite';
// https://vitejs.dev/config/
export default defineConfig({
// Must be absolute: with a relative base, asset URLs in index.html break on
// deep links like /listings/listing/:id (the SPA fallback serves index.html,
// but ./assets/* then resolves below the route path and loads HTML as JS).
base: '/',
build: {
chunkSizeWarningLimit: 9999999,
outDir: './ui/public',
emptyOutDir: true,
rollupOptions: {
output: {
manualChunks(id) {
if (id.includes('node_modules/maplibre-gl')) {
return 'maplibre-gl';
}
},
},
},
},
optimizeDeps: {
include: ['maplibre-gl'],
},
plugins: [react()],
server: {
proxy: {
'/api': {
target: {
host: '0.0.0.0',
protocol: 'http:',
port: 9998,
},
},
},
},
});