Files
workinf_Blender_Wasm/web/app/vite.config.ts
2026-08-12 04:47:48 -04:00

44 lines
1.1 KiB
TypeScript

import { defineConfig, type Plugin } from "vite";
import react from "@vitejs/plugin-react";
const isolationHeaders = {
"Cross-Origin-Opener-Policy": "same-origin",
"Cross-Origin-Embedder-Policy": "require-corp",
"Cross-Origin-Resource-Policy": "same-origin",
};
function preserveIsolationHeaders(): Plugin {
const install = (server: { middlewares: { use: (handler: (request: unknown, response: { setHeader: (name: string, value: string) => void }, next: () => void) => void) => void } }) => {
server.middlewares.use((_request, response, next) => {
for (const [name, value] of Object.entries(isolationHeaders)) response.setHeader(name, value);
next();
});
};
return {
name: "preserve-isolation-headers",
configureServer: install,
configurePreviewServer: install,
};
}
export default defineConfig({
root: "app",
plugins: [preserveIsolationHeaders(), react()],
server: {
port: 5173,
strictPort: false,
headers: {
...isolationHeaders,
},
},
preview: {
headers: {
...isolationHeaders,
},
},
build: {
outDir: "../dist",
emptyOutDir: true,
},
});