ts-openapi-codegen 2.0.0 → 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 (418) hide show
  1. package/README.md +91 -2
  2. package/README.rus.md +91 -2
  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/writeExampleConfigFile.d.ts.map +1 -1
  66. package/dist/cli/checkAndUpdateConfig/utils/writeExampleConfigFile.js +2 -2
  67. package/dist/cli/generateOpenApiClient/__tests__/generateOpenApiClient.strict.test.d.ts +2 -0
  68. package/dist/cli/generateOpenApiClient/__tests__/generateOpenApiClient.strict.test.d.ts.map +1 -0
  69. package/dist/cli/generateOpenApiClient/__tests__/generateOpenApiClient.strict.test.js +152 -0
  70. package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts +6 -2
  71. package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts.map +1 -1
  72. package/dist/cli/generateOpenApiClient/generateOpenApiClient.js +54 -18
  73. package/dist/cli/index.js +57 -2
  74. package/dist/cli/initOpenApiConfig/init.d.ts.map +1 -1
  75. package/dist/cli/initOpenApiConfig/init.js +19 -6
  76. package/dist/cli/initOpenApiConfig/initConfig.d.ts +1 -0
  77. package/dist/cli/initOpenApiConfig/initConfig.d.ts.map +1 -1
  78. package/dist/cli/initOpenApiConfig/initConfig.js +47 -24
  79. package/dist/cli/initOpenApiConfig/initCustomRequest.d.ts +8 -1
  80. package/dist/cli/initOpenApiConfig/initCustomRequest.d.ts.map +1 -1
  81. package/dist/cli/initOpenApiConfig/initCustomRequest.js +40 -8
  82. package/dist/cli/initOpenApiConfig/utils/buildConfig.d.ts.map +1 -1
  83. package/dist/cli/initOpenApiConfig/utils/buildConfig.js +60 -0
  84. package/dist/cli/initOpenApiConfig/utils/validateSpecFile.d.ts.map +1 -1
  85. package/dist/cli/initOpenApiConfig/utils/validateSpecFile.js +2 -1
  86. package/dist/cli/initOpenApiConfig/utils/writeConfigFile.d.ts.map +1 -1
  87. package/dist/cli/initOpenApiConfig/utils/writeConfigFile.js +2 -1
  88. package/dist/cli/interactive/confirmDialog.d.ts.map +1 -1
  89. package/dist/cli/interactive/confirmDialog.js +3 -2
  90. package/dist/cli/interactive/constants.d.ts +2 -2
  91. package/dist/cli/interactive/constants.js +8 -8
  92. package/dist/cli/interactive/selectDialog.d.ts.map +1 -1
  93. package/dist/cli/interactive/selectDialog.js +11 -6
  94. package/dist/cli/previewChanges/previewChanges.d.ts.map +1 -1
  95. package/dist/cli/previewChanges/previewChanges.js +45 -17
  96. package/dist/cli/schemas/analyzeDiff.d.ts +14 -0
  97. package/dist/cli/schemas/analyzeDiff.d.ts.map +1 -0
  98. package/dist/cli/schemas/analyzeDiff.js +28 -0
  99. package/dist/cli/schemas/generate.d.ts +9 -0
  100. package/dist/cli/schemas/generate.d.ts.map +1 -1
  101. package/dist/cli/schemas/generate.js +9 -0
  102. package/dist/cli/schemas/index.d.ts +3 -1
  103. package/dist/cli/schemas/index.d.ts.map +1 -1
  104. package/dist/cli/schemas/index.js +2 -0
  105. package/dist/common/Consts.d.ts +1 -0
  106. package/dist/common/Consts.d.ts.map +1 -1
  107. package/dist/common/Consts.js +15 -1
  108. package/dist/common/Logger.d.ts +20 -1
  109. package/dist/common/Logger.d.ts.map +1 -1
  110. package/dist/common/Logger.js +70 -9
  111. package/dist/common/LoggerMessages.d.ts +135 -33
  112. package/dist/common/LoggerMessages.d.ts.map +1 -1
  113. package/dist/common/LoggerMessages.js +118 -45
  114. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts.map +1 -1
  115. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.js +7 -1
  116. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts +4 -0
  117. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts.map +1 -1
  118. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts +8 -0
  119. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts.map +1 -1
  120. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts +8 -0
  121. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts.map +1 -1
  122. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts +8 -0
  123. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts.map +1 -1
  124. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts +35 -0
  125. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts.map +1 -1
  126. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.js +4 -1
  127. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts +79 -0
  128. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts.map +1 -0
  129. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.js +19 -0
  130. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts +171 -0
  131. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts.map +1 -1
  132. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.js +2 -0
  133. package/dist/common/VersionedSchema/CommonSchemas.d.ts +40 -0
  134. package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
  135. package/dist/common/VersionedSchema/CommonSchemas.js +34 -1
  136. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts +4 -0
  137. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts.map +1 -1
  138. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts +4 -0
  139. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts.map +1 -1
  140. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts +4 -0
  141. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -1
  142. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts +4 -0
  143. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts.map +1 -1
  144. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts +4 -0
  145. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -1
  146. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts +4 -0
  147. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts.map +1 -1
  148. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts +4 -0
  149. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts.map +1 -1
  150. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts +4 -0
  151. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts.map +1 -1
  152. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +4 -0
  153. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts.map +1 -1
  154. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts.map +1 -1
  155. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.js +23 -3
  156. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.js +2 -2
  157. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
  158. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +2 -1
  159. package/dist/common/__tests__/Logger.test.d.ts +2 -0
  160. package/dist/common/__tests__/Logger.test.d.ts.map +1 -0
  161. package/dist/common/__tests__/Logger.test.js +100 -0
  162. package/dist/common/utils/__tests__/convertArrayToObject.test.js +3 -0
  163. package/dist/common/utils/__tests__/eslintFix.test.d.ts +2 -0
  164. package/dist/common/utils/__tests__/eslintFix.test.d.ts.map +1 -0
  165. package/dist/common/utils/__tests__/eslintFix.test.js +134 -0
  166. package/dist/common/utils/__tests__/format.test.d.ts +2 -0
  167. package/dist/common/utils/__tests__/format.test.d.ts.map +1 -0
  168. package/dist/common/utils/__tests__/format.test.js +90 -0
  169. package/dist/common/utils/convertArrayToObject.d.ts.map +1 -1
  170. package/dist/common/utils/convertArrayToObject.js +3 -0
  171. package/dist/common/utils/eslintFix.d.ts +7 -0
  172. package/dist/common/utils/eslintFix.d.ts.map +1 -0
  173. package/dist/common/utils/eslintFix.js +78 -0
  174. package/dist/common/utils/format.d.ts +1 -1
  175. package/dist/common/utils/format.d.ts.map +1 -1
  176. package/dist/common/utils/format.js +39 -15
  177. package/dist/common/utils/jsonPath.d.ts +5 -0
  178. package/dist/common/utils/jsonPath.d.ts.map +1 -0
  179. package/dist/common/utils/jsonPath.js +27 -0
  180. package/dist/common/utils/normalizeObject.d.ts +2 -0
  181. package/dist/common/utils/normalizeObject.d.ts.map +1 -0
  182. package/dist/common/utils/normalizeObject.js +63 -0
  183. package/dist/core/Context.d.ts +8 -1
  184. package/dist/core/Context.d.ts.map +1 -1
  185. package/dist/core/Context.js +23 -4
  186. package/dist/core/OpenApiClient.d.ts +2 -0
  187. package/dist/core/OpenApiClient.d.ts.map +1 -1
  188. package/dist/core/OpenApiClient.js +116 -6
  189. package/dist/core/WriteClient.d.ts +4 -0
  190. package/dist/core/WriteClient.d.ts.map +1 -1
  191. package/dist/core/WriteClient.js +38 -4
  192. package/dist/core/__tests__/WriteClient.test.js +4 -1
  193. package/dist/core/api/v2/parser/__tests__/getModel.test.d.ts +2 -0
  194. package/dist/core/api/v2/parser/__tests__/getModel.test.d.ts.map +1 -0
  195. package/dist/core/api/v2/parser/__tests__/getModel.test.js +34 -0
  196. package/dist/core/api/v2/parser/getModel.d.ts.map +1 -1
  197. package/dist/core/api/v2/parser/getModel.js +6 -1
  198. package/dist/core/api/v2/parser/getOperation.d.ts.map +1 -1
  199. package/dist/core/api/v2/parser/getOperation.js +2 -0
  200. package/dist/core/api/v2/parser/getOperationResponses.d.ts.map +1 -1
  201. package/dist/core/api/v2/parser/getOperationResponses.js +9 -1
  202. package/dist/core/api/v2/types/OpenApiSchema.model.d.ts +2 -0
  203. package/dist/core/api/v2/types/OpenApiSchema.model.d.ts.map +1 -1
  204. package/dist/core/api/v3/parser/__tests__/getContent.test.d.ts +2 -0
  205. package/dist/core/api/v3/parser/__tests__/getContent.test.d.ts.map +1 -0
  206. package/dist/core/api/v3/parser/__tests__/getContent.test.js +65 -0
  207. package/dist/core/api/v3/parser/__tests__/getModel.test.d.ts +2 -0
  208. package/dist/core/api/v3/parser/__tests__/getModel.test.d.ts.map +1 -0
  209. package/dist/core/api/v3/parser/__tests__/getModel.test.js +34 -0
  210. package/dist/core/api/v3/parser/getContent.d.ts.map +1 -1
  211. package/dist/core/api/v3/parser/getContent.js +21 -11
  212. package/dist/core/api/v3/parser/getModel.d.ts.map +1 -1
  213. package/dist/core/api/v3/parser/getModel.js +6 -1
  214. package/dist/core/api/v3/parser/getOperation.d.ts.map +1 -1
  215. package/dist/core/api/v3/parser/getOperation.js +2 -0
  216. package/dist/core/api/v3/parser/getOperationResponses.d.ts.map +1 -1
  217. package/dist/core/api/v3/parser/getOperationResponses.js +9 -1
  218. package/dist/core/api/v3/types/OpenApiSchema.model.d.ts +2 -0
  219. package/dist/core/api/v3/types/OpenApiSchema.model.d.ts.map +1 -1
  220. package/dist/core/governance/__tests__/evaluateGovernanceRules.test.d.ts +2 -0
  221. package/dist/core/governance/__tests__/evaluateGovernanceRules.test.d.ts.map +1 -0
  222. package/dist/core/governance/__tests__/evaluateGovernanceRules.test.js +100 -0
  223. package/dist/core/governance/__tests__/loadGovernanceConfig.test.d.ts +2 -0
  224. package/dist/core/governance/__tests__/loadGovernanceConfig.test.d.ts.map +1 -0
  225. package/dist/core/governance/__tests__/loadGovernanceConfig.test.js +71 -0
  226. package/dist/core/governance/evaluateGovernanceRules.d.ts +42 -0
  227. package/dist/core/governance/evaluateGovernanceRules.d.ts.map +1 -0
  228. package/dist/core/governance/evaluateGovernanceRules.js +134 -0
  229. package/dist/core/governance/governanceConfigSchema.d.ts +4 -0
  230. package/dist/core/governance/governanceConfigSchema.d.ts.map +1 -0
  231. package/dist/core/governance/governanceConfigSchema.js +39 -0
  232. package/dist/core/governance/loadGovernanceConfig.d.ts +7 -0
  233. package/dist/core/governance/loadGovernanceConfig.d.ts.map +1 -0
  234. package/dist/core/governance/loadGovernanceConfig.js +60 -0
  235. package/dist/core/index.d.ts +3 -0
  236. package/dist/core/index.d.ts.map +1 -1
  237. package/dist/core/index.js +4 -2
  238. package/dist/core/plugins/GeneratorPlugin.model.d.ts +42 -0
  239. package/dist/core/plugins/GeneratorPlugin.model.d.ts.map +1 -0
  240. package/dist/core/plugins/GeneratorPlugin.model.js +2 -0
  241. package/dist/core/plugins/__tests__/applySemanticDiffPluginHooks.test.d.ts +2 -0
  242. package/dist/core/plugins/__tests__/applySemanticDiffPluginHooks.test.d.ts.map +1 -0
  243. package/dist/core/plugins/__tests__/applySemanticDiffPluginHooks.test.js +115 -0
  244. package/dist/core/plugins/__tests__/loadGeneratorPlugins.test.d.ts +2 -0
  245. package/dist/core/plugins/__tests__/loadGeneratorPlugins.test.d.ts.map +1 -0
  246. package/dist/core/plugins/__tests__/loadGeneratorPlugins.test.js +62 -0
  247. package/dist/core/plugins/applySemanticDiffPluginHooks.d.ts +28 -0
  248. package/dist/core/plugins/applySemanticDiffPluginHooks.d.ts.map +1 -0
  249. package/dist/core/plugins/applySemanticDiffPluginHooks.js +160 -0
  250. package/dist/core/plugins/builtins/xTypescriptTypePlugin.d.ts +6 -0
  251. package/dist/core/plugins/builtins/xTypescriptTypePlugin.d.ts.map +1 -0
  252. package/dist/core/plugins/builtins/xTypescriptTypePlugin.js +13 -0
  253. package/dist/core/plugins/getBuiltinPlugins.d.ts +6 -0
  254. package/dist/core/plugins/getBuiltinPlugins.d.ts.map +1 -0
  255. package/dist/core/plugins/getBuiltinPlugins.js +10 -0
  256. package/dist/core/plugins/index.d.ts +4 -0
  257. package/dist/core/plugins/index.d.ts.map +1 -0
  258. package/dist/core/plugins/index.js +5 -0
  259. package/dist/core/plugins/loadGeneratorPlugins.d.ts +6 -0
  260. package/dist/core/plugins/loadGeneratorPlugins.d.ts.map +1 -0
  261. package/dist/core/plugins/loadGeneratorPlugins.js +94 -0
  262. package/dist/core/semanticDiff/__tests__/analyzeOpenApiDiff.test.d.ts +2 -0
  263. package/dist/core/semanticDiff/__tests__/analyzeOpenApiDiff.test.d.ts.map +1 -0
  264. package/dist/core/semanticDiff/__tests__/analyzeOpenApiDiff.test.js +537 -0
  265. package/dist/core/semanticDiff/__tests__/semanticDiffReportSchema.test.d.ts +2 -0
  266. package/dist/core/semanticDiff/__tests__/semanticDiffReportSchema.test.d.ts.map +1 -0
  267. package/dist/core/semanticDiff/__tests__/semanticDiffReportSchema.test.js +66 -0
  268. package/dist/core/semanticDiff/analyzeOpenApiDiff.d.ts +45 -0
  269. package/dist/core/semanticDiff/analyzeOpenApiDiff.d.ts.map +1 -0
  270. package/dist/core/semanticDiff/analyzeOpenApiDiff.js +640 -0
  271. package/dist/core/semanticDiff/semanticDiffReportSchema.d.ts +11 -0
  272. package/dist/core/semanticDiff/semanticDiffReportSchema.d.ts.map +1 -0
  273. package/dist/core/semanticDiff/semanticDiffReportSchema.js +132 -0
  274. package/dist/core/strict/__tests__/validateOpenApiStrict.test.d.ts +2 -0
  275. package/dist/core/strict/__tests__/validateOpenApiStrict.test.d.ts.map +1 -0
  276. package/dist/core/strict/__tests__/validateOpenApiStrict.test.js +156 -0
  277. package/dist/core/strict/validateOpenApiStrict.d.ts +43 -0
  278. package/dist/core/strict/validateOpenApiStrict.d.ts.map +1 -0
  279. package/dist/core/strict/validateOpenApiStrict.js +253 -0
  280. package/dist/core/types/base/ClientArtifacts.model.d.ts +2 -0
  281. package/dist/core/types/base/ClientArtifacts.model.d.ts.map +1 -1
  282. package/dist/core/types/base/Templates.model.d.ts +3 -0
  283. package/dist/core/types/base/Templates.model.d.ts.map +1 -1
  284. package/dist/core/types/enums/ModelsMode.enum.d.ts +5 -0
  285. package/dist/core/types/enums/ModelsMode.enum.d.ts.map +1 -0
  286. package/dist/core/types/enums/ModelsMode.enum.js +8 -0
  287. package/dist/core/types/shared/Client.model.d.ts +2 -0
  288. package/dist/core/types/shared/Client.model.d.ts.map +1 -1
  289. package/dist/core/types/shared/DiffInfo.model.d.ts +13 -0
  290. package/dist/core/types/shared/DiffInfo.model.d.ts.map +1 -0
  291. package/dist/core/types/shared/DiffInfo.model.js +2 -0
  292. package/dist/core/types/shared/Miracle.model.d.ts +13 -0
  293. package/dist/core/types/shared/Miracle.model.d.ts.map +1 -0
  294. package/dist/core/types/shared/Miracle.model.js +2 -0
  295. package/dist/core/types/shared/Model.model.d.ts +23 -0
  296. package/dist/core/types/shared/Model.model.d.ts.map +1 -1
  297. package/dist/core/types/shared/Operation.model.d.ts +5 -0
  298. package/dist/core/types/shared/Operation.model.d.ts.map +1 -1
  299. package/dist/core/utils/__mocks__/templates.d.ts.map +1 -1
  300. package/dist/core/utils/__mocks__/templates.js +9 -0
  301. package/dist/core/utils/__tests__/applyDiffReportToClient.test.d.ts +2 -0
  302. package/dist/core/utils/__tests__/applyDiffReportToClient.test.d.ts.map +1 -0
  303. package/dist/core/utils/__tests__/applyDiffReportToClient.test.js +108 -0
  304. package/dist/core/utils/__tests__/getMappedType.test.js +2 -0
  305. package/dist/core/utils/__tests__/getOperationResponseCode.test.js +7 -2
  306. package/dist/core/utils/__tests__/getOperationResults.test.d.ts +2 -0
  307. package/dist/core/utils/__tests__/getOperationResults.test.d.ts.map +1 -0
  308. package/dist/core/utils/__tests__/getOperationResults.test.js +43 -0
  309. package/dist/core/utils/__tests__/prepareDtoModels.test.d.ts +2 -0
  310. package/dist/core/utils/__tests__/prepareDtoModels.test.d.ts.map +1 -0
  311. package/dist/core/utils/__tests__/prepareDtoModels.test.js +116 -0
  312. package/dist/core/utils/__tests__/serviceHelpers.test.js +1 -0
  313. package/dist/core/utils/__tests__/writeClientModels.test.js +50 -0
  314. package/dist/core/utils/applyDiffReportToClient.d.ts +14 -0
  315. package/dist/core/utils/applyDiffReportToClient.d.ts.map +1 -0
  316. package/dist/core/utils/applyDiffReportToClient.js +367 -0
  317. package/dist/core/utils/getMappedType.d.ts.map +1 -1
  318. package/dist/core/utils/getMappedType.js +2 -0
  319. package/dist/core/utils/getOpenApiSpec.d.ts.map +1 -1
  320. package/dist/core/utils/getOpenApiSpec.js +1 -14
  321. package/dist/core/utils/getOperationResponseCode.d.ts.map +1 -1
  322. package/dist/core/utils/getOperationResponseCode.js +10 -8
  323. package/dist/core/utils/loadDiffReport.d.ts +39 -0
  324. package/dist/core/utils/loadDiffReport.d.ts.map +1 -0
  325. package/dist/core/utils/loadDiffReport.js +51 -0
  326. package/dist/core/utils/prepareDtoModels.d.ts +3 -0
  327. package/dist/core/utils/prepareDtoModels.d.ts.map +1 -0
  328. package/dist/core/utils/prepareDtoModels.js +189 -0
  329. package/dist/core/utils/registerHandlebarHelpers.d.ts.map +1 -1
  330. package/dist/core/utils/registerHandlebarHelpers.js +4 -1
  331. package/dist/core/utils/registerHandlebarTemplates.d.ts.map +1 -1
  332. package/dist/core/utils/registerHandlebarTemplates.js +6 -0
  333. package/dist/core/utils/validateRawOptions.d.ts +1 -1
  334. package/dist/core/utils/validateRawOptions.d.ts.map +1 -1
  335. package/dist/core/utils/validateRawOptions.js +4 -2
  336. package/dist/core/utils/writeClientCore.d.ts +2 -0
  337. package/dist/core/utils/writeClientCore.d.ts.map +1 -1
  338. package/dist/core/utils/writeClientCore.js +6 -1
  339. package/dist/core/utils/writeClientCoreIndex.d.ts +1 -0
  340. package/dist/core/utils/writeClientCoreIndex.d.ts.map +1 -1
  341. package/dist/core/utils/writeClientCoreIndex.js +2 -2
  342. package/dist/core/utils/writeClientExecutor.d.ts +2 -0
  343. package/dist/core/utils/writeClientExecutor.d.ts.map +1 -1
  344. package/dist/core/utils/writeClientExecutor.js +6 -2
  345. package/dist/core/utils/writeClientFullIndex.d.ts.map +1 -1
  346. package/dist/core/utils/writeClientFullIndex.js +3 -1
  347. package/dist/core/utils/writeClientModels.d.ts +6 -0
  348. package/dist/core/utils/writeClientModels.d.ts.map +1 -1
  349. package/dist/core/utils/writeClientModels.js +24 -3
  350. package/dist/core/utils/writeClientModelsIndex.d.ts +2 -0
  351. package/dist/core/utils/writeClientModelsIndex.d.ts.map +1 -1
  352. package/dist/core/utils/writeClientModelsIndex.js +2 -2
  353. package/dist/core/utils/writeClientSchemas.d.ts +2 -0
  354. package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
  355. package/dist/core/utils/writeClientSchemas.js +6 -2
  356. package/dist/core/utils/writeClientServices.d.ts +2 -0
  357. package/dist/core/utils/writeClientServices.d.ts.map +1 -1
  358. package/dist/core/utils/writeClientServices.js +6 -2
  359. package/dist/templatesCompiled/cli/openApiConfig.d.ts +4 -1
  360. package/dist/templatesCompiled/cli/openApiConfig.d.ts.map +1 -1
  361. package/dist/templatesCompiled/cli/openApiConfig.js +88 -37
  362. package/dist/templatesCompiled/client/core/ApiRequestOptions.js +1 -1
  363. package/dist/templatesCompiled/client/core/BaseDto.d.ts +8 -0
  364. package/dist/templatesCompiled/client/core/BaseDto.d.ts.map +1 -0
  365. package/dist/templatesCompiled/client/core/BaseDto.js +18 -0
  366. package/dist/templatesCompiled/client/core/axios/getResponseBody.js +1 -1
  367. package/dist/templatesCompiled/client/core/axios/request.js +2 -2
  368. package/dist/templatesCompiled/client/core/axios/sendRequest.js +4 -4
  369. package/dist/templatesCompiled/client/core/dtoUtils.d.ts +8 -0
  370. package/dist/templatesCompiled/client/core/dtoUtils.d.ts.map +1 -0
  371. package/dist/templatesCompiled/client/core/dtoUtils.js +18 -0
  372. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.js +2 -2
  373. package/dist/templatesCompiled/client/core/executor/requestExecutor.js +1 -1
  374. package/dist/templatesCompiled/client/core/fetch/getResponseBody.js +1 -1
  375. package/dist/templatesCompiled/client/core/fetch/request.js +2 -2
  376. package/dist/templatesCompiled/client/core/functions/isBinary.js +1 -1
  377. package/dist/templatesCompiled/client/core/node/getResponseBody.js +1 -1
  378. package/dist/templatesCompiled/client/core/node/request.js +2 -2
  379. package/dist/templatesCompiled/client/core/xhr/getResponseBody.js +1 -1
  380. package/dist/templatesCompiled/client/core/xhr/request.js +2 -2
  381. package/dist/templatesCompiled/client/core/xhr/sendRequest.js +4 -4
  382. package/dist/templatesCompiled/client/exportModels.d.ts +34 -0
  383. package/dist/templatesCompiled/client/exportModels.d.ts.map +1 -0
  384. package/dist/templatesCompiled/client/exportModels.js +280 -0
  385. package/dist/templatesCompiled/client/exportService.d.ts +7 -4
  386. package/dist/templatesCompiled/client/exportService.d.ts.map +1 -1
  387. package/dist/templatesCompiled/client/exportService.js +52 -33
  388. package/dist/templatesCompiled/client/indexCore.d.ts +3 -1
  389. package/dist/templatesCompiled/client/indexCore.d.ts.map +1 -1
  390. package/dist/templatesCompiled/client/indexCore.js +13 -2
  391. package/dist/templatesCompiled/client/indexFull.d.ts +9 -7
  392. package/dist/templatesCompiled/client/indexFull.d.ts.map +1 -1
  393. package/dist/templatesCompiled/client/indexFull.js +52 -34
  394. package/dist/templatesCompiled/client/indexModels.d.ts +7 -5
  395. package/dist/templatesCompiled/client/indexModels.d.ts.map +1 -1
  396. package/dist/templatesCompiled/client/indexModels.js +27 -18
  397. package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.d.ts +27 -19
  398. package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.d.ts.map +1 -1
  399. package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.js +144 -63
  400. package/dist/templatesCompiled/client/jsonschema/exportSchema.d.ts +1 -0
  401. package/dist/templatesCompiled/client/jsonschema/exportSchema.d.ts.map +1 -1
  402. package/dist/templatesCompiled/client/jsonschema/exportSchema.js +17 -13
  403. package/dist/templatesCompiled/client/partials/exportInterface.d.ts +13 -5
  404. package/dist/templatesCompiled/client/partials/exportInterface.d.ts.map +1 -1
  405. package/dist/templatesCompiled/client/partials/exportInterface.js +91 -21
  406. package/dist/templatesCompiled/client/partials/result.d.ts +6 -4
  407. package/dist/templatesCompiled/client/partials/result.d.ts.map +1 -1
  408. package/dist/templatesCompiled/client/partials/result.js +16 -6
  409. package/dist/templatesCompiled/client/partials/serviceOption.d.ts +1 -0
  410. package/dist/templatesCompiled/client/partials/serviceOption.d.ts.map +1 -1
  411. package/dist/templatesCompiled/client/partials/serviceOption.js +11 -4
  412. package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.d.ts +22 -16
  413. package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.d.ts.map +1 -1
  414. package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.js +72 -60
  415. package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.d.ts +27 -19
  416. package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.d.ts.map +1 -1
  417. package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.js +77 -61
  418. package/package.json +7 -5
package/dist/cli/index.js CHANGED
@@ -8,11 +8,14 @@ const commander_1 = require("commander");
8
8
  const fs_1 = __importDefault(require("fs"));
9
9
  const Consts_1 = require("../common/Consts");
10
10
  const Enums_1 = require("../common/Enums");
11
+ const LoggerMessages_1 = require("../common/LoggerMessages");
11
12
  const UpdateNotifier_1 = require("../common/UpdateNotifier");
12
13
  const pathHelpers_1 = require("../common/utils/pathHelpers");
13
14
  const EmptySchemaStrategy_enum_1 = require("../core/types/enums/EmptySchemaStrategy.enum");
14
15
  const HttpClient_enum_1 = require("../core/types/enums/HttpClient.enum");
16
+ const ModelsMode_enum_1 = require("../core/types/enums/ModelsMode.enum");
15
17
  const ValidationLibrary_enum_1 = require("../core/types/enums/ValidationLibrary.enum");
18
+ const analyzeDiff_1 = require("./analyzeDiff/analyzeDiff");
16
19
  const checkConfig_1 = require("./checkAndUpdateConfig/checkConfig");
17
20
  const updateConfig_1 = require("./checkAndUpdateConfig/updateConfig");
18
21
  const generateOpenApiClient_1 = require("./generateOpenApiClient/generateOpenApiClient");
@@ -47,6 +50,9 @@ program
47
50
  .addOption(new commander_1.Option('-c, --httpClient <value>', 'HTTP client to generate').choices([...Object.values(HttpClient_enum_1.HttpClient)]).default(HttpClient_enum_1.HttpClient.FETCH))
48
51
  .option('--useOptions', 'Use options instead of arguments (default: false)')
49
52
  .option('--useUnionTypes', 'Use union types instead of enums (default: false)')
53
+ .option('--useHistory', 'Apply diff report annotations during generation (default: false)')
54
+ .option('--diffReport <value>', 'Path to a diff report JSON file')
55
+ .addOption(new commander_1.Option('--modelsMode <value>', 'Models generation mode').choices([...Object.values(ModelsMode_enum_1.ModelsMode)]).default(ModelsMode_enum_1.ModelsMode.INTERFACES))
50
56
  .option('--excludeCoreServiceFiles', 'The generation of the core and services is excluded (default: false)')
51
57
  .option('--request <value>', 'Path to custom request file')
52
58
  .option('--customExecutorPath <value>', 'Path to custom createExecutorAdapter module')
@@ -58,8 +64,13 @@ program
58
64
  .addOption(new commander_1.Option('-t, --logTarget <target>', 'Target of logging').choices([...Object.values(Enums_1.ELogOutput)]).default(Enums_1.ELogOutput.CONSOLE))
59
65
  .option('-s, --sortByRequired', 'Property sorting strategy: simplified or extended')
60
66
  .option('--useSeparatedIndexes', 'Use separate index files for the core, models, schemas, and services.')
67
+ .option('--strict-openapi', 'Enable strict OpenAPI diagnostics report and fail generation when strict errors are found')
68
+ .option('--report-file <value>', 'Path to strict OpenAPI diagnostics report JSON file', './openapi-report.json')
69
+ .option('--governance-config <value>', 'Path to governance rules JSON config file')
61
70
  .addOption(new commander_1.Option('--validationLibrary <value>', 'Validation library to use for schema validation').choices([...Object.values(ValidationLibrary_enum_1.ValidationLibrary)]).default(ValidationLibrary_enum_1.ValidationLibrary.NONE))
62
71
  .addOption(new commander_1.Option('--emptySchemaStrategy <value>', 'How to handle empty generated schemas').choices([...Object.values(EmptySchemaStrategy_enum_1.EmptySchemaStrategy)]).default(EmptySchemaStrategy_enum_1.EmptySchemaStrategy.KEEP))
72
+ .option('--useProjectPrettier', 'Use project Prettier config for formatting generated code (default: false)')
73
+ .option('--useEslintFix', 'Run ESLint --fix on generated files after writing (default: false)')
63
74
  .hook('preAction', async () => {
64
75
  await updateNotifier.checkAndNotify();
65
76
  })
@@ -129,6 +140,49 @@ program
129
140
  .action(async (options) => {
130
141
  await (0, previewChanges_1.previewChanges)(options);
131
142
  });
143
+ /**
144
+ * analyze-diff - Команда для анализа изменений между двумя версиями OpenAPI спецификации
145
+ *
146
+ * @example Как использовать сейчас
147
+ * Сравнение с явным старым файлом:
148
+ * openapi-codegen-cli analyze-diff \
149
+ * --input ./openapi/current.yaml \
150
+ * --compare-with ./openapi/previous.yaml \
151
+ * --output-report ./openapi-diff-report.json
152
+ *
153
+ * Сравнение с версией из Git:
154
+ * openapi-codegen-cli analyze-diff \
155
+ * --input openapi/spec.yaml \
156
+ * --git HEAD~1
157
+ */
158
+ program
159
+ .command('analyze-diff')
160
+ .description('Analyzes differences between two OpenAPI specifications and produces a JSON report')
161
+ .addHelpText('before', (0, utils_1.getCLIName)(APP_NAME))
162
+ .addHelpText('after', [
163
+ '',
164
+ 'Base source resolution:',
165
+ ' 1) --compare-with has priority over --git when both are provided.',
166
+ ' 2) --git is used only when --compare-with is not provided.',
167
+ ' 3) when neither is provided, analyze-diff is skipped with exit code 0.',
168
+ ].join('\n'))
169
+ .option('-i, --input <value>', 'Path to current OpenAPI specification file (required)')
170
+ .option('--compare-with <value>', 'Path to previous OpenAPI specification file (overrides --git when both are provided)')
171
+ .option('--git <ref>', 'Git ref to read previous specification version from (used when --compare-with is not set)')
172
+ .option('--output-report <value>', 'Path to save JSON diff report')
173
+ .option('-ocn, --openapi-config <value>', 'The path to the configuration file, listing the options (default: "openapi.config.json")', Consts_1.DEFAULT_OPENAPI_CONFIG_FILENAME)
174
+ .option('--governance-config <value>', 'Path to governance rules JSON config file')
175
+ .option('--strict-plugin-mode', 'Fail when plugin hook execution throws')
176
+ .option('--ci', 'Exit with code 1 when governance errors are found')
177
+ .option('--allow-breaking', 'Allow breaking changes in governance checks')
178
+ .hook('preAction', async () => {
179
+ await updateNotifier.checkAndNotify();
180
+ })
181
+ .action(async (options) => {
182
+ const result = await (0, analyzeDiff_1.analyzeDiff)(options);
183
+ await Consts_1.APP_LOGGER.shutdownLoggerAsync();
184
+ process.exit((0, analyzeDiff_1.toAnalyzeDiffExitCode)(result));
185
+ });
132
186
  program.exitOverride();
133
187
  program.showSuggestionAfterError(false);
134
188
  // Парсирование аргументов с обработкой ошибок
@@ -136,10 +190,11 @@ try {
136
190
  program.parse(process.argv);
137
191
  }
138
192
  catch (error) {
139
- if (error.code === 'commander.unknownOption') {
193
+ if (error && typeof error === 'object' && 'code' in error && error.code === 'commander.unknownOption') {
140
194
  const errorMessage = error?.message ?? '';
141
195
  if (errorMessage) {
142
- Consts_1.APP_LOGGER.error(errorMessage);
196
+ Consts_1.APP_LOGGER.error(LoggerMessages_1.LOGGER_MESSAGES.ERROR.GENERIC(errorMessage));
197
+ void Consts_1.APP_LOGGER.shutdownLoggerAsync().then(() => process.exit(1));
143
198
  }
144
199
  }
145
200
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/initOpenApiConfig/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAUzC;;GAEG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,YAAY,iBA4C/C"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/cli/initOpenApiConfig/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAWzC;;GAEG;AACH,wBAAsB,IAAI,CAAC,OAAO,EAAE,YAAY,iBAwD/C"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.init = init;
4
4
  const Consts_1 = require("../../common/Consts");
5
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
5
6
  const validateZodOptions_1 = require("../../common/Validation/validateZodOptions");
6
7
  const confirmDialog_1 = require("../interactive/confirmDialog");
7
8
  const schemas_1 = require("../schemas");
@@ -14,31 +15,37 @@ const registerHandlebarTemplates_1 = require("./utils/registerHandlebarTemplates
14
15
  async function init(options) {
15
16
  const validationResult = (0, validateZodOptions_1.validateZodOptions)(schemas_1.initOptionsSchema, options);
16
17
  if (!validationResult.success) {
17
- Consts_1.APP_LOGGER.error(validationResult.errors.join('\n'));
18
+ Consts_1.APP_LOGGER.error(LoggerMessages_1.LOGGER_MESSAGES.ERROR.GENERIC(validationResult.errors.join('\n')));
19
+ await Consts_1.APP_LOGGER.shutdownLoggerAsync();
18
20
  process.exit(1);
19
21
  }
20
22
  const validatedOptions = validationResult.data;
21
23
  const templates = (0, registerHandlebarTemplates_1.registerHandlebarTemplates)();
22
24
  if (validatedOptions.useInteractiveMode) {
23
25
  const shouldInitConfig = await (0, confirmDialog_1.confirmDialog)({
24
- message: 'Желаете сформировать конфигурационный файл для быстрого запуска генератора?',
26
+ message: 'Would you like to create a configuration file for quick start of the generator?',
25
27
  initial: false,
26
28
  });
27
29
  if (shouldInitConfig) {
28
- // TODO: генерация по шаблону!
29
30
  await (0, initConfig_1.initConfig)({
30
31
  openapiConfig: validatedOptions.openapiConfig,
31
32
  request: validatedOptions.request,
32
33
  specsDir: validatedOptions.specsDir,
33
34
  templates,
35
+ useInteractiveMode: validatedOptions.useInteractiveMode,
34
36
  });
35
37
  }
36
38
  const shouldInitCustomRequest = await (0, confirmDialog_1.confirmDialog)({
37
- message: 'Желаете сформировать файл с пользовательским вариантом обработки запросов?',
39
+ message: 'Would you like to create a file with a custom request processing option?',
38
40
  initial: false,
39
41
  });
40
42
  if (shouldInitCustomRequest) {
41
- await (0, initCustomRequest_1.initCustomRequest)(templates, validatedOptions?.useCancelableRequest);
43
+ await (0, initCustomRequest_1.initCustomRequest)({
44
+ templates,
45
+ useCancelableRequest: validatedOptions?.useCancelableRequest,
46
+ customRequestPath: validatedOptions.request,
47
+ useInteractiveMode: validatedOptions.useInteractiveMode,
48
+ });
42
49
  }
43
50
  }
44
51
  else {
@@ -47,7 +54,13 @@ async function init(options) {
47
54
  request: validatedOptions.request,
48
55
  specsDir: validatedOptions.specsDir,
49
56
  templates,
57
+ useInteractiveMode: validatedOptions.useInteractiveMode,
58
+ });
59
+ await (0, initCustomRequest_1.initCustomRequest)({
60
+ templates,
61
+ useCancelableRequest: validatedOptions?.useCancelableRequest,
62
+ customRequestPath: validatedOptions.request,
63
+ useInteractiveMode: validatedOptions.useInteractiveMode,
50
64
  });
51
- await (0, initCustomRequest_1.initCustomRequest)(templates, validatedOptions?.useCancelableRequest);
52
65
  }
53
66
  }
@@ -2,6 +2,7 @@ import { InitOptions } from '../schemas';
2
2
  import { CLITemplates } from './Types';
3
3
  type InitConfigParams = Pick<InitOptions, 'openapiConfig' | 'specsDir' | 'request'> & {
4
4
  templates: CLITemplates;
5
+ useInteractiveMode?: boolean;
5
6
  };
6
7
  /**
7
8
  * Инициализирует файл конфигурации OpenAPI
@@ -1 +1 @@
1
- {"version":3,"file":"initConfig.d.ts","sourceRoot":"","sources":["../../../src/cli/initOpenApiConfig/initConfig.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"initConfig.d.ts","sourceRoot":"","sources":["../../../src/cli/initOpenApiConfig/initConfig.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAMvC,KAAK,gBAAgB,GAAG,IAAI,CAAC,WAAW,EAAE,eAAe,GAAG,UAAU,GAAG,SAAS,CAAC,GAAG;IAClF,SAAS,EAAE,YAAY,CAAC;IACxB,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CA2HxE"}
@@ -2,6 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.initConfig = initConfig;
4
4
  const Consts_1 = require("../../common/Consts");
5
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
5
6
  const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
6
7
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
7
8
  const confirmDialog_1 = require("../interactive/confirmDialog");
@@ -16,16 +17,22 @@ const writeConfigFile_1 = require("./utils/writeConfigFile");
16
17
  * Инициализирует файл конфигурации OpenAPI
17
18
  */
18
19
  async function initConfig(params) {
20
+ const useInteractiveMode = params.useInteractiveMode === true;
19
21
  const configPath = (0, pathHelpers_1.resolveHelper)(process.cwd(), params.openapiConfig || '');
20
22
  const configExists = await fileSystemHelpers_1.fileSystemHelpers.exists(configPath);
21
23
  // Шаг 3: Проверка существования файла конфигурации
22
24
  if (configExists) {
25
+ if (!useInteractiveMode) {
26
+ Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.CONFIG_EXISTS_INTERACTIVE_DISABLED(configPath));
27
+ Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.CONFIG_LEFT_UNCHANGED);
28
+ return;
29
+ }
23
30
  const shouldRegenerate = await (0, confirmDialog_1.confirmDialog)({
24
31
  message: 'Configuration file already exists. Do you want to regenerate it?',
25
32
  initial: false,
26
33
  });
27
34
  if (!shouldRegenerate) {
28
- Consts_1.APP_LOGGER.info('Configuration file left unchanged.');
35
+ Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.CONFIG_LEFT_UNCHANGED);
29
36
  return;
30
37
  }
31
38
  }
@@ -37,10 +44,10 @@ async function initConfig(params) {
37
44
  specFiles = await (0, findSpecFiles_1.findSpecFiles)(currentSpecsDir);
38
45
  }
39
46
  catch (error) {
40
- Consts_1.APP_LOGGER.warn(`Error finding spec files: ${error instanceof Error ? error.message : String(error)}`);
47
+ Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.SPEC_FILES_FIND_ERROR(error instanceof Error ? error.message : String(error)));
41
48
  }
42
49
  if (specFiles.length === 0) {
43
- Consts_1.APP_LOGGER.warn(`No spec files found in directory: ${currentSpecsDir}`);
50
+ Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.NO_SPEC_FILES_FOUND(currentSpecsDir));
44
51
  }
45
52
  // Валидация файлов
46
53
  const validatedSpecs = await (0, validateSpecFiles_1.validateSpecFiles)(specFiles);
@@ -48,51 +55,67 @@ async function initConfig(params) {
48
55
  let useMultiOption = false;
49
56
  let customRequest;
50
57
  let perSpecRequest = false;
58
+ const hasCustomRequestPath = Boolean(params.request);
51
59
  if (validatedSpecs.length > 0) {
52
60
  // Если найдены валидные спецификации, спрашиваем о типе конфигурации
53
61
  useMultiOption = validatedSpecs.length > 1;
54
- // Спрашиваем про пользовательскую реализацию request
55
- const hasCustomRequest = await (0, confirmDialog_1.confirmDialog)({
56
- message: 'Do you want to use a custom request implementation?',
57
- initial: false,
58
- });
62
+ // В неинтерактивном режиме признак кастомного request определяется наличием --request
63
+ const hasCustomRequest = useInteractiveMode
64
+ ? await (0, confirmDialog_1.confirmDialog)({
65
+ message: 'Do you want to use a custom request implementation?',
66
+ initial: false,
67
+ })
68
+ : hasCustomRequestPath;
59
69
  if (hasCustomRequest) {
60
- if (useMultiOption) {
70
+ if (useMultiOption && useInteractiveMode) {
61
71
  perSpecRequest = await (0, confirmDialog_1.confirmDialog)({
62
72
  message: 'Will each specification have its own request?',
63
73
  initial: false,
64
74
  });
65
75
  }
66
- customRequest = params.request;
76
+ if (!hasCustomRequestPath) {
77
+ Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.CUSTOM_REQUEST_MISSING_PATH);
78
+ }
79
+ else {
80
+ customRequest = params.request;
81
+ }
67
82
  }
68
83
  config = await (0, buildConfig_1.buildConfig)(validatedSpecs, useMultiOption, customRequest, perSpecRequest);
69
84
  }
70
85
  else {
71
86
  // Если валидных спецификаций нет, предлагаем создать пример
72
- Consts_1.APP_LOGGER.warn('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
- });
87
+ Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.NO_VALID_SPEC_FILES_FOUND);
88
+ const action = useInteractiveMode
89
+ ? await (0, selectDialog_1.selectDialog)({
90
+ message: 'What would you like to do?',
91
+ choices: constants_1.OPEN_API_CONFIG_SELECT_OPTIONS,
92
+ initial: 0,
93
+ })
94
+ : types_1.EConfigType.FLAT;
78
95
  if (action === types_1.EConfigType.NONE) {
79
- Consts_1.APP_LOGGER.info('Configuration file generation cancelled.');
96
+ Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.CONFIG_GENERATION_CANCELLED);
80
97
  return;
81
98
  }
82
99
  useMultiOption = action === types_1.EConfigType.MULTI;
83
- // Спрашиваем про пользовательскую реализацию request
84
- const hasCustomRequest = await (0, confirmDialog_1.confirmDialog)({
85
- message: 'Do you want to use a custom request implementation?',
86
- initial: false,
87
- });
100
+ const hasCustomRequest = useInteractiveMode
101
+ ? await (0, confirmDialog_1.confirmDialog)({
102
+ message: 'Do you want to use a custom request implementation?',
103
+ initial: false,
104
+ })
105
+ : hasCustomRequestPath;
88
106
  if (hasCustomRequest) {
89
- if (useMultiOption) {
107
+ if (useMultiOption && useInteractiveMode) {
90
108
  perSpecRequest = await (0, confirmDialog_1.confirmDialog)({
91
109
  message: 'Will each specification have its own request?',
92
110
  initial: false,
93
111
  });
94
112
  }
95
- customRequest = './custom-request.ts';
113
+ if (!hasCustomRequestPath) {
114
+ Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CONFIG.CUSTOM_REQUEST_MISSING_PATH);
115
+ }
116
+ else {
117
+ customRequest = params.request;
118
+ }
96
119
  }
97
120
  // Создаем пример конфигурации
98
121
  config = (0, buildConfig_1.buildExampleConfig)(useMultiOption, customRequest, perSpecRequest);
@@ -1,3 +1,10 @@
1
1
  import { CLITemplates } from './Types';
2
- export declare function initCustomRequest(templates: CLITemplates, useCancelableRequest?: boolean): Promise<void>;
2
+ type InitCustomRequestParams = {
3
+ templates: CLITemplates;
4
+ useCancelableRequest?: boolean;
5
+ customRequestPath?: string;
6
+ useInteractiveMode?: boolean;
7
+ };
8
+ export declare function initCustomRequest(params: InitCustomRequestParams): Promise<void>;
9
+ export {};
3
10
  //# sourceMappingURL=initCustomRequest.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"initCustomRequest.d.ts","sourceRoot":"","sources":["../../../src/cli/initOpenApiConfig/initCustomRequest.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,wBAAsB,iBAAiB,CAAC,SAAS,EAAE,YAAY,EAAE,oBAAoB,CAAC,EAAE,OAAO,iBAkB9F"}
1
+ {"version":3,"file":"initCustomRequest.d.ts","sourceRoot":"","sources":["../../../src/cli/initOpenApiConfig/initCustomRequest.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,KAAK,uBAAuB,GAAG;IAC3B,SAAS,EAAE,YAAY,CAAC;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAC/B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,wBAAsB,iBAAiB,CAAC,MAAM,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkDtF"}
@@ -1,23 +1,55 @@
1
1
  "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
2
5
  Object.defineProperty(exports, "__esModule", { value: true });
3
6
  exports.initCustomRequest = initCustomRequest;
7
+ const path_1 = __importDefault(require("path"));
8
+ const Consts_1 = require("../../common/Consts");
9
+ const LoggerMessages_1 = require("../../common/LoggerMessages");
4
10
  const fileSystemHelpers_1 = require("../../common/utils/fileSystemHelpers");
5
11
  const format_1 = require("../../common/utils/format");
6
12
  const pathHelpers_1 = require("../../common/utils/pathHelpers");
7
13
  const confirmDialog_1 = require("../interactive/confirmDialog");
8
- async function initCustomRequest(templates, useCancelableRequest) {
9
- // TODO: Подумать над правильной постановкой вопроса!
10
- const shouldRequestExecutor = await (0, confirmDialog_1.confirmDialog)({
11
- message: 'Желаете сформировать пользовательский обработчик request в новом формате?',
12
- initial: false,
13
- });
14
+ async function initCustomRequest(params) {
15
+ const { templates, useCancelableRequest, customRequestPath, useInteractiveMode } = params;
16
+ if (!customRequestPath) {
17
+ Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CUSTOM_REQUEST.PATH_NOT_PROVIDED);
18
+ return;
19
+ }
20
+ const shouldRequestExecutor = useInteractiveMode
21
+ ? await (0, confirmDialog_1.confirmDialog)({
22
+ message: 'Generate custom request file in executor format?',
23
+ initial: false,
24
+ })
25
+ : false;
14
26
  const artifacts = {
15
27
  useCancelableRequest,
16
28
  };
17
- const customRequestPath = './src/custom/request.ts';
18
29
  const file = (0, pathHelpers_1.resolveHelper)(process.cwd(), customRequestPath);
30
+ const fileDir = path_1.default.dirname(file);
31
+ const fileDirExists = await fileSystemHelpers_1.fileSystemHelpers.exists(fileDir);
32
+ if (!fileDirExists) {
33
+ await fileSystemHelpers_1.fileSystemHelpers.mkdir(fileDir);
34
+ }
35
+ const isFileExists = await fileSystemHelpers_1.fileSystemHelpers.exists(file);
36
+ if (isFileExists) {
37
+ if (!useInteractiveMode) {
38
+ Consts_1.APP_LOGGER.warn(LoggerMessages_1.LOGGER_MESSAGES.CUSTOM_REQUEST.FILE_EXISTS_INTERACTIVE_DISABLED(file));
39
+ Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.CUSTOM_REQUEST.FILE_LEFT_UNCHANGED);
40
+ return;
41
+ }
42
+ const shouldOverwrite = await (0, confirmDialog_1.confirmDialog)({
43
+ message: 'Custom request file already exists. Overwrite it?',
44
+ initial: false,
45
+ });
46
+ if (!shouldOverwrite) {
47
+ Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.CUSTOM_REQUEST.FILE_LEFT_UNCHANGED);
48
+ return;
49
+ }
50
+ }
19
51
  const templateResult = shouldRequestExecutor ? templates.requestExecutor(artifacts) : templates.request(artifacts);
20
52
  const formattedValue = await (0, format_1.format)(templateResult);
21
53
  await fileSystemHelpers_1.fileSystemHelpers.writeFile(file, formattedValue);
22
- return;
54
+ Consts_1.APP_LOGGER.info(LoggerMessages_1.LOGGER_MESSAGES.CUSTOM_REQUEST.FILE_CREATED(file));
23
55
  }
@@ -1 +1 @@
1
- {"version":3,"file":"buildConfig.d.ts","sourceRoot":"","sources":["../../../../src/cli/initOpenApiConfig/utils/buildConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CA8ClK;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,WAAW,CAuCzH"}
1
+ {"version":3,"file":"buildConfig.d.ts","sourceRoot":"","sources":["../../../../src/cli/initOpenApiConfig/utils/buildConfig.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAEpD;;;;;;;;GAQG;AACH,wBAAsB,WAAW,CAAC,cAAc,EAAE,aAAa,EAAE,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,WAAW,CAAC,CA4ElK;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,cAAc,EAAE,OAAO,EAAE,aAAa,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,GAAG,WAAW,CAqEzH"}
@@ -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"}