@forge/cli

12.9.0-next.16-experimental-4bd2ca012.9.0-next.17
out/command-line/register-webtrigger-commands.js
~out/command-line/register-webtrigger-commands.jsModified
+63−40
Index: package/out/command-line/register-webtrigger-commands.js
===================================================================
--- package/out/command-line/register-webtrigger-commands.js
+++ package/out/command-line/register-webtrigger-commands.js
@@ -25,52 +25,75 @@
     return async () => {
         await getValidWebtriggers(configFile);
     };
 }
-const registerCommands = ({ cmd, ui, configFile, services: { installationsService }, commands: { getWebTriggerURLCommand } }) => {
-    const validateWebtriggerKey = async (functionKey) => {
-        const availableWebTriggers = await getValidWebtriggers(configFile);
-        if (functionKey) {
-            if (!availableWebTriggers.has(functionKey)) {
-                throw new cli_shared_2.ValidationError(cli_shared_1.Text.webtrigger.error.funcKey);
-            }
-            return functionKey;
+async function validateWebtriggerKey(ui, configFile, functionKey) {
+    const availableWebTriggers = await getValidWebtriggers(configFile);
+    if (functionKey) {
+        if (!availableWebTriggers.has(functionKey)) {
+            throw new cli_shared_2.ValidationError(cli_shared_1.Text.webtrigger.error.funcKey);
         }
-        else {
-            const values = [...availableWebTriggers.values()];
-            return await ui.promptForList(cli_shared_1.Text.webtrigger.promptFuncKey, values);
-        }
-    };
-    cmd
-        .command('webtrigger')
+        return functionKey;
+    }
+    else {
+        const values = [...availableWebTriggers.values()];
+        return await ui.promptForList(cli_shared_1.Text.webtrigger.promptFuncKey, values);
+    }
+}
+async function webtriggerCreateAction(deps, { functionKey, site, environment, product }) {
+    const { ui, configFile, services: { installationsService }, commands: { getWebTriggerURLCommand } } = deps;
+    let selectedInstallationId = '';
+    if (site && product) {
+        ui.info(cli_shared_1.Text.webtrigger.overviewFuncKey);
+        const installation = await installationsService.findOnlyMatchingInstallation({
+            site,
+            environment,
+            product
+        });
+        selectedInstallationId = (0, installation_helper_1.validateInstallationId)(installation?.id);
+    }
+    else {
+        const appInstallation = await installationsService.listNonTechnicalAppInstallations({
+            site,
+            environment,
+            product
+        });
+        const installation = await (0, installation_helper_1.selectSingleInstallation)(ui, appInstallation.installations, cli_shared_1.Text.webtrigger.promptInstallationTable, cli_shared_1.Text.webtrigger.overViewInstallationTable);
+        selectedInstallationId = (0, installation_helper_1.validateInstallationId)(installation.id);
+    }
+    const url = await getWebTriggerURLCommand.execute(selectedInstallationId, await validateWebtriggerKey(ui, configFile, functionKey));
+    ui.info(cli_shared_1.Text.webtrigger.copy(url));
+}
+function registerDeprecatedWebtriggerCreateCommand(deps) {
+    deps.cmd
+        .command('__create', { isDefault: true, hidden: true })
         .requireAppId()
-        .description(cli_shared_1.Text.webtrigger.cmd)
-        .option('-f, --functionKey [function]', cli_shared_1.Text.webtrigger.optionFuncKey)
+        .option('-f, --functionKey <functionKey>', cli_shared_1.Text.webtrigger.optionFuncKey)
         .contextOption()
         .environmentOption()
-        .precondition(manifestDefinesTriggers(configFile))
-        .action(async ({ functionKey, site, environment, product }) => {
-        let selectedInstallationId = '';
-        if (site && product) {
-            ui.info(cli_shared_1.Text.webtrigger.overviewFuncKey);
-            const installation = await installationsService.findOnlyMatchingInstallation({
-                site,
-                environment,
-                product
-            });
-            selectedInstallationId = (0, installation_helper_1.validateInstallationId)(installation?.id);
-        }
-        else {
-            const appInstallation = await installationsService.listNonTechnicalAppInstallations({
-                site,
-                environment,
-                product
-            });
-            const installation = await (0, installation_helper_1.selectSingleInstallation)(ui, appInstallation.installations, cli_shared_1.Text.webtrigger.promptInstallationTable, cli_shared_1.Text.webtrigger.overViewInstallationTable);
-            selectedInstallationId = (0, installation_helper_1.validateInstallationId)(installation.id);
-        }
-        const url = await getWebTriggerURLCommand.execute(selectedInstallationId, await validateWebtriggerKey(functionKey));
-        ui.info(cli_shared_1.Text.webtrigger.copy(url));
+        .precondition(manifestDefinesTriggers(deps.configFile))
+        .action(async (args) => {
+        deps.ui.emptyLine();
+        deps.ui.warn(cli_shared_1.Text.warning.oldCreateCommandDeprecation);
+        await webtriggerCreateAction(deps, args);
     });
+}
+function registerWebtriggerCreateCommand(deps) {
+    deps.cmd
+        .command('create')
+        .requireAppId()
+        .description(cli_shared_1.Text.webtrigger.create.cmd)
+        .option('-f, --functionKey <functionKey>', cli_shared_1.Text.webtrigger.create.optionFunctionKey)
+        .contextOption()
+        .environmentOption()
+        .precondition(manifestDefinesTriggers(deps.configFile))
+        .action(async (args) => {
+        await webtriggerCreateAction(deps, args);
+    });
+}
+const registerCommands = (deps) => {
+    const webtrigger = deps.cmd.command('webtrigger').description(cli_shared_1.Text.webtrigger.cmd);
+    registerWebtriggerCreateCommand({ ...deps, cmd: webtrigger });
+    registerDeprecatedWebtriggerCreateCommand({ ...deps, cmd: webtrigger });
 };
 exports.registerCommands = registerCommands;
 //# sourceMappingURL=register-webtrigger-commands.js.map
\ No newline at end of file