vike 0.4.253-commit-d6e725f → 0.4.253-commit-1d110cc
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/node/api/prerender.d.ts +1 -1
- package/dist/node/prerender/runPrerender.d.ts +5 -6
- package/dist/node/prerender/runPrerender.js +20 -17
- package/dist/node/prerender/runPrerenderEntry.d.ts +1 -1
- package/dist/node/prerender/runPrerenderEntry.js +4 -1
- package/dist/node/vite/index.js +16 -12
- package/dist/node/vite/shared/getOutDirs.d.ts +2 -0
- package/dist/node/vite/shared/getOutDirs.js +7 -3
- package/dist/node/vite/shared/resolveVikeConfigInternal.d.ts +1 -0
- package/dist/node/vite/shared/resolveVikeConfigInternal.js +5 -0
- package/dist/shared-server-client/page-configs/loadAndParseVirtualFilePageEntry.js +12 -1
- package/dist/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/utils/PROJECT_VERSION.js +1 -1
- package/package.json +1 -1
|
@@ -4,7 +4,6 @@ export type { PrerenderContextPublic };
|
|
|
4
4
|
export type { PrerenderTrigger };
|
|
5
5
|
import type { PageFile } from '../../shared-server-client/getPageFiles.js';
|
|
6
6
|
import { type GlobalContextServerInternal } from '../../server/runtime/globalContext.js';
|
|
7
|
-
import { type ResolvedConfig } from 'vite';
|
|
8
7
|
import type { ApiOptions } from '../api/types.js';
|
|
9
8
|
type ProvidedByHook = null | {
|
|
10
9
|
hookFilePath: string;
|
|
@@ -30,6 +29,8 @@ type PrerenderContext = {
|
|
|
30
29
|
_noExtraDir: boolean | null;
|
|
31
30
|
_prerenderedPageContexts: PrerenderedPageContexts;
|
|
32
31
|
_requestIdCounter: number;
|
|
32
|
+
_userRootDir: string;
|
|
33
|
+
_outDirClient: string;
|
|
33
34
|
};
|
|
34
35
|
type Output<PageContext = PageContextPrerendered> = {
|
|
35
36
|
filePath: string;
|
|
@@ -62,9 +63,7 @@ type PrerenderOptions = ApiOptions & {
|
|
|
62
63
|
base?: string;
|
|
63
64
|
};
|
|
64
65
|
type PrerenderTrigger = '$ vike prerender' | 'prerender()' | 'auto-run';
|
|
65
|
-
declare function runPrerender(options: PrerenderOptions | undefined, trigger: PrerenderTrigger): Promise<
|
|
66
|
-
viteConfig: ResolvedConfig;
|
|
67
|
-
}>;
|
|
66
|
+
declare function runPrerender(options: PrerenderOptions | undefined, trigger: PrerenderTrigger): Promise<void>;
|
|
68
67
|
declare function createPageContextPrerendering(urlOriginal: string, prerenderContext: PrerenderContext, globalContext: GlobalContextServerInternal, is404: boolean, pageId: string | undefined, providedByHook: ProvidedByHook): Promise<{
|
|
69
68
|
_isOriginalObject: true;
|
|
70
69
|
isPageContext: true;
|
|
@@ -124,13 +123,13 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
|
|
|
124
123
|
_isPrerendering: false;
|
|
125
124
|
assetsManifest: null;
|
|
126
125
|
_viteDevServer: import("vite").ViteDevServer | undefined;
|
|
127
|
-
viteConfig: ResolvedConfig | undefined;
|
|
126
|
+
viteConfig: import("vite").ResolvedConfig | undefined;
|
|
128
127
|
isClientSide: false;
|
|
129
128
|
_pageRoutes: import("../../shared-server-client/route/loadPageRoutes.js").PageRoutes;
|
|
130
129
|
_onBeforeRouteHook: import("../../shared-server-client/hooks/getHook.js").HookInternal | null;
|
|
131
130
|
} | {
|
|
132
131
|
_isPrerendering: true;
|
|
133
|
-
viteConfig: ResolvedConfig;
|
|
132
|
+
viteConfig: import("vite").ResolvedConfig;
|
|
134
133
|
_isProduction: true;
|
|
135
134
|
assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
|
|
136
135
|
_viteDevServer: null;
|
|
@@ -25,7 +25,6 @@ import { createPageContextServer } from '../../server/runtime/renderPageServer/c
|
|
|
25
25
|
import pc from '@brillout/picocolors';
|
|
26
26
|
import { cpus } from 'node:os';
|
|
27
27
|
import { getGlobalContextServerInternal, initGlobalContext_runPrerender, setGlobalContext_isPrerendering, setGlobalContext_prerenderContext, } from '../../server/runtime/globalContext.js';
|
|
28
|
-
import { resolveConfig as resolveViteConfig } from 'vite';
|
|
29
28
|
import { getPageFilesServerSide } from '../../shared-server-client/getPageFiles.js';
|
|
30
29
|
import { getPageContextRequestUrl } from '../../shared-server-client/getPageContextRequestUrl.js';
|
|
31
30
|
import { getUrlFromRouteString } from '../../shared-server-client/route/resolveRouteString.js';
|
|
@@ -40,7 +39,7 @@ import { getVikeConfigInternal } from '../vite/shared/resolveVikeConfigInternal.
|
|
|
40
39
|
import { execHookSingleWithoutPageContext, isUserHookError } from '../../shared-server-client/hooks/execHook.js';
|
|
41
40
|
import { setWasPrerenderRun } from './context.js';
|
|
42
41
|
import { resolvePrerenderConfigGlobal, resolvePrerenderConfigLocal } from './resolvePrerenderConfig.js';
|
|
43
|
-
import {
|
|
42
|
+
import { getOutDirsAllFromRootNormalized } from '../vite/shared/getOutDirs.js';
|
|
44
43
|
import fs from 'node:fs';
|
|
45
44
|
import { getPublicProxy } from '../../shared-server-client/getPublicProxy.js';
|
|
46
45
|
import { getStaticRedirectsForPrerender } from '../../server/runtime/renderPageServer/resolveRedirects.js';
|
|
@@ -57,9 +56,11 @@ async function runPrerender(options = {}, trigger) {
|
|
|
57
56
|
console.log(`${pc.cyan(`vike v${PROJECT_VERSION}`)} ${pc.green('pre-rendering HTML...')}`);
|
|
58
57
|
}
|
|
59
58
|
await disableReactStreaming();
|
|
60
|
-
|
|
59
|
+
await initGlobalContext_runPrerender();
|
|
60
|
+
const { globalContext } = await getGlobalContextServerInternal();
|
|
61
|
+
// TO-DO/eventually: remove getVikeConfigInternal() to completely remove Vite dependency
|
|
62
|
+
// https://github.com/vikejs/vike/issues/3113
|
|
61
63
|
const vikeConfig = await getVikeConfigInternal();
|
|
62
|
-
const { outDirServer } = getOutDirs(viteConfig, undefined);
|
|
63
64
|
const prerenderConfigGlobal = await resolvePrerenderConfigGlobal(vikeConfig);
|
|
64
65
|
const { partial, noExtraDir, parallel, defaultLocalValue, isPrerenderingEnabled } = prerenderConfigGlobal;
|
|
65
66
|
if (!isPrerenderingEnabled) {
|
|
@@ -72,12 +73,12 @@ async function runPrerender(options = {}, trigger) {
|
|
|
72
73
|
`You're executing ${pc.cyan(standaloneTrigger)} but you didn't enable pre-rendering. Use the ${pc.cyan('prerender')} setting (${pc.underline('https://vike.dev/prerender')}) to enable pre-rendering for at least one page.`
|
|
73
74
|
)
|
|
74
75
|
*/
|
|
75
|
-
return
|
|
76
|
+
return;
|
|
76
77
|
}
|
|
77
78
|
const concurrencyLimit = pLimit(parallel === false || parallel === 0 ? 1 : parallel === true || parallel === undefined ? cpus().length : parallel);
|
|
78
|
-
await initGlobalContext_runPrerender();
|
|
79
|
-
const { globalContext } = await getGlobalContextServerInternal();
|
|
80
79
|
globalContext._pageFilesAll.forEach(assertExportNames);
|
|
80
|
+
const { root, build: { outDir: outDirRoot }, } = globalContext.viteConfigRuntime;
|
|
81
|
+
const { outDirServer, outDirClient } = getOutDirsAllFromRootNormalized(outDirRoot, root);
|
|
81
82
|
const prerenderContext = {
|
|
82
83
|
pageContexts: [],
|
|
83
84
|
output: [],
|
|
@@ -85,6 +86,8 @@ async function runPrerender(options = {}, trigger) {
|
|
|
85
86
|
_pageContextInit: options.pageContextInit ?? null,
|
|
86
87
|
_prerenderedPageContexts: {},
|
|
87
88
|
_requestIdCounter: 0,
|
|
89
|
+
_userRootDir: root,
|
|
90
|
+
_outDirClient: outDirClient,
|
|
88
91
|
};
|
|
89
92
|
const doNotPrerenderList = [];
|
|
90
93
|
await collectDoNoPrerenderList(vikeConfig._pageConfigs, doNotPrerenderList, defaultLocalValue, concurrencyLimit, globalContext);
|
|
@@ -109,7 +112,7 @@ async function runPrerender(options = {}, trigger) {
|
|
|
109
112
|
if (pageId) {
|
|
110
113
|
prerenderContext._prerenderedPageContexts[pageId] = htmlFile.pageContext;
|
|
111
114
|
}
|
|
112
|
-
await writeFiles(htmlFile,
|
|
115
|
+
await writeFiles(htmlFile, prerenderContext, options.onPagePrerender, logLevel);
|
|
113
116
|
};
|
|
114
117
|
await prerenderPages(prerenderContext, concurrencyLimit, onComplete);
|
|
115
118
|
warnContradictoryNoPrerenderList(prerenderContext._prerenderedPageContexts, doNotPrerenderList);
|
|
@@ -127,7 +130,6 @@ async function runPrerender(options = {}, trigger) {
|
|
|
127
130
|
if (!prerenderConfigGlobal.keepDistServer) {
|
|
128
131
|
fs.rmSync(outDirServer, { recursive: true });
|
|
129
132
|
}
|
|
130
|
-
return { viteConfig };
|
|
131
133
|
}
|
|
132
134
|
async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, defaultLocalValue, concurrencyLimit, globalContext) {
|
|
133
135
|
// V1 design
|
|
@@ -181,6 +183,7 @@ async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, default
|
|
|
181
183
|
}
|
|
182
184
|
});
|
|
183
185
|
}
|
|
186
|
+
// TO-DO/next-major-release: remove
|
|
184
187
|
function assertExportNames(pageFile) {
|
|
185
188
|
const { exportNames, fileType } = pageFile;
|
|
186
189
|
assert(exportNames || fileType === '.page.route' || fileType === '.css', pageFile.filePath);
|
|
@@ -558,18 +561,16 @@ async function warnMissingPages(prerenderedPageContexts, globalContext, doNotPre
|
|
|
558
561
|
assertWarning(partial, `Cannot pre-render page ${pageAt} because it has a non-static route, while there isn't any ${hookName}() hook returning an URL matching the page's route. You must use a ${hookName}() hook (https://vike.dev/${hookName}) for providing the list of URLs to be pre-rendered for that page. If you want to skip pre-rendering that page, you can remove this warning by setting +prerender to false at ${pageAt} (https://vike.dev/pre-rendering#partial) or by setting +prerender.partial to true (https://vike.dev/prerender#partial).`, { onlyOnce: true });
|
|
559
562
|
});
|
|
560
563
|
}
|
|
561
|
-
async function writeFiles({ pageContext, htmlString, pageContextSerialized },
|
|
562
|
-
const writeJobs = [write(pageContext, 'HTML', htmlString,
|
|
564
|
+
async function writeFiles({ pageContext, htmlString, pageContextSerialized }, prerenderContext, onPagePrerender, logLevel) {
|
|
565
|
+
const writeJobs = [write(pageContext, 'HTML', htmlString, onPagePrerender, prerenderContext, logLevel)];
|
|
563
566
|
if (pageContextSerialized !== null) {
|
|
564
|
-
writeJobs.push(write(pageContext, 'JSON', pageContextSerialized,
|
|
567
|
+
writeJobs.push(write(pageContext, 'JSON', pageContextSerialized, onPagePrerender, prerenderContext, logLevel));
|
|
565
568
|
}
|
|
566
569
|
await Promise.all(writeJobs);
|
|
567
570
|
}
|
|
568
|
-
async function write(pageContext, fileType, fileContent,
|
|
571
|
+
async function write(pageContext, fileType, fileContent, onPagePrerender, prerenderContext, logLevel) {
|
|
569
572
|
const { urlOriginal } = pageContext;
|
|
570
573
|
assert(urlOriginal.startsWith('/'));
|
|
571
|
-
const { outDirClient } = getOutDirs(viteConfig, undefined);
|
|
572
|
-
const { root } = viteConfig;
|
|
573
574
|
let fileUrl;
|
|
574
575
|
if (fileType === 'HTML') {
|
|
575
576
|
const doNotCreateExtraDirectory = prerenderContext._noExtraDir ?? pageContext.is404;
|
|
@@ -585,6 +586,7 @@ async function write(pageContext, fileType, fileContent, viteConfig, onPagePrere
|
|
|
585
586
|
assert(!filePathRelative.startsWith('/'),
|
|
586
587
|
// https://github.com/vikejs/vike/issues/1929
|
|
587
588
|
{ urlOriginal, fileUrl });
|
|
589
|
+
const { _outDirClient: outDirClient } = prerenderContext;
|
|
588
590
|
assertPosixPath(outDirClient);
|
|
589
591
|
assertPosixPath(filePathRelative);
|
|
590
592
|
const filePath = path.posix.join(outDirClient, filePathRelative);
|
|
@@ -609,9 +611,10 @@ async function write(pageContext, fileType, fileContent, viteConfig, onPagePrere
|
|
|
609
611
|
await mkdir(path.posix.dirname(filePath), { recursive: true });
|
|
610
612
|
await writeFile(filePath, fileContent);
|
|
611
613
|
if (logLevel === 'info') {
|
|
612
|
-
|
|
614
|
+
const { _userRootDir: userRootDir } = prerenderContext;
|
|
615
|
+
assertPosixPath(userRootDir);
|
|
613
616
|
assertPosixPath(outDirClient);
|
|
614
|
-
let outDirClientRelative = path.posix.relative(
|
|
617
|
+
let outDirClientRelative = path.posix.relative(userRootDir, outDirClient);
|
|
615
618
|
if (!outDirClientRelative.endsWith('/')) {
|
|
616
619
|
outDirClientRelative = outDirClientRelative + '/';
|
|
617
620
|
}
|
|
@@ -5,7 +5,7 @@ export { runPrerender_forceExit };
|
|
|
5
5
|
import type { InlineConfig, ResolvedConfig } from 'vite';
|
|
6
6
|
import { PrerenderOptions } from './runPrerender.js';
|
|
7
7
|
declare function runPrerenderFromAPI(options?: PrerenderOptions): Promise<{
|
|
8
|
-
viteConfig: ResolvedConfig;
|
|
8
|
+
viteConfig: null | ResolvedConfig;
|
|
9
9
|
}>;
|
|
10
10
|
declare function runPrerenderFromCLIPrerenderCommand(): Promise<void>;
|
|
11
11
|
declare function runPrerenderFromAutoRun(viteConfig: InlineConfig | undefined): Promise<{
|
|
@@ -8,10 +8,13 @@ import { isVikeCli } from '../cli/context.js';
|
|
|
8
8
|
import { isViteCli } from '../vite/shared/isViteCli.js';
|
|
9
9
|
import { runPrerender } from './runPrerender.js';
|
|
10
10
|
import { logErrorServer } from '../../server/runtime/logErrorServer.js';
|
|
11
|
+
import { getGlobalContextServerInternal } from '../../server/runtime/globalContext.js';
|
|
11
12
|
async function runPrerenderFromAPI(options = {}) {
|
|
12
13
|
// - We purposely propagate the error to the user land, so that the error interrupts the user land. It's also, I guess, a nice-to-have that the user has control over the error.
|
|
13
14
|
// - We don't use addErrorHint() because we don't have control over what happens with the error. For example, if the user land purposely swallows the error then the hint shouldn't be logged. Also, it's best if the hint is shown to the user *after* the error, but we cannot do/guarentee that.
|
|
14
|
-
|
|
15
|
+
await runPrerender(options, 'prerender()');
|
|
16
|
+
const { globalContext } = await getGlobalContextServerInternal();
|
|
17
|
+
const viteConfig = globalContext.viteConfig ?? null;
|
|
15
18
|
return { viteConfig };
|
|
16
19
|
}
|
|
17
20
|
async function runPrerenderFromCLIPrerenderCommand() {
|
package/dist/node/vite/index.js
CHANGED
|
@@ -46,7 +46,7 @@ function plugin(vikeVitePluginOptions = {}) {
|
|
|
46
46
|
// TO-DO/next-major-release: remove
|
|
47
47
|
const pluginAddendum = { _vikeVitePluginOptions: vikeVitePluginOptions };
|
|
48
48
|
const promise = (async () => {
|
|
49
|
-
if (
|
|
49
|
+
if (removeVitePlugin())
|
|
50
50
|
return [];
|
|
51
51
|
const vikeConfig = await getVikeConfigInternalEarly();
|
|
52
52
|
const plugin = [
|
|
@@ -89,26 +89,30 @@ function pluginBuild() {
|
|
|
89
89
|
function pluginNonRunnabeDev() {
|
|
90
90
|
return [...pluginViteRPC(), ...pluginReplaceConstantsNonRunnableDev()];
|
|
91
91
|
}
|
|
92
|
-
function
|
|
92
|
+
function removeVitePlugin() {
|
|
93
93
|
// Early resolving of user Vite configs
|
|
94
94
|
if (isOnlyResolvingUserConfig()) {
|
|
95
95
|
return true;
|
|
96
96
|
}
|
|
97
|
+
// *****************/
|
|
98
|
+
// **** Vitest *****/
|
|
99
|
+
// *****************/
|
|
97
100
|
// For Vitest, we only add Vike's Vite plugin if Vike's JavaScript API is used.
|
|
98
101
|
// - In the context of running unit tests with Vitest, Vike's Vite plugin doesn't add any value AFAICT.
|
|
99
|
-
// - If the user calls Vike's JavaScript API inside Vitest (e.g. `build()` inside `beforeAll()`)
|
|
100
|
-
//
|
|
101
|
-
//
|
|
102
|
+
// - If the user calls Vike's JavaScript API inside Vitest (e.g. `build()` inside `beforeAll()`)
|
|
103
|
+
// => vite.config.js is loaded twice: once by Vitest and once by Vike
|
|
104
|
+
// => problematic because Vitest's environment is `development` whereas Vike's `build()` environment is `production`
|
|
105
|
+
// => globalContext.ts internal logic isProd() is inconsistent and assertion fails.
|
|
106
|
+
// I don't know why the two globalContext.ts instances aren't independent from each other.
|
|
107
|
+
// https://github.com/vikejs/vike/blob/2d3be474441707f05a7932240f3506517a735f0d/packages/vike/src/server/runtime/globalContext.ts#L746-L753
|
|
108
|
+
// => that's why we skip Vike's Vite plugin when it's Vitest that loads vite.config.js
|
|
109
|
+
// - When running `$ vitest` Vitest loads vite.config.js if it lives at process.cwd()
|
|
110
|
+
// - The user is supposed to use Vike's API instead of Vite's API. Vike supports Vite's API only for third parties (e.g. Vitest and Storybook).
|
|
102
111
|
// - https://vike.dev/vitest
|
|
103
|
-
if (
|
|
104
|
-
/* Maybe also all third party tools such as Storybook?
|
|
105
|
-
!isViteCli() &&
|
|
106
|
-
/*/
|
|
107
|
-
isVitest() &&
|
|
108
|
-
///*/
|
|
109
|
-
!isVikeCliOrApi()) {
|
|
112
|
+
if (isVitest() && !isVikeCliOrApi()) {
|
|
110
113
|
return true;
|
|
111
114
|
}
|
|
115
|
+
// TO-DO/eventually: also skip for other third party tools such as Storybook?
|
|
112
116
|
return false;
|
|
113
117
|
}
|
|
114
118
|
// Error upon wrong usage
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { getOutDirs };
|
|
2
2
|
export { resolveOutDir };
|
|
3
|
+
export { getOutDirsAllFromRootNormalized };
|
|
3
4
|
export type { OutDirs };
|
|
4
5
|
import type { UserConfig, ResolvedConfig } from 'vite';
|
|
5
6
|
import { type ViteEnv } from './isViteServerSide.js';
|
|
@@ -15,3 +16,4 @@ type OutDirs = {
|
|
|
15
16
|
declare function getOutDirs(configGlobal: ResolvedConfig, viteEnv: ViteEnv | undefined): OutDirs;
|
|
16
17
|
/** Appends `client/` or `server/` to `config.build.outDir` */
|
|
17
18
|
declare function resolveOutDir(config: UserConfig, isServerSide: boolean): string;
|
|
19
|
+
declare function getOutDirsAllFromRootNormalized(outDirRoot: string, root: string): OutDirs;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
export { getOutDirs };
|
|
2
2
|
export { resolveOutDir };
|
|
3
|
+
export { getOutDirsAllFromRootNormalized };
|
|
3
4
|
import pc from '@brillout/picocolors';
|
|
4
5
|
import { createDebug } from '../../../utils/debug.js';
|
|
5
6
|
import { pathJoin, toPosixPath } from '../../../utils/path.js';
|
|
@@ -76,9 +77,12 @@ function getOutDirsAllFromRootNormalized(outDirRoot, root) {
|
|
|
76
77
|
outDirRoot = pathJoin(root, outDirRoot);
|
|
77
78
|
}
|
|
78
79
|
let { outDirClient, outDirServer } = determineOutDirs(outDirRoot);
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
if (!outDirRoot.endsWith('/'))
|
|
81
|
+
outDirRoot = outDirRoot + '/';
|
|
82
|
+
if (!outDirClient.endsWith('/'))
|
|
83
|
+
outDirClient = outDirClient + '/';
|
|
84
|
+
if (!outDirServer.endsWith('/'))
|
|
85
|
+
outDirServer = outDirServer + '/';
|
|
82
86
|
assertNormalization(outDirRoot);
|
|
83
87
|
assertNormalization(outDirClient);
|
|
84
88
|
assertNormalization(outDirServer);
|
|
@@ -34,6 +34,7 @@ type VikeConfigInternal = GlobalConfigPublic & {
|
|
|
34
34
|
_pageConfigs: PageConfigBuildTime[];
|
|
35
35
|
_pageConfigGlobal: PageConfigGlobalBuildTime;
|
|
36
36
|
_vikeConfigDependencies: Set<string>;
|
|
37
|
+
_extensions: PlusFile[];
|
|
37
38
|
prerenderContext: PrerenderContext;
|
|
38
39
|
};
|
|
39
40
|
declare function reloadVikeConfig(): void;
|
|
@@ -228,12 +228,16 @@ async function resolveVikeConfigInternal(userRootDir, vikeVitePluginOptions, esb
|
|
|
228
228
|
_from: globalConfigPublic._from,
|
|
229
229
|
_pageConfigs: pageConfigs,
|
|
230
230
|
});
|
|
231
|
+
const _extensions = Object.values(plusFilesByLocationId)
|
|
232
|
+
.flat()
|
|
233
|
+
.filter((p) => p.isConfigFile && p.isExtensionConfig);
|
|
231
234
|
const vikeConfig = {
|
|
232
235
|
...globalConfigPublic,
|
|
233
236
|
prerenderContext,
|
|
234
237
|
_pageConfigs: pageConfigs,
|
|
235
238
|
_pageConfigGlobal: pageConfigGlobal,
|
|
236
239
|
_vikeConfigDependencies: esbuildCache.vikeConfigDependencies,
|
|
240
|
+
_extensions,
|
|
237
241
|
};
|
|
238
242
|
globalObject.vikeConfigSync = vikeConfig;
|
|
239
243
|
return vikeConfig;
|
|
@@ -1194,6 +1198,7 @@ async function getVikeConfigDummy(esbuildCache) {
|
|
|
1194
1198
|
...globalConfigPublicDummy,
|
|
1195
1199
|
prerenderContext: prerenderContextDummy,
|
|
1196
1200
|
_vikeConfigDependencies: esbuildCache.vikeConfigDependencies,
|
|
1201
|
+
_extensions: [],
|
|
1197
1202
|
};
|
|
1198
1203
|
globalObject.vikeConfigSync = vikeConfigDummy;
|
|
1199
1204
|
globalObject.isV1Design_ = true;
|
|
@@ -16,7 +16,18 @@ async function loadAndParseVirtualFilePageEntry(pageConfig, isDev) {
|
|
|
16
16
|
// Catch @cloudflare/vite-plugin bug
|
|
17
17
|
assertVirtualFileExports(moduleExports, () => 'configValuesSerialized' in moduleExports, moduleId);
|
|
18
18
|
const virtualFileExportsPageEntry = moduleExports;
|
|
19
|
-
|
|
19
|
+
let configValues;
|
|
20
|
+
try {
|
|
21
|
+
configValues = parseVirtualFileExportsPageEntry(virtualFileExportsPageEntry);
|
|
22
|
+
}
|
|
23
|
+
catch (e) {
|
|
24
|
+
if (!(e instanceof ReferenceError))
|
|
25
|
+
throw e;
|
|
26
|
+
// Safari WebKit bug: dynamic import() may resolve before the module body executes,
|
|
27
|
+
// https://github.com/vikejs/vike/issues/3121
|
|
28
|
+
await new Promise((resolve) => setTimeout(resolve));
|
|
29
|
+
configValues = parseVirtualFileExportsPageEntry(virtualFileExportsPageEntry);
|
|
30
|
+
}
|
|
20
31
|
Object.assign(pageConfig.configValues, configValues);
|
|
21
32
|
objectAssign(pageConfig, { isPageEntryLoaded: true });
|
|
22
33
|
return pageConfig;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const PROJECT_VERSION: "0.4.253-commit-
|
|
1
|
+
export declare const PROJECT_VERSION: "0.4.253-commit-1d110cc";
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Automatically updated by @brillout/release-me
|
|
2
|
-
export const PROJECT_VERSION = '0.4.253-commit-
|
|
2
|
+
export const PROJECT_VERSION = '0.4.253-commit-1d110cc';
|