From 91c5478ac4c1379ed9c53fe56cc591b0398e73bd Mon Sep 17 00:00:00 2001 From: Donald Merand Date: Fri, 20 Mar 2026 15:45:43 -0400 Subject: [PATCH] --json -j should not use color --- packages/cli-kit/src/public/node/cli.test.ts | 14 ++++++++++++++ packages/cli-kit/src/public/node/cli.ts | 2 ++ 2 files changed, 16 insertions(+) diff --git a/packages/cli-kit/src/public/node/cli.test.ts b/packages/cli-kit/src/public/node/cli.test.ts index 7e6af517d3c..4b91dda0fed 100644 --- a/packages/cli-kit/src/public/node/cli.test.ts +++ b/packages/cli-kit/src/public/node/cli.test.ts @@ -20,6 +20,20 @@ describe('cli', () => { expect(env.FORCE_COLOR).toBe('0') }) + test('triggers no colour mode based on --json flag', async () => { + const launchCLI = vi.fn() + const env = {} as any + await runCLI({moduleURL: 'test', development: false}, launchCLI, ['--json'], env) + expect(env.FORCE_COLOR).toBe('0') + }) + + test('triggers no colour mode based on -j flag', async () => { + const launchCLI = vi.fn() + const env = {} as any + await runCLI({moduleURL: 'test', development: false}, launchCLI, ['-j'], env) + expect(env.FORCE_COLOR).toBe('0') + }) + test('triggers no colour mode based on NO_COLOR environment variable', async () => { const launchCLI = vi.fn() const env = {NO_COLOR: 'TRUE'} as any diff --git a/packages/cli-kit/src/public/node/cli.ts b/packages/cli-kit/src/public/node/cli.ts index a9aa86af88d..9f809afba96 100644 --- a/packages/cli-kit/src/public/node/cli.ts +++ b/packages/cli-kit/src/public/node/cli.ts @@ -62,6 +62,8 @@ function setupEnvironmentVariables( function forceNoColor(argv: string[] = process.argv, env: NodeJS.ProcessEnv = process.env) { if ( argv.includes('--no-color') || + argv.includes('--json') || + argv.includes('-j') || isTruthy(env.NO_COLOR) || isTruthy(env.SHOPIFY_FLAG_NO_COLOR) || env.TERM === 'dumb'