vike-lite-react 1.0.4 → 1.0.6
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/{PageContextProvider-Dec19bRR.mjs → PageContextProvider-C21BRCMp.mjs} +5 -3
- package/dist/__internal/client/onRenderClient.d.mts +1 -0
- package/dist/__internal/client/onRenderClient.mjs +17 -14
- package/dist/__internal/server/onRenderHtml.d.mts +2 -1
- package/dist/__internal/server/onRenderHtml.mjs +11 -9
- package/dist/vite.mjs +2 -6
- package/package.json +3 -3
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import { t as PageContextReactContext } from "./globalContext-BIY5-Fdk.mjs";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
3
|
//#region src/hooks/PageContextProvider.tsx
|
|
3
4
|
function PageContextProvider({ value, children }) {
|
|
4
|
-
return
|
|
5
|
-
|
|
6
|
-
|
|
5
|
+
return /* @__PURE__ */ jsx(PageContextReactContext.Provider, {
|
|
6
|
+
value,
|
|
7
|
+
children
|
|
8
|
+
});
|
|
7
9
|
}
|
|
8
10
|
//#endregion
|
|
9
11
|
export { PageContextProvider as t };
|
|
@@ -3,6 +3,7 @@ import { VikeState } from "vike-lite/__internal/server";
|
|
|
3
3
|
declare function onRenderClient(clientOptions: {
|
|
4
4
|
routes: VikeState['routes'];
|
|
5
5
|
errorRoute: VikeState['errorRoute'];
|
|
6
|
+
hydration: boolean;
|
|
6
7
|
}): Promise<void>;
|
|
7
8
|
//#endregion
|
|
8
9
|
export { onRenderClient as default };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as PageContextProvider } from "../../PageContextProvider-
|
|
1
|
+
import { t as PageContextProvider } from "../../PageContextProvider-C21BRCMp.mjs";
|
|
2
2
|
import { Component, useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
3
3
|
import { createRoot, hydrateRoot } from "react-dom/client";
|
|
4
4
|
import { matchRoute } from "vike-lite/__internal/shared";
|
|
5
|
-
import {
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
6
|
//#region src/__internal/shared/stripBase.ts
|
|
7
7
|
function stripBase(pathname) {
|
|
8
8
|
const { BASE_URL } = import.meta.env;
|
|
@@ -18,7 +18,7 @@ var RootErrorBoundary = class extends Component {
|
|
|
18
18
|
}
|
|
19
19
|
state = { error: null };
|
|
20
20
|
render() {
|
|
21
|
-
if (this.state.error) return
|
|
21
|
+
if (this.state.error) return /* @__PURE__ */ jsxs("div", { children: ["Error: ", this.state.error.message] });
|
|
22
22
|
return this.props.children;
|
|
23
23
|
}
|
|
24
24
|
};
|
|
@@ -249,20 +249,18 @@ function RouterApp(props) {
|
|
|
249
249
|
reloadTick
|
|
250
250
|
]);
|
|
251
251
|
const { Page, Layout } = view;
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
</PageContextProvider>
|
|
260
|
-
</RootErrorBoundary>;
|
|
252
|
+
return /* @__PURE__ */ jsx(RootErrorBoundary, { children: /* @__PURE__ */ jsx(PageContextProvider, {
|
|
253
|
+
value: useMemo(() => ({
|
|
254
|
+
pageContext,
|
|
255
|
+
setPageContext
|
|
256
|
+
}), [pageContext, setPageContext]),
|
|
257
|
+
children: Layout ? /* @__PURE__ */ jsx(Layout, { children: /* @__PURE__ */ jsx(Page, {}) }) : /* @__PURE__ */ jsx(Page, {})
|
|
258
|
+
}) });
|
|
261
259
|
}
|
|
262
260
|
async function onRenderClient(clientOptions) {
|
|
263
261
|
const container = document.querySelector("#root");
|
|
264
262
|
const rawContext = globalThis.__PAGE_CONTEXT__ ?? {};
|
|
265
|
-
const isHydration = hydration && !!globalThis.__PAGE_CONTEXT__;
|
|
263
|
+
const isHydration = clientOptions.hydration && !!globalThis.__PAGE_CONTEXT__;
|
|
266
264
|
const initialContext = {
|
|
267
265
|
...rawContext,
|
|
268
266
|
isClientSide: true,
|
|
@@ -288,7 +286,12 @@ async function onRenderClient(clientOptions) {
|
|
|
288
286
|
};
|
|
289
287
|
}
|
|
290
288
|
}
|
|
291
|
-
const app =
|
|
289
|
+
const app = /* @__PURE__ */ jsx(RouterApp, {
|
|
290
|
+
...clientOptions,
|
|
291
|
+
initialView,
|
|
292
|
+
initialContext,
|
|
293
|
+
initialUrl: globalThis.location.href
|
|
294
|
+
});
|
|
292
295
|
if (isHydration) hydrateRoot(container, app);
|
|
293
296
|
else {
|
|
294
297
|
container.replaceChildren();
|
|
@@ -7,7 +7,8 @@ interface ReactRenderContext extends RenderContext {
|
|
|
7
7
|
Layout?: ComponentType<{
|
|
8
8
|
children: ReactNode;
|
|
9
9
|
}>;
|
|
10
|
+
hydration: boolean;
|
|
10
11
|
}
|
|
11
|
-
declare function onRenderHtml({ pageContext, Page, Head, Layout, pageTitleTag, serializedContext, assets }: ReactRenderContext): string;
|
|
12
|
+
declare function onRenderHtml({ pageContext, Page, Head, Layout, pageTitleTag, serializedContext, assets, hydration }: ReactRenderContext): string;
|
|
12
13
|
//#endregion
|
|
13
14
|
export { ReactRenderContext, onRenderHtml };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as PageContextProvider } from "../../PageContextProvider-
|
|
2
|
-
import {
|
|
1
|
+
import { t as PageContextProvider } from "../../PageContextProvider-C21BRCMp.mjs";
|
|
2
|
+
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import { renderToString } from "react-dom/server";
|
|
4
4
|
//#region src/__internal/server/onRenderHtml.tsx
|
|
5
|
-
function onRenderHtml({ pageContext, Page, Head, Layout, pageTitleTag, serializedContext, assets }) {
|
|
5
|
+
function onRenderHtml({ pageContext, Page, Head, Layout, pageTitleTag, serializedContext, assets, hydration }) {
|
|
6
6
|
const { cssLinks, jsPreloads, entryClient } = assets;
|
|
7
7
|
const providerValue = {
|
|
8
8
|
pageContext,
|
|
@@ -16,15 +16,17 @@ function onRenderHtml({ pageContext, Page, Head, Layout, pageTitleTag, serialize
|
|
|
16
16
|
${pageTitleTag}
|
|
17
17
|
${cssLinks}
|
|
18
18
|
${jsPreloads}
|
|
19
|
-
${Head ? renderToString(
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
${Head ? renderToString(/* @__PURE__ */ jsx(PageContextProvider, {
|
|
20
|
+
value: providerValue,
|
|
21
|
+
children: /* @__PURE__ */ jsx(Head, {})
|
|
22
|
+
})) : ""}
|
|
22
23
|
<script>window.__PAGE_CONTEXT__=${serializedContext}<\/script>
|
|
23
24
|
</head>
|
|
24
25
|
<body>
|
|
25
|
-
<div id="root" tabindex="-1">${hydration ? renderToString(
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
<div id="root" tabindex="-1">${hydration ? renderToString(/* @__PURE__ */ jsx(PageContextProvider, {
|
|
27
|
+
value: providerValue,
|
|
28
|
+
children: Layout ? /* @__PURE__ */ jsx(Layout, { children: /* @__PURE__ */ jsx(Page, {}) }) : /* @__PURE__ */ jsx(Page, {})
|
|
29
|
+
})) : ""}</div>
|
|
28
30
|
<script type="module" src="${entryClient}"><\/script>
|
|
29
31
|
</body>
|
|
30
32
|
</html>`;
|
package/dist/vite.mjs
CHANGED
|
@@ -1,24 +1,20 @@
|
|
|
1
1
|
import react from "@vitejs/plugin-react";
|
|
2
2
|
//#region src/vite.ts
|
|
3
3
|
function vikeLiteReact({ hydration = true, react: reactOptions } = {}) {
|
|
4
|
-
const virtualConfigId = "virtual:vike-lite/config";
|
|
5
4
|
const virtualClientId = "virtual:vike-lite/client";
|
|
6
5
|
const virtualServerId = "virtual:vike-lite/server";
|
|
7
|
-
const resolvedVirtualConfigId = "\0virtual:vike-lite/config";
|
|
8
6
|
const resolvedVirtualClientId = "\0virtual:vike-lite/client";
|
|
9
7
|
const resolvedVirtualServerId = "\0virtual:vike-lite/server";
|
|
10
8
|
const adapter = {
|
|
11
9
|
name: "vike-lite-react",
|
|
12
10
|
enforce: "pre",
|
|
13
11
|
resolveId(id) {
|
|
14
|
-
if (id === virtualConfigId) return resolvedVirtualConfigId;
|
|
15
12
|
if (id === virtualClientId) return resolvedVirtualClientId;
|
|
16
13
|
if (id === virtualServerId) return resolvedVirtualServerId;
|
|
17
14
|
},
|
|
18
15
|
load(id) {
|
|
19
|
-
if (id ===
|
|
20
|
-
if (id ===
|
|
21
|
-
if (id === resolvedVirtualServerId) return `export {onRenderHtml}from'vike-lite-react/__internal/server/onRenderHtml';`;
|
|
16
|
+
if (id === resolvedVirtualClientId) return "export const onRenderClient = async () => {NaNreturn (options) => mod.default({ ...options, hydration: ${hydration} });}";
|
|
17
|
+
if (id === resolvedVirtualServerId) return `import { onRenderHtml as _onRenderHtml } from 'vike-lite-react/__internal/server/onRenderHtml';export const onRenderHtml = (ctx) => _onRenderHtml({ ...ctx, hydration: ${hydration} });`;
|
|
22
18
|
}
|
|
23
19
|
};
|
|
24
20
|
return [...react(reactOptions), adapter];
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vike-lite-react",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.6",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -63,8 +63,8 @@
|
|
|
63
63
|
"react": "^19.2.7",
|
|
64
64
|
"react-dom": "^19.2.7",
|
|
65
65
|
"tsdown": "^0.22.8",
|
|
66
|
-
"vike-lite": "1.15.
|
|
67
|
-
"vite": "^8.1.
|
|
66
|
+
"vike-lite": "1.15.5",
|
|
67
|
+
"vite": "^8.1.5"
|
|
68
68
|
},
|
|
69
69
|
"peerDependencies": {
|
|
70
70
|
"@vitejs/plugin-react": ">=6",
|