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:
parent
2d134314c9
commit
1937552da3
|
|
@ -302,23 +302,30 @@ class ConfigCollector {
|
||||||
|
|
||||||
const configSpinner = await prompts.spinner();
|
const configSpinner = await prompts.spinner();
|
||||||
configSpinner.start('Configuring modules...');
|
configSpinner.start('Configuring modules...');
|
||||||
for (const moduleName of defaultModules) {
|
try {
|
||||||
const displayName = displayNameMap.get(moduleName) || moduleName.toUpperCase();
|
for (const moduleName of defaultModules) {
|
||||||
configSpinner.message(`Configuring ${displayName}...`);
|
const displayName = displayNameMap.get(moduleName) || moduleName.toUpperCase();
|
||||||
try {
|
configSpinner.message(`Configuring ${displayName}...`);
|
||||||
this._silentConfig = true;
|
try {
|
||||||
await this.collectModuleConfig(moduleName, projectDir);
|
this._silentConfig = true;
|
||||||
} finally {
|
await this.collectModuleConfig(moduleName, projectDir);
|
||||||
this._silentConfig = false;
|
} finally {
|
||||||
|
this._silentConfig = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
} finally {
|
||||||
|
configSpinner.stop(customizeModules.length > 0 ? 'Module defaults applied' : 'Module configuration complete');
|
||||||
}
|
}
|
||||||
configSpinner.stop('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(' ')) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue