git-release-manager 0.0.3 → 0.0.4

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 (296) hide show
  1. package/dist/src/PackageJson.js +3 -0
  2. package/dist/src/PackageJson.js.map +1 -0
  3. package/dist/src/cli/types/ChangelogCliArgs.js +3 -0
  4. package/dist/src/cli/types/ChangelogCliArgs.js.map +1 -0
  5. package/dist/src/cli/types/ChnagelogCliArgs.js +3 -0
  6. package/dist/src/cli/types/ChnagelogCliArgs.js.map +1 -0
  7. package/dist/src/cli/types/CliArgs.js +3 -0
  8. package/dist/src/cli/types/CliArgs.js.map +1 -0
  9. package/dist/src/config/configLoader.js +61 -0
  10. package/dist/src/config/configLoader.js.map +1 -0
  11. package/dist/src/config/{index.js → configManager.js} +13 -33
  12. package/dist/src/config/configManager.js.map +1 -0
  13. package/dist/src/config/constants.js +10 -0
  14. package/dist/src/config/constants.js.map +1 -0
  15. package/dist/src/config/types/ChannelType.js +3 -0
  16. package/dist/src/config/types/ChannelType.js.map +1 -0
  17. package/dist/src/config/types/CommitType.js +3 -0
  18. package/dist/src/config/types/CommitType.js.map +1 -0
  19. package/dist/src/config/types/Config.js +3 -0
  20. package/dist/src/config/types/Config.js.map +1 -0
  21. package/dist/src/config/types/FileGroups.js +3 -0
  22. package/dist/src/config/types/FileGroups.js.map +1 -0
  23. package/dist/src/config/types/LinkType.js +3 -0
  24. package/dist/src/config/types/LinkType.js.map +1 -0
  25. package/dist/src/config/types/MentionType.js +3 -0
  26. package/dist/src/config/types/MentionType.js.map +1 -0
  27. package/dist/src/config/types/NoteType.js +3 -0
  28. package/dist/src/config/types/NoteType.js.map +1 -0
  29. package/dist/src/config/types/Options.js +3 -0
  30. package/dist/src/config/types/Options.js.map +1 -0
  31. package/dist/src/core/app-old.js +35 -0
  32. package/dist/src/core/app-old.js.map +1 -0
  33. package/dist/src/core/app.js +7 -206
  34. package/dist/src/core/app.js.map +1 -1
  35. package/dist/src/core/changelog/app.js +19 -0
  36. package/dist/src/core/changelog/app.js.map +1 -0
  37. package/dist/src/core/gitOperations.js +95 -0
  38. package/dist/src/core/gitOperations.js.map +1 -0
  39. package/dist/src/core/rangeOperations.js +14 -0
  40. package/dist/src/core/rangeOperations.js.map +1 -0
  41. package/dist/src/core/templateOperations.js +157 -0
  42. package/dist/src/core/templateOperations.js.map +1 -0
  43. package/dist/src/core/types/ChangeInformation.js +3 -0
  44. package/dist/src/core/types/ChangeInformation.js.map +1 -0
  45. package/dist/src/core/types/Context.js +3 -0
  46. package/dist/src/core/types/Context.js.map +1 -0
  47. package/dist/src/core/types/RangeDetails.js +3 -0
  48. package/dist/src/core/types/RangeDetails.js.map +1 -0
  49. package/dist/src/core/types/RangeInfo.js +3 -0
  50. package/dist/src/core/types/RangeInfo.js.map +1 -0
  51. package/dist/src/core/types/ReferenceTypesEnum.js +12 -0
  52. package/dist/src/core/types/ReferenceTypesEnum.js.map +1 -0
  53. package/dist/src/core/types/Repository.js +3 -0
  54. package/dist/src/core/types/Repository.js.map +1 -0
  55. package/dist/src/git/commits/commitProcessor.js +52 -0
  56. package/dist/src/git/commits/commitProcessor.js.map +1 -0
  57. package/dist/src/git/commits/gitLogFetcher.js +27 -0
  58. package/dist/src/git/commits/gitLogFetcher.js.map +1 -0
  59. package/dist/src/git/commits/index.js +136 -0
  60. package/dist/src/git/commits/index.js.map +1 -0
  61. package/dist/src/git/commits/profileHandler.js +43 -0
  62. package/dist/src/git/commits/profileHandler.js.map +1 -0
  63. package/dist/src/git/commits/regexHandlers.js +27 -0
  64. package/dist/src/git/commits/regexHandlers.js.map +1 -0
  65. package/dist/src/git/commits.js +8 -109
  66. package/dist/src/git/commits.js.map +1 -1
  67. package/dist/src/git/context/branchHandler.js +23 -0
  68. package/dist/src/git/context/branchHandler.js.map +1 -0
  69. package/dist/src/git/context/commitHandler.js +30 -0
  70. package/dist/src/git/context/commitHandler.js.map +1 -0
  71. package/dist/src/git/context/index.js +31 -0
  72. package/dist/src/git/context/index.js.map +1 -0
  73. package/dist/src/git/context/remoteHandler.js +25 -0
  74. package/dist/src/git/context/remoteHandler.js.map +1 -0
  75. package/dist/src/git/context/statusHandler.js +21 -0
  76. package/dist/src/git/context/statusHandler.js.map +1 -0
  77. package/dist/src/git/context/tagHandler.js +21 -0
  78. package/dist/src/git/context/tagHandler.js.map +1 -0
  79. package/dist/src/git/context.js +2 -2
  80. package/dist/src/git/context.js.map +1 -1
  81. package/dist/src/git/types/Author.js +3 -0
  82. package/dist/src/git/types/Author.js.map +1 -0
  83. package/dist/src/git/types/BranchInfo.js +3 -0
  84. package/dist/src/git/types/BranchInfo.js.map +1 -0
  85. package/dist/src/git/types/CommitContent.js +3 -0
  86. package/dist/src/git/types/CommitContent.js.map +1 -0
  87. package/dist/src/git/types/CommitInfo.js +3 -0
  88. package/dist/src/git/types/CommitInfo.js.map +1 -0
  89. package/dist/src/git/types/CommitType.js +3 -0
  90. package/dist/src/git/types/CommitType.js.map +1 -0
  91. package/dist/src/git/types/CommitType2.js +3 -0
  92. package/dist/src/git/types/CommitType2.js.map +1 -0
  93. package/dist/src/git/types/GitCommit.js +3 -0
  94. package/dist/src/git/types/GitCommit.js.map +1 -0
  95. package/dist/src/git/types/GitContext.js +3 -0
  96. package/dist/src/git/types/GitContext.js.map +1 -0
  97. package/dist/src/{core/types.js → git/types/Link.js} +1 -1
  98. package/dist/src/git/types/Link.js.map +1 -0
  99. package/dist/src/git/types/LinkType-.js +3 -0
  100. package/dist/src/git/types/LinkType-.js.map +1 -0
  101. package/dist/src/git/types/LinkType.js +3 -0
  102. package/dist/src/git/types/LinkType.js.map +1 -0
  103. package/dist/src/git/types/Mention.js +3 -0
  104. package/dist/src/git/types/Mention.js.map +1 -0
  105. package/dist/src/git/types/MentionType-.js +3 -0
  106. package/dist/src/git/types/MentionType-.js.map +1 -0
  107. package/dist/src/git/types/MentionType.js +3 -0
  108. package/dist/src/git/types/MentionType.js.map +1 -0
  109. package/dist/src/{config/types.js → git/types/Note.js} +1 -1
  110. package/dist/src/git/types/Note.js.map +1 -0
  111. package/dist/src/git/types/RemoteInfo.js +3 -0
  112. package/dist/src/git/types/RemoteInfo.js.map +1 -0
  113. package/dist/src/git/types/StatusInfo.js +3 -0
  114. package/dist/src/git/types/StatusInfo.js.map +1 -0
  115. package/dist/src/git/types/TagInfo.js +3 -0
  116. package/dist/src/git/types/TagInfo.js.map +1 -0
  117. package/dist/src/git/utils/branchUtils.js +56 -0
  118. package/dist/src/git/utils/branchUtils.js.map +1 -0
  119. package/dist/src/git/utils/commitUtils.js +50 -0
  120. package/dist/src/git/utils/commitUtils.js.map +1 -0
  121. package/dist/src/git/utils/logUtils.js +18 -0
  122. package/dist/src/git/utils/logUtils.js.map +1 -0
  123. package/dist/src/git/utils/refUtils.js +41 -0
  124. package/dist/src/git/utils/refUtils.js.map +1 -0
  125. package/dist/src/git/utils/referenceUtils.js +138 -0
  126. package/dist/src/git/utils/referenceUtils.js.map +1 -0
  127. package/dist/src/git/utils/tagUtils.js +54 -0
  128. package/dist/src/git/utils/tagUtils.js.map +1 -0
  129. package/dist/src/index.js +11 -10
  130. package/dist/src/index.js.map +1 -1
  131. package/dist/src/main.js +3 -9
  132. package/dist/src/main.js.map +1 -1
  133. package/dist/src/modules/changelog/templateOperations.js +129 -0
  134. package/dist/src/modules/changelog/templateOperations.js.map +1 -0
  135. package/dist/src/modules/changes/types/ChangeInformation.js +3 -0
  136. package/dist/src/modules/changes/types/ChangeInformation.js.map +1 -0
  137. package/dist/src/modules/changes/types/Context.js +3 -0
  138. package/dist/src/modules/changes/types/Context.js.map +1 -0
  139. package/dist/src/modules/changes/types/RangeDetail.js +3 -0
  140. package/dist/src/modules/changes/types/RangeDetail.js.map +1 -0
  141. package/dist/src/modules/changes/types/RangeDetails.js +3 -0
  142. package/dist/src/modules/changes/types/RangeDetails.js.map +1 -0
  143. package/dist/src/modules/changes/types/RangeInfo.js +8 -0
  144. package/dist/src/modules/changes/types/RangeInfo.js.map +1 -0
  145. package/dist/src/modules/changes/types/RangeSummary.js +3 -0
  146. package/dist/src/modules/changes/types/RangeSummary.js.map +1 -0
  147. package/dist/src/modules/changes/types/ReferenceTypesEnum.js +12 -0
  148. package/dist/src/modules/changes/types/ReferenceTypesEnum.js.map +1 -0
  149. package/dist/src/modules/git/commits/commitProcessor.js +52 -0
  150. package/dist/src/modules/git/commits/commitProcessor.js.map +1 -0
  151. package/dist/src/modules/git/commits/gitLogFetcher.js +27 -0
  152. package/dist/src/modules/git/commits/gitLogFetcher.js.map +1 -0
  153. package/dist/src/modules/git/commits/index.js +136 -0
  154. package/dist/src/modules/git/commits/index.js.map +1 -0
  155. package/dist/src/modules/git/commits/profileHandler.js +45 -0
  156. package/dist/src/modules/git/commits/profileHandler.js.map +1 -0
  157. package/dist/src/modules/git/commits/regexHandlers.js +27 -0
  158. package/dist/src/modules/git/commits/regexHandlers.js.map +1 -0
  159. package/dist/src/modules/git/context/branchHandler.js +23 -0
  160. package/dist/src/modules/git/context/branchHandler.js.map +1 -0
  161. package/dist/src/modules/git/context/commitHandler.js +34 -0
  162. package/dist/src/modules/git/context/commitHandler.js.map +1 -0
  163. package/dist/src/modules/git/context/index.js +28 -0
  164. package/dist/src/modules/git/context/index.js.map +1 -0
  165. package/dist/src/modules/git/context/remoteHandler.js +25 -0
  166. package/dist/src/modules/git/context/remoteHandler.js.map +1 -0
  167. package/dist/src/modules/git/context/statusHandler.js +21 -0
  168. package/dist/src/modules/git/context/statusHandler.js.map +1 -0
  169. package/dist/src/modules/git/context/tagHandler.js +33 -0
  170. package/dist/src/modules/git/context/tagHandler.js.map +1 -0
  171. package/dist/src/modules/git/gitOperations.js +56 -0
  172. package/dist/src/modules/git/gitOperations.js.map +1 -0
  173. package/dist/src/modules/git/types/Author.js +3 -0
  174. package/dist/src/modules/git/types/Author.js.map +1 -0
  175. package/dist/src/modules/git/types/Branch.js +3 -0
  176. package/dist/src/modules/git/types/Branch.js.map +1 -0
  177. package/dist/src/modules/git/types/BranchInfo.js +3 -0
  178. package/dist/src/modules/git/types/BranchInfo.js.map +1 -0
  179. package/dist/src/modules/git/types/CommitContent.js +3 -0
  180. package/dist/src/modules/git/types/CommitContent.js.map +1 -0
  181. package/dist/src/modules/git/types/CommitInfo.js +3 -0
  182. package/dist/src/modules/git/types/CommitInfo.js.map +1 -0
  183. package/dist/src/modules/git/types/CommitType.js +3 -0
  184. package/dist/src/modules/git/types/CommitType.js.map +1 -0
  185. package/dist/src/modules/git/types/GitCommit.js +3 -0
  186. package/dist/src/modules/git/types/GitCommit.js.map +1 -0
  187. package/dist/src/modules/git/types/GitContext.js +3 -0
  188. package/dist/src/modules/git/types/GitContext.js.map +1 -0
  189. package/dist/src/modules/git/types/GitReference.js +3 -0
  190. package/dist/src/modules/git/types/GitReference.js.map +1 -0
  191. package/dist/src/modules/git/types/Link.js +3 -0
  192. package/dist/src/modules/git/types/Link.js.map +1 -0
  193. package/dist/src/modules/git/types/Mention.js +3 -0
  194. package/dist/src/modules/git/types/Mention.js.map +1 -0
  195. package/dist/src/modules/git/types/Note.js +3 -0
  196. package/dist/src/modules/git/types/Note.js.map +1 -0
  197. package/dist/src/modules/git/types/RemoteInfo.js +3 -0
  198. package/dist/src/modules/git/types/RemoteInfo.js.map +1 -0
  199. package/dist/src/modules/git/types/Repository.js +3 -0
  200. package/dist/src/modules/git/types/Repository.js.map +1 -0
  201. package/dist/src/modules/git/types/StatusInfo.js +3 -0
  202. package/dist/src/modules/git/types/StatusInfo.js.map +1 -0
  203. package/dist/src/{utils/cli.js → modules/git/types/Tag.js} +1 -1
  204. package/dist/src/modules/git/types/Tag.js.map +1 -0
  205. package/dist/src/modules/git/types/TagInfo.js +3 -0
  206. package/dist/src/modules/git/types/TagInfo.js.map +1 -0
  207. package/dist/src/modules/git/utils/branchUtils.js +56 -0
  208. package/dist/src/modules/git/utils/branchUtils.js.map +1 -0
  209. package/dist/src/modules/git/utils/commitUtils.js +50 -0
  210. package/dist/src/modules/git/utils/commitUtils.js.map +1 -0
  211. package/dist/src/modules/git/utils/logUtils.js +18 -0
  212. package/dist/src/modules/git/utils/logUtils.js.map +1 -0
  213. package/dist/src/modules/git/utils/rangeOperations.js +14 -0
  214. package/dist/src/modules/git/utils/rangeOperations.js.map +1 -0
  215. package/dist/src/modules/git/utils/refUtils.js +41 -0
  216. package/dist/src/modules/git/utils/refUtils.js.map +1 -0
  217. package/dist/src/modules/git/utils/referenceUtils.js +132 -0
  218. package/dist/src/modules/git/utils/referenceUtils.js.map +1 -0
  219. package/dist/src/modules/git/utils/tagUtils.js +54 -0
  220. package/dist/src/modules/git/utils/tagUtils.js.map +1 -0
  221. package/dist/src/modules/output/writer.js +46 -0
  222. package/dist/src/modules/output/writer.js.map +1 -0
  223. package/dist/src/modules/repository/types/Repository.js +3 -0
  224. package/dist/src/modules/repository/types/Repository.js.map +1 -0
  225. package/dist/src/modules/sections/contributors.js +50 -0
  226. package/dist/src/modules/sections/contributors.js.map +1 -0
  227. package/dist/src/modules/sections/grouping.js +64 -0
  228. package/dist/src/modules/sections/grouping.js.map +1 -0
  229. package/dist/src/modules/sections/index.js +19 -0
  230. package/dist/src/modules/sections/index.js.map +1 -0
  231. package/dist/src/modules/sections/summarizing.js +75 -0
  232. package/dist/src/modules/sections/summarizing.js.map +1 -0
  233. package/dist/src/modules/sections/types/Contributor.js +3 -0
  234. package/dist/src/modules/sections/types/Contributor.js.map +1 -0
  235. package/dist/src/modules/sections/types/Group.js +3 -0
  236. package/dist/src/modules/sections/types/Group.js.map +1 -0
  237. package/dist/src/modules/sections/types/SectionSummary.js +3 -0
  238. package/dist/src/modules/sections/types/SectionSummary.js.map +1 -0
  239. package/dist/src/modules/sections/types/Sections.js +3 -0
  240. package/dist/src/modules/sections/types/Sections.js.map +1 -0
  241. package/dist/src/modules/templates/constants.js +10 -0
  242. package/dist/src/modules/templates/constants.js.map +1 -0
  243. package/dist/src/modules/templates/templateRenderer.js +46 -0
  244. package/dist/src/modules/templates/templateRenderer.js.map +1 -0
  245. package/dist/src/modules/templates/templateResolver.js +70 -0
  246. package/dist/src/modules/templates/templateResolver.js.map +1 -0
  247. package/dist/src/sections/contributors.js +50 -0
  248. package/dist/src/sections/contributors.js.map +1 -0
  249. package/dist/src/sections/grouping.js +70 -0
  250. package/dist/src/sections/grouping.js.map +1 -0
  251. package/dist/src/sections/index.js +9 -196
  252. package/dist/src/sections/index.js.map +1 -1
  253. package/dist/src/sections/summarizing.js +79 -0
  254. package/dist/src/sections/summarizing.js.map +1 -0
  255. package/dist/src/sections/types/Contributor.js +15 -0
  256. package/dist/src/sections/types/Contributor.js.map +1 -0
  257. package/dist/src/sections/types/Group.js +3 -0
  258. package/dist/src/sections/types/Group.js.map +1 -0
  259. package/dist/src/sections/types/SectionSummary.js +13 -0
  260. package/dist/src/sections/types/SectionSummary.js.map +1 -0
  261. package/dist/src/sections/types/Sections.js +3 -0
  262. package/dist/src/sections/types/Sections.js.map +1 -0
  263. package/dist/src/templates/constants.js +10 -0
  264. package/dist/src/templates/constants.js.map +1 -0
  265. package/dist/src/templates/defaults/changelog.detailed.ejs +111 -0
  266. package/dist/src/templates/defaults/changelog.ejs +68 -0
  267. package/dist/src/templates/index.js +7 -8
  268. package/dist/src/templates/index.js.map +1 -1
  269. package/dist/src/templates/templateRenderer.js +46 -0
  270. package/dist/src/templates/templateRenderer.js.map +1 -0
  271. package/dist/src/templates/templateResolver.js +70 -0
  272. package/dist/src/templates/templateResolver.js.map +1 -0
  273. package/dist/src/types/PackageJson.js +3 -0
  274. package/dist/src/types/PackageJson.js.map +1 -0
  275. package/dist/src/utils/cmd.js +0 -30
  276. package/dist/src/utils/cmd.js.map +1 -1
  277. package/dist/src/utils/date.js +20 -0
  278. package/dist/src/utils/date.js.map +1 -0
  279. package/dist/src/utils/git-utils.js +7 -6
  280. package/dist/src/utils/git-utils.js.map +1 -1
  281. package/dist/src/utils/helpers.js +0 -40
  282. package/dist/src/utils/helpers.js.map +1 -1
  283. package/dist/test/config/{loadConfigFile.test.js → configLoader/loadConfigFile.test.js} +24 -24
  284. package/dist/test/config/configLoader/loadConfigFile.test.js.map +1 -0
  285. package/dist/test/config/{readConfig.test.js → configManager/readConfig.test.js} +37 -38
  286. package/dist/test/config/configManager/readConfig.test.js.map +1 -0
  287. package/package.json +3 -3
  288. package/dist/src/config/index.js.map +0 -1
  289. package/dist/src/config/types.js.map +0 -1
  290. package/dist/src/core/types.js.map +0 -1
  291. package/dist/src/utils/cli.js.map +0 -1
  292. package/dist/test/config/loadConfigFile.test.js.map +0 -1
  293. package/dist/test/config/readConfig.test.js.map +0 -1
  294. /package/dist/src/config/{defaultConfig.json → defaults/config.json} +0 -0
  295. /package/dist/src/{templates → modules/templates/defaults}/changelog.detailed.ejs +0 -0
  296. /package/dist/src/{templates → modules/templates/defaults}/changelog.ejs +0 -0
@@ -0,0 +1,56 @@
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 child_process_1 = require("child_process");
10
+ const util_1 = __importDefault(require("util"));
11
+ const execPromise = util_1.default.promisify(child_process_1.exec);
12
+ const git = (0, simple_git_1.default)();
13
+ async function getBranches(range) {
14
+ try {
15
+ const logCommand = `git log --oneline --decorate=short ${range}`;
16
+ const { stdout } = await execPromise(logCommand);
17
+ // Extract branches
18
+ const branchRegex = /([a-f0-9]+)\s.*\(.*?([^,\s)]+)\)/g;
19
+ const branchesWithRefs = [];
20
+ let match;
21
+ while ((match = branchRegex.exec(stdout.trim())) !== null) {
22
+ if (!match[2].startsWith("tag:")) {
23
+ // Ensures it's a branch
24
+ branchesWithRefs.push({ name: match[2], reference: match[1] });
25
+ }
26
+ }
27
+ // Use a Set to filter unique branches by name
28
+ const uniqueBranchesMap = new Map();
29
+ branchesWithRefs.forEach((branch) => {
30
+ if (!uniqueBranchesMap.has(branch.name)) {
31
+ uniqueBranchesMap.set(branch.name, branch);
32
+ }
33
+ });
34
+ return Array.from(uniqueBranchesMap.values());
35
+ }
36
+ catch (error) {
37
+ console.error("Error retrieving branches in range:", error);
38
+ throw error;
39
+ }
40
+ }
41
+ /**
42
+ * Checks if the given value is a local Git branch.
43
+ *
44
+ * @param value - The name of the branch to check.
45
+ * @returns A promise that resolves to `true` if the value is a local Git branch, otherwise `false`.
46
+ */
47
+ async function isGitBranch(value) {
48
+ try {
49
+ const branches = await git.branchLocal();
50
+ return branches.all.includes(value);
51
+ }
52
+ catch (_a) {
53
+ return false;
54
+ }
55
+ }
56
+ //# sourceMappingURL=branchUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branchUtils.js","sourceRoot":"","sources":["../../../../src/git/utils/branchUtils.ts"],"names":[],"mappings":";;;;;AASA,kCA6BC;AASD,kCAOG;AAtDH,4DAAmC;AAEnC,iDAAqC;AACrC,gDAAwB;AACxB,MAAM,WAAW,GAAG,cAAI,CAAC,SAAS,CAAC,oBAAI,CAAC,CAAC;AAGzC,MAAM,GAAG,GAAG,IAAA,oBAAS,GAAE,CAAC;AAEjB,KAAK,UAAU,WAAW,CAAC,KAAa;IAC7C,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,sCAAsC,KAAK,EAAE,CAAC;QACjE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;QAEjD,mBAAmB;QACnB,MAAM,WAAW,GAAG,mCAAmC,CAAC;QACxD,MAAM,gBAAgB,GAAkB,EAAE,CAAC;QAC3C,IAAI,KAAK,CAAC;QACV,OAAO,CAAC,KAAK,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC1D,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;gBACjC,wBAAwB;gBACxB,gBAAgB,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;YACjE,CAAC;QACH,CAAC;QAED,8CAA8C;QAC9C,MAAM,iBAAiB,GAAG,IAAI,GAAG,EAAkB,CAAC;QACpD,gBAAgB,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAClC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;gBACxC,iBAAiB,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAC7C,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,qCAAqC,EAAE,KAAK,CAAC,CAAC;QAC5D,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAGD;;;;;GAKG;AACI,KAAK,UAAU,WAAW,CAAC,KAAa;IAC3C,IAAI,CAAC;QACH,MAAM,QAAQ,GAAG,MAAM,GAAG,CAAC,WAAW,EAAE,CAAC;QACzC,OAAO,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IACtC,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
@@ -0,0 +1,50 @@
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 child_process_1 = require("child_process");
11
+ const util_1 = __importDefault(require("util"));
12
+ const refUtils_1 = require("./refUtils");
13
+ const execPromise = util_1.default.promisify(child_process_1.exec);
14
+ const git = (0, simple_git_1.default)();
15
+ async function getCommitCount(range) {
16
+ let commitCount = 0;
17
+ try {
18
+ const { stdout } = await execPromise(`git rev-list --count ${range}`);
19
+ commitCount = parseInt(stdout.trim(), 10);
20
+ return commitCount;
21
+ }
22
+ catch (error) {
23
+ console.error("Error counting commits in range:", error);
24
+ throw error;
25
+ }
26
+ }
27
+ /**
28
+ * Checks if the given value is a valid Git commit.
29
+ *
30
+ * @param value - The value to check if it is a valid Git commit.
31
+ * @returns A promise that resolves to a boolean indicating whether the value is a valid Git commit.
32
+ */
33
+ async function isGitCommit(value) {
34
+ return (0, refUtils_1.revParse)(value);
35
+ }
36
+ /**
37
+ * Resolves the commit ID for a given reference.
38
+ *
39
+ * @param value - The reference to resolve (e.g., branch name, tag, or commit hash).
40
+ * @returns A promise that resolves to the commit ID as a string, or null if the reference cannot be resolved.
41
+ */
42
+ async function resolveCommitId(value) {
43
+ try {
44
+ return await git.revparse([value]);
45
+ }
46
+ catch (_a) {
47
+ return null;
48
+ }
49
+ }
50
+ //# sourceMappingURL=commitUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitUtils.js","sourceRoot":"","sources":["../../../../src/git/utils/commitUtils.ts"],"names":[],"mappings":";;;;;AAQA,wCAWC;AAOD,kCAEC;AAQD,0CAMC;AA1CD,4DAAmC;AACnC,iDAAqC;AACrC,gDAAwB;AACxB,yCAAsC;AACtC,MAAM,WAAW,GAAG,cAAI,CAAC,SAAS,CAAC,oBAAI,CAAC,CAAC;AAEzC,MAAM,GAAG,GAAG,IAAA,oBAAS,GAAE,CAAC;AAEjB,KAAK,UAAU,cAAc,CAAC,KAAa;IAChD,IAAI,WAAW,GAAW,CAAC,CAAC;IAE5B,IAAI,CAAC;QACH,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,wBAAwB,KAAK,EAAE,CAAC,CAAC;QACtE,WAAW,GAAG,QAAQ,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC1C,OAAO,WAAW,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,kCAAkC,EAAE,KAAK,CAAC,CAAC;QACzD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AACD;;;;;GAKG;AACI,KAAK,UAAU,WAAW,CAAC,KAAa;IAC7C,OAAO,IAAA,mBAAQ,EAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,eAAe,CAAC,KAAa;IACjD,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACrC,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,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/git/utils/logUtils.ts"],"names":[],"mappings":";;;;;AAUA,wBAEG;AAZH,4DAAmC;AAEnC,MAAM,GAAG,GAAG,IAAA,oBAAS,GAAE,CAAC;AAExB;;;;;GAKG;AACI,KAAK,UAAU,MAAM,CAAC,KAAa;IACtC,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;AAC1B,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/git/utils/refUtils.ts"],"names":[],"mappings":";;;;;AASA,4BAOC;AAQD,4BAEG;AAGD,gCAIC;AAjCH,4DAAmC;AACnC,MAAM,GAAG,GAAG,IAAA,oBAAS,GAAE,CAAC;AAExB;;;;;GAKG;AACI,KAAK,UAAU,QAAQ,CAAC,KAAa;IAC1C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC3C,OAAO,CAAC,CAAC,MAAM,CAAC;IAClB,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;;;;GAKG;AACI,KAAK,UAAU,QAAQ,CAAC,KAAa;IACxC,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzB,CAAC;AAGD,SAAgB,UAAU,CAAC,KAAa;IACtC,IAAI,CAAC,KAAK;QAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;IAC5C,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACrC,OAAO,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC;AACtB,CAAC"}
@@ -0,0 +1,138 @@
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("../../core/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
+ throw error;
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); // formatDateForGit
59
+ if (isStart) {
60
+ const logsAfter = await git.log([
61
+ "--after",
62
+ formattedDate,
63
+ "--reverse",
64
+ ]);
65
+ reference = logsAfter.all.length ? logsAfter.all[0].hash : null;
66
+ }
67
+ else {
68
+ const logsBefore = await git.log(["--before", formattedDate]);
69
+ reference = logsBefore.latest ? logsBefore.latest.hash : null;
70
+ }
71
+ break;
72
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.tag:
73
+ reference = await git.revparse([value]);
74
+ break;
75
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.branch:
76
+ const isValidBranch = await (0, branchUtils_1.isGitBranch)(value);
77
+ if (!isValidBranch) {
78
+ throw new Error(`Invalid branch: ${value}`);
79
+ }
80
+ if (isStart) {
81
+ const logsInBranch = await git.log([value]);
82
+ reference = logsInBranch.all.length
83
+ ? logsInBranch.all[logsInBranch.all.length - 1].hash
84
+ : null;
85
+ }
86
+ else {
87
+ reference = await git.revparse([value]);
88
+ }
89
+ break;
90
+ default:
91
+ throw new Error(`Unsupported reference type for: ${value}`);
92
+ }
93
+ if (!reference) {
94
+ throw new Error(`Could not resolve reference: ${value}`);
95
+ }
96
+ }
97
+ catch (error) {
98
+ console.error(`Error resolving reference: ${value}`, error);
99
+ throw error;
100
+ }
101
+ }
102
+ if (!reference) {
103
+ throw new Error("Commit ID is null");
104
+ }
105
+ const result = await git.raw(["show", "-s", "--format=%ci", reference]);
106
+ const date = (0, date_1.formatISO8601)(result.trim());
107
+ return {
108
+ value,
109
+ type,
110
+ reference,
111
+ date,
112
+ };
113
+ }
114
+ async function determineType(value) {
115
+ const commitRegex = /^[a-f0-9]{7,40}$/i;
116
+ const dateRegex = /^(\d{4})-(\d{2})-(\d{2})[T\s](\d{2}):(\d{2}):(\d{2})(\.\d+)?(Z|([+-]\d{2}:\d{2}))?$/;
117
+ const semanticTagRegex = /^v?\d+\.\d+\.\d+(-[a-zA-Z0-9.-]+(\.[a-zA-Z0-9.-]+)*)?$/;
118
+ const refRegex = /^(HEAD(~\d+)?|[a-zA-Z0-9._-]+)$/;
119
+ if (value.match(commitRegex) && (await (0, commitUtils_1.isGitCommit)(value))) {
120
+ return ReferenceTypesEnum_1.ReferenceTypesEnum.commit;
121
+ }
122
+ else if (value.match(dateRegex)) {
123
+ return ReferenceTypesEnum_1.ReferenceTypesEnum.date;
124
+ }
125
+ else if (semanticTagRegex.test(value) && (await (0, tagUtils_1.isGitTag)(value))) {
126
+ return ReferenceTypesEnum_1.ReferenceTypesEnum.tag;
127
+ }
128
+ else if (refRegex.test(value)) {
129
+ if (await (0, branchUtils_1.isGitBranch)(value)) {
130
+ return ReferenceTypesEnum_1.ReferenceTypesEnum.branch;
131
+ }
132
+ if (await (0, tagUtils_1.isGitTag)(value)) {
133
+ return ReferenceTypesEnum_1.ReferenceTypesEnum.tag;
134
+ }
135
+ return ReferenceTypesEnum_1.ReferenceTypesEnum.ref;
136
+ }
137
+ }
138
+ //# sourceMappingURL=referenceUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"referenceUtils.js","sourceRoot":"","sources":["../../../../src/git/utils/referenceUtils.ts"],"names":[],"mappings":"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"}
@@ -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.getTags = getTags;
7
+ exports.isGitTag = isGitTag;
8
+ const simple_git_1 = __importDefault(require("simple-git"));
9
+ const child_process_1 = require("child_process");
10
+ const util_1 = __importDefault(require("util"));
11
+ const date_1 = require("../../utils/date");
12
+ const execPromise = util_1.default.promisify(child_process_1.exec);
13
+ const git = (0, simple_git_1.default)();
14
+ async function getTags(range) {
15
+ try {
16
+ // Include the commit hash, tag name, and commit date in the format string
17
+ const logCommand = `git log --pretty=format:"%H %ci %D" ${range}`;
18
+ const { stdout } = await execPromise(logCommand);
19
+ const tagRegex = /^([a-f0-9]{40})\s([\d-]+\s[\d:]+\s[+-]\d{4})\s.*tag: ([^,\s]+)/gm;
20
+ const tagsWithRefs = [];
21
+ let match;
22
+ while ((match = tagRegex.exec(stdout.trim())) !== null) {
23
+ const commitHash = match[1];
24
+ const commitDate = (0, date_1.formatISO8601)(match[2]);
25
+ const tagName = match[3];
26
+ tagsWithRefs.push({
27
+ name: tagName,
28
+ reference: commitHash,
29
+ date: commitDate,
30
+ });
31
+ }
32
+ return tagsWithRefs;
33
+ }
34
+ catch (error) {
35
+ console.error("Error retrieving tags in range:", error);
36
+ throw error;
37
+ }
38
+ }
39
+ /**
40
+ * Checks if the given value is a valid Git tag.
41
+ *
42
+ * @param value - The value to check against the list of Git tags.
43
+ * @returns A promise that resolves to `true` if the value is a valid Git tag, otherwise `false`.
44
+ */
45
+ async function isGitTag(value) {
46
+ try {
47
+ const tags = await git.tags();
48
+ return tags.all.includes(value);
49
+ }
50
+ catch (_a) {
51
+ return false;
52
+ }
53
+ }
54
+ //# sourceMappingURL=tagUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tagUtils.js","sourceRoot":"","sources":["../../../../src/git/utils/tagUtils.ts"],"names":[],"mappings":";;;;;AASA,0BA4BC;AAOD,4BAOG;AAnDH,4DAAmC;AAEnC,iDAAqC;AACrC,gDAAwB;AACxB,2CAAiD;AACjD,MAAM,WAAW,GAAG,cAAI,CAAC,SAAS,CAAC,oBAAI,CAAC,CAAC;AAEzC,MAAM,GAAG,GAAG,IAAA,oBAAS,GAAE,CAAC;AAEjB,KAAK,UAAU,OAAO,CAAC,KAAa;IACzC,IAAI,CAAC;QACH,0EAA0E;QAC1E,MAAM,UAAU,GAAG,uCAAuC,KAAK,EAAE,CAAC;QAClE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,CAAC;QAEjD,MAAM,QAAQ,GACZ,kEAAkE,CAAC;QACrE,MAAM,YAAY,GAAe,EAAE,CAAC;QACpC,IAAI,KAAK,CAAC;QAEV,OAAO,CAAC,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YACvD,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAC5B,MAAM,UAAU,GAAG,IAAA,oBAAa,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;YAC3C,MAAM,OAAO,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YAEzB,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,OAAO;gBACb,SAAS,EAAE,UAAU;gBACrB,IAAI,EAAE,UAAU;aACjB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,YAAY,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,KAAK,CAAC,CAAC;QACxD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AACD;;;;;GAKG;AACI,KAAK,UAAU,QAAQ,CAAC,KAAa;IACxC,IAAI,CAAC;QACH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAClC,CAAC;IAAC,WAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
package/dist/src/index.js CHANGED
@@ -2,9 +2,10 @@
2
2
  "use strict";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
4
  const commander_1 = require("commander");
5
- const main_1 = require("./main");
6
5
  const fs_1 = require("fs");
7
6
  const path_1 = require("path");
7
+ const app_1 = require("./core/changelog/app");
8
+ const configManager_1 = require("./config/configManager");
8
9
  // Read package.json
9
10
  const packageJson = JSON.parse((0, fs_1.readFileSync)((0, path_1.join)(__dirname, '../../package.json'), 'utf8'));
10
11
  const program = new commander_1.Command();
@@ -30,15 +31,15 @@ const validateOptions = (options) => {
30
31
  process.exit(1);
31
32
  }
32
33
  };
33
- program //generate ai based conventional commit
34
+ program // generate ai based conventional commit
34
35
  .command('commit')
35
36
  .description('Generate changelog')
36
37
  .action(async (options) => {
37
38
  try {
38
- await (0, main_1.main)(options);
39
+ // await main(options);
39
40
  }
40
41
  catch (error) {
41
- console.error("Error:", error instanceof Error ? error.message : String(error));
42
+ console.error('Error:', error instanceof Error ? error.message : String(error));
42
43
  process.exit(1);
43
44
  }
44
45
  });
@@ -61,10 +62,11 @@ program
61
62
  options.mergeAll = false;
62
63
  }
63
64
  try {
64
- await (0, main_1.main)(options);
65
+ const config = await (0, configManager_1.readConfig)(options === null || options === void 0 ? void 0 : options.config, options.environment);
66
+ await (0, app_1.run)(options, config);
65
67
  }
66
68
  catch (error) {
67
- console.error("Error:", error instanceof Error ? error.message : String(error));
69
+ console.error('Error:', error instanceof Error ? error.message : String(error));
68
70
  process.exit(1);
69
71
  }
70
72
  });
@@ -73,15 +75,14 @@ program
73
75
  .description('Generate changelog')
74
76
  .action(async (options) => {
75
77
  try {
76
- await (0, main_1.main)(options);
78
+ // await main(options);
77
79
  }
78
80
  catch (error) {
79
- console.error("Error:", error instanceof Error ? error.message : String(error));
81
+ console.error('Error:', error instanceof Error ? error.message : String(error));
80
82
  process.exit(1);
81
83
  }
82
84
  });
83
- program
84
- .action(() => {
85
+ program.action(() => {
85
86
  console.log('Please specify a command or use --help for usage information');
86
87
  process.exit(1);
87
88
  });
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/src/main.js CHANGED
@@ -1,22 +1,16 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.run = void 0;
4
3
  exports.main = main;
5
4
  const app_1 = require("./core/app");
6
- const index_1 = require("./config/index");
5
+ const configManager_1 = require("./config/configManager");
7
6
  async function main(options) {
8
7
  try {
9
- const config = await (0, index_1.readConfig)(options === null || options === void 0 ? void 0 : options.config, options.environment);
8
+ const config = await (0, configManager_1.readConfig)(options === null || options === void 0 ? void 0 : options.config, options.environment);
10
9
  await (0, app_1.run)(options, config);
11
10
  }
12
11
  catch (error) {
13
- console.error("Error:", error instanceof Error ? error.message : String(error));
12
+ console.error('Error:', error instanceof Error ? error.message : String(error));
14
13
  process.exit(1);
15
14
  }
16
15
  }
17
- // if (require.main === module) {
18
- // main();
19
- // }
20
- var app_2 = require("./core/app");
21
- Object.defineProperty(exports, "run", { enumerable: true, get: function () { return app_2.run; } });
22
16
  //# sourceMappingURL=main.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";;;AAKA,oBAQC;AAZD,oCAAiC;AACjC,0CAA4C;AAGrC,KAAK,UAAU,IAAI,CAAC,OAAgB;IACvC,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAA,kBAAU,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;QACrE,MAAM,IAAA,SAAG,EAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;QAChF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACpB,CAAC;AACL,CAAC;AAED,iCAAiC;AACjC,cAAc;AACd,IAAI;AAEJ,kCAAiC;AAAxB,0FAAA,GAAG,OAAA"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../../src/main.ts"],"names":[],"mappings":";;AAIA,oBAQC;AAXD,oCAAgC;AAChC,0DAAmD;AAE5C,KAAK,UAAU,IAAI,CAAC,OAAyB;IAChD,IAAI,CAAC;QACD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAU,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;QACrE,MAAM,IAAA,SAAG,EAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC9B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;QAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACnB,CAAC;AACL,CAAC"}
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getChangeInformation = getChangeInformation;
4
+ exports.getRangeSummary = getRangeSummary;
5
+ exports.renderChangelogTemplate = renderChangelogTemplate;
6
+ const commitProcessor_1 = require("../git/commits/commitProcessor");
7
+ const context_1 = require("../git/context");
8
+ const commitUtils_1 = require("../git/utils/commitUtils");
9
+ const sections_1 = require("../sections");
10
+ const templateRenderer_1 = require("../../templates/templateRenderer");
11
+ const gitOperations_1 = require("../git/gitOperations");
12
+ const ReferenceTypesEnum_1 = require("../changes/types/ReferenceTypesEnum");
13
+ async function getChangeInformation(rangeInfo) {
14
+ var _a;
15
+ let header;
16
+ let summary;
17
+ let currentTag;
18
+ let changeCommitsCount = await (0, commitUtils_1.getCommitCount)(rangeInfo.resolvedRange);
19
+ currentTag = rangeInfo.latestTag;
20
+ header = (_a = currentTag === null || currentTag === void 0 ? void 0 : currentTag.name) !== null && _a !== void 0 ? _a : null;
21
+ if ((currentTag === null || currentTag === void 0 ? void 0 : currentTag.reference) != rangeInfo.resolvedTo.reference) {
22
+ const commitsAhead = await (0, commitUtils_1.getCommitCount)(`${currentTag === null || currentTag === void 0 ? void 0 : currentTag.reference}..${rangeInfo.resolvedTo.reference}`);
23
+ header += ` (+${commitsAhead} commits)`;
24
+ }
25
+ summary = 'Changes';
26
+ if (rangeInfo.resolvedFrom.value) {
27
+ switch (rangeInfo.resolvedFrom.type) {
28
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.commit:
29
+ summary += ` from commit ${rangeInfo.resolvedFrom.value}`;
30
+ break;
31
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.branch:
32
+ summary += ` from ${rangeInfo.resolvedFrom.value} branch`;
33
+ break;
34
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.date:
35
+ summary += ` after ${rangeInfo.resolvedFrom.value}`;
36
+ break;
37
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.tag:
38
+ summary += ` from ${rangeInfo.resolvedFrom.value} tag`;
39
+ break;
40
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.ref:
41
+ summary += ` from reference ${rangeInfo.resolvedFrom.value}`;
42
+ break;
43
+ default:
44
+ break;
45
+ }
46
+ }
47
+ else {
48
+ summary += ` from initial commit`;
49
+ }
50
+ if (rangeInfo.resolvedTo.value) {
51
+ switch (rangeInfo.resolvedTo.type) {
52
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.commit:
53
+ summary += ` to commit ${rangeInfo.resolvedTo.value}`;
54
+ break;
55
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.branch:
56
+ summary += ` to ${rangeInfo.resolvedTo.value} branch`;
57
+ break;
58
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.date:
59
+ summary += ` before ${rangeInfo.resolvedTo.value}`;
60
+ break;
61
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.tag:
62
+ summary += ` to ${rangeInfo.resolvedTo.value} tag`;
63
+ break;
64
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.ref:
65
+ summary += ` to reference ${rangeInfo.resolvedTo.value}`;
66
+ break;
67
+ default:
68
+ break;
69
+ }
70
+ }
71
+ else {
72
+ summary += ` to HEAD`;
73
+ }
74
+ return {
75
+ header,
76
+ summary,
77
+ currentTag,
78
+ changeCommitsCount,
79
+ };
80
+ }
81
+ async function getRangeSummary(resolvedFrom, resolvedTo) {
82
+ const { resolvedRange, commitCount, tagList, latestTag } = await (0, gitOperations_1.collectGitInfo)(resolvedFrom, resolvedTo);
83
+ const rangeInfo = {
84
+ resolvedFrom,
85
+ resolvedTo,
86
+ resolvedRange,
87
+ commitCount,
88
+ tagList,
89
+ latestTag,
90
+ };
91
+ return rangeInfo;
92
+ }
93
+ async function renderChangelogTemplate(templatePath, options, config) {
94
+ const date = new Date().toISOString().split('T')[0];
95
+ const repository = await (0, context_1.getCurrentRepositoryAsync)();
96
+ const { resolvedFrom, resolvedTo } = await (0, gitOperations_1.resolveGitReferences)(options);
97
+ const rangeInfo = await getRangeSummary(resolvedFrom, resolvedTo);
98
+ let fileData = '';
99
+ if (options === null || options === void 0 ? void 0 : options.mergeAll) {
100
+ const context = await getContext(rangeInfo, config, date, repository);
101
+ fileData = await (0, templateRenderer_1.renderTemplate)(templatePath, options === null || options === void 0 ? void 0 : options.environment, context);
102
+ }
103
+ else {
104
+ for (let index = 0; index < rangeInfo.tagList.length; index++) {
105
+ const { resolvedFrom, resolvedTo } = await (0, gitOperations_1.resolveGitReferencesFromRangeInfo)(rangeInfo, index);
106
+ const newRangeInfo = await getRangeSummary(resolvedFrom, resolvedTo);
107
+ const context = await getContext(newRangeInfo, config, date, repository);
108
+ const renderedData = await (0, templateRenderer_1.renderTemplate)(templatePath, options === null || options === void 0 ? void 0 : options.environment, context);
109
+ fileData += `\n\n${renderedData}`;
110
+ }
111
+ }
112
+ return fileData;
113
+ }
114
+ async function getContext(rangeInfo, config, date, repository) {
115
+ const changeInfo = await getChangeInformation(rangeInfo);
116
+ const commits = await (0, commitProcessor_1.listCommitsAsync)(rangeInfo.resolvedRange, config);
117
+ const sections = (0, sections_1.createSections)(commits, config);
118
+ const context = {
119
+ date,
120
+ ...rangeInfo,
121
+ changeInfo,
122
+ repository,
123
+ commits,
124
+ sections,
125
+ config,
126
+ };
127
+ return context;
128
+ }
129
+ //# sourceMappingURL=templateOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateOperations.js","sourceRoot":"","sources":["../../../../src/modules/changelog/templateOperations.ts"],"names":[],"mappings":"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"}