vike 0.4.221 → 0.4.222-commit-207e079

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 (84) hide show
  1. package/dist/cjs/node/api/prepareViteApiCall.js +18 -16
  2. package/dist/cjs/node/plugin/index.js +1 -1
  3. package/dist/cjs/node/plugin/plugins/baseUrls.js +6 -1
  4. package/dist/cjs/node/plugin/plugins/buildConfig/fixServerAssets.js +8 -10
  5. package/dist/cjs/node/plugin/plugins/buildConfig.js +0 -1
  6. package/dist/cjs/node/plugin/plugins/commonConfig.js +4 -1
  7. package/dist/cjs/node/plugin/plugins/importUserCode/index.js +73 -39
  8. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +64 -14
  9. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +0 -5
  10. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +2 -40
  11. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +1 -1
  12. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +6 -3
  13. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +49 -18
  14. package/dist/cjs/node/runtime/globalContext.js +24 -8
  15. package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +3 -3
  16. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +2 -4
  17. package/dist/cjs/node/runtime/renderPage.js +4 -8
  18. package/dist/cjs/node/runtime-dev/createDevMiddleware.js +3 -3
  19. package/dist/cjs/node/shared/resolveBase.js +0 -13
  20. package/dist/cjs/shared/getPageConfigsRuntime.js +10 -1
  21. package/dist/cjs/shared/page-configs/getPageConfigUserFriendly.js +4 -2
  22. package/dist/cjs/shared/route/loadPageRoutes.js +1 -1
  23. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  24. package/dist/cjs/utils/assertSingleInstance.js +1 -1
  25. package/dist/cjs/utils/debug.js +9 -6
  26. package/dist/esm/client/client-routing-runtime/prefetch.js +1 -1
  27. package/dist/esm/client/client-routing-runtime/renderPageClientSide.d.ts +5 -0
  28. package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +9 -2
  29. package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +1 -0
  30. package/dist/esm/client/server-routing-runtime/getPageContext.js +4 -3
  31. package/dist/esm/client/shared/loadUserFilesClientSide.d.ts +3 -2
  32. package/dist/esm/client/shared/loadUserFilesClientSide.js +2 -2
  33. package/dist/esm/node/api/prepareViteApiCall.d.ts +2 -2
  34. package/dist/esm/node/api/prepareViteApiCall.js +18 -16
  35. package/dist/esm/node/plugin/index.d.ts +4 -1
  36. package/dist/esm/node/plugin/index.js +1 -1
  37. package/dist/esm/node/plugin/plugins/baseUrls.js +6 -1
  38. package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.d.ts +0 -2
  39. package/dist/esm/node/plugin/plugins/buildConfig/fixServerAssets.js +8 -10
  40. package/dist/esm/node/plugin/plugins/buildConfig.js +1 -2
  41. package/dist/esm/node/plugin/plugins/commonConfig.d.ts +1 -0
  42. package/dist/esm/node/plugin/plugins/commonConfig.js +4 -1
  43. package/dist/esm/node/plugin/plugins/importUserCode/index.js +73 -39
  44. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.d.ts +4 -0
  45. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +65 -15
  46. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.d.ts +0 -3
  47. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.js +0 -5
  48. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.d.ts +0 -2
  49. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/getPlusFilesAll.js +2 -37
  50. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +1 -1
  51. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.d.ts +1 -1
  52. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +6 -3
  53. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +3 -2
  54. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +50 -19
  55. package/dist/esm/node/runtime/globalContext.d.ts +10 -7
  56. package/dist/esm/node/runtime/globalContext.js +24 -8
  57. package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.d.ts +2 -2
  58. package/dist/esm/node/runtime/html/injectAssets.d.ts +2 -2
  59. package/dist/esm/node/runtime/renderPage/analyzePage.d.ts +2 -2
  60. package/dist/esm/node/runtime/renderPage/getPageAssets.d.ts +2 -2
  61. package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +2 -2
  62. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +2 -2
  63. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +3 -3
  64. package/dist/esm/node/runtime/renderPage/log404/index.d.ts +2 -2
  65. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +2 -2
  66. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +8 -8
  67. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +2 -4
  68. package/dist/esm/node/runtime/renderPage.js +4 -8
  69. package/dist/esm/node/runtime-dev/createDevMiddleware.js +3 -3
  70. package/dist/esm/node/shared/resolveBase.d.ts +1 -9
  71. package/dist/esm/node/shared/resolveBase.js +0 -13
  72. package/dist/esm/shared/getPageConfigsRuntime.d.ts +2 -1
  73. package/dist/esm/shared/getPageConfigsRuntime.js +10 -1
  74. package/dist/esm/shared/page-configs/getPageConfigUserFriendly.d.ts +8 -2
  75. package/dist/esm/shared/page-configs/getPageConfigUserFriendly.js +4 -2
  76. package/dist/esm/shared/route/loadPageRoutes.js +1 -1
  77. package/dist/esm/shared/types.d.ts +9 -0
  78. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  79. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  80. package/dist/esm/utils/assertSingleInstance.js +1 -1
  81. package/dist/esm/utils/debug.d.ts +1 -1
  82. package/dist/esm/utils/debug.js +9 -6
  83. package/dist/esm/utils/projectInfo.d.ts +1 -1
  84. package/package.json +1 -1
@@ -37,6 +37,7 @@ function reloadVikeConfig(config) {
37
37
  const userRootDir = config.root;
38
38
  const vikeVitePluginOptions = config._vikeVitePluginOptions;
39
39
  (0, utils_js_1.assert)(vikeVitePluginOptions);
40
+ // TODO/now: unify with esbuildCache
40
41
  vikeConfigDependencies.clear();
41
42
  vikeConfigPromise = loadVikeConfig_withErrorHandling(userRootDir, true, vikeVitePluginOptions);
42
43
  handleReloadSideEffects();
@@ -132,7 +133,8 @@ async function loadVikeConfig_withErrorHandling(userRootDir, isDev, vikeVitePlug
132
133
  configDefinitions: {},
133
134
  configValueSources: {}
134
135
  },
135
- global: (0, getPageConfigUserFriendly_js_1.getPageConfigUserFriendlyNew)({ configValues: {} })
136
+ global: (0, getPageConfigUserFriendly_js_1.getPageConfigUserFriendlyNew)({ configValues: {} }),
137
+ pages: {}
136
138
  };
137
139
  return dummyData;
138
140
  }
@@ -141,15 +143,26 @@ async function loadVikeConfig_withErrorHandling(userRootDir, isDev, vikeVitePlug
141
143
  async function loadVikeConfig(userRootDir, vikeVitePluginOptions) {
142
144
  const esbuildCache = {};
143
145
  const plusFilesAll = await (0, getPlusFilesAll_js_1.getPlusFilesAll)(userRootDir, esbuildCache);
144
- assertKnownConfigs(plusFilesAll);
145
146
  const configDefinitionsResolved = await resolveConfigDefinitions(plusFilesAll, userRootDir, esbuildCache);
147
+ assertKnownConfigs(configDefinitionsResolved, plusFilesAll);
146
148
  const { pageConfigGlobal, pageConfigs } = getPageConfigsBuildTime(configDefinitionsResolved, plusFilesAll, userRootDir);
147
149
  // interop vike(options) in vite.config.js
148
150
  temp_interopVikeVitePlugin(pageConfigGlobal, vikeVitePluginOptions, userRootDir);
149
151
  // global
150
- const configValues = getConfigValues(pageConfigGlobal);
151
- const global = (0, getPageConfigUserFriendly_js_1.getPageConfigUserFriendlyNew)({ configValues });
152
- return { pageConfigs, pageConfigGlobal, global };
152
+ const configValuesGlobal = getConfigValues(pageConfigGlobal);
153
+ const global = (0, getPageConfigUserFriendly_js_1.getPageConfigUserFriendlyNew)({ configValues: configValuesGlobal });
154
+ // TODO/now DEDUPE
155
+ // pages
156
+ const pages = (0, utils_js_1.objectFromEntries)(pageConfigs.map((pageConfig) => {
157
+ const configValuesLocal = getConfigValues(pageConfig, true);
158
+ const configValues = { ...configValuesGlobal, ...configValuesLocal };
159
+ const page = {
160
+ ...(0, getPageConfigUserFriendly_js_1.getPageConfigUserFriendlyNew)({ configValues }),
161
+ route: pageConfig.routeFilesystem?.routeString ?? null
162
+ };
163
+ return [pageConfig.pageId, page];
164
+ }));
165
+ return { pageConfigs, pageConfigGlobal, global, pages };
153
166
  }
154
167
  async function resolveConfigDefinitions(plusFilesAll, userRootDir, esbuildCache) {
155
168
  const configDefinitionsGlobal = getConfigDefinitions(
@@ -235,10 +248,9 @@ function assertPageConfigGlobal(pageConfigGlobal, plusFilesAll) {
235
248
  });
236
249
  }
237
250
  function assertGlobalConfigLocation(configName, sources, plusFilesAll, configDefinitionsGlobal) {
238
- const locationIdsAll = (0, utils_js_1.objectKeys)(plusFilesAll);
239
251
  // Determine existing global +config.js files
240
252
  const configFilePathsGlobal = [];
241
- const plusFilesGlobal = Object.values((0, utils_js_1.objectFromEntries)((0, utils_js_1.objectEntries)(plusFilesAll).filter(([locationId]) => (0, filesystemRouting_js_1.isGlobalLocation)(locationId, locationIdsAll)))).flat();
253
+ const plusFilesGlobal = Object.values((0, utils_js_1.objectFromEntries)((0, utils_js_1.objectEntries)(plusFilesAll).filter(([locationId]) => isGlobalLocation(locationId, plusFilesAll)))).flat();
242
254
  plusFilesGlobal
243
255
  .filter((i) => i.isConfigFile)
244
256
  .forEach((plusFile) => {
@@ -257,7 +269,7 @@ function assertGlobalConfigLocation(configName, sources, plusFilesAll, configDef
257
269
  if (!filePathAbsoluteUserRootDir)
258
270
  return;
259
271
  (0, utils_js_1.assert)(!plusFile.isExtensionConfig);
260
- if (!(0, filesystemRouting_js_1.isGlobalLocation)(source.locationId, locationIdsAll)) {
272
+ if (!isGlobalLocation(source.locationId, plusFilesAll)) {
261
273
  const configDef = configDefinitionsGlobal[configName];
262
274
  (0, utils_js_1.assert)(configDef);
263
275
  const isConditionallyGlobal = (0, utils_js_1.isCallable)(configDef.global);
@@ -290,7 +302,7 @@ function assertOnBeforeRenderEnv(pageConfig) {
290
302
  // When using Server Routing, loading a onBeforeRender() hook on the client-side hasn't any effect (the Server Routing's client runtime never calls it); it unnecessarily bloats client bundle sizes
291
303
  (0, utils_js_1.assertUsage)(!(onBeforeRenderEnv.client && !isClientRouting), `Page ${pageConfig.pageId} has an onBeforeRender() hook with env ${picocolors_1.default.cyan(JSON.stringify(onBeforeRenderEnv))} which doesn't make sense because the page is using Server Routing: onBeforeRender() can be run in the client only when using Client Routing.`);
292
304
  }
293
- function getConfigValues(pageConfig) {
305
+ function getConfigValues(pageConfig, tolerateMissingValue) {
294
306
  const configValues = {};
295
307
  (0, serializeConfigValues_js_1.getConfigValuesBase)(pageConfig, (configEnv) => !!configEnv.config, null).forEach((entry) => {
296
308
  if (entry.configValueBase.type === 'computed') {
@@ -301,7 +313,11 @@ function getConfigValues(pageConfig) {
301
313
  if (entry.configValueBase.type === 'standard') {
302
314
  (0, utils_js_1.assert)('sourceRelevant' in entry); // Help TS
303
315
  const { configValueBase, sourceRelevant, configName } = entry;
304
- (0, utils_js_1.assert)('value' in sourceRelevant);
316
+ if (!sourceRelevant.valueIsLoaded) {
317
+ if (tolerateMissingValue)
318
+ return;
319
+ (0, utils_js_1.assert)(false);
320
+ }
305
321
  const { value } = sourceRelevant;
306
322
  configValues[configName] = { ...configValueBase, value };
307
323
  }
@@ -310,9 +326,18 @@ function getConfigValues(pageConfig) {
310
326
  const { configValueBase, sourcesRelevant, configName } = entry;
311
327
  const values = [];
312
328
  sourcesRelevant.forEach((source) => {
313
- (0, utils_js_1.assert)('value' in source);
329
+ if (!source.valueIsLoaded) {
330
+ if (tolerateMissingValue)
331
+ return;
332
+ (0, utils_js_1.assert)(false);
333
+ }
314
334
  values.push(source.value);
315
335
  });
336
+ if (values.length === 0) {
337
+ if (tolerateMissingValue)
338
+ return;
339
+ (0, utils_js_1.assert)(false);
340
+ }
316
341
  configValues[configName] = { ...configValueBase, value: values };
317
342
  }
318
343
  });
@@ -357,10 +382,9 @@ function getPlusFilesRelevant(plusFilesAll, locationIdPage) {
357
382
  return plusFilesRelevant;
358
383
  }
359
384
  function sortForGlobal(plusFilesAll) {
360
- const locationIdsAll = (0, utils_js_1.objectKeys)(plusFilesAll);
361
385
  const plusFilesAllSorted = Object.fromEntries((0, utils_js_1.objectEntries)(plusFilesAll)
362
386
  .sort((0, utils_js_1.lowerFirst)(([locationId]) => locationId.split('/').length))
363
- .sort((0, utils_js_1.makeFirst)(([locationId]) => (0, filesystemRouting_js_1.isGlobalLocation)(locationId, locationIdsAll))));
387
+ .sort((0, utils_js_1.makeFirst)(([locationId]) => isGlobalLocation(locationId, plusFilesAll))));
364
388
  return plusFilesAllSorted;
365
389
  }
366
390
  function resolveConfigValueSources(configName, configDef, plusFilesRelevant, userRootDir, isGlobal) {
@@ -754,13 +778,13 @@ function getComputed(configValueSources, configDefinitions) {
754
778
  return configValuesComputed;
755
779
  }
756
780
  // Show error message upon unknown config
757
- function assertKnownConfigs(plusFilesAll) {
781
+ function assertKnownConfigs(configDefinitionsResolved, plusFilesAll) {
758
782
  const configDefinitionsAll = getConfigDefinitions(plusFilesAll);
759
783
  const configNamesKnownAll = Object.keys(configDefinitionsAll);
760
- (0, utils_js_1.objectEntries)(plusFilesAll).forEach(([locationId, plusFiles]) => {
761
- const plusFilesRelevant = getPlusFilesRelevant(plusFilesAll, locationId);
762
- const configDefinitionsLocal = getConfigDefinitions(plusFilesRelevant);
763
- const configNamesKnownLocal = Object.keys(configDefinitionsLocal);
784
+ const configNamesGlobal = Object.keys(configDefinitionsResolved.configDefinitionsGlobal);
785
+ (0, utils_js_1.objectEntries)(configDefinitionsResolved.configDefinitionsLocal).forEach(([_locationId, { configDefinitions, plusFiles }]) => {
786
+ const configDefinitionsLocal = configDefinitions;
787
+ const configNamesKnownLocal = [...Object.keys(configDefinitionsLocal), ...configNamesGlobal];
764
788
  plusFiles.forEach((plusFile) => {
765
789
  const configNames = getDefiningConfigNames(plusFile);
766
790
  configNames.forEach((configName) => {
@@ -932,3 +956,10 @@ function resolveConfigEnv(configEnv, filePath) {
932
956
  }
933
957
  return configEnvResolved;
934
958
  }
959
+ /** Whether configs defined in `locationId` apply to every page */
960
+ function isGlobalLocation(locationId, plusFilesAll) {
961
+ const locationIdsPage = (0, utils_js_1.objectEntries)(plusFilesAll)
962
+ .filter(([_locationId, plusFiles]) => isDefiningPage(plusFiles))
963
+ .map(([locationId]) => locationId);
964
+ return locationIdsPage.every((locId) => (0, filesystemRouting_js_1.isInherited)(locationId, locId));
965
+ }
@@ -21,7 +21,7 @@ exports.assertBuildInfo = assertBuildInfo;
21
21
  exports.getViteConfigRuntime = getViteConfigRuntime;
22
22
  exports.updateUserFiles = updateUserFiles;
23
23
  // The core logic revolves around:
24
- // - globalObject.userFiles which is the main requirement for assembleGlobalContext()
24
+ // - globalObject.userFiles which is the main requirement for resolveGlobalContext()
25
25
  // - In production: globalObject.buildEntry which is the production entry set by @brillout/vite-plugin-server-entry
26
26
  // - loadBuildEntry() sets globalObject.buildEntry and then sets globalObject.userFiles
27
27
  // - With vike-server it's set at server start: @brillout/vite-plugin-server-entry injects `import './entry.mjs'` (the production entry generated by @brillout/vite-plugin-server-entry) as first line of code of dist/server/index.mjs while dist/server/entry.mjs calls setGlobalContext_buildEntry()
@@ -35,6 +35,7 @@ const picocolors_1 = __importDefault(require("@brillout/picocolors"));
35
35
  const loadPageRoutes_js_1 = require("../../shared/route/loadPageRoutes.js");
36
36
  const assertV1Design_js_1 = require("../shared/assertV1Design.js");
37
37
  const getPageConfigsRuntime_js_1 = require("../../shared/getPageConfigsRuntime.js");
38
+ const resolveBase_js_1 = require("../shared/resolveBase.js");
38
39
  const debug = (0, utils_js_1.createDebugger)('vike:globalContext');
39
40
  const globalObject = (0, utils_js_1.getGlobalObject)('globalContext.ts', getInitialGlobalContext());
40
41
  async function getGlobalContextInternal() {
@@ -78,8 +79,14 @@ async function getGlobalContextAsync(isProduction) {
78
79
  return globalContext_public;
79
80
  }
80
81
  function makePublic(globalContext) {
81
- // TODO/soon: add `pages`
82
- const globalContextPublic = (0, utils_js_1.makePublicCopy)(globalContext, 'globalContext', ['assetsManifest', 'config', 'viteConfig']);
82
+ const globalContextPublic = (0, utils_js_1.makePublicCopy)(globalContext, 'globalContext', [
83
+ 'assetsManifest',
84
+ 'config',
85
+ 'viteConfig',
86
+ 'pages',
87
+ 'baseServer',
88
+ 'baseAssets'
89
+ ]);
83
90
  return globalContextPublic;
84
91
  }
85
92
  async function setGlobalContext_viteDevServer(viteDevServer) {
@@ -183,7 +190,7 @@ function setIsProduction(isProduction) {
183
190
  globalObject.isProduction = isProduction;
184
191
  }
185
192
  function defineGlobalContext() {
186
- const globalContext = assembleGlobalContext();
193
+ const globalContext = resolveGlobalContext();
187
194
  assertIsDefined(globalContext);
188
195
  const globalContext_public = makePublic(globalContext);
189
196
  (0, utils_js_1.objectAssign)(globalContext, { globalContext_public });
@@ -192,7 +199,7 @@ function defineGlobalContext() {
192
199
  assertGlobalContextIsDefined();
193
200
  (0, utils_js_1.onSetupRuntime)();
194
201
  }
195
- function assembleGlobalContext() {
202
+ function resolveGlobalContext() {
196
203
  const { viteDevServer, viteConfig, isPrerendering, isProduction, userFiles } = globalObject;
197
204
  (0, utils_js_1.assert)(typeof isProduction === 'boolean');
198
205
  let globalContext;
@@ -211,7 +218,8 @@ function assembleGlobalContext() {
211
218
  viteDevServer,
212
219
  viteConfig,
213
220
  ...userFiles,
214
- viteConfigRuntime
221
+ viteConfigRuntime,
222
+ ...resolveBaseRuntime(viteConfigRuntime, userFiles.config)
215
223
  };
216
224
  }
217
225
  else {
@@ -228,7 +236,8 @@ function assembleGlobalContext() {
228
236
  ...userFiles,
229
237
  viteDevServer: null,
230
238
  viteConfigRuntime: buildInfo.viteConfigRuntime,
231
- usesClientRouter: buildInfo.usesClientRouter
239
+ usesClientRouter: buildInfo.usesClientRouter,
240
+ ...resolveBaseRuntime(buildInfo.viteConfigRuntime, userFiles.config)
232
241
  };
233
242
  if (isPrerendering) {
234
243
  (0, utils_js_1.assert)(viteConfig);
@@ -253,7 +262,7 @@ async function getUserFiles() {
253
262
  const globalObject_ = globalObject;
254
263
  const { pageConfigsRuntime } = globalObject_;
255
264
  (0, utils_js_1.assert)(pageConfigsRuntime);
256
- const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, globalConfig } = pageConfigsRuntime;
265
+ const { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, globalConfig, pageConfigsUserFriendly } = pageConfigsRuntime;
257
266
  const { pageRoutes, onBeforeRouteHook } = await (0, loadPageRoutes_js_1.loadPageRoutes)(pageFilesAll, pageConfigs, pageConfigGlobal, allPageIds);
258
267
  const userFiles = {
259
268
  pageFilesAll,
@@ -262,6 +271,7 @@ async function getUserFiles() {
262
271
  allPageIds,
263
272
  pageRoutes,
264
273
  onBeforeRouteHook,
274
+ pages: pageConfigsUserFriendly,
265
275
  config: globalConfig.config
266
276
  };
267
277
  (0, assertV1Design_js_1.assertV1Design)(
@@ -396,3 +406,9 @@ function getInitialGlobalContext() {
396
406
  viteDevServerPromiseResolve
397
407
  };
398
408
  }
409
+ function resolveBaseRuntime(viteConfigRuntime, config) {
410
+ const baseViteOriginal = viteConfigRuntime._baseViteOriginal;
411
+ const baseServerUnresolved = config.baseServer ?? null;
412
+ const baseAssetsUnresolved = config.baseAssets ?? null;
413
+ return (0, resolveBase_js_1.resolveBase)(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved);
414
+ }
@@ -14,7 +14,7 @@ async function loadUserFilesServerSide(pageContext) {
14
14
  const pageConfig = (0, findPageConfig_js_1.findPageConfig)(pageContext._pageConfigs, pageContext.pageId); // Make pageConfig globally available as pageContext._pageConfig?
15
15
  const globalContext = pageContext._globalContext;
16
16
  const [{ pageFilesLoaded, pageContextExports }] = await Promise.all([
17
- loadPageUserFiles(pageContext._pageFilesAll, pageConfig, pageContext.pageId, !globalContext.isProduction),
17
+ loadPageUserFiles(pageContext._pageFilesAll, pageConfig, globalContext.pageConfigGlobal, pageContext.pageId, !globalContext.isProduction),
18
18
  (0, analyzePageClientSide_js_1.analyzePageClientSideInit)(pageContext._pageFilesAll, pageContext.pageId, { sharedPageFilesAlreadyLoaded: true })
19
19
  ]);
20
20
  const { isHtmlOnly, isClientRouting, clientEntries, clientDependencies, pageFilesClientSide, pageFilesServerSide } = await (0, analyzePage_js_1.analyzePage)(pageContext._pageFilesAll, pageConfig, pageContext.pageId, globalContext);
@@ -98,11 +98,11 @@ async function loadUserFilesServerSide(pageContext) {
98
98
  }
99
99
  return pageContextAddendum;
100
100
  }
101
- async function loadPageUserFiles(pageFilesAll, pageConfig, pageId, isDev) {
101
+ async function loadPageUserFiles(pageFilesAll, pageConfig, pageConfigGlobal, pageId, isDev) {
102
102
  const pageFilesServerSide = (0, getPageFiles_js_1.getPageFilesServerSide)(pageFilesAll, pageId);
103
103
  const pageConfigLoaded = !pageConfig ? null : await (0, loadConfigValues_js_1.loadConfigValues)(pageConfig, isDev);
104
104
  await Promise.all(pageFilesServerSide.map((p) => p.loadFile?.()));
105
- const pageContextExports = (0, getPageConfigUserFriendly_js_1.getPageConfigUserFriendlyOld)(pageFilesServerSide, pageConfigLoaded);
105
+ const pageContextExports = (0, getPageConfigUserFriendly_js_1.getPageConfigUserFriendlyOld)(pageFilesServerSide, pageConfigLoaded, pageConfigGlobal);
106
106
  return {
107
107
  pageContextExports,
108
108
  pageFilesLoaded: pageFilesServerSide
@@ -22,7 +22,6 @@ const preparePageContextForUserConsumptionServerSide_js_1 = require("./preparePa
22
22
  const executeGuardHook_js_1 = require("../../../shared/route/executeGuardHook.js");
23
23
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
24
24
  const isServerSideError_js_1 = require("../../../shared/misc/isServerSideError.js");
25
- const resolveBase_js_1 = require("../../shared/resolveBase.js");
26
25
  async function renderPageAlreadyRouted(pageContext) {
27
26
  // pageContext.pageId can either be the:
28
27
  // - ID of the page matching the routing, or the
@@ -117,14 +116,13 @@ async function getPageContextInitEnhanced(pageContextInit, globalContext, { ssr:
117
116
  isClientSideNavigation: false
118
117
  } } = {}) {
119
118
  (0, utils_js_1.assert)(pageContextInit.urlOriginal);
120
- const { baseServer, baseAssets } = (0, resolveBase_js_1.resolveBaseRuntime)(globalContext);
121
119
  const pageContextInitEnhanced = {};
122
120
  (0, utils_js_1.objectAssign)(pageContextInitEnhanced, pageContextInit);
123
121
  (0, utils_js_1.objectAssign)(pageContextInitEnhanced, {
124
122
  _objectCreatedByVike: true,
125
123
  // The following is defined on `pageContext` because we can eventually make these non-global
126
- _baseServer: baseServer,
127
- _baseAssets: baseAssets,
124
+ _baseServer: globalContext.baseServer,
125
+ _baseAssets: globalContext.baseAssets,
128
126
  // TODO/now: add meta.default
129
127
  _includeAssetsImportedByServer: globalContext.config.includeAssetsImportedByServer ?? true,
130
128
  // TODO/soon: use GloablContext instead
@@ -23,7 +23,6 @@ const error_page_js_1 = require("../../shared/error-page.js");
23
23
  const handleErrorWithoutErrorPage_js_1 = require("./renderPage/handleErrorWithoutErrorPage.js");
24
24
  const loadUserFilesServerSide_js_1 = require("./renderPage/loadUserFilesServerSide.js");
25
25
  const resolveRedirects_js_1 = require("./renderPage/resolveRedirects.js");
26
- const resolveBase_js_1 = require("../shared/resolveBase.js");
27
26
  const globalObject = (0, utils_js_1.getGlobalObject)('runtime/renderPage.ts', {
28
27
  httpRequestsCount: 0
29
28
  });
@@ -343,7 +342,6 @@ function assertIsNotViteRequest(urlPathname, urlOriginal) {
343
342
  (0, utils_js_1.assertUsage)(false, `${picocolors_1.default.code('renderPage(pageContextInit)')} called with ${picocolors_1.default.code(`pageContextInit.urlOriginal===${JSON.stringify(urlOriginal)}`)} which is unexpected because the URL ${picocolors_1.default.bold(urlOriginal)} should have already been handled by the development middleware: make sure the ${picocolors_1.default.cyan('createDevMiddleware()')} middleware is executed *before* the ${picocolors_1.default.cyan('renderPage()')} middleware, see ${picocolors_1.default.underline('https://vike.dev/renderPage')}`);
344
343
  }
345
344
  async function normalizeUrl(pageContextInit, globalContext, httpRequestId) {
346
- const { baseServer } = (0, resolveBase_js_1.resolveBaseRuntime)(globalContext);
347
345
  const { trailingSlash, disableUrlNormalization } = globalContext.config;
348
346
  if (disableUrlNormalization)
349
347
  return null;
@@ -351,7 +349,7 @@ async function normalizeUrl(pageContextInit, globalContext, httpRequestId) {
351
349
  const { isPageContextRequest } = (0, handlePageContextRequestUrl_js_1.handlePageContextRequestUrl)(urlOriginal);
352
350
  if (isPageContextRequest)
353
351
  return null;
354
- const urlNormalized = (0, utils_js_1.normalizeUrlPathname)(urlOriginal, trailingSlash ?? false, baseServer);
352
+ const urlNormalized = (0, utils_js_1.normalizeUrlPathname)(urlOriginal, trailingSlash ?? false, globalContext.baseServer);
355
353
  if (!urlNormalized)
356
354
  return null;
357
355
  (0, loggerRuntime_js_1.logRuntimeInfo)?.(`URL normalized from ${picocolors_1.default.cyan(urlOriginal)} to ${picocolors_1.default.cyan(urlNormalized)} (https://vike.dev/url-normalization)`, httpRequestId, 'info');
@@ -361,8 +359,7 @@ async function normalizeUrl(pageContextInit, globalContext, httpRequestId) {
361
359
  return pageContextHttpResponse;
362
360
  }
363
361
  async function getPermanentRedirect(pageContextInit, globalContext, httpRequestId) {
364
- const { baseServer } = (0, resolveBase_js_1.resolveBaseRuntime)(globalContext);
365
- const urlWithoutBase = (0, utils_js_1.removeBaseServer)(pageContextInit.urlOriginal, baseServer);
362
+ const urlWithoutBase = (0, utils_js_1.removeBaseServer)(pageContextInit.urlOriginal, globalContext.baseServer);
366
363
  let origin = null;
367
364
  let urlTargetExternal = null;
368
365
  let urlTarget = (0, utils_js_1.modifyUrlPathname)(urlWithoutBase, (urlPathname) => {
@@ -393,9 +390,8 @@ async function getPermanentRedirect(pageContextInit, globalContext, httpRequestI
393
390
  }
394
391
  if (normalize(urlTarget) === normalize(urlWithoutBase))
395
392
  return null;
396
- const { baseServer } = (0, resolveBase_js_1.resolveBaseRuntime)(globalContext);
397
393
  if (!originChanged)
398
- urlTarget = (0, utils_js_1.prependBase)(urlTarget, baseServer);
394
+ urlTarget = (0, utils_js_1.prependBase)(urlTarget, globalContext.baseServer);
399
395
  (0, utils_js_1.assert)(urlTarget !== pageContextInit.urlOriginal);
400
396
  }
401
397
  (0, loggerRuntime_js_1.logRuntimeInfo)?.(`Permanent redirection defined by config.redirects (https://vike.dev/redirects)`, httpRequestId, 'info');
@@ -459,7 +455,7 @@ pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit, globalConte
459
455
  return { pageContextAbort };
460
456
  }
461
457
  async function assertBaseUrl(pageContextInit, globalContext) {
462
- const { baseServer } = (0, resolveBase_js_1.resolveBaseRuntime)(globalContext);
458
+ const { baseServer } = globalContext;
463
459
  const { urlOriginal } = pageContextInit;
464
460
  const { urlWithoutPageContextRequestSuffix } = (0, handlePageContextRequestUrl_js_1.handlePageContextRequestUrl)(urlOriginal);
465
461
  const { hasBaseServer } = (0, utils_js_1.parseUrl)(urlWithoutPageContextRequestSuffix, baseServer);
@@ -11,7 +11,7 @@ const globalContext_js_1 = require("../runtime/globalContext.js");
11
11
  */
12
12
  async function createDevMiddleware(options = {}) {
13
13
  (0, globalContext_js_1.setGlobalContext_isProduction)(false);
14
- const viteConfig = {
14
+ const viteConfigFromOptions = {
15
15
  ...options.viteConfig,
16
16
  server: {
17
17
  ...options.viteConfig?.server,
@@ -19,8 +19,8 @@ async function createDevMiddleware(options = {}) {
19
19
  }
20
20
  };
21
21
  if (options.root)
22
- viteConfig.root = options.root;
23
- const { viteConfigEnhanced } = await (0, prepareViteApiCall_js_1.prepareViteApiCall)(viteConfig, 'dev');
22
+ viteConfigFromOptions.root = options.root;
23
+ const { viteConfigEnhanced } = await (0, prepareViteApiCall_js_1.prepareViteApiCall)(viteConfigFromOptions, 'dev');
24
24
  const server = await (0, vite_1.createServer)(viteConfigEnhanced);
25
25
  const devMiddleware = server.middlewares;
26
26
  return { devMiddleware, viteServer: server, viteConfig: server.config };
@@ -4,21 +4,8 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.resolveBase = resolveBase;
7
- exports.resolveBaseRuntime = resolveBaseRuntime;
8
- exports.resolveBaseFromResolvedConfig = resolveBaseFromResolvedConfig;
9
7
  const utils_js_1 = require("./utils.js");
10
8
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
11
- function resolveBaseFromResolvedConfig(baseServer, baseAssets, config) {
12
- let baseViteOriginal = config._baseViteOriginal;
13
- (0, utils_js_1.assert)(baseViteOriginal === null || typeof baseViteOriginal == 'string');
14
- return resolveBase(baseViteOriginal, baseServer, baseAssets);
15
- }
16
- function resolveBaseRuntime(globalContext) {
17
- const baseViteOriginal = globalContext.viteConfigRuntime._baseViteOriginal;
18
- const baseServerUnresolved = globalContext.config.baseServer ?? null;
19
- const baseAssetsUnresolved = globalContext.config.baseAssets ?? null;
20
- return resolveBase(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved);
21
- }
22
9
  function resolveBase(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved) {
23
10
  if (baseViteOriginal === '/__UNSET__')
24
11
  baseViteOriginal = null;
@@ -10,7 +10,16 @@ function getPageConfigsRuntime(virtualFileExports) {
10
10
  const allPageIds = getAllPageIds(pageFilesAll, pageConfigs);
11
11
  // TODO/now: re-use this call, instead of calling it twice
12
12
  const globalConfig = (0, getPageConfigUserFriendly_js_1.getPageConfigUserFriendlyNew)(pageConfigGlobal);
13
- return { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, globalConfig };
13
+ // TODO/now DEDUPE
14
+ const pageConfigsUserFriendly = Object.fromEntries(pageConfigs.map((pageConfig) => {
15
+ const configValues = { ...pageConfigGlobal.configValues, ...pageConfig.configValues };
16
+ const page = {
17
+ ...(0, getPageConfigUserFriendly_js_1.getPageConfigUserFriendlyNew)({ configValues }),
18
+ route: pageConfig.routeFilesystem?.routeString ?? null
19
+ };
20
+ return [pageConfig.pageId, page];
21
+ }));
22
+ return { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, globalConfig, pageConfigsUserFriendly };
14
23
  }
15
24
  function getAllPageIds(pageFilesAll, pageConfigs) {
16
25
  const fileIds = pageFilesAll.filter(({ isDefaultPageFile }) => !isDefaultPageFile).map(({ pageId }) => pageId);
@@ -19,7 +19,7 @@ function getPageConfigUserFriendlyNew(pageConfig) {
19
19
  _from: res.from
20
20
  };
21
21
  }
22
- function getPageConfigUserFriendlyOld(pageFiles, pageConfig) {
22
+ function getPageConfigUserFriendlyOld(pageFiles, pageConfig, pageConfigGlobal) {
23
23
  const config = {};
24
24
  const configEntries = {}; // TODO/v1-release: remove
25
25
  const exportsAll = {}; // TODO/v1-release: remove
@@ -44,7 +44,9 @@ function getPageConfigUserFriendlyOld(pageFiles, pageConfig) {
44
44
  let sources;
45
45
  let from;
46
46
  if (pageConfig) {
47
- const res = getPageConfigUserFriendlyV1Desin(pageConfig);
47
+ const res = getPageConfigUserFriendlyV1Desin({
48
+ configValues: { ...pageConfigGlobal.configValues, ...pageConfig.configValues }
49
+ });
48
50
  source = res.source;
49
51
  sources = res.sources;
50
52
  from = res.from;
@@ -10,7 +10,7 @@ const getConfigDefinedAt_js_1 = require("../page-configs/getConfigDefinedAt.js")
10
10
  const resolveRouteFunction_js_1 = require("./resolveRouteFunction.js");
11
11
  const getHook_js_1 = require("../hooks/getHook.js");
12
12
  async function loadPageRoutes(
13
- // Remove all arguments and use GlobalContext instead?
13
+ // Remove all arguments and use GlobalContextInternal instead?
14
14
  pageFilesAll, pageConfigs, pageConfigGlobal, allPageIds) {
15
15
  // TODO/next-major: remove & make this function sync
16
16
  await Promise.all(pageFilesAll.filter((p) => p.fileType === '.page.route').map((p) => p.loadFile?.()));
@@ -2,4 +2,4 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PROJECT_VERSION = void 0;
4
4
  // Automatically updated by @brillout/release-me
5
- exports.PROJECT_VERSION = '0.4.221';
5
+ exports.PROJECT_VERSION = '0.4.222-commit-207e079';
@@ -27,7 +27,7 @@ function assertSingleInstance() {
27
27
  const versions = (0, unique_js_1.unique)(globalObject.instances);
28
28
  assertUsage(versions.length <= 1,
29
29
  // DO *NOT* patch vike to remove this error: because of multiple conflicting versions, you *will* eventually encounter insidious issues that hard to debug and potentially a security hazard, see for example https://github.com/vikejs/vike/issues/1108
30
- `vike@${picocolors_1.default.bold(versions[0])} and vike@${picocolors_1.default.bold(versions[1])} loaded but only one version should be loaded`);
30
+ `vike@${picocolors_1.default.bold(versions[0])} and vike@${picocolors_1.default.bold(versions[1])} loaded but it's forbidden to load different versions`);
31
31
  }
32
32
  if (globalObject.checkSingleInstance && globalObject.instances.length > 1) {
33
33
  /*/ Not sure whether circular dependency can cause problems? In principle not since client-side code is ESM.
@@ -17,7 +17,9 @@ const isArray_js_1 = require("./isArray.js");
17
17
  (0, assert_js_1.assert)(!(0, isBrowser_js_1.isBrowser)());
18
18
  globalThis.__brillout_debug_createDebugger = createDebugger;
19
19
  const flags = [
20
+ 'vike:crawl',
20
21
  'vike:error',
22
+ 'vike:esbuild-resolve',
21
23
  'vike:extractAssets',
22
24
  'vike:extractExportNames',
23
25
  'vike:glob',
@@ -30,9 +32,9 @@ const flags = [
30
32
  'vike:routing',
31
33
  'vike:setup',
32
34
  'vike:stream',
33
- 'vike:virtual-files',
34
- 'vike:esbuild-resolve'
35
+ 'vike:virtual-files'
35
36
  ];
37
+ const flagsSkipWildcard = ['vike:log'];
36
38
  const flagRegex = /\bvike:[a-zA-Z-]+/g;
37
39
  assertFlagsActivated();
38
40
  function createDebugger(flag, optionsGlobal) {
@@ -77,8 +79,8 @@ function debug_(flag, options, ...msgs) {
77
79
  function isDebugActivated(flag) {
78
80
  (0, checkType_js_1.checkType)(flag);
79
81
  (0, assert_js_1.assert)(flags.includes(flag));
80
- const flagsActivated = getFlagsActivated();
81
- const isActivated = flagsActivated.includes(flag);
82
+ const { flagsActivated, all } = getFlagsActivated();
83
+ const isActivated = flagsActivated.includes(flag) || (all && !flagsSkipWildcard.includes(flag));
82
84
  return isActivated;
83
85
  }
84
86
  function formatMsg(info, options, padding, position) {
@@ -142,7 +144,7 @@ function replaceFunctionSerializer(_key, value) {
142
144
  return value;
143
145
  }
144
146
  function assertFlagsActivated() {
145
- const flagsActivated = getFlagsActivated();
147
+ const { flagsActivated } = getFlagsActivated();
146
148
  flagsActivated.forEach((flag) => {
147
149
  (0, assert_js_1.assertUsage)(flags.includes(flag), `Unknown DEBUG flag ${picocolors_1.default.cyan(flag)}. Valid flags:\n${flags.map((f) => ` ${picocolors_1.default.cyan(f)}`).join('\n')}`);
148
150
  });
@@ -150,7 +152,8 @@ function assertFlagsActivated() {
150
152
  function getFlagsActivated() {
151
153
  const DEBUG = getDEBUG() ?? '';
152
154
  const flagsActivated = DEBUG.match(flagRegex) ?? [];
153
- return flagsActivated;
155
+ const all = DEBUG.includes('vike:*');
156
+ return { flagsActivated, all };
154
157
  }
155
158
  function getDEBUG() {
156
159
  let DEBUG;
@@ -45,7 +45,7 @@ function getPageContextPrefetched(pageContext) {
45
45
  }
46
46
  async function prefetchAssets(pageContextLink) {
47
47
  try {
48
- await loadUserFilesClientSide(pageContextLink.pageId, pageContextLink._pageFilesAll, pageContextLink._pageConfigs);
48
+ await loadUserFilesClientSide(pageContextLink.pageId, pageContextLink._pageFilesAll, pageContextLink._pageConfigs, pageContextLink._pageConfigGlobal);
49
49
  }
50
50
  catch (err) {
51
51
  if (isErrorFetchingStaticAssets(err)) {
@@ -17,5 +17,10 @@ type RenderArgs = {
17
17
  pageContextInitClient?: Record<string, unknown>;
18
18
  };
19
19
  declare function renderPageClientSide(renderArgs: RenderArgs): Promise<void>;
20
+ declare global {
21
+ var _vike: {
22
+ fullyRenderedUrl?: string;
23
+ };
24
+ }
20
25
  declare function disableClientRouting(err: unknown, log: boolean): void;
21
26
  declare function getRenderCount(): number;
@@ -131,7 +131,7 @@ async function renderPageClientSide(renderArgs) {
131
131
  objectAssign(pageContext, pageContextFromRoute);
132
132
  }
133
133
  try {
134
- objectAssign(pageContext, await loadUserFilesClientSide(pageContext.pageId, pageContext._pageFilesAll, pageContext._pageConfigs));
134
+ objectAssign(pageContext, await loadUserFilesClientSide(pageContext.pageId, pageContext._pageFilesAll, pageContext._pageConfigs, pageContext._pageConfigGlobal));
135
135
  }
136
136
  catch (err) {
137
137
  if (handleErrorFetchingStaticAssets(err, pageContext, isFirstRender)) {
@@ -336,7 +336,7 @@ async function renderPageClientSide(renderArgs) {
336
336
  return;
337
337
  }
338
338
  try {
339
- objectAssign(pageContext, await loadUserFilesClientSide(pageContext.pageId, pageContext._pageFilesAll, pageContext._pageConfigs));
339
+ objectAssign(pageContext, await loadUserFilesClientSide(pageContext.pageId, pageContext._pageFilesAll, pageContext._pageConfigs, pageContext._pageConfigGlobal));
340
340
  }
341
341
  catch (err) {
342
342
  if (handleErrorFetchingStaticAssets(err, pageContext, isFirstRender)) {
@@ -484,8 +484,15 @@ async function renderPageClientSide(renderArgs) {
484
484
  // Add link prefetch handlers
485
485
  addLinkPrefetchHandlers_watch();
486
486
  addLinkPrefetchHandlers();
487
+ stampFinished(urlOriginal);
487
488
  }
488
489
  }
490
+ // For Vike tests (but also potentially for Vike users)
491
+ // https://github.com/vikejs/vike/blob/ffbc5cf16407bcc075f414447e50d997c87c0c94/test/playground/pages/nested-layout/e2e-test.ts#L59
492
+ function stampFinished(urlOriginal) {
493
+ window._vike ?? (window._vike = {});
494
+ window._vike.fullyRenderedUrl = urlOriginal;
495
+ }
489
496
  function changeUrl(url, overwriteLastHistoryEntry) {
490
497
  if (getCurrentUrl() === url)
491
498
  return;
@@ -10,6 +10,7 @@ declare function getPageContext(): Promise<{
10
10
  } & {
11
11
  _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
12
12
  _pageConfigs: import("../../__internal/index.js").PageConfig[];
13
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
13
14
  } & import("../../shared/getPageFiles.js").PageConfigUserFriendly & {
14
15
  _pageFilesLoaded: import("../../shared/getPageFiles.js").PageFile[];
15
16
  }>;
@@ -6,7 +6,7 @@ import { getCurrentUrl } from '../shared/getCurrentUrl.js';
6
6
  import { getPageConfigsRuntime } from '../../shared/getPageConfigsRuntime.js';
7
7
  // @ts-ignore
8
8
  import * as virtualFileExports from 'virtual:vike:importUserCode:client:server-routing';
9
- const { pageFilesAll, pageConfigs } = getPageConfigsRuntime(virtualFileExports);
9
+ const { pageFilesAll, pageConfigs, pageConfigGlobal } = getPageConfigsRuntime(virtualFileExports);
10
10
  const urlFirst = getCurrentUrl({ withoutHash: true });
11
11
  async function getPageContext() {
12
12
  const pageContext = getPageContextSerializedInHtml();
@@ -28,9 +28,10 @@ async function loadPageUserFiles(pageId) {
28
28
  const pageContextAddendum = {};
29
29
  objectAssign(pageContextAddendum, {
30
30
  _pageFilesAll: pageFilesAll,
31
- _pageConfigs: pageConfigs
31
+ _pageConfigs: pageConfigs,
32
+ _pageConfigGlobal: pageConfigGlobal
32
33
  });
33
- objectAssign(pageContextAddendum, await loadUserFilesClientSide(pageId, pageContextAddendum._pageFilesAll, pageContextAddendum._pageConfigs));
34
+ objectAssign(pageContextAddendum, await loadUserFilesClientSide(pageId, pageContextAddendum._pageFilesAll, pageContextAddendum._pageConfigs, pageContextAddendum._pageConfigGlobal));
34
35
  pageFilesAll
35
36
  .filter((p) => p.fileType !== '.page.server')
36
37
  .forEach((p) => {
@@ -2,13 +2,14 @@ export { loadUserFilesClientSide };
2
2
  export { isErrorFetchingStaticAssets };
3
3
  export type { PageContextUserFiles };
4
4
  import { type PageFile, type PageConfigUserFriendly } from '../../shared/getPageFiles.js';
5
- import type { PageConfigRuntime } from '../../shared/page-configs/PageConfig.js';
5
+ import type { PageConfigGlobalRuntime, PageConfigRuntime } from '../../shared/page-configs/PageConfig.js';
6
6
  type PageContextUserFilesLoaded = PageConfigUserFriendly & {
7
7
  _pageFilesLoaded: PageFile[];
8
8
  };
9
9
  type PageContextUserFiles = {
10
10
  _pageFilesAll: PageFile[];
11
11
  _pageConfigs: PageConfigRuntime[];
12
+ _pageConfigGlobal: PageConfigGlobalRuntime;
12
13
  };
13
- declare function loadUserFilesClientSide(pageId: string, pageFilesAll: PageFile[], pageConfigs: PageConfigRuntime[]): Promise<PageContextUserFilesLoaded>;
14
+ declare function loadUserFilesClientSide(pageId: string, pageFilesAll: PageFile[], pageConfigs: PageConfigRuntime[], pageConfigGlobal: PageConfigGlobalRuntime): Promise<PageContextUserFilesLoaded>;
14
15
  declare function isErrorFetchingStaticAssets(err: unknown): boolean;