#!/usr/bin/env node /** * RUNNER SIMPLE POUR PIPELINE 4 PHASES * Garantit la génération du rapport AutoReporter */ import { spawn } from 'child_process'; import { AutoReporter } from './reporters/AutoReporter.js'; // Configuration AutoReporter const autoReporter = new AutoReporter(); console.log('🚀 RUNNER PIPELINE 4 PHASES - GÉNÉRATION RAPPORT GARANTIE'); console.log('📋 Workflow: Generation initial => adversarial => Heavy enhancement => human touch'); // Fonction pour exécuter le test function runPipelineTest() { return new Promise((resolve, reject) => { console.log('\n🔄 === DÉMARRAGE TEST PIPELINE 4 PHASES ==='); // Lancer le test avec Node.js test runner const testProcess = spawn('node', ['--test', 'tests/pipeline-4-phases-force-report.test.js'], { cwd: process.cwd(), stdio: 'pipe' }); let stdout = ''; let stderr = ''; // Capturer stdout testProcess.stdout.on('data', (data) => { const output = data.toString(); stdout += output; process.stdout.write(output); // Afficher en temps réel }); // Capturer stderr testProcess.stderr.on('data', (data) => { const output = data.toString(); stderr += output; process.stderr.write(output); // Afficher en temps réel }); // Gestion fin de processus testProcess.on('close', (code) => { console.log(`\n✅ Test terminé avec code: ${code}`); if (code === 0) { console.log('🎉 Pipeline 4 phases exécuté avec succès !'); resolve({ stdout, stderr, code }); } else { console.log('❌ Pipeline 4 phases a échoué'); reject(new Error(`Test failed with code ${code}`)); } }); // Gestion erreurs testProcess.on('error', (error) => { console.error('❌ Erreur lors du lancement:', error.message); reject(error); }); }); } // Exécution principale async function main() { try { await runPipelineTest(); console.log('\n🎯 === VÉRIFICATION RAPPORT AUTO-REPORTER ==='); // Attendre un peu pour que AutoReporter finalise await new Promise(resolve => setTimeout(resolve, 3000)); console.log('✅ Runner pipeline 4 phases terminé'); console.log('📊 Vérifiez le dossier reports/ pour le nouveau rapport'); process.exit(0); } catch (error) { console.error('\n❌ Erreur dans le runner:', error.message); process.exit(1); } } // Lancer main();