vike 0.4.217 → 0.4.218-commit-ed9b3d4

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 (173) hide show
  1. package/dist/cjs/__internal/index.js +9 -8
  2. package/dist/cjs/node/api/build.js +21 -12
  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 +128 -26
  6. package/dist/cjs/node/api/utils.js +2 -0
  7. package/dist/cjs/node/cli/entry.js +19 -7
  8. package/dist/cjs/node/plugin/index.js +6 -5
  9. package/dist/cjs/node/plugin/plugins/autoFullBuild.js +3 -4
  10. package/dist/cjs/node/plugin/plugins/baseUrls.js +20 -18
  11. package/dist/cjs/node/plugin/plugins/buildConfig.js +2 -2
  12. package/dist/cjs/node/plugin/plugins/{importBuild → buildEntry}/index.js +16 -17
  13. package/dist/cjs/node/plugin/plugins/commonConfig.js +6 -6
  14. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +2 -3
  15. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +22 -111
  16. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +189 -16
  17. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +2 -1
  18. package/dist/cjs/node/plugin/plugins/setGlobalContext.js +1 -1
  19. package/dist/cjs/node/plugin/plugins/{vite6HmrRegressionWorkaround.js → workaroundVite6HmrRegression.js} +3 -3
  20. package/dist/cjs/node/plugin/shared/getHttpRequestAsyncStore.js +17 -7
  21. package/dist/cjs/node/prerender/isPrerenderEnabled.js +8 -0
  22. package/dist/cjs/node/prerender/runPrerender.js +22 -35
  23. package/dist/cjs/node/runtime/globalContext.js +76 -29
  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/renderPage/analyzePage.js +2 -2
  28. package/dist/cjs/node/runtime/renderPage/createHttpResponse/getCacheControl.js +2 -2
  29. package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
  30. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -3
  31. package/dist/cjs/node/runtime/utils.js +1 -0
  32. package/dist/cjs/node/runtime-dev/index.js +17 -7
  33. package/dist/cjs/node/shared/resolveBase.js +2 -2
  34. package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +3 -3
  35. package/dist/cjs/shared/getPageFiles/{setPageFiles.js → getPageFiles.js} +2 -3
  36. package/dist/cjs/shared/getPageFiles.js +3 -9
  37. package/dist/cjs/shared/hooks/getHook.js +3 -3
  38. package/dist/cjs/shared/{getPageFiles/getExports.js → page-configs/getPageConfigUserFriendly.js} +113 -81
  39. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +79 -54
  40. package/dist/cjs/shared/route/loadPageRoutes.js +3 -3
  41. package/dist/cjs/shared/utils.js +1 -0
  42. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  43. package/dist/cjs/utils/assert.js +4 -3
  44. package/dist/cjs/utils/debug.js +11 -6
  45. package/dist/cjs/utils/objectReplace.js +9 -0
  46. package/dist/esm/__internal/index.d.ts +3 -5
  47. package/dist/esm/__internal/index.js +4 -5
  48. package/dist/esm/client/client-routing-runtime/createPageContext.js +7 -1
  49. package/dist/esm/client/client-routing-runtime/entry.d.ts +1 -1
  50. package/dist/esm/client/client-routing-runtime/entry.js +0 -1
  51. package/dist/esm/client/client-routing-runtime/getPageContextCurrent.d.ts +2 -2
  52. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.d.ts +4 -4
  53. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +1 -1
  54. package/dist/esm/client/client-routing-runtime/prefetch/getPrefetchSettings.d.ts +2 -2
  55. package/dist/esm/client/client-routing-runtime/prefetch.d.ts +2 -2
  56. package/dist/esm/client/client-routing-runtime/prefetch.js +2 -2
  57. package/dist/esm/client/server-routing-runtime/entry.d.ts +1 -1
  58. package/dist/esm/client/server-routing-runtime/entry.js +0 -1
  59. package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +1 -1
  60. package/dist/esm/client/server-routing-runtime/getPageContext.js +8 -2
  61. package/dist/esm/client/shared/executeOnRenderClientHook.d.ts +2 -2
  62. package/dist/esm/client/shared/loadUserFilesClientSide.d.ts +2 -2
  63. package/dist/esm/client/shared/loadUserFilesClientSide.js +2 -2
  64. package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.d.ts +2 -2
  65. package/dist/esm/node/api/build.js +4 -5
  66. package/dist/esm/node/api/context.d.ts +3 -1
  67. package/dist/esm/node/api/context.js +6 -2
  68. package/dist/esm/node/api/prepareViteApiCall.d.ts +9 -3
  69. package/dist/esm/node/api/prepareViteApiCall.js +111 -22
  70. package/dist/esm/node/api/utils.d.ts +2 -0
  71. package/dist/esm/node/api/utils.js +2 -0
  72. package/dist/esm/node/cli/entry.js +2 -0
  73. package/dist/esm/node/cli/parseCli.d.ts +1 -1
  74. package/dist/esm/node/plugin/index.d.ts +1 -1
  75. package/dist/esm/node/plugin/index.js +6 -5
  76. package/dist/esm/node/plugin/plugins/autoFullBuild.js +3 -4
  77. package/dist/esm/node/plugin/plugins/baseUrls.d.ts +1 -2
  78. package/dist/esm/node/plugin/plugins/baseUrls.js +21 -19
  79. package/dist/esm/node/plugin/plugins/buildConfig.js +2 -2
  80. package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.d.ts +1 -1
  81. package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/index.d.ts +2 -2
  82. package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/index.js +16 -17
  83. package/dist/esm/node/plugin/plugins/commonConfig.d.ts +7 -1
  84. package/dist/esm/node/plugin/plugins/commonConfig.js +2 -2
  85. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.d.ts +1 -1
  86. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +1 -1
  87. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +2 -3
  88. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.d.ts +1 -1
  89. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +23 -112
  90. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +99 -1
  91. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +189 -16
  92. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +2 -1
  93. package/dist/esm/node/plugin/plugins/setGlobalContext.js +1 -1
  94. package/dist/esm/node/plugin/plugins/workaroundVite6HmrRegression.d.ts +3 -0
  95. package/dist/esm/node/plugin/plugins/{vite6HmrRegressionWorkaround.js → workaroundVite6HmrRegression.js} +3 -3
  96. package/dist/esm/node/plugin/shared/getEnvVarObject.d.ts +1 -1
  97. package/dist/esm/node/prerender/isPrerenderEnabled.d.ts +3 -0
  98. package/dist/esm/node/prerender/isPrerenderEnabled.js +6 -0
  99. package/dist/esm/node/prerender/runPrerender.d.ts +1 -2
  100. package/dist/esm/node/prerender/runPrerender.js +4 -27
  101. package/dist/esm/node/runtime/globalContext.d.ts +6 -4
  102. package/dist/esm/node/runtime/globalContext.js +76 -29
  103. package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +1 -1
  104. package/dist/esm/node/runtime/index-common.d.ts +0 -1
  105. package/dist/esm/node/runtime/index-common.js +0 -15
  106. package/dist/esm/node/runtime/index-deprecated.d.ts +1 -0
  107. package/dist/esm/node/runtime/onLoad.js +16 -2
  108. package/dist/esm/node/runtime/renderPage/analyzePage.js +1 -1
  109. package/dist/esm/node/runtime/renderPage/createHttpResponse/getCacheControl.js +1 -1
  110. package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.d.ts +2 -2
  111. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +1 -1
  112. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +2 -2
  113. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +2 -2
  114. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +5 -5
  115. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -3
  116. package/dist/esm/node/runtime/utils.d.ts +1 -0
  117. package/dist/esm/node/runtime/utils.js +1 -0
  118. package/dist/esm/node/shared/resolveBase.js +2 -2
  119. package/dist/esm/shared/getPageFiles/analyzeClientSide.js +1 -1
  120. package/dist/esm/shared/getPageFiles/{setPageFiles.js → getPageFiles.js} +2 -3
  121. package/dist/esm/shared/getPageFiles.d.ts +2 -5
  122. package/dist/esm/shared/getPageFiles.js +1 -4
  123. package/dist/esm/shared/hooks/getHook.d.ts +3 -3
  124. package/dist/esm/shared/hooks/getHook.js +1 -1
  125. package/dist/esm/shared/page-configs/Config.d.ts +8 -2
  126. package/dist/esm/shared/page-configs/PageConfig.d.ts +7 -3
  127. package/dist/esm/shared/{getPageFiles/getExports.d.ts → page-configs/getPageConfigUserFriendly.d.ts} +23 -12
  128. package/dist/esm/shared/{getPageFiles/getExports.js → page-configs/getPageConfigUserFriendly.js} +112 -80
  129. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +28 -4
  130. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +79 -54
  131. package/dist/esm/shared/route/executeGuardHook.d.ts +2 -2
  132. package/dist/esm/shared/route/loadPageRoutes.js +1 -1
  133. package/dist/esm/shared/types.d.ts +1 -1
  134. package/dist/esm/shared/utils.d.ts +1 -0
  135. package/dist/esm/shared/utils.js +1 -0
  136. package/dist/esm/types/index.d.ts +1 -1
  137. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  138. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  139. package/dist/esm/utils/assert.js +4 -3
  140. package/dist/esm/utils/debug.d.ts +1 -1
  141. package/dist/esm/utils/debug.js +11 -6
  142. package/dist/esm/utils/objectReplace.d.ts +1 -0
  143. package/dist/esm/utils/objectReplace.js +6 -0
  144. package/dist/esm/utils/projectInfo.d.ts +1 -1
  145. package/package.json +3 -22
  146. package/__internal/loadImportBuild.js +0 -3
  147. package/__internal/setup.js +0 -3
  148. package/dist/cjs/node/plugin/plugins/commonConfig/pluginName.js +0 -4
  149. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +0 -128
  150. package/dist/cjs/node/runtime/globalContext/loadImportBuild.js +0 -25
  151. package/dist/cjs/node/runtime/page-files/getPageFilesExports.js +0 -22
  152. package/dist/cjs/node/runtime/page-files/setup.js +0 -5
  153. package/dist/esm/client/client-routing-runtime/pageFiles.d.ts +0 -1
  154. package/dist/esm/client/client-routing-runtime/pageFiles.js +0 -4
  155. package/dist/esm/client/server-routing-runtime/pageFiles.d.ts +0 -1
  156. package/dist/esm/client/server-routing-runtime/pageFiles.js +0 -4
  157. package/dist/esm/node/plugin/plugins/commonConfig/pluginName.d.ts +0 -1
  158. package/dist/esm/node/plugin/plugins/commonConfig/pluginName.js +0 -1
  159. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.d.ts +0 -104
  160. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +0 -123
  161. package/dist/esm/node/plugin/plugins/vite6HmrRegressionWorkaround.d.ts +0 -3
  162. package/dist/esm/node/runtime/globalContext/loadImportBuild.d.ts +0 -18
  163. package/dist/esm/node/runtime/globalContext/loadImportBuild.js +0 -23
  164. package/dist/esm/node/runtime/page-files/getPageFilesExports.d.ts +0 -2
  165. package/dist/esm/node/runtime/page-files/getPageFilesExports.js +0 -20
  166. package/dist/esm/node/runtime/page-files/setup.d.ts +0 -1
  167. package/dist/esm/node/runtime/page-files/setup.js +0 -3
  168. package/dist/cjs/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.js +0 -0
  169. package/dist/cjs/shared/page-configs/{getConfigValue.js → getConfigValueRuntime.js} +0 -0
  170. package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.js +0 -0
  171. package/dist/esm/shared/getPageFiles/{setPageFiles.d.ts → getPageFiles.d.ts} +1 -1
  172. /package/dist/esm/shared/page-configs/{getConfigValue.d.ts → getConfigValueRuntime.d.ts} +0 -0
  173. /package/dist/esm/shared/page-configs/{getConfigValue.js → getConfigValueRuntime.js} +0 -0
@@ -6,4 +6,3 @@ export { getGlobalContextSync, getGlobalContextAsync } from './globalContext.js'
6
6
  export { createDevMiddleware } from '../runtime-dev/index.js';
7
7
  export { injectAssets__public as _injectAssets } from './html/injectAssets/injectAssets__public.js';
8
8
  export { createPageRenderer } from '../createPageRenderer.js';
9
- import './page-files/setup.js';
@@ -8,18 +8,3 @@ export { createDevMiddleware } from '../runtime-dev/index.js';
8
8
  export { injectAssets__public as _injectAssets } from './html/injectAssets/injectAssets__public.js';
9
9
  // TODO/v1-release: remove
10
10
  export { createPageRenderer } from '../createPageRenderer.js';
11
- addEcosystemStamp();
12
- import './page-files/setup.js';
13
- // Used by:
14
- // - Telefunc (to detect the user's stack https://github.com/brillout/telefunc/blob/8288310e88e06a42b710d39c39fb502364ca6d30/telefunc/utils/isVikeApp.ts#L4)
15
- function addEcosystemStamp() {
16
- const g = globalThis;
17
- g._isVikeApp =
18
- /* Don't set to true so that consumers do `!!globalThis._isVikeApp` instead of `globalThis._isVikeApp === true`.
19
- true
20
- */
21
- // We use an object so that we can eventually, in the future, add helpful information as needed. (E.g. the Vike version, or global settings.)
22
- {};
23
- // We keep the old stamp for older Telefunc versions
24
- g._isVitePluginSsr = true;
25
- }
@@ -1,5 +1,6 @@
1
1
  export * from './index-common.js';
2
2
  export * from '../../types/index-dreprecated.js';
3
+ import { RenderErrorPage as RenderErrorPage_ } from '../../shared/route/abort.js';
3
4
  /** @deprecated
4
5
  * Replace:
5
6
  * ```
@@ -1,13 +1,27 @@
1
1
  export { onLoad };
2
2
  import { assertIsNotBrowser } from '../../utils/assertIsNotBrowser.js';
3
3
  import { assertNodeVersion } from '../../utils/assertNodeVersion.js';
4
+ import { setAlwaysShowStackTrace } from '../../utils/assert.js';
4
5
  import { installRequireShim } from '@brillout/require-shim';
5
- import { setAlwaysShowStackTrace } from './utils.js';
6
6
  import { isErrorDebug } from '../shared/isErrorDebug.js';
7
7
  function onLoad() {
8
8
  assertIsNotBrowser();
9
9
  assertNodeVersion();
10
- installRequireShim();
11
10
  if (isErrorDebug())
12
11
  setAlwaysShowStackTrace();
12
+ addEcosystemStamp();
13
+ installRequireShim();
14
+ }
15
+ // Used by:
16
+ // - Telefunc (to detect the user's stack https://github.com/brillout/telefunc/blob/8288310e88e06a42b710d39c39fb502364ca6d30/telefunc/utils/isVikeApp.ts#L4)
17
+ function addEcosystemStamp() {
18
+ const g = globalThis;
19
+ g._isVikeApp =
20
+ /* Don't set to true so that consumers do `!!globalThis._isVikeApp` instead of `globalThis._isVikeApp === true`.
21
+ true
22
+ */
23
+ // We use an object so that we can eventually, in the future, add helpful information as needed. (E.g. the Vike version, or global settings.)
24
+ {};
25
+ // We keep the old stamp for older Telefunc versions
26
+ g._isVitePluginSsr = true;
13
27
  }
@@ -4,7 +4,7 @@ import { analyzePageClientSide } from '../../../shared/getPageFiles/analyzePageC
4
4
  import { getVirtualFileIdPageConfigValuesAll } from '../../shared/virtual-files/virtualFilePageConfigValuesAll.js';
5
5
  import { analyzeClientSide } from '../../../shared/getPageFiles/analyzeClientSide.js';
6
6
  import { getGlobalContext } from '../globalContext.js';
7
- import { getConfigValueRuntime } from '../../../shared/page-configs/getConfigValue.js';
7
+ import { getConfigValueRuntime } from '../../../shared/page-configs/getConfigValueRuntime.js';
8
8
  function analyzePage(pageFilesAll, pageConfig, pageId) {
9
9
  if (pageConfig) {
10
10
  const { isClientRuntimeLoaded, isClientRouting } = analyzeClientSide(pageConfig, pageFilesAll, pageId);
@@ -1,6 +1,6 @@
1
1
  export { getCacheControl };
2
2
  import { getPageConfig } from '../../../../shared/page-configs/helpers.js';
3
- import { getConfigValueRuntime } from '../../../../shared/page-configs/getConfigValue.js';
3
+ import { getConfigValueRuntime } from '../../../../shared/page-configs/getConfigValueRuntime.js';
4
4
  const defaultValue = 'no-store, max-age=0';
5
5
  function getCacheControl(pageId, pageConfigs, statusCode) {
6
6
  // TODO/v1-release: remove
@@ -1,7 +1,7 @@
1
1
  export { executeOnBeforeRenderAndDataHooks };
2
- import { type PageContextExports } from '../../../shared/getPageFiles.js';
2
+ import { type PageConfigUserFriendly } from '../../../shared/getPageFiles.js';
3
3
  import { type PageContextForUserConsumptionServerSide } from './preparePageContextForUserConsumptionServerSide.js';
4
4
  declare function executeOnBeforeRenderAndDataHooks(pageContext: {
5
5
  pageId: string;
6
6
  _pageContextAlreadyProvidedByOnPrerenderHook?: true;
7
- } & PageContextExports & PageContextForUserConsumptionServerSide): Promise<void>;
7
+ } & PageConfigUserFriendly & PageContextForUserConsumptionServerSide): Promise<void>;
@@ -14,7 +14,7 @@ type PageContext_loadUserFilesServerSide = PageContextGetPageAssets & PageContex
14
14
  type PageFiles = PromiseType<ReturnType<typeof loadUserFilesServerSide>>;
15
15
  declare function loadUserFilesServerSide(pageContext: {
16
16
  pageId: string;
17
- } & PageContext_loadUserFilesServerSide): Promise<import("../../../shared/getPageFiles.js").PageContextExports & {
17
+ } & PageContext_loadUserFilesServerSide): Promise<import("../../../shared/getPageFiles.js").PageConfigUserFriendly & {
18
18
  Page: unknown;
19
19
  _isHtmlOnly: boolean;
20
20
  _passToClient: string[];
@@ -1,5 +1,5 @@
1
1
  export { loadUserFilesServerSide };
2
- import { getPageFilesServerSide, getPageContextExports } from '../../../shared/getPageFiles.js';
2
+ import { getPageFilesServerSide, getPageConfigUserFriendly } from '../../../shared/getPageFiles.js';
3
3
  import { analyzePageClientSideInit } from '../../../shared/getPageFiles/analyzePageClientSide.js';
4
4
  import { assert, assertUsage, assertWarning, hasProp, isArrayOfStrings, objectAssign, isArray } from '../utils.js';
5
5
  import { getPageAssets } from './getPageAssets.js';
@@ -99,7 +99,7 @@ async function loadPageUserFiles(pageFilesAll, pageConfig, pageId, isDev) {
99
99
  const pageFilesServerSide = getPageFilesServerSide(pageFilesAll, pageId);
100
100
  const pageConfigLoaded = !pageConfig ? null : await loadConfigValues(pageConfig, isDev);
101
101
  await Promise.all(pageFilesServerSide.map((p) => p.loadFile?.()));
102
- const pageContextExports = getPageContextExports(pageFilesServerSide, pageConfigLoaded);
102
+ const pageContextExports = getPageConfigUserFriendly(pageFilesServerSide, pageConfigLoaded);
103
103
  return {
104
104
  pageContextExports,
105
105
  pageFilesLoaded: pageFilesServerSide
@@ -2,9 +2,9 @@ export { preparePageContextForUserConsumptionServerSide };
2
2
  export type { PageContextForUserConsumptionServerSide };
3
3
  import { PageContextUrlInternal } from '../../../shared/getPageContextUrlComputed.js';
4
4
  import type { PageConfigRuntime } from '../../../shared/page-configs/PageConfig.js';
5
- import type { PageContextExports } from '../../../shared/getPageFiles/getExports.js';
5
+ import type { PageConfigUserFriendly } from '../../../shared/page-configs/getPageConfigUserFriendly.js';
6
6
  import { PageContextBuiltInServerInternal } from '../../../shared/types.js';
7
- type PageContextForUserConsumptionServerSide = PageContextBuiltInServerInternal & PageContextExports & {
7
+ type PageContextForUserConsumptionServerSide = PageContextBuiltInServerInternal & PageConfigUserFriendly & {
8
8
  urlOriginal: string;
9
9
  /** @deprecated */
10
10
  url: string;
@@ -6,7 +6,7 @@ export { getRenderContext };
6
6
  export type { RenderContext };
7
7
  export type { PageContextAfterRender };
8
8
  export type { PageContextInitEnhanced };
9
- import { type PageFile } from '../../../shared/getPageFiles.js';
9
+ import type { PageFile } from '../../../shared/getPageFiles/getPageFileObject.js';
10
10
  import { type PageContextUrlInternal } from '../../../shared/getPageContextUrlComputed.js';
11
11
  import { HttpResponse } from './createHttpResponse.js';
12
12
  import { PageContext_loadUserFilesServerSide, type PageFiles } from './loadUserFilesServerSide.js';
@@ -65,7 +65,7 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
65
65
  url: string;
66
66
  } & {
67
67
  headers: Record<string, string> | null;
68
- } & import("../../../shared/getPageFiles.js").PageContextExports & {
68
+ } & import("../../../shared/getPageFiles.js").PageConfigUserFriendly & {
69
69
  Page: unknown;
70
70
  _isHtmlOnly: boolean;
71
71
  _passToClient: string[];
@@ -116,7 +116,7 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
116
116
  url: string;
117
117
  } & {
118
118
  headers: Record<string, string> | null;
119
- } & import("../../../shared/getPageFiles.js").PageContextExports & {
119
+ } & import("../../../shared/getPageFiles.js").PageConfigUserFriendly & {
120
120
  Page: unknown;
121
121
  _isHtmlOnly: boolean;
122
122
  _passToClient: string[];
@@ -168,7 +168,7 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
168
168
  url: string;
169
169
  } & {
170
170
  headers: Record<string, string> | null;
171
- } & import("../../../shared/getPageFiles.js").PageContextExports & {
171
+ } & import("../../../shared/getPageFiles.js").PageConfigUserFriendly & {
172
172
  Page: unknown;
173
173
  _isHtmlOnly: boolean;
174
174
  _passToClient: string[];
@@ -219,7 +219,7 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
219
219
  url: string;
220
220
  } & {
221
221
  headers: Record<string, string> | null;
222
- } & import("../../../shared/getPageFiles.js").PageContextExports & {
222
+ } & import("../../../shared/getPageFiles.js").PageConfigUserFriendly & {
223
223
  Page: unknown;
224
224
  _isHtmlOnly: boolean;
225
225
  _passToClient: string[];
@@ -5,7 +5,7 @@ export { getPageContextInitEnhanced };
5
5
  export { getRenderContext };
6
6
  import { getErrorPageId } from '../../../shared/error-page.js';
7
7
  import { getHtmlString } from '../html/renderHtml.js';
8
- import { getPageFilesAll } from '../../../shared/getPageFiles.js';
8
+ import { getPageFilesAll } from '../../../shared/getPageFiles/getPageFiles.js';
9
9
  import { assert, assertUsage, assertWarning, hasProp, normalizeHeaders, objectAssign } from '../utils.js';
10
10
  import { serializePageContextClientSide } from '../html/serializePageContextClientSide.js';
11
11
  import { getPageContextUrlComputed } from '../../../shared/getPageContextUrlComputed.js';
@@ -169,10 +169,10 @@ async function getRenderContext() {
169
169
  // pageConfigs is PageConfigRuntime[] but assertV1Design() requires PageConfigBuildTime[]
170
170
  pageConfigs.length > 0, pageFilesAll);
171
171
  const renderContext = {
172
- pageFilesAll: pageFilesAll,
172
+ pageFilesAll,
173
173
  pageConfigs,
174
174
  pageConfigGlobal,
175
- allPageIds: allPageIds,
175
+ allPageIds,
176
176
  pageRoutes,
177
177
  onBeforeRouteHook
178
178
  };
@@ -15,6 +15,7 @@ export * from '../../utils/projectInfo.js';
15
15
  export * from '../../utils/isArray.js';
16
16
  export * from '../../utils/isObject.js';
17
17
  export * from '../../utils/objectAssign.js';
18
+ export * from '../../utils/objectReplace.js';
18
19
  export * from '../../utils/PromiseType.js';
19
20
  export * from '../../utils/compareString.js';
20
21
  export * from '../../utils/isObjectWithKeys.js';
@@ -19,6 +19,7 @@ export * from '../../utils/projectInfo.js';
19
19
  export * from '../../utils/isArray.js';
20
20
  export * from '../../utils/isObject.js';
21
21
  export * from '../../utils/objectAssign.js';
22
+ export * from '../../utils/objectReplace.js';
22
23
  export * from '../../utils/PromiseType.js';
23
24
  export * from '../../utils/compareString.js';
24
25
  export * from '../../utils/isObjectWithKeys.js';
@@ -4,12 +4,12 @@ import { assert, assertUsage, isBaseServer, isBaseAssets } from './utils.js';
4
4
  import pc from '@brillout/picocolors';
5
5
  function resolveBaseFromResolvedConfig(baseServer, baseAssets, config) {
6
6
  let baseViteOriginal = config._baseViteOriginal;
7
- if (baseViteOriginal === '/__UNSET__')
8
- baseViteOriginal = null;
9
7
  assert(baseViteOriginal === null || typeof baseViteOriginal == 'string');
10
8
  return resolveBase(baseViteOriginal, baseServer, baseAssets);
11
9
  }
12
10
  function resolveBase(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved) {
11
+ if (baseViteOriginal === '/__UNSET__')
12
+ baseViteOriginal = null;
13
13
  {
14
14
  const wrongBase = (val) => `should start with ${pc.cyan('/')}, ${pc.cyan('http://')}, or ${pc.cyan('https://')} (it's ${pc.cyan(val)} instead)`;
15
15
  assertUsage(baseViteOriginal === null || isBaseAssets(baseViteOriginal), `vite.config.js#base ${wrongBase(baseViteOriginal)}`);
@@ -1,5 +1,5 @@
1
1
  export { analyzeClientSide };
2
- import { getConfigValueRuntime } from '../page-configs/getConfigValue.js';
2
+ import { getConfigValueRuntime } from '../page-configs/getConfigValueRuntime.js';
3
3
  import { analyzePageClientSide } from './analyzePageClientSide.js';
4
4
  function analyzeClientSide(pageConfig, pageFilesAll, pageId) {
5
5
  // V1 design
@@ -1,11 +1,10 @@
1
+ export { getPageFilesAll };
1
2
  export { setPageFiles };
2
3
  export { setPageFilesAsync };
3
- export { getPageFilesAll };
4
4
  import { assert, unique } from '../utils.js';
5
5
  import { parseGlobResults } from './parseGlobResults.js';
6
6
  import { getGlobalObject } from '../../utils/getGlobalObject.js';
7
7
  const globalObject = getGlobalObject('setPageFiles.ts', {});
8
- // TODO:v1-design-release: rename setPageFiles() getPageFilesAll() parseGlobResult()
9
8
  function setPageFiles(pageFilesExports) {
10
9
  const { pageFiles, pageConfigs, pageConfigGlobal } = parseGlobResults(pageFilesExports);
11
10
  globalObject.pageFilesAll = pageFiles;
@@ -23,11 +22,11 @@ async function getPageFilesAll(isClientSide, isProduction) {
23
22
  assert(isProduction === undefined);
24
23
  }
25
24
  else {
26
- assert(globalObject.pageFilesGetter);
27
25
  assert(typeof isProduction === 'boolean');
28
26
  if (!globalObject.pageFilesAll ||
29
27
  // We reload all glob imports in dev to make auto-reload work
30
28
  !isProduction) {
29
+ assert(globalObject.pageFilesGetter);
31
30
  await globalObject.pageFilesGetter();
32
31
  }
33
32
  }
@@ -1,8 +1,5 @@
1
1
  export type { PageFile } from './getPageFiles/getPageFileObject.js';
2
- export type { ExportsAll, PageContextExports } from './getPageFiles/getExports.js';
3
- export { getPageFilesAll } from './getPageFiles/setPageFiles.js';
4
- export { setPageFiles } from './getPageFiles/setPageFiles.js';
5
- export { setPageFilesAsync } from './getPageFiles/setPageFiles.js';
2
+ export type { ExportsAll, PageConfigUserFriendly } from './page-configs/getPageConfigUserFriendly.js';
6
3
  export { getPageFilesClientSide } from './getPageFiles/getAllPageIdFiles.js';
7
4
  export { getPageFilesServerSide } from './getPageFiles/getAllPageIdFiles.js';
8
- export { getPageContextExports } from './getPageFiles/getExports.js';
5
+ export { getPageConfigUserFriendly } from './page-configs/getPageConfigUserFriendly.js';
@@ -1,6 +1,3 @@
1
- export { getPageFilesAll } from './getPageFiles/setPageFiles.js';
2
- export { setPageFiles } from './getPageFiles/setPageFiles.js';
3
- export { setPageFilesAsync } from './getPageFiles/setPageFiles.js';
4
1
  export { getPageFilesClientSide } from './getPageFiles/getAllPageIdFiles.js';
5
2
  export { getPageFilesServerSide } from './getPageFiles/getAllPageIdFiles.js';
6
- export { getPageContextExports } from './getPageFiles/getExports.js';
3
+ export { getPageConfigUserFriendly } from './page-configs/getPageConfigUserFriendly.js';
@@ -9,7 +9,7 @@ export type { HookLoc };
9
9
  export type { HookTimeout };
10
10
  export type { HooksTimeoutProvidedByUser };
11
11
  export { getHookTimeoutDefault };
12
- import type { PageContextExports } from '../getPageFiles.js';
12
+ import type { PageConfigUserFriendly } from '../getPageFiles.js';
13
13
  import type { HookName, HookNamePage, HookNameGlobal } from '../page-configs/Config.js';
14
14
  import type { PageConfigGlobalRuntime, PageConfigRuntime } from '../page-configs/PageConfig.js';
15
15
  type Hook = HookLoc & {
@@ -26,10 +26,10 @@ type HookTimeout = {
26
26
  warning: number | false;
27
27
  };
28
28
  type HooksTimeoutProvidedByUser = false | Partial<Record<HookName, false | Partial<HookTimeout>>>;
29
- declare function getHook(pageContext: PageContextExports, hookName: HookName): null | Hook;
29
+ declare function getHook(pageContext: PageConfigUserFriendly, hookName: HookName): null | Hook;
30
30
  declare function getHookFromPageConfig(pageConfig: PageConfigRuntime, hookName: HookNamePage): null | Hook;
31
31
  declare function getHookFromPageConfigGlobal(pageConfigGlobal: PageConfigGlobalRuntime, hookName: HookNameGlobal): null | Hook;
32
- declare function assertHook<TPageContext extends PageContextExports, THookName extends PropertyKey & HookName>(pageContext: TPageContext, hookName: THookName): asserts pageContext is TPageContext & {
32
+ declare function assertHook<TPageContext extends PageConfigUserFriendly, THookName extends PropertyKey & HookName>(pageContext: TPageContext, hookName: THookName): asserts pageContext is TPageContext & {
33
33
  exports: Record<THookName, Function | undefined>;
34
34
  };
35
35
  declare function getHookTimeoutDefault(hookName: HookName): HookTimeout;
@@ -8,7 +8,7 @@ export { getHook_setIsPrerenderering };
8
8
  export { getHookTimeoutDefault };
9
9
  import { getGlobalObject } from '../../utils/getGlobalObject.js';
10
10
  import { getHookFilePathToShowToUser } from '../page-configs/helpers.js';
11
- import { getConfigValueRuntime } from '../page-configs/getConfigValue.js';
11
+ import { getConfigValueRuntime } from '../page-configs/getConfigValueRuntime.js';
12
12
  import { assert, assertUsage, checkType, isCallable, isObject } from '../utils.js';
13
13
  import pc from '@brillout/picocolors';
14
14
  const globalObject = getGlobalObject('getHook.ts', {});
@@ -35,15 +35,16 @@ import type { PrefetchSetting, PrefetchStaticAssets } from '../../client/client-
35
35
  import type { ConfigDefinition } from '../../node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js';
36
36
  import type { DocumentHtml } from '../../node/runtime/html/renderHtml.js';
37
37
  import type { InjectFilterEntry } from '../../types/index.js';
38
- import type { VikeVitePluginOptions } from '../../node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js';
38
+ import type { VikeVitePluginOptions } from '../../node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js';
39
39
  import type { Vike, VikePackages } from '../VikeNamespace.js';
40
40
  import type { HooksTimeoutProvidedByUser } from '../hooks/getHook.js';
41
41
  import type { PageContextClient, PageContextServer } from '../types.js';
42
+ import type { InlineConfig } from 'vite';
42
43
  type HookName = HookNamePage | HookNameGlobal | HookNameOldDesign;
43
44
  type HookNamePage = 'onHydrationEnd' | 'onBeforePrerenderStart' | 'onBeforeRender' | 'onPageTransitionStart' | 'onPageTransitionEnd' | 'onRenderHtml' | 'onRenderClient' | 'guard' | 'data';
44
45
  type HookNameGlobal = 'onBeforePrerender' | 'onBeforeRoute' | 'onPrerenderStart';
45
46
  type HookNameOldDesign = 'render' | 'prerender';
46
- type ConfigNameBuiltIn = Exclude<keyof Config, keyof VikeVitePluginOptions | 'onBeforeRoute' | 'onPrerenderStart'> | 'prerender' | 'isClientRuntimeLoaded' | 'onBeforeRenderEnv' | 'dataEnv' | 'hooksTimeout' | 'clientHooks' | 'middleware';
47
+ type ConfigNameBuiltIn = Exclude<keyof Config, keyof VikeVitePluginOptions | 'onBeforeRoute' | 'onPrerenderStart' | 'vite'> | 'prerender' | 'isClientRuntimeLoaded' | 'onBeforeRenderEnv' | 'dataEnv' | 'hooksTimeout' | 'clientHooks' | 'middleware';
47
48
  type Config = ConfigBuiltIn & Vike.Config & (VikePackages.ConfigVikeReact | VikePackages.ConfigVikeVue | VikePackages.ConfigVikeSolid | VikePackages.ConfigVikeSvelte | VikePackages.ConfigVikeAngular);
48
49
  /** Hook for fetching data.
49
50
  *
@@ -344,6 +345,11 @@ type ConfigBuiltIn = {
344
345
  * https://vike.dev/meta
345
346
  */
346
347
  meta?: ConfigMeta | ImportString;
348
+ /** Vite configuration.
349
+ *
350
+ * https://vite.dev/config/
351
+ */
352
+ vite?: InlineConfig;
347
353
  /**
348
354
  * @experimental DON'T USE: the API *will* have breaking changes upon any minor version release.
349
355
  *
@@ -54,6 +54,7 @@ type PageConfigGlobalRuntime = {
54
54
  type PageConfigGlobalBuildTime = {
55
55
  configValueSources: ConfigValueSources;
56
56
  configDefinitions: ConfigDefinitions;
57
+ configValuesComputed?: undefined;
57
58
  };
58
59
  /** In what environment(s) the config value is loaded.
59
60
  *
@@ -70,6 +71,8 @@ type ConfigEnvInternal = Omit<ConfigEnv, 'client'> & {
70
71
  /** Load value only in production, or only in development. */
71
72
  production?: boolean;
72
73
  };
74
+ type ConfigValueSources = Record<string, // configName
75
+ ConfigValueSource[]>;
73
76
  type ConfigValueSource = {
74
77
  value?: unknown;
75
78
  configEnv: ConfigEnvInternal;
@@ -85,11 +88,13 @@ type ConfigValueSource = {
85
88
  type DefinedAtFilePath = DefinedAtFile & FilePath & {
86
89
  fileExportName?: string;
87
90
  };
88
- type ConfigValueSources = Record<string, ConfigValueSource[]>;
89
- type ConfigValuesComputed = Record<string, {
91
+ type ConfigValuesComputed = Record<string, // configName
92
+ {
90
93
  configEnv: ConfigEnvInternal;
91
94
  value: unknown;
92
95
  }>;
96
+ type ConfigValues = Record<string, // configName
97
+ ConfigValue>;
93
98
  type ConfigValue = ConfigValueStandard | ConfigValueCumulative | ConfigValueComputed;
94
99
  /** Defined by a unique source (thus unique file path). */
95
100
  type ConfigValueStandard = {
@@ -109,7 +114,6 @@ type ConfigValueComputed = {
109
114
  value: unknown;
110
115
  definedAtData: null;
111
116
  };
112
- type ConfigValues = Record<string, ConfigValue>;
113
117
  type DefinedAtData = DefinedAtFile | DefinedAtFile[] | null;
114
118
  type DefinedAtFile = {
115
119
  filePathToShowToUser: string;
@@ -1,14 +1,15 @@
1
- export { getPageContextExports };
1
+ export { getPageConfigUserFriendly };
2
+ export { getPageConfigUserFriendlyNew };
3
+ export type { PageConfigUserFriendly };
4
+ export type { Source };
5
+ export type { Sources };
6
+ export type { From };
2
7
  export type { ExportsAll };
3
- export type { PageContextExports };
4
8
  export type { ConfigEntries };
5
- export type { From };
6
- export type { Sources };
7
- export type { Source };
8
- import type { FileType } from './fileTypes.js';
9
- import type { PageConfigRuntimeLoaded } from './../page-configs/PageConfig.js';
10
- import type { PageFile } from './getPageFileObject.js';
11
- import { type ConfigDefinedAtOptional } from '../page-configs/getConfigDefinedAt.js';
9
+ import type { FileType } from '../getPageFiles/fileTypes.js';
10
+ import type { PageFile } from '../getPageFiles/getPageFileObject.js';
11
+ import type { ConfigValues, PageConfigRuntimeLoaded } from './PageConfig.js';
12
+ import { type ConfigDefinedAtOptional } from './getConfigDefinedAt.js';
12
13
  type ExportsAll = Record<string, {
13
14
  exportValue: unknown;
14
15
  exportSource: string;
@@ -29,11 +30,11 @@ type ConfigEntries = Record<string, {
29
30
  configDefinedAt: ConfigDefinedAtOptional;
30
31
  configDefinedByFile: string | null;
31
32
  }[]>;
32
- type PageContextExports = {
33
+ type PageConfigUserFriendly = {
34
+ config: Record<string, unknown>;
33
35
  source: Source;
34
36
  sources: Sources;
35
37
  from: From;
36
- config: Record<string, unknown>;
37
38
  configEntries: ConfigEntries;
38
39
  exports: Record<string, unknown>;
39
40
  exportsAll: ExportsAll;
@@ -70,4 +71,14 @@ type SourceConfigsComputed = {
70
71
  type: 'configsComputed';
71
72
  value: unknown;
72
73
  };
73
- declare function getPageContextExports(pageFiles: PageFile[], pageConfig: PageConfigRuntimeLoaded | null): PageContextExports;
74
+ declare function getPageConfigUserFriendly(pageFiles: PageFile[], pageConfig: PageConfigRuntimeLoaded | null): PageConfigUserFriendly;
75
+ declare function getPageConfigUserFriendlyNew(pageConfig: {
76
+ configValues: ConfigValues;
77
+ }): {
78
+ config: Record<string, unknown>;
79
+ configEntries: ConfigEntries;
80
+ exportsAll: ExportsAll;
81
+ source: Source;
82
+ sources: Sources;
83
+ from: From;
84
+ };