dry-node
Version:
Initialiseur de structure Node Express typée et modulaire
30 lines (24 loc) • 1.04 kB
JavaScript
const chalk = require("chalk");
const path = require("path");
const fs = require("fs");
const fsExtra = require("fs-extra");
const appArg = process.argv.find(arg => arg.startsWith("app="));
const appName = appArg?.split("=")[1];
if (!appName) {
console.error(chalk.red("❌ Veuillez spécifier une application avec app=nom"));
process.exit(1);
}
// Source dans le module installé
const sourceTemplate = path.join(__dirname, "..", "dry-init", "applications");
const targetApp = path.join(process.cwd(), "applications", appName);
if (!fs.existsSync(sourceTemplate)) {
console.error(chalk.red("❌ Le dossier source dry-init/applications est introuvable dans le module."));
process.exit(1);
}
if (fs.existsSync(targetApp)) {
console.log(chalk.yellow(`ℹ️ L’application ${appName} existe déjà.`));
} else {
fsExtra.copySync(sourceTemplate, targetApp);
console.log(chalk.green(`✅ Application ${appName} générée dans applications/${appName}`));
}