@redocly/openapi-core 0.0.0-snapshot.1744362365 → 0.0.0-snapshot.1744801622

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 (651) hide show
  1. package/lib/benchmark/benches/lint-with-many-rules.bench.d.ts +1 -2
  2. package/lib/benchmark/benches/lint-with-many-rules.bench.js +19 -17
  3. package/lib/benchmark/benches/lint-with-nested-rule.bench.d.ts +1 -2
  4. package/lib/benchmark/benches/lint-with-nested-rule.bench.js +19 -15
  5. package/lib/benchmark/benches/lint-with-no-rules.bench.d.ts +1 -2
  6. package/lib/benchmark/benches/lint-with-no-rules.bench.js +19 -15
  7. package/lib/benchmark/benches/lint-with-top-level-rule-report.bench.d.ts +1 -2
  8. package/lib/benchmark/benches/lint-with-top-level-rule-report.bench.js +19 -15
  9. package/lib/benchmark/benches/lint-with-top-level-rule.bench.d.ts +1 -2
  10. package/lib/benchmark/benches/lint-with-top-level-rule.bench.js +19 -15
  11. package/lib/benchmark/benches/recommended-oas3.bench.d.ts +1 -2
  12. package/lib/benchmark/benches/recommended-oas3.bench.js +18 -15
  13. package/lib/benchmark/benches/resolve-with-no-external.bench.d.ts +1 -2
  14. package/lib/benchmark/benches/resolve-with-no-external.bench.js +17 -14
  15. package/lib/benchmark/utils.d.ts +4 -5
  16. package/lib/benchmark/utils.js +14 -11
  17. package/lib/bundle.d.ts +9 -8
  18. package/lib/bundle.js +84 -72
  19. package/lib/config/all.d.ts +1 -2
  20. package/lib/config/all.js +3 -2
  21. package/lib/config/builtIn.d.ts +1 -2
  22. package/lib/config/builtIn.js +49 -44
  23. package/lib/config/config-resolvers.d.ts +5 -6
  24. package/lib/config/config-resolvers.js +94 -85
  25. package/lib/config/config.d.ts +8 -6
  26. package/lib/config/config.js +73 -66
  27. package/lib/config/index.d.ts +7 -8
  28. package/lib/config/index.js +23 -8
  29. package/lib/config/load.d.ts +8 -5
  30. package/lib/config/load.js +73 -28
  31. package/lib/config/minimal.d.ts +1 -2
  32. package/lib/config/minimal.js +3 -2
  33. package/lib/config/recommended-strict.d.ts +1 -2
  34. package/lib/config/recommended-strict.js +3 -2
  35. package/lib/config/recommended.d.ts +1 -2
  36. package/lib/config/recommended.js +3 -2
  37. package/lib/config/rules.d.ts +3 -4
  38. package/lib/config/rules.js +6 -4
  39. package/lib/config/spec.d.ts +1 -2
  40. package/lib/config/spec.js +3 -2
  41. package/lib/config/types.d.ts +13 -6
  42. package/lib/config/types.js +2 -2
  43. package/lib/config/utils.d.ts +2 -3
  44. package/lib/config/utils.js +89 -75
  45. package/lib/decorators/arazzo/index.d.ts +0 -1
  46. package/lib/decorators/arazzo/index.js +4 -2
  47. package/lib/decorators/async2/index.d.ts +0 -1
  48. package/lib/decorators/async2/index.js +4 -2
  49. package/lib/decorators/async3/index.d.ts +0 -1
  50. package/lib/decorators/async3/index.js +4 -2
  51. package/lib/decorators/common/filters/filter-helper.d.ts +1 -2
  52. package/lib/decorators/common/filters/filter-helper.js +12 -9
  53. package/lib/decorators/common/filters/filter-in.d.ts +1 -2
  54. package/lib/decorators/common/filters/filter-in.js +8 -5
  55. package/lib/decorators/common/filters/filter-out.d.ts +1 -2
  56. package/lib/decorators/common/filters/filter-out.js +8 -5
  57. package/lib/decorators/common/info-description-override.d.ts +1 -2
  58. package/lib/decorators/common/info-description-override.js +7 -4
  59. package/lib/decorators/common/info-override.d.ts +1 -2
  60. package/lib/decorators/common/info-override.js +5 -2
  61. package/lib/decorators/common/media-type-examples-override.d.ts +1 -2
  62. package/lib/decorators/common/media-type-examples-override.js +10 -7
  63. package/lib/decorators/common/operation-description-override.d.ts +1 -2
  64. package/lib/decorators/common/operation-description-override.js +7 -4
  65. package/lib/decorators/common/registry-dependencies.d.ts +2 -0
  66. package/lib/decorators/common/registry-dependencies.js +24 -0
  67. package/lib/decorators/common/remove-x-internal.d.ts +1 -2
  68. package/lib/decorators/common/remove-x-internal.js +14 -11
  69. package/lib/decorators/common/tag-description-override.d.ts +1 -2
  70. package/lib/decorators/common/tag-description-override.js +7 -4
  71. package/lib/decorators/oas2/index.d.ts +2 -2
  72. package/lib/decorators/oas2/index.js +20 -16
  73. package/lib/decorators/oas2/remove-unused-components.d.ts +1 -2
  74. package/lib/decorators/oas2/remove-unused-components.js +7 -4
  75. package/lib/decorators/oas3/index.d.ts +2 -2
  76. package/lib/decorators/oas3/index.js +22 -18
  77. package/lib/decorators/oas3/remove-unused-components.d.ts +1 -2
  78. package/lib/decorators/oas3/remove-unused-components.js +8 -5
  79. package/lib/decorators/overlay1/index.d.ts +0 -1
  80. package/lib/decorators/overlay1/index.js +4 -2
  81. package/lib/env.d.ts +0 -1
  82. package/lib/env.js +5 -3
  83. package/lib/format/codeframes.d.ts +1 -2
  84. package/lib/format/codeframes.js +19 -15
  85. package/lib/format/format.d.ts +1 -2
  86. package/lib/format/format.js +62 -57
  87. package/lib/index.d.ts +26 -29
  88. package/lib/index.js +98 -24
  89. package/lib/js-yaml/index.d.ts +0 -1
  90. package/lib/js-yaml/index.js +11 -7
  91. package/lib/lint.d.ts +10 -11
  92. package/lib/lint.js +44 -39
  93. package/lib/logger.d.ts +1 -2
  94. package/lib/logger.js +17 -15
  95. package/lib/oas-types.d.ts +3 -4
  96. package/lib/oas-types.js +32 -27
  97. package/lib/output.d.ts +3 -0
  98. package/lib/output.js +9 -0
  99. package/lib/redocly/domains.d.ts +14 -0
  100. package/lib/redocly/domains.js +41 -0
  101. package/lib/redocly/index.d.ts +30 -0
  102. package/lib/redocly/index.js +131 -0
  103. package/lib/redocly/redocly-client-types.d.ts +8 -0
  104. package/lib/redocly/redocly-client-types.js +2 -0
  105. package/lib/redocly/registry-api-types.d.ts +29 -0
  106. package/lib/redocly/registry-api-types.js +2 -0
  107. package/lib/redocly/registry-api.d.ts +17 -0
  108. package/lib/redocly/registry-api.js +100 -0
  109. package/lib/ref-utils.d.ts +2 -3
  110. package/lib/ref-utils.js +33 -18
  111. package/lib/resolve.d.ts +2 -3
  112. package/lib/resolve.js +45 -36
  113. package/lib/rules/ajv.d.ts +3 -4
  114. package/lib/rules/ajv.js +10 -7
  115. package/lib/rules/arazzo/criteria-unique.d.ts +1 -2
  116. package/lib/rules/arazzo/criteria-unique.js +5 -2
  117. package/lib/rules/arazzo/index.d.ts +1 -2
  118. package/lib/rules/arazzo/index.js +35 -33
  119. package/lib/rules/arazzo/parameters-unique.d.ts +1 -2
  120. package/lib/rules/arazzo/parameters-unique.js +5 -2
  121. package/lib/rules/arazzo/requestBody-replacements-unique.d.ts +1 -2
  122. package/lib/rules/arazzo/requestBody-replacements-unique.js +5 -2
  123. package/lib/rules/arazzo/sourceDescription-type.d.ts +1 -2
  124. package/lib/rules/arazzo/sourceDescription-type.js +5 -2
  125. package/lib/rules/arazzo/sourceDescriptions-name-unique.d.ts +1 -2
  126. package/lib/rules/arazzo/sourceDescriptions-name-unique.js +5 -2
  127. package/lib/rules/arazzo/sourceDescriptions-not-empty.d.ts +1 -2
  128. package/lib/rules/arazzo/sourceDescriptions-not-empty.js +5 -2
  129. package/lib/rules/arazzo/step-onFailure-unique.d.ts +1 -2
  130. package/lib/rules/arazzo/step-onFailure-unique.js +5 -2
  131. package/lib/rules/arazzo/step-onSuccess-unique.d.ts +1 -2
  132. package/lib/rules/arazzo/step-onSuccess-unique.js +5 -2
  133. package/lib/rules/arazzo/stepId-unique.d.ts +1 -2
  134. package/lib/rules/arazzo/stepId-unique.js +5 -2
  135. package/lib/rules/arazzo/workflow-dependsOn.d.ts +1 -2
  136. package/lib/rules/arazzo/workflow-dependsOn.js +5 -2
  137. package/lib/rules/arazzo/workflowId-unique.d.ts +1 -2
  138. package/lib/rules/arazzo/workflowId-unique.js +5 -2
  139. package/lib/rules/async2/channels-kebab-case.d.ts +1 -2
  140. package/lib/rules/async2/channels-kebab-case.js +5 -2
  141. package/lib/rules/async2/index.d.ts +1 -2
  142. package/lib/rules/async2/index.js +24 -22
  143. package/lib/rules/async2/no-channel-trailing-slash.d.ts +1 -2
  144. package/lib/rules/async2/no-channel-trailing-slash.js +5 -2
  145. package/lib/rules/async3/channels-kebab-case.d.ts +1 -2
  146. package/lib/rules/async3/channels-kebab-case.js +5 -2
  147. package/lib/rules/async3/index.d.ts +1 -2
  148. package/lib/rules/async3/index.js +24 -22
  149. package/lib/rules/async3/no-channel-trailing-slash.d.ts +1 -2
  150. package/lib/rules/async3/no-channel-trailing-slash.js +6 -3
  151. package/lib/rules/common/assertions/asserts.d.ts +2 -3
  152. package/lib/rules/common/assertions/asserts.js +38 -35
  153. package/lib/rules/common/assertions/index.d.ts +3 -4
  154. package/lib/rules/common/assertions/index.js +10 -7
  155. package/lib/rules/common/assertions/utils.d.ts +4 -5
  156. package/lib/rules/common/assertions/utils.js +29 -21
  157. package/lib/rules/common/info-contact.d.ts +1 -2
  158. package/lib/rules/common/info-contact.js +7 -4
  159. package/lib/rules/common/info-license-strict.d.ts +1 -2
  160. package/lib/rules/common/info-license-strict.js +10 -7
  161. package/lib/rules/common/info-license-url.d.ts +1 -2
  162. package/lib/rules/common/info-license-url.js +7 -4
  163. package/lib/rules/common/info-license.d.ts +1 -2
  164. package/lib/rules/common/info-license.js +7 -4
  165. package/lib/rules/common/no-ambiguous-paths.d.ts +1 -2
  166. package/lib/rules/common/no-ambiguous-paths.js +5 -2
  167. package/lib/rules/common/no-enum-type-mismatch.d.ts +1 -2
  168. package/lib/rules/common/no-enum-type-mismatch.js +9 -6
  169. package/lib/rules/common/no-http-verbs-in-paths.d.ts +1 -2
  170. package/lib/rules/common/no-http-verbs-in-paths.js +8 -5
  171. package/lib/rules/common/no-identical-paths.d.ts +1 -2
  172. package/lib/rules/common/no-identical-paths.js +5 -2
  173. package/lib/rules/common/no-invalid-parameter-examples.d.ts +0 -1
  174. package/lib/rules/common/no-invalid-parameter-examples.js +9 -6
  175. package/lib/rules/common/no-invalid-schema-examples.d.ts +1 -2
  176. package/lib/rules/common/no-invalid-schema-examples.js +9 -6
  177. package/lib/rules/common/no-path-trailing-slash.d.ts +1 -2
  178. package/lib/rules/common/no-path-trailing-slash.js +5 -2
  179. package/lib/rules/common/no-required-schema-properties-undefined.d.ts +1 -2
  180. package/lib/rules/common/no-required-schema-properties-undefined.js +7 -4
  181. package/lib/rules/common/no-schema-type-mismatch.d.ts +1 -2
  182. package/lib/rules/common/no-schema-type-mismatch.js +5 -2
  183. package/lib/rules/common/operation-2xx-response.d.ts +1 -2
  184. package/lib/rules/common/operation-2xx-response.js +8 -5
  185. package/lib/rules/common/operation-4xx-response.d.ts +1 -2
  186. package/lib/rules/common/operation-4xx-response.js +8 -5
  187. package/lib/rules/common/operation-description.d.ts +1 -2
  188. package/lib/rules/common/operation-description.js +7 -4
  189. package/lib/rules/common/operation-operationId-unique.d.ts +1 -2
  190. package/lib/rules/common/operation-operationId-unique.js +5 -2
  191. package/lib/rules/common/operation-operationId-url-safe.d.ts +1 -2
  192. package/lib/rules/common/operation-operationId-url-safe.js +5 -2
  193. package/lib/rules/common/operation-operationId.d.ts +1 -2
  194. package/lib/rules/common/operation-operationId.js +7 -4
  195. package/lib/rules/common/operation-parameters-unique.d.ts +1 -2
  196. package/lib/rules/common/operation-parameters-unique.js +5 -2
  197. package/lib/rules/common/operation-singular-tag.d.ts +1 -2
  198. package/lib/rules/common/operation-singular-tag.js +5 -2
  199. package/lib/rules/common/operation-summary.d.ts +1 -2
  200. package/lib/rules/common/operation-summary.js +7 -4
  201. package/lib/rules/common/operation-tag-defined.d.ts +1 -2
  202. package/lib/rules/common/operation-tag-defined.js +5 -2
  203. package/lib/rules/common/parameter-description.d.ts +1 -2
  204. package/lib/rules/common/parameter-description.js +5 -2
  205. package/lib/rules/common/path-declaration-must-exist.d.ts +1 -2
  206. package/lib/rules/common/path-declaration-must-exist.js +5 -2
  207. package/lib/rules/common/path-excludes-patterns.d.ts +1 -2
  208. package/lib/rules/common/path-excludes-patterns.js +5 -2
  209. package/lib/rules/common/path-http-verbs-order.d.ts +1 -2
  210. package/lib/rules/common/path-http-verbs-order.js +5 -2
  211. package/lib/rules/common/path-not-include-query.d.ts +1 -2
  212. package/lib/rules/common/path-not-include-query.js +5 -2
  213. package/lib/rules/common/path-params-defined.d.ts +1 -2
  214. package/lib/rules/common/path-params-defined.js +5 -2
  215. package/lib/rules/common/path-segment-plural.d.ts +1 -2
  216. package/lib/rules/common/path-segment-plural.js +8 -5
  217. package/lib/rules/common/paths-kebab-case.d.ts +1 -2
  218. package/lib/rules/common/paths-kebab-case.js +5 -2
  219. package/lib/rules/common/required-string-property-missing-min-length.d.ts +1 -2
  220. package/lib/rules/common/required-string-property-missing-min-length.js +5 -2
  221. package/lib/rules/common/response-contains-header.d.ts +1 -2
  222. package/lib/rules/common/response-contains-header.js +8 -5
  223. package/lib/rules/common/scalar-property-missing-example.d.ts +1 -2
  224. package/lib/rules/common/scalar-property-missing-example.js +7 -4
  225. package/lib/rules/common/security-defined.d.ts +1 -2
  226. package/lib/rules/common/security-defined.js +5 -2
  227. package/lib/rules/common/spec-strict-refs.d.ts +1 -2
  228. package/lib/rules/common/spec-strict-refs.js +7 -4
  229. package/lib/rules/common/struct.d.ts +1 -2
  230. package/lib/rules/common/struct.js +21 -18
  231. package/lib/rules/common/tag-description.d.ts +1 -2
  232. package/lib/rules/common/tag-description.js +7 -4
  233. package/lib/rules/common/tags-alphabetical.d.ts +1 -2
  234. package/lib/rules/common/tags-alphabetical.js +5 -2
  235. package/lib/rules/no-unresolved-refs.d.ts +3 -4
  236. package/lib/rules/no-unresolved-refs.js +9 -5
  237. package/lib/rules/oas2/boolean-parameter-prefixes.d.ts +1 -2
  238. package/lib/rules/oas2/boolean-parameter-prefixes.js +5 -2
  239. package/lib/rules/oas2/index.d.ts +1 -2
  240. package/lib/rules/oas2/index.js +97 -95
  241. package/lib/rules/oas2/request-mime-type.d.ts +1 -2
  242. package/lib/rules/oas2/request-mime-type.js +8 -5
  243. package/lib/rules/oas2/response-contains-property.d.ts +1 -2
  244. package/lib/rules/oas2/response-contains-property.js +8 -5
  245. package/lib/rules/oas2/response-mime-type.d.ts +1 -2
  246. package/lib/rules/oas2/response-mime-type.js +8 -5
  247. package/lib/rules/oas3/array-parameter-serialization.d.ts +1 -2
  248. package/lib/rules/oas3/array-parameter-serialization.js +7 -4
  249. package/lib/rules/oas3/boolean-parameter-prefixes.d.ts +1 -2
  250. package/lib/rules/oas3/boolean-parameter-prefixes.js +5 -2
  251. package/lib/rules/oas3/component-name-unique.d.ts +1 -2
  252. package/lib/rules/oas3/component-name-unique.js +5 -2
  253. package/lib/rules/oas3/index.d.ts +1 -2
  254. package/lib/rules/oas3/index.js +121 -119
  255. package/lib/rules/oas3/no-empty-servers.d.ts +1 -2
  256. package/lib/rules/oas3/no-empty-servers.js +5 -2
  257. package/lib/rules/oas3/no-example-value-and-externalValue.d.ts +1 -2
  258. package/lib/rules/oas3/no-example-value-and-externalValue.js +5 -2
  259. package/lib/rules/oas3/no-invalid-media-type-examples.d.ts +1 -2
  260. package/lib/rules/oas3/no-invalid-media-type-examples.js +10 -7
  261. package/lib/rules/oas3/no-server-example.com.d.ts +1 -2
  262. package/lib/rules/oas3/no-server-example.com.js +5 -2
  263. package/lib/rules/oas3/no-server-trailing-slash.d.ts +1 -2
  264. package/lib/rules/oas3/no-server-trailing-slash.js +5 -2
  265. package/lib/rules/oas3/no-server-variables-empty-enum.d.ts +1 -2
  266. package/lib/rules/oas3/no-server-variables-empty-enum.js +5 -2
  267. package/lib/rules/oas3/no-undefined-server-variable.d.ts +1 -2
  268. package/lib/rules/oas3/no-undefined-server-variable.js +5 -2
  269. package/lib/rules/oas3/no-unused-components.d.ts +1 -2
  270. package/lib/rules/oas3/no-unused-components.js +5 -2
  271. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.d.ts +1 -2
  272. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.js +9 -6
  273. package/lib/rules/oas3/request-mime-type.d.ts +1 -2
  274. package/lib/rules/oas3/request-mime-type.js +9 -6
  275. package/lib/rules/oas3/response-contains-property.d.ts +1 -2
  276. package/lib/rules/oas3/response-contains-property.js +8 -5
  277. package/lib/rules/oas3/response-mime-type.d.ts +1 -2
  278. package/lib/rules/oas3/response-mime-type.js +9 -6
  279. package/lib/rules/oas3/spec-components-invalid-map-name.d.ts +1 -2
  280. package/lib/rules/oas3/spec-components-invalid-map-name.js +5 -2
  281. package/lib/rules/other/stats.d.ts +3 -4
  282. package/lib/rules/other/stats.js +5 -2
  283. package/lib/rules/overlay1/index.d.ts +1 -2
  284. package/lib/rules/overlay1/index.js +11 -9
  285. package/lib/rules/respect/no-criteria-xpath.d.ts +1 -2
  286. package/lib/rules/respect/no-criteria-xpath.js +5 -2
  287. package/lib/rules/respect/respect-supported-versions.d.ts +1 -2
  288. package/lib/rules/respect/respect-supported-versions.js +10 -7
  289. package/lib/rules/utils.d.ts +3 -4
  290. package/lib/rules/utils.js +36 -23
  291. package/lib/types/arazzo.d.ts +1 -2
  292. package/lib/types/arazzo.js +23 -21
  293. package/lib/types/asyncapi2.d.ts +1 -2
  294. package/lib/types/asyncapi2.js +56 -54
  295. package/lib/types/asyncapi3.d.ts +1 -2
  296. package/lib/types/asyncapi3.js +43 -41
  297. package/lib/types/index.d.ts +0 -1
  298. package/lib/types/index.js +13 -7
  299. package/lib/types/json-schema-adapter.d.ts +1 -2
  300. package/lib/types/json-schema-adapter.js +17 -15
  301. package/lib/types/oas2.d.ts +2 -3
  302. package/lib/types/oas2.js +19 -17
  303. package/lib/types/oas3.d.ts +2 -3
  304. package/lib/types/oas3.js +41 -39
  305. package/lib/types/oas3_1.d.ts +2 -3
  306. package/lib/types/oas3_1.js +20 -18
  307. package/lib/types/overlay.d.ts +1 -2
  308. package/lib/types/overlay.js +6 -4
  309. package/lib/types/redocly-yaml.d.ts +3 -4
  310. package/lib/types/redocly-yaml.js +48 -31
  311. package/lib/typings/arazzo.d.ts +0 -1
  312. package/lib/typings/arazzo.js +5 -3
  313. package/lib/typings/asyncapi.d.ts +0 -1
  314. package/lib/typings/asyncapi.js +2 -2
  315. package/lib/typings/asyncapi3.d.ts +0 -1
  316. package/lib/typings/asyncapi3.js +2 -2
  317. package/lib/typings/common.d.ts +0 -1
  318. package/lib/typings/common.js +2 -2
  319. package/lib/typings/openapi.d.ts +0 -1
  320. package/lib/typings/openapi.js +2 -2
  321. package/lib/typings/overlay.d.ts +0 -1
  322. package/lib/typings/overlay.js +4 -2
  323. package/lib/typings/swagger.d.ts +1 -2
  324. package/lib/typings/swagger.js +2 -2
  325. package/lib/utils.d.ts +5 -4
  326. package/lib/utils.js +99 -52
  327. package/lib/visitors.d.ts +10 -11
  328. package/lib/visitors.js +6 -4
  329. package/lib/walk.d.ts +8 -9
  330. package/lib/walk.js +25 -23
  331. package/package.json +9 -30
  332. package/lib/benchmark/benches/lint-with-many-rules.bench.d.ts.map +0 -1
  333. package/lib/benchmark/benches/lint-with-many-rules.bench.js.map +0 -1
  334. package/lib/benchmark/benches/lint-with-nested-rule.bench.d.ts.map +0 -1
  335. package/lib/benchmark/benches/lint-with-nested-rule.bench.js.map +0 -1
  336. package/lib/benchmark/benches/lint-with-no-rules.bench.d.ts.map +0 -1
  337. package/lib/benchmark/benches/lint-with-no-rules.bench.js.map +0 -1
  338. package/lib/benchmark/benches/lint-with-top-level-rule-report.bench.d.ts.map +0 -1
  339. package/lib/benchmark/benches/lint-with-top-level-rule-report.bench.js.map +0 -1
  340. package/lib/benchmark/benches/lint-with-top-level-rule.bench.d.ts.map +0 -1
  341. package/lib/benchmark/benches/lint-with-top-level-rule.bench.js.map +0 -1
  342. package/lib/benchmark/benches/recommended-oas3.bench.d.ts.map +0 -1
  343. package/lib/benchmark/benches/recommended-oas3.bench.js.map +0 -1
  344. package/lib/benchmark/benches/resolve-with-no-external.bench.d.ts.map +0 -1
  345. package/lib/benchmark/benches/resolve-with-no-external.bench.js.map +0 -1
  346. package/lib/benchmark/utils.d.ts.map +0 -1
  347. package/lib/benchmark/utils.js.map +0 -1
  348. package/lib/bundle.d.ts.map +0 -1
  349. package/lib/bundle.js.map +0 -1
  350. package/lib/config/all.d.ts.map +0 -1
  351. package/lib/config/all.js.map +0 -1
  352. package/lib/config/builtIn.d.ts.map +0 -1
  353. package/lib/config/builtIn.js.map +0 -1
  354. package/lib/config/config-resolvers.d.ts.map +0 -1
  355. package/lib/config/config-resolvers.js.map +0 -1
  356. package/lib/config/config.d.ts.map +0 -1
  357. package/lib/config/config.js.map +0 -1
  358. package/lib/config/index.d.ts.map +0 -1
  359. package/lib/config/index.js.map +0 -1
  360. package/lib/config/load.d.ts.map +0 -1
  361. package/lib/config/load.js.map +0 -1
  362. package/lib/config/minimal.d.ts.map +0 -1
  363. package/lib/config/minimal.js.map +0 -1
  364. package/lib/config/recommended-strict.d.ts.map +0 -1
  365. package/lib/config/recommended-strict.js.map +0 -1
  366. package/lib/config/recommended.d.ts.map +0 -1
  367. package/lib/config/recommended.js.map +0 -1
  368. package/lib/config/rules.d.ts.map +0 -1
  369. package/lib/config/rules.js.map +0 -1
  370. package/lib/config/spec.d.ts.map +0 -1
  371. package/lib/config/spec.js.map +0 -1
  372. package/lib/config/types.d.ts.map +0 -1
  373. package/lib/config/types.js.map +0 -1
  374. package/lib/config/utils.d.ts.map +0 -1
  375. package/lib/config/utils.js.map +0 -1
  376. package/lib/decorators/arazzo/index.d.ts.map +0 -1
  377. package/lib/decorators/arazzo/index.js.map +0 -1
  378. package/lib/decorators/async2/index.d.ts.map +0 -1
  379. package/lib/decorators/async2/index.js.map +0 -1
  380. package/lib/decorators/async3/index.d.ts.map +0 -1
  381. package/lib/decorators/async3/index.js.map +0 -1
  382. package/lib/decorators/common/filters/filter-helper.d.ts.map +0 -1
  383. package/lib/decorators/common/filters/filter-helper.js.map +0 -1
  384. package/lib/decorators/common/filters/filter-in.d.ts.map +0 -1
  385. package/lib/decorators/common/filters/filter-in.js.map +0 -1
  386. package/lib/decorators/common/filters/filter-out.d.ts.map +0 -1
  387. package/lib/decorators/common/filters/filter-out.js.map +0 -1
  388. package/lib/decorators/common/info-description-override.d.ts.map +0 -1
  389. package/lib/decorators/common/info-description-override.js.map +0 -1
  390. package/lib/decorators/common/info-override.d.ts.map +0 -1
  391. package/lib/decorators/common/info-override.js.map +0 -1
  392. package/lib/decorators/common/media-type-examples-override.d.ts.map +0 -1
  393. package/lib/decorators/common/media-type-examples-override.js.map +0 -1
  394. package/lib/decorators/common/operation-description-override.d.ts.map +0 -1
  395. package/lib/decorators/common/operation-description-override.js.map +0 -1
  396. package/lib/decorators/common/remove-x-internal.d.ts.map +0 -1
  397. package/lib/decorators/common/remove-x-internal.js.map +0 -1
  398. package/lib/decorators/common/tag-description-override.d.ts.map +0 -1
  399. package/lib/decorators/common/tag-description-override.js.map +0 -1
  400. package/lib/decorators/oas2/index.d.ts.map +0 -1
  401. package/lib/decorators/oas2/index.js.map +0 -1
  402. package/lib/decorators/oas2/remove-unused-components.d.ts.map +0 -1
  403. package/lib/decorators/oas2/remove-unused-components.js.map +0 -1
  404. package/lib/decorators/oas3/index.d.ts.map +0 -1
  405. package/lib/decorators/oas3/index.js.map +0 -1
  406. package/lib/decorators/oas3/remove-unused-components.d.ts.map +0 -1
  407. package/lib/decorators/oas3/remove-unused-components.js.map +0 -1
  408. package/lib/decorators/overlay1/index.d.ts.map +0 -1
  409. package/lib/decorators/overlay1/index.js.map +0 -1
  410. package/lib/env.d.ts.map +0 -1
  411. package/lib/env.js.map +0 -1
  412. package/lib/format/codeframes.d.ts.map +0 -1
  413. package/lib/format/codeframes.js.map +0 -1
  414. package/lib/format/format.d.ts.map +0 -1
  415. package/lib/format/format.js.map +0 -1
  416. package/lib/index.d.ts.map +0 -1
  417. package/lib/index.js.map +0 -1
  418. package/lib/js-yaml/index.d.ts.map +0 -1
  419. package/lib/js-yaml/index.js.map +0 -1
  420. package/lib/lint.d.ts.map +0 -1
  421. package/lib/lint.js.map +0 -1
  422. package/lib/logger.d.ts.map +0 -1
  423. package/lib/logger.js.map +0 -1
  424. package/lib/oas-types.d.ts.map +0 -1
  425. package/lib/oas-types.js.map +0 -1
  426. package/lib/ref-utils.d.ts.map +0 -1
  427. package/lib/ref-utils.js.map +0 -1
  428. package/lib/resolve.d.ts.map +0 -1
  429. package/lib/resolve.js.map +0 -1
  430. package/lib/rules/ajv.d.ts.map +0 -1
  431. package/lib/rules/ajv.js.map +0 -1
  432. package/lib/rules/arazzo/criteria-unique.d.ts.map +0 -1
  433. package/lib/rules/arazzo/criteria-unique.js.map +0 -1
  434. package/lib/rules/arazzo/index.d.ts.map +0 -1
  435. package/lib/rules/arazzo/index.js.map +0 -1
  436. package/lib/rules/arazzo/parameters-unique.d.ts.map +0 -1
  437. package/lib/rules/arazzo/parameters-unique.js.map +0 -1
  438. package/lib/rules/arazzo/requestBody-replacements-unique.d.ts.map +0 -1
  439. package/lib/rules/arazzo/requestBody-replacements-unique.js.map +0 -1
  440. package/lib/rules/arazzo/sourceDescription-type.d.ts.map +0 -1
  441. package/lib/rules/arazzo/sourceDescription-type.js.map +0 -1
  442. package/lib/rules/arazzo/sourceDescriptions-name-unique.d.ts.map +0 -1
  443. package/lib/rules/arazzo/sourceDescriptions-name-unique.js.map +0 -1
  444. package/lib/rules/arazzo/sourceDescriptions-not-empty.d.ts.map +0 -1
  445. package/lib/rules/arazzo/sourceDescriptions-not-empty.js.map +0 -1
  446. package/lib/rules/arazzo/step-onFailure-unique.d.ts.map +0 -1
  447. package/lib/rules/arazzo/step-onFailure-unique.js.map +0 -1
  448. package/lib/rules/arazzo/step-onSuccess-unique.d.ts.map +0 -1
  449. package/lib/rules/arazzo/step-onSuccess-unique.js.map +0 -1
  450. package/lib/rules/arazzo/stepId-unique.d.ts.map +0 -1
  451. package/lib/rules/arazzo/stepId-unique.js.map +0 -1
  452. package/lib/rules/arazzo/workflow-dependsOn.d.ts.map +0 -1
  453. package/lib/rules/arazzo/workflow-dependsOn.js.map +0 -1
  454. package/lib/rules/arazzo/workflowId-unique.d.ts.map +0 -1
  455. package/lib/rules/arazzo/workflowId-unique.js.map +0 -1
  456. package/lib/rules/async2/channels-kebab-case.d.ts.map +0 -1
  457. package/lib/rules/async2/channels-kebab-case.js.map +0 -1
  458. package/lib/rules/async2/index.d.ts.map +0 -1
  459. package/lib/rules/async2/index.js.map +0 -1
  460. package/lib/rules/async2/no-channel-trailing-slash.d.ts.map +0 -1
  461. package/lib/rules/async2/no-channel-trailing-slash.js.map +0 -1
  462. package/lib/rules/async3/channels-kebab-case.d.ts.map +0 -1
  463. package/lib/rules/async3/channels-kebab-case.js.map +0 -1
  464. package/lib/rules/async3/index.d.ts.map +0 -1
  465. package/lib/rules/async3/index.js.map +0 -1
  466. package/lib/rules/async3/no-channel-trailing-slash.d.ts.map +0 -1
  467. package/lib/rules/async3/no-channel-trailing-slash.js.map +0 -1
  468. package/lib/rules/common/assertions/asserts.d.ts.map +0 -1
  469. package/lib/rules/common/assertions/asserts.js.map +0 -1
  470. package/lib/rules/common/assertions/index.d.ts.map +0 -1
  471. package/lib/rules/common/assertions/index.js.map +0 -1
  472. package/lib/rules/common/assertions/utils.d.ts.map +0 -1
  473. package/lib/rules/common/assertions/utils.js.map +0 -1
  474. package/lib/rules/common/info-contact.d.ts.map +0 -1
  475. package/lib/rules/common/info-contact.js.map +0 -1
  476. package/lib/rules/common/info-license-strict.d.ts.map +0 -1
  477. package/lib/rules/common/info-license-strict.js.map +0 -1
  478. package/lib/rules/common/info-license-url.d.ts.map +0 -1
  479. package/lib/rules/common/info-license-url.js.map +0 -1
  480. package/lib/rules/common/info-license.d.ts.map +0 -1
  481. package/lib/rules/common/info-license.js.map +0 -1
  482. package/lib/rules/common/no-ambiguous-paths.d.ts.map +0 -1
  483. package/lib/rules/common/no-ambiguous-paths.js.map +0 -1
  484. package/lib/rules/common/no-enum-type-mismatch.d.ts.map +0 -1
  485. package/lib/rules/common/no-enum-type-mismatch.js.map +0 -1
  486. package/lib/rules/common/no-http-verbs-in-paths.d.ts.map +0 -1
  487. package/lib/rules/common/no-http-verbs-in-paths.js.map +0 -1
  488. package/lib/rules/common/no-identical-paths.d.ts.map +0 -1
  489. package/lib/rules/common/no-identical-paths.js.map +0 -1
  490. package/lib/rules/common/no-invalid-parameter-examples.d.ts.map +0 -1
  491. package/lib/rules/common/no-invalid-parameter-examples.js.map +0 -1
  492. package/lib/rules/common/no-invalid-schema-examples.d.ts.map +0 -1
  493. package/lib/rules/common/no-invalid-schema-examples.js.map +0 -1
  494. package/lib/rules/common/no-path-trailing-slash.d.ts.map +0 -1
  495. package/lib/rules/common/no-path-trailing-slash.js.map +0 -1
  496. package/lib/rules/common/no-required-schema-properties-undefined.d.ts.map +0 -1
  497. package/lib/rules/common/no-required-schema-properties-undefined.js.map +0 -1
  498. package/lib/rules/common/no-schema-type-mismatch.d.ts.map +0 -1
  499. package/lib/rules/common/no-schema-type-mismatch.js.map +0 -1
  500. package/lib/rules/common/operation-2xx-response.d.ts.map +0 -1
  501. package/lib/rules/common/operation-2xx-response.js.map +0 -1
  502. package/lib/rules/common/operation-4xx-response.d.ts.map +0 -1
  503. package/lib/rules/common/operation-4xx-response.js.map +0 -1
  504. package/lib/rules/common/operation-description.d.ts.map +0 -1
  505. package/lib/rules/common/operation-description.js.map +0 -1
  506. package/lib/rules/common/operation-operationId-unique.d.ts.map +0 -1
  507. package/lib/rules/common/operation-operationId-unique.js.map +0 -1
  508. package/lib/rules/common/operation-operationId-url-safe.d.ts.map +0 -1
  509. package/lib/rules/common/operation-operationId-url-safe.js.map +0 -1
  510. package/lib/rules/common/operation-operationId.d.ts.map +0 -1
  511. package/lib/rules/common/operation-operationId.js.map +0 -1
  512. package/lib/rules/common/operation-parameters-unique.d.ts.map +0 -1
  513. package/lib/rules/common/operation-parameters-unique.js.map +0 -1
  514. package/lib/rules/common/operation-singular-tag.d.ts.map +0 -1
  515. package/lib/rules/common/operation-singular-tag.js.map +0 -1
  516. package/lib/rules/common/operation-summary.d.ts.map +0 -1
  517. package/lib/rules/common/operation-summary.js.map +0 -1
  518. package/lib/rules/common/operation-tag-defined.d.ts.map +0 -1
  519. package/lib/rules/common/operation-tag-defined.js.map +0 -1
  520. package/lib/rules/common/parameter-description.d.ts.map +0 -1
  521. package/lib/rules/common/parameter-description.js.map +0 -1
  522. package/lib/rules/common/path-declaration-must-exist.d.ts.map +0 -1
  523. package/lib/rules/common/path-declaration-must-exist.js.map +0 -1
  524. package/lib/rules/common/path-excludes-patterns.d.ts.map +0 -1
  525. package/lib/rules/common/path-excludes-patterns.js.map +0 -1
  526. package/lib/rules/common/path-http-verbs-order.d.ts.map +0 -1
  527. package/lib/rules/common/path-http-verbs-order.js.map +0 -1
  528. package/lib/rules/common/path-not-include-query.d.ts.map +0 -1
  529. package/lib/rules/common/path-not-include-query.js.map +0 -1
  530. package/lib/rules/common/path-params-defined.d.ts.map +0 -1
  531. package/lib/rules/common/path-params-defined.js.map +0 -1
  532. package/lib/rules/common/path-segment-plural.d.ts.map +0 -1
  533. package/lib/rules/common/path-segment-plural.js.map +0 -1
  534. package/lib/rules/common/paths-kebab-case.d.ts.map +0 -1
  535. package/lib/rules/common/paths-kebab-case.js.map +0 -1
  536. package/lib/rules/common/required-string-property-missing-min-length.d.ts.map +0 -1
  537. package/lib/rules/common/required-string-property-missing-min-length.js.map +0 -1
  538. package/lib/rules/common/response-contains-header.d.ts.map +0 -1
  539. package/lib/rules/common/response-contains-header.js.map +0 -1
  540. package/lib/rules/common/scalar-property-missing-example.d.ts.map +0 -1
  541. package/lib/rules/common/scalar-property-missing-example.js.map +0 -1
  542. package/lib/rules/common/security-defined.d.ts.map +0 -1
  543. package/lib/rules/common/security-defined.js.map +0 -1
  544. package/lib/rules/common/spec-strict-refs.d.ts.map +0 -1
  545. package/lib/rules/common/spec-strict-refs.js.map +0 -1
  546. package/lib/rules/common/struct.d.ts.map +0 -1
  547. package/lib/rules/common/struct.js.map +0 -1
  548. package/lib/rules/common/tag-description.d.ts.map +0 -1
  549. package/lib/rules/common/tag-description.js.map +0 -1
  550. package/lib/rules/common/tags-alphabetical.d.ts.map +0 -1
  551. package/lib/rules/common/tags-alphabetical.js.map +0 -1
  552. package/lib/rules/no-unresolved-refs.d.ts.map +0 -1
  553. package/lib/rules/no-unresolved-refs.js.map +0 -1
  554. package/lib/rules/oas2/boolean-parameter-prefixes.d.ts.map +0 -1
  555. package/lib/rules/oas2/boolean-parameter-prefixes.js.map +0 -1
  556. package/lib/rules/oas2/index.d.ts.map +0 -1
  557. package/lib/rules/oas2/index.js.map +0 -1
  558. package/lib/rules/oas2/request-mime-type.d.ts.map +0 -1
  559. package/lib/rules/oas2/request-mime-type.js.map +0 -1
  560. package/lib/rules/oas2/response-contains-property.d.ts.map +0 -1
  561. package/lib/rules/oas2/response-contains-property.js.map +0 -1
  562. package/lib/rules/oas2/response-mime-type.d.ts.map +0 -1
  563. package/lib/rules/oas2/response-mime-type.js.map +0 -1
  564. package/lib/rules/oas3/array-parameter-serialization.d.ts.map +0 -1
  565. package/lib/rules/oas3/array-parameter-serialization.js.map +0 -1
  566. package/lib/rules/oas3/boolean-parameter-prefixes.d.ts.map +0 -1
  567. package/lib/rules/oas3/boolean-parameter-prefixes.js.map +0 -1
  568. package/lib/rules/oas3/component-name-unique.d.ts.map +0 -1
  569. package/lib/rules/oas3/component-name-unique.js.map +0 -1
  570. package/lib/rules/oas3/index.d.ts.map +0 -1
  571. package/lib/rules/oas3/index.js.map +0 -1
  572. package/lib/rules/oas3/no-empty-servers.d.ts.map +0 -1
  573. package/lib/rules/oas3/no-empty-servers.js.map +0 -1
  574. package/lib/rules/oas3/no-example-value-and-externalValue.d.ts.map +0 -1
  575. package/lib/rules/oas3/no-example-value-and-externalValue.js.map +0 -1
  576. package/lib/rules/oas3/no-invalid-media-type-examples.d.ts.map +0 -1
  577. package/lib/rules/oas3/no-invalid-media-type-examples.js.map +0 -1
  578. package/lib/rules/oas3/no-server-example.com.d.ts.map +0 -1
  579. package/lib/rules/oas3/no-server-example.com.js.map +0 -1
  580. package/lib/rules/oas3/no-server-trailing-slash.d.ts.map +0 -1
  581. package/lib/rules/oas3/no-server-trailing-slash.js.map +0 -1
  582. package/lib/rules/oas3/no-server-variables-empty-enum.d.ts.map +0 -1
  583. package/lib/rules/oas3/no-server-variables-empty-enum.js.map +0 -1
  584. package/lib/rules/oas3/no-undefined-server-variable.d.ts.map +0 -1
  585. package/lib/rules/oas3/no-undefined-server-variable.js.map +0 -1
  586. package/lib/rules/oas3/no-unused-components.d.ts.map +0 -1
  587. package/lib/rules/oas3/no-unused-components.js.map +0 -1
  588. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.d.ts.map +0 -1
  589. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.js.map +0 -1
  590. package/lib/rules/oas3/request-mime-type.d.ts.map +0 -1
  591. package/lib/rules/oas3/request-mime-type.js.map +0 -1
  592. package/lib/rules/oas3/response-contains-property.d.ts.map +0 -1
  593. package/lib/rules/oas3/response-contains-property.js.map +0 -1
  594. package/lib/rules/oas3/response-mime-type.d.ts.map +0 -1
  595. package/lib/rules/oas3/response-mime-type.js.map +0 -1
  596. package/lib/rules/oas3/spec-components-invalid-map-name.d.ts.map +0 -1
  597. package/lib/rules/oas3/spec-components-invalid-map-name.js.map +0 -1
  598. package/lib/rules/other/stats.d.ts.map +0 -1
  599. package/lib/rules/other/stats.js.map +0 -1
  600. package/lib/rules/overlay1/index.d.ts.map +0 -1
  601. package/lib/rules/overlay1/index.js.map +0 -1
  602. package/lib/rules/respect/no-criteria-xpath.d.ts.map +0 -1
  603. package/lib/rules/respect/no-criteria-xpath.js.map +0 -1
  604. package/lib/rules/respect/respect-supported-versions.d.ts.map +0 -1
  605. package/lib/rules/respect/respect-supported-versions.js.map +0 -1
  606. package/lib/rules/utils.d.ts.map +0 -1
  607. package/lib/rules/utils.js.map +0 -1
  608. package/lib/types/arazzo.d.ts.map +0 -1
  609. package/lib/types/arazzo.js.map +0 -1
  610. package/lib/types/asyncapi2.d.ts.map +0 -1
  611. package/lib/types/asyncapi2.js.map +0 -1
  612. package/lib/types/asyncapi3.d.ts.map +0 -1
  613. package/lib/types/asyncapi3.js.map +0 -1
  614. package/lib/types/index.d.ts.map +0 -1
  615. package/lib/types/index.js.map +0 -1
  616. package/lib/types/json-schema-adapter.d.ts.map +0 -1
  617. package/lib/types/json-schema-adapter.js.map +0 -1
  618. package/lib/types/oas2.d.ts.map +0 -1
  619. package/lib/types/oas2.js.map +0 -1
  620. package/lib/types/oas3.d.ts.map +0 -1
  621. package/lib/types/oas3.js.map +0 -1
  622. package/lib/types/oas3_1.d.ts.map +0 -1
  623. package/lib/types/oas3_1.js.map +0 -1
  624. package/lib/types/overlay.d.ts.map +0 -1
  625. package/lib/types/overlay.js.map +0 -1
  626. package/lib/types/redocly-yaml.d.ts.map +0 -1
  627. package/lib/types/redocly-yaml.js.map +0 -1
  628. package/lib/typings/arazzo.d.ts.map +0 -1
  629. package/lib/typings/arazzo.js.map +0 -1
  630. package/lib/typings/asyncapi.d.ts.map +0 -1
  631. package/lib/typings/asyncapi.js.map +0 -1
  632. package/lib/typings/asyncapi3.d.ts.map +0 -1
  633. package/lib/typings/asyncapi3.js.map +0 -1
  634. package/lib/typings/common.d.ts.map +0 -1
  635. package/lib/typings/common.js.map +0 -1
  636. package/lib/typings/openapi.d.ts.map +0 -1
  637. package/lib/typings/openapi.js.map +0 -1
  638. package/lib/typings/overlay.d.ts.map +0 -1
  639. package/lib/typings/overlay.js.map +0 -1
  640. package/lib/typings/swagger.d.ts.map +0 -1
  641. package/lib/typings/swagger.js.map +0 -1
  642. package/lib/utils/error.d.ts +0 -3
  643. package/lib/utils/error.d.ts.map +0 -1
  644. package/lib/utils/error.js +0 -3
  645. package/lib/utils/error.js.map +0 -1
  646. package/lib/utils.d.ts.map +0 -1
  647. package/lib/utils.js.map +0 -1
  648. package/lib/visitors.d.ts.map +0 -1
  649. package/lib/visitors.js.map +0 -1
  650. package/lib/walk.d.ts.map +0 -1
  651. package/lib/walk.js.map +0 -1
package/lib/lint.js CHANGED
@@ -1,16 +1,22 @@
1
- import { rootRedoclyConfigSchema } from '@redocly/config';
2
- import { BaseResolver, resolveDocument, makeDocumentFromString } from './resolve.js';
3
- import { normalizeVisitors } from './visitors.js';
4
- import { walkDocument } from './walk.js';
5
- import { initRules } from './config/rules.js';
6
- import { normalizeTypes } from './types/index.js';
7
- import { releaseAjvInstance } from './rules/ajv.js';
8
- import { SpecVersion, getMajorSpecVersion, detectSpec, getTypes } from './oas-types.js';
9
- import { createConfigTypes } from './types/redocly-yaml.js';
10
- import { Struct } from './rules/common/struct.js';
11
- import { NoUnresolvedRefs } from './rules/no-unresolved-refs.js';
12
- export async function lint(opts) {
13
- const { ref, externalRefResolver = new BaseResolver(opts.config.resolve) } = opts;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.lint = lint;
4
+ exports.lintFromString = lintFromString;
5
+ exports.lintDocument = lintDocument;
6
+ exports.lintConfig = lintConfig;
7
+ const config_1 = require("@redocly/config");
8
+ const resolve_1 = require("./resolve");
9
+ const visitors_1 = require("./visitors");
10
+ const walk_1 = require("./walk");
11
+ const config_2 = require("./config");
12
+ const types_1 = require("./types");
13
+ const ajv_1 = require("./rules/ajv");
14
+ const oas_types_1 = require("./oas-types");
15
+ const redocly_yaml_1 = require("./types/redocly-yaml");
16
+ const struct_1 = require("./rules/common/struct");
17
+ const no_unresolved_refs_1 = require("./rules/no-unresolved-refs");
18
+ async function lint(opts) {
19
+ const { ref, externalRefResolver = new resolve_1.BaseResolver(opts.config.resolve) } = opts;
14
20
  const document = (await externalRefResolver.resolveDocument(null, ref, true));
15
21
  opts.collectSpecData?.(document.parsed);
16
22
  return lintDocument({
@@ -20,9 +26,9 @@ export async function lint(opts) {
20
26
  config: opts.config.styleguide,
21
27
  });
22
28
  }
23
- export async function lintFromString(opts) {
24
- const { source, absoluteRef, externalRefResolver = new BaseResolver(opts.config.resolve) } = opts;
25
- const document = makeDocumentFromString(source, absoluteRef || '/');
29
+ async function lintFromString(opts) {
30
+ const { source, absoluteRef, externalRefResolver = new resolve_1.BaseResolver(opts.config.resolve) } = opts;
31
+ const document = (0, resolve_1.makeDocumentFromString)(source, absoluteRef || '/');
26
32
  return lintDocument({
27
33
  document,
28
34
  ...opts,
@@ -30,42 +36,42 @@ export async function lintFromString(opts) {
30
36
  config: opts.config.styleguide,
31
37
  });
32
38
  }
33
- export async function lintDocument(opts) {
34
- releaseAjvInstance(); // FIXME: preprocessors can modify nodes which are then cached to ajv-instance by absolute path
39
+ async function lintDocument(opts) {
40
+ (0, ajv_1.releaseAjvInstance)(); // FIXME: preprocessors can modify nodes which are then cached to ajv-instance by absolute path
35
41
  const { document, customTypes, externalRefResolver, config } = opts;
36
- const specVersion = detectSpec(document.parsed);
37
- const specMajorVersion = getMajorSpecVersion(specVersion);
42
+ const specVersion = (0, oas_types_1.detectSpec)(document.parsed);
43
+ const specMajorVersion = (0, oas_types_1.getMajorSpecVersion)(specVersion);
38
44
  const rules = config.getRulesForSpecVersion(specMajorVersion);
39
- const types = normalizeTypes(config.extendTypes(customTypes ?? getTypes(specVersion), specVersion), config);
45
+ const types = (0, types_1.normalizeTypes)(config.extendTypes(customTypes ?? (0, oas_types_1.getTypes)(specVersion), specVersion), config);
40
46
  const ctx = {
41
47
  problems: [],
42
48
  oasVersion: specVersion,
43
49
  visitorsData: {},
44
50
  };
45
- const preprocessors = initRules(rules, config, 'preprocessors', specVersion);
46
- const regularRules = initRules(rules, config, 'rules', specVersion);
47
- let resolvedRefMap = await resolveDocument({
51
+ const preprocessors = (0, config_2.initRules)(rules, config, 'preprocessors', specVersion);
52
+ const regularRules = (0, config_2.initRules)(rules, config, 'rules', specVersion);
53
+ let resolvedRefMap = await (0, resolve_1.resolveDocument)({
48
54
  rootDocument: document,
49
55
  rootType: types.Root,
50
56
  externalRefResolver,
51
57
  });
52
58
  if (preprocessors.length > 0) {
53
59
  // Make additional pass to resolve refs defined in preprocessors.
54
- walkDocument({
60
+ (0, walk_1.walkDocument)({
55
61
  document,
56
62
  rootType: types.Root,
57
- normalizedVisitors: normalizeVisitors(preprocessors, types),
63
+ normalizedVisitors: (0, visitors_1.normalizeVisitors)(preprocessors, types),
58
64
  resolvedRefMap,
59
65
  ctx,
60
66
  });
61
- resolvedRefMap = await resolveDocument({
67
+ resolvedRefMap = await (0, resolve_1.resolveDocument)({
62
68
  rootDocument: document,
63
69
  rootType: types.Root,
64
70
  externalRefResolver,
65
71
  });
66
72
  }
67
- const normalizedVisitors = normalizeVisitors(regularRules, types);
68
- walkDocument({
73
+ const normalizedVisitors = (0, visitors_1.normalizeVisitors)(regularRules, types);
74
+ (0, walk_1.walkDocument)({
69
75
  document,
70
76
  rootType: types.Root,
71
77
  normalizedVisitors,
@@ -74,34 +80,34 @@ export async function lintDocument(opts) {
74
80
  });
75
81
  return ctx.problems.map((problem) => config.addProblemToIgnore(problem));
76
82
  }
77
- export async function lintConfig(opts) {
78
- const { document, severity, externalRefResolver = new BaseResolver(), config } = opts;
83
+ async function lintConfig(opts) {
84
+ const { document, severity, externalRefResolver = new resolve_1.BaseResolver(), config } = opts;
79
85
  const ctx = {
80
86
  problems: [],
81
- oasVersion: SpecVersion.OAS3_0,
87
+ oasVersion: oas_types_1.SpecVersion.OAS3_0,
82
88
  visitorsData: {},
83
89
  };
84
- const types = normalizeTypes(opts.externalConfigTypes || createConfigTypes(rootRedoclyConfigSchema, config), { doNotResolveExamples: config.styleguide.doNotResolveExamples });
90
+ const types = (0, types_1.normalizeTypes)(opts.externalConfigTypes || (0, redocly_yaml_1.createConfigTypes)(config_1.rootRedoclyConfigSchema, config), { doNotResolveExamples: config.styleguide.doNotResolveExamples });
85
91
  const rules = [
86
92
  {
87
93
  severity: severity || 'error',
88
94
  ruleId: 'configuration spec',
89
- visitor: Struct({ severity: 'error' }),
95
+ visitor: (0, struct_1.Struct)({ severity: 'error' }),
90
96
  },
91
97
  {
92
98
  severity: severity || 'error',
93
99
  ruleId: 'configuration no-unresolved-refs',
94
- visitor: NoUnresolvedRefs({ severity: 'error' }),
100
+ visitor: (0, no_unresolved_refs_1.NoUnresolvedRefs)({ severity: 'error' }),
95
101
  },
96
102
  ];
97
- const normalizedVisitors = normalizeVisitors(rules, types);
103
+ const normalizedVisitors = (0, visitors_1.normalizeVisitors)(rules, types);
98
104
  const resolvedRefMap = opts.resolvedRefMap ||
99
- (await resolveDocument({
105
+ (await (0, resolve_1.resolveDocument)({
100
106
  rootDocument: document,
101
107
  rootType: types.ConfigRoot,
102
108
  externalRefResolver,
103
109
  }));
104
- walkDocument({
110
+ (0, walk_1.walkDocument)({
105
111
  document,
106
112
  rootType: types.ConfigRoot,
107
113
  normalizedVisitors,
@@ -110,4 +116,3 @@ export async function lintConfig(opts) {
110
116
  });
111
117
  return ctx.problems;
112
118
  }
113
- //# sourceMappingURL=lint.js.map
package/lib/logger.d.ts CHANGED
@@ -4,11 +4,10 @@ export declare const colorOptions: {
4
4
  };
5
5
  export declare const colorize: typeof colorette;
6
6
  declare class Logger {
7
+ protected stderr(str: string): boolean;
7
8
  info(str: string): boolean | void;
8
9
  warn(str: string): boolean | void;
9
10
  error(str: string): boolean | void;
10
- output(str: string): boolean | void;
11
11
  }
12
12
  export declare const logger: Logger;
13
13
  export {};
14
- //# sourceMappingURL=logger.d.ts.map
package/lib/logger.js CHANGED
@@ -1,30 +1,32 @@
1
- import * as colorette from 'colorette';
2
- import { isBrowser } from './env.js';
3
- import { identity } from './utils.js';
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.logger = exports.colorize = exports.colorOptions = void 0;
4
+ const colorette = require("colorette");
5
+ const env_1 = require("./env");
6
+ const utils_1 = require("./utils");
4
7
  // eslint-disable-next-line @typescript-eslint/ban-ts-comment
5
8
  // @ts-ignore this works but some types are not working
6
- export const colorOptions = colorette.options;
7
- export const colorize = new Proxy(colorette, {
9
+ exports.colorOptions = colorette.options;
10
+ exports.colorize = new Proxy(colorette, {
8
11
  get(target, prop) {
9
- if (isBrowser) {
10
- return identity;
12
+ if (env_1.isBrowser) {
13
+ return utils_1.identity;
11
14
  }
12
15
  return target[prop];
13
16
  },
14
17
  });
15
18
  class Logger {
19
+ stderr(str) {
20
+ return process.stderr.write(str);
21
+ }
16
22
  info(str) {
17
- return isBrowser ? console.info(str) : process.stderr.write(str);
23
+ return env_1.isBrowser ? console.log(str) : this.stderr(str);
18
24
  }
19
25
  warn(str) {
20
- return isBrowser ? console.warn(str) : process.stderr.write(colorize.yellow(str));
26
+ return env_1.isBrowser ? console.warn(str) : this.stderr(exports.colorize.yellow(str));
21
27
  }
22
28
  error(str) {
23
- return isBrowser ? console.error(str) : process.stderr.write(colorize.red(str));
24
- }
25
- output(str) {
26
- return isBrowser ? console.info(str) : process.stdout.write(str);
29
+ return env_1.isBrowser ? console.error(str) : this.stderr(exports.colorize.red(str));
27
30
  }
28
31
  }
29
- export const logger = new Logger();
30
- //# sourceMappingURL=logger.js.map
32
+ exports.logger = new Logger();
@@ -1,5 +1,5 @@
1
- import type { BuiltInAsync2RuleId, BuiltInAsync3RuleId, BuiltInArazzo1RuleId, BuiltInOAS2RuleId, BuiltInOAS3RuleId, BuiltInOverlay1RuleId } from './types/redocly-yaml.js';
2
- import type { Oas3Rule, Oas3Preprocessor, Oas2Rule, Oas2Preprocessor, Async2Preprocessor, Async2Rule, Async3Preprocessor, Async3Rule, Arazzo1Preprocessor, Arazzo1Rule, Overlay1Preprocessor, Overlay1Rule } from './visitors.js';
1
+ import type { BuiltInAsync2RuleId, BuiltInAsync3RuleId, BuiltInArazzo1RuleId, BuiltInOAS2RuleId, BuiltInOAS3RuleId, BuiltInOverlay1RuleId } from './types/redocly-yaml';
2
+ import type { Oas3Rule, Oas3Preprocessor, Oas2Rule, Oas2Preprocessor, Async2Preprocessor, Async2Rule, Async3Preprocessor, Async3Rule, Arazzo1Preprocessor, Arazzo1Rule, Overlay1Preprocessor, Overlay1Rule } from './visitors';
3
3
  export declare enum SpecVersion {
4
4
  OAS2 = "oas2",
5
5
  OAS3_0 = "oas3_0",
@@ -38,5 +38,4 @@ export type Arazzo1DecoratorsSet = Record<string, Arazzo1Preprocessor>;
38
38
  export type Overlay1DecoratorsSet = Record<string, Overlay1Preprocessor>;
39
39
  export declare function detectSpec(root: unknown): SpecVersion;
40
40
  export declare function getMajorSpecVersion(version: SpecVersion): SpecMajorVersion;
41
- export declare function getTypes(spec: SpecVersion): Record<string, import("./index.js").NodeType> | Record<"Root" | "Tag" | "TagList" | "ExternalDocs" | "SecurityRequirement" | "SecurityRequirementList" | "Info" | "Contact" | "License" | "Paths" | "PathItem" | "Parameter" | "ParameterList" | "ParameterItems" | "Operation" | "Example" | "ExamplesMap" | "Examples" | "Header" | "Responses" | "Response" | "Schema" | "Xml" | "SchemaProperties" | "NamedSchemas" | "NamedResponses" | "NamedParameters" | "NamedSecuritySchemes" | "SecurityScheme" | "TagGroup" | "TagGroups" | "EnumDescriptions" | "Logo" | "XCodeSample" | "XCodeSampleList" | "XServer" | "XServerList", import("./index.js").NodeType> | Record<"Root" | "Tag" | "TagList" | "ExternalDocs" | "SecurityRequirement" | "SecurityRequirementList" | "Info" | "Contact" | "License" | "Paths" | "PathItem" | "Parameter" | "ParameterList" | "Operation" | "Example" | "ExamplesMap" | "Header" | "Responses" | "Response" | "Schema" | "Xml" | "SchemaProperties" | "NamedSchemas" | "NamedResponses" | "NamedParameters" | "NamedSecuritySchemes" | "SecurityScheme" | "TagGroup" | "TagGroups" | "EnumDescriptions" | "Logo" | "XCodeSample" | "XCodeSampleList" | "Server" | "ServerList" | "ServerVariable" | "ServerVariablesMap" | "Callback" | "CallbacksMap" | "RequestBody" | "MediaTypesMap" | "MediaType" | "Encoding" | "EncodingMap" | "HeadersMap" | "Link" | "LinksMap" | "DiscriminatorMapping" | "Discriminator" | "Components" | "NamedExamples" | "NamedRequestBodies" | "NamedHeaders" | "NamedLinks" | "NamedCallbacks" | "ImplicitFlow" | "PasswordFlow" | "ClientCredentials" | "AuthorizationCode" | "OAuth2Flows" | "XUsePkce" | "WebhooksMap", import("./index.js").NodeType> | Record<"Root" | "Info" | "License" | "Operation" | "Schema" | "SchemaProperties" | "SecurityScheme" | "Components" | "PatternProperties" | "NamedPathItems" | "DependentRequired", import("./index.js").NodeType>;
42
- //# sourceMappingURL=oas-types.d.ts.map
41
+ export declare function getTypes(spec: SpecVersion): Record<string, import("./types").NodeType> | Record<"Root" | "Tag" | "TagList" | "ExternalDocs" | "SecurityRequirement" | "SecurityRequirementList" | "Info" | "Contact" | "License" | "Paths" | "PathItem" | "Parameter" | "ParameterList" | "ParameterItems" | "Operation" | "Example" | "ExamplesMap" | "Examples" | "Header" | "Responses" | "Response" | "Schema" | "Xml" | "SchemaProperties" | "NamedSchemas" | "NamedResponses" | "NamedParameters" | "NamedSecuritySchemes" | "SecurityScheme" | "TagGroup" | "TagGroups" | "EnumDescriptions" | "Logo" | "XCodeSample" | "XCodeSampleList" | "XServer" | "XServerList", import("./types").NodeType> | Record<"Root" | "Tag" | "TagList" | "ExternalDocs" | "SecurityRequirement" | "SecurityRequirementList" | "Info" | "Contact" | "License" | "Paths" | "PathItem" | "Parameter" | "ParameterList" | "Operation" | "Example" | "ExamplesMap" | "Header" | "Responses" | "Response" | "Schema" | "Xml" | "SchemaProperties" | "NamedSchemas" | "NamedResponses" | "NamedParameters" | "NamedSecuritySchemes" | "SecurityScheme" | "TagGroup" | "TagGroups" | "EnumDescriptions" | "Logo" | "XCodeSample" | "XCodeSampleList" | "Server" | "ServerList" | "ServerVariable" | "ServerVariablesMap" | "Callback" | "CallbacksMap" | "RequestBody" | "MediaTypesMap" | "MediaType" | "Encoding" | "EncodingMap" | "HeadersMap" | "Link" | "LinksMap" | "DiscriminatorMapping" | "Discriminator" | "Components" | "NamedExamples" | "NamedRequestBodies" | "NamedHeaders" | "NamedLinks" | "NamedCallbacks" | "ImplicitFlow" | "PasswordFlow" | "ClientCredentials" | "AuthorizationCode" | "OAuth2Flows" | "XUsePkce" | "WebhooksMap", import("./types").NodeType> | Record<"Root" | "Info" | "License" | "Operation" | "Schema" | "SchemaProperties" | "SecurityScheme" | "Components" | "PatternProperties" | "NamedPathItems" | "DependentRequired", import("./types").NodeType>;
package/lib/oas-types.js CHANGED
@@ -1,13 +1,19 @@
1
- import { Oas2Types } from './types/oas2.js';
2
- import { Oas3Types } from './types/oas3.js';
3
- import { Oas3_1Types } from './types/oas3_1.js';
4
- import { AsyncApi2Types } from './types/asyncapi2.js';
5
- import { AsyncApi3Types } from './types/asyncapi3.js';
6
- import { Arazzo1Types } from './types/arazzo.js';
7
- import { Overlay1Types } from './types/overlay.js';
8
- import { isPlainObject } from './utils.js';
9
- import { VERSION_PATTERN } from './typings/arazzo.js';
10
- export var SpecVersion;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SpecMajorVersion = exports.SpecVersion = void 0;
4
+ exports.detectSpec = detectSpec;
5
+ exports.getMajorSpecVersion = getMajorSpecVersion;
6
+ exports.getTypes = getTypes;
7
+ const oas2_1 = require("./types/oas2");
8
+ const oas3_1 = require("./types/oas3");
9
+ const oas3_1_1 = require("./types/oas3_1");
10
+ const asyncapi2_1 = require("./types/asyncapi2");
11
+ const asyncapi3_1 = require("./types/asyncapi3");
12
+ const arazzo_1 = require("./types/arazzo");
13
+ const overlay_1 = require("./types/overlay");
14
+ const utils_1 = require("./utils");
15
+ const arazzo_2 = require("./typings/arazzo");
16
+ var SpecVersion;
11
17
  (function (SpecVersion) {
12
18
  SpecVersion["OAS2"] = "oas2";
13
19
  SpecVersion["OAS3_0"] = "oas3_0";
@@ -16,8 +22,8 @@ export var SpecVersion;
16
22
  SpecVersion["Async3"] = "async3";
17
23
  SpecVersion["Arazzo1"] = "arazzo1";
18
24
  SpecVersion["Overlay1"] = "overlay1";
19
- })(SpecVersion || (SpecVersion = {}));
20
- export var SpecMajorVersion;
25
+ })(SpecVersion || (exports.SpecVersion = SpecVersion = {}));
26
+ var SpecMajorVersion;
21
27
  (function (SpecMajorVersion) {
22
28
  SpecMajorVersion["OAS2"] = "oas2";
23
29
  SpecMajorVersion["OAS3"] = "oas3";
@@ -25,18 +31,18 @@ export var SpecMajorVersion;
25
31
  SpecMajorVersion["Async3"] = "async3";
26
32
  SpecMajorVersion["Arazzo1"] = "arazzo1";
27
33
  SpecMajorVersion["Overlay1"] = "overlay1";
28
- })(SpecMajorVersion || (SpecMajorVersion = {}));
34
+ })(SpecMajorVersion || (exports.SpecMajorVersion = SpecMajorVersion = {}));
29
35
  const typesMap = {
30
- [SpecVersion.OAS2]: Oas2Types,
31
- [SpecVersion.OAS3_0]: Oas3Types,
32
- [SpecVersion.OAS3_1]: Oas3_1Types,
33
- [SpecVersion.Async2]: AsyncApi2Types,
34
- [SpecVersion.Async3]: AsyncApi3Types,
35
- [SpecVersion.Arazzo1]: Arazzo1Types,
36
- [SpecVersion.Overlay1]: Overlay1Types,
36
+ [SpecVersion.OAS2]: oas2_1.Oas2Types,
37
+ [SpecVersion.OAS3_0]: oas3_1.Oas3Types,
38
+ [SpecVersion.OAS3_1]: oas3_1_1.Oas3_1Types,
39
+ [SpecVersion.Async2]: asyncapi2_1.AsyncApi2Types,
40
+ [SpecVersion.Async3]: asyncapi3_1.AsyncApi3Types,
41
+ [SpecVersion.Arazzo1]: arazzo_1.Arazzo1Types,
42
+ [SpecVersion.Overlay1]: overlay_1.Overlay1Types,
37
43
  };
38
- export function detectSpec(root) {
39
- if (!isPlainObject(root)) {
44
+ function detectSpec(root) {
45
+ if (!(0, utils_1.isPlainObject)(root)) {
40
46
  throw new Error(`Document must be JSON object, got ${typeof root}`);
41
47
  }
42
48
  if (root.openapi && typeof root.openapi !== 'string') {
@@ -63,15 +69,15 @@ export function detectSpec(root) {
63
69
  if (root.asyncapi) {
64
70
  throw new Error(`Unsupported AsyncAPI version: ${root.asyncapi}`);
65
71
  }
66
- if (typeof root.arazzo === 'string' && VERSION_PATTERN.test(root.arazzo)) {
72
+ if (typeof root.arazzo === 'string' && arazzo_2.VERSION_PATTERN.test(root.arazzo)) {
67
73
  return SpecVersion.Arazzo1;
68
74
  }
69
- if (typeof root.overlay === 'string' && VERSION_PATTERN.test(root.overlay)) {
75
+ if (typeof root.overlay === 'string' && arazzo_2.VERSION_PATTERN.test(root.overlay)) {
70
76
  return SpecVersion.Overlay1;
71
77
  }
72
78
  throw new Error(`Unsupported specification`);
73
79
  }
74
- export function getMajorSpecVersion(version) {
80
+ function getMajorSpecVersion(version) {
75
81
  if (version === SpecVersion.OAS2) {
76
82
  return SpecMajorVersion.OAS2;
77
83
  }
@@ -91,7 +97,6 @@ export function getMajorSpecVersion(version) {
91
97
  return SpecMajorVersion.OAS3;
92
98
  }
93
99
  }
94
- export function getTypes(spec) {
100
+ function getTypes(spec) {
95
101
  return typesMap[spec];
96
102
  }
97
- //# sourceMappingURL=oas-types.js.map
@@ -0,0 +1,3 @@
1
+ export declare const output: {
2
+ write(str: string): boolean | undefined;
3
+ };
package/lib/output.js ADDED
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.output = void 0;
4
+ const env_1 = require("./env");
5
+ exports.output = {
6
+ write(str) {
7
+ return env_1.isBrowser ? undefined : process.stdout.write(str);
8
+ },
9
+ };
@@ -0,0 +1,14 @@
1
+ import type { Region } from '../config/types';
2
+ export declare const DEFAULT_REGION = "us";
3
+ export declare const DOMAINS: {
4
+ us: string;
5
+ eu: string;
6
+ };
7
+ export declare const AVAILABLE_REGIONS: Region[];
8
+ export declare function getDomains(): {
9
+ us: string;
10
+ eu: string;
11
+ };
12
+ export declare function setRedoclyDomain(domain: string): void;
13
+ export declare function getRedoclyDomain(): string;
14
+ export declare function isRedoclyRegistryURL(link: string): boolean;
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AVAILABLE_REGIONS = exports.DOMAINS = exports.DEFAULT_REGION = void 0;
4
+ exports.getDomains = getDomains;
5
+ exports.setRedoclyDomain = setRedoclyDomain;
6
+ exports.getRedoclyDomain = getRedoclyDomain;
7
+ exports.isRedoclyRegistryURL = isRedoclyRegistryURL;
8
+ let redoclyDomain = 'redocly.com';
9
+ exports.DEFAULT_REGION = 'us';
10
+ exports.DOMAINS = getDomains();
11
+ exports.AVAILABLE_REGIONS = Object.keys(exports.DOMAINS);
12
+ function getDomains() {
13
+ const domains = {
14
+ us: 'redocly.com',
15
+ eu: 'eu.redocly.com',
16
+ };
17
+ // FIXME: temporary fix for our lab environments
18
+ const domain = redoclyDomain;
19
+ if (domain?.endsWith('.redocly.host')) {
20
+ domains[domain.split('.')[0]] = domain;
21
+ }
22
+ if (domain === 'redoc.online') {
23
+ domains[domain] = domain;
24
+ }
25
+ return domains;
26
+ }
27
+ function setRedoclyDomain(domain) {
28
+ redoclyDomain = domain;
29
+ }
30
+ function getRedoclyDomain() {
31
+ return redoclyDomain;
32
+ }
33
+ function isRedoclyRegistryURL(link) {
34
+ const domain = getRedoclyDomain() || exports.DOMAINS[exports.DEFAULT_REGION];
35
+ const legacyDomain = domain === 'redocly.com' ? 'redoc.ly' : domain;
36
+ if (!link.startsWith(`https://api.${domain}/registry/`) &&
37
+ !link.startsWith(`https://api.${legacyDomain}/registry/`)) {
38
+ return false;
39
+ }
40
+ return true;
41
+ }
@@ -0,0 +1,30 @@
1
+ import { RegistryApi } from './registry-api';
2
+ import type { RegionalToken, RegionalTokenWithValidity } from './redocly-client-types';
3
+ import type { AccessTokens, Region } from '../config/types';
4
+ export declare const TOKEN_FILENAME = ".redocly-config.json";
5
+ export declare class RedoclyClient {
6
+ private accessTokens;
7
+ private region;
8
+ domain: string;
9
+ registryApi: RegistryApi;
10
+ constructor(region?: Region);
11
+ loadRegion(region?: Region): Region;
12
+ getRegion(): Region;
13
+ hasTokens(): boolean;
14
+ hasToken(): boolean;
15
+ getAuthorizationHeader(): Promise<string | undefined>;
16
+ setAccessTokens(accessTokens: AccessTokens): void;
17
+ loadTokens(): void;
18
+ getAllTokens(): RegionalToken[];
19
+ getValidTokens(): Promise<RegionalTokenWithValidity[]>;
20
+ getTokens(): Promise<RegionalTokenWithValidity[]>;
21
+ isAuthorizedWithRedoclyByRegion(): Promise<boolean>;
22
+ isAuthorizedWithRedocly(): Promise<boolean>;
23
+ readCredentialsFile(credentialsPath: string): any;
24
+ verifyToken(accessToken: string, verbose?: boolean): Promise<{
25
+ viewerId: string;
26
+ organizations: string[];
27
+ }>;
28
+ login(accessToken: string, verbose?: boolean): Promise<void>;
29
+ logout(): void;
30
+ }
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedoclyClient = exports.TOKEN_FILENAME = void 0;
4
+ const fs_1 = require("fs");
5
+ const path_1 = require("path");
6
+ const os_1 = require("os");
7
+ const registry_api_1 = require("./registry-api");
8
+ const env_1 = require("../env");
9
+ const utils_1 = require("../utils");
10
+ const logger_1 = require("../logger");
11
+ const domains_1 = require("./domains");
12
+ exports.TOKEN_FILENAME = '.redocly-config.json';
13
+ class RedoclyClient {
14
+ constructor(region) {
15
+ this.accessTokens = {};
16
+ this.region = this.loadRegion(region);
17
+ this.loadTokens();
18
+ this.domain = region ? domains_1.DOMAINS[region] : env_1.env.REDOCLY_DOMAIN || domains_1.DOMAINS[domains_1.DEFAULT_REGION];
19
+ (0, domains_1.setRedoclyDomain)(this.domain);
20
+ this.registryApi = new registry_api_1.RegistryApi(this.accessTokens, this.region);
21
+ }
22
+ loadRegion(region) {
23
+ if (region && !domains_1.DOMAINS[region]) {
24
+ throw new Error(`Invalid argument: region in config file.\nGiven: ${logger_1.colorize.green(region)}, choices: "us", "eu".`);
25
+ }
26
+ if ((0, domains_1.getRedoclyDomain)()) {
27
+ return (domains_1.AVAILABLE_REGIONS.find((region) => domains_1.DOMAINS[region] === (0, domains_1.getRedoclyDomain)()) || domains_1.DEFAULT_REGION);
28
+ }
29
+ return region || domains_1.DEFAULT_REGION;
30
+ }
31
+ getRegion() {
32
+ return this.region;
33
+ }
34
+ hasTokens() {
35
+ return (0, utils_1.isNotEmptyObject)(this.accessTokens);
36
+ }
37
+ // <backward compatibility: old versions of portal>
38
+ hasToken() {
39
+ return !!this.accessTokens[this.region];
40
+ }
41
+ async getAuthorizationHeader() {
42
+ return this.accessTokens[this.region];
43
+ }
44
+ // </backward compatibility: portal>
45
+ setAccessTokens(accessTokens) {
46
+ this.accessTokens = accessTokens;
47
+ }
48
+ loadTokens() {
49
+ const credentialsPath = (0, path_1.resolve)((0, os_1.homedir)(), exports.TOKEN_FILENAME);
50
+ const credentials = this.readCredentialsFile(credentialsPath);
51
+ if ((0, utils_1.isNotEmptyObject)(credentials)) {
52
+ this.setAccessTokens({
53
+ ...credentials,
54
+ ...(credentials.token &&
55
+ !credentials[this.region] && {
56
+ [this.region]: credentials.token,
57
+ }),
58
+ });
59
+ }
60
+ if (env_1.env.REDOCLY_AUTHORIZATION) {
61
+ this.setAccessTokens({
62
+ ...this.accessTokens,
63
+ [this.region]: env_1.env.REDOCLY_AUTHORIZATION,
64
+ });
65
+ }
66
+ }
67
+ getAllTokens() {
68
+ return Object.entries(this.accessTokens)
69
+ .filter(([region]) => domains_1.AVAILABLE_REGIONS.includes(region))
70
+ .map(([region, token]) => ({ region, token }));
71
+ }
72
+ async getValidTokens() {
73
+ const allTokens = this.getAllTokens();
74
+ const verifiedTokens = await Promise.allSettled(allTokens.map(({ token }) => this.verifyToken(token)));
75
+ return allTokens
76
+ .filter((_, index) => verifiedTokens[index].status === 'fulfilled')
77
+ .map(({ token, region }) => ({ token, region, valid: true }));
78
+ }
79
+ async getTokens() {
80
+ return this.hasTokens() ? await this.getValidTokens() : [];
81
+ }
82
+ async isAuthorizedWithRedoclyByRegion() {
83
+ if (!this.hasTokens()) {
84
+ return false;
85
+ }
86
+ const accessToken = this.accessTokens[this.region];
87
+ if (!accessToken) {
88
+ return false;
89
+ }
90
+ try {
91
+ await this.verifyToken(accessToken);
92
+ return true;
93
+ }
94
+ catch (err) {
95
+ return false;
96
+ }
97
+ }
98
+ async isAuthorizedWithRedocly() {
99
+ return this.hasTokens() && (0, utils_1.isNotEmptyArray)(await this.getValidTokens());
100
+ }
101
+ readCredentialsFile(credentialsPath) {
102
+ return (0, fs_1.existsSync)(credentialsPath) ? JSON.parse((0, fs_1.readFileSync)(credentialsPath, 'utf-8')) : {};
103
+ }
104
+ async verifyToken(accessToken, verbose = false) {
105
+ return this.registryApi.authStatus(accessToken, verbose);
106
+ }
107
+ async login(accessToken, verbose = false) {
108
+ const credentialsPath = (0, path_1.resolve)((0, os_1.homedir)(), exports.TOKEN_FILENAME);
109
+ try {
110
+ await this.verifyToken(accessToken, verbose);
111
+ }
112
+ catch (err) {
113
+ throw new Error('Authorization failed. Please check if you entered a valid API key.');
114
+ }
115
+ const credentials = {
116
+ ...this.readCredentialsFile(credentialsPath),
117
+ [this.region]: accessToken,
118
+ token: accessToken, // FIXME: backward compatibility, remove on 1.0.0
119
+ };
120
+ this.accessTokens = credentials;
121
+ this.registryApi.setAccessTokens(credentials);
122
+ (0, fs_1.writeFileSync)(credentialsPath, JSON.stringify(credentials, null, 2));
123
+ }
124
+ logout() {
125
+ const credentialsPath = (0, path_1.resolve)((0, os_1.homedir)(), exports.TOKEN_FILENAME);
126
+ if ((0, fs_1.existsSync)(credentialsPath)) {
127
+ (0, fs_1.unlinkSync)(credentialsPath);
128
+ }
129
+ }
130
+ }
131
+ exports.RedoclyClient = RedoclyClient;
@@ -0,0 +1,8 @@
1
+ import type { Region } from '../config/types';
2
+ export interface RegionalToken {
3
+ region: Region;
4
+ token: string;
5
+ }
6
+ export interface RegionalTokenWithValidity extends RegionalToken {
7
+ valid: boolean;
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,29 @@
1
+ interface VersionParams {
2
+ organizationId: string;
3
+ name: string;
4
+ version: string;
5
+ }
6
+ export interface PrepareFileuploadParams extends VersionParams {
7
+ filesHash: string;
8
+ filename: string;
9
+ isUpsert?: boolean;
10
+ }
11
+ export interface PushApiParams extends VersionParams {
12
+ rootFilePath: string;
13
+ filePaths: string[];
14
+ branch?: string;
15
+ isUpsert?: boolean;
16
+ isPublic?: boolean;
17
+ batchId?: string;
18
+ batchSize?: number;
19
+ }
20
+ export interface PrepareFileuploadOKResponse {
21
+ filePath: string;
22
+ signedUploadUrl: string;
23
+ }
24
+ export interface NotFoundProblemResponse {
25
+ status: 404;
26
+ title: 'Not Found';
27
+ code: 'ORGANIZATION_NOT_FOUND' | 'API_VERSION_NOT_FOUND';
28
+ }
29
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,17 @@
1
+ import type { PrepareFileuploadOKResponse, PrepareFileuploadParams, PushApiParams } from './registry-api-types';
2
+ import type { AccessTokens, Region } from '../config/types';
3
+ export declare class RegistryApi {
4
+ private accessTokens;
5
+ private region;
6
+ constructor(accessTokens: AccessTokens, region: Region);
7
+ get accessToken(): string | false | undefined;
8
+ getBaseUrl(): string;
9
+ setAccessTokens(accessTokens: AccessTokens): this;
10
+ private request;
11
+ authStatus(accessToken: string, verbose?: boolean): Promise<{
12
+ viewerId: string;
13
+ organizations: string[];
14
+ }>;
15
+ prepareFileUpload({ organizationId, name, version, filesHash, filename, isUpsert, }: PrepareFileuploadParams): Promise<PrepareFileuploadOKResponse>;
16
+ pushApi({ organizationId, name, version, rootFilePath, filePaths, branch, isUpsert, isPublic, batchId, batchSize, }: PushApiParams): Promise<void>;
17
+ }