@alexlit/lint-kit 127.2.0 → 127.3.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 (141) hide show
  1. package/package.json +1 -1
  2. package/packages/config-markdownlint/node_modules/markdownlint/CHANGELOG.md +457 -0
  3. package/packages/config-markdownlint/node_modules/markdownlint/CONTRIBUTING.md +93 -0
  4. package/packages/config-markdownlint/node_modules/markdownlint/LICENSE +21 -0
  5. package/packages/config-markdownlint/node_modules/markdownlint/README.md +1047 -0
  6. package/packages/config-markdownlint/node_modules/markdownlint/demo/markdownlint-browser.js +7094 -0
  7. package/packages/config-markdownlint/node_modules/markdownlint/doc/CustomRules.md +388 -0
  8. package/packages/config-markdownlint/node_modules/markdownlint/doc/Prettier.md +27 -0
  9. package/packages/config-markdownlint/node_modules/markdownlint/doc/ReleaseProcess.md +20 -0
  10. package/packages/config-markdownlint/node_modules/markdownlint/doc/Rules.md +2528 -0
  11. package/packages/config-markdownlint/node_modules/markdownlint/doc/md001.md +37 -0
  12. package/packages/config-markdownlint/node_modules/markdownlint/doc/md003.md +59 -0
  13. package/packages/config-markdownlint/node_modules/markdownlint/doc/md004.md +49 -0
  14. package/packages/config-markdownlint/node_modules/markdownlint/doc/md005.md +53 -0
  15. package/packages/config-markdownlint/node_modules/markdownlint/doc/md007.md +52 -0
  16. package/packages/config-markdownlint/node_modules/markdownlint/doc/md009.md +51 -0
  17. package/packages/config-markdownlint/node_modules/markdownlint/doc/md010.md +56 -0
  18. package/packages/config-markdownlint/node_modules/markdownlint/doc/md011.md +30 -0
  19. package/packages/config-markdownlint/node_modules/markdownlint/doc/md012.md +38 -0
  20. package/packages/config-markdownlint/node_modules/markdownlint/doc/md013.md +58 -0
  21. package/packages/config-markdownlint/node_modules/markdownlint/doc/md014.md +54 -0
  22. package/packages/config-markdownlint/node_modules/markdownlint/doc/md018.md +27 -0
  23. package/packages/config-markdownlint/node_modules/markdownlint/doc/md019.md +28 -0
  24. package/packages/config-markdownlint/node_modules/markdownlint/doc/md020.md +29 -0
  25. package/packages/config-markdownlint/node_modules/markdownlint/doc/md021.md +31 -0
  26. package/packages/config-markdownlint/node_modules/markdownlint/doc/md022.md +52 -0
  27. package/packages/config-markdownlint/node_modules/markdownlint/doc/md023.md +33 -0
  28. package/packages/config-markdownlint/node_modules/markdownlint/doc/md024.md +44 -0
  29. package/packages/config-markdownlint/node_modules/markdownlint/doc/md025.md +49 -0
  30. package/packages/config-markdownlint/node_modules/markdownlint/doc/md026.md +40 -0
  31. package/packages/config-markdownlint/node_modules/markdownlint/doc/md027.md +24 -0
  32. package/packages/config-markdownlint/node_modules/markdownlint/doc/md028.md +40 -0
  33. package/packages/config-markdownlint/node_modules/markdownlint/doc/md029.md +98 -0
  34. package/packages/config-markdownlint/node_modules/markdownlint/doc/md030.md +82 -0
  35. package/packages/config-markdownlint/node_modules/markdownlint/doc/md031.md +50 -0
  36. package/packages/config-markdownlint/node_modules/markdownlint/doc/md032.md +55 -0
  37. package/packages/config-markdownlint/node_modules/markdownlint/doc/md033.md +27 -0
  38. package/packages/config-markdownlint/node_modules/markdownlint/doc/md034.md +55 -0
  39. package/packages/config-markdownlint/node_modules/markdownlint/doc/md035.md +42 -0
  40. package/packages/config-markdownlint/node_modules/markdownlint/doc/md036.md +45 -0
  41. package/packages/config-markdownlint/node_modules/markdownlint/doc/md037.md +37 -0
  42. package/packages/config-markdownlint/node_modules/markdownlint/doc/md038.md +40 -0
  43. package/packages/config-markdownlint/node_modules/markdownlint/doc/md039.md +21 -0
  44. package/packages/config-markdownlint/node_modules/markdownlint/doc/md040.md +52 -0
  45. package/packages/config-markdownlint/node_modules/markdownlint/doc/md041.md +49 -0
  46. package/packages/config-markdownlint/node_modules/markdownlint/doc/md042.md +32 -0
  47. package/packages/config-markdownlint/node_modules/markdownlint/doc/md043.md +69 -0
  48. package/packages/config-markdownlint/node_modules/markdownlint/doc/md044.md +45 -0
  49. package/packages/config-markdownlint/node_modules/markdownlint/doc/md045.md +40 -0
  50. package/packages/config-markdownlint/node_modules/markdownlint/doc/md046.md +40 -0
  51. package/packages/config-markdownlint/node_modules/markdownlint/doc/md047.md +34 -0
  52. package/packages/config-markdownlint/node_modules/markdownlint/doc/md048.md +41 -0
  53. package/packages/config-markdownlint/node_modules/markdownlint/doc/md049.md +35 -0
  54. package/packages/config-markdownlint/node_modules/markdownlint/doc/md050.md +35 -0
  55. package/packages/config-markdownlint/node_modules/markdownlint/doc/md051.md +87 -0
  56. package/packages/config-markdownlint/node_modules/markdownlint/doc/md052.md +40 -0
  57. package/packages/config-markdownlint/node_modules/markdownlint/doc/md053.md +38 -0
  58. package/packages/config-markdownlint/node_modules/markdownlint/doc/md054.md +100 -0
  59. package/packages/config-markdownlint/node_modules/markdownlint/doc/md055.md +54 -0
  60. package/packages/config-markdownlint/node_modules/markdownlint/doc/md056.md +37 -0
  61. package/packages/config-markdownlint/node_modules/markdownlint/doc/md058.md +48 -0
  62. package/packages/config-markdownlint/node_modules/markdownlint/helpers/LICENSE +21 -0
  63. package/packages/config-markdownlint/node_modules/markdownlint/helpers/README.md +46 -0
  64. package/packages/config-markdownlint/node_modules/markdownlint/helpers/helpers.js +793 -0
  65. package/packages/config-markdownlint/node_modules/markdownlint/helpers/micromark.cjs +544 -0
  66. package/packages/config-markdownlint/node_modules/markdownlint/helpers/package.json +26 -0
  67. package/packages/config-markdownlint/node_modules/markdownlint/helpers/shared.js +10 -0
  68. package/packages/config-markdownlint/node_modules/markdownlint/lib/cache.js +70 -0
  69. package/packages/config-markdownlint/node_modules/markdownlint/lib/configuration-strict.d.ts +1185 -0
  70. package/packages/config-markdownlint/node_modules/markdownlint/lib/configuration.d.ts +8 -0
  71. package/packages/config-markdownlint/node_modules/markdownlint/lib/constants.js +15 -0
  72. package/packages/config-markdownlint/node_modules/markdownlint/lib/markdownlint.d.ts +488 -0
  73. package/packages/config-markdownlint/node_modules/markdownlint/lib/markdownlint.js +1572 -0
  74. package/packages/config-markdownlint/node_modules/markdownlint/lib/md001.js +31 -0
  75. package/packages/config-markdownlint/node_modules/markdownlint/lib/md003.js +50 -0
  76. package/packages/config-markdownlint/node_modules/markdownlint/lib/md004.js +86 -0
  77. package/packages/config-markdownlint/node_modules/markdownlint/lib/md005.js +72 -0
  78. package/packages/config-markdownlint/node_modules/markdownlint/lib/md007.js +88 -0
  79. package/packages/config-markdownlint/node_modules/markdownlint/lib/md009.js +95 -0
  80. package/packages/config-markdownlint/node_modules/markdownlint/lib/md010.js +78 -0
  81. package/packages/config-markdownlint/node_modules/markdownlint/lib/md011.js +57 -0
  82. package/packages/config-markdownlint/node_modules/markdownlint/lib/md012.js +43 -0
  83. package/packages/config-markdownlint/node_modules/markdownlint/lib/md013.js +105 -0
  84. package/packages/config-markdownlint/node_modules/markdownlint/lib/md014.js +54 -0
  85. package/packages/config-markdownlint/node_modules/markdownlint/lib/md018.js +46 -0
  86. package/packages/config-markdownlint/node_modules/markdownlint/lib/md019-md021.js +80 -0
  87. package/packages/config-markdownlint/node_modules/markdownlint/lib/md020.js +71 -0
  88. package/packages/config-markdownlint/node_modules/markdownlint/lib/md022.js +106 -0
  89. package/packages/config-markdownlint/node_modules/markdownlint/lib/md023.js +40 -0
  90. package/packages/config-markdownlint/node_modules/markdownlint/lib/md024.js +48 -0
  91. package/packages/config-markdownlint/node_modules/markdownlint/lib/md025.js +40 -0
  92. package/packages/config-markdownlint/node_modules/markdownlint/lib/md026.js +49 -0
  93. package/packages/config-markdownlint/node_modules/markdownlint/lib/md027.js +37 -0
  94. package/packages/config-markdownlint/node_modules/markdownlint/lib/md028.js +42 -0
  95. package/packages/config-markdownlint/node_modules/markdownlint/lib/md029.js +76 -0
  96. package/packages/config-markdownlint/node_modules/markdownlint/lib/md030.js +60 -0
  97. package/packages/config-markdownlint/node_modules/markdownlint/lib/md031.js +63 -0
  98. package/packages/config-markdownlint/node_modules/markdownlint/lib/md032.js +66 -0
  99. package/packages/config-markdownlint/node_modules/markdownlint/lib/md033.js +41 -0
  100. package/packages/config-markdownlint/node_modules/markdownlint/lib/md034.js +100 -0
  101. package/packages/config-markdownlint/node_modules/markdownlint/lib/md035.js +26 -0
  102. package/packages/config-markdownlint/node_modules/markdownlint/lib/md036.js +51 -0
  103. package/packages/config-markdownlint/node_modules/markdownlint/lib/md037.js +94 -0
  104. package/packages/config-markdownlint/node_modules/markdownlint/lib/md038.js +100 -0
  105. package/packages/config-markdownlint/node_modules/markdownlint/lib/md039.js +83 -0
  106. package/packages/config-markdownlint/node_modules/markdownlint/lib/md040.js +37 -0
  107. package/packages/config-markdownlint/node_modules/markdownlint/lib/md041.js +37 -0
  108. package/packages/config-markdownlint/node_modules/markdownlint/lib/md042.js +63 -0
  109. package/packages/config-markdownlint/node_modules/markdownlint/lib/md043.js +73 -0
  110. package/packages/config-markdownlint/node_modules/markdownlint/lib/md044.js +110 -0
  111. package/packages/config-markdownlint/node_modules/markdownlint/lib/md045.js +62 -0
  112. package/packages/config-markdownlint/node_modules/markdownlint/lib/md046.js +34 -0
  113. package/packages/config-markdownlint/node_modules/markdownlint/lib/md047.js +31 -0
  114. package/packages/config-markdownlint/node_modules/markdownlint/lib/md048.js +39 -0
  115. package/packages/config-markdownlint/node_modules/markdownlint/lib/md049-md050.js +103 -0
  116. package/packages/config-markdownlint/node_modules/markdownlint/lib/md051.js +170 -0
  117. package/packages/config-markdownlint/node_modules/markdownlint/lib/md052.js +42 -0
  118. package/packages/config-markdownlint/node_modules/markdownlint/lib/md053.js +62 -0
  119. package/packages/config-markdownlint/node_modules/markdownlint/lib/md054.js +125 -0
  120. package/packages/config-markdownlint/node_modules/markdownlint/lib/md055.js +79 -0
  121. package/packages/config-markdownlint/node_modules/markdownlint/lib/md056.js +56 -0
  122. package/packages/config-markdownlint/node_modules/markdownlint/lib/md058.js +43 -0
  123. package/packages/config-markdownlint/node_modules/markdownlint/lib/rules.js +74 -0
  124. package/packages/config-markdownlint/node_modules/markdownlint/package.json +105 -0
  125. package/packages/config-markdownlint/node_modules/markdownlint/schema/.markdownlint.jsonc +307 -0
  126. package/packages/config-markdownlint/node_modules/markdownlint/schema/.markdownlint.yaml +275 -0
  127. package/packages/config-markdownlint/node_modules/markdownlint/schema/ValidatingConfiguration.md +26 -0
  128. package/packages/config-markdownlint/node_modules/markdownlint/schema/markdownlint-config-schema-strict.json +1819 -0
  129. package/packages/config-markdownlint/node_modules/markdownlint/schema/markdownlint-config-schema.json +1824 -0
  130. package/packages/config-markdownlint/node_modules/markdownlint/style/all.json +5 -0
  131. package/packages/config-markdownlint/node_modules/markdownlint/style/cirosantilli.json +22 -0
  132. package/packages/config-markdownlint/node_modules/markdownlint/style/prettier.json +27 -0
  133. package/packages/config-markdownlint/node_modules/markdownlint/style/relaxed.json +12 -0
  134. package/packages/config-markdownlint/node_modules/markdownlint-micromark/LICENSE +21 -0
  135. package/packages/config-markdownlint/node_modules/markdownlint-micromark/README.md +10 -0
  136. package/packages/config-markdownlint/node_modules/markdownlint-micromark/micromark-browser.js +2 -0
  137. package/packages/config-markdownlint/node_modules/markdownlint-micromark/micromark-html-browser.js +2 -0
  138. package/packages/config-markdownlint/node_modules/markdownlint-micromark/micromark.cjs +1 -0
  139. package/packages/config-markdownlint/node_modules/markdownlint-micromark/micromark.d.cts +1751 -0
  140. package/packages/config-markdownlint/node_modules/markdownlint-micromark/package.json +46 -0
  141. package/packages/config-markdownlint/package.json +2 -2
@@ -0,0 +1,388 @@
1
+ # Custom Rules
2
+
3
+ In addition to its built-in rules, `markdownlint` lets you enhance the linting
4
+ experience by passing an array 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]). When defined by a file or
8
+ package, the export can be a single rule object (see below) or an array of them.
9
+ Custom rules can be disabled, enabled, and customized using the same syntax as
10
+ built-in rules.
11
+
12
+ ## Implementing Simple Rules
13
+
14
+ For simple requirements like disallowing certain characters or patterns,
15
+ the community-developed
16
+ [markdownlint-rule-search-replace][markdownlint-rule-search-replace]
17
+ plug-in can be used.
18
+ This plug-in allows anyone to create a set of simple text-replacement rules in
19
+ JSON without needing to write any code.
20
+
21
+ [markdownlint-rule-search-replace]: https://www.npmjs.com/package/markdownlint-rule-search-replace
22
+
23
+ ## Authoring
24
+
25
+ Rules are defined by a name (or multiple names), a description, an optional link
26
+ to more information, one or more tags, and a function that implements the rule's
27
+ behavior. That function is called once for each file/string input and is passed
28
+ the parsed input and a function to log any violations.
29
+
30
+ A simple rule implementation looks like:
31
+
32
+ ```javascript
33
+ /** @type import("markdownlint").Rule */
34
+ module.exports = {
35
+ "names": [ "any-blockquote" ],
36
+ "description": "Rule that reports an error for any blockquote",
37
+ "information": new URL("https://example.com/rules/any-blockquote"),
38
+ "tags": [ "test" ],
39
+ "parser": "markdownit",
40
+ "function": function rule(params, onError) {
41
+ params.parsers.markdownit.tokens.filter(function filterToken(token) {
42
+ return token.type === "blockquote_open";
43
+ }).forEach(function forToken(blockquote) {
44
+ var lines = blockquote.map[1] - blockquote.map[0];
45
+ onError({
46
+ "lineNumber": blockquote.lineNumber,
47
+ "detail": "Blockquote spans " + lines + " line(s).",
48
+ "context": blockquote.line.substr(0, 7)
49
+ });
50
+ });
51
+ }
52
+ };
53
+ ```
54
+
55
+ A rule is implemented as an `Object`:
56
+
57
+ - `names` is a required `Array` of `String` values that identify the rule in
58
+ output messages and config.
59
+ - `description` is a required `String` value that describes the rule in output
60
+ messages.
61
+ - `information` is an optional (absolute) `URL` of a link to more information
62
+ about the rule.
63
+ - `tags` is a required `Array` of `String` values that groups related rules for
64
+ easier customization.
65
+ - `parser` is a required `String` value `"markdownit" | "none"` that specifies
66
+ the parser data used via `params.parsers` (see below).
67
+ - Note: The value `"micromark"` is valid but is NOT currently supported.
68
+ - `asynchronous` is an optional `Boolean` value that indicates whether the rule
69
+ returns a `Promise` and runs asynchronously.
70
+ - `function` is a required `Function` that implements the rule and is passed two
71
+ parameters:
72
+ - `params` is an `Object` with properties that describe the content being
73
+ analyzed:
74
+ - `name` is a `String` that identifies the input file/string.
75
+ - `parsers` is an `Object` with properties corresponding to the value of
76
+ `parser` in the rule definition (see above).
77
+ - `markdownit` is an `Object` that provides access to output from the
78
+ [`markdown-it`][markdown-it] parser.
79
+ - `tokens` is an `Array` of [`markdown-it` `Token`s][markdown-it-token]
80
+ with added `line` and `lineNumber` properties. (This property was
81
+ previously on the `params` object.)
82
+ - `lines` is an `Array` of `String` values corresponding to the lines of the
83
+ input file/string.
84
+ - `frontMatterLines` is an `Array` of `String` values corresponding to any
85
+ front matter (not present in `lines`).
86
+ - `config` is an `Object` corresponding to the rule's entry in
87
+ `options.config` (if present).
88
+ - `onError` is a function that takes a single `Object` parameter with one
89
+ required and four optional properties:
90
+ - `lineNumber` is a required `Number` specifying the 1-based line number of
91
+ the error.
92
+ - `detail` is an optional `String` with information about what caused the
93
+ error.
94
+ - `context` is an optional `String` with relevant text surrounding the error
95
+ location.
96
+ - `information` is an optional (absolute) `URL` of a link to override the
97
+ same-named value provided by the rule definition. (Uncommon)
98
+ - `range` is an optional `Array` with two `Number` values identifying the
99
+ 1-based column and length of the error.
100
+ - `fixInfo` is an optional `Object` with information about how to fix the
101
+ error (all properties are optional, but at least one of `deleteCount` and
102
+ `insertText` should be present; when applying a fix, the delete should be
103
+ performed before the insert):
104
+ - `lineNumber` is an optional `Number` specifying the 1-based line number
105
+ of the edit.
106
+ - `editColumn` is an optional `Number` specifying the 1-based column
107
+ number of the edit.
108
+ - `deleteCount` is an optional `Number` specifying the number of
109
+ characters to delete (the value `-1` is used to delete the line).
110
+ - `insertText` is an optional `String` specifying the text to insert. `\n`
111
+ is the platform-independent way to add a line break; line breaks should
112
+ be added at the beginning of a line instead of at the end.
113
+
114
+ The collection of helper functions shared by the built-in rules is available for
115
+ use by custom rules in the [markdownlint-rule-helpers package][rule-helpers].
116
+
117
+ ### Asynchronous Rules
118
+
119
+ If a rule needs to perform asynchronous operations (such as fetching a network
120
+ resource), it can specify the value `true` for its `asynchronous` property.
121
+ Asynchronous rules should return a `Promise` from their `function`
122
+ implementation that is resolved when the rule completes. (The value passed to
123
+ `resolve(...)` is ignored.) Linting violations from asynchronous rules are
124
+ reported via the `onError` function just like for synchronous rules.
125
+
126
+ **Note**: Asynchronous rules cannot be referenced in a synchronous calling
127
+ context (i.e., `markdownlint.sync(...)`). Attempting to do so throws an
128
+ exception.
129
+
130
+ ## Examples
131
+
132
+ - [Simple rules used by the project's test cases][test-rules]
133
+ - [Code for all `markdownlint` built-in rules][lib]
134
+ - [Complete example rule including npm configuration][extended-ascii]
135
+ - [Custom rules from the github/docs repository][github-docs]
136
+ - [Custom rules from the electron/lint-roller repository][electron]
137
+ - [Custom rules from the webhintio/hint repository][hint]
138
+
139
+ ## References
140
+
141
+ - [CommonMark documentation and specification][commonmark]
142
+ - [`markdown-it` Markdown parser project page][markdown-it]
143
+
144
+ ## Params
145
+
146
+ The Markdown document:
147
+
148
+ ```markdown
149
+ # Title
150
+
151
+ Text *text* text.
152
+ ```
153
+
154
+ Yields the `params` object:
155
+
156
+ ```json
157
+ {
158
+ "name": "doc/example.md",
159
+ "parsers.markdownit.tokens": [
160
+ {
161
+ "type": "heading_open",
162
+ "tag": "h1",
163
+ "attrs": null,
164
+ "map": [ 0, 1 ],
165
+ "nesting": 1,
166
+ "level": 0,
167
+ "children": null,
168
+ "content": "",
169
+ "markup": "#",
170
+ "info": "",
171
+ "meta": null,
172
+ "block": true,
173
+ "hidden": false,
174
+ "line": "# Title",
175
+ "lineNumber": 1
176
+ },
177
+ {
178
+ "type": "inline",
179
+ "tag": "",
180
+ "attrs": null,
181
+ "map": [ 0, 1 ],
182
+ "nesting": 0,
183
+ "level": 1,
184
+ "children": [
185
+ {
186
+ "type": "text",
187
+ "tag": "",
188
+ "attrs": null,
189
+ "map": null,
190
+ "nesting": 0,
191
+ "level": 0,
192
+ "children": null,
193
+ "content": "Title",
194
+ "markup": "",
195
+ "info": "",
196
+ "meta": null,
197
+ "block": false,
198
+ "hidden": false,
199
+ "lineNumber": 1,
200
+ "line": "# Title"
201
+ }
202
+ ],
203
+ "content": "Title",
204
+ "markup": "",
205
+ "info": "",
206
+ "meta": null,
207
+ "block": true,
208
+ "hidden": false,
209
+ "line": "# Title",
210
+ "lineNumber": 1
211
+ },
212
+ {
213
+ "type": "heading_close",
214
+ "tag": "h1",
215
+ "attrs": null,
216
+ "map": null,
217
+ "nesting": -1,
218
+ "level": 0,
219
+ "children": null,
220
+ "content": "",
221
+ "markup": "#",
222
+ "info": "",
223
+ "meta": null,
224
+ "block": true,
225
+ "hidden": false
226
+ },
227
+ {
228
+ "type": "paragraph_open",
229
+ "tag": "p",
230
+ "attrs": null,
231
+ "map": [ 2, 3 ],
232
+ "nesting": 1,
233
+ "level": 0,
234
+ "children": null,
235
+ "content": "",
236
+ "markup": "",
237
+ "info": "",
238
+ "meta": null,
239
+ "block": true,
240
+ "hidden": false,
241
+ "line": "Text *text* text.",
242
+ "lineNumber": 3
243
+ },
244
+ {
245
+ "type": "inline",
246
+ "tag": "",
247
+ "attrs": null,
248
+ "map": [ 2, 3 ],
249
+ "nesting": 0,
250
+ "level": 1,
251
+ "children": [
252
+ {
253
+ "type": "text",
254
+ "tag": "",
255
+ "attrs": null,
256
+ "map": null,
257
+ "nesting": 0,
258
+ "level": 0,
259
+ "children": null,
260
+ "content": "Text ",
261
+ "markup": "",
262
+ "info": "",
263
+ "meta": null,
264
+ "block": false,
265
+ "hidden": false,
266
+ "lineNumber": 3,
267
+ "line": "Text *text* text."
268
+ },
269
+ {
270
+ "type": "em_open",
271
+ "tag": "em",
272
+ "attrs": null,
273
+ "map": null,
274
+ "nesting": 1,
275
+ "level": 1,
276
+ "children": null,
277
+ "content": "",
278
+ "markup": "*",
279
+ "info": "",
280
+ "meta": null,
281
+ "block": false,
282
+ "hidden": false,
283
+ "lineNumber": 3,
284
+ "line": "Text *text* text."
285
+ },
286
+ {
287
+ "type": "text",
288
+ "tag": "",
289
+ "attrs": null,
290
+ "map": null,
291
+ "nesting": 0,
292
+ "level": 1,
293
+ "children": null,
294
+ "content": "text",
295
+ "markup": "",
296
+ "info": "",
297
+ "meta": null,
298
+ "block": false,
299
+ "hidden": false,
300
+ "lineNumber": 3,
301
+ "line": "Text *text* text."
302
+ },
303
+ {
304
+ "type": "em_close",
305
+ "tag": "em",
306
+ "attrs": null,
307
+ "map": null,
308
+ "nesting": -1,
309
+ "level": 0,
310
+ "children": null,
311
+ "content": "",
312
+ "markup": "*",
313
+ "info": "",
314
+ "meta": null,
315
+ "block": false,
316
+ "hidden": false,
317
+ "lineNumber": 3,
318
+ "line": "Text *text* text."
319
+ },
320
+ {
321
+ "type": "text",
322
+ "tag": "",
323
+ "attrs": null,
324
+ "map": null,
325
+ "nesting": 0,
326
+ "level": 0,
327
+ "children": null,
328
+ "content": " text.",
329
+ "markup": "",
330
+ "info": "",
331
+ "meta": null,
332
+ "block": false,
333
+ "hidden": false,
334
+ "lineNumber": 3,
335
+ "line": "Text *text* text."
336
+ }
337
+ ],
338
+ "content": "Text *text* text.",
339
+ "markup": "",
340
+ "info": "",
341
+ "meta": null,
342
+ "block": true,
343
+ "hidden": false,
344
+ "line": "Text *text* text.",
345
+ "lineNumber": 3
346
+ },
347
+ {
348
+ "type": "paragraph_close",
349
+ "tag": "p",
350
+ "attrs": null,
351
+ "map": null,
352
+ "nesting": -1,
353
+ "level": 0,
354
+ "children": null,
355
+ "content": "",
356
+ "markup": "",
357
+ "info": "",
358
+ "meta": null,
359
+ "block": true,
360
+ "hidden": false
361
+ }
362
+ ],
363
+ "lines": [
364
+ "# Title",
365
+ "",
366
+ "Text *text* text.",
367
+ ""
368
+ ],
369
+ "frontMatterLines": [],
370
+ "config": {
371
+ "customValue1": "abc",
372
+ "customValue2": 123
373
+ }
374
+ }
375
+ ```
376
+
377
+ [commonmark]: https://commonmark.org/
378
+ [electron]: https://github.com/electron/lint-roller/tree/main/markdownlint-rules
379
+ [extended-ascii]: https://github.com/DavidAnson/markdownlint-rule-extended-ascii
380
+ [github-docs]: https://github.com/github/docs/tree/main/src/content-linter/lib/linting-rules
381
+ [hint]: https://github.com/webhintio/hint/blob/main/scripts/lint-markdown.js
382
+ [lib]: ../lib
383
+ [markdown-it]: https://github.com/markdown-it/markdown-it
384
+ [markdown-it-token]: https://markdown-it.github.io/markdown-it/#Token
385
+ [markdownlint-rule]: https://www.npmjs.com/search?q=keywords:markdownlint-rule
386
+ [rule-helpers]: https://www.npmjs.com/package/markdownlint-rule-helpers
387
+ [options-custom-rules]: ../README.md#optionscustomrules
388
+ [test-rules]: ../test/rules
@@ -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