import { tanstackStart } from '@tanstack/react-start/plugin/vite' import { defineConfig } from 'vite' import tsConfigPaths from 'vite-tsconfig-paths' import react from '@vitejs/plugin-react'; import { VitePWA } from 'vite-plugin-pwa' export default defineConfig(({ mode }) => ({ server: { port: 3000, allowedHosts: ["dev.flexxon.app", "flexxon.app"] }, ssr: { noExternal: mode === 'production' ? true : ['facehash'], }, plugins: [ tsConfigPaths({ projects: ['./tsconfig.json'], }), tanstackStart({ srcDirectory: 'src/app', }), react(), VitePWA({ registerType: 'autoUpdate', manifest: false, workbox: { globPatterns: ['**/*.{js,css,html,ico,png,svg,woff,woff2}'], runtimeCaching: [ { urlPattern: /^https:\/\/fonts\.googleapis\.com\/.*/i, handler: 'CacheFirst', options: { cacheName: 'google-fonts-cache', expiration: { maxEntries: 10, maxAgeSeconds: 60 * 60 * 24 * 365 // 1 year }, cacheableResponse: { statuses: [0, 200] } } }, { urlPattern: /^https:\/\/fonts\.gstatic\.com\/.*/i, handler: 'CacheFirst', options: { cacheName: 'gstatic-fonts-cache', expiration: { maxEntries: 10, maxAgeSeconds: 60 * 60 * 24 * 365 // 1 year }, cacheableResponse: { statuses: [0, 200] } } } ] }, devOptions: { enabled: false } }) ] }))