git-release-manager 0.0.5 → 0.0.7

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.
Files changed (167) hide show
  1. package/README.md +47 -47
  2. package/dist/config/defaults/config.json +231 -231
  3. package/dist/core/{changelog/app.js → app.js} +12 -6
  4. package/dist/core/app.js.map +1 -0
  5. package/dist/index.js +2 -2
  6. package/dist/index.js.map +1 -1
  7. package/dist/modules/changelog/templateOperations.js +6 -1
  8. package/dist/modules/changelog/templateOperations.js.map +1 -1
  9. package/dist/modules/version/VersionManager.js +0 -20
  10. package/dist/modules/version/VersionManager.js.map +1 -1
  11. package/dist/templates/defaults/changelog.detailed.ejs +110 -110
  12. package/dist/templates/defaults/changelog.ejs +67 -67
  13. package/package.json +63 -64
  14. package/dist/core/changelog/app.js.map +0 -1
  15. package/dist/src/cli/types/BranchCliArgs.js +0 -3
  16. package/dist/src/cli/types/BranchCliArgs.js.map +0 -1
  17. package/dist/src/cli/types/ChangelogCliArgs.js +0 -3
  18. package/dist/src/cli/types/ChangelogCliArgs.js.map +0 -1
  19. package/dist/src/cli/types/CliArgs.js +0 -3
  20. package/dist/src/cli/types/CliArgs.js.map +0 -1
  21. package/dist/src/cli/types/VersionCliArgs.js +0 -3
  22. package/dist/src/cli/types/VersionCliArgs.js.map +0 -1
  23. package/dist/src/config/configLoader.js +0 -61
  24. package/dist/src/config/configLoader.js.map +0 -1
  25. package/dist/src/config/configManager.js +0 -66
  26. package/dist/src/config/configManager.js.map +0 -1
  27. package/dist/src/config/constants.js +0 -10
  28. package/dist/src/config/constants.js.map +0 -1
  29. package/dist/src/config/defaults/config.json +0 -232
  30. package/dist/src/config/types/ChannelType.js +0 -3
  31. package/dist/src/config/types/ChannelType.js.map +0 -1
  32. package/dist/src/config/types/CommitType.js +0 -3
  33. package/dist/src/config/types/CommitType.js.map +0 -1
  34. package/dist/src/config/types/Config.js +0 -3
  35. package/dist/src/config/types/Config.js.map +0 -1
  36. package/dist/src/config/types/FileGroups.js +0 -3
  37. package/dist/src/config/types/FileGroups.js.map +0 -1
  38. package/dist/src/config/types/LinkType.js +0 -3
  39. package/dist/src/config/types/LinkType.js.map +0 -1
  40. package/dist/src/config/types/MentionType.js +0 -3
  41. package/dist/src/config/types/MentionType.js.map +0 -1
  42. package/dist/src/config/types/NoteType.js +0 -3
  43. package/dist/src/config/types/NoteType.js.map +0 -1
  44. package/dist/src/config/types/Options.js +0 -3
  45. package/dist/src/config/types/Options.js.map +0 -1
  46. package/dist/src/core/changelog/app.js +0 -20
  47. package/dist/src/core/changelog/app.js.map +0 -1
  48. package/dist/src/index.js +0 -208
  49. package/dist/src/index.js.map +0 -1
  50. package/dist/src/modules/changelog/templateOperations.js +0 -142
  51. package/dist/src/modules/changelog/templateOperations.js.map +0 -1
  52. package/dist/src/modules/changes/types/ChangeInformation.js +0 -3
  53. package/dist/src/modules/changes/types/ChangeInformation.js.map +0 -1
  54. package/dist/src/modules/changes/types/Context.js +0 -3
  55. package/dist/src/modules/changes/types/Context.js.map +0 -1
  56. package/dist/src/modules/changes/types/RangeInfo.js +0 -8
  57. package/dist/src/modules/changes/types/RangeInfo.js.map +0 -1
  58. package/dist/src/modules/changes/types/RangeSummary.js +0 -3
  59. package/dist/src/modules/changes/types/RangeSummary.js.map +0 -1
  60. package/dist/src/modules/changes/types/ReferenceTypesEnum.js +0 -12
  61. package/dist/src/modules/changes/types/ReferenceTypesEnum.js.map +0 -1
  62. package/dist/src/modules/git/commits/commitProcessor.js +0 -50
  63. package/dist/src/modules/git/commits/commitProcessor.js.map +0 -1
  64. package/dist/src/modules/git/commits/gitLogFetcher.js +0 -27
  65. package/dist/src/modules/git/commits/gitLogFetcher.js.map +0 -1
  66. package/dist/src/modules/git/commits/index.js +0 -136
  67. package/dist/src/modules/git/commits/index.js.map +0 -1
  68. package/dist/src/modules/git/commits/profileHandler.js +0 -48
  69. package/dist/src/modules/git/commits/profileHandler.js.map +0 -1
  70. package/dist/src/modules/git/commits/regexHandlers.js +0 -27
  71. package/dist/src/modules/git/commits/regexHandlers.js.map +0 -1
  72. package/dist/src/modules/git/context/branchHandler.js +0 -18
  73. package/dist/src/modules/git/context/branchHandler.js.map +0 -1
  74. package/dist/src/modules/git/context/commitHandler.js +0 -29
  75. package/dist/src/modules/git/context/commitHandler.js.map +0 -1
  76. package/dist/src/modules/git/context/index.js +0 -26
  77. package/dist/src/modules/git/context/index.js.map +0 -1
  78. package/dist/src/modules/git/context/remoteHandler.js +0 -20
  79. package/dist/src/modules/git/context/remoteHandler.js.map +0 -1
  80. package/dist/src/modules/git/context/statusHandler.js +0 -16
  81. package/dist/src/modules/git/context/statusHandler.js.map +0 -1
  82. package/dist/src/modules/git/context/tagHandler.js +0 -28
  83. package/dist/src/modules/git/context/tagHandler.js.map +0 -1
  84. package/dist/src/modules/git/gitOperations.js +0 -56
  85. package/dist/src/modules/git/gitOperations.js.map +0 -1
  86. package/dist/src/modules/git/types/Author.js +0 -3
  87. package/dist/src/modules/git/types/Author.js.map +0 -1
  88. package/dist/src/modules/git/types/Branch.js +0 -3
  89. package/dist/src/modules/git/types/Branch.js.map +0 -1
  90. package/dist/src/modules/git/types/BranchInfo.js +0 -3
  91. package/dist/src/modules/git/types/BranchInfo.js.map +0 -1
  92. package/dist/src/modules/git/types/CommitContent.js +0 -3
  93. package/dist/src/modules/git/types/CommitContent.js.map +0 -1
  94. package/dist/src/modules/git/types/CommitInfo.js +0 -3
  95. package/dist/src/modules/git/types/CommitInfo.js.map +0 -1
  96. package/dist/src/modules/git/types/CommitType.js +0 -3
  97. package/dist/src/modules/git/types/CommitType.js.map +0 -1
  98. package/dist/src/modules/git/types/GitCommit.js +0 -3
  99. package/dist/src/modules/git/types/GitCommit.js.map +0 -1
  100. package/dist/src/modules/git/types/GitReference.js +0 -3
  101. package/dist/src/modules/git/types/GitReference.js.map +0 -1
  102. package/dist/src/modules/git/types/Link.js +0 -3
  103. package/dist/src/modules/git/types/Link.js.map +0 -1
  104. package/dist/src/modules/git/types/Mention.js +0 -3
  105. package/dist/src/modules/git/types/Mention.js.map +0 -1
  106. package/dist/src/modules/git/types/Note.js +0 -3
  107. package/dist/src/modules/git/types/Note.js.map +0 -1
  108. package/dist/src/modules/git/types/RemoteInfo.js +0 -3
  109. package/dist/src/modules/git/types/RemoteInfo.js.map +0 -1
  110. package/dist/src/modules/git/types/Repository.js +0 -3
  111. package/dist/src/modules/git/types/Repository.js.map +0 -1
  112. package/dist/src/modules/git/types/StatusInfo.js +0 -3
  113. package/dist/src/modules/git/types/StatusInfo.js.map +0 -1
  114. package/dist/src/modules/git/types/Tag.js +0 -3
  115. package/dist/src/modules/git/types/Tag.js.map +0 -1
  116. package/dist/src/modules/git/types/TagInfo.js +0 -3
  117. package/dist/src/modules/git/types/TagInfo.js.map +0 -1
  118. package/dist/src/modules/git/utils/branchUtils.js +0 -54
  119. package/dist/src/modules/git/utils/branchUtils.js.map +0 -1
  120. package/dist/src/modules/git/utils/commitUtils.js +0 -48
  121. package/dist/src/modules/git/utils/commitUtils.js.map +0 -1
  122. package/dist/src/modules/git/utils/logUtils.js +0 -18
  123. package/dist/src/modules/git/utils/logUtils.js.map +0 -1
  124. package/dist/src/modules/git/utils/rangeOperations.js +0 -14
  125. package/dist/src/modules/git/utils/rangeOperations.js.map +0 -1
  126. package/dist/src/modules/git/utils/refUtils.js +0 -41
  127. package/dist/src/modules/git/utils/refUtils.js.map +0 -1
  128. package/dist/src/modules/git/utils/referenceUtils.js +0 -135
  129. package/dist/src/modules/git/utils/referenceUtils.js.map +0 -1
  130. package/dist/src/modules/git/utils/tagUtils.js +0 -55
  131. package/dist/src/modules/git/utils/tagUtils.js.map +0 -1
  132. package/dist/src/modules/output/writer.js +0 -46
  133. package/dist/src/modules/output/writer.js.map +0 -1
  134. package/dist/src/modules/sections/contributors.js +0 -50
  135. package/dist/src/modules/sections/contributors.js.map +0 -1
  136. package/dist/src/modules/sections/grouping.js +0 -64
  137. package/dist/src/modules/sections/grouping.js.map +0 -1
  138. package/dist/src/modules/sections/index.js +0 -19
  139. package/dist/src/modules/sections/index.js.map +0 -1
  140. package/dist/src/modules/sections/summarizing.js +0 -75
  141. package/dist/src/modules/sections/summarizing.js.map +0 -1
  142. package/dist/src/modules/sections/types/Contributor.js +0 -3
  143. package/dist/src/modules/sections/types/Contributor.js.map +0 -1
  144. package/dist/src/modules/sections/types/Group.js +0 -3
  145. package/dist/src/modules/sections/types/Group.js.map +0 -1
  146. package/dist/src/modules/sections/types/SectionSummary.js +0 -3
  147. package/dist/src/modules/sections/types/SectionSummary.js.map +0 -1
  148. package/dist/src/modules/sections/types/Sections.js +0 -3
  149. package/dist/src/modules/sections/types/Sections.js.map +0 -1
  150. package/dist/src/templates/constants.js +0 -10
  151. package/dist/src/templates/constants.js.map +0 -1
  152. package/dist/src/templates/defaults/changelog.detailed.ejs +0 -111
  153. package/dist/src/templates/defaults/changelog.ejs +0 -68
  154. package/dist/src/templates/templateRenderer.js +0 -46
  155. package/dist/src/templates/templateRenderer.js.map +0 -1
  156. package/dist/src/templates/templateResolver.js +0 -70
  157. package/dist/src/templates/templateResolver.js.map +0 -1
  158. package/dist/src/types/PackageJson.js +0 -3
  159. package/dist/src/types/PackageJson.js.map +0 -1
  160. package/dist/src/utils/cmd.js +0 -42
  161. package/dist/src/utils/cmd.js.map +0 -1
  162. package/dist/src/utils/date.js +0 -20
  163. package/dist/src/utils/date.js.map +0 -1
  164. package/dist/test/config/configLoader/loadConfigFile.test.js +0 -94
  165. package/dist/test/config/configLoader/loadConfigFile.test.js.map +0 -1
  166. package/dist/test/config/configManager/readConfig.test.js +0 -124
  167. package/dist/test/config/configManager/readConfig.test.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"TagInfo.js","sourceRoot":"","sources":["../../../../../src/modules/git/types/TagInfo.ts"],"names":[],"mappings":""}
@@ -1,54 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,48 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,18 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,14 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,41 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,135 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"referenceUtils.js","sourceRoot":"","sources":["../../../../../src/modules/git/utils/referenceUtils.ts"],"names":[],"mappings":";;;;;AAuBA,4CAiFC;AAED,sCAqBC;AA/HD,4DAAkC;AAClC,+EAA2E;AAE3E,8CAAmD;AACnD,+CAA2C;AAC3C,yCAAqC;AACrC,+CAA2C;AAC3C,MAAM,GAAG,GAAG,IAAA,oBAAS,GAAE,CAAA;AAEvB;;;;;;;;;;;;;GAaG;AACI,KAAK,UAAU,gBAAgB,CAAC,KAAoB,EAAE,OAAiB;IAC1E,IAAI,IAAoC,CAAA;IACxC,IAAI,SAAS,GAAkB,IAAI,CAAA;IAEnC,IAAI,CAAC,KAAK,EAAE,CAAC;QACT,IAAI,GAAG,uCAAkB,CAAC,MAAM,CAAA;QAChC,KAAK,GAAG,IAAI,CAAA;QAEZ,IAAI,CAAC;YACD,IAAI,OAAO,EAAE,CAAC;gBACV,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC,CAAA;gBACzC,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;YACzD,CAAC;iBAAM,CAAC;gBACJ,SAAS,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAA;YAC5C,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAA;YAC1D,OAAO,IAAI,CAAA;QACf,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,IAAI,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,CAAA;QAEjC,IAAI,CAAC;YACD,QAAQ,IAAI,EAAE,CAAC;gBACX,KAAK,uCAAkB,CAAC,MAAM,CAAC;gBAC/B,KAAK,uCAAkB,CAAC,GAAG;oBACvB,SAAS,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;oBACvC,MAAK;gBACT,KAAK,uCAAkB,CAAC,IAAI,CAAC,CAAC,CAAC;oBAC3B,MAAM,aAAa,GAAG,IAAA,oBAAa,EAAC,KAAK,CAAC,CAAA;oBAC1C,IAAI,OAAO,EAAE,CAAC;wBACV,MAAM,SAAS,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,aAAa,EAAE,WAAW,CAAC,CAAC,CAAA;wBACxE,SAAS,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;oBACnE,CAAC;yBAAM,CAAC;wBACJ,MAAM,UAAU,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC,CAAA;wBAC7D,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;oBACjE,CAAC;oBACD,MAAK;gBACT,CAAC;gBACD,KAAK,uCAAkB,CAAC,GAAG;oBACvB,SAAS,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;oBACvC,MAAK;gBACT,KAAK,uCAAkB,CAAC,MAAM,CAAC,CAAC,CAAC;oBAC7B,MAAM,aAAa,GAAG,MAAM,IAAA,yBAAW,EAAC,KAAK,CAAC,CAAA;oBAC9C,IAAI,CAAC,aAAa,EAAE,CAAC;wBACjB,MAAM,IAAI,KAAK,CAAC,mBAAmB,KAAK,EAAE,CAAC,CAAA;oBAC/C,CAAC;oBACD,IAAI,OAAO,EAAE,CAAC;wBACV,MAAM,YAAY,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;wBAC3C,SAAS,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAA;oBACnG,CAAC;yBAAM,CAAC;wBACJ,SAAS,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;oBAC3C,CAAC;oBACD,MAAK;gBACT,CAAC;gBACD;oBACI,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,EAAE,CAAC,CAAA;YACnE,CAAC;YAED,IAAI,CAAC,SAAS,EAAE,CAAC;gBACb,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,EAAE,CAAC,CAAA;YAC5D,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,8BAA8B,KAAK,EAAE,EAAE,KAAK,CAAC,CAAA;YAC3D,MAAM,KAAK,CAAA;QACf,CAAC;IACL,CAAC;IAED,IAAI,CAAC,SAAS,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAA;IACxC,CAAC;IACD,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,CAAA;IACvE,MAAM,IAAI,GAAG,IAAA,oBAAa,EAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAA;IAEzC,OAAO;QACH,IAAI,EAAE,SAAS;QACf,KAAK;QACL,IAAI;QACJ,SAAS;QACT,IAAI;KACP,CAAA;AACL,CAAC;AAEM,KAAK,UAAU,aAAa,CAAC,KAAa;IAC7C,MAAM,WAAW,GAAG,mBAAmB,CAAA;IACvC,MAAM,SAAS,GAAG,qFAAqF,CAAA;IACvG,MAAM,gBAAgB,GAAG,wDAAwD,CAAA;IACjF,MAAM,QAAQ,GAAG,iCAAiC,CAAA;IAElD,IAAI,MAAM,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAA,yBAAW,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QAChE,OAAO,uCAAkB,CAAC,MAAM,CAAA;IACpC,CAAC;SAAM,IAAI,MAAM,CAAC,SAAS,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,uCAAkB,CAAC,IAAI,CAAA;IAClC,CAAC;SAAM,IAAI,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC,EAAE,CAAC;QACjE,OAAO,uCAAkB,CAAC,GAAG,CAAA;IACjC,CAAC;SAAM,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,IAAI,MAAM,IAAA,yBAAW,EAAC,KAAK,CAAC,EAAE,CAAC;YAC3B,OAAO,uCAAkB,CAAC,MAAM,CAAA;QACpC,CAAC;QACD,IAAI,MAAM,IAAA,mBAAQ,EAAC,KAAK,CAAC,EAAE,CAAC;YACxB,OAAO,uCAAkB,CAAC,GAAG,CAAA;QACjC,CAAC;QACD,OAAO,uCAAkB,CAAC,GAAG,CAAA;IACjC,CAAC;AACL,CAAC"}
@@ -1,55 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,46 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,50 +0,0 @@
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
@@ -1 +0,0 @@
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"}
@@ -1,64 +0,0 @@
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"grouping.js","sourceRoot":"","sources":["../../../../src/modules/sections/grouping.ts"],"names":[],"mappings":"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"}
@@ -1,19 +0,0 @@
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
@@ -1 +0,0 @@
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"}