import { sveltekit } from '@sveltejs/kit/vite'; import tailwindcss from '@tailwindcss/vite'; import { defineConfig } from 'vite'; // Source maps are always generated so that the CI pipeline can upload them to // GlitchTip via glitchtip-cli after a release build. // // Note: paraglideVitePlugin is intentionally removed. It fetches an inlang // plugin from CDN at build time, which (a) fails in offline CI and (b) // regenerates messages.js with `export * as m` causing Rollup to tree-shake // all message imports into (void 0). Compiled paraglide output is committed to // git and updated manually via `npm run paraglide`. export default defineConfig({ build: { sourcemap: true }, plugins: [ tailwindcss(), sveltekit() ], ssr: { // Force these packages to be bundled into the server output rather than // treated as external requires. The production Docker image has no // node_modules, so anything used in server-side code must be inlined. noExternal: ['marked'], // cropperjs is DOM-only (used inside $effect); exclude from SSR bundle. external: ['cropperjs'] }, optimizeDeps: { include: ['cropperjs'] } });