From fe3d60380867adb6c817cf20c677c1bfca24b264 Mon Sep 17 00:00:00 2001 From: Pavel Jbanov Date: Fri, 10 May 2024 18:36:06 -0400 Subject: [PATCH 1/6] Added `-o, --open` flag to launch the browser to `genkit start` --- genkit-tools/cli/src/commands/start.ts | 6 +++++- genkit-tools/common/src/runner/runner.ts | 7 +++++++ genkit-tools/common/src/server/server.ts | 4 +++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/genkit-tools/cli/src/commands/start.ts b/genkit-tools/cli/src/commands/start.ts index 5d6980e957..09eabbf75f 100644 --- a/genkit-tools/cli/src/commands/start.ts +++ b/genkit-tools/cli/src/commands/start.ts @@ -24,6 +24,7 @@ interface StartOptions { headless?: boolean; port: string; attach?: string; + open?: boolean; } /** Command to start GenKit server, optionally without static file serving */ @@ -35,6 +36,7 @@ export const start = new Command('start') false ) .option('-p, --port ', 'Port to serve on. Default is 4000', '4000') + .option('-o, --open', 'Open the browser with the Dev UI') .option( '-a, --attach ', 'Externally running dev process address to attach to' @@ -46,7 +48,9 @@ export const start = new Command('start') return; } - const runner = new Runner(); + const runner = new Runner({ + openBrowser: options.open + }); if (options.attach) { try { await runner.attach(options.attach); diff --git a/genkit-tools/common/src/runner/runner.ts b/genkit-tools/common/src/runner/runner.ts index d72940c805..ccd07937b3 100644 --- a/genkit-tools/common/src/runner/runner.ts +++ b/genkit-tools/common/src/runner/runner.ts @@ -62,6 +62,11 @@ export class Runner { */ readonly autoReload: boolean; + /** + * Whether to open the browser for the Dev UI. + */ + readonly openBrowser: boolean; + /** * Subprocess for the app code. May not be running. */ @@ -94,10 +99,12 @@ export class Runner { options: { directory?: string; autoReload?: boolean; + openBrowser?: boolean; } = {} ) { this.directory = options.directory || process.cwd(); this.autoReload = options.autoReload ?? true; + this.openBrowser = !!options.openBrowser; } /** diff --git a/genkit-tools/common/src/server/server.ts b/genkit-tools/common/src/server/server.ts index 7ff0ea0f7d..8a23a87ce1 100644 --- a/genkit-tools/common/src/server/server.ts +++ b/genkit-tools/common/src/server/server.ts @@ -133,7 +133,9 @@ export function startServer( .waitUntilHealthy() .then(() => { logger.info(`${clc.green(clc.bold('Genkit Tools UI:'))} ${uiUrl}`); - open(uiUrl); + if (runner.openBrowser) { + open(uiUrl); + } }) .catch((e) => { logger.error(e.message); From e7f8af9e390ff8225d09b5bea6e04ebea66eafcf Mon Sep 17 00:00:00 2001 From: Pavel Jbanov Date: Fri, 10 May 2024 18:38:13 -0400 Subject: [PATCH 2/6] format --- genkit-tools/cli/src/commands/start.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/genkit-tools/cli/src/commands/start.ts b/genkit-tools/cli/src/commands/start.ts index 09eabbf75f..3e98a95639 100644 --- a/genkit-tools/cli/src/commands/start.ts +++ b/genkit-tools/cli/src/commands/start.ts @@ -49,7 +49,7 @@ export const start = new Command('start') } const runner = new Runner({ - openBrowser: options.open + openBrowser: options.open, }); if (options.attach) { try { From 82847075a3bf5ba9327e2edd8f8b34826d08b89e Mon Sep 17 00:00:00 2001 From: Pavel Jbanov Date: Fri, 10 May 2024 18:41:21 -0400 Subject: [PATCH 3/6] simplify --- genkit-tools/cli/src/commands/start.ts | 2 +- genkit-tools/common/src/runner/runner.ts | 6 ------ genkit-tools/common/src/server/server.ts | 5 +++-- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/genkit-tools/cli/src/commands/start.ts b/genkit-tools/cli/src/commands/start.ts index 3e98a95639..b459bd82f4 100644 --- a/genkit-tools/cli/src/commands/start.ts +++ b/genkit-tools/cli/src/commands/start.ts @@ -61,5 +61,5 @@ export const start = new Command('start') } else { await runner.start(); } - return startServer(runner, options.headless ?? false, port); + return startServer(runner, options.headless ?? false, port, !!options.open); }); diff --git a/genkit-tools/common/src/runner/runner.ts b/genkit-tools/common/src/runner/runner.ts index ccd07937b3..f730f81ceb 100644 --- a/genkit-tools/common/src/runner/runner.ts +++ b/genkit-tools/common/src/runner/runner.ts @@ -62,11 +62,6 @@ export class Runner { */ readonly autoReload: boolean; - /** - * Whether to open the browser for the Dev UI. - */ - readonly openBrowser: boolean; - /** * Subprocess for the app code. May not be running. */ @@ -104,7 +99,6 @@ export class Runner { ) { this.directory = options.directory || process.cwd(); this.autoReload = options.autoReload ?? true; - this.openBrowser = !!options.openBrowser; } /** diff --git a/genkit-tools/common/src/server/server.ts b/genkit-tools/common/src/server/server.ts index 8a23a87ce1..b4715936e5 100644 --- a/genkit-tools/common/src/server/server.ts +++ b/genkit-tools/common/src/server/server.ts @@ -45,7 +45,8 @@ const API_BASE_PATH = '/api'; export function startServer( runner: Runner, headless: boolean, - port: number + port: number, + openBrowser: boolean ): Promise { let serverEnder: (() => void) | undefined = undefined; const enderPromise = new Promise((resolver) => { @@ -133,7 +134,7 @@ export function startServer( .waitUntilHealthy() .then(() => { logger.info(`${clc.green(clc.bold('Genkit Tools UI:'))} ${uiUrl}`); - if (runner.openBrowser) { + if (openBrowser) { open(uiUrl); } }) From 66758acfd95a6f36f9e93c070a9c79e1a695ac10 Mon Sep 17 00:00:00 2001 From: Pavel Jbanov Date: Fri, 10 May 2024 18:42:27 -0400 Subject: [PATCH 4/6] cleanup --- genkit-tools/common/src/runner/runner.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/genkit-tools/common/src/runner/runner.ts b/genkit-tools/common/src/runner/runner.ts index f730f81ceb..d72940c805 100644 --- a/genkit-tools/common/src/runner/runner.ts +++ b/genkit-tools/common/src/runner/runner.ts @@ -94,7 +94,6 @@ export class Runner { options: { directory?: string; autoReload?: boolean; - openBrowser?: boolean; } = {} ) { this.directory = options.directory || process.cwd(); From 06cdd62155e0fc23a21d5cf837522eeb834d1f7e Mon Sep 17 00:00:00 2001 From: Pavel Jbanov Date: Fri, 10 May 2024 18:44:42 -0400 Subject: [PATCH 5/6] more cleanup --- genkit-tools/cli/src/commands/start.ts | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/genkit-tools/cli/src/commands/start.ts b/genkit-tools/cli/src/commands/start.ts index b459bd82f4..252a93f9c0 100644 --- a/genkit-tools/cli/src/commands/start.ts +++ b/genkit-tools/cli/src/commands/start.ts @@ -48,9 +48,7 @@ export const start = new Command('start') return; } - const runner = new Runner({ - openBrowser: options.open, - }); + const runner = new Runner(); if (options.attach) { try { await runner.attach(options.attach); From 7070da2dd632cdcdadf26d0a584bb87430d2bea1 Mon Sep 17 00:00:00 2001 From: Pavel Jbanov Date: Fri, 10 May 2024 18:45:29 -0400 Subject: [PATCH 6/6] Developer UI --- genkit-tools/cli/src/commands/start.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/genkit-tools/cli/src/commands/start.ts b/genkit-tools/cli/src/commands/start.ts index 252a93f9c0..226368ac62 100644 --- a/genkit-tools/cli/src/commands/start.ts +++ b/genkit-tools/cli/src/commands/start.ts @@ -36,7 +36,7 @@ export const start = new Command('start') false ) .option('-p, --port ', 'Port to serve on. Default is 4000', '4000') - .option('-o, --open', 'Open the browser with the Dev UI') + .option('-o, --open', 'Open the browser with the Developer UI') .option( '-a, --attach ', 'Externally running dev process address to attach to'