Qassure-frontend/vite.config.ts

57 lines
1.6 KiB
TypeScript

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import tailwindcss from '@tailwindcss/vite'
import path from "path";
// https://vite.dev/config/
export default defineConfig({
plugins: [tailwindcss(),react()],
resolve: {
alias: {
"@": path.resolve(__dirname, "src"),
},
},
build: {
rollupOptions: {
output: {
manualChunks(id) {
// Feature-based chunks - only for source files
if (!id.includes('node_modules')) {
if (id.includes('/src/pages/superadmin/')) {
return 'superadmin';
}
if (id.includes('/src/pages/tenant/')) {
return 'tenant';
}
return;
}
// Vendor chunks - group React ecosystem (including Redux) together
// to avoid circular dependencies
if (
id.includes('node_modules/react') ||
id.includes('node_modules/react-dom') ||
id.includes('node_modules/react-router') ||
id.includes('node_modules/@reduxjs') ||
id.includes('node_modules/redux') ||
id.includes('node_modules/react-redux') ||
id.includes('node_modules/scheduler') ||
id.includes('node_modules/object-assign')
) {
return 'react-vendor';
}
// UI libraries
if (id.includes('node_modules/lucide-react')) {
return 'ui-vendor';
}
// All other node_modules go to vendor
return 'vendor';
},
},
},
chunkSizeWarningLimit: 600,
},
})