diff --git a/lightrag_webui/package.json b/lightrag_webui/package.json index 8160a6d0..578ee36f 100644 --- a/lightrag_webui/package.json +++ b/lightrag_webui/package.json @@ -4,11 +4,11 @@ "version": "0.0.0", "type": "module", "scripts": { - "dev": "bunx --bun vite --config vite.config.local.js", + "dev": "bunx --bun vite", "build": "bunx --bun vite build", "lint": "eslint .", "preview": "bunx --bun vite preview", - "dev-no-bun": "vite --config vite.config.local.js", + "dev-no-bun": "vite", "build-no-bun": "vite build --emptyOutDir", "preview-no-bun": "vite preview" }, diff --git a/lightrag_webui/src/env.d.ts b/lightrag_webui/src/env.d.ts new file mode 100644 index 00000000..3beb5d35 --- /dev/null +++ b/lightrag_webui/src/env.d.ts @@ -0,0 +1,7 @@ +/// + +interface ImportMetaEnv { + readonly VITE_API_PROXY: string + readonly VITE_API_ENDPOINTS: string + readonly VITE_BACKEND_URL: string +} diff --git a/lightrag_webui/vite.config.local.js b/lightrag_webui/vite.config.local.js deleted file mode 100644 index 7be89fb2..00000000 --- a/lightrag_webui/vite.config.local.js +++ /dev/null @@ -1,38 +0,0 @@ -import { defineConfig } from 'vite' -import baseConfig from './vite.config' -import { mergeConfig } from 'vite' - -export default mergeConfig( - baseConfig, - defineConfig({ - server: { - proxy: { - '/api': { - target: 'http://localhost:9621', - changeOrigin: true, - rewrite: (path) => path.replace(/^\/api/, '') - }, - '/documents': { - target: 'http://localhost:9621', - changeOrigin: true - }, - '/graphs': { - target: 'http://localhost:9621', - changeOrigin: true - }, - '/graph': { - target: 'http://localhost:9621', - changeOrigin: true - }, - '/health': { - target: 'http://localhost:9621', - changeOrigin: true - }, - '/query': { - target: 'http://localhost:9621', - changeOrigin: true - } - } - } - }) -) diff --git a/lightrag_webui/vite.config.ts b/lightrag_webui/vite.config.ts index 931e8e87..b0a27fe8 100644 --- a/lightrag_webui/vite.config.ts +++ b/lightrag_webui/vite.config.ts @@ -16,5 +16,19 @@ export default defineConfig({ build: { outDir: path.resolve(__dirname, '../lightrag/api/webui'), emptyOutDir: true + }, + server: { + proxy: import.meta.env.VITE_API_PROXY === 'true' && import.meta.env.VITE_API_ENDPOINTS ? + Object.fromEntries( + import.meta.env.VITE_API_ENDPOINTS.split(',').map(endpoint => [ + endpoint, + { + target: import.meta.env.VITE_BACKEND_URL || 'http://localhost:9621', + changeOrigin: true, + rewrite: endpoint === '/api' ? + (path) => path.replace(/^\/api/, '') : undefined + } + ]) + ) : {} } })