commitiquette
Version:
Plugin for commitizen to use commitLint config
33 lines (32 loc) • 1.6 kB
JavaScript
;
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;