Files
sciagent/fe0/vite.config.ts
T
Thinh Lam 688fac73e9
CI/CD / backend (push) Failing after 2m8s
CI/CD / frontend (push) Failing after 1m40s
CI/CD / deploy (push) Has been skipped
sciagent code + Gitea Actions CI/CD
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 09:38:30 +07:00

63 lines
2.1 KiB
TypeScript

import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";
import path from "path";
import { componentTagger } from "lovable-tagger";
// https://vitejs.dev/config/
//
// PUBLIC_HOST is set in the repo-root `.env` for docker-compose.prod.yml; Compose passes:
// VITE_ALLOWED_HOSTS=${PUBLIC_HOST},localhost
// so Vite accepts the Host header when you open http://${PUBLIC_HOST}:${FE_PORT}.
// Proxy target: locally use localhost:4402; in Docker set VITE_DEV_PROXY_TARGET=http://be0:4402
const allowedHostsRaw = process.env.VITE_ALLOWED_HOSTS;
const apiProxyTarget =
process.env.VITE_DEV_PROXY_TARGET || process.env.VITE_API_URL || "http://localhost:4402";
const allowedHostsExtra = ["rcc-ump.com", "www.rcc-ump.com"];
const viteAllowedHostsList = (allowedHostsRaw ?? "")
.split(",")
.map((h) => h.trim())
.filter(Boolean);
const viteAllowedHosts =
viteAllowedHostsList.length > 0
? [...new Set([...allowedHostsExtra, ...viteAllowedHostsList])]
: true;
export default defineConfig(({ mode }) => ({
server: {
host: "0.0.0.0",
// Must match docker-compose.prod.yml (FE_PORT maps host → container :8080) and fe0/Dockerfile EXPOSE.
port: 8080,
allowedHosts: viteAllowedHosts,
proxy: {
// Proxy API requests to backend
"/api": {
target: apiProxyTarget,
changeOrigin: true,
secure: false,
},
// Submitted PDFs live on be0 (`StaticFiles` + SUBMITTED_INITIATIVES_DIR); same as production API host.
"/submitted-initiatives": {
target: apiProxyTarget,
changeOrigin: true,
secure: false,
},
"/test_ollama": {
target: apiProxyTarget,
changeOrigin: true,
secure: false,
},
},
},
plugins: [react(), mode === "development" && componentTagger()].filter(Boolean),
resolve: {
alias: {
"@": path.resolve(__dirname, "./src"),
},
},
// CJS deps: pre-bundle so Vite dev + Docker mounts resolve reliably.
optimizeDeps: {
include: ["docx-preview", "jszip", "pizzip", "pako", "docxtemplater"],
},
}));