@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,131 +1,151 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveConfigFileAndRefs = resolveConfigFileAndRefs;
4
- exports.resolveConfig = resolveConfig;
5
- exports.resolvePlugins = resolvePlugins;
6
- exports.resolveApis = resolveApis;
7
- exports.resolveStyleguideConfig = resolveStyleguideConfig;
8
- exports.resolvePreset = resolvePreset;
9
- const path = require("path");
10
- const url_1 = require("url");
11
- const fs_1 = require("fs");
12
- const ref_utils_1 = require("../ref-utils");
13
- const utils_1 = require("../utils");
14
- const resolve_1 = require("../resolve");
15
- const builtIn_1 = require("./builtIn");
16
- const utils_2 = require("./utils");
17
- const env_1 = require("../env");
18
- const config_1 = require("./config");
19
- const logger_1 = require("../logger");
20
- const asserts_1 = require("../rules/common/assertions/asserts");
21
- const redocly_yaml_1 = require("../types/redocly-yaml");
1
+ import * as path from 'node:path';
2
+ import * as url from 'node:url';
3
+ import * as fs from 'node:fs';
4
+ import module from 'node:module';
5
+ import { isAbsoluteUrl } from '../ref-utils.js';
6
+ import { isNotString, isString, isDefined, keysOf } from '../utils.js';
7
+ import { resolveDocument, BaseResolver, Source } from '../resolve.js';
8
+ import { defaultPlugin } from './builtIn.js';
9
+ import { deepCloneMapWithJSON, getResolveConfig, isCommonJsPlugin, isDeprecatedPluginFormat, mergeExtends, parsePresetName, prefixRules, } from './utils.js';
10
+ import { isBrowser } from '../env.js';
11
+ import { colorize, logger } from '../logger.js';
12
+ import { asserts, buildAssertCustomFunction } from '../rules/common/assertions/asserts.js';
13
+ import { NormalizedConfigTypes } from '../types/redocly-yaml.js';
14
+ import { bundleConfig, collectConfigPlugins } from '../bundle.js';
15
+ import { CONFIG_FILE_NAME } from './load.js';
22
16
  const DEFAULT_PROJECT_PLUGIN_PATHS = ['@theme/plugin.js', '@theme/plugin.cjs', '@theme/plugin.mjs'];
23
17
  // Cache instantiated plugins during a single execution
24
18
  const pluginsCache = new Map();
25
- async function resolveConfigFileAndRefs({ configPath, externalRefResolver = new resolve_1.BaseResolver(), base = null, }) {
26
- if (!configPath) {
27
- throw new Error('Reference to a config is required.\n');
19
+ export async function resolveConfig({ rawConfigDocument, configPath, externalRefResolver, customExtends, }) {
20
+ const config = rawConfigDocument === undefined ? { extends: ['recommended'] } : rawConfigDocument.parsed;
21
+ if (customExtends !== undefined) {
22
+ config.extends = customExtends;
28
23
  }
29
- const document = await externalRefResolver.resolveDocument(base, configPath, true);
30
- if (document instanceof Error) {
31
- throw document;
24
+ if (config?.extends?.some(isNotString)) {
25
+ throw new Error(`Configuration format not detected in extends: values must be strings.`);
32
26
  }
33
- const resolvedRefMap = await (0, resolve_1.resolveDocument)({
34
- rootDocument: document,
35
- rootType: redocly_yaml_1.NormalizedConfigTypes.ConfigRoot,
36
- externalRefResolver,
27
+ const rootDocument = rawConfigDocument ?? {
28
+ source: new Source(configPath ?? '', JSON.stringify(config)),
29
+ parsed: config,
30
+ };
31
+ const resolvedRefMap = await resolveDocument({
32
+ rootDocument,
33
+ rootType: NormalizedConfigTypes.ConfigRoot,
34
+ externalRefResolver: externalRefResolver ?? new BaseResolver(getResolveConfig(config?.resolve)),
37
35
  });
38
- return { document, resolvedRefMap };
39
- }
40
- async function resolveConfig({ rawConfig, configPath, externalRefResolver, }) {
41
- if (rawConfig.styleguide?.extends?.some(utils_1.isNotString)) {
42
- throw new Error(`Error configuration format not detected in extends value must contain strings`);
36
+ let resolvedPlugins;
37
+ if (isBrowser) {
38
+ // In browser, we don't support plugins from config file yet
39
+ resolvedPlugins = [defaultPlugin];
43
40
  }
44
- const resolver = externalRefResolver ?? new resolve_1.BaseResolver((0, utils_2.getResolveConfig)(rawConfig.resolve));
45
- const apis = await resolveApis({
46
- rawConfig,
47
- configPath,
48
- resolver,
49
- });
50
- const styleguide = await resolveStyleguideConfig({
51
- styleguideConfig: rawConfig.styleguide,
52
- configPath,
53
- resolver,
54
- });
55
- return new config_1.Config({
56
- ...rawConfig,
57
- apis,
58
- styleguide,
59
- }, configPath);
41
+ else {
42
+ const rootConfigDir = path.dirname(configPath ?? '');
43
+ const pluginsOrPaths = collectConfigPlugins(rootDocument, resolvedRefMap, rootConfigDir);
44
+ const plugins = await resolvePlugins(pluginsOrPaths, rootConfigDir);
45
+ resolvedPlugins = [...plugins, defaultPlugin];
46
+ }
47
+ const bundledConfig = bundleConfig(rootDocument, deepCloneMapWithJSON(resolvedRefMap), resolvedPlugins);
48
+ if (bundledConfig.apis) {
49
+ bundledConfig.apis = Object.fromEntries(Object.entries(bundledConfig.apis).map(([key, apiConfig]) => {
50
+ const mergedConfig = mergeExtends([bundledConfig, apiConfig]);
51
+ return [
52
+ key,
53
+ {
54
+ ...apiConfig,
55
+ ...mergedConfig,
56
+ rules: groupAssertionRules(mergedConfig, resolvedPlugins),
57
+ },
58
+ ];
59
+ }));
60
+ }
61
+ return {
62
+ resolvedConfig: {
63
+ ...bundledConfig,
64
+ rules: groupAssertionRules(bundledConfig, resolvedPlugins),
65
+ },
66
+ resolvedRefMap,
67
+ plugins: resolvedPlugins,
68
+ };
60
69
  }
61
70
  function getDefaultPluginPath(configDir) {
62
71
  for (const pluginPath of DEFAULT_PROJECT_PLUGIN_PATHS) {
63
72
  const absolutePluginPath = path.resolve(configDir, pluginPath);
64
- if ((0, fs_1.existsSync)(absolutePluginPath)) {
73
+ if (fs.existsSync(absolutePluginPath)) {
65
74
  return pluginPath;
66
75
  }
67
76
  }
68
77
  return;
69
78
  }
70
- async function resolvePlugins(plugins, configDir = '') {
79
+ export const preResolvePluginPath = (plugin, base, rootConfigDir) => {
80
+ if (!isString(plugin)) {
81
+ return plugin;
82
+ }
83
+ const maybeAbsolutePluginPath = path.resolve(path.dirname(base), plugin);
84
+ return fs.existsSync(maybeAbsolutePluginPath)
85
+ ? maybeAbsolutePluginPath
86
+ : // For plugins imported from packages specifically
87
+ module.createRequire(import.meta.url ?? __dirname).resolve(plugin, {
88
+ paths: [
89
+ // Plugins imported from the node_modules in the project directory
90
+ rootConfigDir,
91
+ // Plugins imported from the node_modules in the package install directory (for example, npx cache directory)
92
+ import.meta.url ? path.dirname(url.fileURLToPath(import.meta.url)) : __dirname,
93
+ ],
94
+ });
95
+ };
96
+ export async function resolvePlugins(plugins, configDir) {
71
97
  if (!plugins)
72
98
  return [];
73
99
  // TODO: implement or reuse Resolver approach so it will work in node and browser envs
74
100
  const requireFunc = async (plugin) => {
75
- if ((0, utils_1.isString)(plugin)) {
76
- try {
77
- const maybeAbsolutePluginPath = path.resolve(configDir, plugin);
78
- const absolutePluginPath = (0, fs_1.existsSync)(maybeAbsolutePluginPath)
79
- ? maybeAbsolutePluginPath
80
- : // For plugins imported from packages specifically
81
- require.resolve(plugin, {
82
- paths: [
83
- // Plugins imported from the node_modules in the project directory
84
- configDir,
85
- // Plugins imported from the node_modules in the package install directory (for example, npx cache directory)
86
- __dirname,
87
- ],
88
- });
89
- if (!pluginsCache.has(absolutePluginPath)) {
90
- let requiredPlugin;
101
+ if (!isString(plugin)) {
102
+ return plugin;
103
+ }
104
+ try {
105
+ const absolutePluginPath = path.isAbsolute(plugin)
106
+ ? plugin
107
+ : preResolvePluginPath(plugin, path.join(configDir, CONFIG_FILE_NAME), configDir);
108
+ if (!pluginsCache.has(absolutePluginPath)) {
109
+ let requiredPlugin;
110
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
111
+ // @ts-ignore FIXME: investigate if we still need this (2.0)
112
+ if (typeof __webpack_require__ === 'function') {
91
113
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
92
- // @ts-ignore
93
- if (typeof __webpack_require__ === 'function') {
94
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
95
- // @ts-ignore
96
- requiredPlugin = __non_webpack_require__(absolutePluginPath);
97
- }
98
- else {
99
- // Workaround for dynamic imports being transpiled to require by Typescript: https://github.com/microsoft/TypeScript/issues/43329#issuecomment-811606238
100
- const _importDynamic = new Function('modulePath', 'return import(modulePath)');
101
- // you can import both cjs and mjs
102
- const mod = await _importDynamic((0, url_1.pathToFileURL)(absolutePluginPath).href);
103
- requiredPlugin = mod.default || mod;
104
- }
105
- const pluginCreatorOptions = { contentDir: configDir };
106
- const pluginModule = (0, utils_2.isDeprecatedPluginFormat)(requiredPlugin)
107
- ? requiredPlugin
108
- : (0, utils_2.isCommonJsPlugin)(requiredPlugin)
109
- ? await requiredPlugin(pluginCreatorOptions)
110
- : await requiredPlugin?.default?.(pluginCreatorOptions);
111
- if (pluginModule?.id && (0, utils_2.isDeprecatedPluginFormat)(requiredPlugin)) {
112
- logger_1.logger.info(`Deprecated plugin format detected: ${pluginModule.id}\n`);
113
- }
114
- if (pluginModule) {
115
- pluginsCache.set(absolutePluginPath, {
116
- ...pluginModule,
117
- path: plugin,
118
- absolutePath: absolutePluginPath,
119
- });
114
+ // @ts-ignore FIXME: investigate if we still need this (2.0)
115
+ requiredPlugin = __non_webpack_require__(absolutePluginPath);
116
+ }
117
+ else {
118
+ const mod = await import(url.pathToFileURL(absolutePluginPath).pathname);
119
+ requiredPlugin = mod.default || mod;
120
+ }
121
+ const pluginCreatorOptions = { contentDir: configDir };
122
+ const requiredPluginInstances = Array.isArray(requiredPlugin)
123
+ ? requiredPlugin
124
+ : [requiredPlugin];
125
+ for (const requiredPluginInstance of requiredPluginInstances) {
126
+ if (requiredPluginInstance?.id && isDeprecatedPluginFormat(requiredPluginInstance)) {
127
+ logger.info(`Deprecated plugin format detected: ${requiredPluginInstance.id}\n`);
120
128
  }
121
129
  }
122
- return pluginsCache.get(absolutePluginPath);
123
- }
124
- catch (e) {
125
- throw new Error(`Failed to load plugin "${plugin}": ${e.message}\n\n${e.stack}`);
130
+ const pluginModule = isDeprecatedPluginFormat(requiredPlugin)
131
+ ? requiredPlugin
132
+ : isCommonJsPlugin(requiredPlugin)
133
+ ? await requiredPlugin(pluginCreatorOptions)
134
+ : await requiredPlugin?.default?.(pluginCreatorOptions);
135
+ const pluginInstances = Array.isArray(pluginModule) ? pluginModule : [pluginModule];
136
+ if (pluginModule) {
137
+ pluginsCache.set(absolutePluginPath, pluginInstances.map((p) => ({
138
+ ...p,
139
+ path: plugin,
140
+ absolutePath: absolutePluginPath,
141
+ })));
142
+ }
126
143
  }
144
+ return pluginsCache.get(absolutePluginPath);
145
+ }
146
+ catch (e) {
147
+ throw new Error(`Failed to load plugin "${plugin}": ${e.message}\n\n${e.stack}`);
127
148
  }
128
- return plugin;
129
149
  };
130
150
  const seenPluginIds = new Map();
131
151
  /**
@@ -137,302 +157,167 @@ async function resolvePlugins(plugins, configDir = '') {
137
157
  }
138
158
  const resolvedPlugins = new Set();
139
159
  const instances = await Promise.all(plugins.map(async (p) => {
140
- if ((0, utils_1.isString)(p)) {
141
- if ((0, ref_utils_1.isAbsoluteUrl)(p)) {
142
- throw new Error(logger_1.colorize.red(`We don't support remote plugins yet.`));
160
+ if (isString(p)) {
161
+ if (isAbsoluteUrl(p)) {
162
+ throw new Error(colorize.red(`We don't support remote plugins yet.`));
143
163
  }
144
164
  if (resolvedPlugins.has(p)) {
145
165
  return;
146
166
  }
147
167
  resolvedPlugins.add(p);
148
168
  }
149
- const pluginModule = await requireFunc(p);
150
- if (!pluginModule) {
169
+ const pluginInstanceOrInstances = await requireFunc(p);
170
+ if (!pluginInstanceOrInstances) {
151
171
  return;
152
172
  }
153
- const id = pluginModule.id;
154
- if (typeof id !== 'string') {
155
- throw new Error(logger_1.colorize.red(`Plugin must define \`id\` property in ${logger_1.colorize.blue(p.toString())}.`));
156
- }
157
- if (seenPluginIds.has(id)) {
158
- const pluginPath = seenPluginIds.get(id);
159
- throw new Error(logger_1.colorize.red(`Plugin "id" must be unique. Plugin ${logger_1.colorize.blue(p.toString())} uses id "${logger_1.colorize.blue(id)}" already seen in ${logger_1.colorize.blue(pluginPath)}`));
160
- }
161
- seenPluginIds.set(id, p.toString());
162
- const plugin = {
163
- id,
164
- ...(pluginModule.configs ? { configs: pluginModule.configs } : {}),
165
- ...(pluginModule.typeExtension ? { typeExtension: pluginModule.typeExtension } : {}),
166
- };
167
- if (pluginModule.rules) {
168
- if (!pluginModule.rules.oas3 &&
169
- !pluginModule.rules.oas2 &&
170
- !pluginModule.rules.async2 &&
171
- !pluginModule.rules.async3 &&
172
- !pluginModule.rules.arazzo1 &&
173
- !pluginModule.rules.overlay1) {
174
- throw new Error(`Plugin rules must have \`oas3\`, \`oas2\`, \`async2\`, \`async3\`, \`arazzo\`, or \`overlay1\` rules "${p}.`);
175
- }
176
- plugin.rules = {};
177
- if (pluginModule.rules.oas3) {
178
- plugin.rules.oas3 = (0, utils_2.prefixRules)(pluginModule.rules.oas3, id);
179
- }
180
- if (pluginModule.rules.oas2) {
181
- plugin.rules.oas2 = (0, utils_2.prefixRules)(pluginModule.rules.oas2, id);
182
- }
183
- if (pluginModule.rules.async2) {
184
- plugin.rules.async2 = (0, utils_2.prefixRules)(pluginModule.rules.async2, id);
185
- }
186
- if (pluginModule.rules.async3) {
187
- plugin.rules.async3 = (0, utils_2.prefixRules)(pluginModule.rules.async3, id);
188
- }
189
- if (pluginModule.rules.arazzo1) {
190
- plugin.rules.arazzo1 = (0, utils_2.prefixRules)(pluginModule.rules.arazzo1, id);
191
- }
192
- if (pluginModule.rules.overlay1) {
193
- plugin.rules.overlay1 = (0, utils_2.prefixRules)(pluginModule.rules.overlay1, id);
194
- }
195
- }
196
- if (pluginModule.preprocessors) {
197
- if (!pluginModule.preprocessors.oas3 &&
198
- !pluginModule.preprocessors.oas2 &&
199
- !pluginModule.preprocessors.async2 &&
200
- !pluginModule.preprocessors.async3 &&
201
- !pluginModule.preprocessors.arazzo1 &&
202
- !pluginModule.preprocessors.overlay1) {
203
- throw new Error(`Plugin \`preprocessors\` must have \`oas3\`, \`oas2\`, \`async2\`, \`async3\`, \`arazzo1\`, or \`overlay1\` preprocessors "${p}.`);
204
- }
205
- plugin.preprocessors = {};
206
- if (pluginModule.preprocessors.oas3) {
207
- plugin.preprocessors.oas3 = (0, utils_2.prefixRules)(pluginModule.preprocessors.oas3, id);
208
- }
209
- if (pluginModule.preprocessors.oas2) {
210
- plugin.preprocessors.oas2 = (0, utils_2.prefixRules)(pluginModule.preprocessors.oas2, id);
211
- }
212
- if (pluginModule.preprocessors.async2) {
213
- plugin.preprocessors.async2 = (0, utils_2.prefixRules)(pluginModule.preprocessors.async2, id);
214
- }
215
- if (pluginModule.preprocessors.async3) {
216
- plugin.preprocessors.async3 = (0, utils_2.prefixRules)(pluginModule.preprocessors.async3, id);
217
- }
218
- if (pluginModule.preprocessors.arazzo1) {
219
- plugin.preprocessors.arazzo1 = (0, utils_2.prefixRules)(pluginModule.preprocessors.arazzo1, id);
220
- }
221
- if (pluginModule.preprocessors.overlay1) {
222
- plugin.preprocessors.overlay1 = (0, utils_2.prefixRules)(pluginModule.preprocessors.overlay1, id);
223
- }
224
- }
225
- if (pluginModule.decorators) {
226
- if (!pluginModule.decorators.oas3 &&
227
- !pluginModule.decorators.oas2 &&
228
- !pluginModule.decorators.async2 &&
229
- !pluginModule.decorators.async3 &&
230
- !pluginModule.decorators.arazzo1 &&
231
- !pluginModule.decorators.overlay1) {
232
- throw new Error(`Plugin \`decorators\` must have \`oas3\`, \`oas2\`, \`async2\`, \`async3\`, \`arazzo1\`, or \`overlay1\` decorators "${p}.`);
233
- }
234
- plugin.decorators = {};
235
- if (pluginModule.decorators.oas3) {
236
- plugin.decorators.oas3 = (0, utils_2.prefixRules)(pluginModule.decorators.oas3, id);
173
+ const pluginInstances = Array.isArray(pluginInstanceOrInstances)
174
+ ? pluginInstanceOrInstances
175
+ : [pluginInstanceOrInstances];
176
+ return (await Promise.all(pluginInstances.map(async (pluginInstance) => {
177
+ if (!pluginInstance)
178
+ return;
179
+ const id = pluginInstance.id;
180
+ if (typeof id !== 'string') {
181
+ throw new Error(colorize.red(`Plugin must define \`id\` property in ${colorize.blue(p.toString())}.`));
237
182
  }
238
- if (pluginModule.decorators.oas2) {
239
- plugin.decorators.oas2 = (0, utils_2.prefixRules)(pluginModule.decorators.oas2, id);
183
+ const pluginPath = pluginInstance.absolutePath ?? p.toString();
184
+ const existingPluginPath = seenPluginIds.get(id);
185
+ if (existingPluginPath) {
186
+ if (pluginPath !== existingPluginPath) {
187
+ throw new Error(colorize.red(`Plugin "id" must be unique. Plugin ${colorize.blue(pluginPath)} uses id "${colorize.blue(id)}" already seen in ${colorize.blue(pluginPath)}`));
188
+ }
189
+ return undefined;
240
190
  }
241
- if (pluginModule.decorators.async2) {
242
- plugin.decorators.async2 = (0, utils_2.prefixRules)(pluginModule.decorators.async2, id);
191
+ seenPluginIds.set(id, pluginPath);
192
+ const plugin = {
193
+ id,
194
+ ...(pluginInstance.configs ? { configs: pluginInstance.configs } : {}),
195
+ ...(pluginInstance.typeExtension
196
+ ? { typeExtension: pluginInstance.typeExtension }
197
+ : {}),
198
+ };
199
+ if (pluginInstance.rules) {
200
+ if (!pluginInstance.rules.oas3 &&
201
+ !pluginInstance.rules.oas2 &&
202
+ !pluginInstance.rules.async2 &&
203
+ !pluginInstance.rules.async3 &&
204
+ !pluginInstance.rules.arazzo1 &&
205
+ !pluginInstance.rules.overlay1) {
206
+ throw new Error(`Plugin rules must have \`oas3\`, \`oas2\`, \`async2\`, \`async3\`, \`arazzo\`, or \`overlay1\` rules "${p}.`);
207
+ }
208
+ plugin.rules = {};
209
+ if (pluginInstance.rules.oas3) {
210
+ plugin.rules.oas3 = prefixRules(pluginInstance.rules.oas3, id);
211
+ }
212
+ if (pluginInstance.rules.oas2) {
213
+ plugin.rules.oas2 = prefixRules(pluginInstance.rules.oas2, id);
214
+ }
215
+ if (pluginInstance.rules.async2) {
216
+ plugin.rules.async2 = prefixRules(pluginInstance.rules.async2, id);
217
+ }
218
+ if (pluginInstance.rules.async3) {
219
+ plugin.rules.async3 = prefixRules(pluginInstance.rules.async3, id);
220
+ }
221
+ if (pluginInstance.rules.arazzo1) {
222
+ plugin.rules.arazzo1 = prefixRules(pluginInstance.rules.arazzo1, id);
223
+ }
224
+ if (pluginInstance.rules.overlay1) {
225
+ plugin.rules.overlay1 = prefixRules(pluginInstance.rules.overlay1, id);
226
+ }
243
227
  }
244
- if (pluginModule.decorators.async3) {
245
- plugin.decorators.async3 = (0, utils_2.prefixRules)(pluginModule.decorators.async3, id);
228
+ if (pluginInstance.preprocessors) {
229
+ if (!pluginInstance.preprocessors.oas3 &&
230
+ !pluginInstance.preprocessors.oas2 &&
231
+ !pluginInstance.preprocessors.async2 &&
232
+ !pluginInstance.preprocessors.async3 &&
233
+ !pluginInstance.preprocessors.arazzo1 &&
234
+ !pluginInstance.preprocessors.overlay1) {
235
+ throw new Error(`Plugin \`preprocessors\` must have \`oas3\`, \`oas2\`, \`async2\`, \`async3\`, \`arazzo1\`, or \`overlay1\` preprocessors "${p}.`);
236
+ }
237
+ plugin.preprocessors = {};
238
+ if (pluginInstance.preprocessors.oas3) {
239
+ plugin.preprocessors.oas3 = prefixRules(pluginInstance.preprocessors.oas3, id);
240
+ }
241
+ if (pluginInstance.preprocessors.oas2) {
242
+ plugin.preprocessors.oas2 = prefixRules(pluginInstance.preprocessors.oas2, id);
243
+ }
244
+ if (pluginInstance.preprocessors.async2) {
245
+ plugin.preprocessors.async2 = prefixRules(pluginInstance.preprocessors.async2, id);
246
+ }
247
+ if (pluginInstance.preprocessors.async3) {
248
+ plugin.preprocessors.async3 = prefixRules(pluginInstance.preprocessors.async3, id);
249
+ }
250
+ if (pluginInstance.preprocessors.arazzo1) {
251
+ plugin.preprocessors.arazzo1 = prefixRules(pluginInstance.preprocessors.arazzo1, id);
252
+ }
253
+ if (pluginInstance.preprocessors.overlay1) {
254
+ plugin.preprocessors.overlay1 = prefixRules(pluginInstance.preprocessors.overlay1, id);
255
+ }
246
256
  }
247
- if (pluginModule.decorators.arazzo1) {
248
- plugin.decorators.arazzo1 = (0, utils_2.prefixRules)(pluginModule.decorators.arazzo1, id);
257
+ if (pluginInstance.decorators) {
258
+ if (!pluginInstance.decorators.oas3 &&
259
+ !pluginInstance.decorators.oas2 &&
260
+ !pluginInstance.decorators.async2 &&
261
+ !pluginInstance.decorators.async3 &&
262
+ !pluginInstance.decorators.arazzo1 &&
263
+ !pluginInstance.decorators.overlay1) {
264
+ throw new Error(`Plugin \`decorators\` must have \`oas3\`, \`oas2\`, \`async2\`, \`async3\`, \`arazzo1\`, or \`overlay1\` decorators "${p}.`);
265
+ }
266
+ plugin.decorators = {};
267
+ if (pluginInstance.decorators.oas3) {
268
+ plugin.decorators.oas3 = prefixRules(pluginInstance.decorators.oas3, id);
269
+ }
270
+ if (pluginInstance.decorators.oas2) {
271
+ plugin.decorators.oas2 = prefixRules(pluginInstance.decorators.oas2, id);
272
+ }
273
+ if (pluginInstance.decorators.async2) {
274
+ plugin.decorators.async2 = prefixRules(pluginInstance.decorators.async2, id);
275
+ }
276
+ if (pluginInstance.decorators.async3) {
277
+ plugin.decorators.async3 = prefixRules(pluginInstance.decorators.async3, id);
278
+ }
279
+ if (pluginInstance.decorators.arazzo1) {
280
+ plugin.decorators.arazzo1 = prefixRules(pluginInstance.decorators.arazzo1, id);
281
+ }
282
+ if (pluginInstance.decorators.overlay1) {
283
+ plugin.decorators.overlay1 = prefixRules(pluginInstance.decorators.overlay1, id);
284
+ }
249
285
  }
250
- if (pluginModule.decorators.overlay1) {
251
- plugin.decorators.overlay1 = (0, utils_2.prefixRules)(pluginModule.decorators.overlay1, id);
286
+ if (pluginInstance.assertions) {
287
+ plugin.assertions = pluginInstance.assertions;
252
288
  }
253
- }
254
- if (pluginModule.assertions) {
255
- plugin.assertions = pluginModule.assertions;
256
- }
257
- return {
258
- ...pluginModule,
259
- ...plugin,
260
- };
289
+ return {
290
+ ...pluginInstance,
291
+ ...plugin,
292
+ };
293
+ }))).filter(isDefined);
261
294
  }));
262
- return instances.filter(utils_1.isDefined);
263
- }
264
- async function resolveApis({ rawConfig, configPath = '', resolver, }) {
265
- const { apis = {}, styleguide: styleguideConfig = {} } = rawConfig;
266
- const resolvedApis = {};
267
- for (const [apiName, apiContent] of Object.entries(apis || {})) {
268
- if (apiContent.styleguide?.extends?.some(utils_1.isNotString)) {
269
- throw new Error(`Error configuration format not detected in extends value must contain strings`);
270
- }
271
- const rawStyleguideConfig = getMergedRawStyleguideConfig(styleguideConfig, apiContent.styleguide);
272
- const resolvedApiConfig = await resolveStyleguideConfig({
273
- styleguideConfig: rawStyleguideConfig,
274
- configPath,
275
- resolver,
276
- });
277
- resolvedApis[apiName] = { ...apiContent, styleguide: resolvedApiConfig };
278
- }
279
- return resolvedApis;
295
+ return instances.filter(isDefined).flat();
280
296
  }
281
- async function resolveAndMergeNestedStyleguideConfig({ styleguideConfig, configPath = '', resolver = new resolve_1.BaseResolver(), parentConfigPaths = [], extendPaths = [], }) {
282
- if (parentConfigPaths.includes(configPath)) {
283
- throw new Error(`Circular dependency in config file: "${configPath}"`);
284
- }
285
- const plugins = env_1.isBrowser
286
- ? // In browser, we don't support plugins from config file yet
287
- [builtIn_1.defaultPlugin]
288
- : (0, utils_2.getUniquePlugins)(await resolvePlugins([...(styleguideConfig?.plugins || []), builtIn_1.defaultPlugin], path.dirname(configPath)));
289
- const pluginPaths = styleguideConfig?.plugins
290
- ?.filter(utils_1.isString)
291
- .map((p) => path.resolve(path.dirname(configPath), p));
292
- const resolvedConfigPath = (0, ref_utils_1.isAbsoluteUrl)(configPath)
293
- ? configPath
294
- : configPath && path.resolve(configPath);
295
- const extendConfigs = await Promise.all(styleguideConfig?.extends?.map(async (presetItem) => {
296
- if (!(0, ref_utils_1.isAbsoluteUrl)(presetItem) && !path.extname(presetItem)) {
297
- return resolvePreset(presetItem, plugins);
298
- }
299
- const pathItem = (0, ref_utils_1.isAbsoluteUrl)(presetItem)
300
- ? presetItem
301
- : (0, ref_utils_1.isAbsoluteUrl)(configPath)
302
- ? new URL(presetItem, configPath).href
303
- : path.resolve(path.dirname(configPath), presetItem);
304
- const extendedStyleguideConfig = await loadExtendStyleguideConfig(pathItem, resolver);
305
- return await resolveAndMergeNestedStyleguideConfig({
306
- styleguideConfig: extendedStyleguideConfig,
307
- configPath: pathItem,
308
- resolver,
309
- parentConfigPaths: [...parentConfigPaths, resolvedConfigPath],
310
- extendPaths,
311
- });
312
- }) || []);
313
- const { plugins: mergedPlugins = [], ...styleguide } = (0, utils_2.mergeExtends)([
314
- ...extendConfigs,
315
- {
316
- ...styleguideConfig,
317
- plugins,
318
- extends: undefined,
319
- extendPaths: [...parentConfigPaths, resolvedConfigPath],
320
- pluginPaths,
321
- },
322
- ]);
323
- return {
324
- ...styleguide,
325
- extendPaths: styleguide.extendPaths?.filter((path) => path && !(0, ref_utils_1.isAbsoluteUrl)(path)),
326
- plugins: (0, utils_2.getUniquePlugins)(mergedPlugins),
327
- recommendedFallback: styleguideConfig?.recommendedFallback,
328
- doNotResolveExamples: styleguideConfig?.doNotResolveExamples,
329
- };
330
- }
331
- async function resolveStyleguideConfig(opts) {
332
- const resolvedStyleguideConfig = await resolveAndMergeNestedStyleguideConfig(opts);
333
- return {
334
- ...resolvedStyleguideConfig,
335
- rules: resolvedStyleguideConfig.rules && groupStyleguideAssertionRules(resolvedStyleguideConfig),
336
- };
337
- }
338
- function resolvePreset(presetName, plugins) {
339
- const { pluginId, configName } = (0, utils_2.parsePresetName)(presetName);
297
+ export function resolvePreset(presetName, plugins) {
298
+ const { pluginId, configName } = parsePresetName(presetName);
340
299
  const plugin = plugins.find((p) => p.id === pluginId);
341
300
  if (!plugin) {
342
- throw new Error(`Invalid config ${logger_1.colorize.red(presetName)}: plugin ${pluginId} is not included.`);
301
+ throw new Error(`Invalid config ${colorize.red(presetName)}: plugin ${pluginId} is not included.`);
343
302
  }
344
303
  const preset = plugin.configs?.[configName];
345
304
  if (!preset) {
346
305
  throw new Error(pluginId
347
- ? `Invalid config ${logger_1.colorize.red(presetName)}: plugin ${pluginId} doesn't export config with name ${configName}.`
348
- : `Invalid config ${logger_1.colorize.red(presetName)}: there is no such built-in config.`);
306
+ ? `Invalid config ${colorize.red(presetName)}: plugin ${pluginId} doesn't export config with name ${configName}.`
307
+ : `Invalid config ${colorize.red(presetName)}: there is no such built-in config.`);
349
308
  }
350
309
  return preset;
351
310
  }
352
- async function loadExtendStyleguideConfig(filePath, resolver) {
353
- try {
354
- const { parsed } = (await resolver.resolveDocument(null, filePath));
355
- const rawConfig = (0, utils_2.transformConfig)(parsed);
356
- if (!rawConfig.styleguide) {
357
- throw new Error(`Styleguide configuration format not detected: "${filePath}"`);
358
- }
359
- return rawConfig.styleguide;
360
- }
361
- catch (error) {
362
- throw new Error(`Failed to load "${filePath}": ${error.message}`);
363
- }
364
- }
365
- function getMergedRawStyleguideConfig(rootStyleguideConfig, apiStyleguideConfig) {
366
- const resultLint = {
367
- ...rootStyleguideConfig,
368
- ...(0, utils_1.pickDefined)(apiStyleguideConfig),
369
- rules: { ...rootStyleguideConfig?.rules, ...apiStyleguideConfig?.rules },
370
- oas2Rules: { ...rootStyleguideConfig?.oas2Rules, ...apiStyleguideConfig?.oas2Rules },
371
- oas3_0Rules: { ...rootStyleguideConfig?.oas3_0Rules, ...apiStyleguideConfig?.oas3_0Rules },
372
- oas3_1Rules: { ...rootStyleguideConfig?.oas3_1Rules, ...apiStyleguideConfig?.oas3_1Rules },
373
- async2Rules: { ...rootStyleguideConfig?.async2Rules, ...apiStyleguideConfig?.async2Rules },
374
- async3Rules: { ...rootStyleguideConfig?.async3Rules, ...apiStyleguideConfig?.async3Rules },
375
- arazzo1Rules: { ...rootStyleguideConfig?.arazzo1Rules, ...apiStyleguideConfig?.arazzo1Rules },
376
- overlay1Rules: {
377
- ...rootStyleguideConfig?.overlay1Rules,
378
- ...apiStyleguideConfig?.overlay1Rules,
379
- },
380
- preprocessors: {
381
- ...rootStyleguideConfig?.preprocessors,
382
- ...apiStyleguideConfig?.preprocessors,
383
- },
384
- oas2Preprocessors: {
385
- ...rootStyleguideConfig?.oas2Preprocessors,
386
- ...apiStyleguideConfig?.oas2Preprocessors,
387
- },
388
- oas3_0Preprocessors: {
389
- ...rootStyleguideConfig?.oas3_0Preprocessors,
390
- ...apiStyleguideConfig?.oas3_0Preprocessors,
391
- },
392
- oas3_1Preprocessors: {
393
- ...rootStyleguideConfig?.oas3_1Preprocessors,
394
- ...apiStyleguideConfig?.oas3_1Preprocessors,
395
- },
396
- overlay1Preprocessors: {
397
- ...rootStyleguideConfig?.overlay1Preprocessors,
398
- ...apiStyleguideConfig?.overlay1Preprocessors,
399
- },
400
- decorators: { ...rootStyleguideConfig?.decorators, ...apiStyleguideConfig?.decorators },
401
- oas2Decorators: {
402
- ...rootStyleguideConfig?.oas2Decorators,
403
- ...apiStyleguideConfig?.oas2Decorators,
404
- },
405
- oas3_0Decorators: {
406
- ...rootStyleguideConfig?.oas3_0Decorators,
407
- ...apiStyleguideConfig?.oas3_0Decorators,
408
- },
409
- oas3_1Decorators: {
410
- ...rootStyleguideConfig?.oas3_1Decorators,
411
- ...apiStyleguideConfig?.oas3_1Decorators,
412
- },
413
- overlay1Decorators: {
414
- ...rootStyleguideConfig?.overlay1Decorators,
415
- ...apiStyleguideConfig?.overlay1Decorators,
416
- },
417
- recommendedFallback: apiStyleguideConfig?.extends
418
- ? false
419
- : rootStyleguideConfig.recommendedFallback,
420
- };
421
- return resultLint;
422
- }
423
- function groupStyleguideAssertionRules({ rules, plugins, }) {
424
- if (!rules) {
425
- return rules;
311
+ function groupAssertionRules(config, plugins) {
312
+ if (!config.rules) {
313
+ return {};
426
314
  }
427
315
  // Create a new record to avoid mutating original
428
316
  const transformedRules = {};
429
317
  // Collect assertion rules
430
318
  const assertions = [];
431
- for (const [ruleKey, rule] of Object.entries(rules)) {
432
- // keep the old assert/ syntax as an alias
433
- if ((ruleKey.startsWith('rule/') || ruleKey.startsWith('assert/')) &&
434
- typeof rule === 'object' &&
435
- rule !== null) {
319
+ for (const [ruleKey, rule] of Object.entries(config.rules)) {
320
+ if (ruleKey.startsWith('rule/') && typeof rule === 'object' && rule !== null) {
436
321
  const assertion = rule;
437
322
  if (plugins) {
438
323
  registerCustomAssertions(plugins, assertion);
@@ -457,17 +342,18 @@ function groupStyleguideAssertionRules({ rules, plugins, }) {
457
342
  return transformedRules;
458
343
  }
459
344
  function registerCustomAssertions(plugins, assertion) {
460
- for (const field of (0, utils_1.keysOf)(assertion.assertions)) {
345
+ for (const field of keysOf(assertion.assertions)) {
461
346
  const [pluginId, fn] = field.split('/');
462
347
  if (!pluginId || !fn)
463
348
  continue;
464
349
  const plugin = plugins.find((plugin) => plugin.id === pluginId);
465
350
  if (!plugin) {
466
- throw Error(logger_1.colorize.red(`Plugin ${logger_1.colorize.blue(pluginId)} isn't found.`));
351
+ throw Error(colorize.red(`Plugin ${colorize.blue(pluginId)} isn't found.`));
467
352
  }
468
353
  if (!plugin.assertions || !plugin.assertions[fn]) {
469
- throw Error(`Plugin ${logger_1.colorize.red(pluginId)} doesn't export assertions function with name ${logger_1.colorize.red(fn)}.`);
354
+ throw Error(`Plugin ${colorize.red(pluginId)} doesn't export assertions function with name ${colorize.red(fn)}.`);
470
355
  }
471
- asserts_1.asserts[field] = (0, asserts_1.buildAssertCustomFunction)(plugin.assertions[fn]);
356
+ asserts[field] = buildAssertCustomFunction(plugin.assertions[fn]);
472
357
  }
473
358
  }
359
+ //# sourceMappingURL=config-resolvers.js.map