vike 0.4.237-commit-92dc549 → 0.4.237-commit-fd8294f
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/runtime-server-routing/utils.js +1 -1
- package/dist/cjs/node/api/build.js +4 -30
- package/dist/cjs/node/prerender/runPrerender.js +5 -6
- package/dist/cjs/node/runtime/renderPage/analyzePage.js +3 -1
- package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +1 -1
- package/dist/cjs/node/runtime/renderPage/execHookOnRenderHtml.js +1 -11
- package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +42 -46
- package/dist/cjs/node/runtime/renderPage/{renderPageAlreadyRouted.js → renderPageAfterRoute.js} +3 -4
- package/dist/cjs/node/runtime/renderPage.js +6 -9
- package/dist/cjs/node/runtime/utils.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +3 -5
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +8 -26
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +2 -9
- package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +3 -2
- package/dist/cjs/node/vite/plugins/pluginFileEnv.js +4 -3
- package/dist/cjs/node/vite/shared/getOutDirs.js +5 -4
- package/dist/cjs/node/vite/shared/isViteServerSide.js +46 -19
- package/dist/cjs/shared/page-configs/{loadPageEntry.js → loadAndParseVirtualFilePageEntry.js} +2 -2
- package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +5 -0
- package/dist/cjs/shared/route/execHookOnBeforeRoute.js +0 -1
- package/dist/cjs/shared/route/index.js +0 -1
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/{augmentType.js → updateType.js} +3 -3
- package/dist/esm/__internal/index.d.ts +1 -1
- package/dist/esm/client/runtime-client-routing/createPageContextClientSide.js +2 -2
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +6 -6
- package/dist/esm/client/runtime-client-routing/utils.d.ts +1 -1
- package/dist/esm/client/runtime-client-routing/utils.js +1 -1
- package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +3 -3
- package/dist/esm/client/runtime-server-routing/utils.d.ts +1 -1
- package/dist/esm/client/runtime-server-routing/utils.js +1 -1
- package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +2 -2
- package/dist/esm/node/api/build.js +5 -31
- package/dist/esm/node/prerender/runPrerender.d.ts +9 -300
- package/dist/esm/node/prerender/runPrerender.js +6 -7
- package/dist/esm/node/runtime/renderPage/analyzePage.d.ts +4 -3
- package/dist/esm/node/runtime/renderPage/analyzePage.js +3 -1
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +2 -2
- package/dist/esm/node/runtime/renderPage/execHookOnRenderHtml.d.ts +0 -1
- package/dist/esm/node/runtime/renderPage/execHookOnRenderHtml.js +1 -11
- package/dist/esm/node/runtime/renderPage/getPageAssets.d.ts +2 -4
- package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.d.ts +105 -19
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +44 -48
- package/dist/esm/node/runtime/renderPage/{renderPageAlreadyRouted.d.ts → renderPageAfterRoute.d.ts} +20 -4
- package/dist/esm/node/runtime/renderPage/{renderPageAlreadyRouted.js → renderPageAfterRoute.js} +5 -6
- package/dist/esm/node/runtime/renderPage.js +8 -11
- package/dist/esm/node/runtime/utils.d.ts +1 -1
- package/dist/esm/node/runtime/utils.js +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.d.ts +0 -1
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +5 -7
- package/dist/esm/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +10 -28
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildApp.js +2 -9
- package/dist/esm/node/vite/plugins/pluginDev/determineOptimizeDeps.js +3 -2
- package/dist/esm/node/vite/plugins/pluginFileEnv.js +4 -3
- package/dist/esm/node/vite/shared/getOutDirs.js +5 -4
- package/dist/esm/node/vite/shared/isViteServerSide.d.ts +1 -1
- package/dist/esm/node/vite/shared/isViteServerSide.js +46 -19
- package/dist/esm/shared/page-configs/loadAndParseVirtualFilePageEntry.d.ts +3 -0
- package/dist/esm/shared/page-configs/{loadPageEntry.js → loadAndParseVirtualFilePageEntry.js} +2 -2
- package/dist/esm/shared/page-configs/resolveVikeConfigPublic.js +5 -0
- package/dist/esm/shared/route/execHookOnBeforeRoute.d.ts +3 -3
- package/dist/esm/shared/route/execHookOnBeforeRoute.js +0 -1
- package/dist/esm/shared/route/index.d.ts +5 -6
- package/dist/esm/shared/route/index.js +0 -1
- package/dist/esm/types/Config.d.ts +2 -4
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/updateType.d.ts +3 -0
- package/dist/esm/utils/updateType.js +7 -0
- package/package.json +3 -3
- package/dist/cjs/node/runtime/renderPage/debugPageFiles.js +0 -52
- package/dist/esm/node/runtime/renderPage/debugPageFiles.d.ts +0 -23
- package/dist/esm/node/runtime/renderPage/debugPageFiles.js +0 -47
- package/dist/esm/shared/page-configs/loadPageEntry.d.ts +0 -3
- package/dist/esm/utils/augmentType.d.ts +0 -3
- package/dist/esm/utils/augmentType.js +0 -7
|
@@ -6,16 +6,16 @@ exports.isViteServerSide_withoutEnv = isViteServerSide_withoutEnv;
|
|
|
6
6
|
exports.isViteServerSide_onlySsrEnv = isViteServerSide_onlySsrEnv;
|
|
7
7
|
exports.isViteServerSide_extraSafe = isViteServerSide_extraSafe;
|
|
8
8
|
const assert_js_1 = require("../../../utils/assert.js");
|
|
9
|
-
function
|
|
9
|
+
function isViteServerSide_impl(configGlobal, viteEnv) {
|
|
10
10
|
(0, assert_js_1.assert)(!('consumer' in configGlobal)); // make sure configGlobal isn't viteEnv.config
|
|
11
11
|
const isServerSide1 = !viteEnv?.config.consumer ? null : viteEnv.config.consumer !== 'client';
|
|
12
|
-
const isServerSide2 = !viteEnv?.
|
|
13
|
-
const isServerSide3 = !
|
|
14
|
-
const isServerSide4 =
|
|
12
|
+
const isServerSide2 = !viteEnv?.config.build ? null : getBuildSsrValue(viteEnv.config.build.ssr);
|
|
13
|
+
const isServerSide3 = !configGlobal.build ? null : getBuildSsrValue(configGlobal.build.ssr);
|
|
14
|
+
const isServerSide4 = viteEnv?.name === 'ssr' ? true : viteEnv?.name === 'client' ? false : null;
|
|
15
15
|
const debug = {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
viteEnvIsUndefined: !viteEnv,
|
|
17
|
+
viteEnvName: viteEnv?.name ?? null,
|
|
18
|
+
viteEnvConsumer: viteEnv?.config.consumer ?? null,
|
|
19
19
|
configEnvBuildSsr: viteEnv?.config.build?.ssr ?? null,
|
|
20
20
|
configGlobalBuildSsr: configGlobal.build?.ssr ?? null,
|
|
21
21
|
isServerSide1,
|
|
@@ -24,25 +24,36 @@ function isViteServerSide_withoutEnv(configGlobal, viteEnv) {
|
|
|
24
24
|
isServerSide4,
|
|
25
25
|
};
|
|
26
26
|
if (isServerSide1 !== null) {
|
|
27
|
-
|
|
27
|
+
// assert(isServerSide1 === isServerSide4 || isServerSide4 === null, debug)
|
|
28
28
|
/* This assertion can fail, seems to be a Vite bug?
|
|
29
|
-
assert(isServerSide1 ===
|
|
29
|
+
assert(isServerSide1 === isServerSide2, debug)
|
|
30
30
|
*/
|
|
31
31
|
return isServerSide1;
|
|
32
32
|
}
|
|
33
33
|
if (isServerSide2 !== null) {
|
|
34
|
-
|
|
35
|
-
assert(isServerSide2 === isServerSide3, debug)
|
|
36
|
-
*/
|
|
34
|
+
// assert(isServerSide2 === isServerSide4 || isServerSide4 === null, debug)
|
|
37
35
|
return isServerSide2;
|
|
38
36
|
}
|
|
39
37
|
if (isServerSide3 !== null) {
|
|
38
|
+
// assert(isServerSide3 === isServerSide4 || isServerSide4 === null, debug)
|
|
40
39
|
return isServerSide3;
|
|
41
40
|
}
|
|
42
|
-
|
|
41
|
+
if (isServerSide4 !== null) {
|
|
42
|
+
return isServerSide4;
|
|
43
|
+
}
|
|
44
|
+
(0, assert_js_1.assert)(!viteEnv);
|
|
45
|
+
return !!configGlobal.build?.ssr;
|
|
46
|
+
}
|
|
47
|
+
function getBuildSsrValue(buildSsr) {
|
|
48
|
+
if (buildSsr === undefined)
|
|
49
|
+
return null;
|
|
50
|
+
return !!buildSsr;
|
|
43
51
|
}
|
|
44
52
|
function isViteServerSide(configGlobal, viteEnv) {
|
|
45
|
-
return
|
|
53
|
+
return isViteServerSide_impl(configGlobal, viteEnv);
|
|
54
|
+
}
|
|
55
|
+
function isViteServerSide_withoutEnv(configGlobal, viteEnv) {
|
|
56
|
+
return isViteServerSide_impl(configGlobal, viteEnv);
|
|
46
57
|
}
|
|
47
58
|
function isViteClientSide(configGlobal, viteEnv) {
|
|
48
59
|
return !isViteServerSide(configGlobal, viteEnv);
|
|
@@ -53,20 +64,36 @@ function isViteServerSide_onlySsrEnv(configGlobal, viteEnv) {
|
|
|
53
64
|
}
|
|
54
65
|
// Vite is quite messy about setting config.build.ssr — for security purposes, we use an extra safe implementation with lots of assertions, which is needed for the .client.js and .server.js guarantee.
|
|
55
66
|
function isViteServerSide_extraSafe(config, options, viteEnv) {
|
|
67
|
+
const isServerSide = isViteServerSide(config, viteEnv);
|
|
68
|
+
const debug = {
|
|
69
|
+
configCommand: config.command,
|
|
70
|
+
configBuildSsr: config.build.ssr,
|
|
71
|
+
optionsIsUndefined: options === undefined,
|
|
72
|
+
optionsSsr: options?.ssr,
|
|
73
|
+
isServerSide,
|
|
74
|
+
};
|
|
75
|
+
if (true) {
|
|
76
|
+
const res = options?.ssr;
|
|
77
|
+
if (typeof res === 'boolean') {
|
|
78
|
+
(0, assert_js_1.assert)(res === isServerSide, debug);
|
|
79
|
+
return res;
|
|
80
|
+
}
|
|
81
|
+
return isServerSide;
|
|
82
|
+
}
|
|
56
83
|
if (config.command === 'build') {
|
|
57
84
|
const res = config.build.ssr;
|
|
58
|
-
(0, assert_js_1.assert)(typeof res === 'boolean');
|
|
59
|
-
(0, assert_js_1.assert)(res === options?.ssr || options?.ssr === undefined);
|
|
60
|
-
(0, assert_js_1.assert)(res ===
|
|
85
|
+
(0, assert_js_1.assert)(typeof res === 'boolean', debug);
|
|
86
|
+
(0, assert_js_1.assert)(res === options?.ssr || options?.ssr === undefined, debug);
|
|
87
|
+
(0, assert_js_1.assert)(res === isServerSide, debug);
|
|
61
88
|
return res;
|
|
62
89
|
}
|
|
63
90
|
else {
|
|
64
91
|
const res = options?.ssr;
|
|
65
|
-
(0, assert_js_1.assert)(typeof res === 'boolean');
|
|
92
|
+
(0, assert_js_1.assert)(typeof res === 'boolean', debug);
|
|
66
93
|
/* This assertion can fail, seems to be a Vite bug? It's very unexpected.
|
|
67
94
|
if (typeof config.build.ssr === 'boolean') assert(res === config.build.ssr)
|
|
68
95
|
*/
|
|
69
|
-
(0, assert_js_1.assert)(res ===
|
|
96
|
+
(0, assert_js_1.assert)(res === isServerSide, debug);
|
|
70
97
|
return res;
|
|
71
98
|
}
|
|
72
99
|
}
|
package/dist/cjs/shared/page-configs/{loadPageEntry.js → loadAndParseVirtualFilePageEntry.js}
RENAMED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.loadAndParseVirtualFilePageEntry = loadAndParseVirtualFilePageEntry;
|
|
4
4
|
const utils_js_1 = require("../utils.js");
|
|
5
5
|
const parsePageConfigsSerialized_js_1 = require("./serialize/parsePageConfigsSerialized.js");
|
|
6
|
-
async function
|
|
6
|
+
async function loadAndParseVirtualFilePageEntry(pageConfig, isDev) {
|
|
7
7
|
if ('isPageEntryLoaded' in pageConfig &&
|
|
8
8
|
// We don't need to cache in dev, since Vite already caches the virtual module
|
|
9
9
|
!isDev) {
|
|
@@ -1,4 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
// TO-DO/soon: rename PageConfig names
|
|
3
|
+
// - Use `Internal` suffix, i.e. {Page,Global}ConfigInternal
|
|
4
|
+
// - While keeping {Page,Global}ConfigPublic or remove Public suffix and rename it to {Page,Global}Config ?
|
|
5
|
+
// - rename EagerLoaded EagerlyLoaded
|
|
6
|
+
// - remove `LazyLoaded` suffix
|
|
2
7
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
8
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
9
|
};
|
|
@@ -28,7 +28,6 @@ async function execHookOnBeforeRoute(pageContext) {
|
|
|
28
28
|
}
|
|
29
29
|
(0, utils_js_1.objectAssign)(pageContextFromOnBeforeRouteHook, {
|
|
30
30
|
_routingProvidedByOnBeforeRouteHook: true,
|
|
31
|
-
_debugRouteMatches: 'CUSTOM_ROUTING',
|
|
32
31
|
});
|
|
33
32
|
return pageContextFromOnBeforeRouteHook;
|
|
34
33
|
}
|
|
@@ -86,7 +86,6 @@ async function route(pageContext, skipOnBeforeRouteHook) {
|
|
|
86
86
|
(0, resolvePrecedence_js_1.resolvePrecedence)(routeMatches);
|
|
87
87
|
const winner = routeMatches[0] ?? null;
|
|
88
88
|
(0, debug_js_1.debug)(`Route matches for URL ${picocolors_1.default.cyan(urlPathname)} (in precedence order):`, routeMatches);
|
|
89
|
-
(0, utils_js_1.objectAssign)(pageContextFromRoute, { _debugRouteMatches: routeMatches });
|
|
90
89
|
// For vite-plugin-vercel https://github.com/magne4000/vite-plugin-vercel/blob/main/packages/vike-integration/vike.ts#L173
|
|
91
90
|
(0, utils_js_1.objectAssign)(pageContextFromRoute, { _routeMatch: winner });
|
|
92
91
|
if (!winner) {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.updateType = updateType;
|
|
4
4
|
const assert_js_1 = require("./assert.js");
|
|
5
|
-
/** Help TypeScript
|
|
6
|
-
function
|
|
5
|
+
/** Help TypeScript update the type of dynamically modified objects. */
|
|
6
|
+
function updateType(thing, clone) {
|
|
7
7
|
// @ts-ignore
|
|
8
8
|
(0, assert_js_1.assert)(thing === clone);
|
|
9
9
|
}
|
|
@@ -16,5 +16,5 @@ declare function getPagesAndRoutes(): Promise<{
|
|
|
16
16
|
allPageIds: string[];
|
|
17
17
|
}>;
|
|
18
18
|
declare function route(pageContext: Parameters<typeof routeInternal>[0]): Promise<{
|
|
19
|
-
pageContextAddendum: import("../shared/route/index.js").
|
|
19
|
+
pageContextAddendum: import("../shared/route/index.js").PageContextAfterRoute;
|
|
20
20
|
}>;
|
|
@@ -3,7 +3,7 @@ import { createPageContextObject, createPageContextShared } from '../../shared/c
|
|
|
3
3
|
import { getPageContextUrlComputed } from '../../shared/getPageContextUrlComputed.js';
|
|
4
4
|
import { getBaseServer } from './getBaseServer.js';
|
|
5
5
|
import { getGlobalContextClientInternal } from './globalContext.js';
|
|
6
|
-
import { assert,
|
|
6
|
+
import { assert, updateType, isBaseServer, objectAssign } from './utils.js';
|
|
7
7
|
async function createPageContextClientSide(urlOriginal) {
|
|
8
8
|
const globalContext = await getGlobalContextClientInternal();
|
|
9
9
|
const baseServer = getBaseServer();
|
|
@@ -22,6 +22,6 @@ async function createPageContextClientSide(urlOriginal) {
|
|
|
22
22
|
const pageContextUrlComputed = getPageContextUrlComputed(pageContextCreated);
|
|
23
23
|
objectAssign(pageContextCreated, pageContextUrlComputed);
|
|
24
24
|
const pageContextAugmented = createPageContextShared(pageContextCreated, globalContext._vikeConfigPublicGlobal);
|
|
25
|
-
|
|
25
|
+
updateType(pageContextCreated, pageContextAugmented);
|
|
26
26
|
return pageContextCreated;
|
|
27
27
|
}
|
|
@@ -3,7 +3,7 @@ export { getRenderCount };
|
|
|
3
3
|
export { disableClientRouting };
|
|
4
4
|
export { firstRenderStartPromise };
|
|
5
5
|
export { getPageContextClient };
|
|
6
|
-
import { assert, isSameErrorMessage, objectAssign, redirectHard, getGlobalObject, hasProp,
|
|
6
|
+
import { assert, isSameErrorMessage, objectAssign, redirectHard, getGlobalObject, hasProp, updateType, genPromise, isCallable, catchInfiniteLoop, } from './utils.js';
|
|
7
7
|
import { getPageContextFromClientHooks, getPageContextFromServerHooks, getPageContextFromHooks_isHydration, getPageContextFromHooks_serialized, setPageContextInitIsPassedToClient, } from './getPageContextFromHooks.js';
|
|
8
8
|
import { createPageContextClientSide } from './createPageContextClientSide.js';
|
|
9
9
|
import { addLinkPrefetchHandlers, addLinkPrefetchHandlers_unwatch, addLinkPrefetchHandlers_watch, getPageContextPrefetched, populatePageContextPrefetchCache, } from './prefetch.js';
|
|
@@ -159,7 +159,7 @@ async function renderPageClientSide(renderArgs) {
|
|
|
159
159
|
await onError(res.err);
|
|
160
160
|
return;
|
|
161
161
|
}
|
|
162
|
-
|
|
162
|
+
updateType(pageContext, res.pageContext);
|
|
163
163
|
setPageContextCurrent(pageContext);
|
|
164
164
|
// Set global hydrationCanBeAborted
|
|
165
165
|
if (pageContext.exports.hydrationCanBeAborted) {
|
|
@@ -184,7 +184,7 @@ async function renderPageClientSide(renderArgs) {
|
|
|
184
184
|
}
|
|
185
185
|
if (isRenderOutdated())
|
|
186
186
|
return;
|
|
187
|
-
|
|
187
|
+
updateType(pageContext, pageContextAugmented);
|
|
188
188
|
// Render page view
|
|
189
189
|
await renderPageView(pageContext);
|
|
190
190
|
}
|
|
@@ -225,7 +225,7 @@ async function renderPageClientSide(renderArgs) {
|
|
|
225
225
|
}
|
|
226
226
|
if (isRenderOutdated())
|
|
227
227
|
return;
|
|
228
|
-
|
|
228
|
+
updateType(pageContext, pageContextFromClientHooks);
|
|
229
229
|
await renderPageView(pageContext);
|
|
230
230
|
}
|
|
231
231
|
}
|
|
@@ -336,7 +336,7 @@ async function renderPageClientSide(renderArgs) {
|
|
|
336
336
|
onError(res.err);
|
|
337
337
|
return;
|
|
338
338
|
}
|
|
339
|
-
|
|
339
|
+
updateType(pageContext, res.pageContext);
|
|
340
340
|
setPageContextCurrent(pageContext);
|
|
341
341
|
let pageContextFromServerHooks;
|
|
342
342
|
try {
|
|
@@ -364,7 +364,7 @@ async function renderPageClientSide(renderArgs) {
|
|
|
364
364
|
}
|
|
365
365
|
if (isRenderOutdated())
|
|
366
366
|
return;
|
|
367
|
-
|
|
367
|
+
updateType(pageContext, pageContextFromClientHooks);
|
|
368
368
|
await renderPageView(pageContext, args);
|
|
369
369
|
}
|
|
370
370
|
async function renderPageView(pageContext, isErrorPage) {
|
|
@@ -17,7 +17,7 @@ export * from '../../utils/slice.js';
|
|
|
17
17
|
export * from '../../utils/throttle.js';
|
|
18
18
|
export * from '../../utils/assertRoutingType.js';
|
|
19
19
|
export * from '../../utils/onPageVisibilityChange.js';
|
|
20
|
-
export * from '../../utils/
|
|
20
|
+
export * from '../../utils/updateType.js';
|
|
21
21
|
export * from '../../utils/PROJECT_VERSION.js';
|
|
22
22
|
export * from '../../utils/genPromise.js';
|
|
23
23
|
export * from '../../utils/catchInfiniteLoop.js';
|
|
@@ -21,7 +21,7 @@ export * from '../../utils/slice.js';
|
|
|
21
21
|
export * from '../../utils/throttle.js';
|
|
22
22
|
export * from '../../utils/assertRoutingType.js';
|
|
23
23
|
export * from '../../utils/onPageVisibilityChange.js';
|
|
24
|
-
export * from '../../utils/
|
|
24
|
+
export * from '../../utils/updateType.js';
|
|
25
25
|
export * from '../../utils/PROJECT_VERSION.js';
|
|
26
26
|
export * from '../../utils/genPromise.js';
|
|
27
27
|
export * from '../../utils/catchInfiniteLoop.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { createPageContextClientSide };
|
|
2
|
-
import { assertUsage,
|
|
2
|
+
import { assertUsage, updateType, objectAssign } from './utils.js';
|
|
3
3
|
import { getPageContextSerializedInHtml } from '../shared/getJsonSerializedInHtml.js';
|
|
4
4
|
import { loadPageConfigsLazyClientSide, } from '../shared/loadPageConfigsLazyClientSide.js';
|
|
5
5
|
import { getCurrentUrl } from '../shared/getCurrentUrl.js';
|
|
@@ -22,9 +22,9 @@ async function createPageContextClientSide() {
|
|
|
22
22
|
});
|
|
23
23
|
objectAssign(pageContextCreated, getPageContextSerializedInHtml());
|
|
24
24
|
// Sets pageContext.config to global configs
|
|
25
|
-
|
|
25
|
+
updateType(pageContextCreated, createPageContextShared(pageContextCreated, globalContext._vikeConfigPublicGlobal));
|
|
26
26
|
// Sets pageContext.config to local configs (overrides the pageContext.config set above)
|
|
27
|
-
|
|
27
|
+
updateType(pageContextCreated, await loadPageConfigsLazyClientSideAndExecHook(pageContextCreated));
|
|
28
28
|
assertPristineUrl();
|
|
29
29
|
return pageContextCreated;
|
|
30
30
|
}
|
|
@@ -10,5 +10,5 @@ export * from '../../utils/parseUrl.js';
|
|
|
10
10
|
export * from '../../utils/slice.js';
|
|
11
11
|
export * from '../../utils/unique.js';
|
|
12
12
|
export * from '../../utils/getPropAccessNotation.js';
|
|
13
|
-
export * from '../../utils/
|
|
13
|
+
export * from '../../utils/updateType.js';
|
|
14
14
|
export * from '../../utils/changeEnumerable.js';
|
|
@@ -14,5 +14,5 @@ export * from '../../utils/parseUrl.js';
|
|
|
14
14
|
export * from '../../utils/slice.js';
|
|
15
15
|
export * from '../../utils/unique.js'; // Only used by Server Routing (not needed for Client Routing)
|
|
16
16
|
export * from '../../utils/getPropAccessNotation.js';
|
|
17
|
-
export * from '../../utils/
|
|
17
|
+
export * from '../../utils/updateType.js';
|
|
18
18
|
export * from '../../utils/changeEnumerable.js';
|
|
@@ -3,7 +3,7 @@ export { isErrorFetchingStaticAssets };
|
|
|
3
3
|
import { getPageFilesClientSide } from '../../shared/getPageFiles.js';
|
|
4
4
|
import { resolveVikeConfigPublicPageLazyLoaded } from '../../shared/page-configs/resolveVikeConfigPublic.js';
|
|
5
5
|
import { findPageConfig } from '../../shared/page-configs/findPageConfig.js';
|
|
6
|
-
import {
|
|
6
|
+
import { loadAndParseVirtualFilePageEntry } from '../../shared/page-configs/loadAndParseVirtualFilePageEntry.js';
|
|
7
7
|
import { objectAssign } from '../runtime-server-routing/utils.js';
|
|
8
8
|
const errStamp = '_isAssetsError';
|
|
9
9
|
async function loadPageConfigsLazyClientSide(pageId, pageFilesAll, pageConfigs, pageConfigGlobal) {
|
|
@@ -16,7 +16,7 @@ async function loadPageConfigsLazyClientSide(pageId, pageFilesAll, pageConfigs,
|
|
|
16
16
|
// prettier-ignore
|
|
17
17
|
// biome-ignore format:
|
|
18
18
|
const result = await Promise.all([
|
|
19
|
-
pageConfig &&
|
|
19
|
+
pageConfig && loadAndParseVirtualFilePageEntry(pageConfig, isDev),
|
|
20
20
|
...pageFilesClientSide.map((p) => p.loadFile?.()),
|
|
21
21
|
]);
|
|
22
22
|
pageConfigLoaded = result[0];
|
|
@@ -1,45 +1,19 @@
|
|
|
1
1
|
export { build };
|
|
2
2
|
import { prepareViteApiCall } from './prepareViteApiCall.js';
|
|
3
|
-
import {
|
|
4
|
-
import { isVikeCli } from '../cli/context.js';
|
|
5
|
-
import { wasPrerenderRun } from '../prerender/context.js';
|
|
6
|
-
import { assert, assertVersion } from './utils.js';
|
|
3
|
+
import { createBuilder } from 'vite';
|
|
7
4
|
/**
|
|
8
5
|
* Programmatically trigger `$ vike build`
|
|
9
6
|
*
|
|
10
7
|
* https://vike.dev/api#build
|
|
11
8
|
*/
|
|
12
9
|
async function build(options = {}) {
|
|
13
|
-
const { viteConfigFromUserEnhanced
|
|
10
|
+
const { viteConfigFromUserEnhanced } = await prepareViteApiCall(options, 'build');
|
|
14
11
|
// Pass it to pluginAutoFullBuild()
|
|
15
12
|
if (viteConfigFromUserEnhanced)
|
|
16
13
|
viteConfigFromUserEnhanced._viteConfigFromUserEnhanced = viteConfigFromUserEnhanced;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
const builder = await createBuilder(viteConfigFromUserEnhanced);
|
|
21
|
-
// See Vite plugin vike:build:pluginBuildApp
|
|
22
|
-
await builder.buildApp();
|
|
23
|
-
}
|
|
24
|
-
else {
|
|
25
|
-
// This buildVite() call does everything:
|
|
26
|
-
// 1. Build client-side
|
|
27
|
-
// 2. Build server-side
|
|
28
|
-
// > See: https://github.com/vikejs/vike/blob/c6c7533a56b3a16fc43ed644fc5c10c02d0ff375/vike/node/plugin/plugins/autoFullBuild.ts#L90
|
|
29
|
-
// 3. Pre-render (if enabled)
|
|
30
|
-
// > See: https://github.com/vikejs/vike/blob/c6c7533a56b3a16fc43ed644fc5c10c02d0ff375/vike/node/plugin/plugins/autoFullBuild.ts#L98
|
|
31
|
-
// > We purposely don't start the pre-rendering in this `build()` function but in a Rollup hook instead.
|
|
32
|
-
// > Rationale: https://github.com/vikejs/vike/issues/2123
|
|
33
|
-
await buildVite(viteConfigFromUserEnhanced);
|
|
34
|
-
// After pre-rendering, when using the Vike CLI, the process is forcefully exited at the end of the buildVite() call above.
|
|
35
|
-
if (
|
|
36
|
-
// When calling Vike's prerender() API pre-rendering is run without force exit
|
|
37
|
-
![false, 'prerender()'].includes(wasPrerenderRun()) &&
|
|
38
|
-
// When calling Vike's build() API pre-rendering is auto run without force exit
|
|
39
|
-
isVikeCli()) {
|
|
40
|
-
assert(false);
|
|
41
|
-
}
|
|
42
|
-
}
|
|
14
|
+
const builder = await createBuilder(viteConfigFromUserEnhanced);
|
|
15
|
+
// See Vite plugin vike:build:pluginBuildApp
|
|
16
|
+
await builder.buildApp();
|
|
43
17
|
return {
|
|
44
18
|
/* We don't return `viteConfig` because `viteConfigFromUserEnhanced` is `InlineConfig` not `ResolvedConfig`
|
|
45
19
|
viteConfig: viteConfigFromUserEnhanced,
|