@electron/lint-roller 2.3.0 → 3.0.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/README.md +1 -5
- package/dist/bin/lint-markdown-api-history.js +136 -60
- package/dist/bin/lint-markdown-api-history.js.map +1 -1
- package/dist/bin/lint-markdown-links.js +62 -45
- package/dist/bin/lint-markdown-links.js.map +1 -1
- package/dist/bin/lint-markdown-standard.js +55 -36
- package/dist/bin/lint-markdown-standard.js.map +1 -1
- package/dist/bin/lint-markdown-ts-check.js +66 -47
- package/dist/bin/lint-markdown-ts-check.js.map +1 -1
- package/dist/lib/helpers.js +14 -23
- package/dist/lib/helpers.js.map +1 -1
- package/dist/lib/markdown.d.ts +21 -1
- package/dist/lib/markdown.js +121 -136
- package/dist/lib/markdown.js.map +1 -1
- package/lib/markdown.ts +3 -28
- package/markdownlint-rules/emd002.mjs +9 -11
- package/markdownlint-rules/emd003.mjs +9 -8
- package/markdownlint-rules/emd004.mjs +31 -0
- package/markdownlint-rules/index.mjs +5 -0
- package/package.json +17 -23
- package/dist/bin/markdownlint-cli-wrapper.d.ts +0 -2
- package/dist/bin/markdownlint-cli-wrapper.js +0 -16
- package/dist/bin/markdownlint-cli-wrapper.js.map +0 -1
- package/markdownlint-rules/emd002.js +0 -9908
- package/markdownlint-rules/emd003.js +0 -9905
- package/markdownlint-rules/emd004.js +0 -30
- package/markdownlint-rules/index.js +0 -5
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# @electron/lint-roller
|
|
2
2
|
|
|
3
|
-
[](https://github.com/electron/lint-roller/actions/workflows/test.yml)
|
|
4
4
|
[](https://npmjs.org/package/@electron/lint-roller)
|
|
5
5
|
|
|
6
6
|
> Markdown linting helpers for Electron org repos
|
|
@@ -10,7 +10,6 @@
|
|
|
10
10
|
```bash
|
|
11
11
|
yarn global add @electron/lint-roller
|
|
12
12
|
|
|
13
|
-
electron-markdownlint "**/*.md"
|
|
14
13
|
lint-roller-markdown-links --root docs/ "docs/**/*.md"
|
|
15
14
|
```
|
|
16
15
|
|
|
@@ -25,9 +24,6 @@ across repos. To use the base config, extend it in `.markdownlint.json`:
|
|
|
25
24
|
}
|
|
26
25
|
```
|
|
27
26
|
|
|
28
|
-
`electron-markdownlint` is provided as a wrapper command which adds extra
|
|
29
|
-
rules found in this package automatically.
|
|
30
|
-
|
|
31
27
|
`lint-roller-markdown-links` is a command to further lint links to find
|
|
32
28
|
broken relative links, including URL fragments, and can also be used to
|
|
33
29
|
check external links with the `--fetch-external-links` option.
|
|
@@ -1,24 +1,23 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
2
|
+
import { readFile } from 'node:fs/promises';
|
|
3
|
+
import { resolve } from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
import { parseArgs } from 'node:util';
|
|
6
|
+
import Ajv from 'ajv';
|
|
7
|
+
import { fromHtml } from 'hast-util-from-html';
|
|
8
|
+
import { fromMarkdown } from 'mdast-util-from-markdown';
|
|
9
|
+
import { visit } from 'unist-util-visit';
|
|
10
|
+
import { URI } from 'vscode-uri';
|
|
11
|
+
import { parseDocument, visit as yamlVisit } from 'yaml';
|
|
12
|
+
import { DocsWorkspace } from '../lib/markdown.js';
|
|
13
13
|
// "<any char>: <match group>"
|
|
14
14
|
const possibleStringRegex = /^[ \S]+?: *?(\S[ \S]+?)$/gm;
|
|
15
15
|
const nonAlphaNumericDotRegex = /[^a-zA-Z0-9.]/g;
|
|
16
|
+
const possibleDescriptionRegex = /^[ \S]+?description: *?(\S[ \S]+?)$/gm;
|
|
16
17
|
function isHTML(node) {
|
|
17
18
|
return node.type === 'html';
|
|
18
19
|
}
|
|
19
|
-
async function findPossibleApiHistoryBlocks(content) {
|
|
20
|
-
const { fromMarkdown } = (await (0, helpers_1.dynamicImport)('mdast-util-from-markdown'));
|
|
21
|
-
const { visit } = (await (0, helpers_1.dynamicImport)('unist-util-visit'));
|
|
20
|
+
export async function findPossibleApiHistoryBlocks(content) {
|
|
22
21
|
const tree = fromMarkdown(content);
|
|
23
22
|
const codeBlocks = [];
|
|
24
23
|
visit(tree,
|
|
@@ -34,22 +33,18 @@ async function findPossibleApiHistoryBlocks(content) {
|
|
|
34
33
|
});
|
|
35
34
|
return codeBlocks;
|
|
36
35
|
}
|
|
37
|
-
|
|
38
|
-
async function main(workspaceRoot, globs, { checkPlacement, breakingChangesFile, checkStrings, schema, ignoreGlobs = [] }) {
|
|
39
|
-
var _a, _b, _c, _d, _e, _f;
|
|
36
|
+
async function main(workspaceRoot, globs, { checkPlacement, breakingChangesFile, checkStrings, checkDescriptions, disallowComments, schema, ignoreGlobs = [], }) {
|
|
40
37
|
let documentCounter = 0;
|
|
41
38
|
let historyBlockCounter = 0;
|
|
42
39
|
let errorCounter = 0;
|
|
43
40
|
let warningCounter = 0;
|
|
44
41
|
try {
|
|
45
|
-
const
|
|
46
|
-
const { fromMarkdown } = (await (0, helpers_1.dynamicImport)('mdast-util-from-markdown'));
|
|
47
|
-
const workspace = new markdown_1.DocsWorkspace(workspaceRoot, globs, ignoreGlobs);
|
|
42
|
+
const workspace = new DocsWorkspace(workspaceRoot, globs, ignoreGlobs);
|
|
48
43
|
let validateAgainstSchema = null;
|
|
49
44
|
if (schema) {
|
|
50
45
|
try {
|
|
51
|
-
const ajv = new
|
|
52
|
-
const ApiHistorySchemaFile = await
|
|
46
|
+
const ajv = new Ajv();
|
|
47
|
+
const ApiHistorySchemaFile = await readFile(schema, { encoding: 'utf-8' });
|
|
53
48
|
const ApiHistorySchema = JSON.parse(ApiHistorySchemaFile);
|
|
54
49
|
validateAgainstSchema = ajv.compile(ApiHistorySchema);
|
|
55
50
|
}
|
|
@@ -60,7 +55,7 @@ async function main(workspaceRoot, globs, { checkPlacement, breakingChangesFile,
|
|
|
60
55
|
let breakingChangesFileHeadingIds = null;
|
|
61
56
|
if (breakingChangesFile) {
|
|
62
57
|
try {
|
|
63
|
-
const breakingChanges = await
|
|
58
|
+
const breakingChanges = await readFile(breakingChangesFile, { encoding: 'utf-8' });
|
|
64
59
|
const markdownBreakingChanges = fromMarkdown(breakingChanges);
|
|
65
60
|
const headings = markdownBreakingChanges.children.filter((e) => e.type === 'heading' && e.depth === 3);
|
|
66
61
|
// Convert to GitHub heading ID format
|
|
@@ -75,22 +70,22 @@ async function main(workspaceRoot, globs, { checkPlacement, breakingChangesFile,
|
|
|
75
70
|
}
|
|
76
71
|
}
|
|
77
72
|
for (const document of await workspace.getAllMarkdownDocuments()) {
|
|
78
|
-
const uri =
|
|
73
|
+
const uri = URI.parse(document.uri);
|
|
79
74
|
const filepath = workspace.getWorkspaceRelativePath(uri);
|
|
80
75
|
documentCounter++;
|
|
81
76
|
const documentText = document.getText();
|
|
82
77
|
if (!documentText.includes('<!--'))
|
|
83
78
|
continue;
|
|
84
79
|
const possibleHistoryBlocks = await findPossibleApiHistoryBlocks(documentText);
|
|
85
|
-
for (const possibleHistoryBlock of possibleHistoryBlocks) {
|
|
80
|
+
historyBlockForLoop: for (const possibleHistoryBlock of possibleHistoryBlocks) {
|
|
86
81
|
historyBlockCounter++;
|
|
87
82
|
const { children: [htmlComment], } = fromHtml(possibleHistoryBlock.value);
|
|
88
83
|
if (htmlComment.type !== 'comment')
|
|
89
84
|
continue;
|
|
90
85
|
const { children: [codeBlock], } = fromMarkdown(htmlComment.value);
|
|
91
86
|
if (codeBlock.type !== 'code' ||
|
|
92
|
-
|
|
93
|
-
|
|
87
|
+
codeBlock.lang?.toLowerCase() !== 'yaml' ||
|
|
88
|
+
codeBlock.meta?.trim().toLowerCase() !== 'history') {
|
|
94
89
|
console.error('Error occurred while parsing Markdown document:\n\n' +
|
|
95
90
|
`'${filepath}'\n\n` +
|
|
96
91
|
"Couldn't extract matches from possible API history block, did you use the correct format?\n\n" +
|
|
@@ -113,7 +108,7 @@ async function main(workspaceRoot, globs, { checkPlacement, breakingChangesFile,
|
|
|
113
108
|
continue;
|
|
114
109
|
// I've only seen errors occur when the first or last character is a special character - @piotrpdev
|
|
115
110
|
const isFirstCharNonAlphaNumeric = trimmedMatchedGroup[0].match(nonAlphaNumericDotRegex) !== null;
|
|
116
|
-
const isLastCharNonAlphaNumeric =
|
|
111
|
+
const isLastCharNonAlphaNumeric = trimmedMatchedGroup.at(-1)?.match(nonAlphaNumericDotRegex) !== null;
|
|
117
112
|
if (isFirstCharNonAlphaNumeric || isLastCharNonAlphaNumeric) {
|
|
118
113
|
console.warn('Warning occurred while parsing Markdown document:\n\n' +
|
|
119
114
|
`'${filepath}'\n\n` +
|
|
@@ -130,8 +125,31 @@ async function main(workspaceRoot, globs, { checkPlacement, breakingChangesFile,
|
|
|
130
125
|
}
|
|
131
126
|
}
|
|
132
127
|
}
|
|
128
|
+
// Throw an error if a description isn't surrounded by double quotation marks
|
|
129
|
+
if (checkDescriptions) {
|
|
130
|
+
const possibleDescription = codeBlock.value.matchAll(possibleDescriptionRegex);
|
|
131
|
+
for (const [matchedLine, matchedGroup] of possibleDescription) {
|
|
132
|
+
const trimmedMatchedGroup = matchedGroup.trim();
|
|
133
|
+
const isMatchedGroupInsideQuotes = trimmedMatchedGroup.startsWith('"') && trimmedMatchedGroup.endsWith('"');
|
|
134
|
+
if (!isMatchedGroupInsideQuotes) {
|
|
135
|
+
console.error('Error occurred while parsing Markdown document:\n\n' +
|
|
136
|
+
`'${filepath}'\n\n` +
|
|
137
|
+
'Possible description field is not surrounded by double quotes.\n\n' +
|
|
138
|
+
'This might cause issues when parsing the YAML (might not throw an error)\n\n' +
|
|
139
|
+
'Matched group:\n\n' +
|
|
140
|
+
`${matchedGroup}\n\n` +
|
|
141
|
+
'Matched line:\n\n' +
|
|
142
|
+
`${matchedLine}\n\n` +
|
|
143
|
+
'API history block:\n\n' +
|
|
144
|
+
`${possibleHistoryBlock.value}\n`);
|
|
145
|
+
errorCounter++;
|
|
146
|
+
// Behold, one of the rare occasions when a labeled statement is useful.
|
|
147
|
+
continue historyBlockForLoop;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
}
|
|
133
151
|
if (checkPlacement) {
|
|
134
|
-
if (
|
|
152
|
+
if (possibleHistoryBlock.previousNode?.type !== 'heading') {
|
|
135
153
|
console.error('Error occurred while parsing Markdown document:\n\n' +
|
|
136
154
|
`'${filepath}'\n\n` +
|
|
137
155
|
'API history block must be preceded by a heading\n\n' +
|
|
@@ -141,9 +159,11 @@ async function main(workspaceRoot, globs, { checkPlacement, breakingChangesFile,
|
|
|
141
159
|
continue;
|
|
142
160
|
}
|
|
143
161
|
}
|
|
162
|
+
let unsafeHistoryDocument = null;
|
|
144
163
|
let unsafeHistory = null;
|
|
145
164
|
try {
|
|
146
|
-
|
|
165
|
+
unsafeHistoryDocument = parseDocument(codeBlock.value);
|
|
166
|
+
unsafeHistory = unsafeHistoryDocument.toJS();
|
|
147
167
|
}
|
|
148
168
|
catch (error) {
|
|
149
169
|
console.error('Error occurred while parsing Markdown document:\n\n' +
|
|
@@ -154,6 +174,26 @@ async function main(workspaceRoot, globs, { checkPlacement, breakingChangesFile,
|
|
|
154
174
|
errorCounter++;
|
|
155
175
|
continue;
|
|
156
176
|
}
|
|
177
|
+
if (disallowComments) {
|
|
178
|
+
let commentFound = false;
|
|
179
|
+
yamlVisit(unsafeHistoryDocument, (_, node) => {
|
|
180
|
+
if (typeof node === 'object' &&
|
|
181
|
+
node !== null &&
|
|
182
|
+
('comment' in node || 'commentBefore' in node)) {
|
|
183
|
+
commentFound = true;
|
|
184
|
+
return yamlVisit.BREAK;
|
|
185
|
+
}
|
|
186
|
+
});
|
|
187
|
+
if (commentFound) {
|
|
188
|
+
console.error('Error occurred while parsing Markdown document:\n\n' +
|
|
189
|
+
`'${filepath}'\n\n` +
|
|
190
|
+
'API History cannot contain YAML comments.\n\n' +
|
|
191
|
+
'API history block:\n\n' +
|
|
192
|
+
`${possibleHistoryBlock.value}\n`);
|
|
193
|
+
errorCounter++;
|
|
194
|
+
continue;
|
|
195
|
+
}
|
|
196
|
+
}
|
|
157
197
|
if (!schema || validateAgainstSchema === null)
|
|
158
198
|
continue;
|
|
159
199
|
const isValid = validateAgainstSchema(unsafeHistory);
|
|
@@ -174,8 +214,8 @@ async function main(workspaceRoot, globs, { checkPlacement, breakingChangesFile,
|
|
|
174
214
|
const safeHistory = unsafeHistory;
|
|
175
215
|
const breakingChangeHeaders = [];
|
|
176
216
|
const changesAndDeprecations = [
|
|
177
|
-
...(
|
|
178
|
-
...(
|
|
217
|
+
...(safeHistory.changes ?? []),
|
|
218
|
+
...(safeHistory.deprecated ?? []),
|
|
179
219
|
];
|
|
180
220
|
for (const change of changesAndDeprecations) {
|
|
181
221
|
if (change['breaking-changes-header']) {
|
|
@@ -212,33 +252,67 @@ async function main(workspaceRoot, globs, { checkPlacement, breakingChangesFile,
|
|
|
212
252
|
}
|
|
213
253
|
}
|
|
214
254
|
function parseCommandLine() {
|
|
215
|
-
const showUsage = (
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
process.exit(1);
|
|
223
|
-
}
|
|
224
|
-
return true;
|
|
255
|
+
const showUsage = () => {
|
|
256
|
+
console.log('Usage: lint-roller-markdown-api-history [--root <dir>] <globs>' +
|
|
257
|
+
' [-h|--help]' +
|
|
258
|
+
' [--check-placement] [--breaking-changes-file <path>] [--check-strings] [--check-descriptions] [--disallow-comments]' +
|
|
259
|
+
' [--schema <path>]' +
|
|
260
|
+
' [--ignore <globs>] [--ignore-path <path>]');
|
|
261
|
+
process.exit(1);
|
|
225
262
|
};
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
263
|
+
try {
|
|
264
|
+
const opts = parseArgs({
|
|
265
|
+
allowNegative: true,
|
|
266
|
+
allowPositionals: true,
|
|
267
|
+
options: {
|
|
268
|
+
'check-placement': {
|
|
269
|
+
type: 'boolean',
|
|
270
|
+
default: true,
|
|
271
|
+
},
|
|
272
|
+
'check-strings': {
|
|
273
|
+
type: 'boolean',
|
|
274
|
+
default: true,
|
|
275
|
+
},
|
|
276
|
+
'check-descriptions': {
|
|
277
|
+
type: 'boolean',
|
|
278
|
+
default: true,
|
|
279
|
+
},
|
|
280
|
+
'disallow-comments': {
|
|
281
|
+
type: 'boolean',
|
|
282
|
+
default: true,
|
|
283
|
+
},
|
|
284
|
+
root: {
|
|
285
|
+
type: 'string',
|
|
286
|
+
},
|
|
287
|
+
ignore: {
|
|
288
|
+
type: 'string',
|
|
289
|
+
multiple: true,
|
|
290
|
+
},
|
|
291
|
+
'ignore-path': {
|
|
292
|
+
type: 'string',
|
|
293
|
+
},
|
|
294
|
+
schema: {
|
|
295
|
+
type: 'string',
|
|
296
|
+
},
|
|
297
|
+
'breaking-changes-file': {
|
|
298
|
+
type: 'string',
|
|
299
|
+
},
|
|
300
|
+
help: {
|
|
301
|
+
type: 'boolean',
|
|
302
|
+
},
|
|
303
|
+
},
|
|
304
|
+
});
|
|
305
|
+
if (opts.values.help || !opts.positionals.length)
|
|
306
|
+
return showUsage();
|
|
307
|
+
return opts;
|
|
308
|
+
}
|
|
309
|
+
catch {
|
|
310
|
+
return showUsage();
|
|
311
|
+
}
|
|
238
312
|
}
|
|
239
313
|
async function init() {
|
|
240
314
|
try {
|
|
241
|
-
const opts = parseCommandLine();
|
|
315
|
+
const { values: opts, positionals } = parseCommandLine();
|
|
242
316
|
if (!opts.root) {
|
|
243
317
|
opts.root = '.';
|
|
244
318
|
}
|
|
@@ -249,21 +323,23 @@ async function init() {
|
|
|
249
323
|
opts.ignore = [];
|
|
250
324
|
}
|
|
251
325
|
if (opts['ignore-path']) {
|
|
252
|
-
const ignores = await
|
|
326
|
+
const ignores = await readFile(resolve(opts['ignore-path']), { encoding: 'utf-8' });
|
|
253
327
|
for (const ignore of ignores.split('\n')) {
|
|
254
328
|
opts.ignore.push(ignore.trimEnd());
|
|
255
329
|
}
|
|
256
330
|
}
|
|
257
331
|
if (opts.schema) {
|
|
258
|
-
opts.schema =
|
|
332
|
+
opts.schema = resolve(process.cwd(), opts.schema);
|
|
259
333
|
}
|
|
260
334
|
if (opts['breaking-changes-file']) {
|
|
261
|
-
opts['breaking-changes-file'] =
|
|
335
|
+
opts['breaking-changes-file'] = resolve(process.cwd(), opts['breaking-changes-file']);
|
|
262
336
|
}
|
|
263
|
-
const { historyBlockCounter, documentCounter, errorCounter, warningCounter } = await main(
|
|
337
|
+
const { historyBlockCounter, documentCounter, errorCounter, warningCounter } = await main(resolve(process.cwd(), opts.root), positionals, {
|
|
264
338
|
checkPlacement: opts['check-placement'],
|
|
265
339
|
breakingChangesFile: opts['breaking-changes-file'],
|
|
266
340
|
checkStrings: opts['check-strings'],
|
|
341
|
+
checkDescriptions: opts['check-descriptions'],
|
|
342
|
+
disallowComments: opts['disallow-comments'],
|
|
267
343
|
ignoreGlobs: opts.ignore,
|
|
268
344
|
schema: opts.schema,
|
|
269
345
|
});
|
|
@@ -276,7 +352,7 @@ async function init() {
|
|
|
276
352
|
process.exit(1);
|
|
277
353
|
}
|
|
278
354
|
}
|
|
279
|
-
if (
|
|
355
|
+
if (process.argv[1] === fileURLToPath(import.meta.url)) {
|
|
280
356
|
init().catch((error) => {
|
|
281
357
|
console.error(error);
|
|
282
358
|
process.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint-markdown-api-history.js","sourceRoot":"","sources":["../../bin/lint-markdown-api-history.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lint-markdown-api-history.js","sourceRoot":"","sources":["../../bin/lint-markdown-api-history.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,27 +1,24 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
const markdown_1 = require("../lib/markdown");
|
|
2
|
+
import * as fs from 'node:fs';
|
|
3
|
+
import * as path from 'node:path';
|
|
4
|
+
import { fileURLToPath } from 'node:url';
|
|
5
|
+
import { parseArgs } from 'node:util';
|
|
6
|
+
import { createLanguageService, DiagnosticLevel, LogLevel, } from '@dsanders11/vscode-markdown-languageservice';
|
|
7
|
+
import { CancellationTokenSource } from 'vscode-languageserver';
|
|
8
|
+
import { URI } from 'vscode-uri';
|
|
9
|
+
import { DocsWorkspace, MarkdownLinkComputer, MarkdownParser } from '../lib/markdown.js';
|
|
11
10
|
class NoOpLogger {
|
|
12
|
-
|
|
13
|
-
this.level = vscode_markdown_languageservice_1.LogLevel.Off;
|
|
14
|
-
}
|
|
11
|
+
level = LogLevel.Off;
|
|
15
12
|
log() { }
|
|
16
13
|
}
|
|
17
14
|
const diagnosticOptions = {
|
|
18
15
|
ignoreLinks: [],
|
|
19
|
-
validateDuplicateLinkDefinitions:
|
|
20
|
-
validateFileLinks:
|
|
21
|
-
validateFragmentLinks:
|
|
22
|
-
validateMarkdownFileLinkFragments:
|
|
23
|
-
validateReferences:
|
|
24
|
-
validateUnusedLinkDefinitions:
|
|
16
|
+
validateDuplicateLinkDefinitions: DiagnosticLevel.error,
|
|
17
|
+
validateFileLinks: DiagnosticLevel.error,
|
|
18
|
+
validateFragmentLinks: DiagnosticLevel.error,
|
|
19
|
+
validateMarkdownFileLinkFragments: DiagnosticLevel.error,
|
|
20
|
+
validateReferences: DiagnosticLevel.error,
|
|
21
|
+
validateUnusedLinkDefinitions: DiagnosticLevel.error,
|
|
25
22
|
};
|
|
26
23
|
async function fetchExternalLink(link, checkRedirects = false) {
|
|
27
24
|
try {
|
|
@@ -47,23 +44,22 @@ async function fetchExternalLink(link, checkRedirects = false) {
|
|
|
47
44
|
return true;
|
|
48
45
|
}
|
|
49
46
|
}
|
|
50
|
-
catch
|
|
47
|
+
catch {
|
|
51
48
|
console.log('Broken link', link);
|
|
52
49
|
}
|
|
53
50
|
return false;
|
|
54
51
|
}
|
|
55
52
|
async function main(workspaceRoot, globs, { fetchExternalLinks = false, checkRedirects = false, ignoreGlobs = [] }) {
|
|
56
|
-
|
|
57
|
-
const
|
|
58
|
-
const
|
|
59
|
-
const
|
|
60
|
-
const languageService = (0, vscode_markdown_languageservice_1.createLanguageService)({
|
|
53
|
+
const workspace = new DocsWorkspace(workspaceRoot, globs, ignoreGlobs);
|
|
54
|
+
const parser = new MarkdownParser();
|
|
55
|
+
const linkComputer = new MarkdownLinkComputer(workspace);
|
|
56
|
+
const languageService = createLanguageService({
|
|
61
57
|
workspace,
|
|
62
58
|
parser,
|
|
63
59
|
logger: new NoOpLogger(),
|
|
64
60
|
linkComputer,
|
|
65
61
|
});
|
|
66
|
-
const cts = new
|
|
62
|
+
const cts = new CancellationTokenSource();
|
|
67
63
|
let errors = false;
|
|
68
64
|
const externalLinks = new Set();
|
|
69
65
|
try {
|
|
@@ -71,7 +67,7 @@ async function main(workspaceRoot, globs, { fetchExternalLinks = false, checkRed
|
|
|
71
67
|
for (const document of await workspace.getAllMarkdownDocuments()) {
|
|
72
68
|
for (let link of await languageService.getDocumentLinks(document, cts.token)) {
|
|
73
69
|
if (link.target === undefined) {
|
|
74
|
-
link = (
|
|
70
|
+
link = (await languageService.resolveDocumentLink(link, cts.token)) ?? link;
|
|
75
71
|
}
|
|
76
72
|
if (link.target &&
|
|
77
73
|
link.target.startsWith('http') &&
|
|
@@ -81,7 +77,7 @@ async function main(workspaceRoot, globs, { fetchExternalLinks = false, checkRed
|
|
|
81
77
|
}
|
|
82
78
|
const diagnostics = await languageService.computeDiagnostics(document, diagnosticOptions, cts.token);
|
|
83
79
|
if (diagnostics.length) {
|
|
84
|
-
console.log('File Location:', path.relative(
|
|
80
|
+
console.log('File Location:', path.relative(URI.file(workspace.root).path, URI.parse(document.uri).path));
|
|
85
81
|
}
|
|
86
82
|
for (const diagnostic of diagnostics) {
|
|
87
83
|
console.log(`\tBroken link on line ${diagnostic.range.start.line + 1}:`, diagnostic.message);
|
|
@@ -99,25 +95,46 @@ async function main(workspaceRoot, globs, { fetchExternalLinks = false, checkRed
|
|
|
99
95
|
return errors;
|
|
100
96
|
}
|
|
101
97
|
function parseCommandLine() {
|
|
102
|
-
const showUsage = (
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
process.exit(1);
|
|
107
|
-
}
|
|
108
|
-
return true;
|
|
98
|
+
const showUsage = () => {
|
|
99
|
+
console.log('Usage: lint-roller-markdown-links [--root <dir>] <globs> [-h|--help] [--fetch-external-links] ' +
|
|
100
|
+
'[--check-redirects] [--ignore <globs>]');
|
|
101
|
+
process.exit(1);
|
|
109
102
|
};
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
103
|
+
try {
|
|
104
|
+
const opts = parseArgs({
|
|
105
|
+
allowPositionals: true,
|
|
106
|
+
options: {
|
|
107
|
+
'fetch-external-links': {
|
|
108
|
+
type: 'boolean',
|
|
109
|
+
},
|
|
110
|
+
'check-redirects': {
|
|
111
|
+
type: 'boolean',
|
|
112
|
+
},
|
|
113
|
+
root: {
|
|
114
|
+
type: 'string',
|
|
115
|
+
},
|
|
116
|
+
ignore: {
|
|
117
|
+
type: 'string',
|
|
118
|
+
multiple: true,
|
|
119
|
+
},
|
|
120
|
+
'ignore-path': {
|
|
121
|
+
type: 'string',
|
|
122
|
+
},
|
|
123
|
+
help: {
|
|
124
|
+
type: 'boolean',
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
});
|
|
128
|
+
if (opts.values.help || !opts.positionals.length)
|
|
129
|
+
return showUsage();
|
|
130
|
+
return opts;
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
return showUsage();
|
|
134
|
+
}
|
|
118
135
|
}
|
|
119
|
-
if (
|
|
120
|
-
const opts = parseCommandLine();
|
|
136
|
+
if (process.argv[1] === fileURLToPath(import.meta.url)) {
|
|
137
|
+
const { values: opts, positionals } = parseCommandLine();
|
|
121
138
|
if (!opts.root) {
|
|
122
139
|
opts.root = '.';
|
|
123
140
|
}
|
|
@@ -133,7 +150,7 @@ if (require.main === module) {
|
|
|
133
150
|
opts.ignore.push(ignore.trimEnd());
|
|
134
151
|
}
|
|
135
152
|
}
|
|
136
|
-
main(path.resolve(process.cwd(), opts.root),
|
|
153
|
+
main(path.resolve(process.cwd(), opts.root), positionals, {
|
|
137
154
|
fetchExternalLinks: opts['fetch-external-links'],
|
|
138
155
|
checkRedirects: opts['check-redirects'],
|
|
139
156
|
ignoreGlobs: opts.ignore,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint-markdown-links.js","sourceRoot":"","sources":["../../bin/lint-markdown-links.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"lint-markdown-links.js","sourceRoot":"","sources":["../../bin/lint-markdown-links.ts"],"names":[],"mappings":"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"}
|