import { sveltekit } from '@sveltejs/kit/vite'; import { defineConfig } from 'vite'; import fs from 'fs'; export default defineConfig({ plugins: [sveltekit(), rawFonts(['.ttf'])], test: { include: ['src/**/*.{test,spec}.{js,ts}'] }, css: { devSourcemap: true, preprocessorOptions: { postcss: { additionalData: ` @custom-media --below_small (width < 400px); @custom-media --below_med (width < 700px); @custom-media --below_large (width < 900px); @custom-media --below_xlarge (width < 1200px); @custom-media --above_small (width > 400px); @custom-media --above_med (width > 700px); @custom-media --above_large (width > 900px); @custom-media --above_xlarge (width > 1200px); ` } } }, resolve: { alias: { '.prisma/client/index-browser': './node_modules/@prisma/client/index-browser.js' } } }); function rawFonts(ext) { return { name: 'vite-plugin-raw-fonts', transform(code, id) { if (ext.some((e) => id.endsWith(e))) { const buffer = fs.readFileSync(id); return { code: `export default ${JSON.stringify(buffer)}`, map: null }; } } }; }