Skip to content

Commit c393ffc

Browse files
committed
Move link validation from getRoutedLink function to validateRelativeLink function. Change the logic in validateRelativeLink function to handle the link validation and ensure the errors are properly displayed.
1 parent 034076f commit c393ffc

File tree

1 file changed

+9
-11
lines changed

1 file changed

+9
-11
lines changed

src/no-dead-relative-link.js

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,19 @@ async function validateLinkNode(linkNode, context, options) {
4040
async function validateRelativeLink(linkNode, context, options) {
4141
let linkURL = getLinkURL(linkNode.url, context, options);
4242
if (!await fileExists(url.fileURLToPath(linkURL))) {
43-
let routedLink;
4443
if (options["route-map"]) {
45-
routedLink = await getRoutedLink(linkNode, context, options);
46-
}
47-
if (routedLink == null) {
44+
linkURL = await getRoutedLink(linkNode, context, options);
45+
if (linkURL && !await fileExists(url.fileURLToPath(linkURL))) {
46+
reportError(linkNode, context, `${path.basename(linkURL.pathname)} does not exist`);
47+
return;
48+
}
49+
} else {
4850
reportError(linkNode, context, `${path.basename(linkURL.pathname)} does not exist`);
49-
} else if (routedLink.hash && path.extname(routedLink.pathname) === ".md") {
50-
return validateAnchorLink(url.fileURLToPath(routedLink), routedLink.hash.slice(1), linkNode, context);
51+
return;
5152
}
52-
return;
5353
}
5454

55-
if (linkURL.hash && path.extname(linkURL.pathname) === ".md") {
55+
if (linkURL && linkURL.hash && path.extname(linkURL.pathname) === ".md") {
5656
return validateAnchorLink(url.fileURLToPath(linkURL), linkURL.hash.slice(1), linkNode, context);
5757
}
5858
}
@@ -67,9 +67,7 @@ async function getRoutedLink(linkNode, context, options) {
6767
if (sourceRegex.test(nodeUrl)) {
6868
let routedUrl = nodeUrl.replace(sourceRegex, mappedDestination);
6969
let linkURL = getLinkURL(routedUrl, context, options);
70-
if (await fileExists(url.fileURLToPath(linkURL))) {
71-
return linkURL;
72-
}
70+
return linkURL;
7371
}
7472
}
7573
}

0 commit comments

Comments
 (0)