Repository navigation
Conversation
Brings in vike#3576, which stops catchInfiniteLoop() from scanning every request of the last 5 seconds on each renderPage(). This vike requires Vite 7.1+, so Vite moves to 8 (what AlignableWeb uses), @vitejs/plugin-react to 6, and TypeScript to 5.9: plugin-react's type declarations need TypeScript 5.6+. TypeScript 5.9 types Map.keys().next().value as possibly undefined, and Vite 8 publishes its types only through `exports`, which the test app's tsconfig now reads with "moduleResolution": "Bundler". bifrost-fastify resolved a stale vike 0.4.255 hoisted at the root, so renderPage didn't run on the upgraded vike. Pin vike and vite at the root and override them so every workspace shares one copy. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Upgrades vike to
0.4.267-commit-5676e14, the prerelease with vikejs/vike#3576. Before that fix, everyrenderPage()iterated over one infinite-loop tracker per request of the last 5 seconds, so the CPU cost per request grew with traffic.Changes
0.4.259-commit-2fe6cc7→0.4.267-commit-5676e14.@vitejs/plugin-react4 → 6, as in AlignableWeb.Map.keys().next().valueas possiblyundefined, solruCache.tsgets a!.tsconfig.json:"moduleResolution": "Bundler". Vite 8 publishes its types only throughexports, which"Node"resolution doesn't read.master, bifrost-fastify resolves a stale vike 0.4.255 hoisted at the root, sorenderPagedoesn't run on the vike we pin. This pins vike and vite at the root withoverrides, the same fix as in Render wrapped pages with a single renderPage #99. Whichever PR merges second will have a small conflict inpackage.json.Performance
These numbers come from #99's server benchmark (
tests/bench, c=10, Apple M1 Pro), because the benchmark isn't onmasteryet. CPU per request, before and after run back to back:Native pages don't improve. vike's new streamed
pageContextvalues (since 0.4.267) add a check on every serialized value, which costs about as much as the fix saves on pages with a largepageContext. Patching only the fix into the current vike gave −4.6% and −10.0% on those two scenarios.Testing
npm run buildand the test app build pass on Node 22.21.1 and 20.19.5.bifrost-fastifyunit tests pass.🤖 Generated with Claude Code