fix: añadir dedupe de React en Vite y script de limpieza

- Añadir dedupe: ['react', 'react-dom'] en vite.config.ts
- Esto fuerza una sola instancia de React en el bundle
- Crear script limpiar-y-rebuild.sh para limpieza completa
- Soluciona errores useLayoutEffect por React duplicado
This commit is contained in:
planetazuzu 2026-01-02 15:01:39 +01:00
parent ce9e21516d
commit 22b251d35c
2 changed files with 42 additions and 0 deletions

39
scripts/limpiar-y-rebuild.sh Executable file
View file

@ -0,0 +1,39 @@
#!/bin/bash
# Script para limpiar dependencias y hacer rebuild completo
# Soluciona problemas de React duplicado o mal resuelto
set -e
echo "╔══════════════════════════════════════════════════════════════╗"
echo "║ 🧹 LIMPIEZA COMPLETA Y REBUILD ║"
echo "╚══════════════════════════════════════════════════════════════╝"
echo ""
echo "📋 Paso 1: Verificando versiones de React..."
npm ls react react-dom 2>&1 | head -5
echo ""
echo "🧹 Paso 2: Limpiando node_modules y package-lock.json..."
rm -rf node_modules
rm -f package-lock.json
echo "✅ Limpieza completada"
echo ""
echo "📦 Paso 3: Reinstalando dependencias..."
npm install
echo "✅ Dependencias reinstaladas"
echo ""
echo "🔍 Paso 4: Verificando que no hay duplicados de React..."
npm ls react react-dom 2>&1 | grep -E "(react@|UNMET|extraneous)" || echo "✅ No se encontraron duplicados"
echo ""
echo "🔨 Paso 5: Haciendo build de producción..."
npm run build
echo ""
echo "✅ Proceso completado"
echo ""
echo "📊 Verificar que el build se completó correctamente:"
echo " ls -lh dist/assets/ | grep vendor-react"

View file

@ -37,6 +37,9 @@ export default defineConfig({
alias: {
"@": path.resolve(__dirname, "./src"),
},
// CRÍTICO: Forzar deduplicación de React para evitar errores useLayoutEffect
// Esto asegura que solo hay una instancia de React en el bundle
dedupe: ["react", "react-dom"],
},
// Configuración para procesar archivos .md e imágenes
assetsInclude: ["**/*.md", "**/*.png", "**/*.jpg", "**/*.jpeg", "**/*.svg", "**/*.gif"],