vike 0.4.236 → 0.4.237-commit-85e89b1
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/runtime-client-routing/globalContext.js +2 -2
- package/dist/cjs/client/runtime-server-routing/globalContext.js +2 -2
- package/dist/cjs/client/shared/createGetGlobalContextClient.js +21 -13
- package/dist/cjs/client/shared/getJsonSerializedInHtml.js +10 -1
- package/dist/cjs/client/shared/utils.js +1 -0
- package/dist/cjs/node/api/preview.js +1 -1
- package/dist/cjs/node/prerender/runPrerender.js +4 -4
- package/dist/cjs/node/runtime/globalContext.js +127 -41
- 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/analyzePage.js +3 -3
- package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +4 -7
- package/dist/cjs/node/runtime/renderPage/getPageAssets/getManifestEntry.js +5 -4
- package/dist/cjs/node/runtime/renderPage/getPageAssets/{retrieveAssetsDev.js → retrievePageAssetsDev.js} +21 -2
- package/dist/cjs/node/runtime/renderPage/getPageAssets/{retrieveAssetsProd.js → retrievePageAssetsProd.js} +19 -2
- package/dist/cjs/node/runtime/renderPage/getPageAssets.js +8 -34
- package/dist/cjs/node/runtime/renderPage/handlePageContextRequestUrl.js +50 -14
- package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +23 -9
- 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/virtualFileId.js +110 -0
- package/dist/cjs/node/vite/index.js +5 -3
- package/dist/cjs/node/vite/onLoad.js +5 -3
- package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +31 -23
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +3 -3
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +29 -13
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +20 -14
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildEntry.js +4 -4
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistFileNames.js +17 -5
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +6 -12
- package/dist/cjs/node/vite/plugins/pluginCommon.js +1 -0
- package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +119 -73
- package/dist/cjs/node/vite/plugins/pluginEnvVars.js +8 -15
- package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +8 -9
- package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +7 -3
- package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +47 -0
- package/dist/cjs/node/vite/plugins/pluginPreview.js +11 -4
- package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +6 -13
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigsEager.js → generateVirtualFileGlobalEntry.js} +11 -9
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/{getVirtualFileEntry.js → generateVirtualFileGlobalEntryWithOldDesign.js} +11 -11
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigLazy.js → generateVirtualFilePageEntry.js} +10 -11
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +67 -0
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +18 -17
- package/dist/cjs/node/vite/shared/findPageFiles.js +1 -1
- package/dist/cjs/node/vite/shared/{resolveClientEntriesDev.js → getClientEntrySrcDev.js} +2 -2
- 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/getOutDirs.js +18 -12
- package/dist/cjs/node/vite/shared/getViteConfigRuntime.js +1 -1
- package/dist/cjs/node/vite/shared/isViteServerBuild.js +54 -31
- package/dist/cjs/node/vite/shared/loggerVite.js +1 -1
- 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 +8 -19
- package/dist/cjs/node/vite/utils.js +1 -0
- package/dist/cjs/shared/createGlobalContextShared.js +36 -15
- package/dist/cjs/shared/getPageFiles/{parseVirtualFileExports.js → parseVirtualFileExportsGlobalEntry.js} +20 -20
- package/dist/cjs/shared/getProxyForPublicUsage.js +2 -2
- package/dist/cjs/shared/modifyUrlSameOrigin.js +9 -4
- package/dist/cjs/shared/page-configs/loadPageEntry.js +25 -0
- package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +4 -4
- package/dist/cjs/shared/page-configs/serialize/{parsePageConfigs.js → parsePageConfigsSerialized.js} +2 -2
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +16 -16
- 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 +3 -3
- package/dist/esm/client/runtime-client-routing/getPageContextCurrent.d.ts +2 -2
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +14 -14
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.js +35 -48
- package/dist/esm/client/runtime-client-routing/globalContext.d.ts +3 -3
- package/dist/esm/client/runtime-client-routing/globalContext.js +2 -2
- 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/prefetch/getPrefetchSettings.d.ts +2 -2
- package/dist/esm/client/runtime-client-routing/prefetch.d.ts +2 -2
- package/dist/esm/client/runtime-client-routing/prefetch.js +2 -2
- package/dist/esm/client/runtime-client-routing/preparePageContextForPublicUsageClient.d.ts +2 -2
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +5 -5
- 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 +4 -4
- package/dist/esm/client/runtime-server-routing/globalContext.d.ts +3 -3
- package/dist/esm/client/runtime-server-routing/globalContext.js +2 -2
- package/dist/esm/client/runtime-server-routing/preparePageContextForPublicUsageClient.d.ts +2 -2
- package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +4 -4
- package/dist/esm/client/shared/createGetGlobalContextClient.js +21 -13
- package/dist/esm/client/shared/execHookOnRenderClient.d.ts +2 -2
- package/dist/esm/client/shared/getJsonSerializedInHtml.js +10 -1
- package/dist/esm/client/shared/loadPageConfigsLazyClientSide.d.ts +1 -1
- package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +4 -4
- package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.d.ts +2 -2
- package/dist/esm/client/shared/utils.d.ts +1 -0
- package/dist/esm/client/shared/utils.js +1 -0
- package/dist/esm/node/api/preview.js +1 -1
- package/dist/esm/node/prerender/runPrerender.d.ts +49 -141
- package/dist/esm/node/prerender/runPrerender.js +4 -4
- package/dist/esm/node/runtime/globalContext.d.ts +43 -63
- package/dist/esm/node/runtime/globalContext.js +128 -42
- 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/analyzePage.js +3 -3
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +13 -36
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +4 -7
- package/dist/esm/node/runtime/renderPage/execHookServer.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/getPageAssets/getManifestEntry.js +5 -4
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrievePageAssetsDev.d.ts +10 -0
- package/dist/esm/node/runtime/renderPage/getPageAssets/{retrieveAssetsDev.js → retrievePageAssetsDev.js} +22 -3
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrievePageAssetsProd.d.ts +10 -0
- package/dist/esm/node/runtime/renderPage/getPageAssets/{retrieveAssetsProd.js → retrievePageAssetsProd.js} +19 -2
- package/dist/esm/node/runtime/renderPage/getPageAssets.d.ts +0 -6
- package/dist/esm/node/runtime/renderPage/getPageAssets.js +8 -34
- 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.d.ts +3 -3
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +26 -12
- package/dist/esm/node/runtime/renderPage/log404/index.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.d.ts +2 -3
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +30 -77
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +3 -5
- package/dist/esm/node/runtime/renderPage.d.ts +13 -35
- 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/virtualFileId.d.ts +28 -0
- package/dist/esm/node/shared/virtualFileId.js +107 -0
- package/dist/esm/node/vite/index.js +5 -3
- package/dist/esm/node/vite/onLoad.js +5 -3
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.d.ts +3 -3
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +32 -24
- package/dist/esm/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +3 -3
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildApp.js +29 -13
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.d.ts +0 -2
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +21 -14
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildEntry.js +4 -4
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistFileNames.js +17 -5
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +7 -10
- 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 +121 -75
- package/dist/esm/node/vite/plugins/pluginEnvVars.js +6 -10
- package/dist/esm/node/vite/plugins/pluginExtractAssets.js +7 -8
- package/dist/esm/node/vite/plugins/pluginExtractExportNames.js +6 -2
- package/dist/esm/node/vite/plugins/pluginNonRunnableDev.d.ts +26 -0
- package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +45 -0
- package/dist/esm/node/vite/plugins/pluginPreview.js +13 -6
- package/dist/esm/node/vite/plugins/pluginReplaceConstants.js +6 -10
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntry.d.ts +2 -0
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigsEager.js → generateVirtualFileGlobalEntry.js} +11 -9
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFileGlobalEntryWithOldDesign.d.ts +6 -0
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/{getVirtualFileEntry.js → generateVirtualFileGlobalEntryWithOldDesign.js} +11 -11
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/generateVirtualFilePageEntry.d.ts +3 -0
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigLazy.js → generateVirtualFilePageEntry.js} +10 -11
- 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.js +17 -16
- package/dist/esm/node/vite/shared/findPageFiles.js +1 -1
- package/dist/esm/node/vite/shared/getClientEntrySrcDev.d.ts +4 -0
- package/dist/esm/node/vite/shared/{resolveClientEntriesDev.js → getClientEntrySrcDev.js} +2 -2
- 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/getOutDirs.d.ts +6 -3
- package/dist/esm/node/vite/shared/getOutDirs.js +19 -13
- package/dist/esm/node/vite/shared/getViteConfigRuntime.js +1 -1
- package/dist/esm/node/vite/shared/isViteServerBuild.d.ts +14 -11
- package/dist/esm/node/vite/shared/isViteServerBuild.js +55 -31
- package/dist/esm/node/vite/shared/loggerVite.js +1 -1
- 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 +3 -5
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal.js +10 -21
- 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 +8 -8
- package/dist/esm/shared/createGlobalContextShared.js +38 -17
- package/dist/esm/shared/getPageFiles/{parseVirtualFileExports.d.ts → parseVirtualFileExportsGlobalEntry.d.ts} +2 -2
- package/dist/esm/shared/getPageFiles/{parseVirtualFileExports.js → parseVirtualFileExportsGlobalEntry.js} +20 -20
- package/dist/esm/shared/getPageFiles.d.ts +1 -1
- package/dist/esm/shared/hooks/execHook.d.ts +2 -2
- package/dist/esm/shared/hooks/getHook.d.ts +3 -3
- package/dist/esm/shared/modifyUrlSameOrigin.d.ts +1 -1
- package/dist/esm/shared/modifyUrlSameOrigin.js +9 -4
- package/dist/esm/shared/page-configs/loadPageEntry.d.ts +3 -0
- package/dist/esm/shared/page-configs/loadPageEntry.js +23 -0
- package/dist/esm/shared/page-configs/resolveVikeConfigPublic.d.ts +9 -9
- package/dist/esm/shared/page-configs/resolveVikeConfigPublic.js +4 -4
- package/dist/esm/shared/page-configs/serialize/PageConfigSerialized.d.ts +1 -1
- package/dist/esm/shared/page-configs/serialize/{parsePageConfigs.d.ts → parsePageConfigsSerialized.d.ts} +2 -2
- package/dist/esm/shared/page-configs/serialize/{parsePageConfigs.js → parsePageConfigsSerialized.js} +2 -2
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.d.ts +3 -2
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +17 -17
- 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/PageConfig.d.ts +9 -7
- package/dist/esm/types/VikeNamespace.d.ts +13 -0
- 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 +16 -7
- package/dist/cjs/node/shared/virtualFiles/virtualFileEntry.js +0 -29
- package/dist/cjs/node/shared/virtualFiles/virtualFilePageConfigLazy.js +0 -39
- package/dist/cjs/node/shared/virtualFiles.js +0 -41
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/isRuntimeEnvMatch.js +0 -23
- package/dist/cjs/node/vite/shared/applyRegExWithMagicString.js +0 -10
- package/dist/cjs/shared/page-configs/loadConfigValues.js +0 -21
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsDev.d.ts +0 -4
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.d.ts +0 -4
- package/dist/esm/node/shared/virtualFiles/virtualFileEntry.d.ts +0 -11
- package/dist/esm/node/shared/virtualFiles/virtualFileEntry.js +0 -26
- package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.d.ts +0 -9
- package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.js +0 -37
- package/dist/esm/node/shared/virtualFiles.d.ts +0 -8
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFileEntry.d.ts +0 -5
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigLazy.d.ts +0 -3
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/getVirtualFilePageConfigsEager.d.ts +0 -2
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/isRuntimeEnvMatch.d.ts +0 -7
- package/dist/esm/node/vite/plugins/pluginVirtualFiles/isRuntimeEnvMatch.js +0 -21
- package/dist/esm/node/vite/shared/applyRegExWithMagicString.d.ts +0 -3
- package/dist/esm/node/vite/shared/applyRegExWithMagicString.js +0 -8
- package/dist/esm/node/vite/shared/resolveClientEntriesDev.d.ts +0 -4
- package/dist/esm/shared/page-configs/loadConfigValues.d.ts +0 -3
- package/dist/esm/shared/page-configs/loadConfigValues.js +0 -19
|
@@ -4,7 +4,7 @@ export type { PageContextCreated };
|
|
|
4
4
|
import type { GlobalContextServerInternal } from '../globalContext.js';
|
|
5
5
|
import type { PageContextInit } from '../renderPage.js';
|
|
6
6
|
type PageContextCreated = Awaited<ReturnType<typeof createPageContextServerSide>>;
|
|
7
|
-
declare function createPageContextServerSide(pageContextInit: PageContextInit, globalContext: GlobalContextServerInternal,
|
|
7
|
+
declare function createPageContextServerSide(pageContextInit: PageContextInit, globalContext: GlobalContextServerInternal, args: {
|
|
8
8
|
isPrerendering: false;
|
|
9
9
|
ssr: {
|
|
10
10
|
urlHandler: null | ((url: string) => string);
|
|
@@ -26,7 +26,7 @@ declare function createPageContextServerSide(pageContextInit: PageContextInit, g
|
|
|
26
26
|
_globalContext: {
|
|
27
27
|
isGlobalContext: true;
|
|
28
28
|
_isOriginalObject: true;
|
|
29
|
-
|
|
29
|
+
_virtualFileExportsGlobalEntry: unknown;
|
|
30
30
|
_pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
|
|
31
31
|
_pageConfigs: import("../../../types/PageConfig.js").PageConfigRuntime[];
|
|
32
32
|
_pageConfigGlobal: import("../../../types/PageConfig.js").PageConfigGlobalRuntime;
|
|
@@ -39,26 +39,14 @@ declare function createPageContextServerSide(pageContextInit: PageContextInit, g
|
|
|
39
39
|
};
|
|
40
40
|
config: import("../../../types/index.js").ConfigResolved;
|
|
41
41
|
pages: {
|
|
42
|
-
[k: string]: import("../../../shared/page-configs/resolveVikeConfigPublic.js").
|
|
42
|
+
[k: string]: import("../../../shared/page-configs/resolveVikeConfigPublic.js").VikeConfigPublicPageEagerLoaded;
|
|
43
43
|
};
|
|
44
|
-
} & ({
|
|
44
|
+
} & (({
|
|
45
45
|
_isProduction: false;
|
|
46
46
|
_isPrerendering: false;
|
|
47
47
|
assetsManifest: null;
|
|
48
|
-
_viteDevServer: import("vite").ViteDevServer;
|
|
49
|
-
viteConfig: import("vite").ResolvedConfig;
|
|
50
|
-
viteConfigRuntime: {
|
|
51
|
-
root: string;
|
|
52
|
-
build: {
|
|
53
|
-
outDir: string;
|
|
54
|
-
};
|
|
55
|
-
_baseViteOriginal: string;
|
|
56
|
-
vitePluginServerEntry: {
|
|
57
|
-
inject: boolean | undefined;
|
|
58
|
-
};
|
|
59
|
-
};
|
|
60
|
-
baseServer: string;
|
|
61
|
-
baseAssets: string;
|
|
48
|
+
_viteDevServer: import("vite").ViteDevServer | undefined;
|
|
49
|
+
viteConfig: import("vite").ResolvedConfig | undefined;
|
|
62
50
|
isClientSide: false;
|
|
63
51
|
_pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
64
52
|
_onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
@@ -68,19 +56,7 @@ declare function createPageContextServerSide(pageContextInit: PageContextInit, g
|
|
|
68
56
|
_isProduction: true;
|
|
69
57
|
assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
|
|
70
58
|
_viteDevServer: null;
|
|
71
|
-
viteConfigRuntime: {
|
|
72
|
-
root: string;
|
|
73
|
-
build: {
|
|
74
|
-
outDir: string;
|
|
75
|
-
};
|
|
76
|
-
_baseViteOriginal: string;
|
|
77
|
-
vitePluginServerEntry: {
|
|
78
|
-
inject: boolean | undefined;
|
|
79
|
-
};
|
|
80
|
-
};
|
|
81
59
|
_usesClientRouter: boolean;
|
|
82
|
-
baseServer: string;
|
|
83
|
-
baseAssets: string;
|
|
84
60
|
isClientSide: false;
|
|
85
61
|
_pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
86
62
|
_onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
@@ -90,6 +66,13 @@ declare function createPageContextServerSide(pageContextInit: PageContextInit, g
|
|
|
90
66
|
_isProduction: true;
|
|
91
67
|
assetsManifest: import("../../../types/ViteManifest.js").ViteManifest;
|
|
92
68
|
_viteDevServer: null;
|
|
69
|
+
_usesClientRouter: boolean;
|
|
70
|
+
isClientSide: false;
|
|
71
|
+
_pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
72
|
+
_onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
73
|
+
}) & {
|
|
74
|
+
baseServer: string;
|
|
75
|
+
baseAssets: string;
|
|
93
76
|
viteConfigRuntime: {
|
|
94
77
|
root: string;
|
|
95
78
|
build: {
|
|
@@ -100,12 +83,6 @@ declare function createPageContextServerSide(pageContextInit: PageContextInit, g
|
|
|
100
83
|
inject: boolean | undefined;
|
|
101
84
|
};
|
|
102
85
|
};
|
|
103
|
-
_usesClientRouter: boolean;
|
|
104
|
-
baseServer: string;
|
|
105
|
-
baseAssets: string;
|
|
106
|
-
isClientSide: false;
|
|
107
|
-
_pageRoutes: import("../../../__internal/index.js").PageRoutes;
|
|
108
|
-
_onBeforeRouteHook: import("../../../shared/hooks/getHook.js").Hook | null;
|
|
109
86
|
});
|
|
110
87
|
_pageFilesAll: import("../../../shared/getPageFiles.js").PageFile[];
|
|
111
88
|
_baseServer: string;
|
|
@@ -3,12 +3,9 @@ export { createPageContextServerSideWithoutGlobalContext };
|
|
|
3
3
|
import { assert, assertUsage, assertWarning, augmentType, normalizeHeaders, objectAssign } from '../utils.js';
|
|
4
4
|
import { getPageContextUrlComputed } from '../../../shared/getPageContextUrlComputed.js';
|
|
5
5
|
import { createPageContextObject, createPageContextShared } from '../../../shared/createPageContextShared.js';
|
|
6
|
-
function createPageContextServerSide(pageContextInit, globalContext,
|
|
7
|
-
urlHandler: null,
|
|
8
|
-
isClientSideNavigation: false,
|
|
9
|
-
}, }) {
|
|
6
|
+
function createPageContextServerSide(pageContextInit, globalContext, args) {
|
|
10
7
|
assert(pageContextInit.urlOriginal);
|
|
11
|
-
const pageContextCreated = createPageContext(pageContextInit, isPrerendering);
|
|
8
|
+
const pageContextCreated = createPageContext(pageContextInit, args.isPrerendering);
|
|
12
9
|
objectAssign(pageContextCreated, {
|
|
13
10
|
_globalContext: globalContext,
|
|
14
11
|
_pageFilesAll: globalContext._pageFilesAll, // TO-DO/next-major-release: remove
|
|
@@ -17,8 +14,8 @@ function createPageContextServerSide(pageContextInit, globalContext, { isPrerend
|
|
|
17
14
|
_baseAssets: globalContext.baseAssets,
|
|
18
15
|
_pageContextInit: pageContextInit,
|
|
19
16
|
_urlRewrite: null,
|
|
20
|
-
_urlHandler: urlHandler,
|
|
21
|
-
isClientSideNavigation,
|
|
17
|
+
_urlHandler: args.ssr?.urlHandler ?? null,
|
|
18
|
+
isClientSideNavigation: args.ssr?.isClientSideNavigation ?? false,
|
|
22
19
|
});
|
|
23
20
|
objectAssign(pageContextCreated, globalContext._vikeConfigPublicGlobal);
|
|
24
21
|
// pageContext.urlParsed
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
export { execHookServer };
|
|
2
2
|
export type { PageContextExecHookServer };
|
|
3
3
|
import { type PageContextForPublicUsageServer } from './preparePageContextForPublicUsageServer.js';
|
|
4
|
-
import type {
|
|
4
|
+
import type { VikeConfigPublicPageLazyLoaded } from '../../../shared/getPageFiles.js';
|
|
5
5
|
import type { HookName } from '../../../types/Config.js';
|
|
6
|
-
type PageContextExecHookServer =
|
|
6
|
+
type PageContextExecHookServer = VikeConfigPublicPageLazyLoaded & PageContextForPublicUsageServer;
|
|
7
7
|
declare function execHookServer(hookName: HookName, pageContext: PageContextExecHookServer): Promise<(import("../../../shared/hooks/getHook.js").HookLoc & {
|
|
8
8
|
hookFn: (arg: import("../../../shared/preparePageContextForPublicUsage.js").PageContextPrepareMinimum | import("../../../shared/prepareGlobalContextForPublicUsage.js").GlobalContextPrepareMinimum) => unknown;
|
|
9
9
|
hookTimeout: import("../../../shared/hooks/getHook.js").HookTimeout;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
export { getManifestEntry };
|
|
2
2
|
import { assert, slice, assertIsImportPathNpmPackage } from '../../utils.js';
|
|
3
|
-
import {
|
|
3
|
+
import { parseVirtualFileId } from '../../../shared/virtualFileId.js';
|
|
4
4
|
import { prependEntriesDir } from '../../../shared/prependEntriesDir.js';
|
|
5
5
|
function getManifestEntry(id, assetsManifest) {
|
|
6
6
|
const debugInfo = getDebugInfo(id, assetsManifest);
|
|
@@ -12,7 +12,8 @@ function getManifestEntry(id, assetsManifest) {
|
|
|
12
12
|
return { manifestEntry, manifestKey };
|
|
13
13
|
}
|
|
14
14
|
// Page code importer
|
|
15
|
-
|
|
15
|
+
const virtualFile = parseVirtualFileId(id);
|
|
16
|
+
if (virtualFile && virtualFile.type === 'page-entry') {
|
|
16
17
|
{
|
|
17
18
|
const manifestKey = id;
|
|
18
19
|
const manifestEntry = assetsManifest[manifestKey];
|
|
@@ -22,9 +23,9 @@ function getManifestEntry(id, assetsManifest) {
|
|
|
22
23
|
}
|
|
23
24
|
// Workaround for what seems to be a Vite bug when process.cwd() !== config.root
|
|
24
25
|
// - Manifest key is:
|
|
25
|
-
// ../../virtual:vike:
|
|
26
|
+
// ../../virtual:vike:page-entry:client:/pages/index
|
|
26
27
|
// But it should be this instead:
|
|
27
|
-
// virtual:vike:
|
|
28
|
+
// virtual:vike:page-entry:client:/pages/index
|
|
28
29
|
// - This workaround was implemented to support Vitest running /tests/*
|
|
29
30
|
// - I don't know whether end users actually need this workaround? (I'm not sure what the bug actually is.)
|
|
30
31
|
const manifestKeyEnd = id;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { retrievePageAssetsDev };
|
|
2
|
+
export { setGetClientEntrySrcDev };
|
|
3
|
+
import type { ViteDevServer } from 'vite';
|
|
4
|
+
import type { ClientDependency } from '../../../../shared/getPageFiles/analyzePageClientSide/ClientDependency.js';
|
|
5
|
+
import type { GetClientEntrySrcDev } from '../../../vite/shared/getClientEntrySrcDev.js';
|
|
6
|
+
declare function retrievePageAssetsDev(viteDevServer: ViteDevServer, clientDependencies: ClientDependency[], clientEntries: string[]): Promise<{
|
|
7
|
+
clientEntriesSrc: string[];
|
|
8
|
+
assetUrls: string[];
|
|
9
|
+
}>;
|
|
10
|
+
declare function setGetClientEntrySrcDev(getClientEntrySrcDev: GetClientEntrySrcDev): void;
|
|
@@ -1,11 +1,27 @@
|
|
|
1
|
-
export {
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
export { retrievePageAssetsDev };
|
|
2
|
+
export { setGetClientEntrySrcDev };
|
|
3
|
+
import { assert, getGlobalObject, styleFileRE } from '../../utils.js';
|
|
4
|
+
import { parseVirtualFileId } from '../../../shared/virtualFileId.js';
|
|
5
|
+
const globalObject = getGlobalObject('getPageAssets/retrievePageAssetsDev.ts', {
|
|
6
|
+
// We cannot define getClientEntrySrcDev() in this file because it depends on utils/requireResolve.ts which isn't available in production
|
|
7
|
+
getClientEntrySrcDev: null,
|
|
8
|
+
});
|
|
9
|
+
async function retrievePageAssetsDev(viteDevServer, clientDependencies, clientEntries) {
|
|
10
|
+
const clientEntriesSrc = clientEntries.map((clientEntry) => globalObject.getClientEntrySrcDev(clientEntry, viteDevServer));
|
|
11
|
+
const assetUrls = await getAssetUrls(clientDependencies, viteDevServer);
|
|
12
|
+
return { clientEntriesSrc, assetUrls };
|
|
13
|
+
}
|
|
14
|
+
function setGetClientEntrySrcDev(getClientEntrySrcDev) {
|
|
15
|
+
globalObject.getClientEntrySrcDev = getClientEntrySrcDev;
|
|
16
|
+
}
|
|
17
|
+
async function getAssetUrls(clientDependencies, viteDevServer) {
|
|
4
18
|
const assetUrls = new Set();
|
|
5
19
|
await Promise.all(clientDependencies.map(async ({ id }) => {
|
|
6
20
|
if (id.startsWith('@@vike'))
|
|
7
21
|
return; // vike doesn't have any CSS
|
|
8
22
|
assert(id);
|
|
23
|
+
const virtualFile = parseVirtualFileId(id);
|
|
24
|
+
assert(!virtualFile || virtualFile.type !== 'global-entry');
|
|
9
25
|
const { moduleGraph } = viteDevServer;
|
|
10
26
|
const [_, graphId] = await moduleGraph.resolveUrl(id);
|
|
11
27
|
assert(graphId, { id });
|
|
@@ -32,6 +48,9 @@ function collectCss(mod, styleUrls, visitedModules, importer) {
|
|
|
32
48
|
if (visitedModules.has(mod.url))
|
|
33
49
|
return;
|
|
34
50
|
visitedModules.add(mod.url);
|
|
51
|
+
const virtualFile = parseVirtualFileId(mod.id || mod.url);
|
|
52
|
+
if (virtualFile && virtualFile.type === 'global-entry')
|
|
53
|
+
return; // virtual:vike:global-entry:server dependency list includes all pages
|
|
35
54
|
if (isStyle(mod) && (!importer || !isStyle(importer))) {
|
|
36
55
|
if (mod.url.startsWith('/')) {
|
|
37
56
|
styleUrls.add(mod.url);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export { retrievePageAssetsProd };
|
|
2
|
+
export { resolveIncludeAssetsImportedByServer };
|
|
3
|
+
import type { ViteManifest } from '../../../../types/ViteManifest.js';
|
|
4
|
+
import type { ClientDependency } from '../../../../shared/getPageFiles/analyzePageClientSide/ClientDependency.js';
|
|
5
|
+
import type { ConfigResolved } from '../../../../types/index.js';
|
|
6
|
+
declare function retrievePageAssetsProd(assetsManifest: ViteManifest, clientDependencies: ClientDependency[], clientEntries: string[], config: ConfigResolved): {
|
|
7
|
+
clientEntriesSrc: string[];
|
|
8
|
+
assetUrls: string[];
|
|
9
|
+
};
|
|
10
|
+
declare function resolveIncludeAssetsImportedByServer(config: ConfigResolved): boolean;
|
|
@@ -1,8 +1,22 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { retrievePageAssetsProd };
|
|
2
|
+
export { resolveIncludeAssetsImportedByServer };
|
|
2
3
|
import { assert, isImportPathNpmPackage } from '../../utils.js';
|
|
3
4
|
import { getManifestEntry } from './getManifestEntry.js';
|
|
4
5
|
import { extractAssetsAddQuery } from '../../../shared/extractAssetsQuery.js';
|
|
5
|
-
function
|
|
6
|
+
function retrievePageAssetsProd(assetsManifest, clientDependencies, clientEntries, config) {
|
|
7
|
+
const clientEntriesSrc = clientEntries.map((clientEntry) => getClientEntrySrcProd(clientEntry, assetsManifest));
|
|
8
|
+
const assetUrls = getAssetsUrl(clientDependencies, assetsManifest, config);
|
|
9
|
+
return { clientEntriesSrc, assetUrls };
|
|
10
|
+
}
|
|
11
|
+
function getClientEntrySrcProd(clientEntry, assetsManifest) {
|
|
12
|
+
const { manifestEntry } = getManifestEntry(clientEntry, assetsManifest);
|
|
13
|
+
assert(manifestEntry.isEntry || manifestEntry.isDynamicEntry || clientEntry.endsWith('.css'), { clientEntry });
|
|
14
|
+
let { file } = manifestEntry;
|
|
15
|
+
assert(!file.startsWith('/'));
|
|
16
|
+
return '/' + file;
|
|
17
|
+
}
|
|
18
|
+
function getAssetsUrl(clientDependencies, assetsManifest, config) {
|
|
19
|
+
const includeAssetsImportedByServer = resolveIncludeAssetsImportedByServer(config);
|
|
6
20
|
let assetUrls = new Set();
|
|
7
21
|
assert(assetsManifest);
|
|
8
22
|
const visistedAssets = new Set();
|
|
@@ -56,3 +70,6 @@ function collectSingleStyle(assetUrls, assetsManifest) {
|
|
|
56
70
|
assetUrls.add(`/${style.file}`);
|
|
57
71
|
}
|
|
58
72
|
}
|
|
73
|
+
function resolveIncludeAssetsImportedByServer(config) {
|
|
74
|
+
return config.includeAssetsImportedByServer ?? true;
|
|
75
|
+
}
|
|
@@ -1,14 +1,10 @@
|
|
|
1
1
|
export { getPageAssets };
|
|
2
|
-
export { setResolveClientEntriesDev };
|
|
3
|
-
export { resolveIncludeAssetsImportedByServer };
|
|
4
2
|
export type { PageAsset };
|
|
5
3
|
export type { GetPageAssets };
|
|
6
4
|
export type { PageContextGetPageAssets };
|
|
7
5
|
import { type MediaType } from './inferMediaType.js';
|
|
8
6
|
import type { ClientDependency } from '../../../shared/getPageFiles/analyzePageClientSide/ClientDependency.js';
|
|
9
7
|
import type { GlobalContextServerInternal } from '../globalContext.js';
|
|
10
|
-
import type { ResolveClientEntriesDev } from '../../vite/shared/resolveClientEntriesDev.js';
|
|
11
|
-
import type { ConfigResolved } from '../../../types/index.js';
|
|
12
8
|
type PageAsset = {
|
|
13
9
|
src: string;
|
|
14
10
|
assetType: null | NonNullable<MediaType>['assetType'];
|
|
@@ -22,5 +18,3 @@ type PageContextGetPageAssets = {
|
|
|
22
18
|
_globalContext: GlobalContextServerInternal;
|
|
23
19
|
};
|
|
24
20
|
declare function getPageAssets(pageContext: PageContextGetPageAssets, clientDependencies: ClientDependency[], clientEntries: string[]): Promise<PageAsset[]>;
|
|
25
|
-
declare function setResolveClientEntriesDev(resolveClientEntriesDev: ResolveClientEntriesDev): void;
|
|
26
|
-
declare function resolveIncludeAssetsImportedByServer(config: ConfigResolved): boolean;
|
|
@@ -1,31 +1,18 @@
|
|
|
1
1
|
export { getPageAssets };
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
import { assert, prependBase, toPosixPath, unique, getGlobalObject } from '../utils.js';
|
|
5
|
-
import { retrieveAssetsDev } from './getPageAssets/retrieveAssetsDev.js';
|
|
6
|
-
import { retrieveAssetsProd } from './getPageAssets/retrieveAssetsProd.js';
|
|
2
|
+
import { retrievePageAssetsProd } from './getPageAssets/retrievePageAssetsProd.js';
|
|
3
|
+
import { retrievePageAssetsDev } from './getPageAssets/retrievePageAssetsDev.js';
|
|
7
4
|
import { inferMediaType } from './inferMediaType.js';
|
|
8
|
-
import { getManifestEntry } from './getPageAssets/getManifestEntry.js';
|
|
9
5
|
import { sortPageAssetsForEarlyHintsHeader } from './getPageAssets/sortPageAssetsForEarlyHintsHeader.js';
|
|
10
|
-
|
|
11
|
-
resolveClientEntriesDev: null,
|
|
12
|
-
});
|
|
6
|
+
import { assert, prependBase, toPosixPath, unique, getViteRPC } from '../utils.js';
|
|
13
7
|
async function getPageAssets(pageContext, clientDependencies, clientEntries) {
|
|
14
8
|
const globalContext = pageContext._globalContext;
|
|
15
9
|
const { _isProduction: isProduction } = globalContext;
|
|
16
10
|
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
|
-
}
|
|
11
|
+
const { assetUrls, clientEntriesSrc } = isDev
|
|
12
|
+
? !globalContext._viteDevServer
|
|
13
|
+
? await getViteRPC().retrievePageAssetsDevRPC(clientDependencies, clientEntries)
|
|
14
|
+
: await retrievePageAssetsDev(globalContext._viteDevServer, clientDependencies, clientEntries)
|
|
15
|
+
: retrievePageAssetsProd(globalContext.assetsManifest, clientDependencies, clientEntries, globalContext.config);
|
|
29
16
|
let pageAssets = [];
|
|
30
17
|
unique([...clientEntriesSrc, ...assetUrls]).forEach((src) => {
|
|
31
18
|
const { mediaType = null, assetType = null } = inferMediaType(src) || {};
|
|
@@ -59,16 +46,3 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
|
|
|
59
46
|
await sortPageAssetsForEarlyHintsHeader(pageAssets, isProduction);
|
|
60
47
|
return pageAssets;
|
|
61
48
|
}
|
|
62
|
-
function resolveClientEntriesProd(clientEntry, assetsManifest) {
|
|
63
|
-
const { manifestEntry } = getManifestEntry(clientEntry, assetsManifest);
|
|
64
|
-
assert(manifestEntry.isEntry || manifestEntry.isDynamicEntry || clientEntry.endsWith('.css'), { clientEntry });
|
|
65
|
-
let { file } = manifestEntry;
|
|
66
|
-
assert(!file.startsWith('/'));
|
|
67
|
-
return '/' + file;
|
|
68
|
-
}
|
|
69
|
-
function setResolveClientEntriesDev(resolveClientEntriesDev) {
|
|
70
|
-
globalObject.resolveClientEntriesDev = resolveClientEntriesDev;
|
|
71
|
-
}
|
|
72
|
-
function resolveIncludeAssetsImportedByServer(config) {
|
|
73
|
-
return config.includeAssetsImportedByServer ?? true;
|
|
74
|
-
}
|
|
@@ -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
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export { loadPageConfigsLazyServerSideAndExecHook };
|
|
2
2
|
export type { PageContext_loadPageConfigsLazyServerSide };
|
|
3
3
|
export type { PageConfigsLazy };
|
|
4
|
-
import { type
|
|
4
|
+
import { type VikeConfigPublicPageLazyLoaded } from '../../../shared/getPageFiles.js';
|
|
5
5
|
import { PromiseType } from '../utils.js';
|
|
6
6
|
import { PageContextGetPageAssets, type PageAsset } from './getPageAssets.js';
|
|
7
7
|
import { type PageContextDebugRouteMatches } from './debugPageFiles.js';
|
|
@@ -15,7 +15,7 @@ type PageContext_loadPageConfigsLazyServerSide = PageContextGetPageAssets & Page
|
|
|
15
15
|
_globalContext: GlobalContextServerInternal;
|
|
16
16
|
};
|
|
17
17
|
type PageConfigsLazy = PromiseType<ReturnType<typeof loadPageConfigsLazyServerSide>>;
|
|
18
|
-
declare function loadPageConfigsLazyServerSideAndExecHook<PageContext extends PageContext_loadPageConfigsLazyServerSide & PageContextExecuteHook>(pageContext: PageContext): Promise<PageContext &
|
|
18
|
+
declare function loadPageConfigsLazyServerSideAndExecHook<PageContext extends PageContext_loadPageConfigsLazyServerSide & PageContextExecuteHook>(pageContext: PageContext): Promise<PageContext & VikeConfigPublicPageLazyLoaded & {
|
|
19
19
|
Page: unknown;
|
|
20
20
|
_isHtmlOnly: boolean;
|
|
21
21
|
_passToClient: PassToClient;
|
|
@@ -24,7 +24,7 @@ declare function loadPageConfigsLazyServerSideAndExecHook<PageContext extends Pa
|
|
|
24
24
|
} & {
|
|
25
25
|
__getPageAssets: () => Promise<PageAsset[]>;
|
|
26
26
|
}>;
|
|
27
|
-
declare function loadPageConfigsLazyServerSide(pageContext: PageContext_loadPageConfigsLazyServerSide): Promise<
|
|
27
|
+
declare function loadPageConfigsLazyServerSide(pageContext: PageContext_loadPageConfigsLazyServerSide): Promise<VikeConfigPublicPageLazyLoaded & {
|
|
28
28
|
Page: unknown;
|
|
29
29
|
_isHtmlOnly: boolean;
|
|
30
30
|
_passToClient: PassToClient;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
export { loadPageConfigsLazyServerSideAndExecHook };
|
|
2
|
-
import { getPageFilesServerSide } from '../../../shared/getPageFiles.js';
|
|
3
|
-
import {
|
|
2
|
+
import { getPageFilesServerSide, } from '../../../shared/getPageFiles.js';
|
|
3
|
+
import { resolveVikeConfigPublicPageLazyLoaded } 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';
|
|
9
9
|
import { analyzePage } from './analyzePage.js';
|
|
10
|
-
import {
|
|
10
|
+
import { loadPageEntry } from '../../../shared/page-configs/loadPageEntry.js';
|
|
11
11
|
import { execHookServer } from './execHookServer.js';
|
|
12
12
|
import { getCacheControl } from './getCacheControl.js';
|
|
13
13
|
async function loadPageConfigsLazyServerSideAndExecHook(pageContext) {
|
|
@@ -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 = {};
|
|
@@ -105,9 +119,9 @@ async function loadPageConfigsLazyServerSide(pageContext) {
|
|
|
105
119
|
}
|
|
106
120
|
async function loadPageConfigFiles(pageFilesAll, pageConfig, pageConfigGlobal, pageId, isDev) {
|
|
107
121
|
const pageFilesServerSide = getPageFilesServerSide(pageFilesAll, pageId);
|
|
108
|
-
const pageConfigLoaded = !pageConfig ? null : await
|
|
122
|
+
const pageConfigLoaded = !pageConfig ? null : await loadPageEntry(pageConfig, isDev);
|
|
109
123
|
await Promise.all(pageFilesServerSide.map((p) => p.loadFile?.()));
|
|
110
|
-
const configPublicPageLazy =
|
|
124
|
+
const configPublicPageLazy = resolveVikeConfigPublicPageLazyLoaded(pageFilesServerSide, pageConfigLoaded, pageConfigGlobal);
|
|
111
125
|
return {
|
|
112
126
|
configPublicPageLazy,
|
|
113
127
|
pageFilesLoaded: pageFilesServerSide,
|
|
@@ -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;
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
export { preparePageContextForPublicUsageServer };
|
|
2
2
|
export type { PageContextForPublicUsageServer };
|
|
3
3
|
import type { PageContextUrlInternal } from '../../../shared/getPageContextUrlComputed.js';
|
|
4
|
-
import type {
|
|
4
|
+
import type { VikeConfigPublicPageLazyLoaded } from '../../../shared/page-configs/resolveVikeConfigPublic.js';
|
|
5
5
|
import type { PageContextInternalServer } from '../../../types/PageContext.js';
|
|
6
6
|
import type { GlobalContextServerInternal } from '../globalContext.js';
|
|
7
|
-
type PageContextForPublicUsageServer = PageContextInternalServer &
|
|
7
|
+
type PageContextForPublicUsageServer = PageContextInternalServer & VikeConfigPublicPageLazyLoaded & {
|
|
8
8
|
urlOriginal: string;
|
|
9
9
|
/** @deprecated */
|
|
10
10
|
url: string;
|
|
@@ -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;
|