docs: Phase 4 complete — bankai v10
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_014NgfSjHE11oFpoSnLVKLXd
This commit is contained in:
co-authored by
Claude Fable 5
parent
8b684a17d2
commit
0a351d7f33
+26
@@ -87,6 +87,32 @@ Server string rendering is on par with nanohtml v1 (~13k ops/s, within
|
|||||||
- [ ] Phase 3 follow-ups for the RFC: API shape feedback on lazy()
|
- [ ] Phase 3 follow-ups for the RFC: API shape feedback on lazy()
|
||||||
(thenable handlers vs wrapper), serializing streamed state for
|
(thenable handlers vs wrapper), serializing streamed state for
|
||||||
hydration of async holes (bankai v10 territory).
|
hydration of async holes (bankai v10 territory).
|
||||||
|
- [x] Phase 4: bankai v10 — `packages/bankai`, a thin shell over Vite 8
|
||||||
|
(Rolldown). The server side needs no build at all: v8 apps are
|
||||||
|
plain ESM that Node runs as-authored, so only the client bundles.
|
||||||
|
- `bankai start <entry>` — dev: Vite middleware mode + HMR, with
|
||||||
|
per-request streaming SSR through vite.ssrLoadModule and a
|
||||||
|
virtual client entry (the user writes one isomorphic module;
|
||||||
|
bankai generates the two lines of browser glue).
|
||||||
|
- `bankai build <entry>` — client bundle + Vite manifest +
|
||||||
|
dist/bankai.json route/asset metadata + service worker (if
|
||||||
|
`<entry dir>/sw.js` exists, built with the precache list
|
||||||
|
injected) + brotli/gzip precompression of every text asset.
|
||||||
|
- `bankai serve` — production: static assets with immutable
|
||||||
|
caching and precompressed-variant negotiation, 103 Early Hints
|
||||||
|
(`res.writeEarlyHints`) carrying the route's assets before every
|
||||||
|
SSR page, streaming render, and a `window.initialState` tail
|
||||||
|
(script-safe serialization, choo internals filtered; hydration
|
||||||
|
ignores server-only scripts).
|
||||||
|
- `bankai inspect` — raw/gzip/brotli size table from the manifest.
|
||||||
|
All proven end-to-end in real Chromium: both dev and prod pages
|
||||||
|
hydrate with zero console errors and zero mismatch warnings, and
|
||||||
|
the 103 interim response is asserted at the HTTP level.
|
||||||
|
- [ ] Phase 4 follow-ups: HTTP/2 dev server with local certs (browsers
|
||||||
|
only act on Early Hints over h2/h3), static prerender of
|
||||||
|
enumerable routes, SSR `<title>` from state (needs a head hook in
|
||||||
|
toStream), edge-runtime deploy recipe (`new Response(toStream())`
|
||||||
|
— the server core is already web-standard).
|
||||||
- [ ] Phase 4: bankai v10 (Vite 8/Rolldown shell, SSR middleware,
|
- [ ] Phase 4: bankai v10 (Vite 8/Rolldown shell, SSR middleware,
|
||||||
103 Early Hints, service worker, precompression)
|
103 Early Hints, service worker, precompression)
|
||||||
- [ ] Phase 5: docs, examples, launch
|
- [ ] Phase 5: docs, examples, launch
|
||||||
|
|||||||
Reference in New Issue
Block a user