import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; import { VitePWA } from 'vite-plugin-pwa'; export default defineConfig({ plugins: [ react(), VitePWA({ registerType: 'autoUpdate', includeAssets: ['icons/favicon-32.png', 'icons/apple-touch-icon.png'], manifest: { name: 'BergVOLT Materialschein', short_name: 'Materialschein', description: 'Materialschein & Kabelrechner für BergVOLT Elektrotechnik', start_url: '/', scope: '/', display: 'standalone', background_color: '#0a1622', theme_color: '#0a1622', lang: 'de', icons: [ { src: 'icons/icon-192.png', sizes: '192x192', type: 'image/png', purpose: 'any' }, { src: 'icons/icon-192.png', sizes: '192x192', type: 'image/png', purpose: 'maskable' }, { src: 'icons/icon-512.png', sizes: '512x512', type: 'image/png', purpose: 'any' }, { src: 'icons/icon-512.png', sizes: '512x512', type: 'image/png', purpose: 'maskable' } ] }, workbox: { // API-Aufrufe nie cachen – immer live, sonst sieht man veraltete Projektdaten. navigateFallbackDenylist: [/^\/api\//], runtimeCaching: [ { urlPattern: /^\/api\//, handler: 'NetworkOnly' } ] } }) ], server: { proxy: { '/api': 'http://localhost:8787' } } });