vike 0.4.236 → 0.4.237

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 (170) hide show
  1. package/dist/cjs/client/shared/createGetGlobalContextClient.js +20 -12
  2. package/dist/cjs/client/shared/getJsonSerializedInHtml.js +10 -1
  3. package/dist/cjs/client/shared/utils.js +1 -0
  4. package/dist/cjs/node/runtime/globalContext.js +118 -31
  5. package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +2 -2
  6. package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +3 -1
  7. package/dist/cjs/node/runtime/html/serializeContext.js +25 -64
  8. package/dist/cjs/node/runtime/html/stream.js +1 -1
  9. package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +4 -7
  10. package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +4 -0
  11. package/dist/cjs/node/runtime/renderPage/getPageAssets.js +15 -12
  12. package/dist/cjs/node/runtime/renderPage/handlePageContextRequestUrl.js +50 -14
  13. package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +20 -6
  14. package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -5
  15. package/dist/cjs/node/runtime/renderPage.js +9 -8
  16. package/dist/cjs/node/runtime/utils.js +4 -0
  17. package/dist/cjs/node/shared/utils.js +1 -0
  18. package/dist/cjs/node/shared/virtualFiles/virtualFileEntry.js +16 -14
  19. package/dist/cjs/node/shared/virtualFiles/virtualFilePageConfigLazy.js +10 -4
  20. package/dist/cjs/node/vite/index.js +2 -0
  21. package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +22 -14
  22. package/dist/cjs/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +2 -2
  23. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +28 -13
  24. package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +0 -3
  25. package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +17 -5
  26. package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +2 -2
  27. package/dist/cjs/node/vite/plugins/pluginCommon.js +1 -0
  28. package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +118 -72
  29. package/dist/cjs/node/vite/plugins/pluginEnvVars.js +3 -3
  30. package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +3 -4
  31. package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +2 -2
  32. package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +51 -0
  33. package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +1 -1
  34. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +67 -0
  35. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.js +2 -2
  36. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigsEager.js +6 -3
  37. package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +4 -5
  38. package/dist/cjs/node/vite/shared/applyRegExWithMagicString.js +1 -0
  39. package/dist/cjs/node/vite/shared/getMagicString.js +18 -0
  40. package/dist/cjs/node/vite/shared/getManifestFilePathRelative.js +10 -0
  41. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +31 -3
  42. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +1 -3
  43. package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +7 -18
  44. package/dist/cjs/node/vite/utils.js +1 -0
  45. package/dist/cjs/shared/createGlobalContextShared.js +27 -6
  46. package/dist/cjs/shared/getPageFiles/parseVirtualFileExports.js +6 -0
  47. package/dist/cjs/shared/getProxyForPublicUsage.js +2 -2
  48. package/dist/cjs/shared/modifyUrlSameOrigin.js +9 -4
  49. package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +13 -13
  50. package/dist/cjs/shared/utils.js +2 -0
  51. package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
  52. package/dist/cjs/utils/assertSetup.js +7 -5
  53. package/dist/cjs/utils/cast.js +1 -1
  54. package/dist/cjs/utils/debug.js +1 -0
  55. package/dist/cjs/utils/getViteRPC.js +79 -0
  56. package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +1 -0
  57. package/dist/cjs/utils/isRunnableDevEnvironment.js +9 -0
  58. package/dist/cjs/utils/virtualFileId.js +39 -0
  59. package/dist/esm/client/node.js +1 -1
  60. package/dist/esm/client/runtime-client-routing/createPageContextClientSide.d.ts +1 -1
  61. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +2 -2
  62. package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.js +35 -48
  63. package/dist/esm/client/runtime-client-routing/globalContext.d.ts +1 -1
  64. package/dist/esm/client/runtime-client-routing/history.d.ts +3 -5
  65. package/dist/esm/client/runtime-client-routing/history.js +39 -22
  66. package/dist/esm/client/runtime-client-routing/initClientRouter.js +2 -3
  67. package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +1 -1
  68. package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +43 -30
  69. package/dist/esm/client/runtime-client-routing/utils.d.ts +2 -0
  70. package/dist/esm/client/runtime-client-routing/utils.js +2 -0
  71. package/dist/esm/client/runtime-server-routing/createPageContextClientSide.d.ts +1 -1
  72. package/dist/esm/client/runtime-server-routing/globalContext.d.ts +1 -1
  73. package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +1 -1
  74. package/dist/esm/client/shared/createGetGlobalContextClient.js +20 -12
  75. package/dist/esm/client/shared/getJsonSerializedInHtml.js +10 -1
  76. package/dist/esm/client/shared/utils.d.ts +1 -0
  77. package/dist/esm/client/shared/utils.js +1 -0
  78. package/dist/esm/node/prerender/runPrerender.d.ts +40 -132
  79. package/dist/esm/node/runtime/globalContext.d.ts +35 -55
  80. package/dist/esm/node/runtime/globalContext.js +119 -32
  81. package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +2 -2
  82. package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +4 -2
  83. package/dist/esm/node/runtime/html/serializeContext.d.ts +11 -6
  84. package/dist/esm/node/runtime/html/serializeContext.js +25 -64
  85. package/dist/esm/node/runtime/html/stream.js +1 -1
  86. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +11 -34
  87. package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +4 -7
  88. package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +4 -0
  89. package/dist/esm/node/runtime/renderPage/getPageAssets.js +16 -13
  90. package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +2 -2
  91. package/dist/esm/node/runtime/renderPage/handlePageContextRequestUrl.d.ts +1 -1
  92. package/dist/esm/node/runtime/renderPage/handlePageContextRequestUrl.js +51 -15
  93. package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +21 -7
  94. package/dist/esm/node/runtime/renderPage/log404/index.d.ts +2 -2
  95. package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.d.ts +0 -1
  96. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +24 -71
  97. package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -5
  98. package/dist/esm/node/runtime/renderPage.d.ts +11 -33
  99. package/dist/esm/node/runtime/renderPage.js +9 -8
  100. package/dist/esm/node/runtime/utils.d.ts +4 -0
  101. package/dist/esm/node/runtime/utils.js +4 -0
  102. package/dist/esm/node/shared/utils.d.ts +1 -0
  103. package/dist/esm/node/shared/utils.js +1 -0
  104. package/dist/esm/node/shared/virtualFiles/virtualFileEntry.js +16 -14
  105. package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.js +11 -5
  106. package/dist/esm/node/vite/index.js +2 -0
  107. package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.d.ts +1 -1
  108. package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +22 -14
  109. package/dist/esm/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +2 -2
  110. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildApp.js +28 -13
  111. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.d.ts +0 -2
  112. package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +0 -2
  113. package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +17 -5
  114. package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +2 -2
  115. package/dist/esm/node/vite/plugins/pluginCommon.d.ts +3 -0
  116. package/dist/esm/node/vite/plugins/pluginCommon.js +1 -0
  117. package/dist/esm/node/vite/plugins/pluginDev/determineOptimizeDeps.js +120 -74
  118. package/dist/esm/node/vite/plugins/pluginExtractAssets.js +3 -4
  119. package/dist/esm/node/vite/plugins/pluginNonRunnableDev.d.ts +26 -0
  120. package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +49 -0
  121. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.d.ts +14 -0
  122. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +65 -0
  123. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.js +2 -2
  124. package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigsEager.js +6 -3
  125. package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +3 -4
  126. package/dist/esm/node/vite/shared/applyRegExWithMagicString.js +1 -0
  127. package/dist/esm/node/vite/shared/getMagicString.d.ts +9 -0
  128. package/dist/esm/node/vite/shared/getMagicString.js +13 -0
  129. package/dist/esm/node/vite/shared/getManifestFilePathRelative.d.ts +2 -0
  130. package/dist/esm/node/vite/shared/getManifestFilePathRelative.js +8 -0
  131. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.d.ts +2 -2
  132. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +31 -3
  133. package/dist/esm/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +1 -3
  134. package/dist/esm/node/vite/shared/resolveVikeConfigInternal.d.ts +1 -3
  135. package/dist/esm/node/vite/shared/resolveVikeConfigInternal.js +8 -19
  136. package/dist/esm/node/vite/utils.d.ts +1 -0
  137. package/dist/esm/node/vite/utils.js +1 -0
  138. package/dist/esm/shared/createGlobalContextShared.d.ts +3 -3
  139. package/dist/esm/shared/createGlobalContextShared.js +28 -7
  140. package/dist/esm/shared/getPageFiles/parseVirtualFileExports.js +6 -0
  141. package/dist/esm/shared/modifyUrlSameOrigin.d.ts +1 -1
  142. package/dist/esm/shared/modifyUrlSameOrigin.js +9 -4
  143. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +3 -2
  144. package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +14 -14
  145. package/dist/esm/shared/utils.d.ts +2 -0
  146. package/dist/esm/shared/utils.js +2 -0
  147. package/dist/esm/types/Config.d.ts +33 -98
  148. package/dist/esm/types/index.d.ts +3 -1
  149. package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
  150. package/dist/esm/utils/PROJECT_VERSION.js +1 -1
  151. package/dist/esm/utils/assertSetup.js +7 -5
  152. package/dist/esm/utils/cast.d.ts +2 -2
  153. package/dist/esm/utils/cast.js +1 -1
  154. package/dist/esm/utils/debug.d.ts +1 -1
  155. package/dist/esm/utils/debug.js +1 -0
  156. package/dist/esm/utils/getViteRPC.d.ts +6 -0
  157. package/dist/esm/utils/getViteRPC.js +77 -0
  158. package/dist/esm/utils/isFilePathAbsoluteFilesystem.d.ts +7 -0
  159. package/dist/esm/utils/isFilePathAbsoluteFilesystem.js +1 -0
  160. package/dist/esm/utils/isRunnableDevEnvironment.d.ts +3 -0
  161. package/dist/esm/utils/isRunnableDevEnvironment.js +7 -0
  162. package/dist/esm/utils/objectFilter.d.ts +1 -1
  163. package/dist/esm/utils/virtualFileId.d.ts +6 -0
  164. package/dist/esm/{node/shared/virtualFiles.js → utils/virtualFileId.js} +15 -17
  165. package/package.json +14 -5
  166. package/dist/cjs/node/shared/virtualFiles.js +0 -41
  167. package/dist/cjs/node/vite/plugins/pluginVirtualFiles/isRuntimeEnvMatch.js +0 -23
  168. package/dist/esm/node/shared/virtualFiles.d.ts +0 -8
  169. package/dist/esm/node/vite/plugins/pluginVirtualFiles/isRuntimeEnvMatch.d.ts +0 -7
  170. package/dist/esm/node/vite/plugins/pluginVirtualFiles/isRuntimeEnvMatch.js +0 -21
@@ -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 } 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';
@@ -14,18 +14,11 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
14
14
  const globalContext = pageContext._globalContext;
15
15
  const { _isProduction: isProduction } = globalContext;
16
16
  const isDev = !isProduction;
17
- let assetUrls;
18
- let clientEntriesSrc;
19
- if (isDev) {
20
- const { _viteDevServer: viteDevServer } = globalContext;
21
- clientEntriesSrc = clientEntries.map((clientEntry) => globalObject.resolveClientEntriesDev(clientEntry, viteDevServer));
22
- assetUrls = await retrieveAssetsDev(clientDependencies, viteDevServer);
23
- }
24
- else {
25
- const { assetsManifest } = globalContext;
26
- clientEntriesSrc = clientEntries.map((clientEntry) => resolveClientEntriesProd(clientEntry, assetsManifest));
27
- assetUrls = retrieveAssetsProd(clientDependencies, assetsManifest, resolveIncludeAssetsImportedByServer(pageContext._globalContext.config));
28
- }
17
+ const { assetUrls, clientEntriesSrc } = isDev
18
+ ? !globalContext._viteDevServer
19
+ ? await getViteRPC().retrievePageAssetsDevRPC(clientDependencies, clientEntries)
20
+ : await retrievePageAssetsDev(globalContext._viteDevServer, clientDependencies, clientEntries)
21
+ : retrievePageAssetsProd(globalContext.assetsManifest, clientDependencies, clientEntries, resolveIncludeAssetsImportedByServer(globalContext.config));
29
22
  let pageAssets = [];
30
23
  unique([...clientEntriesSrc, ...assetUrls]).forEach((src) => {
31
24
  const { mediaType = null, assetType = null } = inferMediaType(src) || {};
@@ -59,6 +52,16 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
59
52
  await sortPageAssetsForEarlyHintsHeader(pageAssets, isProduction);
60
53
  return pageAssets;
61
54
  }
55
+ async function retrievePageAssetsDev(viteDevServer, clientDependencies, clientEntries) {
56
+ const clientEntriesSrc = clientEntries.map((clientEntry) => globalObject.resolveClientEntriesDev(clientEntry, viteDevServer));
57
+ const assetUrls = await retrieveAssetsDev(clientDependencies, viteDevServer);
58
+ return { clientEntriesSrc, assetUrls };
59
+ }
60
+ function retrievePageAssetsProd(assetsManifest, clientDependencies, clientEntries, includeAssetsImportedByServer) {
61
+ const clientEntriesSrc = clientEntries.map((clientEntry) => resolveClientEntriesProd(clientEntry, assetsManifest));
62
+ const assetUrls = retrieveAssetsProd(clientDependencies, assetsManifest, resolveIncludeAssetsImportedByServer(includeAssetsImportedByServer));
63
+ return { clientEntriesSrc, assetUrls };
64
+ }
62
65
  function resolveClientEntriesProd(clientEntry, assetsManifest) {
63
66
  const { manifestEntry } = getManifestEntry(clientEntry, assetsManifest);
64
67
  assert(manifestEntry.isEntry || manifestEntry.isDynamicEntry || clientEntry.endsWith('.css'), { clientEntry });
@@ -1,8 +1,8 @@
1
1
  export { handleErrorWithoutErrorPage };
2
2
  import type { GlobalContextServerInternal } from '../globalContext.js';
3
3
  import type { PageContextAfterRender } from './renderPageAlreadyRouted.js';
4
- declare function handleErrorWithoutErrorPage<PageContext extends {
5
- isClientSideNavigation: boolean;
4
+ import type { PageContextCreated } from './createPageContextServerSide.js';
5
+ declare function handleErrorWithoutErrorPage<PageContext extends PageContextCreated & {
6
6
  errorWhileRendering: null | Error;
7
7
  is404: null | boolean;
8
8
  pageId: null;
@@ -1,5 +1,5 @@
1
1
  export { handlePageContextRequestUrl };
2
2
  declare function handlePageContextRequestUrl(url: string): {
3
+ isPageContextJsonRequest: boolean;
3
4
  urlWithoutPageContextRequestSuffix: string;
4
- isPageContextRequest: boolean;
5
5
  };
@@ -1,30 +1,66 @@
1
1
  export { handlePageContextRequestUrl };
2
2
  import { pageContextJsonFileExtension, doNotCreateExtraDirectory } from '../../../shared/getPageContextRequestUrl.js';
3
- import { baseServer, parseUrl, assert, slice } from '../utils.js';
3
+ import { modifyUrl } from '../../../shared/modifyUrl.js';
4
+ import { baseServer, parseUrl, assert, slice, isObject, hasProp } from '../utils.js';
4
5
  // See also shared/getPageContextRequestUrl.ts
5
6
  function handlePageContextRequestUrl(url) {
6
- if (!hasSuffix(url)) {
7
- return { urlWithoutPageContextRequestSuffix: url, isPageContextRequest: false };
7
+ const urlParsed = parseUrl(url, baseServer);
8
+ if (!isMatch(urlParsed)) {
9
+ return {
10
+ isPageContextJsonRequest: false,
11
+ urlWithoutPageContextRequestSuffix: url,
12
+ };
13
+ }
14
+ else {
15
+ const { urlWithoutPageContextRequestSuffix, searchVikeArgs } = processUrl(urlParsed, url);
16
+ const previousUrl = parseSearchVikeArgs(searchVikeArgs);
17
+ return {
18
+ /* TO-DO/soon/once: pass & use previousUrl
19
+ isPageContextJsonRequest: { previousUrl },
20
+ /*/
21
+ isPageContextJsonRequest: true,
22
+ //*/
23
+ urlWithoutPageContextRequestSuffix,
24
+ };
8
25
  }
9
- return { urlWithoutPageContextRequestSuffix: removePageContextUrlSuffix(url), isPageContextRequest: true };
10
26
  }
11
- function hasSuffix(url) {
12
- const { pathnameOriginal, pathname } = parseUrl(url, baseServer);
13
- assert(pathnameOriginal.endsWith(pageContextJsonFileExtension) === pathname.endsWith(pageContextJsonFileExtension), {
14
- url,
15
- });
16
- return pathnameOriginal.endsWith(pageContextJsonFileExtension);
27
+ function isMatch(urlParsed) {
28
+ const { pathnameOriginal, pathname } = urlParsed;
29
+ assert(pathname.endsWith(pageContextJsonFileExtension) === pathnameOriginal.endsWith(pageContextJsonFileExtension));
30
+ return pathname.endsWith(pageContextJsonFileExtension);
17
31
  }
18
- function removePageContextUrlSuffix(url) {
19
- const urlParsed = parseUrl(url, baseServer);
32
+ function processUrl(urlParsed, url) {
20
33
  // We cannot use `urlParsed.pathname` because it would break the `urlParsed.pathnameOriginal` value of subsequent `parseUrl()` calls.
21
- const { origin, pathnameOriginal, searchOriginal, hashOriginal } = urlParsed;
34
+ const { pathnameOriginal, search } = urlParsed;
22
35
  assert(doNotCreateExtraDirectory === false);
23
36
  const urlSuffix = `/index${pageContextJsonFileExtension}`;
24
37
  assert(pathnameOriginal.endsWith(urlSuffix), { url });
25
38
  let pathnameModified = slice(pathnameOriginal, 0, -1 * urlSuffix.length);
26
39
  if (pathnameModified === '')
27
40
  pathnameModified = '/';
28
- assert(url === `${origin || ''}${pathnameOriginal}${searchOriginal || ''}${hashOriginal || ''}`, { url });
29
- return `${origin || ''}${pathnameModified}${searchOriginal || ''}${hashOriginal || ''}`;
41
+ const searchVikeArgs = search?._vike;
42
+ const urlWithoutPageContextRequestSuffix = modifyUrl(url, {
43
+ pathname: pathnameModified,
44
+ search: {
45
+ _vike: searchVikeArgs ? null : undefined,
46
+ },
47
+ });
48
+ return {
49
+ searchVikeArgs,
50
+ urlWithoutPageContextRequestSuffix,
51
+ };
52
+ }
53
+ function parseSearchVikeArgs(searchVikeArgs) {
54
+ const args = {
55
+ previousUrl: null,
56
+ };
57
+ if (searchVikeArgs) {
58
+ const parsed = JSON.parse(searchVikeArgs);
59
+ assert(isObject(parsed));
60
+ if ('previousUrl' in parsed) {
61
+ assert(hasProp(parsed, 'previousUrl', 'string'));
62
+ args.previousUrl = parsed.previousUrl;
63
+ }
64
+ }
65
+ return args;
30
66
  }
@@ -2,7 +2,7 @@ export { loadPageConfigsLazyServerSideAndExecHook };
2
2
  import { getPageFilesServerSide } from '../../../shared/getPageFiles.js';
3
3
  import { resolveVikeConfigPublicPageLazy } from '../../../shared/page-configs/resolveVikeConfigPublic.js';
4
4
  import { analyzePageClientSideInit } from '../../../shared/getPageFiles/analyzePageClientSide.js';
5
- import { assertUsage, assertWarning, hasProp, objectAssign } from '../utils.js';
5
+ import { assertUsage, assertWarning, hasProp, isArray, isObject, objectAssign } from '../utils.js';
6
6
  import { getPageAssets } from './getPageAssets.js';
7
7
  import { debugPageFiles } from './debugPageFiles.js';
8
8
  import { findPageConfig } from '../../../shared/page-configs/findPageConfig.js';
@@ -16,6 +16,7 @@ async function loadPageConfigsLazyServerSideAndExecHook(pageContext) {
16
16
  await execHookServer('onCreatePageContext', pageContext);
17
17
  return pageContext;
18
18
  }
19
+ // TODO/now: define new function resolveAfterLoad() ?
19
20
  async function loadPageConfigsLazyServerSide(pageContext) {
20
21
  const pageConfig = findPageConfig(pageContext._globalContext._pageConfigs, pageContext.pageId); // Make pageConfig globally available as pageContext._pageConfig ?
21
22
  const globalContext = pageContext._globalContext;
@@ -28,19 +29,32 @@ async function loadPageConfigsLazyServerSide(pageContext) {
28
29
  const { isHtmlOnly, isClientRouting, clientEntries, clientDependencies, pageFilesClientSide, pageFilesServerSide } = await analyzePage(pageContext._globalContext._pageFilesAll, pageConfig, pageContext.pageId, globalContext);
29
30
  const isV1Design = !!pageConfig;
30
31
  const passToClient = [];
31
- const errMsg = ' should be an array of strings.';
32
+ const errMsgSuffix = ' should be an array of strings.';
32
33
  if (!isV1Design) {
33
34
  configPublicPageLazy.exportsAll.passToClient?.forEach((e) => {
34
- assertUsage(hasProp(e, 'exportValue', 'string[]'), `${e.exportSource}${errMsg}`);
35
+ assertUsage(hasProp(e, 'exportValue', 'string[]'), `${e.exportSource}${errMsgSuffix}`);
35
36
  passToClient.push(...e.exportValue);
36
37
  });
37
38
  }
38
39
  else {
39
40
  configPublicPageLazy.from.configsCumulative.passToClient?.values.forEach((v) => {
40
- const { value } = v;
41
- // const { definedAt } = v
42
- // assertUsage(isArrayOfStrings(value), `+passToClient value defined at ${definedAt}${errMsg}`)
43
- passToClient.push(...value);
41
+ const { value, definedAt } = v;
42
+ const errMsg = `+passToClient value defined at ${definedAt}${errMsgSuffix}`;
43
+ //*/ TO-DO/next-major-release: remove the passToClient once setting from the public API
44
+ assertUsage(isArray(value), `+passToClient value defined at ${definedAt} should be an array`);
45
+ const valS = value.map((el) => {
46
+ if (isObject(el)) {
47
+ assertWarning(!('once' in el), 'The passToClient once setting is deprecated and no longer has any effect. Instead, see the upcoming .once.js suffix (see https://github.com/vikejs/vike/issues/2566 for more information).', { onlyOnce: true });
48
+ assertUsage(hasProp(el, 'prop', 'string'), errMsg);
49
+ return el.prop;
50
+ }
51
+ assertUsage(typeof el === 'string', errMsg);
52
+ return el;
53
+ });
54
+ /*/
55
+ assertUsage(isArrayOfStrings(value), errMsg)
56
+ //*/
57
+ passToClient.push(...valS);
44
58
  });
45
59
  }
46
60
  const pageContextAddendum = {};
@@ -2,10 +2,10 @@ export { log404 };
2
2
  export { getRoutesInfo };
3
3
  import type { PageRoutes } from '../../../../shared/route/index.js';
4
4
  import type { GlobalContextServerInternal } from '../../globalContext.js';
5
- declare function log404(pageContext: {
5
+ import type { PageContextCreated } from '../createPageContextServerSide.js';
6
+ declare function log404(pageContext: PageContextCreated & {
6
7
  urlPathname: string;
7
8
  errorWhileRendering: null | Error;
8
- isClientSideNavigation: boolean;
9
9
  _globalContext: GlobalContextServerInternal;
10
10
  }): Promise<void>;
11
11
  declare function getRoutesInfo(pageRoutes: PageRoutes): string | null;
@@ -14,7 +14,6 @@ type PageContextForPublicUsageServer = PageContextInternalServer & VikeConfigPub
14
14
  Page: unknown;
15
15
  pageId: string;
16
16
  is404: null | boolean;
17
- isClientSideNavigation: boolean;
18
17
  _globalContext: GlobalContextServerInternal;
19
18
  };
20
19
  declare function preparePageContextForPublicUsageServer<PageContext extends PageContextForPublicUsageServer>(pageContext: PageContext): PageContext;
@@ -5,6 +5,7 @@ import { type PageContextUrlInternal } from '../../../shared/getPageContextUrlCo
5
5
  import { HttpResponse } from './createHttpResponse.js';
6
6
  import { PageContext_loadPageConfigsLazyServerSide, type PageConfigsLazy } from './loadPageConfigsLazyServerSide.js';
7
7
  import type { PageContextCreated } from './createPageContextServerSide.js';
8
+ import type { PageContextBegin } from '../renderPage.js';
8
9
  type PageContextAfterRender = {
9
10
  httpResponse: HttpResponse;
10
11
  errorWhileRendering: null | Error;
@@ -16,7 +17,7 @@ declare function renderPageAlreadyRouted<PageContext extends {
16
17
  routeParams: Record<string, string>;
17
18
  errorWhileRendering: null | Error;
18
19
  _httpRequestId: number;
19
- } & PageContextCreated & PageContextUrlInternal & PageContext_loadPageConfigsLazyServerSide>(pageContext: PageContext): Promise<PageContext & PageContextAfterRender>;
20
+ } & PageContextCreated & PageContextBegin & PageContextUrlInternal & PageContext_loadPageConfigsLazyServerSide>(pageContext: PageContext): Promise<PageContext & PageContextAfterRender>;
20
21
  declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy & {
21
22
  routeParams: Record<string, string>;
22
23
  pageId: string;
@@ -56,24 +57,12 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
56
57
  pages: {
57
58
  [k: string]: import("../../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEager;
58
59
  };
59
- } & ({
60
+ } & (({
60
61
  _isProduction: false;
61
62
  _isPrerendering: false;
62
63
  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;
64
+ _viteDevServer: import("vite").ViteDevServer | undefined;
65
+ viteConfig: import("vite").ResolvedConfig | undefined;
77
66
  isClientSide: false;
78
67
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
79
68
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
@@ -83,19 +72,7 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
83
72
  _isProduction: true;
84
73
  assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
85
74
  _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
75
  _usesClientRouter: boolean;
97
- baseServer: string;
98
- baseAssets: string;
99
76
  isClientSide: false;
100
77
  _pageRoutes: import("../../../__internal/index.js").PageRoutes;
101
78
  _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
@@ -105,6 +82,13 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
105
82
  _isProduction: true;
106
83
  assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
107
84
  _viteDevServer: null;
85
+ _usesClientRouter: boolean;
86
+ isClientSide: false;
87
+ _pageRoutes: import("../../../__internal/index.js").PageRoutes;
88
+ _onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
89
+ }) & {
90
+ baseServer: string;
91
+ baseAssets: string;
108
92
  viteConfigRuntime: {
109
93
  root: string;
110
94
  build: {
@@ -115,12 +99,6 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
115
99
  inject: boolean | undefined;
116
100
  };
117
101
  };
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
102
  });
125
103
  _pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
126
104
  _baseServer: string;
@@ -157,8 +135,7 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
157
135
  _pageContextAlreadyProvidedByOnPrerenderHook?: true;
158
136
  is404: boolean;
159
137
  } & {
160
- isClientSideNavigation: boolean;
161
- _urlHandler: null;
138
+ _isPageContextJsonRequest: null;
162
139
  };
163
140
  } | {
164
141
  documentHtml: 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;
@@ -292,7 +246,6 @@ declare function prerenderPage(pageContext: PageContextCreated & PageConfigsLazy
292
246
  _pageContextAlreadyProvidedByOnPrerenderHook?: true;
293
247
  is404: boolean;
294
248
  } & {
295
- isClientSideNavigation: boolean;
296
- _urlHandler: null;
249
+ _isPageContextJsonRequest: null;
297
250
  };
298
251
  }>;
@@ -45,7 +45,7 @@ async function renderPageAlreadyRouted(pageContext) {
45
45
  if (isError) {
46
46
  objectAssign(pageContext, { [isServerSideError]: true });
47
47
  }
48
- const pageContextSerialized = getPageContextClientSerialized(pageContext);
48
+ const pageContextSerialized = getPageContextClientSerialized(pageContext, false);
49
49
  const httpResponse = await createHttpResponsePageContextJson(pageContextSerialized);
50
50
  objectAssign(pageContext, { httpResponse });
51
51
  return pageContext;
@@ -58,8 +58,7 @@ async function renderPageAlreadyRouted(pageContext) {
58
58
  }
59
59
  async function prerenderPage(pageContext) {
60
60
  objectAssign(pageContext, {
61
- isClientSideNavigation: false,
62
- _urlHandler: null,
61
+ _isPageContextJsonRequest: null,
63
62
  });
64
63
  /* Should we execute the guard() hook upon pre-rendering? Is there a use case for this?
65
64
  * - It isn't trivial to implement, as it requires to duplicate / factor out the isAbortError() handling
@@ -68,14 +67,13 @@ async function prerenderPage(pageContext) {
68
67
  await execHookDataAndOnBeforeRender(pageContext);
69
68
  const { htmlRender, renderHook } = await execHookOnRenderHtml(pageContext);
70
69
  assertUsage(htmlRender !== null, `Cannot pre-render ${pc.cyan(pageContext.urlOriginal)} because the ${renderHook.hookName}() hook defined by ${renderHook.hookFilePath} didn't return an HTML string.`);
71
- assert(pageContext.isClientSideNavigation === false);
72
70
  const documentHtml = await getHtmlString(htmlRender);
73
71
  assert(typeof documentHtml === 'string');
74
72
  if (!pageContext._usesClientRouter) {
75
73
  return { documentHtml, pageContextSerialized: null, pageContext };
76
74
  }
77
75
  else {
78
- const pageContextSerialized = getPageContextClientSerialized(pageContext);
76
+ const pageContextSerialized = getPageContextClientSerialized(pageContext, false);
79
77
  return { documentHtml, pageContextSerialized, pageContext };
80
78
  }
81
79
  }
@@ -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;
@@ -132,4 +109,5 @@ declare function getPageContextBegin(pageContextInit: PageContextInit, globalCon
132
109
  headers: Record<string, string> | null;
133
110
  } & {
134
111
  _httpRequestId: number;
112
+ _isPageContextJsonRequest: boolean;
135
113
  };
@@ -307,7 +307,7 @@ async function getPageContextErrorPageInit(pageContextBegin, errNominalPage, pag
307
307
  return pageContext;
308
308
  }
309
309
  function getPageContextBegin(pageContextInit, globalContext, httpRequestId) {
310
- const { isClientSideNavigation, _urlHandler } = handlePageContextUrl(pageContextInit.urlOriginal);
310
+ const { isClientSideNavigation, _urlHandler, _isPageContextJsonRequest } = handlePageContextUrl(pageContextInit.urlOriginal);
311
311
  const pageContextBegin = createPageContextServerSide(pageContextInit, globalContext, {
312
312
  isPrerendering: false,
313
313
  ssr: {
@@ -315,13 +315,14 @@ function getPageContextBegin(pageContextInit, globalContext, httpRequestId) {
315
315
  isClientSideNavigation,
316
316
  },
317
317
  });
318
- objectAssign(pageContextBegin, { _httpRequestId: httpRequestId });
318
+ objectAssign(pageContextBegin, { _httpRequestId: httpRequestId, _isPageContextJsonRequest });
319
319
  return pageContextBegin;
320
320
  }
321
321
  function handlePageContextUrl(urlOriginal) {
322
- const { isPageContextRequest } = handlePageContextRequestUrl(urlOriginal);
322
+ const { isPageContextJsonRequest } = handlePageContextRequestUrl(urlOriginal);
323
323
  return {
324
- isClientSideNavigation: isPageContextRequest,
324
+ isClientSideNavigation: !!isPageContextJsonRequest,
325
+ _isPageContextJsonRequest: isPageContextJsonRequest,
325
326
  _urlHandler: (url) => handlePageContextRequestUrl(url).urlWithoutPageContextRequestSuffix,
326
327
  };
327
328
  }
@@ -345,8 +346,8 @@ async function normalizeUrl(pageContextBegin, globalContext, httpRequestId) {
345
346
  if (disableUrlNormalization)
346
347
  return null;
347
348
  const { urlOriginal } = pageContext;
348
- const { isPageContextRequest } = handlePageContextRequestUrl(urlOriginal);
349
- if (isPageContextRequest)
349
+ const { isPageContextJsonRequest } = handlePageContextRequestUrl(urlOriginal);
350
+ if (isPageContextJsonRequest)
350
351
  return null;
351
352
  const urlNormalized = normalizeUrlPathname(urlOriginal, trailingSlash ?? false, globalContext.baseServer);
352
353
  if (!urlNormalized)
@@ -419,10 +420,10 @@ pageContextNominalPageBegin, httpRequestId, pageContextErrorPageInit, globalCont
419
420
  objectAssign(pageContext, pageContextErrorPageInit, true);
420
421
  augmentType(pageContext, await loadPageConfigsLazyServerSideAndExecHook(pageContext));
421
422
  // We include pageContextInit: we don't only serialize pageContextAbort because the error page may need to access pageContextInit
422
- pageContextSerialized = getPageContextClientSerialized(pageContext);
423
+ pageContextSerialized = getPageContextClientSerialized(pageContext, false);
423
424
  }
424
425
  else {
425
- pageContextSerialized = getPageContextClientSerializedAbort(pageContextAbort);
426
+ pageContextSerialized = getPageContextClientSerializedAbort(pageContextAbort, false);
426
427
  }
427
428
  const httpResponse = await createHttpResponsePageContextJson(pageContextSerialized);
428
429
  const pageContextReturn = { httpResponse };
@@ -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,3 +57,6 @@ 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';
60
+ export * from '../../utils/getViteRPC.js';
61
+ export * from '../../utils/isRunnableDevEnvironment.js';
62
+ export * from '../../utils/assertIsNotBrowser.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,3 +61,6 @@ 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';
64
+ export * from '../../utils/getViteRPC.js';
65
+ export * from '../../utils/isRunnableDevEnvironment.js';
66
+ export * from '../../utils/assertIsNotBrowser.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';