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, }, })