30 lines
903 B
TypeScript
30 lines
903 B
TypeScript
import { existsSync, readFileSync } from "fs";
|
|
import { defineConfig } from "vite";
|
|
import react from "@vitejs/plugin-react";
|
|
|
|
// Read version from package.json at build time
|
|
const packageJson = JSON.parse(readFileSync("./package.json", "utf-8"));
|
|
|
|
// Default to localhost for local dev and CI.
|
|
// In Docker, prefer backend-dev to avoid localhost proxy failures.
|
|
const defaultBackendTarget = existsSync("/.dockerenv") ? "http://backend-dev:3000" : "http://localhost:3000";
|
|
const backendTarget = process.env.BACKEND_URL || defaultBackendTarget;
|
|
|
|
export default defineConfig({
|
|
plugins: [react()],
|
|
define: {
|
|
__APP_VERSION__: JSON.stringify(packageJson.version || "unknown"),
|
|
},
|
|
server: {
|
|
port: 5173,
|
|
strictPort: true,
|
|
proxy: {
|
|
"/api": {
|
|
target: backendTarget,
|
|
changeOrigin: true,
|
|
rewrite: (path) => path.replace(/^\/api/, ""),
|
|
},
|
|
},
|
|
},
|
|
});
|