import { defineConfig } from 'vite' | |
import path from 'path' | |
import { webuiPrefix } from '@/lib/constants' | |
import react from '@vitejs/plugin-react-swc' | |
import tailwindcss from '@tailwindcss/vite' | |
// https://vite.dev/config/ | |
export default defineConfig({ | |
plugins: [react(), tailwindcss()], | |
resolve: { | |
alias: { | |
'@': path.resolve(__dirname, './src') | |
} | |
}, | |
// base: import.meta.env.VITE_BASE_URL || '/webui/', | |
base: webuiPrefix, | |
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/, '') : | |
endpoint === '/docs' || endpoint === '/openapi.json' ? | |
(path) => path : undefined | |
} | |
]) | |
) : {} | |
} | |
}) | |