vike 0.4.228 → 0.4.229

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 (225) 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/plugins/baseUrls.js +1 -1
  9. package/dist/cjs/node/plugin/plugins/build/handleAssetsManifest.js +10 -5
  10. package/dist/cjs/node/plugin/plugins/build/pluginBuildApp.js +1 -1
  11. package/dist/cjs/node/plugin/plugins/build/pluginBuildConfig.js +3 -10
  12. package/dist/cjs/node/plugin/plugins/build/pluginBuildEntry.js +9 -5
  13. package/dist/cjs/node/plugin/plugins/build/pluginModuleBanner.js +5 -1
  14. package/dist/cjs/node/plugin/plugins/commonConfig/assertResolveAlias.js +1 -1
  15. package/dist/cjs/node/plugin/plugins/commonConfig.js +14 -3
  16. package/dist/cjs/node/plugin/plugins/devConfig/determineFsAllowList.js +2 -7
  17. package/dist/cjs/node/plugin/plugins/devConfig/determineOptimizeDeps.js +1 -1
  18. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +10 -0
  19. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/ignorePatternsBuiltIn.js +2 -0
  20. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +2 -2
  21. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/{transformPointerImports.js → pointerImports.js} +13 -0
  22. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.js +20 -19
  23. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +13 -10
  24. package/dist/cjs/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +11 -11
  25. package/dist/cjs/node/plugin/shared/getFilePath.js +2 -2
  26. package/dist/cjs/node/plugin/shared/resolveClientEntriesDev.js +7 -19
  27. package/dist/cjs/node/plugin/utils.js +1 -0
  28. package/dist/cjs/node/prerender/runPrerender.js +44 -41
  29. package/dist/cjs/node/prerender/utils.js +1 -1
  30. package/dist/cjs/node/runtime/globalContext.js +102 -125
  31. package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +18 -5
  32. package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +2 -2
  33. package/dist/cjs/node/runtime/html/propKeys.js +47 -0
  34. package/dist/cjs/node/runtime/html/renderHtml.js +1 -1
  35. package/dist/cjs/node/runtime/html/{serializePageContextClientSide.js → serializeContext.js} +37 -67
  36. package/dist/cjs/node/runtime/index-deprecated.js +9 -38
  37. package/dist/cjs/node/runtime/index.js +56 -2
  38. package/dist/cjs/node/runtime/renderPage/analyzePage.js +1 -1
  39. package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +8 -3
  40. package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +73 -0
  41. package/dist/cjs/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +2 -2
  42. package/dist/cjs/node/runtime/renderPage/executeOnRenderHtmlHook.js +2 -2
  43. package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +1 -1
  44. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +1 -17
  45. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +1 -1
  46. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +2 -2
  47. package/dist/cjs/node/runtime/renderPage/handleErrorWithoutErrorPage.js +1 -1
  48. package/dist/cjs/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
  49. package/dist/cjs/node/runtime/renderPage/log404/index.js +1 -1
  50. package/dist/cjs/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +1 -1
  51. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -68
  52. package/dist/cjs/node/runtime/renderPage.js +102 -81
  53. package/dist/cjs/node/runtime/universal-middleware.js +7 -1
  54. package/dist/cjs/node/runtime/utils.js +3 -2
  55. package/dist/cjs/shared/assertPageContextProvidedByUser.js +1 -1
  56. package/dist/cjs/shared/createGlobalContextShared.js +54 -0
  57. package/dist/cjs/shared/createPageContextShared.js +17 -0
  58. package/dist/cjs/shared/getPageFiles/fileTypes.js +1 -1
  59. package/dist/cjs/shared/hooks/executeHookGeneric.js +18 -0
  60. package/dist/cjs/shared/hooks/getHook.js +45 -27
  61. package/dist/cjs/shared/htmlElementIds.js +5 -0
  62. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +3 -7
  63. package/dist/cjs/shared/route/executeGuardHook.js +1 -1
  64. package/dist/cjs/shared/route/loadPageRoutes.js +2 -1
  65. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  66. package/dist/cjs/utils/catchInfiniteLoop.js +3 -3
  67. package/dist/cjs/utils/getPublicProxy.js +27 -0
  68. package/dist/cjs/utils/isImportPath.js +21 -0
  69. package/dist/cjs/utils/objectAssign.js +6 -10
  70. package/dist/cjs/utils/objectReplace.js +4 -4
  71. package/dist/cjs/utils/{isNpmPackage.js → parseNpmPackage.js} +23 -23
  72. package/dist/cjs/utils/path.js +12 -2
  73. package/dist/cjs/utils/requireResolve.js +134 -53
  74. package/dist/esm/__internal/index.js +3 -3
  75. package/dist/esm/client/client-routing-runtime/createPageContext.d.ts +29 -10
  76. package/dist/esm/client/client-routing-runtime/createPageContext.js +23 -22
  77. package/dist/esm/client/client-routing-runtime/getPageContextFromHooks.js +5 -4
  78. package/dist/esm/client/client-routing-runtime/globalContext.d.ts +20 -0
  79. package/dist/esm/client/client-routing-runtime/globalContext.js +13 -0
  80. package/dist/esm/client/client-routing-runtime/initOnLinkClick.js +2 -2
  81. package/dist/esm/client/client-routing-runtime/prefetch.js +2 -2
  82. package/dist/esm/client/client-routing-runtime/renderPageClientSide.js +8 -7
  83. package/dist/esm/client/client-routing-runtime/utils.d.ts +0 -1
  84. package/dist/esm/client/client-routing-runtime/utils.js +0 -1
  85. package/dist/esm/client/index.d.ts +1 -0
  86. package/dist/esm/client/index.js +4 -0
  87. package/dist/esm/client/node.js +1 -3
  88. package/dist/esm/client/server-routing-runtime/createPageContextClientSide.d.ts +36 -0
  89. package/dist/esm/client/server-routing-runtime/createPageContextClientSide.js +47 -0
  90. package/dist/esm/client/server-routing-runtime/entry.js +2 -2
  91. package/dist/esm/client/server-routing-runtime/globalContext.d.ts +17 -0
  92. package/dist/esm/client/server-routing-runtime/globalContext.js +5 -0
  93. package/dist/esm/client/server-routing-runtime/utils.d.ts +1 -1
  94. package/dist/esm/client/server-routing-runtime/utils.js +1 -1
  95. package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +23 -0
  96. package/dist/esm/client/shared/createGetGlobalContextClient.js +58 -0
  97. package/dist/esm/client/shared/executeOnRenderClientHook.js +5 -4
  98. package/dist/esm/client/shared/{getPageContextSerializedInHtml.d.ts → getJsonSerializedInHtml.d.ts} +2 -0
  99. package/dist/esm/client/shared/getJsonSerializedInHtml.js +29 -0
  100. package/dist/esm/client/shared/removeFoucBuster.js +1 -0
  101. package/dist/esm/client/shared/utils.d.ts +4 -0
  102. package/dist/esm/client/shared/utils.js +4 -0
  103. package/dist/esm/node/plugin/plugins/baseUrls.js +2 -2
  104. package/dist/esm/node/plugin/plugins/build/handleAssetsManifest.js +11 -6
  105. package/dist/esm/node/plugin/plugins/build/pluginBuildApp.js +2 -2
  106. package/dist/esm/node/plugin/plugins/build/pluginBuildConfig.js +4 -11
  107. package/dist/esm/node/plugin/plugins/build/pluginBuildEntry.d.ts +1 -1
  108. package/dist/esm/node/plugin/plugins/build/pluginBuildEntry.js +10 -6
  109. package/dist/esm/node/plugin/plugins/build/pluginModuleBanner.js +5 -1
  110. package/dist/esm/node/plugin/plugins/commonConfig/assertResolveAlias.js +2 -2
  111. package/dist/esm/node/plugin/plugins/commonConfig.d.ts +2 -0
  112. package/dist/esm/node/plugin/plugins/commonConfig.js +15 -4
  113. package/dist/esm/node/plugin/plugins/devConfig/determineFsAllowList.js +3 -8
  114. package/dist/esm/node/plugin/plugins/devConfig/determineOptimizeDeps.js +2 -2
  115. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/configDefinitionsBuiltIn.js +10 -0
  116. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/ignorePatternsBuiltIn.d.ts +1 -1
  117. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/crawlPlusFiles/ignorePatternsBuiltIn.js +2 -0
  118. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/loadFileAtConfigTime.js +1 -1
  119. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/{transformPointerImports.d.ts → pointerImports.d.ts} +2 -0
  120. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/{transformPointerImports.js → pointerImports.js} +14 -1
  121. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.d.ts +1 -1
  122. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/resolvePointerImport.js +20 -19
  123. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig/transpileAndExecuteFile.js +13 -10
  124. package/dist/esm/node/plugin/plugins/importUserCode/v1-design/getVikeConfig.js +11 -11
  125. package/dist/esm/node/plugin/shared/getFilePath.js +3 -3
  126. package/dist/esm/node/plugin/shared/resolveClientEntriesDev.js +8 -20
  127. package/dist/esm/node/plugin/utils.d.ts +1 -0
  128. package/dist/esm/node/plugin/utils.js +1 -0
  129. package/dist/esm/node/prerender/runPrerender.d.ts +314 -5
  130. package/dist/esm/node/prerender/runPrerender.js +48 -45
  131. package/dist/esm/node/prerender/utils.d.ts +1 -1
  132. package/dist/esm/node/prerender/utils.js +1 -1
  133. package/dist/esm/node/runtime/globalContext.d.ts +425 -47
  134. package/dist/esm/node/runtime/globalContext.js +103 -126
  135. package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +18 -5
  136. package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.d.ts +2 -2
  137. package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +2 -2
  138. package/dist/esm/node/runtime/html/injectAssets.d.ts +3 -3
  139. package/dist/esm/node/runtime/html/propKeys.d.ts +8 -0
  140. package/dist/esm/node/runtime/html/propKeys.js +45 -0
  141. package/dist/esm/node/runtime/html/renderHtml.js +1 -1
  142. package/dist/esm/node/runtime/html/{serializePageContextClientSide.d.ts → serializeContext.d.ts} +7 -6
  143. package/dist/esm/node/runtime/html/{serializePageContextClientSide.js → serializeContext.js} +36 -67
  144. package/dist/esm/node/runtime/index-deprecated.d.ts +1 -16
  145. package/dist/esm/node/runtime/index-deprecated.js +9 -36
  146. package/dist/esm/node/runtime/index.d.ts +23 -1
  147. package/dist/esm/node/runtime/index.js +38 -3
  148. package/dist/esm/node/runtime/renderPage/analyzePage.d.ts +2 -2
  149. package/dist/esm/node/runtime/renderPage/analyzePage.js +1 -1
  150. package/dist/esm/node/runtime/renderPage/createHttpResponse.d.ts +5 -4
  151. package/dist/esm/node/runtime/renderPage/createHttpResponse.js +8 -3
  152. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +155 -0
  153. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +71 -0
  154. package/dist/esm/node/runtime/renderPage/executeOnBeforeRenderAndDataHooks.js +3 -3
  155. package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.d.ts +1 -1
  156. package/dist/esm/node/runtime/renderPage/executeOnRenderHtmlHook.js +3 -3
  157. package/dist/esm/node/runtime/renderPage/getPageAssets/getManifestEntry.js +2 -2
  158. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +1 -17
  159. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +2 -2
  160. package/dist/esm/node/runtime/renderPage/getPageAssets.d.ts +2 -2
  161. package/dist/esm/node/runtime/renderPage/getPageAssets.js +2 -2
  162. package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +2 -2
  163. package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.js +1 -1
  164. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.d.ts +2 -2
  165. package/dist/esm/node/runtime/renderPage/loadUserFilesServerSide.js +1 -1
  166. package/dist/esm/node/runtime/renderPage/log404/index.d.ts +2 -2
  167. package/dist/esm/node/runtime/renderPage/log404/index.js +1 -1
  168. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.d.ts +3 -3
  169. package/dist/esm/node/runtime/renderPage/preparePageContextForUserConsumptionServerSide.js +1 -1
  170. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +225 -179
  171. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +4 -69
  172. package/dist/esm/node/runtime/renderPage.d.ts +146 -7
  173. package/dist/esm/node/runtime/renderPage.js +105 -84
  174. package/dist/esm/node/runtime/universal-middleware.js +7 -1
  175. package/dist/esm/node/runtime/utils.d.ts +3 -2
  176. package/dist/esm/node/runtime/utils.js +3 -2
  177. package/dist/esm/shared/VikeNamespace.d.ts +35 -13
  178. package/dist/esm/shared/assertPageContextProvidedByUser.js +1 -1
  179. package/dist/esm/shared/createGlobalContextShared.d.ts +39 -0
  180. package/dist/esm/shared/createGlobalContextShared.js +51 -0
  181. package/dist/esm/shared/createPageContextShared.d.ts +9 -0
  182. package/dist/esm/shared/createPageContextShared.js +15 -0
  183. package/dist/esm/shared/getPageFiles/fileTypes.js +1 -1
  184. package/dist/esm/shared/hooks/executeHookGeneric.d.ts +8 -0
  185. package/dist/esm/shared/hooks/executeHookGeneric.js +16 -0
  186. package/dist/esm/shared/hooks/getHook.d.ts +5 -3
  187. package/dist/esm/shared/hooks/getHook.js +47 -29
  188. package/dist/esm/shared/htmlElementIds.d.ts +2 -0
  189. package/dist/esm/shared/htmlElementIds.js +2 -0
  190. package/dist/esm/shared/page-configs/Config.d.ts +12 -2
  191. package/dist/esm/shared/page-configs/getConfigDefinedAt.d.ts +1 -1
  192. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +3 -7
  193. package/dist/esm/shared/route/executeGuardHook.js +2 -2
  194. package/dist/esm/shared/route/loadPageRoutes.js +2 -1
  195. package/dist/esm/shared/types.d.ts +64 -32
  196. package/dist/esm/types/index.d.ts +1 -5
  197. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  198. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  199. package/dist/esm/utils/catchInfiniteLoop.js +4 -4
  200. package/dist/esm/utils/getGlobalObject.d.ts +1 -1
  201. package/dist/esm/utils/getPublicProxy.d.ts +2 -0
  202. package/dist/esm/utils/getPublicProxy.js +25 -0
  203. package/dist/esm/utils/isImportPath.d.ts +4 -0
  204. package/dist/esm/utils/isImportPath.js +19 -0
  205. package/dist/esm/utils/objectAssign.d.ts +1 -1
  206. package/dist/esm/utils/objectAssign.js +6 -10
  207. package/dist/esm/utils/objectReplace.d.ts +1 -1
  208. package/dist/esm/utils/objectReplace.js +4 -4
  209. package/dist/esm/utils/parseNpmPackage.d.ts +17 -0
  210. package/dist/esm/utils/{isNpmPackage.js → parseNpmPackage.js} +23 -23
  211. package/dist/esm/utils/path.d.ts +1 -1
  212. package/dist/esm/utils/path.js +12 -2
  213. package/dist/esm/utils/requireResolve.d.ts +20 -7
  214. package/dist/esm/utils/requireResolve.js +134 -53
  215. package/package.json +14 -13
  216. package/dist/cjs/node/runtime/index-common.js +0 -27
  217. package/dist/cjs/utils/makePublicCopy.js +0 -32
  218. package/dist/esm/client/server-routing-runtime/getPageContext.d.ts +0 -19
  219. package/dist/esm/client/server-routing-runtime/getPageContext.js +0 -44
  220. package/dist/esm/client/shared/getPageContextSerializedInHtml.js +0 -20
  221. package/dist/esm/node/runtime/index-common.d.ts +0 -8
  222. package/dist/esm/node/runtime/index-common.js +0 -10
  223. package/dist/esm/utils/isNpmPackage.d.ts +0 -17
  224. package/dist/esm/utils/makePublicCopy.d.ts +0 -3
  225. package/dist/esm/utils/makePublicCopy.js +0 -30
@@ -17,10 +17,10 @@ const assertSetup_js_1 = require("../utils/assertSetup.js");
17
17
  async function getPagesAndRoutes() {
18
18
  (0, assertSetup_js_1.setNodeEnvProduction)();
19
19
  await (0, globalContext_js_2.initGlobalContext_getPagesAndRoutes)();
20
- const globalContext = await (0, globalContext_js_2.getGlobalContextInternal)();
20
+ const { globalContext } = await (0, globalContext_js_2.getGlobalContextServerInternal)();
21
21
  const {
22
22
  //
23
- pageRoutes, pageFilesAll, pageConfigs, allPageIds } = globalContext;
23
+ _pageRoutes: pageRoutes, _pageFilesAll: pageFilesAll, _pageConfigs: pageConfigs, _allPageIds: allPageIds } = globalContext;
24
24
  return {
25
25
  pageRoutes,
26
26
  pageFilesAll,
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getGlobalContextClientInternal = void 0;
37
+ const createGetGlobalContextClient_js_1 = require("../shared/createGetGlobalContextClient.js");
38
+ const loadPageRoutes_js_1 = require("../../shared/route/loadPageRoutes.js");
39
+ // @ts-ignore
40
+ const virtualFileExports = __importStar(require("virtual:vike:importUserCode:client:client-routing"));
41
+ const getGlobalContextClientInternal = (0, createGetGlobalContextClient_js_1.createGetGlobalContextClient)(virtualFileExports, true, addGlobalContext);
42
+ exports.getGlobalContextClientInternal = getGlobalContextClientInternal;
43
+ async function addGlobalContext(globalContext) {
44
+ const { pageRoutes, onBeforeRouteHook } = await (0, loadPageRoutes_js_1.loadPageRoutes)(globalContext._pageFilesAll, globalContext._pageConfigs, globalContext._pageConfigGlobal, globalContext._allPageIds);
45
+ return {
46
+ _pageRoutes: pageRoutes,
47
+ _onBeforeRouteHook: onBeforeRouteHook
48
+ };
49
+ }
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getGlobalContextClientInternal = void 0;
37
+ const createGetGlobalContextClient_js_1 = require("../shared/createGetGlobalContextClient.js");
38
+ // @ts-ignore
39
+ const virtualFileExports = __importStar(require("virtual:vike:importUserCode:client:server-routing"));
40
+ const getGlobalContextClientInternal = (0, createGetGlobalContextClient_js_1.createGetGlobalContextClient)(virtualFileExports, false);
41
+ exports.getGlobalContextClientInternal = getGlobalContextClientInternal;
@@ -20,7 +20,6 @@ const onLoad_js_1 = require("./onLoad.js");
20
20
  (0, onLoad_js_1.onLoad)();
21
21
  __exportStar(require("../../utils/assert.js"), exports);
22
22
  __exportStar(require("../../utils/assertSingleInstance.js"), exports);
23
- __exportStar(require("../../shared/hooks/executeHook.js"), exports);
24
23
  __exportStar(require("../../utils/checkType.js"), exports); // Only used by Server Routing (not needed for Client Routing)
25
24
  __exportStar(require("../../utils/getGlobalObject.js"), exports);
26
25
  __exportStar(require("../../utils/hasProp.js"), exports);
@@ -31,3 +30,4 @@ __exportStar(require("../../utils/parseUrl.js"), exports);
31
30
  __exportStar(require("../../utils/slice.js"), exports);
32
31
  __exportStar(require("../../utils/unique.js"), exports); // Only used by Server Routing (not needed for Client Routing)
33
32
  __exportStar(require("../../utils/getPropAccessNotation.js"), exports);
33
+ __exportStar(require("../../utils/augmentType.js"), exports);
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getGlobalContext = getGlobalContext;
4
+ exports.getGlobalContextSync = getGlobalContextSync;
5
+ exports.createGetGlobalContextClient = createGetGlobalContextClient;
6
+ const createGlobalContextShared_js_1 = require("../../shared/createGlobalContextShared.js");
7
+ const getJsonSerializedInHtml_js_1 = require("./getJsonSerializedInHtml.js");
8
+ const utils_js_1 = require("./utils.js");
9
+ const globalObject = (0, utils_js_1.getGlobalObject)('createGetGlobalContextClient.ts', (() => {
10
+ const { promise: globalContextPromise, resolve: globalContextPromiseResolve } = (0, utils_js_1.genPromise)();
11
+ return {
12
+ globalContextPromise,
13
+ globalContextPromiseResolve
14
+ };
15
+ })());
16
+ function createGetGlobalContextClient(virtualFileExports, isClientRouting, addGlobalContext) {
17
+ (0, utils_js_1.assert)(globalObject.isClientRouting === undefined || globalObject.isClientRouting === isClientRouting);
18
+ globalObject.isClientRouting = isClientRouting;
19
+ // Eagerly call onCreateGlobalContext() hook
20
+ getGlobalContext();
21
+ return getGlobalContext;
22
+ async function getGlobalContext() {
23
+ // Cache
24
+ if (globalObject.globalContext &&
25
+ // Don't break HMR
26
+ globalObject.globalContext._virtualFileExports !== virtualFileExports) {
27
+ return globalObject.globalContext;
28
+ }
29
+ // Create
30
+ const globalContext = await (0, createGlobalContextShared_js_1.createGlobalContextShared)(virtualFileExports, globalObject, async (globalContext) => {
31
+ const globalContextAddendum = {
32
+ /**
33
+ * Whether the environment is client-side or server-side / pre-rendering.
34
+ *
35
+ * We recommend using `import.meta.env.SSR` instead, see https://vike.dev/globalContext
36
+ */
37
+ isClientSide: true
38
+ };
39
+ (0, utils_js_1.objectAssign)(globalContextAddendum, (0, getJsonSerializedInHtml_js_1.getGlobalContextSerializedInHtml)());
40
+ (0, utils_js_1.objectAssign)(globalContextAddendum, await addGlobalContext?.(globalContext));
41
+ return globalContextAddendum;
42
+ });
43
+ (0, utils_js_1.assert)(globalObject.globalContext);
44
+ globalObject.globalContextPromiseResolve(globalObject.globalContext);
45
+ // Return
46
+ return globalContext;
47
+ }
48
+ }
49
+ // The type is never used: it's the type of the server-side getGlobalContext() that is used.
50
+ async function getGlobalContext() {
51
+ const globalContext = await globalObject.globalContextPromise;
52
+ return globalContext;
53
+ }
54
+ function getGlobalContextSync() {
55
+ const { globalContext } = globalObject;
56
+ (0, utils_js_1.assertUsage)(globalContext, createGlobalContextShared_js_1.getGlobalContextSyncErrMsg);
57
+ return globalContext;
58
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getPageContextSerializedInHtml = getPageContextSerializedInHtml;
4
+ exports.getGlobalContextSerializedInHtml = getGlobalContextSerializedInHtml;
5
+ const parse_1 = require("@brillout/json-serializer/parse");
6
+ const utils_js_1 = require("./utils.js");
7
+ const htmlElementIds_js_1 = require("../../shared/htmlElementIds.js");
8
+ // elements should exist because:
9
+ // 1. <script id="vike_pageContext" type="application/json"> appears before the <script> that loads Vike's client runtime (which includes this file)
10
+ // 2. <script id="vike_pageContext" type="application/json"> is neither async nor defer
11
+ // See https://github.com/vikejs/vike/pull/1271
12
+ function getPageContextSerializedInHtml() {
13
+ const pageContextSerializedInHtml = findAndParseJson(htmlElementIds_js_1.htmlElementId_pageContext);
14
+ (0, utils_js_1.assert)((0, utils_js_1.hasProp)(pageContextSerializedInHtml, 'pageId', 'string'));
15
+ (0, utils_js_1.assert)((0, utils_js_1.hasProp)(pageContextSerializedInHtml, 'routeParams', 'string{}'));
16
+ return pageContextSerializedInHtml;
17
+ }
18
+ function getGlobalContextSerializedInHtml() {
19
+ const globalContextSerializedInHtml = findAndParseJson(htmlElementIds_js_1.htmlElementId_globalContext);
20
+ return globalContextSerializedInHtml;
21
+ }
22
+ function findAndParseJson(id) {
23
+ const elem = document.getElementById(id);
24
+ (0, utils_js_1.assertUsage)(elem,
25
+ // It seems like it can be missing when HTML is malformed: https://github.com/vikejs/vike/issues/913
26
+ `Couldn't find #${id} (which Vike automatically injects in the HTML): make sure it exists (i.e. don't remove it and make sure your HTML isn't malformed)`);
27
+ const jsonStr = elem.textContent;
28
+ (0, utils_js_1.assert)(jsonStr);
29
+ const json = (0, parse_1.parse)(jsonStr);
30
+ return json;
31
+ }
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("../../utils/assert.js"), exports);
18
+ __exportStar(require("../../utils/parseUrl.js"), exports);
19
+ __exportStar(require("../../utils/getGlobalObject.js"), exports);
20
+ __exportStar(require("../../utils/objectAssign.js"), exports);
21
+ __exportStar(require("../../utils/hasProp.js"), exports);
22
+ __exportStar(require("../../utils/genPromise.js"), exports);
@@ -14,7 +14,7 @@ function baseUrls() {
14
14
  const isDev = config._isDev;
15
15
  (0, utils_js_1.assert)(typeof isDev === 'boolean');
16
16
  const baseViteOriginal = config.base ?? '/__UNSET__'; // '/__UNSET__' because Vite resolves `_baseViteOriginal: null` to `undefined`
17
- const vike = (0, commonConfig_js_1.getVikeConfigPublic)(config);
17
+ const vike = (0, commonConfig_js_1.getVikeConfigInternal)(config);
18
18
  basesResolved = (0, resolveBase_js_1.resolveBase)(baseViteOriginal, vike.config.baseServer ?? null, vike.config.baseAssets ?? null);
19
19
  // We cannot define these in configResolved() because Vite picks up the env variables before any configResolved() hook is called
20
20
  process.env.BASE_SERVER = basesResolved.baseServer;
@@ -286,7 +286,7 @@ async function writeManifestFile(manifest, manifestFilePath) {
286
286
  await promises_1.default.writeFile(manifestFilePath, manifestFileContent, 'utf-8');
287
287
  }
288
288
  function handleAssetsManifest_getBuildConfig(config) {
289
- const vike = (0, commonConfig_js_1.getVikeConfigPublic)(config);
289
+ const vike = (0, commonConfig_js_1.getVikeConfigInternal)(config);
290
290
  const isFixEnabled = handleAssetsManifest_isFixEnabled(config);
291
291
  return {
292
292
  // https://github.com/vikejs/vike/issues/1339
@@ -301,16 +301,21 @@ function handleAssetsManifest_getBuildConfig(config) {
301
301
  };
302
302
  }
303
303
  async function handleAssetsManifest(config, viteEnv, options, bundle) {
304
- if ((0, isViteServerBuild_js_1.isViteServerBuild_onlySsrEnv)(config, viteEnv)) {
304
+ const isSsREnv = (0, isViteServerBuild_js_1.isViteServerBuild_onlySsrEnv)(config, viteEnv);
305
+ if (isSsREnv) {
305
306
  (0, utils_js_1.assert)(!assetsJsonFilePath);
306
307
  const outDirs = (0, getOutDirs_js_1.getOutDirs)(config, viteEnv);
307
308
  assetsJsonFilePath = path_1.default.posix.join(outDirs.outDirRoot, 'assets.json');
308
309
  await writeAssetsManifestFile(outDirs, assetsJsonFilePath, config);
309
310
  }
310
311
  if ((0, isViteServerBuild_js_1.isViteServerBuild)(config, viteEnv)) {
311
- (0, utils_js_1.assert)(assetsJsonFilePath);
312
- // Replace __VITE_ASSETS_MANIFEST__ in all server-side bundles
313
- await (0, pluginBuildEntry_js_1.set_macro_ASSETS_MANIFEST)(options, bundle, assetsJsonFilePath);
312
+ // Replace __VITE_ASSETS_MANIFEST__ in server builds
313
+ // - Always replace it in dist/server/
314
+ // - Also in some other server builds such as dist/vercel/ from vike-vercel
315
+ // - Don't replace it in dist/rsc/ from vike-react-rsc since __VITE_ASSETS_MANIFEST__ doesn't exist there
316
+ const noop = await (0, pluginBuildEntry_js_1.set_macro_ASSETS_MANIFEST)(options, bundle, assetsJsonFilePath);
317
+ if (isSsREnv)
318
+ (0, utils_js_1.assert)(!noop); // dist/server should always contain __VITE_ASSETS_MANIFEST__
314
319
  }
315
320
  }
316
321
  async function writeAssetsManifestFile(outDirs, assetsJsonFilePath, config) {
@@ -12,7 +12,7 @@ function pluginBuildApp() {
12
12
  name: 'vike:build:pluginBuildApp',
13
13
  apply: 'build',
14
14
  config(config) {
15
- const vike = (0, commonConfig_js_1.getVikeConfigPublic)(config);
15
+ const vike = (0, commonConfig_js_1.getVikeConfigInternal)(config);
16
16
  if (!vike.config.vite6BuilderApp)
17
17
  return;
18
18
  return {
@@ -15,8 +15,6 @@ const getConfigValueBuildTime_js_1 = require("../../../../shared/page-configs/ge
15
15
  const isViteServerBuild_js_1 = require("../../shared/isViteServerBuild.js");
16
16
  const getOutDirs_js_1 = require("../../shared/getOutDirs.js");
17
17
  const handleAssetsManifest_js_1 = require("./handleAssetsManifest.js");
18
- // @ts-ignore `file:///${__filename.split('\\').join('/')}` is shimmed at dist/cjs by dist-cjs-fixup.js.
19
- const importMetaUrl = `file:///${__filename.split('\\').join('/')}`;
20
18
  const manifestTempFile = '_temp_manifest.json';
21
19
  exports.manifestTempFile = manifestTempFile;
22
20
  function pluginBuildConfig() {
@@ -84,8 +82,8 @@ async function getEntries(config) {
84
82
  ...clientEntries,
85
83
  ...pageFileEntries
86
84
  };
87
- const clientRoutingEntry = resolve(`dist/esm/client/client-routing-runtime/entry.js`);
88
- const serverRoutingEntry = resolve(`dist/esm/client/server-routing-runtime/entry.js`);
85
+ const clientRoutingEntry = (0, utils_js_1.requireResolveVikeDistFile)('dist/esm/client/client-routing-runtime/entry.js');
86
+ const serverRoutingEntry = (0, utils_js_1.requireResolveVikeDistFile)('dist/esm/client/server-routing-runtime/entry.js');
89
87
  if (hasClientRouting) {
90
88
  entries['entries/entry-client-routing'] = clientRoutingEntry;
91
89
  }
@@ -159,7 +157,7 @@ async function getPageFileEntries(config, includeAssetsImportedByServer) {
159
157
  }
160
158
  function getEntryFromClientEntry(clientEntry, config, addExtractAssetsQuery) {
161
159
  if (!clientEntry.startsWith('/')) {
162
- (0, utils_js_1.assertIsNpmPackageImport)(clientEntry);
160
+ (0, utils_js_1.assertIsImportPathNpmPackage)(clientEntry);
163
161
  const entryTarget = clientEntry;
164
162
  const entryName = (0, prependEntriesDir_js_1.prependEntriesDir)(clientEntry);
165
163
  return { entryName, entryTarget };
@@ -195,11 +193,6 @@ function getEntryFromPageConfig(pageConfig, isForClientSide) {
195
193
  (0, utils_js_1.assert)(!entryName.endsWith('/'));
196
194
  return { entryName, entryTarget };
197
195
  }
198
- function resolve(filePath) {
199
- (0, utils_js_1.assert)(filePath.startsWith('dist/'));
200
- // [RELATIVE_PATH_FROM_DIST] Current directory: node_modules/vike/dist/esm/node/plugin/plugins/build/
201
- return (0, utils_js_1.requireResolveNonUserFile)(`../../../../../../${filePath}`, importMetaUrl);
202
- }
203
196
  function addLogHook() {
204
197
  const tty = process.stdout.isTTY && !process.env.CI; // Equals https://github.com/vitejs/vite/blob/193d55c7b9cbfec5b79ebfca276d4a721e7de14d/packages/vite/src/node/plugins/reporter.ts#L27
205
198
  if (!tty)
@@ -10,8 +10,6 @@ const virtualFileImportUserCode_js_1 = require("../../../shared/virtual-files/vi
10
10
  const utils_js_1 = require("../../utils.js");
11
11
  const promises_1 = __importDefault(require("fs/promises"));
12
12
  const path_1 = __importDefault(require("path"));
13
- // @ts-ignore `file:///${__filename.split('\\').join('/')}` is shimmed at dist/cjs by dist-cjs-fixup.js.
14
- const importMetaUrl = `file:///${__filename.split('\\').join('/')}`;
15
13
  const extractExportNamesPlugin_js_1 = require("../extractExportNamesPlugin.js");
16
14
  const globalContext_js_1 = require("../../../runtime/globalContext.js");
17
15
  const getOutDirs_js_1 = require("../../shared/getOutDirs.js");
@@ -68,6 +66,12 @@ async function set_macro_ASSETS_MANIFEST(options, bundle, assetsJsonFilePath) {
68
66
  const { dir } = options;
69
67
  (0, utils_js_1.assert)(dir);
70
68
  const chunkPath = find_ASSETS_MANIFEST(bundle);
69
+ // Some server builds don't contain __VITE_ASSETS_MANIFEST__ such as dist/rsc/ from vike-react-rsc
70
+ if (!chunkPath) {
71
+ const noop = true; // no operation
72
+ return noop;
73
+ }
74
+ (0, utils_js_1.assert)(assetsJsonFilePath);
71
75
  const chunkFilePath = path_1.default.join(dir, chunkPath);
72
76
  const [assetsJsonString, chunkFileContent] = await Promise.all([
73
77
  await promises_1.default.readFile(assetsJsonFilePath, 'utf8'),
@@ -76,6 +80,8 @@ async function set_macro_ASSETS_MANIFEST(options, bundle, assetsJsonFilePath) {
76
80
  const serverEntryFileContentPatched = chunkFileContent.replace(ASSETS_MANIFEST, assetsJsonString);
77
81
  (0, utils_js_1.assert)(serverEntryFileContentPatched !== chunkFileContent);
78
82
  await promises_1.default.writeFile(chunkFilePath, serverEntryFileContentPatched);
83
+ const noop = false;
84
+ return noop;
79
85
  }
80
86
  function find_ASSETS_MANIFEST(bundle) {
81
87
  let chunkPath;
@@ -86,13 +92,11 @@ function find_ASSETS_MANIFEST(bundle) {
86
92
  chunkPath = filePath;
87
93
  }
88
94
  }
89
- (0, utils_js_1.assert)(chunkPath);
90
95
  return chunkPath;
91
96
  }
92
97
  function getImportPath(config) {
93
98
  // We resolve filePathAbsolute even if we don't use it: we use require.resolve() as an assertion that the relative path is correct
94
- // [RELATIVE_PATH_FROM_DIST] Current file: node_modules/vike/dist/esm/node/plugin/plugins/pluginBuildEntry/index.js
95
- const filePathAbsolute = (0, utils_js_1.requireResolveNonUserFile)(`../../../../../../dist/esm/__internal/index.js`, importMetaUrl);
99
+ const filePathAbsolute = (0, utils_js_1.requireResolveVikeDistFile)('dist/esm/__internal/index.js');
96
100
  if (
97
101
  // Let's implement a new config if a user needs the import to be a relative path instead of 'vike/__internal' (AFAIK a relative path is needed only if a framework has npm package 'vike' as direct dependency instead of a peer dependency and if the user of that framework uses pnpm)
98
102
  true) {
@@ -21,13 +21,17 @@ function pluginModuleBanner() {
21
21
  transform: {
22
22
  order: 'post',
23
23
  handler(code, id, options) {
24
- if (!(0, isViteServerBuild_js_1.isViteServerBuild_safe)(config, options))
24
+ if (!(0, isViteServerBuild_js_1.isViteServerBuild_safe)(config, options) &&
25
+ // Inject module banners if user sets `build.minify` to `false` for inspecting dist/client/
26
+ config.build.minify) {
25
27
  return;
28
+ }
26
29
  if (id.startsWith('\0'))
27
30
  id = id;
28
31
  id = (0, virtual_files_js_1.removeVirtualIdTag)(id);
29
32
  if (id.startsWith(config.root))
30
33
  id = id.slice(config.root.length + 1);
34
+ id = id.replaceAll('*/', '*\\/'); // https://github.com/vikejs/vike/issues/2377
31
35
  const s = new magic_string_1.default(code);
32
36
  // Use legal comment so that esbuild doesn't remove it.
33
37
  // - Terser still removes the comment, but I guess users use terser to minify JavaScript so I guess it's a good thing that comment is removed.
@@ -64,7 +64,7 @@ function assertResolveAlias(config) {
64
64
  // - determineOptimizeDeps()
65
65
  // - extractAssets
66
66
  // - in general: using un-distinguishable path aliases is asking for trouble
67
- if (!(0, utils_js_1.isValidPathAlias)(find)) {
67
+ if (!(0, utils_js_1.isPathAliasRecommended)(find)) {
68
68
  if (find.startsWith('@')) {
69
69
  const msg = `${errPrefix} defines an invalid resolve.alias ${deprecation}: a path alias cannot start with ${picocolors_1.default.cyan('@')}, ${errSuffix1}`;
70
70
  (0, utils_js_1.assertWarning)(false, msg, { onlyOnce: true });
@@ -5,6 +5,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.commonConfig = commonConfig;
7
7
  exports.getVikeConfigPublic = getVikeConfigPublic;
8
+ exports.getVikeConfigInternal = getVikeConfigInternal;
8
9
  const utils_js_1 = require("../utils.js");
9
10
  const pluginBuildConfig_js_1 = require("./build/pluginBuildConfig.js");
10
11
  const require_shim_1 = require("@brillout/require-shim");
@@ -90,7 +91,7 @@ function commonConfig(vikeVitePluginOptions) {
90
91
  order: 'post',
91
92
  handler(configFromUser) {
92
93
  let configFromVike = { server: {}, preview: {} };
93
- const vike = getVikeConfigPublic(configFromUser);
94
+ const vike = getVikeConfigInternal(configFromUser);
94
95
  if (vike.config.port !== undefined) {
95
96
  // https://vike.dev/port
96
97
  setDefault('port', vike.config.port, configFromUser, configFromVike);
@@ -158,11 +159,16 @@ function assertVikeCliOrApi(config) {
158
159
  if ((0, context_js_1.isVikeCliOrApi)())
159
160
  return;
160
161
  if ((0, isViteCliCall_js_1.isViteCliCall)()) {
162
+ (0, utils_js_1.assert)(!(0, utils_js_1.isVitest)());
161
163
  (0, utils_js_1.assertWarning)(false, `Vite's CLI is deprecated ${picocolors_1.default.underline('https://vike.dev/migration/cli')}`, {
162
164
  onlyOnce: true
163
165
  });
164
166
  return;
165
167
  }
168
+ if ((0, utils_js_1.isVitest)()) {
169
+ (0, utils_js_1.assertWarning)(false, `Unexpected Vitest setup: you seem to be using Vitest together with Vike's Vite plugin but without using Vike's JavaScript API which is unexpected, see ${picocolors_1.default.underline('https://vike.dev/vitest')}`, { onlyOnce: true });
170
+ return;
171
+ }
166
172
  if (config.server.middlewareMode) {
167
173
  (0, utils_js_1.assertWarning)(false, `${picocolors_1.default.cyan('vite.createServer()')} is deprecated ${picocolors_1.default.underline('https://vike.dev/migration/cli#api')}`, {
168
174
  onlyOnce: true
@@ -196,7 +202,7 @@ function temp_supportOldInterface(config) {
196
202
  }
197
203
  // TODO/soon rename:
198
204
  // - `getVikeConfig()` => `resolveVikeConfig()` ?
199
- // - `getVikeConfigPublic()` => `getVikeConfig()`
205
+ // - `getVikeConfigInternal()` => `getVikeConfig()`
200
206
  // - `VikeConfigPublic` => `VikeConfig` ?
201
207
  // - `VikeConfigObject` => `VikeConfigInternal` ?
202
208
  /**
@@ -204,11 +210,16 @@ function temp_supportOldInterface(config) {
204
210
  *
205
211
  * https://vike.dev/getVikeConfig
206
212
  */
207
- function getVikeConfigPublic(config) {
213
+ function getVikeConfigInternal(config) {
208
214
  const vikeConfig = config._vike;
209
215
  (0, utils_js_1.assert)(vikeConfig);
210
216
  return vikeConfig;
211
217
  }
218
+ function getVikeConfigPublic(config) {
219
+ const vikeConfig = config._vike;
220
+ (0, utils_js_1.assertUsage)(vikeConfig, "getVikeConfig() can only be used when Vite is running with Vike's Vite plugin");
221
+ return vikeConfig;
222
+ }
212
223
  // Only emit dist/server/entry.mjs if necessary
213
224
  function emitServerEntryOnlyIfNeeded(config) {
214
225
  if (config.vitePluginServerEntry?.inject &&
@@ -23,11 +23,6 @@ async function determineFsAllowList(config) {
23
23
  // We add it again just to be sure.
24
24
  fsAllow.push((0, vite_1.searchForWorkspaceRoot)(process.cwd()));
25
25
  // Add node_modules/vike/
26
- {
27
- // [RELATIVE_PATH_FROM_DIST] Current directory: node_modules/vike/dist/esm/node/plugin/plugins/config/
28
- const vikeRoot = node_path_1.default.posix.join(__dirname_, '../../../../../../');
29
- // Assert that `vikeRoot` is indeed pointing to `node_modules/vike/`
30
- (0, utils_js_1.requireResolveNonUserFile)(`${vikeRoot}/dist/esm/node/plugin/plugins/devConfig/index.js`, importMetaUrl);
31
- fsAllow.push(vikeRoot);
32
- }
26
+ const vikeNodeModulesRoot = (0, utils_js_1.getVikeNodeModulesRoot)();
27
+ fsAllow.push(vikeNodeModulesRoot);
33
28
  }
@@ -40,7 +40,7 @@ async function getPageDeps(config, pageConfigs) {
40
40
  const addInclude = (e) => {
41
41
  (0, utils_js_1.assert)(e);
42
42
  // Shouldn't be a path alias, as path aliases would need to be added to config.optimizeDeps.entries instead of config.optimizeDeps.include
43
- (0, utils_js_1.assertIsNpmPackageImport)(e);
43
+ (0, utils_js_1.assertIsImportPathNpmPackage)(e);
44
44
  include.push(e);
45
45
  };
46
46
  // V1 design
@@ -19,6 +19,16 @@ const configDefinitionsBuiltIn = {
19
19
  onPageTransitionEnd: {
20
20
  env: { client: true }
21
21
  },
22
+ onCreatePageContext: {
23
+ env: { server: true, client: true },
24
+ global: true,
25
+ cumulative: true
26
+ },
27
+ onCreateGlobalContext: {
28
+ env: { server: true, client: true },
29
+ global: true,
30
+ cumulative: true
31
+ },
22
32
  onBeforeRender: {
23
33
  env: { server: true }
24
34
  },
@@ -11,6 +11,8 @@ exports.ignorePatternsBuiltIn = [
11
11
  // +Page.telefunc.js
12
12
  // ```
13
13
  '**/*.telefunc.*',
14
+ // https://github.com/vikejs/vike/issues/1589#issuecomment-2031925598
15
+ '**/.history/**',
14
16
  // https://github.com/vikejs/vike/discussions/2222
15
17
  '**/*.generated.*'
16
18
  ];
@@ -12,7 +12,7 @@ const transpileAndExecuteFile_js_1 = require("./transpileAndExecuteFile.js");
12
12
  const getVikeConfig_js_1 = require("../getVikeConfig.js");
13
13
  const assertPlusFileExport_js_1 = require("../../../../../../shared/page-configs/assertPlusFileExport.js");
14
14
  const picocolors_1 = __importDefault(require("@brillout/picocolors"));
15
- const transformPointerImports_js_1 = require("./transformPointerImports.js");
15
+ const pointerImports_js_1 = require("./pointerImports.js");
16
16
  const getConfigFileExport_js_1 = require("./getConfigFileExport.js");
17
17
  const resolvePointerImport_js_1 = require("./resolvePointerImport.js");
18
18
  const getConfigDefinedAt_js_1 = require("../../../../../../shared/page-configs/getConfigDefinedAt.js");
@@ -117,7 +117,7 @@ function getExtendsPointerImportData(configFileExports, configFilePath) {
117
117
  (0, utils_js_1.assertUsage)(false, wrongUsage);
118
118
  }
119
119
  extendsPointerImportData.push(...extendList.map((importString) => {
120
- const pointerImportData = (0, transformPointerImports_js_1.parsePointerImportData)(importString);
120
+ const pointerImportData = (0, pointerImports_js_1.parsePointerImportData)(importString);
121
121
  (0, utils_js_1.assertUsage)(pointerImportData, wrongUsage);
122
122
  return pointerImportData;
123
123
  }));
@@ -6,6 +6,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.transformPointerImports = transformPointerImports;
7
7
  exports.parsePointerImportData = parsePointerImportData;
8
8
  exports.isPointerImportData = isPointerImportData;
9
+ exports.assertPointerImportPath = assertPointerImportPath;
9
10
  // Playground: https://github.com/brillout/acorn-playground
10
11
  // Notes about `with { type: 'pointer' }`
11
12
  // - It works well with TypeScript: it doesn't complain upon `with { type: 'unknown-to-typescript' }` and go-to-definition & types are preserved: https://www.typescriptlang.org/docs/handbook/release-notes/typescript-5-3.html#import-attributes
@@ -149,8 +150,20 @@ function parsePointerImportData(importString) {
149
150
  (0, utils_js_1.assert)(parts.length >= 2);
150
151
  const exportName = parts[parts.length - 1];
151
152
  const importPath = parts.slice(0, -1).join(SEP);
153
+ if (importPath.startsWith('.') && !(importPath.startsWith('./') || importPath.startsWith('../'))) {
154
+ (0, utils_js_1.assert)(!importStringWasGenerated);
155
+ (0, utils_js_1.assertUsage)(false, `Invalid relative import path ${picocolors_1.default.code(importPath)} defined by ${picocolors_1.default.code(JSON.stringify(importString))} because it should start with ${picocolors_1.default.code('./')} or ${picocolors_1.default.code('../')}, or use an npm package import instead.`);
156
+ }
157
+ assertPointerImportPath(importPath);
152
158
  return { importPath, exportName, importStringWasGenerated, importString };
153
159
  }
160
+ // `importPath` is one of the following:
161
+ // - A relative import path
162
+ // - An npm package import
163
+ // - A filesystem absolute path, see transpileWithEsbuild()
164
+ function assertPointerImportPath(importPath) {
165
+ return (0, utils_js_1.isImportPath)(importPath) || (0, utils_js_1.isFilePathAbsolute)(importPath);
166
+ }
154
167
  function spliceMany(str, operations) {
155
168
  let strMod = '';
156
169
  let endPrev;