From ecaf682bba8ab4f428a69f9e817c983b1856e4ce Mon Sep 17 00:00:00 2001 From: Benjamin Hohenwarter Date: Tue, 19 Mar 2024 14:40:13 +0100 Subject: [PATCH 1/4] Future Admin-Generator: Generate specific file --- packages/admin/cms-admin/src/generator/future/generator.ts | 3 ++- packages/admin/cms-admin/src/generator/generate.ts | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/admin/cms-admin/src/generator/future/generator.ts b/packages/admin/cms-admin/src/generator/future/generator.ts index be20eb5f03..c6a25c4bf0 100644 --- a/packages/admin/cms-admin/src/generator/future/generator.ts +++ b/packages/admin/cms-admin/src/generator/future/generator.ts @@ -58,7 +58,7 @@ export type GeneratorConfig = FormConfig | GridConfig | TabsConfig; export type GeneratorReturn = { code: string; gqlDocuments: Record }; -export async function runFutureGenerate() { +export async function runFutureGenerate(specificFile?: string) { const schema = await loadSchema("./schema.gql", { loaders: [new GraphQLFileLoader()], }); @@ -66,6 +66,7 @@ export async function runFutureGenerate() { const files = await glob("src/**/*.cometGen.ts"); for (const file of files) { + if (specificFile && file !== specificFile) continue; let outputCode = ""; let gqlDocumentsOutputCode = ""; const targetDirectory = `${dirname(file)}/generated`; diff --git a/packages/admin/cms-admin/src/generator/generate.ts b/packages/admin/cms-admin/src/generator/generate.ts index cff0a5f1f4..421b8aa22f 100644 --- a/packages/admin/cms-admin/src/generator/generate.ts +++ b/packages/admin/cms-admin/src/generator/generate.ts @@ -31,8 +31,8 @@ program.addCommand( ); program.addCommand( - new Command("future-generate").action(async () => { - await runFutureGenerate(); + new Command("future-generate").option("-f, --file ", "config file to generate").action(async ({ file }: { file: string }) => { + await runFutureGenerate(file); }), ); From eb30a8c2368fa6ccdbc89a2064b1005d5b1cf6bb Mon Sep 17 00:00:00 2001 From: Benjamin Hohenwarter Date: Tue, 16 Apr 2024 08:57:51 +0200 Subject: [PATCH 2/4] Admin Gen (Future): fix wrong typing for file-input-param --- packages/admin/cms-admin/src/generator/generate.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/admin/cms-admin/src/generator/generate.ts b/packages/admin/cms-admin/src/generator/generate.ts index 421b8aa22f..00aaece174 100644 --- a/packages/admin/cms-admin/src/generator/generate.ts +++ b/packages/admin/cms-admin/src/generator/generate.ts @@ -31,7 +31,7 @@ program.addCommand( ); program.addCommand( - new Command("future-generate").option("-f, --file ", "config file to generate").action(async ({ file }: { file: string }) => { + new Command("future-generate").option("-f, --file ", "config file to generate").action(async ({ file }: { file?: string }) => { await runFutureGenerate(file); }), ); From 9c8bf1f596d2c28d30f8448da0bedebca5aa43f9 Mon Sep 17 00:00:00 2001 From: Benjamin Hohenwarter Date: Tue, 16 Apr 2024 09:05:57 +0200 Subject: [PATCH 3/4] Admin Gen (Future): only iterate relevant files --- packages/admin/cms-admin/src/generator/future/generator.ts | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/packages/admin/cms-admin/src/generator/future/generator.ts b/packages/admin/cms-admin/src/generator/future/generator.ts index c6a25c4bf0..ea7f086da4 100644 --- a/packages/admin/cms-admin/src/generator/future/generator.ts +++ b/packages/admin/cms-admin/src/generator/future/generator.ts @@ -64,9 +64,8 @@ export async function runFutureGenerate(specificFile?: string) { }); const gqlIntrospection = introspectionFromSchema(schema); - const files = await glob("src/**/*.cometGen.ts"); + const files: string[] = specificFile ? [specificFile] : await glob("src/**/*.cometGen.ts"); for (const file of files) { - if (specificFile && file !== specificFile) continue; let outputCode = ""; let gqlDocumentsOutputCode = ""; const targetDirectory = `${dirname(file)}/generated`; From 28f2cccff7219401442077e51499072b45c7be7f Mon Sep 17 00:00:00 2001 From: Benjamin Hohenwarter Date: Thu, 18 Apr 2024 12:16:36 +0200 Subject: [PATCH 4/4] Admin Gen (Future): allow glob pattern to generate specific files --- .../admin/cms-admin/src/generator/future/generator.ts | 4 ++-- packages/admin/cms-admin/src/generator/generate.ts | 8 +++++--- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/packages/admin/cms-admin/src/generator/future/generator.ts b/packages/admin/cms-admin/src/generator/future/generator.ts index ea7f086da4..0c7e317b56 100644 --- a/packages/admin/cms-admin/src/generator/future/generator.ts +++ b/packages/admin/cms-admin/src/generator/future/generator.ts @@ -58,13 +58,13 @@ export type GeneratorConfig = FormConfig | GridConfig | TabsConfig; export type GeneratorReturn = { code: string; gqlDocuments: Record }; -export async function runFutureGenerate(specificFile?: string) { +export async function runFutureGenerate(filePattern = "src/**/*.cometGen.ts") { const schema = await loadSchema("./schema.gql", { loaders: [new GraphQLFileLoader()], }); const gqlIntrospection = introspectionFromSchema(schema); - const files: string[] = specificFile ? [specificFile] : await glob("src/**/*.cometGen.ts"); + const files: string[] = await glob(filePattern); for (const file of files) { let outputCode = ""; let gqlDocumentsOutputCode = ""; diff --git a/packages/admin/cms-admin/src/generator/generate.ts b/packages/admin/cms-admin/src/generator/generate.ts index 00aaece174..fbf74c7d07 100644 --- a/packages/admin/cms-admin/src/generator/generate.ts +++ b/packages/admin/cms-admin/src/generator/generate.ts @@ -31,9 +31,11 @@ program.addCommand( ); program.addCommand( - new Command("future-generate").option("-f, --file ", "config file to generate").action(async ({ file }: { file?: string }) => { - await runFutureGenerate(file); - }), + new Command("future-generate") + .option("-f, --file ", "path to config file or glob pattern to generate specific files") + .action(async ({ file: filePattern }: { file?: string }) => { + await runFutureGenerate(filePattern); + }), ); program.parse();