vike 0.4.218 → 0.4.220-commit-a9f46b8

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 (211) hide show
  1. package/dist/cjs/__internal/index.js +11 -11
  2. package/dist/cjs/node/api/build.js +22 -48
  3. package/dist/cjs/node/api/context.js +8 -6
  4. package/dist/cjs/node/api/index.js +17 -7
  5. package/dist/cjs/node/api/prepareViteApiCall.js +40 -13
  6. package/dist/cjs/node/cli/context.js +16 -0
  7. package/dist/cjs/node/cli/entry.js +21 -7
  8. package/dist/cjs/node/cli/utils.js +1 -0
  9. package/dist/cjs/node/plugin/index.js +5 -5
  10. package/dist/cjs/node/plugin/plugins/autoFullBuild.js +32 -20
  11. package/dist/cjs/node/plugin/plugins/baseUrls.js +3 -10
  12. package/dist/cjs/node/plugin/plugins/buildConfig.js +2 -2
  13. package/dist/cjs/node/plugin/plugins/{importBuild → buildEntry}/index.js +16 -17
  14. package/dist/cjs/node/plugin/plugins/commonConfig.js +41 -4
  15. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +26 -23
  16. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +171 -68
  17. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +1 -1
  18. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +7 -5
  19. package/dist/cjs/node/plugin/plugins/setGlobalContext.js +1 -1
  20. package/dist/cjs/node/plugin/plugins/{vite6HmrRegressionWorkaround.js → workaroundVite6HmrRegression.js} +3 -3
  21. package/dist/cjs/node/plugin/shared/getHttpRequestAsyncStore.js +17 -7
  22. package/dist/cjs/node/prerender/context.js +24 -0
  23. package/dist/cjs/node/prerender/runPrerender.js +146 -96
  24. package/dist/cjs/node/prerender/utils.js +2 -0
  25. package/dist/cjs/node/runtime/globalContext.js +109 -55
  26. package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +2 -2
  27. package/dist/cjs/node/runtime/index-common.js +0 -15
  28. package/dist/cjs/node/runtime/onLoad.js +17 -3
  29. package/dist/cjs/node/runtime/page-files/setup.js +2 -4
  30. package/dist/cjs/node/runtime/renderPage/analyzePage.js +2 -2
  31. package/dist/cjs/node/runtime/renderPage/createHttpResponse/getCacheControl.js +2 -2
  32. package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
  33. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +11 -33
  34. package/dist/cjs/node/runtime/renderPage/resolveRedirects.js +9 -1
  35. package/dist/cjs/node/runtime/renderPage.js +21 -22
  36. package/dist/cjs/node/runtime/utils.js +2 -0
  37. package/dist/cjs/node/runtime-dev/index.js +17 -7
  38. package/dist/cjs/node/shared/assertRuntimeManifest.js +0 -2
  39. package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +3 -3
  40. package/dist/cjs/shared/getPageFiles/{setPageFiles.js → getPageFiles.js} +8 -6
  41. package/dist/cjs/shared/getPageFiles.js +3 -9
  42. package/dist/cjs/shared/hooks/getHook.js +3 -3
  43. package/dist/cjs/shared/{getPageFiles/getExports.js → page-configs/getPageConfigUserFriendly.js} +113 -81
  44. package/dist/cjs/shared/page-configs/loadConfigValues.js +5 -1
  45. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +80 -55
  46. package/dist/cjs/shared/route/loadPageRoutes.js +3 -3
  47. package/dist/cjs/shared/utils.js +1 -0
  48. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  49. package/dist/cjs/utils/assert.js +4 -3
  50. package/dist/cjs/utils/assertSetup.js +47 -16
  51. package/dist/cjs/utils/catchInfiniteLoop.js +34 -0
  52. package/dist/cjs/utils/debug.js +11 -6
  53. package/dist/cjs/utils/getGlobalObject.js +1 -2
  54. package/dist/cjs/utils/isDev.js +2 -0
  55. package/dist/cjs/utils/makePublicCopy.js +32 -0
  56. package/dist/cjs/utils/objectReplace.js +9 -0
  57. package/dist/esm/__internal/index.d.ts +3 -5
  58. package/dist/esm/__internal/index.js +6 -8
  59. package/dist/esm/client/client-routing-runtime/createPageContext.js +4 -1
  60. package/dist/esm/client/client-routing-runtime/entry.d.ts +1 -1
  61. package/dist/esm/client/client-routing-runtime/entry.js +0 -1
  62. package/dist/esm/client/client-routing-runtime/getPageContextCurrent.d.ts +2 -2
  63. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.d.ts +4 -4
  64. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +1 -1
  65. package/dist/esm/client/client-routing-runtime/history.d.ts +3 -1
  66. package/dist/esm/client/client-routing-runtime/history.js +23 -18
  67. package/dist/esm/client/client-routing-runtime/index.d.ts +0 -1
  68. package/dist/esm/client/client-routing-runtime/index.js +0 -1
  69. package/dist/esm/client/client-routing-runtime/initClientRouter.js +2 -2
  70. package/dist/esm/client/client-routing-runtime/initOnLinkClick.js +3 -4
  71. package/dist/esm/client/client-routing-runtime/initOnPopState.d.ts +0 -10
  72. package/dist/esm/client/client-routing-runtime/initOnPopState.js +50 -62
  73. package/dist/esm/client/client-routing-runtime/prefetch/getPrefetchSettings.d.ts +2 -2
  74. package/dist/esm/client/client-routing-runtime/prefetch.d.ts +2 -2
  75. package/dist/esm/client/client-routing-runtime/prefetch.js +2 -2
  76. package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +15 -15
  77. package/dist/esm/client/client-routing-runtime/scrollRestoration.d.ts +4 -6
  78. package/dist/esm/client/client-routing-runtime/scrollRestoration.js +17 -12
  79. package/dist/esm/client/client-routing-runtime/setScrollPosition.d.ts +1 -1
  80. package/dist/esm/client/client-routing-runtime/setScrollPosition.js +29 -5
  81. package/dist/esm/client/client-routing-runtime/utils.d.ts +1 -0
  82. package/dist/esm/client/client-routing-runtime/utils.js +1 -0
  83. package/dist/esm/client/server-routing-runtime/entry.d.ts +1 -1
  84. package/dist/esm/client/server-routing-runtime/entry.js +0 -1
  85. package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +1 -1
  86. package/dist/esm/client/server-routing-runtime/getPageContext.js +5 -2
  87. package/dist/esm/client/shared/executeOnRenderClientHook.d.ts +2 -2
  88. package/dist/esm/client/shared/loadUserFilesClientSide.d.ts +2 -2
  89. package/dist/esm/client/shared/loadUserFilesClientSide.js +2 -2
  90. package/dist/esm/client/shared/normalizeClientSideUrl.js +2 -3
  91. package/dist/esm/client/shared/preparePageContextForUserConsumptionClientSide.d.ts +2 -2
  92. package/dist/esm/node/api/build.d.ts +1 -6
  93. package/dist/esm/node/api/build.js +20 -26
  94. package/dist/esm/node/api/context.d.ts +4 -2
  95. package/dist/esm/node/api/context.js +8 -7
  96. package/dist/esm/node/api/prepareViteApiCall.d.ts +0 -1
  97. package/dist/esm/node/api/prepareViteApiCall.js +26 -9
  98. package/dist/esm/node/cli/context.d.ts +5 -0
  99. package/dist/esm/node/cli/context.js +14 -0
  100. package/dist/esm/node/cli/entry.js +4 -0
  101. package/dist/esm/node/cli/parseCli.d.ts +3 -1
  102. package/dist/esm/node/cli/utils.d.ts +1 -0
  103. package/dist/esm/node/cli/utils.js +1 -0
  104. package/dist/esm/node/plugin/index.d.ts +1 -1
  105. package/dist/esm/node/plugin/index.js +5 -5
  106. package/dist/esm/node/plugin/plugins/autoFullBuild.js +32 -20
  107. package/dist/esm/node/plugin/plugins/baseUrls.d.ts +1 -1
  108. package/dist/esm/node/plugin/plugins/baseUrls.js +4 -11
  109. package/dist/esm/node/plugin/plugins/buildConfig.js +2 -2
  110. package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.d.ts +1 -1
  111. package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/index.d.ts +2 -2
  112. package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/index.js +16 -17
  113. package/dist/esm/node/plugin/plugins/commonConfig.d.ts +10 -1
  114. package/dist/esm/node/plugin/plugins/commonConfig.js +42 -5
  115. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.d.ts +1 -1
  116. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.d.ts +6 -9
  117. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +25 -22
  118. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.d.ts +96 -1
  119. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +167 -64
  120. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigValuesAll.js +1 -1
  121. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVirtualFilePageConfigs.js +7 -5
  122. package/dist/esm/node/plugin/plugins/setGlobalContext.js +1 -1
  123. package/dist/esm/node/plugin/plugins/workaroundVite6HmrRegression.d.ts +3 -0
  124. package/dist/esm/node/plugin/plugins/{vite6HmrRegressionWorkaround.js → workaroundVite6HmrRegression.js} +3 -3
  125. package/dist/esm/node/prerender/context.d.ts +9 -0
  126. package/dist/esm/node/prerender/context.js +22 -0
  127. package/dist/esm/node/prerender/runPrerender.d.ts +42 -2
  128. package/dist/esm/node/prerender/runPrerender.js +130 -90
  129. package/dist/esm/node/prerender/utils.d.ts +2 -0
  130. package/dist/esm/node/prerender/utils.js +2 -0
  131. package/dist/esm/node/runtime/globalContext.d.ts +23 -7
  132. package/dist/esm/node/runtime/globalContext.js +109 -55
  133. package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +1 -1
  134. package/dist/esm/node/runtime/index-common.d.ts +0 -1
  135. package/dist/esm/node/runtime/index-common.js +0 -15
  136. package/dist/esm/node/runtime/index-deprecated.d.ts +1 -0
  137. package/dist/esm/node/runtime/onLoad.js +16 -2
  138. package/dist/esm/node/runtime/page-files/setup.js +3 -3
  139. package/dist/esm/node/runtime/renderPage/analyzePage.js +1 -1
  140. package/dist/esm/node/runtime/renderPage/createHttpResponse/getCacheControl.js +1 -1
  141. package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.d.ts +2 -2
  142. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +1 -1
  143. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +2 -2
  144. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +2 -2
  145. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +31 -46
  146. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +11 -33
  147. package/dist/esm/node/runtime/renderPage/resolveRedirects.d.ts +1 -1
  148. package/dist/esm/node/runtime/renderPage/resolveRedirects.js +9 -1
  149. package/dist/esm/node/runtime/renderPage.js +22 -23
  150. package/dist/esm/node/runtime/utils.d.ts +2 -0
  151. package/dist/esm/node/runtime/utils.js +2 -0
  152. package/dist/esm/node/shared/assertPluginManifest.d.ts +0 -1
  153. package/dist/esm/node/shared/assertRuntimeManifest.d.ts +0 -1
  154. package/dist/esm/node/shared/assertRuntimeManifest.js +1 -3
  155. package/dist/esm/shared/getPageFiles/analyzeClientSide.js +1 -1
  156. package/dist/esm/shared/getPageFiles/{setPageFiles.d.ts → getPageFiles.d.ts} +3 -1
  157. package/dist/esm/shared/getPageFiles/{setPageFiles.js → getPageFiles.js} +8 -6
  158. package/dist/esm/shared/getPageFiles.d.ts +2 -5
  159. package/dist/esm/shared/getPageFiles.js +1 -4
  160. package/dist/esm/shared/hooks/getHook.d.ts +3 -3
  161. package/dist/esm/shared/hooks/getHook.js +1 -1
  162. package/dist/esm/shared/page-configs/Config/PageContextConfig.d.ts +9 -5
  163. package/dist/esm/shared/page-configs/Config.d.ts +20 -2
  164. package/dist/esm/shared/page-configs/PageConfig.d.ts +13 -6
  165. package/dist/esm/shared/{getPageFiles/getExports.d.ts → page-configs/getPageConfigUserFriendly.d.ts} +26 -12
  166. package/dist/esm/shared/{getPageFiles/getExports.js → page-configs/getPageConfigUserFriendly.js} +112 -80
  167. package/dist/esm/shared/page-configs/loadConfigValues.js +6 -2
  168. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +26 -6
  169. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +80 -55
  170. package/dist/esm/shared/route/executeGuardHook.d.ts +2 -2
  171. package/dist/esm/shared/route/loadPageRoutes.js +1 -1
  172. package/dist/esm/shared/types.d.ts +1 -1
  173. package/dist/esm/shared/utils.d.ts +1 -0
  174. package/dist/esm/shared/utils.js +1 -0
  175. package/dist/esm/types/index.d.ts +1 -1
  176. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  177. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  178. package/dist/esm/utils/assert.js +4 -3
  179. package/dist/esm/utils/assertSetup.js +47 -16
  180. package/dist/esm/utils/catchInfiniteLoop.d.ts +2 -0
  181. package/dist/esm/utils/catchInfiniteLoop.js +32 -0
  182. package/dist/esm/utils/debug.d.ts +1 -1
  183. package/dist/esm/utils/debug.js +11 -6
  184. package/dist/esm/utils/getGlobalObject.js +1 -2
  185. package/dist/esm/utils/isDev.js +2 -0
  186. package/dist/esm/utils/makePublicCopy.d.ts +3 -0
  187. package/dist/esm/utils/makePublicCopy.js +30 -0
  188. package/dist/esm/utils/objectReplace.d.ts +1 -0
  189. package/dist/esm/utils/objectReplace.js +6 -0
  190. package/dist/esm/utils/projectInfo.d.ts +1 -1
  191. package/package.json +4 -13
  192. package/__internal/loadImportBuild.js +0 -3
  193. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +0 -128
  194. package/dist/cjs/node/runtime/globalContext/loadImportBuild.js +0 -25
  195. package/dist/cjs/node/runtime/page-files/getPageFilesExports.js +0 -22
  196. package/dist/esm/client/client-routing-runtime/pageFiles.d.ts +0 -1
  197. package/dist/esm/client/client-routing-runtime/pageFiles.js +0 -4
  198. package/dist/esm/client/server-routing-runtime/pageFiles.d.ts +0 -1
  199. package/dist/esm/client/server-routing-runtime/pageFiles.js +0 -4
  200. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.d.ts +0 -104
  201. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolveVikeConfigGlobal.js +0 -123
  202. package/dist/esm/node/plugin/plugins/vite6HmrRegressionWorkaround.d.ts +0 -3
  203. package/dist/esm/node/runtime/globalContext/loadImportBuild.d.ts +0 -18
  204. package/dist/esm/node/runtime/globalContext/loadImportBuild.js +0 -23
  205. package/dist/esm/node/runtime/page-files/getPageFilesExports.d.ts +0 -2
  206. package/dist/esm/node/runtime/page-files/getPageFilesExports.js +0 -20
  207. /package/dist/cjs/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.js +0 -0
  208. /package/dist/cjs/shared/page-configs/{getConfigValue.js → getConfigValueRuntime.js} +0 -0
  209. /package/dist/esm/node/plugin/plugins/{importBuild → buildEntry}/getVikeManifest.js +0 -0
  210. /package/dist/esm/shared/page-configs/{getConfigValue.d.ts → getConfigValueRuntime.d.ts} +0 -0
  211. /package/dist/esm/shared/page-configs/{getConfigValue.js → getConfigValueRuntime.js} +0 -0
@@ -3,7 +3,7 @@ import { isErrorPageId } from '../error-page.js';
3
3
  import { assert, assertUsage, hasProp, slice } from './utils.js';
4
4
  import { deduceRouteStringFromFilesystemPath } from './deduceRouteStringFromFilesystemPath.js';
5
5
  import { isCallable } from '../utils.js';
6
- import { getConfigValueRuntime } from '../page-configs/getConfigValue.js';
6
+ import { getConfigValueRuntime } from '../page-configs/getConfigValueRuntime.js';
7
7
  import { getDefinedAtString } from '../page-configs/getConfigDefinedAt.js';
8
8
  import { warnDeprecatedAllowKey } from './resolveRouteFunction.js';
9
9
  import { getHookFromPageConfigGlobal, getHookTimeoutDefault } from '../hooks/getHook.js';
@@ -8,7 +8,7 @@ export { PageContextBuiltInServer_deprecated as PageContextBuiltInServer };
8
8
  export { PageContextBuiltInClientWithClientRouting_deprecated as PageContextBuiltInClientWithClientRouting };
9
9
  export { PageContextBuiltInClientWithServerRouting_deprecated as PageContextBuiltInClientWithServerRouting };
10
10
  import type { PageContextUrlInternal, PageContextUrlClient, PageContextUrlServer } from './getPageContextUrlComputed.js';
11
- import type { ConfigEntries, ExportsAll, From, Source, Sources } from './getPageFiles/getExports.js';
11
+ import type { ConfigEntries, ExportsAll, From, Source, Sources } from './page-configs/getPageConfigUserFriendly.js';
12
12
  import type { Config } from './page-configs/Config.js';
13
13
  import type { PageContextConfig } from './page-configs/Config/PageContextConfig.js';
14
14
  import type { AbortStatusCode } from './route/abort.js';
@@ -22,3 +22,4 @@ export * from '../utils/escapeRegex.js';
22
22
  export * from '../utils/isArray.js';
23
23
  export * from '../utils/changeEnumerable.js';
24
24
  export * from '../utils/objectDefineProperty.js';
25
+ export * from '../utils/isScriptFile.js';
@@ -26,3 +26,4 @@ export * from '../utils/escapeRegex.js';
26
26
  export * from '../utils/isArray.js';
27
27
  export * from '../utils/changeEnumerable.js';
28
28
  export * from '../utils/objectDefineProperty.js';
29
+ export * from '../utils/isScriptFile.js';
@@ -10,7 +10,7 @@ export type { PageContextBuiltInClientWithServerRouting } from '../shared/types.
10
10
  export type { Config, ConfigMeta as Meta, ImportString, DataAsync, DataSync, GuardAsync, GuardSync, OnBeforePrerenderStartAsync, OnBeforePrerenderStartSync, OnBeforeRenderAsync, OnBeforeRenderSync, OnBeforeRouteAsync, OnBeforeRouteSync, OnHydrationEndAsync, OnHydrationEndSync, OnPageTransitionEndAsync, OnPageTransitionEndSync, OnPageTransitionStartAsync, OnPageTransitionStartSync, OnPrerenderStartAsync, OnPrerenderStartSync, OnRenderClientAsync, OnRenderClientSync, OnRenderHtmlAsync, OnRenderHtmlSync, RouteAsync, RouteSync, KeepScrollPosition } from '../shared/page-configs/Config.js';
11
11
  export type { ConfigEnv } from '../shared/page-configs/PageConfig.js';
12
12
  export type { ConfigDefinition, ConfigEffect } from '../node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js';
13
- export type { ConfigEntries } from '../shared/getPageFiles/getExports.js';
13
+ export type { ConfigEntries } from '../shared/page-configs/getPageConfigUserFriendly.js';
14
14
  export type { UrlPublic as Url } from '../utils/parseUrl.js';
15
15
  export type { InjectFilterEntry } from '../node/runtime/html/injectAssets/getHtmlTags.js';
16
16
  export { defineConfig } from './defineConfig.js';
@@ -1 +1 @@
1
- export declare const PROJECT_VERSION: "0.4.218";
1
+ export declare const PROJECT_VERSION: "0.4.220-commit-a9f46b8";
@@ -1,2 +1,2 @@
1
1
  // Automatically updated by @brillout/release-me
2
- export const PROJECT_VERSION = '0.4.218';
2
+ export const PROJECT_VERSION = '0.4.220-commit-a9f46b8';
@@ -30,6 +30,7 @@ const globalObject = getGlobalObject('utils/assert.ts', {
30
30
  assertSingleInstance_onAssertModuleLoad();
31
31
  const projectTag = `[vike]`;
32
32
  const projectTagWithVersion = `[vike@${projectInfo.projectVersion}]`;
33
+ const bugTag = 'Bug';
33
34
  const numberOfStackTraceLinesToRemove = 2;
34
35
  function assert(condition, debugInfo) {
35
36
  if (condition)
@@ -49,7 +50,7 @@ function assert(condition, debugInfo) {
49
50
  .filter(Boolean)
50
51
  .join(' ');
51
52
  errMsg = addWhitespace(errMsg);
52
- errMsg = addPrefixAssertType(errMsg, 'Bug');
53
+ errMsg = addPrefixAssertType(errMsg, bugTag);
53
54
  errMsg = addPrefixProjctName(errMsg, true);
54
55
  const internalError = createErrorWithCleanStackTrace(errMsg, numberOfStackTraceLinesToRemove);
55
56
  globalObject.onBeforeLog?.();
@@ -160,7 +161,7 @@ function getAssertErrMsg(thing) {
160
161
  const showVikeVersion = tag === projectTagWithVersion;
161
162
  const errStackPrefix = `Error: ${tag}`;
162
163
  if (errStack?.startsWith(errStackPrefix)) {
163
- if (globalObject.showStackTraceList.has(thing)) {
164
+ if (globalObject.showStackTraceList.has(thing) || isBug(thing)) {
164
165
  const assertMsg = errStack.slice(errStackPrefix.length);
165
166
  return { assertMsg, showVikeVersion };
166
167
  }
@@ -179,7 +180,7 @@ function overwriteAssertProductionLogger(logger) {
179
180
  globalObject.logger = logger;
180
181
  }
181
182
  function isBug(err) {
182
- return !String(err).includes('[Bug]');
183
+ return String(err).includes(`[${bugTag}]`);
183
184
  }
184
185
  function setAlwaysShowStackTrace() {
185
186
  globalObject.alwaysShowStackTrace = true;
@@ -28,16 +28,19 @@ function onSetupRuntime() {
28
28
  debug('assertSetup()', new Error().stack);
29
29
  if (isTest())
30
30
  return;
31
+ assertNodeEnvIsNotUndefinedString();
31
32
  if (!isViteLoaded()) {
32
33
  // TODO: make it assertUsage() again once https://github.com/vikejs/vike/issues/1528 is implemented.
33
- assertWarning(!isNodeEnvDev(), `The ${getEnvDescription()}, which seems contradictory because the environment seems to be a production environment (Vite isn't loaded), see https://vike.dev/NODE_ENV`, { onlyOnce: true });
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 });
34
35
  assertUsage(!setup.vikeVitePlugin, "Loading Vike's Vite plugin (the vike/plugin module) is prohibited in production.");
35
36
  // This assert() one of the main goal of this file: it ensures assertIsNotProductionRuntime()
36
37
  assert(!setup.shouldNotBeProduction);
37
38
  }
38
39
  else {
39
- // TODO: make it assertUsage() again once https://github.com/vikejs/vike/issues/1528 is implemented.
40
- assertWarning(isNodeEnvDev() || setup.vitePreviewServer || setup.isPrerendering, `The ${getEnvDescription()}, but Vite is loaded which is prohibited in production, see https://vike.dev/NODE_ENV`, { onlyOnce: true });
40
+ if (!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 });
43
+ }
41
44
  // These two assert() calls aren't that interesting
42
45
  assert(setup.vikeVitePlugin);
43
46
  assert(setup.shouldNotBeProduction);
@@ -57,7 +60,7 @@ function onSetupBuild() {
57
60
  }
58
61
  function onSetupPrerender() {
59
62
  markSetup_isPrerendering();
60
- if (getNodeEnvValue())
63
+ if (getNodeEnv())
61
64
  assertUsageNodeEnvIsNotDev('pre-rendering');
62
65
  setNodeEnvProduction();
63
66
  }
@@ -66,7 +69,7 @@ function isViteLoaded() {
66
69
  return setup.viteDevServer || setup.vitePreviewServer || setup.isViteDev !== undefined;
67
70
  }
68
71
  function isTest() {
69
- return isVitest() || getNodeEnvValue() === 'test';
72
+ return isVitest() || isNodeEnv('test');
70
73
  }
71
74
  // Called by Vite hook configureServer()
72
75
  function markSetup_viteDevServer() {
@@ -105,26 +108,54 @@ function assertUsageNodeEnvIsNotDev(operation) {
105
108
  assertWarning(false, `The ${getEnvDescription()} which is forbidden upon ${operation}, see https://vike.dev/NODE_ENV`, { onlyOnce: true });
106
109
  }
107
110
  function getEnvDescription() {
108
- const nodeEnv = getNodeEnvValue();
109
- const isDev = isNodeEnvDev();
110
- const envType = `${(isDev ? 'development' : 'production')} environment`;
111
- const nodeEnvDesc = `environment is set to be a ${pc.bold(envType)} by ${pc.cyan(`process.env.NODE_ENV===${JSON.stringify(nodeEnv)}`)}`;
111
+ const envType = `${(isNodeEnvDev() ? 'development' : 'production')} environment`;
112
+ const nodeEnvDesc = `environment is set to be a ${pc.bold(envType)} by ${pc.cyan(`process.env.NODE_ENV===${JSON.stringify(getNodeEnv())}`)}`;
112
113
  return nodeEnvDesc;
113
114
  }
115
+ // For example, Wrangler bug replaces `process.env.NODE_ENV` with `"undefined"`
116
+ // https://github.com/cloudflare/workers-sdk/issues/7886
117
+ function assertNodeEnvIsNotUndefinedString() {
118
+ const nodeEnv = getNodeEnv();
119
+ 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 });
120
+ }
114
121
  function isNodeEnvDev() {
115
- const nodeEnv = getNodeEnvValue();
122
+ const nodeEnv = getNodeEnv();
116
123
  // That's quite strict, let's see if some user complains
117
- return !nodeEnv || ['development', 'dev'].includes(nodeEnv);
124
+ return nodeEnv === undefined || isNodeEnv(['development', 'dev', '']);
125
+ }
126
+ function isNodeEnv(value) {
127
+ const values = Array.isArray(value) ? value : [value];
128
+ const nodeEnv = getNodeEnv();
129
+ return nodeEnv !== undefined && values.includes(nodeEnv.toLowerCase());
118
130
  }
119
- function getNodeEnvValue() {
120
- if (typeof process === 'undefined')
121
- return null;
122
- return process.env.NODE_ENV?.toLowerCase();
131
+ function getNodeEnv() {
132
+ let val;
133
+ try {
134
+ val = process.env.NODE_ENV;
135
+ }
136
+ catch {
137
+ return undefined;
138
+ }
139
+ /*
140
+ // Should we show the following warning? So far I don't think so because of the following. Maybe we can show it once we enable users to disable warnings.
141
+ // - The warning isn't always actionable, e.g. if it's a tool that dynamically sets `process.env.NODE_ENV`.
142
+ // - We assume that tools use `process.env.NODE_ENV` and not someting like `const { env } = process; env.NODE_ENV`. Thus, in practice, `val` overrides `val2` so having `val!==val2` isn't an issue.
143
+ {
144
+ const val2 = process.env['NODE' + '_ENV']
145
+ if (val2)
146
+ assertWarning(
147
+ val === val2,
148
+ `Dynamically setting process.env.NODE_ENV to ${val2} hasn't any effect because process.env.NODE_ENV is being statically replaced to ${val}.`,
149
+ { onlyOnce: true }
150
+ )
151
+ }
152
+ //*/
153
+ return val;
123
154
  }
124
155
  function setNodeEnvProduction() {
125
156
  // The statement `process.env['NODE_ENV'] = 'production'` chokes webpack v4
126
157
  const proc = process;
127
158
  const { env } = proc;
128
159
  env.NODE_ENV = 'production';
129
- assert(getNodeEnvValue() === 'production');
160
+ assert(isNodeEnv('production'));
130
161
  }
@@ -0,0 +1,2 @@
1
+ export { catchInfiniteLoop };
2
+ declare function catchInfiniteLoop(functionName: `${string}()`, maxNumberOfCalls?: number, withinSeconds?: number): void;
@@ -0,0 +1,32 @@
1
+ export { catchInfiniteLoop };
2
+ import { assert, assertWarning } from './assert.js';
3
+ const trackers = {};
4
+ function catchInfiniteLoop(functionName, maxNumberOfCalls = 100, withinSeconds = 5) {
5
+ // Init
6
+ const now = new Date();
7
+ let tracker = (trackers[functionName] ?? (trackers[functionName] = createTracker(now)));
8
+ // Reset
9
+ const elapsedTime = now.getTime() - tracker.start.getTime();
10
+ if (elapsedTime > withinSeconds * 1000)
11
+ tracker = trackers[functionName] = createTracker(now);
12
+ // Count
13
+ tracker.count++;
14
+ // Error
15
+ const msg = `[Infinite Loop] ${functionName} called ${tracker.count} times within ${withinSeconds} seconds`;
16
+ if (tracker.count > maxNumberOfCalls) {
17
+ assert(false, msg);
18
+ }
19
+ // Warning, at 50% threshold
20
+ if (!tracker.warned && tracker.count > maxNumberOfCalls * 0.5) {
21
+ // Warning is shown upon 10 calls a second, on average during 5 seconds, given the default parameters
22
+ assertWarning(false, msg, { onlyOnce: false });
23
+ tracker.warned = true;
24
+ }
25
+ }
26
+ function createTracker(now) {
27
+ const tracker = {
28
+ count: 0,
29
+ start: now
30
+ };
31
+ return tracker;
32
+ }
@@ -1,7 +1,7 @@
1
1
  export { createDebugger };
2
2
  export { isDebugActivated };
3
3
  export type { Debug };
4
- declare const flags: readonly ["vike:error", "vike:extractAssets", "vike:extractExportNames", "vike:glob", "vike:log", "vike:optimizeDeps", "vike:outDir", "vike:pageFiles", "vike:pointer-imports", "vike:routing", "vike:setup", "vike:stream", "vike:virtual-files", "vike:esbuild-resolve"];
4
+ declare const flags: readonly ["vike:error", "vike:extractAssets", "vike:extractExportNames", "vike:glob", "vike:globalContext", "vike:log", "vike:optimizeDeps", "vike:outDir", "vike:pageFiles", "vike:pointer-imports", "vike:routing", "vike:setup", "vike:stream", "vike:virtual-files", "vike:esbuild-resolve"];
5
5
  type Flag = (typeof flags)[number];
6
6
  type Debug = ReturnType<typeof createDebugger>;
7
7
  type Options = {
@@ -16,6 +16,7 @@ const flags = [
16
16
  'vike:extractAssets',
17
17
  'vike:extractExportNames',
18
18
  'vike:glob',
19
+ 'vike:globalContext',
19
20
  'vike:log',
20
21
  'vike:optimizeDeps',
21
22
  'vike:outDir',
@@ -28,7 +29,7 @@ const flags = [
28
29
  'vike:esbuild-resolve'
29
30
  ];
30
31
  const flagRegex = /\bvike:[a-zA-Z-]+/g;
31
- assertDEBUG();
32
+ assertFlagsActivated();
32
33
  function createDebugger(flag, optionsGlobal) {
33
34
  checkType(flag);
34
35
  assert(flags.includes(flag));
@@ -71,8 +72,8 @@ function debug_(flag, options, ...msgs) {
71
72
  function isDebugActivated(flag) {
72
73
  checkType(flag);
73
74
  assert(flags.includes(flag));
74
- const DEBUG = getDEBUG();
75
- const isActivated = DEBUG?.includes(flag) ?? false;
75
+ const flagsActivated = getFlagsActivated();
76
+ const isActivated = flagsActivated.includes(flag);
76
77
  return isActivated;
77
78
  }
78
79
  function formatMsg(info, options, padding, position) {
@@ -135,13 +136,17 @@ function replaceFunctionSerializer(_key, value) {
135
136
  }
136
137
  return value;
137
138
  }
138
- function assertDEBUG() {
139
- const DEBUG = getDEBUG() ?? '';
140
- const flagsActivated = DEBUG.match(flagRegex) ?? [];
139
+ function assertFlagsActivated() {
140
+ const flagsActivated = getFlagsActivated();
141
141
  flagsActivated.forEach((flag) => {
142
142
  assertUsage(flags.includes(flag), `Unknown DEBUG flag ${pc.cyan(flag)}. Valid flags:\n${flags.map((f) => ` ${pc.cyan(f)}`).join('\n')}`);
143
143
  });
144
144
  }
145
+ function getFlagsActivated() {
146
+ const DEBUG = getDEBUG() ?? '';
147
+ const flagsActivated = DEBUG.match(flagRegex) ?? [];
148
+ return flagsActivated;
149
+ }
145
150
  function getDEBUG() {
146
151
  let DEBUG;
147
152
  // - `process` can be undefined in edge workers
@@ -1,8 +1,6 @@
1
1
  export { getGlobalObject };
2
2
  export { assertIsSingleModuleInstance };
3
3
  import { assert } from './assert.js';
4
- import { projectInfo } from './projectInfo.js';
5
- const projectKey = `_${projectInfo.projectName.toLowerCase()}`;
6
4
  /** Share information across module instances. */
7
5
  function getGlobalObject(
8
6
  // We use the filename (or file path) as key. There should be only one getGlobalObject() usage per file. Thus the key should be unique, assuming the filename (or file path) is unique.
@@ -19,6 +17,7 @@ key) {
19
17
  assert(!(key in globalObjects));
20
18
  }
21
19
  function getGlobalObjects() {
20
+ const projectKey = '_vike';
22
21
  // @ts-ignore
23
22
  const globalObjects = (globalThis[projectKey] = globalThis[projectKey] || {});
24
23
  return globalObjects;
@@ -5,6 +5,8 @@ import { assert } from './assert.js';
5
5
  function isDevCheck(configEnv) {
6
6
  const { isPreview, command } = configEnv;
7
7
  // Released at vite@5.1.0 which is guaranteed with `assertVersion('Vite', version, '5.1.0')`
8
+ // - Release: https://github.com/vitejs/vite/blob/6f7466e6211027686f40ad7e4ce6ec8477414546/packages/vite/CHANGELOG.md#510-beta4-2024-01-26:~:text=fix(preview)%3A-,set%20isPreview%20true,-(%2315695)%20(93fce55
9
+ // - Surprisingly, this assert() can fail: https://github.com/vikejs/vike/issues/2120
8
10
  assert(typeof isPreview === 'boolean');
9
11
  return command === 'serve' && !isPreview;
10
12
  }
@@ -0,0 +1,3 @@
1
+ export { makePublicCopy };
2
+ /** Prefix internal properties with `_` + show warning */
3
+ declare function makePublicCopy<Obj extends Record<string, unknown>, PropsPublic extends readonly (keyof Obj)[]>(obj: Obj, objName: string, propsPublic: PropsPublic, propsInternalNoWarning?: (keyof Obj)[]): Pick<Obj, PropsPublic[number]>;
@@ -0,0 +1,30 @@
1
+ export { makePublicCopy };
2
+ import { assertWarning } from './assert.js';
3
+ import { objectKeys } from './objectKeys.js';
4
+ /** Prefix internal properties with `_` + show warning */
5
+ function makePublicCopy(obj, objName, propsPublic, propsInternalNoWarning) {
6
+ const objPublic = {};
7
+ objectKeys(obj).forEach((key) => {
8
+ const val = obj[key];
9
+ if (propsPublic.includes(key)) {
10
+ objPublic[key] = val;
11
+ }
12
+ else {
13
+ const keyPublic = key.startsWith('_') ? key : `_${key}`;
14
+ if (propsInternalNoWarning?.includes(key)) {
15
+ // @ts-expect-error
16
+ objPublic[keyPublic] = val;
17
+ }
18
+ else {
19
+ Object.defineProperty(objPublic, keyPublic, {
20
+ enumerable: true,
21
+ get() {
22
+ assertWarning(false, `Using internal ${objName}.${keyPublic} which may break in any minor version update. Reach out on GitHub and elaborate your use case so that the Vike team can add official support for your use case.`, { onlyOnce: true });
23
+ return val;
24
+ }
25
+ });
26
+ }
27
+ }
28
+ });
29
+ return objPublic;
30
+ }
@@ -0,0 +1 @@
1
+ export declare function objectReplace(obj: object, objNew: object, except?: string[]): void;
@@ -0,0 +1,6 @@
1
+ export function objectReplace(obj, objNew, except) {
2
+ Object.keys(obj)
3
+ .filter((key) => !except?.includes(key))
4
+ .forEach((key) => delete obj[key]);
5
+ Object.assign(obj, objNew);
6
+ }
@@ -1,4 +1,4 @@
1
1
  export declare const projectInfo: {
2
2
  projectName: "Vike";
3
- projectVersion: "0.4.218";
3
+ projectVersion: "0.4.220-commit-a9f46b8";
4
4
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vike",
3
- "version": "0.4.218",
3
+ "version": "0.4.220-commit-a9f46b8",
4
4
  "repository": "https://github.com/vikejs/vike",
5
5
  "exports": {
6
6
  "./server": {
@@ -108,14 +108,6 @@
108
108
  "types": "./dist/esm/node/runtime/page-files/setup.d.ts",
109
109
  "default": "./dist/esm/node/runtime/page-files/setup.js"
110
110
  },
111
- "./__internal/loadImportBuild": {
112
- "worker": "./dist/esm/node/runtime/globalContext/loadImportBuild.js",
113
- "edge-light": "./dist/esm/node/runtime/globalContext/loadImportBuild.js",
114
- "require": "./dist/cjs/node/runtime/globalContext/loadImportBuild.js",
115
- "node": "./dist/esm/node/runtime/globalContext/loadImportBuild.js",
116
- "types": "./dist/esm/node/runtime/globalContext/loadImportBuild.d.ts",
117
- "default": "./dist/esm/node/runtime/globalContext/loadImportBuild.js"
118
- },
119
111
  ".": {
120
112
  "worker": "./dist/esm/node/runtime/index-deprecated.js",
121
113
  "edge-light": "./dist/esm/node/runtime/index-deprecated.js",
@@ -131,7 +123,7 @@
131
123
  "@brillout/json-serializer": "^0.5.15",
132
124
  "@brillout/picocolors": "^1.0.15",
133
125
  "@brillout/require-shim": "^0.1.2",
134
- "@brillout/vite-plugin-server-entry": "^0.5.6",
126
+ "@brillout/vite-plugin-server-entry": "^0.5.8",
135
127
  "acorn": "^8.0.0",
136
128
  "cac": "^6.0.0",
137
129
  "es-module-lexer": "^1.0.0",
@@ -236,7 +228,6 @@
236
228
  "./dist-cjs-fixup.mjs",
237
229
  "./getPageContext.js",
238
230
  "./__internal.js",
239
- "./__internal/loadImportBuild.js",
240
231
  "./__internal/setup.js",
241
232
  "./modifyUrl.js",
242
233
  "./plugin.js",
@@ -255,9 +246,9 @@
255
246
  "@types/resolve": "^1.20.6",
256
247
  "@types/semver": "^7.5.8",
257
248
  "@types/source-map-support": "^0.5.10",
258
- "react-streaming": "^0.3.44",
249
+ "react-streaming": "^0.3.47",
259
250
  "rimraf": "^5.0.5",
260
- "typescript": "^5.6.2",
251
+ "typescript": "^5.7.3",
261
252
  "vite": "^6.0.5"
262
253
  },
263
254
  "scripts": {
@@ -1,3 +0,0 @@
1
- // Some tools still need this as of January 2025
2
- export * from '../dist/esm/node/runtime/globalContext/loadImportBuild.js'
3
- export { default } from '../dist/esm/node/runtime/globalContext/loadImportBuild.js'
@@ -1,128 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.resolveVikeConfigGlobal = resolveVikeConfigGlobal;
7
- const picocolors_1 = __importDefault(require("@brillout/picocolors"));
8
- const utils_js_1 = require("../../../../utils.js");
9
- function resolveVikeConfigGlobal(vikeVitePluginOptions, pageConfigGlobalValues) {
10
- // TODO/v1-release: remove
11
- assertVikeConfigGlobal(vikeVitePluginOptions, ({ prop, errMsg }) => `vite.config.js > vike option ${prop} ${errMsg}`);
12
- const configs = [vikeVitePluginOptions];
13
- assertVikeConfigGlobal(pageConfigGlobalValues, ({ prop, errMsg }) => {
14
- // Can we add the config file path ?
15
- return `config ${picocolors_1.default.cyan(prop)} ${errMsg}`;
16
- });
17
- configs.push(pageConfigGlobalValues);
18
- const vikeConfigGlobal = {
19
- disableAutoFullBuild: pickFirst(configs.map((c) => c.disableAutoFullBuild)) ?? null,
20
- prerender: resolvePrerenderOptions(configs),
21
- includeAssetsImportedByServer: pickFirst(configs.map((c) => c.includeAssetsImportedByServer)) ?? true,
22
- baseServer: pickFirst(configs.map((c) => c.baseServer)) ?? null,
23
- baseAssets: pickFirst(configs.map((c) => c.baseAssets)) ?? null,
24
- redirects: merge(configs.map((c) => c.redirects)) ?? {},
25
- disableUrlNormalization: pickFirst(configs.map((c) => c.disableUrlNormalization)) ?? false,
26
- trailingSlash: pickFirst(configs.map((c) => c.trailingSlash)) ?? false,
27
- crawl: {
28
- git: vikeVitePluginOptions.crawl?.git ?? null
29
- }
30
- };
31
- return vikeConfigGlobal;
32
- }
33
- function resolvePrerenderOptions(configs) {
34
- if (!configs.some((c) => c.prerender)) {
35
- return false;
36
- }
37
- const configsPrerender = configs.map((c) => c.prerender).filter(isObject2);
38
- return {
39
- partial: pickFirst(configsPrerender.map((c) => c.partial)) ?? false,
40
- noExtraDir: pickFirst(configsPrerender.map((c) => c.noExtraDir)) ?? false,
41
- parallel: pickFirst(configsPrerender.map((c) => c.parallel)) ?? true,
42
- disableAutoRun: pickFirst(configsPrerender.map((c) => c.disableAutoRun)) ?? false
43
- };
44
- }
45
- function isObject2(p) {
46
- return typeof p === 'object';
47
- }
48
- function merge(objs) {
49
- const obj = {};
50
- objs.forEach((e) => {
51
- Object.assign(obj, e);
52
- });
53
- return obj;
54
- }
55
- function pickFirst(arr) {
56
- return arr.filter((v) => v !== undefined)[0];
57
- }
58
- function assertVikeConfigGlobal(vikeConfigGlobal, wrongUsageMsg) {
59
- const wrongUsageError = check(vikeConfigGlobal);
60
- if (wrongUsageError) {
61
- (0, utils_js_1.assertUsage)(false, wrongUsageMsg(wrongUsageError));
62
- }
63
- }
64
- function check(vikeConfigGlobal) {
65
- (0, utils_js_1.assert)((0, utils_js_1.isObject)(vikeConfigGlobal));
66
- {
67
- const prop = 'disableUrlNormalization';
68
- if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') && !(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined'))
69
- return { prop, errMsg: 'should be a boolean' };
70
- }
71
- {
72
- const prop = 'trailingSlash';
73
- if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') && !(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined'))
74
- return { prop, errMsg: 'should be a boolean' };
75
- }
76
- {
77
- const prop = 'redirects';
78
- const { redirects } = vikeConfigGlobal;
79
- if (!(redirects === undefined ||
80
- ((0, utils_js_1.isObject)(redirects) && Object.values(redirects).every((v) => typeof v === 'string'))))
81
- return { prop, errMsg: 'should be an object of strings' };
82
- }
83
- {
84
- const prop = 'disableAutoFullBuild';
85
- if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') &&
86
- !(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined') &&
87
- !(vikeConfigGlobal[prop] === 'prerender'))
88
- return { prop, errMsg: "should be a boolean or 'prerender'" };
89
- }
90
- {
91
- const prop = 'includeAssetsImportedByServer';
92
- if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') && !(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined'))
93
- return { prop, errMsg: 'should be a boolean' };
94
- }
95
- {
96
- const prop = 'prerender';
97
- if (!(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'object') &&
98
- !(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'boolean') &&
99
- !(0, utils_js_1.hasProp)(vikeConfigGlobal, prop, 'undefined'))
100
- return { prop, errMsg: 'should be an object or a boolean' };
101
- }
102
- const configVikePrerender = vikeConfigGlobal.prerender;
103
- if (typeof configVikePrerender === 'object') {
104
- {
105
- const p = 'partial';
106
- if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') && !(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
107
- return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
108
- }
109
- {
110
- const p = 'noExtraDir';
111
- if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') && !(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
112
- return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
113
- }
114
- {
115
- const p = 'disableAutoRun';
116
- if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') && !(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
117
- return { prop: `prerender.${p}`, errMsg: 'should be a boolean' };
118
- }
119
- {
120
- const p = 'parallel';
121
- if (!(0, utils_js_1.hasProp)(configVikePrerender, p, 'boolean') &&
122
- !(0, utils_js_1.hasProp)(configVikePrerender, p, 'number') &&
123
- !(0, utils_js_1.hasProp)(configVikePrerender, p, 'undefined'))
124
- return { prop: `prerender.${p}`, errMsg: 'should be a boolean or a number' };
125
- }
126
- }
127
- return null;
128
- }
@@ -1,25 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.loadImportBuild = loadImportBuild;
4
- exports.setImportBuildGetters = setImportBuildGetters;
5
- const runtime_1 = require("@brillout/vite-plugin-server-entry/runtime");
6
- const utils_js_1 = require("../utils.js");
7
- const buildGetters = (globalThis.__vike_buildGetters = globalThis.__vike_buildGetters || {
8
- getters: null
9
- });
10
- function setImportBuildGetters(getters) {
11
- buildGetters.getters = getters;
12
- }
13
- async function loadImportBuild(outDir) {
14
- if (!buildGetters.getters) {
15
- await (0, runtime_1.importServerProductionEntry)({ outDir });
16
- (0, utils_js_1.assert)(buildGetters.getters);
17
- }
18
- const [pageFiles, assetsManifest, pluginManifest] = await Promise.all([
19
- buildGetters.getters.pageFiles(),
20
- buildGetters.getters.getAssetsManifest(),
21
- buildGetters.getters.pluginManifest()
22
- ]);
23
- const buildEntries = { pageFiles, assetsManifest, pluginManifest };
24
- return buildEntries;
25
- }
@@ -1,22 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPageFilesExports = getPageFilesExports;
4
- const utils_js_1 = require("../utils.js");
5
- const globalContext_js_1 = require("../globalContext.js");
6
- const virtualFileImportUserCode_js_1 = require("../../shared/virtual-files/virtualFileImportUserCode.js");
7
- async function getPageFilesExports() {
8
- const viteDevServer = (0, globalContext_js_1.getViteDevServer)();
9
- (0, utils_js_1.assert)(viteDevServer);
10
- let moduleExports;
11
- try {
12
- moduleExports = await viteDevServer.ssrLoadModule(virtualFileImportUserCode_js_1.virtualFileIdImportUserCodeServer);
13
- }
14
- catch (err) {
15
- (0, utils_js_1.debugGlob)(`Glob error: ${virtualFileImportUserCode_js_1.virtualFileIdImportUserCodeServer} transpile error: `, err);
16
- throw err;
17
- }
18
- moduleExports = moduleExports.default || moduleExports;
19
- (0, utils_js_1.debugGlob)('Glob result: ', moduleExports);
20
- (0, utils_js_1.assert)((0, utils_js_1.isObject)(moduleExports));
21
- return moduleExports;
22
- }
@@ -1 +0,0 @@
1
- export {};
@@ -1,4 +0,0 @@
1
- import { setPageFiles } from '../../shared/getPageFiles.js';
2
- // @ts-ignore
3
- import * as pageFilesExports from 'virtual:vike:importUserCode:client:client-routing';
4
- setPageFiles(pageFilesExports);
@@ -1 +0,0 @@
1
- export {};
@@ -1,4 +0,0 @@
1
- import { setPageFiles } from '../../shared/getPageFiles.js';
2
- // @ts-ignore
3
- import * as pageFilesExports from 'virtual:vike:importUserCode:client:server-routing';
4
- setPageFiles(pageFilesExports);