vike 0.4.236-commit-eab75f6 → 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 +5 -7
- 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 +21 -22
- package/dist/cjs/node/runtime/html/serializeContext.js +8 -47
- 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 -6
- package/dist/cjs/node/runtime/renderPage/getPageAssets/{retrieveAssetsProd.js → retrievePageAssetsProd.js} +19 -2
- package/dist/cjs/node/runtime/renderPage/getPageAssets.js +5 -34
- package/dist/cjs/node/runtime/renderPage/handlePageContextRequestUrl.js +50 -14
- package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +22 -9
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -3
- package/dist/cjs/node/runtime/renderPage.js +7 -6
- package/dist/cjs/node/shared/virtualFileId.js +110 -0
- package/dist/cjs/node/vite/index.js +3 -3
- package/dist/cjs/node/vite/onLoad.js +5 -3
- package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +10 -10
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildApp.js +1 -0
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +20 -11
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildEntry.js +4 -4
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginModuleBanner.js +4 -10
- package/dist/cjs/node/vite/plugins/pluginDev/determineOptimizeDeps.js +46 -44
- package/dist/cjs/node/vite/plugins/pluginEnvVars.js +5 -12
- package/dist/cjs/node/vite/plugins/pluginExtractAssets.js +5 -5
- package/dist/cjs/node/vite/plugins/pluginExtractExportNames.js +5 -1
- package/dist/cjs/node/vite/plugins/pluginNonRunnableDev.js +2 -6
- package/dist/cjs/node/vite/plugins/pluginPreview.js +11 -4
- package/dist/cjs/node/vite/plugins/pluginReplaceConstants.js +5 -12
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/{getVirtualFilePageConfigsEager.js → generateVirtualFileGlobalEntry.js} +7 -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 -12
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/getConfigValueSourcesRelevant.js +67 -0
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +14 -12
- 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 +1 -1
- 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.js +8 -19
- package/dist/cjs/shared/createGlobalContextShared.js +23 -10
- package/dist/cjs/shared/getPageFiles/{parseVirtualFileExports.js → parseVirtualFileExportsGlobalEntry.js} +20 -26
- 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 +15 -16
- package/dist/cjs/shared/utils.js +2 -0
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/cast.js +1 -1
- package/dist/esm/client/runtime-client-routing/createPageContextClientSide.d.ts +2 -2
- package/dist/esm/client/runtime-client-routing/getPageContextCurrent.d.ts +2 -2
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +12 -12
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.js +35 -48
- package/dist/esm/client/runtime-client-routing/globalContext.d.ts +2 -2
- 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 +4 -4
- 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 +3 -3
- package/dist/esm/client/runtime-server-routing/globalContext.d.ts +2 -2
- 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 +3 -3
- package/dist/esm/client/shared/createGetGlobalContextClient.js +5 -7
- package/dist/esm/client/shared/execHookOnRenderClient.d.ts +2 -2
- 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/node/api/preview.js +1 -1
- package/dist/esm/node/prerender/runPrerender.d.ts +9 -9
- package/dist/esm/node/prerender/runPrerender.js +4 -4
- package/dist/esm/node/runtime/globalContext.d.ts +10 -10
- package/dist/esm/node/runtime/globalContext.js +21 -22
- package/dist/esm/node/runtime/html/serializeContext.d.ts +8 -3
- package/dist/esm/node/runtime/html/serializeContext.js +8 -47
- 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 +3 -3
- 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 -7
- 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 +4 -33
- 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 +25 -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 +10 -11
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -3
- package/dist/esm/node/runtime/renderPage.d.ts +3 -2
- package/dist/esm/node/runtime/renderPage.js +7 -6
- 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 +3 -3
- package/dist/esm/node/vite/onLoad.js +5 -3
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.d.ts +2 -2
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +11 -11
- package/dist/esm/node/vite/plugins/pluginBuild/pluginAutoFullBuild.js +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildApp.js +1 -0
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +21 -12
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildEntry.js +4 -4
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginModuleBanner.js +5 -8
- package/dist/esm/node/vite/plugins/pluginDev/determineOptimizeDeps.js +47 -45
- package/dist/esm/node/vite/plugins/pluginEnvVars.js +6 -10
- package/dist/esm/node/vite/plugins/pluginExtractAssets.js +4 -4
- package/dist/esm/node/vite/plugins/pluginExtractExportNames.js +6 -2
- package/dist/esm/node/vite/plugins/pluginNonRunnableDev.js +2 -6
- 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} +7 -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 -12
- 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 +14 -12
- 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.js +1 -1
- 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.d.ts +3 -5
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal.js +10 -21
- package/dist/esm/shared/createGlobalContextShared.d.ts +6 -6
- package/dist/esm/shared/createGlobalContextShared.js +25 -12
- package/dist/esm/shared/getPageFiles/{parseVirtualFileExports.d.ts → parseVirtualFileExportsGlobalEntry.d.ts} +2 -2
- package/dist/esm/shared/getPageFiles/{parseVirtualFileExports.js → parseVirtualFileExportsGlobalEntry.js} +20 -26
- 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 +15 -16
- 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/cast.d.ts +2 -2
- package/dist/esm/utils/cast.js +1 -1
- package/dist/esm/utils/objectFilter.d.ts +1 -1
- package/package.json +3 -3
- package/dist/cjs/node/shared/virtualFiles/virtualFileEntry.js +0 -31
- package/dist/cjs/node/shared/virtualFiles/virtualFilePageConfigLazy.js +0 -45
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles/isRuntimeEnvMatch.js +0 -23
- package/dist/cjs/node/vite/shared/applyRegExWithMagicString.js +0 -11
- 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 -28
- package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.d.ts +0 -9
- package/dist/esm/node/shared/virtualFiles/virtualFilePageConfigLazy.js +0 -43
- 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 -9
- 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;
|
|
@@ -13,25 +13,23 @@ const globalObject = (0, utils_js_1.getGlobalObject)('createGetGlobalContextClie
|
|
|
13
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
|
-
// Don't break HMR
|
|
26
|
-
globalObject.virtualFileExports === virtualFileExports) {
|
|
23
|
+
// HMR => virtualFileExportsGlobalEntry differ
|
|
24
|
+
if (globalObject.virtualFileExportsGlobalEntry === virtualFileExportsGlobalEntry) {
|
|
27
25
|
const globalContext = await globalObject.globalContextPromise;
|
|
28
26
|
return globalContext;
|
|
29
27
|
}
|
|
30
28
|
else {
|
|
31
|
-
globalObject.
|
|
29
|
+
globalObject.virtualFileExportsGlobalEntry = virtualFileExportsGlobalEntry;
|
|
32
30
|
}
|
|
33
31
|
// Create
|
|
34
|
-
const globalContextPromise = (0, createGlobalContextShared_js_1.createGlobalContextShared)(
|
|
32
|
+
const globalContextPromise = (0, createGlobalContextShared_js_1.createGlobalContextShared)(virtualFileExportsGlobalEntry, globalObject, undefined, async (globalContext) => {
|
|
35
33
|
const globalContextAddendum = {
|
|
36
34
|
/**
|
|
37
35
|
* Whether the environment is client-side or server-side / pre-rendering.
|
|
@@ -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') {
|
|
@@ -28,16 +28,16 @@ exports.updateUserFiles = updateUserFiles;
|
|
|
28
28
|
// - setGlobalContext_isProduction => setGlobalContext_isProductionEnvironment
|
|
29
29
|
// - sProductionEnvironment => sDevEnv
|
|
30
30
|
// The core logic revolves around:
|
|
31
|
-
// -
|
|
31
|
+
// - virtualFileExportsGlobalEntry is the main requirement
|
|
32
32
|
// - In production: globalObject.buildEntry which is the production entry set by @brillout/vite-plugin-server-entry
|
|
33
|
-
// - loadBuildEntry() sets globalObject.buildEntry and then sets
|
|
33
|
+
// - loadBuildEntry() sets globalObject.buildEntry and then sets virtualFileExportsGlobalEntry
|
|
34
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()
|
|
35
35
|
// - Without vike-server it's manually loaded here using importServerProductionEntry() which uses @brillout/vite-plugin-server-entry's autoImporter or crawler
|
|
36
36
|
// - In development: globalObject.viteDevServer which is Vite's development server
|
|
37
|
-
// - globalObject.viteDevServer is used by updateUserFiles() which then sets
|
|
37
|
+
// - globalObject.viteDevServer is used by updateUserFiles() which then sets virtualFileExportsGlobalEntry
|
|
38
38
|
const utils_js_1 = require("./utils.js");
|
|
39
39
|
const runtime_1 = require("@brillout/vite-plugin-server-entry/runtime");
|
|
40
|
-
const
|
|
40
|
+
const virtualFileId_js_1 = require("../shared/virtualFileId.js");
|
|
41
41
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
42
42
|
const loadPageRoutes_js_1 = require("../../shared/route/loadPageRoutes.js");
|
|
43
43
|
const assertV1Design_js_1 = require("../shared/assertV1Design.js");
|
|
@@ -163,15 +163,14 @@ function setGlobalContext_isPrerendering() {
|
|
|
163
163
|
globalObject.isPrerendering = true;
|
|
164
164
|
setIsProduction(true);
|
|
165
165
|
}
|
|
166
|
-
|
|
167
|
-
function setGlobalContext_isProduction(isProduction, tolerateContraditction = false) {
|
|
166
|
+
function setGlobalContext_isProduction(isProduction, tolerateContradiction = false) {
|
|
168
167
|
if (debug.isActivated)
|
|
169
|
-
debug('setGlobalContext_isProduction()', { isProduction,
|
|
168
|
+
debug('setGlobalContext_isProduction()', { isProduction, tolerateContradiction });
|
|
170
169
|
if (globalObject.isProduction === undefined) {
|
|
171
170
|
setIsProduction(isProduction);
|
|
172
171
|
}
|
|
173
172
|
else {
|
|
174
|
-
(0, utils_js_1.assert)(globalObject.isProduction === isProduction ||
|
|
173
|
+
(0, utils_js_1.assert)(globalObject.isProduction === isProduction || tolerateContradiction);
|
|
175
174
|
}
|
|
176
175
|
}
|
|
177
176
|
function getViteDevServer() {
|
|
@@ -278,7 +277,7 @@ async function loadBuildEntry(outDir) {
|
|
|
278
277
|
assertBuildEntry(buildEntry);
|
|
279
278
|
globalObject.assetsManifest = buildEntry.assetsManifest;
|
|
280
279
|
globalObject.buildInfo = buildEntry.buildInfo;
|
|
281
|
-
await createGlobalContext(buildEntry.
|
|
280
|
+
await createGlobalContext(buildEntry.virtualFileExportsGlobalEntry);
|
|
282
281
|
}
|
|
283
282
|
// This is the production entry, see:
|
|
284
283
|
// https://github.com/vikejs/vike/blob/798e5465dc3e3e6723b38b601a50350c0a006fb8/packages/vike/node/vite/plugins/pluginBuild/pluginBuildEntry.ts#L47
|
|
@@ -295,15 +294,15 @@ async function setGlobalContext_buildEntry(buildEntry) {
|
|
|
295
294
|
}
|
|
296
295
|
function assertBuildEntry(buildEntry) {
|
|
297
296
|
(0, utils_js_1.assert)((0, utils_js_1.isObject)(buildEntry));
|
|
298
|
-
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildEntry, '
|
|
299
|
-
const {
|
|
297
|
+
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildEntry, 'virtualFileExportsGlobalEntry', 'object'));
|
|
298
|
+
const { virtualFileExportsGlobalEntry } = buildEntry;
|
|
300
299
|
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildEntry, 'assetsManifest', 'object'));
|
|
301
300
|
const { assetsManifest } = buildEntry;
|
|
302
301
|
assertViteManifest(assetsManifest);
|
|
303
302
|
(0, utils_js_1.assert)((0, utils_js_1.hasProp)(buildEntry, 'buildInfo', 'object'));
|
|
304
303
|
const { buildInfo } = buildEntry;
|
|
305
304
|
assertBuildInfo(buildInfo);
|
|
306
|
-
(0, utils_js_1.checkType)({
|
|
305
|
+
(0, utils_js_1.checkType)({ virtualFileExportsGlobalEntry, assetsManifest, buildInfo });
|
|
307
306
|
}
|
|
308
307
|
function assertBuildInfo(buildInfo) {
|
|
309
308
|
(0, utils_js_1.assert)((0, utils_js_1.isObject)(buildInfo));
|
|
@@ -357,15 +356,15 @@ async function updateUserFiles() {
|
|
|
357
356
|
viteDevServer !== globalObject.viteDevServer;
|
|
358
357
|
const { viteDevServer } = globalObject;
|
|
359
358
|
let hasError = false;
|
|
360
|
-
let
|
|
359
|
+
let virtualFileExportsGlobalEntry;
|
|
361
360
|
let err;
|
|
362
361
|
if (viteDevServer) {
|
|
363
362
|
(0, utils_js_1.assert)(isRunnable(viteDevServer));
|
|
364
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()
|
|
365
364
|
// Vite 6
|
|
366
365
|
try {
|
|
367
|
-
|
|
368
|
-
'virtual:vike:entry:server',
|
|
366
|
+
virtualFileExportsGlobalEntry = await (viteDevServer.environments.ssr as RunnableDevEnvironment).runner.import(
|
|
367
|
+
'virtual:vike:global-entry:server',
|
|
369
368
|
)
|
|
370
369
|
} catch (err_) {
|
|
371
370
|
hasError = true
|
|
@@ -374,7 +373,7 @@ async function updateUserFiles() {
|
|
|
374
373
|
*/
|
|
375
374
|
// Vite 5
|
|
376
375
|
try {
|
|
377
|
-
|
|
376
|
+
virtualFileExportsGlobalEntry = await viteDevServer.ssrLoadModule(virtualFileId_js_1.virtualFileIdGlobalEntryServer);
|
|
378
377
|
}
|
|
379
378
|
catch (err_) {
|
|
380
379
|
hasError = true;
|
|
@@ -387,10 +386,10 @@ async function updateUserFiles() {
|
|
|
387
386
|
```js
|
|
388
387
|
assert(false)
|
|
389
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.
|
|
390
|
-
import('virtual:vike:entry:server')
|
|
389
|
+
import('virtual:vike:global-entry:server')
|
|
391
390
|
```
|
|
392
391
|
*/
|
|
393
|
-
|
|
392
|
+
virtualFileExportsGlobalEntry = await __VIKE__DYNAMIC_IMPORT('virtual:vike:global-entry:server');
|
|
394
393
|
}
|
|
395
394
|
catch (err_) {
|
|
396
395
|
hasError = true;
|
|
@@ -401,12 +400,12 @@ async function updateUserFiles() {
|
|
|
401
400
|
return { success: false };
|
|
402
401
|
if (hasError)
|
|
403
402
|
return onError(err);
|
|
404
|
-
|
|
403
|
+
virtualFileExportsGlobalEntry = virtualFileExportsGlobalEntry.default || virtualFileExportsGlobalEntry;
|
|
405
404
|
if ((0, getVikeConfigError_js_1.getVikeConfigErrorBuild)()) {
|
|
406
405
|
return { success: false };
|
|
407
406
|
}
|
|
408
407
|
try {
|
|
409
|
-
await createGlobalContext(
|
|
408
|
+
await createGlobalContext(virtualFileExportsGlobalEntry);
|
|
410
409
|
}
|
|
411
410
|
catch (err_) {
|
|
412
411
|
hasError = true;
|
|
@@ -418,10 +417,10 @@ async function updateUserFiles() {
|
|
|
418
417
|
return onError(err);
|
|
419
418
|
return onSuccess();
|
|
420
419
|
}
|
|
421
|
-
async function createGlobalContext(
|
|
420
|
+
async function createGlobalContext(virtualFileExportsGlobalEntry) {
|
|
422
421
|
debug('createGlobalContext()');
|
|
423
422
|
(0, utils_js_1.assert)(!(0, getVikeConfigError_js_1.getVikeConfigErrorBuild)());
|
|
424
|
-
const globalContext = await (0, createGlobalContextShared_js_1.createGlobalContextShared)(
|
|
423
|
+
const globalContext = await (0, createGlobalContextShared_js_1.createGlobalContextShared)(virtualFileExportsGlobalEntry, globalObject, addGlobalContext, addGlobalContextTmp, addGlobalContextAsync);
|
|
425
424
|
(0, assertV1Design_js_1.assertV1Design)(
|
|
426
425
|
// pageConfigs is PageConfigRuntime[] but assertV1Design() requires PageConfigBuildTime[]
|
|
427
426
|
globalContext._pageConfigs.length > 0, globalContext._pageFilesAll);
|
|
@@ -32,41 +32,24 @@ const passToClientBuiltInPageContext = [
|
|
|
32
32
|
const pageToClientBuiltInPageContextError = ['pageProps', 'is404', isServerSideError_js_1.isServerSideError];
|
|
33
33
|
function getPageContextClientSerialized(pageContext, isHtmlJsonScript) {
|
|
34
34
|
const passToClientPageContext = getPassToClientPageContext(pageContext);
|
|
35
|
-
const
|
|
36
|
-
if (passToClientEntry.once)
|
|
37
|
-
return undefined; // pass it to client-side globalContext
|
|
38
|
-
return { obj: pageContext, objName: 'pageContext' };
|
|
39
|
-
};
|
|
40
|
-
const res = applyPassToClient(passToClientPageContext, getObj);
|
|
35
|
+
const res = applyPassToClient(passToClientPageContext, pageContext);
|
|
41
36
|
const pageContextClient = res.objClient;
|
|
42
37
|
const pageContextClientProps = res.objClientProps;
|
|
43
38
|
if (pageContextClientProps.some((prop) => (0, propKeys_js_1.getPropVal)(pageContext._pageContextInit, prop))) {
|
|
44
39
|
pageContextClient[pageContextInitIsPassedToClient_js_1.pageContextInitIsPassedToClient] = true;
|
|
45
40
|
}
|
|
46
|
-
const pageContextClientSerialized = serializeObject(pageContextClient, passToClientPageContext,
|
|
41
|
+
const pageContextClientSerialized = serializeObject(pageContextClient, passToClientPageContext, 'pageContext', isHtmlJsonScript);
|
|
47
42
|
return pageContextClientSerialized;
|
|
48
43
|
}
|
|
49
44
|
function getGlobalContextClientSerialized(pageContext, isHtmlJsonScript) {
|
|
50
45
|
const passToClient = pageContext._passToClient;
|
|
51
46
|
const globalContext = pageContext._globalContext;
|
|
52
|
-
const
|
|
53
|
-
if (once && (0, propKeys_js_1.getPropVal)(pageContext, prop)) {
|
|
54
|
-
(0, utils_js_1.assert)(typeof pageContext.isClientSideNavigation === 'boolean');
|
|
55
|
-
if (!pageContext.isClientSideNavigation) {
|
|
56
|
-
return { obj: pageContext, objName: 'pageContext' }; // pass it to client-side globalContext
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
return undefined; // already passed to client-side
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return { obj: globalContext, objName: 'globalContext' };
|
|
63
|
-
};
|
|
64
|
-
const res = applyPassToClient(passToClient, getObj);
|
|
47
|
+
const res = applyPassToClient(passToClient, globalContext);
|
|
65
48
|
const globalContextClient = res.objClient;
|
|
66
|
-
const globalContextClientSerialized = serializeObject(globalContextClient, passToClient,
|
|
49
|
+
const globalContextClientSerialized = serializeObject(globalContextClient, passToClient, 'globalContext', isHtmlJsonScript);
|
|
67
50
|
return globalContextClientSerialized;
|
|
68
51
|
}
|
|
69
|
-
function serializeObject(obj, passToClient,
|
|
52
|
+
function serializeObject(obj, passToClient, objName, isHtmlJsonScript) {
|
|
70
53
|
let serialized;
|
|
71
54
|
try {
|
|
72
55
|
serialized = serializeValue(obj, isHtmlJsonScript);
|
|
@@ -75,15 +58,11 @@ function serializeObject(obj, passToClient, getObj, isHtmlJsonScript) {
|
|
|
75
58
|
const h = (s) => picocolors_1.default.cyan(s);
|
|
76
59
|
let hasWarned = false;
|
|
77
60
|
const propsNonSerializable = [];
|
|
78
|
-
passToClient.forEach((
|
|
79
|
-
const entryNormalized = normalizePassToClientEntry(entry);
|
|
80
|
-
const { prop } = entryNormalized;
|
|
61
|
+
passToClient.forEach((prop) => {
|
|
81
62
|
const res = (0, propKeys_js_1.getPropVal)(obj, prop);
|
|
82
63
|
if (!res)
|
|
83
64
|
return;
|
|
84
65
|
const { value } = res;
|
|
85
|
-
const { objName } = getObj(entryNormalized) ?? {};
|
|
86
|
-
(0, utils_js_1.assert)(objName);
|
|
87
66
|
const varName = `${objName}${(0, propKeys_js_1.getPropKeys)(prop).map(utils_js_1.getPropAccessNotation).join('')}`;
|
|
88
67
|
try {
|
|
89
68
|
serializeValue(value, isHtmlJsonScript, varName);
|
|
@@ -193,15 +172,10 @@ function getPageContextClientSerializedAbort(pageContext, isHtmlJsonScript) {
|
|
|
193
172
|
}
|
|
194
173
|
return serializeValue(pageContext, isHtmlJsonScript);
|
|
195
174
|
}
|
|
196
|
-
function applyPassToClient(passToClient,
|
|
175
|
+
function applyPassToClient(passToClient, obj) {
|
|
197
176
|
const objClient = {};
|
|
198
177
|
const objClientProps = [];
|
|
199
|
-
passToClient.forEach((
|
|
200
|
-
const entryNormalized = normalizePassToClientEntry(entry);
|
|
201
|
-
const { prop } = entryNormalized;
|
|
202
|
-
const { obj } = getObj(entryNormalized) ?? {};
|
|
203
|
-
if (!obj)
|
|
204
|
-
return;
|
|
178
|
+
passToClient.forEach((prop) => {
|
|
205
179
|
// Get value from pageContext
|
|
206
180
|
const res = (0, propKeys_js_1.getPropVal)(obj, prop);
|
|
207
181
|
if (!res)
|
|
@@ -213,16 +187,3 @@ function applyPassToClient(passToClient, getObj) {
|
|
|
213
187
|
});
|
|
214
188
|
return { objClient, objClientProps };
|
|
215
189
|
}
|
|
216
|
-
function normalizePassToClientEntry(entry) {
|
|
217
|
-
let once;
|
|
218
|
-
let prop;
|
|
219
|
-
if (typeof entry === 'string') {
|
|
220
|
-
prop = entry;
|
|
221
|
-
once = false;
|
|
222
|
-
}
|
|
223
|
-
else {
|
|
224
|
-
prop = entry.prop;
|
|
225
|
-
once = entry.once ?? false;
|
|
226
|
-
}
|
|
227
|
-
return { prop, once };
|
|
228
|
-
}
|
|
@@ -527,8 +527,8 @@ async function createStreamWrapper({ streamOriginal, onError, onData, onEnd, onF
|
|
|
527
527
|
const closeStream = async () => {
|
|
528
528
|
if (isClosed)
|
|
529
529
|
return;
|
|
530
|
-
isClosed = true;
|
|
531
530
|
await onEnd(isCancel);
|
|
531
|
+
isClosed = true;
|
|
532
532
|
controllerProxy.close();
|
|
533
533
|
};
|
|
534
534
|
let controllerProxy;
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.analyzePage = analyzePage;
|
|
4
4
|
const determineClientEntry_js_1 = require("../../../shared/getPageFiles/analyzePageClientSide/determineClientEntry.js");
|
|
5
5
|
const analyzePageClientSide_js_1 = require("../../../shared/getPageFiles/analyzePageClientSide.js");
|
|
6
|
-
const
|
|
6
|
+
const virtualFileId_js_1 = require("../../shared/virtualFileId.js");
|
|
7
7
|
const analyzeClientSide_js_1 = require("../../../shared/getPageFiles/analyzeClientSide.js");
|
|
8
8
|
const getConfigValueRuntime_js_1 = require("../../../shared/page-configs/getConfigValueRuntime.js");
|
|
9
9
|
async function analyzePage(pageFilesAll, pageConfig, pageId, globalContext) {
|
|
@@ -17,14 +17,14 @@ async function analyzePage(pageFilesAll, pageConfig, pageId, globalContext) {
|
|
|
17
17
|
clientEntries.push((0, determineClientEntry_js_1.getVikeClientEntry)(isClientRouting));
|
|
18
18
|
const clientDependencies = [];
|
|
19
19
|
clientDependencies.push({
|
|
20
|
-
id: (0,
|
|
20
|
+
id: (0, virtualFileId_js_1.generateVirtualFileId)({ type: 'page-entry', pageId: pageConfig.pageId, isForClientSide: true }),
|
|
21
21
|
onlyAssets: isClientRuntimeLoaded ? false : true,
|
|
22
22
|
eagerlyImported: false,
|
|
23
23
|
});
|
|
24
24
|
// In production we inject the import of the server virtual module with ?extractAssets inside the client virtual module
|
|
25
25
|
if (!globalContext._isProduction) {
|
|
26
26
|
clientDependencies.push({
|
|
27
|
-
id: (0,
|
|
27
|
+
id: (0, virtualFileId_js_1.generateVirtualFileId)({ type: 'page-entry', pageId: pageConfig.pageId, isForClientSide: false }),
|
|
28
28
|
onlyAssets: true,
|
|
29
29
|
eagerlyImported: false,
|
|
30
30
|
});
|
|
@@ -5,12 +5,9 @@ exports.createPageContextServerSideWithoutGlobalContext = createPageContextServe
|
|
|
5
5
|
const utils_js_1 = require("../utils.js");
|
|
6
6
|
const getPageContextUrlComputed_js_1 = require("../../../shared/getPageContextUrlComputed.js");
|
|
7
7
|
const createPageContextShared_js_1 = require("../../../shared/createPageContextShared.js");
|
|
8
|
-
function createPageContextServerSide(pageContextInit, globalContext,
|
|
9
|
-
urlHandler: null,
|
|
10
|
-
isClientSideNavigation: false,
|
|
11
|
-
}, }) {
|
|
8
|
+
function createPageContextServerSide(pageContextInit, globalContext, args) {
|
|
12
9
|
(0, utils_js_1.assert)(pageContextInit.urlOriginal);
|
|
13
|
-
const pageContextCreated = createPageContext(pageContextInit, isPrerendering);
|
|
10
|
+
const pageContextCreated = createPageContext(pageContextInit, args.isPrerendering);
|
|
14
11
|
(0, utils_js_1.objectAssign)(pageContextCreated, {
|
|
15
12
|
_globalContext: globalContext,
|
|
16
13
|
_pageFilesAll: globalContext._pageFilesAll, // TO-DO/next-major-release: remove
|
|
@@ -19,8 +16,8 @@ function createPageContextServerSide(pageContextInit, globalContext, { isPrerend
|
|
|
19
16
|
_baseAssets: globalContext.baseAssets,
|
|
20
17
|
_pageContextInit: pageContextInit,
|
|
21
18
|
_urlRewrite: null,
|
|
22
|
-
_urlHandler: urlHandler,
|
|
23
|
-
isClientSideNavigation,
|
|
19
|
+
_urlHandler: args.ssr?.urlHandler ?? null,
|
|
20
|
+
isClientSideNavigation: args.ssr?.isClientSideNavigation ?? false,
|
|
24
21
|
});
|
|
25
22
|
(0, utils_js_1.objectAssign)(pageContextCreated, globalContext._vikeConfigPublicGlobal);
|
|
26
23
|
// pageContext.urlParsed
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getManifestEntry = getManifestEntry;
|
|
4
4
|
const utils_js_1 = require("../../utils.js");
|
|
5
|
-
const
|
|
5
|
+
const virtualFileId_js_1 = require("../../../shared/virtualFileId.js");
|
|
6
6
|
const prependEntriesDir_js_1 = require("../../../shared/prependEntriesDir.js");
|
|
7
7
|
function getManifestEntry(id, assetsManifest) {
|
|
8
8
|
const debugInfo = getDebugInfo(id, assetsManifest);
|
|
@@ -14,7 +14,8 @@ function getManifestEntry(id, assetsManifest) {
|
|
|
14
14
|
return { manifestEntry, manifestKey };
|
|
15
15
|
}
|
|
16
16
|
// Page code importer
|
|
17
|
-
|
|
17
|
+
const virtualFile = (0, virtualFileId_js_1.parseVirtualFileId)(id);
|
|
18
|
+
if (virtualFile && virtualFile.type === 'page-entry') {
|
|
18
19
|
{
|
|
19
20
|
const manifestKey = id;
|
|
20
21
|
const manifestEntry = assetsManifest[manifestKey];
|
|
@@ -24,9 +25,9 @@ function getManifestEntry(id, assetsManifest) {
|
|
|
24
25
|
}
|
|
25
26
|
// Workaround for what seems to be a Vite bug when process.cwd() !== config.root
|
|
26
27
|
// - Manifest key is:
|
|
27
|
-
// ../../virtual:vike:
|
|
28
|
+
// ../../virtual:vike:page-entry:client:/pages/index
|
|
28
29
|
// But it should be this instead:
|
|
29
|
-
// virtual:vike:
|
|
30
|
+
// virtual:vike:page-entry:client:/pages/index
|
|
30
31
|
// - This workaround was implemented to support Vitest running /tests/*
|
|
31
32
|
// - I don't know whether end users actually need this workaround? (I'm not sure what the bug actually is.)
|
|
32
33
|
const manifestKeyEnd = id;
|
|
@@ -1,15 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.retrievePageAssetsDev = retrievePageAssetsDev;
|
|
4
|
+
exports.setGetClientEntrySrcDev = setGetClientEntrySrcDev;
|
|
4
5
|
const utils_js_1 = require("../../utils.js");
|
|
5
|
-
const
|
|
6
|
-
|
|
6
|
+
const virtualFileId_js_1 = require("../../../shared/virtualFileId.js");
|
|
7
|
+
const globalObject = (0, utils_js_1.getGlobalObject)('getPageAssets/retrievePageAssetsDev.ts', {
|
|
8
|
+
// We cannot define getClientEntrySrcDev() in this file because it depends on utils/requireResolve.ts which isn't available in production
|
|
9
|
+
getClientEntrySrcDev: null,
|
|
10
|
+
});
|
|
11
|
+
async function retrievePageAssetsDev(viteDevServer, clientDependencies, clientEntries) {
|
|
12
|
+
const clientEntriesSrc = clientEntries.map((clientEntry) => globalObject.getClientEntrySrcDev(clientEntry, viteDevServer));
|
|
13
|
+
const assetUrls = await getAssetUrls(clientDependencies, viteDevServer);
|
|
14
|
+
return { clientEntriesSrc, assetUrls };
|
|
15
|
+
}
|
|
16
|
+
function setGetClientEntrySrcDev(getClientEntrySrcDev) {
|
|
17
|
+
globalObject.getClientEntrySrcDev = getClientEntrySrcDev;
|
|
18
|
+
}
|
|
19
|
+
async function getAssetUrls(clientDependencies, viteDevServer) {
|
|
7
20
|
const assetUrls = new Set();
|
|
8
21
|
await Promise.all(clientDependencies.map(async ({ id }) => {
|
|
9
22
|
if (id.startsWith('@@vike'))
|
|
10
23
|
return; // vike doesn't have any CSS
|
|
11
24
|
(0, utils_js_1.assert)(id);
|
|
12
|
-
|
|
25
|
+
const virtualFile = (0, virtualFileId_js_1.parseVirtualFileId)(id);
|
|
26
|
+
(0, utils_js_1.assert)(!virtualFile || virtualFile.type !== 'global-entry');
|
|
13
27
|
const { moduleGraph } = viteDevServer;
|
|
14
28
|
const [_, graphId] = await moduleGraph.resolveUrl(id);
|
|
15
29
|
(0, utils_js_1.assert)(graphId, { id });
|
|
@@ -36,8 +50,9 @@ function collectCss(mod, styleUrls, visitedModules, importer) {
|
|
|
36
50
|
if (visitedModules.has(mod.url))
|
|
37
51
|
return;
|
|
38
52
|
visitedModules.add(mod.url);
|
|
39
|
-
|
|
40
|
-
|
|
53
|
+
const virtualFile = (0, virtualFileId_js_1.parseVirtualFileId)(mod.id || mod.url);
|
|
54
|
+
if (virtualFile && virtualFile.type === 'global-entry')
|
|
55
|
+
return; // virtual:vike:global-entry:server dependency list includes all pages
|
|
41
56
|
if (isStyle(mod) && (!importer || !isStyle(importer))) {
|
|
42
57
|
if (mod.url.startsWith('/')) {
|
|
43
58
|
styleUrls.add(mod.url);
|
|
@@ -1,10 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.retrievePageAssetsProd = retrievePageAssetsProd;
|
|
4
|
+
exports.resolveIncludeAssetsImportedByServer = resolveIncludeAssetsImportedByServer;
|
|
4
5
|
const utils_js_1 = require("../../utils.js");
|
|
5
6
|
const getManifestEntry_js_1 = require("./getManifestEntry.js");
|
|
6
7
|
const extractAssetsQuery_js_1 = require("../../../shared/extractAssetsQuery.js");
|
|
7
|
-
function
|
|
8
|
+
function retrievePageAssetsProd(assetsManifest, clientDependencies, clientEntries, config) {
|
|
9
|
+
const clientEntriesSrc = clientEntries.map((clientEntry) => getClientEntrySrcProd(clientEntry, assetsManifest));
|
|
10
|
+
const assetUrls = getAssetsUrl(clientDependencies, assetsManifest, config);
|
|
11
|
+
return { clientEntriesSrc, assetUrls };
|
|
12
|
+
}
|
|
13
|
+
function getClientEntrySrcProd(clientEntry, assetsManifest) {
|
|
14
|
+
const { manifestEntry } = (0, getManifestEntry_js_1.getManifestEntry)(clientEntry, assetsManifest);
|
|
15
|
+
(0, utils_js_1.assert)(manifestEntry.isEntry || manifestEntry.isDynamicEntry || clientEntry.endsWith('.css'), { clientEntry });
|
|
16
|
+
let { file } = manifestEntry;
|
|
17
|
+
(0, utils_js_1.assert)(!file.startsWith('/'));
|
|
18
|
+
return '/' + file;
|
|
19
|
+
}
|
|
20
|
+
function getAssetsUrl(clientDependencies, assetsManifest, config) {
|
|
21
|
+
const includeAssetsImportedByServer = resolveIncludeAssetsImportedByServer(config);
|
|
8
22
|
let assetUrls = new Set();
|
|
9
23
|
(0, utils_js_1.assert)(assetsManifest);
|
|
10
24
|
const visistedAssets = new Set();
|
|
@@ -58,3 +72,6 @@ function collectSingleStyle(assetUrls, assetsManifest) {
|
|
|
58
72
|
assetUrls.add(`/${style.file}`);
|
|
59
73
|
}
|
|
60
74
|
}
|
|
75
|
+
function resolveIncludeAssetsImportedByServer(config) {
|
|
76
|
+
return config.includeAssetsImportedByServer ?? true;
|
|
77
|
+
}
|
|
@@ -1,17 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getPageAssets = getPageAssets;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const utils_js_1 = require("../utils.js");
|
|
7
|
-
const retrieveAssetsDev_js_1 = require("./getPageAssets/retrieveAssetsDev.js");
|
|
8
|
-
const retrieveAssetsProd_js_1 = require("./getPageAssets/retrieveAssetsProd.js");
|
|
4
|
+
const retrievePageAssetsProd_js_1 = require("./getPageAssets/retrievePageAssetsProd.js");
|
|
5
|
+
const retrievePageAssetsDev_js_1 = require("./getPageAssets/retrievePageAssetsDev.js");
|
|
9
6
|
const inferMediaType_js_1 = require("./inferMediaType.js");
|
|
10
|
-
const getManifestEntry_js_1 = require("./getPageAssets/getManifestEntry.js");
|
|
11
7
|
const sortPageAssetsForEarlyHintsHeader_js_1 = require("./getPageAssets/sortPageAssetsForEarlyHintsHeader.js");
|
|
12
|
-
const
|
|
13
|
-
resolveClientEntriesDev: null,
|
|
14
|
-
});
|
|
8
|
+
const utils_js_1 = require("../utils.js");
|
|
15
9
|
async function getPageAssets(pageContext, clientDependencies, clientEntries) {
|
|
16
10
|
const globalContext = pageContext._globalContext;
|
|
17
11
|
const { _isProduction: isProduction } = globalContext;
|
|
@@ -19,8 +13,8 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
|
|
|
19
13
|
const { assetUrls, clientEntriesSrc } = isDev
|
|
20
14
|
? !globalContext._viteDevServer
|
|
21
15
|
? await (0, utils_js_1.getViteRPC)().retrievePageAssetsDevRPC(clientDependencies, clientEntries)
|
|
22
|
-
: await retrievePageAssetsDev(globalContext._viteDevServer, clientDependencies, clientEntries)
|
|
23
|
-
: retrievePageAssetsProd(globalContext.assetsManifest, clientDependencies, clientEntries,
|
|
16
|
+
: await (0, retrievePageAssetsDev_js_1.retrievePageAssetsDev)(globalContext._viteDevServer, clientDependencies, clientEntries)
|
|
17
|
+
: (0, retrievePageAssetsProd_js_1.retrievePageAssetsProd)(globalContext.assetsManifest, clientDependencies, clientEntries, globalContext.config);
|
|
24
18
|
let pageAssets = [];
|
|
25
19
|
(0, utils_js_1.unique)([...clientEntriesSrc, ...assetUrls]).forEach((src) => {
|
|
26
20
|
const { mediaType = null, assetType = null } = (0, inferMediaType_js_1.inferMediaType)(src) || {};
|
|
@@ -54,26 +48,3 @@ async function getPageAssets(pageContext, clientDependencies, clientEntries) {
|
|
|
54
48
|
await (0, sortPageAssetsForEarlyHintsHeader_js_1.sortPageAssetsForEarlyHintsHeader)(pageAssets, isProduction);
|
|
55
49
|
return pageAssets;
|
|
56
50
|
}
|
|
57
|
-
async function retrievePageAssetsDev(viteDevServer, clientDependencies, clientEntries) {
|
|
58
|
-
const clientEntriesSrc = clientEntries.map((clientEntry) => globalObject.resolveClientEntriesDev(clientEntry, viteDevServer));
|
|
59
|
-
const assetUrls = await (0, retrieveAssetsDev_js_1.retrieveAssetsDev)(clientDependencies, viteDevServer);
|
|
60
|
-
return { clientEntriesSrc, assetUrls };
|
|
61
|
-
}
|
|
62
|
-
function retrievePageAssetsProd(assetsManifest, clientDependencies, clientEntries, includeAssetsImportedByServer) {
|
|
63
|
-
const clientEntriesSrc = clientEntries.map((clientEntry) => resolveClientEntriesProd(clientEntry, assetsManifest));
|
|
64
|
-
const assetUrls = (0, retrieveAssetsProd_js_1.retrieveAssetsProd)(clientDependencies, assetsManifest, resolveIncludeAssetsImportedByServer(includeAssetsImportedByServer));
|
|
65
|
-
return { clientEntriesSrc, assetUrls };
|
|
66
|
-
}
|
|
67
|
-
function resolveClientEntriesProd(clientEntry, assetsManifest) {
|
|
68
|
-
const { manifestEntry } = (0, getManifestEntry_js_1.getManifestEntry)(clientEntry, assetsManifest);
|
|
69
|
-
(0, utils_js_1.assert)(manifestEntry.isEntry || manifestEntry.isDynamicEntry || clientEntry.endsWith('.css'), { clientEntry });
|
|
70
|
-
let { file } = manifestEntry;
|
|
71
|
-
(0, utils_js_1.assert)(!file.startsWith('/'));
|
|
72
|
-
return '/' + file;
|
|
73
|
-
}
|
|
74
|
-
function setResolveClientEntriesDev(resolveClientEntriesDev) {
|
|
75
|
-
globalObject.resolveClientEntriesDev = resolveClientEntriesDev;
|
|
76
|
-
}
|
|
77
|
-
function resolveIncludeAssetsImportedByServer(config) {
|
|
78
|
-
return config.includeAssetsImportedByServer ?? true;
|
|
79
|
-
}
|