git-release-manager 0.0.7 → 0.0.11

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 (191) hide show
  1. package/README.md +160 -48
  2. package/dist/cli/types/BranchCreateCliArgs.js +3 -0
  3. package/dist/cli/types/BranchCreateCliArgs.js.map +1 -0
  4. package/dist/cli/types/ChangelogGenerateCliArgs.js +3 -0
  5. package/dist/cli/types/ChangelogGenerateCliArgs.js.map +1 -0
  6. package/dist/cli/types/CommitCliArgs.js +3 -0
  7. package/dist/cli/types/CommitCliArgs.js.map +1 -0
  8. package/dist/cli/types/CommitCreateCliArgs.js +3 -0
  9. package/dist/cli/types/CommitCreateCliArgs.js.map +1 -0
  10. package/dist/cli/types/CommitListCliArgs.js +3 -0
  11. package/dist/cli/types/CommitListCliArgs.js.map +1 -0
  12. package/dist/cli/types/VersionCompareCliArgs.js +3 -0
  13. package/dist/cli/types/VersionCompareCliArgs.js.map +1 -0
  14. package/dist/cli/types/VersionIncrementCliArgs.js +3 -0
  15. package/dist/cli/types/VersionIncrementCliArgs.js.map +1 -0
  16. package/dist/cli/types/VersionInitCliArgs.js +3 -0
  17. package/dist/cli/types/VersionInitCliArgs.js.map +1 -0
  18. package/dist/cli/types/VersionListCliArgs.js +3 -0
  19. package/dist/cli/types/VersionListCliArgs.js.map +1 -0
  20. package/dist/cli/types/VersionProjectCliArgs.js +3 -0
  21. package/dist/cli/types/VersionProjectCliArgs.js.map +1 -0
  22. package/dist/cli/types/VersionRemoteCliArgs.js +3 -0
  23. package/dist/cli/types/VersionRemoteCliArgs.js.map +1 -0
  24. package/dist/cli/types/VersionResetCliArgs.js +3 -0
  25. package/dist/cli/types/VersionResetCliArgs.js.map +1 -0
  26. package/dist/cli/types/VersionRevertCliArgs.js +3 -0
  27. package/dist/cli/types/VersionRevertCliArgs.js.map +1 -0
  28. package/dist/cli/types/VersionSetCliArgs.js +3 -0
  29. package/dist/cli/types/VersionSetCliArgs.js.map +1 -0
  30. package/dist/cli/types/VersionValidateCliArgs.js +3 -0
  31. package/dist/cli/types/VersionValidateCliArgs.js.map +1 -0
  32. package/dist/commands/branch/command copy.js +2 -0
  33. package/dist/commands/branch/command copy.js.map +1 -0
  34. package/dist/commands/branch/command.js +200 -0
  35. package/dist/commands/branch/command.js.map +1 -0
  36. package/dist/commands/branch/types/BranchCliArgs.js +3 -0
  37. package/dist/commands/branch/types/BranchCliArgs.js.map +1 -0
  38. package/dist/commands/branch/types/BranchCreateCliArgs.js +3 -0
  39. package/dist/commands/branch/types/BranchCreateCliArgs.js.map +1 -0
  40. package/dist/commands/branch/types/BranchDeleteCliArgs.js +3 -0
  41. package/dist/commands/branch/types/BranchDeleteCliArgs.js.map +1 -0
  42. package/dist/commands/branch/types/BranchListCliArgs.js +3 -0
  43. package/dist/commands/branch/types/BranchListCliArgs.js.map +1 -0
  44. package/dist/commands/branch/types/BranchMergeCliArgs.js +3 -0
  45. package/dist/commands/branch/types/BranchMergeCliArgs.js.map +1 -0
  46. package/dist/commands/branch/types/BranchProtectCliArgs.js +3 -0
  47. package/dist/commands/branch/types/BranchProtectCliArgs.js.map +1 -0
  48. package/dist/commands/branch/types/BranchRebaseCliArgs.js +3 -0
  49. package/dist/commands/branch/types/BranchRebaseCliArgs.js.map +1 -0
  50. package/dist/commands/branch/types/BranchSwitchCliArgs.js +3 -0
  51. package/dist/commands/branch/types/BranchSwitchCliArgs.js.map +1 -0
  52. package/dist/commands/branch/types/BranchUnProtectCliArgs.js +3 -0
  53. package/dist/commands/branch/types/BranchUnProtectCliArgs.js.map +1 -0
  54. package/dist/commands/changelog/command.js +32 -0
  55. package/dist/commands/changelog/command.js.map +1 -0
  56. package/dist/commands/changelog/types/ChangelogCliArgs.js +3 -0
  57. package/dist/commands/changelog/types/ChangelogCliArgs.js.map +1 -0
  58. package/dist/commands/changelog/types/ChangelogGenerateCliArgs.js +3 -0
  59. package/dist/commands/changelog/types/ChangelogGenerateCliArgs.js.map +1 -0
  60. package/dist/commands/commit/command.js +53 -0
  61. package/dist/commands/commit/command.js.map +1 -0
  62. package/dist/commands/commit/types/CommitAmendCliArgs.js +3 -0
  63. package/dist/commands/commit/types/CommitAmendCliArgs.js.map +1 -0
  64. package/dist/commands/commit/types/CommitCliArgs.js +3 -0
  65. package/dist/commands/commit/types/CommitCliArgs.js.map +1 -0
  66. package/dist/commands/commit/types/CommitCreateCliArgs.js +3 -0
  67. package/dist/commands/commit/types/CommitCreateCliArgs.js.map +1 -0
  68. package/dist/commands/commit/types/CommitListCliArgs.js +3 -0
  69. package/dist/commands/commit/types/CommitListCliArgs.js.map +1 -0
  70. package/dist/commands/fllow/command.js +134 -0
  71. package/dist/commands/fllow/command.js.map +1 -0
  72. package/dist/commands/fllow/types/VersionCliArgs.js +3 -0
  73. package/dist/commands/fllow/types/VersionCliArgs.js.map +1 -0
  74. package/dist/commands/fllow/types/VersionCompareCliArgs.js +3 -0
  75. package/dist/commands/fllow/types/VersionCompareCliArgs.js.map +1 -0
  76. package/dist/commands/fllow/types/VersionIncrementCliArgs.js +3 -0
  77. package/dist/commands/fllow/types/VersionIncrementCliArgs.js.map +1 -0
  78. package/dist/commands/fllow/types/VersionInitCliArgs.js +3 -0
  79. package/dist/commands/fllow/types/VersionInitCliArgs.js.map +1 -0
  80. package/dist/commands/fllow/types/VersionListCliArgs.js +3 -0
  81. package/dist/commands/fllow/types/VersionListCliArgs.js.map +1 -0
  82. package/dist/commands/fllow/types/VersionProjectCliArgs.js +3 -0
  83. package/dist/commands/fllow/types/VersionProjectCliArgs.js.map +1 -0
  84. package/dist/commands/fllow/types/VersionRemoteCliArgs.js +3 -0
  85. package/dist/commands/fllow/types/VersionRemoteCliArgs.js.map +1 -0
  86. package/dist/commands/fllow/types/VersionResetCliArgs.js +3 -0
  87. package/dist/commands/fllow/types/VersionResetCliArgs.js.map +1 -0
  88. package/dist/commands/fllow/types/VersionRevertCliArgs.js +3 -0
  89. package/dist/commands/fllow/types/VersionRevertCliArgs.js.map +1 -0
  90. package/dist/commands/fllow/types/VersionSetCliArgs.js +3 -0
  91. package/dist/commands/fllow/types/VersionSetCliArgs.js.map +1 -0
  92. package/dist/commands/fllow/types/VersionValidateCliArgs.js +3 -0
  93. package/dist/commands/fllow/types/VersionValidateCliArgs.js.map +1 -0
  94. package/dist/commands/flow/command.js +137 -0
  95. package/dist/commands/flow/command.js.map +1 -0
  96. package/dist/commands/flow/types/VersionCliArgs.js +3 -0
  97. package/dist/commands/flow/types/VersionCliArgs.js.map +1 -0
  98. package/dist/commands/flow/types/VersionCompareCliArgs.js +3 -0
  99. package/dist/commands/flow/types/VersionCompareCliArgs.js.map +1 -0
  100. package/dist/commands/flow/types/VersionIncrementCliArgs.js +3 -0
  101. package/dist/commands/flow/types/VersionIncrementCliArgs.js.map +1 -0
  102. package/dist/commands/flow/types/VersionInitCliArgs.js +3 -0
  103. package/dist/commands/flow/types/VersionInitCliArgs.js.map +1 -0
  104. package/dist/commands/flow/types/VersionListCliArgs.js +3 -0
  105. package/dist/commands/flow/types/VersionListCliArgs.js.map +1 -0
  106. package/dist/commands/flow/types/VersionProjectCliArgs.js +3 -0
  107. package/dist/commands/flow/types/VersionProjectCliArgs.js.map +1 -0
  108. package/dist/commands/flow/types/VersionRemoteCliArgs.js +3 -0
  109. package/dist/commands/flow/types/VersionRemoteCliArgs.js.map +1 -0
  110. package/dist/commands/flow/types/VersionResetCliArgs.js +3 -0
  111. package/dist/commands/flow/types/VersionResetCliArgs.js.map +1 -0
  112. package/dist/commands/flow/types/VersionRevertCliArgs.js +3 -0
  113. package/dist/commands/flow/types/VersionRevertCliArgs.js.map +1 -0
  114. package/dist/commands/flow/types/VersionSetCliArgs.js +3 -0
  115. package/dist/commands/flow/types/VersionSetCliArgs.js.map +1 -0
  116. package/dist/commands/flow/types/VersionValidateCliArgs.js +3 -0
  117. package/dist/commands/flow/types/VersionValidateCliArgs.js.map +1 -0
  118. package/dist/commands/types/CliArgs.js +3 -0
  119. package/dist/commands/types/CliArgs.js.map +1 -0
  120. package/dist/commands/version/command.js +135 -0
  121. package/dist/commands/version/command.js.map +1 -0
  122. package/dist/commands/version/types/VersionCliArgs.js +3 -0
  123. package/dist/commands/version/types/VersionCliArgs.js.map +1 -0
  124. package/dist/commands/version/types/VersionCompareCliArgs.js +3 -0
  125. package/dist/commands/version/types/VersionCompareCliArgs.js.map +1 -0
  126. package/dist/commands/version/types/VersionIncrementCliArgs.js +3 -0
  127. package/dist/commands/version/types/VersionIncrementCliArgs.js.map +1 -0
  128. package/dist/commands/version/types/VersionInitCliArgs.js +3 -0
  129. package/dist/commands/version/types/VersionInitCliArgs.js.map +1 -0
  130. package/dist/commands/version/types/VersionListCliArgs.js +3 -0
  131. package/dist/commands/version/types/VersionListCliArgs.js.map +1 -0
  132. package/dist/commands/version/types/VersionProjectCliArgs.js +3 -0
  133. package/dist/commands/version/types/VersionProjectCliArgs.js.map +1 -0
  134. package/dist/commands/version/types/VersionRemoteCliArgs.js +3 -0
  135. package/dist/commands/version/types/VersionRemoteCliArgs.js.map +1 -0
  136. package/dist/commands/version/types/VersionResetCliArgs.js +3 -0
  137. package/dist/commands/version/types/VersionResetCliArgs.js.map +1 -0
  138. package/dist/commands/version/types/VersionRevertCliArgs.js +3 -0
  139. package/dist/commands/version/types/VersionRevertCliArgs.js.map +1 -0
  140. package/dist/commands/version/types/VersionSetCliArgs.js +3 -0
  141. package/dist/commands/version/types/VersionSetCliArgs.js.map +1 -0
  142. package/dist/commands/version/types/VersionValidateCliArgs.js +3 -0
  143. package/dist/commands/version/types/VersionValidateCliArgs.js.map +1 -0
  144. package/dist/config/defaults/config.json +259 -231
  145. package/dist/config/types/BranchConfig.js +3 -0
  146. package/dist/config/types/BranchConfig.js.map +1 -0
  147. package/dist/config/types/Repository.js +3 -0
  148. package/dist/config/types/Repository.js.map +1 -0
  149. package/dist/core/app.js +79 -4
  150. package/dist/core/app.js.map +1 -1
  151. package/dist/core/changelog/app.js +20 -0
  152. package/dist/core/changelog/app.js.map +1 -0
  153. package/dist/index.js +18 -74
  154. package/dist/index.js.map +1 -1
  155. package/dist/modules/FlowManager.js +439 -0
  156. package/dist/modules/FlowManager.js.map +1 -0
  157. package/dist/modules/branch/BranchController.js +124 -16
  158. package/dist/modules/branch/BranchController.js.map +1 -1
  159. package/dist/modules/branch/BranchManager.js +149 -104
  160. package/dist/modules/branch/BranchManager.js.map +1 -1
  161. package/dist/modules/changelog/ChangelogController.js +31 -0
  162. package/dist/modules/changelog/ChangelogController.js.map +1 -0
  163. package/dist/modules/changelog/templateOperations.js +1 -1
  164. package/dist/modules/changelog/templateOperations.js.map +1 -1
  165. package/dist/modules/commit/CommitController.js +38 -0
  166. package/dist/modules/commit/CommitController.js.map +1 -0
  167. package/dist/modules/commit/CommitManager.js +87 -0
  168. package/dist/modules/commit/CommitManager.js.map +1 -0
  169. package/dist/modules/git/context/remoteHandler.js +0 -6
  170. package/dist/modules/git/context/remoteHandler.js.map +1 -1
  171. package/dist/modules/git/gitOperations.js.map +1 -1
  172. package/dist/modules/git/utils/referenceUtils.js +7 -2
  173. package/dist/modules/git/utils/referenceUtils.js.map +1 -1
  174. package/dist/modules/version/GitVersionManager.js +40 -34
  175. package/dist/modules/version/GitVersionManager.js.map +1 -1
  176. package/dist/modules/version/ProjectVersion.js +195 -0
  177. package/dist/modules/version/ProjectVersion.js.map +1 -0
  178. package/dist/modules/version/ReleaseManager.js +0 -13
  179. package/dist/modules/version/ReleaseManager.js.map +1 -1
  180. package/dist/modules/version/VersionController.js +95 -0
  181. package/dist/modules/version/VersionController.js.map +1 -0
  182. package/dist/modules/version/VersionManager.js +40 -5
  183. package/dist/modules/version/VersionManager.js.map +1 -1
  184. package/dist/modules/version/VersionValidator.js.map +1 -1
  185. package/dist/modules/version/versionFormatter.js +47 -81
  186. package/dist/modules/version/versionFormatter.js.map +1 -1
  187. package/dist/templates/defaults/changelog.detailed.ejs +110 -110
  188. package/dist/templates/defaults/changelog.ejs +67 -67
  189. package/dist/utils/date.js +3 -3
  190. package/dist/utils/date.js.map +1 -1
  191. package/package.json +65 -63
@@ -1,51 +1,159 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.BranchController = void 0;
4
+ const configManager_1 = require("../../config/configManager");
4
5
  const BranchManager_1 = require("../../modules/branch/BranchManager");
5
6
  class BranchController {
6
7
  constructor() {
7
8
  this.branchManager = new BranchManager_1.BranchManager();
8
9
  }
9
- async handleCommand(options) {
10
+ async handleCreateCommand(options) {
10
11
  try {
11
- if (options.create) {
12
- await this.branchManager.createBranch(options.create, options.push);
12
+ // const config = await readConfig(options.config, options.environment);
13
+ if (options.name) {
14
+ await this.branchManager.createBranch(options.name, options.basedOn, options.switch);
15
+ }
16
+ else {
17
+ console.log('Please specify an option for branch management.');
18
+ process.exit(1);
19
+ }
20
+ }
21
+ catch (error) {
22
+ console.error('Error:', error instanceof Error ? error.message : String(error));
23
+ process.exit(1);
24
+ }
25
+ }
26
+ async handleDeleteCommand(options) {
27
+ try {
28
+ const config = await (0, configManager_1.readConfig)(options.config, options.environment);
29
+ if (options.name) {
30
+ await this.branchManager.deleteBranch(options.name);
31
+ }
32
+ else {
33
+ console.log('Please specify an option for branch management.');
34
+ process.exit(1);
35
+ }
36
+ }
37
+ catch (error) {
38
+ console.error('Error:', error instanceof Error ? error.message : String(error));
39
+ process.exit(1);
40
+ }
41
+ }
42
+ async handleMergeCommand(options) {
43
+ try {
44
+ const config = await (0, configManager_1.readConfig)(options.config, options.environment);
45
+ if (options.name) {
46
+ await this.branchManager.mergeBranch(config, options.name, options.squash);
47
+ }
48
+ else {
49
+ console.log('Please specify an option for branch management.');
50
+ process.exit(1);
51
+ }
52
+ }
53
+ catch (error) {
54
+ console.error('Error:', error instanceof Error ? error.message : String(error));
55
+ process.exit(1);
56
+ }
57
+ }
58
+ async handleRebaseCommand(options) {
59
+ try {
60
+ const config = await (0, configManager_1.readConfig)(options.config, options.environment);
61
+ if (options.name) {
62
+ await this.branchManager.rebaseBranch(config, options.name);
63
+ }
64
+ else {
65
+ console.log('Please specify an option for branch management.');
66
+ process.exit(1);
13
67
  }
14
- else if (options.delete) {
15
- await this.branchManager.deleteBranch(options.delete);
68
+ }
69
+ catch (error) {
70
+ console.error('Error:', error instanceof Error ? error.message : String(error));
71
+ process.exit(1);
72
+ }
73
+ }
74
+ async handleSwitchCommand(options) {
75
+ try {
76
+ if (options.name) {
77
+ await this.branchManager.switchBranch(options.name);
78
+ }
79
+ else {
80
+ console.log('Please specify an option for branch management.');
81
+ process.exit(1);
82
+ }
83
+ }
84
+ catch (error) {
85
+ console.error('Error:', error instanceof Error ? error.message : String(error));
86
+ process.exit(1);
87
+ }
88
+ }
89
+ async handleProtectCommand(options) {
90
+ try {
91
+ await this.branchManager.protectBranch(options.name);
92
+ }
93
+ catch (error) {
94
+ console.error('Error:', error instanceof Error ? error.message : String(error));
95
+ process.exit(1);
96
+ }
97
+ }
98
+ async handleUnProtectCommand(options) {
99
+ try {
100
+ await this.branchManager.unprotectBranch(options.name);
101
+ }
102
+ catch (error) {
103
+ console.error('Error:', error instanceof Error ? error.message : String(error));
104
+ process.exit(1);
105
+ }
106
+ }
107
+ async handleListCommand(options) {
108
+ try {
109
+ const config = await (0, configManager_1.readConfig)(options.config, options.environment);
110
+ await this.branchManager.listBranches(config, options.remote);
111
+ }
112
+ catch (error) {
113
+ console.error('Error:', error instanceof Error ? error.message : String(error));
114
+ process.exit(1);
115
+ }
116
+ }
117
+ async handleCommand(options, config) {
118
+ try {
119
+ const config = await (0, configManager_1.readConfig)(options.config, options.environment);
120
+ if (options.create) {
121
+ // await this.branchManager.createBranch(options.create, options.push)
122
+ // } else if (options.delete) {
123
+ // await this.branchManager.deleteBranch(options.delete)
16
124
  }
17
125
  else if (options.list) {
18
- await this.branchManager.listBranches();
126
+ // await this.branchManager.listBranches()
19
127
  }
20
128
  else if (options.switch) {
21
- await this.branchManager.switchBranch(options.switch);
129
+ // await this.branchManager.switchBranch(options.switch)
22
130
  }
23
131
  else if (options.merge) {
24
- await this.branchManager.mergeBranch(options.merge, options.push);
132
+ // await this.branchManager.mergeBranch(options.merge, options.push)
25
133
  }
26
134
  else if (options.release) {
27
- await this.branchManager.createReleaseBranch(options.release, options.push);
135
+ await this.branchManager.createReleaseBranch(config, options.release, options.push);
28
136
  }
29
137
  else if (options.hotfix) {
30
- await this.branchManager.createHotfixBranch(options.hotfix, options.push);
138
+ await this.branchManager.createHotfixBranch(config, options.hotfix, options.push);
31
139
  }
32
140
  else if (options.feature) {
33
- await this.branchManager.createFeatureBranch(options.feature, options.push);
141
+ await this.branchManager.createFeatureBranch(config, options.feature, options.push);
34
142
  }
35
143
  else if (options.finish) {
36
- await this.branchManager.finishBranch(options.finish, options.push);
144
+ await this.branchManager.finishBranch(config, options.finish, options.push);
37
145
  }
38
146
  else if (options.protect) {
39
- await this.branchManager.protectBranch(options.protect);
147
+ // await this.branchManager.protectBranch(options.protect)
40
148
  }
41
149
  else if (options.unprotect) {
42
- await this.branchManager.unprotectBranch(options.unprotect);
150
+ // await this.branchManager.unprotectBranch(options.unprotect)
43
151
  }
44
152
  else if (options.rebase) {
45
- await this.branchManager.rebaseBranch(options.rebase, options.push);
153
+ // await this.branchManager.rebaseBranch(options.rebase, options.push)
46
154
  }
47
155
  else if (options.sync) {
48
- await this.branchManager.syncBranch(options.push);
156
+ await this.branchManager.syncBranch(config, options.push);
49
157
  }
50
158
  else {
51
159
  console.log('Please specify an option for branch management.');
@@ -1 +1 @@
1
- {"version":3,"file":"BranchController.js","sourceRoot":"","sources":["../../../src/modules/branch/BranchController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BranchController.js","sourceRoot":"","sources":["../../../src/modules/branch/BranchController.ts"],"names":[],"mappings":";;;AAQA,8DAAuD;AAEvD,sEAAkE;AAElE,MAAa,gBAAgB;IAGzB;QACI,IAAI,CAAC,aAAa,GAAG,IAAI,6BAAa,EAAE,CAAA;IAC5C,CAAC;IACD,KAAK,CAAC,mBAAmB,CAAC,OAA4B;QAClD,IAAI,CAAC;YACD,wEAAwE;YACxE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,EAAG,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YACzF,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;gBAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAA4B;QAClD,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAU,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YACrE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACvD,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;gBAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,kBAAkB,CAAC,OAA2B;QAChD,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAU,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YACrE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,aAAa,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;YAC9E,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;gBAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,OAA4B;QAClD,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAU,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YACrE,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;YAC/D,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;gBAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;IACL,CAAC;IACD,KAAK,CAAC,mBAAmB,CAAC,OAA4B;QAClD,IAAI,CAAC;YACD,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACf,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;YACvD,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;gBAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;IACL,CAAC;IACD,KAAK,CAAC,oBAAoB,CAAC,OAA6B;QACpD,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QACxD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;IACL,CAAC;IACD,KAAK,CAAC,sBAAsB,CAAC,OAA6B;QACtD,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI,CAAC,CAAA;QAC1D,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;IACL,CAAC;IACD,KAAK,CAAC,iBAAiB,CAAC,OAA0B;QAC9C,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAU,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YACrE,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;QACjE,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;IACL,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,OAAsB,EAAE,MAAc;QACtD,IAAI,CAAC;YACD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAU,EAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;YACrE,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACjB,0EAA0E;gBAC1E,+BAA+B;gBAC/B,4DAA4D;YAChE,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACtB,0CAA0C;YAC9C,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACxB,wDAAwD;YAC5D,CAAC;iBAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;gBACvB,oEAAoE;YACxE,CAAC;iBAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;YACvF,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;YACrF,CAAC;iBAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACzB,MAAM,IAAI,CAAC,aAAa,CAAC,mBAAmB,CAAC,MAAM,EAAE,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;YACvF,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACxB,MAAM,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;YAC/E,CAAC;iBAAM,IAAI,OAAO,CAAC,OAAO,EAAE,CAAC;gBACzB,0DAA0D;YAC9D,CAAC;iBAAM,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;gBAC3B,8DAA8D;YAClE,CAAC;iBAAM,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;gBACxB,sEAAsE;YAC1E,CAAC;iBAAM,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACtB,MAAM,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,CAAA;YAC7D,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAA;gBAC9D,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACnB,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;IACL,CAAC;CACJ;AA9ID,4CA8IC"}
@@ -8,13 +8,26 @@ class BranchManager {
8
8
  this.git = (0, simple_git_1.simpleGit)();
9
9
  this.gitVersionManager = new GitVersionManager_1.GitVersionManager();
10
10
  }
11
- async createBranch(branchName, push) {
11
+ async createBranch(branchName, basedOn = null, switchToNewBranch = true) {
12
12
  const currentBranch = await this.getCurrentBranch();
13
+ const branchToCheckout = basedOn !== null && basedOn !== void 0 ? basedOn : currentBranch;
14
+ // Check out to the base branch if specified, otherwise stay on the current branch
15
+ if (basedOn && currentBranch != basedOn) {
16
+ await this.git.checkout(basedOn);
17
+ console.log(`Checked out to base branch '${basedOn}'`);
18
+ }
19
+ // Create and/or check out to the new branch
13
20
  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`);
21
+ console.log(`Created branch '${branchName}' from '${branchToCheckout}'`);
22
+ // Decide whether to switch to the new branch
23
+ if (!switchToNewBranch) {
24
+ let switchBackBranch = branchToCheckout;
25
+ // if (basedOn && currentBranch != basedOn) {
26
+ // switchBackBranch = currentBranch
27
+ // }
28
+ // If switchToNewBranch is false, switch back to the original branch
29
+ await this.git.checkout(switchBackBranch);
30
+ console.log(`Switched back to branch '${switchBackBranch}'`);
18
31
  }
19
32
  }
20
33
  async deleteBranch(branchName) {
@@ -28,129 +41,110 @@ class BranchManager {
28
41
  }
29
42
  await this.git.deleteLocalBranch(branchName, true);
30
43
  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
44
  }
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)' : ''}`);
45
+ async listBranches(config, remote) {
46
+ const branchSource = typeof remote === 'boolean' ? config.repository.remote.default : remote;
47
+ let localBranches = [];
48
+ let remoteBranches = [];
49
+ // Fetch branch information based on remote setting
50
+ if (branchSource) {
51
+ // Fetch branches from the specified remote or default remote
52
+ await this.git.fetch(branchSource);
53
+ const fetchedRemoteBranches = await this.git.branch(['-r']);
54
+ remoteBranches = fetchedRemoteBranches.all.filter(branch => branch.startsWith(`remotes/${branchSource}/`));
55
+ }
56
+ else {
57
+ // Retrieve all branches for both local and remotes when no specific remote is specified
58
+ const branchSummary = await this.git.branch(['-a']);
59
+ localBranches = branchSummary.all.filter(branch => !branch.includes('remotes/'));
60
+ remoteBranches = branchSummary.all.filter(branch => branch.includes('remotes/'));
61
+ }
62
+ // Output branches in requested format
63
+ if (!branchSource) {
64
+ // Print local branches if no remote is explicitly specified
65
+ console.log('\nLocal:');
66
+ localBranches.forEach(branch => console.log(` ${branch}`));
67
+ }
68
+ // Group remote branches by their specific remote name and print
69
+ const groupedRemoteBranches = {};
70
+ remoteBranches.forEach(branch => {
71
+ const branchInfo = branch.replace('remotes/', '').split('/');
72
+ const remoteName = branchInfo[0];
73
+ const branchName = branchInfo.slice(1).join('/');
74
+ if (!groupedRemoteBranches[remoteName]) {
75
+ groupedRemoteBranches[remoteName] = [];
76
+ }
77
+ groupedRemoteBranches[remoteName].push(branchName);
53
78
  });
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}`);
79
+ Object.entries(groupedRemoteBranches).forEach(([remoteName, branches]) => {
80
+ console.log(`\n${remoteName}:`);
81
+ branches.forEach(branch => console.log(` ${branch}`));
61
82
  });
62
83
  }
63
84
  async switchBranch(branchName) {
64
85
  await this.git.checkout(branchName);
65
86
  console.log(`Switched to branch '${branchName}'`);
66
87
  }
67
- async mergeBranch(branchName, push) {
88
+ async mergeBranch(config, branchName, squash) {
68
89
  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;
90
+ try {
91
+ await this.git.fetch();
92
+ // Determine if squash is requested and merge accordingly
93
+ if (squash) {
94
+ // Perform a squash merge
95
+ await this.git.raw(['merge', '--squash', branchName]);
96
+ await this.git.commit(`Squashed merge of '${branchName}' into '${currentBranch}'`);
97
+ console.log(`Squashed '${branchName}' into '${currentBranch}'`);
98
+ }
99
+ else {
100
+ // Perform a regular merge
101
+ await this.git.merge([branchName, '--no-ff']);
102
+ console.log(`Merged '${branchName}' into '${currentBranch}'`);
74
103
  }
75
104
  }
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}'`);
105
+ catch (error) {
106
+ console.error(`Failed to complete merge or push operation:`, error);
81
107
  }
82
108
  }
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) {
109
+ async rebaseBranch(config, branchName) {
100
110
  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}'`);
111
+ try {
112
+ await this.git.fetch();
113
+ // Rebase from either remote or local branch
114
+ await this.git.rebase([branchName]);
115
+ console.log(`Rebased '${currentBranch}' with '${branchName}'`);
116
+ }
117
+ catch (error) {
118
+ console.error(`Failed to complete rebase or push operation:`, error);
119
+ }
121
120
  }
122
121
  async protectBranch(branchName) {
122
+ const currentBranch = await this.getCurrentBranch();
123
+ const activeBranch = typeof branchName === 'string' && branchName.trim() !== '' ? branchName : currentBranch;
123
124
  const protectedBranches = await this.getProtectedBranches();
124
- if (!protectedBranches.includes(branchName)) {
125
- protectedBranches.push(branchName);
125
+ if (!protectedBranches.includes(activeBranch)) {
126
+ protectedBranches.push(activeBranch);
126
127
  await this.saveProtectedBranches(protectedBranches);
127
- console.log(`Protected branch '${branchName}'`);
128
+ console.log(`Protected branch '${activeBranch}'`);
128
129
  }
129
130
  }
130
131
  async unprotectBranch(branchName) {
132
+ const currentBranch = await this.getCurrentBranch();
133
+ const activeBranch = typeof branchName === 'string' && branchName.trim() !== '' ? branchName : currentBranch;
131
134
  const protectedBranches = await this.getProtectedBranches();
132
- const index = protectedBranches.indexOf(branchName);
135
+ const index = protectedBranches.indexOf(activeBranch);
133
136
  if (index > -1) {
134
137
  protectedBranches.splice(index, 1);
135
138
  await this.saveProtectedBranches(protectedBranches);
136
- console.log(`Removed protection from branch '${branchName}'`);
139
+ console.log(`Removed protection from branch '${activeBranch}'`);
137
140
  }
138
141
  }
139
- async rebaseBranch(branchName, push) {
142
+ async syncBranch(config, push) {
140
143
  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']);
144
+ await this.git.pull(config.repository.remote.default, currentBranch, ['--rebase']);
151
145
  console.log(`Synced '${currentBranch}' with remote`);
152
146
  if (push) {
153
- await this.git.push('origin', currentBranch);
147
+ await this.git.push(config.repository.remote.default, currentBranch);
154
148
  console.log(`Pushed local changes to remote '${currentBranch}'`);
155
149
  }
156
150
  }
@@ -175,19 +169,70 @@ class BranchManager {
175
169
  return JSON.parse(protectedBranchesConfig);
176
170
  }
177
171
  // If it's undefined or null, return default
178
- return ['main', 'master', 'develop'];
172
+ return [];
179
173
  }
180
174
  catch (_a) {
181
- return ['main', 'master', 'develop'];
175
+ return [];
182
176
  }
183
177
  }
184
178
  async saveProtectedBranches(branches) {
185
179
  await this.git.addConfig('branch.protected', JSON.stringify(branches));
186
180
  }
187
- async confirmAction(message) {
188
- // Implementation depends on your preferred CLI interaction library
189
- // For example, using 'inquirer'
190
- return true; // Placeholder
181
+ async createReleaseBranch(config, version, push) {
182
+ const branchName = `release/${version}`;
183
+ await this.createBranch(branchName);
184
+ await this.protectBranch(branchName);
185
+ console.log(`Created protected release branch '${branchName}'`);
186
+ }
187
+ async createHotfixBranch(config, version, push) {
188
+ const branchName = `hotfix/${version}`;
189
+ await this.createBranch(branchName);
190
+ console.log(`Created hotfix branch '${branchName}'`);
191
+ }
192
+ async createFeatureBranch(config, name, push) {
193
+ const branchName = `feature/${name}`;
194
+ await this.createBranch(branchName);
195
+ console.log(`Created feature branch '${branchName}'`);
196
+ }
197
+ async finishBranch(config, branchName, push) {
198
+ var _a, _b;
199
+ const currentBranch = await this.getCurrentBranch();
200
+ const activeBranch = typeof branchName === 'string' && branchName.trim() !== '' ? branchName : currentBranch;
201
+ // Ensure the branch exists
202
+ const branches = await this.git.branchLocal();
203
+ if (!branches.all.includes(activeBranch)) {
204
+ console.log(`The branch ${branchName} does not exist.`);
205
+ return;
206
+ }
207
+ const gitVersionManager = new GitVersionManager_1.GitVersionManager();
208
+ // Determine the branch type from the name
209
+ const branchType = activeBranch.split('/')[0];
210
+ const branchConfig = config.branchStrategies[branchType];
211
+ if (!branchConfig) {
212
+ console.log(`No configuration found for branch type: ${branchType}`);
213
+ return;
214
+ }
215
+ // Merge into base branches as per the configuration
216
+ for (const baseBranch of branchConfig.baseBranches) {
217
+ console.log(`Attempting to merge ${activeBranch} into ${baseBranch}`);
218
+ await this.git.checkout(baseBranch);
219
+ await this.mergeBranch(config, activeBranch, push);
220
+ }
221
+ // Create a tag if required by the configuration
222
+ if (branchConfig.createTag) {
223
+ const version = activeBranch.replace(`${branchType}/`, '');
224
+ const formattedVersion = version.startsWith((_a = branchConfig.tagPrefix) !== null && _a !== void 0 ? _a : '') ? version : `${(_b = branchConfig.tagPrefix) !== null && _b !== void 0 ? _b : ''}${version}`;
225
+ const tagName = `${formattedVersion}`;
226
+ await gitVersionManager.createGitTag(tagName);
227
+ }
228
+ // Delete the branch after merge if specified by the configuration
229
+ if (branchConfig.deleteAfterMerge) {
230
+ if (activeBranch == currentBranch) {
231
+ this.switchBranch(branchConfig.baseBranches[0]);
232
+ }
233
+ await this.deleteBranch(activeBranch);
234
+ console.log(`Finished and cleaned up branch '${activeBranch}'`);
235
+ }
191
236
  }
192
237
  }
193
238
  exports.BranchManager = BranchManager;
@@ -1 +1 @@
1
- {"version":3,"file":"BranchManager.js","sourceRoot":"","sources":["../../../src/modules/branch/BranchManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BranchManager.js","sourceRoot":"","sources":["../../../src/modules/branch/BranchManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ChangelogController = void 0;
4
+ const writer_1 = require("../output/writer");
5
+ const ChangelogValidator_1 = require("./ChangelogValidator");
6
+ const templateOperations_1 = require("./templateOperations");
7
+ class ChangelogController {
8
+ constructor() {
9
+ this.validator = new ChangelogValidator_1.ChangelogValidator();
10
+ }
11
+ async handleGenerateCommand(options, config) {
12
+ this.validator.validateOptions(options);
13
+ if (options.mergeAll === undefined) {
14
+ options.mergeAll = false;
15
+ }
16
+ try {
17
+ let templatePath = options.template || config.template;
18
+ let outputOpt = options.output || config.output;
19
+ const fileData = await (0, templateOperations_1.renderChangelogTemplate)(templatePath, options, config);
20
+ if (fileData) {
21
+ (0, writer_1.writeOutput)(fileData, outputOpt);
22
+ }
23
+ }
24
+ catch (error) {
25
+ console.error('Error:', error instanceof Error ? error.message : String(error));
26
+ process.exit(1);
27
+ }
28
+ }
29
+ }
30
+ exports.ChangelogController = ChangelogController;
31
+ //# sourceMappingURL=ChangelogController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ChangelogController.js","sourceRoot":"","sources":["../../../src/modules/changelog/ChangelogController.ts"],"names":[],"mappings":";;;AAEA,6CAA+C;AAC/C,6DAA0D;AAC1D,6DAA+D;AAE/D,MAAa,mBAAmB;IAG5B;QACI,IAAI,CAAC,SAAS,GAAG,IAAI,uCAAkB,EAAE,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,OAAiC,EAAE,MAAc;QACzE,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,CAAA;QAEvC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,QAAQ,GAAG,KAAK,CAAA;QAC5B,CAAC;QACD,IAAI,CAAC;YACD,IAAI,YAAY,GAAG,OAAO,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAA;YACtD,IAAI,SAAS,GAAG,OAAO,CAAC,MAAM,IAAI,MAAM,CAAC,MAAM,CAAA;YAC/C,MAAM,QAAQ,GAAG,MAAM,IAAA,4CAAuB,EAAC,YAAY,EAAE,OAAO,EAAE,MAAM,CAAC,CAAA;YAE7E,IAAI,QAAQ,EAAE,CAAC;gBACX,IAAA,oBAAW,EAAC,QAAQ,EAAE,SAAS,CAAC,CAAA;YACpC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,QAAQ,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;YAC/E,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACnB,CAAC;IACL,CAAC;CACJ;AA1BD,kDA0BC"}
@@ -105,7 +105,7 @@ async function renderChangelogTemplate(templatePath, options, config) {
105
105
  }
106
106
  const rangeSummary = await getRangeSummary(resolvedFrom, resolvedTo);
107
107
  if (rangeSummary.referenceList.length === 0) {
108
- console.log('No changes found');
108
+ console.log('No tag found');
109
109
  return;
110
110
  }
111
111
  if (options === null || options === void 0 ? void 0 : options.mergeAll) {