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
@@ -0,0 +1,136 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createTrackCommand = createTrackCommand;
4
+ const commander_1 = require("commander");
5
+ const TrackController_1 = require("../../modules/track/TrackController");
6
+ const configManager_1 = require("../../config/configManager");
7
+ /**
8
+ * `track` — the version lines a project keeps alive at once.
9
+ *
10
+ * TWO VERBS, AND NEITHER OF THEM WRITES. `list` answers which tracks are alive
11
+ * and `next` answers what one would cut; opening a branch and cutting a tag are
12
+ * separate acts and are not folded in here, because a read that can also write
13
+ * is a read nobody can run without deciding first whether they meant to.
14
+ *
15
+ * `next` PRINTS THE VERSION ALONE on stdout, like `flow next`, so a caller can
16
+ * substitute it into a tag name. Everything else it knows — the branch, what the
17
+ * track carries today — goes to stderr, where a human reads it and a pipeline
18
+ * does not.
19
+ *
20
+ * ── THE GLOBAL FLAGS ARE READ WITH optsWithGlobals() ──
21
+ *
22
+ * `--config` and `--environment` are declared on the PROGRAM, and commander does
23
+ * not put a parent's options into a subcommand's `options` object.
24
+ *
25
+ * ⚠️ AN EARLIER VERSION OF THIS NOTE CLAIMED EVERY OTHER SUBCOMMAND IS BROKEN
26
+ * BY THAT, AND IT WAS WRONG. They build their options as
27
+ * `{ ...program.opts(), ...commandOptions }`, and `program.opts()` carries the
28
+ * globals — measured by passing a config with a different `tag.prefix`, which no
29
+ * other cause can produce: `grm --config alt.json flow next prod` answers with
30
+ * alt's prefix. The claim came from a probe that changed `phase.bump` instead,
31
+ * where a second explanation existed (the derived bump overwrites the declared
32
+ * one on a repository with a real commit range) and I took the first.
33
+ *
34
+ * `optsWithGlobals()` is still what this command uses: it says what it needs
35
+ * directly instead of reconstructing it from two objects, and it does not
36
+ * silently pick up whatever else `program.opts()` happens to hold.
37
+ */
38
+ function createTrackCommand(program) {
39
+ const track = program
40
+ .command('track')
41
+ .alias('t')
42
+ .description('The version tracks alive at once: 1.1.x maintained while development runs on 1.2.x');
43
+ track
44
+ .command('list')
45
+ .alias('l')
46
+ .description('Every live instance of every declared track, with what it carries and what it would cut')
47
+ .action(async (options, command) => {
48
+ const globals = command.optsWithGlobals();
49
+ const config = await (0, configManager_1.readConfig)(globals === null || globals === void 0 ? void 0 : globals.config, globals === null || globals === void 0 ? void 0 : globals.environment);
50
+ const controller = new TrackController_1.TrackController(config);
51
+ const declared = Object.keys(controller.declared());
52
+ if (!declared.length) {
53
+ // NOT AN ERROR. A project with one line has nothing to declare —
54
+ // the release line IS the track. Saying so beats an empty table,
55
+ // which reads as "your tracks have vanished".
56
+ console.error('No tracks are declared. A project with a single version line does not need them: ' +
57
+ 'the release line is that track. Declare `tracks` when a customer stays on a version ' +
58
+ 'development has moved past.');
59
+ return;
60
+ }
61
+ const rows = await controller.instances();
62
+ if (!rows.length) {
63
+ console.error(`Declared: ${declared.join(', ')} — and no branch matches any of them yet.`);
64
+ return;
65
+ }
66
+ const w = (s, n) => s.padEnd(n);
67
+ console.log(`${w('TRACK', 14)}${w('BRANCH', 22)}${w('CARRIES', 14)}NEXT`);
68
+ for (const r of rows) {
69
+ console.log(`${w(r.track, 14)}${w(r.branch, 22)}${w(r.carries || '—', 14)}${r.next}`);
70
+ }
71
+ });
72
+ track
73
+ .command('next')
74
+ .alias('n')
75
+ .description('The version this track would cut next (the version alone on stdout)')
76
+ .addArgument(new commander_1.Argument('<track>', 'A declared track, e.g. maintenance'))
77
+ .addArgument(new commander_1.Argument('[series]', 'The version series for a patterned track, e.g. 1.1'))
78
+ .action(async (name, series, options, command) => {
79
+ const globals = command.optsWithGlobals();
80
+ const config = await (0, configManager_1.readConfig)(globals === null || globals === void 0 ? void 0 : globals.config, globals === null || globals === void 0 ? void 0 : globals.environment);
81
+ const controller = new TrackController_1.TrackController(config);
82
+ try {
83
+ const answer = await controller.next(name, series);
84
+ console.error(`track ${name} · branch ${answer.branch} · carries ${answer.carries || 'nothing yet'}`);
85
+ console.log(answer.next);
86
+ }
87
+ catch (error) {
88
+ console.error(`error: ${error.message}`);
89
+ process.exit(1);
90
+ }
91
+ });
92
+ track
93
+ .command('forward')
94
+ .alias('f')
95
+ .description('Carry a fix from one track up through the tracks above it, ending at the integration line')
96
+ .addArgument(new commander_1.Argument('<series>', 'The series the fix was written on, e.g. 1.1'))
97
+ .addOption(new commander_1.Option('--yes', 'Perform the merges. Without it this PLANS and writes nothing'))
98
+ .addOption(new commander_1.Option('--merge <strategy>', 'no-ff (default) or ff').choices(['no-ff', 'ff']))
99
+ .action(async (series, options, command) => {
100
+ const globals = command.optsWithGlobals();
101
+ const config = await (0, configManager_1.readConfig)(globals === null || globals === void 0 ? void 0 : globals.config, globals === null || globals === void 0 ? void 0 : globals.environment);
102
+ const controller = new TrackController_1.TrackController(config);
103
+ try {
104
+ const result = await controller.forwardPort(series, {
105
+ yes: Boolean(options === null || options === void 0 ? void 0 : options.yes),
106
+ merge: options === null || options === void 0 ? void 0 : options.merge,
107
+ });
108
+ if (!(options === null || options === void 0 ? void 0 : options.yes)) {
109
+ console.error(`PLAN — nothing was merged. Execute it with --yes.`);
110
+ console.log([result.from, ...result.chain].join(' → '));
111
+ return;
112
+ }
113
+ for (const target of result.chain) {
114
+ if (result.stoppedAt === target)
115
+ break;
116
+ const head = result.merged[target];
117
+ console.error(head ? ` ✓ ${target} ${head.slice(0, 12)}` : ` · ${target} already had it`);
118
+ }
119
+ if (result.stoppedAt) {
120
+ // NAMED, because the whole value of a cascade over a fan-out
121
+ // is knowing which link did not hold. "The forward-port
122
+ // failed" leaves the operator to find out which tracks moved.
123
+ console.error(` ✗ ${result.stoppedAt} ${result.error}`);
124
+ console.error(`\nstopped at ${result.stoppedAt}. The tracks before it DID move; ` +
125
+ `resolve there and run the same command again — it resumes from what is already merged.`);
126
+ process.exit(1);
127
+ }
128
+ console.error(`\ncarried ${series} through ${result.chain.length} branch(es)`);
129
+ }
130
+ catch (error) {
131
+ console.error(`error: ${error.message}`);
132
+ process.exit(1);
133
+ }
134
+ });
135
+ }
136
+ //# sourceMappingURL=command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/track/command.ts"],"names":[],"mappings":"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"}
@@ -4,19 +4,91 @@ exports.createVersionCommand = createVersionCommand;
4
4
  const commander_1 = require("commander");
5
5
  const VersionController_1 = require("../../modules/version/VersionController");
6
6
  function createVersionCommand(program) {
7
+ // ── The FLAG surface, restored on the parent command ──────────────────
8
+ //
9
+ // The controller (VersionController.handleVersionCommand) is a FLAT flag
10
+ // dispatcher and always has been: it branches on options.init, .major,
11
+ // .minor, .patch, .channel, .detect, .update, .list, .compare, .revert,
12
+ // .validate, .sync. The subcommands added later are a translation veneer
13
+ // over exactly that contract.
14
+ //
15
+ // The parent `version` command carried NO options, so every one of those
16
+ // spellings answered "unknown option" — which is why 92 of the e2e suite's
17
+ // invocations failed against an engine that was perfectly capable of serving
18
+ // them, and why notes/genel.md documents a CLI that could not be run.
19
+ //
20
+ // Both spellings now reach the same controller with the same option shape.
21
+ // `version --patch` and `version increment --patch` are one code path, not
22
+ // two implementations that can drift.
7
23
  const versionProgram = program
8
24
  .command("version")
9
25
  .alias('v')
10
- .description("Comprehensive version and release management operations");
26
+ .description("Comprehensive version and release management operations")
27
+ .option("--init [version]", "Initialize the version line (bare = 0.0.0)")
28
+ .option("-m, --major", "Increment the major version number")
29
+ .option("-i, --minor", "Increment the minor version number")
30
+ .option("-p, --patch", "Increment the patch version number")
31
+ .option("-c, --channel <channel>", "Prerelease channel (e.g. alpha, beta)")
32
+ .option("--prefix <prefix>", "Prefix for this version line (e.g. v, gear-v)")
33
+ .option("--prerelease <identifier>", "Add a prerelease identifier")
34
+ .option("--build <identifier>", "Add build metadata")
35
+ .option("--no-channel-number", "Exclude the channel number")
36
+ .option("--reset", "Delete every local tag for this line")
37
+ .option("--list [count]", "List recent versions")
38
+ .option("--latest", "Show the latest version")
39
+ .option("--compare <version>", "Compare a version against the latest")
40
+ .option("--revert <version>", "Revert to a specific version")
41
+ .option("--validate <version>", "Check whether a version string is valid")
42
+ .option("--detect", "Detect the current version from the project file")
43
+ .option("--update [version]", "Update the version in the project file")
44
+ // Both spellings: the e2e suite and the notes use --project-path, the
45
+ // `version project` subcommand uses --path. They are one value.
46
+ .option("--path <path>", "Project file or folder path")
47
+ .option("--project-path <path>", "Project file or folder path (alias of --path)")
48
+ .option("--sync", "Sync versions with the remote")
49
+ .option("--push", "Push commits and tags to the remote")
50
+ .option("--note <message>", "Add a release note")
51
+ .option("--note-file <path>", "Load release notes from a file")
52
+ .option("-n, --dry-run", "Print the version that WOULD be cut; write nothing")
53
+ .option("--from <version>", "Compute from THIS baseline instead of discovering the latest tag")
54
+ .option("--derive", "Derive the bump from the commits in the range, via commitTypes/noteTypes `bump`")
55
+ .option("--explain-bump", "Print the derivation`s reasoning on STDERR (stdout stays the version)")
56
+ .option("--to <ref>", "End of the derivation range (default: HEAD)")
57
+ .option("--paths <paths>", "Space-separated pathspecs; the derivation sees only commits touching them")
58
+ .option("--since <ref>", "Start the derivation range at THIS ref (default: the --from baseline resolved as a ref)")
59
+ // Two flags rather than one `--no-stamp`: the config can turn stamping on
60
+ // by default (versioning.stamp.onBump), so BOTH directions need an override
61
+ // — force it for a project that has not opted in, and skip it once for a
62
+ // project that has. A single negatable flag can only express one of them.
63
+ .option("--stamp", "Write the version into the files declared in versioning.stamp, even if onBump is off")
64
+ .option("--skip-stamp", "Do not stamp, even if versioning.stamp.onBump is on")
65
+ .action(async (commandOptions) => {
66
+ var _a;
67
+ // --path is the CLI spelling of the controller's projectPath, the same
68
+ // translation `version project` performs.
69
+ const options = { ...program.opts(), ...commandOptions, projectPath: (_a = commandOptions.projectPath) !== null && _a !== void 0 ? _a : commandOptions.path };
70
+ const controller = new VersionController_1.VersionController();
71
+ await controller.handleVersionCommand(options);
72
+ });
11
73
  versionProgram.addCommand(new commander_1.Command()
12
74
  .command("init")
13
75
  .alias("vin")
14
76
  .description("Initialize the project version")
15
77
  .addArgument(new commander_1.Argument("<version>", "Version to initialize"))
78
+ // initVersion() already READS options.prefix to build the initial tag —
79
+ // the CLI simply never offered it, so `version init 1.0.0 --prefix v`
80
+ // died on "unknown option" for a value the engine was waiting for.
81
+ // Prefixes are how independent version LINES coexist in one repo
82
+ // (gear-v1.0.0 alongside plugin-v0.3.2), so init must accept one.
83
+ .option("--prefix <prefix>", "Prefix for this version line (e.g. v, gear-v)")
16
84
  .option("--note <message>", "Add a release note during initialization")
17
85
  .option("--note-file <path>", "Load release notes from a file for initialization")
18
- .action(async (args, commandOptions) => {
19
- const options = { ...program.opts(), ...commandOptions };
86
+ .action(async (args, commandOptions, command) => {
87
+ // The positional is the version being initialised. The controller is a
88
+ // FLAT flag dispatcher (options.init), so the subcommand layer has to
89
+ // translate — parsing it and not forwarding it is why `version init
90
+ // 1.0.0` silently produced 0.0.0.
91
+ const options = { ...program.opts(), ...command.optsWithGlobals(), init: args };
20
92
  const controller = new VersionController_1.VersionController();
21
93
  await controller.handleVersionCommand(options);
22
94
  }));
@@ -34,8 +106,15 @@ function createVersionCommand(program) {
34
106
  .option("--no-channel-number", "Exclude channel number")
35
107
  .option("--note <message>", "Add a release note")
36
108
  .option("--note-file <path>", "Load release notes from a file")
37
- .action(async (args, commandOptions) => {
38
- const options = { ...program.opts(), ...commandOptions };
109
+ .option("-n, --dry-run", "Print the version that WOULD be cut; write nothing")
110
+ .option("--from <version>", "Compute from THIS baseline instead of discovering the latest tag")
111
+ // NO positional argument is declared, so commander invokes the action as
112
+ // (options, command). The old signature named the FIRST parameter `args`
113
+ // and read the SECOND as the options — which handed it a Command
114
+ // instance, so every flag on this subcommand was silently discarded.
115
+ // Measured: `increment --major --prefix v` produced 0.0.0, unprefixed.
116
+ .action(async (commandOptions, command) => {
117
+ const options = { ...program.opts(), ...command.optsWithGlobals() };
39
118
  const controller = new VersionController_1.VersionController();
40
119
  await controller.handleVersionCommand(options);
41
120
  }));
@@ -46,8 +125,8 @@ function createVersionCommand(program) {
46
125
  .addArgument(new commander_1.Argument("<version>", "Version to set"))
47
126
  .option("--note <message>", "Add a release note while setting the version")
48
127
  .option("--note-file <path>", "Load release notes from a file for setting the version")
49
- .action(async (args, commandOptions) => {
50
- const options = { ...program.opts(), ...commandOptions };
128
+ .action(async (args, commandOptions, command) => {
129
+ const options = { ...program.opts(), ...command.optsWithGlobals() };
51
130
  options.version = args;
52
131
  const controller = new VersionController_1.VersionController();
53
132
  await controller.handleVersionCommand(options);
@@ -56,24 +135,32 @@ function createVersionCommand(program) {
56
135
  .command("reset")
57
136
  .alias("vr")
58
137
  .description("Reset the project version to initial state")
59
- .action(async (args, commandOptions) => {
60
- const options = { ...program.opts(), ...commandOptions };
138
+ .action(async (commandOptions, command) => {
139
+ // `reset` declares no options at all, so even with the signature fixed
140
+ // nothing would set the flag the controller dispatches on — the command
141
+ // would fall through to generateNewVersion and cut a version instead of
142
+ // resetting. The subcommand states its own intent.
143
+ const options = { ...program.opts(), ...command.optsWithGlobals(), reset: true };
61
144
  const controller = new VersionController_1.VersionController();
62
145
  await controller.handleVersionCommand(options);
63
146
  }));
64
147
  versionProgram.addCommand(new commander_1.Command()
65
148
  .command("list")
66
149
  .alias("vl")
67
- .description("Check if a version string is valid")
68
- .addArgument(new commander_1.Argument("<version>", "Version string to validate"))
150
+ // The description and the argument were copy-pasted from `validate`:
151
+ // this command lists versions, and the controller reads options.list as
152
+ // a COUNT (`list === true ? 10 : parseInt(list)`). Left as-is it asked
153
+ // for a version string and then parsed it as a number.
154
+ .description("List recent versions (most recent first)")
155
+ .addArgument(new commander_1.Argument("[count]", "How many versions to list (default 10)"))
69
156
  // .option('-r, --reverse', 'List versions in reverse order')
70
157
  // .option('-t, --tag', 'List versions with tags')
71
158
  // .option('-d, --date', 'List versions with dates')
72
159
  // .option('-s, --sort', 'Sort versions')
73
160
  // .option('-v, --verbose', 'Show detailed version information')
74
161
  // .option('-a, --all', 'Show all versions')
75
- .action(async (args, commandOptions) => {
76
- const options = { ...program.opts(), ...commandOptions };
162
+ .action(async (args, commandOptions, command) => {
163
+ const options = { ...program.opts(), ...command.optsWithGlobals(), list: args !== null && args !== void 0 ? args : true };
77
164
  const controller = new VersionController_1.VersionController();
78
165
  await controller.handleVersionCommand(options);
79
166
  }));
@@ -82,8 +169,12 @@ function createVersionCommand(program) {
82
169
  .alias("vc")
83
170
  .description("Compare a specific version with the current/latest one")
84
171
  .option("--version <version>", "Version to compare against the latest")
85
- .action(async (args, commandOptions) => {
86
- const options = { ...program.opts(), ...commandOptions };
172
+ .action(async (commandOptions, command) => {
173
+ // The subcommand spells it --version; the controller dispatches on
174
+ // options.compare. Without the translation the flag landed in
175
+ // options.version, which the controller reads as "use this literal
176
+ // version" — so `compare` would have CUT a tag instead of comparing.
177
+ const options = { ...program.opts(), ...command.optsWithGlobals(), compare: commandOptions.version };
87
178
  const controller = new VersionController_1.VersionController();
88
179
  await controller.handleVersionCommand(options);
89
180
  }));
@@ -94,8 +185,9 @@ function createVersionCommand(program) {
94
185
  .option("--path <path>", "Specify the project file or folder path")
95
186
  .option("-d, --detect", "Detect the current version from the project")
96
187
  .option("-u, --update [version]", "Update version in project to specified value")
97
- .action(async (args, commandOptions) => {
98
- const options = { ...program.opts(), ...commandOptions };
188
+ .action(async (commandOptions, command) => {
189
+ // --path is the subcommand's spelling of the controller's projectPath.
190
+ const options = { ...program.opts(), ...command.optsWithGlobals(), projectPath: commandOptions.path };
99
191
  const controller = new VersionController_1.VersionController();
100
192
  await controller.handleVersionCommand(options);
101
193
  }));
@@ -104,8 +196,8 @@ function createVersionCommand(program) {
104
196
  .alias("vv")
105
197
  .description("Check if a version string is valid")
106
198
  .addArgument(new commander_1.Argument("<version>", "Version string to validate"))
107
- .action(async (args, commandOptions) => {
108
- const options = { ...program.opts(), ...commandOptions };
199
+ .action(async (args, commandOptions, command) => {
200
+ const options = { ...program.opts(), ...command.optsWithGlobals(), validate: args };
109
201
  const controller = new VersionController_1.VersionController();
110
202
  await controller.handleVersionCommand(options);
111
203
  }));
@@ -114,8 +206,8 @@ function createVersionCommand(program) {
114
206
  .alias("vrev")
115
207
  .description("Revert the project to a specific version")
116
208
  .addArgument(new commander_1.Argument("<version>", "Version to revert to"))
117
- .action(async (args, commandOptions) => {
118
- const options = { ...program.opts(), ...commandOptions };
209
+ .action(async (args, commandOptions, command) => {
210
+ const options = { ...program.opts(), ...command.optsWithGlobals(), revert: args };
119
211
  const controller = new VersionController_1.VersionController();
120
212
  await controller.handleVersionCommand(options);
121
213
  }));
@@ -125,8 +217,8 @@ function createVersionCommand(program) {
125
217
  .option("--sync", "Sync versions with remote repository")
126
218
  .option("--push", "Push local changes and tags to remote")
127
219
  .option("--draft", "Create a draft release")
128
- .action(async (args, commandOptions) => {
129
- const options = { ...program.opts(), ...commandOptions };
220
+ .action(async (commandOptions, command) => {
221
+ const options = { ...program.opts(), ...command.optsWithGlobals() };
130
222
  const controller = new VersionController_1.VersionController();
131
223
  await controller.handleVersionCommand(options);
132
224
  }));
@@ -1 +1 @@
1
- {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/version/command.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command.js","sourceRoot":"","sources":["../../../src/commands/version/command.ts"],"names":[],"mappings":"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"}