UNPKG

escuela-init

Version:

Generador de CI para los proyectos

81 lines (67 loc) 2.79 kB
const inquerer = require('../lib/inquerer'); const chalk = require('chalk'); const fileManager = require('./fileManager'); const microText = require('./textMICROS'); async function init() { const answers = await inquerer.question(); console.log(answers); switch (answers.kind) { case 'micro': for (let j = 0; j < answers.options.length; j++) { const option = answers.options[j]; if (option == 'maqueta') { await microMaqueta(); divisor(); console.log(chalk.green('MICRO: Maqueta creada exitosamente.')); } if (option == 'ci') { await microCiFiles(); divisor(); console.log(chalk.green('MICRO: Archivos Base creados exitosamente.')); } } break; case 'front': for (let j = 0; j < answers.options.length; j++) { if (answers.options == 'maqueta') { divisor(); console.log(chalk.red('FRONT: NO HAY MAQUETA BASE PARA FRONT')); console.log(chalk.blue('FRONT: Tip: create-react-app')); } if (answers.options == 'ci') { divisor(); console.log(chalk.red('FRONT: NO HAY MAQUETA BASE PARA FRONT')); console.log(chalk.blue('FRONT: Tip: create-react-app')); } } break; default: break; } } function maqueta(kind) { } function divisor() { console.log(chalk.grey('---------------------------------------')); } async function microMaqueta() { await fileManager.writefile(`${process.cwd()}/config/routes.js`, microText.configRoutes); await fileManager.writefile(`${process.cwd()}/consumer/core.js`, microText.consumerCore); await fileManager.writefile(`${process.cwd()}/controllers/core.js`, microText.controllerCore); await fileManager.writefile(`${process.cwd()}/models/core.js`, microText.modelCore); await fileManager.writefile(`${process.cwd()}/schemas/core.js`, microText.schemaCore); } async function microCiFiles() { await fileManager.writefile(`${process.cwd()}/Dockerfile`, microText.DockerFile); await fileManager.writefile(`${process.cwd()}/.gitlab-ci.yml`, microText.GitLabCI); await fileManager.writefile(`${process.cwd()}/.gitignore`, microText.GitIgnore); await fileManager.writefile(`${process.cwd()}/.eslintrc`, microText.Eslintrtc); await fileManager.writefile(`${process.cwd()}/.eslintignore`, microText.EslintIGnore); await fileManager.writefile(`${process.cwd()}/cloudbuild.yml`, microText.CloudBuild); await fileManager.writefile(`${process.cwd()}/README.md`, microText.readme); await fileManager.writefile(`${process.cwd()}/ecosystem.config.js`, microText.EcosystemPM2); await fileManager.writefile(`${process.cwd()}/.dockerignore`, microText.DockerIgnore); } module.exports = { init }