@lomray/vite-ssr-boost 8.4.1 → 8.4.2-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -86,6 +86,8 @@ Deferred router data needs no additional state library. Keep footer hydration by
86
86
 
87
87
  **Fetch handler.** Import `createHandler` from `@lomray/vite-ssr-boost/core/handler` and connect it through `adapters/node`, `adapters/express`, `adapters/fastify`, `adapters/hono` or `adapters/edge`. Your transport owns the development server, static assets and route-asset injection; follow [Runtime adapters](./docs/guide/runtime-adapters.md) when you need this control.
88
88
 
89
+ Both paths are measured weekly in the public [ssr-benchmarks](https://github.com/Lomray-Software/ssr-benchmarks) repository: the same application on vite-ssr-boost, React Router Framework mode, Vike, TanStack Start and Next.js, and a runtime matrix that serves the boost build through Express, `node:http`, Fastify, Hono and Bun. See [Benchmarks](./docs/reference/benchmarks.md) for what is measured and how to reproduce it.
90
+
89
91
  ## Not a fit when
90
92
 
91
93
  - You need an implementation of React Server Components and Server Actions.
@@ -158,7 +160,7 @@ The [example projects guide](./docs/examples/index.md) explains the wiring in ea
158
160
  Test SSR routes without a server with `@lomray/vite-ssr-boost/testing`; see the [Vitest and Playwright guide](https://lomray-software.github.io/vite-ssr-boost/guide/testing).
159
161
 
160
162
  - [Documentation site](https://lomray-software.github.io/vite-ssr-boost/), [comparison guide](./docs/guide/choosing.md) and [FAQ](./docs/reference/faq.md).
161
- - [Hydration order and streaming](./docs/reference/hydration-and-streaming.md).
163
+ - [Hydration order and streaming](./docs/reference/hydration-and-streaming.md) and [Benchmarks](./docs/reference/benchmarks.md).
162
164
  - API: [Plugin](./docs/api/plugin.md), [Browser entry](./docs/api/browser-entry.md), [Server entry](./docs/api/server-entry.md), [Node production](./docs/api/node-production.md), [Components and helpers](./docs/api/components-and-helpers.md) and [CLI](./docs/api/cli.md).
163
165
 
164
166
  ## AI agents
@@ -1,2 +1,2 @@
1
- import e from"chalk";import t from"react";import r from"./create-request.js";import s from"./route-assets.js";import o from"../../constants/stream-error.js";import n from"../../core/early-hints.js";import{getSetCookieHeaders as a,getHeaderEntries as i}from"../../core/headers.js";import d from"../../core/render.js";import c from"../../node/render-to-stream.js";import p from"../../node/request-signal.js";import l from"../../node/write-early-hints.js";import m,{writeFetchHeaders as h}from"../../node/write-fetch-response.js";import u,{isDiagnosticsEnabled as f}from"../../services/diagnostics.js";const y=(e,t,s)=>{const o={signal:t};return s&&"GET"!==e.method&&"HEAD"!==e.method&&(o.body=s(e)??null),r(e,o)},g=(e,t,r)=>{if(!t.headersSent&&!t.writableEnded){e.response.status!==r.status&&t.status(e.response.status??200);const s=new Set([...r.headers.keys(),...e.response.headers.keys()]);for(const o of s)e.response.headers.get(o)!==r.headers.get(o)&&(e.response.headers.has(o)?t.setHeader(o,"set-cookie"===o?a(e.response.headers):e.response.headers.get(o)):t.removeHeader(o))}const s=new Headers(e.response.headers);s.delete("Set-Cookie");for(const[e,r]of Object.entries(t.getHeaders()))if("set-cookie"!==e.toLowerCase()&&void 0!==r)if(Array.isArray(r))for(const t of r)s.append(e,t);else s.set(e,"number"==typeof r?String(r):r);e.response.headers=s,e.response.status=t.statusCode};async function S({App:r,handler:S,policy:x,spaShell:w},E,b,{onRouterReady:v,onShellReady:C,onResponse:j,onShellError:H,onError:R,getBody:q,getState:k,hydration:P,nonce:A,bootstrapScriptContent:L,documentHeaders:D,sessionCookie:O,protectPrivate:T,abortDelay:B=15e3}){const{appProps:G,html:U,req:$,res:z}=b,F=E.getLogger(),I=p($,z);try{const p=Object.assign(b,{request:y($,I.signal,q),response:{headers:new Headers}}),J={appProps:G,diagnostics:f(!E.isProd)?new u(new URL(p.request.url).pathname,F):void 0,html:U,request:p.request,response:p.response};if(!E.isProd&&J.diagnostics){const{diagnostics:e}=J;for(const t of["req","res"]){let r=p[t];Object.defineProperty(p,t,{configurable:!0,enumerable:!0,get:()=>(e.deprecatedReqRes(),r),set:e=>{r=e}})}}const{response:K}=J;g(J,z,{headers:new Headers(K.headers),status:K.status}),200===K.status&&(K.status=void 0);const M=e=>(p.request=e.request,p.response=e.response,p.didError=e.didError,p.html=e.html,p.isStream=e.isStream,p.isSpa=e.isSpa,p.matches=e.matches,p.routerContext=e.routerContext,p.serverContext=e.serverContext,p.timeline=e.timeline,p),N=await d({createApp:(e,s)=>t.createElement(r,{server:{...s.appProps,req:$}},e),handler:S,policy:x,spaShell:w,renderToStream:c},J,{abortDelay:B,hydration:P,nonce:A,bootstrapScriptContent:L,documentHeaders:D,sessionCookie:O,protectPrivate:T,getState:k?({context:e})=>k({context:M(e)}):void 0,onError:({context:t,error:r})=>{const{code:s,message:n}=r;if(R?.({context:M(t),error:r}),F.info(e.red(`Stream error. Code: ${s}`)),[o.RenderAborted,o.RenderTimeout,o.RenderCancel].includes(s))return void F.info(e.dim(n));const{original:a}=r;F.error(a)},onResponse:j?({context:e,html:t,isEnd:r})=>j({context:M(e),html:t,isEnd:r}):void 0,onRouterReady:v?({context:e})=>v({context:M(e)}):void 0,onShellError:H?({context:e,error:t})=>H({context:M(e),error:t}):void 0,onShellReady:({context:e})=>{const t=M(e);((e,t)=>{if(t.headersSent||t.writableEnded)return;t.status(e.response.status??200),i(e.response.headers).forEach(([e,r])=>t.setHeader(e,r));const r=a(e.response.headers);r.length&&t.setHeader("Set-Cookie",r)})(e,z);const r={headers:new Headers(e.response.headers),status:e.response.status},s=C?.({context:t});return g(e,z,r),s??{}},prepare:async({context:e,executionContext:t})=>{const r=M(e),{matches:o,isSpa:a}=e,i=(await s(E,o,a)).injectAssets(r,Boolean(r.hasEarlyHints));r.hasEarlyHints&&await n(t,i)},routerRequestContext:p},{onEarlyHints:e=>l(z,e)});M(J),await(async(e,t)=>{const r=t.headers.get("Location");if(r&&t.status>=300&&t.status<400&&!e.headersSent&&!e.writableEnded&&!e.destroyed)return h(e,t),await(t.body?.cancel()),void e.redirect(t.status,r);await m(e,t)})(z,N)}finally{I.dispose()}}export{S as default};
1
+ import e from"chalk";import r from"react";import t from"./create-request.js";import s from"./route-assets.js";import o from"../../constants/stream-error.js";import n from"../../core/early-hints.js";import{getSetCookieHeaders as a,getHeaderEntries as i}from"../../core/headers.js";import d from"../../core/render.js";import c from"../../node/render-to-stream.js";import p from"../../node/request-signal.js";import l from"../../node/write-early-hints.js";import m,{writeFetchHeaders as h}from"../../node/write-fetch-response.js";import u,{isDiagnosticsEnabled as f}from"../../services/diagnostics.js";const y=(e,r,t)=>{if(t&&!r.headersSent&&!r.writableEnded){e.response.status!==t.status&&r.status(e.response.status??200);const s=new Set([...t.headers.keys(),...e.response.headers.keys()]);for(const o of s)e.response.headers.get(o)!==t.headers.get(o)&&(e.response.headers.has(o)?r.setHeader(o,"set-cookie"===o?a(e.response.headers):e.response.headers.get(o)):r.removeHeader(o))}const s=new Headers(e.response.headers);s.delete("Set-Cookie");for(const[e,t]of Object.entries(r.getHeaders()))if("set-cookie"!==e.toLowerCase()&&void 0!==t)if(Array.isArray(t))for(const r of t)s.append(e,r);else s.set(e,"number"==typeof t?String(t):t);e.response.headers=s,e.response.status=r.statusCode};async function g({App:g,handler:S,policy:w,spaShell:b},j,v,{onRouterReady:E,onShellReady:R,onResponse:H,onShellError:C,onError:x,getBody:k,getState:q,hydration:A,nonce:P,bootstrapScriptContent:L,documentHeaders:D,sessionCookie:O,protectPrivate:T,abortDelay:B=15e3}){const{req:G,res:U}=v,$=j.getLogger(),z=p(G,U);try{const p=((e,r,s)=>{const o={signal:r};return s&&"GET"!==e.method&&"HEAD"!==e.method&&(o.body=s(e)??null),t(e,o)})(G,z.signal,k),F=Object.assign(v,{request:p,response:{headers:new Headers},diagnostics:f(!j.isProd)?new u(new URL(p.url).pathname,$):void 0});if(!j.isProd&&F.diagnostics){const{diagnostics:e}=F;for(const r of["req","res"]){let t=F[r];Object.defineProperty(F,r,{configurable:!0,enumerable:!0,get:()=>(e.deprecatedReqRes(),t),set:e=>{t=e}})}}const{response:I}=F;y(F,U),200===I.status&&(I.status=void 0);const J=await d({createApp:(e,t)=>r.createElement(g,{server:{...t.appProps,req:G}},e),handler:S,policy:w,spaShell:b,renderToStream:c},F,{abortDelay:B,hydration:A,nonce:P,bootstrapScriptContent:L,documentHeaders:D,sessionCookie:O,protectPrivate:T,getState:q?()=>q({context:F}):void 0,onError:({error:r})=>{const{code:t,message:s}=r;if(x?.({context:F,error:r}),$.info(e.red(`Stream error. Code: ${t}`)),[o.RenderAborted,o.RenderTimeout,o.RenderCancel].includes(t))return void $.info(e.dim(s));const{original:n}=r;$.error(n)},onResponse:H?({html:e,isEnd:r})=>H({context:F,html:e,isEnd:r}):void 0,onRouterReady:E?()=>E({context:F}):void 0,onShellError:C?({error:e})=>C({context:F,error:e}):void 0,onShellReady:()=>{((e,r)=>{if(r.headersSent||r.writableEnded)return;r.status(e.response.status??200),i(e.response.headers).forEach(([e,t])=>r.setHeader(e,t));const t=a(e.response.headers);t.length&&r.setHeader("Set-Cookie",t)})(F,U);const{response:e}=F,{headers:r,status:t}=e,s=R?{headers:new Headers(r),status:t}:void 0,o=R?.({context:F});return y(F,U,s),o??{}},prepare:async({executionContext:e})=>{const{matches:r,isSpa:t,hasEarlyHints:o}=F,a=(await s(j,r,t)).injectAssets(F,Boolean(o));o&&await n(e,a)},routerRequestContext:F},{onEarlyHints:e=>l(U,e)});await(async(e,r)=>{const t=r.headers.get("Location");if(t&&r.status>=300&&r.status<400&&!e.headersSent&&!e.writableEnded&&!e.destroyed)return h(e,r),await(r.body?.cancel()),void e.redirect(r.status,t);await m(e,r)})(U,J)}finally{z.dispose()}}export{g as default};
2
2
  //# sourceMappingURL=render.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"render.js","sources":["../../../src/adapters/express/render.tsx"],"sourcesContent":[null],"names":["createRenderRequest","req","signal","getBody","options","method","body","createFetchRequest","syncResponse","context","res","previous","headersSent","writableEnded","response","status","names","Set","headers","keys","name","get","has","setHeader","getSetCookieHeaders","removeHeader","Headers","delete","value","Object","entries","getHeaders","toLowerCase","undefined","Array","isArray","item","append","set","String","statusCode","async","render","App","handler","policy","spaShell","config","initialContext","onRouterReady","onShellReady","onResponse","onShellError","onError","getState","hydration","nonce","bootstrapScriptContent","documentHeaders","sessionCookie","protectPrivate","abortDelay","appProps","html","shellHtml","Logger","getLogger","requestSignal","createRequestSignal","assign","request","coreContext","diagnostics","isDiagnosticsEnabled","isProd","Diagnostics","URL","url","pathname","defineProperty","configurable","enumerable","deprecatedReqRes","next","initialResponse","syncContext","updated","didError","isStream","isSpa","matches","routerContext","serverContext","timeline","coreRender","createApp","children","React","createElement","server","renderToStream","error","code","message","info","chalk","red","StreamError","RenderAborted","RenderTimeout","RenderCancel","includes","dim","original","isEnd","legacyContext","getHeaderEntries","forEach","cookies","length","prepareResponse","shell","prepare","executionContext","hints","getRouteAssets","injectAssets","Boolean","hasEarlyHints","emitEarlyHints","routerRequestContext","onEarlyHints","writeEarlyHints","location","destroyed","writeFetchHeaders","cancel","redirect","writeFetchResponse","writeResponse","dispose"],"mappings":"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"}
1
+ {"version":3,"file":"render.js","sources":["../../../src/adapters/express/render.tsx"],"sourcesContent":[null],"names":["syncResponse","context","res","previous","headersSent","writableEnded","response","status","names","Set","headers","keys","name","get","has","setHeader","getSetCookieHeaders","removeHeader","Headers","delete","value","Object","entries","getHeaders","toLowerCase","undefined","Array","isArray","item","append","set","String","statusCode","async","render","App","handler","policy","spaShell","config","initialContext","onRouterReady","onShellReady","onResponse","onShellError","onError","getBody","getState","hydration","nonce","bootstrapScriptContent","documentHeaders","sessionCookie","protectPrivate","abortDelay","req","Logger","getLogger","requestSignal","createRequestSignal","request","signal","options","method","body","createFetchRequest","createRenderRequest","assign","diagnostics","isDiagnosticsEnabled","isProd","Diagnostics","URL","url","pathname","defineProperty","configurable","enumerable","deprecatedReqRes","next","initialResponse","coreRender","createApp","children","updated","React","createElement","server","appProps","renderToStream","error","code","message","info","chalk","red","StreamError","RenderAborted","RenderTimeout","RenderCancel","includes","dim","original","html","isEnd","getHeaderEntries","forEach","cookies","length","prepareResponse","shellResponse","shell","prepare","executionContext","matches","isSpa","hasEarlyHints","hints","getRouteAssets","injectAssets","Boolean","emitEarlyHints","routerRequestContext","onEarlyHints","writeEarlyHints","location","destroyed","writeFetchHeaders","cancel","redirect","writeFetchResponse","writeResponse","dispose"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import o from"./body.js";import s from"./express/create-request.js";import{handleRequest as e}from"./node.js";import t from"../node/request-signal.js";const r=(r,n={})=>(d,i,a)=>{const p=t(d,i),c=o=>{p.signal.aborted||a(o)};try{const t={signal:p.signal};n.getBody?t.body=n.getBody(d)??null:void 0!==d.body&&(t.body=o(d.body,d.get("Content-Type"))),e(r,s(d,t),i,{compression:n.compression}).catch(c).finally(p.dispose)}catch(o){p.dispose(),c(o)}};export{r as default};
1
+ import o from"./body.js";import s from"./express/create-request.js";import{handleRequest as e}from"./node.js";import t from"../node/request-signal.js";const r=(r,n={})=>(i,d,a)=>{const y=t(i,d),l=o=>{y.signal.aborted||a(o)};try{const t={signal:y.signal};n.getBody?t.body=n.getBody(i)??null:void 0!==i.body&&(t.body=o(i.body,i.get("Content-Type"))),e(r,s(i,t),d,{compression:n.compression}).catch(l).finally(y.dispose)}catch(o){try{l(o)}finally{y.dispose()}}};export{r as default};
2
2
  //# sourceMappingURL=express.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"express.js","sources":["../../src/adapters/express.ts"],"sourcesContent":[null],"names":["adapterExpress","handler","options","req","res","next","requestSignal","createRequestSignal","onError","error","signal","aborted","requestOptions","getBody","body","undefined","serializeBody","get","handleRequest","createFetchRequest","compression","catch","finally","dispose"],"mappings":"uJAeA,MAAMA,EAAiB,CACrBC,EACAC,EAAkC,KAK3B,CAACC,EAAcC,EAAsBC,KAC1C,MAAMC,EAAgBC,EAAoBJ,EAAKC,GAKzCI,EAAWC,IACVH,EAAcI,OAAOC,SACxBN,EAAKI,IAIT,IACE,MAAMG,EAAkE,CACtEF,OAAQJ,EAAcI,QAGpBR,EAAQW,QACVD,EAAeE,KAAOZ,EAAQW,QAAQV,IAAQ,UACxBY,IAAbZ,EAAIW,OACbF,EAAeE,KAAOE,EAAcb,EAAIW,KAAMX,EAAIc,IAAI,kBAGnDC,EAAcjB,EAASkB,EAAmBhB,EAAKS,GAAiBR,EAAK,CACxEgB,YAAalB,EAAQkB,cAEpBC,MAAMb,GACNc,QAAQhB,EAAciB,QAC3B,CAAE,MAAOd,GACPH,EAAciB,UACdf,EAAQC,EACV"}
1
+ {"version":3,"file":"express.js","sources":["../../src/adapters/express.ts"],"sourcesContent":[null],"names":["adapterExpress","handler","options","req","res","next","requestSignal","createRequestSignal","onError","error","signal","aborted","requestOptions","getBody","body","undefined","serializeBody","get","handleRequest","createFetchRequest","compression","catch","finally","dispose"],"mappings":"uJAeA,MAAMA,EAAiB,CACrBC,EACAC,EAAkC,KAK3B,CAACC,EAAcC,EAAsBC,KAC1C,MAAMC,EAAgBC,EAAoBJ,EAAKC,GAKzCI,EAAWC,IACVH,EAAcI,OAAOC,SACxBN,EAAKI,IAIT,IACE,MAAMG,EAAkE,CACtEF,OAAQJ,EAAcI,QAGpBR,EAAQW,QACVD,EAAeE,KAAOZ,EAAQW,QAAQV,IAAQ,UACxBY,IAAbZ,EAAIW,OACbF,EAAeE,KAAOE,EAAcb,EAAIW,KAAMX,EAAIc,IAAI,kBAGnDC,EAAcjB,EAASkB,EAAmBhB,EAAKS,GAAiBR,EAAK,CACxEgB,YAAalB,EAAQkB,cAEpBC,MAAMb,GACNc,QAAQhB,EAAciB,QAC3B,CAAE,MAAOd,GACP,IACED,EAAQC,EACV,SACEH,EAAciB,SAChB,CACF"}
@@ -1,2 +1,2 @@
1
- const o=(o,e)=>{const t=new AbortController,r=()=>t.abort(),n=()=>{e.writableEnded||r()};return o.once("aborted",r),e.once("close",n),(o.aborted||e.destroyed)&&r(),{dispose:()=>{o.off("aborted",r),e.off("close",n)},signal:t.signal}};export{o as default};
1
+ const o=(o,e)=>{const t=new AbortController,r=()=>t.abort(),n=()=>{e.writableEnded||r()};return o.once("aborted",r),e.once("close",n),(o.aborted||e.destroyed)&&r(),{dispose:()=>{o.off("aborted",r),e.off("close",n),t.abort(null)},signal:t.signal}};export{o as default};
2
2
  //# sourceMappingURL=request-signal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"request-signal.js","sources":["../../src/node/request-signal.ts"],"sourcesContent":[null],"names":["createRequestSignal","req","res","controller","AbortController","abort","onClose","writableEnded","once","aborted","destroyed","dispose","off","signal"],"mappings":"AAUA,MAAMA,EAAsB,CAACC,EAAuBC,KAClD,MAAMC,EAAa,IAAIC,gBAKjBC,EAAQ,IAAYF,EAAWE,QAK/BC,EAAU,KACTJ,EAAIK,eACPF,KAmBJ,OAPAJ,EAAIO,KAAK,UAAWH,GACpBH,EAAIM,KAAK,QAASF,IAEdL,EAAIQ,SAAWP,EAAIQ,YACrBL,IAGK,CAAEM,QAZO,KACdV,EAAIW,IAAI,UAAWP,GACnBH,EAAIU,IAAI,QAASN,IAUDO,OAAQV,EAAWU"}
1
+ {"version":3,"file":"request-signal.js","sources":["../../src/node/request-signal.ts"],"sourcesContent":[null],"names":["createRequestSignal","req","res","controller","AbortController","abort","onClose","writableEnded","once","aborted","destroyed","dispose","off","signal"],"mappings":"AAUA,MAAMA,EAAsB,CAACC,EAAuBC,KAClD,MAAMC,EAAa,IAAIC,gBAKjBC,EAAQ,IAAYF,EAAWE,QAK/BC,EAAU,KACTJ,EAAIK,eACPF,KAwBJ,OAPAJ,EAAIO,KAAK,UAAWH,GACpBH,EAAIM,KAAK,QAASF,IAEdL,EAAIQ,SAAWP,EAAIQ,YACrBL,IAGK,CAAEM,QAjBO,KACdV,EAAIW,IAAI,UAAWP,GACnBH,EAAIU,IAAI,QAASN,GAKjBH,EAAWE,MAAM,OAUDQ,OAAQV,EAAWU"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lomray/vite-ssr-boost",
3
- "version": "8.4.1",
3
+ "version": "8.4.2-beta.1",
4
4
  "description": "SSR and streaming for existing Vite + React Router apps in Data mode, without Framework mode",
5
5
  "type": "module",
6
6
  "exports": {