@tanstack/react-start-client 1.166.10 → 1.166.11
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/dist/esm/StartClient.js +13 -17
- package/dist/esm/StartClient.js.map +1 -1
- package/dist/esm/hydrateStart.js +13 -9
- package/dist/esm/hydrateStart.js.map +1 -1
- package/dist/esm/index.js +2 -7
- package/dist/esm/renderRSC.js +20 -25
- package/dist/esm/renderRSC.js.map +1 -1
- package/package.json +4 -4
- package/dist/esm/index.js.map +0 -1
package/dist/esm/StartClient.js
CHANGED
|
@@ -1,20 +1,16 @@
|
|
|
1
|
-
import { jsx } from "react/jsx-runtime";
|
|
2
|
-
import { Await, RouterProvider } from "@tanstack/react-router";
|
|
3
1
|
import { hydrateStart } from "./hydrateStart.js";
|
|
4
|
-
|
|
2
|
+
import { Await, RouterProvider } from "@tanstack/react-router";
|
|
3
|
+
import { jsx } from "react/jsx-runtime";
|
|
4
|
+
//#region src/StartClient.tsx
|
|
5
|
+
var hydrationPromise;
|
|
5
6
|
function StartClient() {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
{
|
|
12
|
-
promise: hydrationPromise,
|
|
13
|
-
children: (router) => /* @__PURE__ */ jsx(RouterProvider, { router })
|
|
14
|
-
}
|
|
15
|
-
);
|
|
7
|
+
if (!hydrationPromise) hydrationPromise = hydrateStart();
|
|
8
|
+
return /* @__PURE__ */ jsx(Await, {
|
|
9
|
+
promise: hydrationPromise,
|
|
10
|
+
children: (router) => /* @__PURE__ */ jsx(RouterProvider, { router })
|
|
11
|
+
});
|
|
16
12
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
//# sourceMappingURL=StartClient.js.map
|
|
13
|
+
//#endregion
|
|
14
|
+
export { StartClient };
|
|
15
|
+
|
|
16
|
+
//# sourceMappingURL=StartClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StartClient.js","sources":["../../src/StartClient.tsx"],"sourcesContent":["import { Await, RouterProvider } from '@tanstack/react-router'\n\nimport { hydrateStart } from './hydrateStart'\n\nimport type { AnyRouter } from '@tanstack/router-core'\n\nlet hydrationPromise: Promise<AnyRouter> | undefined\nexport function StartClient() {\n if (!hydrationPromise) {\n hydrationPromise = hydrateStart()\n }\n\n return (\n <Await\n promise={hydrationPromise}\n children={(router) => <RouterProvider router={router} />}\n />\n )\n}\n"],"
|
|
1
|
+
{"version":3,"file":"StartClient.js","names":[],"sources":["../../src/StartClient.tsx"],"sourcesContent":["import { Await, RouterProvider } from '@tanstack/react-router'\n\nimport { hydrateStart } from './hydrateStart'\n\nimport type { AnyRouter } from '@tanstack/router-core'\n\nlet hydrationPromise: Promise<AnyRouter> | undefined\nexport function StartClient() {\n if (!hydrationPromise) {\n hydrationPromise = hydrateStart()\n }\n\n return (\n <Await\n promise={hydrationPromise}\n children={(router) => <RouterProvider router={router} />}\n />\n )\n}\n"],"mappings":";;;;AAMA,IAAI;AACJ,SAAgB,cAAc;AAC5B,KAAI,CAAC,iBACH,oBAAmB,cAAc;AAGnC,QACE,oBAAC,OAAD;EACE,SAAS;EACT,WAAW,WAAW,oBAAC,gBAAD,EAAwB,QAAU,CAAA;EACxD,CAAA"}
|
package/dist/esm/hydrateStart.js
CHANGED
|
@@ -1,10 +1,14 @@
|
|
|
1
|
-
import { hydrateStart
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { hydrateStart } from "@tanstack/start-client-core/client";
|
|
2
|
+
//#region src/hydrateStart.ts
|
|
3
|
+
/**
|
|
4
|
+
* React-specific wrapper for hydrateStart that signals hydration completion
|
|
5
|
+
*/
|
|
6
|
+
async function hydrateStart$1() {
|
|
7
|
+
const router = await hydrateStart();
|
|
8
|
+
window.$_TSR?.h();
|
|
9
|
+
return router;
|
|
6
10
|
}
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
//# sourceMappingURL=hydrateStart.js.map
|
|
11
|
+
//#endregion
|
|
12
|
+
export { hydrateStart$1 as hydrateStart };
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=hydrateStart.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydrateStart.js","sources":["../../src/hydrateStart.ts"],"sourcesContent":["import { hydrateStart as coreHydrateStart } from '@tanstack/start-client-core/client'\nimport type { AnyRouter } from '@tanstack/router-core'\n\n/**\n * React-specific wrapper for hydrateStart that signals hydration completion\n */\nexport async function hydrateStart(): Promise<AnyRouter> {\n const router = await coreHydrateStart()\n // Signal that router hydration is complete so cleanup can happen if stream has ended\n window.$_TSR?.h()\n return router\n}\n"],"
|
|
1
|
+
{"version":3,"file":"hydrateStart.js","names":[],"sources":["../../src/hydrateStart.ts"],"sourcesContent":["import { hydrateStart as coreHydrateStart } from '@tanstack/start-client-core/client'\nimport type { AnyRouter } from '@tanstack/router-core'\n\n/**\n * React-specific wrapper for hydrateStart that signals hydration completion\n */\nexport async function hydrateStart(): Promise<AnyRouter> {\n const router = await coreHydrateStart()\n // Signal that router hydration is complete so cleanup can happen if stream has ended\n window.$_TSR?.h()\n return router\n}\n"],"mappings":";;;;;AAMA,eAAsB,iBAAmC;CACvD,MAAM,SAAS,MAAM,cAAkB;AAEvC,QAAO,OAAO,GAAG;AACjB,QAAO"}
|
package/dist/esm/index.js
CHANGED
|
@@ -1,9 +1,4 @@
|
|
|
1
|
+
import { hydrateStart } from "./hydrateStart.js";
|
|
1
2
|
import { StartClient } from "./StartClient.js";
|
|
2
3
|
import { renderRsc } from "./renderRSC.js";
|
|
3
|
-
|
|
4
|
-
export {
|
|
5
|
-
StartClient,
|
|
6
|
-
hydrateStart,
|
|
7
|
-
renderRsc
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=index.js.map
|
|
4
|
+
export { StartClient, hydrateStart, renderRsc };
|
package/dist/esm/renderRSC.js
CHANGED
|
@@ -1,29 +1,24 @@
|
|
|
1
1
|
import { isValidElement } from "react";
|
|
2
2
|
import invariant from "tiny-invariant";
|
|
3
|
+
//#region src/renderRSC.tsx
|
|
3
4
|
function renderRsc(input) {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
};
|
|
20
|
-
}
|
|
21
|
-
if (input.state.status === "pending") {
|
|
22
|
-
throw input.state.promise;
|
|
23
|
-
}
|
|
24
|
-
return input.state.value;
|
|
5
|
+
if (isValidElement(input)) return input;
|
|
6
|
+
if (typeof input === "object" && !input.state) input.state = {
|
|
7
|
+
status: "pending",
|
|
8
|
+
promise: Promise.resolve().then(() => {
|
|
9
|
+
invariant(false, "renderRSC() is coming soon!");
|
|
10
|
+
}).then((element) => {
|
|
11
|
+
input.state.value = element;
|
|
12
|
+
input.state.status = "success";
|
|
13
|
+
}).catch((err) => {
|
|
14
|
+
input.state.status = "error";
|
|
15
|
+
input.state.error = err;
|
|
16
|
+
})
|
|
17
|
+
};
|
|
18
|
+
if (input.state.status === "pending") throw input.state.promise;
|
|
19
|
+
return input.state.value;
|
|
25
20
|
}
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
//# sourceMappingURL=renderRSC.js.map
|
|
21
|
+
//#endregion
|
|
22
|
+
export { renderRsc };
|
|
23
|
+
|
|
24
|
+
//# sourceMappingURL=renderRSC.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderRSC.js","sources":["../../src/renderRSC.tsx"],"sourcesContent":["// TODO: RSCs\nimport { isValidElement } from 'react'\nimport invariant from 'tiny-invariant'\nimport type React from 'react'\n\nexport function renderRsc(input: any): React.JSX.Element {\n if (isValidElement(input)) {\n return input\n }\n\n if (typeof input === 'object' && !input.state) {\n input.state = {\n status: 'pending',\n promise: Promise.resolve()\n .then(() => {\n let element\n\n // We're in node\n // TODO: RSCs\n // if (reactDom.createFromNodeStream) {\n // const stream = await import('node:stream')\n\n // let body: any = input\n\n // // Unwrap the response\n // if (input instanceof Response) {\n // body = input.body\n // }\n\n // // Convert ReadableStream to NodeJS stream.Readable\n // if (body instanceof ReadableStream) {\n // body = stream.Readable.fromWeb(body as any)\n // }\n\n // if (stream.Readable.isReadable(body)) {\n // // body = copyStreamToRaw(body)\n // } else if (input.text) {\n // // create a readable stream by awaiting the text method\n // body = new stream.Readable({\n // async read() {\n // input.text().then((value: any) => {\n // this.push(value)\n // this.push(null)\n // })\n // },\n // })\n // } else {\n // console.error('input', input)\n // throw new Error('Unexpected rsc input type 👆')\n // }\n\n // element = await reactDom.createFromNodeStream(body)\n // } else {\n // // We're in the browser\n // if (input.body instanceof ReadableStream) {\n // input = input.body\n // }\n\n // if (input instanceof ReadableStream) {\n // element = await reactDom.createFromReadableStream(input)\n // }\n\n // if (input instanceof Response) {\n // // copy to the response body to cache the raw data\n // element = await reactDom.createFromFetch(input)\n // }\n // }\n\n // return element\n\n invariant(false, 'renderRSC() is coming soon!')\n })\n .then((element) => {\n input.state.value = element\n input.state.status = 'success'\n })\n .catch((err) => {\n input.state.status = 'error'\n input.state.error = err\n }),\n }\n }\n\n if (input.state.status === 'pending') {\n throw input.state.promise\n }\n\n return input.state.value\n}\n"],"
|
|
1
|
+
{"version":3,"file":"renderRSC.js","names":[],"sources":["../../src/renderRSC.tsx"],"sourcesContent":["// TODO: RSCs\nimport { isValidElement } from 'react'\nimport invariant from 'tiny-invariant'\nimport type React from 'react'\n\nexport function renderRsc(input: any): React.JSX.Element {\n if (isValidElement(input)) {\n return input\n }\n\n if (typeof input === 'object' && !input.state) {\n input.state = {\n status: 'pending',\n promise: Promise.resolve()\n .then(() => {\n let element\n\n // We're in node\n // TODO: RSCs\n // if (reactDom.createFromNodeStream) {\n // const stream = await import('node:stream')\n\n // let body: any = input\n\n // // Unwrap the response\n // if (input instanceof Response) {\n // body = input.body\n // }\n\n // // Convert ReadableStream to NodeJS stream.Readable\n // if (body instanceof ReadableStream) {\n // body = stream.Readable.fromWeb(body as any)\n // }\n\n // if (stream.Readable.isReadable(body)) {\n // // body = copyStreamToRaw(body)\n // } else if (input.text) {\n // // create a readable stream by awaiting the text method\n // body = new stream.Readable({\n // async read() {\n // input.text().then((value: any) => {\n // this.push(value)\n // this.push(null)\n // })\n // },\n // })\n // } else {\n // console.error('input', input)\n // throw new Error('Unexpected rsc input type 👆')\n // }\n\n // element = await reactDom.createFromNodeStream(body)\n // } else {\n // // We're in the browser\n // if (input.body instanceof ReadableStream) {\n // input = input.body\n // }\n\n // if (input instanceof ReadableStream) {\n // element = await reactDom.createFromReadableStream(input)\n // }\n\n // if (input instanceof Response) {\n // // copy to the response body to cache the raw data\n // element = await reactDom.createFromFetch(input)\n // }\n // }\n\n // return element\n\n invariant(false, 'renderRSC() is coming soon!')\n })\n .then((element) => {\n input.state.value = element\n input.state.status = 'success'\n })\n .catch((err) => {\n input.state.status = 'error'\n input.state.error = err\n }),\n }\n }\n\n if (input.state.status === 'pending') {\n throw input.state.promise\n }\n\n return input.state.value\n}\n"],"mappings":";;;AAKA,SAAgB,UAAU,OAA+B;AACvD,KAAI,eAAe,MAAM,CACvB,QAAO;AAGT,KAAI,OAAO,UAAU,YAAY,CAAC,MAAM,MACtC,OAAM,QAAQ;EACZ,QAAQ;EACR,SAAS,QAAQ,SAAS,CACvB,WAAW;AAwDV,aAAU,OAAO,8BAA8B;IAC/C,CACD,MAAM,YAAY;AACjB,SAAM,MAAM,QAAQ;AACpB,SAAM,MAAM,SAAS;IACrB,CACD,OAAO,QAAQ;AACd,SAAM,MAAM,SAAS;AACrB,SAAM,MAAM,QAAQ;IACpB;EACL;AAGH,KAAI,MAAM,MAAM,WAAW,UACzB,OAAM,MAAM,MAAM;AAGpB,QAAO,MAAM,MAAM"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tanstack/react-start-client",
|
|
3
|
-
"version": "1.166.
|
|
3
|
+
"version": "1.166.11",
|
|
4
4
|
"description": "Modern and scalable routing for React applications",
|
|
5
5
|
"author": "Tanner Linsley",
|
|
6
6
|
"license": "MIT",
|
|
@@ -45,9 +45,9 @@
|
|
|
45
45
|
"dependencies": {
|
|
46
46
|
"tiny-invariant": "^1.3.3",
|
|
47
47
|
"tiny-warning": "^1.0.3",
|
|
48
|
-
"@tanstack/react-router": "1.167.
|
|
49
|
-
"@tanstack/router-core": "1.167.
|
|
50
|
-
"@tanstack/start-client-core": "1.166.
|
|
48
|
+
"@tanstack/react-router": "1.167.2",
|
|
49
|
+
"@tanstack/router-core": "1.167.2",
|
|
50
|
+
"@tanstack/start-client-core": "1.166.10"
|
|
51
51
|
},
|
|
52
52
|
"devDependencies": {
|
|
53
53
|
"@testing-library/react": "^16.2.0",
|
package/dist/esm/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
|