git-release-manager 0.0.14 → 0.6.0

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 (66) hide show
  1. package/README.md +0 -0
  2. package/dist/commands/branch/command.js +84 -14
  3. package/dist/commands/branch/command.js.map +1 -1
  4. package/dist/commands/branch/types/BranchFinishCliArgs.js +3 -0
  5. package/dist/commands/branch/types/BranchFinishCliArgs.js.map +1 -0
  6. package/dist/commands/branch/types/BranchSyncCliArgs.js +3 -0
  7. package/dist/commands/branch/types/BranchSyncCliArgs.js.map +1 -0
  8. package/dist/commands/changelog/command.js +28 -3
  9. package/dist/commands/changelog/command.js.map +1 -1
  10. package/dist/commands/commit/command.js +8 -3
  11. package/dist/commands/commit/command.js.map +1 -1
  12. package/dist/commands/flow/command.js +196 -6
  13. package/dist/commands/flow/command.js.map +1 -1
  14. package/dist/commands/track/command.js +136 -0
  15. package/dist/commands/track/command.js.map +1 -0
  16. package/dist/commands/version/command.js +115 -23
  17. package/dist/commands/version/command.js.map +1 -1
  18. package/dist/config/defaults/config.json +375 -250
  19. package/dist/config/types/Flow.js +34 -0
  20. package/dist/config/types/Flow.js.map +1 -0
  21. package/dist/config/types/Track.js +3 -0
  22. package/dist/config/types/Track.js.map +1 -0
  23. package/dist/config/types/Versioning.js +3 -0
  24. package/dist/config/types/Versioning.js.map +1 -0
  25. package/dist/index.js +25 -6
  26. package/dist/index.js.map +1 -1
  27. package/dist/modules/FlowManager.js +47 -4
  28. package/dist/modules/FlowManager.js.map +1 -1
  29. package/dist/modules/branch/BranchController.js +33 -2
  30. package/dist/modules/branch/BranchController.js.map +1 -1
  31. package/dist/modules/changelog/ChangelogController.js.map +1 -1
  32. package/dist/modules/changelog/templateOperations.js.map +1 -1
  33. package/dist/modules/flow/FlowController.js +764 -0
  34. package/dist/modules/flow/FlowController.js.map +1 -0
  35. package/dist/modules/git/commits/commitProcessor.js +21 -3
  36. package/dist/modules/git/commits/commitProcessor.js.map +1 -1
  37. package/dist/modules/git/commits/index.js +9 -1
  38. package/dist/modules/git/commits/index.js.map +1 -1
  39. package/dist/modules/git/context/remoteHandler.js +1 -1
  40. package/dist/modules/git/context/remoteHandler.js.map +1 -1
  41. package/dist/modules/git/gitOperations.js.map +1 -1
  42. package/dist/modules/git/lineTags.js +58 -0
  43. package/dist/modules/git/lineTags.js.map +1 -0
  44. package/dist/modules/track/TrackController.js +320 -0
  45. package/dist/modules/track/TrackController.js.map +1 -0
  46. package/dist/modules/version/BumpDeriver.js +119 -0
  47. package/dist/modules/version/BumpDeriver.js.map +1 -0
  48. package/dist/modules/version/GitVersionManager.js +42 -14
  49. package/dist/modules/version/GitVersionManager.js.map +1 -1
  50. package/dist/modules/version/ProjectVersion.js +84 -3
  51. package/dist/modules/version/ProjectVersion.js.map +1 -1
  52. package/dist/modules/version/VersionController.js +238 -3
  53. package/dist/modules/version/VersionController.js.map +1 -1
  54. package/dist/modules/version/VersionStamper.js +139 -0
  55. package/dist/modules/version/VersionStamper.js.map +1 -0
  56. package/dist/modules/version/branchChannel.js +94 -0
  57. package/dist/modules/version/branchChannel.js.map +1 -0
  58. package/dist/modules/version/resolveVersionRef.js +78 -0
  59. package/dist/modules/version/resolveVersionRef.js.map +1 -0
  60. package/dist/modules/version/versionFormatter.js +19 -1
  61. package/dist/modules/version/versionFormatter.js.map +1 -1
  62. package/dist/templates/defaults/changelog.detailed.ejs +0 -0
  63. package/dist/templates/defaults/changelog.ejs +0 -0
  64. package/dist/utils/cmd.js +15 -2
  65. package/dist/utils/cmd.js.map +1 -1
  66. package/package.json +5 -2
@@ -1,260 +1,385 @@
1
1
  {
2
- "appName": "My App",
3
- "output": "stdout",
4
- "tag": {
5
- "format": "^v(\\d+)\\.(\\d+)\\.(\\d+)(?:-([a-zA-Z0-9]+)\\.(\\d+))?$"
2
+ "appName": "My App",
3
+ "output": "stdout",
4
+ "tag": {
5
+ "prefix": "v"
6
+ },
7
+ "channels": {
8
+ "dev": {
9
+ "title": "Development",
10
+ "description": "Development channel is for testing new features and bug fixes before they are released to the public.",
11
+ "branch": "dev",
12
+ "prerelease": true
6
13
  },
7
- "channels": {
8
- "dev": {
9
- "title": "Development",
10
- "description": "Development channel is for testing new features and bug fixes before they are released to the public.",
11
- "branch": "dev",
12
- "prerelease": true
13
- },
14
- "alpha": {
15
- "title": "Alpha",
16
- "description": "Alpha channel is for testing new features and bug fixes before they are released to the public.",
17
- "branch": "test",
18
- "prerelease": true
19
- },
20
- "beta": {
21
- "title": "Beta",
22
- "description": "Beta channel is for testing new features and bug fixes before they are released to the public.",
23
- "branch": "test",
24
- "prerelease": true
25
- },
26
- "preview": {
27
- "title": "Preview",
28
- "description": "Preview channel is for testing new features and bug fixes before they are released to the public.",
29
- "branch": "release/*",
30
- "prerelease": true
31
- },
32
- "stable": {
33
- "title": "Stable",
34
- "description": "Stable channel is for the final release of new features and bug fixes.",
35
- "branch": "main",
36
- "prerelease": false
37
- }
14
+ "alpha": {
15
+ "title": "Alpha",
16
+ "description": "Alpha channel is for testing new features and bug fixes before they are released to the public.",
17
+ "branch": "test",
18
+ "prerelease": true
38
19
  },
39
- "noteTypes": [
40
- {
41
- "sign": "!",
42
- "type": "breaking-change",
43
- "terms": ["BREAKING CHANGE", "BREAKING CHANGES", "BREAKING"],
44
- "title": "⚠️ BREAKING CHANGE",
45
- "order": 1
46
- },
47
- {
48
- "sign": "-",
49
- "type": "deprecate",
50
- "terms": ["DEPRECATE", "DEPRECATION"],
51
- "title": "📉 DEPRECATE",
52
- "order": 2
53
- },
54
- {
55
- "sign": "+",
56
- "type": "new",
57
- "terms": ["NEW"],
58
- "title": "🆕 NEW",
59
- "order": 3
60
- },
61
- {
62
- "sign": "~",
63
- "type": "change",
64
- "terms": ["CHANGE", "CHANGES"],
65
- "title": "🔄 CHANGE",
66
- "order": 4
67
- },
68
- {
69
- "sign": "*",
70
- "type": "highlight",
71
- "terms": ["HIGHLIGHT", "HIGHLIGHTS"],
72
- "title": "🌟 KEY HIGHLIGHTS",
73
- "order": 5
74
- },
75
- {
76
- "sign": "?",
77
- "type": "experimental",
78
- "terms": ["EXPERIMENTAL"],
79
- "title": "🔬 EXPERIMENTAL",
80
- "order": 6
81
- },
82
- {
83
- "sign": "",
84
- "type": "known-issue",
85
- "terms": ["KNOWN ISSUE", "KNOWN ISSUES", "ISSUE", "ISSUES"],
86
- "title": "🐛 KNOWN ISSUES"
87
- }
20
+ "beta": {
21
+ "title": "Beta",
22
+ "description": "Beta channel is for testing new features and bug fixes before they are released to the public.",
23
+ "branch": "test",
24
+ "prerelease": true
25
+ },
26
+ "preview": {
27
+ "title": "Preview",
28
+ "description": "Preview channel is for testing new features and bug fixes before they are released to the public.",
29
+ "branch": "release/*",
30
+ "prerelease": true
31
+ },
32
+ "stable": {
33
+ "title": "Stable",
34
+ "description": "Stable channel is for the final release of new features and bug fixes.",
35
+ "branch": "main",
36
+ "prerelease": false
37
+ }
38
+ },
39
+ "noteTypes": [
40
+ {
41
+ "sign": "!",
42
+ "type": "breaking-change",
43
+ "terms": [
44
+ "BREAKING CHANGE",
45
+ "BREAKING CHANGES",
46
+ "BREAKING"
47
+ ],
48
+ "title": "\u26a0\ufe0f BREAKING CHANGE",
49
+ "order": 1,
50
+ "bump": "major"
51
+ },
52
+ {
53
+ "sign": "-",
54
+ "type": "deprecate",
55
+ "terms": [
56
+ "DEPRECATE",
57
+ "DEPRECATION"
58
+ ],
59
+ "title": "\ud83d\udcc9 DEPRECATE",
60
+ "order": 2
61
+ },
62
+ {
63
+ "sign": "+",
64
+ "type": "new",
65
+ "terms": [
66
+ "NEW"
67
+ ],
68
+ "title": "\ud83c\udd95 NEW",
69
+ "order": 3
70
+ },
71
+ {
72
+ "sign": "~",
73
+ "type": "change",
74
+ "terms": [
75
+ "CHANGE",
76
+ "CHANGES"
77
+ ],
78
+ "title": "\ud83d\udd04 CHANGE",
79
+ "order": 4
80
+ },
81
+ {
82
+ "sign": "*",
83
+ "type": "highlight",
84
+ "terms": [
85
+ "HIGHLIGHT",
86
+ "HIGHLIGHTS"
87
+ ],
88
+ "title": "\ud83c\udf1f KEY HIGHLIGHTS",
89
+ "order": 5
90
+ },
91
+ {
92
+ "sign": "?",
93
+ "type": "experimental",
94
+ "terms": [
95
+ "EXPERIMENTAL"
96
+ ],
97
+ "title": "\ud83d\udd2c EXPERIMENTAL",
98
+ "order": 6
99
+ },
100
+ {
101
+ "sign": "",
102
+ "type": "known-issue",
103
+ "terms": [
104
+ "KNOWN ISSUE",
105
+ "KNOWN ISSUES",
106
+ "ISSUE",
107
+ "ISSUES"
108
+ ],
109
+ "title": "\ud83d\udc1b KNOWN ISSUES"
110
+ }
111
+ ],
112
+ "commitTypes": [
113
+ {
114
+ "type": "feature",
115
+ "terms": [
116
+ "feat"
117
+ ],
118
+ "title": "\u2728 New Features & Enhancements",
119
+ "order": 1,
120
+ "bump": "minor"
121
+ },
122
+ {
123
+ "type": "bug-fix",
124
+ "terms": [
125
+ "fix"
126
+ ],
127
+ "title": "\ud83d\udc1e Resolved Issues",
128
+ "order": 2,
129
+ "bump": "patch"
130
+ },
131
+ {
132
+ "type": "documentation",
133
+ "terms": [
134
+ "docs"
135
+ ],
136
+ "title": "\ud83d\udcda Documentation",
137
+ "order": 3
138
+ },
139
+ {
140
+ "type": "style",
141
+ "terms": [
142
+ "style"
143
+ ],
144
+ "title": "\ud83c\udfa8 Code Style",
145
+ "order": 4
146
+ },
147
+ {
148
+ "type": "refactor",
149
+ "terms": [
150
+ "refactor"
151
+ ],
152
+ "title": "\u267b\ufe0f Refactoring",
153
+ "order": 5
154
+ },
155
+ {
156
+ "type": "performance",
157
+ "terms": [
158
+ "perf"
159
+ ],
160
+ "title": "\ud83d\ude80 Performance Improvements",
161
+ "order": 6,
162
+ "bump": "patch"
163
+ },
164
+ {
165
+ "type": "test",
166
+ "terms": [
167
+ "test"
168
+ ],
169
+ "title": "\ud83e\uddea Tests",
170
+ "order": 7
171
+ },
172
+ {
173
+ "type": "ci-cd",
174
+ "terms": [
175
+ "ci"
176
+ ],
177
+ "title": "\ud83d\udd04 CI/CD",
178
+ "order": 8
179
+ },
180
+ {
181
+ "type": "chore",
182
+ "terms": [
183
+ "chore"
184
+ ],
185
+ "title": "\ud83d\udd27 Codebase Maintenance and Updates",
186
+ "order": 9
187
+ }
188
+ ],
189
+ "linkTypes": [
190
+ {
191
+ "type": "basic",
192
+ "sign": [
193
+ "#"
194
+ ],
195
+ "title": "Linked to"
196
+ },
197
+ {
198
+ "type": "closed",
199
+ "terms": [
200
+ "Closes",
201
+ "Closed"
202
+ ],
203
+ "title": "Closed",
204
+ "order": 1
205
+ },
206
+ {
207
+ "type": "fixed",
208
+ "terms": [
209
+ "Fixes",
210
+ "Fixed"
211
+ ],
212
+ "title": "Fixed",
213
+ "order": 2
214
+ },
215
+ {
216
+ "type": "resolved",
217
+ "terms": [
218
+ "Resolves",
219
+ "Resolved"
220
+ ],
221
+ "title": "Resolved",
222
+ "order": 3
223
+ },
224
+ {
225
+ "type": "related",
226
+ "terms": [
227
+ "Related",
228
+ "Related to"
229
+ ],
230
+ "title": "Related to",
231
+ "order": 4
232
+ },
233
+ {
234
+ "type": "connects",
235
+ "terms": [
236
+ "Connects",
237
+ "Connects to"
238
+ ],
239
+ "title": "Connects to",
240
+ "order": 5
241
+ }
242
+ ],
243
+ "mentionTypes": [
244
+ {
245
+ "type": "co-authored-by",
246
+ "terms": [
247
+ "Co-authored-by"
248
+ ],
249
+ "title": "Co-authored-by",
250
+ "order": 1
251
+ },
252
+ {
253
+ "type": "signed-off-by",
254
+ "terms": [
255
+ "Signed-off-by"
256
+ ],
257
+ "title": "Signed Off By",
258
+ "order": 2
259
+ },
260
+ {
261
+ "type": "acked-by",
262
+ "terms": [
263
+ "Acked-by"
264
+ ],
265
+ "title": "Acknowledged By",
266
+ "order": 3
267
+ },
268
+ {
269
+ "type": "reviewed-by",
270
+ "terms": [
271
+ "Reviewed-by"
272
+ ],
273
+ "title": "Reviewed By",
274
+ "order": 4
275
+ },
276
+ {
277
+ "type": "helped-by",
278
+ "terms": [
279
+ "Helped-by"
280
+ ],
281
+ "title": "Helped By",
282
+ "order": 5
283
+ }
284
+ ],
285
+ "fileGroups": {
286
+ "Code": [
287
+ "src/",
288
+ "plugins/",
289
+ "pkg/",
290
+ "cmake/",
291
+ "build/",
292
+ "bin/",
293
+ "sysmodules/",
294
+ "modules/"
88
295
  ],
89
- "commitTypes": [
90
- {
91
- "type": "feature",
92
- "terms": ["feat"],
93
- "title": "✨ New Features & Enhancements",
94
- "order": 1
95
- },
96
- {
97
- "type": "bug-fix",
98
- "terms": ["fix"],
99
- "title": "🐞 Resolved Issues",
100
- "order": 2
101
- },
102
- {
103
- "type": "documentation",
104
- "terms": ["docs"],
105
- "title": "📚 Documentation",
106
- "order": 3
107
- },
108
- {
109
- "type": "style",
110
- "terms": ["style"],
111
- "title": "🎨 Code Style",
112
- "order": 4
113
- },
114
- {
115
- "type": "refactor",
116
- "terms": ["refactor"],
117
- "title": "♻️ Refactoring",
118
- "order": 5
119
- },
120
- {
121
- "type": "performance",
122
- "terms": ["perf"],
123
- "title": "🚀 Performance Improvements",
124
- "order": 6
125
- },
126
- {
127
- "type": "test",
128
- "terms": ["test"],
129
- "title": "🧪 Tests",
130
- "order": 7
131
- },
132
- {
133
- "type": "ci-cd",
134
- "terms": ["ci"],
135
- "title": "🔄 CI/CD",
136
- "order": 8
137
- },
138
- {
139
- "type": "chore",
140
- "terms": ["chore"],
141
- "title": "🔧 Codebase Maintenance and Updates",
142
- "order": 9
143
- }
296
+ "Docs": [
297
+ "docs/",
298
+ ".github/",
299
+ ".config/",
300
+ ".vscode/",
301
+ "README.md",
302
+ "README.tr.md",
303
+ "CONTRIBUTING.md",
304
+ "CODE_OF_CONDUCT.md",
305
+ "CHANGELOG.md",
306
+ "release.config.mjs"
144
307
  ],
145
- "linkTypes": [
146
- {
147
- "type": "basic",
148
- "sign": ["#"],
149
- "title": "Linked to"
150
- },
151
- {
152
- "type": "closed",
153
- "terms": ["Closes", "Closed"],
154
- "title": "Closed",
155
- "order": 1
156
- },
157
- {
158
- "type": "fixed",
159
- "terms": ["Fixes", "Fixed"],
160
- "title": "Fixed",
161
- "order": 2
162
- },
163
- {
164
- "type": "resolved",
165
- "terms": ["Resolves", "Resolved"],
166
- "title": "Resolved",
167
- "order": 3
168
- },
169
- {
170
- "type": "related",
171
- "terms": ["Related", "Related to"],
172
- "title": "Related to",
173
- "order": 4
174
- },
175
- {
176
- "type": "connects",
177
- "terms": ["Connects", "Connects to"],
178
- "title": "Connects to",
179
- "order": 5
180
- }
308
+ "Tests": [
309
+ "tests/",
310
+ "data/",
311
+ "cache/",
312
+ "temp/",
313
+ "drafts/",
314
+ "log/"
181
315
  ],
182
- "mentionTypes": [
183
- {
184
- "type": "co-authored-by",
185
- "terms": ["Co-authored-by"],
186
- "title": "Co-authored-by",
187
- "order": 1
188
- },
189
- {
190
- "type": "signed-off-by",
191
- "terms": ["Signed-off-by"],
192
- "title": "Signed Off By",
193
- "order": 2
194
- },
195
- {
196
- "type": "acked-by",
197
- "terms": ["Acked-by"],
198
- "title": "Acknowledged By",
199
- "order": 3
200
- },
201
- {
202
- "type": "reviewed-by",
203
- "terms": ["Reviewed-by"],
204
- "title": "Reviewed By",
205
- "order": 4
206
- },
207
- {
208
- "type": "helped-by",
209
- "terms": ["Helped-by"],
210
- "title": "Helped By",
211
- "order": 5
212
- }
316
+ "Configurations": [
317
+ "config/",
318
+ ".editorconfig",
319
+ ".env",
320
+ ".gitignore",
321
+ ".gitmodules",
322
+ ".gitattributes",
323
+ ".golangci.yml",
324
+ "Dockerfile",
325
+ "Makefile",
326
+ "CMakeLists.txt",
327
+ "package.json",
328
+ "package-lock.json",
329
+ "t.txt"
213
330
  ],
214
- "fileGroups": {
215
- "Code": ["src/", "plugins/", "pkg/", "cmake/", "build/", "bin/", "sysmodules/", "modules/"],
216
- "Docs": ["docs/", ".github/", ".config/", ".vscode/", "README.md", "README.tr.md", "CONTRIBUTING.md", "CODE_OF_CONDUCT.md", "CHANGELOG.md", "release.config.mjs"],
217
- "Tests": ["tests/", "data/", "cache/", "temp/", "drafts/", "log/"],
218
- "Configurations": ["config/", ".editorconfig", ".env", ".gitignore", ".gitmodules", ".gitattributes", ".golangci.yml", "Dockerfile", "Makefile", "CMakeLists.txt", "package.json", "package-lock.json", "t.txt"],
219
- "Assets": ["assets/", "dist/", "templates/"]
220
- },
221
- "allowedBranches": ["dev", "test", "release/*", "main"],
222
- "allowedChannels": ["beta", "rc", "alpha", "stable"],
223
- "options": {
224
- "commits": {
225
- "sort": "date"
226
- }
227
- },
228
- "helpers": {
229
- "groupBy": "function(array, key, config) { return array.reduce((result, item) => { const groupKey = key.split('.').reduce((acc, part) => acc && acc[part], item); if (!result[groupKey]) { const matchingType = config.commitTypes.find(ct => ct.terms.includes(groupKey)); const typeTitle = matchingType ? matchingType.title : 'Other Changes'; result[groupKey] = { title: typeTitle, items: [] }; } result[groupKey].items.push(item); return result; }, {}); }",
230
- "groupByNotes": "function(array, config, includeUnmatched = true) { return array.reduce((result, item) => { if (!item.notes || item.notes.length === 0) return result; item.notes.forEach(note => { const groupKey = note.type; const matchingType = config.noteTypes.find(nt => nt.type === groupKey); if (!matchingType && !includeUnmatched) return; if (!result[groupKey]) { const typeTitle = matchingType ? matchingType.title : groupKey; result[groupKey] = { title: typeTitle, items: [] }; } result[groupKey].items.push({ note, commit: item }); }); return result; }, {}); }"
231
- },
232
- "branchStrategies":{
233
- "feature": {
234
- "baseBranches": ["develop"],
235
- "createTag": false,
236
- "deleteAfterMerge": true
237
- },
238
- "release": {
239
- "baseBranches": ["main", "develop"],
240
- "createTag": true,
241
- "deleteAfterMerge": true,
242
- "tagPrefix": "v"
243
- },
244
- "hotfix": {
245
- "baseBranches": ["main", "develop"],
246
- "createTag": true,
247
- "deleteAfterMerge": true,
248
- "tagPrefix": "hotfix-"
249
- }
331
+ "Assets": [
332
+ "assets/",
333
+ "dist/",
334
+ "templates/"
335
+ ]
336
+ },
337
+ "options": {
338
+ "commits": {
339
+ "sort": "date"
340
+ }
341
+ },
342
+ "helpers": {
343
+ "groupBy": "function(array, key, config) { return array.reduce((result, item) => { const groupKey = key.split('.').reduce((acc, part) => acc && acc[part], item); if (!result[groupKey]) { const matchingType = config.commitTypes.find(ct => ct.terms.includes(groupKey)); const typeTitle = matchingType ? matchingType.title : 'Other Changes'; result[groupKey] = { title: typeTitle, items: [] }; } result[groupKey].items.push(item); return result; }, {}); }",
344
+ "groupByNotes": "function(array, config, includeUnmatched = true) { return array.reduce((result, item) => { if (!item.notes || item.notes.length === 0) return result; item.notes.forEach(note => { const groupKey = note.type; const matchingType = config.noteTypes.find(nt => nt.type === groupKey); if (!matchingType && !includeUnmatched) return; if (!result[groupKey]) { const typeTitle = matchingType ? matchingType.title : groupKey; result[groupKey] = { title: typeTitle, items: [] }; } result[groupKey].items.push({ note, commit: item }); }); return result; }, {}); }"
345
+ },
346
+ "branchStrategies": {
347
+ "feature": {
348
+ "baseBranches": [
349
+ "develop"
350
+ ],
351
+ "createTag": false,
352
+ "deleteAfterMerge": true
250
353
  },
251
- "repository":{
252
- "remote":{
253
- "default": "origin"
254
- }
354
+ "release": {
355
+ "baseBranches": [
356
+ "main",
357
+ "develop"
358
+ ],
359
+ "createTag": true,
360
+ "deleteAfterMerge": true,
361
+ "tagPrefix": "v"
255
362
  },
256
- "app":{
257
- "OS": [],
258
- "ARCH": []
363
+ "hotfix": {
364
+ "baseBranches": [
365
+ "main",
366
+ "develop"
367
+ ],
368
+ "createTag": true,
369
+ "deleteAfterMerge": true,
370
+ "tagPrefix": "hotfix-"
371
+ }
372
+ },
373
+ "repository": {
374
+ "remote": {
375
+ "default": "origin"
259
376
  }
260
- }
377
+ },
378
+ "app": {
379
+ "OS": [],
380
+ "ARCH": []
381
+ },
382
+ "versioning": {
383
+ "defaultBump": "patch"
384
+ }
385
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ /**
3
+ * The release FLOW: which phases a project has, which branch each one cuts on,
4
+ * and how the branches move between them.
5
+ *
6
+ * ── WHY THIS IS A NEW DECLARATION AND NOT `branchStrategies` ──
7
+ *
8
+ * `branchStrategies` already describes a flow, and it describes a DIFFERENT one:
9
+ * git-flow. A branch's type comes from the first segment of its NAME
10
+ * (`release/1.4.0` → `release`), `grm branch finish` merges it into every
11
+ * `baseBranches` entry, and — the part that matters — `createTag` takes the
12
+ * version from the branch name (`activeBranch.replace('release/','')`). That
13
+ * model works, and it cannot express a project whose integration line IS a
14
+ * long-lived branch: there is no `release/*` branch to name, so there is no
15
+ * name to read a version out of, and the bump derivation (commitTypes /
16
+ * noteTypes) is bypassed entirely.
17
+ *
18
+ * ── WHY NOT FlowManager's `phases` EITHER ──
19
+ *
20
+ * FlowManager carries its own private `phases` type with hardcoded channels
21
+ * (dev/alpha/beta/stabil) and a `releasePrefix: 'release/'` assumption, and
22
+ * every one of its call sites constructs it with NO config — so a project
23
+ * cannot reach it. Measured 2026-08-06 against a repository whose release line
24
+ * was at v1.3.0: `flow phase dev --next` answered `v1.0.0-dev.1` (it could not
25
+ * see the tags, so it fell back to its default base version), `flow phase prod
26
+ * --next` errored on a `release/1.0.0` branch that does not exist, and
27
+ * `flow phase qa dev` threw on `startBuildNumber` because `dev` is not among
28
+ * its hardcoded qa channels and no config can add it.
29
+ *
30
+ * So this type is what a project DECLARES, and the version always comes from
31
+ * the commit range — never from a branch name.
32
+ */
33
+ Object.defineProperty(exports, "__esModule", { value: true });
34
+ //# sourceMappingURL=Flow.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Flow.js","sourceRoot":"","sources":["../../../src/config/types/Flow.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=Track.js.map