vike 0.4.228 → 0.4.229-commit-a19745d

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 (248) hide show
  1. package/dist/cjs/__internal/index.js +2 -2
  2. package/dist/cjs/client/client-routing-runtime/globalContext.js +49 -0
  3. package/dist/cjs/client/server-routing-runtime/globalContext.js +41 -0
  4. package/dist/cjs/client/server-routing-runtime/utils.js +1 -1
  5. package/dist/cjs/client/shared/createGetGlobalContextClient.js +58 -0
  6. package/dist/cjs/client/shared/getJsonSerializedInHtml.js +31 -0
  7. package/dist/cjs/client/shared/utils.js +22 -0
  8. package/dist/cjs/node/plugin/index.js +3 -1
  9. package/dist/cjs/node/plugin/plugins/baseUrls.js +1 -1
  10. package/dist/cjs/node/plugin/plugins/build/handleAssetsManifest.js +10 -5
  11. package/dist/cjs/node/plugin/plugins/build/pluginBuildApp.js +1 -1
  12. package/dist/cjs/node/plugin/plugins/build/pluginBuildConfig.js +3 -10
  13. package/dist/cjs/node/plugin/plugins/build/pluginBuildEntry.js +9 -5
  14. package/dist/cjs/node/plugin/plugins/build/pluginModuleBanner.js +9 -5
  15. package/dist/cjs/node/plugin/plugins/commonConfig/assertResolveAlias.js +1 -1
  16. package/dist/cjs/node/plugin/plugins/commonConfig.js +14 -3
  17. package/dist/cjs/node/plugin/plugins/devConfig/determineFsAllowList.js +2 -7
  18. package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +6 -1
  19. package/dist/cjs/node/plugin/plugins/envVars.js +17 -19
  20. package/dist/cjs/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +3 -1
  21. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +11 -0
  22. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/ignorePatternsBuiltIn.js +2 -0
  23. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +1 -1
  24. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +2 -2
  25. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/{transformPointerImports.js → pointerImports.js} +13 -0
  26. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.js +20 -19
  27. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +15 -12
  28. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +11 -11
  29. package/dist/cjs/node/plugin/plugins/replaceConstants.js +76 -0
  30. package/dist/cjs/node/plugin/shared/applyRegExWithMagicString.js +10 -0
  31. package/dist/cjs/node/plugin/shared/findPageFiles.js +1 -1
  32. package/dist/cjs/node/plugin/shared/getFilePath.js +2 -2
  33. package/dist/cjs/node/plugin/shared/resolveClientEntriesDev.js +8 -20
  34. package/dist/cjs/node/plugin/utils.js +1 -0
  35. package/dist/cjs/node/prerender/runPrerender.js +44 -41
  36. package/dist/cjs/node/prerender/utils.js +1 -1
  37. package/dist/cjs/node/runtime/globalContext.js +102 -125
  38. package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +18 -5
  39. package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +2 -2
  40. package/dist/cjs/node/runtime/html/propKeys.js +47 -0
  41. package/dist/cjs/node/runtime/html/renderHtml.js +13 -3
  42. package/dist/cjs/node/runtime/html/{serializePageContextClientSide.js → serializeContext.js} +37 -67
  43. package/dist/cjs/node/runtime/index-deprecated.js +9 -38
  44. package/dist/cjs/node/runtime/index.js +56 -2
  45. package/dist/cjs/node/runtime/renderPage/analyzePage.js +1 -1
  46. package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +8 -3
  47. package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +73 -0
  48. package/dist/cjs/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +2 -2
  49. package/dist/cjs/node/runtime/renderPage/executeOnRenderHtmlHook.js +2 -2
  50. package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +1 -1
  51. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +1 -17
  52. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +1 -1
  53. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +3 -3
  54. package/dist/cjs/node/runtime/renderPage/handleErrorWithoutErrorPage.js +1 -1
  55. package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
  56. package/dist/cjs/node/runtime/renderPage/log404/index.js +1 -1
  57. package/dist/cjs/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +1 -1
  58. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -68
  59. package/dist/cjs/node/runtime/renderPage.js +102 -81
  60. package/dist/cjs/node/runtime/universal-middleware.js +7 -1
  61. package/dist/cjs/node/runtime/utils.js +3 -2
  62. package/dist/cjs/shared/assertPageContextProvidedByUser.js +1 -1
  63. package/dist/cjs/shared/createGlobalContextShared.js +54 -0
  64. package/dist/cjs/shared/createPageContextShared.js +17 -0
  65. package/dist/cjs/shared/getPageFiles/fileTypes.js +1 -1
  66. package/dist/cjs/shared/hooks/executeHookGeneric.js +18 -0
  67. package/dist/cjs/shared/hooks/getHook.js +45 -27
  68. package/dist/cjs/shared/htmlElementIds.js +5 -0
  69. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +3 -7
  70. package/dist/cjs/shared/route/executeGuardHook.js +1 -1
  71. package/dist/cjs/shared/route/loadPageRoutes.js +2 -1
  72. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  73. package/dist/cjs/utils/catchInfiniteLoop.js +3 -3
  74. package/dist/cjs/utils/debug.js +1 -0
  75. package/dist/cjs/utils/getPublicProxy.js +27 -0
  76. package/dist/cjs/utils/isImportPath.js +21 -0
  77. package/dist/cjs/utils/isScriptFile.js +24 -21
  78. package/dist/cjs/utils/objectAssign.js +6 -10
  79. package/dist/cjs/utils/objectReplace.js +4 -4
  80. package/dist/cjs/utils/{isNpmPackage.js → parseNpmPackage.js} +24 -23
  81. package/dist/cjs/utils/path.js +12 -2
  82. package/dist/cjs/utils/requireResolve.js +148 -53
  83. package/dist/esm/__internal/index.js +3 -3
  84. package/dist/esm/client/client-routing-runtime/createPageContext.d.ts +29 -10
  85. package/dist/esm/client/client-routing-runtime/createPageContext.js +23 -22
  86. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +5 -4
  87. package/dist/esm/client/client-routing-runtime/globalContext.d.ts +20 -0
  88. package/dist/esm/client/client-routing-runtime/globalContext.js +13 -0
  89. package/dist/esm/client/client-routing-runtime/initOnLinkClick.js +2 -2
  90. package/dist/esm/client/client-routing-runtime/prefetch.js +2 -2
  91. package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +8 -7
  92. package/dist/esm/client/client-routing-runtime/utils.d.ts +0 -1
  93. package/dist/esm/client/client-routing-runtime/utils.js +0 -1
  94. package/dist/esm/client/index.d.ts +1 -0
  95. package/dist/esm/client/index.js +4 -0
  96. package/dist/esm/client/node.js +1 -3
  97. package/dist/esm/client/server-routing-runtime/createPageContextClientSide.d.ts +36 -0
  98. package/dist/esm/client/server-routing-runtime/createPageContextClientSide.js +47 -0
  99. package/dist/esm/client/server-routing-runtime/entry.js +2 -2
  100. package/dist/esm/client/server-routing-runtime/globalContext.d.ts +17 -0
  101. package/dist/esm/client/server-routing-runtime/globalContext.js +5 -0
  102. package/dist/esm/client/server-routing-runtime/utils.d.ts +1 -1
  103. package/dist/esm/client/server-routing-runtime/utils.js +1 -1
  104. package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +23 -0
  105. package/dist/esm/client/shared/createGetGlobalContextClient.js +58 -0
  106. package/dist/esm/client/shared/executeOnRenderClientHook.js +5 -4
  107. package/dist/esm/client/shared/{getPageContextSerializedInHtml.d.ts → getJsonSerializedInHtml.d.ts} +2 -0
  108. package/dist/esm/client/shared/getJsonSerializedInHtml.js +29 -0
  109. package/dist/esm/client/shared/removeFoucBuster.js +1 -0
  110. package/dist/esm/client/shared/utils.d.ts +4 -0
  111. package/dist/esm/client/shared/utils.js +4 -0
  112. package/dist/esm/node/plugin/index.js +3 -1
  113. package/dist/esm/node/plugin/plugins/baseUrls.js +2 -2
  114. package/dist/esm/node/plugin/plugins/build/handleAssetsManifest.js +11 -6
  115. package/dist/esm/node/plugin/plugins/build/pluginBuildApp.js +2 -2
  116. package/dist/esm/node/plugin/plugins/build/pluginBuildConfig.js +4 -11
  117. package/dist/esm/node/plugin/plugins/build/pluginBuildEntry.d.ts +1 -1
  118. package/dist/esm/node/plugin/plugins/build/pluginBuildEntry.js +10 -6
  119. package/dist/esm/node/plugin/plugins/build/pluginModuleBanner.js +9 -5
  120. package/dist/esm/node/plugin/plugins/commonConfig/assertResolveAlias.js +2 -2
  121. package/dist/esm/node/plugin/plugins/commonConfig.d.ts +2 -0
  122. package/dist/esm/node/plugin/plugins/commonConfig.js +15 -4
  123. package/dist/esm/node/plugin/plugins/devConfig/determineFsAllowList.js +3 -8
  124. package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +7 -2
  125. package/dist/esm/node/plugin/plugins/envVars.js +18 -20
  126. package/dist/esm/node/plugin/plugins/importUserCode/getVirtualFileImportUserCode.js +4 -2
  127. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +11 -0
  128. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/ignorePatternsBuiltIn.d.ts +1 -1
  129. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/ignorePatternsBuiltIn.js +2 -0
  130. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles.js +2 -2
  131. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +1 -1
  132. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/{transformPointerImports.d.ts → pointerImports.d.ts} +2 -0
  133. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/{transformPointerImports.js → pointerImports.js} +14 -1
  134. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.d.ts +1 -1
  135. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.js +20 -19
  136. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +15 -12
  137. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +11 -11
  138. package/dist/esm/node/plugin/plugins/replaceConstants.d.ts +3 -0
  139. package/dist/esm/node/plugin/plugins/replaceConstants.js +71 -0
  140. package/dist/esm/node/plugin/shared/applyRegExWithMagicString.d.ts +3 -0
  141. package/dist/esm/node/plugin/shared/applyRegExWithMagicString.js +8 -0
  142. package/dist/esm/node/plugin/shared/findPageFiles.js +2 -2
  143. package/dist/esm/node/plugin/shared/getFilePath.js +3 -3
  144. package/dist/esm/node/plugin/shared/resolveClientEntriesDev.d.ts +1 -1
  145. package/dist/esm/node/plugin/shared/resolveClientEntriesDev.js +9 -21
  146. package/dist/esm/node/plugin/utils.d.ts +1 -0
  147. package/dist/esm/node/plugin/utils.js +1 -0
  148. package/dist/esm/node/prerender/runPrerender.d.ts +314 -5
  149. package/dist/esm/node/prerender/runPrerender.js +48 -45
  150. package/dist/esm/node/prerender/utils.d.ts +1 -1
  151. package/dist/esm/node/prerender/utils.js +1 -1
  152. package/dist/esm/node/runtime/globalContext.d.ts +425 -47
  153. package/dist/esm/node/runtime/globalContext.js +103 -126
  154. package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +18 -5
  155. package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.d.ts +2 -2
  156. package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +2 -2
  157. package/dist/esm/node/runtime/html/injectAssets.d.ts +3 -3
  158. package/dist/esm/node/runtime/html/propKeys.d.ts +8 -0
  159. package/dist/esm/node/runtime/html/propKeys.js +45 -0
  160. package/dist/esm/node/runtime/html/renderHtml.js +13 -3
  161. package/dist/esm/node/runtime/html/{serializePageContextClientSide.d.ts → serializeContext.d.ts} +7 -6
  162. package/dist/esm/node/runtime/html/{serializePageContextClientSide.js → serializeContext.js} +36 -67
  163. package/dist/esm/node/runtime/index-deprecated.d.ts +1 -16
  164. package/dist/esm/node/runtime/index-deprecated.js +9 -36
  165. package/dist/esm/node/runtime/index.d.ts +23 -1
  166. package/dist/esm/node/runtime/index.js +38 -3
  167. package/dist/esm/node/runtime/renderPage/analyzePage.d.ts +2 -2
  168. package/dist/esm/node/runtime/renderPage/analyzePage.js +1 -1
  169. package/dist/esm/node/runtime/renderPage/createHttpResponse.d.ts +5 -4
  170. package/dist/esm/node/runtime/renderPage/createHttpResponse.js +8 -3
  171. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +155 -0
  172. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +71 -0
  173. package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +3 -3
  174. package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.d.ts +1 -1
  175. package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.js +3 -3
  176. package/dist/esm/node/runtime/renderPage/getPageAssets/getManifestEntry.js +2 -2
  177. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +1 -17
  178. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +2 -2
  179. package/dist/esm/node/runtime/renderPage/getPageAssets.d.ts +2 -2
  180. package/dist/esm/node/runtime/renderPage/getPageAssets.js +3 -3
  181. package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +2 -2
  182. package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.js +1 -1
  183. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +2 -2
  184. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
  185. package/dist/esm/node/runtime/renderPage/log404/index.d.ts +2 -2
  186. package/dist/esm/node/runtime/renderPage/log404/index.js +1 -1
  187. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +3 -3
  188. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +1 -1
  189. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +225 -179
  190. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +4 -69
  191. package/dist/esm/node/runtime/renderPage.d.ts +146 -7
  192. package/dist/esm/node/runtime/renderPage.js +105 -84
  193. package/dist/esm/node/runtime/universal-middleware.js +7 -1
  194. package/dist/esm/node/runtime/utils.d.ts +3 -2
  195. package/dist/esm/node/runtime/utils.js +3 -2
  196. package/dist/esm/shared/VikeNamespace.d.ts +35 -13
  197. package/dist/esm/shared/assertPageContextProvidedByUser.js +1 -1
  198. package/dist/esm/shared/createGlobalContextShared.d.ts +39 -0
  199. package/dist/esm/shared/createGlobalContextShared.js +51 -0
  200. package/dist/esm/shared/createPageContextShared.d.ts +9 -0
  201. package/dist/esm/shared/createPageContextShared.js +15 -0
  202. package/dist/esm/shared/getPageFiles/fileTypes.js +1 -1
  203. package/dist/esm/shared/hooks/executeHookGeneric.d.ts +8 -0
  204. package/dist/esm/shared/hooks/executeHookGeneric.js +16 -0
  205. package/dist/esm/shared/hooks/getHook.d.ts +5 -3
  206. package/dist/esm/shared/hooks/getHook.js +47 -29
  207. package/dist/esm/shared/htmlElementIds.d.ts +2 -0
  208. package/dist/esm/shared/htmlElementIds.js +2 -0
  209. package/dist/esm/shared/page-configs/Config.d.ts +12 -2
  210. package/dist/esm/shared/page-configs/getConfigDefinedAt.d.ts +1 -1
  211. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +3 -7
  212. package/dist/esm/shared/route/executeGuardHook.js +2 -2
  213. package/dist/esm/shared/route/loadPageRoutes.js +2 -1
  214. package/dist/esm/shared/types.d.ts +64 -32
  215. package/dist/esm/types/index.d.ts +1 -5
  216. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  217. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  218. package/dist/esm/utils/catchInfiniteLoop.js +4 -4
  219. package/dist/esm/utils/debug.d.ts +1 -1
  220. package/dist/esm/utils/debug.js +1 -0
  221. package/dist/esm/utils/getGlobalObject.d.ts +1 -1
  222. package/dist/esm/utils/getPublicProxy.d.ts +2 -0
  223. package/dist/esm/utils/getPublicProxy.js +25 -0
  224. package/dist/esm/utils/isImportPath.d.ts +4 -0
  225. package/dist/esm/utils/isImportPath.js +19 -0
  226. package/dist/esm/utils/isScriptFile.d.ts +5 -5
  227. package/dist/esm/utils/isScriptFile.js +23 -20
  228. package/dist/esm/utils/objectAssign.d.ts +1 -1
  229. package/dist/esm/utils/objectAssign.js +6 -10
  230. package/dist/esm/utils/objectReplace.d.ts +1 -1
  231. package/dist/esm/utils/objectReplace.js +4 -4
  232. package/dist/esm/utils/parseNpmPackage.d.ts +19 -0
  233. package/dist/esm/utils/{isNpmPackage.js → parseNpmPackage.js} +24 -24
  234. package/dist/esm/utils/path.d.ts +1 -1
  235. package/dist/esm/utils/path.js +12 -2
  236. package/dist/esm/utils/requireResolve.d.ts +20 -7
  237. package/dist/esm/utils/requireResolve.js +148 -53
  238. package/package.json +14 -13
  239. package/dist/cjs/node/runtime/index-common.js +0 -27
  240. package/dist/cjs/utils/makePublicCopy.js +0 -32
  241. package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +0 -19
  242. package/dist/esm/client/server-routing-runtime/getPageContext.js +0 -44
  243. package/dist/esm/client/shared/getPageContextSerializedInHtml.js +0 -20
  244. package/dist/esm/node/runtime/index-common.d.ts +0 -8
  245. package/dist/esm/node/runtime/index-common.js +0 -10
  246. package/dist/esm/utils/isNpmPackage.d.ts +0 -17
  247. package/dist/esm/utils/makePublicCopy.d.ts +0 -3
  248. package/dist/esm/utils/makePublicCopy.js +0 -30
@@ -7,7 +7,7 @@ export { getModuleFilePathRelative };
7
7
  export { cleanFilePathUnkown };
8
8
  export { assertModuleId };
9
9
  import path from 'path';
10
- import { assert, assertIsNpmPackageImport, assertFilePathAbsoluteFilesystem, assertPosixPath, toPosixPath } from '../utils.js';
10
+ import { assert, assertIsImportPathNpmPackage, assertFilePathAbsoluteFilesystem, assertPosixPath, toPosixPath } from '../utils.js';
11
11
  function getFilePathResolved(args) {
12
12
  const { userRootDir } = args;
13
13
  let filePathAbsoluteFilesystem;
@@ -39,7 +39,7 @@ function getComputedProps(args) {
39
39
  const importPathAbsolute = args.importPathAbsolute ?? null;
40
40
  const { filePathAbsoluteUserRootDir } = args;
41
41
  if (importPathAbsolute)
42
- assertIsNpmPackageImport(importPathAbsolute);
42
+ assertIsImportPathNpmPackage(importPathAbsolute);
43
43
  return {
44
44
  importPathAbsolute,
45
45
  filePathAbsoluteUserRootDir,
@@ -53,7 +53,7 @@ function getComputedProps(args) {
53
53
  }
54
54
  function getComputedPropsImportPathAbsolute(args) {
55
55
  const { importPathAbsolute } = args;
56
- assertIsNpmPackageImport(importPathAbsolute);
56
+ assertIsImportPathNpmPackage(importPathAbsolute);
57
57
  return {
58
58
  filePathAbsoluteUserRootDir: null,
59
59
  importPathAbsolute,
@@ -1,4 +1,4 @@
1
1
  export { resolveClientEntriesDev };
2
2
  export type ResolveClientEntriesDev = typeof resolveClientEntriesDev;
3
3
  import type { ViteDevServer } from 'vite';
4
- declare function resolveClientEntriesDev(clientEntry: string, viteDevServer: ViteDevServer): Promise<string>;
4
+ declare function resolveClientEntriesDev(clientEntry: string, viteDevServer: ViteDevServer): string;
@@ -1,12 +1,10 @@
1
1
  export { resolveClientEntriesDev };
2
- import { assert, assertPosixPath, toPosixPath, pathJoin, assertIsNpmPackageImport, assertIsNotProductionRuntime, requireResolveOptionalNonUserFile, requireResolve } from '../utils.js';
3
- // @ts-ignore import.meta.url is shimmed at dist/cjs by dist-cjs-fixup.js.
4
- const importMetaUrl = import.meta.url;
2
+ import { assert, assertPosixPath, toPosixPath, pathJoin, assertIsImportPathNpmPackage, assertIsNotProductionRuntime, requireResolveNpmPackage, requireResolveVikeDistFile } from '../utils.js';
5
3
  assertIsNotProductionRuntime();
6
- async function resolveClientEntriesDev(clientEntry, viteDevServer) {
7
- let root = viteDevServer.config.root;
8
- assert(root);
9
- root = toPosixPath(root);
4
+ function resolveClientEntriesDev(clientEntry, viteDevServer) {
5
+ let userRootDir = viteDevServer.config.root;
6
+ assert(userRootDir);
7
+ userRootDir = toPosixPath(userRootDir);
10
8
  // The `?import` suffix is needed for MDX to be transpiled:
11
9
  // - Not transpiled: `/pages/markdown.page.mdx`
12
10
  // - Transpiled: `/pages/markdown.page.mdx?import`
@@ -20,26 +18,16 @@ async function resolveClientEntriesDev(clientEntry, viteDevServer) {
20
18
  assertPosixPath(clientEntry);
21
19
  let filePath;
22
20
  if (clientEntry.startsWith('/')) {
23
- filePath = pathJoin(root, clientEntry);
21
+ filePath = pathJoin(userRootDir, clientEntry);
24
22
  }
25
23
  else {
26
24
  if (clientEntry.startsWith('@@vike/')) {
27
25
  assert(clientEntry.endsWith('.js'));
28
- let filePath_;
29
- // For Vitest (which doesn't resolve vike to its dist but to its source files)
30
- // [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/node/plugin/shared/resolveClientEntriesDev.js
31
- filePath_ = requireResolveOptionalNonUserFile(clientEntry.replace('@@vike/dist/esm/client/', '../../../client/').replace('.js', '.ts'), importMetaUrl);
32
- if (!filePath_) {
33
- // For users
34
- // [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/dist/esm/node/plugin/shared/resolveClientEntriesDev.js
35
- filePath_ = requireResolveOptionalNonUserFile(clientEntry.replace('@@vike/dist/esm/client/', '../../../../../dist/esm/client/'), importMetaUrl);
36
- }
37
- assert(filePath_);
38
- filePath = filePath_;
26
+ filePath = requireResolveVikeDistFile(`dist/esm/${clientEntry.replace('@@vike/dist/esm/', '')}`);
39
27
  }
40
28
  else {
41
- assertIsNpmPackageImport(clientEntry);
42
- filePath = requireResolve(clientEntry, root);
29
+ assertIsImportPathNpmPackage(clientEntry);
30
+ filePath = requireResolveNpmPackage({ importPathNpmPackage: clientEntry, userRootDir });
43
31
  }
44
32
  }
45
33
  if (!filePath.startsWith('/')) {
@@ -24,3 +24,4 @@ export * from '../../utils/isEqualStringList.js';
24
24
  export * from '../../utils/isDocker.js';
25
25
  export * from '../../utils/isVitest.js';
26
26
  export * from '../../utils/rollupSourceMap.js';
27
+ export * from '../../utils/isImportPath.js';
@@ -30,3 +30,4 @@ export * from '../../utils/isEqualStringList.js';
30
30
  export * from '../../utils/isDocker.js';
31
31
  export * from '../../utils/isVitest.js';
32
32
  export * from '../../utils/rollupSourceMap.js';
33
+ export * from '../../utils/isImportPath.js';
@@ -4,18 +4,31 @@ export { runPrerenderFromAutoRun };
4
4
  export { runPrerender_forceExit };
5
5
  export type { PrerenderOptions };
6
6
  export type { PrerenderContextPublic };
7
+ import type { PageFile } from '../../shared/getPageFiles.js';
8
+ import { type GlobalContextServerInternal, type GlobalContextServer } from '../runtime/globalContext.js';
7
9
  import type { InlineConfig, ResolvedConfig } from 'vite';
8
10
  import type { APIOptions } from '../api/types.js';
9
- import type { PageContextServer } from '../../shared/types.js';
10
11
  type ProvidedByHook = null | {
11
12
  hookFilePath: string;
12
13
  hookName: 'onBeforePrerenderStart' | 'prerender';
13
14
  };
15
+ type ProvidedByHookTransformer = null | {
16
+ hookFilePath: string;
17
+ hookName: 'onPrerenderStart' | 'onBeforePrerender';
18
+ };
14
19
  type PageContextPrerendered = {
15
20
  urlOriginal: string;
16
21
  _providedByHook?: ProvidedByHook;
17
22
  pageId: string;
18
23
  };
24
+ type PrerenderedPageContexts = Record<string, PageContextPrerendered>;
25
+ type PrerenderContext = {
26
+ pageContexts: PageContext[];
27
+ output: Output;
28
+ _pageContextInit: Record<string, unknown> | null;
29
+ _noExtraDir: boolean | null;
30
+ _prerenderedPageContexts: PrerenderedPageContexts;
31
+ };
19
32
  type Output<PageContext = PageContextPrerendered> = {
20
33
  filePath: string;
21
34
  fileType: FileType;
@@ -23,6 +36,9 @@ type Output<PageContext = PageContextPrerendered> = {
23
36
  pageContext: PageContext;
24
37
  }[];
25
38
  type FileType = 'HTML' | 'JSON';
39
+ type PageContext = Awaited<ReturnType<typeof createPageContextPrerendering>> & {
40
+ _urlOriginalBeforeHook?: string;
41
+ };
26
42
  type PrerenderOptions = APIOptions & {
27
43
  /** Initial `pageContext` values */
28
44
  pageContextInit?: Record<string, unknown>;
@@ -50,8 +66,301 @@ declare function runPrerenderFromCLIPrerenderCommand(): Promise<void>;
50
66
  declare function runPrerenderFromAutoRun(viteConfig: InlineConfig | undefined): Promise<{
51
67
  forceExit: boolean;
52
68
  }>;
69
+ declare function createPageContextPrerendering(urlOriginal: string, prerenderContext: PrerenderContext, globalContext: GlobalContextServerInternal, globalContext_public: GlobalContextServer, is404: boolean, pageId: string | undefined, providedByHook: ProvidedByHook): Promise<((({
70
+ isClientSide: boolean;
71
+ isPrerendering: boolean;
72
+ } & Pick<import("../../shared/types.js").PageContextBuiltInServerInternal, "urlOriginal" | "headersOriginal"> & {
73
+ url?: string;
74
+ headers?: Record<string, string>;
75
+ } & {
76
+ globalContext: GlobalContextServer;
77
+ _globalContext: {
78
+ isGlobalContext: true;
79
+ _virtualFileExports: unknown;
80
+ _pageFilesAll: PageFile[];
81
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
82
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
83
+ _allPageIds: string[];
84
+ config: import("../../types/index.js").ConfigResolved;
85
+ pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
86
+ } & ({
87
+ _isProduction: false;
88
+ _isPrerendering: false;
89
+ assetsManifest: null;
90
+ _viteDevServer: import("vite").ViteDevServer;
91
+ viteConfig: ResolvedConfig;
92
+ viteConfigRuntime: {
93
+ root: string;
94
+ build: {
95
+ outDir: string;
96
+ };
97
+ _baseViteOriginal: string;
98
+ vitePluginServerEntry: {
99
+ inject: boolean | undefined;
100
+ };
101
+ };
102
+ baseServer: string;
103
+ baseAssets: string;
104
+ isClientSide: false;
105
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
106
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
107
+ isGlobalContext: true;
108
+ _virtualFileExports: unknown;
109
+ _pageFilesAll: PageFile[];
110
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
111
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
112
+ _allPageIds: string[];
113
+ config: import("../../types/index.js").ConfigResolved;
114
+ pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
115
+ } | {
116
+ _isPrerendering: true;
117
+ viteConfig: ResolvedConfig;
118
+ _isProduction: true;
119
+ assetsManifest: import("../shared/ViteManifest.js").ViteManifest;
120
+ _viteDevServer: null;
121
+ viteConfigRuntime: {
122
+ root: string;
123
+ build: {
124
+ outDir: string;
125
+ };
126
+ _baseViteOriginal: string;
127
+ vitePluginServerEntry: {
128
+ inject: boolean | undefined;
129
+ };
130
+ };
131
+ _usesClientRouter: boolean;
132
+ baseServer: string;
133
+ baseAssets: string;
134
+ isClientSide: false;
135
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
136
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
137
+ isGlobalContext: true;
138
+ _virtualFileExports: unknown;
139
+ _pageFilesAll: PageFile[];
140
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
141
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
142
+ _allPageIds: string[];
143
+ config: import("../../types/index.js").ConfigResolved;
144
+ pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
145
+ } | {
146
+ _isPrerendering: false;
147
+ viteConfig: null;
148
+ _isProduction: true;
149
+ assetsManifest: import("../shared/ViteManifest.js").ViteManifest;
150
+ _viteDevServer: null;
151
+ viteConfigRuntime: {
152
+ root: string;
153
+ build: {
154
+ outDir: string;
155
+ };
156
+ _baseViteOriginal: string;
157
+ vitePluginServerEntry: {
158
+ inject: boolean | undefined;
159
+ };
160
+ };
161
+ _usesClientRouter: boolean;
162
+ baseServer: string;
163
+ baseAssets: string;
164
+ isClientSide: false;
165
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
166
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
167
+ isGlobalContext: true;
168
+ _virtualFileExports: unknown;
169
+ _pageFilesAll: PageFile[];
170
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
171
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
172
+ _allPageIds: string[];
173
+ config: import("../../types/index.js").ConfigResolved;
174
+ pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
175
+ });
176
+ _baseServer: string;
177
+ _baseAssets: string;
178
+ _includeAssetsImportedByServer: boolean;
179
+ _pageFilesAll: PageFile[];
180
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
181
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
182
+ _allPageIds: string[];
183
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
184
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
185
+ _pageContextInit: import("../runtime/renderPage.js").PageContextInit;
186
+ _urlRewrite: null;
187
+ _urlHandler: ((url: string) => string) | null;
188
+ isClientSideNavigation: boolean;
189
+ } & {
190
+ urlParsed: import("../shared/utils.js").UrlPublic;
191
+ urlPathname: string;
192
+ url: string;
193
+ } & {
194
+ headers: Record<string, string> | null;
195
+ } & {
196
+ config: import("../../types/index.js").ConfigResolved;
197
+ _source: import("../../shared/page-configs/getPageConfigUserFriendly.js").Source;
198
+ _sources: import("../../shared/page-configs/getPageConfigUserFriendly.js").Sources;
199
+ _from: import("../../shared/page-configs/getPageConfigUserFriendly.js").From;
200
+ isPageContext: true;
201
+ } & {
202
+ _urlHandler: null;
203
+ _httpRequestId: null;
204
+ _urlRewrite: null;
205
+ _noExtraDir: boolean | null;
206
+ _prerenderContext: PrerenderContext;
207
+ _providedByHook: ProvidedByHook;
208
+ _urlOriginalModifiedByHook: ProvidedByHookTransformer;
209
+ is404: boolean;
210
+ } & import("../../shared/route/index.js").PageContextFromRoute & Record<"pageId", string>) | ({
211
+ isClientSide: boolean;
212
+ isPrerendering: boolean;
213
+ } & Pick<import("../../shared/types.js").PageContextBuiltInServerInternal, "urlOriginal" | "headersOriginal"> & {
214
+ url?: string;
215
+ headers?: Record<string, string>;
216
+ } & {
217
+ globalContext: GlobalContextServer;
218
+ _globalContext: {
219
+ isGlobalContext: true;
220
+ _virtualFileExports: unknown;
221
+ _pageFilesAll: PageFile[];
222
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
223
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
224
+ _allPageIds: string[];
225
+ config: import("../../types/index.js").ConfigResolved;
226
+ pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
227
+ } & ({
228
+ _isProduction: false;
229
+ _isPrerendering: false;
230
+ assetsManifest: null;
231
+ _viteDevServer: import("vite").ViteDevServer;
232
+ viteConfig: ResolvedConfig;
233
+ viteConfigRuntime: {
234
+ root: string;
235
+ build: {
236
+ outDir: string;
237
+ };
238
+ _baseViteOriginal: string;
239
+ vitePluginServerEntry: {
240
+ inject: boolean | undefined;
241
+ };
242
+ };
243
+ baseServer: string;
244
+ baseAssets: string;
245
+ isClientSide: false;
246
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
247
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
248
+ isGlobalContext: true;
249
+ _virtualFileExports: unknown;
250
+ _pageFilesAll: PageFile[];
251
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
252
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
253
+ _allPageIds: string[];
254
+ config: import("../../types/index.js").ConfigResolved;
255
+ pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
256
+ } | {
257
+ _isPrerendering: true;
258
+ viteConfig: ResolvedConfig;
259
+ _isProduction: true;
260
+ assetsManifest: import("../shared/ViteManifest.js").ViteManifest;
261
+ _viteDevServer: null;
262
+ viteConfigRuntime: {
263
+ root: string;
264
+ build: {
265
+ outDir: string;
266
+ };
267
+ _baseViteOriginal: string;
268
+ vitePluginServerEntry: {
269
+ inject: boolean | undefined;
270
+ };
271
+ };
272
+ _usesClientRouter: boolean;
273
+ baseServer: string;
274
+ baseAssets: string;
275
+ isClientSide: false;
276
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
277
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
278
+ isGlobalContext: true;
279
+ _virtualFileExports: unknown;
280
+ _pageFilesAll: PageFile[];
281
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
282
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
283
+ _allPageIds: string[];
284
+ config: import("../../types/index.js").ConfigResolved;
285
+ pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
286
+ } | {
287
+ _isPrerendering: false;
288
+ viteConfig: null;
289
+ _isProduction: true;
290
+ assetsManifest: import("../shared/ViteManifest.js").ViteManifest;
291
+ _viteDevServer: null;
292
+ viteConfigRuntime: {
293
+ root: string;
294
+ build: {
295
+ outDir: string;
296
+ };
297
+ _baseViteOriginal: string;
298
+ vitePluginServerEntry: {
299
+ inject: boolean | undefined;
300
+ };
301
+ };
302
+ _usesClientRouter: boolean;
303
+ baseServer: string;
304
+ baseAssets: string;
305
+ isClientSide: false;
306
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
307
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
308
+ isGlobalContext: true;
309
+ _virtualFileExports: unknown;
310
+ _pageFilesAll: PageFile[];
311
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
312
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
313
+ _allPageIds: string[];
314
+ config: import("../../types/index.js").ConfigResolved;
315
+ pages: import("../../shared/page-configs/getPageConfigUserFriendly.js").PageConfigsUserFriendly;
316
+ });
317
+ _baseServer: string;
318
+ _baseAssets: string;
319
+ _includeAssetsImportedByServer: boolean;
320
+ _pageFilesAll: PageFile[];
321
+ _pageConfigs: import("../../shared/page-configs/PageConfig.js").PageConfigRuntime[];
322
+ _pageConfigGlobal: import("../../shared/page-configs/PageConfig.js").PageConfigGlobalRuntime;
323
+ _allPageIds: string[];
324
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
325
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
326
+ _pageContextInit: import("../runtime/renderPage.js").PageContextInit;
327
+ _urlRewrite: null;
328
+ _urlHandler: ((url: string) => string) | null;
329
+ isClientSideNavigation: boolean;
330
+ } & {
331
+ urlParsed: import("../shared/utils.js").UrlPublic;
332
+ urlPathname: string;
333
+ url: string;
334
+ } & {
335
+ headers: Record<string, string> | null;
336
+ } & {
337
+ config: import("../../types/index.js").ConfigResolved;
338
+ _source: import("../../shared/page-configs/getPageConfigUserFriendly.js").Source;
339
+ _sources: import("../../shared/page-configs/getPageConfigUserFriendly.js").Sources;
340
+ _from: import("../../shared/page-configs/getPageConfigUserFriendly.js").From;
341
+ isPageContext: true;
342
+ } & {
343
+ _urlHandler: null;
344
+ _httpRequestId: null;
345
+ _urlRewrite: null;
346
+ _noExtraDir: boolean | null;
347
+ _prerenderContext: PrerenderContext;
348
+ _providedByHook: ProvidedByHook;
349
+ _urlOriginalModifiedByHook: ProvidedByHookTransformer;
350
+ is404: boolean;
351
+ } & {
352
+ pageId: string;
353
+ _debugRouteMatches: never[];
354
+ routeParams: {};
355
+ })) & import("../../shared/getPageFiles.js").PageConfigUserFriendlyOld & {
356
+ Page: unknown;
357
+ _isHtmlOnly: boolean;
358
+ _passToClient: string[];
359
+ _pageFilePathsLoaded: string[];
360
+ } & {
361
+ __getPageAssets: () => Promise<import("../runtime/renderPage/getPageAssets.js").PageAsset[]>;
362
+ }) & {
363
+ _usesClientRouter: boolean;
364
+ }>;
53
365
  declare function runPrerender_forceExit(): void;
54
- type PrerenderContextPublic = {
55
- output: Output<PageContextServer>;
56
- pageContexts: PageContextServer[];
57
- };
366
+ type PrerenderContextPublic = Pick<PrerenderContext, 'output' | 'pageContexts'>;