UNPKG

commitiquette

Version:

Plugin for commitizen to use commitLint config

33 lines (32 loc) 1.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.engine = void 0; var tslib_1 = require("tslib"); var utils_1 = require("./utils"); var type_maker_1 = require("./prompts/type-maker"); var footer_maker_1 = require("./prompts/footer-maker"); var body_maker_1 = require("./prompts/body-maker"); var scope_maker_1 = require("./prompts/scope-maker"); var subject_maker_1 = require("./prompts/subject-maker"); var commit_template_1 = require("./commit-template"); function buildQuestions(rules) { var combinedQuestions = (0, utils_1.pipeWith)([], function (x) { return (0, type_maker_1.typeMaker)(x, rules); }, function (x) { return (0, scope_maker_1.scopeMaker)(x, rules); }, function (x) { return (0, subject_maker_1.subjectMaker)(x, rules); }, function (x) { return (0, body_maker_1.bodyMaker)(x, rules); }, function (x) { return (0, footer_maker_1.footerMaker)(x, rules); }); return combinedQuestions; } function engine(config, prompt, commit) { return (0, tslib_1.__awaiter)(this, void 0, void 0, function () { var questions, answers, message; return (0, tslib_1.__generator)(this, function (_a) { switch (_a.label) { case 0: questions = buildQuestions(config.rules); return [4 /*yield*/, prompt(questions)]; case 1: answers = _a.sent(); message = (0, commit_template_1.commitTemplate)(answers); return [2 /*return*/, commit(message)]; } }); }); } exports.engine = engine;