UNPKG

@donmahallem/label-pr

Version:

Helpers for working with github issue labels

38 lines (34 loc) 1.17 kB
'use strict'; const labelGh = require('@donmahallem/label-gh'); /** * Package @donmahallem/label-pr * Source https://donmahallem.github.io/js-libs/ */ const syncPRLabels = async (octokit, opts, packageLabel, prefix = 'pkg') => { const expectedLabels = packageLabel.map((baseLabel) => { return `${prefix}:${baseLabel}`; }); const prLabels = await labelGh.getPullRequestLabels(octokit, opts); const prLabelNames = prLabels .map((lab) => { return lab.name; }) .filter((label) => { // tslint:disable-next-line:triple-equals return label != undefined; }); const diff = labelGh.calculateLabelDiff(expectedLabels, prLabelNames); const finalLabels = []; finalLabels.push(...diff.add); finalLabels.push(...diff.unchanged); finalLabels.push(...diff.remove.filter((label) => { return !label.startsWith(`${prefix}:`); })); return labelGh.syncLabels(octokit, { issue_number: opts.pull_number, owner: opts.owner, repo: opts.repo, }, finalLabels, true); }; exports.syncPRLabels = syncPRLabels; //# sourceMappingURL=sync-pr-labels.cjs.map