@redocly/openapi-core 1.19.0 → 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 (338) hide show
  1. package/CHANGELOG.md +12 -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 +66 -24
  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 +77 -19
  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
@@ -1,8 +1,9 @@
1
- import { Oas3Rule, Oas2Rule } from '../../visitors';
2
1
  import { validateDefinedAndNonEmpty } from '../utils';
3
- import { UserContext } from '../../walk';
4
- import { Oas2Operation } from '../../typings/swagger';
5
- import { Oas3Operation } from '../../typings/openapi';
2
+
3
+ import type { Oas3Rule, Oas2Rule } from '../../visitors';
4
+ import type { UserContext } from '../../walk';
5
+ import type { Oas2Operation } from '../../typings/swagger';
6
+ import type { Oas3Operation } from '../../typings/openapi';
6
7
 
7
8
  export const OperationOperationId: Oas3Rule | Oas2Rule = () => {
8
9
  return {
@@ -1,7 +1,7 @@
1
- import { Oas3Rule, Oas2Rule } from '../../visitors';
2
- import { Oas2Parameter } from '../../typings/swagger';
3
- import { Oas3Parameter } from '../../typings/openapi';
4
- import { UserContext } from '../../walk';
1
+ import type { Oas3Rule, Oas2Rule } from '../../visitors';
2
+ import type { Oas2Parameter } from '../../typings/swagger';
3
+ import type { Oas3Parameter } from '../../typings/openapi';
4
+ import type { UserContext } from '../../walk';
5
5
 
6
6
  export const OperationParametersUnique: Oas3Rule | Oas2Rule = () => {
7
7
  let seenPathParams: Set<string>;
@@ -1,7 +1,7 @@
1
- import { Oas3Rule, Oas2Rule } from '../../visitors';
2
- import { Oas2Operation } from '../../typings/swagger';
3
- import { Oas3Operation } from '../../typings/openapi';
4
- import { UserContext } from '../../walk';
1
+ import type { Oas3Rule, Oas2Rule } from '../../visitors';
2
+ import type { Oas2Operation } from '../../typings/swagger';
3
+ import type { Oas3Operation } from '../../typings/openapi';
4
+ import type { UserContext } from '../../walk';
5
5
 
6
6
  export const OperationSingularTag: Oas3Rule | Oas2Rule = () => {
7
7
  return {
@@ -1,8 +1,9 @@
1
- import { Oas3Rule, Oas2Rule } from '../../visitors';
2
1
  import { validateDefinedAndNonEmpty } from '../utils';
3
- import { UserContext } from '../../walk';
4
- import { Oas2Operation } from '../../typings/swagger';
5
- import { Oas3Operation } from '../../typings/openapi';
2
+
3
+ import type { Oas3Rule, Oas2Rule } from '../../visitors';
4
+ import type { UserContext } from '../../walk';
5
+ import type { Oas2Operation } from '../../typings/swagger';
6
+ import type { Oas3Operation } from '../../typings/openapi';
6
7
 
7
8
  export const OperationSummary: Oas3Rule | Oas2Rule = () => {
8
9
  return {
@@ -1,7 +1,7 @@
1
- import { Oas3Rule, Oas2Rule } from '../../visitors';
2
- import { Oas2Definition, Oas2Operation } from '../../typings/swagger';
3
- import { Oas3Definition, Oas3Operation } from '../../typings/openapi';
4
- import { UserContext } from '../../walk';
1
+ import type { Oas3Rule, Oas2Rule } from '../../visitors';
2
+ import type { Oas2Definition, Oas2Operation } from '../../typings/swagger';
3
+ import type { Oas3Definition, Oas3Operation } from '../../typings/openapi';
4
+ import type { UserContext } from '../../walk';
5
5
 
6
6
  export const OperationTagDefined: Oas3Rule | Oas2Rule = () => {
7
7
  let definedTags: Set<string>;
@@ -1,7 +1,7 @@
1
- import { Oas3Rule, Oas2Rule } from '../../visitors';
2
- import { Oas2Parameter } from '../../typings/swagger';
3
- import { Oas3Parameter } from '../../typings/openapi';
4
- import { UserContext } from '../../walk';
1
+ import type { Oas3Rule, Oas2Rule } from '../../visitors';
2
+ import type { Oas2Parameter } from '../../typings/swagger';
3
+ import type { Oas3Parameter } from '../../typings/openapi';
4
+ import type { UserContext } from '../../walk';
5
5
 
6
6
  export const ParameterDescription: Oas3Rule | Oas2Rule = () => {
7
7
  return {
@@ -1,5 +1,5 @@
1
- import { Oas3Rule, Oas2Rule } from '../../visitors';
2
- import { UserContext } from '../../walk';
1
+ import type { Oas3Rule, Oas2Rule } from '../../visitors';
2
+ import type { UserContext } from '../../walk';
3
3
 
4
4
  export const PathDeclarationMustExist: Oas3Rule | Oas2Rule = () => {
5
5
  return {
@@ -1,7 +1,7 @@
1
- import { Oas2Rule, Oas3Rule } from '../../visitors';
2
- import { Oas2PathItem } from '../../typings/swagger';
3
- import { Oas3PathItem } from '../../typings/openapi';
4
- import { UserContext } from '../../walk';
1
+ import type { Oas2Rule, Oas3Rule } from '../../visitors';
2
+ import type { Oas2PathItem } from '../../typings/swagger';
3
+ import type { Oas3PathItem } from '../../typings/openapi';
4
+ import type { UserContext } from '../../walk';
5
5
 
6
6
  export const PathExcludesPatterns: Oas3Rule | Oas2Rule = ({ patterns }) => {
7
7
  return {
@@ -1,7 +1,7 @@
1
- import { Oas3Rule, Oas2Rule } from '../../visitors';
2
- import { Oas2PathItem } from '../../typings/swagger';
3
- import { Oas3PathItem } from '../../typings/openapi';
4
- import { UserContext } from '../../walk';
1
+ import type { Oas3Rule, Oas2Rule } from '../../visitors';
2
+ import type { Oas2PathItem } from '../../typings/swagger';
3
+ import type { Oas3PathItem } from '../../typings/openapi';
4
+ import type { UserContext } from '../../walk';
5
5
 
6
6
  const defaultOrder = ['get', 'head', 'post', 'put', 'patch', 'delete', 'options', 'trace'];
7
7
 
@@ -1,5 +1,5 @@
1
- import { Oas3Rule, Oas2Rule } from '../../visitors';
2
- import { UserContext } from '../../walk';
1
+ import type { Oas3Rule, Oas2Rule } from '../../visitors';
2
+ import type { UserContext } from '../../walk';
3
3
 
4
4
  export const PathNotIncludeQuery: Oas3Rule | Oas2Rule = () => {
5
5
  return {
@@ -1,7 +1,7 @@
1
- import { Oas3Rule, Oas2Rule } from '../../visitors';
2
- import { Oas2Parameter } from '../../typings/swagger';
3
- import { Oas3Parameter } from '../../typings/openapi';
4
- import { UserContext } from '../../walk';
1
+ import type { Oas3Rule, Oas2Rule } from '../../visitors';
2
+ import type { Oas2Parameter } from '../../typings/swagger';
3
+ import type { Oas3Parameter } from '../../typings/openapi';
4
+ import type { UserContext } from '../../walk';
5
5
 
6
6
  const pathRegex = /\{([a-zA-Z0-9_.-]+)\}+/g;
7
7
 
@@ -1,8 +1,9 @@
1
1
  import * as pluralize from 'pluralize';
2
- import { Oas3Rule, Oas2Rule } from '../../visitors';
3
- import { UserContext } from '../../walk';
4
2
  import { isPathParameter } from '../../utils';
5
3
 
4
+ import type { Oas3Rule, Oas2Rule } from '../../visitors';
5
+ import type { UserContext } from '../../walk';
6
+
6
7
  export const PathSegmentPlural: Oas3Rule | Oas2Rule = (opts) => {
7
8
  const { ignoreLastPathSegment, exceptions } = opts;
8
9
  return {
@@ -1,5 +1,5 @@
1
- import { Oas3Rule, Oas2Rule } from '../../visitors';
2
- import { UserContext } from '../../walk';
1
+ import type { Oas3Rule, Oas2Rule } from '../../visitors';
2
+ import type { UserContext } from '../../walk';
3
3
 
4
4
  export const PathsKebabCase: Oas3Rule | Oas2Rule = () => {
5
5
  return {
@@ -1,7 +1,7 @@
1
- import { UserContext } from '../../walk';
2
- import { Oas3Schema, Oas3_1Schema } from '../../typings/openapi';
3
- import { Oas2Schema } from 'core/src/typings/swagger';
4
- import { Oas3Rule } from 'core/src/visitors';
1
+ import type { UserContext } from '../../walk';
2
+ import type { Oas3Schema, Oas3_1Schema } from '../../typings/openapi';
3
+ import type { Oas2Schema } from 'core/src/typings/swagger';
4
+ import type { Oas3Rule } from 'core/src/visitors';
5
5
 
6
6
  export const RequiredStringPropertyMissingMinLength: Oas3Rule = () => {
7
7
  let skipSchemaProperties: boolean;
@@ -1,9 +1,10 @@
1
- import { Oas2Rule, Oas3Rule } from '../../visitors';
2
- import { UserContext } from '../../walk';
3
- import { Oas3Response } from '../../typings/openapi';
4
- import { Oas2Response } from '../../typings/swagger';
5
1
  import { getMatchingStatusCodeRange } from '../../utils';
6
2
 
3
+ import type { Oas2Rule, Oas3Rule } from '../../visitors';
4
+ import type { UserContext } from '../../walk';
5
+ import type { Oas3Response } from '../../typings/openapi';
6
+ import type { Oas2Response } from '../../typings/swagger';
7
+
7
8
  export const ResponseContainsHeader: Oas3Rule | Oas2Rule = (options) => {
8
9
  const names: Record<string, string[]> = options.names || {};
9
10
  return {
@@ -1,8 +1,9 @@
1
+ import { SpecVersion } from '../../oas-types';
2
+
1
3
  import type { Oas2Rule, Oas3Rule } from '../../visitors';
2
4
  import type { UserContext } from '../../walk';
3
5
  import type { Oas2Schema } from '../../typings/swagger';
4
6
  import type { Oas3Schema, Oas3_1Schema } from '../../typings/openapi';
5
- import { SpecVersion } from '../../oas-types';
6
7
 
7
8
  const SCALAR_TYPES = ['string', 'integer', 'number', 'boolean', 'null'];
8
9
 
@@ -1,13 +1,13 @@
1
- import { Oas3Rule, Oas2Rule } from '../../visitors';
2
- import { Location } from '../../ref-utils';
3
- import { UserContext } from '../../walk';
4
- import {
1
+ import type { Oas3Rule, Oas2Rule } from '../../visitors';
2
+ import type { Location } from '../../ref-utils';
3
+ import type { UserContext } from '../../walk';
4
+ import type {
5
5
  Oas2Definition,
6
6
  Oas2Operation,
7
7
  Oas2PathItem,
8
8
  Oas2SecurityScheme,
9
9
  } from '../../typings/swagger';
10
- import {
10
+ import type {
11
11
  Oas3Definition,
12
12
  Oas3Operation,
13
13
  Oas3PathItem,
@@ -1,6 +1,7 @@
1
- import { Oas2Rule, Oas3Rule } from '../../visitors';
2
1
  import { isRef } from '../../ref-utils';
3
2
 
3
+ import type { Oas2Rule, Oas3Rule } from '../../visitors';
4
+
4
5
  export const SpecStrictRefs: Oas3Rule | Oas2Rule = () => {
5
6
  const nodesToSkip = [
6
7
  'Schema',
@@ -1,9 +1,10 @@
1
- import type { Oas3Rule, Oas2Rule, Async2Rule, Async3Rule, ArazzoRule } from '../../visitors';
2
1
  import { isNamedType, SpecExtension } from '../../types';
3
2
  import { oasTypeOf, matchesJsonSchemaType, getSuggest, validateSchemaEnumType } from '../utils';
4
3
  import { isRef } from '../../ref-utils';
5
4
  import { isPlainObject } from '../../utils';
6
- import { UserContext } from '../../walk';
5
+
6
+ import type { UserContext } from '../../walk';
7
+ import type { Oas3Rule, Oas2Rule, Async2Rule, Async3Rule, ArazzoRule } from '../../visitors';
7
8
 
8
9
  export const Spec: Oas3Rule | Oas2Rule | Async2Rule | Async3Rule | ArazzoRule = () => {
9
10
  return {
@@ -1,6 +1,7 @@
1
- import { Oas3Rule, Oas2Rule } from '../../visitors';
2
1
  import { validateDefinedAndNonEmpty } from '../utils';
3
2
 
3
+ import type { Oas3Rule, Oas2Rule } from '../../visitors';
4
+
4
5
  export const TagDescription: Oas3Rule | Oas2Rule = () => {
5
6
  return {
6
7
  Tag(tag, ctx) {
@@ -1,7 +1,7 @@
1
- import { Oas3Rule, Oas2Rule } from '../../visitors';
2
- import { Oas2Definition, Oas2Tag } from '../../typings/swagger';
3
- import { Oas3Definition, Oas3Tag } from '../../typings/openapi';
4
- import { UserContext } from '../../walk';
1
+ import type { Oas3Rule, Oas2Rule } from '../../visitors';
2
+ import type { Oas2Definition, Oas2Tag } from '../../typings/swagger';
3
+ import type { Oas3Definition, Oas3Tag } from '../../typings/openapi';
4
+ import type { UserContext } from '../../walk';
5
5
 
6
6
  export const TagsAlphabetical: Oas3Rule | Oas2Rule = ({ ignoreCase = false }) => {
7
7
  return {
@@ -1,7 +1,8 @@
1
- import { Oas3Rule } from '../visitors';
2
1
  import { YamlParseError } from '../resolve';
3
- import { ResolveResult, Problem } from '../walk';
4
- import { Location } from '../ref-utils';
2
+
3
+ import type { Oas3Rule } from '../visitors';
4
+ import type { ResolveResult, Problem } from '../walk';
5
+ import type { Location } from '../ref-utils';
5
6
 
6
7
  export const NoUnresolvedRefs: Oas3Rule = () => {
7
8
  return {
@@ -21,7 +21,7 @@ describe('oas2 boolean-parameter-prefixes', () => {
21
21
  const results = await lintDocument({
22
22
  externalRefResolver: new BaseResolver(),
23
23
  document,
24
- config: await makeConfig({ 'boolean-parameter-prefixes': 'error' }),
24
+ config: await makeConfig({ rules: { 'boolean-parameter-prefixes': 'error' } }),
25
25
  });
26
26
 
27
27
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -73,7 +73,7 @@ describe('oas2 boolean-parameter-prefixes', () => {
73
73
  const results = await lintDocument({
74
74
  externalRefResolver: new BaseResolver(),
75
75
  document,
76
- config: await makeConfig({ 'boolean-parameter-prefixes': 'error' }),
76
+ config: await makeConfig({ rules: { 'boolean-parameter-prefixes': 'error' } }),
77
77
  });
78
78
 
79
79
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -98,9 +98,11 @@ describe('oas2 boolean-parameter-prefixes', () => {
98
98
  externalRefResolver: new BaseResolver(),
99
99
  document,
100
100
  config: await makeConfig({
101
- 'boolean-parameter-prefixes': {
102
- severity: 'error',
103
- prefixes: ['should'],
101
+ rules: {
102
+ 'boolean-parameter-prefixes': {
103
+ severity: 'error',
104
+ prefixes: ['should'],
105
+ },
104
106
  },
105
107
  }),
106
108
  });
@@ -29,9 +29,11 @@ describe('Oas2 response-contains-header', () => {
29
29
  externalRefResolver: new BaseResolver(),
30
30
  document,
31
31
  config: await makeConfig({
32
- 'response-contains-header': {
33
- severity: 'error',
34
- names: { '2xx': ['Content-Length'], '4xx': ['Content-Length'] },
32
+ rules: {
33
+ 'response-contains-header': {
34
+ severity: 'error',
35
+ names: { '2xx': ['Content-Length'], '4xx': ['Content-Length'] },
36
+ },
35
37
  },
36
38
  }),
37
39
  });
@@ -136,9 +138,11 @@ describe('Oas2 response-contains-header', () => {
136
138
  externalRefResolver: new BaseResolver(),
137
139
  document,
138
140
  config: await makeConfig({
139
- 'response-contains-header': {
140
- severity: 'error',
141
- names: { '2xx': ['Content-Length'], '400': ['Content-Length'] },
141
+ rules: {
142
+ 'response-contains-header': {
143
+ severity: 'error',
144
+ names: { '2xx': ['Content-Length'], '400': ['Content-Length'] },
145
+ },
142
146
  },
143
147
  }),
144
148
  });
@@ -164,8 +168,10 @@ describe('Oas2 response-contains-header', () => {
164
168
  externalRefResolver: new BaseResolver(),
165
169
  document,
166
170
  config: await makeConfig({
167
- 'response-contains-header': {
168
- severity: 'error',
171
+ rules: {
172
+ 'response-contains-header': {
173
+ severity: 'error',
174
+ },
169
175
  },
170
176
  }),
171
177
  });
@@ -35,9 +35,11 @@ describe('Oas2 response-contains-property', () => {
35
35
  externalRefResolver: new BaseResolver(),
36
36
  document,
37
37
  config: await makeConfig({
38
- 'response-contains-property': {
39
- severity: 'error',
40
- names: { '2xx': ['id'], '4xx': ['id'] },
38
+ rules: {
39
+ 'response-contains-property': {
40
+ severity: 'error',
41
+ names: { '2xx': ['id'], '4xx': ['id'] },
42
+ },
41
43
  },
42
44
  }),
43
45
  });
@@ -117,9 +119,11 @@ describe('Oas2 response-contains-property', () => {
117
119
  externalRefResolver: new BaseResolver(),
118
120
  document,
119
121
  config: await makeConfig({
120
- 'response-contains-property': {
121
- severity: 'error',
122
- names: { '200': ['id'], '4xx': ['id'] },
122
+ rules: {
123
+ 'response-contains-property': {
124
+ severity: 'error',
125
+ names: { '200': ['id'], '4xx': ['id'] },
126
+ },
123
127
  },
124
128
  }),
125
129
  });
@@ -145,8 +149,10 @@ describe('Oas2 response-contains-property', () => {
145
149
  externalRefResolver: new BaseResolver(),
146
150
  document,
147
151
  config: await makeConfig({
148
- 'response-contains-property': {
149
- severity: 'error',
152
+ rules: {
153
+ 'response-contains-property': {
154
+ severity: 'error',
155
+ },
150
156
  },
151
157
  }),
152
158
  });
@@ -26,7 +26,9 @@ describe('Referenceable scalars', () => {
26
26
  externalRefResolver: new BaseResolver(),
27
27
  document,
28
28
  config: await makeConfig({
29
- spec: 'error',
29
+ rules: {
30
+ spec: 'error',
31
+ },
30
32
  }),
31
33
  });
32
34
 
@@ -1,4 +1,4 @@
1
- import { Oas2Rule } from '../../visitors';
1
+ import type { Oas2Rule } from '../../visitors';
2
2
 
3
3
  export type BooleanParameterPrefixesOptions = {
4
4
  prefixes?: string[];
@@ -1,10 +1,10 @@
1
- import { Oas2Rule } from '../../visitors';
2
1
  import { Spec } from '../common/spec';
3
2
  import { NoInvalidSchemaExamples } from '../common/no-invalid-schema-examples';
4
3
  import { NoInvalidParameterExamples } from '../common/no-invalid-parameter-examples';
5
4
  import { InfoContact } from '../common/info-contact';
6
5
  import { InfoLicense } from '../common/info-license';
7
6
  import { InfoLicenseUrl } from '../common/info-license-url';
7
+ import { InfoLicenseStrict } from '../common/info-license-strict';
8
8
  import { BooleanParameterPrefixes } from './boolean-parameter-prefixes';
9
9
  import { TagDescription } from '../common/tag-description';
10
10
  import { TagsAlphabetical } from '../common/tags-alphabetical';
@@ -43,7 +43,8 @@ import { RequiredStringPropertyMissingMinLength } from '../common/required-strin
43
43
  import { SpecStrictRefs } from '../common/spec-strict-refs';
44
44
  import { NoRequiredSchemaPropertiesUndefined } from '../common/no-required-schema-properties-undefined';
45
45
 
46
- import type { Oas2RuleSet } from 'core/src/oas-types';
46
+ import type { Oas2Rule } from '../../visitors';
47
+ import type { Oas2RuleSet } from '../../oas-types';
47
48
 
48
49
  export const rules: Oas2RuleSet<'built-in'> = {
49
50
  spec: Spec as Oas2Rule,
@@ -52,6 +53,7 @@ export const rules: Oas2RuleSet<'built-in'> = {
52
53
  'info-contact': InfoContact as Oas2Rule,
53
54
  'info-license': InfoLicense as Oas2Rule,
54
55
  'info-license-url': InfoLicenseUrl as Oas2Rule,
56
+ 'info-license-strict': InfoLicenseStrict as Oas2Rule,
55
57
  'tag-description': TagDescription as Oas2Rule,
56
58
  'tags-alphabetical': TagsAlphabetical as Oas2Rule,
57
59
  'paths-kebab-case': PathsKebabCase as Oas2Rule,
@@ -1,6 +1,7 @@
1
+ import { validateMimeType } from '../../utils';
2
+
1
3
  import type { Oas2Rule } from '../../visitors';
2
4
  import type { UserContext } from '../../walk';
3
- import { validateMimeType } from '../../utils';
4
5
 
5
6
  export const RequestMimeType: Oas2Rule = ({ allowedValues }) => {
6
7
  return {
@@ -1,7 +1,8 @@
1
- import { Oas2Rule } from '../../visitors';
2
- import { UserContext } from '../../walk';
3
1
  import { getMatchingStatusCodeRange } from '../../utils';
4
2
 
3
+ import type { Oas2Rule } from '../../visitors';
4
+ import type { UserContext } from '../../walk';
5
+
5
6
  export const ResponseContainsProperty: Oas2Rule = (options) => {
6
7
  const names: Record<string, string[]> = options.names || {};
7
8
  let key: string | number;
@@ -1,6 +1,7 @@
1
+ import { validateMimeType } from '../../utils';
2
+
1
3
  import type { Oas2Rule } from '../../visitors';
2
4
  import type { UserContext } from '../../walk';
3
- import { validateMimeType } from '../../utils';
4
5
 
5
6
  export const ResponseMimeType: Oas2Rule = ({ allowedValues }) => {
6
7
  return {
@@ -30,7 +30,9 @@ describe('oas3 array-parameter-serialization', () => {
30
30
  externalRefResolver: new BaseResolver(),
31
31
  document,
32
32
  config: await makeConfig({
33
- 'array-parameter-serialization': { severity: 'error', in: ['query'] },
33
+ rules: {
34
+ 'array-parameter-serialization': { severity: 'error', in: ['query'] },
35
+ },
34
36
  }),
35
37
  });
36
38
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -73,7 +75,9 @@ describe('oas3 array-parameter-serialization', () => {
73
75
  externalRefResolver: new BaseResolver(),
74
76
  document,
75
77
  config: await makeConfig({
76
- 'array-parameter-serialization': { severity: 'error', in: ['query'] },
78
+ rules: {
79
+ 'array-parameter-serialization': { severity: 'error', in: ['query'] },
80
+ },
77
81
  }),
78
82
  });
79
83
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -126,7 +130,9 @@ describe('oas3 array-parameter-serialization', () => {
126
130
  externalRefResolver: new BaseResolver(),
127
131
  document,
128
132
  config: await makeConfig({
129
- 'array-parameter-serialization': { severity: 'error', in: ['query'] },
133
+ rules: {
134
+ 'array-parameter-serialization': { severity: 'error', in: ['query'] },
135
+ },
130
136
  }),
131
137
  });
132
138
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -170,7 +176,9 @@ describe('oas3 array-parameter-serialization', () => {
170
176
  externalRefResolver: new BaseResolver(),
171
177
  document,
172
178
  config: await makeConfig({
173
- 'array-parameter-serialization': { severity: 'error', in: ['query'] },
179
+ rules: {
180
+ 'array-parameter-serialization': { severity: 'error', in: ['query'] },
181
+ },
174
182
  }),
175
183
  });
176
184
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -194,7 +202,9 @@ describe('oas3 array-parameter-serialization', () => {
194
202
  externalRefResolver: new BaseResolver(),
195
203
  document,
196
204
  config: await makeConfig({
197
- 'array-parameter-serialization': { severity: 'error', in: ['query'] },
205
+ rules: {
206
+ 'array-parameter-serialization': { severity: 'error', in: ['query'] },
207
+ },
198
208
  }),
199
209
  });
200
210
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -226,7 +236,9 @@ describe('oas3 array-parameter-serialization', () => {
226
236
  externalRefResolver: new BaseResolver(),
227
237
  document,
228
238
  config: await makeConfig({
229
- 'array-parameter-serialization': { severity: 'error' },
239
+ rules: {
240
+ 'array-parameter-serialization': { severity: 'error' },
241
+ },
230
242
  }),
231
243
  });
232
244
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -22,7 +22,7 @@ describe('oas3 boolean-parameter-prefixes', () => {
22
22
  const results = await lintDocument({
23
23
  externalRefResolver: new BaseResolver(),
24
24
  document,
25
- config: await makeConfig({ 'boolean-parameter-prefixes': 'error' }),
25
+ config: await makeConfig({ rules: { 'boolean-parameter-prefixes': 'error' } }),
26
26
  });
27
27
 
28
28
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -74,7 +74,7 @@ describe('oas3 boolean-parameter-prefixes', () => {
74
74
  const results = await lintDocument({
75
75
  externalRefResolver: new BaseResolver(),
76
76
  document,
77
- config: await makeConfig({ 'boolean-parameter-prefixes': 'error' }),
77
+ config: await makeConfig({ rules: { 'boolean-parameter-prefixes': 'error' } }),
78
78
  });
79
79
 
80
80
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -99,9 +99,11 @@ describe('oas3 boolean-parameter-prefixes', () => {
99
99
  externalRefResolver: new BaseResolver(),
100
100
  document,
101
101
  config: await makeConfig({
102
- 'boolean-parameter-prefixes': {
103
- severity: 'error',
104
- prefixes: ['should'],
102
+ rules: {
103
+ 'boolean-parameter-prefixes': {
104
+ severity: 'error',
105
+ prefixes: ['should'],
106
+ },
105
107
  },
106
108
  }),
107
109
  });
@@ -24,7 +24,7 @@ describe('Oas3 as3-no-server-variables-empty-enum', () => {
24
24
  const results = await lintDocument({
25
25
  externalRefResolver: new BaseResolver(),
26
26
  document,
27
- config: await makeConfig({ 'no-server-variables-empty-enum': 'error' }),
27
+ config: await makeConfig({ rules: { 'no-server-variables-empty-enum': 'error' } }),
28
28
  });
29
29
 
30
30
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -78,7 +78,7 @@ describe('Oas3 as3-no-server-variables-empty-enum', () => {
78
78
  const results = await lintDocument({
79
79
  externalRefResolver: new BaseResolver(),
80
80
  document,
81
- config: await makeConfig({ 'no-server-variables-empty-enum': 'error' }),
81
+ config: await makeConfig({ rules: { 'no-server-variables-empty-enum': 'error' } }),
82
82
  });
83
83
 
84
84
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`
@@ -117,7 +117,7 @@ describe('Oas3 as3-no-server-variables-empty-enum', () => {
117
117
  const results = await lintDocument({
118
118
  externalRefResolver: new BaseResolver(),
119
119
  document,
120
- config: await makeConfig({ 'no-server-variables-empty-enum': 'error' }),
120
+ config: await makeConfig({ rules: { 'no-server-variables-empty-enum': 'error' } }),
121
121
  });
122
122
 
123
123
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -141,7 +141,7 @@ describe('Oas3 as3-no-server-variables-empty-enum', () => {
141
141
  const results = await lintDocument({
142
142
  externalRefResolver: new BaseResolver(),
143
143
  document,
144
- config: await makeConfig({ 'no-server-variables-empty-enum': 'error' }),
144
+ config: await makeConfig({ rules: { 'no-server-variables-empty-enum': 'error' } }),
145
145
  });
146
146
 
147
147
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -168,7 +168,7 @@ describe('Oas3 as3-no-server-variables-empty-enum', () => {
168
168
  const results = await lintDocument({
169
169
  externalRefResolver: new BaseResolver(),
170
170
  document,
171
- config: await makeConfig({ 'no-server-variables-empty-enum': 'error' }),
171
+ config: await makeConfig({ rules: { 'no-server-variables-empty-enum': 'error' } }),
172
172
  });
173
173
 
174
174
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);
@@ -197,7 +197,7 @@ describe('Oas3 as3-no-server-variables-empty-enum', () => {
197
197
  const results = await lintDocument({
198
198
  externalRefResolver: new BaseResolver(),
199
199
  document,
200
- config: await makeConfig({ 'no-server-variables-empty-enum': 'error' }),
200
+ config: await makeConfig({ rules: { 'no-server-variables-empty-enum': 'error' } }),
201
201
  });
202
202
 
203
203
  expect(replaceSourceWithRef(results)).toMatchInlineSnapshot(`[]`);