vike-react 0.5.7 → 0.5.8

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
@@ -1,2 +1 @@
1
- Docs: [vike.dev/vike-react](https://vike.dev/vike-react)
2
- Source code: [GitHub > vikejs/vike-react](https://github.com/vikejs/vike-react)
1
+ See [Vike Docs > vike-react](https://vike.dev/vike-react).
package/dist/+config.d.ts CHANGED
@@ -102,6 +102,12 @@ declare const config: {
102
102
  server: true;
103
103
  };
104
104
  };
105
+ onBeforeRenderHtml: {
106
+ env: {
107
+ server: true;
108
+ };
109
+ cumulative: true;
110
+ };
105
111
  onAfterRenderHtml: {
106
112
  env: {
107
113
  server: true;
package/dist/+config.js CHANGED
@@ -78,6 +78,10 @@ const config = {
78
78
  streamIsRequired: {
79
79
  env: { server: true },
80
80
  },
81
+ onBeforeRenderHtml: {
82
+ env: { server: true },
83
+ cumulative: true,
84
+ },
81
85
  onAfterRenderHtml: {
82
86
  env: { server: true },
83
87
  cumulative: true,
@@ -32,27 +32,26 @@ const onRenderHtml = async (pageContext) => {
32
32
  </html>`;
33
33
  };
34
34
  async function getPageHtml(pageContext) {
35
- let pageHtml;
36
- if (!pageContext.Page) {
37
- pageHtml = '';
38
- }
39
- else {
40
- const { page } = getPageElement(pageContext);
35
+ if (pageContext.Page)
36
+ pageContext.page = getPageElement(pageContext).page;
37
+ // https://github.com/vikejs/vike-react/issues/87#issuecomment-2488742744
38
+ await callCumulativeHooks(pageContext.config.onBeforeRenderHtml, pageContext);
39
+ let pageHtml = '';
40
+ if (pageContext.page) {
41
41
  const { stream, streamIsRequired } = pageContext.config;
42
42
  if (!stream && !streamIsRequired) {
43
- const pageHtmlString = renderToString(page);
43
+ const pageHtmlString = renderToString(pageContext.page);
44
44
  pageContext.pageHtmlString = pageHtmlString;
45
45
  pageHtml = dangerouslySkipEscape(pageHtmlString);
46
46
  }
47
47
  else {
48
- const disable = stream === false ? true : undefined;
49
- const pageHtmlStream = await renderToStream(page, {
48
+ const pageHtmlStream = await renderToStream(pageContext.page, {
50
49
  webStream: typeof stream === 'string' ? stream === 'web' : undefined,
51
50
  userAgent: pageContext.headers?.['user-agent'] ||
52
51
  // TODO/eventually: remove old way of acccessing the User Agent header.
53
52
  // @ts-ignore
54
53
  pageContext.userAgent,
55
- disable,
54
+ disable: stream === false ? true : undefined,
56
55
  });
57
56
  pageContext.pageHtmlStream = pageHtmlStream;
58
57
  pageHtml = pageHtmlStream;
@@ -165,7 +165,13 @@ declare global {
165
165
  */
166
166
  reactStrictMode?: boolean;
167
167
  /**
168
- * Server-side hook called right after rendering the page's root React component to HTML.
168
+ * Hook called right before rendering the page's root React component to HTML.
169
+ *
170
+ * https://vike.dev/onBeforeRenderHtml
171
+ */
172
+ onBeforeRenderHtml?: (pageContext: PageContextServer) => void;
173
+ /**
174
+ * Hook called right after rendering the page's root React component to HTML.
169
175
  *
170
176
  * https://vike.dev/onAfterRenderHtml
171
177
  */
@@ -197,6 +203,7 @@ declare global {
197
203
  bodyHtmlEnd?: BodyHtmlBoundary[];
198
204
  bodyAttributes?: TagAttributes[];
199
205
  htmlAttributes?: TagAttributes[];
206
+ onBeforeRenderHtml?: Function[];
200
207
  onAfterRenderHtml?: Function[];
201
208
  onBeforeRenderClient?: Function[];
202
209
  onAfterRenderClient?: Function[];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vike-react",
3
- "version": "0.5.7",
3
+ "version": "0.5.8",
4
4
  "repository": "https://github.com/vikejs/vike-react",
5
5
  "type": "module",
6
6
  "exports": {
@@ -44,7 +44,7 @@
44
44
  },
45
45
  "devDependencies": {
46
46
  "@biomejs/biome": "^1.6.4",
47
- "@brillout/release-me": "^0.3.8",
47
+ "@brillout/release-me": "^0.4.2",
48
48
  "@types/node": "^20.11.17",
49
49
  "@types/react": "^18.2.55",
50
50
  "@types/react-dom": "^18.2.19",
@@ -53,7 +53,7 @@
53
53
  "react-streaming": "^0.3.43",
54
54
  "rimraf": "^5.0.5",
55
55
  "typescript": "^5.5.4",
56
- "vike": "^0.4.191",
56
+ "vike": "^0.4.203",
57
57
  "vite": "^5.4.0"
58
58
  },
59
59
  "typesVersions": {