forked from baron/baron-sso
67 lines
1.4 KiB
TypeScript
67 lines
1.4 KiB
TypeScript
import react from "@vitejs/plugin-react";
|
|
import { defineConfig } from "vite";
|
|
|
|
const buildOutDir =
|
|
process.env.DEVFRONT_BUILD_OUT_DIR ?? "/tmp/baron-sso-devfront-dist";
|
|
|
|
const defaultAllowedHosts = [
|
|
"sdev.hmac.kr",
|
|
"localhost",
|
|
"172.16.10.176",
|
|
"127.0.0.1",
|
|
];
|
|
|
|
function hostFromUrl(value: string | undefined) {
|
|
if (!value) return undefined;
|
|
try {
|
|
return new URL(value).hostname;
|
|
} catch {
|
|
return value;
|
|
}
|
|
}
|
|
|
|
const allowedHosts = Array.from(
|
|
new Set(
|
|
[
|
|
...defaultAllowedHosts,
|
|
hostFromUrl(process.env.DEVFRONT_URL),
|
|
...(process.env.DEVFRONT_ALLOWED_HOSTS ?? "")
|
|
.split(",")
|
|
.map((host) => host.trim())
|
|
.filter(Boolean),
|
|
].filter((host): host is string => Boolean(host)),
|
|
),
|
|
);
|
|
|
|
export default defineConfig({
|
|
plugins: [react()],
|
|
cacheDir:
|
|
process.env.DEVFRONT_VITE_CACHE_DIR ??
|
|
"/tmp/baron-sso-devfront-vite-cache",
|
|
build: {
|
|
outDir: buildOutDir,
|
|
emptyOutDir: true,
|
|
},
|
|
server: {
|
|
host: "127.0.0.1",
|
|
allowedHosts,
|
|
proxy: {
|
|
"/api": {
|
|
target: process.env.API_PROXY_TARGET || "http://localhost:3000",
|
|
changeOrigin: true,
|
|
},
|
|
},
|
|
},
|
|
preview: {
|
|
host: "127.0.0.1",
|
|
port: 5173,
|
|
allowedHosts,
|
|
proxy: {
|
|
"/api": {
|
|
target: process.env.API_PROXY_TARGET || "http://localhost:3000",
|
|
changeOrigin: true,
|
|
},
|
|
},
|
|
},
|
|
});
|