npm package diff

Package: @forge/cli

Versions: 10.13.6 - 11.0.0-next.18

File: package/out/command-line/controller/install-controller.js

Index: package/out/command-line/controller/install-controller.js
===================================================================
--- package/out/command-line/controller/install-controller.js
+++ package/out/command-line/controller/install-controller.js
@@ -15,17 +15,17 @@
     ui;
     installAppSiteCommand;
     installationService;
     installView;
-    statsigService;
-    constructor(appConfigProvider, configFile, ui, installAppSiteCommand, installationService, installView, statsigService) {
+    supportedProductsService;
+    constructor(appConfigProvider, configFile, ui, installAppSiteCommand, installationService, installView, supportedProductsService) {
         this.appConfigProvider = appConfigProvider;
         this.configFile = configFile;
         this.ui = ui;
         this.installAppSiteCommand = installAppSiteCommand;
         this.installationService = installationService;
         this.installView = installView;
-        this.statsigService = statsigService;
+        this.supportedProductsService = supportedProductsService;
     }
     async securityPrompt(site) {
         this.ui.info(cli_shared_1.Text.install.security.banner(site.host));
         let isTrustedApp = true;
@@ -42,8 +42,9 @@
             }
         }
     }
     async installOrUpgrade(upgrade, environment, environmentType, site, product, appId, text, license, overrides) {
+        const isWorkspaceProduct = !!product && (await this.supportedProductsService.isWorkspaceProduct(product));
         return this.ui.displayProgress(async () => {
             if (upgrade) {
                 const isAlreadyUpdated = await this.installationService.upgradeInstallation(site, product, environment, appId);
                 return isAlreadyUpdated;
@@ -59,9 +60,9 @@
                 return false;
             }
         }, text.cmd.start(environment, environmentType), (alreadyUpdated) => {
             if (alreadyUpdated) {
-                return product && (0, cli_shared_1.isWorkspaceProduct)(product)
+                return isWorkspaceProduct
                     ? cli_shared_1.Text.upgrade.alreadyUpdated.spinnerWorkspace
                     : cli_shared_1.Text.upgrade.alreadyUpdated.spinnerSite;
             }
             else {
@@ -70,13 +71,12 @@
         });
     }
     async promptForProduct() {
         this.ui.info(cli_shared_1.Text.installationContext.overviewProduct);
-        const enableAtlas = await this.statsigService.isAtlasProductSupported();
-        return await this.ui.promptForList(cli_shared_1.Text.installationContext.promptProduct, (0, cli_shared_1.getSupportedProducts)({ enableAtlas }));
+        return await this.ui.promptForList(cli_shared_1.Text.installationContext.promptProduct, await this.supportedProductsService.getSupportedProducts());
     }
     async promptForSite(product) {
-        const isWorkspaceBased = product && (0, cli_shared_1.isWorkspaceProduct)(product);
+        const isWorkspaceBased = product && (await this.supportedProductsService.isWorkspaceProduct(product));
         const overviewText = isWorkspaceBased
             ? cli_shared_1.Text.installationContext.overviewWorkspace
             : cli_shared_1.Text.installationContext.overviewSite;
         this.ui.info(overviewText);
@@ -87,20 +87,21 @@
         const invalidText = isWorkspaceBased ? cli_shared_1.Text.error.invalidWorkspace : cli_shared_1.Text.error.invalidSite;
         if (!trySite) {
             throw new cli_shared_1.ValidationError(invalidText);
         }
-        return (0, cli_shared_1.validateSite)(trySite, product);
+        return this.supportedProductsService.validateSite(trySite, product);
     }
     async promptForUpgrade(siteOption, productOption, environmentOption) {
         const { installations } = await this.installationService.listNonTechnicalAppInstallations({
-            site: siteOption?.host,
+            site: siteOption,
             product: productOption,
             environment: environmentOption
         });
         const { site, product, environmentKey, environmentType } = await this.installView.promptForUpgrade(installations);
+        const productName = (0, cli_shared_1.productDisplayName)(product);
         return {
-            site: (0, cli_shared_1.validateSite)(site, product),
-            product: (0, cli_shared_1.productDisplayName)(product),
+            site: await this.supportedProductsService.validateSite(site, productName),
+            product: productName,
             environment: environmentKey,
             environmentType
         };
     }
@@ -154,9 +155,11 @@
             product = upgradeResult.product;
         }
         product = product ? product : await this.promptForProduct();
         site = site ? site : await this.promptForSite(product);
-        const bannerText = product && (0, cli_shared_1.isWorkspaceProduct)(product) ? text.bannerWorkspace : text.bannerSite;
+        const bannerText = product && (await this.supportedProductsService.isWorkspaceProduct(product))
+            ? text.bannerWorkspace
+            : text.bannerSite;
         this.ui.info(bannerText);
         if ((0, cli_shared_1.isSecureSite)(site)) {
             await this.securityPrompt(site);
         }
@@ -192,9 +195,9 @@
             const uniqueProductsFromScopes = this.getUniqueInstallationProductsFromScopes(environmentScopes);
             if (!uniqueProductsFromScopes || uniqueProductsFromScopes.length <= 1)
                 return;
             const { installations } = await this.installationService.listNonTechnicalAppInstallations({
-                site: site.host,
+                site,
                 environment
             });
             const productsToUpgrade = installations
                 .filter((installation) => !installation.version.isLatest)