UNPKG

hotshot-mod-manager

Version:

57 lines (50 loc) 1.85 kB
import chalk from "chalk"; import inquirer from "inquirer"; import { cacheDriverCreator } from "./contents/cache-driver-creator.js"; import { routerModuleCreator } from "./contents/mod-creator.js"; import { generateOpenApiSpecContent } from "./contents/open-api-specs-creator.js"; import { cleanupString } from "./main.js"; export async function routerModuleGen() { const { moduleName, nextStep } = await inquirer.prompt([ { type: "input", name: "moduleName", message: "Enter the name of the module:", validate: (input) => input.trim() ? true : "Module name cannot be empty.", }, { type: "list", name: "nextStep", message: "Need any extra resources? (OpenAPI Specs, Cache Drivers)", choices: ["Generate Module For Now", "Select Extra Resources"], }, ]); if (moduleName && nextStep === "Generate Module For Now") { await routerModuleCreator(moduleName); } if (moduleName && nextStep === "Select Extra Resources") { const { extraResources } = await inquirer.prompt([ { type: "checkbox", name: "extraResources", message: "Select extra resources to include: \n", choices: [ "Add Cache Driver", "Add Open API Specs", ], }, ]); if (moduleName) { await routerModuleCreator(cleanupString(moduleName)); console.log(chalk.blueBright("Router Module Created!")); } if (moduleName && extraResources.includes("Add Cache Driver")) { await cacheDriverCreator(cleanupString(moduleName)); console.log(chalk.blueBright("Cache Driver Created!")); } if (moduleName && extraResources.includes("Add Open API Specs")) { await generateOpenApiSpecContent(cleanupString(moduleName)); console.log(chalk.blueBright("Open API Specs Created!")); } } }