vike-react 0.2.1 → 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,13 +1,12 @@
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://vite-plugin-ssr.com)
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/brillout/vite-plugin-ssr/issues/736) (using the
9
- [V1 design](https://vite-plugin-ssr.com/migration/v1-design)).
8
+ React integration for [Vike](https://vike.dev) (using the [V1 design](https://vike.dev/migration/v1-design)).
10
9
 
11
- > For integrations with Vue and Solid, see the other [`vike-*` packages](https://vite-plugin-ssr.com/vike-packages).
10
+ > For integrations with Vue and Solid, see the other [`vike-*` packages](https://vike.dev/vike-packages).
12
11
 
13
12
  See [examples/](https://github.com/vikejs/vike-react/tree/main/examples).
@@ -1,4 +1,4 @@
1
- import type { ConfigEffect } from 'vite-plugin-ssr/types';
1
+ import type { ConfigEffect } from 'vike/types';
2
2
  declare const _default: {
3
3
  onRenderHtml: "import:vike-react/renderer/onRenderHtml";
4
4
  onRenderClient: "import:vike-react/renderer/onRenderClient";
@@ -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
  };
@@ -59,7 +75,7 @@ declare global {
59
75
  * If false, render mode is SPA. In other words, the page will only be
60
76
  * rendered in the browser.
61
77
  *
62
- * See https://vite-plugin-ssr.com/render-modes
78
+ * See https://vike.dev/render-modes
63
79
  *
64
80
  * @default true
65
81
  *
@@ -1,6 +1,6 @@
1
1
  // Depending on the value of `config.meta.ssr`, set other config options' `env`
2
2
  // accordingly.
3
- // See https://vite-plugin-ssr.com/meta#modify-existing-configurations
3
+ // See https://vike.dev/meta#modify-existing-configurations
4
4
  const toggleSsrRelatedConfig = ({ configDefinedAt, configValue }) => {
5
5
  if (typeof configValue !== 'boolean') {
6
6
  throw new Error(`${configDefinedAt} should be a boolean`);
@@ -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
  }
@@ -1,43 +1,10 @@
1
1
  export { PageContextProvider };
2
2
  export { usePageContext };
3
3
  import React from 'react';
4
- import type { PageContext } from 'vite-plugin-ssr/types';
4
+ import type { PageContext } from 'vike/types';
5
5
  declare function PageContextProvider({ pageContext, children }: {
6
6
  pageContext: PageContext;
7
7
  children: React.ReactNode;
8
- }): JSX.Element;
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("vite-plugin-ssr/dist/esm/shared/page-configs/Config/PageContextConfig.js").PageContextConfig;
14
- configEntries: import("vite-plugin-ssr/dist/esm/shared/getPageFiles/getExports.js").ConfigEntries;
15
- exports: Record<string, unknown>;
16
- exportsAll: import("vite-plugin-ssr/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("vite-plugin-ssr/dist/esm/shared/page-configs/Config/PageContextConfig.js").PageContextConfig;
29
- configEntries: import("vite-plugin-ssr/dist/esm/shared/getPageFiles/getExports.js").ConfigEntries;
30
- exports: Record<string, unknown>;
31
- exportsAll: import("vite-plugin-ssr/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("vite-plugin-ssr/dist/esm/shared/addUrlComputedProps.js").PageContextUrlComputedPropsClient & Vike.PageContext) | import("vite-plugin-ssr/dist/esm/shared/types.js").PageContextServer;
10
+ declare function usePageContext(): PageContext;
@@ -1,3 +1,3 @@
1
1
  export { getPageElement };
2
- import type { PageContext } from 'vite-plugin-ssr/types';
2
+ import type { PageContext } from 'vike/types';
3
3
  declare function getPageElement(pageContext: PageContext): JSX.Element;
@@ -1,5 +1,5 @@
1
1
  export { getTitle };
2
- import type { ConfigEntries } from 'vite-plugin-ssr/types';
2
+ import type { ConfigEntries } from 'vike/types';
3
3
  declare function getTitle(pageContext: {
4
4
  title?: unknown;
5
5
  configEntries: ConfigEntries;
@@ -1,3 +1,3 @@
1
1
  export default onRenderClient;
2
- import type { PageContextClient } from 'vite-plugin-ssr/types';
2
+ import type { PageContextClient } from 'vike/types';
3
3
  declare function onRenderClient(pageContext: PageContextClient): Promise<void>;
@@ -1,5 +1,5 @@
1
1
  export default onRenderHtml;
2
- import type { PageContext } from 'vite-plugin-ssr/types';
2
+ import type { PageContext } from 'vike/types';
3
3
  declare function onRenderHtml(pageContext: PageContext): Promise<{
4
- documentHtml: import("vite-plugin-ssr/dist/esm/node/runtime/html/renderHtml.js").TemplateWrapped;
4
+ documentHtml: import("vike/dist/esm/node/runtime/html/renderHtml.js").TemplateWrapped;
5
5
  }>;
@@ -1,10 +1,11 @@
1
1
  export default onRenderHtml;
2
2
  import { renderToString } from 'react-dom/server';
3
- import { escapeInject, dangerouslySkipEscape } from 'vite-plugin-ssr/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.2.1",
3
+ "version": "0.3.1",
4
4
  "type": "module",
5
5
  "main": "./dist/renderer/+config.js",
6
6
  "types": "./dist/renderer/+config.d.ts",
@@ -10,7 +10,6 @@
10
10
  "./renderer/onRenderClient": "./dist/renderer/onRenderClient.js",
11
11
  "./usePageContext": "./dist/components/usePageContext.js"
12
12
  },
13
- "dependencies": {},
14
13
  "scripts": {
15
14
  "dev": "tsc --watch",
16
15
  "build": "rm -rf dist/ && tsc",
@@ -20,18 +19,18 @@
20
19
  "peerDependencies": {
21
20
  "react": "18.x.x",
22
21
  "react-dom": "18.x.x",
23
- "vite": "^4.3.8",
24
- "vite-plugin-ssr": "^0.4.142"
22
+ "vike": "^0.4.147",
23
+ "vite": "^4.3.8"
25
24
  },
26
25
  "devDependencies": {
27
26
  "@brillout/release-me": "^0.1.7",
28
- "@types/node": "^18.15.3",
29
- "@types/react": "^18.0.8",
30
- "@types/react-dom": "^18.0.3",
31
- "react": "^18.0.0",
32
- "react-dom": "^18.0.0",
33
- "typescript": "^5.0.2",
34
- "vite-plugin-ssr": "^0.4.142"
27
+ "@types/node": "^18.17.18",
28
+ "@types/react": "^18.2.22",
29
+ "@types/react-dom": "^18.2.7",
30
+ "react": "^18.2.0",
31
+ "react-dom": "^18.2.0",
32
+ "typescript": "^5.2.2",
33
+ "vike": "^0.4.147"
35
34
  },
36
35
  "typesVersions": {
37
36
  "*": {