diff --git a/packages/cli-kit/src/public/node/cli.test.ts b/packages/cli-kit/src/public/node/cli.test.ts index 7e6af517d3..4b91dda0fe 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 a9aa86af88..9f809afba9 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'