@redocly/openapi-core 1.18.1 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/CHANGELOG.md +22 -0
  2. package/__tests__/utils.ts +14 -7
  3. package/lib/benchmark/benches/lint-with-many-rules.bench.d.ts +1 -0
  4. package/lib/benchmark/benches/lint-with-many-rules.bench.js +7 -3
  5. package/lib/benchmark/benches/lint-with-nested-rule.bench.d.ts +1 -0
  6. package/lib/benchmark/benches/lint-with-nested-rule.bench.js +7 -3
  7. package/lib/benchmark/benches/lint-with-no-rules.bench.d.ts +1 -0
  8. package/lib/benchmark/benches/lint-with-no-rules.bench.js +7 -3
  9. package/lib/benchmark/benches/lint-with-top-level-rule-report.bench.d.ts +1 -0
  10. package/lib/benchmark/benches/lint-with-top-level-rule-report.bench.js +19 -15
  11. package/lib/benchmark/benches/lint-with-top-level-rule.bench.d.ts +1 -0
  12. package/lib/benchmark/benches/lint-with-top-level-rule.bench.js +18 -14
  13. package/lib/benchmark/benches/recommended-oas3.bench.js +2 -2
  14. package/lib/benchmark/benches/resolve-with-no-external.bench.js +2 -2
  15. package/lib/benchmark/utils.d.ts +3 -3
  16. package/lib/benchmark/utils.js +10 -7
  17. package/lib/bundle.d.ts +2 -2
  18. package/lib/bundle.js +127 -120
  19. package/lib/config/all.js +13 -1
  20. package/lib/config/builtIn.js +18 -17
  21. package/lib/config/config-resolvers.d.ts +1 -1
  22. package/lib/config/config-resolvers.js +241 -158
  23. package/lib/config/config.d.ts +4 -3
  24. package/lib/config/config.js +53 -34
  25. package/lib/config/load.d.ts +1 -1
  26. package/lib/config/load.js +105 -117
  27. package/lib/config/minimal.js +13 -0
  28. package/lib/config/recommended-strict.js +14 -1
  29. package/lib/config/recommended.js +14 -1
  30. package/lib/config/rules.d.ts +3 -3
  31. package/lib/config/rules.js +1 -2
  32. package/lib/config/types.d.ts +17 -4
  33. package/lib/config/utils.d.ts +3 -1
  34. package/lib/config/utils.js +78 -49
  35. package/lib/decorators/async3/index.d.ts +1 -0
  36. package/lib/decorators/async3/index.js +4 -0
  37. package/lib/decorators/common/filters/filter-helper.d.ts +1 -1
  38. package/lib/decorators/common/filters/filter-helper.js +2 -3
  39. package/lib/decorators/common/filters/filter-in.d.ts +1 -1
  40. package/lib/decorators/common/filters/filter-in.js +1 -1
  41. package/lib/decorators/common/filters/filter-out.d.ts +1 -1
  42. package/lib/decorators/common/filters/filter-out.js +1 -1
  43. package/lib/decorators/common/info-description-override.d.ts +1 -1
  44. package/lib/decorators/common/info-override.d.ts +1 -1
  45. package/lib/decorators/common/info-override.js +1 -12
  46. package/lib/decorators/common/media-type-examples-override.d.ts +1 -1
  47. package/lib/decorators/common/media-type-examples-override.js +8 -2
  48. package/lib/decorators/common/operation-description-override.d.ts +1 -1
  49. package/lib/decorators/common/registry-dependencies.d.ts +1 -1
  50. package/lib/decorators/common/remove-x-internal.d.ts +1 -1
  51. package/lib/decorators/common/remove-x-internal.js +4 -5
  52. package/lib/decorators/common/tag-description-override.d.ts +1 -1
  53. package/lib/decorators/oas2/index.d.ts +1 -1
  54. package/lib/decorators/oas2/remove-unused-components.js +1 -2
  55. package/lib/decorators/oas3/index.d.ts +1 -1
  56. package/lib/decorators/oas3/remove-unused-components.js +1 -2
  57. package/lib/env.d.ts +0 -1
  58. package/lib/env.js +1 -1
  59. package/lib/format/codeframes.d.ts +1 -1
  60. package/lib/format/codeframes.js +10 -8
  61. package/lib/format/format.d.ts +1 -1
  62. package/lib/format/format.js +24 -16
  63. package/lib/index.d.ts +2 -1
  64. package/lib/index.js +6 -4
  65. package/lib/js-yaml/index.d.ts +1 -1
  66. package/lib/js-yaml/index.js +1 -1
  67. package/lib/lint.d.ts +3 -1
  68. package/lib/lint.js +92 -99
  69. package/lib/logger.js +2 -2
  70. package/lib/oas-types.d.ts +9 -5
  71. package/lib/oas-types.js +22 -12
  72. package/lib/redocly/domains.d.ts +1 -1
  73. package/lib/redocly/domains.js +6 -6
  74. package/lib/redocly/index.d.ts +1 -1
  75. package/lib/redocly/index.js +60 -73
  76. package/lib/redocly/registry-api.js +64 -82
  77. package/lib/ref-utils.d.ts +2 -2
  78. package/lib/ref-utils.js +14 -13
  79. package/lib/resolve.d.ts +2 -2
  80. package/lib/resolve.js +186 -205
  81. package/lib/rules/ajv.d.ts +1 -1
  82. package/lib/rules/ajv.js +10 -8
  83. package/lib/rules/arazzo/index.js +2 -0
  84. package/lib/rules/async2/channels-kebab-case.d.ts +1 -1
  85. package/lib/rules/async2/index.js +2 -0
  86. package/lib/rules/async2/no-channel-trailing-slash.d.ts +1 -1
  87. package/lib/rules/async3/channels-kebab-case.d.ts +2 -0
  88. package/lib/rules/async3/channels-kebab-case.js +19 -0
  89. package/lib/rules/async3/index.d.ts +3 -0
  90. package/lib/rules/async3/index.js +24 -0
  91. package/lib/rules/async3/no-channel-trailing-slash.d.ts +2 -0
  92. package/lib/rules/async3/no-channel-trailing-slash.js +16 -0
  93. package/lib/rules/common/assertions/asserts.d.ts +2 -2
  94. package/lib/rules/common/assertions/asserts.js +5 -5
  95. package/lib/rules/common/assertions/index.d.ts +4 -4
  96. package/lib/rules/common/assertions/utils.d.ts +1 -1
  97. package/lib/rules/common/assertions/utils.js +43 -28
  98. package/lib/rules/common/info-contact.d.ts +1 -1
  99. package/lib/rules/common/info-license-strict.d.ts +2 -0
  100. package/lib/rules/common/info-license-strict.js +26 -0
  101. package/lib/rules/common/info-license-url.d.ts +1 -1
  102. package/lib/rules/common/info-license.d.ts +1 -1
  103. package/lib/rules/common/no-ambiguous-paths.d.ts +1 -1
  104. package/lib/rules/common/no-enum-type-mismatch.d.ts +1 -1
  105. package/lib/rules/common/no-http-verbs-in-paths.d.ts +1 -1
  106. package/lib/rules/common/no-identical-paths.d.ts +1 -1
  107. package/lib/rules/common/no-invalid-parameter-examples.js +1 -2
  108. package/lib/rules/common/no-invalid-schema-examples.js +1 -2
  109. package/lib/rules/common/no-path-trailing-slash.d.ts +1 -1
  110. package/lib/rules/common/no-required-schema-properties-undefined.d.ts +1 -1
  111. package/lib/rules/common/no-required-schema-properties-undefined.js +1 -2
  112. package/lib/rules/common/operation-2xx-response.d.ts +1 -1
  113. package/lib/rules/common/operation-4xx-response.d.ts +1 -1
  114. package/lib/rules/common/operation-description.d.ts +1 -1
  115. package/lib/rules/common/operation-operationId-unique.d.ts +1 -1
  116. package/lib/rules/common/operation-operationId-url-safe.d.ts +1 -1
  117. package/lib/rules/common/operation-operationId-url-safe.js +1 -0
  118. package/lib/rules/common/operation-operationId.d.ts +1 -1
  119. package/lib/rules/common/operation-parameters-unique.d.ts +1 -1
  120. package/lib/rules/common/operation-singular-tag.d.ts +1 -1
  121. package/lib/rules/common/operation-summary.d.ts +1 -1
  122. package/lib/rules/common/operation-tag-defined.d.ts +1 -1
  123. package/lib/rules/common/operation-tag-defined.js +1 -2
  124. package/lib/rules/common/parameter-description.d.ts +1 -1
  125. package/lib/rules/common/path-declaration-must-exist.d.ts +1 -1
  126. package/lib/rules/common/path-excludes-patterns.d.ts +1 -1
  127. package/lib/rules/common/path-http-verbs-order.d.ts +1 -1
  128. package/lib/rules/common/path-http-verbs-order.js +1 -1
  129. package/lib/rules/common/path-not-include-query.d.ts +1 -1
  130. package/lib/rules/common/path-params-defined.d.ts +1 -1
  131. package/lib/rules/common/path-segment-plural.d.ts +1 -1
  132. package/lib/rules/common/paths-kebab-case.d.ts +1 -1
  133. package/lib/rules/common/required-string-property-missing-min-length.d.ts +1 -1
  134. package/lib/rules/common/required-string-property-missing-min-length.js +2 -2
  135. package/lib/rules/common/response-contains-header.d.ts +1 -1
  136. package/lib/rules/common/response-contains-header.js +2 -2
  137. package/lib/rules/common/security-defined.d.ts +1 -1
  138. package/lib/rules/common/security-defined.js +3 -7
  139. package/lib/rules/common/spec-strict-refs.d.ts +1 -1
  140. package/lib/rules/common/spec.d.ts +2 -2
  141. package/lib/rules/common/spec.js +6 -7
  142. package/lib/rules/common/tag-description.d.ts +1 -1
  143. package/lib/rules/common/tags-alphabetical.d.ts +1 -1
  144. package/lib/rules/no-unresolved-refs.d.ts +3 -3
  145. package/lib/rules/no-unresolved-refs.js +3 -4
  146. package/lib/rules/oas2/boolean-parameter-prefixes.d.ts +1 -1
  147. package/lib/rules/oas2/index.d.ts +1 -1
  148. package/lib/rules/oas2/index.js +2 -0
  149. package/lib/rules/oas2/response-contains-property.d.ts +1 -1
  150. package/lib/rules/oas2/response-contains-property.js +1 -2
  151. package/lib/rules/oas3/array-parameter-serialization.d.ts +1 -1
  152. package/lib/rules/oas3/array-parameter-serialization.js +1 -2
  153. package/lib/rules/oas3/boolean-parameter-prefixes.d.ts +1 -1
  154. package/lib/rules/oas3/component-name-unique.d.ts +1 -1
  155. package/lib/rules/oas3/component-name-unique.js +2 -4
  156. package/lib/rules/oas3/index.d.ts +1 -1
  157. package/lib/rules/oas3/index.js +2 -0
  158. package/lib/rules/oas3/no-empty-servers.d.ts +1 -1
  159. package/lib/rules/oas3/no-example-value-and-externalValue.d.ts +1 -1
  160. package/lib/rules/oas3/no-invalid-media-type-examples.d.ts +1 -1
  161. package/lib/rules/oas3/no-invalid-media-type-examples.js +1 -2
  162. package/lib/rules/oas3/no-server-example.com.d.ts +1 -1
  163. package/lib/rules/oas3/no-server-example.com.js +1 -0
  164. package/lib/rules/oas3/no-server-trailing-slash.d.ts +1 -1
  165. package/lib/rules/oas3/no-server-variables-empty-enum.d.ts +1 -1
  166. package/lib/rules/oas3/no-server-variables-empty-enum.js +1 -2
  167. package/lib/rules/oas3/no-undefined-server-variable.d.ts +1 -1
  168. package/lib/rules/oas3/no-undefined-server-variable.js +2 -3
  169. package/lib/rules/oas3/no-unused-components.d.ts +1 -1
  170. package/lib/rules/oas3/no-unused-components.js +1 -2
  171. package/lib/rules/oas3/response-contains-property.d.ts +1 -1
  172. package/lib/rules/oas3/response-contains-property.js +1 -2
  173. package/lib/rules/oas3/spec-components-invalid-map-name.d.ts +1 -1
  174. package/lib/rules/other/stats.d.ts +3 -3
  175. package/lib/rules/other/stats.js +5 -3
  176. package/lib/rules/spot/parameters-no-body-inside-in.d.ts +2 -0
  177. package/lib/rules/spot/parameters-no-body-inside-in.js +18 -0
  178. package/lib/rules/utils.d.ts +4 -2
  179. package/lib/rules/utils.js +41 -13
  180. package/lib/types/arazzo.d.ts +1 -2275
  181. package/lib/types/arazzo.js +246 -309
  182. package/lib/types/asyncapi2.d.ts +17 -0
  183. package/lib/types/{asyncapi.js → asyncapi2.js} +59 -53
  184. package/lib/types/asyncapi3.d.ts +2 -0
  185. package/lib/types/asyncapi3.js +347 -0
  186. package/lib/types/index.js +19 -10
  187. package/lib/types/json-schema-adapter.d.ts +1 -1
  188. package/lib/types/json-schema-adapter.js +4 -18
  189. package/lib/types/oas2.js +6 -6
  190. package/lib/types/oas3.d.ts +4 -0
  191. package/lib/types/oas3.js +19 -19
  192. package/lib/types/oas3_1.d.ts +3 -0
  193. package/lib/types/oas3_1.js +20 -14
  194. package/lib/types/redocly-yaml.d.ts +8 -6
  195. package/lib/types/redocly-yaml.js +135 -36
  196. package/lib/typings/arazzo.d.ts +145 -27
  197. package/lib/typings/asyncapi3.d.ts +53 -0
  198. package/lib/typings/asyncapi3.js +2 -0
  199. package/lib/typings/common.d.ts +1 -1
  200. package/lib/typings/swagger.d.ts +2 -2
  201. package/lib/utils.d.ts +4 -3
  202. package/lib/utils.js +55 -72
  203. package/lib/visitors.d.ts +29 -1
  204. package/lib/visitors.js +21 -8
  205. package/lib/walk.d.ts +3 -3
  206. package/lib/walk.js +30 -23
  207. package/package.json +3 -3
  208. package/src/__tests__/bundle.test.ts +144 -2
  209. package/src/__tests__/lint.test.ts +29 -21
  210. package/src/__tests__/walk.test.ts +25 -25
  211. package/src/benchmark/benches/lint-with-many-rules.bench.ts +7 -1
  212. package/src/benchmark/benches/lint-with-nested-rule.bench.ts +7 -1
  213. package/src/benchmark/benches/lint-with-no-rules.bench.ts +8 -1
  214. package/src/benchmark/benches/lint-with-top-level-rule-report.bench.ts +18 -13
  215. package/src/benchmark/benches/lint-with-top-level-rule.bench.ts +17 -11
  216. package/src/benchmark/fork.js +4 -0
  217. package/src/benchmark/utils.ts +6 -5
  218. package/src/bundle.ts +19 -4
  219. package/src/config/__tests__/__snapshots__/config-resolvers.test.ts.snap +32 -2
  220. package/src/config/__tests__/__snapshots__/config.test.ts.snap +24 -0
  221. package/src/config/__tests__/config-resolvers.test.ts +82 -0
  222. package/src/config/__tests__/config.test.ts +11 -0
  223. package/src/config/__tests__/fixtures/resolve-config/local-config-with-commonjs-export-function.yaml +2 -0
  224. package/src/config/__tests__/fixtures/resolve-config/local-config-with-esm.yaml +2 -0
  225. package/src/config/__tests__/fixtures/resolve-config/plugin-esm.mjs +10 -0
  226. package/src/config/__tests__/fixtures/resolve-config/plugin-with-export-function.cjs +10 -0
  227. package/src/config/__tests__/resolve-plugins.test.ts +4 -1
  228. package/src/config/all.ts +13 -1
  229. package/src/config/builtIn.ts +9 -8
  230. package/src/config/config-resolvers.ts +92 -21
  231. package/src/config/config.ts +31 -13
  232. package/src/config/load.ts +2 -2
  233. package/src/config/minimal.ts +13 -0
  234. package/src/config/recommended-strict.ts +14 -1
  235. package/src/config/recommended.ts +14 -1
  236. package/src/config/rules.ts +12 -4
  237. package/src/config/types.ts +34 -5
  238. package/src/config/utils.ts +28 -2
  239. package/src/decorators/__tests__/filter-in.test.ts +29 -26
  240. package/src/decorators/__tests__/filter-out.test.ts +32 -23
  241. package/src/decorators/__tests__/media-type-examples-override.test.ts +45 -45
  242. package/src/decorators/__tests__/remove-x-internal.test.ts +8 -5
  243. package/src/decorators/async3/index.ts +1 -0
  244. package/src/decorators/common/filters/filter-helper.ts +2 -1
  245. package/src/decorators/common/filters/filter-in.ts +2 -1
  246. package/src/decorators/common/filters/filter-out.ts +2 -1
  247. package/src/decorators/common/info-description-override.ts +3 -2
  248. package/src/decorators/common/info-override.ts +1 -1
  249. package/src/decorators/common/media-type-examples-override.ts +4 -3
  250. package/src/decorators/common/operation-description-override.ts +5 -4
  251. package/src/decorators/common/registry-dependencies.ts +2 -2
  252. package/src/decorators/common/remove-x-internal.ts +5 -4
  253. package/src/decorators/common/tag-description-override.ts +3 -2
  254. package/src/decorators/oas2/__tests__/remove-unused-components.test.ts +3 -3
  255. package/src/decorators/oas2/index.ts +2 -1
  256. package/src/decorators/oas2/remove-unused-components.ts +1 -1
  257. package/src/decorators/oas3/__tests__/remove-unused-components.test.ts +4 -4
  258. package/src/decorators/oas3/index.ts +2 -1
  259. package/src/decorators/oas3/remove-unused-components.ts +1 -1
  260. package/src/format/codeframes.ts +2 -1
  261. package/src/format/format.ts +9 -4
  262. package/src/index.ts +2 -1
  263. package/src/js-yaml/index.ts +3 -1
  264. package/src/lint.ts +28 -4
  265. package/src/logger.ts +2 -2
  266. package/src/oas-types.ts +41 -22
  267. package/src/redocly/domains.ts +1 -1
  268. package/src/redocly/index.ts +3 -3
  269. package/src/redocly/registry-api.ts +5 -3
  270. package/src/ref-utils.ts +4 -2
  271. package/src/resolve.ts +6 -4
  272. package/src/rules/__tests__/no-unresolved-refs.test.ts +21 -7
  273. package/src/rules/ajv.ts +2 -1
  274. package/src/rules/arazzo/__tests__/parameters-no-body-inside-in.test.ts +76 -0
  275. package/src/rules/arazzo/index.ts +6 -3
  276. package/src/rules/async2/__tests__/channels-kebab-case.test.ts +9 -5
  277. package/src/rules/async2/__tests__/no-channel-trailing-slash.test.ts +3 -3
  278. package/src/rules/async2/channels-kebab-case.ts +2 -2
  279. package/src/rules/async2/index.ts +9 -6
  280. package/src/rules/async2/no-channel-trailing-slash.ts +2 -2
  281. package/src/rules/async3/__tests__/channels-kebab-case.test.ts +145 -0
  282. package/src/rules/async3/__tests__/no-channel-trailing-slash.test.ts +96 -0
  283. package/src/rules/async3/channels-kebab-case.ts +19 -0
  284. package/src/rules/async3/index.ts +26 -0
  285. package/src/rules/async3/no-channel-trailing-slash.ts +16 -0
  286. package/src/rules/common/__tests__/info-license-strict.test.ts +141 -0
  287. package/src/rules/common/__tests__/info-license.test.ts +2 -2
  288. package/src/rules/common/__tests__/license-url.test.ts +2 -2
  289. package/src/rules/common/__tests__/no-ambiguous-paths.test.ts +1 -1
  290. package/src/rules/common/__tests__/no-enum-type-mismatch.test.ts +5 -5
  291. package/src/rules/common/__tests__/no-identical-paths.test.ts +1 -1
  292. package/src/rules/common/__tests__/no-invalid-parameter-examples.test.ts +1 -1
  293. package/src/rules/common/__tests__/no-invalid-schema-examples.test.ts +1 -1
  294. package/src/rules/common/__tests__/no-path-trailing-slash.test.ts +4 -4
  295. package/src/rules/common/__tests__/no-required-schema-properties-undefined.test.ts +11 -11
  296. package/src/rules/common/__tests__/operation-2xx-response.test.ts +8 -6
  297. package/src/rules/common/__tests__/operation-4xx-response.test.ts +9 -7
  298. package/src/rules/common/__tests__/operation-operationId-unique.test.ts +2 -2
  299. package/src/rules/common/__tests__/operation-operationId-url-safe.test.ts +1 -1
  300. package/src/rules/common/__tests__/operation-parameters-unique.test.ts +4 -4
  301. package/src/rules/common/__tests__/operation-singular-tag.test.ts +2 -2
  302. package/src/rules/common/__tests__/path-http-verbs-order.test.ts +2 -2
  303. package/src/rules/common/__tests__/path-not-include-query.test.ts +2 -2
  304. package/src/rules/common/__tests__/path-params-defined.test.ts +5 -5
  305. package/src/rules/common/__tests__/paths-kebab-case.test.ts +6 -4
  306. package/src/rules/common/__tests__/scalar-property-missing-example.test.ts +8 -8
  307. package/src/rules/common/__tests__/security-defined.test.ts +14 -8
  308. package/src/rules/common/__tests__/spec-strict-refs.test.ts +1 -1
  309. package/src/rules/common/__tests__/spec.test.ts +10 -10
  310. package/src/rules/common/__tests__/tag-description.test.ts +2 -2
  311. package/src/rules/common/__tests__/tags-alphabetical.test.ts +6 -4
  312. package/src/rules/common/assertions/asserts.ts +5 -9
  313. package/src/rules/common/assertions/index.ts +12 -4
  314. package/src/rules/common/assertions/utils.ts +4 -2
  315. package/src/rules/common/info-contact.ts +2 -1
  316. package/src/rules/common/info-license-strict.ts +24 -0
  317. package/src/rules/common/info-license-url.ts +2 -1
  318. package/src/rules/common/info-license.ts +2 -1
  319. package/src/rules/common/no-ambiguous-paths.ts +4 -4
  320. package/src/rules/common/no-enum-type-mismatch.ts +5 -4
  321. package/src/rules/common/no-http-verbs-in-paths.ts +5 -4
  322. package/src/rules/common/no-identical-paths.ts +4 -4
  323. package/src/rules/common/no-invalid-parameter-examples.ts +3 -2
  324. package/src/rules/common/no-path-trailing-slash.ts +2 -2
  325. package/src/rules/common/no-required-schema-properties-undefined.ts +5 -4
  326. package/src/rules/common/operation-2xx-response.ts +3 -2
  327. package/src/rules/common/operation-4xx-response.ts +3 -2
  328. package/src/rules/common/operation-description.ts +5 -4
  329. package/src/rules/common/operation-operationId-unique.ts +4 -4
  330. package/src/rules/common/operation-operationId-url-safe.ts +5 -4
  331. package/src/rules/common/operation-operationId.ts +5 -4
  332. package/src/rules/common/operation-parameters-unique.ts +4 -4
  333. package/src/rules/common/operation-singular-tag.ts +4 -4
  334. package/src/rules/common/operation-summary.ts +5 -4
  335. package/src/rules/common/operation-tag-defined.ts +4 -4
  336. package/src/rules/common/parameter-description.ts +4 -4
  337. package/src/rules/common/path-declaration-must-exist.ts +2 -2
  338. package/src/rules/common/path-excludes-patterns.ts +4 -4
  339. package/src/rules/common/path-http-verbs-order.ts +4 -4
  340. package/src/rules/common/path-not-include-query.ts +2 -2
  341. package/src/rules/common/path-params-defined.ts +4 -4
  342. package/src/rules/common/path-segment-plural.ts +3 -2
  343. package/src/rules/common/paths-kebab-case.ts +2 -2
  344. package/src/rules/common/required-string-property-missing-min-length.ts +4 -4
  345. package/src/rules/common/response-contains-header.ts +5 -4
  346. package/src/rules/common/scalar-property-missing-example.ts +2 -1
  347. package/src/rules/common/security-defined.ts +5 -5
  348. package/src/rules/common/spec-strict-refs.ts +2 -1
  349. package/src/rules/common/spec.ts +4 -3
  350. package/src/rules/common/tag-description.ts +2 -1
  351. package/src/rules/common/tags-alphabetical.ts +4 -4
  352. package/src/rules/no-unresolved-refs.ts +4 -3
  353. package/src/rules/oas2/__tests__/boolean-parameter-prefixes.test.ts +7 -5
  354. package/src/rules/oas2/__tests__/response-contains-header.test.ts +14 -8
  355. package/src/rules/oas2/__tests__/response-contains-property.test.ts +14 -8
  356. package/src/rules/oas2/__tests__/spec/referenceableScalars.test.ts +3 -1
  357. package/src/rules/oas2/boolean-parameter-prefixes.ts +1 -1
  358. package/src/rules/oas2/index.ts +8 -6
  359. package/src/rules/oas2/request-mime-type.ts +2 -1
  360. package/src/rules/oas2/response-contains-property.ts +3 -2
  361. package/src/rules/oas2/response-mime-type.ts +2 -1
  362. package/src/rules/oas3/__tests__/array-parameter-serialization.test.ts +18 -6
  363. package/src/rules/oas3/__tests__/boolean-parameter-prefixes.test.ts +7 -5
  364. package/src/rules/oas3/__tests__/no-empty-enum-servers.com.test.ts +6 -6
  365. package/src/rules/oas3/__tests__/no-example-value-and-externalValue.test.ts +2 -2
  366. package/src/rules/oas3/__tests__/no-invalid-media-type-examples.test.ts +34 -24
  367. package/src/rules/oas3/__tests__/no-server-example.com.test.ts +3 -3
  368. package/src/rules/oas3/__tests__/no-server-trailing-slash.test.ts +3 -3
  369. package/src/rules/oas3/__tests__/no-unused-components.test.ts +1 -1
  370. package/src/rules/oas3/__tests__/operation-4xx-problem-details-rfc7807.test.ts +3 -3
  371. package/src/rules/oas3/__tests__/response-contains-header.test.ts +34 -22
  372. package/src/rules/oas3/__tests__/response-contains-property.test.ts +34 -20
  373. package/src/rules/oas3/__tests__/spec/spec.test.ts +12 -3
  374. package/src/rules/oas3/__tests__/spec-components-invalid-map-name.test.ts +9 -3
  375. package/src/rules/oas3/__tests__/utils/lint-document-for-test.ts +1 -1
  376. package/src/rules/oas3/array-parameter-serialization.ts +3 -2
  377. package/src/rules/oas3/boolean-parameter-prefixes.ts +1 -1
  378. package/src/rules/oas3/component-name-unique.ts +3 -3
  379. package/src/rules/oas3/index.ts +42 -38
  380. package/src/rules/oas3/no-empty-servers.ts +1 -1
  381. package/src/rules/oas3/no-example-value-and-externalValue.ts +1 -1
  382. package/src/rules/oas3/no-invalid-media-type-examples.ts +6 -4
  383. package/src/rules/oas3/no-server-example.com.ts +2 -1
  384. package/src/rules/oas3/no-server-trailing-slash.ts +1 -1
  385. package/src/rules/oas3/no-server-variables-empty-enum.ts +2 -2
  386. package/src/rules/oas3/no-undefined-server-variable.ts +1 -1
  387. package/src/rules/oas3/no-unused-components.ts +2 -2
  388. package/src/rules/oas3/operation-4xx-problem-details-rfc7807.ts +2 -1
  389. package/src/rules/oas3/request-mime-type.ts +2 -1
  390. package/src/rules/oas3/response-contains-property.ts +3 -2
  391. package/src/rules/oas3/response-mime-type.ts +2 -1
  392. package/src/rules/oas3/spec-components-invalid-map-name.ts +3 -3
  393. package/src/rules/other/stats.ts +8 -6
  394. package/src/rules/spot/parameters-no-body-inside-in.ts +17 -0
  395. package/src/rules/utils.ts +41 -4
  396. package/src/types/arazzo.ts +257 -334
  397. package/src/types/{asyncapi.ts → asyncapi2.ts} +41 -35
  398. package/src/types/asyncapi3.ts +383 -0
  399. package/src/types/json-schema-adapter.ts +2 -2
  400. package/src/types/oas3.ts +4 -4
  401. package/src/types/oas3_1.ts +5 -4
  402. package/src/types/redocly-yaml.ts +21 -4
  403. package/src/typings/arazzo.ts +169 -41
  404. package/src/typings/asyncapi3.ts +61 -0
  405. package/src/typings/common.ts +1 -0
  406. package/src/typings/swagger.ts +2 -2
  407. package/src/utils.ts +5 -3
  408. package/src/visitors.ts +58 -1
  409. package/src/walk.ts +3 -3
  410. package/tsconfig.tsbuildinfo +1 -1
  411. package/lib/types/asyncapi.d.ts +0 -2
@@ -18,7 +18,7 @@ describe('Oas3 license-url', () => {
18
18
  const results = await lintDocument({
19
19
  externalRefResolver: new BaseResolver(),
20
20
  document,
21
- config: await makeConfig({ 'info-license-url': 'error' }),
21
+ config: await makeConfig({ rules: { 'info-license-url': 'error' } }),
22
22
  });
23
23
 
24
24
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -55,7 +55,7 @@ describe('Oas3 license-url', () => {
55
55
  const results = await lintDocument({
56
56
  externalRefResolver: new BaseResolver(),
57
57
  document,
58
- config: await makeConfig({ 'info-license-url': 'error' }),
58
+ config: await makeConfig({ rules: { 'info-license': 'error' } }),
59
59
  });
60
60
 
61
61
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -46,7 +46,7 @@ describe('no-ambiguous-paths', () => {
46
46
  const results = await lintDocument({
47
47
  externalRefResolver: new BaseResolver(),
48
48
  document,
49
- config: await makeConfig({ 'no-ambiguous-paths': 'error' }),
49
+ config: await makeConfig({ rules: { 'no-ambiguous-paths': 'error' } }),
50
50
  });
51
51
 
52
52
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -29,7 +29,7 @@ describe('Oas3 typed enum', () => {
29
29
  const results = await lintDocument({
30
30
  externalRefResolver: new BaseResolver(),
31
31
  document,
32
- config: await makeConfig({ 'no-enum-type-mismatch': 'error' }),
32
+ config: await makeConfig({ rules: { 'no-enum-type-mismatch': 'error' } }),
33
33
  });
34
34
 
35
35
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -62,7 +62,7 @@ describe('Oas3 typed enum', () => {
62
62
  const results = await lintDocument({
63
63
  externalRefResolver: new BaseResolver(),
64
64
  document,
65
- config: await makeConfig({ 'no-enum-type-mismatch': 'error' }),
65
+ config: await makeConfig({ rules: { 'no-enum-type-mismatch': 'error' } }),
66
66
  });
67
67
 
68
68
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -92,7 +92,7 @@ describe('Oas3 typed enum', () => {
92
92
  const results = await lintDocument({
93
93
  externalRefResolver: new BaseResolver(),
94
94
  document,
95
- config: await makeConfig({ 'no-enum-type-mismatch': 'error' }),
95
+ config: await makeConfig({ rules: { 'no-enum-type-mismatch': 'error' } }),
96
96
  });
97
97
 
98
98
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -140,7 +140,7 @@ describe('Oas3 typed enum', () => {
140
140
  const results = await lintDocument({
141
141
  externalRefResolver: new BaseResolver(),
142
142
  document,
143
- config: await makeConfig({ 'no-enum-type-mismatch': 'error' }),
143
+ config: await makeConfig({ rules: { 'no-enum-type-mismatch': 'error' } }),
144
144
  });
145
145
 
146
146
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -185,7 +185,7 @@ describe('Oas3 typed enum', () => {
185
185
  const results = await lintDocument({
186
186
  externalRefResolver: new BaseResolver(),
187
187
  document,
188
- config: await makeConfig({ spec: 'error', 'no-enum-type-mismatch': 'error' }),
188
+ config: await makeConfig({ rules: { spec: 'error', 'no-enum-type-mismatch': 'error' } }),
189
189
  });
190
190
 
191
191
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -34,7 +34,7 @@ describe('no-identical-paths', () => {
34
34
  const results = await lintDocument({
35
35
  externalRefResolver: new BaseResolver(),
36
36
  document,
37
- config: await makeConfig({ 'no-identical-paths': 'error' }),
37
+ config: await makeConfig({ rules: { 'no-identical-paths': 'error' } }),
38
38
  });
39
39
 
40
40
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -25,7 +25,7 @@ describe('no-invalid-parameter-examples', () => {
25
25
  const results = await lintDocument({
26
26
  externalRefResolver: new BaseResolver(),
27
27
  document,
28
- config: await makeConfig({ 'no-invalid-parameter-examples': 'error' }),
28
+ config: await makeConfig({ rules: { 'no-invalid-parameter-examples': 'error' } }),
29
29
  });
30
30
 
31
31
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -23,7 +23,7 @@ describe('no-invalid-schema-examples', () => {
23
23
  const results = await lintDocument({
24
24
  externalRefResolver: new BaseResolver(),
25
25
  document,
26
- config: await makeConfig({ 'no-invalid-schema-examples': 'error' }),
26
+ config: await makeConfig({ rules: { 'no-invalid-schema-examples': 'error' } }),
27
27
  });
28
28
 
29
29
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -19,7 +19,7 @@ describe('no-path-trailing-slash', () => {
19
19
  const results = await lintDocument({
20
20
  externalRefResolver: new BaseResolver(),
21
21
  document,
22
- config: await makeConfig({ 'no-path-trailing-slash': 'error' }),
22
+ config: await makeConfig({ rules: { 'no-path-trailing-slash': 'error' } }),
23
23
  });
24
24
 
25
25
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -60,7 +60,7 @@ describe('no-path-trailing-slash', () => {
60
60
  const results = await lintDocument({
61
61
  externalRefResolver: new BaseResolver(),
62
62
  document,
63
- config: await makeConfig({ 'no-path-trailing-slash': 'error' }),
63
+ config: await makeConfig({ rules: { 'no-path-trailing-slash': 'error' } }),
64
64
  });
65
65
 
66
66
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -97,7 +97,7 @@ describe('no-path-trailing-slash', () => {
97
97
  const results = await lintDocument({
98
98
  externalRefResolver: new BaseResolver(),
99
99
  document,
100
- config: await makeConfig({ 'no-path-trailing-slash': 'error' }),
100
+ config: await makeConfig({ rules: { 'no-path-trailing-slash': 'error' } }),
101
101
  });
102
102
 
103
103
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -118,7 +118,7 @@ describe('no-path-trailing-slash', () => {
118
118
  const results = await lintDocument({
119
119
  externalRefResolver: new BaseResolver(),
120
120
  document,
121
- config: await makeConfig({ 'no-path-trailing-slash': 'error' }),
121
+ config: await makeConfig({ rules: { 'no-path-trailing-slash': 'error' } }),
122
122
  });
123
123
 
124
124
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -30,7 +30,7 @@ describe('no-required-schema-properties-undefined', () => {
30
30
  const results = await lintDocument({
31
31
  externalRefResolver: new BaseResolver(),
32
32
  document,
33
- config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
33
+ config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
34
34
  });
35
35
 
36
36
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -79,7 +79,7 @@ describe('no-required-schema-properties-undefined', () => {
79
79
  const results = await lintDocument({
80
80
  externalRefResolver: new BaseResolver(),
81
81
  document,
82
- config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
82
+ config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
83
83
  });
84
84
 
85
85
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -134,7 +134,7 @@ describe('no-required-schema-properties-undefined', () => {
134
134
  const results = await lintDocument({
135
135
  externalRefResolver: new BaseResolver(),
136
136
  document,
137
- config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
137
+ config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
138
138
  });
139
139
 
140
140
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -190,7 +190,7 @@ describe('no-required-schema-properties-undefined', () => {
190
190
  const results = await lintDocument({
191
191
  externalRefResolver: new BaseResolver(),
192
192
  document,
193
- config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
193
+ config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
194
194
  });
195
195
 
196
196
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -223,7 +223,7 @@ describe('no-required-schema-properties-undefined', () => {
223
223
  const results = await lintDocument({
224
224
  externalRefResolver: new BaseResolver(),
225
225
  document,
226
- config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
226
+ config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
227
227
  });
228
228
 
229
229
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -286,7 +286,7 @@ describe('no-required-schema-properties-undefined', () => {
286
286
  const results = await lintDocument({
287
287
  externalRefResolver: new BaseResolver(),
288
288
  document,
289
- config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
289
+ config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
290
290
  });
291
291
 
292
292
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -329,7 +329,7 @@ describe('no-required-schema-properties-undefined', () => {
329
329
  const results = await lintDocument({
330
330
  externalRefResolver: new BaseResolver(),
331
331
  document,
332
- config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
332
+ config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
333
333
  });
334
334
 
335
335
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -378,7 +378,7 @@ describe('no-required-schema-properties-undefined', () => {
378
378
  const results = await lintDocument({
379
379
  externalRefResolver: new BaseResolver(),
380
380
  document,
381
- config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
381
+ config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
382
382
  });
383
383
 
384
384
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -447,7 +447,7 @@ describe('no-required-schema-properties-undefined', () => {
447
447
  const results = await lintDocument({
448
448
  externalRefResolver: new BaseResolver(),
449
449
  document,
450
- config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
450
+ config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
451
451
  });
452
452
 
453
453
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -486,7 +486,7 @@ describe('no-required-schema-properties-undefined', () => {
486
486
  const results = await lintDocument({
487
487
  externalRefResolver: new BaseResolver(),
488
488
  document,
489
- config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
489
+ config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
490
490
  });
491
491
 
492
492
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -542,7 +542,7 @@ describe('no-required-schema-properties-undefined', () => {
542
542
  const results = await lintDocument({
543
543
  externalRefResolver: new BaseResolver(),
544
544
  document,
545
- config: await makeConfig({ 'no-required-schema-properties-undefined': 'error' }),
545
+ config: await makeConfig({ rules: { 'no-required-schema-properties-undefined': 'error' } }),
546
546
  });
547
547
 
548
548
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -21,7 +21,7 @@ describe('Oas3 operation-2xx-response', () => {
21
21
  const results = await lintDocument({
22
22
  externalRefResolver: new BaseResolver(),
23
23
  document,
24
- config: await makeConfig({ 'operation-2xx-response': 'error' }),
24
+ config: await makeConfig({ rules: { 'operation-2xx-response': 'error' } }),
25
25
  });
26
26
 
27
27
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -60,7 +60,7 @@ describe('Oas3 operation-2xx-response', () => {
60
60
  const results = await lintDocument({
61
61
  externalRefResolver: new BaseResolver(),
62
62
  document,
63
- config: await makeConfig({ 'operation-2xx-response': 'error' }),
63
+ config: await makeConfig({ rules: { 'operation-2xx-response': 'error' } }),
64
64
  });
65
65
 
66
66
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -83,7 +83,7 @@ describe('Oas3 operation-2xx-response', () => {
83
83
  const results = await lintDocument({
84
84
  externalRefResolver: new BaseResolver(),
85
85
  document,
86
- config: await makeConfig({ 'operation-2xx-response': 'error' }),
86
+ config: await makeConfig({ rules: { 'operation-2xx-response': 'error' } }),
87
87
  });
88
88
 
89
89
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -104,7 +104,7 @@ describe('Oas3 operation-2xx-response', () => {
104
104
  const results = await lintDocument({
105
105
  externalRefResolver: new BaseResolver(),
106
106
  document,
107
- config: await makeConfig({ 'operation-2xx-response': 'error' }),
107
+ config: await makeConfig({ rules: { 'operation-2xx-response': 'error' } }),
108
108
  });
109
109
 
110
110
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -144,7 +144,9 @@ describe('Oas3 operation-2xx-response', () => {
144
144
  externalRefResolver: new BaseResolver(),
145
145
  document,
146
146
  config: await makeConfig({
147
- 'operation-2xx-response': { severity: 'error', validateWebhooks: true },
147
+ rules: {
148
+ 'operation-2xx-response': { severity: 'error', validateWebhooks: true },
149
+ },
148
150
  }),
149
151
  });
150
152
 
@@ -184,7 +186,7 @@ describe('Oas3 operation-2xx-response', () => {
184
186
  const results = await lintDocument({
185
187
  externalRefResolver: new BaseResolver(),
186
188
  document,
187
- config: await makeConfig({ 'operation-2xx-response': 'error' }),
189
+ config: await makeConfig({ rules: { 'operation-2xx-response': 'error' } }),
188
190
  });
189
191
 
190
192
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -21,7 +21,7 @@ describe('Oas3 operation-4xx-response', () => {
21
21
  const results = await lintDocument({
22
22
  externalRefResolver: new BaseResolver(),
23
23
  document,
24
- config: await makeConfig({ 'operation-4xx-response': 'error' }),
24
+ config: await makeConfig({ rules: { 'operation-4xx-response': 'error' } }),
25
25
  });
26
26
 
27
27
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -60,7 +60,7 @@ describe('Oas3 operation-4xx-response', () => {
60
60
  const results = await lintDocument({
61
61
  externalRefResolver: new BaseResolver(),
62
62
  document,
63
- config: await makeConfig({ 'operation-4xx-response': 'error' }),
63
+ config: await makeConfig({ rules: { 'operation-4xx-response': 'error' } }),
64
64
  });
65
65
 
66
66
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -83,7 +83,7 @@ describe('Oas3 operation-4xx-response', () => {
83
83
  const results = await lintDocument({
84
84
  externalRefResolver: new BaseResolver(),
85
85
  document,
86
- config: await makeConfig({ 'operation-4xx-response': 'error' }),
86
+ config: await makeConfig({ rules: { 'operation-4xx-response': 'error' } }),
87
87
  });
88
88
 
89
89
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -106,7 +106,7 @@ describe('Oas3 operation-4xx-response', () => {
106
106
  const results = await lintDocument({
107
107
  externalRefResolver: new BaseResolver(),
108
108
  document,
109
- config: await makeConfig({ 'operation-4xx-response': 'error' }),
109
+ config: await makeConfig({ rules: { 'operation-4xx-response': 'error' } }),
110
110
  });
111
111
 
112
112
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -143,7 +143,7 @@ describe('Oas3 operation-4xx-response', () => {
143
143
  const results = await lintDocument({
144
144
  externalRefResolver: new BaseResolver(),
145
145
  document,
146
- config: await makeConfig({ 'operation-2xx-response': 'error' }),
146
+ config: await makeConfig({ rules: { 'operation-2xx-response': 'error' } }),
147
147
  });
148
148
 
149
149
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -183,7 +183,9 @@ describe('Oas3 operation-4xx-response', () => {
183
183
  externalRefResolver: new BaseResolver(),
184
184
  document,
185
185
  config: await makeConfig({
186
- 'operation-4xx-response': { severity: 'error', validateWebhooks: true },
186
+ rules: {
187
+ 'operation-4xx-response': { severity: 'error', validateWebhooks: true },
188
+ },
187
189
  }),
188
190
  });
189
191
 
@@ -223,7 +225,7 @@ describe('Oas3 operation-4xx-response', () => {
223
225
  const results = await lintDocument({
224
226
  externalRefResolver: new BaseResolver(),
225
227
  document,
226
- config: await makeConfig({ 'operation-4xx-response': 'error' }),
228
+ config: await makeConfig({ rules: { 'operation-4xx-response': 'error' } }),
227
229
  });
228
230
 
229
231
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -26,7 +26,7 @@ describe('Oas3 operation-operationId-unique', () => {
26
26
  const results = await lintDocument({
27
27
  externalRefResolver: new BaseResolver(),
28
28
  document,
29
- config: await makeConfig({ 'operation-operationId-unique': 'error' }),
29
+ config: await makeConfig({ rules: { 'operation-operationId-unique': 'error' } }),
30
30
  });
31
31
 
32
32
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -68,7 +68,7 @@ describe('Oas3 operation-operationId-unique', () => {
68
68
  const results = await lintDocument({
69
69
  externalRefResolver: new BaseResolver(),
70
70
  document,
71
- config: await makeConfig({ 'peration-operationId-unique': 'error' }),
71
+ config: await makeConfig({ rules: { 'peration-operationId-unique': 'error' } }),
72
72
  });
73
73
 
74
74
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -21,7 +21,7 @@ describe('Oas3 operation-operationId-url-safe', () => {
21
21
  const results = await lintDocument({
22
22
  externalRefResolver: new BaseResolver(),
23
23
  document,
24
- config: await makeConfig({ 'operation-operationId-url-safe': 'error' }),
24
+ config: await makeConfig({ rules: { 'operation-operationId-url-safe': 'error' } }),
25
25
  });
26
26
 
27
27
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -22,7 +22,7 @@ describe('Oas3 operation-parameters-unique', () => {
22
22
  const results = await lintDocument({
23
23
  externalRefResolver: new BaseResolver(),
24
24
  document,
25
- config: await makeConfig({ 'operation-parameters-unique': 'error' }),
25
+ config: await makeConfig({ rules: { 'operation-parameters-unique': 'error' } }),
26
26
  });
27
27
 
28
28
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -65,7 +65,7 @@ describe('Oas3 operation-parameters-unique', () => {
65
65
  const results = await lintDocument({
66
66
  externalRefResolver: new BaseResolver(),
67
67
  document,
68
- config: await makeConfig({ 'operation-parameters-unique': 'error' }),
68
+ config: await makeConfig({ rules: { 'operation-parameters-unique': 'error' } }),
69
69
  });
70
70
 
71
71
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -95,7 +95,7 @@ describe('Oas3 operation-parameters-unique', () => {
95
95
  const results = await lintDocument({
96
96
  externalRefResolver: new BaseResolver(),
97
97
  document,
98
- config: await makeConfig({ 'operation-parameters-unique': 'error' }),
98
+ config: await makeConfig({ rules: { 'operation-parameters-unique': 'error' } }),
99
99
  });
100
100
 
101
101
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -143,7 +143,7 @@ describe('Oas3 operation-parameters-unique', () => {
143
143
  const results = await lintDocument({
144
144
  externalRefResolver: new BaseResolver(),
145
145
  document,
146
- config: await makeConfig({ 'operation-parameters-unique': 'error' }),
146
+ config: await makeConfig({ rules: { 'operation-parameters-unique': 'error' } }),
147
147
  });
148
148
 
149
149
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -24,7 +24,7 @@ describe('Oas3 operation-singular-tag', () => {
24
24
  const results = await lintDocument({
25
25
  externalRefResolver: new BaseResolver(),
26
26
  document,
27
- config: await makeConfig({ 'operation-singular-tag': 'error' }),
27
+ config: await makeConfig({ rules: { 'operation-singular-tag': 'error' } }),
28
28
  });
29
29
 
30
30
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -64,7 +64,7 @@ describe('Oas3 operation-singular-tag', () => {
64
64
  const results = await lintDocument({
65
65
  externalRefResolver: new BaseResolver(),
66
66
  document,
67
- config: await makeConfig({ 'operation-singular-tag': 'error' }),
67
+ config: await makeConfig({ rules: { 'operation-singular-tag': 'error' } }),
68
68
  });
69
69
 
70
70
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -23,7 +23,7 @@ describe('Common path-http-verbs-order', () => {
23
23
  const results = await lintDocument({
24
24
  externalRefResolver: new BaseResolver(),
25
25
  document,
26
- config: await makeConfig({ 'path-http-verbs-order': 'error' }),
26
+ config: await makeConfig({ rules: { 'path-http-verbs-order': 'error' } }),
27
27
  });
28
28
 
29
29
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -87,7 +87,7 @@ describe('Common path-http-verbs-order', () => {
87
87
  const results = await lintDocument({
88
88
  externalRefResolver: new BaseResolver(),
89
89
  document,
90
- config: await makeConfig({ 'path-http-verbs-order': 'error' }),
90
+ config: await makeConfig({ rules: { 'path-http-verbs-order': 'error' } }),
91
91
  });
92
92
 
93
93
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -19,7 +19,7 @@ describe('Oas3 path-not-include-query', () => {
19
19
  const results = await lintDocument({
20
20
  externalRefResolver: new BaseResolver(),
21
21
  document,
22
- config: await makeConfig({ 'path-not-include-query': 'error' }),
22
+ config: await makeConfig({ rules: { 'path-not-include-query': 'error' } }),
23
23
  });
24
24
 
25
25
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -56,7 +56,7 @@ describe('Oas3 path-not-include-query', () => {
56
56
  const results = await lintDocument({
57
57
  externalRefResolver: new BaseResolver(),
58
58
  document,
59
- config: await makeConfig({ 'path-not-include-query': 'error' }),
59
+ config: await makeConfig({ rules: { 'path-not-include-query': 'error' } }),
60
60
  });
61
61
 
62
62
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -24,7 +24,7 @@ describe('Oas3 path-params-defined', () => {
24
24
  const results = await lintDocument({
25
25
  externalRefResolver: new BaseResolver(),
26
26
  document,
27
- config: await makeConfig({ 'path-params-defined': 'error' }),
27
+ config: await makeConfig({ rules: { 'path-params-defined': 'error' } }),
28
28
  });
29
29
 
30
30
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -52,7 +52,7 @@ describe('Oas3 path-params-defined', () => {
52
52
  const results = await lintDocument({
53
53
  externalRefResolver: new BaseResolver(),
54
54
  document,
55
- config: await makeConfig({ 'path-params-defined': 'error' }),
55
+ config: await makeConfig({ rules: { 'path-params-defined': 'error' } }),
56
56
  });
57
57
 
58
58
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -96,7 +96,7 @@ describe('Oas3 path-params-defined', () => {
96
96
  const results = await lintDocument({
97
97
  externalRefResolver: new BaseResolver(),
98
98
  document,
99
- config: await makeConfig({ 'path-params-defined': 'error' }),
99
+ config: await makeConfig({ rules: { 'path-params-defined': 'error' } }),
100
100
  });
101
101
 
102
102
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -150,7 +150,7 @@ describe('Oas3 path-params-defined', () => {
150
150
  const results = await lintDocument({
151
151
  externalRefResolver: new BaseResolver(),
152
152
  document,
153
- config: await makeConfig({ 'path-params-defined': 'error' }),
153
+ config: await makeConfig({ rules: { 'path-params-defined': 'error' } }),
154
154
  });
155
155
 
156
156
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -194,7 +194,7 @@ describe('Oas3 path-params-defined', () => {
194
194
  const results = await lintDocument({
195
195
  externalRefResolver: new BaseResolver(),
196
196
  document,
197
- config: await makeConfig({ 'path-params-defined': 'error' }),
197
+ config: await makeConfig({ rules: { 'path-params-defined': 'error' } }),
198
198
  });
199
199
 
200
200
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -22,7 +22,7 @@ describe('Oas3 paths-kebab-case', () => {
22
22
  const results = await lintDocument({
23
23
  externalRefResolver: new BaseResolver(),
24
24
  document,
25
- config: await makeConfig({ 'paths-kebab-case': 'error' }),
25
+ config: await makeConfig({ rules: { 'paths-kebab-case': 'error' } }),
26
26
  });
27
27
 
28
28
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -61,7 +61,7 @@ describe('Oas3 paths-kebab-case', () => {
61
61
  const results = await lintDocument({
62
62
  externalRefResolver: new BaseResolver(),
63
63
  document,
64
- config: await makeConfig({ 'paths-kebab-case': 'error' }),
64
+ config: await makeConfig({ rules: { 'paths-kebab-case': 'error' } }),
65
65
  });
66
66
 
67
67
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -99,8 +99,10 @@ describe('Oas3 paths-kebab-case', () => {
99
99
  externalRefResolver: new BaseResolver(),
100
100
  document,
101
101
  config: await makeConfig({
102
- 'paths-kebab-case': 'error',
103
- 'no-path-trailing-slash': 'off',
102
+ rules: {
103
+ 'paths-kebab-case': 'error',
104
+ 'no-path-trailing-slash': 'off',
105
+ },
104
106
  }),
105
107
  });
106
108
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -24,7 +24,7 @@ describe('Oas3 scalar-property-missing-example', () => {
24
24
  const results = await lintDocument({
25
25
  externalRefResolver: new BaseResolver(),
26
26
  document,
27
- config: await makeConfig({ 'scalar-property-missing-example': 'error' }),
27
+ config: await makeConfig({ rules: { 'scalar-property-missing-example': 'error' } }),
28
28
  });
29
29
 
30
30
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -68,7 +68,7 @@ describe('Oas3.1 scalar-property-missing-example', () => {
68
68
  const results = await lintDocument({
69
69
  externalRefResolver: new BaseResolver(),
70
70
  document,
71
- config: await makeConfig({ 'scalar-property-missing-example': 'error' }),
71
+ config: await makeConfig({ rules: { 'scalar-property-missing-example': 'error' } }),
72
72
  });
73
73
 
74
74
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -111,7 +111,7 @@ describe('Oas3.1 scalar-property-missing-example', () => {
111
111
  const results = await lintDocument({
112
112
  externalRefResolver: new BaseResolver(),
113
113
  document,
114
- config: await makeConfig({ 'scalar-property-missing-example': 'error' }),
114
+ config: await makeConfig({ rules: { 'scalar-property-missing-example': 'error' } }),
115
115
  });
116
116
 
117
117
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -140,7 +140,7 @@ describe('Oas3.1 scalar-property-missing-example', () => {
140
140
  const results = await lintDocument({
141
141
  externalRefResolver: new BaseResolver(),
142
142
  document,
143
- config: await makeConfig({ 'scalar-property-missing-example': 'error' }),
143
+ config: await makeConfig({ rules: { 'scalar-property-missing-example': 'error' } }),
144
144
  });
145
145
 
146
146
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -174,7 +174,7 @@ describe('Oas3.1 scalar-property-missing-example', () => {
174
174
  const results = await lintDocument({
175
175
  externalRefResolver: new BaseResolver(),
176
176
  document,
177
- config: await makeConfig({ 'scalar-property-missing-example': 'error' }),
177
+ config: await makeConfig({ rules: { 'scalar-property-missing-example': 'error' } }),
178
178
  });
179
179
 
180
180
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -199,7 +199,7 @@ describe('Oas3.1 scalar-property-missing-example', () => {
199
199
  const results = await lintDocument({
200
200
  externalRefResolver: new BaseResolver(),
201
201
  document,
202
- config: await makeConfig({ 'scalar-property-missing-example': 'error' }),
202
+ config: await makeConfig({ rules: { 'scalar-property-missing-example': 'error' } }),
203
203
  });
204
204
 
205
205
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -230,7 +230,7 @@ describe('Oas3.1 scalar-property-missing-example', () => {
230
230
  const results = await lintDocument({
231
231
  externalRefResolver: new BaseResolver(),
232
232
  document,
233
- config: await makeConfig({ 'scalar-property-missing-example': 'error' }),
233
+ config: await makeConfig({ rules: { 'scalar-property-missing-example': 'error' } }),
234
234
  });
235
235
 
236
236
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -256,7 +256,7 @@ describe('Oas3.1 scalar-property-missing-example', () => {
256
256
  const results = await lintDocument({
257
257
  externalRefResolver: new BaseResolver(),
258
258
  document,
259
- config: await makeConfig({ 'scalar-property-missing-example': 'error' }),
259
+ config: await makeConfig({ rules: { 'scalar-property-missing-example': 'error' } }),
260
260
  });
261
261
 
262
262
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);