import { resolve } from 'node:path'
import process from 'node:process'
import { configDotenv } from 'dotenv'
import { loadEnv, mergeConfig } from 'vite'
import baseConfig from './vite.config.base'
configDotenv({
path: resolve(__dirname, '../dev.env'),
})
const env = loadEnv('development', process.cwd())
const proxyConfig = {
[env.VITE_BASE_API]: {
target: env.VITE_SERVER_HOST,
changeOrigin: true,
logLevel: 'debug',
rewrite: (path: string) =>
path.replace(
new RegExp(`${env.VITE_BASE_API}`),
'',
),
},
[env.VITE_MOCK_SERVER_HOST]: {
target: env.VITE_SERVER_HOST,
changeOrigin: true,
rewrite: (path: string) => {
return path.replace(new RegExp(`${env.VITE_MOCK_SERVER_HOST}`), '/mock')
},
},
}
export default mergeConfig(
{
mode: 'development',
server: {
open: true,
fs: {
strict: true,
},
proxy: {
...proxyConfig,
},
},
define: {
'import.meta.env.VITE_LOWCODE_DESIGNER_ENABLED': JSON.stringify(
process.env.VITE_LOWCODE_DESIGNER_ENABLED || 'false',
),
'import.meta.env.VITE_LOWCODE_DESIGNER_URL': JSON.stringify(
process.env.VITE_LOWCODE_DESIGNER_URL || 'http://localhost:8090',
),
},
plugins: [],
},
baseConfig,
)