From b3f9c58499f4b453fbaac8434b01c1fcb82196ce Mon Sep 17 00:00:00 2001 From: Vivek JM Date: Fri, 13 Nov 2026 13:44:12 +0530 Subject: [PATCH] fix: register the verbose option once per command --- __e2e__/default.test.ts | 12 ++++++++++++ .../src/commands/buildCommand/buildOptions.ts | 3 ++- packages/cli/src/index.ts | 9 ++++++++- 3 files changed, 22 insertions(+), 2 deletions(-) diff --git a/__e2e__/default.test.ts b/__e2e__/default.test.ts index 6123a3d85..ab06d20b4 100644 --- a/__e2e__/default.test.ts +++ b/__e2e__/default.test.ts @@ -19,3 +19,15 @@ test('does not pass --platform-name by default', () => { const {stderr} = runCLI(DIR, [], {expectedFailure: true}); expect(stderr).not.toContain("unknown option '--platform-name'"); }); + +test.each(['run-ios', 'build-ios'])( + 'registers --verbose once for %s', + (command) => { + writeFiles(DIR, {'package.json': '{}'}); + const {stdout, exitCode} = runCLI(DIR, [command, '--help']); + + expect(exitCode).toBe(0); + expect(stdout.match(/^\s+--verbose\s+/gm)).toHaveLength(1); + expect(stdout).toMatch(/Do not use xcbeautify or\s+xcpretty/); + }, +); diff --git a/packages/cli-platform-apple/src/commands/buildCommand/buildOptions.ts b/packages/cli-platform-apple/src/commands/buildCommand/buildOptions.ts index 303431e4e..af02de867 100644 --- a/packages/cli-platform-apple/src/commands/buildCommand/buildOptions.ts +++ b/packages/cli-platform-apple/src/commands/buildCommand/buildOptions.ts @@ -36,7 +36,8 @@ export const getBuildOptions = ({platformName}: BuilderCommand) => { }, { name: '--verbose', - description: 'Do not use xcbeautify or xcpretty even if installed', + description: + 'Increase logging verbosity. Do not use xcbeautify or xcpretty even if installed', }, { name: '--xcconfig [string]', diff --git a/packages/cli/src/index.ts b/packages/cli/src/index.ts index 0080b51be..63fe346e7 100644 --- a/packages/cli/src/index.ts +++ b/packages/cli/src/index.ts @@ -105,7 +105,6 @@ function attachCommand>( const cmd = program .command(command.name) - .option('--verbose', 'Increase logging verbosity') .action(async function handleAction( this: CommanderCommand, ...args: string[] @@ -140,6 +139,14 @@ function attachCommand>( typeof opt.default === 'function' ? opt.default(config) : opt.default, ); } + + if ( + !command.options?.some( + (option) => cmd.createOption(option.name).long === '--verbose', + ) + ) { + cmd.option('--verbose', 'Increase logging verbosity'); + } } // Platform name is optional argument passed by out of tree platforms.