feat: update source files, Dockerfile, vite config and service worker
This commit is contained in:
+12
-9
@@ -9,10 +9,10 @@ import { VitePWA } from 'vite-plugin-pwa';
|
||||
export default defineConfig(async ({ mode }: ConfigEnv): Promise<UserConfig> => {
|
||||
// Load env file based on mode in correct order
|
||||
const env = loadEnv(mode, process.cwd(), 'VITE_');
|
||||
|
||||
|
||||
// Determine base URL from hostname
|
||||
const base = '/'; // Always use root path, let nginx handle the routing
|
||||
|
||||
|
||||
// Determine if we're in production based on mode and VITE_DEV flag
|
||||
const isProd = mode === 'production' && env.VITE_DEV !== 'true';
|
||||
|
||||
@@ -87,7 +87,7 @@ export default defineConfig(async ({ mode }: ConfigEnv): Promise<UserConfig> =>
|
||||
swDest: 'dist/sw.js',
|
||||
manifestTransforms: [
|
||||
// Transform manifest entries to ensure proper caching
|
||||
(entries) => ({
|
||||
(entries: any[]) => ({
|
||||
manifest: entries.map(entry => ({
|
||||
...entry,
|
||||
url: entry.url.startsWith(base) ? entry.url : `${base}${entry.url.startsWith('/') ? entry.url.slice(1) : entry.url}`
|
||||
@@ -106,6 +106,8 @@ export default defineConfig(async ({ mode }: ConfigEnv): Promise<UserConfig> =>
|
||||
'import.meta.env.VITE_SUPABASE_ANON_KEY': JSON.stringify(env.VITE_SUPABASE_ANON_KEY),
|
||||
'import.meta.env.VITE_SUPER_ADMIN_EMAIL': JSON.stringify(env.VITE_SUPER_ADMIN_EMAIL),
|
||||
'import.meta.env.VITE_DEV': env.VITE_DEV === 'true',
|
||||
'import.meta.env.VITE_API_BASE': JSON.stringify(env.VITE_API_BASE),
|
||||
'import.meta.env.VITE_SEARCH_URL': JSON.stringify(env.VITE_SEARCH_URL),
|
||||
},
|
||||
envPrefix: 'VITE_',
|
||||
base,
|
||||
@@ -125,6 +127,13 @@ export default defineConfig(async ({ mode }: ConfigEnv): Promise<UserConfig> =>
|
||||
port: parseInt(env.VITE_PORT_FRONTEND || '5173'),
|
||||
clientPort: parseInt(env.VITE_PORT_FRONTEND_HMR || '5173'),
|
||||
overlay: false
|
||||
},
|
||||
proxy: {
|
||||
'/searxng-api': {
|
||||
target: env.VITE_SEARCH_URL,
|
||||
changeOrigin: true,
|
||||
rewrite: (path: string) => path.replace(/^\/searxng-api/, '')
|
||||
}
|
||||
}
|
||||
},
|
||||
clearScreen: false,
|
||||
@@ -143,12 +152,6 @@ export default defineConfig(async ({ mode }: ConfigEnv): Promise<UserConfig> =>
|
||||
} : undefined,
|
||||
rollupOptions: {
|
||||
output: {
|
||||
manualChunks: {
|
||||
'vendor-react': ['react', 'react-dom', 'react-router-dom'],
|
||||
'vendor-mui': ['@mui/material', '@mui/icons-material'],
|
||||
'vendor-tldraw': ['@tldraw/tldraw', '@tldraw/store', '@tldraw/tlschema'],
|
||||
'vendor-utils': ['axios', 'zustand', '@supabase/supabase-js']
|
||||
},
|
||||
// Ensure chunk filenames include content hash
|
||||
chunkFileNames: isProd ? 'assets/[name].[hash].js' : 'assets/[name].js',
|
||||
assetFileNames: isProd ? 'assets/[name].[hash][extname]' : 'assets/[name][extname]'
|
||||
|
||||
Reference in New Issue
Block a user