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.
- package/dist/cjs/client/shared/createGetGlobalContextClient.js +20 -12
- package/dist/cjs/client/shared/getJsonSerializedInHtml.js +10 -1
- package/dist/cjs/client/shared/utils.js +1 -0
- package/dist/cjs/node/runtime/globalContext.js +118 -31
- package/dist/cjs/node/runtime/html/injectAssets/getHtmlTags.js +2 -2
- package/dist/cjs/node/runtime/html/injectAssets/getViteDevScript.js +3 -1
- package/dist/cjs/node/runtime/html/serializeContext.js +25 -64
- package/dist/cjs/node/runtime/html/stream.js +1 -1
- package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +4 -7
- package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +4 -0
- package/dist/cjs/node/runtime/renderPage/getPageAssets.js +15 -12
- package/dist/cjs/node/runtime/renderPage/handlePageContextRequestUrl.js +50 -14
- package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +20 -6
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -5
- package/dist/cjs/node/runtime/renderPage.js +9 -8
- package/dist/cjs/node/runtime/utils.js +4 -0
- package/dist/cjs/node/shared/utils.js +1 -0
- package/dist/cjs/node/shared/virtualFiles/virtualFileEntry.js +16 -14
- package/dist/cjs/node/shared/virtualFiles/virtualFilePageConfigLazy.js +10 -4
- package/dist/cjs/node/vite/index.js +2 -0
- package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +22 -14
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +2 -2
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +28 -13
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +0 -3
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +17 -5
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +2 -2
- package/dist/cjs/node/vite/plugins/pluginCommon.js +1 -0
- package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +118 -72
- package/dist/cjs/node/vite/plugins/pluginEnvVars.js +3 -3
- package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +3 -4
- package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +2 -2
- package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +51 -0
- package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +67 -0
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.js +2 -2
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigsEager.js +6 -3
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +4 -5
- package/dist/cjs/node/vite/shared/applyRegExWithMagicString.js +1 -0
- package/dist/cjs/node/vite/shared/getMagicString.js +18 -0
- package/dist/cjs/node/vite/shared/getManifestFilePathRelative.js +10 -0
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +31 -3
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +1 -3
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +7 -18
- package/dist/cjs/node/vite/utils.js +1 -0
- package/dist/cjs/shared/createGlobalContextShared.js +27 -6
- package/dist/cjs/shared/getPageFiles/parseVirtualFileExports.js +6 -0
- package/dist/cjs/shared/getProxyForPublicUsage.js +2 -2
- package/dist/cjs/shared/modifyUrlSameOrigin.js +9 -4
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +13 -13
- package/dist/cjs/shared/utils.js +2 -0
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/assertSetup.js +7 -5
- package/dist/cjs/utils/cast.js +1 -1
- package/dist/cjs/utils/debug.js +1 -0
- package/dist/cjs/utils/getViteRPC.js +79 -0
- package/dist/cjs/utils/isFilePathAbsoluteFilesystem.js +1 -0
- package/dist/cjs/utils/isRunnableDevEnvironment.js +9 -0
- package/dist/cjs/utils/virtualFileId.js +39 -0
- package/dist/esm/client/node.js +1 -1
- package/dist/esm/client/runtime-client-routing/createPageContextClientSide.d.ts +1 -1
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +2 -2
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.js +35 -48
- package/dist/esm/client/runtime-client-routing/globalContext.d.ts +1 -1
- package/dist/esm/client/runtime-client-routing/history.d.ts +3 -5
- package/dist/esm/client/runtime-client-routing/history.js +39 -22
- package/dist/esm/client/runtime-client-routing/initClientRouter.js +2 -3
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +1 -1
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +43 -30
- package/dist/esm/client/runtime-client-routing/utils.d.ts +2 -0
- package/dist/esm/client/runtime-client-routing/utils.js +2 -0
- package/dist/esm/client/runtime-server-routing/createPageContextClientSide.d.ts +1 -1
- package/dist/esm/client/runtime-server-routing/globalContext.d.ts +1 -1
- package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +1 -1
- package/dist/esm/client/shared/createGetGlobalContextClient.js +20 -12
- package/dist/esm/client/shared/getJsonSerializedInHtml.js +10 -1
- package/dist/esm/client/shared/utils.d.ts +1 -0
- package/dist/esm/client/shared/utils.js +1 -0
- package/dist/esm/node/prerender/runPrerender.d.ts +40 -132
- package/dist/esm/node/runtime/globalContext.d.ts +35 -55
- package/dist/esm/node/runtime/globalContext.js +119 -32
- package/dist/esm/node/runtime/html/injectAssets/getHtmlTags.js +2 -2
- package/dist/esm/node/runtime/html/injectAssets/getViteDevScript.js +4 -2
- package/dist/esm/node/runtime/html/serializeContext.d.ts +11 -6
- package/dist/esm/node/runtime/html/serializeContext.js +25 -64
- package/dist/esm/node/runtime/html/stream.js +1 -1
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +11 -34
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +4 -7
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.js +4 -0
- package/dist/esm/node/runtime/renderPage/getPageAssets.js +16 -13
- package/dist/esm/node/runtime/renderPage/handleErrorWithoutErrorPage.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/handlePageContextRequestUrl.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/handlePageContextRequestUrl.js +51 -15
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +21 -7
- package/dist/esm/node/runtime/renderPage/log404/index.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.d.ts +0 -1
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +24 -71
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -5
- package/dist/esm/node/runtime/renderPage.d.ts +11 -33
- package/dist/esm/node/runtime/renderPage.js +9 -8
- package/dist/esm/node/runtime/utils.d.ts +4 -0
- package/dist/esm/node/runtime/utils.js +4 -0
- package/dist/esm/node/shared/utils.d.ts +1 -0
- package/dist/esm/node/shared/utils.js +1 -0
- package/dist/esm/node/shared/virtualFiles/virtualFileEntry.js +16 -14
- package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.js +11 -5
- package/dist/esm/node/vite/index.js +2 -0
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.d.ts +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +22 -14
- package/dist/esm/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +2 -2
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildApp.js +28 -13
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.d.ts +0 -2
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +0 -2
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +17 -5
- package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +2 -2
- package/dist/esm/node/vite/plugins/pluginCommon.d.ts +3 -0
- package/dist/esm/node/vite/plugins/pluginCommon.js +1 -0
- package/dist/esm/node/vite/plugins/pluginDev/determineOptimizeDeps.js +120 -74
- package/dist/esm/node/vite/plugins/pluginExtractAssets.js +3 -4
- package/dist/esm/node/vite/plugins/pluginNonRunnableDev.d.ts +26 -0
- package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +49 -0
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.d.ts +14 -0
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +65 -0
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.js +2 -2
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigsEager.js +6 -3
- package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +3 -4
- package/dist/esm/node/vite/shared/applyRegExWithMagicString.js +1 -0
- package/dist/esm/node/vite/shared/getMagicString.d.ts +9 -0
- package/dist/esm/node/vite/shared/getMagicString.js +13 -0
- package/dist/esm/node/vite/shared/getManifestFilePathRelative.d.ts +2 -0
- package/dist/esm/node/vite/shared/getManifestFilePathRelative.js +8 -0
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.d.ts +2 -2
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +31 -3
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +1 -3
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal.d.ts +1 -3
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal.js +8 -19
- package/dist/esm/node/vite/utils.d.ts +1 -0
- package/dist/esm/node/vite/utils.js +1 -0
- package/dist/esm/shared/createGlobalContextShared.d.ts +3 -3
- package/dist/esm/shared/createGlobalContextShared.js +28 -7
- package/dist/esm/shared/getPageFiles/parseVirtualFileExports.js +6 -0
- package/dist/esm/shared/modifyUrlSameOrigin.d.ts +1 -1
- package/dist/esm/shared/modifyUrlSameOrigin.js +9 -4
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +3 -2
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +14 -14
- package/dist/esm/shared/utils.d.ts +2 -0
- package/dist/esm/shared/utils.js +2 -0
- package/dist/esm/types/Config.d.ts +33 -98
- package/dist/esm/types/index.d.ts +3 -1
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/assertSetup.js +7 -5
- package/dist/esm/utils/cast.d.ts +2 -2
- package/dist/esm/utils/cast.js +1 -1
- package/dist/esm/utils/debug.d.ts +1 -1
- package/dist/esm/utils/debug.js +1 -0
- package/dist/esm/utils/getViteRPC.d.ts +6 -0
- package/dist/esm/utils/getViteRPC.js +77 -0
- package/dist/esm/utils/isFilePathAbsoluteFilesystem.d.ts +7 -0
- package/dist/esm/utils/isFilePathAbsoluteFilesystem.js +1 -0
- package/dist/esm/utils/isRunnableDevEnvironment.d.ts +3 -0
- package/dist/esm/utils/isRunnableDevEnvironment.js +7 -0
- package/dist/esm/utils/objectFilter.d.ts +1 -1
- package/dist/esm/utils/virtualFileId.d.ts +6 -0
- package/dist/esm/{node/shared/virtualFiles.js → utils/virtualFileId.js} +15 -17
- package/package.json +14 -5
- package/dist/cjs/node/shared/virtualFiles.js +0 -41
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/isRuntimeEnvMatch.js +0 -23
- package/dist/esm/node/shared/virtualFiles.d.ts +0 -8
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/isRuntimeEnvMatch.d.ts +0 -7
- 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
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
5
|
-
|
|
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,30 +1,66 @@
|
|
|
1
1
|
export { handlePageContextRequestUrl };
|
|
2
2
|
import { pageContextJsonFileExtension, doNotCreateExtraDirectory } from '../../../shared/getPageContextRequestUrl.js';
|
|
3
|
-
import {
|
|
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
|
-
|
|
7
|
-
|
|
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
|
|
12
|
-
const { pathnameOriginal, pathname } =
|
|
13
|
-
assert(
|
|
14
|
-
|
|
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
|
|
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 {
|
|
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
|
-
|
|
29
|
-
|
|
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
|
|
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}${
|
|
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
|
-
|
|
42
|
-
|
|
43
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 {
|
|
322
|
+
const { isPageContextJsonRequest } = handlePageContextRequestUrl(urlOriginal);
|
|
323
323
|
return {
|
|
324
|
-
isClientSideNavigation:
|
|
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 {
|
|
349
|
-
if (
|
|
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';
|