vike 0.4.168 → 0.4.170

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/dist/cjs/node/plugin/plugins/buildConfig.js +10 -2
  2. package/dist/cjs/node/plugin/plugins/commonConfig/assertResolveAlias.js +1 -1
  3. package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +19 -16
  4. package/dist/cjs/node/plugin/plugins/distFileNames.js +7 -1
  5. package/dist/cjs/node/plugin/plugins/envVars.js +1 -5
  6. package/dist/cjs/node/plugin/plugins/extractAssetsPlugin.js +1 -1
  7. package/dist/cjs/node/plugin/plugins/importUserCode/index.js +7 -7
  8. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getConfigValuesSerialized.js +14 -11
  9. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +7 -1
  10. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +11 -14
  11. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.js +129 -0
  12. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transformFileImports.js +8 -8
  13. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +53 -12
  14. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +82 -106
  15. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +2 -2
  16. package/dist/cjs/node/plugin/shared/getFilePath.js +50 -49
  17. package/dist/cjs/node/plugin/utils.js +2 -2
  18. package/dist/cjs/node/prerender/runPrerender.js +6 -5
  19. package/dist/cjs/node/prerender/utils.js +2 -1
  20. package/dist/cjs/node/runtime/html/serializePageContextClientSide.js +1 -0
  21. package/dist/cjs/node/runtime/index-common.js +14 -3
  22. package/dist/cjs/node/runtime/renderPage/createHttpResponseObject/getCacheControl.js +2 -1
  23. package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +25 -14
  24. package/dist/cjs/node/runtime/renderPage/log404/index.js +2 -2
  25. package/dist/cjs/node/runtime/renderPage/logErrorHint.js +1 -1
  26. package/dist/cjs/node/runtime/utils.js +2 -1
  27. package/dist/cjs/node/shared/assertV1Design.js +1 -1
  28. package/dist/cjs/node/shared/getClientEntry.js +2 -2
  29. package/dist/cjs/node/shared/prependEntriesDir.js +1 -0
  30. package/dist/cjs/node/shared/utils.js +0 -1
  31. package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +3 -3
  32. package/dist/cjs/shared/getPageFiles/getExports.js +8 -15
  33. package/dist/cjs/shared/getPageFiles.js +3 -6
  34. package/dist/cjs/shared/hooks/getHook.js +7 -6
  35. package/dist/cjs/shared/page-configs/getConfigDefinedAt.js +48 -0
  36. package/dist/cjs/shared/page-configs/{helpers/getConfigValue.js → getConfigValue.js} +6 -8
  37. package/dist/cjs/shared/page-configs/helpers.js +6 -11
  38. package/dist/cjs/shared/page-configs/serialize/assertPageConfigsSerialized.js +1 -1
  39. package/dist/cjs/shared/page-configs/serialize/parseConfigValuesImported.js +2 -1
  40. package/dist/cjs/shared/page-configs/serialize/parseConfigValuesSerialized.js +11 -6
  41. package/dist/cjs/shared/page-configs/serialize/parsePageConfigs.js +4 -3
  42. package/dist/cjs/shared/page-configs/serialize/serializeConfigValue.js +3 -3
  43. package/dist/cjs/shared/route/index.js +2 -2
  44. package/dist/cjs/shared/route/loadPageRoutes.js +12 -10
  45. package/dist/cjs/shared/route/resolveRouteFunction.js +8 -9
  46. package/dist/cjs/shared/route/resolveRouteString.js +5 -16
  47. package/dist/cjs/shared/route/utils.js +0 -1
  48. package/dist/cjs/shared/utils.js +1 -0
  49. package/dist/cjs/utils/assertPathFilesystemAbsolute.js +39 -0
  50. package/dist/cjs/utils/createErrorWithCleanStackTrace.js +1 -7
  51. package/dist/cjs/utils/debug.js +2 -1
  52. package/dist/cjs/utils/findFile.js +2 -1
  53. package/dist/cjs/utils/hasProp.js +9 -5
  54. package/dist/cjs/utils/injectRollupInputs.js +2 -1
  55. package/dist/cjs/utils/isArray.js +8 -0
  56. package/dist/cjs/utils/isArrayOfStrings.js +8 -0
  57. package/dist/cjs/utils/isDev.js +12 -4
  58. package/dist/cjs/utils/isNpmPackage.js +1 -1
  59. package/dist/cjs/utils/isObjectOfStrings.js +8 -0
  60. package/dist/cjs/utils/projectInfo.js +1 -1
  61. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.d.ts +3 -1
  62. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +2 -1
  63. package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +1 -0
  64. package/dist/esm/client/shared/getPageContextSerializedInHtml.d.ts +1 -0
  65. package/dist/esm/client/shared/getPageContextSerializedInHtml.js +1 -0
  66. package/dist/esm/client/shared/loadUserFilesClientSide.js +3 -7
  67. package/dist/esm/node/plugin/plugins/buildConfig.js +9 -1
  68. package/dist/esm/node/plugin/plugins/commonConfig/assertResolveAlias.js +2 -2
  69. package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +20 -17
  70. package/dist/esm/node/plugin/plugins/distFileNames.js +8 -2
  71. package/dist/esm/node/plugin/plugins/envVars.js +2 -6
  72. package/dist/esm/node/plugin/plugins/extractAssetsPlugin.js +1 -1
  73. package/dist/esm/node/plugin/plugins/importUserCode/index.js +9 -9
  74. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getConfigValuesSerialized.d.ts +2 -2
  75. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getConfigValuesSerialized.js +14 -11
  76. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +4 -3
  77. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +7 -1
  78. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/filesystemRouting.d.ts +2 -2
  79. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +12 -15
  80. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.d.ts +12 -0
  81. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.js +123 -0
  82. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transformFileImports.d.ts +8 -8
  83. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transformFileImports.js +7 -7
  84. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +54 -13
  85. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +82 -106
  86. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +1 -1
  87. package/dist/esm/node/plugin/shared/getFilePath.d.ts +11 -5
  88. package/dist/esm/node/plugin/shared/getFilePath.js +49 -48
  89. package/dist/esm/node/plugin/utils.d.ts +2 -2
  90. package/dist/esm/node/plugin/utils.js +2 -2
  91. package/dist/esm/node/prerender/runPrerender.js +6 -5
  92. package/dist/esm/node/prerender/utils.d.ts +2 -1
  93. package/dist/esm/node/prerender/utils.js +2 -1
  94. package/dist/esm/node/runtime/html/serializePageContextClientSide.d.ts +1 -0
  95. package/dist/esm/node/runtime/html/serializePageContextClientSide.js +1 -0
  96. package/dist/esm/node/runtime/index-common.d.ts +0 -4
  97. package/dist/esm/node/runtime/index-common.js +14 -3
  98. package/dist/esm/node/runtime/renderPage/createHttpResponseObject/getCacheControl.js +2 -1
  99. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +4 -4
  100. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +27 -16
  101. package/dist/esm/node/runtime/renderPage/log404/index.js +2 -2
  102. package/dist/esm/node/runtime/renderPage/logErrorHint.js +2 -2
  103. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +2 -7
  104. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +16 -16
  105. package/dist/esm/node/runtime/utils.d.ts +2 -1
  106. package/dist/esm/node/runtime/utils.js +2 -1
  107. package/dist/esm/node/shared/assertV1Design.js +1 -1
  108. package/dist/esm/node/shared/getClientEntry.js +1 -1
  109. package/dist/esm/node/shared/prependEntriesDir.js +1 -0
  110. package/dist/esm/node/shared/utils.d.ts +0 -1
  111. package/dist/esm/node/shared/utils.js +0 -1
  112. package/dist/esm/shared/getPageFiles/analyzeClientSide.js +1 -1
  113. package/dist/esm/shared/getPageFiles/getExports.d.ts +4 -5
  114. package/dist/esm/shared/getPageFiles/getExports.js +9 -16
  115. package/dist/esm/shared/getPageFiles.d.ts +1 -2
  116. package/dist/esm/shared/getPageFiles.js +1 -3
  117. package/dist/esm/shared/hooks/getHook.js +6 -5
  118. package/dist/esm/shared/page-configs/Config.d.ts +2 -2
  119. package/dist/esm/shared/page-configs/FilePath.d.ts +32 -22
  120. package/dist/esm/shared/page-configs/PageConfig.d.ts +27 -15
  121. package/dist/esm/shared/page-configs/getConfigDefinedAt.d.ts +11 -0
  122. package/dist/esm/shared/page-configs/getConfigDefinedAt.js +42 -0
  123. package/dist/esm/shared/page-configs/{helpers/getConfigValue.d.ts → getConfigValue.d.ts} +2 -2
  124. package/dist/esm/shared/page-configs/{helpers/getConfigValue.js → getConfigValue.js} +6 -8
  125. package/dist/esm/shared/page-configs/helpers.d.ts +3 -9
  126. package/dist/esm/shared/page-configs/helpers.js +6 -8
  127. package/dist/esm/shared/page-configs/serialize/PageConfigSerialized.d.ts +7 -4
  128. package/dist/esm/shared/page-configs/serialize/assertPageConfigsSerialized.js +2 -2
  129. package/dist/esm/shared/page-configs/serialize/parseConfigValuesImported.js +2 -1
  130. package/dist/esm/shared/page-configs/serialize/parseConfigValuesSerialized.js +12 -7
  131. package/dist/esm/shared/page-configs/serialize/parsePageConfigs.js +5 -4
  132. package/dist/esm/shared/page-configs/serialize/serializeConfigValue.js +3 -3
  133. package/dist/esm/shared/route/index.js +2 -2
  134. package/dist/esm/shared/route/loadPageRoutes.d.ts +3 -3
  135. package/dist/esm/shared/route/loadPageRoutes.js +10 -8
  136. package/dist/esm/shared/route/resolveRouteFunction.d.ts +1 -1
  137. package/dist/esm/shared/route/resolveRouteFunction.js +9 -10
  138. package/dist/esm/shared/route/resolveRouteString.d.ts +0 -2
  139. package/dist/esm/shared/route/resolveRouteString.js +5 -16
  140. package/dist/esm/shared/route/utils.d.ts +0 -1
  141. package/dist/esm/shared/route/utils.js +0 -1
  142. package/dist/esm/shared/utils.d.ts +1 -0
  143. package/dist/esm/shared/utils.js +1 -0
  144. package/dist/esm/utils/assertPathFilesystemAbsolute.d.ts +6 -0
  145. package/dist/esm/utils/assertPathFilesystemAbsolute.js +33 -0
  146. package/dist/esm/utils/createErrorWithCleanStackTrace.js +1 -7
  147. package/dist/esm/utils/debug.js +2 -1
  148. package/dist/esm/utils/findFile.js +2 -1
  149. package/dist/esm/utils/hasProp.d.ts +1 -0
  150. package/dist/esm/utils/hasProp.js +9 -5
  151. package/dist/esm/utils/injectRollupInputs.js +2 -1
  152. package/dist/esm/utils/isArray.d.ts +1 -0
  153. package/dist/esm/utils/isArray.js +4 -0
  154. package/dist/esm/utils/isArrayOfStrings.d.ts +2 -0
  155. package/dist/esm/utils/isArrayOfStrings.js +5 -0
  156. package/dist/esm/utils/isDev.d.ts +3 -0
  157. package/dist/esm/utils/isDev.js +11 -3
  158. package/dist/esm/utils/isNpmPackage.js +1 -1
  159. package/dist/esm/utils/isObjectOfStrings.d.ts +2 -0
  160. package/dist/esm/utils/isObjectOfStrings.js +5 -0
  161. package/dist/esm/utils/projectInfo.d.ts +2 -2
  162. package/dist/esm/utils/projectInfo.js +1 -1
  163. package/package.json +3 -2
  164. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveImportPath.js +0 -136
  165. package/dist/cjs/shared/page-configs/helpers/getConfigDefinedAtString.js +0 -43
  166. package/dist/cjs/utils/assertPathIsFilesystemAbsolute.js +0 -21
  167. package/dist/cjs/utils/isStringRecord.js +0 -7
  168. package/dist/cjs/utils/mergeCumulativeValues.js +0 -21
  169. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveImportPath.d.ts +0 -13
  170. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveImportPath.js +0 -130
  171. package/dist/esm/shared/page-configs/helpers/getConfigDefinedAtString.d.ts +0 -7
  172. package/dist/esm/shared/page-configs/helpers/getConfigDefinedAtString.js +0 -37
  173. package/dist/esm/utils/assertPathIsFilesystemAbsolute.d.ts +0 -3
  174. package/dist/esm/utils/assertPathIsFilesystemAbsolute.js +0 -15
  175. package/dist/esm/utils/isStringRecord.d.ts +0 -1
  176. package/dist/esm/utils/isStringRecord.js +0 -3
  177. package/dist/esm/utils/mergeCumulativeValues.d.ts +0 -2
  178. package/dist/esm/utils/mergeCumulativeValues.js +0 -18
@@ -5,7 +5,7 @@ export { runPrerender_forceExit };
5
5
  import '../runtime/page-files/setup.js';
6
6
  import path from 'path';
7
7
  import { route } from '../../shared/route/index.js';
8
- import { assert, assertUsage, assertWarning, hasProp, projectInfo, objectAssign, isObjectWithKeys, isCallable, getOutDirs, isPropertyGetter, assertPosixPath, urlToFile, isPlainObject, handleNodeEnv_prerender, pLimit, assertPathIsFilesystemAbsolute } from './utils.js';
8
+ import { assert, assertUsage, assertWarning, hasProp, projectInfo, objectAssign, isObjectWithKeys, isCallable, getOutDirs, isPropertyGetter, assertPosixPath, urlToFile, isPlainObject, handleNodeEnv_prerender, pLimit, assertPathFilesystemAbsolute, isArray } from './utils.js';
9
9
  import { prerenderPage, prerender404Page, getRenderContext, getPageContextInitEnhanced } from '../runtime/renderPage/renderPageAlreadyRouted.js';
10
10
  import pc from '@brillout/picocolors';
11
11
  import { cpus } from 'os';
@@ -15,7 +15,8 @@ import { getConfigVike } from '../shared/getConfigVike.js';
15
15
  import { getPageFilesServerSide } from '../../shared/getPageFiles.js';
16
16
  import { getPageContextRequestUrl } from '../../shared/getPageContextRequestUrl.js';
17
17
  import { getUrlFromRouteString } from '../../shared/route/resolveRouteString.js';
18
- import { getConfigValue, getConfigValueFilePathToShowToUser } from '../../shared/page-configs/helpers.js';
18
+ import { getConfigValueFilePathToShowToUser } from '../../shared/page-configs/helpers.js';
19
+ import { getConfigValue } from '../../shared/page-configs/getConfigValue.js';
19
20
  import { loadConfigValues } from '../../shared/page-configs/loadConfigValues.js';
20
21
  import { isErrorPage } from '../../shared/error-page.js';
21
22
  import { addUrlComputedProps } from '../../shared/addUrlComputedProps.js';
@@ -75,7 +76,7 @@ async function runPrerender(options, manuallyTriggered) {
75
76
  }
76
77
  const { partial = false, noExtraDir = false, parallel = true } = prerenderConfig || {};
77
78
  const concurrencyLimit = pLimit(parallel === false || parallel === 0 ? 1 : parallel === true || parallel === undefined ? cpus().length : parallel);
78
- assertPathIsFilesystemAbsolute(outDirRoot); // Needed for loadImportBuild(outDir) of @brillout/vite-plugin-server-entry
79
+ assertPathFilesystemAbsolute(outDirRoot); // Needed for loadImportBuild(outDir) of @brillout/vite-plugin-server-entry
79
80
  await initGlobalContext(true, outDirRoot);
80
81
  const renderContext = await getRenderContext();
81
82
  renderContext.pageFilesAll.forEach(assertExportNames);
@@ -115,7 +116,7 @@ async function collectDoNoPrerenderList(renderContext, pageConfigs, doNotPrerend
115
116
  const configName = 'prerender';
116
117
  const configValue = getConfigValue(pageConfig, configName, 'boolean');
117
118
  if (configValue?.value === false) {
118
- const configValueFilePathToShowToUser = getConfigValueFilePathToShowToUser(configValue);
119
+ const configValueFilePathToShowToUser = getConfigValueFilePathToShowToUser(configValue.definedAtData);
119
120
  assert(configValueFilePathToShowToUser);
120
121
  doNotPrerenderList.push({
121
122
  pageId: pageConfig.pageId,
@@ -609,7 +610,7 @@ async function write(urlOriginal, pageContext, fileExtension, fileContent, root,
609
610
  }
610
611
  }
611
612
  function normalizeOnPrerenderHookResult(prerenderResult, prerenderHookFile, hookName) {
612
- if (Array.isArray(prerenderResult)) {
613
+ if (isArray(prerenderResult)) {
613
614
  return prerenderResult.map(normalize);
614
615
  }
615
616
  else {
@@ -11,4 +11,5 @@ export * from '../../utils/urlToFile.js';
11
11
  export * from '../../utils/isPlainObject.js';
12
12
  export * from '../../utils/assertNodeEnv.js';
13
13
  export * from '../../utils/pLimit.js';
14
- export * from '../../utils/assertPathIsFilesystemAbsolute.js';
14
+ export * from '../../utils/assertPathFilesystemAbsolute.js';
15
+ export * from '../../utils/isArray.js';
@@ -13,4 +13,5 @@ export * from '../../utils/urlToFile.js';
13
13
  export * from '../../utils/isPlainObject.js';
14
14
  export * from '../../utils/assertNodeEnv.js';
15
15
  export * from '../../utils/pLimit.js';
16
- export * from '../../utils/assertPathIsFilesystemAbsolute.js';
16
+ export * from '../../utils/assertPathFilesystemAbsolute.js';
17
+ export * from '../../utils/isArray.js';
@@ -5,6 +5,7 @@ import type { PageConfigRuntime } from '../../../shared/page-configs/PageConfig.
5
5
  import type { UrlRedirect } from '../../../shared/route/abort.js';
6
6
  type PageContextSerialization = {
7
7
  _pageId: string;
8
+ routeParams: Record<string, string>;
8
9
  _passToClient: string[];
9
10
  _pageConfigs: PageConfigRuntime[];
10
11
  is404: null | boolean;
@@ -19,6 +19,7 @@ const PASS_TO_CLIENT = [
19
19
  */
20
20
  pageContextInitIsPassedToClient,
21
21
  '_pageId',
22
+ 'routeParams',
22
23
  'data' // for data() hook
23
24
  ];
24
25
  const PASS_TO_CLIENT_ERROR_PAGE = ['pageProps', 'is404', isServerSideError];
@@ -5,8 +5,4 @@ export { PROJECT_VERSION as version } from './utils.js';
5
5
  export { getGlobalContextSync, getGlobalContextAsync } from './globalContext.js';
6
6
  export { injectAssets__public as _injectAssets } from './html/injectAssets/injectAssets__public.js';
7
7
  export { createPageRenderer } from '../createPageRenderer.js';
8
- declare global {
9
- var _isVitePluginSsr: true;
10
- var _isVike: true;
11
- }
12
8
  import './page-files/setup.js';
@@ -7,7 +7,18 @@ export { getGlobalContextSync, getGlobalContextAsync } from './globalContext.js'
7
7
  export { injectAssets__public as _injectAssets } from './html/injectAssets/injectAssets__public.js';
8
8
  // TODO/v1-release: remove
9
9
  export { createPageRenderer } from '../createPageRenderer.js';
10
- // Help Telefunc detect the user's stack
11
- globalThis._isVitePluginSsr = true;
12
- globalThis._isVike = true;
10
+ addEcosystemStamp();
13
11
  import './page-files/setup.js';
12
+ // Used by:
13
+ // - Telefunc (to detect the user's stack https://github.com/brillout/telefunc/blob/8288310e88e06a42b710d39c39fb502364ca6d30/telefunc/utils/isVikeApp.ts#L4)
14
+ function addEcosystemStamp() {
15
+ const g = globalThis;
16
+ g._isVikeApp =
17
+ /* Don't set to true so that consumers do `!!globalThis._isVikeApp` instead of `globalThis._isVikeApp === true`.
18
+ true
19
+ */
20
+ // 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.)
21
+ {};
22
+ // We keep the old stamp for older Telefunc versions
23
+ g._isVitePluginSsr = true;
24
+ }
@@ -1,5 +1,6 @@
1
1
  export { getCacheControl };
2
- import { getConfigValue, getPageConfig } from '../../../../shared/page-configs/helpers.js';
2
+ import { getPageConfig } from '../../../../shared/page-configs/helpers.js';
3
+ import { getConfigValue } from '../../../../shared/page-configs/getConfigValue.js';
3
4
  const defaultValue = 'no-store, max-age=0';
4
5
  function getCacheControl(pageId, pageConfigs) {
5
6
  // TODO/v1-release: remove
@@ -15,15 +15,15 @@ type PageFiles = PromiseType<ReturnType<typeof loadUserFilesServerSide>>;
15
15
  declare function loadUserFilesServerSide(pageContext: {
16
16
  _pageId: string;
17
17
  } & PageContext_loadUserFilesServerSide): Promise<{
18
+ Page: unknown;
19
+ _isHtmlOnly: boolean;
20
+ _passToClient: string[];
21
+ _pageFilePathsLoaded: string[];
18
22
  config: Record<string, unknown>;
19
23
  configEntries: import("../../../shared/getPageFiles/getExports.js").ConfigEntries;
20
24
  exports: Record<string, unknown>;
21
25
  exportsAll: import("../../../shared/getPageFiles/getExports.js").ExportsAll;
22
26
  pageExports: Record<string, unknown>;
23
- Page: unknown;
24
- _isHtmlOnly: boolean;
25
- _passToClient: string[];
26
- _pageFilePathsLoaded: string[];
27
27
  } & {
28
28
  __getPageAssets: () => Promise<PageAsset[]>;
29
29
  }>;
@@ -1,7 +1,7 @@
1
1
  export { loadUserFilesServerSide };
2
- import { getExportUnion, getPageFilesServerSide, getExports } from '../../../shared/getPageFiles.js';
2
+ import { getPageFilesServerSide, getPageContextExports } from '../../../shared/getPageFiles.js';
3
3
  import { analyzePageClientSideInit } from '../../../shared/getPageFiles/analyzePageClientSide.js';
4
- import { assertWarning, objectAssign } from '../utils.js';
4
+ import { assert, assertUsage, assertWarning, hasProp, isArrayOfStrings, objectAssign, isArray } from '../utils.js';
5
5
  import { getPageAssets } from './getPageAssets.js';
6
6
  import { debugPageFiles } from './debugPageFiles.js';
7
7
  import { findPageConfig } from '../../../shared/page-configs/findPageConfig.js';
@@ -10,21 +10,36 @@ import { getGlobalContext } from '../globalContext.js';
10
10
  import { loadConfigValues } from '../../../shared/page-configs/loadConfigValues.js';
11
11
  async function loadUserFilesServerSide(pageContext) {
12
12
  const pageConfig = findPageConfig(pageContext._pageConfigs, pageContext._pageId); // Make pageConfig globally available as pageContext._pageConfig?
13
- const [{ config, configEntries, exports, exportsAll, pageExports, pageFilesLoaded, pageConfigLoaded }] = await Promise.all([
13
+ const [{ pageFilesLoaded, pageConfigLoaded, ...pageContextExports }] = await Promise.all([
14
14
  loadPageUserFiles(pageContext._pageFilesAll, pageConfig, pageContext._pageId, !getGlobalContext().isProduction),
15
15
  analyzePageClientSideInit(pageContext._pageFilesAll, pageContext._pageId, { sharedPageFilesAlreadyLoaded: true })
16
16
  ]);
17
17
  const { isHtmlOnly, isClientRouting, clientEntries, clientDependencies, pageFilesClientSide, pageFilesServerSide } = analyzePage(pageContext._pageFilesAll, pageConfig, pageContext._pageId);
18
+ const isV1Design = !!pageConfig;
19
+ const passToClient = [];
20
+ const errMsg = ' should be an array of strings.';
21
+ if (!isV1Design) {
22
+ pageContextExports.exportsAll.passToClient?.forEach((e) => {
23
+ assertUsage(hasProp(e, 'exportValue', 'string[]'), `${e.exportSource}${errMsg}`);
24
+ passToClient.push(...e.exportValue);
25
+ });
26
+ }
27
+ else {
28
+ pageContextExports.configEntries.passToClient?.forEach((e) => {
29
+ const { configValue } = e;
30
+ assert(isArray(configValue));
31
+ const vals = configValue.flat(1);
32
+ // TODO: improve error message by using (upcoming) new data structure instead of configEntries
33
+ assertUsage(isArrayOfStrings(vals), `${e.configDefinedAt}${errMsg}`);
34
+ passToClient.push(...vals);
35
+ });
36
+ }
18
37
  const pageContextAddendum = {};
19
38
  objectAssign(pageContextAddendum, {
20
- config,
21
- configEntries,
22
- exports,
23
- exportsAll,
24
- pageExports,
25
- Page: exports.Page,
39
+ ...pageContextExports,
40
+ Page: pageContextExports.exports.Page,
26
41
  _isHtmlOnly: isHtmlOnly,
27
- _passToClient: getExportUnion(exportsAll, 'passToClient'),
42
+ _passToClient: passToClient,
28
43
  _pageFilePathsLoaded: pageFilesLoaded.map((p) => p.filePath)
29
44
  });
30
45
  objectAssign(pageContextAddendum, {
@@ -84,13 +99,9 @@ async function loadPageUserFiles(pageFilesAll, pageConfig, pageId, isDev) {
84
99
  const pageFilesServerSide = getPageFilesServerSide(pageFilesAll, pageId);
85
100
  const pageConfigLoaded = !pageConfig ? null : await loadConfigValues(pageConfig, isDev);
86
101
  await Promise.all(pageFilesServerSide.map((p) => p.loadFile?.()));
87
- const { config, configEntries, exports, exportsAll, pageExports } = getExports(pageFilesServerSide, pageConfigLoaded);
102
+ const pageContextExports = getPageContextExports(pageFilesServerSide, pageConfigLoaded);
88
103
  return {
89
- config,
90
- configEntries,
91
- exports,
92
- exportsAll,
93
- pageExports,
104
+ ...pageContextExports,
94
105
  pageFilesLoaded: pageFilesServerSide,
95
106
  pageConfigLoaded
96
107
  };
@@ -38,8 +38,8 @@ function getRoutesInfo(pageRoutes) {
38
38
  routeDefinedBy = pageRoute.routeFilesystemDefinedBy;
39
39
  }
40
40
  else {
41
- assert(pageRoute.routeDefinedAt);
42
- routeDefinedBy = pageRoute.routeDefinedAt;
41
+ assert(pageRoute.routeDefinedAtString);
42
+ routeDefinedBy = pageRoute.routeDefinedAtString;
43
43
  }
44
44
  if (pageRoute.routeType === 'STRING') {
45
45
  routeStr = pageRoute.routeString;
@@ -3,7 +3,7 @@ export { logErrorHint };
3
3
  export { isCjsEsmError };
4
4
  export { isKnownError };
5
5
  export { getHint };
6
- import { assert, formatHintLog, isNotNullish, isObject, unique } from '../utils.js';
6
+ import { assert, formatHintLog, isArray, isNotNullish, isObject, unique } from '../utils.js';
7
7
  import pc from '@brillout/picocolors';
8
8
  const knownErrors = [
9
9
  {
@@ -78,7 +78,7 @@ function isCjsEsmError(error) {
78
78
  return packageNames;
79
79
  }
80
80
  function normalizeRes(res) {
81
- let packageNames = Array.isArray(res) ? res : [res];
81
+ let packageNames = isArray(res) ? res : [res];
82
82
  packageNames = unique(packageNames.filter(isNotNullish).filter((packageName) => packageName !== '@brillout/import'));
83
83
  if (packageNames.length === 0)
84
84
  return false;
@@ -2,9 +2,9 @@ export { preparePageContextForUserConsumptionServerSide };
2
2
  export type { PageContextForUserConsumptionServerSide };
3
3
  import { PageContextUrlComputedPropsInternal } from '../../../shared/addUrlComputedProps.js';
4
4
  import type { PageConfigRuntime } from '../../../shared/page-configs/PageConfig.js';
5
- import type { ConfigEntries, ExportsAll } from '../../../shared/getPageFiles/getExports.js';
5
+ import type { PageContextExports } from '../../../shared/getPageFiles/getExports.js';
6
6
  import { PageContextBuiltInServerInternal } from '../../../shared/types.js';
7
- type PageContextForUserConsumptionServerSide = PageContextBuiltInServerInternal & {
7
+ type PageContextForUserConsumptionServerSide = PageContextBuiltInServerInternal & PageContextExports & {
8
8
  urlOriginal: string;
9
9
  /** @deprecated */
10
10
  url: string;
@@ -12,11 +12,6 @@ type PageContextForUserConsumptionServerSide = PageContextBuiltInServerInternal
12
12
  urlParsed: PageContextUrlComputedPropsInternal['urlParsed'];
13
13
  routeParams: Record<string, string>;
14
14
  Page: unknown;
15
- pageExports: Record<string, unknown>;
16
- config: Record<string, unknown>;
17
- configEntries: ConfigEntries;
18
- exports: Record<string, unknown>;
19
- exportsAll: ExportsAll;
20
15
  _pageId: string;
21
16
  _pageConfigs: PageConfigRuntime[];
22
17
  is404: null | boolean;
@@ -57,15 +57,15 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
57
57
  } & import("../../../shared/addUrlComputedProps.js").PageContextUrlComputedPropsClient & {
58
58
  _urlRewrite: string | null;
59
59
  } & {
60
+ Page: unknown;
61
+ _isHtmlOnly: boolean;
62
+ _passToClient: string[];
63
+ _pageFilePathsLoaded: string[];
60
64
  config: Record<string, unknown>;
61
65
  configEntries: import("../../../shared/getPageFiles/getExports.js").ConfigEntries;
62
66
  exports: Record<string, unknown>;
63
67
  exportsAll: import("../../../shared/getPageFiles/getExports.js").ExportsAll;
64
68
  pageExports: Record<string, unknown>;
65
- Page: unknown;
66
- _isHtmlOnly: boolean;
67
- _passToClient: string[];
68
- _pageFilePathsLoaded: string[];
69
69
  } & {
70
70
  __getPageAssets: () => Promise<import("./getPageAssets.js").PageAsset[]>;
71
71
  } & {
@@ -104,15 +104,15 @@ declare function prerenderPage(pageContext: PageContextInitEnhanced & PageFiles
104
104
  } & import("../../../shared/addUrlComputedProps.js").PageContextUrlComputedPropsClient & {
105
105
  _urlRewrite: string | null;
106
106
  } & {
107
+ Page: unknown;
108
+ _isHtmlOnly: boolean;
109
+ _passToClient: string[];
110
+ _pageFilePathsLoaded: string[];
107
111
  config: Record<string, unknown>;
108
112
  configEntries: import("../../../shared/getPageFiles/getExports.js").ConfigEntries;
109
113
  exports: Record<string, unknown>;
110
114
  exportsAll: import("../../../shared/getPageFiles/getExports.js").ExportsAll;
111
115
  pageExports: Record<string, unknown>;
112
- Page: unknown;
113
- _isHtmlOnly: boolean;
114
- _passToClient: string[];
115
- _pageFilePathsLoaded: string[];
116
116
  } & {
117
117
  __getPageAssets: () => Promise<import("./getPageAssets.js").PageAsset[]>;
118
118
  } & {
@@ -152,15 +152,15 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
152
152
  } & import("../../../shared/addUrlComputedProps.js").PageContextUrlComputedPropsClient & {
153
153
  _urlRewrite: string | null;
154
154
  } & {
155
+ Page: unknown;
156
+ _isHtmlOnly: boolean;
157
+ _passToClient: string[];
158
+ _pageFilePathsLoaded: string[];
155
159
  config: Record<string, unknown>;
156
160
  configEntries: import("../../../shared/getPageFiles/getExports.js").ConfigEntries;
157
161
  exports: Record<string, unknown>;
158
162
  exportsAll: import("../../../shared/getPageFiles/getExports.js").ExportsAll;
159
163
  pageExports: Record<string, unknown>;
160
- Page: unknown;
161
- _isHtmlOnly: boolean;
162
- _passToClient: string[];
163
- _pageFilePathsLoaded: string[];
164
164
  } & {
165
165
  __getPageAssets: () => Promise<import("./getPageAssets.js").PageAsset[]>;
166
166
  } & {
@@ -199,15 +199,15 @@ declare function prerender404Page(renderContext: RenderContext, pageContextInit_
199
199
  } & import("../../../shared/addUrlComputedProps.js").PageContextUrlComputedPropsClient & {
200
200
  _urlRewrite: string | null;
201
201
  } & {
202
+ Page: unknown;
203
+ _isHtmlOnly: boolean;
204
+ _passToClient: string[];
205
+ _pageFilePathsLoaded: string[];
202
206
  config: Record<string, unknown>;
203
207
  configEntries: import("../../../shared/getPageFiles/getExports.js").ConfigEntries;
204
208
  exports: Record<string, unknown>;
205
209
  exportsAll: import("../../../shared/getPageFiles/getExports.js").ExportsAll;
206
210
  pageExports: Record<string, unknown>;
207
- Page: unknown;
208
- _isHtmlOnly: boolean;
209
- _passToClient: string[];
210
- _pageFilePathsLoaded: string[];
211
211
  } & {
212
212
  __getPageAssets: () => Promise<import("./getPageAssets.js").PageAsset[]>;
213
213
  } & {
@@ -12,6 +12,7 @@ export * from '../../utils/parseUrl-extras.js';
12
12
  export * from '../../utils/slice.js';
13
13
  export * from '../../utils/sorter.js';
14
14
  export * from '../../utils/projectInfo.js';
15
+ export * from '../../utils/isArray.js';
15
16
  export * from '../../utils/isObject.js';
16
17
  export * from '../../utils/objectAssign.js';
17
18
  export * from '../../utils/PromiseType.js';
@@ -35,7 +36,6 @@ export * from '../../utils/isNotNullish.js';
35
36
  export * from '../../utils/isScriptFile.js';
36
37
  export * from '../../utils/removeFileExtention.js';
37
38
  export * from '../../utils/objectKeys.js';
38
- export * from '../../utils/isStringRecord.js';
39
39
  export * from '../../utils/getFileExtension.js';
40
40
  export * from '../../utils/assertIsNotProductionRuntime.js';
41
41
  export * from '../../utils/virtual-files.js';
@@ -48,3 +48,4 @@ export * from '../../utils/getTerminWidth.js';
48
48
  export * from '../../utils/truncateString.js';
49
49
  export * from '../../utils/formatHintLog.js';
50
50
  export * from '../../utils/joinEnglish.js';
51
+ export * from '../../utils/isArrayOfStrings.js';
@@ -15,6 +15,7 @@ export * from '../../utils/parseUrl-extras.js';
15
15
  export * from '../../utils/slice.js';
16
16
  export * from '../../utils/sorter.js';
17
17
  export * from '../../utils/projectInfo.js';
18
+ export * from '../../utils/isArray.js';
18
19
  export * from '../../utils/isObject.js';
19
20
  export * from '../../utils/objectAssign.js';
20
21
  export * from '../../utils/PromiseType.js';
@@ -38,7 +39,6 @@ export * from '../../utils/isNotNullish.js';
38
39
  export * from '../../utils/isScriptFile.js';
39
40
  export * from '../../utils/removeFileExtention.js';
40
41
  export * from '../../utils/objectKeys.js';
41
- export * from '../../utils/isStringRecord.js';
42
42
  export * from '../../utils/getFileExtension.js';
43
43
  export * from '../../utils/assertIsNotProductionRuntime.js';
44
44
  export * from '../../utils/virtual-files.js';
@@ -51,3 +51,4 @@ export * from '../../utils/getTerminWidth.js';
51
51
  export * from '../../utils/truncateString.js';
52
52
  export * from '../../utils/formatHintLog.js';
53
53
  export * from '../../utils/joinEnglish.js';
54
+ export * from '../../utils/isArrayOfStrings.js';
@@ -10,7 +10,7 @@ function assertV1Design(isOldDesign, pageConfigs, pageFilesAll) {
10
10
  const indent = '- ';
11
11
  const filesV1 = unique(pageConfigs
12
12
  .map((p) => Object.values(p.configValues)
13
- .map(getConfigValueFilePathToShowToUser)
13
+ .map((c) => getConfigValueFilePathToShowToUser(c.definedAtData))
14
14
  .filter(isNotNullish)
15
15
  .map((filePathToShowToUser) => indent + filePathToShowToUser))
16
16
  .flat(2));
@@ -1,5 +1,5 @@
1
1
  export { getClientEntry };
2
- import { getConfigValue } from '../../shared/page-configs/helpers.js';
2
+ import { getConfigValue } from '../../shared/page-configs/getConfigValue.js';
3
3
  function getClientEntry(pageConfig) {
4
4
  const configName = 'client';
5
5
  const configValue = getConfigValue(pageConfig, configName, 'string');
@@ -5,6 +5,7 @@ function prependEntriesDir(entryName) {
5
5
  entryName = entryName.slice(1);
6
6
  }
7
7
  assert(!entryName.startsWith('/'));
8
+ assert(entryName);
8
9
  entryName = `entries/${entryName}`;
9
10
  return entryName;
10
11
  }
@@ -4,7 +4,6 @@ export * from '../../utils/isPlainObject.js';
4
4
  export * from '../../utils/projectInfo.js';
5
5
  export * from '../../utils/checkType.js';
6
6
  export * from '../../utils/hasProp.js';
7
- export * from '../../utils/isStringRecord.js';
8
7
  export * from '../../utils/objectAssign.js';
9
8
  export * from '../../utils/checkType.js';
10
9
  export * from '../../utils/hasProp.js';
@@ -6,7 +6,6 @@ export * from '../../utils/isPlainObject.js';
6
6
  export * from '../../utils/projectInfo.js';
7
7
  export * from '../../utils/checkType.js';
8
8
  export * from '../../utils/hasProp.js';
9
- export * from '../../utils/isStringRecord.js';
10
9
  export * from '../../utils/objectAssign.js';
11
10
  export * from '../../utils/checkType.js';
12
11
  export * from '../../utils/hasProp.js';
@@ -1,5 +1,5 @@
1
1
  export { analyzeClientSide };
2
- import { getConfigValue } from '../page-configs/helpers.js';
2
+ import { getConfigValue } from '../page-configs/getConfigValue.js';
3
3
  import { analyzePageClientSide } from './analyzePageClientSide.js';
4
4
  function analyzeClientSide(pageConfig, pageFilesAll, pageId) {
5
5
  // V1 design
@@ -1,11 +1,11 @@
1
- export { getExportUnion };
2
- export { getExports };
1
+ export { getPageContextExports };
3
2
  export type { ExportsAll };
4
3
  export type { PageContextExports };
5
4
  export type { ConfigEntries };
6
5
  import type { FileType } from './fileTypes.js';
7
6
  import type { PageConfigRuntimeLoaded } from './../page-configs/PageConfig.js';
8
7
  import type { PageFile } from './getPageFileObject.js';
8
+ import { type ConfigDefinedAtOptional } from '../page-configs/getConfigDefinedAt.js';
9
9
  type ExportsAll = Record<string, {
10
10
  exportValue: unknown;
11
11
  exportSource: string;
@@ -23,7 +23,7 @@ type ExportsAll = Record<string, {
23
23
  */
24
24
  type ConfigEntries = Record<string, {
25
25
  configValue: unknown;
26
- configDefinedAt: string;
26
+ configDefinedAt: ConfigDefinedAtOptional;
27
27
  configDefinedByFile: string | null;
28
28
  }[]>;
29
29
  type PageContextExports = {
@@ -34,5 +34,4 @@ type PageContextExports = {
34
34
  /** @deprecated */
35
35
  pageExports: Record<string, unknown>;
36
36
  };
37
- declare function getExports(pageFiles: PageFile[], pageConfig: PageConfigRuntimeLoaded | null): PageContextExports;
38
- declare function getExportUnion(exportsAll: ExportsAll, propName: string): string[];
37
+ declare function getPageContextExports(pageFiles: PageFile[], pageConfig: PageConfigRuntimeLoaded | null): PageContextExports;
@@ -1,11 +1,11 @@
1
- export { getExportUnion };
2
- export { getExports };
1
+ export { getPageContextExports };
3
2
  import { isScriptFile, isTemplateFile } from '../../utils/isScriptFile.js';
4
- import { assert, hasProp, isObject, assertWarning, assertUsage, makeLast, isBrowser } from '../utils.js';
3
+ import { assert, isObject, assertWarning, assertUsage, makeLast, isBrowser } from '../utils.js';
5
4
  import { assertDefaultExports, forbiddenDefaultExports } from './assert_exports_old_design.js';
6
- import { getConfigDefinedAtString, getConfigValueFilePathToShowToUser } from '../page-configs/helpers.js';
5
+ import { getConfigDefinedAtOptional } from '../page-configs/getConfigDefinedAt.js';
6
+ import { getConfigValueFilePathToShowToUser } from '../page-configs/helpers.js';
7
7
  import pc from '@brillout/picocolors';
8
- function getExports(pageFiles, pageConfig) {
8
+ function getPageContextExports(pageFiles, pageConfig) {
9
9
  const configEntries = {};
10
10
  const config = {};
11
11
  const exportsAll = {};
@@ -30,8 +30,8 @@ function getExports(pageFiles, pageConfig) {
30
30
  if (pageConfig) {
31
31
  Object.entries(pageConfig.configValues).forEach(([configName, configValue]) => {
32
32
  const { value } = configValue;
33
- const configValueFilePathToShowToUser = getConfigValueFilePathToShowToUser(configValue);
34
- const configDefinedAt = getConfigDefinedAtString('Config', configName, configValue);
33
+ const configValueFilePathToShowToUser = getConfigValueFilePathToShowToUser(configValue.definedAtData);
34
+ const configDefinedAt = getConfigDefinedAtOptional('Config', configName, configValue.definedAtData);
35
35
  config[configName] = config[configName] ?? value;
36
36
  configEntries[configName] = configEntries[configName] ?? [];
37
37
  // Currently each configName has only one entry. Adding an entry for each overriden config value isn't implemented yet. (This is an isomorphic file and it isn't clear whether this can/should be implemented on the client-side. We should load a minimum amount of code on the client-side.)
@@ -69,7 +69,7 @@ function getExports(pageFiles, pageConfig) {
69
69
  });
70
70
  assert(!('default' in exports));
71
71
  assert(!('default' in exportsAll));
72
- return {
72
+ const pageContextExports = {
73
73
  config,
74
74
  configEntries,
75
75
  // TODO/v1-release: remove
@@ -77,6 +77,7 @@ function getExports(pageFiles, pageConfig) {
77
77
  exportsAll,
78
78
  pageExports
79
79
  };
80
+ return pageContextExports;
80
81
  }
81
82
  function getExportValues(pageFile) {
82
83
  const { filePath, fileExports } = pageFile;
@@ -127,11 +128,3 @@ function createObjectWithDeprecationWarning() {
127
128
  }
128
129
  });
129
130
  }
130
- function getExportUnion(exportsAll, propName) {
131
- return (exportsAll[propName]
132
- ?.map((e) => {
133
- assertUsage(hasProp(e, 'exportValue', 'string[]'), `${e.exportSource} should be an array of strings.`);
134
- return e.exportValue;
135
- })
136
- .flat() ?? []);
137
- }
@@ -1,9 +1,8 @@
1
1
  export type { PageFile } from './getPageFiles/getPageFileObject.js';
2
2
  export type { ExportsAll, PageContextExports } from './getPageFiles/getExports.js';
3
- export { getExportUnion } from './getPageFiles/getExports.js';
4
3
  export { getPageFilesAll } from './getPageFiles/setPageFiles.js';
5
4
  export { setPageFiles } from './getPageFiles/setPageFiles.js';
6
5
  export { setPageFilesAsync } from './getPageFiles/setPageFiles.js';
7
6
  export { getPageFilesClientSide } from './getPageFiles/getAllPageIdFiles.js';
8
7
  export { getPageFilesServerSide } from './getPageFiles/getAllPageIdFiles.js';
9
- export { getExports } from './getPageFiles/getExports.js';
8
+ export { getPageContextExports } from './getPageFiles/getExports.js';
@@ -1,8 +1,6 @@
1
- // Utils
2
- export { getExportUnion } from './getPageFiles/getExports.js';
3
1
  export { getPageFilesAll } from './getPageFiles/setPageFiles.js';
4
2
  export { setPageFiles } from './getPageFiles/setPageFiles.js';
5
3
  export { setPageFilesAsync } from './getPageFiles/setPageFiles.js';
6
4
  export { getPageFilesClientSide } from './getPageFiles/getAllPageIdFiles.js';
7
5
  export { getPageFilesServerSide } from './getPageFiles/getAllPageIdFiles.js';
8
- export { getExports } from './getPageFiles/getExports.js';
6
+ export { getPageContextExports } from './getPageFiles/getExports.js';
@@ -7,7 +7,8 @@ export { setIsPrerenderering };
7
7
  // We export for old V0.4 design which doesn't support configooksTimeout
8
8
  export { getHookTimeoutDefault };
9
9
  import { getGlobalObject } from '../../utils/getGlobalObject.js';
10
- import { getConfigValue, getHookFilePathToShowToUser } from '../page-configs/helpers.js';
10
+ import { getHookFilePathToShowToUser } from '../page-configs/helpers.js';
11
+ import { getConfigValue } from '../page-configs/getConfigValue.js';
11
12
  import { assert, assertUsage, checkType, isCallable, isObject } from '../utils.js';
12
13
  import pc from '@brillout/picocolors';
13
14
  const globalObject = getGlobalObject('getHook.ts', {
@@ -38,8 +39,8 @@ function getHookFromPageConfig(pageConfig, hookName) {
38
39
  const hookFn = configValue.value;
39
40
  if (!hookFn)
40
41
  return null;
41
- const hookFilePath = getHookFilePathToShowToUser(configValue);
42
- // hook isn't a computed nor a cumulative config => definedAt should always be defined
42
+ const hookFilePath = getHookFilePathToShowToUser(configValue.definedAtData);
43
+ // hook isn't a computed nor a cumulative config => hookFilePath should always be defined
43
44
  assert(hookFilePath);
44
45
  assertHookFn(hookFn, { hookName, hookFilePath });
45
46
  const hookTimeout = getHookTimeout(hooksTimeout, hookName);
@@ -52,8 +53,8 @@ function getHookFromPageConfigGlobal(pageConfigGlobal, hookName) {
52
53
  const hookFn = configValue.value;
53
54
  if (!hookFn)
54
55
  return null;
55
- const hookFilePath = getHookFilePathToShowToUser(configValue);
56
- // hook isn't a computed nor a cumulative config => definedAt should always be defined
56
+ const hookFilePath = getHookFilePathToShowToUser(configValue.definedAtData);
57
+ // hook isn't a computed nor a cumulative config => hookFilePath should always be defined
57
58
  assert(hookFilePath);
58
59
  assertHookFn(hookFn, { hookName, hookFilePath });
59
60
  // We could use the global value of configooksTimeout but it requires some non-trivial refactoring
@@ -241,7 +241,7 @@ type ConfigBuiltIn = {
241
241
  */
242
242
  prerender?: boolean | ImportString;
243
243
  /**
244
- * Inherit from other configurations.
244
+ * Install Vike extensions.
245
245
  *
246
246
  * https://vike.dev/extends
247
247
  */
@@ -316,7 +316,7 @@ type ConfigBuiltIn = {
316
316
  * https://vike.dev/hydrationCanBeAborted
317
317
  */
318
318
  hydrationCanBeAborted?: boolean | ImportString;
319
- /** Additional client code.
319
+ /** Add client code.
320
320
  *
321
321
  * https://vike.dev/client
322
322
  */