private-voice-agent / vite.config.ts
aut4rk's picture
Deploy static voice agent
009fd18 verified
Raw
History Blame
1.46 kB
import type { ServerResponse } from "node:http";
import { defineConfig, type Plugin } from "vite";
const ISOLATION_HEADERS = {
"Cross-Origin-Opener-Policy": "same-origin",
"Cross-Origin-Embedder-Policy": "require-corp",
"Cross-Origin-Resource-Policy": "cross-origin",
};
const applyHeaders = (response: ServerResponse) => {
for (const [key, value] of Object.entries(ISOLATION_HEADERS)) {
response.setHeader(key, value);
}
};
const healthcheckPlugin = (): Plugin => ({
name: "healthcheck",
configureServer(server) {
server.middlewares.use("/health", (_request, response) => {
applyHeaders(response);
response.statusCode = 200;
response.setHeader("Content-Type", "text/plain; charset=utf-8");
response.end("ok");
});
},
configurePreviewServer(server) {
server.middlewares.use("/health", (_request, response) => {
applyHeaders(response);
response.statusCode = 200;
response.setHeader("Content-Type", "text/plain; charset=utf-8");
response.end("ok");
});
},
});
export default defineConfig({
publicDir: "src/vendor",
plugins: [healthcheckPlugin()],
server: {
headers: ISOLATION_HEADERS,
host: "0.0.0.0",
port: 3000,
strictPort: true,
},
preview: {
headers: ISOLATION_HEADERS,
host: "0.0.0.0",
port: 3000,
strictPort: true,
},
build: {
outDir: "dist",
},
optimizeDeps: {
exclude: ["@mlc-ai/web-llm"],
},
});