diff --git a/openapitools.json b/openapitools.json index cd53ff4c..3015568c 100644 --- a/openapitools.json +++ b/openapitools.json @@ -2,6 +2,6 @@ "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json", "spaces": 2, "generator-cli": { - "version": "6.6.0" + "version": "7.0.0" } } diff --git a/packages/build-utils/src/executors/client-generator/client-generator.spec.ts b/packages/build-utils/src/executors/client-generator/client-generator.spec.ts index 51df3463..40a3a7e0 100644 --- a/packages/build-utils/src/executors/client-generator/client-generator.spec.ts +++ b/packages/build-utils/src/executors/client-generator/client-generator.spec.ts @@ -1,11 +1,16 @@ import { ExecutorContext } from '@nx/devkit'; import { execSync } from 'child_process'; +import { existsSync } from 'node:fs'; import generateClients, { ClientGeneratorSchemaType, validateSpec } from './client-generator'; // Mock child_process jest.mock('child_process'); const mockExecSync = execSync as jest.MockedFunction; +// Mock node:fs +jest.mock('node:fs'); +const mockExistsSync = existsSync as jest.MockedFunction; + // Mock console.error const mockConsoleError = jest.spyOn(console, 'error').mockImplementation(() => { return undefined; @@ -63,6 +68,8 @@ describe('generateClients', () => { // By default, validation succeeds (returns clean output) // execSync with { encoding: 'utf-8' } returns a string mockExecSync.mockReturnValue('No validation issues detected.' as any); + // By default, openapitools.json exists + mockExistsSync.mockReturnValue(true); }); afterAll(() => { @@ -433,7 +440,8 @@ describe('generateClients', () => { expect(mockExecSync).toHaveBeenCalledWith(expect.stringContaining("TS_POST_PROCESS_FILE='./postProcess.sh'"), { stdio: 'inherit' }); }); - it('should include openapitools.json path', async () => { + it('should include openapitools.json path when file exists', async () => { + mockExistsSync.mockReturnValue(true); await generateClients(mockOptions, mockContext); expect(mockExecSync).toHaveBeenCalledWith(expect.stringContaining('--openapitools /workspace/test-project/openapitools.json'), { @@ -441,6 +449,15 @@ describe('generateClients', () => { }); }); + it('should omit openapitools.json path when file does not exist', async () => { + mockExistsSync.mockReturnValue(false); + await generateClients(mockOptions, mockContext); + + expect(mockExecSync).toHaveBeenCalledWith(expect.not.stringContaining('--openapitools'), { + stdio: 'inherit', + }); + }); + it('should include skip-validate-spec and enable-post-process-file flags', async () => { await generateClients(mockOptions, mockContext); diff --git a/packages/build-utils/src/executors/client-generator/client-generator.ts b/packages/build-utils/src/executors/client-generator/client-generator.ts index 77962e54..26619f55 100644 --- a/packages/build-utils/src/executors/client-generator/client-generator.ts +++ b/packages/build-utils/src/executors/client-generator/client-generator.ts @@ -1,5 +1,6 @@ import { ExecutorContext } from '@nx/devkit'; import { execSync } from 'child_process'; +import { existsSync } from 'node:fs'; import { join } from 'node:path'; import { z } from 'zod'; @@ -50,8 +51,11 @@ function generateClient(packagePath: string, spec: string, outputDir: string, cl '--custom-generator=target/typescript-axios-webpack-module-federation-openapi-generator-1.0.0.jar -g typescript-axios-webpack-module-federation'; } + const packageOpenapitools = join(packagePath, 'openapitools.json'); + const openapiToolsArg = existsSync(packageOpenapitools) ? `--openapitools ${packageOpenapitools}` : ''; + execSync( - `TS_POST_PROCESS_FILE='./postProcess.sh' openapi-generator-cli generate -i ${spec} -o ${outputDir} --openapitools ${packagePath}/openapitools.json --skip-validate-spec --enable-post-process-file ${additionalArgs} --additional-properties clientName=${clientName}`, + `TS_POST_PROCESS_FILE='./postProcess.sh' openapi-generator-cli generate -i ${spec} -o ${outputDir} ${openapiToolsArg} --skip-validate-spec --enable-post-process-file ${additionalArgs} --additional-properties clientName=${clientName}`, { stdio: 'inherit' }, ); } diff --git a/packages/compliance/openapitools.json b/packages/compliance/openapitools.json deleted file mode 100644 index cd53ff4c..00000000 --- a/packages/compliance/openapitools.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json", - "spaces": 2, - "generator-cli": { - "version": "6.6.0" - } -} diff --git a/packages/config-manager/openapitools.json b/packages/config-manager/openapitools.json deleted file mode 100644 index c1214330..00000000 --- a/packages/config-manager/openapitools.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json", - "spaces": 2, - "generator-cli": { - "version": "7.20.0" - } -} diff --git a/packages/entitlements/openapitools.json b/packages/entitlements/openapitools.json deleted file mode 100644 index 06ac1507..00000000 --- a/packages/entitlements/openapitools.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json", - "spaces": 2, - "generator-cli": { - "version": "7.0.0" - } -} diff --git a/packages/host-inventory/openapitools.json b/packages/host-inventory/openapitools.json deleted file mode 100644 index 06ac1507..00000000 --- a/packages/host-inventory/openapitools.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json", - "spaces": 2, - "generator-cli": { - "version": "7.0.0" - } -} diff --git a/packages/insights/openapitools.json b/packages/insights/openapitools.json deleted file mode 100644 index 06ac1507..00000000 --- a/packages/insights/openapitools.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json", - "spaces": 2, - "generator-cli": { - "version": "7.0.0" - } -} diff --git a/packages/integrations/openapitools.json b/packages/integrations/openapitools.json deleted file mode 100644 index 3015568c..00000000 --- a/packages/integrations/openapitools.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json", - "spaces": 2, - "generator-cli": { - "version": "7.0.0" - } -} diff --git a/packages/notifications/openapitools.json b/packages/notifications/openapitools.json deleted file mode 100644 index 3015568c..00000000 --- a/packages/notifications/openapitools.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json", - "spaces": 2, - "generator-cli": { - "version": "7.0.0" - } -} diff --git a/packages/patch/openapitools.json b/packages/patch/openapitools.json deleted file mode 100644 index 06ac1507..00000000 --- a/packages/patch/openapitools.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json", - "spaces": 2, - "generator-cli": { - "version": "7.0.0" - } -} diff --git a/packages/quickstarts/openapitools.json b/packages/quickstarts/openapitools.json deleted file mode 100644 index 06ac1507..00000000 --- a/packages/quickstarts/openapitools.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json", - "spaces": 2, - "generator-cli": { - "version": "7.0.0" - } -} diff --git a/packages/rbac/openapitools.json b/packages/rbac/openapitools.json deleted file mode 100644 index 3015568c..00000000 --- a/packages/rbac/openapitools.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json", - "spaces": 2, - "generator-cli": { - "version": "7.0.0" - } -} diff --git a/packages/remediations/openapitools.json b/packages/remediations/openapitools.json deleted file mode 100644 index 06ac1507..00000000 --- a/packages/remediations/openapitools.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json", - "spaces": 2, - "generator-cli": { - "version": "7.0.0" - } -} diff --git a/packages/shared/openapitools.json b/packages/shared/openapitools.json deleted file mode 100644 index c2e022ca..00000000 --- a/packages/shared/openapitools.json +++ /dev/null @@ -1,8 +0,0 @@ - -{ - "$schema": "./node_modules/@openapitools/openapi-generator-cli/config.schema.json", - "spaces": 2, - "generator-cli": { - "version": "7.4.0" - } -} diff --git a/packages/sources/openapitools.json b/packages/sources/openapitools.json deleted file mode 100644 index 06ac1507..00000000 --- a/packages/sources/openapitools.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json", - "spaces": 2, - "generator-cli": { - "version": "7.0.0" - } -} diff --git a/packages/topological-inventory/openapitools.json b/packages/topological-inventory/openapitools.json deleted file mode 100644 index 06ac1507..00000000 --- a/packages/topological-inventory/openapitools.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "$schema": "node_modules/@openapitools/openapi-generator-cli/config.schema.json", - "spaces": 2, - "generator-cli": { - "version": "7.0.0" - } -} diff --git a/packages/vulnerabilities/project.json b/packages/vulnerabilities/project.json index b8b82c43..7aa64a8e 100644 --- a/packages/vulnerabilities/project.json +++ b/packages/vulnerabilities/project.json @@ -9,6 +9,7 @@ "options": { "postProcess": "./postProcess.sh", "legacyGenerator": true, + "skipValidation": true, "specs": { "default": "apiSpec.json", "git-api": "apiSpec.json" diff --git a/pom.xml b/pom.xml index 5a20455e..9696da18 100644 --- a/pom.xml +++ b/pom.xml @@ -134,7 +134,7 @@ UTF-8 - 6.6.0 + 7.0.0 1.0.0 4.13.2 1.10.0