import process from 'node:process'
import { loadEnv, mergeConfig } from 'vite'
import configCompressPlugin from './plugin/compress'
import configVisualizerPlugin from './plugin/visualizer'
import baseConfig from './vite.config.base'
export default mergeConfig(
{
mode: 'production',
base: loadEnv('', process.cwd()).VITE_BASE || '/',
plugins: [configCompressPlugin('gzip'), configVisualizerPlugin()],
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 || '/designer',
),
},
build: {
rollupOptions: {
output: {
manualChunks: {
vue: ['vue', 'vue-router', 'pinia', '@vueuse/core', 'vue-i18n'],
},
},
},
chunkSizeWarningLimit: 2000,
},
},
baseConfig,
)