nextra and nextra-theme-docs are pinned exact 4.6.0 (was ^4.6.0) on chore/deps-latest so npm install cannot drift onto 4.6.1.
4.6.1 moved to zod 4 stable. nextra-theme-docs's Layout destructures children out of props before LayoutPropsSchema.safeParse(themeConfig), while the schema still declares children: reactNode as required. Every page that goes through lib/nextra-layout.js fails prerender with Invalid input: expected nonoptional, received undefined → at children. Bisected: next 16.3.4 with nextra 4.6.0 builds; nextra 4.6.1 alone breaks it.
Upstream: shuding/nextra#5034 (closed without a release), #5036 and #5008 (open). No 4.6.2 exists; the next line is 5.0.0-alpha.24. Re-check when 4.6.2 or 5.0 ships and restore the caret.
Remaining npm audit item: @xmldom/xmldom 0.9.x (high) via speech-rule-engine ← mathjax ← nextra. Build-time only; nothing from it reaches the static export.
Found during the Node 24 / dependency upgrade, 2026-09-06 (see chore/deps-prune branch)
nextraandnextra-theme-docsare pinned exact4.6.0(was^4.6.0) onchore/deps-latestsonpm installcannot drift onto 4.6.1.4.6.1 moved to zod 4 stable.
nextra-theme-docs'sLayoutdestructureschildrenout of props beforeLayoutPropsSchema.safeParse(themeConfig), while the schema still declareschildren: reactNodeas required. Every page that goes throughlib/nextra-layout.jsfails prerender withInvalid input: expected nonoptional, received undefined → at children. Bisected:next16.3.4 with nextra 4.6.0 builds; nextra 4.6.1 alone breaks it.Upstream: shuding/nextra#5034 (closed without a release), #5036 and #5008 (open). No 4.6.2 exists; the next line is
5.0.0-alpha.24. Re-check when 4.6.2 or 5.0 ships and restore the caret.Remaining
npm audititem:@xmldom/xmldom0.9.x (high) viaspeech-rule-engine←mathjax←nextra. Build-time only; nothing from it reaches the static export.Found during the Node 24 / dependency upgrade, 2026-09-06 (see
chore/deps-prunebranch)