vike 0.4.220-commit-af5c91f → 0.4.221-commit-8577456

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 (162) hide show
  1. package/dist/cjs/__internal/index.js +5 -23
  2. package/dist/cjs/node/api/build.js +55 -11
  3. package/dist/cjs/node/api/prepareViteApiCall.js +20 -17
  4. package/dist/cjs/node/api/prerender.js +1 -0
  5. package/dist/cjs/node/api/utils.js +1 -0
  6. package/dist/cjs/node/plugin/index.js +2 -0
  7. package/dist/cjs/node/plugin/plugins/autoFullBuild.js +9 -20
  8. package/dist/cjs/node/plugin/plugins/baseUrls.js +1 -1
  9. package/dist/cjs/node/plugin/plugins/buildApp.js +72 -0
  10. package/dist/cjs/node/plugin/plugins/buildConfig/fixServerAssets.js +8 -10
  11. package/dist/cjs/node/plugin/plugins/buildConfig.js +5 -5
  12. package/dist/cjs/node/plugin/plugins/buildEntry/index.js +2 -2
  13. package/dist/cjs/node/plugin/plugins/commonConfig.js +1 -1
  14. package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +1 -1
  15. package/dist/cjs/node/plugin/plugins/importUserCode/index.js +8 -2
  16. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{assertExtensions.js → getVikeConfig/assertExtensions.js} +31 -31
  17. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +53 -21
  18. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{getConfigFileExport.js → getVikeConfig/getConfigFileExport.js} +2 -2
  19. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +159 -0
  20. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +3 -3
  21. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +205 -343
  22. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{debug.js → virtual-files/debug.js} +1 -1
  23. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigValuesAll.js → virtual-files/getVirtualFilePageConfigValuesAll.js} +7 -7
  24. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigs.js → virtual-files/getVirtualFilePageConfigs.js} +3 -3
  25. package/dist/cjs/node/plugin/plugins/setGlobalContext.js +1 -4
  26. package/dist/cjs/node/plugin/shared/getFullBuildInlineConfig.js +20 -0
  27. package/dist/cjs/node/plugin/shared/getOutDirs.js +50 -38
  28. package/dist/cjs/node/prerender/runPrerender.js +29 -30
  29. package/dist/cjs/node/runtime/globalContext.js +186 -100
  30. package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +2 -3
  31. package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +2 -3
  32. package/dist/cjs/node/runtime/html/injectAssets.js +4 -4
  33. package/dist/cjs/node/runtime/html/renderHtml.js +4 -5
  34. package/dist/cjs/node/runtime/renderPage/analyzePage.js +2 -3
  35. package/dist/cjs/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +2 -4
  36. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +4 -4
  37. package/dist/cjs/node/runtime/renderPage/handleErrorWithoutErrorPage.js +3 -5
  38. package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +5 -4
  39. package/dist/cjs/node/runtime/renderPage/log404/index.js +1 -2
  40. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +10 -9
  41. package/dist/cjs/node/runtime/renderPage.js +27 -30
  42. package/dist/cjs/node/runtime/utils.js +1 -0
  43. package/dist/cjs/node/runtime-dev/createDevMiddleware.js +5 -3
  44. package/dist/cjs/node/shared/resolveBase.js +3 -5
  45. package/dist/cjs/shared/getPageConfigsRuntime.js +20 -0
  46. package/dist/cjs/shared/getPageFiles/parseGlobResults.js +4 -3
  47. package/dist/cjs/shared/getPageFiles.js +1 -3
  48. package/dist/cjs/shared/page-configs/getPageConfigUserFriendly.js +13 -4
  49. package/dist/cjs/shared/route/loadPageRoutes.js +1 -0
  50. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  51. package/dist/cjs/utils/assertSetup.js +1 -1
  52. package/dist/cjs/utils/debug.js +8 -6
  53. package/dist/cjs/utils/findFile.js +1 -0
  54. package/dist/cjs/utils/objectAssignSafe.js +7 -0
  55. package/dist/esm/__internal/index.d.ts +2 -2
  56. package/dist/esm/__internal/index.js +7 -26
  57. package/dist/esm/client/client-routing-runtime/createPageContext.js +5 -9
  58. package/dist/esm/client/server-routing-runtime/getPageContext.js +3 -4
  59. package/dist/esm/client/shared/loadUserFilesClientSide.js +3 -2
  60. package/dist/esm/node/api/build.js +23 -12
  61. package/dist/esm/node/api/prepareViteApiCall.d.ts +4 -2
  62. package/dist/esm/node/api/prepareViteApiCall.js +20 -17
  63. package/dist/esm/node/api/prerender.js +1 -0
  64. package/dist/esm/node/api/utils.d.ts +1 -0
  65. package/dist/esm/node/api/utils.js +1 -0
  66. package/dist/esm/node/plugin/index.js +2 -0
  67. package/dist/esm/node/plugin/plugins/autoFullBuild.js +10 -21
  68. package/dist/esm/node/plugin/plugins/baseUrls.js +1 -1
  69. package/dist/esm/node/plugin/plugins/buildApp.d.ts +3 -0
  70. package/dist/esm/node/plugin/plugins/buildApp.js +70 -0
  71. package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.d.ts +0 -2
  72. package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.js +8 -10
  73. package/dist/esm/node/plugin/plugins/buildConfig.js +6 -6
  74. package/dist/esm/node/plugin/plugins/buildEntry/index.js +2 -2
  75. package/dist/esm/node/plugin/plugins/commonConfig.d.ts +1 -1
  76. package/dist/esm/node/plugin/plugins/commonConfig.js +1 -1
  77. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +1 -1
  78. package/dist/esm/node/plugin/plugins/importUserCode/index.js +8 -2
  79. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/assertExtensions.d.ts +6 -0
  80. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{assertExtensions.js → getVikeConfig/assertExtensions.js} +31 -31
  81. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +2 -2
  82. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +52 -20
  83. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getConfigFileExport.js → getVikeConfig/getConfigFileExport.js} +2 -2
  84. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.d.ts +39 -0
  85. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +154 -0
  86. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.d.ts +2 -2
  87. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +3 -3
  88. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +2 -38
  89. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +208 -346
  90. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{debug.js → virtual-files/debug.js} +1 -1
  91. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigValuesAll.js → virtual-files/getVirtualFilePageConfigValuesAll.js} +7 -7
  92. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigs.js → virtual-files/getVirtualFilePageConfigs.js} +3 -3
  93. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{isRuntimeEnvMatch.d.ts → virtual-files/isRuntimeEnvMatch.d.ts} +1 -1
  94. package/dist/esm/node/plugin/plugins/setGlobalContext.js +2 -5
  95. package/dist/esm/node/plugin/shared/getFullBuildInlineConfig.d.ts +2 -0
  96. package/dist/esm/node/plugin/shared/getFullBuildInlineConfig.js +17 -0
  97. package/dist/esm/node/plugin/shared/getOutDirs.d.ts +1 -1
  98. package/dist/esm/node/plugin/shared/getOutDirs.js +50 -38
  99. package/dist/esm/node/plugin/shared/viteIsSSR.d.ts +2 -5
  100. package/dist/esm/node/prerender/runPrerender.d.ts +2 -2
  101. package/dist/esm/node/prerender/runPrerender.js +30 -31
  102. package/dist/esm/node/runtime/globalContext.d.ts +31 -29
  103. package/dist/esm/node/runtime/globalContext.js +186 -100
  104. package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.d.ts +1 -1
  105. package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +2 -3
  106. package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.d.ts +4 -1
  107. package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +2 -3
  108. package/dist/esm/node/runtime/html/injectAssets.d.ts +2 -0
  109. package/dist/esm/node/runtime/html/injectAssets.js +4 -4
  110. package/dist/esm/node/runtime/html/renderHtml.js +4 -5
  111. package/dist/esm/node/runtime/renderPage/analyzePage.d.ts +2 -1
  112. package/dist/esm/node/runtime/renderPage/analyzePage.js +2 -3
  113. package/dist/esm/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.d.ts +1 -1
  114. package/dist/esm/node/runtime/renderPage/getPageAssets/sortPageAssetsForEarlyHintsHeader.js +2 -4
  115. package/dist/esm/node/runtime/renderPage/getPageAssets.d.ts +2 -0
  116. package/dist/esm/node/runtime/renderPage/getPageAssets.js +4 -4
  117. package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +2 -0
  118. package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.js +3 -5
  119. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +2 -0
  120. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +6 -5
  121. package/dist/esm/node/runtime/renderPage/log404/index.d.ts +2 -0
  122. package/dist/esm/node/runtime/renderPage/log404/index.js +1 -2
  123. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +3 -0
  124. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +21 -5
  125. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +10 -9
  126. package/dist/esm/node/runtime/renderPage.js +28 -31
  127. package/dist/esm/node/runtime/utils.d.ts +1 -0
  128. package/dist/esm/node/runtime/utils.js +1 -0
  129. package/dist/esm/node/runtime-dev/createDevMiddleware.js +5 -3
  130. package/dist/esm/node/shared/resolveBase.d.ts +2 -1
  131. package/dist/esm/node/shared/resolveBase.js +3 -5
  132. package/dist/esm/shared/getPageConfigsRuntime.d.ts +13 -0
  133. package/dist/esm/shared/getPageConfigsRuntime.js +18 -0
  134. package/dist/esm/shared/getPageFiles/parseGlobResults.d.ts +1 -1
  135. package/dist/esm/shared/getPageFiles/parseGlobResults.js +4 -3
  136. package/dist/esm/shared/getPageFiles.d.ts +0 -1
  137. package/dist/esm/shared/getPageFiles.js +0 -1
  138. package/dist/esm/shared/page-configs/Config.d.ts +7 -0
  139. package/dist/esm/shared/page-configs/PageConfig.d.ts +9 -5
  140. package/dist/esm/shared/page-configs/getPageConfigUserFriendly.d.ts +5 -7
  141. package/dist/esm/shared/page-configs/getPageConfigUserFriendly.js +13 -4
  142. package/dist/esm/shared/route/loadPageRoutes.js +1 -0
  143. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  144. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  145. package/dist/esm/utils/assertSetup.js +1 -1
  146. package/dist/esm/utils/debug.d.ts +1 -1
  147. package/dist/esm/utils/debug.js +8 -6
  148. package/dist/esm/utils/findFile.js +1 -0
  149. package/dist/esm/utils/objectAssignSafe.d.ts +1 -0
  150. package/dist/esm/utils/objectAssignSafe.js +4 -0
  151. package/dist/esm/utils/projectInfo.d.ts +1 -1
  152. package/package.json +2 -2
  153. package/dist/cjs/shared/getPageFiles/getPageFiles.js +0 -48
  154. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/assertExtensions.d.ts +0 -6
  155. package/dist/esm/shared/getPageFiles/getPageFiles.d.ts +0 -15
  156. package/dist/esm/shared/getPageFiles/getPageFiles.js +0 -46
  157. /package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/{isRuntimeEnvMatch.js → virtual-files/isRuntimeEnvMatch.js} +0 -0
  158. /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getConfigFileExport.d.ts → getVikeConfig/getConfigFileExport.d.ts} +0 -0
  159. /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{debug.d.ts → virtual-files/debug.d.ts} +0 -0
  160. /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigValuesAll.d.ts → virtual-files/getVirtualFilePageConfigValuesAll.d.ts} +0 -0
  161. /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{getVirtualFilePageConfigs.d.ts → virtual-files/getVirtualFilePageConfigs.d.ts} +0 -0
  162. /package/dist/esm/node/plugin/plugins/importUserCode/v1-design/{isRuntimeEnvMatch.js → virtual-files/isRuntimeEnvMatch.js} +0 -0
@@ -1,2 +1,2 @@
1
- import { createDebugger } from '../../../utils.js';
1
+ import { createDebugger } from '../../../../utils.js';
2
2
  export const debug = createDebugger('vike:virtual-files');
@@ -1,13 +1,13 @@
1
1
  export { getVirtualFilePageConfigValuesAll };
2
- import { assert } from '../../../utils.js';
3
- import { getVirtualFileIdPageConfigValuesAll, isVirtualFileIdPageConfigValuesAll } from '../../../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
4
- import { getVikeConfig } from './getVikeConfig.js';
5
- import { extractAssetsAddQuery } from '../../../../shared/extractAssetsQuery.js';
2
+ import { assert } from '../../../../utils.js';
3
+ import { getVirtualFileIdPageConfigValuesAll, isVirtualFileIdPageConfigValuesAll } from '../../../../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
4
+ import { getVikeConfig } from '../getVikeConfig.js';
5
+ import { extractAssetsAddQuery } from '../../../../../shared/extractAssetsQuery.js';
6
6
  import { debug } from './debug.js';
7
7
  import { isRuntimeEnvMatch } from './isRuntimeEnvMatch.js';
8
- import { serializeConfigValues } from '../../../../../shared/page-configs/serialize/serializeConfigValues.js';
9
- import { fixServerAssets_isEnabled } from '../../buildConfig/fixServerAssets.js';
10
- import { getConfigValueBuildTime } from '../../../../../shared/page-configs/getConfigValueBuildTime.js';
8
+ import { serializeConfigValues } from '../../../../../../shared/page-configs/serialize/serializeConfigValues.js';
9
+ import { fixServerAssets_isEnabled } from '../../../buildConfig/fixServerAssets.js';
10
+ import { getConfigValueBuildTime } from '../../../../../../shared/page-configs/getConfigValueBuildTime.js';
11
11
  async function getVirtualFilePageConfigValuesAll(id, isDev, config) {
12
12
  const result = isVirtualFileIdPageConfigValuesAll(id);
13
13
  assert(result);
@@ -1,9 +1,9 @@
1
1
  export { getVirtualFilePageConfigs };
2
- import { getVirtualFileIdPageConfigValuesAll } from '../../../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
2
+ import { getVirtualFileIdPageConfigValuesAll } from '../../../../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
3
3
  import { debug } from './debug.js';
4
- import { getVikeConfig } from './getVikeConfig.js';
4
+ import { getVikeConfig } from '../getVikeConfig.js';
5
5
  import { isRuntimeEnvMatch } from './isRuntimeEnvMatch.js';
6
- import { serializeConfigValues } from '../../../../../shared/page-configs/serialize/serializeConfigValues.js';
6
+ import { serializeConfigValues } from '../../../../../../shared/page-configs/serialize/serializeConfigValues.js';
7
7
  async function getVirtualFilePageConfigs(isForClientSide, isDev, id, isClientRouting, config) {
8
8
  const vikeConfig = await getVikeConfig(config, { doNotRestartViteOnError: true });
9
9
  const { pageConfigs, pageConfigGlobal } = vikeConfig;
@@ -1,5 +1,5 @@
1
1
  export { isRuntimeEnvMatch };
2
- import type { ConfigEnvInternal } from '../../../../../shared/page-configs/PageConfig.js';
2
+ import type { ConfigEnvInternal } from '../../../../../../shared/page-configs/PageConfig.js';
3
3
  declare function isRuntimeEnvMatch(configEnv: ConfigEnvInternal, runtime: {
4
4
  isForClientSide: boolean;
5
5
  isClientRouting: boolean;
@@ -1,7 +1,6 @@
1
1
  export { setGlobalContext };
2
- import { setGlobalContext_isViteDev, setGlobalContext_viteDevServer, setGlobalContext_viteConfig, setGlobalContext_vikeConfig } from '../../runtime/globalContext.js';
2
+ import { setGlobalContext_viteDevServer, setGlobalContext_viteConfig, setGlobalContext_isProduction } from '../../runtime/globalContext.js';
3
3
  import { assertFilePathAbsoluteFilesystem, isDevCheck, markSetup_isViteDev, markSetup_viteDevServer, markSetup_vitePreviewServer } from '../utils.js';
4
- import { getVikeConfig } from './importUserCode/v1-design/getVikeConfig.js';
5
4
  import { getOutDirs } from '../shared/getOutDirs.js';
6
5
  function setGlobalContext() {
7
6
  return [
@@ -22,7 +21,7 @@ function setGlobalContext() {
22
21
  order: 'pre',
23
22
  handler(_, env) {
24
23
  const isViteDev = isDevCheck(env);
25
- setGlobalContext_isViteDev(isViteDev);
24
+ setGlobalContext_isProduction(!isViteDev);
26
25
  markSetup_isViteDev(isViteDev);
27
26
  }
28
27
  }
@@ -36,8 +35,6 @@ function setGlobalContext() {
36
35
  const { outDirRoot } = getOutDirs(config);
37
36
  assertFilePathAbsoluteFilesystem(outDirRoot); // Needed for `importServerProductionEntry({ outDir })` of @brillout/vite-plugin-server-entry
38
37
  setGlobalContext_viteConfig(config, outDirRoot);
39
- const vikeConfig = await getVikeConfig(config);
40
- setGlobalContext_vikeConfig(vikeConfig);
41
38
  }
42
39
  }
43
40
  }
@@ -0,0 +1,2 @@
1
+ import type { InlineConfig, ResolvedConfig } from 'vite';
2
+ export declare function getFullBuildInlineConfig(config: ResolvedConfig): InlineConfig;
@@ -0,0 +1,17 @@
1
+ import { getViteConfigFromCli, isViteCliCall } from './isViteCliCall.js';
2
+ export function getFullBuildInlineConfig(config) {
3
+ const configFromCli = !isViteCliCall() ? null : getViteConfigFromCli();
4
+ if (config._viteConfigEnhanced) {
5
+ return config._viteConfigEnhanced;
6
+ }
7
+ else {
8
+ return {
9
+ ...configFromCli,
10
+ configFile: configFromCli?.configFile || config.configFile,
11
+ root: config.root,
12
+ build: {
13
+ ...configFromCli?.build
14
+ }
15
+ };
16
+ }
17
+ }
@@ -12,4 +12,4 @@ type OutDirs = {
12
12
  };
13
13
  declare function getOutDirs(config: ResolvedConfig): OutDirs;
14
14
  /** Appends `client/` or `server/` to `config.build.outDir` */
15
- declare function resolveOutDir(config: UserConfig): string;
15
+ declare function resolveOutDir(config: UserConfig, isSSR?: true): string;
@@ -6,49 +6,34 @@ import { viteIsSSR } from './viteIsSSR.js';
6
6
  const debug = createDebugger('vike:outDir');
7
7
  function getOutDirs(config) {
8
8
  debug('getOutDirs()', new Error().stack);
9
- let outDirRoot;
10
- {
11
- const outDir = getOutDirFromViteResolvedConfig(config);
12
- if (isOutDirRoot(outDir)) {
13
- outDirRoot = outDir;
14
- }
15
- else {
16
- assertOutDirResolved(outDir, config);
17
- assert(outDir.endsWith('/server') || outDir.endsWith('/client'));
18
- assert('/client'.length === '/server'.length);
19
- outDirRoot = outDir.slice(0, -1 * '/client'.length);
20
- }
21
- }
22
- const outDirs = getOutDirsAll(outDirRoot, config.root);
23
- debug('outDirRoot', outDirRoot);
24
- debug('outDirs', outDirs);
9
+ const outDir = getOutDirFromViteResolvedConfig(config);
10
+ if (!isOutDirRoot(outDir))
11
+ assertOutDirResolved(outDir, config);
12
+ const outDirs = getOutDirsAll(outDir, config.root);
25
13
  return outDirs;
26
14
  }
27
15
  /** Appends `client/` or `server/` to `config.build.outDir` */
28
- function resolveOutDir(config) {
16
+ function resolveOutDir(config, isSSR) {
29
17
  debug('resolveOutDir()', new Error().stack);
18
+ const isServerSide = viteIsSSR(config) || isSSR;
19
+ debug('isServerSide', isServerSide);
30
20
  const outDir = getOutDirFromViteUserConfig(config) || 'dist';
31
- debug('outDir', 'outDir');
32
- // outDir may already be resolved when using Telefunc + vike (because both Telefunc and vike use this logic)
33
- if (!isOutDirRoot(outDir)) {
34
- assertOutDirResolved(outDir, config);
35
- return outDir;
21
+ debug('outDir', outDir);
22
+ /* outDir may already be resolved when using Telefunc + Vike (because both Telefunc and Vike use this logic)
23
+ assert(isOutDirRoot(outDir))
24
+ */
25
+ const { outDirClient, outDirServer } = getOutDirsAll(outDir);
26
+ if (isServerSide) {
27
+ debug('outDirServer', 'outDirServer');
28
+ return outDirServer;
36
29
  }
37
30
  else {
38
- const { outDirClient, outDirServer } = determineOutDirs(outDir);
39
- if (viteIsSSR(config)) {
40
- debug('outDirServer', 'outDirServer');
41
- return outDirServer;
42
- }
43
- else {
44
- debug('outDirClient', 'outDirClient');
45
- return outDirClient;
46
- }
31
+ debug('outDirClient', 'outDirClient');
32
+ return outDirClient;
47
33
  }
48
34
  }
49
35
  function determineOutDirs(outDirRoot) {
50
36
  assertPosixPath(outDirRoot);
51
- assert(!outDirRoot.endsWith('/'));
52
37
  assert(isOutDirRoot(outDirRoot));
53
38
  const outDirClient = pathJoin(outDirRoot, 'client');
54
39
  const outDirServer = pathJoin(outDirRoot, 'server');
@@ -56,8 +41,35 @@ function determineOutDirs(outDirRoot) {
56
41
  assertIsNotOutDirRoot(outDirServer);
57
42
  return { outDirClient, outDirServer };
58
43
  }
59
- function getOutDirsAll(outDirRoot, root) {
60
- if (!outDirIsAbsolutePath(outDirRoot)) {
44
+ function getOutDirsAll(outDir, root) {
45
+ let outDirRoot;
46
+ {
47
+ if (isOutDirRoot(outDir)) {
48
+ outDirRoot = outDir;
49
+ }
50
+ else {
51
+ assert(outDir.endsWith('/server') || outDir.endsWith('/client'));
52
+ assert('/client'.length === '/server'.length);
53
+ outDirRoot = outDir.slice(0, -1 * '/client'.length);
54
+ }
55
+ }
56
+ debug('outDirRoot', outDirRoot);
57
+ let outDirs;
58
+ if (root) {
59
+ outDirs = getOutDirsAllFromRootNormalized(outDirRoot, root);
60
+ }
61
+ else {
62
+ outDirs = getOutDirsAllFromRoot(outDirRoot);
63
+ }
64
+ debug('outDirs', outDirs);
65
+ return outDirs;
66
+ }
67
+ function getOutDirsAllFromRoot(outDirRoot) {
68
+ let { outDirClient, outDirServer } = determineOutDirs(outDirRoot);
69
+ return { outDirRoot, outDirClient, outDirServer };
70
+ }
71
+ function getOutDirsAllFromRootNormalized(outDirRoot, root) {
72
+ if (root && !outDirIsAbsolutePath(outDirRoot)) {
61
73
  assertPosixPath(outDirRoot);
62
74
  assertPosixPath(root);
63
75
  outDirRoot = pathJoin(root, outDirRoot);
@@ -85,7 +97,7 @@ function isOutDirRoot(outDirRot) {
85
97
  function assertIsNotOutDirRoot(outDir) {
86
98
  assert(outDir.endsWith('/client') || outDir.endsWith('/server'));
87
99
  }
88
- /** `outDir` ends with `/server` or `/client` */
100
+ /** Assert that `outDir` ends with `/server` or `/client` */
89
101
  function assertOutDirResolved(outDir, config) {
90
102
  assertPosixPath(outDir);
91
103
  assertIsNotOutDirRoot(outDir);
@@ -103,16 +115,16 @@ function getOutDirFromViteUserConfig(config) {
103
115
  let outDir = config.build?.outDir;
104
116
  if (outDir === undefined)
105
117
  return undefined;
106
- outDir = normalize(outDir);
118
+ outDir = normalizeOutDir(outDir);
107
119
  return outDir;
108
120
  }
109
121
  function getOutDirFromViteResolvedConfig(config) {
110
122
  let outDir = config.build.outDir;
111
123
  assert(outDir);
112
- outDir = normalize(outDir);
124
+ outDir = normalizeOutDir(outDir);
113
125
  return outDir;
114
126
  }
115
- function normalize(outDir) {
127
+ function normalizeOutDir(outDir) {
116
128
  outDir = toPosixPath(outDir);
117
129
  outDir = outDir.replace(/\/+$/, ''); // remove trailing slashes
118
130
  return outDir;
@@ -1,10 +1,7 @@
1
+ import type { ResolvedConfig, UserConfig } from 'vite';
1
2
  export { viteIsSSR };
2
3
  export { viteIsSSR_options };
3
- declare function viteIsSSR(config: {
4
- build?: {
5
- ssr?: boolean | string;
6
- };
7
- }): boolean;
4
+ declare function viteIsSSR(config: ResolvedConfig | UserConfig): boolean;
8
5
  type Options = undefined | boolean | {
9
6
  ssr?: boolean;
10
7
  };
@@ -68,7 +68,7 @@ declare function runPrerenderFromAPI(options?: PrerenderOptions): Promise<{
68
68
  viteConfig: ResolvedConfig;
69
69
  }>;
70
70
  declare function runPrerenderFromCLIPrerenderCommand(): Promise<void>;
71
- declare function runPrerenderFromAutoRun(viteConfig: InlineConfig | undefined): Promise<{
72
- prerenderContextPublic: PrerenderContextPublic;
71
+ declare function runPrerenderFromAutoRun(viteConfig: InlineConfig | undefined, config: ResolvedConfig): Promise<{
72
+ forceExit: boolean;
73
73
  }>;
74
74
  declare function runPrerender_forceExit(): void;
@@ -8,7 +8,7 @@ import { assert, assertUsage, assertWarning, hasProp, projectInfo, objectAssign,
8
8
  import { prerenderPage, prerender404Page, getPageContextInitEnhanced } from '../runtime/renderPage/renderPageAlreadyRouted.js';
9
9
  import pc from '@brillout/picocolors';
10
10
  import { cpus } from 'os';
11
- import { getGlobalContext, initGlobalContext_runPrerender, setGlobalContext_isPrerendering } from '../runtime/globalContext.js';
11
+ import { getGlobalContextInternal, initGlobalContext_runPrerender, setGlobalContext_isPrerendering } from '../runtime/globalContext.js';
12
12
  import { resolveConfig } from 'vite';
13
13
  import { getPageFilesServerSide } from '../../shared/getPageFiles.js';
14
14
  import { getPageContextRequestUrl } from '../../shared/getPageContextRequestUrl.js';
@@ -28,6 +28,8 @@ import { prepareViteApiCall } from '../api/prepareViteApiCall.js';
28
28
  import { setContextIsPrerendering } from './context.js';
29
29
  import { resolvePrerenderConfig, resolvePrerenderConfigLocal } from './resolvePrerenderConfig.js';
30
30
  import { getOutDirs } from '../plugin/shared/getOutDirs.js';
31
+ import { isVikeCli } from '../cli/context.js';
32
+ import { isViteCliCall } from '../plugin/shared/isViteCliCall.js';
31
33
  async function runPrerenderFromAPI(options = {}) {
32
34
  return await runPrerender(options, 'prerender()');
33
35
  // - 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.
@@ -45,8 +47,9 @@ async function runPrerenderFromCLIPrerenderCommand() {
45
47
  process.exit(1);
46
48
  }
47
49
  runPrerender_forceExit();
50
+ assert(false);
48
51
  }
49
- async function runPrerenderFromAutoRun(viteConfig) {
52
+ async function runPrerenderFromAutoRun(viteConfig, config) {
50
53
  let prerenderContextPublic;
51
54
  try {
52
55
  const ret = await runPrerender({ viteConfig });
@@ -57,7 +60,9 @@ async function runPrerenderFromAutoRun(viteConfig) {
57
60
  logErrorHint(err);
58
61
  process.exit(1);
59
62
  }
60
- return { prerenderContextPublic };
63
+ config.vike.prerenderContext = prerenderContextPublic;
64
+ const forceExit = isVikeCli() || isViteCliCall();
65
+ return { forceExit };
61
66
  }
62
67
  async function runPrerender(options = {}, standaloneTrigger) {
63
68
  setContextIsPrerendering();
@@ -85,7 +90,7 @@ async function runPrerender(options = {}, standaloneTrigger) {
85
90
  const { partial = false, noExtraDir = false, parallel = true } = prerenderConfig || {};
86
91
  const concurrencyLimit = pLimit(parallel === false || parallel === 0 ? 1 : parallel === true || parallel === undefined ? cpus().length : parallel);
87
92
  await initGlobalContext_runPrerender();
88
- const globalContext = getGlobalContext();
93
+ const globalContext = await getGlobalContextInternal();
89
94
  globalContext.pageFilesAll.forEach(assertExportNames);
90
95
  const prerenderContext = {
91
96
  noExtraDir: noExtraDir ?? false,
@@ -95,10 +100,10 @@ async function runPrerender(options = {}, standaloneTrigger) {
95
100
  output: []
96
101
  };
97
102
  const doNotPrerenderList = [];
98
- await collectDoNoPrerenderList(vikeConfig.pageConfigs, doNotPrerenderList, concurrencyLimit);
99
- await callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimit, doNotPrerenderList);
100
- await handlePagesWithStaticRoutes(prerenderContext, doNotPrerenderList, concurrencyLimit);
101
- await callOnPrerenderStartHook(prerenderContext);
103
+ await collectDoNoPrerenderList(vikeConfig.pageConfigs, doNotPrerenderList, concurrencyLimit, globalContext);
104
+ await callOnBeforePrerenderStartHooks(prerenderContext, globalContext, concurrencyLimit, doNotPrerenderList);
105
+ await handlePagesWithStaticRoutes(prerenderContext, globalContext, doNotPrerenderList, concurrencyLimit);
106
+ await callOnPrerenderStartHook(prerenderContext, globalContext);
102
107
  let prerenderedCount = 0;
103
108
  // Write files as soon as pages finish rendering (instead of writing all files at once only after all pages have rendered).
104
109
  const onComplete = async (htmlFile) => {
@@ -108,17 +113,17 @@ async function runPrerender(options = {}, standaloneTrigger) {
108
113
  }
109
114
  await writeFiles(htmlFile, root, outDirClient, options.onPagePrerender, prerenderContext.output, logLevel);
110
115
  };
111
- await routeAndPrerender(prerenderContext, concurrencyLimit, onComplete);
116
+ await routeAndPrerender(prerenderContext, globalContext, concurrencyLimit, onComplete);
112
117
  warnContradictoryNoPrerenderList(prerenderContext.prerenderedPageContexts, doNotPrerenderList);
113
- await prerender404(prerenderContext, onComplete);
118
+ await prerender404(prerenderContext, globalContext, onComplete);
114
119
  if (logLevel === 'info') {
115
120
  console.log(`${pc.green(`✓`)} ${prerenderedCount} HTML documents pre-rendered.`);
116
121
  }
117
- warnMissingPages(prerenderContext.prerenderedPageContexts, doNotPrerenderList, partial);
122
+ await warnMissingPages(prerenderContext.prerenderedPageContexts, globalContext, doNotPrerenderList, partial);
118
123
  const prerenderContextPublic = makePublic(prerenderContext);
119
124
  return { viteConfig, prerenderContextPublic };
120
125
  }
121
- async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, concurrencyLimit) {
126
+ async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, concurrencyLimit, globalContext) {
122
127
  // V1 design
123
128
  pageConfigs.forEach((pageConfig) => {
124
129
  const configValue = resolvePrerenderConfigLocal(pageConfig);
@@ -136,7 +141,6 @@ async function collectDoNoPrerenderList(pageConfigs, doNotPrerenderList, concurr
136
141
  });
137
142
  // Old design
138
143
  // TODO/v1-release: remove
139
- const globalContext = getGlobalContext();
140
144
  await Promise.all(globalContext.pageFilesAll
141
145
  .filter((p) => {
142
146
  assertExportNames(p);
@@ -179,9 +183,8 @@ function assertExportNames(pageFile) {
179
183
  const { exportNames, fileType } = pageFile;
180
184
  assert(exportNames || fileType === '.page.route' || fileType === '.css', pageFile.filePath);
181
185
  }
182
- async function callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimit, doNotPrerenderList) {
186
+ async function callOnBeforePrerenderStartHooks(prerenderContext, globalContext, concurrencyLimit, doNotPrerenderList) {
183
187
  const onBeforePrerenderStartHooks = [];
184
- const globalContext = getGlobalContext();
185
188
  // V1 design
186
189
  await Promise.all(globalContext.pageConfigs.map((pageConfig) => concurrencyLimit(async () => {
187
190
  const hookName = 'onBeforePrerenderStart';
@@ -229,7 +232,7 @@ async function callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimi
229
232
  }
230
233
  const prerenderResult = await executeHook(() => hookFn(), { hookName, hookFilePath, hookTimeout }, null);
231
234
  const result = normalizeOnPrerenderHookResult(prerenderResult, hookFilePath, hookName);
232
- result.forEach(({ url, pageContext }) => {
235
+ await Promise.all(result.map(async ({ url, pageContext }) => {
233
236
  {
234
237
  const pageContextFound = prerenderContext.pageContexts.find((pageContext) => isSameUrl(pageContext.urlOriginal, url));
235
238
  if (pageContextFound) {
@@ -240,7 +243,7 @@ async function callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimi
240
243
  assertUsage(false, `URL ${pc.cyan(url)} provided ${providedTwice}. Make sure to provide the URL only once instead.`);
241
244
  }
242
245
  }
243
- const pageContextNew = createPageContext(url, prerenderContext);
246
+ const pageContextNew = await createPageContext(url, prerenderContext, globalContext);
244
247
  objectAssign(pageContextNew, {
245
248
  _providedByHook: {
246
249
  hookFilePath,
@@ -254,12 +257,11 @@ async function callOnBeforePrerenderStartHooks(prerenderContext, concurrencyLimi
254
257
  });
255
258
  objectAssign(pageContextNew, pageContext);
256
259
  }
257
- });
260
+ }));
258
261
  })));
259
262
  }
260
- async function handlePagesWithStaticRoutes(prerenderContext, doNotPrerenderList, concurrencyLimit) {
263
+ async function handlePagesWithStaticRoutes(prerenderContext, globalContext, doNotPrerenderList, concurrencyLimit) {
261
264
  // Pre-render pages with a static route
262
- const globalContext = getGlobalContext();
263
265
  await Promise.all(globalContext.pageRoutes.map((pageRoute) => concurrencyLimit(async () => {
264
266
  const { pageId } = pageRoute;
265
267
  if (doNotPrerenderList.find((p) => p.pageId === pageId)) {
@@ -285,7 +287,7 @@ async function handlePagesWithStaticRoutes(prerenderContext, doNotPrerenderList,
285
287
  return;
286
288
  }
287
289
  const routeParams = {};
288
- const pageContext = createPageContext(urlOriginal, prerenderContext);
290
+ const pageContext = await createPageContext(urlOriginal, prerenderContext, globalContext);
289
291
  objectAssign(pageContext, {
290
292
  _providedByHook: null,
291
293
  routeParams,
@@ -303,7 +305,7 @@ async function handlePagesWithStaticRoutes(prerenderContext, doNotPrerenderList,
303
305
  prerenderContext.pageContexts.push(pageContext);
304
306
  })));
305
307
  }
306
- function createPageContext(urlOriginal, prerenderContext) {
308
+ async function createPageContext(urlOriginal, prerenderContext, globalContext) {
307
309
  const pageContext = {
308
310
  _urlHandler: null,
309
311
  _urlRewrite: null,
@@ -315,13 +317,12 @@ function createPageContext(urlOriginal, prerenderContext) {
315
317
  };
316
318
  objectAssign(pageContextInit, prerenderContext.pageContextInit);
317
319
  {
318
- const pageContextInitEnhanced = getPageContextInitEnhanced(pageContextInit);
320
+ const pageContextInitEnhanced = await getPageContextInitEnhanced(pageContextInit, globalContext);
319
321
  objectAssign(pageContext, pageContextInitEnhanced);
320
322
  }
321
323
  return pageContext;
322
324
  }
323
- async function callOnPrerenderStartHook(prerenderContext) {
324
- const globalContext = getGlobalContext();
325
+ async function callOnPrerenderStartHook(prerenderContext, globalContext) {
325
326
  let onPrerenderStartHook;
326
327
  // V1 design
327
328
  if (globalContext.pageConfigs.length > 0) {
@@ -448,8 +449,7 @@ async function callOnPrerenderStartHook(prerenderContext) {
448
449
  });
449
450
  addPageContextComputedUrl(prerenderContext.pageContexts);
450
451
  }
451
- async function routeAndPrerender(prerenderContext, concurrencyLimit, onComplete) {
452
- const globalContext = getGlobalContext();
452
+ async function routeAndPrerender(prerenderContext, globalContext, concurrencyLimit, onComplete) {
453
453
  assert(globalContext.isPrerendering);
454
454
  // Route all URLs
455
455
  await Promise.all(prerenderContext.pageContexts.map((pageContext) => concurrencyLimit(async () => {
@@ -531,8 +531,7 @@ function warnContradictoryNoPrerenderList(prerenderedPageContexts, doNotPrerende
531
531
  assertWarning(false, `The ${providedByHook.hookName}() hook defined by ${providedByHook.hookFilePath} returns the URL ${pc.cyan(urlOriginal)}, while ${setByConfigFile} sets the config ${pc.cyan(setByConfigName)} to ${pc.cyan(String(setByConfigValue))}. This is contradictory: either don't set the config ${pc.cyan(setByConfigName)} to ${pc.cyan(String(setByConfigValue))} or remove the URL ${pc.cyan(urlOriginal)} from the list of URLs to be pre-rendered.`, { onlyOnce: true });
532
532
  });
533
533
  }
534
- function warnMissingPages(prerenderedPageContexts, doNotPrerenderList, partial) {
535
- const globalContext = getGlobalContext();
534
+ async function warnMissingPages(prerenderedPageContexts, globalContext, doNotPrerenderList, partial) {
536
535
  const isV1 = globalContext.pageConfigs.length > 0;
537
536
  const hookName = isV1 ? 'onBeforePrerenderStart' : 'prerender';
538
537
  /* TODO/after-v1-design-release: document setting `prerender: false` as an alternative to using prerender.partial (both in the warnings and the docs)
@@ -548,11 +547,11 @@ function warnMissingPages(prerenderedPageContexts, doNotPrerenderList, partial)
548
547
  assertWarning(partial, `Cannot pre-render page ${pageAt} because it has a non-static route, while no ${hookName}() hook returned any URL matching the page's route. You need to use a ${hookName}() hook (https://vike.dev/${hookName}) providing a list of URLs for ${pageAt} that should be pre-rendered. If you don't want to pre-render ${pageAt} then use the option prerender.partial (https://vike.dev/prerender#partial) to suppress this warning.`, { onlyOnce: true });
549
548
  });
550
549
  }
551
- async function prerender404(prerenderContext, onComplete) {
550
+ async function prerender404(prerenderContext, globalContext, onComplete) {
552
551
  if (!Object.values(prerenderContext.prerenderedPageContexts).find(({ urlOriginal }) => urlOriginal === '/404')) {
553
552
  let result;
554
553
  try {
555
- result = await prerender404Page(prerenderContext.pageContextInit);
554
+ result = await prerender404Page(prerenderContext.pageContextInit, globalContext);
556
555
  }
557
556
  catch (err) {
558
557
  assertIsNotAbort(err, 'the 404 page');
@@ -1,36 +1,37 @@
1
1
  export { getGlobalContextSync };
2
2
  export { getGlobalContextAsync };
3
- export { getGlobalContext };
3
+ export { getGlobalContextInternal };
4
4
  export { getViteDevServer };
5
5
  export { getViteConfig };
6
6
  export { initGlobalContext_renderPage };
7
7
  export { initGlobalContext_runPrerender };
8
- export { initGlobalContext_getGlobalContextAsync };
8
+ export { initGlobalContext_getPagesAndRoutes };
9
9
  export { setGlobalContext_viteDevServer };
10
10
  export { setGlobalContext_viteConfig };
11
- export { setGlobalContext_vikeConfig };
12
- export { setGlobalContext_isViteDev };
13
11
  export { setGlobalContext_isPrerendering };
12
+ export { setGlobalContext_isProduction };
14
13
  export { setGlobalContext_buildEntry };
15
14
  export { clearGlobalContext };
16
15
  export { assertBuildInfo };
17
16
  export { getViteConfigRuntime };
17
+ export { updateUserFiles };
18
18
  export type { BuildInfo };
19
+ export type { GlobalContext };
20
+ export type { GlobalContextPublic };
19
21
  import type { ViteManifest } from '../shared/ViteManifest.js';
20
22
  import type { ResolvedConfig, ViteDevServer } from 'vite';
21
- import type { VikeConfigObject } from '../plugin/plugins/importUserCode/v1-design/getVikeConfig.js';
22
23
  import type { ConfigUserFriendly } from '../../shared/page-configs/getPageConfigUserFriendly.js';
23
- type GlobalContextPublic = {
24
- assetsManifest: null | ViteManifest;
24
+ import type { ConfigVitePluginServerEntry } from '@brillout/vite-plugin-server-entry/plugin';
25
+ type GlobalContextPublic = Pick<GlobalContext, 'assetsManifest' | 'config' | 'viteConfig'>;
26
+ type PageRuntimeInfo = Awaited<ReturnType<typeof getUserFiles>>;
27
+ type GlobalContext = GlobalContextWithoutPublicCopy & {
28
+ globalContext_public: GlobalContextPublic;
25
29
  };
26
- type PageRuntimeInfo = Awaited<ReturnType<typeof getPageRuntimeInfo>>['userFiles'];
27
- type GlobalContext = {
30
+ type GlobalContextWithoutPublicCopy = {
28
31
  viteConfigRuntime: {
29
32
  _baseViteOriginal: null | string;
30
33
  };
31
- vikeConfig: {
32
- global: ConfigUserFriendly;
33
- };
34
+ config: ConfigUserFriendly['config'];
34
35
  } & PageRuntimeInfo & ({
35
36
  isProduction: false;
36
37
  isPrerendering: false;
@@ -49,40 +50,41 @@ type GlobalContext = {
49
50
  usesClientRouter: boolean;
50
51
  viteConfig: ResolvedConfig;
51
52
  })));
52
- declare function getGlobalContext(): GlobalContext;
53
+ declare function getGlobalContextInternal(): Promise<GlobalContext>;
53
54
  /** @experimental https://vike.dev/getGlobalContext */
54
55
  declare function getGlobalContextSync(): GlobalContextPublic;
55
56
  /** @experimental https://vike.dev/getGlobalContext */
56
57
  declare function getGlobalContextAsync(isProduction: boolean): Promise<GlobalContextPublic>;
57
- declare function setGlobalContext_viteDevServer(viteDevServer: ViteDevServer): void;
58
+ declare function setGlobalContext_viteDevServer(viteDevServer: ViteDevServer): Promise<void>;
58
59
  declare function setGlobalContext_viteConfig(viteConfig: ResolvedConfig, outDirRoot: string): void;
59
- declare function setGlobalContext_vikeConfig(vikeConfig: VikeConfigObject): void;
60
- declare function setGlobalContext_isViteDev(isViteDev: boolean): void;
61
60
  declare function setGlobalContext_isPrerendering(): void;
61
+ declare function setGlobalContext_isProduction(isProduction: boolean): void;
62
62
  declare function getViteDevServer(): ViteDevServer | null;
63
63
  declare function getViteConfig(): ResolvedConfig | null;
64
64
  declare function initGlobalContext_renderPage(): Promise<void>;
65
65
  declare function initGlobalContext_runPrerender(): Promise<void>;
66
- declare function initGlobalContext_getGlobalContextAsync(isProduction: boolean): Promise<void>;
67
- declare function getPageRuntimeInfo(isProduction: boolean): Promise<{
68
- userFiles: {
69
- pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
70
- pageConfigs: import("../../__internal/index.js").PageConfig[];
71
- pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
72
- allPageIds: string[];
73
- pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
74
- onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
75
- };
76
- globalConfig: ConfigUserFriendly;
66
+ declare function initGlobalContext_getPagesAndRoutes(): Promise<void>;
67
+ declare function getUserFiles(): Promise<{
68
+ pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
69
+ pageConfigs: import("../../__internal/index.js").PageConfig[];
70
+ pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
71
+ allPageIds: string[];
72
+ pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
73
+ onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
74
+ config: import("../../shared/page-configs/Config/PageContextConfig.js").ConfigResolved;
77
75
  }>;
78
- declare function setGlobalContext_buildEntry(buildEntry: unknown): void;
76
+ declare function setGlobalContext_buildEntry(buildEntry: unknown): Promise<void>;
79
77
  type BuildInfo = {
80
78
  versionAtBuildTime: string;
81
79
  usesClientRouter: boolean;
82
80
  viteConfigRuntime: {
83
81
  _baseViteOriginal: string;
82
+ vitePluginServerEntry: {
83
+ inject?: NonNullable<ConfigVitePluginServerEntry['vitePluginServerEntry']>['inject'];
84
+ };
84
85
  };
85
86
  };
86
87
  declare function assertBuildInfo(buildInfo: unknown): asserts buildInfo is BuildInfo;
87
- declare function getViteConfigRuntime(viteConfig: ResolvedConfig): BuildInfo['viteConfigRuntime'];
88
+ declare function getViteConfigRuntime(viteConfig: ResolvedConfig & ConfigVitePluginServerEntry): BuildInfo['viteConfigRuntime'];
89
+ declare function updateUserFiles(): Promise<void>;
88
90
  declare function clearGlobalContext(): void;