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();
configSpinner.start('Configuring modules...');
try {
for (const moduleName of defaultModules) {
const displayName = displayNameMap.get(moduleName) || moduleName.toUpperCase();
configSpinner.message(`Configuring ${displayName}...`);
@ -312,13 +313,19 @@ class ConfigCollector {
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)
for (const moduleName of customizeModules) {
await this.collectModuleConfig(moduleName, projectDir);
}
if (customizeModules.length > 0) {
await prompts.log.step('Module configuration complete');
}
}
// Add metadata
@ -1239,7 +1246,6 @@ class ConfigCollector {
hasOutput = true;
const message = valueMessages[selectedValue];
await prompts.log.message('');
for (const line of message.trim().split('\n')) {
const trimmedLine = line.trim();
if (trimmedLine.endsWith(':') && !trimmedLine.startsWith(' ')) {