vike 0.4.236-commit-64431e7 → 0.4.236-commit-08fbc10

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 (92) hide show
  1. package/dist/cjs/client/shared/createGetGlobalContextClient.js +1 -1
  2. package/dist/cjs/node/runtime/globalContext.js +17 -79
  3. package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +1 -8
  4. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +4 -0
  5. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +1 -3
  6. package/dist/cjs/node/runtime/utils.js +1 -1
  7. package/dist/cjs/node/shared/utils.js +1 -0
  8. package/dist/cjs/node/shared/virtualFiles/virtualFileEntry.js +16 -14
  9. package/dist/cjs/node/shared/virtualFiles/virtualFilePageConfigLazy.js +10 -4
  10. package/dist/cjs/node/vite/index.js +0 -2
  11. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +28 -13
  12. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +1 -2
  13. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +12 -9
  14. package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +2 -2
  15. package/dist/cjs/node/vite/plugins/pluginCommon.js +0 -1
  16. package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +100 -58
  17. package/dist/cjs/node/vite/plugins/pluginEnvVars.js +3 -3
  18. package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +3 -4
  19. package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +2 -2
  20. package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +1 -1
  21. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.js +1 -0
  22. package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +4 -5
  23. package/dist/cjs/node/vite/shared/applyRegExWithMagicString.js +0 -1
  24. package/dist/cjs/node/vite/utils.js +1 -0
  25. package/dist/cjs/shared/createGlobalContextShared.js +1 -5
  26. package/dist/cjs/shared/getPageFiles/parseVirtualFileExports.js +6 -0
  27. package/dist/cjs/shared/getProxyForPublicUsage.js +2 -2
  28. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  29. package/dist/cjs/utils/assertSetup.js +0 -3
  30. package/dist/cjs/utils/debug.js +0 -1
  31. package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +1 -0
  32. package/dist/cjs/utils/virtualFileId.js +39 -0
  33. package/dist/esm/client/runtime-client-routing/createPageContextClientSide.d.ts +1 -1
  34. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +2 -2
  35. package/dist/esm/client/runtime-client-routing/globalContext.d.ts +1 -1
  36. package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +1 -1
  37. package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +43 -30
  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/node/prerender/runPrerender.d.ts +132 -40
  42. package/dist/esm/node/runtime/globalContext.d.ts +52 -32
  43. package/dist/esm/node/runtime/globalContext.js +18 -80
  44. package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +1 -8
  45. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +33 -10
  46. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +4 -0
  47. package/dist/esm/node/runtime/renderPage/getPageAssets.js +2 -4
  48. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +66 -20
  49. package/dist/esm/node/runtime/renderPage.d.ts +33 -10
  50. package/dist/esm/node/runtime/utils.d.ts +1 -1
  51. package/dist/esm/node/runtime/utils.js +1 -1
  52. package/dist/esm/node/shared/utils.d.ts +1 -0
  53. package/dist/esm/node/shared/utils.js +1 -0
  54. package/dist/esm/node/shared/virtualFiles/virtualFileEntry.js +16 -14
  55. package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.js +11 -5
  56. package/dist/esm/node/vite/index.js +0 -2
  57. package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.d.ts +1 -1
  58. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildApp.js +28 -13
  59. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.d.ts +1 -1
  60. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +1 -2
  61. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +12 -9
  62. package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +2 -2
  63. package/dist/esm/node/vite/plugins/pluginCommon.d.ts +0 -3
  64. package/dist/esm/node/vite/plugins/pluginCommon.js +0 -1
  65. package/dist/esm/node/vite/plugins/pluginDev/determineOptimizeDeps.js +101 -59
  66. package/dist/esm/node/vite/plugins/pluginExtractAssets.js +3 -4
  67. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.js +1 -0
  68. package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +3 -4
  69. package/dist/esm/node/vite/shared/applyRegExWithMagicString.js +0 -1
  70. package/dist/esm/node/vite/utils.d.ts +1 -0
  71. package/dist/esm/node/vite/utils.js +1 -0
  72. package/dist/esm/shared/createGlobalContextShared.d.ts +3 -3
  73. package/dist/esm/shared/createGlobalContextShared.js +1 -5
  74. package/dist/esm/shared/getPageFiles/parseVirtualFileExports.js +6 -0
  75. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  76. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  77. package/dist/esm/utils/assertSetup.js +0 -3
  78. package/dist/esm/utils/debug.d.ts +1 -1
  79. package/dist/esm/utils/debug.js +0 -1
  80. package/dist/esm/utils/isFilePathAbsoluteFilesystem.d.ts +7 -0
  81. package/dist/esm/utils/isFilePathAbsoluteFilesystem.js +1 -0
  82. package/dist/esm/utils/virtualFileId.d.ts +6 -0
  83. package/dist/esm/{node/shared/virtualFiles.js → utils/virtualFileId.js} +15 -17
  84. package/package.json +3 -12
  85. package/dist/cjs/node/shared/virtualFiles.js +0 -41
  86. package/dist/cjs/node/vite/plugins/pluginViteRPC.js +0 -42
  87. package/dist/cjs/utils/getViteRPC.js +0 -79
  88. package/dist/esm/node/shared/virtualFiles.d.ts +0 -8
  89. package/dist/esm/node/vite/plugins/pluginViteRPC.d.ts +0 -25
  90. package/dist/esm/node/vite/plugins/pluginViteRPC.js +0 -40
  91. package/dist/esm/utils/getViteRPC.d.ts +0 -6
  92. package/dist/esm/utils/getViteRPC.js +0 -77
@@ -41,12 +41,24 @@ 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 | undefined;
49
- viteConfig: import("vite").ResolvedConfig | undefined;
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;
50
62
  isClientSide: false;
51
63
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
52
64
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
@@ -56,7 +68,19 @@ declare function createPageContextServerSide(pageContextInit: PageContextInit, g
56
68
  _isProduction: true;
57
69
  assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
58
70
  _viteDevServer: null;
71
+ viteConfigRuntime: {
72
+ root: string;
73
+ build: {
74
+ outDir: string;
75
+ };
76
+ _baseViteOriginal: string;
77
+ vitePluginServerEntry: {
78
+ inject: boolean | undefined;
79
+ };
80
+ };
59
81
  _usesClientRouter: boolean;
82
+ baseServer: string;
83
+ baseAssets: string;
60
84
  isClientSide: false;
61
85
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
62
86
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
@@ -66,13 +90,6 @@ declare function createPageContextServerSide(pageContextInit: PageContextInit, g
66
90
  _isProduction: true;
67
91
  assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
68
92
  _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;
76
93
  viteConfigRuntime: {
77
94
  root: string;
78
95
  build: {
@@ -83,6 +100,12 @@ declare function createPageContextServerSide(pageContextInit: PageContextInit, g
83
100
  inject: boolean | undefined;
84
101
  };
85
102
  };
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;
86
109
  });
87
110
  _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
88
111
  _baseServer: string;
@@ -1,11 +1,13 @@
1
1
  export { retrieveAssetsDev };
2
2
  import { assert, styleFileRE } from '../../utils.js';
3
+ import { isVirtualFileIdEntry } from '../../../shared/virtualFiles/virtualFileEntry.js';
3
4
  async function retrieveAssetsDev(clientDependencies, viteDevServer) {
4
5
  const assetUrls = new Set();
5
6
  await Promise.all(clientDependencies.map(async ({ id }) => {
6
7
  if (id.startsWith('@@vike'))
7
8
  return; // vike doesn't have any CSS
8
9
  assert(id);
10
+ assert(!isVirtualFileIdEntry(id));
9
11
  const { moduleGraph } = viteDevServer;
10
12
  const [_, graphId] = await moduleGraph.resolveUrl(id);
11
13
  assert(graphId, { id });
@@ -32,6 +34,8 @@ function collectCss(mod, styleUrls, visitedModules, importer) {
32
34
  if (visitedModules.has(mod.url))
33
35
  return;
34
36
  visitedModules.add(mod.url);
37
+ if (isVirtualFileIdEntry(mod.id || mod.url))
38
+ return; // virtual:vike:entry:server dependency list includes all pages
35
39
  if (isStyle(mod) && (!importer || !isStyle(importer))) {
36
40
  if (mod.url.startsWith('/')) {
37
41
  styleUrls.add(mod.url);
@@ -1,7 +1,7 @@
1
1
  export { getPageAssets };
2
2
  export { setResolveClientEntriesDev };
3
3
  export { resolveIncludeAssetsImportedByServer };
4
- import { assert, prependBase, toPosixPath, unique, getGlobalObject, getViteRPC } from '../utils.js';
4
+ import { assert, prependBase, toPosixPath, unique, getGlobalObject } 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,9 +15,7 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
15
15
  const { _isProduction: isProduction } = globalContext;
16
16
  const isDev = !isProduction;
17
17
  const { assetUrls, clientEntriesSrc } = isDev
18
- ? !globalContext._viteDevServer
19
- ? await getViteRPC().retrievePageAssetsDevRPC(clientDependencies, clientEntries)
20
- : await retrievePageAssetsDev(globalContext._viteDevServer, clientDependencies, clientEntries)
18
+ ? await retrievePageAssetsDev(globalContext._viteDevServer, clientDependencies, clientEntries)
21
19
  : retrievePageAssetsProd(globalContext.assetsManifest, clientDependencies, clientEntries, resolveIncludeAssetsImportedByServer(globalContext.config));
22
20
  let pageAssets = [];
23
21
  unique([...clientEntriesSrc, ...assetUrls]).forEach((src) => {
@@ -56,12 +56,24 @@ 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 | undefined;
64
- viteConfig: import("vite").ResolvedConfig | undefined;
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;
65
77
  isClientSide: false;
66
78
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
67
79
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
@@ -71,7 +83,19 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
71
83
  _isProduction: true;
72
84
  assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
73
85
  _viteDevServer: null;
86
+ viteConfigRuntime: {
87
+ root: string;
88
+ build: {
89
+ outDir: string;
90
+ };
91
+ _baseViteOriginal: string;
92
+ vitePluginServerEntry: {
93
+ inject: boolean | undefined;
94
+ };
95
+ };
74
96
  _usesClientRouter: boolean;
97
+ baseServer: string;
98
+ baseAssets: string;
75
99
  isClientSide: false;
76
100
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
77
101
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
@@ -81,13 +105,6 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
81
105
  _isProduction: true;
82
106
  assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
83
107
  _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;
91
108
  viteConfigRuntime: {
92
109
  root: string;
93
110
  build: {
@@ -98,6 +115,12 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
98
115
  inject: boolean | undefined;
99
116
  };
100
117
  };
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;
101
124
  });
102
125
  _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
103
126
  _baseServer: string;
@@ -168,12 +191,24 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
168
191
  pages: {
169
192
  [k: string]: import("../../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
170
193
  };
171
- } & (({
194
+ } & ({
172
195
  _isProduction: false;
173
196
  _isPrerendering: false;
174
197
  assetsManifest: null;
175
- _viteDevServer: import("vite").ViteDevServer | undefined;
176
- viteConfig: import("vite").ResolvedConfig | undefined;
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;
177
212
  isClientSide: false;
178
213
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
179
214
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
@@ -183,7 +218,19 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
183
218
  _isProduction: true;
184
219
  assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
185
220
  _viteDevServer: null;
221
+ viteConfigRuntime: {
222
+ root: string;
223
+ build: {
224
+ outDir: string;
225
+ };
226
+ _baseViteOriginal: string;
227
+ vitePluginServerEntry: {
228
+ inject: boolean | undefined;
229
+ };
230
+ };
186
231
  _usesClientRouter: boolean;
232
+ baseServer: string;
233
+ baseAssets: string;
187
234
  isClientSide: false;
188
235
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
189
236
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
@@ -193,13 +240,6 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
193
240
  _isProduction: true;
194
241
  assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
195
242
  _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;
203
243
  viteConfigRuntime: {
204
244
  root: string;
205
245
  build: {
@@ -210,6 +250,12 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
210
250
  inject: boolean | undefined;
211
251
  };
212
252
  };
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;
213
259
  });
214
260
  _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
215
261
  _baseServer: string;
@@ -46,12 +46,24 @@ 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 | undefined;
54
- viteConfig: import("vite").ResolvedConfig | undefined;
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;
55
67
  isClientSide: false;
56
68
  _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
57
69
  _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
@@ -61,7 +73,19 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
61
73
  _isProduction: true;
62
74
  assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
63
75
  _viteDevServer: null;
76
+ viteConfigRuntime: {
77
+ root: string;
78
+ build: {
79
+ outDir: string;
80
+ };
81
+ _baseViteOriginal: string;
82
+ vitePluginServerEntry: {
83
+ inject: boolean | undefined;
84
+ };
85
+ };
64
86
  _usesClientRouter: boolean;
87
+ baseServer: string;
88
+ baseAssets: string;
65
89
  isClientSide: false;
66
90
  _pageRoutes: import("../../shared/route/loadPageRoutes.js").PageRoutes;
67
91
  _onBeforeRouteHook: import("../../shared/hooks/getHook.js").Hook | null;
@@ -71,13 +95,6 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
71
95
  _isProduction: true;
72
96
  assetsManifest: import("../../types/ViteManifest.js").ViteManifest;
73
97
  _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;
81
98
  viteConfigRuntime: {
82
99
  root: string;
83
100
  build: {
@@ -88,6 +105,12 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
88
105
  inject: boolean | undefined;
89
106
  };
90
107
  };
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;
91
114
  });
92
115
  _pageFilesAll: import("../../shared/getPageFiles.js").PageFile[];
93
116
  _baseServer: string;
@@ -42,6 +42,7 @@ export * from '../../utils/assertSetup.js';
42
42
  export * from '../../utils/path.js';
43
43
  export * from '../../utils/isHtml.js';
44
44
  export * from '../../utils/warnIfErrorIsNotObject.js';
45
+ export * from '../../utils/virtualFileId.js';
45
46
  export * from '../../utils/stripAnsi.js';
46
47
  export * from '../../utils/getTerminWidth.js';
47
48
  export * from '../../utils/truncateString.js';
@@ -56,4 +57,3 @@ export * from '../../utils/PROJECT_VERSION.js';
56
57
  export * from '../../utils/genPromise.js';
57
58
  export * from '../../utils/augmentType.js';
58
59
  export * from '../../utils/changeEnumerable.js';
59
- export * from '../../utils/getViteRPC.js';
@@ -46,6 +46,7 @@ export * from '../../utils/assertSetup.js';
46
46
  export * from '../../utils/path.js';
47
47
  export * from '../../utils/isHtml.js';
48
48
  export * from '../../utils/warnIfErrorIsNotObject.js';
49
+ export * from '../../utils/virtualFileId.js';
49
50
  export * from '../../utils/stripAnsi.js';
50
51
  export * from '../../utils/getTerminWidth.js';
51
52
  export * from '../../utils/truncateString.js';
@@ -60,4 +61,3 @@ export * from '../../utils/PROJECT_VERSION.js';
60
61
  export * from '../../utils/genPromise.js';
61
62
  export * from '../../utils/augmentType.js';
62
63
  export * from '../../utils/changeEnumerable.js';
63
- export * from '../../utils/getViteRPC.js';
@@ -14,3 +14,4 @@ export * from '../../utils/assertIsNotBrowser.js';
14
14
  export * from '../../utils/isNullish.js';
15
15
  export * from '../../utils/unique.js';
16
16
  export * from '../../utils/debug.js';
17
+ export * from '../../utils/virtualFileId.js';
@@ -16,3 +16,4 @@ export * from '../../utils/assertIsNotBrowser.js';
16
16
  export * from '../../utils/isNullish.js';
17
17
  export * from '../../utils/unique.js';
18
18
  export * from '../../utils/debug.js';
19
+ export * from '../../utils/virtualFileId.js';
@@ -2,24 +2,26 @@ export { virtualFileIdEntryServer };
2
2
  export { virtualFileIdEntryClientSR };
3
3
  export { virtualFileIdEntryClientCR };
4
4
  export { isVirtualFileIdEntry };
5
- import { assert } from '../utils.js';
6
- import { getVirtualFileId } from '../virtualFiles.js';
5
+ // TODO/now: merge virtualFileEntry.ts and virtualFilePageConfigLazy.ts
6
+ // - One function parseVirtualFileIdEntry() to rule them all?
7
+ import { assert, assertIsNotBrowser, removeVirtualFileIdPrefix } from '../utils.js';
8
+ assertIsNotBrowser();
9
+ // TODO/now: rename:
10
+ // ```diff
11
+ // - virtual:vike:entry:server
12
+ // + virtual:vike:entry:global:server
13
+ // ```
14
+ const virtualFileIdEntryServer = 'virtual:vike:entry:server';
15
+ const virtualFileIdEntryClientSR = 'virtual:vike:entry:client:server-routing';
16
+ const virtualFileIdEntryClientCR = 'virtual:vike:entry:client:client-routing';
17
+ const virtualFileIdEntries = [virtualFileIdEntryServer, virtualFileIdEntryClientCR, virtualFileIdEntryClientSR];
7
18
  const idBase = 'virtual:vike:entry';
8
- const virtualFileIdEntryServer = `${idBase}:server`;
9
- const virtualFileIdEntryClientSR = `${idBase}:client:server-routing`;
10
- const virtualFileIdEntryClientCR = `${idBase}:client:client-routing`;
19
+ assert(virtualFileIdEntries.every((v) => v.startsWith(`${idBase}:`)));
11
20
  function isVirtualFileIdEntry(id) {
12
- id = getVirtualFileId(id);
21
+ id = removeVirtualFileIdPrefix(id);
13
22
  if (!id.startsWith(idBase))
14
23
  return false;
15
- assert(
16
- // prettier-ignore
17
- // biome-ignore format:
18
- [
19
- virtualFileIdEntryServer,
20
- virtualFileIdEntryClientCR,
21
- virtualFileIdEntryClientSR
22
- ].includes(id));
24
+ assert(virtualFileIdEntries.includes(id));
23
25
  const isForClientSide = id !== virtualFileIdEntryServer;
24
26
  const isClientRouting = id === virtualFileIdEntryClientCR;
25
27
  return { isForClientSide, isClientRouting };
@@ -1,17 +1,23 @@
1
1
  export { isVirtualFileIdPageConfigLazy };
2
2
  export { getVirtualFileIdPageConfigLazy };
3
3
  import { extractAssetsRemoveQuery } from '../extractAssetsQuery.js';
4
- import { assert } from '../utils.js';
5
- import { getVirtualFileId } from '../virtualFiles.js';
4
+ import { assert, assertIsNotBrowser, removeVirtualFileIdPrefix } from '../utils.js';
5
+ assertIsNotBrowser();
6
+ // TODO/now: rename:
7
+ // ```diff
8
+ // - virtual:vike:pageConfigLazy:server:
9
+ // + virtual:vike:entry:page:server:
10
+ // ```
11
+ const idBaseClient = 'virtual:vike:pageConfigLazy:client:';
12
+ const idBaseServer = 'virtual:vike:pageConfigLazy:server:';
6
13
  const idBase = 'virtual:vike:pageConfigLazy:';
7
- const idBaseClient = `${idBase}client:`;
8
- const idBaseServer = `${idBase}server:`;
14
+ // TODO/now: rename to generateVirtualFileIdEntry()
9
15
  function getVirtualFileIdPageConfigLazy(pageId, isForClientSide) {
10
16
  const id = `${isForClientSide ? idBaseClient : idBaseServer}${pageId}`;
11
17
  return id;
12
18
  }
13
19
  function isVirtualFileIdPageConfigLazy(id) {
14
- id = getVirtualFileId(id);
20
+ id = removeVirtualFileIdPrefix(id);
15
21
  if (!id.includes(idBase))
16
22
  return false;
17
23
  assert(id.startsWith(idBase));
@@ -22,7 +22,6 @@ 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 { pluginViteRPC } from './plugins/pluginViteRPC.js';
26
25
  // We don't call this in ./onLoad.ts to avoid a cyclic dependency with utils.ts
27
26
  setResolveClientEntriesDev(resolveClientEntriesDev);
28
27
  // Return `PluginInterop` instead of `Plugin` to avoid type mismatch upon different Vite versions
@@ -42,7 +41,6 @@ function plugin(vikeVitePluginOptions = {}) {
42
41
  pluginWorkaroundCssModuleHmr(),
43
42
  pluginWorkaroundVite6HmrRegression(),
44
43
  pluginReplaceConstants(),
45
- pluginViteRPC(),
46
44
  ];
47
45
  Object.assign(plugins, { _vikeVitePluginOptions: vikeVitePluginOptions });
48
46
  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: ".vite/manifest.json";
14
+ readonly manifest: "_temp_manifest.json";
15
15
  readonly copyPublicDir: boolean | undefined;
16
16
  }>;
17
17
  declare function handleAssetsManifest(config: ResolvedConfig, viteEnv: Environment | undefined, options: {
@@ -6,6 +6,34 @@ import { isPrerenderForceExit } from './pluginAutoFullBuild.js';
6
6
  import { getVikeConfigInternal } from '../../shared/resolveVikeConfigInternal.js';
7
7
  function pluginBuildApp() {
8
8
  return [
9
+ {
10
+ name: 'vike:build:pluginBuildApp:pre',
11
+ apply: 'build',
12
+ enforce: 'pre',
13
+ config: {
14
+ order: 'pre',
15
+ async handler(_config) {
16
+ const vikeConfig = await getVikeConfigInternal();
17
+ if (!vikeConfig.config.vite6BuilderApp)
18
+ return;
19
+ return {
20
+ builder: {
21
+ // Can be overridden by another plugin e.g vike-vercel https://github.com/vikejs/vike/pull/2184#issuecomment-2659425195
22
+ async buildApp(builder) {
23
+ assert(builder.environments.client);
24
+ assert(builder.environments.ssr);
25
+ await builder.build(builder.environments.client);
26
+ await builder.build(builder.environments.ssr);
27
+ if (isPrerenderForceExit()) {
28
+ runPrerender_forceExit();
29
+ assert(false);
30
+ }
31
+ },
32
+ },
33
+ };
34
+ },
35
+ },
36
+ },
9
37
  {
10
38
  name: 'vike:build:pluginBuildApp',
11
39
  apply: 'build',
@@ -14,19 +42,6 @@ function pluginBuildApp() {
14
42
  if (!vikeConfig.config.vite6BuilderApp)
15
43
  return;
16
44
  return {
17
- builder: {
18
- // Can be overridden by another plugin e.g vike-vercel https://github.com/vikejs/vike/pull/2184#issuecomment-2659425195
19
- async buildApp(builder) {
20
- assert(builder.environments.client);
21
- assert(builder.environments.ssr);
22
- await builder.build(builder.environments.client);
23
- await builder.build(builder.environments.ssr);
24
- if (isPrerenderForceExit()) {
25
- runPrerender_forceExit();
26
- assert(false);
27
- }
28
- },
29
- },
30
45
  environments: {
31
46
  ssr: {
32
47
  consumer: 'server',
@@ -4,7 +4,7 @@ export { analyzeClientEntries };
4
4
  export { manifestTempFile };
5
5
  import type { ResolvedConfig, Plugin } from 'vite';
6
6
  import type { PageConfigBuildTime } from '../../../../types/PageConfig.js';
7
- declare const manifestTempFile = ".vite/manifest.json";
7
+ declare const manifestTempFile = "_temp_manifest.json";
8
8
  declare function pluginBuildConfig(): Plugin[];
9
9
  declare function analyzeClientEntries(pageConfigs: PageConfigBuildTime[], config: ResolvedConfig): {
10
10
  hasClientRouting: boolean;
@@ -14,8 +14,7 @@ import { isViteServerBuild } from '../../shared/isViteServerBuild.js';
14
14
  import { resolveOutDir } from '../../shared/getOutDirs.js';
15
15
  import { handleAssetsManifest_assertUsageCssCodeSplit, handleAssetsManifest_getBuildConfig, } from './handleAssetsManifest.js';
16
16
  import { resolveIncludeAssetsImportedByServer } from '../../../runtime/renderPage/getPageAssets.js';
17
- // TODO/now: stop setting `manifest` altogether and use the resolved value instead? So that other tools can easily read the manifest (e.g. @cloudflare/plugin-vite reads the manifest).
18
- const manifestTempFile = '.vite/manifest.json';
17
+ const manifestTempFile = '_temp_manifest.json';
19
18
  function pluginBuildConfig() {
20
19
  let config;
21
20
  return [
@@ -13,8 +13,6 @@ function pluginDistFileNames() {
13
13
  apply: 'build',
14
14
  enforce: 'post',
15
15
  configResolved(config) {
16
- // TODO/now remove
17
- // if (true as boolean) return
18
16
  const rollupOutputs = getRollupOutputs(config);
19
17
  // We need to support multiple outputs: @vite/plugin-legacy adds an output, see https://github.com/vikejs/vike/issues/477#issuecomment-1406434802
20
18
  rollupOutputs.forEach((rollupOutput) => {
@@ -153,13 +151,8 @@ function getEntryFileName(chunkInfo, config, isEntry) {
153
151
  return `${name}.${isEntry ? 'mjs' : 'js'}`;
154
152
  }
155
153
  }
156
- function removePathSeparators(name, userRootDir) {
154
+ function removePathSeparators(name) {
157
155
  assertPosixPath(name);
158
- if (name.startsWith(userRootDir)) {
159
- name = name.slice(userRootDir.length);
160
- if (name.startsWith('/'))
161
- name = name.slice(1);
162
- }
163
156
  assert(!name.startsWith('/'), { name });
164
157
  const entryDir = 'entries/';
165
158
  const hasEntryDir = name.startsWith(entryDir);
@@ -173,14 +166,24 @@ function removePathSeparators(name, userRootDir) {
173
166
  }
174
167
  return name;
175
168
  }
169
+ function removeUserRootDir(name, userRootDir) {
170
+ if (name.startsWith(userRootDir)) {
171
+ name = name.slice(userRootDir.length);
172
+ if (name.startsWith('/'))
173
+ name = name.slice(1);
174
+ }
175
+ assert(!name.startsWith('/'), { name });
176
+ return name;
177
+ }
176
178
  function clean(name, userRootDir, removePathSep, fixGlob) {
179
+ name = removeUserRootDir(name, userRootDir);
177
180
  name = fixExtractAssetsQuery(name);
178
181
  if (fixGlob) {
179
182
  name = workaroundGlob(name);
180
183
  }
181
184
  name = replaceNonLatinCharacters(name);
182
185
  if (removePathSep) {
183
- name = removePathSeparators(name, userRootDir);
186
+ name = removePathSeparators(name);
184
187
  }
185
188
  name = removeLeadingUnderscoreInFilename(name);
186
189
  name = removeUnderscoreDoublets(name);
@@ -1,6 +1,6 @@
1
1
  export { pluginModuleBanner };
2
2
  import MagicString from 'magic-string';
3
- import { removeVirtualIdTag } from '../../../shared/virtualFiles.js';
3
+ import { removeVirtualFileIdPrefix } from '../../utils.js';
4
4
  import { isViteServerBuild_safe } from '../../shared/isViteServerBuild.js';
5
5
  // Rollup's banner feature doesn't work with Vite: https://github.com/vitejs/vite/issues/8412
6
6
  // But, anyways, we want to prepend the banner at the beginning of each module, not at the beginning of each file (I believe that's what Rollup's banner feature does).
@@ -23,7 +23,7 @@ function pluginModuleBanner() {
23
23
  }
24
24
  if (id.startsWith('\0'))
25
25
  id = id;
26
- id = removeVirtualIdTag(id);
26
+ id = removeVirtualFileIdPrefix(id);
27
27
  if (id.startsWith(config.root))
28
28
  id = id.slice(config.root.length + 1);
29
29
  id = id.replaceAll('*/', '*\\/'); // https://github.com/vikejs/vike/issues/2377
@@ -10,7 +10,4 @@ declare module 'vite' {
10
10
  _viteConfigFromUserEnhanced?: InlineConfig;
11
11
  }
12
12
  }
13
- declare global {
14
- var __VIKE__IS_PROCESS_SHARED_WITH_VITE: undefined | boolean;
15
- }
16
13
  declare function pluginCommon(vikeVitePluginOptions: unknown): Plugin[];
@@ -11,7 +11,6 @@ import { getVikeConfigInternal, setVikeConfigContext } from '../shared/resolveVi
11
11
  import { assertViteRoot, getViteRoot, normalizeViteRoot } from '../../api/prepareViteApiCall.js';
12
12
  import { temp_disablePrerenderAutoRun } from '../../prerender/context.js';
13
13
  const pluginName = 'vike:pluginCommon';
14
- globalThis.__VIKE__IS_PROCESS_SHARED_WITH_VITE = true;
15
14
  function pluginCommon(vikeVitePluginOptions) {
16
15
  return [
17
16
  {