From 3cf3f37b17054ff38347d4d0a2e76e03d68e2e7a Mon Sep 17 00:00:00 2001 From: Divyansh Singh <40380293+brc-dd@users.noreply.github.com> Date: Wed, 29 Jul 2026 18:17:59 +0530 Subject: [PATCH] fix(build): report links to pre-rewrite paths of rewritten pages as dead The dead link check compares resolved links against source-space page paths, so a link to the original location of a rewritten page passed the check but 404s in the built site. Co-Authored-By: Claude Fable 5 --- src/node/markdownToVue.ts | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/node/markdownToVue.ts b/src/node/markdownToVue.ts index 559d6ebf..b67bb475 100644 --- a/src/node/markdownToVue.ts +++ b/src/node/markdownToVue.ts @@ -213,11 +213,18 @@ export async function createMarkdownToVueRenderFn( : path.relative(srcDir, path.resolve(dir, url)) ) ) - resolved = - siteConfig?.rewrites.inv[resolved + '.md']?.slice(0, -3) || resolved + const rewriteSource = siteConfig?.rewrites.inv[resolved + '.md'] + if (rewriteSource) resolved = rewriteSource.slice(0, -3) + + // a link to the pre-rewrite path of a rewritten page 404s in the + // built site even though the page itself exists + const rewritten = rewriteSource + ? undefined + : siteConfig?.rewrites.map[resolved + '.md'] if ( - !pages.includes(resolved) && + (!pages.includes(resolved) || + (rewritten != null && rewritten !== resolved + '.md')) && !( siteConfig?.publicDir && fs.existsSync(path.join(siteConfig.publicDir, `${resolved}.html`))