@forge/cli
14.1.0-next.21-experimental-554d41714.1.0-next.19-experimental-fd0ebbc
out/command-line/view/global-install-view.js~
out/command-line/view/global-install-view.jsModified+3−16
Index: package/out/command-line/view/global-install-view.js
===================================================================
--- package/out/command-line/view/global-install-view.js
+++ package/out/command-line/view/global-install-view.js
@@ -17,36 +17,25 @@
return { org: target.orgName };
return { unit: target.unitName ?? target.unitId, org: target.orgName };
}
async selectByName(prompt, items) {
- const nameCounts = new Map();
- for (const { name } of items) {
- nameCounts.set(name, (nameCounts.get(name) ?? 0) + 1);
- }
- const byLabel = new Map();
- const labels = items.map((item) => {
- const label = (nameCounts.get(item.name) ?? 0) > 1 ? `${item.name} (${item.id})` : item.name;
- byLabel.set(label, item);
- return label;
- });
- const chosen = await this.ui.promptForFilterableList(prompt, labels);
- return byLabel.get(chosen) ?? items[0];
+ const byName = new Map(items.map((item) => [item.name, item]));
+ const name = await this.ui.promptForFilterableList(prompt, items.map((item) => item.name));
+ return byName.get(name) ?? items[0];
}
fetchWithSpinner(fetch) {
return this.ui.displaySpinner(fetch);
}
selectOrganization(orgs) {
return this.selectByName(cli_shared_1.Text.install.global.promptOrganization, orgs);
}
showSelectUnitOverview() {
- this.ui.emptyLine();
this.ui.info(cli_shared_1.Text.install.global.selectUnitOverview);
}
selectUnit(units) {
return this.selectByName(cli_shared_1.Text.install.global.promptUnit, units);
}
showInstallConfirmation(target) {
- this.ui.emptyLine();
this.ui.info(cli_shared_1.Text.install.global.installConfirmation(this.toTextTarget(target)));
}
confirmContinueInstall() {
return this.ui.confirm(cli_shared_1.Text.install.global.promptContinueInstall);
@@ -100,18 +89,16 @@
showAlreadyLinked(product) {
this.ui.info(cli_shared_1.Text.install.global.alreadyLinked(product));
}
async promptForConnectionTarget(kind) {
- this.ui.emptyLine();
if (kind === 'workspace') {
this.ui.info(cli_shared_1.Text.install.global.enterWorkspaceOverview);
return this.ui.promptForText(cli_shared_1.Text.install.global.promptWorkspace);
}
this.ui.info(cli_shared_1.Text.install.global.enterSiteOverview);
return this.ui.promptForText(cli_shared_1.Text.install.global.promptSiteUrl);
}
showConnectConfirmation(product, kind) {
- this.ui.emptyLine();
this.ui.info(kind === 'workspace'
? cli_shared_1.Text.install.global.connectConfirmationWorkspace(product)
: cli_shared_1.Text.install.global.connectConfirmationSite(product));
}