git-release-manager 0.0.3 → 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/cli/types/ChangelogCliArgs.js +3 -0
- 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/{src/config/index.js → config/configManager.js} +13 -33
- 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/{src/config/defaultConfig.json → config/defaults/config.json} +231 -231
- package/dist/config/types/ChannelType.js +3 -0
- package/dist/config/types/ChannelType.js.map +1 -0
- package/dist/config/types/CommitType.js +3 -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/config/types/FileGroups.js +3 -0
- package/dist/config/types/FileGroups.js.map +1 -0
- package/dist/config/types/LinkType.js +3 -0
- package/dist/config/types/LinkType.js.map +1 -0
- package/dist/config/types/MentionType.js +3 -0
- 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 +3 -0
- package/dist/modules/changes/types/ChangeInformation.js.map +1 -0
- package/dist/modules/changes/types/Context.js +3 -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/modules/changes/types/RangeSummary.js +3 -0
- package/dist/modules/changes/types/RangeSummary.js.map +1 -0
- package/dist/modules/changes/types/ReferenceTypesEnum.js +12 -0
- package/dist/modules/changes/types/ReferenceTypesEnum.js.map +1 -0
- package/dist/modules/git/commits/commitProcessor.js +50 -0
- package/dist/modules/git/commits/commitProcessor.js.map +1 -0
- package/dist/modules/git/commits/gitLogFetcher.js +27 -0
- 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/modules/git/commits/profileHandler.js +48 -0
- package/dist/modules/git/commits/profileHandler.js.map +1 -0
- package/dist/modules/git/commits/regexHandlers.js +27 -0
- 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/modules/git/context/index.js +26 -0
- package/dist/modules/git/context/index.js.map +1 -0
- package/dist/modules/git/context/remoteHandler.js +20 -0
- 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 +3 -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 +3 -0
- package/dist/modules/git/types/BranchInfo.js.map +1 -0
- package/dist/modules/git/types/CommitContent.js +3 -0
- package/dist/modules/git/types/CommitContent.js.map +1 -0
- package/dist/modules/git/types/CommitInfo.js +3 -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 +3 -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/core/types.js → modules/git/types/Link.js} +1 -1
- package/dist/modules/git/types/Link.js.map +1 -0
- package/dist/modules/git/types/Mention.js +3 -0
- package/dist/modules/git/types/Mention.js.map +1 -0
- package/dist/{src/config/types.js → modules/git/types/Note.js} +1 -1
- package/dist/modules/git/types/Note.js.map +1 -0
- package/dist/modules/git/types/RemoteInfo.js +3 -0
- package/dist/modules/git/types/RemoteInfo.js.map +1 -0
- package/dist/modules/git/types/Repository.js +3 -0
- package/dist/modules/git/types/Repository.js.map +1 -0
- package/dist/modules/git/types/StatusInfo.js +3 -0
- package/dist/modules/git/types/StatusInfo.js.map +1 -0
- package/dist/{src/utils/cli.js → modules/git/types/Tag.js} +1 -1
- package/dist/modules/git/types/Tag.js.map +1 -0
- package/dist/modules/git/types/TagInfo.js +3 -0
- package/dist/modules/git/types/TagInfo.js.map +1 -0
- package/dist/modules/git/utils/branchUtils.js +54 -0
- package/dist/modules/git/utils/branchUtils.js.map +1 -0
- package/dist/modules/git/utils/commitUtils.js +48 -0
- package/dist/modules/git/utils/commitUtils.js.map +1 -0
- package/dist/modules/git/utils/logUtils.js +18 -0
- package/dist/modules/git/utils/logUtils.js.map +1 -0
- package/dist/modules/git/utils/rangeOperations.js +14 -0
- package/dist/modules/git/utils/rangeOperations.js.map +1 -0
- package/dist/modules/git/utils/refUtils.js +41 -0
- package/dist/modules/git/utils/refUtils.js.map +1 -0
- package/dist/modules/git/utils/referenceUtils.js +135 -0
- package/dist/modules/git/utils/referenceUtils.js.map +1 -0
- package/dist/modules/git/utils/tagUtils.js +55 -0
- 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/modules/sections/contributors.js +50 -0
- package/dist/modules/sections/contributors.js.map +1 -0
- package/dist/modules/sections/grouping.js +64 -0
- package/dist/modules/sections/grouping.js.map +1 -0
- package/dist/modules/sections/index.js +19 -0
- package/dist/modules/sections/index.js.map +1 -0
- package/dist/modules/sections/summarizing.js +75 -0
- 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 +3 -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 +3 -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/ChangelogCliArgs.js +3 -0
- package/dist/src/cli/types/ChangelogCliArgs.js.map +1 -0
- package/dist/src/cli/types/CliArgs.js +3 -0
- package/dist/src/cli/types/CliArgs.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/configLoader.js +61 -0
- package/dist/src/config/configLoader.js.map +1 -0
- package/dist/src/config/configManager.js +66 -0
- package/dist/src/config/configManager.js.map +1 -0
- package/dist/src/config/constants.js +10 -0
- package/dist/src/config/constants.js.map +1 -0
- package/dist/src/config/defaults/config.json +232 -0
- package/dist/src/config/types/ChannelType.js +3 -0
- package/dist/src/config/types/ChannelType.js.map +1 -0
- package/dist/src/config/types/CommitType.js +3 -0
- package/dist/src/config/types/CommitType.js.map +1 -0
- package/dist/src/config/types/Config.js +3 -0
- package/dist/src/config/types/Config.js.map +1 -0
- package/dist/src/config/types/FileGroups.js +3 -0
- package/dist/src/config/types/FileGroups.js.map +1 -0
- package/dist/src/config/types/LinkType.js +3 -0
- package/dist/src/config/types/LinkType.js.map +1 -0
- package/dist/src/config/types/MentionType.js +3 -0
- package/dist/src/config/types/MentionType.js.map +1 -0
- package/dist/src/config/types/NoteType.js +3 -0
- package/dist/src/config/types/NoteType.js.map +1 -0
- package/dist/src/config/types/Options.js +3 -0
- package/dist/src/config/types/Options.js.map +1 -0
- package/dist/src/core/changelog/app.js +20 -0
- package/dist/src/core/changelog/app.js.map +1 -0
- package/dist/src/index.js +139 -20
- package/dist/src/index.js.map +1 -1
- package/dist/src/modules/changelog/templateOperations.js +142 -0
- package/dist/src/modules/changelog/templateOperations.js.map +1 -0
- package/dist/src/modules/changes/types/ChangeInformation.js +3 -0
- package/dist/src/modules/changes/types/ChangeInformation.js.map +1 -0
- package/dist/src/modules/changes/types/Context.js +3 -0
- package/dist/src/modules/changes/types/Context.js.map +1 -0
- package/dist/src/modules/changes/types/RangeInfo.js +8 -0
- package/dist/src/modules/changes/types/RangeInfo.js.map +1 -0
- package/dist/src/modules/changes/types/RangeSummary.js +3 -0
- package/dist/src/modules/changes/types/RangeSummary.js.map +1 -0
- package/dist/src/modules/changes/types/ReferenceTypesEnum.js +12 -0
- package/dist/src/modules/changes/types/ReferenceTypesEnum.js.map +1 -0
- package/dist/src/modules/git/commits/commitProcessor.js +50 -0
- package/dist/src/modules/git/commits/commitProcessor.js.map +1 -0
- package/dist/src/modules/git/commits/gitLogFetcher.js +27 -0
- package/dist/src/modules/git/commits/gitLogFetcher.js.map +1 -0
- package/dist/src/modules/git/commits/index.js +136 -0
- package/dist/src/modules/git/commits/index.js.map +1 -0
- package/dist/src/modules/git/commits/profileHandler.js +48 -0
- package/dist/src/modules/git/commits/profileHandler.js.map +1 -0
- package/dist/src/modules/git/commits/regexHandlers.js +27 -0
- package/dist/src/modules/git/commits/regexHandlers.js.map +1 -0
- package/dist/src/modules/git/context/branchHandler.js +18 -0
- package/dist/src/modules/git/context/branchHandler.js.map +1 -0
- package/dist/src/modules/git/context/commitHandler.js +29 -0
- package/dist/src/modules/git/context/commitHandler.js.map +1 -0
- package/dist/src/modules/git/context/index.js +26 -0
- package/dist/src/modules/git/context/index.js.map +1 -0
- package/dist/src/modules/git/context/remoteHandler.js +20 -0
- package/dist/src/modules/git/context/remoteHandler.js.map +1 -0
- package/dist/src/modules/git/context/statusHandler.js +16 -0
- package/dist/src/modules/git/context/statusHandler.js.map +1 -0
- package/dist/src/modules/git/context/tagHandler.js +28 -0
- package/dist/src/modules/git/context/tagHandler.js.map +1 -0
- package/dist/src/modules/git/gitOperations.js +56 -0
- package/dist/src/modules/git/gitOperations.js.map +1 -0
- package/dist/src/modules/git/types/Author.js +3 -0
- package/dist/src/modules/git/types/Author.js.map +1 -0
- package/dist/src/modules/git/types/Branch.js +3 -0
- package/dist/src/modules/git/types/Branch.js.map +1 -0
- package/dist/src/modules/git/types/BranchInfo.js +3 -0
- package/dist/src/modules/git/types/BranchInfo.js.map +1 -0
- package/dist/src/modules/git/types/CommitContent.js +3 -0
- package/dist/src/modules/git/types/CommitContent.js.map +1 -0
- package/dist/src/modules/git/types/CommitInfo.js +3 -0
- package/dist/src/modules/git/types/CommitInfo.js.map +1 -0
- package/dist/src/modules/git/types/CommitType.js +3 -0
- package/dist/src/modules/git/types/CommitType.js.map +1 -0
- package/dist/src/modules/git/types/GitCommit.js +3 -0
- package/dist/src/modules/git/types/GitCommit.js.map +1 -0
- package/dist/src/modules/git/types/GitReference.js +3 -0
- package/dist/src/modules/git/types/GitReference.js.map +1 -0
- package/dist/src/modules/git/types/Link.js +3 -0
- package/dist/src/modules/git/types/Link.js.map +1 -0
- package/dist/src/modules/git/types/Mention.js +3 -0
- package/dist/src/modules/git/types/Mention.js.map +1 -0
- package/dist/src/modules/git/types/Note.js +3 -0
- package/dist/src/modules/git/types/Note.js.map +1 -0
- package/dist/src/modules/git/types/RemoteInfo.js +3 -0
- package/dist/src/modules/git/types/RemoteInfo.js.map +1 -0
- package/dist/src/modules/git/types/Repository.js +3 -0
- package/dist/src/modules/git/types/Repository.js.map +1 -0
- package/dist/src/modules/git/types/StatusInfo.js +3 -0
- package/dist/src/modules/git/types/StatusInfo.js.map +1 -0
- package/dist/src/modules/git/types/Tag.js +3 -0
- package/dist/src/modules/git/types/Tag.js.map +1 -0
- package/dist/src/modules/git/types/TagInfo.js +3 -0
- package/dist/src/modules/git/types/TagInfo.js.map +1 -0
- package/dist/src/modules/git/utils/branchUtils.js +54 -0
- package/dist/src/modules/git/utils/branchUtils.js.map +1 -0
- package/dist/src/modules/git/utils/commitUtils.js +48 -0
- package/dist/src/modules/git/utils/commitUtils.js.map +1 -0
- package/dist/src/modules/git/utils/logUtils.js +18 -0
- package/dist/src/modules/git/utils/logUtils.js.map +1 -0
- package/dist/src/modules/git/utils/rangeOperations.js +14 -0
- package/dist/src/modules/git/utils/rangeOperations.js.map +1 -0
- package/dist/src/modules/git/utils/refUtils.js +41 -0
- package/dist/src/modules/git/utils/refUtils.js.map +1 -0
- package/dist/src/modules/git/utils/referenceUtils.js +135 -0
- package/dist/src/modules/git/utils/referenceUtils.js.map +1 -0
- package/dist/src/modules/git/utils/tagUtils.js +55 -0
- package/dist/src/modules/git/utils/tagUtils.js.map +1 -0
- package/dist/src/modules/output/writer.js +46 -0
- package/dist/src/modules/output/writer.js.map +1 -0
- package/dist/src/modules/sections/contributors.js +50 -0
- package/dist/src/modules/sections/contributors.js.map +1 -0
- package/dist/src/modules/sections/grouping.js +64 -0
- package/dist/src/modules/sections/grouping.js.map +1 -0
- package/dist/src/modules/sections/index.js +19 -0
- package/dist/src/modules/sections/index.js.map +1 -0
- package/dist/src/modules/sections/summarizing.js +75 -0
- package/dist/src/modules/sections/summarizing.js.map +1 -0
- package/dist/src/modules/sections/types/Contributor.js +3 -0
- package/dist/src/modules/sections/types/Contributor.js.map +1 -0
- package/dist/src/modules/sections/types/Group.js +3 -0
- package/dist/src/modules/sections/types/Group.js.map +1 -0
- package/dist/src/modules/sections/types/SectionSummary.js +3 -0
- package/dist/src/modules/sections/types/SectionSummary.js.map +1 -0
- package/dist/src/modules/sections/types/Sections.js +3 -0
- package/dist/src/modules/sections/types/Sections.js.map +1 -0
- package/dist/src/templates/constants.js +10 -0
- package/dist/src/templates/constants.js.map +1 -0
- package/dist/src/templates/{changelog.detailed.ejs → defaults/changelog.detailed.ejs} +110 -110
- package/dist/src/templates/{changelog.ejs → defaults/changelog.ejs} +67 -67
- package/dist/src/templates/templateRenderer.js +46 -0
- package/dist/src/templates/templateRenderer.js.map +1 -0
- package/dist/src/templates/{index.js → templateResolver.js} +8 -39
- package/dist/src/templates/templateResolver.js.map +1 -0
- package/dist/src/types/PackageJson.js +3 -0
- package/dist/src/types/PackageJson.js.map +1 -0
- package/dist/src/utils/cmd.js +15 -30
- package/dist/src/utils/cmd.js.map +1 -1
- package/dist/src/utils/date.js +20 -0
- package/dist/src/utils/date.js.map +1 -0
- package/dist/templates/constants.js +10 -0
- package/dist/templates/constants.js.map +1 -0
- package/dist/templates/defaults/changelog.detailed.ejs +111 -0
- package/dist/templates/defaults/changelog.ejs +68 -0
- package/dist/templates/templateRenderer.js +46 -0
- package/dist/templates/templateRenderer.js.map +1 -0
- package/dist/templates/templateResolver.js +70 -0
- package/dist/templates/templateResolver.js.map +1 -0
- package/dist/test/config/{loadConfigFile.test.js → configLoader/loadConfigFile.test.js} +24 -24
- package/dist/test/config/configLoader/loadConfigFile.test.js.map +1 -0
- package/dist/test/config/{readConfig.test.js → configManager/readConfig.test.js} +37 -38
- package/dist/test/config/configManager/readConfig.test.js.map +1 -0
- package/dist/types/PackageJson.js +3 -0
- package/dist/types/PackageJson.js.map +1 -0
- 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/config/index.js.map +0 -1
- package/dist/src/config/types.js.map +0 -1
- package/dist/src/core/app.js +0 -218
- package/dist/src/core/app.js.map +0 -1
- package/dist/src/core/types.js.map +0 -1
- package/dist/src/git/commits.js +0 -237
- package/dist/src/git/commits.js.map +0 -1
- package/dist/src/git/context.js +0 -95
- package/dist/src/git/context.js.map +0 -1
- package/dist/src/main.js +0 -22
- package/dist/src/main.js.map +0 -1
- package/dist/src/output/writer.js.map +0 -1
- package/dist/src/sections/index.js +0 -207
- package/dist/src/sections/index.js.map +0 -1
- package/dist/src/templates/index.js.map +0 -1
- package/dist/src/utils/cli.js.map +0 -1
- package/dist/src/utils/git-utils.js +0 -278
- package/dist/src/utils/git-utils.js.map +0 -1
- package/dist/src/utils/helpers.js +0 -50
- package/dist/src/utils/helpers.js.map +0 -1
- package/dist/test/config/loadConfigFile.test.js.map +0 -1
- package/dist/test/config/readConfig.test.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagInfo.js","sourceRoot":"","sources":["../../../../../src/modules/git/types/TagInfo.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getBranches = getBranches;
|
|
7
|
+
exports.isGitBranch = isGitBranch;
|
|
8
|
+
const simple_git_1 = __importDefault(require("simple-git"));
|
|
9
|
+
const cmd_1 = require("../../../utils/cmd");
|
|
10
|
+
const git = (0, simple_git_1.default)();
|
|
11
|
+
async function getBranches(range) {
|
|
12
|
+
try {
|
|
13
|
+
const logCommand = `git log --oneline --decorate=short ${range}`;
|
|
14
|
+
const { stdout } = await (0, cmd_1.execWithErrorHandling)(logCommand);
|
|
15
|
+
// Extract branches
|
|
16
|
+
const branchRegex = /([a-f0-9]+)\s.*\(.*?([^,\s)]+)\)/g;
|
|
17
|
+
const branchesWithRefs = [];
|
|
18
|
+
let match;
|
|
19
|
+
while ((match = branchRegex.exec(stdout.trim())) !== null) {
|
|
20
|
+
if (!match[2].startsWith('tag:')) {
|
|
21
|
+
// Ensures it's a branch
|
|
22
|
+
branchesWithRefs.push({ name: match[2], reference: match[1] });
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
// Use a Set to filter unique branches by name
|
|
26
|
+
const uniqueBranchesMap = new Map();
|
|
27
|
+
branchesWithRefs.forEach(branch => {
|
|
28
|
+
if (!uniqueBranchesMap.has(branch.name)) {
|
|
29
|
+
uniqueBranchesMap.set(branch.name, branch);
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
return Array.from(uniqueBranchesMap.values());
|
|
33
|
+
}
|
|
34
|
+
catch (error) {
|
|
35
|
+
console.error('Error retrieving branches in range:', error);
|
|
36
|
+
throw error;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Checks if the given value is a local Git branch.
|
|
41
|
+
*
|
|
42
|
+
* @param value - The name of the branch to check.
|
|
43
|
+
* @returns A promise that resolves to `true` if the value is a local Git branch, otherwise `false`.
|
|
44
|
+
*/
|
|
45
|
+
async function isGitBranch(value) {
|
|
46
|
+
try {
|
|
47
|
+
const branches = await git.branchLocal();
|
|
48
|
+
return branches.all.includes(value);
|
|
49
|
+
}
|
|
50
|
+
catch (_a) {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=branchUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"branchUtils.js","sourceRoot":"","sources":["../../../../../src/modules/git/utils/branchUtils.ts"],"names":[],"mappings":";;;;;AAMA,kCA6BC;AAQD,kCAOC;AAlDD,4DAAkC;AAElC,4CAA0D;AAE1D,MAAM,GAAG,GAAG,IAAA,oBAAS,GAAE,CAAA;AAEhB,KAAK,UAAU,WAAW,CAAC,KAAa;IAC3C,IAAI,CAAC;QACD,MAAM,UAAU,GAAG,sCAAsC,KAAK,EAAE,CAAA;QAChE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,2BAAqB,EAAC,UAAU,CAAC,CAAA;QAE1D,mBAAmB;QACnB,MAAM,WAAW,GAAG,mCAAmC,CAAA;QACvD,MAAM,gBAAgB,GAAkB,EAAE,CAAA;QAC1C,IAAI,KAAK,CAAA;QACT,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACxD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBAC/B,wBAAwB;gBACxB,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAA;YAClE,CAAC;QACL,CAAC;QAED,8CAA8C;QAC9C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAA;QACnD,gBAAgB,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YAC9B,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACtC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAA;YAC9C,CAAC;QACL,CAAC,CAAC,CAAA;QAEF,OAAO,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAA;IACjD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAA;QAC3D,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,WAAW,CAAC,KAAa;IAC3C,IAAI,CAAC;QACD,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAA;QACxC,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvC,CAAC;IAAC,WAAM,CAAC;QACL,OAAO,KAAK,CAAA;IAChB,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getCommitCount = getCommitCount;
|
|
7
|
+
exports.isGitCommit = isGitCommit;
|
|
8
|
+
exports.resolveCommitId = resolveCommitId;
|
|
9
|
+
const simple_git_1 = __importDefault(require("simple-git"));
|
|
10
|
+
const refUtils_1 = require("./refUtils");
|
|
11
|
+
const cmd_1 = require("../../../utils/cmd");
|
|
12
|
+
const git = (0, simple_git_1.default)();
|
|
13
|
+
async function getCommitCount(range) {
|
|
14
|
+
let commitCount = 0;
|
|
15
|
+
try {
|
|
16
|
+
const { stdout } = await (0, cmd_1.execWithErrorHandling)(`git rev-list --count ${range}`);
|
|
17
|
+
commitCount = parseInt(stdout.trim(), 10);
|
|
18
|
+
return commitCount;
|
|
19
|
+
}
|
|
20
|
+
catch (error) {
|
|
21
|
+
console.error('Error counting commits in range:', error);
|
|
22
|
+
throw error;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Checks if the given value is a valid Git commit.
|
|
27
|
+
*
|
|
28
|
+
* @param value - The value to check if it is a valid Git commit.
|
|
29
|
+
* @returns A promise that resolves to a boolean indicating whether the value is a valid Git commit.
|
|
30
|
+
*/
|
|
31
|
+
async function isGitCommit(value) {
|
|
32
|
+
return (0, refUtils_1.revParse)(value);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Resolves the commit ID for a given reference.
|
|
36
|
+
*
|
|
37
|
+
* @param value - The reference to resolve (e.g., branch name, tag, or commit hash).
|
|
38
|
+
* @returns A promise that resolves to the commit ID as a string, or null if the reference cannot be resolved.
|
|
39
|
+
*/
|
|
40
|
+
async function resolveCommitId(value) {
|
|
41
|
+
try {
|
|
42
|
+
return await git.revparse([value]);
|
|
43
|
+
}
|
|
44
|
+
catch (_a) {
|
|
45
|
+
return null;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=commitUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"commitUtils.js","sourceRoot":"","sources":["../../../../../src/modules/git/utils/commitUtils.ts"],"names":[],"mappings":";;;;;AAMA,wCAWC;AAOD,kCAEC;AAQD,0CAMC;AAxCD,4DAAkC;AAClC,yCAAqC;AACrC,4CAA0D;AAE1D,MAAM,GAAG,GAAG,IAAA,oBAAS,GAAE,CAAA;AAEhB,KAAK,UAAU,cAAc,CAAC,KAAa;IAC9C,IAAI,WAAW,GAAW,CAAC,CAAA;IAE3B,IAAI,CAAC;QACD,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,2BAAqB,EAAC,wBAAwB,KAAK,EAAE,CAAC,CAAA;QAC/E,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAA;QACzC,OAAO,WAAW,CAAA;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAA;QACxD,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC;AACD;;;;;GAKG;AACI,KAAK,UAAU,WAAW,CAAC,KAAa;IAC3C,OAAO,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,eAAe,CAAC,KAAa;IAC/C,IAAI,CAAC;QACD,OAAO,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;IACtC,CAAC;IAAC,WAAM,CAAC;QACL,OAAO,IAAI,CAAA;IACf,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getLog = getLog;
|
|
7
|
+
const simple_git_1 = __importDefault(require("simple-git"));
|
|
8
|
+
const git = (0, simple_git_1.default)();
|
|
9
|
+
/**
|
|
10
|
+
* Retrieves the git log for the specified range.
|
|
11
|
+
*
|
|
12
|
+
* @param range - The range of commits to include in the log.
|
|
13
|
+
* @returns A promise that resolves to the git log for the specified range.
|
|
14
|
+
*/
|
|
15
|
+
async function getLog(range) {
|
|
16
|
+
return git.log([range]);
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=logUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logUtils.js","sourceRoot":"","sources":["../../../../../src/modules/git/utils/logUtils.ts"],"names":[],"mappings":";;;;;AAUA,wBAEC;AAZD,4DAAkC;AAElC,MAAM,GAAG,GAAG,IAAA,oBAAS,GAAE,CAAA;AAEvB;;;;;GAKG;AACI,KAAK,UAAU,MAAM,CAAC,KAAa;IACtC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;AAC3B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.formatRange = formatRange;
|
|
4
|
+
exports.parseRange = parseRange;
|
|
5
|
+
function formatRange(from, to) {
|
|
6
|
+
return `${from.reference}..${to.reference}`;
|
|
7
|
+
}
|
|
8
|
+
function parseRange(range) {
|
|
9
|
+
if (!range)
|
|
10
|
+
return { from: null, to: null };
|
|
11
|
+
const [from, to] = range.split('..');
|
|
12
|
+
return { from, to };
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=rangeOperations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rangeOperations.js","sourceRoot":"","sources":["../../../../../src/modules/git/utils/rangeOperations.ts"],"names":[],"mappings":";;AAEA,kCAEC;AAED,gCAIC;AARD,SAAgB,WAAW,CAAC,IAAkB,EAAE,EAAgB;IAC5D,OAAO,GAAG,IAAI,CAAC,SAAS,KAAK,EAAE,CAAC,SAAS,EAAE,CAAA;AAC/C,CAAC;AAED,SAAgB,UAAU,CAAC,KAAa;IACpC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IAC3C,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;AACvB,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.revParse = revParse;
|
|
7
|
+
exports.isGitRef = isGitRef;
|
|
8
|
+
exports.parseRange = parseRange;
|
|
9
|
+
const simple_git_1 = __importDefault(require("simple-git"));
|
|
10
|
+
const git = (0, simple_git_1.default)();
|
|
11
|
+
/**
|
|
12
|
+
* Asynchronously checks if a given Git reference exists.
|
|
13
|
+
*
|
|
14
|
+
* @param value - The Git reference to check (e.g., branch name, commit hash).
|
|
15
|
+
* @returns A promise that resolves to `true` if the reference exists, otherwise `false`.
|
|
16
|
+
*/
|
|
17
|
+
async function revParse(value) {
|
|
18
|
+
try {
|
|
19
|
+
const result = await git.revparse([value]);
|
|
20
|
+
return !!result;
|
|
21
|
+
}
|
|
22
|
+
catch (_a) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Checks if the given value is a valid Git reference.
|
|
28
|
+
*
|
|
29
|
+
* @param value - The string to check as a Git reference.
|
|
30
|
+
* @returns A promise that resolves to `true` if the value is a valid Git reference, otherwise `false`.
|
|
31
|
+
*/
|
|
32
|
+
async function isGitRef(value) {
|
|
33
|
+
return revParse(value);
|
|
34
|
+
}
|
|
35
|
+
function parseRange(range) {
|
|
36
|
+
if (!range)
|
|
37
|
+
return { from: null, to: null };
|
|
38
|
+
const [from, to] = range.split('..');
|
|
39
|
+
return { from, to };
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=refUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"refUtils.js","sourceRoot":"","sources":["../../../../../src/modules/git/utils/refUtils.ts"],"names":[],"mappings":";;;;;AASA,4BAOC;AAQD,4BAEC;AAED,gCAIC;AAhCD,4DAAkC;AAClC,MAAM,GAAG,GAAG,IAAA,oBAAS,GAAE,CAAA;AAEvB;;;;;GAKG;AACI,KAAK,UAAU,QAAQ,CAAC,KAAa;IACxC,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;QAC1C,OAAO,CAAC,CAAC,MAAM,CAAA;IACnB,CAAC;IAAC,WAAM,CAAC;QACL,OAAO,KAAK,CAAA;IAChB,CAAC;AACL,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,QAAQ,CAAC,KAAa;IACxC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,SAAgB,UAAU,CAAC,KAAa;IACpC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAA;IAC3C,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IACpC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAA;AACvB,CAAC"}
|
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.resolveReference = resolveReference;
|
|
7
|
+
exports.determineType = determineType;
|
|
8
|
+
const simple_git_1 = __importDefault(require("simple-git"));
|
|
9
|
+
const ReferenceTypesEnum_1 = require("../../changes/types/ReferenceTypesEnum");
|
|
10
|
+
const date_1 = require("../../../utils/date");
|
|
11
|
+
const branchUtils_1 = require("./branchUtils");
|
|
12
|
+
const tagUtils_1 = require("./tagUtils");
|
|
13
|
+
const commitUtils_1 = require("./commitUtils");
|
|
14
|
+
const git = (0, simple_git_1.default)();
|
|
15
|
+
/**
|
|
16
|
+
* Resolves a Git reference to its commit hash and associated metadata.
|
|
17
|
+
*
|
|
18
|
+
* @param value - The reference value to resolve. This can be a commit hash, branch name, tag name, or date.
|
|
19
|
+
* @param isStart - Optional flag indicating whether to resolve the reference as the start of a range.
|
|
20
|
+
* @returns A promise that resolves to a `GitReference` object containing the resolved reference details, or `null` if the reference could not be resolved.
|
|
21
|
+
*
|
|
22
|
+
* The function determines the type of the reference (commit, reference, date, tag, or branch) and resolves it accordingly.
|
|
23
|
+
* If the reference is `null`, it resolves to the first or last commit based on the `isStart` flag.
|
|
24
|
+
* If the reference is a date, it resolves to the first or last commit after or before the date, respectively.
|
|
25
|
+
* If the reference is a branch, it validates the branch and resolves to the first or last commit in the branch based on the `isStart` flag.
|
|
26
|
+
*
|
|
27
|
+
* @throws Will throw an error if the reference type is unsupported or if the reference could not be resolved.
|
|
28
|
+
*/
|
|
29
|
+
async function resolveReference(value, isStart) {
|
|
30
|
+
let type;
|
|
31
|
+
let reference = null;
|
|
32
|
+
if (!value) {
|
|
33
|
+
type = ReferenceTypesEnum_1.ReferenceTypesEnum.commit;
|
|
34
|
+
value = null;
|
|
35
|
+
try {
|
|
36
|
+
if (isStart) {
|
|
37
|
+
const logs = await git.log(['--reverse']);
|
|
38
|
+
reference = logs.all.length ? logs.all[0].hash : null;
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
reference = await git.revparse(['HEAD']);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
console.error('Error resolving first/last commit:', error);
|
|
46
|
+
return null;
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
type = await determineType(value);
|
|
51
|
+
try {
|
|
52
|
+
switch (type) {
|
|
53
|
+
case ReferenceTypesEnum_1.ReferenceTypesEnum.commit:
|
|
54
|
+
case ReferenceTypesEnum_1.ReferenceTypesEnum.ref:
|
|
55
|
+
reference = await git.revparse([value]);
|
|
56
|
+
break;
|
|
57
|
+
case ReferenceTypesEnum_1.ReferenceTypesEnum.date: {
|
|
58
|
+
const formattedDate = (0, date_1.formatISO8601)(value);
|
|
59
|
+
if (isStart) {
|
|
60
|
+
const logsAfter = await git.log(['--after', formattedDate, '--reverse']);
|
|
61
|
+
reference = logsAfter.all.length ? logsAfter.all[0].hash : null;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
const logsBefore = await git.log(['--before', formattedDate]);
|
|
65
|
+
reference = logsBefore.latest ? logsBefore.latest.hash : null;
|
|
66
|
+
}
|
|
67
|
+
break;
|
|
68
|
+
}
|
|
69
|
+
case ReferenceTypesEnum_1.ReferenceTypesEnum.tag:
|
|
70
|
+
reference = await git.revparse([value]);
|
|
71
|
+
break;
|
|
72
|
+
case ReferenceTypesEnum_1.ReferenceTypesEnum.branch: {
|
|
73
|
+
const isValidBranch = await (0, branchUtils_1.isGitBranch)(value);
|
|
74
|
+
if (!isValidBranch) {
|
|
75
|
+
throw new Error(`Invalid branch: ${value}`);
|
|
76
|
+
}
|
|
77
|
+
if (isStart) {
|
|
78
|
+
const logsInBranch = await git.log([value]);
|
|
79
|
+
reference = logsInBranch.all.length ? logsInBranch.all[logsInBranch.all.length - 1].hash : null;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
reference = await git.revparse([value]);
|
|
83
|
+
}
|
|
84
|
+
break;
|
|
85
|
+
}
|
|
86
|
+
default:
|
|
87
|
+
throw new Error(`Unsupported reference type for: ${value}`);
|
|
88
|
+
}
|
|
89
|
+
if (!reference) {
|
|
90
|
+
throw new Error(`Could not resolve reference: ${value}`);
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
console.error(`Error resolving reference: ${value}`, error);
|
|
95
|
+
throw error;
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
if (!reference) {
|
|
99
|
+
throw new Error('Commit ID is null');
|
|
100
|
+
}
|
|
101
|
+
const result = await git.raw(['show', '-s', '--format=%ci', reference]);
|
|
102
|
+
const date = (0, date_1.formatISO8601)(result.trim());
|
|
103
|
+
return {
|
|
104
|
+
name: reference,
|
|
105
|
+
value,
|
|
106
|
+
type,
|
|
107
|
+
reference,
|
|
108
|
+
date,
|
|
109
|
+
};
|
|
110
|
+
}
|
|
111
|
+
async function determineType(value) {
|
|
112
|
+
const commitRegex = /^[a-f0-9]{7,40}$/i;
|
|
113
|
+
const dateRegex = /^(\d{4})-(\d{2})-(\d{2})[T\s](\d{2}):(\d{2}):(\d{2})(\.\d+)?(Z|([+-]\d{2}:\d{2}))?$/;
|
|
114
|
+
const semanticTagRegex = /^v?\d+\.\d+\.\d+(-[a-zA-Z0-9.-]+(\.[a-zA-Z0-9.-]+)*)?$/;
|
|
115
|
+
const refRegex = /^(HEAD(~\d+)?|[a-zA-Z0-9._-]+)$/;
|
|
116
|
+
if (RegExp(commitRegex).exec(value) && (await (0, commitUtils_1.isGitCommit)(value))) {
|
|
117
|
+
return ReferenceTypesEnum_1.ReferenceTypesEnum.commit;
|
|
118
|
+
}
|
|
119
|
+
else if (RegExp(dateRegex).exec(value)) {
|
|
120
|
+
return ReferenceTypesEnum_1.ReferenceTypesEnum.date;
|
|
121
|
+
}
|
|
122
|
+
else if (semanticTagRegex.test(value) && (await (0, tagUtils_1.isGitTag)(value))) {
|
|
123
|
+
return ReferenceTypesEnum_1.ReferenceTypesEnum.tag;
|
|
124
|
+
}
|
|
125
|
+
else if (refRegex.test(value)) {
|
|
126
|
+
if (await (0, branchUtils_1.isGitBranch)(value)) {
|
|
127
|
+
return ReferenceTypesEnum_1.ReferenceTypesEnum.branch;
|
|
128
|
+
}
|
|
129
|
+
if (await (0, tagUtils_1.isGitTag)(value)) {
|
|
130
|
+
return ReferenceTypesEnum_1.ReferenceTypesEnum.tag;
|
|
131
|
+
}
|
|
132
|
+
return ReferenceTypesEnum_1.ReferenceTypesEnum.ref;
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
//# sourceMappingURL=referenceUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"referenceUtils.js","sourceRoot":"","sources":["../../../../../src/modules/git/utils/referenceUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getTags = getTags;
|
|
7
|
+
exports.isGitTag = isGitTag;
|
|
8
|
+
const simple_git_1 = __importDefault(require("simple-git"));
|
|
9
|
+
const date_1 = require("../../../utils/date");
|
|
10
|
+
const cmd_1 = require("../../../utils/cmd");
|
|
11
|
+
const ReferenceTypesEnum_1 = require("../../changes/types/ReferenceTypesEnum");
|
|
12
|
+
const git = (0, simple_git_1.default)();
|
|
13
|
+
async function getTags(range) {
|
|
14
|
+
try {
|
|
15
|
+
// Include the commit hash, tag name, and commit date in the format string
|
|
16
|
+
const logCommand = `git log --pretty=format:"%H %ci %D" ${range}`;
|
|
17
|
+
const { stdout } = await (0, cmd_1.execWithErrorHandling)(logCommand);
|
|
18
|
+
const tagRegex = /^([a-f0-9]{40})\s([\d-]+\s[\d:]+\s[+-]\d{4})\s.*tag: ([^,\s]+)/gm;
|
|
19
|
+
const tagsWithRefs = [];
|
|
20
|
+
let match;
|
|
21
|
+
while ((match = tagRegex.exec(stdout.trim())) !== null) {
|
|
22
|
+
const commitHash = match[1];
|
|
23
|
+
const commitDate = (0, date_1.formatISO8601)(match[2]);
|
|
24
|
+
const tagName = match[3];
|
|
25
|
+
tagsWithRefs.push({
|
|
26
|
+
name: tagName,
|
|
27
|
+
value: tagName,
|
|
28
|
+
reference: commitHash,
|
|
29
|
+
type: ReferenceTypesEnum_1.ReferenceTypesEnum.tag,
|
|
30
|
+
date: commitDate,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return tagsWithRefs;
|
|
34
|
+
}
|
|
35
|
+
catch (error) {
|
|
36
|
+
console.error('Error retrieving tags in range:', error);
|
|
37
|
+
throw error;
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Checks if the given value is a valid Git tag.
|
|
42
|
+
*
|
|
43
|
+
* @param value - The value to check against the list of Git tags.
|
|
44
|
+
* @returns A promise that resolves to `true` if the value is a valid Git tag, otherwise `false`.
|
|
45
|
+
*/
|
|
46
|
+
async function isGitTag(value) {
|
|
47
|
+
try {
|
|
48
|
+
const tags = await git.tags();
|
|
49
|
+
return tags.all.includes(value);
|
|
50
|
+
}
|
|
51
|
+
catch (_a) {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
//# sourceMappingURL=tagUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tagUtils.js","sourceRoot":"","sources":["../../../../../src/modules/git/utils/tagUtils.ts"],"names":[],"mappings":";;;;;AASA,0BA6BC;AAOD,4BAOC;AApDD,4DAAkC;AAElC,8CAAmD;AACnD,4CAA0D;AAE1D,+EAA2E;AAE3E,MAAM,GAAG,GAAG,IAAA,oBAAS,GAAE,CAAA;AAEhB,KAAK,UAAU,OAAO,CAAC,KAAa;IACvC,IAAI,CAAC;QACD,0EAA0E;QAC1E,MAAM,UAAU,GAAG,uCAAuC,KAAK,EAAE,CAAA;QACjE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,IAAA,2BAAqB,EAAC,UAAU,CAAC,CAAA;QAE1D,MAAM,QAAQ,GAAG,kEAAkE,CAAA;QACnF,MAAM,YAAY,GAAwB,EAAE,CAAA;QAC5C,IAAI,KAAK,CAAA;QAET,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACrD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAC3B,MAAM,UAAU,GAAG,IAAA,oBAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;YAC1C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;YAExB,YAAY,CAAC,IAAI,CAAC;gBACd,IAAI,EAAE,OAAO;gBACb,KAAK,EAAE,OAAO;gBACd,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,uCAAkB,CAAC,GAAG;gBAC5B,IAAI,EAAE,UAAU;aACnB,CAAC,CAAA;QACN,CAAC;QAED,OAAO,YAAY,CAAA;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAA;QACvD,MAAM,KAAK,CAAA;IACf,CAAC;AACL,CAAC;AACD;;;;;GAKG;AACI,KAAK,UAAU,QAAQ,CAAC,KAAa;IACxC,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAA;QAC7B,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACnC,CAAC;IAAC,WAAM,CAAC;QACL,OAAO,KAAK,CAAA;IAChB,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.writeOutput = writeOutput;
|
|
37
|
+
const fs = __importStar(require("fs"));
|
|
38
|
+
function writeOutput(data, output) {
|
|
39
|
+
if (!output || output === 'stdout') {
|
|
40
|
+
console.log(data);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
fs.writeFileSync(output, data + '\n');
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=writer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writer.js","sourceRoot":"","sources":["../../../../src/modules/output/writer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,kCAMC;AARD,uCAAwB;AAExB,SAAgB,WAAW,CAAC,IAAY,EAAE,MAAe;IACrD,IAAI,CAAC,MAAM,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAA;IACrB,CAAC;SAAM,CAAC;QACJ,EAAE,CAAC,aAAa,CAAC,MAAM,EAAE,IAAI,GAAG,IAAI,CAAC,CAAA;IACzC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getContributors = getContributors;
|
|
4
|
+
function getContributors(commits, config) {
|
|
5
|
+
const contributors = {};
|
|
6
|
+
commits.forEach(commit => {
|
|
7
|
+
const allContributors = [commit.author, ...(commit.mentions || [])];
|
|
8
|
+
allContributors.forEach(contributor => {
|
|
9
|
+
var _a;
|
|
10
|
+
const key = contributor.email;
|
|
11
|
+
if (!contributors[key]) {
|
|
12
|
+
contributors[key] = {
|
|
13
|
+
...contributor,
|
|
14
|
+
groups: [],
|
|
15
|
+
files: [],
|
|
16
|
+
commits: [],
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
const normalizePath = (path) => path.replace(/\\/g, '/');
|
|
20
|
+
commit.files.forEach(file => {
|
|
21
|
+
var _a;
|
|
22
|
+
const normalizedFile = normalizePath(file);
|
|
23
|
+
Object.entries(config.fileGroups).forEach(([group, paths]) => {
|
|
24
|
+
var _a;
|
|
25
|
+
if (paths.some((path) => normalizedFile.startsWith(normalizePath(path)))) {
|
|
26
|
+
let groupObj = (_a = contributors[key].groups) === null || _a === void 0 ? void 0 : _a.find((g) => g.title === group);
|
|
27
|
+
if (!groupObj) {
|
|
28
|
+
groupObj = { title: group, files: [], commits: [] };
|
|
29
|
+
contributors[key].groups.push(groupObj);
|
|
30
|
+
}
|
|
31
|
+
if (!groupObj.files.includes(normalizedFile)) {
|
|
32
|
+
groupObj.files.push(normalizedFile);
|
|
33
|
+
}
|
|
34
|
+
if (!groupObj.commits.includes(commit)) {
|
|
35
|
+
groupObj.commits.push(commit);
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
});
|
|
39
|
+
if (!((_a = contributors[key].files) === null || _a === void 0 ? void 0 : _a.includes(normalizedFile))) {
|
|
40
|
+
contributors[key].files.push(normalizedFile);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
if (!((_a = contributors[key].commits) === null || _a === void 0 ? void 0 : _a.includes(commit))) {
|
|
44
|
+
contributors[key].commits.push(commit);
|
|
45
|
+
}
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
return Object.values(contributors);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=contributors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contributors.js","sourceRoot":"","sources":["../../../../src/modules/sections/contributors.ts"],"names":[],"mappings":";;AAKA,0CAiDC;AAjDD,SAAgB,eAAe,CAAC,OAAwB,EAAE,MAAc;IACpE,MAAM,YAAY,GAAgC,EAAE,CAAA;IAEpD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;QACrB,MAAM,eAAe,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,EAAE,CAAC,CAAC,CAAA;QAEnE,eAAe,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;;YAClC,MAAM,GAAG,GAAG,WAAW,CAAC,KAAK,CAAA;YAE7B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrB,YAAY,CAAC,GAAG,CAAC,GAAG;oBAChB,GAAG,WAAW;oBACd,MAAM,EAAE,EAAE;oBACV,KAAK,EAAE,EAAE;oBACT,OAAO,EAAE,EAAE;iBACd,CAAA;YACL,CAAC;YAED,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YAEhE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;;gBACxB,MAAM,cAAc,GAAG,aAAa,CAAC,IAAI,CAAC,CAAA;gBAC1C,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,EAAE,EAAE;;oBACzD,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,IAAY,EAAE,EAAE,CAAC,cAAc,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC/E,IAAI,QAAQ,GAAsB,MAAA,YAAY,CAAC,GAAG,CAAC,CAAC,MAAM,0CAAE,IAAI,CAAC,CAAC,CAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAA;wBACjG,IAAI,CAAC,QAAQ,EAAE,CAAC;4BACZ,QAAQ,GAAG,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,CAAA;4BACnD,YAAY,CAAC,GAAG,CAAC,CAAC,MAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;wBAC5C,CAAC;wBACD,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,CAAC;4BAC3C,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;wBACvC,CAAC;wBACD,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;4BACrC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;wBACjC,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC,CAAA;gBACF,IAAI,CAAC,CAAA,MAAA,YAAY,CAAC,GAAG,CAAC,CAAC,KAAK,0CAAE,QAAQ,CAAC,cAAc,CAAC,CAAA,EAAE,CAAC;oBACrD,YAAY,CAAC,GAAG,CAAC,CAAC,KAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAA;gBACjD,CAAC;YACL,CAAC,CAAC,CAAA;YAEF,IAAI,CAAC,CAAA,MAAA,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,0CAAE,QAAQ,CAAC,MAAM,CAAC,CAAA,EAAE,CAAC;gBAC/C,YAAY,CAAC,GAAG,CAAC,CAAC,OAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;YAC3C,CAAC;QACL,CAAC,CAAC,CAAA;IACN,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAA;AACtC,CAAC"}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.groupBy = groupBy;
|
|
4
|
+
exports.groupByNotes = groupByNotes;
|
|
5
|
+
function groupBy(commits, key, config) {
|
|
6
|
+
if (!Array.isArray(commits)) {
|
|
7
|
+
throw new Error('Invalid input: commits must be an array');
|
|
8
|
+
}
|
|
9
|
+
const result = [];
|
|
10
|
+
const grouped = commits.reduce((acc, commit) => {
|
|
11
|
+
const groupKey = key.split('.').reduce((nested, part) => nested === null || nested === void 0 ? void 0 : nested[part], commit);
|
|
12
|
+
if (!acc[groupKey]) {
|
|
13
|
+
const matchingType = config.commitTypes.find(ct => ct.terms.includes(groupKey));
|
|
14
|
+
const typeTitle = matchingType ? matchingType.title : 'Other Changes';
|
|
15
|
+
const order = (matchingType === null || matchingType === void 0 ? void 0 : matchingType.order) !== undefined ? matchingType.order : Number.MAX_SAFE_INTEGER;
|
|
16
|
+
acc[groupKey] = {
|
|
17
|
+
type: matchingType ? matchingType.type : 'other',
|
|
18
|
+
title: typeTitle,
|
|
19
|
+
order: order,
|
|
20
|
+
items: [],
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
acc[groupKey].items.push(commit);
|
|
24
|
+
return acc;
|
|
25
|
+
}, {});
|
|
26
|
+
result.push(...Object.values(grouped));
|
|
27
|
+
result.sort((a, b) => { var _a, _b; return ((_a = a.order) !== null && _a !== void 0 ? _a : 0) - ((_b = b.order) !== null && _b !== void 0 ? _b : 0); });
|
|
28
|
+
return result;
|
|
29
|
+
}
|
|
30
|
+
function groupByNotes(array, config, includeUnmatched = true) {
|
|
31
|
+
if (!Array.isArray(array)) {
|
|
32
|
+
throw new Error('Invalid input: array must be an array');
|
|
33
|
+
}
|
|
34
|
+
const result = [];
|
|
35
|
+
const grouped = array.reduce((acc, item) => {
|
|
36
|
+
if (!item.notes || item.notes.length === 0)
|
|
37
|
+
return acc;
|
|
38
|
+
item.notes.forEach(note => {
|
|
39
|
+
const groupKey = note.type;
|
|
40
|
+
const matchingType = config.noteTypes.find(nt => nt.type === groupKey);
|
|
41
|
+
if (!matchingType && !includeUnmatched)
|
|
42
|
+
return;
|
|
43
|
+
if (!acc[groupKey]) {
|
|
44
|
+
const typeTitle = matchingType ? matchingType.title : groupKey;
|
|
45
|
+
const order = (matchingType === null || matchingType === void 0 ? void 0 : matchingType.order) !== undefined ? matchingType.order : Number.MAX_SAFE_INTEGER;
|
|
46
|
+
acc[groupKey] = {
|
|
47
|
+
type: groupKey,
|
|
48
|
+
title: typeTitle,
|
|
49
|
+
order: order,
|
|
50
|
+
items: [],
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
acc[groupKey].items.push({
|
|
54
|
+
note,
|
|
55
|
+
commit: item,
|
|
56
|
+
});
|
|
57
|
+
});
|
|
58
|
+
return acc;
|
|
59
|
+
}, {});
|
|
60
|
+
result.push(...Object.values(grouped));
|
|
61
|
+
result.sort((a, b) => { var _a, _b; return ((_a = a.order) !== null && _a !== void 0 ? _a : 0) - ((_b = b.order) !== null && _b !== void 0 ? _b : 0); });
|
|
62
|
+
return result;
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=grouping.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"grouping.js","sourceRoot":"","sources":["../../../../src/modules/sections/grouping.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createSections = createSections;
|
|
4
|
+
const contributors_1 = require("./contributors");
|
|
5
|
+
const grouping_1 = require("./grouping");
|
|
6
|
+
const summarizing_1 = require("./summarizing");
|
|
7
|
+
function createSections(commits, config) {
|
|
8
|
+
const sections = {};
|
|
9
|
+
sections.commits = (0, grouping_1.groupBy)(commits, 'type', config);
|
|
10
|
+
sections.notes = (0, grouping_1.groupByNotes)(commits, config, false);
|
|
11
|
+
sections.contributors = (0, contributors_1.getContributors)(commits, config);
|
|
12
|
+
sections.summary = {
|
|
13
|
+
commits: (0, summarizing_1.summarizeCommits)(sections.commits, config),
|
|
14
|
+
notes: (0, summarizing_1.summarizeNotes)(sections.notes, config),
|
|
15
|
+
contributors: (0, summarizing_1.summarizeContributors)(sections.contributors, config),
|
|
16
|
+
};
|
|
17
|
+
return sections;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/modules/sections/index.ts"],"names":[],"mappings":";;AAOA,wCAWC;AAhBD,iDAAgD;AAChD,yCAAkD;AAClD,+CAAuF;AAGvF,SAAgB,cAAc,CAAC,OAAwB,EAAE,MAAc;IACnE,MAAM,QAAQ,GAAsB,EAAE,CAAA;IACtC,QAAQ,CAAC,OAAO,GAAG,IAAA,kBAAO,EAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;IACnD,QAAQ,CAAC,KAAK,GAAG,IAAA,uBAAY,EAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,CAAA;IACrD,QAAQ,CAAC,YAAY,GAAG,IAAA,8BAAe,EAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACxD,QAAQ,CAAC,OAAO,GAAG;QACf,OAAO,EAAE,IAAA,8BAAgB,EAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QACnD,KAAK,EAAE,IAAA,4BAAc,EAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;QAC7C,YAAY,EAAE,IAAA,mCAAqB,EAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;KACrE,CAAA;IACD,OAAO,QAAoB,CAAA;AAC/B,CAAC"}
|