UNPKG

@tinymce/beehive-flow

Version:

A CLI tool implementing the beehive flow git branching process

35 lines 1.87 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.prepare = void 0; const tslib_1 = require("tslib"); const Git = tslib_1.__importStar(require("../utils/Git")); const BranchLogic_1 = require("../core/BranchLogic"); const AdvanceVersion = tslib_1.__importStar(require("../core/AdvanceVersion")); const PromiseUtils = tslib_1.__importStar(require("../utils/PromiseUtils")); const Messages_1 = require("../core/Messages"); const updateMainBranch = async (mainBranch, git, branchDetails) => { console.log(`Updating ${mainBranch} branch`); await git.checkout(mainBranch); const rootModule = branchDetails.rootModule; await AdvanceVersion.advanceMinor(branchDetails.version, rootModule.packageJson, rootModule.packageJsonFile, git); }; const prepare = async (args) => { (0, Messages_1.printHeaderMessage)(args); const gitUrl = await Git.resolveGitUrl(args.gitUrl, args.workingDir); const { dir, git } = await Git.cloneInTempFolder(gitUrl, args.temp); const mainBranch = await Git.checkoutMainBranch(git); const branchDetails = await (0, BranchLogic_1.getBranchDetails)(dir); if (branchDetails.branchState !== "releaseCandidate" /* BranchState.ReleaseCandidate */) { return PromiseUtils.fail('main branch should have an rc version when running this command'); } const releaseBranchName = (0, BranchLogic_1.getReleaseBranchName)(branchDetails.version); await Git.branchShouldNotExist(git, releaseBranchName); // Create the release branch await (0, BranchLogic_1.createReleaseBranch)(releaseBranchName, git, dir); await Git.pushUnlessDryRun(dir, git, args.dryRun); // Update the main branch await updateMainBranch(mainBranch, git, branchDetails); await Git.pushUnlessDryRun(dir, git, args.dryRun); }; exports.prepare = prepare; //# sourceMappingURL=Prepare.js.map