journal-media-vue/vite.config.mts
gcch ff2a3a25e5
All checks were successful
ci/woodpecker/push/publish_instable Pipeline was successful
2025-02-25
2025-02-25 14:46:17 +01:00

41 lines
1.3 KiB
TypeScript

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" },
});