feat(framework): production SSR build (#88)#96
Merged
Conversation
Add server entry point, ManifestRouteEntry type, and strip .tsx extensions from generated route manifest imports for TypeScript compatibility. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ort in server entry Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Fix Prettier formatting for generated framework.gen.d.ts and resolve RequestHandlerOptions generic type parameter for RouteEntry. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
44ebca1 to
0917309
Compare
The codegen for framework.gen.d.ts used 2-space indentation but Prettier expects tabs. Also fixes RequestHandlerOptions generic type parameter after rebase. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Closed
qantrepreneur
added a commit
that referenced
this pull request
May 21, 2026
* feat(framework): production SSR build via vite build --ssr (#88) Add server entry point, ManifestRouteEntry type, and strip .tsx extensions from generated route manifest imports for TypeScript compatibility. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: extract route module exports, use async/await, allow default export in server entry Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: resolve rebase conflicts and type errors Fix Prettier formatting for generated framework.gen.d.ts and resolve RequestHandlerOptions generic type parameter for RouteEntry. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> * fix: use tabs in codegen output to match Prettier config The codegen for framework.gen.d.ts used 2-space indentation but Prettier expects tabs. Also fixes RequestHandlerOptions generic type parameter after rebase. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> --------- Co-authored-by: Lorenzo <lorenzofkramer@gmail.com> Co-authored-by: Claude Opus 4.6 <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.
Summary
src/server.tsentry point to playground that wirescreateRequestHandlerwith route manifestvite build --ssr src/server.tsmatchRouteandcreateRequestHandlergeneric over route types via newMatchableRoutebase typeManifestRouteEntrytype for typed manifest route entries withload()function.tsx/.tsextensions from generated route manifest imports for TypeScript compatibilityisPageModule,isHandlerModule,isTemplateId) instead of casts in server entrypickRouteModuleto extract page/handler from ESM module (fixes latent runtime bug where raw module was passed instead of the export)loadTemplateinstead of.then()export defaultinserver.tsvia ESLint overrideTest plan
vite build --ssr src/server.tsproduces working bundle indist/Closes #88
🤖 Generated with Claude Code