import tailwindcss from '@tailwindcss/vite'; import adapter from '@sveltejs/adapter-node'; import { SvelteKitPWA } from '@vite-pwa/sveltekit'; import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vite'; export default defineConfig({ plugins: [ tailwindcss(), sveltekit({ compilerOptions: { // Force runes mode for the project, except for libraries. Can be removed in svelte 6. runes: ({ filename }) => filename.split(/[/\\]/).includes('node_modules') ? undefined : true }, adapter: adapter() }), SvelteKitPWA({ registerType: 'prompt', injectRegister: false, manifest: { name: 'beA-Edit', short_name: 'beA-Edit', description: 'PDF-Werkzeuge für die beA-Kanzlei – PDFs werden vollständig lokal im Browser verarbeitet.', display: 'standalone', orientation: 'any', lang: 'de', dir: 'ltr', start_url: '/', scope: '/', categories: ['productivity', 'utilities'], background_color: '#eef4f6', theme_color: '#122f62', icons: [ { src: '/icons/icon-192.png', sizes: '192x192', type: 'image/png' }, { src: '/icons/icon-512.png', sizes: '512x512', type: 'image/png' }, { src: '/icons/icon-maskable-512.png', sizes: '512x512', type: 'image/png', purpose: 'maskable' } ] }, workbox: { // The plugin prepends `client/` and `prerendered/` paths itself; extending the // default list only adds the local font files and the pdfjs worker chunk (`*.mjs`, // 2.1 MB, required to render PDFs offline). `client/Nunito/**` is the unused font // drop from `static/` and would add 2.6 MB to the precache. globPatterns: ['client/**/*.{js,mjs,css,ico,png,svg,webp,webmanifest,woff2,ttf}'], globIgnores: ['client/Nunito/**'], // Prerendered route documents (see src/routes/+layout.ts) are precached, so an // offline navigation to any visited route — and any unknown path via the // fallback — is served from the cache. navigateFallback: '/', maximumFileSizeToCacheInBytes: 8 * 1024 * 1024 }, // The service worker is only produced for production builds; `pnpm dev` never // registers one, which keeps development caches clean. devOptions: { enabled: false } }) ] });