vike-solid 0.2.7 → 0.2.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/dist/+config.js +2 -0
- package/dist/+onRenderClient.js +10 -2
- package/dist/+onRenderHtml.js +10 -2
- package/dist/{PageContextProvider-gFteWsFt.js → PageContextProvider-OTjP33FZ.js} +13 -1
- package/dist/components/useData.d.ts +2 -0
- package/dist/components/usePageContext.d.ts +2 -6
- package/dist/renderer/+config.d.ts +6 -2
- package/dist/useData-UNVtqljj.d.ts +13 -0
- package/dist/useData.js +3 -0
- package/dist/usePageContext.js +1 -1
- package/package.json +9 -5
package/dist/+config.js
CHANGED
|
@@ -28,6 +28,8 @@ const toggleSsrRelatedConfig = ({
|
|
|
28
28
|
var _config = {
|
|
29
29
|
onRenderHtml: "import:vike-solid/renderer/onRenderHtml:onRenderHtml",
|
|
30
30
|
onRenderClient: "import:vike-solid/renderer/onRenderClient:onRenderClient",
|
|
31
|
+
// TODO/next-major-release: remove pageProps (i.e. tell users to use data() instead of onBeforeRender() to fetch data)
|
|
32
|
+
// TODO/next-major-release: remove support for setting title over onBeforeRender()
|
|
31
33
|
// A page can define an onBeforeRender() hook to be run on the server, which
|
|
32
34
|
// can fetch data and return it as additional page context. Typically it will
|
|
33
35
|
// return the page's root Solid component's props and additional data that can
|
package/dist/+onRenderClient.js
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import { createComponent, Dynamic, mergeProps, memo, hydrate, render } from 'solid-js/web';
|
|
2
|
-
import { P as PageContextProvider, u as usePageContext } from './PageContextProvider-
|
|
2
|
+
import { P as PageContextProvider, u as usePageContext } from './PageContextProvider-OTjP33FZ.js';
|
|
3
3
|
import { createStore, reconcile } from 'solid-js/store';
|
|
4
4
|
import 'solid-js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Get the page's title if defined, either from the additional data fetched by
|
|
8
|
-
* the page's onBeforeRender() hook or from the config.
|
|
8
|
+
* the page's data() and onBeforeRender() hook or from the config.
|
|
9
9
|
*/
|
|
10
10
|
function getTitle(pageContext) {
|
|
11
|
+
// from data() hook
|
|
12
|
+
if (pageContext.data?.title !== undefined) {
|
|
13
|
+
return pageContext.data.title;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// TODO/next-major-release: remove support for setting title over onBeforeRender()
|
|
17
|
+
// from onBeforeRender() hook
|
|
11
18
|
if (pageContext.title !== undefined) {
|
|
12
19
|
return pageContext.title;
|
|
13
20
|
}
|
|
@@ -63,6 +70,7 @@ function Layout(props) {
|
|
|
63
70
|
}
|
|
64
71
|
function Page() {
|
|
65
72
|
const pageContext = usePageContext();
|
|
73
|
+
// TODO/next-major-release: remove pageProps (i.e. tell users to use data() instead of onBeforeRender() to fetch data)
|
|
66
74
|
return createComponent(Dynamic, mergeProps({
|
|
67
75
|
get component() {
|
|
68
76
|
return pageContext.Page;
|
package/dist/+onRenderHtml.js
CHANGED
|
@@ -1,13 +1,20 @@
|
|
|
1
1
|
import { createComponent, Dynamic, mergeProps, renderToString, renderToStream, generateHydrationScript } from 'solid-js/web';
|
|
2
2
|
import { version, escapeInject, dangerouslySkipEscape, stampPipe } from 'vike/server';
|
|
3
|
-
import { P as PageContextProvider, u as usePageContext } from './PageContextProvider-
|
|
3
|
+
import { P as PageContextProvider, u as usePageContext } from './PageContextProvider-OTjP33FZ.js';
|
|
4
4
|
import 'solid-js';
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Get the page's title if defined, either from the additional data fetched by
|
|
8
|
-
* the page's onBeforeRender() hook or from the config.
|
|
8
|
+
* the page's data() and onBeforeRender() hook or from the config.
|
|
9
9
|
*/
|
|
10
10
|
function getTitle(pageContext) {
|
|
11
|
+
// from data() hook
|
|
12
|
+
if (pageContext.data?.title !== undefined) {
|
|
13
|
+
return pageContext.data.title;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// TODO/next-major-release: remove support for setting title over onBeforeRender()
|
|
17
|
+
// from onBeforeRender() hook
|
|
11
18
|
if (pageContext.title !== undefined) {
|
|
12
19
|
return pageContext.title;
|
|
13
20
|
}
|
|
@@ -63,6 +70,7 @@ function Layout(props) {
|
|
|
63
70
|
}
|
|
64
71
|
function Page() {
|
|
65
72
|
const pageContext = usePageContext();
|
|
73
|
+
// TODO/next-major-release: remove pageProps (i.e. tell users to use data() instead of onBeforeRender() to fetch data)
|
|
66
74
|
return createComponent(Dynamic, mergeProps({
|
|
67
75
|
get component() {
|
|
68
76
|
return pageContext.Page;
|
|
@@ -32,5 +32,17 @@ function usePageContext() {
|
|
|
32
32
|
if (!pageContext) throw new Error("<PageContextProvider> is needed for being able to use usePageContext()");
|
|
33
33
|
return pageContext;
|
|
34
34
|
}
|
|
35
|
+
/** Access `pageContext.data` from any SolidJS component
|
|
36
|
+
*
|
|
37
|
+
* See
|
|
38
|
+
* - https://vike.dev/data
|
|
39
|
+
* - https://vike.dev/pageContext-anywhere
|
|
40
|
+
*/
|
|
41
|
+
function useData() {
|
|
42
|
+
const {
|
|
43
|
+
data
|
|
44
|
+
} = usePageContext();
|
|
45
|
+
return data;
|
|
46
|
+
}
|
|
35
47
|
|
|
36
|
-
export { PageContextProvider as P, usePageContext as u };
|
|
48
|
+
export { PageContextProvider as P, useData as a, usePageContext as u };
|
|
@@ -1,6 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
/** Access the pageContext from any SolidJS component */
|
|
4
|
-
declare function usePageContext(): PageContext;
|
|
5
|
-
|
|
6
|
-
export { usePageContext };
|
|
1
|
+
export { u as usePageContext } from '../useData-UNVtqljj.js';
|
|
2
|
+
import 'vike/types';
|
|
@@ -7,10 +7,14 @@ declare global {
|
|
|
7
7
|
namespace Vike {
|
|
8
8
|
interface PageContext {
|
|
9
9
|
Page?: Page;
|
|
10
|
-
/** Properties of the page's root Solid component. */
|
|
10
|
+
/** Properties of the page's root Solid component - e.g. set by onBeforeRender() hook */
|
|
11
11
|
pageProps?: Record<string, unknown>;
|
|
12
|
-
/** <title>${title}</title> - has precedence over the config */
|
|
12
|
+
/** <title>${title}</title> - set by onBeforeRender() hook, has precedence over the config */
|
|
13
13
|
title?: string;
|
|
14
|
+
data?: {
|
|
15
|
+
/** <title>${title}</title> - set by data() hook, has precedence over the onBeforeRender() hook */
|
|
16
|
+
title?: string;
|
|
17
|
+
};
|
|
14
18
|
}
|
|
15
19
|
}
|
|
16
20
|
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { PageContext } from 'vike/types';
|
|
2
|
+
|
|
3
|
+
/** Access the pageContext from any SolidJS component */
|
|
4
|
+
declare function usePageContext(): PageContext;
|
|
5
|
+
/** Access `pageContext.data` from any SolidJS component
|
|
6
|
+
*
|
|
7
|
+
* See
|
|
8
|
+
* - https://vike.dev/data
|
|
9
|
+
* - https://vike.dev/pageContext-anywhere
|
|
10
|
+
*/
|
|
11
|
+
declare function useData<Data>(): Data;
|
|
12
|
+
|
|
13
|
+
export { useData as a, usePageContext as u };
|
package/dist/useData.js
ADDED
package/dist/usePageContext.js
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vike-solid",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.8",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"vite-plugin-solid": "^2.8.0"
|
|
@@ -11,26 +11,27 @@
|
|
|
11
11
|
"vike": "^0.4.152"
|
|
12
12
|
},
|
|
13
13
|
"devDependencies": {
|
|
14
|
-
"@babel/core": "^7.23.
|
|
15
|
-
"@babel/preset-env": "^7.23.
|
|
14
|
+
"@babel/core": "^7.23.7",
|
|
15
|
+
"@babel/preset-env": "^7.23.7",
|
|
16
16
|
"@babel/preset-typescript": "^7.23.3",
|
|
17
17
|
"@rollup/plugin-babel": "^6.0.4",
|
|
18
18
|
"@rollup/plugin-node-resolve": "^15.2.3",
|
|
19
19
|
"@types/node": "^18.17.4",
|
|
20
20
|
"babel-preset-solid": "^1.8.6",
|
|
21
21
|
"bumpp": "^9.2.1",
|
|
22
|
-
"rollup": "^4.9.
|
|
22
|
+
"rollup": "^4.9.2",
|
|
23
23
|
"rollup-plugin-dts": "^6.1.0",
|
|
24
24
|
"solid-js": "^1.8.7",
|
|
25
25
|
"tslib": "^2.6.2",
|
|
26
26
|
"typescript": "^5.3.3",
|
|
27
27
|
"vite": "^5.0.10",
|
|
28
|
-
"vike": "^0.4.
|
|
28
|
+
"vike": "^0.4.153"
|
|
29
29
|
},
|
|
30
30
|
"exports": {
|
|
31
31
|
".": "./dist/+config.js",
|
|
32
32
|
"./vite": "./dist/vite-plugin-vike-solid.js",
|
|
33
33
|
"./usePageContext": "./dist/usePageContext.js",
|
|
34
|
+
"./useData": "./dist/useData.js",
|
|
34
35
|
"./ClientOnly": "./dist/ClientOnly.js",
|
|
35
36
|
"./renderer/onRenderHtml": "./dist/+onRenderHtml.js",
|
|
36
37
|
"./renderer/onRenderClient": "./dist/+onRenderClient.js"
|
|
@@ -49,6 +50,9 @@
|
|
|
49
50
|
"usePageContext": [
|
|
50
51
|
"dist/components/usePageContext.d.ts"
|
|
51
52
|
],
|
|
53
|
+
"useData": [
|
|
54
|
+
"dist/components/useData.d.ts"
|
|
55
|
+
],
|
|
52
56
|
"ClientOnly": [
|
|
53
57
|
"dist/components/ClientOnly.d.ts"
|
|
54
58
|
]
|