./knowledge-base/frontend/vite.config.ts

import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import path from "path";

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [react()],
  resolve: {
    alias: {
      "@": path.resolve(__dirname, "./src"),
    },
  },
  server: {
    port: 3000,
    proxy: {
      // API Gatewayへのプロキシ(/api プレフィックスを削除して転送)
      "/api": {
        target: process.env.VITE_API_GATEWAY_URL || "http://localhost:4000",
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/api/, ""),
      },
      // AppRunnerへのプロキシ(/era-assist プレフィックスを削除して転送)
      "/era-assist": {
        target:
          process.env.VITE_ASSIST_URL ||
          "https://zgwm746fji.ap-northeast-1.awsapprunner.com",
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/era-assist/, "") || "/",
      },
      // S3時代マスタファイルへのプロキシ(CloudFront経由で取得)
      "/master": {
        target: "https://d1gb2qgx2q7oku.cloudfront.net",
        changeOrigin: true,
        secure: true,
      },
    },
  },
  build: {
    outDir: "dist",
    sourcemap: false,
    chunkSizeWarningLimit: 10000,
    rollupOptions: {
      treeshake: false,
      output: {
        manualChunks: (id) => {
          if (id.includes("node_modules")) return "vendor";
        },
      },
    },
  },
});