import path from 'node:path';
import { defineConfig, mergeConfig, loadEnv } from 'vite';
import { useTinyEngineBaseConfig } from '@opentiny/tiny-engine-vite-config';
export default defineConfig((configEnv) => {
const env = loadEnv(configEnv.mode, path.resolve(__dirname, './env'), '');
const base = env.VITE_DESIGNER_BASE || '/';
const baseConfig = useTinyEngineBaseConfig({
viteConfigEnv: configEnv,
root: __dirname,
iconDirs: [
path.resolve(__dirname, './node_modules/@opentiny/tiny-engine/assets/'),
],
useSourceAlias: false,
envDir: './env',
registryPath: './registry.js',
});
const customConfig = {
base,
envDir: './env',
publicDir: path.resolve(__dirname, './public'),
server: {
port: 8090,
proxy: {
'/api': {
target: 'http://localhost:3000',
changeOrigin: true,
rewrite: (path) => path.replace(/^\/api/, ''),
},
},
},
build: {
outDir: 'dist',
assetsDir: 'assets',
},
};
return mergeConfig(baseConfig, customConfig);
});