perf(router-core): compact navigation parameter resolution - #8328
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (1)
🚧 Files skipped from review as they are similar to previous changes (1)
Included review availability: Your plan provides up to 10 included reviews per hour; 8 remain after this review. 📝 WalkthroughWalkthroughThe router consolidates navigation parameter resolution in ChangesNavigation parameter resolution
Priority: ⬇️ Low Estimated code review effort: 2 (Simple) | ~10 minutes Change: Refactor Suggested reviewers: Merge Risk: ⚪ Minimal · up to The parameter-resolution consolidation has no identified merge-blocking risk in the supplied changes. 🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
🚀 Changeset Version Preview6 package(s) bumped directly, 18 bumped as dependents. 🟩 Patch bumps
|
|
View your CI Pipeline Execution ↗ for commit 37e235f
☁️ Nx Cloud last updated this comment at |
Bundle Size Benchmarks
The following scenarios have bundle-size changes compared with the baseline:
Current gzip tracks all emitted client JS chunks. Initial gzip tracks only the entry/import graph. Trend sparkline is historical current gzip ending with this PR measurement; lower is better. |
676305d to
6ef0535
Compare
There was a problem hiding this comment.
Important
At least one additional CI pipeline execution has run since the conclusion below was written and it may no longer be applicable.
Nx Cloud has identified a possible root cause for your failed CI:
We determined this failure is not related to the PR's code changes, which are scoped entirely to @tanstack/router-core. The error originates in a compiled dist artifact (e2e/e2e-utils/dist/esm/index.js) where a required export is missing, indicating the e2e-utils package was not built or has a stale build in this CI environment. Re-running the pipeline after a clean build of the e2e-utils package should resolve this.
No code changes were suggested for this issue.
Trigger a rerun:
🎓 Learn more about Self-Healing CI on nx.dev
6ef0535 to
81f8a8a
Compare
Sheraff
left a comment
There was a problem hiding this comment.
i trust the benchmarks, there isn't much to review here
81f8a8a to
8520613
Compare
8520613 to
597c134
Compare
Declare the native null-prototype target once for non-inheriting parameter modes. Preserve updater isolation, native copy counts, and literal-parameter merge behavior. Group parameter resolution with search middleware without changing Link or path interpolation logic. Official current-branch bundles shrink in all 18 scenarios by 2-30 gzip bytes versus 9c7cab4. React Router minimal: 85778 -> 85748 (-30); full: 89386 -> 89384 (-2). A matched-main preview against cf166d1 measures React Router minimal at 85805 versus main 85821 (-16), and full at 89385 versus main 89398 (-13). Eight of nine matched-main React fixtures meet main; Start+Query remains +25 bytes. Small Solid overages are retained as agreed. Eight paired client/SSR cases with four independent replicas each detected no supported timing regression or improvement. Add coverage for fresh updater copies, null prototypes, inheritance, and clearing. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
597c134 to
37e235f
Compare
Declare the native null-prototype target once for non-inheriting parameter modes. Preserve updater isolation, native copy counts, and literal-parameter merge behavior. Group parameter resolution with search middleware without changing Link or path interpolation logic. Official current-branch bundles shrink in all 18 scenarios by 2-30 gzip bytes versus 9c7cab4. React Router minimal: 85778 -> 85748 (-30); full: 89386 -> 89384 (-2). A matched-main preview against cf166d1 measures React Router minimal at 85805 versus main 85821 (-16), and full at 89385 versus main 89398 (-13). Eight of nine matched-main React fixtures meet main; Start+Query remains +25 bytes. Small Solid overages are retained as agreed. Eight paired client/SSR cases with four independent replicas each detected no supported timing regression or improvement. Add coverage for fresh updater copies, null prototypes, inheritance, and clearing. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
🎯 Changes
Reduce duplication in navigation parameter handling while preserving inheritance, null-prototype dictionaries, and updater isolation.
This is PR 5 of a stacked series and is based on
optimize-link-segment-interpolation.✅ Checklist
🚀 Release Impact
Summary by CodeRabbit
Bug Fixes
Tests