Make web dev port and API proxy target configurable
CI / build-and-test (push) Canceled after 0s

Read WEB_PORT / PORT (or API_PROXY_TARGET) from the monorepo root .env via
loadEnv, so the dev server can run alongside other local projects when 5173
and 8080 are already taken. Defaults are unchanged (5173 -> localhost:8080).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
Leon Serfaty
2026-08-26 10:25:39 -04:00
co-authored by Claude Opus 5
parent eb36b81dc9
commit 434de547ce
+10 -4
View File
@@ -1,8 +1,12 @@
import { defineConfig } from 'vite'; import { defineConfig, loadEnv } from 'vite';
import react from '@vitejs/plugin-react'; import react from '@vitejs/plugin-react';
import path from 'node:path'; import path from 'node:path';
export default defineConfig({ export default defineConfig(({ mode }) => {
// Read the monorepo root .env (all keys, not just VITE_*) so ports stay configurable there.
const env = { ...loadEnv(mode, path.resolve(__dirname, '../..'), ''), ...process.env };
return {
plugins: [react()], plugins: [react()],
// VITE_* vars live in the monorepo root .env alongside the API's config. // VITE_* vars live in the monorepo root .env alongside the API's config.
envDir: path.resolve(__dirname, '../..'), envDir: path.resolve(__dirname, '../..'),
@@ -12,10 +16,11 @@ export default defineConfig({
}, },
}, },
server: { server: {
port: 5173, // Ports are overridable so this app can run alongside other local projects.
port: Number(env.WEB_PORT ?? 5173),
proxy: { proxy: {
'/api': { '/api': {
target: 'http://localhost:8080', target: env.API_PROXY_TARGET ?? `http://localhost:${env.PORT ?? 8080}`,
changeOrigin: true, changeOrigin: true,
}, },
}, },
@@ -33,4 +38,5 @@ export default defineConfig({
}, },
}, },
}, },
};
}); });