diff --git a/packages/nx-plugin-openapi/src/executors/generate-api-lib-sources/executor.ts b/packages/nx-plugin-openapi/src/executors/generate-api-lib-sources/executor.ts index 9a044e1..3d19702 100644 --- a/packages/nx-plugin-openapi/src/executors/generate-api-lib-sources/executor.ts +++ b/packages/nx-plugin-openapi/src/executors/generate-api-lib-sources/executor.ts @@ -25,6 +25,7 @@ export default async function runExecutor( options.additionalProperties, options.globalProperties, options.typeMappings, + options.templateDir, outputDir, ); @@ -39,6 +40,7 @@ async function generateSources( additionalProperties: string, globalProperties: string, typeMappings: string, + templateDir: string, outputDir: string, ): Promise { mkdirSync(outputDir, { recursive: true }); @@ -69,6 +71,10 @@ async function generateSources( args.push('--global-property', globalProperties); } + if (templateDir) { + args.push('--template-dir', templateDir); + } + const child = spawn(command, args); child.on('error', (err) => { diff --git a/packages/nx-plugin-openapi/src/executors/generate-api-lib-sources/schema.d.ts b/packages/nx-plugin-openapi/src/executors/generate-api-lib-sources/schema.d.ts index 53fdfd6..191a64a 100644 --- a/packages/nx-plugin-openapi/src/executors/generate-api-lib-sources/schema.d.ts +++ b/packages/nx-plugin-openapi/src/executors/generate-api-lib-sources/schema.d.ts @@ -6,4 +6,5 @@ export interface GenerateApiLibSourcesExecutorSchema { additionalProperties?: string; globalProperties?: string; typeMappings?: string; + templateDir?: string; } diff --git a/packages/nx-plugin-openapi/src/executors/generate-api-lib-sources/schema.json b/packages/nx-plugin-openapi/src/executors/generate-api-lib-sources/schema.json index 8e778d0..0281a5f 100644 --- a/packages/nx-plugin-openapi/src/executors/generate-api-lib-sources/schema.json +++ b/packages/nx-plugin-openapi/src/executors/generate-api-lib-sources/schema.json @@ -34,6 +34,10 @@ "sourceSpecUrlAuthorizationHeaders": { "type": "string", "description": "A URL-encoded string of name:header with a comma separating multiple values" + }, + "templateDir": { + "type": "string", + "description": "The path (relative to the workspace root) where the template files for the generator are located at" } }, "required": []