escuela-init
Version:
Generador de CI para los proyectos
81 lines (67 loc) • 2.79 kB
JavaScript
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
}