vike 0.4.229-commit-58f7ed0 → 0.4.229-commit-5da80bf
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/client/server-routing-runtime/utils.js +1 -0
- package/dist/cjs/client/shared/{preparePageContextForUserConsumptionClientSide.js → preparePageContextForPublicUsageClientShared.js} +15 -19
- package/dist/cjs/node/api/build.js +1 -5
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +4 -0
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +12 -6
- package/dist/cjs/node/plugin/shared/loggerNotProd.js +2 -2
- package/dist/cjs/node/prerender/runPrerender.js +42 -38
- package/dist/cjs/node/prerender/utils.js +1 -1
- package/dist/cjs/node/runtime/globalContext.js +13 -27
- package/dist/cjs/node/runtime/html/serializeContext.js +1 -1
- package/dist/cjs/node/runtime/renderPage/createHttpResponse/getCacheControl.js +7 -5
- package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +0 -1
- package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +6 -9
- package/dist/cjs/node/runtime/renderPage/execHookServer.js +11 -0
- package/dist/cjs/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +14 -15
- package/dist/cjs/node/runtime/renderPage/executeOnRenderHtmlHook.js +8 -12
- package/dist/cjs/node/runtime/renderPage/{loadUserFilesServerSide.js → loadPageConfigsLazyServerSide.js} +4 -4
- package/dist/cjs/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +10 -0
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +5 -5
- package/dist/cjs/node/runtime/renderPage.js +9 -7
- package/dist/cjs/node/runtime/utils.js +1 -1
- package/dist/cjs/shared/NOT_SERIALIZABLE.js +0 -1
- package/dist/cjs/shared/addIs404ToPageProps.js +0 -7
- package/dist/cjs/shared/createGlobalContextShared.js +37 -8
- package/dist/cjs/shared/createPageContextShared.js +16 -11
- package/dist/cjs/shared/getPageContext.js +3 -3
- package/dist/cjs/shared/getPageContextUrlComputed.js +2 -36
- package/dist/cjs/shared/getProxyForPublicUsage.js +106 -0
- package/dist/cjs/shared/hooks/execHook.js +164 -0
- package/dist/cjs/shared/hooks/getHook.js +23 -4
- package/dist/cjs/shared/page-configs/{getPageConfigUserFriendly.js → getUserFriendlyConfigs.js} +54 -47
- package/dist/cjs/shared/prepareGlobalContextForPublicUsage.js +10 -0
- package/dist/cjs/shared/preparePageContextForPublicUsage.js +75 -0
- package/dist/cjs/shared/route/abort.js +2 -2
- package/dist/cjs/shared/route/executeGuardHook.js +4 -9
- package/dist/cjs/shared/route/executeOnBeforeRouteHook.js +4 -3
- package/dist/cjs/shared/route/index.js +2 -4
- package/dist/cjs/shared/route/loadPageRoutes.js +6 -0
- package/dist/cjs/shared/route/resolveRouteFunction.js +14 -10
- package/dist/cjs/shared/utils.js +2 -0
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/objectAssign.js +3 -3
- package/dist/cjs/utils/objectDefineProperty.js +1 -1
- package/dist/esm/client/client-routing-runtime/{createPageContext.d.ts → createPageContextClientSide.d.ts} +21 -13
- package/dist/esm/client/client-routing-runtime/{createPageContext.js → createPageContextClientSide.js} +9 -11
- package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.d.ts +400 -15
- package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +46 -44
- package/dist/esm/client/client-routing-runtime/globalContext.d.ts +11 -1
- package/dist/esm/client/client-routing-runtime/prefetch.d.ts +3 -8
- package/dist/esm/client/client-routing-runtime/prefetch.js +3 -3
- package/dist/esm/client/client-routing-runtime/preparePageContextForPublicUsageClient.d.ts +11 -0
- package/dist/esm/client/client-routing-runtime/preparePageContextForPublicUsageClient.js +5 -0
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.d.ts +135 -0
- package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +79 -78
- package/dist/esm/client/client-routing-runtime/utils.d.ts +1 -0
- package/dist/esm/client/client-routing-runtime/utils.js +1 -0
- package/dist/esm/client/server-routing-runtime/createPageContextClientSide.d.ts +19 -13
- package/dist/esm/client/server-routing-runtime/createPageContextClientSide.js +12 -15
- package/dist/esm/client/server-routing-runtime/entry.js +4 -4
- package/dist/esm/client/server-routing-runtime/globalContext.d.ts +11 -1
- package/dist/esm/client/server-routing-runtime/preparePageContextForPublicUsageClient.d.ts +9 -0
- package/dist/esm/client/server-routing-runtime/preparePageContextForPublicUsageClient.js +5 -0
- package/dist/esm/client/server-routing-runtime/utils.d.ts +1 -0
- package/dist/esm/client/server-routing-runtime/utils.js +1 -0
- package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +11 -1
- package/dist/esm/client/shared/executeOnRenderClientHook.d.ts +3 -3
- package/dist/esm/client/shared/executeOnRenderClientHook.js +4 -13
- package/dist/esm/client/shared/{loadUserFilesClientSide.d.ts → loadPageConfigsLazyClientSide.d.ts} +2 -2
- package/dist/esm/client/shared/{loadUserFilesClientSide.js → loadPageConfigsLazyClientSide.js} +4 -4
- package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.d.ts +11 -0
- package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.js +40 -0
- package/dist/esm/node/api/build.js +1 -2
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +4 -0
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +12 -6
- package/dist/esm/node/plugin/shared/loggerNotProd.js +1 -1
- package/dist/esm/node/prerender/runPrerender.d.ts +37 -73
- package/dist/esm/node/prerender/runPrerender.js +42 -38
- package/dist/esm/node/prerender/utils.d.ts +1 -1
- package/dist/esm/node/prerender/utils.js +1 -1
- package/dist/esm/node/runtime/globalContext.d.ts +46 -251
- package/dist/esm/node/runtime/globalContext.js +14 -28
- package/dist/esm/node/runtime/html/serializeContext.d.ts +1 -1
- package/dist/esm/node/runtime/html/serializeContext.js +1 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse/getCacheControl.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse/getCacheControl.js +7 -5
- package/dist/esm/node/runtime/renderPage/createHttpResponse.js +0 -1
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +26 -41
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +7 -10
- package/dist/esm/node/runtime/renderPage/execHookServer.d.ts +12 -0
- package/dist/esm/node/runtime/renderPage/execHookServer.js +9 -0
- package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.d.ts +2 -3
- package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +14 -15
- package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.d.ts +4 -2
- package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.js +8 -12
- package/dist/esm/node/runtime/renderPage/{loadUserFilesServerSide.d.ts → loadPageConfigsLazyServerSide.d.ts} +6 -6
- package/dist/esm/node/runtime/renderPage/{loadUserFilesServerSide.js → loadPageConfigsLazyServerSide.js} +4 -4
- package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.d.ts +20 -0
- package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +8 -0
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +38 -74
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +5 -5
- package/dist/esm/node/runtime/renderPage.d.ts +21 -39
- package/dist/esm/node/runtime/renderPage.js +9 -7
- package/dist/esm/node/runtime/utils.d.ts +1 -1
- package/dist/esm/node/runtime/utils.js +1 -1
- package/dist/esm/shared/NOT_SERIALIZABLE.js +0 -1
- package/dist/esm/shared/addIs404ToPageProps.d.ts +1 -6
- package/dist/esm/shared/addIs404ToPageProps.js +1 -8
- package/dist/esm/shared/createGlobalContextShared.d.ts +28 -6
- package/dist/esm/shared/createGlobalContextShared.js +37 -8
- package/dist/esm/shared/createPageContextShared.d.ts +7 -6
- package/dist/esm/shared/createPageContextShared.js +17 -12
- package/dist/esm/shared/getPageContext.d.ts +1 -1
- package/dist/esm/shared/getPageContext.js +1 -1
- package/dist/esm/shared/getPageContextUrlComputed.d.ts +2 -5
- package/dist/esm/shared/getPageContextUrlComputed.js +3 -37
- package/dist/esm/shared/getPageFiles.d.ts +1 -1
- package/dist/esm/shared/getProxyForPublicUsage.d.ts +12 -0
- package/dist/esm/shared/getProxyForPublicUsage.js +104 -0
- package/dist/esm/shared/hooks/execHook.d.ts +63 -0
- package/dist/esm/shared/hooks/execHook.js +162 -0
- package/dist/esm/shared/hooks/getHook.d.ts +10 -11
- package/dist/esm/shared/hooks/getHook.js +23 -4
- package/dist/esm/shared/page-configs/Config.d.ts +11 -4
- package/dist/esm/shared/page-configs/{getPageConfigUserFriendly.d.ts → getUserFriendlyConfigs.d.ts} +8 -6
- package/dist/esm/shared/page-configs/{getPageConfigUserFriendly.js → getUserFriendlyConfigs.js} +55 -48
- package/dist/esm/shared/prepareGlobalContextForPublicUsage.d.ts +7 -0
- package/dist/esm/shared/prepareGlobalContextForPublicUsage.js +8 -0
- package/dist/esm/shared/preparePageContextForPublicUsage.d.ts +12 -0
- package/dist/esm/shared/preparePageContextForPublicUsage.js +73 -0
- package/dist/esm/shared/route/abort.js +1 -1
- package/dist/esm/shared/route/executeGuardHook.d.ts +4 -3
- package/dist/esm/shared/route/executeGuardHook.js +4 -9
- package/dist/esm/shared/route/executeOnBeforeRouteHook.js +4 -3
- package/dist/esm/shared/route/index.js +2 -4
- package/dist/esm/shared/route/loadPageRoutes.d.ts +2 -1
- package/dist/esm/shared/route/loadPageRoutes.js +7 -1
- package/dist/esm/shared/route/resolveRouteFunction.d.ts +2 -2
- package/dist/esm/shared/route/resolveRouteFunction.js +14 -10
- package/dist/esm/shared/types.d.ts +14 -4
- package/dist/esm/shared/utils.d.ts +2 -0
- package/dist/esm/shared/utils.js +2 -0
- package/dist/esm/types/index.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/objectAssign.d.ts +1 -1
- package/dist/esm/utils/objectAssign.js +3 -3
- package/dist/esm/utils/objectDefineProperty.d.ts +0 -1
- package/dist/esm/utils/objectDefineProperty.js +1 -1
- package/package.json +2 -2
- package/dist/cjs/client/shared/getPageContextProxyForUser.js +0 -16
- package/dist/cjs/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +0 -16
- package/dist/cjs/shared/getPageConfigsRuntime.js +0 -23
- package/dist/cjs/shared/hooks/executeHook.js +0 -87
- package/dist/cjs/shared/hooks/executeHookGeneric.js +0 -18
- package/dist/cjs/shared/preparePageContextForUserConsumption.js +0 -34
- package/dist/cjs/utils/getPublicProxy.js +0 -27
- package/dist/esm/client/shared/getPageContextProxyForUser.d.ts +0 -2
- package/dist/esm/client/shared/getPageContextProxyForUser.js +0 -14
- package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.d.ts +0 -12
- package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.js +0 -44
- package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +0 -24
- package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +0 -14
- package/dist/esm/shared/getPageConfigsRuntime.d.ts +0 -14
- package/dist/esm/shared/getPageConfigsRuntime.js +0 -21
- package/dist/esm/shared/hooks/executeHook.d.ts +0 -21
- package/dist/esm/shared/hooks/executeHook.js +0 -85
- package/dist/esm/shared/hooks/executeHookGeneric.d.ts +0 -8
- package/dist/esm/shared/hooks/executeHookGeneric.js +0 -16
- package/dist/esm/shared/preparePageContextForUserConsumption.d.ts +0 -5
- package/dist/esm/shared/preparePageContextForUserConsumption.js +0 -32
- package/dist/esm/utils/getPublicProxy.d.ts +0 -2
- package/dist/esm/utils/getPublicProxy.js +0 -25
|
@@ -3,8 +3,8 @@ export { prerenderPage };
|
|
|
3
3
|
export type { PageContextAfterRender };
|
|
4
4
|
import { type PageContextUrlInternal } from '../../../shared/getPageContextUrlComputed.js';
|
|
5
5
|
import { HttpResponse } from './createHttpResponse.js';
|
|
6
|
-
import {
|
|
7
|
-
import type {
|
|
6
|
+
import { PageContext_loadPageConfigsLazyServerSide, type PageFiles } from './loadPageConfigsLazyServerSide.js';
|
|
7
|
+
import type { PageContextCreated } from './createPageContextServerSide.js';
|
|
8
8
|
type PageContextAfterRender = {
|
|
9
9
|
httpResponse: HttpResponse;
|
|
10
10
|
errorWhileRendering: null | Error;
|
|
@@ -16,8 +16,8 @@ declare function renderPageAlreadyRouted<PageContext extends {
|
|
|
16
16
|
routeParams: Record<string, string>;
|
|
17
17
|
errorWhileRendering: null | Error;
|
|
18
18
|
_httpRequestId: number;
|
|
19
|
-
} &
|
|
20
|
-
declare function prerenderPage(pageContext:
|
|
19
|
+
} & PageContextCreated & PageContextUrlInternal & PageContext_loadPageConfigsLazyServerSide>(pageContext: PageContext): Promise<PageContext & PageContextAfterRender>;
|
|
20
|
+
declare function prerenderPage(pageContext: PageContextCreated & PageFiles & {
|
|
21
21
|
routeParams: Record<string, string>;
|
|
22
22
|
pageId: string;
|
|
23
23
|
_urlRewrite: null;
|
|
@@ -29,22 +29,34 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
|
|
|
29
29
|
documentHtml: string;
|
|
30
30
|
pageContextSerialized: null;
|
|
31
31
|
pageContext: {
|
|
32
|
-
|
|
32
|
+
_isOriginalObject: true;
|
|
33
|
+
isPageContext: true;
|
|
34
|
+
} & {
|
|
35
|
+
isClientSide: false;
|
|
33
36
|
isPrerendering: boolean;
|
|
34
|
-
} & Pick<import("../../../shared/types.js").
|
|
37
|
+
} & Pick<import("../../../shared/types.js").PageContextInternalServer, "urlOriginal" | "headersOriginal"> & {
|
|
35
38
|
url?: string;
|
|
36
39
|
headers?: Record<string, string>;
|
|
37
40
|
} & {
|
|
38
|
-
globalContext: import("../globalContext.js").GlobalContextServer;
|
|
39
41
|
_globalContext: {
|
|
40
42
|
isGlobalContext: true;
|
|
43
|
+
_isOriginalObject: true;
|
|
41
44
|
_virtualFileExports: unknown;
|
|
42
45
|
_pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
|
|
43
46
|
_pageConfigs: import("../../../__internal/index.js").PageConfig[];
|
|
44
47
|
_pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
45
48
|
_allPageIds: string[];
|
|
49
|
+
_userFriendlyConfigsGlobal: import("../../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly;
|
|
46
50
|
config: import("../../../types/index.js").ConfigResolved;
|
|
47
|
-
pages:
|
|
51
|
+
pages: {
|
|
52
|
+
[k: string]: import("../../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & ({
|
|
53
|
+
route: import("../../../shared/page-configs/Config.js").Route;
|
|
54
|
+
isErrorPage?: undefined;
|
|
55
|
+
} | {
|
|
56
|
+
route?: undefined;
|
|
57
|
+
isErrorPage: true;
|
|
58
|
+
});
|
|
59
|
+
};
|
|
48
60
|
} & ({
|
|
49
61
|
_isProduction: false;
|
|
50
62
|
_isPrerendering: false;
|
|
@@ -66,14 +78,6 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
|
|
|
66
78
|
isClientSide: false;
|
|
67
79
|
_pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
68
80
|
_onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
69
|
-
isGlobalContext: true;
|
|
70
|
-
_virtualFileExports: unknown;
|
|
71
|
-
_pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
|
|
72
|
-
_pageConfigs: import("../../../__internal/index.js").PageConfig[];
|
|
73
|
-
_pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
74
|
-
_allPageIds: string[];
|
|
75
|
-
config: import("../../../types/index.js").ConfigResolved;
|
|
76
|
-
pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
|
|
77
81
|
} | {
|
|
78
82
|
_isPrerendering: true;
|
|
79
83
|
viteConfig: import("vite").ResolvedConfig;
|
|
@@ -96,14 +100,6 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
|
|
|
96
100
|
isClientSide: false;
|
|
97
101
|
_pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
98
102
|
_onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
99
|
-
isGlobalContext: true;
|
|
100
|
-
_virtualFileExports: unknown;
|
|
101
|
-
_pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
|
|
102
|
-
_pageConfigs: import("../../../__internal/index.js").PageConfig[];
|
|
103
|
-
_pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
104
|
-
_allPageIds: string[];
|
|
105
|
-
config: import("../../../types/index.js").ConfigResolved;
|
|
106
|
-
pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
|
|
107
103
|
} | {
|
|
108
104
|
_isPrerendering: false;
|
|
109
105
|
viteConfig: null;
|
|
@@ -126,14 +122,6 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
|
|
|
126
122
|
isClientSide: false;
|
|
127
123
|
_pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
128
124
|
_onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
129
|
-
isGlobalContext: true;
|
|
130
|
-
_virtualFileExports: unknown;
|
|
131
|
-
_pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
|
|
132
|
-
_pageConfigs: import("../../../__internal/index.js").PageConfig[];
|
|
133
|
-
_pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
134
|
-
_allPageIds: string[];
|
|
135
|
-
config: import("../../../types/index.js").ConfigResolved;
|
|
136
|
-
pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
|
|
137
125
|
});
|
|
138
126
|
_baseServer: string;
|
|
139
127
|
_baseAssets: string;
|
|
@@ -148,18 +136,12 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
|
|
|
148
136
|
_urlRewrite: null;
|
|
149
137
|
_urlHandler: ((url: string) => string) | null;
|
|
150
138
|
isClientSideNavigation: boolean;
|
|
151
|
-
} & {
|
|
139
|
+
} & import("../../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & {
|
|
152
140
|
urlParsed: import("../utils.js").UrlPublic;
|
|
153
141
|
urlPathname: string;
|
|
154
142
|
url: string;
|
|
155
143
|
} & {
|
|
156
144
|
headers: Record<string, string> | null;
|
|
157
|
-
} & {
|
|
158
|
-
config: import("../../../types/index.js").ConfigResolved;
|
|
159
|
-
_source: import("../../../shared/page-configs/getPageConfigUserFriendly.js").Source;
|
|
160
|
-
_sources: import("../../../shared/page-configs/getPageConfigUserFriendly.js").Sources;
|
|
161
|
-
_from: import("../../../shared/page-configs/getPageConfigUserFriendly.js").From;
|
|
162
|
-
isPageContext: true;
|
|
163
145
|
} & import("../../../shared/getPageFiles.js").PageConfigUserFriendlyOld & {
|
|
164
146
|
Page: unknown;
|
|
165
147
|
_isHtmlOnly: boolean;
|
|
@@ -183,22 +165,34 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
|
|
|
183
165
|
documentHtml: string;
|
|
184
166
|
pageContextSerialized: string;
|
|
185
167
|
pageContext: {
|
|
186
|
-
|
|
168
|
+
_isOriginalObject: true;
|
|
169
|
+
isPageContext: true;
|
|
170
|
+
} & {
|
|
171
|
+
isClientSide: false;
|
|
187
172
|
isPrerendering: boolean;
|
|
188
|
-
} & Pick<import("../../../shared/types.js").
|
|
173
|
+
} & Pick<import("../../../shared/types.js").PageContextInternalServer, "urlOriginal" | "headersOriginal"> & {
|
|
189
174
|
url?: string;
|
|
190
175
|
headers?: Record<string, string>;
|
|
191
176
|
} & {
|
|
192
|
-
globalContext: import("../globalContext.js").GlobalContextServer;
|
|
193
177
|
_globalContext: {
|
|
194
178
|
isGlobalContext: true;
|
|
179
|
+
_isOriginalObject: true;
|
|
195
180
|
_virtualFileExports: unknown;
|
|
196
181
|
_pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
|
|
197
182
|
_pageConfigs: import("../../../__internal/index.js").PageConfig[];
|
|
198
183
|
_pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
199
184
|
_allPageIds: string[];
|
|
185
|
+
_userFriendlyConfigsGlobal: import("../../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly;
|
|
200
186
|
config: import("../../../types/index.js").ConfigResolved;
|
|
201
|
-
pages:
|
|
187
|
+
pages: {
|
|
188
|
+
[k: string]: import("../../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & ({
|
|
189
|
+
route: import("../../../shared/page-configs/Config.js").Route;
|
|
190
|
+
isErrorPage?: undefined;
|
|
191
|
+
} | {
|
|
192
|
+
route?: undefined;
|
|
193
|
+
isErrorPage: true;
|
|
194
|
+
});
|
|
195
|
+
};
|
|
202
196
|
} & ({
|
|
203
197
|
_isProduction: false;
|
|
204
198
|
_isPrerendering: false;
|
|
@@ -220,14 +214,6 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
|
|
|
220
214
|
isClientSide: false;
|
|
221
215
|
_pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
222
216
|
_onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
223
|
-
isGlobalContext: true;
|
|
224
|
-
_virtualFileExports: unknown;
|
|
225
|
-
_pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
|
|
226
|
-
_pageConfigs: import("../../../__internal/index.js").PageConfig[];
|
|
227
|
-
_pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
228
|
-
_allPageIds: string[];
|
|
229
|
-
config: import("../../../types/index.js").ConfigResolved;
|
|
230
|
-
pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
|
|
231
217
|
} | {
|
|
232
218
|
_isPrerendering: true;
|
|
233
219
|
viteConfig: import("vite").ResolvedConfig;
|
|
@@ -250,14 +236,6 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
|
|
|
250
236
|
isClientSide: false;
|
|
251
237
|
_pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
252
238
|
_onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
253
|
-
isGlobalContext: true;
|
|
254
|
-
_virtualFileExports: unknown;
|
|
255
|
-
_pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
|
|
256
|
-
_pageConfigs: import("../../../__internal/index.js").PageConfig[];
|
|
257
|
-
_pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
258
|
-
_allPageIds: string[];
|
|
259
|
-
config: import("../../../types/index.js").ConfigResolved;
|
|
260
|
-
pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
|
|
261
239
|
} | {
|
|
262
240
|
_isPrerendering: false;
|
|
263
241
|
viteConfig: null;
|
|
@@ -280,14 +258,6 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
|
|
|
280
258
|
isClientSide: false;
|
|
281
259
|
_pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
282
260
|
_onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
283
|
-
isGlobalContext: true;
|
|
284
|
-
_virtualFileExports: unknown;
|
|
285
|
-
_pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
|
|
286
|
-
_pageConfigs: import("../../../__internal/index.js").PageConfig[];
|
|
287
|
-
_pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
288
|
-
_allPageIds: string[];
|
|
289
|
-
config: import("../../../types/index.js").ConfigResolved;
|
|
290
|
-
pages: import("../../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
|
|
291
261
|
});
|
|
292
262
|
_baseServer: string;
|
|
293
263
|
_baseAssets: string;
|
|
@@ -302,18 +272,12 @@ declare function prerenderPage(pageContext: PageContextCreatedServerSide & PageF
|
|
|
302
272
|
_urlRewrite: null;
|
|
303
273
|
_urlHandler: ((url: string) => string) | null;
|
|
304
274
|
isClientSideNavigation: boolean;
|
|
305
|
-
} & {
|
|
275
|
+
} & import("../../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & {
|
|
306
276
|
urlParsed: import("../utils.js").UrlPublic;
|
|
307
277
|
urlPathname: string;
|
|
308
278
|
url: string;
|
|
309
279
|
} & {
|
|
310
280
|
headers: Record<string, string> | null;
|
|
311
|
-
} & {
|
|
312
|
-
config: import("../../../types/index.js").ConfigResolved;
|
|
313
|
-
_source: import("../../../shared/page-configs/getPageConfigUserFriendly.js").Source;
|
|
314
|
-
_sources: import("../../../shared/page-configs/getPageConfigUserFriendly.js").Sources;
|
|
315
|
-
_from: import("../../../shared/page-configs/getPageConfigUserFriendly.js").From;
|
|
316
|
-
isPageContext: true;
|
|
317
281
|
} & import("../../../shared/getPageFiles.js").PageConfigUserFriendlyOld & {
|
|
318
282
|
Page: unknown;
|
|
319
283
|
_isHtmlOnly: boolean;
|
|
@@ -5,12 +5,12 @@ import { getHtmlString } from '../html/renderHtml.js';
|
|
|
5
5
|
import { assert, assertUsage, hasProp, objectAssign } from '../utils.js';
|
|
6
6
|
import { getPageContextClientSerialized } from '../html/serializeContext.js';
|
|
7
7
|
import { createHttpResponsePage, createHttpResponsePageContextJson } from './createHttpResponse.js';
|
|
8
|
-
import {
|
|
8
|
+
import { loadPageConfigsLazyServerSide } from './loadPageConfigsLazyServerSide.js';
|
|
9
9
|
import { executeOnRenderHtmlHook } from './executeOnRenderHtmlHook.js';
|
|
10
10
|
import { executeOnBeforeRenderAndDataHooks } from './executeOnBeforeRenderAndDataHooks.js';
|
|
11
11
|
import { logRuntimeError } from './loggerRuntime.js';
|
|
12
12
|
import { isNewError } from './isNewError.js';
|
|
13
|
-
import {
|
|
13
|
+
import { preparePageContextForPublicUsageServer } from './preparePageContextForPublicUsageServer.js';
|
|
14
14
|
import { executeGuardHook } from '../../../shared/route/executeGuardHook.js';
|
|
15
15
|
import pc from '@brillout/picocolors';
|
|
16
16
|
import { isServerSideError } from '../../../shared/misc/isServerSideError.js';
|
|
@@ -21,9 +21,9 @@ async function renderPageAlreadyRouted(pageContext) {
|
|
|
21
21
|
assert(hasProp(pageContext, 'pageId', 'string'));
|
|
22
22
|
const isError = pageContext.is404 || !!pageContext.errorWhileRendering;
|
|
23
23
|
assert(isError === (pageContext.pageId === getErrorPageId(pageContext._pageFilesAll, pageContext._pageConfigs)));
|
|
24
|
-
objectAssign(pageContext, await
|
|
24
|
+
objectAssign(pageContext, await loadPageConfigsLazyServerSide(pageContext));
|
|
25
25
|
if (!isError) {
|
|
26
|
-
await executeGuardHook(pageContext, (pageContext) =>
|
|
26
|
+
await executeGuardHook(pageContext, (pageContext) => preparePageContextForPublicUsageServer(pageContext));
|
|
27
27
|
}
|
|
28
28
|
if (!isError) {
|
|
29
29
|
await executeOnBeforeRenderAndDataHooks(pageContext);
|
|
@@ -60,7 +60,7 @@ async function prerenderPage(pageContext) {
|
|
|
60
60
|
});
|
|
61
61
|
/* Should we execute the guard() hook upon pre-rendering? Is there a use case for this?
|
|
62
62
|
* - It isn't trivial to implement, as it requires to duplicate / factor out the isAbortError() handling
|
|
63
|
-
await executeGuardHook(pageContext, (pageContext) =>
|
|
63
|
+
await executeGuardHook(pageContext, (pageContext) => preparePageContextForPublicUsageServer(pageContext))
|
|
64
64
|
*/
|
|
65
65
|
await executeOnBeforeRenderAndDataHooks(pageContext);
|
|
66
66
|
const { htmlRender, renderHook } = await executeOnRenderHtmlHook(pageContext);
|
|
@@ -2,11 +2,11 @@ export { renderPage };
|
|
|
2
2
|
export { renderPage_addAsyncHookwrapper };
|
|
3
3
|
export type { PageContextInit };
|
|
4
4
|
export type { PageContextBegin };
|
|
5
|
-
import { type
|
|
5
|
+
import { type GlobalContextServerInternal } from './globalContext.js';
|
|
6
6
|
import { type HttpResponse } from './renderPage/createHttpResponse.js';
|
|
7
7
|
import type { PageContextServer } from '../../types/index.js';
|
|
8
|
-
import type {
|
|
9
|
-
type PageContextInit = Pick<
|
|
8
|
+
import type { PageContextInternalServer } from '../../shared/types.js';
|
|
9
|
+
type PageContextInit = Pick<PageContextInternalServer, 'urlOriginal' | 'headersOriginal'> & {
|
|
10
10
|
/** @deprecated Set `pageContextInit.urlOriginal` instead */ url?: string;
|
|
11
11
|
/** @deprecated Set pageContextInit.headersOriginal instead */ headers?: Record<string, string>;
|
|
12
12
|
};
|
|
@@ -18,23 +18,35 @@ declare let asyncHookWrapper: <PageContext>(_httpRequestId: number, ret: () => P
|
|
|
18
18
|
pageContextReturn: Awaited<PageContext>;
|
|
19
19
|
}>;
|
|
20
20
|
declare function renderPage_addAsyncHookwrapper(wrapper: typeof asyncHookWrapper): void;
|
|
21
|
-
declare function getPageContextBegin(pageContextInit: PageContextInit, globalContext: GlobalContextServerInternal,
|
|
22
|
-
|
|
21
|
+
declare function getPageContextBegin(pageContextInit: PageContextInit, globalContext: GlobalContextServerInternal, httpRequestId: number): Promise<{
|
|
22
|
+
_isOriginalObject: true;
|
|
23
|
+
isPageContext: true;
|
|
24
|
+
} & {
|
|
25
|
+
isClientSide: false;
|
|
23
26
|
isPrerendering: boolean;
|
|
24
|
-
} & Pick<
|
|
27
|
+
} & Pick<PageContextInternalServer, "urlOriginal" | "headersOriginal"> & {
|
|
25
28
|
/** @deprecated Set `pageContextInit.urlOriginal` instead */ url?: string;
|
|
26
29
|
/** @deprecated Set pageContextInit.headersOriginal instead */ headers?: Record<string, string>;
|
|
27
30
|
} & {
|
|
28
|
-
globalContext: GlobalContextServer;
|
|
29
31
|
_globalContext: {
|
|
30
32
|
isGlobalContext: true;
|
|
33
|
+
_isOriginalObject: true;
|
|
31
34
|
_virtualFileExports: unknown;
|
|
32
35
|
_pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
|
|
33
36
|
_pageConfigs: import("../../__internal/index.js").PageConfig[];
|
|
34
37
|
_pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
35
38
|
_allPageIds: string[];
|
|
39
|
+
_userFriendlyConfigsGlobal: import("../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly;
|
|
36
40
|
config: import("../../types/index.js").ConfigResolved;
|
|
37
|
-
pages:
|
|
41
|
+
pages: {
|
|
42
|
+
[k: string]: import("../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & ({
|
|
43
|
+
route: import("../../shared/page-configs/Config.js").Route;
|
|
44
|
+
isErrorPage?: undefined;
|
|
45
|
+
} | {
|
|
46
|
+
route?: undefined;
|
|
47
|
+
isErrorPage: true;
|
|
48
|
+
});
|
|
49
|
+
};
|
|
38
50
|
} & ({
|
|
39
51
|
_isProduction: false;
|
|
40
52
|
_isPrerendering: false;
|
|
@@ -56,14 +68,6 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
|
|
|
56
68
|
isClientSide: false;
|
|
57
69
|
_pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
|
|
58
70
|
_onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
59
|
-
isGlobalContext: true;
|
|
60
|
-
_virtualFileExports: unknown;
|
|
61
|
-
_pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
|
|
62
|
-
_pageConfigs: import("../../__internal/index.js").PageConfig[];
|
|
63
|
-
_pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
64
|
-
_allPageIds: string[];
|
|
65
|
-
config: import("../../types/index.js").ConfigResolved;
|
|
66
|
-
pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
|
|
67
71
|
} | {
|
|
68
72
|
_isPrerendering: true;
|
|
69
73
|
viteConfig: import("vite").ResolvedConfig;
|
|
@@ -86,14 +90,6 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
|
|
|
86
90
|
isClientSide: false;
|
|
87
91
|
_pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
|
|
88
92
|
_onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
89
|
-
isGlobalContext: true;
|
|
90
|
-
_virtualFileExports: unknown;
|
|
91
|
-
_pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
|
|
92
|
-
_pageConfigs: import("../../__internal/index.js").PageConfig[];
|
|
93
|
-
_pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
94
|
-
_allPageIds: string[];
|
|
95
|
-
config: import("../../types/index.js").ConfigResolved;
|
|
96
|
-
pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
|
|
97
93
|
} | {
|
|
98
94
|
_isPrerendering: false;
|
|
99
95
|
viteConfig: null;
|
|
@@ -116,14 +112,6 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
|
|
|
116
112
|
isClientSide: false;
|
|
117
113
|
_pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
|
|
118
114
|
_onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
119
|
-
isGlobalContext: true;
|
|
120
|
-
_virtualFileExports: unknown;
|
|
121
|
-
_pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
|
|
122
|
-
_pageConfigs: import("../../__internal/index.js").PageConfig[];
|
|
123
|
-
_pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
124
|
-
_allPageIds: string[];
|
|
125
|
-
config: import("../../types/index.js").ConfigResolved;
|
|
126
|
-
pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
|
|
127
115
|
});
|
|
128
116
|
_baseServer: string;
|
|
129
117
|
_baseAssets: string;
|
|
@@ -138,18 +126,12 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
|
|
|
138
126
|
_urlRewrite: null;
|
|
139
127
|
_urlHandler: ((url: string) => string) | null;
|
|
140
128
|
isClientSideNavigation: boolean;
|
|
141
|
-
} & {
|
|
129
|
+
} & import("../../shared/page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & {
|
|
142
130
|
urlParsed: import("./utils.js").UrlPublic;
|
|
143
131
|
urlPathname: string;
|
|
144
132
|
url: string;
|
|
145
133
|
} & {
|
|
146
134
|
headers: Record<string, string> | null;
|
|
147
|
-
} & {
|
|
148
|
-
config: import("../../types/index.js").ConfigResolved;
|
|
149
|
-
_source: import("../../shared/page-configs/getPageConfigUserFriendly.js").Source;
|
|
150
|
-
_sources: import("../../shared/page-configs/getPageConfigUserFriendly.js").Sources;
|
|
151
|
-
_from: import("../../shared/page-configs/getPageConfigUserFriendly.js").From;
|
|
152
|
-
isPageContext: true;
|
|
153
135
|
} & {
|
|
154
136
|
_httpRequestId: number;
|
|
155
137
|
}>;
|
|
@@ -17,8 +17,9 @@ import pc from '@brillout/picocolors';
|
|
|
17
17
|
import { getPageContextClientSerializedAbort, getPageContextClientSerialized } from './html/serializeContext.js';
|
|
18
18
|
import { getErrorPageId } from '../../shared/error-page.js';
|
|
19
19
|
import { handleErrorWithoutErrorPage } from './renderPage/handleErrorWithoutErrorPage.js';
|
|
20
|
-
import {
|
|
20
|
+
import { loadPageConfigsLazyServerSide } from './renderPage/loadPageConfigsLazyServerSide.js';
|
|
21
21
|
import { resolveRedirects } from './renderPage/resolveRedirects.js';
|
|
22
|
+
import { getProxyForMutationTracking } from '../../shared/getProxyForPublicUsage.js';
|
|
22
23
|
const globalObject = getGlobalObject('runtime/renderPage.ts', {
|
|
23
24
|
httpRequestsCount: 0
|
|
24
25
|
});
|
|
@@ -76,8 +77,8 @@ async function renderPagePrepare(pageContextInit, httpRequestId) {
|
|
|
76
77
|
else {
|
|
77
78
|
// `globalContext` now contains the entire Vike config and getVikeConfig() isn't called anymore for this request.
|
|
78
79
|
}
|
|
79
|
-
const { globalContext
|
|
80
|
-
const pageContextBegin = await getPageContextBegin(pageContextInit, globalContext,
|
|
80
|
+
const { globalContext } = await getGlobalContextServerInternal();
|
|
81
|
+
const pageContextBegin = await getPageContextBegin(pageContextInit, globalContext, httpRequestId);
|
|
81
82
|
// Check Base URL
|
|
82
83
|
{
|
|
83
84
|
const pageContextHttpResponse = await checkBaseUrl(pageContextBegin, globalContext);
|
|
@@ -299,9 +300,9 @@ async function getPageContextErrorPageInit(pageContextBegin, errNominalPage, pag
|
|
|
299
300
|
assert(pageContext.errorWhileRendering);
|
|
300
301
|
return pageContext;
|
|
301
302
|
}
|
|
302
|
-
async function getPageContextBegin(pageContextInit, globalContext,
|
|
303
|
+
async function getPageContextBegin(pageContextInit, globalContext, httpRequestId) {
|
|
303
304
|
const { isClientSideNavigation, _urlHandler } = handlePageContextUrl(pageContextInit.urlOriginal);
|
|
304
|
-
const pageContextBegin = await createPageContextServerSide(pageContextInit, globalContext,
|
|
305
|
+
const pageContextBegin = await createPageContextServerSide(pageContextInit, globalContext, {
|
|
305
306
|
isPrerendering: false,
|
|
306
307
|
ssr: {
|
|
307
308
|
urlHandler: _urlHandler,
|
|
@@ -410,7 +411,7 @@ pageContextNominalPageBegin, httpRequestId, pageContextErrorPageInit, globalCont
|
|
|
410
411
|
objectAssign(pageContext, { pageId: errorPageId });
|
|
411
412
|
objectAssign(pageContext, pageContextAbort);
|
|
412
413
|
objectAssign(pageContext, pageContextErrorPageInit, true);
|
|
413
|
-
objectAssign(pageContext, await
|
|
414
|
+
objectAssign(pageContext, await loadPageConfigsLazyServerSide(pageContext));
|
|
414
415
|
// We include pageContextInit: we don't only serialize pageContextAbort because the error page may need to access pageContextInit
|
|
415
416
|
pageContextSerialized = getPageContextClientSerialized(pageContext);
|
|
416
417
|
}
|
|
@@ -483,5 +484,6 @@ function getPageContextInvalidVikeConfig(err, pageContextInit, httpRequestId) {
|
|
|
483
484
|
function forkPageContext(pageContextBegin) {
|
|
484
485
|
const pageContext = {};
|
|
485
486
|
objectAssign(pageContext, pageContextBegin, true);
|
|
486
|
-
|
|
487
|
+
const pageContextWithProxy = getProxyForMutationTracking(pageContext);
|
|
488
|
+
return pageContextWithProxy;
|
|
487
489
|
}
|
|
@@ -54,5 +54,5 @@ export * from '../../utils/isVikeReactApp.js';
|
|
|
54
54
|
export * from '../../utils/getPropAccessNotation.js';
|
|
55
55
|
export * from '../../utils/PROJECT_VERSION.js';
|
|
56
56
|
export * from '../../utils/genPromise.js';
|
|
57
|
-
export * from '../../utils/getPublicProxy.js';
|
|
58
57
|
export * from '../../utils/augmentType.js';
|
|
58
|
+
export * from '../../utils/changeEnumerable.js';
|
|
@@ -58,5 +58,5 @@ export * from '../../utils/isVikeReactApp.js';
|
|
|
58
58
|
export * from '../../utils/getPropAccessNotation.js';
|
|
59
59
|
export * from '../../utils/PROJECT_VERSION.js';
|
|
60
60
|
export * from '../../utils/genPromise.js';
|
|
61
|
-
export * from '../../utils/getPublicProxy.js';
|
|
62
61
|
export * from '../../utils/augmentType.js';
|
|
62
|
+
export * from '../../utils/changeEnumerable.js';
|
|
@@ -1,7 +1,2 @@
|
|
|
1
1
|
export { addIs404ToPageProps };
|
|
2
|
-
|
|
3
|
-
declare function addIs404ToPageProps(pageContext: Record<string, unknown> & PageContextAssertIs404): void;
|
|
4
|
-
type PageContextAssertIs404 = {
|
|
5
|
-
pageId: string;
|
|
6
|
-
_pageConfigs: PageConfigRuntime[];
|
|
7
|
-
};
|
|
2
|
+
declare function addIs404ToPageProps(pageContext: Record<string, unknown>): void;
|
|
@@ -1,15 +1,8 @@
|
|
|
1
1
|
export { addIs404ToPageProps };
|
|
2
|
-
import {
|
|
3
|
-
import { isErrorPage } from './error-page.js';
|
|
2
|
+
import { assertWarning, isObject } from './utils.js';
|
|
4
3
|
function addIs404ToPageProps(pageContext) {
|
|
5
|
-
assertIs404(pageContext);
|
|
6
4
|
addIs404(pageContext);
|
|
7
5
|
}
|
|
8
|
-
function assertIs404(pageContext) {
|
|
9
|
-
if (isErrorPage(pageContext.pageId, pageContext._pageConfigs)) {
|
|
10
|
-
assert(hasProp(pageContext, 'is404', 'boolean'));
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
6
|
function addIs404(pageContext) {
|
|
14
7
|
if (pageContext.is404 === undefined || pageContext.is404 === null)
|
|
15
8
|
return;
|
|
@@ -2,6 +2,8 @@ export { createGlobalContextShared };
|
|
|
2
2
|
export { getGlobalContextSyncErrMsg };
|
|
3
3
|
export type { GlobalContextShared };
|
|
4
4
|
export type { GlobalContextSharedPublic };
|
|
5
|
+
import type { PageFile } from './getPageFiles.js';
|
|
6
|
+
import type { PageConfigRuntime } from './page-configs/PageConfig.js';
|
|
5
7
|
declare const getGlobalContextSyncErrMsg = "The global context isn't set yet, call getGlobalContextSync() later or use getGlobalContext() instead.";
|
|
6
8
|
declare function createGlobalContextShared<GlobalContextAddendum extends object>(virtualFileExports: unknown, globalObject: {
|
|
7
9
|
globalContext?: Record<string, unknown>;
|
|
@@ -12,13 +14,23 @@ declare function createGlobalContextShared<GlobalContextAddendum extends object>
|
|
|
12
14
|
* https://vike.dev/globalContext#typescript
|
|
13
15
|
*/
|
|
14
16
|
isGlobalContext: true;
|
|
17
|
+
_isOriginalObject: true;
|
|
15
18
|
_virtualFileExports: unknown;
|
|
16
|
-
_pageFilesAll:
|
|
17
|
-
_pageConfigs:
|
|
19
|
+
_pageFilesAll: PageFile[];
|
|
20
|
+
_pageConfigs: PageConfigRuntime[];
|
|
18
21
|
_pageConfigGlobal: import("./page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
19
22
|
_allPageIds: string[];
|
|
23
|
+
_userFriendlyConfigsGlobal: import("./page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly;
|
|
20
24
|
config: import("./page-configs/Config/PageContextConfig.js").ConfigResolved;
|
|
21
|
-
pages:
|
|
25
|
+
pages: {
|
|
26
|
+
[k: string]: import("./page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & ({
|
|
27
|
+
route: import("./page-configs/Config.js").Route;
|
|
28
|
+
isErrorPage?: undefined;
|
|
29
|
+
} | {
|
|
30
|
+
route?: undefined;
|
|
31
|
+
isErrorPage: true;
|
|
32
|
+
});
|
|
33
|
+
};
|
|
22
34
|
} & Awaited<GlobalContextAddendum>>;
|
|
23
35
|
type GlobalContextSharedPublic = Pick<GlobalContextShared, 'config' | 'pages' | 'isGlobalContext'>;
|
|
24
36
|
type GlobalContextShared = ReturnType<typeof createGlobalContextBase>;
|
|
@@ -29,11 +41,21 @@ declare function createGlobalContextBase(virtualFileExports: unknown): {
|
|
|
29
41
|
* https://vike.dev/globalContext#typescript
|
|
30
42
|
*/
|
|
31
43
|
isGlobalContext: true;
|
|
44
|
+
_isOriginalObject: true;
|
|
32
45
|
_virtualFileExports: unknown;
|
|
33
|
-
_pageFilesAll:
|
|
34
|
-
_pageConfigs:
|
|
46
|
+
_pageFilesAll: PageFile[];
|
|
47
|
+
_pageConfigs: PageConfigRuntime[];
|
|
35
48
|
_pageConfigGlobal: import("./page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
36
49
|
_allPageIds: string[];
|
|
50
|
+
_userFriendlyConfigsGlobal: import("./page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly;
|
|
37
51
|
config: import("./page-configs/Config/PageContextConfig.js").ConfigResolved;
|
|
38
|
-
pages:
|
|
52
|
+
pages: {
|
|
53
|
+
[k: string]: import("./page-configs/getUserFriendlyConfigs.js").PageConfigUserFriendly & ({
|
|
54
|
+
route: import("./page-configs/Config.js").Route;
|
|
55
|
+
isErrorPage?: undefined;
|
|
56
|
+
} | {
|
|
57
|
+
route?: undefined;
|
|
58
|
+
isErrorPage: true;
|
|
59
|
+
});
|
|
60
|
+
};
|
|
39
61
|
};
|
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
export { createGlobalContextShared };
|
|
2
2
|
export { getGlobalContextSyncErrMsg };
|
|
3
|
+
import { changeEnumerable, objectAssign, unique } from './utils.js';
|
|
4
|
+
import { parseGlobResults } from './getPageFiles/parseGlobResults.js';
|
|
5
|
+
import { getUserFriendlyConfigsGlobal, getUserFriendlyConfigsPageEager } from './page-configs/getUserFriendlyConfigs.js';
|
|
6
|
+
import { execHookGlobal } from './hooks/execHook.js';
|
|
7
|
+
import { prepareGlobalContextForPublicUsage } from './prepareGlobalContextForPublicUsage.js';
|
|
3
8
|
const getGlobalContextSyncErrMsg = "The global context isn't set yet, call getGlobalContextSync() later or use getGlobalContext() instead.";
|
|
4
|
-
import { getPageConfigsRuntime } from './getPageConfigsRuntime.js';
|
|
5
|
-
import { executeHookGenericGlobalCumulative } from './hooks/executeHookGeneric.js';
|
|
6
|
-
import { objectAssign } from './utils.js';
|
|
7
9
|
async function createGlobalContextShared(virtualFileExports, globalObject, addGlobalContext) {
|
|
8
10
|
const globalContext = createGlobalContextBase(virtualFileExports);
|
|
9
11
|
const globalContextAddendum = await addGlobalContext?.(globalContext);
|
|
@@ -21,17 +23,17 @@ async function createGlobalContextShared(virtualFileExports, globalObject, addGl
|
|
|
21
23
|
// - globalContext._viteDevServer.hot.send()
|
|
22
24
|
// - Send 'full-server-reload' signal whenever a onCreateGlobalContext() function is modified => we need a globalObject to track all hooks and see if one of them is new/modified.
|
|
23
25
|
// - Seems less idiomatic
|
|
24
|
-
await
|
|
26
|
+
await execHookGlobal('onCreateGlobalContext', globalContext._pageConfigGlobal, null, globalContext, prepareGlobalContextForPublicUsage);
|
|
25
27
|
}
|
|
26
28
|
else {
|
|
27
29
|
// Singleton: ensure all `globalContext` user-land references are preserved & updated.
|
|
28
30
|
// We don't use objectReplace() in order to keep user-land properties.
|
|
29
|
-
objectAssign(globalObject.globalContext, globalContext);
|
|
31
|
+
objectAssign(globalObject.globalContext, globalContext, true);
|
|
30
32
|
}
|
|
31
33
|
return globalObject.globalContext;
|
|
32
34
|
}
|
|
33
35
|
function createGlobalContextBase(virtualFileExports) {
|
|
34
|
-
const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal,
|
|
36
|
+
const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, userFriendlyConfigsGlobal, userFriendlyConfigsPageEager } = getConfigsAll(virtualFileExports);
|
|
35
37
|
const globalContext = {
|
|
36
38
|
/**
|
|
37
39
|
* Useful for distinguishing `globalContext` from other objects and narrowing down TypeScript unions.
|
|
@@ -39,13 +41,40 @@ function createGlobalContextBase(virtualFileExports) {
|
|
|
39
41
|
* https://vike.dev/globalContext#typescript
|
|
40
42
|
*/
|
|
41
43
|
isGlobalContext: true,
|
|
44
|
+
_isOriginalObject: true,
|
|
42
45
|
_virtualFileExports: virtualFileExports,
|
|
43
46
|
_pageFilesAll: pageFilesAll,
|
|
44
47
|
_pageConfigs: pageConfigs,
|
|
45
48
|
_pageConfigGlobal: pageConfigGlobal,
|
|
46
49
|
_allPageIds: allPageIds,
|
|
47
|
-
|
|
48
|
-
|
|
50
|
+
_userFriendlyConfigsGlobal: userFriendlyConfigsGlobal,
|
|
51
|
+
config: userFriendlyConfigsGlobal.config,
|
|
52
|
+
pages: userFriendlyConfigsPageEager
|
|
49
53
|
};
|
|
54
|
+
changeEnumerable(globalContext, '_isOriginalObject', false);
|
|
50
55
|
return globalContext;
|
|
51
56
|
}
|
|
57
|
+
function getConfigsAll(virtualFileExports) {
|
|
58
|
+
const { pageFilesAll, pageConfigs, pageConfigGlobal } = parseGlobResults(virtualFileExports);
|
|
59
|
+
const allPageIds = getAllPageIds(pageFilesAll, pageConfigs);
|
|
60
|
+
const userFriendlyConfigsGlobal = getUserFriendlyConfigsGlobal({
|
|
61
|
+
pageConfigGlobalValues: pageConfigGlobal.configValues
|
|
62
|
+
});
|
|
63
|
+
const userFriendlyConfigsPageEager = Object.fromEntries(pageConfigs.map((pageConfig) => {
|
|
64
|
+
return getUserFriendlyConfigsPageEager(pageConfigGlobal.configValues, pageConfig, pageConfig.configValues);
|
|
65
|
+
}));
|
|
66
|
+
return {
|
|
67
|
+
pageFilesAll,
|
|
68
|
+
allPageIds,
|
|
69
|
+
pageConfigs,
|
|
70
|
+
pageConfigGlobal,
|
|
71
|
+
userFriendlyConfigsGlobal,
|
|
72
|
+
userFriendlyConfigsPageEager
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
function getAllPageIds(pageFilesAll, pageConfigs) {
|
|
76
|
+
const fileIds = pageFilesAll.filter(({ isDefaultPageFile }) => !isDefaultPageFile).map(({ pageId }) => pageId);
|
|
77
|
+
const allPageIds = unique(fileIds);
|
|
78
|
+
const allPageIds2 = pageConfigs.map((p) => p.pageId);
|
|
79
|
+
return [...allPageIds, ...allPageIds2];
|
|
80
|
+
}
|