fix: improve module config UX messaging and spacing (#1656)

- Move "Module configuration complete" to appear after all customization
  prompts finish, not just after defaults are applied
- Change spinner stop message to "Module defaults applied" for clarity
  when customization follows; keep "Module configuration complete" for
  express mode where no customization prompts follow
- Remove extra blank line before post-install notes
- Wrap spinner loop in try/finally for error safety

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Davor Racic 2026-02-15 22:39:53 +01:00 committed by GitHub
parent 2d134314c9
commit 1937552da3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
1 changed files with 16 additions and 10 deletions

View File

@ -302,6 +302,7 @@ class ConfigCollector {
const configSpinner = await prompts.spinner(); const configSpinner = await prompts.spinner();
configSpinner.start('Configuring modules...'); configSpinner.start('Configuring modules...');
try {
for (const moduleName of defaultModules) { for (const moduleName of defaultModules) {
const displayName = displayNameMap.get(moduleName) || moduleName.toUpperCase(); const displayName = displayNameMap.get(moduleName) || moduleName.toUpperCase();
configSpinner.message(`Configuring ${displayName}...`); configSpinner.message(`Configuring ${displayName}...`);
@ -312,13 +313,19 @@ class ConfigCollector {
this._silentConfig = false; this._silentConfig = false;
} }
} }
configSpinner.stop('Module configuration complete'); } finally {
configSpinner.stop(customizeModules.length > 0 ? 'Module defaults applied' : 'Module configuration complete');
}
} }
// Run customized modules individually (may show interactive prompts) // Run customized modules individually (may show interactive prompts)
for (const moduleName of customizeModules) { for (const moduleName of customizeModules) {
await this.collectModuleConfig(moduleName, projectDir); await this.collectModuleConfig(moduleName, projectDir);
} }
if (customizeModules.length > 0) {
await prompts.log.step('Module configuration complete');
}
} }
// Add metadata // Add metadata
@ -1239,7 +1246,6 @@ class ConfigCollector {
hasOutput = true; hasOutput = true;
const message = valueMessages[selectedValue]; const message = valueMessages[selectedValue];
await prompts.log.message('');
for (const line of message.trim().split('\n')) { for (const line of message.trim().split('\n')) {
const trimmedLine = line.trim(); const trimmedLine = line.trim();
if (trimmedLine.endsWith(':') && !trimmedLine.startsWith(' ')) { if (trimmedLine.endsWith(':') && !trimmedLine.startsWith(' ')) {