UNPKG

backport

Version:

A CLI tool that automates the process of backporting commits

41 lines 1.69 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getReviewersFromPullRequests = void 0; const rest_1 = require("@octokit/rest"); const lodash_1 = require("lodash"); const filterEmpty_1 = require("../../../utils/filterEmpty"); const logger_1 = require("../../logger"); const ora_1 = require("../../ora"); async function getReviewersFromPullRequests({ options, pullNumbers, }) { const { githubApiBaseUrlV3, repoName, repoOwner, accessToken, interactive, authenticatedUsername, } = options; const text = `Retrieving original reviewers`; const spinner = (0, ora_1.ora)(interactive, text).start(); const octokit = new rest_1.Octokit({ auth: accessToken, baseUrl: githubApiBaseUrlV3, log: logger_1.logger, }); try { const promises = pullNumbers.map(async (pullNumber) => { const reviews = await octokit.pulls.listReviews({ owner: repoOwner, repo: repoName, pull_number: pullNumber, }); return reviews.data .map((review) => review.user?.login) .filter((username) => username !== authenticatedUsername) .filter(filterEmpty_1.filterNil); }); const reviewers = (0, lodash_1.uniq)((0, lodash_1.flatten)(await Promise.all(promises))); spinner.stop(); return reviewers; } catch (e) { // eslint-disable-next-line no-console console.log(e); spinner.fail(`Retrieving reviewers failed`); } } exports.getReviewersFromPullRequests = getReviewersFromPullRequests; //# sourceMappingURL=getReviewersFromPullRequests.js.map