UNPKG

backport

Version:

A CLI tool that automates the process of backporting commits

32 lines 1.44 kB
import { uniq, flatten } from 'lodash-es'; import { filterNil } from '../../../utils/filter-empty.js'; import { logger } from '../../logger.js'; import { ora } from '../../ora.js'; import { createOctokitClient, retryOctokitRequest } from './octokit-client.js'; export async function getReviewersFromPullRequests({ options, pullNumbers, }) { const { githubApiBaseUrlV3, repoName, repoOwner, githubToken, interactive, authenticatedUsername, } = options; const text = `Retrieving original reviewers`; const spinner = ora(interactive, text).start(); const octokit = createOctokitClient({ githubToken, githubApiBaseUrlV3 }); try { const promises = pullNumbers.map(async (pr) => { const reviews = await retryOctokitRequest(() => octokit.pulls.listReviews({ owner: repoOwner, repo: repoName, pull_number: pr, })); return reviews.data .map((review) => review.user?.login) .filter((username) => username !== authenticatedUsername) .filter(filterNil); }); const reviewers = uniq(flatten(await Promise.all(promises))); spinner.stop(); return reviewers; } catch (error) { logger.error('Retrieving reviewers failed', error); spinner.fail(`Retrieving reviewers failed`); } } //# sourceMappingURL=get-reviewers-from-pull-requests.js.map