UNPKG

backport

Version:

A CLI tool that automates the process of backporting commits

35 lines 1.71 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.fetchCommitBySha = void 0; const generated_1 = require("../../../../graphql/generated"); const BackportError_1 = require("../../../BackportError"); const remoteConfig_1 = require("../../../remoteConfig"); const parseSourceCommit_1 = require("../../../sourceCommit/parseSourceCommit"); const graphqlClient_1 = require("../client/graphqlClient"); async function fetchCommitBySha(options) { const { accessToken, githubApiBaseUrlV4 = 'https://api.github.com/graphql', repoName, repoOwner, sha, sourceBranch, } = options; const query = (0, generated_1.graphql)(` query CommitsBySha($repoOwner: String!, $repoName: String!, $sha: String!) { repository(owner: $repoOwner, name: $repoName) { object(expression: $sha) { __typename ...SourceCommitWithTargetPullRequestFragment } } } `); const variables = { repoOwner, repoName, sha }; const client = (0, graphqlClient_1.getGraphQLClient)({ accessToken, githubApiBaseUrlV4 }); const result = await client.query(query, variables); if (result.error && !(0, remoteConfig_1.isMissingConfigFileException)(result)) { throw new graphqlClient_1.GithubV4Exception(result); } const { data } = result; const sourceCommit = data?.repository?.object; if (sourceCommit?.__typename !== 'Commit') { throw new BackportError_1.BackportError(`No commit found on branch "${sourceBranch}" with sha "${sha}"`); } return (0, parseSourceCommit_1.parseSourceCommit)({ options, sourceCommit }); } exports.fetchCommitBySha = fetchCommitBySha; //# sourceMappingURL=fetchCommitBySha.js.map