vike-react 0.3.3 → 0.3.4

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.
@@ -3,9 +3,6 @@ import React from 'react';
3
3
  import { PageContextProvider } from './PageContextProvider.js';
4
4
  function getPageElement(pageContext) {
5
5
  var _a;
6
- if (!pageContext.Page) {
7
- return React.createElement(React.Fragment, null);
8
- }
9
6
  const Layout = (_a = pageContext.config.Layout) !== null && _a !== void 0 ? _a : PassThrough;
10
7
  const Wrapper =
11
8
  /* Should we implement this? Enabling users to defined a wrapper that is used across all layouts.
@@ -1,7 +1,8 @@
1
1
  // https://vike.dev/onRenderHtml
2
2
  export { onRenderHtml };
3
+ import { renderToString } from 'react-dom/server';
3
4
  import { renderToStream } from 'react-streaming/server';
4
- import { escapeInject, version } from 'vike/server';
5
+ import { escapeInject, dangerouslySkipEscape, version } from 'vike/server';
5
6
  import { getTitle } from './getTitle.js';
6
7
  import { getPageElement } from './getPageElement.js';
7
8
  import { PageContextProvider } from './PageContextProvider.js';
@@ -19,8 +20,9 @@ const onRenderHtml = async (pageContext) => {
19
20
  const head = (React.createElement(React.StrictMode, null,
20
21
  React.createElement(PageContextProvider, { pageContext: pageContext },
21
22
  React.createElement(Head, null))));
22
- const page = getPageElement(pageContext);
23
- const stream = await renderToStream(React.createElement(React.Fragment, null,
23
+ const isSsrDisabled = !pageContext.Page;
24
+ const page = isSsrDisabled ? React.createElement(React.Fragment, null) : getPageElement(pageContext);
25
+ const htmlContent = (React.createElement(React.Fragment, null,
24
26
  React.createElement("head", null,
25
27
  React.createElement("meta", { charSet: "UTF-8" }),
26
28
  faviconTag,
@@ -28,10 +30,13 @@ const onRenderHtml = async (pageContext) => {
28
30
  descriptionTag,
29
31
  head),
30
32
  React.createElement("body", null,
31
- React.createElement("div", { id: "page-view" }, page))), { userAgent: pageContext.userAgent });
33
+ React.createElement("div", { id: "page-view" }, page))));
34
+ const streamOrString = isSsrDisabled
35
+ ? dangerouslySkipEscape(renderToString(htmlContent))
36
+ : await renderToStream(htmlContent, { userAgent: pageContext.userAgent });
32
37
  const documentHtml = escapeInject `<!DOCTYPE html>
33
38
  <html lang='${lang}'>
34
- ${stream}
39
+ ${streamOrString}
35
40
  <!-- built with https://github.com/vikejs/vike-react -->
36
41
  </html>`;
37
42
  return documentHtml;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vike-react",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "type": "module",
5
5
  "main": "./dist/renderer/+config.js",
6
6
  "types": "./dist/renderer/+config.d.ts",