From 493a61e6aa70e8403ddd4d7a3c121bcbd4390da7 Mon Sep 17 00:00:00 2001 From: Rosalyn Tan Date: Mon, 23 Sep 2024 15:00:20 -0700 Subject: [PATCH 1/2] Support firebase dataconnect:sdk:generaate --watch --- src/commands/dataconnect-sdk-generate.ts | 5 ++++- src/emulator/dataconnectEmulator.ts | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/src/commands/dataconnect-sdk-generate.ts b/src/commands/dataconnect-sdk-generate.ts index 71763253857..f1dc457d79a 100644 --- a/src/commands/dataconnect-sdk-generate.ts +++ b/src/commands/dataconnect-sdk-generate.ts @@ -8,9 +8,11 @@ import { load } from "../dataconnect/load"; import { readFirebaseJson } from "../dataconnect/fileUtils"; import { logger } from "../logger"; +type GenerateOptions = Options & { watch?: boolean }; + export const command = new Command("dataconnect:sdk:generate") .description("generates typed SDKs for your Data Connect connectors") - .action(async (options: Options) => { + .action(async (options: GenerateOptions) => { const projectId = needProjectId(options); const services = readFirebaseJson(options.config); @@ -39,6 +41,7 @@ export const command = new Command("dataconnect:sdk:generate") const output = await DataConnectEmulator.generate({ configDir, connectorId: conn.connectorYaml.connectorId, + watch: options.watch, }); logger.info(output); logger.info(`Generated SDKs for ${conn.connectorYaml.connectorId}`); diff --git a/src/emulator/dataconnectEmulator.ts b/src/emulator/dataconnectEmulator.ts index e617a6d2dae..e1bfe2dd876 100644 --- a/src/emulator/dataconnectEmulator.ts +++ b/src/emulator/dataconnectEmulator.ts @@ -35,6 +35,7 @@ export interface DataConnectEmulatorArgs { export interface DataConnectGenerateArgs { configDir: string; connectorId: string; + watch?: boolean; } export interface DataConnectBuildArgs { @@ -184,6 +185,9 @@ export class DataConnectEmulator implements EmulatorInstance { `--config_dir=${args.configDir}`, `--connector_id=${args.connectorId}`, ]; + if (args.watch) { + cmd.push("--watch"); + } const res = childProcess.spawnSync(commandInfo.binary, cmd, { encoding: "utf-8" }); logger.info(res.stderr); From d01285c1c100f905c5ce48082e3020f15b2b258d Mon Sep 17 00:00:00 2001 From: Rosalyn Tan Date: Mon, 23 Sep 2024 17:02:59 -0700 Subject: [PATCH 2/2] Properly set --watch option. --- src/commands/dataconnect-sdk-generate.ts | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/commands/dataconnect-sdk-generate.ts b/src/commands/dataconnect-sdk-generate.ts index f1dc457d79a..8892471e185 100644 --- a/src/commands/dataconnect-sdk-generate.ts +++ b/src/commands/dataconnect-sdk-generate.ts @@ -12,6 +12,10 @@ type GenerateOptions = Options & { watch?: boolean }; export const command = new Command("dataconnect:sdk:generate") .description("generates typed SDKs for your Data Connect connectors") + .option( + "--watch", + "watch for changes to your connector GQL files and regenerate your SDKs when updates occur", + ) .action(async (options: GenerateOptions) => { const projectId = needProjectId(options);