git-release-manager 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/dist/cli/types/BranchCliArgs.js +3 -0
  2. package/dist/cli/types/BranchCliArgs.js.map +1 -0
  3. package/dist/{src/cli/types/ChnagelogCliArgs.js → cli/types/ChangelogCliArgs.js} +1 -1
  4. package/dist/cli/types/ChangelogCliArgs.js.map +1 -0
  5. package/dist/cli/types/CliArgs.js +3 -0
  6. package/dist/cli/types/CliArgs.js.map +1 -0
  7. package/dist/cli/types/VersionCliArgs.js +3 -0
  8. package/dist/cli/types/VersionCliArgs.js.map +1 -0
  9. package/dist/config/configLoader.js +61 -0
  10. package/dist/config/configLoader.js.map +1 -0
  11. package/dist/config/configManager.js +66 -0
  12. package/dist/config/configManager.js.map +1 -0
  13. package/dist/config/constants.js +10 -0
  14. package/dist/config/constants.js.map +1 -0
  15. package/dist/config/defaults/config.json +232 -0
  16. package/dist/config/types/ChannelType.js +3 -0
  17. package/dist/config/types/ChannelType.js.map +1 -0
  18. package/dist/config/types/CommitType.js.map +1 -0
  19. package/dist/config/types/Config.js +3 -0
  20. package/dist/config/types/Config.js.map +1 -0
  21. package/dist/{src/core/types/RangeInfo.js → config/types/FileGroups.js} +1 -1
  22. package/dist/config/types/FileGroups.js.map +1 -0
  23. package/dist/{src/git → config}/types/LinkType.js.map +1 -1
  24. package/dist/config/types/MentionType.js.map +1 -0
  25. package/dist/config/types/NoteType.js +3 -0
  26. package/dist/config/types/NoteType.js.map +1 -0
  27. package/dist/config/types/Options.js +3 -0
  28. package/dist/config/types/Options.js.map +1 -0
  29. package/dist/core/changelog/app.js +40 -0
  30. package/dist/core/changelog/app.js.map +1 -0
  31. package/dist/index.js +89 -0
  32. package/dist/index.js.map +1 -0
  33. package/dist/modules/branch/BranchController.js +62 -0
  34. package/dist/modules/branch/BranchController.js.map +1 -0
  35. package/dist/modules/branch/BranchManager.js +194 -0
  36. package/dist/modules/branch/BranchManager.js.map +1 -0
  37. package/dist/modules/changelog/ChangelogValidator.js +19 -0
  38. package/dist/modules/changelog/ChangelogValidator.js.map +1 -0
  39. package/dist/modules/changelog/templateOperations.js +144 -0
  40. package/dist/modules/changelog/templateOperations.js.map +1 -0
  41. package/dist/modules/changes/types/ChangeInformation.js.map +1 -0
  42. package/dist/modules/changes/types/Context.js.map +1 -0
  43. package/dist/modules/changes/types/RangeInfo.js +8 -0
  44. package/dist/modules/changes/types/RangeInfo.js.map +1 -0
  45. package/dist/{src/core/types/RangeDetails.js → modules/changes/types/RangeSummary.js} +1 -1
  46. package/dist/modules/changes/types/RangeSummary.js.map +1 -0
  47. package/dist/modules/changes/types/ReferenceTypesEnum.js.map +1 -0
  48. package/dist/{src → modules}/git/commits/commitProcessor.js +5 -7
  49. package/dist/modules/git/commits/commitProcessor.js.map +1 -0
  50. package/dist/{src → modules}/git/commits/gitLogFetcher.js +2 -2
  51. package/dist/modules/git/commits/gitLogFetcher.js.map +1 -0
  52. package/dist/modules/git/commits/index.js +136 -0
  53. package/dist/modules/git/commits/index.js.map +1 -0
  54. package/dist/{src → modules}/git/commits/profileHandler.js +13 -8
  55. package/dist/modules/git/commits/profileHandler.js.map +1 -0
  56. package/dist/{src → modules}/git/commits/regexHandlers.js +5 -5
  57. package/dist/modules/git/commits/regexHandlers.js.map +1 -0
  58. package/dist/modules/git/context/branchHandler.js +18 -0
  59. package/dist/modules/git/context/branchHandler.js.map +1 -0
  60. package/dist/modules/git/context/commitHandler.js +29 -0
  61. package/dist/modules/git/context/commitHandler.js.map +1 -0
  62. package/dist/{src → modules}/git/context/index.js +6 -11
  63. package/dist/modules/git/context/index.js.map +1 -0
  64. package/dist/{src → modules}/git/context/remoteHandler.js +3 -8
  65. package/dist/modules/git/context/remoteHandler.js.map +1 -0
  66. package/dist/modules/git/context/statusHandler.js +16 -0
  67. package/dist/modules/git/context/statusHandler.js.map +1 -0
  68. package/dist/modules/git/context/tagHandler.js +28 -0
  69. package/dist/modules/git/context/tagHandler.js.map +1 -0
  70. package/dist/modules/git/gitOperations.js +56 -0
  71. package/dist/modules/git/gitOperations.js.map +1 -0
  72. package/dist/modules/git/types/Author.js.map +1 -0
  73. package/dist/modules/git/types/Branch.js +3 -0
  74. package/dist/modules/git/types/Branch.js.map +1 -0
  75. package/dist/modules/git/types/BranchInfo.js.map +1 -0
  76. package/dist/modules/git/types/CommitContent.js.map +1 -0
  77. package/dist/modules/git/types/CommitInfo.js.map +1 -0
  78. package/dist/modules/git/types/CommitType.js +3 -0
  79. package/dist/modules/git/types/CommitType.js.map +1 -0
  80. package/dist/modules/git/types/GitCommit.js.map +1 -0
  81. package/dist/modules/git/types/GitReference.js +3 -0
  82. package/dist/modules/git/types/GitReference.js.map +1 -0
  83. package/dist/{src → modules}/git/types/Link.js.map +1 -1
  84. package/dist/modules/git/types/Mention.js.map +1 -0
  85. package/dist/{src → modules}/git/types/Note.js.map +1 -1
  86. package/dist/modules/git/types/RemoteInfo.js.map +1 -0
  87. package/dist/modules/git/types/Repository.js.map +1 -0
  88. package/dist/modules/git/types/StatusInfo.js.map +1 -0
  89. package/dist/modules/git/types/Tag.js +3 -0
  90. package/dist/modules/git/types/Tag.js.map +1 -0
  91. package/dist/modules/git/types/TagInfo.js.map +1 -0
  92. package/dist/{src → modules}/git/utils/branchUtils.js +5 -7
  93. package/dist/modules/git/utils/branchUtils.js.map +1 -0
  94. package/dist/{src → modules}/git/utils/commitUtils.js +3 -5
  95. package/dist/modules/git/utils/commitUtils.js.map +1 -0
  96. package/dist/modules/git/utils/logUtils.js.map +1 -0
  97. package/dist/modules/git/utils/rangeOperations.js.map +1 -0
  98. package/dist/modules/git/utils/refUtils.js.map +1 -0
  99. package/dist/{src → modules}/git/utils/referenceUtils.js +19 -22
  100. package/dist/modules/git/utils/referenceUtils.js.map +1 -0
  101. package/dist/{src → modules}/git/utils/tagUtils.js +7 -6
  102. package/dist/modules/git/utils/tagUtils.js.map +1 -0
  103. package/dist/{src → modules}/output/writer.js +2 -2
  104. package/dist/modules/output/writer.js.map +1 -0
  105. package/dist/{src → modules}/sections/contributors.js +4 -4
  106. package/dist/modules/sections/contributors.js.map +1 -0
  107. package/dist/{src → modules}/sections/grouping.js +12 -18
  108. package/dist/modules/sections/grouping.js.map +1 -0
  109. package/dist/{src → modules}/sections/index.js +1 -2
  110. package/dist/modules/sections/index.js.map +1 -0
  111. package/dist/{src → modules}/sections/summarizing.js +11 -15
  112. package/dist/modules/sections/summarizing.js.map +1 -0
  113. package/dist/modules/sections/types/Contributor.js +3 -0
  114. package/dist/modules/sections/types/Contributor.js.map +1 -0
  115. package/dist/modules/sections/types/Group.js.map +1 -0
  116. package/dist/modules/sections/types/SectionSummary.js +3 -0
  117. package/dist/modules/sections/types/SectionSummary.js.map +1 -0
  118. package/dist/modules/sections/types/Sections.js.map +1 -0
  119. package/dist/modules/version/GitVersionManager.js +153 -0
  120. package/dist/modules/version/GitVersionManager.js.map +1 -0
  121. package/dist/modules/version/ReleaseManager.js +69 -0
  122. package/dist/modules/version/ReleaseManager.js.map +1 -0
  123. package/dist/modules/version/VersionManager.js +77 -0
  124. package/dist/modules/version/VersionManager.js.map +1 -0
  125. package/dist/modules/version/VersionValidator.js +31 -0
  126. package/dist/modules/version/VersionValidator.js.map +1 -0
  127. package/dist/modules/version/types/const.js +3 -0
  128. package/dist/modules/version/types/const.js.map +1 -0
  129. package/dist/modules/version/versionFormatter.js +104 -0
  130. package/dist/modules/version/versionFormatter.js.map +1 -0
  131. package/dist/modules/version/versionHelper.js +9 -0
  132. package/dist/modules/version/versionHelper.js.map +1 -0
  133. package/dist/src/cli/types/BranchCliArgs.js +3 -0
  134. package/dist/src/cli/types/BranchCliArgs.js.map +1 -0
  135. package/dist/src/cli/types/VersionCliArgs.js +3 -0
  136. package/dist/src/cli/types/VersionCliArgs.js.map +1 -0
  137. package/dist/src/config/defaults/config.json +231 -231
  138. package/dist/src/core/changelog/app.js +5 -4
  139. package/dist/src/core/changelog/app.js.map +1 -1
  140. package/dist/src/index.js +132 -14
  141. package/dist/src/index.js.map +1 -1
  142. package/dist/src/modules/changelog/templateOperations.js +37 -24
  143. package/dist/src/modules/changelog/templateOperations.js.map +1 -1
  144. package/dist/src/modules/git/commits/commitProcessor.js +2 -4
  145. package/dist/src/modules/git/commits/commitProcessor.js.map +1 -1
  146. package/dist/src/modules/git/commits/index.js +26 -26
  147. package/dist/src/modules/git/commits/index.js.map +1 -1
  148. package/dist/src/modules/git/commits/profileHandler.js +5 -2
  149. package/dist/src/modules/git/commits/profileHandler.js.map +1 -1
  150. package/dist/src/modules/git/context/branchHandler.js +4 -9
  151. package/dist/src/modules/git/context/branchHandler.js.map +1 -1
  152. package/dist/src/modules/git/context/commitHandler.js +9 -14
  153. package/dist/src/modules/git/context/commitHandler.js.map +1 -1
  154. package/dist/src/modules/git/context/index.js +5 -7
  155. package/dist/src/modules/git/context/index.js.map +1 -1
  156. package/dist/src/modules/git/context/remoteHandler.js +3 -8
  157. package/dist/src/modules/git/context/remoteHandler.js.map +1 -1
  158. package/dist/src/modules/git/context/statusHandler.js +3 -8
  159. package/dist/src/modules/git/context/statusHandler.js.map +1 -1
  160. package/dist/src/modules/git/context/tagHandler.js +3 -8
  161. package/dist/src/modules/git/context/tagHandler.js.map +1 -1
  162. package/dist/src/modules/git/gitOperations.js +10 -10
  163. package/dist/src/modules/git/gitOperations.js.map +1 -1
  164. package/dist/src/modules/git/utils/branchUtils.js +2 -4
  165. package/dist/src/modules/git/utils/branchUtils.js.map +1 -1
  166. package/dist/src/modules/git/utils/commitUtils.js +2 -4
  167. package/dist/src/modules/git/utils/commitUtils.js.map +1 -1
  168. package/dist/src/modules/git/utils/referenceUtils.js +9 -6
  169. package/dist/src/modules/git/utils/referenceUtils.js.map +1 -1
  170. package/dist/src/modules/git/utils/tagUtils.js +5 -4
  171. package/dist/src/modules/git/utils/tagUtils.js.map +1 -1
  172. package/dist/src/modules/sections/grouping.js +5 -5
  173. package/dist/src/modules/sections/grouping.js.map +1 -1
  174. package/dist/src/modules/sections/index.js.map +1 -1
  175. package/dist/src/modules/sections/summarizing.js +4 -4
  176. package/dist/src/modules/sections/summarizing.js.map +1 -1
  177. package/dist/src/templates/defaults/changelog.detailed.ejs +110 -110
  178. package/dist/src/templates/defaults/changelog.ejs +67 -67
  179. package/dist/src/utils/cmd.js +15 -0
  180. package/dist/src/utils/cmd.js.map +1 -1
  181. package/dist/templates/constants.js.map +1 -0
  182. package/dist/{src/modules/templates → templates}/defaults/changelog.detailed.ejs +110 -110
  183. package/dist/{src/modules/templates → templates}/defaults/changelog.ejs +67 -67
  184. package/dist/templates/templateRenderer.js.map +1 -0
  185. package/dist/templates/templateResolver.js.map +1 -0
  186. package/dist/{src → types}/PackageJson.js.map +1 -1
  187. package/dist/utils/cmd.js +42 -0
  188. package/dist/utils/cmd.js.map +1 -0
  189. package/dist/utils/date.js +20 -0
  190. package/dist/utils/date.js.map +1 -0
  191. package/package.json +64 -61
  192. package/dist/src/cli/types/ChnagelogCliArgs.js.map +0 -1
  193. package/dist/src/core/app-old.js +0 -35
  194. package/dist/src/core/app-old.js.map +0 -1
  195. package/dist/src/core/app.js +0 -19
  196. package/dist/src/core/app.js.map +0 -1
  197. package/dist/src/core/gitOperations.js +0 -95
  198. package/dist/src/core/gitOperations.js.map +0 -1
  199. package/dist/src/core/rangeOperations.js.map +0 -1
  200. package/dist/src/core/templateOperations.js +0 -157
  201. package/dist/src/core/templateOperations.js.map +0 -1
  202. package/dist/src/core/types/ChangeInformation.js.map +0 -1
  203. package/dist/src/core/types/Context.js.map +0 -1
  204. package/dist/src/core/types/RangeDetails.js.map +0 -1
  205. package/dist/src/core/types/RangeInfo.js.map +0 -1
  206. package/dist/src/core/types/ReferenceTypesEnum.js.map +0 -1
  207. package/dist/src/core/types/Repository.js.map +0 -1
  208. package/dist/src/git/commits/commitProcessor.js.map +0 -1
  209. package/dist/src/git/commits/gitLogFetcher.js.map +0 -1
  210. package/dist/src/git/commits/index.js +0 -136
  211. package/dist/src/git/commits/index.js.map +0 -1
  212. package/dist/src/git/commits/profileHandler.js.map +0 -1
  213. package/dist/src/git/commits/regexHandlers.js.map +0 -1
  214. package/dist/src/git/commits.js +0 -136
  215. package/dist/src/git/commits.js.map +0 -1
  216. package/dist/src/git/context/branchHandler.js +0 -23
  217. package/dist/src/git/context/branchHandler.js.map +0 -1
  218. package/dist/src/git/context/commitHandler.js +0 -30
  219. package/dist/src/git/context/commitHandler.js.map +0 -1
  220. package/dist/src/git/context/index.js.map +0 -1
  221. package/dist/src/git/context/remoteHandler.js.map +0 -1
  222. package/dist/src/git/context/statusHandler.js +0 -21
  223. package/dist/src/git/context/statusHandler.js.map +0 -1
  224. package/dist/src/git/context/tagHandler.js +0 -21
  225. package/dist/src/git/context/tagHandler.js.map +0 -1
  226. package/dist/src/git/context.js +0 -95
  227. package/dist/src/git/context.js.map +0 -1
  228. package/dist/src/git/types/Author.js.map +0 -1
  229. package/dist/src/git/types/BranchInfo.js.map +0 -1
  230. package/dist/src/git/types/CommitContent.js.map +0 -1
  231. package/dist/src/git/types/CommitInfo.js.map +0 -1
  232. package/dist/src/git/types/CommitType.js.map +0 -1
  233. package/dist/src/git/types/CommitType2.js +0 -3
  234. package/dist/src/git/types/CommitType2.js.map +0 -1
  235. package/dist/src/git/types/GitCommit.js.map +0 -1
  236. package/dist/src/git/types/GitContext.js +0 -3
  237. package/dist/src/git/types/GitContext.js.map +0 -1
  238. package/dist/src/git/types/LinkType-.js +0 -3
  239. package/dist/src/git/types/LinkType-.js.map +0 -1
  240. package/dist/src/git/types/Mention.js.map +0 -1
  241. package/dist/src/git/types/MentionType-.js +0 -3
  242. package/dist/src/git/types/MentionType-.js.map +0 -1
  243. package/dist/src/git/types/MentionType.js.map +0 -1
  244. package/dist/src/git/types/RemoteInfo.js.map +0 -1
  245. package/dist/src/git/types/StatusInfo.js.map +0 -1
  246. package/dist/src/git/types/TagInfo.js.map +0 -1
  247. package/dist/src/git/utils/branchUtils.js.map +0 -1
  248. package/dist/src/git/utils/commitUtils.js.map +0 -1
  249. package/dist/src/git/utils/logUtils.js.map +0 -1
  250. package/dist/src/git/utils/refUtils.js.map +0 -1
  251. package/dist/src/git/utils/referenceUtils.js.map +0 -1
  252. package/dist/src/git/utils/tagUtils.js.map +0 -1
  253. package/dist/src/main.js +0 -16
  254. package/dist/src/main.js.map +0 -1
  255. package/dist/src/modules/changes/types/RangeDetail.js +0 -3
  256. package/dist/src/modules/changes/types/RangeDetail.js.map +0 -1
  257. package/dist/src/modules/changes/types/RangeDetails.js +0 -3
  258. package/dist/src/modules/changes/types/RangeDetails.js.map +0 -1
  259. package/dist/src/modules/git/types/GitContext.js +0 -3
  260. package/dist/src/modules/git/types/GitContext.js.map +0 -1
  261. package/dist/src/modules/repository/types/Repository.js +0 -3
  262. package/dist/src/modules/repository/types/Repository.js.map +0 -1
  263. package/dist/src/modules/templates/constants.js.map +0 -1
  264. package/dist/src/modules/templates/templateRenderer.js.map +0 -1
  265. package/dist/src/modules/templates/templateResolver.js.map +0 -1
  266. package/dist/src/output/writer.js.map +0 -1
  267. package/dist/src/sections/contributors.js.map +0 -1
  268. package/dist/src/sections/grouping.js.map +0 -1
  269. package/dist/src/sections/index.js.map +0 -1
  270. package/dist/src/sections/summarizing.js.map +0 -1
  271. package/dist/src/sections/types/Contributor.js +0 -15
  272. package/dist/src/sections/types/Contributor.js.map +0 -1
  273. package/dist/src/sections/types/Group.js.map +0 -1
  274. package/dist/src/sections/types/SectionSummary.js +0 -13
  275. package/dist/src/sections/types/SectionSummary.js.map +0 -1
  276. package/dist/src/sections/types/Sections.js.map +0 -1
  277. package/dist/src/templates/index.js +0 -100
  278. package/dist/src/templates/index.js.map +0 -1
  279. package/dist/src/utils/git-utils.js +0 -279
  280. package/dist/src/utils/git-utils.js.map +0 -1
  281. package/dist/src/utils/helpers.js +0 -10
  282. package/dist/src/utils/helpers.js.map +0 -1
  283. /package/dist/{src/git → config}/types/CommitType.js +0 -0
  284. /package/dist/{src/git → config}/types/LinkType.js +0 -0
  285. /package/dist/{src/git → config}/types/MentionType.js +0 -0
  286. /package/dist/{src/core → modules/changes}/types/ChangeInformation.js +0 -0
  287. /package/dist/{src/core → modules/changes}/types/Context.js +0 -0
  288. /package/dist/{src/core → modules/changes}/types/ReferenceTypesEnum.js +0 -0
  289. /package/dist/{src → modules}/git/types/Author.js +0 -0
  290. /package/dist/{src → modules}/git/types/BranchInfo.js +0 -0
  291. /package/dist/{src → modules}/git/types/CommitContent.js +0 -0
  292. /package/dist/{src → modules}/git/types/CommitInfo.js +0 -0
  293. /package/dist/{src → modules}/git/types/GitCommit.js +0 -0
  294. /package/dist/{src → modules}/git/types/Link.js +0 -0
  295. /package/dist/{src → modules}/git/types/Mention.js +0 -0
  296. /package/dist/{src → modules}/git/types/Note.js +0 -0
  297. /package/dist/{src → modules}/git/types/RemoteInfo.js +0 -0
  298. /package/dist/{src/core → modules/git}/types/Repository.js +0 -0
  299. /package/dist/{src → modules}/git/types/StatusInfo.js +0 -0
  300. /package/dist/{src → modules}/git/types/TagInfo.js +0 -0
  301. /package/dist/{src → modules}/git/utils/logUtils.js +0 -0
  302. /package/dist/{src/core → modules/git/utils}/rangeOperations.js +0 -0
  303. /package/dist/{src → modules}/git/utils/refUtils.js +0 -0
  304. /package/dist/{src → modules}/sections/types/Group.js +0 -0
  305. /package/dist/{src → modules}/sections/types/Sections.js +0 -0
  306. /package/dist/{src/modules/templates → templates}/constants.js +0 -0
  307. /package/dist/{src/modules/templates → templates}/templateRenderer.js +0 -0
  308. /package/dist/{src/modules/templates → templates}/templateResolver.js +0 -0
  309. /package/dist/{src → types}/PackageJson.js +0 -0
@@ -0,0 +1,62 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BranchController = void 0;
4
+ const BranchManager_1 = require("../../modules/branch/BranchManager");
5
+ class BranchController {
6
+ constructor() {
7
+ this.branchManager = new BranchManager_1.BranchManager();
8
+ }
9
+ async handleCommand(options) {
10
+ try {
11
+ if (options.create) {
12
+ await this.branchManager.createBranch(options.create, options.push);
13
+ }
14
+ else if (options.delete) {
15
+ await this.branchManager.deleteBranch(options.delete);
16
+ }
17
+ else if (options.list) {
18
+ await this.branchManager.listBranches();
19
+ }
20
+ else if (options.switch) {
21
+ await this.branchManager.switchBranch(options.switch);
22
+ }
23
+ else if (options.merge) {
24
+ await this.branchManager.mergeBranch(options.merge, options.push);
25
+ }
26
+ else if (options.release) {
27
+ await this.branchManager.createReleaseBranch(options.release, options.push);
28
+ }
29
+ else if (options.hotfix) {
30
+ await this.branchManager.createHotfixBranch(options.hotfix, options.push);
31
+ }
32
+ else if (options.feature) {
33
+ await this.branchManager.createFeatureBranch(options.feature, options.push);
34
+ }
35
+ else if (options.finish) {
36
+ await this.branchManager.finishBranch(options.finish, options.push);
37
+ }
38
+ else if (options.protect) {
39
+ await this.branchManager.protectBranch(options.protect);
40
+ }
41
+ else if (options.unprotect) {
42
+ await this.branchManager.unprotectBranch(options.unprotect);
43
+ }
44
+ else if (options.rebase) {
45
+ await this.branchManager.rebaseBranch(options.rebase, options.push);
46
+ }
47
+ else if (options.sync) {
48
+ await this.branchManager.syncBranch(options.push);
49
+ }
50
+ else {
51
+ console.log('Please specify an option for branch management.');
52
+ process.exit(1);
53
+ }
54
+ }
55
+ catch (error) {
56
+ console.error('Error:', error instanceof Error ? error.message : String(error));
57
+ process.exit(1);
58
+ }
59
+ }
60
+ }
61
+ exports.BranchController = BranchController;
62
+ //# sourceMappingURL=BranchController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BranchController.js","sourceRoot":"","sources":["../../../src/modules/branch/BranchController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,194 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BranchManager = void 0;
4
+ const simple_git_1 = require("simple-git");
5
+ const GitVersionManager_1 = require("../version/GitVersionManager");
6
+ class BranchManager {
7
+ constructor() {
8
+ this.git = (0, simple_git_1.simpleGit)();
9
+ this.gitVersionManager = new GitVersionManager_1.GitVersionManager();
10
+ }
11
+ async createBranch(branchName, push) {
12
+ const currentBranch = await this.getCurrentBranch();
13
+ await this.git.checkoutLocalBranch(branchName);
14
+ console.log(`Created and switched to branch '${branchName}' from '${currentBranch}'`);
15
+ if (push) {
16
+ await this.git.push('origin', branchName);
17
+ console.log(`Pushed branch '${branchName}' to remote`);
18
+ }
19
+ }
20
+ async deleteBranch(branchName) {
21
+ const currentBranch = await this.getCurrentBranch();
22
+ if (currentBranch === branchName) {
23
+ throw new Error(`Cannot delete the current branch: ${branchName}`);
24
+ }
25
+ // Check if branch is protected
26
+ if (await this.isBranchProtected(branchName)) {
27
+ throw new Error(`Cannot delete protected branch: ${branchName}`);
28
+ }
29
+ await this.git.deleteLocalBranch(branchName, true);
30
+ console.log(`Deleted branch '${branchName}'`);
31
+ try {
32
+ await this.git.push(['origin', '--delete', branchName]);
33
+ console.log(`Deleted remote branch '${branchName}'`);
34
+ }
35
+ catch (error) {
36
+ console.log(`Note: Remote branch '${branchName}' doesn't exist or already deleted`);
37
+ }
38
+ }
39
+ async listBranches() {
40
+ const branchSummary = await this.git.branch(['-a']);
41
+ const currentBranch = branchSummary.current;
42
+ const protectedBranches = await this.getProtectedBranches();
43
+ console.log('\nBranches:');
44
+ console.log('=========');
45
+ // Local branches
46
+ console.log('\nLocal branches:');
47
+ branchSummary.all
48
+ .filter(branch => !branch.includes('remotes/'))
49
+ .forEach(branch => {
50
+ const isCurrent = branch === currentBranch;
51
+ const isProtected = protectedBranches.includes(branch);
52
+ console.log(`${isCurrent ? '* ' : ' '}${branch}${isProtected ? ' (protected)' : ''}`);
53
+ });
54
+ // Remote branches
55
+ console.log('\nRemote branches:');
56
+ branchSummary.all
57
+ .filter(branch => branch.includes('remotes/'))
58
+ .map(branch => branch.replace('remotes/', ''))
59
+ .forEach(branch => {
60
+ console.log(` ${branch}`);
61
+ });
62
+ }
63
+ async switchBranch(branchName) {
64
+ await this.git.checkout(branchName);
65
+ console.log(`Switched to branch '${branchName}'`);
66
+ }
67
+ async mergeBranch(branchName, push) {
68
+ const currentBranch = await this.getCurrentBranch();
69
+ if (await this.isBranchProtected(currentBranch)) {
70
+ const confirmation = await this.confirmAction(`Warning: You're merging into protected branch '${currentBranch}'. Continue?`);
71
+ if (!confirmation) {
72
+ console.log('Merge cancelled');
73
+ return;
74
+ }
75
+ }
76
+ await this.git.merge([branchName]);
77
+ console.log(`Merged '${branchName}' into '${currentBranch}'`);
78
+ if (push) {
79
+ await this.git.push('origin', currentBranch);
80
+ console.log(`Pushed changes to remote '${currentBranch}'`);
81
+ }
82
+ }
83
+ async createReleaseBranch(version, push) {
84
+ const branchName = `release/v${version}`;
85
+ await this.createBranch(branchName, push);
86
+ await this.protectBranch(branchName);
87
+ console.log(`Created protected release branch '${branchName}'`);
88
+ }
89
+ async createHotfixBranch(version, push) {
90
+ const branchName = `hotfix/v${version}`;
91
+ await this.createBranch(branchName, push);
92
+ console.log(`Created hotfix branch '${branchName}'`);
93
+ }
94
+ async createFeatureBranch(name, push) {
95
+ const branchName = `feature/${name}`;
96
+ await this.createBranch(branchName, push);
97
+ console.log(`Created feature branch '${branchName}'`);
98
+ }
99
+ async finishBranch(branchName, push) {
100
+ const currentBranch = await this.getCurrentBranch();
101
+ const gitVersionManager = new GitVersionManager_1.GitVersionManager();
102
+ if (branchName.startsWith('feature/')) {
103
+ await this.mergeBranch('develop', push);
104
+ }
105
+ else if (branchName.startsWith('release/')) {
106
+ await this.mergeBranch('main', push);
107
+ await this.mergeBranch('develop', push);
108
+ // Create tag for release
109
+ const version = branchName.replace('release/v', '');
110
+ await gitVersionManager.createGitTag(`v${version}`);
111
+ }
112
+ else if (branchName.startsWith('hotfix/')) {
113
+ await this.mergeBranch('main', push);
114
+ await this.mergeBranch('develop', push);
115
+ // Create tag for hotfix
116
+ const version = branchName.replace('hotfix/v', '');
117
+ await gitVersionManager.createGitTag(`v${version}`);
118
+ }
119
+ await this.deleteBranch(branchName);
120
+ console.log(`Finished and cleaned up branch '${branchName}'`);
121
+ }
122
+ async protectBranch(branchName) {
123
+ const protectedBranches = await this.getProtectedBranches();
124
+ if (!protectedBranches.includes(branchName)) {
125
+ protectedBranches.push(branchName);
126
+ await this.saveProtectedBranches(protectedBranches);
127
+ console.log(`Protected branch '${branchName}'`);
128
+ }
129
+ }
130
+ async unprotectBranch(branchName) {
131
+ const protectedBranches = await this.getProtectedBranches();
132
+ const index = protectedBranches.indexOf(branchName);
133
+ if (index > -1) {
134
+ protectedBranches.splice(index, 1);
135
+ await this.saveProtectedBranches(protectedBranches);
136
+ console.log(`Removed protection from branch '${branchName}'`);
137
+ }
138
+ }
139
+ async rebaseBranch(branchName, push) {
140
+ const currentBranch = await this.getCurrentBranch();
141
+ await this.git.rebase([branchName]);
142
+ console.log(`Rebased '${currentBranch}' with '${branchName}'`);
143
+ if (push) {
144
+ await this.git.push('origin', currentBranch, ['--force']);
145
+ console.log(`Force pushed rebased changes to '${currentBranch}'`);
146
+ }
147
+ }
148
+ async syncBranch(push) {
149
+ const currentBranch = await this.getCurrentBranch();
150
+ await this.git.pull('origin', currentBranch, ['--rebase']);
151
+ console.log(`Synced '${currentBranch}' with remote`);
152
+ if (push) {
153
+ await this.git.push('origin', currentBranch);
154
+ console.log(`Pushed local changes to remote '${currentBranch}'`);
155
+ }
156
+ }
157
+ async getCurrentBranch() {
158
+ const branchSummary = await this.git.branch();
159
+ return branchSummary.current;
160
+ }
161
+ async isBranchProtected(branchName) {
162
+ const protectedBranches = await this.getProtectedBranches();
163
+ return protectedBranches.includes(branchName);
164
+ }
165
+ async getProtectedBranches() {
166
+ try {
167
+ const config = await this.git.listConfig();
168
+ const protectedBranchesConfig = config.all['branch.protected'];
169
+ // If it's already an array, return it
170
+ if (Array.isArray(protectedBranchesConfig)) {
171
+ return protectedBranchesConfig;
172
+ }
173
+ // If it's a string, parse it
174
+ if (typeof protectedBranchesConfig === 'string') {
175
+ return JSON.parse(protectedBranchesConfig);
176
+ }
177
+ // If it's undefined or null, return default
178
+ return ['main', 'master', 'develop'];
179
+ }
180
+ catch (_a) {
181
+ return ['main', 'master', 'develop'];
182
+ }
183
+ }
184
+ async saveProtectedBranches(branches) {
185
+ await this.git.addConfig('branch.protected', JSON.stringify(branches));
186
+ }
187
+ async confirmAction(message) {
188
+ // Implementation depends on your preferred CLI interaction library
189
+ // For example, using 'inquirer'
190
+ return true; // Placeholder
191
+ }
192
+ }
193
+ exports.BranchManager = BranchManager;
194
+ //# sourceMappingURL=BranchManager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BranchManager.js","sourceRoot":"","sources":["../../../src/modules/branch/BranchManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChangelogValidator = void 0;
4
+ class ChangelogValidator {
5
+ validateOptions(options) {
6
+ const versionIncrementOptions = [options.major, options.minor, options.patch].filter(Boolean).length;
7
+ if (versionIncrementOptions > 1) {
8
+ throw new Error('Cannot specify multiple version increment options');
9
+ }
10
+ if (options.init && (options.major || options.minor || options.patch)) {
11
+ throw new Error('Cannot combine --init with version increment options');
12
+ }
13
+ if (options.revert && (options.major || options.minor || options.patch)) {
14
+ throw new Error('Cannot combine --revert with version increment options');
15
+ }
16
+ }
17
+ }
18
+ exports.ChangelogValidator = ChangelogValidator;
19
+ //# sourceMappingURL=ChangelogValidator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangelogValidator.js","sourceRoot":"","sources":["../../../src/modules/changelog/ChangelogValidator.ts"],"names":[],"mappings":";;;AAGA,MAAa,kBAAkB;IACpB,eAAe,CAAC,OAAuB;QAC1C,MAAM,uBAAuB,GAAG,CAAC,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,MAAM,CAAA;QAEpG,IAAI,uBAAuB,GAAG,CAAC,EAAE,CAAC;YAC9B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;QACxE,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,KAAK,CAAC,sDAAsD,CAAC,CAAA;QAC3E,CAAC;QAED,IAAI,OAAO,CAAC,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACtE,MAAM,IAAI,KAAK,CAAC,wDAAwD,CAAC,CAAA;QAC7E,CAAC;IACL,CAAC;CACJ;AAhBD,gDAgBC"}
@@ -0,0 +1,144 @@
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 currentReference;
18
+ let changeCommitsCount = await (0, commitUtils_1.getCommitCount)(rangeInfo.resolvedRange);
19
+ currentReference = rangeInfo.latestReference;
20
+ header = (_a = currentReference === null || currentReference === void 0 ? void 0 : currentReference.name) !== null && _a !== void 0 ? _a : null;
21
+ if (currentReference) {
22
+ if ((currentReference === null || currentReference === void 0 ? void 0 : currentReference.reference) != rangeInfo.resolvedTo.reference) {
23
+ const commitsAhead = await (0, commitUtils_1.getCommitCount)(`${currentReference === null || currentReference === void 0 ? void 0 : currentReference.reference}..${rangeInfo.resolvedTo.reference}`);
24
+ header += ` (+${commitsAhead} commits)`;
25
+ }
26
+ }
27
+ // if (resolvedTo.type === ReferenceTypesEnum.commit) {}
28
+ // else if (resolvedTo.type === ReferenceTypesEnum.date) {}
29
+ // else if (resolvedTo.type === ReferenceTypesEnum.branch) {}
30
+ // else if (resolvedTo.type === ReferenceTypesEnum.ref) {}
31
+ // else if (resolvedTo.type === ReferenceTypesEnum.tag) {}
32
+ summary = 'Changes';
33
+ if (rangeInfo.resolvedFrom.value) {
34
+ switch (rangeInfo.resolvedFrom.type) {
35
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.commit:
36
+ summary += ` from commit ${rangeInfo.resolvedFrom.value}`;
37
+ break;
38
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.branch:
39
+ summary += ` from ${rangeInfo.resolvedFrom.value} branch`;
40
+ break;
41
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.date:
42
+ summary += ` after ${rangeInfo.resolvedFrom.value}`;
43
+ break;
44
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.tag:
45
+ summary += ` from ${rangeInfo.resolvedFrom.value} tag`;
46
+ break;
47
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.ref:
48
+ summary += ` from reference ${rangeInfo.resolvedFrom.value}`;
49
+ break;
50
+ default:
51
+ break;
52
+ }
53
+ }
54
+ else {
55
+ summary += ` from initial commit`;
56
+ }
57
+ if (rangeInfo.resolvedTo.value) {
58
+ switch (rangeInfo.resolvedTo.type) {
59
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.commit:
60
+ summary += ` to commit ${rangeInfo.resolvedTo.value}`;
61
+ break;
62
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.branch:
63
+ summary += ` to ${rangeInfo.resolvedTo.value} branch`;
64
+ break;
65
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.date:
66
+ summary += ` before ${rangeInfo.resolvedTo.value}`;
67
+ break;
68
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.tag:
69
+ summary += ` to ${rangeInfo.resolvedTo.value} tag`;
70
+ break;
71
+ case ReferenceTypesEnum_1.ReferenceTypesEnum.ref:
72
+ summary += ` to reference ${rangeInfo.resolvedTo.value}`;
73
+ break;
74
+ default:
75
+ break;
76
+ }
77
+ }
78
+ else {
79
+ summary += ` to HEAD`;
80
+ }
81
+ return {
82
+ header,
83
+ summary,
84
+ currentReference,
85
+ changeCommitsCount,
86
+ };
87
+ }
88
+ async function getRangeSummary(resolvedFrom, resolvedTo) {
89
+ const gitInfo = await (0, gitOperations_1.collectGitInfo)(resolvedFrom, resolvedTo);
90
+ const rangeSummary = {
91
+ ...gitInfo,
92
+ resolvedFrom,
93
+ resolvedTo,
94
+ };
95
+ return rangeSummary;
96
+ }
97
+ async function renderChangelogTemplate(templatePath, options, config) {
98
+ let fileData = '';
99
+ const date = new Date().toISOString().split('T')[0];
100
+ const repository = await (0, context_1.getCurrentRepositoryAsync)();
101
+ const { resolvedFrom, resolvedTo } = await (0, gitOperations_1.resolveGitReferences)(options);
102
+ if (!resolvedFrom || !resolvedTo) {
103
+ return fileData;
104
+ }
105
+ const rangeSummary = await getRangeSummary(resolvedFrom, resolvedTo);
106
+ if (options === null || options === void 0 ? void 0 : options.mergeAll) {
107
+ const context = await getContext(rangeSummary, config, date, repository);
108
+ fileData = await (0, templateRenderer_1.renderTemplate)(templatePath, options === null || options === void 0 ? void 0 : options.environment, context);
109
+ }
110
+ else {
111
+ //burda resolvedTo.type tag ise doğru, commit ise commitList, date ise dateList, branch ise branchList, ref ise refList'te bulunmalı ona göre döngü yapılmalı
112
+ // date ise gün gün commitleri alıp context oluşturup render etmek gerekiyor, veya opsionel olarak config'den alınacak parametreye göre bölünecek birim belirtilmeli
113
+ // branch ise branch'e göre commitleri alıp context oluşturup render etmek gerekiyor
114
+ // ref ise ref'e göre commitleri alıp context oluşturup render etmek gerekiyor, burda kaç ref alınacağı bilgisi bulunmalı
115
+ // commit ise commitList'te bulunan commitlerin hepsini alıp context oluşturup render etmek gerekiyor
116
+ for (let index = 0; index < rangeSummary.referenceList.length; index++) {
117
+ const { resolvedFrom, resolvedTo } = await (0, gitOperations_1.resolveGitReferencesFromRangeSummary)(rangeSummary, index);
118
+ if (!resolvedFrom || !resolvedTo) {
119
+ continue;
120
+ }
121
+ const newRangeSummary = await getRangeSummary(resolvedFrom, resolvedTo);
122
+ const context = await getContext(newRangeSummary, config, date, repository);
123
+ const renderedData = await (0, templateRenderer_1.renderTemplate)(templatePath, options === null || options === void 0 ? void 0 : options.environment, context);
124
+ fileData += `\n\n${renderedData}`;
125
+ }
126
+ }
127
+ return fileData;
128
+ }
129
+ async function getContext(rangeSummary, config, date, repository) {
130
+ const changeInfo = await getChangeInformation(rangeSummary);
131
+ const commits = await (0, commitProcessor_1.listCommitsAsync)(rangeSummary.resolvedRange, config);
132
+ const sections = (0, sections_1.createSections)(commits, config);
133
+ const context = {
134
+ date,
135
+ ...rangeSummary,
136
+ changeInfo,
137
+ repository,
138
+ commits,
139
+ sections,
140
+ config,
141
+ };
142
+ return context;
143
+ }
144
+ //# sourceMappingURL=templateOperations.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templateOperations.js","sourceRoot":"","sources":["../../../src/modules/changelog/templateOperations.ts"],"names":[],"mappings":";;AAeA,oDA6EC;AAED,0CAUC;AACD,0DAiCC;AAxID,oEAAiE;AACjE,4CAA0D;AAC1D,0DAAyD;AACzD,0CAA4C;AAC5C,uEAAiE;AACjE,wDAAiH;AAGjH,4EAAwE;AAKjE,KAAK,UAAU,oBAAoB,CAAC,SAAuB;;IAC9D,IAAI,MAAqB,CAAA;IACzB,IAAI,OAAsB,CAAA;IAC1B,IAAI,gBAAqC,CAAA;IACzC,IAAI,kBAAkB,GAAG,MAAM,IAAA,4BAAc,EAAC,SAAS,CAAC,aAAa,CAAC,CAAA;IAEtE,gBAAgB,GAAG,SAAS,CAAC,eAAe,CAAA;IAE5C,MAAM,GAAG,MAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,mCAAI,IAAI,CAAA;IAEvC,IAAI,gBAAgB,EAAE,CAAC;QACnB,IAAI,CAAA,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,SAAS,KAAI,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC;YAChE,MAAM,YAAY,GAAG,MAAM,IAAA,4BAAc,EAAC,GAAG,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,SAAS,KAAK,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAA;YAC9G,MAAM,IAAI,MAAM,YAAY,WAAW,CAAA;QAC3C,CAAC;IACL,CAAC;IAED,wDAAwD;IACxD,2DAA2D;IAC3D,6DAA6D;IAC7D,0DAA0D;IAC1D,0DAA0D;IAE1D,OAAO,GAAG,SAAS,CAAA;IACnB,IAAI,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QAC/B,QAAQ,SAAS,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;YAClC,KAAK,uCAAkB,CAAC,MAAM;gBAC1B,OAAO,IAAI,gBAAgB,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;gBACzD,MAAK;YACT,KAAK,uCAAkB,CAAC,MAAM;gBAC1B,OAAO,IAAI,SAAS,SAAS,CAAC,YAAY,CAAC,KAAK,SAAS,CAAA;gBACzD,MAAK;YACT,KAAK,uCAAkB,CAAC,IAAI;gBACxB,OAAO,IAAI,UAAU,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;gBACnD,MAAK;YACT,KAAK,uCAAkB,CAAC,GAAG;gBACvB,OAAO,IAAI,SAAS,SAAS,CAAC,YAAY,CAAC,KAAK,MAAM,CAAA;gBACtD,MAAK;YACT,KAAK,uCAAkB,CAAC,GAAG;gBACvB,OAAO,IAAI,mBAAmB,SAAS,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;gBAC5D,MAAK;YACT;gBACI,MAAK;QACb,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,IAAI,sBAAsB,CAAA;IACrC,CAAC;IACD,IAAI,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QAC7B,QAAQ,SAAS,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC;YAChC,KAAK,uCAAkB,CAAC,MAAM;gBAC1B,OAAO,IAAI,cAAc,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;gBACrD,MAAK;YACT,KAAK,uCAAkB,CAAC,MAAM;gBAC1B,OAAO,IAAI,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,SAAS,CAAA;gBACrD,MAAK;YACT,KAAK,uCAAkB,CAAC,IAAI;gBACxB,OAAO,IAAI,WAAW,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;gBAClD,MAAK;YACT,KAAK,uCAAkB,CAAC,GAAG;gBACvB,OAAO,IAAI,OAAO,SAAS,CAAC,UAAU,CAAC,KAAK,MAAM,CAAA;gBAClD,MAAK;YACT,KAAK,uCAAkB,CAAC,GAAG;gBACvB,OAAO,IAAI,iBAAiB,SAAS,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;gBACxD,MAAK;YACT;gBACI,MAAK;QACb,CAAC;IACL,CAAC;SAAM,CAAC;QACJ,OAAO,IAAI,UAAU,CAAA;IACzB,CAAC;IAED,OAAO;QACH,MAAM;QACN,OAAO;QACP,gBAAgB;QAChB,kBAAkB;KACrB,CAAA;AACL,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,YAA0B,EAAE,UAAwB;IACtF,MAAM,OAAO,GAAG,MAAM,IAAA,8BAAc,EAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IAE9D,MAAM,YAAY,GAAiB;QAC/B,GAAG,OAAO;QACV,YAAY;QACZ,UAAU;KACb,CAAA;IAED,OAAO,YAAY,CAAA;AACvB,CAAC;AACM,KAAK,UAAU,uBAAuB,CAAC,YAAoB,EAAE,OAAyB,EAAE,MAAc;IACzG,IAAI,QAAQ,GAAW,EAAE,CAAA;IACzB,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAA;IACnD,MAAM,UAAU,GAAG,MAAM,IAAA,mCAAyB,GAAE,CAAA;IACpD,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,oCAAoB,EAAC,OAAO,CAAC,CAAA;IACxE,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;QAC/B,OAAO,QAAQ,CAAA;IACnB,CAAC;IACD,MAAM,YAAY,GAAG,MAAM,eAAe,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;IAEpE,IAAI,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,QAAQ,EAAE,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;QACxE,QAAQ,GAAG,MAAM,IAAA,iCAAc,EAAC,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAE,OAAO,CAAC,CAAA;IAChF,CAAC;SAAM,CAAC;QACJ,6JAA6J;QAC7J,oKAAoK;QACpK,oFAAoF;QACpF,yHAAyH;QACzH,qGAAqG;QAErG,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,YAAY,CAAC,aAAa,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACrE,MAAM,EAAE,YAAY,EAAE,UAAU,EAAE,GAAG,MAAM,IAAA,oDAAoC,EAAC,YAAY,EAAE,KAAK,CAAC,CAAA;YACpG,IAAI,CAAC,YAAY,IAAI,CAAC,UAAU,EAAE,CAAC;gBAC/B,SAAQ;YACZ,CAAC;YACD,MAAM,eAAe,GAAG,MAAM,eAAe,CAAC,YAAY,EAAE,UAAU,CAAC,CAAA;YACvE,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,eAAe,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,CAAC,CAAA;YAC3E,MAAM,YAAY,GAAG,MAAM,IAAA,iCAAc,EAAC,YAAY,EAAE,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,WAAW,EAAE,OAAO,CAAC,CAAA;YACtF,QAAQ,IAAI,OAAO,YAAY,EAAE,CAAA;QACrC,CAAC;IACL,CAAC;IAED,OAAO,QAAQ,CAAA;AACnB,CAAC;AACD,KAAK,UAAU,UAAU,CAAC,YAA0B,EAAE,MAAc,EAAE,IAAY,EAAE,UAAsB;IACtG,MAAM,UAAU,GAAG,MAAM,oBAAoB,CAAC,YAAY,CAAC,CAAA;IAE3D,MAAM,OAAO,GAAG,MAAM,IAAA,kCAAgB,EAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;IAC1E,MAAM,QAAQ,GAAG,IAAA,yBAAc,EAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAEhD,MAAM,OAAO,GAAY;QACrB,IAAI;QACJ,GAAG,YAAY;QACf,UAAU;QACV,UAAU;QACV,OAAO;QACP,QAAQ;QACR,MAAM;KACT,CAAA;IACD,OAAO,OAAO,CAAA;AAClB,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangeInformation.js","sourceRoot":"","sources":["../../../../src/modules/changes/types/ChangeInformation.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Context.js","sourceRoot":"","sources":["../../../../src/modules/changes/types/Context.ts"],"names":[],"mappings":""}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ // export interface RangeInfo {
3
+ // range: string
4
+ // header: string
5
+ // previousTag?: string
6
+ // currentTag?: string
7
+ // }
8
+ //# sourceMappingURL=RangeInfo.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangeInfo.js","sourceRoot":"","sources":["../../../../src/modules/changes/types/RangeInfo.ts"],"names":[],"mappings":";AAAA,+BAA+B;AAC/B,oBAAoB;AACpB,qBAAqB;AACrB,2BAA2B;AAC3B,0BAA0B;AAC1B,IAAI"}
@@ -1,3 +1,3 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=RangeDetails.js.map
3
+ //# sourceMappingURL=RangeSummary.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RangeSummary.js","sourceRoot":"","sources":["../../../../src/modules/changes/types/RangeSummary.ts"],"names":[],"mappings":""}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ReferenceTypesEnum.js","sourceRoot":"","sources":["../../../../src/modules/changes/types/ReferenceTypesEnum.ts"],"names":[],"mappings":";;;AAAA,IAAY,kBAMX;AAND,WAAY,kBAAkB;IAC1B,uCAAiB,CAAA;IACjB,mCAAa,CAAA;IACb,iCAAW,CAAA;IACX,uCAAiB,CAAA;IACjB,iCAAW,CAAA;AACf,CAAC,EANW,kBAAkB,kCAAlB,kBAAkB,QAM7B"}
@@ -6,11 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.listCommitsAsync = listCommitsAsync;
7
7
  exports.getGitLogAsJson = getGitLogAsJson;
8
8
  const regexHandlers_1 = require("./regexHandlers");
9
- const child_process_1 = require("child_process");
10
- const util_1 = __importDefault(require("util"));
11
9
  const simple_git_1 = __importDefault(require("simple-git"));
12
10
  const _1 = require(".");
13
- const execPromise = util_1.default.promisify(child_process_1.exec);
11
+ const cmd_1 = require("../../../utils/cmd");
14
12
  async function listCommitsAsync(range, config) {
15
13
  const commits = await getGitLogAsJson(range);
16
14
  const commitMessageRegex = (0, regexHandlers_1.createCommitMessageRegex)(config.commitTypes);
@@ -20,11 +18,11 @@ async function listCommitsAsync(range, config) {
20
18
  const filteredCommits = commits.filter(commit => commitMessageRegex.test(commit.message));
21
19
  const commitList = await Promise.all(filteredCommits.map(async (commit) => {
22
20
  const parsedCommit = await (0, _1.enrichCommit)(commit, config);
23
- const { stdout: filesOutput } = await execPromise(`git log --pretty=format:"" --no-commit-id --name-only -r ${parsedCommit.raw.hash}`);
21
+ const { stdout: filesOutput } = await (0, cmd_1.execWithErrorHandling)(`git log --pretty=format:"" --no-commit-id --name-only -r ${parsedCommit.raw.hash}`);
24
22
  const files = filesOutput.split('\n').filter(Boolean);
25
23
  return {
26
24
  ...parsedCommit,
27
- files
25
+ files,
28
26
  };
29
27
  }));
30
28
  return commitList;
@@ -40,12 +38,12 @@ async function getGitLogAsJson(range = null) {
40
38
  body: commit.body,
41
39
  authorName: commit.author_name,
42
40
  authorEmail: commit.author_email,
43
- date: commit.date
41
+ date: commit.date,
44
42
  }));
45
43
  return jsonArray;
46
44
  }
47
45
  catch (error) {
48
- console.error("Error fetching git log:", error);
46
+ console.error('Error fetching git log:', error);
49
47
  return [];
50
48
  }
51
49
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commitProcessor.js","sourceRoot":"","sources":["../../../../src/modules/git/commits/commitProcessor.ts"],"names":[],"mappings":";;;;;AAQA,4CAwBC;AAED,0CAqBC;AAtDD,mDAA0D;AAE1D,4DAAkC;AAElC,wBAAgC;AAChC,4CAA0D;AAEnD,KAAK,UAAU,gBAAgB,CAAC,KAAoB,EAAE,MAAc;IACvE,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,KAAK,CAAC,CAAA;IAC5C,MAAM,kBAAkB,GAAG,IAAA,wCAAwB,EAAC,MAAM,CAAC,WAAW,CAAC,CAAA;IAEvE,IAAI,CAAC,kBAAkB,EAAE,CAAC;QACtB,OAAO,EAAE,CAAA;IACb,CAAC;IAED,MAAM,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,kBAAkB,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAA;IAEzF,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,GAAG,CAChC,eAAe,CAAC,GAAG,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE;QAC/B,MAAM,YAAY,GAAG,MAAM,IAAA,eAAY,EAAC,MAAM,EAAE,MAAM,CAAC,CAAA;QACvD,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,IAAA,2BAAqB,EAAC,4DAA4D,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,CAAA;QAChJ,MAAM,KAAK,GAAG,WAAW,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAErD,OAAO;YACH,GAAG,YAAY;YACf,KAAK;SACR,CAAA;IACL,CAAC,CAAC,CACL,CAAA;IAED,OAAO,UAAU,CAAA;AACrB,CAAC;AAEM,KAAK,UAAU,eAAe,CAAC,QAAuB,IAAI;IAC7D,MAAM,GAAG,GAAG,IAAA,oBAAS,GAAE,CAAA;IAEvB,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAA;QAE5D,MAAM,SAAS,GAAG,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YACrC,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;YACtC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,UAAU,EAAE,MAAM,CAAC,WAAW;YAC9B,WAAW,EAAE,MAAM,CAAC,YAAY;YAChC,IAAI,EAAE,MAAM,CAAC,IAAI;SACpB,CAAC,CAAC,CAAA;QAEH,OAAO,SAAS,CAAA;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAA;QAC/C,OAAO,EAAE,CAAA;IACb,CAAC;AACL,CAAC"}
@@ -16,11 +16,11 @@ async function getGitLogAsJson(range = null) {
16
16
  body: commit.body,
17
17
  authorName: commit.author_name,
18
18
  authorEmail: commit.author_email,
19
- date: commit.date
19
+ date: commit.date,
20
20
  }));
21
21
  }
22
22
  catch (error) {
23
- console.error("Error fetching git log:", error);
23
+ console.error('Error fetching git log:', error);
24
24
  return [];
25
25
  }
26
26
  }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gitLogFetcher.js","sourceRoot":"","sources":["../../../../src/modules/git/commits/gitLogFetcher.ts"],"names":[],"mappings":";;;;;AAGA,0CAiBC;AApBD,4DAAkC;AAG3B,KAAK,UAAU,eAAe,CAAC,QAAuB,IAAI;IAC7D,MAAM,GAAG,GAAG,IAAA,oBAAS,GAAE,CAAA;IACvB,IAAI,CAAC;QACD,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,EAAE,CAAA;QAC5D,OAAO,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;YAC1B,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,SAAS,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;YACtC,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,UAAU,EAAE,MAAM,CAAC,WAAW;YAC9B,WAAW,EAAE,MAAM,CAAC,YAAY;YAChC,IAAI,EAAE,MAAM,CAAC,IAAI;SACpB,CAAC,CAAC,CAAA;IACP,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAA;QAC/C,OAAO,EAAE,CAAA;IACb,CAAC;AACL,CAAC"}