UNPKG

@leonardowlopes/bx-cli

Version:

A CLI tool used to configure projects for the Buildbox company.

67 lines 2.68 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.configurationService = void 0; const inquirer_1 = __importDefault(require("inquirer")); const functions_1 = require("../enum/functions"); const repository_1 = require("../enum/repository"); const setup_repository_file_1 = require("../functions/setup-repository-file"); const commands_1 = require("../utils/commands"); const http_1 = require("../utils/http"); const mappers_1 = require("../utils/mappers"); async function configurationService() { const { type, configFiles } = await inquirer_1.default.prompt([ { type: 'list', name: 'type', message: 'What linting tool do you want to use?', choices: [ { name: 'BiomeJS', value: repository_1.ERepositoryFileName.BIOME, }, { name: 'ESLint/Prettier', value: [ repository_1.ERepositoryFileName.ESLINT, repository_1.ERepositoryFileName.PRETTIER, ], }, ], }, { type: 'checkbox', name: 'configFiles', message: 'Select the configuration files you want to setup', choices: [ { name: '.editorconfig', value: repository_1.ERepositoryFileName.EDITOR_CONFIG, checked: true, }, { name: '.nvmrc', value: functions_1.EFunction.GENERATE_NVMRC, checked: true, }, ], }, ]); console.log(''); const filesRepository = await (0, http_1.fetchFilesRepository)(); const repository = configFiles.filter((value) => Object.values(repository_1.ERepositoryFileName).includes(value)); const functions = configFiles.filter((value) => Object.values(functions_1.EFunction).includes(value)); for (const func of functions) { await mappers_1.FUNCTIONS_MAPPER[func](); } const fileNames = [repository, type].flatMap((item) => Array.isArray(item) ? item : [item]); for (const fileName of fileNames) { await (0, setup_repository_file_1.setupRepositoryFile)(fileName, filesRepository); } console.log(''); await commands_1.command.install(); } exports.configurationService = configurationService; //# sourceMappingURL=configuration.js.map