@redocly/openapi-core 1.34.4 → 2.0.0-next.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1019) hide show
  1. package/README.md +42 -4
  2. package/lib/bundle.d.ts +16 -15
  3. package/lib/bundle.d.ts.map +1 -0
  4. package/lib/bundle.js +88 -109
  5. package/lib/bundle.js.map +1 -0
  6. package/lib/config/all.d.ts +3 -2
  7. package/lib/config/all.d.ts.map +1 -0
  8. package/lib/config/all.js +11 -3
  9. package/lib/config/all.js.map +1 -0
  10. package/lib/config/builtIn.d.ts +3 -2
  11. package/lib/config/builtIn.d.ts.map +1 -0
  12. package/lib/config/builtIn.js +44 -49
  13. package/lib/config/builtIn.js.map +1 -0
  14. package/lib/config/bundle-extends.d.ts +8 -0
  15. package/lib/config/bundle-extends.d.ts.map +1 -0
  16. package/lib/config/bundle-extends.js +27 -0
  17. package/lib/config/bundle-extends.js.map +1 -0
  18. package/lib/config/config-resolvers.d.ts +15 -27
  19. package/lib/config/config-resolvers.d.ts.map +1 -0
  20. package/lib/config/config-resolvers.js +259 -373
  21. package/lib/config/config-resolvers.js.map +1 -0
  22. package/lib/config/config.d.ts +22 -26
  23. package/lib/config/config.d.ts.map +1 -0
  24. package/lib/config/config.js +104 -112
  25. package/lib/config/config.js.map +1 -0
  26. package/lib/config/index.d.ts +8 -7
  27. package/lib/config/index.d.ts.map +1 -0
  28. package/lib/config/index.js +8 -23
  29. package/lib/config/index.js.map +1 -0
  30. package/lib/config/load.d.ts +8 -19
  31. package/lib/config/load.d.ts.map +1 -0
  32. package/lib/config/load.js +62 -107
  33. package/lib/config/load.js.map +1 -0
  34. package/lib/config/minimal.d.ts +3 -2
  35. package/lib/config/minimal.d.ts.map +1 -0
  36. package/lib/config/minimal.js +11 -3
  37. package/lib/config/minimal.js.map +1 -0
  38. package/lib/config/recommended-strict.d.ts +3 -2
  39. package/lib/config/recommended-strict.d.ts.map +1 -0
  40. package/lib/config/recommended-strict.js +11 -3
  41. package/lib/config/recommended-strict.js.map +1 -0
  42. package/lib/config/recommended.d.ts +3 -2
  43. package/lib/config/recommended.d.ts.map +1 -0
  44. package/lib/config/recommended.js +11 -3
  45. package/lib/config/recommended.js.map +1 -0
  46. package/lib/config/rules.d.ts +5 -4
  47. package/lib/config/rules.d.ts.map +1 -0
  48. package/lib/config/rules.js +4 -6
  49. package/lib/config/rules.js.map +1 -0
  50. package/lib/config/spec.d.ts +3 -2
  51. package/lib/config/spec.d.ts.map +1 -0
  52. package/lib/config/spec.js +6 -4
  53. package/lib/config/spec.js.map +1 -0
  54. package/lib/config/types.d.ts +19 -62
  55. package/lib/config/types.d.ts.map +1 -0
  56. package/lib/config/types.js +2 -2
  57. package/lib/config/types.js.map +1 -0
  58. package/lib/config/utils.d.ts +5 -9
  59. package/lib/config/utils.d.ts.map +1 -0
  60. package/lib/config/utils.js +56 -258
  61. package/lib/config/utils.js.map +1 -0
  62. package/lib/config/visitors.d.ts +36 -0
  63. package/lib/config/visitors.d.ts.map +1 -0
  64. package/lib/config/visitors.js +88 -0
  65. package/lib/config/visitors.js.map +1 -0
  66. package/lib/decorators/arazzo/index.d.ts +1 -0
  67. package/lib/decorators/arazzo/index.d.ts.map +1 -0
  68. package/lib/decorators/arazzo/index.js +2 -4
  69. package/lib/decorators/arazzo/index.js.map +1 -0
  70. package/lib/decorators/async2/index.d.ts +1 -0
  71. package/lib/decorators/async2/index.d.ts.map +1 -0
  72. package/lib/decorators/async2/index.js +2 -4
  73. package/lib/decorators/async2/index.js.map +1 -0
  74. package/lib/decorators/async3/index.d.ts +1 -0
  75. package/lib/decorators/async3/index.d.ts.map +1 -0
  76. package/lib/decorators/async3/index.js +2 -4
  77. package/lib/decorators/async3/index.js.map +1 -0
  78. package/lib/decorators/common/filters/filter-helper.d.ts +2 -1
  79. package/lib/decorators/common/filters/filter-helper.d.ts.map +1 -0
  80. package/lib/decorators/common/filters/filter-helper.js +9 -12
  81. package/lib/decorators/common/filters/filter-helper.js.map +1 -0
  82. package/lib/decorators/common/filters/filter-in.d.ts +2 -1
  83. package/lib/decorators/common/filters/filter-in.d.ts.map +1 -0
  84. package/lib/decorators/common/filters/filter-in.js +5 -8
  85. package/lib/decorators/common/filters/filter-in.js.map +1 -0
  86. package/lib/decorators/common/filters/filter-out.d.ts +2 -1
  87. package/lib/decorators/common/filters/filter-out.d.ts.map +1 -0
  88. package/lib/decorators/common/filters/filter-out.js +5 -8
  89. package/lib/decorators/common/filters/filter-out.js.map +1 -0
  90. package/lib/decorators/common/info-description-override.d.ts +2 -1
  91. package/lib/decorators/common/info-description-override.d.ts.map +1 -0
  92. package/lib/decorators/common/info-description-override.js +4 -7
  93. package/lib/decorators/common/info-description-override.js.map +1 -0
  94. package/lib/decorators/common/info-override.d.ts +2 -1
  95. package/lib/decorators/common/info-override.d.ts.map +1 -0
  96. package/lib/decorators/common/info-override.js +2 -5
  97. package/lib/decorators/common/info-override.js.map +1 -0
  98. package/lib/decorators/common/media-type-examples-override.d.ts +2 -1
  99. package/lib/decorators/common/media-type-examples-override.d.ts.map +1 -0
  100. package/lib/decorators/common/media-type-examples-override.js +7 -10
  101. package/lib/decorators/common/media-type-examples-override.js.map +1 -0
  102. package/lib/decorators/common/operation-description-override.d.ts +2 -1
  103. package/lib/decorators/common/operation-description-override.d.ts.map +1 -0
  104. package/lib/decorators/common/operation-description-override.js +4 -7
  105. package/lib/decorators/common/operation-description-override.js.map +1 -0
  106. package/lib/decorators/common/remove-x-internal.d.ts +2 -1
  107. package/lib/decorators/common/remove-x-internal.d.ts.map +1 -0
  108. package/lib/decorators/common/remove-x-internal.js +11 -14
  109. package/lib/decorators/common/remove-x-internal.js.map +1 -0
  110. package/lib/decorators/common/tag-description-override.d.ts +2 -1
  111. package/lib/decorators/common/tag-description-override.d.ts.map +1 -0
  112. package/lib/decorators/common/tag-description-override.js +4 -7
  113. package/lib/decorators/common/tag-description-override.js.map +1 -0
  114. package/lib/decorators/oas2/index.d.ts +2 -2
  115. package/lib/decorators/oas2/index.d.ts.map +1 -0
  116. package/lib/decorators/oas2/index.js +16 -20
  117. package/lib/decorators/oas2/index.js.map +1 -0
  118. package/lib/decorators/oas2/remove-unused-components.d.ts +2 -1
  119. package/lib/decorators/oas2/remove-unused-components.d.ts.map +1 -0
  120. package/lib/decorators/oas2/remove-unused-components.js +4 -7
  121. package/lib/decorators/oas2/remove-unused-components.js.map +1 -0
  122. package/lib/decorators/oas3/index.d.ts +2 -2
  123. package/lib/decorators/oas3/index.d.ts.map +1 -0
  124. package/lib/decorators/oas3/index.js +18 -22
  125. package/lib/decorators/oas3/index.js.map +1 -0
  126. package/lib/decorators/oas3/remove-unused-components.d.ts +2 -1
  127. package/lib/decorators/oas3/remove-unused-components.d.ts.map +1 -0
  128. package/lib/decorators/oas3/remove-unused-components.js +5 -8
  129. package/lib/decorators/oas3/remove-unused-components.js.map +1 -0
  130. package/lib/decorators/overlay1/index.d.ts +1 -0
  131. package/lib/decorators/overlay1/index.d.ts.map +1 -0
  132. package/lib/decorators/overlay1/index.js +2 -4
  133. package/lib/decorators/overlay1/index.js.map +1 -0
  134. package/lib/env.d.ts +1 -0
  135. package/lib/env.d.ts.map +1 -0
  136. package/lib/env.js +3 -5
  137. package/lib/env.js.map +1 -0
  138. package/lib/format/codeframes.d.ts +2 -1
  139. package/lib/format/codeframes.d.ts.map +1 -0
  140. package/lib/format/codeframes.js +15 -19
  141. package/lib/format/codeframes.js.map +1 -0
  142. package/lib/format/format.d.ts +2 -1
  143. package/lib/format/format.d.ts.map +1 -0
  144. package/lib/format/format.js +57 -62
  145. package/lib/format/format.js.map +1 -0
  146. package/lib/index.d.ts +31 -26
  147. package/lib/index.d.ts.map +1 -0
  148. package/lib/index.js +25 -98
  149. package/lib/index.js.map +1 -0
  150. package/lib/js-yaml/index.d.ts +1 -0
  151. package/lib/js-yaml/index.d.ts.map +1 -0
  152. package/lib/js-yaml/index.js +7 -11
  153. package/lib/js-yaml/index.js.map +1 -0
  154. package/lib/lint.d.ts +12 -13
  155. package/lib/lint.d.ts.map +1 -0
  156. package/lib/lint.js +46 -50
  157. package/lib/lint.js.map +1 -0
  158. package/lib/logger.d.ts +2 -1
  159. package/lib/logger.d.ts.map +1 -0
  160. package/lib/logger.js +15 -17
  161. package/lib/logger.js.map +1 -0
  162. package/lib/oas-types.d.ts +395 -3
  163. package/lib/oas-types.d.ts.map +1 -0
  164. package/lib/oas-types.js +28 -32
  165. package/lib/oas-types.js.map +1 -0
  166. package/lib/ref-utils.d.ts +5 -2
  167. package/lib/ref-utils.d.ts.map +1 -0
  168. package/lib/ref-utils.js +30 -33
  169. package/lib/ref-utils.js.map +1 -0
  170. package/lib/resolve.d.ts +7 -9
  171. package/lib/resolve.d.ts.map +1 -0
  172. package/lib/resolve.js +40 -47
  173. package/lib/resolve.js.map +1 -0
  174. package/lib/rules/ajv.d.ts +4 -3
  175. package/lib/rules/ajv.d.ts.map +1 -0
  176. package/lib/rules/ajv.js +7 -10
  177. package/lib/rules/ajv.js.map +1 -0
  178. package/lib/rules/arazzo/criteria-unique.d.ts +2 -1
  179. package/lib/rules/arazzo/criteria-unique.d.ts.map +1 -0
  180. package/lib/rules/arazzo/criteria-unique.js +2 -5
  181. package/lib/rules/arazzo/criteria-unique.js.map +1 -0
  182. package/lib/rules/arazzo/index.d.ts +2 -1
  183. package/lib/rules/arazzo/index.d.ts.map +1 -0
  184. package/lib/rules/arazzo/index.js +39 -35
  185. package/lib/rules/arazzo/index.js.map +1 -0
  186. package/lib/rules/arazzo/parameters-unique.d.ts +2 -1
  187. package/lib/rules/arazzo/parameters-unique.d.ts.map +1 -0
  188. package/lib/rules/arazzo/parameters-unique.js +2 -5
  189. package/lib/rules/arazzo/parameters-unique.js.map +1 -0
  190. package/lib/rules/arazzo/requestBody-replacements-unique.d.ts +2 -1
  191. package/lib/rules/arazzo/requestBody-replacements-unique.d.ts.map +1 -0
  192. package/lib/rules/arazzo/requestBody-replacements-unique.js +2 -5
  193. package/lib/rules/arazzo/requestBody-replacements-unique.js.map +1 -0
  194. package/lib/rules/arazzo/sourceDescription-type.d.ts +2 -1
  195. package/lib/rules/arazzo/sourceDescription-type.d.ts.map +1 -0
  196. package/lib/rules/arazzo/sourceDescription-type.js +2 -5
  197. package/lib/rules/arazzo/sourceDescription-type.js.map +1 -0
  198. package/lib/rules/arazzo/sourceDescriptions-name-unique.d.ts +2 -1
  199. package/lib/rules/arazzo/sourceDescriptions-name-unique.d.ts.map +1 -0
  200. package/lib/rules/arazzo/sourceDescriptions-name-unique.js +2 -5
  201. package/lib/rules/arazzo/sourceDescriptions-name-unique.js.map +1 -0
  202. package/lib/rules/arazzo/sourceDescriptions-not-empty.d.ts +2 -1
  203. package/lib/rules/arazzo/sourceDescriptions-not-empty.d.ts.map +1 -0
  204. package/lib/rules/arazzo/sourceDescriptions-not-empty.js +2 -5
  205. package/lib/rules/arazzo/sourceDescriptions-not-empty.js.map +1 -0
  206. package/lib/rules/arazzo/step-onFailure-unique.d.ts +2 -1
  207. package/lib/rules/arazzo/step-onFailure-unique.d.ts.map +1 -0
  208. package/lib/rules/arazzo/step-onFailure-unique.js +2 -5
  209. package/lib/rules/arazzo/step-onFailure-unique.js.map +1 -0
  210. package/lib/rules/arazzo/step-onSuccess-unique.d.ts +2 -1
  211. package/lib/rules/arazzo/step-onSuccess-unique.d.ts.map +1 -0
  212. package/lib/rules/arazzo/step-onSuccess-unique.js +2 -5
  213. package/lib/rules/arazzo/step-onSuccess-unique.js.map +1 -0
  214. package/lib/rules/arazzo/stepId-unique.d.ts +2 -1
  215. package/lib/rules/arazzo/stepId-unique.d.ts.map +1 -0
  216. package/lib/rules/arazzo/stepId-unique.js +2 -5
  217. package/lib/rules/arazzo/stepId-unique.js.map +1 -0
  218. package/lib/rules/arazzo/workflow-dependsOn.d.ts +2 -1
  219. package/lib/rules/arazzo/workflow-dependsOn.d.ts.map +1 -0
  220. package/lib/rules/arazzo/workflow-dependsOn.js +2 -5
  221. package/lib/rules/arazzo/workflow-dependsOn.js.map +1 -0
  222. package/lib/rules/arazzo/workflowId-unique.d.ts +2 -1
  223. package/lib/rules/arazzo/workflowId-unique.d.ts.map +1 -0
  224. package/lib/rules/arazzo/workflowId-unique.js +2 -5
  225. package/lib/rules/arazzo/workflowId-unique.js.map +1 -0
  226. package/lib/rules/async2/channels-kebab-case.d.ts +2 -1
  227. package/lib/rules/async2/channels-kebab-case.d.ts.map +1 -0
  228. package/lib/rules/async2/channels-kebab-case.js +2 -5
  229. package/lib/rules/async2/channels-kebab-case.js.map +1 -0
  230. package/lib/rules/async2/index.d.ts +2 -1
  231. package/lib/rules/async2/index.d.ts.map +1 -0
  232. package/lib/rules/async2/index.js +23 -26
  233. package/lib/rules/async2/index.js.map +1 -0
  234. package/lib/rules/async2/no-channel-trailing-slash.d.ts +2 -1
  235. package/lib/rules/async2/no-channel-trailing-slash.d.ts.map +1 -0
  236. package/lib/rules/async2/no-channel-trailing-slash.js +2 -5
  237. package/lib/rules/async2/no-channel-trailing-slash.js.map +1 -0
  238. package/lib/rules/async3/channels-kebab-case.d.ts +2 -1
  239. package/lib/rules/async3/channels-kebab-case.d.ts.map +1 -0
  240. package/lib/rules/async3/channels-kebab-case.js +2 -5
  241. package/lib/rules/async3/channels-kebab-case.js.map +1 -0
  242. package/lib/rules/async3/index.d.ts +2 -1
  243. package/lib/rules/async3/index.d.ts.map +1 -0
  244. package/lib/rules/async3/index.js +23 -26
  245. package/lib/rules/async3/index.js.map +1 -0
  246. package/lib/rules/async3/no-channel-trailing-slash.d.ts +2 -1
  247. package/lib/rules/async3/no-channel-trailing-slash.d.ts.map +1 -0
  248. package/lib/rules/async3/no-channel-trailing-slash.js +3 -6
  249. package/lib/rules/async3/no-channel-trailing-slash.js.map +1 -0
  250. package/lib/rules/common/assertions/asserts.d.ts +3 -3
  251. package/lib/rules/common/assertions/asserts.d.ts.map +1 -0
  252. package/lib/rules/common/assertions/asserts.js +35 -51
  253. package/lib/rules/common/assertions/asserts.js.map +1 -0
  254. package/lib/rules/common/assertions/index.d.ts +4 -3
  255. package/lib/rules/common/assertions/index.d.ts.map +1 -0
  256. package/lib/rules/common/assertions/index.js +7 -10
  257. package/lib/rules/common/assertions/index.js.map +1 -0
  258. package/lib/rules/common/assertions/utils.d.ts +5 -4
  259. package/lib/rules/common/assertions/utils.d.ts.map +1 -0
  260. package/lib/rules/common/assertions/utils.js +21 -29
  261. package/lib/rules/common/assertions/utils.js.map +1 -0
  262. package/lib/rules/common/info-contact.d.ts +2 -1
  263. package/lib/rules/common/info-contact.d.ts.map +1 -0
  264. package/lib/rules/common/info-contact.js +4 -7
  265. package/lib/rules/common/info-contact.js.map +1 -0
  266. package/lib/rules/common/info-license-strict.d.ts +2 -1
  267. package/lib/rules/common/info-license-strict.d.ts.map +1 -0
  268. package/lib/rules/common/info-license-strict.js +7 -10
  269. package/lib/rules/common/info-license-strict.js.map +1 -0
  270. package/lib/rules/common/info-license-url.d.ts +2 -1
  271. package/lib/rules/common/info-license-url.d.ts.map +1 -0
  272. package/lib/rules/common/info-license-url.js +4 -7
  273. package/lib/rules/common/info-license-url.js.map +1 -0
  274. package/lib/rules/common/info-license.d.ts +2 -1
  275. package/lib/rules/common/info-license.d.ts.map +1 -0
  276. package/lib/rules/common/info-license.js +4 -7
  277. package/lib/rules/common/info-license.js.map +1 -0
  278. package/lib/rules/common/no-ambiguous-paths.d.ts +2 -1
  279. package/lib/rules/common/no-ambiguous-paths.d.ts.map +1 -0
  280. package/lib/rules/common/no-ambiguous-paths.js +2 -5
  281. package/lib/rules/common/no-ambiguous-paths.js.map +1 -0
  282. package/lib/rules/common/no-duplicated-tag-names.d.ts +3 -0
  283. package/lib/rules/common/no-duplicated-tag-names.d.ts.map +1 -0
  284. package/lib/rules/common/no-duplicated-tag-names.js +21 -0
  285. package/lib/rules/common/no-duplicated-tag-names.js.map +1 -0
  286. package/lib/rules/common/no-enum-type-mismatch.d.ts +2 -1
  287. package/lib/rules/common/no-enum-type-mismatch.d.ts.map +1 -0
  288. package/lib/rules/common/no-enum-type-mismatch.js +6 -9
  289. package/lib/rules/common/no-enum-type-mismatch.js.map +1 -0
  290. package/lib/rules/common/no-http-verbs-in-paths.d.ts +2 -1
  291. package/lib/rules/common/no-http-verbs-in-paths.d.ts.map +1 -0
  292. package/lib/rules/common/no-http-verbs-in-paths.js +5 -8
  293. package/lib/rules/common/no-http-verbs-in-paths.js.map +1 -0
  294. package/lib/rules/common/no-identical-paths.d.ts +2 -1
  295. package/lib/rules/common/no-identical-paths.d.ts.map +1 -0
  296. package/lib/rules/common/no-identical-paths.js +2 -5
  297. package/lib/rules/common/no-identical-paths.js.map +1 -0
  298. package/lib/rules/common/no-invalid-parameter-examples.d.ts +1 -0
  299. package/lib/rules/common/no-invalid-parameter-examples.d.ts.map +1 -0
  300. package/lib/rules/common/no-invalid-parameter-examples.js +5 -9
  301. package/lib/rules/common/no-invalid-parameter-examples.js.map +1 -0
  302. package/lib/rules/common/no-invalid-schema-examples.d.ts +2 -1
  303. package/lib/rules/common/no-invalid-schema-examples.d.ts.map +1 -0
  304. package/lib/rules/common/no-invalid-schema-examples.js +5 -9
  305. package/lib/rules/common/no-invalid-schema-examples.js.map +1 -0
  306. package/lib/rules/common/no-path-trailing-slash.d.ts +2 -1
  307. package/lib/rules/common/no-path-trailing-slash.d.ts.map +1 -0
  308. package/lib/rules/common/no-path-trailing-slash.js +2 -5
  309. package/lib/rules/common/no-path-trailing-slash.js.map +1 -0
  310. package/lib/rules/common/no-required-schema-properties-undefined.d.ts +2 -1
  311. package/lib/rules/common/no-required-schema-properties-undefined.d.ts.map +1 -0
  312. package/lib/rules/common/no-required-schema-properties-undefined.js +6 -8
  313. package/lib/rules/common/no-required-schema-properties-undefined.js.map +1 -0
  314. package/lib/rules/common/no-schema-type-mismatch.d.ts +2 -1
  315. package/lib/rules/common/no-schema-type-mismatch.d.ts.map +1 -0
  316. package/lib/rules/common/no-schema-type-mismatch.js +2 -5
  317. package/lib/rules/common/no-schema-type-mismatch.js.map +1 -0
  318. package/lib/rules/common/operation-2xx-response.d.ts +2 -1
  319. package/lib/rules/common/operation-2xx-response.d.ts.map +1 -0
  320. package/lib/rules/common/operation-2xx-response.js +5 -8
  321. package/lib/rules/common/operation-2xx-response.js.map +1 -0
  322. package/lib/rules/common/operation-4xx-response.d.ts +2 -1
  323. package/lib/rules/common/operation-4xx-response.d.ts.map +1 -0
  324. package/lib/rules/common/operation-4xx-response.js +5 -8
  325. package/lib/rules/common/operation-4xx-response.js.map +1 -0
  326. package/lib/rules/common/operation-description.d.ts +2 -1
  327. package/lib/rules/common/operation-description.d.ts.map +1 -0
  328. package/lib/rules/common/operation-description.js +4 -7
  329. package/lib/rules/common/operation-description.js.map +1 -0
  330. package/lib/rules/common/operation-operationId-unique.d.ts +2 -1
  331. package/lib/rules/common/operation-operationId-unique.d.ts.map +1 -0
  332. package/lib/rules/common/operation-operationId-unique.js +2 -5
  333. package/lib/rules/common/operation-operationId-unique.js.map +1 -0
  334. package/lib/rules/common/operation-operationId-url-safe.d.ts +2 -1
  335. package/lib/rules/common/operation-operationId-url-safe.d.ts.map +1 -0
  336. package/lib/rules/common/operation-operationId-url-safe.js +2 -5
  337. package/lib/rules/common/operation-operationId-url-safe.js.map +1 -0
  338. package/lib/rules/common/operation-operationId.d.ts +2 -1
  339. package/lib/rules/common/operation-operationId.d.ts.map +1 -0
  340. package/lib/rules/common/operation-operationId.js +4 -7
  341. package/lib/rules/common/operation-operationId.js.map +1 -0
  342. package/lib/rules/common/operation-parameters-unique.d.ts +2 -1
  343. package/lib/rules/common/operation-parameters-unique.d.ts.map +1 -0
  344. package/lib/rules/common/operation-parameters-unique.js +2 -5
  345. package/lib/rules/common/operation-parameters-unique.js.map +1 -0
  346. package/lib/rules/common/operation-singular-tag.d.ts +2 -1
  347. package/lib/rules/common/operation-singular-tag.d.ts.map +1 -0
  348. package/lib/rules/common/operation-singular-tag.js +2 -5
  349. package/lib/rules/common/operation-singular-tag.js.map +1 -0
  350. package/lib/rules/common/operation-summary.d.ts +2 -1
  351. package/lib/rules/common/operation-summary.d.ts.map +1 -0
  352. package/lib/rules/common/operation-summary.js +4 -7
  353. package/lib/rules/common/operation-summary.js.map +1 -0
  354. package/lib/rules/common/operation-tag-defined.d.ts +2 -1
  355. package/lib/rules/common/operation-tag-defined.d.ts.map +1 -0
  356. package/lib/rules/common/operation-tag-defined.js +2 -5
  357. package/lib/rules/common/operation-tag-defined.js.map +1 -0
  358. package/lib/rules/common/parameter-description.d.ts +2 -1
  359. package/lib/rules/common/parameter-description.d.ts.map +1 -0
  360. package/lib/rules/common/parameter-description.js +2 -5
  361. package/lib/rules/common/parameter-description.js.map +1 -0
  362. package/lib/rules/common/path-declaration-must-exist.d.ts +2 -1
  363. package/lib/rules/common/path-declaration-must-exist.d.ts.map +1 -0
  364. package/lib/rules/common/path-declaration-must-exist.js +2 -5
  365. package/lib/rules/common/path-declaration-must-exist.js.map +1 -0
  366. package/lib/rules/common/path-excludes-patterns.d.ts +2 -1
  367. package/lib/rules/common/path-excludes-patterns.d.ts.map +1 -0
  368. package/lib/rules/common/path-excludes-patterns.js +2 -5
  369. package/lib/rules/common/path-excludes-patterns.js.map +1 -0
  370. package/lib/rules/common/path-http-verbs-order.d.ts +2 -1
  371. package/lib/rules/common/path-http-verbs-order.d.ts.map +1 -0
  372. package/lib/rules/common/path-http-verbs-order.js +2 -5
  373. package/lib/rules/common/path-http-verbs-order.js.map +1 -0
  374. package/lib/rules/common/path-not-include-query.d.ts +2 -1
  375. package/lib/rules/common/path-not-include-query.d.ts.map +1 -0
  376. package/lib/rules/common/path-not-include-query.js +2 -5
  377. package/lib/rules/common/path-not-include-query.js.map +1 -0
  378. package/lib/rules/common/path-params-defined.d.ts +2 -1
  379. package/lib/rules/common/path-params-defined.d.ts.map +1 -0
  380. package/lib/rules/common/path-params-defined.js +2 -5
  381. package/lib/rules/common/path-params-defined.js.map +1 -0
  382. package/lib/rules/common/path-segment-plural.d.ts +2 -1
  383. package/lib/rules/common/path-segment-plural.d.ts.map +1 -0
  384. package/lib/rules/common/path-segment-plural.js +6 -9
  385. package/lib/rules/common/path-segment-plural.js.map +1 -0
  386. package/lib/rules/common/paths-kebab-case.d.ts +2 -1
  387. package/lib/rules/common/paths-kebab-case.d.ts.map +1 -0
  388. package/lib/rules/common/paths-kebab-case.js +2 -5
  389. package/lib/rules/common/paths-kebab-case.js.map +1 -0
  390. package/lib/rules/common/required-string-property-missing-min-length.d.ts +2 -1
  391. package/lib/rules/common/required-string-property-missing-min-length.d.ts.map +1 -0
  392. package/lib/rules/common/required-string-property-missing-min-length.js +2 -5
  393. package/lib/rules/common/required-string-property-missing-min-length.js.map +1 -0
  394. package/lib/rules/common/response-contains-header.d.ts +2 -1
  395. package/lib/rules/common/response-contains-header.d.ts.map +1 -0
  396. package/lib/rules/common/response-contains-header.js +5 -8
  397. package/lib/rules/common/response-contains-header.js.map +1 -0
  398. package/lib/rules/common/scalar-property-missing-example.d.ts +2 -1
  399. package/lib/rules/common/scalar-property-missing-example.d.ts.map +1 -0
  400. package/lib/rules/common/scalar-property-missing-example.js +6 -8
  401. package/lib/rules/common/scalar-property-missing-example.js.map +1 -0
  402. package/lib/rules/common/security-defined.d.ts +2 -1
  403. package/lib/rules/common/security-defined.d.ts.map +1 -0
  404. package/lib/rules/common/security-defined.js +2 -5
  405. package/lib/rules/common/security-defined.js.map +1 -0
  406. package/lib/rules/common/spec-strict-refs.d.ts +2 -1
  407. package/lib/rules/common/spec-strict-refs.d.ts.map +1 -0
  408. package/lib/rules/common/spec-strict-refs.js +4 -7
  409. package/lib/rules/common/spec-strict-refs.js.map +1 -0
  410. package/lib/rules/common/struct.d.ts +2 -1
  411. package/lib/rules/common/struct.d.ts.map +1 -0
  412. package/lib/rules/common/struct.js +19 -28
  413. package/lib/rules/common/struct.js.map +1 -0
  414. package/lib/rules/common/tag-description.d.ts +2 -1
  415. package/lib/rules/common/tag-description.d.ts.map +1 -0
  416. package/lib/rules/common/tag-description.js +4 -7
  417. package/lib/rules/common/tag-description.js.map +1 -0
  418. package/lib/rules/common/tags-alphabetical.d.ts +2 -1
  419. package/lib/rules/common/tags-alphabetical.d.ts.map +1 -0
  420. package/lib/rules/common/tags-alphabetical.js +3 -8
  421. package/lib/rules/common/tags-alphabetical.js.map +1 -0
  422. package/lib/rules/no-unresolved-refs.d.ts +4 -3
  423. package/lib/rules/no-unresolved-refs.d.ts.map +1 -0
  424. package/lib/rules/no-unresolved-refs.js +5 -9
  425. package/lib/rules/no-unresolved-refs.js.map +1 -0
  426. package/lib/rules/oas2/boolean-parameter-prefixes.d.ts +2 -1
  427. package/lib/rules/oas2/boolean-parameter-prefixes.d.ts.map +1 -0
  428. package/lib/rules/oas2/boolean-parameter-prefixes.js +2 -5
  429. package/lib/rules/oas2/boolean-parameter-prefixes.js.map +1 -0
  430. package/lib/rules/oas2/index.d.ts +2 -1
  431. package/lib/rules/oas2/index.d.ts.map +1 -0
  432. package/lib/rules/oas2/index.js +96 -99
  433. package/lib/rules/oas2/index.js.map +1 -0
  434. package/lib/rules/oas2/request-mime-type.d.ts +2 -1
  435. package/lib/rules/oas2/request-mime-type.d.ts.map +1 -0
  436. package/lib/rules/oas2/request-mime-type.js +5 -8
  437. package/lib/rules/oas2/request-mime-type.js.map +1 -0
  438. package/lib/rules/oas2/response-contains-property.d.ts +2 -1
  439. package/lib/rules/oas2/response-contains-property.d.ts.map +1 -0
  440. package/lib/rules/oas2/response-contains-property.js +5 -8
  441. package/lib/rules/oas2/response-contains-property.js.map +1 -0
  442. package/lib/rules/oas2/response-mime-type.d.ts +2 -1
  443. package/lib/rules/oas2/response-mime-type.d.ts.map +1 -0
  444. package/lib/rules/oas2/response-mime-type.js +5 -8
  445. package/lib/rules/oas2/response-mime-type.js.map +1 -0
  446. package/lib/rules/oas3/array-parameter-serialization.d.ts +2 -1
  447. package/lib/rules/oas3/array-parameter-serialization.d.ts.map +1 -0
  448. package/lib/rules/oas3/array-parameter-serialization.js +4 -7
  449. package/lib/rules/oas3/array-parameter-serialization.js.map +1 -0
  450. package/lib/rules/oas3/boolean-parameter-prefixes.d.ts +2 -1
  451. package/lib/rules/oas3/boolean-parameter-prefixes.d.ts.map +1 -0
  452. package/lib/rules/oas3/boolean-parameter-prefixes.js +2 -5
  453. package/lib/rules/oas3/boolean-parameter-prefixes.js.map +1 -0
  454. package/lib/rules/oas3/component-name-unique.d.ts +2 -1
  455. package/lib/rules/oas3/component-name-unique.d.ts.map +1 -0
  456. package/lib/rules/oas3/component-name-unique.js +2 -5
  457. package/lib/rules/oas3/component-name-unique.js.map +1 -0
  458. package/lib/rules/oas3/index.d.ts +2 -1
  459. package/lib/rules/oas3/index.d.ts.map +1 -0
  460. package/lib/rules/oas3/index.js +122 -123
  461. package/lib/rules/oas3/index.js.map +1 -0
  462. package/lib/rules/oas3/no-empty-servers.d.ts +2 -1
  463. package/lib/rules/oas3/no-empty-servers.d.ts.map +1 -0
  464. package/lib/rules/oas3/no-empty-servers.js +2 -5
  465. package/lib/rules/oas3/no-empty-servers.js.map +1 -0
  466. package/lib/rules/oas3/no-example-value-and-externalValue.d.ts +2 -1
  467. package/lib/rules/oas3/no-example-value-and-externalValue.d.ts.map +1 -0
  468. package/lib/rules/oas3/no-example-value-and-externalValue.js +2 -5
  469. package/lib/rules/oas3/no-example-value-and-externalValue.js.map +1 -0
  470. package/lib/rules/oas3/no-invalid-media-type-examples.d.ts +2 -1
  471. package/lib/rules/oas3/no-invalid-media-type-examples.d.ts.map +1 -0
  472. package/lib/rules/oas3/no-invalid-media-type-examples.js +6 -10
  473. package/lib/rules/oas3/no-invalid-media-type-examples.js.map +1 -0
  474. package/lib/rules/oas3/no-server-example.com.d.ts +2 -1
  475. package/lib/rules/oas3/no-server-example.com.d.ts.map +1 -0
  476. package/lib/rules/oas3/no-server-example.com.js +2 -5
  477. package/lib/rules/oas3/no-server-example.com.js.map +1 -0
  478. package/lib/rules/oas3/no-server-trailing-slash.d.ts +2 -1
  479. package/lib/rules/oas3/no-server-trailing-slash.d.ts.map +1 -0
  480. package/lib/rules/oas3/no-server-trailing-slash.js +2 -5
  481. package/lib/rules/oas3/no-server-trailing-slash.js.map +1 -0
  482. package/lib/rules/oas3/no-server-variables-empty-enum.d.ts +2 -1
  483. package/lib/rules/oas3/no-server-variables-empty-enum.d.ts.map +1 -0
  484. package/lib/rules/oas3/no-server-variables-empty-enum.js +2 -5
  485. package/lib/rules/oas3/no-server-variables-empty-enum.js.map +1 -0
  486. package/lib/rules/oas3/no-undefined-server-variable.d.ts +2 -1
  487. package/lib/rules/oas3/no-undefined-server-variable.d.ts.map +1 -0
  488. package/lib/rules/oas3/no-undefined-server-variable.js +3 -6
  489. package/lib/rules/oas3/no-undefined-server-variable.js.map +1 -0
  490. package/lib/rules/oas3/no-unused-components.d.ts +2 -1
  491. package/lib/rules/oas3/no-unused-components.d.ts.map +1 -0
  492. package/lib/rules/oas3/no-unused-components.js +2 -5
  493. package/lib/rules/oas3/no-unused-components.js.map +1 -0
  494. package/lib/rules/oas3/nullable-type-sibling.d.ts +3 -0
  495. package/lib/rules/oas3/nullable-type-sibling.d.ts.map +1 -0
  496. package/lib/rules/oas3/nullable-type-sibling.js +15 -0
  497. package/lib/rules/oas3/nullable-type-sibling.js.map +1 -0
  498. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.d.ts +2 -1
  499. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.d.ts.map +1 -0
  500. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.js +6 -9
  501. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.js.map +1 -0
  502. package/lib/rules/oas3/request-mime-type.d.ts +2 -1
  503. package/lib/rules/oas3/request-mime-type.d.ts.map +1 -0
  504. package/lib/rules/oas3/request-mime-type.js +6 -9
  505. package/lib/rules/oas3/request-mime-type.js.map +1 -0
  506. package/lib/rules/oas3/response-contains-property.d.ts +2 -1
  507. package/lib/rules/oas3/response-contains-property.d.ts.map +1 -0
  508. package/lib/rules/oas3/response-contains-property.js +5 -8
  509. package/lib/rules/oas3/response-contains-property.js.map +1 -0
  510. package/lib/rules/oas3/response-mime-type.d.ts +2 -1
  511. package/lib/rules/oas3/response-mime-type.d.ts.map +1 -0
  512. package/lib/rules/oas3/response-mime-type.js +6 -9
  513. package/lib/rules/oas3/response-mime-type.js.map +1 -0
  514. package/lib/rules/oas3/spec-components-invalid-map-name.d.ts +2 -1
  515. package/lib/rules/oas3/spec-components-invalid-map-name.d.ts.map +1 -0
  516. package/lib/rules/oas3/spec-components-invalid-map-name.js +2 -5
  517. package/lib/rules/oas3/spec-components-invalid-map-name.js.map +1 -0
  518. package/lib/rules/other/stats.d.ts +4 -3
  519. package/lib/rules/other/stats.d.ts.map +1 -0
  520. package/lib/rules/other/stats.js +2 -5
  521. package/lib/rules/other/stats.js.map +1 -0
  522. package/lib/rules/overlay1/index.d.ts +2 -1
  523. package/lib/rules/overlay1/index.d.ts.map +1 -0
  524. package/lib/rules/overlay1/index.js +9 -11
  525. package/lib/rules/overlay1/index.js.map +1 -0
  526. package/lib/rules/respect/no-criteria-xpath.d.ts +2 -1
  527. package/lib/rules/respect/no-criteria-xpath.d.ts.map +1 -0
  528. package/lib/rules/respect/no-criteria-xpath.js +2 -5
  529. package/lib/rules/respect/no-criteria-xpath.js.map +1 -0
  530. package/lib/rules/respect/no-x-security-scheme-name-in-workflow.d.ts +3 -0
  531. package/lib/rules/respect/no-x-security-scheme-name-in-workflow.d.ts.map +1 -0
  532. package/lib/rules/respect/no-x-security-scheme-name-in-workflow.js +21 -0
  533. package/lib/rules/respect/no-x-security-scheme-name-in-workflow.js.map +1 -0
  534. package/lib/rules/respect/no-x-security-scheme-name-without-openapi.d.ts +3 -0
  535. package/lib/rules/respect/no-x-security-scheme-name-without-openapi.d.ts.map +1 -0
  536. package/lib/rules/respect/no-x-security-scheme-name-without-openapi.js +25 -0
  537. package/lib/rules/respect/no-x-security-scheme-name-without-openapi.js.map +1 -0
  538. package/lib/rules/respect/respect-supported-versions.d.ts +2 -1
  539. package/lib/rules/respect/respect-supported-versions.d.ts.map +1 -0
  540. package/lib/rules/respect/respect-supported-versions.js +7 -10
  541. package/lib/rules/respect/respect-supported-versions.js.map +1 -0
  542. package/lib/rules/respect/x-security-scheme-required-values.d.ts +3 -0
  543. package/lib/rules/respect/x-security-scheme-required-values.d.ts.map +1 -0
  544. package/lib/rules/respect/x-security-scheme-required-values.js +60 -0
  545. package/lib/rules/respect/x-security-scheme-required-values.js.map +1 -0
  546. package/lib/rules/utils.d.ts +6 -4
  547. package/lib/rules/utils.d.ts.map +1 -0
  548. package/lib/rules/utils.js +23 -43
  549. package/lib/rules/utils.js.map +1 -0
  550. package/lib/types/arazzo.d.ts +2 -1
  551. package/lib/types/arazzo.d.ts.map +1 -0
  552. package/lib/types/arazzo.js +40 -23
  553. package/lib/types/arazzo.js.map +1 -0
  554. package/lib/types/asyncapi2.d.ts +2 -1
  555. package/lib/types/asyncapi2.d.ts.map +1 -0
  556. package/lib/types/asyncapi2.js +54 -56
  557. package/lib/types/asyncapi2.js.map +1 -0
  558. package/lib/types/asyncapi3.d.ts +2 -1
  559. package/lib/types/asyncapi3.d.ts.map +1 -0
  560. package/lib/types/asyncapi3.js +41 -43
  561. package/lib/types/asyncapi3.js.map +1 -0
  562. package/lib/types/index.d.ts +2 -0
  563. package/lib/types/index.d.ts.map +1 -0
  564. package/lib/types/index.js +7 -13
  565. package/lib/types/index.js.map +1 -0
  566. package/lib/types/json-schema-adapter.d.ts +2 -1
  567. package/lib/types/json-schema-adapter.d.ts.map +1 -0
  568. package/lib/types/json-schema-adapter.js +15 -17
  569. package/lib/types/json-schema-adapter.js.map +1 -0
  570. package/lib/types/oas2.d.ts +85 -3
  571. package/lib/types/oas2.d.ts.map +1 -0
  572. package/lib/types/oas2.js +17 -19
  573. package/lib/types/oas2.js.map +1 -0
  574. package/lib/types/oas3.d.ts +159 -3
  575. package/lib/types/oas3.d.ts.map +1 -0
  576. package/lib/types/oas3.js +44 -46
  577. package/lib/types/oas3.js.map +1 -0
  578. package/lib/types/oas3_1.d.ts +162 -3
  579. package/lib/types/oas3_1.d.ts.map +1 -0
  580. package/lib/types/oas3_1.js +19 -21
  581. package/lib/types/oas3_1.js.map +1 -0
  582. package/lib/types/overlay.d.ts +2 -1
  583. package/lib/types/overlay.d.ts.map +1 -0
  584. package/lib/types/overlay.js +4 -6
  585. package/lib/types/overlay.js.map +1 -0
  586. package/lib/types/redocly-yaml.d.ts +10 -14
  587. package/lib/types/redocly-yaml.d.ts.map +1 -0
  588. package/lib/types/redocly-yaml.js +79 -813
  589. package/lib/types/redocly-yaml.js.map +1 -0
  590. package/lib/typings/arazzo.d.ts +41 -0
  591. package/lib/typings/arazzo.d.ts.map +1 -0
  592. package/lib/typings/arazzo.js +3 -5
  593. package/lib/typings/arazzo.js.map +1 -0
  594. package/lib/typings/asyncapi.d.ts +1 -0
  595. package/lib/typings/asyncapi.d.ts.map +1 -0
  596. package/lib/typings/asyncapi.js +2 -2
  597. package/lib/typings/asyncapi.js.map +1 -0
  598. package/lib/typings/asyncapi3.d.ts +1 -0
  599. package/lib/typings/asyncapi3.d.ts.map +1 -0
  600. package/lib/typings/asyncapi3.js +2 -2
  601. package/lib/typings/asyncapi3.js.map +1 -0
  602. package/lib/typings/common.d.ts +1 -0
  603. package/lib/typings/common.d.ts.map +1 -0
  604. package/lib/typings/common.js +2 -2
  605. package/lib/typings/common.js.map +1 -0
  606. package/lib/typings/openapi.d.ts +45 -15
  607. package/lib/typings/openapi.d.ts.map +1 -0
  608. package/lib/typings/openapi.js +2 -2
  609. package/lib/typings/openapi.js.map +1 -0
  610. package/lib/typings/overlay.d.ts +1 -0
  611. package/lib/typings/overlay.d.ts.map +1 -0
  612. package/lib/typings/overlay.js +2 -4
  613. package/lib/typings/overlay.js.map +1 -0
  614. package/lib/typings/swagger.d.ts +2 -1
  615. package/lib/typings/swagger.d.ts.map +1 -0
  616. package/lib/typings/swagger.js +2 -2
  617. package/lib/typings/swagger.js.map +1 -0
  618. package/lib/utils/error.d.ts +3 -0
  619. package/lib/utils/error.d.ts.map +1 -0
  620. package/lib/utils/error.js +3 -0
  621. package/lib/utils/error.js.map +1 -0
  622. package/lib/utils.d.ts +6 -11
  623. package/lib/utils.d.ts.map +1 -0
  624. package/lib/utils.js +50 -123
  625. package/lib/utils.js.map +1 -0
  626. package/lib/visitors.d.ts +16 -15
  627. package/lib/visitors.d.ts.map +1 -0
  628. package/lib/visitors.js +4 -6
  629. package/lib/visitors.js.map +1 -0
  630. package/lib/walk.d.ts +9 -8
  631. package/lib/walk.d.ts.map +1 -0
  632. package/lib/walk.js +31 -28
  633. package/lib/walk.js.map +1 -0
  634. package/package.json +31 -10
  635. package/CHANGELOG.md +0 -563
  636. package/__tests__/utils.ts +0 -92
  637. package/lib/benchmark/benches/lint-with-many-rules.bench.d.ts +0 -4
  638. package/lib/benchmark/benches/lint-with-many-rules.bench.js +0 -38
  639. package/lib/benchmark/benches/lint-with-nested-rule.bench.d.ts +0 -4
  640. package/lib/benchmark/benches/lint-with-nested-rule.bench.js +0 -44
  641. package/lib/benchmark/benches/lint-with-no-rules.bench.d.ts +0 -4
  642. package/lib/benchmark/benches/lint-with-no-rules.bench.js +0 -25
  643. package/lib/benchmark/benches/lint-with-top-level-rule-report.bench.d.ts +0 -4
  644. package/lib/benchmark/benches/lint-with-top-level-rule-report.bench.js +0 -37
  645. package/lib/benchmark/benches/lint-with-top-level-rule.bench.d.ts +0 -4
  646. package/lib/benchmark/benches/lint-with-top-level-rule.bench.js +0 -36
  647. package/lib/benchmark/benches/recommended-oas3.bench.d.ts +0 -3
  648. package/lib/benchmark/benches/recommended-oas3.bench.js +0 -21
  649. package/lib/benchmark/benches/resolve-with-no-external.bench.d.ts +0 -3
  650. package/lib/benchmark/benches/resolve-with-no-external.bench.js +0 -22
  651. package/lib/benchmark/utils.d.ts +0 -6
  652. package/lib/benchmark/utils.js +0 -34
  653. package/lib/decorators/common/registry-dependencies.d.ts +0 -2
  654. package/lib/decorators/common/registry-dependencies.js +0 -24
  655. package/lib/output.d.ts +0 -3
  656. package/lib/output.js +0 -9
  657. package/lib/redocly/domains.d.ts +0 -14
  658. package/lib/redocly/domains.js +0 -41
  659. package/lib/redocly/index.d.ts +0 -30
  660. package/lib/redocly/index.js +0 -131
  661. package/lib/redocly/redocly-client-types.d.ts +0 -8
  662. package/lib/redocly/redocly-client-types.js +0 -2
  663. package/lib/redocly/registry-api-types.d.ts +0 -29
  664. package/lib/redocly/registry-api-types.js +0 -2
  665. package/lib/redocly/registry-api.d.ts +0 -17
  666. package/lib/redocly/registry-api.js +0 -100
  667. package/src/__tests__/__snapshots__/bundle.test.ts.snap +0 -461
  668. package/src/__tests__/bundle.test.ts +0 -478
  669. package/src/__tests__/codeframes.test.ts +0 -530
  670. package/src/__tests__/fixtures/.redocly.lint-ignore.yaml +0 -5
  671. package/src/__tests__/fixtures/extension.js +0 -24
  672. package/src/__tests__/fixtures/lint/openapi.yaml +0 -10
  673. package/src/__tests__/fixtures/redocly.yaml +0 -2
  674. package/src/__tests__/fixtures/refs/definitions.yaml +0 -3
  675. package/src/__tests__/fixtures/refs/examples.yaml +0 -8
  676. package/src/__tests__/fixtures/refs/external-request-body.yaml +0 -13
  677. package/src/__tests__/fixtures/refs/externalref.yaml +0 -35
  678. package/src/__tests__/fixtures/refs/hosted.yaml +0 -35
  679. package/src/__tests__/fixtures/refs/openapi-with-external-refs-conflicting-names.yaml +0 -21
  680. package/src/__tests__/fixtures/refs/openapi-with-external-refs.yaml +0 -33
  681. package/src/__tests__/fixtures/refs/openapi-with-special-names-in-props.yaml +0 -19
  682. package/src/__tests__/fixtures/refs/openapi-with-url-refs.yaml +0 -18
  683. package/src/__tests__/fixtures/refs/param-b.yaml +0 -1
  684. package/src/__tests__/fixtures/refs/param-c.yaml +0 -1
  685. package/src/__tests__/fixtures/refs/rename.yaml +0 -1
  686. package/src/__tests__/fixtures/refs/requestBody.yaml +0 -9
  687. package/src/__tests__/fixtures/refs/schema-a.yaml +0 -1
  688. package/src/__tests__/fixtures/refs/simple.yaml +0 -1
  689. package/src/__tests__/fixtures/refs/vendor.schema.yaml +0 -20
  690. package/src/__tests__/fixtures/resolve/External.yaml +0 -10
  691. package/src/__tests__/fixtures/resolve/External2.yaml +0 -4
  692. package/src/__tests__/fixtures/resolve/description.md +0 -3
  693. package/src/__tests__/fixtures/resolve/externalInfo.yaml +0 -4
  694. package/src/__tests__/fixtures/resolve/externalLicense.yaml +0 -1
  695. package/src/__tests__/fixtures/resolve/openapi-with-back.yaml +0 -13
  696. package/src/__tests__/fixtures/resolve/openapi-with-md-description.yaml +0 -5
  697. package/src/__tests__/fixtures/resolve/openapi.yaml +0 -28
  698. package/src/__tests__/fixtures/resolve/schemas/type-a.yaml +0 -10
  699. package/src/__tests__/fixtures/resolve/schemas/type-b.yaml +0 -6
  700. package/src/__tests__/fixtures/resolve/transitive/a.yaml +0 -1
  701. package/src/__tests__/fixtures/resolve/transitive/components.yaml +0 -5
  702. package/src/__tests__/fixtures/resolve/transitive/schemas.yaml +0 -3
  703. package/src/__tests__/format.test.ts +0 -147
  704. package/src/__tests__/js-yaml.test.ts +0 -73
  705. package/src/__tests__/lint.test.ts +0 -1772
  706. package/src/__tests__/logger-browser.test.ts +0 -53
  707. package/src/__tests__/logger.test.ts +0 -47
  708. package/src/__tests__/login.test.ts +0 -17
  709. package/src/__tests__/normalizeVisitors.test.ts +0 -169
  710. package/src/__tests__/output-browser.test.ts +0 -18
  711. package/src/__tests__/output.test.ts +0 -15
  712. package/src/__tests__/ref-utils.test.ts +0 -142
  713. package/src/__tests__/resolve-http.test.ts +0 -77
  714. package/src/__tests__/resolve.test.ts +0 -431
  715. package/src/__tests__/utils-browser.test.ts +0 -11
  716. package/src/__tests__/utils.test.ts +0 -144
  717. package/src/__tests__/walk.test.ts +0 -1596
  718. package/src/benchmark/benches/lint-with-many-rules.bench.ts +0 -41
  719. package/src/benchmark/benches/lint-with-nested-rule.bench.ts +0 -45
  720. package/src/benchmark/benches/lint-with-no-rules.bench.ts +0 -27
  721. package/src/benchmark/benches/lint-with-top-level-rule-report.bench.ts +0 -40
  722. package/src/benchmark/benches/lint-with-top-level-rule.bench.ts +0 -38
  723. package/src/benchmark/benches/rebilly.yaml +0 -32272
  724. package/src/benchmark/benches/recommended-oas3.bench.ts +0 -22
  725. package/src/benchmark/benches/resolve-with-no-external.bench.ts +0 -23
  726. package/src/benchmark/benchmark.js +0 -311
  727. package/src/benchmark/colors.js +0 -29
  728. package/src/benchmark/fork.js +0 -87
  729. package/src/benchmark/utils.ts +0 -37
  730. package/src/bundle.ts +0 -531
  731. package/src/config/__tests__/__snapshots__/config-resolvers.test.ts.snap +0 -485
  732. package/src/config/__tests__/__snapshots__/config.test.ts.snap +0 -232
  733. package/src/config/__tests__/config-resolvers.test.ts +0 -668
  734. package/src/config/__tests__/config.test.ts +0 -356
  735. package/src/config/__tests__/fixtures/ingore-file.ts +0 -8
  736. package/src/config/__tests__/fixtures/load-external.yaml +0 -2
  737. package/src/config/__tests__/fixtures/load-redocly.yaml +0 -2
  738. package/src/config/__tests__/fixtures/plugin-config.yaml +0 -2
  739. package/src/config/__tests__/fixtures/plugin.js +0 -56
  740. package/src/config/__tests__/fixtures/resolve-config/api/nested-config.yaml +0 -11
  741. package/src/config/__tests__/fixtures/resolve-config/api/plugin.js +0 -69
  742. package/src/config/__tests__/fixtures/resolve-config/local-config-with-circular.yaml +0 -7
  743. package/src/config/__tests__/fixtures/resolve-config/local-config-with-commonjs-export-function.yaml +0 -2
  744. package/src/config/__tests__/fixtures/resolve-config/local-config-with-custom-function.yaml +0 -17
  745. package/src/config/__tests__/fixtures/resolve-config/local-config-with-esm.yaml +0 -2
  746. package/src/config/__tests__/fixtures/resolve-config/local-config-with-file.yaml +0 -18
  747. package/src/config/__tests__/fixtures/resolve-config/local-config-with-plugin-init.yaml +0 -2
  748. package/src/config/__tests__/fixtures/resolve-config/local-config-with-realm-plugin.yaml +0 -2
  749. package/src/config/__tests__/fixtures/resolve-config/local-config-with-wrong-custom-function.yaml +0 -15
  750. package/src/config/__tests__/fixtures/resolve-config/local-config.yaml +0 -9
  751. package/src/config/__tests__/fixtures/resolve-config/plugin-esm.mjs +0 -10
  752. package/src/config/__tests__/fixtures/resolve-config/plugin-with-export-function.cjs +0 -10
  753. package/src/config/__tests__/fixtures/resolve-config/plugin-with-init-logic.js +0 -9
  754. package/src/config/__tests__/fixtures/resolve-config/plugin.js +0 -80
  755. package/src/config/__tests__/fixtures/resolve-config/realm-plugin.js +0 -12
  756. package/src/config/__tests__/fixtures/resolve-refs-in-config/config-with-refs.yaml +0 -8
  757. package/src/config/__tests__/fixtures/resolve-refs-in-config/rules.yaml +0 -2
  758. package/src/config/__tests__/fixtures/resolve-refs-in-config/seo.yaml +0 -1
  759. package/src/config/__tests__/fixtures/resolve-remote-configs/nested-remote-config.yaml +0 -3
  760. package/src/config/__tests__/fixtures/resolve-remote-configs/remote-config.yaml +0 -4
  761. package/src/config/__tests__/load.test.ts +0 -320
  762. package/src/config/__tests__/resolve-plugins.test.ts +0 -30
  763. package/src/config/__tests__/utils.test.ts +0 -225
  764. package/src/config/all.ts +0 -234
  765. package/src/config/builtIn.ts +0 -59
  766. package/src/config/config-resolvers.ts +0 -657
  767. package/src/config/config.ts +0 -423
  768. package/src/config/index.ts +0 -7
  769. package/src/config/load.ts +0 -213
  770. package/src/config/minimal.ts +0 -210
  771. package/src/config/recommended-strict.ts +0 -210
  772. package/src/config/recommended.ts +0 -210
  773. package/src/config/rules.ts +0 -72
  774. package/src/config/spec.ts +0 -33
  775. package/src/config/types.ts +0 -306
  776. package/src/config/utils.ts +0 -439
  777. package/src/decorators/__tests__/filter-in.test.ts +0 -313
  778. package/src/decorators/__tests__/filter-out.test.ts +0 -344
  779. package/src/decorators/__tests__/media-type-examples-override.test.ts +0 -665
  780. package/src/decorators/__tests__/remove-x-internal.test.ts +0 -416
  781. package/src/decorators/__tests__/resources/request.yaml +0 -3
  782. package/src/decorators/__tests__/resources/response.yaml +0 -3
  783. package/src/decorators/arazzo/index.ts +0 -1
  784. package/src/decorators/async2/index.ts +0 -1
  785. package/src/decorators/async3/index.ts +0 -1
  786. package/src/decorators/common/filters/filter-helper.ts +0 -73
  787. package/src/decorators/common/filters/filter-in.ts +0 -19
  788. package/src/decorators/common/filters/filter-out.ts +0 -19
  789. package/src/decorators/common/info-description-override.ts +0 -25
  790. package/src/decorators/common/info-override.ts +0 -15
  791. package/src/decorators/common/media-type-examples-override.ts +0 -80
  792. package/src/decorators/common/operation-description-override.ts +0 -31
  793. package/src/decorators/common/registry-dependencies.ts +0 -25
  794. package/src/decorators/common/remove-x-internal.ts +0 -77
  795. package/src/decorators/common/tag-description-override.ts +0 -26
  796. package/src/decorators/oas2/__tests__/remove-unused-components.test.ts +0 -228
  797. package/src/decorators/oas2/index.ts +0 -21
  798. package/src/decorators/oas2/remove-unused-components.ts +0 -109
  799. package/src/decorators/oas3/__tests__/remove-unused-components.test.ts +0 -313
  800. package/src/decorators/oas3/index.ts +0 -23
  801. package/src/decorators/oas3/remove-unused-components.ts +0 -138
  802. package/src/decorators/overlay1/index.ts +0 -1
  803. package/src/env.ts +0 -5
  804. package/src/format/codeframes.ts +0 -217
  805. package/src/format/format.ts +0 -479
  806. package/src/index.ts +0 -91
  807. package/src/js-yaml/index.ts +0 -16
  808. package/src/lint.ts +0 -190
  809. package/src/logger.ts +0 -36
  810. package/src/oas-types.ts +0 -178
  811. package/src/output.ts +0 -7
  812. package/src/redocly/__tests__/domains.test.ts +0 -52
  813. package/src/redocly/__tests__/redocly-client.test.ts +0 -156
  814. package/src/redocly/domains.ts +0 -48
  815. package/src/redocly/index.ts +0 -177
  816. package/src/redocly/redocly-client-types.ts +0 -10
  817. package/src/redocly/registry-api-types.ts +0 -32
  818. package/src/redocly/registry-api.ts +0 -147
  819. package/src/ref-utils.ts +0 -91
  820. package/src/resolve.ts +0 -461
  821. package/src/rules/__tests__/fixtures/code-sample.php +0 -9
  822. package/src/rules/__tests__/fixtures/invalid-yaml.yaml +0 -1
  823. package/src/rules/__tests__/fixtures/ref.yaml +0 -1
  824. package/src/rules/__tests__/no-unresolved-refs.test.ts +0 -271
  825. package/src/rules/__tests__/utils.test.ts +0 -160
  826. package/src/rules/ajv.ts +0 -105
  827. package/src/rules/arazzo/__tests__/criteria-unique.test.ts +0 -160
  828. package/src/rules/arazzo/__tests__/no-criteria-xpath.test.ts +0 -126
  829. package/src/rules/arazzo/__tests__/parameters-unique.test.ts +0 -113
  830. package/src/rules/arazzo/__tests__/requestBody-replacements-unique.test.ts +0 -108
  831. package/src/rules/arazzo/__tests__/respect-supported-versions.test.ts +0 -116
  832. package/src/rules/arazzo/__tests__/source-description-type.test.ts +0 -78
  833. package/src/rules/arazzo/__tests__/sourceDescription-name-unique.test.ts +0 -78
  834. package/src/rules/arazzo/__tests__/sourceDescriptions-not-empty.test.ts +0 -104
  835. package/src/rules/arazzo/__tests__/step-onFailure-unique.test.ts +0 -110
  836. package/src/rules/arazzo/__tests__/step-onSuccess-unique.test.ts +0 -110
  837. package/src/rules/arazzo/__tests__/stepId-unique.test.ts +0 -94
  838. package/src/rules/arazzo/__tests__/workflow-dependsOn.test.ts +0 -209
  839. package/src/rules/arazzo/__tests__/workflowId-unique.test.ts +0 -88
  840. package/src/rules/arazzo/criteria-unique.ts +0 -70
  841. package/src/rules/arazzo/index.ts +0 -38
  842. package/src/rules/arazzo/parameters-unique.ts +0 -33
  843. package/src/rules/arazzo/requestBody-replacements-unique.ts +0 -33
  844. package/src/rules/arazzo/sourceDescription-type.ts +0 -21
  845. package/src/rules/arazzo/sourceDescriptions-name-unique.ts +0 -23
  846. package/src/rules/arazzo/sourceDescriptions-not-empty.ts +0 -17
  847. package/src/rules/arazzo/step-onFailure-unique.ts +0 -33
  848. package/src/rules/arazzo/step-onSuccess-unique.ts +0 -33
  849. package/src/rules/arazzo/stepId-unique.ts +0 -24
  850. package/src/rules/arazzo/workflow-dependsOn.ts +0 -56
  851. package/src/rules/arazzo/workflowId-unique.ts +0 -21
  852. package/src/rules/async2/__tests__/channels-kebab-case.test.ts +0 -145
  853. package/src/rules/async2/__tests__/no-channel-trailing-slash.test.ts +0 -97
  854. package/src/rules/async2/channels-kebab-case.ts +0 -18
  855. package/src/rules/async2/index.ts +0 -29
  856. package/src/rules/async2/no-channel-trailing-slash.ts +0 -15
  857. package/src/rules/async3/__tests__/channels-kebab-case.test.ts +0 -145
  858. package/src/rules/async3/__tests__/no-channel-trailing-slash.test.ts +0 -96
  859. package/src/rules/async3/channels-kebab-case.ts +0 -19
  860. package/src/rules/async3/index.ts +0 -29
  861. package/src/rules/async3/no-channel-trailing-slash.ts +0 -16
  862. package/src/rules/common/__tests__/info-license-strict.test.ts +0 -141
  863. package/src/rules/common/__tests__/info-license.test.ts +0 -62
  864. package/src/rules/common/__tests__/license-url.test.ts +0 -63
  865. package/src/rules/common/__tests__/no-ambiguous-paths.test.ts +0 -96
  866. package/src/rules/common/__tests__/no-enum-type-mismatch.test.ts +0 -210
  867. package/src/rules/common/__tests__/no-identical-paths.test.ts +0 -58
  868. package/src/rules/common/__tests__/no-invalid-parameter-examples.test.ts +0 -53
  869. package/src/rules/common/__tests__/no-invalid-schema-examples.test.ts +0 -86
  870. package/src/rules/common/__tests__/no-path-trailing-slash.test.ts +0 -126
  871. package/src/rules/common/__tests__/no-required-schema-properties-undefined.test.ts +0 -550
  872. package/src/rules/common/__tests__/no-schema-type-mismatch.test.ts +0 -126
  873. package/src/rules/common/__tests__/operation-2xx-response.test.ts +0 -194
  874. package/src/rules/common/__tests__/operation-4xx-response.test.ts +0 -233
  875. package/src/rules/common/__tests__/operation-operationId-unique.test.ts +0 -76
  876. package/src/rules/common/__tests__/operation-operationId-url-safe.test.ts +0 -45
  877. package/src/rules/common/__tests__/operation-parameters-unique.test.ts +0 -167
  878. package/src/rules/common/__tests__/operation-singular-tag.test.ts +0 -72
  879. package/src/rules/common/__tests__/operation-tag-defined.test.ts +0 -68
  880. package/src/rules/common/__tests__/path-http-verbs-order.test.ts +0 -95
  881. package/src/rules/common/__tests__/path-not-include-query.test.ts +0 -64
  882. package/src/rules/common/__tests__/path-params-defined.test.ts +0 -202
  883. package/src/rules/common/__tests__/paths-kebab-case.test.ts +0 -110
  884. package/src/rules/common/__tests__/scalar-property-missing-example.test.ts +0 -264
  885. package/src/rules/common/__tests__/security-defined.test.ts +0 -284
  886. package/src/rules/common/__tests__/spec-strict-refs.test.ts +0 -69
  887. package/src/rules/common/__tests__/struct.test.ts +0 -657
  888. package/src/rules/common/__tests__/tag-description.test.ts +0 -65
  889. package/src/rules/common/__tests__/tags-alphabetical.test.ts +0 -124
  890. package/src/rules/common/assertions/__tests__/asserts.test.ts +0 -877
  891. package/src/rules/common/assertions/__tests__/index.test.ts +0 -100
  892. package/src/rules/common/assertions/__tests__/utils.test.ts +0 -236
  893. package/src/rules/common/assertions/asserts.ts +0 -365
  894. package/src/rules/common/assertions/index.ts +0 -68
  895. package/src/rules/common/assertions/utils.ts +0 -333
  896. package/src/rules/common/info-contact.ts +0 -16
  897. package/src/rules/common/info-license-strict.ts +0 -24
  898. package/src/rules/common/info-license-url.ts +0 -11
  899. package/src/rules/common/info-license.ts +0 -16
  900. package/src/rules/common/no-ambiguous-paths.ts +0 -50
  901. package/src/rules/common/no-enum-type-mismatch.ts +0 -53
  902. package/src/rules/common/no-http-verbs-in-paths.ts +0 -37
  903. package/src/rules/common/no-identical-paths.ts +0 -24
  904. package/src/rules/common/no-invalid-parameter-examples.ts +0 -37
  905. package/src/rules/common/no-invalid-schema-examples.ts +0 -40
  906. package/src/rules/common/no-path-trailing-slash.ts +0 -15
  907. package/src/rules/common/no-required-schema-properties-undefined.ts +0 -54
  908. package/src/rules/common/no-schema-type-mismatch.ts +0 -24
  909. package/src/rules/common/operation-2xx-response.ts +0 -25
  910. package/src/rules/common/operation-4xx-response.ts +0 -25
  911. package/src/rules/common/operation-description.ts +0 -14
  912. package/src/rules/common/operation-operationId-unique.ts +0 -21
  913. package/src/rules/common/operation-operationId-url-safe.ts +0 -20
  914. package/src/rules/common/operation-operationId.ts +0 -18
  915. package/src/rules/common/operation-parameters-unique.ts +0 -48
  916. package/src/rules/common/operation-singular-tag.ts +0 -17
  917. package/src/rules/common/operation-summary.ts +0 -14
  918. package/src/rules/common/operation-tag-defined.ts +0 -31
  919. package/src/rules/common/parameter-description.ts +0 -22
  920. package/src/rules/common/path-declaration-must-exist.ts +0 -15
  921. package/src/rules/common/path-excludes-patterns.ts +0 -23
  922. package/src/rules/common/path-http-verbs-order.ts +0 -30
  923. package/src/rules/common/path-not-include-query.ts +0 -17
  924. package/src/rules/common/path-params-defined.ts +0 -65
  925. package/src/rules/common/path-segment-plural.ts +0 -33
  926. package/src/rules/common/paths-kebab-case.ts +0 -19
  927. package/src/rules/common/required-string-property-missing-min-length.ts +0 -44
  928. package/src/rules/common/response-contains-header.ts +0 -36
  929. package/src/rules/common/scalar-property-missing-example.ts +0 -59
  930. package/src/rules/common/security-defined.ts +0 -89
  931. package/src/rules/common/spec-strict-refs.ts +0 -31
  932. package/src/rules/common/struct.ts +0 -189
  933. package/src/rules/common/tag-description.ts +0 -11
  934. package/src/rules/common/tags-alphabetical.ts +0 -27
  935. package/src/rules/no-unresolved-refs.ts +0 -52
  936. package/src/rules/oas2/__tests__/boolean-parameter-prefixes.test.ts +0 -112
  937. package/src/rules/oas2/__tests__/response-contains-header.test.ts +0 -180
  938. package/src/rules/oas2/__tests__/response-contains-property.test.ts +0 -161
  939. package/src/rules/oas2/__tests__/spec/fixtures/description.md +0 -1
  940. package/src/rules/oas2/__tests__/spec/info.test.ts +0 -355
  941. package/src/rules/oas2/__tests__/spec/operation.test.ts +0 -123
  942. package/src/rules/oas2/__tests__/spec/paths.test.ts +0 -245
  943. package/src/rules/oas2/__tests__/spec/referenceableScalars.test.ts +0 -37
  944. package/src/rules/oas2/__tests__/spec/utils.ts +0 -32
  945. package/src/rules/oas2/boolean-parameter-prefixes.ts +0 -26
  946. package/src/rules/oas2/index.ts +0 -102
  947. package/src/rules/oas2/request-mime-type.ts +0 -17
  948. package/src/rules/oas2/response-contains-property.ts +0 -37
  949. package/src/rules/oas2/response-mime-type.ts +0 -17
  950. package/src/rules/oas3/__tests__/array-parameter-serialization.test.ts +0 -275
  951. package/src/rules/oas3/__tests__/boolean-parameter-prefixes.test.ts +0 -113
  952. package/src/rules/oas3/__tests__/component-name-unique.test.ts +0 -966
  953. package/src/rules/oas3/__tests__/fixtures/common.yaml +0 -11
  954. package/src/rules/oas3/__tests__/fixtures/external-value.yaml +0 -2
  955. package/src/rules/oas3/__tests__/no-empty-enum-servers.com.test.ts +0 -205
  956. package/src/rules/oas3/__tests__/no-example-value-and-externalValue.test.ts +0 -65
  957. package/src/rules/oas3/__tests__/no-invalid-media-type-examples.test.ts +0 -732
  958. package/src/rules/oas3/__tests__/no-server-example.com.test.ts +0 -95
  959. package/src/rules/oas3/__tests__/no-server-trailing-slash.test.ts +0 -79
  960. package/src/rules/oas3/__tests__/no-unused-components.test.ts +0 -131
  961. package/src/rules/oas3/__tests__/operation-4xx-problem-details-rfc7807.test.ts +0 -145
  962. package/src/rules/oas3/__tests__/response-contains-header.test.ts +0 -401
  963. package/src/rules/oas3/__tests__/response-contains-property.test.ts +0 -417
  964. package/src/rules/oas3/__tests__/spec/callbacks.test.ts +0 -41
  965. package/src/rules/oas3/__tests__/spec/fixtures/description.md +0 -1
  966. package/src/rules/oas3/__tests__/spec/info.test.ts +0 -391
  967. package/src/rules/oas3/__tests__/spec/operation.test.ts +0 -253
  968. package/src/rules/oas3/__tests__/spec/paths.test.ts +0 -284
  969. package/src/rules/oas3/__tests__/spec/referenceableScalars.test.ts +0 -77
  970. package/src/rules/oas3/__tests__/spec/servers.test.ts +0 -505
  971. package/src/rules/oas3/__tests__/spec/spec.test.ts +0 -307
  972. package/src/rules/oas3/__tests__/spec/utils.ts +0 -32
  973. package/src/rules/oas3/__tests__/spec-components-invalid-map-name.test.ts +0 -282
  974. package/src/rules/oas3/__tests__/utils/lint-document-for-test.ts +0 -23
  975. package/src/rules/oas3/array-parameter-serialization.ts +0 -47
  976. package/src/rules/oas3/boolean-parameter-prefixes.ts +0 -28
  977. package/src/rules/oas3/component-name-unique.ts +0 -162
  978. package/src/rules/oas3/index.ts +0 -126
  979. package/src/rules/oas3/no-empty-servers.ts +0 -22
  980. package/src/rules/oas3/no-example-value-and-externalValue.ts +0 -14
  981. package/src/rules/oas3/no-invalid-media-type-examples.ts +0 -54
  982. package/src/rules/oas3/no-server-example.com.ts +0 -16
  983. package/src/rules/oas3/no-server-trailing-slash.ts +0 -15
  984. package/src/rules/oas3/no-server-variables-empty-enum.ts +0 -66
  985. package/src/rules/oas3/no-undefined-server-variable.ts +0 -30
  986. package/src/rules/oas3/no-unused-components.ts +0 -75
  987. package/src/rules/oas3/operation-4xx-problem-details-rfc7807.ts +0 -36
  988. package/src/rules/oas3/request-mime-type.ts +0 -31
  989. package/src/rules/oas3/response-contains-property.ts +0 -39
  990. package/src/rules/oas3/response-mime-type.ts +0 -31
  991. package/src/rules/oas3/spec-components-invalid-map-name.ts +0 -69
  992. package/src/rules/other/stats.ts +0 -75
  993. package/src/rules/overlay1/__tests__/info-contact.test.ts +0 -112
  994. package/src/rules/overlay1/index.ts +0 -14
  995. package/src/rules/respect/no-criteria-xpath.ts +0 -20
  996. package/src/rules/respect/respect-supported-versions.ts +0 -24
  997. package/src/rules/utils.ts +0 -230
  998. package/src/types/arazzo.ts +0 -305
  999. package/src/types/asyncapi2.ts +0 -1121
  1000. package/src/types/asyncapi3.ts +0 -383
  1001. package/src/types/index.ts +0 -144
  1002. package/src/types/json-schema-adapter.ts +0 -217
  1003. package/src/types/oas2.ts +0 -481
  1004. package/src/types/oas3.ts +0 -594
  1005. package/src/types/oas3_1.ts +0 -290
  1006. package/src/types/overlay.ts +0 -40
  1007. package/src/types/redocly-yaml.ts +0 -1226
  1008. package/src/typings/arazzo.ts +0 -172
  1009. package/src/typings/asyncapi.ts +0 -26
  1010. package/src/typings/asyncapi3.ts +0 -61
  1011. package/src/typings/common.ts +0 -18
  1012. package/src/typings/openapi.ts +0 -347
  1013. package/src/typings/overlay.ts +0 -19
  1014. package/src/typings/swagger.ts +0 -236
  1015. package/src/utils.ts +0 -357
  1016. package/src/visitors.ts +0 -598
  1017. package/src/walk.ts +0 -467
  1018. package/tsconfig.json +0 -8
  1019. package/tsconfig.tsbuildinfo +0 -1
@@ -1,1226 +0,0 @@
1
- import { rootRedoclyConfigSchema } from '@redocly/config';
2
- import { listOf } from '.';
3
- import { SpecVersion, getTypes } from '../oas-types';
4
- import { isCustomRuleId, omitObjectProps, pickObjectProps } from '../utils';
5
- import { getNodeTypesFromJSONSchema } from './json-schema-adapter';
6
- import { normalizeTypes } from '../types';
7
-
8
- import type { JSONSchema } from 'json-schema-to-ts';
9
- import type { NodeType } from '.';
10
- import type { Config } from '../config';
11
-
12
- const builtInOAS2Rules = [
13
- 'info-contact',
14
- 'operation-operationId',
15
- 'tag-description',
16
- 'tags-alphabetical',
17
- 'info-license-url',
18
- 'info-license-strict',
19
- 'info-license',
20
- 'no-ambiguous-paths',
21
- 'no-enum-type-mismatch',
22
- 'no-http-verbs-in-paths',
23
- 'no-identical-paths',
24
- 'no-invalid-parameter-examples',
25
- 'no-invalid-schema-examples',
26
- 'no-path-trailing-slash',
27
- 'operation-2xx-response',
28
- 'operation-4xx-response',
29
- 'operation-description',
30
- 'operation-operationId-unique',
31
- 'operation-operationId-url-safe',
32
- 'operation-parameters-unique',
33
- 'operation-singular-tag',
34
- 'operation-summary',
35
- 'operation-tag-defined',
36
- 'parameter-description',
37
- 'path-declaration-must-exist',
38
- 'path-excludes-patterns',
39
- 'path-http-verbs-order',
40
- 'path-not-include-query',
41
- 'path-params-defined',
42
- 'path-parameters-defined',
43
- 'path-segment-plural',
44
- 'paths-kebab-case',
45
- 'required-string-property-missing-min-length',
46
- 'response-contains-header',
47
- 'scalar-property-missing-example',
48
- 'security-defined',
49
- 'spec-strict-refs',
50
- 'no-unresolved-refs',
51
- 'no-required-schema-properties-undefined',
52
- 'no-schema-type-mismatch',
53
- 'boolean-parameter-prefixes',
54
- 'request-mime-type',
55
- 'response-contains-property',
56
- 'response-mime-type',
57
- ] as const;
58
-
59
- export type BuiltInOAS2RuleId = typeof builtInOAS2Rules[number];
60
-
61
- const builtInOAS3Rules = [
62
- 'info-contact',
63
- 'operation-operationId',
64
- 'tag-description',
65
- 'tags-alphabetical',
66
- 'info-license-url',
67
- 'info-license-strict',
68
- 'info-license',
69
- 'no-ambiguous-paths',
70
- 'no-enum-type-mismatch',
71
- 'no-http-verbs-in-paths',
72
- 'no-identical-paths',
73
- 'no-invalid-parameter-examples',
74
- 'no-invalid-schema-examples',
75
- 'no-path-trailing-slash',
76
- 'operation-2xx-response',
77
- 'operation-4xx-response',
78
- 'operation-description',
79
- 'operation-operationId-unique',
80
- 'operation-operationId-url-safe',
81
- 'operation-parameters-unique',
82
- 'operation-singular-tag',
83
- 'operation-summary',
84
- 'operation-tag-defined',
85
- 'parameter-description',
86
- 'path-declaration-must-exist',
87
- 'path-excludes-patterns',
88
- 'path-http-verbs-order',
89
- 'path-not-include-query',
90
- 'path-params-defined',
91
- 'path-parameters-defined',
92
- 'path-segment-plural',
93
- 'paths-kebab-case',
94
- 'required-string-property-missing-min-length',
95
- 'response-contains-header',
96
- 'scalar-property-missing-example',
97
- 'security-defined',
98
- 'spec-strict-refs',
99
- 'no-unresolved-refs',
100
- 'no-required-schema-properties-undefined',
101
- 'no-schema-type-mismatch',
102
- 'boolean-parameter-prefixes',
103
- 'component-name-unique',
104
- 'no-empty-servers',
105
- 'no-example-value-and-externalValue',
106
- 'no-invalid-media-type-examples',
107
- 'no-server-example.com',
108
- 'no-server-trailing-slash',
109
- 'no-server-variables-empty-enum',
110
- 'no-undefined-server-variable',
111
- 'no-unused-components',
112
- 'operation-4xx-problem-details-rfc7807',
113
- 'request-mime-type',
114
- 'response-contains-property',
115
- 'response-mime-type',
116
- 'spec-components-invalid-map-name',
117
- 'array-parameter-serialization',
118
- ] as const;
119
-
120
- export type BuiltInOAS3RuleId = typeof builtInOAS3Rules[number];
121
-
122
- const builtInAsync2Rules = [
123
- 'info-contact',
124
- 'info-license-strict',
125
- 'operation-operationId',
126
- 'tag-description',
127
- 'tags-alphabetical',
128
- 'channels-kebab-case',
129
- 'no-channel-trailing-slash',
130
- ] as const;
131
-
132
- const builtInAsync3Rules = [
133
- 'info-contact',
134
- 'info-license-strict',
135
- 'operation-operationId',
136
- 'tag-description',
137
- 'tags-alphabetical',
138
- 'channels-kebab-case',
139
- 'no-channel-trailing-slash',
140
- ] as const;
141
-
142
- export type BuiltInAsync2RuleId = typeof builtInAsync2Rules[number];
143
-
144
- export type BuiltInAsync3RuleId = typeof builtInAsync3Rules[number];
145
-
146
- const builtInArazzo1Rules = [
147
- 'sourceDescription-type',
148
- 'workflowId-unique',
149
- 'stepId-unique',
150
- 'sourceDescription-name-unique',
151
- 'sourceDescriptions-not-empty',
152
- 'workflow-dependsOn',
153
- 'parameters-unique',
154
- 'step-onSuccess-unique',
155
- 'step-onFailure-unique',
156
- 'respect-supported-versions',
157
- 'requestBody-replacements-unique',
158
- 'no-criteria-xpath',
159
- 'criteria-unique',
160
- ] as const;
161
-
162
- export type BuiltInArazzo1RuleId = typeof builtInArazzo1Rules[number];
163
-
164
- const builtInOverlay1Rules = ['info-contact'] as const;
165
-
166
- export type BuiltInOverlay1RuleId = typeof builtInOverlay1Rules[number];
167
-
168
- const builtInRules = [
169
- ...builtInOAS2Rules,
170
- ...builtInOAS3Rules,
171
- ...builtInAsync2Rules,
172
- ...builtInAsync3Rules,
173
- ...builtInArazzo1Rules,
174
- ...builtInOverlay1Rules,
175
- 'spec', // TODO: depricated in favor of struct
176
- 'struct',
177
- ] as const;
178
-
179
- type BuiltInRuleId = typeof builtInRules[number];
180
-
181
- const oas2NodeTypesList = [
182
- 'Root',
183
- 'Tag',
184
- 'TagList',
185
- 'ExternalDocs',
186
- 'SecurityRequirement',
187
- 'SecurityRequirementList',
188
- 'Info',
189
- 'Contact',
190
- 'License',
191
- 'Paths',
192
- 'PathItem',
193
- 'Parameter',
194
- 'ParameterList',
195
- 'ParameterItems',
196
- 'Operation',
197
- 'Example',
198
- 'ExamplesMap',
199
- 'Examples',
200
- 'Header',
201
- 'Responses',
202
- 'Response',
203
- 'Schema',
204
- 'Xml',
205
- 'SchemaProperties',
206
- 'NamedSchemas',
207
- 'NamedResponses',
208
- 'NamedParameters',
209
- 'NamedSecuritySchemes',
210
- 'SecurityScheme',
211
- 'TagGroup',
212
- 'TagGroups',
213
- 'EnumDescriptions',
214
- 'Logo',
215
- 'XCodeSample',
216
- 'XCodeSampleList',
217
- 'XServer',
218
- 'XServerList',
219
- ] as const;
220
-
221
- export type Oas2NodeType = typeof oas2NodeTypesList[number];
222
-
223
- const oas3NodeTypesList = [
224
- 'Root',
225
- 'Tag',
226
- 'TagList',
227
- 'ExternalDocs',
228
- 'Server',
229
- 'ServerList',
230
- 'ServerVariable',
231
- 'ServerVariablesMap',
232
- 'SecurityRequirement',
233
- 'SecurityRequirementList',
234
- 'Info',
235
- 'Contact',
236
- 'License',
237
- 'Paths',
238
- 'PathItem',
239
- 'Parameter',
240
- 'ParameterList',
241
- 'Operation',
242
- 'Callback',
243
- 'CallbacksMap',
244
- 'RequestBody',
245
- 'MediaTypesMap',
246
- 'MediaType',
247
- 'Example',
248
- 'ExamplesMap',
249
- 'Encoding',
250
- 'EncodingMap',
251
- 'Header',
252
- 'HeadersMap',
253
- 'Responses',
254
- 'Response',
255
- 'Link',
256
- 'LinksMap',
257
- 'Schema',
258
- 'Xml',
259
- 'SchemaProperties',
260
- 'DiscriminatorMapping',
261
- 'Discriminator',
262
- 'Components',
263
- 'NamedSchemas',
264
- 'NamedResponses',
265
- 'NamedParameters',
266
- 'NamedExamples',
267
- 'NamedRequestBodies',
268
- 'NamedHeaders',
269
- 'NamedSecuritySchemes',
270
- 'NamedLinks',
271
- 'NamedCallbacks',
272
- 'ImplicitFlow',
273
- 'PasswordFlow',
274
- 'ClientCredentials',
275
- 'AuthorizationCode',
276
- 'OAuth2Flows',
277
- 'SecurityScheme',
278
- 'TagGroup',
279
- 'TagGroups',
280
- 'EnumDescriptions',
281
- 'Logo',
282
- 'XCodeSample',
283
- 'XCodeSampleList',
284
- 'XUsePkce',
285
- 'WebhooksMap',
286
- ] as const;
287
-
288
- export type Oas3NodeType = typeof oas3NodeTypesList[number];
289
-
290
- const oas3_1NodeTypesList = [
291
- 'Root',
292
- 'Schema',
293
- 'SchemaProperties',
294
- 'PatternProperties',
295
- 'Info',
296
- 'License',
297
- 'Components',
298
- 'NamedPathItems',
299
- 'SecurityScheme',
300
- 'Operation',
301
- 'DependentRequired',
302
- ] as const;
303
-
304
- export type Oas3_1NodeType = typeof oas3_1NodeTypesList[number];
305
-
306
- const ConfigStyleguide: NodeType = {
307
- properties: {
308
- extends: {
309
- type: 'array',
310
- items: {
311
- type: 'string',
312
- },
313
- },
314
- rules: 'Rules',
315
- oas2Rules: 'Rules',
316
- oas3_0Rules: 'Rules',
317
- oas3_1Rules: 'Rules',
318
- async2Rules: 'Rules',
319
- arazzo1Rules: 'Rules',
320
- preprocessors: { type: 'object' },
321
- oas2Preprocessors: { type: 'object' },
322
- oas3_0Preprocessors: { type: 'object' },
323
- oas3_1Preprocessors: { type: 'object' },
324
- async2Preprocessors: { type: 'object' },
325
- arazzoPreprocessors: { type: 'object' },
326
- decorators: { type: 'object' },
327
- oas2Decorators: { type: 'object' },
328
- oas3_0Decorators: { type: 'object' },
329
- oas3_1Decorators: { type: 'object' },
330
- async2Decorators: { type: 'object' },
331
- arazzo1Decorators: { type: 'object' },
332
- },
333
- };
334
-
335
- const createConfigRoot = (nodeTypes: Record<string, NodeType>): NodeType => ({
336
- ...nodeTypes.rootRedoclyConfigSchema,
337
- properties: {
338
- ...nodeTypes.rootRedoclyConfigSchema.properties,
339
- ...ConfigStyleguide.properties,
340
- apis: 'ConfigApis', // Override apis with internal format
341
- 'features.openapi': 'ConfigReferenceDocs', // deprecated
342
- 'features.mockServer': 'ConfigMockServer', // deprecated
343
- organization: { type: 'string' },
344
- region: { enum: ['us', 'eu'] },
345
- telemetry: { enum: ['on', 'off'] },
346
- resolve: {
347
- properties: {
348
- http: 'ConfigHTTP',
349
- doNotResolveExamples: { type: 'boolean' },
350
- },
351
- },
352
- files: {
353
- type: 'array',
354
- items: {
355
- type: 'string',
356
- },
357
- },
358
- },
359
- });
360
-
361
- const ConfigApis: NodeType = {
362
- properties: {},
363
- additionalProperties: 'ConfigApisProperties',
364
- };
365
-
366
- const createConfigApisProperties = (nodeTypes: Record<string, NodeType>): NodeType => ({
367
- ...nodeTypes['rootRedoclyConfigSchema.apis_additionalProperties'],
368
- properties: {
369
- ...nodeTypes['rootRedoclyConfigSchema.apis_additionalProperties']?.properties,
370
- labels: {
371
- type: 'array',
372
- items: {
373
- type: 'string',
374
- },
375
- },
376
- ...ConfigStyleguide.properties,
377
- 'features.openapi': 'ConfigReferenceDocs', // deprecated
378
- 'features.mockServer': 'ConfigMockServer', // deprecated
379
- files: {
380
- type: 'array',
381
- items: {
382
- type: 'string',
383
- },
384
- },
385
- },
386
- });
387
-
388
- const ConfigHTTP: NodeType = {
389
- properties: {
390
- headers: {
391
- type: 'array',
392
- items: {
393
- type: 'string',
394
- },
395
- },
396
- },
397
- };
398
-
399
- const Rules: NodeType = {
400
- properties: {},
401
- additionalProperties: (value: unknown, key: string) => {
402
- if (key.startsWith('rule/')) {
403
- if (typeof value === 'string') {
404
- return { enum: ['error', 'warn', 'off'] };
405
- } else {
406
- return 'Assert';
407
- }
408
- } else if (key.startsWith('assert/')) {
409
- // keep the old assert/ prefix as an alias
410
- if (typeof value === 'string') {
411
- return { enum: ['error', 'warn', 'off'] };
412
- } else {
413
- return 'Assert';
414
- }
415
- } else if (builtInRules.includes(key as BuiltInRuleId) || isCustomRuleId(key)) {
416
- if (typeof value === 'string') {
417
- return { enum: ['error', 'warn', 'off'] };
418
- } else {
419
- return 'ObjectRule';
420
- }
421
- } else if (key === 'metadata-schema' || key === 'custom-fields-schema') {
422
- return 'Schema';
423
- }
424
- // Otherwise is considered as invalid
425
- return;
426
- },
427
- };
428
-
429
- const ObjectRule: NodeType = {
430
- properties: {
431
- severity: { enum: ['error', 'warn', 'off'] },
432
- },
433
- additionalProperties: {},
434
- required: ['severity'],
435
- };
436
-
437
- // TODO: add better type tree for this
438
- const Schema: NodeType = {
439
- properties: {},
440
- additionalProperties: {},
441
- };
442
-
443
- function createAssertionDefinitionSubject(nodeNames: string[]): NodeType {
444
- return {
445
- properties: {
446
- type: {
447
- enum: [...new Set(['any', ...nodeNames, 'SpecExtension'])],
448
- },
449
- property: (value: unknown) => {
450
- if (Array.isArray(value)) {
451
- return { type: 'array', items: { type: 'string' } };
452
- } else if (value === null) {
453
- return null;
454
- } else {
455
- return { type: 'string' };
456
- }
457
- },
458
- filterInParentKeys: { type: 'array', items: { type: 'string' } },
459
- filterOutParentKeys: { type: 'array', items: { type: 'string' } },
460
- matchParentKeys: { type: 'string' },
461
- },
462
- required: ['type'],
463
- };
464
- }
465
-
466
- const AssertionDefinitionAssertions: NodeType = {
467
- properties: {
468
- enum: { type: 'array', items: { type: 'string' } },
469
- pattern: { type: 'string' },
470
- notPattern: { type: 'string' },
471
- casing: {
472
- enum: [
473
- 'camelCase',
474
- 'kebab-case',
475
- 'snake_case',
476
- 'PascalCase',
477
- 'MACRO_CASE',
478
- 'COBOL-CASE',
479
- 'flatcase',
480
- ],
481
- },
482
- mutuallyExclusive: { type: 'array', items: { type: 'string' } },
483
- mutuallyRequired: { type: 'array', items: { type: 'string' } },
484
- required: { type: 'array', items: { type: 'string' } },
485
- requireAny: { type: 'array', items: { type: 'string' } },
486
- disallowed: { type: 'array', items: { type: 'string' } },
487
- defined: { type: 'boolean' },
488
- // undefined: { type: 'boolean' }, // TODO: Remove `undefined` assertion from codebase overall
489
- nonEmpty: { type: 'boolean' },
490
- minLength: { type: 'integer' },
491
- maxLength: { type: 'integer' },
492
- ref: (value: string | boolean) =>
493
- typeof value === 'string' ? { type: 'string' } : { type: 'boolean' },
494
- const: (value: string | boolean | number) => {
495
- if (typeof value === 'string') {
496
- return { type: 'string' };
497
- }
498
- if (typeof value === 'number') {
499
- return { type: 'number' };
500
- }
501
- if (typeof value === 'boolean') {
502
- return { type: 'boolean' };
503
- } else {
504
- return;
505
- }
506
- },
507
- },
508
- additionalProperties: (_value: unknown, key: string) => {
509
- if (/^\w+\/\w+$/.test(key)) return { type: 'object' };
510
- return;
511
- },
512
- };
513
-
514
- const AssertDefinition: NodeType = {
515
- properties: {
516
- subject: 'AssertionDefinitionSubject',
517
- assertions: 'AssertionDefinitionAssertions',
518
- },
519
- required: ['subject', 'assertions'],
520
- };
521
-
522
- const Assert: NodeType = {
523
- properties: {
524
- subject: 'AssertionDefinitionSubject',
525
- assertions: 'AssertionDefinitionAssertions',
526
- where: listOf('AssertDefinition'),
527
- message: { type: 'string' },
528
- suggest: { type: 'array', items: { type: 'string' } },
529
- severity: { enum: ['error', 'warn', 'off'] },
530
- },
531
- required: ['subject', 'assertions'],
532
- };
533
-
534
- const ConfigLanguage: NodeType = {
535
- properties: {
536
- label: { type: 'string' },
537
- lang: {
538
- enum: [
539
- 'curl',
540
- 'C#',
541
- 'Go',
542
- 'Java',
543
- 'Java8+Apache',
544
- 'JavaScript',
545
- 'Node.js',
546
- 'PHP',
547
- 'Python',
548
- 'R',
549
- 'Ruby',
550
- ],
551
- },
552
- },
553
- required: ['lang'],
554
- };
555
-
556
- const ConfigLabels: NodeType = {
557
- properties: {
558
- enum: { type: 'string' },
559
- enumSingleValue: { type: 'string' },
560
- enumArray: { type: 'string' },
561
- default: { type: 'string' },
562
- deprecated: { type: 'string' },
563
- example: { type: 'string' },
564
- examples: { type: 'string' },
565
- nullable: { type: 'string' },
566
- recursive: { type: 'string' },
567
- arrayOf: { type: 'string' },
568
- webhook: { type: 'string' },
569
- authorizations: { type: 'string' },
570
- tryItAuthBasicUsername: { type: 'string' },
571
- tryItAuthBasicPassword: { type: 'string' },
572
- },
573
- };
574
-
575
- const ConfigSidebarLinks: NodeType = {
576
- properties: {
577
- beforeInfo: listOf('CommonConfigSidebarLinks'),
578
- end: listOf('CommonConfigSidebarLinks'),
579
- },
580
- };
581
-
582
- const CommonConfigSidebarLinks: NodeType = {
583
- properties: {
584
- label: { type: 'string' },
585
- link: { type: 'string' },
586
- target: { type: 'string' },
587
- },
588
- required: ['label', 'link'],
589
- };
590
-
591
- const CommonThemeColors: NodeType = {
592
- properties: {
593
- main: { type: 'string' },
594
- light: { type: 'string' },
595
- dark: { type: 'string' },
596
- contrastText: { type: 'string' },
597
- },
598
- };
599
-
600
- const CommonColorProps: NodeType = {
601
- properties: {
602
- backgroundColor: { type: 'string' },
603
- borderColor: { type: 'string' },
604
- color: { type: 'string' },
605
- tabTextColor: { type: 'string' },
606
- },
607
- };
608
-
609
- const BorderThemeColors: NodeType = {
610
- properties: pickObjectProps(CommonThemeColors.properties, ['light', 'dark']),
611
- };
612
-
613
- const HttpColors: NodeType = {
614
- properties: {
615
- basic: { type: 'string' },
616
- delete: { type: 'string' },
617
- get: { type: 'string' },
618
- head: { type: 'string' },
619
- link: { type: 'string' },
620
- options: { type: 'string' },
621
- patch: { type: 'string' },
622
- post: { type: 'string' },
623
- put: { type: 'string' },
624
- },
625
- };
626
-
627
- const ResponseColors: NodeType = {
628
- properties: {
629
- error: 'CommonColorProps',
630
- info: 'CommonColorProps',
631
- redirect: 'CommonColorProps',
632
- success: 'CommonColorProps',
633
- },
634
- };
635
-
636
- const SecondaryColors: NodeType = {
637
- properties: omitObjectProps(CommonThemeColors.properties, ['dark']),
638
- };
639
-
640
- const TextThemeColors: NodeType = {
641
- properties: {
642
- primary: { type: 'string' },
643
- secondary: { type: 'string' },
644
- light: { type: 'string' },
645
- },
646
- };
647
-
648
- const ThemeColors: NodeType = {
649
- properties: {
650
- accent: 'CommonThemeColors',
651
- border: 'BorderThemeColors',
652
- error: 'CommonThemeColors',
653
- http: 'HttpColors',
654
- primary: 'CommonThemeColors',
655
- responses: 'ResponseColors',
656
- secondary: 'SecondaryColors',
657
- success: 'CommonThemeColors',
658
- text: 'TextThemeColors',
659
- tonalOffset: { type: 'number' },
660
- warning: 'CommonThemeColors',
661
- },
662
- };
663
-
664
- const SizeProps: NodeType = {
665
- properties: {
666
- fontSize: { type: 'string' },
667
- padding: { type: 'string' },
668
- minWidth: { type: 'string' },
669
- },
670
- };
671
-
672
- const Sizes: NodeType = {
673
- properties: {
674
- small: 'SizeProps',
675
- medium: 'SizeProps',
676
- large: 'SizeProps',
677
- xlarge: 'SizeProps',
678
- },
679
- };
680
-
681
- const FontConfig: NodeType = {
682
- properties: {
683
- fontFamily: { type: 'string' },
684
- fontSize: { type: 'string' },
685
- fontWeight: { type: 'string' },
686
- lineHeight: { type: 'string' },
687
- },
688
- };
689
-
690
- const ButtonsConfig: NodeType = {
691
- properties: {
692
- ...omitObjectProps(FontConfig.properties, ['fontSize', 'lineHeight']),
693
- borderRadius: { type: 'string' },
694
- hoverStyle: { type: 'string' },
695
- boxShadow: { type: 'string' },
696
- hoverBoxShadow: { type: 'string' },
697
- sizes: 'Sizes',
698
- },
699
- };
700
-
701
- const BadgeFontConfig: NodeType = {
702
- properties: pickObjectProps(FontConfig.properties, ['fontSize', 'lineHeight']),
703
- };
704
-
705
- const BadgeSizes: NodeType = {
706
- properties: {
707
- medium: 'BadgeFontConfig',
708
- small: 'BadgeFontConfig',
709
- },
710
- };
711
-
712
- const HttpBadgesConfig: NodeType = {
713
- properties: {
714
- ...omitObjectProps(FontConfig.properties, ['fontSize', 'lineHeight']),
715
- borderRadius: { type: 'string' },
716
- color: { type: 'string' },
717
- sizes: 'BadgeSizes',
718
- },
719
- };
720
-
721
- const LabelControls: NodeType = {
722
- properties: {
723
- top: { type: 'string' },
724
- width: { type: 'string' },
725
- height: { type: 'string' },
726
- },
727
- };
728
-
729
- const Panels: NodeType = {
730
- properties: {
731
- borderRadius: { type: 'string' },
732
- backgroundColor: { type: 'string' },
733
- },
734
- };
735
-
736
- const TryItButton: NodeType = {
737
- properties: {
738
- fullWidth: { type: 'boolean' },
739
- },
740
- };
741
-
742
- const ConfigThemeComponents: NodeType = {
743
- properties: {
744
- buttons: 'ButtonsConfig',
745
- httpBadges: 'HttpBadgesConfig',
746
- layoutControls: 'LabelControls',
747
- panels: 'Panels',
748
- tryItButton: 'TryItButton',
749
- tryItSendButton: 'TryItButton',
750
- },
751
- };
752
-
753
- const Breakpoints: NodeType = {
754
- properties: {
755
- small: { type: 'string' },
756
- medium: { type: 'string' },
757
- large: { type: 'string' },
758
- },
759
- };
760
-
761
- const StackedConfig: NodeType = {
762
- properties: {
763
- maxWidth: 'Breakpoints',
764
- },
765
- };
766
-
767
- const ThreePanelConfig: NodeType = {
768
- properties: {
769
- maxWidth: 'Breakpoints',
770
- middlePanelMaxWidth: 'Breakpoints',
771
- },
772
- };
773
-
774
- const Layout: NodeType = {
775
- properties: {
776
- showDarkRightPanel: { type: 'boolean' },
777
- stacked: 'StackedConfig',
778
- 'three-panel': 'ThreePanelConfig',
779
- },
780
- };
781
-
782
- const SchemaColorsConfig: NodeType = {
783
- properties: {
784
- backgroundColor: { type: 'string' },
785
- border: { type: 'string' },
786
- },
787
- };
788
-
789
- const ConfigThemeSchema: NodeType = {
790
- properties: {
791
- breakFieldNames: { type: 'boolean' },
792
- caretColor: { type: 'string' },
793
- caretSize: { type: 'string' },
794
- constraints: 'SchemaColorsConfig',
795
- defaultDetailsWidth: { type: 'string' },
796
- examples: 'SchemaColorsConfig',
797
- labelsTextSize: { type: 'string' },
798
- linesColor: { type: 'string' },
799
- nestedBackground: { type: 'string' },
800
- nestingSpacing: { type: 'string' },
801
- requireLabelColor: { type: 'string' },
802
- typeNameColor: { type: 'string' },
803
- typeTitleColor: { type: 'string' },
804
- },
805
- };
806
-
807
- const GroupItemsConfig: NodeType = {
808
- properties: {
809
- subItemsColor: { type: 'string' },
810
- textTransform: { type: 'string' },
811
- fontWeight: { type: 'string' },
812
- },
813
- };
814
-
815
- const Level1Items: NodeType = {
816
- properties: pickObjectProps(GroupItemsConfig.properties, ['textTransform']),
817
- };
818
-
819
- const SpacingConfig: NodeType = {
820
- properties: {
821
- unit: { type: 'number' },
822
- paddingHorizontal: { type: 'string' },
823
- paddingVertical: { type: 'string' },
824
- offsetTop: { type: 'string' },
825
- offsetLeft: { type: 'string' },
826
- offsetNesting: { type: 'string' },
827
- },
828
- };
829
-
830
- const Sidebar: NodeType = {
831
- properties: {
832
- ...omitObjectProps(FontConfig.properties, ['fontWeight', 'lineHeight']),
833
- activeBgColor: { type: 'string' },
834
- activeTextColor: { type: 'string' },
835
- backgroundColor: { type: 'string' },
836
- borderRadius: { type: 'string' },
837
- breakPath: { type: 'boolean' },
838
- caretColor: { type: 'string' },
839
- caretSize: { type: 'string' },
840
- groupItems: 'GroupItemsConfig',
841
- level1items: 'Level1Items',
842
- rightLineColor: { type: 'string' },
843
- separatorLabelColor: { type: 'string' },
844
- showAtBreakpoint: { type: 'string' },
845
- spacing: 'SpacingConfig',
846
- textColor: { type: 'string' },
847
- width: { type: 'string' },
848
- },
849
- };
850
-
851
- const Heading: NodeType = {
852
- properties: {
853
- ...FontConfig.properties,
854
- color: { type: 'string' },
855
- transform: { type: 'string' },
856
- },
857
- };
858
-
859
- const CodeConfig: NodeType = {
860
- properties: {
861
- ...FontConfig.properties,
862
- backgroundColor: { type: 'string' },
863
- color: { type: 'string' },
864
- wordBreak: {
865
- enum: [
866
- 'break-all',
867
- 'break-word',
868
- 'keep-all',
869
- 'normal',
870
- 'revert',
871
- 'unset',
872
- 'inherit',
873
- 'initial',
874
- ],
875
- },
876
- wrap: { type: 'boolean' },
877
- },
878
- };
879
-
880
- const HeadingsConfig: NodeType = {
881
- properties: omitObjectProps(FontConfig.properties, ['fontSize']),
882
- };
883
-
884
- const LinksConfig: NodeType = {
885
- properties: {
886
- color: { type: 'string' },
887
- hover: { type: 'string' },
888
- textDecoration: { type: 'string' },
889
- hoverTextDecoration: { type: 'string' },
890
- visited: { type: 'string' },
891
- },
892
- };
893
-
894
- const Typography: NodeType = {
895
- properties: {
896
- code: 'CodeConfig',
897
- fieldName: 'FontConfig',
898
- ...pickObjectProps(FontConfig.properties, ['fontSize', 'fontFamily']),
899
- fontWeightBold: { type: 'string' },
900
- fontWeightLight: { type: 'string' },
901
- fontWeightRegular: { type: 'string' },
902
- heading1: 'Heading',
903
- heading2: 'Heading',
904
- heading3: 'Heading',
905
- headings: 'HeadingsConfig',
906
- lineHeight: { type: 'string' },
907
- links: 'LinksConfig',
908
- optimizeSpeed: { type: 'boolean' },
909
- rightPanelHeading: 'Heading',
910
- smoothing: { enum: ['auto', 'none', 'antialiased', 'subpixel-antialiased', 'grayscale'] },
911
- },
912
- };
913
-
914
- const TokenProps: NodeType = {
915
- properties: {
916
- color: { type: 'string' },
917
- ...omitObjectProps(FontConfig.properties, ['fontWeight']),
918
- },
919
- };
920
-
921
- const CodeBlock: NodeType = {
922
- properties: {
923
- backgroundColor: { type: 'string' },
924
- borderRadius: { type: 'string' },
925
- tokens: 'TokenProps',
926
- },
927
- };
928
-
929
- const ConfigThemeLogo: NodeType = {
930
- properties: {
931
- gutter: { type: 'string' },
932
- maxHeight: { type: 'string' },
933
- maxWidth: { type: 'string' },
934
- },
935
- };
936
-
937
- const Fab: NodeType = {
938
- properties: {
939
- backgroundColor: { type: 'string' },
940
- color: { type: 'string' },
941
- },
942
- };
943
-
944
- const ButtonOverrides: NodeType = {
945
- properties: {
946
- custom: { type: 'string' },
947
- },
948
- };
949
-
950
- const Overrides: NodeType = {
951
- properties: {
952
- DownloadButton: 'ButtonOverrides',
953
- NextSectionButton: 'ButtonOverrides',
954
- },
955
- };
956
-
957
- const RightPanel: NodeType = {
958
- properties: {
959
- backgroundColor: { type: 'string' },
960
- panelBackgroundColor: { type: 'string' },
961
- panelControlsBackgroundColor: { type: 'string' },
962
- showAtBreakpoint: { type: 'string' },
963
- textColor: { type: 'string' },
964
- width: { type: 'string' },
965
- },
966
- };
967
-
968
- const Shape: NodeType = {
969
- properties: { borderRadius: { type: 'string' } },
970
- };
971
-
972
- const ThemeSpacing: NodeType = {
973
- properties: {
974
- sectionHorizontal: { type: 'number' },
975
- sectionVertical: { type: 'number' },
976
- unit: { type: 'number' },
977
- },
978
- };
979
-
980
- const ConfigTheme: NodeType = {
981
- properties: {
982
- breakpoints: 'Breakpoints',
983
- codeBlock: 'CodeBlock',
984
- colors: 'ThemeColors',
985
- components: 'ConfigThemeComponents',
986
- layout: 'Layout',
987
- logo: 'ConfigThemeLogo',
988
- fab: 'Fab',
989
- overrides: 'Overrides',
990
- rightPanel: 'RightPanel',
991
- schema: 'ConfigThemeSchema',
992
- shape: 'Shape',
993
- sidebar: 'Sidebar',
994
- spacing: 'ThemeSpacing',
995
- typography: 'Typography',
996
- links: { properties: { color: { type: 'string' } } }, // deprecated
997
- codeSample: { properties: { backgroundColor: { type: 'string' } } }, // deprecated
998
- },
999
- };
1000
-
1001
- const GenerateCodeSamples: NodeType = {
1002
- properties: {
1003
- skipOptionalParameters: { type: 'boolean' },
1004
- languages: listOf('ConfigLanguage'),
1005
- },
1006
- required: ['languages'],
1007
- };
1008
-
1009
- // TODO: deprecated
1010
- const ConfigReferenceDocs: NodeType = {
1011
- properties: {
1012
- theme: 'ConfigTheme',
1013
- corsProxyUrl: { type: 'string' },
1014
- ctrlFHijack: { type: 'boolean' },
1015
- defaultSampleLanguage: { type: 'string' },
1016
- disableDeepLinks: { type: 'boolean' },
1017
- disableSearch: { type: 'boolean' },
1018
- disableSidebar: { type: 'boolean' },
1019
- downloadDefinitionUrl: { type: 'string' },
1020
- expandDefaultServerVariables: { type: 'boolean' },
1021
- enumSkipQuotes: { type: 'boolean' },
1022
- expandDefaultRequest: { type: 'boolean' },
1023
- expandDefaultResponse: { type: 'boolean' },
1024
- expandResponses: { type: 'string' },
1025
- expandSingleSchemaField: { type: 'boolean' },
1026
- generateCodeSamples: 'GenerateCodeSamples',
1027
- generatedPayloadSamplesMaxDepth: { type: 'number' },
1028
- hideDownloadButton: { type: 'boolean' },
1029
- hideHostname: { type: 'boolean' },
1030
- hideInfoSection: { type: 'boolean' },
1031
- hideLoading: { type: 'boolean' },
1032
- hideLogo: { type: 'boolean' },
1033
- hideRequestPayloadSample: { type: 'boolean' },
1034
- hideRightPanel: { type: 'boolean' },
1035
- hideSchemaPattern: { type: 'boolean' },
1036
- hideSchemaTitles: { type: 'boolean' },
1037
- hideSingleRequestSampleTab: { type: 'boolean' },
1038
- hideSecuritySection: { type: 'boolean' },
1039
- hideTryItPanel: { type: 'boolean' },
1040
- hideFab: { type: 'boolean' },
1041
- hideOneOfDescription: { type: 'boolean' },
1042
- htmlTemplate: { type: 'string' },
1043
- jsonSampleExpandLevel: (value: unknown) => {
1044
- if (typeof value === 'number') {
1045
- return { type: 'number', minimum: 1 };
1046
- } else {
1047
- return { type: 'string' };
1048
- }
1049
- },
1050
- labels: 'ConfigLabels',
1051
- layout: { enum: ['stacked', 'three-panel'] },
1052
- maxDisplayedEnumValues: { type: 'number' },
1053
- menuToggle: { type: 'boolean' },
1054
- nativeScrollbars: { type: 'boolean' },
1055
- noAutoAuth: { type: 'boolean' }, // deprecated
1056
- oAuth2RedirectURI: { type: 'string' },
1057
- onDeepLinkClick: { type: 'object' },
1058
- onlyRequiredInSamples: { type: 'boolean' },
1059
- pagination: { enum: ['none', 'section', 'item'] },
1060
- pathInMiddlePanel: { type: 'boolean' },
1061
- payloadSampleIdx: { type: 'number', minimum: 0 },
1062
- requestInterceptor: { type: 'object' },
1063
- requiredPropsFirst: { type: 'boolean' },
1064
- routingBasePath: { type: 'string' },
1065
- routingStrategy: { type: 'string' }, // deprecated
1066
- samplesTabsMaxCount: { type: 'number' },
1067
- schemaExpansionLevel: (value: unknown) => {
1068
- if (typeof value === 'number') {
1069
- return { type: 'number', minimum: 0 };
1070
- } else {
1071
- return { type: 'string' };
1072
- }
1073
- },
1074
- schemaDefinitionsTagName: { type: 'string' },
1075
- minCharacterLengthToInitSearch: { type: 'number', minimum: 1 },
1076
- maxResponseHeadersToShowInTryIt: { type: 'number', minimum: 0 },
1077
- scrollYOffset: (value: unknown) => {
1078
- if (typeof value === 'number') {
1079
- return { type: 'number' };
1080
- } else {
1081
- return { type: 'string' };
1082
- }
1083
- },
1084
- searchAutoExpand: { type: 'boolean' },
1085
- searchFieldLevelBoost: { type: 'number', minimum: 0 },
1086
- searchMaxDepth: { type: 'number', minimum: 1 },
1087
- searchMode: { enum: ['default', 'path-only'] },
1088
- searchOperationTitleBoost: { type: 'number' },
1089
- searchTagTitleBoost: { type: 'number' },
1090
- sendXUserAgentInTryIt: { type: 'boolean' },
1091
- showChangeLayoutButton: { type: 'boolean' },
1092
- showConsole: { type: 'boolean' }, // deprecated
1093
- showExtensions: (value: unknown) => {
1094
- if (typeof value === 'boolean') {
1095
- return { type: 'boolean' };
1096
- } else {
1097
- return {
1098
- type: 'array',
1099
- items: {
1100
- type: 'string',
1101
- },
1102
- };
1103
- }
1104
- },
1105
- showNextButton: { type: 'boolean' },
1106
- showRightPanelToggle: { type: 'boolean' },
1107
- showSecuritySchemeType: { type: 'boolean' },
1108
- showWebhookVerb: { type: 'boolean' },
1109
- showObjectSchemaExamples: { type: 'boolean' },
1110
- disableTryItRequestUrlEncoding: { type: 'boolean' },
1111
- sidebarLinks: 'ConfigSidebarLinks',
1112
- sideNavStyle: { enum: ['summary-only', 'path-first', 'id-only', 'path-only'] },
1113
- simpleOneOfTypeLabel: { type: 'boolean' },
1114
- sortEnumValuesAlphabetically: { type: 'boolean' },
1115
- sortOperationsAlphabetically: { type: 'boolean' },
1116
- sortPropsAlphabetically: { type: 'boolean' },
1117
- sortTagsAlphabetically: { type: 'boolean' },
1118
- suppressWarnings: { type: 'boolean' }, // deprecated
1119
- unstable_externalDescription: { type: 'boolean' }, // deprecated
1120
- unstable_ignoreMimeParameters: { type: 'boolean' },
1121
- untrustedDefinition: { type: 'boolean' },
1122
- mockServer: {
1123
- properties: {
1124
- url: { type: 'string' },
1125
- position: { enum: ['first', 'last', 'replace', 'off'] },
1126
- description: { type: 'string' },
1127
- },
1128
- },
1129
- showAccessMode: { type: 'boolean' },
1130
- preserveOriginalExtensionsName: { type: 'boolean' },
1131
- markdownHeadingsAnchorLevel: { type: 'number' },
1132
- },
1133
- additionalProperties: {},
1134
- };
1135
-
1136
- const ConfigMockServer: NodeType = {
1137
- properties: {
1138
- strictExamples: { type: 'boolean' },
1139
- errorIfForcedExampleNotFound: { type: 'boolean' },
1140
- },
1141
- };
1142
-
1143
- export function createConfigTypes(extraSchemas: JSONSchema, config?: Config) {
1144
- const nodeNames = Object.values(SpecVersion).flatMap((version) => {
1145
- const types = config?.styleguide
1146
- ? config.styleguide.extendTypes(getTypes(version), version)
1147
- : getTypes(version);
1148
- return Object.keys(types);
1149
- });
1150
- // Create types based on external schemas
1151
- const nodeTypes = getNodeTypesFromJSONSchema('rootRedoclyConfigSchema', extraSchemas);
1152
-
1153
- return {
1154
- ...CoreConfigTypes,
1155
- ConfigRoot: createConfigRoot(nodeTypes), // This is the REAL config root type
1156
- ConfigApisProperties: createConfigApisProperties(nodeTypes),
1157
- AssertionDefinitionSubject: createAssertionDefinitionSubject(nodeNames),
1158
- ...nodeTypes,
1159
- };
1160
- }
1161
-
1162
- const CoreConfigTypes: Record<string, NodeType> = {
1163
- Assert,
1164
- ConfigApis,
1165
- ConfigStyleguide,
1166
- ConfigReferenceDocs,
1167
- ConfigMockServer,
1168
- ConfigHTTP,
1169
- ConfigLanguage,
1170
- ConfigLabels,
1171
- ConfigSidebarLinks,
1172
- CommonConfigSidebarLinks,
1173
- ConfigTheme,
1174
- AssertDefinition,
1175
- ThemeColors,
1176
- CommonThemeColors,
1177
- BorderThemeColors,
1178
- HttpColors,
1179
- ResponseColors,
1180
- SecondaryColors,
1181
- TextThemeColors,
1182
- Sizes,
1183
- ButtonsConfig,
1184
- CommonColorProps,
1185
- BadgeFontConfig,
1186
- BadgeSizes,
1187
- HttpBadgesConfig,
1188
- LabelControls,
1189
- Panels,
1190
- TryItButton,
1191
- Breakpoints,
1192
- StackedConfig,
1193
- ThreePanelConfig,
1194
- SchemaColorsConfig,
1195
- SizeProps,
1196
- Level1Items,
1197
- SpacingConfig,
1198
- FontConfig,
1199
- CodeConfig,
1200
- HeadingsConfig,
1201
- LinksConfig,
1202
- TokenProps,
1203
- CodeBlock,
1204
- ConfigThemeLogo,
1205
- Fab,
1206
- ButtonOverrides,
1207
- Overrides,
1208
- ObjectRule,
1209
- Schema,
1210
- RightPanel,
1211
- Rules,
1212
- Shape,
1213
- ThemeSpacing,
1214
- GenerateCodeSamples,
1215
- GroupItemsConfig,
1216
- ConfigThemeComponents,
1217
- Layout,
1218
- ConfigThemeSchema,
1219
- Sidebar,
1220
- Heading,
1221
- Typography,
1222
- AssertionDefinitionAssertions,
1223
- };
1224
-
1225
- export const ConfigTypes: Record<string, NodeType> = createConfigTypes(rootRedoclyConfigSchema);
1226
- export const NormalizedConfigTypes = normalizeTypes(ConfigTypes);