@forge/cli
10.13.410.13.5-next.0-experimental-4d5d98e
out/command-line/register-version-commands.jsout/command-line/register-version-commands.js+76
Index: package/out/command-line/register-version-commands.js
===================================================================
--- package/out/command-line/register-version-commands.js
+++ package/out/command-line/register-version-commands.js
@@ -0,0 +1,76 @@
+"use strict";
+Object.defineProperty(exports, "__esModule", { value: true });
+exports.registerCommands = exports.parseMajorVersion = void 0;
+const cli_shared_1 = require("@forge/cli-shared");
+function parseMajorVersion(majorVersionStr, property) {
+ if (!/^\d+$/.test(majorVersionStr)) {
+ throw new cli_shared_1.ValidationError(cli_shared_1.Text.version.check.error.invalidMajorVersion(property));
+ }
+ const version = parseInt(majorVersionStr, 10);
+ if (version < 1) {
+ throw new cli_shared_1.ValidationError(cli_shared_1.Text.version.check.error.invalidMajorVersion(property));
+ }
+ return version;
+}
+exports.parseMajorVersion = parseMajorVersion;
+const registerDetailsCommands = (parent, { controllers: { versionController } }) => {
+ parent
+ .command(cli_shared_1.Text.version.check.cmdName)
+ .description(cli_shared_1.Text.version.check.desc)
+ .requireAppId()
+ .environmentOption()
+ .nonInteractiveOption()
+ .option('-v, --major-version [version]', cli_shared_1.Text.version.check.option.majorVersion)
+ .option('--json', cli_shared_1.Text.version.check.option.json)
+ .option('-f, --out-file [outFile]', cli_shared_1.Text.version.check.option.outFile)
+ .action(async ({ environment, majorVersion, json, outFile, nonInteractive }) => {
+ const majorVersionInt = majorVersion ? parseMajorVersion(majorVersion) : undefined;
+ await versionController.getAppVersionDetails({
+ environment,
+ majorVersion: majorVersionInt,
+ json,
+ outFile,
+ nonInteractive
+ });
+ });
+};
+const registerListCommands = (parent, { controllers: { versionController } }) => {
+ parent
+ .command(cli_shared_1.Text.version.list.cmdName)
+ .description(cli_shared_1.Text.version.list.desc)
+ .requireAppId()
+ .environmentOption()
+ .nonInteractiveOption()
+ .option('--json', cli_shared_1.Text.version.list.option.json)
+ .option('-f, --out-file [outFile]', cli_shared_1.Text.version.list.option.outFile)
+ .action(async ({ environment, json, outFile, nonInteractive }) => {
+ await versionController.getVersionList({ environment, json, outFile, nonInteractive });
+ });
+};
+const registerDiffCommands = (parent, { controllers: { versionController } }) => {
+ parent
+ .command(cli_shared_1.Text.version.diff.cmdName)
+ .description(cli_shared_1.Text.version.diff.desc)
+ .requireAppId()
+ .environmentOption()
+ .nonInteractiveOption()
+ .option('-v1, --version1 [version]', cli_shared_1.Text.version.diff.option.version1)
+ .option('-v2, --version2 [version]', cli_shared_1.Text.version.diff.option.version2)
+ .option('-f, --out-file [outFile]', cli_shared_1.Text.version.diff.option.outFile)
+ .action(async ({ environment, version1, version2, outFile }) => {
+ if (!version1 || !version2) {
+ throw new cli_shared_1.ValidationError(cli_shared_1.Text.version.diff.error.noVersionProvided);
+ }
+ const version1Int = parseMajorVersion(version1, '--version1');
+ const version2Int = parseMajorVersion(version2, '--version2');
+ await versionController.getAppVersionDiff({ environment, version1: version1Int, version2: version2Int, outFile });
+ });
+};
+const registerCommands = (deps) => {
+ const { cmd } = deps;
+ const version = cmd.command(cli_shared_1.Text.version.cmd.cmdName).description(cli_shared_1.Text.version.cmd.desc);
+ registerDetailsCommands(version, deps);
+ registerDiffCommands(version, deps);
+ registerListCommands(version, deps);
+};
+exports.registerCommands = registerCommands;