@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
@@ -52,7 +52,10 @@ describe('oas3 filter-out', () => {
52
52
  const { bundle: res } = await bundleDocument({
53
53
  document: testDocument,
54
54
  externalRefResolver: new BaseResolver(),
55
- config: await makeConfig({}, { 'filter-out': { property: 'x-access', value: 'private' } }),
55
+ config: await makeConfig({
56
+ rules: {},
57
+ decorators: { 'filter-out': { property: 'x-access', value: 'private' } },
58
+ }),
56
59
  });
57
60
  expect(res.parsed).toMatchInlineSnapshot(`
58
61
  openapi: 3.0.0
@@ -68,16 +71,16 @@ describe('oas3 filter-out', () => {
68
71
  const { bundle: res } = await bundleDocument({
69
72
  document: inputDoc,
70
73
  externalRefResolver: new BaseResolver(),
71
- config: await makeConfig(
72
- {},
73
- {
74
+ config: await makeConfig({
75
+ rules: {},
76
+ decorators: {
74
77
  'filter-out': {
75
78
  property: 'x-audience',
76
79
  value: ['Private', 'Protected'],
77
80
  matchStrategy: 'all',
78
81
  },
79
- }
80
- ),
82
+ },
83
+ }),
81
84
  });
82
85
  expect(res.parsed).toMatchInlineSnapshot(`
83
86
  openapi: 3.0.0
@@ -99,16 +102,16 @@ describe('oas3 filter-out', () => {
99
102
  const { bundle: res } = await bundleDocument({
100
103
  document: inputDoc,
101
104
  externalRefResolver: new BaseResolver(),
102
- config: await makeConfig(
103
- {},
104
- {
105
+ config: await makeConfig({
106
+ rules: {},
107
+ decorators: {
105
108
  'filter-out': {
106
109
  property: 'x-audience',
107
110
  value: ['Private', 'Protected'],
108
111
  matchStrategy: 'any',
109
112
  },
110
- }
111
- ),
113
+ },
114
+ }),
112
115
  });
113
116
  expect(res.parsed).toMatchInlineSnapshot(`
114
117
  openapi: 3.0.0
@@ -138,16 +141,16 @@ describe('oas3 filter-out', () => {
138
141
  const { bundle: res } = await bundleDocument({
139
142
  document: testDoc,
140
143
  externalRefResolver: new BaseResolver(),
141
- config: await makeConfig(
142
- {},
143
- {
144
+ config: await makeConfig({
145
+ rules: {},
146
+ decorators: {
144
147
  'filter-out': {
145
148
  property: 'x-access',
146
149
  value: 'private',
147
150
  matchStrategy: 'any',
148
151
  },
149
- }
150
- ),
152
+ },
153
+ }),
151
154
  });
152
155
  expect(res.parsed).toMatchInlineSnapshot(`
153
156
  openapi: 3.0.0
@@ -192,7 +195,10 @@ describe('oas3 filter-out', () => {
192
195
  const { bundle: res } = await bundleDocument({
193
196
  document: testDocument,
194
197
  externalRefResolver: new BaseResolver(),
195
- config: await makeConfig({}, { 'filter-out': { property: 'x-prop', value: false } }),
198
+ config: await makeConfig({
199
+ rules: {},
200
+ decorators: { 'filter-out': { property: 'x-prop', value: false } },
201
+ }),
196
202
  });
197
203
  expect(res.parsed).toMatchInlineSnapshot(`
198
204
  openapi: 3.0.0
@@ -244,7 +250,10 @@ describe('oas3 filter-out', () => {
244
250
  const { bundle: res } = await bundleDocument({
245
251
  document: testDocument,
246
252
  externalRefResolver: new BaseResolver(),
247
- config: await makeConfig({}, { 'filter-out': { property: 'x-prop', value: null } }),
253
+ config: await makeConfig({
254
+ rules: {},
255
+ decorators: { 'filter-out': { property: 'x-prop', value: null } },
256
+ }),
248
257
  });
249
258
  expect(res.parsed).toMatchInlineSnapshot(`
250
259
  openapi: 3.0.0
@@ -305,16 +314,16 @@ describe('oas2 filter-out', () => {
305
314
  const { bundle: res } = await bundleDocument({
306
315
  document: testDoc,
307
316
  externalRefResolver: new BaseResolver(),
308
- config: await makeConfig(
309
- {},
310
- {
317
+ config: await makeConfig({
318
+ rules: {},
319
+ decorators: {
311
320
  'filter-out': {
312
321
  property: 'x-access',
313
322
  value: ['private', 'protected'],
314
323
  matchStrategy: 'any',
315
324
  },
316
- }
317
- ),
325
+ },
326
+ }),
318
327
  });
319
328
  expect(res.parsed).toMatchInlineSnapshot(`
320
329
  swagger: '2.0'
@@ -28,9 +28,9 @@ describe('oas3 media-type-examples-override', () => {
28
28
  const { bundle: res } = await bundleDocument({
29
29
  document: testDocument,
30
30
  externalRefResolver: new BaseResolver(),
31
- config: await makeConfig(
32
- {},
33
- {
31
+ config: await makeConfig({
32
+ rules: {},
33
+ decorators: {
34
34
  'media-type-examples-override': {
35
35
  operationIds: {
36
36
  getUserById: {
@@ -43,8 +43,8 @@ describe('oas3 media-type-examples-override', () => {
43
43
  },
44
44
  },
45
45
  },
46
- }
47
- ),
46
+ },
47
+ }),
48
48
  });
49
49
 
50
50
  expect(res.parsed).toMatchInlineSnapshot(`
@@ -88,9 +88,9 @@ describe('oas3 media-type-examples-override', () => {
88
88
  const { bundle: res } = await bundleDocument({
89
89
  document: testDocument,
90
90
  externalRefResolver: new BaseResolver(),
91
- config: await makeConfig(
92
- {},
93
- {
91
+ config: await makeConfig({
92
+ rules: {},
93
+ decorators: {
94
94
  'media-type-examples-override': {
95
95
  operationIds: {
96
96
  getUserById: {
@@ -101,8 +101,8 @@ describe('oas3 media-type-examples-override', () => {
101
101
  },
102
102
  },
103
103
  },
104
- }
105
- ),
104
+ },
105
+ }),
106
106
  });
107
107
 
108
108
  expect(res.parsed).toMatchInlineSnapshot(`
@@ -153,9 +153,9 @@ describe('oas3 media-type-examples-override', () => {
153
153
  const { bundle: res } = await bundleDocument({
154
154
  document: testDocument,
155
155
  externalRefResolver: new BaseResolver(),
156
- config: await makeConfig(
157
- {},
158
- {
156
+ config: await makeConfig({
157
+ rules: {},
158
+ decorators: {
159
159
  'media-type-examples-override': {
160
160
  operationIds: {
161
161
  getUserById: {
@@ -176,8 +176,8 @@ describe('oas3 media-type-examples-override', () => {
176
176
  },
177
177
  },
178
178
  },
179
- }
180
- ),
179
+ },
180
+ }),
181
181
  });
182
182
 
183
183
  expect(res.parsed).toMatchInlineSnapshot(`
@@ -245,9 +245,9 @@ describe('oas3 media-type-examples-override', () => {
245
245
  const { bundle: res } = await bundleDocument({
246
246
  document: testDocument,
247
247
  externalRefResolver: new BaseResolver(),
248
- config: await makeConfig(
249
- {},
250
- {
248
+ config: await makeConfig({
249
+ rules: {},
250
+ decorators: {
251
251
  'media-type-examples-override': {
252
252
  operationIds: {
253
253
  getUserById: {
@@ -264,8 +264,8 @@ describe('oas3 media-type-examples-override', () => {
264
264
  },
265
265
  },
266
266
  },
267
- }
268
- ),
267
+ },
268
+ }),
269
269
  });
270
270
 
271
271
  expect(res.parsed).toMatchInlineSnapshot(`
@@ -345,9 +345,9 @@ describe('oas3 media-type-examples-override', () => {
345
345
  const { bundle: res } = await bundleDocument({
346
346
  document: testDocument,
347
347
  externalRefResolver: new BaseResolver(),
348
- config: await makeConfig(
349
- {},
350
- {
348
+ config: await makeConfig({
349
+ rules: {},
350
+ decorators: {
351
351
  'media-type-examples-override': {
352
352
  operationIds: {
353
353
  getUserById: {
@@ -364,8 +364,8 @@ describe('oas3 media-type-examples-override', () => {
364
364
  },
365
365
  },
366
366
  },
367
- }
368
- ),
367
+ },
368
+ }),
369
369
  });
370
370
 
371
371
  expect(res.parsed).toMatchInlineSnapshot(`
@@ -417,9 +417,9 @@ describe('oas3 media-type-examples-override', () => {
417
417
  const { bundle: res } = await bundleDocument({
418
418
  document: testDocument,
419
419
  externalRefResolver: new BaseResolver(),
420
- config: await makeConfig(
421
- {},
422
- {
420
+ config: await makeConfig({
421
+ rules: {},
422
+ decorators: {
423
423
  'media-type-examples-override': {
424
424
  operationIds: {
425
425
  getUserById: {
@@ -436,8 +436,8 @@ describe('oas3 media-type-examples-override', () => {
436
436
  },
437
437
  },
438
438
  },
439
- }
440
- ),
439
+ },
440
+ }),
441
441
  });
442
442
 
443
443
  expect(res.parsed).toMatchInlineSnapshot(`
@@ -489,9 +489,9 @@ describe('oas3 media-type-examples-override', () => {
489
489
  const { bundle: res } = await bundleDocument({
490
490
  document: testDocument,
491
491
  externalRefResolver: new BaseResolver(),
492
- config: await makeConfig(
493
- {},
494
- {
492
+ config: await makeConfig({
493
+ rules: {},
494
+ decorators: {
495
495
  'media-type-examples-override': {
496
496
  operationIds: {
497
497
  getUserById: {
@@ -504,8 +504,8 @@ describe('oas3 media-type-examples-override', () => {
504
504
  },
505
505
  },
506
506
  },
507
- }
508
- ),
507
+ },
508
+ }),
509
509
  });
510
510
 
511
511
  expect(res.parsed).toMatchInlineSnapshot(`
@@ -550,9 +550,9 @@ describe('oas3 media-type-examples-override', () => {
550
550
  const { bundle: res } = await bundleDocument({
551
551
  document: testDocument,
552
552
  externalRefResolver: new BaseResolver(),
553
- config: await makeConfig(
554
- {},
555
- {
553
+ config: await makeConfig({
554
+ rules: {},
555
+ decorators: {
556
556
  'media-type-examples-override': {
557
557
  operationIds: {
558
558
  getUserById: {
@@ -565,8 +565,8 @@ describe('oas3 media-type-examples-override', () => {
565
565
  },
566
566
  },
567
567
  },
568
- }
569
- ),
568
+ },
569
+ }),
570
570
  });
571
571
 
572
572
  expect(res.parsed).toMatchInlineSnapshot(`
@@ -618,9 +618,9 @@ describe('oas3 media-type-examples-override', () => {
618
618
  const { bundle: res } = await bundleDocument({
619
619
  document: testDocument,
620
620
  externalRefResolver: new BaseResolver(),
621
- config: await makeConfig(
622
- {},
623
- {
621
+ config: await makeConfig({
622
+ rules: {},
623
+ decorators: {
624
624
  'media-type-examples-override': {
625
625
  operationIds: {
626
626
  getUserById: {
@@ -633,8 +633,8 @@ describe('oas3 media-type-examples-override', () => {
633
633
  },
634
634
  },
635
635
  },
636
- }
637
- ),
636
+ },
637
+ }),
638
638
  });
639
639
 
640
640
  expect(res.parsed).toMatchInlineSnapshot(`
@@ -25,7 +25,10 @@ describe('oas3 remove-x-internal', () => {
25
25
  const { bundle: res } = await bundleDocument({
26
26
  document: testDocument,
27
27
  externalRefResolver: new BaseResolver(),
28
- config: await makeConfig({}, { 'remove-x-internal': { internalFlagProperty: 'removeit' } }),
28
+ config: await makeConfig({
29
+ rules: {},
30
+ decorators: { 'remove-x-internal': { internalFlagProperty: 'removeit' } },
31
+ }),
29
32
  });
30
33
  expect(res.parsed).toMatchInlineSnapshot(`
31
34
  openapi: 3.0.0
@@ -92,7 +95,7 @@ describe('oas3 remove-x-internal', () => {
92
95
  const { bundle: res } = await bundleDocument({
93
96
  document: testDoc,
94
97
  externalRefResolver: new BaseResolver(),
95
- config: await makeConfig({}, { 'remove-x-internal': 'on' }),
98
+ config: await makeConfig({ rules: {}, decorators: { 'remove-x-internal': 'on' } }),
96
99
  });
97
100
  expect(res.parsed).toMatchInlineSnapshot(`
98
101
  openapi: 3.1.0
@@ -165,7 +168,7 @@ describe('oas3 remove-x-internal', () => {
165
168
  const { bundle: res } = await bundleDocument({
166
169
  document: testDoc,
167
170
  externalRefResolver: new BaseResolver(),
168
- config: await makeConfig({}, { 'remove-x-internal': 'on' }),
171
+ config: await makeConfig({ rules: {}, decorators: { 'remove-x-internal': 'on' } }),
169
172
  });
170
173
 
171
174
  expect(res.parsed).toMatchInlineSnapshot(`
@@ -239,7 +242,7 @@ describe('oas3 remove-x-internal', () => {
239
242
  const { bundle: res } = await bundleDocument({
240
243
  document: testDoc,
241
244
  externalRefResolver: new BaseResolver(),
242
- config: await makeConfig({}, { 'remove-x-internal': 'on' }),
245
+ config: await makeConfig({ rules: {}, decorators: { 'remove-x-internal': 'on' } }),
243
246
  });
244
247
  expect(res.parsed).toMatchInlineSnapshot(`
245
248
  openapi: 3.0.1
@@ -302,7 +305,7 @@ describe('oas2 remove-x-internal', () => {
302
305
  const { bundle: res } = await bundleDocument({
303
306
  document: testDoc,
304
307
  externalRefResolver: new BaseResolver(),
305
- config: await makeConfig({}, { 'remove-x-internal': 'on' }),
308
+ config: await makeConfig({ rules: {}, decorators: { 'remove-x-internal': 'on' } }),
306
309
  });
307
310
  expect(res.parsed).toMatchInlineSnapshot(`
308
311
  swagger: '2.0'
@@ -1,7 +1,8 @@
1
- import { UserContext } from '../../../walk';
2
1
  import { isRef } from '../../../ref-utils';
3
2
  import { isEmptyArray, isEmptyObject, isPlainObject } from '../../../utils';
4
3
 
4
+ import type { UserContext } from '../../../walk';
5
+
5
6
  export function filter(node: any, ctx: UserContext, criteria: (item: any) => boolean) {
6
7
  const { parent, key } = ctx;
7
8
  let didDelete = false;
@@ -1,6 +1,7 @@
1
- import { Oas2Decorator, Oas3Decorator } from '../../../visitors';
2
1
  import { checkIfMatchByStrategy, filter } from './filter-helper';
3
2
 
3
+ import type { Oas2Decorator, Oas3Decorator } from '../../../visitors';
4
+
4
5
  const DEFAULT_STRATEGY = 'any';
5
6
 
6
7
  export const FilterIn: Oas3Decorator | Oas2Decorator = ({ property, value, matchStrategy }) => {
@@ -1,6 +1,7 @@
1
- import { Oas2Decorator, Oas3Decorator } from '../../../visitors';
2
1
  import { checkIfMatchByStrategy, filter } from './filter-helper';
3
2
 
3
+ import type { Oas2Decorator, Oas3Decorator } from '../../../visitors';
4
+
4
5
  const DEFAULT_STRATEGY = 'any';
5
6
 
6
7
  export const FilterOut: Oas3Decorator | Oas2Decorator = ({ property, value, matchStrategy }) => {
@@ -1,6 +1,7 @@
1
- import { Oas3Decorator, Oas2Decorator } from '../../visitors';
2
1
  import { readFileAsStringSync } from '../../utils';
3
- import { UserContext } from '../../walk';
2
+
3
+ import type { Oas3Decorator, Oas2Decorator } from '../../visitors';
4
+ import type { UserContext } from '../../walk';
4
5
 
5
6
  export const InfoDescriptionOverride: Oas3Decorator | Oas2Decorator = ({ filePath }) => {
6
7
  return {
@@ -1,4 +1,4 @@
1
- import { Oas3Decorator, Oas2Decorator } from '../../visitors';
1
+ import type { Oas3Decorator, Oas2Decorator } from '../../visitors';
2
2
 
3
3
  export const InfoOverride: Oas3Decorator | Oas2Decorator = (newInfo) => {
4
4
  return {
@@ -1,8 +1,9 @@
1
- import { Oas3Decorator } from '../../visitors';
2
- import { Oas3Operation, Oas3RequestBody, Oas3Response } from '../../typings/openapi';
3
1
  import { yamlAndJsonSyncReader } from '../../utils';
4
2
  import { isRef } from '../../ref-utils';
5
- import { NonUndefined, ResolveFn, UserContext } from '../../walk';
3
+
4
+ import type { Oas3Decorator } from '../../visitors';
5
+ import type { Oas3Operation, Oas3RequestBody, Oas3Response } from '../../typings/openapi';
6
+ import type { NonUndefined, ResolveFn, UserContext } from '../../walk';
6
7
 
7
8
  export const MediaTypeExamplesOverride: Oas3Decorator = ({ operationIds }) => {
8
9
  return {
@@ -1,8 +1,9 @@
1
- import { Oas3Decorator, Oas2Decorator } from '../../visitors';
2
- import { Oas2Operation } from '../../typings/swagger';
3
- import { Oas3Operation } from '../../typings/openapi';
4
1
  import { readFileAsStringSync } from '../../utils';
5
- import { UserContext } from '../../walk';
2
+
3
+ import type { Oas3Decorator, Oas2Decorator } from '../../visitors';
4
+ import type { Oas2Operation } from '../../typings/swagger';
5
+ import type { Oas3Operation } from '../../typings/openapi';
6
+ import type { UserContext } from '../../walk';
6
7
 
7
8
  export const OperationDescriptionOverride: Oas3Decorator | Oas2Decorator = ({ operationIds }) => {
8
9
  return {
@@ -1,7 +1,7 @@
1
- import { UserContext } from '../../walk';
2
1
  import { isRedoclyRegistryURL } from '../../redocly/domains';
3
2
 
4
- import { Oas3Decorator, Oas2Decorator } from '../../visitors';
3
+ import type { UserContext } from '../../walk';
4
+ import type { Oas3Decorator, Oas2Decorator } from '../../visitors';
5
5
 
6
6
  export const RegistryDependencies: Oas3Decorator | Oas2Decorator = () => {
7
7
  const registryDependencies = new Set<string>();
@@ -1,8 +1,9 @@
1
- import { Oas3Decorator, Oas2Decorator } from '../../visitors';
2
1
  import { isEmptyArray, isEmptyObject, isPlainObject } from '../../utils';
3
- import { UserContext } from '../../walk';
4
2
  import { isRef } from '../../ref-utils';
5
3
 
4
+ import type { Oas3Decorator, Oas2Decorator } from '../../visitors';
5
+ import type { UserContext } from '../../walk';
6
+
6
7
  const DEFAULT_INTERNAL_PROPERTY_NAME = 'x-internal';
7
8
 
8
9
  export const RemoveXInternal: Oas3Decorator | Oas2Decorator = ({ internalFlagProperty }) => {
@@ -1,6 +1,7 @@
1
- import { Oas3Decorator, Oas2Decorator } from '../../visitors';
2
1
  import { readFileAsStringSync } from '../../utils';
3
- import { UserContext } from '../../walk';
2
+
3
+ import type { Oas3Decorator, Oas2Decorator } from '../../visitors';
4
+ import type { UserContext } from '../../walk';
4
5
 
5
6
  export const TagDescriptionOverride: Oas3Decorator | Oas2Decorator = ({ tagNames }) => {
6
7
  return {
@@ -38,7 +38,7 @@ describe('oas2 remove-unused-components', () => {
38
38
  const results = await bundleDocument({
39
39
  externalRefResolver: new BaseResolver(),
40
40
  document,
41
- config: await makeConfig({}),
41
+ config: await makeConfig({ rules: {} }),
42
42
  removeUnusedComponents: true,
43
43
  });
44
44
 
@@ -111,7 +111,7 @@ describe('oas2 remove-unused-components', () => {
111
111
  const results = await bundleDocument({
112
112
  externalRefResolver: new BaseResolver(),
113
113
  document,
114
- config: await makeConfig({}),
114
+ config: await makeConfig({ rules: {} }),
115
115
  removeUnusedComponents: true,
116
116
  });
117
117
 
@@ -192,7 +192,7 @@ describe('oas2 remove-unused-components', () => {
192
192
  const results = await bundleDocument({
193
193
  externalRefResolver: new BaseResolver(),
194
194
  document,
195
- config: await makeConfig({}),
195
+ config: await makeConfig({ rules: {} }),
196
196
  removeUnusedComponents: true,
197
197
  });
198
198
 
@@ -1,4 +1,3 @@
1
- import { Oas2Decorator } from '../../visitors';
2
1
  import { RegistryDependencies } from '../common/registry-dependencies';
3
2
  import { OperationDescriptionOverride } from '../common/operation-description-override';
4
3
  import { TagDescriptionOverride } from '../common/tag-description-override';
@@ -8,6 +7,8 @@ import { RemoveXInternal } from '../common/remove-x-internal';
8
7
  import { FilterIn } from '../common/filters/filter-in';
9
8
  import { FilterOut } from '../common/filters/filter-out';
10
9
 
10
+ import type { Oas2Decorator } from '../../visitors';
11
+
11
12
  export const decorators = {
12
13
  'registry-dependencies': RegistryDependencies as Oas2Decorator,
13
14
  'operation-description-override': OperationDescriptionOverride as Oas2Decorator,
@@ -1,6 +1,6 @@
1
- import { Location } from '../../ref-utils';
2
1
  import { isEmptyObject } from '../../utils';
3
2
 
3
+ import type { Location } from '../../ref-utils';
4
4
  import type { Oas2Decorator } from '../../visitors';
5
5
  import type { Oas2Components, Oas2Definition } from '../../typings/swagger';
6
6
 
@@ -42,7 +42,7 @@ describe('oas3 remove-unused-components', () => {
42
42
  const results = await bundleDocument({
43
43
  externalRefResolver: new BaseResolver(),
44
44
  document,
45
- config: await makeConfig({}),
45
+ config: await makeConfig({ rules: {} }),
46
46
  removeUnusedComponents: true,
47
47
  });
48
48
 
@@ -121,7 +121,7 @@ describe('oas3 remove-unused-components', () => {
121
121
  const results = await bundleDocument({
122
122
  externalRefResolver: new BaseResolver(),
123
123
  document,
124
- config: await makeConfig({}),
124
+ config: await makeConfig({ rules: {} }),
125
125
  removeUnusedComponents: true,
126
126
  });
127
127
 
@@ -204,7 +204,7 @@ describe('oas3 remove-unused-components', () => {
204
204
  const results = await bundleDocument({
205
205
  externalRefResolver: new BaseResolver(),
206
206
  document,
207
- config: await makeConfig({}),
207
+ config: await makeConfig({ rules: {} }),
208
208
  removeUnusedComponents: true,
209
209
  });
210
210
 
@@ -270,7 +270,7 @@ describe('oas3 remove-unused-components', () => {
270
270
  const results = await bundleDocument({
271
271
  externalRefResolver: new BaseResolver(),
272
272
  document,
273
- config: await makeConfig({}),
273
+ config: await makeConfig({ rules: {} }),
274
274
  removeUnusedComponents: true,
275
275
  });
276
276
 
@@ -1,4 +1,3 @@
1
- import { Oas3Decorator } from '../../visitors';
2
1
  import { RegistryDependencies } from '../common/registry-dependencies';
3
2
  import { OperationDescriptionOverride } from '../common/operation-description-override';
4
3
  import { TagDescriptionOverride } from '../common/tag-description-override';
@@ -9,6 +8,8 @@ import { FilterIn } from '../common/filters/filter-in';
9
8
  import { FilterOut } from '../common/filters/filter-out';
10
9
  import { MediaTypeExamplesOverride } from '../common/media-type-examples-override';
11
10
 
11
+ import type { Oas3Decorator } from '../../visitors';
12
+
12
13
  export const decorators = {
13
14
  'registry-dependencies': RegistryDependencies as Oas3Decorator,
14
15
  'operation-description-override': OperationDescriptionOverride as Oas3Decorator,
@@ -1,6 +1,6 @@
1
- import { Location } from '../../ref-utils';
2
1
  import { isEmptyObject } from '../../utils';
3
2
 
3
+ import type { Location } from '../../ref-utils';
4
4
  import type { Oas3Decorator } from '../../visitors';
5
5
  import type { Oas3Components, Oas3Definition } from '../../typings/openapi';
6
6
 
@@ -1,8 +1,9 @@
1
1
  import * as yamlAst from 'yaml-ast-parser';
2
2
  import { unescapePointer } from '../ref-utils';
3
- import { LineColLocationObject, Loc, LocationObject } from '../walk';
4
3
  import { colorize, colorOptions } from '../logger';
5
4
 
5
+ import type { LineColLocationObject, Loc, LocationObject } from '../walk';
6
+
6
7
  type YAMLMapping = yamlAst.YAMLMapping & { kind: yamlAst.Kind.MAPPING };
7
8
  type YAMLMap = yamlAst.YamlMap & { kind: yamlAst.Kind.MAP };
8
9
  type YAMLAnchorReference = yamlAst.YAMLAnchorReference & { kind: yamlAst.Kind.ANCHOR_REF };
@@ -1,14 +1,19 @@
1
1
  import * as path from 'path';
2
2
  import { colorOptions, colorize, logger } from '../logger';
3
3
  import { output } from '../output';
4
-
5
- const coreVersion = require('../../package.json').version;
6
-
7
- import { NormalizedProblem, ProblemSeverity, LineColLocationObject, LocationObject } from '../walk';
8
4
  import { getCodeframe, getLineColLocation } from './codeframes';
9
5
  import { env, isBrowser } from '../env';
10
6
  import { isAbsoluteUrl } from '../ref-utils';
11
7
 
8
+ import type {
9
+ NormalizedProblem,
10
+ ProblemSeverity,
11
+ LineColLocationObject,
12
+ LocationObject,
13
+ } from '../walk';
14
+
15
+ const coreVersion = require('../../package.json').version;
16
+
12
17
  export type Totals = {
13
18
  errors: number;
14
19
  warnings: number;
@@ -1,7 +1,9 @@
1
1
  // TODO: add a type for "types" https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/js-yaml/index.d.ts
2
2
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
3
3
  // @ts-ignore
4
- import { JSON_SCHEMA, types, LoadOptions, DumpOptions, load, dump } from 'js-yaml';
4
+ import { JSON_SCHEMA, types, load, dump } from 'js-yaml';
5
+
6
+ import type { LoadOptions, DumpOptions } from 'js-yaml';
5
7
 
6
8
  const DEFAULT_SCHEMA_WITHOUT_TIMESTAMP = JSON_SCHEMA.extend({
7
9
  implicit: [types.merge],