vike 0.4.217-commit-99ea561 → 0.4.218-commit-01a099d
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 +9 -8
- package/dist/cjs/node/api/build.js +20 -11
- package/dist/cjs/node/api/index.js +17 -7
- package/dist/cjs/node/api/prepareViteApiCall.js +109 -26
- package/dist/cjs/node/api/utils.js +2 -0
- package/dist/cjs/node/cli/entry.js +17 -7
- package/dist/cjs/node/plugin/index.js +6 -5
- package/dist/cjs/node/plugin/plugins/autoFullBuild.js +2 -3
- package/dist/cjs/node/plugin/plugins/baseUrls.js +20 -18
- package/dist/cjs/node/plugin/plugins/buildConfig.js +2 -2
- package/dist/cjs/node/plugin/plugins/{importBuild → buildEntry}/index.js +16 -17
- package/dist/cjs/node/plugin/plugins/commonConfig.js +6 -6
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +1 -3
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +7 -9
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +182 -7
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +2 -1
- package/dist/cjs/node/plugin/plugins/setGlobalContext.js +1 -1
- package/dist/cjs/node/plugin/plugins/{vite6HmrRegressionWorkaround.js → workaroundVite6HmrRegression.js} +3 -3
- package/dist/cjs/node/plugin/shared/getHttpRequestAsyncStore.js +17 -7
- package/dist/cjs/node/prerender/isPrerenderEnabled.js +8 -0
- package/dist/cjs/node/prerender/runPrerender.js +21 -12
- package/dist/cjs/node/runtime/globalContext.js +44 -21
- package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +2 -2
- package/dist/cjs/node/runtime/index-common.js +0 -15
- package/dist/cjs/node/runtime/onLoad.js +17 -3
- package/dist/cjs/node/runtime/renderPage/analyzePage.js +2 -2
- package/dist/cjs/node/runtime/renderPage/createHttpResponse/getCacheControl.js +2 -2
- package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -3
- package/dist/cjs/node/runtime-dev/index.js +17 -7
- package/dist/cjs/node/shared/resolveBase.js +2 -2
- package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +3 -3
- package/dist/cjs/shared/getPageFiles/{setPageFiles.js → getPageFiles.js} +2 -3
- package/dist/cjs/shared/getPageFiles.js +3 -9
- package/dist/cjs/shared/hooks/getHook.js +3 -3
- package/dist/cjs/shared/{getPageFiles/getExports.js → page-configs/getPageConfigUserFriendly.js} +113 -81
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +79 -54
- package/dist/cjs/shared/route/loadPageRoutes.js +3 -3
- package/dist/cjs/shared/utils.js +1 -0
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/assert.js +4 -3
- package/dist/esm/__internal/index.d.ts +3 -5
- package/dist/esm/__internal/index.js +4 -5
- package/dist/esm/client/client-routing-runtime/createPageContext.js +7 -1
- package/dist/esm/client/client-routing-runtime/entry.d.ts +1 -1
- package/dist/esm/client/client-routing-runtime/entry.js +0 -1
- package/dist/esm/client/client-routing-runtime/getPageContextCurrent.d.ts +2 -2
- package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.d.ts +4 -4
- package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +1 -1
- package/dist/esm/client/client-routing-runtime/prefetch/getPrefetchSettings.d.ts +2 -2
- package/dist/esm/client/client-routing-runtime/prefetch.d.ts +2 -2
- package/dist/esm/client/client-routing-runtime/prefetch.js +2 -2
- package/dist/esm/client/server-routing-runtime/entry.d.ts +1 -1
- package/dist/esm/client/server-routing-runtime/entry.js +0 -1
- package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +1 -1
- package/dist/esm/client/server-routing-runtime/getPageContext.js +8 -2
- package/dist/esm/client/shared/executeOnRenderClientHook.d.ts +2 -2
- package/dist/esm/client/shared/loadUserFilesClientSide.d.ts +2 -2
- package/dist/esm/client/shared/loadUserFilesClientSide.js +2 -2
- package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.d.ts +2 -2
- package/dist/esm/node/api/build.js +3 -4
- package/dist/esm/node/api/prepareViteApiCall.d.ts +9 -3
- package/dist/esm/node/api/prepareViteApiCall.js +91 -21
- package/dist/esm/node/api/utils.d.ts +2 -0
- package/dist/esm/node/api/utils.js +2 -0
- package/dist/esm/node/cli/parseCli.d.ts +1 -1
- package/dist/esm/node/plugin/index.d.ts +1 -1
- package/dist/esm/node/plugin/index.js +6 -5
- package/dist/esm/node/plugin/plugins/autoFullBuild.js +2 -3
- package/dist/esm/node/plugin/plugins/baseUrls.d.ts +1 -2
- package/dist/esm/node/plugin/plugins/baseUrls.js +21 -19
- package/dist/esm/node/plugin/plugins/buildConfig.js +2 -2
- package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/index.d.ts +2 -2
- package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/index.js +16 -17
- package/dist/esm/node/plugin/plugins/commonConfig.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/commonConfig.js +2 -2
- package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.d.ts +1 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +1 -3
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +8 -10
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +99 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +182 -7
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +2 -1
- package/dist/esm/node/plugin/plugins/setGlobalContext.js +1 -1
- package/dist/esm/node/plugin/plugins/workaroundVite6HmrRegression.d.ts +3 -0
- package/dist/esm/node/plugin/plugins/{vite6HmrRegressionWorkaround.js → workaroundVite6HmrRegression.js} +3 -3
- package/dist/esm/node/prerender/isPrerenderEnabled.d.ts +3 -0
- package/dist/esm/node/prerender/isPrerenderEnabled.js +6 -0
- package/dist/esm/node/prerender/runPrerender.d.ts +1 -2
- package/dist/esm/node/prerender/runPrerender.js +3 -4
- package/dist/esm/node/runtime/globalContext.d.ts +4 -4
- package/dist/esm/node/runtime/globalContext.js +44 -21
- package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +1 -1
- package/dist/esm/node/runtime/index-common.d.ts +0 -1
- package/dist/esm/node/runtime/index-common.js +0 -15
- package/dist/esm/node/runtime/index-deprecated.d.ts +1 -0
- package/dist/esm/node/runtime/onLoad.js +16 -2
- package/dist/esm/node/runtime/renderPage/analyzePage.js +1 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse/getCacheControl.js +1 -1
- package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +2 -2
- package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +5 -5
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -3
- package/dist/esm/node/shared/resolveBase.js +2 -2
- package/dist/esm/shared/getPageFiles/analyzeClientSide.js +1 -1
- package/dist/esm/shared/getPageFiles/{setPageFiles.js → getPageFiles.js} +2 -3
- package/dist/esm/shared/getPageFiles.d.ts +2 -5
- package/dist/esm/shared/getPageFiles.js +1 -4
- package/dist/esm/shared/hooks/getHook.d.ts +3 -3
- package/dist/esm/shared/hooks/getHook.js +1 -1
- package/dist/esm/shared/page-configs/Config.d.ts +1 -1
- package/dist/esm/shared/page-configs/PageConfig.d.ts +7 -3
- package/dist/esm/shared/{getPageFiles/getExports.d.ts → page-configs/getPageConfigUserFriendly.d.ts} +23 -12
- package/dist/esm/shared/{getPageFiles/getExports.js → page-configs/getPageConfigUserFriendly.js} +112 -80
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +28 -4
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +79 -54
- package/dist/esm/shared/route/executeGuardHook.d.ts +2 -2
- package/dist/esm/shared/route/loadPageRoutes.js +1 -1
- package/dist/esm/shared/types.d.ts +1 -1
- package/dist/esm/shared/utils.d.ts +1 -0
- package/dist/esm/shared/utils.js +1 -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/assert.js +4 -3
- package/dist/esm/utils/projectInfo.d.ts +1 -1
- package/package.json +2 -21
- package/__internal/loadImportBuild.js +0 -3
- package/__internal/setup.js +0 -3
- package/dist/cjs/node/plugin/plugins/commonConfig/pluginName.js +0 -4
- package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +0 -128
- package/dist/cjs/node/runtime/globalContext/loadImportBuild.js +0 -25
- package/dist/cjs/node/runtime/page-files/getPageFilesExports.js +0 -22
- package/dist/cjs/node/runtime/page-files/setup.js +0 -5
- package/dist/esm/client/client-routing-runtime/pageFiles.d.ts +0 -1
- package/dist/esm/client/client-routing-runtime/pageFiles.js +0 -4
- package/dist/esm/client/server-routing-runtime/pageFiles.d.ts +0 -1
- package/dist/esm/client/server-routing-runtime/pageFiles.js +0 -4
- package/dist/esm/node/plugin/plugins/commonConfig/pluginName.d.ts +0 -1
- package/dist/esm/node/plugin/plugins/commonConfig/pluginName.js +0 -1
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.d.ts +0 -104
- package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +0 -123
- package/dist/esm/node/plugin/plugins/vite6HmrRegressionWorkaround.d.ts +0 -3
- package/dist/esm/node/runtime/globalContext/loadImportBuild.d.ts +0 -18
- package/dist/esm/node/runtime/globalContext/loadImportBuild.js +0 -23
- package/dist/esm/node/runtime/page-files/getPageFilesExports.d.ts +0 -2
- package/dist/esm/node/runtime/page-files/getPageFilesExports.js +0 -20
- package/dist/esm/node/runtime/page-files/setup.d.ts +0 -1
- package/dist/esm/node/runtime/page-files/setup.js +0 -3
- package/dist/cjs/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.js +0 -0
- package/dist/cjs/shared/page-configs/{getConfigValue.js → getConfigValueRuntime.js} +0 -0
- package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.js +0 -0
- package/dist/esm/shared/getPageFiles/{setPageFiles.d.ts → getPageFiles.d.ts} +1 -1
- /package/dist/esm/shared/page-configs/{getConfigValue.d.ts → getConfigValueRuntime.d.ts} +0 -0
- /package/dist/esm/shared/page-configs/{getConfigValue.js → getConfigValueRuntime.js} +0 -0
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { workaroundVite6HmrRegression };
|
|
2
2
|
// https://vite.dev/guide/migration (will be 404 after vite@7 release) > search for `hmrReload()`
|
|
3
3
|
// https://v6.vite.dev/guide/migration (will exist after vite@7 release) > search for `hmrReload()`
|
|
4
4
|
// Workaround seems to work for docs page /banner (which is HTML-only)
|
|
5
5
|
// But doesn't seem to work for /examples/render-modes/ (see https://github.com/vikejs/vike/pull/2069 commit `renable HMR test for HTML-only`)
|
|
6
|
-
function
|
|
6
|
+
function workaroundVite6HmrRegression() {
|
|
7
7
|
return {
|
|
8
|
-
name: 'vike:
|
|
8
|
+
name: 'vike:workaroundVite6HmrRegression',
|
|
9
9
|
enforce: 'post',
|
|
10
10
|
hotUpdate: {
|
|
11
11
|
order: 'post',
|
|
@@ -3,7 +3,6 @@ export { runPrerenderFromCLIPrerenderCommand };
|
|
|
3
3
|
export { runPrerenderFromAutoRun };
|
|
4
4
|
export { runPrerender_forceExit };
|
|
5
5
|
export type { PrerenderOptions };
|
|
6
|
-
import '../runtime/page-files/setup.js';
|
|
7
6
|
import type { InlineConfig, ResolvedConfig } from 'vite';
|
|
8
7
|
import type { APIOptions } from '../api/types.js';
|
|
9
8
|
type PrerenderOptions = APIOptions & {
|
|
@@ -30,5 +29,5 @@ declare function runPrerenderFromAPI(options?: PrerenderOptions): Promise<{
|
|
|
30
29
|
viteConfig: ResolvedConfig;
|
|
31
30
|
}>;
|
|
32
31
|
declare function runPrerenderFromCLIPrerenderCommand(): Promise<void>;
|
|
33
|
-
declare function runPrerenderFromAutoRun(viteConfig: InlineConfig, forceExit: boolean): Promise<void>;
|
|
32
|
+
declare function runPrerenderFromAutoRun(viteConfig: InlineConfig | undefined, forceExit: boolean): Promise<void>;
|
|
34
33
|
declare function runPrerender_forceExit(): void;
|
|
@@ -2,7 +2,6 @@ export { runPrerenderFromAPI };
|
|
|
2
2
|
export { runPrerenderFromCLIPrerenderCommand };
|
|
3
3
|
export { runPrerenderFromAutoRun };
|
|
4
4
|
export { runPrerender_forceExit };
|
|
5
|
-
import '../runtime/page-files/setup.js';
|
|
6
5
|
import path from 'path';
|
|
7
6
|
import { route } from '../../shared/route/index.js';
|
|
8
7
|
import { assert, assertUsage, assertWarning, hasProp, projectInfo, objectAssign, isObjectWithKeys, isCallable, getOutDirs, isPropertyGetter, assertPosixPath, urlToFile, isPlainObject, pLimit, isArray, changeEnumerable, onSetupPrerender } from './utils.js';
|
|
@@ -15,7 +14,7 @@ import { getPageFilesServerSide } from '../../shared/getPageFiles.js';
|
|
|
15
14
|
import { getPageContextRequestUrl } from '../../shared/getPageContextRequestUrl.js';
|
|
16
15
|
import { getUrlFromRouteString } from '../../shared/route/resolveRouteString.js';
|
|
17
16
|
import { getConfigValueFilePathToShowToUser } from '../../shared/page-configs/helpers.js';
|
|
18
|
-
import { getConfigValueRuntime } from '../../shared/page-configs/
|
|
17
|
+
import { getConfigValueRuntime } from '../../shared/page-configs/getConfigValueRuntime.js';
|
|
19
18
|
import { loadConfigValues } from '../../shared/page-configs/loadConfigValues.js';
|
|
20
19
|
import { isErrorPage } from '../../shared/error-page.js';
|
|
21
20
|
import { getPageContextUrlComputed } from '../../shared/getPageContextUrlComputed.js';
|
|
@@ -68,7 +67,7 @@ async function runPrerender(options = {}, standaloneTrigger) {
|
|
|
68
67
|
console.log(`${pc.cyan(`vike v${projectInfo.projectVersion}`)} ${pc.green('pre-rendering HTML...')}`);
|
|
69
68
|
}
|
|
70
69
|
await disableReactStreaming();
|
|
71
|
-
const viteConfig = await resolveConfig(options.viteConfig || {}, '
|
|
70
|
+
const viteConfig = await resolveConfig(options.viteConfig || {}, 'build', 'production');
|
|
72
71
|
assertLoadedConfig(viteConfig, options);
|
|
73
72
|
const vikeConfig = await getVikeConfig(viteConfig);
|
|
74
73
|
const { outDirClient } = getOutDirs(viteConfig);
|
|
@@ -481,7 +480,7 @@ async function routeAndPrerender(prerenderContext, concurrencyLimit, onComplete)
|
|
|
481
480
|
usesClientRouter = getConfigValueRuntime(pageConfig, 'clientRouting', 'boolean')?.value ?? false;
|
|
482
481
|
}
|
|
483
482
|
else {
|
|
484
|
-
usesClientRouter = globalContext.
|
|
483
|
+
usesClientRouter = globalContext.usesClientRouter;
|
|
485
484
|
}
|
|
486
485
|
}
|
|
487
486
|
objectAssign(pageContext, {
|
|
@@ -12,10 +12,10 @@ export { setGlobalContext_viteConfig };
|
|
|
12
12
|
export { setGlobalContext_vikeConfig };
|
|
13
13
|
export { setGlobalContext_isViteDev };
|
|
14
14
|
export { setGlobalContext_isPrerendering };
|
|
15
|
+
export { setBuildEntry };
|
|
15
16
|
import type { ViteManifest } from '../shared/ViteManifest.js';
|
|
16
17
|
import type { ResolvedConfig, ViteDevServer } from 'vite';
|
|
17
|
-
import {
|
|
18
|
-
import type { VikeConfigGlobal } from '../plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js';
|
|
18
|
+
import type { VikeConfigGlobal } from '../plugin/plugins/importUserCode/v1-design/getVikeConfig.js';
|
|
19
19
|
import { type RuntimeManifest } from '../shared/assertRuntimeManifest.js';
|
|
20
20
|
import type { VikeConfigObject } from '../plugin/plugins/importUserCode/v1-design/getVikeConfig.js';
|
|
21
21
|
type GlobalContextPublic = {
|
|
@@ -35,17 +35,16 @@ type GlobalContext = {
|
|
|
35
35
|
vikeConfig: VikeConfigObject;
|
|
36
36
|
viteDevServer: ViteDevServer;
|
|
37
37
|
assetsManifest: null;
|
|
38
|
-
pluginManifest: null;
|
|
39
38
|
} | ({
|
|
40
39
|
isProduction: true;
|
|
41
40
|
assetsManifest: ViteManifest;
|
|
42
|
-
pluginManifest: PluginManifest;
|
|
43
41
|
viteDevServer: null;
|
|
44
42
|
} & ({
|
|
45
43
|
isPrerendering: false;
|
|
46
44
|
viteConfig: null;
|
|
47
45
|
} | {
|
|
48
46
|
isPrerendering: true;
|
|
47
|
+
usesClientRouter: boolean;
|
|
49
48
|
viteConfig: ResolvedConfig;
|
|
50
49
|
})));
|
|
51
50
|
declare function getGlobalContext(): GlobalContext;
|
|
@@ -64,3 +63,4 @@ declare function initGlobalContext_renderPage(): Promise<void>;
|
|
|
64
63
|
declare function initGlobalContext_runPrerender(): Promise<void>;
|
|
65
64
|
declare function initGlobalContext_getGlobalContextAsync(isProduction: boolean): Promise<void>;
|
|
66
65
|
declare function getRuntimeManifest(vikeConfigGlobal: VikeConfigGlobal, viteConfig: ResolvedConfig): RuntimeManifest;
|
|
66
|
+
declare function setBuildEntry(buildEntry: unknown): void;
|
|
@@ -14,13 +14,14 @@ export { setGlobalContext_viteConfig };
|
|
|
14
14
|
export { setGlobalContext_vikeConfig };
|
|
15
15
|
export { setGlobalContext_isViteDev };
|
|
16
16
|
export { setGlobalContext_isPrerendering };
|
|
17
|
-
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
17
|
+
export { setBuildEntry };
|
|
18
|
+
import { assert, onSetupRuntime, assertUsage, assertWarning, isPlainObject, objectAssign, objectKeys, isObject, hasProp, debugGlob, getGlobalObject, genPromise } from './utils.js';
|
|
19
|
+
import { importServerProductionEntry } from '@brillout/vite-plugin-server-entry/runtime';
|
|
20
|
+
import { virtualFileIdImportUserCodeServer } from '../shared/virtual-files/virtualFileImportUserCode.js';
|
|
21
|
+
import { setPageFiles, setPageFilesAsync } from '../../shared/getPageFiles/getPageFiles.js';
|
|
20
22
|
import { assertPluginManifest } from '../shared/assertPluginManifest.js';
|
|
21
23
|
import { assertRuntimeManifest } from '../shared/assertRuntimeManifest.js';
|
|
22
24
|
import pc from '@brillout/picocolors';
|
|
23
|
-
import { getPageFilesExports } from './page-files/getPageFilesExports.js';
|
|
24
25
|
import { resolveBaseFromResolvedConfig } from '../shared/resolveBase.js';
|
|
25
26
|
const globalObject = getGlobalObject('globalContext.ts', (() => {
|
|
26
27
|
const { promise: viteDevServerPromise, resolve: viteDevServerPromiseResolve } = genPromise();
|
|
@@ -29,6 +30,7 @@ const globalObject = getGlobalObject('globalContext.ts', (() => {
|
|
|
29
30
|
viteDevServerPromiseResolve
|
|
30
31
|
};
|
|
31
32
|
})());
|
|
33
|
+
initDevEntry();
|
|
32
34
|
function getGlobalContext() {
|
|
33
35
|
assert(globalObject.globalContext);
|
|
34
36
|
return globalObject.globalContext;
|
|
@@ -152,13 +154,11 @@ async function initGlobalContext(isProduction) {
|
|
|
152
154
|
assert(vikeConfig);
|
|
153
155
|
assert(viteDevServer);
|
|
154
156
|
assert(!isPrerendering);
|
|
155
|
-
const
|
|
156
|
-
const pluginManifest = getRuntimeManifest(vikeConfigGlobal, viteConfig);
|
|
157
|
+
const pluginManifest = getRuntimeManifest(vikeConfig.vikeConfigGlobal, viteConfig);
|
|
157
158
|
globalObject.globalContext = {
|
|
158
159
|
isProduction: false,
|
|
159
160
|
isPrerendering: false,
|
|
160
161
|
assetsManifest: null,
|
|
161
|
-
pluginManifest: null,
|
|
162
162
|
viteDevServer,
|
|
163
163
|
viteConfig,
|
|
164
164
|
vikeConfig,
|
|
@@ -171,22 +171,21 @@ async function initGlobalContext(isProduction) {
|
|
|
171
171
|
};
|
|
172
172
|
}
|
|
173
173
|
else {
|
|
174
|
-
const
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
setPageFiles(pageFiles);
|
|
174
|
+
const buildEntry = await getBuildEntry(globalObject.outDirRoot);
|
|
175
|
+
const { assetsManifest, pluginManifest } = buildEntry;
|
|
176
|
+
setPageFiles(buildEntry.pageFiles);
|
|
178
177
|
assertViteManifest(assetsManifest);
|
|
179
178
|
assertPluginManifest(pluginManifest);
|
|
180
179
|
const globalContext = {
|
|
181
180
|
isProduction: true,
|
|
182
181
|
assetsManifest,
|
|
183
|
-
pluginManifest,
|
|
184
182
|
viteDevServer: null,
|
|
185
183
|
baseServer: pluginManifest.baseServer,
|
|
186
184
|
baseAssets: pluginManifest.baseAssets,
|
|
187
185
|
includeAssetsImportedByServer: pluginManifest.includeAssetsImportedByServer,
|
|
188
186
|
redirects: pluginManifest.redirects,
|
|
189
187
|
trailingSlash: pluginManifest.trailingSlash,
|
|
188
|
+
usesClientRouter: pluginManifest.usesClientRouter,
|
|
190
189
|
disableUrlNormalization: pluginManifest.disableUrlNormalization
|
|
191
190
|
};
|
|
192
191
|
if (isPrerendering) {
|
|
@@ -220,15 +219,6 @@ function getRuntimeManifest(vikeConfigGlobal, viteConfig) {
|
|
|
220
219
|
assertRuntimeManifest(manifest);
|
|
221
220
|
return manifest;
|
|
222
221
|
}
|
|
223
|
-
function assertBuildEntries(buildEntries, isPreRendering) {
|
|
224
|
-
const errMsg = [
|
|
225
|
-
`You are tyring to run`,
|
|
226
|
-
isPreRendering ? 'pre-rendering' : 'the server for production',
|
|
227
|
-
`but your app isn't built yet. Run ${pc.cyan('$ vike build')} before `,
|
|
228
|
-
isPreRendering ? 'pre-rendering.' : 'running the server.'
|
|
229
|
-
].join(' ');
|
|
230
|
-
assertUsage(buildEntries, errMsg);
|
|
231
|
-
}
|
|
232
222
|
function assertViteManifest(manifest) {
|
|
233
223
|
assert(isPlainObject(manifest));
|
|
234
224
|
/* We should include these assertions but we don't as a workaround for PWA manifests: https://github.com/vikejs/vike/issues/769
|
|
@@ -247,3 +237,36 @@ function eagerlyLoadUserFiles() {
|
|
|
247
237
|
// We call it as early as possible here for better performance.
|
|
248
238
|
getPageFilesExports();
|
|
249
239
|
}
|
|
240
|
+
async function getBuildEntry(outDir) {
|
|
241
|
+
if (!globalObject.buildEntry) {
|
|
242
|
+
await importServerProductionEntry({ outDir });
|
|
243
|
+
assert(globalObject.buildEntry);
|
|
244
|
+
}
|
|
245
|
+
return globalObject.buildEntry;
|
|
246
|
+
}
|
|
247
|
+
function setBuildEntry(buildEntry) {
|
|
248
|
+
assert(isObject(buildEntry));
|
|
249
|
+
assert(hasProp(buildEntry, 'pageFiles', 'object'));
|
|
250
|
+
assert(hasProp(buildEntry, 'assetsManifest', 'object'));
|
|
251
|
+
assert(hasProp(buildEntry, 'pluginManifest', 'object'));
|
|
252
|
+
globalObject.buildEntry = buildEntry;
|
|
253
|
+
}
|
|
254
|
+
function initDevEntry() {
|
|
255
|
+
setPageFilesAsync(getPageFilesExports);
|
|
256
|
+
}
|
|
257
|
+
async function getPageFilesExports() {
|
|
258
|
+
const viteDevServer = getViteDevServer();
|
|
259
|
+
assert(viteDevServer);
|
|
260
|
+
let moduleExports;
|
|
261
|
+
try {
|
|
262
|
+
moduleExports = await viteDevServer.ssrLoadModule(virtualFileIdImportUserCodeServer);
|
|
263
|
+
}
|
|
264
|
+
catch (err) {
|
|
265
|
+
debugGlob(`Glob error: ${virtualFileIdImportUserCodeServer} transpile error: `, err);
|
|
266
|
+
throw err;
|
|
267
|
+
}
|
|
268
|
+
moduleExports = moduleExports.default || moduleExports;
|
|
269
|
+
debugGlob('Glob result: ', moduleExports);
|
|
270
|
+
assert(isObject(moduleExports));
|
|
271
|
+
return moduleExports;
|
|
272
|
+
}
|
|
@@ -5,7 +5,7 @@ import { sanitizeJson } from './sanitizeJson.js';
|
|
|
5
5
|
import { inferAssetTag, inferPreloadTag } from './inferHtmlTags.js';
|
|
6
6
|
import { mergeScriptTags } from './mergeScriptTags.js';
|
|
7
7
|
import { getPageConfig } from '../../../../shared/page-configs/helpers.js';
|
|
8
|
-
import { getConfigValueRuntime } from '../../../../shared/page-configs/
|
|
8
|
+
import { getConfigValueRuntime } from '../../../../shared/page-configs/getConfigValueRuntime.js';
|
|
9
9
|
import { getGlobalContext } from '../../globalContext.js';
|
|
10
10
|
import pc from '@brillout/picocolors';
|
|
11
11
|
import { getConfigDefinedAt } from '../../../../shared/page-configs/getConfigDefinedAt.js';
|
|
@@ -6,4 +6,3 @@ export { getGlobalContextSync, getGlobalContextAsync } from './globalContext.js'
|
|
|
6
6
|
export { createDevMiddleware } from '../runtime-dev/index.js';
|
|
7
7
|
export { injectAssets__public as _injectAssets } from './html/injectAssets/injectAssets__public.js';
|
|
8
8
|
export { createPageRenderer } from '../createPageRenderer.js';
|
|
9
|
-
import './page-files/setup.js';
|
|
@@ -8,18 +8,3 @@ export { createDevMiddleware } from '../runtime-dev/index.js';
|
|
|
8
8
|
export { injectAssets__public as _injectAssets } from './html/injectAssets/injectAssets__public.js';
|
|
9
9
|
// TODO/v1-release: remove
|
|
10
10
|
export { createPageRenderer } from '../createPageRenderer.js';
|
|
11
|
-
addEcosystemStamp();
|
|
12
|
-
import './page-files/setup.js';
|
|
13
|
-
// Used by:
|
|
14
|
-
// - Telefunc (to detect the user's stack https://github.com/brillout/telefunc/blob/8288310e88e06a42b710d39c39fb502364ca6d30/telefunc/utils/isVikeApp.ts#L4)
|
|
15
|
-
function addEcosystemStamp() {
|
|
16
|
-
const g = globalThis;
|
|
17
|
-
g._isVikeApp =
|
|
18
|
-
/* Don't set to true so that consumers do `!!globalThis._isVikeApp` instead of `globalThis._isVikeApp === true`.
|
|
19
|
-
true
|
|
20
|
-
*/
|
|
21
|
-
// We use an object so that we can eventually, in the future, add helpful information as needed. (E.g. the Vike version, or global settings.)
|
|
22
|
-
{};
|
|
23
|
-
// We keep the old stamp for older Telefunc versions
|
|
24
|
-
g._isVitePluginSsr = true;
|
|
25
|
-
}
|
|
@@ -1,13 +1,27 @@
|
|
|
1
1
|
export { onLoad };
|
|
2
2
|
import { assertIsNotBrowser } from '../../utils/assertIsNotBrowser.js';
|
|
3
3
|
import { assertNodeVersion } from '../../utils/assertNodeVersion.js';
|
|
4
|
+
import { setAlwaysShowStackTrace } from '../../utils/assert.js';
|
|
4
5
|
import { installRequireShim } from '@brillout/require-shim';
|
|
5
|
-
import { setAlwaysShowStackTrace } from './utils.js';
|
|
6
6
|
import { isErrorDebug } from '../shared/isErrorDebug.js';
|
|
7
7
|
function onLoad() {
|
|
8
8
|
assertIsNotBrowser();
|
|
9
9
|
assertNodeVersion();
|
|
10
|
-
installRequireShim();
|
|
11
10
|
if (isErrorDebug())
|
|
12
11
|
setAlwaysShowStackTrace();
|
|
12
|
+
addEcosystemStamp();
|
|
13
|
+
installRequireShim();
|
|
14
|
+
}
|
|
15
|
+
// Used by:
|
|
16
|
+
// - Telefunc (to detect the user's stack https://github.com/brillout/telefunc/blob/8288310e88e06a42b710d39c39fb502364ca6d30/telefunc/utils/isVikeApp.ts#L4)
|
|
17
|
+
function addEcosystemStamp() {
|
|
18
|
+
const g = globalThis;
|
|
19
|
+
g._isVikeApp =
|
|
20
|
+
/* Don't set to true so that consumers do `!!globalThis._isVikeApp` instead of `globalThis._isVikeApp === true`.
|
|
21
|
+
true
|
|
22
|
+
*/
|
|
23
|
+
// We use an object so that we can eventually, in the future, add helpful information as needed. (E.g. the Vike version, or global settings.)
|
|
24
|
+
{};
|
|
25
|
+
// We keep the old stamp for older Telefunc versions
|
|
26
|
+
g._isVitePluginSsr = true;
|
|
13
27
|
}
|
|
@@ -4,7 +4,7 @@ import { analyzePageClientSide } from '../../../shared/getPageFiles/analyzePageC
|
|
|
4
4
|
import { getVirtualFileIdPageConfigValuesAll } from '../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
|
|
5
5
|
import { analyzeClientSide } from '../../../shared/getPageFiles/analyzeClientSide.js';
|
|
6
6
|
import { getGlobalContext } from '../globalContext.js';
|
|
7
|
-
import { getConfigValueRuntime } from '../../../shared/page-configs/
|
|
7
|
+
import { getConfigValueRuntime } from '../../../shared/page-configs/getConfigValueRuntime.js';
|
|
8
8
|
function analyzePage(pageFilesAll, pageConfig, pageId) {
|
|
9
9
|
if (pageConfig) {
|
|
10
10
|
const { isClientRuntimeLoaded, isClientRouting } = analyzeClientSide(pageConfig, pageFilesAll, pageId);
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { getCacheControl };
|
|
2
2
|
import { getPageConfig } from '../../../../shared/page-configs/helpers.js';
|
|
3
|
-
import { getConfigValueRuntime } from '../../../../shared/page-configs/
|
|
3
|
+
import { getConfigValueRuntime } from '../../../../shared/page-configs/getConfigValueRuntime.js';
|
|
4
4
|
const defaultValue = 'no-store, max-age=0';
|
|
5
5
|
function getCacheControl(pageId, pageConfigs, statusCode) {
|
|
6
6
|
// TODO/v1-release: remove
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { executeOnBeforeRenderAndDataHooks };
|
|
2
|
-
import { type
|
|
2
|
+
import { type PageConfigUserFriendly } from '../../../shared/getPageFiles.js';
|
|
3
3
|
import { type PageContextForUserConsumptionServerSide } from './preparePageContextForUserConsumptionServerSide.js';
|
|
4
4
|
declare function executeOnBeforeRenderAndDataHooks(pageContext: {
|
|
5
5
|
pageId: string;
|
|
6
6
|
_pageContextAlreadyProvidedByOnPrerenderHook?: true;
|
|
7
|
-
} &
|
|
7
|
+
} & PageConfigUserFriendly & PageContextForUserConsumptionServerSide): Promise<void>;
|
|
@@ -14,7 +14,7 @@ type PageContext_loadUserFilesServerSide = PageContextGetPageAssets & PageContex
|
|
|
14
14
|
type PageFiles = PromiseType<ReturnType<typeof loadUserFilesServerSide>>;
|
|
15
15
|
declare function loadUserFilesServerSide(pageContext: {
|
|
16
16
|
pageId: string;
|
|
17
|
-
} & PageContext_loadUserFilesServerSide): Promise<import("../../../shared/getPageFiles.js").
|
|
17
|
+
} & PageContext_loadUserFilesServerSide): Promise<import("../../../shared/getPageFiles.js").PageConfigUserFriendly & {
|
|
18
18
|
Page: unknown;
|
|
19
19
|
_isHtmlOnly: boolean;
|
|
20
20
|
_passToClient: string[];
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { loadUserFilesServerSide };
|
|
2
|
-
import { getPageFilesServerSide,
|
|
2
|
+
import { getPageFilesServerSide, getPageConfigUserFriendly } from '../../../shared/getPageFiles.js';
|
|
3
3
|
import { analyzePageClientSideInit } from '../../../shared/getPageFiles/analyzePageClientSide.js';
|
|
4
4
|
import { assert, assertUsage, assertWarning, hasProp, isArrayOfStrings, objectAssign, isArray } from '../utils.js';
|
|
5
5
|
import { getPageAssets } from './getPageAssets.js';
|
|
@@ -99,7 +99,7 @@ async function loadPageUserFiles(pageFilesAll, pageConfig, pageId, isDev) {
|
|
|
99
99
|
const pageFilesServerSide = getPageFilesServerSide(pageFilesAll, pageId);
|
|
100
100
|
const pageConfigLoaded = !pageConfig ? null : await loadConfigValues(pageConfig, isDev);
|
|
101
101
|
await Promise.all(pageFilesServerSide.map((p) => p.loadFile?.()));
|
|
102
|
-
const pageContextExports =
|
|
102
|
+
const pageContextExports = getPageConfigUserFriendly(pageFilesServerSide, pageConfigLoaded);
|
|
103
103
|
return {
|
|
104
104
|
pageContextExports,
|
|
105
105
|
pageFilesLoaded: pageFilesServerSide
|
package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts
CHANGED
|
@@ -2,9 +2,9 @@ export { preparePageContextForUserConsumptionServerSide };
|
|
|
2
2
|
export type { PageContextForUserConsumptionServerSide };
|
|
3
3
|
import { PageContextUrlInternal } from '../../../shared/getPageContextUrlComputed.js';
|
|
4
4
|
import type { PageConfigRuntime } from '../../../shared/page-configs/PageConfig.js';
|
|
5
|
-
import type {
|
|
5
|
+
import type { PageConfigUserFriendly } from '../../../shared/page-configs/getPageConfigUserFriendly.js';
|
|
6
6
|
import { PageContextBuiltInServerInternal } from '../../../shared/types.js';
|
|
7
|
-
type PageContextForUserConsumptionServerSide = PageContextBuiltInServerInternal &
|
|
7
|
+
type PageContextForUserConsumptionServerSide = PageContextBuiltInServerInternal & PageConfigUserFriendly & {
|
|
8
8
|
urlOriginal: string;
|
|
9
9
|
/** @deprecated */
|
|
10
10
|
url: string;
|
|
@@ -6,7 +6,7 @@ export { getRenderContext };
|
|
|
6
6
|
export type { RenderContext };
|
|
7
7
|
export type { PageContextAfterRender };
|
|
8
8
|
export type { PageContextInitEnhanced };
|
|
9
|
-
import {
|
|
9
|
+
import type { PageFile } from '../../../shared/getPageFiles/getPageFileObject.js';
|
|
10
10
|
import { type PageContextUrlInternal } from '../../../shared/getPageContextUrlComputed.js';
|
|
11
11
|
import { HttpResponse } from './createHttpResponse.js';
|
|
12
12
|
import { PageContext_loadUserFilesServerSide, type PageFiles } from './loadUserFilesServerSide.js';
|
|
@@ -65,7 +65,7 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
|
|
|
65
65
|
url: string;
|
|
66
66
|
} & {
|
|
67
67
|
headers: Record<string, string> | null;
|
|
68
|
-
} & import("../../../shared/getPageFiles.js").
|
|
68
|
+
} & import("../../../shared/getPageFiles.js").PageConfigUserFriendly & {
|
|
69
69
|
Page: unknown;
|
|
70
70
|
_isHtmlOnly: boolean;
|
|
71
71
|
_passToClient: string[];
|
|
@@ -116,7 +116,7 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
|
|
|
116
116
|
url: string;
|
|
117
117
|
} & {
|
|
118
118
|
headers: Record<string, string> | null;
|
|
119
|
-
} & import("../../../shared/getPageFiles.js").
|
|
119
|
+
} & import("../../../shared/getPageFiles.js").PageConfigUserFriendly & {
|
|
120
120
|
Page: unknown;
|
|
121
121
|
_isHtmlOnly: boolean;
|
|
122
122
|
_passToClient: string[];
|
|
@@ -168,7 +168,7 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
|
|
|
168
168
|
url: string;
|
|
169
169
|
} & {
|
|
170
170
|
headers: Record<string, string> | null;
|
|
171
|
-
} & import("../../../shared/getPageFiles.js").
|
|
171
|
+
} & import("../../../shared/getPageFiles.js").PageConfigUserFriendly & {
|
|
172
172
|
Page: unknown;
|
|
173
173
|
_isHtmlOnly: boolean;
|
|
174
174
|
_passToClient: string[];
|
|
@@ -219,7 +219,7 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
|
|
|
219
219
|
url: string;
|
|
220
220
|
} & {
|
|
221
221
|
headers: Record<string, string> | null;
|
|
222
|
-
} & import("../../../shared/getPageFiles.js").
|
|
222
|
+
} & import("../../../shared/getPageFiles.js").PageConfigUserFriendly & {
|
|
223
223
|
Page: unknown;
|
|
224
224
|
_isHtmlOnly: boolean;
|
|
225
225
|
_passToClient: string[];
|
|
@@ -5,7 +5,7 @@ export { getPageContextInitEnhanced };
|
|
|
5
5
|
export { getRenderContext };
|
|
6
6
|
import { getErrorPageId } from '../../../shared/error-page.js';
|
|
7
7
|
import { getHtmlString } from '../html/renderHtml.js';
|
|
8
|
-
import { getPageFilesAll } from '../../../shared/getPageFiles.js';
|
|
8
|
+
import { getPageFilesAll } from '../../../shared/getPageFiles/getPageFiles.js';
|
|
9
9
|
import { assert, assertUsage, assertWarning, hasProp, normalizeHeaders, objectAssign } from '../utils.js';
|
|
10
10
|
import { serializePageContextClientSide } from '../html/serializePageContextClientSide.js';
|
|
11
11
|
import { getPageContextUrlComputed } from '../../../shared/getPageContextUrlComputed.js';
|
|
@@ -169,10 +169,10 @@ async function getRenderContext() {
|
|
|
169
169
|
// pageConfigs is PageConfigRuntime[] but assertV1Design() requires PageConfigBuildTime[]
|
|
170
170
|
pageConfigs.length > 0, pageFilesAll);
|
|
171
171
|
const renderContext = {
|
|
172
|
-
pageFilesAll
|
|
172
|
+
pageFilesAll,
|
|
173
173
|
pageConfigs,
|
|
174
174
|
pageConfigGlobal,
|
|
175
|
-
allPageIds
|
|
175
|
+
allPageIds,
|
|
176
176
|
pageRoutes,
|
|
177
177
|
onBeforeRouteHook
|
|
178
178
|
};
|
|
@@ -4,12 +4,12 @@ import { assert, assertUsage, isBaseServer, isBaseAssets } from './utils.js';
|
|
|
4
4
|
import pc from '@brillout/picocolors';
|
|
5
5
|
function resolveBaseFromResolvedConfig(baseServer, baseAssets, config) {
|
|
6
6
|
let baseViteOriginal = config._baseViteOriginal;
|
|
7
|
-
if (baseViteOriginal === '/__UNSET__')
|
|
8
|
-
baseViteOriginal = null;
|
|
9
7
|
assert(baseViteOriginal === null || typeof baseViteOriginal == 'string');
|
|
10
8
|
return resolveBase(baseViteOriginal, baseServer, baseAssets);
|
|
11
9
|
}
|
|
12
10
|
function resolveBase(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved) {
|
|
11
|
+
if (baseViteOriginal === '/__UNSET__')
|
|
12
|
+
baseViteOriginal = null;
|
|
13
13
|
{
|
|
14
14
|
const wrongBase = (val) => `should start with ${pc.cyan('/')}, ${pc.cyan('http://')}, or ${pc.cyan('https://')} (it's ${pc.cyan(val)} instead)`;
|
|
15
15
|
assertUsage(baseViteOriginal === null || isBaseAssets(baseViteOriginal), `vite.config.js#base ${wrongBase(baseViteOriginal)}`);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { analyzeClientSide };
|
|
2
|
-
import { getConfigValueRuntime } from '../page-configs/
|
|
2
|
+
import { getConfigValueRuntime } from '../page-configs/getConfigValueRuntime.js';
|
|
3
3
|
import { analyzePageClientSide } from './analyzePageClientSide.js';
|
|
4
4
|
function analyzeClientSide(pageConfig, pageFilesAll, pageId) {
|
|
5
5
|
// V1 design
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
+
export { getPageFilesAll };
|
|
1
2
|
export { setPageFiles };
|
|
2
3
|
export { setPageFilesAsync };
|
|
3
|
-
export { getPageFilesAll };
|
|
4
4
|
import { assert, unique } from '../utils.js';
|
|
5
5
|
import { parseGlobResults } from './parseGlobResults.js';
|
|
6
6
|
import { getGlobalObject } from '../../utils/getGlobalObject.js';
|
|
7
7
|
const globalObject = getGlobalObject('setPageFiles.ts', {});
|
|
8
|
-
// TODO:v1-design-release: rename setPageFiles() getPageFilesAll() parseGlobResult()
|
|
9
8
|
function setPageFiles(pageFilesExports) {
|
|
10
9
|
const { pageFiles, pageConfigs, pageConfigGlobal } = parseGlobResults(pageFilesExports);
|
|
11
10
|
globalObject.pageFilesAll = pageFiles;
|
|
@@ -23,11 +22,11 @@ async function getPageFilesAll(isClientSide, isProduction) {
|
|
|
23
22
|
assert(isProduction === undefined);
|
|
24
23
|
}
|
|
25
24
|
else {
|
|
26
|
-
assert(globalObject.pageFilesGetter);
|
|
27
25
|
assert(typeof isProduction === 'boolean');
|
|
28
26
|
if (!globalObject.pageFilesAll ||
|
|
29
27
|
// We reload all glob imports in dev to make auto-reload work
|
|
30
28
|
!isProduction) {
|
|
29
|
+
assert(globalObject.pageFilesGetter);
|
|
31
30
|
await globalObject.pageFilesGetter();
|
|
32
31
|
}
|
|
33
32
|
}
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
export type { PageFile } from './getPageFiles/getPageFileObject.js';
|
|
2
|
-
export type { ExportsAll,
|
|
3
|
-
export { getPageFilesAll } from './getPageFiles/setPageFiles.js';
|
|
4
|
-
export { setPageFiles } from './getPageFiles/setPageFiles.js';
|
|
5
|
-
export { setPageFilesAsync } from './getPageFiles/setPageFiles.js';
|
|
2
|
+
export type { ExportsAll, PageConfigUserFriendly } from './page-configs/getPageConfigUserFriendly.js';
|
|
6
3
|
export { getPageFilesClientSide } from './getPageFiles/getAllPageIdFiles.js';
|
|
7
4
|
export { getPageFilesServerSide } from './getPageFiles/getAllPageIdFiles.js';
|
|
8
|
-
export {
|
|
5
|
+
export { getPageConfigUserFriendly } from './page-configs/getPageConfigUserFriendly.js';
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
export { getPageFilesAll } from './getPageFiles/setPageFiles.js';
|
|
2
|
-
export { setPageFiles } from './getPageFiles/setPageFiles.js';
|
|
3
|
-
export { setPageFilesAsync } from './getPageFiles/setPageFiles.js';
|
|
4
1
|
export { getPageFilesClientSide } from './getPageFiles/getAllPageIdFiles.js';
|
|
5
2
|
export { getPageFilesServerSide } from './getPageFiles/getAllPageIdFiles.js';
|
|
6
|
-
export {
|
|
3
|
+
export { getPageConfigUserFriendly } from './page-configs/getPageConfigUserFriendly.js';
|
|
@@ -9,7 +9,7 @@ export type { HookLoc };
|
|
|
9
9
|
export type { HookTimeout };
|
|
10
10
|
export type { HooksTimeoutProvidedByUser };
|
|
11
11
|
export { getHookTimeoutDefault };
|
|
12
|
-
import type {
|
|
12
|
+
import type { PageConfigUserFriendly } from '../getPageFiles.js';
|
|
13
13
|
import type { HookName, HookNamePage, HookNameGlobal } from '../page-configs/Config.js';
|
|
14
14
|
import type { PageConfigGlobalRuntime, PageConfigRuntime } from '../page-configs/PageConfig.js';
|
|
15
15
|
type Hook = HookLoc & {
|
|
@@ -26,10 +26,10 @@ type HookTimeout = {
|
|
|
26
26
|
warning: number | false;
|
|
27
27
|
};
|
|
28
28
|
type HooksTimeoutProvidedByUser = false | Partial<Record<HookName, false | Partial<HookTimeout>>>;
|
|
29
|
-
declare function getHook(pageContext:
|
|
29
|
+
declare function getHook(pageContext: PageConfigUserFriendly, hookName: HookName): null | Hook;
|
|
30
30
|
declare function getHookFromPageConfig(pageConfig: PageConfigRuntime, hookName: HookNamePage): null | Hook;
|
|
31
31
|
declare function getHookFromPageConfigGlobal(pageConfigGlobal: PageConfigGlobalRuntime, hookName: HookNameGlobal): null | Hook;
|
|
32
|
-
declare function assertHook<TPageContext extends
|
|
32
|
+
declare function assertHook<TPageContext extends PageConfigUserFriendly, THookName extends PropertyKey & HookName>(pageContext: TPageContext, hookName: THookName): asserts pageContext is TPageContext & {
|
|
33
33
|
exports: Record<THookName, Function | undefined>;
|
|
34
34
|
};
|
|
35
35
|
declare function getHookTimeoutDefault(hookName: HookName): HookTimeout;
|
|
@@ -8,7 +8,7 @@ export { getHook_setIsPrerenderering };
|
|
|
8
8
|
export { getHookTimeoutDefault };
|
|
9
9
|
import { getGlobalObject } from '../../utils/getGlobalObject.js';
|
|
10
10
|
import { getHookFilePathToShowToUser } from '../page-configs/helpers.js';
|
|
11
|
-
import { getConfigValueRuntime } from '../page-configs/
|
|
11
|
+
import { getConfigValueRuntime } from '../page-configs/getConfigValueRuntime.js';
|
|
12
12
|
import { assert, assertUsage, checkType, isCallable, isObject } from '../utils.js';
|
|
13
13
|
import pc from '@brillout/picocolors';
|
|
14
14
|
const globalObject = getGlobalObject('getHook.ts', {});
|
|
@@ -35,7 +35,7 @@ import type { PrefetchSetting, PrefetchStaticAssets } from '../../client/client-
|
|
|
35
35
|
import type { ConfigDefinition } from '../../node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js';
|
|
36
36
|
import type { DocumentHtml } from '../../node/runtime/html/renderHtml.js';
|
|
37
37
|
import type { InjectFilterEntry } from '../../types/index.js';
|
|
38
|
-
import type { VikeVitePluginOptions } from '../../node/plugin/plugins/importUserCode/v1-design/getVikeConfig
|
|
38
|
+
import type { VikeVitePluginOptions } from '../../node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js';
|
|
39
39
|
import type { Vike, VikePackages } from '../VikeNamespace.js';
|
|
40
40
|
import type { HooksTimeoutProvidedByUser } from '../hooks/getHook.js';
|
|
41
41
|
import type { PageContextClient, PageContextServer } from '../types.js';
|
|
@@ -54,6 +54,7 @@ type PageConfigGlobalRuntime = {
|
|
|
54
54
|
type PageConfigGlobalBuildTime = {
|
|
55
55
|
configValueSources: ConfigValueSources;
|
|
56
56
|
configDefinitions: ConfigDefinitions;
|
|
57
|
+
configValuesComputed?: undefined;
|
|
57
58
|
};
|
|
58
59
|
/** In what environment(s) the config value is loaded.
|
|
59
60
|
*
|
|
@@ -70,6 +71,8 @@ type ConfigEnvInternal = Omit<ConfigEnv, 'client'> & {
|
|
|
70
71
|
/** Load value only in production, or only in development. */
|
|
71
72
|
production?: boolean;
|
|
72
73
|
};
|
|
74
|
+
type ConfigValueSources = Record<string, // configName
|
|
75
|
+
ConfigValueSource[]>;
|
|
73
76
|
type ConfigValueSource = {
|
|
74
77
|
value?: unknown;
|
|
75
78
|
configEnv: ConfigEnvInternal;
|
|
@@ -85,11 +88,13 @@ type ConfigValueSource = {
|
|
|
85
88
|
type DefinedAtFilePath = DefinedAtFile & FilePath & {
|
|
86
89
|
fileExportName?: string;
|
|
87
90
|
};
|
|
88
|
-
type
|
|
89
|
-
|
|
91
|
+
type ConfigValuesComputed = Record<string, // configName
|
|
92
|
+
{
|
|
90
93
|
configEnv: ConfigEnvInternal;
|
|
91
94
|
value: unknown;
|
|
92
95
|
}>;
|
|
96
|
+
type ConfigValues = Record<string, // configName
|
|
97
|
+
ConfigValue>;
|
|
93
98
|
type ConfigValue = ConfigValueStandard | ConfigValueCumulative | ConfigValueComputed;
|
|
94
99
|
/** Defined by a unique source (thus unique file path). */
|
|
95
100
|
type ConfigValueStandard = {
|
|
@@ -109,7 +114,6 @@ type ConfigValueComputed = {
|
|
|
109
114
|
value: unknown;
|
|
110
115
|
definedAtData: null;
|
|
111
116
|
};
|
|
112
|
-
type ConfigValues = Record<string, ConfigValue>;
|
|
113
117
|
type DefinedAtData = DefinedAtFile | DefinedAtFile[] | null;
|
|
114
118
|
type DefinedAtFile = {
|
|
115
119
|
filePathToShowToUser: string;
|