UNPKG

projen

Version:

CDK for software projects

55 lines 10.5 kB
"use strict"; var _a; Object.defineProperty(exports, "__esModule", { value: true }); exports.Mergify = void 0; const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti"); const component_1 = require("../component"); const util_1 = require("../util"); const yaml_1 = require("../yaml"); class Mergify extends component_1.Component { constructor(github, options = {}) { super(github.project); this.rules = new Array(); this.queues = new Array(); for (const rule of options.rules ?? []) { this.addRule(rule); } for (const queue of options.queues ?? []) { this.addQueue(queue); } } createYamlFile() { if (this.yamlFile == null) { this.yamlFile = new yaml_1.YamlFile(this.project, ".mergify.yml", { obj: { queue_rules: () => this.queues.map((q) => (0, util_1.snakeCaseKeys)(q, false)), pull_request_rules: this.rules, merge_queue: { max_parallel_checks: 1, }, }, // Mergify needs to read the file from the repository in order to work. committed: true, }); } } addRule(rule) { this.rules.push(rule); this.createYamlFile(); } addQueue(queue) { if (queue.conditions && !queue.queueConditions) { queue = { ...queue, queueConditions: queue.conditions, conditions: undefined, }; } this.queues.push(queue); this.createYamlFile(); } } exports.Mergify = Mergify; _a = JSII_RTTI_SYMBOL_1; Mergify[_a] = { fqn: "projen.github.Mergify", version: "0.95.2" }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2lmeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9naXRodWIvbWVyZ2lmeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLDRDQUF5QztBQUN6QyxrQ0FBd0M7QUFDeEMsa0NBQW1DO0FBOEduQyxNQUFhLE9BQVEsU0FBUSxxQkFBUztJQU1wQyxZQUFZLE1BQWMsRUFBRSxVQUEwQixFQUFFO1FBQ3RELEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFOUCxVQUFLLEdBQUcsSUFBSSxLQUFLLEVBQWUsQ0FBQztRQUNqQyxXQUFNLEdBQUcsSUFBSSxLQUFLLEVBQWdCLENBQUM7UUFPbEQsS0FBSyxNQUFNLElBQUksSUFBSSxPQUFPLENBQUMsS0FBSyxJQUFJLEVBQUUsRUFBRSxDQUFDO1lBQ3ZDLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDckIsQ0FBQztRQUVELEtBQUssTUFBTSxLQUFLLElBQUksT0FBTyxDQUFDLE1BQU0sSUFBSSxFQUFFLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3ZCLENBQUM7SUFDSCxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSSxFQUFFLENBQUM7WUFDMUIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLGVBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLGNBQWMsRUFBRTtnQkFDekQsR0FBRyxFQUFFO29CQUNILFdBQVcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBQSxvQkFBYSxFQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztvQkFDbEUsa0JBQWtCLEVBQUUsSUFBSSxDQUFDLEtBQUs7b0JBQzlCLFdBQVcsRUFBRTt3QkFDWCxtQkFBbUIsRUFBRSxDQUFDO3FCQUN2QjtpQkFDRjtnQkFDRCx1RUFBdUU7Z0JBQ3ZFLFNBQVMsRUFBRSxJQUFJO2FBQ2hCLENBQUMsQ0FBQztRQUNMLENBQUM7SUFDSCxDQUFDO0lBRU0sT0FBTyxDQUFDLElBQWlCO1FBQzlCLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztJQUN4QixDQUFDO0lBRU0sUUFBUSxDQUFDLEtBQW1CO1FBQ2pDLElBQUksS0FBSyxDQUFDLFVBQVUsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztZQUMvQyxLQUFLLEdBQUc7Z0JBQ04sR0FBRyxLQUFLO2dCQUNSLGVBQWUsRUFBRSxLQUFLLENBQUMsVUFBVTtnQkFDakMsVUFBVSxFQUFFLFNBQVM7YUFDdEIsQ0FBQztRQUNKLENBQUM7UUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN4QixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQzs7QUFqREgsMEJBa0RDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2l0SHViIH0gZnJvbSBcIi4vZ2l0aHViXCI7XG5pbXBvcnQgeyBDb21wb25lbnQgfSBmcm9tIFwiLi4vY29tcG9uZW50XCI7XG5pbXBvcnQgeyBzbmFrZUNhc2VLZXlzIH0gZnJvbSBcIi4uL3V0aWxcIjtcbmltcG9ydCB7IFlhbWxGaWxlIH0gZnJvbSBcIi4uL3lhbWxcIjtcblxuLyoqXG4gKiBUaGUgTWVyZ2lmeSBjb25kaXRpb25hbCBvcGVyYXRvcnMgdGhhdCBjYW4gYmUgdXNlZCBhcmU6IGBvcmAgYW5kIGBhbmRgLlxuICogTm90ZTogVGhlIG51bWJlciBvZiBuZXN0ZWQgY29uZGl0aW9ucyBpcyBsaW1pdGVkIHRvIDMuXG4gKiBAc2VlIGh0dHBzOi8vZG9jcy5tZXJnaWZ5LmlvL2NvbmRpdGlvbnMvI2NvbWJpbmluZy1jb25kaXRpb25zLXdpdGgtb3BlcmF0b3JzXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVyZ2lmeUNvbmRpdGlvbmFsT3BlcmF0b3Ige1xuICByZWFkb25seSBvcj86IE1lcmdpZnlDb25kaXRpb25bXTtcbiAgcmVhZG9ubHkgYW5kPzogTWVyZ2lmeUNvbmRpdGlvbltdO1xufVxuXG5leHBvcnQgdHlwZSBNZXJnaWZ5Q29uZGl0aW9uID0gc3RyaW5nIHwgTWVyZ2lmeUNvbmRpdGlvbmFsT3BlcmF0b3I7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVyZ2lmeVJ1bGUge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHJ1bGUuIFRoaXMgaXMgbm90IHVzZWQgYnkgdGhlIGVuZ2luZSBkaXJlY3RseSxcbiAgICogYnV0IGlzIHVzZWQgd2hlbiByZXBvcnRpbmcgaW5mb3JtYXRpb24gYWJvdXQgYSBydWxlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuICAvKipcbiAgICogQSBsaXN0IG9mIENvbmRpdGlvbnMgc3RyaW5nIHRoYXQgbXVzdCBtYXRjaCBhZ2FpbnN0IHRoZVxuICAgKiBwdWxsIHJlcXVlc3QgZm9yIHRoZSBydWxlIHRvIGJlIGFwcGxpZWQuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLm1lcmdpZnkuaW8vY29uZGl0aW9ucy8jY29uZGl0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgY29uZGl0aW9uczogTWVyZ2lmeUNvbmRpdGlvbltdO1xuICAvKipcbiAgICogQSBkaWN0aW9uYXJ5IG1hZGUgb2YgQWN0aW9ucyB0aGF0IHdpbGwgYmUgZXhlY3V0ZWQgb24gdGhlXG4gICAqIG1hdGNoaW5nIHB1bGwgcmVxdWVzdHMuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLm1lcmdpZnkuaW8vYWN0aW9ucy8jYWN0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgYWN0aW9uczogeyBbYWN0aW9uOiBzdHJpbmddOiBhbnkgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBNZXJnaWZ5UXVldWUge1xuICAvKipcbiAgICogVGhlIG5hbWUgb2YgdGhlIHF1ZXVlLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBNZXJnZSBtZXRob2QgdG8gdXNlLlxuICAgKlxuICAgKiBQb3NzaWJsZSB2YWx1ZXMgYXJlIGBtZXJnZWAsIGBzcXVhc2hgLCBgcmViYXNlYCBvciBgZmFzdC1mb3J3YXJkYC5cbiAgICogYGZhc3QtZm9yd2FyZGAgaXMgbm90IHN1cHBvcnRlZCBvbiBxdWV1ZXMgd2l0aCBgc3BlY3VsYXRpdmVfY2hlY2tzYCA+IDEsIGBiYXRjaF9zaXplYCA+IDEsIG9yIHdpdGggYGFsbG93X2lucGxhY2VfY2hlY2tzYCBzZXQgdG8gZmFsc2UuXG4gICAqXG4gICAqIEBkZWZhdWx0IFwibWVyZ2VcIlxuICAgKi9cbiAgcmVhZG9ubHkgbWVyZ2VNZXRob2Q/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIE1ldGhvZCB0byB1c2UgdG8gdXBkYXRlIHRoZSBwdWxsIHJlcXVlc3Qgd2l0aCBpdHMgYmFzZSBicmFuY2ggd2hlbiB0aGUgc3BlY3VsYXRpdmUgY2hlY2sgaXMgZG9uZSBpbi1wbGFjZS5cbiAgICpcbiAgICogUG9zc2libGUgdmFsdWVzOlxuICAgKiAgLSBgbWVyZ2VgIHRvIG1lcmdlIHRoZSBiYXNlIGJyYW5jaCBpbnRvIHRoZSBwdWxsIHJlcXVlc3QuXG4gICAqICAtIGByZWJhc2VgIHRvIHJlYmFzZSB0aGUgcHVsbCByZXF1ZXN0IGFnYWluc3QgaXRzIGJhc2UgYnJhbmNoLlxuICAgKlxuICAgKiBOb3RlIHRoYXQgdGhlIGByZWJhc2VgIG1ldGhvZCBoYXMgc29tZSBkcmF3YmFja3MsIHNlZSBNZXJnaWZ5IGRvY3MgZm9yIGRldGFpbHMuXG4gICAqXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLm1lcmdpZnkuY29tL2FjdGlvbnMvcXVldWUvI3F1ZXVlLXJ1bGVzXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gYG1lcmdlYCBmb3IgYWxsIG1lcmdlIG1ldGhvZHMgZXhjZXB0IGBmYXN0LWZvcndhcmRgIHdoZXJlIGByZWJhc2VgIGlzIHVzZWRcbiAgICovXG4gIHJlYWRvbmx5IHVwZGF0ZU1ldGhvZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIGxpc3Qgb2YgY29uZGl0aW9ucyB0aGF0IG5lZWRzIHRvIG1hdGNoIHRvIHF1ZXVlIHRoZSBwdWxsIHJlcXVlc3QuXG4gICAqIEBzZWUgaHR0cHM6Ly9kb2NzLm1lcmdpZnkuY29tL2NvbmZpZ3VyYXRpb24vZmlsZS1mb3JtYXQvI3F1ZXVlLXJ1bGVzXG4gICAqXG4gICAqIEBkZXByZWNhdGVkIHVzZSBgcXVldWVDb25kaXRpb25zYCBpbnN0ZWFkXG4gICAqL1xuICByZWFkb25seSBjb25kaXRpb25zPzogTWVyZ2lmeUNvbmRpdGlvbltdO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBjb25kaXRpb25zIHRoYXQgbmVlZHMgdG8gbWF0Y2ggdG8gcXVldWUgdGhlIHB1bGwgcmVxdWVzdC5cbiAgICogQHNlZSBodHRwczovL2RvY3MubWVyZ2lmeS5jb20vY29uZGl0aW9ucy8jY29uZGl0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgcXVldWVDb25kaXRpb25zPzogTWVyZ2lmeUNvbmRpdGlvbltdO1xuXG4gIC8qKlxuICAgKiBUaGUgbGlzdCBvZiBjb25kaXRpb25zIHRvIG1hdGNoIHRvIGdldCB0aGUgcXVldWVkIHB1bGwgcmVxdWVzdCBtZXJnZWQuXG4gICAqIFRoaXMgYXV0b21hdGljYWxseSBpbmNsdWRlcyB0aGUgcXVldWVDb25kaXRpb25zLlxuICAgKiBJbiBjYXNlIG9mIHNwZWN1bGF0aXZlIG1lcmdlIHB1bGwgcmVxdWVzdCwgdGhlIG1lcmdlIGNvbmRpdGlvbnMgYXJlIGV2YWx1YXRlZCBhZ2FpbnN0IHRoZSB0ZW1wb3JhcnkgcHVsbCByZXF1ZXN0IGluc3RlYWQgb2YgdGhlIG9yaWdpbmFsIG9uZS5cbiAgICogQHNlZSBodHRwczovL2RvY3MubWVyZ2lmeS5jb20vY29uZGl0aW9ucy8jY29uZGl0aW9uc1xuICAgKi9cbiAgcmVhZG9ubHkgbWVyZ2VDb25kaXRpb25zPzogTWVyZ2lmeUNvbmRpdGlvbltdO1xuXG4gIC8qKlxuICAgKiBUZW1wbGF0ZSB0byB1c2UgYXMgdGhlIGNvbW1pdCBtZXNzYWdlIHdoZW4gdXNpbmcgdGhlIG1lcmdlIG9yIHNxdWFzaCBtZXJnZSBtZXRob2QuXG4gICAqL1xuICByZWFkb25seSBjb21taXRNZXNzYWdlVGVtcGxhdGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmUgTWVyZ2lmeS5cbiAqXG4gKiBUaGlzIGN1cnJlbnRseSBvbmx5IG9mZmVycyBhIHN1YnNldCBvZiBvcHRpb25zIGF2YWlsYWJsZS5cbiAqIEBzZWUgaHR0cHM6Ly9kb2NzLm1lcmdpZnkuY29tL2NvbmZpZ3VyYXRpb24vZmlsZS1mb3JtYXQvXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTWVyZ2lmeU9wdGlvbnMge1xuICAvKipcbiAgICogUHVsbCByZXF1ZXN0IGF1dG9tYXRpb24gcnVsZXMuXG4gICAqL1xuICByZWFkb25seSBydWxlcz86IE1lcmdpZnlSdWxlW107XG4gIC8qKlxuICAgKiBUaGUgYXZhaWxhYmxlIG1lcmdlIHF1ZXVlcy5cbiAgICovXG4gIHJlYWRvbmx5IHF1ZXVlcz86IE1lcmdpZnlRdWV1ZVtdO1xufVxuXG5leHBvcnQgY2xhc3MgTWVyZ2lmeSBleHRlbmRzIENvbXBvbmVudCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgcnVsZXMgPSBuZXcgQXJyYXk8TWVyZ2lmeVJ1bGU+KCk7XG4gIHByaXZhdGUgcmVhZG9ubHkgcXVldWVzID0gbmV3IEFycmF5PE1lcmdpZnlRdWV1ZT4oKTtcbiAgLy8gVGhlIGFjdHVhbCBZQU1MIGZpbGUgd2lsbCBvbmx5IGJlIGNyZWF0ZWQgaWYgYXQgbGVhc3QgMSBydWxlIGlzIGFkZGVkLlxuICBwcml2YXRlIHlhbWxGaWxlPzogWWFtbEZpbGU7XG5cbiAgY29uc3RydWN0b3IoZ2l0aHViOiBHaXRIdWIsIG9wdGlvbnM6IE1lcmdpZnlPcHRpb25zID0ge30pIHtcbiAgICBzdXBlcihnaXRodWIucHJvamVjdCk7XG5cbiAgICBmb3IgKGNvbnN0IHJ1bGUgb2Ygb3B0aW9ucy5ydWxlcyA/PyBbXSkge1xuICAgICAgdGhpcy5hZGRSdWxlKHJ1bGUpO1xuICAgIH1cblxuICAgIGZvciAoY29uc3QgcXVldWUgb2Ygb3B0aW9ucy5xdWV1ZXMgPz8gW10pIHtcbiAgICAgIHRoaXMuYWRkUXVldWUocXVldWUpO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgY3JlYXRlWWFtbEZpbGUoKSB7XG4gICAgaWYgKHRoaXMueWFtbEZpbGUgPT0gbnVsbCkge1xuICAgICAgdGhpcy55YW1sRmlsZSA9IG5ldyBZYW1sRmlsZSh0aGlzLnByb2plY3QsIFwiLm1lcmdpZnkueW1sXCIsIHtcbiAgICAgICAgb2JqOiB7XG4gICAgICAgICAgcXVldWVfcnVsZXM6ICgpID0+IHRoaXMucXVldWVzLm1hcCgocSkgPT4gc25ha2VDYXNlS2V5cyhxLCBmYWxzZSkpLFxuICAgICAgICAgIHB1bGxfcmVxdWVzdF9ydWxlczogdGhpcy5ydWxlcyxcbiAgICAgICAgICBtZXJnZV9xdWV1ZToge1xuICAgICAgICAgICAgbWF4X3BhcmFsbGVsX2NoZWNrczogMSxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICAvLyBNZXJnaWZ5IG5lZWRzIHRvIHJlYWQgdGhlIGZpbGUgZnJvbSB0aGUgcmVwb3NpdG9yeSBpbiBvcmRlciB0byB3b3JrLlxuICAgICAgICBjb21taXR0ZWQ6IHRydWUsXG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgYWRkUnVsZShydWxlOiBNZXJnaWZ5UnVsZSkge1xuICAgIHRoaXMucnVsZXMucHVzaChydWxlKTtcbiAgICB0aGlzLmNyZWF0ZVlhbWxGaWxlKCk7XG4gIH1cblxuICBwdWJsaWMgYWRkUXVldWUocXVldWU6IE1lcmdpZnlRdWV1ZSkge1xuICAgIGlmIChxdWV1ZS5jb25kaXRpb25zICYmICFxdWV1ZS5xdWV1ZUNvbmRpdGlvbnMpIHtcbiAgICAgIHF1ZXVlID0ge1xuICAgICAgICAuLi5xdWV1ZSxcbiAgICAgICAgcXVldWVDb25kaXRpb25zOiBxdWV1ZS5jb25kaXRpb25zLFxuICAgICAgICBjb25kaXRpb25zOiB1bmRlZmluZWQsXG4gICAgICB9O1xuICAgIH1cbiAgICB0aGlzLnF1ZXVlcy5wdXNoKHF1ZXVlKTtcbiAgICB0aGlzLmNyZWF0ZVlhbWxGaWxlKCk7XG4gIH1cbn1cbiJdfQ==