@process-engine/ci_tools
Version:
CI tools for process-engine.io
51 lines • 2.28 kB
JavaScript
Object.defineProperty(exports, "__esModule", { value: true });
exports.getPrevVersionTag = exports.getPrevVersion = exports.getVersionTag = exports.getPreVersionForGitCommit = exports.getNextVersion = void 0;
const git_1 = require("../git/git");
const package_version_1 = require("./package_version");
const increment_version_1 = require("./increment_version");
const previous_stable_version_1 = require("./previous_stable_version");
async function getNextVersion(mode) {
const packageVersion = await (0, package_version_1.getPackageVersion)(mode);
const branchName = (0, git_1.getGitBranch)();
const gitTagList = (0, git_1.getGitTagList)();
const incrementedVersion = (0, increment_version_1.incrementVersion)(packageVersion, branchName, gitTagList);
return incrementedVersion || getPreVersionForGitCommit(packageVersion, branchName, (0, git_1.getGitCommitSha1)());
}
exports.getNextVersion = getNextVersion;
function getPreVersionForGitCommit(packageVersion, branchName, ref) {
const baseVersion = packageVersion.split('-')[0];
const branchPrefix = branchName.split('/')[0];
const refShort = ref.slice(0, 6);
const suffix = getRandomSuffix();
return `${baseVersion}-${branchPrefix}-${refShort}-${suffix}`;
}
exports.getPreVersionForGitCommit = getPreVersionForGitCommit;
/**
* Returns the version tag fora given `version`.
*/
function getVersionTag(version) {
return `v${version}`;
}
exports.getVersionTag = getVersionTag;
/**
* Returns the "prev" version according to the rules described in `run`.
*/
async function getPrevVersion(mode) {
const packageVersion = await (0, package_version_1.getPackageVersion)(mode);
const gitTagList = (0, git_1.getGitTagList)();
return (0, previous_stable_version_1.previousStableVersion)(packageVersion, gitTagList);
}
exports.getPrevVersion = getPrevVersion;
/**
* Returns the "previous" version tag according to the rules described in `run`.
*/
async function getPrevVersionTag(mode) {
const previousVersion = await getPrevVersion(mode);
return previousVersion == null ? null : `v${previousVersion}`;
}
exports.getPrevVersionTag = getPrevVersionTag;
function getRandomSuffix() {
return Date.now().toString(36);
}
//# sourceMappingURL=git_helpers.js.map
;