import { defineConfig } from "vite";
import react from "@vitejs/plugin-react-swc";
import tsconfigPaths from "vite-tsconfig-paths";

declare const process: {
  env: {
    JETKVM_PROXY_URL: string;
  };
};

export default defineConfig(({ mode, command }) => {
  const isCloud = mode.indexOf("cloud") !== -1;
  const onDevice = mode === "device";
  const { JETKVM_PROXY_URL } = process.env;

  return {
    plugins: [tsconfigPaths(), react()],
    build: { outDir: isCloud ? "dist" : "../static" },
    server: {
      host: "0.0.0.0",
      proxy: JETKVM_PROXY_URL
        ? {
            "/me": JETKVM_PROXY_URL,
            "/device": JETKVM_PROXY_URL,
            "/webrtc": JETKVM_PROXY_URL,
            "/auth": JETKVM_PROXY_URL,
            "/storage": JETKVM_PROXY_URL,
            "/cloud": JETKVM_PROXY_URL,
          }
        : undefined,
    },
    base: onDevice && command === "build" ? "/static" : "/",
  };
});