@forge/cli
13.2.0-next.10-experimental-f51f59313.2.0-next.11-experimental-aa275c1
out/command-line/register-app-commands.js~
out/command-line/register-app-commands.jsModified+21−9
Index: package/out/command-line/register-app-commands.js
===================================================================
--- package/out/command-line/register-app-commands.js
+++ package/out/command-line/register-app-commands.js
@@ -73,8 +73,13 @@
(name) => !!name && !name.includes('ui-kit') && !name.includes('custom-ui') && !name.includes('rovo') && name !== 'blank'
]
];
const MAX_NAME_LENGTH = 60;
+const createAppFeatures = ({ isPersonalApp }) => {
+ if (isPersonalApp) {
+ return { isPersonalApp: true };
+ }
+};
function formatProduct(product) {
return (exports.PRODUCT_OPTIONS_DISPLAY[product] ??
product
.split('-')
@@ -195,9 +200,9 @@
selectedDevSpace,
isNewlyCreatedDevSpace
};
}
-async function createCommandHandler(ui, createAppCommand, name, { template, directory, developerSpaceId, acceptTerms }, devSpaceService, isDevSpaceSelectionEnabled, analyticsClientReporter) {
+async function createCommandHandler(ui, createAppCommand, name, { template, directory, developerSpaceId, acceptTerms, personal }, devSpaceService, isDevSpaceSelectionEnabled, analyticsClientReporter) {
if (isDevSpaceSelectionEnabled && developerSpaceId && !(0, exports.isValidDevSpaceId)(developerSpaceId)) {
throw new cli_shared_1.ValidationError(cli_shared_1.Text.devSpace.invalidSpaceId(developerSpaceId));
}
const devSpaceResult = isDevSpaceSelectionEnabled
@@ -223,18 +228,20 @@
const selection = await promptAndSelectTemplate(ui, createAppCommand, template, directory);
template = selection.template;
ui.emptyLine();
directory = directory;
+ const appFeatures = createAppFeatures({ isPersonalApp: personal });
const args = {
name,
template,
directory,
...(selection.requiredContext && { requiredProduct: selection.requiredContext }),
...(selection.installationTarget && { installationTarget: selection.installationTarget }),
...(selectedDevSpace?.id && { developerSpaceId: selectedDevSpace?.id }),
- billingConsent
+ billingConsent,
+ ...(appFeatures && { appFeatures })
};
- const result = await ui.displayProgress(() => createAppCommand.execute(args), cli_shared_1.Text.create.cmd.start, cli_shared_1.Text.create.cmd.success(name));
+ const result = await ui.displayProgress(() => createAppCommand.execute(args), personal ? cli_shared_1.Text.create.cmd.startPersonal : cli_shared_1.Text.create.cmd.start, cli_shared_1.Text.create.cmd.success(name));
await analyticsClientReporter.reportCreationSurvey({
...result.analytics,
...selection.analytics
});
@@ -364,9 +371,10 @@
const createCommand = cmd
.command('create [name]')
.description(cli_shared_1.Text.create.cmd.desc)
.option('-t, --template <template name>', cli_shared_1.Text.create.optionTemplate)
- .option('-d, --directory <directory name>', cli_shared_1.Text.create.optionDirectory);
+ .option('-d, --directory <directory name>', cli_shared_1.Text.create.optionDirectory)
+ .option('--personal', cli_shared_1.Text.create.optionPersonal);
if (isDevSpaceSelectionEnabled) {
createCommand.option('-s, --developer-space-id <Developer Space id>', cli_shared_1.Text.create.optionSpace);
createCommand.option('-y, --accept-terms', cli_shared_1.Text.create.optionAcceptTerms);
}
@@ -375,17 +383,19 @@
});
}
async function registerRegisterCommand({ cmd, ui, commands: { registerAppCommand }, services: { devSpaceService, statsigService } }) {
const isDevSpaceSelectionEnabled = await statsigService.isDevSpaceSelectionEnabled();
- const registerCommand = cmd.command('register [name]').description(cli_shared_1.Text.register.cmd.desc);
+ const registerCommand = cmd
+ .command('register [name]')
+ .description(cli_shared_1.Text.register.cmd.desc)
+ .option('--personal', cli_shared_1.Text.create.optionPersonal);
if (isDevSpaceSelectionEnabled) {
registerCommand.option('-s, --developer-space-id <Developer Space id>', cli_shared_1.Text.create.optionSpace);
registerCommand.option('-y, --accept-terms', cli_shared_1.Text.create.optionAcceptTerms);
}
registerCommand
.requireManifestFile()
- .action(async (name, options) => {
- const { developerSpaceId, acceptTerms } = options;
+ .action(async (name, { developerSpaceId, acceptTerms, personal }) => {
if (isDevSpaceSelectionEnabled && developerSpaceId && !(0, exports.isValidDevSpaceId)(developerSpaceId)) {
throw new cli_shared_1.ValidationError(cli_shared_1.Text.devSpace.invalidSpaceId(developerSpaceId));
}
const devSpaceResult = isDevSpaceSelectionEnabled
@@ -415,14 +425,16 @@
billingConsent = await promptAndAcceptTerms(ui, acceptTerms);
ui.info(cli_shared_1.Text.devSpace.terms.accepted('registration'));
ui.emptyLine();
}
+ const appFeatures = createAppFeatures({ isPersonalApp: personal });
const executeArgs = {
name,
+ billingConsent,
...(selectedDevSpace?.id && { developerSpaceId: selectedDevSpace?.id }),
- billingConsent
+ ...(appFeatures && { appFeatures })
};
- const result = await ui.displayProgress(() => registerAppCommand.execute(executeArgs), cli_shared_1.Text.register.cmd.start, cli_shared_1.Text.register.cmd.success(name));
+ const result = await ui.displayProgress(() => registerAppCommand.execute(executeArgs), personal ? cli_shared_1.Text.register.cmd.startPersonal : cli_shared_1.Text.register.cmd.start, cli_shared_1.Text.register.cmd.success(name));
ui.info(cli_shared_1.Text.register.cmd.successDetails(result.environments));
return result;
});
}