Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/nodejs/node.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/tools
diff options
context:
space:
mode:
authorAntoine du Hamel <duhamelantoine1995@gmail.com>2021-06-30 13:19:24 +0300
committerMichaƫl Zasso <targos@protonmail.com>2021-09-04 16:14:34 +0300
commitc6ccd97fe28f2c00dccf65f3532d0a6d75d16fe0 (patch)
treee97d421b5e5ce30d62484c318e67a444485bb021 /tools
parent985ec4897537891ba7e6752956ab28930380d4bd (diff)
doc,tools: remove `checkLinks.mjs`
The checks made by this are now integrated to `remark-preset-lint-node`, there are no reason to keep it around anymore. PR-URL: https://github.com/nodejs/node/pull/39206 Reviewed-By: Rich Trott <rtrott@gmail.com>
Diffstat (limited to 'tools')
-rw-r--r--tools/doc/checkLinks.mjs77
1 files changed, 0 insertions, 77 deletions
diff --git a/tools/doc/checkLinks.mjs b/tools/doc/checkLinks.mjs
deleted file mode 100644
index cb302ea27fe..00000000000
--- a/tools/doc/checkLinks.mjs
+++ /dev/null
@@ -1,77 +0,0 @@
-import fs from 'fs';
-import { extname, join, resolve } from 'path';
-import { pathToFileURL } from 'url';
-
-import gfm from 'remark-gfm';
-import markdown from 'remark-parse';
-import unified from 'unified';
-
-const DIR = resolve(process.argv[2]);
-
-console.log('Running Markdown link checker...');
-findMarkdownFilesRecursively(DIR);
-
-function* getLinksRecursively(node) {
- if (node.url && !node.url.startsWith('#')) {
- yield node;
- }
- for (const child of node.children || []) {
- yield* getLinksRecursively(child);
- }
-}
-
-function findMarkdownFilesRecursively(dirPath) {
- const entries = fs.readdirSync(dirPath, { withFileTypes: true });
-
- for (const entry of entries) {
- const path = join(dirPath, entry.name);
-
- if (
- entry.isDirectory() &&
- entry.name !== 'build' &&
- entry.name !== 'changelogs' &&
- entry.name !== 'deps' &&
- entry.name !== 'fixtures' &&
- entry.name !== 'gyp' &&
- entry.name !== 'node_modules' &&
- entry.name !== 'out' &&
- entry.name !== 'tmp'
- ) {
- findMarkdownFilesRecursively(path);
- } else if (entry.isFile() && extname(entry.name) === '.md') {
- checkFile(path);
- }
- }
-}
-
-function checkFile(path) {
- const tree = unified()
- .use(markdown)
- .use(gfm)
- .parse(fs.readFileSync(path));
-
- const base = pathToFileURL(path);
- let previousDefinitionLabel;
- for (const node of getLinksRecursively(tree)) {
- const targetURL = new URL(node.url, base);
- if (targetURL.protocol === 'file:' && !fs.existsSync(targetURL)) {
- const { line, column } = node.position.start;
- console.error((process.env.GITHUB_ACTIONS ?
- `::error file=${path},line=${line},col=${column}::` : '') +
- `Broken link at ${path}:${line}:${column} (${node.url})`);
- process.exitCode = 1;
- }
- if (node.type === 'definition') {
- if (previousDefinitionLabel &&
- previousDefinitionLabel > node.label) {
- const { line, column } = node.position.start;
- console.error(
- (process.env.GITHUB_ACTIONS ? `::error file=${path},line=${line},col=${column}::` : '') +
- `Unordered reference at ${path}:${line}:${column} ("${node.label}" should be before "${previousDefinitionLabel}")`
- );
- process.exitCode = 1;
- }
- previousDefinitionLabel = node.label;
- }
- }
-}