import { defineConfig, loadEnv } from "vite"; import react from "@vitejs/plugin-react"; import path from "path"; export default defineConfig(({ mode }) => { const env = loadEnv(mode, process.cwd(), ""); return { plugins: [react()], server: { host: env.HOST, port: Number(env.PORT), fs: { allow: [".."], }, allowedHosts: [ ...(env.VITE_CLOUDFLARE_HOST ? [env.VITE_CLOUDFLARE_HOST] : []), "192.168.0.94", ], proxy: { "/api": { target: env.VITE_API_BASE_URL_BACKEND || "http://localhost:5000", changeOrigin: true, configure: (proxy) => { proxy.on("proxyReq", (proxyReq, req) => { const auth = (req as any).headers["authorization"]; if (auth) proxyReq.setHeader("Authorization", auth); }); }, }, "/socket.io": { target: env.VITE_API_BASE_URL_BACKEND || "http://localhost:5000", changeOrigin: true, ws: true, }, }, }, resolve: { extensions: [".mts", ".ts", ".tsx", ".mjs", ".js", ".jsx", ".json"], alias: { "@": path.resolve(__dirname, "src"), "@repo/db/usedSchemas": path.resolve(__dirname, "../../packages/db/usedSchemas/browser.ts"), "@repo/db/types": path.resolve(__dirname, "../../packages/db/types/index.ts"), "@repo/db": path.resolve(__dirname, "../../packages/db"), }, }, optimizeDeps: { exclude: ["@repo/db"], }, }; });