ts-openapi-codegen 1.0.0-beta.8 → 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/README.md +221 -123
  2. package/README.rus.md +725 -0
  3. package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts +12 -0
  4. package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts.map +1 -0
  5. package/dist/cli/checkAndUpdateConfig/checkConfig.js +66 -0
  6. package/dist/cli/checkAndUpdateConfig/constants.d.ts +13 -0
  7. package/dist/cli/checkAndUpdateConfig/constants.d.ts.map +1 -0
  8. package/dist/cli/checkAndUpdateConfig/constants.js +29 -0
  9. package/dist/cli/checkAndUpdateConfig/types.d.ts +20 -0
  10. package/dist/cli/checkAndUpdateConfig/types.d.ts.map +1 -0
  11. package/dist/cli/checkAndUpdateConfig/types.js +12 -0
  12. package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts +12 -0
  13. package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts.map +1 -0
  14. package/dist/cli/checkAndUpdateConfig/updateConfig.js +56 -0
  15. package/dist/cli/checkAndUpdateConfig/utils/generateConfigExample.d.ts +2 -0
  16. package/dist/cli/checkAndUpdateConfig/utils/generateConfigExample.d.ts.map +1 -0
  17. package/dist/cli/checkAndUpdateConfig/utils/generateConfigExample.js +11 -0
  18. package/dist/cli/checkAndUpdateConfig/utils/prepareConfigData.d.ts +14 -0
  19. package/dist/cli/checkAndUpdateConfig/utils/prepareConfigData.d.ts.map +1 -0
  20. package/dist/cli/checkAndUpdateConfig/utils/prepareConfigData.js +30 -0
  21. package/dist/cli/checkAndUpdateConfig/utils/removeDefaultConfigValues.d.ts +17 -0
  22. package/dist/cli/checkAndUpdateConfig/utils/removeDefaultConfigValues.d.ts.map +1 -0
  23. package/dist/cli/checkAndUpdateConfig/utils/removeDefaultConfigValues.js +29 -0
  24. package/dist/cli/checkAndUpdateConfig/utils/rewriteConfigFile.d.ts +2 -0
  25. package/dist/cli/checkAndUpdateConfig/utils/rewriteConfigFile.d.ts.map +1 -0
  26. package/dist/cli/checkAndUpdateConfig/utils/rewriteConfigFile.js +11 -0
  27. package/dist/cli/checkAndUpdateConfig/utils/selectConfigAction.d.ts +29 -0
  28. package/dist/cli/checkAndUpdateConfig/utils/selectConfigAction.d.ts.map +1 -0
  29. package/dist/cli/checkAndUpdateConfig/utils/selectConfigAction.js +49 -0
  30. package/dist/cli/checkAndUpdateConfig/utils/updateExistingConfigFile.d.ts +6 -0
  31. package/dist/cli/checkAndUpdateConfig/utils/updateExistingConfigFile.d.ts.map +1 -0
  32. package/dist/cli/checkAndUpdateConfig/utils/updateExistingConfigFile.js +22 -0
  33. package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.d.ts +17 -0
  34. package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.d.ts.map +1 -0
  35. package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.js +53 -0
  36. package/dist/cli/checkAndUpdateConfig/utils/writeConfigFile.d.ts +34 -0
  37. package/dist/cli/checkAndUpdateConfig/utils/writeConfigFile.d.ts.map +1 -0
  38. package/dist/cli/checkAndUpdateConfig/utils/writeConfigFile.js +41 -0
  39. package/dist/cli/checkAndUpdateConfig/utils/writeExampleConfigFile.d.ts +6 -0
  40. package/dist/cli/checkAndUpdateConfig/utils/writeExampleConfigFile.d.ts.map +1 -0
  41. package/dist/cli/checkAndUpdateConfig/utils/writeExampleConfigFile.js +18 -0
  42. package/dist/cli/generate/runGenerateOpenApi.d.ts +2 -2
  43. package/dist/cli/generate/runGenerateOpenApi.d.ts.map +1 -1
  44. package/dist/cli/generate/runGenerateOpenApi.js +12 -14
  45. package/dist/cli/index.d.ts +1 -0
  46. package/dist/cli/index.js +56 -30
  47. package/dist/cli/initOpenApiConfig/runInitOpenapiConfig.d.ts.map +1 -1
  48. package/dist/cli/initOpenApiConfig/runInitOpenapiConfig.js +11 -18
  49. package/dist/cli/interactive/confirmDialog.d.ts +17 -0
  50. package/dist/cli/interactive/confirmDialog.d.ts.map +1 -0
  51. package/dist/cli/interactive/confirmDialog.js +36 -0
  52. package/dist/cli/interactive/constants.d.ts +7 -0
  53. package/dist/cli/interactive/constants.d.ts.map +1 -0
  54. package/dist/cli/interactive/constants.js +25 -0
  55. package/dist/cli/interactive/selectDialog.d.ts +17 -0
  56. package/dist/cli/interactive/selectDialog.d.ts.map +1 -0
  57. package/dist/cli/interactive/selectDialog.js +43 -0
  58. package/dist/cli/interactive/types.d.ts +40 -0
  59. package/dist/cli/interactive/types.d.ts.map +1 -0
  60. package/dist/cli/interactive/types.js +12 -0
  61. package/dist/common/Consts.d.ts +23 -0
  62. package/dist/common/Consts.d.ts.map +1 -1
  63. package/dist/common/Consts.js +28 -1
  64. package/dist/common/Enums.d.ts +4 -0
  65. package/dist/common/Enums.d.ts.map +1 -1
  66. package/dist/common/Enums.js +6 -1
  67. package/dist/common/Logger.d.ts +1 -1
  68. package/dist/common/Logger.d.ts.map +1 -1
  69. package/dist/common/Logger.js +5 -38
  70. package/dist/common/UpdateNotifier.d.ts +36 -2
  71. package/dist/common/UpdateNotifier.d.ts.map +1 -1
  72. package/dist/common/UpdateNotifier.js +150 -57
  73. package/dist/common/VersionedSchema/Types.d.ts +5 -0
  74. package/dist/common/VersionedSchema/Types.d.ts.map +1 -1
  75. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts +1 -7
  76. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts.map +1 -1
  77. package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.d.ts +3 -0
  78. package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.d.ts.map +1 -0
  79. package/dist/common/VersionedSchema/Utils/getCurrentErrorMessage.js +14 -0
  80. package/dist/common/VersionedSchema/Utils/getKeyByMapValue.d.ts +2 -0
  81. package/dist/common/VersionedSchema/Utils/getKeyByMapValue.d.ts.map +1 -0
  82. package/dist/common/VersionedSchema/Utils/getKeyByMapValue.js +11 -0
  83. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts +5 -2
  84. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
  85. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +22 -15
  86. package/dist/common/utils/__tests__/__mock__/mockJoiSchema.d.ts.map +1 -0
  87. package/dist/common/utils/__tests__/convertArrayToObject.test.d.ts.map +1 -0
  88. package/dist/common/{__tests__ → utils/__tests__}/convertArrayToObject.test.js +14 -14
  89. package/dist/common/utils/__tests__/determineBestMatchingSchemaVersion.test.d.ts.map +1 -0
  90. package/dist/common/{__tests__ → utils/__tests__}/determineBestMatchingSchemaVersion.test.js +5 -5
  91. package/dist/common/utils/__tests__/generateKeyMappingForInvalidKeys.test.d.ts.map +1 -0
  92. package/dist/common/{__tests__ → utils/__tests__}/generateKeyMappingForInvalidKeys.test.js +4 -4
  93. package/dist/common/utils/__tests__/getUniqueKeysFromSchemas.test.d.ts.map +1 -0
  94. package/dist/common/{__tests__ → utils/__tests__}/getUniqueKeysFromSchemas.test.js +4 -4
  95. package/dist/common/utils/__tests__/getUniqueObjectKeys.test.d.ts.map +1 -0
  96. package/dist/common/{__tests__ → utils/__tests__}/getUniqueObjectKeys.test.js +5 -5
  97. package/dist/common/utils/__tests__/mergeObjectSchemas.test.d.ts.map +1 -0
  98. package/dist/common/{__tests__ → utils/__tests__}/mergeObjectSchemas.test.js +5 -5
  99. package/dist/common/utils/__tests__/migrationForMultiOptions.test.d.ts.map +1 -0
  100. package/dist/common/{__tests__ → utils/__tests__}/migrationForMultiOptions.test.js +21 -15
  101. package/dist/common/utils/__tests__/migrationForOptions.test.d.ts.map +1 -0
  102. package/dist/common/{__tests__ → utils/__tests__}/migrationForOptions.test.js +13 -9
  103. package/dist/common/utils/__tests__/pathHelpers.test.d.ts.map +1 -0
  104. package/dist/{core → common}/utils/__tests__/pathHelpers.test.js +8 -8
  105. package/dist/common/utils/__tests__/replaceInvalidKeysWithMappedNames.test.d.ts.map +1 -0
  106. package/dist/common/{__tests__ → utils/__tests__}/replaceInvalidKeysWithMappedNames.test.js +5 -5
  107. package/dist/common/utils/__tests__/validateAndSuggestKeyCorrections.test.d.ts.map +1 -0
  108. package/dist/common/{__tests__ → utils/__tests__}/validateAndSuggestKeyCorrections.test.js +5 -5
  109. package/dist/common/utils/convertArrayToObject.d.ts +2 -0
  110. package/dist/common/utils/convertArrayToObject.d.ts.map +1 -0
  111. package/dist/common/{Utils.js → utils/convertArrayToObject.js} +0 -20
  112. package/dist/{core/utils/fileSystem.d.ts → common/utils/fileSystemHelpers.d.ts} +8 -5
  113. package/dist/common/utils/fileSystemHelpers.d.ts.map +1 -0
  114. package/dist/common/utils/fileSystemHelpers.js +85 -0
  115. package/dist/common/utils/format.d.ts +3 -0
  116. package/dist/common/utils/format.d.ts.map +1 -0
  117. package/dist/{core → common}/utils/format.js +2 -2
  118. package/dist/common/utils/loadConfigIfExists.d.ts +2 -0
  119. package/dist/common/utils/loadConfigIfExists.d.ts.map +1 -0
  120. package/dist/common/utils/loadConfigIfExists.js +22 -0
  121. package/dist/common/utils/pathHelpers.d.ts +6 -0
  122. package/dist/common/utils/pathHelpers.d.ts.map +1 -0
  123. package/dist/{core → common}/utils/pathHelpers.js +16 -20
  124. package/dist/common/utils/safeHasOwn.d.ts +2 -0
  125. package/dist/common/utils/safeHasOwn.d.ts.map +1 -0
  126. package/dist/common/utils/safeHasOwn.js +9 -0
  127. package/dist/core/Context.d.ts.map +1 -1
  128. package/dist/core/Context.js +3 -3
  129. package/dist/core/WriteClient.d.ts.map +1 -1
  130. package/dist/core/WriteClient.js +18 -18
  131. package/dist/core/__tests__/WriteClient.test.js +61 -60
  132. package/dist/core/api/v2/Parser.d.ts.map +1 -1
  133. package/dist/core/api/v2/Parser.js +2 -9
  134. package/dist/core/api/v2/parser/__tests__/getServer.test.js +2 -2
  135. package/dist/core/api/v2/parser/__tests__/getType.test.js +3 -3
  136. package/dist/core/api/v2/parser/getModelProperties.d.ts.map +1 -1
  137. package/dist/core/api/v2/parser/getModelProperties.js +2 -5
  138. package/dist/core/api/v2/parser/getModels.d.ts.map +1 -1
  139. package/dist/core/api/v2/parser/getModels.js +2 -1
  140. package/dist/core/api/v2/parser/getOperationParameter.d.ts.map +1 -1
  141. package/dist/core/api/v2/parser/getOperationParameter.js +2 -1
  142. package/dist/core/api/v2/parser/getOperationResponse.d.ts.map +1 -1
  143. package/dist/core/api/v2/parser/getOperationResponse.js +2 -5
  144. package/dist/core/api/v2/parser/getOperationResponses.d.ts.map +1 -1
  145. package/dist/core/api/v2/parser/getOperationResponses.js +2 -5
  146. package/dist/core/api/v2/parser/getServices.d.ts.map +1 -1
  147. package/dist/core/api/v2/parser/getServices.js +2 -5
  148. package/dist/core/api/v2/parser/getType.js +4 -4
  149. package/dist/core/api/v3/Parser.d.ts +1 -1
  150. package/dist/core/api/v3/Parser.d.ts.map +1 -1
  151. package/dist/core/api/v3/Parser.js +2 -9
  152. package/dist/core/api/v3/parser/__tests__/getServer.test.js +3 -3
  153. package/dist/core/api/v3/parser/__tests__/getType.test.js +3 -3
  154. package/dist/core/api/v3/parser/getModelProperties.d.ts.map +1 -1
  155. package/dist/core/api/v3/parser/getModelProperties.js +2 -5
  156. package/dist/core/api/v3/parser/getModels.d.ts.map +1 -1
  157. package/dist/core/api/v3/parser/getModels.js +2 -1
  158. package/dist/core/api/v3/parser/getOperationResponse.d.ts.map +1 -1
  159. package/dist/core/api/v3/parser/getOperationResponse.js +2 -5
  160. package/dist/core/api/v3/parser/getOperationResponses.d.ts.map +1 -1
  161. package/dist/core/api/v3/parser/getOperationResponses.js +2 -5
  162. package/dist/core/api/v3/parser/getServer.d.ts.map +1 -1
  163. package/dist/core/api/v3/parser/getServer.js +2 -5
  164. package/dist/core/api/v3/parser/getServices.d.ts.map +1 -1
  165. package/dist/core/api/v3/parser/getServices.js +2 -5
  166. package/dist/core/api/v3/parser/getType.d.ts.map +1 -1
  167. package/dist/core/api/v3/parser/getType.js +5 -13
  168. package/dist/core/index.d.ts +4 -0
  169. package/dist/core/index.d.ts.map +1 -1
  170. package/dist/core/index.js +34 -27
  171. package/dist/core/types/Consts.d.ts +5 -1
  172. package/dist/core/types/Consts.d.ts.map +1 -1
  173. package/dist/core/types/Consts.js +6 -2
  174. package/dist/core/types/base/Root.model.d.ts +1 -0
  175. package/dist/core/types/base/Root.model.d.ts.map +1 -1
  176. package/dist/core/utils/__tests__/escapeDescription.test.js +3 -3
  177. package/dist/core/utils/__tests__/escapeName.test.js +2 -2
  178. package/dist/core/utils/__tests__/flatMap.test.js +2 -2
  179. package/dist/core/utils/__tests__/getAbsolutePath.test.js +6 -6
  180. package/dist/core/utils/__tests__/getClassName.test.js +2 -2
  181. package/dist/core/utils/__tests__/getComment.test.js +2 -2
  182. package/dist/core/utils/__tests__/getEnumFromDescription.test.js +2 -2
  183. package/dist/core/utils/__tests__/getFileName.test.js +2 -2
  184. package/dist/core/utils/__tests__/getGatheringRefs.test.js +2 -2
  185. package/dist/core/utils/__tests__/getMappedType.test.js +2 -2
  186. package/dist/core/utils/__tests__/getModelNames.test.js +2 -2
  187. package/dist/core/utils/__tests__/getOpenApiVersion.test.js +2 -2
  188. package/dist/core/utils/__tests__/getOperationName.test.js +2 -2
  189. package/dist/core/utils/__tests__/getOperationParameterName.test.js +2 -2
  190. package/dist/core/utils/__tests__/getOperationPath.test.js +2 -2
  191. package/dist/core/utils/__tests__/getOperationResponseCode.test.js +2 -2
  192. package/dist/core/utils/__tests__/getPattern.test.js +2 -2
  193. package/dist/core/utils/__tests__/getRefFromSchema.test.js +2 -2
  194. package/dist/core/utils/__tests__/getRefs.test.js +2 -2
  195. package/dist/core/utils/__tests__/getRelativeModelPath.test.js +3 -3
  196. package/dist/core/utils/__tests__/getServiceClassName.test.js +2 -2
  197. package/dist/core/utils/__tests__/getServiceNames.test.js +2 -2
  198. package/dist/core/utils/__tests__/getServiceVersion.test.js +2 -2
  199. package/dist/core/utils/__tests__/isString.test.js +2 -2
  200. package/dist/core/utils/__tests__/isSubdirectory.test.js +10 -10
  201. package/dist/core/utils/__tests__/registerHandlebarHelpers.test.js +2 -2
  202. package/dist/core/utils/__tests__/registerHandlebarTemplates.test.js +2 -2
  203. package/dist/core/utils/__tests__/replaceString.test.js +2 -2
  204. package/dist/core/utils/__tests__/resolveRefToImportPath.test.js +360 -51
  205. package/dist/core/utils/__tests__/sort.test.js +2 -2
  206. package/dist/core/utils/__tests__/sortByRequiredExtended.test.js +11 -11
  207. package/dist/core/utils/__tests__/sortByRequiredSimple.test.js +11 -11
  208. package/dist/core/utils/__tests__/sortModelsByName.test.js +2 -2
  209. package/dist/core/utils/__tests__/sortServicesByName.test.js +2 -2
  210. package/dist/core/utils/__tests__/stripNamespace.test.js +2 -2
  211. package/dist/core/utils/__tests__/unique.test.js +2 -2
  212. package/dist/core/utils/__tests__/writeClientCore.test.js +52 -50
  213. package/dist/core/utils/__tests__/writeClientFullIndex.test.js +39 -37
  214. package/dist/core/utils/__tests__/writeClientModels.test.js +65 -63
  215. package/dist/core/utils/__tests__/writeClientSchemas.test.js +65 -63
  216. package/dist/core/utils/__tests__/writeClientServices.test.js +60 -58
  217. package/dist/core/utils/appendUniqueLinesToFile.js +4 -4
  218. package/dist/core/utils/createNormalizedRef.js +2 -2
  219. package/dist/core/utils/getAbsolutePath.js +3 -3
  220. package/dist/core/utils/getModelNameWithPrefix.d.ts +3 -0
  221. package/dist/core/utils/getModelNameWithPrefix.d.ts.map +1 -0
  222. package/dist/core/utils/getModelNameWithPrefix.js +15 -0
  223. package/dist/core/utils/getOpenApiSpec.d.ts.map +1 -1
  224. package/dist/core/utils/getOpenApiSpec.js +4 -4
  225. package/dist/core/utils/getOutputPaths.d.ts.map +1 -1
  226. package/dist/core/utils/getOutputPaths.js +6 -6
  227. package/dist/core/utils/getPattern.d.ts.map +1 -1
  228. package/dist/core/utils/getPattern.js +2 -1
  229. package/dist/core/utils/getRelativeModelPath.d.ts.map +1 -1
  230. package/dist/core/utils/getRelativeModelPath.js +2 -6
  231. package/dist/core/utils/isSubdirectory.d.ts.map +1 -1
  232. package/dist/core/utils/isSubdirectory.js +4 -3
  233. package/dist/core/utils/mapPathToTargetDirSafe.d.ts.map +1 -1
  234. package/dist/core/utils/mapPathToTargetDirSafe.js +11 -12
  235. package/dist/core/utils/modelHelpers.d.ts.map +1 -1
  236. package/dist/core/utils/modelHelpers.js +18 -6
  237. package/dist/core/utils/normalizeString.d.ts +2 -0
  238. package/dist/core/utils/normalizeString.d.ts.map +1 -0
  239. package/dist/core/utils/normalizeString.js +14 -0
  240. package/dist/core/utils/normalizedAbsolutePath.js +3 -3
  241. package/dist/core/utils/parseRef.d.ts.map +1 -1
  242. package/dist/core/utils/parseRef.js +7 -10
  243. package/dist/core/utils/precompileTemplates.js +14 -10
  244. package/dist/core/utils/registerHandlebarHelpers.d.ts.map +1 -1
  245. package/dist/core/utils/registerHandlebarHelpers.js +24 -0
  246. package/dist/core/utils/replaceString.d.ts.map +1 -1
  247. package/dist/core/utils/replaceString.js +2 -1
  248. package/dist/core/utils/resolveRefPath.d.ts.map +1 -1
  249. package/dist/core/utils/resolveRefPath.js +3 -3
  250. package/dist/core/utils/resolveRefToImportPath.d.ts +8 -2
  251. package/dist/core/utils/resolveRefToImportPath.d.ts.map +1 -1
  252. package/dist/core/utils/resolveRefToImportPath.js +91 -31
  253. package/dist/core/utils/serviceHelpers.d.ts.map +1 -1
  254. package/dist/core/utils/serviceHelpers.js +2 -1
  255. package/dist/core/utils/stripNamespace.js +5 -5
  256. package/dist/core/utils/writeClientCore.d.ts.map +1 -1
  257. package/dist/core/utils/writeClientCore.js +12 -12
  258. package/dist/core/utils/writeClientCoreIndex.d.ts.map +1 -1
  259. package/dist/core/utils/writeClientCoreIndex.js +2 -2
  260. package/dist/core/utils/writeClientFullIndex.d.ts.map +1 -1
  261. package/dist/core/utils/writeClientFullIndex.js +4 -4
  262. package/dist/core/utils/writeClientModels.d.ts.map +1 -1
  263. package/dist/core/utils/writeClientModels.js +7 -7
  264. package/dist/core/utils/writeClientModelsIndex.d.ts.map +1 -1
  265. package/dist/core/utils/writeClientModelsIndex.js +2 -2
  266. package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
  267. package/dist/core/utils/writeClientSchemas.js +7 -7
  268. package/dist/core/utils/writeClientSchemasIndex.d.ts.map +1 -1
  269. package/dist/core/utils/writeClientSchemasIndex.js +2 -2
  270. package/dist/core/utils/writeClientServices.d.ts.map +1 -1
  271. package/dist/core/utils/writeClientServices.js +5 -5
  272. package/dist/core/utils/writeClientServicesIndex.d.ts.map +1 -1
  273. package/dist/core/utils/writeClientServicesIndex.js +2 -2
  274. package/dist/core/utils/writeClientSimpleIndex.d.ts.map +1 -1
  275. package/dist/core/utils/writeClientSimpleIndex.js +4 -4
  276. package/dist/templatesCompiled/client/exportModel.js +4 -4
  277. package/dist/templatesCompiled/client/exportService.d.ts.map +1 -1
  278. package/dist/templatesCompiled/client/exportService.js +12 -13
  279. package/dist/templatesCompiled/client/indexFull.d.ts.map +1 -1
  280. package/dist/templatesCompiled/client/indexFull.js +35 -29
  281. package/dist/templatesCompiled/client/partials/parameters.d.ts +3 -2
  282. package/dist/templatesCompiled/client/partials/parameters.d.ts.map +1 -1
  283. package/dist/templatesCompiled/client/partials/parameters.js +25 -20
  284. package/dist/templatesCompiled/client/partials/parametersDefinition.d.ts +4 -2
  285. package/dist/templatesCompiled/client/partials/parametersDefinition.d.ts.map +1 -1
  286. package/dist/templatesCompiled/client/partials/parametersDefinition.js +31 -10
  287. package/package.json +15 -13
  288. package/dist/cli/chekOpenApiConfig/chekOpenApiConfig.d.ts +0 -5
  289. package/dist/cli/chekOpenApiConfig/chekOpenApiConfig.d.ts.map +0 -1
  290. package/dist/cli/chekOpenApiConfig/chekOpenApiConfig.js +0 -45
  291. package/dist/common/Utils.d.ts +0 -3
  292. package/dist/common/Utils.d.ts.map +0 -1
  293. package/dist/common/__tests__/__mock__/mockJoiSchema.d.ts.map +0 -1
  294. package/dist/common/__tests__/convertArrayToObject.test.d.ts.map +0 -1
  295. package/dist/common/__tests__/determineBestMatchingSchemaVersion.test.d.ts.map +0 -1
  296. package/dist/common/__tests__/generateKeyMappingForInvalidKeys.test.d.ts.map +0 -1
  297. package/dist/common/__tests__/getUniqueKeysFromSchemas.test.d.ts.map +0 -1
  298. package/dist/common/__tests__/getUniqueObjectKeys.test.d.ts.map +0 -1
  299. package/dist/common/__tests__/mergeObjectSchemas.test.d.ts.map +0 -1
  300. package/dist/common/__tests__/migrationForMultiOptions.test.d.ts.map +0 -1
  301. package/dist/common/__tests__/migrationForOptions.test.d.ts.map +0 -1
  302. package/dist/common/__tests__/replaceInvalidKeysWithMappedNames.test.d.ts.map +0 -1
  303. package/dist/common/__tests__/validateAndSuggestKeyCorrections.test.d.ts.map +0 -1
  304. package/dist/core/utils/__tests__/getRelativeModelImportPath.test.d.ts +0 -2
  305. package/dist/core/utils/__tests__/getRelativeModelImportPath.test.d.ts.map +0 -1
  306. package/dist/core/utils/__tests__/getRelativeModelImportPath.test.js +0 -82
  307. package/dist/core/utils/__tests__/pathHelpers.test.d.ts.map +0 -1
  308. package/dist/core/utils/fileSystem.d.ts.map +0 -1
  309. package/dist/core/utils/fileSystem.js +0 -26
  310. package/dist/core/utils/format.d.ts +0 -2
  311. package/dist/core/utils/format.d.ts.map +0 -1
  312. package/dist/core/utils/getRelativeModelImportPath.d.ts +0 -9
  313. package/dist/core/utils/getRelativeModelImportPath.d.ts.map +0 -1
  314. package/dist/core/utils/getRelativeModelImportPath.js +0 -45
  315. package/dist/core/utils/isDirectory.d.ts +0 -2
  316. package/dist/core/utils/isDirectory.d.ts.map +0 -1
  317. package/dist/core/utils/isDirectory.js +0 -13
  318. package/dist/core/utils/pathHelpers.d.ts +0 -7
  319. package/dist/core/utils/pathHelpers.d.ts.map +0 -1
  320. /package/dist/common/{__tests__ → utils/__tests__}/__mock__/mockJoiSchema.d.ts +0 -0
  321. /package/dist/common/{__tests__ → utils/__tests__}/__mock__/mockJoiSchema.js +0 -0
  322. /package/dist/common/{__tests__ → utils/__tests__}/convertArrayToObject.test.d.ts +0 -0
  323. /package/dist/common/{__tests__ → utils/__tests__}/determineBestMatchingSchemaVersion.test.d.ts +0 -0
  324. /package/dist/common/{__tests__ → utils/__tests__}/generateKeyMappingForInvalidKeys.test.d.ts +0 -0
  325. /package/dist/common/{__tests__ → utils/__tests__}/getUniqueKeysFromSchemas.test.d.ts +0 -0
  326. /package/dist/common/{__tests__ → utils/__tests__}/getUniqueObjectKeys.test.d.ts +0 -0
  327. /package/dist/common/{__tests__ → utils/__tests__}/mergeObjectSchemas.test.d.ts +0 -0
  328. /package/dist/common/{__tests__ → utils/__tests__}/migrationForMultiOptions.test.d.ts +0 -0
  329. /package/dist/common/{__tests__ → utils/__tests__}/migrationForOptions.test.d.ts +0 -0
  330. /package/dist/{core → common}/utils/__tests__/pathHelpers.test.d.ts +0 -0
  331. /package/dist/common/{__tests__ → utils/__tests__}/replaceInvalidKeysWithMappedNames.test.d.ts +0 -0
  332. /package/dist/common/{__tests__ → utils/__tests__}/validateAndSuggestKeyCorrections.test.d.ts +0 -0
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Проверяет конфигурационный файл на корректность и актуальность.
3
+ * Если обнаружены проблемы, предлагает действия для их исправления.
4
+ *
5
+ * @param configPath - Путь к файлу конфигурации
6
+ * @throws Перебрасывает ошибки валидации и работы с файлами
7
+ *
8
+ * @example
9
+ * await checkConfig('./openapi-config.json');
10
+ */
11
+ export declare function checkConfig(configPath: string): Promise<void>;
12
+ //# sourceMappingURL=checkConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkConfig.d.ts","sourceRoot":"","sources":["../../../src/cli/checkAndUpdateConfig/checkConfig.ts"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AACH,wBAAsB,WAAW,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAoCnE"}
@@ -0,0 +1,66 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.checkConfig = checkConfig;
4
+ const Consts_1 = require("../../common/Consts");
5
+ const loadConfigIfExists_1 = require("../../common/utils/loadConfigIfExists");
6
+ const constants_1 = require("./constants");
7
+ const selectConfigAction_1 = require("./utils/selectConfigAction");
8
+ const validateAndMigrateConfigData_1 = require("./utils/validateAndMigrateConfigData");
9
+ /**
10
+ * Проверяет конфигурационный файл на корректность и актуальность.
11
+ * Если обнаружены проблемы, предлагает действия для их исправления.
12
+ *
13
+ * @param configPath - Путь к файлу конфигурации
14
+ * @throws Перебрасывает ошибки валидации и работы с файлами
15
+ *
16
+ * @example
17
+ * await checkConfig('./openapi-config.json');
18
+ */
19
+ async function checkConfig(configPath) {
20
+ const configData = (0, loadConfigIfExists_1.loadConfigIfExists)(configPath);
21
+ if (!configData) {
22
+ Consts_1.APP_LOGGER.error(`${constants_1.ERROR_MESSAGES.FILE_NOT_FOUND} ${configPath}`);
23
+ return;
24
+ }
25
+ try {
26
+ const { isActualConfigVersion, hasDefaultValues, migratedData } = (0, validateAndMigrateConfigData_1.validateAndMigrateConfigData)(configData);
27
+ Consts_1.APP_LOGGER.info(constants_1.SUCCESS_MESSAGES.CONFIG_VALID(configPath));
28
+ // Если версия не актуальна, предложить обновление
29
+ if (!isActualConfigVersion) {
30
+ await (0, selectConfigAction_1.selectConfigAction)({
31
+ migratedData,
32
+ configPath,
33
+ warningMessage: 'Ваша версия конфигурации устарела и нуждается в обновлении.',
34
+ actionChoices: constants_1.ACTION_FOR_CONFIG_DATA_OPTIONS,
35
+ });
36
+ return;
37
+ }
38
+ // Если есть значения по умолчанию, предложить их удаление
39
+ if (hasDefaultValues) {
40
+ await (0, selectConfigAction_1.selectConfigAction)({
41
+ migratedData,
42
+ configPath,
43
+ warningMessage: 'В вашей конфигурации есть значения по умолчанию, которые можно удалить.',
44
+ actionChoices: constants_1.ACTION_FOR_CONFIG_DATA_OPTIONS,
45
+ });
46
+ }
47
+ }
48
+ catch (error) {
49
+ handleConfigError(constants_1.ERROR_MESSAGES.CHECKING_FAILED, error);
50
+ }
51
+ }
52
+ /**
53
+ * Обрабатывает ошибки при работе с конфигурацией
54
+ * @internal
55
+ */
56
+ function handleConfigError(baseMessage, error) {
57
+ if (error instanceof Error && error.message) {
58
+ Consts_1.APP_LOGGER.error(`${baseMessage}: ${error.message}`);
59
+ }
60
+ else if (error) {
61
+ Consts_1.APP_LOGGER.error(baseMessage, error);
62
+ }
63
+ else {
64
+ Consts_1.APP_LOGGER.error(baseMessage);
65
+ }
66
+ }
@@ -0,0 +1,13 @@
1
+ import { EnquirerSelectChoice } from '../interactive/types';
2
+ import { EActionForConfigData } from './types';
3
+ export declare const ACTION_FOR_CONFIG_DATA_OPTIONS: EnquirerSelectChoice<EActionForConfigData>[];
4
+ export declare const ERROR_MESSAGES: {
5
+ readonly UPDATING_FAILED: "Ошибка при обновлении данных конфигурационного файла";
6
+ readonly CHECKING_FAILED: "Ошибка при проверке данных конфигурационного файла";
7
+ readonly FILE_NOT_FOUND: "Отсутствует файл:";
8
+ };
9
+ export declare const SUCCESS_MESSAGES: {
10
+ readonly CONFIG_VALID: (path: string) => string;
11
+ readonly CONFIG_UP_TO_DATE: (path: string) => string;
12
+ };
13
+ //# sourceMappingURL=constants.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../src/cli/checkAndUpdateConfig/constants.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,SAAS,CAAC;AAE/C,eAAO,MAAM,8BAA8B,EAAE,oBAAoB,CAAC,oBAAoB,CAAC,EAetF,CAAC;AAEF,eAAO,MAAM,cAAc;;;;CAIjB,CAAC;AAEX,eAAO,MAAM,gBAAgB;kCACJ,MAAM;uCACD,MAAM;CAC1B,CAAC"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SUCCESS_MESSAGES = exports.ERROR_MESSAGES = exports.ACTION_FOR_CONFIG_DATA_OPTIONS = void 0;
4
+ const types_1 = require("./types");
5
+ exports.ACTION_FOR_CONFIG_DATA_OPTIONS = [
6
+ {
7
+ name: 'Сформировать пример',
8
+ value: types_1.EActionForConfigData.GET_EXAMPLE,
9
+ hint: 'Будет сформирован пример файла конфигурации для дальнейшего запуска генерации',
10
+ },
11
+ {
12
+ name: 'Перезаписать',
13
+ value: types_1.EActionForConfigData.REWRITE,
14
+ hint: 'Файл конфигурации будет обновлён до актуальной версии',
15
+ },
16
+ {
17
+ name: 'Ничего не делать',
18
+ value: types_1.EActionForConfigData.SKIP,
19
+ },
20
+ ];
21
+ exports.ERROR_MESSAGES = {
22
+ UPDATING_FAILED: 'Ошибка при обновлении данных конфигурационного файла',
23
+ CHECKING_FAILED: 'Ошибка при проверке данных конфигурационного файла',
24
+ FILE_NOT_FOUND: 'Отсутствует файл:',
25
+ };
26
+ exports.SUCCESS_MESSAGES = {
27
+ CONFIG_VALID: (path) => `Параметры конфигурации в файле "${path}" прошли проверку`,
28
+ CONFIG_UP_TO_DATE: (path) => `Данные в файле "${path}" актуальны`,
29
+ };
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Действия, доступные при работе с конфигурацией
3
+ */
4
+ export declare enum EActionForConfigData {
5
+ REWRITE = "REWRITE",
6
+ GET_EXAMPLE = "GET_EXAMPLE",
7
+ SKIP = "SKIP"
8
+ }
9
+ /**
10
+ * Результат валидации конфигурации
11
+ */
12
+ export interface IConfigValidationResult {
13
+ /** Является ли версия конфигурации актуальной */
14
+ isActualConfigVersion: boolean;
15
+ /** Содержит ли конфигурация значения по умолчанию */
16
+ hasDefaultValues: boolean;
17
+ /** Мигрированные данные конфигурации */
18
+ migratedData: Record<string, any>;
19
+ }
20
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/cli/checkAndUpdateConfig/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,oBAAY,oBAAoB;IAC5B,OAAO,YAAY;IACnB,WAAW,gBAAgB;IAC3B,IAAI,SAAS;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACpC,iDAAiD;IACjD,qBAAqB,EAAE,OAAO,CAAC;IAC/B,qDAAqD;IACrD,gBAAgB,EAAE,OAAO,CAAC;IAC1B,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACrC"}
@@ -0,0 +1,12 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EActionForConfigData = void 0;
4
+ /**
5
+ * Действия, доступные при работе с конфигурацией
6
+ */
7
+ var EActionForConfigData;
8
+ (function (EActionForConfigData) {
9
+ EActionForConfigData["REWRITE"] = "REWRITE";
10
+ EActionForConfigData["GET_EXAMPLE"] = "GET_EXAMPLE";
11
+ EActionForConfigData["SKIP"] = "SKIP";
12
+ })(EActionForConfigData || (exports.EActionForConfigData = EActionForConfigData = {}));
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Обновляет конфигурационный файл до актуальной версии.
3
+ * Выполняет миграцию данных при необходимости.
4
+ *
5
+ * @param configPath - Путь к файлу конфигурации
6
+ * @throws Перебрасывает ошибки валидации и работы с файлами
7
+ *
8
+ * @example
9
+ * await updateConfig('./openapi-config.json');
10
+ */
11
+ export declare function updateConfig(configPath: string): Promise<void>;
12
+ //# sourceMappingURL=updateConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateConfig.d.ts","sourceRoot":"","sources":["../../../src/cli/checkAndUpdateConfig/updateConfig.ts"],"names":[],"mappings":"AAMA;;;;;;;;;GASG;AACH,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuBpE"}
@@ -0,0 +1,56 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.updateConfig = updateConfig;
4
+ const Consts_1 = require("../../common/Consts");
5
+ const loadConfigIfExists_1 = require("../../common/utils/loadConfigIfExists");
6
+ const constants_1 = require("./constants");
7
+ const validateAndMigrateConfigData_1 = require("./utils/validateAndMigrateConfigData");
8
+ const writeConfigFile_1 = require("./utils/writeConfigFile");
9
+ /**
10
+ * Обновляет конфигурационный файл до актуальной версии.
11
+ * Выполняет миграцию данных при необходимости.
12
+ *
13
+ * @param configPath - Путь к файлу конфигурации
14
+ * @throws Перебрасывает ошибки валидации и работы с файлами
15
+ *
16
+ * @example
17
+ * await updateConfig('./openapi-config.json');
18
+ */
19
+ async function updateConfig(configPath) {
20
+ const configData = (0, loadConfigIfExists_1.loadConfigIfExists)(configPath);
21
+ if (!configData) {
22
+ Consts_1.APP_LOGGER.error(`${constants_1.ERROR_MESSAGES.FILE_NOT_FOUND} ${configPath}`);
23
+ return;
24
+ }
25
+ try {
26
+ const { isActualConfigVersion, migratedData } = (0, validateAndMigrateConfigData_1.validateAndMigrateConfigData)(configData);
27
+ if (isActualConfigVersion) {
28
+ Consts_1.APP_LOGGER.info(constants_1.SUCCESS_MESSAGES.CONFIG_UP_TO_DATE(configPath));
29
+ }
30
+ else {
31
+ await (0, writeConfigFile_1.writeConfigFile)({
32
+ data: migratedData,
33
+ configPath,
34
+ isUpdating: true,
35
+ });
36
+ }
37
+ }
38
+ catch (error) {
39
+ handleUpdateError(constants_1.ERROR_MESSAGES.UPDATING_FAILED, error);
40
+ }
41
+ }
42
+ /**
43
+ * Обрабатывает ошибки при обновлении конфигурации
44
+ * @internal
45
+ */
46
+ function handleUpdateError(baseMessage, error) {
47
+ if (error instanceof Error && error.message) {
48
+ Consts_1.APP_LOGGER.error(`${baseMessage}: ${error.message}`);
49
+ }
50
+ else if (error) {
51
+ Consts_1.APP_LOGGER.error(baseMessage, error);
52
+ }
53
+ else {
54
+ Consts_1.APP_LOGGER.error(baseMessage);
55
+ }
56
+ }
@@ -0,0 +1,2 @@
1
+ export declare function generateConfigExample(data: Record<string, any>, configPath: string): Promise<void>;
2
+ //# sourceMappingURL=generateConfigExample.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateConfigExample.d.ts","sourceRoot":"","sources":["../../../../src/cli/checkAndUpdateConfig/utils/generateConfigExample.ts"],"names":[],"mappings":"AAEA,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMxG"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateConfigExample = generateConfigExample;
4
+ const writeConfigFile_1 = require("./writeConfigFile");
5
+ async function generateConfigExample(data, configPath) {
6
+ await (0, writeConfigFile_1.writeConfigFile)({
7
+ data,
8
+ configPath,
9
+ isUpdating: false,
10
+ });
11
+ }
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Подготавливает данные конфигурационного файла к записи.
3
+ * Выполняет сериализацию в JSON и форматирование через Prettier.
4
+ *
5
+ * @param configData - Данные конфигурации для форматирования
6
+ * @returns Отформатированные данные, готовые к записи в файл
7
+ * @throws {Error} Если форматирование не удалось
8
+ *
9
+ * @example
10
+ * const formatted = await prepareConfigData({ input: './spec.json', output: './generated' });
11
+ * // Returns JSON string formatted with Prettier
12
+ */
13
+ export declare function prepareConfigData(configData: Record<string, any>): Promise<string>;
14
+ //# sourceMappingURL=prepareConfigData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prepareConfigData.d.ts","sourceRoot":"","sources":["../../../../src/cli/checkAndUpdateConfig/utils/prepareConfigData.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAcxF"}
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.prepareConfigData = prepareConfigData;
4
+ const format_1 = require("../../../common/utils/format");
5
+ /**
6
+ * Подготавливает данные конфигурационного файла к записи.
7
+ * Выполняет сериализацию в JSON и форматирование через Prettier.
8
+ *
9
+ * @param configData - Данные конфигурации для форматирования
10
+ * @returns Отформатированные данные, готовые к записи в файл
11
+ * @throws {Error} Если форматирование не удалось
12
+ *
13
+ * @example
14
+ * const formatted = await prepareConfigData({ input: './spec.json', output: './generated' });
15
+ * // Returns JSON string formatted with Prettier
16
+ */
17
+ async function prepareConfigData(configData) {
18
+ try {
19
+ const jsonString = JSON.stringify(configData);
20
+ const formattedData = await (0, format_1.format)(jsonString, 'json-stringify');
21
+ if (!formattedData) {
22
+ throw new Error('Failed to format configuration data');
23
+ }
24
+ return formattedData;
25
+ }
26
+ catch (error) {
27
+ const errorMessage = error instanceof Error ? error.message : String(error);
28
+ throw new Error(`Configuration data preparation failed: ${errorMessage}`);
29
+ }
30
+ }
@@ -0,0 +1,17 @@
1
+ /**
2
+ * Удаляет из конфигурации значения, которые совпадают с значениями по умолчанию.
3
+ * Это очищает конфиг от излишних ключей и делает его более читаемым.
4
+ *
5
+ * @param configData - Данные конфигурации
6
+ * @returns Конфигурация без значений по умолчанию
7
+ *
8
+ * @example
9
+ * const cleaned = removeDefaultConfigValues({
10
+ * input: './spec.json',
11
+ * httpClient: 'fetch', // Удалится, это значение по умолчанию
12
+ * output: './generated'
13
+ * });
14
+ * // Returns { input: './spec.json', output: './generated' }
15
+ */
16
+ export declare function removeDefaultConfigValues(configData: Record<string, any>): Record<string, any>;
17
+ //# sourceMappingURL=removeDefaultConfigValues.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"removeDefaultConfigValues.d.ts","sourceRoot":"","sources":["../../../../src/cli/checkAndUpdateConfig/utils/removeDefaultConfigValues.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,yBAAyB,CACrC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAChC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAWrB"}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.removeDefaultConfigValues = removeDefaultConfigValues;
4
+ const Consts_1 = require("../../../common/Consts");
5
+ /**
6
+ * Удаляет из конфигурации значения, которые совпадают с значениями по умолчанию.
7
+ * Это очищает конфиг от излишних ключей и делает его более читаемым.
8
+ *
9
+ * @param configData - Данные конфигурации
10
+ * @returns Конфигурация без значений по умолчанию
11
+ *
12
+ * @example
13
+ * const cleaned = removeDefaultConfigValues({
14
+ * input: './spec.json',
15
+ * httpClient: 'fetch', // Удалится, это значение по умолчанию
16
+ * output: './generated'
17
+ * });
18
+ * // Returns { input: './spec.json', output: './generated' }
19
+ */
20
+ function removeDefaultConfigValues(configData) {
21
+ return Object.entries(configData).reduce((cleaned, [key, value]) => {
22
+ const defaultValue = Consts_1.COMMON_DEFAULT_OPTIONS_VALUES?.[key];
23
+ // Добавить значение только если оно отличается от дефолтного
24
+ if (value !== defaultValue) {
25
+ cleaned[key] = value;
26
+ }
27
+ return cleaned;
28
+ }, {});
29
+ }
@@ -0,0 +1,2 @@
1
+ export declare function rewriteConfigFile(data: Record<string, any>, configPath: string): Promise<void>;
2
+ //# sourceMappingURL=rewriteConfigFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rewriteConfigFile.d.ts","sourceRoot":"","sources":["../../../../src/cli/checkAndUpdateConfig/utils/rewriteConfigFile.ts"],"names":[],"mappings":"AAEA,wBAAsB,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMpG"}
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.rewriteConfigFile = rewriteConfigFile;
4
+ const writeConfigFile_1 = require("./writeConfigFile");
5
+ async function rewriteConfigFile(data, configPath) {
6
+ await (0, writeConfigFile_1.writeConfigFile)({
7
+ data,
8
+ configPath,
9
+ isUpdating: true,
10
+ });
11
+ }
@@ -0,0 +1,29 @@
1
+ import { EnquirerSelectChoice } from '../../interactive/types';
2
+ import { EActionForConfigData } from '../types';
3
+ interface ISelectConfigActionOptions {
4
+ /** Мигрированные данные конфигурации */
5
+ migratedData: Record<string, any>;
6
+ /** Путь к файлу конфигурации */
7
+ configPath: string;
8
+ /** Предупреждающее сообщение для пользователя */
9
+ warningMessage: string;
10
+ /** Варианты действий */
11
+ actionChoices: EnquirerSelectChoice<EActionForConfigData>[];
12
+ }
13
+ /**
14
+ * Запрашивает у пользователя действие для работы с конфигурацией.
15
+ * Поддерживает три основных действия: создание примера, перезапись или пропуск.
16
+ *
17
+ * @param options - Опции диалога выбора действия
18
+ *
19
+ * @example
20
+ * await selectConfigAction({
21
+ * migratedData: result.migratedData,
22
+ * configPath: './openapi-config.json',
23
+ * warningMessage: 'Configuration version is outdated',
24
+ * actionChoices: ACTION_FOR_CONFIG_DATA_OPTIONS,
25
+ * });
26
+ */
27
+ export declare function selectConfigAction(options: ISelectConfigActionOptions): Promise<void>;
28
+ export {};
29
+ //# sourceMappingURL=selectConfigAction.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"selectConfigAction.d.ts","sourceRoot":"","sources":["../../../../src/cli/checkAndUpdateConfig/utils/selectConfigAction.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAIhD,UAAU,0BAA0B;IAChC,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAClC,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,iDAAiD;IACjD,cAAc,EAAE,MAAM,CAAC;IACvB,wBAAwB;IACxB,aAAa,EAAE,oBAAoB,CAAC,oBAAoB,CAAC,EAAE,CAAC;CAC/D;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAsB,kBAAkB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CAS3F"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.selectConfigAction = selectConfigAction;
4
+ const Consts_1 = require("../../../common/Consts");
5
+ const selectDialog_1 = require("../../interactive/selectDialog");
6
+ const types_1 = require("../types");
7
+ const generateConfigExample_1 = require("./generateConfigExample");
8
+ const rewriteConfigFile_1 = require("./rewriteConfigFile");
9
+ /**
10
+ * Запрашивает у пользователя действие для работы с конфигурацией.
11
+ * Поддерживает три основных действия: создание примера, перезапись или пропуск.
12
+ *
13
+ * @param options - Опции диалога выбора действия
14
+ *
15
+ * @example
16
+ * await selectConfigAction({
17
+ * migratedData: result.migratedData,
18
+ * configPath: './openapi-config.json',
19
+ * warningMessage: 'Configuration version is outdated',
20
+ * actionChoices: ACTION_FOR_CONFIG_DATA_OPTIONS,
21
+ * });
22
+ */
23
+ async function selectConfigAction(options) {
24
+ Consts_1.APP_LOGGER.warn(`\n${options.warningMessage}\n`);
25
+ const selectedAction = await (0, selectDialog_1.selectDialog)({
26
+ message: 'Choose an action:',
27
+ choices: options.actionChoices,
28
+ });
29
+ await handleConfigAction(selectedAction, options);
30
+ }
31
+ /**
32
+ * Обрабатывает выбранное пользователем действие
33
+ * @internal
34
+ */
35
+ async function handleConfigAction(action, options) {
36
+ switch (action) {
37
+ case types_1.EActionForConfigData.GET_EXAMPLE:
38
+ await (0, generateConfigExample_1.generateConfigExample)(options.migratedData, options.configPath);
39
+ break;
40
+ case types_1.EActionForConfigData.REWRITE:
41
+ await (0, rewriteConfigFile_1.rewriteConfigFile)(options.migratedData, options.configPath);
42
+ break;
43
+ case types_1.EActionForConfigData.SKIP:
44
+ Consts_1.APP_LOGGER.info('Action skipped.');
45
+ break;
46
+ default:
47
+ Consts_1.APP_LOGGER.error(`Unknown action: ${action}`);
48
+ }
49
+ }
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Обновляет существующий файл конфигурации
3
+ * @internal
4
+ */
5
+ export declare function updateExistingConfigFile(configPath: string, data: string): Promise<void>;
6
+ //# sourceMappingURL=updateExistingConfigFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateExistingConfigFile.d.ts","sourceRoot":"","sources":["../../../../src/cli/checkAndUpdateConfig/utils/updateExistingConfigFile.ts"],"names":[],"mappings":"AAMA;;;GAGG;AACH,wBAAsB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAS9F"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.updateExistingConfigFile = updateExistingConfigFile;
7
+ const fs_1 = __importDefault(require("fs"));
8
+ const Consts_1 = require("../../../common/Consts");
9
+ const fileSystemHelpers_1 = require("../../../common/utils/fileSystemHelpers");
10
+ const pathHelpers_1 = require("../../../common/utils/pathHelpers");
11
+ /**
12
+ * Обновляет существующий файл конфигурации
13
+ * @internal
14
+ */
15
+ async function updateExistingConfigFile(configPath, data) {
16
+ const configFilePath = (0, pathHelpers_1.resolveHelper)(process.cwd(), configPath);
17
+ if (!fs_1.default.existsSync(configFilePath)) {
18
+ throw new Error(`Configuration file not found at "${configPath}"`);
19
+ }
20
+ await fileSystemHelpers_1.fileSystemHelpers.writeFile(configFilePath, data);
21
+ Consts_1.APP_LOGGER.forceInfo(`Configuration file "${configPath}" has been updated`);
22
+ }
@@ -0,0 +1,17 @@
1
+ import { IConfigValidationResult } from '../types';
2
+ /**
3
+ * Валидирует и мигрирует данные конфигурации до последней версии схемы.
4
+ * Определяет тип конфигурации (одиночная или множественная опция) и применяет соответствующий план миграции.
5
+ *
6
+ * @param configData - Данные конфигурации (объект или массив)
7
+ * @returns Результат валидации с информацией о версии и наличии значений по умолчанию
8
+ * @throws {Error} Если валидация или миграция не удалась
9
+ *
10
+ * @example
11
+ * const result = validateAndMigrateConfigData(loadedConfig);
12
+ * if (!result.isActualConfigVersion) {
13
+ * console.warn('Configuration version is outdated');
14
+ * }
15
+ */
16
+ export declare function validateAndMigrateConfigData(configData: Record<string, any> | Record<string, any>[]): IConfigValidationResult;
17
+ //# sourceMappingURL=validateAndMigrateConfigData.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateAndMigrateConfigData.d.ts","sourceRoot":"","sources":["../../../../src/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.ts"],"names":[],"mappings":"AAQA,OAAO,EAAE,uBAAuB,EAAE,MAAM,UAAU,CAAC;AAGnD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,4BAA4B,CACxC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GACxD,uBAAuB,CA+BzB"}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.validateAndMigrateConfigData = validateAndMigrateConfigData;
4
+ const Enums_1 = require("../../../common/Enums");
5
+ const convertArrayToObject_1 = require("../../../common/utils/convertArrayToObject");
6
+ const MultiOptionsMigrationPlan_1 = require("../../../common/VersionedSchema/MultiOptionsVersioned/MultiOptionsMigrationPlan");
7
+ const MultiOptionsVersionedSchemas_1 = require("../../../common/VersionedSchema/MultiOptionsVersioned/MultiOptionsVersionedSchemas");
8
+ const OptionsMigrationPlans_1 = require("../../../common/VersionedSchema/OptionsVersioned/OptionsMigrationPlans");
9
+ const OptionsVersionedSchemas_1 = require("../../../common/VersionedSchema/OptionsVersioned/OptionsVersionedSchemas");
10
+ const migrateDataToLatestSchemaVersion_1 = require("../../../common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion");
11
+ const isInstanceOfMultiOptions_1 = require("../../../core/utils/isInstanceOfMultiOptions");
12
+ const removeDefaultConfigValues_1 = require("./removeDefaultConfigValues");
13
+ /**
14
+ * Валидирует и мигрирует данные конфигурации до последней версии схемы.
15
+ * Определяет тип конфигурации (одиночная или множественная опция) и применяет соответствующий план миграции.
16
+ *
17
+ * @param configData - Данные конфигурации (объект или массив)
18
+ * @returns Результат валидации с информацией о версии и наличии значений по умолчанию
19
+ * @throws {Error} Если валидация или миграция не удалась
20
+ *
21
+ * @example
22
+ * const result = validateAndMigrateConfigData(loadedConfig);
23
+ * if (!result.isActualConfigVersion) {
24
+ * console.warn('Configuration version is outdated');
25
+ * }
26
+ */
27
+ function validateAndMigrateConfigData(configData) {
28
+ const isArrayFormat = Array.isArray(configData);
29
+ const normalizedData = (0, convertArrayToObject_1.convertArrayToObject)(configData);
30
+ const isMultiOptions = (0, isInstanceOfMultiOptions_1.isInstanceOfMultioptions)(normalizedData);
31
+ // Выбрать соответствующие схемы и планы миграции
32
+ const migrationPlans = isMultiOptions ? MultiOptionsMigrationPlan_1.multiOptionsMigrationPlan : OptionsMigrationPlans_1.optionsMigrationPlans;
33
+ const versionedSchemas = isMultiOptions ? MultiOptionsVersionedSchemas_1.multiOptionsVersionedSchema : OptionsVersionedSchemas_1.optionsVersionedSchemas;
34
+ // Выполнить миграцию
35
+ const migrationResult = (0, migrateDataToLatestSchemaVersion_1.migrateDataToLatestSchemaVersion)({
36
+ rawInput: normalizedData,
37
+ migrationPlans,
38
+ versionedSchemas,
39
+ migrationMode: Enums_1.EMigrationMode.VALIDATE_CONFIG,
40
+ });
41
+ // Получить последнюю версию схемы
42
+ const latestSchema = versionedSchemas[versionedSchemas.length - 1];
43
+ const currentVersion = migrationResult?.guessedVersion?.latestVersion;
44
+ // Проверить наличие значений по умолчанию
45
+ const migratedData = migrationResult?.value ?? {};
46
+ const dataWithoutDefaults = (0, removeDefaultConfigValues_1.removeDefaultConfigValues)(migratedData);
47
+ const hasDefaultValues = Object.keys(dataWithoutDefaults).length !== Object.keys(migratedData).length;
48
+ return {
49
+ isActualConfigVersion: currentVersion === latestSchema.version && !isArrayFormat,
50
+ migratedData: dataWithoutDefaults,
51
+ hasDefaultValues,
52
+ };
53
+ }
@@ -0,0 +1,34 @@
1
+ interface IWriteConfigFileOptions {
2
+ /** Данные для записи */
3
+ data: Record<string, any>;
4
+ /** Путь к файлу конфигурации */
5
+ configPath: string;
6
+ /** Если true - обновить существующий файл, иначе создать пример */
7
+ isUpdating: boolean;
8
+ }
9
+ /**
10
+ * Записывает или обновляет файл конфигурации.
11
+ * Поддерживает как обновление существующего файла, так и создание примера.
12
+ *
13
+ * @param options - Опции записи файла
14
+ * @throws {Error} Если путь не найден или ошибка при записи
15
+ *
16
+ * @example
17
+ * // Обновить существующий конфиг
18
+ * await writeConfigFile({
19
+ * data: migratedData,
20
+ * configPath: './openapi-config.json',
21
+ * isUpdating: true,
22
+ * });
23
+ *
24
+ * @example
25
+ * // Создать файл с примером
26
+ * await writeConfigFile({
27
+ * data: migratedData,
28
+ * configPath: './openapi-config.json',
29
+ * isUpdating: false,
30
+ * });
31
+ */
32
+ export declare function writeConfigFile({ data, configPath, isUpdating, }: IWriteConfigFileOptions): Promise<void>;
33
+ export {};
34
+ //# sourceMappingURL=writeConfigFile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeConfigFile.d.ts","sourceRoot":"","sources":["../../../../src/cli/checkAndUpdateConfig/utils/writeConfigFile.ts"],"names":[],"mappings":"AAIA,UAAU,uBAAuB;IAC7B,wBAAwB;IACxB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC1B,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,UAAU,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAsB,eAAe,CAAC,EAClC,IAAI,EACJ,UAAU,EACV,UAAU,GACb,EAAE,uBAAuB,GAAG,OAAO,CAAC,IAAI,CAAC,CAYzC"}