import vue from "@vitejs/plugin-vue"; import { defineConfig } from "vite"; export default defineConfig({ build: { cssMinify: "lightningcss", emptyOutDir: true, outDir: "dist", reportCompressedSize: true, rollupOptions: { output: { compact: true, format: "esm", validate: true } }, sourcemap: false, }, cacheDir: ".cache/vite", clearScreen: false, css: { transformer: "lightningcss" }, optimizeDeps: { exclude: ["sqlocal"] }, plugins: [ vue(), { configureServer: server => { server.middlewares.use((_req, res, next) => { res.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); res.setHeader("Access-Control-Allow-Methods", "GET,HEAD,OPTIONS,POST,PUT"); res.setHeader("Access-Control-Allow-Origin", "http://localhost:4321"); res.setHeader("Access-Control-Allow-Credentials", "true"); res.setHeader("Cross-Origin-Embedder-Policy", "require-corp"); res.setHeader("Cross-Origin-Opener-Policy", "same-origin"); res.setHeader("Cross-Origin-Resource-Policy", "cross-origin"); next(); }); }, name: "configure-response-headers", }, ], resolve: { alias: { "@": Bun.fileURLToPath(new URL("./src", import.meta.url)), }, }, worker: { format: "es" }, });