chore: upgrade Rolldown 1.0.0-rc.18, Vitest 5.0.0-beta.1#414
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #414 +/- ##
=======================================
Coverage ? 91.97%
=======================================
Files ? 3
Lines ? 3590
Branches ? 1173
=======================================
Hits ? 3302
Misses ? 288
Partials ? 0
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
⚡ Flight Protocol BenchmarkCommit: Serialization (
|
| Scenario | @lazarv/rsc | webpack | vs webpack |
|---|---|---|---|
| react: minimal element | 215.9K | 27.3K | 🟢 +691.4% |
| react: shallow wide (1000) | 2.2K | 357 | 🟢 +506.1% |
| react: deep nested (100) | 16.5K | 6.1K | 🟢 +171.6% |
| react: product list (50) | 5.9K | 1.9K | 🟢 +211.8% |
| react: large table (500x10) | 273 | 95 | 🟢 +188.7% |
| data: primitives | 173.2K | 34.9K | 🟢 +396.4% |
| data: large string (100KB) | 7.2K | 7.0K | 🟢 +3.5% |
| data: nested objects (20) | 57.5K | 25.3K | 🟢 +127.7% |
| data: large array (10K) | 111 | 108 | 🟢 +2.5% |
| data: Map & Set | 10.2K | 5.4K | 🟢 +89.8% |
| data: Date/BigInt/Symbol | 160.7K | 34.4K | 🟢 +367.2% |
| data: typed arrays | 32.6K | 12.4K | 🟢 +162.9% |
| data: mixed payload | 8.2K | 3.9K | 🟢 +108.8% |
Prerender (prerender)
| Scenario | @lazarv/rsc ops/s | mean |
|---|---|---|
| react: minimal element | 237.2K | 4.2 µs |
| react: shallow wide (1000) | 2.0K | 501.2 µs |
| react: deep nested (100) | 16.0K | 62.4 µs |
| react: product list (50) | 5.6K | 178.5 µs |
| react: large table (500x10) | 267 | 3.74 ms |
| data: primitives | 186.9K | 5.3 µs |
| data: large string (100KB) | 688 | 1.45 ms |
| data: nested objects (20) | 57.4K | 17.4 µs |
| data: large array (10K) | 113 | 8.86 ms |
| data: Map & Set | 10.9K | 91.7 µs |
| data: Date/BigInt/Symbol | 178.4K | 5.6 µs |
| data: typed arrays | 655 | 1.53 ms |
| data: mixed payload | 7.4K | 135.3 µs |
Deserialization (createFromReadableStream)
| Scenario | @lazarv/rsc | webpack | vs webpack |
|---|---|---|---|
| react: minimal element | 166.8K | 129.4K | 🟢 +28.9% |
| react: shallow wide (1000) | 20.6K | 2.0K | 🟢 +957.2% |
| react: deep nested (100) | 93.9K | 18.8K | 🟢 +399.2% |
| react: product list (50) | 50.4K | 14.1K | 🟢 +256.9% |
| react: large table (500x10) | 4.2K | 2.0K | 🟢 +107.8% |
| data: primitives | 136.9K | 122.1K | 🟢 +12.1% |
| data: large string (100KB) | 36.8K | 31.3K | 🟢 +17.7% |
| data: nested objects (20) | 80.0K | 67.8K | 🟢 +18.0% |
| data: large array (10K) | 260 | 234 | 🟢 +11.2% |
| data: Map & Set | 16.2K | 14.0K | 🟢 +15.6% |
| data: Date/BigInt/Symbol | 131.3K | 104.7K | 🟢 +25.4% |
| data: typed arrays | 57.5K | 40.0K | 🟢 +43.8% |
| data: mixed payload | 26.1K | 14.4K | 🟢 +81.5% |
Roundtrip (serialize + deserialize)
| Scenario | @lazarv/rsc | webpack | vs webpack |
|---|---|---|---|
| react: minimal element | 103.7K | 20.4K | 🟢 +408.3% |
| react: shallow wide (1000) | 1.7K | 264 | 🟢 +543.7% |
| react: deep nested (100) | 14.2K | 4.4K | 🟢 +225.6% |
| react: product list (50) | 5.2K | 1.6K | 🟢 +220.3% |
| react: large table (500x10) | 262 | 83 | 🟢 +214.2% |
| data: primitives | 81.8K | 28.2K | 🟢 +190.1% |
| data: large string (100KB) | 5.9K | 6.4K | 🔴 -7.4% |
| data: nested objects (20) | 33.7K | 18.2K | 🟢 +85.5% |
| data: large array (10K) | 78 | 76 | 🟢 +3.5% |
| data: Map & Set | 6.1K | 3.6K | 🟢 +69.4% |
| data: Date/BigInt/Symbol | 71.4K | 21.2K | 🟢 +236.5% |
| data: typed arrays | 24.6K | 11.0K | 🟢 +122.9% |
| data: mixed payload | 5.7K | 2.9K | 🟢 +97.2% |
Legend & methodology
Indicators: 🟢 > 1% faster | 🔴 > 1% slower | ⚪ within noise margin
vs webpack: compares @lazarv/rsc against react-server-dom-webpack within the same run.
vs baseline: compares @lazarv/rsc against the previous main branch run.
Values shown are operations/second (higher is better). Each scenario runs for at least 100 iterations with warmup.
Benchmarks run on GitHub Actions runners (shared infrastructure) — expect ~5% variance between runs. Consistent directional changes across multiple scenarios are more meaningful than any single number.
⚡ Benchmark Results
Legend🟢 > 1% improvement | 🔴 > 1% regression | ⚪ within noise margin Benchmarks run on GitHub Actions runners (shared infrastructure) — expect ~5% variance between runs. Consistent directional changes across multiple routes are more meaningful than any single number. |
Automated daily upgrade of Vite, Rolldown, and/or Vitest to the latest available versions.
Rolldown:
1.0.0-rc.17→1.0.0-rc.18Vitest:
4.1.5→5.0.0-beta.1Updated locations
packages/react-server/package.json—vite,rolldowntest/package.json—vite,rolldown,vitest,@vitest/uipackages/rsc/package.json—vitest,@vitest/*packages/create-react-server/test/package.json—vitestpackage.json— allpnpm.overridesfor Vitepnpm-lock.yamlSmoke test
hello worldtest passed ✅hello worldtest passed ✅