fix: mejorar code splitting para evitar errores useLayoutEffect
- Añadir react-resizable-panels, input-otp, cmdk, vaul a chunks específicos - Protección adicional en vendor-other para excluir dependencias de React - Asegurar que todas las dependencias de React se cargan después de vendor-react
This commit is contained in:
parent
53fad0c4b0
commit
1dba853abf
|
|
@ -98,8 +98,46 @@ export default defineConfig({
|
||||||
if (id.includes('sonner')) {
|
if (id.includes('sonner')) {
|
||||||
return 'vendor-toasts';
|
return 'vendor-toasts';
|
||||||
}
|
}
|
||||||
// Resto de node_modules pequeños (NO incluir nada que dependa de React)
|
// React Resizable Panels (depende de React)
|
||||||
// Si algo aquí usa React, moverlo arriba
|
if (id.includes('react-resizable-panels')) {
|
||||||
|
return 'vendor-panels';
|
||||||
|
}
|
||||||
|
// Input OTP (puede usar React)
|
||||||
|
if (id.includes('input-otp')) {
|
||||||
|
return 'vendor-forms'; // Agrupar con otros formularios
|
||||||
|
}
|
||||||
|
// CMDK (Command Menu, puede usar React)
|
||||||
|
if (id.includes('cmdk')) {
|
||||||
|
return 'vendor-ui'; // Agrupar con UI
|
||||||
|
}
|
||||||
|
// Vaul (Drawer, usa React)
|
||||||
|
if (id.includes('vaul')) {
|
||||||
|
return 'vendor-ui'; // Agrupar con UI
|
||||||
|
}
|
||||||
|
// Resto de node_modules pequeños (SOLO cosas que NO usan React)
|
||||||
|
// Excluir explícitamente cualquier cosa que pueda usar React
|
||||||
|
if (
|
||||||
|
id.includes('react') ||
|
||||||
|
id.includes('@radix') ||
|
||||||
|
id.includes('@tanstack') ||
|
||||||
|
id.includes('lucide') ||
|
||||||
|
id.includes('recharts') ||
|
||||||
|
id.includes('embla') ||
|
||||||
|
id.includes('next-themes') ||
|
||||||
|
id.includes('sonner') ||
|
||||||
|
id.includes('react-hook-form') ||
|
||||||
|
id.includes('react-day-picker') ||
|
||||||
|
id.includes('react-markdown') ||
|
||||||
|
id.includes('react-router') ||
|
||||||
|
id.includes('react-resizable') ||
|
||||||
|
id.includes('input-otp') ||
|
||||||
|
id.includes('cmdk') ||
|
||||||
|
id.includes('vaul')
|
||||||
|
) {
|
||||||
|
// Si contiene algo relacionado con React, no debe estar aquí
|
||||||
|
// Forzar a un chunk específico (vendor-ui como fallback)
|
||||||
|
return 'vendor-ui';
|
||||||
|
}
|
||||||
return 'vendor-other';
|
return 'vendor-other';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue