#!/bin/bash # Script de limpieza segura - EJECUTAR CON CUIDADO set -e echo "🧹 Iniciando limpieza del proyecto..." echo "⚠️ Este script eliminará archivos. Revisa antes de continuar." read -p "¿Continuar? (yes/no): " confirm if [ "$confirm" != "yes" ]; then echo "❌ Limpieza cancelada" exit 1 fi # 1. Eliminar dist/ (se regenera) if [ -d "dist" ]; then echo "🗑️ Eliminando dist/..." rm -rf dist/ echo "✅ dist/ eliminado" fi # 2. Eliminar logs if [ -d "logs" ]; then echo "🗑️ Limpiando logs..." rm -f logs/*.log echo "✅ Logs eliminados" fi # 3. Eliminar archivos .backup echo "🗑️ Eliminando archivos .backup..." BACKUP_FILES=$(find . -name "*.backup" -not -path "./node_modules/*" -not -path "./.git/*" 2>/dev/null | wc -l) if [ "$BACKUP_FILES" -gt 0 ]; then find . -name "*.backup" -not -path "./node_modules/*" -not -path "./.git/*" -delete echo "✅ $BACKUP_FILES archivo(s) .backup eliminado(s)" else echo "ℹ️ No se encontraron archivos .backup" fi # 4. Eliminar carpetas vacías (excepto .git) echo "🗑️ Eliminando carpetas vacías..." EMPTY_DIRS=$(find . -type d -empty -not -path "./.git/*" -not -path "./node_modules/*" 2>/dev/null | wc -l) if [ "$EMPTY_DIRS" -gt 0 ]; then find . -type d -empty -not -path "./.git/*" -not -path "./node_modules/*" -delete echo "✅ $EMPTY_DIRS carpeta(s) vacía(s) eliminada(s)" else echo "ℹ️ No se encontraron carpetas vacías" fi # 5. Limpiar Python cache echo "🗑️ Limpiando __pycache__..." PYCACHE_DIRS=$(find . -type d -name "__pycache__" -not -path "./node_modules/*" 2>/dev/null | wc -l) if [ "$PYCACHE_DIRS" -gt 0 ]; then find . -type d -name "__pycache__" -not -path "./node_modules/*" -exec rm -rf {} + 2>/dev/null || true find . -name "*.pyc" -not -path "./node_modules/*" -delete 2>/dev/null || true echo "✅ Python cache limpiado" else echo "ℹ️ No se encontró Python cache" fi # 6. Limpiar archivos temporales echo "🗑️ Eliminando archivos temporales..." TEMP_FILES=$(find . -name "*.tmp" -o -name "*.temp" -o -name ".DS_Store" -o -name "Thumbs.db" 2>/dev/null | grep -v node_modules | grep -v .git | wc -l) if [ "$TEMP_FILES" -gt 0 ]; then find . -name "*.tmp" -o -name "*.temp" -o -name ".DS_Store" -o -name "Thumbs.db" 2>/dev/null | \ grep -v node_modules | grep -v .git | xargs rm -f 2>/dev/null || true echo "✅ $TEMP_FILES archivo(s) temporal(es) eliminado(s)" else echo "ℹ️ No se encontraron archivos temporales" fi echo "" echo "✅ Limpieza completada" echo "" echo "📋 Próximos pasos recomendados:" echo " 1. Ejecutar 'npx depcheck' para verificar dependencias no usadas" echo " 2. Ejecutar 'npx ts-prune' para detectar código muerto" echo " 3. Verificar que .gitignore incluye: dist/, logs/, *.backup"