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.
Files changed (370) hide show
  1. package/README.md +88 -18
  2. package/README.rus.md +88 -21
  3. package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts +2 -1
  4. package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts.map +1 -1
  5. package/dist/cli/checkAndUpdateConfig/checkConfig.js +14 -6
  6. package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts +2 -1
  7. package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts.map +1 -1
  8. package/dist/cli/checkAndUpdateConfig/updateConfig.js +13 -5
  9. package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.d.ts.map +1 -1
  10. package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.js +5 -0
  11. package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts.map +1 -1
  12. package/dist/cli/generateOpenApiClient/generateOpenApiClient.js +24 -13
  13. package/dist/cli/index.js +10 -8
  14. package/dist/cli/initOpenApiConfig/init.d.ts.map +1 -1
  15. package/dist/cli/initOpenApiConfig/init.js +5 -13
  16. package/dist/cli/initOpenApiConfig/initConfig.js +3 -3
  17. package/dist/cli/previewChanges/previewChanges.d.ts.map +1 -1
  18. package/dist/cli/previewChanges/previewChanges.js +119 -28
  19. package/dist/cli/previewChanges/utils/updateOutputPaths.d.ts.map +1 -1
  20. package/dist/cli/previewChanges/utils/updateOutputPaths.js +6 -0
  21. package/dist/cli/schemas/base.d.ts +6 -1
  22. package/dist/cli/schemas/base.d.ts.map +1 -1
  23. package/dist/cli/schemas/base.js +10 -6
  24. package/dist/cli/schemas/checkConfig.d.ts +1 -1
  25. package/dist/cli/schemas/generate.d.ts +1 -25
  26. package/dist/cli/schemas/generate.d.ts.map +1 -1
  27. package/dist/cli/schemas/generate.js +21 -32
  28. package/dist/cli/schemas/index.d.ts +2 -1
  29. package/dist/cli/schemas/index.d.ts.map +1 -1
  30. package/dist/cli/schemas/index.js +1 -0
  31. package/dist/cli/schemas/init.d.ts +5 -5
  32. package/dist/cli/schemas/init.d.ts.map +1 -1
  33. package/dist/cli/schemas/init.js +4 -5
  34. package/dist/cli/schemas/previewChanges.d.ts +9 -0
  35. package/dist/cli/schemas/previewChanges.d.ts.map +1 -0
  36. package/dist/cli/schemas/previewChanges.js +11 -0
  37. package/dist/cli/schemas/updateConfig.d.ts +1 -1
  38. package/dist/common/Consts.d.ts +2 -0
  39. package/dist/common/Consts.d.ts.map +1 -1
  40. package/dist/common/Consts.js +8 -2
  41. package/dist/common/LoggerMessages.d.ts +1 -0
  42. package/dist/common/LoggerMessages.d.ts.map +1 -1
  43. package/dist/common/LoggerMessages.js +2 -1
  44. package/dist/common/TRawOptions.d.ts +1 -1
  45. package/dist/common/TRawOptions.d.ts.map +1 -1
  46. package/dist/common/Validation/formatZodError.d.ts +10 -0
  47. package/dist/common/Validation/formatZodError.d.ts.map +1 -0
  48. package/dist/{cli/validation/errorFormatter.js → common/Validation/formatZodError.js} +14 -13
  49. package/dist/common/Validation/index.d.ts +3 -0
  50. package/dist/common/Validation/index.d.ts.map +1 -0
  51. package/dist/{cli/validation → common/Validation}/index.js +2 -2
  52. package/dist/{cli/validation/validateCLIOptions.d.ts → common/Validation/validateZodOptions.d.ts} +4 -4
  53. package/dist/common/Validation/validateZodOptions.d.ts.map +1 -0
  54. package/dist/{cli/validation/validateCLIOptions.js → common/Validation/validateZodOptions.js} +7 -10
  55. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts +1 -1
  56. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts.map +1 -1
  57. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.js +14 -4
  58. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.d.ts +6 -1
  59. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.d.ts.map +1 -1
  60. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.js +8 -14
  61. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts +28 -0
  62. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts.map +1 -0
  63. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.js +25 -0
  64. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts +36 -6
  65. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts.map +1 -1
  66. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.js +33 -37
  67. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts +37 -6
  68. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts.map +1 -1
  69. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.js +30 -37
  70. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts +40 -0
  71. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts.map +1 -0
  72. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.js +36 -0
  73. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts +42 -0
  74. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts.map +1 -0
  75. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.js +38 -0
  76. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts +192 -0
  77. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts.map +1 -0
  78. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.js +27 -0
  79. package/dist/common/VersionedSchema/CommonSchemas.d.ts +61 -30
  80. package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
  81. package/dist/common/VersionedSchema/CommonSchemas.js +56 -73
  82. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts +25 -5
  83. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts.map +1 -1
  84. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.js +34 -17
  85. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts +25 -5
  86. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts.map +1 -1
  87. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.js +28 -19
  88. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts +25 -1
  89. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -1
  90. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.js +29 -2
  91. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts +25 -5
  92. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts.map +1 -1
  93. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.js +30 -14
  94. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts +23 -5
  95. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -1
  96. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.js +33 -18
  97. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts +3 -2
  98. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts.map +1 -1
  99. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.js +18 -11
  100. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts +22 -5
  101. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts.map +1 -1
  102. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.js +30 -12
  103. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts +22 -5
  104. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts.map +1 -1
  105. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.js +27 -13
  106. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts +22 -1
  107. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts.map +1 -1
  108. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.js +28 -2
  109. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +22 -5
  110. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts.map +1 -1
  111. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.js +31 -12
  112. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts +3 -2
  113. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts.map +1 -1
  114. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.js +15 -9
  115. package/dist/common/VersionedSchema/Types.d.ts +5 -5
  116. package/dist/common/VersionedSchema/Types.d.ts.map +1 -1
  117. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts +16 -0
  118. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts.map +1 -0
  119. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.js +104 -0
  120. package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.d.ts +2 -0
  121. package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.d.ts.map +1 -0
  122. package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.js +185 -0
  123. package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.d.ts +2 -0
  124. package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.d.ts.map +1 -0
  125. package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.js +40 -0
  126. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.d.ts +2 -0
  127. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.d.ts.map +1 -0
  128. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.js +93 -0
  129. package/dist/common/VersionedSchema/Utils/buildVersionedSchema.d.ts +12 -0
  130. package/dist/common/VersionedSchema/Utils/buildVersionedSchema.d.ts.map +1 -0
  131. package/dist/common/VersionedSchema/Utils/buildVersionedSchema.js +13 -0
  132. package/dist/common/VersionedSchema/Utils/compareShapes.d.ts +16 -0
  133. package/dist/common/VersionedSchema/Utils/compareShapes.d.ts.map +1 -0
  134. package/dist/common/VersionedSchema/Utils/compareShapes.js +30 -0
  135. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts +6 -1
  136. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts.map +1 -1
  137. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.js +70 -25
  138. package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.d.ts +2 -2
  139. package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.d.ts.map +1 -1
  140. package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.js +15 -7
  141. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.d.ts +3 -3
  142. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.d.ts.map +1 -1
  143. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.js +17 -4
  144. package/dist/common/VersionedSchema/Utils/getUniqueObjectKeys.d.ts.map +1 -1
  145. package/dist/common/VersionedSchema/Utils/getUniqueObjectKeys.js +19 -2
  146. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts +12 -1
  147. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
  148. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +41 -22
  149. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts +4 -0
  150. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts.map +1 -0
  151. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.js +43 -0
  152. package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.d.ts +4 -0
  153. package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.d.ts.map +1 -0
  154. package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.js +21 -0
  155. package/dist/common/utils/__tests__/convertArrayToObject.test.js +64 -169
  156. package/dist/common/utils/convertArrayToObject.d.ts.map +1 -1
  157. package/dist/common/utils/convertArrayToObject.js +51 -14
  158. package/dist/core/Context.d.ts +6 -5
  159. package/dist/core/Context.d.ts.map +1 -1
  160. package/dist/core/Context.js +69 -26
  161. package/dist/core/OpenApiClient.d.ts.map +1 -1
  162. package/dist/core/OpenApiClient.js +24 -9
  163. package/dist/core/WriteClient.d.ts +8 -1
  164. package/dist/core/WriteClient.d.ts.map +1 -1
  165. package/dist/core/WriteClient.js +48 -7
  166. package/dist/core/__tests__/WriteClient.test.js +2 -0
  167. package/dist/core/api/v2/Parser.d.ts +1 -1
  168. package/dist/core/api/v2/Parser.d.ts.map +1 -1
  169. package/dist/core/api/v2/Parser.js +2 -2
  170. package/dist/core/api/v2/parser/getModel.d.ts.map +1 -1
  171. package/dist/core/api/v2/parser/getModel.js +2 -5
  172. package/dist/core/api/v2/parser/getModelProperties.d.ts.map +1 -1
  173. package/dist/core/api/v2/parser/getModelProperties.js +1 -3
  174. package/dist/core/api/v2/parser/getModels.d.ts.map +1 -1
  175. package/dist/core/api/v2/parser/getModels.js +1 -2
  176. package/dist/core/api/v2/parser/getOperationParameter.d.ts.map +1 -1
  177. package/dist/core/api/v2/parser/getOperationParameter.js +2 -5
  178. package/dist/core/api/v2/parser/getOperationParameters.js +1 -1
  179. package/dist/core/api/v2/parser/getOperationResponse.d.ts.map +1 -1
  180. package/dist/core/api/v2/parser/getOperationResponse.js +1 -3
  181. package/dist/core/api/v2/parser/getOperationResponses.js +1 -1
  182. package/dist/core/api/v2/parser/getServices.d.ts.map +1 -1
  183. package/dist/core/api/v2/parser/getServices.js +4 -3
  184. package/dist/core/api/v2/parser/getType.d.ts.map +1 -1
  185. package/dist/core/api/v2/parser/getType.js +4 -3
  186. package/dist/core/api/v3/Parser.d.ts +1 -1
  187. package/dist/core/api/v3/Parser.d.ts.map +1 -1
  188. package/dist/core/api/v3/Parser.js +2 -2
  189. package/dist/core/api/v3/parser/getModel.d.ts.map +1 -1
  190. package/dist/core/api/v3/parser/getModel.js +2 -5
  191. package/dist/core/api/v3/parser/getModelProperties.d.ts.map +1 -1
  192. package/dist/core/api/v3/parser/getModelProperties.js +1 -3
  193. package/dist/core/api/v3/parser/getModels.d.ts.map +1 -1
  194. package/dist/core/api/v3/parser/getModels.js +1 -2
  195. package/dist/core/api/v3/parser/getOperation.js +1 -1
  196. package/dist/core/api/v3/parser/getOperationParameter.d.ts.map +1 -1
  197. package/dist/core/api/v3/parser/getOperationParameter.js +2 -5
  198. package/dist/core/api/v3/parser/getOperationParameters.js +1 -1
  199. package/dist/core/api/v3/parser/getOperationRequestBody.d.ts.map +1 -1
  200. package/dist/core/api/v3/parser/getOperationRequestBody.js +1 -3
  201. package/dist/core/api/v3/parser/getOperationResponse.d.ts.map +1 -1
  202. package/dist/core/api/v3/parser/getOperationResponse.js +1 -3
  203. package/dist/core/api/v3/parser/getOperationResponses.js +1 -1
  204. package/dist/core/api/v3/parser/getServices.d.ts.map +1 -1
  205. package/dist/core/api/v3/parser/getServices.js +4 -3
  206. package/dist/core/api/v3/parser/getType.d.ts.map +1 -1
  207. package/dist/core/api/v3/parser/getType.js +4 -3
  208. package/dist/core/index.d.ts.map +1 -1
  209. package/dist/core/index.js +2 -0
  210. package/dist/core/types/base/Templates.model.d.ts +1 -1
  211. package/dist/core/types/base/Templates.model.d.ts.map +1 -1
  212. package/dist/core/types/enums/EmptySchemaStrategy.enum.d.ts +6 -0
  213. package/dist/core/types/enums/EmptySchemaStrategy.enum.d.ts.map +1 -0
  214. package/dist/core/types/enums/EmptySchemaStrategy.enum.js +9 -0
  215. package/dist/core/utils/__tests__/getRelativeModelPath.test.js +9 -3
  216. package/dist/core/utils/__tests__/isSubdirectory.test.js +2 -2
  217. package/dist/core/utils/__tests__/modelHelpers.test.d.ts +2 -0
  218. package/dist/core/utils/__tests__/modelHelpers.test.d.ts.map +1 -0
  219. package/dist/core/utils/__tests__/modelHelpers.test.js +151 -0
  220. package/dist/core/utils/__tests__/postProcessModelImports.test.d.ts +2 -0
  221. package/dist/core/utils/__tests__/postProcessModelImports.test.d.ts.map +1 -0
  222. package/dist/core/utils/__tests__/postProcessModelImports.test.js +67 -0
  223. package/dist/core/utils/__tests__/postProcessServiceImports.test.d.ts +2 -0
  224. package/dist/core/utils/__tests__/postProcessServiceImports.test.d.ts.map +1 -0
  225. package/dist/core/utils/__tests__/postProcessServiceImports.test.js +26 -0
  226. package/dist/core/utils/__tests__/resolveRefPath.test.d.ts +2 -0
  227. package/dist/core/utils/__tests__/resolveRefPath.test.d.ts.map +1 -0
  228. package/dist/core/utils/__tests__/resolveRefPath.test.js +22 -0
  229. package/dist/core/utils/__tests__/serviceHelpers.test.d.ts +2 -0
  230. package/dist/core/utils/__tests__/serviceHelpers.test.d.ts.map +1 -0
  231. package/dist/core/utils/__tests__/serviceHelpers.test.js +121 -0
  232. package/dist/core/utils/__tests__/writeClientExecutor.test.d.ts +2 -0
  233. package/dist/core/utils/__tests__/writeClientExecutor.test.d.ts.map +1 -0
  234. package/dist/core/utils/__tests__/writeClientExecutor.test.js +20 -0
  235. package/dist/core/utils/__tests__/writeClientSchemas.test.js +2 -0
  236. package/dist/core/utils/getOpenApiSpec.d.ts.map +1 -1
  237. package/dist/core/utils/getOpenApiSpec.js +14 -1
  238. package/dist/core/utils/modelHelpers.d.ts.map +1 -1
  239. package/dist/core/utils/modelHelpers.js +37 -3
  240. package/dist/core/utils/postProcessModelImports.d.ts.map +1 -1
  241. package/dist/core/utils/postProcessModelImports.js +14 -1
  242. package/dist/core/utils/postProcessServiceImports.d.ts.map +1 -1
  243. package/dist/core/utils/postProcessServiceImports.js +1 -2
  244. package/dist/core/utils/precompileTemplates.js +1 -0
  245. package/dist/core/utils/registerHandlebarHelpers.d.ts.map +1 -1
  246. package/dist/core/utils/registerHandlebarHelpers.js +25 -0
  247. package/dist/core/utils/registerHandlebarTemplates.d.ts.map +1 -1
  248. package/dist/core/utils/registerHandlebarTemplates.js +42 -41
  249. package/dist/core/utils/resolveRefPath.d.ts.map +1 -1
  250. package/dist/core/utils/resolveRefPath.js +1 -4
  251. package/dist/core/utils/serviceHelpers.d.ts.map +1 -1
  252. package/dist/core/utils/serviceHelpers.js +32 -6
  253. package/dist/core/utils/validateRawOptions.d.ts +3 -0
  254. package/dist/core/utils/validateRawOptions.d.ts.map +1 -0
  255. package/dist/core/utils/validateRawOptions.js +15 -0
  256. package/dist/core/utils/writeClientExecutor.d.ts +4 -1
  257. package/dist/core/utils/writeClientExecutor.d.ts.map +1 -1
  258. package/dist/core/utils/writeClientExecutor.js +17 -2
  259. package/dist/core/utils/writeClientSchemas.d.ts +4 -1
  260. package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
  261. package/dist/core/utils/writeClientSchemas.js +11 -2
  262. package/dist/templatesCompiled/client/core/ApiError.js +1 -1
  263. package/dist/templatesCompiled/client/core/ApiResult.js +1 -1
  264. package/dist/templatesCompiled/client/core/axios/request.js +3 -3
  265. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts +2 -0
  266. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts.map +1 -1
  267. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.js +13 -8
  268. package/dist/templatesCompiled/client/core/executor/requestExecutor.js +1 -1
  269. package/dist/templatesCompiled/client/core/fetch/request.js +3 -3
  270. package/dist/templatesCompiled/client/core/functions/catchErrors.js +1 -1
  271. package/dist/templatesCompiled/client/core/interceptors/withInterceptors.js +1 -1
  272. package/dist/templatesCompiled/client/core/node/request.js +3 -3
  273. package/dist/templatesCompiled/client/core/xhr/request.js +3 -3
  274. package/dist/templatesCompiled/client/exportClient.d.ts +4 -0
  275. package/dist/templatesCompiled/client/exportClient.d.ts.map +1 -1
  276. package/dist/templatesCompiled/client/exportClient.js +51 -13
  277. package/dist/templatesCompiled/client/exportSchema.d.ts +5 -1
  278. package/dist/templatesCompiled/client/exportSchema.d.ts.map +1 -1
  279. package/dist/templatesCompiled/client/exportSchema.js +37 -7
  280. package/dist/templatesCompiled/client/exportService.d.ts +2 -0
  281. package/dist/templatesCompiled/client/exportService.d.ts.map +1 -1
  282. package/dist/templatesCompiled/client/exportService.js +71 -31
  283. package/dist/templatesCompiled/client/indexFull.d.ts +1 -0
  284. package/dist/templatesCompiled/client/indexFull.d.ts.map +1 -1
  285. package/dist/templatesCompiled/client/indexFull.js +4 -1
  286. package/dist/templatesCompiled/client/indexSimple.d.ts +1 -0
  287. package/dist/templatesCompiled/client/indexSimple.d.ts.map +1 -1
  288. package/dist/templatesCompiled/client/indexSimple.js +4 -1
  289. package/dist/templatesCompiled/client/joi/exportSchema.js +5 -5
  290. package/dist/templatesCompiled/client/joi/partials/joiSchema.js +7 -7
  291. package/dist/templatesCompiled/client/joi/partials/joiSchemaComposition.js +4 -4
  292. package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.d.ts +5 -3
  293. package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.d.ts.map +1 -1
  294. package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.js +39 -12
  295. package/dist/templatesCompiled/client/jsonschema/exportSchema.js +5 -5
  296. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchema.js +7 -7
  297. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaArray.js +5 -5
  298. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaComposition.js +2 -2
  299. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaDictionary.js +5 -5
  300. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.d.ts +3 -1
  301. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.d.ts.map +1 -1
  302. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.js +45 -15
  303. package/dist/templatesCompiled/client/partials/exportComposition.d.ts +2 -0
  304. package/dist/templatesCompiled/client/partials/exportComposition.d.ts.map +1 -1
  305. package/dist/templatesCompiled/client/partials/exportComposition.js +17 -9
  306. package/dist/templatesCompiled/client/yup/exportSchema.js +3 -3
  307. package/dist/templatesCompiled/client/yup/partials/yupSchema.js +7 -7
  308. package/dist/templatesCompiled/client/yup/partials/yupSchemaComposition.js +4 -4
  309. package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.d.ts +5 -3
  310. package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.d.ts.map +1 -1
  311. package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.js +39 -12
  312. package/dist/templatesCompiled/client/zod/exportSchema.js +3 -3
  313. package/dist/templatesCompiled/client/zod/partials/zodSchema.js +7 -7
  314. package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.d.ts +5 -6
  315. package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.d.ts.map +1 -1
  316. package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.js +14 -28
  317. package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.d.ts +3 -0
  318. package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.d.ts.map +1 -1
  319. package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.js +32 -8
  320. package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.d.ts +3 -4
  321. package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.d.ts.map +1 -1
  322. package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.js +9 -23
  323. package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.d.ts +4 -2
  324. package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.d.ts.map +1 -1
  325. package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.js +18 -7
  326. package/package.json +2 -2
  327. package/dist/cli/validation/errorFormatter.d.ts +0 -6
  328. package/dist/cli/validation/errorFormatter.d.ts.map +0 -1
  329. package/dist/cli/validation/index.d.ts +0 -3
  330. package/dist/cli/validation/index.d.ts.map +0 -1
  331. package/dist/cli/validation/validateCLIOptions.d.ts.map +0 -1
  332. package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.d.ts +0 -6
  333. package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.d.ts.map +0 -1
  334. package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.js +0 -7
  335. package/dist/common/VersionedSchema/Utils/joiHandlers.d.ts +0 -6
  336. package/dist/common/VersionedSchema/Utils/joiHandlers.d.ts.map +0 -1
  337. package/dist/common/VersionedSchema/Utils/joiHandlers.js +0 -59
  338. package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.d.ts +0 -3
  339. package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.d.ts.map +0 -1
  340. package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.js +0 -12
  341. package/dist/common/VersionedSchema/Utils/traverseObjectStructure.d.ts +0 -3
  342. package/dist/common/VersionedSchema/Utils/traverseObjectStructure.d.ts.map +0 -1
  343. package/dist/common/VersionedSchema/Utils/traverseObjectStructure.js +0 -31
  344. package/dist/common/defaultOptions.d.ts +0 -3
  345. package/dist/common/defaultOptions.d.ts.map +0 -1
  346. package/dist/common/defaultOptions.js +0 -28
  347. package/dist/common/schemas/configSchemas.d.ts +0 -91
  348. package/dist/common/schemas/configSchemas.d.ts.map +0 -1
  349. package/dist/common/schemas/configSchemas.js +0 -131
  350. package/dist/common/utils/__tests__/__mock__/mockJoiSchema.d.ts +0 -19
  351. package/dist/common/utils/__tests__/__mock__/mockJoiSchema.d.ts.map +0 -1
  352. package/dist/common/utils/__tests__/__mock__/mockJoiSchema.js +0 -14
  353. package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.d.ts +0 -2
  354. package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.d.ts.map +0 -1
  355. package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.js +0 -38
  356. package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.d.ts +0 -2
  357. package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.d.ts.map +0 -1
  358. package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.js +0 -20
  359. package/dist/common/utils/__tests__/mergeObjectSchemas.test.d.ts +0 -2
  360. package/dist/common/utils/__tests__/mergeObjectSchemas.test.d.ts.map +0 -1
  361. package/dist/common/utils/__tests__/mergeObjectSchemas.test.js +0 -35
  362. package/dist/common/utils/__tests__/migrationForMultiOptions.test.d.ts +0 -2
  363. package/dist/common/utils/__tests__/migrationForMultiOptions.test.d.ts.map +0 -1
  364. package/dist/common/utils/__tests__/migrationForMultiOptions.test.js +0 -112
  365. package/dist/common/utils/__tests__/migrationForOptions.test.d.ts +0 -2
  366. package/dist/common/utils/__tests__/migrationForOptions.test.d.ts.map +0 -1
  367. package/dist/common/utils/__tests__/migrationForOptions.test.js +0 -56
  368. package/dist/core/utils/advancedDeduplicatePath.d.ts +0 -5
  369. package/dist/core/utils/advancedDeduplicatePath.d.ts.map +0 -1
  370. 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.openapiConfig);
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.openapiConfig);
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")', './generated')
121
- .option('-pd, --preview-dir <value>', 'Temporary directory for preview generation (default: "generated-preview")', './generated-preview')
122
- .option('-dd, --diff-dir <value>', 'Directory to save diff files (default: "generated-diff")', './generated-diff')
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
- // TODO: Включить позже!
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,iBAmD/C"}
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
- let validatedOptions;
16
- try {
17
- // Валидация опций через Zod
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;AA0BzC;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA0IzE"}
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
- const { openapiConfig, generatedDir = 'generated', previewDir = 'generated-preview', diffDir = 'generated-diff' } = options;
59
- const resolvedGeneratedDir = (0, pathHelpers_1.resolveHelper)(process.cwd(), generatedDir);
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
- process.exit(0);
143
+ return;
68
144
  }
69
- // 2. Создание временной директории для preview
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
- Consts_1.APP_LOGGER.error('The configuration file is missing');
76
- process.exit(1);
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
- Consts_1.APP_LOGGER.error("Couldn't convert the set of options to the current version");
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 allFiles = new Set([...oldFiles, ...newFiles]);
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 = await fileSystemHelpers_1.fileSystemHelpers.exists(oldPath);
106
- const newExists = await fileSystemHelpers_1.fileSystemHelpers.exists(newPath);
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
- // Очистка preview директории в случае ошибки
170
- if (previewDirCreated) {
252
+ exitCode = 1;
253
+ Consts_1.APP_LOGGER.error(error.message);
254
+ }
255
+ finally {
256
+ if (previewDirCreated || resolvedPreviewDir) {
171
257
  try {
172
- Consts_1.APP_LOGGER.info(`Cleaning up preview directory after error: ${previewDir}`);
173
- await fileSystemHelpers_1.fileSystemHelpers.rmdir(resolvedPreviewDir);
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
- Consts_1.APP_LOGGER.error(error.message);
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":"AAAA,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,CAuIb"}
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.ZodDefault<z.ZodOptional<z.ZodString>>;
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;AAGxB,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC3D,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAEpE;;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,8BAA2B,CAAC;AACzD,eAAO,MAAM,cAAc,6BAA0B,CAAC;AACtD,eAAO,MAAM,eAAe,8BAA2B,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"}
@@ -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: zod_1.z.string().optional().default(Consts_1.DEFAULT_OPENAPI_CONFIG_FILENAME),
16
+ openapiConfig: exports.emptyStringToUndefined,
13
17
  });
14
18
  /**
15
19
  * Enum схемы для типизированных значений
16
20
  */
17
- exports.httpClientSchema = zod_1.z.nativeEnum(HttpClient_enum_1.HttpClient);
18
- exports.logLevelSchema = zod_1.z.nativeEnum(Enums_1.ELogLevel);
19
- exports.logTargetSchema = zod_1.z.nativeEnum(Enums_1.ELogOutput);
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.ZodDefault<z.ZodOptional<z.ZodString>>;
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;AAgBxB;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;;;;;;iBAwC5B,CAAC;AAEP,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,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
- * Преобразует пустые строки в undefined для опциональных полей
11
- * Это нужно, потому что Commander.js передает пустые строки для опций без значений
12
- */
13
- const emptyStringToUndefined = zod_1.z.preprocess((val) => (val === '' ? undefined : val), zod_1.z.string().min(1).optional());
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
- // Проверка: если excludeCoreServiceFiles === true, request не должен быть указан
28
- if (data.excludeCoreServiceFiles === true && data.request) {
13
+ const hasInput = !!data.input;
14
+ const hasCongigPath = !!data.openapiConfig;
15
+ if (hasInput && hasCongigPath) {
29
16
  ctx.addIssue({
30
- code: zod_1.z.ZodIssueCode.custom,
31
- message: '"--request" can only be used when "excludeCoreServiceFiles" is false',
32
- path: ['request'],
17
+ code: 'custom',
18
+ message: 'Use either openapiConfig or input/output, but not both options.',
19
+ path: ['openapiConfig'],
33
20
  });
34
21
  }
35
- // Проверка: input и output обязательны, если конфиг-файл не существует или пуст
36
- const configPath = data.openapiConfig || Consts_1.DEFAULT_OPENAPI_CONFIG_FILENAME;
37
- const configData = (0, loadConfigIfExists_1.loadConfigIfExists)(configPath);
38
- // Если конфиг не существует или пуст, требуем input и output
39
- const needsInputOutput = !configData || (Array.isArray(configData) && configData.length === 0) || (typeof configData === 'object' && Object.keys(configData).length === 0);
40
- if (needsInputOutput) {
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: zod_1.z.ZodIssueCode.custom,
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: zod_1.z.ZodIssueCode.custom,
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,GAAG,OAAO,YAAY,EAAE,eAAe,GAAG,OAAO,eAAe,EAAE,kBAAkB,GAAG,OAAO,gBAAgB,EAAE,mBAAmB,GAAG,OAAO,QAAQ,EAAE,WAAW,CAAC"}
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.ZodDefault<z.ZodOptional<z.ZodString>>;
4
- specsDir: z.ZodDefault<z.ZodOptional<z.ZodString>>;
5
- request: z.ZodDefault<z.ZodOptional<z.ZodString>>;
6
- useCancelableRequest: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
7
- useInteractiveMode: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
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;AAKxB,eAAO,MAAM,iBAAiB;;;;;;iBAK5B,CAAC;AAEH,MAAM,MAAM,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,iBAAiB,CAAC,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"}