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 <noreply@anthropic.com>
pull/5014/head
Divyansh Singh 2 months ago
parent 5e4a9e799f
commit 3cf3f37b17

@ -213,11 +213,18 @@ export async function createMarkdownToVueRenderFn(
: path.relative(srcDir, path.resolve(dir, url)) : path.relative(srcDir, path.resolve(dir, url))
) )
) )
resolved = const rewriteSource = siteConfig?.rewrites.inv[resolved + '.md']
siteConfig?.rewrites.inv[resolved + '.md']?.slice(0, -3) || resolved 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 ( if (
!pages.includes(resolved) && (!pages.includes(resolved) ||
(rewritten != null && rewritten !== resolved + '.md')) &&
!( !(
siteConfig?.publicDir && siteConfig?.publicDir &&
fs.existsSync(path.join(siteConfig.publicDir, `${resolved}.html`)) fs.existsSync(path.join(siteConfig.publicDir, `${resolved}.html`))

Loading…
Cancel
Save