UNPKG

@git.zone/cli

Version:

A comprehensive CLI tool for enhancing and managing local development workflows with gitzone utilities, focusing on project setup, version control, code formatting, and template management.

47 lines 4.08 kB
import * as plugins from './mod.plugins.js'; import * as paths from '../paths.js'; import { logger } from '../gitzone.logging.js'; export const getTemplatePath = (templateNameArg) => { return plugins.path.join(paths.templatesDir, templateNameArg); }; /** * receives a template name and returns wether there is a corresponding template */ export const isTemplate = async (templateNameArg) => { return plugins.smartfile.fs.isDirectory(getTemplatePath(templateNameArg)); }; export const getTemplate = async (templateNameArg) => { if (isTemplate(templateNameArg)) { const localScafTemplate = new plugins.smartscaf.ScafTemplate(getTemplatePath(templateNameArg)); await localScafTemplate.readTemplateFromDir(); return localScafTemplate; } else { return null; } }; export const run = async (argvArg) => { let chosenTemplate = argvArg._[1]; if (!chosenTemplate) { const smartinteract = new plugins.smartinteract.SmartInteract(); const answerBucket = await smartinteract.askQuestion({ type: 'list', default: 'npm', message: 'What template do you want to scaffold? (Only showing mpost common options)', name: 'templateName', choices: ['npm', 'service', 'wcc', 'website'], }); chosenTemplate = answerBucket.value; } if (await isTemplate(chosenTemplate)) { logger.log('info', `found requested template ${chosenTemplate}`); } else { logger.log('error', `Template ${chosenTemplate} not available`); return; } const localScafTemplate = await getTemplate(chosenTemplate); await localScafTemplate.askCliForMissingVariables(); await localScafTemplate.writeToDisk(paths.cwd); }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi90cy9tb2RfdGVtcGxhdGUvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLE9BQU8sTUFBTSxrQkFBa0IsQ0FBQztBQUM1QyxPQUFPLEtBQUssS0FBSyxNQUFNLGFBQWEsQ0FBQztBQUVyQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFL0MsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsZUFBdUIsRUFBRSxFQUFFO0lBQ3pELE9BQU8sT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksRUFBRSxlQUFlLENBQUMsQ0FBQztBQUNoRSxDQUFDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxLQUFLLEVBQUUsZUFBdUIsRUFBRSxFQUFFO0lBQzFELE9BQU8sT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDO0FBQzVFLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxLQUFLLEVBQUUsZUFBdUIsRUFBRSxFQUFFO0lBQzNELElBQUksVUFBVSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7UUFDaEMsTUFBTSxpQkFBaUIsR0FBRyxJQUFJLE9BQU8sQ0FBQyxTQUFTLENBQUMsWUFBWSxDQUMxRCxlQUFlLENBQUMsZUFBZSxDQUFDLENBQ2pDLENBQUM7UUFDRixNQUFNLGlCQUFpQixDQUFDLG1CQUFtQixFQUFFLENBQUM7UUFDOUMsT0FBTyxpQkFBaUIsQ0FBQztJQUMzQixDQUFDO1NBQU0sQ0FBQztRQUNOLE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLEdBQUcsR0FBRyxLQUFLLEVBQUUsT0FBWSxFQUFFLEVBQUU7SUFDeEMsSUFBSSxjQUFjLEdBQVcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUUxQyxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDcEIsTUFBTSxhQUFhLEdBQUcsSUFBSSxPQUFPLENBQUMsYUFBYSxDQUFDLGFBQWEsRUFBRSxDQUFDO1FBQ2hFLE1BQU0sWUFBWSxHQUFHLE1BQU0sYUFBYSxDQUFDLFdBQVcsQ0FBQztZQUNuRCxJQUFJLEVBQUUsTUFBTTtZQUNaLE9BQU8sRUFBRSxLQUFLO1lBQ2QsT0FBTyxFQUNMLDRFQUE0RTtZQUM5RSxJQUFJLEVBQUUsY0FBYztZQUNwQixPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxTQUFTLENBQUM7U0FDOUMsQ0FBQyxDQUFDO1FBQ0gsY0FBYyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVELElBQUksTUFBTSxVQUFVLENBQUMsY0FBYyxDQUFDLEVBQUUsQ0FBQztRQUNyQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sRUFBRSw0QkFBNEIsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUNuRSxDQUFDO1NBQU0sQ0FBQztRQUNOLE1BQU0sQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLFlBQVksY0FBYyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ2hFLE9BQU87SUFDVCxDQUFDO0lBRUQsTUFBTSxpQkFBaUIsR0FBRyxNQUFNLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUM1RCxNQUFNLGlCQUFpQixDQUFDLHlCQUF5QixFQUFFLENBQUM7SUFDcEQsTUFBTSxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2pELENBQUMsQ0FBQyJ9