import { defineConfig } from 'vite' import vue from '@vitejs/plugin-vue' import { readFileSync } from 'fs' import { join, dirname } from 'path' import { fileURLToPath } from 'url' const __dirname = dirname(fileURLToPath(import.meta.url)) let proxyTarget = 'http://127.0.0.1:8123' let proxyToken = '' try { const config = JSON.parse( readFileSync(join(__dirname, 'public/config.json'), 'utf8') ) if (config.settings?.haUrl) proxyTarget = config.settings.haUrl if (config.settings?.haToken) proxyToken = config.settings.haToken } catch (_) {} export default defineConfig({ plugins: [vue()], server: { proxy: { '/api': { target: proxyTarget, changeOrigin: true, configure: proxyToken ? (proxy) => { proxy.on('proxyReq', (req) => { req.setHeader('Authorization', `Bearer ${proxyToken}`) }) } : undefined, }, }, }, })