UNPKG

@tinymce/beehive-flow

Version:

A CLI tool implementing the beehive flow git branching process

55 lines 2.56 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.stamp = exports.chooseNewVersion = exports.formatDate = exports.timeFormat = void 0; const tslib_1 = require("tslib"); const simple_git_1 = require("simple-git"); const luxon_1 = require("luxon"); const Git = tslib_1.__importStar(require("../utils/Git")); const PackageJson_1 = require("../core/PackageJson"); const PreRelease = tslib_1.__importStar(require("../core/PreRelease")); const BranchLogic_1 = require("../core/BranchLogic"); const Messages_1 = require("../core/Messages"); exports.timeFormat = 'yyyyMMddHHmmssSSS'; const formatDate = (timeMillis) => luxon_1.DateTime.fromMillis(timeMillis, { zone: 'utc' }).toFormat(exports.timeFormat); exports.formatDate = formatDate; const chooseNewVersion = (branchState, version, gitSha, timeMillis) => { if (branchState === "releaseReady" /* BranchState.ReleaseReady */) { return version; } else { const prePre = (() => { switch (branchState) { case "releaseCandidate" /* BranchState.ReleaseCandidate */: return version.preRelease; case "feature" /* BranchState.Feature */: return PreRelease.featureBranch; case "hotfix" /* BranchState.Hotfix */: return PreRelease.hotfixBranch; case "spike" /* BranchState.Spike */: return PreRelease.spikeBranch; } })(); const dt = (0, exports.formatDate)(timeMillis); const preRelease = `${prePre}.${dt}.sha${gitSha}`; const buildMetaData = undefined; return { ...version, preRelease, buildMetaData }; } }; exports.chooseNewVersion = chooseNewVersion; const stamp = async (args) => { (0, Messages_1.printHeaderMessage)(args); const dir = args.workingDir; const git = (0, simple_git_1.gitP)(dir); const gitSha = await Git.currentRevisionShortSha(git); const branchDetails = await (0, BranchLogic_1.getBranchDetails)(dir); const newVersion = (0, exports.chooseNewVersion)(branchDetails.branchState, branchDetails.version, gitSha, Date.now()); const rootModule = branchDetails.rootModule; await (0, PackageJson_1.writePackageJsonFileWithNewVersion)(rootModule.packageJson, newVersion, rootModule.packageJsonFile); console.log('Note: changes have been made to package.json but they have not been committed.'); }; exports.stamp = stamp; //# sourceMappingURL=Stamp.js.map