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.
Files changed (157) hide show
  1. package/dist/cjs/__internal/index.js +9 -8
  2. package/dist/cjs/node/api/build.js +20 -11
  3. package/dist/cjs/node/api/index.js +17 -7
  4. package/dist/cjs/node/api/prepareViteApiCall.js +109 -26
  5. package/dist/cjs/node/api/utils.js +2 -0
  6. package/dist/cjs/node/cli/entry.js +17 -7
  7. package/dist/cjs/node/plugin/index.js +6 -5
  8. package/dist/cjs/node/plugin/plugins/autoFullBuild.js +2 -3
  9. package/dist/cjs/node/plugin/plugins/baseUrls.js +20 -18
  10. package/dist/cjs/node/plugin/plugins/buildConfig.js +2 -2
  11. package/dist/cjs/node/plugin/plugins/{importBuild → buildEntry}/index.js +16 -17
  12. package/dist/cjs/node/plugin/plugins/commonConfig.js +6 -6
  13. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +1 -3
  14. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +7 -9
  15. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +182 -7
  16. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +2 -1
  17. package/dist/cjs/node/plugin/plugins/setGlobalContext.js +1 -1
  18. package/dist/cjs/node/plugin/plugins/{vite6HmrRegressionWorkaround.js → workaroundVite6HmrRegression.js} +3 -3
  19. package/dist/cjs/node/plugin/shared/getHttpRequestAsyncStore.js +17 -7
  20. package/dist/cjs/node/prerender/isPrerenderEnabled.js +8 -0
  21. package/dist/cjs/node/prerender/runPrerender.js +21 -12
  22. package/dist/cjs/node/runtime/globalContext.js +44 -21
  23. package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +2 -2
  24. package/dist/cjs/node/runtime/index-common.js +0 -15
  25. package/dist/cjs/node/runtime/onLoad.js +17 -3
  26. package/dist/cjs/node/runtime/renderPage/analyzePage.js +2 -2
  27. package/dist/cjs/node/runtime/renderPage/createHttpResponse/getCacheControl.js +2 -2
  28. package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
  29. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -3
  30. package/dist/cjs/node/runtime-dev/index.js +17 -7
  31. package/dist/cjs/node/shared/resolveBase.js +2 -2
  32. package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +3 -3
  33. package/dist/cjs/shared/getPageFiles/{setPageFiles.js → getPageFiles.js} +2 -3
  34. package/dist/cjs/shared/getPageFiles.js +3 -9
  35. package/dist/cjs/shared/hooks/getHook.js +3 -3
  36. package/dist/cjs/shared/{getPageFiles/getExports.js → page-configs/getPageConfigUserFriendly.js} +113 -81
  37. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +79 -54
  38. package/dist/cjs/shared/route/loadPageRoutes.js +3 -3
  39. package/dist/cjs/shared/utils.js +1 -0
  40. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  41. package/dist/cjs/utils/assert.js +4 -3
  42. package/dist/esm/__internal/index.d.ts +3 -5
  43. package/dist/esm/__internal/index.js +4 -5
  44. package/dist/esm/client/client-routing-runtime/createPageContext.js +7 -1
  45. package/dist/esm/client/client-routing-runtime/entry.d.ts +1 -1
  46. package/dist/esm/client/client-routing-runtime/entry.js +0 -1
  47. package/dist/esm/client/client-routing-runtime/getPageContextCurrent.d.ts +2 -2
  48. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.d.ts +4 -4
  49. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +1 -1
  50. package/dist/esm/client/client-routing-runtime/prefetch/getPrefetchSettings.d.ts +2 -2
  51. package/dist/esm/client/client-routing-runtime/prefetch.d.ts +2 -2
  52. package/dist/esm/client/client-routing-runtime/prefetch.js +2 -2
  53. package/dist/esm/client/server-routing-runtime/entry.d.ts +1 -1
  54. package/dist/esm/client/server-routing-runtime/entry.js +0 -1
  55. package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +1 -1
  56. package/dist/esm/client/server-routing-runtime/getPageContext.js +8 -2
  57. package/dist/esm/client/shared/executeOnRenderClientHook.d.ts +2 -2
  58. package/dist/esm/client/shared/loadUserFilesClientSide.d.ts +2 -2
  59. package/dist/esm/client/shared/loadUserFilesClientSide.js +2 -2
  60. package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.d.ts +2 -2
  61. package/dist/esm/node/api/build.js +3 -4
  62. package/dist/esm/node/api/prepareViteApiCall.d.ts +9 -3
  63. package/dist/esm/node/api/prepareViteApiCall.js +91 -21
  64. package/dist/esm/node/api/utils.d.ts +2 -0
  65. package/dist/esm/node/api/utils.js +2 -0
  66. package/dist/esm/node/cli/parseCli.d.ts +1 -1
  67. package/dist/esm/node/plugin/index.d.ts +1 -1
  68. package/dist/esm/node/plugin/index.js +6 -5
  69. package/dist/esm/node/plugin/plugins/autoFullBuild.js +2 -3
  70. package/dist/esm/node/plugin/plugins/baseUrls.d.ts +1 -2
  71. package/dist/esm/node/plugin/plugins/baseUrls.js +21 -19
  72. package/dist/esm/node/plugin/plugins/buildConfig.js +2 -2
  73. package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.d.ts +1 -1
  74. package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/index.d.ts +2 -2
  75. package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/index.js +16 -17
  76. package/dist/esm/node/plugin/plugins/commonConfig.d.ts +1 -1
  77. package/dist/esm/node/plugin/plugins/commonConfig.js +2 -2
  78. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.d.ts +1 -1
  79. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +1 -3
  80. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +8 -10
  81. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +99 -1
  82. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +182 -7
  83. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +2 -1
  84. package/dist/esm/node/plugin/plugins/setGlobalContext.js +1 -1
  85. package/dist/esm/node/plugin/plugins/workaroundVite6HmrRegression.d.ts +3 -0
  86. package/dist/esm/node/plugin/plugins/{vite6HmrRegressionWorkaround.js → workaroundVite6HmrRegression.js} +3 -3
  87. package/dist/esm/node/prerender/isPrerenderEnabled.d.ts +3 -0
  88. package/dist/esm/node/prerender/isPrerenderEnabled.js +6 -0
  89. package/dist/esm/node/prerender/runPrerender.d.ts +1 -2
  90. package/dist/esm/node/prerender/runPrerender.js +3 -4
  91. package/dist/esm/node/runtime/globalContext.d.ts +4 -4
  92. package/dist/esm/node/runtime/globalContext.js +44 -21
  93. package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +1 -1
  94. package/dist/esm/node/runtime/index-common.d.ts +0 -1
  95. package/dist/esm/node/runtime/index-common.js +0 -15
  96. package/dist/esm/node/runtime/index-deprecated.d.ts +1 -0
  97. package/dist/esm/node/runtime/onLoad.js +16 -2
  98. package/dist/esm/node/runtime/renderPage/analyzePage.js +1 -1
  99. package/dist/esm/node/runtime/renderPage/createHttpResponse/getCacheControl.js +1 -1
  100. package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.d.ts +2 -2
  101. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +1 -1
  102. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +2 -2
  103. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +2 -2
  104. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +5 -5
  105. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -3
  106. package/dist/esm/node/shared/resolveBase.js +2 -2
  107. package/dist/esm/shared/getPageFiles/analyzeClientSide.js +1 -1
  108. package/dist/esm/shared/getPageFiles/{setPageFiles.js → getPageFiles.js} +2 -3
  109. package/dist/esm/shared/getPageFiles.d.ts +2 -5
  110. package/dist/esm/shared/getPageFiles.js +1 -4
  111. package/dist/esm/shared/hooks/getHook.d.ts +3 -3
  112. package/dist/esm/shared/hooks/getHook.js +1 -1
  113. package/dist/esm/shared/page-configs/Config.d.ts +1 -1
  114. package/dist/esm/shared/page-configs/PageConfig.d.ts +7 -3
  115. package/dist/esm/shared/{getPageFiles/getExports.d.ts → page-configs/getPageConfigUserFriendly.d.ts} +23 -12
  116. package/dist/esm/shared/{getPageFiles/getExports.js → page-configs/getPageConfigUserFriendly.js} +112 -80
  117. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +28 -4
  118. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +79 -54
  119. package/dist/esm/shared/route/executeGuardHook.d.ts +2 -2
  120. package/dist/esm/shared/route/loadPageRoutes.js +1 -1
  121. package/dist/esm/shared/types.d.ts +1 -1
  122. package/dist/esm/shared/utils.d.ts +1 -0
  123. package/dist/esm/shared/utils.js +1 -0
  124. package/dist/esm/types/index.d.ts +1 -1
  125. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  126. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  127. package/dist/esm/utils/assert.js +4 -3
  128. package/dist/esm/utils/projectInfo.d.ts +1 -1
  129. package/package.json +2 -21
  130. package/__internal/loadImportBuild.js +0 -3
  131. package/__internal/setup.js +0 -3
  132. package/dist/cjs/node/plugin/plugins/commonConfig/pluginName.js +0 -4
  133. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +0 -128
  134. package/dist/cjs/node/runtime/globalContext/loadImportBuild.js +0 -25
  135. package/dist/cjs/node/runtime/page-files/getPageFilesExports.js +0 -22
  136. package/dist/cjs/node/runtime/page-files/setup.js +0 -5
  137. package/dist/esm/client/client-routing-runtime/pageFiles.d.ts +0 -1
  138. package/dist/esm/client/client-routing-runtime/pageFiles.js +0 -4
  139. package/dist/esm/client/server-routing-runtime/pageFiles.d.ts +0 -1
  140. package/dist/esm/client/server-routing-runtime/pageFiles.js +0 -4
  141. package/dist/esm/node/plugin/plugins/commonConfig/pluginName.d.ts +0 -1
  142. package/dist/esm/node/plugin/plugins/commonConfig/pluginName.js +0 -1
  143. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.d.ts +0 -104
  144. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +0 -123
  145. package/dist/esm/node/plugin/plugins/vite6HmrRegressionWorkaround.d.ts +0 -3
  146. package/dist/esm/node/runtime/globalContext/loadImportBuild.d.ts +0 -18
  147. package/dist/esm/node/runtime/globalContext/loadImportBuild.js +0 -23
  148. package/dist/esm/node/runtime/page-files/getPageFilesExports.d.ts +0 -2
  149. package/dist/esm/node/runtime/page-files/getPageFilesExports.js +0 -20
  150. package/dist/esm/node/runtime/page-files/setup.d.ts +0 -1
  151. package/dist/esm/node/runtime/page-files/setup.js +0 -3
  152. package/dist/cjs/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.js +0 -0
  153. package/dist/cjs/shared/page-configs/{getConfigValue.js → getConfigValueRuntime.js} +0 -0
  154. package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.js +0 -0
  155. package/dist/esm/shared/getPageFiles/{setPageFiles.d.ts → getPageFiles.d.ts} +1 -1
  156. /package/dist/esm/shared/page-configs/{getConfigValue.d.ts → getConfigValueRuntime.d.ts} +0 -0
  157. /package/dist/esm/shared/page-configs/{getConfigValue.js → getConfigValueRuntime.js} +0 -0
@@ -1,11 +1,11 @@
1
- export { vite6HmrRegressionWorkaround };
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 vite6HmrRegressionWorkaround() {
6
+ function workaroundVite6HmrRegression() {
7
7
  return {
8
- name: 'vike:vite6HmrRegressionWorkaround',
8
+ name: 'vike:workaroundVite6HmrRegression',
9
9
  enforce: 'post',
10
10
  hotUpdate: {
11
11
  order: 'post',
@@ -0,0 +1,3 @@
1
+ export { isPrerenderEnabled };
2
+ import type { VikeConfigGlobal } from '../plugin/plugins/importUserCode/v1-design/getVikeConfig.js';
3
+ declare function isPrerenderEnabled(vikeConfigGlobal: VikeConfigGlobal): boolean;
@@ -0,0 +1,6 @@
1
+ export { isPrerenderEnabled };
2
+ function isPrerenderEnabled(vikeConfigGlobal) {
3
+ return (vikeConfigGlobal.prerender &&
4
+ !vikeConfigGlobal.prerender.disableAutoRun &&
5
+ vikeConfigGlobal.disableAutoFullBuild !== 'prerender');
6
+ }
@@ -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/getConfigValue.js';
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 || {}, 'vike pre-rendering', 'production');
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.pluginManifest.usesClientRouter;
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 { PluginManifest } from '../shared/assertPluginManifest.js';
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
- import { assert, onSetupRuntime, assertUsage, assertWarning, getGlobalObject, isPlainObject, objectAssign, objectKeys, genPromise } from './utils.js';
18
- import { loadImportBuild } from './globalContext/loadImportBuild.js';
19
- import { setPageFiles } from '../../shared/getPageFiles.js';
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 vikeConfigGlobal = vikeConfig.vikeConfigGlobal;
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 buildEntries = await loadImportBuild(globalObject.outDirRoot);
175
- assertBuildEntries(buildEntries, isPrerendering ?? false);
176
- const { pageFiles, assetsManifest, pluginManifest } = buildEntries;
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/getConfigValue.js';
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,5 +1,6 @@
1
1
  export * from './index-common.js';
2
2
  export * from '../../types/index-dreprecated.js';
3
+ import { RenderErrorPage as RenderErrorPage_ } from '../../shared/route/abort.js';
3
4
  /** @deprecated
4
5
  * Replace:
5
6
  * ```
@@ -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/getConfigValue.js';
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/getConfigValue.js';
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 PageContextExports } from '../../../shared/getPageFiles.js';
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
- } & PageContextExports & PageContextForUserConsumptionServerSide): Promise<void>;
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").PageContextExports & {
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, getPageContextExports } from '../../../shared/getPageFiles.js';
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 = getPageContextExports(pageFilesServerSide, pageConfigLoaded);
102
+ const pageContextExports = getPageConfigUserFriendly(pageFilesServerSide, pageConfigLoaded);
103
103
  return {
104
104
  pageContextExports,
105
105
  pageFilesLoaded: pageFilesServerSide
@@ -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 { PageContextExports } from '../../../shared/getPageFiles/getExports.js';
5
+ import type { PageConfigUserFriendly } from '../../../shared/page-configs/getPageConfigUserFriendly.js';
6
6
  import { PageContextBuiltInServerInternal } from '../../../shared/types.js';
7
- type PageContextForUserConsumptionServerSide = PageContextBuiltInServerInternal & PageContextExports & {
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 { type PageFile } from '../../../shared/getPageFiles.js';
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").PageContextExports & {
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").PageContextExports & {
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").PageContextExports & {
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").PageContextExports & {
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: pageFilesAll,
172
+ pageFilesAll,
173
173
  pageConfigs,
174
174
  pageConfigGlobal,
175
- allPageIds: 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/getConfigValue.js';
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, PageContextExports } from './getPageFiles/getExports.js';
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 { getPageContextExports } from './getPageFiles/getExports.js';
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 { getPageContextExports } from './getPageFiles/getExports.js';
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 { PageContextExports } from '../getPageFiles.js';
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: PageContextExports, hookName: HookName): null | Hook;
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 PageContextExports, THookName extends PropertyKey & HookName>(pageContext: TPageContext, hookName: THookName): asserts pageContext is TPageContext & {
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/getConfigValue.js';
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/resolveVikeConfigGlobal.js';
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 ConfigValueSources = Record<string, ConfigValueSource[]>;
89
- type ConfigValuesComputed = Record<string, {
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;