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)