From ad2a6e6400be78b0cb573a15b555cc1f770c83a5 Mon Sep 17 00:00:00 2001 From: Chaim Date: Sat, 25 Apr 2026 12:46:48 +0000 Subject: [PATCH] Fix: compute __dirname in vite.config.ts (undefined under ESM) `__dirname` is undefined in ESM modules, so `path.resolve(__dirname, "./src")` silently produced a bad path in Docker. Locally it happened to work (some Node interop), but the Docker stage hit a clear error: "Could not load /web/src/lib/utils ... ENOENT". Use fileURLToPath(import.meta.url). Co-Authored-By: Claude Opus 4.7 (1M context) --- web/vite.config.ts | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/web/vite.config.ts b/web/vite.config.ts index 92b531f..2156aae 100644 --- a/web/vite.config.ts +++ b/web/vite.config.ts @@ -1,9 +1,14 @@ -import path from "path"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; import { defineConfig } from "vite"; import react from "@vitejs/plugin-react"; -// During dev (`pnpm dev`), Vite serves on :5173 and proxies /api + /mcp + /health -// to the FastAPI server on :8765 (or PORT env var). +// `__dirname` is undefined in ESM; compute it ourselves so the alias +// resolves correctly under both local Node and the Docker build. +const __dirname = path.dirname(fileURLToPath(import.meta.url)); + +// During dev (`npm run dev`), Vite serves on :5173 and proxies /api + +// /mcp + /health to the FastAPI server on :8765 (or BACKEND_PORT env). const BACKEND_PORT = process.env.BACKEND_PORT || "8765"; export default defineConfig({