import { TanStackRouterVite } from '@tanstack/router-plugin/vite'; import react from '@vitejs/plugin-react'; import { visualizer } from 'rollup-plugin-visualizer'; import { defineConfig } from 'vite'; // https://vitejs.dev/config/ export default defineConfig({ plugins: [TanStackRouterVite(), react(), visualizer({ emitFile: true, open: true, filename: 'stats.html' })], build: { outDir: '../dist', emptyOutDir: true, // sourcemap: true, rollupOptions: { output: { manualChunks: (id) => { const segments = id.split('node_modules'); const cleanID = segments[segments.length - 1]; console.log('ID', cleanID); if (id.includes('node_modules')) { if (cleanID.includes('@mui/') || cleanID.includes('@emotion')) { return 'vendor_mui'; } if (cleanID.includes('@tanstack')) { return 'vendor_tanstack'; } if (cleanID.includes('react')) { return 'vendor_react'; } return 'vendor'; // all other package goes here } }, }, }, }, base: '/phpCourse/exam/dist', });