chore: upgrade Vitest 5.0.0-beta.3#437
Conversation
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #437 +/- ##
=======================================
Coverage ? 91.39%
=======================================
Files ? 3
Lines ? 3949
Branches ? 1323
=======================================
Hits ? 3609
Misses ? 340
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 | 224.1K | 26.8K | 🟢 +736.2% |
| react: shallow wide (1000) | 2.3K | 348 | 🟢 +548.4% |
| react: deep nested (100) | 17.3K | 6.1K | 🟢 +183.0% |
| react: product list (50) | 6.2K | 2.0K | 🟢 +209.6% |
| react: large table (500x10) | 281 | 99 | 🟢 +184.4% |
| data: primitives | 177.9K | 40.9K | 🟢 +334.9% |
| data: large string (100KB) | 7.3K | 6.9K | 🟢 +6.1% |
| data: nested objects (20) | 57.0K | 26.0K | 🟢 +119.6% |
| data: large array (10K) | 116 | 109 | 🟢 +5.7% |
| data: Map & Set | 10.9K | 5.8K | 🟢 +88.1% |
| data: Date/BigInt/Symbol | 165.9K | 35.6K | 🟢 +365.8% |
| data: typed arrays | 35.1K | 12.9K | 🟢 +172.6% |
| data: mixed payload | 8.3K | 4.0K | 🟢 +108.9% |
Prerender (prerender)
| Scenario | @lazarv/rsc ops/s | mean |
|---|---|---|
| react: minimal element | 237.6K | 4.2 µs |
| react: shallow wide (1000) | 2.1K | 480.8 µs |
| react: deep nested (100) | 16.4K | 60.9 µs |
| react: product list (50) | 5.8K | 173.2 µs |
| react: large table (500x10) | 276 | 3.62 ms |
| data: primitives | 194.6K | 5.1 µs |
| data: large string (100KB) | 688 | 1.45 ms |
| data: nested objects (20) | 57.9K | 17.3 µs |
| data: large array (10K) | 114 | 8.79 ms |
| data: Map & Set | 11.1K | 90.1 µs |
| data: Date/BigInt/Symbol | 184.9K | 5.4 µs |
| data: typed arrays | 664 | 1.51 ms |
| data: mixed payload | 7.7K | 130.6 µs |
Deserialization (createFromReadableStream)
| Scenario | @lazarv/rsc | webpack | vs webpack |
|---|---|---|---|
| react: minimal element | 168.0K | 137.8K | 🟢 +22.0% |
| react: shallow wide (1000) | 21.4K | 1.5K | 🟢 +1286.2% |
| react: deep nested (100) | 100.0K | 19.5K | 🟢 +412.9% |
| react: product list (50) | 52.8K | 12.0K | 🟢 +341.8% |
| react: large table (500x10) | 4.1K | 2.2K | 🟢 +82.2% |
| data: primitives | 138.9K | 132.4K | 🟢 +4.9% |
| data: large string (100KB) | 40.8K | 37.7K | 🟢 +8.3% |
| data: nested objects (20) | 85.5K | 68.7K | 🟢 +24.4% |
| data: large array (10K) | 286 | 258 | 🟢 +11.0% |
| data: Map & Set | 16.2K | 14.5K | 🟢 +12.2% |
| data: Date/BigInt/Symbol | 132.9K | 111.6K | 🟢 +19.1% |
| data: typed arrays | 52.2K | 43.3K | 🟢 +20.6% |
| data: mixed payload | 25.5K | 15.0K | 🟢 +70.4% |
Roundtrip (serialize + deserialize)
| Scenario | @lazarv/rsc | webpack | vs webpack |
|---|---|---|---|
| react: minimal element | 97.7K | 21.6K | 🟢 +351.6% |
| react: shallow wide (1000) | 1.7K | 266 | 🟢 +530.5% |
| react: deep nested (100) | 14.5K | 4.3K | 🟢 +236.5% |
| react: product list (50) | 5.3K | 1.6K | 🟢 +223.2% |
| react: large table (500x10) | 266 | 89 | 🟢 +200.5% |
| data: primitives | 82.3K | 28.5K | 🟢 +188.8% |
| data: large string (100KB) | 6.5K | 6.2K | 🟢 +5.3% |
| data: nested objects (20) | 33.5K | 17.9K | 🟢 +86.7% |
| data: large array (10K) | 84 | 76 | 🟢 +11.3% |
| data: Map & Set | 6.3K | 4.0K | 🟢 +59.0% |
| data: Date/BigInt/Symbol | 71.2K | 21.4K | 🟢 +232.9% |
| data: typed arrays | 25.0K | 11.3K | 🟢 +121.9% |
| data: mixed payload | 6.0K | 2.9K | 🟢 +107.1% |
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.
Vitest:
5.0.0-beta.2→5.0.0-beta.3Updated 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 ✅