@alexlit/lint-kit 214.0.1 → 214.1.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 (429) hide show
  1. package/package.json +1 -1
  2. package/packages/config-eslint/package.json +3 -3
  3. package/packages/config-markdownlint/node_modules/ansi-regex/index.d.ts +33 -0
  4. package/packages/config-markdownlint/node_modules/ansi-regex/index.js +15 -0
  5. package/packages/config-markdownlint/node_modules/ansi-regex/license +9 -0
  6. package/packages/config-markdownlint/node_modules/ansi-regex/package.json +61 -0
  7. package/packages/config-markdownlint/node_modules/ansi-regex/readme.md +66 -0
  8. package/packages/config-markdownlint/node_modules/markdownlint/CHANGELOG.md +553 -0
  9. package/packages/config-markdownlint/node_modules/markdownlint/CONTRIBUTING.md +77 -0
  10. package/packages/config-markdownlint/node_modules/markdownlint/LICENSE +21 -0
  11. package/packages/config-markdownlint/node_modules/markdownlint/README.md +1112 -0
  12. package/packages/config-markdownlint/node_modules/markdownlint/doc/CustomRules.md +196 -0
  13. package/packages/config-markdownlint/node_modules/markdownlint/doc/Prettier.md +27 -0
  14. package/packages/config-markdownlint/node_modules/markdownlint/doc/ReleaseProcess.md +20 -0
  15. package/packages/config-markdownlint/node_modules/markdownlint/doc/Rules.md +2909 -0
  16. package/packages/config-markdownlint/node_modules/markdownlint/doc/md001.md +51 -0
  17. package/packages/config-markdownlint/node_modules/markdownlint/doc/md003.md +59 -0
  18. package/packages/config-markdownlint/node_modules/markdownlint/doc/md004.md +50 -0
  19. package/packages/config-markdownlint/node_modules/markdownlint/doc/md005.md +53 -0
  20. package/packages/config-markdownlint/node_modules/markdownlint/doc/md007.md +52 -0
  21. package/packages/config-markdownlint/node_modules/markdownlint/doc/md009.md +50 -0
  22. package/packages/config-markdownlint/node_modules/markdownlint/doc/md010.md +61 -0
  23. package/packages/config-markdownlint/node_modules/markdownlint/doc/md011.md +30 -0
  24. package/packages/config-markdownlint/node_modules/markdownlint/doc/md012.md +38 -0
  25. package/packages/config-markdownlint/node_modules/markdownlint/doc/md013.md +58 -0
  26. package/packages/config-markdownlint/node_modules/markdownlint/doc/md014.md +54 -0
  27. package/packages/config-markdownlint/node_modules/markdownlint/doc/md018.md +27 -0
  28. package/packages/config-markdownlint/node_modules/markdownlint/doc/md019.md +28 -0
  29. package/packages/config-markdownlint/node_modules/markdownlint/doc/md020.md +29 -0
  30. package/packages/config-markdownlint/node_modules/markdownlint/doc/md021.md +31 -0
  31. package/packages/config-markdownlint/node_modules/markdownlint/doc/md022.md +67 -0
  32. package/packages/config-markdownlint/node_modules/markdownlint/doc/md023.md +33 -0
  33. package/packages/config-markdownlint/node_modules/markdownlint/doc/md024.md +44 -0
  34. package/packages/config-markdownlint/node_modules/markdownlint/doc/md025.md +49 -0
  35. package/packages/config-markdownlint/node_modules/markdownlint/doc/md026.md +40 -0
  36. package/packages/config-markdownlint/node_modules/markdownlint/doc/md027.md +32 -0
  37. package/packages/config-markdownlint/node_modules/markdownlint/doc/md028.md +44 -0
  38. package/packages/config-markdownlint/node_modules/markdownlint/doc/md029.md +110 -0
  39. package/packages/config-markdownlint/node_modules/markdownlint/doc/md030.md +82 -0
  40. package/packages/config-markdownlint/node_modules/markdownlint/doc/md031.md +50 -0
  41. package/packages/config-markdownlint/node_modules/markdownlint/doc/md032.md +55 -0
  42. package/packages/config-markdownlint/node_modules/markdownlint/doc/md033.md +33 -0
  43. package/packages/config-markdownlint/node_modules/markdownlint/doc/md034.md +55 -0
  44. package/packages/config-markdownlint/node_modules/markdownlint/doc/md035.md +44 -0
  45. package/packages/config-markdownlint/node_modules/markdownlint/doc/md036.md +45 -0
  46. package/packages/config-markdownlint/node_modules/markdownlint/doc/md037.md +37 -0
  47. package/packages/config-markdownlint/node_modules/markdownlint/doc/md038.md +52 -0
  48. package/packages/config-markdownlint/node_modules/markdownlint/doc/md039.md +21 -0
  49. package/packages/config-markdownlint/node_modules/markdownlint/doc/md040.md +52 -0
  50. package/packages/config-markdownlint/node_modules/markdownlint/doc/md041.md +64 -0
  51. package/packages/config-markdownlint/node_modules/markdownlint/doc/md042.md +38 -0
  52. package/packages/config-markdownlint/node_modules/markdownlint/doc/md043.md +125 -0
  53. package/packages/config-markdownlint/node_modules/markdownlint/doc/md044.md +45 -0
  54. package/packages/config-markdownlint/node_modules/markdownlint/doc/md045.md +48 -0
  55. package/packages/config-markdownlint/node_modules/markdownlint/doc/md046.md +40 -0
  56. package/packages/config-markdownlint/node_modules/markdownlint/doc/md047.md +34 -0
  57. package/packages/config-markdownlint/node_modules/markdownlint/doc/md048.md +42 -0
  58. package/packages/config-markdownlint/node_modules/markdownlint/doc/md049.md +36 -0
  59. package/packages/config-markdownlint/node_modules/markdownlint/doc/md050.md +35 -0
  60. package/packages/config-markdownlint/node_modules/markdownlint/doc/md051.md +117 -0
  61. package/packages/config-markdownlint/node_modules/markdownlint/doc/md052.md +52 -0
  62. package/packages/config-markdownlint/node_modules/markdownlint/doc/md053.md +38 -0
  63. package/packages/config-markdownlint/node_modules/markdownlint/doc/md054.md +100 -0
  64. package/packages/config-markdownlint/node_modules/markdownlint/doc/md055.md +58 -0
  65. package/packages/config-markdownlint/node_modules/markdownlint/doc/md056.md +37 -0
  66. package/packages/config-markdownlint/node_modules/markdownlint/doc/md058.md +48 -0
  67. package/packages/config-markdownlint/node_modules/markdownlint/doc/md059.md +33 -0
  68. package/packages/config-markdownlint/node_modules/markdownlint/doc/md060.md +131 -0
  69. package/packages/config-markdownlint/node_modules/markdownlint/helpers/LICENSE +21 -0
  70. package/packages/config-markdownlint/node_modules/markdownlint/helpers/README.md +29 -0
  71. package/packages/config-markdownlint/node_modules/markdownlint/helpers/helpers.cjs +711 -0
  72. package/packages/config-markdownlint/node_modules/markdownlint/helpers/micromark-helpers.cjs +328 -0
  73. package/packages/config-markdownlint/node_modules/markdownlint/helpers/package.json +22 -0
  74. package/packages/config-markdownlint/node_modules/markdownlint/helpers/shared.cjs +16 -0
  75. package/packages/config-markdownlint/node_modules/markdownlint/lib/cache.mjs +81 -0
  76. package/packages/config-markdownlint/node_modules/markdownlint/lib/configuration-strict.d.ts +2429 -0
  77. package/packages/config-markdownlint/node_modules/markdownlint/lib/configuration.d.ts +8 -0
  78. package/packages/config-markdownlint/node_modules/markdownlint/lib/constants.mjs +14 -0
  79. package/packages/config-markdownlint/node_modules/markdownlint/lib/defer-require.cjs +19 -0
  80. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports-async.d.mts +1 -0
  81. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports-async.mjs +3 -0
  82. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports-promise.d.mts +1 -0
  83. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports-promise.mjs +3 -0
  84. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports-sync.d.mts +1 -0
  85. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports-sync.mjs +3 -0
  86. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports.d.mts +58 -0
  87. package/packages/config-markdownlint/node_modules/markdownlint/lib/exports.mjs +33 -0
  88. package/packages/config-markdownlint/node_modules/markdownlint/lib/markdownit.cjs +178 -0
  89. package/packages/config-markdownlint/node_modules/markdownlint/lib/markdownlint.d.mts +757 -0
  90. package/packages/config-markdownlint/node_modules/markdownlint/lib/markdownlint.mjs +1588 -0
  91. package/packages/config-markdownlint/node_modules/markdownlint/lib/md001.mjs +32 -0
  92. package/packages/config-markdownlint/node_modules/markdownlint/lib/md003.mjs +47 -0
  93. package/packages/config-markdownlint/node_modules/markdownlint/lib/md004.mjs +73 -0
  94. package/packages/config-markdownlint/node_modules/markdownlint/lib/md005.mjs +69 -0
  95. package/packages/config-markdownlint/node_modules/markdownlint/lib/md007.mjs +84 -0
  96. package/packages/config-markdownlint/node_modules/markdownlint/lib/md009.mjs +95 -0
  97. package/packages/config-markdownlint/node_modules/markdownlint/lib/md010.mjs +78 -0
  98. package/packages/config-markdownlint/node_modules/markdownlint/lib/md011.mjs +59 -0
  99. package/packages/config-markdownlint/node_modules/markdownlint/lib/md012.mjs +40 -0
  100. package/packages/config-markdownlint/node_modules/markdownlint/lib/md013.mjs +95 -0
  101. package/packages/config-markdownlint/node_modules/markdownlint/lib/md014.mjs +47 -0
  102. package/packages/config-markdownlint/node_modules/markdownlint/lib/md018.mjs +43 -0
  103. package/packages/config-markdownlint/node_modules/markdownlint/lib/md019-md021.mjs +78 -0
  104. package/packages/config-markdownlint/node_modules/markdownlint/lib/md020.mjs +68 -0
  105. package/packages/config-markdownlint/node_modules/markdownlint/lib/md022.mjs +103 -0
  106. package/packages/config-markdownlint/node_modules/markdownlint/lib/md023.mjs +37 -0
  107. package/packages/config-markdownlint/node_modules/markdownlint/lib/md024.mjs +45 -0
  108. package/packages/config-markdownlint/node_modules/markdownlint/lib/md025.mjs +45 -0
  109. package/packages/config-markdownlint/node_modules/markdownlint/lib/md026.mjs +46 -0
  110. package/packages/config-markdownlint/node_modules/markdownlint/lib/md027.mjs +50 -0
  111. package/packages/config-markdownlint/node_modules/markdownlint/lib/md028.mjs +38 -0
  112. package/packages/config-markdownlint/node_modules/markdownlint/lib/md029.mjs +95 -0
  113. package/packages/config-markdownlint/node_modules/markdownlint/lib/md030.mjs +57 -0
  114. package/packages/config-markdownlint/node_modules/markdownlint/lib/md031.mjs +61 -0
  115. package/packages/config-markdownlint/node_modules/markdownlint/lib/md032.mjs +79 -0
  116. package/packages/config-markdownlint/node_modules/markdownlint/lib/md033.mjs +46 -0
  117. package/packages/config-markdownlint/node_modules/markdownlint/lib/md034.mjs +92 -0
  118. package/packages/config-markdownlint/node_modules/markdownlint/lib/md035.mjs +23 -0
  119. package/packages/config-markdownlint/node_modules/markdownlint/lib/md036.mjs +55 -0
  120. package/packages/config-markdownlint/node_modules/markdownlint/lib/md037.mjs +93 -0
  121. package/packages/config-markdownlint/node_modules/markdownlint/lib/md038.mjs +73 -0
  122. package/packages/config-markdownlint/node_modules/markdownlint/lib/md039.mjs +63 -0
  123. package/packages/config-markdownlint/node_modules/markdownlint/lib/md040.mjs +32 -0
  124. package/packages/config-markdownlint/node_modules/markdownlint/lib/md041.mjs +71 -0
  125. package/packages/config-markdownlint/node_modules/markdownlint/lib/md042.mjs +58 -0
  126. package/packages/config-markdownlint/node_modules/markdownlint/lib/md043.mjs +126 -0
  127. package/packages/config-markdownlint/node_modules/markdownlint/lib/md044.mjs +110 -0
  128. package/packages/config-markdownlint/node_modules/markdownlint/lib/md045.mjs +61 -0
  129. package/packages/config-markdownlint/node_modules/markdownlint/lib/md046.mjs +31 -0
  130. package/packages/config-markdownlint/node_modules/markdownlint/lib/md047.mjs +28 -0
  131. package/packages/config-markdownlint/node_modules/markdownlint/lib/md048.mjs +45 -0
  132. package/packages/config-markdownlint/node_modules/markdownlint/lib/md049-md050.mjs +115 -0
  133. package/packages/config-markdownlint/node_modules/markdownlint/lib/md051.mjs +173 -0
  134. package/packages/config-markdownlint/node_modules/markdownlint/lib/md052.mjs +40 -0
  135. package/packages/config-markdownlint/node_modules/markdownlint/lib/md053.mjs +60 -0
  136. package/packages/config-markdownlint/node_modules/markdownlint/lib/md054.mjs +122 -0
  137. package/packages/config-markdownlint/node_modules/markdownlint/lib/md055.mjs +82 -0
  138. package/packages/config-markdownlint/node_modules/markdownlint/lib/md056.mjs +50 -0
  139. package/packages/config-markdownlint/node_modules/markdownlint/lib/md058.mjs +57 -0
  140. package/packages/config-markdownlint/node_modules/markdownlint/lib/md059.mjs +71 -0
  141. package/packages/config-markdownlint/node_modules/markdownlint/lib/md060.mjs +229 -0
  142. package/packages/config-markdownlint/node_modules/markdownlint/lib/micromark-parse.mjs +338 -0
  143. package/packages/config-markdownlint/node_modules/markdownlint/lib/micromark-types.d.mts +11 -0
  144. package/packages/config-markdownlint/node_modules/markdownlint/lib/node-imports-browser.mjs +22 -0
  145. package/packages/config-markdownlint/node_modules/markdownlint/lib/node-imports-node.mjs +11 -0
  146. package/packages/config-markdownlint/node_modules/markdownlint/lib/parse-configuration.mjs +47 -0
  147. package/packages/config-markdownlint/node_modules/markdownlint/lib/resolve-module.cjs +53 -0
  148. package/packages/config-markdownlint/node_modules/markdownlint/lib/resolve-module.d.cts +39 -0
  149. package/packages/config-markdownlint/node_modules/markdownlint/lib/rules.mjs +122 -0
  150. package/packages/config-markdownlint/node_modules/markdownlint/lib/types.d.mts +13 -0
  151. package/packages/config-markdownlint/node_modules/markdownlint/package.json +119 -0
  152. package/packages/config-markdownlint/node_modules/markdownlint/schema/.markdownlint.jsonc +349 -0
  153. package/packages/config-markdownlint/node_modules/markdownlint/schema/.markdownlint.yaml +310 -0
  154. package/packages/config-markdownlint/node_modules/markdownlint/schema/ValidatingConfiguration.md +26 -0
  155. package/packages/config-markdownlint/node_modules/markdownlint/schema/markdownlint-config-schema-strict.json +5146 -0
  156. package/packages/config-markdownlint/node_modules/markdownlint/schema/markdownlint-config-schema.json +5151 -0
  157. package/packages/config-markdownlint/node_modules/markdownlint/style/all.json +5 -0
  158. package/packages/config-markdownlint/node_modules/markdownlint/style/cirosantilli.json +22 -0
  159. package/packages/config-markdownlint/node_modules/markdownlint/style/prettier.json +27 -0
  160. package/packages/config-markdownlint/node_modules/markdownlint/style/relaxed.json +12 -0
  161. package/packages/config-markdownlint/node_modules/micromark/dev/index.d.ts +82 -0
  162. package/packages/config-markdownlint/node_modules/micromark/dev/index.d.ts.map +1 -0
  163. package/packages/config-markdownlint/node_modules/micromark/dev/index.js +68 -0
  164. package/packages/config-markdownlint/node_modules/micromark/dev/lib/compile.d.ts +16 -0
  165. package/packages/config-markdownlint/node_modules/micromark/dev/lib/compile.d.ts.map +1 -0
  166. package/packages/config-markdownlint/node_modules/micromark/dev/lib/compile.js +1162 -0
  167. package/packages/config-markdownlint/node_modules/micromark/dev/lib/constructs.d.ts +73 -0
  168. package/packages/config-markdownlint/node_modules/micromark/dev/lib/constructs.d.ts.map +1 -0
  169. package/packages/config-markdownlint/node_modules/micromark/dev/lib/constructs.js +101 -0
  170. package/packages/config-markdownlint/node_modules/micromark/dev/lib/create-tokenizer.d.ts +46 -0
  171. package/packages/config-markdownlint/node_modules/micromark/dev/lib/create-tokenizer.d.ts.map +1 -0
  172. package/packages/config-markdownlint/node_modules/micromark/dev/lib/create-tokenizer.js +718 -0
  173. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/content.d.ts +4 -0
  174. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/content.d.ts.map +1 -0
  175. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/content.js +99 -0
  176. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/document.d.ts +10 -0
  177. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/document.d.ts.map +1 -0
  178. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/document.js +449 -0
  179. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/flow.d.ts +4 -0
  180. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/flow.d.ts.map +1 -0
  181. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/flow.js +86 -0
  182. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/text.d.ts +8 -0
  183. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/text.d.ts.map +1 -0
  184. package/packages/config-markdownlint/node_modules/micromark/dev/lib/initialize/text.js +248 -0
  185. package/packages/config-markdownlint/node_modules/micromark/dev/lib/parse.d.ts +10 -0
  186. package/packages/config-markdownlint/node_modules/micromark/dev/lib/parse.d.ts.map +1 -0
  187. package/packages/config-markdownlint/node_modules/micromark/dev/lib/parse.js +58 -0
  188. package/packages/config-markdownlint/node_modules/micromark/dev/lib/postprocess.d.ts +9 -0
  189. package/packages/config-markdownlint/node_modules/micromark/dev/lib/postprocess.d.ts.map +1 -0
  190. package/packages/config-markdownlint/node_modules/micromark/dev/lib/postprocess.js +19 -0
  191. package/packages/config-markdownlint/node_modules/micromark/dev/lib/preprocess.d.ts +13 -0
  192. package/packages/config-markdownlint/node_modules/micromark/dev/lib/preprocess.d.ts.map +1 -0
  193. package/packages/config-markdownlint/node_modules/micromark/dev/lib/preprocess.js +139 -0
  194. package/packages/config-markdownlint/node_modules/micromark/dev/stream.d.ts +35 -0
  195. package/packages/config-markdownlint/node_modules/micromark/dev/stream.d.ts.map +1 -0
  196. package/packages/config-markdownlint/node_modules/micromark/dev/stream.js +270 -0
  197. package/packages/config-markdownlint/node_modules/micromark/index.d.ts +82 -0
  198. package/packages/config-markdownlint/node_modules/micromark/index.d.ts.map +1 -0
  199. package/packages/config-markdownlint/node_modules/micromark/index.js +60 -0
  200. package/packages/config-markdownlint/node_modules/micromark/lib/compile.d.ts +16 -0
  201. package/packages/config-markdownlint/node_modules/micromark/lib/compile.d.ts.map +1 -0
  202. package/packages/config-markdownlint/node_modules/micromark/lib/compile.js +1068 -0
  203. package/packages/config-markdownlint/node_modules/micromark/lib/constructs.d.ts +73 -0
  204. package/packages/config-markdownlint/node_modules/micromark/lib/constructs.d.ts.map +1 -0
  205. package/packages/config-markdownlint/node_modules/micromark/lib/constructs.js +85 -0
  206. package/packages/config-markdownlint/node_modules/micromark/lib/create-tokenizer.d.ts +46 -0
  207. package/packages/config-markdownlint/node_modules/micromark/lib/create-tokenizer.d.ts.map +1 -0
  208. package/packages/config-markdownlint/node_modules/micromark/lib/create-tokenizer.js +613 -0
  209. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/content.d.ts +4 -0
  210. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/content.d.ts.map +1 -0
  211. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/content.js +79 -0
  212. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/document.d.ts +10 -0
  213. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/document.d.ts.map +1 -0
  214. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/document.js +370 -0
  215. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/flow.d.ts +4 -0
  216. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/flow.d.ts.map +1 -0
  217. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/flow.js +58 -0
  218. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/text.d.ts +8 -0
  219. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/text.d.ts.map +1 -0
  220. package/packages/config-markdownlint/node_modules/micromark/lib/initialize/text.js +216 -0
  221. package/packages/config-markdownlint/node_modules/micromark/lib/parse.d.ts +10 -0
  222. package/packages/config-markdownlint/node_modules/micromark/lib/parse.d.ts.map +1 -0
  223. package/packages/config-markdownlint/node_modules/micromark/lib/parse.js +56 -0
  224. package/packages/config-markdownlint/node_modules/micromark/lib/postprocess.d.ts +9 -0
  225. package/packages/config-markdownlint/node_modules/micromark/lib/postprocess.d.ts.map +1 -0
  226. package/packages/config-markdownlint/node_modules/micromark/lib/postprocess.js +18 -0
  227. package/packages/config-markdownlint/node_modules/micromark/lib/preprocess.d.ts +13 -0
  228. package/packages/config-markdownlint/node_modules/micromark/lib/preprocess.d.ts.map +1 -0
  229. package/packages/config-markdownlint/node_modules/micromark/lib/preprocess.js +112 -0
  230. package/packages/config-markdownlint/node_modules/micromark/license +22 -0
  231. package/packages/config-markdownlint/node_modules/micromark/package.json +87 -0
  232. package/packages/config-markdownlint/node_modules/micromark/readme.md +488 -0
  233. package/packages/config-markdownlint/node_modules/micromark/stream.d.ts +35 -0
  234. package/packages/config-markdownlint/node_modules/micromark/stream.d.ts.map +1 -0
  235. package/packages/config-markdownlint/node_modules/micromark/stream.js +256 -0
  236. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/index.d.ts +23 -0
  237. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/index.d.ts.map +1 -0
  238. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/index.js +22 -0
  239. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/attention.d.ts +4 -0
  240. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/attention.d.ts.map +1 -0
  241. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/attention.js +294 -0
  242. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/autolink.d.ts +4 -0
  243. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/autolink.d.ts.map +1 -0
  244. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/autolink.js +269 -0
  245. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/blank-line.d.ts +4 -0
  246. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/blank-line.d.ts.map +1 -0
  247. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/blank-line.js +62 -0
  248. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/block-quote.d.ts +4 -0
  249. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/block-quote.d.ts.map +1 -0
  250. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/block-quote.js +162 -0
  251. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/character-escape.d.ts +4 -0
  252. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/character-escape.d.ts.map +1 -0
  253. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/character-escape.js +69 -0
  254. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/character-reference.d.ts +4 -0
  255. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/character-reference.d.ts.map +1 -0
  256. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/character-reference.js +166 -0
  257. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-fenced.d.ts +4 -0
  258. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-fenced.d.ts.map +1 -0
  259. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-fenced.js +472 -0
  260. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-indented.d.ts +4 -0
  261. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-indented.d.ts.map +1 -0
  262. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-indented.js +178 -0
  263. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-text.d.ts +4 -0
  264. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-text.d.ts.map +1 -0
  265. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/code-text.js +257 -0
  266. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/content.d.ts +7 -0
  267. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/content.d.ts.map +1 -0
  268. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/content.js +185 -0
  269. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/definition.d.ts +4 -0
  270. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/definition.d.ts.map +1 -0
  271. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/definition.js +295 -0
  272. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.d.ts +4 -0
  273. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.d.ts.map +1 -0
  274. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.js +65 -0
  275. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/heading-atx.d.ts +4 -0
  276. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/heading-atx.d.ts.map +1 -0
  277. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/heading-atx.js +229 -0
  278. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/html-flow.d.ts +4 -0
  279. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/html-flow.d.ts.map +1 -0
  280. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/html-flow.js +938 -0
  281. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/html-text.d.ts +4 -0
  282. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/html-text.d.ts.map +1 -0
  283. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/html-text.js +783 -0
  284. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-end.d.ts +4 -0
  285. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-end.d.ts.map +1 -0
  286. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-end.js +658 -0
  287. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-start-image.d.ts +4 -0
  288. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-start-image.d.ts.map +1 -0
  289. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-start-image.js +119 -0
  290. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-start-link.d.ts +4 -0
  291. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-start-link.d.ts.map +1 -0
  292. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/label-start-link.js +71 -0
  293. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/line-ending.d.ts +4 -0
  294. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/line-ending.d.ts.map +1 -0
  295. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/line-ending.js +34 -0
  296. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/list.d.ts +4 -0
  297. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/list.d.ts.map +1 -0
  298. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/list.js +306 -0
  299. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/partial-non-lazy-continuation.d.ts +4 -0
  300. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/partial-non-lazy-continuation.d.ts.map +1 -0
  301. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/partial-non-lazy-continuation.js +67 -0
  302. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/setext-underline.d.ts +4 -0
  303. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/setext-underline.d.ts.map +1 -0
  304. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/setext-underline.js +213 -0
  305. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/thematic-break.d.ts +4 -0
  306. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/thematic-break.d.ts.map +1 -0
  307. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/dev/lib/thematic-break.js +120 -0
  308. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/index.d.ts +23 -0
  309. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/index.d.ts.map +1 -0
  310. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/index.js +22 -0
  311. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/attention.d.ts +4 -0
  312. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/attention.d.ts.map +1 -0
  313. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/attention.js +231 -0
  314. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/autolink.d.ts +4 -0
  315. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/autolink.d.ts.map +1 -0
  316. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/autolink.js +233 -0
  317. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/blank-line.d.ts +4 -0
  318. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/blank-line.d.ts.map +1 -0
  319. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/blank-line.js +61 -0
  320. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/block-quote.d.ts +4 -0
  321. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/block-quote.d.ts.map +1 -0
  322. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/block-quote.js +143 -0
  323. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/character-escape.d.ts +4 -0
  324. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/character-escape.d.ts.map +1 -0
  325. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/character-escape.js +64 -0
  326. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/character-reference.d.ts +4 -0
  327. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/character-reference.d.ts.map +1 -0
  328. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/character-reference.js +149 -0
  329. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-fenced.d.ts +4 -0
  330. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-fenced.d.ts.map +1 -0
  331. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-fenced.js +422 -0
  332. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-indented.d.ts +4 -0
  333. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-indented.d.ts.map +1 -0
  334. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-indented.js +159 -0
  335. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-text.d.ts +4 -0
  336. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-text.d.ts.map +1 -0
  337. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/code-text.js +225 -0
  338. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/content.d.ts +7 -0
  339. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/content.d.ts.map +1 -0
  340. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/content.js +163 -0
  341. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/definition.d.ts +4 -0
  342. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/definition.d.ts.map +1 -0
  343. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/definition.js +254 -0
  344. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/hard-break-escape.d.ts +4 -0
  345. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/hard-break-escape.d.ts.map +1 -0
  346. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/hard-break-escape.js +60 -0
  347. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/heading-atx.d.ts +4 -0
  348. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/heading-atx.d.ts.map +1 -0
  349. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/heading-atx.js +191 -0
  350. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/html-flow.d.ts +4 -0
  351. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/html-flow.d.ts.map +1 -0
  352. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/html-flow.js +827 -0
  353. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/html-text.d.ts +4 -0
  354. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/html-text.d.ts.map +1 -0
  355. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/html-text.js +678 -0
  356. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-end.d.ts +4 -0
  357. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-end.d.ts.map +1 -0
  358. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-end.js +561 -0
  359. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-start-image.d.ts +4 -0
  360. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-start-image.d.ts.map +1 -0
  361. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-start-image.js +110 -0
  362. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-start-link.d.ts +4 -0
  363. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-start-link.d.ts.map +1 -0
  364. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/label-start-link.js +63 -0
  365. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/line-ending.d.ts +4 -0
  366. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/line-ending.d.ts.map +1 -0
  367. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/line-ending.js +33 -0
  368. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/list.d.ts +4 -0
  369. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/list.d.ts.map +1 -0
  370. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/list.js +213 -0
  371. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.d.ts +4 -0
  372. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.d.ts.map +1 -0
  373. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.js +61 -0
  374. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/setext-underline.d.ts +4 -0
  375. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/setext-underline.d.ts.map +1 -0
  376. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/setext-underline.js +187 -0
  377. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/thematic-break.d.ts +4 -0
  378. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/thematic-break.d.ts.map +1 -0
  379. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/lib/thematic-break.js +102 -0
  380. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/license +22 -0
  381. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/package.json +62 -0
  382. package/packages/config-markdownlint/node_modules/micromark-core-commonmark/readme.md +171 -0
  383. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/index.d.ts +55 -0
  384. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/index.js +2 -0
  385. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/edit-map.d.ts +51 -0
  386. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/edit-map.d.ts.map +1 -0
  387. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/edit-map.js +231 -0
  388. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/html.d.ts +11 -0
  389. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/html.d.ts.map +1 -0
  390. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/html.js +153 -0
  391. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/infer.d.ts +14 -0
  392. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/infer.d.ts.map +1 -0
  393. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/infer.js +64 -0
  394. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/syntax.d.ts +18 -0
  395. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/syntax.d.ts.map +1 -0
  396. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/dev/lib/syntax.js +964 -0
  397. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/index.d.ts +55 -0
  398. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/index.js +2 -0
  399. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/edit-map.d.ts +51 -0
  400. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/edit-map.d.ts.map +1 -0
  401. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/edit-map.js +222 -0
  402. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/html.d.ts +11 -0
  403. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/html.d.ts.map +1 -0
  404. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/html.js +135 -0
  405. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/infer.d.ts +14 -0
  406. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/infer.d.ts.map +1 -0
  407. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/infer.js +52 -0
  408. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/syntax.d.ts +18 -0
  409. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/syntax.d.ts.map +1 -0
  410. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/lib/syntax.js +846 -0
  411. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/license +22 -0
  412. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/package.json +86 -0
  413. package/packages/config-markdownlint/node_modules/micromark-extension-gfm-table/readme.md +515 -0
  414. package/packages/config-markdownlint/node_modules/micromark-util-types/index.d.ts +1315 -0
  415. package/packages/config-markdownlint/node_modules/micromark-util-types/index.js +2 -0
  416. package/packages/config-markdownlint/node_modules/micromark-util-types/license +22 -0
  417. package/packages/config-markdownlint/node_modules/micromark-util-types/package.json +37 -0
  418. package/packages/config-markdownlint/node_modules/micromark-util-types/readme.md +151 -0
  419. package/packages/config-markdownlint/node_modules/string-width/index.d.ts +39 -0
  420. package/packages/config-markdownlint/node_modules/string-width/index.js +203 -0
  421. package/packages/config-markdownlint/node_modules/string-width/license +9 -0
  422. package/packages/config-markdownlint/node_modules/string-width/package.json +65 -0
  423. package/packages/config-markdownlint/node_modules/string-width/readme.md +66 -0
  424. package/packages/config-markdownlint/node_modules/strip-ansi/index.d.ts +15 -0
  425. package/packages/config-markdownlint/node_modules/strip-ansi/index.js +19 -0
  426. package/packages/config-markdownlint/node_modules/strip-ansi/license +9 -0
  427. package/packages/config-markdownlint/node_modules/strip-ansi/package.json +59 -0
  428. package/packages/config-markdownlint/node_modules/strip-ansi/readme.md +37 -0
  429. package/packages/config-markdownlint/package.json +2 -2
@@ -0,0 +1,57 @@
1
+ // @ts-check
2
+
3
+ import { addErrorContext, isBlankLine } from "../helpers/helpers.cjs";
4
+ import { getBlockQuotePrefixText } from "../helpers/micromark-helpers.cjs";
5
+ import { filterByTypesCached } from "./cache.mjs";
6
+
7
+ /** @typedef {typeof import("micromark-extension-gfm-table")} _ambient_ */
8
+
9
+ /** @type {import("markdownlint").Rule} */
10
+ export default {
11
+ "names": [ "MD058", "blanks-around-tables" ],
12
+ "description": "Tables should be surrounded by blank lines",
13
+ "tags": [ "table" ],
14
+ "parser": "micromark",
15
+ "function": function MD058(params, onError) {
16
+ const { lines } = params;
17
+ const blockQuotePrefixes = filterByTypesCached([ "blockQuotePrefix", "linePrefix" ]);
18
+
19
+ // For every table...
20
+ const tables = filterByTypesCached([ "table" ]);
21
+ for (const table of tables) {
22
+
23
+ // Look for a blank line above the table
24
+ const firstLineNumber = table.startLine;
25
+ if (!isBlankLine(lines[firstLineNumber - 2])) {
26
+ addErrorContext(
27
+ onError,
28
+ firstLineNumber,
29
+ lines[firstLineNumber - 1].trim(),
30
+ undefined,
31
+ undefined,
32
+ undefined,
33
+ {
34
+ "insertText": getBlockQuotePrefixText(blockQuotePrefixes, firstLineNumber)
35
+ }
36
+ );
37
+ }
38
+
39
+ // Look for a blank line below the table
40
+ const lastLineNumber = table.endLine;
41
+ if (!isBlankLine(lines[lastLineNumber])) {
42
+ addErrorContext(
43
+ onError,
44
+ lastLineNumber,
45
+ lines[lastLineNumber - 1].trim(),
46
+ undefined,
47
+ undefined,
48
+ undefined,
49
+ {
50
+ "lineNumber": lastLineNumber + 1,
51
+ "insertText": getBlockQuotePrefixText(blockQuotePrefixes, lastLineNumber)
52
+ }
53
+ );
54
+ }
55
+ }
56
+ }
57
+ };
@@ -0,0 +1,71 @@
1
+ // @ts-check
2
+
3
+ import { addErrorContext } from "../helpers/helpers.cjs";
4
+ import { getDescendantsByType } from "../helpers/micromark-helpers.cjs";
5
+ import { filterByTypesCached } from "./cache.mjs";
6
+
7
+ /** @typedef {import("markdownlint").MicromarkTokenType} MicromarkTokenType */
8
+ /** @type {Set<MicromarkTokenType>} */
9
+ const allowedChildrenTypes = new Set([
10
+ "codeText",
11
+ "htmlText"
12
+ ]);
13
+ const defaultProhibitedTexts = [
14
+ "click here",
15
+ "here",
16
+ "link",
17
+ "more"
18
+ ];
19
+
20
+ /**
21
+ * Normalizes a string by removing extra whitespaces and punctuation.
22
+ *
23
+ * @param {string} str String to normalize.
24
+ * @returns {string} Normalized string.
25
+ */
26
+ function normalize(str) {
27
+ return str
28
+ .replace(/[\W_]+/g, " ")
29
+ .replace(/\s+/g, " ")
30
+ .toLowerCase()
31
+ .trim();
32
+ }
33
+
34
+ /** @type {import("markdownlint").Rule} */
35
+ export default {
36
+ "names": [ "MD059", "descriptive-link-text" ],
37
+ "description": "Link text should be descriptive",
38
+ "tags": [ "accessibility", "links" ],
39
+ "parser": "micromark",
40
+ "function": function MD059(params, onError) {
41
+ const prohibitedTexts = new Set(
42
+ (params.config.prohibited_texts || defaultProhibitedTexts).map(normalize)
43
+ );
44
+ if (prohibitedTexts.size > 0) {
45
+ const links = filterByTypesCached([ "link" ]);
46
+ for (const link of links) {
47
+ const labelTexts = getDescendantsByType(link, [ "label", "labelText" ]);
48
+ for (const labelText of labelTexts) {
49
+ const { children, endColumn, endLine, parent, startColumn, startLine, text } = labelText;
50
+ if (
51
+ !children.some((child) => allowedChildrenTypes.has(child.type)) &&
52
+ prohibitedTexts.has(normalize(text))
53
+ ) {
54
+ const range = (startLine === endLine) ?
55
+ [ startColumn, endColumn - startColumn ] :
56
+ undefined;
57
+ addErrorContext(
58
+ onError,
59
+ startLine,
60
+ // @ts-ignore
61
+ parent.text,
62
+ undefined,
63
+ undefined,
64
+ range
65
+ );
66
+ }
67
+ }
68
+ }
69
+ }
70
+ }
71
+ };
@@ -0,0 +1,229 @@
1
+ // @ts-check
2
+
3
+ import { filterByTypes } from "../helpers/micromark-helpers.cjs";
4
+ import { filterByTypesCached } from "./cache.mjs";
5
+ import stringWidth from "string-width";
6
+
7
+ /** @typedef {typeof import("micromark-extension-gfm-table")} _ambient_ */
8
+ /** @typedef {import("markdownlint").MicromarkToken} MicromarkToken */
9
+ /** @typedef {import("markdownlint").RuleOnErrorInfo} RuleOnErrorInfo */
10
+ /** @typedef {import("markdownlint").RuleOnErrorFixInfo} RuleOnErrorFixInfo */
11
+
12
+ // Regular expression to match text that could represent an unordered list item prefix
13
+ const unorderedListPrefix = /^[>\s]*[-+*]$/;
14
+
15
+ /**
16
+ * Adds a RuleOnErrorInfo object to a list of RuleOnErrorInfo objects.
17
+ *
18
+ * @param {RuleOnErrorInfo[]} errors List of errors.
19
+ * @param {readonly string[]} lines File/string lines.
20
+ * @param {number} lineNumber Line number.
21
+ * @param {number} column Column number.
22
+ * @param {string} detail Detail message.
23
+ * @param {RuleOnErrorFixInfo} [fixInfo] Fix information.
24
+ * @returns {void}
25
+ */
26
+ function addError(errors, lines, lineNumber, column, detail, fixInfo) {
27
+ if (
28
+ fixInfo &&
29
+ (fixInfo.insertText === " ") &&
30
+ fixInfo.editColumn &&
31
+ unorderedListPrefix.test(lines[lineNumber - 1].slice(0, fixInfo.editColumn - 1))
32
+ ) {
33
+ // Do not apply edits that would change a table cell into an unordered list item
34
+ fixInfo = undefined;
35
+ }
36
+ errors.push({
37
+ lineNumber,
38
+ detail,
39
+ "range": [ column, 1 ],
40
+ fixInfo
41
+ });
42
+ }
43
+
44
+ /**
45
+ * @typedef Column
46
+ * @property {number} actual Actual column (1-based).
47
+ * @property {number} effective Effective column (1-based).
48
+ */
49
+
50
+ /**
51
+ * Gets a list of table cell divider columns.
52
+ *
53
+ * @param {readonly string[]} lines File/string lines.
54
+ * @param {MicromarkToken} row Micromark row token.
55
+ * @returns {Column[]} Divider columns.
56
+ */
57
+ function getTableDividerColumns(lines, row) {
58
+ return filterByTypes(
59
+ row.children,
60
+ [ "tableCellDivider" ]
61
+ ).map(
62
+ (divider) => ({
63
+ "actual": divider.startColumn,
64
+ "effective": stringWidth(lines[row.startLine - 1].slice(0, divider.startColumn - 1))
65
+ })
66
+ );
67
+ }
68
+
69
+ /**
70
+ * Checks the specified table rows for consistency with the "aligned" style.
71
+ *
72
+ * @param {readonly string[]} lines File/string lines.
73
+ * @param {MicromarkToken[]} rows Micromark row tokens.
74
+ * @param {string} detail Detail message.
75
+ * @returns {RuleOnErrorInfo[]} List of errors.
76
+ */
77
+ function checkStyleAligned(lines, rows, detail) {
78
+ /** @type {RuleOnErrorInfo[]} */
79
+ const errorInfos = [];
80
+ const headerRow = rows[0];
81
+ const headerDividerColumns = getTableDividerColumns(lines, headerRow);
82
+ for (const row of rows.slice(1)) {
83
+ const remainingHeaderDividerColumns = new Set(headerDividerColumns.map((column) => column.effective));
84
+ const rowDividerColumns = getTableDividerColumns(lines, row);
85
+ for (const dividerColumn of rowDividerColumns) {
86
+ if ((remainingHeaderDividerColumns.size > 0) && !remainingHeaderDividerColumns.delete(dividerColumn.effective)) {
87
+ addError(errorInfos, lines, row.startLine, dividerColumn.actual, detail);
88
+ }
89
+ }
90
+ }
91
+ return errorInfos;
92
+ }
93
+
94
+ /** @type {import("markdownlint").Rule} */
95
+ export default {
96
+ "names": [ "MD060", "table-column-style" ],
97
+ "description": "Table column style",
98
+ "tags": [ "table" ],
99
+ "parser": "micromark",
100
+ "function": function MD060(params, onError) {
101
+ const style = String(params.config.style || "any");
102
+ const styleAlignedAllowed = (style === "any") || (style === "aligned");
103
+ const styleCompactAllowed = (style === "any") || (style === "compact");
104
+ const styleTightAllowed = (style === "any") || (style === "tight");
105
+ const alignedDelimiter = !!params.config.aligned_delimiter;
106
+ const lines = params.lines;
107
+
108
+ // Scan all tables/rows
109
+ const tables = filterByTypesCached([ "table" ]);
110
+ for (const table of tables) {
111
+ const rows = filterByTypes(table.children, [ "tableDelimiterRow", "tableRow" ]);
112
+
113
+ // Determine errors for style "aligned"
114
+ /** @type {RuleOnErrorInfo[]} */
115
+ const errorsIfAligned = [];
116
+ if (styleAlignedAllowed) {
117
+ errorsIfAligned.push(...checkStyleAligned(lines, rows, "Table pipe does not align with header for style \"aligned\""));
118
+ }
119
+
120
+ // Determine errors for styles "compact" and "tight"
121
+ /** @type {RuleOnErrorInfo[]} */
122
+ const errorsIfCompact = [];
123
+ /** @type {RuleOnErrorInfo[]} */
124
+ const errorsIfTight = [];
125
+ if (
126
+ (styleCompactAllowed || styleTightAllowed) &&
127
+ !(styleAlignedAllowed && (errorsIfAligned.length === 0))
128
+ ) {
129
+ if (alignedDelimiter) {
130
+ const errorInfos = checkStyleAligned(lines, rows.slice(0, 2), "Table pipe does not align with header for option \"aligned_delimiter\"");
131
+ errorsIfCompact.push(...errorInfos);
132
+ errorsIfTight.push(...errorInfos);
133
+ }
134
+ for (const row of rows) {
135
+ const tokensOfInterest = filterByTypes(row.children, [ "tableCellDivider", "tableContent", "whitespace" ]);
136
+ for (let i = 0; i < tokensOfInterest.length; i++) {
137
+ const { startColumn, startLine, type } = tokensOfInterest[i];
138
+ if (type === "tableCellDivider") {
139
+ const previous = tokensOfInterest[i - 1];
140
+ if (previous) {
141
+ if (previous.type === "whitespace") {
142
+ if (previous.text.length !== 1) {
143
+ addError(
144
+ errorsIfCompact,
145
+ lines,
146
+ startLine,
147
+ startColumn,
148
+ "Table pipe has extra space to the left for style \"compact\"",
149
+ { "editColumn": previous.startColumn, "deleteCount": previous.text.length - 1 }
150
+ );
151
+ }
152
+ addError(
153
+ errorsIfTight,
154
+ lines,
155
+ startLine,
156
+ startColumn,
157
+ "Table pipe has space to the left for style \"tight\"",
158
+ { "editColumn": previous.startColumn, "deleteCount": previous.text.length }
159
+ );
160
+ } else {
161
+ addError(
162
+ errorsIfCompact,
163
+ lines,
164
+ startLine,
165
+ startColumn,
166
+ "Table pipe is missing space to the left for style \"compact\"",
167
+ { "editColumn": previous.endColumn, "insertText": " " }
168
+ );
169
+ }
170
+ }
171
+ const next = tokensOfInterest[i + 1];
172
+ if (next) {
173
+ if (next.type === "whitespace") {
174
+ if (next.endColumn !== row.endColumn) {
175
+ if (next.text.length !== 1) {
176
+ addError(
177
+ errorsIfCompact,
178
+ lines,
179
+ startLine,
180
+ startColumn,
181
+ "Table pipe has extra space to the right for style \"compact\"",
182
+ { "editColumn": next.startColumn, "deleteCount": next.text.length - 1 }
183
+ );
184
+ }
185
+ addError(
186
+ errorsIfTight,
187
+ lines,
188
+ startLine,
189
+ startColumn,
190
+ "Table pipe has space to the right for style \"tight\"",
191
+ { "editColumn": next.startColumn, "deleteCount": next.text.length }
192
+ );
193
+ }
194
+ } else {
195
+ addError(
196
+ errorsIfCompact,
197
+ lines,
198
+ startLine,
199
+ startColumn,
200
+ "Table pipe is missing space to the right for style \"compact\"",
201
+ { "editColumn": next.startColumn, "insertText": " " }
202
+ );
203
+ }
204
+ }
205
+ }
206
+ }
207
+ }
208
+ }
209
+
210
+ // Report errors for whatever (allowed) style has the fewest
211
+ let errorInfos = errorsIfAligned;
212
+ if (
213
+ styleCompactAllowed &&
214
+ (!styleAlignedAllowed || (errorsIfCompact.length < errorInfos.length))
215
+ ) {
216
+ errorInfos = errorsIfCompact;
217
+ }
218
+ if (
219
+ styleTightAllowed &&
220
+ ((errorsIfTight.length < errorInfos.length) || (!styleAlignedAllowed && !styleCompactAllowed))
221
+ ) {
222
+ errorInfos = errorsIfTight;
223
+ }
224
+ for (const errorInfo of errorInfos) {
225
+ onError(errorInfo);
226
+ }
227
+ }
228
+ }
229
+ };
@@ -0,0 +1,338 @@
1
+ // @ts-check
2
+
3
+ import { directive } from "micromark-extension-directive";
4
+ import { gfmAutolinkLiteral } from "micromark-extension-gfm-autolink-literal";
5
+ import { gfmFootnote } from "micromark-extension-gfm-footnote";
6
+ import { gfmTable } from "micromark-extension-gfm-table";
7
+ import { math } from "micromark-extension-math";
8
+ import { parse as micromarkParse, postprocess as micromarkPostprocess, preprocess as micromarkPreprocess } from "micromark";
9
+ // micromark-core-commonmark must exactly match what's used by micromark for the shim below to work correctly
10
+ // Unfortunately, omitting this dependency from package.json breaks strict dependency resolution (e.g., pnpm)
11
+ import { labelEnd } from "micromark-core-commonmark";
12
+ import { isHtmlFlowComment } from "../helpers/micromark-helpers.cjs";
13
+ import { flatTokensSymbol, htmlFlowSymbol, newlineRe } from "../helpers/shared.cjs";
14
+
15
+ /** @typedef {import("micromark-util-types").Event} Event */
16
+ /** @typedef {import("micromark-util-types").Extension} Extension */
17
+ /** @typedef {import("micromark-util-types").ParseOptions} MicromarkParseOptions */
18
+ /** @typedef {import("micromark-util-types").State} State */
19
+ /** @typedef {import("micromark-util-types").Token} Token */
20
+ /** @typedef {import("micromark-util-types").Tokenizer} Tokenizer */
21
+ /** @typedef {import("markdownlint").MicromarkToken} MicromarkToken */
22
+ /** @typedef {typeof import("./micromark-types.d.mts")} _ambient_ */
23
+
24
+ /**
25
+ * Gets a modified micromark-extension-directive without support for inline directives.
26
+ *
27
+ * @see {@link https://github.com/DavidAnson/markdownlint/issues/2080}
28
+ * @returns {Extension} Modified implementation.
29
+ */
30
+ function directiveNoInline() {
31
+ const extension = {
32
+ ...directive()
33
+ };
34
+ delete extension.text;
35
+ return extension;
36
+ }
37
+
38
+ /**
39
+ * Gets the Markdown text for a Micromark token.
40
+ *
41
+ * @param {string} markdown Markdown content.
42
+ * @param {Token} token Micromark token.
43
+ * @returns {string} Token text.
44
+ */
45
+ function getText(markdown, token) {
46
+ return markdown.slice(token.start.offset, token.end.offset);
47
+ }
48
+
49
+ /**
50
+ * Parse options.
51
+ *
52
+ * @typedef {Object} ParseOptions
53
+ * @property {boolean} [freezeTokens] Whether to freeze output Tokens.
54
+ */
55
+
56
+ /**
57
+ * Parses a Markdown document and returns Micromark events.
58
+ *
59
+ * @param {string} markdown Markdown document.
60
+ * @param {MicromarkParseOptions} [micromarkParseOptions] Options for micromark.
61
+ * @returns {Event[]} Micromark events.
62
+ */
63
+ export function getEvents(
64
+ markdown,
65
+ micromarkParseOptions = {}
66
+ ) {
67
+ // Customize extensions list to add useful extensions
68
+ const extensions = [
69
+ directiveNoInline(),
70
+ gfmAutolinkLiteral(),
71
+ gfmFootnote(),
72
+ gfmTable(),
73
+ math(),
74
+ ...(micromarkParseOptions.extensions || [])
75
+ ];
76
+
77
+ // // Shim labelEnd to identify undefined link labels
78
+ /** @type {Event[][]} */
79
+ const artificialEventLists = [];
80
+ const tokenizeOriginal = labelEnd.tokenize;
81
+
82
+ /** @type {Tokenizer} */
83
+ function tokenizeShim(effects, okOriginal, nokOriginal) {
84
+ // eslint-disable-next-line consistent-this, no-invalid-this, unicorn/no-this-assignment, unicorn/no-this-outside-of-class
85
+ const tokenizeContext = this;
86
+ const events = tokenizeContext.events;
87
+
88
+ /** @type {State} */
89
+ const nokShim = (code) => {
90
+ // Find start of label (image or link)
91
+ let indexStart = events.length;
92
+ while (--indexStart >= 0) {
93
+ const event = events[indexStart];
94
+ const [ kind, token ] = event;
95
+ if (kind === "enter") {
96
+ const { type } = token;
97
+ if ((type === "labelImage") || (type === "labelLink")) {
98
+ // Found it
99
+ break;
100
+ }
101
+ }
102
+ }
103
+
104
+ // If found...
105
+ if (indexStart >= 0) {
106
+ // Create artificial enter/exit events and replicate all data/lineEnding events within
107
+ const eventStart = events[indexStart];
108
+ const [ , eventStartToken ] = eventStart;
109
+ const eventEnd = events[events.length - 1];
110
+ const [ , eventEndToken ] = eventEnd;
111
+ /** @type {Token} */
112
+ const undefinedReferenceType = {
113
+ "type": "undefinedReferenceShortcut",
114
+ "start": eventStartToken.start,
115
+ "end": eventEndToken.end
116
+ };
117
+ /** @type {Token} */
118
+ const undefinedReference = {
119
+ "type": "undefinedReference",
120
+ "start": eventStartToken.start,
121
+ "end": eventEndToken.end
122
+ };
123
+ const eventsToReplicate = events
124
+ .slice(indexStart)
125
+ .filter((event) => {
126
+ const [ , eventToken ] = event;
127
+ const { type } = eventToken;
128
+ return (type === "data") || (type === "lineEnding");
129
+ });
130
+
131
+ // Determine the type of the undefined reference
132
+ const previousUndefinedEvent = (artificialEventLists.length > 0) && artificialEventLists[artificialEventLists.length - 1][0];
133
+ const previousUndefinedToken = previousUndefinedEvent && previousUndefinedEvent[1];
134
+ if (
135
+ previousUndefinedToken &&
136
+ (previousUndefinedToken.end.line === undefinedReferenceType.start.line) &&
137
+ (previousUndefinedToken.end.column === undefinedReferenceType.start.column)
138
+ ) {
139
+ // Previous undefined reference event is immediately before this one
140
+ if (eventsToReplicate.length === 0) {
141
+ // The pair represent a collapsed reference (ex: [...][])
142
+ previousUndefinedToken.type = "undefinedReferenceCollapsed";
143
+ previousUndefinedToken.end = eventEndToken.end;
144
+ } else {
145
+ // The pair represent a full reference (ex: [...][...])
146
+ undefinedReferenceType.type = "undefinedReferenceFull";
147
+ undefinedReferenceType.start = previousUndefinedToken.start;
148
+ artificialEventLists.pop();
149
+ }
150
+ }
151
+
152
+ // Create artificial event list and replicate content
153
+ const text = eventsToReplicate
154
+ .filter((event) => event[0] === "enter")
155
+ .map((event) => getText(markdown, event[1]))
156
+ .join("")
157
+ .trim();
158
+ if ((text.length > 0) && !text.includes("]")) {
159
+ /** @type {Event[]} */
160
+ const artificialEvents = [
161
+ [ "enter", undefinedReferenceType, tokenizeContext ],
162
+ [ "enter", undefinedReference, tokenizeContext ]
163
+ ];
164
+ for (const event of eventsToReplicate) {
165
+ const [ kind, token ] = event;
166
+ // Copy token because the current object will get modified by the parser
167
+ artificialEvents.push([ kind, { ...token }, tokenizeContext ]);
168
+ }
169
+ artificialEvents.push(
170
+ [ "exit", undefinedReference, tokenizeContext ],
171
+ [ "exit", undefinedReferenceType, tokenizeContext ]
172
+ );
173
+ artificialEventLists.push(artificialEvents);
174
+ }
175
+ }
176
+
177
+ // Continue with original behavior
178
+ return nokOriginal(code);
179
+ };
180
+
181
+ // Shim nok handler of labelEnd's tokenize
182
+ return tokenizeOriginal.call(tokenizeContext, effects, okOriginal, nokShim);
183
+ }
184
+
185
+ try {
186
+ // Shim labelEnd behavior to detect undefined references
187
+ labelEnd.tokenize = tokenizeShim;
188
+
189
+ // Use micromark to parse document into Events
190
+ const encoding = undefined;
191
+ const eol = true;
192
+ const parseContext = micromarkParse({ ...micromarkParseOptions, extensions });
193
+ const chunks = micromarkPreprocess()(markdown, encoding, eol);
194
+ const events = micromarkPostprocess(parseContext.document().write(chunks));
195
+
196
+ // Append artificial events and return all events
197
+ // eslint-disable-next-line unicorn/prefer-spread
198
+ return events.concat(...artificialEventLists);
199
+ } finally {
200
+ // Restore shimmed labelEnd behavior
201
+ labelEnd.tokenize = tokenizeOriginal;
202
+ }
203
+ }
204
+
205
+ /**
206
+ * Parses a Markdown document and returns micromark tokens (internal).
207
+ *
208
+ * @param {string} markdown Markdown document.
209
+ * @param {ParseOptions} [parseOptions] Options.
210
+ * @param {MicromarkParseOptions} [micromarkParseOptions] Options for micromark.
211
+ * @param {number} [lineDelta] Offset for start/end line.
212
+ * @param {MicromarkToken} [ancestor] Parent of top-most tokens.
213
+ * @returns {MicromarkToken[]} Micromark tokens.
214
+ */
215
+ function parseInternal(
216
+ markdown,
217
+ parseOptions = {},
218
+ micromarkParseOptions = {},
219
+ lineDelta = 0,
220
+ ancestor = undefined
221
+ ) {
222
+ // Get options
223
+ const freezeTokens = Boolean(parseOptions.freezeTokens);
224
+
225
+ // Use micromark to parse document into Events
226
+ const events = getEvents(markdown, micromarkParseOptions);
227
+
228
+ // Create Token objects
229
+ /** @type {MicromarkToken[]} */
230
+ const document = [];
231
+ /** @type {MicromarkToken[]} */
232
+ let flatTokens = [];
233
+ /** @type {MicromarkToken} */
234
+ const root = {
235
+ "type": "data",
236
+ "startLine": -1,
237
+ "startColumn": -1,
238
+ "endLine": -1,
239
+ "endColumn": -1,
240
+ "text": "ROOT",
241
+ "children": document,
242
+ "parent": null
243
+ };
244
+ const history = [ root ];
245
+ let current = root;
246
+ /** @type {MicromarkParseOptions | null} */
247
+ let reparseOptions = null;
248
+ let lines = null;
249
+ let skipHtmlFlowChildren = false;
250
+ for (const event of events) {
251
+ const [ kind, token ] = event;
252
+ const { type, start, end } = token;
253
+ const { "column": startColumn, "line": startLine } = start;
254
+ const { "column": endColumn, "line": endLine } = end;
255
+ const text = getText(markdown, token);
256
+ if ((kind === "enter") && !skipHtmlFlowChildren) {
257
+ const previous = current;
258
+ history.push(previous);
259
+ current = {
260
+ type,
261
+ "startLine": startLine + lineDelta,
262
+ startColumn,
263
+ "endLine": endLine + lineDelta,
264
+ endColumn,
265
+ text,
266
+ "children": [],
267
+ "parent": ((previous === root) ? (ancestor || null) : previous)
268
+ };
269
+ if (ancestor) {
270
+ Object.defineProperty(current, htmlFlowSymbol, { "value": true });
271
+ }
272
+ previous.children.push(current);
273
+ flatTokens.push(current);
274
+ if ((current.type === "htmlFlow") && !isHtmlFlowComment(current)) {
275
+ skipHtmlFlowChildren = true;
276
+ if (!reparseOptions || !lines) {
277
+ reparseOptions = {
278
+ ...micromarkParseOptions,
279
+ "extensions": [
280
+ {
281
+ "disable": {
282
+ "null": [ "codeIndented", "htmlFlow" ]
283
+ }
284
+ }
285
+ ]
286
+ };
287
+ lines = markdown.split(newlineRe);
288
+ }
289
+ const reparseMarkdown = lines
290
+ .slice(current.startLine - 1, current.endLine)
291
+ .join("\n");
292
+ const tokens = parseInternal(
293
+ reparseMarkdown,
294
+ parseOptions,
295
+ reparseOptions,
296
+ current.startLine - 1,
297
+ current
298
+ );
299
+ current.children = tokens;
300
+ // eslint-disable-next-line unicorn/comment-content
301
+ // Avoid stack overflow of Array.push(...spread)
302
+ // @ts-ignore
303
+ // eslint-disable-next-line unicorn/no-array-concat-in-loop
304
+ flatTokens = flatTokens.concat(tokens[flatTokensSymbol]);
305
+ }
306
+ } else if (kind === "exit") {
307
+ if (type === "htmlFlow") {
308
+ skipHtmlFlowChildren = false;
309
+ }
310
+ if (!skipHtmlFlowChildren) {
311
+ if (freezeTokens) {
312
+ Object.freeze(current.children);
313
+ Object.freeze(current);
314
+ }
315
+ // @ts-ignore
316
+ current = history.pop();
317
+ }
318
+ }
319
+ }
320
+
321
+ // Return document
322
+ Object.defineProperty(document, flatTokensSymbol, { "value": flatTokens });
323
+ if (freezeTokens) {
324
+ Object.freeze(document);
325
+ }
326
+ return document;
327
+ }
328
+
329
+ /**
330
+ * Parses a Markdown document and returns micromark tokens.
331
+ *
332
+ * @param {string} markdown Markdown document.
333
+ * @param {ParseOptions} [parseOptions] Options.
334
+ * @returns {MicromarkToken[]} Micromark tokens.
335
+ */
336
+ export function parse(markdown, parseOptions) {
337
+ return parseInternal(markdown, parseOptions);
338
+ }