ts-openapi-codegen 2.0.0-beta.0 → 2.0.0-beta.10

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 (595) hide show
  1. package/README.md +175 -55
  2. package/README.rus.md +175 -54
  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/{generate/runGenerateOpenApi.d.ts → generateOpenApiClient/generateOpenApiClient.d.ts} +2 -2
  10. package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts.map +1 -0
  11. package/dist/cli/{generate/runGenerateOpenApi.js → generateOpenApiClient/generateOpenApiClient.js} +31 -11
  12. package/dist/cli/index.js +29 -8
  13. package/dist/cli/initOpenApiConfig/Types.d.ts +4 -4
  14. package/dist/cli/initOpenApiConfig/Types.d.ts.map +1 -1
  15. package/dist/cli/initOpenApiConfig/init.d.ts +6 -0
  16. package/dist/cli/initOpenApiConfig/init.d.ts.map +1 -0
  17. package/dist/cli/initOpenApiConfig/init.js +53 -0
  18. package/dist/cli/initOpenApiConfig/initConfig.d.ts +11 -0
  19. package/dist/cli/initOpenApiConfig/initConfig.d.ts.map +1 -0
  20. package/dist/cli/initOpenApiConfig/initConfig.js +102 -0
  21. package/dist/cli/initOpenApiConfig/initCustomRequest.d.ts +3 -0
  22. package/dist/cli/initOpenApiConfig/initCustomRequest.d.ts.map +1 -0
  23. package/dist/cli/initOpenApiConfig/initCustomRequest.js +23 -0
  24. package/dist/cli/initOpenApiConfig/utils/buildConfig.d.ts +21 -0
  25. package/dist/cli/initOpenApiConfig/utils/buildConfig.d.ts.map +1 -0
  26. package/dist/cli/initOpenApiConfig/utils/buildConfig.js +107 -0
  27. package/dist/cli/initOpenApiConfig/utils/findSpecFiles.d.ts +8 -0
  28. package/dist/cli/initOpenApiConfig/utils/findSpecFiles.d.ts.map +1 -0
  29. package/dist/cli/initOpenApiConfig/utils/findSpecFiles.js +40 -0
  30. package/dist/cli/initOpenApiConfig/utils/registerHandlebarTemplates.d.ts +3 -0
  31. package/dist/cli/initOpenApiConfig/utils/registerHandlebarTemplates.d.ts.map +1 -0
  32. package/dist/cli/initOpenApiConfig/utils/registerHandlebarTemplates.js +53 -0
  33. package/dist/cli/initOpenApiConfig/utils/validateSpecFile.d.ts +7 -0
  34. package/dist/cli/initOpenApiConfig/utils/validateSpecFile.d.ts.map +1 -0
  35. package/dist/cli/initOpenApiConfig/utils/validateSpecFile.js +23 -0
  36. package/dist/cli/initOpenApiConfig/utils/validateSpecFiles.d.ts +11 -0
  37. package/dist/cli/initOpenApiConfig/utils/validateSpecFiles.d.ts.map +1 -0
  38. package/dist/cli/initOpenApiConfig/utils/validateSpecFiles.js +24 -0
  39. package/dist/cli/initOpenApiConfig/utils/writeConfigFile.d.ts +11 -0
  40. package/dist/cli/initOpenApiConfig/utils/writeConfigFile.d.ts.map +1 -0
  41. package/dist/cli/initOpenApiConfig/utils/writeConfigFile.js +31 -0
  42. package/dist/cli/previewChanges/previewChanges.d.ts +8 -0
  43. package/dist/cli/previewChanges/previewChanges.d.ts.map +1 -0
  44. package/dist/cli/previewChanges/previewChanges.js +189 -0
  45. package/dist/cli/previewChanges/utils/compareFiles.d.ts +6 -0
  46. package/dist/cli/previewChanges/utils/compareFiles.d.ts.map +1 -0
  47. package/dist/cli/previewChanges/utils/compareFiles.js +50 -0
  48. package/dist/cli/previewChanges/utils/formatDiff.d.ts +6 -0
  49. package/dist/cli/previewChanges/utils/formatDiff.d.ts.map +1 -0
  50. package/dist/cli/previewChanges/utils/formatDiff.js +30 -0
  51. package/dist/cli/previewChanges/utils/isDirectoryEmpty.d.ts +5 -0
  52. package/dist/cli/previewChanges/utils/isDirectoryEmpty.d.ts.map +1 -0
  53. package/dist/cli/previewChanges/utils/isDirectoryEmpty.js +17 -0
  54. package/dist/cli/previewChanges/utils/readDirectoryRecursive.d.ts +5 -0
  55. package/dist/cli/previewChanges/utils/readDirectoryRecursive.d.ts.map +1 -0
  56. package/dist/cli/previewChanges/utils/readDirectoryRecursive.js +28 -0
  57. package/dist/cli/previewChanges/utils/updateOutputPaths.d.ts +10 -0
  58. package/dist/cli/previewChanges/utils/updateOutputPaths.d.ts.map +1 -0
  59. package/dist/cli/previewChanges/utils/updateOutputPaths.js +106 -0
  60. package/dist/cli/schemas/base.d.ts +22 -0
  61. package/dist/cli/schemas/base.d.ts.map +1 -0
  62. package/dist/cli/schemas/base.js +23 -0
  63. package/dist/cli/schemas/checkConfig.d.ts +6 -0
  64. package/dist/cli/schemas/checkConfig.d.ts.map +1 -0
  65. package/dist/cli/schemas/checkConfig.js +5 -0
  66. package/dist/cli/schemas/generate.d.ts +8 -0
  67. package/dist/cli/schemas/generate.d.ts.map +1 -0
  68. package/dist/cli/schemas/generate.js +45 -0
  69. package/dist/cli/schemas/index.d.ts +8 -0
  70. package/dist/cli/schemas/index.d.ts.map +1 -0
  71. package/dist/cli/schemas/index.js +22 -0
  72. package/dist/cli/schemas/init.d.ts +10 -0
  73. package/dist/cli/schemas/init.d.ts.map +1 -0
  74. package/dist/cli/schemas/init.js +11 -0
  75. package/dist/cli/schemas/previewChanges.d.ts +9 -0
  76. package/dist/cli/schemas/previewChanges.d.ts.map +1 -0
  77. package/dist/cli/schemas/previewChanges.js +11 -0
  78. package/dist/cli/schemas/updateConfig.d.ts +6 -0
  79. package/dist/cli/schemas/updateConfig.d.ts.map +1 -0
  80. package/dist/cli/schemas/updateConfig.js +5 -0
  81. package/dist/common/Consts.d.ts +5 -0
  82. package/dist/common/Consts.d.ts.map +1 -1
  83. package/dist/common/Consts.js +9 -2
  84. package/dist/common/LoggerMessages.js +1 -1
  85. package/dist/common/TRawOptions.d.ts +4 -36
  86. package/dist/common/TRawOptions.d.ts.map +1 -1
  87. package/dist/common/Validation/formatZodError.d.ts +10 -0
  88. package/dist/common/Validation/formatZodError.d.ts.map +1 -0
  89. package/dist/common/Validation/formatZodError.js +114 -0
  90. package/dist/common/Validation/index.d.ts +3 -0
  91. package/dist/common/Validation/index.d.ts.map +1 -0
  92. package/dist/common/Validation/index.js +18 -0
  93. package/dist/common/Validation/validateZodOptions.d.ts +27 -0
  94. package/dist/common/Validation/validateZodOptions.d.ts.map +1 -0
  95. package/dist/common/Validation/validateZodOptions.js +35 -0
  96. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts.map +1 -1
  97. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.js +10 -4
  98. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.d.ts +6 -1
  99. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.d.ts.map +1 -1
  100. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.js +8 -8
  101. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts +28 -0
  102. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts.map +1 -0
  103. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.js +25 -0
  104. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts +37 -0
  105. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts.map +1 -0
  106. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.js +37 -0
  107. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts +38 -0
  108. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts.map +1 -0
  109. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.js +34 -0
  110. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts +40 -0
  111. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts.map +1 -0
  112. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.js +36 -0
  113. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts +65 -0
  114. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts.map +1 -0
  115. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.js +31 -0
  116. package/dist/common/VersionedSchema/CommonSchemas.d.ts +53 -29
  117. package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
  118. package/dist/common/VersionedSchema/CommonSchemas.js +44 -62
  119. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsMigrationPlan.d.ts.map +1 -1
  120. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsMigrationPlan.js +9 -16
  121. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts +25 -5
  122. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts.map +1 -1
  123. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.js +34 -17
  124. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts +25 -5
  125. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts.map +1 -1
  126. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.js +28 -19
  127. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts +25 -1
  128. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -1
  129. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.js +29 -2
  130. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts +25 -5
  131. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts.map +1 -1
  132. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.js +30 -14
  133. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts +23 -5
  134. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -1
  135. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.js +33 -18
  136. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts +3 -2
  137. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.d.ts.map +1 -1
  138. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas.js +18 -11
  139. package/dist/common/VersionedSchema/OptionsVersioned/OptionsMigrationPlans.d.ts.map +1 -1
  140. package/dist/common/VersionedSchema/OptionsVersioned/OptionsMigrationPlans.js +2 -5
  141. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts +22 -5
  142. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts.map +1 -1
  143. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.js +30 -12
  144. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts +22 -5
  145. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts.map +1 -1
  146. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.js +27 -13
  147. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts +22 -1
  148. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts.map +1 -1
  149. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.js +28 -2
  150. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +22 -5
  151. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts.map +1 -1
  152. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.js +31 -12
  153. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts +3 -2
  154. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.d.ts.map +1 -1
  155. package/dist/common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas.js +15 -9
  156. package/dist/common/VersionedSchema/Types.d.ts +5 -5
  157. package/dist/common/VersionedSchema/Types.d.ts.map +1 -1
  158. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts +16 -0
  159. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts.map +1 -0
  160. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.js +85 -0
  161. package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.d.ts +2 -0
  162. package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.d.ts.map +1 -0
  163. package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.js +23 -0
  164. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.d.ts +2 -0
  165. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.d.ts.map +1 -0
  166. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.js +75 -0
  167. package/dist/common/VersionedSchema/Utils/buildVersionedSchema.d.ts +12 -0
  168. package/dist/common/VersionedSchema/Utils/buildVersionedSchema.d.ts.map +1 -0
  169. package/dist/common/VersionedSchema/Utils/buildVersionedSchema.js +13 -0
  170. package/dist/common/VersionedSchema/Utils/compareShapes.d.ts +16 -0
  171. package/dist/common/VersionedSchema/Utils/compareShapes.d.ts.map +1 -0
  172. package/dist/common/VersionedSchema/Utils/compareShapes.js +30 -0
  173. package/dist/common/VersionedSchema/Utils/createFieldTransformationMigration.d.ts +32 -0
  174. package/dist/common/VersionedSchema/Utils/createFieldTransformationMigration.d.ts.map +1 -0
  175. package/dist/common/VersionedSchema/Utils/createFieldTransformationMigration.js +40 -0
  176. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts +2 -1
  177. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts.map +1 -1
  178. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.js +5 -5
  179. package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.d.ts +2 -2
  180. package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.d.ts.map +1 -1
  181. package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.js +15 -7
  182. package/dist/common/VersionedSchema/Utils/getLatestVersionFromMigrationPlans.d.ts +16 -0
  183. package/dist/common/VersionedSchema/Utils/getLatestVersionFromMigrationPlans.d.ts.map +1 -0
  184. package/dist/common/VersionedSchema/Utils/getLatestVersionFromMigrationPlans.js +23 -0
  185. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.d.ts +2 -2
  186. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.d.ts.map +1 -1
  187. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.js +16 -3
  188. package/dist/common/VersionedSchema/Utils/getUniqueObjectKeys.d.ts.map +1 -1
  189. package/dist/common/VersionedSchema/Utils/getUniqueObjectKeys.js +19 -2
  190. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts +2 -1
  191. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
  192. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +10 -9
  193. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts +4 -0
  194. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts.map +1 -0
  195. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.js +43 -0
  196. package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.d.ts +4 -0
  197. package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.d.ts.map +1 -0
  198. package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.js +21 -0
  199. package/dist/common/defaultOptions.d.ts.map +1 -1
  200. package/dist/common/defaultOptions.js +2 -1
  201. package/dist/common/utils/__tests__/convertArrayToObject.test.js +5 -6
  202. package/dist/common/utils/convertArrayToObject.d.ts.map +1 -1
  203. package/dist/common/utils/convertArrayToObject.js +1 -2
  204. package/dist/common/utils/fileSystemHelpers.d.ts +3 -1
  205. package/dist/common/utils/fileSystemHelpers.d.ts.map +1 -1
  206. package/dist/common/utils/fileSystemHelpers.js +3 -0
  207. package/dist/core/Context.d.ts +25 -2
  208. package/dist/core/Context.d.ts.map +1 -1
  209. package/dist/core/Context.js +144 -4
  210. package/dist/core/OpenApiClient.d.ts.map +1 -1
  211. package/dist/core/OpenApiClient.js +54 -13
  212. package/dist/core/WriteClient.d.ts +6 -13
  213. package/dist/core/WriteClient.d.ts.map +1 -1
  214. package/dist/core/WriteClient.js +32 -22
  215. package/dist/core/__tests__/WriteClient.test.js +8 -1
  216. package/dist/core/api/v2/Parser.d.ts +1 -1
  217. package/dist/core/api/v2/Parser.d.ts.map +1 -1
  218. package/dist/core/api/v2/Parser.js +2 -2
  219. package/dist/core/api/v2/parser/getModel.d.ts.map +1 -1
  220. package/dist/core/api/v2/parser/getModel.js +2 -5
  221. package/dist/core/api/v2/parser/getModelProperties.d.ts.map +1 -1
  222. package/dist/core/api/v2/parser/getModelProperties.js +1 -3
  223. package/dist/core/api/v2/parser/getModels.d.ts.map +1 -1
  224. package/dist/core/api/v2/parser/getModels.js +2 -4
  225. package/dist/core/api/v2/parser/getOperationParameter.d.ts.map +1 -1
  226. package/dist/core/api/v2/parser/getOperationParameter.js +2 -5
  227. package/dist/core/api/v2/parser/getOperationParameters.js +1 -1
  228. package/dist/core/api/v2/parser/getOperationResponse.d.ts.map +1 -1
  229. package/dist/core/api/v2/parser/getOperationResponse.js +1 -3
  230. package/dist/core/api/v2/parser/getOperationResponses.js +1 -1
  231. package/dist/core/api/v2/parser/getServices.d.ts.map +1 -1
  232. package/dist/core/api/v2/parser/getServices.js +4 -3
  233. package/dist/core/api/v2/parser/getType.d.ts.map +1 -1
  234. package/dist/core/api/v2/parser/getType.js +16 -9
  235. package/dist/core/api/v3/Parser.d.ts +1 -1
  236. package/dist/core/api/v3/Parser.d.ts.map +1 -1
  237. package/dist/core/api/v3/Parser.js +2 -2
  238. package/dist/core/api/v3/parser/getModel.d.ts.map +1 -1
  239. package/dist/core/api/v3/parser/getModel.js +2 -5
  240. package/dist/core/api/v3/parser/getModelProperties.d.ts.map +1 -1
  241. package/dist/core/api/v3/parser/getModelProperties.js +1 -3
  242. package/dist/core/api/v3/parser/getModels.d.ts.map +1 -1
  243. package/dist/core/api/v3/parser/getModels.js +2 -4
  244. package/dist/core/api/v3/parser/getOperation.js +1 -1
  245. package/dist/core/api/v3/parser/getOperationParameter.d.ts.map +1 -1
  246. package/dist/core/api/v3/parser/getOperationParameter.js +2 -5
  247. package/dist/core/api/v3/parser/getOperationParameters.js +1 -1
  248. package/dist/core/api/v3/parser/getOperationRequestBody.d.ts.map +1 -1
  249. package/dist/core/api/v3/parser/getOperationRequestBody.js +1 -3
  250. package/dist/core/api/v3/parser/getOperationResponse.d.ts.map +1 -1
  251. package/dist/core/api/v3/parser/getOperationResponse.js +1 -3
  252. package/dist/core/api/v3/parser/getOperationResponses.js +1 -1
  253. package/dist/core/api/v3/parser/getServices.d.ts.map +1 -1
  254. package/dist/core/api/v3/parser/getServices.js +4 -3
  255. package/dist/core/api/v3/parser/getType.d.ts.map +1 -1
  256. package/dist/core/api/v3/parser/getType.js +16 -9
  257. package/dist/core/index.d.ts.map +1 -1
  258. package/dist/core/index.js +2 -0
  259. package/dist/core/types/base/ClientArtifacts.model.d.ts +1 -1
  260. package/dist/core/types/base/ClientArtifacts.model.d.ts.map +1 -1
  261. package/dist/core/types/base/SimpleClientArtifacts.model.d.ts +1 -1
  262. package/dist/core/types/base/SimpleClientArtifacts.model.d.ts.map +1 -1
  263. package/dist/core/types/base/Templates.model.d.ts +32 -0
  264. package/dist/core/types/base/Templates.model.d.ts.map +1 -0
  265. package/dist/core/types/enums/ValidationLibrary.enum.d.ts +8 -0
  266. package/dist/core/types/enums/ValidationLibrary.enum.d.ts.map +1 -0
  267. package/dist/core/types/enums/ValidationLibrary.enum.js +11 -0
  268. package/dist/core/utils/__mocks__/templates.d.ts +3 -0
  269. package/dist/core/utils/__mocks__/templates.d.ts.map +1 -0
  270. package/dist/core/utils/__mocks__/templates.js +33 -0
  271. package/dist/core/utils/__tests__/getRelativeModelPath.test.js +9 -3
  272. package/dist/core/utils/__tests__/isSubdirectory.test.js +2 -2
  273. package/dist/core/utils/__tests__/modelHelpers.test.d.ts +2 -0
  274. package/dist/core/utils/__tests__/modelHelpers.test.d.ts.map +1 -0
  275. package/dist/core/utils/__tests__/modelHelpers.test.js +151 -0
  276. package/dist/core/utils/__tests__/postProcessModelImports.test.d.ts +2 -0
  277. package/dist/core/utils/__tests__/postProcessModelImports.test.d.ts.map +1 -0
  278. package/dist/core/utils/__tests__/postProcessModelImports.test.js +67 -0
  279. package/dist/core/utils/__tests__/postProcessServiceImports.test.d.ts +2 -0
  280. package/dist/core/utils/__tests__/postProcessServiceImports.test.d.ts.map +1 -0
  281. package/dist/core/utils/__tests__/postProcessServiceImports.test.js +26 -0
  282. package/dist/core/utils/__tests__/registerHandlebarTemplates.test.js +2 -0
  283. package/dist/core/utils/__tests__/resolveRefPath.test.d.ts +2 -0
  284. package/dist/core/utils/__tests__/resolveRefPath.test.d.ts.map +1 -0
  285. package/dist/core/utils/__tests__/resolveRefPath.test.js +22 -0
  286. package/dist/core/utils/__tests__/serviceHelpers.test.d.ts +2 -0
  287. package/dist/core/utils/__tests__/serviceHelpers.test.d.ts.map +1 -0
  288. package/dist/core/utils/__tests__/serviceHelpers.test.js +121 -0
  289. package/dist/core/utils/__tests__/writeClientCore.test.js +2 -25
  290. package/dist/core/utils/__tests__/writeClientExecutor.test.d.ts +2 -0
  291. package/dist/core/utils/__tests__/writeClientExecutor.test.d.ts.map +1 -0
  292. package/dist/core/utils/__tests__/writeClientExecutor.test.js +20 -0
  293. package/dist/core/utils/__tests__/writeClientFullIndex.test.js +2 -25
  294. package/dist/core/utils/__tests__/writeClientModels.test.js +2 -25
  295. package/dist/core/utils/__tests__/writeClientSchemas.test.js +4 -25
  296. package/dist/core/utils/__tests__/writeClientServices.test.js +2 -25
  297. package/dist/core/utils/getOpenApiSpec.d.ts +0 -6
  298. package/dist/core/utils/getOpenApiSpec.d.ts.map +1 -1
  299. package/dist/core/utils/getOpenApiSpec.js +26 -23
  300. package/dist/core/utils/modelHelpers.d.ts.map +1 -1
  301. package/dist/core/utils/modelHelpers.js +37 -3
  302. package/dist/core/utils/postProcessModelImports.d.ts.map +1 -1
  303. package/dist/core/utils/postProcessModelImports.js +14 -1
  304. package/dist/core/utils/postProcessServiceImports.d.ts.map +1 -1
  305. package/dist/core/utils/postProcessServiceImports.js +1 -2
  306. package/dist/core/utils/precompileTemplates.js +7 -0
  307. package/dist/core/utils/registerHandlebarHelpers.d.ts.map +1 -1
  308. package/dist/core/utils/registerHandlebarHelpers.js +85 -0
  309. package/dist/core/utils/registerHandlebarTemplates.d.ts +3 -25
  310. package/dist/core/utils/registerHandlebarTemplates.d.ts.map +1 -1
  311. package/dist/core/utils/registerHandlebarTemplates.js +97 -2
  312. package/dist/core/utils/resolveRefPath.d.ts.map +1 -1
  313. package/dist/core/utils/resolveRefPath.js +1 -4
  314. package/dist/core/utils/serviceHelpers.d.ts.map +1 -1
  315. package/dist/core/utils/serviceHelpers.js +32 -6
  316. package/dist/core/utils/stripNamespace.js +1 -1
  317. package/dist/core/utils/validateRawOptions.d.ts +3 -0
  318. package/dist/core/utils/validateRawOptions.d.ts.map +1 -0
  319. package/dist/core/utils/validateRawOptions.js +15 -0
  320. package/dist/core/utils/writeClientCore.d.ts +1 -1
  321. package/dist/core/utils/writeClientCore.d.ts.map +1 -1
  322. package/dist/core/utils/writeClientCore.js +7 -1
  323. package/dist/core/utils/writeClientCoreIndex.d.ts +1 -1
  324. package/dist/core/utils/writeClientCoreIndex.d.ts.map +1 -1
  325. package/dist/core/utils/writeClientExecutor.d.ts +13 -0
  326. package/dist/core/utils/writeClientExecutor.d.ts.map +1 -0
  327. package/dist/core/utils/writeClientExecutor.js +30 -0
  328. package/dist/core/utils/writeClientFullIndex.d.ts.map +1 -1
  329. package/dist/core/utils/writeClientFullIndex.js +1 -1
  330. package/dist/core/utils/writeClientModels.d.ts +1 -1
  331. package/dist/core/utils/writeClientModels.d.ts.map +1 -1
  332. package/dist/core/utils/writeClientModelsIndex.d.ts +1 -1
  333. package/dist/core/utils/writeClientModelsIndex.d.ts.map +1 -1
  334. package/dist/core/utils/writeClientSchemas.d.ts +3 -1
  335. package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
  336. package/dist/core/utils/writeClientSchemas.js +23 -20
  337. package/dist/core/utils/writeClientSchemasIndex.d.ts +1 -1
  338. package/dist/core/utils/writeClientSchemasIndex.d.ts.map +1 -1
  339. package/dist/core/utils/writeClientServices.d.ts +1 -1
  340. package/dist/core/utils/writeClientServices.d.ts.map +1 -1
  341. package/dist/core/utils/writeClientServicesIndex.d.ts +1 -1
  342. package/dist/core/utils/writeClientServicesIndex.d.ts.map +1 -1
  343. package/dist/core/utils/writeClientSimpleIndex.d.ts.map +1 -1
  344. package/dist/core/utils/writeClientSimpleIndex.js +1 -1
  345. package/dist/templatesCompiled/cli/customRequest.d.ts +11 -0
  346. package/dist/templatesCompiled/cli/customRequest.d.ts.map +1 -0
  347. package/dist/templatesCompiled/cli/customRequest.js +27 -0
  348. package/dist/templatesCompiled/cli/customRequestExecutor.d.ts +11 -0
  349. package/dist/templatesCompiled/cli/customRequestExecutor.d.ts.map +1 -0
  350. package/dist/templatesCompiled/cli/customRequestExecutor.js +27 -0
  351. package/dist/templatesCompiled/cli/openApiConfig.d.ts +2 -1
  352. package/dist/templatesCompiled/cli/openApiConfig.d.ts.map +1 -1
  353. package/dist/templatesCompiled/cli/openApiConfig.js +76 -4
  354. package/dist/templatesCompiled/client/core/ApiError.js +1 -1
  355. package/dist/templatesCompiled/client/core/CancelablePromise.d.ts +1 -0
  356. package/dist/templatesCompiled/client/core/CancelablePromise.d.ts.map +1 -1
  357. package/dist/templatesCompiled/client/core/CancelablePromise.js +9 -2
  358. package/dist/templatesCompiled/client/core/HttpStatusCode.d.ts +1 -0
  359. package/dist/templatesCompiled/client/core/HttpStatusCode.d.ts.map +1 -1
  360. package/dist/templatesCompiled/client/core/HttpStatusCode.js +9 -2
  361. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts +12 -0
  362. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts.map +1 -0
  363. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.js +32 -0
  364. package/dist/templatesCompiled/client/core/executor/requestExecutor.d.ts +8 -0
  365. package/dist/templatesCompiled/client/core/executor/requestExecutor.d.ts.map +1 -0
  366. package/dist/templatesCompiled/client/core/executor/requestExecutor.js +18 -0
  367. package/dist/templatesCompiled/client/core/functions/catchErrors.js +1 -1
  368. package/dist/templatesCompiled/client/core/interceptors/apiErrorInterceptor.d.ts +8 -0
  369. package/dist/templatesCompiled/client/core/interceptors/apiErrorInterceptor.d.ts.map +1 -0
  370. package/dist/templatesCompiled/client/core/interceptors/apiErrorInterceptor.js +18 -0
  371. package/dist/templatesCompiled/client/core/interceptors/interceptors.d.ts +8 -0
  372. package/dist/templatesCompiled/client/core/interceptors/interceptors.d.ts.map +1 -0
  373. package/dist/templatesCompiled/client/core/interceptors/interceptors.js +18 -0
  374. package/dist/templatesCompiled/client/core/interceptors/withInterceptors.d.ts +8 -0
  375. package/dist/templatesCompiled/client/core/interceptors/withInterceptors.d.ts.map +1 -0
  376. package/dist/templatesCompiled/client/core/interceptors/withInterceptors.js +18 -0
  377. package/dist/templatesCompiled/client/exportClient.d.ts +10 -0
  378. package/dist/templatesCompiled/client/exportClient.d.ts.map +1 -0
  379. package/dist/templatesCompiled/client/exportClient.js +53 -0
  380. package/dist/templatesCompiled/client/exportService.d.ts.map +1 -1
  381. package/dist/templatesCompiled/client/exportService.js +46 -50
  382. package/dist/templatesCompiled/client/indexCore.js +2 -2
  383. package/dist/templatesCompiled/client/indexFull.d.ts +13 -9
  384. package/dist/templatesCompiled/client/indexFull.d.ts.map +1 -1
  385. package/dist/templatesCompiled/client/indexFull.js +72 -46
  386. package/dist/templatesCompiled/client/indexSimple.d.ts +1 -0
  387. package/dist/templatesCompiled/client/indexSimple.d.ts.map +1 -1
  388. package/dist/templatesCompiled/client/indexSimple.js +5 -1
  389. package/dist/templatesCompiled/client/joi/exportSchema.d.ts +11 -0
  390. package/dist/templatesCompiled/client/joi/exportSchema.d.ts.map +1 -0
  391. package/dist/templatesCompiled/client/joi/exportSchema.js +71 -0
  392. package/dist/templatesCompiled/client/joi/partials/joiSchema.d.ts +22 -0
  393. package/dist/templatesCompiled/client/joi/partials/joiSchema.d.ts.map +1 -0
  394. package/dist/templatesCompiled/client/joi/partials/joiSchema.js +129 -0
  395. package/dist/templatesCompiled/client/joi/partials/joiSchemaArray.d.ts +16 -0
  396. package/dist/templatesCompiled/client/joi/partials/joiSchemaArray.d.ts.map +1 -0
  397. package/dist/templatesCompiled/client/joi/partials/joiSchemaArray.js +84 -0
  398. package/dist/templatesCompiled/client/joi/partials/joiSchemaComposition.d.ts +18 -0
  399. package/dist/templatesCompiled/client/joi/partials/joiSchemaComposition.d.ts.map +1 -0
  400. package/dist/templatesCompiled/client/joi/partials/joiSchemaComposition.js +96 -0
  401. package/dist/templatesCompiled/client/joi/partials/joiSchemaDictionary.d.ts +14 -0
  402. package/dist/templatesCompiled/client/joi/partials/joiSchemaDictionary.d.ts.map +1 -0
  403. package/dist/templatesCompiled/client/joi/partials/joiSchemaDictionary.js +72 -0
  404. package/dist/templatesCompiled/client/joi/partials/joiSchemaEnum.d.ts +14 -0
  405. package/dist/templatesCompiled/client/joi/partials/joiSchemaEnum.d.ts.map +1 -0
  406. package/dist/templatesCompiled/client/joi/partials/joiSchemaEnum.js +74 -0
  407. package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.d.ts +35 -0
  408. package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.d.ts.map +1 -0
  409. package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.js +201 -0
  410. package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.d.ts +14 -0
  411. package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.d.ts.map +1 -0
  412. package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.js +50 -0
  413. package/dist/templatesCompiled/client/joi/partials/joiSchemaReference.d.ts +9 -0
  414. package/dist/templatesCompiled/client/joi/partials/joiSchemaReference.d.ts.map +1 -0
  415. package/dist/templatesCompiled/client/joi/partials/joiSchemaReference.js +25 -0
  416. package/dist/templatesCompiled/client/jsonschema/exportSchema.d.ts +11 -0
  417. package/dist/templatesCompiled/client/jsonschema/exportSchema.d.ts.map +1 -0
  418. package/dist/templatesCompiled/client/jsonschema/exportSchema.js +69 -0
  419. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchema.d.ts +22 -0
  420. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchema.d.ts.map +1 -0
  421. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchema.js +129 -0
  422. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaArray.d.ts +16 -0
  423. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaArray.d.ts.map +1 -0
  424. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaArray.js +74 -0
  425. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaComposition.d.ts +16 -0
  426. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaComposition.d.ts.map +1 -0
  427. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaComposition.js +84 -0
  428. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaDictionary.d.ts +13 -0
  429. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaDictionary.d.ts.map +1 -0
  430. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaDictionary.js +56 -0
  431. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaEnum.d.ts +12 -0
  432. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaEnum.d.ts.map +1 -0
  433. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaEnum.js +49 -0
  434. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaGeneric.d.ts +29 -0
  435. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaGeneric.d.ts.map +1 -0
  436. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaGeneric.js +175 -0
  437. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.d.ts +15 -0
  438. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.d.ts.map +1 -0
  439. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.js +63 -0
  440. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaReference.d.ts +9 -0
  441. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaReference.d.ts.map +1 -0
  442. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaReference.js +25 -0
  443. package/dist/templatesCompiled/client/partials/exportComposition.d.ts +2 -0
  444. package/dist/templatesCompiled/client/partials/exportComposition.d.ts.map +1 -1
  445. package/dist/templatesCompiled/client/partials/exportComposition.js +17 -9
  446. package/dist/templatesCompiled/client/partials/parameters.js +1 -1
  447. package/dist/templatesCompiled/client/partials/serviceOption.d.ts +2 -4
  448. package/dist/templatesCompiled/client/partials/serviceOption.d.ts.map +1 -1
  449. package/dist/templatesCompiled/client/partials/serviceOption.js +32 -46
  450. package/dist/templatesCompiled/client/yup/exportSchema.d.ts +11 -0
  451. package/dist/templatesCompiled/client/yup/exportSchema.d.ts.map +1 -0
  452. package/dist/templatesCompiled/client/yup/exportSchema.js +73 -0
  453. package/dist/templatesCompiled/client/yup/partials/yupSchema.d.ts +22 -0
  454. package/dist/templatesCompiled/client/yup/partials/yupSchema.d.ts.map +1 -0
  455. package/dist/templatesCompiled/client/yup/partials/yupSchema.js +129 -0
  456. package/dist/templatesCompiled/client/yup/partials/yupSchemaArray.d.ts +16 -0
  457. package/dist/templatesCompiled/client/yup/partials/yupSchemaArray.d.ts.map +1 -0
  458. package/dist/templatesCompiled/client/yup/partials/yupSchemaArray.js +84 -0
  459. package/dist/templatesCompiled/client/yup/partials/yupSchemaComposition.d.ts +18 -0
  460. package/dist/templatesCompiled/client/yup/partials/yupSchemaComposition.d.ts.map +1 -0
  461. package/dist/templatesCompiled/client/yup/partials/yupSchemaComposition.js +96 -0
  462. package/dist/templatesCompiled/client/yup/partials/yupSchemaDictionary.d.ts +14 -0
  463. package/dist/templatesCompiled/client/yup/partials/yupSchemaDictionary.d.ts.map +1 -0
  464. package/dist/templatesCompiled/client/yup/partials/yupSchemaDictionary.js +72 -0
  465. package/dist/templatesCompiled/client/yup/partials/yupSchemaEnum.d.ts +14 -0
  466. package/dist/templatesCompiled/client/yup/partials/yupSchemaEnum.d.ts.map +1 -0
  467. package/dist/templatesCompiled/client/yup/partials/yupSchemaEnum.js +74 -0
  468. package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.d.ts +34 -0
  469. package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.d.ts.map +1 -0
  470. package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.js +201 -0
  471. package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.d.ts +14 -0
  472. package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.d.ts.map +1 -0
  473. package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.js +50 -0
  474. package/dist/templatesCompiled/client/yup/partials/yupSchemaReference.d.ts +9 -0
  475. package/dist/templatesCompiled/client/yup/partials/yupSchemaReference.d.ts.map +1 -0
  476. package/dist/templatesCompiled/client/yup/partials/yupSchemaReference.js +25 -0
  477. package/dist/templatesCompiled/client/zod/exportSchema.d.ts +11 -0
  478. package/dist/templatesCompiled/client/zod/exportSchema.d.ts.map +1 -0
  479. package/dist/templatesCompiled/client/zod/exportSchema.js +67 -0
  480. package/dist/templatesCompiled/client/zod/partials/zodSchema.d.ts +22 -0
  481. package/dist/templatesCompiled/client/zod/partials/zodSchema.d.ts.map +1 -0
  482. package/dist/templatesCompiled/client/zod/partials/zodSchema.js +129 -0
  483. package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.d.ts +14 -0
  484. package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.d.ts.map +1 -0
  485. package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.js +65 -0
  486. package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.d.ts +15 -0
  487. package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.d.ts.map +1 -0
  488. package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.js +70 -0
  489. package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.d.ts +12 -0
  490. package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.d.ts.map +1 -0
  491. package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.js +53 -0
  492. package/dist/templatesCompiled/client/zod/partials/zodSchemaEnum.d.ts +15 -0
  493. package/dist/templatesCompiled/client/zod/partials/zodSchemaEnum.d.ts.map +1 -0
  494. package/dist/templatesCompiled/client/zod/partials/zodSchemaEnum.js +86 -0
  495. package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.d.ts +34 -0
  496. package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.d.ts.map +1 -0
  497. package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.js +193 -0
  498. package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.d.ts +14 -0
  499. package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.d.ts.map +1 -0
  500. package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.js +50 -0
  501. package/dist/templatesCompiled/client/zod/partials/zodSchemaReference.d.ts +9 -0
  502. package/dist/templatesCompiled/client/zod/partials/zodSchemaReference.d.ts.map +1 -0
  503. package/dist/templatesCompiled/client/zod/partials/zodSchemaReference.js +25 -0
  504. package/package.json +9 -4
  505. package/dist/cli/generate/runGenerateOpenApi.d.ts.map +0 -1
  506. package/dist/cli/initOpenApiConfig/Enums.d.ts +0 -5
  507. package/dist/cli/initOpenApiConfig/Enums.d.ts.map +0 -1
  508. package/dist/cli/initOpenApiConfig/Enums.js +0 -8
  509. package/dist/cli/initOpenApiConfig/runInitOpenapiConfig.d.ts +0 -3
  510. package/dist/cli/initOpenApiConfig/runInitOpenapiConfig.d.ts.map +0 -1
  511. package/dist/cli/initOpenApiConfig/runInitOpenapiConfig.js +0 -70
  512. package/dist/common/VersionedSchema/UnifiedOptionsVersioned/UnifiedOptionsMigrationPlan.d.ts +0 -3
  513. package/dist/common/VersionedSchema/UnifiedOptionsVersioned/UnifiedOptionsMigrationPlan.d.ts.map +0 -1
  514. package/dist/common/VersionedSchema/UnifiedOptionsVersioned/UnifiedOptionsMigrationPlan.js +0 -28
  515. package/dist/common/VersionedSchema/UnifiedOptionsVersioned/UnifiedOptionsSchemaV1.d.ts +0 -7
  516. package/dist/common/VersionedSchema/UnifiedOptionsVersioned/UnifiedOptionsSchemaV1.d.ts.map +0 -1
  517. package/dist/common/VersionedSchema/UnifiedOptionsVersioned/UnifiedOptionsSchemaV1.js +0 -42
  518. package/dist/common/VersionedSchema/UnifiedOptionsVersioned/UnifiedOptionsVersionedSchemas.d.ts +0 -3
  519. package/dist/common/VersionedSchema/UnifiedOptionsVersioned/UnifiedOptionsVersionedSchemas.d.ts.map +0 -1
  520. package/dist/common/VersionedSchema/UnifiedOptionsVersioned/UnifiedOptionsVersionedSchemas.js +0 -10
  521. package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.d.ts +0 -6
  522. package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.d.ts.map +0 -1
  523. package/dist/common/VersionedSchema/Utils/getErrorFieldsFromValidation.js +0 -7
  524. package/dist/common/VersionedSchema/Utils/joiHandlers.d.ts +0 -6
  525. package/dist/common/VersionedSchema/Utils/joiHandlers.d.ts.map +0 -1
  526. package/dist/common/VersionedSchema/Utils/joiHandlers.js +0 -59
  527. package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.d.ts +0 -3
  528. package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.d.ts.map +0 -1
  529. package/dist/common/VersionedSchema/Utils/mergeObjectSchemas.js +0 -12
  530. package/dist/common/VersionedSchema/Utils/traverseObjectStructure.d.ts +0 -3
  531. package/dist/common/VersionedSchema/Utils/traverseObjectStructure.d.ts.map +0 -1
  532. package/dist/common/VersionedSchema/Utils/traverseObjectStructure.js +0 -31
  533. package/dist/common/utils/__tests__/__mock__/mockJoiSchema.d.ts +0 -19
  534. package/dist/common/utils/__tests__/__mock__/mockJoiSchema.d.ts.map +0 -1
  535. package/dist/common/utils/__tests__/__mock__/mockJoiSchema.js +0 -14
  536. package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.d.ts +0 -2
  537. package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.d.ts.map +0 -1
  538. package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.js +0 -38
  539. package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.d.ts +0 -2
  540. package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.d.ts.map +0 -1
  541. package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.js +0 -20
  542. package/dist/common/utils/__tests__/mergeObjectSchemas.test.d.ts +0 -2
  543. package/dist/common/utils/__tests__/mergeObjectSchemas.test.d.ts.map +0 -1
  544. package/dist/common/utils/__tests__/mergeObjectSchemas.test.js +0 -35
  545. package/dist/common/utils/__tests__/migrationForMultiOptions.test.d.ts +0 -2
  546. package/dist/common/utils/__tests__/migrationForMultiOptions.test.d.ts.map +0 -1
  547. package/dist/common/utils/__tests__/migrationForMultiOptions.test.js +0 -112
  548. package/dist/common/utils/__tests__/migrationForOptions.test.d.ts +0 -2
  549. package/dist/common/utils/__tests__/migrationForOptions.test.d.ts.map +0 -1
  550. package/dist/common/utils/__tests__/migrationForOptions.test.js +0 -56
  551. package/dist/core/types/base/RefWithtype.model.d.ts +0 -11
  552. package/dist/core/types/base/RefWithtype.model.d.ts.map +0 -1
  553. package/dist/core/types/enums/TypeRef.enum.d.ts +0 -8
  554. package/dist/core/types/enums/TypeRef.enum.d.ts.map +0 -1
  555. package/dist/core/types/enums/TypeRef.enum.js +0 -11
  556. package/dist/core/utils/__tests__/getGatheringRefs.test.d.ts +0 -2
  557. package/dist/core/utils/__tests__/getGatheringRefs.test.d.ts.map +0 -1
  558. package/dist/core/utils/__tests__/getGatheringRefs.test.js +0 -26
  559. package/dist/core/utils/__tests__/getRefFromSchema.test.d.ts +0 -2
  560. package/dist/core/utils/__tests__/getRefFromSchema.test.d.ts.map +0 -1
  561. package/dist/core/utils/__tests__/getRefFromSchema.test.js +0 -167
  562. package/dist/core/utils/__tests__/refResolver.test.d.ts +0 -2
  563. package/dist/core/utils/__tests__/refResolver.test.d.ts.map +0 -1
  564. package/dist/core/utils/__tests__/refResolver.test.js +0 -55
  565. package/dist/core/utils/__tests__/resolveRefToImportPath.test.d.ts +0 -2
  566. package/dist/core/utils/__tests__/resolveRefToImportPath.test.d.ts.map +0 -1
  567. package/dist/core/utils/__tests__/resolveRefToImportPath.test.js +0 -376
  568. package/dist/core/utils/advancedDeduplicatePath.d.ts +0 -5
  569. package/dist/core/utils/advancedDeduplicatePath.d.ts.map +0 -1
  570. package/dist/core/utils/advancedDeduplicatePath.js +0 -29
  571. package/dist/core/utils/findCommonParent.d.ts +0 -7
  572. package/dist/core/utils/findCommonParent.d.ts.map +0 -1
  573. package/dist/core/utils/findCommonParent.js +0 -20
  574. package/dist/core/utils/getGatheringRefs.d.ts +0 -4
  575. package/dist/core/utils/getGatheringRefs.d.ts.map +0 -1
  576. package/dist/core/utils/getGatheringRefs.js +0 -68
  577. package/dist/core/utils/getRefFromSchema.d.ts +0 -3
  578. package/dist/core/utils/getRefFromSchema.d.ts.map +0 -1
  579. package/dist/core/utils/getRefFromSchema.js +0 -9
  580. package/dist/core/utils/isBoolean.d.ts +0 -2
  581. package/dist/core/utils/isBoolean.d.ts.map +0 -1
  582. package/dist/core/utils/isBoolean.js +0 -12
  583. package/dist/core/utils/isFileName.d.ts +0 -7
  584. package/dist/core/utils/isFileName.d.ts.map +0 -1
  585. package/dist/core/utils/isFileName.js +0 -30
  586. package/dist/core/utils/mapPathToTargetDirSafe.d.ts +0 -10
  587. package/dist/core/utils/mapPathToTargetDirSafe.d.ts.map +0 -1
  588. package/dist/core/utils/mapPathToTargetDirSafe.js +0 -48
  589. package/dist/core/utils/normalizeAllRefs.d.ts +0 -6
  590. package/dist/core/utils/normalizeAllRefs.d.ts.map +0 -1
  591. package/dist/core/utils/normalizeAllRefs.js +0 -35
  592. package/dist/core/utils/resolveRefToImportPath.d.ts +0 -13
  593. package/dist/core/utils/resolveRefToImportPath.d.ts.map +0 -1
  594. package/dist/core/utils/resolveRefToImportPath.js +0 -105
  595. /package/dist/core/types/base/{RefWithtype.model.js → Templates.model.js} +0 -0
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.checkConfig = checkConfig;
4
4
  const Consts_1 = require("../../common/Consts");
5
5
  const loadConfigIfExists_1 = require("../../common/utils/loadConfigIfExists");
6
+ const validateZodOptions_1 = require("../../common/Validation/validateZodOptions");
7
+ const schemas_1 = require("../schemas");
6
8
  const constants_1 = require("./constants");
7
9
  const selectConfigAction_1 = require("./utils/selectConfigAction");
8
10
  const validateAndMigrateConfigData_1 = require("./utils/validateAndMigrateConfigData");
@@ -16,20 +18,26 @@ const validateAndMigrateConfigData_1 = require("./utils/validateAndMigrateConfig
16
18
  * @example
17
19
  * await checkConfig('./openapi-config.json');
18
20
  */
19
- async function checkConfig(configPath) {
20
- const configData = (0, loadConfigIfExists_1.loadConfigIfExists)(configPath);
21
+ async function checkConfig(options) {
22
+ const validationResult = (0, validateZodOptions_1.validateZodOptions)(schemas_1.checkConfigOptionsSchema, options);
23
+ if (!validationResult.success) {
24
+ Consts_1.APP_LOGGER.error(validationResult.errors.join('\n'));
25
+ process.exit(1);
26
+ }
27
+ const validatedOptions = validationResult.data;
28
+ const configData = (0, loadConfigIfExists_1.loadConfigIfExists)(validatedOptions.openapiConfig);
21
29
  if (!configData) {
22
- Consts_1.APP_LOGGER.error(`${constants_1.ERROR_MESSAGES.FILE_NOT_FOUND} ${configPath}`);
30
+ Consts_1.APP_LOGGER.error(`${constants_1.ERROR_MESSAGES.FILE_NOT_FOUND} ${validatedOptions.openapiConfig || ''}`);
23
31
  return;
24
32
  }
25
33
  try {
26
34
  const { isActualConfigVersion, hasDefaultValues, migratedData } = (0, validateAndMigrateConfigData_1.validateAndMigrateConfigData)(configData);
27
- Consts_1.APP_LOGGER.info(constants_1.SUCCESS_MESSAGES.CONFIG_VALID(configPath));
35
+ Consts_1.APP_LOGGER.info(constants_1.SUCCESS_MESSAGES.CONFIG_VALID(validatedOptions.openapiConfig || ''));
28
36
  // Если версия не актуальна, предложить обновление
29
37
  if (!isActualConfigVersion) {
30
38
  await (0, selectConfigAction_1.selectConfigAction)({
31
39
  migratedData,
32
- configPath,
40
+ configPath: validatedOptions.openapiConfig || '',
33
41
  warningMessage: 'Ваша версия конфигурации устарела и нуждается в обновлении.',
34
42
  actionChoices: constants_1.ACTION_FOR_CONFIG_DATA_OPTIONS,
35
43
  });
@@ -39,7 +47,7 @@ async function checkConfig(configPath) {
39
47
  if (hasDefaultValues) {
40
48
  await (0, selectConfigAction_1.selectConfigAction)({
41
49
  migratedData,
42
- configPath,
50
+ configPath: validatedOptions.openapiConfig || '',
43
51
  warningMessage: 'В вашей конфигурации есть значения по умолчанию, которые можно удалить.',
44
52
  actionChoices: constants_1.ACTION_FOR_CONFIG_DATA_OPTIONS,
45
53
  });
@@ -1,3 +1,4 @@
1
+ import { OptionValues } from 'commander';
1
2
  /**
2
3
  * Обновляет конфигурационный файл до актуальной версии.
3
4
  * Выполняет миграцию данных при необходимости.
@@ -8,5 +9,5 @@
8
9
  * @example
9
10
  * await updateConfig('./openapi-config.json');
10
11
  */
11
- export declare function updateConfig(configPath: string): Promise<void>;
12
+ export declare function updateConfig(options: OptionValues): Promise<void>;
12
13
  //# sourceMappingURL=updateConfig.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateConfig.d.ts","sourceRoot":"","sources":["../../../src/cli/checkAndUpdateConfig/updateConfig.ts"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBpE"}
1
+ {"version":3,"file":"updateConfig.d.ts","sourceRoot":"","sources":["../../../src/cli/checkAndUpdateConfig/updateConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAUzC;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAgCvE"}
@@ -3,6 +3,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updateConfig = updateConfig;
4
4
  const Consts_1 = require("../../common/Consts");
5
5
  const loadConfigIfExists_1 = require("../../common/utils/loadConfigIfExists");
6
+ const validateZodOptions_1 = require("../../common/Validation/validateZodOptions");
7
+ const schemas_1 = require("../schemas");
6
8
  const constants_1 = require("./constants");
7
9
  const validateAndMigrateConfigData_1 = require("./utils/validateAndMigrateConfigData");
8
10
  const writeConfigFile_1 = require("./utils/writeConfigFile");
@@ -16,21 +18,27 @@ const writeConfigFile_1 = require("./utils/writeConfigFile");
16
18
  * @example
17
19
  * await updateConfig('./openapi-config.json');
18
20
  */
19
- async function updateConfig(configPath) {
20
- const configData = (0, loadConfigIfExists_1.loadConfigIfExists)(configPath);
21
+ async function updateConfig(options) {
22
+ const validationResult = (0, validateZodOptions_1.validateZodOptions)(schemas_1.updateConfigOptionsSchema, options);
23
+ if (!validationResult.success) {
24
+ Consts_1.APP_LOGGER.error(validationResult.errors.join('\n'));
25
+ process.exit(1);
26
+ }
27
+ const validatedOptions = validationResult.data;
28
+ const configData = (0, loadConfigIfExists_1.loadConfigIfExists)(validatedOptions.openapiConfig);
21
29
  if (!configData) {
22
- Consts_1.APP_LOGGER.error(`${constants_1.ERROR_MESSAGES.FILE_NOT_FOUND} ${configPath}`);
30
+ Consts_1.APP_LOGGER.error(`${constants_1.ERROR_MESSAGES.FILE_NOT_FOUND} ${validatedOptions.openapiConfig}`);
23
31
  return;
24
32
  }
25
33
  try {
26
34
  const { isActualConfigVersion, migratedData } = (0, validateAndMigrateConfigData_1.validateAndMigrateConfigData)(configData);
27
35
  if (isActualConfigVersion) {
28
- Consts_1.APP_LOGGER.info(constants_1.SUCCESS_MESSAGES.CONFIG_UP_TO_DATE(configPath));
36
+ Consts_1.APP_LOGGER.info(constants_1.SUCCESS_MESSAGES.CONFIG_UP_TO_DATE(validatedOptions.openapiConfig || ''));
29
37
  }
30
38
  else {
31
39
  await (0, writeConfigFile_1.writeConfigFile)({
32
40
  data: migratedData,
33
- configPath,
41
+ configPath: validatedOptions.openapiConfig || '',
34
42
  isUpdating: true,
35
43
  });
36
44
  }
@@ -3,5 +3,5 @@ import { OptionValues } from 'commander';
3
3
  * Запускает генерацию OpenAPI клиента
4
4
  * Поддерживает как конфиг-файл, так и параметры из CLI
5
5
  */
6
- export declare function runGenerateOpenApi(options: OptionValues): Promise<void>;
7
- //# sourceMappingURL=runGenerateOpenApi.d.ts.map
6
+ export declare function generateOpenApiClient(options: OptionValues): Promise<void>;
7
+ //# sourceMappingURL=generateOpenApiClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateOpenApiClient.d.ts","sourceRoot":"","sources":["../../../src/cli/generateOpenApiClient/generateOpenApiClient.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAgBzC;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CA6DhF"}
@@ -33,34 +33,54 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.runGenerateOpenApi = runGenerateOpenApi;
36
+ exports.generateOpenApiClient = generateOpenApiClient;
37
37
  const Consts_1 = require("../../common/Consts");
38
38
  const defaultOptions_1 = require("../../common/defaultOptions");
39
39
  const Enums_1 = require("../../common/Enums");
40
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
40
41
  const convertArrayToObject_1 = require("../../common/utils/convertArrayToObject");
41
42
  const loadConfigIfExists_1 = require("../../common/utils/loadConfigIfExists");
43
+ const validateZodOptions_1 = require("../../common/Validation/validateZodOptions");
42
44
  const AllMigrationPlans_1 = require("../../common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans");
43
45
  const AllVersionedSchemas_1 = require("../../common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas");
44
46
  const migrateDataToLatestSchemaVersion_1 = require("../../common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion");
45
47
  const OpenAPI = __importStar(require("../../core"));
48
+ const schemas_1 = require("../schemas");
46
49
  /**
47
50
  * Запускает генерацию OpenAPI клиента
48
51
  * Поддерживает как конфиг-файл, так и параметры из CLI
49
52
  */
50
- async function runGenerateOpenApi(options) {
53
+ async function generateOpenApiClient(options) {
51
54
  const { openapiConfig, ...clientOptions } = options;
52
55
  try {
53
- const hasMinimumRequiredOptions = !!clientOptions.input && !!clientOptions.output;
56
+ const validationResult = (0, validateZodOptions_1.validateZodOptions)(schemas_1.generateOptionsSchema, {
57
+ openapiConfig,
58
+ ...clientOptions,
59
+ });
60
+ if (!validationResult.success) {
61
+ Consts_1.APP_LOGGER.error(validationResult.errors.join('\n'));
62
+ process.exit(1);
63
+ }
64
+ const validatedOptions = validationResult.data;
65
+ // Если есть минимальные опции (input и output), используем их
66
+ const hasMinimumRequiredOptions = !!validatedOptions.input && !!validatedOptions.output;
54
67
  if (hasMinimumRequiredOptions) {
55
- const { error: defaultValuesError, value } = defaultOptions_1.defaultOptions.validate(clientOptions);
68
+ // Используем старую Joi валидацию для обратной совместимости
69
+ // В будущем можно заменить на Zod
70
+ const { error: defaultValuesError, value } = defaultOptions_1.defaultOptions.validate({
71
+ input: validatedOptions.input,
72
+ output: validatedOptions.output,
73
+ ...clientOptions,
74
+ });
56
75
  if (defaultValuesError) {
57
76
  await OpenAPI.generate(value);
58
77
  process.exit(0);
59
78
  }
60
79
  }
61
- const configData = (0, loadConfigIfExists_1.loadConfigIfExists)(openapiConfig);
80
+ const configData = (0, loadConfigIfExists_1.loadConfigIfExists)(validatedOptions.openapiConfig);
62
81
  if (!configData) {
63
- Consts_1.APP_LOGGER.error('The configuration file is missing');
82
+ Consts_1.APP_LOGGER.error(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.FILE_MISSING);
83
+ process.exit(1);
64
84
  }
65
85
  const preparedOptions = (0, convertArrayToObject_1.convertArrayToObject)(configData);
66
86
  // Use unified migration system for all schema types
@@ -71,15 +91,15 @@ async function runGenerateOpenApi(options) {
71
91
  migrationMode: Enums_1.EMigrationMode.GENERATE_OPENAPI,
72
92
  });
73
93
  if (!migratedOptions) {
74
- Consts_1.APP_LOGGER.error("Couldn't convert the set of options to the current version");
75
- }
76
- else {
77
- const { value } = migratedOptions;
78
- await OpenAPI.generate(value);
94
+ Consts_1.APP_LOGGER.error(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.CONVERSION_FAILED);
95
+ process.exit(1);
79
96
  }
97
+ const { value } = migratedOptions;
98
+ await OpenAPI.generate(value);
80
99
  process.exit(0);
81
100
  }
82
101
  catch (error) {
83
102
  Consts_1.APP_LOGGER.error(error.message);
103
+ process.exit(1);
84
104
  }
85
105
  }
package/dist/cli/index.js CHANGED
@@ -11,11 +11,12 @@ const Enums_1 = require("../common/Enums");
11
11
  const UpdateNotifier_1 = require("../common/UpdateNotifier");
12
12
  const pathHelpers_1 = require("../common/utils/pathHelpers");
13
13
  const HttpClient_enum_1 = require("../core/types/enums/HttpClient.enum");
14
+ const ValidationLibrary_enum_1 = require("../core/types/enums/ValidationLibrary.enum");
14
15
  const checkConfig_1 = require("./checkAndUpdateConfig/checkConfig");
15
16
  const updateConfig_1 = require("./checkAndUpdateConfig/updateConfig");
16
- const runGenerateOpenApi_1 = require("./generate/runGenerateOpenApi");
17
- const Enums_2 = require("./initOpenApiConfig/Enums");
18
- const runInitOpenapiConfig_1 = require("./initOpenApiConfig/runInitOpenapiConfig");
17
+ const generateOpenApiClient_1 = require("./generateOpenApiClient/generateOpenApiClient");
18
+ const init_1 = require("./initOpenApiConfig/init");
19
+ const previewChanges_1 = require("./previewChanges/previewChanges");
19
20
  const utils_1 = require("./utils");
20
21
  const packageDetails = JSON.parse(fs_1.default.readFileSync((0, pathHelpers_1.joinHelper)(__dirname, '../../package.json'), 'utf-8'));
21
22
  const APP_NAME = packageDetails.name || 'ts-openapi-codegen-cli';
@@ -46,7 +47,6 @@ program
46
47
  .option('--useOptions', 'Use options instead of arguments (default: false)')
47
48
  .option('--useUnionTypes', 'Use union types instead of enums (default: false)')
48
49
  .option('--excludeCoreServiceFiles', 'The generation of the core and services is excluded (default: false)')
49
- .option('--includeSchemasFiles', 'The generation of model validation schemes is enabled (default: false)')
50
50
  .option('--request <value>', 'Path to custom request file')
51
51
  .option('--interfacePrefix <value>', 'Prefix for interface model(default: "I")', 'I')
52
52
  .option('--enumPrefix <value>', 'Prefix for enum model(default: "E")', 'E')
@@ -56,11 +56,12 @@ program
56
56
  .addOption(new commander_1.Option('-t, --logTarget <target>', 'Target of logging').choices([...Object.values(Enums_1.ELogOutput)]).default(Enums_1.ELogOutput.CONSOLE))
57
57
  .option('-s, --sortByRequired', 'Property sorting strategy: simplified or extended')
58
58
  .option('--useSeparatedIndexes', 'Use separate index files for the core, models, schemas, and services.')
59
+ .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))
59
60
  .hook('preAction', async () => {
60
61
  await updateNotifier.checkAndNotify();
61
62
  })
62
63
  .action(async (options) => {
63
- await (0, runGenerateOpenApi_1.runGenerateOpenApi)(options);
64
+ await (0, generateOpenApiClient_1.generateOpenApiClient)(options);
64
65
  });
65
66
  /**
66
67
  * check - Команда для проверки конфигурационного файла
@@ -88,7 +89,7 @@ program
88
89
  await updateNotifier.checkAndNotify();
89
90
  })
90
91
  .action(async (options) => {
91
- await (0, updateConfig_1.updateConfig)(options.openapiConfig);
92
+ await (0, updateConfig_1.updateConfig)(options);
92
93
  });
93
94
  /**
94
95
  * init - Команда для инициализации конфигурационного файла
@@ -98,12 +99,32 @@ program
98
99
  .description('Generates a configuration file template for a set of single or multiple options')
99
100
  .addHelpText('before', (0, utils_1.getCLIName)(APP_NAME))
100
101
  .option('-ocn, --openapi-config <value>', 'The path to the configuration file, listing the options', Consts_1.DEFAULT_OPENAPI_CONFIG_FILENAME)
101
- .addOption(new commander_1.Option('-t, --type <type>', 'A variant of the set of options for running the client generator (default: "OPTION")').choices([...Object.values(Enums_2.EOptionType)]).default(Enums_2.EOptionType.OPTION))
102
+ .option('-sd, --specs-dir <value>', 'Путь до директории с файлами спецификации', './openapi')
103
+ .option('--request <value>', 'Path to custom request file')
104
+ .option('--useCancelableRequest', 'Use cancelled promise as returned data type in request (default: false)')
105
+ .option('--useInteractiveMode', 'Использовать интерактивный режим команды. В терминале будут задаваться вопросы (default: false)')
106
+ .hook('preAction', async () => {
107
+ await updateNotifier.checkAndNotify();
108
+ })
109
+ .action(async (options) => {
110
+ await (0, init_1.init)(options);
111
+ });
112
+ /**
113
+ * preview-changes - Команда для предпросмотра изменений перед генерацией
114
+ */
115
+ program
116
+ .command('preview-changes')
117
+ .description('Preview changes that will be made to generated code before applying them')
118
+ .addHelpText('before', (0, utils_1.getCLIName)(APP_NAME))
119
+ .option('-ocn, --openapi-config <value>', 'The path to the configuration file, listing the options (default: "openapi.config.json")', Consts_1.DEFAULT_OPENAPI_CONFIG_FILENAME)
120
+ .option('-gd, --generated-dir <value>', 'Directory with previously generated code (default: "generated")', Consts_1.DEFAULT_OUTPUT_API_DIR)
121
+ .option('-pd, --preview-dir <value>', 'Temporary directory for preview generation (default: ".ts-openapi-codegen-preview-changes)', Consts_1.DEFAULT_PREVIEW_CHANGES_DIR)
122
+ .option('-dd, --diff-dir <value>', 'Directory to save diff files (default: ".ts-openapi-codegen-diff-changes")', Consts_1.DEFAULT_DIFF_CHANGES_DIR)
102
123
  .hook('preAction', async () => {
103
124
  await updateNotifier.checkAndNotify();
104
125
  })
105
126
  .action(async (options) => {
106
- await (0, runInitOpenapiConfig_1.runInitOpenapiConfig)(options);
127
+ await (0, previewChanges_1.previewChanges)(options);
107
128
  });
108
129
  program.exitOverride();
109
130
  // TODO: Включить позже!
@@ -1,6 +1,6 @@
1
- import { EOptionType } from "./Enums";
2
- export type TInitOpenApiConfigParams = {
3
- type: EOptionType;
4
- openapiConfig?: string;
1
+ export type CLITemplates = {
2
+ config: Handlebars.TemplateDelegate;
3
+ request: Handlebars.TemplateDelegate;
4
+ requestExecutor: Handlebars.TemplateDelegate;
5
5
  };
6
6
  //# sourceMappingURL=Types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../../src/cli/initOpenApiConfig/Types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEtC,MAAM,MAAM,wBAAwB,GAAG;IACnC,IAAI,EAAE,WAAW,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B,CAAA"}
1
+ {"version":3,"file":"Types.d.ts","sourceRoot":"","sources":["../../../src/cli/initOpenApiConfig/Types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG;IACvB,MAAM,EAAE,UAAU,CAAC,gBAAgB,CAAC;IACpC,OAAO,EAAE,UAAU,CAAC,gBAAgB,CAAC;IACrC,eAAe,EAAE,UAAU,CAAC,gBAAgB,CAAC;CAChD,CAAC"}
@@ -0,0 +1,6 @@
1
+ import { OptionValues } from 'commander';
2
+ /**
3
+ * Фнукция изначальной настройки файлов конфигурации для последующего запуска генератора
4
+ */
5
+ export declare function init(options: OptionValues): Promise<void>;
6
+ //# sourceMappingURL=init.d.ts.map
@@ -0,0 +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,iBA4C/C"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.init = init;
4
+ const Consts_1 = require("../../common/Consts");
5
+ const validateZodOptions_1 = require("../../common/Validation/validateZodOptions");
6
+ const confirmDialog_1 = require("../interactive/confirmDialog");
7
+ const schemas_1 = require("../schemas");
8
+ const initConfig_1 = require("./initConfig");
9
+ const initCustomRequest_1 = require("./initCustomRequest");
10
+ const registerHandlebarTemplates_1 = require("./utils/registerHandlebarTemplates");
11
+ /**
12
+ * Фнукция изначальной настройки файлов конфигурации для последующего запуска генератора
13
+ */
14
+ async function init(options) {
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'));
18
+ process.exit(1);
19
+ }
20
+ const validatedOptions = validationResult.data;
21
+ const templates = (0, registerHandlebarTemplates_1.registerHandlebarTemplates)();
22
+ if (validatedOptions.useInteractiveMode) {
23
+ const shouldInitConfig = await (0, confirmDialog_1.confirmDialog)({
24
+ message: 'Желаете сформировать конфигурационный файл для быстрого запуска генератора?',
25
+ initial: false,
26
+ });
27
+ if (shouldInitConfig) {
28
+ // TODO: генерация по шаблону!
29
+ await (0, initConfig_1.initConfig)({
30
+ openapiConfig: validatedOptions.openapiConfig,
31
+ request: validatedOptions.request,
32
+ specsDir: validatedOptions.specsDir,
33
+ templates,
34
+ });
35
+ }
36
+ const shouldInitCustomRequest = await (0, confirmDialog_1.confirmDialog)({
37
+ message: 'Желаете сформировать файл с пользовательским вариантом обработки запросов?',
38
+ initial: false,
39
+ });
40
+ if (shouldInitCustomRequest) {
41
+ await (0, initCustomRequest_1.initCustomRequest)(templates, validatedOptions?.useCancelableRequest);
42
+ }
43
+ }
44
+ else {
45
+ await (0, initConfig_1.initConfig)({
46
+ openapiConfig: validatedOptions.openapiConfig,
47
+ request: validatedOptions.request,
48
+ specsDir: validatedOptions.specsDir,
49
+ templates,
50
+ });
51
+ await (0, initCustomRequest_1.initCustomRequest)(templates, validatedOptions?.useCancelableRequest);
52
+ }
53
+ }
@@ -0,0 +1,11 @@
1
+ import { InitOptions } from '../schemas';
2
+ import { CLITemplates } from './Types';
3
+ type InitConfigParams = Pick<InitOptions, 'openapiConfig' | 'specsDir' | 'request'> & {
4
+ templates: CLITemplates;
5
+ };
6
+ /**
7
+ * Инициализирует файл конфигурации OpenAPI
8
+ */
9
+ export declare function initConfig(params: InitConfigParams): Promise<void>;
10
+ export {};
11
+ //# sourceMappingURL=initConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initConfig.d.ts","sourceRoot":"","sources":["../../../src/cli/initOpenApiConfig/initConfig.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAMvC,KAAK,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,GAAG,UAAU,GAAG,SAAS,CAAC,GAAG;IAClF,SAAS,EAAE,YAAY,CAAC;CAC3B,CAAA;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAoGxE"}
@@ -0,0 +1,102 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initConfig = initConfig;
4
+ const Consts_1 = require("../../common/Consts");
5
+ const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
6
+ const pathHelpers_1 = require("../../common/utils/pathHelpers");
7
+ const confirmDialog_1 = require("../interactive/confirmDialog");
8
+ const constants_1 = require("../interactive/constants");
9
+ const selectDialog_1 = require("../interactive/selectDialog");
10
+ const types_1 = require("../interactive/types");
11
+ const buildConfig_1 = require("./utils/buildConfig");
12
+ const findSpecFiles_1 = require("./utils/findSpecFiles");
13
+ const validateSpecFiles_1 = require("./utils/validateSpecFiles");
14
+ const writeConfigFile_1 = require("./utils/writeConfigFile");
15
+ /**
16
+ * Инициализирует файл конфигурации OpenAPI
17
+ */
18
+ async function initConfig(params) {
19
+ const configPath = (0, pathHelpers_1.resolveHelper)(process.cwd(), params.openapiConfig || '');
20
+ const configExists = await fileSystemHelpers_1.fileSystemHelpers.exists(configPath);
21
+ // Шаг 3: Проверка существования файла конфигурации
22
+ if (configExists) {
23
+ const shouldRegenerate = await (0, confirmDialog_1.confirmDialog)({
24
+ message: 'Configuration file already exists. Do you want to regenerate it?',
25
+ initial: false,
26
+ });
27
+ if (!shouldRegenerate) {
28
+ Consts_1.APP_LOGGER.info('Configuration file left unchanged.');
29
+ return;
30
+ }
31
+ }
32
+ const currentSpecsDir = params.specsDir || '';
33
+ // Шаг 4: Формирование файла конфигурации
34
+ // Поиск файлов спецификаций
35
+ let specFiles = [];
36
+ try {
37
+ specFiles = await (0, findSpecFiles_1.findSpecFiles)(currentSpecsDir);
38
+ }
39
+ catch (error) {
40
+ Consts_1.APP_LOGGER.warn(`Error finding spec files: ${error instanceof Error ? error.message : String(error)}`);
41
+ }
42
+ if (specFiles.length === 0) {
43
+ Consts_1.APP_LOGGER.warn(`No spec files found in directory: ${currentSpecsDir}`);
44
+ }
45
+ // Валидация файлов
46
+ const validatedSpecs = await (0, validateSpecFiles_1.validateSpecFiles)(specFiles);
47
+ let config;
48
+ let useMultiOption = false;
49
+ let customRequest;
50
+ let perSpecRequest = false;
51
+ if (validatedSpecs.length > 0) {
52
+ // Если найдены валидные спецификации, спрашиваем о типе конфигурации
53
+ useMultiOption = validatedSpecs.length > 1;
54
+ // Спрашиваем про пользовательскую реализацию request
55
+ const hasCustomRequest = await (0, confirmDialog_1.confirmDialog)({
56
+ message: 'Do you want to use a custom request implementation?',
57
+ initial: false,
58
+ });
59
+ if (hasCustomRequest) {
60
+ if (useMultiOption) {
61
+ perSpecRequest = await (0, confirmDialog_1.confirmDialog)({
62
+ message: 'Will each specification have its own request?',
63
+ initial: false,
64
+ });
65
+ }
66
+ customRequest = params.request;
67
+ }
68
+ config = await (0, buildConfig_1.buildConfig)(validatedSpecs, useMultiOption, customRequest, perSpecRequest);
69
+ }
70
+ else {
71
+ // Если валидных спецификаций нет, предлагаем создать пример
72
+ Consts_1.APP_LOGGER.warn('No valid OpenAPI specification files found.');
73
+ const action = await (0, selectDialog_1.selectDialog)({
74
+ message: 'What would you like to do?',
75
+ choices: constants_1.OPEN_API_CONFIG_SELECT_OPTIONS,
76
+ initial: 0,
77
+ });
78
+ if (action === types_1.EConfigType.NONE) {
79
+ Consts_1.APP_LOGGER.info('Configuration file generation cancelled.');
80
+ return;
81
+ }
82
+ useMultiOption = action === types_1.EConfigType.MULTI;
83
+ // Спрашиваем про пользовательскую реализацию request
84
+ const hasCustomRequest = await (0, confirmDialog_1.confirmDialog)({
85
+ message: 'Do you want to use a custom request implementation?',
86
+ initial: false,
87
+ });
88
+ if (hasCustomRequest) {
89
+ if (useMultiOption) {
90
+ perSpecRequest = await (0, confirmDialog_1.confirmDialog)({
91
+ message: 'Will each specification have its own request?',
92
+ initial: false,
93
+ });
94
+ }
95
+ customRequest = './custom-request.ts';
96
+ }
97
+ // Создаем пример конфигурации
98
+ config = (0, buildConfig_1.buildExampleConfig)(useMultiOption, customRequest, perSpecRequest);
99
+ }
100
+ // Записываем конфигурацию на диск
101
+ await (0, writeConfigFile_1.writeConfigFile)(params.openapiConfig || '', config, params.templates);
102
+ }
@@ -0,0 +1,3 @@
1
+ import { CLITemplates } from './Types';
2
+ export declare function initCustomRequest(templates: CLITemplates, useCancelableRequest?: boolean): Promise<void>;
3
+ //# sourceMappingURL=initCustomRequest.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"initCustomRequest.d.ts","sourceRoot":"","sources":["../../../src/cli/initOpenApiConfig/initCustomRequest.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,YAAY,EAAE,oBAAoB,CAAC,EAAE,OAAO,iBAkB9F"}
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.initCustomRequest = initCustomRequest;
4
+ const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
5
+ const format_1 = require("../../common/utils/format");
6
+ const pathHelpers_1 = require("../../common/utils/pathHelpers");
7
+ const confirmDialog_1 = require("../interactive/confirmDialog");
8
+ async function initCustomRequest(templates, useCancelableRequest) {
9
+ // TODO: Подумать над правильной постановкой вопроса!
10
+ const shouldRequestExecutor = await (0, confirmDialog_1.confirmDialog)({
11
+ message: 'Желаете сформировать пользовательский обработчик request в новом формате?',
12
+ initial: false,
13
+ });
14
+ const artifacts = {
15
+ useCancelableRequest,
16
+ };
17
+ const customRequestPath = './src/custom/request.ts';
18
+ const file = (0, pathHelpers_1.resolveHelper)(process.cwd(), customRequestPath);
19
+ const templateResult = shouldRequestExecutor ? templates.requestExecutor(artifacts) : templates.request(artifacts);
20
+ const formattedValue = await (0, format_1.format)(templateResult);
21
+ await fileSystemHelpers_1.fileSystemHelpers.writeFile(file, formattedValue);
22
+ return;
23
+ }
@@ -0,0 +1,21 @@
1
+ import { TRawOptions } from '../../../common/TRawOptions';
2
+ import { ValidatedSpec } from './validateSpecFiles';
3
+ /**
4
+ * Формирует конфигурацию на основе валидированных спецификаций
5
+ * @param validatedSpecs - Массив валидированных спецификаций
6
+ * @param useMultiOption - Использовать множественный формат (items)
7
+ * @param customRequest - Путь к кастомной реализации request (опционально)
8
+ * @param perSpecRequest - Использовать отдельный request для каждой спецификации (только для MULTI)
9
+ * @returns Объект конфигурации
10
+ * @throws {Error} Если нет валидированных спецификаций для плоского формата
11
+ */
12
+ export declare function buildConfig(validatedSpecs: ValidatedSpec[], useMultiOption: boolean, customRequest?: string, perSpecRequest?: boolean): Promise<TRawOptions>;
13
+ /**
14
+ * Создает пример конфигурации, когда нет валидированных спецификаций
15
+ * @param useMultiOption - Использовать множественный формат (items)
16
+ * @param customRequest - Путь к кастомной реализации request (опционально)
17
+ * @param perSpecRequest - Использовать отдельный request для каждой спецификации (только для MULTI)
18
+ * @returns Объект конфигурации-примера
19
+ */
20
+ export declare function buildExampleConfig(useMultiOption: boolean, customRequest?: string, perSpecRequest?: boolean): TRawOptions;
21
+ //# sourceMappingURL=buildConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildConfig.d.ts","sourceRoot":"","sources":["../../../../src/cli/initOpenApiConfig/utils/buildConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CA8ClK;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,WAAW,CAuCzH"}