vike 0.4.236-commit-e752d12 → 0.4.236-commit-79f1ef0

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 (114) hide show
  1. package/dist/cjs/client/shared/createGetGlobalContextClient.js +20 -10
  2. package/dist/cjs/client/shared/utils.js +1 -0
  3. package/dist/cjs/node/runtime/globalContext.js +104 -20
  4. package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +3 -1
  5. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +4 -0
  6. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +3 -1
  7. package/dist/cjs/node/runtime/utils.js +4 -0
  8. package/dist/cjs/node/shared/utils.js +1 -0
  9. package/dist/cjs/node/shared/virtualFiles/virtualFileEntry.js +16 -14
  10. package/dist/cjs/node/shared/virtualFiles/virtualFilePageConfigLazy.js +10 -4
  11. package/dist/cjs/node/vite/index.js +2 -0
  12. package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +19 -11
  13. package/dist/cjs/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +2 -2
  14. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +28 -13
  15. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +0 -3
  16. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +12 -7
  17. package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +2 -2
  18. package/dist/cjs/node/vite/plugins/pluginCommon.js +1 -0
  19. package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +102 -58
  20. package/dist/cjs/node/vite/plugins/pluginEnvVars.js +3 -3
  21. package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +3 -4
  22. package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +2 -2
  23. package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +51 -0
  24. package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +1 -1
  25. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.js +1 -0
  26. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigsEager.js +4 -0
  27. package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +4 -5
  28. package/dist/cjs/node/vite/shared/applyRegExWithMagicString.js +1 -0
  29. package/dist/cjs/node/vite/shared/getMagicString.js +18 -0
  30. package/dist/cjs/node/vite/shared/getManifestFilePathRelative.js +10 -0
  31. package/dist/cjs/node/vite/utils.js +1 -0
  32. package/dist/cjs/shared/createGlobalContextShared.js +5 -1
  33. package/dist/cjs/shared/getPageFiles/parseVirtualFileExports.js +6 -0
  34. package/dist/cjs/shared/getProxyForPublicUsage.js +2 -2
  35. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  36. package/dist/cjs/utils/assertSetup.js +2 -0
  37. package/dist/cjs/utils/debug.js +1 -0
  38. package/dist/cjs/utils/getViteRPC.js +79 -0
  39. package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +1 -0
  40. package/dist/cjs/utils/isRunnableDevEnvironment.js +9 -0
  41. package/dist/cjs/utils/virtualFileId.js +39 -0
  42. package/dist/esm/client/runtime-client-routing/createPageContextClientSide.d.ts +1 -1
  43. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +2 -2
  44. package/dist/esm/client/runtime-client-routing/globalContext.d.ts +1 -1
  45. package/dist/esm/client/runtime-client-routing/history.d.ts +4 -2
  46. package/dist/esm/client/runtime-client-routing/history.js +13 -35
  47. package/dist/esm/client/runtime-client-routing/initClientRouter.js +3 -2
  48. package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +1 -1
  49. package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +43 -30
  50. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.d.ts +1 -1
  51. package/dist/esm/client/runtime-server-routing/globalContext.d.ts +1 -1
  52. package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +1 -1
  53. package/dist/esm/client/shared/createGetGlobalContextClient.js +20 -10
  54. package/dist/esm/client/shared/utils.d.ts +1 -0
  55. package/dist/esm/client/shared/utils.js +1 -0
  56. package/dist/esm/node/prerender/runPrerender.d.ts +40 -132
  57. package/dist/esm/node/runtime/globalContext.d.ts +32 -52
  58. package/dist/esm/node/runtime/globalContext.js +105 -21
  59. package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +4 -2
  60. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +10 -33
  61. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +4 -0
  62. package/dist/esm/node/runtime/renderPage/getPageAssets.js +4 -2
  63. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +20 -66
  64. package/dist/esm/node/runtime/renderPage.d.ts +10 -33
  65. package/dist/esm/node/runtime/utils.d.ts +4 -0
  66. package/dist/esm/node/runtime/utils.js +4 -0
  67. package/dist/esm/node/shared/utils.d.ts +1 -0
  68. package/dist/esm/node/shared/utils.js +1 -0
  69. package/dist/esm/node/shared/virtualFiles/virtualFileEntry.js +16 -14
  70. package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.js +11 -5
  71. package/dist/esm/node/vite/index.js +2 -0
  72. package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.d.ts +1 -1
  73. package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +19 -11
  74. package/dist/esm/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +2 -2
  75. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildApp.js +28 -13
  76. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.d.ts +0 -2
  77. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +0 -2
  78. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +12 -7
  79. package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +2 -2
  80. package/dist/esm/node/vite/plugins/pluginCommon.d.ts +3 -0
  81. package/dist/esm/node/vite/plugins/pluginCommon.js +1 -0
  82. package/dist/esm/node/vite/plugins/pluginDev/determineOptimizeDeps.js +103 -59
  83. package/dist/esm/node/vite/plugins/pluginExtractAssets.js +3 -4
  84. package/dist/esm/node/vite/plugins/pluginNonRunnableDev.d.ts +26 -0
  85. package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +49 -0
  86. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.js +1 -0
  87. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigsEager.js +4 -0
  88. package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +3 -4
  89. package/dist/esm/node/vite/shared/applyRegExWithMagicString.js +1 -0
  90. package/dist/esm/node/vite/shared/getMagicString.d.ts +9 -0
  91. package/dist/esm/node/vite/shared/getMagicString.js +13 -0
  92. package/dist/esm/node/vite/shared/getManifestFilePathRelative.d.ts +2 -0
  93. package/dist/esm/node/vite/shared/getManifestFilePathRelative.js +8 -0
  94. package/dist/esm/node/vite/utils.d.ts +1 -0
  95. package/dist/esm/node/vite/utils.js +1 -0
  96. package/dist/esm/shared/createGlobalContextShared.d.ts +3 -3
  97. package/dist/esm/shared/createGlobalContextShared.js +5 -1
  98. package/dist/esm/shared/getPageFiles/parseVirtualFileExports.js +6 -0
  99. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  100. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  101. package/dist/esm/utils/assertSetup.js +2 -0
  102. package/dist/esm/utils/debug.d.ts +1 -1
  103. package/dist/esm/utils/debug.js +1 -0
  104. package/dist/esm/utils/getViteRPC.d.ts +6 -0
  105. package/dist/esm/utils/getViteRPC.js +77 -0
  106. package/dist/esm/utils/isFilePathAbsoluteFilesystem.d.ts +7 -0
  107. package/dist/esm/utils/isFilePathAbsoluteFilesystem.js +1 -0
  108. package/dist/esm/utils/isRunnableDevEnvironment.d.ts +3 -0
  109. package/dist/esm/utils/isRunnableDevEnvironment.js +7 -0
  110. package/dist/esm/utils/virtualFileId.d.ts +6 -0
  111. package/dist/esm/{node/shared/virtualFiles.js → utils/virtualFileId.js} +15 -17
  112. package/package.json +12 -3
  113. package/dist/cjs/node/shared/virtualFiles.js +0 -41
  114. package/dist/esm/node/shared/virtualFiles.d.ts +0 -8
@@ -92,24 +92,12 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
92
92
  pages: {
93
93
  [k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
94
94
  };
95
- } & ({
95
+ } & (({
96
96
  _isProduction: false;
97
97
  _isPrerendering: false;
98
98
  assetsManifest: null;
99
- _viteDevServer: import("vite").ViteDevServer;
100
- viteConfig: ResolvedConfig;
101
- viteConfigRuntime: {
102
- root: string;
103
- build: {
104
- outDir: string;
105
- };
106
- _baseViteOriginal: string;
107
- vitePluginServerEntry: {
108
- inject: boolean | undefined;
109
- };
110
- };
111
- baseServer: string;
112
- baseAssets: string;
99
+ _viteDevServer: import("vite").ViteDevServer | undefined;
100
+ viteConfig: ResolvedConfig | undefined;
113
101
  isClientSide: false;
114
102
  _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
115
103
  _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
@@ -119,19 +107,7 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
119
107
  _isProduction: true;
120
108
  assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
121
109
  _viteDevServer: null;
122
- viteConfigRuntime: {
123
- root: string;
124
- build: {
125
- outDir: string;
126
- };
127
- _baseViteOriginal: string;
128
- vitePluginServerEntry: {
129
- inject: boolean | undefined;
130
- };
131
- };
132
110
  _usesClientRouter: boolean;
133
- baseServer: string;
134
- baseAssets: string;
135
111
  isClientSide: false;
136
112
  _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
137
113
  _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
@@ -141,6 +117,13 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
141
117
  _isProduction: true;
142
118
  assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
143
119
  _viteDevServer: null;
120
+ _usesClientRouter: boolean;
121
+ isClientSide: false;
122
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
123
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
124
+ }) & {
125
+ baseServer: string;
126
+ baseAssets: string;
144
127
  viteConfigRuntime: {
145
128
  root: string;
146
129
  build: {
@@ -151,12 +134,6 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
151
134
  inject: boolean | undefined;
152
135
  };
153
136
  };
154
- _usesClientRouter: boolean;
155
- baseServer: string;
156
- baseAssets: string;
157
- isClientSide: false;
158
- _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
159
- _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
160
137
  });
161
138
  _pageFilesAll: PageFile[];
162
139
  _baseServer: string;
@@ -213,24 +190,12 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
213
190
  pages: {
214
191
  [k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
215
192
  };
216
- } & ({
193
+ } & (({
217
194
  _isProduction: false;
218
195
  _isPrerendering: false;
219
196
  assetsManifest: null;
220
- _viteDevServer: import("vite").ViteDevServer;
221
- viteConfig: ResolvedConfig;
222
- viteConfigRuntime: {
223
- root: string;
224
- build: {
225
- outDir: string;
226
- };
227
- _baseViteOriginal: string;
228
- vitePluginServerEntry: {
229
- inject: boolean | undefined;
230
- };
231
- };
232
- baseServer: string;
233
- baseAssets: string;
197
+ _viteDevServer: import("vite").ViteDevServer | undefined;
198
+ viteConfig: ResolvedConfig | undefined;
234
199
  isClientSide: false;
235
200
  _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
236
201
  _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
@@ -240,19 +205,7 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
240
205
  _isProduction: true;
241
206
  assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
242
207
  _viteDevServer: null;
243
- viteConfigRuntime: {
244
- root: string;
245
- build: {
246
- outDir: string;
247
- };
248
- _baseViteOriginal: string;
249
- vitePluginServerEntry: {
250
- inject: boolean | undefined;
251
- };
252
- };
253
208
  _usesClientRouter: boolean;
254
- baseServer: string;
255
- baseAssets: string;
256
209
  isClientSide: false;
257
210
  _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
258
211
  _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
@@ -262,6 +215,13 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
262
215
  _isProduction: true;
263
216
  assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
264
217
  _viteDevServer: null;
218
+ _usesClientRouter: boolean;
219
+ isClientSide: false;
220
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
221
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
222
+ }) & {
223
+ baseServer: string;
224
+ baseAssets: string;
265
225
  viteConfigRuntime: {
266
226
  root: string;
267
227
  build: {
@@ -272,12 +232,6 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
272
232
  inject: boolean | undefined;
273
233
  };
274
234
  };
275
- _usesClientRouter: boolean;
276
- baseServer: string;
277
- baseAssets: string;
278
- isClientSide: false;
279
- _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
280
- _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
281
235
  });
282
236
  _pageFilesAll: PageFile[];
283
237
  _baseServer: string;
@@ -338,24 +292,12 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
338
292
  pages: {
339
293
  [k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
340
294
  };
341
- } & ({
295
+ } & (({
342
296
  _isProduction: false;
343
297
  _isPrerendering: false;
344
298
  assetsManifest: null;
345
- _viteDevServer: import("vite").ViteDevServer;
346
- viteConfig: ResolvedConfig;
347
- viteConfigRuntime: {
348
- root: string;
349
- build: {
350
- outDir: string;
351
- };
352
- _baseViteOriginal: string;
353
- vitePluginServerEntry: {
354
- inject: boolean | undefined;
355
- };
356
- };
357
- baseServer: string;
358
- baseAssets: string;
299
+ _viteDevServer: import("vite").ViteDevServer | undefined;
300
+ viteConfig: ResolvedConfig | undefined;
359
301
  isClientSide: false;
360
302
  _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
361
303
  _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
@@ -365,19 +307,7 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
365
307
  _isProduction: true;
366
308
  assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
367
309
  _viteDevServer: null;
368
- viteConfigRuntime: {
369
- root: string;
370
- build: {
371
- outDir: string;
372
- };
373
- _baseViteOriginal: string;
374
- vitePluginServerEntry: {
375
- inject: boolean | undefined;
376
- };
377
- };
378
310
  _usesClientRouter: boolean;
379
- baseServer: string;
380
- baseAssets: string;
381
311
  isClientSide: false;
382
312
  _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
383
313
  _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
@@ -387,6 +317,13 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
387
317
  _isProduction: true;
388
318
  assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
389
319
  _viteDevServer: null;
320
+ _usesClientRouter: boolean;
321
+ isClientSide: false;
322
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
323
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
324
+ }) & {
325
+ baseServer: string;
326
+ baseAssets: string;
390
327
  viteConfigRuntime: {
391
328
  root: string;
392
329
  build: {
@@ -397,12 +334,6 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
397
334
  inject: boolean | undefined;
398
335
  };
399
336
  };
400
- _usesClientRouter: boolean;
401
- baseServer: string;
402
- baseAssets: string;
403
- isClientSide: false;
404
- _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
405
- _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
406
337
  });
407
338
  _pageFilesAll: PageFile[];
408
339
  _baseServer: string;
@@ -459,24 +390,12 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
459
390
  pages: {
460
391
  [k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
461
392
  };
462
- } & ({
393
+ } & (({
463
394
  _isProduction: false;
464
395
  _isPrerendering: false;
465
396
  assetsManifest: null;
466
- _viteDevServer: import("vite").ViteDevServer;
467
- viteConfig: ResolvedConfig;
468
- viteConfigRuntime: {
469
- root: string;
470
- build: {
471
- outDir: string;
472
- };
473
- _baseViteOriginal: string;
474
- vitePluginServerEntry: {
475
- inject: boolean | undefined;
476
- };
477
- };
478
- baseServer: string;
479
- baseAssets: string;
397
+ _viteDevServer: import("vite").ViteDevServer | undefined;
398
+ viteConfig: ResolvedConfig | undefined;
480
399
  isClientSide: false;
481
400
  _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
482
401
  _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
@@ -486,19 +405,7 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
486
405
  _isProduction: true;
487
406
  assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
488
407
  _viteDevServer: null;
489
- viteConfigRuntime: {
490
- root: string;
491
- build: {
492
- outDir: string;
493
- };
494
- _baseViteOriginal: string;
495
- vitePluginServerEntry: {
496
- inject: boolean | undefined;
497
- };
498
- };
499
408
  _usesClientRouter: boolean;
500
- baseServer: string;
501
- baseAssets: string;
502
409
  isClientSide: false;
503
410
  _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
504
411
  _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
@@ -508,6 +415,13 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
508
415
  _isProduction: true;
509
416
  assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
510
417
  _viteDevServer: null;
418
+ _usesClientRouter: boolean;
419
+ isClientSide: false;
420
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
421
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
422
+ }) & {
423
+ baseServer: string;
424
+ baseAssets: string;
511
425
  viteConfigRuntime: {
512
426
  root: string;
513
427
  build: {
@@ -518,12 +432,6 @@ declare function createPageContextPrerendering(urlOriginal: string, prerenderCon
518
432
  inject: boolean | undefined;
519
433
  };
520
434
  };
521
- _usesClientRouter: boolean;
522
- baseServer: string;
523
- baseAssets: string;
524
- isClientSide: false;
525
- _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
526
- _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
527
435
  });
528
436
  _pageFilesAll: PageFile[];
529
437
  _baseServer: string;
@@ -51,8 +51,14 @@ declare function getGlobalContextServerInternal(): Promise<{
51
51
  _isProduction: false;
52
52
  _isPrerendering: false;
53
53
  assetsManifest: null;
54
- _viteDevServer: ViteDevServer;
55
- viteConfig: ResolvedConfig;
54
+ _viteDevServer: ViteDevServer | undefined;
55
+ viteConfig: ResolvedConfig | undefined;
56
+ isClientSide: false;
57
+ _pageRoutes: PageRoutes;
58
+ _onBeforeRouteHook: Hook | null;
59
+ } & {
60
+ baseServer: string;
61
+ baseAssets: string;
56
62
  viteConfigRuntime: {
57
63
  root: string;
58
64
  build: {
@@ -63,11 +69,6 @@ declare function getGlobalContextServerInternal(): Promise<{
63
69
  inject: boolean | undefined;
64
70
  };
65
71
  };
66
- baseServer: string;
67
- baseAssets: string;
68
- isClientSide: false;
69
- _pageRoutes: PageRoutes;
70
- _onBeforeRouteHook: Hook | null;
71
72
  }) | (Record<string, unknown> & {
72
73
  isGlobalContext: true;
73
74
  _isOriginalObject: true;
@@ -92,6 +93,13 @@ declare function getGlobalContextServerInternal(): Promise<{
92
93
  _isProduction: true;
93
94
  assetsManifest: ViteManifest;
94
95
  _viteDevServer: null;
96
+ _usesClientRouter: boolean;
97
+ isClientSide: false;
98
+ _pageRoutes: PageRoutes;
99
+ _onBeforeRouteHook: Hook | null;
100
+ } & {
101
+ baseServer: string;
102
+ baseAssets: string;
95
103
  viteConfigRuntime: {
96
104
  root: string;
97
105
  build: {
@@ -102,12 +110,6 @@ declare function getGlobalContextServerInternal(): Promise<{
102
110
  inject: boolean | undefined;
103
111
  };
104
112
  };
105
- _usesClientRouter: boolean;
106
- baseServer: string;
107
- baseAssets: string;
108
- isClientSide: false;
109
- _pageRoutes: PageRoutes;
110
- _onBeforeRouteHook: Hook | null;
111
113
  }) | (Record<string, unknown> & {
112
114
  isGlobalContext: true;
113
115
  _isOriginalObject: true;
@@ -132,6 +134,13 @@ declare function getGlobalContextServerInternal(): Promise<{
132
134
  _isProduction: true;
133
135
  assetsManifest: ViteManifest;
134
136
  _viteDevServer: null;
137
+ _usesClientRouter: boolean;
138
+ isClientSide: false;
139
+ _pageRoutes: PageRoutes;
140
+ _onBeforeRouteHook: Hook | null;
141
+ } & {
142
+ baseServer: string;
143
+ baseAssets: string;
135
144
  viteConfigRuntime: {
136
145
  root: string;
137
146
  build: {
@@ -142,12 +151,6 @@ declare function getGlobalContextServerInternal(): Promise<{
142
151
  inject: boolean | undefined;
143
152
  };
144
153
  };
145
- _usesClientRouter: boolean;
146
- baseServer: string;
147
- baseAssets: string;
148
- isClientSide: false;
149
- _pageRoutes: PageRoutes;
150
- _onBeforeRouteHook: Hook | null;
151
154
  });
152
155
  }>;
153
156
  /**
@@ -205,24 +208,12 @@ declare function setGlobalContext(virtualFileExports: unknown): Promise<{
205
208
  pages: {
206
209
  [k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
207
210
  };
208
- } & ({
211
+ } & (({
209
212
  _isProduction: false;
210
213
  _isPrerendering: false;
211
214
  assetsManifest: null;
212
- _viteDevServer: ViteDevServer;
213
- viteConfig: ResolvedConfig;
214
- viteConfigRuntime: {
215
- root: string;
216
- build: {
217
- outDir: string;
218
- };
219
- _baseViteOriginal: string;
220
- vitePluginServerEntry: {
221
- inject: boolean | undefined;
222
- };
223
- };
224
- baseServer: string;
225
- baseAssets: string;
215
+ _viteDevServer: ViteDevServer | undefined;
216
+ viteConfig: ResolvedConfig | undefined;
226
217
  isClientSide: false;
227
218
  _pageRoutes: PageRoutes;
228
219
  _onBeforeRouteHook: Hook | null;
@@ -232,19 +223,7 @@ declare function setGlobalContext(virtualFileExports: unknown): Promise<{
232
223
  _isProduction: true;
233
224
  assetsManifest: ViteManifest;
234
225
  _viteDevServer: null;
235
- viteConfigRuntime: {
236
- root: string;
237
- build: {
238
- outDir: string;
239
- };
240
- _baseViteOriginal: string;
241
- vitePluginServerEntry: {
242
- inject: boolean | undefined;
243
- };
244
- };
245
226
  _usesClientRouter: boolean;
246
- baseServer: string;
247
- baseAssets: string;
248
227
  isClientSide: false;
249
228
  _pageRoutes: PageRoutes;
250
229
  _onBeforeRouteHook: Hook | null;
@@ -254,6 +233,13 @@ declare function setGlobalContext(virtualFileExports: unknown): Promise<{
254
233
  _isProduction: true;
255
234
  assetsManifest: ViteManifest;
256
235
  _viteDevServer: null;
236
+ _usesClientRouter: boolean;
237
+ isClientSide: false;
238
+ _pageRoutes: PageRoutes;
239
+ _onBeforeRouteHook: Hook | null;
240
+ }) & {
241
+ baseServer: string;
242
+ baseAssets: string;
257
243
  viteConfigRuntime: {
258
244
  root: string;
259
245
  build: {
@@ -264,11 +250,5 @@ declare function setGlobalContext(virtualFileExports: unknown): Promise<{
264
250
  inject: boolean | undefined;
265
251
  };
266
252
  };
267
- _usesClientRouter: boolean;
268
- baseServer: string;
269
- baseAssets: string;
270
- isClientSide: false;
271
- _pageRoutes: PageRoutes;
272
- _onBeforeRouteHook: Hook | null;
273
253
  })>;
274
254
  declare function clearGlobalContext(): void;
@@ -18,6 +18,12 @@ export { clearGlobalContext };
18
18
  export { assertBuildInfo };
19
19
  export { updateUserFiles };
20
20
  export { vikeConfigErrorRecoverMsg };
21
+ // TODO/now: use isProductionEnvironment() instead of globalObject.isProduction
22
+ // TODO/now: rename:
23
+ // - isProduction => isProductionEnvironment
24
+ // - setIsProduction => setIsProductionEnvironment
25
+ // - setGlobalContext_isProduction => setGlobalContext_isProductionEnvironment
26
+ // - sProductionEnvironment => sDevEnv
21
27
  // The core logic revolves around:
22
28
  // - virtualFileExports is the main requirement
23
29
  // - In production: globalObject.buildEntry which is the production entry set by @brillout/vite-plugin-server-entry
@@ -26,7 +32,7 @@ export { vikeConfigErrorRecoverMsg };
26
32
  // - Without vike-server it's manually loaded here using importServerProductionEntry() which uses @brillout/vite-plugin-server-entry's autoImporter or crawler
27
33
  // - In development: globalObject.viteDevServer which is Vite's development server
28
34
  // - globalObject.viteDevServer is used by updateUserFiles() which then sets virtualFileExports
29
- import { assert, onSetupRuntime, assertUsage, assertWarning, isPlainObject, objectReplace, isObject, hasProp, getGlobalObject, genPromise, createDebugger, checkType, PROJECT_VERSION, } from './utils.js';
35
+ import { assert, onSetupRuntime, assertUsage, assertWarning, isPlainObject, objectReplace, isObject, hasProp, getGlobalObject, genPromise, createDebugger, checkType, PROJECT_VERSION, getViteRPC, isRunnableDevEnvironment, assertIsNotBrowser, } from './utils.js';
30
36
  import { importServerProductionEntry } from '@brillout/vite-plugin-server-entry/runtime';
31
37
  import { virtualFileIdEntryServer } from '../shared/virtualFiles/virtualFileEntry.js';
32
38
  import pc from '@brillout/picocolors';
@@ -44,6 +50,7 @@ const globalObject = getGlobalObject('runtime/globalContext.ts', getInitialGloba
44
50
  // https://chat.deepseek.com/a/chat/s/d7e9f90a-c7f3-4108-9cd5-4ad6caed3539
45
51
  const globalObjectTyped = globalObject;
46
52
  const vikeConfigErrorRecoverMsg = pc.bold(pc.green('Vike config loaded'));
53
+ assertIsNotBrowser();
47
54
  async function getGlobalContextServerInternal() {
48
55
  // getGlobalContextServerInternal() should always be called after initGlobalContext()
49
56
  assert(globalObject.isInitialized);
@@ -130,10 +137,12 @@ async function setGlobalContext_viteDevServer(viteDevServer) {
130
137
  assert(globalObject.viteConfig);
131
138
  globalObject.viteDevServer = viteDevServer;
132
139
  globalObject.viteDevServerPromiseResolve(viteDevServer);
133
- const { success } = await updateUserFiles();
134
- if (!success)
135
- return;
136
- assertGlobalContextIsDefined();
140
+ if (isRunnable(viteDevServer)) {
141
+ const { success } = await updateUserFiles();
142
+ if (!success)
143
+ return;
144
+ assertGlobalContextIsDefined();
145
+ }
137
146
  }
138
147
  function setGlobalContext_viteConfig(viteConfig, viteConfigRuntime) {
139
148
  if (globalObject.viteConfig)
@@ -150,6 +159,7 @@ function setGlobalContext_isPrerendering() {
150
159
  globalObject.isPrerendering = true;
151
160
  setIsProduction(true);
152
161
  }
162
+ // TODO/now: `rename tolerateContraditction tolerateContradiction`
153
163
  function setGlobalContext_isProduction(isProduction, tolerateContraditction = false) {
154
164
  if (debug.isActivated)
155
165
  debug('setGlobalContext_isProduction()', { isProduction, tolerateContraditction });
@@ -201,7 +211,13 @@ async function initGlobalContext() {
201
211
  const { isProduction } = globalObject;
202
212
  assert(typeof isProduction === 'boolean');
203
213
  if (!isProduction) {
204
- await globalObject.viteDevServerPromise;
214
+ if (isProcessSharedWithVite()) {
215
+ await globalObject.viteDevServerPromise;
216
+ }
217
+ else {
218
+ assert(isNonRunnableDev());
219
+ await updateUserFiles();
220
+ }
205
221
  assert(globalObject.waitForUserFilesUpdate);
206
222
  await globalObject.waitForUserFilesUpdate;
207
223
  }
@@ -335,16 +351,46 @@ async function updateUserFiles() {
335
351
  // Avoid race condition: abort if there is a new globalObject.viteDevServer (happens when vite.config.js is modified => Vite's dev server is fully reloaded).
336
352
  viteDevServer !== globalObject.viteDevServer;
337
353
  const { viteDevServer } = globalObject;
338
- assert(viteDevServer);
339
354
  let hasError = false;
340
355
  let virtualFileExports;
341
356
  let err;
342
- try {
343
- virtualFileExports = await viteDevServer.ssrLoadModule(virtualFileIdEntryServer);
357
+ if (viteDevServer) {
358
+ assert(isRunnable(viteDevServer));
359
+ /* We don't use runner.import() yet, because as of vite@7.0.6 (July 2025) runner.import() unexpectedly invalidates the module graph, which is a unexpected behavior that doesn't happen with ssrLoadModule()
360
+ // Vite 6
361
+ try {
362
+ virtualFileExports = await (viteDevServer.environments.ssr as RunnableDevEnvironment).runner.import(
363
+ 'virtual:vike:entry:server',
364
+ )
365
+ } catch (err_) {
366
+ hasError = true
367
+ err = err_
368
+ }
369
+ */
370
+ // Vite 5
371
+ try {
372
+ virtualFileExports = await viteDevServer.ssrLoadModule(virtualFileIdEntryServer);
373
+ }
374
+ catch (err_) {
375
+ hasError = true;
376
+ err = err_;
377
+ }
344
378
  }
345
- catch (err_) {
346
- hasError = true;
347
- err = err_;
379
+ else {
380
+ try {
381
+ /* We use __VIKE__DYNAMIC_IMPORT instead of directly using import() to workaround what seems to be a Vite HMR bug:
382
+ ```js
383
+ assert(false)
384
+ // This line breaks the HMR of regular (runnable) apps, even though (as per the assert() above) it's never run. It seems to be a Vite bug: handleHotUpdate() receives an empty `modules` list.
385
+ import('virtual:vike:entry:server')
386
+ ```
387
+ */
388
+ virtualFileExports = await __VIKE__DYNAMIC_IMPORT('virtual:vike:entry:server');
389
+ }
390
+ catch (err_) {
391
+ hasError = true;
392
+ err = err_;
393
+ }
348
394
  }
349
395
  if (isOutdated())
350
396
  return { success: false };
@@ -370,7 +416,7 @@ async function updateUserFiles() {
370
416
  async function setGlobalContext(virtualFileExports) {
371
417
  debug('setGlobalContext()');
372
418
  assert(!getVikeConfigErrorBuild());
373
- const globalContext = await createGlobalContextShared(virtualFileExports, globalObject, addGlobalContext, addGlobalContextTmp);
419
+ const globalContext = await createGlobalContextShared(virtualFileExports, globalObject, addGlobalContext, addGlobalContextTmp, addGlobalContextAsync);
374
420
  assertV1Design(
375
421
  // pageConfigs is PageConfigRuntime[] but assertV1Design() requires PageConfigBuildTime[]
376
422
  globalContext._pageConfigs.length > 0, globalContext._pageFilesAll);
@@ -396,23 +442,18 @@ function addGlobalContextCommon(globalContext, pageRoutes, onBeforeRouteHook) {
396
442
  _pageRoutes: pageRoutes,
397
443
  _onBeforeRouteHook: onBeforeRouteHook,
398
444
  };
399
- const { viteDevServer, viteConfig, viteConfigRuntime, isPrerendering, isProduction } = globalObject;
445
+ const { viteDevServer, viteConfig, isPrerendering, isProduction } = globalObject;
400
446
  assert(typeof isProduction === 'boolean');
401
447
  if (!isProduction) {
402
- assert(viteDevServer);
403
448
  assert(globalContext); // main common requirement
404
- assert(viteConfig);
405
- assert(viteConfigRuntime);
406
449
  assert(!isPrerendering);
407
450
  return {
408
451
  ...globalContextBase,
409
- ...resolveBaseRuntime(viteConfigRuntime, globalContext.config),
410
452
  _isProduction: false,
411
453
  _isPrerendering: false,
412
454
  assetsManifest: null,
413
455
  _viteDevServer: viteDevServer,
414
456
  viteConfig,
415
- viteConfigRuntime,
416
457
  };
417
458
  }
418
459
  else {
@@ -423,11 +464,9 @@ function addGlobalContextCommon(globalContext, pageRoutes, onBeforeRouteHook) {
423
464
  assert(assetsManifest);
424
465
  const globalContextBase2 = {
425
466
  ...globalContextBase,
426
- ...resolveBaseRuntime(buildInfo.viteConfigRuntime, globalContext.config),
427
467
  _isProduction: true,
428
468
  assetsManifest,
429
469
  _viteDevServer: null,
430
- viteConfigRuntime: buildInfo.viteConfigRuntime,
431
470
  _usesClientRouter: buildInfo.usesClientRouter,
432
471
  };
433
472
  if (isPrerendering) {
@@ -447,6 +486,27 @@ function addGlobalContextCommon(globalContext, pageRoutes, onBeforeRouteHook) {
447
486
  }
448
487
  }
449
488
  }
489
+ async function addGlobalContextAsync(globalContext) {
490
+ debug('addGlobalContextAsync()');
491
+ let { viteConfigRuntime, buildInfo } = globalObject;
492
+ if (!viteConfigRuntime) {
493
+ if (buildInfo) {
494
+ viteConfigRuntime = buildInfo.viteConfigRuntime;
495
+ }
496
+ else {
497
+ assert(!isProcessSharedWithVite()); // process shared with Vite => globalObject.viteConfigRuntime should be set
498
+ assert(!globalObject.isProduction); // production => globalObject.buildInfo.viteConfigRuntime should be set
499
+ assert(isNonRunnableDev());
500
+ const rpc = getViteRPC();
501
+ viteConfigRuntime = await rpc.getViteConfigRuntimeRPC();
502
+ }
503
+ }
504
+ assert(viteConfigRuntime);
505
+ return {
506
+ viteConfigRuntime,
507
+ ...resolveBaseRuntime(viteConfigRuntime, globalContext.config),
508
+ };
509
+ }
450
510
  function clearGlobalContext() {
451
511
  debug('clearGlobalContext()');
452
512
  objectReplace(globalObject, getInitialGlobalObject(), ['buildEntryPrevious']);
@@ -455,6 +515,7 @@ function getInitialGlobalObject() {
455
515
  debug('getInitialGlobalObject()');
456
516
  const { promise: viteDevServerPromise, resolve: viteDevServerPromiseResolve } = genPromise();
457
517
  return {
518
+ isProduction: isNonRunnableDev() ? false : undefined,
458
519
  viteDevServerPromise,
459
520
  viteDevServerPromiseResolve,
460
521
  };
@@ -465,3 +526,26 @@ function resolveBaseRuntime(viteConfigRuntime, config) {
465
526
  const baseAssetsUnresolved = config.baseAssets ?? null;
466
527
  return resolveBase(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved);
467
528
  }
529
+ function isProcessSharedWithVite() {
530
+ const yes = globalThis.__VIKE__IS_PROCESS_SHARED_WITH_VITE ?? false;
531
+ if (yes)
532
+ assert(!isNonRunnableDev());
533
+ return yes;
534
+ }
535
+ function isRunnable(viteDevServer) {
536
+ const yes =
537
+ // Vite 5
538
+ !viteDevServer.environments ||
539
+ // Vite 6 or above
540
+ isRunnableDevEnvironment(viteDevServer.environments.ssr);
541
+ if (yes)
542
+ assert(!isNonRunnableDev());
543
+ return yes;
544
+ }
545
+ function isNonRunnableDev() {
546
+ if (typeof __VIKE__IS_NON_RUNNABLE_DEV === 'undefined')
547
+ return null;
548
+ const yes = __VIKE__IS_NON_RUNNABLE_DEV;
549
+ assert(typeof yes === 'boolean');
550
+ return yes;
551
+ }