cloudflare / cloudflare/vinext
App Router: support experimental.parallelRouteMetadata
- Dominant language
- TypeScript
- Stars
- 8.8k
- Forks
- 406
- Avg merge
- 2d 6h
- Merged PRs (30d)
- 120
Description
Upstream added `experimental.parallelRouteMetadata`, which resolves metadata and viewport independently for each parallel-route branch and selects one branch for the document head.
Upstream: https://github.com/vercel/next.js/commit/cd7fa80089fa8e2da02cfce7c4f0f5191bd9ecde
Vinext should support the experimental flag and preserve the upstream behavior:
- resolve metadata and viewport independently at parallel-route forks
- select a single head branch, preferring `children` when it contributes head data, then real slots and deeper routes
- route metadata and viewport errors through each rendered slot boundary without allowing unrendered slots to replace the selected head
- preserve eager metadata generation across sibling branches
Add dev and production coverage for competing slot metadata, slot-only metadata assets, metadata and viewport errors, `notFound()`, and stable tie-breaking.
Contributor guide
Research direction
Start by reading the linked upstream commit and locating vinext's existing parallel-route metadata and viewport handling. Add dev and production coverage for competing slot metadata, slot-only assets, metadata and viewport errors, notFound(), eager sibling generation, and stable tie-breaking; done means the selected document head matches the upstream behavior.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- next.js, typescript
- Domain
- frontend, web-dev
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 52/100