39 lines
1.2 KiB
TypeScript
39 lines
1.2 KiB
TypeScript
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',
|
|
});
|