Files
TechradarDev/scripts/serve-radar.js
syoul 9d8ae3d32a refactor: projet stand-alone sans dépendance aoe_technology_radar
- Intégration du code source du framework dans radar-app/ (vendoring)
- Suppression de la dépendance npm aoe_technology_radar
- Création de scripts build-radar.js et serve-radar.js pour remplacer le CLI techradar
- Adaptation de tous les scripts et Docker pour utiliser radar-app/ au lieu de .techradar
- Refactorisation complète de Dockerfile.business
- Mise à jour de la documentation (architecture, déploiement, développement)
- Mise à jour de .gitignore pour ignorer les artefacts de build de radar-app/
- Ajout de postcss dans les dépendances Docker pour le build Next.js

Le projet est maintenant complètement indépendant du package externe.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-25 18:11:40 +01:00

54 lines
1.8 KiB
JavaScript
Executable File

#!/usr/bin/env node
/**
* Script de serve pour le radar stand-alone
* Remplace "techradar serve" en servant soit build/ soit en lançant le dev server Next.js
*/
const fs = require('fs');
const path = require('path');
const { execSync } = require('child_process');
const CWD = process.cwd();
const BUILD_DIR = path.join(CWD, 'build');
const RADAR_APP_DIR = path.join(CWD, 'radar-app');
const PORT = process.env.PORT || '3000';
// Mode: 'build' pour servir build/, 'dev' pour lancer Next.js dev
const MODE = process.argv[2] || 'build';
if (MODE === 'dev') {
// Mode développement: lancer Next.js dev dans radar-app
console.log('🚀 Démarrage du serveur de développement Next.js...');
console.log(`📍 URL: http://localhost:${PORT}/`);
try {
process.chdir(RADAR_APP_DIR);
execSync(`npm run dev -- -p ${PORT}`, { stdio: 'inherit' });
} catch (e) {
console.error('Erreur lors du démarrage du serveur dev:', e.message);
process.exit(1);
}
} else {
// Mode production: servir build/
if (!fs.existsSync(BUILD_DIR)) {
console.error(`❌ Dossier build/ introuvable. Lancez d'abord: npm run build`);
process.exit(1);
}
console.log(`🚀 Démarrage du serveur statique sur http://localhost:${PORT}/`);
console.log(`📁 Servant: ${BUILD_DIR}`);
try {
// Utiliser npx serve si disponible, sinon python http.server
try {
execSync(`npx serve@latest "${BUILD_DIR}" --listen ${PORT}`, { stdio: 'inherit' });
} catch (e) {
// Fallback sur python
console.log('⚠️ npx serve non disponible, utilisation de python http.server');
process.chdir(BUILD_DIR);
execSync(`python3 -m http.server ${PORT}`, { stdio: 'inherit' });
}
} catch (e) {
console.error('Erreur lors du démarrage du serveur:', e.message);
process.exit(1);
}
}