@depup/redocly__openapi-core 2.22.1-depup.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 (871) hide show
  1. package/README.md +32 -0
  2. package/changes.json +14 -0
  3. package/lib/bundle/bundle-document.d.ts +33 -0
  4. package/lib/bundle/bundle-document.d.ts.map +1 -0
  5. package/lib/bundle/bundle-document.js +85 -0
  6. package/lib/bundle/bundle-document.js.map +1 -0
  7. package/lib/bundle/bundle-oas.d.ts +15 -0
  8. package/lib/bundle/bundle-oas.d.ts.map +1 -0
  9. package/lib/bundle/bundle-oas.js +55 -0
  10. package/lib/bundle/bundle-oas.js.map +1 -0
  11. package/lib/bundle/bundle-visitor.d.ts +15 -0
  12. package/lib/bundle/bundle-visitor.d.ts.map +1 -0
  13. package/lib/bundle/bundle-visitor.js +257 -0
  14. package/lib/bundle/bundle-visitor.js.map +1 -0
  15. package/lib/bundle/bundle.d.ts +26 -0
  16. package/lib/bundle/bundle.d.ts.map +1 -0
  17. package/lib/bundle/bundle.js +74 -0
  18. package/lib/bundle/bundle.js.map +1 -0
  19. package/lib/config/all.d.ts +4 -0
  20. package/lib/config/all.d.ts.map +1 -0
  21. package/lib/config/all.js +310 -0
  22. package/lib/config/all.js.map +1 -0
  23. package/lib/config/builtIn.d.ts +4 -0
  24. package/lib/config/builtIn.d.ts.map +1 -0
  25. package/lib/config/builtIn.js +58 -0
  26. package/lib/config/builtIn.js.map +1 -0
  27. package/lib/config/bundle-extends.d.ts +8 -0
  28. package/lib/config/bundle-extends.d.ts.map +1 -0
  29. package/lib/config/bundle-extends.js +27 -0
  30. package/lib/config/bundle-extends.js.map +1 -0
  31. package/lib/config/config-resolvers.d.ts +23 -0
  32. package/lib/config/config-resolvers.d.ts.map +1 -0
  33. package/lib/config/config-resolvers.js +335 -0
  34. package/lib/config/config-resolvers.js.map +1 -0
  35. package/lib/config/config.d.ts +47 -0
  36. package/lib/config/config.d.ts.map +1 -0
  37. package/lib/config/config.js +338 -0
  38. package/lib/config/config.js.map +1 -0
  39. package/lib/config/constants.d.ts +10 -0
  40. package/lib/config/constants.d.ts.map +1 -0
  41. package/lib/config/constants.js +13 -0
  42. package/lib/config/constants.js.map +1 -0
  43. package/lib/config/get-resolve-config.d.ts +3 -0
  44. package/lib/config/get-resolve-config.d.ts.map +1 -0
  45. package/lib/config/get-resolve-config.js +9 -0
  46. package/lib/config/get-resolve-config.js.map +1 -0
  47. package/lib/config/group-assertion-rules.d.ts +3 -0
  48. package/lib/config/group-assertion-rules.d.ts.map +1 -0
  49. package/lib/config/group-assertion-rules.js +51 -0
  50. package/lib/config/group-assertion-rules.js.map +1 -0
  51. package/lib/config/index.d.ts +8 -0
  52. package/lib/config/index.d.ts.map +1 -0
  53. package/lib/config/index.js +8 -0
  54. package/lib/config/index.js.map +1 -0
  55. package/lib/config/load.d.ts +19 -0
  56. package/lib/config/load.d.ts.map +1 -0
  57. package/lib/config/load.js +98 -0
  58. package/lib/config/load.js.map +1 -0
  59. package/lib/config/minimal.d.ts +4 -0
  60. package/lib/config/minimal.d.ts.map +1 -0
  61. package/lib/config/minimal.js +289 -0
  62. package/lib/config/minimal.js.map +1 -0
  63. package/lib/config/recommended-strict.d.ts +4 -0
  64. package/lib/config/recommended-strict.d.ts.map +1 -0
  65. package/lib/config/recommended-strict.js +289 -0
  66. package/lib/config/recommended-strict.js.map +1 -0
  67. package/lib/config/recommended.d.ts +4 -0
  68. package/lib/config/recommended.d.ts.map +1 -0
  69. package/lib/config/recommended.js +289 -0
  70. package/lib/config/recommended.js.map +1 -0
  71. package/lib/config/rules.d.ts +11 -0
  72. package/lib/config/rules.d.ts.map +1 -0
  73. package/lib/config/rules.js +35 -0
  74. package/lib/config/rules.js.map +1 -0
  75. package/lib/config/spec.d.ts +4 -0
  76. package/lib/config/spec.d.ts.map +1 -0
  77. package/lib/config/spec.js +289 -0
  78. package/lib/config/spec.js.map +1 -0
  79. package/lib/config/types.d.ts +158 -0
  80. package/lib/config/types.d.ts.map +1 -0
  81. package/lib/config/types.js +2 -0
  82. package/lib/config/types.js.map +1 -0
  83. package/lib/config/utils.d.ts +14 -0
  84. package/lib/config/utils.d.ts.map +1 -0
  85. package/lib/config/utils.js +129 -0
  86. package/lib/config/utils.js.map +1 -0
  87. package/lib/config/visitors.d.ts +50 -0
  88. package/lib/config/visitors.d.ts.map +1 -0
  89. package/lib/config/visitors.js +99 -0
  90. package/lib/config/visitors.js.map +1 -0
  91. package/lib/decorators/arazzo/index.d.ts +2 -0
  92. package/lib/decorators/arazzo/index.d.ts.map +1 -0
  93. package/lib/decorators/arazzo/index.js +2 -0
  94. package/lib/decorators/arazzo/index.js.map +1 -0
  95. package/lib/decorators/async2/index.d.ts +2 -0
  96. package/lib/decorators/async2/index.d.ts.map +1 -0
  97. package/lib/decorators/async2/index.js +2 -0
  98. package/lib/decorators/async2/index.js.map +1 -0
  99. package/lib/decorators/async3/index.d.ts +2 -0
  100. package/lib/decorators/async3/index.d.ts.map +1 -0
  101. package/lib/decorators/async3/index.js +2 -0
  102. package/lib/decorators/async3/index.js.map +1 -0
  103. package/lib/decorators/common/filters/filter-helper.d.ts +4 -0
  104. package/lib/decorators/common/filters/filter-helper.d.ts.map +1 -0
  105. package/lib/decorators/common/filters/filter-helper.js +65 -0
  106. package/lib/decorators/common/filters/filter-helper.js.map +1 -0
  107. package/lib/decorators/common/filters/filter-in.d.ts +3 -0
  108. package/lib/decorators/common/filters/filter-in.d.ts.map +1 -0
  109. package/lib/decorators/common/filters/filter-in.js +67 -0
  110. package/lib/decorators/common/filters/filter-in.js.map +1 -0
  111. package/lib/decorators/common/filters/filter-out.d.ts +3 -0
  112. package/lib/decorators/common/filters/filter-out.d.ts.map +1 -0
  113. package/lib/decorators/common/filters/filter-out.js +67 -0
  114. package/lib/decorators/common/filters/filter-out.js.map +1 -0
  115. package/lib/decorators/common/info-description-override.d.ts +3 -0
  116. package/lib/decorators/common/info-description-override.d.ts.map +1 -0
  117. package/lib/decorators/common/info-description-override.js +21 -0
  118. package/lib/decorators/common/info-description-override.js.map +1 -0
  119. package/lib/decorators/common/info-override.d.ts +3 -0
  120. package/lib/decorators/common/info-override.d.ts.map +1 -0
  121. package/lib/decorators/common/info-override.js +14 -0
  122. package/lib/decorators/common/info-override.js.map +1 -0
  123. package/lib/decorators/common/media-type-examples-override.d.ts +3 -0
  124. package/lib/decorators/common/media-type-examples-override.d.ts.map +1 -0
  125. package/lib/decorators/common/media-type-examples-override.js +58 -0
  126. package/lib/decorators/common/media-type-examples-override.js.map +1 -0
  127. package/lib/decorators/common/operation-description-override.d.ts +3 -0
  128. package/lib/decorators/common/operation-description-override.d.ts.map +1 -0
  129. package/lib/decorators/common/operation-description-override.js +27 -0
  130. package/lib/decorators/common/operation-description-override.js.map +1 -0
  131. package/lib/decorators/common/remove-x-internal.d.ts +3 -0
  132. package/lib/decorators/common/remove-x-internal.d.ts.map +1 -0
  133. package/lib/decorators/common/remove-x-internal.js +68 -0
  134. package/lib/decorators/common/remove-x-internal.js.map +1 -0
  135. package/lib/decorators/common/tag-description-override.d.ts +3 -0
  136. package/lib/decorators/common/tag-description-override.d.ts.map +1 -0
  137. package/lib/decorators/common/tag-description-override.js +23 -0
  138. package/lib/decorators/common/tag-description-override.js.map +1 -0
  139. package/lib/decorators/oas2/index.d.ts +12 -0
  140. package/lib/decorators/oas2/index.d.ts.map +1 -0
  141. package/lib/decorators/oas2/index.js +19 -0
  142. package/lib/decorators/oas2/index.js.map +1 -0
  143. package/lib/decorators/oas2/remove-unused-components.d.ts +3 -0
  144. package/lib/decorators/oas2/remove-unused-components.d.ts.map +1 -0
  145. package/lib/decorators/oas2/remove-unused-components.js +88 -0
  146. package/lib/decorators/oas2/remove-unused-components.js.map +1 -0
  147. package/lib/decorators/oas3/index.d.ts +13 -0
  148. package/lib/decorators/oas3/index.d.ts.map +1 -0
  149. package/lib/decorators/oas3/index.js +21 -0
  150. package/lib/decorators/oas3/index.js.map +1 -0
  151. package/lib/decorators/oas3/remove-unused-components.d.ts +3 -0
  152. package/lib/decorators/oas3/remove-unused-components.d.ts.map +1 -0
  153. package/lib/decorators/oas3/remove-unused-components.js +116 -0
  154. package/lib/decorators/oas3/remove-unused-components.js.map +1 -0
  155. package/lib/decorators/openrpc/index.d.ts +2 -0
  156. package/lib/decorators/openrpc/index.d.ts.map +1 -0
  157. package/lib/decorators/openrpc/index.js +2 -0
  158. package/lib/decorators/openrpc/index.js.map +1 -0
  159. package/lib/decorators/overlay1/index.d.ts +2 -0
  160. package/lib/decorators/overlay1/index.d.ts.map +1 -0
  161. package/lib/decorators/overlay1/index.js +2 -0
  162. package/lib/decorators/overlay1/index.js.map +1 -0
  163. package/lib/detect-spec.d.ts +5 -0
  164. package/lib/detect-spec.d.ts.map +1 -0
  165. package/lib/detect-spec.js +79 -0
  166. package/lib/detect-spec.js.map +1 -0
  167. package/lib/env.d.ts +3 -0
  168. package/lib/env.d.ts.map +1 -0
  169. package/lib/env.js +5 -0
  170. package/lib/env.js.map +1 -0
  171. package/lib/errors/yaml-parse-error.d.ts +9 -0
  172. package/lib/errors/yaml-parse-error.d.ts.map +1 -0
  173. package/lib/errors/yaml-parse-error.js +14 -0
  174. package/lib/errors/yaml-parse-error.js.map +1 -0
  175. package/lib/format/codeframes.d.ts +23 -0
  176. package/lib/format/codeframes.d.ts.map +1 -0
  177. package/lib/format/codeframes.js +177 -0
  178. package/lib/format/codeframes.js.map +1 -0
  179. package/lib/format/format.d.ts +23 -0
  180. package/lib/format/format.d.ts.map +1 -0
  181. package/lib/format/format.js +365 -0
  182. package/lib/format/format.js.map +1 -0
  183. package/lib/index.d.ts +58 -0
  184. package/lib/index.d.ts.map +1 -0
  185. package/lib/index.js +49 -0
  186. package/lib/index.js.map +1 -0
  187. package/lib/js-yaml/index.d.ts +4 -0
  188. package/lib/js-yaml/index.d.ts.map +1 -0
  189. package/lib/js-yaml/index.js +11 -0
  190. package/lib/js-yaml/index.js.map +1 -0
  191. package/lib/lint-entity.d.ts +24 -0
  192. package/lib/lint-entity.d.ts.map +1 -0
  193. package/lib/lint-entity.js +171 -0
  194. package/lib/lint-entity.js.map +1 -0
  195. package/lib/lint.d.ts +31 -0
  196. package/lib/lint.d.ts.map +1 -0
  197. package/lib/lint.js +123 -0
  198. package/lib/lint.js.map +1 -0
  199. package/lib/logger.d.ts +26 -0
  200. package/lib/logger.d.ts.map +1 -0
  201. package/lib/logger.js +56 -0
  202. package/lib/logger.js.map +1 -0
  203. package/lib/oas-types.d.ts +877 -0
  204. package/lib/oas-types.d.ts.map +1 -0
  205. package/lib/oas-types.js +35 -0
  206. package/lib/oas-types.js.map +1 -0
  207. package/lib/ref-utils.d.ts +32 -0
  208. package/lib/ref-utils.d.ts.map +1 -0
  209. package/lib/ref-utils.js +109 -0
  210. package/lib/ref-utils.js.map +1 -0
  211. package/lib/resolve.d.ts +57 -0
  212. package/lib/resolve.d.ts.map +1 -0
  213. package/lib/resolve.js +326 -0
  214. package/lib/resolve.js.map +1 -0
  215. package/lib/rules/ajv.d.ts +20 -0
  216. package/lib/rules/ajv.d.ts.map +1 -0
  217. package/lib/rules/ajv.js +106 -0
  218. package/lib/rules/ajv.js.map +1 -0
  219. package/lib/rules/arazzo/criteria-unique.d.ts +3 -0
  220. package/lib/rules/arazzo/criteria-unique.d.ts.map +1 -0
  221. package/lib/rules/arazzo/criteria-unique.js +68 -0
  222. package/lib/rules/arazzo/criteria-unique.js.map +1 -0
  223. package/lib/rules/arazzo/index.d.ts +4 -0
  224. package/lib/rules/arazzo/index.d.ts.map +1 -0
  225. package/lib/rules/arazzo/index.js +52 -0
  226. package/lib/rules/arazzo/index.js.map +1 -0
  227. package/lib/rules/arazzo/outputs-defined.d.ts +3 -0
  228. package/lib/rules/arazzo/outputs-defined.d.ts.map +1 -0
  229. package/lib/rules/arazzo/outputs-defined.js +139 -0
  230. package/lib/rules/arazzo/outputs-defined.js.map +1 -0
  231. package/lib/rules/arazzo/parameters-unique.d.ts +3 -0
  232. package/lib/rules/arazzo/parameters-unique.d.ts.map +1 -0
  233. package/lib/rules/arazzo/parameters-unique.js +27 -0
  234. package/lib/rules/arazzo/parameters-unique.js.map +1 -0
  235. package/lib/rules/arazzo/requestBody-replacements-unique.d.ts +3 -0
  236. package/lib/rules/arazzo/requestBody-replacements-unique.d.ts.map +1 -0
  237. package/lib/rules/arazzo/requestBody-replacements-unique.js +30 -0
  238. package/lib/rules/arazzo/requestBody-replacements-unique.js.map +1 -0
  239. package/lib/rules/arazzo/sourceDescription-type.d.ts +3 -0
  240. package/lib/rules/arazzo/sourceDescription-type.d.ts.map +1 -0
  241. package/lib/rules/arazzo/sourceDescription-type.js +19 -0
  242. package/lib/rules/arazzo/sourceDescription-type.js.map +1 -0
  243. package/lib/rules/arazzo/sourceDescriptions-name-unique.d.ts +3 -0
  244. package/lib/rules/arazzo/sourceDescriptions-name-unique.d.ts.map +1 -0
  245. package/lib/rules/arazzo/sourceDescriptions-name-unique.js +21 -0
  246. package/lib/rules/arazzo/sourceDescriptions-name-unique.js.map +1 -0
  247. package/lib/rules/arazzo/sourceDescriptions-not-empty.d.ts +3 -0
  248. package/lib/rules/arazzo/sourceDescriptions-not-empty.d.ts.map +1 -0
  249. package/lib/rules/arazzo/sourceDescriptions-not-empty.js +15 -0
  250. package/lib/rules/arazzo/sourceDescriptions-not-empty.js.map +1 -0
  251. package/lib/rules/arazzo/step-onFailure-unique.d.ts +3 -0
  252. package/lib/rules/arazzo/step-onFailure-unique.d.ts.map +1 -0
  253. package/lib/rules/arazzo/step-onFailure-unique.js +27 -0
  254. package/lib/rules/arazzo/step-onFailure-unique.js.map +1 -0
  255. package/lib/rules/arazzo/step-onSuccess-unique.d.ts +3 -0
  256. package/lib/rules/arazzo/step-onSuccess-unique.d.ts.map +1 -0
  257. package/lib/rules/arazzo/step-onSuccess-unique.js +27 -0
  258. package/lib/rules/arazzo/step-onSuccess-unique.js.map +1 -0
  259. package/lib/rules/arazzo/stepId-unique.d.ts +3 -0
  260. package/lib/rules/arazzo/stepId-unique.d.ts.map +1 -0
  261. package/lib/rules/arazzo/stepId-unique.js +23 -0
  262. package/lib/rules/arazzo/stepId-unique.js.map +1 -0
  263. package/lib/rules/arazzo/workflow-dependsOn.d.ts +3 -0
  264. package/lib/rules/arazzo/workflow-dependsOn.d.ts.map +1 -0
  265. package/lib/rules/arazzo/workflow-dependsOn.js +53 -0
  266. package/lib/rules/arazzo/workflow-dependsOn.js.map +1 -0
  267. package/lib/rules/arazzo/workflowId-unique.d.ts +3 -0
  268. package/lib/rules/arazzo/workflowId-unique.d.ts.map +1 -0
  269. package/lib/rules/arazzo/workflowId-unique.js +19 -0
  270. package/lib/rules/arazzo/workflowId-unique.js.map +1 -0
  271. package/lib/rules/async2/channels-kebab-case.d.ts +3 -0
  272. package/lib/rules/async2/channels-kebab-case.d.ts.map +1 -0
  273. package/lib/rules/async2/channels-kebab-case.js +16 -0
  274. package/lib/rules/async2/channels-kebab-case.js.map +1 -0
  275. package/lib/rules/async2/index.d.ts +4 -0
  276. package/lib/rules/async2/index.d.ts.map +1 -0
  277. package/lib/rules/async2/index.js +32 -0
  278. package/lib/rules/async2/index.js.map +1 -0
  279. package/lib/rules/async2/no-channel-trailing-slash.d.ts +3 -0
  280. package/lib/rules/async2/no-channel-trailing-slash.d.ts.map +1 -0
  281. package/lib/rules/async2/no-channel-trailing-slash.js +13 -0
  282. package/lib/rules/async2/no-channel-trailing-slash.js.map +1 -0
  283. package/lib/rules/async3/channels-kebab-case.d.ts +3 -0
  284. package/lib/rules/async3/channels-kebab-case.d.ts.map +1 -0
  285. package/lib/rules/async3/channels-kebab-case.js +16 -0
  286. package/lib/rules/async3/channels-kebab-case.js.map +1 -0
  287. package/lib/rules/async3/index.d.ts +4 -0
  288. package/lib/rules/async3/index.d.ts.map +1 -0
  289. package/lib/rules/async3/index.js +32 -0
  290. package/lib/rules/async3/index.js.map +1 -0
  291. package/lib/rules/async3/no-channel-trailing-slash.d.ts +3 -0
  292. package/lib/rules/async3/no-channel-trailing-slash.d.ts.map +1 -0
  293. package/lib/rules/async3/no-channel-trailing-slash.js +13 -0
  294. package/lib/rules/async3/no-channel-trailing-slash.js.map +1 -0
  295. package/lib/rules/catalog-entity/entity-key-valid.d.ts +3 -0
  296. package/lib/rules/catalog-entity/entity-key-valid.d.ts.map +1 -0
  297. package/lib/rules/catalog-entity/entity-key-valid.js +39 -0
  298. package/lib/rules/catalog-entity/entity-key-valid.js.map +1 -0
  299. package/lib/rules/common/assertions/asserts.d.ts +30 -0
  300. package/lib/rules/common/assertions/asserts.d.ts.map +1 -0
  301. package/lib/rules/common/assertions/asserts.js +272 -0
  302. package/lib/rules/common/assertions/asserts.js.map +1 -0
  303. package/lib/rules/common/assertions/index.d.ts +28 -0
  304. package/lib/rules/common/assertions/index.d.ts.map +1 -0
  305. package/lib/rules/common/assertions/index.js +22 -0
  306. package/lib/rules/common/assertions/index.js.map +1 -0
  307. package/lib/rules/common/assertions/utils.d.ts +21 -0
  308. package/lib/rules/common/assertions/utils.d.ts.map +1 -0
  309. package/lib/rules/common/assertions/utils.js +215 -0
  310. package/lib/rules/common/assertions/utils.js.map +1 -0
  311. package/lib/rules/common/info-contact.d.ts +3 -0
  312. package/lib/rules/common/info-contact.d.ts.map +1 -0
  313. package/lib/rules/common/info-contact.js +14 -0
  314. package/lib/rules/common/info-contact.js.map +1 -0
  315. package/lib/rules/common/info-license-strict.d.ts +3 -0
  316. package/lib/rules/common/info-license-strict.d.ts.map +1 -0
  317. package/lib/rules/common/info-license-strict.js +23 -0
  318. package/lib/rules/common/info-license-strict.js.map +1 -0
  319. package/lib/rules/common/info-license.d.ts +3 -0
  320. package/lib/rules/common/info-license.d.ts.map +1 -0
  321. package/lib/rules/common/info-license.js +14 -0
  322. package/lib/rules/common/info-license.js.map +1 -0
  323. package/lib/rules/common/no-ambiguous-paths.d.ts +3 -0
  324. package/lib/rules/common/no-ambiguous-paths.d.ts.map +1 -0
  325. package/lib/rules/common/no-ambiguous-paths.js +42 -0
  326. package/lib/rules/common/no-ambiguous-paths.js.map +1 -0
  327. package/lib/rules/common/no-duplicated-tag-names.d.ts +3 -0
  328. package/lib/rules/common/no-duplicated-tag-names.d.ts.map +1 -0
  329. package/lib/rules/common/no-duplicated-tag-names.js +21 -0
  330. package/lib/rules/common/no-duplicated-tag-names.js.map +1 -0
  331. package/lib/rules/common/no-enum-type-mismatch.d.ts +3 -0
  332. package/lib/rules/common/no-enum-type-mismatch.d.ts.map +1 -0
  333. package/lib/rules/common/no-enum-type-mismatch.js +38 -0
  334. package/lib/rules/common/no-enum-type-mismatch.js.map +1 -0
  335. package/lib/rules/common/no-http-verbs-in-paths.d.ts +3 -0
  336. package/lib/rules/common/no-http-verbs-in-paths.d.ts.map +1 -0
  337. package/lib/rules/common/no-http-verbs-in-paths.js +31 -0
  338. package/lib/rules/common/no-http-verbs-in-paths.js.map +1 -0
  339. package/lib/rules/common/no-identical-paths.d.ts +3 -0
  340. package/lib/rules/common/no-identical-paths.d.ts.map +1 -0
  341. package/lib/rules/common/no-identical-paths.js +21 -0
  342. package/lib/rules/common/no-identical-paths.js.map +1 -0
  343. package/lib/rules/common/no-invalid-parameter-examples.d.ts +2 -0
  344. package/lib/rules/common/no-invalid-parameter-examples.d.ts.map +1 -0
  345. package/lib/rules/common/no-invalid-parameter-examples.js +32 -0
  346. package/lib/rules/common/no-invalid-parameter-examples.js.map +1 -0
  347. package/lib/rules/common/no-invalid-schema-examples.d.ts +3 -0
  348. package/lib/rules/common/no-invalid-schema-examples.d.ts.map +1 -0
  349. package/lib/rules/common/no-invalid-schema-examples.js +34 -0
  350. package/lib/rules/common/no-invalid-schema-examples.js.map +1 -0
  351. package/lib/rules/common/no-path-trailing-slash.d.ts +3 -0
  352. package/lib/rules/common/no-path-trailing-slash.d.ts.map +1 -0
  353. package/lib/rules/common/no-path-trailing-slash.js +13 -0
  354. package/lib/rules/common/no-path-trailing-slash.js.map +1 -0
  355. package/lib/rules/common/no-required-schema-properties-undefined.d.ts +3 -0
  356. package/lib/rules/common/no-required-schema-properties-undefined.d.ts.map +1 -0
  357. package/lib/rules/common/no-required-schema-properties-undefined.js +78 -0
  358. package/lib/rules/common/no-required-schema-properties-undefined.js.map +1 -0
  359. package/lib/rules/common/no-schema-type-mismatch.d.ts +3 -0
  360. package/lib/rules/common/no-schema-type-mismatch.d.ts.map +1 -0
  361. package/lib/rules/common/no-schema-type-mismatch.js +19 -0
  362. package/lib/rules/common/no-schema-type-mismatch.js.map +1 -0
  363. package/lib/rules/common/no-unresolved-refs.d.ts +6 -0
  364. package/lib/rules/common/no-unresolved-refs.d.ts.map +1 -0
  365. package/lib/rules/common/no-unresolved-refs.js +42 -0
  366. package/lib/rules/common/no-unresolved-refs.js.map +1 -0
  367. package/lib/rules/common/operation-2xx-response.d.ts +3 -0
  368. package/lib/rules/common/operation-2xx-response.d.ts.map +1 -0
  369. package/lib/rules/common/operation-2xx-response.js +20 -0
  370. package/lib/rules/common/operation-2xx-response.js.map +1 -0
  371. package/lib/rules/common/operation-4xx-response.d.ts +3 -0
  372. package/lib/rules/common/operation-4xx-response.d.ts.map +1 -0
  373. package/lib/rules/common/operation-4xx-response.js +20 -0
  374. package/lib/rules/common/operation-4xx-response.js.map +1 -0
  375. package/lib/rules/common/operation-description.d.ts +3 -0
  376. package/lib/rules/common/operation-description.d.ts.map +1 -0
  377. package/lib/rules/common/operation-description.js +9 -0
  378. package/lib/rules/common/operation-description.js.map +1 -0
  379. package/lib/rules/common/operation-operationId-unique.d.ts +3 -0
  380. package/lib/rules/common/operation-operationId-unique.d.ts.map +1 -0
  381. package/lib/rules/common/operation-operationId-unique.js +17 -0
  382. package/lib/rules/common/operation-operationId-unique.js.map +1 -0
  383. package/lib/rules/common/operation-operationId-url-safe.d.ts +3 -0
  384. package/lib/rules/common/operation-operationId-url-safe.d.ts.map +1 -0
  385. package/lib/rules/common/operation-operationId-url-safe.js +15 -0
  386. package/lib/rules/common/operation-operationId-url-safe.js.map +1 -0
  387. package/lib/rules/common/operation-operationId.d.ts +3 -0
  388. package/lib/rules/common/operation-operationId.d.ts.map +1 -0
  389. package/lib/rules/common/operation-operationId.js +13 -0
  390. package/lib/rules/common/operation-operationId.js.map +1 -0
  391. package/lib/rules/common/operation-parameters-unique.d.ts +3 -0
  392. package/lib/rules/common/operation-parameters-unique.d.ts.map +1 -0
  393. package/lib/rules/common/operation-parameters-unique.js +37 -0
  394. package/lib/rules/common/operation-parameters-unique.js.map +1 -0
  395. package/lib/rules/common/operation-singular-tag.d.ts +3 -0
  396. package/lib/rules/common/operation-singular-tag.d.ts.map +1 -0
  397. package/lib/rules/common/operation-singular-tag.js +13 -0
  398. package/lib/rules/common/operation-singular-tag.js.map +1 -0
  399. package/lib/rules/common/operation-summary.d.ts +3 -0
  400. package/lib/rules/common/operation-summary.d.ts.map +1 -0
  401. package/lib/rules/common/operation-summary.js +9 -0
  402. package/lib/rules/common/operation-summary.js.map +1 -0
  403. package/lib/rules/common/operation-tag-defined.d.ts +3 -0
  404. package/lib/rules/common/operation-tag-defined.d.ts.map +1 -0
  405. package/lib/rules/common/operation-tag-defined.js +27 -0
  406. package/lib/rules/common/operation-tag-defined.js.map +1 -0
  407. package/lib/rules/common/parameter-description.d.ts +3 -0
  408. package/lib/rules/common/parameter-description.d.ts.map +1 -0
  409. package/lib/rules/common/parameter-description.js +19 -0
  410. package/lib/rules/common/parameter-description.js.map +1 -0
  411. package/lib/rules/common/path-declaration-must-exist.d.ts +3 -0
  412. package/lib/rules/common/path-declaration-must-exist.d.ts.map +1 -0
  413. package/lib/rules/common/path-declaration-must-exist.js +13 -0
  414. package/lib/rules/common/path-declaration-must-exist.js.map +1 -0
  415. package/lib/rules/common/path-http-verbs-order.d.ts +3 -0
  416. package/lib/rules/common/path-http-verbs-order.d.ts.map +1 -0
  417. package/lib/rules/common/path-http-verbs-order.js +23 -0
  418. package/lib/rules/common/path-http-verbs-order.js.map +1 -0
  419. package/lib/rules/common/path-not-include-query.d.ts +3 -0
  420. package/lib/rules/common/path-not-include-query.d.ts.map +1 -0
  421. package/lib/rules/common/path-not-include-query.js +15 -0
  422. package/lib/rules/common/path-not-include-query.js.map +1 -0
  423. package/lib/rules/common/path-params-defined.d.ts +3 -0
  424. package/lib/rules/common/path-params-defined.d.ts.map +1 -0
  425. package/lib/rules/common/path-params-defined.js +145 -0
  426. package/lib/rules/common/path-params-defined.js.map +1 -0
  427. package/lib/rules/common/path-segment-plural.d.ts +3 -0
  428. package/lib/rules/common/path-segment-plural.d.ts.map +1 -0
  429. package/lib/rules/common/path-segment-plural.js +30 -0
  430. package/lib/rules/common/path-segment-plural.js.map +1 -0
  431. package/lib/rules/common/paths-kebab-case.d.ts +3 -0
  432. package/lib/rules/common/paths-kebab-case.d.ts.map +1 -0
  433. package/lib/rules/common/paths-kebab-case.js +17 -0
  434. package/lib/rules/common/paths-kebab-case.js.map +1 -0
  435. package/lib/rules/common/required-string-property-missing-min-length.d.ts +3 -0
  436. package/lib/rules/common/required-string-property-missing-min-length.d.ts.map +1 -0
  437. package/lib/rules/common/required-string-property-missing-min-length.js +34 -0
  438. package/lib/rules/common/required-string-property-missing-min-length.js.map +1 -0
  439. package/lib/rules/common/response-contains-header.d.ts +3 -0
  440. package/lib/rules/common/response-contains-header.d.ts.map +1 -0
  441. package/lib/rules/common/response-contains-header.js +26 -0
  442. package/lib/rules/common/response-contains-header.js.map +1 -0
  443. package/lib/rules/common/scalar-property-missing-example.d.ts +3 -0
  444. package/lib/rules/common/scalar-property-missing-example.d.ts.map +1 -0
  445. package/lib/rules/common/scalar-property-missing-example.js +39 -0
  446. package/lib/rules/common/scalar-property-missing-example.js.map +1 -0
  447. package/lib/rules/common/security-defined.d.ts +3 -0
  448. package/lib/rules/common/security-defined.d.ts.map +1 -0
  449. package/lib/rules/common/security-defined.js +62 -0
  450. package/lib/rules/common/security-defined.js.map +1 -0
  451. package/lib/rules/common/spec-strict-refs.d.ts +3 -0
  452. package/lib/rules/common/spec-strict-refs.d.ts.map +1 -0
  453. package/lib/rules/common/spec-strict-refs.js +27 -0
  454. package/lib/rules/common/spec-strict-refs.js.map +1 -0
  455. package/lib/rules/common/struct.d.ts +3 -0
  456. package/lib/rules/common/struct.d.ts.map +1 -0
  457. package/lib/rules/common/struct.js +150 -0
  458. package/lib/rules/common/struct.js.map +1 -0
  459. package/lib/rules/common/tag-description.d.ts +3 -0
  460. package/lib/rules/common/tag-description.d.ts.map +1 -0
  461. package/lib/rules/common/tag-description.js +9 -0
  462. package/lib/rules/common/tag-description.js.map +1 -0
  463. package/lib/rules/common/tags-alphabetical.d.ts +3 -0
  464. package/lib/rules/common/tags-alphabetical.d.ts.map +1 -0
  465. package/lib/rules/common/tags-alphabetical.js +18 -0
  466. package/lib/rules/common/tags-alphabetical.js.map +1 -0
  467. package/lib/rules/oas2/boolean-parameter-prefixes.d.ts +6 -0
  468. package/lib/rules/oas2/boolean-parameter-prefixes.d.ts.map +1 -0
  469. package/lib/rules/oas2/boolean-parameter-prefixes.js +19 -0
  470. package/lib/rules/oas2/boolean-parameter-prefixes.js.map +1 -0
  471. package/lib/rules/oas2/index.d.ts +4 -0
  472. package/lib/rules/oas2/index.d.ts.map +1 -0
  473. package/lib/rules/oas2/index.js +93 -0
  474. package/lib/rules/oas2/index.js.map +1 -0
  475. package/lib/rules/oas2/request-mime-type.d.ts +3 -0
  476. package/lib/rules/oas2/request-mime-type.d.ts.map +1 -0
  477. package/lib/rules/oas2/request-mime-type.js +14 -0
  478. package/lib/rules/oas2/request-mime-type.js.map +1 -0
  479. package/lib/rules/oas2/response-contains-property.d.ts +3 -0
  480. package/lib/rules/oas2/response-contains-property.d.ts.map +1 -0
  481. package/lib/rules/oas2/response-contains-property.js +34 -0
  482. package/lib/rules/oas2/response-contains-property.js.map +1 -0
  483. package/lib/rules/oas2/response-mime-type.d.ts +3 -0
  484. package/lib/rules/oas2/response-mime-type.d.ts.map +1 -0
  485. package/lib/rules/oas2/response-mime-type.js +14 -0
  486. package/lib/rules/oas2/response-mime-type.js.map +1 -0
  487. package/lib/rules/oas3/array-parameter-serialization.d.ts +6 -0
  488. package/lib/rules/oas3/array-parameter-serialization.d.ts.map +1 -0
  489. package/lib/rules/oas3/array-parameter-serialization.js +26 -0
  490. package/lib/rules/oas3/array-parameter-serialization.js.map +1 -0
  491. package/lib/rules/oas3/boolean-parameter-prefixes.d.ts +6 -0
  492. package/lib/rules/oas3/boolean-parameter-prefixes.d.ts.map +1 -0
  493. package/lib/rules/oas3/boolean-parameter-prefixes.js +21 -0
  494. package/lib/rules/oas3/boolean-parameter-prefixes.js.map +1 -0
  495. package/lib/rules/oas3/component-name-unique.d.ts +3 -0
  496. package/lib/rules/oas3/component-name-unique.d.ts.map +1 -0
  497. package/lib/rules/oas3/component-name-unique.js +130 -0
  498. package/lib/rules/oas3/component-name-unique.js.map +1 -0
  499. package/lib/rules/oas3/index.d.ts +4 -0
  500. package/lib/rules/oas3/index.d.ts.map +1 -0
  501. package/lib/rules/oas3/index.js +129 -0
  502. package/lib/rules/oas3/index.js.map +1 -0
  503. package/lib/rules/oas3/no-empty-servers.d.ts +3 -0
  504. package/lib/rules/oas3/no-empty-servers.d.ts.map +1 -0
  505. package/lib/rules/oas3/no-empty-servers.js +20 -0
  506. package/lib/rules/oas3/no-empty-servers.js.map +1 -0
  507. package/lib/rules/oas3/no-example-value-and-externalValue.d.ts +3 -0
  508. package/lib/rules/oas3/no-example-value-and-externalValue.d.ts.map +1 -0
  509. package/lib/rules/oas3/no-example-value-and-externalValue.js +13 -0
  510. package/lib/rules/oas3/no-example-value-and-externalValue.js.map +1 -0
  511. package/lib/rules/oas3/no-invalid-media-type-examples.d.ts +3 -0
  512. package/lib/rules/oas3/no-invalid-media-type-examples.d.ts.map +1 -0
  513. package/lib/rules/oas3/no-invalid-media-type-examples.js +59 -0
  514. package/lib/rules/oas3/no-invalid-media-type-examples.js.map +1 -0
  515. package/lib/rules/oas3/no-server-example.com.d.ts +3 -0
  516. package/lib/rules/oas3/no-server-example.com.d.ts.map +1 -0
  517. package/lib/rules/oas3/no-server-example.com.js +15 -0
  518. package/lib/rules/oas3/no-server-example.com.js.map +1 -0
  519. package/lib/rules/oas3/no-server-trailing-slash.d.ts +3 -0
  520. package/lib/rules/oas3/no-server-trailing-slash.d.ts.map +1 -0
  521. package/lib/rules/oas3/no-server-trailing-slash.js +15 -0
  522. package/lib/rules/oas3/no-server-trailing-slash.js.map +1 -0
  523. package/lib/rules/oas3/no-server-variables-empty-enum.d.ts +3 -0
  524. package/lib/rules/oas3/no-server-variables-empty-enum.d.ts.map +1 -0
  525. package/lib/rules/oas3/no-server-variables-empty-enum.js +58 -0
  526. package/lib/rules/oas3/no-server-variables-empty-enum.js.map +1 -0
  527. package/lib/rules/oas3/no-undefined-server-variable.d.ts +3 -0
  528. package/lib/rules/oas3/no-undefined-server-variable.d.ts.map +1 -0
  529. package/lib/rules/oas3/no-undefined-server-variable.js +28 -0
  530. package/lib/rules/oas3/no-undefined-server-variable.js.map +1 -0
  531. package/lib/rules/oas3/no-unused-components.d.ts +3 -0
  532. package/lib/rules/oas3/no-unused-components.d.ts.map +1 -0
  533. package/lib/rules/oas3/no-unused-components.js +83 -0
  534. package/lib/rules/oas3/no-unused-components.js.map +1 -0
  535. package/lib/rules/oas3/nullable-type-sibling.d.ts +3 -0
  536. package/lib/rules/oas3/nullable-type-sibling.d.ts.map +1 -0
  537. package/lib/rules/oas3/nullable-type-sibling.js +15 -0
  538. package/lib/rules/oas3/nullable-type-sibling.js.map +1 -0
  539. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.d.ts +6 -0
  540. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.d.ts.map +1 -0
  541. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.js +33 -0
  542. package/lib/rules/oas3/operation-4xx-problem-details-rfc7807.js.map +1 -0
  543. package/lib/rules/oas3/request-mime-type.d.ts +3 -0
  544. package/lib/rules/oas3/request-mime-type.d.ts.map +1 -0
  545. package/lib/rules/oas3/request-mime-type.js +28 -0
  546. package/lib/rules/oas3/request-mime-type.js.map +1 -0
  547. package/lib/rules/oas3/response-contains-property.d.ts +3 -0
  548. package/lib/rules/oas3/response-contains-property.d.ts.map +1 -0
  549. package/lib/rules/oas3/response-contains-property.js +36 -0
  550. package/lib/rules/oas3/response-contains-property.js.map +1 -0
  551. package/lib/rules/oas3/response-mime-type.d.ts +3 -0
  552. package/lib/rules/oas3/response-mime-type.d.ts.map +1 -0
  553. package/lib/rules/oas3/response-mime-type.js +28 -0
  554. package/lib/rules/oas3/response-mime-type.js.map +1 -0
  555. package/lib/rules/oas3/spec-components-invalid-map-name.d.ts +3 -0
  556. package/lib/rules/oas3/spec-components-invalid-map-name.d.ts.map +1 -0
  557. package/lib/rules/oas3/spec-components-invalid-map-name.js +59 -0
  558. package/lib/rules/oas3/spec-components-invalid-map-name.js.map +1 -0
  559. package/lib/rules/oas3/spec-discriminator-defaultMapping.d.ts +3 -0
  560. package/lib/rules/oas3/spec-discriminator-defaultMapping.d.ts.map +1 -0
  561. package/lib/rules/oas3/spec-discriminator-defaultMapping.js +32 -0
  562. package/lib/rules/oas3/spec-discriminator-defaultMapping.js.map +1 -0
  563. package/lib/rules/oas3/spec-example-values.d.ts +3 -0
  564. package/lib/rules/oas3/spec-example-values.d.ts.map +1 -0
  565. package/lib/rules/oas3/spec-example-values.js +31 -0
  566. package/lib/rules/oas3/spec-example-values.js.map +1 -0
  567. package/lib/rules/oas3/spec-no-invalid-encoding-combinations.d.ts +3 -0
  568. package/lib/rules/oas3/spec-no-invalid-encoding-combinations.d.ts.map +1 -0
  569. package/lib/rules/oas3/spec-no-invalid-encoding-combinations.js +16 -0
  570. package/lib/rules/oas3/spec-no-invalid-encoding-combinations.js.map +1 -0
  571. package/lib/rules/oas3/spec-no-invalid-tag-parents.d.ts +3 -0
  572. package/lib/rules/oas3/spec-no-invalid-tag-parents.d.ts.map +1 -0
  573. package/lib/rules/oas3/spec-no-invalid-tag-parents.js +38 -0
  574. package/lib/rules/oas3/spec-no-invalid-tag-parents.js.map +1 -0
  575. package/lib/rules/oas3/spec-querystring-parameters.d.ts +3 -0
  576. package/lib/rules/oas3/spec-querystring-parameters.d.ts.map +1 -0
  577. package/lib/rules/oas3/spec-querystring-parameters.js +65 -0
  578. package/lib/rules/oas3/spec-querystring-parameters.js.map +1 -0
  579. package/lib/rules/openrpc/index.d.ts +4 -0
  580. package/lib/rules/openrpc/index.d.ts.map +1 -0
  581. package/lib/rules/openrpc/index.js +20 -0
  582. package/lib/rules/openrpc/index.js.map +1 -0
  583. package/lib/rules/openrpc/no-unused-components.d.ts +3 -0
  584. package/lib/rules/openrpc/no-unused-components.d.ts.map +1 -0
  585. package/lib/rules/openrpc/no-unused-components.js +82 -0
  586. package/lib/rules/openrpc/no-unused-components.js.map +1 -0
  587. package/lib/rules/openrpc/spec-no-duplicated-method-params.d.ts +3 -0
  588. package/lib/rules/openrpc/spec-no-duplicated-method-params.d.ts.map +1 -0
  589. package/lib/rules/openrpc/spec-no-duplicated-method-params.js +28 -0
  590. package/lib/rules/openrpc/spec-no-duplicated-method-params.js.map +1 -0
  591. package/lib/rules/openrpc/spec-no-required-params-after-optional.d.ts +3 -0
  592. package/lib/rules/openrpc/spec-no-required-params-after-optional.d.ts.map +1 -0
  593. package/lib/rules/openrpc/spec-no-required-params-after-optional.js +31 -0
  594. package/lib/rules/openrpc/spec-no-required-params-after-optional.js.map +1 -0
  595. package/lib/rules/other/stats.d.ts +104 -0
  596. package/lib/rules/other/stats.d.ts.map +1 -0
  597. package/lib/rules/other/stats.js +190 -0
  598. package/lib/rules/other/stats.js.map +1 -0
  599. package/lib/rules/overlay1/index.d.ts +4 -0
  600. package/lib/rules/overlay1/index.d.ts.map +1 -0
  601. package/lib/rules/overlay1/index.js +12 -0
  602. package/lib/rules/overlay1/index.js.map +1 -0
  603. package/lib/rules/respect/no-criteria-xpath.d.ts +3 -0
  604. package/lib/rules/respect/no-criteria-xpath.d.ts.map +1 -0
  605. package/lib/rules/respect/no-criteria-xpath.js +20 -0
  606. package/lib/rules/respect/no-criteria-xpath.js.map +1 -0
  607. package/lib/rules/respect/no-x-security-both-scheme-and-scheme-name.d.ts +3 -0
  608. package/lib/rules/respect/no-x-security-both-scheme-and-scheme-name.d.ts.map +1 -0
  609. package/lib/rules/respect/no-x-security-both-scheme-and-scheme-name.js +30 -0
  610. package/lib/rules/respect/no-x-security-both-scheme-and-scheme-name.js.map +1 -0
  611. package/lib/rules/respect/no-x-security-scheme-name-without-openapi.d.ts +3 -0
  612. package/lib/rules/respect/no-x-security-scheme-name-without-openapi.d.ts.map +1 -0
  613. package/lib/rules/respect/no-x-security-scheme-name-without-openapi.js +25 -0
  614. package/lib/rules/respect/no-x-security-scheme-name-without-openapi.js.map +1 -0
  615. package/lib/rules/respect/respect-supported-versions.d.ts +3 -0
  616. package/lib/rules/respect/respect-supported-versions.d.ts.map +1 -0
  617. package/lib/rules/respect/respect-supported-versions.js +18 -0
  618. package/lib/rules/respect/respect-supported-versions.js.map +1 -0
  619. package/lib/rules/respect/x-security-scheme-name-reference.d.ts +3 -0
  620. package/lib/rules/respect/x-security-scheme-name-reference.d.ts.map +1 -0
  621. package/lib/rules/respect/x-security-scheme-name-reference.js +35 -0
  622. package/lib/rules/respect/x-security-scheme-name-reference.js.map +1 -0
  623. package/lib/rules/respect/x-security-scheme-required-values.d.ts +3 -0
  624. package/lib/rules/respect/x-security-scheme-required-values.d.ts.map +1 -0
  625. package/lib/rules/respect/x-security-scheme-required-values.js +60 -0
  626. package/lib/rules/respect/x-security-scheme-required-values.js.map +1 -0
  627. package/lib/rules/utils.d.ts +30 -0
  628. package/lib/rules/utils.d.ts.map +1 -0
  629. package/lib/rules/utils.js +172 -0
  630. package/lib/rules/utils.js.map +1 -0
  631. package/lib/types/arazzo.d.ts +3 -0
  632. package/lib/types/arazzo.d.ts.map +1 -0
  633. package/lib/types/arazzo.js +482 -0
  634. package/lib/types/arazzo.js.map +1 -0
  635. package/lib/types/asyncapi2.d.ts +13 -0
  636. package/lib/types/asyncapi2.d.ts.map +1 -0
  637. package/lib/types/asyncapi2.js +1157 -0
  638. package/lib/types/asyncapi2.js.map +1 -0
  639. package/lib/types/asyncapi3.d.ts +3 -0
  640. package/lib/types/asyncapi3.d.ts.map +1 -0
  641. package/lib/types/asyncapi3.js +511 -0
  642. package/lib/types/asyncapi3.js.map +1 -0
  643. package/lib/types/entity.d.ts +9 -0
  644. package/lib/types/entity.d.ts.map +1 -0
  645. package/lib/types/entity.js +32 -0
  646. package/lib/types/entity.js.map +1 -0
  647. package/lib/types/index.d.ts +78 -0
  648. package/lib/types/index.d.ts.map +1 -0
  649. package/lib/types/index.js +90 -0
  650. package/lib/types/index.js.map +1 -0
  651. package/lib/types/json-schema-adapter.d.ts +12 -0
  652. package/lib/types/json-schema-adapter.d.ts.map +1 -0
  653. package/lib/types/json-schema-adapter.js +181 -0
  654. package/lib/types/json-schema-adapter.js.map +1 -0
  655. package/lib/types/json-schema-draft7.shared.d.ts +7 -0
  656. package/lib/types/json-schema-draft7.shared.d.ts.map +1 -0
  657. package/lib/types/json-schema-draft7.shared.js +101 -0
  658. package/lib/types/json-schema-draft7.shared.js.map +1 -0
  659. package/lib/types/oas2.d.ts +107 -0
  660. package/lib/types/oas2.d.ts.map +1 -0
  661. package/lib/types/oas2.js +454 -0
  662. package/lib/types/oas2.js.map +1 -0
  663. package/lib/types/oas3.d.ts +198 -0
  664. package/lib/types/oas3.d.ts.map +1 -0
  665. package/lib/types/oas3.js +828 -0
  666. package/lib/types/oas3.js.map +1 -0
  667. package/lib/types/oas3_1.d.ts +207 -0
  668. package/lib/types/oas3_1.d.ts.map +1 -0
  669. package/lib/types/oas3_1.js +292 -0
  670. package/lib/types/oas3_1.js.map +1 -0
  671. package/lib/types/oas3_2.d.ts +215 -0
  672. package/lib/types/oas3_2.d.ts.map +1 -0
  673. package/lib/types/oas3_2.js +306 -0
  674. package/lib/types/oas3_2.js.map +1 -0
  675. package/lib/types/openrpc.d.ts +136 -0
  676. package/lib/types/openrpc.d.ts.map +1 -0
  677. package/lib/types/openrpc.js +360 -0
  678. package/lib/types/openrpc.js.map +1 -0
  679. package/lib/types/overlay.d.ts +3 -0
  680. package/lib/types/overlay.d.ts.map +1 -0
  681. package/lib/types/overlay.js +61 -0
  682. package/lib/types/overlay.js.map +1 -0
  683. package/lib/types/redocly-yaml.d.ts +29 -0
  684. package/lib/types/redocly-yaml.d.ts.map +1 -0
  685. package/lib/types/redocly-yaml.js +573 -0
  686. package/lib/types/redocly-yaml.js.map +1 -0
  687. package/lib/typings/arazzo.d.ts +172 -0
  688. package/lib/typings/arazzo.d.ts.map +1 -0
  689. package/lib/typings/arazzo.js +3 -0
  690. package/lib/typings/arazzo.js.map +1 -0
  691. package/lib/typings/asyncapi.d.ts +22 -0
  692. package/lib/typings/asyncapi.d.ts.map +1 -0
  693. package/lib/typings/asyncapi.js +2 -0
  694. package/lib/typings/asyncapi.js.map +1 -0
  695. package/lib/typings/asyncapi3.d.ts +54 -0
  696. package/lib/typings/asyncapi3.d.ts.map +1 -0
  697. package/lib/typings/asyncapi3.js +2 -0
  698. package/lib/typings/asyncapi3.js.map +1 -0
  699. package/lib/typings/common.d.ts +13 -0
  700. package/lib/typings/common.d.ts.map +1 -0
  701. package/lib/typings/common.js +2 -0
  702. package/lib/typings/common.js.map +1 -0
  703. package/lib/typings/openapi.d.ts +420 -0
  704. package/lib/typings/openapi.d.ts.map +1 -0
  705. package/lib/typings/openapi.js +2 -0
  706. package/lib/typings/openapi.js.map +1 -0
  707. package/lib/typings/openrpc.d.ts +110 -0
  708. package/lib/typings/openrpc.d.ts.map +1 -0
  709. package/lib/typings/openrpc.js +2 -0
  710. package/lib/typings/openrpc.js.map +1 -0
  711. package/lib/typings/overlay.d.ts +18 -0
  712. package/lib/typings/overlay.d.ts.map +1 -0
  713. package/lib/typings/overlay.js +2 -0
  714. package/lib/typings/overlay.js.map +1 -0
  715. package/lib/typings/swagger.d.ts +218 -0
  716. package/lib/typings/swagger.d.ts.map +1 -0
  717. package/lib/typings/swagger.js +2 -0
  718. package/lib/typings/swagger.js.map +1 -0
  719. package/lib/utils/assign-config.d.ts +7 -0
  720. package/lib/utils/assign-config.d.ts.map +1 -0
  721. package/lib/utils/assign-config.js +28 -0
  722. package/lib/utils/assign-config.js.map +1 -0
  723. package/lib/utils/dequal.d.ts +6 -0
  724. package/lib/utils/dequal.d.ts.map +1 -0
  725. package/lib/utils/dequal.js +36 -0
  726. package/lib/utils/dequal.js.map +1 -0
  727. package/lib/utils/does-yaml-file-exist.d.ts +2 -0
  728. package/lib/utils/does-yaml-file-exist.d.ts.map +1 -0
  729. package/lib/utils/does-yaml-file-exist.js +7 -0
  730. package/lib/utils/does-yaml-file-exist.js.map +1 -0
  731. package/lib/utils/error.d.ts +3 -0
  732. package/lib/utils/error.d.ts.map +1 -0
  733. package/lib/utils/error.js +3 -0
  734. package/lib/utils/error.js.map +1 -0
  735. package/lib/utils/get-intersection-length.d.ts +2 -0
  736. package/lib/utils/get-intersection-length.d.ts.map +1 -0
  737. package/lib/utils/get-intersection-length.js +11 -0
  738. package/lib/utils/get-intersection-length.js.map +1 -0
  739. package/lib/utils/get-matching-status-code-range.d.ts +2 -0
  740. package/lib/utils/get-matching-status-code-range.d.ts.map +1 -0
  741. package/lib/utils/get-matching-status-code-range.js +4 -0
  742. package/lib/utils/get-matching-status-code-range.js.map +1 -0
  743. package/lib/utils/get-own.d.ts +2 -0
  744. package/lib/utils/get-own.d.ts.map +1 -0
  745. package/lib/utils/get-own.js +4 -0
  746. package/lib/utils/get-own.js.map +1 -0
  747. package/lib/utils/identity.d.ts +2 -0
  748. package/lib/utils/identity.d.ts.map +1 -0
  749. package/lib/utils/identity.js +4 -0
  750. package/lib/utils/identity.js.map +1 -0
  751. package/lib/utils/is-custom-rule-id.d.ts +2 -0
  752. package/lib/utils/is-custom-rule-id.d.ts.map +1 -0
  753. package/lib/utils/is-custom-rule-id.js +4 -0
  754. package/lib/utils/is-custom-rule-id.js.map +1 -0
  755. package/lib/utils/is-defined.d.ts +2 -0
  756. package/lib/utils/is-defined.d.ts.map +1 -0
  757. package/lib/utils/is-defined.js +4 -0
  758. package/lib/utils/is-defined.js.map +1 -0
  759. package/lib/utils/is-empty-array.d.ts +2 -0
  760. package/lib/utils/is-empty-array.d.ts.map +1 -0
  761. package/lib/utils/is-empty-array.js +4 -0
  762. package/lib/utils/is-empty-array.js.map +1 -0
  763. package/lib/utils/is-empty-object.d.ts +2 -0
  764. package/lib/utils/is-empty-object.d.ts.map +1 -0
  765. package/lib/utils/is-empty-object.js +5 -0
  766. package/lib/utils/is-empty-object.js.map +1 -0
  767. package/lib/utils/is-not-empty-array.d.ts +2 -0
  768. package/lib/utils/is-not-empty-array.d.ts.map +1 -0
  769. package/lib/utils/is-not-empty-array.js +4 -0
  770. package/lib/utils/is-not-empty-array.js.map +1 -0
  771. package/lib/utils/is-not-empty-object.d.ts +2 -0
  772. package/lib/utils/is-not-empty-object.d.ts.map +1 -0
  773. package/lib/utils/is-not-empty-object.js +6 -0
  774. package/lib/utils/is-not-empty-object.js.map +1 -0
  775. package/lib/utils/is-not-string.d.ts +2 -0
  776. package/lib/utils/is-not-string.d.ts.map +1 -0
  777. package/lib/utils/is-not-string.js +5 -0
  778. package/lib/utils/is-not-string.js.map +1 -0
  779. package/lib/utils/is-ordered.d.ts +7 -0
  780. package/lib/utils/is-ordered.d.ts.map +1 -0
  781. package/lib/utils/is-ordered.js +27 -0
  782. package/lib/utils/is-ordered.js.map +1 -0
  783. package/lib/utils/is-path-parameter.d.ts +2 -0
  784. package/lib/utils/is-path-parameter.d.ts.map +1 -0
  785. package/lib/utils/is-path-parameter.js +4 -0
  786. package/lib/utils/is-path-parameter.js.map +1 -0
  787. package/lib/utils/is-plain-object.d.ts +2 -0
  788. package/lib/utils/is-plain-object.d.ts.map +1 -0
  789. package/lib/utils/is-plain-object.js +4 -0
  790. package/lib/utils/is-plain-object.js.map +1 -0
  791. package/lib/utils/is-string.d.ts +2 -0
  792. package/lib/utils/is-string.d.ts.map +1 -0
  793. package/lib/utils/is-string.js +4 -0
  794. package/lib/utils/is-string.js.map +1 -0
  795. package/lib/utils/is-truthy.d.ts +3 -0
  796. package/lib/utils/is-truthy.d.ts.map +1 -0
  797. package/lib/utils/is-truthy.js +4 -0
  798. package/lib/utils/is-truthy.js.map +1 -0
  799. package/lib/utils/keys-of.d.ts +2 -0
  800. package/lib/utils/keys-of.d.ts.map +1 -0
  801. package/lib/utils/keys-of.js +6 -0
  802. package/lib/utils/keys-of.js.map +1 -0
  803. package/lib/utils/make-ref-id.d.ts +2 -0
  804. package/lib/utils/make-ref-id.d.ts.map +1 -0
  805. package/lib/utils/make-ref-id.js +4 -0
  806. package/lib/utils/make-ref-id.js.map +1 -0
  807. package/lib/utils/next-tick.d.ts +2 -0
  808. package/lib/utils/next-tick.d.ts.map +1 -0
  809. package/lib/utils/next-tick.js +6 -0
  810. package/lib/utils/next-tick.js.map +1 -0
  811. package/lib/utils/oas-has-component.d.ts +3 -0
  812. package/lib/utils/oas-has-component.d.ts.map +1 -0
  813. package/lib/utils/oas-has-component.js +4 -0
  814. package/lib/utils/oas-has-component.js.map +1 -0
  815. package/lib/utils/omit.d.ts +2 -0
  816. package/lib/utils/omit.d.ts.map +1 -0
  817. package/lib/utils/omit.js +8 -0
  818. package/lib/utils/omit.js.map +1 -0
  819. package/lib/utils/pause.d.ts +2 -0
  820. package/lib/utils/pause.d.ts.map +1 -0
  821. package/lib/utils/pause.js +4 -0
  822. package/lib/utils/pause.js.map +1 -0
  823. package/lib/utils/pluralize.d.ts +2 -0
  824. package/lib/utils/pluralize.d.ts.map +1 -0
  825. package/lib/utils/pluralize.js +8 -0
  826. package/lib/utils/pluralize.js.map +1 -0
  827. package/lib/utils/read-file-from-url.d.ts +6 -0
  828. package/lib/utils/read-file-from-url.d.ts.map +1 -0
  829. package/lib/utils/read-file-from-url.js +26 -0
  830. package/lib/utils/read-file-from-url.js.map +1 -0
  831. package/lib/utils/regex-from-string.d.ts +2 -0
  832. package/lib/utils/regex-from-string.d.ts.map +1 -0
  833. package/lib/utils/regex-from-string.js +5 -0
  834. package/lib/utils/regex-from-string.js.map +1 -0
  835. package/lib/utils/scorecards.d.ts +13 -0
  836. package/lib/utils/scorecards.d.ts.map +1 -0
  837. package/lib/utils/scorecards.js +99 -0
  838. package/lib/utils/scorecards.js.map +1 -0
  839. package/lib/utils/slash.d.ts +5 -0
  840. package/lib/utils/slash.d.ts.map +1 -0
  841. package/lib/utils/slash.js +11 -0
  842. package/lib/utils/slash.js.map +1 -0
  843. package/lib/utils/split-camel-case-into-words.d.ts +2 -0
  844. package/lib/utils/split-camel-case-into-words.d.ts.map +1 -0
  845. package/lib/utils/split-camel-case-into-words.js +13 -0
  846. package/lib/utils/split-camel-case-into-words.js.map +1 -0
  847. package/lib/utils/stack.d.ts +12 -0
  848. package/lib/utils/stack.d.ts.map +1 -0
  849. package/lib/utils/stack.js +7 -0
  850. package/lib/utils/stack.js.map +1 -0
  851. package/lib/utils/types.d.ts +5 -0
  852. package/lib/utils/types.d.ts.map +1 -0
  853. package/lib/utils/types.js +2 -0
  854. package/lib/utils/types.js.map +1 -0
  855. package/lib/utils/validate-mime-type.d.ts +4 -0
  856. package/lib/utils/validate-mime-type.d.ts.map +1 -0
  857. package/lib/utils/validate-mime-type.js +31 -0
  858. package/lib/utils/validate-mime-type.js.map +1 -0
  859. package/lib/utils/yaml-fs-helper.d.ts +6 -0
  860. package/lib/utils/yaml-fs-helper.d.ts.map +1 -0
  861. package/lib/utils/yaml-fs-helper.js +23 -0
  862. package/lib/utils/yaml-fs-helper.js.map +1 -0
  863. package/lib/visitors.d.ts +279 -0
  864. package/lib/visitors.d.ts.map +1 -0
  865. package/lib/visitors.js +177 -0
  866. package/lib/visitors.js.map +1 -0
  867. package/lib/walk.d.ts +81 -0
  868. package/lib/walk.d.ts.map +1 -0
  869. package/lib/walk.js +303 -0
  870. package/lib/walk.js.map +1 -0
  871. package/package.json +95 -0
package/lib/index.d.ts ADDED
@@ -0,0 +1,58 @@
1
+ export { doesYamlFileExist } from './utils/does-yaml-file-exist.js';
2
+ export { dequal } from './utils/dequal.js';
3
+ export { isEmptyObject } from './utils/is-empty-object.js';
4
+ export { isNotEmptyArray } from './utils/is-not-empty-array.js';
5
+ export { isNotEmptyObject } from './utils/is-not-empty-object.js';
6
+ export { isPlainObject } from './utils/is-plain-object.js';
7
+ export { isString } from './utils/is-string.js';
8
+ export { isTruthy } from './utils/is-truthy.js';
9
+ export { keysOf } from './utils/keys-of.js';
10
+ export { pause } from './utils/pause.js';
11
+ export { pluralize } from './utils/pluralize.js';
12
+ export { readFileFromUrl } from './utils/read-file-from-url.js';
13
+ export { slash } from './utils/slash.js';
14
+ export { Oas2Types } from './types/oas2.js';
15
+ export { Oas3Types } from './types/oas3.js';
16
+ export { Oas3_1Types } from './types/oas3_1.js';
17
+ export { Oas3_2Types } from './types/oas3_2.js';
18
+ export { AsyncApi2Types } from './types/asyncapi2.js';
19
+ export { AsyncApi3Types } from './types/asyncapi3.js';
20
+ export { Arazzo1Types } from './types/arazzo.js';
21
+ export { Overlay1Types } from './types/overlay.js';
22
+ export { OpenRpcTypes } from './types/openrpc.js';
23
+ export { ConfigTypes, createConfigTypes } from './types/redocly-yaml.js';
24
+ export { createEntityTypes } from './types/entity.js';
25
+ export { normalizeTypes, type NormalizedNodeType, type NodeType } from './types/index.js';
26
+ export { StatsOAS, StatsAsync2, StatsAsync3 } from './rules/other/stats.js';
27
+ export { loadConfig, loadIgnoreConfig, createConfig, findConfig, resolvePlugins, ConfigValidationError, Config, // FIXME: export it as a type
28
+ type RawUniversalConfig, type RawUniversalApiConfig, type ResolvedConfig, type ResolvedApiConfig, type Plugin, type RuleConfig, type RuleSeverity, type IgnoreConfig, } from './config/index.js';
29
+ export * from './config/constants.js';
30
+ export { Source, BaseResolver, Document, ResolveError, resolveDocument, makeDocumentFromString, type ResolvedRefMap, } from './resolve.js';
31
+ export { YamlParseError } from './errors/yaml-parse-error.js';
32
+ export { parseYaml, stringifyYaml } from './js-yaml/index.js';
33
+ export { unescapePointerFragment, isRef, isAbsoluteUrl, getDir, resolvePath, escapePointerFragment, type Location, } from './ref-utils.js';
34
+ export { detectSpec } from './detect-spec.js';
35
+ export { getTypes, type SpecVersion, type SpecMajorVersion } from './oas-types.js';
36
+ export { getMajorSpecVersion } from './detect-spec.js';
37
+ export { normalizeVisitors, type Oas3Visitor, type Oas2Visitor, type Async2Visitor, type Async3Visitor, type Arazzo1Visitor, type Overlay1Visitor, type OpenRpc1Visitor, type Oas3Rule, type Oas2Rule, type Async2Rule, type Async3Rule, type Arazzo1Rule, type Overlay1Rule, type OpenRpc1Rule, type Oas3Decorator, type Oas2Decorator, type Async2Decorator, type Async3Decorator, type Arazzo1Decorator, type Overlay1Decorator, type OpenRpc1Decorator, type Oas3Preprocessor, type Oas2Preprocessor, type Async2Preprocessor, type Async3Preprocessor, type Arazzo1Preprocessor, type Overlay1Preprocessor, type OpenRpc1Preprocessor, } from './visitors.js';
38
+ export { WalkContext, NormalizedProblem, ProblemSeverity, LineColLocationObject, LocationObject, Loc, walkDocument, type UserContext, } from './walk.js';
39
+ export { getAstNodeByPointer, getLineColLocation, getCodeframe } from './format/codeframes.js';
40
+ export { formatProblems, getTotals, xmlEscape, type OutputFormat, type Totals, } from './format/format.js';
41
+ export { lint, lint as validate, lintDocument, lintFromString, lintConfig } from './lint.js';
42
+ export { lintEntityFile, lintEntityWithScorecardLevel, lintSchema } from './lint-entity.js';
43
+ export { bundle, bundleFromString, type BundleResult } from './bundle/bundle.js';
44
+ export { bundleDocument } from './bundle/bundle-document.js';
45
+ export { mapTypeToComponent } from './bundle/bundle-visitor.js';
46
+ export { type Assertions, type Assertion } from './rules/common/assertions/index.js';
47
+ export { logger, type LoggerInterface } from './logger.js';
48
+ export { HandledError } from './utils/error.js';
49
+ export { isBrowser } from './env.js';
50
+ export type { CollectFn, Exact } from './utils/types.js';
51
+ export type { Oas3Definition, Oas3_1Definition, Oas3_2Definition, Oas3Components, Oas3_1Components, Oas3PathItem, Oas3Paths, Oas3ComponentName, Oas3Schema, Oas3_1Schema, Oas3Tag, Oas3_2Tag, Referenced, OasRef, Oas3Parameter, Oas3Server, Oas3Operation, Oas3Responses, ApiKeyAuth, HttpAuth, BasicAuth, BearerAuth, DigestAuth, MutualTLSAuth, OAuth2Auth, OpenIDAuth, Oas3SecurityScheme, Oas3SecurityRequirement, } from './typings/openapi.js';
52
+ export type { Oas2Definition } from './typings/swagger.js';
53
+ export type { Async3Definition } from './typings/asyncapi3.js';
54
+ export type { Async2Definition } from './typings/asyncapi.js';
55
+ export type { OpenRpc1Definition } from './typings/openrpc.js';
56
+ export type { ArazzoDefinition, ExtendedOperation, ExtendedSecurity, ResolvedSecurity, } from './typings/arazzo.js';
57
+ export type { StatsAccumulator, OASStatsAccumulator, AsyncAPIStatsAccumulator, StatsName, } from './typings/common.js';
58
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/lib/index.js ADDED
@@ -0,0 +1,49 @@
1
+ export { doesYamlFileExist } from './utils/does-yaml-file-exist.js';
2
+ export { dequal } from './utils/dequal.js';
3
+ export { isEmptyObject } from './utils/is-empty-object.js';
4
+ export { isNotEmptyArray } from './utils/is-not-empty-array.js';
5
+ export { isNotEmptyObject } from './utils/is-not-empty-object.js';
6
+ export { isPlainObject } from './utils/is-plain-object.js';
7
+ export { isString } from './utils/is-string.js';
8
+ export { isTruthy } from './utils/is-truthy.js';
9
+ export { keysOf } from './utils/keys-of.js';
10
+ export { pause } from './utils/pause.js';
11
+ export { pluralize } from './utils/pluralize.js';
12
+ export { readFileFromUrl } from './utils/read-file-from-url.js';
13
+ export { slash } from './utils/slash.js';
14
+ export { Oas2Types } from './types/oas2.js';
15
+ export { Oas3Types } from './types/oas3.js';
16
+ export { Oas3_1Types } from './types/oas3_1.js';
17
+ export { Oas3_2Types } from './types/oas3_2.js';
18
+ export { AsyncApi2Types } from './types/asyncapi2.js';
19
+ export { AsyncApi3Types } from './types/asyncapi3.js';
20
+ export { Arazzo1Types } from './types/arazzo.js';
21
+ export { Overlay1Types } from './types/overlay.js';
22
+ export { OpenRpcTypes } from './types/openrpc.js';
23
+ export { ConfigTypes, createConfigTypes } from './types/redocly-yaml.js';
24
+ export { createEntityTypes } from './types/entity.js';
25
+ export { normalizeTypes } from './types/index.js';
26
+ export { StatsOAS, StatsAsync2, StatsAsync3 } from './rules/other/stats.js';
27
+ export { loadConfig, loadIgnoreConfig, createConfig, findConfig, resolvePlugins, ConfigValidationError, Config, // FIXME: export it as a type
28
+ } from './config/index.js';
29
+ export * from './config/constants.js';
30
+ export { Source, BaseResolver, ResolveError, resolveDocument, makeDocumentFromString, } from './resolve.js';
31
+ export { YamlParseError } from './errors/yaml-parse-error.js';
32
+ export { parseYaml, stringifyYaml } from './js-yaml/index.js';
33
+ export { unescapePointerFragment, isRef, isAbsoluteUrl, getDir, resolvePath, escapePointerFragment, } from './ref-utils.js';
34
+ export { detectSpec } from './detect-spec.js';
35
+ export { getTypes } from './oas-types.js';
36
+ export { getMajorSpecVersion } from './detect-spec.js';
37
+ export { normalizeVisitors, } from './visitors.js';
38
+ export { walkDocument, } from './walk.js';
39
+ export { getAstNodeByPointer, getLineColLocation, getCodeframe } from './format/codeframes.js';
40
+ export { formatProblems, getTotals, xmlEscape, } from './format/format.js';
41
+ export { lint, lint as validate, lintDocument, lintFromString, lintConfig } from './lint.js';
42
+ export { lintEntityFile, lintEntityWithScorecardLevel, lintSchema } from './lint-entity.js';
43
+ export { bundle, bundleFromString } from './bundle/bundle.js';
44
+ export { bundleDocument } from './bundle/bundle-document.js';
45
+ export { mapTypeToComponent } from './bundle/bundle-visitor.js';
46
+ export { logger } from './logger.js';
47
+ export { HandledError } from './utils/error.js';
48
+ export { isBrowser } from './env.js';
49
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { LoadOptions, DumpOptions } from 'js-yaml';
2
+ export declare const parseYaml: (str: string, opts?: LoadOptions) => unknown;
3
+ export declare const stringifyYaml: (obj: any, opts?: DumpOptions) => string;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/js-yaml/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAOxD,eAAO,MAAM,SAAS,GAAI,KAAK,MAAM,EAAE,OAAO,WAAW,KAAG,OACM,CAAC;AAEnE,eAAO,MAAM,aAAa,GAAI,KAAK,GAAG,EAAE,OAAO,WAAW,KAAG,MAAyB,CAAC"}
@@ -0,0 +1,11 @@
1
+ // TODO: add a type for "types" https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/js-yaml/index.d.ts
2
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
3
+ // @ts-ignore
4
+ import { JSON_SCHEMA, types, load, dump } from 'js-yaml';
5
+ const DEFAULT_SCHEMA_WITHOUT_TIMESTAMP = JSON_SCHEMA.extend({
6
+ implicit: [types.merge],
7
+ explicit: [types.binary, types.omap, types.pairs, types.set],
8
+ });
9
+ export const parseYaml = (str, opts) => load(str, { schema: DEFAULT_SCHEMA_WITHOUT_TIMESTAMP, ...opts });
10
+ export const stringifyYaml = (obj, opts) => dump(obj, opts);
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/js-yaml/index.ts"],"names":[],"mappings":"AAAA,uHAAuH;AACvH,6DAA6D;AAC7D,aAAa;AACb,OAAO,EAAE,WAAW,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAGzD,MAAM,gCAAgC,GAAG,WAAW,CAAC,MAAM,CAAC;IAC1D,QAAQ,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC;IACvB,QAAQ,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,CAAC;CAC7D,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,GAAW,EAAE,IAAkB,EAAW,EAAE,CACpE,IAAI,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,gCAAgC,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;AAEnE,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAQ,EAAE,IAAkB,EAAU,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC"}
@@ -0,0 +1,24 @@
1
+ import type { EntityFileSchema, EntityBaseFileSchema, ScorecardConfig } from '@redocly/config';
2
+ import type { JSONSchema } from 'json-schema-to-ts';
3
+ import { type Config } from './config/index.js';
4
+ import { BaseResolver, type Document } from './resolve.js';
5
+ import { type Assertion } from './rules/common/assertions/index.js';
6
+ import { type NormalizedProblem, type ProblemSeverity } from './walk.js';
7
+ export declare function lintEntityFile(opts: {
8
+ document: Document;
9
+ entitySchema: JSONSchema;
10
+ entityDefaultSchema: JSONSchema;
11
+ severity?: ProblemSeverity;
12
+ externalRefResolver?: BaseResolver;
13
+ assertionConfig?: Record<string, Assertion>;
14
+ }): Promise<NormalizedProblem[]>;
15
+ export declare function lintEntityWithScorecardLevel(entity: EntityFileSchema | EntityBaseFileSchema, scorecardLevel: NonNullable<ScorecardConfig['levels']>[number], document?: Document): Promise<NormalizedProblem[]>;
16
+ export declare function lintSchema(opts: {
17
+ schema: unknown;
18
+ schemaKey: string;
19
+ config: Config;
20
+ specType: string;
21
+ sourceDocument: Document;
22
+ externalRefResolver?: BaseResolver;
23
+ }): Promise<NormalizedProblem[]>;
24
+ //# sourceMappingURL=lint-entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-entity.d.ts","sourceRoot":"","sources":["../src/lint-entity.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAC/F,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD,OAAO,EAAgB,KAAK,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAG9D,OAAO,EAAE,YAAY,EAA2C,KAAK,QAAQ,EAAE,MAAM,cAAc,CAAC;AAEpG,OAAO,EAAc,KAAK,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAsBhF,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,eAAe,EAErB,MAAM,WAAW,CAAC;AAEnB,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,QAAQ,EAAE,QAAQ,CAAC;IACnB,YAAY,EAAE,UAAU,CAAC;IACzB,mBAAmB,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC;CAC7C,gCAoGA;AAED,wBAAsB,4BAA4B,CAChD,MAAM,EAAE,gBAAgB,GAAG,oBAAoB,EAC/C,cAAc,EAAE,WAAW,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,EAC9D,QAAQ,CAAC,EAAE,QAAQ,GAClB,OAAO,CAAC,iBAAiB,EAAE,CAAC,CA0F9B;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,EAAE,QAAQ,CAAC;IACzB,mBAAmB,CAAC,EAAE,YAAY,CAAC;CACpC,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAwC/B"}
@@ -0,0 +1,171 @@
1
+ import * as redoclyConfig from '@redocly/config';
2
+ import { createConfig } from './config/index.js';
3
+ import { lintDocument } from './lint.js';
4
+ import { BaseResolver, resolveDocument, makeDocumentFromString } from './resolve.js';
5
+ import { EntityKeyValid } from './rules/catalog-entity/entity-key-valid.js';
6
+ import { Assertions } from './rules/common/assertions/index.js';
7
+ import { NoUnresolvedRefs } from './rules/common/no-unresolved-refs.js';
8
+ import { Struct } from './rules/common/struct.js';
9
+ import { createEntityTypes, ENTITY_DISCRIMINATOR_PROPERTY_NAME, ENTITY_TYPES_WITH_API_SUPPORT, } from './types/entity.js';
10
+ import { normalizeTypes } from './types/index.js';
11
+ import { isEmptyObject } from './utils/is-empty-object.js';
12
+ import { isPlainObject } from './utils/is-plain-object.js';
13
+ import { categorizeAssertions, findDataSchemaInDocument, transformScorecardRulesToAssertions, } from './utils/scorecards.js';
14
+ import { normalizeVisitors, } from './visitors.js';
15
+ import { walkDocument, } from './walk.js';
16
+ export async function lintEntityFile(opts) {
17
+ const { document, entitySchema, entityDefaultSchema, severity, externalRefResolver = new BaseResolver(), assertionConfig = {}, } = opts;
18
+ const ctx = {
19
+ problems: [],
20
+ specVersion: 'entity', // FIXME: this should be proper SpecVersion
21
+ visitorsData: {},
22
+ };
23
+ const { entityTypes, discriminatorResolver } = createEntityTypes(entitySchema, entityDefaultSchema);
24
+ const types = normalizeTypes(entityTypes);
25
+ let rootType = types.Entity;
26
+ if (Array.isArray(document.parsed)) {
27
+ rootType = types.EntityFileArray;
28
+ }
29
+ else if (isPlainObject(document.parsed)) {
30
+ const discriminatedPropertyValue = document.parsed[ENTITY_DISCRIMINATOR_PROPERTY_NAME];
31
+ if (!discriminatedPropertyValue) {
32
+ rootType = types.Entity;
33
+ }
34
+ else {
35
+ const discriminatedTypeName = discriminatorResolver?.(document.parsed, discriminatedPropertyValue);
36
+ if (discriminatedTypeName &&
37
+ typeof discriminatedTypeName === 'string' &&
38
+ types[discriminatedTypeName]) {
39
+ rootType = types[discriminatedTypeName];
40
+ }
41
+ }
42
+ }
43
+ const assertionVisitors = Assertions(assertionConfig);
44
+ const flattenedAssertions = Array.isArray(assertionVisitors)
45
+ ? assertionVisitors.map((visitor) => ({
46
+ severity: severity || 'error',
47
+ ruleId: 'entity assertions',
48
+ visitor: visitor,
49
+ }))
50
+ : [
51
+ {
52
+ severity: severity || 'error',
53
+ ruleId: 'entity assertions',
54
+ visitor: assertionVisitors,
55
+ },
56
+ ];
57
+ const rules = [
58
+ {
59
+ severity: severity || 'error',
60
+ ruleId: 'entity struct',
61
+ visitor: Struct({ severity: 'error' }),
62
+ },
63
+ {
64
+ severity: severity || 'error',
65
+ ruleId: 'entity no-unresolved-refs',
66
+ visitor: NoUnresolvedRefs({ severity: 'error' }),
67
+ },
68
+ {
69
+ severity: severity || 'error',
70
+ ruleId: 'entity key-valid',
71
+ visitor: EntityKeyValid({ severity: 'error' }),
72
+ },
73
+ ...flattenedAssertions,
74
+ ];
75
+ const normalizedVisitors = normalizeVisitors(rules, types);
76
+ const resolvedRefMap = await resolveDocument({
77
+ rootDocument: document,
78
+ rootType,
79
+ externalRefResolver,
80
+ });
81
+ walkDocument({
82
+ document,
83
+ rootType,
84
+ normalizedVisitors,
85
+ resolvedRefMap,
86
+ ctx,
87
+ });
88
+ return ctx.problems;
89
+ }
90
+ export async function lintEntityWithScorecardLevel(entity, scorecardLevel, document) {
91
+ if (!scorecardLevel.rules) {
92
+ throw new Error(`Scorecard level "${scorecardLevel.name}" has no rules defined.`);
93
+ }
94
+ const externalRefResolver = new BaseResolver();
95
+ //Create a document from the entity object
96
+ const entityDocument = makeDocumentFromString(JSON.stringify(entity, null, 2), 'entity');
97
+ const discriminatorValue = entityDocument.parsed[ENTITY_DISCRIMINATOR_PROPERTY_NAME];
98
+ const assertionConfig = transformScorecardRulesToAssertions(discriminatorValue || 'unknown', scorecardLevel.rules);
99
+ const { entityRules, apiRules } = categorizeAssertions(assertionConfig);
100
+ const entityProblems = await lintEntityFile({
101
+ document: entityDocument,
102
+ entitySchema: redoclyConfig.entityFileSchema,
103
+ entityDefaultSchema: redoclyConfig.entityFileDefaultSchema,
104
+ externalRefResolver,
105
+ assertionConfig: entityRules,
106
+ });
107
+ if (ENTITY_TYPES_WITH_API_SUPPORT.includes(entity.type)) {
108
+ if (Object.keys(apiRules).length === 0) {
109
+ return entityProblems;
110
+ }
111
+ if (!document) {
112
+ throw new Error(`Document is required for entity type "${entity.type}". Provide the source API document to lint API rules.`);
113
+ }
114
+ if (entity.type === 'data-schema' && entity.metadata?.schema) {
115
+ Object.values(apiRules).forEach((rule) => {
116
+ if (typeof rule === 'object' && rule.subject.type !== 'Schema') {
117
+ throw new Error(`API rules for "data-schema" entity must target Schema subject, but found "${rule.subject.type}".`);
118
+ }
119
+ });
120
+ const schema = findDataSchemaInDocument(entity.title, entity.metadata.schema, document);
121
+ if (!schema) {
122
+ throw new Error(`Schema "${entity.title}" not found in the document. Ensure the schema exists in components.schemas.`);
123
+ }
124
+ const schemaProblems = await lintSchema({
125
+ schema,
126
+ schemaKey: entity.title,
127
+ config: await createConfig({
128
+ rules: apiRules,
129
+ }),
130
+ specType: entity.metadata.specType,
131
+ sourceDocument: document,
132
+ externalRefResolver,
133
+ });
134
+ return [...entityProblems, ...schemaProblems];
135
+ }
136
+ const apiProblems = await lintDocument({
137
+ document,
138
+ externalRefResolver,
139
+ config: await createConfig({
140
+ rules: apiRules,
141
+ }),
142
+ });
143
+ return [...entityProblems, ...apiProblems];
144
+ }
145
+ else if (!isEmptyObject(apiRules)) {
146
+ throw new Error(`API rules are not supported for entity type "${entity.type}". Only ${ENTITY_TYPES_WITH_API_SUPPORT.join(', ')} support API rules.`);
147
+ }
148
+ return entityProblems;
149
+ }
150
+ export async function lintSchema(opts) {
151
+ const { schema, schemaKey, config, sourceDocument, specType, externalRefResolver = new BaseResolver(config.resolve), } = opts;
152
+ const parsed = sourceDocument.parsed;
153
+ const specVersion = parsed[specType];
154
+ const info = parsed.info;
155
+ const schemaDocument = makeDocumentFromString(JSON.stringify({
156
+ [specType]: specVersion,
157
+ info,
158
+ components: {
159
+ schemas: {
160
+ [schemaKey]: schema,
161
+ },
162
+ },
163
+ }, null, 2), sourceDocument?.source.absoluteRef || `schema:${schemaKey}`);
164
+ const problems = await lintDocument({
165
+ document: schemaDocument,
166
+ config,
167
+ externalRefResolver,
168
+ });
169
+ return problems.filter((problem) => problem.location.some((loc) => loc.pointer?.includes(`/components/schemas/${schemaKey}`)));
170
+ }
171
+ //# sourceMappingURL=lint-entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint-entity.js","sourceRoot":"","sources":["../src/lint-entity.ts"],"names":[],"mappings":"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"}
package/lib/lint.d.ts ADDED
@@ -0,0 +1,31 @@
1
+ import type { Config } from './config/index.js';
2
+ import { BaseResolver } from './resolve.js';
3
+ import type { Document } from './resolve.js';
4
+ import type { NodeType } from './types/index.js';
5
+ import type { CollectFn } from './utils/types.js';
6
+ import type { ProblemSeverity } from './walk.js';
7
+ export declare function lint(opts: {
8
+ ref: string;
9
+ config: Config;
10
+ externalRefResolver?: BaseResolver;
11
+ collectSpecData?: CollectFn;
12
+ }): Promise<import("./walk.js").NormalizedProblem[]>;
13
+ export declare function lintFromString(opts: {
14
+ source: string;
15
+ absoluteRef?: string;
16
+ config: Config;
17
+ externalRefResolver?: BaseResolver;
18
+ }): Promise<import("./walk.js").NormalizedProblem[]>;
19
+ export declare function lintDocument(opts: {
20
+ document: Document;
21
+ config: Config;
22
+ customTypes?: Record<string, NodeType>;
23
+ externalRefResolver: BaseResolver;
24
+ }): Promise<import("./walk.js").NormalizedProblem[]>;
25
+ export declare function lintConfig(opts: {
26
+ config: Config;
27
+ severity?: ProblemSeverity;
28
+ externalRefResolver?: BaseResolver;
29
+ externalConfigTypes?: Record<string, NodeType>;
30
+ }): Promise<import("./walk.js").NormalizedProblem[]>;
31
+ //# sourceMappingURL=lint.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint.d.ts","sourceRoot":"","sources":["../src/lint.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAIhD,OAAO,EAAE,YAAY,EAA2C,MAAM,cAAc,CAAC;AACrF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAK7C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAEjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAclD,OAAO,KAAK,EAAE,eAAe,EAAe,MAAM,WAAW,CAAC;AAS9D,wBAAsB,IAAI,CAAC,IAAI,EAAE;IAC/B,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,eAAe,CAAC,EAAE,SAAS,CAAC;CAC7B,oDAUA;AAED,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,mBAAmB,CAAC,EAAE,YAAY,CAAC;CACpC,oDASA;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE;IACvC,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,mBAAmB,EAAE,YAAY,CAAC;CACnC,oDAsDA;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,mBAAmB,CAAC,EAAE,YAAY,CAAC;IACnC,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;CAChD,oDAgEA"}
package/lib/lint.js ADDED
@@ -0,0 +1,123 @@
1
+ import { rootRedoclyConfigSchema } from '@redocly/config';
2
+ import { initRules } from './config/rules.js';
3
+ import { detectSpec, getMajorSpecVersion } from './detect-spec.js';
4
+ import { getTypes } from './oas-types.js';
5
+ import { BaseResolver, resolveDocument, makeDocumentFromString } from './resolve.js';
6
+ import { releaseAjvInstance } from './rules/ajv.js';
7
+ import { NoUnresolvedRefs } from './rules/common/no-unresolved-refs.js';
8
+ import { Struct } from './rules/common/struct.js';
9
+ import { normalizeTypes } from './types/index.js';
10
+ import { createConfigTypes } from './types/redocly-yaml.js';
11
+ import { normalizeVisitors } from './visitors.js';
12
+ import { walkDocument } from './walk.js';
13
+ // FIXME: remove this once we remove `theme` from the schema
14
+ const { theme: _, ...propertiesWithoutTheme } = rootRedoclyConfigSchema.properties;
15
+ const redoclyConfigSchemaWithoutTheme = {
16
+ ...rootRedoclyConfigSchema,
17
+ properties: propertiesWithoutTheme,
18
+ };
19
+ export async function lint(opts) {
20
+ const { ref, externalRefResolver = new BaseResolver(opts.config.resolve) } = opts;
21
+ const document = (await externalRefResolver.resolveDocument(null, ref, true));
22
+ opts.collectSpecData?.(document.parsed);
23
+ return lintDocument({
24
+ document,
25
+ ...opts,
26
+ externalRefResolver,
27
+ });
28
+ }
29
+ export async function lintFromString(opts) {
30
+ const { source, absoluteRef, externalRefResolver = new BaseResolver(opts.config.resolve) } = opts;
31
+ const document = makeDocumentFromString(source, absoluteRef || '/');
32
+ return lintDocument({
33
+ document,
34
+ ...opts,
35
+ externalRefResolver,
36
+ });
37
+ }
38
+ export async function lintDocument(opts) {
39
+ releaseAjvInstance(); // FIXME: preprocessors can modify nodes which are then cached to ajv-instance by absolute path
40
+ const { document, customTypes, externalRefResolver, config } = opts;
41
+ const specVersion = detectSpec(document.parsed);
42
+ const specMajorVersion = getMajorSpecVersion(specVersion);
43
+ const rules = config.getRulesForSpecVersion(specMajorVersion);
44
+ const types = normalizeTypes(config.extendTypes(customTypes ?? getTypes(specVersion), specVersion), config);
45
+ const ctx = {
46
+ problems: [],
47
+ specVersion,
48
+ config,
49
+ visitorsData: {},
50
+ };
51
+ const preprocessors = initRules(rules, config, 'preprocessors', specVersion);
52
+ const regularRules = initRules(rules, config, 'rules', specVersion);
53
+ let resolvedRefMap = await resolveDocument({
54
+ rootDocument: document,
55
+ rootType: types.Root,
56
+ externalRefResolver,
57
+ });
58
+ if (preprocessors.length > 0) {
59
+ // Make additional pass to resolve refs defined in preprocessors.
60
+ walkDocument({
61
+ document,
62
+ rootType: types.Root,
63
+ normalizedVisitors: normalizeVisitors(preprocessors, types),
64
+ resolvedRefMap,
65
+ ctx,
66
+ });
67
+ resolvedRefMap = await resolveDocument({
68
+ rootDocument: document,
69
+ rootType: types.Root,
70
+ externalRefResolver,
71
+ });
72
+ }
73
+ const normalizedVisitors = normalizeVisitors(regularRules, types);
74
+ walkDocument({
75
+ document,
76
+ rootType: types.Root,
77
+ normalizedVisitors,
78
+ resolvedRefMap,
79
+ ctx,
80
+ });
81
+ return ctx.problems.map((problem) => config.addProblemToIgnore(problem));
82
+ }
83
+ export async function lintConfig(opts) {
84
+ const { severity, externalRefResolver = new BaseResolver(), config } = opts;
85
+ if (!config.document) {
86
+ throw new Error('Config document is not set.');
87
+ }
88
+ const ctx = {
89
+ problems: [],
90
+ specVersion: 'oas3_0', // TODO: use config-specific version
91
+ config,
92
+ visitorsData: {},
93
+ };
94
+ const types = normalizeTypes(opts.externalConfigTypes || createConfigTypes(redoclyConfigSchemaWithoutTheme, config));
95
+ const rules = [
96
+ {
97
+ severity: severity || 'error',
98
+ ruleId: 'configuration struct',
99
+ visitor: Struct({ severity: 'error' }),
100
+ },
101
+ {
102
+ severity: severity || 'error',
103
+ ruleId: 'configuration no-unresolved-refs',
104
+ visitor: NoUnresolvedRefs({ severity: 'error' }),
105
+ },
106
+ ];
107
+ const normalizedVisitors = normalizeVisitors(rules, types);
108
+ const resolvedRefMap = config.resolvedRefMap ||
109
+ (await resolveDocument({
110
+ rootDocument: config.document,
111
+ rootType: types.ConfigRoot,
112
+ externalRefResolver,
113
+ }));
114
+ walkDocument({
115
+ document: config.document,
116
+ rootType: types.ConfigRoot,
117
+ normalizedVisitors,
118
+ resolvedRefMap,
119
+ ctx,
120
+ });
121
+ return ctx.problems;
122
+ }
123
+ //# sourceMappingURL=lint.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lint.js","sourceRoot":"","sources":["../src/lint.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import * as colorette from 'colorette';
2
+ export declare const colorOptions: {
3
+ enabled: boolean;
4
+ };
5
+ export declare const colorize: typeof colorette;
6
+ export interface LoggerInterface {
7
+ info(message: string): void;
8
+ warn(message: string): void;
9
+ output(message: string): void;
10
+ error(message: string): void;
11
+ printNewLine(): void;
12
+ printSeparator(separator: string): void;
13
+ indent(str: string, level: number): string;
14
+ }
15
+ declare class Logger implements LoggerInterface {
16
+ info(str: string): boolean | void;
17
+ warn(str: string): boolean | void;
18
+ error(str: string): boolean | void;
19
+ output(str: string): boolean | void;
20
+ printNewLine(): void;
21
+ printSeparator(separator: string): boolean | void;
22
+ indent(str: string, level: number): string;
23
+ }
24
+ export declare const logger: Logger;
25
+ export {};
26
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAC;AAOvC,eAAO,MAAM,YAAY;;CAAoB,CAAC;AAE9C,eAAO,MAAM,QAAQ,kBAQnB,CAAC;AAEH,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,YAAY,IAAI,IAAI,CAAC;IACrB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACxC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CAC5C;AAED,cAAM,MAAO,YAAW,eAAe;IACrC,IAAI,CAAC,GAAG,EAAE,MAAM;IAIhB,IAAI,CAAC,GAAG,EAAE,MAAM;IAIhB,KAAK,CAAC,GAAG,EAAE,MAAM;IAIjB,MAAM,CAAC,GAAG,EAAE,MAAM;IAIlB,YAAY;IASZ,cAAc,CAAC,SAAS,EAAE,MAAM;IAYhC,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;CAOlC;AAED,eAAO,MAAM,MAAM,QAAe,CAAC"}
package/lib/logger.js ADDED
@@ -0,0 +1,56 @@
1
+ import * as colorette from 'colorette';
2
+ import { isBrowser } from './env.js';
3
+ import { identity } from './utils/identity.js';
4
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
5
+ // @ts-ignore this works but some types are not working
6
+ export const colorOptions = colorette.options;
7
+ export const colorize = new Proxy(colorette, {
8
+ get(target, prop) {
9
+ if (isBrowser) {
10
+ return identity;
11
+ }
12
+ return target[prop];
13
+ },
14
+ });
15
+ class Logger {
16
+ info(str) {
17
+ return isBrowser ? console.info(str) : process.stderr.write(str);
18
+ }
19
+ warn(str) {
20
+ return isBrowser ? console.warn(str) : process.stderr.write(colorize.yellow(str));
21
+ }
22
+ error(str) {
23
+ return isBrowser ? console.error(str) : process.stderr.write(colorize.red(str));
24
+ }
25
+ output(str) {
26
+ return isBrowser ? console.log(str) : process.stdout.write(str);
27
+ }
28
+ printNewLine() {
29
+ if (isBrowser) {
30
+ console.log('\n');
31
+ }
32
+ else {
33
+ // Add a space to ensure the line is not empty in GitHub CI environments, otherwise it will be hidden
34
+ process.stdout.write(' \n');
35
+ }
36
+ }
37
+ printSeparator(separator) {
38
+ const windowWidth = process.stdout.columns || 80;
39
+ const separatorLine = separator
40
+ .repeat(Math.ceil(windowWidth / separator.length))
41
+ .slice(0, windowWidth);
42
+ const coloredSeparatorLine = isBrowser ? separatorLine : colorize.gray(separatorLine);
43
+ return isBrowser
44
+ ? console.log(coloredSeparatorLine)
45
+ : process.stdout.write(coloredSeparatorLine);
46
+ }
47
+ indent(str, level) {
48
+ const indentChar = isBrowser ? ' ' : '\xa0';
49
+ return str
50
+ .split('\n')
51
+ .map((line) => indentChar.repeat(level) + line)
52
+ .join('\n');
53
+ }
54
+ }
55
+ export const logger = new Logger();
56
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}