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.
- package/README.md +0 -0
- package/dist/commands/branch/command.js +84 -14
- package/dist/commands/branch/command.js.map +1 -1
- package/dist/commands/branch/types/BranchFinishCliArgs.js +3 -0
- package/dist/commands/branch/types/BranchFinishCliArgs.js.map +1 -0
- package/dist/commands/branch/types/BranchSyncCliArgs.js +3 -0
- package/dist/commands/branch/types/BranchSyncCliArgs.js.map +1 -0
- package/dist/commands/changelog/command.js +28 -3
- package/dist/commands/changelog/command.js.map +1 -1
- package/dist/commands/commit/command.js +8 -3
- package/dist/commands/commit/command.js.map +1 -1
- package/dist/commands/flow/command.js +196 -6
- package/dist/commands/flow/command.js.map +1 -1
- package/dist/commands/track/command.js +136 -0
- package/dist/commands/track/command.js.map +1 -0
- package/dist/commands/version/command.js +115 -23
- package/dist/commands/version/command.js.map +1 -1
- package/dist/config/defaults/config.json +375 -250
- package/dist/config/types/Flow.js +34 -0
- package/dist/config/types/Flow.js.map +1 -0
- package/dist/config/types/Track.js +3 -0
- package/dist/config/types/Track.js.map +1 -0
- package/dist/config/types/Versioning.js +3 -0
- package/dist/config/types/Versioning.js.map +1 -0
- package/dist/index.js +25 -6
- package/dist/index.js.map +1 -1
- package/dist/modules/FlowManager.js +47 -4
- package/dist/modules/FlowManager.js.map +1 -1
- package/dist/modules/branch/BranchController.js +33 -2
- package/dist/modules/branch/BranchController.js.map +1 -1
- package/dist/modules/changelog/ChangelogController.js.map +1 -1
- package/dist/modules/changelog/templateOperations.js.map +1 -1
- package/dist/modules/flow/FlowController.js +764 -0
- package/dist/modules/flow/FlowController.js.map +1 -0
- package/dist/modules/git/commits/commitProcessor.js +21 -3
- package/dist/modules/git/commits/commitProcessor.js.map +1 -1
- package/dist/modules/git/commits/index.js +9 -1
- package/dist/modules/git/commits/index.js.map +1 -1
- package/dist/modules/git/context/remoteHandler.js +1 -1
- package/dist/modules/git/context/remoteHandler.js.map +1 -1
- package/dist/modules/git/gitOperations.js.map +1 -1
- package/dist/modules/git/lineTags.js +58 -0
- package/dist/modules/git/lineTags.js.map +1 -0
- package/dist/modules/track/TrackController.js +320 -0
- package/dist/modules/track/TrackController.js.map +1 -0
- package/dist/modules/version/BumpDeriver.js +119 -0
- package/dist/modules/version/BumpDeriver.js.map +1 -0
- package/dist/modules/version/GitVersionManager.js +42 -14
- package/dist/modules/version/GitVersionManager.js.map +1 -1
- package/dist/modules/version/ProjectVersion.js +84 -3
- package/dist/modules/version/ProjectVersion.js.map +1 -1
- package/dist/modules/version/VersionController.js +238 -3
- package/dist/modules/version/VersionController.js.map +1 -1
- package/dist/modules/version/VersionStamper.js +139 -0
- package/dist/modules/version/VersionStamper.js.map +1 -0
- package/dist/modules/version/branchChannel.js +94 -0
- package/dist/modules/version/branchChannel.js.map +1 -0
- package/dist/modules/version/resolveVersionRef.js +78 -0
- package/dist/modules/version/resolveVersionRef.js.map +1 -0
- package/dist/modules/version/versionFormatter.js +19 -1
- package/dist/modules/version/versionFormatter.js.map +1 -1
- package/dist/templates/defaults/changelog.detailed.ejs +0 -0
- package/dist/templates/defaults/changelog.ejs +0 -0
- package/dist/utils/cmd.js +15 -2
- package/dist/utils/cmd.js.map +1 -1
- package/package.json +5 -2
package/README.md
CHANGED
|
File without changes
|
|
@@ -3,12 +3,43 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createBranchCommand = createBranchCommand;
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
5
|
const BranchController_1 = require("../../modules/branch/BranchController");
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
6
|
+
const configManager_1 = require("../../config/configManager");
|
|
7
|
+
/**
|
|
8
|
+
* The branch TYPES come from the declaration, never from a list in this file.
|
|
9
|
+
*
|
|
10
|
+
* ── WHY THIS WAS A DEFECT AND NOT A SIMPLIFICATION ──
|
|
11
|
+
*
|
|
12
|
+
* `branchStrategies` is already a free-keyed map: a project declares `bugfix`,
|
|
13
|
+
* `future`, `spike` or whatever its process actually has, and `branch finish`
|
|
14
|
+
* has always honoured those keys — it reads the type out of the branch NAME and
|
|
15
|
+
* looks the strategy up. But the CREATE side carried three hardcoded names, so
|
|
16
|
+
* a declared fourth type could be finished and never created. The declaration
|
|
17
|
+
* was half-read, which is the shape where a config key looks alive and is not.
|
|
18
|
+
*
|
|
19
|
+
* PREFIX DEFAULTS TO `<type>/` and can be declared (`branchPrefix`). The default
|
|
20
|
+
* is what the three hardcoded entries did, so nothing moves for a project that
|
|
21
|
+
* says nothing.
|
|
22
|
+
*
|
|
23
|
+
* ⚠️ READ AT REGISTRATION TIME, so `--config` cannot change which subcommands
|
|
24
|
+
* exist — commander needs the tree before it parses the flags. A project pointed
|
|
25
|
+
* at a different declaration gets that declaration everywhere EXCEPT the shape
|
|
26
|
+
* of this one verb. Stated because it is the kind of asymmetry that is only
|
|
27
|
+
* confusing when it is undocumented.
|
|
28
|
+
*/
|
|
29
|
+
async function declaredBranchTypes() {
|
|
30
|
+
var _a;
|
|
31
|
+
const config = await (0, configManager_1.readConfig)();
|
|
32
|
+
const strategies = ((_a = config === null || config === void 0 ? void 0 : config.branchStrategies) !== null && _a !== void 0 ? _a : {});
|
|
33
|
+
return Object.keys(strategies).map(name => {
|
|
34
|
+
var _a, _b;
|
|
35
|
+
return ({
|
|
36
|
+
name,
|
|
37
|
+
prefix: (_b = (_a = strategies[name]) === null || _a === void 0 ? void 0 : _a.branchPrefix) !== null && _b !== void 0 ? _b : `${name}/`,
|
|
38
|
+
});
|
|
39
|
+
});
|
|
40
|
+
}
|
|
11
41
|
async function createBranchCommand(program) {
|
|
42
|
+
const branchTypes = await declaredBranchTypes();
|
|
12
43
|
const createBranchSubcommand = (type, prefix) => {
|
|
13
44
|
return new commander_1.Command(type)
|
|
14
45
|
.description(`Create and manage ${type} branches`)
|
|
@@ -64,7 +95,33 @@ async function createBranchCommand(program) {
|
|
|
64
95
|
await controller.handleSwitchCommand(options);
|
|
65
96
|
});
|
|
66
97
|
};
|
|
67
|
-
|
|
98
|
+
// ── The FLOW-VERB surface, wired to the controller that already served it ──
|
|
99
|
+
//
|
|
100
|
+
// BranchController.handleCommand is a FLAT flag dispatcher and always has
|
|
101
|
+
// been: it branches on options.release / .hotfix / .feature / .finish /
|
|
102
|
+
// .sync and calls BranchManager.createReleaseBranch, createHotfixBranch,
|
|
103
|
+
// createFeatureBranch, finishBranch and syncBranch. Those five manager
|
|
104
|
+
// methods are implemented and reachable from nothing.
|
|
105
|
+
//
|
|
106
|
+
// The parent `branch` command carried no options and no action, so every one
|
|
107
|
+
// of those spellings answered "unknown option" — the mechanism existed, the
|
|
108
|
+
// door to it did not. This is the wiring, not a reimplementation: the same
|
|
109
|
+
// controller, the same option shape.
|
|
110
|
+
const programBranch = program
|
|
111
|
+
.command('branch')
|
|
112
|
+
.alias('b')
|
|
113
|
+
.description('Manage different types of git branches')
|
|
114
|
+
.option('--release <version>', 'Create a protected release branch (release/<version>)')
|
|
115
|
+
.option('--hotfix <version>', 'Create a hotfix branch (hotfix/<version>)')
|
|
116
|
+
.option('--feature <name>', 'Create a feature branch (feature/<name>)')
|
|
117
|
+
.option('--finish [branchName]', 'Merge, tag and clean up a feature/release/hotfix branch (defaults to the current branch)')
|
|
118
|
+
.option('--sync', 'Rebase the current branch onto its remote counterpart')
|
|
119
|
+
.option('--push', 'Push the resulting branch and tags to the remote')
|
|
120
|
+
.action(async (commandOptions, command) => {
|
|
121
|
+
const options = { ...program.opts(), ...command.optsWithGlobals() };
|
|
122
|
+
const controller = new BranchController_1.BranchController();
|
|
123
|
+
await controller.handleCommand(options);
|
|
124
|
+
});
|
|
68
125
|
const programBranchCreate = new commander_1.Command()
|
|
69
126
|
.command('create')
|
|
70
127
|
.alias('c')
|
|
@@ -161,6 +218,27 @@ async function createBranchCommand(program) {
|
|
|
161
218
|
const controller = new BranchController_1.BranchController();
|
|
162
219
|
await controller.handleUnProtectCommand(options);
|
|
163
220
|
}));
|
|
221
|
+
programBranch.addCommand(new commander_1.Command()
|
|
222
|
+
.command('finish')
|
|
223
|
+
.alias('f')
|
|
224
|
+
.description('Finish a feature/release/hotfix branch: merge it into its base branches, tag and clean up per branchStrategies')
|
|
225
|
+
.argument('[name]', 'Optional: Name of the branch to finish. If omitted, the current branch is finished')
|
|
226
|
+
.addOption(new commander_1.Option('--push', 'Push the resulting merges and tags to the remote'))
|
|
227
|
+
.action(async (args, commandOptions) => {
|
|
228
|
+
const options = { ...program.opts(), ...commandOptions };
|
|
229
|
+
options.name = args;
|
|
230
|
+
const controller = new BranchController_1.BranchController();
|
|
231
|
+
await controller.handleFinishCommand(options);
|
|
232
|
+
}));
|
|
233
|
+
programBranch.addCommand(new commander_1.Command()
|
|
234
|
+
.command('sync')
|
|
235
|
+
.description('Rebase the current branch onto its remote counterpart')
|
|
236
|
+
.addOption(new commander_1.Option('--push', 'Push the rebased branch back to the remote'))
|
|
237
|
+
.action(async (commandOptions) => {
|
|
238
|
+
const options = { ...program.opts(), ...commandOptions };
|
|
239
|
+
const controller = new BranchController_1.BranchController();
|
|
240
|
+
await controller.handleSyncCommand(options);
|
|
241
|
+
}));
|
|
164
242
|
programBranch.addCommand(new commander_1.Command()
|
|
165
243
|
.command('list')
|
|
166
244
|
.alias('l')
|
|
@@ -187,14 +265,6 @@ async function createBranchCommand(program) {
|
|
|
187
265
|
// console.log(`Comparing version: ${commandOptions.draft}`);
|
|
188
266
|
// })
|
|
189
267
|
// )
|
|
190
|
-
// // .option('--release <version>', 'Create a release branch (release/{version})')
|
|
191
|
-
// // .option('--hotfix <version>', 'Create a hotfix branch (hotfix/{version})')
|
|
192
|
-
// // .option('--feature <name>', 'Create a feature branch (feature/{name})')
|
|
193
|
-
// // .option('--finish [branchName]', 'Finish a feature/release/hotfix branch')
|
|
194
|
-
// .action(async (commandOptions: BranchCliArgs) => {
|
|
195
|
-
// const options = { ...program.opts(), ...commandOptions };
|
|
196
|
-
// branchRun(options);
|
|
197
|
-
// });
|
|
198
268
|
return programBranch;
|
|
199
269
|
}
|
|
200
270
|
//# sourceMappingURL=command.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/branch/command.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/branch/command.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BranchFinishCliArgs.js","sourceRoot":"","sources":["../../../../src/commands/branch/types/BranchFinishCliArgs.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BranchSyncCliArgs.js","sourceRoot":"","sources":["../../../../src/commands/branch/types/BranchSyncCliArgs.ts"],"names":[],"mappings":""}
|
|
@@ -5,10 +5,35 @@ const commander_1 = require("commander");
|
|
|
5
5
|
const configManager_1 = require("../../config/configManager");
|
|
6
6
|
const ChangelogController_1 = require("../../modules/changelog/ChangelogController");
|
|
7
7
|
function createChangelogCommand(program) {
|
|
8
|
+
// ── The FLAT option surface on the parent command ─────────────────────
|
|
9
|
+
//
|
|
10
|
+
// `changelog generate --from <ref>` and `changelog --from <ref>` are the
|
|
11
|
+
// same operation. Only the first was reachable: the parent command declared
|
|
12
|
+
// no options, so the second answered "unknown option '--from'".
|
|
13
|
+
//
|
|
14
|
+
// Both spellings now build the same options object and hand it to the same
|
|
15
|
+
// ChangelogController.handleGenerateCommand, which passes it to
|
|
16
|
+
// renderChangelogTemplate → resolveGitReferences, where `from` is read and
|
|
17
|
+
// resolved into the range the changelog is rendered over. One code path, so
|
|
18
|
+
// the two spellings cannot answer differently.
|
|
8
19
|
const changelogProgram = program
|
|
9
20
|
.command("changelog")
|
|
10
21
|
.alias("ch")
|
|
11
|
-
.description("Changelog helper")
|
|
22
|
+
.description("Changelog helper")
|
|
23
|
+
.option("-f, --from <ref>", "Start reference point (commit, tag, branch, or date)")
|
|
24
|
+
.option("-t, --to <ref>", "End reference point (commit, tag, branch, or date)")
|
|
25
|
+
.option("-r, --range <range>", "Specify a range of references")
|
|
26
|
+
.option("-p, --point <commit | tag | branch | date | reference>", "Specify a single reference")
|
|
27
|
+
.option("--template <path>", "Path to a custom template file")
|
|
28
|
+
.option("-o, --output <path>", "Path to output the changelog")
|
|
29
|
+
.option("--dry-run", "Preview the changelog generation without writing")
|
|
30
|
+
.addOption(new commander_1.Option("-m, --merge-all", "Merge all changes into a single output").default(false))
|
|
31
|
+
.action(async (commandOptions, command) => {
|
|
32
|
+
const options = { ...program.opts(), ...command.optsWithGlobals() };
|
|
33
|
+
const config = await (0, configManager_1.readConfig)(options === null || options === void 0 ? void 0 : options.config, options.environment);
|
|
34
|
+
const controller = new ChangelogController_1.ChangelogController();
|
|
35
|
+
await controller.handleGenerateCommand(options, config);
|
|
36
|
+
});
|
|
12
37
|
changelogProgram.addCommand(new commander_1.Command()
|
|
13
38
|
.command("generate")
|
|
14
39
|
.alias("g")
|
|
@@ -21,8 +46,8 @@ function createChangelogCommand(program) {
|
|
|
21
46
|
.option("-o, --output <path>", "Path to output the changelog")
|
|
22
47
|
.option("--dry-run", "Preview the changelog generation without writing")
|
|
23
48
|
.addOption(new commander_1.Option("-m, --merge-all", "Merge all changes into a single output").default(false))
|
|
24
|
-
.action(async (commandOptions) => {
|
|
25
|
-
const options = { ...program.opts(), ...
|
|
49
|
+
.action(async (commandOptions, command) => {
|
|
50
|
+
const options = { ...program.opts(), ...command.optsWithGlobals() };
|
|
26
51
|
const config = await (0, configManager_1.readConfig)(options === null || options === void 0 ? void 0 : options.config, options.environment);
|
|
27
52
|
const controller = new ChangelogController_1.ChangelogController();
|
|
28
53
|
await controller.handleGenerateCommand(options, config);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/changelog/command.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/changelog/command.ts"],"names":[],"mappings":";;AAMA,wDAiEC;AAvED,yCAA4C;AAC5C,8DAAwD;AACxD,qFAAkF;AAIlF,SAAgB,sBAAsB,CAAC,OAAgB;IAEnD,yEAAyE;IACzE,EAAE;IACF,yEAAyE;IACzE,4EAA4E;IAC5E,gEAAgE;IAChE,EAAE;IACF,2EAA2E;IAC3E,gEAAgE;IAChE,2EAA2E;IAC3E,4EAA4E;IAC5E,+CAA+C;IAC/C,MAAM,gBAAgB,GAAG,OAAO;SAC/B,OAAO,CAAC,WAAW,CAAC;SACpB,KAAK,CAAC,IAAI,CAAC;SACX,WAAW,CAAC,kBAAkB,CAAC;SAC/B,MAAM,CAAC,kBAAkB,EAAE,sDAAsD,CAAC;SAClF,MAAM,CAAC,gBAAgB,EAAE,oDAAoD,CAAC;SAC9E,MAAM,CAAC,qBAAqB,EAAE,+BAA+B,CAAC;SAC9D,MAAM,CAAC,wDAAwD,EAAE,4BAA4B,CAAC;SAC9F,MAAM,CAAC,mBAAmB,EAAE,gCAAgC,CAAC;SAC7D,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;SAC7D,MAAM,CAAC,WAAW,EAAE,kDAAkD,CAAC;SACvE,SAAS,CAAC,IAAI,kBAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACjG,MAAM,CAAC,KAAK,EAAE,cAAgC,EAAE,OAAgB,EAAE,EAAE;QACjE,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,EAAsB,CAAC;QAExF,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAU,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;QACrE,MAAM,UAAU,GAAG,IAAI,yCAAmB,EAAE,CAAA;QAC5C,MAAM,UAAU,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IAC3D,CAAC,CAAC,CAAC;IAEH,gBAAgB,CAAC,UAAU,CAC3B,IAAI,mBAAO,EAAE;SACR,OAAO,CAAC,UAAU,CAAC;SACnB,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,0CAA0C,CAAC;SACvD,MAAM,CACP,kBAAkB,EAClB,sDAAsD,CACrD;SACA,MAAM,CACP,gBAAgB,EAChB,oDAAoD,CACnD;SACA,MAAM,CAAC,qBAAqB,EAAE,+BAA+B,CAAC;SAC9D,MAAM,CACP,uDAAuD,EACvD,4BAA4B,CAC3B;SACA,MAAM,CAAC,mBAAmB,EAAE,gCAAgC,CAAC;SAC7D,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;SAC7D,MAAM,CAAC,WAAW,EAAE,kDAAkD,CAAC;SACvE,SAAS,CAAC,IAAI,kBAAM,CAAC,iBAAiB,EAAE,wCAAwC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SACjG,MAAM,CAAC,KAAK,EAAE,cAAwC,EAAE,OAAgB,EAAE,EAAE;QAC7E,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,OAAO,CAAC,eAAe,EAAE,EAAsB,CAAC;QAExF,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAU,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;QACrE,MAAM,UAAU,GAAG,IAAI,yCAAmB,EAAE,CAAA;QAC5C,MAAM,UAAU,CAAC,qBAAqB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACvD,CAAC,CAAC,CACL,CAAC;IAEF,OAAO,gBAAgB,CAAC;AAC5B,CAAC"}
|
|
@@ -4,6 +4,11 @@ exports.createCommitCommand = createCommitCommand;
|
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
5
|
const configManager_1 = require("../../config/configManager");
|
|
6
6
|
const CommitController_1 = require("../../modules/commit/CommitController");
|
|
7
|
+
// NONE of these subcommands declares a positional argument, so commander
|
|
8
|
+
// invokes every action as (options, command). The previous signatures named the
|
|
9
|
+
// FIRST parameter `args` and read the SECOND as the options — which is a Command
|
|
10
|
+
// instance, so every flag was silently discarded: `commit create -m "..." -t feat`
|
|
11
|
+
// reached the controller with no message and no type.
|
|
7
12
|
function createCommitCommand(program) {
|
|
8
13
|
const commitProgram = program
|
|
9
14
|
.command("commit")
|
|
@@ -21,7 +26,7 @@ function createCommitCommand(program) {
|
|
|
21
26
|
.addOption(new commander_1.Option("--dry-run", "Show what would be committed without committing"))
|
|
22
27
|
.addOption(new commander_1.Option("--no-verify", "Skip pre-commit and commit-msg hooks"))
|
|
23
28
|
.addOption(new commander_1.Option("-i, --sign", "Sign the commit with a GPG key"))
|
|
24
|
-
.action(async (
|
|
29
|
+
.action(async (commandOptions) => {
|
|
25
30
|
const options = { ...program.opts(), ...commandOptions };
|
|
26
31
|
const config = await (0, configManager_1.readConfig)(options === null || options === void 0 ? void 0 : options.config, options.environment);
|
|
27
32
|
const controller = new CommitController_1.CommitController();
|
|
@@ -32,7 +37,7 @@ function createCommitCommand(program) {
|
|
|
32
37
|
.alias("l")
|
|
33
38
|
.description("List recent commits with options to filter")
|
|
34
39
|
.option("-c, --count <number>", "Number of commits to list")
|
|
35
|
-
.action(async (
|
|
40
|
+
.action(async (commandOptions) => {
|
|
36
41
|
const options = { ...program.opts(), ...commandOptions };
|
|
37
42
|
const config = await (0, configManager_1.readConfig)(options === null || options === void 0 ? void 0 : options.config, options.environment);
|
|
38
43
|
const controller = new CommitController_1.CommitController();
|
|
@@ -42,7 +47,7 @@ function createCommitCommand(program) {
|
|
|
42
47
|
.command("amend")
|
|
43
48
|
.alias("a")
|
|
44
49
|
.description("Amend the previous commit")
|
|
45
|
-
.action(async (
|
|
50
|
+
.action(async (commandOptions) => {
|
|
46
51
|
const options = { ...program.opts(), ...commandOptions };
|
|
47
52
|
const config = await (0, configManager_1.readConfig)(options === null || options === void 0 ? void 0 : options.config, options.environment);
|
|
48
53
|
const controller = new CommitController_1.CommitController();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/commit/command.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/commit/command.ts"],"names":[],"mappings":";;AAYA,kDA6DC;AAzED,yCAA4C;AAC5C,8DAAwD;AACxD,4EAAyE;AAKzE,yEAAyE;AACzE,gFAAgF;AAChF,iFAAiF;AACjF,mFAAmF;AACnF,sDAAsD;AACtD,SAAgB,mBAAmB,CAAC,OAAgB;IAEhD,MAAM,aAAa,GAAG,OAAO;SAC5B,OAAO,CAAC,QAAQ,CAAC;SACjB,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,mCAAmC,CAAC,CAAC;IAElD,aAAa,CAAC,UAAU,CACxB,IAAI,mBAAO,EAAE;SACR,OAAO,CAAC,QAAQ,CAAC;SACjB,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,yCAAyC,CAAC;SACtD,SAAS,CAAC,IAAI,kBAAM,CAAC,oBAAoB,EAAE,+BAA+B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC3F,SAAS,CAAC,IAAI,kBAAM,CAAC,yBAAyB,EAAE,4BAA4B,CAAC,CAAC;SAC9E,SAAS,CAAC,IAAI,kBAAM,CAAC,uBAAuB,EAAE,sBAAsB,CAAC,CAAC;SACtE,SAAS,CAAC,IAAI,kBAAM,CAAC,mBAAmB,EAAE,8CAA8C,CAAC,CAAC;SAC1F,SAAS,CAAC,IAAI,kBAAM,CACrB,qBAAqB,EACrB,kDAAkD,CACjD,CAAC;SACD,SAAS,CAAC,IAAI,kBAAM,CAAC,WAAW,EAAE,iDAAiD,CAAC,CAAC;SACrF,SAAS,CAAC,IAAI,kBAAM,CAAC,aAAa,EAAE,sCAAsC,CAAC,CAAC;SAC5E,SAAS,CAAC,IAAI,kBAAM,CAAC,YAAY,EAAE,gCAAgC,CAAC,CAAC;SACrE,MAAM,CAAC,KAAK,EAAE,cAAmC,EAAE,EAAE;QACtD,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,cAAc,EAAE,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAU,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;QACrE,MAAM,UAAU,GAAG,IAAI,mCAAgB,EAAE,CAAA;QACzC,MAAM,UAAU,CAAC,mBAAmB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACrD,CAAC,CAAC,CACL,CAAC;IACF,aAAa,CAAC,UAAU,CACxB,IAAI,mBAAO,EAAE;SACR,OAAO,CAAC,MAAM,CAAC;SACf,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,4CAA4C,CAAC;SACzD,MAAM,CAAC,sBAAsB,EAAE,2BAA2B,CAAC;SAC3D,MAAM,CAAC,KAAK,EAAE,cAAiC,EAAE,EAAE;QACpD,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,cAAc,EAAE,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAU,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;QACrE,MAAM,UAAU,GAAG,IAAI,mCAAgB,EAAE,CAAA;QACzC,MAAM,UAAU,CAAC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACnD,CAAC,CAAC,CACL,CAAC;IACF,aAAa,CAAC,UAAU,CACxB,IAAI,mBAAO,EAAE;SAER,OAAO,CAAC,OAAO,CAAC;SAChB,KAAK,CAAC,GAAG,CAAC;SACV,WAAW,CAAC,2BAA2B,CAAC;SACxC,MAAM,CAAC,KAAK,EAAE,cAAkC,EAAE,EAAE;QACrD,MAAM,OAAO,GAAG,EAAE,GAAG,OAAO,CAAC,IAAI,EAAE,EAAE,GAAG,cAAc,EAAE,CAAC;QAEzD,MAAM,MAAM,GAAG,MAAM,IAAA,0BAAU,EAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,MAAM,EAAE,OAAO,CAAC,WAAW,CAAC,CAAA;QACrE,MAAM,UAAU,GAAG,IAAI,mCAAgB,EAAE,CAAA;QACzC,MAAM,UAAU,CAAC,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,CAAA;IACpD,CAAC,CAAC,CACL,CAAC;IAEF,OAAO,aAAa,CAAC;AACzB,CAAC"}
|
|
@@ -3,11 +3,183 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createFlowCommand = createFlowCommand;
|
|
4
4
|
const commander_1 = require("commander");
|
|
5
5
|
const FlowManager_1 = require("../../modules/FlowManager");
|
|
6
|
+
const FlowController_1 = require("../../modules/flow/FlowController");
|
|
7
|
+
const configManager_1 = require("../../config/configManager");
|
|
8
|
+
// Every phase command is a QUESTION about a version, and the question is
|
|
9
|
+
// carried entirely by the selector flags. With none of them set nothing was
|
|
10
|
+
// selected, and the phase still printed — a lone prefix, `v`, with exit 0.
|
|
11
|
+
// That string is not a version under any reading, and a caller substituting it
|
|
12
|
+
// into a tag name gets a plausible-looking wrong answer instead of a failure.
|
|
13
|
+
//
|
|
14
|
+
// The refusal names the selectors THIS phase accepts rather than a fixed list:
|
|
15
|
+
// prod carries --next-fix and --previous, dev carries neither, and a message
|
|
16
|
+
// offering an option the command would reject is worse than no message.
|
|
17
|
+
//
|
|
18
|
+
// Deliberately not a default. Choosing one (bare == --next) would settle a
|
|
19
|
+
// contract nobody has stated — `--current` is an explicit opt-in with
|
|
20
|
+
// `default: false`, so the author's own design treats selection as something
|
|
21
|
+
// the caller says out loud. A default can be added later without breaking a
|
|
22
|
+
// caller; silently changing what `flow phase dev` answers cannot.
|
|
23
|
+
const PHASE_SELECTORS = ['next', 'nextRelease', 'nextFix', 'current', 'previous', 'previousFix'];
|
|
24
|
+
function requirePhaseSelector(command, options) {
|
|
25
|
+
const accepted = PHASE_SELECTORS.filter(selector => command.options.some(option => option.attributeName() === selector));
|
|
26
|
+
if (accepted.some(selector => Boolean(options[selector]))) {
|
|
27
|
+
return;
|
|
28
|
+
}
|
|
29
|
+
const spelled = accepted.map(selector => '--' + selector.replace(/[A-Z]/g, c => '-' + c.toLowerCase()));
|
|
30
|
+
console.error(`error: ${command.name()} needs to know WHAT to determine — pass one of: ${spelled.join(', ')}`);
|
|
31
|
+
process.exit(1);
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* The DECLARED flow (config `flow.phases`) and the git-flow phase surface below
|
|
35
|
+
* are two answers to one question, so a project that has declared the first must
|
|
36
|
+
* not silently get the second.
|
|
37
|
+
*
|
|
38
|
+
* `flow phase *` runs on FlowManager, which carries its own hardcoded phases and
|
|
39
|
+
* receives no project config — measured against a repository at v1.3.0, it
|
|
40
|
+
* answered `v1.0.0-dev.1`. That is not a surface to leave reachable beside a
|
|
41
|
+
* declaration it cannot see: the two would disagree, and the wrong one looks
|
|
42
|
+
* exactly as authoritative as the right one.
|
|
43
|
+
*/
|
|
44
|
+
async function refuseWhenFlowIsDeclared(options, verb) {
|
|
45
|
+
var _a;
|
|
46
|
+
let config;
|
|
47
|
+
try {
|
|
48
|
+
config = await (0, configManager_1.readConfig)(options.config, options.environment);
|
|
49
|
+
}
|
|
50
|
+
catch (_b) {
|
|
51
|
+
return; // no config to contradict
|
|
52
|
+
}
|
|
53
|
+
const phases = (_a = config === null || config === void 0 ? void 0 : config.flow) === null || _a === void 0 ? void 0 : _a.phases;
|
|
54
|
+
if (phases && Object.keys(phases).length > 0) {
|
|
55
|
+
console.error(`error: this project declares flow.phases (${Object.keys(phases).join(", ")}), ` +
|
|
56
|
+
`which \`flow ${verb}\` cannot read.\n` +
|
|
57
|
+
` Use: grm flow next <phase> · grm flow run <phase> [--yes]`);
|
|
58
|
+
process.exit(1);
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
async function loadFlow(options) {
|
|
62
|
+
const config = await (0, configManager_1.readConfig)(options.config, options.environment);
|
|
63
|
+
if (!config)
|
|
64
|
+
throw new Error("no config could be read");
|
|
65
|
+
return new FlowController_1.FlowController(config, process.cwd());
|
|
66
|
+
}
|
|
6
67
|
function createFlowCommand(program) {
|
|
7
68
|
const flowProgram = program
|
|
8
69
|
.command("flow")
|
|
9
70
|
.alias('f')
|
|
10
71
|
.description("Tools to manage your git releases and versioning");
|
|
72
|
+
// ── the DECLARED flow ────────────────────────────────────────────────────
|
|
73
|
+
// `next` is the question, `run` is the act, and `run` PLANS unless told to
|
|
74
|
+
// proceed. A promotion moves branches and creates a tag; a verb that does
|
|
75
|
+
// that on the way to answering "what would it be" cannot be consulted by
|
|
76
|
+
// anything upstream.
|
|
77
|
+
flowProgram.addCommand(new commander_1.Command()
|
|
78
|
+
.command('next')
|
|
79
|
+
.description('The version this phase would cut, derived from the commit range')
|
|
80
|
+
.addArgument(new commander_1.Argument('<phase>', 'A phase declared in flow.phases'))
|
|
81
|
+
.addOption(new commander_1.Option('--explain', 'Print the derivation`s reasoning on STDERR'))
|
|
82
|
+
.action(async (phase, commandOptions) => {
|
|
83
|
+
const options = { ...program.opts(), ...commandOptions };
|
|
84
|
+
try {
|
|
85
|
+
const flow = await loadFlow(options);
|
|
86
|
+
const p = flow.phase(phase);
|
|
87
|
+
const { version, current, why } = await flow.nextVersion(p);
|
|
88
|
+
if (options.explain) {
|
|
89
|
+
console.error(`phase ${phase}: branch ${p.branch}, current ${current}`);
|
|
90
|
+
if (why)
|
|
91
|
+
console.error(`bump: ${why}`);
|
|
92
|
+
}
|
|
93
|
+
console.log(version); // stdout is the version ALONE
|
|
94
|
+
}
|
|
95
|
+
catch (e) {
|
|
96
|
+
console.error(`error: ${e instanceof Error ? e.message : String(e)}`);
|
|
97
|
+
process.exit(1);
|
|
98
|
+
}
|
|
99
|
+
}));
|
|
100
|
+
flowProgram.addCommand(new commander_1.Command()
|
|
101
|
+
.command('run')
|
|
102
|
+
.description('Promote and tag a declared phase (plans unless --yes)')
|
|
103
|
+
.addArgument(new commander_1.Argument('<phase>', 'A phase declared in flow.phases'))
|
|
104
|
+
.addOption(new commander_1.Option('-y, --yes', 'Execute; without it nothing is written'))
|
|
105
|
+
.action(async (phase, commandOptions) => {
|
|
106
|
+
var _a, _b;
|
|
107
|
+
const options = { ...program.opts(), ...commandOptions };
|
|
108
|
+
try {
|
|
109
|
+
const flow = await loadFlow(options);
|
|
110
|
+
if (!options.yes) {
|
|
111
|
+
const plan = await flow.plan(phase);
|
|
112
|
+
console.error(`phase : ${plan.phase}`);
|
|
113
|
+
console.error(`branch : ${plan.branch}${plan.channel ? ` (channel ${plan.channel})` : ''}`);
|
|
114
|
+
if (plan.mergeFrom) {
|
|
115
|
+
console.error(`promote : ${plan.mergeFrom} -> ${plan.branch} (${plan.mergeStrategy})`);
|
|
116
|
+
console.error(`to land : ${plan.ahead} commit(s)` +
|
|
117
|
+
(plan.behind ? ` — and ${plan.behind} on ${plan.branch} that ${plan.mergeFrom} does NOT have` : ''));
|
|
118
|
+
}
|
|
119
|
+
console.error(`version : ${plan.current} -> ${plan.next}`);
|
|
120
|
+
if (plan.bumpWhy)
|
|
121
|
+
console.error(`bump : ${plan.bumpWhy}`);
|
|
122
|
+
console.error(`tag : ${plan.willTag ? 'yes' : 'no'}`);
|
|
123
|
+
console.error(`delete source: ${plan.willDeleteSource ? 'YES' : 'no'}`);
|
|
124
|
+
console.error(`back-merge : ${((_a = plan.backMerge) === null || _a === void 0 ? void 0 : _a.length) ? plan.backMerge.join(', ') : 'NONE — the promotion would be one-way'}`);
|
|
125
|
+
if (plan.worktree)
|
|
126
|
+
console.error(`worktree : ${plan.worktree}`);
|
|
127
|
+
console.error(`PLAN ONLY — nothing was merged, tagged or deleted. Execute: grm flow run ${phase} --yes`);
|
|
128
|
+
console.log(plan.next);
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
const done = await flow.run(phase);
|
|
132
|
+
if (done.mergeCommit)
|
|
133
|
+
console.error(`merged ${done.mergeFrom} -> ${done.branch} (${done.mergeCommit.slice(0, 10)})`);
|
|
134
|
+
if (done.tagged)
|
|
135
|
+
console.error(`tagged ${done.tagged}`);
|
|
136
|
+
for (const [t, sha] of Object.entries((_b = done.backMerged) !== null && _b !== void 0 ? _b : {})) {
|
|
137
|
+
console.error(`back-merged ${done.branch} -> ${t} (${String(sha).slice(0, 10)})`);
|
|
138
|
+
}
|
|
139
|
+
console.log(done.next);
|
|
140
|
+
}
|
|
141
|
+
catch (e) {
|
|
142
|
+
console.error(`error: ${e instanceof Error ? e.message : String(e)}`);
|
|
143
|
+
process.exit(1);
|
|
144
|
+
}
|
|
145
|
+
}));
|
|
146
|
+
// ── routes: carry content, never a version ───────────────────────────────
|
|
147
|
+
// A hotfix on the release line has to reach the integration line, and that
|
|
148
|
+
// merge earns no version — the version was already cut where the fix landed.
|
|
149
|
+
// So `sync` is its own verb rather than a phase with `tag: false`.
|
|
150
|
+
flowProgram.addCommand(new commander_1.Command()
|
|
151
|
+
.command('sync')
|
|
152
|
+
.description('Run a declared route: carry one branch into the others (no version)')
|
|
153
|
+
.addArgument(new commander_1.Argument('<route>', 'A route declared in flow.routes'))
|
|
154
|
+
.addOption(new commander_1.Option('-y, --yes', 'Execute; without it nothing is written'))
|
|
155
|
+
.action(async (route, commandOptions) => {
|
|
156
|
+
var _a;
|
|
157
|
+
const options = { ...program.opts(), ...commandOptions };
|
|
158
|
+
try {
|
|
159
|
+
const flow = await loadFlow(options);
|
|
160
|
+
const r = flow.route(route);
|
|
161
|
+
if (!options.yes) {
|
|
162
|
+
const plan = await flow.planRoute(route);
|
|
163
|
+
console.error(`route : ${route}${r.direction ? ` (${r.direction})` : ''}`);
|
|
164
|
+
console.error(`from : ${r.from}`);
|
|
165
|
+
for (const t of r.into) {
|
|
166
|
+
const n = (_a = plan.ahead[t]) !== null && _a !== void 0 ? _a : 0;
|
|
167
|
+
console.error(` -> ${t.padEnd(20)} ${n ? `${n} commit(s)` : 'already has it — would be skipped'}`);
|
|
168
|
+
}
|
|
169
|
+
console.error(`PLAN ONLY — nothing was merged. Execute: grm flow sync ${route} --yes`);
|
|
170
|
+
return;
|
|
171
|
+
}
|
|
172
|
+
const done = await flow.syncRoute(route);
|
|
173
|
+
for (const [t, sha] of Object.entries(done.merged))
|
|
174
|
+
console.error(`merged ${r.from} -> ${t} (${sha.slice(0, 10)})`);
|
|
175
|
+
for (const t of done.skipped)
|
|
176
|
+
console.error(`skipped ${t} — already carries ${r.from}`);
|
|
177
|
+
}
|
|
178
|
+
catch (e) {
|
|
179
|
+
console.error(`error: ${e instanceof Error ? e.message : String(e)}`);
|
|
180
|
+
process.exit(1);
|
|
181
|
+
}
|
|
182
|
+
}));
|
|
11
183
|
const programPhase = flowProgram.command('phase').description('');
|
|
12
184
|
programPhase.addCommand(new commander_1.Command()
|
|
13
185
|
.command('dev')
|
|
@@ -16,8 +188,10 @@ function createFlowCommand(program) {
|
|
|
16
188
|
.addOption(new commander_1.Option('-p, --print <type>', 'Print option can be full, base, channel, or left empty').choices(['full', 'base', 'channel', 'build']).default(''))
|
|
17
189
|
.addOption(new commander_1.Option('-n, --next', 'Next version'))
|
|
18
190
|
.addOption(new commander_1.Option('-c, --current', 'Current version').default(false))
|
|
19
|
-
.action(async (commandOptions) => {
|
|
191
|
+
.action(async (commandOptions, command) => {
|
|
20
192
|
const options = { ...program.opts(), ...commandOptions };
|
|
193
|
+
await refuseWhenFlowIsDeclared(options, 'phase');
|
|
194
|
+
requirePhaseSelector(command, options);
|
|
21
195
|
const flowManager = new FlowManager_1.FlowManager();
|
|
22
196
|
const determinedVersion = await flowManager.DetermineDevPhaseVersion('dev', options);
|
|
23
197
|
if (determinedVersion) {
|
|
@@ -34,8 +208,10 @@ function createFlowCommand(program) {
|
|
|
34
208
|
.addOption(new commander_1.Option('--next-release', 'Next release version'))
|
|
35
209
|
.addOption(new commander_1.Option('-c, --current', 'Current version').default(false))
|
|
36
210
|
.addOption(new commander_1.Option('-p, --print <type>', 'Print option can be full, base, channel, or left empty').choices(['full', 'base', 'channel', 'build']).default(''))
|
|
37
|
-
.action(async (channel, version, commandOptions) => {
|
|
211
|
+
.action(async (channel, version, commandOptions, command) => {
|
|
38
212
|
const options = { ...program.opts(), ...commandOptions };
|
|
213
|
+
await refuseWhenFlowIsDeclared(options, 'phase');
|
|
214
|
+
requirePhaseSelector(command, options);
|
|
39
215
|
const flowManager = new FlowManager_1.FlowManager();
|
|
40
216
|
const determinedVersion = await flowManager.DetermineQAPhaseVersion(channel, version, options);
|
|
41
217
|
if (determinedVersion) {
|
|
@@ -52,8 +228,10 @@ function createFlowCommand(program) {
|
|
|
52
228
|
.addOption(new commander_1.Option('--next-release', 'Next release version'))
|
|
53
229
|
.addOption(new commander_1.Option('-c, --current', 'Current version').default(false))
|
|
54
230
|
.addOption(new commander_1.Option('-p, --print <type>', 'Print option can be full, base, channel, or left empty').choices(['full', 'base', 'channel', 'build']).default(''))
|
|
55
|
-
.action(async (channel, version, commandOptions) => {
|
|
231
|
+
.action(async (channel, version, commandOptions, command) => {
|
|
56
232
|
const options = { ...program.opts(), ...commandOptions };
|
|
233
|
+
await refuseWhenFlowIsDeclared(options, 'phase');
|
|
234
|
+
requirePhaseSelector(command, options);
|
|
57
235
|
const flowManager = new FlowManager_1.FlowManager();
|
|
58
236
|
const determinedVersion = await flowManager.DetermineStagePhaseVersion(channel, version, options);
|
|
59
237
|
if (determinedVersion) {
|
|
@@ -72,8 +250,10 @@ function createFlowCommand(program) {
|
|
|
72
250
|
.addOption(new commander_1.Option('--previous', 'Previous version'))
|
|
73
251
|
.addOption(new commander_1.Option('--previous-fix', 'Previous fix release version'))
|
|
74
252
|
.addOption(new commander_1.Option('-p, --print <type>', 'Print option can be full, base, channel, or left empty').choices(['full', 'base', 'channel']).default(''))
|
|
75
|
-
.action(async (version, commandOptions) => {
|
|
253
|
+
.action(async (version, commandOptions, command) => {
|
|
76
254
|
const options = { ...program.opts(), ...commandOptions };
|
|
255
|
+
await refuseWhenFlowIsDeclared(options, 'phase');
|
|
256
|
+
requirePhaseSelector(command, options);
|
|
77
257
|
const flowManager = new FlowManager_1.FlowManager();
|
|
78
258
|
const determinedVersion = await flowManager.DetermineProductionPhaseVersion("beta", version, options);
|
|
79
259
|
if (determinedVersion) {
|
|
@@ -86,10 +266,16 @@ function createFlowCommand(program) {
|
|
|
86
266
|
.alias('l')
|
|
87
267
|
.description('List release branches')
|
|
88
268
|
.addArgument(new commander_1.Argument('branch'))
|
|
269
|
+
// Symmetric with `tag latest` on purpose: a pair where one verb can
|
|
270
|
+
// ask about a channel and its sibling cannot is its own defect.
|
|
271
|
+
.addOption(new commander_1.Option('-c, --channel <channel>', 'Restrict to a prerelease channel (e.g. dev, alpha); omitted means stable tags only'))
|
|
89
272
|
.action(async (branch, commandOptions) => {
|
|
273
|
+
var _a;
|
|
90
274
|
const options = { ...program.opts(), ...commandOptions };
|
|
91
275
|
const flowManager = new FlowManager_1.FlowManager();
|
|
92
|
-
|
|
276
|
+
// Query verb: report every tag on the branch, prereleases included —
|
|
277
|
+
// narrowed to the channel when one was named.
|
|
278
|
+
const existingTags = await flowManager.listBranchTags(branch, (_a = options.channel) !== null && _a !== void 0 ? _a : null, true);
|
|
93
279
|
console.log(existingTags);
|
|
94
280
|
}));
|
|
95
281
|
programTag.addCommand(new commander_1.Command()
|
|
@@ -97,10 +283,14 @@ function createFlowCommand(program) {
|
|
|
97
283
|
.description('Get latest branch tag')
|
|
98
284
|
.addArgument(new commander_1.Argument('<branch>', 'Specify the branch'))
|
|
99
285
|
.addOption(new commander_1.Option('-p, --print <type>', 'Print option can be full, base, channel, or left empty').choices(['full', 'base', 'channel', 'build']).default(''))
|
|
286
|
+
.addOption(new commander_1.Option('-c, --channel <channel>', 'Restrict to a prerelease channel (e.g. dev, alpha); omitted means stable tags only'))
|
|
100
287
|
.action(async (branch, commandOptions) => {
|
|
288
|
+
var _a;
|
|
101
289
|
const options = { ...program.opts(), ...commandOptions };
|
|
102
290
|
const flowManager = new FlowManager_1.FlowManager();
|
|
103
|
-
|
|
291
|
+
// Query verb: a dev/alpha/beta branch's newest tag IS a
|
|
292
|
+
// prerelease, so excluding them would make this always empty.
|
|
293
|
+
const latestBranchTag = await flowManager.latestTagVersion(branch, (_a = options.channel) !== null && _a !== void 0 ? _a : null, null, true);
|
|
104
294
|
const latestBranchVersion = flowManager.getVersionPart(latestBranchTag, options);
|
|
105
295
|
console.log(latestBranchVersion);
|
|
106
296
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/flow/command.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/flow/command.ts"],"names":[],"mappings":"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"}
|