@tanstack/react-start-server
Advanced tools
@@ -46,2 +46,4 @@ "use strict"; | ||
| onError: (error, info) => { | ||
| if (error instanceof Error && error.message === "ShellBoundaryError") | ||
| return; | ||
| console.error("Error in renderToPipeableStream:", error, info); | ||
@@ -48,0 +50,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"defaultStreamHandler.cjs","sources":["../../src/defaultStreamHandler.tsx"],"sourcesContent":["import { PassThrough } from 'node:stream'\nimport { isbot } from 'isbot'\nimport ReactDOMServer from 'react-dom/server'\n\nimport {\n defineHandlerCallback,\n transformPipeableStreamWithRouter,\n transformReadableStreamWithRouter,\n} from '@tanstack/start-server-core'\nimport { StartServer } from './StartServer'\n\nimport type { ReadableStream } from 'node:stream/web'\n\nexport const defaultStreamHandler = defineHandlerCallback(\n async ({ request, router, responseHeaders }) => {\n if (typeof ReactDOMServer.renderToReadableStream === 'function') {\n const stream = await ReactDOMServer.renderToReadableStream(\n <StartServer router={router} />,\n {\n signal: request.signal,\n },\n )\n\n if (isbot(request.headers.get('User-Agent'))) {\n await stream.allReady\n }\n\n const responseStream = transformReadableStreamWithRouter(\n router,\n stream as unknown as ReadableStream,\n )\n return new Response(responseStream as any, {\n status: router.state.statusCode,\n headers: responseHeaders,\n })\n }\n\n if (typeof ReactDOMServer.renderToPipeableStream === 'function') {\n const reactAppPassthrough = new PassThrough()\n\n try {\n const pipeable = ReactDOMServer.renderToPipeableStream(\n <StartServer router={router} />,\n {\n ...(isbot(request.headers.get('User-Agent'))\n ? {\n onAllReady() {\n pipeable.pipe(reactAppPassthrough)\n },\n }\n : {\n onShellReady() {\n pipeable.pipe(reactAppPassthrough)\n },\n }),\n onError: (error, info) => {\n console.error('Error in renderToPipeableStream:', error, info)\n },\n },\n )\n } catch (e) {\n console.error('Error in renderToPipeableStream:', e)\n }\n\n const responseStream = transformPipeableStreamWithRouter(\n router,\n reactAppPassthrough,\n )\n return new Response(responseStream as any, {\n status: router.state.statusCode,\n headers: responseHeaders,\n })\n }\n\n throw new Error(\n 'No renderToReadableStream or renderToPipeableStream found in react-dom/server. Ensure you are using a version of react-dom that supports streaming.',\n )\n },\n)\n"],"names":["defineHandlerCallback","jsx","StartServer","isbot","transformReadableStreamWithRouter","PassThrough","transformPipeableStreamWithRouter"],"mappings":";;;;;;;;AAaO,MAAM,uBAAuBA,gBAAA;AAAA,EAClC,OAAO,EAAE,SAAS,QAAQ,sBAAsB;AAC1C,QAAA,OAAO,eAAe,2BAA2B,YAAY;AACzD,YAAA,SAAS,MAAM,eAAe;AAAA,QAClCC,+BAACC,YAAAA,eAAY,QAAgB;AAAA,QAC7B;AAAA,UACE,QAAQ,QAAQ;AAAA,QAAA;AAAA,MAEpB;AAEA,UAAIC,MAAAA,MAAM,QAAQ,QAAQ,IAAI,YAAY,CAAC,GAAG;AAC5C,cAAM,OAAO;AAAA,MAAA;AAGf,YAAM,iBAAiBC,gBAAA;AAAA,QACrB;AAAA,QACA;AAAA,MACF;AACO,aAAA,IAAI,SAAS,gBAAuB;AAAA,QACzC,QAAQ,OAAO,MAAM;AAAA,QACrB,SAAS;AAAA,MAAA,CACV;AAAA,IAAA;AAGC,QAAA,OAAO,eAAe,2BAA2B,YAAY;AACzD,YAAA,sBAAsB,IAAIC,wBAAY;AAExC,UAAA;AACF,cAAM,WAAW,eAAe;AAAA,UAC9BJ,+BAACC,YAAAA,eAAY,QAAgB;AAAA,UAC7B;AAAA,YACE,GAAIC,MAAAA,MAAM,QAAQ,QAAQ,IAAI,YAAY,CAAC,IACvC;AAAA,cACE,aAAa;AACX,yBAAS,KAAK,mBAAmB;AAAA,cAAA;AAAA,YACnC,IAEF;AAAA,cACE,eAAe;AACb,yBAAS,KAAK,mBAAmB;AAAA,cAAA;AAAA,YAErC;AAAA,YACJ,SAAS,CAAC,OAAO,SAAS;AAChB,sBAAA,MAAM,oCAAoC,OAAO,IAAI;AAAA,YAAA;AAAA,UAC/D;AAAA,QAEJ;AAAA,eACO,GAAG;AACF,gBAAA,MAAM,oCAAoC,CAAC;AAAA,MAAA;AAGrD,YAAM,iBAAiBG,gBAAA;AAAA,QACrB;AAAA,QACA;AAAA,MACF;AACO,aAAA,IAAI,SAAS,gBAAuB;AAAA,QACzC,QAAQ,OAAO,MAAM;AAAA,QACrB,SAAS;AAAA,MAAA,CACV;AAAA,IAAA;AAGH,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EAAA;AAEJ;;"} | ||
| {"version":3,"file":"defaultStreamHandler.cjs","sources":["../../src/defaultStreamHandler.tsx"],"sourcesContent":["import { PassThrough } from 'node:stream'\nimport { isbot } from 'isbot'\nimport ReactDOMServer from 'react-dom/server'\n\nimport {\n defineHandlerCallback,\n transformPipeableStreamWithRouter,\n transformReadableStreamWithRouter,\n} from '@tanstack/start-server-core'\nimport { StartServer } from './StartServer'\n\nimport type { ReadableStream } from 'node:stream/web'\n\nexport const defaultStreamHandler = defineHandlerCallback(\n async ({ request, router, responseHeaders }) => {\n if (typeof ReactDOMServer.renderToReadableStream === 'function') {\n const stream = await ReactDOMServer.renderToReadableStream(\n <StartServer router={router} />,\n {\n signal: request.signal,\n },\n )\n\n if (isbot(request.headers.get('User-Agent'))) {\n await stream.allReady\n }\n\n const responseStream = transformReadableStreamWithRouter(\n router,\n stream as unknown as ReadableStream,\n )\n return new Response(responseStream as any, {\n status: router.state.statusCode,\n headers: responseHeaders,\n })\n }\n\n if (typeof ReactDOMServer.renderToPipeableStream === 'function') {\n const reactAppPassthrough = new PassThrough()\n\n try {\n const pipeable = ReactDOMServer.renderToPipeableStream(\n <StartServer router={router} />,\n {\n ...(isbot(request.headers.get('User-Agent'))\n ? {\n onAllReady() {\n pipeable.pipe(reactAppPassthrough)\n },\n }\n : {\n onShellReady() {\n pipeable.pipe(reactAppPassthrough)\n },\n }),\n onError: (error, info) => {\n if (\n error instanceof Error &&\n error.message === 'ShellBoundaryError'\n )\n return\n console.error('Error in renderToPipeableStream:', error, info)\n },\n },\n )\n } catch (e) {\n console.error('Error in renderToPipeableStream:', e)\n }\n\n const responseStream = transformPipeableStreamWithRouter(\n router,\n reactAppPassthrough,\n )\n return new Response(responseStream as any, {\n status: router.state.statusCode,\n headers: responseHeaders,\n })\n }\n\n throw new Error(\n 'No renderToReadableStream or renderToPipeableStream found in react-dom/server. Ensure you are using a version of react-dom that supports streaming.',\n )\n },\n)\n"],"names":["defineHandlerCallback","jsx","StartServer","isbot","transformReadableStreamWithRouter","PassThrough","transformPipeableStreamWithRouter"],"mappings":";;;;;;;;AAaO,MAAM,uBAAuBA,gBAAA;AAAA,EAClC,OAAO,EAAE,SAAS,QAAQ,sBAAsB;AAC1C,QAAA,OAAO,eAAe,2BAA2B,YAAY;AACzD,YAAA,SAAS,MAAM,eAAe;AAAA,QAClCC,+BAACC,YAAAA,eAAY,QAAgB;AAAA,QAC7B;AAAA,UACE,QAAQ,QAAQ;AAAA,QAAA;AAAA,MAEpB;AAEA,UAAIC,MAAAA,MAAM,QAAQ,QAAQ,IAAI,YAAY,CAAC,GAAG;AAC5C,cAAM,OAAO;AAAA,MAAA;AAGf,YAAM,iBAAiBC,gBAAA;AAAA,QACrB;AAAA,QACA;AAAA,MACF;AACO,aAAA,IAAI,SAAS,gBAAuB;AAAA,QACzC,QAAQ,OAAO,MAAM;AAAA,QACrB,SAAS;AAAA,MAAA,CACV;AAAA,IAAA;AAGC,QAAA,OAAO,eAAe,2BAA2B,YAAY;AACzD,YAAA,sBAAsB,IAAIC,wBAAY;AAExC,UAAA;AACF,cAAM,WAAW,eAAe;AAAA,UAC9BJ,+BAACC,YAAAA,eAAY,QAAgB;AAAA,UAC7B;AAAA,YACE,GAAIC,MAAAA,MAAM,QAAQ,QAAQ,IAAI,YAAY,CAAC,IACvC;AAAA,cACE,aAAa;AACX,yBAAS,KAAK,mBAAmB;AAAA,cAAA;AAAA,YACnC,IAEF;AAAA,cACE,eAAe;AACb,yBAAS,KAAK,mBAAmB;AAAA,cAAA;AAAA,YAErC;AAAA,YACJ,SAAS,CAAC,OAAO,SAAS;AAEtB,kBAAA,iBAAiB,SACjB,MAAM,YAAY;AAElB;AACM,sBAAA,MAAM,oCAAoC,OAAO,IAAI;AAAA,YAAA;AAAA,UAC/D;AAAA,QAEJ;AAAA,eACO,GAAG;AACF,gBAAA,MAAM,oCAAoC,CAAC;AAAA,MAAA;AAGrD,YAAM,iBAAiBG,gBAAA;AAAA,QACrB;AAAA,QACA;AAAA,MACF;AACO,aAAA,IAAI,SAAS,gBAAuB;AAAA,QACzC,QAAQ,OAAO,MAAM;AAAA,QACrB,SAAS;AAAA,MAAA,CACV;AAAA,IAAA;AAGH,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EAAA;AAEJ;;"} |
@@ -44,2 +44,4 @@ import { jsx } from "react/jsx-runtime"; | ||
| onError: (error, info) => { | ||
| if (error instanceof Error && error.message === "ShellBoundaryError") | ||
| return; | ||
| console.error("Error in renderToPipeableStream:", error, info); | ||
@@ -46,0 +48,0 @@ } |
@@ -1,1 +0,1 @@ | ||
| {"version":3,"file":"defaultStreamHandler.js","sources":["../../src/defaultStreamHandler.tsx"],"sourcesContent":["import { PassThrough } from 'node:stream'\nimport { isbot } from 'isbot'\nimport ReactDOMServer from 'react-dom/server'\n\nimport {\n defineHandlerCallback,\n transformPipeableStreamWithRouter,\n transformReadableStreamWithRouter,\n} from '@tanstack/start-server-core'\nimport { StartServer } from './StartServer'\n\nimport type { ReadableStream } from 'node:stream/web'\n\nexport const defaultStreamHandler = defineHandlerCallback(\n async ({ request, router, responseHeaders }) => {\n if (typeof ReactDOMServer.renderToReadableStream === 'function') {\n const stream = await ReactDOMServer.renderToReadableStream(\n <StartServer router={router} />,\n {\n signal: request.signal,\n },\n )\n\n if (isbot(request.headers.get('User-Agent'))) {\n await stream.allReady\n }\n\n const responseStream = transformReadableStreamWithRouter(\n router,\n stream as unknown as ReadableStream,\n )\n return new Response(responseStream as any, {\n status: router.state.statusCode,\n headers: responseHeaders,\n })\n }\n\n if (typeof ReactDOMServer.renderToPipeableStream === 'function') {\n const reactAppPassthrough = new PassThrough()\n\n try {\n const pipeable = ReactDOMServer.renderToPipeableStream(\n <StartServer router={router} />,\n {\n ...(isbot(request.headers.get('User-Agent'))\n ? {\n onAllReady() {\n pipeable.pipe(reactAppPassthrough)\n },\n }\n : {\n onShellReady() {\n pipeable.pipe(reactAppPassthrough)\n },\n }),\n onError: (error, info) => {\n console.error('Error in renderToPipeableStream:', error, info)\n },\n },\n )\n } catch (e) {\n console.error('Error in renderToPipeableStream:', e)\n }\n\n const responseStream = transformPipeableStreamWithRouter(\n router,\n reactAppPassthrough,\n )\n return new Response(responseStream as any, {\n status: router.state.statusCode,\n headers: responseHeaders,\n })\n }\n\n throw new Error(\n 'No renderToReadableStream or renderToPipeableStream found in react-dom/server. Ensure you are using a version of react-dom that supports streaming.',\n )\n },\n)\n"],"names":[],"mappings":";;;;;;AAaO,MAAM,uBAAuB;AAAA,EAClC,OAAO,EAAE,SAAS,QAAQ,sBAAsB;AAC1C,QAAA,OAAO,eAAe,2BAA2B,YAAY;AACzD,YAAA,SAAS,MAAM,eAAe;AAAA,QAClC,oBAAC,eAAY,QAAgB;AAAA,QAC7B;AAAA,UACE,QAAQ,QAAQ;AAAA,QAAA;AAAA,MAEpB;AAEA,UAAI,MAAM,QAAQ,QAAQ,IAAI,YAAY,CAAC,GAAG;AAC5C,cAAM,OAAO;AAAA,MAAA;AAGf,YAAM,iBAAiB;AAAA,QACrB;AAAA,QACA;AAAA,MACF;AACO,aAAA,IAAI,SAAS,gBAAuB;AAAA,QACzC,QAAQ,OAAO,MAAM;AAAA,QACrB,SAAS;AAAA,MAAA,CACV;AAAA,IAAA;AAGC,QAAA,OAAO,eAAe,2BAA2B,YAAY;AACzD,YAAA,sBAAsB,IAAI,YAAY;AAExC,UAAA;AACF,cAAM,WAAW,eAAe;AAAA,UAC9B,oBAAC,eAAY,QAAgB;AAAA,UAC7B;AAAA,YACE,GAAI,MAAM,QAAQ,QAAQ,IAAI,YAAY,CAAC,IACvC;AAAA,cACE,aAAa;AACX,yBAAS,KAAK,mBAAmB;AAAA,cAAA;AAAA,YACnC,IAEF;AAAA,cACE,eAAe;AACb,yBAAS,KAAK,mBAAmB;AAAA,cAAA;AAAA,YAErC;AAAA,YACJ,SAAS,CAAC,OAAO,SAAS;AAChB,sBAAA,MAAM,oCAAoC,OAAO,IAAI;AAAA,YAAA;AAAA,UAC/D;AAAA,QAEJ;AAAA,eACO,GAAG;AACF,gBAAA,MAAM,oCAAoC,CAAC;AAAA,MAAA;AAGrD,YAAM,iBAAiB;AAAA,QACrB;AAAA,QACA;AAAA,MACF;AACO,aAAA,IAAI,SAAS,gBAAuB;AAAA,QACzC,QAAQ,OAAO,MAAM;AAAA,QACrB,SAAS;AAAA,MAAA,CACV;AAAA,IAAA;AAGH,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EAAA;AAEJ;"} | ||
| {"version":3,"file":"defaultStreamHandler.js","sources":["../../src/defaultStreamHandler.tsx"],"sourcesContent":["import { PassThrough } from 'node:stream'\nimport { isbot } from 'isbot'\nimport ReactDOMServer from 'react-dom/server'\n\nimport {\n defineHandlerCallback,\n transformPipeableStreamWithRouter,\n transformReadableStreamWithRouter,\n} from '@tanstack/start-server-core'\nimport { StartServer } from './StartServer'\n\nimport type { ReadableStream } from 'node:stream/web'\n\nexport const defaultStreamHandler = defineHandlerCallback(\n async ({ request, router, responseHeaders }) => {\n if (typeof ReactDOMServer.renderToReadableStream === 'function') {\n const stream = await ReactDOMServer.renderToReadableStream(\n <StartServer router={router} />,\n {\n signal: request.signal,\n },\n )\n\n if (isbot(request.headers.get('User-Agent'))) {\n await stream.allReady\n }\n\n const responseStream = transformReadableStreamWithRouter(\n router,\n stream as unknown as ReadableStream,\n )\n return new Response(responseStream as any, {\n status: router.state.statusCode,\n headers: responseHeaders,\n })\n }\n\n if (typeof ReactDOMServer.renderToPipeableStream === 'function') {\n const reactAppPassthrough = new PassThrough()\n\n try {\n const pipeable = ReactDOMServer.renderToPipeableStream(\n <StartServer router={router} />,\n {\n ...(isbot(request.headers.get('User-Agent'))\n ? {\n onAllReady() {\n pipeable.pipe(reactAppPassthrough)\n },\n }\n : {\n onShellReady() {\n pipeable.pipe(reactAppPassthrough)\n },\n }),\n onError: (error, info) => {\n if (\n error instanceof Error &&\n error.message === 'ShellBoundaryError'\n )\n return\n console.error('Error in renderToPipeableStream:', error, info)\n },\n },\n )\n } catch (e) {\n console.error('Error in renderToPipeableStream:', e)\n }\n\n const responseStream = transformPipeableStreamWithRouter(\n router,\n reactAppPassthrough,\n )\n return new Response(responseStream as any, {\n status: router.state.statusCode,\n headers: responseHeaders,\n })\n }\n\n throw new Error(\n 'No renderToReadableStream or renderToPipeableStream found in react-dom/server. Ensure you are using a version of react-dom that supports streaming.',\n )\n },\n)\n"],"names":[],"mappings":";;;;;;AAaO,MAAM,uBAAuB;AAAA,EAClC,OAAO,EAAE,SAAS,QAAQ,sBAAsB;AAC1C,QAAA,OAAO,eAAe,2BAA2B,YAAY;AACzD,YAAA,SAAS,MAAM,eAAe;AAAA,QAClC,oBAAC,eAAY,QAAgB;AAAA,QAC7B;AAAA,UACE,QAAQ,QAAQ;AAAA,QAAA;AAAA,MAEpB;AAEA,UAAI,MAAM,QAAQ,QAAQ,IAAI,YAAY,CAAC,GAAG;AAC5C,cAAM,OAAO;AAAA,MAAA;AAGf,YAAM,iBAAiB;AAAA,QACrB;AAAA,QACA;AAAA,MACF;AACO,aAAA,IAAI,SAAS,gBAAuB;AAAA,QACzC,QAAQ,OAAO,MAAM;AAAA,QACrB,SAAS;AAAA,MAAA,CACV;AAAA,IAAA;AAGC,QAAA,OAAO,eAAe,2BAA2B,YAAY;AACzD,YAAA,sBAAsB,IAAI,YAAY;AAExC,UAAA;AACF,cAAM,WAAW,eAAe;AAAA,UAC9B,oBAAC,eAAY,QAAgB;AAAA,UAC7B;AAAA,YACE,GAAI,MAAM,QAAQ,QAAQ,IAAI,YAAY,CAAC,IACvC;AAAA,cACE,aAAa;AACX,yBAAS,KAAK,mBAAmB;AAAA,cAAA;AAAA,YACnC,IAEF;AAAA,cACE,eAAe;AACb,yBAAS,KAAK,mBAAmB;AAAA,cAAA;AAAA,YAErC;AAAA,YACJ,SAAS,CAAC,OAAO,SAAS;AAEtB,kBAAA,iBAAiB,SACjB,MAAM,YAAY;AAElB;AACM,sBAAA,MAAM,oCAAoC,OAAO,IAAI;AAAA,YAAA;AAAA,UAC/D;AAAA,QAEJ;AAAA,eACO,GAAG;AACF,gBAAA,MAAM,oCAAoC,CAAC;AAAA,MAAA;AAGrD,YAAM,iBAAiB;AAAA,QACrB;AAAA,QACA;AAAA,MACF;AACO,aAAA,IAAI,SAAS,gBAAuB;AAAA,QACzC,QAAQ,OAAO,MAAM;AAAA,QACrB,SAAS;AAAA,MAAA,CACV;AAAA,IAAA;AAGH,UAAM,IAAI;AAAA,MACR;AAAA,IACF;AAAA,EAAA;AAEJ;"} |
+5
-5
| { | ||
| "name": "@tanstack/react-start-server", | ||
| "version": "1.120.4-alpha.14", | ||
| "version": "1.120.4-alpha.15", | ||
| "description": "Modern and scalable routing for React applications", | ||
@@ -56,7 +56,7 @@ "author": "Tanner Linsley", | ||
| "unctx": "^2.4.1", | ||
| "@tanstack/react-router": "^1.120.4-alpha.13", | ||
| "@tanstack/router-core": "^1.120.4-alpha.13", | ||
| "@tanstack/history": "^1.120.4-alpha.1", | ||
| "@tanstack/start-client-core": "^1.120.4-alpha.13", | ||
| "@tanstack/start-server-core": "^1.120.4-alpha.14" | ||
| "@tanstack/react-router": "^1.120.4-alpha.15", | ||
| "@tanstack/start-client-core": "^1.120.4-alpha.15", | ||
| "@tanstack/router-core": "^1.120.4-alpha.15", | ||
| "@tanstack/start-server-core": "^1.120.4-alpha.15" | ||
| }, | ||
@@ -63,0 +63,0 @@ "devDependencies": { |
@@ -57,2 +57,7 @@ import { PassThrough } from 'node:stream' | ||
| onError: (error, info) => { | ||
| if ( | ||
| error instanceof Error && | ||
| error.message === 'ShellBoundaryError' | ||
| ) | ||
| return | ||
| console.error('Error in renderToPipeableStream:', error, info) | ||
@@ -59,0 +64,0 @@ }, |
30167
2.62%363
2.54%