import { join } from 'path'; import { defineConfig } from 'vite'; import react from '@vitejs/plugin-react'; import WindiCSS from 'vite-plugin-windicss'; import pkg from '../../../package.json'; const globalVendorPackages = ['react', 'react-dom', 'react-router', 'react-router-dom']; function renderChunks(deps: Record) { const chunks: Record = {}; Object.keys(deps).forEach((key) => { if (globalVendorPackages.includes(key)) return; chunks[key] = [key]; }); return chunks; } /** * @see https://vitejs.dev/config/ */ export default defineConfig({ mode: process.env.NODE_ENV, root: __dirname, plugins: [react(), WindiCSS()], base: './', build: { sourcemap: true, outDir: '../../../dist/test', rollupOptions: { output: { manualChunks: { vendor: globalVendorPackages, ...renderChunks(pkg.dependencies), }, }, }, }, resolve: { alias: { '@easytwin/core': join(__dirname, '../../@easytwin/core/src'), }, }, css: { preprocessorOptions: { less: { javascriptEnabled: true, }, }, }, server: { host: pkg.env.VITE_DEV_SERVER_HOST, port: 8888, open: true, }, });