diff --git a/README.md b/README.md index f078b49e..65979702 100644 --- a/README.md +++ b/README.md @@ -362,54 +362,111 @@ of `files` or `strings` should be set to provide input. ##### options.config -Type: `Object` mapping `String` to `Boolean | "error" | Object` +Type: `Object` mapping `String` to `Boolean | "error" | "warning" | Object` Configures the rules to use. Object keys are rule names/aliases; object values are the rule's configuration. The value `false` disables a rule. The values `true` or `"error"` enable a rule -in its default configuration and report violations as errors. Passing an object -enables and customizes the rule. The special `default` rule assigns the default -for all rules. Using a tag name (e.g., `whitespace`) and a setting of `false`, -`true`, or `"error"` applies that setting to all rules with that tag. When no -configuration object is passed or the optional `default` setting is not present, -all rules are enabled. +in its default configuration and report violations as errors. The value +`"warning"` enables a rule in its default configuration and reports violations +as warnings. Passing an object enables *and* customizes the rule; the properties +`severity` (`"error" | "warning"`) and `enabled` (`false | true`) can be used in +this context. The special `default` rule assigns the default for all rules. +Using a tag name (e.g., `whitespace`) and a setting of `false`, `true`, +`"error"`, or `"warning"` applies that setting to all rules with that tag. When +no configuration object is passed or the optional `default` setting is not +present, all rules are enabled. The following syntax disables the specified rule, tag, or `default`: ```javascript { - "rule_name": false + "rule_tag_or_default": false } ``` -The following syntax enables the specified rule, tag, or `default`: +The following syntax enables the specified rule, tag, or `default` to report +violations as errors: ```javascript { - "rule_name": true + "rule_tag_or_default": true // OR - "rule_name": "error" + "rule_tag_or_default": "error" } ``` -The following syntax enables and configures the specified rule: +The following syntax enables the specified rule, tag, or `default` to report +violations as warnings: ```javascript { - "rule_name": { - "parameter": "value" - } - // OR - "rule_name": { - "parameter": "value", + "rule_tag_or_default": "warning" +} +``` + +The following syntax enables and configures the specified rule to report +violations as errors: + +```javascript +{ + "rule": { "severity": "error" } + // OR + "rule": { + "rule_parameter": "value" + } + // OR + "rule": { + "severity": "error", + "rule_parameter": "value" + } } ``` -> Note that `error` and `severity` are not supported by library versions earlier -> than `0.39.0`. However, all examples above behave the same. +The following syntax enables and configures the specified rule to report +violations as warnings: + +```javascript +{ + "rule": { + "severity": "warning" + } + // OR + "rule": { + "severity": "warning", + "rule_parameter": "value" + } +} +``` + +> Note that values `"error"` and `"warning"` and the property `severity` are not +> supported by library versions earlier than `0.39.0`. However, the examples +> above behave the same there, with warnings being reported as errors. + +The following syntax disables and configures the specified rule: + +```javascript +{ + "rule": { + "enabled": false, + "rule_parameter": "value" + } + // OR + "rule": { + "enabled": false, + "severity": "warning", + "rule_parameter": "value" + } +} +``` + +> Note that this example behaves **differently** with library versions earlier +> than `0.39.0` because the property `enabled` is not supported: it **enables** +> the rule instead of **disabling** it. As such, this syntax is discouraged when +> interoperability is important. To evaluate a configuration object, the `default` setting is applied first, then keys are processed in order from top to bottom. If multiple values apply to a diff --git a/demo/default.css b/demo/default.css index 8d9abb59..ee41cff6 100644 --- a/demo/default.css +++ b/demo/default.css @@ -47,6 +47,9 @@ textarea { font-style: italic; white-space: pre-wrap; } +.warning { + background: rgb(255, 255, 0, 0.5); +} .error { background: rgb(255, 0, 0, 0.3); } @@ -67,7 +70,7 @@ textarea { min-height: 0; } .highlight { - background: rgb(255, 0, 0, 0.8); + background: rgb(0, 255, 255, 0.8); } .inset { box-sizing: border-box; diff --git a/demo/default.js b/demo/default.js index 11849283..c595d854 100644 --- a/demo/default.js +++ b/demo/default.js @@ -86,8 +86,8 @@ return `[Unsupported renderer "${renderer}"]`; } - // Highlight error ranges - function highlightErrors(results, className) { + // Highlight ranges + function highlightRanges(results, className) { for (const result of results) { const { errorRange, lineNumber } = result; const line = document.getElementById(`l${lineNumber}`); @@ -150,14 +150,18 @@ sanitize(result.errorContext) + "\"]" : "") + + " [" + + result.severity + + "]" + (result.fixInfo ? " [Fix]" : ""); }).join("
"); - // Highlight errors - highlightErrors(allLintErrors, "error"); + // Highlight errors and warnings + highlightRanges(allLintErrors.filter((error) => error.severity === "warning"), "warning"); + highlightRanges(allLintErrors.filter((error) => error.severity === "error"), "error"); } // Load from a string or File object @@ -216,7 +220,7 @@ for (const element of [ ...document.getElementsByClassName("highlight") ]) { element.classList.remove("highlight"); } - highlightErrors([ resultJson ], "highlight"); + highlightRanges([ resultJson ], "highlight"); var line = document.getElementById(`l${resultJson.lineNumber}`); line.scrollIntoView(); e.preventDefault(); diff --git a/doc-build/build-rules.mjs b/doc-build/build-rules.mjs index 55889668..5f5d234a 100644 --- a/doc-build/build-rules.mjs +++ b/doc-build/build-rules.mjs @@ -64,7 +64,7 @@ for (const rule of rules) { const ruleProperties = Object.fromEntries( Object.entries( ruleData.oneOf.at(-1).properties - ).filter(([ key ]) => key !== "severity") + ).filter(([ key ]) => ((key !== "enabled") && (key !== "severity"))) ); if (Object.keys(ruleProperties).length > 0) { section.push( diff --git a/lib/configuration-strict.d.ts b/lib/configuration-strict.d.ts index bf27b840..d356278b 100644 --- a/lib/configuration-strict.d.ts +++ b/lib/configuration-strict.d.ts @@ -13,7 +13,7 @@ export interface ConfigurationStrict { /** * Default state for all rules */ - default?: boolean | "error"; + default?: boolean | ("error" | "warning"); /** * Path to configuration file to extend */ @@ -23,12 +23,16 @@ export interface ConfigurationStrict { */ MD001?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * RegExp for matching title in front matter */ @@ -39,12 +43,16 @@ export interface ConfigurationStrict { */ "heading-increment"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * RegExp for matching title in front matter */ @@ -55,12 +63,16 @@ export interface ConfigurationStrict { */ MD003?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Heading style */ @@ -71,12 +83,16 @@ export interface ConfigurationStrict { */ "heading-style"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Heading style */ @@ -87,12 +103,16 @@ export interface ConfigurationStrict { */ MD004?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * List style */ @@ -103,12 +123,16 @@ export interface ConfigurationStrict { */ "ul-style"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * List style */ @@ -119,36 +143,48 @@ export interface ConfigurationStrict { */ MD005?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md005.md */ "list-indent"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md007.md */ MD007?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Spaces for indent */ @@ -167,12 +203,16 @@ export interface ConfigurationStrict { */ "ul-indent"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Spaces for indent */ @@ -191,12 +231,16 @@ export interface ConfigurationStrict { */ MD009?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Spaces for line break */ @@ -215,12 +259,16 @@ export interface ConfigurationStrict { */ "no-trailing-spaces"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Spaces for line break */ @@ -239,12 +287,16 @@ export interface ConfigurationStrict { */ MD010?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Include code blocks */ @@ -263,12 +315,16 @@ export interface ConfigurationStrict { */ "no-hard-tabs"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Include code blocks */ @@ -287,36 +343,48 @@ export interface ConfigurationStrict { */ MD011?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md011.md */ "no-reversed-links"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md012.md */ MD012?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Consecutive blank lines */ @@ -327,12 +395,16 @@ export interface ConfigurationStrict { */ "no-multiple-blanks"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Consecutive blank lines */ @@ -343,12 +415,16 @@ export interface ConfigurationStrict { */ MD013?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Number of characters */ @@ -387,12 +463,16 @@ export interface ConfigurationStrict { */ "line-length"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Number of characters */ @@ -431,132 +511,176 @@ export interface ConfigurationStrict { */ MD014?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md014.md */ "commands-show-output"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md018.md */ MD018?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD018/no-missing-space-atx : No space after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md018.md */ "no-missing-space-atx"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md019.md */ MD019?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD019/no-multiple-space-atx : Multiple spaces after hash on atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md019.md */ "no-multiple-space-atx"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md020.md */ MD020?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD020/no-missing-space-closed-atx : No space inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md020.md */ "no-missing-space-closed-atx"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md021.md */ MD021?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD021/no-multiple-space-closed-atx : Multiple spaces inside hashes on closed atx style heading : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md021.md */ "no-multiple-space-closed-atx"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD022/blanks-around-headings : Headings should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md022.md */ MD022?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Blank lines above heading */ @@ -571,12 +695,16 @@ export interface ConfigurationStrict { */ "blanks-around-headings"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Blank lines above heading */ @@ -591,36 +719,48 @@ export interface ConfigurationStrict { */ MD023?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD023/heading-start-left : Headings must start at the beginning of the line : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md023.md */ "heading-start-left"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD024/no-duplicate-heading : Multiple headings with the same content : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md024.md */ MD024?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Only check sibling headings */ @@ -631,12 +771,16 @@ export interface ConfigurationStrict { */ "no-duplicate-heading"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Only check sibling headings */ @@ -647,12 +791,16 @@ export interface ConfigurationStrict { */ MD025?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * RegExp for matching title in front matter */ @@ -667,12 +815,16 @@ export interface ConfigurationStrict { */ "single-title"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * RegExp for matching title in front matter */ @@ -687,12 +839,16 @@ export interface ConfigurationStrict { */ "single-h1"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * RegExp for matching title in front matter */ @@ -707,12 +863,16 @@ export interface ConfigurationStrict { */ MD026?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Punctuation characters */ @@ -723,12 +883,16 @@ export interface ConfigurationStrict { */ "no-trailing-punctuation"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Punctuation characters */ @@ -739,12 +903,16 @@ export interface ConfigurationStrict { */ MD027?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Include list items */ @@ -755,12 +923,16 @@ export interface ConfigurationStrict { */ "no-multiple-space-blockquote"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Include list items */ @@ -771,36 +943,48 @@ export interface ConfigurationStrict { */ MD028?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md028.md */ "no-blanks-blockquote"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md029.md */ MD029?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * List style */ @@ -811,12 +995,16 @@ export interface ConfigurationStrict { */ "ol-prefix"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * List style */ @@ -827,12 +1015,16 @@ export interface ConfigurationStrict { */ MD030?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Spaces for single-line unordered list items */ @@ -855,12 +1047,16 @@ export interface ConfigurationStrict { */ "list-marker-space"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Spaces for single-line unordered list items */ @@ -883,12 +1079,16 @@ export interface ConfigurationStrict { */ MD031?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Include list items */ @@ -899,12 +1099,16 @@ export interface ConfigurationStrict { */ "blanks-around-fences"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Include list items */ @@ -915,36 +1119,48 @@ export interface ConfigurationStrict { */ MD032?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md032.md */ "blanks-around-lists"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md033.md */ MD033?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Allowed elements */ @@ -959,12 +1175,16 @@ export interface ConfigurationStrict { */ "no-inline-html"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Allowed elements */ @@ -979,36 +1199,48 @@ export interface ConfigurationStrict { */ MD034?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md034.md */ "no-bare-urls"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md035.md */ MD035?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Horizontal rule style */ @@ -1019,12 +1251,16 @@ export interface ConfigurationStrict { */ "hr-style"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Horizontal rule style */ @@ -1035,12 +1271,16 @@ export interface ConfigurationStrict { */ MD036?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Punctuation characters */ @@ -1051,12 +1291,16 @@ export interface ConfigurationStrict { */ "no-emphasis-as-heading"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Punctuation characters */ @@ -1067,84 +1311,112 @@ export interface ConfigurationStrict { */ MD037?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md037.md */ "no-space-in-emphasis"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md038.md */ MD038?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md038.md */ "no-space-in-code"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md039.md */ MD039?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md039.md */ "no-space-in-links"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD040/fenced-code-language : Fenced code blocks should have a language specified : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md040.md */ MD040?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * List of languages */ @@ -1159,12 +1431,16 @@ export interface ConfigurationStrict { */ "fenced-code-language"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * List of languages */ @@ -1179,12 +1455,16 @@ export interface ConfigurationStrict { */ MD041?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Allow content before first heading */ @@ -1203,12 +1483,16 @@ export interface ConfigurationStrict { */ "first-line-heading"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Allow content before first heading */ @@ -1227,12 +1511,16 @@ export interface ConfigurationStrict { */ "first-line-h1"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Allow content before first heading */ @@ -1251,36 +1539,48 @@ export interface ConfigurationStrict { */ MD042?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md042.md */ "no-empty-links"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md043.md */ MD043?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * List of headings */ @@ -1295,12 +1595,16 @@ export interface ConfigurationStrict { */ "required-headings"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * List of headings */ @@ -1315,12 +1619,16 @@ export interface ConfigurationStrict { */ MD044?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * List of proper names */ @@ -1339,12 +1647,16 @@ export interface ConfigurationStrict { */ "proper-names"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * List of proper names */ @@ -1363,36 +1675,48 @@ export interface ConfigurationStrict { */ MD045?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md045.md */ "no-alt-text"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md046.md */ MD046?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Block style */ @@ -1403,12 +1727,16 @@ export interface ConfigurationStrict { */ "code-block-style"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Block style */ @@ -1419,36 +1747,48 @@ export interface ConfigurationStrict { */ MD047?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md047.md */ "single-trailing-newline"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md048.md */ MD048?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Code fence style */ @@ -1459,12 +1799,16 @@ export interface ConfigurationStrict { */ "code-fence-style"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Code fence style */ @@ -1475,12 +1819,16 @@ export interface ConfigurationStrict { */ MD049?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Emphasis style */ @@ -1491,12 +1839,16 @@ export interface ConfigurationStrict { */ "emphasis-style"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Emphasis style */ @@ -1507,12 +1859,16 @@ export interface ConfigurationStrict { */ MD050?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Strong style */ @@ -1523,12 +1879,16 @@ export interface ConfigurationStrict { */ "strong-style"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Strong style */ @@ -1539,12 +1899,16 @@ export interface ConfigurationStrict { */ MD051?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Ignore case of fragments */ @@ -1559,12 +1923,16 @@ export interface ConfigurationStrict { */ "link-fragments"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Ignore case of fragments */ @@ -1579,12 +1947,16 @@ export interface ConfigurationStrict { */ MD052?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Ignored link labels */ @@ -1599,12 +1971,16 @@ export interface ConfigurationStrict { */ "reference-links-images"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Ignored link labels */ @@ -1619,12 +1995,16 @@ export interface ConfigurationStrict { */ MD053?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Ignored definitions */ @@ -1635,12 +2015,16 @@ export interface ConfigurationStrict { */ "link-image-reference-definitions"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Ignored definitions */ @@ -1651,12 +2035,16 @@ export interface ConfigurationStrict { */ MD054?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Allow autolinks */ @@ -1687,12 +2075,16 @@ export interface ConfigurationStrict { */ "link-image-style"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Allow autolinks */ @@ -1723,12 +2115,16 @@ export interface ConfigurationStrict { */ MD055?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Table pipe style */ @@ -1739,12 +2135,16 @@ export interface ConfigurationStrict { */ "table-pipe-style"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Table pipe style */ @@ -1755,60 +2155,80 @@ export interface ConfigurationStrict { */ MD056?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md056.md */ "table-column-count"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD058/blanks-around-tables : Tables should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md058.md */ MD058?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD058/blanks-around-tables : Tables should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md058.md */ "blanks-around-tables"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; }; /** * MD059/descriptive-link-text : Link text should be descriptive : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md059.md */ MD059?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Prohibited link texts */ @@ -1819,12 +2239,16 @@ export interface ConfigurationStrict { */ "descriptive-link-text"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Prohibited link texts */ @@ -1835,12 +2259,16 @@ export interface ConfigurationStrict { */ MD060?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Table column style */ @@ -1851,12 +2279,16 @@ export interface ConfigurationStrict { */ "table-column-style"?: | boolean - | "error" + | ("error" | "warning") | { + /** + * Whether to enable the rule + */ + enabled?: boolean; /** * Rule severity */ - severity?: "error"; + severity?: "error" | "warning"; /** * Table column style */ @@ -1865,97 +2297,97 @@ export interface ConfigurationStrict { /** * headings : MD001, MD003, MD018, MD019, MD020, MD021, MD022, MD023, MD024, MD025, MD026, MD036, MD041, MD043 */ - headings?: boolean | "error"; + headings?: boolean | ("error" | "warning"); /** * bullet : MD004, MD005, MD007, MD032 */ - bullet?: boolean | "error"; + bullet?: boolean | ("error" | "warning"); /** * ul : MD004, MD005, MD007, MD030, MD032 */ - ul?: boolean | "error"; + ul?: boolean | ("error" | "warning"); /** * indentation : MD005, MD007, MD027 */ - indentation?: boolean | "error"; + indentation?: boolean | ("error" | "warning"); /** * whitespace : MD009, MD010, MD012, MD027, MD028, MD030, MD037, MD038, MD039 */ - whitespace?: boolean | "error"; + whitespace?: boolean | ("error" | "warning"); /** * hard_tab : MD010 */ - hard_tab?: boolean | "error"; + hard_tab?: boolean | ("error" | "warning"); /** * links : MD011, MD034, MD039, MD042, MD051, MD052, MD053, MD054, MD059 */ - links?: boolean | "error"; + links?: boolean | ("error" | "warning"); /** * blank_lines : MD012, MD022, MD031, MD032, MD047 */ - blank_lines?: boolean | "error"; + blank_lines?: boolean | ("error" | "warning"); /** * line_length : MD013 */ - line_length?: boolean | "error"; + line_length?: boolean | ("error" | "warning"); /** * code : MD014, MD031, MD038, MD040, MD046, MD048 */ - code?: boolean | "error"; + code?: boolean | ("error" | "warning"); /** * atx : MD018, MD019 */ - atx?: boolean | "error"; + atx?: boolean | ("error" | "warning"); /** * spaces : MD018, MD019, MD020, MD021, MD023 */ - spaces?: boolean | "error"; + spaces?: boolean | ("error" | "warning"); /** * atx_closed : MD020, MD021 */ - atx_closed?: boolean | "error"; + atx_closed?: boolean | ("error" | "warning"); /** * blockquote : MD027, MD028 */ - blockquote?: boolean | "error"; + blockquote?: boolean | ("error" | "warning"); /** * ol : MD029, MD030, MD032 */ - ol?: boolean | "error"; + ol?: boolean | ("error" | "warning"); /** * html : MD033 */ - html?: boolean | "error"; + html?: boolean | ("error" | "warning"); /** * url : MD034 */ - url?: boolean | "error"; + url?: boolean | ("error" | "warning"); /** * hr : MD035 */ - hr?: boolean | "error"; + hr?: boolean | ("error" | "warning"); /** * emphasis : MD036, MD037, MD049, MD050 */ - emphasis?: boolean | "error"; + emphasis?: boolean | ("error" | "warning"); /** * language : MD040 */ - language?: boolean | "error"; + language?: boolean | ("error" | "warning"); /** * spelling : MD044 */ - spelling?: boolean | "error"; + spelling?: boolean | ("error" | "warning"); /** * accessibility : MD045, MD059 */ - accessibility?: boolean | "error"; + accessibility?: boolean | ("error" | "warning"); /** * images : MD045, MD052, MD053, MD054 */ - images?: boolean | "error"; + images?: boolean | ("error" | "warning"); /** * table : MD055, MD056, MD058, MD060 */ - table?: boolean | "error"; + table?: boolean | ("error" | "warning"); } diff --git a/lib/markdownlint.d.mts b/lib/markdownlint.d.mts index 306c4aca..9fe0e606 100644 --- a/lib/markdownlint.d.mts +++ b/lib/markdownlint.d.mts @@ -82,6 +82,23 @@ export function applyFixes(input: string, errors: LintError[]): string; * @returns {string} SemVer string. */ export function getVersion(): string; +/** + * Result object for getEffectiveConfig. + */ +export type GetEffectiveConfigResult = { + /** + * Effective configuration. + */ + effectiveConfig: Configuration; + /** + * Rules enabled. + */ + rulesEnabled: Map; + /** + * Rules severity. + */ + rulesSeverity: Map; +}; /** * Result object for getEnabledRulesPerLineNumber. */ @@ -93,11 +110,15 @@ export type EnabledRulesPerLineNumberResult = { /** * Enabled rules per line number. */ - enabledRulesPerLineNumber: any[]; + enabledRulesPerLineNumber: Map[]; /** * Enabled rule list. */ enabledRuleList: Rule[]; + /** + * Rules severity. + */ + rulesSeverity: Map; }; /** * Function to implement rule logic. diff --git a/lib/markdownlint.mjs b/lib/markdownlint.mjs index 91fc11cf..e01035d1 100644 --- a/lib/markdownlint.mjs +++ b/lib/markdownlint.mjs @@ -236,44 +236,87 @@ function mapAliasToRuleNames(ruleList) { return aliasToRuleNames; } +/** + * Result object for getEffectiveConfig. + * + * @typedef {Object} GetEffectiveConfigResult + * @property {Configuration} effectiveConfig Effective configuration. + * @property {Map} rulesEnabled Rules enabled. + * @property {Map} rulesSeverity Rules severity. + */ + /** * Apply (and normalize) configuration object. * * @param {Rule[]} ruleList List of rules. * @param {Configuration} config Configuration object. - * @param {Object.} aliasToRuleNames Map of alias to rule - * names. - * @returns {Configuration} Effective configuration. + * @param {Object.} aliasToRuleNames Map of alias to rule names. + * @returns {GetEffectiveConfigResult} Effective configuration and rule severities. */ function getEffectiveConfig(ruleList, config, aliasToRuleNames) { - const defaultKey = Object.keys(config).filter( - (key) => key.toUpperCase() === "DEFAULT" - ); - const ruleDefault = (defaultKey.length === 0) || !!config[defaultKey[0]]; + let ruleDefaultEnable = true; + /** @type {"error" | "warning"} */ + let ruleDefaultSeverity = "error"; + Object.entries(config).every(([ key, value ]) => { + if (key.toUpperCase() === "DEFAULT") { + ruleDefaultEnable = !!value; + if (value === "warning") { + ruleDefaultSeverity = "warning"; + } + return false; + } + return true; + }); /** @type {Configuration} */ const effectiveConfig = {}; - for (const rule of ruleList) { - const ruleName = rule.names[0].toUpperCase(); - effectiveConfig[ruleName] = ruleDefault; + /** @type {Map} */ + const rulesEnabled = new Map(); + /** @type {Map} */ + const rulesSeverity = new Map(); + const emptyObject = Object.freeze({}); + for (const ruleName of ruleList.map((rule) => rule.names[0].toUpperCase())) { + effectiveConfig[ruleName] = emptyObject; + rulesEnabled.set(ruleName, ruleDefaultEnable); + rulesSeverity.set(ruleName, ruleDefaultSeverity); } // for (const ruleName of deprecatedRuleNames) { // effectiveConfig[ruleName] = false; // } - for (const key of Object.keys(config)) { - let value = config[key]; - if (value) { - value = (value instanceof Object) ? - Object.fromEntries(Object.entries(value).filter(([ k ]) => k !== "severity")) : - {}; - } else { - value = false; - } + for (const [ key, value ] of Object.entries(config)) { const keyUpper = key.toUpperCase(); + /** @type {boolean} */ + let enabled = false; + /** @type {"error" | "warning"} */ + let severity = "error"; + let effectiveValue = {}; + if (value) { + if (value instanceof Object) { + /** @type {{ enabled?: boolean, severity?: "error" | "warning" }} */ + const valueObject = value; + enabled = (valueObject.enabled === undefined) ? true : !!valueObject.enabled; + severity = (valueObject.severity === "warning") ? "warning" : "error"; + effectiveValue = Object.fromEntries( + Object.entries(value).filter( + ([ k ]) => (k !== "enabled") && (k !== "severity") + ) + ); + } else { + enabled = true; + severity = (value === "warning") ? "warning" : "error"; + } + } for (const ruleName of (aliasToRuleNames[keyUpper] || [])) { - effectiveConfig[ruleName] = value; + Object.freeze(effectiveValue); + effectiveConfig[ruleName] = effectiveValue; + rulesEnabled.set(ruleName, enabled); + rulesSeverity.set(ruleName, severity); } } - return effectiveConfig; + return { + effectiveConfig, + rulesEnabled, + rulesSeverity + }; } /** @@ -281,8 +324,9 @@ function getEffectiveConfig(ruleList, config, aliasToRuleNames) { * * @typedef {Object} EnabledRulesPerLineNumberResult * @property {Configuration} effectiveConfig Effective configuration. - * @property {any[]} enabledRulesPerLineNumber Enabled rules per line number. + * @property {Map[]} enabledRulesPerLineNumber Enabled rules per line number. * @property {Rule[]} enabledRuleList Enabled rule list. + * @property {Map} rulesSeverity Rules severity. */ /** @@ -294,8 +338,7 @@ function getEffectiveConfig(ruleList, config, aliasToRuleNames) { * @param {boolean} noInlineConfig Whether to allow inline configuration. * @param {Configuration} config Configuration object. * @param {ConfigurationParser[] | undefined} configParsers Configuration parsers. - * @param {Object.} aliasToRuleNames Map of alias to rule - * names. + * @param {Object.} aliasToRuleNames Map of alias to rule names. * @returns {EnabledRulesPerLineNumberResult} Effective configuration and enabled rules per line number. */ function getEnabledRulesPerLineNumber( @@ -307,9 +350,10 @@ function getEnabledRulesPerLineNumber( configParsers, aliasToRuleNames) { // Shared variables - let enabledRules = {}; - let capturedRules = {}; - const allRuleNames = []; + /** @type {Map} */ + let enabledRules = new Map(); + /** @type {Map} */ + let capturedRules = enabledRules; const enabledRulesPerLineNumber = new Array(1 + frontMatterLines.length); // Helper functions // eslint-disable-next-line jsdoc/require-jsdoc @@ -349,13 +393,14 @@ function getEnabledRulesPerLineNumber( } // eslint-disable-next-line jsdoc/require-jsdoc function applyEnableDisable(action, parameter, state) { - state = { ...state }; + state = new Map(state); const enabled = (action.startsWith("ENABLE")); const trimmed = parameter && parameter.trim(); + // eslint-disable-next-line no-use-before-define const items = trimmed ? trimmed.toUpperCase().split(/\s+/) : allRuleNames; for (const nameUpper of items) { for (const ruleName of (aliasToRuleNames[nameUpper] || [])) { - state[ruleName] = enabled; + state.set(ruleName, enabled); } } return state; @@ -397,29 +442,24 @@ function getEnabledRulesPerLineNumber( } // Handle inline comments handleInlineConfig([ lines.join("\n") ], configureFile); - const effectiveConfig = getEffectiveConfig( - ruleList, config, aliasToRuleNames); - for (const rule of ruleList) { - const ruleName = rule.names[0].toUpperCase(); - allRuleNames.push(ruleName); - enabledRules[ruleName] = !!effectiveConfig[ruleName]; - } + const { effectiveConfig, rulesEnabled, rulesSeverity } = getEffectiveConfig(ruleList, config, aliasToRuleNames); + const allRuleNames = [ ...rulesEnabled.keys() ]; + enabledRules = new Map(rulesEnabled); capturedRules = enabledRules; handleInlineConfig(lines, enableDisableFile); handleInlineConfig(lines, captureRestoreEnableDisable, updateLineState); handleInlineConfig(lines, disableLineNextLine); // Create the list of rules that are used at least once - const enabledRuleList = []; - for (const [ index, ruleName ] of allRuleNames.entries()) { - if (enabledRulesPerLineNumber.some((enabledRulesForLine) => enabledRulesForLine[ruleName])) { - enabledRuleList.push(ruleList[index]); - } - } + const enabledRuleList = ruleList.filter((rule) => { + const ruleName = rule.names[0].toUpperCase(); + return enabledRulesPerLineNumber.some((enabledRulesForLine) => enabledRulesForLine.get(ruleName)); + }); // Return results return { effectiveConfig, enabledRulesPerLineNumber, - enabledRuleList + enabledRuleList, + rulesSeverity }; } @@ -464,7 +504,7 @@ function lintContent( const { frontMatterLines } = removeFrontMatterResult; content = removeFrontMatterResult.content; // Get enabled rules per line (with HTML comments present) - const { effectiveConfig, enabledRulesPerLineNumber, enabledRuleList } = + const { effectiveConfig, enabledRulesPerLineNumber, enabledRuleList, rulesSeverity } = getEnabledRulesPerLineNumber( ruleList, content.split(helpers.newLineRe), @@ -541,12 +581,12 @@ function lintContent( } else if (rule.parser === "micromark") { parsers = parsersMicromark; } - const params = { + const params = Object.freeze({ ...paramsBase, ...tokens, parsers, - "config": (typeof effectiveConfig[ruleName] === "object") ? { ...effectiveConfig[ruleName] } : effectiveConfig[ruleName] - }; + "config": effectiveConfig[ruleName] + }); // eslint-disable-next-line jsdoc/require-jsdoc function throwError(property) { throw new Error( @@ -561,7 +601,7 @@ function lintContent( throwError("lineNumber"); } const lineNumber = errorInfo.lineNumber + frontMatterLines.length; - if (!enabledRulesPerLineNumber[lineNumber][ruleName]) { + if (!enabledRulesPerLineNumber[lineNumber].get(ruleName)) { return; } if (errorInfo.detail && @@ -638,7 +678,8 @@ function lintContent( "errorContext": errorInfo.context?.replace(helpers.newLineRe, " ") || null, "errorRange": errorInfo.range ? [ ...errorInfo.range ] : null, "fixInfo": fixInfo ? cleanFixInfo : null, - "severity": "error" + // @ts-ignore + "severity": rulesSeverity.get(ruleName) }); } // Call (possibly external) rule function to report errors diff --git a/schema/build-config-example.mjs b/schema/build-config-example.mjs index 1c99dfa1..766c4f23 100644 --- a/schema/build-config-example.mjs +++ b/schema/build-config-example.mjs @@ -16,7 +16,7 @@ for (const rule in configSchema.properties) { const subproperties = Object.fromEntries( Object.entries( properties.oneOf?.at(-1).properties || [] - ).filter(([ key ]) => key !== "severity") + ).filter(([ key ]) => ((key !== "enabled") && (key !== "severity"))) ); if (Object.keys(subproperties).length > 0) { /** @type {Object} */ diff --git a/schema/build-config-schema.mjs b/schema/build-config-schema.mjs index 1ccc159f..56ab797d 100644 --- a/schema/build-config-schema.mjs +++ b/schema/build-config-schema.mjs @@ -30,7 +30,7 @@ const schema = { "description": "Default state for all rules", "oneOf": [ { "type": "boolean" }, - { "enum": [ "error" ] } + { "enum": [ "error", "warning" ] } ], "default": true }, @@ -66,7 +66,7 @@ for (const rule of rules) { `${rule.names.join("/")} : ${rule.description} : ${rule.information}`, "oneOf": [ { "type": "boolean" }, - { "enum": [ "error" ] } + { "enum": [ "error", "warning" ] } ], "default": true }; @@ -74,12 +74,15 @@ for (const rule of rules) { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", - "enum": [ - "error" - ], + "enum": [ "error", "warning" ], "default": "error" } } @@ -656,7 +659,7 @@ for (const [ tag, tagTags ] of Object.entries(tags)) { "description": `${tag} : ${tagTags.join(", ")}`, "oneOf": [ { "type": "boolean" }, - { "enum": [ "error" ] } + { "enum": [ "error", "warning" ] } ], "default": true }; diff --git a/schema/markdownlint-config-schema-strict.json b/schema/markdownlint-config-schema-strict.json index debc099d..3fdc7176 100644 --- a/schema/markdownlint-config-schema-strict.json +++ b/schema/markdownlint-config-schema-strict.json @@ -17,7 +17,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -39,18 +40,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -72,18 +80,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -105,18 +120,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -146,18 +168,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -187,18 +216,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -227,18 +263,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -267,18 +310,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -295,18 +345,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -323,18 +380,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -368,18 +432,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -413,18 +484,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -457,18 +535,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -501,18 +586,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -548,18 +640,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -595,18 +694,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -623,18 +729,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -651,18 +764,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -685,18 +805,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -719,18 +846,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -790,18 +924,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -861,18 +1002,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -889,18 +1037,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -917,18 +1072,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -945,18 +1107,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -973,18 +1142,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1001,18 +1177,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1029,18 +1212,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1057,18 +1247,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1085,18 +1282,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1113,18 +1317,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1141,18 +1352,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1193,18 +1411,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1245,18 +1470,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1273,18 +1505,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1301,18 +1540,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1334,18 +1580,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1367,18 +1620,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1407,18 +1667,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1447,18 +1714,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1487,18 +1761,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1520,18 +1801,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1553,18 +1841,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1586,18 +1881,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1619,18 +1921,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1647,18 +1956,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1675,18 +1991,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1714,18 +2037,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1753,18 +2083,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1805,18 +2142,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1857,18 +2201,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1890,18 +2241,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1923,18 +2281,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1951,18 +2316,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1979,18 +2351,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2023,18 +2402,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2067,18 +2453,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2095,18 +2488,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2123,18 +2523,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2156,18 +2563,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2189,18 +2603,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2222,18 +2643,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2255,18 +2683,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2283,18 +2718,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2311,18 +2753,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2339,18 +2788,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2367,18 +2823,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2395,18 +2858,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2423,18 +2893,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2464,18 +2941,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2505,18 +2989,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2550,18 +3041,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2595,18 +3093,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2640,18 +3145,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2668,18 +3180,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2696,18 +3215,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2738,18 +3264,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2780,18 +3313,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2826,18 +3366,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2872,18 +3419,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2900,18 +3454,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2928,18 +3489,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2966,18 +3534,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3004,18 +3579,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -3032,18 +3614,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -3060,18 +3649,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3098,18 +3694,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3136,18 +3739,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3174,18 +3784,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3212,18 +3829,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3250,18 +3874,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3288,18 +3919,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3326,18 +3964,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3364,18 +4009,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3407,18 +4059,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3450,18 +4109,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3488,18 +4154,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3526,18 +4199,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3584,18 +4264,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3642,18 +4329,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3682,18 +4376,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3722,18 +4423,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -3750,18 +4458,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -3778,18 +4493,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -3806,18 +4528,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -3834,18 +4563,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3875,18 +4611,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3916,18 +4659,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3955,18 +4705,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3994,7 +4751,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4008,7 +4766,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4022,7 +4781,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4036,7 +4796,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4050,7 +4811,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4064,7 +4826,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4078,7 +4841,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4092,7 +4856,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4106,7 +4871,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4120,7 +4886,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4134,7 +4901,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4148,7 +4916,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4162,7 +4931,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4176,7 +4946,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4190,7 +4961,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4204,7 +4976,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4218,7 +4991,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4232,7 +5006,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4246,7 +5021,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4260,7 +5036,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4274,7 +5051,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4288,7 +5066,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4302,7 +5081,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4316,7 +5096,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], diff --git a/schema/markdownlint-config-schema.json b/schema/markdownlint-config-schema.json index 8b6d5d0d..f1b8341f 100644 --- a/schema/markdownlint-config-schema.json +++ b/schema/markdownlint-config-schema.json @@ -17,7 +17,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -39,18 +40,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -72,18 +80,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -105,18 +120,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -146,18 +168,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -187,18 +216,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -227,18 +263,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -267,18 +310,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -295,18 +345,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -323,18 +380,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -368,18 +432,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -413,18 +484,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -457,18 +535,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -501,18 +586,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -548,18 +640,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -595,18 +694,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -623,18 +729,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -651,18 +764,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -685,18 +805,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -719,18 +846,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -790,18 +924,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -861,18 +1002,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -889,18 +1037,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -917,18 +1072,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -945,18 +1107,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -973,18 +1142,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1001,18 +1177,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1029,18 +1212,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1057,18 +1247,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1085,18 +1282,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1113,18 +1317,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1141,18 +1352,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1193,18 +1411,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1245,18 +1470,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1273,18 +1505,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1301,18 +1540,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1334,18 +1580,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1367,18 +1620,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1407,18 +1667,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1447,18 +1714,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1487,18 +1761,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1520,18 +1801,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1553,18 +1841,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1586,18 +1881,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1619,18 +1921,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1647,18 +1956,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1675,18 +1991,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1714,18 +2037,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1753,18 +2083,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1805,18 +2142,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1857,18 +2201,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1890,18 +2241,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -1923,18 +2281,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1951,18 +2316,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -1979,18 +2351,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2023,18 +2402,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2067,18 +2453,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2095,18 +2488,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2123,18 +2523,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2156,18 +2563,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2189,18 +2603,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2222,18 +2643,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2255,18 +2683,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2283,18 +2718,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2311,18 +2753,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2339,18 +2788,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2367,18 +2823,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2395,18 +2858,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2423,18 +2893,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2464,18 +2941,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2505,18 +2989,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2550,18 +3041,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2595,18 +3093,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2640,18 +3145,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2668,18 +3180,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2696,18 +3215,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2738,18 +3264,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2780,18 +3313,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2826,18 +3366,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2872,18 +3419,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2900,18 +3454,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -2928,18 +3489,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -2966,18 +3534,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3004,18 +3579,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -3032,18 +3614,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -3060,18 +3649,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3098,18 +3694,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3136,18 +3739,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3174,18 +3784,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3212,18 +3829,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3250,18 +3874,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3288,18 +3919,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3326,18 +3964,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3364,18 +4009,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3407,18 +4059,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3450,18 +4109,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3488,18 +4154,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3526,18 +4199,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3584,18 +4264,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3642,18 +4329,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3682,18 +4376,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3722,18 +4423,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -3750,18 +4458,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -3778,18 +4493,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -3806,18 +4528,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" } @@ -3834,18 +4563,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3875,18 +4611,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3916,18 +4659,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3955,18 +4705,25 @@ }, { "enum": [ - "error" + "error", + "warning" ] }, { "type": "object", "additionalProperties": false, "properties": { + "enabled": { + "description": "Whether to enable the rule", + "type": "boolean", + "default": true + }, "severity": { "description": "Rule severity", "type": "string", "enum": [ - "error" + "error", + "warning" ], "default": "error" }, @@ -3994,7 +4751,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4008,7 +4766,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4022,7 +4781,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4036,7 +4796,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4050,7 +4811,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4064,7 +4826,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4078,7 +4841,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4092,7 +4856,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4106,7 +4871,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4120,7 +4886,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4134,7 +4901,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4148,7 +4916,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4162,7 +4931,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4176,7 +4946,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4190,7 +4961,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4204,7 +4976,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4218,7 +4991,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4232,7 +5006,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4246,7 +5021,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4260,7 +5036,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4274,7 +5051,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4288,7 +5066,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4302,7 +5081,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], @@ -4316,7 +5096,8 @@ }, { "enum": [ - "error" + "error", + "warning" ] } ], diff --git a/test/configure-file-off-enable-inline.md b/test/configure-file-off-enable-inline.md new file mode 100644 index 00000000..a99c81f8 --- /dev/null +++ b/test/configure-file-off-enable-inline.md @@ -0,0 +1,47 @@ +# Configure File Off Enable Inline + ++ List item + +Text (text)[.] + + + ++ List item + +Text (text)[.] + + + ++ List item + +Text (text)[.] + + + ++ List item {MD004} + +Text (text)[.] {MD011} + + + ++ List item + +Text (text)[.] + + + ++ List item {MD004} + +Text (text)[.] {MD011} + + diff --git a/test/configure-file-with-severity-alias.md b/test/configure-file-with-severity-alias.md new file mode 100644 index 00000000..d0230e25 --- /dev/null +++ b/test/configure-file-with-severity-alias.md @@ -0,0 +1,58 @@ +# Configure File With Severity Alias + +Text * text* {MD037} + +Text ` text` {MD038} + +Text [ text](.) + ++ List item {MD004} + +Text (text)[.] {MD011} + +2. List item + + + +Text * text* + +Text ` text` + +Text [ text](.) + ++ List item + +Text (text)[.] + +2. List item + + + +Text * text* {MD037} + +Text ` text` {MD038} + +Text [ text](.) + ++ List item {MD004} + +Text (text)[.] {MD011} + +2. List item + + diff --git a/test/configure-file-with-severity.md b/test/configure-file-with-severity-name.md similarity index 71% rename from test/configure-file-with-severity.md rename to test/configure-file-with-severity-name.md index 4f5cd27f..11a6b00e 100644 --- a/test/configure-file-with-severity.md +++ b/test/configure-file-with-severity-name.md @@ -1,16 +1,16 @@ -# Configure File With Severity +# Configure File With Severity Name Text * text* {MD037} Text ` text` {MD038} -Text [ text](.) {MD039} +Text [ text](.) + List item {MD004} Text (text)[.] {MD011} -2. List item {MD029} +2. List item @@ -32,27 +32,27 @@ Text * text* {MD037} Text ` text` {MD038} -Text [ text](.) {MD039} +Text [ text](.) + List item {MD004} Text (text)[.] {MD011} -2. List item {MD029} +2. List item diff --git a/test/configure-file-with-severity-tag.md b/test/configure-file-with-severity-tag.md new file mode 100644 index 00000000..c03e7f7c --- /dev/null +++ b/test/configure-file-with-severity-tag.md @@ -0,0 +1,50 @@ +# Configure File With Severity Tag + +Text * text* {MD037} + +Text ` text` {MD038} + +Text [ text](.) {MD039} + ++ List item + +Text (text)[.] {MD011} + +2. List item {MD029} + + + +Text * text* + +Text ` text` + +Text [ text](.) + ++ List item + +Text (text)[.] + +2. List item + + + +Text * text* {MD037} + +Text ` text` {MD038} + +Text [ text](.) {MD039} + ++ List item + +Text (text)[.] {MD011} + +2. List item {MD029} + + diff --git a/test/markdownlint-test-custom-rules.mjs b/test/markdownlint-test-custom-rules.mjs index 7f20bc61..780f710b 100644 --- a/test/markdownlint-test-custom-rules.mjs +++ b/test/markdownlint-test-custom-rules.mjs @@ -2037,7 +2037,7 @@ test("customRulesParamsAreFrozen", (t) => { const pending = [ params ]; let current = null; while ((current = pending.shift())) { - t.true(Object.isFrozen(current) || (current === params)); + t.true(Object.isFrozen(current)); for (const name of Object.getOwnPropertyNames(current)) { // @ts-ignore const value = current[name]; @@ -2083,7 +2083,7 @@ test("customRulesParamsAreFrozen", (t) => { }); test("customRulesParamsAreStable", (t) => { - t.plan(6); + t.plan(4); const config1 = { "value1": 10 }; const config2 = { "value2": 20 }; /** @type {import("markdownlint").Options} */ @@ -2108,7 +2108,6 @@ test("customRulesParamsAreStable", (t) => { t.deepEqual(config, config1, `Unexpected config in sync path: ${config}.`); return Promise.resolve().then(() => { t.deepEqual(config, config1, `Unexpected config in async path: ${config}.`); - config.extra = 1; }); } }, @@ -2124,7 +2123,6 @@ test("customRulesParamsAreStable", (t) => { t.deepEqual(config, config2, `Unexpected config in sync path: ${config}.`); return Promise.resolve().then(() => { t.deepEqual(config, config2, `Unexpected config in async path: ${config}.`); - config.extra = 2; }); } } @@ -2133,10 +2131,7 @@ test("customRulesParamsAreStable", (t) => { "string": "# Heading" } }; - return lintPromise(options).then(() => { - t.deepEqual(config1, { "value1": 10 }); - t.deepEqual(config2, { "value2": 20 }); - }); + return lintPromise(options); }); test("customRulesParamsAreExpected", (t) => { @@ -2155,7 +2150,7 @@ test("customRulesParamsAreExpected", (t) => { "description": "description", "tags": [ "tag" ], "parser": "none", - "function": (params) => t.deepEqual(params.config, true) + "function": (params) => t.deepEqual(params.config, {}) }, { "names": [ "name2" ], diff --git a/test/markdownlint-test-helpers.mjs b/test/markdownlint-test-helpers.mjs index ce507f2a..255b9066 100644 --- a/test/markdownlint-test-helpers.mjs +++ b/test/markdownlint-test-helpers.mjs @@ -347,6 +347,7 @@ test("getPreferredLineEnding", (t) => { const actual = helpers.getPreferredLineEnding(input); t.is(actual, expected, "Incorrect line ending returned."); } + // @ts-ignore t.is(helpers.getPreferredLineEnding("", null), "\n"); t.is(helpers.getPreferredLineEnding("", { "EOL": "\n" }), "\n"); t.is(helpers.getPreferredLineEnding("", { "EOL": "\r\n" }), "\r\n"); @@ -358,29 +359,37 @@ test("expandTildePath", (t) => { const homedir = os.homedir(); t.is(helpers.expandTildePath("", os), ""); t.is(helpers.expandTildePath("", {}), ""); + // @ts-ignore t.is(helpers.expandTildePath("", null), ""); t.is( path.resolve(helpers.expandTildePath("~", os)), homedir ); + // @ts-ignore t.is(helpers.expandTildePath("~", null), "~"); t.is(helpers.expandTildePath("file", os), "file"); + // @ts-ignore t.is(helpers.expandTildePath("file", null), "file"); t.is(helpers.expandTildePath("/file", os), "/file"); + // @ts-ignore t.is(helpers.expandTildePath("/file", null), "/file"); t.is( path.resolve(helpers.expandTildePath("~/file", os)), path.join(homedir, "/file") ); + // @ts-ignore t.is(helpers.expandTildePath("~/file", null), "~/file"); t.is(helpers.expandTildePath("dir/file", os), "dir/file"); + // @ts-ignore t.is(helpers.expandTildePath("dir/file", null), "dir/file"); t.is(helpers.expandTildePath("/dir/file", os), "/dir/file"); + // @ts-ignore t.is(helpers.expandTildePath("/dir/file", null), "/dir/file"); t.is( path.resolve(helpers.expandTildePath("~/dir/file", os)), path.join(homedir, "/dir/file") ); + // @ts-ignore t.is(helpers.expandTildePath("~/dir/file", null), "~/dir/file"); }); @@ -396,6 +405,7 @@ test("getReferenceLinkImageData().shortcuts", (t) => { "parser": "none", "function": () => { + // @ts-ignore const { shortcuts } = getReferenceLinkImageData(); t.is(shortcuts.size, 0, [ ...shortcuts.keys() ].join(", ")); } @@ -533,14 +543,14 @@ test("hasOverlap", (t) => { test("formatLintResults", async(t) => { t.plan(2); t.deepEqual(formatLintResults(undefined), []); - const lintResults = await lint({ "strings": { "content": "# Heading\n
" } }); + const lintResults = await lint({ "strings": { "content": "# Heading\n
" } }); t.deepEqual( formatLintResults(lintResults), [ "content:1:3 error MD019/no-multiple-space-atx Multiple spaces after hash on atx style heading [Context: \"# Heading\"]", "content:1 error MD022/blanks-around-headings Headings should be surrounded by blank lines [Expected: 1; Actual: 0; Below] [Context: \"# Heading\"]", - "content:2:1 error MD033/no-inline-html Inline HTML [Element: br]", - "content:2:5 error MD047/single-trailing-newline Files should end with a single newline character" + "content:2:1 warning MD033/no-inline-html Inline HTML [Element: br]", + "content:2:64 error MD047/single-trailing-newline Files should end with a single newline character" ] ); }); diff --git a/test/markdownlint-test.mjs b/test/markdownlint-test.mjs index 749a647e..62b1a0b2 100644 --- a/test/markdownlint-test.mjs +++ b/test/markdownlint-test.mjs @@ -190,6 +190,16 @@ function getConfigTestImplementation(config, expected) { }; } +/** + * Converts a config test scenario from errors to warnings. + * + * @param {Object.} configTest Config test scenario. + * @returns {Object.} Converted scenario. + */ +function configTestAsWarnings(configTest) { + return JSON.parse(JSON.stringify(configTest).replaceAll("error", "warning")); +} + const configTestExpected = { "./test/atx_heading_spacing.md": [], "./test/first_heading_bad_atx.md": [] @@ -273,13 +283,23 @@ test("defaultError", getConfigTestImplementation( test("defaultWarning", getConfigTestImplementation( // @ts-ignore { "default": "warning" }, + configTestAsWarnings(configTestExpected13511) +)); + +test("defaultMultipleTrue", getConfigTestImplementation( + { + "default": true, + "DEFAULT": false + }, configTestExpected13511 )); -test("defaultOff", getConfigTestImplementation( - // @ts-ignore - { "default": "off" }, - configTestExpected13511 +test("defaultMultipleFalse", getConfigTestImplementation( + { + "DEFAULT": false, + "default": true + }, + configTestExpected )); test("disableRules", getConfigTestImplementation( @@ -336,7 +356,7 @@ test("enableRulesTruthy", getConfigTestImplementation( configTestExpected3511 )); -test("enableRulesString", getConfigTestImplementation( +test("enableRulesError", getConfigTestImplementation( { "MD041": "error", "default": false, @@ -346,6 +366,16 @@ test("enableRulesString", getConfigTestImplementation( configTestExpected3511 )); +test("enableRulesWarning", getConfigTestImplementation( + { + "MD041": "warning", + "default": false, + "no-multiple-space-atx": "warning", + "extra": "warning" + }, + configTestAsWarnings(configTestExpected3511) +)); + test("enableRulesObjectEmpty", getConfigTestImplementation( { "MD041": {}, @@ -356,7 +386,7 @@ test("enableRulesObjectEmpty", getConfigTestImplementation( configTestExpected3511 )); -test("enableRulesObjectTruthy", getConfigTestImplementation( +test("enableRulesObjectSeverityTruthy", getConfigTestImplementation( { "MD041": { // @ts-ignore @@ -374,7 +404,7 @@ test("enableRulesObjectTruthy", getConfigTestImplementation( configTestExpected3511 )); -test("enableRulesObjectFalsy", getConfigTestImplementation( +test("enableRulesObjectSeverityFalsy", getConfigTestImplementation( { "MD041": { // @ts-ignore @@ -392,7 +422,7 @@ test("enableRulesObjectFalsy", getConfigTestImplementation( configTestExpected3511 )); -test("enableRulesObjectError", getConfigTestImplementation( +test("enableRulesObjectSeverityError", getConfigTestImplementation( { "MD041": { "severity": "error" @@ -408,42 +438,90 @@ test("enableRulesObjectError", getConfigTestImplementation( configTestExpected3511 )); -test("enableRulesObjectWarning", getConfigTestImplementation( +test("enableRulesObjectSeverityWarning", getConfigTestImplementation( { "MD041": { - // @ts-ignore "severity": "warning" }, "default": false, "no-multiple-space-atx": { - // @ts-ignore "severity": "warning" }, "extra": { "severity": "warning" } }, + configTestAsWarnings(configTestExpected3511) +)); + +test("enableRulesObjectEnabledTrue", getConfigTestImplementation( + { + "MD041": { + "enabled": true + }, + "default": false, + "no-multiple-space-atx": { + "enabled": true + }, + "extra": { + "enabled": true + } + }, configTestExpected3511 )); -test("enableRulesObjectOff", getConfigTestImplementation( +test("enableRulesObjectEnabledFalse", getConfigTestImplementation( + { + "MD041": { + "enabled": false + }, + "default": true, + "no-multiple-space-atx": { + "enabled": false + }, + "extra": { + "enabled": false + } + }, + configTestExpected1 +)); + +test("enableRulesObjectEnabledTruthy", getConfigTestImplementation( { "MD041": { // @ts-ignore - "severity": "off" + "enabled": 1 }, "default": false, "no-multiple-space-atx": { // @ts-ignore - "severity": "off" + "enabled": 1 }, "extra": { - "severity": "off" + "enabled": 1 } }, configTestExpected3511 )); +test("enableRulesObjectEnabledFalsy", getConfigTestImplementation( + { + "MD041": { + // @ts-ignore + "enabled": 0 + }, + "default": true, + "no-multiple-space-atx": { + // @ts-ignore + "enabled": 0 + }, + "extra": { + "enabled": 0 + } + }, + configTestExpected1 +)); + test("disableTag", getConfigTestImplementation( { "default": true, @@ -491,7 +569,7 @@ test("enableTagTruthy", getConfigTestImplementation( configTestExpected135 )); -test("enableTagString", getConfigTestImplementation( +test("enableTagError", getConfigTestImplementation( { "default": false, "spaces": "error", @@ -500,6 +578,15 @@ test("enableTagString", getConfigTestImplementation( configTestExpected135 )); +test("enableTagWarning", getConfigTestImplementation( + { + "default": false, + "spaces": "warning", + "extra": "warning" + }, + configTestAsWarnings(configTestExpected135) +)); + test("styleFiles", async(t) => { t.plan(8); const files = await fs.promises.readdir("./style"); @@ -1008,7 +1095,7 @@ test("readme", async(t) => { }); test("validateJsonUsingConfigSchemaStrict", async(t) => { - t.plan(212); + t.plan(215); // @ts-ignore const ajv = new Ajv(ajvOptions); const validateSchemaStrict = ajv.compile(configSchemaStrict); diff --git a/test/snapshots/markdownlint-test-scenarios.mjs.md b/test/snapshots/markdownlint-test-scenarios.mjs.md index 23a03743..08d9ffdb 100644 --- a/test/snapshots/markdownlint-test-scenarios.mjs.md +++ b/test/snapshots/markdownlint-test-scenarios.mjs.md @@ -11203,7 +11203,148 @@ Generated by [AVA](https://avajs.dev). `, } -## configure-file-with-severity.md +## configure-file-off-enable-inline.md + +> Snapshot 1 + + { + errors: [ + { + errorContext: null, + errorDetail: 'Expected: dash; Actual: plus', + errorRange: [ + 1, + 1, + ], + fixInfo: { + deleteCount: 1, + editColumn: 1, + insertText: '-', + }, + lineNumber: 21, + ruleDescription: 'Unordered list style', + ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md004.md', + ruleNames: [ + 'MD004', + 'ul-style', + ], + severity: 'warning', + }, + { + errorContext: null, + errorDetail: 'Expected: dash; Actual: plus', + errorRange: [ + 1, + 1, + ], + fixInfo: { + deleteCount: 1, + editColumn: 1, + insertText: '-', + }, + lineNumber: 33, + ruleDescription: 'Unordered list style', + ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md004.md', + ruleNames: [ + 'MD004', + 'ul-style', + ], + severity: 'warning', + }, + { + errorContext: null, + errorDetail: '(text)[.]', + errorRange: [ + 6, + 9, + ], + fixInfo: { + deleteCount: 9, + editColumn: 6, + insertText: '[text](.)', + }, + lineNumber: 23, + ruleDescription: 'Reversed link syntax', + ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md011.md', + ruleNames: [ + 'MD011', + 'no-reversed-links', + ], + severity: 'error', + }, + { + errorContext: null, + errorDetail: '(text)[.]', + errorRange: [ + 6, + 9, + ], + fixInfo: { + deleteCount: 9, + editColumn: 6, + insertText: '[text](.)', + }, + lineNumber: 35, + ruleDescription: 'Reversed link syntax', + ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md011.md', + ruleNames: [ + 'MD011', + 'no-reversed-links', + ], + severity: 'error', + }, + ], + fixed: `# Configure File Off Enable Inline␊ + ␊ + + List item␊ + ␊ + Text (text)[.]␊ + ␊ + ␊ + ␊ + + List item␊ + ␊ + Text (text)[.]␊ + ␊ + ␊ + ␊ + + List item␊ + ␊ + Text (text)[.]␊ + ␊ + ␊ + ␊ + - List item {MD004}␊ + ␊ + Text [text](.) {MD011}␊ + ␊ + ␊ + ␊ + + List item␊ + ␊ + Text (text)[.]␊ + ␊ + ␊ + ␊ + - List item {MD004}␊ + ␊ + Text [text](.) {MD011}␊ + ␊ + ␊ + `, + } + +## configure-file-with-severity-alias.md > Snapshot 1 @@ -11270,7 +11411,7 @@ Generated by [AVA](https://avajs.dev). 'MD011', 'no-reversed-links', ], - severity: 'error', + severity: 'warning', }, { errorContext: null, @@ -11291,8 +11432,430 @@ Generated by [AVA](https://avajs.dev). 'MD011', 'no-reversed-links', ], + severity: 'warning', + }, + { + errorContext: '* t', + errorDetail: null, + errorRange: [ + 7, + 1, + ], + fixInfo: { + deleteCount: 1, + editColumn: 7, + }, + lineNumber: 3, + ruleDescription: 'Spaces inside emphasis markers', + ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md037.md', + ruleNames: [ + 'MD037', + 'no-space-in-emphasis', + ], severity: 'error', }, + { + errorContext: '* t', + errorDetail: null, + errorRange: [ + 7, + 1, + ], + fixInfo: { + deleteCount: 1, + editColumn: 7, + }, + lineNumber: 31, + ruleDescription: 'Spaces inside emphasis markers', + ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md037.md', + ruleNames: [ + 'MD037', + 'no-space-in-emphasis', + ], + severity: 'error', + }, + { + errorContext: '` text`', + errorDetail: null, + errorRange: [ + 7, + 1, + ], + fixInfo: { + deleteCount: 1, + editColumn: 7, + }, + lineNumber: 5, + ruleDescription: 'Spaces inside code span elements', + ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md038.md', + ruleNames: [ + 'MD038', + 'no-space-in-code', + ], + severity: 'warning', + }, + { + errorContext: '` text`', + errorDetail: null, + errorRange: [ + 7, + 1, + ], + fixInfo: { + deleteCount: 1, + editColumn: 7, + }, + lineNumber: 33, + ruleDescription: 'Spaces inside code span elements', + ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md038.md', + ruleNames: [ + 'MD038', + 'no-space-in-code', + ], + severity: 'warning', + }, + ], + fixed: `# Configure File With Severity Alias␊ + ␊ + Text *text* {MD037}␊ + ␊ + Text \`text\` {MD038}␊ + ␊ + Text [ text](.)␊ + ␊ + - List item {MD004}␊ + ␊ + Text [text](.) {MD011}␊ + ␊ + 2. List item␊ + ␊ + ␊ + ␊ + Text * text*␊ + ␊ + Text \` text\`␊ + ␊ + Text [ text](.)␊ + ␊ + + List item␊ + ␊ + Text (text)[.]␊ + ␊ + 2. List item␊ + ␊ + ␊ + ␊ + Text *text* {MD037}␊ + ␊ + Text \`text\` {MD038}␊ + ␊ + Text [ text](.)␊ + ␊ + - List item {MD004}␊ + ␊ + Text [text](.) {MD011}␊ + ␊ + 2. List item␊ + ␊ + ␊ + `, + } + +## configure-file-with-severity-name.md + +> Snapshot 1 + + { + errors: [ + { + errorContext: null, + errorDetail: 'Expected: dash; Actual: plus', + errorRange: [ + 1, + 1, + ], + fixInfo: { + deleteCount: 1, + editColumn: 1, + insertText: '-', + }, + lineNumber: 9, + ruleDescription: 'Unordered list style', + ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md004.md', + ruleNames: [ + 'MD004', + 'ul-style', + ], + severity: 'error', + }, + { + errorContext: null, + errorDetail: 'Expected: dash; Actual: plus', + errorRange: [ + 1, + 1, + ], + fixInfo: { + deleteCount: 1, + editColumn: 1, + insertText: '-', + }, + lineNumber: 37, + ruleDescription: 'Unordered list style', + ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md004.md', + ruleNames: [ + 'MD004', + 'ul-style', + ], + severity: 'error', + }, + { + errorContext: null, + errorDetail: '(text)[.]', + errorRange: [ + 6, + 9, + ], + fixInfo: { + deleteCount: 9, + editColumn: 6, + insertText: '[text](.)', + }, + lineNumber: 11, + ruleDescription: 'Reversed link syntax', + ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md011.md', + ruleNames: [ + 'MD011', + 'no-reversed-links', + ], + severity: 'warning', + }, + { + errorContext: null, + errorDetail: '(text)[.]', + errorRange: [ + 6, + 9, + ], + fixInfo: { + deleteCount: 9, + editColumn: 6, + insertText: '[text](.)', + }, + lineNumber: 39, + ruleDescription: 'Reversed link syntax', + ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md011.md', + ruleNames: [ + 'MD011', + 'no-reversed-links', + ], + severity: 'warning', + }, + { + errorContext: '* t', + errorDetail: null, + errorRange: [ + 7, + 1, + ], + fixInfo: { + deleteCount: 1, + editColumn: 7, + }, + lineNumber: 3, + ruleDescription: 'Spaces inside emphasis markers', + ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md037.md', + ruleNames: [ + 'MD037', + 'no-space-in-emphasis', + ], + severity: 'error', + }, + { + errorContext: '* t', + errorDetail: null, + errorRange: [ + 7, + 1, + ], + fixInfo: { + deleteCount: 1, + editColumn: 7, + }, + lineNumber: 31, + ruleDescription: 'Spaces inside emphasis markers', + ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md037.md', + ruleNames: [ + 'MD037', + 'no-space-in-emphasis', + ], + severity: 'error', + }, + { + errorContext: '` text`', + errorDetail: null, + errorRange: [ + 7, + 1, + ], + fixInfo: { + deleteCount: 1, + editColumn: 7, + }, + lineNumber: 5, + ruleDescription: 'Spaces inside code span elements', + ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md038.md', + ruleNames: [ + 'MD038', + 'no-space-in-code', + ], + severity: 'warning', + }, + { + errorContext: '` text`', + errorDetail: null, + errorRange: [ + 7, + 1, + ], + fixInfo: { + deleteCount: 1, + editColumn: 7, + }, + lineNumber: 33, + ruleDescription: 'Spaces inside code span elements', + ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md038.md', + ruleNames: [ + 'MD038', + 'no-space-in-code', + ], + severity: 'warning', + }, + ], + fixed: `# Configure File With Severity Name␊ + ␊ + Text *text* {MD037}␊ + ␊ + Text \`text\` {MD038}␊ + ␊ + Text [ text](.)␊ + ␊ + - List item {MD004}␊ + ␊ + Text [text](.) {MD011}␊ + ␊ + 2. List item␊ + ␊ + ␊ + ␊ + Text * text*␊ + ␊ + Text \` text\`␊ + ␊ + Text [ text](.)␊ + ␊ + + List item␊ + ␊ + Text (text)[.]␊ + ␊ + 2. List item␊ + ␊ + ␊ + ␊ + Text *text* {MD037}␊ + ␊ + Text \`text\` {MD038}␊ + ␊ + Text [ text](.)␊ + ␊ + - List item {MD004}␊ + ␊ + Text [text](.) {MD011}␊ + ␊ + 2. List item␊ + ␊ + ␊ + `, + } + +## configure-file-with-severity-tag.md + +> Snapshot 1 + + { + errors: [ + { + errorContext: null, + errorDetail: '(text)[.]', + errorRange: [ + 6, + 9, + ], + fixInfo: { + deleteCount: 9, + editColumn: 6, + insertText: '[text](.)', + }, + lineNumber: 11, + ruleDescription: 'Reversed link syntax', + ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md011.md', + ruleNames: [ + 'MD011', + 'no-reversed-links', + ], + severity: 'warning', + }, + { + errorContext: null, + errorDetail: '(text)[.]', + errorRange: [ + 6, + 9, + ], + fixInfo: { + deleteCount: 9, + editColumn: 6, + insertText: '[text](.)', + }, + lineNumber: 39, + ruleDescription: 'Reversed link syntax', + ruleInformation: 'https://github.com/DavidAnson/markdownlint/blob/v0.0.0/doc/md011.md', + ruleNames: [ + 'MD011', + 'no-reversed-links', + ], + severity: 'warning', + }, { errorContext: null, errorDetail: 'Expected: 1; Actual: 2; Style: 1/1/1', @@ -11393,7 +11956,7 @@ Generated by [AVA](https://avajs.dev). 'MD038', 'no-space-in-code', ], - severity: 'error', + severity: 'warning', }, { errorContext: '` text`', @@ -11413,7 +11976,7 @@ Generated by [AVA](https://avajs.dev). 'MD038', 'no-space-in-code', ], - severity: 'error', + severity: 'warning', }, { errorContext: '[ text]', @@ -11433,7 +11996,7 @@ Generated by [AVA](https://avajs.dev). 'MD039', 'no-space-in-links', ], - severity: 'error', + severity: 'warning', }, { errorContext: '[ text]', @@ -11453,10 +12016,10 @@ Generated by [AVA](https://avajs.dev). 'MD039', 'no-space-in-links', ], - severity: 'error', + severity: 'warning', }, ], - fixed: `# Configure File With Severity␊ + fixed: `# Configure File With Severity Tag␊ ␊ Text *text* {MD037}␊ ␊ @@ -11464,7 +12027,7 @@ Generated by [AVA](https://avajs.dev). ␊ Text [text](.) {MD039}␊ ␊ - - List item {MD004}␊ + + List item␊ ␊ Text [text](.) {MD011}␊ ␊ @@ -11492,7 +12055,7 @@ Generated by [AVA](https://avajs.dev). ␊ Text [text](.) {MD039}␊ ␊ - - List item {MD004}␊ + + List item␊ ␊ Text [text](.) {MD011}␊ ␊ @@ -11500,19 +12063,11 @@ Generated by [AVA](https://avajs.dev). ␊ ␊ `, } diff --git a/test/snapshots/markdownlint-test-scenarios.mjs.snap b/test/snapshots/markdownlint-test-scenarios.mjs.snap index a3689d1a..2f7f55c5 100644 Binary files a/test/snapshots/markdownlint-test-scenarios.mjs.snap and b/test/snapshots/markdownlint-test-scenarios.mjs.snap differ