@redocly/openapi-core 1.19.0 → 1.20.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 (338) hide show
  1. package/CHANGELOG.md +14 -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 +5 -1
  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 +5 -1
  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 +5 -1
  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 +17 -13
  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 +16 -12
  13. package/lib/benchmark/utils.d.ts +3 -3
  14. package/lib/benchmark/utils.js +3 -3
  15. package/lib/config/all.js +4 -1
  16. package/lib/config/builtIn.js +15 -20
  17. package/lib/config/config-resolvers.d.ts +1 -1
  18. package/lib/config/config-resolvers.js +67 -28
  19. package/lib/config/config.d.ts +3 -2
  20. package/lib/config/load.d.ts +1 -1
  21. package/lib/config/minimal.js +4 -0
  22. package/lib/config/recommended-strict.js +5 -1
  23. package/lib/config/recommended.js +5 -1
  24. package/lib/config/types.d.ts +9 -2
  25. package/lib/config/utils.d.ts +3 -1
  26. package/lib/config/utils.js +8 -0
  27. package/lib/decorators/common/filters/filter-helper.d.ts +1 -1
  28. package/lib/decorators/common/filters/filter-in.d.ts +1 -1
  29. package/lib/decorators/common/filters/filter-out.d.ts +1 -1
  30. package/lib/decorators/common/info-description-override.d.ts +1 -1
  31. package/lib/decorators/common/info-override.d.ts +1 -1
  32. package/lib/decorators/common/media-type-examples-override.d.ts +1 -1
  33. package/lib/decorators/common/operation-description-override.d.ts +1 -1
  34. package/lib/decorators/common/registry-dependencies.d.ts +1 -1
  35. package/lib/decorators/common/remove-x-internal.d.ts +1 -1
  36. package/lib/decorators/common/tag-description-override.d.ts +1 -1
  37. package/lib/decorators/oas2/index.d.ts +1 -1
  38. package/lib/decorators/oas3/index.d.ts +1 -1
  39. package/lib/format/codeframes.d.ts +1 -1
  40. package/lib/format/format.d.ts +1 -1
  41. package/lib/format/format.js +1 -1
  42. package/lib/js-yaml/index.d.ts +1 -1
  43. package/lib/lint.d.ts +1 -1
  44. package/lib/logger.js +2 -2
  45. package/lib/oas-types.d.ts +2 -2
  46. package/lib/redocly/domains.d.ts +1 -1
  47. package/lib/redocly/index.d.ts +1 -1
  48. package/lib/ref-utils.d.ts +2 -2
  49. package/lib/ref-utils.js +1 -0
  50. package/lib/resolve.d.ts +2 -2
  51. package/lib/rules/ajv.d.ts +1 -1
  52. package/lib/rules/arazzo/index.js +2 -0
  53. package/lib/rules/async2/channels-kebab-case.d.ts +1 -1
  54. package/lib/rules/async2/index.js +2 -0
  55. package/lib/rules/async2/no-channel-trailing-slash.d.ts +1 -1
  56. package/lib/rules/async3/channels-kebab-case.d.ts +1 -1
  57. package/lib/rules/async3/index.js +2 -0
  58. package/lib/rules/async3/no-channel-trailing-slash.d.ts +1 -1
  59. package/lib/rules/common/assertions/asserts.d.ts +2 -2
  60. package/lib/rules/common/assertions/index.d.ts +1 -2
  61. package/lib/rules/common/assertions/utils.d.ts +1 -1
  62. package/lib/rules/common/info-contact.d.ts +1 -1
  63. package/lib/rules/common/info-license-strict.d.ts +2 -0
  64. package/lib/rules/common/info-license-strict.js +26 -0
  65. package/lib/rules/common/info-license-url.d.ts +1 -1
  66. package/lib/rules/common/info-license.d.ts +1 -1
  67. package/lib/rules/common/no-ambiguous-paths.d.ts +1 -1
  68. package/lib/rules/common/no-enum-type-mismatch.d.ts +1 -1
  69. package/lib/rules/common/no-http-verbs-in-paths.d.ts +1 -1
  70. package/lib/rules/common/no-identical-paths.d.ts +1 -1
  71. package/lib/rules/common/no-path-trailing-slash.d.ts +1 -1
  72. package/lib/rules/common/no-required-schema-properties-undefined.d.ts +1 -1
  73. package/lib/rules/common/operation-2xx-response.d.ts +1 -1
  74. package/lib/rules/common/operation-4xx-response.d.ts +1 -1
  75. package/lib/rules/common/operation-description.d.ts +1 -1
  76. package/lib/rules/common/operation-operationId-unique.d.ts +1 -1
  77. package/lib/rules/common/operation-operationId-url-safe.d.ts +1 -1
  78. package/lib/rules/common/operation-operationId-url-safe.js +1 -0
  79. package/lib/rules/common/operation-operationId.d.ts +1 -1
  80. package/lib/rules/common/operation-parameters-unique.d.ts +1 -1
  81. package/lib/rules/common/operation-singular-tag.d.ts +1 -1
  82. package/lib/rules/common/operation-summary.d.ts +1 -1
  83. package/lib/rules/common/operation-tag-defined.d.ts +1 -1
  84. package/lib/rules/common/parameter-description.d.ts +1 -1
  85. package/lib/rules/common/path-declaration-must-exist.d.ts +1 -1
  86. package/lib/rules/common/path-excludes-patterns.d.ts +1 -1
  87. package/lib/rules/common/path-http-verbs-order.d.ts +1 -1
  88. package/lib/rules/common/path-not-include-query.d.ts +1 -1
  89. package/lib/rules/common/path-params-defined.d.ts +1 -1
  90. package/lib/rules/common/path-segment-plural.d.ts +1 -1
  91. package/lib/rules/common/paths-kebab-case.d.ts +1 -1
  92. package/lib/rules/common/required-string-property-missing-min-length.d.ts +1 -1
  93. package/lib/rules/common/response-contains-header.d.ts +1 -1
  94. package/lib/rules/common/security-defined.d.ts +1 -1
  95. package/lib/rules/common/spec-strict-refs.d.ts +1 -1
  96. package/lib/rules/common/tag-description.d.ts +1 -1
  97. package/lib/rules/common/tags-alphabetical.d.ts +1 -1
  98. package/lib/rules/no-unresolved-refs.d.ts +3 -3
  99. package/lib/rules/oas2/boolean-parameter-prefixes.d.ts +1 -1
  100. package/lib/rules/oas2/index.d.ts +1 -1
  101. package/lib/rules/oas2/index.js +2 -0
  102. package/lib/rules/oas2/response-contains-property.d.ts +1 -1
  103. package/lib/rules/oas3/array-parameter-serialization.d.ts +1 -1
  104. package/lib/rules/oas3/boolean-parameter-prefixes.d.ts +1 -1
  105. package/lib/rules/oas3/component-name-unique.d.ts +1 -1
  106. package/lib/rules/oas3/index.d.ts +1 -1
  107. package/lib/rules/oas3/index.js +2 -0
  108. package/lib/rules/oas3/no-empty-servers.d.ts +1 -1
  109. package/lib/rules/oas3/no-example-value-and-externalValue.d.ts +1 -1
  110. package/lib/rules/oas3/no-invalid-media-type-examples.d.ts +1 -1
  111. package/lib/rules/oas3/no-server-example.com.d.ts +1 -1
  112. package/lib/rules/oas3/no-server-example.com.js +1 -0
  113. package/lib/rules/oas3/no-server-trailing-slash.d.ts +1 -1
  114. package/lib/rules/oas3/no-server-variables-empty-enum.d.ts +1 -1
  115. package/lib/rules/oas3/no-undefined-server-variable.d.ts +1 -1
  116. package/lib/rules/oas3/no-unused-components.d.ts +1 -1
  117. package/lib/rules/oas3/response-contains-property.d.ts +1 -1
  118. package/lib/rules/oas3/spec-components-invalid-map-name.d.ts +1 -1
  119. package/lib/rules/other/stats.d.ts +3 -3
  120. package/lib/rules/other/stats.js +5 -3
  121. package/lib/rules/spot/parameters-no-body-inside-in.d.ts +2 -0
  122. package/lib/rules/spot/parameters-no-body-inside-in.js +18 -0
  123. package/lib/rules/utils.d.ts +4 -2
  124. package/lib/rules/utils.js +27 -1
  125. package/lib/types/arazzo.d.ts +1 -2275
  126. package/lib/types/arazzo.js +246 -309
  127. package/lib/types/asyncapi2.d.ts +1 -1
  128. package/lib/types/asyncapi2.js +3 -1
  129. package/lib/types/asyncapi3.d.ts +1 -1
  130. package/lib/types/json-schema-adapter.d.ts +1 -1
  131. package/lib/types/oas3.d.ts +4 -0
  132. package/lib/types/oas3.js +9 -9
  133. package/lib/types/oas3_1.d.ts +3 -0
  134. package/lib/types/oas3_1.js +8 -8
  135. package/lib/types/redocly-yaml.d.ts +6 -6
  136. package/lib/types/redocly-yaml.js +4 -1
  137. package/lib/typings/arazzo.d.ts +145 -27
  138. package/lib/typings/common.d.ts +1 -1
  139. package/lib/typings/swagger.d.ts +2 -2
  140. package/lib/visitors.d.ts +18 -1
  141. package/lib/walk.d.ts +3 -3
  142. package/package.json +2 -2
  143. package/src/__tests__/bundle.test.ts +4 -4
  144. package/src/__tests__/lint.test.ts +29 -21
  145. package/src/__tests__/walk.test.ts +25 -25
  146. package/src/benchmark/benches/lint-with-many-rules.bench.ts +7 -1
  147. package/src/benchmark/benches/lint-with-nested-rule.bench.ts +7 -1
  148. package/src/benchmark/benches/lint-with-no-rules.bench.ts +8 -1
  149. package/src/benchmark/benches/lint-with-top-level-rule-report.bench.ts +18 -13
  150. package/src/benchmark/benches/lint-with-top-level-rule.bench.ts +17 -11
  151. package/src/benchmark/fork.js +4 -0
  152. package/src/benchmark/utils.ts +6 -5
  153. package/src/bundle.ts +2 -1
  154. package/src/config/__tests__/__snapshots__/config-resolvers.test.ts.snap +10 -2
  155. package/src/config/__tests__/config-resolvers.test.ts +82 -0
  156. package/src/config/__tests__/fixtures/resolve-config/local-config-with-commonjs-export-function.yaml +2 -0
  157. package/src/config/__tests__/fixtures/resolve-config/local-config-with-esm.yaml +2 -0
  158. package/src/config/__tests__/fixtures/resolve-config/plugin-esm.mjs +10 -0
  159. package/src/config/__tests__/fixtures/resolve-config/plugin-with-export-function.cjs +10 -0
  160. package/src/config/__tests__/resolve-plugins.test.ts +4 -1
  161. package/src/config/all.ts +4 -1
  162. package/src/config/builtIn.ts +5 -10
  163. package/src/config/config-resolvers.ts +78 -23
  164. package/src/config/config.ts +7 -8
  165. package/src/config/load.ts +2 -2
  166. package/src/config/minimal.ts +4 -0
  167. package/src/config/recommended-strict.ts +5 -1
  168. package/src/config/recommended.ts +5 -1
  169. package/src/config/types.ts +19 -3
  170. package/src/config/utils.ts +13 -2
  171. package/src/decorators/__tests__/filter-in.test.ts +29 -26
  172. package/src/decorators/__tests__/filter-out.test.ts +32 -23
  173. package/src/decorators/__tests__/media-type-examples-override.test.ts +45 -45
  174. package/src/decorators/__tests__/remove-x-internal.test.ts +8 -5
  175. package/src/decorators/common/filters/filter-helper.ts +2 -1
  176. package/src/decorators/common/filters/filter-in.ts +2 -1
  177. package/src/decorators/common/filters/filter-out.ts +2 -1
  178. package/src/decorators/common/info-description-override.ts +3 -2
  179. package/src/decorators/common/info-override.ts +1 -1
  180. package/src/decorators/common/media-type-examples-override.ts +4 -3
  181. package/src/decorators/common/operation-description-override.ts +5 -4
  182. package/src/decorators/common/registry-dependencies.ts +2 -2
  183. package/src/decorators/common/remove-x-internal.ts +3 -2
  184. package/src/decorators/common/tag-description-override.ts +3 -2
  185. package/src/decorators/oas2/__tests__/remove-unused-components.test.ts +3 -3
  186. package/src/decorators/oas2/index.ts +2 -1
  187. package/src/decorators/oas2/remove-unused-components.ts +1 -1
  188. package/src/decorators/oas3/__tests__/remove-unused-components.test.ts +4 -4
  189. package/src/decorators/oas3/index.ts +2 -1
  190. package/src/decorators/oas3/remove-unused-components.ts +1 -1
  191. package/src/format/codeframes.ts +2 -1
  192. package/src/format/format.ts +9 -4
  193. package/src/js-yaml/index.ts +3 -1
  194. package/src/lint.ts +2 -1
  195. package/src/logger.ts +2 -2
  196. package/src/oas-types.ts +14 -13
  197. package/src/redocly/domains.ts +1 -1
  198. package/src/redocly/index.ts +3 -3
  199. package/src/redocly/registry-api.ts +5 -3
  200. package/src/ref-utils.ts +4 -2
  201. package/src/resolve.ts +6 -4
  202. package/src/rules/__tests__/no-unresolved-refs.test.ts +21 -7
  203. package/src/rules/ajv.ts +2 -1
  204. package/src/rules/arazzo/__tests__/parameters-no-body-inside-in.test.ts +76 -0
  205. package/src/rules/arazzo/index.ts +5 -2
  206. package/src/rules/async2/__tests__/channels-kebab-case.test.ts +9 -5
  207. package/src/rules/async2/__tests__/no-channel-trailing-slash.test.ts +3 -3
  208. package/src/rules/async2/channels-kebab-case.ts +2 -2
  209. package/src/rules/async2/index.ts +4 -1
  210. package/src/rules/async2/no-channel-trailing-slash.ts +2 -2
  211. package/src/rules/async3/__tests__/channels-kebab-case.test.ts +9 -5
  212. package/src/rules/async3/__tests__/no-channel-trailing-slash.test.ts +3 -3
  213. package/src/rules/async3/channels-kebab-case.ts +3 -3
  214. package/src/rules/async3/index.ts +4 -1
  215. package/src/rules/async3/no-channel-trailing-slash.ts +3 -3
  216. package/src/rules/common/__tests__/info-license-strict.test.ts +141 -0
  217. package/src/rules/common/__tests__/info-license.test.ts +2 -2
  218. package/src/rules/common/__tests__/license-url.test.ts +2 -2
  219. package/src/rules/common/__tests__/no-ambiguous-paths.test.ts +1 -1
  220. package/src/rules/common/__tests__/no-enum-type-mismatch.test.ts +5 -5
  221. package/src/rules/common/__tests__/no-identical-paths.test.ts +1 -1
  222. package/src/rules/common/__tests__/no-invalid-parameter-examples.test.ts +1 -1
  223. package/src/rules/common/__tests__/no-invalid-schema-examples.test.ts +1 -1
  224. package/src/rules/common/__tests__/no-path-trailing-slash.test.ts +4 -4
  225. package/src/rules/common/__tests__/no-required-schema-properties-undefined.test.ts +11 -11
  226. package/src/rules/common/__tests__/operation-2xx-response.test.ts +8 -6
  227. package/src/rules/common/__tests__/operation-4xx-response.test.ts +9 -7
  228. package/src/rules/common/__tests__/operation-operationId-unique.test.ts +2 -2
  229. package/src/rules/common/__tests__/operation-operationId-url-safe.test.ts +1 -1
  230. package/src/rules/common/__tests__/operation-parameters-unique.test.ts +4 -4
  231. package/src/rules/common/__tests__/operation-singular-tag.test.ts +2 -2
  232. package/src/rules/common/__tests__/path-http-verbs-order.test.ts +2 -2
  233. package/src/rules/common/__tests__/path-not-include-query.test.ts +2 -2
  234. package/src/rules/common/__tests__/path-params-defined.test.ts +5 -5
  235. package/src/rules/common/__tests__/paths-kebab-case.test.ts +6 -4
  236. package/src/rules/common/__tests__/scalar-property-missing-example.test.ts +8 -8
  237. package/src/rules/common/__tests__/security-defined.test.ts +14 -8
  238. package/src/rules/common/__tests__/spec-strict-refs.test.ts +1 -1
  239. package/src/rules/common/__tests__/spec.test.ts +10 -10
  240. package/src/rules/common/__tests__/tag-description.test.ts +2 -2
  241. package/src/rules/common/__tests__/tags-alphabetical.test.ts +6 -4
  242. package/src/rules/common/assertions/asserts.ts +5 -9
  243. package/src/rules/common/assertions/index.ts +1 -2
  244. package/src/rules/common/assertions/utils.ts +4 -2
  245. package/src/rules/common/info-contact.ts +2 -1
  246. package/src/rules/common/info-license-strict.ts +24 -0
  247. package/src/rules/common/info-license-url.ts +2 -1
  248. package/src/rules/common/info-license.ts +2 -1
  249. package/src/rules/common/no-ambiguous-paths.ts +4 -4
  250. package/src/rules/common/no-enum-type-mismatch.ts +5 -4
  251. package/src/rules/common/no-http-verbs-in-paths.ts +5 -4
  252. package/src/rules/common/no-identical-paths.ts +4 -4
  253. package/src/rules/common/no-invalid-parameter-examples.ts +3 -2
  254. package/src/rules/common/no-path-trailing-slash.ts +2 -2
  255. package/src/rules/common/no-required-schema-properties-undefined.ts +5 -4
  256. package/src/rules/common/operation-2xx-response.ts +3 -2
  257. package/src/rules/common/operation-4xx-response.ts +3 -2
  258. package/src/rules/common/operation-description.ts +5 -4
  259. package/src/rules/common/operation-operationId-unique.ts +4 -4
  260. package/src/rules/common/operation-operationId-url-safe.ts +5 -4
  261. package/src/rules/common/operation-operationId.ts +5 -4
  262. package/src/rules/common/operation-parameters-unique.ts +4 -4
  263. package/src/rules/common/operation-singular-tag.ts +4 -4
  264. package/src/rules/common/operation-summary.ts +5 -4
  265. package/src/rules/common/operation-tag-defined.ts +4 -4
  266. package/src/rules/common/parameter-description.ts +4 -4
  267. package/src/rules/common/path-declaration-must-exist.ts +2 -2
  268. package/src/rules/common/path-excludes-patterns.ts +4 -4
  269. package/src/rules/common/path-http-verbs-order.ts +4 -4
  270. package/src/rules/common/path-not-include-query.ts +2 -2
  271. package/src/rules/common/path-params-defined.ts +4 -4
  272. package/src/rules/common/path-segment-plural.ts +3 -2
  273. package/src/rules/common/paths-kebab-case.ts +2 -2
  274. package/src/rules/common/required-string-property-missing-min-length.ts +4 -4
  275. package/src/rules/common/response-contains-header.ts +5 -4
  276. package/src/rules/common/scalar-property-missing-example.ts +2 -1
  277. package/src/rules/common/security-defined.ts +5 -5
  278. package/src/rules/common/spec-strict-refs.ts +2 -1
  279. package/src/rules/common/spec.ts +3 -2
  280. package/src/rules/common/tag-description.ts +2 -1
  281. package/src/rules/common/tags-alphabetical.ts +4 -4
  282. package/src/rules/no-unresolved-refs.ts +4 -3
  283. package/src/rules/oas2/__tests__/boolean-parameter-prefixes.test.ts +7 -5
  284. package/src/rules/oas2/__tests__/response-contains-header.test.ts +14 -8
  285. package/src/rules/oas2/__tests__/response-contains-property.test.ts +14 -8
  286. package/src/rules/oas2/__tests__/spec/referenceableScalars.test.ts +3 -1
  287. package/src/rules/oas2/boolean-parameter-prefixes.ts +1 -1
  288. package/src/rules/oas2/index.ts +4 -2
  289. package/src/rules/oas2/request-mime-type.ts +2 -1
  290. package/src/rules/oas2/response-contains-property.ts +3 -2
  291. package/src/rules/oas2/response-mime-type.ts +2 -1
  292. package/src/rules/oas3/__tests__/array-parameter-serialization.test.ts +18 -6
  293. package/src/rules/oas3/__tests__/boolean-parameter-prefixes.test.ts +7 -5
  294. package/src/rules/oas3/__tests__/no-empty-enum-servers.com.test.ts +6 -6
  295. package/src/rules/oas3/__tests__/no-example-value-and-externalValue.test.ts +2 -2
  296. package/src/rules/oas3/__tests__/no-invalid-media-type-examples.test.ts +34 -24
  297. package/src/rules/oas3/__tests__/no-server-example.com.test.ts +3 -3
  298. package/src/rules/oas3/__tests__/no-server-trailing-slash.test.ts +3 -3
  299. package/src/rules/oas3/__tests__/no-unused-components.test.ts +1 -1
  300. package/src/rules/oas3/__tests__/operation-4xx-problem-details-rfc7807.test.ts +3 -3
  301. package/src/rules/oas3/__tests__/response-contains-header.test.ts +34 -22
  302. package/src/rules/oas3/__tests__/response-contains-property.test.ts +34 -20
  303. package/src/rules/oas3/__tests__/spec/spec.test.ts +12 -3
  304. package/src/rules/oas3/__tests__/spec-components-invalid-map-name.test.ts +9 -3
  305. package/src/rules/oas3/__tests__/utils/lint-document-for-test.ts +1 -1
  306. package/src/rules/oas3/array-parameter-serialization.ts +3 -2
  307. package/src/rules/oas3/boolean-parameter-prefixes.ts +1 -1
  308. package/src/rules/oas3/component-name-unique.ts +3 -3
  309. package/src/rules/oas3/index.ts +3 -1
  310. package/src/rules/oas3/no-empty-servers.ts +1 -1
  311. package/src/rules/oas3/no-example-value-and-externalValue.ts +1 -1
  312. package/src/rules/oas3/no-invalid-media-type-examples.ts +6 -4
  313. package/src/rules/oas3/no-server-example.com.ts +2 -1
  314. package/src/rules/oas3/no-server-trailing-slash.ts +1 -1
  315. package/src/rules/oas3/no-server-variables-empty-enum.ts +2 -2
  316. package/src/rules/oas3/no-undefined-server-variable.ts +1 -1
  317. package/src/rules/oas3/no-unused-components.ts +2 -2
  318. package/src/rules/oas3/operation-4xx-problem-details-rfc7807.ts +2 -1
  319. package/src/rules/oas3/request-mime-type.ts +2 -1
  320. package/src/rules/oas3/response-contains-property.ts +3 -2
  321. package/src/rules/oas3/response-mime-type.ts +2 -1
  322. package/src/rules/oas3/spec-components-invalid-map-name.ts +3 -3
  323. package/src/rules/other/stats.ts +8 -6
  324. package/src/rules/spot/parameters-no-body-inside-in.ts +17 -0
  325. package/src/rules/utils.ts +41 -4
  326. package/src/types/arazzo.ts +257 -334
  327. package/src/types/asyncapi2.ts +4 -1
  328. package/src/types/asyncapi3.ts +3 -1
  329. package/src/types/json-schema-adapter.ts +2 -2
  330. package/src/types/oas3.ts +4 -4
  331. package/src/types/oas3_1.ts +3 -3
  332. package/src/types/redocly-yaml.ts +7 -4
  333. package/src/typings/arazzo.ts +169 -41
  334. package/src/typings/common.ts +1 -0
  335. package/src/typings/swagger.ts +2 -2
  336. package/src/visitors.ts +40 -1
  337. package/src/walk.ts +3 -3
  338. package/tsconfig.tsbuildinfo +1 -1
@@ -0,0 +1,141 @@
1
+ import { outdent } from 'outdent';
2
+ import { lintDocument } from '../../../lint';
3
+ import { parseYamlToDocument, replaceSourceWithRef, makeConfig } from '../../../../__tests__/utils';
4
+ import { BaseResolver } from '../../../resolve';
5
+
6
+ describe('license-strict', () => {
7
+ it('should report on info.license with no url or identifier for OpenAPI 3.1', async () => {
8
+ const document = parseYamlToDocument(
9
+ outdent`
10
+ openapi: 3.1.0
11
+ info:
12
+ license:
13
+ name: MIT
14
+ `,
15
+ 'foobar.yaml'
16
+ );
17
+
18
+ const results = await lintDocument({
19
+ externalRefResolver: new BaseResolver(),
20
+ document,
21
+ config: await makeConfig({ rules: { 'info-license-strict': 'error' } }),
22
+ });
23
+
24
+ expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
25
+ [
26
+ {
27
+ "location": [
28
+ {
29
+ "pointer": "#/info/license",
30
+ "reportOnKey": true,
31
+ "source": "foobar.yaml",
32
+ },
33
+ ],
34
+ "message": "License object should contain one of the fields: \`url\`, \`identifier\`.",
35
+ "ruleId": "info-license-strict",
36
+ "severity": "error",
37
+ "suggest": [],
38
+ },
39
+ ]
40
+ `);
41
+ });
42
+
43
+ it('should not report on info.license with url for OpenAPI 3.1', async () => {
44
+ const document = parseYamlToDocument(
45
+ outdent`
46
+ openapi: 3.1.0
47
+ info:
48
+ license:
49
+ name: MIT
50
+ url: google.com
51
+ `,
52
+ 'foobar.yaml'
53
+ );
54
+
55
+ const results = await lintDocument({
56
+ externalRefResolver: new BaseResolver(),
57
+ document,
58
+ config: await makeConfig({ rules: { 'info-license-strict': 'error' } }),
59
+ });
60
+
61
+ expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
62
+ });
63
+
64
+ it('should not report on info.license with identifier', async () => {
65
+ const document = parseYamlToDocument(
66
+ outdent`
67
+ openapi: 3.1.0
68
+ info:
69
+ license:
70
+ name: MIT
71
+ identifier: MIT
72
+ `,
73
+ 'foobar.yaml'
74
+ );
75
+
76
+ const results = await lintDocument({
77
+ externalRefResolver: new BaseResolver(),
78
+ document,
79
+ config: await makeConfig({ rules: { 'info-license-strict': 'error' } }),
80
+ });
81
+
82
+ expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
83
+ });
84
+
85
+ it('should report on info.license with no url for AsyncAPI 3.0', async () => {
86
+ const document = parseYamlToDocument(
87
+ outdent`
88
+ asyncapi: 3.0.0
89
+ info:
90
+ license:
91
+ name: MIT
92
+ `,
93
+ 'foobar.yaml'
94
+ );
95
+
96
+ const results = await lintDocument({
97
+ externalRefResolver: new BaseResolver(),
98
+ document,
99
+ config: await makeConfig({ rules: { 'info-license-strict': 'error' } }),
100
+ });
101
+
102
+ expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
103
+ [
104
+ {
105
+ "location": [
106
+ {
107
+ "pointer": "#/info/license/url",
108
+ "reportOnKey": true,
109
+ "source": "foobar.yaml",
110
+ },
111
+ ],
112
+ "message": "License object should contain \`url\` field.",
113
+ "ruleId": "info-license-strict",
114
+ "severity": "error",
115
+ "suggest": [],
116
+ },
117
+ ]
118
+ `);
119
+ });
120
+
121
+ it('should not report on info.license with url for AsyncAPI 3.0', async () => {
122
+ const document = parseYamlToDocument(
123
+ outdent`
124
+ asyncapi: 3.0.0
125
+ info:
126
+ license:
127
+ name: MIT
128
+ url: google.com
129
+ `,
130
+ 'foobar.yaml'
131
+ );
132
+
133
+ const results = await lintDocument({
134
+ externalRefResolver: new BaseResolver(),
135
+ document,
136
+ config: await makeConfig({ rules: { 'info-license-strict': 'error' } }),
137
+ });
138
+
139
+ expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
140
+ });
141
+ });
@@ -17,7 +17,7 @@ describe('Oas3 info-license', () => {
17
17
  const results = await lintDocument({
18
18
  externalRefResolver: new BaseResolver(),
19
19
  document,
20
- config: await makeConfig({ 'info-license': 'error' }),
20
+ config: await makeConfig({ rules: { 'info-license': 'error' } }),
21
21
  });
22
22
 
23
23
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -54,7 +54,7 @@ describe('Oas3 info-license', () => {
54
54
  const results = await lintDocument({
55
55
  externalRefResolver: new BaseResolver(),
56
56
  document,
57
- config: await makeConfig({ 'info-license': 'error' }),
57
+ config: await makeConfig({ rules: { 'info-license': 'error' } }),
58
58
  });
59
59
 
60
60
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -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(`[]`);