markdownlint-cli2 0.14.0 → 0.16.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 +4 -3
- package/markdownlint-cli2.js +62 -49
- package/package.json +17 -11
- package/schema/markdownlint-cli2-config-schema.json +17 -17
- package/schema/markdownlint-config-schema.json +132 -110
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.16.0
|
|
4
|
+
|
|
5
|
+
- Try not to use require for modules (due to Node 22.12)
|
|
6
|
+
- Update dependencies (EXcluding `markdownlint`)
|
|
7
|
+
|
|
8
|
+
## 0.15.0
|
|
9
|
+
|
|
10
|
+
- Add support for `stdin` input via `-` glob
|
|
11
|
+
- Add output formatter based on string templates
|
|
12
|
+
- Update dependencies (including `markdownlint`)
|
|
13
|
+
|
|
3
14
|
## 0.14.0
|
|
4
15
|
|
|
5
16
|
- Handle `--` parameter per POSIX convention
|
package/README.md
CHANGED
|
@@ -76,6 +76,7 @@ Glob expressions (from the globby library):
|
|
|
76
76
|
- {} allows for a comma-separated list of "or" expressions
|
|
77
77
|
- ! or # at the beginning of a pattern negate the match
|
|
78
78
|
- : at the beginning identifies a literal file path
|
|
79
|
+
- - as a glob represents standard input (stdin)
|
|
79
80
|
|
|
80
81
|
Dot-only glob:
|
|
81
82
|
- The command "markdownlint-cli2 ." would lint every file in the current directory tree which is probably not intended
|
|
@@ -148,7 +149,7 @@ A container image [`davidanson/markdownlint-cli2`][docker-hub-markdownlint-cli2]
|
|
|
148
149
|
can also be used (e.g., as part of a CI pipeline):
|
|
149
150
|
|
|
150
151
|
```bash
|
|
151
|
-
docker run -v $PWD:/workdir davidanson/markdownlint-cli2:v0.
|
|
152
|
+
docker run -v $PWD:/workdir davidanson/markdownlint-cli2:v0.16.0 "**/*.md" "#node_modules"
|
|
152
153
|
```
|
|
153
154
|
|
|
154
155
|
Notes:
|
|
@@ -165,7 +166,7 @@ Notes:
|
|
|
165
166
|
- A custom working directory can be specified with Docker's `-w` flag:
|
|
166
167
|
|
|
167
168
|
```bash
|
|
168
|
-
docker run -w /myfolder -v $PWD:/myfolder davidanson/markdownlint-cli2:v0.
|
|
169
|
+
docker run -w /myfolder -v $PWD:/myfolder davidanson/markdownlint-cli2:v0.16.0 "**/*.md" "#node_modules"
|
|
169
170
|
```
|
|
170
171
|
|
|
171
172
|
For convenience, the container image
|
|
@@ -412,7 +413,7 @@ reference to the `repos` list in that project's `.pre-commit-config.yaml` like:
|
|
|
412
413
|
|
|
413
414
|
```yaml
|
|
414
415
|
- repo: https://github.com/DavidAnson/markdownlint-cli2
|
|
415
|
-
rev: v0.
|
|
416
|
+
rev: v0.16.0
|
|
416
417
|
hooks:
|
|
417
418
|
- id: markdownlint-cli2
|
|
418
419
|
```
|
package/markdownlint-cli2.js
CHANGED
|
@@ -14,21 +14,25 @@ const pathDefault = require("node:path");
|
|
|
14
14
|
const pathPosix = pathDefault.posix;
|
|
15
15
|
const { pathToFileURL } = require("node:url");
|
|
16
16
|
const markdownlintLibrary = require("markdownlint");
|
|
17
|
+
const {
|
|
18
|
+
applyFixes,
|
|
19
|
+
"getVersion": getLibraryVersion,
|
|
20
|
+
"promises": markdownlintPromises
|
|
21
|
+
} = markdownlintLibrary;
|
|
17
22
|
const {
|
|
18
23
|
markdownlint,
|
|
19
24
|
"extendConfig": markdownlintExtendConfig,
|
|
20
25
|
"readConfig": markdownlintReadConfig
|
|
21
|
-
} =
|
|
22
|
-
const markdownlintRuleHelpers = require("markdownlint/helpers");
|
|
26
|
+
} = markdownlintPromises;
|
|
23
27
|
const appendToArray = require("./append-to-array");
|
|
24
28
|
const mergeOptions = require("./merge-options");
|
|
25
29
|
const resolveAndRequire = require("./resolve-and-require");
|
|
26
30
|
|
|
27
31
|
// Variables
|
|
28
32
|
const packageName = "markdownlint-cli2";
|
|
29
|
-
const packageVersion = "0.
|
|
33
|
+
const packageVersion = "0.16.0";
|
|
30
34
|
const libraryName = "markdownlint";
|
|
31
|
-
const libraryVersion =
|
|
35
|
+
const libraryVersion = getLibraryVersion();
|
|
32
36
|
const bannerMessage = `${packageName} v${packageVersion} (${libraryName} v${libraryVersion})`;
|
|
33
37
|
const dotOnlySubstitute = "*.{md,markdown}";
|
|
34
38
|
const utf8 = "utf8";
|
|
@@ -52,7 +56,6 @@ const negateGlob = (glob) => `!${glob}`;
|
|
|
52
56
|
const throwForConfigurationFile = (file, error) => {
|
|
53
57
|
throw new Error(
|
|
54
58
|
`Unable to use configuration file '${file}'; ${error?.message}`,
|
|
55
|
-
// @ts-ignore
|
|
56
59
|
{ "cause": error }
|
|
57
60
|
);
|
|
58
61
|
};
|
|
@@ -61,9 +64,10 @@ const throwForConfigurationFile = (file, error) => {
|
|
|
61
64
|
const posixPath = (p) => p.split(pathDefault.sep).join(pathPosix.sep);
|
|
62
65
|
|
|
63
66
|
// Expands a path with a tilde to an absolute path
|
|
64
|
-
const expandTildePath = (id) =>
|
|
65
|
-
markdownlintRuleHelpers
|
|
66
|
-
);
|
|
67
|
+
const expandTildePath = (id) => {
|
|
68
|
+
const markdownlintRuleHelpers = require("markdownlint/helpers");
|
|
69
|
+
return markdownlintRuleHelpers.expandTildePath(id, require("node:os"));
|
|
70
|
+
};
|
|
67
71
|
|
|
68
72
|
// Resolves module paths relative to the specified directory
|
|
69
73
|
const resolveModulePaths = (dir, modulePaths) => (
|
|
@@ -93,11 +97,18 @@ const importOrRequireResolve = async (dirOrDirs, id, noRequire) => {
|
|
|
93
97
|
const dirs = Array.isArray(dirOrDirs) ? dirOrDirs : [ dirOrDirs ];
|
|
94
98
|
const expandId = expandTildePath(id);
|
|
95
99
|
const errors = [];
|
|
100
|
+
// Try to load via require(...)
|
|
96
101
|
try {
|
|
97
|
-
|
|
102
|
+
const isModule = /\.mjs$/iu.test(expandId);
|
|
103
|
+
if (!isModule) {
|
|
104
|
+
// Try not to use require for modules due to breaking change in Node 22.12:
|
|
105
|
+
// https://github.com/nodejs/node/releases/tag/v22.12.0
|
|
106
|
+
return resolveAndRequire(dynamicRequire, expandId, dirs);
|
|
107
|
+
}
|
|
98
108
|
} catch (error) {
|
|
99
109
|
errors.push(error);
|
|
100
110
|
}
|
|
111
|
+
// Try to load via import(...)
|
|
101
112
|
try {
|
|
102
113
|
// eslint-disable-next-line n/no-unsupported-features/node-builtins
|
|
103
114
|
const isURL = !pathDefault.isAbsolute(expandId) && URL.canParse(expandId);
|
|
@@ -110,7 +121,7 @@ const importOrRequireResolve = async (dirOrDirs, id, noRequire) => {
|
|
|
110
121
|
} catch (error) {
|
|
111
122
|
errors.push(error);
|
|
112
123
|
}
|
|
113
|
-
//
|
|
124
|
+
// Give up
|
|
114
125
|
throw new AggregateError(
|
|
115
126
|
errors,
|
|
116
127
|
`Unable to require or import module '${id}'.`
|
|
@@ -258,6 +269,7 @@ Glob expressions (from the globby library):
|
|
|
258
269
|
- {} allows for a comma-separated list of "or" expressions
|
|
259
270
|
- ! or # at the beginning of a pattern negate the match
|
|
260
271
|
- : at the beginning identifies a literal file path
|
|
272
|
+
- - as a glob represents standard input (stdin)
|
|
261
273
|
|
|
262
274
|
Dot-only glob:
|
|
263
275
|
- The command "markdownlint-cli2 ." would lint every file in the current directory tree which is probably not intended
|
|
@@ -772,6 +784,7 @@ const lintFiles = (fs, dirInfos, fileContents) => {
|
|
|
772
784
|
const filteredFiles = filesAfterIgnores.filter(
|
|
773
785
|
(file) => fileContents[file] === undefined
|
|
774
786
|
);
|
|
787
|
+
/** @type {Record<string, string>} */
|
|
775
788
|
const filteredStrings = {};
|
|
776
789
|
for (const file of filesAfterIgnores) {
|
|
777
790
|
if (fileContents[file] !== undefined) {
|
|
@@ -779,6 +792,7 @@ const lintFiles = (fs, dirInfos, fileContents) => {
|
|
|
779
792
|
}
|
|
780
793
|
}
|
|
781
794
|
// Create markdownlint options object
|
|
795
|
+
/** @type {import("markdownlint").Options} */
|
|
782
796
|
const options = {
|
|
783
797
|
"files": filteredFiles,
|
|
784
798
|
"strings": filteredStrings,
|
|
@@ -795,14 +809,14 @@ const lintFiles = (fs, dirInfos, fileContents) => {
|
|
|
795
809
|
fs
|
|
796
810
|
};
|
|
797
811
|
// Invoke markdownlint
|
|
798
|
-
// @ts-ignore
|
|
799
812
|
let task = markdownlint(options);
|
|
800
813
|
// For any fixable errors, read file, apply fixes, and write it back
|
|
801
814
|
if (markdownlintOptions.fix) {
|
|
802
815
|
task = task.then((results) => {
|
|
803
816
|
options.files = [];
|
|
804
817
|
const subTasks = [];
|
|
805
|
-
const errorFiles = Object.keys(results)
|
|
818
|
+
const errorFiles = Object.keys(results).
|
|
819
|
+
filter((result) => filteredFiles.includes(result));
|
|
806
820
|
for (const fileName of errorFiles) {
|
|
807
821
|
const errorInfos = results[fileName].
|
|
808
822
|
filter((errorInfo) => errorInfo.fixInfo);
|
|
@@ -811,15 +825,13 @@ const lintFiles = (fs, dirInfos, fileContents) => {
|
|
|
811
825
|
options.files.push(fileName);
|
|
812
826
|
subTasks.push(fs.promises.readFile(fileName, utf8).
|
|
813
827
|
then((original) => {
|
|
814
|
-
const fixed =
|
|
815
|
-
applyFixes(original, errorInfos);
|
|
828
|
+
const fixed = applyFixes(original, errorInfos);
|
|
816
829
|
return fs.promises.writeFile(fileName, fixed, utf8);
|
|
817
830
|
})
|
|
818
831
|
);
|
|
819
832
|
}
|
|
820
833
|
}
|
|
821
834
|
return Promise.all(subTasks).
|
|
822
|
-
// @ts-ignore
|
|
823
835
|
then(() => markdownlint(options)).
|
|
824
836
|
then((fixResults) => ({
|
|
825
837
|
...results,
|
|
@@ -905,11 +917,12 @@ const main = async (params) => {
|
|
|
905
917
|
optionsDefault,
|
|
906
918
|
optionsOverride,
|
|
907
919
|
fileContents,
|
|
908
|
-
|
|
909
|
-
|
|
920
|
+
noRequire,
|
|
921
|
+
allowStdin
|
|
910
922
|
} = params;
|
|
911
923
|
let {
|
|
912
|
-
noGlobs
|
|
924
|
+
noGlobs,
|
|
925
|
+
nonFileContents
|
|
913
926
|
} = params;
|
|
914
927
|
const logMessage = params.logMessage || noop;
|
|
915
928
|
const logError = params.logError || noop;
|
|
@@ -922,6 +935,7 @@ const main = async (params) => {
|
|
|
922
935
|
let fixDefault = false;
|
|
923
936
|
// eslint-disable-next-line unicorn/no-useless-undefined
|
|
924
937
|
let configPath = undefined;
|
|
938
|
+
let useStdin = false;
|
|
925
939
|
let sawDashDash = false;
|
|
926
940
|
let shouldShowHelp = false;
|
|
927
941
|
const argvFiltered = (argv || []).filter((arg) => {
|
|
@@ -929,6 +943,8 @@ const main = async (params) => {
|
|
|
929
943
|
return true;
|
|
930
944
|
} else if (configPath === null) {
|
|
931
945
|
configPath = arg;
|
|
946
|
+
} else if ((arg === "-") && allowStdin) {
|
|
947
|
+
useStdin = true;
|
|
932
948
|
// eslint-disable-next-line unicorn/prefer-switch
|
|
933
949
|
} else if (arg === "--") {
|
|
934
950
|
sawDashDash = true;
|
|
@@ -979,22 +995,30 @@ const main = async (params) => {
|
|
|
979
995
|
}
|
|
980
996
|
}
|
|
981
997
|
if (
|
|
982
|
-
((globPatterns.length === 0) && !nonFileContents) ||
|
|
998
|
+
((globPatterns.length === 0) && !useStdin && !nonFileContents) ||
|
|
983
999
|
(configPath === null)
|
|
984
1000
|
) {
|
|
985
1001
|
return showHelp(logMessage, false);
|
|
986
1002
|
}
|
|
1003
|
+
// Add stdin as a non-file input if necessary
|
|
1004
|
+
if (useStdin) {
|
|
1005
|
+
const key = pathPosix.join(baseDir, "stdin");
|
|
1006
|
+
const { text } = require("node:stream/consumers");
|
|
1007
|
+
nonFileContents = {
|
|
1008
|
+
...nonFileContents,
|
|
1009
|
+
[key]: await text(process.stdin)
|
|
1010
|
+
};
|
|
1011
|
+
}
|
|
987
1012
|
// Include any file overrides or non-file content
|
|
988
|
-
const { baseMarkdownlintOptions, dirToDirInfo } = baseOptions;
|
|
989
1013
|
const resolvedFileContents = {};
|
|
990
1014
|
for (const file in fileContents) {
|
|
991
1015
|
const resolvedFile = posixPath(pathDefault.resolve(baseDirSystem, file));
|
|
992
|
-
resolvedFileContents[resolvedFile] =
|
|
993
|
-
fileContents[file];
|
|
1016
|
+
resolvedFileContents[resolvedFile] = fileContents[file];
|
|
994
1017
|
}
|
|
995
1018
|
for (const nonFile in nonFileContents) {
|
|
996
1019
|
resolvedFileContents[nonFile] = nonFileContents[nonFile];
|
|
997
1020
|
}
|
|
1021
|
+
const { baseMarkdownlintOptions, dirToDirInfo } = baseOptions;
|
|
998
1022
|
appendToArray(
|
|
999
1023
|
dirToDirInfo[baseDir].files,
|
|
1000
1024
|
Object.keys(nonFileContents || {})
|
|
@@ -1066,37 +1090,26 @@ const main = async (params) => {
|
|
|
1066
1090
|
return errorsPresent ? 1 : 0;
|
|
1067
1091
|
};
|
|
1068
1092
|
|
|
1069
|
-
// Run function
|
|
1070
|
-
const run = (overrides, args) => {
|
|
1071
|
-
(async () => {
|
|
1072
|
-
const argsAndArgv = args || [];
|
|
1073
|
-
appendToArray(argsAndArgv, process.argv.slice(2));
|
|
1074
|
-
try {
|
|
1075
|
-
const defaultParams = {
|
|
1076
|
-
"argv": argsAndArgv,
|
|
1077
|
-
"logMessage": console.log,
|
|
1078
|
-
"logError": console.error
|
|
1079
|
-
};
|
|
1080
|
-
const params = {
|
|
1081
|
-
...defaultParams,
|
|
1082
|
-
...overrides
|
|
1083
|
-
};
|
|
1084
|
-
process.exitCode = await main(params);
|
|
1085
|
-
} catch (error) {
|
|
1086
|
-
console.error(error);
|
|
1087
|
-
process.exitCode = 2;
|
|
1088
|
-
}
|
|
1089
|
-
})();
|
|
1090
|
-
};
|
|
1091
|
-
|
|
1092
1093
|
// Export functions
|
|
1093
1094
|
module.exports = {
|
|
1094
|
-
main
|
|
1095
|
-
run
|
|
1095
|
+
main
|
|
1096
1096
|
};
|
|
1097
1097
|
|
|
1098
1098
|
// Run if invoked as a CLI
|
|
1099
|
-
// @ts-ignore
|
|
1100
1099
|
if (require.main === module) {
|
|
1101
|
-
|
|
1100
|
+
const params = {
|
|
1101
|
+
"argv": process.argv.slice(2),
|
|
1102
|
+
"logMessage": console.log,
|
|
1103
|
+
"logError": console.error,
|
|
1104
|
+
"allowStdin": true
|
|
1105
|
+
};
|
|
1106
|
+
main(params).
|
|
1107
|
+
then((exitCode) => {
|
|
1108
|
+
process.exitCode = exitCode;
|
|
1109
|
+
}).
|
|
1110
|
+
// eslint-disable-next-line unicorn/prefer-top-level-await
|
|
1111
|
+
catch((error) => {
|
|
1112
|
+
console.error(error);
|
|
1113
|
+
process.exitCode = 2;
|
|
1114
|
+
});
|
|
1102
1115
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "markdownlint-cli2",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.16.0",
|
|
4
4
|
"description": "A fast, flexible, configuration-based command-line interface for linting Markdown/CommonMark files with the `markdownlint` library",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "David Anson",
|
|
@@ -34,6 +34,10 @@
|
|
|
34
34
|
"lint": "eslint --max-warnings 0",
|
|
35
35
|
"lint-dockerfile": "docker run --rm -i hadolint/hadolint:latest-alpine < docker/Dockerfile",
|
|
36
36
|
"lint-watch": "git ls-files | entr npm run lint",
|
|
37
|
+
"playwright-install-bare": "npm run playwright-install-npm && playwright install",
|
|
38
|
+
"playwright-install-npm": "npm install --no-save playwright@1.49.0",
|
|
39
|
+
"playwright-test": "playwright test --config ./webworker/playwright.config.mjs",
|
|
40
|
+
"playwright-test-docker": "docker run --rm --volume $PWD:/home/workdir --workdir /home/workdir --ipc=host mcr.microsoft.com/playwright:v1.49.0 npm run playwright-test",
|
|
37
41
|
"schema": "cpy ./node_modules/markdownlint/schema/markdownlint-config-schema.json ./schema --flat",
|
|
38
42
|
"test": "ava --timeout=1m test/append-to-array-test.js test/fs-mock-test.js test/fs-virtual-test.js test/markdownlint-cli2-test.js test/markdownlint-cli2-test-exec.js test/markdownlint-cli2-test-exports.js test/markdownlint-cli2-test-fs.js test/markdownlint-cli2-test-main.js test/merge-options-test.js test/resolve-and-require-test.js",
|
|
39
43
|
"test-cover": "c8 --100 npm test",
|
|
@@ -71,25 +75,26 @@
|
|
|
71
75
|
"globby": "14.0.2",
|
|
72
76
|
"js-yaml": "4.1.0",
|
|
73
77
|
"jsonc-parser": "3.3.1",
|
|
74
|
-
"markdownlint": "0.
|
|
78
|
+
"markdownlint": "0.36.1",
|
|
75
79
|
"markdownlint-cli2-formatter-default": "0.0.5",
|
|
76
80
|
"micromatch": "4.0.8"
|
|
77
81
|
},
|
|
78
82
|
"devDependencies": {
|
|
79
|
-
"@eslint/js": "9.
|
|
83
|
+
"@eslint/js": "9.16.0",
|
|
80
84
|
"@iktakahiro/markdown-it-katex": "4.0.1",
|
|
81
|
-
"@
|
|
85
|
+
"@playwright/test": "1.49.0",
|
|
86
|
+
"@stylistic/eslint-plugin": "2.11.0",
|
|
82
87
|
"ajv": "8.17.1",
|
|
83
|
-
"ava": "6.
|
|
88
|
+
"ava": "6.2.0",
|
|
84
89
|
"c8": "10.1.2",
|
|
85
90
|
"cpy": "11.1.0",
|
|
86
91
|
"cpy-cli": "5.0.0",
|
|
87
|
-
"del": "
|
|
88
|
-
"eslint": "9.
|
|
89
|
-
"eslint-plugin-jsdoc": "50.
|
|
90
|
-
"eslint-plugin-n": "17.
|
|
91
|
-
"eslint-plugin-unicorn": "
|
|
92
|
-
"
|
|
92
|
+
"del": "8.0.0",
|
|
93
|
+
"eslint": "9.16.0",
|
|
94
|
+
"eslint-plugin-jsdoc": "50.6.0",
|
|
95
|
+
"eslint-plugin-n": "17.14.0",
|
|
96
|
+
"eslint-plugin-unicorn": "56.0.1",
|
|
97
|
+
"nano-spawn": "0.2.0",
|
|
93
98
|
"markdown-it-emoji": "3.0.0",
|
|
94
99
|
"markdown-it-for-inline": "2.0.1",
|
|
95
100
|
"markdownlint-cli2-formatter-codequality": "0.0.5",
|
|
@@ -98,6 +103,7 @@
|
|
|
98
103
|
"markdownlint-cli2-formatter-pretty": "0.0.7",
|
|
99
104
|
"markdownlint-cli2-formatter-sarif": "0.0.2",
|
|
100
105
|
"markdownlint-cli2-formatter-summarize": "0.0.7",
|
|
106
|
+
"markdownlint-cli2-formatter-template": "0.0.2",
|
|
101
107
|
"markdownlint-rule-extended-ascii": "0.1.0",
|
|
102
108
|
"npm-run-all": "4.1.5"
|
|
103
109
|
},
|
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
-
"$id": "https://raw.githubusercontent.com/DavidAnson/markdownlint-cli2/v0.
|
|
3
|
+
"$id": "https://raw.githubusercontent.com/DavidAnson/markdownlint-cli2/v0.16.0/schema/markdownlint-cli2-config-schema.json",
|
|
4
4
|
"title": "markdownlint-cli2 configuration schema",
|
|
5
5
|
"type": "object",
|
|
6
6
|
"properties": {
|
|
7
7
|
"$schema": {
|
|
8
8
|
"description": "JSON Schema URI (expected by some editors)",
|
|
9
9
|
"type": "string",
|
|
10
|
-
"default": "https://raw.githubusercontent.com/DavidAnson/markdownlint-cli2/v0.
|
|
10
|
+
"default": "https://raw.githubusercontent.com/DavidAnson/markdownlint-cli2/v0.16.0/schema/markdownlint-cli2-config-schema.json"
|
|
11
11
|
},
|
|
12
12
|
"config": {
|
|
13
|
-
"description": "markdownlint configuration schema : https://github.com/DavidAnson/markdownlint/blob/v0.
|
|
14
|
-
"$ref": "https://raw.githubusercontent.com/DavidAnson/markdownlint/v0.
|
|
13
|
+
"description": "markdownlint configuration schema : https://github.com/DavidAnson/markdownlint/blob/v0.36.1/schema/.markdownlint.jsonc",
|
|
14
|
+
"$ref": "https://raw.githubusercontent.com/DavidAnson/markdownlint/v0.36.1/schema/markdownlint-config-schema.json",
|
|
15
15
|
"default": {}
|
|
16
16
|
},
|
|
17
17
|
"customRules": {
|
|
18
|
-
"description": "Module names or paths of custom rules to load and use when linting : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.
|
|
18
|
+
"description": "Module names or paths of custom rules to load and use when linting : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
|
|
19
19
|
"type": "array",
|
|
20
20
|
"default": [],
|
|
21
21
|
"items": {
|
|
@@ -25,18 +25,18 @@
|
|
|
25
25
|
}
|
|
26
26
|
},
|
|
27
27
|
"fix": {
|
|
28
|
-
"description": "Whether to enable fixing of linting errors reported by rules that emit fix information : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.
|
|
28
|
+
"description": "Whether to enable fixing of linting errors reported by rules that emit fix information : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
|
|
29
29
|
"type": "boolean",
|
|
30
30
|
"default": false
|
|
31
31
|
},
|
|
32
32
|
"frontMatter": {
|
|
33
|
-
"description": "Regular expression used to match and ignore any front matter at the beginning of a document : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.
|
|
33
|
+
"description": "Regular expression used to match and ignore any front matter at the beginning of a document : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
|
|
34
34
|
"type": "string",
|
|
35
35
|
"minLength": 1,
|
|
36
36
|
"default": ""
|
|
37
37
|
},
|
|
38
38
|
"gitignore": {
|
|
39
|
-
"description": "Whether to ignore files referenced by .gitignore (or glob expression) (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.
|
|
39
|
+
"description": "Whether to ignore files referenced by .gitignore (or glob expression) (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
|
|
40
40
|
"type": [
|
|
41
41
|
"boolean",
|
|
42
42
|
"string"
|
|
@@ -44,7 +44,7 @@
|
|
|
44
44
|
"default": false
|
|
45
45
|
},
|
|
46
46
|
"globs": {
|
|
47
|
-
"description": "Glob expressions to include when linting (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.
|
|
47
|
+
"description": "Glob expressions to include when linting (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
|
|
48
48
|
"type": "array",
|
|
49
49
|
"default": [],
|
|
50
50
|
"items": {
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
}
|
|
55
55
|
},
|
|
56
56
|
"ignores": {
|
|
57
|
-
"description": "Glob expressions to ignore when linting : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.
|
|
57
|
+
"description": "Glob expressions to ignore when linting : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
|
|
58
58
|
"type": "array",
|
|
59
59
|
"default": [],
|
|
60
60
|
"items": {
|
|
@@ -64,7 +64,7 @@
|
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
66
|
"markdownItPlugins": {
|
|
67
|
-
"description": "markdown-it plugins to load and use when linting : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.
|
|
67
|
+
"description": "markdown-it plugins to load and use when linting : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
|
|
68
68
|
"type": "array",
|
|
69
69
|
"default": [],
|
|
70
70
|
"items": {
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
}
|
|
85
85
|
},
|
|
86
86
|
"modulePaths": {
|
|
87
|
-
"description": "Additional paths to resolve module locations from : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.
|
|
87
|
+
"description": "Additional paths to resolve module locations from : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
|
|
88
88
|
"type": "array",
|
|
89
89
|
"default": [],
|
|
90
90
|
"items": {
|
|
@@ -94,22 +94,22 @@
|
|
|
94
94
|
}
|
|
95
95
|
},
|
|
96
96
|
"noBanner": {
|
|
97
|
-
"description": "Whether to disable the display of the banner message and version numbers on stdout (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.
|
|
97
|
+
"description": "Whether to disable the display of the banner message and version numbers on stdout (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
|
|
98
98
|
"type": "boolean",
|
|
99
99
|
"default": false
|
|
100
100
|
},
|
|
101
101
|
"noInlineConfig": {
|
|
102
|
-
"description": "Whether to disable support of HTML comments within Markdown content : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.
|
|
102
|
+
"description": "Whether to disable support of HTML comments within Markdown content : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
|
|
103
103
|
"type": "boolean",
|
|
104
104
|
"default": false
|
|
105
105
|
},
|
|
106
106
|
"noProgress": {
|
|
107
|
-
"description": "Whether to disable the display of progress on stdout (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.
|
|
107
|
+
"description": "Whether to disable the display of progress on stdout (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
|
|
108
108
|
"type": "boolean",
|
|
109
109
|
"default": false
|
|
110
110
|
},
|
|
111
111
|
"outputFormatters": {
|
|
112
|
-
"description": "Output formatters to load and use to customize markdownlint-cli2 output (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.
|
|
112
|
+
"description": "Output formatters to load and use to customize markdownlint-cli2 output (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
|
|
113
113
|
"type": "array",
|
|
114
114
|
"default": [],
|
|
115
115
|
"items": {
|
|
@@ -129,7 +129,7 @@
|
|
|
129
129
|
}
|
|
130
130
|
},
|
|
131
131
|
"showFound": {
|
|
132
|
-
"description": "Whether to show the list of found files on stdout (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.
|
|
132
|
+
"description": "Whether to show the list of found files on stdout (only valid at the root) : https://github.com/DavidAnson/markdownlint-cli2/blob/v0.16.0/README.md#markdownlint-cli2jsonc",
|
|
133
133
|
"type": "boolean",
|
|
134
134
|
"default": false
|
|
135
135
|
}
|