@redocly/recheck 0.14.0 → 2.58.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 (1034) hide show
  1. package/README.md +71 -1869
  2. package/examples/appendices/google.appendix.yaml +1 -1
  3. package/examples/appendices/inclusive-language.appendix.yaml +1 -1
  4. package/examples/appendices/microsoft.appendix.yaml +1 -1
  5. package/examples/appendices/plain-language.appendix.yaml +1 -1
  6. package/examples/appendices/technical-english.appendix.yaml +1 -1
  7. package/examples/google.yaml +7 -7
  8. package/examples/inclusive-language.yaml +7 -7
  9. package/examples/microsoft.yaml +7 -7
  10. package/examples/plain-language.yaml +7 -7
  11. package/examples/technical-english.yaml +7 -7
  12. package/lib/actions/baseline.d.ts +15 -0
  13. package/lib/actions/baseline.d.ts.map +1 -0
  14. package/lib/actions/baseline.js +51 -0
  15. package/lib/actions/baseline.js.map +1 -0
  16. package/lib/actions/lint.d.ts +51 -0
  17. package/lib/actions/lint.d.ts.map +1 -0
  18. package/lib/actions/lint.js +123 -0
  19. package/lib/actions/lint.js.map +1 -0
  20. package/lib/actions/markdoc-schema.d.ts +34 -0
  21. package/lib/actions/markdoc-schema.d.ts.map +1 -0
  22. package/lib/actions/markdoc-schema.js +106 -0
  23. package/lib/actions/markdoc-schema.js.map +1 -0
  24. package/lib/actions/readability.d.ts +25 -0
  25. package/lib/actions/readability.d.ts.map +1 -0
  26. package/lib/actions/readability.js +47 -0
  27. package/lib/actions/readability.js.map +1 -0
  28. package/lib/actions/roots.d.ts +7 -0
  29. package/lib/actions/roots.d.ts.map +1 -0
  30. package/lib/actions/roots.js +36 -0
  31. package/lib/actions/roots.js.map +1 -0
  32. package/lib/config/presets/api-descriptions.d.ts +8 -0
  33. package/lib/config/presets/api-descriptions.d.ts.map +1 -0
  34. package/lib/config/presets/api-descriptions.js +24 -0
  35. package/lib/config/presets/api-descriptions.js.map +1 -0
  36. package/lib/config/presets/google.d.ts +3 -0
  37. package/lib/config/presets/google.d.ts.map +1 -0
  38. package/lib/config/presets/google.js +1086 -0
  39. package/lib/config/presets/google.js.map +1 -0
  40. package/lib/config/presets/inclusive-language.d.ts +3 -0
  41. package/lib/config/presets/inclusive-language.d.ts.map +1 -0
  42. package/lib/config/presets/inclusive-language.js +151 -0
  43. package/lib/config/presets/inclusive-language.js.map +1 -0
  44. package/lib/config/presets/index.d.ts +16 -0
  45. package/lib/config/presets/index.d.ts.map +1 -0
  46. package/lib/config/presets/index.js +38 -0
  47. package/lib/config/presets/index.js.map +1 -0
  48. package/lib/config/presets/markdoc.d.ts +3 -0
  49. package/lib/config/presets/markdoc.d.ts.map +1 -0
  50. package/lib/config/presets/markdoc.js +45 -0
  51. package/lib/config/presets/markdoc.js.map +1 -0
  52. package/lib/config/presets/markdown-relaxed.d.ts +3 -0
  53. package/lib/config/presets/markdown-relaxed.d.ts.map +1 -0
  54. package/lib/config/presets/markdown-relaxed.js +34 -0
  55. package/lib/config/presets/markdown-relaxed.js.map +1 -0
  56. package/lib/config/presets/markdown.d.ts +11 -0
  57. package/lib/config/presets/markdown.d.ts.map +1 -0
  58. package/lib/config/presets/markdown.js +73 -0
  59. package/lib/config/presets/markdown.js.map +1 -0
  60. package/lib/config/presets/microsoft.d.ts +3 -0
  61. package/lib/config/presets/microsoft.d.ts.map +1 -0
  62. package/lib/config/presets/microsoft.js +1260 -0
  63. package/lib/config/presets/microsoft.js.map +1 -0
  64. package/lib/config/presets/minimal.d.ts +3 -0
  65. package/lib/config/presets/minimal.d.ts.map +1 -0
  66. package/lib/config/presets/minimal.js +13 -0
  67. package/lib/config/presets/minimal.js.map +1 -0
  68. package/lib/config/presets/plain-language.d.ts +3 -0
  69. package/lib/config/presets/plain-language.d.ts.map +1 -0
  70. package/lib/config/presets/plain-language.js +175 -0
  71. package/lib/config/presets/plain-language.js.map +1 -0
  72. package/lib/config/presets/prose.d.ts +3 -0
  73. package/lib/config/presets/prose.d.ts.map +1 -0
  74. package/lib/config/presets/prose.js +60 -0
  75. package/lib/config/presets/prose.js.map +1 -0
  76. package/lib/config/presets/technical-english.d.ts +22 -0
  77. package/lib/config/presets/technical-english.d.ts.map +1 -0
  78. package/lib/config/presets/technical-english.js +61 -0
  79. package/lib/config/presets/technical-english.js.map +1 -0
  80. package/lib/config/resolve.d.ts +36 -0
  81. package/lib/config/resolve.d.ts.map +1 -0
  82. package/lib/config/resolve.js +106 -0
  83. package/lib/config/resolve.js.map +1 -0
  84. package/lib/config/schema.d.ts +215 -0
  85. package/lib/config/schema.d.ts.map +1 -0
  86. package/lib/config/schema.js +152 -0
  87. package/lib/config/schema.js.map +1 -0
  88. package/lib/config/validate.d.ts +19 -0
  89. package/lib/config/validate.d.ts.map +1 -0
  90. package/lib/config/validate.js +1049 -0
  91. package/lib/config/validate.js.map +1 -0
  92. package/lib/core/auto-fix.d.ts.map +1 -0
  93. package/lib/core/auto-fix.js +94 -0
  94. package/lib/core/auto-fix.js.map +1 -0
  95. package/lib/core/baseline.d.ts +43 -0
  96. package/lib/core/baseline.d.ts.map +1 -0
  97. package/lib/core/baseline.js +142 -0
  98. package/lib/core/baseline.js.map +1 -0
  99. package/lib/core/case-preserve.d.ts +11 -0
  100. package/lib/core/case-preserve.d.ts.map +1 -0
  101. package/lib/core/case-preserve.js +22 -0
  102. package/lib/core/case-preserve.js.map +1 -0
  103. package/lib/core/directives.d.ts.map +1 -0
  104. package/lib/core/directives.js +66 -0
  105. package/lib/core/directives.js.map +1 -0
  106. package/lib/core/files.d.ts +31 -0
  107. package/lib/core/files.d.ts.map +1 -0
  108. package/lib/core/files.js +184 -0
  109. package/lib/core/files.js.map +1 -0
  110. package/lib/core/inline-code.d.ts +33 -0
  111. package/lib/core/inline-code.d.ts.map +1 -0
  112. package/lib/core/inline-code.js +50 -0
  113. package/lib/core/inline-code.js.map +1 -0
  114. package/lib/core/line-endings.d.ts +13 -0
  115. package/lib/core/line-endings.d.ts.map +1 -0
  116. package/lib/core/line-endings.js +39 -0
  117. package/lib/core/line-endings.js.map +1 -0
  118. package/lib/core/markdoc-tags.d.ts +48 -0
  119. package/lib/core/markdoc-tags.d.ts.map +1 -0
  120. package/lib/core/markdoc-tags.js +102 -0
  121. package/lib/core/markdoc-tags.js.map +1 -0
  122. package/lib/core/prose-extract.d.ts +6 -0
  123. package/lib/core/prose-extract.d.ts.map +1 -0
  124. package/lib/core/prose-extract.js +71 -0
  125. package/lib/core/prose-extract.js.map +1 -0
  126. package/lib/core/readability.d.ts +17 -0
  127. package/lib/core/readability.d.ts.map +1 -0
  128. package/lib/core/readability.js +34 -0
  129. package/lib/core/readability.js.map +1 -0
  130. package/lib/core/rule-filters.d.ts +29 -0
  131. package/lib/core/rule-filters.d.ts.map +1 -0
  132. package/lib/core/rule-filters.js +88 -0
  133. package/lib/core/rule-filters.js.map +1 -0
  134. package/lib/core/runner.d.ts +60 -0
  135. package/lib/core/runner.d.ts.map +1 -0
  136. package/lib/core/runner.js +305 -0
  137. package/lib/core/runner.js.map +1 -0
  138. package/lib/core/summary.d.ts +4 -0
  139. package/lib/core/summary.d.ts.map +1 -0
  140. package/lib/core/summary.js +37 -0
  141. package/lib/core/summary.js.map +1 -0
  142. package/lib/core/timing.d.ts +9 -0
  143. package/lib/core/timing.d.ts.map +1 -0
  144. package/lib/core/timing.js +19 -0
  145. package/lib/core/timing.js.map +1 -0
  146. package/lib/data/markdoc-realm-schema.d.ts.map +1 -0
  147. package/lib/data/markdoc-realm-schema.js +782 -0
  148. package/lib/data/markdoc-realm-schema.js.map +1 -0
  149. package/lib/data/proper-nouns.d.ts.map +1 -0
  150. package/lib/data/proper-nouns.js +42 -0
  151. package/lib/data/proper-nouns.js.map +1 -0
  152. package/lib/data/realm-front-matter-schema.d.ts +12 -0
  153. package/lib/data/realm-front-matter-schema.d.ts.map +1 -0
  154. package/lib/data/realm-front-matter-schema.js +51 -0
  155. package/lib/data/realm-front-matter-schema.js.map +1 -0
  156. package/lib/index.d.ts +81 -0
  157. package/lib/index.d.ts.map +1 -0
  158. package/lib/index.js +114 -0
  159. package/lib/index.js.map +1 -0
  160. package/lib/metrics/formulas.d.ts +9 -0
  161. package/lib/metrics/formulas.d.ts.map +1 -0
  162. package/lib/metrics/formulas.js +59 -0
  163. package/lib/metrics/formulas.js.map +1 -0
  164. package/lib/metrics/statistics.d.ts +14 -0
  165. package/lib/metrics/statistics.d.ts.map +1 -0
  166. package/lib/metrics/statistics.js +35 -0
  167. package/lib/metrics/statistics.js.map +1 -0
  168. package/lib/parser/index.d.ts +13 -0
  169. package/lib/parser/index.d.ts.map +1 -0
  170. package/lib/parser/index.js +123 -0
  171. package/lib/parser/index.js.map +1 -0
  172. package/lib/parser/markdoc/extract-statics.d.ts +28 -0
  173. package/lib/parser/markdoc/extract-statics.d.ts.map +1 -0
  174. package/lib/parser/markdoc/extract-statics.js +80 -0
  175. package/lib/parser/markdoc/extract-statics.js.map +1 -0
  176. package/lib/parser/markdoc/pairing.d.ts +38 -0
  177. package/lib/parser/markdoc/pairing.d.ts.map +1 -0
  178. package/lib/parser/markdoc/pairing.js +77 -0
  179. package/lib/parser/markdoc/pairing.js.map +1 -0
  180. package/lib/parser/markdoc/schema.d.ts +56 -0
  181. package/lib/parser/markdoc/schema.d.ts.map +1 -0
  182. package/lib/parser/markdoc/schema.js +60 -0
  183. package/lib/parser/markdoc/schema.js.map +1 -0
  184. package/lib/parser/markdoc/span.d.ts +52 -0
  185. package/lib/parser/markdoc/span.d.ts.map +1 -0
  186. package/lib/parser/markdoc/span.js +577 -0
  187. package/lib/parser/markdoc/span.js.map +1 -0
  188. package/lib/parser/markdoc/structure.d.ts +17 -0
  189. package/lib/parser/markdoc/structure.d.ts.map +1 -0
  190. package/lib/parser/markdoc/structure.js +121 -0
  191. package/lib/parser/markdoc/structure.js.map +1 -0
  192. package/lib/parser/markdoc/syntax.d.ts +17 -0
  193. package/lib/parser/markdoc/syntax.d.ts.map +1 -0
  194. package/lib/parser/markdoc/syntax.js +262 -0
  195. package/lib/parser/markdoc/syntax.js.map +1 -0
  196. package/lib/parser/types.d.ts.map +1 -0
  197. package/lib/presets.d.ts +6 -0
  198. package/lib/presets.d.ts.map +1 -0
  199. package/lib/presets.js +12 -0
  200. package/lib/presets.js.map +1 -0
  201. package/lib/rules/registry.d.ts +13 -0
  202. package/lib/rules/registry.d.ts.map +1 -0
  203. package/lib/rules/registry.js +54 -0
  204. package/lib/rules/registry.js.map +1 -0
  205. package/lib/rules/scope/capitalization.d.ts.map +1 -0
  206. package/lib/rules/scope/capitalization.js +128 -0
  207. package/lib/rules/scope/capitalization.js.map +1 -0
  208. package/lib/rules/scope/conditional.d.ts.map +1 -0
  209. package/lib/rules/scope/conditional.js +93 -0
  210. package/lib/rules/scope/conditional.js.map +1 -0
  211. package/lib/rules/scope/consistency.d.ts.map +1 -0
  212. package/lib/rules/scope/consistency.js +118 -0
  213. package/lib/rules/scope/consistency.js.map +1 -0
  214. package/lib/rules/scope/length.d.ts.map +1 -0
  215. package/lib/rules/scope/length.js +50 -0
  216. package/lib/rules/scope/length.js.map +1 -0
  217. package/lib/rules/scope/max-image-size.d.ts.map +1 -0
  218. package/lib/rules/scope/max-image-size.js +55 -0
  219. package/lib/rules/scope/max-image-size.js.map +1 -0
  220. package/lib/rules/scope/metric.d.ts +3 -0
  221. package/lib/rules/scope/metric.d.ts.map +1 -0
  222. package/lib/rules/scope/metric.js +59 -0
  223. package/lib/rules/scope/metric.js.map +1 -0
  224. package/lib/rules/scope/occurrence.d.ts.map +1 -0
  225. package/lib/rules/scope/occurrence.js +41 -0
  226. package/lib/rules/scope/occurrence.js.map +1 -0
  227. package/lib/rules/scope/pattern.d.ts.map +1 -0
  228. package/lib/rules/scope/pattern.js +58 -0
  229. package/lib/rules/scope/pattern.js.map +1 -0
  230. package/lib/rules/scope/repetition.d.ts.map +1 -0
  231. package/lib/rules/scope/repetition.js +134 -0
  232. package/lib/rules/scope/repetition.js.map +1 -0
  233. package/lib/rules/scope/semantic-line-breaks.d.ts.map +1 -0
  234. package/lib/rules/scope/semantic-line-breaks.js +180 -0
  235. package/lib/rules/scope/semantic-line-breaks.js.map +1 -0
  236. package/lib/rules/scope/spelling.d.ts +11 -0
  237. package/lib/rules/scope/spelling.d.ts.map +1 -0
  238. package/lib/rules/scope/spelling.js +146 -0
  239. package/lib/rules/scope/spelling.js.map +1 -0
  240. package/lib/rules/scope/swap.d.ts.map +1 -0
  241. package/lib/rules/scope/swap.js +111 -0
  242. package/lib/rules/scope/swap.js.map +1 -0
  243. package/lib/rules/scope/title-case.d.ts +24 -0
  244. package/lib/rules/scope/title-case.d.ts.map +1 -0
  245. package/lib/rules/scope/title-case.js +216 -0
  246. package/lib/rules/scope/title-case.js.map +1 -0
  247. package/lib/rules/token/blanks-around-fences.d.ts.map +1 -0
  248. package/lib/rules/token/blanks-around-fences.js.map +1 -0
  249. package/lib/rules/token/blanks-around-headings.d.ts.map +1 -0
  250. package/lib/rules/token/blanks-around-headings.js +96 -0
  251. package/lib/rules/token/blanks-around-headings.js.map +1 -0
  252. package/lib/rules/token/blanks-around-lists.d.ts.map +1 -0
  253. package/lib/rules/token/blanks-around-lists.js +48 -0
  254. package/lib/rules/token/blanks-around-lists.js.map +1 -0
  255. package/lib/rules/token/blanks-around-tables.d.ts.map +1 -0
  256. package/lib/rules/token/blanks-around-tables.js +40 -0
  257. package/lib/rules/token/blanks-around-tables.js.map +1 -0
  258. package/lib/rules/token/code-block-style.d.ts.map +1 -0
  259. package/lib/rules/token/code-block-style.js.map +1 -0
  260. package/lib/rules/token/code-fence-style.d.ts.map +1 -0
  261. package/lib/rules/token/code-fence-style.js.map +1 -0
  262. package/lib/rules/token/commands-show-output.d.ts.map +1 -0
  263. package/lib/rules/token/commands-show-output.js.map +1 -0
  264. package/lib/rules/token/descriptive-link-text.d.ts.map +1 -0
  265. package/lib/rules/token/descriptive-link-text.js +46 -0
  266. package/lib/rules/token/descriptive-link-text.js.map +1 -0
  267. package/lib/rules/token/fenced-code-language.d.ts.map +1 -0
  268. package/lib/rules/token/fenced-code-language.js.map +1 -0
  269. package/lib/rules/token/first-line-h1.d.ts.map +1 -0
  270. package/lib/rules/token/first-line-h1.js +83 -0
  271. package/lib/rules/token/first-line-h1.js.map +1 -0
  272. package/lib/rules/token/front-matter.d.ts.map +1 -0
  273. package/lib/rules/token/front-matter.js +169 -0
  274. package/lib/rules/token/front-matter.js.map +1 -0
  275. package/lib/rules/token/heading-increment.d.ts.map +1 -0
  276. package/lib/rules/token/heading-increment.js +26 -0
  277. package/lib/rules/token/heading-increment.js.map +1 -0
  278. package/lib/rules/token/heading-start-left.d.ts.map +1 -0
  279. package/lib/rules/token/heading-start-left.js.map +1 -0
  280. package/lib/rules/token/heading-style.d.ts.map +1 -0
  281. package/lib/rules/token/heading-style.js.map +1 -0
  282. package/lib/rules/token/helpers.d.ts +115 -0
  283. package/lib/rules/token/helpers.d.ts.map +1 -0
  284. package/lib/rules/token/helpers.js +502 -0
  285. package/lib/rules/token/helpers.js.map +1 -0
  286. package/lib/rules/token/hr-style.d.ts.map +1 -0
  287. package/lib/rules/token/hr-style.js.map +1 -0
  288. package/lib/rules/token/index.d.ts +65 -0
  289. package/lib/rules/token/index.d.ts.map +1 -0
  290. package/lib/rules/token/index.js +157 -0
  291. package/lib/rules/token/index.js.map +1 -0
  292. package/lib/rules/token/line-length.d.ts.map +1 -0
  293. package/lib/rules/token/line-length.js +96 -0
  294. package/lib/rules/token/line-length.js.map +1 -0
  295. package/lib/rules/token/link-fragments.d.ts.map +1 -0
  296. package/lib/rules/token/link-fragments.js +398 -0
  297. package/lib/rules/token/link-fragments.js.map +1 -0
  298. package/lib/rules/token/link-image-reference-definitions.d.ts.map +1 -0
  299. package/lib/rules/token/link-image-reference-definitions.js.map +1 -0
  300. package/lib/rules/token/link-image-style.d.ts.map +1 -0
  301. package/lib/rules/token/link-image-style.js +138 -0
  302. package/lib/rules/token/link-image-style.js.map +1 -0
  303. package/lib/rules/token/list-indent.d.ts.map +1 -0
  304. package/lib/rules/token/list-indent.js.map +1 -0
  305. package/lib/rules/token/list-length.d.ts.map +1 -0
  306. package/lib/rules/token/list-length.js +31 -0
  307. package/lib/rules/token/list-length.js.map +1 -0
  308. package/lib/rules/token/list-marker-space.d.ts.map +1 -0
  309. package/lib/rules/token/list-marker-space.js.map +1 -0
  310. package/lib/rules/token/markdoc-attributes.d.ts.map +1 -0
  311. package/lib/rules/token/markdoc-attributes.js +198 -0
  312. package/lib/rules/token/markdoc-attributes.js.map +1 -0
  313. package/lib/rules/token/markdoc-pairing.d.ts.map +1 -0
  314. package/lib/rules/token/markdoc-pairing.js +65 -0
  315. package/lib/rules/token/markdoc-pairing.js.map +1 -0
  316. package/lib/rules/token/markdoc-syntax.d.ts.map +1 -0
  317. package/lib/rules/token/markdoc-syntax.js +84 -0
  318. package/lib/rules/token/markdoc-syntax.js.map +1 -0
  319. package/lib/rules/token/markdoc-unknown-tag.d.ts.map +1 -0
  320. package/lib/rules/token/markdoc-unknown-tag.js +44 -0
  321. package/lib/rules/token/markdoc-unknown-tag.js.map +1 -0
  322. package/lib/rules/token/no-alt-text.d.ts.map +1 -0
  323. package/lib/rules/token/no-alt-text.js +43 -0
  324. package/lib/rules/token/no-alt-text.js.map +1 -0
  325. package/lib/rules/token/no-bare-urls.d.ts.map +1 -0
  326. package/lib/rules/token/no-bare-urls.js +74 -0
  327. package/lib/rules/token/no-bare-urls.js.map +1 -0
  328. package/lib/rules/token/no-blanks-blockquote.d.ts.map +1 -0
  329. package/lib/rules/token/no-blanks-blockquote.js.map +1 -0
  330. package/lib/rules/token/no-duplicate-heading.d.ts.map +1 -0
  331. package/lib/rules/token/no-duplicate-heading.js +89 -0
  332. package/lib/rules/token/no-duplicate-heading.js.map +1 -0
  333. package/lib/rules/token/no-duplicate-link-destinations.d.ts.map +1 -0
  334. package/lib/rules/token/no-duplicate-link-destinations.js +54 -0
  335. package/lib/rules/token/no-duplicate-link-destinations.js.map +1 -0
  336. package/lib/rules/token/no-emphasis-as-heading.d.ts.map +1 -0
  337. package/lib/rules/token/no-emphasis-as-heading.js +39 -0
  338. package/lib/rules/token/no-emphasis-as-heading.js.map +1 -0
  339. package/lib/rules/token/no-empty-headings.d.ts.map +1 -0
  340. package/lib/rules/token/no-empty-headings.js +21 -0
  341. package/lib/rules/token/no-empty-headings.js.map +1 -0
  342. package/lib/rules/token/no-empty-links.d.ts.map +1 -0
  343. package/lib/rules/token/no-empty-links.js.map +1 -0
  344. package/lib/rules/token/no-hard-tabs.d.ts.map +1 -0
  345. package/lib/rules/token/no-hard-tabs.js.map +1 -0
  346. package/lib/rules/token/no-inline-html.d.ts.map +1 -0
  347. package/lib/rules/token/no-inline-html.js +41 -0
  348. package/lib/rules/token/no-inline-html.js.map +1 -0
  349. package/lib/rules/token/no-multiple-blanks.d.ts.map +1 -0
  350. package/lib/rules/token/no-multiple-blanks.js.map +1 -0
  351. package/lib/rules/token/no-multiple-space-atx.d.ts +9 -0
  352. package/lib/rules/token/no-multiple-space-atx.d.ts.map +1 -0
  353. package/lib/rules/token/no-multiple-space-atx.js +46 -0
  354. package/lib/rules/token/no-multiple-space-atx.js.map +1 -0
  355. package/lib/rules/token/no-multiple-space-closed-atx.d.ts.map +1 -0
  356. package/lib/rules/token/no-multiple-space-closed-atx.js.map +1 -0
  357. package/lib/rules/token/no-reversed-links.d.ts.map +1 -0
  358. package/lib/rules/token/no-reversed-links.js.map +1 -0
  359. package/lib/rules/token/no-space-in-code.d.ts.map +1 -0
  360. package/lib/rules/token/no-space-in-code.js.map +1 -0
  361. package/lib/rules/token/no-space-in-emphasis.d.ts.map +1 -0
  362. package/lib/rules/token/no-space-in-emphasis.js +72 -0
  363. package/lib/rules/token/no-space-in-emphasis.js.map +1 -0
  364. package/lib/rules/token/no-space-in-links.d.ts.map +1 -0
  365. package/lib/rules/token/no-space-in-links.js.map +1 -0
  366. package/lib/rules/token/no-trailing-punctuation.d.ts.map +1 -0
  367. package/lib/rules/token/no-trailing-punctuation.js.map +1 -0
  368. package/lib/rules/token/no-trailing-spaces.d.ts.map +1 -0
  369. package/lib/rules/token/no-trailing-spaces.js.map +1 -0
  370. package/lib/rules/token/ol-prefix.d.ts.map +1 -0
  371. package/lib/rules/token/ol-prefix.js.map +1 -0
  372. package/lib/rules/token/proper-names.d.ts.map +1 -0
  373. package/lib/rules/token/proper-names.js +87 -0
  374. package/lib/rules/token/proper-names.js.map +1 -0
  375. package/lib/rules/token/reference-links-images.d.ts.map +1 -0
  376. package/lib/rules/token/reference-links-images.js.map +1 -0
  377. package/lib/rules/token/required-headings.d.ts.map +1 -0
  378. package/lib/rules/token/required-headings.js +73 -0
  379. package/lib/rules/token/required-headings.js.map +1 -0
  380. package/lib/rules/token/single-h1.d.ts.map +1 -0
  381. package/lib/rules/token/single-h1.js +43 -0
  382. package/lib/rules/token/single-h1.js.map +1 -0
  383. package/lib/rules/token/table-column-count.d.ts.map +1 -0
  384. package/lib/rules/token/table-column-count.js.map +1 -0
  385. package/lib/rules/token/table-column-style.d.ts.map +1 -0
  386. package/lib/rules/token/table-column-style.js +162 -0
  387. package/lib/rules/token/table-column-style.js.map +1 -0
  388. package/lib/rules/token/table-pipe-style.d.ts.map +1 -0
  389. package/lib/rules/token/table-pipe-style.js.map +1 -0
  390. package/lib/rules/token/ul-indent.d.ts.map +1 -0
  391. package/lib/rules/token/ul-indent.js.map +1 -0
  392. package/lib/rules/token/ul-style.d.ts.map +1 -0
  393. package/lib/rules/token/ul-style.js +70 -0
  394. package/lib/rules/token/ul-style.js.map +1 -0
  395. package/lib/rules/types.d.ts +62 -0
  396. package/lib/rules/types.d.ts.map +1 -0
  397. package/lib/rules/utils.d.ts +18 -0
  398. package/lib/rules/utils.d.ts.map +1 -0
  399. package/lib/rules/utils.js +75 -0
  400. package/lib/rules/utils.js.map +1 -0
  401. package/lib/scopes/extractor.d.ts +6 -0
  402. package/lib/scopes/extractor.d.ts.map +1 -0
  403. package/lib/scopes/extractor.js +398 -0
  404. package/lib/scopes/extractor.js.map +1 -0
  405. package/lib/scopes/selector.d.ts +26 -0
  406. package/lib/scopes/selector.d.ts.map +1 -0
  407. package/lib/scopes/selector.js +78 -0
  408. package/lib/scopes/selector.js.map +1 -0
  409. package/lib/scopes/sentences.d.ts +13 -0
  410. package/lib/scopes/sentences.d.ts.map +1 -0
  411. package/lib/scopes/sentences.js +237 -0
  412. package/lib/scopes/sentences.js.map +1 -0
  413. package/lib/scopes/types.d.ts +35 -0
  414. package/lib/scopes/types.d.ts.map +1 -0
  415. package/lib/scopes/vocabulary.d.ts +12 -0
  416. package/lib/scopes/vocabulary.d.ts.map +1 -0
  417. package/lib/scopes/vocabulary.js +56 -0
  418. package/lib/scopes/vocabulary.js.map +1 -0
  419. package/lib/types/assertions.d.ts +97 -0
  420. package/lib/types/assertions.d.ts.map +1 -0
  421. package/lib/types/reporting.d.ts +23 -0
  422. package/lib/types/reporting.d.ts.map +1 -0
  423. package/lib/types/rules.d.ts +53 -0
  424. package/lib/types/rules.d.ts.map +1 -0
  425. package/lib/types/validation.d.ts +5 -0
  426. package/lib/types/validation.d.ts.map +1 -0
  427. package/lib/utils/is-plain-object.d.ts +2 -0
  428. package/lib/utils/is-plain-object.d.ts.map +1 -0
  429. package/lib/utils/is-plain-object.js +5 -0
  430. package/lib/utils/is-plain-object.js.map +1 -0
  431. package/package.json +58 -61
  432. package/presets/google/PROVENANCE.md +217 -221
  433. package/presets/inclusive-language/PROVENANCE.md +20 -19
  434. package/presets/microsoft/PROVENANCE.md +242 -243
  435. package/presets/plain-language/PROVENANCE.md +66 -60
  436. package/presets/technical-english/PROVENANCE.md +5 -5
  437. package/skills/recheck-config/SKILL.md +70 -20
  438. package/skills/recheck-lint/SKILL.md +37 -13
  439. package/dist/cli.d.ts +0 -3
  440. package/dist/cli.d.ts.map +0 -1
  441. package/dist/cli.js +0 -228
  442. package/dist/cli.js.map +0 -1
  443. package/dist/commands/baseline.d.ts +0 -10
  444. package/dist/commands/baseline.d.ts.map +0 -1
  445. package/dist/commands/baseline.js +0 -59
  446. package/dist/commands/baseline.js.map +0 -1
  447. package/dist/commands/markdoc-schema.d.ts +0 -17
  448. package/dist/commands/markdoc-schema.d.ts.map +0 -1
  449. package/dist/commands/markdoc-schema.js +0 -127
  450. package/dist/commands/markdoc-schema.js.map +0 -1
  451. package/dist/commands/readability.d.ts +0 -10
  452. package/dist/commands/readability.d.ts.map +0 -1
  453. package/dist/commands/readability.js +0 -90
  454. package/dist/commands/readability.js.map +0 -1
  455. package/dist/commands/run.d.ts +0 -21
  456. package/dist/commands/run.d.ts.map +0 -1
  457. package/dist/commands/run.js +0 -236
  458. package/dist/commands/run.js.map +0 -1
  459. package/dist/commands/validate.d.ts +0 -8
  460. package/dist/commands/validate.d.ts.map +0 -1
  461. package/dist/commands/validate.js +0 -43
  462. package/dist/commands/validate.js.map +0 -1
  463. package/dist/config/load.d.ts +0 -33
  464. package/dist/config/load.d.ts.map +0 -1
  465. package/dist/config/load.js +0 -98
  466. package/dist/config/load.js.map +0 -1
  467. package/dist/config/presets/api-descriptions.d.ts +0 -8
  468. package/dist/config/presets/api-descriptions.d.ts.map +0 -1
  469. package/dist/config/presets/api-descriptions.js +0 -24
  470. package/dist/config/presets/api-descriptions.js.map +0 -1
  471. package/dist/config/presets/google.d.ts +0 -3
  472. package/dist/config/presets/google.d.ts.map +0 -1
  473. package/dist/config/presets/google.js +0 -1671
  474. package/dist/config/presets/google.js.map +0 -1
  475. package/dist/config/presets/inclusive-language.d.ts +0 -3
  476. package/dist/config/presets/inclusive-language.d.ts.map +0 -1
  477. package/dist/config/presets/inclusive-language.js +0 -321
  478. package/dist/config/presets/inclusive-language.js.map +0 -1
  479. package/dist/config/presets/index.d.ts +0 -67
  480. package/dist/config/presets/index.d.ts.map +0 -1
  481. package/dist/config/presets/index.js +0 -141
  482. package/dist/config/presets/index.js.map +0 -1
  483. package/dist/config/presets/markdoc.d.ts +0 -21
  484. package/dist/config/presets/markdoc.d.ts.map +0 -1
  485. package/dist/config/presets/markdoc.js +0 -101
  486. package/dist/config/presets/markdoc.js.map +0 -1
  487. package/dist/config/presets/markdown-relaxed.d.ts +0 -3
  488. package/dist/config/presets/markdown-relaxed.d.ts.map +0 -1
  489. package/dist/config/presets/markdown-relaxed.js +0 -98
  490. package/dist/config/presets/markdown-relaxed.js.map +0 -1
  491. package/dist/config/presets/markdown.d.ts +0 -43
  492. package/dist/config/presets/markdown.d.ts.map +0 -1
  493. package/dist/config/presets/markdown.js +0 -132
  494. package/dist/config/presets/markdown.js.map +0 -1
  495. package/dist/config/presets/microsoft.d.ts +0 -3
  496. package/dist/config/presets/microsoft.d.ts.map +0 -1
  497. package/dist/config/presets/microsoft.js +0 -2268
  498. package/dist/config/presets/microsoft.js.map +0 -1
  499. package/dist/config/presets/minimal.d.ts +0 -3
  500. package/dist/config/presets/minimal.d.ts.map +0 -1
  501. package/dist/config/presets/minimal.js +0 -21
  502. package/dist/config/presets/minimal.js.map +0 -1
  503. package/dist/config/presets/plain-language.d.ts +0 -3
  504. package/dist/config/presets/plain-language.d.ts.map +0 -1
  505. package/dist/config/presets/plain-language.js +0 -351
  506. package/dist/config/presets/plain-language.js.map +0 -1
  507. package/dist/config/presets/prose.d.ts +0 -52
  508. package/dist/config/presets/prose.d.ts.map +0 -1
  509. package/dist/config/presets/prose.js +0 -138
  510. package/dist/config/presets/prose.js.map +0 -1
  511. package/dist/config/presets/technical-english.d.ts +0 -34
  512. package/dist/config/presets/technical-english.d.ts.map +0 -1
  513. package/dist/config/presets/technical-english.js +0 -79
  514. package/dist/config/presets/technical-english.js.map +0 -1
  515. package/dist/config/schema.d.ts +0 -226
  516. package/dist/config/schema.d.ts.map +0 -1
  517. package/dist/config/schema.js +0 -196
  518. package/dist/config/schema.js.map +0 -1
  519. package/dist/config/validate.d.ts +0 -22
  520. package/dist/config/validate.d.ts.map +0 -1
  521. package/dist/config/validate.js +0 -1296
  522. package/dist/config/validate.js.map +0 -1
  523. package/dist/core/auto-fix.d.ts.map +0 -1
  524. package/dist/core/auto-fix.js +0 -101
  525. package/dist/core/auto-fix.js.map +0 -1
  526. package/dist/core/baseline.d.ts +0 -49
  527. package/dist/core/baseline.d.ts.map +0 -1
  528. package/dist/core/baseline.js +0 -0
  529. package/dist/core/baseline.js.map +0 -1
  530. package/dist/core/case-preserve.d.ts +0 -46
  531. package/dist/core/case-preserve.d.ts.map +0 -1
  532. package/dist/core/case-preserve.js +0 -57
  533. package/dist/core/case-preserve.js.map +0 -1
  534. package/dist/core/directives.d.ts.map +0 -1
  535. package/dist/core/directives.js +0 -73
  536. package/dist/core/directives.js.map +0 -1
  537. package/dist/core/files.d.ts +0 -69
  538. package/dist/core/files.d.ts.map +0 -1
  539. package/dist/core/files.js +0 -260
  540. package/dist/core/files.js.map +0 -1
  541. package/dist/core/inline-code.d.ts +0 -87
  542. package/dist/core/inline-code.d.ts.map +0 -1
  543. package/dist/core/inline-code.js +0 -104
  544. package/dist/core/inline-code.js.map +0 -1
  545. package/dist/core/line-endings.d.ts +0 -32
  546. package/dist/core/line-endings.d.ts.map +0 -1
  547. package/dist/core/line-endings.js +0 -65
  548. package/dist/core/line-endings.js.map +0 -1
  549. package/dist/core/markdoc-tags.d.ts +0 -79
  550. package/dist/core/markdoc-tags.d.ts.map +0 -1
  551. package/dist/core/markdoc-tags.js +0 -131
  552. package/dist/core/markdoc-tags.js.map +0 -1
  553. package/dist/core/prose-extract.d.ts +0 -6
  554. package/dist/core/prose-extract.d.ts.map +0 -1
  555. package/dist/core/prose-extract.js +0 -79
  556. package/dist/core/prose-extract.js.map +0 -1
  557. package/dist/core/readability.d.ts +0 -17
  558. package/dist/core/readability.d.ts.map +0 -1
  559. package/dist/core/readability.js +0 -37
  560. package/dist/core/readability.js.map +0 -1
  561. package/dist/core/rule-filters.d.ts +0 -45
  562. package/dist/core/rule-filters.d.ts.map +0 -1
  563. package/dist/core/rule-filters.js +0 -118
  564. package/dist/core/rule-filters.js.map +0 -1
  565. package/dist/core/runner.d.ts +0 -99
  566. package/dist/core/runner.d.ts.map +0 -1
  567. package/dist/core/runner.js +0 -401
  568. package/dist/core/runner.js.map +0 -1
  569. package/dist/core/timing.d.ts +0 -24
  570. package/dist/core/timing.d.ts.map +0 -1
  571. package/dist/core/timing.js +0 -39
  572. package/dist/core/timing.js.map +0 -1
  573. package/dist/data/markdoc-realm-schema.d.ts.map +0 -1
  574. package/dist/data/markdoc-realm-schema.js +0 -798
  575. package/dist/data/markdoc-realm-schema.js.map +0 -1
  576. package/dist/data/proper-nouns.d.ts.map +0 -1
  577. package/dist/data/proper-nouns.js +0 -47
  578. package/dist/data/proper-nouns.js.map +0 -1
  579. package/dist/data/realm-front-matter-schema.d.ts +0 -28
  580. package/dist/data/realm-front-matter-schema.d.ts.map +0 -1
  581. package/dist/data/realm-front-matter-schema.js +0 -73
  582. package/dist/data/realm-front-matter-schema.js.map +0 -1
  583. package/dist/index.d.ts +0 -90
  584. package/dist/index.d.ts.map +0 -1
  585. package/dist/index.js +0 -152
  586. package/dist/index.js.map +0 -1
  587. package/dist/metrics/formulas.d.ts +0 -17
  588. package/dist/metrics/formulas.d.ts.map +0 -1
  589. package/dist/metrics/formulas.js +0 -70
  590. package/dist/metrics/formulas.js.map +0 -1
  591. package/dist/metrics/statistics.d.ts +0 -27
  592. package/dist/metrics/statistics.d.ts.map +0 -1
  593. package/dist/metrics/statistics.js +0 -56
  594. package/dist/metrics/statistics.js.map +0 -1
  595. package/dist/parser/index.d.ts +0 -19
  596. package/dist/parser/index.d.ts.map +0 -1
  597. package/dist/parser/index.js +0 -174
  598. package/dist/parser/index.js.map +0 -1
  599. package/dist/parser/markdoc/extract-statics.d.ts +0 -45
  600. package/dist/parser/markdoc/extract-statics.d.ts.map +0 -1
  601. package/dist/parser/markdoc/extract-statics.js +0 -139
  602. package/dist/parser/markdoc/extract-statics.js.map +0 -1
  603. package/dist/parser/markdoc/pairing.d.ts +0 -63
  604. package/dist/parser/markdoc/pairing.d.ts.map +0 -1
  605. package/dist/parser/markdoc/pairing.js +0 -94
  606. package/dist/parser/markdoc/pairing.js.map +0 -1
  607. package/dist/parser/markdoc/schema.d.ts +0 -85
  608. package/dist/parser/markdoc/schema.d.ts.map +0 -1
  609. package/dist/parser/markdoc/schema.js +0 -86
  610. package/dist/parser/markdoc/schema.js.map +0 -1
  611. package/dist/parser/markdoc/span.d.ts +0 -64
  612. package/dist/parser/markdoc/span.d.ts.map +0 -1
  613. package/dist/parser/markdoc/span.js +0 -729
  614. package/dist/parser/markdoc/span.js.map +0 -1
  615. package/dist/parser/markdoc/structure.d.ts +0 -28
  616. package/dist/parser/markdoc/structure.d.ts.map +0 -1
  617. package/dist/parser/markdoc/structure.js +0 -153
  618. package/dist/parser/markdoc/structure.js.map +0 -1
  619. package/dist/parser/markdoc/syntax.d.ts +0 -44
  620. package/dist/parser/markdoc/syntax.d.ts.map +0 -1
  621. package/dist/parser/markdoc/syntax.js +0 -317
  622. package/dist/parser/markdoc/syntax.js.map +0 -1
  623. package/dist/parser/types.d.ts.map +0 -1
  624. package/dist/reporter/fixes.d.ts +0 -3
  625. package/dist/reporter/fixes.d.ts.map +0 -1
  626. package/dist/reporter/fixes.js +0 -41
  627. package/dist/reporter/fixes.js.map +0 -1
  628. package/dist/reporter/formats/github-actions.d.ts +0 -6
  629. package/dist/reporter/formats/github-actions.d.ts.map +0 -1
  630. package/dist/reporter/formats/github-actions.js +0 -20
  631. package/dist/reporter/formats/github-actions.js.map +0 -1
  632. package/dist/reporter/formats/json.d.ts +0 -10
  633. package/dist/reporter/formats/json.d.ts.map +0 -1
  634. package/dist/reporter/formats/json.js +0 -25
  635. package/dist/reporter/formats/json.js.map +0 -1
  636. package/dist/reporter/formats/sarif.d.ts +0 -10
  637. package/dist/reporter/formats/sarif.d.ts.map +0 -1
  638. package/dist/reporter/formats/sarif.js +0 -66
  639. package/dist/reporter/formats/sarif.js.map +0 -1
  640. package/dist/reporter/formats/table.d.ts +0 -6
  641. package/dist/reporter/formats/table.d.ts.map +0 -1
  642. package/dist/reporter/formats/table.js +0 -43
  643. package/dist/reporter/formats/table.js.map +0 -1
  644. package/dist/reporter/index.d.ts +0 -10
  645. package/dist/reporter/index.d.ts.map +0 -1
  646. package/dist/reporter/index.js +0 -42
  647. package/dist/reporter/index.js.map +0 -1
  648. package/dist/reporter/prioritize-problems.d.ts +0 -7
  649. package/dist/reporter/prioritize-problems.d.ts.map +0 -1
  650. package/dist/reporter/prioritize-problems.js +0 -29
  651. package/dist/reporter/prioritize-problems.js.map +0 -1
  652. package/dist/reporter/statistics.d.ts +0 -10
  653. package/dist/reporter/statistics.d.ts.map +0 -1
  654. package/dist/reporter/statistics.js +0 -52
  655. package/dist/reporter/statistics.js.map +0 -1
  656. package/dist/reporter/summary.d.ts +0 -10
  657. package/dist/reporter/summary.d.ts.map +0 -1
  658. package/dist/reporter/summary.js +0 -49
  659. package/dist/reporter/summary.js.map +0 -1
  660. package/dist/rules/registry.d.ts +0 -15
  661. package/dist/rules/registry.d.ts.map +0 -1
  662. package/dist/rules/registry.js +0 -81
  663. package/dist/rules/registry.js.map +0 -1
  664. package/dist/rules/scope/capitalization.d.ts.map +0 -1
  665. package/dist/rules/scope/capitalization.js +0 -164
  666. package/dist/rules/scope/capitalization.js.map +0 -1
  667. package/dist/rules/scope/conditional.d.ts.map +0 -1
  668. package/dist/rules/scope/conditional.js +0 -112
  669. package/dist/rules/scope/conditional.js.map +0 -1
  670. package/dist/rules/scope/consistency.d.ts.map +0 -1
  671. package/dist/rules/scope/consistency.js +0 -179
  672. package/dist/rules/scope/consistency.js.map +0 -1
  673. package/dist/rules/scope/length.d.ts.map +0 -1
  674. package/dist/rules/scope/length.js +0 -73
  675. package/dist/rules/scope/length.js.map +0 -1
  676. package/dist/rules/scope/max-image-size.d.ts.map +0 -1
  677. package/dist/rules/scope/max-image-size.js +0 -65
  678. package/dist/rules/scope/max-image-size.js.map +0 -1
  679. package/dist/rules/scope/metric.d.ts +0 -5
  680. package/dist/rules/scope/metric.d.ts.map +0 -1
  681. package/dist/rules/scope/metric.js +0 -59
  682. package/dist/rules/scope/metric.js.map +0 -1
  683. package/dist/rules/scope/occurrence.d.ts.map +0 -1
  684. package/dist/rules/scope/occurrence.js +0 -48
  685. package/dist/rules/scope/occurrence.js.map +0 -1
  686. package/dist/rules/scope/pattern.d.ts.map +0 -1
  687. package/dist/rules/scope/pattern.js +0 -75
  688. package/dist/rules/scope/pattern.js.map +0 -1
  689. package/dist/rules/scope/repetition.d.ts.map +0 -1
  690. package/dist/rules/scope/repetition.js +0 -139
  691. package/dist/rules/scope/repetition.js.map +0 -1
  692. package/dist/rules/scope/semantic-line-breaks.d.ts.map +0 -1
  693. package/dist/rules/scope/semantic-line-breaks.js +0 -236
  694. package/dist/rules/scope/semantic-line-breaks.js.map +0 -1
  695. package/dist/rules/scope/spelling.d.ts +0 -27
  696. package/dist/rules/scope/spelling.d.ts.map +0 -1
  697. package/dist/rules/scope/spelling.js +0 -227
  698. package/dist/rules/scope/spelling.js.map +0 -1
  699. package/dist/rules/scope/swap.d.ts.map +0 -1
  700. package/dist/rules/scope/swap.js +0 -149
  701. package/dist/rules/scope/swap.js.map +0 -1
  702. package/dist/rules/scope/title-case.d.ts +0 -46
  703. package/dist/rules/scope/title-case.d.ts.map +0 -1
  704. package/dist/rules/scope/title-case.js +0 -301
  705. package/dist/rules/scope/title-case.js.map +0 -1
  706. package/dist/rules/token/blanks-around-fences.d.ts.map +0 -1
  707. package/dist/rules/token/blanks-around-fences.js.map +0 -1
  708. package/dist/rules/token/blanks-around-headings.d.ts.map +0 -1
  709. package/dist/rules/token/blanks-around-headings.js +0 -108
  710. package/dist/rules/token/blanks-around-headings.js.map +0 -1
  711. package/dist/rules/token/blanks-around-lists.d.ts.map +0 -1
  712. package/dist/rules/token/blanks-around-lists.js +0 -56
  713. package/dist/rules/token/blanks-around-lists.js.map +0 -1
  714. package/dist/rules/token/blanks-around-tables.d.ts.map +0 -1
  715. package/dist/rules/token/blanks-around-tables.js +0 -42
  716. package/dist/rules/token/blanks-around-tables.js.map +0 -1
  717. package/dist/rules/token/code-block-style.d.ts.map +0 -1
  718. package/dist/rules/token/code-block-style.js.map +0 -1
  719. package/dist/rules/token/code-fence-style.d.ts.map +0 -1
  720. package/dist/rules/token/code-fence-style.js.map +0 -1
  721. package/dist/rules/token/commands-show-output.d.ts.map +0 -1
  722. package/dist/rules/token/commands-show-output.js.map +0 -1
  723. package/dist/rules/token/descriptive-link-text.d.ts.map +0 -1
  724. package/dist/rules/token/descriptive-link-text.js +0 -53
  725. package/dist/rules/token/descriptive-link-text.js.map +0 -1
  726. package/dist/rules/token/fenced-code-language.d.ts.map +0 -1
  727. package/dist/rules/token/fenced-code-language.js.map +0 -1
  728. package/dist/rules/token/first-line-h1.d.ts.map +0 -1
  729. package/dist/rules/token/first-line-h1.js +0 -107
  730. package/dist/rules/token/first-line-h1.js.map +0 -1
  731. package/dist/rules/token/front-matter.d.ts.map +0 -1
  732. package/dist/rules/token/front-matter.js +0 -177
  733. package/dist/rules/token/front-matter.js.map +0 -1
  734. package/dist/rules/token/heading-increment.d.ts.map +0 -1
  735. package/dist/rules/token/heading-increment.js +0 -27
  736. package/dist/rules/token/heading-increment.js.map +0 -1
  737. package/dist/rules/token/heading-start-left.d.ts.map +0 -1
  738. package/dist/rules/token/heading-start-left.js.map +0 -1
  739. package/dist/rules/token/heading-style.d.ts.map +0 -1
  740. package/dist/rules/token/heading-style.js.map +0 -1
  741. package/dist/rules/token/helpers.d.ts +0 -313
  742. package/dist/rules/token/helpers.d.ts.map +0 -1
  743. package/dist/rules/token/helpers.js +0 -746
  744. package/dist/rules/token/helpers.js.map +0 -1
  745. package/dist/rules/token/hr-style.d.ts.map +0 -1
  746. package/dist/rules/token/hr-style.js.map +0 -1
  747. package/dist/rules/token/index.d.ts +0 -76
  748. package/dist/rules/token/index.d.ts.map +0 -1
  749. package/dist/rules/token/index.js +0 -229
  750. package/dist/rules/token/index.js.map +0 -1
  751. package/dist/rules/token/line-length.d.ts.map +0 -1
  752. package/dist/rules/token/line-length.js +0 -120
  753. package/dist/rules/token/line-length.js.map +0 -1
  754. package/dist/rules/token/link-fragments.d.ts.map +0 -1
  755. package/dist/rules/token/link-fragments.js +0 -393
  756. package/dist/rules/token/link-fragments.js.map +0 -1
  757. package/dist/rules/token/link-image-reference-definitions.d.ts.map +0 -1
  758. package/dist/rules/token/link-image-reference-definitions.js.map +0 -1
  759. package/dist/rules/token/link-image-style.d.ts.map +0 -1
  760. package/dist/rules/token/link-image-style.js +0 -131
  761. package/dist/rules/token/link-image-style.js.map +0 -1
  762. package/dist/rules/token/list-indent.d.ts.map +0 -1
  763. package/dist/rules/token/list-indent.js.map +0 -1
  764. package/dist/rules/token/list-length.d.ts.map +0 -1
  765. package/dist/rules/token/list-length.js +0 -55
  766. package/dist/rules/token/list-length.js.map +0 -1
  767. package/dist/rules/token/list-marker-space.d.ts.map +0 -1
  768. package/dist/rules/token/list-marker-space.js.map +0 -1
  769. package/dist/rules/token/markdoc-attributes.d.ts.map +0 -1
  770. package/dist/rules/token/markdoc-attributes.js +0 -269
  771. package/dist/rules/token/markdoc-attributes.js.map +0 -1
  772. package/dist/rules/token/markdoc-pairing.d.ts.map +0 -1
  773. package/dist/rules/token/markdoc-pairing.js +0 -73
  774. package/dist/rules/token/markdoc-pairing.js.map +0 -1
  775. package/dist/rules/token/markdoc-syntax.d.ts.map +0 -1
  776. package/dist/rules/token/markdoc-syntax.js +0 -119
  777. package/dist/rules/token/markdoc-syntax.js.map +0 -1
  778. package/dist/rules/token/markdoc-unknown-tag.d.ts.map +0 -1
  779. package/dist/rules/token/markdoc-unknown-tag.js +0 -64
  780. package/dist/rules/token/markdoc-unknown-tag.js.map +0 -1
  781. package/dist/rules/token/no-alt-text.d.ts.map +0 -1
  782. package/dist/rules/token/no-alt-text.js +0 -47
  783. package/dist/rules/token/no-alt-text.js.map +0 -1
  784. package/dist/rules/token/no-bare-urls.d.ts.map +0 -1
  785. package/dist/rules/token/no-bare-urls.js +0 -88
  786. package/dist/rules/token/no-bare-urls.js.map +0 -1
  787. package/dist/rules/token/no-blanks-blockquote.d.ts.map +0 -1
  788. package/dist/rules/token/no-blanks-blockquote.js.map +0 -1
  789. package/dist/rules/token/no-duplicate-heading.d.ts.map +0 -1
  790. package/dist/rules/token/no-duplicate-heading.js +0 -101
  791. package/dist/rules/token/no-duplicate-heading.js.map +0 -1
  792. package/dist/rules/token/no-duplicate-link-destinations.d.ts.map +0 -1
  793. package/dist/rules/token/no-duplicate-link-destinations.js +0 -65
  794. package/dist/rules/token/no-duplicate-link-destinations.js.map +0 -1
  795. package/dist/rules/token/no-emphasis-as-heading.d.ts.map +0 -1
  796. package/dist/rules/token/no-emphasis-as-heading.js +0 -44
  797. package/dist/rules/token/no-emphasis-as-heading.js.map +0 -1
  798. package/dist/rules/token/no-empty-headings.d.ts.map +0 -1
  799. package/dist/rules/token/no-empty-headings.js +0 -28
  800. package/dist/rules/token/no-empty-headings.js.map +0 -1
  801. package/dist/rules/token/no-empty-links.d.ts.map +0 -1
  802. package/dist/rules/token/no-empty-links.js.map +0 -1
  803. package/dist/rules/token/no-hard-tabs.d.ts.map +0 -1
  804. package/dist/rules/token/no-hard-tabs.js.map +0 -1
  805. package/dist/rules/token/no-inline-html.d.ts.map +0 -1
  806. package/dist/rules/token/no-inline-html.js +0 -45
  807. package/dist/rules/token/no-inline-html.js.map +0 -1
  808. package/dist/rules/token/no-multiple-blanks.d.ts.map +0 -1
  809. package/dist/rules/token/no-multiple-blanks.js.map +0 -1
  810. package/dist/rules/token/no-multiple-space-atx.d.ts +0 -13
  811. package/dist/rules/token/no-multiple-space-atx.d.ts.map +0 -1
  812. package/dist/rules/token/no-multiple-space-atx.js +0 -50
  813. package/dist/rules/token/no-multiple-space-atx.js.map +0 -1
  814. package/dist/rules/token/no-multiple-space-closed-atx.d.ts.map +0 -1
  815. package/dist/rules/token/no-multiple-space-closed-atx.js.map +0 -1
  816. package/dist/rules/token/no-reversed-links.d.ts.map +0 -1
  817. package/dist/rules/token/no-reversed-links.js.map +0 -1
  818. package/dist/rules/token/no-space-in-code.d.ts.map +0 -1
  819. package/dist/rules/token/no-space-in-code.js.map +0 -1
  820. package/dist/rules/token/no-space-in-emphasis.d.ts.map +0 -1
  821. package/dist/rules/token/no-space-in-emphasis.js +0 -79
  822. package/dist/rules/token/no-space-in-emphasis.js.map +0 -1
  823. package/dist/rules/token/no-space-in-links.d.ts.map +0 -1
  824. package/dist/rules/token/no-space-in-links.js.map +0 -1
  825. package/dist/rules/token/no-trailing-punctuation.d.ts.map +0 -1
  826. package/dist/rules/token/no-trailing-punctuation.js.map +0 -1
  827. package/dist/rules/token/no-trailing-spaces.d.ts.map +0 -1
  828. package/dist/rules/token/no-trailing-spaces.js.map +0 -1
  829. package/dist/rules/token/ol-prefix.d.ts.map +0 -1
  830. package/dist/rules/token/ol-prefix.js.map +0 -1
  831. package/dist/rules/token/proper-names.d.ts.map +0 -1
  832. package/dist/rules/token/proper-names.js +0 -93
  833. package/dist/rules/token/proper-names.js.map +0 -1
  834. package/dist/rules/token/reference-links-images.d.ts.map +0 -1
  835. package/dist/rules/token/reference-links-images.js.map +0 -1
  836. package/dist/rules/token/required-headings.d.ts.map +0 -1
  837. package/dist/rules/token/required-headings.js +0 -83
  838. package/dist/rules/token/required-headings.js.map +0 -1
  839. package/dist/rules/token/single-h1.d.ts.map +0 -1
  840. package/dist/rules/token/single-h1.js +0 -56
  841. package/dist/rules/token/single-h1.js.map +0 -1
  842. package/dist/rules/token/table-column-count.d.ts.map +0 -1
  843. package/dist/rules/token/table-column-count.js.map +0 -1
  844. package/dist/rules/token/table-column-style.d.ts.map +0 -1
  845. package/dist/rules/token/table-column-style.js +0 -179
  846. package/dist/rules/token/table-column-style.js.map +0 -1
  847. package/dist/rules/token/table-pipe-style.d.ts.map +0 -1
  848. package/dist/rules/token/table-pipe-style.js.map +0 -1
  849. package/dist/rules/token/ul-indent.d.ts.map +0 -1
  850. package/dist/rules/token/ul-indent.js.map +0 -1
  851. package/dist/rules/token/ul-style.d.ts.map +0 -1
  852. package/dist/rules/token/ul-style.js +0 -80
  853. package/dist/rules/token/ul-style.js.map +0 -1
  854. package/dist/rules/types.d.ts +0 -83
  855. package/dist/rules/types.d.ts.map +0 -1
  856. package/dist/rules/utils.d.ts +0 -31
  857. package/dist/rules/utils.d.ts.map +0 -1
  858. package/dist/rules/utils.js +0 -90
  859. package/dist/rules/utils.js.map +0 -1
  860. package/dist/scopes/extractor.d.ts +0 -7
  861. package/dist/scopes/extractor.d.ts.map +0 -1
  862. package/dist/scopes/extractor.js +0 -536
  863. package/dist/scopes/extractor.js.map +0 -1
  864. package/dist/scopes/selector.d.ts +0 -51
  865. package/dist/scopes/selector.d.ts.map +0 -1
  866. package/dist/scopes/selector.js +0 -121
  867. package/dist/scopes/selector.js.map +0 -1
  868. package/dist/scopes/sentences.d.ts +0 -15
  869. package/dist/scopes/sentences.d.ts.map +0 -1
  870. package/dist/scopes/sentences.js +0 -202
  871. package/dist/scopes/sentences.js.map +0 -1
  872. package/dist/scopes/types.d.ts +0 -46
  873. package/dist/scopes/types.d.ts.map +0 -1
  874. package/dist/scopes/vocabulary.d.ts +0 -16
  875. package/dist/scopes/vocabulary.d.ts.map +0 -1
  876. package/dist/scopes/vocabulary.js +0 -70
  877. package/dist/scopes/vocabulary.js.map +0 -1
  878. package/dist/types/assertions.d.ts +0 -119
  879. package/dist/types/assertions.d.ts.map +0 -1
  880. package/dist/types/reporting.d.ts +0 -32
  881. package/dist/types/reporting.d.ts.map +0 -1
  882. package/dist/types/rules.d.ts +0 -41
  883. package/dist/types/rules.d.ts.map +0 -1
  884. package/dist/types/validation.d.ts +0 -6
  885. package/dist/types/validation.d.ts.map +0 -1
  886. /package/{dist → lib}/core/auto-fix.d.ts +0 -0
  887. /package/{dist → lib}/core/directives.d.ts +0 -0
  888. /package/{dist → lib}/data/markdoc-realm-schema.d.ts +0 -0
  889. /package/{dist → lib}/data/proper-nouns.d.ts +0 -0
  890. /package/{dist → lib}/metrics/index.d.ts +0 -0
  891. /package/{dist → lib}/metrics/index.d.ts.map +0 -0
  892. /package/{dist → lib}/metrics/index.js +0 -0
  893. /package/{dist → lib}/metrics/index.js.map +0 -0
  894. /package/{dist → lib}/parser/types.d.ts +0 -0
  895. /package/{dist → lib}/parser/types.js +0 -0
  896. /package/{dist → lib}/parser/types.js.map +0 -0
  897. /package/{dist → lib}/rules/scope/capitalization.d.ts +0 -0
  898. /package/{dist → lib}/rules/scope/conditional.d.ts +0 -0
  899. /package/{dist → lib}/rules/scope/consistency.d.ts +0 -0
  900. /package/{dist → lib}/rules/scope/length.d.ts +0 -0
  901. /package/{dist → lib}/rules/scope/max-image-size.d.ts +0 -0
  902. /package/{dist → lib}/rules/scope/occurrence.d.ts +0 -0
  903. /package/{dist → lib}/rules/scope/pattern.d.ts +0 -0
  904. /package/{dist → lib}/rules/scope/repetition.d.ts +0 -0
  905. /package/{dist → lib}/rules/scope/semantic-line-breaks.d.ts +0 -0
  906. /package/{dist → lib}/rules/scope/swap.d.ts +0 -0
  907. /package/{dist → lib}/rules/token/blanks-around-fences.d.ts +0 -0
  908. /package/{dist → lib}/rules/token/blanks-around-fences.js +0 -0
  909. /package/{dist → lib}/rules/token/blanks-around-headings.d.ts +0 -0
  910. /package/{dist → lib}/rules/token/blanks-around-lists.d.ts +0 -0
  911. /package/{dist → lib}/rules/token/blanks-around-tables.d.ts +0 -0
  912. /package/{dist → lib}/rules/token/code-block-style.d.ts +0 -0
  913. /package/{dist → lib}/rules/token/code-block-style.js +0 -0
  914. /package/{dist → lib}/rules/token/code-fence-style.d.ts +0 -0
  915. /package/{dist → lib}/rules/token/code-fence-style.js +0 -0
  916. /package/{dist → lib}/rules/token/commands-show-output.d.ts +0 -0
  917. /package/{dist → lib}/rules/token/commands-show-output.js +0 -0
  918. /package/{dist → lib}/rules/token/descriptive-link-text.d.ts +0 -0
  919. /package/{dist → lib}/rules/token/emphasis-style.d.ts +0 -0
  920. /package/{dist → lib}/rules/token/emphasis-style.d.ts.map +0 -0
  921. /package/{dist → lib}/rules/token/emphasis-style.js +0 -0
  922. /package/{dist → lib}/rules/token/emphasis-style.js.map +0 -0
  923. /package/{dist → lib}/rules/token/fenced-code-language.d.ts +0 -0
  924. /package/{dist → lib}/rules/token/fenced-code-language.js +0 -0
  925. /package/{dist → lib}/rules/token/first-line-h1.d.ts +0 -0
  926. /package/{dist → lib}/rules/token/front-matter.d.ts +0 -0
  927. /package/{dist → lib}/rules/token/heading-increment.d.ts +0 -0
  928. /package/{dist → lib}/rules/token/heading-start-left.d.ts +0 -0
  929. /package/{dist → lib}/rules/token/heading-start-left.js +0 -0
  930. /package/{dist → lib}/rules/token/heading-style.d.ts +0 -0
  931. /package/{dist → lib}/rules/token/heading-style.js +0 -0
  932. /package/{dist → lib}/rules/token/hr-style.d.ts +0 -0
  933. /package/{dist → lib}/rules/token/hr-style.js +0 -0
  934. /package/{dist → lib}/rules/token/line-length.d.ts +0 -0
  935. /package/{dist → lib}/rules/token/link-fragments.d.ts +0 -0
  936. /package/{dist → lib}/rules/token/link-image-reference-definitions.d.ts +0 -0
  937. /package/{dist → lib}/rules/token/link-image-reference-definitions.js +0 -0
  938. /package/{dist → lib}/rules/token/link-image-style.d.ts +0 -0
  939. /package/{dist → lib}/rules/token/list-indent.d.ts +0 -0
  940. /package/{dist → lib}/rules/token/list-indent.js +0 -0
  941. /package/{dist → lib}/rules/token/list-length.d.ts +0 -0
  942. /package/{dist → lib}/rules/token/list-marker-space.d.ts +0 -0
  943. /package/{dist → lib}/rules/token/list-marker-space.js +0 -0
  944. /package/{dist → lib}/rules/token/markdoc-attributes.d.ts +0 -0
  945. /package/{dist → lib}/rules/token/markdoc-pairing.d.ts +0 -0
  946. /package/{dist → lib}/rules/token/markdoc-syntax.d.ts +0 -0
  947. /package/{dist → lib}/rules/token/markdoc-unknown-tag.d.ts +0 -0
  948. /package/{dist → lib}/rules/token/messages.d.ts +0 -0
  949. /package/{dist → lib}/rules/token/messages.d.ts.map +0 -0
  950. /package/{dist → lib}/rules/token/messages.js +0 -0
  951. /package/{dist → lib}/rules/token/messages.js.map +0 -0
  952. /package/{dist → lib}/rules/token/no-alt-text.d.ts +0 -0
  953. /package/{dist → lib}/rules/token/no-bare-urls.d.ts +0 -0
  954. /package/{dist → lib}/rules/token/no-blanks-blockquote.d.ts +0 -0
  955. /package/{dist → lib}/rules/token/no-blanks-blockquote.js +0 -0
  956. /package/{dist → lib}/rules/token/no-duplicate-heading.d.ts +0 -0
  957. /package/{dist → lib}/rules/token/no-duplicate-link-destinations.d.ts +0 -0
  958. /package/{dist → lib}/rules/token/no-emphasis-as-heading.d.ts +0 -0
  959. /package/{dist → lib}/rules/token/no-empty-headings.d.ts +0 -0
  960. /package/{dist → lib}/rules/token/no-empty-links.d.ts +0 -0
  961. /package/{dist → lib}/rules/token/no-empty-links.js +0 -0
  962. /package/{dist → lib}/rules/token/no-hard-tabs.d.ts +0 -0
  963. /package/{dist → lib}/rules/token/no-hard-tabs.js +0 -0
  964. /package/{dist → lib}/rules/token/no-inline-html.d.ts +0 -0
  965. /package/{dist → lib}/rules/token/no-missing-space-atx.d.ts +0 -0
  966. /package/{dist → lib}/rules/token/no-missing-space-atx.d.ts.map +0 -0
  967. /package/{dist → lib}/rules/token/no-missing-space-atx.js +0 -0
  968. /package/{dist → lib}/rules/token/no-missing-space-atx.js.map +0 -0
  969. /package/{dist → lib}/rules/token/no-missing-space-closed-atx.d.ts +0 -0
  970. /package/{dist → lib}/rules/token/no-missing-space-closed-atx.d.ts.map +0 -0
  971. /package/{dist → lib}/rules/token/no-missing-space-closed-atx.js +0 -0
  972. /package/{dist → lib}/rules/token/no-missing-space-closed-atx.js.map +0 -0
  973. /package/{dist → lib}/rules/token/no-multiple-blanks.d.ts +0 -0
  974. /package/{dist → lib}/rules/token/no-multiple-blanks.js +0 -0
  975. /package/{dist → lib}/rules/token/no-multiple-space-blockquote.d.ts +0 -0
  976. /package/{dist → lib}/rules/token/no-multiple-space-blockquote.d.ts.map +0 -0
  977. /package/{dist → lib}/rules/token/no-multiple-space-blockquote.js +0 -0
  978. /package/{dist → lib}/rules/token/no-multiple-space-blockquote.js.map +0 -0
  979. /package/{dist → lib}/rules/token/no-multiple-space-closed-atx.d.ts +0 -0
  980. /package/{dist → lib}/rules/token/no-multiple-space-closed-atx.js +0 -0
  981. /package/{dist → lib}/rules/token/no-reversed-links.d.ts +0 -0
  982. /package/{dist → lib}/rules/token/no-reversed-links.js +0 -0
  983. /package/{dist → lib}/rules/token/no-space-in-code.d.ts +0 -0
  984. /package/{dist → lib}/rules/token/no-space-in-code.js +0 -0
  985. /package/{dist → lib}/rules/token/no-space-in-emphasis.d.ts +0 -0
  986. /package/{dist → lib}/rules/token/no-space-in-links.d.ts +0 -0
  987. /package/{dist → lib}/rules/token/no-space-in-links.js +0 -0
  988. /package/{dist → lib}/rules/token/no-trailing-punctuation.d.ts +0 -0
  989. /package/{dist → lib}/rules/token/no-trailing-punctuation.js +0 -0
  990. /package/{dist → lib}/rules/token/no-trailing-spaces.d.ts +0 -0
  991. /package/{dist → lib}/rules/token/no-trailing-spaces.js +0 -0
  992. /package/{dist → lib}/rules/token/ol-prefix.d.ts +0 -0
  993. /package/{dist → lib}/rules/token/ol-prefix.js +0 -0
  994. /package/{dist → lib}/rules/token/proper-names.d.ts +0 -0
  995. /package/{dist → lib}/rules/token/reference-links-images.d.ts +0 -0
  996. /package/{dist → lib}/rules/token/reference-links-images.js +0 -0
  997. /package/{dist → lib}/rules/token/required-headings.d.ts +0 -0
  998. /package/{dist → lib}/rules/token/single-h1.d.ts +0 -0
  999. /package/{dist → lib}/rules/token/single-trailing-newline.d.ts +0 -0
  1000. /package/{dist → lib}/rules/token/single-trailing-newline.d.ts.map +0 -0
  1001. /package/{dist → lib}/rules/token/single-trailing-newline.js +0 -0
  1002. /package/{dist → lib}/rules/token/single-trailing-newline.js.map +0 -0
  1003. /package/{dist → lib}/rules/token/strong-style.d.ts +0 -0
  1004. /package/{dist → lib}/rules/token/strong-style.d.ts.map +0 -0
  1005. /package/{dist → lib}/rules/token/strong-style.js +0 -0
  1006. /package/{dist → lib}/rules/token/strong-style.js.map +0 -0
  1007. /package/{dist → lib}/rules/token/table-column-count.d.ts +0 -0
  1008. /package/{dist → lib}/rules/token/table-column-count.js +0 -0
  1009. /package/{dist → lib}/rules/token/table-column-style.d.ts +0 -0
  1010. /package/{dist → lib}/rules/token/table-pipe-style.d.ts +0 -0
  1011. /package/{dist → lib}/rules/token/table-pipe-style.js +0 -0
  1012. /package/{dist → lib}/rules/token/ul-indent.d.ts +0 -0
  1013. /package/{dist → lib}/rules/token/ul-indent.js +0 -0
  1014. /package/{dist → lib}/rules/token/ul-style.d.ts +0 -0
  1015. /package/{dist → lib}/rules/types.js +0 -0
  1016. /package/{dist → lib}/rules/types.js.map +0 -0
  1017. /package/{dist → lib}/scopes/types.js +0 -0
  1018. /package/{dist → lib}/scopes/types.js.map +0 -0
  1019. /package/{dist → lib}/types/assertions.js +0 -0
  1020. /package/{dist → lib}/types/assertions.js.map +0 -0
  1021. /package/{dist → lib}/types/index.d.ts +0 -0
  1022. /package/{dist → lib}/types/index.d.ts.map +0 -0
  1023. /package/{dist → lib}/types/index.js +0 -0
  1024. /package/{dist → lib}/types/index.js.map +0 -0
  1025. /package/{dist → lib}/types/problems.d.ts +0 -0
  1026. /package/{dist → lib}/types/problems.d.ts.map +0 -0
  1027. /package/{dist → lib}/types/problems.js +0 -0
  1028. /package/{dist → lib}/types/problems.js.map +0 -0
  1029. /package/{dist → lib}/types/reporting.js +0 -0
  1030. /package/{dist → lib}/types/reporting.js.map +0 -0
  1031. /package/{dist → lib}/types/rules.js +0 -0
  1032. /package/{dist → lib}/types/rules.js.map +0 -0
  1033. /package/{dist → lib}/types/validation.js +0 -0
  1034. /package/{dist → lib}/types/validation.js.map +0 -0
@@ -0,0 +1,111 @@
1
+ import { applyMatchCase } from '../../core/case-preserve.js';
2
+ import { overlapsAnyRange } from '../../core/inline-code.js';
3
+ import { offsetToLineColumn } from '../../core/line-endings.js';
4
+ import { nonProseRanges } from '../utils.js';
5
+ // When matches from different pairs overlap, keep the longest one (then the
6
+ // earliest). Otherwise 'he/she' and the keys 'he' and 'she' would all match,
7
+ // and --fix would turn 'he/she' into 'they/they'.
8
+ function dropOverlappedShorterMatches(raw) {
9
+ const byPriority = [...raw].sort((a, b) => b.match.length - a.match.length || a.index - b.index);
10
+ const kept = [];
11
+ for (const candidate of byPriority) {
12
+ const overlapsKept = kept.some((winner) => candidate.index < winner.index + winner.match.length &&
13
+ winner.index < candidate.index + candidate.match.length);
14
+ if (!overlapsKept)
15
+ kept.push(candidate);
16
+ }
17
+ return kept.sort((a, b) => a.index - b.index);
18
+ }
19
+ // Matches that overlap code spans or markdoc tags (`excluded`) are skipped, so
20
+ // `git checkout master` is not flagged. The regex runs on the original content
21
+ // because a key like `[^\s,]+` could match through masked text.
22
+ function findMatches(content, excluded, options) {
23
+ const raw = [];
24
+ const pairs = options.pairs || {};
25
+ for (const [from, to] of Object.entries(pairs)) {
26
+ // An empty key would match at every position, so skip it.
27
+ if (String(from).length === 0)
28
+ continue;
29
+ const escaped = options.keysAreRegex
30
+ ? from
31
+ : String(from).replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
32
+ const pattern = options.wordBoundary ? `\\b${escaped}\\b` : escaped;
33
+ const flags = options.ignoreCase ? 'gi' : 'g';
34
+ let regex;
35
+ try {
36
+ regex = new RegExp(pattern, flags);
37
+ }
38
+ catch {
39
+ // Ignore an invalid regex key; the other pairs still run.
40
+ continue;
41
+ }
42
+ let match;
43
+ while ((match = regex.exec(content)) !== null) {
44
+ // Skip empty matches (e.g. `a*`) and advance lastIndex so the loop does not hang.
45
+ if (match[0].length === 0) {
46
+ regex.lastIndex++;
47
+ continue;
48
+ }
49
+ const matchEnd = match.index + match[0].length;
50
+ if (overlapsAnyRange(match.index, matchEnd, excluded)) {
51
+ continue;
52
+ }
53
+ raw.push({
54
+ index: match.index,
55
+ match: content.slice(match.index, match.index + match[0].length),
56
+ replacement: String(to),
57
+ });
58
+ }
59
+ }
60
+ return dropOverlappedShorterMatches(raw).map(({ index, match, replacement }) => {
61
+ // offsetToLineColumn also handles CR-only line endings.
62
+ const { line, column } = offsetToLineColumn(content, index);
63
+ return { line, column, match, replacement };
64
+ });
65
+ }
66
+ // On the first line, `segment.content` can start mid-line (a heading excludes
67
+ // its '## '), so add `startColumn` to get the real column.
68
+ function toSourceColumn(segment, localLine, localColumn) {
69
+ return localLine === 1 ? segment.startColumn + (localColumn - 1) : localColumn;
70
+ }
71
+ const execute = async (rule, file, ctx) => {
72
+ const options = rule.assertions['swap'];
73
+ const problems = [];
74
+ for (const segment of ctx.segments) {
75
+ const excluded = nonProseRanges(segment, options.includeCode);
76
+ for (const found of findMatches(segment.content, excluded, options)) {
77
+ problems.push({
78
+ file,
79
+ line: segment.startLine + found.line - 1,
80
+ column: toSourceColumn(segment, found.line, found.column),
81
+ text: found.match,
82
+ match: found.match,
83
+ ruleName: rule.name,
84
+ severity: rule.severity,
85
+ message: (rule.message ?? '').replace('%s', found.replacement).replace('%s', found.match),
86
+ });
87
+ }
88
+ }
89
+ return problems;
90
+ };
91
+ const fix = async (rule, file, ctx) => {
92
+ const options = rule.assertions['swap'];
93
+ const fixes = [];
94
+ for (const segment of ctx.segments) {
95
+ const excluded = nonProseRanges(segment, options.includeCode);
96
+ for (const found of findMatches(segment.content, excluded, options)) {
97
+ fixes.push({
98
+ file,
99
+ ruleName: rule.name,
100
+ lineNumber: segment.startLine + found.line - 1,
101
+ editColumn: toSourceColumn(segment, found.line, found.column),
102
+ deleteCount: found.match.length,
103
+ // Copy the matched text's capitalization, so "Behaviour" becomes "Behavior".
104
+ insertText: applyMatchCase(found.match, found.replacement),
105
+ });
106
+ }
107
+ }
108
+ return fixes;
109
+ };
110
+ export const swap = { id: 'swap', fixable: true, execute, fix };
111
+ //# sourceMappingURL=swap.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"swap.js","sourceRoot":"","sources":["../../../src/rules/scope/swap.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,24 @@
1
+ /** True for an ALL-CAPS word of 2+ letters, like 'API' or 'HTML5'. Digits are ignored. */
2
+ export declare function isAllCapsWord(word: string): boolean;
3
+ /** True for `v2` or `v3`, but not for a word like `vector3`. */
4
+ export declare function isVersionToken(word: string): boolean;
5
+ /** True for `x-metadata` or `x-codeSamples`. Case-sensitive, so `X-ray` is not matched. */
6
+ export declare function isVendorExtensionToken(word: string): boolean;
7
+ /** True for tokens that keep their casing. Check this before splitting on hyphens. */
8
+ export declare function keepsOwnCasing(word: string): boolean;
9
+ export interface ExceptionPlan {
10
+ wordMap: Map<string, string>;
11
+ phrases: string[];
12
+ }
13
+ export declare function buildExceptionPlan(exceptions: string[]): ExceptionPlan;
14
+ /**
15
+ * Rebuilds `text` with each word re-cased by `caseWord`, which gets the word, its
16
+ * index, the word count and whether it starts a sentence. Separators are kept.
17
+ * Phrase exceptions and code spans are kept as written but still count as words.
18
+ */
19
+ export declare function recaseWords(text: string, phrases: string[], caseWord: (word: string, index: number, total: number, startsSentence: boolean) => string): string;
20
+ /** AP style: lowercases articles, conjunctions and prepositions of 3 letters or fewer. */
21
+ export declare function apTitleCase(text: string, exceptions?: string[]): string;
22
+ /** Chicago style: like AP, but lowercases every preposition. */
23
+ export declare function chicagoTitleCase(text: string, exceptions?: string[]): string;
24
+ //# sourceMappingURL=title-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"title-case.d.ts","sourceRoot":"","sources":["../../../src/rules/scope/title-case.ts"],"names":[],"mappings":"AAkDA,0FAA0F;AAC1F,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAGnD;AAED,gEAAgE;AAChE,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAED,2FAA2F;AAC3F,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEpD;AAQD,MAAM,WAAW,aAAa;IAE5B,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAG7B,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,aAAa,CAStE;AAyFD;;;;GAIG;AACH,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EAAE,EACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,KAAK,MAAM,GACxF,MAAM,CAcR;AAuDD,0FAA0F;AAC1F,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO,GAAG,MAAM,CAE3E;AAED,gEAAgE;AAChE,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,GAAE,MAAM,EAAO,GAAG,MAAM,CAEhF"}
@@ -0,0 +1,216 @@
1
+ // AP and Chicago title-case rules, used by the `$title` check in capitalization.ts.
2
+ // They work on plain text only.
3
+ //
4
+ // In both styles:
5
+ // - The first and last word are always capitalized.
6
+ // - A word in `exceptions` is replaced by its spelling from that list (e.g. 'GitHub').
7
+ // - An ALL-CAPS word such as 'API' is left as written.
8
+ // - Each part of a hyphenated word follows the same rules as a single word.
9
+ //
10
+ // AP lowercases articles, conjunctions and prepositions of three letters or fewer.
11
+ // Chicago lowercases all prepositions.
12
+ import { INLINE_CODE_MASK_CHAR } from '../../core/inline-code.js';
13
+ import { ABBREVIATIONS, lastWordBefore } from '../../scopes/sentences.js';
14
+ const ARTICLES = ['a', 'an', 'the'];
15
+ const COORDINATING_CONJUNCTIONS = ['and', 'but', 'or', 'nor', 'for', 'so', 'yet'];
16
+ // Both AP and Chicago lowercase these.
17
+ const SHORT_PREPOSITIONS = ['at', 'by', 'in', 'of', 'off', 'on', 'out', 'to', 'up', 'via'];
18
+ // Chicago lowercases these; AP capitalizes them.
19
+ const LONG_PREPOSITIONS = [
20
+ 'about',
21
+ 'above',
22
+ 'across',
23
+ 'after',
24
+ 'against',
25
+ 'along',
26
+ 'among',
27
+ 'around',
28
+ 'before',
29
+ 'behind',
30
+ 'below',
31
+ 'between',
32
+ 'during',
33
+ 'through',
34
+ 'toward',
35
+ 'under',
36
+ 'until',
37
+ 'with',
38
+ 'within',
39
+ 'without',
40
+ ];
41
+ const AP_STOPWORDS = new Set([...ARTICLES, ...COORDINATING_CONJUNCTIONS, ...SHORT_PREPOSITIONS]);
42
+ const CHICAGO_STOPWORDS = new Set([
43
+ ...ARTICLES,
44
+ ...COORDINATING_CONJUNCTIONS,
45
+ ...SHORT_PREPOSITIONS,
46
+ ...LONG_PREPOSITIONS,
47
+ ]);
48
+ /** True for an ALL-CAPS word of 2+ letters, like 'API' or 'HTML5'. Digits are ignored. */
49
+ export function isAllCapsWord(word) {
50
+ const letters = word.replace(/[^A-Za-z]/g, '');
51
+ return letters.length >= 2 && letters === letters.toUpperCase();
52
+ }
53
+ /** True for `v2` or `v3`, but not for a word like `vector3`. */
54
+ export function isVersionToken(word) {
55
+ return /^v\d+$/i.test(word);
56
+ }
57
+ /** True for `x-metadata` or `x-codeSamples`. Case-sensitive, so `X-ray` is not matched. */
58
+ export function isVendorExtensionToken(word) {
59
+ return /^x-./.test(word);
60
+ }
61
+ /** True for tokens that keep their casing. Check this before splitting on hyphens. */
62
+ export function keepsOwnCasing(word) {
63
+ return isAllCapsWord(word) || isVersionToken(word) || isVendorExtensionToken(word);
64
+ }
65
+ function capitalizeWord(word) {
66
+ return word.charAt(0).toUpperCase() + word.slice(1).toLowerCase();
67
+ }
68
+ export function buildExceptionPlan(exceptions) {
69
+ const phrases = exceptions.filter((e) => /[\s.]/.test(e)).sort((a, b) => b.length - a.length);
70
+ const phraseSet = new Set(phrases);
71
+ const wordMap = new Map();
72
+ for (const exception of exceptions) {
73
+ if (phraseSet.has(exception))
74
+ continue; // phrases are matched separately
75
+ wordMap.set(exception.toLowerCase(), exception);
76
+ }
77
+ return { wordMap, phrases };
78
+ }
79
+ function escapeRegExp(text) {
80
+ return text.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
81
+ }
82
+ // Finds non-overlapping, case-insensitive occurrences of the phrases. A match is
83
+ // always as long as the phrase, so replacing it does not shift later offsets.
84
+ // `phrases` is longest first, so a shorter phrase cannot match inside a longer one.
85
+ function findPhraseMatches(text, phrases) {
86
+ const matches = [];
87
+ for (const phrase of phrases) {
88
+ const pattern = new RegExp(escapeRegExp(phrase), 'gi');
89
+ let match;
90
+ while ((match = pattern.exec(text)) !== null) {
91
+ const start = match.index;
92
+ const end = start + match[0].length;
93
+ if (!matches.some((claimed) => start < claimed.end && claimed.start < end)) {
94
+ matches.push({ start, end, exception: phrase });
95
+ }
96
+ }
97
+ }
98
+ return matches.sort((a, b) => a.start - b.start);
99
+ }
100
+ // A word is letters and digits, optionally joined by hyphens or apostrophes.
101
+ // A run of mask characters is an inline code span; it also takes a position,
102
+ // so a heading that starts with code does not make the next word the first.
103
+ const WORD_OR_MASK_RE = new RegExp(`${INLINE_CODE_MASK_CHAR}+|[A-Za-z0-9]+(?:['’-][A-Za-z0-9]+)*`, 'g');
104
+ function pushWordTokens(text, from, to, tokens) {
105
+ if (from >= to)
106
+ return;
107
+ for (const match of text.slice(from, to).matchAll(WORD_OR_MASK_RE)) {
108
+ const start = from + (match.index ?? 0);
109
+ const isMask = match[0].startsWith(INLINE_CODE_MASK_CHAR);
110
+ tokens.push({
111
+ text: match[0],
112
+ start,
113
+ end: start + match[0].length,
114
+ ...(isMask ? { exception: match[0] } : {}),
115
+ });
116
+ }
117
+ }
118
+ /** Splits `text` into words, with each phrase exception as a single token. */
119
+ function tokenizeCasingWords(text, phrases) {
120
+ const tokens = [];
121
+ let cursor = 0;
122
+ for (const { start, end, exception } of findPhraseMatches(text, phrases)) {
123
+ pushWordTokens(text, cursor, start, tokens);
124
+ tokens.push({ text: text.slice(start, end), start, end, exception });
125
+ cursor = end;
126
+ }
127
+ pushWordTokens(text, cursor, text.length, tokens);
128
+ return tokens;
129
+ }
130
+ // Needs trailing whitespace, because a dot is often part of an identifier or
131
+ // version (`element.focus()`, `v2.0`). A colon does not end a sentence.
132
+ const SENTENCE_BREAK_RE = /[.?!]["'’”)\]]*\s/;
133
+ // Uses the sentence splitter's abbreviation list, so `Cost vs. value` is one sentence.
134
+ function gapEndsSentence(text, gapStart, gap) {
135
+ const match = SENTENCE_BREAK_RE.exec(gap);
136
+ if (!match)
137
+ return false;
138
+ if (match[0][0] !== '.')
139
+ return true; // '?' and '!' always end a sentence
140
+ return !ABBREVIATIONS.has(lastWordBefore(text, gapStart + (match.index ?? 0)));
141
+ }
142
+ /**
143
+ * Rebuilds `text` with each word re-cased by `caseWord`, which gets the word, its
144
+ * index, the word count and whether it starts a sentence. Separators are kept.
145
+ * Phrase exceptions and code spans are kept as written but still count as words.
146
+ */
147
+ export function recaseWords(text, phrases, caseWord) {
148
+ const tokens = tokenizeCasingWords(text, phrases);
149
+ if (tokens.length === 0)
150
+ return text;
151
+ let result = '';
152
+ let cursor = 0;
153
+ tokens.forEach((token, index) => {
154
+ const separator = text.slice(cursor, token.start);
155
+ const startsSentence = index === 0 || gapEndsSentence(text, cursor, separator);
156
+ result += separator;
157
+ result += token.exception ?? caseWord(token.text, index, tokens.length, startsSentence);
158
+ cursor = token.end;
159
+ });
160
+ return result + text.slice(cursor);
161
+ }
162
+ // Each part gets the same rules as a single word. The first and last parts
163
+ // are capitalized when the whole word is first or last in the title.
164
+ function capitalizeHyphenated(word, isFirstWord, isLastWord, stopwords, exceptionMap) {
165
+ const parts = word.split('-');
166
+ const lastPartIndex = parts.length - 1;
167
+ return parts
168
+ .map((part, partIndex) => {
169
+ if (part.length === 0)
170
+ return part; // leading, trailing or doubled hyphen
171
+ const exceptionHit = exceptionMap.get(part.toLowerCase());
172
+ if (exceptionHit !== undefined)
173
+ return exceptionHit;
174
+ if (isAllCapsWord(part))
175
+ return part;
176
+ if (partIndex === 0 && isFirstWord)
177
+ return capitalizeWord(part);
178
+ if (partIndex === lastPartIndex && isLastWord)
179
+ return capitalizeWord(part);
180
+ if (stopwords.has(part.toLowerCase()))
181
+ return part.toLowerCase();
182
+ return capitalizeWord(part);
183
+ })
184
+ .join('-');
185
+ }
186
+ function transformWord(word, isFirstWord, isLastWord, stopwords, exceptionMap) {
187
+ // Check exceptions before splitting on hyphens; an entry can be a whole
188
+ // hyphenated word like 'e-commerce'.
189
+ const exceptionHit = exceptionMap.get(word.toLowerCase());
190
+ if (exceptionHit !== undefined)
191
+ return exceptionHit;
192
+ // Also before the split, or `x-codeSamples` would become `X-codesamples`.
193
+ if (keepsOwnCasing(word))
194
+ return word;
195
+ if (word.includes('-')) {
196
+ return capitalizeHyphenated(word, isFirstWord, isLastWord, stopwords, exceptionMap);
197
+ }
198
+ if (isFirstWord || isLastWord)
199
+ return capitalizeWord(word);
200
+ if (stopwords.has(word.toLowerCase()))
201
+ return word.toLowerCase();
202
+ return capitalizeWord(word);
203
+ }
204
+ function titleCase(text, stopwords, exceptions) {
205
+ const { wordMap, phrases } = buildExceptionPlan(exceptions);
206
+ return recaseWords(text, phrases, (word, index, total) => transformWord(word, index === 0, index === total - 1, stopwords, wordMap));
207
+ }
208
+ /** AP style: lowercases articles, conjunctions and prepositions of 3 letters or fewer. */
209
+ export function apTitleCase(text, exceptions = []) {
210
+ return titleCase(text, AP_STOPWORDS, exceptions);
211
+ }
212
+ /** Chicago style: like AP, but lowercases every preposition. */
213
+ export function chicagoTitleCase(text, exceptions = []) {
214
+ return titleCase(text, CHICAGO_STOPWORDS, exceptions);
215
+ }
216
+ //# sourceMappingURL=title-case.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"title-case.js","sourceRoot":"","sources":["../../../src/rules/scope/title-case.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blanks-around-fences.d.ts","sourceRoot":"","sources":["../../../src/rules/token/blanks-around-fences.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAoB,MAAM,aAAa,CAAC;AA4B/D,eAAO,MAAM,kBAAkB,EAAE,SAuBhC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blanks-around-fences.js","sourceRoot":"","sources":["../../../src/rules/token/blanks-around-fences.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAE5D,MAAM,iBAAiB,GAAG,YAAY,CAAC;AAEvC,SAAS,aAAa,CACpB,GAAqB,EACrB,KAAwB,EACxB,UAAkB,EAClB,GAAY;IAEZ,MAAM,IAAI,GAAG,KAAK,CAAC,UAAU,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACzC,MAAM,WAAW,GAAG,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,MAAM,GAAG,WAAW,EAAE,CAAC,CAAC,CAAC,CAAC;IAChC,GAAG,CAAC,OAAO,CAAC;QACV,IAAI,EAAE,UAAU;QAChB,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE;QACpB,OAAO,EACL,MAAM,KAAK,SAAS;YAClB,CAAC,CAAC,SAAS;YACX,CAAC,CAAC;gBACE,UAAU,EAAE,UAAU,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBACtC,UAAU,EAAE,CAAC;gBACb,UAAU,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI;aACvD;KACR,CAAC,CAAC;AACL,CAAC;AAED,MAAM,CAAC,MAAM,kBAAkB,GAAc;IAC3C,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,CAAC,MAAM,EAAE,aAAa,CAAC;IAC7B,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE;QACR,OAAO,EAAE,wDAAwD;QACjE,SAAS,EAAE,IAAI;KAChB;IACD,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC;QACvC,MAAM,gBAAgB,GAAG,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACtE,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;QACtB,KAAK,MAAM,SAAS,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YAChE,IAAI,gBAAgB,IAAI,CAAC,eAAe,CAAC,SAAS,EAAE,CAAC,aAAa,EAAE,eAAe,CAAC,CAAC,EAAE,CAAC;gBACtF,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,SAAS,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACjD,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;gBACvD,CAAC;gBACD,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;oBACzF,aAAa,CAAC,GAAG,EAAE,KAAK,EAAE,SAAS,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;gBACtD,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blanks-around-headings.d.ts","sourceRoot":"","sources":["../../../src/rules/token/blanks-around-headings.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AA2C7C,eAAO,MAAM,oBAAoB,EAAE,SA0ElC,CAAC"}
@@ -0,0 +1,96 @@
1
+ import { filterByTypes } from '../../parser/index.js';
2
+ import { getBlockQuotePrefixText, getHeadingLevel, isBlankLine } from './helpers.js';
3
+ const defaultLines = 1;
4
+ /** `linesAbove` and `linesBelow` can be one number, or an array with one number per level. */
5
+ function getLinesFunction(linesParam) {
6
+ if (Array.isArray(linesParam)) {
7
+ const linesArray = new Array(6).fill(defaultLines);
8
+ for (const [index, value] of linesParam.slice(0, 6).entries()) {
9
+ linesArray[index] = Number(value);
10
+ }
11
+ return (heading) => linesArray[getHeadingLevel(heading) - 1];
12
+ }
13
+ const lines = linesParam === undefined ? defaultLines : Number(linesParam);
14
+ return () => lines;
15
+ }
16
+ /**
17
+ * Returns the text of a 0-based line. Front matter lines count as blank unless
18
+ * `includeFrontMatter` is set, so no blank line is needed after front matter.
19
+ */
20
+ function getLineAbove(lines, index, frontMatterRange, includeFrontMatter) {
21
+ if (index < 0 || index >= lines.length)
22
+ return '';
23
+ const lineNumber = index + 1;
24
+ if (!includeFrontMatter &&
25
+ frontMatterRange &&
26
+ lineNumber >= frontMatterRange.start &&
27
+ lineNumber <= frontMatterRange.end) {
28
+ return '';
29
+ }
30
+ return lines[index];
31
+ }
32
+ export const blanksAroundHeadings = {
33
+ name: 'blanks-around-headings',
34
+ tags: ['headings', 'blank_lines'],
35
+ fixable: true,
36
+ defaults: {
37
+ message: 'Headings should be surrounded by blank lines',
38
+ includeFrontMatter: false,
39
+ linesAbove: 1,
40
+ linesBelow: 1,
41
+ },
42
+ check(ctx) {
43
+ const getLinesAbove = getLinesFunction(ctx.config.linesAbove);
44
+ const getLinesBelow = getLinesFunction(ctx.config.linesBelow);
45
+ const includeFrontMatter = !!ctx.config.includeFrontMatter;
46
+ const { lines } = ctx;
47
+ const frontmatter = ctx.tree.flat.find((token) => token.type === 'yaml');
48
+ const frontMatterRange = frontmatter
49
+ ? { start: frontmatter.startLine, end: frontmatter.endLine }
50
+ : undefined;
51
+ for (const heading of filterByTypes(ctx.tree, ['atxHeading', 'setextHeading'])) {
52
+ const { startLine, endLine } = heading;
53
+ const lineText = (lines[startLine - 1] ?? '').trim();
54
+ const linesAbove = getLinesAbove(heading);
55
+ if (linesAbove >= 0) {
56
+ let actualAbove = 0;
57
+ for (let i = 0; i < linesAbove &&
58
+ isBlankLine(getLineAbove(lines, startLine - 2 - i, frontMatterRange, includeFrontMatter)); i++) {
59
+ actualAbove++;
60
+ }
61
+ if (linesAbove !== actualAbove) {
62
+ ctx.onError({
63
+ line: startLine,
64
+ detail: `Expected: ${linesAbove}; Actual: ${actualAbove}; Above`,
65
+ context: lineText,
66
+ fixInfo: {
67
+ lineNumber: startLine,
68
+ editColumn: 1,
69
+ insertText: getBlockQuotePrefixText(ctx.tree, startLine - 1, linesAbove - actualAbove),
70
+ },
71
+ });
72
+ }
73
+ }
74
+ const linesBelow = getLinesBelow(heading);
75
+ if (linesBelow >= 0) {
76
+ let actualBelow = 0;
77
+ for (let i = 0; i < linesBelow && isBlankLine(lines[endLine + i] ?? ''); i++) {
78
+ actualBelow++;
79
+ }
80
+ if (linesBelow !== actualBelow) {
81
+ ctx.onError({
82
+ line: startLine,
83
+ detail: `Expected: ${linesBelow}; Actual: ${actualBelow}; Below`,
84
+ context: lineText,
85
+ fixInfo: {
86
+ lineNumber: endLine + 1,
87
+ editColumn: 1,
88
+ insertText: getBlockQuotePrefixText(ctx.tree, endLine + 1, linesBelow - actualBelow),
89
+ },
90
+ });
91
+ }
92
+ }
93
+ }
94
+ },
95
+ };
96
+ //# sourceMappingURL=blanks-around-headings.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blanks-around-headings.js","sourceRoot":"","sources":["../../../src/rules/token/blanks-around-headings.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blanks-around-lists.d.ts","sourceRoot":"","sources":["../../../src/rules/token/blanks-around-lists.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAW7C,eAAO,MAAM,iBAAiB,EAAE,SAuD/B,CAAC"}
@@ -0,0 +1,48 @@
1
+ import { filterByPredicate, getBlockQuotePrefixText, isBlankLine, nonContentTokens, } from './helpers.js';
2
+ const isList = (token) => token.type === 'listOrdered' || token.type === 'listUnordered';
3
+ export const blanksAroundLists = {
4
+ name: 'blanks-around-lists',
5
+ tags: ['bullet', 'ul', 'ol', 'blank_lines'],
6
+ fixable: true,
7
+ defaults: {
8
+ message: 'Lists should be surrounded by blank lines',
9
+ },
10
+ check(ctx) {
11
+ const { lines } = ctx;
12
+ // Only top-level lists, so a nested list is not reported on its own.
13
+ const topLevelLists = filterByPredicate(ctx.tree, isList, (token) => isList(token) || token.type === 'htmlFlow' ? [] : token.children);
14
+ for (const list of topLevelLists) {
15
+ const firstLineNumber = list.startLine;
16
+ if (!isBlankLine(lines[firstLineNumber - 2])) {
17
+ ctx.onError({
18
+ line: firstLineNumber,
19
+ context: (lines[firstLineNumber - 1] ?? '').trim(),
20
+ fixInfo: {
21
+ lineNumber: firstLineNumber,
22
+ editColumn: 1,
23
+ insertText: getBlockQuotePrefixText(ctx.tree, firstLineNumber),
24
+ },
25
+ });
26
+ }
27
+ // Use the last content token instead of list.endLine, which can include a
28
+ // trailing indent on an empty line.
29
+ const flattenedChildren = filterByPredicate(list.children, (token) => !nonContentTokens.has(token.type), (token) => (nonContentTokens.has(token.type) ? [] : token.children));
30
+ const endLine = flattenedChildren.length > 0
31
+ ? flattenedChildren[flattenedChildren.length - 1].endLine
32
+ : list.endLine;
33
+ const lastLineNumber = endLine;
34
+ if (!isBlankLine(lines[lastLineNumber])) {
35
+ ctx.onError({
36
+ line: lastLineNumber,
37
+ context: (lines[lastLineNumber - 1] ?? '').trim(),
38
+ fixInfo: {
39
+ lineNumber: lastLineNumber + 1,
40
+ editColumn: 1,
41
+ insertText: getBlockQuotePrefixText(ctx.tree, lastLineNumber),
42
+ },
43
+ });
44
+ }
45
+ }
46
+ },
47
+ };
48
+ //# sourceMappingURL=blanks-around-lists.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blanks-around-lists.js","sourceRoot":"","sources":["../../../src/rules/token/blanks-around-lists.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,iBAAiB,EACjB,uBAAuB,EACvB,WAAW,EACX,gBAAgB,GACjB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,GAAG,CAAC,KAAY,EAAW,EAAE,CACvC,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC;AAEjE,MAAM,CAAC,MAAM,iBAAiB,GAAc;IAC1C,IAAI,EAAE,qBAAqB;IAC3B,IAAI,EAAE,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,aAAa,CAAC;IAC3C,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE;QACR,OAAO,EAAE,2CAA2C;KACrD;IACD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;QAEtB,qEAAqE;QACrE,MAAM,aAAa,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAClE,MAAM,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CACjE,CAAC;QAEF,KAAK,MAAM,IAAI,IAAI,aAAa,EAAE,CAAC;YACjC,MAAM,eAAe,GAAG,IAAI,CAAC,SAAS,CAAC;YACvC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,GAAG,CAAC,OAAO,CAAC;oBACV,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;oBAClD,OAAO,EAAE;wBACP,UAAU,EAAE,eAAe;wBAC3B,UAAU,EAAE,CAAC;wBACb,UAAU,EAAE,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC;qBAC/D;iBACF,CAAC,CAAC;YACL,CAAC;YAED,0EAA0E;YAC1E,oCAAoC;YACpC,MAAM,iBAAiB,GAAG,iBAAiB,CACzC,IAAI,CAAC,QAAQ,EACb,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAC5C,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,gBAAgB,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,QAAQ,CAAC,CACpE,CAAC;YACF,MAAM,OAAO,GACX,iBAAiB,CAAC,MAAM,GAAG,CAAC;gBAC1B,CAAC,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,OAAO;gBACzD,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YAEnB,MAAM,cAAc,GAAG,OAAO,CAAC;YAC/B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;gBACxC,GAAG,CAAC,OAAO,CAAC;oBACV,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;oBACjD,OAAO,EAAE;wBACP,UAAU,EAAE,cAAc,GAAG,CAAC;wBAC9B,UAAU,EAAE,CAAC;wBACb,UAAU,EAAE,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC;qBAC9D;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blanks-around-tables.d.ts","sourceRoot":"","sources":["../../../src/rules/token/blanks-around-tables.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAG7C,eAAO,MAAM,kBAAkB,EAAE,SAsChC,CAAC"}
@@ -0,0 +1,40 @@
1
+ import { filterByTypes } from '../../parser/index.js';
2
+ import { getBlockQuotePrefixText, isBlankLine } from './helpers.js';
3
+ export const blanksAroundTables = {
4
+ name: 'blanks-around-tables',
5
+ tags: ['table'],
6
+ fixable: true,
7
+ defaults: {
8
+ message: 'Tables should be surrounded by blank lines',
9
+ },
10
+ check(ctx) {
11
+ const { lines } = ctx;
12
+ for (const table of filterByTypes(ctx.tree, ['table'])) {
13
+ const firstLineNumber = table.startLine;
14
+ if (!isBlankLine(lines[firstLineNumber - 2])) {
15
+ ctx.onError({
16
+ line: firstLineNumber,
17
+ context: (lines[firstLineNumber - 1] ?? '').trim(),
18
+ fixInfo: {
19
+ lineNumber: firstLineNumber,
20
+ editColumn: 1,
21
+ insertText: getBlockQuotePrefixText(ctx.tree, firstLineNumber),
22
+ },
23
+ });
24
+ }
25
+ const lastLineNumber = table.endLine;
26
+ if (!isBlankLine(lines[lastLineNumber])) {
27
+ ctx.onError({
28
+ line: lastLineNumber,
29
+ context: (lines[lastLineNumber - 1] ?? '').trim(),
30
+ fixInfo: {
31
+ lineNumber: lastLineNumber + 1,
32
+ editColumn: 1,
33
+ insertText: getBlockQuotePrefixText(ctx.tree, lastLineNumber),
34
+ },
35
+ });
36
+ }
37
+ }
38
+ },
39
+ };
40
+ //# sourceMappingURL=blanks-around-tables.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blanks-around-tables.js","sourceRoot":"","sources":["../../../src/rules/token/blanks-around-tables.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,EAAE,uBAAuB,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAEpE,MAAM,CAAC,MAAM,kBAAkB,GAAc;IAC3C,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,CAAC,OAAO,CAAC;IACf,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE;QACR,OAAO,EAAE,4CAA4C;KACtD;IACD,KAAK,CAAC,GAAG;QACP,MAAM,EAAE,KAAK,EAAE,GAAG,GAAG,CAAC;QAEtB,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;YACvD,MAAM,eAAe,GAAG,KAAK,CAAC,SAAS,CAAC;YACxC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC7C,GAAG,CAAC,OAAO,CAAC;oBACV,IAAI,EAAE,eAAe;oBACrB,OAAO,EAAE,CAAC,KAAK,CAAC,eAAe,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;oBAClD,OAAO,EAAE;wBACP,UAAU,EAAE,eAAe;wBAC3B,UAAU,EAAE,CAAC;wBACb,UAAU,EAAE,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,eAAe,CAAC;qBAC/D;iBACF,CAAC,CAAC;YACL,CAAC;YAED,MAAM,cAAc,GAAG,KAAK,CAAC,OAAO,CAAC;YACrC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,EAAE,CAAC;gBACxC,GAAG,CAAC,OAAO,CAAC;oBACV,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,CAAC,KAAK,CAAC,cAAc,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE;oBACjD,OAAO,EAAE;wBACP,UAAU,EAAE,cAAc,GAAG,CAAC;wBAC9B,UAAU,EAAE,CAAC;wBACb,UAAU,EAAE,uBAAuB,CAAC,GAAG,CAAC,IAAI,EAAE,cAAc,CAAC;qBAC9D;iBACF,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block-style.d.ts","sourceRoot":"","sources":["../../../src/rules/token/code-block-style.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAM7C,eAAO,MAAM,cAAc,EAAE,SAwB5B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-block-style.js","sourceRoot":"","sources":["../../../src/rules/token/code-block-style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAKtD,SAAS,gBAAgB,CAAC,SAAiB;IACzC,OAAO,SAAS,KAAK,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC;AAC5D,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE;QACR,OAAO,EAAE,kBAAkB;QAC3B,KAAK,EAAE,YAAY;KACpB;IACD,KAAK,CAAC,GAAG;QACP,IAAI,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC;QAC7D,KAAK,MAAM,KAAK,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YAC5E,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;YAClC,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;gBACnC,aAAa,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YACzC,CAAC;YACD,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,CAAC,CAAC;YAC3C,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;gBAClC,GAAG,CAAC,OAAO,CAAC;oBACV,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,aAAa,aAAa,aAAa,WAAW,EAAE;iBAC7D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-fence-style.d.ts","sourceRoot":"","sources":["../../../src/rules/token/code-fence-style.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAO7C,eAAO,MAAM,cAAc,EAAE,SA4B5B,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"code-fence-style.js","sourceRoot":"","sources":["../../../src/rules/token/code-fence-style.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAItD,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AAEpD,SAAS,uBAAuB,CAAC,MAAc;IAC7C,OAAO,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,MAAM,cAAc,GAAc;IACvC,IAAI,EAAE,kBAAkB;IACxB,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,OAAO,EAAE,KAAK;IACd,QAAQ,EAAE;QACR,OAAO,EAAE,kBAAkB;QAC3B,KAAK,EAAE,YAAY;KACpB;IACD,KAAK,CAAC,GAAG;QACP,IAAI,aAAa,GAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,YAAY,CAAC,CAAC;QAC7D,KAAK,MAAM,UAAU,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,YAAY,CAAC,CAAC,EAAE,CAAC;YACjE,MAAM,uBAAuB,GAAG,oBAAoB,CAAC,UAAU,EAAE;gBAC/D,iBAAiB;gBACjB,yBAAyB;aAC1B,CAAC,CAAC,CAAC,CAAC,CAAC;YACN,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,uBAAuB,CAAC;YACpD,IAAI,aAAa,KAAK,YAAY,EAAE,CAAC;gBACnC,aAAa,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAChD,CAAC;YACD,MAAM,WAAW,GAAG,uBAAuB,CAAC,IAAI,CAAC,CAAC;YAClD,IAAI,aAAa,KAAK,WAAW,EAAE,CAAC;gBAClC,GAAG,CAAC,OAAO,CAAC;oBACV,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,aAAa,aAAa,aAAa,WAAW,EAAE;iBAC7D,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands-show-output.d.ts","sourceRoot":"","sources":["../../../src/rules/token/commands-show-output.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAI7C,eAAO,MAAM,kBAAkB,EAAE,SAqChC,CAAC"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commands-show-output.js","sourceRoot":"","sources":["../../../src/rules/token/commands-show-output.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAKtD,MAAM,eAAe,GAAG,eAAe,CAAC;AAExC,MAAM,CAAC,MAAM,kBAAkB,GAAc;IAC3C,IAAI,EAAE,sBAAsB;IAC5B,IAAI,EAAE,CAAC,MAAM,CAAC;IACd,OAAO,EAAE,IAAI;IACb,QAAQ,EAAE;QACR,OAAO,EAAE,0DAA0D;KACpE;IACD,KAAK,CAAC,GAAG;QACP,KAAK,MAAM,SAAS,IAAI,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC,YAAY,EAAE,cAAc,CAAC,CAAC,EAAE,CAAC;YAChF,MAAM,cAAc,GAAG,SAAS,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC;YAC5F,MAAM,aAAa,GAAG,cAAc;iBACjC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;gBACvB,MAAM,EAAE,eAAe,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;gBAChD,WAAW,EAAE,aAAa,CAAC,WAAW;gBACtC,SAAS,EAAE,aAAa,CAAC,SAAS;aACnC,CAAC,CAAC;iBACF,MAAM,CACL,CAAC,WAAW,EAAmE,EAAE,CAC/E,WAAW,CAAC,MAAM,KAAK,IAAI,CAC9B,CAAC;YACJ,IAAI,aAAa,CAAC,MAAM,KAAK,cAAc,CAAC,MAAM,EAAE,CAAC;gBACnD,KAAK,MAAM,WAAW,IAAI,aAAa,EAAE,CAAC;oBACxC,MAAM,MAAM,GAAG,WAAW,CAAC,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBACtE,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAC5C,GAAG,CAAC,OAAO,CAAC;wBACV,IAAI,EAAE,WAAW,CAAC,SAAS;wBAC3B,MAAM;wBACN,OAAO,EAAE;4BACP,UAAU,EAAE,WAAW,CAAC,SAAS;4BACjC,UAAU,EAAE,MAAM;4BAClB,WAAW,EAAE,MAAM;yBACpB;qBACF,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;CACF,CAAC"}