backport
Version:
A CLI tool that automates the process of backporting commits
38 lines • 1.35 kB
JavaScript
import { graphql } from '../../../graphql/generated/index.js';
import { BackportError } from '../../backport-error.js';
import { ora } from '../../ora.js';
import { graphqlRequest } from './client/graphql-client.js';
export async function validateTargetBranch({ githubToken, repoName, repoOwner, branchName, githubApiBaseUrlV4 = 'https://api.github.com/graphql', interactive, }) {
const query = graphql(`
query GetBranchId(
$repoOwner: String!
$repoName: String!
$branchName: String!
) {
repository(owner: $repoOwner, name: $repoName) {
ref(qualifiedName: $branchName) {
id
}
}
}
`);
const spinner = ora(interactive, '').start();
const variables = { repoOwner, repoName, branchName };
const result = await graphqlRequest({ githubToken, githubApiBaseUrlV4 }, query, variables);
if (result.error) {
throw new BackportError({
code: 'github-api-exception',
message: result.error.message,
});
}
if (!result.data?.repository?.ref) {
spinner.fail(`The branch "${branchName}" does not exist`);
throw new BackportError({
code: 'invalid-branch-exception',
branchName: branchName,
});
}
spinner.stop();
return;
}
//# sourceMappingURL=validate-target-branch.js.map