vike 0.4.222-commit-6647d1e → 0.4.222

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 (64) hide show
  1. package/dist/cjs/node/plugin/index.js +1 -1
  2. package/dist/cjs/node/plugin/plugins/baseUrls.js +1 -6
  3. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +14 -7
  4. package/dist/cjs/node/runtime/globalContext.js +6 -17
  5. package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
  6. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +4 -2
  7. package/dist/cjs/node/runtime/renderPage.js +8 -4
  8. package/dist/cjs/node/shared/resolveBase.js +13 -0
  9. package/dist/cjs/shared/getPageConfigsRuntime.js +8 -2
  10. package/dist/cjs/shared/page-configs/getPageConfigUserFriendly.js +12 -44
  11. package/dist/cjs/shared/page-configs/serialize/parsePageConfigs.js +8 -2
  12. package/dist/cjs/shared/route/loadPageRoutes.js +1 -1
  13. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  14. package/dist/cjs/utils/assertSingleInstance.js +1 -1
  15. package/dist/esm/client/client-routing-runtime/getPageContextCurrent.d.ts +2 -2
  16. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.d.ts +4 -4
  17. package/dist/esm/client/client-routing-runtime/prefetch/getPrefetchSettings.d.ts +2 -2
  18. package/dist/esm/client/client-routing-runtime/prefetch.d.ts +2 -2
  19. package/dist/esm/client/client-routing-runtime/prefetch.js +2 -2
  20. package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +1 -1
  21. package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +1 -1
  22. package/dist/esm/client/shared/executeOnRenderClientHook.d.ts +2 -2
  23. package/dist/esm/client/shared/loadUserFilesClientSide.d.ts +2 -2
  24. package/dist/esm/client/shared/loadUserFilesClientSide.js +2 -2
  25. package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.d.ts +2 -2
  26. package/dist/esm/node/plugin/index.d.ts +1 -4
  27. package/dist/esm/node/plugin/index.js +1 -1
  28. package/dist/esm/node/plugin/plugins/baseUrls.js +1 -6
  29. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +2 -2
  30. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +15 -8
  31. package/dist/esm/node/runtime/globalContext.d.ts +8 -9
  32. package/dist/esm/node/runtime/globalContext.js +6 -17
  33. package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.d.ts +2 -2
  34. package/dist/esm/node/runtime/html/injectAssets.d.ts +2 -2
  35. package/dist/esm/node/runtime/renderPage/analyzePage.d.ts +2 -2
  36. package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.d.ts +2 -2
  37. package/dist/esm/node/runtime/renderPage/getPageAssets.d.ts +2 -2
  38. package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +2 -2
  39. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +3 -3
  40. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +2 -2
  41. package/dist/esm/node/runtime/renderPage/log404/index.d.ts +2 -2
  42. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +4 -4
  43. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +12 -12
  44. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +4 -2
  45. package/dist/esm/node/runtime/renderPage.js +8 -4
  46. package/dist/esm/node/shared/resolveBase.d.ts +9 -1
  47. package/dist/esm/node/shared/resolveBase.js +13 -0
  48. package/dist/esm/shared/getPageConfigsRuntime.d.ts +2 -2
  49. package/dist/esm/shared/getPageConfigsRuntime.js +9 -3
  50. package/dist/esm/shared/getPageFiles.d.ts +1 -1
  51. package/dist/esm/shared/hooks/getHook.d.ts +3 -3
  52. package/dist/esm/shared/page-configs/Config.d.ts +1 -3
  53. package/dist/esm/shared/page-configs/PageConfig.d.ts +2 -9
  54. package/dist/esm/shared/page-configs/getPageConfigUserFriendly.d.ts +16 -24
  55. package/dist/esm/shared/page-configs/getPageConfigUserFriendly.js +12 -44
  56. package/dist/esm/shared/page-configs/serialize/PageConfigSerialized.d.ts +2 -3
  57. package/dist/esm/shared/page-configs/serialize/parsePageConfigs.js +8 -2
  58. package/dist/esm/shared/route/executeGuardHook.d.ts +2 -2
  59. package/dist/esm/shared/route/loadPageRoutes.js +1 -1
  60. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  61. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  62. package/dist/esm/utils/assertSingleInstance.js +1 -1
  63. package/dist/esm/utils/projectInfo.d.ts +1 -1
  64. package/package.json +1 -1
@@ -35,7 +35,7 @@ const workaroundVite6HmrRegression_js_1 = require("./plugins/workaroundVite6HmrR
35
35
  const buildApp_js_1 = require("./plugins/buildApp.js");
36
36
  // We don't call this in ./onLoad.ts to avoid a cyclic dependency with utils.ts
37
37
  (0, getPageAssets_js_1.setResolveClientEntriesDev)(resolveClientEntriesDev_js_1.resolveClientEntriesDev);
38
- // Return `PluginInterop` instead of `Plugin` to avoid type mismatch upon different Vite versions
38
+ // Return as `any` to avoid Plugin type mismatches when there are multiple Vite versions installed
39
39
  function plugin(vikeVitePluginOptions = {}) {
40
40
  const plugins = [
41
41
  ...(0, commonConfig_js_1.commonConfig)(vikeVitePluginOptions),
@@ -29,7 +29,7 @@ function baseUrls() {
29
29
  },
30
30
  async configResolved(config) {
31
31
  const vikeConfig = await (0, getVikeConfig_js_1.getVikeConfig)(config);
32
- const basesResolved2 = resolveBaseFromResolvedConfig(vikeConfig.global.config.baseServer ?? null, vikeConfig.global.config.baseAssets ?? null, config);
32
+ const basesResolved2 = (0, resolveBase_js_1.resolveBaseFromResolvedConfig)(vikeConfig.global.config.baseServer ?? null, vikeConfig.global.config.baseAssets ?? null, config);
33
33
  (0, utils_js_1.assert)(basesResolved2.baseServer === basesResolved.baseServer);
34
34
  (0, utils_js_1.assert)(basesResolved2.baseAssets === basesResolved.baseAssets);
35
35
  /* In dev, Vite seems buggy around setting vite.config.js#base to an absolute URL (e.g. http://localhost:8080/cdn/)
@@ -40,8 +40,3 @@ function baseUrls() {
40
40
  }
41
41
  };
42
42
  }
43
- function resolveBaseFromResolvedConfig(baseServer, baseAssets, config) {
44
- let baseViteOriginal = config._baseViteOriginal;
45
- (0, utils_js_1.assert)(baseViteOriginal === null || typeof baseViteOriginal == 'string');
46
- return (0, resolveBase_js_1.resolveBase)(baseViteOriginal, baseServer, baseAssets);
47
- }
@@ -133,7 +133,7 @@ async function loadVikeConfig_withErrorHandling(userRootDir, isDev, vikeVitePlug
133
133
  configDefinitions: {},
134
134
  configValueSources: {}
135
135
  },
136
- global: (0, getPageConfigUserFriendly_js_1.getPageConfigGlobalUserFriendly)({ pageConfigGlobalValues: {} }),
136
+ global: (0, getPageConfigUserFriendly_js_1.getPageConfigUserFriendlyNew)({ configValues: {} }),
137
137
  pages: {}
138
138
  };
139
139
  return dummyData;
@@ -149,12 +149,18 @@ async function loadVikeConfig(userRootDir, vikeVitePluginOptions) {
149
149
  // interop vike(options) in vite.config.js
150
150
  temp_interopVikeVitePlugin(pageConfigGlobal, vikeVitePluginOptions, userRootDir);
151
151
  // global
152
- const pageConfigGlobalValues = getConfigValues(pageConfigGlobal);
153
- const global = (0, getPageConfigUserFriendly_js_1.getPageConfigGlobalUserFriendly)({ pageConfigGlobalValues });
152
+ const configValuesGlobal = getConfigValues(pageConfigGlobal);
153
+ const global = (0, getPageConfigUserFriendly_js_1.getPageConfigUserFriendlyNew)({ configValues: configValuesGlobal });
154
+ // TODO/now DEDUPE
154
155
  // pages
155
156
  const pages = (0, utils_js_1.objectFromEntries)(pageConfigs.map((pageConfig) => {
156
- const pageConfigValues = getConfigValues(pageConfig, true);
157
- return (0, getPageConfigUserFriendly_js_1.getPageConfigUserFriendly)(pageConfigGlobalValues, pageConfig, pageConfigValues);
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];
158
164
  }));
159
165
  return { pageConfigs, pageConfigGlobal, global, pages };
160
166
  }
@@ -219,12 +225,13 @@ function getPageConfigsBuildTime(configDefinitionsResolved, plusFilesAll, userRo
219
225
  return;
220
226
  configValueSources[configName] = sources;
221
227
  });
222
- const pageConfigRoute = determineRouteFilesystem(locationId, configValueSources);
228
+ const { routeFilesystem, isErrorPage } = determineRouteFilesystem(locationId, configValueSources);
223
229
  applyEffectsAll(configValueSources, configDefinitionsLocal);
224
230
  const configValuesComputed = getComputed(configValueSources, configDefinitionsLocal);
225
231
  const pageConfig = {
226
232
  pageId: locationId,
227
- ...pageConfigRoute,
233
+ isErrorPage,
234
+ routeFilesystem,
228
235
  configDefinitions: configDefinitionsLocal,
229
236
  plusFiles: plusFilesRelevant,
230
237
  configValueSources,
@@ -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 resolveGlobalContext()
24
+ // - globalObject.userFiles which is the main requirement for assembleGlobalContext()
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,7 +35,6 @@ 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");
39
38
  const debug = (0, utils_js_1.createDebugger)('vike:globalContext');
40
39
  const globalObject = (0, utils_js_1.getGlobalObject)('globalContext.ts', getInitialGlobalContext());
41
40
  async function getGlobalContextInternal() {
@@ -83,9 +82,7 @@ function makePublic(globalContext) {
83
82
  'assetsManifest',
84
83
  'config',
85
84
  'viteConfig',
86
- 'pages',
87
- 'baseServer',
88
- 'baseAssets'
85
+ 'pages'
89
86
  ]);
90
87
  return globalContextPublic;
91
88
  }
@@ -190,7 +187,7 @@ function setIsProduction(isProduction) {
190
187
  globalObject.isProduction = isProduction;
191
188
  }
192
189
  function defineGlobalContext() {
193
- const globalContext = resolveGlobalContext();
190
+ const globalContext = assembleGlobalContext();
194
191
  assertIsDefined(globalContext);
195
192
  const globalContext_public = makePublic(globalContext);
196
193
  (0, utils_js_1.objectAssign)(globalContext, { globalContext_public });
@@ -199,7 +196,7 @@ function defineGlobalContext() {
199
196
  assertGlobalContextIsDefined();
200
197
  (0, utils_js_1.onSetupRuntime)();
201
198
  }
202
- function resolveGlobalContext() {
199
+ function assembleGlobalContext() {
203
200
  const { viteDevServer, viteConfig, isPrerendering, isProduction, userFiles } = globalObject;
204
201
  (0, utils_js_1.assert)(typeof isProduction === 'boolean');
205
202
  let globalContext;
@@ -218,8 +215,7 @@ function resolveGlobalContext() {
218
215
  viteDevServer,
219
216
  viteConfig,
220
217
  ...userFiles,
221
- viteConfigRuntime,
222
- ...resolveBaseRuntime(viteConfigRuntime, userFiles.config)
218
+ viteConfigRuntime
223
219
  };
224
220
  }
225
221
  else {
@@ -236,8 +232,7 @@ function resolveGlobalContext() {
236
232
  ...userFiles,
237
233
  viteDevServer: null,
238
234
  viteConfigRuntime: buildInfo.viteConfigRuntime,
239
- usesClientRouter: buildInfo.usesClientRouter,
240
- ...resolveBaseRuntime(buildInfo.viteConfigRuntime, userFiles.config)
235
+ usesClientRouter: buildInfo.usesClientRouter
241
236
  };
242
237
  if (isPrerendering) {
243
238
  (0, utils_js_1.assert)(viteConfig);
@@ -406,9 +401,3 @@ function getInitialGlobalContext() {
406
401
  viteDevServerPromiseResolve
407
402
  };
408
403
  }
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
- }
@@ -102,7 +102,7 @@ async function loadPageUserFiles(pageFilesAll, pageConfig, pageConfigGlobal, pag
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.getPageConfigUserFriendly_oldDesign)(pageFilesServerSide, pageConfigLoaded, pageConfigGlobal);
105
+ const pageContextExports = (0, getPageConfigUserFriendly_js_1.getPageConfigUserFriendlyOld)(pageFilesServerSide, pageConfigLoaded, pageConfigGlobal);
106
106
  return {
107
107
  pageContextExports,
108
108
  pageFilesLoaded: pageFilesServerSide
@@ -22,6 +22,7 @@ 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");
25
26
  async function renderPageAlreadyRouted(pageContext) {
26
27
  // pageContext.pageId can either be the:
27
28
  // - ID of the page matching the routing, or the
@@ -116,13 +117,14 @@ async function getPageContextInitEnhanced(pageContextInit, globalContext, { ssr:
116
117
  isClientSideNavigation: false
117
118
  } } = {}) {
118
119
  (0, utils_js_1.assert)(pageContextInit.urlOriginal);
120
+ const { baseServer, baseAssets } = (0, resolveBase_js_1.resolveBaseRuntime)(globalContext);
119
121
  const pageContextInitEnhanced = {};
120
122
  (0, utils_js_1.objectAssign)(pageContextInitEnhanced, pageContextInit);
121
123
  (0, utils_js_1.objectAssign)(pageContextInitEnhanced, {
122
124
  _objectCreatedByVike: true,
123
125
  // The following is defined on `pageContext` because we can eventually make these non-global
124
- _baseServer: globalContext.baseServer,
125
- _baseAssets: globalContext.baseAssets,
126
+ _baseServer: baseServer,
127
+ _baseAssets: baseAssets,
126
128
  // TODO/now: add meta.default
127
129
  _includeAssetsImportedByServer: globalContext.config.includeAssetsImportedByServer ?? true,
128
130
  // TODO/soon: use GloablContext instead
@@ -23,6 +23,7 @@ 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");
26
27
  const globalObject = (0, utils_js_1.getGlobalObject)('runtime/renderPage.ts', {
27
28
  httpRequestsCount: 0
28
29
  });
@@ -342,6 +343,7 @@ function assertIsNotViteRequest(urlPathname, urlOriginal) {
342
343
  (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')}`);
343
344
  }
344
345
  async function normalizeUrl(pageContextInit, globalContext, httpRequestId) {
346
+ const { baseServer } = (0, resolveBase_js_1.resolveBaseRuntime)(globalContext);
345
347
  const { trailingSlash, disableUrlNormalization } = globalContext.config;
346
348
  if (disableUrlNormalization)
347
349
  return null;
@@ -349,7 +351,7 @@ async function normalizeUrl(pageContextInit, globalContext, httpRequestId) {
349
351
  const { isPageContextRequest } = (0, handlePageContextRequestUrl_js_1.handlePageContextRequestUrl)(urlOriginal);
350
352
  if (isPageContextRequest)
351
353
  return null;
352
- const urlNormalized = (0, utils_js_1.normalizeUrlPathname)(urlOriginal, trailingSlash ?? false, globalContext.baseServer);
354
+ const urlNormalized = (0, utils_js_1.normalizeUrlPathname)(urlOriginal, trailingSlash ?? false, baseServer);
353
355
  if (!urlNormalized)
354
356
  return null;
355
357
  (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');
@@ -359,7 +361,8 @@ async function normalizeUrl(pageContextInit, globalContext, httpRequestId) {
359
361
  return pageContextHttpResponse;
360
362
  }
361
363
  async function getPermanentRedirect(pageContextInit, globalContext, httpRequestId) {
362
- const urlWithoutBase = (0, utils_js_1.removeBaseServer)(pageContextInit.urlOriginal, globalContext.baseServer);
364
+ const { baseServer } = (0, resolveBase_js_1.resolveBaseRuntime)(globalContext);
365
+ const urlWithoutBase = (0, utils_js_1.removeBaseServer)(pageContextInit.urlOriginal, baseServer);
363
366
  let origin = null;
364
367
  let urlTargetExternal = null;
365
368
  let urlTarget = (0, utils_js_1.modifyUrlPathname)(urlWithoutBase, (urlPathname) => {
@@ -390,8 +393,9 @@ async function getPermanentRedirect(pageContextInit, globalContext, httpRequestI
390
393
  }
391
394
  if (normalize(urlTarget) === normalize(urlWithoutBase))
392
395
  return null;
396
+ const { baseServer } = (0, resolveBase_js_1.resolveBaseRuntime)(globalContext);
393
397
  if (!originChanged)
394
- urlTarget = (0, utils_js_1.prependBase)(urlTarget, globalContext.baseServer);
398
+ urlTarget = (0, utils_js_1.prependBase)(urlTarget, baseServer);
395
399
  (0, utils_js_1.assert)(urlTarget !== pageContextInit.urlOriginal);
396
400
  }
397
401
  (0, loggerRuntime_js_1.logRuntimeInfo)?.(`Permanent redirection defined by config.redirects (https://vike.dev/redirects)`, httpRequestId, 'info');
@@ -455,7 +459,7 @@ pageContextNominalPageInit, httpRequestId, pageContextErrorPageInit, globalConte
455
459
  return { pageContextAbort };
456
460
  }
457
461
  async function assertBaseUrl(pageContextInit, globalContext) {
458
- const { baseServer } = globalContext;
462
+ const { baseServer } = (0, resolveBase_js_1.resolveBaseRuntime)(globalContext);
459
463
  const { urlOriginal } = pageContextInit;
460
464
  const { urlWithoutPageContextRequestSuffix } = (0, handlePageContextRequestUrl_js_1.handlePageContextRequestUrl)(urlOriginal);
461
465
  const { hasBaseServer } = (0, utils_js_1.parseUrl)(urlWithoutPageContextRequestSuffix, baseServer);
@@ -4,8 +4,21 @@ 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;
7
9
  const utils_js_1 = require("./utils.js");
8
10
  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
+ }
9
22
  function resolveBase(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved) {
10
23
  if (baseViteOriginal === '/__UNSET__')
11
24
  baseViteOriginal = null;
@@ -9,9 +9,15 @@ function getPageConfigsRuntime(virtualFileExports) {
9
9
  const { pageFilesAll, pageConfigs, pageConfigGlobal } = (0, parseGlobResults_js_1.parseGlobResults)(virtualFileExports);
10
10
  const allPageIds = getAllPageIds(pageFilesAll, pageConfigs);
11
11
  // TODO/now: re-use this call, instead of calling it twice
12
- const globalConfig = (0, getPageConfigUserFriendly_js_1.getPageConfigGlobalUserFriendly)({ pageConfigGlobalValues: pageConfigGlobal.configValues });
12
+ const globalConfig = (0, getPageConfigUserFriendly_js_1.getPageConfigUserFriendlyNew)(pageConfigGlobal);
13
+ // TODO/now DEDUPE
13
14
  const pageConfigsUserFriendly = Object.fromEntries(pageConfigs.map((pageConfig) => {
14
- return (0, getPageConfigUserFriendly_js_1.getPageConfigUserFriendly)(pageConfigGlobal.configValues, pageConfig, pageConfig.configValues);
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];
15
21
  }));
16
22
  return { pageFilesAll, allPageIds, pageConfigs, pageConfigGlobal, globalConfig, pageConfigsUserFriendly };
17
23
  }
@@ -3,54 +3,23 @@ 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.getPageConfigUserFriendly = getPageConfigUserFriendly;
7
- exports.getPageConfigUserFriendly_oldDesign = getPageConfigUserFriendly_oldDesign;
8
- exports.getPageConfigGlobalUserFriendly = getPageConfigGlobalUserFriendly;
6
+ exports.getPageConfigUserFriendlyOld = getPageConfigUserFriendlyOld;
7
+ exports.getPageConfigUserFriendlyNew = getPageConfigUserFriendlyNew;
9
8
  const assert_exports_old_design_js_1 = require("../getPageFiles/assert_exports_old_design.js");
10
9
  const getConfigDefinedAt_js_1 = require("./getConfigDefinedAt.js");
11
10
  const helpers_js_1 = require("./helpers.js");
12
11
  const utils_js_1 = require("../utils.js");
13
12
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
14
- function getPageConfigUserFriendly(pageConfigGlobalValues, pageConfig, pageConfigValues) {
15
- const pageConfigUserFriendly = getPageConfigUserFriendly_public({ pageConfigGlobalValues, pageConfigValues });
16
- let page;
17
- if (!pageConfig.isErrorPage) {
18
- const route = pageConfigUserFriendly.config.route ?? pageConfig.routeFilesystem.routeString;
19
- page = {
20
- ...pageConfigUserFriendly,
21
- route
22
- };
23
- }
24
- else {
25
- page = {
26
- ...pageConfigUserFriendly,
27
- isErrorPage: true
28
- };
29
- }
30
- return [pageConfig.pageId, page];
31
- }
32
- function getPageConfigUserFriendly_public({ pageConfigGlobalValues, pageConfigValues }) {
33
- const pageConfigUserFriendly = getPageConfigUserFriendly_base({ pageConfigGlobalValues, pageConfigValues });
34
- return getPublicCopy(pageConfigUserFriendly);
35
- }
36
- function getPublicCopy(pageConfigUserFriendly) {
37
- const p = pageConfigUserFriendly;
13
+ function getPageConfigUserFriendlyNew(pageConfig) {
14
+ const res = getPageConfigUserFriendlyV1Desin(pageConfig);
38
15
  return {
39
- config: p.config,
40
- _source: p.source,
41
- _sources: p.sources,
42
- _from: p.from
16
+ config: res.config,
17
+ _source: res.source,
18
+ _sources: res.sources,
19
+ _from: res.from
43
20
  };
44
21
  }
45
- function getPageConfigUserFriendly_base({ pageConfigGlobalValues, pageConfigValues }) {
46
- const configValues = { ...pageConfigGlobalValues, ...pageConfigValues };
47
- return getPageConfigUserFriendly_V1Design({ configValues });
48
- }
49
- function getPageConfigGlobalUserFriendly({ pageConfigGlobalValues }) {
50
- const pageConfigGlobalUserFriendly = getPageConfigUserFriendly_V1Design({ configValues: pageConfigGlobalValues });
51
- return getPublicCopy(pageConfigGlobalUserFriendly);
52
- }
53
- function getPageConfigUserFriendly_oldDesign(pageFiles, pageConfig, pageConfigGlobal) {
22
+ function getPageConfigUserFriendlyOld(pageFiles, pageConfig, pageConfigGlobal) {
54
23
  const config = {};
55
24
  const configEntries = {}; // TODO/v1-release: remove
56
25
  const exportsAll = {}; // TODO/v1-release: remove
@@ -75,9 +44,8 @@ function getPageConfigUserFriendly_oldDesign(pageFiles, pageConfig, pageConfigGl
75
44
  let sources;
76
45
  let from;
77
46
  if (pageConfig) {
78
- const res = getPageConfigUserFriendly_base({
79
- pageConfigGlobalValues: pageConfigGlobal.configValues,
80
- pageConfigValues: pageConfig.configValues
47
+ const res = getPageConfigUserFriendlyV1Desin({
48
+ configValues: { ...pageConfigGlobal.configValues, ...pageConfig.configValues }
81
49
  });
82
50
  source = res.source;
83
51
  sources = res.sources;
@@ -124,7 +92,7 @@ function getPageConfigUserFriendly_oldDesign(pageFiles, pageConfig, pageConfigGl
124
92
  return pageContextExports;
125
93
  }
126
94
  // V1 design
127
- function getPageConfigUserFriendly_V1Design(pageConfig) {
95
+ function getPageConfigUserFriendlyV1Desin(pageConfig) {
128
96
  const config = {};
129
97
  const configEntries = {};
130
98
  const exportsAll = {};
@@ -14,9 +14,15 @@ function parsePageConfigs(pageConfigsSerialized, pageConfigGlobalSerialized) {
14
14
  // pageConfigs
15
15
  const pageConfigs = pageConfigsSerialized.map((pageConfigSerialized) => {
16
16
  const configValues = parseConfigValuesSerialized(pageConfigSerialized.configValuesSerialized);
17
+ const { pageId, isErrorPage, routeFilesystem, loadConfigValuesAll } = pageConfigSerialized;
17
18
  assertRouteConfigValue(configValues);
18
- const pageConfig = { ...pageConfigSerialized, configValues };
19
- return pageConfig;
19
+ return {
20
+ pageId,
21
+ isErrorPage,
22
+ routeFilesystem,
23
+ configValues,
24
+ loadConfigValuesAll
25
+ };
20
26
  });
21
27
  // pageConfigsGlobal
22
28
  const pageConfigGlobal = { configValues: {} };
@@ -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 GlobalContextInternal instead?
13
+ // Remove all arguments and use GlobalContext 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.222-commit-6647d1e';
5
+ exports.PROJECT_VERSION = '0.4.222';
@@ -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 it's forbidden to load different versions`);
30
+ `vike@${picocolors_1.default.bold(versions[0])} and vike@${picocolors_1.default.bold(versions[1])} loaded but only one version should be loaded`);
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.
@@ -1,7 +1,7 @@
1
1
  export { setPageContextCurrent };
2
2
  export { getPageContextCurrent };
3
- import type { PageConfigUserFriendlyOld } from '../../shared/getPageFiles.js';
4
- type PageContextCurrent = PageConfigUserFriendlyOld & {
3
+ import type { PageConfigUserFriendly } from '../../shared/getPageFiles.js';
4
+ type PageContextCurrent = PageConfigUserFriendly & {
5
5
  urlPathname: string;
6
6
  };
7
7
  declare function getPageContextCurrent(): null | PageContextCurrent;
@@ -5,7 +5,7 @@ export { getPageContextFromClientHooks };
5
5
  export { setPageContextInitIsPassedToClient };
6
6
  export type { PageContextFromServerHooks };
7
7
  export type { PageContextFromClientHooks };
8
- import type { PageConfigUserFriendlyOld, PageFile } from '../../shared/getPageFiles.js';
8
+ import type { PageConfigUserFriendly, PageFile } from '../../shared/getPageFiles.js';
9
9
  import type { PageConfigRuntime } from '../../shared/page-configs/PageConfig.js';
10
10
  type PageContext = {
11
11
  urlOriginal: string;
@@ -21,9 +21,9 @@ declare function getPageContextFromHooks_serialized(): PageContextSerialized & {
21
21
  routeParams: Record<string, string>;
22
22
  _hasPageContextFromServer: true;
23
23
  };
24
- declare function getPageContextFromHooks_isHydration(pageContext: PageContextSerialized & PageContext & PageConfigUserFriendlyOld & {
24
+ declare function getPageContextFromHooks_isHydration(pageContext: PageContextSerialized & PageContext & PageConfigUserFriendly & {
25
25
  _hasPageContextFromServer: true;
26
- }): Promise<PageContextSerialized & PageContext & PageConfigUserFriendlyOld & {
26
+ }): Promise<PageContextSerialized & PageContext & PageConfigUserFriendly & {
27
27
  _hasPageContextFromServer: true;
28
28
  } & {
29
29
  _hasPageContextFromClient: boolean;
@@ -45,5 +45,5 @@ type PageContextFromClientHooks = {
45
45
  declare function getPageContextFromClientHooks(pageContext: {
46
46
  pageId: string;
47
47
  _hasPageContextFromServer: boolean;
48
- } & PageContext & PageConfigUserFriendlyOld, isErrorPage: boolean): Promise<PageContextFromClientHooks>;
48
+ } & PageContext & PageConfigUserFriendly, isErrorPage: boolean): Promise<PageContextFromClientHooks>;
49
49
  declare function setPageContextInitIsPassedToClient(pageContext: Record<string, unknown>): void;
@@ -1,10 +1,10 @@
1
1
  export { getPrefetchSettings };
2
2
  export { PAGE_CONTEXT_MAX_AGE_DEFAULT };
3
3
  export type { PrefetchSettingResolved };
4
- import type { PageConfigUserFriendlyOld } from '../../../shared/getPageFiles.js';
4
+ import type { PageConfigUserFriendly } from '../../../shared/getPageFiles.js';
5
5
  declare const PAGE_CONTEXT_MAX_AGE_DEFAULT = 5000;
6
6
  type PrefetchSettingResolved = {
7
7
  staticAssets: false | 'hover' | 'viewport';
8
8
  pageContext: false | number;
9
9
  };
10
- declare function getPrefetchSettings(pageContext: PageConfigUserFriendlyOld, linkTag: null | HTMLElement): PrefetchSettingResolved;
10
+ declare function getPrefetchSettings(pageContext: PageConfigUserFriendly, linkTag: null | HTMLElement): PrefetchSettingResolved;
@@ -6,7 +6,7 @@ export { addLinkPrefetchHandlers };
6
6
  export { addLinkPrefetchHandlers_watch };
7
7
  export { addLinkPrefetchHandlers_unwatch };
8
8
  import { type PageContextFromServerHooks, getPageContextFromServerHooks } from './getPageContextFromHooks.js';
9
- import type { PageConfigUserFriendlyOld, PageFile } from '../../shared/getPageFiles.js';
9
+ import type { PageConfigUserFriendly, PageFile } from '../../shared/getPageFiles.js';
10
10
  import { type PageConfigRuntime } from '../../shared/page-configs/PageConfig.js';
11
11
  type ResultPageContextFromServer = Awaited<ReturnType<typeof getPageContextFromServerHooks>>;
12
12
  type PageContextForPrefetch = {
@@ -19,7 +19,7 @@ type PageContextForPrefetch = {
19
19
  };
20
20
  declare function getPageContextPrefetched(pageContext: {
21
21
  urlPathname: string;
22
- } & PageConfigUserFriendlyOld): null | PageContextFromServerHooks;
22
+ } & PageConfigUserFriendly): null | PageContextFromServerHooks;
23
23
  declare function populatePageContextPrefetchCache(pageContext: PageContextForPrefetch, result: ResultPageContextFromServer): void;
24
24
  /**
25
25
  * Programmatically prefetch client assets.
@@ -60,8 +60,8 @@ async function prefetchPageContextFromServerHooks(pageContextLink, resultMaxAge)
60
60
  const result = await getPageContextFromServerHooks(pageContextLink, false);
61
61
  setPageContextPrefetchCache(pageContextLink, result, resultMaxAge);
62
62
  }
63
- function populatePageContextPrefetchCache(pageContext /*& PageConfigUserFriendlyOld*/, result) {
64
- // TODO/pageContext-prefetch: replace with using pageContext.config.prerender instead. (For being able to do that: eager configs need to be accessible without have to use PageConfigUserFriendlyOld as it isn't available here.)
63
+ function populatePageContextPrefetchCache(pageContext /*& PageConfigUserFriendly*/, result) {
64
+ // TODO/pageContext-prefetch: replace with using pageContext.config.prerender instead. (For being able to do that: eager configs need to be accessible without have to use PageConfigUserFriendly as it isn't available here.)
65
65
  if (!isBrilloutDocpress())
66
66
  return;
67
67
  setPageContextPrefetchCache(pageContext, result, null);
@@ -488,7 +488,7 @@ async function renderPageClientSide(renderArgs) {
488
488
  }
489
489
  }
490
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
491
+ // TODO/now add comment linking to usage example
492
492
  function stampFinished(urlOriginal) {
493
493
  window._vike ?? (window._vike = {});
494
494
  window._vike.fullyRenderedUrl = urlOriginal;
@@ -11,6 +11,6 @@ declare function getPageContext(): Promise<{
11
11
  _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
12
12
  _pageConfigs: import("../../__internal/index.js").PageConfig[];
13
13
  _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
14
- } & import("../../shared/getPageFiles.js").PageConfigUserFriendlyOld & {
14
+ } & import("../../shared/getPageFiles.js").PageConfigUserFriendly & {
15
15
  _pageFilesLoaded: import("../../shared/getPageFiles.js").PageFile[];
16
16
  }>;
@@ -1,6 +1,6 @@
1
1
  export { executeOnRenderClientHook };
2
2
  export type { PageContextBeforeRenderClient };
3
- import type { PageFile, PageConfigUserFriendlyOld } from '../../shared/getPageFiles.js';
3
+ import type { PageFile, PageConfigUserFriendly } from '../../shared/getPageFiles.js';
4
4
  import { type PageContextForUserConsumptionClientSide } from './preparePageContextForUserConsumptionClientSide.js';
5
5
  import type { PageConfigRuntime } from '../../shared/page-configs/PageConfig.js';
6
6
  type PageContextBeforeRenderClient = {
@@ -9,5 +9,5 @@ type PageContextBeforeRenderClient = {
9
9
  urlPathname?: string;
10
10
  pageId: string;
11
11
  _pageConfigs: PageConfigRuntime[];
12
- } & PageConfigUserFriendlyOld & PageContextForUserConsumptionClientSide;
12
+ } & PageConfigUserFriendly & PageContextForUserConsumptionClientSide;
13
13
  declare function executeOnRenderClientHook<PC extends PageContextBeforeRenderClient>(pageContext: PC, isClientRouting: boolean): Promise<void>;
@@ -1,9 +1,9 @@
1
1
  export { loadUserFilesClientSide };
2
2
  export { isErrorFetchingStaticAssets };
3
3
  export type { PageContextUserFiles };
4
- import { type PageFile, type PageConfigUserFriendlyOld } from '../../shared/getPageFiles.js';
4
+ import { type PageFile, type PageConfigUserFriendly } from '../../shared/getPageFiles.js';
5
5
  import type { PageConfigGlobalRuntime, PageConfigRuntime } from '../../shared/page-configs/PageConfig.js';
6
- type PageContextUserFilesLoaded = PageConfigUserFriendlyOld & {
6
+ type PageContextUserFilesLoaded = PageConfigUserFriendly & {
7
7
  _pageFilesLoaded: PageFile[];
8
8
  };
9
9
  type PageContextUserFiles = {
@@ -1,7 +1,7 @@
1
1
  export { loadUserFilesClientSide };
2
2
  export { isErrorFetchingStaticAssets };
3
3
  import { getPageFilesClientSide } from '../../shared/getPageFiles.js';
4
- import { getPageConfigUserFriendly_oldDesign } from '../../shared/page-configs/getPageConfigUserFriendly.js';
4
+ import { getPageConfigUserFriendlyOld } from '../../shared/page-configs/getPageConfigUserFriendly.js';
5
5
  import { findPageConfig } from '../../shared/page-configs/findPageConfig.js';
6
6
  import { loadConfigValues } from '../../shared/page-configs/loadConfigValues.js';
7
7
  import { objectAssign } from '../server-routing-runtime/utils.js';
@@ -30,7 +30,7 @@ async function loadUserFilesClientSide(pageId, pageFilesAll, pageConfigs, pageCo
30
30
  }
31
31
  throw err;
32
32
  }
33
- const pageContextExports = getPageConfigUserFriendly_oldDesign(pageFilesClientSide, pageConfigLoaded, pageConfigGlobal);
33
+ const pageContextExports = getPageConfigUserFriendlyOld(pageFilesClientSide, pageConfigLoaded, pageConfigGlobal);
34
34
  const pageContextAddendum = {};
35
35
  objectAssign(pageContextAddendum, pageContextExports);
36
36
  objectAssign(pageContextAddendum, { _pageFilesLoaded: pageFilesClientSide });
@@ -1,9 +1,9 @@
1
1
  export { preparePageContextForUserConsumptionClientSide };
2
2
  export type { PageContextForUserConsumptionClientSide };
3
- import type { PageConfigUserFriendlyOld } from '../../shared/getPageFiles.js';
3
+ import type { PageConfigUserFriendly } from '../../shared/getPageFiles.js';
4
4
  import type { PageConfigRuntime } from '../../shared/page-configs/PageConfig.js';
5
5
  import { PageContextForPassToClientWarning } from './getPageContextProxyForUser.js';
6
- type PageContextForUserConsumptionClientSide = PageConfigUserFriendlyOld & PageContextForPassToClientWarning & {
6
+ type PageContextForUserConsumptionClientSide = PageConfigUserFriendly & PageContextForPassToClientWarning & {
7
7
  pageId: string;
8
8
  _pageConfigs: PageConfigRuntime[];
9
9
  };
@@ -4,10 +4,7 @@ export { plugin as ssr };
4
4
  export type { VikeVitePluginOptions as UserConfig };
5
5
  export type { VikeVitePluginOptions };
6
6
  export { PROJECT_VERSION as version } from './utils.js';
7
- type PluginInterop = Record<string, unknown> & {
8
- name: string;
9
- };
10
- declare function plugin(vikeVitePluginOptions?: VikeVitePluginOptions): PluginInterop[];
7
+ declare function plugin(vikeVitePluginOptions?: VikeVitePluginOptions): any;
11
8
  /** @deprecated Define Vike settings in +config.js instead of vite.config.js */
12
9
  type VikeVitePluginOptions = {
13
10
  /** @deprecated Define Vike settings in +config.js instead of vite.config.js */
@@ -29,7 +29,7 @@ import { workaroundVite6HmrRegression } from './plugins/workaroundVite6HmrRegres
29
29
  import { buildApp } from './plugins/buildApp.js';
30
30
  // We don't call this in ./onLoad.ts to avoid a cyclic dependency with utils.ts
31
31
  setResolveClientEntriesDev(resolveClientEntriesDev);
32
- // Return `PluginInterop` instead of `Plugin` to avoid type mismatch upon different Vite versions
32
+ // Return as `any` to avoid Plugin type mismatches when there are multiple Vite versions installed
33
33
  function plugin(vikeVitePluginOptions = {}) {
34
34
  const plugins = [
35
35
  ...commonConfig(vikeVitePluginOptions),
@@ -1,5 +1,5 @@
1
1
  export { baseUrls };
2
- import { resolveBase } from '../../shared/resolveBase.js';
2
+ import { resolveBase, resolveBaseFromResolvedConfig } from '../../shared/resolveBase.js';
3
3
  import { assert } from '../utils.js';
4
4
  import { getVikeConfig } from './importUserCode/v1-design/getVikeConfig.js';
5
5
  function baseUrls() {
@@ -38,8 +38,3 @@ function baseUrls() {
38
38
  }
39
39
  };
40
40
  }
41
- function resolveBaseFromResolvedConfig(baseServer, baseAssets, config) {
42
- let baseViteOriginal = config._baseViteOriginal;
43
- assert(baseViteOriginal === null || typeof baseViteOriginal == 'string');
44
- return resolveBase(baseViteOriginal, baseServer, baseAssets);
45
- }