import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vite'; import { VitePWA } from 'vite-plugin-pwa'; export default defineConfig({ plugins: [ sveltekit(), VitePWA({ registerType: 'autoUpdate', strategies: 'generateSW', injectRegister: 'auto', workbox: { globPatterns: ['**/*.{js,css,html,svg,png,ico,woff,woff2}'], navigateFallback: 'index.html', navigateFallbackDenylist: [/^\/api/, /^\/healthz/], runtimeCaching: [ { urlPattern: /^\/api\//, handler: 'NetworkFirst', options: { cacheName: 'api-cache', networkTimeoutSeconds: 5, cacheableResponse: { statuses: [0, 200] } } } ] }, manifest: { name: 'Wotra — Working Time Tracker', short_name: 'Wotra', description: 'Track your working hours, close days and weeks, compute overtime.', theme_color: '#1a1a2e', background_color: '#f8f9fa', display: 'standalone', start_url: '/', icons: [ { src: '/icon-192.png', sizes: '192x192', type: 'image/png' }, { src: '/icon-512.png', sizes: '512x512', type: 'image/png' } ] } }) ], server: { proxy: { '/api': 'http://localhost:8080', '/healthz': 'http://localhost:8080' } } });