@forge/cli

10.13.410.13.5-next.0-experimental-4d5d98e
out/command-line/register-version-commands.js
out/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;