vike 0.4.218 → 0.4.219

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 (178) hide show
  1. package/dist/cjs/__internal/index.js +11 -11
  2. package/dist/cjs/node/api/build.js +20 -11
  3. package/dist/cjs/node/api/context.js +5 -1
  4. package/dist/cjs/node/api/index.js +17 -7
  5. package/dist/cjs/node/api/prepareViteApiCall.js +39 -11
  6. package/dist/cjs/node/cli/entry.js +19 -7
  7. package/dist/cjs/node/plugin/index.js +5 -5
  8. package/dist/cjs/node/plugin/plugins/autoFullBuild.js +3 -4
  9. package/dist/cjs/node/plugin/plugins/baseUrls.js +3 -10
  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 +38 -3
  13. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +26 -23
  14. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +171 -68
  15. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +1 -1
  16. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +4 -3
  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/isPrerenderAutoRunEnabled.js +16 -0
  21. package/dist/cjs/node/prerender/runPrerender.js +94 -66
  22. package/dist/cjs/node/prerender/utils.js +1 -0
  23. package/dist/cjs/node/runtime/globalContext.js +108 -34
  24. package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +2 -2
  25. package/dist/cjs/node/runtime/index-common.js +0 -15
  26. package/dist/cjs/node/runtime/onLoad.js +17 -3
  27. package/dist/cjs/node/runtime/page-files/setup.js +2 -4
  28. package/dist/cjs/node/runtime/renderPage/analyzePage.js +2 -2
  29. package/dist/cjs/node/runtime/renderPage/createHttpResponse/getCacheControl.js +2 -2
  30. package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
  31. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +11 -33
  32. package/dist/cjs/node/runtime/renderPage/resolveRedirects.js +9 -1
  33. package/dist/cjs/node/runtime/renderPage.js +21 -22
  34. package/dist/cjs/node/runtime/utils.js +1 -0
  35. package/dist/cjs/node/runtime-dev/index.js +17 -7
  36. package/dist/cjs/node/shared/assertRuntimeManifest.js +0 -2
  37. package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +3 -3
  38. package/dist/cjs/shared/getPageFiles/{setPageFiles.js → getPageFiles.js} +8 -6
  39. package/dist/cjs/shared/getPageFiles.js +3 -9
  40. package/dist/cjs/shared/hooks/getHook.js +3 -3
  41. package/dist/cjs/shared/{getPageFiles/getExports.js → page-configs/getPageConfigUserFriendly.js} +113 -81
  42. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +80 -55
  43. package/dist/cjs/shared/route/loadPageRoutes.js +3 -3
  44. package/dist/cjs/shared/utils.js +1 -0
  45. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  46. package/dist/cjs/utils/assert.js +4 -3
  47. package/dist/cjs/utils/assertSetup.js +33 -16
  48. package/dist/cjs/utils/debug.js +11 -6
  49. package/dist/cjs/utils/getGlobalObject.js +1 -2
  50. package/dist/cjs/utils/objectReplace.js +9 -0
  51. package/dist/esm/__internal/index.d.ts +3 -5
  52. package/dist/esm/__internal/index.js +6 -8
  53. package/dist/esm/client/client-routing-runtime/createPageContext.js +4 -1
  54. package/dist/esm/client/client-routing-runtime/entry.d.ts +1 -1
  55. package/dist/esm/client/client-routing-runtime/entry.js +0 -1
  56. package/dist/esm/client/client-routing-runtime/getPageContextCurrent.d.ts +2 -2
  57. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.d.ts +4 -4
  58. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +1 -1
  59. package/dist/esm/client/client-routing-runtime/prefetch/getPrefetchSettings.d.ts +2 -2
  60. package/dist/esm/client/client-routing-runtime/prefetch.d.ts +2 -2
  61. package/dist/esm/client/client-routing-runtime/prefetch.js +2 -2
  62. package/dist/esm/client/server-routing-runtime/entry.d.ts +1 -1
  63. package/dist/esm/client/server-routing-runtime/entry.js +0 -1
  64. package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +1 -1
  65. package/dist/esm/client/server-routing-runtime/getPageContext.js +5 -2
  66. package/dist/esm/client/shared/executeOnRenderClientHook.d.ts +2 -2
  67. package/dist/esm/client/shared/loadUserFilesClientSide.d.ts +2 -2
  68. package/dist/esm/client/shared/loadUserFilesClientSide.js +2 -2
  69. package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.d.ts +2 -2
  70. package/dist/esm/node/api/build.js +3 -4
  71. package/dist/esm/node/api/context.d.ts +3 -1
  72. package/dist/esm/node/api/context.js +6 -2
  73. package/dist/esm/node/api/prepareViteApiCall.d.ts +1 -1
  74. package/dist/esm/node/api/prepareViteApiCall.js +25 -7
  75. package/dist/esm/node/cli/entry.js +2 -0
  76. package/dist/esm/node/cli/parseCli.d.ts +1 -1
  77. package/dist/esm/node/plugin/index.d.ts +1 -1
  78. package/dist/esm/node/plugin/index.js +5 -5
  79. package/dist/esm/node/plugin/plugins/autoFullBuild.js +3 -4
  80. package/dist/esm/node/plugin/plugins/baseUrls.d.ts +1 -1
  81. package/dist/esm/node/plugin/plugins/baseUrls.js +4 -11
  82. package/dist/esm/node/plugin/plugins/buildConfig.js +2 -2
  83. package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.d.ts +1 -1
  84. package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/index.d.ts +2 -2
  85. package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/index.js +16 -17
  86. package/dist/esm/node/plugin/plugins/commonConfig.d.ts +3 -0
  87. package/dist/esm/node/plugin/plugins/commonConfig.js +39 -4
  88. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.d.ts +1 -1
  89. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +6 -9
  90. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +25 -22
  91. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +96 -1
  92. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +167 -64
  93. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +1 -1
  94. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +4 -3
  95. package/dist/esm/node/plugin/plugins/setGlobalContext.js +1 -1
  96. package/dist/esm/node/plugin/plugins/workaroundVite6HmrRegression.d.ts +3 -0
  97. package/dist/esm/node/plugin/plugins/{vite6HmrRegressionWorkaround.js → workaroundVite6HmrRegression.js} +3 -3
  98. package/dist/esm/node/prerender/isPrerenderAutoRunEnabled.d.ts +5 -0
  99. package/dist/esm/node/prerender/isPrerenderAutoRunEnabled.js +14 -0
  100. package/dist/esm/node/prerender/runPrerender.d.ts +1 -2
  101. package/dist/esm/node/prerender/runPrerender.js +78 -60
  102. package/dist/esm/node/prerender/utils.d.ts +1 -0
  103. package/dist/esm/node/prerender/utils.js +1 -0
  104. package/dist/esm/node/runtime/globalContext.d.ts +23 -7
  105. package/dist/esm/node/runtime/globalContext.js +108 -34
  106. package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +1 -1
  107. package/dist/esm/node/runtime/index-common.d.ts +0 -1
  108. package/dist/esm/node/runtime/index-common.js +0 -15
  109. package/dist/esm/node/runtime/index-deprecated.d.ts +1 -0
  110. package/dist/esm/node/runtime/onLoad.js +16 -2
  111. package/dist/esm/node/runtime/page-files/setup.js +3 -3
  112. package/dist/esm/node/runtime/renderPage/analyzePage.js +1 -1
  113. package/dist/esm/node/runtime/renderPage/createHttpResponse/getCacheControl.js +1 -1
  114. package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.d.ts +2 -2
  115. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +1 -1
  116. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +2 -2
  117. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +2 -2
  118. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +31 -46
  119. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +11 -33
  120. package/dist/esm/node/runtime/renderPage/resolveRedirects.d.ts +1 -1
  121. package/dist/esm/node/runtime/renderPage/resolveRedirects.js +9 -1
  122. package/dist/esm/node/runtime/renderPage.js +22 -23
  123. package/dist/esm/node/runtime/utils.d.ts +1 -0
  124. package/dist/esm/node/runtime/utils.js +1 -0
  125. package/dist/esm/node/shared/assertPluginManifest.d.ts +0 -1
  126. package/dist/esm/node/shared/assertRuntimeManifest.d.ts +0 -1
  127. package/dist/esm/node/shared/assertRuntimeManifest.js +1 -3
  128. package/dist/esm/shared/getPageFiles/analyzeClientSide.js +1 -1
  129. package/dist/esm/shared/getPageFiles/{setPageFiles.d.ts → getPageFiles.d.ts} +3 -1
  130. package/dist/esm/shared/getPageFiles/{setPageFiles.js → getPageFiles.js} +8 -6
  131. package/dist/esm/shared/getPageFiles.d.ts +2 -5
  132. package/dist/esm/shared/getPageFiles.js +1 -4
  133. package/dist/esm/shared/hooks/getHook.d.ts +3 -3
  134. package/dist/esm/shared/hooks/getHook.js +1 -1
  135. package/dist/esm/shared/page-configs/Config/PageContextConfig.d.ts +9 -5
  136. package/dist/esm/shared/page-configs/Config.d.ts +20 -2
  137. package/dist/esm/shared/page-configs/PageConfig.d.ts +7 -3
  138. package/dist/esm/shared/{getPageFiles/getExports.d.ts → page-configs/getPageConfigUserFriendly.d.ts} +26 -12
  139. package/dist/esm/shared/{getPageFiles/getExports.js → page-configs/getPageConfigUserFriendly.js} +112 -80
  140. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +26 -6
  141. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +80 -55
  142. package/dist/esm/shared/route/executeGuardHook.d.ts +2 -2
  143. package/dist/esm/shared/route/loadPageRoutes.js +1 -1
  144. package/dist/esm/shared/types.d.ts +1 -1
  145. package/dist/esm/shared/utils.d.ts +1 -0
  146. package/dist/esm/shared/utils.js +1 -0
  147. package/dist/esm/types/index.d.ts +1 -1
  148. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  149. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  150. package/dist/esm/utils/assert.js +4 -3
  151. package/dist/esm/utils/assertSetup.js +33 -16
  152. package/dist/esm/utils/debug.d.ts +1 -1
  153. package/dist/esm/utils/debug.js +11 -6
  154. package/dist/esm/utils/getGlobalObject.js +1 -2
  155. package/dist/esm/utils/objectReplace.d.ts +1 -0
  156. package/dist/esm/utils/objectReplace.js +6 -0
  157. package/dist/esm/utils/projectInfo.d.ts +1 -1
  158. package/package.json +4 -13
  159. package/__internal/loadImportBuild.js +0 -3
  160. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +0 -128
  161. package/dist/cjs/node/runtime/globalContext/loadImportBuild.js +0 -25
  162. package/dist/cjs/node/runtime/page-files/getPageFilesExports.js +0 -22
  163. package/dist/esm/client/client-routing-runtime/pageFiles.d.ts +0 -1
  164. package/dist/esm/client/client-routing-runtime/pageFiles.js +0 -4
  165. package/dist/esm/client/server-routing-runtime/pageFiles.d.ts +0 -1
  166. package/dist/esm/client/server-routing-runtime/pageFiles.js +0 -4
  167. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.d.ts +0 -104
  168. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +0 -123
  169. package/dist/esm/node/plugin/plugins/vite6HmrRegressionWorkaround.d.ts +0 -3
  170. package/dist/esm/node/runtime/globalContext/loadImportBuild.d.ts +0 -18
  171. package/dist/esm/node/runtime/globalContext/loadImportBuild.js +0 -23
  172. package/dist/esm/node/runtime/page-files/getPageFilesExports.d.ts +0 -2
  173. package/dist/esm/node/runtime/page-files/getPageFilesExports.js +0 -20
  174. /package/dist/cjs/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.js +0 -0
  175. /package/dist/cjs/shared/page-configs/{getConfigValue.js → getConfigValueRuntime.js} +0 -0
  176. /package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.js +0 -0
  177. /package/dist/esm/shared/page-configs/{getConfigValue.d.ts → getConfigValueRuntime.d.ts} +0 -0
  178. /package/dist/esm/shared/page-configs/{getConfigValue.js → getConfigValueRuntime.js} +0 -0
@@ -1,25 +1,25 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.setGlobalContext_buildEntry = void 0;
3
4
  exports.route = route;
4
5
  exports.getPagesAndRoutes = getPagesAndRoutes;
5
6
  exports.getMiddlewares = getMiddlewares;
7
+ // Internals needed by Vike
8
+ var globalContext_js_1 = require("../node/runtime/globalContext.js");
9
+ Object.defineProperty(exports, "setGlobalContext_buildEntry", { enumerable: true, get: function () { return globalContext_js_1.setGlobalContext_buildEntry; } });
6
10
  const index_js_1 = require("../shared/route/index.js");
7
- const getPageFiles_js_1 = require("../shared/getPageFiles.js");
8
- const globalContext_js_1 = require("../node/runtime/globalContext.js");
11
+ const getPageFiles_js_1 = require("../shared/getPageFiles/getPageFiles.js");
12
+ const globalContext_js_2 = require("../node/runtime/globalContext.js");
9
13
  const assertSetup_js_1 = require("../utils/assertSetup.js");
10
- const renderPageAlreadyRouted_js_1 = require("../node/runtime/renderPage/renderPageAlreadyRouted.js");
11
14
  /**
12
- * Used by {@link https://github.com/magne4000/vite-plugin-vercel|vite-plugin-vercel}
13
- * to compute some rewrite rules and extract { isr } configs.
14
- * Needs `import 'vike/__internal/setup'`
15
- * @param config
15
+ * Used by {@link https://github.com/magne4000/vite-plugin-vercel|vite-plugin-vercel} to compute some rewrite rules and extract { isr } configs.
16
16
  */
17
17
  async function getPagesAndRoutes() {
18
18
  (0, assertSetup_js_1.setNodeEnvProduction)();
19
- const renderContext = await (0, renderPageAlreadyRouted_js_1.getRenderContext)();
19
+ const globalContext = (0, globalContext_js_2.getGlobalContext)();
20
20
  const {
21
21
  //
22
- pageRoutes, pageFilesAll, pageConfigs, allPageIds } = renderContext;
22
+ pageRoutes, pageFilesAll, pageConfigs, allPageIds } = globalContext;
23
23
  return {
24
24
  pageRoutes,
25
25
  pageFilesAll,
@@ -41,8 +41,8 @@ async function getMiddlewares() {
41
41
  // - Remove it in favor of https://vike.dev/getGlobalContext
42
42
  // Demo usage: https://github.com/vikejs/vike/pull/1823
43
43
  async function getPageFilesAllSafe(isProduction) {
44
- await (0, globalContext_js_1.initGlobalContext_getGlobalContextAsync)(isProduction);
45
- const globalContext = (0, globalContext_js_1.getGlobalContext)();
44
+ await (0, globalContext_js_2.initGlobalContext_getGlobalContextAsync)(isProduction);
45
+ const globalContext = (0, globalContext_js_2.getGlobalContext)();
46
46
  const pageFilesAll = await (0, getPageFiles_js_1.getPageFilesAll)(false, globalContext.isProduction);
47
47
  return pageFilesAll;
48
48
  }
@@ -15,17 +15,28 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.build = build;
27
37
  const prepareViteApiCall_js_1 = require("./prepareViteApiCall.js");
28
38
  const vite_1 = require("vite");
39
+ const isPrerenderAutoRunEnabled_js_1 = require("../prerender/isPrerenderAutoRunEnabled.js");
29
40
  /**
30
41
  * Programmatically trigger `$ vike build`
31
42
  *
@@ -38,11 +49,9 @@ async function build(options = {}) {
38
49
  // Build server-side
39
50
  const outputServer = await (0, vite_1.build)(setSSR(viteConfigEnhanced));
40
51
  // Pre-render
41
- if (vikeConfigGlobal.prerender &&
42
- !vikeConfigGlobal.prerender.disableAutoRun &&
43
- vikeConfigGlobal.disableAutoFullBuild !== 'prerender') {
52
+ if ((0, isPrerenderAutoRunEnabled_js_1.isPrerenderAutoRunEnabled)(vikeConfigGlobal)) {
44
53
  const { runPrerenderFromAutoRun } = await Promise.resolve().then(() => __importStar(require('../prerender/runPrerender.js')));
45
- await runPrerenderFromAutoRun(viteConfigEnhanced, true);
54
+ await runPrerenderFromAutoRun(viteConfigEnhanced);
46
55
  }
47
56
  return {
48
57
  /* We don't return `viteConfig` because `viteConfigEnhanced` is `InlineConfig` not `ResolvedConfig`
@@ -1,7 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isVikeCliOrApi = isVikeCliOrApi;
4
3
  exports.setOperation = setOperation;
4
+ exports.clearOperation = clearOperation;
5
+ exports.isVikeCliOrApi = isVikeCliOrApi;
5
6
  const utils_js_1 = require("./utils.js");
6
7
  const globalObject = (0, utils_js_1.getGlobalObject)('context.ts', {
7
8
  apiOperation: undefined
@@ -18,3 +19,6 @@ function setOperation(operation) {
18
19
  (0, utils_js_1.assert)(!globalObject.apiOperation);
19
20
  globalObject.apiOperation = operation;
20
21
  }
22
+ function clearOperation() {
23
+ globalObject.apiOperation = undefined;
24
+ }
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
36
  exports.prerender = exports.preview = exports.dev = exports.build = void 0;
27
37
  const assertIsNotBrowser_js_1 = require("../../utils/assertIsNotBrowser.js");
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -37,20 +47,38 @@ const getVikeConfig_js_1 = require("../plugin/plugins/importUserCode/v1-design/g
37
47
  const path_1 = __importDefault(require("path"));
38
48
  const utils_js_1 = require("./utils.js");
39
49
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
50
+ const globalContext_js_1 = require("../runtime/globalContext.js");
40
51
  const globalObject = (0, utils_js_1.getGlobalObject)('prepareViteApiCall.ts', {});
41
52
  async function prepareViteApiCall(viteConfig, operation) {
53
+ clear();
42
54
  (0, context_js_1.setOperation)(operation);
43
55
  return enhanceViteConfig(viteConfig, operation);
44
56
  }
57
+ // For subsequent API calls, e.g. calling prerender() after build()
58
+ function clear() {
59
+ (0, context_js_1.clearOperation)();
60
+ (0, globalContext_js_1.clearGlobalContext)();
61
+ }
45
62
  async function enhanceViteConfig(viteConfig, operation) {
46
- const { root, vikeVitePluginOptions, viteConfigEnhanced } = await getInfoFromVite(viteConfig, operation);
47
- await assertViteRoot2(root, viteConfigEnhanced, operation);
48
- const { vikeConfigGlobal } = await (0, getVikeConfig_js_1.getVikeConfig2)(root, operation === 'dev', vikeVitePluginOptions);
63
+ const viteInfo = await getInfoFromVite(viteConfig, operation);
64
+ await assertViteRoot2(viteInfo.root, viteInfo.viteConfigEnhanced, operation);
65
+ const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig2)(viteInfo.root, operation === 'dev', viteInfo.vikeVitePluginOptions);
66
+ const viteConfigEnhanced = addViteSettingsSetByUser(viteInfo.viteConfigEnhanced, vikeConfig);
49
67
  return {
50
68
  viteConfigEnhanced,
51
- vikeConfigGlobal
69
+ vikeConfigGlobal: vikeConfig.vikeConfigGlobal
52
70
  };
53
71
  }
72
+ function addViteSettingsSetByUser(viteConfigEnhanced, vikeConfig) {
73
+ const viteConfigs = vikeConfig.global.from.configsCumulative.vite;
74
+ if (!viteConfigs)
75
+ return viteConfigEnhanced;
76
+ viteConfigs.values.forEach((v) => {
77
+ (0, utils_js_1.assertUsage)((0, utils_js_1.isObject)(v.value), `${v.definedAt} should be an object`);
78
+ viteConfigEnhanced = (0, vite_1.mergeConfig)(v.value, viteConfigEnhanced ?? {});
79
+ });
80
+ return viteConfigEnhanced;
81
+ }
54
82
  async function getViteRoot(operation) {
55
83
  if (!globalObject.root)
56
84
  await getInfoFromVite(undefined, operation);
@@ -15,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  var __importDefault = (this && this.__importDefault) || function (mod) {
26
36
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
37
  };
@@ -77,6 +87,8 @@ async function cmdBuild() {
77
87
  console.error(err);
78
88
  process.exit(1);
79
89
  }
90
+ // See comments at runPrerender_forceExit()
91
+ process.exit(0);
80
92
  }
81
93
  async function cmdPreview() {
82
94
  try {
@@ -23,7 +23,7 @@ const extractAssetsPlugin_js_1 = require("./plugins/extractAssetsPlugin.js");
23
23
  const extractExportNamesPlugin_js_1 = require("./plugins/extractExportNamesPlugin.js");
24
24
  const suppressRollupWarning_js_1 = require("./plugins/suppressRollupWarning.js");
25
25
  const setGlobalContext_js_1 = require("./plugins/setGlobalContext.js");
26
- const index_js_3 = require("./plugins/importBuild/index.js");
26
+ const index_js_3 = require("./plugins/buildEntry/index.js");
27
27
  const commonConfig_js_1 = require("./plugins/commonConfig.js");
28
28
  const baseUrls_js_1 = require("./plugins/baseUrls.js");
29
29
  const envVars_js_1 = require("./plugins/envVars.js");
@@ -32,7 +32,7 @@ const fileEnv_js_1 = require("./plugins/fileEnv.js");
32
32
  const getPageAssets_js_1 = require("../runtime/renderPage/getPageAssets.js");
33
33
  const resolveClientEntriesDev_js_1 = require("./resolveClientEntriesDev.js");
34
34
  const workaroundCssModuleHmr_js_1 = require("./plugins/workaroundCssModuleHmr.js");
35
- const vite6HmrRegressionWorkaround_js_1 = require("./plugins/vite6HmrRegressionWorkaround.js");
35
+ const workaroundVite6HmrRegression_js_1 = require("./plugins/workaroundVite6HmrRegression.js");
36
36
  (0, utils_js_2.markSetup_vikeVitePlugin)();
37
37
  assertViteVersion();
38
38
  (0, getPageAssets_js_1.setResolveClientEntriesDev)(resolveClientEntriesDev_js_1.resolveClientEntriesDev);
@@ -52,12 +52,12 @@ function plugin(vikeVitePluginOptions = {}) {
52
52
  (0, extractExportNamesPlugin_js_1.extractExportNamesPlugin)(),
53
53
  (0, suppressRollupWarning_js_1.suppressRollupWarning)(),
54
54
  ...(0, setGlobalContext_js_1.setGlobalContext)(),
55
- ...(0, index_js_3.importBuild)(),
56
- (0, baseUrls_js_1.baseUrls)(vikeVitePluginOptions),
55
+ ...(0, index_js_3.buildEntry)(),
56
+ (0, baseUrls_js_1.baseUrls)(),
57
57
  (0, envVars_js_1.envVarsPlugin)(),
58
58
  (0, fileEnv_js_1.fileEnv)(),
59
59
  (0, workaroundCssModuleHmr_js_1.workaroundCssModuleHmr)(),
60
- (0, vite6HmrRegressionWorkaround_js_1.vite6HmrRegressionWorkaround)()
60
+ (0, workaroundVite6HmrRegression_js_1.workaroundVite6HmrRegression)()
61
61
  ];
62
62
  Object.assign(plugins, { __vikeVitePluginOptions: vikeVitePluginOptions });
63
63
  return plugins;
@@ -8,6 +8,7 @@ exports.autoFullBuild = autoFullBuild;
8
8
  const vite_1 = require("vite");
9
9
  const utils_js_1 = require("../utils.js");
10
10
  const runPrerender_js_1 = require("../../prerender/runPrerender.js");
11
+ const isPrerenderAutoRunEnabled_js_1 = require("../../prerender/isPrerenderAutoRunEnabled.js");
11
12
  const isViteCliCall_js_1 = require("../shared/isViteCliCall.js");
12
13
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
13
14
  const logErrorHint_js_1 = require("../../runtime/renderPage/logErrorHint.js");
@@ -95,10 +96,8 @@ async function triggerFullBuild(config, vikeConfigGlobal, bundle) {
95
96
  (0, logErrorHint_js_1.logErrorHint)(err);
96
97
  process.exit(1);
97
98
  }
98
- if (vikeConfigGlobal.prerender &&
99
- !vikeConfigGlobal.prerender.disableAutoRun &&
100
- vikeConfigGlobal.disableAutoFullBuild !== 'prerender') {
101
- await (0, runPrerender_js_1.runPrerenderFromAutoRun)(configInline, false);
99
+ if ((0, isPrerenderAutoRunEnabled_js_1.isPrerenderAutoRunEnabled)(vikeConfigGlobal)) {
100
+ await (0, runPrerender_js_1.runPrerenderFromAutoRun)(configInline);
102
101
  forceExit = true;
103
102
  }
104
103
  }
@@ -4,22 +4,16 @@ exports.baseUrls = baseUrls;
4
4
  const resolveBase_js_1 = require("../../shared/resolveBase.js");
5
5
  const utils_js_1 = require("../utils.js");
6
6
  const getVikeConfig_js_1 = require("./importUserCode/v1-design/getVikeConfig.js");
7
- const prepareViteApiCall_js_1 = require("../../api/prepareViteApiCall.js");
8
- function baseUrls(vikeVitePluginOptions) {
7
+ function baseUrls() {
9
8
  let basesResolved;
10
- let root;
11
9
  return {
12
10
  name: 'vike:baseUrls',
13
11
  enforce: 'post',
14
- async config(config, env) {
12
+ async config(config) {
15
13
  const isDev = config._isDev;
16
14
  (0, utils_js_1.assert)(typeof isDev === 'boolean');
17
- const operation = env.command === 'build' ? 'build' : env.isPreview ? 'preview' : 'dev';
18
- root = config.root ? (0, prepareViteApiCall_js_1.normalizeViteRoot)(config.root) : await (0, prepareViteApiCall_js_1.getViteRoot)(operation);
19
- (0, utils_js_1.assert)(root);
20
15
  const baseViteOriginal = config.base ?? '/__UNSET__'; // '/__UNSET__' because Vite resolves `_baseViteOriginal: null` to `undefined`
21
- const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig2)(root, isDev, vikeVitePluginOptions);
22
- basesResolved = (0, resolveBase_js_1.resolveBase)(baseViteOriginal, vikeConfig.vikeConfigGlobal.baseServer, vikeConfig.vikeConfigGlobal.baseAssets);
16
+ basesResolved = (0, resolveBase_js_1.resolveBase)(baseViteOriginal, config.vike.vikeConfigGlobal.baseServer, config.vike.vikeConfigGlobal.baseAssets);
23
17
  // We cannot define these in configResolved() because Vite picks up the env variables before any configResolved() hook is called
24
18
  process.env.BASE_SERVER = basesResolved.baseServer;
25
19
  process.env.BASE_ASSETS = basesResolved.baseAssets;
@@ -34,7 +28,6 @@ function baseUrls(vikeVitePluginOptions) {
34
28
  };
35
29
  },
36
30
  async configResolved(config) {
37
- (0, prepareViteApiCall_js_1.assertViteRoot)(root, config);
38
31
  const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(config);
39
32
  const basesResolved2 = (0, resolveBase_js_1.resolveBaseFromResolvedConfig)(vikeConfig.vikeConfigGlobal.baseServer, vikeConfig.vikeConfigGlobal.baseAssets, config);
40
33
  (0, utils_js_1.assert)(basesResolved2.baseServer === basesResolved.baseServer);
@@ -16,7 +16,7 @@ const module_1 = require("module");
16
16
  const promises_1 = __importDefault(require("fs/promises"));
17
17
  const path_1 = __importDefault(require("path"));
18
18
  const fixServerAssets_js_1 = require("./buildConfig/fixServerAssets.js");
19
- const index_js_1 = require("./importBuild/index.js");
19
+ const index_js_1 = require("./buildEntry/index.js");
20
20
  const prependEntriesDir_js_1 = require("../../shared/prependEntriesDir.js");
21
21
  const getFilePath_js_1 = require("../shared/getFilePath.js");
22
22
  const getConfigValueBuildTime_js_1 = require("../../../shared/page-configs/getConfigValueBuildTime.js");
@@ -123,7 +123,7 @@ async function getEntries(config) {
123
123
  if ((0, utils_js_1.viteIsSSR)(config)) {
124
124
  const pageEntries = getPageEntries(pageConfigs);
125
125
  const entries = {
126
- // importBuild: resolve('dist/esm/node/importBuild.js'), // TODO/next-major-release: remove
126
+ // buildEntry: resolve('dist/esm/node/buildEntry.js'), // TODO/next-major-release: remove
127
127
  ...pageFileEntries,
128
128
  // Ensure Rollup generates a bundle per page: https://github.com/vikejs/vike/issues/349#issuecomment-1166247275
129
129
  ...pageEntries
@@ -3,26 +3,26 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.importBuild = importBuild;
6
+ exports.buildEntry = buildEntry;
7
7
  exports.set_ASSETS_MAP = set_ASSETS_MAP;
8
8
  const plugin_1 = require("@brillout/vite-plugin-server-entry/plugin");
9
+ const virtualFileImportUserCode_js_1 = require("../../../shared/virtual-files/virtualFileImportUserCode.js");
10
+ const getVikeManifest_js_1 = require("./getVikeManifest.js");
11
+ const getVikeConfig_js_1 = require("../importUserCode/v1-design/getVikeConfig.js");
9
12
  const utils_js_1 = require("../../utils.js");
13
+ const promises_1 = __importDefault(require("fs/promises"));
10
14
  const path_1 = __importDefault(require("path"));
11
15
  const module_1 = require("module");
12
- const getVikeManifest_js_1 = require("./getVikeManifest.js");
13
- const promises_1 = __importDefault(require("fs/promises"));
14
- const virtualFileImportUserCode_js_1 = require("../../../shared/virtual-files/virtualFileImportUserCode.js");
15
- const getVikeConfig_js_1 = require("../importUserCode/v1-design/getVikeConfig.js");
16
16
  // @ts-ignore Shimmed by dist-cjs-fixup.js for CJS build.
17
17
  const importMetaUrl = `file://${__filename}`;
18
18
  const require_ = (0, module_1.createRequire)(importMetaUrl);
19
19
  const ASSETS_MAP = '__VITE_ASSETS_MAP__';
20
- function importBuild() {
20
+ function buildEntry() {
21
21
  let config;
22
22
  let vikeConfigGlobal;
23
23
  return [
24
24
  {
25
- name: 'vike:importBuild:config',
25
+ name: 'vike:buildEntry',
26
26
  enforce: 'post',
27
27
  async configResolved(config_) {
28
28
  config = config_;
@@ -43,17 +43,16 @@ function getServerProductionEntryCode(config, vikeConfigGlobal) {
43
43
  const vikeManifest = (0, getVikeManifest_js_1.getVikeManifest)(vikeConfigGlobal, config);
44
44
  // Let's eventually simplify and move everything to a single virtual module
45
45
  const importerCode = [
46
- ` import { setImportBuildGetters } from '${importPath}';`,
46
+ ` import { setGlobalContext_buildEntry } from '${importPath}';`,
47
47
  ` import * as pageFiles from '${virtualFileImportUserCode_js_1.virtualFileIdImportUserCodeServer}';`,
48
48
  ` {`,
49
49
  // We first set the values to a variable because of a Rollup bug, and this workaround doesn't work: https://github.com/vikejs/vike/commit/d5f3a4f7aae5a8bc44192e6cbb2bcb9007be188d
50
50
  ` const assetsManifest = ${ASSETS_MAP};`,
51
51
  ` const pluginManifest = ${JSON.stringify(vikeManifest, null, 2)};`,
52
- ' setImportBuildGetters({',
53
- ` pageFiles: () => pageFiles,`,
54
- ` getAssetsManifest: () => assetsManifest,`,
55
- // TODO: rename pluginManifest -> vikeManifest
56
- ` pluginManifest: () => pluginManifest,`,
52
+ ' setGlobalContext_buildEntry({',
53
+ ` pageFiles,`,
54
+ ` assetsManifest,`,
55
+ ` pluginManifest,`,
57
56
  ' });',
58
57
  ` }`,
59
58
  ''
@@ -90,12 +89,12 @@ function find_ASSETS_MAP(bundle) {
90
89
  function getImportPath(config) {
91
90
  // We resolve filePathAbsolute even if we don't use it: we use require.resolve() as an assertion that the relative path is correct
92
91
  const filePathAbsolute = (0, utils_js_1.toPosixPath)(
93
- // [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/dist/esm/node/plugin/plugins/importBuild/index.js
94
- require_.resolve(`../../../../../../dist/esm/node/runtime/globalContext/loadImportBuild.js`));
92
+ // [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/dist/esm/node/plugin/plugins/buildEntry/index.js
93
+ require_.resolve(`../../../../../../dist/esm/__internal/index.js`));
95
94
  if (
96
- // Let's implement a new config if a user needs the import to be a relative path instead of 'vike/__internal/loadImportBuild' (AFAIK a relative path is needed only if a framework has npm package 'vike' as direct dependency instead of a peer dependency and if the user of that framework uses pnpm)
95
+ // Let's implement a new config if a user needs the import to be a relative path instead of 'vike/__internal' (AFAIK a relative path is needed only if a framework has npm package 'vike' as direct dependency instead of a peer dependency and if the user of that framework uses pnpm)
97
96
  true) {
98
- return 'vike/__internal/loadImportBuild';
97
+ return 'vike/__internal';
99
98
  }
100
99
  else {
101
100
  const { outDirServer } = (0, utils_js_1.getOutDirs)(config);
@@ -14,6 +14,9 @@ const assertResolveAlias_js_1 = require("./commonConfig/assertResolveAlias.js");
14
14
  const getEnvVarObject_js_1 = require("../shared/getEnvVarObject.js");
15
15
  const isViteCliCall_js_1 = require("../shared/isViteCliCall.js");
16
16
  const context_js_1 = require("../../api/context.js");
17
+ const getVikeConfig_js_1 = require("./importUserCode/v1-design/getVikeConfig.js");
18
+ const prepareViteApiCall_js_1 = require("../../api/prepareViteApiCall.js");
19
+ const isPrerenderAutoRunEnabled_js_1 = require("../../prerender/isPrerenderAutoRunEnabled.js");
17
20
  const pluginName = 'vike:commonConfig';
18
21
  function commonConfig(vikeVitePluginOptions) {
19
22
  return [
@@ -22,10 +25,19 @@ function commonConfig(vikeVitePluginOptions) {
22
25
  enforce: 'pre',
23
26
  config: {
24
27
  order: 'pre',
25
- handler(_config, env) {
28
+ async handler(configFromUser, env) {
29
+ const isDev = (0, utils_js_1.isDevCheck)(env);
30
+ const operation = env.command === 'build' ? 'build' : env.isPreview ? 'preview' : 'dev';
31
+ const root = configFromUser.root ? (0, prepareViteApiCall_js_1.normalizeViteRoot)(configFromUser.root) : await (0, prepareViteApiCall_js_1.getViteRoot)(operation);
32
+ (0, utils_js_1.assert)(root);
33
+ const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig2)(root, isDev, vikeVitePluginOptions);
26
34
  return {
27
- _isDev: (0, utils_js_1.isDevCheck)(env),
28
- _vikeVitePluginOptions: vikeVitePluginOptions
35
+ _isDev: isDev,
36
+ _root: root,
37
+ _vikeVitePluginOptions: vikeVitePluginOptions,
38
+ vike: vikeConfig,
39
+ // TODO/v1-release: remove
40
+ configVikePromise: Promise.resolve(vikeConfig.vikeConfigGlobal)
29
41
  };
30
42
  }
31
43
  }
@@ -33,6 +45,7 @@ function commonConfig(vikeVitePluginOptions) {
33
45
  {
34
46
  name: pluginName,
35
47
  configResolved(config) {
48
+ (0, prepareViteApiCall_js_1.assertViteRoot)(config._root, config);
36
49
  assertSingleInstance(config);
37
50
  (0, require_shim_1.installRequireShim_setUserRootDir)(config.root);
38
51
  }
@@ -51,6 +64,7 @@ function commonConfig(vikeVitePluginOptions) {
51
64
  (0, assertResolveAlias_js_1.assertResolveAlias)(config);
52
65
  assertEsm(config.root);
53
66
  assertVikeCliOrApi(config);
67
+ temp_supportOldInterface(config);
54
68
  }
55
69
  },
56
70
  config: {
@@ -133,3 +147,24 @@ function assertVikeCliOrApi(config) {
133
147
  onlyOnce: true
134
148
  });
135
149
  }
150
+ // TODO/v1-release: remove
151
+ function temp_supportOldInterface(config) {
152
+ if (!('vitePluginSsr' in config))
153
+ return;
154
+ (0, utils_js_1.assert)((0, utils_js_1.isObject)(config.vitePluginSsr));
155
+ if ((0, utils_js_1.hasProp)(config.vitePluginSsr, 'prerender', 'object')) {
156
+ (0, utils_js_1.assert)((0, utils_js_1.hasProp)(config.vitePluginSsr.prerender, 'disableAutoRun', 'boolean'));
157
+ if (config.vitePluginSsr.prerender.disableAutoRun) {
158
+ (0, isPrerenderAutoRunEnabled_js_1.temp_disablePrerenderAutoRun)();
159
+ }
160
+ return;
161
+ }
162
+ if ((0, utils_js_1.hasProp)(config.vitePluginSsr, 'disableAutoFullBuild')) {
163
+ if (config.vitePluginSsr.disableAutoFullBuild) {
164
+ (0, utils_js_1.assert)(config.vitePluginSsr.disableAutoFullBuild === 'prerender');
165
+ (0, isPrerenderAutoRunEnabled_js_1.temp_disablePrerenderAutoRun)();
166
+ }
167
+ return;
168
+ }
169
+ (0, utils_js_1.assert)(false);
170
+ }
@@ -1,9 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.configDefinitionsBuiltInGlobal = exports.configDefinitionsBuiltIn = void 0;
3
+ exports.configDefinitionsBuiltInAll = void 0;
4
4
  const utils_js_1 = require("../../../../utils.js");
5
5
  const getConfigDefinedAt_js_1 = require("../../../../../../shared/page-configs/getConfigDefinedAt.js");
6
- const configDefinitionsBuiltIn = {
6
+ const configDefinitionsBuiltInAll = {
7
7
  onRenderHtml: {
8
8
  env: { server: true }
9
9
  },
@@ -62,9 +62,6 @@ const configDefinitionsBuiltIn = {
62
62
  clientHooks: {
63
63
  env: { config: true }
64
64
  },
65
- prerender: {
66
- env: { config: true }
67
- },
68
65
  hydrationCanBeAborted: {
69
66
  env: { client: true }
70
67
  },
@@ -133,30 +130,36 @@ const configDefinitionsBuiltIn = {
133
130
  env: { client: true }
134
131
  },
135
132
  // TODO/eventually: define it as a global config.
136
- middleware: { env: { server: true }, cumulative: true, eager: true }
137
- };
138
- exports.configDefinitionsBuiltIn = configDefinitionsBuiltIn;
139
- const configDefinitionsBuiltInGlobal = {
133
+ middleware: { env: { server: true }, cumulative: true, eager: true },
140
134
  onPrerenderStart: {
141
135
  env: { server: true, production: true },
142
- eager: true
136
+ eager: true,
137
+ global: true
143
138
  },
144
139
  onBeforeRoute: {
145
140
  env: { server: true, client: 'if-client-routing' },
146
- eager: true
147
- },
148
- prerender: {
149
- env: { config: true }
150
- },
151
- disableAutoFullBuild: { env: { config: true } },
152
- includeAssetsImportedByServer: { env: { config: true } },
153
- baseAssets: { env: { config: true } },
154
- baseServer: { env: { config: true } },
155
- redirects: { env: { server: true } },
156
- trailingSlash: { env: { server: true } },
157
- disableUrlNormalization: { env: { server: true } }
141
+ eager: true,
142
+ global: true
143
+ },
144
+ prerender: { env: { config: true }, global: (value) => typeof value !== 'object', type: ['boolean', 'object'] },
145
+ vite: { env: { config: true }, global: true, cumulative: true, type: 'object' },
146
+ disableAutoFullBuild: {
147
+ env: { config: true },
148
+ global: true,
149
+ type: [
150
+ 'boolean',
151
+ // Can be 'prerender'
152
+ 'string'
153
+ ]
154
+ },
155
+ includeAssetsImportedByServer: { env: { config: true }, global: true, type: 'boolean' },
156
+ baseAssets: { env: { config: true }, global: true, type: 'string' },
157
+ baseServer: { env: { config: true }, global: true, type: 'string' },
158
+ redirects: { env: { server: true }, global: true, type: 'string{}', cumulative: true },
159
+ trailingSlash: { env: { server: true }, global: true, type: 'boolean' },
160
+ disableUrlNormalization: { env: { server: true }, global: true, type: 'boolean' }
158
161
  };
159
- exports.configDefinitionsBuiltInGlobal = configDefinitionsBuiltInGlobal;
162
+ exports.configDefinitionsBuiltInAll = configDefinitionsBuiltInAll;
160
163
  function getConfigEnv(configValueSources, configName) {
161
164
  const configValueSource = getConfigValueSource(configValueSources, configName);
162
165
  if (!configValueSource)