UNPKG

@donmahallem/label-pr

Version:

Helpers for working with github issue labels

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