veza/apps/web/scripts/fix-ui-imports.sh

55 lines
1.7 KiB
Bash
Executable file

#!/bin/bash
# Script pour corriger automatiquement les imports de composants UI
# Remplace les imports avec majuscules par des imports avec minuscules
cd "$(dirname "$0")/.." || exit 1
echo "🔧 Correction des imports UI..."
# Liste des composants UI à corriger
declare -A COMPONENTS=(
["Card"]="card"
["Button"]="button"
["Input"]="input"
["Badge"]="badge"
["Progress"]="progress"
["Alert"]="alert"
["Avatar"]="avatar"
["Checkbox"]="checkbox"
["Textarea"]="textarea"
["Skeleton"]="skeleton"
["Tabs"]="tabs"
["Modal"]="modal"
["Dialog"]="dialog"
["Tooltip"]="tooltip"
["Switch"]="switch"
["Table"]="table"
["RadioGroup"]="radio-group"
["Slider"]="slider"
["EmptyState"]="empty-state"
["Label"]="label"
["ScrollArea"]="scroll-area"
["Select"]="select"
["Dropdown"]="dropdown"
)
# Trouver tous les fichiers TSX/TS dans src/components
find src/components -type f \( -name "*.tsx" -o -name "*.ts" \) | while read -r file; do
# Pour chaque composant
for component in "${!COMPONENTS[@]}"; do
lowercase="${COMPONENTS[$component]}"
# Corriger les imports relatifs avec majuscules
# Pattern: from '../ui/Component' ou from '../../ui/Component'
sed -i "s|from ['\"]\.\.\/ui\/${component}['\"]|from '../ui/${lowercase}'|g" "$file"
sed -i "s|from ['\"]\.\.\/\.\.\/ui\/${component}['\"]|from '../../ui/${lowercase}'|g" "$file"
sed -i "s|from ['\"]\.\.\/\.\.\/\.\.\/ui\/${component}['\"]|from '../../../ui/${lowercase}'|g" "$file"
# Corriger les imports avec alias @
sed -i "s|from ['\"]@\/components\/ui\/${component}['\"]|from '@/components/ui/${lowercase}'|g" "$file"
done
done
echo "✅ Imports UI corrigés!"