vike 0.4.229-commit-845a4e0 → 0.4.229-commit-58f7ed0
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/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +0 -6
- package/dist/cjs/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +0 -7
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +1 -11
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +0 -15
- package/dist/esm/client/server-routing-runtime/createPageContextClientSide.d.ts +2 -2
- package/dist/esm/client/server-routing-runtime/createPageContextClientSide.js +4 -12
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +0 -6
- package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +0 -7
- package/dist/esm/shared/page-configs/Config.d.ts +1 -6
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/package.json +1 -1
|
@@ -58,12 +58,6 @@ const configDefinitionsBuiltIn = {
|
|
|
58
58
|
data: {
|
|
59
59
|
env: { server: true }
|
|
60
60
|
},
|
|
61
|
-
onData: {
|
|
62
|
-
env: { server: true, client: true }
|
|
63
|
-
/* TODO/now
|
|
64
|
-
cumulative: true
|
|
65
|
-
*/
|
|
66
|
-
},
|
|
67
61
|
iKnowThePerformanceRisksOfAsyncRouteFunctions: {
|
|
68
62
|
env: { server: true, client: 'if-client-routing' },
|
|
69
63
|
eager: true
|
|
@@ -22,13 +22,6 @@ async function executeOnBeforeRenderAndDataHooks(pageContext) {
|
|
|
22
22
|
data: hookResult
|
|
23
23
|
};
|
|
24
24
|
Object.assign(pageContext, pageContextFromHook);
|
|
25
|
-
// Execute +onData
|
|
26
|
-
if (!pageContext.isClientSideNavigation) {
|
|
27
|
-
const onDataHook = (0, getHook_js_1.getHookFromPageContext)(pageContext, 'onData');
|
|
28
|
-
if (onDataHook) {
|
|
29
|
-
await (0, executeHook_js_1.executeHook)(() => onDataHook.hookFn(pageContext), dataHook, pageContext);
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
25
|
}
|
|
33
26
|
if (onBeforeRenderHook) {
|
|
34
27
|
const hookResult = await (0, executeHook_js_1.executeHook)(() => onBeforeRenderHook.hookFn(pageContext), onBeforeRenderHook, pageContext);
|
|
@@ -73,7 +73,6 @@ async function getPageContextFromClientHooks(pageContext, isErrorPage) {
|
|
|
73
73
|
objectAssign(pageContext, {
|
|
74
74
|
_hasPageContextFromClient: false
|
|
75
75
|
});
|
|
76
|
-
let dataHookExists = false;
|
|
77
76
|
// At this point, we need to call the client-side guard(), data() and onBeforeRender() hooks, if they exist on client
|
|
78
77
|
// env. However if we have fetched pageContext from the server, some of them might have run already on the
|
|
79
78
|
// server-side, so we run only the client-only ones in this case.
|
|
@@ -90,8 +89,7 @@ async function getPageContextFromClientHooks(pageContext, isErrorPage) {
|
|
|
90
89
|
}
|
|
91
90
|
}
|
|
92
91
|
else {
|
|
93
|
-
|
|
94
|
-
dataHookExists = true;
|
|
92
|
+
assert(hookName === 'data' || hookName === 'onBeforeRender');
|
|
95
93
|
if (hookClientOnlyExists(hookName, pageContext) || !pageContext._hasPageContextFromServer) {
|
|
96
94
|
// This won't do anything if no hook has been defined or if the hook's env.client is false.
|
|
97
95
|
const pageContextFromHook = await executeHookClientSide(hookName, pageContext);
|
|
@@ -100,14 +98,6 @@ async function getPageContextFromClientHooks(pageContext, isErrorPage) {
|
|
|
100
98
|
}
|
|
101
99
|
}
|
|
102
100
|
}
|
|
103
|
-
// Execute +onData
|
|
104
|
-
if (dataHookExists) {
|
|
105
|
-
const hook = getHookFromPageContext(pageContext, 'onData');
|
|
106
|
-
if (hook) {
|
|
107
|
-
const pageContextForUserConsumption = preparePageContextForUserConsumptionClientSide(pageContext, true);
|
|
108
|
-
await executeHook(() => hook.hookFn(pageContextForUserConsumption), hook, pageContext);
|
|
109
|
-
}
|
|
110
|
-
}
|
|
111
101
|
const pageContextFromClientHooks = pageContext;
|
|
112
102
|
return pageContextFromClientHooks;
|
|
113
103
|
}
|
|
@@ -200,21 +200,6 @@ async function renderPageClientSide(renderArgs) {
|
|
|
200
200
|
// TO-DO/eventually: create helper assertPageContextFromHook()
|
|
201
201
|
assert(!('urlOriginal' in pageContextFromServerHooks));
|
|
202
202
|
objectAssign(pageContext, pageContextFromServerHooks);
|
|
203
|
-
// Execute +onData
|
|
204
|
-
assertHook(pageContext, 'onData');
|
|
205
|
-
const hook = getHookFromPageContext(pageContext, 'onData');
|
|
206
|
-
if (hook) {
|
|
207
|
-
const { hookFn } = hook;
|
|
208
|
-
try {
|
|
209
|
-
await executeHook(() => hookFn(pageContext), hook, pageContext);
|
|
210
|
-
}
|
|
211
|
-
catch (err) {
|
|
212
|
-
await onError(err);
|
|
213
|
-
return;
|
|
214
|
-
}
|
|
215
|
-
if (isRenderOutdated())
|
|
216
|
-
return;
|
|
217
|
-
}
|
|
218
203
|
// Get pageContext from client-side hooks
|
|
219
204
|
let pageContextFromClientHooks;
|
|
220
205
|
try {
|
|
@@ -25,12 +25,12 @@ declare function createPageContextClientSide(): Promise<{
|
|
|
25
25
|
} & {
|
|
26
26
|
pageId: string;
|
|
27
27
|
routeParams: Record<string, string>;
|
|
28
|
-
} & import("../../shared/getPageFiles.js").PageConfigUserFriendlyOld & {
|
|
29
|
-
_pageFilesLoaded: import("../../shared/getPageFiles.js").PageFile[];
|
|
30
28
|
} & {
|
|
31
29
|
config: import("../../types/index.js").ConfigResolved;
|
|
32
30
|
_source: import("../../shared/page-configs/getPageConfigUserFriendly.js").Source;
|
|
33
31
|
_sources: import("../../shared/page-configs/getPageConfigUserFriendly.js").Sources;
|
|
34
32
|
_from: import("../../shared/page-configs/getPageConfigUserFriendly.js").From;
|
|
35
33
|
isPageContext: true;
|
|
34
|
+
} & import("../../shared/getPageFiles.js").PageConfigUserFriendlyOld & {
|
|
35
|
+
_pageFilesLoaded: import("../../shared/getPageFiles.js").PageFile[];
|
|
36
36
|
}>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { createPageContextClientSide };
|
|
2
|
-
import { assertUsage,
|
|
2
|
+
import { assertUsage, augmentType, objectAssign } from './utils.js';
|
|
3
3
|
import { getPageContextSerializedInHtml } from '../shared/getJsonSerializedInHtml.js';
|
|
4
4
|
import { loadUserFilesClientSide } from '../shared/loadUserFilesClientSide.js';
|
|
5
5
|
import { getCurrentUrl } from '../shared/getCurrentUrl.js';
|
|
@@ -25,9 +25,11 @@ async function createPageContextClientSide() {
|
|
|
25
25
|
_hasPageContextFromClient: false
|
|
26
26
|
};
|
|
27
27
|
objectAssign(pageContextCreated, getPageContextSerializedInHtml());
|
|
28
|
-
|
|
28
|
+
// Sets pageContext.config to global configs
|
|
29
29
|
const pageContextAugmented = await createPageContextShared(pageContextCreated, globalContext._pageConfigGlobal);
|
|
30
30
|
augmentType(pageContextCreated, pageContextAugmented);
|
|
31
|
+
// Sets pageContext.config to local configs (overrides the pageContext.config set above)
|
|
32
|
+
objectAssign(pageContextCreated, await loadUserFilesClientSide(pageContextCreated.pageId, pageContextCreated._pageFilesAll, pageContextCreated._pageConfigs, pageContextCreated._pageConfigGlobal));
|
|
31
33
|
assertPristineUrl();
|
|
32
34
|
return pageContextCreated;
|
|
33
35
|
}
|
|
@@ -35,13 +37,3 @@ function assertPristineUrl() {
|
|
|
35
37
|
const urlCurrent = getCurrentUrl({ withoutHash: true });
|
|
36
38
|
assertUsage(urlFirst === urlCurrent, `The URL was manipulated before the hydration finished ('${urlFirst}' to '${urlCurrent}'). Ensure the hydration has finished before manipulating the URL. Consider using the onHydrationEnd() hook.`);
|
|
37
39
|
}
|
|
38
|
-
async function loadPageUserFiles(pageId, pageContext) {
|
|
39
|
-
const pageContextAddendum = {};
|
|
40
|
-
objectAssign(pageContextAddendum, await loadUserFilesClientSide(pageId, pageContext._pageFilesAll, pageContext._pageConfigs, pageContext._pageConfigGlobal));
|
|
41
|
-
pageContext._pageFilesAll
|
|
42
|
-
.filter((p) => p.fileType !== '.page.server')
|
|
43
|
-
.forEach((p) => {
|
|
44
|
-
assertWarning(!p.fileExports?.onBeforeRender, `export { onBeforeRender } of ${p.filePath} is loaded in the browser but never executed (because you are using Server-side Routing). In order to reduce the size of you browser-side JavaScript, define onBeforeRender() in a .page.server.js file instead, see https://vike.dev/onBeforeRender-isomorphic#server-routing`, { onlyOnce: true });
|
|
45
|
-
});
|
|
46
|
-
return pageContextAddendum;
|
|
47
|
-
}
|
|
@@ -56,12 +56,6 @@ const configDefinitionsBuiltIn = {
|
|
|
56
56
|
data: {
|
|
57
57
|
env: { server: true }
|
|
58
58
|
},
|
|
59
|
-
onData: {
|
|
60
|
-
env: { server: true, client: true }
|
|
61
|
-
/* TODO/now
|
|
62
|
-
cumulative: true
|
|
63
|
-
*/
|
|
64
|
-
},
|
|
65
59
|
iKnowThePerformanceRisksOfAsyncRouteFunctions: {
|
|
66
60
|
env: { server: true, client: 'if-client-routing' },
|
|
67
61
|
eager: true
|
|
@@ -20,13 +20,6 @@ async function executeOnBeforeRenderAndDataHooks(pageContext) {
|
|
|
20
20
|
data: hookResult
|
|
21
21
|
};
|
|
22
22
|
Object.assign(pageContext, pageContextFromHook);
|
|
23
|
-
// Execute +onData
|
|
24
|
-
if (!pageContext.isClientSideNavigation) {
|
|
25
|
-
const onDataHook = getHookFromPageContext(pageContext, 'onData');
|
|
26
|
-
if (onDataHook) {
|
|
27
|
-
await executeHook(() => onDataHook.hookFn(pageContext), dataHook, pageContext);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
23
|
}
|
|
31
24
|
if (onBeforeRenderHook) {
|
|
32
25
|
const hookResult = await executeHook(() => onBeforeRenderHook.hookFn(pageContext), onBeforeRenderHook, pageContext);
|
|
@@ -44,7 +44,7 @@ import type { HooksTimeoutProvidedByUser } from '../hooks/getHook.js';
|
|
|
44
44
|
import type { GlobalContext, PageContextClient, PageContextServer } from '../types.js';
|
|
45
45
|
import type { InlineConfig } from 'vite';
|
|
46
46
|
type HookName = HookNamePage | HookNameGlobal | HookNameOldDesign;
|
|
47
|
-
type HookNamePage = 'onHydrationEnd' | 'onBeforePrerenderStart' | 'onBeforeRender' | 'onPageTransitionStart' | 'onPageTransitionEnd' | 'onRenderHtml' | 'onRenderClient' | 'guard' | 'data'
|
|
47
|
+
type HookNamePage = 'onHydrationEnd' | 'onBeforePrerenderStart' | 'onBeforeRender' | 'onPageTransitionStart' | 'onPageTransitionEnd' | 'onRenderHtml' | 'onRenderClient' | 'guard' | 'data';
|
|
48
48
|
type HookNameGlobal = 'onBeforePrerender' | 'onBeforeRoute' | 'onPrerenderStart' | 'onCreatePageContext' | 'onCreateGlobalContext';
|
|
49
49
|
type HookNameOldDesign = 'render' | 'prerender';
|
|
50
50
|
type ConfigNameBuiltIn = Exclude<keyof Config, keyof VikeVitePluginOptions | 'onBeforeRoute' | 'onPrerenderStart' | 'vite' | 'redirects'> | 'prerender' | 'isClientRuntimeLoaded' | 'onBeforeRenderEnv' | 'dataEnv' | 'hooksTimeout' | 'clientHooks' | 'middleware';
|
|
@@ -345,11 +345,6 @@ type ConfigBuiltIn = {
|
|
|
345
345
|
* https://vike.dev/data
|
|
346
346
|
*/
|
|
347
347
|
data?: DataAsync<unknown> | DataSync<unknown> | ImportString | null;
|
|
348
|
-
/** TODO/now
|
|
349
|
-
*
|
|
350
|
-
* https://vike.dev/onData
|
|
351
|
-
*/
|
|
352
|
-
onData?: Function;
|
|
353
348
|
/** Determines what pageContext properties are sent to the client-side.
|
|
354
349
|
*
|
|
355
350
|
* https://vike.dev/passToClient
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const PROJECT_VERSION: "0.4.229-commit-
|
|
1
|
+
export declare const PROJECT_VERSION: "0.4.229-commit-58f7ed0";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Automatically updated by @brillout/release-me
|
|
2
|
-
export const PROJECT_VERSION = '0.4.229-commit-
|
|
2
|
+
export const PROJECT_VERSION = '0.4.229-commit-58f7ed0';
|