vike 0.4.236-commit-08fbc10 → 0.4.236-commit-cd565e9

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 (82) 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 +111 -26
  4. package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +3 -1
  5. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +3 -1
  6. package/dist/cjs/node/runtime/utils.js +3 -0
  7. package/dist/cjs/node/vite/index.js +2 -0
  8. package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +19 -11
  9. package/dist/cjs/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +2 -2
  10. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +0 -3
  11. package/dist/cjs/node/vite/plugins/pluginCommon.js +1 -0
  12. package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +10 -8
  13. package/dist/cjs/node/vite/plugins/pluginEnvVars.js +3 -3
  14. package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +2 -2
  15. package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +51 -0
  16. package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +1 -1
  17. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigsEager.js +4 -0
  18. package/dist/cjs/node/vite/shared/applyRegExWithMagicString.js +1 -0
  19. package/dist/cjs/node/vite/shared/getMagicString.js +18 -0
  20. package/dist/cjs/node/vite/shared/getManifestFilePathRelative.js +10 -0
  21. package/dist/cjs/shared/createGlobalContextShared.js +5 -1
  22. package/dist/cjs/shared/getProxyForPublicUsage.js +2 -2
  23. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  24. package/dist/cjs/utils/assertSetup.js +2 -0
  25. package/dist/cjs/utils/debug.js +1 -0
  26. package/dist/cjs/utils/getViteRPC.js +79 -0
  27. package/dist/cjs/utils/isRunnableDevEnvironment.js +9 -0
  28. package/dist/esm/client/runtime-client-routing/createPageContextClientSide.d.ts +1 -1
  29. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +2 -2
  30. package/dist/esm/client/runtime-client-routing/globalContext.d.ts +1 -1
  31. package/dist/esm/client/runtime-client-routing/history.d.ts +3 -5
  32. package/dist/esm/client/runtime-client-routing/history.js +41 -14
  33. package/dist/esm/client/runtime-client-routing/initClientRouter.js +2 -3
  34. package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +1 -1
  35. package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +2 -2
  36. package/dist/esm/client/runtime-client-routing/utils.d.ts +1 -0
  37. package/dist/esm/client/runtime-client-routing/utils.js +1 -0
  38. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.d.ts +1 -1
  39. package/dist/esm/client/runtime-server-routing/globalContext.d.ts +1 -1
  40. package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +1 -1
  41. package/dist/esm/client/shared/createGetGlobalContextClient.js +20 -10
  42. package/dist/esm/client/shared/utils.d.ts +1 -0
  43. package/dist/esm/client/shared/utils.js +1 -0
  44. package/dist/esm/node/prerender/runPrerender.d.ts +40 -132
  45. package/dist/esm/node/runtime/globalContext.d.ts +34 -54
  46. package/dist/esm/node/runtime/globalContext.js +112 -27
  47. package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +4 -2
  48. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +10 -33
  49. package/dist/esm/node/runtime/renderPage/getPageAssets.js +4 -2
  50. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +20 -66
  51. package/dist/esm/node/runtime/renderPage.d.ts +10 -33
  52. package/dist/esm/node/runtime/utils.d.ts +3 -0
  53. package/dist/esm/node/runtime/utils.js +3 -0
  54. package/dist/esm/node/vite/index.js +2 -0
  55. package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.d.ts +1 -1
  56. package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +19 -11
  57. package/dist/esm/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +2 -2
  58. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.d.ts +0 -2
  59. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +0 -2
  60. package/dist/esm/node/vite/plugins/pluginCommon.d.ts +3 -0
  61. package/dist/esm/node/vite/plugins/pluginCommon.js +1 -0
  62. package/dist/esm/node/vite/plugins/pluginDev/determineOptimizeDeps.js +10 -8
  63. package/dist/esm/node/vite/plugins/pluginNonRunnableDev.d.ts +26 -0
  64. package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +49 -0
  65. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigsEager.js +4 -0
  66. package/dist/esm/node/vite/shared/applyRegExWithMagicString.js +1 -0
  67. package/dist/esm/node/vite/shared/getMagicString.d.ts +9 -0
  68. package/dist/esm/node/vite/shared/getMagicString.js +13 -0
  69. package/dist/esm/node/vite/shared/getManifestFilePathRelative.d.ts +2 -0
  70. package/dist/esm/node/vite/shared/getManifestFilePathRelative.js +8 -0
  71. package/dist/esm/shared/createGlobalContextShared.d.ts +3 -3
  72. package/dist/esm/shared/createGlobalContextShared.js +5 -1
  73. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  74. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  75. package/dist/esm/utils/assertSetup.js +2 -0
  76. package/dist/esm/utils/debug.d.ts +1 -1
  77. package/dist/esm/utils/debug.js +1 -0
  78. package/dist/esm/utils/getViteRPC.d.ts +6 -0
  79. package/dist/esm/utils/getViteRPC.js +77 -0
  80. package/dist/esm/utils/isRunnableDevEnvironment.d.ts +3 -0
  81. package/dist/esm/utils/isRunnableDevEnvironment.js +7 -0
  82. package/package.json +11 -2
@@ -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
  }
@@ -258,7 +274,7 @@ async function loadBuildEntry(outDir) {
258
274
  assertBuildEntry(buildEntry);
259
275
  globalObject.assetsManifest = buildEntry.assetsManifest;
260
276
  globalObject.buildInfo = buildEntry.buildInfo;
261
- await setGlobalContext(buildEntry.virtualFileExports);
277
+ await createGlobalContext(buildEntry.virtualFileExports);
262
278
  }
263
279
  // This is the production entry, see:
264
280
  // https://github.com/vikejs/vike/blob/798e5465dc3e3e6723b38b601a50350c0a006fb8/packages/vike/node/vite/plugins/pluginBuild/pluginBuildEntry.ts#L47
@@ -303,6 +319,7 @@ function assertVersionAtBuildTime(versionAtBuildTime) {
303
319
  assertUsage(versionAtBuildTime === versionAtRuntime, `Re-build your app (you're using ${pretty(versionAtRuntime)} but your app was built with ${pretty(versionAtBuildTime)})`);
304
320
  }
305
321
  async function updateUserFiles() {
322
+ debug('updateUserFiles()');
306
323
  assert(!globalObject.isProduction);
307
324
  const { promise, resolve } = genPromise();
308
325
  globalObject.waitForUserFilesUpdate = promise;
@@ -335,16 +352,46 @@ async function updateUserFiles() {
335
352
  // 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
353
  viteDevServer !== globalObject.viteDevServer;
337
354
  const { viteDevServer } = globalObject;
338
- assert(viteDevServer);
339
355
  let hasError = false;
340
356
  let virtualFileExports;
341
357
  let err;
342
- try {
343
- virtualFileExports = await viteDevServer.ssrLoadModule(virtualFileIdEntryServer);
358
+ if (viteDevServer) {
359
+ assert(isRunnable(viteDevServer));
360
+ /* 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()
361
+ // Vite 6
362
+ try {
363
+ virtualFileExports = await (viteDevServer.environments.ssr as RunnableDevEnvironment).runner.import(
364
+ 'virtual:vike:entry:server',
365
+ )
366
+ } catch (err_) {
367
+ hasError = true
368
+ err = err_
369
+ }
370
+ */
371
+ // Vite 5
372
+ try {
373
+ virtualFileExports = await viteDevServer.ssrLoadModule(virtualFileIdEntryServer);
374
+ }
375
+ catch (err_) {
376
+ hasError = true;
377
+ err = err_;
378
+ }
344
379
  }
345
- catch (err_) {
346
- hasError = true;
347
- err = err_;
380
+ else {
381
+ try {
382
+ /* We use __VIKE__DYNAMIC_IMPORT instead of directly using import() to workaround what seems to be a Vite HMR bug:
383
+ ```js
384
+ assert(false)
385
+ // 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.
386
+ import('virtual:vike:entry:server')
387
+ ```
388
+ */
389
+ virtualFileExports = await __VIKE__DYNAMIC_IMPORT('virtual:vike:entry:server');
390
+ }
391
+ catch (err_) {
392
+ hasError = true;
393
+ err = err_;
394
+ }
348
395
  }
349
396
  if (isOutdated())
350
397
  return { success: false };
@@ -355,7 +402,7 @@ async function updateUserFiles() {
355
402
  return { success: false };
356
403
  }
357
404
  try {
358
- await setGlobalContext(virtualFileExports);
405
+ await createGlobalContext(virtualFileExports);
359
406
  }
360
407
  catch (err_) {
361
408
  hasError = true;
@@ -367,17 +414,17 @@ async function updateUserFiles() {
367
414
  return onError(err);
368
415
  return onSuccess();
369
416
  }
370
- async function setGlobalContext(virtualFileExports) {
371
- debug('setGlobalContext()');
417
+ async function createGlobalContext(virtualFileExports) {
418
+ debug('createGlobalContext()');
372
419
  assert(!getVikeConfigErrorBuild());
373
- const globalContext = await createGlobalContextShared(virtualFileExports, globalObject, addGlobalContext, addGlobalContextTmp);
420
+ const globalContext = await createGlobalContextShared(virtualFileExports, globalObject, addGlobalContext, addGlobalContextTmp, addGlobalContextAsync);
374
421
  assertV1Design(
375
422
  // pageConfigs is PageConfigRuntime[] but assertV1Design() requires PageConfigBuildTime[]
376
423
  globalContext._pageConfigs.length > 0, globalContext._pageFilesAll);
377
424
  assertGlobalContextIsDefined();
378
425
  onSetupRuntime();
379
- debug('setGlobalContext() - done');
380
- // Never actually used, only used for TypeScript `ReturnType<typeof setGlobalContext>`
426
+ debug('createGlobalContext() - done');
427
+ // Never actually used, only used for TypeScript `ReturnType<typeof createGlobalContext>`
381
428
  return globalContext;
382
429
  }
383
430
  async function addGlobalContextTmp(globalContext) {
@@ -396,23 +443,18 @@ function addGlobalContextCommon(globalContext, pageRoutes, onBeforeRouteHook) {
396
443
  _pageRoutes: pageRoutes,
397
444
  _onBeforeRouteHook: onBeforeRouteHook,
398
445
  };
399
- const { viteDevServer, viteConfig, viteConfigRuntime, isPrerendering, isProduction } = globalObject;
446
+ const { viteDevServer, viteConfig, isPrerendering, isProduction } = globalObject;
400
447
  assert(typeof isProduction === 'boolean');
401
448
  if (!isProduction) {
402
- assert(viteDevServer);
403
449
  assert(globalContext); // main common requirement
404
- assert(viteConfig);
405
- assert(viteConfigRuntime);
406
450
  assert(!isPrerendering);
407
451
  return {
408
452
  ...globalContextBase,
409
- ...resolveBaseRuntime(viteConfigRuntime, globalContext.config),
410
453
  _isProduction: false,
411
454
  _isPrerendering: false,
412
455
  assetsManifest: null,
413
456
  _viteDevServer: viteDevServer,
414
457
  viteConfig,
415
- viteConfigRuntime,
416
458
  };
417
459
  }
418
460
  else {
@@ -423,11 +465,9 @@ function addGlobalContextCommon(globalContext, pageRoutes, onBeforeRouteHook) {
423
465
  assert(assetsManifest);
424
466
  const globalContextBase2 = {
425
467
  ...globalContextBase,
426
- ...resolveBaseRuntime(buildInfo.viteConfigRuntime, globalContext.config),
427
468
  _isProduction: true,
428
469
  assetsManifest,
429
470
  _viteDevServer: null,
430
- viteConfigRuntime: buildInfo.viteConfigRuntime,
431
471
  _usesClientRouter: buildInfo.usesClientRouter,
432
472
  };
433
473
  if (isPrerendering) {
@@ -447,6 +487,27 @@ function addGlobalContextCommon(globalContext, pageRoutes, onBeforeRouteHook) {
447
487
  }
448
488
  }
449
489
  }
490
+ async function addGlobalContextAsync(globalContext) {
491
+ debug('addGlobalContextAsync()');
492
+ let { viteConfigRuntime, buildInfo } = globalObject;
493
+ if (!viteConfigRuntime) {
494
+ if (buildInfo) {
495
+ viteConfigRuntime = buildInfo.viteConfigRuntime;
496
+ }
497
+ else {
498
+ assert(!isProcessSharedWithVite()); // process shared with Vite => globalObject.viteConfigRuntime should be set
499
+ assert(!globalObject.isProduction); // production => globalObject.buildInfo.viteConfigRuntime should be set
500
+ assert(isNonRunnableDev());
501
+ const rpc = getViteRPC();
502
+ viteConfigRuntime = await rpc.getViteConfigRuntimeRPC();
503
+ }
504
+ }
505
+ assert(viteConfigRuntime);
506
+ return {
507
+ viteConfigRuntime,
508
+ ...resolveBaseRuntime(viteConfigRuntime, globalContext.config),
509
+ };
510
+ }
450
511
  function clearGlobalContext() {
451
512
  debug('clearGlobalContext()');
452
513
  objectReplace(globalObject, getInitialGlobalObject(), ['buildEntryPrevious']);
@@ -455,6 +516,7 @@ function getInitialGlobalObject() {
455
516
  debug('getInitialGlobalObject()');
456
517
  const { promise: viteDevServerPromise, resolve: viteDevServerPromiseResolve } = genPromise();
457
518
  return {
519
+ isProduction: isNonRunnableDev() ? false : undefined,
458
520
  viteDevServerPromise,
459
521
  viteDevServerPromiseResolve,
460
522
  };
@@ -465,3 +527,26 @@ function resolveBaseRuntime(viteConfigRuntime, config) {
465
527
  const baseAssetsUnresolved = config.baseAssets ?? null;
466
528
  return resolveBase(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved);
467
529
  }
530
+ function isProcessSharedWithVite() {
531
+ const yes = globalThis.__VIKE__IS_PROCESS_SHARED_WITH_VITE ?? false;
532
+ if (yes)
533
+ assert(!isNonRunnableDev());
534
+ return yes;
535
+ }
536
+ function isRunnable(viteDevServer) {
537
+ const yes =
538
+ // Vite 5
539
+ !viteDevServer.environments ||
540
+ // Vite 6 or above
541
+ isRunnableDevEnvironment(viteDevServer.environments.ssr);
542
+ if (yes)
543
+ assert(!isNonRunnableDev());
544
+ return yes;
545
+ }
546
+ function isNonRunnableDev() {
547
+ if (typeof __VIKE__IS_NON_RUNNABLE_DEV === 'undefined')
548
+ return null;
549
+ const yes = __VIKE__IS_NON_RUNNABLE_DEV;
550
+ assert(typeof yes === 'boolean');
551
+ return yes;
552
+ }
@@ -1,5 +1,5 @@
1
1
  export { getViteDevScript };
2
- import { assert, assertUsage, assertWarning } from '../../utils.js';
2
+ import { assert, assertUsage, assertWarning, getViteRPC } from '../../utils.js';
3
3
  import pc from '@brillout/picocolors';
4
4
  const reachOutCTA = 'Create a new GitHub issue to discuss a solution.';
5
5
  async function getViteDevScript(pageContext) {
@@ -11,7 +11,9 @@ async function getViteDevScript(pageContext) {
11
11
  const fakeHtmlBegin = '<html> <head>'; // White space to test whether user is using a minifier
12
12
  const fakeHtmlEnd = '</head><body></body></html>';
13
13
  let fakeHtml = fakeHtmlBegin + fakeHtmlEnd;
14
- fakeHtml = await viteDevServer.transformIndexHtml('/', fakeHtml);
14
+ fakeHtml = viteDevServer
15
+ ? await viteDevServer.transformIndexHtml('/', fakeHtml)
16
+ : await getViteRPC().transformIndexHtmlRPC(fakeHtml);
15
17
  assertUsage(!fakeHtml.includes('vite-plugin-pwa'), `The HTML transformer of ${pc.cyan('vite-plugin-pwa')} cannot be applied, see workaround at https://github.com/vikejs/vike/issues/388#issuecomment-1199280084`);
16
18
  assertUsage(!fakeHtml.startsWith(fakeHtmlBegin.replace(' ', '')), `Vite plugins that minify the HTML cannot be applied, see https://github.com/vikejs/vike/issues/224`);
17
19
  assertUsage(fakeHtml.startsWith(fakeHtmlBegin) && fakeHtml.endsWith(fakeHtmlEnd), `You are using a Vite Plugin that transforms the HTML in a way that conflicts with Vike. ${reachOutCTA}`);
@@ -41,24 +41,12 @@ declare function createPageContextServerSide(pageContextInit: PageContextInit, g
41
41
  pages: {
42
42
  [k: string]: import("../../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
43
43
  };
44
- } & ({
44
+ } & (({
45
45
  _isProduction: false;
46
46
  _isPrerendering: false;
47
47
  assetsManifest: null;
48
- _viteDevServer: import("vite").ViteDevServer;
49
- viteConfig: import("vite").ResolvedConfig;
50
- viteConfigRuntime: {
51
- root: string;
52
- build: {
53
- outDir: string;
54
- };
55
- _baseViteOriginal: string;
56
- vitePluginServerEntry: {
57
- inject: boolean | undefined;
58
- };
59
- };
60
- baseServer: string;
61
- baseAssets: string;
48
+ _viteDevServer: import("vite").ViteDevServer | undefined;
49
+ viteConfig: import("vite").ResolvedConfig | undefined;
62
50
  isClientSide: false;
63
51
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
64
52
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
@@ -68,19 +56,7 @@ declare function createPageContextServerSide(pageContextInit: PageContextInit, g
68
56
  _isProduction: true;
69
57
  assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
70
58
  _viteDevServer: null;
71
- viteConfigRuntime: {
72
- root: string;
73
- build: {
74
- outDir: string;
75
- };
76
- _baseViteOriginal: string;
77
- vitePluginServerEntry: {
78
- inject: boolean | undefined;
79
- };
80
- };
81
59
  _usesClientRouter: boolean;
82
- baseServer: string;
83
- baseAssets: string;
84
60
  isClientSide: false;
85
61
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
86
62
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
@@ -90,6 +66,13 @@ declare function createPageContextServerSide(pageContextInit: PageContextInit, g
90
66
  _isProduction: true;
91
67
  assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
92
68
  _viteDevServer: null;
69
+ _usesClientRouter: boolean;
70
+ isClientSide: false;
71
+ _pageRoutes: import("../../../__internal/index.js").PageRoutes;
72
+ _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
73
+ }) & {
74
+ baseServer: string;
75
+ baseAssets: string;
93
76
  viteConfigRuntime: {
94
77
  root: string;
95
78
  build: {
@@ -100,12 +83,6 @@ declare function createPageContextServerSide(pageContextInit: PageContextInit, g
100
83
  inject: boolean | undefined;
101
84
  };
102
85
  };
103
- _usesClientRouter: boolean;
104
- baseServer: string;
105
- baseAssets: string;
106
- isClientSide: false;
107
- _pageRoutes: import("../../../__internal/index.js").PageRoutes;
108
- _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
109
86
  });
110
87
  _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
111
88
  _baseServer: string;
@@ -1,7 +1,7 @@
1
1
  export { getPageAssets };
2
2
  export { setResolveClientEntriesDev };
3
3
  export { resolveIncludeAssetsImportedByServer };
4
- import { assert, prependBase, toPosixPath, unique, getGlobalObject } from '../utils.js';
4
+ import { assert, prependBase, toPosixPath, unique, getGlobalObject, getViteRPC } from '../utils.js';
5
5
  import { retrieveAssetsDev } from './getPageAssets/retrieveAssetsDev.js';
6
6
  import { retrieveAssetsProd } from './getPageAssets/retrieveAssetsProd.js';
7
7
  import { inferMediaType } from './inferMediaType.js';
@@ -15,7 +15,9 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
15
15
  const { _isProduction: isProduction } = globalContext;
16
16
  const isDev = !isProduction;
17
17
  const { assetUrls, clientEntriesSrc } = isDev
18
- ? await retrievePageAssetsDev(globalContext._viteDevServer, clientDependencies, clientEntries)
18
+ ? !globalContext._viteDevServer
19
+ ? await getViteRPC().retrievePageAssetsDevRPC(clientDependencies, clientEntries)
20
+ : await retrievePageAssetsDev(globalContext._viteDevServer, clientDependencies, clientEntries)
19
21
  : retrievePageAssetsProd(globalContext.assetsManifest, clientDependencies, clientEntries, resolveIncludeAssetsImportedByServer(globalContext.config));
20
22
  let pageAssets = [];
21
23
  unique([...clientEntriesSrc, ...assetUrls]).forEach((src) => {
@@ -56,24 +56,12 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
56
56
  pages: {
57
57
  [k: string]: import("../../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
58
58
  };
59
- } & ({
59
+ } & (({
60
60
  _isProduction: false;
61
61
  _isPrerendering: false;
62
62
  assetsManifest: null;
63
- _viteDevServer: import("vite").ViteDevServer;
64
- viteConfig: import("vite").ResolvedConfig;
65
- viteConfigRuntime: {
66
- root: string;
67
- build: {
68
- outDir: string;
69
- };
70
- _baseViteOriginal: string;
71
- vitePluginServerEntry: {
72
- inject: boolean | undefined;
73
- };
74
- };
75
- baseServer: string;
76
- baseAssets: string;
63
+ _viteDevServer: import("vite").ViteDevServer | undefined;
64
+ viteConfig: import("vite").ResolvedConfig | undefined;
77
65
  isClientSide: false;
78
66
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
79
67
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
@@ -83,19 +71,7 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
83
71
  _isProduction: true;
84
72
  assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
85
73
  _viteDevServer: null;
86
- viteConfigRuntime: {
87
- root: string;
88
- build: {
89
- outDir: string;
90
- };
91
- _baseViteOriginal: string;
92
- vitePluginServerEntry: {
93
- inject: boolean | undefined;
94
- };
95
- };
96
74
  _usesClientRouter: boolean;
97
- baseServer: string;
98
- baseAssets: string;
99
75
  isClientSide: false;
100
76
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
101
77
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
@@ -105,6 +81,13 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
105
81
  _isProduction: true;
106
82
  assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
107
83
  _viteDevServer: null;
84
+ _usesClientRouter: boolean;
85
+ isClientSide: false;
86
+ _pageRoutes: import("../../../__internal/index.js").PageRoutes;
87
+ _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
88
+ }) & {
89
+ baseServer: string;
90
+ baseAssets: string;
108
91
  viteConfigRuntime: {
109
92
  root: string;
110
93
  build: {
@@ -115,12 +98,6 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
115
98
  inject: boolean | undefined;
116
99
  };
117
100
  };
118
- _usesClientRouter: boolean;
119
- baseServer: string;
120
- baseAssets: string;
121
- isClientSide: false;
122
- _pageRoutes: import("../../../__internal/index.js").PageRoutes;
123
- _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
124
101
  });
125
102
  _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
126
103
  _baseServer: string;
@@ -191,24 +168,12 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
191
168
  pages: {
192
169
  [k: string]: import("../../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
193
170
  };
194
- } & ({
171
+ } & (({
195
172
  _isProduction: false;
196
173
  _isPrerendering: false;
197
174
  assetsManifest: null;
198
- _viteDevServer: import("vite").ViteDevServer;
199
- viteConfig: import("vite").ResolvedConfig;
200
- viteConfigRuntime: {
201
- root: string;
202
- build: {
203
- outDir: string;
204
- };
205
- _baseViteOriginal: string;
206
- vitePluginServerEntry: {
207
- inject: boolean | undefined;
208
- };
209
- };
210
- baseServer: string;
211
- baseAssets: string;
175
+ _viteDevServer: import("vite").ViteDevServer | undefined;
176
+ viteConfig: import("vite").ResolvedConfig | undefined;
212
177
  isClientSide: false;
213
178
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
214
179
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
@@ -218,19 +183,7 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
218
183
  _isProduction: true;
219
184
  assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
220
185
  _viteDevServer: null;
221
- viteConfigRuntime: {
222
- root: string;
223
- build: {
224
- outDir: string;
225
- };
226
- _baseViteOriginal: string;
227
- vitePluginServerEntry: {
228
- inject: boolean | undefined;
229
- };
230
- };
231
186
  _usesClientRouter: boolean;
232
- baseServer: string;
233
- baseAssets: string;
234
187
  isClientSide: false;
235
188
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
236
189
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
@@ -240,6 +193,13 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
240
193
  _isProduction: true;
241
194
  assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
242
195
  _viteDevServer: null;
196
+ _usesClientRouter: boolean;
197
+ isClientSide: false;
198
+ _pageRoutes: import("../../../__internal/index.js").PageRoutes;
199
+ _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
200
+ }) & {
201
+ baseServer: string;
202
+ baseAssets: string;
243
203
  viteConfigRuntime: {
244
204
  root: string;
245
205
  build: {
@@ -250,12 +210,6 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
250
210
  inject: boolean | undefined;
251
211
  };
252
212
  };
253
- _usesClientRouter: boolean;
254
- baseServer: string;
255
- baseAssets: string;
256
- isClientSide: false;
257
- _pageRoutes: import("../../../__internal/index.js").PageRoutes;
258
- _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
259
213
  });
260
214
  _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
261
215
  _baseServer: string;
@@ -46,24 +46,12 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
46
46
  pages: {
47
47
  [k: string]: import("../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
48
48
  };
49
- } & ({
49
+ } & (({
50
50
  _isProduction: false;
51
51
  _isPrerendering: false;
52
52
  assetsManifest: null;
53
- _viteDevServer: import("vite").ViteDevServer;
54
- viteConfig: import("vite").ResolvedConfig;
55
- viteConfigRuntime: {
56
- root: string;
57
- build: {
58
- outDir: string;
59
- };
60
- _baseViteOriginal: string;
61
- vitePluginServerEntry: {
62
- inject: boolean | undefined;
63
- };
64
- };
65
- baseServer: string;
66
- baseAssets: string;
53
+ _viteDevServer: import("vite").ViteDevServer | undefined;
54
+ viteConfig: import("vite").ResolvedConfig | undefined;
67
55
  isClientSide: false;
68
56
  _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
69
57
  _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
@@ -73,19 +61,7 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
73
61
  _isProduction: true;
74
62
  assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
75
63
  _viteDevServer: null;
76
- viteConfigRuntime: {
77
- root: string;
78
- build: {
79
- outDir: string;
80
- };
81
- _baseViteOriginal: string;
82
- vitePluginServerEntry: {
83
- inject: boolean | undefined;
84
- };
85
- };
86
64
  _usesClientRouter: boolean;
87
- baseServer: string;
88
- baseAssets: string;
89
65
  isClientSide: false;
90
66
  _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
91
67
  _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
@@ -95,6 +71,13 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
95
71
  _isProduction: true;
96
72
  assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
97
73
  _viteDevServer: null;
74
+ _usesClientRouter: boolean;
75
+ isClientSide: false;
76
+ _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
77
+ _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
78
+ }) & {
79
+ baseServer: string;
80
+ baseAssets: string;
98
81
  viteConfigRuntime: {
99
82
  root: string;
100
83
  build: {
@@ -105,12 +88,6 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
105
88
  inject: boolean | undefined;
106
89
  };
107
90
  };
108
- _usesClientRouter: boolean;
109
- baseServer: string;
110
- baseAssets: string;
111
- isClientSide: false;
112
- _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
113
- _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
114
91
  });
115
92
  _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
116
93
  _baseServer: string;
@@ -57,3 +57,6 @@ export * from '../../utils/PROJECT_VERSION.js';
57
57
  export * from '../../utils/genPromise.js';
58
58
  export * from '../../utils/augmentType.js';
59
59
  export * from '../../utils/changeEnumerable.js';
60
+ export * from '../../utils/getViteRPC.js';
61
+ export * from '../../utils/isRunnableDevEnvironment.js';
62
+ export * from '../../utils/assertIsNotBrowser.js';
@@ -61,3 +61,6 @@ export * from '../../utils/PROJECT_VERSION.js';
61
61
  export * from '../../utils/genPromise.js';
62
62
  export * from '../../utils/augmentType.js';
63
63
  export * from '../../utils/changeEnumerable.js';
64
+ export * from '../../utils/getViteRPC.js';
65
+ export * from '../../utils/isRunnableDevEnvironment.js';
66
+ export * from '../../utils/assertIsNotBrowser.js';
@@ -22,6 +22,7 @@ import { resolveClientEntriesDev } from './shared/resolveClientEntriesDev.js';
22
22
  import { pluginWorkaroundCssModuleHmr } from './plugins/pluginWorkaroundCssModuleHmr.js';
23
23
  import { pluginWorkaroundVite6HmrRegression } from './plugins/pluginWorkaroundVite6HmrRegression.js';
24
24
  import { pluginReplaceConstants } from './plugins/pluginReplaceConstants.js';
25
+ import { pluginNonRunnableDev } from './plugins/pluginNonRunnableDev.js';
25
26
  // We don't call this in ./onLoad.ts to avoid a cyclic dependency with utils.ts
26
27
  setResolveClientEntriesDev(resolveClientEntriesDev);
27
28
  // Return `PluginInterop` instead of `Plugin` to avoid type mismatch upon different Vite versions
@@ -41,6 +42,7 @@ function plugin(vikeVitePluginOptions = {}) {
41
42
  pluginWorkaroundCssModuleHmr(),
42
43
  pluginWorkaroundVite6HmrRegression(),
43
44
  pluginReplaceConstants(),
45
+ pluginNonRunnableDev(),
44
46
  ];
45
47
  Object.assign(plugins, { _vikeVitePluginOptions: vikeVitePluginOptions });
46
48
  return plugins;
@@ -11,7 +11,7 @@ declare function handleAssetsManifest_assertUsageCssTarget(config: ResolvedConfi
11
11
  declare function handleAssetsManifest_getBuildConfig(config: UserConfig): Promise<{
12
12
  readonly ssrEmitAssets: true | undefined;
13
13
  readonly cssMinify: "esbuild" | undefined;
14
- readonly manifest: "_temp_manifest.json";
14
+ readonly manifest: true;
15
15
  readonly copyPublicDir: boolean | undefined;
16
16
  }>;
17
17
  declare function handleAssetsManifest(config: ResolvedConfig, viteEnv: Environment | undefined, options: {