markdownlint 0.34.0 → 0.35.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +11 -0
- package/README.md +25 -10
- package/demo/markdownlint-browser.js +1144 -1166
- package/doc/CustomRules.md +11 -6
- package/doc/Rules.md +66 -0
- package/doc/md034.md +5 -0
- package/doc/md044.md +10 -0
- package/doc/md058.md +48 -0
- package/helpers/README.md +3 -29
- package/helpers/helpers.js +56 -288
- package/helpers/micromark.cjs +111 -12
- package/helpers/package.json +1 -1
- package/lib/cache.js +62 -13
- package/lib/configuration-strict.d.ts +1185 -0
- package/lib/configuration.d.ts +3 -1173
- package/lib/constants.js +3 -2
- package/lib/markdownlint.d.ts +65 -56
- package/lib/markdownlint.js +59 -37
- package/lib/md001.js +15 -9
- package/lib/md003.js +14 -9
- package/lib/md004.js +55 -48
- package/lib/md005.js +4 -13
- package/lib/md007.js +5 -9
- package/lib/md009.js +50 -44
- package/lib/md010.js +48 -33
- package/lib/md011.js +16 -8
- package/lib/md012.js +17 -9
- package/lib/md013.js +44 -38
- package/lib/md014.js +35 -38
- package/lib/md018.js +17 -9
- package/lib/md019-md021.js +80 -0
- package/lib/md020.js +13 -7
- package/lib/md022.js +6 -16
- package/lib/md023.js +22 -23
- package/lib/md024.js +12 -9
- package/lib/md025.js +15 -10
- package/lib/md026.js +2 -7
- package/lib/md027.js +5 -10
- package/lib/md028.js +3 -8
- package/lib/md029.js +40 -34
- package/lib/md030.js +4 -10
- package/lib/md031.js +43 -23
- package/lib/md032.js +16 -26
- package/lib/md033.js +3 -8
- package/lib/md034.js +5 -10
- package/lib/md035.js +2 -7
- package/lib/md036.js +3 -2
- package/lib/md037.js +2 -7
- package/lib/md038.js +3 -9
- package/lib/md039.js +66 -54
- package/lib/md040.js +3 -8
- package/lib/md041.js +1 -1
- package/lib/md042.js +48 -38
- package/lib/md043.js +20 -14
- package/lib/md044.js +3 -8
- package/lib/md045.js +3 -8
- package/lib/md046.js +2 -8
- package/lib/md048.js +3 -7
- package/lib/md049-md050.js +2 -7
- package/lib/md051.js +6 -12
- package/lib/md052.js +2 -2
- package/lib/md053.js +2 -2
- package/lib/md054.js +8 -13
- package/lib/md055.js +7 -8
- package/lib/md056.js +15 -11
- package/lib/md058.js +43 -0
- package/lib/rules.js +11 -4
- package/package.json +19 -17
- package/schema/.markdownlint.jsonc +54 -51
- package/schema/.markdownlint.yaml +53 -50
- package/schema/ValidatingConfiguration.md +6 -8
- package/schema/markdownlint-config-schema-strict.json +1819 -0
- package/schema/markdownlint-config-schema.json +115 -105
- package/style/prettier.json +1 -0
- package/lib/md019.js +0 -42
- package/lib/md021.js +0 -65
package/lib/md046.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"use strict";
|
|
4
4
|
|
|
5
5
|
const { addErrorDetailIf } = require("../helpers");
|
|
6
|
-
const {
|
|
6
|
+
const { filterByTypesCached } = require("./cache");
|
|
7
7
|
|
|
8
8
|
const tokenTypeToStyle = {
|
|
9
9
|
"codeFenced": "fenced",
|
|
@@ -19,13 +19,7 @@ module.exports = {
|
|
|
19
19
|
"parser": "micromark",
|
|
20
20
|
"function": function MD046(params, onError) {
|
|
21
21
|
let expectedStyle = String(params.config.style || "consistent");
|
|
22
|
-
|
|
23
|
-
/** @type import("../helpers/micromark.cjs").Token[] */
|
|
24
|
-
const micromarkTokens =
|
|
25
|
-
// @ts-ignore
|
|
26
|
-
params.parsers.micromark.tokens;
|
|
27
|
-
const codeBlocksAndFences = filterByTypes(micromarkTokens, [ "codeFenced", "codeIndented" ]);
|
|
28
|
-
for (const token of codeBlocksAndFences) {
|
|
22
|
+
for (const token of filterByTypesCached([ "codeFenced", "codeIndented" ])) {
|
|
29
23
|
const { startLine, type } = token;
|
|
30
24
|
if (expectedStyle === "consistent") {
|
|
31
25
|
expectedStyle = tokenTypeToStyle[type];
|
package/lib/md048.js
CHANGED
|
@@ -3,7 +3,8 @@
|
|
|
3
3
|
"use strict";
|
|
4
4
|
|
|
5
5
|
const { addErrorDetailIf, fencedCodeBlockStyleFor } = require("../helpers");
|
|
6
|
-
const {
|
|
6
|
+
const { tokenIfType } = require("../helpers/micromark.cjs");
|
|
7
|
+
const { filterByTypesCached } = require("./cache");
|
|
7
8
|
|
|
8
9
|
// eslint-disable-next-line jsdoc/valid-types
|
|
9
10
|
/** @type import("./markdownlint").Rule */
|
|
@@ -14,13 +15,8 @@ module.exports = {
|
|
|
14
15
|
"parser": "micromark",
|
|
15
16
|
"function": function MD048(params, onError) {
|
|
16
17
|
const style = String(params.config.style || "consistent");
|
|
17
|
-
// eslint-disable-next-line jsdoc/valid-types
|
|
18
|
-
/** @type import("../helpers/micromark.cjs").Token[] */
|
|
19
|
-
const micromarkTokens =
|
|
20
|
-
// @ts-ignore
|
|
21
|
-
params.parsers.micromark.tokens;
|
|
22
18
|
let expectedStyle = style;
|
|
23
|
-
const codeFenceds =
|
|
19
|
+
const codeFenceds = filterByTypesCached([ "codeFenced" ]);
|
|
24
20
|
for (const codeFenced of codeFenceds) {
|
|
25
21
|
const codeFencedFence = tokenIfType(codeFenced.children[0], "codeFencedFence");
|
|
26
22
|
if (codeFencedFence) {
|
package/lib/md049-md050.js
CHANGED
|
@@ -18,14 +18,9 @@ const intrawordRe = /^\w$/;
|
|
|
18
18
|
*/
|
|
19
19
|
const impl =
|
|
20
20
|
(params, onError, type, typeSequence, asterisk, underline, style = "consistent") => {
|
|
21
|
-
|
|
22
|
-
/** @type import("../helpers/micromark.cjs").Token[] */
|
|
23
|
-
const micromarkTokens =
|
|
24
|
-
// @ts-ignore
|
|
25
|
-
params.parsers.micromark.tokens;
|
|
26
|
-
const { lines } = params;
|
|
21
|
+
const { lines, parsers } = params;
|
|
27
22
|
const emphasisTokens = filterByPredicate(
|
|
28
|
-
|
|
23
|
+
parsers.micromark.tokens,
|
|
29
24
|
(token) => token.type === type,
|
|
30
25
|
(token) => ((token.type === "htmlFlow") ? [] : token.children)
|
|
31
26
|
);
|
package/lib/md051.js
CHANGED
|
@@ -2,10 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
"use strict";
|
|
4
4
|
|
|
5
|
-
const { addError, addErrorDetailIf, getHtmlAttributeRe } =
|
|
6
|
-
|
|
7
|
-
const {
|
|
8
|
-
require("../helpers/micromark.cjs");
|
|
5
|
+
const { addError, addErrorDetailIf, getHtmlAttributeRe } = require("../helpers");
|
|
6
|
+
const { filterByPredicate, filterByTypes, getHtmlTagInfo } = require("../helpers/micromark.cjs");
|
|
7
|
+
const { filterByTypesCached } = require("./cache");
|
|
9
8
|
|
|
10
9
|
// Regular expression for identifying HTML anchor names
|
|
11
10
|
const idRe = getHtmlAttributeRe("id");
|
|
@@ -69,15 +68,10 @@ module.exports = {
|
|
|
69
68
|
"tags": [ "links" ],
|
|
70
69
|
"parser": "micromark",
|
|
71
70
|
"function": function MD051(params, onError) {
|
|
72
|
-
// eslint-disable-next-line jsdoc/valid-types
|
|
73
|
-
/** @type import("../helpers/micromark.cjs").Token[] */
|
|
74
|
-
const micromarkTokens =
|
|
75
|
-
// @ts-ignore
|
|
76
|
-
params.parsers.micromark.tokens;
|
|
77
71
|
const fragments = new Map();
|
|
78
72
|
|
|
79
73
|
// Process headings
|
|
80
|
-
const headingTexts =
|
|
74
|
+
const headingTexts = filterByTypesCached([ "atxHeadingText", "setextHeadingText" ]);
|
|
81
75
|
for (const headingText of headingTexts) {
|
|
82
76
|
const fragment = convertHeadingToHTMLFragment(headingText);
|
|
83
77
|
if (fragment !== "#") {
|
|
@@ -97,7 +91,7 @@ module.exports = {
|
|
|
97
91
|
}
|
|
98
92
|
|
|
99
93
|
// Process HTML anchors
|
|
100
|
-
for (const token of
|
|
94
|
+
for (const token of filterByTypesCached([ "htmlText" ], true)) {
|
|
101
95
|
const htmlTagInfo = getHtmlTagInfo(token);
|
|
102
96
|
if (htmlTagInfo && !htmlTagInfo.close) {
|
|
103
97
|
const anchorMatch = idRe.exec(token.text) ||
|
|
@@ -116,7 +110,7 @@ module.exports = {
|
|
|
116
110
|
[ "definition", "definitionDestinationString" ]
|
|
117
111
|
];
|
|
118
112
|
for (const [ parentType, definitionType ] of parentChilds) {
|
|
119
|
-
const links =
|
|
113
|
+
const links = filterByTypesCached([ parentType ]);
|
|
120
114
|
for (const link of links) {
|
|
121
115
|
const definitions = filterByTypes(link.children, [ definitionType ]);
|
|
122
116
|
for (const definition of definitions) {
|
package/lib/md052.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"use strict";
|
|
4
4
|
|
|
5
5
|
const { addError } = require("../helpers");
|
|
6
|
-
const {
|
|
6
|
+
const { getReferenceLinkImageData } = require("./cache");
|
|
7
7
|
|
|
8
8
|
// eslint-disable-next-line jsdoc/valid-types
|
|
9
9
|
/** @type import("./markdownlint").Rule */
|
|
@@ -16,7 +16,7 @@ module.exports = {
|
|
|
16
16
|
"function": function MD052(params, onError) {
|
|
17
17
|
const { config, lines } = params;
|
|
18
18
|
const shortcutSyntax = config.shortcut_syntax || false;
|
|
19
|
-
const { definitions, references, shortcuts } =
|
|
19
|
+
const { definitions, references, shortcuts } = getReferenceLinkImageData();
|
|
20
20
|
const entries = shortcutSyntax ?
|
|
21
21
|
[ ...references.entries(), ...shortcuts.entries() ] :
|
|
22
22
|
references.entries();
|
package/lib/md053.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
const { addError, ellipsify, linkReferenceDefinitionRe } =
|
|
6
6
|
require("../helpers");
|
|
7
|
-
const {
|
|
7
|
+
const { getReferenceLinkImageData } = require("./cache");
|
|
8
8
|
|
|
9
9
|
// eslint-disable-next-line jsdoc/valid-types
|
|
10
10
|
/** @type import("./markdownlint").Rule */
|
|
@@ -17,7 +17,7 @@ module.exports = {
|
|
|
17
17
|
const ignored = new Set(params.config.ignored_definitions || [ "//" ]);
|
|
18
18
|
const lines = params.lines;
|
|
19
19
|
const { references, shortcuts, definitions, duplicateDefinitions } =
|
|
20
|
-
|
|
20
|
+
getReferenceLinkImageData();
|
|
21
21
|
const singleLineDefinition = (line) => (
|
|
22
22
|
line.replace(linkReferenceDefinitionRe, "").trim().length > 0
|
|
23
23
|
);
|
package/lib/md054.js
CHANGED
|
@@ -3,9 +3,8 @@
|
|
|
3
3
|
"use strict";
|
|
4
4
|
|
|
5
5
|
const { addErrorContext, nextLinesRe } = require("../helpers");
|
|
6
|
-
const {
|
|
7
|
-
|
|
8
|
-
const { referenceLinkImageData } = require("./cache");
|
|
6
|
+
const { filterByPredicate, getTokenTextByType } = require("../helpers/micromark.cjs");
|
|
7
|
+
const { getReferenceLinkImageData, filterByTypesCached } = require("./cache");
|
|
9
8
|
|
|
10
9
|
const backslashEscapeRe = /\\([!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])/g;
|
|
11
10
|
const removeBackslashEscapes = (text) => text.replace(backslashEscapeRe, "$1");
|
|
@@ -40,13 +39,8 @@ module.exports = {
|
|
|
40
39
|
// Everything allowed, nothing to check
|
|
41
40
|
return;
|
|
42
41
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
const micromarkTokens =
|
|
46
|
-
// @ts-ignore
|
|
47
|
-
params.parsers.micromark.tokens;
|
|
48
|
-
const { definitions } = referenceLinkImageData();
|
|
49
|
-
const links = filterByTypes(micromarkTokens, [ "autolink", "image", "link" ]);
|
|
42
|
+
const { definitions } = getReferenceLinkImageData();
|
|
43
|
+
const links = filterByTypesCached([ "autolink", "image", "link" ]);
|
|
50
44
|
for (const link of links) {
|
|
51
45
|
let label = null;
|
|
52
46
|
let destination = null;
|
|
@@ -89,7 +83,8 @@ module.exports = {
|
|
|
89
83
|
}
|
|
90
84
|
}
|
|
91
85
|
if (isError) {
|
|
92
|
-
|
|
86
|
+
// eslint-disable-next-line no-undef-init
|
|
87
|
+
let range = undefined;
|
|
93
88
|
let fixInfo = null;
|
|
94
89
|
if (startLine === endLine) {
|
|
95
90
|
range = [ startColumn, endColumn - startColumn ];
|
|
@@ -119,8 +114,8 @@ module.exports = {
|
|
|
119
114
|
onError,
|
|
120
115
|
startLine,
|
|
121
116
|
text.replace(nextLinesRe, ""),
|
|
122
|
-
|
|
123
|
-
|
|
117
|
+
undefined,
|
|
118
|
+
undefined,
|
|
124
119
|
range,
|
|
125
120
|
fixInfo
|
|
126
121
|
);
|
package/lib/md055.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
const { addErrorDetailIf } = require("../helpers");
|
|
6
6
|
const { filterByTypes } = require("../helpers/micromark.cjs");
|
|
7
|
+
const { filterByTypesCached } = require("./cache");
|
|
7
8
|
|
|
8
9
|
const whitespaceTypes = new Set([ "linePrefix", "whitespace" ]);
|
|
9
10
|
const ignoreWhitespace = (tokens) => tokens.filter(
|
|
@@ -27,14 +28,12 @@ module.exports = {
|
|
|
27
28
|
((expectedStyle !== "no_leading_or_trailing") && (expectedStyle !== "trailing_only"));
|
|
28
29
|
let expectedTrailingPipe =
|
|
29
30
|
((expectedStyle !== "no_leading_or_trailing") && (expectedStyle !== "leading_only"));
|
|
30
|
-
|
|
31
|
-
/** @type import("../helpers/micromark.cjs").Token[] */
|
|
32
|
-
const micromarkTokens =
|
|
33
|
-
// @ts-ignore
|
|
34
|
-
params.parsers.micromark.tokens;
|
|
35
|
-
const tables = filterByTypes(micromarkTokens, [ "table" ]);
|
|
31
|
+
const tables = filterByTypesCached([ "table" ]);
|
|
36
32
|
for (const table of tables) {
|
|
37
|
-
const rows = filterByTypes(
|
|
33
|
+
const rows = filterByTypes(
|
|
34
|
+
table.children,
|
|
35
|
+
[ "tableDelimiterRow", "tableRow" ]
|
|
36
|
+
);
|
|
38
37
|
for (const row of rows) {
|
|
39
38
|
// The following uses of first/lastOrNothing lack fallback handling
|
|
40
39
|
// because it seems not to be possible (i.e., 0% coverage)
|
|
@@ -77,4 +76,4 @@ module.exports = {
|
|
|
77
76
|
}
|
|
78
77
|
}
|
|
79
78
|
}
|
|
80
|
-
}
|
|
79
|
+
};
|
package/lib/md056.js
CHANGED
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
const { addErrorDetailIf } = require("../helpers");
|
|
6
6
|
const { filterByTypes } = require("../helpers/micromark.cjs");
|
|
7
|
+
const { filterByTypesCached } = require("./cache");
|
|
7
8
|
|
|
8
9
|
const makeRange = (start, end) => [ start, end - start + 1 ];
|
|
9
10
|
|
|
@@ -15,21 +16,24 @@ module.exports = {
|
|
|
15
16
|
"tags": [ "table" ],
|
|
16
17
|
"parser": "micromark",
|
|
17
18
|
"function": function MD056(params, onError) {
|
|
18
|
-
|
|
19
|
-
/** @type import("../helpers/micromark.cjs").Token[] */
|
|
20
|
-
const micromarkTokens =
|
|
21
|
-
// @ts-ignore
|
|
22
|
-
params.parsers.micromark.tokens;
|
|
23
|
-
const tables = filterByTypes(micromarkTokens, [ "table" ]);
|
|
19
|
+
const tables = filterByTypesCached([ "table" ]);
|
|
24
20
|
for (const table of tables) {
|
|
25
|
-
const rows = filterByTypes(
|
|
21
|
+
const rows = filterByTypes(
|
|
22
|
+
table.children,
|
|
23
|
+
[ "tableDelimiterRow", "tableRow" ]
|
|
24
|
+
);
|
|
26
25
|
let expectedCount = 0;
|
|
27
26
|
for (const row of rows) {
|
|
28
|
-
const cells = filterByTypes(
|
|
27
|
+
const cells = filterByTypes(
|
|
28
|
+
row.children,
|
|
29
|
+
[ "tableData", "tableDelimiter", "tableHeader" ]
|
|
30
|
+
);
|
|
29
31
|
const actualCount = cells.length;
|
|
30
32
|
expectedCount ||= actualCount;
|
|
31
|
-
|
|
32
|
-
let
|
|
33
|
+
// eslint-disable-next-line no-undef-init
|
|
34
|
+
let detail = undefined;
|
|
35
|
+
// eslint-disable-next-line no-undef-init
|
|
36
|
+
let range = undefined;
|
|
33
37
|
if (actualCount < expectedCount) {
|
|
34
38
|
detail = "Too few cells, row will be missing data";
|
|
35
39
|
range = [ row.endColumn - 1, 1 ];
|
|
@@ -43,7 +47,7 @@ module.exports = {
|
|
|
43
47
|
expectedCount,
|
|
44
48
|
actualCount,
|
|
45
49
|
detail,
|
|
46
|
-
|
|
50
|
+
undefined,
|
|
47
51
|
range
|
|
48
52
|
);
|
|
49
53
|
}
|
package/lib/md058.js
ADDED
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// @ts-check
|
|
2
|
+
|
|
3
|
+
"use strict";
|
|
4
|
+
|
|
5
|
+
const { addErrorContextForLine, isBlankLine } = require("../helpers");
|
|
6
|
+
const { filterByTypesCached } = require("./cache");
|
|
7
|
+
|
|
8
|
+
// eslint-disable-next-line jsdoc/valid-types
|
|
9
|
+
/** @type import("./markdownlint").Rule */
|
|
10
|
+
module.exports = {
|
|
11
|
+
"names": [ "MD058", "blanks-around-tables" ],
|
|
12
|
+
"description": "Tables should be surrounded by blank lines",
|
|
13
|
+
"tags": [ "table" ],
|
|
14
|
+
"parser": "micromark",
|
|
15
|
+
"function": function MD058(params, onError) {
|
|
16
|
+
const { lines } = params;
|
|
17
|
+
// For every table...
|
|
18
|
+
const tables = filterByTypesCached([ "table" ]);
|
|
19
|
+
for (const table of tables) {
|
|
20
|
+
// Look for a blank line above the table
|
|
21
|
+
const firstIndex = table.startLine - 1;
|
|
22
|
+
if (!isBlankLine(lines[firstIndex - 1])) {
|
|
23
|
+
addErrorContextForLine(
|
|
24
|
+
onError,
|
|
25
|
+
// @ts-ignore
|
|
26
|
+
lines,
|
|
27
|
+
firstIndex
|
|
28
|
+
);
|
|
29
|
+
}
|
|
30
|
+
// Look for a blank line below the table
|
|
31
|
+
const lastIndex = table.endLine - 1;
|
|
32
|
+
if (!isBlankLine(lines[lastIndex + 1])) {
|
|
33
|
+
addErrorContextForLine(
|
|
34
|
+
onError,
|
|
35
|
+
// @ts-ignore
|
|
36
|
+
lines,
|
|
37
|
+
lastIndex,
|
|
38
|
+
lastIndex + 2
|
|
39
|
+
);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
};
|
package/lib/rules.js
CHANGED
|
@@ -4,6 +4,11 @@
|
|
|
4
4
|
|
|
5
5
|
const { homepage, version } = require("./constants");
|
|
6
6
|
|
|
7
|
+
// @ts-ignore
|
|
8
|
+
const [ md019, md021 ] = require("./md019-md021");
|
|
9
|
+
// @ts-ignore
|
|
10
|
+
const [ md049, md050 ] = require("./md049-md050");
|
|
11
|
+
|
|
7
12
|
const rules = [
|
|
8
13
|
require("./md001"),
|
|
9
14
|
// md002: Deprecated and removed
|
|
@@ -19,9 +24,9 @@ const rules = [
|
|
|
19
24
|
require("./md013"),
|
|
20
25
|
require("./md014"),
|
|
21
26
|
require("./md018"),
|
|
22
|
-
|
|
27
|
+
md019,
|
|
23
28
|
require("./md020"),
|
|
24
|
-
|
|
29
|
+
md021,
|
|
25
30
|
require("./md022"),
|
|
26
31
|
require("./md023"),
|
|
27
32
|
require("./md024"),
|
|
@@ -49,14 +54,16 @@ const rules = [
|
|
|
49
54
|
require("./md046"),
|
|
50
55
|
require("./md047"),
|
|
51
56
|
require("./md048"),
|
|
52
|
-
|
|
57
|
+
md049,
|
|
58
|
+
md050,
|
|
53
59
|
require("./md051"),
|
|
54
60
|
require("./md052"),
|
|
55
61
|
require("./md053"),
|
|
56
62
|
require("./md054"),
|
|
57
63
|
require("./md055"),
|
|
58
|
-
require("./md056")
|
|
64
|
+
require("./md056"),
|
|
59
65
|
// md057: See https://github.com/markdownlint/markdownlint
|
|
66
|
+
require("./md058")
|
|
60
67
|
];
|
|
61
68
|
for (const rule of rules) {
|
|
62
69
|
const name = rule.names[0].toLowerCase();
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "markdownlint",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.35.0",
|
|
4
4
|
"description": "A Node.js style checker and lint tool for Markdown/CommonMark files.",
|
|
5
5
|
"type": "commonjs",
|
|
6
6
|
"main": "./lib/markdownlint.js",
|
|
@@ -49,13 +49,13 @@
|
|
|
49
49
|
"docker-npm-install": "docker run --rm --tty --name npm-install --volume $PWD:/home/workdir --workdir /home/workdir --user node node:latest npm install",
|
|
50
50
|
"docker-npm-run-upgrade": "docker run --rm --tty --name npm-run-upgrade --volume $PWD:/home/workdir --workdir /home/workdir --user node node:latest npm run upgrade",
|
|
51
51
|
"install-micromark": "cd micromark && npm install",
|
|
52
|
-
"lint": "eslint --
|
|
52
|
+
"lint": "eslint --max-warnings 0",
|
|
53
53
|
"lint-test-repos": "ava --timeout=10m test/markdownlint-test-repos-*.js",
|
|
54
54
|
"serial-config-docs": "npm run build-config && npm run build-docs",
|
|
55
55
|
"serial-declaration-demo": "npm run build-declaration && npm-run-all --continue-on-error --parallel build-demo test-declaration",
|
|
56
56
|
"test": "ava --timeout=30s test/markdownlint-test.js test/markdownlint-test-config.js test/markdownlint-test-custom-rules.js test/markdownlint-test-helpers.js test/markdownlint-test-micromark.mjs test/markdownlint-test-result-object.js test/markdownlint-test-scenarios.js",
|
|
57
57
|
"test-cover": "c8 --100 npm test",
|
|
58
|
-
"test-declaration": "cd example/typescript && tsc && node type-check.js",
|
|
58
|
+
"test-declaration": "cd example/typescript && tsc --module nodenext && tsc --module commonjs && node type-check.js",
|
|
59
59
|
"test-extra": "ava --timeout=10m test/markdownlint-test-extra-parse.js test/markdownlint-test-extra-type.js",
|
|
60
60
|
"update-snapshots": "ava --update-snapshots test/markdownlint-test-micromark.mjs test/markdownlint-test-scenarios.js",
|
|
61
61
|
"update-snapshots-test-repos": "ava --timeout=10m --update-snapshots test/markdownlint-test-repos-*.js",
|
|
@@ -66,31 +66,33 @@
|
|
|
66
66
|
},
|
|
67
67
|
"dependencies": {
|
|
68
68
|
"markdown-it": "14.1.0",
|
|
69
|
-
"markdownlint-micromark": "0.1.
|
|
69
|
+
"markdownlint-micromark": "0.1.10"
|
|
70
70
|
},
|
|
71
71
|
"devDependencies": {
|
|
72
|
-
"
|
|
73
|
-
"
|
|
74
|
-
"
|
|
72
|
+
"@eslint/js": "9.9.1",
|
|
73
|
+
"ajv": "8.17.1",
|
|
74
|
+
"ava": "6.1.3",
|
|
75
|
+
"c8": "10.1.2",
|
|
75
76
|
"character-entities": "2.0.2",
|
|
76
|
-
"eslint": "
|
|
77
|
-
"eslint-plugin-jsdoc": "
|
|
78
|
-
"eslint-plugin-n": "
|
|
79
|
-
"eslint-plugin-regexp": "2.
|
|
80
|
-
"eslint-plugin-unicorn": "
|
|
77
|
+
"eslint": "9.9.1",
|
|
78
|
+
"eslint-plugin-jsdoc": "50.2.2",
|
|
79
|
+
"eslint-plugin-n": "17.10.2",
|
|
80
|
+
"eslint-plugin-regexp": "2.6.0",
|
|
81
|
+
"eslint-plugin-unicorn": "55.0.0",
|
|
81
82
|
"gemoji": "8.1.0",
|
|
82
|
-
"globby": "14.0.
|
|
83
|
+
"globby": "14.0.2",
|
|
83
84
|
"js-yaml": "4.1.0",
|
|
84
|
-
"json-schema-to-typescript": "
|
|
85
|
-
"jsonc-parser": "3.
|
|
85
|
+
"json-schema-to-typescript": "15.0.1",
|
|
86
|
+
"jsonc-parser": "3.3.1",
|
|
86
87
|
"markdown-it-for-inline": "2.0.1",
|
|
87
88
|
"markdown-it-sub": "2.0.0",
|
|
88
89
|
"markdown-it-sup": "2.0.0",
|
|
90
|
+
"markdownlint-rule-extended-ascii": "0.1.0",
|
|
89
91
|
"npm-run-all": "4.1.5",
|
|
90
92
|
"terser-webpack-plugin": "5.3.10",
|
|
91
93
|
"toml": "3.0.0",
|
|
92
|
-
"typescript": "5.4
|
|
93
|
-
"webpack": "5.
|
|
94
|
+
"typescript": "5.5.4",
|
|
95
|
+
"webpack": "5.94.0",
|
|
94
96
|
"webpack-cli": "5.1.4"
|
|
95
97
|
},
|
|
96
98
|
"keywords": [
|