@alexlit/lint-kit 107.0.0 → 107.2.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 (193) hide show
  1. package/package.json +1 -11
  2. package/packages/config-commitlint/package.json +2 -2
  3. package/packages/config-eslint/package.json +4 -4
  4. package/packages/config-hooks/package.json +3 -3
  5. package/packages/config-markdownlint/node_modules/markdown-it/LICENSE +22 -0
  6. package/packages/config-markdownlint/node_modules/markdown-it/README.md +309 -0
  7. package/packages/config-markdownlint/node_modules/markdown-it/bin/markdown-it.js +117 -0
  8. package/packages/config-markdownlint/node_modules/markdown-it/dist/markdown-it.js +8441 -0
  9. package/packages/config-markdownlint/node_modules/markdown-it/dist/markdown-it.min.js +3 -0
  10. package/packages/config-markdownlint/node_modules/markdown-it/index.js +4 -0
  11. package/packages/config-markdownlint/node_modules/markdown-it/lib/common/entities.js +6 -0
  12. package/packages/config-markdownlint/node_modules/markdown-it/lib/common/html_blocks.js +70 -0
  13. package/packages/config-markdownlint/node_modules/markdown-it/lib/common/html_re.js +28 -0
  14. package/packages/config-markdownlint/node_modules/markdown-it/lib/common/utils.js +317 -0
  15. package/packages/config-markdownlint/node_modules/markdown-it/lib/helpers/index.js +7 -0
  16. package/packages/config-markdownlint/node_modules/markdown-it/lib/helpers/parse_link_destination.js +80 -0
  17. package/packages/config-markdownlint/node_modules/markdown-it/lib/helpers/parse_link_label.js +48 -0
  18. package/packages/config-markdownlint/node_modules/markdown-it/lib/helpers/parse_link_title.js +55 -0
  19. package/packages/config-markdownlint/node_modules/markdown-it/lib/index.js +582 -0
  20. package/packages/config-markdownlint/node_modules/markdown-it/lib/parser_block.js +131 -0
  21. package/packages/config-markdownlint/node_modules/markdown-it/lib/parser_core.js +61 -0
  22. package/packages/config-markdownlint/node_modules/markdown-it/lib/parser_inline.js +192 -0
  23. package/packages/config-markdownlint/node_modules/markdown-it/lib/presets/commonmark.js +81 -0
  24. package/packages/config-markdownlint/node_modules/markdown-it/lib/presets/default.js +41 -0
  25. package/packages/config-markdownlint/node_modules/markdown-it/lib/presets/zero.js +63 -0
  26. package/packages/config-markdownlint/node_modules/markdown-it/lib/renderer.js +341 -0
  27. package/packages/config-markdownlint/node_modules/markdown-it/lib/ruler.js +352 -0
  28. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/blockquote.js +226 -0
  29. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/code.js +34 -0
  30. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/fence.js +98 -0
  31. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/heading.js +55 -0
  32. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/hr.js +45 -0
  33. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/html_block.js +74 -0
  34. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/lheading.js +83 -0
  35. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/list.js +362 -0
  36. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/paragraph.js +51 -0
  37. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/reference.js +198 -0
  38. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/state_block.js +231 -0
  39. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_block/table.js +221 -0
  40. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/block.js +16 -0
  41. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/inline.js +13 -0
  42. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/linkify.js +142 -0
  43. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/normalize.js +21 -0
  44. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/replacements.js +105 -0
  45. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/smartquotes.js +201 -0
  46. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/state_core.js +20 -0
  47. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_core/text_join.js +45 -0
  48. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/autolink.js +76 -0
  49. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/backticks.js +63 -0
  50. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/balance_pairs.js +130 -0
  51. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/emphasis.js +130 -0
  52. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/entity.js +55 -0
  53. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/escape.js +71 -0
  54. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/fragments_join.js +41 -0
  55. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/html_inline.js +58 -0
  56. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/image.js +152 -0
  57. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/link.js +150 -0
  58. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/linkify.js +62 -0
  59. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/newline.js +46 -0
  60. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/state_inline.js +158 -0
  61. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/strikethrough.js +130 -0
  62. package/packages/config-markdownlint/node_modules/markdown-it/lib/rules_inline/text.js +89 -0
  63. package/packages/config-markdownlint/node_modules/markdown-it/lib/token.js +201 -0
  64. package/packages/config-markdownlint/node_modules/markdown-it/package.json +87 -0
  65. package/packages/config-markdownlint/node_modules/markdownlint/CHANGELOG.md +428 -0
  66. package/packages/config-markdownlint/node_modules/markdownlint/CONTRIBUTING.md +92 -0
  67. package/packages/config-markdownlint/node_modules/markdownlint/LICENSE +21 -0
  68. package/packages/config-markdownlint/node_modules/markdownlint/README.md +1026 -0
  69. package/packages/config-markdownlint/node_modules/markdownlint/demo/markdownlint-browser.js +6814 -0
  70. package/packages/config-markdownlint/node_modules/markdownlint/doc/CustomRules.md +376 -0
  71. package/packages/config-markdownlint/node_modules/markdownlint/doc/Prettier.md +27 -0
  72. package/packages/config-markdownlint/node_modules/markdownlint/doc/ReleaseProcess.md +20 -0
  73. package/packages/config-markdownlint/node_modules/markdownlint/doc/Rules.md +2335 -0
  74. package/packages/config-markdownlint/node_modules/markdownlint/doc/md001.md +37 -0
  75. package/packages/config-markdownlint/node_modules/markdownlint/doc/md003.md +59 -0
  76. package/packages/config-markdownlint/node_modules/markdownlint/doc/md004.md +49 -0
  77. package/packages/config-markdownlint/node_modules/markdownlint/doc/md005.md +53 -0
  78. package/packages/config-markdownlint/node_modules/markdownlint/doc/md007.md +52 -0
  79. package/packages/config-markdownlint/node_modules/markdownlint/doc/md009.md +51 -0
  80. package/packages/config-markdownlint/node_modules/markdownlint/doc/md010.md +56 -0
  81. package/packages/config-markdownlint/node_modules/markdownlint/doc/md011.md +30 -0
  82. package/packages/config-markdownlint/node_modules/markdownlint/doc/md012.md +38 -0
  83. package/packages/config-markdownlint/node_modules/markdownlint/doc/md013.md +57 -0
  84. package/packages/config-markdownlint/node_modules/markdownlint/doc/md014.md +54 -0
  85. package/packages/config-markdownlint/node_modules/markdownlint/doc/md018.md +27 -0
  86. package/packages/config-markdownlint/node_modules/markdownlint/doc/md019.md +28 -0
  87. package/packages/config-markdownlint/node_modules/markdownlint/doc/md020.md +29 -0
  88. package/packages/config-markdownlint/node_modules/markdownlint/doc/md021.md +31 -0
  89. package/packages/config-markdownlint/node_modules/markdownlint/doc/md022.md +52 -0
  90. package/packages/config-markdownlint/node_modules/markdownlint/doc/md023.md +33 -0
  91. package/packages/config-markdownlint/node_modules/markdownlint/doc/md024.md +47 -0
  92. package/packages/config-markdownlint/node_modules/markdownlint/doc/md025.md +49 -0
  93. package/packages/config-markdownlint/node_modules/markdownlint/doc/md026.md +40 -0
  94. package/packages/config-markdownlint/node_modules/markdownlint/doc/md027.md +24 -0
  95. package/packages/config-markdownlint/node_modules/markdownlint/doc/md028.md +40 -0
  96. package/packages/config-markdownlint/node_modules/markdownlint/doc/md029.md +98 -0
  97. package/packages/config-markdownlint/node_modules/markdownlint/doc/md030.md +82 -0
  98. package/packages/config-markdownlint/node_modules/markdownlint/doc/md031.md +50 -0
  99. package/packages/config-markdownlint/node_modules/markdownlint/doc/md032.md +55 -0
  100. package/packages/config-markdownlint/node_modules/markdownlint/doc/md033.md +27 -0
  101. package/packages/config-markdownlint/node_modules/markdownlint/doc/md034.md +50 -0
  102. package/packages/config-markdownlint/node_modules/markdownlint/doc/md035.md +42 -0
  103. package/packages/config-markdownlint/node_modules/markdownlint/doc/md036.md +45 -0
  104. package/packages/config-markdownlint/node_modules/markdownlint/doc/md037.md +37 -0
  105. package/packages/config-markdownlint/node_modules/markdownlint/doc/md038.md +40 -0
  106. package/packages/config-markdownlint/node_modules/markdownlint/doc/md039.md +21 -0
  107. package/packages/config-markdownlint/node_modules/markdownlint/doc/md040.md +52 -0
  108. package/packages/config-markdownlint/node_modules/markdownlint/doc/md041.md +49 -0
  109. package/packages/config-markdownlint/node_modules/markdownlint/doc/md042.md +32 -0
  110. package/packages/config-markdownlint/node_modules/markdownlint/doc/md043.md +69 -0
  111. package/packages/config-markdownlint/node_modules/markdownlint/doc/md044.md +35 -0
  112. package/packages/config-markdownlint/node_modules/markdownlint/doc/md045.md +40 -0
  113. package/packages/config-markdownlint/node_modules/markdownlint/doc/md046.md +40 -0
  114. package/packages/config-markdownlint/node_modules/markdownlint/doc/md047.md +34 -0
  115. package/packages/config-markdownlint/node_modules/markdownlint/doc/md048.md +41 -0
  116. package/packages/config-markdownlint/node_modules/markdownlint/doc/md049.md +32 -0
  117. package/packages/config-markdownlint/node_modules/markdownlint/doc/md050.md +32 -0
  118. package/packages/config-markdownlint/node_modules/markdownlint/doc/md051.md +61 -0
  119. package/packages/config-markdownlint/node_modules/markdownlint/doc/md052.md +40 -0
  120. package/packages/config-markdownlint/node_modules/markdownlint/doc/md053.md +38 -0
  121. package/packages/config-markdownlint/node_modules/markdownlint/doc/md054.md +100 -0
  122. package/packages/config-markdownlint/node_modules/markdownlint/helpers/LICENSE +21 -0
  123. package/packages/config-markdownlint/node_modules/markdownlint/helpers/README.md +70 -0
  124. package/packages/config-markdownlint/node_modules/markdownlint/helpers/helpers.js +1025 -0
  125. package/packages/config-markdownlint/node_modules/markdownlint/helpers/micromark.cjs +426 -0
  126. package/packages/config-markdownlint/node_modules/markdownlint/helpers/package.json +26 -0
  127. package/packages/config-markdownlint/node_modules/markdownlint/helpers/shared.js +10 -0
  128. package/packages/config-markdownlint/node_modules/markdownlint/lib/cache.js +21 -0
  129. package/packages/config-markdownlint/node_modules/markdownlint/lib/configuration.d.ts +1152 -0
  130. package/packages/config-markdownlint/node_modules/markdownlint/lib/constants.js +14 -0
  131. package/packages/config-markdownlint/node_modules/markdownlint/lib/markdownlint.d.ts +406 -0
  132. package/packages/config-markdownlint/node_modules/markdownlint/lib/markdownlint.js +1476 -0
  133. package/packages/config-markdownlint/node_modules/markdownlint/lib/md001.js +22 -0
  134. package/packages/config-markdownlint/node_modules/markdownlint/lib/md003.js +42 -0
  135. package/packages/config-markdownlint/node_modules/markdownlint/lib/md004.js +76 -0
  136. package/packages/config-markdownlint/node_modules/markdownlint/lib/md005.js +73 -0
  137. package/packages/config-markdownlint/node_modules/markdownlint/lib/md007.js +86 -0
  138. package/packages/config-markdownlint/node_modules/markdownlint/lib/md009.js +86 -0
  139. package/packages/config-markdownlint/node_modules/markdownlint/lib/md010.js +60 -0
  140. package/packages/config-markdownlint/node_modules/markdownlint/lib/md011.js +46 -0
  141. package/packages/config-markdownlint/node_modules/markdownlint/lib/md012.js +32 -0
  142. package/packages/config-markdownlint/node_modules/markdownlint/lib/md013.js +96 -0
  143. package/packages/config-markdownlint/node_modules/markdownlint/lib/md014.js +53 -0
  144. package/packages/config-markdownlint/node_modules/markdownlint/lib/md018.js +34 -0
  145. package/packages/config-markdownlint/node_modules/markdownlint/lib/md019.js +39 -0
  146. package/packages/config-markdownlint/node_modules/markdownlint/lib/md020.js +62 -0
  147. package/packages/config-markdownlint/node_modules/markdownlint/lib/md021.js +62 -0
  148. package/packages/config-markdownlint/node_modules/markdownlint/lib/md022.js +108 -0
  149. package/packages/config-markdownlint/node_modules/markdownlint/lib/md023.js +38 -0
  150. package/packages/config-markdownlint/node_modules/markdownlint/lib/md024.js +38 -0
  151. package/packages/config-markdownlint/node_modules/markdownlint/lib/md025.js +32 -0
  152. package/packages/config-markdownlint/node_modules/markdownlint/lib/md026.js +50 -0
  153. package/packages/config-markdownlint/node_modules/markdownlint/lib/md027.js +56 -0
  154. package/packages/config-markdownlint/node_modules/markdownlint/lib/md028.js +30 -0
  155. package/packages/config-markdownlint/node_modules/markdownlint/lib/md029.js +67 -0
  156. package/packages/config-markdownlint/node_modules/markdownlint/lib/md030.js +61 -0
  157. package/packages/config-markdownlint/node_modules/markdownlint/lib/md031.js +40 -0
  158. package/packages/config-markdownlint/node_modules/markdownlint/lib/md032.js +78 -0
  159. package/packages/config-markdownlint/node_modules/markdownlint/lib/md033.js +39 -0
  160. package/packages/config-markdownlint/node_modules/markdownlint/lib/md034.js +79 -0
  161. package/packages/config-markdownlint/node_modules/markdownlint/lib/md035.js +24 -0
  162. package/packages/config-markdownlint/node_modules/markdownlint/lib/md036.js +56 -0
  163. package/packages/config-markdownlint/node_modules/markdownlint/lib/md037.js +91 -0
  164. package/packages/config-markdownlint/node_modules/markdownlint/lib/md038.js +97 -0
  165. package/packages/config-markdownlint/node_modules/markdownlint/lib/md039.js +67 -0
  166. package/packages/config-markdownlint/node_modules/markdownlint/lib/md040.js +37 -0
  167. package/packages/config-markdownlint/node_modules/markdownlint/lib/md041.js +42 -0
  168. package/packages/config-markdownlint/node_modules/markdownlint/lib/md042.js +49 -0
  169. package/packages/config-markdownlint/node_modules/markdownlint/lib/md043.js +64 -0
  170. package/packages/config-markdownlint/node_modules/markdownlint/lib/md044.js +107 -0
  171. package/packages/config-markdownlint/node_modules/markdownlint/lib/md045.js +60 -0
  172. package/packages/config-markdownlint/node_modules/markdownlint/lib/md046.js +33 -0
  173. package/packages/config-markdownlint/node_modules/markdownlint/lib/md047.js +28 -0
  174. package/packages/config-markdownlint/node_modules/markdownlint/lib/md048.js +30 -0
  175. package/packages/config-markdownlint/node_modules/markdownlint/lib/md049-md050.js +89 -0
  176. package/packages/config-markdownlint/node_modules/markdownlint/lib/md051.js +172 -0
  177. package/packages/config-markdownlint/node_modules/markdownlint/lib/md052.js +39 -0
  178. package/packages/config-markdownlint/node_modules/markdownlint/lib/md053.js +59 -0
  179. package/packages/config-markdownlint/node_modules/markdownlint/lib/md054.js +125 -0
  180. package/packages/config-markdownlint/node_modules/markdownlint/lib/rules.js +65 -0
  181. package/packages/config-markdownlint/node_modules/markdownlint/package.json +109 -0
  182. package/packages/config-markdownlint/node_modules/markdownlint/schema/.markdownlint.jsonc +297 -0
  183. package/packages/config-markdownlint/node_modules/markdownlint/schema/.markdownlint.yaml +266 -0
  184. package/packages/config-markdownlint/node_modules/markdownlint/schema/markdownlint-config-schema.json +1762 -0
  185. package/packages/config-markdownlint/node_modules/markdownlint/style/all.json +5 -0
  186. package/packages/config-markdownlint/node_modules/markdownlint/style/cirosantilli.json +22 -0
  187. package/packages/config-markdownlint/node_modules/markdownlint/style/prettier.json +26 -0
  188. package/packages/config-markdownlint/node_modules/markdownlint/style/relaxed.json +12 -0
  189. package/packages/config-markdownlint/package.json +3 -3
  190. package/packages/config-prettier/README.md +16 -0
  191. package/packages/config-prettier/package.json +4 -4
  192. package/packages/config-stylelint/package.json +2 -2
  193. package/scripts/semver.sh +6 -5
@@ -0,0 +1,376 @@
1
+ # Custom Rules
2
+
3
+ In addition to its built-in rules, `markdownlint` lets you enhance the linting
4
+ experience by passing a list of custom rules using the [`options.customRules`
5
+ property][options-custom-rules]. Custom rules can do everything the built-in
6
+ rules can and are defined inline or imported from another package ([keyword
7
+ `markdownlint-rule` on npm][markdownlint-rule]). Custom rules can be disabled,
8
+ enabled, and customized using the same syntax as built-in rules.
9
+
10
+ ## Implementing Simple Rules
11
+
12
+ For simple requirements like disallowing certain characters or patterns,
13
+ the community-developed
14
+ [markdownlint-rule-search-replace][markdownlint-rule-search-replace]
15
+ plug-in can be used.
16
+ This plug-in allows anyone to create a set of simple text-replacement rules in
17
+ JSON without needing to write any code.
18
+
19
+ [markdownlint-rule-search-replace]: https://www.npmjs.com/package/markdownlint-rule-search-replace
20
+
21
+ ## Authoring
22
+
23
+ Rules are defined by a name (or multiple names), a description, an optional link
24
+ to more information, one or more tags, and a function that implements the rule's
25
+ behavior. That function is called once for each file/string input and is passed
26
+ the parsed input and a function to log any violations.
27
+
28
+ A simple rule implementation looks like:
29
+
30
+ ```javascript
31
+ module.exports = {
32
+ "names": [ "any-blockquote" ],
33
+ "description": "Rule that reports an error for any blockquote",
34
+ "information": new URL("https://example.com/rules/any-blockquote"),
35
+ "tags": [ "test" ],
36
+ "function": function rule(params, onError) {
37
+ params.parsers.markdownit.tokens.filter(function filterToken(token) {
38
+ return token.type === "blockquote_open";
39
+ }).forEach(function forToken(blockquote) {
40
+ var lines = blockquote.map[1] - blockquote.map[0];
41
+ onError({
42
+ "lineNumber": blockquote.lineNumber,
43
+ "detail": "Blockquote spans " + lines + " line(s).",
44
+ "context": blockquote.line.substr(0, 7)
45
+ });
46
+ });
47
+ }
48
+ };
49
+ ```
50
+
51
+ A rule is implemented as an `Object` with one optional and four required
52
+ properties:
53
+
54
+ - `names` is a required `Array` of `String` values that identify the rule in
55
+ output messages and config.
56
+ - `description` is a required `String` value that describes the rule in output
57
+ messages.
58
+ - `information` is an optional (absolute) `URL` of a link to more information
59
+ about the rule.
60
+ - `tags` is a required `Array` of `String` values that groups related rules for
61
+ easier customization.
62
+ - `asynchronous` is an optional `Boolean` value that indicates whether the rule
63
+ returns a `Promise` and runs asynchronously.
64
+ - `function` is a required `Function` that implements the rule and is passed two
65
+ parameters:
66
+ - `params` is an `Object` with properties that describe the content being
67
+ analyzed:
68
+ - `name` is a `String` that identifies the input file/string.
69
+ - `tokens` is an `Array` of [`markdown-it` `Token`s][markdown-it-token] with
70
+ added `line` and `lineNumber` properties.
71
+ - `lines` is an `Array` of `String` values corresponding to the lines of the
72
+ input file/string.
73
+ - `frontMatterLines` is an `Array` of `String` values corresponding to any
74
+ front matter (not present in `lines`).
75
+ - `config` is an `Object` corresponding to the rule's entry in
76
+ `options.config` (if present).
77
+ - `onError` is a function that takes a single `Object` parameter with one
78
+ required and four optional properties:
79
+ - `lineNumber` is a required `Number` specifying the 1-based line number of
80
+ the error.
81
+ - `detail` is an optional `String` with information about what caused the
82
+ error.
83
+ - `context` is an optional `String` with relevant text surrounding the error
84
+ location.
85
+ - `information` is an optional (absolute) `URL` of a link to override the
86
+ same-named value provided by the rule definition. (Uncommon)
87
+ - `range` is an optional `Array` with two `Number` values identifying the
88
+ 1-based column and length of the error.
89
+ - `fixInfo` is an optional `Object` with information about how to fix the
90
+ error (all properties are optional, but at least one of `deleteCount` and
91
+ `insertText` should be present; when applying a fix, the delete should be
92
+ performed before the insert):
93
+ - `lineNumber` is an optional `Number` specifying the 1-based line number
94
+ of the edit.
95
+ - `editColumn` is an optional `Number` specifying the 1-based column
96
+ number of the edit.
97
+ - `deleteCount` is an optional `Number` specifying the number of
98
+ characters to delete (the value `-1` is used to delete the line).
99
+ - `insertText` is an optional `String` specifying the text to insert. `\n`
100
+ is the platform-independent way to add a line break; line breaks should
101
+ be added at the beginning of a line instead of at the end.
102
+
103
+ The collection of helper functions shared by the built-in rules is available for
104
+ use by custom rules in the [markdownlint-rule-helpers package][rule-helpers].
105
+
106
+ ### Asynchronous Rules
107
+
108
+ If a rule needs to perform asynchronous operations (such as fetching a network
109
+ resource), it can specify the value `true` for its `asynchronous` property.
110
+ Asynchronous rules should return a `Promise` from their `function`
111
+ implementation that is resolved when the rule completes. (The value passed to
112
+ `resolve(...)` is ignored.) Linting violations from asynchronous rules are
113
+ reported via the `onError` function just like for synchronous rules.
114
+
115
+ **Note**: Asynchronous rules cannot be referenced in a synchronous calling
116
+ context (i.e., `markdownlint.sync(...)`). Attempting to do so throws an
117
+ exception.
118
+
119
+ ## Examples
120
+
121
+ - [Simple rules used by the project's test cases][test-rules]
122
+ - [Code for all `markdownlint` built-in rules][lib]
123
+ - [Package configuration for publishing to npm][test-rules-npm]
124
+ - Packages should export a single rule object or an `Array` of rule objects
125
+ - [Custom rules from the axibase/docs-util repository][docs-util]
126
+ - [Custom rules from the webhintio/hint repository][hint]
127
+
128
+ ## References
129
+
130
+ - [CommonMark documentation and specification][commonmark]
131
+ - [`markdown-it` Markdown parser project page][markdown-it]
132
+
133
+ ## Params
134
+
135
+ The Markdown document:
136
+
137
+ ```markdown
138
+ # Title
139
+
140
+ Text *text* text.
141
+ ```
142
+
143
+ Yields the `params` object:
144
+
145
+ ```json
146
+ {
147
+ "name": "doc/example.md",
148
+ "tokens": [
149
+ {
150
+ "type": "heading_open",
151
+ "tag": "h1",
152
+ "attrs": null,
153
+ "map": [ 0, 1 ],
154
+ "nesting": 1,
155
+ "level": 0,
156
+ "children": null,
157
+ "content": "",
158
+ "markup": "#",
159
+ "info": "",
160
+ "meta": null,
161
+ "block": true,
162
+ "hidden": false,
163
+ "line": "# Title",
164
+ "lineNumber": 1
165
+ },
166
+ {
167
+ "type": "inline",
168
+ "tag": "",
169
+ "attrs": null,
170
+ "map": [ 0, 1 ],
171
+ "nesting": 0,
172
+ "level": 1,
173
+ "children": [
174
+ {
175
+ "type": "text",
176
+ "tag": "",
177
+ "attrs": null,
178
+ "map": null,
179
+ "nesting": 0,
180
+ "level": 0,
181
+ "children": null,
182
+ "content": "Title",
183
+ "markup": "",
184
+ "info": "",
185
+ "meta": null,
186
+ "block": false,
187
+ "hidden": false,
188
+ "lineNumber": 1,
189
+ "line": "# Title"
190
+ }
191
+ ],
192
+ "content": "Title",
193
+ "markup": "",
194
+ "info": "",
195
+ "meta": null,
196
+ "block": true,
197
+ "hidden": false,
198
+ "line": "# Title",
199
+ "lineNumber": 1
200
+ },
201
+ {
202
+ "type": "heading_close",
203
+ "tag": "h1",
204
+ "attrs": null,
205
+ "map": null,
206
+ "nesting": -1,
207
+ "level": 0,
208
+ "children": null,
209
+ "content": "",
210
+ "markup": "#",
211
+ "info": "",
212
+ "meta": null,
213
+ "block": true,
214
+ "hidden": false
215
+ },
216
+ {
217
+ "type": "paragraph_open",
218
+ "tag": "p",
219
+ "attrs": null,
220
+ "map": [ 2, 3 ],
221
+ "nesting": 1,
222
+ "level": 0,
223
+ "children": null,
224
+ "content": "",
225
+ "markup": "",
226
+ "info": "",
227
+ "meta": null,
228
+ "block": true,
229
+ "hidden": false,
230
+ "line": "Text *text* text.",
231
+ "lineNumber": 3
232
+ },
233
+ {
234
+ "type": "inline",
235
+ "tag": "",
236
+ "attrs": null,
237
+ "map": [ 2, 3 ],
238
+ "nesting": 0,
239
+ "level": 1,
240
+ "children": [
241
+ {
242
+ "type": "text",
243
+ "tag": "",
244
+ "attrs": null,
245
+ "map": null,
246
+ "nesting": 0,
247
+ "level": 0,
248
+ "children": null,
249
+ "content": "Text ",
250
+ "markup": "",
251
+ "info": "",
252
+ "meta": null,
253
+ "block": false,
254
+ "hidden": false,
255
+ "lineNumber": 3,
256
+ "line": "Text *text* text."
257
+ },
258
+ {
259
+ "type": "em_open",
260
+ "tag": "em",
261
+ "attrs": null,
262
+ "map": null,
263
+ "nesting": 1,
264
+ "level": 1,
265
+ "children": null,
266
+ "content": "",
267
+ "markup": "*",
268
+ "info": "",
269
+ "meta": null,
270
+ "block": false,
271
+ "hidden": false,
272
+ "lineNumber": 3,
273
+ "line": "Text *text* text."
274
+ },
275
+ {
276
+ "type": "text",
277
+ "tag": "",
278
+ "attrs": null,
279
+ "map": null,
280
+ "nesting": 0,
281
+ "level": 1,
282
+ "children": null,
283
+ "content": "text",
284
+ "markup": "",
285
+ "info": "",
286
+ "meta": null,
287
+ "block": false,
288
+ "hidden": false,
289
+ "lineNumber": 3,
290
+ "line": "Text *text* text."
291
+ },
292
+ {
293
+ "type": "em_close",
294
+ "tag": "em",
295
+ "attrs": null,
296
+ "map": null,
297
+ "nesting": -1,
298
+ "level": 0,
299
+ "children": null,
300
+ "content": "",
301
+ "markup": "*",
302
+ "info": "",
303
+ "meta": null,
304
+ "block": false,
305
+ "hidden": false,
306
+ "lineNumber": 3,
307
+ "line": "Text *text* text."
308
+ },
309
+ {
310
+ "type": "text",
311
+ "tag": "",
312
+ "attrs": null,
313
+ "map": null,
314
+ "nesting": 0,
315
+ "level": 0,
316
+ "children": null,
317
+ "content": " text.",
318
+ "markup": "",
319
+ "info": "",
320
+ "meta": null,
321
+ "block": false,
322
+ "hidden": false,
323
+ "lineNumber": 3,
324
+ "line": "Text *text* text."
325
+ }
326
+ ],
327
+ "content": "Text *text* text.",
328
+ "markup": "",
329
+ "info": "",
330
+ "meta": null,
331
+ "block": true,
332
+ "hidden": false,
333
+ "line": "Text *text* text.",
334
+ "lineNumber": 3
335
+ },
336
+ {
337
+ "type": "paragraph_close",
338
+ "tag": "p",
339
+ "attrs": null,
340
+ "map": null,
341
+ "nesting": -1,
342
+ "level": 0,
343
+ "children": null,
344
+ "content": "",
345
+ "markup": "",
346
+ "info": "",
347
+ "meta": null,
348
+ "block": true,
349
+ "hidden": false
350
+ }
351
+ ],
352
+ "lines": [
353
+ "# Title",
354
+ "",
355
+ "Text *text* text.",
356
+ ""
357
+ ],
358
+ "frontMatterLines": [],
359
+ "config": {
360
+ "customValue1": "abc",
361
+ "customValue2": 123
362
+ }
363
+ }
364
+ ```
365
+
366
+ [commonmark]: https://commonmark.org/
367
+ [docs-util]: https://github.com/axibase/docs-util/tree/master/linting-rules
368
+ [hint]: https://github.com/webhintio/hint/blob/main/scripts/lint-markdown.js
369
+ [lib]: ../lib
370
+ [markdown-it]: https://github.com/markdown-it/markdown-it
371
+ [markdown-it-token]: https://markdown-it.github.io/markdown-it/#Token
372
+ [markdownlint-rule]: https://www.npmjs.com/search?q=keywords:markdownlint-rule
373
+ [rule-helpers]: https://www.npmjs.com/package/markdownlint-rule-helpers
374
+ [options-custom-rules]: ../README.md#optionscustomrules
375
+ [test-rules]: ../test/rules
376
+ [test-rules-npm]: ../test/rules/npm
@@ -0,0 +1,27 @@
1
+ # Using `markdownlint` with Prettier
2
+
3
+ [`Prettier`](https://prettier.io) is a popular code formatter.
4
+ For the most part, Prettier works seamlessly with `markdownlint`.
5
+
6
+ You can `extend` the [`prettier.json`](../style/prettier.json) style to disable
7
+ all `markdownlint` rules that overlap with Prettier.
8
+
9
+ Other scenarios are documented below.
10
+
11
+ ## List item indentation
12
+
13
+ The default settings of `markdownlint` and `Prettier` are compatible and don't
14
+ result in any linting violations. If `Prettier` is used with `--tab-width` set
15
+ to `4` (vs. `2`), the following `markdownlint` configuration can be used:
16
+
17
+ ```json
18
+ {
19
+ "list-marker-space": {
20
+ "ul_multi": 3,
21
+ "ul_single": 3
22
+ },
23
+ "ul-indent": {
24
+ "indent": 4
25
+ }
26
+ }
27
+ ```
@@ -0,0 +1,20 @@
1
+ # Release Process
2
+
3
+ The `markdownlint` library has some related dependencies that are updated along
4
+ with it. To prevent possible regressions from having a widespread impact, these
5
+ releases are separated by a few days to provide an opportunity to find issues.
6
+
7
+ 1. [`markdownlint`][markdownlint]
8
+ 2. [`markdownlint-cli2`][markdownlint-cli2]
9
+ 3. [`markdownlint-cli2-action`][markdownlint-cli2-action]
10
+ 4. [`vscode-markdownlint`][vscode-markdownlint]
11
+ 5. [`markdownlint-cli`][markdownlint-cli]
12
+
13
+ This sequence is not strict and may be adjusted based on the content of the
14
+ release and the scope of feature work in each dependency.
15
+
16
+ [markdownlint]: https://github.com/DavidAnson/markdownlint
17
+ [markdownlint-cli2]: https://github.com/DavidAnson/markdownlint-cli2
18
+ [markdownlint-cli2-action]: https://github.com/marketplace/actions/markdownlint-cli2-action
19
+ [vscode-markdownlint]: https://marketplace.visualstudio.com/items?itemName=DavidAnson.vscode-markdownlint
20
+ [markdownlint-cli]: https://github.com/igorshubovych/markdownlint-cli