From 6848e3ae5430b17618fcfaf38834b9045f16f6d8 Mon Sep 17 00:00:00 2001 From: Nikolas de Hor Date: Wed, 11 Mar 2026 21:25:40 -0300 Subject: [PATCH] fix: ensure --yes flag assigns defaults for fields without values When skipPrompts is true, config fields without a default value were silently skipped, leaving them undefined in the collected config. This caused downstream code to prompt the user or fail when encountering missing config values. Now assigns empty string as fallback for fields without defaults when --yes flag is active, ensuring fully non-interactive install. Fixes #1803 --- tools/cli/installers/lib/core/config-collector.js | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/tools/cli/installers/lib/core/config-collector.js b/tools/cli/installers/lib/core/config-collector.js index e8569cd0f..b39572974 100644 --- a/tools/cli/installers/lib/core/config-collector.js +++ b/tools/cli/installers/lib/core/config-collector.js @@ -735,12 +735,13 @@ class ConfigCollector { // Skip prompts mode: use all defaults without asking if (this.skipPrompts) { await prompts.log.info(`Using default configuration for ${moduleDisplayName}`); - // Use defaults for all questions + // Use defaults for all questions; use empty string for fields without defaults for (const question of questions) { - const hasDefault = question.default !== undefined && question.default !== null && question.default !== ''; - if (hasDefault && typeof question.default !== 'function') { - allAnswers[question.name] = question.default; + if (typeof question.default === 'function') { + continue; } + const hasDefault = question.default !== undefined && question.default !== null && question.default !== ''; + allAnswers[question.name] = hasDefault ? question.default : ''; } } else { if (!this._silentConfig) await prompts.log.step(`Configuring ${moduleDisplayName}`);