vike-react 0.3.0 → 0.3.1

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,12 +1,11 @@
1
1
  <!-- WARNING: keep links absolute in this file so they work on NPM too -->
2
2
 
3
- [<img src="https://avatars.githubusercontent.com/u/86403530?s=200&v=4" align="right" width="64" height="64">](https://vike.dev)
3
+ [<img src="https://vike.dev/vike-readme.svg" align="right" height="90">](https://vike.dev)
4
4
  [![npm version](https://img.shields.io/npm/v/vike-react)](https://www.npmjs.com/package/vike-react)
5
5
 
6
6
  # `vike-react`
7
7
 
8
- React integration for [Vike](https://github.com/vikejs/vike/issues/736) (using the
9
- [V1 design](https://vike.dev/migration/v1-design)).
8
+ React integration for [Vike](https://vike.dev) (using the [V1 design](https://vike.dev/migration/v1-design)).
10
9
 
11
10
  > For integrations with Vue and Solid, see the other [`vike-*` packages](https://vike.dev/vike-packages).
12
11
 
@@ -7,25 +7,41 @@ declare const _default: {
7
7
  hydrationCanBeAborted: true;
8
8
  meta: {
9
9
  Head: {
10
- env: "server-only";
10
+ env: {
11
+ server: true;
12
+ };
11
13
  };
12
14
  Layout: {
13
- env: "server-and-client";
15
+ env: {
16
+ server: true;
17
+ client: true;
18
+ };
14
19
  };
15
20
  title: {
16
- env: "server-and-client";
21
+ env: {
22
+ server: true;
23
+ client: true;
24
+ };
17
25
  };
18
26
  description: {
19
- env: "server-only";
27
+ env: {
28
+ server: true;
29
+ };
20
30
  };
21
31
  favicon: {
22
- env: "server-only";
32
+ env: {
33
+ server: true;
34
+ };
23
35
  };
24
36
  lang: {
25
- env: "server-only";
37
+ env: {
38
+ server: true;
39
+ };
26
40
  };
27
41
  ssr: {
28
- env: "config-only";
42
+ env: {
43
+ config: true;
44
+ };
29
45
  effect: ConfigEffect;
30
46
  };
31
47
  };
@@ -12,8 +12,8 @@ const toggleSsrRelatedConfig = ({ configDefinedAt, configValue }) => {
12
12
  // accessible only in the client's renderer.
13
13
  Page: {
14
14
  env: configValue
15
- ? 'server-and-client' // default
16
- : 'client-only'
15
+ ? { server: true, client: true } // default
16
+ : { client: true }
17
17
  }
18
18
  }
19
19
  };
@@ -26,25 +26,25 @@ export default {
26
26
  hydrationCanBeAborted: true,
27
27
  meta: {
28
28
  Head: {
29
- env: 'server-only'
29
+ env: { server: true }
30
30
  },
31
31
  Layout: {
32
- env: 'server-and-client'
32
+ env: { server: true, client: true }
33
33
  },
34
34
  title: {
35
- env: 'server-and-client'
35
+ env: { server: true, client: true }
36
36
  },
37
37
  description: {
38
- env: 'server-only'
38
+ env: { server: true }
39
39
  },
40
40
  favicon: {
41
- env: 'server-only'
41
+ env: { server: true }
42
42
  },
43
43
  lang: {
44
- env: 'server-only'
44
+ env: { server: true }
45
45
  },
46
46
  ssr: {
47
- env: 'config-only',
47
+ env: { config: true },
48
48
  effect: toggleSsrRelatedConfig
49
49
  }
50
50
  }
@@ -7,37 +7,4 @@ declare function PageContextProvider({ pageContext, children }: {
7
7
  children: React.ReactNode;
8
8
  }): React.JSX.Element;
9
9
  /** Access the pageContext from any React component */
10
- declare function usePageContext(): (Partial<{
11
- Page: unknown;
12
- routeParams: Record<string, string>;
13
- config: import("vike/dist/esm/shared/page-configs/Config/PageContextConfig.js").PageContextConfig;
14
- configEntries: import("vike/dist/esm/shared/getPageFiles/getExports.js").ConfigEntries;
15
- exports: Record<string, unknown>;
16
- exportsAll: import("vike/dist/esm/shared/getPageFiles/getExports.js").ExportsAll;
17
- urlOriginal: string;
18
- is404: boolean | null;
19
- isClientSideNavigation: boolean;
20
- abortReason?: unknown;
21
- abortStatusCode?: undefined;
22
- errorWhileRendering?: unknown;
23
- url: string;
24
- pageExports: Record<string, unknown>;
25
- }> & Pick<{
26
- Page: unknown;
27
- routeParams: Record<string, string>;
28
- config: import("vike/dist/esm/shared/page-configs/Config/PageContextConfig.js").PageContextConfig;
29
- configEntries: import("vike/dist/esm/shared/getPageFiles/getExports.js").ConfigEntries;
30
- exports: Record<string, unknown>;
31
- exportsAll: import("vike/dist/esm/shared/getPageFiles/getExports.js").ExportsAll;
32
- urlOriginal: string;
33
- is404: boolean | null;
34
- isClientSideNavigation: boolean;
35
- abortReason?: unknown;
36
- abortStatusCode?: undefined;
37
- errorWhileRendering?: unknown;
38
- url: string;
39
- pageExports: Record<string, unknown>;
40
- }, "Page" | "pageExports" | "config" | "configEntries" | "exports" | "exportsAll" | "abortReason"> & {
41
- isHydration: boolean;
42
- isBackwardNavigation: boolean | null;
43
- } & import("vike/dist/esm/shared/addUrlComputedProps.js").PageContextUrlComputedPropsClient & Vike.PageContext) | import("vike/dist/esm/shared/types.js").PageContextServer;
10
+ declare function usePageContext(): PageContext;
@@ -1,10 +1,11 @@
1
1
  export default onRenderHtml;
2
2
  import { renderToString } from 'react-dom/server';
3
- import { escapeInject, dangerouslySkipEscape } from 'vike/server';
3
+ import { escapeInject, dangerouslySkipEscape, version } from 'vike/server';
4
4
  import { getTitle } from './getTitle.js';
5
5
  import { getPageElement } from './getPageElement.js';
6
6
  import { PageContextProvider } from './PageContextProvider.js';
7
7
  import React from 'react';
8
+ checkVikeVersion();
8
9
  async function onRenderHtml(pageContext) {
9
10
  let pageHtml = '';
10
11
  if (!!pageContext.Page) {
@@ -40,3 +41,15 @@ async function onRenderHtml(pageContext) {
40
41
  documentHtml
41
42
  };
42
43
  }
44
+ function checkVikeVersion() {
45
+ if (version) {
46
+ const versionParts = version.split('.').map((s) => parseInt(s, 10));
47
+ if (versionParts[0] > 0)
48
+ return;
49
+ if (versionParts[1] > 4)
50
+ return;
51
+ if (versionParts[2] >= 147)
52
+ return;
53
+ }
54
+ throw new Error('Update Vike to its latest version (or vike@0.4.147 and any version above)');
55
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vike-react",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "type": "module",
5
5
  "main": "./dist/renderer/+config.js",
6
6
  "types": "./dist/renderer/+config.d.ts",
@@ -19,7 +19,7 @@
19
19
  "peerDependencies": {
20
20
  "react": "18.x.x",
21
21
  "react-dom": "18.x.x",
22
- "vike": "^0.4.142",
22
+ "vike": "^0.4.147",
23
23
  "vite": "^4.3.8"
24
24
  },
25
25
  "devDependencies": {
@@ -30,7 +30,7 @@
30
30
  "react": "^18.2.0",
31
31
  "react-dom": "^18.2.0",
32
32
  "typescript": "^5.2.2",
33
- "vike": "^0.4.142"
33
+ "vike": "^0.4.147"
34
34
  },
35
35
  "typesVersions": {
36
36
  "*": {