From c66573a813c171540cd5b3f8938e7f900f358c94 Mon Sep 17 00:00:00 2001 From: Yann Braga Date: Tue, 3 Aug 2021 00:40:53 +0200 Subject: [PATCH] feat(cli): add --no-open flag - Flag to enable not opening the browser (different than --ci) --- docs/api/cli-options.md | 1 + lib/core-common/src/types.ts | 1 + lib/core-server/src/cli/dev.ts | 1 + lib/core-server/src/dev-server.ts | 4 +++- 4 files changed, 6 insertions(+), 1 deletion(-) diff --git a/docs/api/cli-options.md b/docs/api/cli-options.md index 003e7013c824..af399c1450db 100644 --- a/docs/api/cli-options.md +++ b/docs/api/cli-options.md @@ -26,6 +26,7 @@ Usage: start-storybook [options] | --ssl-key `` | Provide an SSL key. (Required with --https) | `start-storybook --ssl-key my-ssl-key` | | --smoke-test | Exit after successful start | `start-storybook --smoke-test` | | --ci | CI mode (skip interactive prompts, don't open browser) | `start-storybook --ci` | +| --no-open | Do not open Storybook automatically in the browser | `start-storybook --no-open` | | --quiet | Suppress verbose build output | `start-storybook --quiet` | | --no-dll | Do not use dll reference (no-op) | `start-storybook --no-dll` | | --debug-webpack | Display final webpack configurations for debugging purposes | `start-storybook --debug-webpack` | diff --git a/lib/core-common/src/types.ts b/lib/core-common/src/types.ts index b2c150985f88..ed34b1c21f2a 100644 --- a/lib/core-common/src/types.ts +++ b/lib/core-common/src/types.ts @@ -134,6 +134,7 @@ export interface CLIOptions { sslKey?: string; smokeTest?: boolean; managerCache?: boolean; + open?: boolean; ci?: boolean; loglevel?: string; quiet?: boolean; diff --git a/lib/core-server/src/cli/dev.ts b/lib/core-server/src/cli/dev.ts index 14791944bf06..81a424f5f96f 100644 --- a/lib/core-server/src/cli/dev.ts +++ b/lib/core-server/src/cli/dev.ts @@ -29,6 +29,7 @@ export async function getDevCli(packageJson: { .option('--ssl-key ', 'Provide an SSL key. (Required with --https)') .option('--smoke-test', 'Exit after successful start') .option('--ci', "CI mode (skip interactive prompts, don't open browser)") + .option('--no-open', 'Do not open Storybook automatically in the browser') .option('--loglevel ', 'Control level of logging during build') .option('--quiet', 'Suppress verbose build output') .option('--no-version-updates', 'Suppress update check', true) diff --git a/lib/core-server/src/dev-server.ts b/lib/core-server/src/dev-server.ts index 6f433c8966a8..3245e7c84c7d 100644 --- a/lib/core-server/src/dev-server.ts +++ b/lib/core-server/src/dev-server.ts @@ -90,7 +90,9 @@ export async function storybookDevServer(options: Options) { ]); // TODO #13083 Remove this when compiling the preview is fast enough - if (!options.ci && !options.smokeTest) openInBrowser(host ? networkAddress : address); + if (!options.ci && !options.smokeTest && options.open) { + openInBrowser(host ? networkAddress : address); + } return { previewResult, managerResult, address, networkAddress }; }