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 6 days ago
parent 5e4a9e799f
commit 3cf3f37b17

@ -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`))

Loading…
Cancel
Save