diff --git a/apps/cli/commands/site/create.ts b/apps/cli/commands/site/create.ts index 386951805f..984731116e 100644 --- a/apps/cli/commands/site/create.ts +++ b/apps/cli/commands/site/create.ts @@ -2,7 +2,7 @@ import crypto from 'crypto'; import fs from 'fs'; import os from 'os'; import path from 'path'; -import { confirm, input, select } from '@inquirer/prompts'; +import { confirm, input, password, select } from '@inquirer/prompts'; import { SupportedPHPVersions } from '@php-wasm/universal'; import { DEFAULT_PHP_VERSION, @@ -565,6 +565,9 @@ export const registerCommand = ( yargs: StudioArgv ) => { let phpVersion = argv.php; let customDomain = argv.domain; let enableHttps = !! argv.https; + let adminUsername = argv.adminUsername; + let adminPassword = argv.adminPassword; + let adminEmail = argv.adminEmail; try { if ( process.stdin.isTTY ) { @@ -641,6 +644,32 @@ export const registerCommand = ( yargs: StudioArgv ) => { default: false, } ); } + + if ( ! adminUsername ) { + adminUsername = await input( { + message: __( 'Admin username:' ), + default: 'admin', + validate: ( value ) => validateAdminUsername( value ) || true, + } ); + } + + if ( ! adminPassword ) { + adminPassword = await password( { + message: __( 'Admin password (leave empty to auto-generate):' ), + mask: true, + } ); + if ( ! adminPassword ) { + adminPassword = undefined; + } + } + + if ( ! adminEmail ) { + adminEmail = await input( { + message: __( 'Admin email:' ), + default: 'admin@localhost.com', + validate: ( value ) => validateAdminEmail( value ) || true, + } ); + } } } catch { // User cancelled the prompt (Ctrl+C) @@ -658,9 +687,9 @@ export const registerCommand = ( yargs: StudioArgv ) => { phpVersion, customDomain, enableHttps, - adminUsername: argv.adminUsername, - adminPassword: argv.adminPassword, - adminEmail: argv.adminEmail, + adminUsername, + adminPassword, + adminEmail, noStart: ! argv.start, skipBrowser: !! argv.skipBrowser, skipLogDetails: !! argv.skipLogDetails,