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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (715) hide show
  1. package/README.md +28 -846
  2. package/README.rus.md +28 -846
  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 +381 -0
  6. package/dist/cli/analyzeDiff/__tests__/analyzeDiffLomMiracles.test.d.ts +2 -0
  7. package/dist/cli/analyzeDiff/__tests__/analyzeDiffLomMiracles.test.d.ts.map +1 -0
  8. package/dist/cli/analyzeDiff/__tests__/analyzeDiffLomMiracles.test.js +47 -0
  9. package/dist/cli/analyzeDiff/__tests__/analyzeDiffRenameAndInvalidRegex.test.d.ts +2 -0
  10. package/dist/cli/analyzeDiff/__tests__/analyzeDiffRenameAndInvalidRegex.test.d.ts.map +1 -0
  11. package/dist/cli/analyzeDiff/__tests__/analyzeDiffRenameAndInvalidRegex.test.js +152 -0
  12. package/dist/cli/analyzeDiff/__tests__/analyzeDiffTypeCoercion.test.d.ts +2 -0
  13. package/dist/cli/analyzeDiff/__tests__/analyzeDiffTypeCoercion.test.d.ts.map +1 -0
  14. package/dist/cli/analyzeDiff/__tests__/analyzeDiffTypeCoercion.test.js +147 -0
  15. package/dist/cli/analyzeDiff/analyzeDiff.d.ts +29 -0
  16. package/dist/cli/analyzeDiff/analyzeDiff.d.ts.map +1 -0
  17. package/dist/cli/analyzeDiff/analyzeDiff.js +148 -0
  18. package/dist/cli/analyzeDiff/ciSummary.d.ts +9 -0
  19. package/dist/cli/analyzeDiff/ciSummary.d.ts.map +1 -0
  20. package/dist/cli/analyzeDiff/ciSummary.js +24 -0
  21. package/dist/cli/analyzeDiff/ignoreRules.d.ts +11 -0
  22. package/dist/cli/analyzeDiff/ignoreRules.d.ts.map +1 -0
  23. package/dist/cli/analyzeDiff/ignoreRules.js +71 -0
  24. package/dist/cli/analyzeDiff/ignoreSemanticChanges.d.ts +10 -0
  25. package/dist/cli/analyzeDiff/ignoreSemanticChanges.d.ts.map +1 -0
  26. package/dist/cli/analyzeDiff/ignoreSemanticChanges.js +84 -0
  27. package/dist/cli/analyzeDiff/miracles.d.ts +35 -0
  28. package/dist/cli/analyzeDiff/miracles.d.ts.map +1 -0
  29. package/dist/cli/analyzeDiff/miracles.js +107 -0
  30. package/dist/cli/analyzeDiff/pluginPaths.d.ts +5 -0
  31. package/dist/cli/analyzeDiff/pluginPaths.d.ts.map +1 -0
  32. package/dist/cli/analyzeDiff/pluginPaths.js +13 -0
  33. package/dist/cli/analyzeDiff/semanticDiffContext.d.ts +6 -0
  34. package/dist/cli/analyzeDiff/semanticDiffContext.d.ts.map +1 -0
  35. package/dist/cli/analyzeDiff/semanticDiffContext.js +16 -0
  36. package/dist/cli/analyzeDiff/specParser.d.ts +9 -0
  37. package/dist/cli/analyzeDiff/specParser.d.ts.map +1 -0
  38. package/dist/cli/analyzeDiff/specParser.js +59 -0
  39. package/dist/cli/analyzeDiff/types.d.ts +19 -0
  40. package/dist/cli/analyzeDiff/types.d.ts.map +1 -0
  41. package/dist/cli/analyzeDiff/types.js +2 -0
  42. package/dist/cli/analyzeUsage/analyzeUsage.d.ts +4 -0
  43. package/dist/cli/analyzeUsage/analyzeUsage.d.ts.map +1 -0
  44. package/dist/cli/analyzeUsage/analyzeUsage.js +60 -0
  45. package/dist/cli/analyzeUsage/core/Analyzer.d.ts +9 -0
  46. package/dist/cli/analyzeUsage/core/Analyzer.d.ts.map +1 -0
  47. package/dist/cli/analyzeUsage/core/Analyzer.js +29 -0
  48. package/dist/cli/analyzeUsage/core/ProjectContext.d.ts +10 -0
  49. package/dist/cli/analyzeUsage/core/ProjectContext.d.ts.map +1 -0
  50. package/dist/cli/analyzeUsage/core/ProjectContext.js +58 -0
  51. package/dist/cli/analyzeUsage/core/Scanner.d.ts +23 -0
  52. package/dist/cli/analyzeUsage/core/Scanner.d.ts.map +1 -0
  53. package/dist/cli/analyzeUsage/core/Scanner.js +125 -0
  54. package/dist/cli/analyzeUsage/rules/ClientRule.d.ts +14 -0
  55. package/dist/cli/analyzeUsage/rules/ClientRule.d.ts.map +1 -0
  56. package/dist/cli/analyzeUsage/rules/ClientRule.js +86 -0
  57. package/dist/cli/analyzeUsage/rules/CoverageRule.d.ts +7 -0
  58. package/dist/cli/analyzeUsage/rules/CoverageRule.d.ts.map +1 -0
  59. package/dist/cli/analyzeUsage/rules/CoverageRule.js +55 -0
  60. package/dist/cli/analyzeUsage/rules/DiagnosticsRule.d.ts +6 -0
  61. package/dist/cli/analyzeUsage/rules/DiagnosticsRule.d.ts.map +1 -0
  62. package/dist/cli/analyzeUsage/rules/DiagnosticsRule.js +63 -0
  63. package/dist/cli/analyzeUsage/rules/ImportRule.d.ts +6 -0
  64. package/dist/cli/analyzeUsage/rules/ImportRule.d.ts.map +1 -0
  65. package/dist/cli/analyzeUsage/rules/ImportRule.js +50 -0
  66. package/dist/cli/analyzeUsage/rules/ModelRule.d.ts +6 -0
  67. package/dist/cli/analyzeUsage/rules/ModelRule.d.ts.map +1 -0
  68. package/dist/cli/analyzeUsage/rules/ModelRule.js +34 -0
  69. package/dist/cli/analyzeUsage/rules/SchemaRule.d.ts +6 -0
  70. package/dist/cli/analyzeUsage/rules/SchemaRule.d.ts.map +1 -0
  71. package/dist/cli/analyzeUsage/rules/SchemaRule.js +46 -0
  72. package/dist/cli/analyzeUsage/rules/ServiceRule.d.ts +15 -0
  73. package/dist/cli/analyzeUsage/rules/ServiceRule.d.ts.map +1 -0
  74. package/dist/cli/analyzeUsage/rules/ServiceRule.js +96 -0
  75. package/dist/cli/analyzeUsage/types.d.ts +52 -0
  76. package/dist/cli/analyzeUsage/types.d.ts.map +1 -0
  77. package/dist/cli/analyzeUsage/types.js +2 -0
  78. package/dist/cli/analyzeUsage/utils/fuzzy.d.ts +5 -0
  79. package/dist/cli/analyzeUsage/utils/fuzzy.d.ts.map +1 -0
  80. package/dist/cli/analyzeUsage/utils/fuzzy.js +38 -0
  81. package/dist/cli/analyzeUsage/utils/report.d.ts +16 -0
  82. package/dist/cli/analyzeUsage/utils/report.d.ts.map +1 -0
  83. package/dist/cli/analyzeUsage/utils/report.js +85 -0
  84. package/dist/cli/checkAndUpdateConfig/__tests__/checkConfig.test.d.ts +2 -0
  85. package/dist/cli/checkAndUpdateConfig/__tests__/checkConfig.test.d.ts.map +1 -0
  86. package/dist/cli/checkAndUpdateConfig/__tests__/checkConfig.test.js +53 -0
  87. package/dist/cli/checkAndUpdateConfig/__tests__/updateConfig.test.d.ts +2 -0
  88. package/dist/cli/checkAndUpdateConfig/__tests__/updateConfig.test.d.ts.map +1 -0
  89. package/dist/cli/checkAndUpdateConfig/__tests__/updateConfig.test.js +52 -0
  90. package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts +2 -1
  91. package/dist/cli/checkAndUpdateConfig/checkConfig.d.ts.map +1 -1
  92. package/dist/cli/checkAndUpdateConfig/checkConfig.js +26 -12
  93. package/dist/cli/checkAndUpdateConfig/constants.d.ts +0 -9
  94. package/dist/cli/checkAndUpdateConfig/constants.d.ts.map +1 -1
  95. package/dist/cli/checkAndUpdateConfig/constants.js +1 -10
  96. package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts +2 -1
  97. package/dist/cli/checkAndUpdateConfig/updateConfig.d.ts.map +1 -1
  98. package/dist/cli/checkAndUpdateConfig/updateConfig.js +17 -10
  99. package/dist/cli/checkAndUpdateConfig/utils/__tests__/prepareConfigData.test.d.ts +2 -0
  100. package/dist/cli/checkAndUpdateConfig/utils/__tests__/prepareConfigData.test.d.ts.map +1 -0
  101. package/dist/cli/checkAndUpdateConfig/utils/__tests__/prepareConfigData.test.js +20 -0
  102. package/dist/cli/checkAndUpdateConfig/utils/__tests__/removeDefaultConfigValues.test.d.ts +2 -0
  103. package/dist/cli/checkAndUpdateConfig/utils/__tests__/removeDefaultConfigValues.test.d.ts.map +1 -0
  104. package/dist/cli/checkAndUpdateConfig/utils/__tests__/removeDefaultConfigValues.test.js +35 -0
  105. package/dist/cli/checkAndUpdateConfig/utils/__tests__/validateAndMigrateConfigData.test.d.ts +2 -0
  106. package/dist/cli/checkAndUpdateConfig/utils/__tests__/validateAndMigrateConfigData.test.d.ts.map +1 -0
  107. package/dist/cli/checkAndUpdateConfig/utils/__tests__/validateAndMigrateConfigData.test.js +59 -0
  108. package/dist/cli/checkAndUpdateConfig/utils/removeDefaultConfigValues.d.ts.map +1 -1
  109. package/dist/cli/checkAndUpdateConfig/utils/selectConfigAction.d.ts.map +1 -1
  110. package/dist/cli/checkAndUpdateConfig/utils/selectConfigAction.js +6 -3
  111. package/dist/cli/checkAndUpdateConfig/utils/updateExistingConfigFile.d.ts.map +1 -1
  112. package/dist/cli/checkAndUpdateConfig/utils/updateExistingConfigFile.js +3 -2
  113. package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.d.ts.map +1 -1
  114. package/dist/cli/checkAndUpdateConfig/utils/validateAndMigrateConfigData.js +19 -1
  115. package/dist/cli/checkAndUpdateConfig/utils/validateExecutorSetup.d.ts +6 -0
  116. package/dist/cli/checkAndUpdateConfig/utils/validateExecutorSetup.d.ts.map +1 -0
  117. package/dist/cli/checkAndUpdateConfig/utils/validateExecutorSetup.js +55 -0
  118. package/dist/cli/checkAndUpdateConfig/utils/writeConfigFile.d.ts +1 -1
  119. package/dist/cli/checkAndUpdateConfig/utils/writeConfigFile.d.ts.map +1 -1
  120. package/dist/cli/checkAndUpdateConfig/utils/writeConfigFile.js +1 -1
  121. package/dist/cli/checkAndUpdateConfig/utils/writeExampleConfigFile.d.ts.map +1 -1
  122. package/dist/cli/checkAndUpdateConfig/utils/writeExampleConfigFile.js +2 -2
  123. package/dist/cli/generateOpenApiClient/__tests__/generateOpenApiClient.strict.test.d.ts +2 -0
  124. package/dist/cli/generateOpenApiClient/__tests__/generateOpenApiClient.strict.test.d.ts.map +1 -0
  125. package/dist/cli/generateOpenApiClient/__tests__/generateOpenApiClient.strict.test.js +161 -0
  126. package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts +4 -3
  127. package/dist/cli/generateOpenApiClient/generateOpenApiClient.d.ts.map +1 -1
  128. package/dist/cli/generateOpenApiClient/generateOpenApiClient.js +61 -21
  129. package/dist/cli/index.js +98 -7
  130. package/dist/cli/initOpenApiConfig/Types.d.ts +2 -0
  131. package/dist/cli/initOpenApiConfig/Types.d.ts.map +1 -1
  132. package/dist/cli/initOpenApiConfig/__tests__/init.test.d.ts +2 -0
  133. package/dist/cli/initOpenApiConfig/__tests__/init.test.d.ts.map +1 -0
  134. package/dist/cli/initOpenApiConfig/__tests__/init.test.js +20 -0
  135. package/dist/cli/initOpenApiConfig/__tests__/initConfig.test.d.ts +2 -0
  136. package/dist/cli/initOpenApiConfig/__tests__/initConfig.test.d.ts.map +1 -0
  137. package/dist/cli/initOpenApiConfig/__tests__/initConfig.test.js +49 -0
  138. package/dist/cli/initOpenApiConfig/init.d.ts +2 -1
  139. package/dist/cli/initOpenApiConfig/init.d.ts.map +1 -1
  140. package/dist/cli/initOpenApiConfig/init.js +59 -14
  141. package/dist/cli/initOpenApiConfig/initConfig.d.ts +6 -0
  142. package/dist/cli/initOpenApiConfig/initConfig.d.ts.map +1 -1
  143. package/dist/cli/initOpenApiConfig/initConfig.js +53 -26
  144. package/dist/cli/initOpenApiConfig/initCustomRequest.d.ts +10 -2
  145. package/dist/cli/initOpenApiConfig/initCustomRequest.d.ts.map +1 -1
  146. package/dist/cli/initOpenApiConfig/initCustomRequest.js +67 -9
  147. package/dist/cli/initOpenApiConfig/utils/__tests__/buildConfig.test.d.ts +2 -0
  148. package/dist/cli/initOpenApiConfig/utils/__tests__/buildConfig.test.d.ts.map +1 -0
  149. package/dist/cli/initOpenApiConfig/utils/__tests__/buildConfig.test.js +93 -0
  150. package/dist/cli/initOpenApiConfig/utils/__tests__/findSpecFiles.test.d.ts +2 -0
  151. package/dist/cli/initOpenApiConfig/utils/__tests__/findSpecFiles.test.d.ts.map +1 -0
  152. package/dist/cli/initOpenApiConfig/utils/__tests__/findSpecFiles.test.js +45 -0
  153. package/dist/cli/initOpenApiConfig/utils/__tests__/validateSpecFiles.test.d.ts +2 -0
  154. package/dist/cli/initOpenApiConfig/utils/__tests__/validateSpecFiles.test.d.ts.map +1 -0
  155. package/dist/cli/initOpenApiConfig/utils/__tests__/validateSpecFiles.test.js +61 -0
  156. package/dist/cli/initOpenApiConfig/utils/buildConfig.d.ts +6 -12
  157. package/dist/cli/initOpenApiConfig/utils/buildConfig.d.ts.map +1 -1
  158. package/dist/cli/initOpenApiConfig/utils/buildConfig.js +84 -19
  159. package/dist/cli/initOpenApiConfig/utils/registerHandlebarTemplates.d.ts.map +1 -1
  160. package/dist/cli/initOpenApiConfig/utils/registerHandlebarTemplates.js +2 -0
  161. package/dist/cli/initOpenApiConfig/utils/validateSpecFile.d.ts.map +1 -1
  162. package/dist/cli/initOpenApiConfig/utils/validateSpecFile.js +2 -1
  163. package/dist/cli/initOpenApiConfig/utils/writeConfigFile.d.ts.map +1 -1
  164. package/dist/cli/initOpenApiConfig/utils/writeConfigFile.js +2 -1
  165. package/dist/cli/interactive/confirmDialog.d.ts.map +1 -1
  166. package/dist/cli/interactive/confirmDialog.js +3 -2
  167. package/dist/cli/interactive/constants.d.ts +0 -4
  168. package/dist/cli/interactive/constants.d.ts.map +1 -1
  169. package/dist/cli/interactive/constants.js +7 -11
  170. package/dist/cli/interactive/selectDialog.d.ts.map +1 -1
  171. package/dist/cli/interactive/selectDialog.js +11 -6
  172. package/dist/cli/previewChanges/previewChanges.d.ts +2 -1
  173. package/dist/cli/previewChanges/previewChanges.d.ts.map +1 -1
  174. package/dist/cli/previewChanges/previewChanges.js +49 -21
  175. package/dist/cli/previewChanges/utils/__tests__/compareFiles.test.d.ts +2 -0
  176. package/dist/cli/previewChanges/utils/__tests__/compareFiles.test.d.ts.map +1 -0
  177. package/dist/cli/previewChanges/utils/__tests__/compareFiles.test.js +52 -0
  178. package/dist/cli/previewChanges/utils/__tests__/isDirectoryEmpty.test.d.ts +2 -0
  179. package/dist/cli/previewChanges/utils/__tests__/isDirectoryEmpty.test.d.ts.map +1 -0
  180. package/dist/cli/previewChanges/utils/__tests__/isDirectoryEmpty.test.js +43 -0
  181. package/dist/cli/previewChanges/utils/__tests__/readDirectoryRecursive.test.d.ts +2 -0
  182. package/dist/cli/previewChanges/utils/__tests__/readDirectoryRecursive.test.d.ts.map +1 -0
  183. package/dist/cli/previewChanges/utils/__tests__/readDirectoryRecursive.test.js +32 -0
  184. package/dist/cli/previewChanges/utils/__tests__/updateOutputPaths.test.d.ts +2 -0
  185. package/dist/cli/previewChanges/utils/__tests__/updateOutputPaths.test.d.ts.map +1 -0
  186. package/dist/cli/previewChanges/utils/__tests__/updateOutputPaths.test.js +68 -0
  187. package/dist/cli/previewChanges/utils/formatDiff.d.ts.map +1 -1
  188. package/dist/cli/previewChanges/utils/updateOutputPaths.d.ts.map +1 -1
  189. package/dist/cli/previewChanges/utils/updateOutputPaths.js +5 -12
  190. package/dist/cli/schemas/__tests__/checkConfigAndUpdate.test.d.ts +2 -0
  191. package/dist/cli/schemas/__tests__/checkConfigAndUpdate.test.d.ts.map +1 -0
  192. package/dist/cli/schemas/__tests__/checkConfigAndUpdate.test.js +36 -0
  193. package/dist/cli/schemas/__tests__/generateOptionsSchema.test.d.ts +2 -0
  194. package/dist/cli/schemas/__tests__/generateOptionsSchema.test.d.ts.map +1 -0
  195. package/dist/cli/schemas/__tests__/generateOptionsSchema.test.js +59 -0
  196. package/dist/cli/schemas/__tests__/initOptionsSchema.test.d.ts +2 -0
  197. package/dist/cli/schemas/__tests__/initOptionsSchema.test.d.ts.map +1 -0
  198. package/dist/cli/schemas/__tests__/initOptionsSchema.test.js +43 -0
  199. package/dist/cli/schemas/__tests__/previewChangesSchema.test.d.ts +2 -0
  200. package/dist/cli/schemas/__tests__/previewChangesSchema.test.d.ts.map +1 -0
  201. package/dist/cli/schemas/__tests__/previewChangesSchema.test.js +31 -0
  202. package/dist/cli/schemas/analyzeDiff.d.ts +14 -0
  203. package/dist/cli/schemas/analyzeDiff.d.ts.map +1 -0
  204. package/dist/cli/schemas/analyzeDiff.js +28 -0
  205. package/dist/cli/schemas/analyzeUsage.d.ts +13 -0
  206. package/dist/cli/schemas/analyzeUsage.d.ts.map +1 -0
  207. package/dist/cli/schemas/analyzeUsage.js +41 -0
  208. package/dist/cli/schemas/generate.d.ts +17 -0
  209. package/dist/cli/schemas/generate.d.ts.map +1 -1
  210. package/dist/cli/schemas/generate.js +14 -0
  211. package/dist/cli/schemas/index.d.ts +3 -1
  212. package/dist/cli/schemas/index.d.ts.map +1 -1
  213. package/dist/cli/schemas/index.js +2 -0
  214. package/dist/cli/schemas/init.d.ts +10 -0
  215. package/dist/cli/schemas/init.d.ts.map +1 -1
  216. package/dist/cli/schemas/init.js +3 -1
  217. package/dist/cli/types.d.ts +6 -0
  218. package/dist/cli/types.d.ts.map +1 -0
  219. package/dist/cli/types.js +2 -0
  220. package/dist/common/Consts.d.ts +2 -0
  221. package/dist/common/Consts.d.ts.map +1 -1
  222. package/dist/common/Consts.js +19 -1
  223. package/dist/common/Logger.d.ts +20 -1
  224. package/dist/common/Logger.d.ts.map +1 -1
  225. package/dist/common/Logger.js +70 -9
  226. package/dist/common/LoggerMessages.d.ts +194 -33
  227. package/dist/common/LoggerMessages.d.ts.map +1 -1
  228. package/dist/common/LoggerMessages.js +176 -45
  229. package/dist/common/TEslintFixOptions.d.ts +20 -0
  230. package/dist/common/TEslintFixOptions.d.ts.map +1 -0
  231. package/dist/common/TEslintFixOptions.js +15 -0
  232. package/dist/common/TRawOptions.d.ts.map +1 -1
  233. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.d.ts.map +1 -1
  234. package/dist/common/VersionedSchema/AllVersionedSchemas/AllMigrationPlans.js +7 -3
  235. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.d.ts.map +1 -1
  236. package/dist/common/VersionedSchema/AllVersionedSchemas/AllVersionedSchemas.js +1 -1
  237. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts +4 -0
  238. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.d.ts.map +1 -1
  239. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedBase.js +1 -2
  240. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts +8 -0
  241. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.d.ts.map +1 -1
  242. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV1.js +1 -1
  243. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts +8 -0
  244. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.d.ts.map +1 -1
  245. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV2.js +1 -1
  246. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts +8 -0
  247. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV3.d.ts.map +1 -1
  248. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts +35 -0
  249. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.d.ts.map +1 -1
  250. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV4.js +4 -1
  251. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts +87 -0
  252. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.d.ts.map +1 -0
  253. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedOptionsSchemaV5.js +29 -0
  254. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts +185 -0
  255. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.d.ts.map +1 -1
  256. package/dist/common/VersionedSchema/AllVersionedSchemas/UnifiedVersionedSchemas.js +9 -1
  257. package/dist/common/VersionedSchema/CommonSchemas.d.ts +40 -0
  258. package/dist/common/VersionedSchema/CommonSchemas.d.ts.map +1 -1
  259. package/dist/common/VersionedSchema/CommonSchemas.js +36 -1
  260. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts +4 -0
  261. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV1.d.ts.map +1 -1
  262. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts +4 -0
  263. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.d.ts.map +1 -1
  264. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV2.js +1 -1
  265. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts +4 -0
  266. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.d.ts.map +1 -1
  267. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV3.js +1 -1
  268. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts +4 -0
  269. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.d.ts.map +1 -1
  270. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV4.js +1 -1
  271. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts +4 -0
  272. package/dist/common/VersionedSchema/MultiOptionsVersioned/MultiOptionsSchemaV5.d.ts.map +1 -1
  273. package/dist/common/VersionedSchema/OptionsVersioned/OptionsMigrationPlans.d.ts.map +1 -1
  274. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts +6 -2
  275. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV1.d.ts.map +1 -1
  276. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts +6 -2
  277. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV2.d.ts.map +1 -1
  278. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts +4 -0
  279. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.d.ts.map +1 -1
  280. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV3.js +1 -1
  281. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts +5 -1
  282. package/dist/common/VersionedSchema/OptionsVersioned/OptionsSchemaV4.d.ts.map +1 -1
  283. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.d.ts.map +1 -1
  284. package/dist/common/VersionedSchema/Utils/__mocks__/compatibilityCases.js +29 -3
  285. package/dist/common/VersionedSchema/Utils/__tests__/allUtils.test.js +4 -16
  286. package/dist/common/VersionedSchema/Utils/__tests__/migrateDataToLatestSchemaVersion.test.js +2 -2
  287. package/dist/common/VersionedSchema/Utils/buildVersionedSchema.d.ts.map +1 -1
  288. package/dist/common/VersionedSchema/Utils/createDefaultFieldsMigration.d.ts +1 -1
  289. package/dist/common/VersionedSchema/Utils/createDefaultFieldsMigration.d.ts.map +1 -1
  290. package/dist/common/VersionedSchema/Utils/createDefaultFieldsMigration.js +1 -1
  291. package/dist/common/VersionedSchema/Utils/createTrivialMigration.d.ts.map +1 -1
  292. package/dist/common/VersionedSchema/Utils/createTrivialMigration.js +1 -1
  293. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.d.ts.map +1 -1
  294. package/dist/common/VersionedSchema/Utils/determineBestMatchingSchemaVersion.js +4 -6
  295. package/dist/common/VersionedSchema/Utils/getLatestVersionFromMigrationPlans.d.ts.map +1 -1
  296. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.d.ts.map +1 -1
  297. package/dist/common/VersionedSchema/Utils/migrateDataToLatestSchemaVersion.js +7 -8
  298. package/dist/common/VersionedSchema/Utils/replaceInvalidKeysWithMappedNames.d.ts.map +1 -1
  299. package/dist/common/VersionedSchema/Utils/replaceInvalidKeysWithMappedNames.js +1 -1
  300. package/dist/common/VersionedSchema/Utils/validateAndSuggestKeyCorrections.d.ts.map +1 -1
  301. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts +1 -1
  302. package/dist/common/VersionedSchema/refinements/dependentOptionsRefinement.d.ts.map +1 -1
  303. package/dist/common/__tests__/Logger.test.d.ts +2 -0
  304. package/dist/common/__tests__/Logger.test.d.ts.map +1 -0
  305. package/dist/common/__tests__/Logger.test.js +100 -0
  306. package/dist/common/utils/__tests__/convertArrayToObject.test.js +3 -0
  307. package/dist/common/utils/__tests__/eslintFix.test.d.ts +2 -0
  308. package/dist/common/utils/__tests__/eslintFix.test.d.ts.map +1 -0
  309. package/dist/common/utils/__tests__/eslintFix.test.js +92 -0
  310. package/dist/common/utils/__tests__/extractEslintFixOptions.test.d.ts +2 -0
  311. package/dist/common/utils/__tests__/extractEslintFixOptions.test.d.ts.map +1 -0
  312. package/dist/common/utils/__tests__/extractEslintFixOptions.test.js +28 -0
  313. package/dist/common/utils/__tests__/format.test.d.ts +2 -0
  314. package/dist/common/utils/__tests__/format.test.d.ts.map +1 -0
  315. package/dist/common/utils/__tests__/format.test.js +99 -0
  316. package/dist/common/utils/__tests__/prepareTempTsConfig.test.d.ts +2 -0
  317. package/dist/common/utils/__tests__/prepareTempTsConfig.test.d.ts.map +1 -0
  318. package/dist/common/utils/__tests__/prepareTempTsConfig.test.js +78 -0
  319. package/dist/common/utils/codegenTempDir.d.ts +20 -0
  320. package/dist/common/utils/codegenTempDir.d.ts.map +1 -0
  321. package/dist/common/utils/codegenTempDir.js +42 -0
  322. package/dist/common/utils/convertArrayToObject.d.ts.map +1 -1
  323. package/dist/common/utils/convertArrayToObject.js +6 -8
  324. package/dist/common/utils/eslintFix.d.ts +51 -0
  325. package/dist/common/utils/eslintFix.d.ts.map +1 -0
  326. package/dist/common/utils/eslintFix.js +184 -0
  327. package/dist/common/utils/format.d.ts +1 -1
  328. package/dist/common/utils/format.d.ts.map +1 -1
  329. package/dist/common/utils/format.js +51 -15
  330. package/dist/common/utils/jsonPath.d.ts +5 -0
  331. package/dist/common/utils/jsonPath.d.ts.map +1 -0
  332. package/dist/common/utils/jsonPath.js +27 -0
  333. package/dist/common/utils/prepareTempEslintConfig.d.ts +18 -0
  334. package/dist/common/utils/prepareTempEslintConfig.d.ts.map +1 -0
  335. package/dist/common/utils/prepareTempEslintConfig.js +55 -0
  336. package/dist/common/utils/prepareTempTsConfig.d.ts +23 -0
  337. package/dist/common/utils/prepareTempTsConfig.d.ts.map +1 -0
  338. package/dist/common/utils/prepareTempTsConfig.js +105 -0
  339. package/dist/core/Context.d.ts +8 -1
  340. package/dist/core/Context.d.ts.map +1 -1
  341. package/dist/core/Context.js +25 -10
  342. package/dist/core/OpenApiClient.d.ts +29 -1
  343. package/dist/core/OpenApiClient.d.ts.map +1 -1
  344. package/dist/core/OpenApiClient.js +365 -15
  345. package/dist/core/WriteClient.d.ts +86 -15
  346. package/dist/core/WriteClient.d.ts.map +1 -1
  347. package/dist/core/WriteClient.js +117 -9
  348. package/dist/core/__tests__/WriteClient.test.js +5 -1
  349. package/dist/core/api/v2/parser/__tests__/getModel.test.d.ts +2 -0
  350. package/dist/core/api/v2/parser/__tests__/getModel.test.d.ts.map +1 -0
  351. package/dist/core/api/v2/parser/__tests__/getModel.test.js +34 -0
  352. package/dist/core/api/v2/parser/getModel.d.ts.map +1 -1
  353. package/dist/core/api/v2/parser/getModel.js +6 -1
  354. package/dist/core/api/v2/parser/getOperation.d.ts.map +1 -1
  355. package/dist/core/api/v2/parser/getOperation.js +2 -0
  356. package/dist/core/api/v2/parser/getOperationResponses.d.ts.map +1 -1
  357. package/dist/core/api/v2/parser/getOperationResponses.js +7 -1
  358. package/dist/core/api/v2/parser/getServiceName.d.ts +1 -1
  359. package/dist/core/api/v2/types/OpenApiSchema.model.d.ts +2 -0
  360. package/dist/core/api/v2/types/OpenApiSchema.model.d.ts.map +1 -1
  361. package/dist/core/api/v3/parser/__tests__/getContent.test.d.ts +2 -0
  362. package/dist/core/api/v3/parser/__tests__/getContent.test.d.ts.map +1 -0
  363. package/dist/core/api/v3/parser/__tests__/getContent.test.js +65 -0
  364. package/dist/core/api/v3/parser/__tests__/getModel.test.d.ts +2 -0
  365. package/dist/core/api/v3/parser/__tests__/getModel.test.d.ts.map +1 -0
  366. package/dist/core/api/v3/parser/__tests__/getModel.test.js +34 -0
  367. package/dist/core/api/v3/parser/getContent.d.ts.map +1 -1
  368. package/dist/core/api/v3/parser/getContent.js +21 -11
  369. package/dist/core/api/v3/parser/getModel.d.ts.map +1 -1
  370. package/dist/core/api/v3/parser/getModel.js +6 -1
  371. package/dist/core/api/v3/parser/getOperation.d.ts.map +1 -1
  372. package/dist/core/api/v3/parser/getOperation.js +2 -0
  373. package/dist/core/api/v3/parser/getOperationParameters.d.ts.map +1 -1
  374. package/dist/core/api/v3/parser/getOperationResponses.d.ts.map +1 -1
  375. package/dist/core/api/v3/parser/getOperationResponses.js +7 -1
  376. package/dist/core/api/v3/parser/getServiceName.d.ts +1 -1
  377. package/dist/core/api/v3/types/OpenApiSchema.model.d.ts +2 -0
  378. package/dist/core/api/v3/types/OpenApiSchema.model.d.ts.map +1 -1
  379. package/dist/core/governance/__tests__/evaluateGovernanceRules.test.d.ts +2 -0
  380. package/dist/core/governance/__tests__/evaluateGovernanceRules.test.d.ts.map +1 -0
  381. package/dist/core/governance/__tests__/evaluateGovernanceRules.test.js +100 -0
  382. package/dist/core/governance/__tests__/loadGovernanceConfig.test.d.ts +2 -0
  383. package/dist/core/governance/__tests__/loadGovernanceConfig.test.d.ts.map +1 -0
  384. package/dist/core/governance/__tests__/loadGovernanceConfig.test.js +71 -0
  385. package/dist/core/governance/evaluateGovernanceRules.d.ts +42 -0
  386. package/dist/core/governance/evaluateGovernanceRules.d.ts.map +1 -0
  387. package/dist/core/governance/evaluateGovernanceRules.js +132 -0
  388. package/dist/core/governance/governanceConfigSchema.d.ts +4 -0
  389. package/dist/core/governance/governanceConfigSchema.d.ts.map +1 -0
  390. package/dist/core/governance/governanceConfigSchema.js +39 -0
  391. package/dist/core/governance/loadGovernanceConfig.d.ts +7 -0
  392. package/dist/core/governance/loadGovernanceConfig.d.ts.map +1 -0
  393. package/dist/core/governance/loadGovernanceConfig.js +58 -0
  394. package/dist/core/index.d.ts +3 -0
  395. package/dist/core/index.d.ts.map +1 -1
  396. package/dist/core/index.js +4 -2
  397. package/dist/core/plugins/GeneratorPlugin.model.d.ts +42 -0
  398. package/dist/core/plugins/GeneratorPlugin.model.d.ts.map +1 -0
  399. package/dist/core/plugins/GeneratorPlugin.model.js +2 -0
  400. package/dist/core/plugins/__tests__/applySemanticDiffPluginHooks.test.d.ts +2 -0
  401. package/dist/core/plugins/__tests__/applySemanticDiffPluginHooks.test.d.ts.map +1 -0
  402. package/dist/core/plugins/__tests__/applySemanticDiffPluginHooks.test.js +115 -0
  403. package/dist/core/plugins/__tests__/loadGeneratorPlugins.test.d.ts +2 -0
  404. package/dist/core/plugins/__tests__/loadGeneratorPlugins.test.d.ts.map +1 -0
  405. package/dist/core/plugins/__tests__/loadGeneratorPlugins.test.js +62 -0
  406. package/dist/core/plugins/applySemanticDiffPluginHooks.d.ts +28 -0
  407. package/dist/core/plugins/applySemanticDiffPluginHooks.d.ts.map +1 -0
  408. package/dist/core/plugins/applySemanticDiffPluginHooks.js +160 -0
  409. package/dist/core/plugins/builtins/xTypescriptTypePlugin.d.ts +6 -0
  410. package/dist/core/plugins/builtins/xTypescriptTypePlugin.d.ts.map +1 -0
  411. package/dist/core/plugins/builtins/xTypescriptTypePlugin.js +13 -0
  412. package/dist/core/plugins/getBuiltinPlugins.d.ts +6 -0
  413. package/dist/core/plugins/getBuiltinPlugins.d.ts.map +1 -0
  414. package/dist/core/plugins/getBuiltinPlugins.js +10 -0
  415. package/dist/core/plugins/index.d.ts +4 -0
  416. package/dist/core/plugins/index.d.ts.map +1 -0
  417. package/dist/core/plugins/index.js +5 -0
  418. package/dist/core/plugins/loadGeneratorPlugins.d.ts +6 -0
  419. package/dist/core/plugins/loadGeneratorPlugins.d.ts.map +1 -0
  420. package/dist/core/plugins/loadGeneratorPlugins.js +94 -0
  421. package/dist/core/semanticDiff/__tests__/analyzeOpenApiDiff.test.d.ts +2 -0
  422. package/dist/core/semanticDiff/__tests__/analyzeOpenApiDiff.test.d.ts.map +1 -0
  423. package/dist/core/semanticDiff/__tests__/analyzeOpenApiDiff.test.js +595 -0
  424. package/dist/core/semanticDiff/__tests__/semanticDiffReportSchema.test.d.ts +2 -0
  425. package/dist/core/semanticDiff/__tests__/semanticDiffReportSchema.test.d.ts.map +1 -0
  426. package/dist/core/semanticDiff/__tests__/semanticDiffReportSchema.test.js +85 -0
  427. package/dist/core/semanticDiff/analyzeOpenApiDiff.d.ts +97 -0
  428. package/dist/core/semanticDiff/analyzeOpenApiDiff.d.ts.map +1 -0
  429. package/dist/core/semanticDiff/analyzeOpenApiDiff.js +668 -0
  430. package/dist/core/semanticDiff/semanticDiffReportSchema.d.ts +16 -0
  431. package/dist/core/semanticDiff/semanticDiffReportSchema.d.ts.map +1 -0
  432. package/dist/core/semanticDiff/semanticDiffReportSchema.js +215 -0
  433. package/dist/core/strict/__tests__/validateOpenApiStrict.test.d.ts +2 -0
  434. package/dist/core/strict/__tests__/validateOpenApiStrict.test.d.ts.map +1 -0
  435. package/dist/core/strict/__tests__/validateOpenApiStrict.test.js +156 -0
  436. package/dist/core/strict/validateOpenApiStrict.d.ts +43 -0
  437. package/dist/core/strict/validateOpenApiStrict.d.ts.map +1 -0
  438. package/dist/core/strict/validateOpenApiStrict.js +253 -0
  439. package/dist/core/types/Consts.js +1 -1
  440. package/dist/core/types/DiffReport.model.d.ts +101 -0
  441. package/dist/core/types/DiffReport.model.d.ts.map +1 -0
  442. package/dist/core/types/DiffReport.model.js +5 -0
  443. package/dist/core/types/base/ClientArtifacts.model.d.ts +5 -3
  444. package/dist/core/types/base/ClientArtifacts.model.d.ts.map +1 -1
  445. package/dist/core/types/base/ExportedModel.model.d.ts +1 -1
  446. package/dist/core/types/base/ExportedModel.model.d.ts.map +1 -1
  447. package/dist/core/types/base/ExportedService.model.d.ts.map +1 -1
  448. package/dist/core/types/base/OutputPaths.model.d.ts.map +1 -1
  449. package/dist/core/types/base/PrefixArtifacts.model.d.ts.map +1 -1
  450. package/dist/core/types/base/PropertyGroup.model.d.ts +1 -1
  451. package/dist/core/types/base/SimpleClientArtifacts.model.d.ts +1 -1
  452. package/dist/core/types/base/SimpleClientArtifacts.model.d.ts.map +1 -1
  453. package/dist/core/types/base/Templates.model.d.ts +4 -0
  454. package/dist/core/types/base/Templates.model.d.ts.map +1 -1
  455. package/dist/core/types/enums/ModelsMode.enum.d.ts +5 -0
  456. package/dist/core/types/enums/ModelsMode.enum.d.ts.map +1 -0
  457. package/dist/core/types/enums/ModelsMode.enum.js +8 -0
  458. package/dist/core/types/shared/Client.model.d.ts +2 -0
  459. package/dist/core/types/shared/Client.model.d.ts.map +1 -1
  460. package/dist/core/types/shared/DiffInfo.model.d.ts +13 -0
  461. package/dist/core/types/shared/DiffInfo.model.d.ts.map +1 -0
  462. package/dist/core/types/shared/DiffInfo.model.js +2 -0
  463. package/dist/core/types/shared/Miracle.model.d.ts +13 -0
  464. package/dist/core/types/shared/Miracle.model.d.ts.map +1 -0
  465. package/dist/core/types/shared/Miracle.model.js +2 -0
  466. package/dist/core/types/shared/Model.model.d.ts +59 -0
  467. package/dist/core/types/shared/Model.model.d.ts.map +1 -1
  468. package/dist/core/types/shared/Operation.model.d.ts +5 -0
  469. package/dist/core/types/shared/Operation.model.d.ts.map +1 -1
  470. package/dist/core/utils/GenerationCache.d.ts +18 -0
  471. package/dist/core/utils/GenerationCache.d.ts.map +1 -0
  472. package/dist/core/utils/GenerationCache.js +41 -0
  473. package/dist/core/utils/__mocks__/templates.d.ts.map +1 -1
  474. package/dist/core/utils/__mocks__/templates.js +10 -0
  475. package/dist/core/utils/__tests__/GenerationCache.test.d.ts +2 -0
  476. package/dist/core/utils/__tests__/GenerationCache.test.d.ts.map +1 -0
  477. package/dist/core/utils/__tests__/GenerationCache.test.js +37 -0
  478. package/dist/core/utils/__tests__/applyDiffReportToClient.test.d.ts +2 -0
  479. package/dist/core/utils/__tests__/applyDiffReportToClient.test.d.ts.map +1 -0
  480. package/dist/core/utils/__tests__/applyDiffReportToClient.test.js +290 -0
  481. package/dist/core/utils/__tests__/buildMiraclesFromSemanticChanges.test.d.ts +2 -0
  482. package/dist/core/utils/__tests__/buildMiraclesFromSemanticChanges.test.d.ts.map +1 -0
  483. package/dist/core/utils/__tests__/buildMiraclesFromSemanticChanges.test.js +77 -0
  484. package/dist/core/utils/__tests__/expandOpenApiRefsForSemanticDiff.test.d.ts +2 -0
  485. package/dist/core/utils/__tests__/expandOpenApiRefsForSemanticDiff.test.d.ts.map +1 -0
  486. package/dist/core/utils/__tests__/expandOpenApiRefsForSemanticDiff.test.js +159 -0
  487. package/dist/core/utils/__tests__/getMappedType.test.js +2 -0
  488. package/dist/core/utils/__tests__/getOperationResponseCode.test.js +7 -2
  489. package/dist/core/utils/__tests__/getOperationResults.test.d.ts +2 -0
  490. package/dist/core/utils/__tests__/getOperationResults.test.d.ts.map +1 -0
  491. package/dist/core/utils/__tests__/getOperationResults.test.js +43 -0
  492. package/dist/core/utils/__tests__/loadDiffReport.test.d.ts +2 -0
  493. package/dist/core/utils/__tests__/loadDiffReport.test.d.ts.map +1 -0
  494. package/dist/core/utils/__tests__/loadDiffReport.test.js +246 -0
  495. package/dist/core/utils/__tests__/modelHelpers.test.js +27 -9
  496. package/dist/core/utils/__tests__/postProcessModelImports.test.js +1 -4
  497. package/dist/core/utils/__tests__/postProcessServiceImports.test.js +1 -4
  498. package/dist/core/utils/__tests__/prepareDtoModels.test.d.ts +2 -0
  499. package/dist/core/utils/__tests__/prepareDtoModels.test.d.ts.map +1 -0
  500. package/dist/core/utils/__tests__/prepareDtoModels.test.js +283 -0
  501. package/dist/core/utils/__tests__/registerHandlebarHelpers.test.js +27 -0
  502. package/dist/core/utils/__tests__/resolveClassesModeTypes.test.d.ts +2 -0
  503. package/dist/core/utils/__tests__/resolveClassesModeTypes.test.d.ts.map +1 -0
  504. package/dist/core/utils/__tests__/resolveClassesModeTypes.test.js +111 -0
  505. package/dist/core/utils/__tests__/semanticChangesToDiffEntries.test.d.ts +2 -0
  506. package/dist/core/utils/__tests__/semanticChangesToDiffEntries.test.d.ts.map +1 -0
  507. package/dist/core/utils/__tests__/semanticChangesToDiffEntries.test.js +68 -0
  508. package/dist/core/utils/__tests__/serviceHelpers.test.js +11 -11
  509. package/dist/core/utils/__tests__/sortByRequiredExtended.test.js +10 -27
  510. package/dist/core/utils/__tests__/templateRendering.test.d.ts +2 -0
  511. package/dist/core/utils/__tests__/templateRendering.test.d.ts.map +1 -0
  512. package/dist/core/utils/__tests__/templateRendering.test.js +190 -0
  513. package/dist/core/utils/__tests__/writeClientModels.test.js +50 -0
  514. package/dist/core/utils/__tests__/writeFileIfChanged.test.d.ts +2 -0
  515. package/dist/core/utils/__tests__/writeFileIfChanged.test.d.ts.map +1 -0
  516. package/dist/core/utils/__tests__/writeFileIfChanged.test.js +30 -0
  517. package/dist/core/utils/adapters/__tests__/semanticToStructural.test.d.ts +2 -0
  518. package/dist/core/utils/adapters/__tests__/semanticToStructural.test.d.ts.map +1 -0
  519. package/dist/core/utils/adapters/__tests__/semanticToStructural.test.js +63 -0
  520. package/dist/core/utils/adapters/extractMiraclesFromSemantic.d.ts +10 -0
  521. package/dist/core/utils/adapters/extractMiraclesFromSemantic.d.ts.map +1 -0
  522. package/dist/core/utils/adapters/extractMiraclesFromSemantic.js +13 -0
  523. package/dist/core/utils/adapters/index.d.ts +3 -0
  524. package/dist/core/utils/adapters/index.d.ts.map +1 -0
  525. package/dist/core/utils/adapters/index.js +6 -0
  526. package/dist/core/utils/adapters/semanticToStructural.d.ts +12 -0
  527. package/dist/core/utils/adapters/semanticToStructural.d.ts.map +1 -0
  528. package/dist/core/utils/adapters/semanticToStructural.js +36 -0
  529. package/dist/core/utils/applyDiffReportToClient.d.ts +26 -0
  530. package/dist/core/utils/applyDiffReportToClient.d.ts.map +1 -0
  531. package/dist/core/utils/applyDiffReportToClient.js +447 -0
  532. package/dist/core/utils/areEqual.d.ts +1 -1
  533. package/dist/core/utils/buildMiraclesFromSemanticChanges.d.ts +25 -0
  534. package/dist/core/utils/buildMiraclesFromSemanticChanges.d.ts.map +1 -0
  535. package/dist/core/utils/buildMiraclesFromSemanticChanges.js +146 -0
  536. package/dist/core/utils/expandOpenApiRefsForSemanticDiff.d.ts +23 -0
  537. package/dist/core/utils/expandOpenApiRefsForSemanticDiff.d.ts.map +1 -0
  538. package/dist/core/utils/expandOpenApiRefsForSemanticDiff.js +163 -0
  539. package/dist/core/utils/getMappedType.d.ts.map +1 -1
  540. package/dist/core/utils/getMappedType.js +2 -0
  541. package/dist/core/utils/getOpenApiSpec.d.ts +6 -0
  542. package/dist/core/utils/getOpenApiSpec.d.ts.map +1 -1
  543. package/dist/core/utils/getOpenApiSpec.js +7 -14
  544. package/dist/core/utils/getOperationErrors.d.ts +2 -2
  545. package/dist/core/utils/getOperationErrors.d.ts.map +1 -1
  546. package/dist/core/utils/getOperationResponseCode.d.ts.map +1 -1
  547. package/dist/core/utils/getOperationResponseCode.js +10 -8
  548. package/dist/core/utils/getOperationResults.d.ts +1 -1
  549. package/dist/core/utils/getPropertyGroupSimple.d.ts.map +1 -1
  550. package/dist/core/utils/getPropertyGroupSimple.js +1 -3
  551. package/dist/core/utils/isSubdirectory.d.ts.map +1 -1
  552. package/dist/core/utils/loadDiffReport.d.ts +20 -0
  553. package/dist/core/utils/loadDiffReport.d.ts.map +1 -0
  554. package/dist/core/utils/loadDiffReport.js +117 -0
  555. package/dist/core/utils/loadSemanticOpenApiSpec.d.ts +15 -0
  556. package/dist/core/utils/loadSemanticOpenApiSpec.d.ts.map +1 -0
  557. package/dist/core/utils/loadSemanticOpenApiSpec.js +61 -0
  558. package/dist/core/utils/modelHelpers.d.ts +13 -5
  559. package/dist/core/utils/modelHelpers.d.ts.map +1 -1
  560. package/dist/core/utils/modelHelpers.js +28 -23
  561. package/dist/core/utils/normalizeString.d.ts.map +1 -1
  562. package/dist/core/utils/normalizeString.js +1 -5
  563. package/dist/core/utils/postProcessServiceImports.d.ts.map +1 -1
  564. package/dist/core/utils/postProcessServiceImports.js +1 -3
  565. package/dist/core/utils/precompileTemplates.js +4 -2
  566. package/dist/core/utils/prepareAlias.d.ts +1 -1
  567. package/dist/core/utils/prepareDtoModels.d.ts +8 -0
  568. package/dist/core/utils/prepareDtoModels.d.ts.map +1 -0
  569. package/dist/core/utils/prepareDtoModels.js +226 -0
  570. package/dist/core/utils/registerHandlebarHelpers.d.ts +1 -0
  571. package/dist/core/utils/registerHandlebarHelpers.d.ts.map +1 -1
  572. package/dist/core/utils/registerHandlebarHelpers.js +7 -1
  573. package/dist/core/utils/registerHandlebarTemplates.d.ts +1 -0
  574. package/dist/core/utils/registerHandlebarTemplates.d.ts.map +1 -1
  575. package/dist/core/utils/registerHandlebarTemplates.js +8 -0
  576. package/dist/core/utils/resolveClassesModeTypes.d.ts +8 -0
  577. package/dist/core/utils/resolveClassesModeTypes.d.ts.map +1 -0
  578. package/dist/core/utils/resolveClassesModeTypes.js +77 -0
  579. package/dist/core/utils/semanticChangesToDiffEntries.d.ts +28 -0
  580. package/dist/core/utils/semanticChangesToDiffEntries.d.ts.map +1 -0
  581. package/dist/core/utils/semanticChangesToDiffEntries.js +98 -0
  582. package/dist/core/utils/semanticPointerToJsonPath.d.ts +7 -0
  583. package/dist/core/utils/semanticPointerToJsonPath.d.ts.map +1 -0
  584. package/dist/core/utils/semanticPointerToJsonPath.js +67 -0
  585. package/dist/core/utils/serviceHelpers.d.ts +6 -7
  586. package/dist/core/utils/serviceHelpers.d.ts.map +1 -1
  587. package/dist/core/utils/serviceHelpers.js +8 -25
  588. package/dist/core/utils/sortModelByName.d.ts +1 -1
  589. package/dist/core/utils/validateRawOptions.d.ts +1 -1
  590. package/dist/core/utils/validateRawOptions.d.ts.map +1 -1
  591. package/dist/core/utils/validateRawOptions.js +6 -4
  592. package/dist/core/utils/writeClientCore.d.ts +4 -0
  593. package/dist/core/utils/writeClientCore.d.ts.map +1 -1
  594. package/dist/core/utils/writeClientCore.js +44 -17
  595. package/dist/core/utils/writeClientCoreIndex.d.ts +1 -0
  596. package/dist/core/utils/writeClientCoreIndex.d.ts.map +1 -1
  597. package/dist/core/utils/writeClientCoreIndex.js +16 -6
  598. package/dist/core/utils/writeClientExecutor.d.ts +1 -1
  599. package/dist/core/utils/writeClientExecutor.d.ts.map +1 -1
  600. package/dist/core/utils/writeClientExecutor.js +6 -7
  601. package/dist/core/utils/writeClientFullIndex.d.ts.map +1 -1
  602. package/dist/core/utils/writeClientFullIndex.js +7 -5
  603. package/dist/core/utils/writeClientModels.d.ts +5 -0
  604. package/dist/core/utils/writeClientModels.d.ts.map +1 -1
  605. package/dist/core/utils/writeClientModels.js +29 -10
  606. package/dist/core/utils/writeClientModelsIndex.d.ts +2 -0
  607. package/dist/core/utils/writeClientModelsIndex.d.ts.map +1 -1
  608. package/dist/core/utils/writeClientModelsIndex.js +16 -6
  609. package/dist/core/utils/writeClientSchemas.d.ts +1 -1
  610. package/dist/core/utils/writeClientSchemas.d.ts.map +1 -1
  611. package/dist/core/utils/writeClientSchemas.js +9 -10
  612. package/dist/core/utils/writeClientSchemasIndex.d.ts.map +1 -1
  613. package/dist/core/utils/writeClientSchemasIndex.js +14 -4
  614. package/dist/core/utils/writeClientServices.d.ts +15 -14
  615. package/dist/core/utils/writeClientServices.d.ts.map +1 -1
  616. package/dist/core/utils/writeClientServices.js +12 -15
  617. package/dist/core/utils/writeClientServicesIndex.d.ts.map +1 -1
  618. package/dist/core/utils/writeClientServicesIndex.js +14 -4
  619. package/dist/core/utils/writeClientSimpleIndex.js +4 -4
  620. package/dist/core/utils/writeFileIfChanged.d.ts +3 -0
  621. package/dist/core/utils/writeFileIfChanged.d.ts.map +1 -0
  622. package/dist/core/utils/writeFileIfChanged.js +22 -0
  623. package/dist/templatesCompiled/cli/customCreateExecutorAdapter.d.ts +8 -0
  624. package/dist/templatesCompiled/cli/customCreateExecutorAdapter.d.ts.map +1 -0
  625. package/dist/templatesCompiled/cli/customCreateExecutorAdapter.js +18 -0
  626. package/dist/templatesCompiled/cli/customRequest.js +7 -7
  627. package/dist/templatesCompiled/cli/customRequestExecutor.js +7 -7
  628. package/dist/templatesCompiled/cli/openApiConfig.d.ts +4 -1
  629. package/dist/templatesCompiled/cli/openApiConfig.d.ts.map +1 -1
  630. package/dist/templatesCompiled/cli/openApiConfig.js +88 -37
  631. package/dist/templatesCompiled/client/core/ApiError.js +1 -1
  632. package/dist/templatesCompiled/client/core/ApiRequestOptions.js +1 -1
  633. package/dist/templatesCompiled/client/core/BaseDto.d.ts +8 -0
  634. package/dist/templatesCompiled/client/core/BaseDto.d.ts.map +1 -0
  635. package/dist/templatesCompiled/client/core/BaseDto.js +18 -0
  636. package/dist/templatesCompiled/client/core/axios/getResponseBody.js +1 -1
  637. package/dist/templatesCompiled/client/core/axios/request.js +2 -2
  638. package/dist/templatesCompiled/client/core/axios/sendRequest.js +4 -4
  639. package/dist/templatesCompiled/client/core/dtoUtils.d.ts +8 -0
  640. package/dist/templatesCompiled/client/core/dtoUtils.d.ts.map +1 -0
  641. package/dist/templatesCompiled/client/core/dtoUtils.js +18 -0
  642. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts +0 -6
  643. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.d.ts.map +1 -1
  644. package/dist/templatesCompiled/client/core/executor/createExecutorAdapter.js +3 -22
  645. package/dist/templatesCompiled/client/core/executor/legacyRequestAdapter.d.ts +11 -0
  646. package/dist/templatesCompiled/client/core/executor/legacyRequestAdapter.d.ts.map +1 -0
  647. package/dist/templatesCompiled/client/core/executor/legacyRequestAdapter.js +28 -0
  648. package/dist/templatesCompiled/client/core/executor/requestExecutor.d.ts +2 -0
  649. package/dist/templatesCompiled/client/core/executor/requestExecutor.d.ts.map +1 -1
  650. package/dist/templatesCompiled/client/core/executor/requestExecutor.js +8 -2
  651. package/dist/templatesCompiled/client/core/fetch/getResponseBody.js +1 -1
  652. package/dist/templatesCompiled/client/core/fetch/request.js +2 -2
  653. package/dist/templatesCompiled/client/core/functions/catchErrors.js +1 -1
  654. package/dist/templatesCompiled/client/core/functions/isBinary.js +1 -1
  655. package/dist/templatesCompiled/client/core/interceptors/apiErrorInterceptor.js +1 -1
  656. package/dist/templatesCompiled/client/core/interceptors/interceptors.js +1 -1
  657. package/dist/templatesCompiled/client/core/interceptors/withInterceptors.js +1 -1
  658. package/dist/templatesCompiled/client/core/node/getResponseBody.js +1 -1
  659. package/dist/templatesCompiled/client/core/node/request.js +2 -2
  660. package/dist/templatesCompiled/client/core/xhr/getResponseBody.js +1 -1
  661. package/dist/templatesCompiled/client/core/xhr/request.js +2 -2
  662. package/dist/templatesCompiled/client/core/xhr/sendRequest.js +4 -4
  663. package/dist/templatesCompiled/client/exportClient.d.ts +0 -4
  664. package/dist/templatesCompiled/client/exportClient.d.ts.map +1 -1
  665. package/dist/templatesCompiled/client/exportClient.js +9 -45
  666. package/dist/templatesCompiled/client/exportModels.d.ts +40 -0
  667. package/dist/templatesCompiled/client/exportModels.d.ts.map +1 -0
  668. package/dist/templatesCompiled/client/exportModels.js +327 -0
  669. package/dist/templatesCompiled/client/exportService.d.ts +13 -7
  670. package/dist/templatesCompiled/client/exportService.d.ts.map +1 -1
  671. package/dist/templatesCompiled/client/exportService.js +109 -62
  672. package/dist/templatesCompiled/client/indexCore.d.ts +3 -1
  673. package/dist/templatesCompiled/client/indexCore.d.ts.map +1 -1
  674. package/dist/templatesCompiled/client/indexCore.js +14 -3
  675. package/dist/templatesCompiled/client/indexFull.d.ts +9 -7
  676. package/dist/templatesCompiled/client/indexFull.d.ts.map +1 -1
  677. package/dist/templatesCompiled/client/indexFull.js +59 -41
  678. package/dist/templatesCompiled/client/indexModels.d.ts +7 -5
  679. package/dist/templatesCompiled/client/indexModels.d.ts.map +1 -1
  680. package/dist/templatesCompiled/client/indexModels.js +27 -18
  681. package/dist/templatesCompiled/client/indexSimple.js +2 -2
  682. package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.d.ts +27 -19
  683. package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.d.ts.map +1 -1
  684. package/dist/templatesCompiled/client/joi/partials/joiSchemaGeneric.js +144 -63
  685. package/dist/templatesCompiled/client/jsonschema/exportSchema.d.ts +1 -0
  686. package/dist/templatesCompiled/client/jsonschema/exportSchema.d.ts.map +1 -1
  687. package/dist/templatesCompiled/client/jsonschema/exportSchema.js +17 -13
  688. package/dist/templatesCompiled/client/partials/exportInterface.d.ts +13 -5
  689. package/dist/templatesCompiled/client/partials/exportInterface.d.ts.map +1 -1
  690. package/dist/templatesCompiled/client/partials/exportInterface.js +91 -21
  691. package/dist/templatesCompiled/client/partials/header.d.ts +1 -0
  692. package/dist/templatesCompiled/client/partials/header.d.ts.map +1 -1
  693. package/dist/templatesCompiled/client/partials/header.js +11 -2
  694. package/dist/templatesCompiled/client/partials/result.d.ts +6 -4
  695. package/dist/templatesCompiled/client/partials/result.d.ts.map +1 -1
  696. package/dist/templatesCompiled/client/partials/result.js +16 -6
  697. package/dist/templatesCompiled/client/partials/serviceOption.d.ts +1 -0
  698. package/dist/templatesCompiled/client/partials/serviceOption.d.ts.map +1 -1
  699. package/dist/templatesCompiled/client/partials/serviceOption.js +11 -4
  700. package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.d.ts +22 -16
  701. package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.d.ts.map +1 -1
  702. package/dist/templatesCompiled/client/yup/partials/yupSchemaGeneric.js +72 -60
  703. package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.d.ts +27 -19
  704. package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.d.ts.map +1 -1
  705. package/dist/templatesCompiled/client/zod/partials/zodSchemaGeneric.js +77 -61
  706. package/dist/test/helpers/silenceLoggers.d.ts +11 -0
  707. package/dist/test/helpers/silenceLoggers.d.ts.map +1 -0
  708. package/dist/test/helpers/silenceLoggers.js +88 -0
  709. package/package.json +132 -134
  710. package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.d.ts +0 -4
  711. package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.d.ts.map +0 -1
  712. package/dist/common/VersionedSchema/refinements/singleOrMultiRefinement.js +0 -21
  713. package/dist/core/utils/appendUniqueLinesToFile.d.ts +0 -2
  714. package/dist/core/utils/appendUniqueLinesToFile.d.ts.map +0 -1
  715. package/dist/core/utils/appendUniqueLinesToFile.js +0 -24
package/README.md CHANGED
@@ -14,7 +14,6 @@
14
14
  ![lines-image]
15
15
  ![Minimum node.js version](https://badgen.net/npm/node/next)
16
16
 
17
-
18
17
  > Node.js library that generates Typescript clients based on the OpenAPI specification.
19
18
 
20
19
  ## Why?
@@ -28,864 +27,47 @@
28
27
  - Supports tsc and @babel/plugin-transform-typescript
29
28
  - Supports customization names of models
30
29
  - Supports external references using [`swagger-parser`](https://github.com/APIDevTools/swagger-parser/)
30
+ - Supports strict OpenAPI diagnostics with JSON reports (`--strict-openapi`, `--report-file`)
31
+ - Supports generator plugins (`plugins`) including built-in `x-typescript-type`
32
+ - Supports binary request/response generation (`format: binary` -> `Blob`)
33
+ - Supports opt-in generation cache and incremental writes (`--cache`, `--cachePath`, `--cacheStrategy`, `--cacheDebug`)
34
+ - Generated services accept a `RequestExecutor` in the constructor (`request` / `requestRaw`, interceptors, `customExecutorPath` / `createExecutorAdapter`, `createLegacyRequestAdapter`)
35
+ - CLI `init --requestFormat` scaffolds custom HTTP layers: legacy transport, `createExecutorAdapter`, or standalone `RequestExecutor`
36
+ - `check-config` validates `request` / `customExecutorPath` file presence and `createExecutorAdapter` export
37
+ - Optional output formatting via `prettierConfigPath` (explicit Prettier config file)
38
+ - Optional batch ESLint `--fix` after generation when both `tsconfigPath` and `eslintConfigPath` are set
39
+ - Supports unified `analyze-diff` report (`schemaVersion: 2.0.0`) with separate `semantic` (CI/governance) and `structural` (generation) sections
40
+ - Restores `generate --useHistory` compatibility with semantic diff reports (ghost operations/properties, coercion, rename miracles)
41
+ - Uses selective OpenAPI `$ref` expansion in analyze-diff for faster and safer comparison
42
+ - Automatic RENAME / TYPE_COERCION miracle detection from semantic property changes
31
43
 
32
44
  ## Install
33
45
 
34
- ```
35
- npm install ts-openapi-codegen --save-dev
36
- ```
37
-
38
-
39
- ## Usage
40
-
41
- The CLI tool supports five commands: `generate`, `check-config`, `update-config`, `init`, and `preview-changes`.
42
-
43
- ### Command: `generate`
44
-
45
- Generates TypeScript client code based on OpenAPI specifications.
46
-
47
- **Basic usage:**
48
- ```bash
49
- openapi generate --input ./spec.json --output ./dist
50
- ```
51
-
52
- **All available options:**
53
-
54
- | Option | Short | Type | Default | Description |
55
- |--------|-------|------|---------|-------------|
56
- | `--input` | `-i` | string | - | OpenAPI specification (path, URL, or string content) - **required** |
57
- | `--output` | `-o` | string | - | Output directory - **required** |
58
- | `--openapi-config` | `-ocn` | string | `openapi.config.json` | Path to configuration file |
59
- | `--outputCore` | `-oc` | string | `{output}` | Output directory for core files |
60
- | `--outputServices` | `-os` | string | `{output}` | Output directory for services |
61
- | `--outputModels` | `-om` | string | `{output}` | Output directory for models |
62
- | `--outputSchemas` | `-osm` | string | `{output}` | Output directory for schemas |
63
- | `--httpClient` | `-c` | string | `fetch` | HTTP client to generate: `fetch`, `xhr`, `node`, or `axios` |
64
- | `--useOptions` | - | boolean | `false` | Use options instead of arguments |
65
- | `--useUnionTypes` | - | boolean | `false` | Use union types instead of enums |
66
- | `--excludeCoreServiceFiles` | - | boolean | `false` | Exclude generation of core and service files |
67
- | `--request` | - | string | - | Path to custom request file |
68
- | `--customExecutorPath` | - | string | - | Path to custom `createExecutorAdapter` module |
69
- | `--interfacePrefix` | - | string | `I` | Prefix for interface models |
70
- | `--enumPrefix` | - | string | `E` | Prefix for enum models |
71
- | `--typePrefix` | - | string | `T` | Prefix for type models |
72
- | `--useCancelableRequest` | - | boolean | `false` | Use cancelable promise as return type |
73
- | `--sortByRequired` | `-s` | boolean | `false` | Use extended sorting strategy for function arguments |
74
- | `--useSeparatedIndexes` | - | boolean | `false` | Use separate index files for core, models, schemas, and services |
75
- | `--logLevel` | `-l` | string | `error` | Logging level: `info`, `warn`, or `error` |
76
- | `--logTarget` | `-t` | string | `console` | Logging target: `console` or `file` |
77
- | `--validationLibrary` | - | string | `none` | Validation library for schema generation: `none`, `zod`, `joi`, `yup`, or `jsonschema` |
78
- | `--emptySchemaStrategy` | - | string | `keep` | Strategy for empty schemas: `keep`, `semantic`, or `skip` |
79
-
80
- **Examples:**
81
- ```bash
82
- # Basic generation
83
- openapi generate --input ./spec.json --output ./dist
84
-
85
- # With custom HTTP client
86
- openapi generate --input ./spec.json --output ./dist --httpClient axios
87
-
88
- # With configuration file
89
- openapi generate --openapi-config ./my-config.json
90
-
91
- # With all options via CLI
92
- openapi generate \
93
- --input ./spec.json \
94
- --output ./dist \
95
- --httpClient fetch \
96
- --useOptions \
97
- --useUnionTypes \
98
- --logLevel info
99
- ```
100
-
101
- ### Command: `check-config`
102
-
103
- Validates the configuration file structure and values.
104
-
105
- **Usage:**
106
- ```bash
107
- openapi check-config
108
- openapi check-config --openapi-config ./custom-config.json
109
- ```
110
-
111
- **Options:**
112
- - `--openapi-config` / `-ocn` - Path to configuration file (default: `openapi.config.json`)
113
-
114
- ### Command: `update-config`
115
-
116
- Updates the configuration file to the latest supported schema version.
117
-
118
- **Usage:**
119
- ```bash
120
- openapi update-config
121
- openapi update-config --openapi-config ./custom-config.json
122
- ```
123
-
124
- **Options:**
125
- - `--openapi-config` / `-ocn` - Path to configuration file (default: `openapi.config.json`)
126
-
127
- ### Command: `init`
128
-
129
- Generates a configuration file template.
130
-
131
- **Usage:**
132
- ```bash
133
- # Generate config using default settings
134
- openapi init
135
-
136
- # Custom config file name
137
- openapi init --openapi-config ./my-config.json
138
-
139
- # Specify directory with OpenAPI specs
140
- openapi init --specs-dir ./openapi
141
- ```
142
-
143
- **Options:**
144
- - `--openapi-config` / `-ocn` - Path to output configuration file (default: `openapi.config.json`)
145
- - `--specs-dir` / `-sd` - Directory with OpenAPI specification files (default: `./openapi`)
146
- - `--request` - Path to custom request file
147
- - `--useCancelableRequest` - Generate cancelable request handling
148
- - `--useInteractiveMode` - Enable interactive mode for guided setup
149
-
150
- ### Command: `preview-changes`
151
-
152
- Previews differences between already generated code and newly generated output without overwriting your current generated directory.
153
-
154
- **Usage:**
155
- ```bash
156
- openapi preview-changes
157
- openapi preview-changes --openapi-config ./custom-config.json
158
- ```
159
-
160
- **Options:**
161
- - `--openapi-config` / `-ocn` - Path to configuration file (default: `openapi.config.json`)
162
- - `--generated-dir` / `-gd` - Directory with current generated files (default: `./generated`)
163
- - `--preview-dir` / `-pd` - Temporary preview generation directory (default: `./.ts-openapi-codegen-preview-changes`)
164
- - `--diff-dir` / `-dd` - Directory for diff reports (default: `./.ts-openapi-codegen-diff-changes`)
165
-
166
- ### Configuration File
167
-
168
- Instead of passing all options via CLI, you can use a configuration file. Create `openapi.config.json` in your project root:
169
-
170
- **Single options format:**
171
- ```json
172
- {
173
- "input": "./spec.json",
174
- "output": "./dist",
175
- "client": "fetch",
176
- "useOptions": false,
177
- "useUnionTypes": false,
178
- "excludeCoreServiceFiles": false,
179
- "interfacePrefix": "I",
180
- "enumPrefix": "E",
181
- "typePrefix": "T",
182
- "useCancelableRequest": false,
183
- "sortByRequired": false,
184
- "useSeparatedIndexes": false,
185
- "request": "./custom-request.ts",
186
- "customExecutorPath": "./custom/createExecutorAdapter.ts"
187
- }
188
- ```
189
-
190
- **Multi-options format (with common block):**
191
- ```json
192
- {
193
- "output": "./dist",
194
- "client": "fetch",
195
- "excludeCoreServiceFiles": true,
196
- "items": [
197
- {
198
- "input": "./first.yml"
199
- },
200
- {
201
- "input": "./second.yml",
202
- "output": "./dist-v2"
203
- }
204
- ]
205
- }
206
- ```
207
-
208
- **Array format (multiple configs):**
209
- ```json
210
- [
211
- {
212
- "input": "./first.yml",
213
- "output": "./dist",
214
- "client": "xhr"
215
- },
216
- {
217
- "input": "./second.yml",
218
- "output": "./dist",
219
- "client": "fetch"
220
- }
221
- ]
222
- ```
223
-
224
- | Name | Type | Default | Description |
225
- |------|------|---------|-------------|
226
- | `input` | string | - | OpenAPI specification path/URL (required for items) |
227
- | `output` | string | - | Output directory (required) |
228
- | `outputCore` | string | `{output}` | Output directory for core files |
229
- | `outputServices` | string | `{output}` | Output directory for services |
230
- | `outputModels` | string | `{output}` | Output directory for models |
231
- | `outputSchemas` | string | `{output}` | Output directory for schemas |
232
- | `client` | string | `fetch` | HTTP client: `fetch`, `xhr`, `node`, or `axios` |
233
- | `useOptions` | boolean | `false` | Use options instead of arguments |
234
- | `useUnionTypes` | boolean | `false` | Use union types instead of enums |
235
- | `excludeCoreServiceFiles` | boolean | `false` | Exclude core and service files generation |
236
- | `request` | string | - | Path to custom request file |
237
- | `customExecutorPath` | string | - | Path to custom `createExecutorAdapter` module |
238
- | `interfacePrefix` | string | `I` | Prefix for interface models |
239
- | `enumPrefix` | string | `E` | Prefix for enum models |
240
- | `typePrefix` | string | `T` | Prefix for type models |
241
- | `useCancelableRequest` | boolean | `false` | Use cancelable promise as return type |
242
- | `sortByRequired` | boolean | `false` | Extended sorting strategy for arguments |
243
- | `useSeparatedIndexes` | boolean | `false` | Use separate index files |
244
- | `items` | array | - | Array of configurations (for multi-options format) |
245
- | `validationLibrary` | string | `none` | Validation library for schema generation: `none`, `zod`, `joi`, `yup`, or `jsonschema` |
246
- | `emptySchemaStrategy` | string | `keep` | Strategy for empty schemas: `keep`, `semantic`, or `skip` |
247
-
248
- **Note:** You can use the `init` command to generate a template configuration file.
249
-
250
- ## Examples
251
-
252
- ### Using CLI commands
253
-
254
- **Basic generation:**
255
- ```bash
256
- openapi generate --input ./spec.json --output ./dist
257
- ```
258
-
259
- **With configuration file:**
260
- ```bash
261
- # First, create config file
262
- openapi init
263
-
264
- # Then generate
265
- openapi generate
266
- ```
267
-
268
- **Check configuration:**
269
46
  ```bash
270
- openapi check-config
271
- openapi update-config
47
+ npm install ts-openapi-codegen --save-dev
272
48
  ```
273
49
 
274
- **Preview changes before applying:**
275
- ```bash
276
- openapi preview-changes
277
- ```
50
+ ## Agent Skills
278
51
 
279
- ### Using NPX
52
+ AI agents can use bundled [Agent Skills](https://agentskills.io) for RequestExecutor migration and Marauder features. After install:
280
53
 
281
54
  ```bash
282
- npx ts-openapi-codegen generate --input ./spec.json --output ./dist
283
- ```
284
-
285
- ### Using package.json scripts
286
-
287
- **package.json**
288
- ```json
289
- {
290
- "scripts": {
291
- "generate": "openapi generate --input ./spec.json --output ./dist",
292
- "generate:config": "openapi generate",
293
- "check-config": "openapi check-config",
294
- "update-config": "openapi update-config",
295
- "init-config": "openapi init",
296
- "preview-changes": "openapi preview-changes"
297
- }
298
- }
299
- ```
300
-
301
- ### Node.js API
302
-
303
- ```javascript
304
- const OpenAPI = require('ts-openapi-codegen');
305
-
306
- OpenAPI.generate({
307
- input: './spec.json',
308
- output: './dist'
309
- });
310
-
311
- // Or by providing the content of the spec directly 🚀
312
- OpenAPI.generate({
313
- input: require('./spec.json'),
314
- output: './dist'
315
- });
316
- ```
317
-
318
-
319
- ## Features
320
-
321
- ### HTTP Clients
322
-
323
- The generator supports multiple HTTP clients:
324
- - **fetch** (default) - Browser Fetch API
325
- - **xhr** - XMLHttpRequest
326
- - **node** - Node.js compatible client using `node-fetch`
327
- - **axios** - Axios HTTP client
328
-
329
- Select the client using the `--httpClient` option or `client` property in config file.
330
-
331
- ### Argument style vs. Object style `--useOptions`
332
- There's no [named parameter](https://en.wikipedia.org/wiki/Named_parameter) in JavaScript or TypeScript, because of
333
- that, we offer the flag `--useOptions` to generate code in two different styles.
334
-
335
- **Argument-style:**
336
- ```typescript
337
- function createUser(name: string, password: string, type?: string, address?: string) {
338
- // ...
339
- }
340
-
341
- // Usage
342
- createUser('Jack', '123456', undefined, 'NY US');
343
- ```
344
-
345
- **Object-style:**
346
- ```typescript
347
- function createUser({ name, password, type, address }: {
348
- name: string,
349
- password: string,
350
- type?: string
351
- address?: string
352
- }) {
353
- // ...
354
- }
355
-
356
- // Usage
357
- createUser({
358
- name: 'Jack',
359
- password: '123456',
360
- address: 'NY US'
361
- });
362
- ```
363
-
364
- ### Enums vs. Union Types `--useUnionTypes`
365
- The OpenAPI spec allows you to define [enums](https://swagger.io/docs/specification/data-models/enums/) inside the
366
- data model. By default, we convert these enums definitions to [TypeScript enums](https://www.typescriptlang.org/docs/handbook/enums.html).
367
- However, these enums are merged inside the namespace of the model, this is unsupported by Babel, [see docs](https://babeljs.io/docs/en/babel-plugin-transform-typescript#impartial-namespace-support).
368
- Because we also want to support projects that use Babel [@babel/plugin-transform-typescript](https://babeljs.io/docs/en/babel-plugin-transform-typescript),
369
- we offer the flag `--useUnionTypes` to generate [union types](https://www.typescriptlang.org/docs/handbook/unions-and-intersections.html#union-types)
370
- instead of the traditional enums. The difference can be seen below:
371
-
372
- **Enums:**
373
- ```typescript
374
- // Model
375
- export interface Order {
376
- id?: number;
377
- quantity?: number;
378
- status?: Order.status;
379
- }
380
-
381
- export namespace Order {
382
- export enum status {
383
- PLACED = 'placed',
384
- APPROVED = 'approved',
385
- DELIVERED = 'delivered',
386
- }
387
- }
388
-
389
- // Usage
390
- const order: Order = {
391
- id: 1,
392
- quantity: 40,
393
- status: Order.status.PLACED
394
- }
395
- ```
396
-
397
- **Union Types:**
398
- ```typescript
399
- // Model
400
- export interface Order {
401
- id?: number;
402
- quantity?: number;
403
- status?: 'placed' | 'approved' | 'delivered';
404
- }
405
-
406
- // Usage
407
- const order: Order = {
408
- id: 1,
409
- quantity: 40,
410
- status: 'placed'
411
- }
412
- ```
413
-
414
- ### Validation schemas `--validationLibrary`
415
- By default, the OpenAPI generator only exports interfaces for your models. These interfaces will help you during
416
- development, but will not be available in JavaScript during runtime. However, OpenAPI allows you to define properties
417
- that can be useful during runtime, for instance: `maxLength` of a string or a `pattern` to match, etc.
418
-
419
- The `--validationLibrary` parameter allows you to generate runtime validation schemas using popular validation libraries:
420
- - **none** (default) - No validation schemas generated
421
- - **zod** - Generate Zod validation schemas
422
- - **joi** - Generate Joi validation schemas
423
- - **yup** - Generate Yup validation schemas
424
- - **jsonschema** - Generate JSON Schema validation schemas
425
-
426
- Let's say we have the following model:
427
-
428
- ```json
429
- {
430
- "MyModel": {
431
- "required": [
432
- "key",
433
- "name"
434
- ],
435
- "type": "object",
436
- "properties": {
437
- "key": {
438
- "maxLength": 64,
439
- "pattern": "^[a-zA-Z0-9_]*$",
440
- "type": "string"
441
- },
442
- "name": {
443
- "maxLength": 255,
444
- "type": "string"
445
- },
446
- "enabled": {
447
- "type": "boolean",
448
- "readOnly": true
449
- },
450
- "modified": {
451
- "type": "string",
452
- "format": "date-time",
453
- "readOnly": true
454
- }
455
- }
456
- }
457
- }
458
- ```
459
-
460
- **With Zod (`--validationLibrary zod`):**
461
-
462
- ```ts
463
- import { z } from 'zod';
464
-
465
- export const MyModelSchema = z.object({
466
- key: z.string().max(64).regex(/^[a-zA-Z0-9_]*$/),
467
- name: z.string().max(255),
468
- enabled: z.boolean().readonly().optional(),
469
- modified: z.string().datetime().readonly().optional(),
470
- });
471
-
472
- export type MyModel = z.infer<typeof MyModelSchema>;
473
-
474
- export function validateMyModel(data: unknown): MyModel {
475
- return MyModelSchema.parse(data);
476
- }
477
-
478
- export function safeValidateMyModel(data: unknown): { success: true; data: MyModel } | { success: false; error: z.ZodError } {
479
- const result = MyModelSchema.safeParse(data);
480
- if (result.success) {
481
- return { success: true, data: result.data };
482
- }
483
- return { success: false, error: result.error };
484
- }
485
- ```
486
-
487
- **With Joi (`--validationLibrary joi`):**
488
-
489
- ```ts
490
- import Joi from 'joi';
491
-
492
- export const MyModelSchema = Joi.object({
493
- key: Joi.string().max(64).pattern(/^[a-zA-Z0-9_]*$/).required(),
494
- name: Joi.string().max(255).required(),
495
- enabled: Joi.boolean().readonly(),
496
- modified: Joi.string().isoDate().readonly(),
497
- });
498
- ```
499
-
500
- **With Yup (`--validationLibrary yup`):**
501
-
502
- ```ts
503
- import * as yup from 'yup';
504
-
505
- export const MyModelSchema = yup.object({
506
- key: yup.string().max(64).matches(/^[a-zA-Z0-9_]*$/).required(),
507
- name: yup.string().max(255).required(),
508
- enabled: yup.boolean().readonly(),
509
- modified: yup.string().datetime().readonly(),
510
- });
511
- ```
512
-
513
- **With JSON Schema (`--validationLibrary jsonschema`):**
514
-
515
- ```ts
516
- export const MyModelSchema = {
517
- type: 'object',
518
- required: ['key', 'name'],
519
- properties: {
520
- key: {
521
- type: 'string',
522
- maxLength: 64,
523
- pattern: '^[a-zA-Z0-9_]*$',
524
- },
525
- name: {
526
- type: 'string',
527
- maxLength: 255,
528
- },
529
- enabled: {
530
- type: 'boolean',
531
- readOnly: true,
532
- },
533
- modified: {
534
- type: 'string',
535
- format: 'date-time',
536
- readOnly: true,
537
- },
538
- },
539
- };
540
- ```
541
- These validation schemas can be used for form generation, input validation, and runtime type checking in your application.
542
-
543
- ### Cancelable promise `--useCancelableRequest`
544
- By default, the OpenAPI generator generates services for accessing the API that use non-cancellable requests. Therefore, we have added the ability to switch the generator to generate canceled API requests. To do this, use the flag `--useCancelableRequest`.
545
- An example of a cancelled request would look like this:
546
-
547
- ```typescript
548
- export function request<T>(config: TOpenAPIConfig, options: ApiRequestOptions): CancelablePromise<T> {
549
- return new CancelablePromise(async(resolve, reject, onCancel) => {
550
- const url = `${config.BASE}${options.path}`.replace('{api-version}', config.VERSION);
551
- try {
552
- if (!onCancel.isCancelled) {
553
- const response = await sendRequest(options, url, config, onCancel);
554
- const responseBody = await getResponseBody(response);
555
- const responseHeader = getResponseHeader(response, options.responseHeader);
556
- const result: ApiResult = {
557
- url,
558
- ok: response.ok,
559
- status: response.status,
560
- statusText: response.statusText,
561
- body: responseHeader || responseBody,
562
- };
563
-
564
- catchErrors(options, result);
565
- resolve(result.body);
566
- }
567
- } catch (e) {
568
- reject(e);
569
- }
570
- });
571
- }
572
- ```
573
-
574
- ### RequestExecutor
575
-
576
- Starting from version **2.0.0** the generated services use the `RequestExecutor` interface
577
- instead of direct calls to the `request` core function.
578
-
579
- The `RequestExecutor` is a single HTTP logic integration point responsible for executing requests
580
- and extending client behavior. It allows you to:
581
- - use any transport (fetch/axios/xhr/custom);
582
- - Centrally handle requests, responses, and errors;
583
- - expand the client's behavior without changing the generated services.
584
-
585
- #### Interceptors
586
-
587
- `RequestExecutor` supports **interceptors**, which allow you to implement additional
588
- logic at different stages of the request lifecycle.:
589
-
590
- - `onRequest` — modification of the request before sending (headers, auth, logging);
591
- - `onResponse` — processing successful responses;
592
- - `onError` — centralized error handling.
593
-
594
- Interceptors are applied at the executor level and are automatically used by all
595
- generated services.
596
-
597
- ```ts
598
- import { createClient } from './generated';
599
-
600
- const client = createClient({
601
- interceptors: {
602
- onRequest: [
603
- (config) => ({
604
- ...config,
605
- headers: {
606
- ...config.headers,
607
- Authorization: 'Bearer token',
608
- },
609
- }),
610
- ],
611
- onError: [
612
- (error) => {
613
- console.error(error);
614
- throw error;
615
- },
616
- ],
617
- },
618
- });
619
- ```
620
-
621
- #### Custom implementation of RequestExecutor with interceptors
622
-
623
- A custom `RequestExecutor` can be used together with interceptors.
624
- In this case, the executor is responsible only for the transport and execution of the request,
625
- while the interceptors are responsible for the extensible business logic (authorization, logging, error handling).
626
-
627
- ```ts
628
- import type { RequestExecutor, RequestConfig } from './generated/core/executor/requestExecutor';
629
- import { withInterceptors } from './generated/core/interceptors/withInterceptors';
630
- import { SimpleService } from './generated/services/SimpleService';
631
-
632
- interface MyCustomOptions {
633
- timeout?: number;
634
- }
635
-
636
- const baseExecutor: RequestExecutor<MyCustomOptions> = {
637
- async request<T>(config: RequestConfig, options?: MyCustomOptions): Promise<T> {
638
- const response = await fetch(config.url, {
639
- method: config.method,
640
- headers: config.headers,
641
- body: config.body ? JSON.stringify(config.body) : undefined,
642
- signal: options?.timeout
643
- ? AbortSignal.timeout(options.timeout)
644
- : undefined,
645
- });
646
-
647
- if (!response.ok) {
648
- throw new Error(`Request failed: ${response.status}`);
649
- }
650
-
651
- return response.json();
652
- },
653
- };
654
-
655
- // Wrapping the executor interceptors
656
- const executor = withInterceptors(baseExecutor, {
657
- onRequest: [
658
- (config) => ({
659
- ...config,
660
- headers: {
661
- ...config.headers,
662
- Authorization: 'Bearer token',
663
- },
664
- }),
665
- ],
666
- onError: [
667
- (error) => {
668
- console.error(error);
669
- throw error;
670
- },
671
- ],
672
- });
673
-
674
- const service = new SimpleService(executor);
675
- await service.getCallWithoutParametersAndResponse({ timeout: 5000 });
55
+ cp -r node_modules/ts-openapi-codegen/skills ./openapi-codegen-skills
676
56
  ```
677
57
 
678
- #### Using generated `createClient` with `customExecutorPath` and `executorFactory`
58
+ See [skills/README.md](skills/README.md) for agent paths (Cursor, Claude Code, Codex) and available skills.
679
59
 
680
- If you set `customExecutorPath` in generation config, `createClient.ts` imports your custom
681
- `createExecutorAdapter` and uses it as the default executor.
60
+ ## Documentation
682
61
 
683
- You can additionally pass `executorFactory` at runtime to wrap/extend this default executor
684
- (for retry, tracing, metrics, etc.) without changing generated services.
685
-
686
- ```ts
687
- import { createClient } from './generated';
688
-
689
- const client = createClient({
690
- executorFactory: ({ openApiConfig, createDefaultExecutor }) => {
691
- const baseExecutor = createDefaultExecutor();
692
-
693
- return {
694
- async request<TResponse>(config, options) {
695
- console.debug('Request to', openApiConfig.BASE, config.path);
696
- return baseExecutor.request<TResponse>(config, options);
697
- },
698
- };
699
- },
700
- });
701
- ```
702
-
703
- ### Sorting strategy for function arguments `--sortByRequired`
704
- By default, the OpenAPI generator sorts the parameters of service functions according to a simplified scheme. If you need a more strict sorting option, then you need to use the `--sortByRequired` flag. The simplified sorting option is similar to the one used in version 0.2.3 of the OpenAPI generator. This flag allows you to upgrade to a new version of the generator if you are "stuck" on version 0.2.3.
705
-
706
- ### Separate index files `--useSeparatedIndexes`
707
- By default, the generator creates a single index file that exports all generated code. With the `--useSeparatedIndexes` flag, you can generate separate index files for core, models, schemas, and services, which can help with better code organization and tree-shaking.
708
-
709
- ### Enum with custom names and descriptions
710
- You can use `x-enum-varnames` and `x-enum-descriptions` in your spec to generate enum with custom names and descriptions.
711
- It's not in official [spec](https://github.com/OAI/OpenAPI-Specification/issues/681) yet. But it's a supported extension
712
- that can help developers use more meaningful enumerators.
713
- ```json
714
- {
715
- "EnumWithStrings": {
716
- "description": "This is a simple enum with strings",
717
- "enum": [
718
- 0,
719
- 1,
720
- 2
721
- ],
722
- "x-enum-varnames": [
723
- "Success",
724
- "Warning",
725
- "Error"
726
- ],
727
- "x-enum-descriptions": [
728
- "Used when the status of something is successful",
729
- "Used when the status of something has a warning",
730
- "Used when the status of something has an error"
731
- ]
732
- }
733
- }
734
- ```
735
-
736
- Generated code:
737
- ```typescript
738
- enum EnumWithStrings {
739
- /*
740
- * Used when the status of something is successful
741
- */
742
- Success = 0,
743
- /*
744
- * Used when the status of something has a warning
745
- */
746
- Waring = 1,
747
- /*
748
- * Used when the status of something has an error
749
- */
750
- Error = 2,
751
- }
752
- ```
753
-
754
-
755
- ### Nullable in OpenAPI v2
756
- In the OpenAPI v3 spec you can create properties that can be NULL, by providing a `nullable: true` in your schema.
757
- However, the v2 spec does not allow you to do this. You can use the unofficial `x-nullable` in your specification
758
- to generate nullable properties in OpenApi v2.
759
-
760
- ```json
761
- {
762
- "ModelWithNullableString": {
763
- "required": ["requiredProp"],
764
- "description": "This is a model with one string property",
765
- "type": "object",
766
- "properties": {
767
- "prop": {
768
- "description": "This is a simple string property",
769
- "type": "string",
770
- "x-nullable": true
771
- },
772
- "requiredProp": {
773
- "description": "This is a simple string property",
774
- "type": "string",
775
- "x-nullable": true
776
- }
777
- }
778
- }
779
- }
780
- ```
781
-
782
- Generated code:
783
- ```typescript
784
- interface ModelWithNullableString {
785
- prop?: string | null,
786
- requiredProp: string | null,
787
- }
788
- ```
789
-
790
-
791
- ### Authorization
792
- The OpenAPI generator supports Bearer Token authorization. In order to enable the sending
793
- of tokens in each request you can set the token using the global OpenAPI configuration:
794
-
795
- ```typescript
796
- import { OpenAPI } from './generated';
797
-
798
- OpenAPI.TOKEN = 'some-bearer-token';
799
- ```
800
-
801
- Alternatively, we also support an async method that provides the token for each request.
802
- You can simply assign this method to the same `TOKEN `property in the global OpenAPI object.
803
-
804
- ```typescript
805
- import { OpenAPI } from './generated';
806
-
807
- const getToken = async () => {
808
- // Some code that requests a token...
809
- return 'SOME_TOKEN';
810
- }
811
-
812
- OpenAPI.TOKEN = getToken;
813
- ```
814
-
815
- ### References
816
-
817
- Local references to schema definitions (those beginning with `#/definitions/schemas/`)
818
- will be converted to type references to the equivalent, generated top-level type.
819
-
820
- The OpenAPI generator also supports external references, which allows you to break
821
- down your openapi.yml into multiple sub-files, or incorporate third-party schemas
822
- as part of your types to ensure everything is able to be TypeScript generated.
823
-
824
- External references may be:
825
- * *relative references* - references to other files at the same location e.g.
826
- `{ $ref: 'schemas/customer.yml' }`
827
- * *remote references* - fully qualified references to another remote location
828
- e.g. `{ $ref: 'https://myexampledomain.com/schemas/customer_schema.yml' }`
829
-
830
- For remote references, both files (when the file is on the current filesystem)
831
- and http(s) URLs are supported.
832
-
833
- External references may also contain internal paths in the external schema (e.g.
834
- `schemas/collection.yml#/definitions/schemas/Customer`) and back-references to
835
- the base openapi file or between files (so that you can reference another
836
- schema in the main file as a type of an object or array property, for example).
837
-
838
- At start-up, an OpenAPI or Swagger file with external references will be "bundled",
839
- so that all external references and back-references will be resolved (but local
840
- references preserved).
841
-
842
- FAQ
843
- ===
844
-
845
- ### Babel support
846
- If you use enums inside your models / definitions then those enums are by default inside a namespace with the same name
847
- as your model. This is called declaration merging. However, the [@babel/plugin-transform-typescript](https://babeljs.io/docs/en/babel-plugin-transform-typescript)
848
- does not support these namespaces, so if you are using babel in your project please use the `--useUnionTypes` flag
849
- to generate union types instead of traditional enums. More info can be found here: [Enums vs. Union Types](#enums-vs-union-types---useuniontypes).
850
-
851
- **Note:** If you are using Babel 7 and Typescript 3.8 (or higher) then you should enable the `onlyRemoveTypeImports` to
852
- ignore any 'type only' imports, see https://babeljs.io/docs/en/babel-preset-typescript#onlyremovetypeimports for more info
853
-
854
- ```javascript
855
- module.exports = {
856
- presets: [
857
- ['@babel/preset-typescript', {
858
- onlyRemoveTypeImports: true,
859
- }],
860
- ],
861
- };
862
- ```
863
-
864
-
865
- ### Node.js support
866
- By default, this library will generate a client that is compatible with the (browser based) [fetch API](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API),
867
- however this client will not work inside the Node.js environment. If you want to generate a Node.js compatible client then
868
- you can specify `--httpClient node` in the openapi call:
869
-
870
- `openapi generate --input ./spec.json --output ./dist --httpClient node`
871
-
872
- This will generate a client that uses [`node-fetch`](https://www.npmjs.com/package/node-fetch) internally. However,
873
- in order to compile and run this client, you will need to install the `node-fetch` dependencies:
874
-
875
- ```
876
- npm install @types/node-fetch --save-dev
877
- npm install node-fetch --save-dev
878
- npm install form-data --save-dev
879
- ```
880
-
881
- In order to compile the project and resolve the imports, you will need to enable the `allowSyntheticDefaultImports`
882
- in your `tsconfig.json` file.
883
-
884
- ```json
885
- {
886
- "allowSyntheticDefaultImports": true
887
- }
888
- ```
62
+ - [Usage](docs/en/usage.md)
63
+ - [Configuration file](docs/en/configuration.md)
64
+ - [Examples](docs/en/examples.md)
65
+ - [Features](docs/en/features.md)
66
+ - [Migration guide](MIGRATION.md)
67
+ - [Plugins](docs/en/plugins.md)
68
+ - [Plugin API v2 (RFC)](docs/en/plugin-api-v2.md)
69
+ - [Русская версия README](README.rus.md)
70
+ - [Русская документация](docs/ru/usage.md)
889
71
 
890
72
  [npm-url]: https://www.npmjs.com/package/ts-openapi-codegen
891
73
  [npm-image]: https://img.shields.io/npm/v/ts-openapi-codegen.svg