ts-openapi-codegen 2.0.0-beta.9 → 2.1.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +177 -18
- package/README.rus.md +177 -21
- package/dist/cli/analyzeDiff/__tests__/analyzeDiff.cli.test.d.ts +2 -0
- package/dist/cli/analyzeDiff/__tests__/analyzeDiff.cli.test.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/__tests__/analyzeDiff.cli.test.js +365 -0
- package/dist/cli/analyzeDiff/__tests__/analyzeDiffRenameAndInvalidRegex.test.d.ts +2 -0
- package/dist/cli/analyzeDiff/__tests__/analyzeDiffRenameAndInvalidRegex.test.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/__tests__/analyzeDiffRenameAndInvalidRegex.test.js +142 -0
- package/dist/cli/analyzeDiff/__tests__/analyzeDiffTypeCoercion.test.d.ts +2 -0
- package/dist/cli/analyzeDiff/__tests__/analyzeDiffTypeCoercion.test.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/__tests__/analyzeDiffTypeCoercion.test.js +137 -0
- package/dist/cli/analyzeDiff/analyzeDiff.d.ts +17 -0
- package/dist/cli/analyzeDiff/analyzeDiff.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/analyzeDiff.js +105 -0
- package/dist/cli/analyzeDiff/buildLegacyReport.d.ts +17 -0
- package/dist/cli/analyzeDiff/buildLegacyReport.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/buildLegacyReport.js +54 -0
- package/dist/cli/analyzeDiff/ciSummary.d.ts +6 -0
- package/dist/cli/analyzeDiff/ciSummary.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/ciSummary.js +20 -0
- package/dist/cli/analyzeDiff/diffEngine.d.ts +54 -0
- package/dist/cli/analyzeDiff/diffEngine.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/diffEngine.js +209 -0
- package/dist/cli/analyzeDiff/ignoreRules.d.ts +33 -0
- package/dist/cli/analyzeDiff/ignoreRules.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/ignoreRules.js +93 -0
- package/dist/cli/analyzeDiff/ignoreSemanticChanges.d.ts +10 -0
- package/dist/cli/analyzeDiff/ignoreSemanticChanges.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/ignoreSemanticChanges.js +84 -0
- package/dist/cli/analyzeDiff/logLegacyReport.d.ts +6 -0
- package/dist/cli/analyzeDiff/logLegacyReport.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/logLegacyReport.js +29 -0
- package/dist/cli/analyzeDiff/miracles.d.ts +89 -0
- package/dist/cli/analyzeDiff/miracles.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/miracles.js +325 -0
- package/dist/cli/analyzeDiff/pluginPaths.d.ts +5 -0
- package/dist/cli/analyzeDiff/pluginPaths.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/pluginPaths.js +13 -0
- package/dist/cli/analyzeDiff/report.d.ts +3 -0
- package/dist/cli/analyzeDiff/report.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/report.js +7 -0
- package/dist/cli/analyzeDiff/semanticDiffContext.d.ts +6 -0
- package/dist/cli/analyzeDiff/semanticDiffContext.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/semanticDiffContext.js +16 -0
- package/dist/cli/analyzeDiff/specParser.d.ts +22 -0
- package/dist/cli/analyzeDiff/specParser.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/specParser.js +80 -0
- package/dist/cli/analyzeDiff/types.d.ts +61 -0
- package/dist/cli/analyzeDiff/types.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/types.js +2 -0
- package/dist/cli/analyzeDiff/writeLegacyReport.d.ts +6 -0
- package/dist/cli/analyzeDiff/writeLegacyReport.d.ts.map +1 -0
- package/dist/cli/analyzeDiff/writeLegacyReport.js +21 -0
- package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/checkConfig.js +13 -8
- package/dist/cli/checkAndUpdateConfig/constants.d.ts +0 -9
- package/dist/cli/checkAndUpdateConfig/constants.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/constants.js +1 -10
- package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/updateConfig.js +11 -7
- package/dist/cli/checkAndUpdateConfig/utils/selectConfigAction.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/utils/selectConfigAction.js +6 -3
- package/dist/cli/checkAndUpdateConfig/utils/updateExistingConfigFile.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/utils/updateExistingConfigFile.js +3 -2
- package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.js +5 -0
- package/dist/cli/checkAndUpdateConfig/utils/writeExampleConfigFile.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/utils/writeExampleConfigFile.js +2 -2
- package/dist/cli/generateOpenApiClient/__tests__/generateOpenApiClient.strict.test.d.ts +2 -0
- package/dist/cli/generateOpenApiClient/__tests__/generateOpenApiClient.strict.test.d.ts.map +1 -0
- package/dist/cli/generateOpenApiClient/__tests__/generateOpenApiClient.strict.test.js +152 -0
- package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts +6 -2
- package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts.map +1 -1
- package/dist/cli/generateOpenApiClient/generateOpenApiClient.js +70 -22
- package/dist/cli/index.js +62 -5
- package/dist/cli/initOpenApiConfig/init.d.ts.map +1 -1
- package/dist/cli/initOpenApiConfig/init.js +19 -6
- package/dist/cli/initOpenApiConfig/initConfig.d.ts +1 -0
- package/dist/cli/initOpenApiConfig/initConfig.d.ts.map +1 -1
- package/dist/cli/initOpenApiConfig/initConfig.js +47 -24
- package/dist/cli/initOpenApiConfig/initCustomRequest.d.ts +8 -1
- package/dist/cli/initOpenApiConfig/initCustomRequest.d.ts.map +1 -1
- package/dist/cli/initOpenApiConfig/initCustomRequest.js +40 -8
- package/dist/cli/initOpenApiConfig/utils/buildConfig.d.ts.map +1 -1
- package/dist/cli/initOpenApiConfig/utils/buildConfig.js +60 -0
- package/dist/cli/initOpenApiConfig/utils/validateSpecFile.d.ts.map +1 -1
- package/dist/cli/initOpenApiConfig/utils/validateSpecFile.js +2 -1
- package/dist/cli/initOpenApiConfig/utils/writeConfigFile.d.ts.map +1 -1
- package/dist/cli/initOpenApiConfig/utils/writeConfigFile.js +2 -1
- package/dist/cli/interactive/confirmDialog.d.ts.map +1 -1
- package/dist/cli/interactive/confirmDialog.js +3 -2
- package/dist/cli/interactive/constants.d.ts +2 -2
- package/dist/cli/interactive/constants.js +8 -8
- package/dist/cli/interactive/selectDialog.d.ts.map +1 -1
- package/dist/cli/interactive/selectDialog.js +11 -6
- package/dist/cli/previewChanges/previewChanges.d.ts.map +1 -1
- package/dist/cli/previewChanges/previewChanges.js +151 -39
- package/dist/cli/previewChanges/utils/updateOutputPaths.d.ts.map +1 -1
- package/dist/cli/previewChanges/utils/updateOutputPaths.js +6 -0
- package/dist/cli/schemas/analyzeDiff.d.ts +14 -0
- package/dist/cli/schemas/analyzeDiff.d.ts.map +1 -0
- package/dist/cli/schemas/analyzeDiff.js +28 -0
- package/dist/cli/schemas/generate.d.ts +9 -0
- package/dist/cli/schemas/generate.d.ts.map +1 -1
- package/dist/cli/schemas/generate.js +9 -0
- package/dist/cli/schemas/index.d.ts +3 -1
- package/dist/cli/schemas/index.d.ts.map +1 -1
- package/dist/cli/schemas/index.js +2 -0
- package/dist/common/Consts.d.ts +1 -0
- package/dist/common/Consts.d.ts.map +1 -1
- package/dist/common/Consts.js +19 -2
- package/dist/common/Logger.d.ts +20 -1
- package/dist/common/Logger.d.ts.map +1 -1
- package/dist/common/Logger.js +70 -9
- package/dist/common/LoggerMessages.d.ts +136 -33
- package/dist/common/LoggerMessages.d.ts.map +1 -1
- package/dist/common/LoggerMessages.js +119 -45
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.js +20 -4
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts +4 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts +10 -2
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts +10 -2
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts +10 -2
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts +77 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts.map +1 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.js +41 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts +79 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts.map +1 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.js +19 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts +326 -28
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.js +15 -17
- package/dist/common/VersionedSchema/CommonSchemas.d.ts +52 -4
- package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/CommonSchemas.js +48 -7
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts +6 -2
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts.map +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts +4 -0
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts.map +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts +4 -0
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts +6 -2
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts.map +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts +6 -2
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts +6 -2
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts +4 -0
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts +4 -0
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +6 -2
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.js +40 -1
- package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.d.ts +2 -0
- package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.d.ts.map +1 -0
- package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.js +185 -0
- package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.js +20 -3
- package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.js +19 -1
- package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts +4 -0
- package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.js +68 -23
- package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.d.ts +1 -1
- package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.js +1 -1
- package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts +10 -0
- package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +34 -15
- package/dist/common/__tests__/Logger.test.d.ts +2 -0
- package/dist/common/__tests__/Logger.test.d.ts.map +1 -0
- package/dist/common/__tests__/Logger.test.js +100 -0
- package/dist/common/utils/__tests__/convertArrayToObject.test.js +67 -169
- package/dist/common/utils/__tests__/eslintFix.test.d.ts +2 -0
- package/dist/common/utils/__tests__/eslintFix.test.d.ts.map +1 -0
- package/dist/common/utils/__tests__/eslintFix.test.js +134 -0
- package/dist/common/utils/__tests__/format.test.d.ts +2 -0
- package/dist/common/utils/__tests__/format.test.d.ts.map +1 -0
- package/dist/common/utils/__tests__/format.test.js +90 -0
- package/dist/common/utils/convertArrayToObject.d.ts.map +1 -1
- package/dist/common/utils/convertArrayToObject.js +54 -14
- package/dist/common/utils/eslintFix.d.ts +7 -0
- package/dist/common/utils/eslintFix.d.ts.map +1 -0
- package/dist/common/utils/eslintFix.js +78 -0
- package/dist/common/utils/format.d.ts +1 -1
- package/dist/common/utils/format.d.ts.map +1 -1
- package/dist/common/utils/format.js +39 -15
- package/dist/common/utils/jsonPath.d.ts +5 -0
- package/dist/common/utils/jsonPath.d.ts.map +1 -0
- package/dist/common/utils/jsonPath.js +27 -0
- package/dist/common/utils/normalizeObject.d.ts +2 -0
- package/dist/common/utils/normalizeObject.d.ts.map +1 -0
- package/dist/common/utils/normalizeObject.js +63 -0
- package/dist/core/Context.d.ts +8 -1
- package/dist/core/Context.d.ts.map +1 -1
- package/dist/core/Context.js +23 -4
- package/dist/core/OpenApiClient.d.ts +2 -0
- package/dist/core/OpenApiClient.d.ts.map +1 -1
- package/dist/core/OpenApiClient.js +127 -6
- package/dist/core/WriteClient.d.ts +12 -1
- package/dist/core/WriteClient.d.ts.map +1 -1
- package/dist/core/WriteClient.js +83 -8
- package/dist/core/__tests__/WriteClient.test.js +6 -1
- package/dist/core/api/v2/parser/__tests__/getModel.test.d.ts +2 -0
- package/dist/core/api/v2/parser/__tests__/getModel.test.d.ts.map +1 -0
- package/dist/core/api/v2/parser/__tests__/getModel.test.js +34 -0
- package/dist/core/api/v2/parser/getModel.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getModel.js +6 -1
- package/dist/core/api/v2/parser/getOperation.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getOperation.js +2 -0
- package/dist/core/api/v2/parser/getOperationResponses.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getOperationResponses.js +9 -1
- package/dist/core/api/v2/parser/getType.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getType.js +2 -1
- package/dist/core/api/v2/types/OpenApiSchema.model.d.ts +2 -0
- package/dist/core/api/v2/types/OpenApiSchema.model.d.ts.map +1 -1
- package/dist/core/api/v3/parser/__tests__/getContent.test.d.ts +2 -0
- package/dist/core/api/v3/parser/__tests__/getContent.test.d.ts.map +1 -0
- package/dist/core/api/v3/parser/__tests__/getContent.test.js +65 -0
- package/dist/core/api/v3/parser/__tests__/getModel.test.d.ts +2 -0
- package/dist/core/api/v3/parser/__tests__/getModel.test.d.ts.map +1 -0
- package/dist/core/api/v3/parser/__tests__/getModel.test.js +34 -0
- package/dist/core/api/v3/parser/getContent.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getContent.js +21 -11
- package/dist/core/api/v3/parser/getModel.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getModel.js +6 -1
- package/dist/core/api/v3/parser/getOperation.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperation.js +2 -0
- package/dist/core/api/v3/parser/getOperationResponses.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationResponses.js +9 -1
- package/dist/core/api/v3/parser/getType.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getType.js +2 -1
- package/dist/core/api/v3/types/OpenApiSchema.model.d.ts +2 -0
- package/dist/core/api/v3/types/OpenApiSchema.model.d.ts.map +1 -1
- package/dist/core/governance/__tests__/evaluateGovernanceRules.test.d.ts +2 -0
- package/dist/core/governance/__tests__/evaluateGovernanceRules.test.d.ts.map +1 -0
- package/dist/core/governance/__tests__/evaluateGovernanceRules.test.js +100 -0
- package/dist/core/governance/__tests__/loadGovernanceConfig.test.d.ts +2 -0
- package/dist/core/governance/__tests__/loadGovernanceConfig.test.d.ts.map +1 -0
- package/dist/core/governance/__tests__/loadGovernanceConfig.test.js +71 -0
- package/dist/core/governance/evaluateGovernanceRules.d.ts +42 -0
- package/dist/core/governance/evaluateGovernanceRules.d.ts.map +1 -0
- package/dist/core/governance/evaluateGovernanceRules.js +134 -0
- package/dist/core/governance/governanceConfigSchema.d.ts +4 -0
- package/dist/core/governance/governanceConfigSchema.d.ts.map +1 -0
- package/dist/core/governance/governanceConfigSchema.js +39 -0
- package/dist/core/governance/loadGovernanceConfig.d.ts +7 -0
- package/dist/core/governance/loadGovernanceConfig.d.ts.map +1 -0
- package/dist/core/governance/loadGovernanceConfig.js +60 -0
- package/dist/core/index.d.ts +3 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +4 -2
- package/dist/core/plugins/GeneratorPlugin.model.d.ts +42 -0
- package/dist/core/plugins/GeneratorPlugin.model.d.ts.map +1 -0
- package/dist/core/plugins/GeneratorPlugin.model.js +2 -0
- package/dist/core/plugins/__tests__/applySemanticDiffPluginHooks.test.d.ts +2 -0
- package/dist/core/plugins/__tests__/applySemanticDiffPluginHooks.test.d.ts.map +1 -0
- package/dist/core/plugins/__tests__/applySemanticDiffPluginHooks.test.js +115 -0
- package/dist/core/plugins/__tests__/loadGeneratorPlugins.test.d.ts +2 -0
- package/dist/core/plugins/__tests__/loadGeneratorPlugins.test.d.ts.map +1 -0
- package/dist/core/plugins/__tests__/loadGeneratorPlugins.test.js +62 -0
- package/dist/core/plugins/applySemanticDiffPluginHooks.d.ts +28 -0
- package/dist/core/plugins/applySemanticDiffPluginHooks.d.ts.map +1 -0
- package/dist/core/plugins/applySemanticDiffPluginHooks.js +160 -0
- package/dist/core/plugins/builtins/xTypescriptTypePlugin.d.ts +6 -0
- package/dist/core/plugins/builtins/xTypescriptTypePlugin.d.ts.map +1 -0
- package/dist/core/plugins/builtins/xTypescriptTypePlugin.js +13 -0
- package/dist/core/plugins/getBuiltinPlugins.d.ts +6 -0
- package/dist/core/plugins/getBuiltinPlugins.d.ts.map +1 -0
- package/dist/core/plugins/getBuiltinPlugins.js +10 -0
- package/dist/core/plugins/index.d.ts +4 -0
- package/dist/core/plugins/index.d.ts.map +1 -0
- package/dist/core/plugins/index.js +5 -0
- package/dist/core/plugins/loadGeneratorPlugins.d.ts +6 -0
- package/dist/core/plugins/loadGeneratorPlugins.d.ts.map +1 -0
- package/dist/core/plugins/loadGeneratorPlugins.js +94 -0
- package/dist/core/semanticDiff/__tests__/analyzeOpenApiDiff.test.d.ts +2 -0
- package/dist/core/semanticDiff/__tests__/analyzeOpenApiDiff.test.d.ts.map +1 -0
- package/dist/core/semanticDiff/__tests__/analyzeOpenApiDiff.test.js +537 -0
- package/dist/core/semanticDiff/__tests__/semanticDiffReportSchema.test.d.ts +2 -0
- package/dist/core/semanticDiff/__tests__/semanticDiffReportSchema.test.d.ts.map +1 -0
- package/dist/core/semanticDiff/__tests__/semanticDiffReportSchema.test.js +66 -0
- package/dist/core/semanticDiff/analyzeOpenApiDiff.d.ts +45 -0
- package/dist/core/semanticDiff/analyzeOpenApiDiff.d.ts.map +1 -0
- package/dist/core/semanticDiff/analyzeOpenApiDiff.js +640 -0
- package/dist/core/semanticDiff/semanticDiffReportSchema.d.ts +11 -0
- package/dist/core/semanticDiff/semanticDiffReportSchema.d.ts.map +1 -0
- package/dist/core/semanticDiff/semanticDiffReportSchema.js +132 -0
- package/dist/core/strict/__tests__/validateOpenApiStrict.test.d.ts +2 -0
- package/dist/core/strict/__tests__/validateOpenApiStrict.test.d.ts.map +1 -0
- package/dist/core/strict/__tests__/validateOpenApiStrict.test.js +156 -0
- package/dist/core/strict/validateOpenApiStrict.d.ts +43 -0
- package/dist/core/strict/validateOpenApiStrict.d.ts.map +1 -0
- package/dist/core/strict/validateOpenApiStrict.js +253 -0
- package/dist/core/types/base/ClientArtifacts.model.d.ts +2 -0
- package/dist/core/types/base/ClientArtifacts.model.d.ts.map +1 -1
- package/dist/core/types/base/Templates.model.d.ts +4 -1
- package/dist/core/types/base/Templates.model.d.ts.map +1 -1
- package/dist/core/types/enums/EmptySchemaStrategy.enum.d.ts +6 -0
- package/dist/core/types/enums/EmptySchemaStrategy.enum.d.ts.map +1 -0
- package/dist/core/types/enums/EmptySchemaStrategy.enum.js +9 -0
- package/dist/core/types/enums/ModelsMode.enum.d.ts +5 -0
- package/dist/core/types/enums/ModelsMode.enum.d.ts.map +1 -0
- package/dist/core/types/enums/ModelsMode.enum.js +8 -0
- package/dist/core/types/shared/Client.model.d.ts +2 -0
- package/dist/core/types/shared/Client.model.d.ts.map +1 -1
- package/dist/core/types/shared/DiffInfo.model.d.ts +13 -0
- package/dist/core/types/shared/DiffInfo.model.d.ts.map +1 -0
- package/dist/core/types/shared/DiffInfo.model.js +2 -0
- package/dist/core/types/shared/Miracle.model.d.ts +13 -0
- package/dist/core/types/shared/Miracle.model.d.ts.map +1 -0
- package/dist/core/types/shared/Miracle.model.js +2 -0
- package/dist/core/types/shared/Model.model.d.ts +23 -0
- package/dist/core/types/shared/Model.model.d.ts.map +1 -1
- package/dist/core/types/shared/Operation.model.d.ts +5 -0
- package/dist/core/types/shared/Operation.model.d.ts.map +1 -1
- package/dist/core/utils/__mocks__/templates.d.ts.map +1 -1
- package/dist/core/utils/__mocks__/templates.js +9 -0
- package/dist/core/utils/__tests__/applyDiffReportToClient.test.d.ts +2 -0
- package/dist/core/utils/__tests__/applyDiffReportToClient.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/applyDiffReportToClient.test.js +108 -0
- package/dist/core/utils/__tests__/getMappedType.test.js +2 -0
- package/dist/core/utils/__tests__/getOperationResponseCode.test.js +7 -2
- package/dist/core/utils/__tests__/getOperationResults.test.d.ts +2 -0
- package/dist/core/utils/__tests__/getOperationResults.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/getOperationResults.test.js +43 -0
- package/dist/core/utils/__tests__/getRelativeModelPath.test.d.ts +2 -0
- package/dist/core/utils/__tests__/getRelativeModelPath.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/getRelativeModelPath.test.js +27 -0
- package/dist/core/utils/__tests__/modelHelpers.test.d.ts +2 -0
- package/dist/core/utils/__tests__/modelHelpers.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/modelHelpers.test.js +151 -0
- package/dist/core/utils/__tests__/postProcessModelImports.test.d.ts +2 -0
- package/dist/core/utils/__tests__/postProcessModelImports.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/postProcessModelImports.test.js +67 -0
- package/dist/core/utils/__tests__/postProcessServiceImports.test.d.ts +2 -0
- package/dist/core/utils/__tests__/postProcessServiceImports.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/postProcessServiceImports.test.js +26 -0
- package/dist/core/utils/__tests__/prepareDtoModels.test.d.ts +2 -0
- package/dist/core/utils/__tests__/prepareDtoModels.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/prepareDtoModels.test.js +116 -0
- package/dist/core/utils/__tests__/resolveRefPath.test.d.ts +2 -0
- package/dist/core/utils/__tests__/resolveRefPath.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/resolveRefPath.test.js +22 -0
- package/dist/core/utils/__tests__/serviceHelpers.test.d.ts +2 -0
- package/dist/core/utils/__tests__/serviceHelpers.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/serviceHelpers.test.js +122 -0
- package/dist/core/utils/__tests__/writeClientExecutor.test.d.ts +2 -0
- package/dist/core/utils/__tests__/writeClientExecutor.test.d.ts.map +1 -0
- package/dist/core/utils/__tests__/writeClientExecutor.test.js +20 -0
- package/dist/core/utils/__tests__/writeClientModels.test.js +50 -0
- package/dist/core/utils/__tests__/writeClientSchemas.test.js +2 -0
- package/dist/core/utils/applyDiffReportToClient.d.ts +14 -0
- package/dist/core/utils/applyDiffReportToClient.d.ts.map +1 -0
- package/dist/core/utils/applyDiffReportToClient.js +367 -0
- package/dist/core/utils/getMappedType.d.ts.map +1 -1
- package/dist/core/utils/getMappedType.js +2 -0
- package/dist/core/utils/getOperationResponseCode.d.ts.map +1 -1
- package/dist/core/utils/getOperationResponseCode.js +10 -8
- package/dist/core/utils/getRelativeModelPath.d.ts +9 -0
- package/dist/core/utils/getRelativeModelPath.d.ts.map +1 -0
- package/dist/core/utils/getRelativeModelPath.js +37 -0
- package/dist/core/utils/loadDiffReport.d.ts +39 -0
- package/dist/core/utils/loadDiffReport.d.ts.map +1 -0
- package/dist/core/utils/loadDiffReport.js +51 -0
- package/dist/core/utils/modelHelpers.d.ts.map +1 -1
- package/dist/core/utils/modelHelpers.js +37 -3
- package/dist/core/utils/postProcessModelImports.d.ts.map +1 -1
- package/dist/core/utils/postProcessModelImports.js +14 -1
- package/dist/core/utils/postProcessServiceImports.d.ts.map +1 -1
- package/dist/core/utils/postProcessServiceImports.js +1 -2
- package/dist/core/utils/precompileTemplates.js +1 -0
- package/dist/core/utils/prepareDtoModels.d.ts +3 -0
- package/dist/core/utils/prepareDtoModels.d.ts.map +1 -0
- package/dist/core/utils/prepareDtoModels.js +189 -0
- package/dist/core/utils/registerHandlebarHelpers.d.ts.map +1 -1
- package/dist/core/utils/registerHandlebarHelpers.js +29 -1
- package/dist/core/utils/registerHandlebarTemplates.d.ts.map +1 -1
- package/dist/core/utils/registerHandlebarTemplates.js +48 -41
- package/dist/core/utils/resolveRefPath.d.ts.map +1 -1
- package/dist/core/utils/resolveRefPath.js +1 -4
- package/dist/core/utils/validateRawOptions.d.ts +1 -1
- package/dist/core/utils/validateRawOptions.d.ts.map +1 -1
- package/dist/core/utils/validateRawOptions.js +4 -2
- package/dist/core/utils/writeClientCore.d.ts +2 -0
- package/dist/core/utils/writeClientCore.d.ts.map +1 -1
- package/dist/core/utils/writeClientCore.js +6 -1
- package/dist/core/utils/writeClientCoreIndex.d.ts +1 -0
- package/dist/core/utils/writeClientCoreIndex.d.ts.map +1 -1
- package/dist/core/utils/writeClientCoreIndex.js +2 -2
- package/dist/core/utils/writeClientExecutor.d.ts +6 -1
- package/dist/core/utils/writeClientExecutor.d.ts.map +1 -1
- package/dist/core/utils/writeClientExecutor.js +22 -3
- package/dist/core/utils/writeClientFullIndex.d.ts.map +1 -1
- package/dist/core/utils/writeClientFullIndex.js +3 -1
- package/dist/core/utils/writeClientModels.d.ts +6 -0
- package/dist/core/utils/writeClientModels.d.ts.map +1 -1
- package/dist/core/utils/writeClientModels.js +24 -3
- package/dist/core/utils/writeClientModelsIndex.d.ts +2 -0
- package/dist/core/utils/writeClientModelsIndex.d.ts.map +1 -1
- package/dist/core/utils/writeClientModelsIndex.js +2 -2
- package/dist/core/utils/writeClientSchemas.d.ts +6 -1
- package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
- package/dist/core/utils/writeClientSchemas.js +16 -3
- package/dist/core/utils/writeClientServices.d.ts +2 -0
- package/dist/core/utils/writeClientServices.d.ts.map +1 -1
- package/dist/core/utils/writeClientServices.js +6 -2
- package/dist/templatesCompiled/cli/openApiConfig.d.ts +4 -1
- package/dist/templatesCompiled/cli/openApiConfig.d.ts.map +1 -1
- package/dist/templatesCompiled/cli/openApiConfig.js +88 -37
- package/dist/templatesCompiled/client/core/ApiError.js +1 -1
- package/dist/templatesCompiled/client/core/ApiRequestOptions.js +1 -1
- package/dist/templatesCompiled/client/core/ApiResult.js +1 -1
- package/dist/templatesCompiled/client/core/BaseDto.d.ts +8 -0
- package/dist/templatesCompiled/client/core/BaseDto.d.ts.map +1 -0
- package/dist/templatesCompiled/client/core/BaseDto.js +18 -0
- package/dist/templatesCompiled/client/core/axios/getResponseBody.js +1 -1
- package/dist/templatesCompiled/client/core/axios/request.js +3 -3
- package/dist/templatesCompiled/client/core/axios/sendRequest.js +4 -4
- package/dist/templatesCompiled/client/core/dtoUtils.d.ts +8 -0
- package/dist/templatesCompiled/client/core/dtoUtils.d.ts.map +1 -0
- package/dist/templatesCompiled/client/core/dtoUtils.js +18 -0
- package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts +2 -0
- package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts.map +1 -1
- package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.js +13 -8
- package/dist/templatesCompiled/client/core/executor/requestExecutor.js +1 -1
- package/dist/templatesCompiled/client/core/fetch/getResponseBody.js +1 -1
- package/dist/templatesCompiled/client/core/fetch/request.js +3 -3
- package/dist/templatesCompiled/client/core/functions/catchErrors.js +1 -1
- package/dist/templatesCompiled/client/core/functions/isBinary.js +1 -1
- package/dist/templatesCompiled/client/core/interceptors/withInterceptors.js +1 -1
- package/dist/templatesCompiled/client/core/node/getResponseBody.js +1 -1
- package/dist/templatesCompiled/client/core/node/request.js +3 -3
- package/dist/templatesCompiled/client/core/xhr/getResponseBody.js +1 -1
- package/dist/templatesCompiled/client/core/xhr/request.js +3 -3
- package/dist/templatesCompiled/client/core/xhr/sendRequest.js +4 -4
- package/dist/templatesCompiled/client/exportClient.d.ts +4 -0
- package/dist/templatesCompiled/client/exportClient.d.ts.map +1 -1
- package/dist/templatesCompiled/client/exportClient.js +51 -13
- package/dist/templatesCompiled/client/exportModels.d.ts +34 -0
- package/dist/templatesCompiled/client/exportModels.d.ts.map +1 -0
- package/dist/templatesCompiled/client/exportModels.js +280 -0
- package/dist/templatesCompiled/client/exportSchema.d.ts +5 -1
- package/dist/templatesCompiled/client/exportSchema.d.ts.map +1 -1
- package/dist/templatesCompiled/client/exportSchema.js +37 -7
- package/dist/templatesCompiled/client/exportService.d.ts +9 -4
- package/dist/templatesCompiled/client/exportService.d.ts.map +1 -1
- package/dist/templatesCompiled/client/exportService.js +96 -37
- package/dist/templatesCompiled/client/indexCore.d.ts +3 -1
- package/dist/templatesCompiled/client/indexCore.d.ts.map +1 -1
- package/dist/templatesCompiled/client/indexCore.js +13 -2
- package/dist/templatesCompiled/client/indexFull.d.ts +10 -7
- package/dist/templatesCompiled/client/indexFull.d.ts.map +1 -1
- package/dist/templatesCompiled/client/indexFull.js +54 -33
- package/dist/templatesCompiled/client/indexModels.d.ts +7 -5
- package/dist/templatesCompiled/client/indexModels.d.ts.map +1 -1
- package/dist/templatesCompiled/client/indexModels.js +27 -18
- package/dist/templatesCompiled/client/indexSimple.d.ts +1 -0
- package/dist/templatesCompiled/client/indexSimple.d.ts.map +1 -1
- package/dist/templatesCompiled/client/indexSimple.js +4 -1
- package/dist/templatesCompiled/client/joi/exportSchema.js +5 -5
- package/dist/templatesCompiled/client/joi/partials/joiSchema.js +7 -7
- package/dist/templatesCompiled/client/joi/partials/joiSchemaComposition.js +4 -4
- package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.d.ts +27 -19
- package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.d.ts.map +1 -1
- package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.js +144 -63
- package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.d.ts +5 -3
- package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.d.ts.map +1 -1
- package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.js +39 -12
- package/dist/templatesCompiled/client/jsonschema/exportSchema.d.ts +1 -0
- package/dist/templatesCompiled/client/jsonschema/exportSchema.d.ts.map +1 -1
- package/dist/templatesCompiled/client/jsonschema/exportSchema.js +21 -17
- package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchema.js +7 -7
- package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaArray.js +5 -5
- package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaComposition.js +2 -2
- package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaDictionary.js +5 -5
- package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.d.ts +3 -1
- package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.d.ts.map +1 -1
- package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.js +45 -15
- package/dist/templatesCompiled/client/partials/exportInterface.d.ts +13 -5
- package/dist/templatesCompiled/client/partials/exportInterface.d.ts.map +1 -1
- package/dist/templatesCompiled/client/partials/exportInterface.js +91 -21
- package/dist/templatesCompiled/client/partials/result.d.ts +6 -4
- package/dist/templatesCompiled/client/partials/result.d.ts.map +1 -1
- package/dist/templatesCompiled/client/partials/result.js +16 -6
- package/dist/templatesCompiled/client/partials/serviceOption.d.ts +1 -0
- package/dist/templatesCompiled/client/partials/serviceOption.d.ts.map +1 -1
- package/dist/templatesCompiled/client/partials/serviceOption.js +11 -4
- package/dist/templatesCompiled/client/yup/exportSchema.js +3 -3
- package/dist/templatesCompiled/client/yup/partials/yupSchema.js +7 -7
- package/dist/templatesCompiled/client/yup/partials/yupSchemaComposition.js +4 -4
- package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.d.ts +22 -16
- package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.d.ts.map +1 -1
- package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.js +72 -60
- package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.d.ts +5 -3
- package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.d.ts.map +1 -1
- package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.js +39 -12
- package/dist/templatesCompiled/client/zod/exportSchema.js +3 -3
- package/dist/templatesCompiled/client/zod/partials/zodSchema.js +7 -7
- package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.d.ts +5 -6
- package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.d.ts.map +1 -1
- package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.js +14 -28
- package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.d.ts +3 -0
- package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.d.ts.map +1 -1
- package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.js +32 -8
- package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.d.ts +3 -4
- package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.d.ts.map +1 -1
- package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.js +9 -23
- package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.d.ts +27 -19
- package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.d.ts.map +1 -1
- package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.js +77 -61
- package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.d.ts +4 -2
- package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.d.ts.map +1 -1
- package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.js +18 -7
- package/package.json +8 -6
- package/dist/common/defaultOptions.d.ts +0 -3
- package/dist/common/defaultOptions.d.ts.map +0 -1
- package/dist/common/defaultOptions.js +0 -28
- package/dist/core/utils/advancedDeduplicatePath.d.ts +0 -5
- package/dist/core/utils/advancedDeduplicatePath.d.ts.map +0 -1
- package/dist/core/utils/advancedDeduplicatePath.js +0 -29
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { OptionValues } from 'commander';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
4
|
-
*
|
|
3
|
+
* Runs OpenAPI client generation and returns a process exit code.
|
|
4
|
+
* Does not call `process.exit` — safe for in-process unit tests.
|
|
5
|
+
*/
|
|
6
|
+
export declare function runGenerateOpenApiClient(options: OptionValues): Promise<number>;
|
|
7
|
+
/**
|
|
8
|
+
* CLI entry: runs generation and terminates the process with the resulting exit code.
|
|
5
9
|
*/
|
|
6
10
|
export declare function generateOpenApiClient(options: OptionValues): Promise<void>;
|
|
7
11
|
//# sourceMappingURL=generateOpenApiClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generateOpenApiClient.d.ts","sourceRoot":"","sources":["../../../src/cli/generateOpenApiClient/generateOpenApiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"generateOpenApiClient.d.ts","sourceRoot":"","sources":["../../../src/cli/generateOpenApiClient/generateOpenApiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AA0BzC;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,CA+FrF;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhF"}
|
|
@@ -33,9 +33,9 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.runGenerateOpenApiClient = runGenerateOpenApiClient;
|
|
36
37
|
exports.generateOpenApiClient = generateOpenApiClient;
|
|
37
38
|
const Consts_1 = require("../../common/Consts");
|
|
38
|
-
const defaultOptions_1 = require("../../common/defaultOptions");
|
|
39
39
|
const Enums_1 = require("../../common/Enums");
|
|
40
40
|
const LoggerMessages_1 = require("../../common/LoggerMessages");
|
|
41
41
|
const convertArrayToObject_1 = require("../../common/utils/convertArrayToObject");
|
|
@@ -43,14 +43,24 @@ const loadConfigIfExists_1 = require("../../common/utils/loadConfigIfExists");
|
|
|
43
43
|
const validateZodOptions_1 = require("../../common/Validation/validateZodOptions");
|
|
44
44
|
const AllMigrationPlans_1 = require("../../common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans");
|
|
45
45
|
const AllVersionedSchemas_1 = require("../../common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas");
|
|
46
|
+
const UnifiedVersionedSchemas_1 = require("../../common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas");
|
|
46
47
|
const migrateDataToLatestSchemaVersion_1 = require("../../common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion");
|
|
47
48
|
const OpenAPI = __importStar(require("../../core"));
|
|
48
49
|
const schemas_1 = require("../schemas");
|
|
50
|
+
const generateCliFlatSchema = UnifiedVersionedSchemas_1.flatOptionsSchema.strict().superRefine((data, ctx) => {
|
|
51
|
+
if (data.excludeCoreServiceFiles === true && data.request) {
|
|
52
|
+
ctx.addIssue({
|
|
53
|
+
code: 'custom',
|
|
54
|
+
message: '"request" can only be used when "excludeCoreServiceFiles" is false',
|
|
55
|
+
path: ['request'],
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
});
|
|
49
59
|
/**
|
|
50
|
-
*
|
|
51
|
-
*
|
|
60
|
+
* Runs OpenAPI client generation and returns a process exit code.
|
|
61
|
+
* Does not call `process.exit` — safe for in-process unit tests.
|
|
52
62
|
*/
|
|
53
|
-
async function
|
|
63
|
+
async function runGenerateOpenApiClient(options) {
|
|
54
64
|
const { openapiConfig, ...clientOptions } = options;
|
|
55
65
|
try {
|
|
56
66
|
const validationResult = (0, validateZodOptions_1.validateZodOptions)(schemas_1.generateOptionsSchema, {
|
|
@@ -58,32 +68,46 @@ async function generateOpenApiClient(options) {
|
|
|
58
68
|
...clientOptions,
|
|
59
69
|
});
|
|
60
70
|
if (!validationResult.success) {
|
|
61
|
-
Consts_1.APP_LOGGER.
|
|
62
|
-
|
|
71
|
+
Consts_1.APP_LOGGER.errorWithHint({
|
|
72
|
+
code: 'NO_OPTIONS_PROVIDED',
|
|
73
|
+
message: LoggerMessages_1.LOGGER_MESSAGES.ERROR.GENERIC(validationResult.errors.join('\n')),
|
|
74
|
+
});
|
|
75
|
+
await Consts_1.APP_LOGGER.shutdownLoggerAsync();
|
|
76
|
+
return 1;
|
|
63
77
|
}
|
|
64
78
|
const validatedOptions = validationResult.data;
|
|
65
|
-
// Если есть минимальные опции (input и output), используем их
|
|
66
79
|
const hasMinimumRequiredOptions = !!validatedOptions.input && !!validatedOptions.output;
|
|
67
80
|
if (hasMinimumRequiredOptions) {
|
|
68
|
-
|
|
69
|
-
// В будущем можно заменить на Zod
|
|
70
|
-
const { error: defaultValuesError, value } = defaultOptions_1.defaultOptions.validate({
|
|
81
|
+
const directOptionsValidationResult = (0, validateZodOptions_1.validateZodOptions)(generateCliFlatSchema, {
|
|
71
82
|
input: validatedOptions.input,
|
|
72
83
|
output: validatedOptions.output,
|
|
73
84
|
...clientOptions,
|
|
74
85
|
});
|
|
75
|
-
if (
|
|
76
|
-
|
|
77
|
-
|
|
86
|
+
if (!directOptionsValidationResult.success) {
|
|
87
|
+
Consts_1.APP_LOGGER.errorWithHint({
|
|
88
|
+
code: 'NO_OPTIONS_PROVIDED',
|
|
89
|
+
message: LoggerMessages_1.LOGGER_MESSAGES.ERROR.GENERIC(directOptionsValidationResult.errors.join('\n')),
|
|
90
|
+
});
|
|
91
|
+
await Consts_1.APP_LOGGER.shutdownLoggerAsync();
|
|
92
|
+
return 1;
|
|
78
93
|
}
|
|
94
|
+
await OpenAPI.generate(directOptionsValidationResult.data);
|
|
95
|
+
await Consts_1.APP_LOGGER.shutdownLoggerAsync();
|
|
96
|
+
return 0;
|
|
79
97
|
}
|
|
80
98
|
const configData = (0, loadConfigIfExists_1.loadConfigIfExists)(validatedOptions.openapiConfig);
|
|
81
99
|
if (!configData) {
|
|
82
|
-
Consts_1.APP_LOGGER.
|
|
83
|
-
|
|
100
|
+
Consts_1.APP_LOGGER.errorWithHint({
|
|
101
|
+
code: validatedOptions.openapiConfig ? 'CONFIG_FILE_NOT_FOUND_AT' : 'CONFIG_FILE_MISSING',
|
|
102
|
+
message: `${LoggerMessages_1.LOGGER_MESSAGES.CONFIG.FILE_MISSING}\n${LoggerMessages_1.LOGGER_MESSAGES.CONFIG.FILE_MISSING_HINT}`,
|
|
103
|
+
});
|
|
104
|
+
await Consts_1.APP_LOGGER.shutdownLoggerAsync();
|
|
105
|
+
return 1;
|
|
106
|
+
}
|
|
107
|
+
if (Array.isArray(configData)) {
|
|
108
|
+
Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.ARRAY_DEPRECATED);
|
|
84
109
|
}
|
|
85
110
|
const preparedOptions = (0, convertArrayToObject_1.convertArrayToObject)(configData);
|
|
86
|
-
// Use unified migration system for all schema types
|
|
87
111
|
const migratedOptions = (0, migrateDataToLatestSchemaVersion_1.migrateDataToLatestSchemaVersion)({
|
|
88
112
|
rawInput: preparedOptions,
|
|
89
113
|
migrationPlans: AllMigrationPlans_1.allMigrationPlans,
|
|
@@ -91,15 +115,39 @@ async function generateOpenApiClient(options) {
|
|
|
91
115
|
migrationMode: Enums_1.EMigrationMode.GENERATE_OPENAPI,
|
|
92
116
|
});
|
|
93
117
|
if (!migratedOptions) {
|
|
94
|
-
Consts_1.APP_LOGGER.
|
|
95
|
-
|
|
118
|
+
Consts_1.APP_LOGGER.errorWithHint({
|
|
119
|
+
code: 'NO_VALID_SPEC_FILES_FOUND',
|
|
120
|
+
message: LoggerMessages_1.LOGGER_MESSAGES.CONFIG.CONVERSION_FAILED,
|
|
121
|
+
});
|
|
122
|
+
await Consts_1.APP_LOGGER.shutdownLoggerAsync();
|
|
123
|
+
return 1;
|
|
96
124
|
}
|
|
97
125
|
const { value } = migratedOptions;
|
|
98
|
-
|
|
99
|
-
|
|
126
|
+
const mergedOptions = {
|
|
127
|
+
...value,
|
|
128
|
+
strictOpenapi: validatedOptions.strictOpenapi ?? value.strictOpenapi,
|
|
129
|
+
reportFile: validatedOptions.reportFile ?? value.reportFile,
|
|
130
|
+
governanceConfig: validatedOptions.governanceConfig ?? value.governanceConfig,
|
|
131
|
+
};
|
|
132
|
+
await OpenAPI.generate(mergedOptions);
|
|
133
|
+
await Consts_1.APP_LOGGER.shutdownLoggerAsync();
|
|
134
|
+
return 0;
|
|
100
135
|
}
|
|
101
136
|
catch (error) {
|
|
102
|
-
|
|
103
|
-
|
|
137
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
138
|
+
Consts_1.APP_LOGGER.errorWithHint({
|
|
139
|
+
code: 'SPEC_FILES_FIND_ERROR',
|
|
140
|
+
message: LoggerMessages_1.LOGGER_MESSAGES.ERROR.GENERIC(message),
|
|
141
|
+
error,
|
|
142
|
+
});
|
|
143
|
+
await Consts_1.APP_LOGGER.shutdownLoggerAsync();
|
|
144
|
+
return 1;
|
|
104
145
|
}
|
|
105
146
|
}
|
|
147
|
+
/**
|
|
148
|
+
* CLI entry: runs generation and terminates the process with the resulting exit code.
|
|
149
|
+
*/
|
|
150
|
+
async function generateOpenApiClient(options) {
|
|
151
|
+
const exitCode = await runGenerateOpenApiClient(options);
|
|
152
|
+
process.exit(exitCode);
|
|
153
|
+
}
|
package/dist/cli/index.js
CHANGED
|
@@ -8,10 +8,14 @@ const commander_1 = require("commander");
|
|
|
8
8
|
const fs_1 = __importDefault(require("fs"));
|
|
9
9
|
const Consts_1 = require("../common/Consts");
|
|
10
10
|
const Enums_1 = require("../common/Enums");
|
|
11
|
+
const LoggerMessages_1 = require("../common/LoggerMessages");
|
|
11
12
|
const UpdateNotifier_1 = require("../common/UpdateNotifier");
|
|
12
13
|
const pathHelpers_1 = require("../common/utils/pathHelpers");
|
|
14
|
+
const EmptySchemaStrategy_enum_1 = require("../core/types/enums/EmptySchemaStrategy.enum");
|
|
13
15
|
const HttpClient_enum_1 = require("../core/types/enums/HttpClient.enum");
|
|
16
|
+
const ModelsMode_enum_1 = require("../core/types/enums/ModelsMode.enum");
|
|
14
17
|
const ValidationLibrary_enum_1 = require("../core/types/enums/ValidationLibrary.enum");
|
|
18
|
+
const analyzeDiff_1 = require("./analyzeDiff/analyzeDiff");
|
|
15
19
|
const checkConfig_1 = require("./checkAndUpdateConfig/checkConfig");
|
|
16
20
|
const updateConfig_1 = require("./checkAndUpdateConfig/updateConfig");
|
|
17
21
|
const generateOpenApiClient_1 = require("./generateOpenApiClient/generateOpenApiClient");
|
|
@@ -46,8 +50,12 @@ program
|
|
|
46
50
|
.addOption(new commander_1.Option('-c, --httpClient <value>', 'HTTP client to generate').choices([...Object.values(HttpClient_enum_1.HttpClient)]).default(HttpClient_enum_1.HttpClient.FETCH))
|
|
47
51
|
.option('--useOptions', 'Use options instead of arguments (default: false)')
|
|
48
52
|
.option('--useUnionTypes', 'Use union types instead of enums (default: false)')
|
|
53
|
+
.option('--useHistory', 'Apply diff report annotations during generation (default: false)')
|
|
54
|
+
.option('--diffReport <value>', 'Path to a diff report JSON file')
|
|
55
|
+
.addOption(new commander_1.Option('--modelsMode <value>', 'Models generation mode').choices([...Object.values(ModelsMode_enum_1.ModelsMode)]).default(ModelsMode_enum_1.ModelsMode.INTERFACES))
|
|
49
56
|
.option('--excludeCoreServiceFiles', 'The generation of the core and services is excluded (default: false)')
|
|
50
57
|
.option('--request <value>', 'Path to custom request file')
|
|
58
|
+
.option('--customExecutorPath <value>', 'Path to custom createExecutorAdapter module')
|
|
51
59
|
.option('--interfacePrefix <value>', 'Prefix for interface model(default: "I")', 'I')
|
|
52
60
|
.option('--enumPrefix <value>', 'Prefix for enum model(default: "E")', 'E')
|
|
53
61
|
.option('--typePrefix <value>', 'Prefix for type model(default: "T")', 'T')
|
|
@@ -56,7 +64,13 @@ program
|
|
|
56
64
|
.addOption(new commander_1.Option('-t, --logTarget <target>', 'Target of logging').choices([...Object.values(Enums_1.ELogOutput)]).default(Enums_1.ELogOutput.CONSOLE))
|
|
57
65
|
.option('-s, --sortByRequired', 'Property sorting strategy: simplified or extended')
|
|
58
66
|
.option('--useSeparatedIndexes', 'Use separate index files for the core, models, schemas, and services.')
|
|
67
|
+
.option('--strict-openapi', 'Enable strict OpenAPI diagnostics report and fail generation when strict errors are found')
|
|
68
|
+
.option('--report-file <value>', 'Path to strict OpenAPI diagnostics report JSON file', './openapi-report.json')
|
|
69
|
+
.option('--governance-config <value>', 'Path to governance rules JSON config file')
|
|
59
70
|
.addOption(new commander_1.Option('--validationLibrary <value>', 'Validation library to use for schema validation').choices([...Object.values(ValidationLibrary_enum_1.ValidationLibrary)]).default(ValidationLibrary_enum_1.ValidationLibrary.NONE))
|
|
71
|
+
.addOption(new commander_1.Option('--emptySchemaStrategy <value>', 'How to handle empty generated schemas').choices([...Object.values(EmptySchemaStrategy_enum_1.EmptySchemaStrategy)]).default(EmptySchemaStrategy_enum_1.EmptySchemaStrategy.KEEP))
|
|
72
|
+
.option('--useProjectPrettier', 'Use project Prettier config for formatting generated code (default: false)')
|
|
73
|
+
.option('--useEslintFix', 'Run ESLint --fix on generated files after writing (default: false)')
|
|
60
74
|
.hook('preAction', async () => {
|
|
61
75
|
await updateNotifier.checkAndNotify();
|
|
62
76
|
})
|
|
@@ -75,7 +89,7 @@ program
|
|
|
75
89
|
await updateNotifier.checkAndNotify();
|
|
76
90
|
})
|
|
77
91
|
.action(async (options) => {
|
|
78
|
-
await (0, checkConfig_1.checkConfig)(options
|
|
92
|
+
await (0, checkConfig_1.checkConfig)(options);
|
|
79
93
|
});
|
|
80
94
|
/**
|
|
81
95
|
* update - Команда для обновления конфигурационного файла
|
|
@@ -126,18 +140,61 @@ program
|
|
|
126
140
|
.action(async (options) => {
|
|
127
141
|
await (0, previewChanges_1.previewChanges)(options);
|
|
128
142
|
});
|
|
143
|
+
/**
|
|
144
|
+
* analyze-diff - Команда для анализа изменений между двумя версиями OpenAPI спецификации
|
|
145
|
+
*
|
|
146
|
+
* @example Как использовать сейчас
|
|
147
|
+
* Сравнение с явным старым файлом:
|
|
148
|
+
* openapi-codegen-cli analyze-diff \
|
|
149
|
+
* --input ./openapi/current.yaml \
|
|
150
|
+
* --compare-with ./openapi/previous.yaml \
|
|
151
|
+
* --output-report ./openapi-diff-report.json
|
|
152
|
+
*
|
|
153
|
+
* Сравнение с версией из Git:
|
|
154
|
+
* openapi-codegen-cli analyze-diff \
|
|
155
|
+
* --input openapi/spec.yaml \
|
|
156
|
+
* --git HEAD~1
|
|
157
|
+
*/
|
|
158
|
+
program
|
|
159
|
+
.command('analyze-diff')
|
|
160
|
+
.description('Analyzes differences between two OpenAPI specifications and produces a JSON report')
|
|
161
|
+
.addHelpText('before', (0, utils_1.getCLIName)(APP_NAME))
|
|
162
|
+
.addHelpText('after', [
|
|
163
|
+
'',
|
|
164
|
+
'Base source resolution:',
|
|
165
|
+
' 1) --compare-with has priority over --git when both are provided.',
|
|
166
|
+
' 2) --git is used only when --compare-with is not provided.',
|
|
167
|
+
' 3) when neither is provided, analyze-diff is skipped with exit code 0.',
|
|
168
|
+
].join('\n'))
|
|
169
|
+
.option('-i, --input <value>', 'Path to current OpenAPI specification file (required)')
|
|
170
|
+
.option('--compare-with <value>', 'Path to previous OpenAPI specification file (overrides --git when both are provided)')
|
|
171
|
+
.option('--git <ref>', 'Git ref to read previous specification version from (used when --compare-with is not set)')
|
|
172
|
+
.option('--output-report <value>', 'Path to save JSON diff report')
|
|
173
|
+
.option('-ocn, --openapi-config <value>', 'The path to the configuration file, listing the options (default: "openapi.config.json")', Consts_1.DEFAULT_OPENAPI_CONFIG_FILENAME)
|
|
174
|
+
.option('--governance-config <value>', 'Path to governance rules JSON config file')
|
|
175
|
+
.option('--strict-plugin-mode', 'Fail when plugin hook execution throws')
|
|
176
|
+
.option('--ci', 'Exit with code 1 when governance errors are found')
|
|
177
|
+
.option('--allow-breaking', 'Allow breaking changes in governance checks')
|
|
178
|
+
.hook('preAction', async () => {
|
|
179
|
+
await updateNotifier.checkAndNotify();
|
|
180
|
+
})
|
|
181
|
+
.action(async (options) => {
|
|
182
|
+
const result = await (0, analyzeDiff_1.analyzeDiff)(options);
|
|
183
|
+
await Consts_1.APP_LOGGER.shutdownLoggerAsync();
|
|
184
|
+
process.exit((0, analyzeDiff_1.toAnalyzeDiffExitCode)(result));
|
|
185
|
+
});
|
|
129
186
|
program.exitOverride();
|
|
130
|
-
|
|
131
|
-
// program.showSuggestionAfterError(false);
|
|
187
|
+
program.showSuggestionAfterError(false);
|
|
132
188
|
// Парсирование аргументов с обработкой ошибок
|
|
133
189
|
try {
|
|
134
190
|
program.parse(process.argv);
|
|
135
191
|
}
|
|
136
192
|
catch (error) {
|
|
137
|
-
if (error.code === 'commander.unknownOption') {
|
|
193
|
+
if (error && typeof error === 'object' && 'code' in error && error.code === 'commander.unknownOption') {
|
|
138
194
|
const errorMessage = error?.message ?? '';
|
|
139
195
|
if (errorMessage) {
|
|
140
|
-
Consts_1.APP_LOGGER.error(errorMessage);
|
|
196
|
+
Consts_1.APP_LOGGER.error(LoggerMessages_1.LOGGER_MESSAGES.ERROR.GENERIC(errorMessage));
|
|
197
|
+
void Consts_1.APP_LOGGER.shutdownLoggerAsync().then(() => process.exit(1));
|
|
141
198
|
}
|
|
142
199
|
}
|
|
143
200
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/initOpenApiConfig/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/initOpenApiConfig/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAWzC;;GAEG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,YAAY,iBAwD/C"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.init = init;
|
|
4
4
|
const Consts_1 = require("../../common/Consts");
|
|
5
|
+
const LoggerMessages_1 = require("../../common/LoggerMessages");
|
|
5
6
|
const validateZodOptions_1 = require("../../common/Validation/validateZodOptions");
|
|
6
7
|
const confirmDialog_1 = require("../interactive/confirmDialog");
|
|
7
8
|
const schemas_1 = require("../schemas");
|
|
@@ -14,31 +15,37 @@ const registerHandlebarTemplates_1 = require("./utils/registerHandlebarTemplates
|
|
|
14
15
|
async function init(options) {
|
|
15
16
|
const validationResult = (0, validateZodOptions_1.validateZodOptions)(schemas_1.initOptionsSchema, options);
|
|
16
17
|
if (!validationResult.success) {
|
|
17
|
-
Consts_1.APP_LOGGER.error(validationResult.errors.join('\n'));
|
|
18
|
+
Consts_1.APP_LOGGER.error(LoggerMessages_1.LOGGER_MESSAGES.ERROR.GENERIC(validationResult.errors.join('\n')));
|
|
19
|
+
await Consts_1.APP_LOGGER.shutdownLoggerAsync();
|
|
18
20
|
process.exit(1);
|
|
19
21
|
}
|
|
20
22
|
const validatedOptions = validationResult.data;
|
|
21
23
|
const templates = (0, registerHandlebarTemplates_1.registerHandlebarTemplates)();
|
|
22
24
|
if (validatedOptions.useInteractiveMode) {
|
|
23
25
|
const shouldInitConfig = await (0, confirmDialog_1.confirmDialog)({
|
|
24
|
-
message: '
|
|
26
|
+
message: 'Would you like to create a configuration file for quick start of the generator?',
|
|
25
27
|
initial: false,
|
|
26
28
|
});
|
|
27
29
|
if (shouldInitConfig) {
|
|
28
|
-
// TODO: генерация по шаблону!
|
|
29
30
|
await (0, initConfig_1.initConfig)({
|
|
30
31
|
openapiConfig: validatedOptions.openapiConfig,
|
|
31
32
|
request: validatedOptions.request,
|
|
32
33
|
specsDir: validatedOptions.specsDir,
|
|
33
34
|
templates,
|
|
35
|
+
useInteractiveMode: validatedOptions.useInteractiveMode,
|
|
34
36
|
});
|
|
35
37
|
}
|
|
36
38
|
const shouldInitCustomRequest = await (0, confirmDialog_1.confirmDialog)({
|
|
37
|
-
message: '
|
|
39
|
+
message: 'Would you like to create a file with a custom request processing option?',
|
|
38
40
|
initial: false,
|
|
39
41
|
});
|
|
40
42
|
if (shouldInitCustomRequest) {
|
|
41
|
-
await (0, initCustomRequest_1.initCustomRequest)(
|
|
43
|
+
await (0, initCustomRequest_1.initCustomRequest)({
|
|
44
|
+
templates,
|
|
45
|
+
useCancelableRequest: validatedOptions?.useCancelableRequest,
|
|
46
|
+
customRequestPath: validatedOptions.request,
|
|
47
|
+
useInteractiveMode: validatedOptions.useInteractiveMode,
|
|
48
|
+
});
|
|
42
49
|
}
|
|
43
50
|
}
|
|
44
51
|
else {
|
|
@@ -47,7 +54,13 @@ async function init(options) {
|
|
|
47
54
|
request: validatedOptions.request,
|
|
48
55
|
specsDir: validatedOptions.specsDir,
|
|
49
56
|
templates,
|
|
57
|
+
useInteractiveMode: validatedOptions.useInteractiveMode,
|
|
58
|
+
});
|
|
59
|
+
await (0, initCustomRequest_1.initCustomRequest)({
|
|
60
|
+
templates,
|
|
61
|
+
useCancelableRequest: validatedOptions?.useCancelableRequest,
|
|
62
|
+
customRequestPath: validatedOptions.request,
|
|
63
|
+
useInteractiveMode: validatedOptions.useInteractiveMode,
|
|
50
64
|
});
|
|
51
|
-
await (0, initCustomRequest_1.initCustomRequest)(templates, validatedOptions?.useCancelableRequest);
|
|
52
65
|
}
|
|
53
66
|
}
|
|
@@ -2,6 +2,7 @@ import { InitOptions } from '../schemas';
|
|
|
2
2
|
import { CLITemplates } from './Types';
|
|
3
3
|
type InitConfigParams = Pick<InitOptions, 'openapiConfig' | 'specsDir' | 'request'> & {
|
|
4
4
|
templates: CLITemplates;
|
|
5
|
+
useInteractiveMode?: boolean;
|
|
5
6
|
};
|
|
6
7
|
/**
|
|
7
8
|
* Инициализирует файл конфигурации OpenAPI
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initConfig.d.ts","sourceRoot":"","sources":["../../../src/cli/initOpenApiConfig/initConfig.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initConfig.d.ts","sourceRoot":"","sources":["../../../src/cli/initOpenApiConfig/initConfig.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAMvC,KAAK,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,GAAG,UAAU,GAAG,SAAS,CAAC,GAAG;IAClF,SAAS,EAAE,YAAY,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2HxE"}
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.initConfig = initConfig;
|
|
4
4
|
const Consts_1 = require("../../common/Consts");
|
|
5
|
+
const LoggerMessages_1 = require("../../common/LoggerMessages");
|
|
5
6
|
const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
|
|
6
7
|
const pathHelpers_1 = require("../../common/utils/pathHelpers");
|
|
7
8
|
const confirmDialog_1 = require("../interactive/confirmDialog");
|
|
@@ -16,16 +17,22 @@ const writeConfigFile_1 = require("./utils/writeConfigFile");
|
|
|
16
17
|
* Инициализирует файл конфигурации OpenAPI
|
|
17
18
|
*/
|
|
18
19
|
async function initConfig(params) {
|
|
20
|
+
const useInteractiveMode = params.useInteractiveMode === true;
|
|
19
21
|
const configPath = (0, pathHelpers_1.resolveHelper)(process.cwd(), params.openapiConfig || '');
|
|
20
22
|
const configExists = await fileSystemHelpers_1.fileSystemHelpers.exists(configPath);
|
|
21
23
|
// Шаг 3: Проверка существования файла конфигурации
|
|
22
24
|
if (configExists) {
|
|
25
|
+
if (!useInteractiveMode) {
|
|
26
|
+
Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.CONFIG_EXISTS_INTERACTIVE_DISABLED(configPath));
|
|
27
|
+
Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.CONFIG_LEFT_UNCHANGED);
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
23
30
|
const shouldRegenerate = await (0, confirmDialog_1.confirmDialog)({
|
|
24
31
|
message: 'Configuration file already exists. Do you want to regenerate it?',
|
|
25
32
|
initial: false,
|
|
26
33
|
});
|
|
27
34
|
if (!shouldRegenerate) {
|
|
28
|
-
Consts_1.APP_LOGGER.info(
|
|
35
|
+
Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.CONFIG_LEFT_UNCHANGED);
|
|
29
36
|
return;
|
|
30
37
|
}
|
|
31
38
|
}
|
|
@@ -37,10 +44,10 @@ async function initConfig(params) {
|
|
|
37
44
|
specFiles = await (0, findSpecFiles_1.findSpecFiles)(currentSpecsDir);
|
|
38
45
|
}
|
|
39
46
|
catch (error) {
|
|
40
|
-
Consts_1.APP_LOGGER.warn(
|
|
47
|
+
Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.SPEC_FILES_FIND_ERROR(error instanceof Error ? error.message : String(error)));
|
|
41
48
|
}
|
|
42
49
|
if (specFiles.length === 0) {
|
|
43
|
-
Consts_1.APP_LOGGER.warn(
|
|
50
|
+
Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.NO_SPEC_FILES_FOUND(currentSpecsDir));
|
|
44
51
|
}
|
|
45
52
|
// Валидация файлов
|
|
46
53
|
const validatedSpecs = await (0, validateSpecFiles_1.validateSpecFiles)(specFiles);
|
|
@@ -48,51 +55,67 @@ async function initConfig(params) {
|
|
|
48
55
|
let useMultiOption = false;
|
|
49
56
|
let customRequest;
|
|
50
57
|
let perSpecRequest = false;
|
|
58
|
+
const hasCustomRequestPath = Boolean(params.request);
|
|
51
59
|
if (validatedSpecs.length > 0) {
|
|
52
60
|
// Если найдены валидные спецификации, спрашиваем о типе конфигурации
|
|
53
61
|
useMultiOption = validatedSpecs.length > 1;
|
|
54
|
-
//
|
|
55
|
-
const hasCustomRequest =
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
62
|
+
// В неинтерактивном режиме признак кастомного request определяется наличием --request
|
|
63
|
+
const hasCustomRequest = useInteractiveMode
|
|
64
|
+
? await (0, confirmDialog_1.confirmDialog)({
|
|
65
|
+
message: 'Do you want to use a custom request implementation?',
|
|
66
|
+
initial: false,
|
|
67
|
+
})
|
|
68
|
+
: hasCustomRequestPath;
|
|
59
69
|
if (hasCustomRequest) {
|
|
60
|
-
if (useMultiOption) {
|
|
70
|
+
if (useMultiOption && useInteractiveMode) {
|
|
61
71
|
perSpecRequest = await (0, confirmDialog_1.confirmDialog)({
|
|
62
72
|
message: 'Will each specification have its own request?',
|
|
63
73
|
initial: false,
|
|
64
74
|
});
|
|
65
75
|
}
|
|
66
|
-
|
|
76
|
+
if (!hasCustomRequestPath) {
|
|
77
|
+
Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.CUSTOM_REQUEST_MISSING_PATH);
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
customRequest = params.request;
|
|
81
|
+
}
|
|
67
82
|
}
|
|
68
83
|
config = await (0, buildConfig_1.buildConfig)(validatedSpecs, useMultiOption, customRequest, perSpecRequest);
|
|
69
84
|
}
|
|
70
85
|
else {
|
|
71
86
|
// Если валидных спецификаций нет, предлагаем создать пример
|
|
72
|
-
Consts_1.APP_LOGGER.warn(
|
|
73
|
-
const action =
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
87
|
+
Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.NO_VALID_SPEC_FILES_FOUND);
|
|
88
|
+
const action = useInteractiveMode
|
|
89
|
+
? await (0, selectDialog_1.selectDialog)({
|
|
90
|
+
message: 'What would you like to do?',
|
|
91
|
+
choices: constants_1.OPEN_API_CONFIG_SELECT_OPTIONS,
|
|
92
|
+
initial: 0,
|
|
93
|
+
})
|
|
94
|
+
: types_1.EConfigType.FLAT;
|
|
78
95
|
if (action === types_1.EConfigType.NONE) {
|
|
79
|
-
Consts_1.APP_LOGGER.info(
|
|
96
|
+
Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.CONFIG_GENERATION_CANCELLED);
|
|
80
97
|
return;
|
|
81
98
|
}
|
|
82
99
|
useMultiOption = action === types_1.EConfigType.MULTI;
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
100
|
+
const hasCustomRequest = useInteractiveMode
|
|
101
|
+
? await (0, confirmDialog_1.confirmDialog)({
|
|
102
|
+
message: 'Do you want to use a custom request implementation?',
|
|
103
|
+
initial: false,
|
|
104
|
+
})
|
|
105
|
+
: hasCustomRequestPath;
|
|
88
106
|
if (hasCustomRequest) {
|
|
89
|
-
if (useMultiOption) {
|
|
107
|
+
if (useMultiOption && useInteractiveMode) {
|
|
90
108
|
perSpecRequest = await (0, confirmDialog_1.confirmDialog)({
|
|
91
109
|
message: 'Will each specification have its own request?',
|
|
92
110
|
initial: false,
|
|
93
111
|
});
|
|
94
112
|
}
|
|
95
|
-
|
|
113
|
+
if (!hasCustomRequestPath) {
|
|
114
|
+
Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.CUSTOM_REQUEST_MISSING_PATH);
|
|
115
|
+
}
|
|
116
|
+
else {
|
|
117
|
+
customRequest = params.request;
|
|
118
|
+
}
|
|
96
119
|
}
|
|
97
120
|
// Создаем пример конфигурации
|
|
98
121
|
config = (0, buildConfig_1.buildExampleConfig)(useMultiOption, customRequest, perSpecRequest);
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
import { CLITemplates } from './Types';
|
|
2
|
-
|
|
2
|
+
type InitCustomRequestParams = {
|
|
3
|
+
templates: CLITemplates;
|
|
4
|
+
useCancelableRequest?: boolean;
|
|
5
|
+
customRequestPath?: string;
|
|
6
|
+
useInteractiveMode?: boolean;
|
|
7
|
+
};
|
|
8
|
+
export declare function initCustomRequest(params: InitCustomRequestParams): Promise<void>;
|
|
9
|
+
export {};
|
|
3
10
|
//# sourceMappingURL=initCustomRequest.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initCustomRequest.d.ts","sourceRoot":"","sources":["../../../src/cli/initOpenApiConfig/initCustomRequest.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initCustomRequest.d.ts","sourceRoot":"","sources":["../../../src/cli/initOpenApiConfig/initCustomRequest.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,KAAK,uBAAuB,GAAG;IAC3B,SAAS,EAAE,YAAY,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDtF"}
|
|
@@ -1,23 +1,55 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.initCustomRequest = initCustomRequest;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
const Consts_1 = require("../../common/Consts");
|
|
9
|
+
const LoggerMessages_1 = require("../../common/LoggerMessages");
|
|
4
10
|
const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
|
|
5
11
|
const format_1 = require("../../common/utils/format");
|
|
6
12
|
const pathHelpers_1 = require("../../common/utils/pathHelpers");
|
|
7
13
|
const confirmDialog_1 = require("../interactive/confirmDialog");
|
|
8
|
-
async function initCustomRequest(
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
}
|
|
14
|
+
async function initCustomRequest(params) {
|
|
15
|
+
const { templates, useCancelableRequest, customRequestPath, useInteractiveMode } = params;
|
|
16
|
+
if (!customRequestPath) {
|
|
17
|
+
Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CUSTOM_REQUEST.PATH_NOT_PROVIDED);
|
|
18
|
+
return;
|
|
19
|
+
}
|
|
20
|
+
const shouldRequestExecutor = useInteractiveMode
|
|
21
|
+
? await (0, confirmDialog_1.confirmDialog)({
|
|
22
|
+
message: 'Generate custom request file in executor format?',
|
|
23
|
+
initial: false,
|
|
24
|
+
})
|
|
25
|
+
: false;
|
|
14
26
|
const artifacts = {
|
|
15
27
|
useCancelableRequest,
|
|
16
28
|
};
|
|
17
|
-
const customRequestPath = './src/custom/request.ts';
|
|
18
29
|
const file = (0, pathHelpers_1.resolveHelper)(process.cwd(), customRequestPath);
|
|
30
|
+
const fileDir = path_1.default.dirname(file);
|
|
31
|
+
const fileDirExists = await fileSystemHelpers_1.fileSystemHelpers.exists(fileDir);
|
|
32
|
+
if (!fileDirExists) {
|
|
33
|
+
await fileSystemHelpers_1.fileSystemHelpers.mkdir(fileDir);
|
|
34
|
+
}
|
|
35
|
+
const isFileExists = await fileSystemHelpers_1.fileSystemHelpers.exists(file);
|
|
36
|
+
if (isFileExists) {
|
|
37
|
+
if (!useInteractiveMode) {
|
|
38
|
+
Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CUSTOM_REQUEST.FILE_EXISTS_INTERACTIVE_DISABLED(file));
|
|
39
|
+
Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.CUSTOM_REQUEST.FILE_LEFT_UNCHANGED);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const shouldOverwrite = await (0, confirmDialog_1.confirmDialog)({
|
|
43
|
+
message: 'Custom request file already exists. Overwrite it?',
|
|
44
|
+
initial: false,
|
|
45
|
+
});
|
|
46
|
+
if (!shouldOverwrite) {
|
|
47
|
+
Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.CUSTOM_REQUEST.FILE_LEFT_UNCHANGED);
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
}
|
|
19
51
|
const templateResult = shouldRequestExecutor ? templates.requestExecutor(artifacts) : templates.request(artifacts);
|
|
20
52
|
const formattedValue = await (0, format_1.format)(templateResult);
|
|
21
53
|
await fileSystemHelpers_1.fileSystemHelpers.writeFile(file, formattedValue);
|
|
22
|
-
|
|
54
|
+
Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.CUSTOM_REQUEST.FILE_CREATED(file));
|
|
23
55
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"buildConfig.d.ts","sourceRoot":"","sources":["../../../../src/cli/initOpenApiConfig/utils/buildConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"buildConfig.d.ts","sourceRoot":"","sources":["../../../../src/cli/initOpenApiConfig/utils/buildConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CA4ElK;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,WAAW,CAqEzH"}
|