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 +3 -4
- package/dist/renderer/+config.d.ts +25 -9
- package/dist/renderer/+config.js +10 -10
- package/dist/renderer/PageContextProvider.d.ts +3 -36
- package/dist/renderer/getPageElement.d.ts +1 -1
- package/dist/renderer/getTitle.d.ts +1 -1
- package/dist/renderer/onRenderClient.d.ts +1 -1
- package/dist/renderer/onRenderHtml.d.ts +2 -2
- package/dist/renderer/onRenderHtml.js +14 -1
- package/package.json +10 -11
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://
|
3
|
+
[<img src="https://vike.dev/vike-readme.svg" align="right" height="90">](https://vike.dev)
|
4
4
|
[](https://www.npmjs.com/package/vike-react)
|
5
5
|
|
6
6
|
# `vike-react`
|
7
7
|
|
8
|
-
React integration for [Vike](https://
|
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://
|
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 '
|
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:
|
10
|
+
env: {
|
11
|
+
server: true;
|
12
|
+
};
|
11
13
|
};
|
12
14
|
Layout: {
|
13
|
-
env:
|
15
|
+
env: {
|
16
|
+
server: true;
|
17
|
+
client: true;
|
18
|
+
};
|
14
19
|
};
|
15
20
|
title: {
|
16
|
-
env:
|
21
|
+
env: {
|
22
|
+
server: true;
|
23
|
+
client: true;
|
24
|
+
};
|
17
25
|
};
|
18
26
|
description: {
|
19
|
-
env:
|
27
|
+
env: {
|
28
|
+
server: true;
|
29
|
+
};
|
20
30
|
};
|
21
31
|
favicon: {
|
22
|
-
env:
|
32
|
+
env: {
|
33
|
+
server: true;
|
34
|
+
};
|
23
35
|
};
|
24
36
|
lang: {
|
25
|
-
env:
|
37
|
+
env: {
|
38
|
+
server: true;
|
39
|
+
};
|
26
40
|
};
|
27
41
|
ssr: {
|
28
|
-
env:
|
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://
|
78
|
+
* See https://vike.dev/render-modes
|
63
79
|
*
|
64
80
|
* @default true
|
65
81
|
*
|
package/dist/renderer/+config.js
CHANGED
@@ -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://
|
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
|
-
?
|
16
|
-
:
|
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:
|
29
|
+
env: { server: true }
|
30
30
|
},
|
31
31
|
Layout: {
|
32
|
-
env:
|
32
|
+
env: { server: true, client: true }
|
33
33
|
},
|
34
34
|
title: {
|
35
|
-
env:
|
35
|
+
env: { server: true, client: true }
|
36
36
|
},
|
37
37
|
description: {
|
38
|
-
env:
|
38
|
+
env: { server: true }
|
39
39
|
},
|
40
40
|
favicon: {
|
41
|
-
env:
|
41
|
+
env: { server: true }
|
42
42
|
},
|
43
43
|
lang: {
|
44
|
-
env:
|
44
|
+
env: { server: true }
|
45
45
|
},
|
46
46
|
ssr: {
|
47
|
-
env:
|
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 '
|
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():
|
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,5 +1,5 @@
|
|
1
1
|
export default onRenderHtml;
|
2
|
-
import type { PageContext } from '
|
2
|
+
import type { PageContext } from 'vike/types';
|
3
3
|
declare function onRenderHtml(pageContext: PageContext): Promise<{
|
4
|
-
documentHtml: import("
|
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 '
|
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
|
+
"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
|
-
"
|
24
|
-
"vite
|
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.
|
29
|
-
"@types/react": "^18.
|
30
|
-
"@types/react-dom": "^18.
|
31
|
-
"react": "^18.
|
32
|
-
"react-dom": "^18.
|
33
|
-
"typescript": "^5.
|
34
|
-
"
|
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
|
"*": {
|