ts-openapi-codegen 2.0.0-beta.9 → 2.1.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (525) hide show
  1. package/README.md +177 -18
  2. package/README.rus.md +177 -21
  3. package/dist/cli/analyzeDiff/__tests__/analyzeDiff.cli.test.d.ts +2 -0
  4. package/dist/cli/analyzeDiff/__tests__/analyzeDiff.cli.test.d.ts.map +1 -0
  5. package/dist/cli/analyzeDiff/__tests__/analyzeDiff.cli.test.js +365 -0
  6. package/dist/cli/analyzeDiff/__tests__/analyzeDiffRenameAndInvalidRegex.test.d.ts +2 -0
  7. package/dist/cli/analyzeDiff/__tests__/analyzeDiffRenameAndInvalidRegex.test.d.ts.map +1 -0
  8. package/dist/cli/analyzeDiff/__tests__/analyzeDiffRenameAndInvalidRegex.test.js +142 -0
  9. package/dist/cli/analyzeDiff/__tests__/analyzeDiffTypeCoercion.test.d.ts +2 -0
  10. package/dist/cli/analyzeDiff/__tests__/analyzeDiffTypeCoercion.test.d.ts.map +1 -0
  11. package/dist/cli/analyzeDiff/__tests__/analyzeDiffTypeCoercion.test.js +137 -0
  12. package/dist/cli/analyzeDiff/analyzeDiff.d.ts +17 -0
  13. package/dist/cli/analyzeDiff/analyzeDiff.d.ts.map +1 -0
  14. package/dist/cli/analyzeDiff/analyzeDiff.js +105 -0
  15. package/dist/cli/analyzeDiff/buildLegacyReport.d.ts +17 -0
  16. package/dist/cli/analyzeDiff/buildLegacyReport.d.ts.map +1 -0
  17. package/dist/cli/analyzeDiff/buildLegacyReport.js +54 -0
  18. package/dist/cli/analyzeDiff/ciSummary.d.ts +6 -0
  19. package/dist/cli/analyzeDiff/ciSummary.d.ts.map +1 -0
  20. package/dist/cli/analyzeDiff/ciSummary.js +20 -0
  21. package/dist/cli/analyzeDiff/diffEngine.d.ts +54 -0
  22. package/dist/cli/analyzeDiff/diffEngine.d.ts.map +1 -0
  23. package/dist/cli/analyzeDiff/diffEngine.js +209 -0
  24. package/dist/cli/analyzeDiff/ignoreRules.d.ts +33 -0
  25. package/dist/cli/analyzeDiff/ignoreRules.d.ts.map +1 -0
  26. package/dist/cli/analyzeDiff/ignoreRules.js +93 -0
  27. package/dist/cli/analyzeDiff/ignoreSemanticChanges.d.ts +10 -0
  28. package/dist/cli/analyzeDiff/ignoreSemanticChanges.d.ts.map +1 -0
  29. package/dist/cli/analyzeDiff/ignoreSemanticChanges.js +84 -0
  30. package/dist/cli/analyzeDiff/logLegacyReport.d.ts +6 -0
  31. package/dist/cli/analyzeDiff/logLegacyReport.d.ts.map +1 -0
  32. package/dist/cli/analyzeDiff/logLegacyReport.js +29 -0
  33. package/dist/cli/analyzeDiff/miracles.d.ts +89 -0
  34. package/dist/cli/analyzeDiff/miracles.d.ts.map +1 -0
  35. package/dist/cli/analyzeDiff/miracles.js +325 -0
  36. package/dist/cli/analyzeDiff/pluginPaths.d.ts +5 -0
  37. package/dist/cli/analyzeDiff/pluginPaths.d.ts.map +1 -0
  38. package/dist/cli/analyzeDiff/pluginPaths.js +13 -0
  39. package/dist/cli/analyzeDiff/report.d.ts +3 -0
  40. package/dist/cli/analyzeDiff/report.d.ts.map +1 -0
  41. package/dist/cli/analyzeDiff/report.js +7 -0
  42. package/dist/cli/analyzeDiff/semanticDiffContext.d.ts +6 -0
  43. package/dist/cli/analyzeDiff/semanticDiffContext.d.ts.map +1 -0
  44. package/dist/cli/analyzeDiff/semanticDiffContext.js +16 -0
  45. package/dist/cli/analyzeDiff/specParser.d.ts +22 -0
  46. package/dist/cli/analyzeDiff/specParser.d.ts.map +1 -0
  47. package/dist/cli/analyzeDiff/specParser.js +80 -0
  48. package/dist/cli/analyzeDiff/types.d.ts +61 -0
  49. package/dist/cli/analyzeDiff/types.d.ts.map +1 -0
  50. package/dist/cli/analyzeDiff/types.js +2 -0
  51. package/dist/cli/analyzeDiff/writeLegacyReport.d.ts +6 -0
  52. package/dist/cli/analyzeDiff/writeLegacyReport.d.ts.map +1 -0
  53. package/dist/cli/analyzeDiff/writeLegacyReport.js +21 -0
  54. package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts.map +1 -1
  55. package/dist/cli/checkAndUpdateConfig/checkConfig.js +13 -8
  56. package/dist/cli/checkAndUpdateConfig/constants.d.ts +0 -9
  57. package/dist/cli/checkAndUpdateConfig/constants.d.ts.map +1 -1
  58. package/dist/cli/checkAndUpdateConfig/constants.js +1 -10
  59. package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts.map +1 -1
  60. package/dist/cli/checkAndUpdateConfig/updateConfig.js +11 -7
  61. package/dist/cli/checkAndUpdateConfig/utils/selectConfigAction.d.ts.map +1 -1
  62. package/dist/cli/checkAndUpdateConfig/utils/selectConfigAction.js +6 -3
  63. package/dist/cli/checkAndUpdateConfig/utils/updateExistingConfigFile.d.ts.map +1 -1
  64. package/dist/cli/checkAndUpdateConfig/utils/updateExistingConfigFile.js +3 -2
  65. package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.d.ts.map +1 -1
  66. package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.js +5 -0
  67. package/dist/cli/checkAndUpdateConfig/utils/writeExampleConfigFile.d.ts.map +1 -1
  68. package/dist/cli/checkAndUpdateConfig/utils/writeExampleConfigFile.js +2 -2
  69. package/dist/cli/generateOpenApiClient/__tests__/generateOpenApiClient.strict.test.d.ts +2 -0
  70. package/dist/cli/generateOpenApiClient/__tests__/generateOpenApiClient.strict.test.d.ts.map +1 -0
  71. package/dist/cli/generateOpenApiClient/__tests__/generateOpenApiClient.strict.test.js +152 -0
  72. package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts +6 -2
  73. package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts.map +1 -1
  74. package/dist/cli/generateOpenApiClient/generateOpenApiClient.js +70 -22
  75. package/dist/cli/index.js +62 -5
  76. package/dist/cli/initOpenApiConfig/init.d.ts.map +1 -1
  77. package/dist/cli/initOpenApiConfig/init.js +19 -6
  78. package/dist/cli/initOpenApiConfig/initConfig.d.ts +1 -0
  79. package/dist/cli/initOpenApiConfig/initConfig.d.ts.map +1 -1
  80. package/dist/cli/initOpenApiConfig/initConfig.js +47 -24
  81. package/dist/cli/initOpenApiConfig/initCustomRequest.d.ts +8 -1
  82. package/dist/cli/initOpenApiConfig/initCustomRequest.d.ts.map +1 -1
  83. package/dist/cli/initOpenApiConfig/initCustomRequest.js +40 -8
  84. package/dist/cli/initOpenApiConfig/utils/buildConfig.d.ts.map +1 -1
  85. package/dist/cli/initOpenApiConfig/utils/buildConfig.js +60 -0
  86. package/dist/cli/initOpenApiConfig/utils/validateSpecFile.d.ts.map +1 -1
  87. package/dist/cli/initOpenApiConfig/utils/validateSpecFile.js +2 -1
  88. package/dist/cli/initOpenApiConfig/utils/writeConfigFile.d.ts.map +1 -1
  89. package/dist/cli/initOpenApiConfig/utils/writeConfigFile.js +2 -1
  90. package/dist/cli/interactive/confirmDialog.d.ts.map +1 -1
  91. package/dist/cli/interactive/confirmDialog.js +3 -2
  92. package/dist/cli/interactive/constants.d.ts +2 -2
  93. package/dist/cli/interactive/constants.js +8 -8
  94. package/dist/cli/interactive/selectDialog.d.ts.map +1 -1
  95. package/dist/cli/interactive/selectDialog.js +11 -6
  96. package/dist/cli/previewChanges/previewChanges.d.ts.map +1 -1
  97. package/dist/cli/previewChanges/previewChanges.js +151 -39
  98. package/dist/cli/previewChanges/utils/updateOutputPaths.d.ts.map +1 -1
  99. package/dist/cli/previewChanges/utils/updateOutputPaths.js +6 -0
  100. package/dist/cli/schemas/analyzeDiff.d.ts +14 -0
  101. package/dist/cli/schemas/analyzeDiff.d.ts.map +1 -0
  102. package/dist/cli/schemas/analyzeDiff.js +28 -0
  103. package/dist/cli/schemas/generate.d.ts +9 -0
  104. package/dist/cli/schemas/generate.d.ts.map +1 -1
  105. package/dist/cli/schemas/generate.js +9 -0
  106. package/dist/cli/schemas/index.d.ts +3 -1
  107. package/dist/cli/schemas/index.d.ts.map +1 -1
  108. package/dist/cli/schemas/index.js +2 -0
  109. package/dist/common/Consts.d.ts +1 -0
  110. package/dist/common/Consts.d.ts.map +1 -1
  111. package/dist/common/Consts.js +19 -2
  112. package/dist/common/Logger.d.ts +20 -1
  113. package/dist/common/Logger.d.ts.map +1 -1
  114. package/dist/common/Logger.js +70 -9
  115. package/dist/common/LoggerMessages.d.ts +136 -33
  116. package/dist/common/LoggerMessages.d.ts.map +1 -1
  117. package/dist/common/LoggerMessages.js +119 -45
  118. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts +1 -1
  119. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts.map +1 -1
  120. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.js +20 -4
  121. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts +4 -0
  122. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts.map +1 -1
  123. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts +10 -2
  124. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts.map +1 -1
  125. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts +10 -2
  126. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts.map +1 -1
  127. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts +10 -2
  128. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts.map +1 -1
  129. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts +77 -0
  130. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts.map +1 -0
  131. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.js +41 -0
  132. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts +79 -0
  133. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts.map +1 -0
  134. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.js +19 -0
  135. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts +326 -28
  136. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts.map +1 -1
  137. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.js +15 -17
  138. package/dist/common/VersionedSchema/CommonSchemas.d.ts +52 -4
  139. package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
  140. package/dist/common/VersionedSchema/CommonSchemas.js +48 -7
  141. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts +6 -2
  142. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts.map +1 -1
  143. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts +4 -0
  144. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts.map +1 -1
  145. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts +4 -0
  146. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -1
  147. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts +6 -2
  148. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts.map +1 -1
  149. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts +6 -2
  150. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -1
  151. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts +6 -2
  152. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts.map +1 -1
  153. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts +4 -0
  154. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts.map +1 -1
  155. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts +4 -0
  156. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts.map +1 -1
  157. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +6 -2
  158. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts.map +1 -1
  159. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts.map +1 -1
  160. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.js +40 -1
  161. package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.d.ts +2 -0
  162. package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.d.ts.map +1 -0
  163. package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.js +185 -0
  164. package/dist/common/VersionedSchema/Utils/__tests__/compareShapes.test.js +20 -3
  165. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.js +19 -1
  166. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts +4 -0
  167. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts.map +1 -1
  168. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.js +68 -23
  169. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.d.ts +1 -1
  170. package/dist/common/VersionedSchema/Utils/getUniqueKeysFromSchemas.js +1 -1
  171. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts +10 -0
  172. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
  173. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +34 -15
  174. package/dist/common/__tests__/Logger.test.d.ts +2 -0
  175. package/dist/common/__tests__/Logger.test.d.ts.map +1 -0
  176. package/dist/common/__tests__/Logger.test.js +100 -0
  177. package/dist/common/utils/__tests__/convertArrayToObject.test.js +67 -169
  178. package/dist/common/utils/__tests__/eslintFix.test.d.ts +2 -0
  179. package/dist/common/utils/__tests__/eslintFix.test.d.ts.map +1 -0
  180. package/dist/common/utils/__tests__/eslintFix.test.js +134 -0
  181. package/dist/common/utils/__tests__/format.test.d.ts +2 -0
  182. package/dist/common/utils/__tests__/format.test.d.ts.map +1 -0
  183. package/dist/common/utils/__tests__/format.test.js +90 -0
  184. package/dist/common/utils/convertArrayToObject.d.ts.map +1 -1
  185. package/dist/common/utils/convertArrayToObject.js +54 -14
  186. package/dist/common/utils/eslintFix.d.ts +7 -0
  187. package/dist/common/utils/eslintFix.d.ts.map +1 -0
  188. package/dist/common/utils/eslintFix.js +78 -0
  189. package/dist/common/utils/format.d.ts +1 -1
  190. package/dist/common/utils/format.d.ts.map +1 -1
  191. package/dist/common/utils/format.js +39 -15
  192. package/dist/common/utils/jsonPath.d.ts +5 -0
  193. package/dist/common/utils/jsonPath.d.ts.map +1 -0
  194. package/dist/common/utils/jsonPath.js +27 -0
  195. package/dist/common/utils/normalizeObject.d.ts +2 -0
  196. package/dist/common/utils/normalizeObject.d.ts.map +1 -0
  197. package/dist/common/utils/normalizeObject.js +63 -0
  198. package/dist/core/Context.d.ts +8 -1
  199. package/dist/core/Context.d.ts.map +1 -1
  200. package/dist/core/Context.js +23 -4
  201. package/dist/core/OpenApiClient.d.ts +2 -0
  202. package/dist/core/OpenApiClient.d.ts.map +1 -1
  203. package/dist/core/OpenApiClient.js +127 -6
  204. package/dist/core/WriteClient.d.ts +12 -1
  205. package/dist/core/WriteClient.d.ts.map +1 -1
  206. package/dist/core/WriteClient.js +83 -8
  207. package/dist/core/__tests__/WriteClient.test.js +6 -1
  208. package/dist/core/api/v2/parser/__tests__/getModel.test.d.ts +2 -0
  209. package/dist/core/api/v2/parser/__tests__/getModel.test.d.ts.map +1 -0
  210. package/dist/core/api/v2/parser/__tests__/getModel.test.js +34 -0
  211. package/dist/core/api/v2/parser/getModel.d.ts.map +1 -1
  212. package/dist/core/api/v2/parser/getModel.js +6 -1
  213. package/dist/core/api/v2/parser/getOperation.d.ts.map +1 -1
  214. package/dist/core/api/v2/parser/getOperation.js +2 -0
  215. package/dist/core/api/v2/parser/getOperationResponses.d.ts.map +1 -1
  216. package/dist/core/api/v2/parser/getOperationResponses.js +9 -1
  217. package/dist/core/api/v2/parser/getType.d.ts.map +1 -1
  218. package/dist/core/api/v2/parser/getType.js +2 -1
  219. package/dist/core/api/v2/types/OpenApiSchema.model.d.ts +2 -0
  220. package/dist/core/api/v2/types/OpenApiSchema.model.d.ts.map +1 -1
  221. package/dist/core/api/v3/parser/__tests__/getContent.test.d.ts +2 -0
  222. package/dist/core/api/v3/parser/__tests__/getContent.test.d.ts.map +1 -0
  223. package/dist/core/api/v3/parser/__tests__/getContent.test.js +65 -0
  224. package/dist/core/api/v3/parser/__tests__/getModel.test.d.ts +2 -0
  225. package/dist/core/api/v3/parser/__tests__/getModel.test.d.ts.map +1 -0
  226. package/dist/core/api/v3/parser/__tests__/getModel.test.js +34 -0
  227. package/dist/core/api/v3/parser/getContent.d.ts.map +1 -1
  228. package/dist/core/api/v3/parser/getContent.js +21 -11
  229. package/dist/core/api/v3/parser/getModel.d.ts.map +1 -1
  230. package/dist/core/api/v3/parser/getModel.js +6 -1
  231. package/dist/core/api/v3/parser/getOperation.d.ts.map +1 -1
  232. package/dist/core/api/v3/parser/getOperation.js +2 -0
  233. package/dist/core/api/v3/parser/getOperationResponses.d.ts.map +1 -1
  234. package/dist/core/api/v3/parser/getOperationResponses.js +9 -1
  235. package/dist/core/api/v3/parser/getType.d.ts.map +1 -1
  236. package/dist/core/api/v3/parser/getType.js +2 -1
  237. package/dist/core/api/v3/types/OpenApiSchema.model.d.ts +2 -0
  238. package/dist/core/api/v3/types/OpenApiSchema.model.d.ts.map +1 -1
  239. package/dist/core/governance/__tests__/evaluateGovernanceRules.test.d.ts +2 -0
  240. package/dist/core/governance/__tests__/evaluateGovernanceRules.test.d.ts.map +1 -0
  241. package/dist/core/governance/__tests__/evaluateGovernanceRules.test.js +100 -0
  242. package/dist/core/governance/__tests__/loadGovernanceConfig.test.d.ts +2 -0
  243. package/dist/core/governance/__tests__/loadGovernanceConfig.test.d.ts.map +1 -0
  244. package/dist/core/governance/__tests__/loadGovernanceConfig.test.js +71 -0
  245. package/dist/core/governance/evaluateGovernanceRules.d.ts +42 -0
  246. package/dist/core/governance/evaluateGovernanceRules.d.ts.map +1 -0
  247. package/dist/core/governance/evaluateGovernanceRules.js +134 -0
  248. package/dist/core/governance/governanceConfigSchema.d.ts +4 -0
  249. package/dist/core/governance/governanceConfigSchema.d.ts.map +1 -0
  250. package/dist/core/governance/governanceConfigSchema.js +39 -0
  251. package/dist/core/governance/loadGovernanceConfig.d.ts +7 -0
  252. package/dist/core/governance/loadGovernanceConfig.d.ts.map +1 -0
  253. package/dist/core/governance/loadGovernanceConfig.js +60 -0
  254. package/dist/core/index.d.ts +3 -0
  255. package/dist/core/index.d.ts.map +1 -1
  256. package/dist/core/index.js +4 -2
  257. package/dist/core/plugins/GeneratorPlugin.model.d.ts +42 -0
  258. package/dist/core/plugins/GeneratorPlugin.model.d.ts.map +1 -0
  259. package/dist/core/plugins/GeneratorPlugin.model.js +2 -0
  260. package/dist/core/plugins/__tests__/applySemanticDiffPluginHooks.test.d.ts +2 -0
  261. package/dist/core/plugins/__tests__/applySemanticDiffPluginHooks.test.d.ts.map +1 -0
  262. package/dist/core/plugins/__tests__/applySemanticDiffPluginHooks.test.js +115 -0
  263. package/dist/core/plugins/__tests__/loadGeneratorPlugins.test.d.ts +2 -0
  264. package/dist/core/plugins/__tests__/loadGeneratorPlugins.test.d.ts.map +1 -0
  265. package/dist/core/plugins/__tests__/loadGeneratorPlugins.test.js +62 -0
  266. package/dist/core/plugins/applySemanticDiffPluginHooks.d.ts +28 -0
  267. package/dist/core/plugins/applySemanticDiffPluginHooks.d.ts.map +1 -0
  268. package/dist/core/plugins/applySemanticDiffPluginHooks.js +160 -0
  269. package/dist/core/plugins/builtins/xTypescriptTypePlugin.d.ts +6 -0
  270. package/dist/core/plugins/builtins/xTypescriptTypePlugin.d.ts.map +1 -0
  271. package/dist/core/plugins/builtins/xTypescriptTypePlugin.js +13 -0
  272. package/dist/core/plugins/getBuiltinPlugins.d.ts +6 -0
  273. package/dist/core/plugins/getBuiltinPlugins.d.ts.map +1 -0
  274. package/dist/core/plugins/getBuiltinPlugins.js +10 -0
  275. package/dist/core/plugins/index.d.ts +4 -0
  276. package/dist/core/plugins/index.d.ts.map +1 -0
  277. package/dist/core/plugins/index.js +5 -0
  278. package/dist/core/plugins/loadGeneratorPlugins.d.ts +6 -0
  279. package/dist/core/plugins/loadGeneratorPlugins.d.ts.map +1 -0
  280. package/dist/core/plugins/loadGeneratorPlugins.js +94 -0
  281. package/dist/core/semanticDiff/__tests__/analyzeOpenApiDiff.test.d.ts +2 -0
  282. package/dist/core/semanticDiff/__tests__/analyzeOpenApiDiff.test.d.ts.map +1 -0
  283. package/dist/core/semanticDiff/__tests__/analyzeOpenApiDiff.test.js +537 -0
  284. package/dist/core/semanticDiff/__tests__/semanticDiffReportSchema.test.d.ts +2 -0
  285. package/dist/core/semanticDiff/__tests__/semanticDiffReportSchema.test.d.ts.map +1 -0
  286. package/dist/core/semanticDiff/__tests__/semanticDiffReportSchema.test.js +66 -0
  287. package/dist/core/semanticDiff/analyzeOpenApiDiff.d.ts +45 -0
  288. package/dist/core/semanticDiff/analyzeOpenApiDiff.d.ts.map +1 -0
  289. package/dist/core/semanticDiff/analyzeOpenApiDiff.js +640 -0
  290. package/dist/core/semanticDiff/semanticDiffReportSchema.d.ts +11 -0
  291. package/dist/core/semanticDiff/semanticDiffReportSchema.d.ts.map +1 -0
  292. package/dist/core/semanticDiff/semanticDiffReportSchema.js +132 -0
  293. package/dist/core/strict/__tests__/validateOpenApiStrict.test.d.ts +2 -0
  294. package/dist/core/strict/__tests__/validateOpenApiStrict.test.d.ts.map +1 -0
  295. package/dist/core/strict/__tests__/validateOpenApiStrict.test.js +156 -0
  296. package/dist/core/strict/validateOpenApiStrict.d.ts +43 -0
  297. package/dist/core/strict/validateOpenApiStrict.d.ts.map +1 -0
  298. package/dist/core/strict/validateOpenApiStrict.js +253 -0
  299. package/dist/core/types/base/ClientArtifacts.model.d.ts +2 -0
  300. package/dist/core/types/base/ClientArtifacts.model.d.ts.map +1 -1
  301. package/dist/core/types/base/Templates.model.d.ts +4 -1
  302. package/dist/core/types/base/Templates.model.d.ts.map +1 -1
  303. package/dist/core/types/enums/EmptySchemaStrategy.enum.d.ts +6 -0
  304. package/dist/core/types/enums/EmptySchemaStrategy.enum.d.ts.map +1 -0
  305. package/dist/core/types/enums/EmptySchemaStrategy.enum.js +9 -0
  306. package/dist/core/types/enums/ModelsMode.enum.d.ts +5 -0
  307. package/dist/core/types/enums/ModelsMode.enum.d.ts.map +1 -0
  308. package/dist/core/types/enums/ModelsMode.enum.js +8 -0
  309. package/dist/core/types/shared/Client.model.d.ts +2 -0
  310. package/dist/core/types/shared/Client.model.d.ts.map +1 -1
  311. package/dist/core/types/shared/DiffInfo.model.d.ts +13 -0
  312. package/dist/core/types/shared/DiffInfo.model.d.ts.map +1 -0
  313. package/dist/core/types/shared/DiffInfo.model.js +2 -0
  314. package/dist/core/types/shared/Miracle.model.d.ts +13 -0
  315. package/dist/core/types/shared/Miracle.model.d.ts.map +1 -0
  316. package/dist/core/types/shared/Miracle.model.js +2 -0
  317. package/dist/core/types/shared/Model.model.d.ts +23 -0
  318. package/dist/core/types/shared/Model.model.d.ts.map +1 -1
  319. package/dist/core/types/shared/Operation.model.d.ts +5 -0
  320. package/dist/core/types/shared/Operation.model.d.ts.map +1 -1
  321. package/dist/core/utils/__mocks__/templates.d.ts.map +1 -1
  322. package/dist/core/utils/__mocks__/templates.js +9 -0
  323. package/dist/core/utils/__tests__/applyDiffReportToClient.test.d.ts +2 -0
  324. package/dist/core/utils/__tests__/applyDiffReportToClient.test.d.ts.map +1 -0
  325. package/dist/core/utils/__tests__/applyDiffReportToClient.test.js +108 -0
  326. package/dist/core/utils/__tests__/getMappedType.test.js +2 -0
  327. package/dist/core/utils/__tests__/getOperationResponseCode.test.js +7 -2
  328. package/dist/core/utils/__tests__/getOperationResults.test.d.ts +2 -0
  329. package/dist/core/utils/__tests__/getOperationResults.test.d.ts.map +1 -0
  330. package/dist/core/utils/__tests__/getOperationResults.test.js +43 -0
  331. package/dist/core/utils/__tests__/getRelativeModelPath.test.d.ts +2 -0
  332. package/dist/core/utils/__tests__/getRelativeModelPath.test.d.ts.map +1 -0
  333. package/dist/core/utils/__tests__/getRelativeModelPath.test.js +27 -0
  334. package/dist/core/utils/__tests__/modelHelpers.test.d.ts +2 -0
  335. package/dist/core/utils/__tests__/modelHelpers.test.d.ts.map +1 -0
  336. package/dist/core/utils/__tests__/modelHelpers.test.js +151 -0
  337. package/dist/core/utils/__tests__/postProcessModelImports.test.d.ts +2 -0
  338. package/dist/core/utils/__tests__/postProcessModelImports.test.d.ts.map +1 -0
  339. package/dist/core/utils/__tests__/postProcessModelImports.test.js +67 -0
  340. package/dist/core/utils/__tests__/postProcessServiceImports.test.d.ts +2 -0
  341. package/dist/core/utils/__tests__/postProcessServiceImports.test.d.ts.map +1 -0
  342. package/dist/core/utils/__tests__/postProcessServiceImports.test.js +26 -0
  343. package/dist/core/utils/__tests__/prepareDtoModels.test.d.ts +2 -0
  344. package/dist/core/utils/__tests__/prepareDtoModels.test.d.ts.map +1 -0
  345. package/dist/core/utils/__tests__/prepareDtoModels.test.js +116 -0
  346. package/dist/core/utils/__tests__/resolveRefPath.test.d.ts +2 -0
  347. package/dist/core/utils/__tests__/resolveRefPath.test.d.ts.map +1 -0
  348. package/dist/core/utils/__tests__/resolveRefPath.test.js +22 -0
  349. package/dist/core/utils/__tests__/serviceHelpers.test.d.ts +2 -0
  350. package/dist/core/utils/__tests__/serviceHelpers.test.d.ts.map +1 -0
  351. package/dist/core/utils/__tests__/serviceHelpers.test.js +122 -0
  352. package/dist/core/utils/__tests__/writeClientExecutor.test.d.ts +2 -0
  353. package/dist/core/utils/__tests__/writeClientExecutor.test.d.ts.map +1 -0
  354. package/dist/core/utils/__tests__/writeClientExecutor.test.js +20 -0
  355. package/dist/core/utils/__tests__/writeClientModels.test.js +50 -0
  356. package/dist/core/utils/__tests__/writeClientSchemas.test.js +2 -0
  357. package/dist/core/utils/applyDiffReportToClient.d.ts +14 -0
  358. package/dist/core/utils/applyDiffReportToClient.d.ts.map +1 -0
  359. package/dist/core/utils/applyDiffReportToClient.js +367 -0
  360. package/dist/core/utils/getMappedType.d.ts.map +1 -1
  361. package/dist/core/utils/getMappedType.js +2 -0
  362. package/dist/core/utils/getOperationResponseCode.d.ts.map +1 -1
  363. package/dist/core/utils/getOperationResponseCode.js +10 -8
  364. package/dist/core/utils/getRelativeModelPath.d.ts +9 -0
  365. package/dist/core/utils/getRelativeModelPath.d.ts.map +1 -0
  366. package/dist/core/utils/getRelativeModelPath.js +37 -0
  367. package/dist/core/utils/loadDiffReport.d.ts +39 -0
  368. package/dist/core/utils/loadDiffReport.d.ts.map +1 -0
  369. package/dist/core/utils/loadDiffReport.js +51 -0
  370. package/dist/core/utils/modelHelpers.d.ts.map +1 -1
  371. package/dist/core/utils/modelHelpers.js +37 -3
  372. package/dist/core/utils/postProcessModelImports.d.ts.map +1 -1
  373. package/dist/core/utils/postProcessModelImports.js +14 -1
  374. package/dist/core/utils/postProcessServiceImports.d.ts.map +1 -1
  375. package/dist/core/utils/postProcessServiceImports.js +1 -2
  376. package/dist/core/utils/precompileTemplates.js +1 -0
  377. package/dist/core/utils/prepareDtoModels.d.ts +3 -0
  378. package/dist/core/utils/prepareDtoModels.d.ts.map +1 -0
  379. package/dist/core/utils/prepareDtoModels.js +189 -0
  380. package/dist/core/utils/registerHandlebarHelpers.d.ts.map +1 -1
  381. package/dist/core/utils/registerHandlebarHelpers.js +29 -1
  382. package/dist/core/utils/registerHandlebarTemplates.d.ts.map +1 -1
  383. package/dist/core/utils/registerHandlebarTemplates.js +48 -41
  384. package/dist/core/utils/resolveRefPath.d.ts.map +1 -1
  385. package/dist/core/utils/resolveRefPath.js +1 -4
  386. package/dist/core/utils/validateRawOptions.d.ts +1 -1
  387. package/dist/core/utils/validateRawOptions.d.ts.map +1 -1
  388. package/dist/core/utils/validateRawOptions.js +4 -2
  389. package/dist/core/utils/writeClientCore.d.ts +2 -0
  390. package/dist/core/utils/writeClientCore.d.ts.map +1 -1
  391. package/dist/core/utils/writeClientCore.js +6 -1
  392. package/dist/core/utils/writeClientCoreIndex.d.ts +1 -0
  393. package/dist/core/utils/writeClientCoreIndex.d.ts.map +1 -1
  394. package/dist/core/utils/writeClientCoreIndex.js +2 -2
  395. package/dist/core/utils/writeClientExecutor.d.ts +6 -1
  396. package/dist/core/utils/writeClientExecutor.d.ts.map +1 -1
  397. package/dist/core/utils/writeClientExecutor.js +22 -3
  398. package/dist/core/utils/writeClientFullIndex.d.ts.map +1 -1
  399. package/dist/core/utils/writeClientFullIndex.js +3 -1
  400. package/dist/core/utils/writeClientModels.d.ts +6 -0
  401. package/dist/core/utils/writeClientModels.d.ts.map +1 -1
  402. package/dist/core/utils/writeClientModels.js +24 -3
  403. package/dist/core/utils/writeClientModelsIndex.d.ts +2 -0
  404. package/dist/core/utils/writeClientModelsIndex.d.ts.map +1 -1
  405. package/dist/core/utils/writeClientModelsIndex.js +2 -2
  406. package/dist/core/utils/writeClientSchemas.d.ts +6 -1
  407. package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
  408. package/dist/core/utils/writeClientSchemas.js +16 -3
  409. package/dist/core/utils/writeClientServices.d.ts +2 -0
  410. package/dist/core/utils/writeClientServices.d.ts.map +1 -1
  411. package/dist/core/utils/writeClientServices.js +6 -2
  412. package/dist/templatesCompiled/cli/openApiConfig.d.ts +4 -1
  413. package/dist/templatesCompiled/cli/openApiConfig.d.ts.map +1 -1
  414. package/dist/templatesCompiled/cli/openApiConfig.js +88 -37
  415. package/dist/templatesCompiled/client/core/ApiError.js +1 -1
  416. package/dist/templatesCompiled/client/core/ApiRequestOptions.js +1 -1
  417. package/dist/templatesCompiled/client/core/ApiResult.js +1 -1
  418. package/dist/templatesCompiled/client/core/BaseDto.d.ts +8 -0
  419. package/dist/templatesCompiled/client/core/BaseDto.d.ts.map +1 -0
  420. package/dist/templatesCompiled/client/core/BaseDto.js +18 -0
  421. package/dist/templatesCompiled/client/core/axios/getResponseBody.js +1 -1
  422. package/dist/templatesCompiled/client/core/axios/request.js +3 -3
  423. package/dist/templatesCompiled/client/core/axios/sendRequest.js +4 -4
  424. package/dist/templatesCompiled/client/core/dtoUtils.d.ts +8 -0
  425. package/dist/templatesCompiled/client/core/dtoUtils.d.ts.map +1 -0
  426. package/dist/templatesCompiled/client/core/dtoUtils.js +18 -0
  427. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts +2 -0
  428. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts.map +1 -1
  429. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.js +13 -8
  430. package/dist/templatesCompiled/client/core/executor/requestExecutor.js +1 -1
  431. package/dist/templatesCompiled/client/core/fetch/getResponseBody.js +1 -1
  432. package/dist/templatesCompiled/client/core/fetch/request.js +3 -3
  433. package/dist/templatesCompiled/client/core/functions/catchErrors.js +1 -1
  434. package/dist/templatesCompiled/client/core/functions/isBinary.js +1 -1
  435. package/dist/templatesCompiled/client/core/interceptors/withInterceptors.js +1 -1
  436. package/dist/templatesCompiled/client/core/node/getResponseBody.js +1 -1
  437. package/dist/templatesCompiled/client/core/node/request.js +3 -3
  438. package/dist/templatesCompiled/client/core/xhr/getResponseBody.js +1 -1
  439. package/dist/templatesCompiled/client/core/xhr/request.js +3 -3
  440. package/dist/templatesCompiled/client/core/xhr/sendRequest.js +4 -4
  441. package/dist/templatesCompiled/client/exportClient.d.ts +4 -0
  442. package/dist/templatesCompiled/client/exportClient.d.ts.map +1 -1
  443. package/dist/templatesCompiled/client/exportClient.js +51 -13
  444. package/dist/templatesCompiled/client/exportModels.d.ts +34 -0
  445. package/dist/templatesCompiled/client/exportModels.d.ts.map +1 -0
  446. package/dist/templatesCompiled/client/exportModels.js +280 -0
  447. package/dist/templatesCompiled/client/exportSchema.d.ts +5 -1
  448. package/dist/templatesCompiled/client/exportSchema.d.ts.map +1 -1
  449. package/dist/templatesCompiled/client/exportSchema.js +37 -7
  450. package/dist/templatesCompiled/client/exportService.d.ts +9 -4
  451. package/dist/templatesCompiled/client/exportService.d.ts.map +1 -1
  452. package/dist/templatesCompiled/client/exportService.js +96 -37
  453. package/dist/templatesCompiled/client/indexCore.d.ts +3 -1
  454. package/dist/templatesCompiled/client/indexCore.d.ts.map +1 -1
  455. package/dist/templatesCompiled/client/indexCore.js +13 -2
  456. package/dist/templatesCompiled/client/indexFull.d.ts +10 -7
  457. package/dist/templatesCompiled/client/indexFull.d.ts.map +1 -1
  458. package/dist/templatesCompiled/client/indexFull.js +54 -33
  459. package/dist/templatesCompiled/client/indexModels.d.ts +7 -5
  460. package/dist/templatesCompiled/client/indexModels.d.ts.map +1 -1
  461. package/dist/templatesCompiled/client/indexModels.js +27 -18
  462. package/dist/templatesCompiled/client/indexSimple.d.ts +1 -0
  463. package/dist/templatesCompiled/client/indexSimple.d.ts.map +1 -1
  464. package/dist/templatesCompiled/client/indexSimple.js +4 -1
  465. package/dist/templatesCompiled/client/joi/exportSchema.js +5 -5
  466. package/dist/templatesCompiled/client/joi/partials/joiSchema.js +7 -7
  467. package/dist/templatesCompiled/client/joi/partials/joiSchemaComposition.js +4 -4
  468. package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.d.ts +27 -19
  469. package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.d.ts.map +1 -1
  470. package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.js +144 -63
  471. package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.d.ts +5 -3
  472. package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.d.ts.map +1 -1
  473. package/dist/templatesCompiled/client/joi/partials/joiSchemaInterface.js +39 -12
  474. package/dist/templatesCompiled/client/jsonschema/exportSchema.d.ts +1 -0
  475. package/dist/templatesCompiled/client/jsonschema/exportSchema.d.ts.map +1 -1
  476. package/dist/templatesCompiled/client/jsonschema/exportSchema.js +21 -17
  477. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchema.js +7 -7
  478. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaArray.js +5 -5
  479. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaComposition.js +2 -2
  480. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaDictionary.js +5 -5
  481. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.d.ts +3 -1
  482. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.d.ts.map +1 -1
  483. package/dist/templatesCompiled/client/jsonschema/partials/jsonschemaSchemaInterface.js +45 -15
  484. package/dist/templatesCompiled/client/partials/exportInterface.d.ts +13 -5
  485. package/dist/templatesCompiled/client/partials/exportInterface.d.ts.map +1 -1
  486. package/dist/templatesCompiled/client/partials/exportInterface.js +91 -21
  487. package/dist/templatesCompiled/client/partials/result.d.ts +6 -4
  488. package/dist/templatesCompiled/client/partials/result.d.ts.map +1 -1
  489. package/dist/templatesCompiled/client/partials/result.js +16 -6
  490. package/dist/templatesCompiled/client/partials/serviceOption.d.ts +1 -0
  491. package/dist/templatesCompiled/client/partials/serviceOption.d.ts.map +1 -1
  492. package/dist/templatesCompiled/client/partials/serviceOption.js +11 -4
  493. package/dist/templatesCompiled/client/yup/exportSchema.js +3 -3
  494. package/dist/templatesCompiled/client/yup/partials/yupSchema.js +7 -7
  495. package/dist/templatesCompiled/client/yup/partials/yupSchemaComposition.js +4 -4
  496. package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.d.ts +22 -16
  497. package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.d.ts.map +1 -1
  498. package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.js +72 -60
  499. package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.d.ts +5 -3
  500. package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.d.ts.map +1 -1
  501. package/dist/templatesCompiled/client/yup/partials/yupSchemaInterface.js +39 -12
  502. package/dist/templatesCompiled/client/zod/exportSchema.js +3 -3
  503. package/dist/templatesCompiled/client/zod/partials/zodSchema.js +7 -7
  504. package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.d.ts +5 -6
  505. package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.d.ts.map +1 -1
  506. package/dist/templatesCompiled/client/zod/partials/zodSchemaArray.js +14 -28
  507. package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.d.ts +3 -0
  508. package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.d.ts.map +1 -1
  509. package/dist/templatesCompiled/client/zod/partials/zodSchemaComposition.js +32 -8
  510. package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.d.ts +3 -4
  511. package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.d.ts.map +1 -1
  512. package/dist/templatesCompiled/client/zod/partials/zodSchemaDictionary.js +9 -23
  513. package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.d.ts +27 -19
  514. package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.d.ts.map +1 -1
  515. package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.js +77 -61
  516. package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.d.ts +4 -2
  517. package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.d.ts.map +1 -1
  518. package/dist/templatesCompiled/client/zod/partials/zodSchemaInterface.js +18 -7
  519. package/package.json +8 -6
  520. package/dist/common/defaultOptions.d.ts +0 -3
  521. package/dist/common/defaultOptions.d.ts.map +0 -1
  522. package/dist/common/defaultOptions.js +0 -28
  523. package/dist/core/utils/advancedDeduplicatePath.d.ts +0 -5
  524. package/dist/core/utils/advancedDeduplicatePath.d.ts.map +0 -1
  525. package/dist/core/utils/advancedDeduplicatePath.js +0 -29
@@ -31,7 +31,22 @@ async function buildConfig(validatedSpecs, useMultiOption, customRequest, perSpe
31
31
  useOptions: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useOptions,
32
32
  useSeparatedIndexes: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useSeparatedIndexes,
33
33
  useUnionTypes: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useUnionTypes,
34
+ modelsMode: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.modelsMode,
35
+ useHistory: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useHistory,
36
+ diffReport: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.diffReport,
34
37
  ...(!perSpecRequest && customRequest ? { request: customRequest } : {}),
38
+ models: {
39
+ mode: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.modelsMode,
40
+ },
41
+ analyze: {
42
+ useHistory: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useHistory,
43
+ reportPath: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.diffReport,
44
+ },
45
+ miracles: {
46
+ enabled: true,
47
+ confidence: 1,
48
+ types: ['RENAME', 'TYPE_COERCION'],
49
+ },
35
50
  };
36
51
  }
37
52
  else {
@@ -53,7 +68,22 @@ async function buildConfig(validatedSpecs, useMultiOption, customRequest, perSpe
53
68
  useOptions: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useOptions,
54
69
  useSeparatedIndexes: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useSeparatedIndexes,
55
70
  useUnionTypes: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useUnionTypes,
71
+ modelsMode: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.modelsMode,
72
+ useHistory: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useHistory,
73
+ diffReport: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.diffReport,
56
74
  ...(customRequest ? { request: customRequest } : {}),
75
+ models: {
76
+ mode: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.modelsMode,
77
+ },
78
+ analyze: {
79
+ useHistory: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useHistory,
80
+ reportPath: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.diffReport,
81
+ },
82
+ miracles: {
83
+ enabled: true,
84
+ confidence: 1,
85
+ types: ['RENAME', 'TYPE_COERCION'],
86
+ },
57
87
  };
58
88
  }
59
89
  }
@@ -84,7 +114,22 @@ function buildExampleConfig(useMultiOption, customRequest, perSpecRequest) {
84
114
  useOptions: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useOptions,
85
115
  useSeparatedIndexes: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useSeparatedIndexes,
86
116
  useUnionTypes: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useUnionTypes,
117
+ modelsMode: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.modelsMode,
118
+ useHistory: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useHistory,
119
+ diffReport: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.diffReport,
87
120
  ...(!perSpecRequest && customRequest ? { request: customRequest } : {}),
121
+ models: {
122
+ mode: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.modelsMode,
123
+ },
124
+ analyze: {
125
+ useHistory: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useHistory,
126
+ reportPath: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.diffReport,
127
+ },
128
+ miracles: {
129
+ enabled: true,
130
+ confidence: 1,
131
+ types: ['RENAME', 'TYPE_COERCION'],
132
+ },
88
133
  };
89
134
  }
90
135
  else {
@@ -101,7 +146,22 @@ function buildExampleConfig(useMultiOption, customRequest, perSpecRequest) {
101
146
  useOptions: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useOptions,
102
147
  useSeparatedIndexes: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useSeparatedIndexes,
103
148
  useUnionTypes: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useUnionTypes,
149
+ modelsMode: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.modelsMode,
150
+ useHistory: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useHistory,
151
+ diffReport: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.diffReport,
104
152
  ...(customRequest ? { request: customRequest } : {}),
153
+ models: {
154
+ mode: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.modelsMode,
155
+ },
156
+ analyze: {
157
+ useHistory: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.useHistory,
158
+ reportPath: Consts_1.COMMON_DEFAULT_OPTIONS_VALUES.diffReport,
159
+ },
160
+ miracles: {
161
+ enabled: true,
162
+ confidence: 1,
163
+ types: ['RENAME', 'TYPE_COERCION'],
164
+ },
105
165
  };
106
166
  }
107
167
  }
@@ -1 +1 @@
1
- {"version":3,"file":"validateSpecFile.d.ts","sourceRoot":"","sources":["../../../../src/cli/initOpenApiConfig/utils/validateSpecFile.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQzE"}
1
+ {"version":3,"file":"validateSpecFile.d.ts","sourceRoot":"","sources":["../../../../src/cli/initOpenApiConfig/utils/validateSpecFile.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAQzE"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.validateSpecFile = validateSpecFile;
7
7
  const swagger_parser_1 = __importDefault(require("@apidevtools/swagger-parser"));
8
8
  const Consts_1 = require("../../../common/Consts");
9
+ const LoggerMessages_1 = require("../../../common/LoggerMessages");
9
10
  /**
10
11
  * Валидирует файл спецификации через SwaggerParser
11
12
  * @param filePath - Путь к файлу спецификации
@@ -17,7 +18,7 @@ async function validateSpecFile(filePath) {
17
18
  return true;
18
19
  }
19
20
  catch {
20
- Consts_1.APP_LOGGER.warn(`Skipping invalid spec file: ${filePath}`);
21
+ Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.SPEC_VALIDATION.SKIP_INVALID_FILE(filePath));
21
22
  return false;
22
23
  }
23
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"writeConfigFile.d.ts","sourceRoot":"","sources":["../../../../src/cli/initOpenApiConfig/utils/writeConfigFile.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI1D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAerH"}
1
+ {"version":3,"file":"writeConfigFile.d.ts","sourceRoot":"","sources":["../../../../src/cli/initOpenApiConfig/utils/writeConfigFile.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAI1D,OAAO,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAExC;;;;;;GAMG;AACH,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAerH"}
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.writeConfigFile = writeConfigFile;
7
7
  const path_1 = __importDefault(require("path"));
8
8
  const Consts_1 = require("../../../common/Consts");
9
+ const LoggerMessages_1 = require("../../../common/LoggerMessages");
9
10
  const fileSystemHelpers_1 = require("../../../common/utils/fileSystemHelpers");
10
11
  const format_1 = require("../../../common/utils/format");
11
12
  const pathHelpers_1 = require("../../../common/utils/pathHelpers");
@@ -27,5 +28,5 @@ async function writeConfigFile(configPath, config, templates) {
27
28
  const templateResult = templates.config(config);
28
29
  const formattedValue = await (0, format_1.format)(templateResult, 'json');
29
30
  await fileSystemHelpers_1.fileSystemHelpers.writeFile(resolvedPath, formattedValue);
30
- Consts_1.APP_LOGGER.info(`Configuration file created: ${resolvedPath}`);
31
+ Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.CONFIG_CREATED(resolvedPath));
31
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"confirmDialog.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/confirmDialog.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEjD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAerF"}
1
+ {"version":3,"file":"confirmDialog.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/confirmDialog.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEjD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAgBrF"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.confirmDialog = confirmDialog;
4
4
  const enquirer_1 = require("enquirer");
5
5
  const Consts_1 = require("../../common/Consts");
6
- const constants_1 = require("./constants");
6
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
7
7
  /**
8
8
  * Отображает диалог подтверждения для пользователя.
9
9
  * Используется для критичных действий (удаление, публикация и т.д.)
@@ -30,7 +30,8 @@ async function confirmDialog(options) {
30
30
  }
31
31
  catch {
32
32
  // Пользователь прервал процесс (Ctrl+C)
33
- Consts_1.APP_LOGGER.error(`\n${constants_1.DIALOG_MESSAGES.OPERATION_CANCELLED}`);
33
+ Consts_1.APP_LOGGER.error(LoggerMessages_1.LOGGER_MESSAGES.DIALOG.OPERATION_CANCELLED);
34
+ await Consts_1.APP_LOGGER.shutdownLoggerAsync();
34
35
  process.exit(0);
35
36
  }
36
37
  }
@@ -1,7 +1,7 @@
1
1
  import { EConfigType, EnquirerSelectChoice } from './types';
2
2
  export declare const OPEN_API_CONFIG_SELECT_OPTIONS: EnquirerSelectChoice<EConfigType>[];
3
3
  export declare const DIALOG_MESSAGES: {
4
- readonly OPERATION_CANCELLED: "Операция отменена пользователем.";
5
- readonly SELECTION_CANCELLED: "Выбор отменён.";
4
+ readonly OPERATION_CANCELLED: "The operation was canceled by the user.";
5
+ readonly SELECTION_CANCELLED: "The choice is canceled.";
6
6
  };
7
7
  //# sourceMappingURL=constants.d.ts.map
@@ -4,22 +4,22 @@ exports.DIALOG_MESSAGES = exports.OPEN_API_CONFIG_SELECT_OPTIONS = void 0;
4
4
  const types_1 = require("./types");
5
5
  exports.OPEN_API_CONFIG_SELECT_OPTIONS = [
6
6
  {
7
- name: 'Набор опций',
7
+ name: 'Single options',
8
8
  value: types_1.EConfigType.FLAT,
9
- hint: 'Набор параметров для генерации по одной спецификации.',
9
+ hint: 'A set of parameters to generate according to a single specification.',
10
10
  },
11
11
  {
12
- name: 'Множественные опции',
12
+ name: 'Multiple options',
13
13
  value: types_1.EConfigType.MULTI,
14
- hint: 'Набор параметров для генерации по нескольким файлам спецификаций.',
14
+ hint: 'A set of parameters for generating multiple specification files.',
15
15
  },
16
16
  {
17
- name: 'Не генерировать',
17
+ name: 'Do not generate',
18
18
  value: types_1.EConfigType.NONE,
19
- hint: 'Не создавать файл конфигурации',
19
+ hint: 'Do not create a configuration file',
20
20
  },
21
21
  ];
22
22
  exports.DIALOG_MESSAGES = {
23
- OPERATION_CANCELLED: 'Операция отменена пользователем.',
24
- SELECTION_CANCELLED: 'Выбор отменён.',
23
+ OPERATION_CANCELLED: 'The operation was canceled by the user.',
24
+ SELECTION_CANCELLED: 'The choice is canceled.',
25
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"selectDialog.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/selectDialog.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAAC,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAsB5F"}
1
+ {"version":3,"file":"selectDialog.d.ts","sourceRoot":"","sources":["../../../src/cli/interactive/selectDialog.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEhD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,YAAY,CAAC,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,qBAAqB,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CA2B5F"}
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.selectDialog = selectDialog;
4
4
  const enquirer_1 = require("enquirer");
5
5
  const Consts_1 = require("../../common/Consts");
6
- const constants_1 = require("./constants");
6
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
7
7
  /**
8
8
  * Отображает диалог выбора одного варианта из списка.
9
9
  *
@@ -24,20 +24,25 @@ async function selectDialog(options) {
24
24
  type: 'select',
25
25
  name: 'choice',
26
26
  message: options.message,
27
- choices: options.choices.map(choice => ({
28
- name: choice.name,
27
+ choices: options.choices.map((choice, index) => ({
28
+ // Enquirer возвращает `name` выбранного пункта.
29
+ // Храним в `name` технический id, а в `message` - текст для пользователя.
30
+ name: String(index),
31
+ message: choice.name,
29
32
  value: choice.value,
30
33
  hint: choice.hint,
31
34
  })),
32
35
  initial: options.initial,
33
- result(value) {
34
- return value.value;
36
+ result(selectedName) {
37
+ const selectedChoice = this.choices.find((choice) => choice.name === selectedName);
38
+ return selectedChoice?.value;
35
39
  },
36
40
  });
37
41
  return response.choice;
38
42
  }
39
43
  catch {
40
- Consts_1.APP_LOGGER.error(`\n${constants_1.DIALOG_MESSAGES.SELECTION_CANCELLED}`);
44
+ Consts_1.APP_LOGGER.error(LoggerMessages_1.LOGGER_MESSAGES.DIALOG.SELECTION_CANCELLED);
45
+ await Consts_1.APP_LOGGER.shutdownLoggerAsync();
41
46
  process.exit(0);
42
47
  }
43
48
  }
@@ -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;AA4BzC;;;;GAIG;AACH,wBAAsB,cAAc,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC,CAiJzE"}
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,CAoNzE"}
@@ -36,6 +36,7 @@ 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");
@@ -51,37 +52,116 @@ const formatDiff_1 = require("./utils/formatDiff");
51
52
  const isDirectoryEmpty_1 = require("./utils/isDirectoryEmpty");
52
53
  const readDirectoryRecursive_1 = require("./utils/readDirectoryRecursive");
53
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
+ }
54
120
  /**
55
121
  * Основная функция для предпросмотра изменений
56
122
  *
57
123
  * TODO: Добавить проверку опций команды перед выполнением
58
124
  */
59
125
  async function previewChanges(options) {
60
- const validationResult = (0, validateZodOptions_1.validateZodOptions)(schemas_1.previewChangesSchema, options);
61
- if (!validationResult.success) {
62
- Consts_1.APP_LOGGER.error(validationResult.errors.join('\n'));
63
- process.exit(1);
64
- }
65
- const { openapiConfig, generatedDir, previewDir, diffDir } = validationResult.data;
66
- const resolvedGeneratedDir = (0, pathHelpers_1.resolveHelper)(process.cwd(), generatedDir || '');
67
- const resolvedPreviewDir = (0, pathHelpers_1.resolveHelper)(process.cwd(), previewDir || '');
68
- const resolvedDiffDir = (0, pathHelpers_1.resolveHelper)(process.cwd(), diffDir || '');
126
+ let exitCode = 0;
127
+ let resolvedPreviewDir = '';
69
128
  let previewDirCreated = false;
70
129
  try {
130
+ const validationResult = (0, validateZodOptions_1.validateZodOptions)(schemas_1.previewChangesSchema, options);
131
+ if (!validationResult.success) {
132
+ Consts_1.APP_LOGGER.errorWithHint({
133
+ code: 'NO_OPTIONS_PROVIDED',
134
+ message: LoggerMessages_1.LOGGER_MESSAGES.ERROR.GENERIC(validationResult.errors.join('\n')),
135
+ });
136
+ await Consts_1.APP_LOGGER.shutdownLoggerAsync();
137
+ process.exit(1);
138
+ }
139
+ const { openapiConfig, generatedDir, previewDir, diffDir } = validationResult.data;
140
+ const resolvedGeneratedDir = (0, pathHelpers_1.resolveHelper)(process.cwd(), generatedDir || '');
141
+ resolvedPreviewDir = (0, pathHelpers_1.resolveHelper)(process.cwd(), previewDir || '');
142
+ const resolvedDiffDir = (0, pathHelpers_1.resolveHelper)(process.cwd(), diffDir || '');
71
143
  // 1. Проверка директории со сгенерированным кодом
72
144
  if (await (0, isDirectoryEmpty_1.isDirectoryEmpty)(resolvedGeneratedDir)) {
73
- Consts_1.APP_LOGGER.info(`Directory "${generatedDir}" is empty or does not exist. Nothing to compare.`);
74
- process.exit(0);
145
+ Consts_1.APP_LOGGER.errorWithHint({
146
+ code: 'PREVIEW_DIR_EMPTY',
147
+ message: LoggerMessages_1.LOGGER_MESSAGES.PREVIEW.GENERATED_DIR_EMPTY(generatedDir || ''),
148
+ });
149
+ await Consts_1.APP_LOGGER.shutdownLoggerAsync();
150
+ process.exit(1);
75
151
  }
76
- // 2. Создание временной директории для preview
77
- await fileSystemHelpers_1.fileSystemHelpers.mkdir(resolvedPreviewDir);
78
- previewDirCreated = true;
79
- // 3. Загрузка конфигурации
152
+ // 2. Загрузка конфигурации
80
153
  const configData = (0, loadConfigIfExists_1.loadConfigIfExists)(openapiConfig);
81
154
  if (!configData) {
82
- Consts_1.APP_LOGGER.error('The configuration file is missing');
155
+ Consts_1.APP_LOGGER.errorWithHint({
156
+ code: openapiConfig ? 'CONFIG_FILE_NOT_FOUND_AT' : 'CONFIG_FILE_MISSING',
157
+ message: LoggerMessages_1.LOGGER_MESSAGES.CONFIG.FILE_MISSING,
158
+ });
159
+ await Consts_1.APP_LOGGER.shutdownLoggerAsync();
83
160
  process.exit(1);
84
161
  }
162
+ if (Array.isArray(configData)) {
163
+ Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.ARRAY_DEPRECATED);
164
+ }
85
165
  const preparedOptions = (0, convertArrayToObject_1.convertArrayToObject)(configData);
86
166
  // Миграция опций
87
167
  const migratedOptions = (0, migrateDataToLatestSchemaVersion_1.migrateDataToLatestSchemaVersion)({
@@ -91,26 +171,36 @@ async function previewChanges(options) {
91
171
  migrationMode: Enums_1.EMigrationMode.GENERATE_OPENAPI,
92
172
  });
93
173
  if (!migratedOptions) {
94
- Consts_1.APP_LOGGER.error("Couldn't convert the set of options to the current version");
174
+ Consts_1.APP_LOGGER.errorWithHint({
175
+ code: 'NO_VALID_SPEC_FILES_FOUND',
176
+ message: LoggerMessages_1.LOGGER_MESSAGES.CONFIG.CONVERSION_FAILED,
177
+ });
178
+ await Consts_1.APP_LOGGER.shutdownLoggerAsync();
95
179
  process.exit(1);
96
180
  }
181
+ // 3. Подготовка и создание временной директории preview
182
+ await fileSystemHelpers_1.fileSystemHelpers.rmdir(resolvedPreviewDir);
183
+ await fileSystemHelpers_1.fileSystemHelpers.mkdir(resolvedPreviewDir);
184
+ previewDirCreated = true;
97
185
  // 4. Обновление путей output для генерации в preview директорию
98
186
  const migratedValue = migratedOptions.value;
99
187
  const previewOptions = (0, updateOutputPaths_1.updateOutputPaths)(migratedValue, previewDir || '', generatedDir || '');
100
188
  // 5. Генерация кода в preview директорию
101
- Consts_1.APP_LOGGER.info(`Generating code to preview directory: ${previewDir}`);
189
+ Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.PREVIEW.GENERATING_PREVIEW(previewDir || ''));
102
190
  await OpenAPI.generate(previewOptions);
103
191
  // 6. Сравнение файлов
104
- Consts_1.APP_LOGGER.info('Comparing files...');
192
+ Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.PREVIEW.COMPARING_FILES);
105
193
  const oldFiles = await (0, readDirectoryRecursive_1.readDirectoryRecursive)(resolvedGeneratedDir);
106
194
  const newFiles = await (0, readDirectoryRecursive_1.readDirectoryRecursive)(resolvedPreviewDir);
107
- const allFiles = new Set([...oldFiles, ...newFiles]);
195
+ const oldFileSet = new Set(oldFiles);
196
+ const newFileSet = new Set(newFiles);
197
+ const allFiles = new Set([...oldFileSet, ...newFileSet]);
108
198
  const changes = [];
109
- for (const file of allFiles) {
199
+ for (const file of [...allFiles].sort()) {
110
200
  const oldPath = (0, pathHelpers_1.joinHelper)(resolvedGeneratedDir, file);
111
201
  const newPath = (0, pathHelpers_1.joinHelper)(resolvedPreviewDir, file);
112
- const oldExists = await fileSystemHelpers_1.fileSystemHelpers.exists(oldPath);
113
- const newExists = await fileSystemHelpers_1.fileSystemHelpers.exists(newPath);
202
+ const oldExists = oldFileSet.has(file);
203
+ const newExists = newFileSet.has(file);
114
204
  if (oldExists && newExists) {
115
205
  // Файл существует в обеих директориях - сравниваем
116
206
  const fileDiff = await (0, compareFiles_1.compareFiles)(oldPath, newPath);
@@ -122,7 +212,7 @@ async function previewChanges(options) {
122
212
  });
123
213
  }
124
214
  else {
125
- Consts_1.APP_LOGGER.info(`File "${file}" has no changes`);
215
+ Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.PREVIEW.FILE_NO_CHANGES(file));
126
216
  }
127
217
  }
128
218
  else if (!oldExists && newExists) {
@@ -142,6 +232,7 @@ async function previewChanges(options) {
142
232
  }
143
233
  // 7. Сохранение результатов в diff директорию
144
234
  if (changes.length > 0) {
235
+ await fileSystemHelpers_1.fileSystemHelpers.rmdir(resolvedDiffDir);
145
236
  await fileSystemHelpers_1.fileSystemHelpers.mkdir(resolvedDiffDir);
146
237
  for (const change of changes) {
147
238
  const diffFilePath = (0, pathHelpers_1.joinHelper)(resolvedDiffDir, `${change.file}.md`);
@@ -158,32 +249,53 @@ async function previewChanges(options) {
158
249
  diffContent = (0, formatDiff_1.formatDiff)(change.file, change.status, change.diff);
159
250
  }
160
251
  await fileSystemHelpers_1.fileSystemHelpers.writeFile(diffFilePath, diffContent, 'utf-8');
161
- Consts_1.APP_LOGGER.info(`Diff saved: ${diffFilePath}`);
252
+ Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.PREVIEW.DIFF_SAVED(diffFilePath));
162
253
  }
163
- Consts_1.APP_LOGGER.info(`\nTotal changes: ${changes.length}`);
164
- Consts_1.APP_LOGGER.info(`Diff files saved to: ${diffDir}`);
254
+ const summary = buildSummary(changes);
255
+ await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.joinHelper)(resolvedDiffDir, 'added-files.md'), toCategoryMarkdown('Added Files', summary.added), 'utf-8');
256
+ await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.joinHelper)(resolvedDiffDir, 'removed-files.md'), toCategoryMarkdown('Removed Files', summary.removed), 'utf-8');
257
+ await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.joinHelper)(resolvedDiffDir, 'modified-files.md'), toCategoryMarkdown('Modified Files', summary.modified), 'utf-8');
258
+ await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.joinHelper)(resolvedDiffDir, 'summary.json'), JSON.stringify(summary, null, 2), 'utf-8');
259
+ await fileSystemHelpers_1.fileSystemHelpers.writeFile((0, pathHelpers_1.joinHelper)(resolvedDiffDir, 'summary.md'), toSummaryMarkdown(summary), 'utf-8');
260
+ Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.PREVIEW.TOTAL_CHANGES(changes.length));
261
+ Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.PREVIEW.DIFF_FILES_SAVED_TO(diffDir || ''));
165
262
  }
166
263
  else {
167
- Consts_1.APP_LOGGER.info('No changes detected. All files are identical.');
264
+ await fileSystemHelpers_1.fileSystemHelpers.rmdir(resolvedDiffDir);
265
+ Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.PREVIEW.NO_CHANGES_DETECTED);
168
266
  }
169
- // 8. Удаление временной директории preview
170
- Consts_1.APP_LOGGER.info(`Cleaning up preview directory: ${previewDir}`);
171
- await fileSystemHelpers_1.fileSystemHelpers.rmdir(resolvedPreviewDir);
172
- previewDirCreated = false;
173
- process.exit(0);
174
267
  }
175
268
  catch (error) {
176
- // Очистка preview директории в случае ошибки
177
- if (previewDirCreated) {
269
+ exitCode = 1;
270
+ const message = error instanceof Error ? error.message : String(error);
271
+ Consts_1.APP_LOGGER.errorWithHint({
272
+ code: 'SPEC_FILES_FIND_ERROR',
273
+ message: LoggerMessages_1.LOGGER_MESSAGES.ERROR.GENERIC(message),
274
+ error,
275
+ });
276
+ }
277
+ finally {
278
+ if (previewDirCreated || resolvedPreviewDir) {
178
279
  try {
179
- Consts_1.APP_LOGGER.info(`Cleaning up preview directory after error: ${previewDir}`);
180
- await fileSystemHelpers_1.fileSystemHelpers.rmdir(resolvedPreviewDir);
280
+ if (resolvedPreviewDir) {
281
+ Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.PREVIEW.CLEANUP_PREVIEW_DIR(resolvedPreviewDir));
282
+ await fileSystemHelpers_1.fileSystemHelpers.rmdir(resolvedPreviewDir);
283
+ }
181
284
  }
182
285
  catch (cleanupError) {
183
- Consts_1.APP_LOGGER.error(`Failed to cleanup preview directory: ${cleanupError.message}`);
286
+ const msg = cleanupError instanceof Error ? cleanupError.message : String(cleanupError);
287
+ Consts_1.APP_LOGGER.errorWithHint({
288
+ code: 'PREVIEW_CLEANUP_FAILED',
289
+ message: LoggerMessages_1.LOGGER_MESSAGES.PREVIEW.CLEANUP_PREVIEW_FAILED(msg),
290
+ error: cleanupError,
291
+ });
292
+ exitCode = 1;
184
293
  }
185
294
  }
186
- Consts_1.APP_LOGGER.error(error.message);
295
+ }
296
+ await Consts_1.APP_LOGGER.shutdownLoggerAsync();
297
+ if (exitCode !== 0) {
187
298
  process.exit(1);
188
299
  }
300
+ process.exit(0);
189
301
  }
@@ -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;
@@ -0,0 +1,14 @@
1
+ import { z } from 'zod';
2
+ export declare const analyzeDiffOptionsSchema: z.ZodObject<{
3
+ input: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
4
+ compareWith: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
5
+ git: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
6
+ outputReport: z.ZodDefault<z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>>;
7
+ governanceConfig: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
8
+ strictPluginMode: z.ZodOptional<z.ZodBoolean>;
9
+ ci: z.ZodOptional<z.ZodBoolean>;
10
+ allowBreaking: z.ZodOptional<z.ZodBoolean>;
11
+ openapiConfig: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
12
+ }, z.core.$strip>;
13
+ export type AnalyzeDiffOptions = z.infer<typeof analyzeDiffOptionsSchema>;
14
+ //# sourceMappingURL=analyzeDiff.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analyzeDiff.d.ts","sourceRoot":"","sources":["../../../src/cli/schemas/analyzeDiff.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,eAAO,MAAM,wBAAwB;;;;;;;;;;iBAsB/B,CAAC;AAEP,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.analyzeDiffOptionsSchema = void 0;
4
+ const zod_1 = require("zod");
5
+ const Consts_1 = require("../../common/Consts");
6
+ const base_1 = require("./base");
7
+ exports.analyzeDiffOptionsSchema = zod_1.z
8
+ .object({
9
+ ...base_1.baseCLIOptionsSchema.shape,
10
+ input: base_1.emptyStringToUndefined,
11
+ compareWith: base_1.emptyStringToUndefined,
12
+ git: base_1.emptyStringToUndefined,
13
+ outputReport: base_1.emptyStringToUndefined.default(Consts_1.DEFAULT_ANALYZE_DIFF_REPORT_PATH),
14
+ governanceConfig: base_1.emptyStringToUndefined,
15
+ strictPluginMode: zod_1.z.boolean().optional(),
16
+ ci: zod_1.z.boolean().optional(),
17
+ allowBreaking: zod_1.z.boolean().optional(),
18
+ })
19
+ .superRefine((data, ctx) => {
20
+ if (!data.input) {
21
+ ctx.addIssue({
22
+ code: 'custom',
23
+ message: '"--input" is required for analyze-diff command',
24
+ path: ['input'],
25
+ });
26
+ }
27
+ // Old spec source is resolved as compareWith ?? git at runtime.
28
+ });
@@ -1,7 +1,16 @@
1
1
  import { z } from 'zod';
2
+ import { ModelsMode } from '../../core/types/enums/ModelsMode.enum';
2
3
  export declare const generateOptionsSchema: z.ZodObject<{
3
4
  input: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
4
5
  output: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
6
+ useHistory: z.ZodOptional<z.ZodBoolean>;
7
+ diffReport: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
8
+ modelsMode: z.ZodOptional<z.ZodEnum<typeof ModelsMode>>;
9
+ strictOpenapi: z.ZodOptional<z.ZodBoolean>;
10
+ reportFile: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
11
+ useProjectPrettier: z.ZodOptional<z.ZodBoolean>;
12
+ useEslintFix: z.ZodOptional<z.ZodBoolean>;
13
+ governanceConfig: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
5
14
  openapiConfig: z.ZodPipe<z.ZodTransform<unknown, unknown>, z.ZodOptional<z.ZodString>>;
6
15
  }, z.core.$strip>;
7
16
  export type GenerateOptions = z.infer<typeof generateOptionsSchema>;
@@ -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;AAIxB,eAAO,MAAM,qBAAqB;;;;iBA2C5B,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;AAExB,OAAO,EAAE,UAAU,EAAE,MAAM,wCAAwC,CAAC;AAGpE,eAAO,MAAM,qBAAqB;;;;;;;;;;;;iBAmD5B,CAAC;AAEP,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC"}