UNPKG

git-release-manager

Version:

A tool to generate release notes from git commit history

56 lines 3.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.resolveGitReferences = resolveGitReferences; exports.resolveGitReferencesFromRangeSummary = resolveGitReferencesFromRangeSummary; exports.collectGitInfo = collectGitInfo; const rangeOperations_1 = require("./utils/rangeOperations"); const referenceUtils_1 = require("./utils/referenceUtils"); const commitUtils_1 = require("./utils/commitUtils"); const tagUtils_1 = require("./utils/tagUtils"); async function resolveGitReferences(options) { var _a, _b; let resolvedFrom; let resolvedTo; if (options === null || options === void 0 ? void 0 : options.range) { const { from: f, to: t } = (0, rangeOperations_1.parseRange)(options.range); resolvedFrom = await (0, referenceUtils_1.resolveReference)(f, true); resolvedTo = await (0, referenceUtils_1.resolveReference)(t, false); } else if (options === null || options === void 0 ? void 0 : options.point) { resolvedFrom = await (0, referenceUtils_1.resolveReference)(null, true); resolvedTo = await (0, referenceUtils_1.resolveReference)(options.point, false); } else { resolvedFrom = await (0, referenceUtils_1.resolveReference)((_a = options === null || options === void 0 ? void 0 : options.from) !== null && _a !== void 0 ? _a : null, true); resolvedTo = await (0, referenceUtils_1.resolveReference)((_b = options === null || options === void 0 ? void 0 : options.to) !== null && _b !== void 0 ? _b : null, false); } return { resolvedFrom, resolvedTo }; } async function resolveGitReferencesFromRangeSummary(rangeInfo, index) { let resolvedFrom; let resolvedTo; const tag = rangeInfo.referenceList[index]; if (rangeInfo.referenceList[rangeInfo.referenceList.length - 1].reference == tag.reference) { resolvedFrom = rangeInfo.resolvedFrom; resolvedTo = await (0, referenceUtils_1.resolveReference)(tag.name, false); } else if (rangeInfo.referenceList[0].reference == tag.reference) { const previousTag = rangeInfo.referenceList[index + 1]; resolvedFrom = await (0, referenceUtils_1.resolveReference)(previousTag.name, true); resolvedTo = rangeInfo.resolvedTo; } else { const previousTag = rangeInfo.referenceList[index + 1]; resolvedFrom = await (0, referenceUtils_1.resolveReference)(previousTag.name, true); resolvedTo = await (0, referenceUtils_1.resolveReference)(tag.name, false); } return { resolvedFrom, resolvedTo }; } async function collectGitInfo(from, to) { const resolvedRange = (0, rangeOperations_1.formatRange)(from, to); const commitCount = await (0, commitUtils_1.getCommitCount)(resolvedRange); const referenceList = await (0, tagUtils_1.getTags)(resolvedRange); const latestReference = referenceList.length > 0 ? referenceList[0] : null; return { resolvedRange, commitCount, referenceList, latestReference }; } //# sourceMappingURL=gitOperations.js.map