ts-openapi-codegen 2.0.0-beta.8 → 2.0.0
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 +88 -18
- package/README.rus.md +88 -21
- package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts +2 -1
- package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/checkConfig.js +14 -6
- package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts +2 -1
- package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/updateConfig.js +13 -5
- package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.d.ts.map +1 -1
- package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.js +5 -0
- package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts.map +1 -1
- package/dist/cli/generateOpenApiClient/generateOpenApiClient.js +24 -13
- package/dist/cli/index.js +10 -8
- package/dist/cli/initOpenApiConfig/init.d.ts.map +1 -1
- package/dist/cli/initOpenApiConfig/init.js +5 -13
- package/dist/cli/initOpenApiConfig/initConfig.js +3 -3
- package/dist/cli/previewChanges/previewChanges.d.ts.map +1 -1
- package/dist/cli/previewChanges/previewChanges.js +119 -28
- package/dist/cli/previewChanges/utils/updateOutputPaths.d.ts.map +1 -1
- package/dist/cli/previewChanges/utils/updateOutputPaths.js +6 -0
- package/dist/cli/schemas/base.d.ts +6 -1
- package/dist/cli/schemas/base.d.ts.map +1 -1
- package/dist/cli/schemas/base.js +10 -6
- package/dist/cli/schemas/checkConfig.d.ts +1 -1
- package/dist/cli/schemas/generate.d.ts +1 -25
- package/dist/cli/schemas/generate.d.ts.map +1 -1
- package/dist/cli/schemas/generate.js +21 -32
- package/dist/cli/schemas/index.d.ts +2 -1
- package/dist/cli/schemas/index.d.ts.map +1 -1
- package/dist/cli/schemas/index.js +1 -0
- package/dist/cli/schemas/init.d.ts +5 -5
- package/dist/cli/schemas/init.d.ts.map +1 -1
- package/dist/cli/schemas/init.js +4 -5
- package/dist/cli/schemas/previewChanges.d.ts +9 -0
- package/dist/cli/schemas/previewChanges.d.ts.map +1 -0
- package/dist/cli/schemas/previewChanges.js +11 -0
- package/dist/cli/schemas/updateConfig.d.ts +1 -1
- package/dist/common/Consts.d.ts +2 -0
- package/dist/common/Consts.d.ts.map +1 -1
- package/dist/common/Consts.js +8 -2
- package/dist/common/LoggerMessages.d.ts +1 -0
- package/dist/common/LoggerMessages.d.ts.map +1 -1
- package/dist/common/LoggerMessages.js +2 -1
- package/dist/common/TRawOptions.d.ts +1 -1
- package/dist/common/TRawOptions.d.ts.map +1 -1
- package/dist/common/Validation/formatZodError.d.ts +10 -0
- package/dist/common/Validation/formatZodError.d.ts.map +1 -0
- package/dist/{cli/validation/errorFormatter.js → common/Validation/formatZodError.js} +14 -13
- package/dist/common/Validation/index.d.ts +3 -0
- package/dist/common/Validation/index.d.ts.map +1 -0
- package/dist/{cli/validation → common/Validation}/index.js +2 -2
- package/dist/{cli/validation/validateCLIOptions.d.ts → common/Validation/validateZodOptions.d.ts} +4 -4
- package/dist/common/Validation/validateZodOptions.d.ts.map +1 -0
- package/dist/{cli/validation/validateCLIOptions.js → common/Validation/validateZodOptions.js} +7 -10
- 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 +14 -4
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.d.ts +6 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.js +8 -14
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts +28 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts.map +1 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.js +25 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts +36 -6
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.js +33 -37
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts +37 -6
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts.map +1 -1
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.js +30 -37
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts +40 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts.map +1 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.js +36 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts +42 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts.map +1 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.js +38 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts +192 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts.map +1 -0
- package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.js +27 -0
- package/dist/common/VersionedSchema/CommonSchemas.d.ts +61 -30
- package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/CommonSchemas.js +56 -73
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts +25 -5
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts.map +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.js +34 -17
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts +25 -5
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts.map +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.js +28 -19
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts +25 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.js +29 -2
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts +25 -5
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts.map +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.js +30 -14
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts +23 -5
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.js +33 -18
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts +3 -2
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.js +18 -11
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts +22 -5
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.js +30 -12
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts +22 -5
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.js +27 -13
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts +22 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.js +28 -2
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +22 -5
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.js +31 -12
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts +3 -2
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.js +15 -9
- package/dist/common/VersionedSchema/Types.d.ts +5 -5
- package/dist/common/VersionedSchema/Types.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts +16 -0
- package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts.map +1 -0
- package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.js +104 -0
- 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.d.ts +2 -0
- package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.d.ts.map +1 -0
- package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.js +40 -0
- package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.d.ts +2 -0
- package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.d.ts.map +1 -0
- package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.js +93 -0
- package/dist/common/VersionedSchema/Utils/buildVersionedSchema.d.ts +12 -0
- package/dist/common/VersionedSchema/Utils/buildVersionedSchema.d.ts.map +1 -0
- package/dist/common/VersionedSchema/Utils/buildVersionedSchema.js +13 -0
- package/dist/common/VersionedSchema/Utils/compareShapes.d.ts +16 -0
- package/dist/common/VersionedSchema/Utils/compareShapes.d.ts.map +1 -0
- package/dist/common/VersionedSchema/Utils/compareShapes.js +30 -0
- package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts +6 -1
- package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.js +70 -25
- package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.d.ts +2 -2
- package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.js +15 -7
- package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.d.ts +3 -3
- package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.js +17 -4
- package/dist/common/VersionedSchema/Utils/getUniqueObjectKeys.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/getUniqueObjectKeys.js +19 -2
- package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts +12 -1
- package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
- package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +41 -22
- package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts +4 -0
- package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts.map +1 -0
- package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.js +43 -0
- package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.d.ts +4 -0
- package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.d.ts.map +1 -0
- package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.js +21 -0
- package/dist/common/utils/__tests__/convertArrayToObject.test.js +64 -169
- package/dist/common/utils/convertArrayToObject.d.ts.map +1 -1
- package/dist/common/utils/convertArrayToObject.js +51 -14
- package/dist/core/Context.d.ts +6 -5
- package/dist/core/Context.d.ts.map +1 -1
- package/dist/core/Context.js +69 -26
- package/dist/core/OpenApiClient.d.ts.map +1 -1
- package/dist/core/OpenApiClient.js +24 -9
- package/dist/core/WriteClient.d.ts +8 -1
- package/dist/core/WriteClient.d.ts.map +1 -1
- package/dist/core/WriteClient.js +48 -7
- package/dist/core/__tests__/WriteClient.test.js +2 -0
- package/dist/core/api/v2/Parser.d.ts +1 -1
- package/dist/core/api/v2/Parser.d.ts.map +1 -1
- package/dist/core/api/v2/Parser.js +2 -2
- package/dist/core/api/v2/parser/getModel.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getModel.js +2 -5
- package/dist/core/api/v2/parser/getModelProperties.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getModelProperties.js +1 -3
- package/dist/core/api/v2/parser/getModels.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getModels.js +1 -2
- package/dist/core/api/v2/parser/getOperationParameter.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getOperationParameter.js +2 -5
- package/dist/core/api/v2/parser/getOperationParameters.js +1 -1
- package/dist/core/api/v2/parser/getOperationResponse.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getOperationResponse.js +1 -3
- package/dist/core/api/v2/parser/getOperationResponses.js +1 -1
- package/dist/core/api/v2/parser/getServices.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getServices.js +4 -3
- package/dist/core/api/v2/parser/getType.d.ts.map +1 -1
- package/dist/core/api/v2/parser/getType.js +4 -3
- package/dist/core/api/v3/Parser.d.ts +1 -1
- package/dist/core/api/v3/Parser.d.ts.map +1 -1
- package/dist/core/api/v3/Parser.js +2 -2
- package/dist/core/api/v3/parser/getModel.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getModel.js +2 -5
- package/dist/core/api/v3/parser/getModelProperties.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getModelProperties.js +1 -3
- package/dist/core/api/v3/parser/getModels.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getModels.js +1 -2
- package/dist/core/api/v3/parser/getOperation.js +1 -1
- package/dist/core/api/v3/parser/getOperationParameter.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationParameter.js +2 -5
- package/dist/core/api/v3/parser/getOperationParameters.js +1 -1
- package/dist/core/api/v3/parser/getOperationRequestBody.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationRequestBody.js +1 -3
- package/dist/core/api/v3/parser/getOperationResponse.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getOperationResponse.js +1 -3
- package/dist/core/api/v3/parser/getOperationResponses.js +1 -1
- package/dist/core/api/v3/parser/getServices.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getServices.js +4 -3
- package/dist/core/api/v3/parser/getType.d.ts.map +1 -1
- package/dist/core/api/v3/parser/getType.js +4 -3
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +2 -0
- package/dist/core/types/base/Templates.model.d.ts +1 -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/utils/__tests__/getRelativeModelPath.test.js +9 -3
- package/dist/core/utils/__tests__/isSubdirectory.test.js +2 -2
- 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__/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 +121 -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__/writeClientSchemas.test.js +2 -0
- package/dist/core/utils/getOpenApiSpec.d.ts.map +1 -1
- package/dist/core/utils/getOpenApiSpec.js +14 -1
- 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/registerHandlebarHelpers.d.ts.map +1 -1
- package/dist/core/utils/registerHandlebarHelpers.js +25 -0
- package/dist/core/utils/registerHandlebarTemplates.d.ts.map +1 -1
- package/dist/core/utils/registerHandlebarTemplates.js +42 -41
- package/dist/core/utils/resolveRefPath.d.ts.map +1 -1
- package/dist/core/utils/resolveRefPath.js +1 -4
- package/dist/core/utils/serviceHelpers.d.ts.map +1 -1
- package/dist/core/utils/serviceHelpers.js +32 -6
- package/dist/core/utils/validateRawOptions.d.ts +3 -0
- package/dist/core/utils/validateRawOptions.d.ts.map +1 -0
- package/dist/core/utils/validateRawOptions.js +15 -0
- package/dist/core/utils/writeClientExecutor.d.ts +4 -1
- package/dist/core/utils/writeClientExecutor.d.ts.map +1 -1
- package/dist/core/utils/writeClientExecutor.js +17 -2
- package/dist/core/utils/writeClientSchemas.d.ts +4 -1
- package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
- package/dist/core/utils/writeClientSchemas.js +11 -2
- package/dist/templatesCompiled/client/core/ApiError.js +1 -1
- package/dist/templatesCompiled/client/core/ApiResult.js +1 -1
- package/dist/templatesCompiled/client/core/axios/request.js +3 -3
- 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/request.js +3 -3
- package/dist/templatesCompiled/client/core/functions/catchErrors.js +1 -1
- package/dist/templatesCompiled/client/core/interceptors/withInterceptors.js +1 -1
- package/dist/templatesCompiled/client/core/node/request.js +3 -3
- package/dist/templatesCompiled/client/core/xhr/request.js +3 -3
- 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/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 +2 -0
- package/dist/templatesCompiled/client/exportService.d.ts.map +1 -1
- package/dist/templatesCompiled/client/exportService.js +71 -31
- package/dist/templatesCompiled/client/indexFull.d.ts +1 -0
- package/dist/templatesCompiled/client/indexFull.d.ts.map +1 -1
- package/dist/templatesCompiled/client/indexFull.js +4 -1
- 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/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.js +5 -5
- 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/exportComposition.d.ts +2 -0
- package/dist/templatesCompiled/client/partials/exportComposition.d.ts.map +1 -1
- package/dist/templatesCompiled/client/partials/exportComposition.js +17 -9
- 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/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/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 +2 -2
- package/dist/cli/validation/errorFormatter.d.ts +0 -6
- package/dist/cli/validation/errorFormatter.d.ts.map +0 -1
- package/dist/cli/validation/index.d.ts +0 -3
- package/dist/cli/validation/index.d.ts.map +0 -1
- package/dist/cli/validation/validateCLIOptions.d.ts.map +0 -1
- package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.d.ts +0 -6
- package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.d.ts.map +0 -1
- package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.js +0 -7
- package/dist/common/VersionedSchema/Utils/joiHandlers.d.ts +0 -6
- package/dist/common/VersionedSchema/Utils/joiHandlers.d.ts.map +0 -1
- package/dist/common/VersionedSchema/Utils/joiHandlers.js +0 -59
- package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.d.ts +0 -3
- package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.d.ts.map +0 -1
- package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.js +0 -12
- package/dist/common/VersionedSchema/Utils/traverseObjectStructure.d.ts +0 -3
- package/dist/common/VersionedSchema/Utils/traverseObjectStructure.d.ts.map +0 -1
- package/dist/common/VersionedSchema/Utils/traverseObjectStructure.js +0 -31
- 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/common/schemas/configSchemas.d.ts +0 -91
- package/dist/common/schemas/configSchemas.d.ts.map +0 -1
- package/dist/common/schemas/configSchemas.js +0 -131
- package/dist/common/utils/__tests__/__mock__/mockJoiSchema.d.ts +0 -19
- package/dist/common/utils/__tests__/__mock__/mockJoiSchema.d.ts.map +0 -1
- package/dist/common/utils/__tests__/__mock__/mockJoiSchema.js +0 -14
- package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.d.ts +0 -2
- package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.d.ts.map +0 -1
- package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.js +0 -38
- package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.d.ts +0 -2
- package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.d.ts.map +0 -1
- package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.js +0 -20
- package/dist/common/utils/__tests__/mergeObjectSchemas.test.d.ts +0 -2
- package/dist/common/utils/__tests__/mergeObjectSchemas.test.d.ts.map +0 -1
- package/dist/common/utils/__tests__/mergeObjectSchemas.test.js +0 -35
- package/dist/common/utils/__tests__/migrationForMultiOptions.test.d.ts +0 -2
- package/dist/common/utils/__tests__/migrationForMultiOptions.test.d.ts.map +0 -1
- package/dist/common/utils/__tests__/migrationForMultiOptions.test.js +0 -112
- package/dist/common/utils/__tests__/migrationForOptions.test.d.ts +0 -2
- package/dist/common/utils/__tests__/migrationForOptions.test.d.ts.map +0 -1
- package/dist/common/utils/__tests__/migrationForOptions.test.js +0 -56
- 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
package/dist/cli/index.js
CHANGED
|
@@ -10,6 +10,7 @@ const Consts_1 = require("../common/Consts");
|
|
|
10
10
|
const Enums_1 = require("../common/Enums");
|
|
11
11
|
const UpdateNotifier_1 = require("../common/UpdateNotifier");
|
|
12
12
|
const pathHelpers_1 = require("../common/utils/pathHelpers");
|
|
13
|
+
const EmptySchemaStrategy_enum_1 = require("../core/types/enums/EmptySchemaStrategy.enum");
|
|
13
14
|
const HttpClient_enum_1 = require("../core/types/enums/HttpClient.enum");
|
|
14
15
|
const ValidationLibrary_enum_1 = require("../core/types/enums/ValidationLibrary.enum");
|
|
15
16
|
const checkConfig_1 = require("./checkAndUpdateConfig/checkConfig");
|
|
@@ -48,6 +49,7 @@ program
|
|
|
48
49
|
.option('--useUnionTypes', 'Use union types instead of enums (default: false)')
|
|
49
50
|
.option('--excludeCoreServiceFiles', 'The generation of the core and services is excluded (default: false)')
|
|
50
51
|
.option('--request <value>', 'Path to custom request file')
|
|
52
|
+
.option('--customExecutorPath <value>', 'Path to custom createExecutorAdapter module')
|
|
51
53
|
.option('--interfacePrefix <value>', 'Prefix for interface model(default: "I")', 'I')
|
|
52
54
|
.option('--enumPrefix <value>', 'Prefix for enum model(default: "E")', 'E')
|
|
53
55
|
.option('--typePrefix <value>', 'Prefix for type model(default: "T")', 'T')
|
|
@@ -57,6 +59,7 @@ program
|
|
|
57
59
|
.option('-s, --sortByRequired', 'Property sorting strategy: simplified or extended')
|
|
58
60
|
.option('--useSeparatedIndexes', 'Use separate index files for the core, models, schemas, and services.')
|
|
59
61
|
.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))
|
|
62
|
+
.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))
|
|
60
63
|
.hook('preAction', async () => {
|
|
61
64
|
await updateNotifier.checkAndNotify();
|
|
62
65
|
})
|
|
@@ -75,7 +78,7 @@ program
|
|
|
75
78
|
await updateNotifier.checkAndNotify();
|
|
76
79
|
})
|
|
77
80
|
.action(async (options) => {
|
|
78
|
-
await (0, checkConfig_1.checkConfig)(options
|
|
81
|
+
await (0, checkConfig_1.checkConfig)(options);
|
|
79
82
|
});
|
|
80
83
|
/**
|
|
81
84
|
* update - Команда для обновления конфигурационного файла
|
|
@@ -89,7 +92,7 @@ program
|
|
|
89
92
|
await updateNotifier.checkAndNotify();
|
|
90
93
|
})
|
|
91
94
|
.action(async (options) => {
|
|
92
|
-
await (0, updateConfig_1.updateConfig)(options
|
|
95
|
+
await (0, updateConfig_1.updateConfig)(options);
|
|
93
96
|
});
|
|
94
97
|
/**
|
|
95
98
|
* init - Команда для инициализации конфигурационного файла
|
|
@@ -116,10 +119,10 @@ program
|
|
|
116
119
|
.command('preview-changes')
|
|
117
120
|
.description('Preview changes that will be made to generated code before applying them')
|
|
118
121
|
.addHelpText('before', (0, utils_1.getCLIName)(APP_NAME))
|
|
119
|
-
.option('-ocn, --openapi-config <value>', 'The path to the configuration file, listing the options', Consts_1.DEFAULT_OPENAPI_CONFIG_FILENAME)
|
|
120
|
-
.option('-gd, --generated-dir <value>', 'Directory with previously generated code (default: "generated")',
|
|
121
|
-
.option('-pd, --preview-dir <value>', 'Temporary directory for preview generation (default: "
|
|
122
|
-
.option('-dd, --diff-dir <value>', 'Directory to save diff files (default: "
|
|
122
|
+
.option('-ocn, --openapi-config <value>', 'The path to the configuration file, listing the options (default: "openapi.config.json")', Consts_1.DEFAULT_OPENAPI_CONFIG_FILENAME)
|
|
123
|
+
.option('-gd, --generated-dir <value>', 'Directory with previously generated code (default: "generated")', Consts_1.DEFAULT_OUTPUT_API_DIR)
|
|
124
|
+
.option('-pd, --preview-dir <value>', 'Temporary directory for preview generation (default: ".ts-openapi-codegen-preview-changes)', Consts_1.DEFAULT_PREVIEW_CHANGES_DIR)
|
|
125
|
+
.option('-dd, --diff-dir <value>', 'Directory to save diff files (default: ".ts-openapi-codegen-diff-changes")', Consts_1.DEFAULT_DIFF_CHANGES_DIR)
|
|
123
126
|
.hook('preAction', async () => {
|
|
124
127
|
await updateNotifier.checkAndNotify();
|
|
125
128
|
})
|
|
@@ -127,8 +130,7 @@ program
|
|
|
127
130
|
await (0, previewChanges_1.previewChanges)(options);
|
|
128
131
|
});
|
|
129
132
|
program.exitOverride();
|
|
130
|
-
|
|
131
|
-
// program.showSuggestionAfterError(false);
|
|
133
|
+
program.showSuggestionAfterError(false);
|
|
132
134
|
// Парсирование аргументов с обработкой ошибок
|
|
133
135
|
try {
|
|
134
136
|
program.parse(process.argv);
|
|
@@ -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;AAUzC;;GAEG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/initOpenApiConfig/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAUzC;;GAEG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,YAAY,iBA4C/C"}
|
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.init = init;
|
|
4
4
|
const Consts_1 = require("../../common/Consts");
|
|
5
|
+
const validateZodOptions_1 = require("../../common/Validation/validateZodOptions");
|
|
5
6
|
const confirmDialog_1 = require("../interactive/confirmDialog");
|
|
6
7
|
const schemas_1 = require("../schemas");
|
|
7
|
-
const validation_1 = require("../validation");
|
|
8
8
|
const initConfig_1 = require("./initConfig");
|
|
9
9
|
const initCustomRequest_1 = require("./initCustomRequest");
|
|
10
10
|
const registerHandlebarTemplates_1 = require("./utils/registerHandlebarTemplates");
|
|
@@ -12,20 +12,12 @@ const registerHandlebarTemplates_1 = require("./utils/registerHandlebarTemplates
|
|
|
12
12
|
* Фнукция изначальной настройки файлов конфигурации для последующего запуска генератора
|
|
13
13
|
*/
|
|
14
14
|
async function init(options) {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
const validationResult = (0, validation_1.validateCLIOptions)(schemas_1.initOptionsSchema, options);
|
|
19
|
-
if (!validationResult.success) {
|
|
20
|
-
Consts_1.APP_LOGGER.error(validationResult.error);
|
|
21
|
-
process.exit(1);
|
|
22
|
-
}
|
|
23
|
-
validatedOptions = validationResult.data;
|
|
24
|
-
}
|
|
25
|
-
catch (error) {
|
|
26
|
-
Consts_1.APP_LOGGER.error(error.message);
|
|
15
|
+
const validationResult = (0, validateZodOptions_1.validateZodOptions)(schemas_1.initOptionsSchema, options);
|
|
16
|
+
if (!validationResult.success) {
|
|
17
|
+
Consts_1.APP_LOGGER.error(validationResult.errors.join('\n'));
|
|
27
18
|
process.exit(1);
|
|
28
19
|
}
|
|
20
|
+
const validatedOptions = validationResult.data;
|
|
29
21
|
const templates = (0, registerHandlebarTemplates_1.registerHandlebarTemplates)();
|
|
30
22
|
if (validatedOptions.useInteractiveMode) {
|
|
31
23
|
const shouldInitConfig = await (0, confirmDialog_1.confirmDialog)({
|
|
@@ -16,7 +16,7 @@ const writeConfigFile_1 = require("./utils/writeConfigFile");
|
|
|
16
16
|
* Инициализирует файл конфигурации OpenAPI
|
|
17
17
|
*/
|
|
18
18
|
async function initConfig(params) {
|
|
19
|
-
const configPath = (0, pathHelpers_1.resolveHelper)(process.cwd(), params.openapiConfig);
|
|
19
|
+
const configPath = (0, pathHelpers_1.resolveHelper)(process.cwd(), params.openapiConfig || '');
|
|
20
20
|
const configExists = await fileSystemHelpers_1.fileSystemHelpers.exists(configPath);
|
|
21
21
|
// Шаг 3: Проверка существования файла конфигурации
|
|
22
22
|
if (configExists) {
|
|
@@ -29,7 +29,7 @@ async function initConfig(params) {
|
|
|
29
29
|
return;
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
-
const currentSpecsDir = params.specsDir;
|
|
32
|
+
const currentSpecsDir = params.specsDir || '';
|
|
33
33
|
// Шаг 4: Формирование файла конфигурации
|
|
34
34
|
// Поиск файлов спецификаций
|
|
35
35
|
let specFiles = [];
|
|
@@ -98,5 +98,5 @@ async function initConfig(params) {
|
|
|
98
98
|
config = (0, buildConfig_1.buildExampleConfig)(useMultiOption, customRequest, perSpecRequest);
|
|
99
99
|
}
|
|
100
100
|
// Записываем конфигурацию на диск
|
|
101
|
-
await (0, writeConfigFile_1.writeConfigFile)(params.openapiConfig, config, params.templates);
|
|
101
|
+
await (0, writeConfigFile_1.writeConfigFile)(params.openapiConfig || '', config, params.templates);
|
|
102
102
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"previewChanges.d.ts","sourceRoot":"","sources":["../../../src/cli/previewChanges/previewChanges.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"previewChanges.d.ts","sourceRoot":"","sources":["../../../src/cli/previewChanges/previewChanges.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAoHzC;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAwLzE"}
|
|
@@ -36,44 +36,119 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.previewChanges = previewChanges;
|
|
37
37
|
const Consts_1 = require("../../common/Consts");
|
|
38
38
|
const Enums_1 = require("../../common/Enums");
|
|
39
|
+
const LoggerMessages_1 = require("../../common/LoggerMessages");
|
|
39
40
|
const convertArrayToObject_1 = require("../../common/utils/convertArrayToObject");
|
|
40
41
|
const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
|
|
41
42
|
const loadConfigIfExists_1 = require("../../common/utils/loadConfigIfExists");
|
|
42
43
|
const pathHelpers_1 = require("../../common/utils/pathHelpers");
|
|
44
|
+
const validateZodOptions_1 = require("../../common/Validation/validateZodOptions");
|
|
43
45
|
const AllMigrationPlans_1 = require("../../common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans");
|
|
44
46
|
const AllVersionedSchemas_1 = require("../../common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas");
|
|
45
47
|
const migrateDataToLatestSchemaVersion_1 = require("../../common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion");
|
|
46
48
|
const OpenAPI = __importStar(require("../../core"));
|
|
49
|
+
const schemas_1 = require("../schemas");
|
|
47
50
|
const compareFiles_1 = require("./utils/compareFiles");
|
|
48
51
|
const formatDiff_1 = require("./utils/formatDiff");
|
|
49
52
|
const isDirectoryEmpty_1 = require("./utils/isDirectoryEmpty");
|
|
50
53
|
const readDirectoryRecursive_1 = require("./utils/readDirectoryRecursive");
|
|
51
54
|
const updateOutputPaths_1 = require("./utils/updateOutputPaths");
|
|
55
|
+
function buildSummary(changes) {
|
|
56
|
+
const added = [];
|
|
57
|
+
const removed = [];
|
|
58
|
+
const modified = [];
|
|
59
|
+
for (const change of changes) {
|
|
60
|
+
if (change.status === 'added') {
|
|
61
|
+
added.push(change.file);
|
|
62
|
+
continue;
|
|
63
|
+
}
|
|
64
|
+
if (change.status === 'removed') {
|
|
65
|
+
removed.push(change.file);
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
modified.push(change.file);
|
|
69
|
+
}
|
|
70
|
+
added.sort();
|
|
71
|
+
removed.sort();
|
|
72
|
+
modified.sort();
|
|
73
|
+
return {
|
|
74
|
+
added,
|
|
75
|
+
removed,
|
|
76
|
+
modified,
|
|
77
|
+
total: changes.length,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
function toFileLink(filePath) {
|
|
81
|
+
return `./${filePath}.md`;
|
|
82
|
+
}
|
|
83
|
+
function toCategoryMarkdown(title, files) {
|
|
84
|
+
const lines = [`# ${title}`, ''];
|
|
85
|
+
if (files.length === 0) {
|
|
86
|
+
lines.push('_No files_', '');
|
|
87
|
+
return lines.join('\n');
|
|
88
|
+
}
|
|
89
|
+
for (const file of files) {
|
|
90
|
+
lines.push(`- [${file}](${toFileLink(file)})`);
|
|
91
|
+
}
|
|
92
|
+
lines.push('');
|
|
93
|
+
return lines.join('\n');
|
|
94
|
+
}
|
|
95
|
+
function toSummaryMarkdown(summary) {
|
|
96
|
+
return [
|
|
97
|
+
'# Preview Changes Summary',
|
|
98
|
+
'',
|
|
99
|
+
`Total changes: ${summary.total}`,
|
|
100
|
+
`Added files: ${summary.added.length}`,
|
|
101
|
+
`Removed files: ${summary.removed.length}`,
|
|
102
|
+
`Modified files: ${summary.modified.length}`,
|
|
103
|
+
'',
|
|
104
|
+
'## Reports',
|
|
105
|
+
'- [Added files](./added-files.md)',
|
|
106
|
+
'- [Removed files](./removed-files.md)',
|
|
107
|
+
'- [Modified files](./modified-files.md)',
|
|
108
|
+
'',
|
|
109
|
+
'## Added',
|
|
110
|
+
...summary.added.map(file => `- [${file}](${toFileLink(file)})`),
|
|
111
|
+
'',
|
|
112
|
+
'## Removed',
|
|
113
|
+
...summary.removed.map(file => `- [${file}](${toFileLink(file)})`),
|
|
114
|
+
'',
|
|
115
|
+
'## Modified',
|
|
116
|
+
...summary.modified.map(file => `- [${file}](${toFileLink(file)})`),
|
|
117
|
+
'',
|
|
118
|
+
].join('\n');
|
|
119
|
+
}
|
|
52
120
|
/**
|
|
53
121
|
* Основная функция для предпросмотра изменений
|
|
54
122
|
*
|
|
55
123
|
* TODO: Добавить проверку опций команды перед выполнением
|
|
56
124
|
*/
|
|
57
125
|
async function previewChanges(options) {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
const resolvedPreviewDir = (0, pathHelpers_1.resolveHelper)(process.cwd(), previewDir);
|
|
61
|
-
const resolvedDiffDir = (0, pathHelpers_1.resolveHelper)(process.cwd(), diffDir);
|
|
126
|
+
let exitCode = 0;
|
|
127
|
+
let resolvedPreviewDir = '';
|
|
62
128
|
let previewDirCreated = false;
|
|
63
129
|
try {
|
|
130
|
+
const validationResult = (0, validateZodOptions_1.validateZodOptions)(schemas_1.previewChangesSchema, options);
|
|
131
|
+
if (!validationResult.success) {
|
|
132
|
+
Consts_1.APP_LOGGER.error(validationResult.errors.join('\n'));
|
|
133
|
+
exitCode = 1;
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
const { openapiConfig, generatedDir, previewDir, diffDir } = validationResult.data;
|
|
137
|
+
const resolvedGeneratedDir = (0, pathHelpers_1.resolveHelper)(process.cwd(), generatedDir || '');
|
|
138
|
+
resolvedPreviewDir = (0, pathHelpers_1.resolveHelper)(process.cwd(), previewDir || '');
|
|
139
|
+
const resolvedDiffDir = (0, pathHelpers_1.resolveHelper)(process.cwd(), diffDir || '');
|
|
64
140
|
// 1. Проверка директории со сгенерированным кодом
|
|
65
141
|
if (await (0, isDirectoryEmpty_1.isDirectoryEmpty)(resolvedGeneratedDir)) {
|
|
66
142
|
Consts_1.APP_LOGGER.info(`Directory "${generatedDir}" is empty or does not exist. Nothing to compare.`);
|
|
67
|
-
|
|
143
|
+
return;
|
|
68
144
|
}
|
|
69
|
-
// 2.
|
|
70
|
-
await fileSystemHelpers_1.fileSystemHelpers.mkdir(resolvedPreviewDir);
|
|
71
|
-
previewDirCreated = true;
|
|
72
|
-
// 3. Загрузка конфигурации
|
|
145
|
+
// 2. Загрузка конфигурации
|
|
73
146
|
const configData = (0, loadConfigIfExists_1.loadConfigIfExists)(openapiConfig);
|
|
74
147
|
if (!configData) {
|
|
75
|
-
|
|
76
|
-
|
|
148
|
+
throw new Error('The configuration file is missing');
|
|
149
|
+
}
|
|
150
|
+
if (Array.isArray(configData)) {
|
|
151
|
+
Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.ARRAY_DEPRECATED);
|
|
77
152
|
}
|
|
78
153
|
const preparedOptions = (0, convertArrayToObject_1.convertArrayToObject)(configData);
|
|
79
154
|
// Миграция опций
|
|
@@ -84,12 +159,15 @@ async function previewChanges(options) {
|
|
|
84
159
|
migrationMode: Enums_1.EMigrationMode.GENERATE_OPENAPI,
|
|
85
160
|
});
|
|
86
161
|
if (!migratedOptions) {
|
|
87
|
-
|
|
88
|
-
process.exit(1);
|
|
162
|
+
throw new Error("Couldn't convert the set of options to the current version");
|
|
89
163
|
}
|
|
164
|
+
// 3. Подготовка и создание временной директории preview
|
|
165
|
+
await fileSystemHelpers_1.fileSystemHelpers.rmdir(resolvedPreviewDir);
|
|
166
|
+
await fileSystemHelpers_1.fileSystemHelpers.mkdir(resolvedPreviewDir);
|
|
167
|
+
previewDirCreated = true;
|
|
90
168
|
// 4. Обновление путей output для генерации в preview директорию
|
|
91
169
|
const migratedValue = migratedOptions.value;
|
|
92
|
-
const previewOptions = (0, updateOutputPaths_1.updateOutputPaths)(migratedValue, previewDir, generatedDir);
|
|
170
|
+
const previewOptions = (0, updateOutputPaths_1.updateOutputPaths)(migratedValue, previewDir || '', generatedDir || '');
|
|
93
171
|
// 5. Генерация кода в preview директорию
|
|
94
172
|
Consts_1.APP_LOGGER.info(`Generating code to preview directory: ${previewDir}`);
|
|
95
173
|
await OpenAPI.generate(previewOptions);
|
|
@@ -97,13 +175,15 @@ async function previewChanges(options) {
|
|
|
97
175
|
Consts_1.APP_LOGGER.info('Comparing files...');
|
|
98
176
|
const oldFiles = await (0, readDirectoryRecursive_1.readDirectoryRecursive)(resolvedGeneratedDir);
|
|
99
177
|
const newFiles = await (0, readDirectoryRecursive_1.readDirectoryRecursive)(resolvedPreviewDir);
|
|
100
|
-
const
|
|
178
|
+
const oldFileSet = new Set(oldFiles);
|
|
179
|
+
const newFileSet = new Set(newFiles);
|
|
180
|
+
const allFiles = new Set([...oldFileSet, ...newFileSet]);
|
|
101
181
|
const changes = [];
|
|
102
|
-
for (const file of allFiles) {
|
|
182
|
+
for (const file of [...allFiles].sort()) {
|
|
103
183
|
const oldPath = (0, pathHelpers_1.joinHelper)(resolvedGeneratedDir, file);
|
|
104
184
|
const newPath = (0, pathHelpers_1.joinHelper)(resolvedPreviewDir, file);
|
|
105
|
-
const oldExists =
|
|
106
|
-
const newExists =
|
|
185
|
+
const oldExists = oldFileSet.has(file);
|
|
186
|
+
const newExists = newFileSet.has(file);
|
|
107
187
|
if (oldExists && newExists) {
|
|
108
188
|
// Файл существует в обеих директориях - сравниваем
|
|
109
189
|
const fileDiff = await (0, compareFiles_1.compareFiles)(oldPath, newPath);
|
|
@@ -135,6 +215,7 @@ async function previewChanges(options) {
|
|
|
135
215
|
}
|
|
136
216
|
// 7. Сохранение результатов в diff директорию
|
|
137
217
|
if (changes.length > 0) {
|
|
218
|
+
await fileSystemHelpers_1.fileSystemHelpers.rmdir(resolvedDiffDir);
|
|
138
219
|
await fileSystemHelpers_1.fileSystemHelpers.mkdir(resolvedDiffDir);
|
|
139
220
|
for (const change of changes) {
|
|
140
221
|
const diffFilePath = (0, pathHelpers_1.joinHelper)(resolvedDiffDir, `${change.file}.md`);
|
|
@@ -153,30 +234,40 @@ async function previewChanges(options) {
|
|
|
153
234
|
await fileSystemHelpers_1.fileSystemHelpers.writeFile(diffFilePath, diffContent, 'utf-8');
|
|
154
235
|
Consts_1.APP_LOGGER.info(`Diff saved: ${diffFilePath}`);
|
|
155
236
|
}
|
|
237
|
+
const summary = buildSummary(changes);
|
|
238
|
+
await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.joinHelper)(resolvedDiffDir, 'added-files.md'), toCategoryMarkdown('Added Files', summary.added), 'utf-8');
|
|
239
|
+
await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.joinHelper)(resolvedDiffDir, 'removed-files.md'), toCategoryMarkdown('Removed Files', summary.removed), 'utf-8');
|
|
240
|
+
await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.joinHelper)(resolvedDiffDir, 'modified-files.md'), toCategoryMarkdown('Modified Files', summary.modified), 'utf-8');
|
|
241
|
+
await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.joinHelper)(resolvedDiffDir, 'summary.json'), JSON.stringify(summary, null, 2), 'utf-8');
|
|
242
|
+
await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.joinHelper)(resolvedDiffDir, 'summary.md'), toSummaryMarkdown(summary), 'utf-8');
|
|
156
243
|
Consts_1.APP_LOGGER.info(`\nTotal changes: ${changes.length}`);
|
|
157
244
|
Consts_1.APP_LOGGER.info(`Diff files saved to: ${diffDir}`);
|
|
158
245
|
}
|
|
159
246
|
else {
|
|
247
|
+
await fileSystemHelpers_1.fileSystemHelpers.rmdir(resolvedDiffDir);
|
|
160
248
|
Consts_1.APP_LOGGER.info('No changes detected. All files are identical.');
|
|
161
249
|
}
|
|
162
|
-
// 8. Удаление временной директории preview
|
|
163
|
-
Consts_1.APP_LOGGER.info(`Cleaning up preview directory: ${previewDir}`);
|
|
164
|
-
await fileSystemHelpers_1.fileSystemHelpers.rmdir(resolvedPreviewDir);
|
|
165
|
-
previewDirCreated = false;
|
|
166
|
-
process.exit(0);
|
|
167
250
|
}
|
|
168
251
|
catch (error) {
|
|
169
|
-
|
|
170
|
-
|
|
252
|
+
exitCode = 1;
|
|
253
|
+
Consts_1.APP_LOGGER.error(error.message);
|
|
254
|
+
}
|
|
255
|
+
finally {
|
|
256
|
+
if (previewDirCreated || resolvedPreviewDir) {
|
|
171
257
|
try {
|
|
172
|
-
|
|
173
|
-
|
|
258
|
+
if (resolvedPreviewDir) {
|
|
259
|
+
Consts_1.APP_LOGGER.info(`Cleaning up preview directory: ${resolvedPreviewDir}`);
|
|
260
|
+
await fileSystemHelpers_1.fileSystemHelpers.rmdir(resolvedPreviewDir);
|
|
261
|
+
}
|
|
174
262
|
}
|
|
175
263
|
catch (cleanupError) {
|
|
176
264
|
Consts_1.APP_LOGGER.error(`Failed to cleanup preview directory: ${cleanupError.message}`);
|
|
265
|
+
exitCode = 1;
|
|
177
266
|
}
|
|
178
267
|
}
|
|
179
|
-
|
|
268
|
+
}
|
|
269
|
+
if (exitCode !== 0) {
|
|
180
270
|
process.exit(1);
|
|
181
271
|
}
|
|
272
|
+
process.exit(0);
|
|
182
273
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"updateOutputPaths.d.ts","sourceRoot":"","sources":["../../../../src/cli/previewChanges/utils/updateOutputPaths.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"updateOutputPaths.d.ts","sourceRoot":"","sources":["../../../../src/cli/previewChanges/utils/updateOutputPaths.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAG1D;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC7B,OAAO,EAAE,WAAW,EACpB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,GACrB,WAAW,CA6Ib"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.updateOutputPaths = updateOutputPaths;
|
|
4
|
+
const path_1 = require("path");
|
|
4
5
|
const pathHelpers_1 = require("../../../common/utils/pathHelpers");
|
|
5
6
|
/**
|
|
6
7
|
* Обновляет пути output в опциях для генерации в preview директорию
|
|
@@ -23,6 +24,11 @@ function updateOutputPaths(options, previewDir, generatedDir) {
|
|
|
23
24
|
if (relativePath.startsWith('./')) {
|
|
24
25
|
relativePath = relativePath.substring(2);
|
|
25
26
|
}
|
|
27
|
+
// Если путь выходит за пределы generatedDir, используем basename для безопасного переноса
|
|
28
|
+
if (relativePath.startsWith('../')) {
|
|
29
|
+
const outputBaseName = (0, path_1.basename)(resolvedOldPath);
|
|
30
|
+
return (0, pathHelpers_1.joinHelper)(previewDir, outputBaseName);
|
|
31
|
+
}
|
|
26
32
|
// Если путь пустой или равен текущей директории, возвращаем previewDir
|
|
27
33
|
if (!relativePath || relativePath === '' || relativePath === './') {
|
|
28
34
|
return previewDir;
|
|
@@ -1,11 +1,16 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import { ELogLevel, ELogOutput } from '../../common/Enums';
|
|
3
3
|
import { HttpClient } from '../../core/types/enums/HttpClient.enum';
|
|
4
|
+
/**
|
|
5
|
+
* Преобразует пустые строки в undefined для опциональных полей
|
|
6
|
+
* Это нужно, потому что Commander.js передает пустые строки для опций без значений
|
|
7
|
+
*/
|
|
8
|
+
export declare const emptyStringToUndefined: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
4
9
|
/**
|
|
5
10
|
* Базовая схема с общими опциями для всех команд
|
|
6
11
|
*/
|
|
7
12
|
export declare const baseCLIOptionsSchema: z.ZodObject<{
|
|
8
|
-
openapiConfig: z.
|
|
13
|
+
openapiConfig: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
9
14
|
}, z.core.$strip>;
|
|
10
15
|
export type BaseCLIOptions = z.infer<typeof baseCLIOptionsSchema>;
|
|
11
16
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/cli/schemas/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/cli/schemas/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,yEAAoF,CAAC;AAExH;;GAEG;AACH,eAAO,MAAM,oBAAoB;;iBAE/B,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAElE;;GAEG;AACH,eAAO,MAAM,gBAAgB,8BAAqB,CAAC;AACnD,eAAO,MAAM,cAAc,6BAAoB,CAAC;AAChD,eAAO,MAAM,eAAe,8BAAqB,CAAC"}
|
package/dist/cli/schemas/base.js
CHANGED
|
@@ -1,19 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.logTargetSchema = exports.logLevelSchema = exports.httpClientSchema = exports.baseCLIOptionsSchema = void 0;
|
|
3
|
+
exports.logTargetSchema = exports.logLevelSchema = exports.httpClientSchema = exports.baseCLIOptionsSchema = exports.emptyStringToUndefined = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
-
const Consts_1 = require("../../common/Consts");
|
|
6
5
|
const Enums_1 = require("../../common/Enums");
|
|
7
6
|
const HttpClient_enum_1 = require("../../core/types/enums/HttpClient.enum");
|
|
7
|
+
/**
|
|
8
|
+
* Преобразует пустые строки в undefined для опциональных полей
|
|
9
|
+
* Это нужно, потому что Commander.js передает пустые строки для опций без значений
|
|
10
|
+
*/
|
|
11
|
+
exports.emptyStringToUndefined = zod_1.z.preprocess(val => (val === '' ? undefined : val), zod_1.z.string().min(1).optional());
|
|
8
12
|
/**
|
|
9
13
|
* Базовая схема с общими опциями для всех команд
|
|
10
14
|
*/
|
|
11
15
|
exports.baseCLIOptionsSchema = zod_1.z.object({
|
|
12
|
-
openapiConfig:
|
|
16
|
+
openapiConfig: exports.emptyStringToUndefined,
|
|
13
17
|
});
|
|
14
18
|
/**
|
|
15
19
|
* Enum схемы для типизированных значений
|
|
16
20
|
*/
|
|
17
|
-
exports.httpClientSchema = zod_1.z.
|
|
18
|
-
exports.logLevelSchema = zod_1.z.
|
|
19
|
-
exports.logTargetSchema = zod_1.z.
|
|
21
|
+
exports.httpClientSchema = zod_1.z.enum(HttpClient_enum_1.HttpClient);
|
|
22
|
+
exports.logLevelSchema = zod_1.z.enum(Enums_1.ELogLevel);
|
|
23
|
+
exports.logTargetSchema = zod_1.z.enum(Enums_1.ELogOutput);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const checkConfigOptionsSchema: z.ZodObject<{
|
|
3
|
-
openapiConfig: z.
|
|
3
|
+
openapiConfig: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
4
4
|
}, z.core.$strip>;
|
|
5
5
|
export type CheckConfigOptions = z.infer<typeof checkConfigOptionsSchema>;
|
|
6
6
|
//# sourceMappingURL=checkConfig.d.ts.map
|
|
@@ -1,32 +1,8 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
/**
|
|
3
|
-
* Схема для команды generate
|
|
4
|
-
* Основана на baseFlatOptionsSchema, но с добавлением:
|
|
5
|
-
* - openapiConfig (из baseCLIOptionsSchema)
|
|
6
|
-
* - опциональными input/output (валидируются условно)
|
|
7
|
-
*/
|
|
8
2
|
export declare const generateOptionsSchema: z.ZodObject<{
|
|
9
|
-
openapiConfig: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
10
|
-
outputCore: z.ZodOptional<z.ZodString>;
|
|
11
|
-
outputServices: z.ZodOptional<z.ZodString>;
|
|
12
|
-
outputModels: z.ZodOptional<z.ZodString>;
|
|
13
|
-
outputSchemas: z.ZodOptional<z.ZodString>;
|
|
14
|
-
interfacePrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
15
|
-
enumPrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
16
|
-
typePrefix: z.ZodDefault<z.ZodOptional<z.ZodString>>;
|
|
17
|
-
httpClient: z.ZodOptional<z.ZodEnum<typeof import("../..").HttpClient>>;
|
|
18
|
-
useOptions: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
19
|
-
useUnionTypes: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
20
|
-
excludeCoreServiceFiles: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
21
|
-
request: z.ZodOptional<z.ZodString>;
|
|
22
|
-
useCancelableRequest: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
23
|
-
logLevel: z.ZodOptional<z.ZodEnum<typeof import("../../common/Enums").ELogLevel>>;
|
|
24
|
-
logTarget: z.ZodOptional<z.ZodEnum<typeof import("../../common/Enums").ELogOutput>>;
|
|
25
|
-
sortByRequired: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
26
|
-
useSeparatedIndexes: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
|
|
27
|
-
validationLibrary: z.ZodOptional<z.ZodEnum<typeof import("../../core/types/enums/ValidationLibrary.enum").ValidationLibrary>>;
|
|
28
3
|
input: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
29
4
|
output: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
5
|
+
openapiConfig: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
30
6
|
}, z.core.$strip>;
|
|
31
7
|
export type GenerateOptions = z.infer<typeof generateOptionsSchema>;
|
|
32
8
|
//# sourceMappingURL=generate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/schemas/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"generate.d.ts","sourceRoot":"","sources":["../../../src/cli/schemas/generate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,qBAAqB;;;;iBA2C5B,CAAC;AAEP,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}
|
|
@@ -2,52 +2,41 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.generateOptionsSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
-
const Consts_1 = require("../../common/Consts");
|
|
6
|
-
const configSchemas_1 = require("../../common/schemas/configSchemas");
|
|
7
|
-
const loadConfigIfExists_1 = require("../../common/utils/loadConfigIfExists");
|
|
8
5
|
const base_1 = require("./base");
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* Схема для команды generate
|
|
16
|
-
* Основана на baseFlatOptionsSchema, но с добавлением:
|
|
17
|
-
* - openapiConfig (из baseCLIOptionsSchema)
|
|
18
|
-
* - опциональными input/output (валидируются условно)
|
|
19
|
-
*/
|
|
20
|
-
exports.generateOptionsSchema = base_1.baseCLIOptionsSchema
|
|
21
|
-
.merge(configSchemas_1.baseFlatOptionsSchema)
|
|
22
|
-
.extend({
|
|
23
|
-
input: emptyStringToUndefined,
|
|
24
|
-
output: emptyStringToUndefined,
|
|
6
|
+
exports.generateOptionsSchema = zod_1.z
|
|
7
|
+
.object({
|
|
8
|
+
...base_1.baseCLIOptionsSchema.shape,
|
|
9
|
+
input: base_1.emptyStringToUndefined,
|
|
10
|
+
output: base_1.emptyStringToUndefined,
|
|
25
11
|
})
|
|
26
12
|
.superRefine((data, ctx) => {
|
|
27
|
-
|
|
28
|
-
|
|
13
|
+
const hasInput = !!data.input;
|
|
14
|
+
const hasCongigPath = !!data.openapiConfig;
|
|
15
|
+
if (hasInput && hasCongigPath) {
|
|
29
16
|
ctx.addIssue({
|
|
30
|
-
code:
|
|
31
|
-
message: '
|
|
32
|
-
path: ['
|
|
17
|
+
code: 'custom',
|
|
18
|
+
message: 'Use either openapiConfig or input/output, but not both options.',
|
|
19
|
+
path: ['openapiConfig'],
|
|
33
20
|
});
|
|
34
21
|
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
22
|
+
if (!hasInput && !hasCongigPath) {
|
|
23
|
+
ctx.addIssue({
|
|
24
|
+
code: 'custom',
|
|
25
|
+
message: 'You must specify either openapiConfig or input/output',
|
|
26
|
+
path: ['input'],
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
if (hasInput && !hasCongigPath) {
|
|
41
30
|
if (!data.input || data.input.trim() === '') {
|
|
42
31
|
ctx.addIssue({
|
|
43
|
-
code:
|
|
32
|
+
code: 'custom',
|
|
44
33
|
message: '"--input" is required when no valid config file is provided',
|
|
45
34
|
path: ['input'],
|
|
46
35
|
});
|
|
47
36
|
}
|
|
48
37
|
if (!data.output || data.output.trim() === '') {
|
|
49
38
|
ctx.addIssue({
|
|
50
|
-
code:
|
|
39
|
+
code: 'custom',
|
|
51
40
|
message: '"--output" is required when no valid config file is provided',
|
|
52
41
|
path: ['output'],
|
|
53
42
|
});
|
|
@@ -2,6 +2,7 @@ export * from './base';
|
|
|
2
2
|
export * from './checkConfig';
|
|
3
3
|
export * from './generate';
|
|
4
4
|
export * from './init';
|
|
5
|
+
export * from './previewChanges';
|
|
5
6
|
export * from './updateConfig';
|
|
6
|
-
export type CLIOptions = import('./generate').GenerateOptions | import('./checkConfig').CheckConfigOptions | import('./updateConfig').UpdateConfigOptions | import('./init').InitOptions;
|
|
7
|
+
export type CLIOptions = import('./generate').GenerateOptions | import('./checkConfig').CheckConfigOptions | import('./updateConfig').UpdateConfigOptions | import('./init').InitOptions | import('./previewChanges').TPreviewChangesOptions;
|
|
7
8
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAG/B,MAAM,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/cli/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAG/B,MAAM,MAAM,UAAU,GAChB,OAAO,YAAY,EAAE,eAAe,GACpC,OAAO,eAAe,EAAE,kBAAkB,GAC1C,OAAO,gBAAgB,EAAE,mBAAmB,GAC5C,OAAO,QAAQ,EAAE,WAAW,GAC5B,OAAO,kBAAkB,EAAE,sBAAsB,CAAC"}
|
|
@@ -18,4 +18,5 @@ __exportStar(require("./base"), exports);
|
|
|
18
18
|
__exportStar(require("./checkConfig"), exports);
|
|
19
19
|
__exportStar(require("./generate"), exports);
|
|
20
20
|
__exportStar(require("./init"), exports);
|
|
21
|
+
__exportStar(require("./previewChanges"), exports);
|
|
21
22
|
__exportStar(require("./updateConfig"), exports);
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
export declare const initOptionsSchema: z.ZodObject<{
|
|
3
|
-
openapiConfig: z.
|
|
4
|
-
specsDir: z.
|
|
5
|
-
request: z.
|
|
6
|
-
useCancelableRequest: z.
|
|
7
|
-
useInteractiveMode: z.
|
|
3
|
+
openapiConfig: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
4
|
+
specsDir: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
5
|
+
request: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
|
|
6
|
+
useCancelableRequest: z.ZodOptional<z.ZodBoolean>;
|
|
7
|
+
useInteractiveMode: z.ZodOptional<z.ZodBoolean>;
|
|
8
8
|
}, z.core.$strip>;
|
|
9
9
|
export type InitOptions = z.infer<typeof initOptionsSchema>;
|
|
10
10
|
//# sourceMappingURL=init.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/schemas/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/schemas/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,iBAAiB;;;;;;iBAK5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|