vike 0.4.236 → 0.4.237-commit-8749e81
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 +56 -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 +58 -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
|
@@ -37,8 +37,8 @@ exports.getGlobalContextClientInternal = void 0;
|
|
|
37
37
|
const createGetGlobalContextClient_js_1 = require("../shared/createGetGlobalContextClient.js");
|
|
38
38
|
const loadPageRoutes_js_1 = require("../../shared/route/loadPageRoutes.js");
|
|
39
39
|
// @ts-ignore
|
|
40
|
-
const
|
|
41
|
-
const getGlobalContextClientInternal = (0, createGetGlobalContextClient_js_1.createGetGlobalContextClient)(
|
|
40
|
+
const virtualFileExportsGlobalEntry = __importStar(require("virtual:vike:global-entry:client:client-routing"));
|
|
41
|
+
const getGlobalContextClientInternal = (0, createGetGlobalContextClient_js_1.createGetGlobalContextClient)(virtualFileExportsGlobalEntry, true, addGlobalContext);
|
|
42
42
|
exports.getGlobalContextClientInternal = getGlobalContextClientInternal;
|
|
43
43
|
async function addGlobalContext(globalContext) {
|
|
44
44
|
const { pageRoutes, onBeforeRouteHook } = await (0, loadPageRoutes_js_1.loadPageRoutes)(globalContext._pageFilesAll, globalContext._pageConfigs, globalContext._pageConfigGlobal, globalContext._allPageIds);
|
|
@@ -36,6 +36,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
36
36
|
exports.getGlobalContextClientInternal = void 0;
|
|
37
37
|
const createGetGlobalContextClient_js_1 = require("../shared/createGetGlobalContextClient.js");
|
|
38
38
|
// @ts-ignore
|
|
39
|
-
const
|
|
40
|
-
const getGlobalContextClientInternal = (0, createGetGlobalContextClient_js_1.createGetGlobalContextClient)(
|
|
39
|
+
const virtualFileExportsGlobalEntry = __importStar(require("virtual:vike:global-entry:client:server-routing"));
|
|
40
|
+
const getGlobalContextClientInternal = (0, createGetGlobalContextClient_js_1.createGetGlobalContextClient)(virtualFileExportsGlobalEntry, false);
|
|
41
41
|
exports.getGlobalContextClientInternal = getGlobalContextClientInternal;
|
|
@@ -7,32 +7,34 @@ const createGlobalContextShared_js_1 = require("../../shared/createGlobalContext
|
|
|
7
7
|
const getJsonSerializedInHtml_js_1 = require("./getJsonSerializedInHtml.js");
|
|
8
8
|
const utils_js_1 = require("./utils.js");
|
|
9
9
|
const globalObject = (0, utils_js_1.getGlobalObject)('createGetGlobalContextClient.ts', (() => {
|
|
10
|
-
const { promise:
|
|
10
|
+
const { promise: globalContextInitialPromise, resolve: globalContextInitialPromiseResolve } = (0, utils_js_1.genPromise)();
|
|
11
11
|
return {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
globalContextInitialPromise,
|
|
13
|
+
globalContextInitialPromiseResolve,
|
|
14
14
|
};
|
|
15
15
|
})());
|
|
16
|
-
function createGetGlobalContextClient(
|
|
16
|
+
function createGetGlobalContextClient(virtualFileExportsGlobalEntry, isClientRouting, addGlobalContext) {
|
|
17
17
|
(0, utils_js_1.assert)(globalObject.isClientRouting === undefined || globalObject.isClientRouting === isClientRouting);
|
|
18
18
|
globalObject.isClientRouting = isClientRouting;
|
|
19
19
|
// Eagerly call onCreateGlobalContext() hook
|
|
20
20
|
getGlobalContext();
|
|
21
21
|
return getGlobalContext;
|
|
22
22
|
async function getGlobalContext() {
|
|
23
|
-
//
|
|
24
|
-
if (globalObject.
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
23
|
+
// HMR => virtualFileExportsGlobalEntry differ
|
|
24
|
+
if (globalObject.virtualFileExportsGlobalEntry === virtualFileExportsGlobalEntry) {
|
|
25
|
+
const globalContext = await globalObject.globalContextPromise;
|
|
26
|
+
return globalContext;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
globalObject.virtualFileExportsGlobalEntry = virtualFileExportsGlobalEntry;
|
|
28
30
|
}
|
|
29
31
|
// Create
|
|
30
|
-
const
|
|
32
|
+
const globalContextPromise = (0, createGlobalContextShared_js_1.createGlobalContextShared)(virtualFileExportsGlobalEntry, globalObject, undefined, async (globalContext) => {
|
|
31
33
|
const globalContextAddendum = {
|
|
32
34
|
/**
|
|
33
35
|
* Whether the environment is client-side or server-side / pre-rendering.
|
|
34
36
|
*
|
|
35
|
-
* We recommend using `
|
|
37
|
+
* We recommend using `({}).SSR` instead, see https://vike.dev/globalContext
|
|
36
38
|
*/
|
|
37
39
|
isClientSide: true,
|
|
38
40
|
};
|
|
@@ -40,18 +42,24 @@ function createGetGlobalContextClient(virtualFileExports, isClientRouting, addGl
|
|
|
40
42
|
(0, utils_js_1.objectAssign)(globalContextAddendum, await addGlobalContext?.(globalContext));
|
|
41
43
|
return globalContextAddendum;
|
|
42
44
|
});
|
|
43
|
-
|
|
44
|
-
|
|
45
|
+
globalObject.globalContextPromise = globalContextPromise;
|
|
46
|
+
const globalContext = await globalContextPromise;
|
|
47
|
+
(0, utils_js_1.assert)(globalObject.globalContext === globalContext);
|
|
48
|
+
globalObject.globalContextInitialPromiseResolve();
|
|
45
49
|
// Return
|
|
46
50
|
return globalContext;
|
|
47
51
|
}
|
|
48
52
|
}
|
|
49
53
|
async function getGlobalContext() {
|
|
54
|
+
await globalObject.globalContextInitialPromise;
|
|
50
55
|
const globalContext = await globalObject.globalContextPromise;
|
|
56
|
+
(0, utils_js_1.assert)(globalContext);
|
|
57
|
+
(0, utils_js_1.checkType)(globalContext);
|
|
51
58
|
return globalContext;
|
|
52
59
|
}
|
|
53
60
|
function getGlobalContextSync() {
|
|
54
61
|
const { globalContext } = globalObject;
|
|
55
62
|
(0, utils_js_1.assertUsage)(globalContext, createGlobalContextShared_js_1.getGlobalContextSyncErrMsg);
|
|
63
|
+
(0, utils_js_1.checkType)(globalContext);
|
|
56
64
|
return globalContext;
|
|
57
65
|
}
|
|
@@ -26,6 +26,15 @@ function findAndParseJson(id) {
|
|
|
26
26
|
`Couldn't find #${id} (which Vike automatically injects in the HTML): make sure it exists (i.e. don't remove it and make sure your HTML isn't malformed)`);
|
|
27
27
|
const jsonStr = elem.textContent;
|
|
28
28
|
(0, utils_js_1.assert)(jsonStr);
|
|
29
|
-
const json = (0, parse_1.parse)(jsonStr
|
|
29
|
+
const json = (0, parse_1.parse)(jsonStr, {
|
|
30
|
+
// Prevent Google from crawling URLs in JSON:
|
|
31
|
+
// - https://github.com/vikejs/vike/pull/2603
|
|
32
|
+
// - https://github.com/brillout/json-serializer/blob/38edbb9945de4938da1e65d6285ce1dd123a45ef/test/main.spec.ts#L44-L95
|
|
33
|
+
reviver(_key, value) {
|
|
34
|
+
if (typeof value === 'string') {
|
|
35
|
+
return { replacement: value.replaceAll('\\/', '/'), resolved: false };
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
});
|
|
30
39
|
return json;
|
|
31
40
|
}
|
|
@@ -20,3 +20,4 @@ __exportStar(require("../../utils/getGlobalObject.js"), exports);
|
|
|
20
20
|
__exportStar(require("../../utils/objectAssign.js"), exports);
|
|
21
21
|
__exportStar(require("../../utils/hasProp.js"), exports);
|
|
22
22
|
__exportStar(require("../../utils/genPromise.js"), exports);
|
|
23
|
+
__exportStar(require("../../utils/checkType.js"), exports);
|
|
@@ -21,7 +21,7 @@ async function preview(options = {}) {
|
|
|
21
21
|
(0, utils_js_2.onSetupPreview)();
|
|
22
22
|
const { viteConfigFromUserEnhanced, viteConfigResolved } = await (0, prepareViteApiCall_js_1.prepareViteApiCall)(options, 'preview');
|
|
23
23
|
if (viteConfigResolved.vitePluginServerEntry?.inject) {
|
|
24
|
-
const outDir = (0, getOutDirs_js_1.getOutDirs)(viteConfigResolved).outDirRoot;
|
|
24
|
+
const outDir = (0, getOutDirs_js_1.getOutDirs)(viteConfigResolved, undefined).outDirRoot;
|
|
25
25
|
const { outServerIndex } = await (0, runtime_1.importServerProductionIndex)({ outDir });
|
|
26
26
|
const outServerIndexRelative = node_path_1.default.relative(viteConfigResolved.root, outServerIndex);
|
|
27
27
|
(0, utils_js_1.assertWarning)(false, `Never run ${picocolors_1.default.cyan('$ vike preview')} in production, run ${picocolors_1.default.cyan(`$ node ${outServerIndexRelative}`)} instead (or Bun/Deno).`, { onlyOnce: true });
|
|
@@ -53,7 +53,7 @@ const getPageFiles_js_1 = require("../../shared/getPageFiles.js");
|
|
|
53
53
|
const getPageContextRequestUrl_js_1 = require("../../shared/getPageContextRequestUrl.js");
|
|
54
54
|
const resolveRouteString_js_1 = require("../../shared/route/resolveRouteString.js");
|
|
55
55
|
const getConfigValueRuntime_js_1 = require("../../shared/page-configs/getConfigValueRuntime.js");
|
|
56
|
-
const
|
|
56
|
+
const loadPageEntry_js_1 = require("../../shared/page-configs/loadPageEntry.js");
|
|
57
57
|
const error_page_js_1 = require("../../shared/error-page.js");
|
|
58
58
|
const abort_js_1 = require("../../shared/route/abort.js");
|
|
59
59
|
const loadPageConfigsLazyServerSide_js_1 = require("../runtime/renderPage/loadPageConfigsLazyServerSide.js");
|
|
@@ -82,7 +82,7 @@ async function runPrerender(options = {}, trigger) {
|
|
|
82
82
|
await disableReactStreaming();
|
|
83
83
|
const viteConfig = await (0, vite_1.resolveConfig)(options.viteConfig || {}, 'build', 'production');
|
|
84
84
|
const vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)();
|
|
85
|
-
const { outDirServer } = (0, getOutDirs_js_1.getOutDirs)(viteConfig);
|
|
85
|
+
const { outDirServer } = (0, getOutDirs_js_1.getOutDirs)(viteConfig, undefined);
|
|
86
86
|
const prerenderConfigGlobal = (0, resolvePrerenderConfig_js_1.resolvePrerenderConfigGlobal)(vikeConfig);
|
|
87
87
|
const { partial, noExtraDir, parallel, defaultLocalValue, isPrerenderingEnabled } = prerenderConfigGlobal;
|
|
88
88
|
if (!isPrerenderingEnabled) {
|
|
@@ -212,7 +212,7 @@ async function callOnBeforePrerenderStartHooks(prerenderContext, globalContext,
|
|
|
212
212
|
// V1 design
|
|
213
213
|
await Promise.all(globalContext._pageConfigs.map((pageConfig) => concurrencyLimit(async () => {
|
|
214
214
|
const hookName = 'onBeforePrerenderStart';
|
|
215
|
-
const pageConfigLoaded = await (0,
|
|
215
|
+
const pageConfigLoaded = await (0, loadPageEntry_js_1.loadPageEntry)(pageConfig, false);
|
|
216
216
|
const hook = (0, getHook_js_1.getHookFromPageConfig)(pageConfigLoaded, hookName);
|
|
217
217
|
if (!hook)
|
|
218
218
|
return;
|
|
@@ -590,7 +590,7 @@ async function writeFiles({ pageContext, htmlString, pageContextSerialized }, vi
|
|
|
590
590
|
async function write(pageContext, fileType, fileContent, viteConfig, onPagePrerender, prerenderContext, logLevel) {
|
|
591
591
|
const { urlOriginal } = pageContext;
|
|
592
592
|
(0, utils_js_1.assert)(urlOriginal.startsWith('/'));
|
|
593
|
-
const { outDirClient } = (0, getOutDirs_js_1.getOutDirs)(viteConfig);
|
|
593
|
+
const { outDirClient } = (0, getOutDirs_js_1.getOutDirs)(viteConfig, undefined);
|
|
594
594
|
const { root } = viteConfig;
|
|
595
595
|
let fileUrl;
|
|
596
596
|
if (fileType === 'HTML') {
|
|
@@ -21,17 +21,23 @@ exports.setGlobalContext_buildEntry = setGlobalContext_buildEntry;
|
|
|
21
21
|
exports.clearGlobalContext = clearGlobalContext;
|
|
22
22
|
exports.assertBuildInfo = assertBuildInfo;
|
|
23
23
|
exports.updateUserFiles = updateUserFiles;
|
|
24
|
+
// TODO/now: use isProductionEnvironment() instead of globalObject.isProduction
|
|
25
|
+
// TODO/now: rename:
|
|
26
|
+
// - isProduction => isProductionEnvironment
|
|
27
|
+
// - setIsProduction => setIsProductionEnvironment
|
|
28
|
+
// - setGlobalContext_isProduction => setGlobalContext_isProductionEnvironment
|
|
29
|
+
// - sProductionEnvironment => sDevEnv
|
|
24
30
|
// The core logic revolves around:
|
|
25
|
-
// -
|
|
31
|
+
// - virtualFileExportsGlobalEntry is the main requirement
|
|
26
32
|
// - In production: globalObject.buildEntry which is the production entry set by @brillout/vite-plugin-server-entry
|
|
27
|
-
// - loadBuildEntry() sets globalObject.buildEntry and then sets
|
|
33
|
+
// - loadBuildEntry() sets globalObject.buildEntry and then sets virtualFileExportsGlobalEntry
|
|
28
34
|
// - With vike-server it's set at server start: @brillout/vite-plugin-server-entry injects `import './entry.mjs'` (the production entry generated by @brillout/vite-plugin-server-entry) as first line of code of dist/server/index.mjs while dist/server/entry.mjs calls setGlobalContext_buildEntry()
|
|
29
35
|
// - Without vike-server it's manually loaded here using importServerProductionEntry() which uses @brillout/vite-plugin-server-entry's autoImporter or crawler
|
|
30
36
|
// - In development: globalObject.viteDevServer which is Vite's development server
|
|
31
|
-
// - globalObject.viteDevServer is used by updateUserFiles() which then sets
|
|
37
|
+
// - globalObject.viteDevServer is used by updateUserFiles() which then sets virtualFileExportsGlobalEntry
|
|
32
38
|
const utils_js_1 = require("./utils.js");
|
|
33
39
|
const runtime_1 = require("@brillout/vite-plugin-server-entry/runtime");
|
|
34
|
-
const
|
|
40
|
+
const virtualFileId_js_1 = require("../shared/virtualFileId.js");
|
|
35
41
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
36
42
|
const loadPageRoutes_js_1 = require("../../shared/route/loadPageRoutes.js");
|
|
37
43
|
const assertV1Design_js_1 = require("../shared/assertV1Design.js");
|
|
@@ -48,6 +54,7 @@ const globalObject = (0, utils_js_1.getGlobalObject)('runtime/globalContext.ts',
|
|
|
48
54
|
const globalObjectTyped = globalObject;
|
|
49
55
|
const vikeConfigErrorRecoverMsg = picocolors_1.default.bold(picocolors_1.default.green('Vike config loaded'));
|
|
50
56
|
exports.vikeConfigErrorRecoverMsg = vikeConfigErrorRecoverMsg;
|
|
57
|
+
(0, utils_js_1.assertIsNotBrowser)();
|
|
51
58
|
async function getGlobalContextServerInternal() {
|
|
52
59
|
// getGlobalContextServerInternal() should always be called after initGlobalContext()
|
|
53
60
|
(0, utils_js_1.assert)(globalObject.isInitialized);
|
|
@@ -134,10 +141,12 @@ async function setGlobalContext_viteDevServer(viteDevServer) {
|
|
|
134
141
|
(0, utils_js_1.assert)(globalObject.viteConfig);
|
|
135
142
|
globalObject.viteDevServer = viteDevServer;
|
|
136
143
|
globalObject.viteDevServerPromiseResolve(viteDevServer);
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
144
|
+
if (isRunnable(viteDevServer)) {
|
|
145
|
+
const { success } = await updateUserFiles();
|
|
146
|
+
if (!success)
|
|
147
|
+
return;
|
|
148
|
+
assertGlobalContextIsDefined();
|
|
149
|
+
}
|
|
141
150
|
}
|
|
142
151
|
function setGlobalContext_viteConfig(viteConfig, viteConfigRuntime) {
|
|
143
152
|
if (globalObject.viteConfig)
|
|
@@ -154,12 +163,14 @@ function setGlobalContext_isPrerendering() {
|
|
|
154
163
|
globalObject.isPrerendering = true;
|
|
155
164
|
setIsProduction(true);
|
|
156
165
|
}
|
|
157
|
-
function setGlobalContext_isProduction(isProduction,
|
|
166
|
+
function setGlobalContext_isProduction(isProduction, tolerateContradiction = false) {
|
|
167
|
+
if (debug.isActivated)
|
|
168
|
+
debug('setGlobalContext_isProduction()', { isProduction, tolerateContradiction });
|
|
158
169
|
if (globalObject.isProduction === undefined) {
|
|
159
170
|
setIsProduction(isProduction);
|
|
160
171
|
}
|
|
161
172
|
else {
|
|
162
|
-
(0, utils_js_1.assert)(globalObject.isProduction === isProduction ||
|
|
173
|
+
(0, utils_js_1.assert)(globalObject.isProduction === isProduction || tolerateContradiction);
|
|
163
174
|
}
|
|
164
175
|
}
|
|
165
176
|
function getViteDevServer() {
|
|
@@ -203,7 +214,13 @@ async function initGlobalContext() {
|
|
|
203
214
|
const { isProduction } = globalObject;
|
|
204
215
|
(0, utils_js_1.assert)(typeof isProduction === 'boolean');
|
|
205
216
|
if (!isProduction) {
|
|
206
|
-
|
|
217
|
+
if (isProcessSharedWithVite()) {
|
|
218
|
+
await globalObject.viteDevServerPromise;
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
(0, utils_js_1.assert)(isNonRunnableDev());
|
|
222
|
+
await updateUserFiles();
|
|
223
|
+
}
|
|
207
224
|
(0, utils_js_1.assert)(globalObject.waitForUserFilesUpdate);
|
|
208
225
|
await globalObject.waitForUserFilesUpdate;
|
|
209
226
|
}
|
|
@@ -260,7 +277,7 @@ async function loadBuildEntry(outDir) {
|
|
|
260
277
|
assertBuildEntry(buildEntry);
|
|
261
278
|
globalObject.assetsManifest = buildEntry.assetsManifest;
|
|
262
279
|
globalObject.buildInfo = buildEntry.buildInfo;
|
|
263
|
-
await
|
|
280
|
+
await createGlobalContext(buildEntry.virtualFileExportsGlobalEntry);
|
|
264
281
|
}
|
|
265
282
|
// This is the production entry, see:
|
|
266
283
|
// https://github.com/vikejs/vike/blob/798e5465dc3e3e6723b38b601a50350c0a006fb8/packages/vike/node/vite/plugins/pluginBuild/pluginBuildEntry.ts#L47
|
|
@@ -277,15 +294,15 @@ async function setGlobalContext_buildEntry(buildEntry) {
|
|
|
277
294
|
}
|
|
278
295
|
function assertBuildEntry(buildEntry) {
|
|
279
296
|
(0, utils_js_1.assert)((0, utils_js_1.isObject)(buildEntry));
|
|
280
|
-
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildEntry, '
|
|
281
|
-
const {
|
|
297
|
+
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildEntry, 'virtualFileExportsGlobalEntry', 'object'));
|
|
298
|
+
const { virtualFileExportsGlobalEntry } = buildEntry;
|
|
282
299
|
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildEntry, 'assetsManifest', 'object'));
|
|
283
300
|
const { assetsManifest } = buildEntry;
|
|
284
301
|
assertViteManifest(assetsManifest);
|
|
285
302
|
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildEntry, 'buildInfo', 'object'));
|
|
286
303
|
const { buildInfo } = buildEntry;
|
|
287
304
|
assertBuildInfo(buildInfo);
|
|
288
|
-
(0, utils_js_1.checkType)({
|
|
305
|
+
(0, utils_js_1.checkType)({ virtualFileExportsGlobalEntry, assetsManifest, buildInfo });
|
|
289
306
|
}
|
|
290
307
|
function assertBuildInfo(buildInfo) {
|
|
291
308
|
(0, utils_js_1.assert)((0, utils_js_1.isObject)(buildInfo));
|
|
@@ -305,6 +322,7 @@ function assertVersionAtBuildTime(versionAtBuildTime) {
|
|
|
305
322
|
(0, utils_js_1.assertUsage)(versionAtBuildTime === versionAtRuntime, `Re-build your app (you're using ${pretty(versionAtRuntime)} but your app was built with ${pretty(versionAtBuildTime)})`);
|
|
306
323
|
}
|
|
307
324
|
async function updateUserFiles() {
|
|
325
|
+
debug('updateUserFiles()');
|
|
308
326
|
(0, utils_js_1.assert)(!globalObject.isProduction);
|
|
309
327
|
const { promise, resolve } = (0, utils_js_1.genPromise)();
|
|
310
328
|
globalObject.waitForUserFilesUpdate = promise;
|
|
@@ -337,27 +355,57 @@ async function updateUserFiles() {
|
|
|
337
355
|
// Avoid race condition: abort if there is a new globalObject.viteDevServer (happens when vite.config.js is modified => Vite's dev server is fully reloaded).
|
|
338
356
|
viteDevServer !== globalObject.viteDevServer;
|
|
339
357
|
const { viteDevServer } = globalObject;
|
|
340
|
-
(0, utils_js_1.assert)(viteDevServer);
|
|
341
358
|
let hasError = false;
|
|
342
|
-
let
|
|
359
|
+
let virtualFileExportsGlobalEntry;
|
|
343
360
|
let err;
|
|
344
|
-
|
|
345
|
-
|
|
361
|
+
if (viteDevServer) {
|
|
362
|
+
(0, utils_js_1.assert)(isRunnable(viteDevServer));
|
|
363
|
+
/* We don't use runner.import() yet, because as of vite@7.0.6 (July 2025) runner.import() unexpectedly invalidates the module graph, which is a unexpected behavior that doesn't happen with ssrLoadModule()
|
|
364
|
+
// Vite 6
|
|
365
|
+
try {
|
|
366
|
+
virtualFileExportsGlobalEntry = await (viteDevServer.environments.ssr as RunnableDevEnvironment).runner.import(
|
|
367
|
+
'virtual:vike:global-entry:server',
|
|
368
|
+
)
|
|
369
|
+
} catch (err_) {
|
|
370
|
+
hasError = true
|
|
371
|
+
err = err_
|
|
372
|
+
}
|
|
373
|
+
*/
|
|
374
|
+
// Vite 5
|
|
375
|
+
try {
|
|
376
|
+
virtualFileExportsGlobalEntry = await viteDevServer.ssrLoadModule(virtualFileId_js_1.virtualFileIdGlobalEntryServer);
|
|
377
|
+
}
|
|
378
|
+
catch (err_) {
|
|
379
|
+
hasError = true;
|
|
380
|
+
err = err_;
|
|
381
|
+
}
|
|
346
382
|
}
|
|
347
|
-
|
|
348
|
-
|
|
349
|
-
|
|
383
|
+
else {
|
|
384
|
+
try {
|
|
385
|
+
/* We use __VIKE__DYNAMIC_IMPORT instead of directly using import() to workaround what seems to be a Vite HMR bug:
|
|
386
|
+
```js
|
|
387
|
+
assert(false)
|
|
388
|
+
// This line breaks the HMR of regular (runnable) apps, even though (as per the assert() above) it's never run. It seems to be a Vite bug: handleHotUpdate() receives an empty `modules` list.
|
|
389
|
+
import('virtual:vike:global-entry:server')
|
|
390
|
+
```
|
|
391
|
+
*/
|
|
392
|
+
virtualFileExportsGlobalEntry = await __VIKE__DYNAMIC_IMPORT('virtual:vike:global-entry:server');
|
|
393
|
+
}
|
|
394
|
+
catch (err_) {
|
|
395
|
+
hasError = true;
|
|
396
|
+
err = err_;
|
|
397
|
+
}
|
|
350
398
|
}
|
|
351
399
|
if (isOutdated())
|
|
352
400
|
return { success: false };
|
|
353
401
|
if (hasError)
|
|
354
402
|
return onError(err);
|
|
355
|
-
|
|
403
|
+
virtualFileExportsGlobalEntry = virtualFileExportsGlobalEntry.default || virtualFileExportsGlobalEntry;
|
|
356
404
|
if ((0, getVikeConfigError_js_1.getVikeConfigErrorBuild)()) {
|
|
357
405
|
return { success: false };
|
|
358
406
|
}
|
|
359
407
|
try {
|
|
360
|
-
await
|
|
408
|
+
await createGlobalContext(virtualFileExportsGlobalEntry);
|
|
361
409
|
}
|
|
362
410
|
catch (err_) {
|
|
363
411
|
hasError = true;
|
|
@@ -369,26 +417,26 @@ async function updateUserFiles() {
|
|
|
369
417
|
return onError(err);
|
|
370
418
|
return onSuccess();
|
|
371
419
|
}
|
|
372
|
-
async function
|
|
373
|
-
debug('
|
|
420
|
+
async function createGlobalContext(virtualFileExportsGlobalEntry) {
|
|
421
|
+
debug('createGlobalContext()');
|
|
374
422
|
(0, utils_js_1.assert)(!(0, getVikeConfigError_js_1.getVikeConfigErrorBuild)());
|
|
375
|
-
const globalContext = await (0, createGlobalContextShared_js_1.createGlobalContextShared)(
|
|
423
|
+
const globalContext = await (0, createGlobalContextShared_js_1.createGlobalContextShared)(virtualFileExportsGlobalEntry, globalObject, addGlobalContext, addGlobalContextTmp, addGlobalContextAsync);
|
|
376
424
|
(0, assertV1Design_js_1.assertV1Design)(
|
|
377
425
|
// pageConfigs is PageConfigRuntime[] but assertV1Design() requires PageConfigBuildTime[]
|
|
378
426
|
globalContext._pageConfigs.length > 0, globalContext._pageFilesAll);
|
|
379
427
|
assertGlobalContextIsDefined();
|
|
380
428
|
(0, utils_js_1.onSetupRuntime)();
|
|
381
|
-
debug('
|
|
382
|
-
// Never actually used, only used for TypeScript `ReturnType<typeof
|
|
429
|
+
debug('createGlobalContext() - done');
|
|
430
|
+
// Never actually used, only used for TypeScript `ReturnType<typeof createGlobalContext>`
|
|
383
431
|
return globalContext;
|
|
384
432
|
}
|
|
385
|
-
async function
|
|
386
|
-
debug('
|
|
433
|
+
async function addGlobalContextTmp(globalContext) {
|
|
434
|
+
debug('addGlobalContextTmp()');
|
|
387
435
|
const { pageRoutes, onBeforeRouteHook } = await (0, loadPageRoutes_js_1.loadPageRoutes)(globalContext._pageFilesAll, globalContext._pageConfigs, globalContext._pageConfigGlobal, globalContext._allPageIds);
|
|
388
436
|
return addGlobalContextCommon(globalContext, pageRoutes, onBeforeRouteHook);
|
|
389
437
|
}
|
|
390
|
-
function
|
|
391
|
-
debug('
|
|
438
|
+
function addGlobalContext(globalContext) {
|
|
439
|
+
debug('addGlobalContext()');
|
|
392
440
|
const { pageRoutes, onBeforeRouteHook } = (0, loadPageRoutes_js_1.loadPageRoutesSync)(globalContext._pageFilesAll, globalContext._pageConfigs, globalContext._pageConfigGlobal, globalContext._allPageIds);
|
|
393
441
|
return addGlobalContextCommon(globalContext, pageRoutes, onBeforeRouteHook);
|
|
394
442
|
}
|
|
@@ -398,23 +446,18 @@ function addGlobalContextCommon(globalContext, pageRoutes, onBeforeRouteHook) {
|
|
|
398
446
|
_pageRoutes: pageRoutes,
|
|
399
447
|
_onBeforeRouteHook: onBeforeRouteHook,
|
|
400
448
|
};
|
|
401
|
-
const { viteDevServer, viteConfig,
|
|
449
|
+
const { viteDevServer, viteConfig, isPrerendering, isProduction } = globalObject;
|
|
402
450
|
(0, utils_js_1.assert)(typeof isProduction === 'boolean');
|
|
403
451
|
if (!isProduction) {
|
|
404
|
-
(0, utils_js_1.assert)(viteDevServer);
|
|
405
452
|
(0, utils_js_1.assert)(globalContext); // main common requirement
|
|
406
|
-
(0, utils_js_1.assert)(viteConfig);
|
|
407
|
-
(0, utils_js_1.assert)(viteConfigRuntime);
|
|
408
453
|
(0, utils_js_1.assert)(!isPrerendering);
|
|
409
454
|
return {
|
|
410
455
|
...globalContextBase,
|
|
411
|
-
...resolveBaseRuntime(viteConfigRuntime, globalContext.config),
|
|
412
456
|
_isProduction: false,
|
|
413
457
|
_isPrerendering: false,
|
|
414
458
|
assetsManifest: null,
|
|
415
459
|
_viteDevServer: viteDevServer,
|
|
416
460
|
viteConfig,
|
|
417
|
-
viteConfigRuntime,
|
|
418
461
|
};
|
|
419
462
|
}
|
|
420
463
|
else {
|
|
@@ -425,11 +468,9 @@ function addGlobalContextCommon(globalContext, pageRoutes, onBeforeRouteHook) {
|
|
|
425
468
|
(0, utils_js_1.assert)(assetsManifest);
|
|
426
469
|
const globalContextBase2 = {
|
|
427
470
|
...globalContextBase,
|
|
428
|
-
...resolveBaseRuntime(buildInfo.viteConfigRuntime, globalContext.config),
|
|
429
471
|
_isProduction: true,
|
|
430
472
|
assetsManifest,
|
|
431
473
|
_viteDevServer: null,
|
|
432
|
-
viteConfigRuntime: buildInfo.viteConfigRuntime,
|
|
433
474
|
_usesClientRouter: buildInfo.usesClientRouter,
|
|
434
475
|
};
|
|
435
476
|
if (isPrerendering) {
|
|
@@ -449,6 +490,27 @@ function addGlobalContextCommon(globalContext, pageRoutes, onBeforeRouteHook) {
|
|
|
449
490
|
}
|
|
450
491
|
}
|
|
451
492
|
}
|
|
493
|
+
async function addGlobalContextAsync(globalContext) {
|
|
494
|
+
debug('addGlobalContextAsync()');
|
|
495
|
+
let { viteConfigRuntime, buildInfo } = globalObject;
|
|
496
|
+
if (!viteConfigRuntime) {
|
|
497
|
+
if (buildInfo) {
|
|
498
|
+
viteConfigRuntime = buildInfo.viteConfigRuntime;
|
|
499
|
+
}
|
|
500
|
+
else {
|
|
501
|
+
(0, utils_js_1.assert)(!isProcessSharedWithVite()); // process shared with Vite => globalObject.viteConfigRuntime should be set
|
|
502
|
+
(0, utils_js_1.assert)(!globalObject.isProduction); // production => globalObject.buildInfo.viteConfigRuntime should be set
|
|
503
|
+
(0, utils_js_1.assert)(isNonRunnableDev());
|
|
504
|
+
const rpc = (0, utils_js_1.getViteRPC)();
|
|
505
|
+
viteConfigRuntime = await rpc.getViteConfigRuntimeRPC();
|
|
506
|
+
}
|
|
507
|
+
}
|
|
508
|
+
(0, utils_js_1.assert)(viteConfigRuntime);
|
|
509
|
+
return {
|
|
510
|
+
viteConfigRuntime,
|
|
511
|
+
...resolveBaseRuntime(viteConfigRuntime, globalContext.config),
|
|
512
|
+
};
|
|
513
|
+
}
|
|
452
514
|
function clearGlobalContext() {
|
|
453
515
|
debug('clearGlobalContext()');
|
|
454
516
|
(0, utils_js_1.objectReplace)(globalObject, getInitialGlobalObject(), ['buildEntryPrevious']);
|
|
@@ -457,6 +519,7 @@ function getInitialGlobalObject() {
|
|
|
457
519
|
debug('getInitialGlobalObject()');
|
|
458
520
|
const { promise: viteDevServerPromise, resolve: viteDevServerPromiseResolve } = (0, utils_js_1.genPromise)();
|
|
459
521
|
return {
|
|
522
|
+
isProduction: isNonRunnableDev() ? false : undefined,
|
|
460
523
|
viteDevServerPromise,
|
|
461
524
|
viteDevServerPromiseResolve,
|
|
462
525
|
};
|
|
@@ -467,3 +530,26 @@ function resolveBaseRuntime(viteConfigRuntime, config) {
|
|
|
467
530
|
const baseAssetsUnresolved = config.baseAssets ?? null;
|
|
468
531
|
return (0, resolveBase_js_1.resolveBase)(baseViteOriginal, baseServerUnresolved, baseAssetsUnresolved);
|
|
469
532
|
}
|
|
533
|
+
function isProcessSharedWithVite() {
|
|
534
|
+
const yes = globalThis.__VIKE__IS_PROCESS_SHARED_WITH_VITE ?? false;
|
|
535
|
+
if (yes)
|
|
536
|
+
(0, utils_js_1.assert)(!isNonRunnableDev());
|
|
537
|
+
return yes;
|
|
538
|
+
}
|
|
539
|
+
function isRunnable(viteDevServer) {
|
|
540
|
+
const yes =
|
|
541
|
+
// Vite 5
|
|
542
|
+
!viteDevServer.environments ||
|
|
543
|
+
// Vite 6 or above
|
|
544
|
+
(0, utils_js_1.isRunnableDevEnvironment)(viteDevServer.environments.ssr);
|
|
545
|
+
if (yes)
|
|
546
|
+
(0, utils_js_1.assert)(!isNonRunnableDev());
|
|
547
|
+
return yes;
|
|
548
|
+
}
|
|
549
|
+
function isNonRunnableDev() {
|
|
550
|
+
if (typeof __VIKE__IS_NON_RUNNABLE_DEV === 'undefined')
|
|
551
|
+
return null;
|
|
552
|
+
const yes = __VIKE__IS_NON_RUNNABLE_DEV;
|
|
553
|
+
(0, utils_js_1.assert)(typeof yes === 'boolean');
|
|
554
|
+
return yes;
|
|
555
|
+
}
|
|
@@ -187,7 +187,7 @@ function mergeScriptEntries(pageAssets, viteDevScript) {
|
|
|
187
187
|
return scriptEntry;
|
|
188
188
|
}
|
|
189
189
|
function getPageContextJsonScriptTag(pageContext) {
|
|
190
|
-
const pageContextClientSerialized = (0, sanitizeJson_js_1.sanitizeJson)((0, serializeContext_js_1.getPageContextClientSerialized)(pageContext));
|
|
190
|
+
const pageContextClientSerialized = (0, sanitizeJson_js_1.sanitizeJson)((0, serializeContext_js_1.getPageContextClientSerialized)(pageContext, true));
|
|
191
191
|
const htmlTag = `<script id="${htmlElementIds_js_1.htmlElementId_pageContext}" type="application/json">${pageContextClientSerialized}</script>`;
|
|
192
192
|
// Used by contra.com https://github.com/gajus
|
|
193
193
|
// @ts-expect-error
|
|
@@ -195,7 +195,7 @@ function getPageContextJsonScriptTag(pageContext) {
|
|
|
195
195
|
return htmlTag;
|
|
196
196
|
}
|
|
197
197
|
function getGlobalContextJsonScriptTag(pageContext) {
|
|
198
|
-
const globalContextClientSerialized = (0, sanitizeJson_js_1.sanitizeJson)((0, serializeContext_js_1.getGlobalContextClientSerialized)(pageContext));
|
|
198
|
+
const globalContextClientSerialized = (0, sanitizeJson_js_1.sanitizeJson)((0, serializeContext_js_1.getGlobalContextClientSerialized)(pageContext, true));
|
|
199
199
|
const htmlTag = `<script id="${htmlElementIds_js_1.htmlElementId_globalContext}" type="application/json">${globalContextClientSerialized}</script>`;
|
|
200
200
|
return htmlTag;
|
|
201
201
|
}
|
|
@@ -16,7 +16,9 @@ async function getViteDevScript(pageContext) {
|
|
|
16
16
|
const fakeHtmlBegin = '<html> <head>'; // White space to test whether user is using a minifier
|
|
17
17
|
const fakeHtmlEnd = '</head><body></body></html>';
|
|
18
18
|
let fakeHtml = fakeHtmlBegin + fakeHtmlEnd;
|
|
19
|
-
fakeHtml =
|
|
19
|
+
fakeHtml = viteDevServer
|
|
20
|
+
? await viteDevServer.transformIndexHtml('/', fakeHtml)
|
|
21
|
+
: await (0, utils_js_1.getViteRPC)().transformIndexHtmlRPC(fakeHtml);
|
|
20
22
|
(0, utils_js_1.assertUsage)(!fakeHtml.includes('vite-plugin-pwa'), `The HTML transformer of ${picocolors_1.default.cyan('vite-plugin-pwa')} cannot be applied, see workaround at https://github.com/vikejs/vike/issues/388#issuecomment-1199280084`);
|
|
21
23
|
(0, utils_js_1.assertUsage)(!fakeHtml.startsWith(fakeHtmlBegin.replace(' ', '')), `Vite plugins that minify the HTML cannot be applied, see https://github.com/vikejs/vike/issues/224`);
|
|
22
24
|
(0, utils_js_1.assertUsage)(fakeHtml.startsWith(fakeHtmlBegin) && fakeHtml.endsWith(fakeHtmlEnd), `You are using a Vite Plugin that transforms the HTML in a way that conflicts with Vike. ${reachOutCTA}`);
|