vike 0.4.218-commit-85af52a → 0.4.218-commit-65f582c
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/__internal/index.js +2 -3
- package/dist/cjs/node/api/prepareViteApiCall.js +1 -2
- package/dist/cjs/node/plugin/plugins/baseUrls.js +1 -1
- package/dist/cjs/node/plugin/plugins/commonConfig.js +1 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +26 -22
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +111 -181
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +1 -1
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +2 -2
- package/dist/cjs/node/prerender/runPrerender.js +73 -32
- package/dist/cjs/node/prerender/utils.js +1 -0
- package/dist/cjs/node/runtime/globalContext.js +31 -5
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +11 -33
- package/dist/cjs/node/runtime/renderPage/resolveRedirects.js +9 -1
- package/dist/cjs/node/runtime/renderPage.js +21 -22
- package/dist/cjs/node/shared/assertRuntimeManifest.js +0 -2
- package/dist/cjs/shared/getPageFiles/getPageFiles.js +6 -3
- package/dist/cjs/shared/page-configs/getPageConfigUserFriendly.js +2 -2
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +4 -4
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/assertSetup.js +22 -14
- package/dist/esm/__internal/index.js +2 -3
- package/dist/esm/client/client-routing-runtime/createPageContext.js +1 -4
- package/dist/esm/client/server-routing-runtime/getPageContext.js +1 -4
- package/dist/esm/node/api/prepareViteApiCall.js +1 -2
- package/dist/esm/node/plugin/plugins/baseUrls.js +1 -1
- package/dist/esm/node/plugin/plugins/commonConfig.d.ts +2 -4
- package/dist/esm/node/plugin/plugins/commonConfig.js +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +6 -9
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +25 -21
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +1 -6
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +108 -178
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +2 -2
- package/dist/esm/node/prerender/runPrerender.js +75 -34
- package/dist/esm/node/prerender/utils.d.ts +1 -0
- package/dist/esm/node/prerender/utils.js +1 -0
- package/dist/esm/node/runtime/globalContext.d.ts +17 -3
- package/dist/esm/node/runtime/globalContext.js +32 -6
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +27 -42
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +11 -33
- package/dist/esm/node/runtime/renderPage/resolveRedirects.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/resolveRedirects.js +9 -1
- package/dist/esm/node/runtime/renderPage.js +22 -23
- package/dist/esm/node/shared/assertPluginManifest.d.ts +0 -1
- package/dist/esm/node/shared/assertRuntimeManifest.d.ts +0 -1
- package/dist/esm/node/shared/assertRuntimeManifest.js +1 -3
- package/dist/esm/shared/getPageFiles/getPageFiles.d.ts +2 -0
- package/dist/esm/shared/getPageFiles/getPageFiles.js +6 -3
- package/dist/esm/shared/page-configs/Config/PageContextConfig.d.ts +9 -5
- package/dist/esm/shared/page-configs/Config.d.ts +13 -1
- package/dist/esm/shared/page-configs/getPageConfigUserFriendly.d.ts +7 -4
- package/dist/esm/shared/page-configs/getPageConfigUserFriendly.js +2 -2
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +2 -6
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +4 -4
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/assertSetup.js +22 -14
- package/dist/esm/utils/projectInfo.d.ts +1 -1
- package/package.json +1 -1
|
@@ -13,4 +13,5 @@ export * from '../../utils/assertSetup.js';
|
|
|
13
13
|
export * from '../../utils/pLimit.js';
|
|
14
14
|
export * from '../../utils/isFilePathAbsoluteFilesystem.js';
|
|
15
15
|
export * from '../../utils/isArray.js';
|
|
16
|
+
export * from '../../utils/isObject.js';
|
|
16
17
|
export * from '../../utils/changeEnumerable.js';
|
|
@@ -15,4 +15,5 @@ export * from '../../utils/assertSetup.js';
|
|
|
15
15
|
export * from '../../utils/pLimit.js';
|
|
16
16
|
export * from '../../utils/isFilePathAbsoluteFilesystem.js';
|
|
17
17
|
export * from '../../utils/isArray.js';
|
|
18
|
+
export * from '../../utils/isObject.js';
|
|
18
19
|
export * from '../../utils/changeEnumerable.js';
|
|
@@ -19,21 +19,24 @@ import type { ResolvedConfig, ViteDevServer } from 'vite';
|
|
|
19
19
|
import type { VikeConfigGlobal } from '../plugin/plugins/importUserCode/v1-design/getVikeConfig.js';
|
|
20
20
|
import { type RuntimeManifest } from '../shared/assertRuntimeManifest.js';
|
|
21
21
|
import type { VikeConfigObject } from '../plugin/plugins/importUserCode/v1-design/getVikeConfig.js';
|
|
22
|
+
import type { ConfigUserFriendly } from '../../shared/page-configs/getPageConfigUserFriendly.js';
|
|
22
23
|
type GlobalContextPublic = {
|
|
23
24
|
assetsManifest: null | ViteManifest;
|
|
24
25
|
};
|
|
26
|
+
type PageRuntimeInfo = Awaited<ReturnType<typeof getPageRuntimeInfo>>['userFiles'];
|
|
25
27
|
type GlobalContext = {
|
|
26
28
|
baseServer: string;
|
|
27
29
|
baseAssets: null | string;
|
|
28
30
|
includeAssetsImportedByServer: boolean;
|
|
29
|
-
redirects: Record<string, string>;
|
|
30
31
|
trailingSlash: boolean;
|
|
31
32
|
disableUrlNormalization: boolean;
|
|
32
|
-
|
|
33
|
+
vikeConfig: {
|
|
34
|
+
global: ConfigUserFriendly;
|
|
35
|
+
};
|
|
36
|
+
} & PageRuntimeInfo & ({
|
|
33
37
|
isProduction: false;
|
|
34
38
|
isPrerendering: false;
|
|
35
39
|
viteConfig: ResolvedConfig;
|
|
36
|
-
vikeConfig: VikeConfigObject;
|
|
37
40
|
viteDevServer: ViteDevServer;
|
|
38
41
|
assetsManifest: null;
|
|
39
42
|
} | ({
|
|
@@ -63,6 +66,17 @@ declare function getViteConfig(): ResolvedConfig | null;
|
|
|
63
66
|
declare function initGlobalContext_renderPage(): Promise<void>;
|
|
64
67
|
declare function initGlobalContext_runPrerender(): Promise<void>;
|
|
65
68
|
declare function initGlobalContext_getGlobalContextAsync(isProduction: boolean): Promise<void>;
|
|
69
|
+
declare function getPageRuntimeInfo(isProduction: boolean): Promise<{
|
|
70
|
+
userFiles: {
|
|
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
|
+
pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
|
|
76
|
+
onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
|
|
77
|
+
};
|
|
78
|
+
globalConfig: ConfigUserFriendly;
|
|
79
|
+
}>;
|
|
66
80
|
declare function getRuntimeManifest(vikeConfigGlobal: VikeConfigGlobal, viteConfig: ResolvedConfig): RuntimeManifest;
|
|
67
81
|
declare function setGlobalContext_buildEntry(buildEntry: unknown): void;
|
|
68
82
|
declare function clearGlobalContext(): void;
|
|
@@ -19,11 +19,13 @@ export { clearGlobalContext };
|
|
|
19
19
|
import { assert, onSetupRuntime, assertUsage, assertWarning, isPlainObject, objectAssign, objectReplace, objectKeys, isObject, hasProp, debugGlob, getGlobalObject, genPromise, createDebugger } from './utils.js';
|
|
20
20
|
import { importServerProductionEntry } from '@brillout/vite-plugin-server-entry/runtime';
|
|
21
21
|
import { virtualFileIdImportUserCodeServer } from '../shared/virtual-files/virtualFileImportUserCode.js';
|
|
22
|
-
import { setPageFiles, setPageFilesAsync } from '../../shared/getPageFiles/getPageFiles.js';
|
|
22
|
+
import { getPageFilesAll, setPageFiles, setPageFilesAsync } from '../../shared/getPageFiles/getPageFiles.js';
|
|
23
23
|
import { assertPluginManifest } from '../shared/assertPluginManifest.js';
|
|
24
24
|
import { assertRuntimeManifest } from '../shared/assertRuntimeManifest.js';
|
|
25
25
|
import pc from '@brillout/picocolors';
|
|
26
26
|
import { resolveBaseFromResolvedConfig } from '../shared/resolveBase.js';
|
|
27
|
+
import { loadPageRoutes } from '../../shared/route/loadPageRoutes.js';
|
|
28
|
+
import { assertV1Design } from '../shared/assertV1Design.js';
|
|
27
29
|
const debug = createDebugger('vike:globalContext');
|
|
28
30
|
const globalObject = getGlobalObject('globalContext.ts', getInitialGlobalContext());
|
|
29
31
|
initDevEntry();
|
|
@@ -49,6 +51,7 @@ async function getGlobalContextAsync(isProduction) {
|
|
|
49
51
|
}
|
|
50
52
|
function makePublic(globalContext) {
|
|
51
53
|
const globalContextPublic = {
|
|
54
|
+
// TODO/now: add viteConfig and vikeConfig
|
|
52
55
|
assetsManifest: globalContext.assetsManifest
|
|
53
56
|
};
|
|
54
57
|
// Add internals (and prepended _ prefix to their keys)
|
|
@@ -142,6 +145,7 @@ async function initGlobalContext_getGlobalContextAsync(isProduction) {
|
|
|
142
145
|
}
|
|
143
146
|
await initGlobalContext(isProduction);
|
|
144
147
|
}
|
|
148
|
+
// TODO/now: refactor: move this to the top of the file
|
|
145
149
|
async function initGlobalContext(isProduction) {
|
|
146
150
|
if (globalObject.globalContext) {
|
|
147
151
|
assert(globalObject.globalContext.isProduction === isProduction);
|
|
@@ -156,6 +160,7 @@ async function initGlobalContext(isProduction) {
|
|
|
156
160
|
assert(vikeConfig);
|
|
157
161
|
assert(viteDevServer);
|
|
158
162
|
assert(!isPrerendering);
|
|
163
|
+
const { globalConfig, userFiles } = await getPageRuntimeInfo(isProduction);
|
|
159
164
|
const pluginManifest = getRuntimeManifest(vikeConfig.vikeConfigGlobal, viteConfig);
|
|
160
165
|
globalObject.globalContext = {
|
|
161
166
|
isProduction: false,
|
|
@@ -163,11 +168,13 @@ async function initGlobalContext(isProduction) {
|
|
|
163
168
|
assetsManifest: null,
|
|
164
169
|
viteDevServer,
|
|
165
170
|
viteConfig,
|
|
166
|
-
vikeConfig
|
|
171
|
+
vikeConfig: {
|
|
172
|
+
global: globalConfig
|
|
173
|
+
},
|
|
174
|
+
...userFiles,
|
|
167
175
|
baseServer: pluginManifest.baseServer,
|
|
168
176
|
baseAssets: pluginManifest.baseAssets,
|
|
169
177
|
includeAssetsImportedByServer: pluginManifest.includeAssetsImportedByServer,
|
|
170
|
-
redirects: pluginManifest.redirects,
|
|
171
178
|
trailingSlash: pluginManifest.trailingSlash,
|
|
172
179
|
disableUrlNormalization: pluginManifest.disableUrlNormalization
|
|
173
180
|
};
|
|
@@ -176,16 +183,20 @@ async function initGlobalContext(isProduction) {
|
|
|
176
183
|
const buildEntry = await getBuildEntry(globalObject.outDirRoot);
|
|
177
184
|
const { assetsManifest, pluginManifest } = buildEntry;
|
|
178
185
|
setPageFiles(buildEntry.pageFiles);
|
|
186
|
+
const { globalConfig, userFiles } = await getPageRuntimeInfo(isProduction);
|
|
179
187
|
assertViteManifest(assetsManifest);
|
|
180
188
|
assertPluginManifest(pluginManifest);
|
|
181
189
|
const globalContext = {
|
|
182
190
|
isProduction: true,
|
|
183
191
|
assetsManifest,
|
|
192
|
+
vikeConfig: {
|
|
193
|
+
global: globalConfig
|
|
194
|
+
},
|
|
195
|
+
...userFiles,
|
|
184
196
|
viteDevServer: null,
|
|
185
197
|
baseServer: pluginManifest.baseServer,
|
|
186
198
|
baseAssets: pluginManifest.baseAssets,
|
|
187
199
|
includeAssetsImportedByServer: pluginManifest.includeAssetsImportedByServer,
|
|
188
|
-
redirects: pluginManifest.redirects,
|
|
189
200
|
trailingSlash: pluginManifest.trailingSlash,
|
|
190
201
|
usesClientRouter: pluginManifest.usesClientRouter,
|
|
191
202
|
disableUrlNormalization: pluginManifest.disableUrlNormalization
|
|
@@ -207,14 +218,29 @@ async function initGlobalContext(isProduction) {
|
|
|
207
218
|
}
|
|
208
219
|
}
|
|
209
220
|
}
|
|
221
|
+
async function getPageRuntimeInfo(isProduction) {
|
|
222
|
+
const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, globalConfig } = await getPageFilesAll(false, isProduction);
|
|
223
|
+
const { pageRoutes, onBeforeRouteHook } = await loadPageRoutes(pageFilesAll, pageConfigs, pageConfigGlobal, allPageIds);
|
|
224
|
+
const userFiles = {
|
|
225
|
+
pageFilesAll,
|
|
226
|
+
pageConfigs,
|
|
227
|
+
pageConfigGlobal,
|
|
228
|
+
allPageIds,
|
|
229
|
+
pageRoutes,
|
|
230
|
+
onBeforeRouteHook
|
|
231
|
+
};
|
|
232
|
+
assertV1Design(
|
|
233
|
+
// pageConfigs is PageConfigRuntime[] but assertV1Design() requires PageConfigBuildTime[]
|
|
234
|
+
pageConfigs.length > 0, pageFilesAll);
|
|
235
|
+
return { userFiles, globalConfig };
|
|
236
|
+
}
|
|
210
237
|
function getRuntimeManifest(vikeConfigGlobal, viteConfig) {
|
|
211
|
-
const { includeAssetsImportedByServer,
|
|
238
|
+
const { includeAssetsImportedByServer, trailingSlash, disableUrlNormalization } = vikeConfigGlobal;
|
|
212
239
|
const { baseServer, baseAssets } = resolveBaseFromResolvedConfig(vikeConfigGlobal.baseServer, vikeConfigGlobal.baseAssets, viteConfig);
|
|
213
240
|
const manifest = {
|
|
214
241
|
baseServer,
|
|
215
242
|
baseAssets,
|
|
216
243
|
includeAssetsImportedByServer,
|
|
217
|
-
redirects,
|
|
218
244
|
trailingSlash,
|
|
219
245
|
disableUrlNormalization
|
|
220
246
|
};
|
|
@@ -2,17 +2,11 @@ export { renderPageAlreadyRouted };
|
|
|
2
2
|
export { prerenderPage };
|
|
3
3
|
export { prerender404Page };
|
|
4
4
|
export { getPageContextInitEnhanced };
|
|
5
|
-
export { getRenderContext };
|
|
6
|
-
export type { RenderContext };
|
|
7
5
|
export type { PageContextAfterRender };
|
|
8
6
|
export type { PageContextInitEnhanced };
|
|
9
|
-
import type { PageFile } from '../../../shared/getPageFiles/getPageFileObject.js';
|
|
10
7
|
import { type PageContextUrlInternal } from '../../../shared/getPageContextUrlComputed.js';
|
|
11
8
|
import { HttpResponse } from './createHttpResponse.js';
|
|
12
9
|
import { PageContext_loadUserFilesServerSide, type PageFiles } from './loadUserFilesServerSide.js';
|
|
13
|
-
import type { PageConfigRuntime, PageConfigGlobalRuntime } from '../../../shared/page-configs/PageConfig.js';
|
|
14
|
-
import { type PageRoutes } from '../../../shared/route/loadPageRoutes.js';
|
|
15
|
-
import type { Hook } from '../../../shared/hooks/getHook.js';
|
|
16
10
|
type PageContextAfterRender = {
|
|
17
11
|
httpResponse: HttpResponse;
|
|
18
12
|
errorWhileRendering: null | Error;
|
|
@@ -45,12 +39,12 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
|
|
|
45
39
|
_baseServer: string;
|
|
46
40
|
_baseAssets: string | null;
|
|
47
41
|
_includeAssetsImportedByServer: boolean;
|
|
48
|
-
_pageFilesAll: PageFile[];
|
|
49
|
-
_pageConfigs:
|
|
50
|
-
_pageConfigGlobal: PageConfigGlobalRuntime;
|
|
42
|
+
_pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
|
|
43
|
+
_pageConfigs: import("../../../__internal/index.js").PageConfig[];
|
|
44
|
+
_pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
51
45
|
_allPageIds: string[];
|
|
52
|
-
_pageRoutes: PageRoutes;
|
|
53
|
-
_onBeforeRouteHook: Hook | null;
|
|
46
|
+
_pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
47
|
+
_onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
54
48
|
_pageContextInit: {
|
|
55
49
|
urlOriginal: string;
|
|
56
50
|
headersOriginal?: unknown;
|
|
@@ -96,12 +90,12 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
|
|
|
96
90
|
_baseServer: string;
|
|
97
91
|
_baseAssets: string | null;
|
|
98
92
|
_includeAssetsImportedByServer: boolean;
|
|
99
|
-
_pageFilesAll: PageFile[];
|
|
100
|
-
_pageConfigs:
|
|
101
|
-
_pageConfigGlobal: PageConfigGlobalRuntime;
|
|
93
|
+
_pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
|
|
94
|
+
_pageConfigs: import("../../../__internal/index.js").PageConfig[];
|
|
95
|
+
_pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
102
96
|
_allPageIds: string[];
|
|
103
|
-
_pageRoutes: PageRoutes;
|
|
104
|
-
_onBeforeRouteHook: Hook | null;
|
|
97
|
+
_pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
98
|
+
_onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
105
99
|
_pageContextInit: {
|
|
106
100
|
urlOriginal: string;
|
|
107
101
|
headersOriginal?: unknown;
|
|
@@ -136,7 +130,7 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
|
|
|
136
130
|
_urlHandler: null;
|
|
137
131
|
};
|
|
138
132
|
}>;
|
|
139
|
-
declare function prerender404Page(
|
|
133
|
+
declare function prerender404Page(pageContextInit_: Record<string, unknown> | null): Promise<{
|
|
140
134
|
documentHtml: string;
|
|
141
135
|
pageContextSerialized: null;
|
|
142
136
|
pageContext: {
|
|
@@ -148,12 +142,12 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
|
|
|
148
142
|
_baseServer: string;
|
|
149
143
|
_baseAssets: string | null;
|
|
150
144
|
_includeAssetsImportedByServer: boolean;
|
|
151
|
-
_pageFilesAll: PageFile[];
|
|
152
|
-
_pageConfigs:
|
|
153
|
-
_pageConfigGlobal: PageConfigGlobalRuntime;
|
|
145
|
+
_pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
|
|
146
|
+
_pageConfigs: import("../../../__internal/index.js").PageConfig[];
|
|
147
|
+
_pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
154
148
|
_allPageIds: string[];
|
|
155
|
-
_pageRoutes: PageRoutes;
|
|
156
|
-
_onBeforeRouteHook: Hook | null;
|
|
149
|
+
_pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
150
|
+
_onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
157
151
|
_pageContextInit: {
|
|
158
152
|
urlOriginal: string;
|
|
159
153
|
headersOriginal?: unknown;
|
|
@@ -199,12 +193,12 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
|
|
|
199
193
|
_baseServer: string;
|
|
200
194
|
_baseAssets: string | null;
|
|
201
195
|
_includeAssetsImportedByServer: boolean;
|
|
202
|
-
_pageFilesAll: PageFile[];
|
|
203
|
-
_pageConfigs:
|
|
204
|
-
_pageConfigGlobal: PageConfigGlobalRuntime;
|
|
196
|
+
_pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
|
|
197
|
+
_pageConfigs: import("../../../__internal/index.js").PageConfig[];
|
|
198
|
+
_pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
205
199
|
_allPageIds: string[];
|
|
206
|
-
_pageRoutes: PageRoutes;
|
|
207
|
-
_onBeforeRouteHook: Hook | null;
|
|
200
|
+
_pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
201
|
+
_onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
208
202
|
_pageContextInit: {
|
|
209
203
|
urlOriginal: string;
|
|
210
204
|
headersOriginal?: unknown;
|
|
@@ -244,7 +238,7 @@ declare function getPageContextInitEnhanced(pageContextInit: {
|
|
|
244
238
|
urlOriginal: string;
|
|
245
239
|
headersOriginal?: unknown;
|
|
246
240
|
headers?: unknown;
|
|
247
|
-
},
|
|
241
|
+
}, { ssr: { urlRewrite, urlHandler, isClientSideNavigation } }?: {
|
|
248
242
|
ssr?: {
|
|
249
243
|
urlRewrite: null | string;
|
|
250
244
|
urlHandler: null | ((url: string) => string);
|
|
@@ -259,12 +253,12 @@ declare function getPageContextInitEnhanced(pageContextInit: {
|
|
|
259
253
|
_baseServer: string;
|
|
260
254
|
_baseAssets: string | null;
|
|
261
255
|
_includeAssetsImportedByServer: boolean;
|
|
262
|
-
_pageFilesAll: PageFile[];
|
|
263
|
-
_pageConfigs:
|
|
264
|
-
_pageConfigGlobal: PageConfigGlobalRuntime;
|
|
256
|
+
_pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
|
|
257
|
+
_pageConfigs: import("../../../__internal/index.js").PageConfig[];
|
|
258
|
+
_pageConfigGlobal: import("../../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
|
|
265
259
|
_allPageIds: string[];
|
|
266
|
-
_pageRoutes: PageRoutes;
|
|
267
|
-
_onBeforeRouteHook: Hook | null;
|
|
260
|
+
_pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
261
|
+
_onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
268
262
|
_pageContextInit: {
|
|
269
263
|
urlOriginal: string;
|
|
270
264
|
headersOriginal?: unknown;
|
|
@@ -280,12 +274,3 @@ declare function getPageContextInitEnhanced(pageContextInit: {
|
|
|
280
274
|
} & {
|
|
281
275
|
headers: Record<string, string> | null;
|
|
282
276
|
};
|
|
283
|
-
type RenderContext = {
|
|
284
|
-
pageFilesAll: PageFile[];
|
|
285
|
-
pageConfigs: PageConfigRuntime[];
|
|
286
|
-
pageConfigGlobal: PageConfigGlobalRuntime;
|
|
287
|
-
allPageIds: string[];
|
|
288
|
-
pageRoutes: PageRoutes;
|
|
289
|
-
onBeforeRouteHook: Hook | null;
|
|
290
|
-
};
|
|
291
|
-
declare function getRenderContext(): Promise<RenderContext>;
|
|
@@ -2,10 +2,8 @@ export { renderPageAlreadyRouted };
|
|
|
2
2
|
export { prerenderPage };
|
|
3
3
|
export { prerender404Page };
|
|
4
4
|
export { getPageContextInitEnhanced };
|
|
5
|
-
export { getRenderContext };
|
|
6
5
|
import { getErrorPageId } from '../../../shared/error-page.js';
|
|
7
6
|
import { getHtmlString } from '../html/renderHtml.js';
|
|
8
|
-
import { getPageFilesAll } from '../../../shared/getPageFiles/getPageFiles.js';
|
|
9
7
|
import { assert, assertUsage, assertWarning, hasProp, normalizeHeaders, objectAssign } from '../utils.js';
|
|
10
8
|
import { serializePageContextClientSide } from '../html/serializePageContextClientSide.js';
|
|
11
9
|
import { getPageContextUrlComputed } from '../../../shared/getPageContextUrlComputed.js';
|
|
@@ -18,10 +16,8 @@ import { logRuntimeError } from './loggerRuntime.js';
|
|
|
18
16
|
import { isNewError } from './isNewError.js';
|
|
19
17
|
import { preparePageContextForUserConsumptionServerSide } from './preparePageContextForUserConsumptionServerSide.js';
|
|
20
18
|
import { executeGuardHook } from '../../../shared/route/executeGuardHook.js';
|
|
21
|
-
import { loadPageRoutes } from '../../../shared/route/loadPageRoutes.js';
|
|
22
19
|
import pc from '@brillout/picocolors';
|
|
23
20
|
import { isServerSideError } from '../../../shared/misc/isServerSideError.js';
|
|
24
|
-
import { assertV1Design } from '../../shared/assertV1Design.js';
|
|
25
21
|
async function renderPageAlreadyRouted(pageContext) {
|
|
26
22
|
// pageContext.pageId can either be the:
|
|
27
23
|
// - ID of the page matching the routing, or the
|
|
@@ -84,8 +80,9 @@ async function prerenderPage(pageContext) {
|
|
|
84
80
|
return { documentHtml, pageContextSerialized, pageContext };
|
|
85
81
|
}
|
|
86
82
|
}
|
|
87
|
-
async function prerender404Page(
|
|
88
|
-
const
|
|
83
|
+
async function prerender404Page(pageContextInit_) {
|
|
84
|
+
const globalContext = getGlobalContext();
|
|
85
|
+
const errorPageId = getErrorPageId(globalContext.pageFilesAll, globalContext.pageConfigs);
|
|
89
86
|
if (!errorPageId) {
|
|
90
87
|
return null;
|
|
91
88
|
}
|
|
@@ -104,13 +101,13 @@ async function prerender404Page(renderContext, pageContextInit_) {
|
|
|
104
101
|
};
|
|
105
102
|
objectAssign(pageContextInit, pageContextInit_);
|
|
106
103
|
{
|
|
107
|
-
const pageContextInitEnhanced = getPageContextInitEnhanced(pageContextInit
|
|
104
|
+
const pageContextInitEnhanced = getPageContextInitEnhanced(pageContextInit);
|
|
108
105
|
objectAssign(pageContext, pageContextInitEnhanced);
|
|
109
106
|
}
|
|
110
107
|
objectAssign(pageContext, await loadUserFilesServerSide(pageContext));
|
|
111
108
|
return prerenderPage(pageContext);
|
|
112
109
|
}
|
|
113
|
-
function getPageContextInitEnhanced(pageContextInit,
|
|
110
|
+
function getPageContextInitEnhanced(pageContextInit, { ssr: { urlRewrite, urlHandler, isClientSideNavigation } = {
|
|
114
111
|
urlRewrite: null,
|
|
115
112
|
urlHandler: null,
|
|
116
113
|
isClientSideNavigation: false
|
|
@@ -126,12 +123,12 @@ function getPageContextInitEnhanced(pageContextInit, renderContext, { ssr: { url
|
|
|
126
123
|
_baseAssets: globalContext.baseAssets,
|
|
127
124
|
_includeAssetsImportedByServer: globalContext.includeAssetsImportedByServer,
|
|
128
125
|
// TODO: use GloablContext instead
|
|
129
|
-
_pageFilesAll:
|
|
130
|
-
_pageConfigs:
|
|
131
|
-
_pageConfigGlobal:
|
|
132
|
-
_allPageIds:
|
|
133
|
-
_pageRoutes:
|
|
134
|
-
_onBeforeRouteHook:
|
|
126
|
+
_pageFilesAll: globalContext.pageFilesAll,
|
|
127
|
+
_pageConfigs: globalContext.pageConfigs,
|
|
128
|
+
_pageConfigGlobal: globalContext.pageConfigGlobal,
|
|
129
|
+
_allPageIds: globalContext.allPageIds,
|
|
130
|
+
_pageRoutes: globalContext.pageRoutes,
|
|
131
|
+
_onBeforeRouteHook: globalContext.onBeforeRouteHook,
|
|
135
132
|
_pageContextInit: pageContextInit,
|
|
136
133
|
_urlRewrite: urlRewrite,
|
|
137
134
|
_urlHandler: urlHandler,
|
|
@@ -159,22 +156,3 @@ function getPageContextInitEnhanced(pageContextInit, renderContext, { ssr: { url
|
|
|
159
156
|
}
|
|
160
157
|
return pageContextInitEnhanced;
|
|
161
158
|
}
|
|
162
|
-
// TODO: remove getRenderContext() in favor of getGlobalObject() + reloadGlobalContext()
|
|
163
|
-
// TODO: impl GlobalNodeContext + GlobalClientContext + GloablContext, and use GlobalContext instead of RenderContext
|
|
164
|
-
async function getRenderContext() {
|
|
165
|
-
const globalContext = getGlobalContext();
|
|
166
|
-
const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal } = await getPageFilesAll(false, globalContext.isProduction);
|
|
167
|
-
const { pageRoutes, onBeforeRouteHook } = await loadPageRoutes(pageFilesAll, pageConfigs, pageConfigGlobal, allPageIds);
|
|
168
|
-
assertV1Design(
|
|
169
|
-
// pageConfigs is PageConfigRuntime[] but assertV1Design() requires PageConfigBuildTime[]
|
|
170
|
-
pageConfigs.length > 0, pageFilesAll);
|
|
171
|
-
const renderContext = {
|
|
172
|
-
pageFilesAll,
|
|
173
|
-
pageConfigs,
|
|
174
|
-
pageConfigGlobal,
|
|
175
|
-
allPageIds,
|
|
176
|
-
pageRoutes,
|
|
177
|
-
onBeforeRouteHook
|
|
178
|
-
};
|
|
179
|
-
return renderContext;
|
|
180
|
-
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
export { resolveRedirects };
|
|
2
2
|
export { resolveRouteStringRedirect };
|
|
3
|
-
declare function resolveRedirects(
|
|
3
|
+
declare function resolveRedirects(redirectsAll: Record<string, string>[], urlPathname: string): null | string;
|
|
4
4
|
declare function resolveRouteStringRedirect(urlSource: string, urlTarget: string, urlPathname: string): null | string;
|
|
@@ -9,7 +9,8 @@ import pc from '@brillout/picocolors';
|
|
|
9
9
|
assertIsNotBrowser(); // Don't bloat the client
|
|
10
10
|
// TODO/next-major-release: update
|
|
11
11
|
const configSrc = '[vite.config.js > vike({ redirects })]';
|
|
12
|
-
function resolveRedirects(
|
|
12
|
+
function resolveRedirects(redirectsAll, urlPathname) {
|
|
13
|
+
const redirects = merge(redirectsAll);
|
|
13
14
|
for (const [urlSource, urlTarget] of Object.entries(redirects)) {
|
|
14
15
|
const urlResolved = resolveRouteStringRedirect(urlSource, urlTarget, urlPathname);
|
|
15
16
|
if (urlResolved)
|
|
@@ -40,3 +41,10 @@ function assertParams(urlSource, urlTarget) {
|
|
|
40
41
|
}
|
|
41
42
|
});
|
|
42
43
|
}
|
|
44
|
+
function merge(objs) {
|
|
45
|
+
const obj = {};
|
|
46
|
+
objs.forEach((e) => {
|
|
47
|
+
Object.assign(obj, e);
|
|
48
|
+
});
|
|
49
|
+
return obj;
|
|
50
|
+
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { renderPage };
|
|
2
2
|
export { renderPage_addWrapper };
|
|
3
|
-
import {
|
|
3
|
+
import { getPageContextInitEnhanced, renderPageAlreadyRouted } from './renderPage/renderPageAlreadyRouted.js';
|
|
4
4
|
import { route } from '../../shared/route/index.js';
|
|
5
5
|
import { assert, hasProp, objectAssign, isUrl, parseUrl, onSetupRuntime, assertWarning, getGlobalObject, checkType, assertUsage, normalizeUrlPathname, removeBaseServer, modifyUrlPathname, prependBase, removeUrlOrigin, setUrlOrigin, createUrlFromComponents, isUri, getUrlPretty } from './utils.js';
|
|
6
6
|
import { assertNoInfiniteAbortLoop, getPageContextFromAllRewrites, isAbortError, logAbortErrorHandled } from '../../shared/route/abort.js';
|
|
@@ -60,10 +60,8 @@ async function renderPageAndPrepare(pageContextInit, httpRequestId) {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
// Prepare context
|
|
63
|
-
let renderContext;
|
|
64
63
|
try {
|
|
65
64
|
await initGlobalContext_renderPage();
|
|
66
|
-
renderContext = await getRenderContext();
|
|
67
65
|
}
|
|
68
66
|
catch (err) {
|
|
69
67
|
// Errors are expected since assertUsage() is used in both initGlobalContext_renderPage() and getRenderContext().
|
|
@@ -77,7 +75,7 @@ async function renderPageAndPrepare(pageContextInit, httpRequestId) {
|
|
|
77
75
|
return handleInvalidConfig(isConfigInvalid.err);
|
|
78
76
|
}
|
|
79
77
|
else {
|
|
80
|
-
// From now on,
|
|
78
|
+
// From now on, gloablContext contains all the configuration data; getVikeConfig() isn't called anymore for this request
|
|
81
79
|
}
|
|
82
80
|
// Check Base URL
|
|
83
81
|
assertBaseUrl(pageContextInit);
|
|
@@ -93,9 +91,9 @@ async function renderPageAndPrepare(pageContextInit, httpRequestId) {
|
|
|
93
91
|
if (pageContextHttpResponse)
|
|
94
92
|
return pageContextHttpResponse;
|
|
95
93
|
}
|
|
96
|
-
return await renderPageAlreadyPrepared(pageContextInit, httpRequestId,
|
|
94
|
+
return await renderPageAlreadyPrepared(pageContextInit, httpRequestId, []);
|
|
97
95
|
}
|
|
98
|
-
async function renderPageAlreadyPrepared(pageContextInit, httpRequestId,
|
|
96
|
+
async function renderPageAlreadyPrepared(pageContextInit, httpRequestId, pageContextsFromRewrite) {
|
|
99
97
|
assertNoInfiniteAbortLoop(pageContextsFromRewrite.length,
|
|
100
98
|
// There doesn't seem to be a way to count the number of HTTP redirects (vike don't have access to the HTTP request headers/cookies)
|
|
101
99
|
// https://stackoverflow.com/questions/9683007/detect-infinite-http-redirect-loop-on-server-side
|
|
@@ -107,7 +105,7 @@ async function renderPageAlreadyPrepared(pageContextInit, httpRequestId, renderC
|
|
|
107
105
|
objectAssign(pageContextNominalPageInit, pageContextFromAllRewrites);
|
|
108
106
|
}
|
|
109
107
|
{
|
|
110
|
-
const pageContextInitEnhanced = getPageContextInitEnhancedSSR(pageContextInit,
|
|
108
|
+
const pageContextInitEnhanced = getPageContextInitEnhancedSSR(pageContextInit, pageContextNominalPageInit._urlRewrite, httpRequestId);
|
|
111
109
|
objectAssign(pageContextNominalPageInit, pageContextInitEnhanced);
|
|
112
110
|
}
|
|
113
111
|
let errNominalPage;
|
|
@@ -139,10 +137,10 @@ async function renderPageAlreadyPrepared(pageContextInit, httpRequestId, renderC
|
|
|
139
137
|
assert(pageContextNominalPageSuccess === undefined);
|
|
140
138
|
assert(pageContextNominalPageInit);
|
|
141
139
|
assert(hasProp(pageContextNominalPageInit, 'urlOriginal', 'string'));
|
|
142
|
-
const pageContextErrorPageInit = await getPageContextErrorPageInit(pageContextInit, errNominalPage, pageContextNominalPageInit,
|
|
140
|
+
const pageContextErrorPageInit = await getPageContextErrorPageInit(pageContextInit, errNominalPage, pageContextNominalPageInit, httpRequestId);
|
|
143
141
|
// Handle `throw redirect()` and `throw render()` while rendering nominal page
|
|
144
142
|
if (isAbortError(errNominalPage)) {
|
|
145
|
-
const handled = await handleAbortError(errNominalPage, pageContextsFromRewrite, pageContextInit, pageContextNominalPageInit, httpRequestId,
|
|
143
|
+
const handled = await handleAbortError(errNominalPage, pageContextsFromRewrite, pageContextInit, pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit);
|
|
146
144
|
if (handled.pageContextReturn) {
|
|
147
145
|
// - throw redirect()
|
|
148
146
|
// - throw render(url)
|
|
@@ -155,7 +153,8 @@ async function renderPageAlreadyPrepared(pageContextInit, httpRequestId, renderC
|
|
|
155
153
|
Object.assign(pageContextErrorPageInit, handled.pageContextAbort);
|
|
156
154
|
}
|
|
157
155
|
{
|
|
158
|
-
const
|
|
156
|
+
const globalContext = getGlobalContext();
|
|
157
|
+
const errorPageId = getErrorPageId(globalContext.pageFilesAll, globalContext.pageConfigs);
|
|
159
158
|
if (!errorPageId) {
|
|
160
159
|
objectAssign(pageContextErrorPageInit, { pageId: null });
|
|
161
160
|
return handleErrorWithoutErrorPage(pageContextErrorPageInit);
|
|
@@ -171,7 +170,7 @@ async function renderPageAlreadyPrepared(pageContextInit, httpRequestId, renderC
|
|
|
171
170
|
catch (errErrorPage) {
|
|
172
171
|
// Handle `throw redirect()` and `throw render()` while rendering error page
|
|
173
172
|
if (isAbortError(errErrorPage)) {
|
|
174
|
-
const handled = await handleAbortError(errErrorPage, pageContextsFromRewrite, pageContextInit, pageContextNominalPageInit, httpRequestId,
|
|
173
|
+
const handled = await handleAbortError(errErrorPage, pageContextsFromRewrite, pageContextInit, pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit);
|
|
175
174
|
// throw render(abortStatusCode)
|
|
176
175
|
if (!handled.pageContextReturn) {
|
|
177
176
|
const pageContextAbort = errErrorPage._pageContextAbort;
|
|
@@ -287,8 +286,8 @@ async function renderPageNominal(pageContext) {
|
|
|
287
286
|
assert(pageContext === pageContextAfterRender);
|
|
288
287
|
return pageContextAfterRender;
|
|
289
288
|
}
|
|
290
|
-
async function getPageContextErrorPageInit(pageContextInit, errNominalPage, pageContextNominalPagePartial,
|
|
291
|
-
const pageContextInitEnhanced = getPageContextInitEnhancedSSR(pageContextInit,
|
|
289
|
+
async function getPageContextErrorPageInit(pageContextInit, errNominalPage, pageContextNominalPagePartial, httpRequestId) {
|
|
290
|
+
const pageContextInitEnhanced = getPageContextInitEnhancedSSR(pageContextInit, null, httpRequestId);
|
|
292
291
|
assert(errNominalPage);
|
|
293
292
|
const pageContext = {};
|
|
294
293
|
objectAssign(pageContext, pageContextInitEnhanced);
|
|
@@ -303,9 +302,9 @@ async function getPageContextErrorPageInit(pageContextInit, errNominalPage, page
|
|
|
303
302
|
assert(pageContext.errorWhileRendering);
|
|
304
303
|
return pageContext;
|
|
305
304
|
}
|
|
306
|
-
function getPageContextInitEnhancedSSR(pageContextInit,
|
|
305
|
+
function getPageContextInitEnhancedSSR(pageContextInit, urlRewrite, httpRequestId) {
|
|
307
306
|
const { isClientSideNavigation, _urlHandler } = handlePageContextUrl(pageContextInit.urlOriginal);
|
|
308
|
-
const pageContextInitEnhanced = getPageContextInitEnhanced(pageContextInit,
|
|
307
|
+
const pageContextInitEnhanced = getPageContextInitEnhanced(pageContextInit, {
|
|
309
308
|
ssr: {
|
|
310
309
|
urlRewrite,
|
|
311
310
|
urlHandler: _urlHandler,
|
|
@@ -354,12 +353,12 @@ function normalizeUrl(pageContextInit, httpRequestId) {
|
|
|
354
353
|
return pageContextHttpResponse;
|
|
355
354
|
}
|
|
356
355
|
function getPermanentRedirect(pageContextInit, httpRequestId) {
|
|
357
|
-
const
|
|
358
|
-
const urlWithoutBase = removeBaseServer(pageContextInit.urlOriginal, baseServer);
|
|
356
|
+
const globalContext = getGlobalContext();
|
|
357
|
+
const urlWithoutBase = removeBaseServer(pageContextInit.urlOriginal, globalContext.baseServer);
|
|
359
358
|
let origin = null;
|
|
360
359
|
let urlTargetExternal = null;
|
|
361
360
|
let urlTarget = modifyUrlPathname(urlWithoutBase, (urlPathname) => {
|
|
362
|
-
const urlTarget = resolveRedirects(redirects, urlPathname);
|
|
361
|
+
const urlTarget = resolveRedirects(globalContext.vikeConfig.global.config.redirects ?? [], urlPathname);
|
|
363
362
|
if (urlTarget === null)
|
|
364
363
|
return null;
|
|
365
364
|
if (!isUrl(urlTarget)) {
|
|
@@ -387,7 +386,7 @@ function getPermanentRedirect(pageContextInit, httpRequestId) {
|
|
|
387
386
|
if (normalize(urlTarget) === normalize(urlWithoutBase))
|
|
388
387
|
return null;
|
|
389
388
|
if (!originChanged)
|
|
390
|
-
urlTarget = prependBase(urlTarget, baseServer);
|
|
389
|
+
urlTarget = prependBase(urlTarget, globalContext.baseServer);
|
|
391
390
|
assert(urlTarget !== pageContextInit.urlOriginal);
|
|
392
391
|
}
|
|
393
392
|
logRuntimeInfo?.(`Permanent redirection defined by config.redirects (https://vike.dev/redirects)`, httpRequestId, 'info');
|
|
@@ -401,13 +400,14 @@ function normalize(url) {
|
|
|
401
400
|
}
|
|
402
401
|
async function handleAbortError(errAbort, pageContextsFromRewrite, pageContextInit,
|
|
403
402
|
// handleAbortError() creates a new pageContext object and we don't merge pageContextNominalPageInit to it: we only use some pageContextNominalPageInit information.
|
|
404
|
-
pageContextNominalPageInit, httpRequestId,
|
|
403
|
+
pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit) {
|
|
405
404
|
logAbortErrorHandled(errAbort, getGlobalContext().isProduction, pageContextNominalPageInit);
|
|
406
405
|
const pageContextAbort = errAbort._pageContextAbort;
|
|
407
406
|
let pageContextSerialized;
|
|
408
407
|
if (pageContextNominalPageInit.isClientSideNavigation) {
|
|
409
408
|
if (pageContextAbort.abortStatusCode) {
|
|
410
|
-
const
|
|
409
|
+
const globalContext = getGlobalContext();
|
|
410
|
+
const errorPageId = getErrorPageId(globalContext.pageFilesAll, globalContext.pageConfigs);
|
|
411
411
|
const abortCall = pageContextAbort._abortCall;
|
|
412
412
|
assert(abortCall);
|
|
413
413
|
assertUsage(errorPageId, `You called ${pc.cyan(abortCall)} but you didn't define an error page, make sure to define one https://vike.dev/error-page`);
|
|
@@ -415,7 +415,6 @@ pageContextNominalPageInit, httpRequestId, renderContext, pageContextErrorPageIn
|
|
|
415
415
|
objectAssign(pageContext, { pageId: errorPageId });
|
|
416
416
|
objectAssign(pageContext, pageContextAbort);
|
|
417
417
|
objectAssign(pageContext, pageContextErrorPageInit);
|
|
418
|
-
objectAssign(pageContext, renderContext);
|
|
419
418
|
objectAssign(pageContext, await loadUserFilesServerSide(pageContext));
|
|
420
419
|
// We include pageContextInit: we don't only serialize pageContextAbort because the error page may need to access pageContextInit
|
|
421
420
|
pageContextSerialized = serializePageContextClientSide(pageContext);
|
|
@@ -428,7 +427,7 @@ pageContextNominalPageInit, httpRequestId, renderContext, pageContextErrorPageIn
|
|
|
428
427
|
return { pageContextReturn };
|
|
429
428
|
}
|
|
430
429
|
if (pageContextAbort._urlRewrite) {
|
|
431
|
-
const pageContextReturn = await renderPageAlreadyPrepared(pageContextInit, httpRequestId,
|
|
430
|
+
const pageContextReturn = await renderPageAlreadyPrepared(pageContextInit, httpRequestId, [
|
|
432
431
|
...pageContextsFromRewrite,
|
|
433
432
|
pageContextAbort
|
|
434
433
|
]);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { assertRuntimeManifest };
|
|
2
|
-
import { assert,
|
|
2
|
+
import { assert, checkType, hasProp, isBaseAssets, isBaseServer, isObject } from './utils.js';
|
|
3
3
|
function assertRuntimeManifest(obj) {
|
|
4
4
|
assert(obj);
|
|
5
5
|
assert(isObject(obj));
|
|
@@ -8,8 +8,6 @@ function assertRuntimeManifest(obj) {
|
|
|
8
8
|
assert(isBaseServer(obj.baseServer));
|
|
9
9
|
assert(isBaseAssets(obj.baseAssets));
|
|
10
10
|
assert(hasProp(obj, 'includeAssetsImportedByServer', 'boolean'));
|
|
11
|
-
assert(hasProp(obj, 'redirects', 'object'));
|
|
12
|
-
castType(obj);
|
|
13
11
|
assert(hasProp(obj, 'trailingSlash', 'boolean'));
|
|
14
12
|
assert(hasProp(obj, 'disableUrlNormalization', 'boolean'));
|
|
15
13
|
checkType(obj);
|
|
@@ -3,6 +3,7 @@ export { setPageFiles };
|
|
|
3
3
|
export { setPageFilesAsync };
|
|
4
4
|
import type { PageFile } from './getPageFileObject.js';
|
|
5
5
|
import type { PageConfigRuntime, PageConfigGlobalRuntime } from '../page-configs/PageConfig.js';
|
|
6
|
+
import { type ConfigUserFriendly } from '../page-configs/getPageConfigUserFriendly.js';
|
|
6
7
|
declare function setPageFiles(pageFilesExports: unknown): void;
|
|
7
8
|
declare function setPageFilesAsync(getPageFilesExports: () => Promise<unknown>): void;
|
|
8
9
|
declare function getPageFilesAll(isClientSide: boolean, isProduction?: boolean): Promise<{
|
|
@@ -10,4 +11,5 @@ declare function getPageFilesAll(isClientSide: boolean, isProduction?: boolean):
|
|
|
10
11
|
allPageIds: string[];
|
|
11
12
|
pageConfigs: PageConfigRuntime[];
|
|
12
13
|
pageConfigGlobal: PageConfigGlobalRuntime;
|
|
14
|
+
globalConfig: ConfigUserFriendly;
|
|
13
15
|
}>;
|