- Frontend v4 accessible sur réseau local (192.168.1.40) - Ports ouverts: 3002 (frontend), 5001 (backend), 5004 (dashboard) - Ollama GPU fonctionnel - Self-healing interactif - Dashboard confiance Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
188 lines
5.1 KiB
Bash
Executable File
188 lines
5.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
echo "🔧 CORRECTION ERREUR SYNTAXE JAVASCRIPT - Visual Workflow Builder"
|
|
echo "=================================================================="
|
|
|
|
# Aller dans le répertoire frontend
|
|
cd visual_workflow_builder/frontend
|
|
|
|
echo "📋 1. Vérification de l'environnement..."
|
|
|
|
# Vérifier Node.js et npm
|
|
if ! command -v node &> /dev/null; then
|
|
echo "❌ Node.js n'est pas installé"
|
|
exit 1
|
|
fi
|
|
|
|
if ! command -v npm &> /dev/null; then
|
|
echo "❌ npm n'est pas installé"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Node.js version: $(node --version)"
|
|
echo "✅ npm version: $(npm --version)"
|
|
|
|
echo ""
|
|
echo "📋 2. Nettoyage des caches et modules..."
|
|
|
|
# Arrêter le serveur de développement s'il tourne
|
|
echo "🛑 Arrêt du serveur de développement..."
|
|
pkill -f "react-scripts" || true
|
|
pkill -f "webpack" || true
|
|
|
|
# Nettoyer les caches
|
|
echo "🧹 Nettoyage des caches..."
|
|
rm -rf node_modules/.cache
|
|
rm -rf build
|
|
rm -rf .eslintcache
|
|
|
|
# Supprimer node_modules et package-lock.json
|
|
echo "🗑️ Suppression node_modules et package-lock.json..."
|
|
rm -rf node_modules
|
|
rm -f package-lock.json
|
|
|
|
echo ""
|
|
echo "📋 3. Vérification du package.json..."
|
|
|
|
# Vérifier que package.json existe et est valide
|
|
if [ ! -f "package.json" ]; then
|
|
echo "❌ package.json manquant"
|
|
exit 1
|
|
fi
|
|
|
|
# Vérifier la syntaxe JSON
|
|
if ! node -e "JSON.parse(require('fs').readFileSync('package.json', 'utf8'))"; then
|
|
echo "❌ package.json invalide"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ package.json valide"
|
|
|
|
echo ""
|
|
echo "📋 4. Réinstallation des dépendances..."
|
|
|
|
# Réinstaller les dépendances
|
|
echo "📦 Installation des dépendances..."
|
|
npm install
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo "❌ Erreur lors de l'installation des dépendances"
|
|
exit 1
|
|
fi
|
|
|
|
echo "✅ Dépendances installées avec succès"
|
|
|
|
echo ""
|
|
echo "📋 5. Vérification des fichiers TypeScript..."
|
|
|
|
# Vérifier la compilation TypeScript
|
|
echo "🔍 Vérification TypeScript..."
|
|
npx tsc --noEmit
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo "⚠️ Erreurs TypeScript détectées, mais on continue..."
|
|
else
|
|
echo "✅ TypeScript OK"
|
|
fi
|
|
|
|
echo ""
|
|
echo "📋 6. Vérification des imports problématiques..."
|
|
|
|
# Rechercher des imports problématiques
|
|
echo "🔍 Recherche d'imports problématiques..."
|
|
|
|
# Vérifier les imports de React Flow
|
|
if grep -r "react-flow-renderer" src/ 2>/dev/null; then
|
|
echo "⚠️ Imports react-flow-renderer détectés"
|
|
echo "🔧 Mise à jour vers @xyflow/react..."
|
|
|
|
# Remplacer les imports obsolètes
|
|
find src/ -name "*.tsx" -o -name "*.ts" | xargs sed -i.bak 's/react-flow-renderer/@xyflow\/react/g'
|
|
find src/ -name "*.tsx" -o -name "*.ts" | xargs sed -i.bak 's/from "react-flow-renderer"/from "@xyflow\/react"/g'
|
|
|
|
# Nettoyer les fichiers de sauvegarde
|
|
find src/ -name "*.bak" -delete
|
|
|
|
echo "✅ Imports mis à jour"
|
|
fi
|
|
|
|
# Vérifier les imports Zustand
|
|
if grep -r "zustand.*esm" src/ 2>/dev/null; then
|
|
echo "⚠️ Imports Zustand ESM détectés"
|
|
echo "🔧 Correction des imports Zustand..."
|
|
|
|
find src/ -name "*.tsx" -o -name "*.ts" | xargs sed -i.bak 's/zustand\/esm/zustand/g'
|
|
find src/ -name "*.bak" -delete
|
|
|
|
echo "✅ Imports Zustand corrigés"
|
|
fi
|
|
|
|
echo ""
|
|
echo "📋 7. Test de compilation..."
|
|
|
|
# Tester la compilation
|
|
echo "🔨 Test de compilation..."
|
|
npm run build
|
|
|
|
if [ $? -ne 0 ]; then
|
|
echo "❌ Erreur de compilation détectée"
|
|
echo ""
|
|
echo "🔍 Analyse des erreurs de compilation..."
|
|
|
|
# Essayer de compiler avec plus de détails
|
|
echo "📋 Compilation avec détails d'erreur..."
|
|
CI=false npm run build 2>&1 | tee build_errors.log
|
|
|
|
echo ""
|
|
echo "📄 Erreurs sauvegardées dans build_errors.log"
|
|
echo "🔧 Actions recommandées:"
|
|
echo " 1. Examiner build_errors.log"
|
|
echo " 2. Corriger les erreurs TypeScript/JavaScript"
|
|
echo " 3. Relancer ce script"
|
|
|
|
exit 1
|
|
else
|
|
echo "✅ Compilation réussie"
|
|
fi
|
|
|
|
echo ""
|
|
echo "📋 8. Démarrage du serveur de développement..."
|
|
|
|
# Démarrer le serveur de développement
|
|
echo "🚀 Démarrage du serveur de développement..."
|
|
echo "📍 URL: http://localhost:3000"
|
|
echo "⏹️ Pour arrêter: Ctrl+C"
|
|
echo ""
|
|
|
|
# Démarrer en arrière-plan pour permettre le test
|
|
npm start &
|
|
SERVER_PID=$!
|
|
|
|
# Attendre que le serveur démarre
|
|
echo "⏳ Attente du démarrage du serveur..."
|
|
sleep 10
|
|
|
|
# Vérifier que le serveur répond
|
|
if curl -s http://localhost:3000 > /dev/null; then
|
|
echo "✅ Serveur de développement démarré avec succès"
|
|
echo ""
|
|
echo "🎯 CORRECTION TERMINÉE"
|
|
echo "====================="
|
|
echo "✅ Erreur de syntaxe JavaScript corrigée"
|
|
echo "✅ Serveur de développement en cours d'exécution"
|
|
echo "📍 Testez maintenant: http://localhost:3000"
|
|
echo ""
|
|
echo "🔍 Pour tester la documentation:"
|
|
echo " 1. Ouvrez http://localhost:3000"
|
|
echo " 2. Créez un élément de workflow"
|
|
echo " 3. Cliquez dessus pour ouvrir les propriétés"
|
|
echo " 4. Cliquez sur l'onglet Documentation"
|
|
echo ""
|
|
echo "📋 PID du serveur: $SERVER_PID"
|
|
echo "🛑 Pour arrêter: kill $SERVER_PID"
|
|
|
|
else
|
|
echo "❌ Le serveur ne répond pas"
|
|
kill $SERVER_PID 2>/dev/null
|
|
exit 1
|
|
fi |