import { defineConfig, mergeConfig } from "vite";
import { commonViteConfig, getAllowedHosts } from "../common/config/vite.base";

const buildOutDir =
  process.env.ORGFRONT_BUILD_OUT_DIR ?? "/tmp/baron-sso-orgfront-dist";

const allowedHosts = getAllowedHosts(
  [
    "baron-orgchart.hmac.kr",
    "sorg.hmac.kr",
    "sdev.hmac.kr",
    "localhost",
    "172.16.10.176",
    "127.0.0.1",
  ],
  process.env.ORGFRONT_URL,
  process.env.ORGFRONT_ALLOWED_HOSTS,
);

export default defineConfig(
  mergeConfig(commonViteConfig, {
    cacheDir:
      process.env.ORGFRONT_VITE_CACHE_DIR ??
      "/tmp/baron-sso-orgfront-vite-cache",
    build: {
      outDir: buildOutDir,
    },
    server: {
      host: "0.0.0.0",
      port: 5175,
      allowedHosts,
      proxy: {
        "/api": {
          target: process.env.API_PROXY_TARGET || "http://localhost:5000",
          changeOrigin: true,
        },
      },
    },
    preview: {
      host: "0.0.0.0",
      port: 5175,
      allowedHosts,
      proxy: {
        "/api": {
          target: process.env.API_PROXY_TARGET || "http://localhost:5000",
          changeOrigin: true,
        },
      },
    },
  }),
);
