vike 0.4.235 → 0.4.236-commit-85d361d

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 (195) hide show
  1. package/dist/cjs/__internal/index.js +1 -1
  2. package/dist/cjs/client/shared/createGetGlobalContextClient.js +0 -1
  3. package/dist/cjs/client/shared/preparePageContextForPublicUsageClientShared.js +4 -4
  4. package/dist/cjs/node/api/prepareViteApiCall.js +1 -1
  5. package/dist/cjs/node/cli/index.js +1 -1
  6. package/dist/cjs/node/createPageRenderer.js +1 -1
  7. package/dist/cjs/node/importBuild.js +1 -1
  8. package/dist/cjs/node/prerender/context.js +1 -1
  9. package/dist/cjs/node/prerender/index.js +1 -1
  10. package/dist/cjs/node/prerender/resolvePrerenderConfig.js +2 -2
  11. package/dist/cjs/node/prerender/runPrerender.js +9 -13
  12. package/dist/cjs/node/runtime/globalContext.js +32 -13
  13. package/dist/cjs/node/runtime/html/injectAssets/injectAssets__public.js +1 -1
  14. package/dist/cjs/node/runtime/html/injectAssets/injectHtmlTags.js +2 -0
  15. package/dist/cjs/node/runtime/html/serializeContext.js +73 -15
  16. package/dist/cjs/node/runtime/index-deprecated.js +1 -1
  17. package/dist/cjs/node/runtime/index.js +1 -1
  18. package/dist/cjs/node/runtime/page-files/setup.js +1 -1
  19. package/dist/cjs/node/runtime/renderPage/assertArguments.js +1 -1
  20. package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +9 -6
  21. package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +4 -4
  22. package/dist/cjs/node/runtime/renderPage/execHookDataAndOnBeforeRender.js +2 -2
  23. package/dist/cjs/node/runtime/renderPage/{createHttpResponse/getCacheControl.js → getCacheControl.js} +9 -9
  24. package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +4 -4
  25. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +1 -1
  26. package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +35 -16
  27. package/dist/cjs/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +1 -1
  28. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -0
  29. package/dist/cjs/node/runtime/renderPage.js +4 -6
  30. package/dist/cjs/node/vite/onLoad.js +1 -1
  31. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +1 -1
  32. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildEntry.js +1 -1
  33. package/dist/cjs/node/vite/plugins/pluginCommon/assertResolveAlias.js +1 -1
  34. package/dist/cjs/node/vite/plugins/pluginCommon.js +8 -4
  35. package/dist/cjs/node/vite/plugins/pluginDev.js +1 -1
  36. package/dist/cjs/node/vite/plugins/pluginEnvVars.js +1 -1
  37. package/dist/cjs/node/vite/plugins/pluginFileEnv.js +1 -1
  38. package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +1 -1
  39. package/dist/cjs/node/vite/shared/addSsrMiddleware.js +1 -1
  40. package/dist/cjs/node/vite/shared/loggerNotProd.js +10 -6
  41. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +5 -1
  42. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +1 -3
  43. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +4 -6
  44. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +1 -1
  45. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +6 -6
  46. package/dist/cjs/shared/RenderErrorPage.js +1 -1
  47. package/dist/cjs/shared/abort.js +1 -1
  48. package/dist/cjs/shared/createGlobalContextShared.js +20 -7
  49. package/dist/cjs/shared/createPageContextShared.js +1 -2
  50. package/dist/cjs/shared/determinePageIdOld.js +1 -1
  51. package/dist/cjs/shared/error-page.js +3 -3
  52. package/dist/cjs/shared/getPageContextUrlComputed.js +4 -4
  53. package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +1 -1
  54. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +1 -1
  55. package/dist/cjs/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +1 -1
  56. package/dist/cjs/shared/getPageFiles/analyzePageClientSide.js +2 -2
  57. package/dist/cjs/shared/getPageFiles/assert_exports_old_design.js +1 -1
  58. package/dist/cjs/shared/getPageFiles/fileTypes.js +1 -1
  59. package/dist/cjs/shared/getPageFiles/getAllPageIdFiles.js +1 -1
  60. package/dist/cjs/shared/getPageFiles/getPageFileObject.js +1 -1
  61. package/dist/cjs/shared/getPageFiles/parseVirtualFileExports.js +1 -1
  62. package/dist/cjs/shared/getProxyForPublicUsage.js +1 -1
  63. package/dist/cjs/shared/page-configs/getConfigDefinedAt.js +4 -3
  64. package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +10 -10
  65. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +1 -1
  66. package/dist/cjs/shared/preparePageContextForPublicUsage.js +5 -5
  67. package/dist/cjs/shared/route/abort.js +1 -1
  68. package/dist/cjs/shared/route/deduceRouteStringFromFilesystemPath.js +1 -1
  69. package/dist/cjs/shared/route/execHookGuard.js +1 -1
  70. package/dist/cjs/shared/route/execHookOnBeforeRoute.js +1 -1
  71. package/dist/cjs/shared/route/index.js +1 -1
  72. package/dist/cjs/shared/route/loadPageRoutes.js +10 -4
  73. package/dist/cjs/shared/route/resolveRouteFunction.js +3 -3
  74. package/dist/cjs/shared/route/resolveRouteString.js +1 -1
  75. package/dist/cjs/shared/route/routing.js +1 -1
  76. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  77. package/dist/cjs/utils/assertSetup.js +8 -8
  78. package/dist/cjs/utils/debugGlob.js +1 -1
  79. package/dist/cjs/utils/parseNpmPackage.js +1 -1
  80. package/dist/esm/__internal/index.d.ts +1 -1
  81. package/dist/esm/__internal/index.js +1 -1
  82. package/dist/esm/client/node.js +1 -1
  83. package/dist/esm/client/runtime-client-routing/createPageContextClientSide.js +2 -2
  84. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +8 -0
  85. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.js +6 -6
  86. package/dist/esm/client/runtime-client-routing/index.js +1 -1
  87. package/dist/esm/client/runtime-client-routing/isClientSideRoutable.js +1 -1
  88. package/dist/esm/client/runtime-client-routing/prefetch/getPrefetchSettings.js +6 -6
  89. package/dist/esm/client/runtime-client-routing/prefetch.js +10 -10
  90. package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +2 -0
  91. package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +3 -3
  92. package/dist/esm/client/runtime-client-routing/skipLink.js +1 -1
  93. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +2 -2
  94. package/dist/esm/client/runtime-server-routing/index.js +1 -1
  95. package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +5 -4
  96. package/dist/esm/client/shared/createGetGlobalContextClient.js +0 -1
  97. package/dist/esm/client/shared/execHookOnRenderClient.js +1 -1
  98. package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +2 -2
  99. package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.js +4 -4
  100. package/dist/esm/node/api/prepareViteApiCall.js +1 -1
  101. package/dist/esm/node/cli/index.js +1 -1
  102. package/dist/esm/node/createPageRenderer.js +1 -1
  103. package/dist/esm/node/importBuild.js +1 -1
  104. package/dist/esm/node/prerender/context.js +1 -1
  105. package/dist/esm/node/prerender/index.js +1 -1
  106. package/dist/esm/node/prerender/resolvePrerenderConfig.js +2 -2
  107. package/dist/esm/node/prerender/runPrerender.d.ts +2 -1
  108. package/dist/esm/node/prerender/runPrerender.js +9 -13
  109. package/dist/esm/node/runtime/globalContext.d.ts +15 -15
  110. package/dist/esm/node/runtime/globalContext.js +34 -15
  111. package/dist/esm/node/runtime/html/injectAssets/injectAssets__public.js +1 -1
  112. package/dist/esm/node/runtime/html/injectAssets/injectHtmlTags.js +2 -0
  113. package/dist/esm/node/runtime/html/serializeContext.d.ts +7 -1
  114. package/dist/esm/node/runtime/html/serializeContext.js +73 -15
  115. package/dist/esm/node/runtime/index-deprecated.js +1 -1
  116. package/dist/esm/node/runtime/index.js +1 -1
  117. package/dist/esm/node/runtime/page-files/setup.js +1 -1
  118. package/dist/esm/node/runtime/renderPage/assertArguments.js +1 -1
  119. package/dist/esm/node/runtime/renderPage/createHttpResponse.d.ts +1 -0
  120. package/dist/esm/node/runtime/renderPage/createHttpResponse.js +9 -6
  121. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +2 -2
  122. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +4 -4
  123. package/dist/esm/node/runtime/renderPage/execHookDataAndOnBeforeRender.js +2 -2
  124. package/dist/esm/node/runtime/renderPage/getCacheControl.d.ts +5 -0
  125. package/dist/esm/node/runtime/renderPage/{createHttpResponse/getCacheControl.js → getCacheControl.js} +8 -9
  126. package/dist/esm/node/runtime/renderPage/getHttpResponseBody.js +4 -4
  127. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +1 -1
  128. package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.d.ts +8 -4
  129. package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +36 -17
  130. package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +1 -1
  131. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +4 -2
  132. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -0
  133. package/dist/esm/node/runtime/renderPage.d.ts +3 -3
  134. package/dist/esm/node/runtime/renderPage.js +4 -6
  135. package/dist/esm/node/vite/index.js +1 -1
  136. package/dist/esm/node/vite/onLoad.js +1 -1
  137. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +1 -1
  138. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildEntry.js +1 -1
  139. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +0 -1
  140. package/dist/esm/node/vite/plugins/pluginCommon/assertResolveAlias.js +1 -1
  141. package/dist/esm/node/vite/plugins/pluginCommon.js +8 -4
  142. package/dist/esm/node/vite/plugins/pluginDev.js +1 -1
  143. package/dist/esm/node/vite/plugins/pluginEnvVars.js +1 -1
  144. package/dist/esm/node/vite/plugins/pluginFileEnv.js +1 -1
  145. package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +1 -1
  146. package/dist/esm/node/vite/shared/addSsrMiddleware.js +1 -1
  147. package/dist/esm/node/vite/shared/loggerNotProd.js +10 -0
  148. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +5 -1
  149. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +1 -3
  150. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +4 -6
  151. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +1 -1
  152. package/dist/esm/node/vite/shared/resolveVikeConfigInternal.js +6 -6
  153. package/dist/esm/shared/RenderErrorPage.js +1 -1
  154. package/dist/esm/shared/abort.js +1 -1
  155. package/dist/esm/shared/createGlobalContextShared.d.ts +3 -3
  156. package/dist/esm/shared/createGlobalContextShared.js +20 -7
  157. package/dist/esm/shared/createPageContextShared.d.ts +2 -3
  158. package/dist/esm/shared/createPageContextShared.js +1 -2
  159. package/dist/esm/shared/determinePageIdOld.js +1 -1
  160. package/dist/esm/shared/error-page.js +3 -3
  161. package/dist/esm/shared/getPageContextUrlComputed.js +4 -4
  162. package/dist/esm/shared/getPageFiles/analyzeClientSide.js +1 -1
  163. package/dist/esm/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +1 -1
  164. package/dist/esm/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +1 -1
  165. package/dist/esm/shared/getPageFiles/analyzePageClientSide.js +2 -2
  166. package/dist/esm/shared/getPageFiles/assert_exports_old_design.js +1 -1
  167. package/dist/esm/shared/getPageFiles/fileTypes.js +1 -1
  168. package/dist/esm/shared/getPageFiles/getAllPageIdFiles.js +1 -1
  169. package/dist/esm/shared/getPageFiles/getPageFileObject.js +1 -1
  170. package/dist/esm/shared/getPageFiles/parseVirtualFileExports.js +1 -1
  171. package/dist/esm/shared/getProxyForPublicUsage.js +1 -1
  172. package/dist/esm/shared/hooks/getHook.js +1 -1
  173. package/dist/esm/shared/page-configs/getConfigDefinedAt.js +4 -3
  174. package/dist/esm/shared/page-configs/resolveVikeConfigPublic.js +12 -12
  175. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +1 -1
  176. package/dist/esm/shared/preparePageContextForPublicUsage.js +5 -5
  177. package/dist/esm/shared/route/abort.js +1 -1
  178. package/dist/esm/shared/route/deduceRouteStringFromFilesystemPath.js +1 -1
  179. package/dist/esm/shared/route/execHookGuard.js +1 -1
  180. package/dist/esm/shared/route/execHookOnBeforeRoute.js +1 -1
  181. package/dist/esm/shared/route/index.js +1 -1
  182. package/dist/esm/shared/route/loadPageRoutes.d.ts +5 -0
  183. package/dist/esm/shared/route/loadPageRoutes.js +10 -4
  184. package/dist/esm/shared/route/resolveRouteFunction.js +3 -3
  185. package/dist/esm/shared/route/resolveRouteString.js +1 -1
  186. package/dist/esm/shared/route/routing.js +1 -1
  187. package/dist/esm/types/Config.d.ts +9 -1
  188. package/dist/esm/types/PageContext.d.ts +8 -2
  189. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  190. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  191. package/dist/esm/utils/assertSetup.js +8 -8
  192. package/dist/esm/utils/debugGlob.js +1 -1
  193. package/dist/esm/utils/parseNpmPackage.js +1 -1
  194. package/package.json +3 -6
  195. package/dist/esm/node/runtime/renderPage/createHttpResponse/getCacheControl.d.ts +0 -5
@@ -1,7 +1,7 @@
1
1
  export { getErrorPageId };
2
2
  export { isErrorPageId };
3
3
  export { isErrorPage };
4
- // TODO/v1-release: consider loading this file only for Client Routing
4
+ // TO-DO/next-major-release: consider loading this file only for Client Routing
5
5
  import { assert, assertUsage, unique } from './utils.js';
6
6
  function getErrorPageId(pageFilesAll, pageConfigs) {
7
7
  if (pageConfigs.length > 0) {
@@ -11,7 +11,7 @@ function getErrorPageId(pageFilesAll, pageConfigs) {
11
11
  assertUsage(errorPageConfigs.length === 1, 'Only one error page can be defined');
12
12
  return errorPageConfigs[0].pageId;
13
13
  }
14
- // TODO/v1-release: remove
14
+ // TO-DO/next-major-release: remove
15
15
  const errorPageIds = unique(pageFilesAll.map(({ pageId }) => pageId).filter((pageId) => isErrorPageId(pageId, false)));
16
16
  assertUsage(errorPageIds.length <= 1, `Only one _error.page.js is allowed, but found several: ${errorPageIds.join(' ')}`);
17
17
  if (errorPageIds.length > 0) {
@@ -21,7 +21,7 @@ function getErrorPageId(pageFilesAll, pageConfigs) {
21
21
  }
22
22
  return null;
23
23
  }
24
- // TODO/v1-release: remove
24
+ // TO-DO/next-major-release: remove
25
25
  function isErrorPageId(pageId, _isV1Design) {
26
26
  assert(!pageId.includes('\\'));
27
27
  return pageId.includes('/_error');
@@ -38,7 +38,7 @@ function getUrlParsed(pageContext) {
38
38
  // Reproduction: https://github.com/vikejs/vike/discussions/1436#discussioncomment-8142023
39
39
  // Determine logical URL
40
40
  const assertUrlResolved = (src) => assert(typeof urlResolved === 'string',
41
- // TODO/eventually: remove debug logs, see:
41
+ // TO-DO/eventually: remove debug logs, see:
42
42
  // - https://github.com/vikejs/vike/issues/2138#issuecomment-2631713411
43
43
  // - https://github.com/vikejs/vike/commit/5c7810f3080ab62536950f26e019bb2a3a517082
44
44
  { src, urlResolved });
@@ -83,7 +83,7 @@ function urlPathnameGetter() {
83
83
  return urlPathname;
84
84
  }
85
85
  function urlGetter() {
86
- // TODO/v1-release: remove
86
+ // TO-DO/next-major-release: remove
87
87
  assertWarning(false, '`pageContext.url` is outdated. Use `pageContext.urlPathname`, `pageContext.urlParsed`, or `pageContext.urlOriginal` instead. (See https://vike.dev/migration/0.4.23 for more information.)', { onlyOnce: true, showStackTrace: true });
88
88
  return urlPathnameGetter.call(this);
89
89
  }
@@ -105,7 +105,7 @@ function urlParsedGetter() {
105
105
  warnHashNotAvailable('hashOriginal');
106
106
  return urlParsed.hashOriginal;
107
107
  },
108
- // TODO/next-major-release: remove
108
+ // TO-DO/next-major-release: remove
109
109
  get hashString() {
110
110
  assertWarning(false, 'pageContext.urlParsed.hashString has been renamed to pageContext.urlParsed.hashOriginal', {
111
111
  onlyOnce: true,
@@ -114,7 +114,7 @@ function urlParsedGetter() {
114
114
  warnHashNotAvailable('hashString');
115
115
  return urlParsed.hashOriginal;
116
116
  },
117
- // TODO/next-major-release: remove
117
+ // TO-DO/next-major-release: remove
118
118
  get searchString() {
119
119
  assertWarning(false, 'pageContext.urlParsed.searchString has been renamed to pageContext.urlParsed.searchOriginal', { onlyOnce: true, showStackTrace: true });
120
120
  return urlParsed.searchOriginal;
@@ -9,7 +9,7 @@ function analyzeClientSide(pageConfig, pageFilesAll, pageId) {
9
9
  return { isClientRuntimeLoaded, isClientRouting };
10
10
  }
11
11
  else {
12
- // TODO/v1-release: remove
12
+ // TO-DO/next-major-release: remove
13
13
  // V0.4 design
14
14
  const { isHtmlOnly, isClientRouting } = analyzePageClientSide(pageFilesAll, pageId);
15
15
  return { isClientRuntimeLoaded: !isHtmlOnly, isClientRouting };
@@ -1,7 +1,7 @@
1
1
  export { analyzeExports };
2
2
  import { getExportNames } from './getExportNames.js';
3
3
  import { assertUsage } from '../../utils.js';
4
- // TODO/v1-release: remove
4
+ // TO-DO/next-major-release: remove
5
5
  function analyzeExports({ pageFilesClientSide, pageFilesServerSide, pageId, }) {
6
6
  return { isHtmlOnly: isHtmlOnly(), isClientRouting: isClientRouting() };
7
7
  function isHtmlOnly() {
@@ -1,4 +1,4 @@
1
- // TODO/v1-release: remove
1
+ // TO-DO/next-major-release: remove
2
2
  export { determineClientEntry };
3
3
  export { getVikeClientEntry };
4
4
  function determineClientEntry({ pageFilesClientSide, pageFilesServerSide, isHtmlOnly, isClientRouting, }) {
@@ -6,7 +6,7 @@ import { getPageFilesClientSide } from './getAllPageIdFiles.js';
6
6
  import { getPageFilesServerSide } from './getAllPageIdFiles.js';
7
7
  import { assert } from '../utils.js';
8
8
  import { getExportNames } from './analyzePageClientSide/getExportNames.js';
9
- // TODO/v1-release: remove analyzePageClientSide(), use analyzeClientSide() instead
9
+ // TO-DO/next-major-release: remove analyzePageClientSide(), use analyzeClientSide() instead
10
10
  function analyzePageClientSide(pageFilesAll, pageId) {
11
11
  let pageFilesClientSide = getPageFilesClientSide(pageFilesAll, pageId);
12
12
  const pageFilesServerSide = getPageFilesServerSide(pageFilesAll, pageId);
@@ -24,7 +24,7 @@ function analyzePageClientSide(pageFilesAll, pageId) {
24
24
  });
25
25
  return { isHtmlOnly, isClientRouting, clientEntries, clientDependencies, pageFilesClientSide, pageFilesServerSide };
26
26
  }
27
- // TODO:v1-release: remove
27
+ // TO-DO/next-major-release: remove
28
28
  async function analyzePageClientSideInit(pageFilesAll, pageId, { sharedPageFilesAlreadyLoaded }) {
29
29
  const pageFilesClientSide = getPageFilesClientSide(pageFilesAll, pageId);
30
30
  await Promise.all(pageFilesClientSide.map(async (p) => {
@@ -1,4 +1,4 @@
1
- // TODO/v1-release: remove this
1
+ // TO-DO/next-major-release: remove this
2
2
  export { assertDefaultExports };
3
3
  export { assertExportValues };
4
4
  export { forbiddenDefaultExports };
@@ -1,4 +1,4 @@
1
- // TODO/v1-release: remove
1
+ // TO-DO/next-major-release: remove
2
2
  export { fileTypes };
3
3
  export { isValidFileType };
4
4
  export { determineFileType };
@@ -1,4 +1,4 @@
1
- // TODO:v1-release: remove this file
1
+ // TO-DO/next-major-release: remove this file
2
2
  export { getPageFilesClientSide };
3
3
  export { getPageFilesServerSide };
4
4
  import { assert, assertUsage, isNotNullish } from '../utils.js';
@@ -1,4 +1,4 @@
1
- // TODO/v1-release: remove
1
+ // TO-DO/next-major-release: remove
2
2
  export { getPageFileObject };
3
3
  import { determinePageIdOld } from '../determinePageIdOld.js';
4
4
  import { isErrorPageId } from '../error-page.js';
@@ -1,5 +1,5 @@
1
1
  export { parseVirtualFileExports };
2
- // TODO/v1-release: remove old design code, and remove all assertions.
2
+ // TO-DO/next-major-release: remove old design code, and remove all assertions.
3
3
  import { assert, hasProp, isCallable, isObject, cast, isArray } from '../utils.js';
4
4
  import { assertExportValues } from './assert_exports_old_design.js';
5
5
  import { getPageFileObject } from './getPageFileObject.js';
@@ -45,7 +45,7 @@ function onInternalProp(propStr, objName) {
45
45
  // - If Rolldown Vite + Rolldowns always transpiles node_modules/ then we can simply use import.meta.env.SSR
46
46
  if (isBrowser())
47
47
  return;
48
- // TODO/now-proxy remove this and only warn on built-in access instead
48
+ // TO-DO/soon/proxy: remove this and only warn on built-in access instead
49
49
  if (propStr === '_configFromHook')
50
50
  return;
51
51
  if (propStr.startsWith('_')) {
@@ -4,7 +4,7 @@ export { getHookFromPageConfig };
4
4
  export { getHookFromPageConfigGlobal };
5
5
  export { getHookFromPageConfigGlobalCumulative };
6
6
  export { getHook_setIsPrerenderering };
7
- // TODO/v1-release: remove
7
+ // TO-DO/next-major-release: remove
8
8
  // We export for old V0.4 design which doesn't support config.hooksTimeout
9
9
  export { getHookTimeoutDefault };
10
10
  import { getGlobalObject } from '../../utils/getGlobalObject.js';
@@ -33,12 +33,13 @@ function getDefinedAtString(definedAtData, configName) {
33
33
  if (definedAt.definedBy)
34
34
  return getDefinedByString(definedAt, configName);
35
35
  const { filePathToShowToUser, fileExportPathToShowToUser } = definedAt;
36
- let s = filePathToShowToUser;
37
36
  const exportPath = getExportPath(fileExportPathToShowToUser, configName);
38
37
  if (exportPath) {
39
- s = `${s} > ${pc.cyan(exportPath)}`;
38
+ return `${filePathToShowToUser} > ${pc.cyan(exportPath)}`;
39
+ }
40
+ else {
41
+ return filePathToShowToUser;
40
42
  }
41
- return s;
42
43
  })
43
44
  .join(' / ');
44
45
  return definedAtString;
@@ -1,5 +1,5 @@
1
- // TODO/now-same-api: use public API internally?
2
- // TODO/now-flat-pageContext: rename definedAt => definedBy
1
+ // TO-DO/soon/same-api: use public API internally?
2
+ // TO-DO/soon/flat-pageContext: rename definedAt => definedBy
3
3
  export { resolveVikeConfigPublicGlobal };
4
4
  export { resolveVikeConfigPublicPageEager };
5
5
  export { resolveVikeConfigPublicPageLazy };
@@ -47,10 +47,10 @@ function resolveVikeConfigPublicPageLazy(pageFiles, // V0.4 design
47
47
  pageConfig, // V1 design
48
48
  pageConfigGlobal) {
49
49
  const config = {};
50
- const configEntries = {}; // TODO/v1-release: remove
51
- const exportsAll = {}; // TODO/v1-release: remove
50
+ const configEntries = {}; // TO-DO/next-major-release: remove
51
+ const exportsAll = {}; // TO-DO/next-major-release: remove
52
52
  // V0.4 design
53
- // TODO/v1-release: remove
53
+ // TO-DO/next-major-release: remove
54
54
  pageFiles.forEach((pageFile) => {
55
55
  const exportValues = getExportValues(pageFile);
56
56
  exportValues.forEach(({ exportName, exportValue, isFromDefaultExport }) => {
@@ -60,7 +60,7 @@ pageConfigGlobal) {
60
60
  exportValue,
61
61
  exportSource: `${pageFile.filePath} > ${isFromDefaultExport ? `\`export default { ${exportName} }\`` : `\`export { ${exportName} }\``}`,
62
62
  filePath: pageFile.filePath,
63
- _filePath: pageFile.filePath, // TODO/next-major-release: remove
63
+ _filePath: pageFile.filePath, // TO-DO/next-major-release: remove
64
64
  _fileType: pageFile.fileType,
65
65
  _isFromDefaultExport: isFromDefaultExport,
66
66
  });
@@ -105,18 +105,18 @@ pageConfigGlobal) {
105
105
  });
106
106
  assert(!('default' in exports));
107
107
  assert(!('default' in exportsAll));
108
- const pageContextExports = {
108
+ const configPublicPageLazy = {
109
109
  config: config,
110
110
  from,
111
111
  source,
112
112
  sources,
113
- // TODO/now-flat-pageContext: deprecate every prop below
113
+ // TO-DO/soon/flat-pageContext: deprecate every prop below
114
114
  configEntries,
115
115
  exports,
116
116
  exportsAll,
117
117
  };
118
- // TODO/v1-release: remove
119
- objectDefineProperty(pageContextExports, 'pageExports', {
118
+ // TO-DO/next-major-release: remove
119
+ objectDefineProperty(configPublicPageLazy, 'pageExports', {
120
120
  get: () => {
121
121
  // We only show the warning in Node.js because when using Client Routing Vue integration uses `Object.assign(pageContextReactive, pageContext)` which will wrongully trigger the warning. There is no cross-browser way to catch whether the property accessor was initiated by an `Object.assign()` call.
122
122
  if (!isBrowser()) {
@@ -130,7 +130,7 @@ pageConfigGlobal) {
130
130
  enumerable: false,
131
131
  configurable: true,
132
132
  });
133
- return pageContextExports;
133
+ return configPublicPageLazy;
134
134
  }
135
135
  // V1 design
136
136
  function resolveVikeConfigPublic_V1Design(pageConfig) {
@@ -158,7 +158,7 @@ function resolveVikeConfigPublic_V1Design(pageConfig) {
158
158
  configDefinedAt,
159
159
  configDefinedByFile: configValueFilePathToShowToUser,
160
160
  });
161
- // TODO/v1-release: remove
161
+ // TO-DO/next-major-release: remove
162
162
  const exportName = configName;
163
163
  exportsAll[exportName] = exportsAll[exportName] ?? [];
164
164
  exportsAll[exportName].push({
@@ -173,7 +173,7 @@ function logJsonSerializeError(err, configName, definedAtData) {
173
173
  //*/
174
174
  const configValueFilePathToShowToUser = getConfigValueFilePathToShowToUser(definedAtData);
175
175
  assert(configValueFilePathToShowToUser);
176
- assertUsage(false, `${pc.cyan(configName)} defined by ${configValueFilePathToShowToUser} must be defined over a so-called "pointer import", see https://vike.dev/config#pointer-imports`);
176
+ assertUsage(false, `${pc.cyan(configName)} defined by ${configValueFilePathToShowToUser} must be defined using a separate file ${pc.bold(`+${configName}.js`)}, see https://vike.dev/error/runtime-in-config`);
177
177
  }
178
178
  function getConfigValuesBase(pageConfig, isEnvMatch, isEager) {
179
179
  const fromComputed = Object.entries(pageConfig.configValuesComputed ?? {}).map(([configName, valueInfo]) => {
@@ -9,7 +9,7 @@ function preparePageContextForPublicUsage(pageContext) {
9
9
  assert(!pageContext.globalContext); // pageContext.globalContext should only be available to users — Vike itself should use pageContext._globalContext instead
10
10
  assert(pageContext._isOriginalObject); // ensure we preserve the original object reference
11
11
  addIs404ToPageProps(pageContext);
12
- // TODO/next-major-release: remove
12
+ // TO-DO/next-major-release: remove
13
13
  if (!('_pageId' in pageContext)) {
14
14
  Object.defineProperty(pageContext, '_pageId', {
15
15
  get() {
@@ -27,7 +27,7 @@ function preparePageContextForPublicUsage(pageContext) {
27
27
  const globalContextPublic = prepareGlobalContextForPublicUsage(pageContext._globalContext);
28
28
  const pageContextPublic = getProxyForPublicUsage(pageContext, 'pageContext',
29
29
  // We must skip it in the client-side because of the reactivity mechanism of UI frameworks like Solid.
30
- // - TODO/now-proxy: double check whether that's true
30
+ // - TO-DO/soon/proxy: double check whether that's true
31
31
  true, (prop) => {
32
32
  if (prop === 'globalContext') {
33
33
  return globalContextPublic;
@@ -65,11 +65,11 @@ function assertPropertyGetters(pageContext) {
65
65
  ;
66
66
  [
67
67
  'urlPathname',
68
- // TODO/v1-release: remove
68
+ // TO-DO/next-major-release: remove
69
69
  'urlParsed',
70
- // TODO/v1-release: remove
70
+ // TO-DO/next-major-release: remove
71
71
  'url',
72
- // TODO/v1-release: remove
72
+ // TO-DO/next-major-release: remove
73
73
  'pageExports',
74
74
  ].forEach((prop) => {
75
75
  if (pageContext.prop)
@@ -82,7 +82,7 @@ function AbortRender(pageContextAbort) {
82
82
  checkType(err);
83
83
  return err;
84
84
  }
85
- // TODO/v1-release: remove
85
+ // TO-DO/next-major-release: remove
86
86
  /**
87
87
  * @deprecated Use `throw render()` or `throw redirect()` instead, see https://vike.dev/render'
88
88
  */
@@ -1,7 +1,7 @@
1
1
  // Unit tests at ./deduceRouteStringFromFilesystemPath.spec.ts
2
2
  import { assert, higherFirst, slice } from './utils.js';
3
3
  export { deduceRouteStringFromFilesystemPath };
4
- // TODO/next-major-update: remove this and whole filesystemRoot mechanism
4
+ // TO-DO/next-major-release: remove this and whole filesystemRoot mechanism
5
5
  function deduceRouteStringFromFilesystemPath(pageId, filesystemRoots) {
6
6
  // Handle Filesystem Routing Root
7
7
  const filesystemRootsMatch = filesystemRoots
@@ -6,7 +6,7 @@ const errIntro = 'The guard() hook defined by';
6
6
  async function execHookGuard(pageContext, prepareForPublicUsage) {
7
7
  let hook;
8
8
  if (pageContext._globalContext._pageFilesAll.length > 0) {
9
- // TODO/v1-release: remove
9
+ // TO-DO/next-major-release: remove
10
10
  // V0.4 design
11
11
  assert(pageContext._globalContext._pageConfigs.length === 0);
12
12
  hook = findPageGuard(pageContext.pageId, pageContext._globalContext._pageFilesAll);
@@ -36,7 +36,7 @@ async function execHookOnBeforeRoute(pageContext) {
36
36
  async function getPageContextFromHook(onBeforeRouteHook, pageContext) {
37
37
  let { hookReturn } = execHookDirectSync(onBeforeRouteHook, pageContext, preparePageContextForPublicUsage);
38
38
  assertSyncRouting(hookReturn, `The onBeforeRoute() hook ${onBeforeRouteHook.hookFilePath}`);
39
- // TODO/v1-release: make execHookOnBeforeRoute() and route() sync
39
+ // TO-DO/next-major-release: make execHookOnBeforeRoute() and route() sync
40
40
  hookReturn = await hookReturn;
41
41
  const errPrefix = `The onBeforeRoute() hook defined by ${onBeforeRouteHook.hookFilePath}`;
42
42
  assertUsage(hookReturn === null ||
@@ -12,7 +12,7 @@ import { resolveRouteFunction } from './resolveRouteFunction.js';
12
12
  import { execHookOnBeforeRoute } from './execHookOnBeforeRoute.js';
13
13
  import { debug } from './debug.js';
14
14
  import pc from '@brillout/picocolors';
15
- // TODO/next-major-release: make it sync
15
+ // TO-DO/next-major-release: make it sync
16
16
  async function route(pageContext, skipOnBeforeRouteHook) {
17
17
  debug('Pages routes:', pageContext._globalContext._pageRoutes);
18
18
  const pageContextFromRoute = {};
@@ -1,4 +1,5 @@
1
1
  export { loadPageRoutes };
2
+ export { loadPageRoutesSync };
2
3
  export type { PageRoutes };
3
4
  export type { RouteType };
4
5
  import type { PageFile } from '../getPageFiles.js';
@@ -28,3 +29,7 @@ declare function loadPageRoutes(pageFilesAll: PageFile[], pageConfigs: PageConfi
28
29
  pageRoutes: PageRoutes;
29
30
  onBeforeRouteHook: null | Hook;
30
31
  }>;
32
+ declare function loadPageRoutesSync(pageFilesAll: PageFile[], pageConfigs: PageConfigRuntime[], pageConfigGlobal: PageConfigGlobalRuntime, allPageIds: string[]): {
33
+ pageRoutes: PageRoutes;
34
+ onBeforeRouteHook: null | Hook;
35
+ };
@@ -1,4 +1,5 @@
1
1
  export { loadPageRoutes };
2
+ export { loadPageRoutesSync };
2
3
  import { isErrorPageId } from '../error-page.js';
3
4
  import { assert, assertUsage, hasProp, slice } from './utils.js';
4
5
  import { deduceRouteStringFromFilesystemPath } from './deduceRouteStringFromFilesystemPath.js';
@@ -10,8 +11,13 @@ import { getHookFromPageConfigGlobal, getHookTimeoutDefault } from '../hooks/get
10
11
  async function loadPageRoutes(
11
12
  // Remove all arguments and use GlobalContextServerInternal instead?
12
13
  pageFilesAll, pageConfigs, pageConfigGlobal, allPageIds) {
13
- // TODO/next-major: remove & make this function sync
14
+ // TO-DO/next-major-release: remove this line, remove this function, rename loadPageRoutesSync() to loadPageRoutes()
14
15
  await Promise.all(pageFilesAll.filter((p) => p.fileType === '.page.route').map((p) => p.loadFile?.()));
16
+ return loadPageRoutesSync(pageFilesAll, pageConfigs, pageConfigGlobal, allPageIds);
17
+ }
18
+ function loadPageRoutesSync(
19
+ // Remove all arguments and use GlobalContextServerInternal instead?
20
+ pageFilesAll, pageConfigs, pageConfigGlobal, allPageIds) {
15
21
  const { onBeforeRouteHook, filesystemRoots } = getGlobalHooks(pageFilesAll, pageConfigs, pageConfigGlobal);
16
22
  const pageRoutes = getPageRoutes(filesystemRoots, pageFilesAll, pageConfigs, allPageIds);
17
23
  return { pageRoutes, onBeforeRouteHook };
@@ -49,7 +55,7 @@ function getPageRoutes(filesystemRoots, pageFilesAll, pageConfigs, allPageIds) {
49
55
  const { filePathToShowToUser } = definedAtData;
50
56
  assert(filePathToShowToUser);
51
57
  assert(isCallable(route));
52
- // TODO/next-major: remove
58
+ // TO-DO/next-major-release: remove
53
59
  if (getConfigValueRuntime(pageConfig, 'iKnowThePerformanceRisksOfAsyncRouteFunctions', 'boolean'))
54
60
  warnDeprecatedAllowKey();
55
61
  pageRoute = {
@@ -82,7 +88,7 @@ function getPageRoutes(filesystemRoots, pageFilesAll, pageConfigs, allPageIds) {
82
88
  });
83
89
  }
84
90
  // Old design
85
- // TODO/v1-release: remove
91
+ // TO-DO/next-major-release: remove
86
92
  if (pageConfigs.length === 0) {
87
93
  assert(filesystemRoots);
88
94
  const comesFromV1PageConfig = false;
@@ -149,7 +155,7 @@ function getGlobalHooks(pageFilesAll, pageConfigs, pageConfigGlobal) {
149
155
  return { onBeforeRouteHook: hook, filesystemRoots: null };
150
156
  }
151
157
  // Old design
152
- // TODO/v1-release: remove
158
+ // TO-DO/next-major-release: remove
153
159
  let onBeforeRouteHook = null;
154
160
  const filesystemRoots = [];
155
161
  pageFilesAll
@@ -13,7 +13,7 @@ async function resolveRouteFunction(routeFunction, pageContext, routeFunctionFil
13
13
  hookName: 'route',
14
14
  }, pageContext, preparePageContextForPublicUsage);
15
15
  assertSyncRouting(result, `The Route Function ${routeFunctionFilePath}`);
16
- // TODO/v1-release: make resolveRouteFunction() and route() sync
16
+ // TO-DO/next-major-release: make resolveRouteFunction() and route() sync
17
17
  //* We disallow asynchronous routing, because we need to check whether a link is a Vike link in a synchronous fashion before calling ev.preventDefault() in the 'click' event listener
18
18
  result = await result;
19
19
  //*/
@@ -49,11 +49,11 @@ async function resolveRouteFunction(routeFunction, pageContext, routeFunctionFil
49
49
  routeParams,
50
50
  };
51
51
  }
52
- // TODO/v1-release: remove, and make routing synchronous (enabling Vike to synchronously check whether a link is a Vike link before even calling ev.preventDefault())
52
+ // TO-DO/next-major-release: remove, and make routing synchronous (enabling Vike to synchronously check whether a link is a Vike link before even calling ev.preventDefault())
53
53
  function assertSyncRouting(res, errPrefix) {
54
54
  assertWarning(!isPromise(res), `${errPrefix} returned a promise, but asynchronous routing is deprecated and will be removed in the next major release, see https://vike.dev/route-function#async`, { onlyOnce: true });
55
55
  }
56
- // TODO/v1-release: remove
56
+ // TO-DO/next-major-release: remove
57
57
  function warnDeprecatedAllowKey() {
58
58
  const allowKey = pc.cyan('iKnowThePerformanceRisksOfAsyncRouteFunctions');
59
59
  assertWarning(false, `${allowKey} is deprecated and will be removed in the next major release`, { onlyOnce: true });
@@ -8,7 +8,7 @@ import { assertWarning, isBrowser, escapeRegex } from '../utils.js';
8
8
  import { assert, assertUsage } from './utils.js';
9
9
  import pc from '@brillout/picocolors';
10
10
  const PARAM_TOKEN_NEW = '@';
11
- // TODO/v1-release: remove
11
+ // TO-DO/next-major-release: remove
12
12
  const PARAM_TOKEN_OLD = ':';
13
13
  function assertRouteString(routeString, errPrefix = 'Invalid') {
14
14
  let errPrefix2 = `${errPrefix} Route String ${highlight(routeString)}`;
@@ -1,4 +1,4 @@
1
- // TODO/v1-release - move:
1
+ // TO-DO/next-major-release: move
2
2
  // import { resolveRoute } from 'vike/routing'
3
3
  // to:
4
4
  // import { resolveRoute } from 'vike'
@@ -44,6 +44,7 @@ import type { Vike, VikePackages } from './VikeNamespace.js';
44
44
  import type { HooksTimeoutProvidedByUser } from '../shared/hooks/getHook.js';
45
45
  import type { GlobalContext, PageContextClient, PageContextServer } from './PageContext.js';
46
46
  import type { InlineConfig } from 'vite';
47
+ import type { PassToClient } from '../node/runtime/html/serializeContext.js';
47
48
  type HookNameOld = HookName | HookNameOldDesign;
48
49
  type HookName = HookNamePage | HookNameGlobal;
49
50
  type HookNamePage = 'onHydrationEnd' | 'onBeforePrerenderStart' | 'onBeforeRender' | 'onPageTransitionStart' | 'onPageTransitionEnd' | 'onRenderHtml' | 'onRenderClient' | 'guard' | 'data' | 'onData' | 'route';
@@ -362,7 +363,7 @@ type ConfigBuiltIn = {
362
363
  *
363
364
  * https://vike.dev/passToClient
364
365
  */
365
- passToClient?: string[] | ImportString;
366
+ passToClient?: PassToClient | ImportString;
366
367
  /** Hook called when page is rendered on the client-side.
367
368
  *
368
369
  * https://vike.dev/onRenderClient
@@ -508,6 +509,12 @@ type ConfigBuiltIn = {
508
509
  * https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Cache-Control
509
510
  */
510
511
  cacheControl?: string;
512
+ /**
513
+ * Add HTTP headers to the HTTP response.
514
+ *
515
+ * https://vike.dev/headers#response
516
+ */
517
+ headersResponse?: HeadersInit;
511
518
  /**
512
519
  * Make development/preview server available over LAN and public addresses.
513
520
  *
@@ -561,6 +568,7 @@ type ConfigBuiltInResolved = {
561
568
  redirects?: Record<string, string>[];
562
569
  prerender?: Exclude<Config['prerender'], ImportString | undefined>[];
563
570
  middleware?: Function[];
571
+ headersResponse?: HeadersInit[];
564
572
  };
565
573
  type ConfigMeta = Record<string, ConfigDefinition>;
566
574
  type ImportString = `import:${string}`;
@@ -81,7 +81,7 @@ type PageContextBuiltInCommon<Data> = {
81
81
  */
82
82
  urlOriginal: string;
83
83
  /**
84
- * The HTTP Headers of the incoming HTTP Request.
84
+ * The HTTP request headers.
85
85
  *
86
86
  * As a string object normalized by Vike.
87
87
  *
@@ -90,7 +90,7 @@ type PageContextBuiltInCommon<Data> = {
90
90
  */
91
91
  headers: Record<string, string> | null;
92
92
  /**
93
- * The HTTP Headers of the incoming HTTP Request.
93
+ * The HTTP request headers.
94
94
  *
95
95
  * The original object provided by the server.
96
96
  *
@@ -98,6 +98,12 @@ type PageContextBuiltInCommon<Data> = {
98
98
  * https://vike.dev/pageContext#headersOriginal
99
99
  */
100
100
  headersOriginal?: unknown;
101
+ /**
102
+ * The HTTP response headers.
103
+ *
104
+ * https://vike.dev/headers#response
105
+ */
106
+ headersResponse: Headers;
101
107
  /** If an error occurs, whether the error is a `404 Page Not Found`.
102
108
  *
103
109
  * https://vike.dev/error-page
@@ -1 +1 @@
1
- export declare const PROJECT_VERSION: "0.4.235";
1
+ export declare const PROJECT_VERSION: "0.4.236-commit-85d361d";
@@ -1,2 +1,2 @@
1
1
  // Automatically updated by @brillout/release-me
2
- export const PROJECT_VERSION = '0.4.235';
2
+ export const PROJECT_VERSION = '0.4.236-commit-85d361d';
@@ -30,16 +30,16 @@ function onSetupRuntime() {
30
30
  return;
31
31
  assertNodeEnvIsNotUndefinedString();
32
32
  if (!setup.viteDevServer && setup.isViteDev === undefined) {
33
- // TODO: make it assertUsage() again once https://github.com/vikejs/vike/issues/1528 is implemented.
34
- assertWarning(!isNodeEnvDev(), `The ${getEnvDescription()}, which is contradictory because the environment seems to be a production environment (Vite isn't loaded), see https://vike.dev/NODE_ENV`, { onlyOnce: true });
35
- assertUsage(!setup.vikeVitePlugin, `Loading Vike's Vite plugin (the ${pc.cyan('vike/plugin')} module) is prohibited in production.`);
33
+ // TO-DO/eventually: make it assertUsage() again once https://github.com/vikejs/vike/issues/1528 is implemented.
34
+ assertWarning(!isNodeEnvDev(), `The ${getEnvDescription()}, which is contradictory because the environment seems to be a production environment (Vite isn't loaded), see ${pc.underline('https://vike.dev/NODE_ENV')} and ${pc.underline('https://vike.dev/warning/setup')}`, { onlyOnce: true });
35
+ assertUsage(!setup.vikeVitePlugin, `Vike's Vite plugin (the ${pc.cyan('vike/plugin')} module) shouldn't be loaded in production, see ${pc.underline('https://vike.dev/warning/setup')}`);
36
36
  // This assert() one of the main goal of this file: it ensures assertIsNotProductionRuntime()
37
37
  assert(!setup.shouldNotBeProduction);
38
38
  }
39
39
  else {
40
40
  if (!setup.isPreview && !setup.vitePreviewServer && !setup.isPrerendering) {
41
- // TODO: make it assertUsage() again once https://github.com/vikejs/vike/issues/1528 is implemented.
42
- assertWarning(isNodeEnvDev(), `The ${getEnvDescription()}, but Vite is loaded which is prohibited in production, see https://vike.dev/NODE_ENV`, { onlyOnce: true });
41
+ // TO-DO/eventually: make it assertUsage() again once https://github.com/vikejs/vike/issues/1528 is implemented.
42
+ assertWarning(isNodeEnvDev(), `The ${getEnvDescription()} while Vite is loaded, but Vite shouldn't be loaded in production, see ${pc.underline('https://vike.dev/warning/setup')}`, { onlyOnce: true });
43
43
  }
44
44
  assert(setup.vikeVitePlugin);
45
45
  assert(setup.shouldNotBeProduction);
@@ -108,8 +108,8 @@ function markSetup_isPreview() {
108
108
  function assertUsageNodeEnvIsNotDev(operation) {
109
109
  if (!isNodeEnvDev())
110
110
  return;
111
- // TODO: make it assertUsage() again once https://github.com/vikejs/vike/issues/1528 is implemented.
112
- assertWarning(false, `The ${getEnvDescription()} which is forbidden upon ${operation}, see https://vike.dev/NODE_ENV`, { onlyOnce: true });
111
+ // TO-DO/eventually: make it assertUsage() again once https://github.com/vikejs/vike/issues/1528 is implemented.
112
+ assertWarning(false, `The ${getEnvDescription()} upon ${operation} which shouldn't be the case, see ${pc.underline('https://vike.dev/NODE_ENV')}`, { onlyOnce: true });
113
113
  }
114
114
  function getEnvDescription() {
115
115
  const envType = `${(isNodeEnvDev() ? 'development' : 'production')} environment`;
@@ -120,7 +120,7 @@ function getEnvDescription() {
120
120
  // https://github.com/cloudflare/workers-sdk/issues/7886
121
121
  function assertNodeEnvIsNotUndefinedString() {
122
122
  const nodeEnv = getNodeEnv();
123
- assertWarning(nodeEnv !== 'undefined', `${pc.cyan('process.env.NODE_ENV==="undefined"')} which is unexpected: ${pc.cyan('process.env.NODE_ENV')} is allowed to be the *value* ${pc.cyan('undefined')} (i.e. ${pc.cyan('process.env.NODE_ENV===undefined')}) but it shouldn't be the *string* ${pc.cyan('"undefined"')} ${pc.underline('https://vike.dev/NODE_ENV')}`, { onlyOnce: true });
123
+ assertWarning(nodeEnv !== 'undefined', `${pc.cyan('process.env.NODE_ENV==="undefined"')} which is unexpected: ${pc.cyan('process.env.NODE_ENV')} is allowed to be the *value* ${pc.cyan('undefined')} (i.e. ${pc.cyan('process.env.NODE_ENV===undefined')}) but it shouldn't be the *string* ${pc.cyan('"undefined"')} — see ${pc.underline('https://vike.dev/NODE_ENV')}`, { onlyOnce: true });
124
124
  }
125
125
  function isNodeEnvDev() {
126
126
  const nodeEnv = getNodeEnv();
@@ -1,3 +1,3 @@
1
1
  import { createDebugger } from './debug.js';
2
- // TODO/v1-release: remove (or rename?)
2
+ // TO-DO/next-major-release: remove (or rename?)
3
3
  export const debugGlob = createDebugger('vike:glob');
@@ -52,7 +52,7 @@ function isPathAliasRecommended(alias) {
52
52
  // - In principle, we could allow path aliases that don't start with special character as long as they can be distinguished from npm package names.
53
53
  // - But we still enforce path aliases to start with a special character because it's a much simpler rule to follow.
54
54
  if (alias.startsWith('@/'))
55
- return true; // Needed by contra.com
55
+ return true; // Needed by contra.com and https://github.com/vikejs/vike/issues/1567#issuecomment-3076374243
56
56
  const firstLetter = alias[0];
57
57
  assert(firstLetter);
58
58
  if (firstLetter === '@' || /[0-9a-z]/.test(firstLetter.toLowerCase()))