From 0279f0945916f0c309703dd24cc0f1de3532d63f Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sat, 10 Jan 2026 19:57:24 +0100 Subject: [PATCH] fix: avoid duplicate cli banners --- src/cli/banner.ts | 4 ++++ src/cli/program.ts | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/src/cli/banner.ts b/src/cli/banner.ts index cac636d9c..7c5951389 100644 --- a/src/cli/banner.ts +++ b/src/cli/banner.ts @@ -92,3 +92,7 @@ export function emitCliBanner(version: string, options: BannerOptions = {}) { process.stdout.write(`\n${line}\n\n`); bannerEmitted = true; } + +export function hasEmittedCliBanner(): boolean { + return bannerEmitted; +} diff --git a/src/cli/program.ts b/src/cli/program.ts index f0afdcc25..1ca4430f0 100644 --- a/src/cli/program.ts +++ b/src/cli/program.ts @@ -31,8 +31,8 @@ import { isRich, theme } from "../terminal/theme.js"; import { VERSION } from "../version.js"; import { emitCliBanner, - formatCliBannerArt, formatCliBannerLine, + hasEmittedCliBanner, } from "./banner.js"; import { registerBrowserCli } from "./browser-cli.js"; import { hasExplicitOptions } from "./command-options.js"; @@ -106,10 +106,10 @@ export function buildProgram() { } program.addHelpText("beforeAll", () => { + if (hasEmittedCliBanner()) return ""; const rich = isRich(); - const art = formatCliBannerArt({ richTty: rich }); const line = formatCliBannerLine(PROGRAM_VERSION, { richTty: rich }); - return `\n${art}\n${line}\n`; + return `\n${line}\n`; }); program.hook("preAction", async (_thisCommand, actionCommand) => {