diff --git a/lib/configuration-strict.d.ts b/lib/configuration-strict.d.ts index 788bc64f..8b4ca5f3 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; + default?: boolean | "error"; /** * Path to configuration file to extend */ @@ -23,6 +23,7 @@ export interface ConfigurationStrict { */ MD001?: | boolean + | "error" | { /** * RegExp for matching title in front matter @@ -34,6 +35,7 @@ export interface ConfigurationStrict { */ "heading-increment"?: | boolean + | "error" | { /** * RegExp for matching title in front matter @@ -45,6 +47,7 @@ export interface ConfigurationStrict { */ MD003?: | boolean + | "error" | { /** * Heading style @@ -56,6 +59,7 @@ export interface ConfigurationStrict { */ "heading-style"?: | boolean + | "error" | { /** * Heading style @@ -67,6 +71,7 @@ export interface ConfigurationStrict { */ MD004?: | boolean + | "error" | { /** * List style @@ -78,6 +83,7 @@ export interface ConfigurationStrict { */ "ul-style"?: | boolean + | "error" | { /** * List style @@ -87,16 +93,17 @@ export interface ConfigurationStrict { /** * MD005/list-indent : Inconsistent indentation for list items at the same level : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md005.md */ - MD005?: boolean; + MD005?: boolean | "error"; /** * 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; + "list-indent"?: boolean | "error"; /** * MD007/ul-indent : Unordered list indentation : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md007.md */ MD007?: | boolean + | "error" | { /** * Spaces for indent @@ -116,6 +123,7 @@ export interface ConfigurationStrict { */ "ul-indent"?: | boolean + | "error" | { /** * Spaces for indent @@ -135,6 +143,7 @@ export interface ConfigurationStrict { */ MD009?: | boolean + | "error" | { /** * Spaces for line break @@ -154,6 +163,7 @@ export interface ConfigurationStrict { */ "no-trailing-spaces"?: | boolean + | "error" | { /** * Spaces for line break @@ -173,6 +183,7 @@ export interface ConfigurationStrict { */ MD010?: | boolean + | "error" | { /** * Include code blocks @@ -192,6 +203,7 @@ export interface ConfigurationStrict { */ "no-hard-tabs"?: | boolean + | "error" | { /** * Include code blocks @@ -209,16 +221,17 @@ export interface ConfigurationStrict { /** * MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md011.md */ - MD011?: boolean; + MD011?: boolean | "error"; /** * MD011/no-reversed-links : Reversed link syntax : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md011.md */ - "no-reversed-links"?: boolean; + "no-reversed-links"?: boolean | "error"; /** * MD012/no-multiple-blanks : Multiple consecutive blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md012.md */ MD012?: | boolean + | "error" | { /** * Consecutive blank lines @@ -230,6 +243,7 @@ export interface ConfigurationStrict { */ "no-multiple-blanks"?: | boolean + | "error" | { /** * Consecutive blank lines @@ -241,6 +255,7 @@ export interface ConfigurationStrict { */ MD013?: | boolean + | "error" | { /** * Number of characters @@ -280,6 +295,7 @@ export interface ConfigurationStrict { */ "line-length"?: | boolean + | "error" | { /** * Number of characters @@ -317,48 +333,49 @@ export interface ConfigurationStrict { /** * MD014/commands-show-output : Dollar signs used before commands without showing output : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md014.md */ - MD014?: boolean; + MD014?: boolean | "error"; /** * 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; + "commands-show-output"?: boolean | "error"; /** * 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; + MD018?: boolean | "error"; /** * 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; + "no-missing-space-atx"?: boolean | "error"; /** * 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; + MD019?: boolean | "error"; /** * 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; + "no-multiple-space-atx"?: boolean | "error"; /** * 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; + MD020?: boolean | "error"; /** * 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; + "no-missing-space-closed-atx"?: boolean | "error"; /** * 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; + MD021?: boolean | "error"; /** * 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; + "no-multiple-space-closed-atx"?: boolean | "error"; /** * 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" | { /** * Blank lines above heading @@ -374,6 +391,7 @@ export interface ConfigurationStrict { */ "blanks-around-headings"?: | boolean + | "error" | { /** * Blank lines above heading @@ -387,16 +405,17 @@ export interface ConfigurationStrict { /** * 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 */ - MD023?: boolean; + MD023?: boolean | "error"; /** * 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; + "heading-start-left"?: boolean | "error"; /** * 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" | { /** * Only check sibling headings @@ -408,6 +427,7 @@ export interface ConfigurationStrict { */ "no-duplicate-heading"?: | boolean + | "error" | { /** * Only check sibling headings @@ -419,6 +439,7 @@ export interface ConfigurationStrict { */ MD025?: | boolean + | "error" | { /** * RegExp for matching title in front matter @@ -434,6 +455,7 @@ export interface ConfigurationStrict { */ "single-title"?: | boolean + | "error" | { /** * RegExp for matching title in front matter @@ -449,6 +471,7 @@ export interface ConfigurationStrict { */ "single-h1"?: | boolean + | "error" | { /** * RegExp for matching title in front matter @@ -464,6 +487,7 @@ export interface ConfigurationStrict { */ MD026?: | boolean + | "error" | { /** * Punctuation characters @@ -475,6 +499,7 @@ export interface ConfigurationStrict { */ "no-trailing-punctuation"?: | boolean + | "error" | { /** * Punctuation characters @@ -486,6 +511,7 @@ export interface ConfigurationStrict { */ MD027?: | boolean + | "error" | { /** * Include list items @@ -497,6 +523,7 @@ export interface ConfigurationStrict { */ "no-multiple-space-blockquote"?: | boolean + | "error" | { /** * Include list items @@ -506,16 +533,17 @@ export interface ConfigurationStrict { /** * MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md028.md */ - MD028?: boolean; + MD028?: boolean | "error"; /** * MD028/no-blanks-blockquote : Blank line inside blockquote : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md028.md */ - "no-blanks-blockquote"?: boolean; + "no-blanks-blockquote"?: boolean | "error"; /** * MD029/ol-prefix : Ordered list item prefix : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md029.md */ MD029?: | boolean + | "error" | { /** * List style @@ -527,6 +555,7 @@ export interface ConfigurationStrict { */ "ol-prefix"?: | boolean + | "error" | { /** * List style @@ -538,6 +567,7 @@ export interface ConfigurationStrict { */ MD030?: | boolean + | "error" | { /** * Spaces for single-line unordered list items @@ -561,6 +591,7 @@ export interface ConfigurationStrict { */ "list-marker-space"?: | boolean + | "error" | { /** * Spaces for single-line unordered list items @@ -584,6 +615,7 @@ export interface ConfigurationStrict { */ MD031?: | boolean + | "error" | { /** * Include list items @@ -595,6 +627,7 @@ export interface ConfigurationStrict { */ "blanks-around-fences"?: | boolean + | "error" | { /** * Include list items @@ -604,16 +637,17 @@ export interface ConfigurationStrict { /** * MD032/blanks-around-lists : Lists should be surrounded by blank lines : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md032.md */ - MD032?: boolean; + MD032?: boolean | "error"; /** * 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; + "blanks-around-lists"?: boolean | "error"; /** * MD033/no-inline-html : Inline HTML : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md033.md */ MD033?: | boolean + | "error" | { /** * Allowed elements @@ -629,6 +663,7 @@ export interface ConfigurationStrict { */ "no-inline-html"?: | boolean + | "error" | { /** * Allowed elements @@ -642,16 +677,17 @@ export interface ConfigurationStrict { /** * MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md034.md */ - MD034?: boolean; + MD034?: boolean | "error"; /** * MD034/no-bare-urls : Bare URL used : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md034.md */ - "no-bare-urls"?: boolean; + "no-bare-urls"?: boolean | "error"; /** * MD035/hr-style : Horizontal rule style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md035.md */ MD035?: | boolean + | "error" | { /** * Horizontal rule style @@ -663,6 +699,7 @@ export interface ConfigurationStrict { */ "hr-style"?: | boolean + | "error" | { /** * Horizontal rule style @@ -674,6 +711,7 @@ export interface ConfigurationStrict { */ MD036?: | boolean + | "error" | { /** * Punctuation characters @@ -685,6 +723,7 @@ export interface ConfigurationStrict { */ "no-emphasis-as-heading"?: | boolean + | "error" | { /** * Punctuation characters @@ -694,32 +733,33 @@ export interface ConfigurationStrict { /** * MD037/no-space-in-emphasis : Spaces inside emphasis markers : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md037.md */ - MD037?: boolean; + MD037?: boolean | "error"; /** * 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; + "no-space-in-emphasis"?: boolean | "error"; /** * MD038/no-space-in-code : Spaces inside code span elements : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md038.md */ - MD038?: boolean; + MD038?: boolean | "error"; /** * 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; + "no-space-in-code"?: boolean | "error"; /** * MD039/no-space-in-links : Spaces inside link text : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md039.md */ - MD039?: boolean; + MD039?: boolean | "error"; /** * 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; + "no-space-in-links"?: boolean | "error"; /** * 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" | { /** * List of languages @@ -735,6 +775,7 @@ export interface ConfigurationStrict { */ "fenced-code-language"?: | boolean + | "error" | { /** * List of languages @@ -750,6 +791,7 @@ export interface ConfigurationStrict { */ MD041?: | boolean + | "error" | { /** * Allow content before first heading @@ -769,6 +811,7 @@ export interface ConfigurationStrict { */ "first-line-heading"?: | boolean + | "error" | { /** * Allow content before first heading @@ -788,6 +831,7 @@ export interface ConfigurationStrict { */ "first-line-h1"?: | boolean + | "error" | { /** * Allow content before first heading @@ -805,16 +849,17 @@ export interface ConfigurationStrict { /** * MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md042.md */ - MD042?: boolean; + MD042?: boolean | "error"; /** * MD042/no-empty-links : No empty links : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md042.md */ - "no-empty-links"?: boolean; + "no-empty-links"?: boolean | "error"; /** * MD043/required-headings : Required heading structure : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md043.md */ MD043?: | boolean + | "error" | { /** * List of headings @@ -830,6 +875,7 @@ export interface ConfigurationStrict { */ "required-headings"?: | boolean + | "error" | { /** * List of headings @@ -845,6 +891,7 @@ export interface ConfigurationStrict { */ MD044?: | boolean + | "error" | { /** * List of proper names @@ -864,6 +911,7 @@ export interface ConfigurationStrict { */ "proper-names"?: | boolean + | "error" | { /** * List of proper names @@ -881,16 +929,17 @@ export interface ConfigurationStrict { /** * MD045/no-alt-text : Images should have alternate text (alt text) : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md045.md */ - MD045?: boolean; + MD045?: boolean | "error"; /** * 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; + "no-alt-text"?: boolean | "error"; /** * MD046/code-block-style : Code block style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md046.md */ MD046?: | boolean + | "error" | { /** * Block style @@ -902,6 +951,7 @@ export interface ConfigurationStrict { */ "code-block-style"?: | boolean + | "error" | { /** * Block style @@ -911,16 +961,17 @@ export interface ConfigurationStrict { /** * MD047/single-trailing-newline : Files should end with a single newline character : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md047.md */ - MD047?: boolean; + MD047?: boolean | "error"; /** * 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; + "single-trailing-newline"?: boolean | "error"; /** * MD048/code-fence-style : Code fence style : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md048.md */ MD048?: | boolean + | "error" | { /** * Code fence style @@ -932,6 +983,7 @@ export interface ConfigurationStrict { */ "code-fence-style"?: | boolean + | "error" | { /** * Code fence style @@ -943,6 +995,7 @@ export interface ConfigurationStrict { */ MD049?: | boolean + | "error" | { /** * Emphasis style @@ -954,6 +1007,7 @@ export interface ConfigurationStrict { */ "emphasis-style"?: | boolean + | "error" | { /** * Emphasis style @@ -965,6 +1019,7 @@ export interface ConfigurationStrict { */ MD050?: | boolean + | "error" | { /** * Strong style @@ -976,6 +1031,7 @@ export interface ConfigurationStrict { */ "strong-style"?: | boolean + | "error" | { /** * Strong style @@ -987,6 +1043,7 @@ export interface ConfigurationStrict { */ MD051?: | boolean + | "error" | { /** * Ignore case of fragments @@ -1002,6 +1059,7 @@ export interface ConfigurationStrict { */ "link-fragments"?: | boolean + | "error" | { /** * Ignore case of fragments @@ -1017,6 +1075,7 @@ export interface ConfigurationStrict { */ MD052?: | boolean + | "error" | { /** * Ignored link labels @@ -1032,6 +1091,7 @@ export interface ConfigurationStrict { */ "reference-links-images"?: | boolean + | "error" | { /** * Ignored link labels @@ -1047,6 +1107,7 @@ export interface ConfigurationStrict { */ MD053?: | boolean + | "error" | { /** * Ignored definitions @@ -1058,6 +1119,7 @@ export interface ConfigurationStrict { */ "link-image-reference-definitions"?: | boolean + | "error" | { /** * Ignored definitions @@ -1069,6 +1131,7 @@ export interface ConfigurationStrict { */ MD054?: | boolean + | "error" | { /** * Allow autolinks @@ -1100,6 +1163,7 @@ export interface ConfigurationStrict { */ "link-image-style"?: | boolean + | "error" | { /** * Allow autolinks @@ -1131,6 +1195,7 @@ export interface ConfigurationStrict { */ MD055?: | boolean + | "error" | { /** * Table pipe style @@ -1142,6 +1207,7 @@ export interface ConfigurationStrict { */ "table-pipe-style"?: | boolean + | "error" | { /** * Table pipe style @@ -1151,24 +1217,25 @@ export interface ConfigurationStrict { /** * MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md056.md */ - MD056?: boolean; + MD056?: boolean | "error"; /** * MD056/table-column-count : Table column count : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md056.md */ - "table-column-count"?: boolean; + "table-column-count"?: boolean | "error"; /** * 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; + MD058?: boolean | "error"; /** * 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; + "blanks-around-tables"?: boolean | "error"; /** * MD059/descriptive-link-text : Link text should be descriptive : https://github.com/DavidAnson/markdownlint/blob/v0.38.0/doc/md059.md */ MD059?: | boolean + | "error" | { /** * Prohibited link texts @@ -1180,6 +1247,7 @@ export interface ConfigurationStrict { */ "descriptive-link-text"?: | boolean + | "error" | { /** * Prohibited link texts @@ -1191,6 +1259,7 @@ export interface ConfigurationStrict { */ MD060?: | boolean + | "error" | { /** * Table column style @@ -1202,6 +1271,7 @@ export interface ConfigurationStrict { */ "table-column-style"?: | boolean + | "error" | { /** * Table column style diff --git a/schema/build-config-schema.mjs b/schema/build-config-schema.mjs index d9ef9803..c61938d7 100644 --- a/schema/build-config-schema.mjs +++ b/schema/build-config-schema.mjs @@ -19,6 +19,7 @@ const schema = { "$id": schemaUri, "title": "markdownlint configuration schema", "type": "object", + /** @type {Object.} */ "properties": { "$schema": { "description": "JSON Schema URI (expected by some editors)", @@ -28,8 +29,8 @@ const schema = { "default": { "description": "Default state for all rules", "oneOf": [ - { "type": "boolean" } - // { "enum": [ "error", "warning" ] } + { "type": "boolean" }, + { "enum": [ "error" ] } ], "default": true }, @@ -49,6 +50,7 @@ const schema = { ] } }; +/** @type {Object.} */ const tags = {}; // Add rules @@ -63,11 +65,12 @@ for (const rule of rules) { "description": `${rule.names.join("/")} : ${rule.description} : ${rule.information}`, "oneOf": [ - { "type": "boolean" } - // { "enum": [ "error", "warning" ] } + { "type": "boolean" }, + { "enum": [ "error" ] } ], "default": true }; + /** @type {{type: "object", additionalProperties: boolean, properties?: object}} */ const subscheme = { "type": "object", "additionalProperties": false diff --git a/schema/markdownlint-config-schema-strict.json b/schema/markdownlint-config-schema-strict.json index 924f8857..a0c17904 100644 --- a/schema/markdownlint-config-schema-strict.json +++ b/schema/markdownlint-config-schema-strict.json @@ -14,6 +14,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -32,6 +37,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -52,6 +62,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -72,6 +87,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -100,6 +120,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -128,6 +153,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -155,6 +185,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -181,6 +216,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -190,6 +230,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -200,6 +245,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -232,6 +282,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -264,6 +319,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -295,6 +355,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -326,6 +391,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -360,6 +430,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -393,6 +468,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -402,6 +482,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -412,6 +497,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -433,6 +523,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -454,6 +549,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -512,6 +612,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -569,6 +674,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -578,6 +688,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -587,6 +702,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -596,6 +716,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -605,6 +730,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -614,6 +744,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -623,6 +758,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -632,6 +772,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -641,6 +786,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -650,6 +800,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -660,6 +815,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -699,6 +859,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -737,6 +902,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -746,6 +916,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -756,6 +931,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -776,6 +956,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -796,6 +981,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -823,6 +1013,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -850,6 +1045,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -877,6 +1077,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -897,6 +1102,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -917,6 +1127,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -937,6 +1152,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -956,6 +1176,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -965,6 +1190,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -975,6 +1205,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1001,6 +1236,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1027,6 +1267,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1066,6 +1311,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1105,6 +1355,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1125,6 +1380,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1144,6 +1404,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1153,6 +1418,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1163,6 +1433,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1194,6 +1469,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1224,6 +1504,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1233,6 +1518,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1243,6 +1533,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1263,6 +1558,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1283,6 +1583,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1303,6 +1608,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1322,6 +1632,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1331,6 +1646,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1340,6 +1660,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1349,6 +1674,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1358,6 +1688,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1367,6 +1702,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1377,6 +1717,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1405,6 +1750,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1433,6 +1783,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1465,6 +1820,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1497,6 +1857,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1528,6 +1893,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1537,6 +1907,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1547,6 +1922,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1576,6 +1956,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1605,6 +1990,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1638,6 +2028,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1670,6 +2065,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1679,6 +2079,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1689,6 +2094,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1714,6 +2124,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1738,6 +2153,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1747,6 +2167,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1757,6 +2182,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1782,6 +2212,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1807,6 +2242,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1832,6 +2272,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1857,6 +2302,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1882,6 +2332,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1907,6 +2362,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1932,6 +2392,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1957,6 +2422,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1987,6 +2457,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2017,6 +2492,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2042,6 +2522,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2067,6 +2552,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2112,6 +2602,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2157,6 +2652,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2184,6 +2684,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2210,6 +2715,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -2219,6 +2729,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -2228,6 +2743,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -2237,6 +2757,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -2247,6 +2772,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2275,6 +2805,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2303,6 +2838,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2329,6 +2869,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, diff --git a/schema/markdownlint-config-schema.json b/schema/markdownlint-config-schema.json index 6241f3c6..e773c31f 100644 --- a/schema/markdownlint-config-schema.json +++ b/schema/markdownlint-config-schema.json @@ -14,6 +14,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -32,6 +37,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -52,6 +62,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -72,6 +87,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -100,6 +120,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -128,6 +153,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -155,6 +185,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -181,6 +216,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -190,6 +230,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -200,6 +245,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -232,6 +282,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -264,6 +319,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -295,6 +355,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -326,6 +391,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -360,6 +430,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -393,6 +468,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -402,6 +482,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -412,6 +497,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -433,6 +523,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -454,6 +549,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -512,6 +612,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -569,6 +674,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -578,6 +688,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -587,6 +702,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -596,6 +716,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -605,6 +730,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -614,6 +744,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -623,6 +758,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -632,6 +772,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -641,6 +786,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -650,6 +800,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -660,6 +815,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -699,6 +859,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -737,6 +902,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -746,6 +916,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -756,6 +931,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -776,6 +956,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -796,6 +981,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -823,6 +1013,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -850,6 +1045,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -877,6 +1077,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -897,6 +1102,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -917,6 +1127,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -937,6 +1152,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -956,6 +1176,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -965,6 +1190,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -975,6 +1205,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1001,6 +1236,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1027,6 +1267,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1066,6 +1311,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1105,6 +1355,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1125,6 +1380,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1144,6 +1404,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1153,6 +1418,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1163,6 +1433,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1194,6 +1469,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1224,6 +1504,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1233,6 +1518,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1243,6 +1533,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1263,6 +1558,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1283,6 +1583,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1303,6 +1608,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1322,6 +1632,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1331,6 +1646,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1340,6 +1660,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1349,6 +1674,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1358,6 +1688,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1367,6 +1702,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1377,6 +1717,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1405,6 +1750,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1433,6 +1783,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1465,6 +1820,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1497,6 +1857,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1528,6 +1893,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1537,6 +1907,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1547,6 +1922,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1576,6 +1956,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1605,6 +1990,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1638,6 +2028,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1670,6 +2065,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1679,6 +2079,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1689,6 +2094,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1714,6 +2124,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1738,6 +2153,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1747,6 +2167,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -1757,6 +2182,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1782,6 +2212,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1807,6 +2242,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1832,6 +2272,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1857,6 +2302,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1882,6 +2332,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1907,6 +2362,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1932,6 +2392,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1957,6 +2422,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -1987,6 +2457,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2017,6 +2492,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2042,6 +2522,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2067,6 +2552,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2112,6 +2602,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2157,6 +2652,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2184,6 +2684,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2210,6 +2715,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -2219,6 +2729,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -2228,6 +2743,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -2237,6 +2757,11 @@ "oneOf": [ { "type": "boolean" + }, + { + "enum": [ + "error" + ] } ], "default": true @@ -2247,6 +2772,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2275,6 +2805,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2303,6 +2838,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, @@ -2329,6 +2869,11 @@ { "type": "boolean" }, + { + "enum": [ + "error" + ] + }, { "type": "object", "additionalProperties": false, diff --git a/test/esm-helpers.mjs b/test/esm-helpers.mjs index be66c994..a31e4979 100644 --- a/test/esm-helpers.mjs +++ b/test/esm-helpers.mjs @@ -4,11 +4,13 @@ import fs from "node:fs/promises"; import path from "node:path"; import { fileURLToPath } from "node:url"; +/* eslint-disable jsdoc/no-undefined-types */ + /** * Gets the file name of the current module. * Shims import.meta.filename for Node 18. * - * @param {Object} meta ESM import.meta object. + * @param {ImportMeta} meta ESM import.meta object. * @returns {string} File name. */ // eslint-disable-next-line no-underscore-dangle @@ -18,7 +20,7 @@ export const __filename = (meta) => fileURLToPath(meta.url); * Gets the directory name of the current module. * Shims import.meta.dirname for Node 18. * - * @param {Object} meta ESM import.meta object. + * @param {ImportMeta} meta ESM import.meta object. * @returns {string} Directory name. */ // eslint-disable-next-line no-underscore-dangle @@ -28,9 +30,9 @@ export const __dirname = (meta) => path.dirname(__filename(meta)); * Imports a file as JSON. * Avoids "ExperimentalWarning: Importing JSON modules is an experimental feature and might change at any time". * - * @param {Object} meta ESM import.meta object. + * @param {ImportMeta} meta ESM import.meta object. * @param {string} file JSON file to import. - * @returns {Promise} JSON object. + * @returns {Promise} JSON object. */ export const importWithTypeJson = async(meta, file) => ( // @ts-ignore diff --git a/test/markdownlint-test.mjs b/test/markdownlint-test.mjs index 7345fab5..e908d67c 100644 --- a/test/markdownlint-test.mjs +++ b/test/markdownlint-test.mjs @@ -22,7 +22,9 @@ import * as constants from "../lib/constants.mjs"; import rules from "../lib/rules.mjs"; import customRules from "./rules/rules.cjs"; import { __dirname, importWithTypeJson } from "./esm-helpers.mjs"; +/** @type {{exports: Object., homepage: string, version: string}} */ const packageJson = await importWithTypeJson(import.meta, "../package.json"); +/** @type {{$id: string, properties: Object}} */ const configSchema = await importWithTypeJson(import.meta, "../schema/markdownlint-config-schema.json"); const configSchemaStrict = await importWithTypeJson(import.meta, "../schema/markdownlint-config-schema-strict.json"); @@ -31,6 +33,10 @@ const ajvOptions = { "allowUnionTypes": true }; +/** @typedef {import("ava").ImplementationFn<[]>} ImplementationFn */ +/** @typedef {import("markdownlint").Configuration} Configuration */ +/** @typedef {import("markdownlint").LintResults} LintResults */ + /** * Gets an instance of a markdown-it factory, suitable for use with options.markdownItFactory. * @@ -140,90 +146,98 @@ test("inputOnlyNewline", (t) => new Promise((resolve) => { }); })); -test("defaultTrue", (t) => new Promise((resolve) => { - t.plan(2); - const options = { - "files": [ - "./test/atx_heading_spacing.md", - "./test/first_heading_bad_atx.md" - ], - "config": { - "default": true - }, - "noInlineConfig": true, - "resultVersion": 0 - }; - lintAsync(options, function callback(err, actualResult) { - t.falsy(err); - const expectedResult = { - "./test/atx_heading_spacing.md": { - "MD018": [ 1 ], - "MD019": [ 3, 5 ], - "MD041": [ 1 ] - }, - "./test/first_heading_bad_atx.md": { - "MD041": [ 1 ] - } - }; - // @ts-ignore - t.deepEqual(actualResult, expectedResult, "Undetected issues."); - resolve(); - }); -})); +/** @typedef {Object} NormalizedLintResults */ -test("defaultFalse", (t) => new Promise((resolve) => { - t.plan(2); - const options = { - "files": [ - "./test/atx_heading_spacing.md", - "./test/first_heading_bad_atx.md" - ], - "config": { - "default": false - }, - "noInlineConfig": true, - "resultVersion": 0 - }; - lintAsync(options, function callback(err, actualResult) { - t.falsy(err); - const expectedResult = { - "./test/atx_heading_spacing.md": {}, - "./test/first_heading_bad_atx.md": {} - }; - // @ts-ignore - t.deepEqual(actualResult, expectedResult, "Undetected issues."); - resolve(); - }); -})); +/** + * Normalizes LintResults. + * + * @param {LintResults} results LintResults. + * @returns {NormalizedLintResults} Normalized LintResults. + */ +function normalizeLintResults(results) { + return Object.fromEntries( + Object.entries(results).map( + ([ source, errors ]) => [ + source, errors.map( + ({ lineNumber, ruleNames }) => `${ruleNames[0]} ${lineNumber}` + ) + ] + ) + ); +} -test("defaultUndefined", (t) => new Promise((resolve) => { - t.plan(2); - const options = { - "files": [ - "./test/atx_heading_spacing.md", - "./test/first_heading_bad_atx.md" - ], - "config": {}, - "noInlineConfig": true, - "resultVersion": 0 - }; - lintAsync(options, function callback(err, actualResult) { - t.falsy(err); - const expectedResult = { - "./test/atx_heading_spacing.md": { - "MD018": [ 1 ], - "MD019": [ 3, 5 ], - "MD041": [ 1 ] - }, - "./test/first_heading_bad_atx.md": { - "MD041": [ 1 ] - } +/** + * Gets a Configuration default value test implementation. + * + * @param {(config: Configuration) => void} setDefault Sets the value of the Configuration default value. + * @param {NormalizedLintResults} expected Expected result. + * @returns {ImplementationFn} Test implementation. + */ +function getConfigDefaultTestImplementation(setDefault, expected) { + return async(t) => { + t.plan(1); + const options = { + "files": [ + "./test/atx_heading_spacing.md", + "./test/first_heading_bad_atx.md" + ], + "config": {}, + "noInlineConfig": true }; - // @ts-ignore - t.deepEqual(actualResult, expectedResult, "Undetected issues."); - resolve(); - }); -})); + setDefault(options.config); + const actual = await lintPromise(options); + t.deepEqual(normalizeLintResults(actual), expected); + }; +} + +const configDefaultTestExpectedEnabled = { + "./test/atx_heading_spacing.md": [ + "MD018 1", + "MD019 3", + "MD019 5", + "MD041 1" + ], + "./test/first_heading_bad_atx.md": [ + "MD041 1" + ] +}; + +const configDefaultTestExpectedDisabled = { + "./test/atx_heading_spacing.md": [], + "./test/first_heading_bad_atx.md": [] +}; + +test("defaultTrue", getConfigDefaultTestImplementation( + (config) => (config.default = true), + configDefaultTestExpectedEnabled +)); + +test("defaultFalse", getConfigDefaultTestImplementation( + (config) => (config.default = false), + configDefaultTestExpectedDisabled +)); + +test("defaultError", getConfigDefaultTestImplementation( + (config) => (config.default = "error"), + configDefaultTestExpectedEnabled +)); + +test("defaultWarning", getConfigDefaultTestImplementation( + // @ts-ignore + (config) => (config.default = "warning"), + configDefaultTestExpectedEnabled +)); + +test("defaultOff", getConfigDefaultTestImplementation( + // @ts-ignore + (config) => (config.default = "off"), + configDefaultTestExpectedEnabled +)); + +test("defaultUnset", getConfigDefaultTestImplementation( + () => {}, + configDefaultTestExpectedEnabled +)); test("disableRules", (t) => new Promise((resolve) => { t.plan(2); @@ -802,6 +816,7 @@ test("customFileSystemSync", (t) => { t.plan(2); const file = "/dir/file.md"; const fsApi = { + // @ts-ignore "readFileSync": (p) => { t.is(p, file); return "# Heading"; @@ -818,6 +833,7 @@ test("customFileSystemAsync", (t) => new Promise((resolve) => { t.plan(3); const file = "/dir/file.md"; const fsApi = { + // @ts-ignore "readFile": (p, o, cb) => { t.is(p, file); cb(null, "# Heading"); @@ -836,6 +852,7 @@ test("customFileSystemAsync", (t) => new Promise((resolve) => { test("readme", async(t) => { t.plan(132); + /** @type {Object.} */ const tagToRules = {}; for (const rule of rules) { for (const tag of rule.tags) { @@ -894,7 +911,7 @@ test("readme", async(t) => { } else if (inTags) { const parts = token.content.replace(/[`*]/g, "").split(/ - |, |,\n/); - const tag = parts.shift(); + const tag = parts.shift() || ""; t.deepEqual(parts, tagToRules[tag] || [], "Rule mismatch for tag " + tag + "."); delete tagToRules[tag]; @@ -1248,6 +1265,7 @@ test("token-map-spans", (t) => { "tags": [ "tms" ], "parser": "markdownit", "function": function tokenMapSpans(params) { + /** @type {number[]} */ const tokenLines = []; let lastLineNumber = -1; const inlines = params.parsers.markdownit.tokens.filter(