git-release-manager 0.0.4 → 0.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cli/types/BranchCliArgs.js +3 -0
- package/dist/cli/types/BranchCliArgs.js.map +1 -0
- package/dist/{src/cli/types/ChnagelogCliArgs.js → cli/types/ChangelogCliArgs.js} +1 -1
- package/dist/cli/types/ChangelogCliArgs.js.map +1 -0
- package/dist/cli/types/CliArgs.js +3 -0
- package/dist/cli/types/CliArgs.js.map +1 -0
- package/dist/cli/types/VersionCliArgs.js +3 -0
- package/dist/cli/types/VersionCliArgs.js.map +1 -0
- package/dist/config/configLoader.js +61 -0
- package/dist/config/configLoader.js.map +1 -0
- package/dist/config/configManager.js +66 -0
- package/dist/config/configManager.js.map +1 -0
- package/dist/config/constants.js +10 -0
- package/dist/config/constants.js.map +1 -0
- package/dist/config/defaults/config.json +232 -0
- package/dist/config/types/ChannelType.js +3 -0
- package/dist/config/types/ChannelType.js.map +1 -0
- package/dist/config/types/CommitType.js.map +1 -0
- package/dist/config/types/Config.js +3 -0
- package/dist/config/types/Config.js.map +1 -0
- package/dist/{src/core/types/RangeInfo.js → config/types/FileGroups.js} +1 -1
- package/dist/config/types/FileGroups.js.map +1 -0
- package/dist/{src/git → config}/types/LinkType.js.map +1 -1
- package/dist/config/types/MentionType.js.map +1 -0
- package/dist/config/types/NoteType.js +3 -0
- package/dist/config/types/NoteType.js.map +1 -0
- package/dist/config/types/Options.js +3 -0
- package/dist/config/types/Options.js.map +1 -0
- package/dist/core/changelog/app.js +40 -0
- package/dist/core/changelog/app.js.map +1 -0
- package/dist/index.js +89 -0
- package/dist/index.js.map +1 -0
- package/dist/modules/branch/BranchController.js +62 -0
- package/dist/modules/branch/BranchController.js.map +1 -0
- package/dist/modules/branch/BranchManager.js +194 -0
- package/dist/modules/branch/BranchManager.js.map +1 -0
- package/dist/modules/changelog/ChangelogValidator.js +19 -0
- package/dist/modules/changelog/ChangelogValidator.js.map +1 -0
- package/dist/modules/changelog/templateOperations.js +144 -0
- package/dist/modules/changelog/templateOperations.js.map +1 -0
- package/dist/modules/changes/types/ChangeInformation.js.map +1 -0
- package/dist/modules/changes/types/Context.js.map +1 -0
- package/dist/modules/changes/types/RangeInfo.js +8 -0
- package/dist/modules/changes/types/RangeInfo.js.map +1 -0
- package/dist/{src/core/types/RangeDetails.js → modules/changes/types/RangeSummary.js} +1 -1
- package/dist/modules/changes/types/RangeSummary.js.map +1 -0
- package/dist/modules/changes/types/ReferenceTypesEnum.js.map +1 -0
- package/dist/{src → modules}/git/commits/commitProcessor.js +5 -7
- package/dist/modules/git/commits/commitProcessor.js.map +1 -0
- package/dist/{src → modules}/git/commits/gitLogFetcher.js +2 -2
- package/dist/modules/git/commits/gitLogFetcher.js.map +1 -0
- package/dist/modules/git/commits/index.js +136 -0
- package/dist/modules/git/commits/index.js.map +1 -0
- package/dist/{src → modules}/git/commits/profileHandler.js +13 -8
- package/dist/modules/git/commits/profileHandler.js.map +1 -0
- package/dist/{src → modules}/git/commits/regexHandlers.js +5 -5
- package/dist/modules/git/commits/regexHandlers.js.map +1 -0
- package/dist/modules/git/context/branchHandler.js +18 -0
- package/dist/modules/git/context/branchHandler.js.map +1 -0
- package/dist/modules/git/context/commitHandler.js +29 -0
- package/dist/modules/git/context/commitHandler.js.map +1 -0
- package/dist/{src → modules}/git/context/index.js +6 -11
- package/dist/modules/git/context/index.js.map +1 -0
- package/dist/{src → modules}/git/context/remoteHandler.js +3 -8
- package/dist/modules/git/context/remoteHandler.js.map +1 -0
- package/dist/modules/git/context/statusHandler.js +16 -0
- package/dist/modules/git/context/statusHandler.js.map +1 -0
- package/dist/modules/git/context/tagHandler.js +28 -0
- package/dist/modules/git/context/tagHandler.js.map +1 -0
- package/dist/modules/git/gitOperations.js +56 -0
- package/dist/modules/git/gitOperations.js.map +1 -0
- package/dist/modules/git/types/Author.js.map +1 -0
- package/dist/modules/git/types/Branch.js +3 -0
- package/dist/modules/git/types/Branch.js.map +1 -0
- package/dist/modules/git/types/BranchInfo.js.map +1 -0
- package/dist/modules/git/types/CommitContent.js.map +1 -0
- package/dist/modules/git/types/CommitInfo.js.map +1 -0
- package/dist/modules/git/types/CommitType.js +3 -0
- package/dist/modules/git/types/CommitType.js.map +1 -0
- package/dist/modules/git/types/GitCommit.js.map +1 -0
- package/dist/modules/git/types/GitReference.js +3 -0
- package/dist/modules/git/types/GitReference.js.map +1 -0
- package/dist/{src → modules}/git/types/Link.js.map +1 -1
- package/dist/modules/git/types/Mention.js.map +1 -0
- package/dist/{src → modules}/git/types/Note.js.map +1 -1
- package/dist/modules/git/types/RemoteInfo.js.map +1 -0
- package/dist/modules/git/types/Repository.js.map +1 -0
- package/dist/modules/git/types/StatusInfo.js.map +1 -0
- package/dist/modules/git/types/Tag.js +3 -0
- package/dist/modules/git/types/Tag.js.map +1 -0
- package/dist/modules/git/types/TagInfo.js.map +1 -0
- package/dist/{src → modules}/git/utils/branchUtils.js +5 -7
- package/dist/modules/git/utils/branchUtils.js.map +1 -0
- package/dist/{src → modules}/git/utils/commitUtils.js +3 -5
- package/dist/modules/git/utils/commitUtils.js.map +1 -0
- package/dist/modules/git/utils/logUtils.js.map +1 -0
- package/dist/modules/git/utils/rangeOperations.js.map +1 -0
- package/dist/modules/git/utils/refUtils.js.map +1 -0
- package/dist/{src → modules}/git/utils/referenceUtils.js +19 -22
- package/dist/modules/git/utils/referenceUtils.js.map +1 -0
- package/dist/{src → modules}/git/utils/tagUtils.js +7 -6
- package/dist/modules/git/utils/tagUtils.js.map +1 -0
- package/dist/{src → modules}/output/writer.js +2 -2
- package/dist/modules/output/writer.js.map +1 -0
- package/dist/{src → modules}/sections/contributors.js +4 -4
- package/dist/modules/sections/contributors.js.map +1 -0
- package/dist/{src → modules}/sections/grouping.js +12 -18
- package/dist/modules/sections/grouping.js.map +1 -0
- package/dist/{src → modules}/sections/index.js +1 -2
- package/dist/modules/sections/index.js.map +1 -0
- package/dist/{src → modules}/sections/summarizing.js +11 -15
- package/dist/modules/sections/summarizing.js.map +1 -0
- package/dist/modules/sections/types/Contributor.js +3 -0
- package/dist/modules/sections/types/Contributor.js.map +1 -0
- package/dist/modules/sections/types/Group.js.map +1 -0
- package/dist/modules/sections/types/SectionSummary.js +3 -0
- package/dist/modules/sections/types/SectionSummary.js.map +1 -0
- package/dist/modules/sections/types/Sections.js.map +1 -0
- package/dist/modules/version/GitVersionManager.js +153 -0
- package/dist/modules/version/GitVersionManager.js.map +1 -0
- package/dist/modules/version/ReleaseManager.js +69 -0
- package/dist/modules/version/ReleaseManager.js.map +1 -0
- package/dist/modules/version/VersionManager.js +77 -0
- package/dist/modules/version/VersionManager.js.map +1 -0
- package/dist/modules/version/VersionValidator.js +31 -0
- package/dist/modules/version/VersionValidator.js.map +1 -0
- package/dist/modules/version/types/const.js +3 -0
- package/dist/modules/version/types/const.js.map +1 -0
- package/dist/modules/version/versionFormatter.js +104 -0
- package/dist/modules/version/versionFormatter.js.map +1 -0
- package/dist/modules/version/versionHelper.js +9 -0
- package/dist/modules/version/versionHelper.js.map +1 -0
- package/dist/src/cli/types/BranchCliArgs.js +3 -0
- package/dist/src/cli/types/BranchCliArgs.js.map +1 -0
- package/dist/src/cli/types/VersionCliArgs.js +3 -0
- package/dist/src/cli/types/VersionCliArgs.js.map +1 -0
- package/dist/src/config/defaults/config.json +231 -231
- package/dist/src/core/changelog/app.js +5 -4
- package/dist/src/core/changelog/app.js.map +1 -1
- package/dist/src/index.js +132 -14
- package/dist/src/index.js.map +1 -1
- package/dist/src/modules/changelog/templateOperations.js +37 -24
- package/dist/src/modules/changelog/templateOperations.js.map +1 -1
- package/dist/src/modules/git/commits/commitProcessor.js +2 -4
- package/dist/src/modules/git/commits/commitProcessor.js.map +1 -1
- package/dist/src/modules/git/commits/index.js +26 -26
- package/dist/src/modules/git/commits/index.js.map +1 -1
- package/dist/src/modules/git/commits/profileHandler.js +5 -2
- package/dist/src/modules/git/commits/profileHandler.js.map +1 -1
- package/dist/src/modules/git/context/branchHandler.js +4 -9
- package/dist/src/modules/git/context/branchHandler.js.map +1 -1
- package/dist/src/modules/git/context/commitHandler.js +9 -14
- package/dist/src/modules/git/context/commitHandler.js.map +1 -1
- package/dist/src/modules/git/context/index.js +5 -7
- package/dist/src/modules/git/context/index.js.map +1 -1
- package/dist/src/modules/git/context/remoteHandler.js +3 -8
- package/dist/src/modules/git/context/remoteHandler.js.map +1 -1
- package/dist/src/modules/git/context/statusHandler.js +3 -8
- package/dist/src/modules/git/context/statusHandler.js.map +1 -1
- package/dist/src/modules/git/context/tagHandler.js +3 -8
- package/dist/src/modules/git/context/tagHandler.js.map +1 -1
- package/dist/src/modules/git/gitOperations.js +10 -10
- package/dist/src/modules/git/gitOperations.js.map +1 -1
- package/dist/src/modules/git/utils/branchUtils.js +2 -4
- package/dist/src/modules/git/utils/branchUtils.js.map +1 -1
- package/dist/src/modules/git/utils/commitUtils.js +2 -4
- package/dist/src/modules/git/utils/commitUtils.js.map +1 -1
- package/dist/src/modules/git/utils/referenceUtils.js +9 -6
- package/dist/src/modules/git/utils/referenceUtils.js.map +1 -1
- package/dist/src/modules/git/utils/tagUtils.js +5 -4
- package/dist/src/modules/git/utils/tagUtils.js.map +1 -1
- package/dist/src/modules/sections/grouping.js +5 -5
- package/dist/src/modules/sections/grouping.js.map +1 -1
- package/dist/src/modules/sections/index.js.map +1 -1
- package/dist/src/modules/sections/summarizing.js +4 -4
- package/dist/src/modules/sections/summarizing.js.map +1 -1
- package/dist/src/templates/defaults/changelog.detailed.ejs +110 -110
- package/dist/src/templates/defaults/changelog.ejs +67 -67
- package/dist/src/utils/cmd.js +15 -0
- package/dist/src/utils/cmd.js.map +1 -1
- package/dist/templates/constants.js.map +1 -0
- package/dist/{src/modules/templates → templates}/defaults/changelog.detailed.ejs +110 -110
- package/dist/{src/modules/templates → templates}/defaults/changelog.ejs +67 -67
- package/dist/templates/templateRenderer.js.map +1 -0
- package/dist/templates/templateResolver.js.map +1 -0
- package/dist/{src → types}/PackageJson.js.map +1 -1
- package/dist/utils/cmd.js +42 -0
- package/dist/utils/cmd.js.map +1 -0
- package/dist/utils/date.js +20 -0
- package/dist/utils/date.js.map +1 -0
- package/package.json +64 -61
- package/dist/src/cli/types/ChnagelogCliArgs.js.map +0 -1
- package/dist/src/core/app-old.js +0 -35
- package/dist/src/core/app-old.js.map +0 -1
- package/dist/src/core/app.js +0 -19
- package/dist/src/core/app.js.map +0 -1
- package/dist/src/core/gitOperations.js +0 -95
- package/dist/src/core/gitOperations.js.map +0 -1
- package/dist/src/core/rangeOperations.js.map +0 -1
- package/dist/src/core/templateOperations.js +0 -157
- package/dist/src/core/templateOperations.js.map +0 -1
- package/dist/src/core/types/ChangeInformation.js.map +0 -1
- package/dist/src/core/types/Context.js.map +0 -1
- package/dist/src/core/types/RangeDetails.js.map +0 -1
- package/dist/src/core/types/RangeInfo.js.map +0 -1
- package/dist/src/core/types/ReferenceTypesEnum.js.map +0 -1
- package/dist/src/core/types/Repository.js.map +0 -1
- package/dist/src/git/commits/commitProcessor.js.map +0 -1
- package/dist/src/git/commits/gitLogFetcher.js.map +0 -1
- package/dist/src/git/commits/index.js +0 -136
- package/dist/src/git/commits/index.js.map +0 -1
- package/dist/src/git/commits/profileHandler.js.map +0 -1
- package/dist/src/git/commits/regexHandlers.js.map +0 -1
- package/dist/src/git/commits.js +0 -136
- package/dist/src/git/commits.js.map +0 -1
- package/dist/src/git/context/branchHandler.js +0 -23
- package/dist/src/git/context/branchHandler.js.map +0 -1
- package/dist/src/git/context/commitHandler.js +0 -30
- package/dist/src/git/context/commitHandler.js.map +0 -1
- package/dist/src/git/context/index.js.map +0 -1
- package/dist/src/git/context/remoteHandler.js.map +0 -1
- package/dist/src/git/context/statusHandler.js +0 -21
- package/dist/src/git/context/statusHandler.js.map +0 -1
- package/dist/src/git/context/tagHandler.js +0 -21
- package/dist/src/git/context/tagHandler.js.map +0 -1
- package/dist/src/git/context.js +0 -95
- package/dist/src/git/context.js.map +0 -1
- package/dist/src/git/types/Author.js.map +0 -1
- package/dist/src/git/types/BranchInfo.js.map +0 -1
- package/dist/src/git/types/CommitContent.js.map +0 -1
- package/dist/src/git/types/CommitInfo.js.map +0 -1
- package/dist/src/git/types/CommitType.js.map +0 -1
- package/dist/src/git/types/CommitType2.js +0 -3
- package/dist/src/git/types/CommitType2.js.map +0 -1
- package/dist/src/git/types/GitCommit.js.map +0 -1
- package/dist/src/git/types/GitContext.js +0 -3
- package/dist/src/git/types/GitContext.js.map +0 -1
- package/dist/src/git/types/LinkType-.js +0 -3
- package/dist/src/git/types/LinkType-.js.map +0 -1
- package/dist/src/git/types/Mention.js.map +0 -1
- package/dist/src/git/types/MentionType-.js +0 -3
- package/dist/src/git/types/MentionType-.js.map +0 -1
- package/dist/src/git/types/MentionType.js.map +0 -1
- package/dist/src/git/types/RemoteInfo.js.map +0 -1
- package/dist/src/git/types/StatusInfo.js.map +0 -1
- package/dist/src/git/types/TagInfo.js.map +0 -1
- package/dist/src/git/utils/branchUtils.js.map +0 -1
- package/dist/src/git/utils/commitUtils.js.map +0 -1
- package/dist/src/git/utils/logUtils.js.map +0 -1
- package/dist/src/git/utils/refUtils.js.map +0 -1
- package/dist/src/git/utils/referenceUtils.js.map +0 -1
- package/dist/src/git/utils/tagUtils.js.map +0 -1
- package/dist/src/main.js +0 -16
- package/dist/src/main.js.map +0 -1
- package/dist/src/modules/changes/types/RangeDetail.js +0 -3
- package/dist/src/modules/changes/types/RangeDetail.js.map +0 -1
- package/dist/src/modules/changes/types/RangeDetails.js +0 -3
- package/dist/src/modules/changes/types/RangeDetails.js.map +0 -1
- package/dist/src/modules/git/types/GitContext.js +0 -3
- package/dist/src/modules/git/types/GitContext.js.map +0 -1
- package/dist/src/modules/repository/types/Repository.js +0 -3
- package/dist/src/modules/repository/types/Repository.js.map +0 -1
- package/dist/src/modules/templates/constants.js.map +0 -1
- package/dist/src/modules/templates/templateRenderer.js.map +0 -1
- package/dist/src/modules/templates/templateResolver.js.map +0 -1
- package/dist/src/output/writer.js.map +0 -1
- package/dist/src/sections/contributors.js.map +0 -1
- package/dist/src/sections/grouping.js.map +0 -1
- package/dist/src/sections/index.js.map +0 -1
- package/dist/src/sections/summarizing.js.map +0 -1
- package/dist/src/sections/types/Contributor.js +0 -15
- package/dist/src/sections/types/Contributor.js.map +0 -1
- package/dist/src/sections/types/Group.js.map +0 -1
- package/dist/src/sections/types/SectionSummary.js +0 -13
- package/dist/src/sections/types/SectionSummary.js.map +0 -1
- package/dist/src/sections/types/Sections.js.map +0 -1
- package/dist/src/templates/index.js +0 -100
- package/dist/src/templates/index.js.map +0 -1
- package/dist/src/utils/git-utils.js +0 -279
- package/dist/src/utils/git-utils.js.map +0 -1
- package/dist/src/utils/helpers.js +0 -10
- package/dist/src/utils/helpers.js.map +0 -1
- /package/dist/{src/git → config}/types/CommitType.js +0 -0
- /package/dist/{src/git → config}/types/LinkType.js +0 -0
- /package/dist/{src/git → config}/types/MentionType.js +0 -0
- /package/dist/{src/core → modules/changes}/types/ChangeInformation.js +0 -0
- /package/dist/{src/core → modules/changes}/types/Context.js +0 -0
- /package/dist/{src/core → modules/changes}/types/ReferenceTypesEnum.js +0 -0
- /package/dist/{src → modules}/git/types/Author.js +0 -0
- /package/dist/{src → modules}/git/types/BranchInfo.js +0 -0
- /package/dist/{src → modules}/git/types/CommitContent.js +0 -0
- /package/dist/{src → modules}/git/types/CommitInfo.js +0 -0
- /package/dist/{src → modules}/git/types/GitCommit.js +0 -0
- /package/dist/{src → modules}/git/types/Link.js +0 -0
- /package/dist/{src → modules}/git/types/Mention.js +0 -0
- /package/dist/{src → modules}/git/types/Note.js +0 -0
- /package/dist/{src → modules}/git/types/RemoteInfo.js +0 -0
- /package/dist/{src/core → modules/git}/types/Repository.js +0 -0
- /package/dist/{src → modules}/git/types/StatusInfo.js +0 -0
- /package/dist/{src → modules}/git/types/TagInfo.js +0 -0
- /package/dist/{src → modules}/git/utils/logUtils.js +0 -0
- /package/dist/{src/core → modules/git/utils}/rangeOperations.js +0 -0
- /package/dist/{src → modules}/git/utils/refUtils.js +0 -0
- /package/dist/{src → modules}/sections/types/Group.js +0 -0
- /package/dist/{src → modules}/sections/types/Sections.js +0 -0
- /package/dist/{src/modules/templates → templates}/constants.js +0 -0
- /package/dist/{src/modules/templates → templates}/templateRenderer.js +0 -0
- /package/dist/{src/modules/templates → templates}/templateResolver.js +0 -0
- /package/dist/{src → types}/PackageJson.js +0 -0
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.enrichCommit = enrichCommit;
|
|
4
|
+
exports.getTypeTitle = getTypeTitle;
|
|
5
|
+
const regexHandlers_1 = require("./regexHandlers");
|
|
6
|
+
const profileHandler_1 = require("./profileHandler");
|
|
7
|
+
async function enrichCommit(commit, config) {
|
|
8
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3;
|
|
9
|
+
const match = RegExp(/^(?<type>\w+)(\((?<scope>[^)]+)\))?(?<modifier>[!+~?*])?:\s(?<summary>.+)$/).exec(commit.message);
|
|
10
|
+
const type = (_b = (_a = match === null || match === void 0 ? void 0 : match.groups) === null || _a === void 0 ? void 0 : _a.type) !== null && _b !== void 0 ? _b : null;
|
|
11
|
+
const scope = (_d = (_c = match === null || match === void 0 ? void 0 : match.groups) === null || _c === void 0 ? void 0 : _c.scope) !== null && _d !== void 0 ? _d : null;
|
|
12
|
+
const modifier = (_f = (_e = match === null || match === void 0 ? void 0 : match.groups) === null || _e === void 0 ? void 0 : _e.modifier) !== null && _f !== void 0 ? _f : null;
|
|
13
|
+
const summary = (_h = (_g = match === null || match === void 0 ? void 0 : match.groups) === null || _g === void 0 ? void 0 : _g.summary) !== null && _h !== void 0 ? _h : commit.message;
|
|
14
|
+
let description = (_k = (_j = commit.body) === null || _j === void 0 ? void 0 : _j.trim()) !== null && _k !== void 0 ? _k : null;
|
|
15
|
+
const tagDescription = (_l = description === null || description === void 0 ? void 0 : description.trim()) !== null && _l !== void 0 ? _l : '';
|
|
16
|
+
const tagRegex = /Tags:\s(.+)/i;
|
|
17
|
+
const labels = [];
|
|
18
|
+
const labelsMatch = RegExp(tagRegex).exec(tagDescription);
|
|
19
|
+
if (labelsMatch) {
|
|
20
|
+
labels.push(...labelsMatch[1].split(',').map(label => (label === null || label === void 0 ? void 0 : label.trim()) || ''));
|
|
21
|
+
description = (_o = (_m = description === null || description === void 0 ? void 0 : description.replace(labelsMatch[0], '')) === null || _m === void 0 ? void 0 : _m.trim()) !== null && _o !== void 0 ? _o : null;
|
|
22
|
+
}
|
|
23
|
+
const mentionDescription = (_p = description === null || description === void 0 ? void 0 : description.trim()) !== null && _p !== void 0 ? _p : '';
|
|
24
|
+
const mentionRegex = (0, regexHandlers_1.createMentionRegex)(config.mentionTypes);
|
|
25
|
+
const mentions = [];
|
|
26
|
+
let mentionMatch;
|
|
27
|
+
if (mentionRegex) {
|
|
28
|
+
while ((mentionMatch = mentionRegex.exec(mentionDescription)) !== null) {
|
|
29
|
+
const matchedTerm = (_q = mentionMatch[0].split(':')[0]) === null || _q === void 0 ? void 0 : _q.trim();
|
|
30
|
+
const matchedType = config.mentionTypes.find(mentionType => mentionType.terms.includes(matchedTerm));
|
|
31
|
+
const profileUrl = await (0, profileHandler_1.prepareProfileUrlsByEMail)(((_r = mentionMatch[2]) === null || _r === void 0 ? void 0 : _r.trim()) || '');
|
|
32
|
+
if (matchedType) {
|
|
33
|
+
mentions.push({
|
|
34
|
+
type: matchedType.type,
|
|
35
|
+
title: matchedType.title,
|
|
36
|
+
name: ((_s = mentionMatch[1]) === null || _s === void 0 ? void 0 : _s.trim()) || '',
|
|
37
|
+
email: ((_t = mentionMatch[2]) === null || _t === void 0 ? void 0 : _t.trim()) || '',
|
|
38
|
+
profileUrl,
|
|
39
|
+
});
|
|
40
|
+
description = (_v = (_u = description === null || description === void 0 ? void 0 : description.replace(mentionMatch[0], '')) === null || _u === void 0 ? void 0 : _u.trim()) !== null && _v !== void 0 ? _v : null;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
const linkDescription = (_w = description === null || description === void 0 ? void 0 : description.trim()) !== null && _w !== void 0 ? _w : '';
|
|
45
|
+
const linkRegex = (0, regexHandlers_1.createLinkRegex)(config.linkTypes);
|
|
46
|
+
const links = [];
|
|
47
|
+
let linkMatch;
|
|
48
|
+
if (linkRegex) {
|
|
49
|
+
while ((linkMatch = linkRegex.exec(linkDescription)) !== null) {
|
|
50
|
+
const matchedTerm = (_x = linkMatch[1]) === null || _x === void 0 ? void 0 : _x.trim();
|
|
51
|
+
const matchedType = config.linkTypes.filter(linkType => linkType.terms).find(linkType => { var _a; return (_a = linkType.terms) === null || _a === void 0 ? void 0 : _a.includes(matchedTerm); });
|
|
52
|
+
if (matchedType) {
|
|
53
|
+
links.push({
|
|
54
|
+
type: matchedType.type,
|
|
55
|
+
title: matchedType.title,
|
|
56
|
+
id: parseInt(linkMatch[2], 10),
|
|
57
|
+
});
|
|
58
|
+
description = (_z = (_y = description === null || description === void 0 ? void 0 : description.replace(linkMatch[0], '')) === null || _y === void 0 ? void 0 : _y.trim()) !== null && _z !== void 0 ? _z : null;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
const commitMessage = ((_0 = commit.message) === null || _0 === void 0 ? void 0 : _0.trim()) || '';
|
|
63
|
+
const processedIds = new Set(links.map(link => link.id));
|
|
64
|
+
config.linkTypes.forEach(linkType => {
|
|
65
|
+
var _a, _b;
|
|
66
|
+
if (linkType.sign) {
|
|
67
|
+
const signRegex = new RegExp(`\\${linkType.sign[0]}(\\d+)`);
|
|
68
|
+
let signMatch;
|
|
69
|
+
while ((signMatch = signRegex.exec(linkDescription)) !== null) {
|
|
70
|
+
const matchedId = parseInt(signMatch[1], 10);
|
|
71
|
+
if (processedIds.has(matchedId)) {
|
|
72
|
+
continue;
|
|
73
|
+
}
|
|
74
|
+
if (!links.some(link => link.type === linkType.type && link.id === matchedId)) {
|
|
75
|
+
links.push({
|
|
76
|
+
type: linkType.type,
|
|
77
|
+
title: linkType.title,
|
|
78
|
+
id: matchedId,
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
description = (_b = (_a = description === null || description === void 0 ? void 0 : description.replace(signMatch[0], '')) === null || _a === void 0 ? void 0 : _a.trim()) !== null && _b !== void 0 ? _b : null;
|
|
82
|
+
}
|
|
83
|
+
while ((signMatch = signRegex.exec(commitMessage)) !== null) {
|
|
84
|
+
const matchedId = parseInt(signMatch[1], 10);
|
|
85
|
+
if (processedIds.has(matchedId)) {
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
if (!links.some(link => link.type === linkType.type && link.id === matchedId)) {
|
|
89
|
+
links.push({
|
|
90
|
+
type: linkType.type,
|
|
91
|
+
title: linkType.title,
|
|
92
|
+
id: matchedId,
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
});
|
|
98
|
+
const noteDescription = (_1 = description === null || description === void 0 ? void 0 : description.trim()) !== null && _1 !== void 0 ? _1 : '';
|
|
99
|
+
const notes = [];
|
|
100
|
+
const noteRegex = /(.*?):\s(.+)/g;
|
|
101
|
+
let noteMatch;
|
|
102
|
+
while ((noteMatch = noteRegex.exec(noteDescription)) !== null) {
|
|
103
|
+
notes.push({
|
|
104
|
+
type: noteMatch[1].toLowerCase(),
|
|
105
|
+
content: noteMatch[2],
|
|
106
|
+
});
|
|
107
|
+
description = (_3 = (_2 = description === null || description === void 0 ? void 0 : description.replace(noteMatch[0], '')) === null || _2 === void 0 ? void 0 : _2.trim()) !== null && _3 !== void 0 ? _3 : null;
|
|
108
|
+
}
|
|
109
|
+
const typeTitle = getTypeTitle(config.commitTypes, type);
|
|
110
|
+
const profileUrl = await (0, profileHandler_1.prepareProfileUrlsByEMail)(commit.authorEmail);
|
|
111
|
+
const commitContent = {
|
|
112
|
+
type,
|
|
113
|
+
typeTitle,
|
|
114
|
+
scope,
|
|
115
|
+
modifier,
|
|
116
|
+
summary,
|
|
117
|
+
description,
|
|
118
|
+
author: {
|
|
119
|
+
name: commit.authorName,
|
|
120
|
+
email: commit.authorEmail,
|
|
121
|
+
profileUrl,
|
|
122
|
+
},
|
|
123
|
+
mentions,
|
|
124
|
+
links,
|
|
125
|
+
notes,
|
|
126
|
+
labels,
|
|
127
|
+
raw: commit,
|
|
128
|
+
files: [],
|
|
129
|
+
};
|
|
130
|
+
return commitContent;
|
|
131
|
+
}
|
|
132
|
+
function getTypeTitle(commitTypes, type) {
|
|
133
|
+
const matchingType = commitTypes.find(ct => ct.terms.includes(type !== null && type !== void 0 ? type : ''));
|
|
134
|
+
return matchingType ? matchingType.title : 'Other Changes';
|
|
135
|
+
}
|
|
136
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/git/commits/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,8 +9,11 @@ async function prepareProfileUrlsByEMail(email) {
|
|
|
9
9
|
return undefined;
|
|
10
10
|
}
|
|
11
11
|
if (!exports.profileUrlCache.has(email)) {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
let profileUrl = null;
|
|
13
|
+
if (process.env.GITHUB_TOKEN) {
|
|
14
|
+
profileUrl = await getGitHubProfileUrl(email, process.env.GITHUB_TOKEN);
|
|
15
|
+
}
|
|
16
|
+
exports.profileUrlCache.set(email, profileUrl !== null && profileUrl !== void 0 ? profileUrl : `mailto:${email}`);
|
|
14
17
|
}
|
|
15
18
|
return exports.profileUrlCache.get(email);
|
|
16
19
|
}
|
|
@@ -18,12 +21,14 @@ async function getGitHubProfileUrl(email, token) {
|
|
|
18
21
|
const url = `https://api.github.com/search/users?q=${email}`;
|
|
19
22
|
try {
|
|
20
23
|
const response = await fetch(url, {
|
|
21
|
-
headers: token
|
|
22
|
-
|
|
23
|
-
|
|
24
|
+
headers: token
|
|
25
|
+
? {
|
|
26
|
+
Authorization: `token ${token}`,
|
|
27
|
+
}
|
|
28
|
+
: {},
|
|
24
29
|
});
|
|
25
30
|
if (!response.ok) {
|
|
26
|
-
console.error(
|
|
31
|
+
console.error('API Request Failed:', response.statusText);
|
|
27
32
|
return null;
|
|
28
33
|
}
|
|
29
34
|
const data = await response.json();
|
|
@@ -31,12 +36,12 @@ async function getGitHubProfileUrl(email, token) {
|
|
|
31
36
|
return data.items[0].html_url;
|
|
32
37
|
}
|
|
33
38
|
else {
|
|
34
|
-
console.warn(
|
|
39
|
+
console.warn('No GitHub profile found for email:', email);
|
|
35
40
|
return null;
|
|
36
41
|
}
|
|
37
42
|
}
|
|
38
43
|
catch (error) {
|
|
39
|
-
console.error(
|
|
44
|
+
console.error('Error fetching GitHub profile:', error);
|
|
40
45
|
return null;
|
|
41
46
|
}
|
|
42
47
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"profileHandler.js","sourceRoot":"","sources":["../../../../src/modules/git/commits/profileHandler.ts"],"names":[],"mappings":";;;AAEA,8DAcC;AAED,kDA4BC;AA9CY,QAAA,eAAe,GAAG,IAAI,GAAG,EAAkB,CAAA;AAEjD,KAAK,UAAU,yBAAyB,CAAC,KAAa;IACzD,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,OAAO,SAAS,CAAA;IACpB,CAAC;IAED,IAAI,CAAC,uBAAe,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,IAAI,UAAU,GAAmB,IAAI,CAAA;QACrC,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,EAAE,CAAC;YAC3B,UAAU,GAAG,MAAM,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAC3E,CAAC;QACD,uBAAe,CAAC,GAAG,CAAC,KAAK,EAAE,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,UAAU,KAAK,EAAE,CAAC,CAAA;IAC/D,CAAC;IAED,OAAO,uBAAe,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;AACrC,CAAC;AAEM,KAAK,UAAU,mBAAmB,CAAC,KAAa,EAAE,KAAc;IACnE,MAAM,GAAG,GAAG,yCAAyC,KAAK,EAAE,CAAA;IAE5D,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC9B,OAAO,EAAE,KAAK;gBACV,CAAC,CAAC;oBACI,aAAa,EAAE,SAAS,KAAK,EAAE;iBAClC;gBACH,CAAC,CAAC,EAAE;SACX,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAA;YACzD,OAAO,IAAI,CAAA;QACf,CAAC;QAED,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAA;QAClC,IAAI,IAAI,CAAC,WAAW,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjD,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAA;QACjC,CAAC;aAAM,CAAC;YACJ,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAA;YACzD,OAAO,IAAI,CAAA;QACf,CAAC;IACL,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAA;QACtD,OAAO,IAAI,CAAA;IACf,CAAC;AACL,CAAC"}
|
|
@@ -7,21 +7,21 @@ function createCommitMessageRegex(commitTypes) {
|
|
|
7
7
|
if (!(commitTypes === null || commitTypes === void 0 ? void 0 : commitTypes.length))
|
|
8
8
|
return null;
|
|
9
9
|
const types = commitTypes.flatMap(commitType => commitType.terms);
|
|
10
|
-
const joinedTypes = types.map(type => type.replace(/[.*+?^${}()|[\]\\]/g,
|
|
10
|
+
const joinedTypes = types.map(type => type.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')).join('|');
|
|
11
11
|
return new RegExp(`^(${joinedTypes})(\\(.+\\))?[!+~?*]?:\\s.+$`);
|
|
12
12
|
}
|
|
13
13
|
function createLinkRegex(linkTypes) {
|
|
14
14
|
if (!(linkTypes === null || linkTypes === void 0 ? void 0 : linkTypes.length))
|
|
15
15
|
return null;
|
|
16
16
|
const terms = linkTypes.filter(linkType => linkType.terms).flatMap(linkType => linkType.terms || []);
|
|
17
|
-
const joinedTerms = terms.map(term => term.replace(/[.*+?^${}()|[\]\\]/g,
|
|
18
|
-
return new RegExp(`(${joinedTerms}):?\\s#?(\\d+)`,
|
|
17
|
+
const joinedTerms = terms.map(term => term.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')).join('|');
|
|
18
|
+
return new RegExp(`(${joinedTerms}):?\\s#?(\\d+)`, 'gi');
|
|
19
19
|
}
|
|
20
20
|
function createMentionRegex(mentionTypes) {
|
|
21
21
|
if (!(mentionTypes === null || mentionTypes === void 0 ? void 0 : mentionTypes.length))
|
|
22
22
|
return null;
|
|
23
23
|
const terms = mentionTypes.flatMap(mentionType => mentionType.terms);
|
|
24
|
-
const joinedTerms = terms.map(term => term.replace(/[.*+?^${}()|[\]\\]/g,
|
|
25
|
-
return new RegExp(`(?:${joinedTerms}):\\s(.+)\\s<(.+)>`,
|
|
24
|
+
const joinedTerms = terms.map(term => term.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')).join('|');
|
|
25
|
+
return new RegExp(`(?:${joinedTerms}):\\s(.+)\\s<(.+)>`, 'gi');
|
|
26
26
|
}
|
|
27
27
|
//# sourceMappingURL=regexHandlers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"regexHandlers.js","sourceRoot":"","sources":["../../../../src/modules/git/commits/regexHandlers.ts"],"names":[],"mappings":";;AAIA,4DAKC;AAED,0CAKC;AAED,gDAKC;AAnBD,SAAgB,wBAAwB,CAAC,WAAyB;IAC9D,IAAI,CAAC,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAA;QAAE,OAAO,IAAI,CAAA;IACrC,MAAM,KAAK,GAAG,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAA;IACjE,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5F,OAAO,IAAI,MAAM,CAAC,KAAK,WAAW,6BAA6B,CAAC,CAAA;AACpE,CAAC;AAED,SAAgB,eAAe,CAAC,SAAqB;IACjD,IAAI,CAAC,CAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,MAAM,CAAA;QAAE,OAAO,IAAI,CAAA;IACnC,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE,CAAC,CAAA;IACpG,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5F,OAAO,IAAI,MAAM,CAAC,IAAI,WAAW,gBAAgB,EAAE,IAAI,CAAC,CAAA;AAC5D,CAAC;AAED,SAAgB,kBAAkB,CAAC,YAA2B;IAC1D,IAAI,CAAC,CAAA,YAAY,aAAZ,YAAY,uBAAZ,YAAY,CAAE,MAAM,CAAA;QAAE,OAAO,IAAI,CAAA;IACtC,MAAM,KAAK,GAAG,YAAY,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;IACpE,MAAM,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;IAC5F,OAAO,IAAI,MAAM,CAAC,MAAM,WAAW,oBAAoB,EAAE,IAAI,CAAC,CAAA;AAClE,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getBranchesAsync = getBranchesAsync;
|
|
4
|
+
const cmd_1 = require("../../../utils/cmd");
|
|
5
|
+
async function getBranchesAsync() {
|
|
6
|
+
const [{ stdout: current }, { stdout: merged }, { stdout: unmerged }] = await Promise.all([
|
|
7
|
+
(0, cmd_1.execWithErrorHandling)('git branch --show-current'),
|
|
8
|
+
(0, cmd_1.execWithErrorHandling)('git branch --merged'),
|
|
9
|
+
(0, cmd_1.execWithErrorHandling)('git branch --no-merged'),
|
|
10
|
+
]);
|
|
11
|
+
return {
|
|
12
|
+
current: current.trim(),
|
|
13
|
+
merged: cleanList(merged),
|
|
14
|
+
unmerged: cleanList(unmerged),
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
const cleanList = (output) => (output === null || output === void 0 ? void 0 : output.split('\n').map(line => line.trim()).filter(Boolean)) || [];
|
|
18
|
+
//# sourceMappingURL=branchHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branchHandler.js","sourceRoot":"","sources":["../../../../src/modules/git/context/branchHandler.ts"],"names":[],"mappings":";;AAGA,4CAYC;AAfD,4CAA0D;AAGnD,KAAK,UAAU,gBAAgB;IAClC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QACtF,IAAA,2BAAqB,EAAC,2BAA2B,CAAC;QAClD,IAAA,2BAAqB,EAAC,qBAAqB,CAAC;QAC5C,IAAA,2BAAqB,EAAC,wBAAwB,CAAC;KAClD,CAAC,CAAA;IAEF,OAAO;QACH,OAAO,EAAE,OAAO,CAAC,IAAI,EAAE;QACvB,MAAM,EAAE,SAAS,CAAC,MAAM,CAAC;QACzB,QAAQ,EAAE,SAAS,CAAC,QAAQ,CAAC;KAChC,CAAA;AACL,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,MAA0B,EAAY,EAAE,CACvD,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CACA,KAAK,CAAC,IAAI,EACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EACvB,MAAM,CAAC,OAAO,CAAC,KAAI,EAAE,CAAA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCommitsAsync = getCommitsAsync;
|
|
4
|
+
const cmd_1 = require("../../../utils/cmd");
|
|
5
|
+
async function getCommitsAsync() {
|
|
6
|
+
const [{ stdout: hash }, { stdout: shortHash }, { stdout: message }, { stdout: body }, { stdout: authorName }, { stdout: authorEmail }, { stdout: date }, { stdout: count }] = await Promise.all([
|
|
7
|
+
(0, cmd_1.execWithErrorHandling)("git log -1 --pretty=format:'%H'"),
|
|
8
|
+
(0, cmd_1.execWithErrorHandling)("git log -1 --pretty=format:'%h'"),
|
|
9
|
+
(0, cmd_1.execWithErrorHandling)("git log -1 --pretty=format:'%s'"),
|
|
10
|
+
(0, cmd_1.execWithErrorHandling)("git log -1 --pretty=format:'%b'"),
|
|
11
|
+
(0, cmd_1.execWithErrorHandling)('git log -1 --pretty=format:"%an"'),
|
|
12
|
+
(0, cmd_1.execWithErrorHandling)('git log -1 --pretty=format:"%ae"'),
|
|
13
|
+
(0, cmd_1.execWithErrorHandling)("git log -1 --pretty=format:'%ad'"),
|
|
14
|
+
(0, cmd_1.execWithErrorHandling)('git rev-list --count HEAD'),
|
|
15
|
+
]);
|
|
16
|
+
return {
|
|
17
|
+
latest: {
|
|
18
|
+
hash,
|
|
19
|
+
shortHash,
|
|
20
|
+
message,
|
|
21
|
+
body,
|
|
22
|
+
authorName,
|
|
23
|
+
authorEmail,
|
|
24
|
+
date,
|
|
25
|
+
},
|
|
26
|
+
count: parseInt(count.trim(), 10) || 0,
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=commitHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commitHandler.js","sourceRoot":"","sources":["../../../../src/modules/git/context/commitHandler.ts"],"names":[],"mappings":";;AAGA,0CAwBC;AA3BD,4CAA0D;AAGnD,KAAK,UAAU,eAAe;IACjC,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC7L,IAAA,2BAAqB,EAAC,iCAAiC,CAAC;QACxD,IAAA,2BAAqB,EAAC,iCAAiC,CAAC;QACxD,IAAA,2BAAqB,EAAC,iCAAiC,CAAC;QACxD,IAAA,2BAAqB,EAAC,iCAAiC,CAAC;QACxD,IAAA,2BAAqB,EAAC,kCAAkC,CAAC;QACzD,IAAA,2BAAqB,EAAC,kCAAkC,CAAC;QACzD,IAAA,2BAAqB,EAAC,kCAAkC,CAAC;QACzD,IAAA,2BAAqB,EAAC,2BAA2B,CAAC;KACrD,CAAC,CAAA;IAEF,OAAO;QACH,MAAM,EAAE;YACJ,IAAI;YACJ,SAAS;YACT,OAAO;YACP,IAAI;YACJ,UAAU;YACV,WAAW;YACX,IAAI;SACP;QACD,KAAK,EAAE,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,IAAI,CAAC;KACzC,CAAA;AACL,CAAC"}
|
|
@@ -1,21 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
const child_process_1 = require("child_process");
|
|
8
|
-
const util_1 = __importDefault(require("util"));
|
|
3
|
+
exports.getCurrentRepositoryAsync = getCurrentRepositoryAsync;
|
|
9
4
|
const remoteHandler_1 = require("./remoteHandler");
|
|
10
5
|
const branchHandler_1 = require("./branchHandler");
|
|
11
6
|
const tagHandler_1 = require("./tagHandler");
|
|
12
7
|
const commitHandler_1 = require("./commitHandler");
|
|
13
8
|
const statusHandler_1 = require("./statusHandler");
|
|
14
|
-
const
|
|
15
|
-
async function
|
|
9
|
+
const cmd_1 = require("../../../utils/cmd");
|
|
10
|
+
async function getCurrentRepositoryAsync() {
|
|
16
11
|
const [{ stdout: remoteUrl }, { stdout: name }] = await Promise.all([
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
(0, cmd_1.execWithErrorHandling)('git config --get remote.origin.url'),
|
|
13
|
+
(0, cmd_1.execWithErrorHandling)('git rev-parse --show-toplevel'),
|
|
19
14
|
]);
|
|
20
15
|
const result = {
|
|
21
16
|
name: name.trim(),
|
|
@@ -24,7 +19,7 @@ async function getGitContextAsync() {
|
|
|
24
19
|
branches: await (0, branchHandler_1.getBranchesAsync)(),
|
|
25
20
|
tags: await (0, tagHandler_1.getTagsAsync)(),
|
|
26
21
|
commits: await (0, commitHandler_1.getCommitsAsync)(),
|
|
27
|
-
status: await (0, statusHandler_1.getStatusAsync)()
|
|
22
|
+
status: await (0, statusHandler_1.getStatusAsync)(),
|
|
28
23
|
};
|
|
29
24
|
return result;
|
|
30
25
|
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/git/context/index.ts"],"names":[],"mappings":";;AAQA,8DAiBC;AAzBD,mDAAgD;AAChD,mDAAkD;AAClD,6CAA2C;AAC3C,mDAAiD;AACjD,mDAAgD;AAEhD,4CAA0D;AAEnD,KAAK,UAAU,yBAAyB;IAC3C,MAAM,CAAC,EAAE,MAAM,EAAE,SAAS,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAChE,IAAA,2BAAqB,EAAC,oCAAoC,CAAC;QAC3D,IAAA,2BAAqB,EAAC,+BAA+B,CAAC;KACzD,CAAC,CAAA;IAEF,MAAM,MAAM,GAAe;QACvB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;QACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;QACjB,MAAM,EAAE,IAAA,8BAAc,EAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QACxC,QAAQ,EAAE,MAAM,IAAA,gCAAgB,GAAE;QAClC,IAAI,EAAE,MAAM,IAAA,yBAAY,GAAE;QAC1B,OAAO,EAAE,MAAM,IAAA,+BAAe,GAAE;QAChC,MAAM,EAAE,MAAM,IAAA,8BAAc,GAAE;KACjC,CAAA;IAED,OAAO,MAAM,CAAA;AACjB,CAAC"}
|
|
@@ -1,21 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
3
|
exports.getRemoteUrl = getRemoteUrl;
|
|
7
4
|
exports.parseRemoteUrl = parseRemoteUrl;
|
|
8
|
-
const
|
|
9
|
-
const util_1 = __importDefault(require("util"));
|
|
10
|
-
const execPromise = util_1.default.promisify(child_process_1.exec);
|
|
5
|
+
const cmd_1 = require("../../../utils/cmd");
|
|
11
6
|
async function getRemoteUrl() {
|
|
12
|
-
const { stdout: remoteUrl } = await
|
|
7
|
+
const { stdout: remoteUrl } = await (0, cmd_1.execWithErrorHandling)('git config --get remote.origin.url');
|
|
13
8
|
return remoteUrl.trim();
|
|
14
9
|
}
|
|
15
10
|
function parseRemoteUrl(remoteUrl) {
|
|
16
11
|
if (!remoteUrl)
|
|
17
12
|
return null;
|
|
18
|
-
const match =
|
|
13
|
+
const match = RegExp(/(?:https?:\/\/|git@)([\w.-]+)(?:[:/])([\w.-]+)\/([\w.-]+?)(?:\.git)?$/i).exec(remoteUrl);
|
|
19
14
|
if (!match)
|
|
20
15
|
throw new Error(`Could not parse remote URL: ${remoteUrl}`);
|
|
21
16
|
const [_, host, owner, repository] = match;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"remoteHandler.js","sourceRoot":"","sources":["../../../../src/modules/git/context/remoteHandler.ts"],"names":[],"mappings":";;AAGA,oCAGC;AAED,wCAQC;AAhBD,4CAA0D;AAGnD,KAAK,UAAU,YAAY;IAC9B,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,IAAA,2BAAqB,EAAC,oCAAoC,CAAC,CAAA;IAC/F,OAAO,SAAS,CAAC,IAAI,EAAE,CAAA;AAC3B,CAAC;AAED,SAAgB,cAAc,CAAC,SAAiB;IAC5C,IAAI,CAAC,SAAS;QAAE,OAAO,IAAI,CAAA;IAC3B,MAAM,KAAK,GAAG,MAAM,CAAC,wEAAwE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IAC9G,IAAI,CAAC,KAAK;QAAE,MAAM,IAAI,KAAK,CAAC,+BAA+B,SAAS,EAAE,CAAC,CAAA;IAEvE,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,CAAC,GAAG,KAAK,CAAA;IAC1C,MAAM,OAAO,GAAG,WAAW,IAAI,IAAI,KAAK,IAAI,UAAU,EAAE,CAAA;IACxD,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,CAAA;AAC/D,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getStatusAsync = getStatusAsync;
|
|
4
|
+
const cmd_1 = require("../../../utils/cmd");
|
|
5
|
+
async function getStatusAsync() {
|
|
6
|
+
const [{ stdout: modifiedFiles }, { stdout: untrackedFiles }] = await Promise.all([
|
|
7
|
+
(0, cmd_1.execWithErrorHandling)('git diff --name-only'),
|
|
8
|
+
(0, cmd_1.execWithErrorHandling)('git ls-files --others --exclude-standard'),
|
|
9
|
+
]);
|
|
10
|
+
return {
|
|
11
|
+
modifiedFiles: cleanList(modifiedFiles),
|
|
12
|
+
untrackedFiles: cleanList(untrackedFiles),
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
const cleanList = (output) => (output === null || output === void 0 ? void 0 : output.split('\n').map(line => line.trim()).filter(Boolean)) || [];
|
|
16
|
+
//# sourceMappingURL=statusHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"statusHandler.js","sourceRoot":"","sources":["../../../../src/modules/git/context/statusHandler.ts"],"names":[],"mappings":";;AAGA,wCAUC;AAbD,4CAA0D;AAGnD,KAAK,UAAU,cAAc;IAChC,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,EAAE,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;QAC9E,IAAA,2BAAqB,EAAC,sBAAsB,CAAC;QAC7C,IAAA,2BAAqB,EAAC,0CAA0C,CAAC;KACpE,CAAC,CAAA;IAEF,OAAO;QACH,aAAa,EAAE,SAAS,CAAC,aAAa,CAAC;QACvC,cAAc,EAAE,SAAS,CAAC,cAAc,CAAC;KAC5C,CAAA;AACL,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,MAA0B,EAAY,EAAE,CACvD,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CACA,KAAK,CAAC,IAAI,EACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EACvB,MAAM,CAAC,OAAO,CAAC,KAAI,EAAE,CAAA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getTagsAsync = getTagsAsync;
|
|
4
|
+
const cmd_1 = require("../../../utils/cmd");
|
|
5
|
+
async function getTagsAsync() {
|
|
6
|
+
const { stdout: allTagsOutput } = await (0, cmd_1.execWithErrorHandling)('git tag');
|
|
7
|
+
const allTags = cleanList(allTagsOutput);
|
|
8
|
+
const all = await Promise.all(allTags.map(getTagDetail));
|
|
9
|
+
const latest = all.length > 0 ? all[all.length - 1] : null;
|
|
10
|
+
return {
|
|
11
|
+
latest,
|
|
12
|
+
all,
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
const cleanList = (output) => (output === null || output === void 0 ? void 0 : output.split('\n').map(line => line.trim()).filter(Boolean)) || [];
|
|
16
|
+
async function getTagDetail(tag) {
|
|
17
|
+
try {
|
|
18
|
+
const command = `git show ${tag} --no-patch --pretty=format:"%h %ai"`;
|
|
19
|
+
const { stdout } = await (0, cmd_1.execWithErrorHandling)(command);
|
|
20
|
+
const [reference, date] = stdout.split(' ', 2);
|
|
21
|
+
return { name: tag, reference, date };
|
|
22
|
+
}
|
|
23
|
+
catch (error) {
|
|
24
|
+
console.error(`Error getting details for tag ${tag}:`, error);
|
|
25
|
+
throw error;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=tagHandler.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tagHandler.js","sourceRoot":"","sources":["../../../../src/modules/git/context/tagHandler.ts"],"names":[],"mappings":";;AAIA,oCAYC;AAdD,4CAA0D;AAEnD,KAAK,UAAU,YAAY;IAC9B,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,IAAA,2BAAqB,EAAC,SAAS,CAAC,CAAA;IAExE,MAAM,OAAO,GAAG,SAAS,CAAC,aAAa,CAAC,CAAA;IAExC,MAAM,GAAG,GAAU,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAA;IAC/D,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;IAE1D,OAAO;QACH,MAAM;QACN,GAAG;KACN,CAAA;AACL,CAAC;AAED,MAAM,SAAS,GAAG,CAAC,MAA0B,EAAY,EAAE,CACvD,CAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CACA,KAAK,CAAC,IAAI,EACX,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,EACvB,MAAM,CAAC,OAAO,CAAC,KAAI,EAAE,CAAA;AAE9B,KAAK,UAAU,YAAY,CAAC,GAAW;IACnC,IAAI,CAAC;QACD,MAAM,OAAO,GAAG,YAAY,GAAG,sCAAsC,CAAC;QACtE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,2BAAqB,EAAC,OAAO,CAAC,CAAA;QACvD,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;QAC9C,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;IACzC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,GAAG,GAAG,EAAE,KAAK,CAAC,CAAA;QAC7D,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveGitReferences = resolveGitReferences;
|
|
4
|
+
exports.resolveGitReferencesFromRangeSummary = resolveGitReferencesFromRangeSummary;
|
|
5
|
+
exports.collectGitInfo = collectGitInfo;
|
|
6
|
+
const rangeOperations_1 = require("./utils/rangeOperations");
|
|
7
|
+
const referenceUtils_1 = require("./utils/referenceUtils");
|
|
8
|
+
const commitUtils_1 = require("./utils/commitUtils");
|
|
9
|
+
const tagUtils_1 = require("./utils/tagUtils");
|
|
10
|
+
async function resolveGitReferences(options) {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
let resolvedFrom;
|
|
13
|
+
let resolvedTo;
|
|
14
|
+
if (options === null || options === void 0 ? void 0 : options.range) {
|
|
15
|
+
const { from: f, to: t } = (0, rangeOperations_1.parseRange)(options.range);
|
|
16
|
+
resolvedFrom = await (0, referenceUtils_1.resolveReference)(f, true);
|
|
17
|
+
resolvedTo = await (0, referenceUtils_1.resolveReference)(t, false);
|
|
18
|
+
}
|
|
19
|
+
else if (options === null || options === void 0 ? void 0 : options.point) {
|
|
20
|
+
resolvedFrom = await (0, referenceUtils_1.resolveReference)(null, true);
|
|
21
|
+
resolvedTo = await (0, referenceUtils_1.resolveReference)(options.point, false);
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
resolvedFrom = await (0, referenceUtils_1.resolveReference)((_a = options === null || options === void 0 ? void 0 : options.from) !== null && _a !== void 0 ? _a : null, true);
|
|
25
|
+
resolvedTo = await (0, referenceUtils_1.resolveReference)((_b = options === null || options === void 0 ? void 0 : options.to) !== null && _b !== void 0 ? _b : null, false);
|
|
26
|
+
}
|
|
27
|
+
return { resolvedFrom, resolvedTo };
|
|
28
|
+
}
|
|
29
|
+
async function resolveGitReferencesFromRangeSummary(rangeInfo, index) {
|
|
30
|
+
let resolvedFrom;
|
|
31
|
+
let resolvedTo;
|
|
32
|
+
const tag = rangeInfo.referenceList[index];
|
|
33
|
+
if (rangeInfo.referenceList[rangeInfo.referenceList.length - 1].reference == tag.reference) {
|
|
34
|
+
resolvedFrom = rangeInfo.resolvedFrom;
|
|
35
|
+
resolvedTo = await (0, referenceUtils_1.resolveReference)(tag.name, false);
|
|
36
|
+
}
|
|
37
|
+
else if (rangeInfo.referenceList[0].reference == tag.reference) {
|
|
38
|
+
const previousTag = rangeInfo.referenceList[index + 1];
|
|
39
|
+
resolvedFrom = await (0, referenceUtils_1.resolveReference)(previousTag.name, true);
|
|
40
|
+
resolvedTo = rangeInfo.resolvedTo;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
const previousTag = rangeInfo.referenceList[index + 1];
|
|
44
|
+
resolvedFrom = await (0, referenceUtils_1.resolveReference)(previousTag.name, true);
|
|
45
|
+
resolvedTo = await (0, referenceUtils_1.resolveReference)(tag.name, false);
|
|
46
|
+
}
|
|
47
|
+
return { resolvedFrom, resolvedTo };
|
|
48
|
+
}
|
|
49
|
+
async function collectGitInfo(from, to) {
|
|
50
|
+
const resolvedRange = (0, rangeOperations_1.formatRange)(from, to);
|
|
51
|
+
const commitCount = await (0, commitUtils_1.getCommitCount)(resolvedRange);
|
|
52
|
+
const referenceList = await (0, tagUtils_1.getTags)(resolvedRange);
|
|
53
|
+
const latestReference = referenceList.length > 0 ? referenceList[0] : null;
|
|
54
|
+
return { resolvedRange, commitCount, referenceList, latestReference };
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=gitOperations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gitOperations.js","sourceRoot":"","sources":["../../../src/modules/git/gitOperations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Author.js","sourceRoot":"","sources":["../../../../src/modules/git/types/Author.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Branch.js","sourceRoot":"","sources":["../../../../src/modules/git/types/Branch.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BranchInfo.js","sourceRoot":"","sources":["../../../../src/modules/git/types/BranchInfo.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommitContent.js","sourceRoot":"","sources":["../../../../src/modules/git/types/CommitContent.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommitInfo.js","sourceRoot":"","sources":["../../../../src/modules/git/types/CommitInfo.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CommitType.js","sourceRoot":"","sources":["../../../../src/modules/git/types/CommitType.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitCommit.js","sourceRoot":"","sources":["../../../../src/modules/git/types/GitCommit.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GitReference.js","sourceRoot":"","sources":["../../../../src/modules/git/types/GitReference.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Link.js","sourceRoot":"","sources":["../../../../src/git/types/Link.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Link.js","sourceRoot":"","sources":["../../../../src/modules/git/types/Link.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Mention.js","sourceRoot":"","sources":["../../../../src/modules/git/types/Mention.ts"],"names":[],"mappings":""}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Note.js","sourceRoot":"","sources":["../../../../src/git/types/Note.ts"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"Note.js","sourceRoot":"","sources":["../../../../src/modules/git/types/Note.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RemoteInfo.js","sourceRoot":"","sources":["../../../../src/modules/git/types/RemoteInfo.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Repository.js","sourceRoot":"","sources":["../../../../src/modules/git/types/Repository.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusInfo.js","sourceRoot":"","sources":["../../../../src/modules/git/types/StatusInfo.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Tag.js","sourceRoot":"","sources":["../../../../src/modules/git/types/Tag.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagInfo.js","sourceRoot":"","sources":["../../../../src/modules/git/types/TagInfo.ts"],"names":[],"mappings":""}
|
|
@@ -6,27 +6,25 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.getBranches = getBranches;
|
|
7
7
|
exports.isGitBranch = isGitBranch;
|
|
8
8
|
const simple_git_1 = __importDefault(require("simple-git"));
|
|
9
|
-
const
|
|
10
|
-
const util_1 = __importDefault(require("util"));
|
|
11
|
-
const execPromise = util_1.default.promisify(child_process_1.exec);
|
|
9
|
+
const cmd_1 = require("../../../utils/cmd");
|
|
12
10
|
const git = (0, simple_git_1.default)();
|
|
13
11
|
async function getBranches(range) {
|
|
14
12
|
try {
|
|
15
13
|
const logCommand = `git log --oneline --decorate=short ${range}`;
|
|
16
|
-
const { stdout } = await
|
|
14
|
+
const { stdout } = await (0, cmd_1.execWithErrorHandling)(logCommand);
|
|
17
15
|
// Extract branches
|
|
18
16
|
const branchRegex = /([a-f0-9]+)\s.*\(.*?([^,\s)]+)\)/g;
|
|
19
17
|
const branchesWithRefs = [];
|
|
20
18
|
let match;
|
|
21
19
|
while ((match = branchRegex.exec(stdout.trim())) !== null) {
|
|
22
|
-
if (!match[2].startsWith(
|
|
20
|
+
if (!match[2].startsWith('tag:')) {
|
|
23
21
|
// Ensures it's a branch
|
|
24
22
|
branchesWithRefs.push({ name: match[2], reference: match[1] });
|
|
25
23
|
}
|
|
26
24
|
}
|
|
27
25
|
// Use a Set to filter unique branches by name
|
|
28
26
|
const uniqueBranchesMap = new Map();
|
|
29
|
-
branchesWithRefs.forEach(
|
|
27
|
+
branchesWithRefs.forEach(branch => {
|
|
30
28
|
if (!uniqueBranchesMap.has(branch.name)) {
|
|
31
29
|
uniqueBranchesMap.set(branch.name, branch);
|
|
32
30
|
}
|
|
@@ -34,7 +32,7 @@ async function getBranches(range) {
|
|
|
34
32
|
return Array.from(uniqueBranchesMap.values());
|
|
35
33
|
}
|
|
36
34
|
catch (error) {
|
|
37
|
-
console.error(
|
|
35
|
+
console.error('Error retrieving branches in range:', error);
|
|
38
36
|
throw error;
|
|
39
37
|
}
|
|
40
38
|
}
|