vike 0.4.235 → 0.4.236-commit-85d361d
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/__internal/index.js +1 -1
- package/dist/cjs/client/shared/createGetGlobalContextClient.js +0 -1
- package/dist/cjs/client/shared/preparePageContextForPublicUsageClientShared.js +4 -4
- package/dist/cjs/node/api/prepareViteApiCall.js +1 -1
- package/dist/cjs/node/cli/index.js +1 -1
- package/dist/cjs/node/createPageRenderer.js +1 -1
- package/dist/cjs/node/importBuild.js +1 -1
- package/dist/cjs/node/prerender/context.js +1 -1
- package/dist/cjs/node/prerender/index.js +1 -1
- package/dist/cjs/node/prerender/resolvePrerenderConfig.js +2 -2
- package/dist/cjs/node/prerender/runPrerender.js +9 -13
- package/dist/cjs/node/runtime/globalContext.js +32 -13
- package/dist/cjs/node/runtime/html/injectAssets/injectAssets__public.js +1 -1
- package/dist/cjs/node/runtime/html/injectAssets/injectHtmlTags.js +2 -0
- package/dist/cjs/node/runtime/html/serializeContext.js +73 -15
- package/dist/cjs/node/runtime/index-deprecated.js +1 -1
- package/dist/cjs/node/runtime/index.js +1 -1
- package/dist/cjs/node/runtime/page-files/setup.js +1 -1
- package/dist/cjs/node/runtime/renderPage/assertArguments.js +1 -1
- package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +9 -6
- package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +4 -4
- package/dist/cjs/node/runtime/renderPage/execHookDataAndOnBeforeRender.js +2 -2
- package/dist/cjs/node/runtime/renderPage/{createHttpResponse/getCacheControl.js → getCacheControl.js} +9 -9
- package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +4 -4
- package/dist/cjs/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +1 -1
- package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +35 -16
- package/dist/cjs/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +1 -1
- package/dist/cjs/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -0
- package/dist/cjs/node/runtime/renderPage.js +4 -6
- package/dist/cjs/node/vite/onLoad.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildConfig.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginBuild/pluginBuildEntry.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginCommon/assertResolveAlias.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginCommon.js +8 -4
- package/dist/cjs/node/vite/plugins/pluginDev.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginEnvVars.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginFileEnv.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginVirtualFiles.js +1 -1
- package/dist/cjs/node/vite/shared/addSsrMiddleware.js +1 -1
- package/dist/cjs/node/vite/shared/loggerNotProd.js +10 -6
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +5 -1
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +1 -3
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +4 -6
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +1 -1
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +6 -6
- package/dist/cjs/shared/RenderErrorPage.js +1 -1
- package/dist/cjs/shared/abort.js +1 -1
- package/dist/cjs/shared/createGlobalContextShared.js +20 -7
- package/dist/cjs/shared/createPageContextShared.js +1 -2
- package/dist/cjs/shared/determinePageIdOld.js +1 -1
- package/dist/cjs/shared/error-page.js +3 -3
- package/dist/cjs/shared/getPageContextUrlComputed.js +4 -4
- package/dist/cjs/shared/getPageFiles/analyzeClientSide.js +1 -1
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +1 -1
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +1 -1
- package/dist/cjs/shared/getPageFiles/analyzePageClientSide.js +2 -2
- package/dist/cjs/shared/getPageFiles/assert_exports_old_design.js +1 -1
- package/dist/cjs/shared/getPageFiles/fileTypes.js +1 -1
- package/dist/cjs/shared/getPageFiles/getAllPageIdFiles.js +1 -1
- package/dist/cjs/shared/getPageFiles/getPageFileObject.js +1 -1
- package/dist/cjs/shared/getPageFiles/parseVirtualFileExports.js +1 -1
- package/dist/cjs/shared/getProxyForPublicUsage.js +1 -1
- package/dist/cjs/shared/page-configs/getConfigDefinedAt.js +4 -3
- package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +10 -10
- package/dist/cjs/shared/page-configs/serialize/serializeConfigValues.js +1 -1
- package/dist/cjs/shared/preparePageContextForPublicUsage.js +5 -5
- package/dist/cjs/shared/route/abort.js +1 -1
- package/dist/cjs/shared/route/deduceRouteStringFromFilesystemPath.js +1 -1
- package/dist/cjs/shared/route/execHookGuard.js +1 -1
- package/dist/cjs/shared/route/execHookOnBeforeRoute.js +1 -1
- package/dist/cjs/shared/route/index.js +1 -1
- package/dist/cjs/shared/route/loadPageRoutes.js +10 -4
- package/dist/cjs/shared/route/resolveRouteFunction.js +3 -3
- package/dist/cjs/shared/route/resolveRouteString.js +1 -1
- package/dist/cjs/shared/route/routing.js +1 -1
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/assertSetup.js +8 -8
- package/dist/cjs/utils/debugGlob.js +1 -1
- package/dist/cjs/utils/parseNpmPackage.js +1 -1
- package/dist/esm/__internal/index.d.ts +1 -1
- package/dist/esm/__internal/index.js +1 -1
- package/dist/esm/client/node.js +1 -1
- package/dist/esm/client/runtime-client-routing/createPageContextClientSide.js +2 -2
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +8 -0
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.js +6 -6
- package/dist/esm/client/runtime-client-routing/index.js +1 -1
- package/dist/esm/client/runtime-client-routing/isClientSideRoutable.js +1 -1
- package/dist/esm/client/runtime-client-routing/prefetch/getPrefetchSettings.js +6 -6
- package/dist/esm/client/runtime-client-routing/prefetch.js +10 -10
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.d.ts +2 -0
- package/dist/esm/client/runtime-client-routing/renderPageClientSide.js +3 -3
- package/dist/esm/client/runtime-client-routing/skipLink.js +1 -1
- package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +2 -2
- package/dist/esm/client/runtime-server-routing/index.js +1 -1
- package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +5 -4
- package/dist/esm/client/shared/createGetGlobalContextClient.js +0 -1
- package/dist/esm/client/shared/execHookOnRenderClient.js +1 -1
- package/dist/esm/client/shared/loadPageConfigsLazyClientSide.js +2 -2
- package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.js +4 -4
- package/dist/esm/node/api/prepareViteApiCall.js +1 -1
- package/dist/esm/node/cli/index.js +1 -1
- package/dist/esm/node/createPageRenderer.js +1 -1
- package/dist/esm/node/importBuild.js +1 -1
- package/dist/esm/node/prerender/context.js +1 -1
- package/dist/esm/node/prerender/index.js +1 -1
- package/dist/esm/node/prerender/resolvePrerenderConfig.js +2 -2
- package/dist/esm/node/prerender/runPrerender.d.ts +2 -1
- package/dist/esm/node/prerender/runPrerender.js +9 -13
- package/dist/esm/node/runtime/globalContext.d.ts +15 -15
- package/dist/esm/node/runtime/globalContext.js +34 -15
- package/dist/esm/node/runtime/html/injectAssets/injectAssets__public.js +1 -1
- package/dist/esm/node/runtime/html/injectAssets/injectHtmlTags.js +2 -0
- package/dist/esm/node/runtime/html/serializeContext.d.ts +7 -1
- package/dist/esm/node/runtime/html/serializeContext.js +73 -15
- package/dist/esm/node/runtime/index-deprecated.js +1 -1
- package/dist/esm/node/runtime/index.js +1 -1
- package/dist/esm/node/runtime/page-files/setup.js +1 -1
- package/dist/esm/node/runtime/renderPage/assertArguments.js +1 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse.d.ts +1 -0
- package/dist/esm/node/runtime/renderPage/createHttpResponse.js +9 -6
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +4 -4
- package/dist/esm/node/runtime/renderPage/execHookDataAndOnBeforeRender.js +2 -2
- package/dist/esm/node/runtime/renderPage/getCacheControl.d.ts +5 -0
- package/dist/esm/node/runtime/renderPage/{createHttpResponse/getCacheControl.js → getCacheControl.js} +8 -9
- package/dist/esm/node/runtime/renderPage/getHttpResponseBody.js +4 -4
- package/dist/esm/node/runtime/renderPage/getPageAssets/retrieveAssetsProd.js +1 -1
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.d.ts +8 -4
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +36 -17
- package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.js +1 -1
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.d.ts +4 -2
- package/dist/esm/node/runtime/renderPage/renderPageAlreadyRouted.js +1 -0
- package/dist/esm/node/runtime/renderPage.d.ts +3 -3
- package/dist/esm/node/runtime/renderPage.js +4 -6
- package/dist/esm/node/vite/index.js +1 -1
- package/dist/esm/node/vite/onLoad.js +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildConfig.js +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginBuildEntry.js +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/pluginDistPackageJsonFile.js +0 -1
- package/dist/esm/node/vite/plugins/pluginCommon/assertResolveAlias.js +1 -1
- package/dist/esm/node/vite/plugins/pluginCommon.js +8 -4
- package/dist/esm/node/vite/plugins/pluginDev.js +1 -1
- package/dist/esm/node/vite/plugins/pluginEnvVars.js +1 -1
- package/dist/esm/node/vite/plugins/pluginFileEnv.js +1 -1
- package/dist/esm/node/vite/plugins/pluginVirtualFiles.js +1 -1
- package/dist/esm/node/vite/shared/addSsrMiddleware.js +1 -1
- package/dist/esm/node/vite/shared/loggerNotProd.js +10 -0
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/configDefinitionsBuiltIn.js +5 -1
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/crawlPlusFiles.js +1 -3
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/filesystemRouting.js +4 -6
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal/transpileAndExecuteFile.js +1 -1
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal.js +6 -6
- package/dist/esm/shared/RenderErrorPage.js +1 -1
- package/dist/esm/shared/abort.js +1 -1
- package/dist/esm/shared/createGlobalContextShared.d.ts +3 -3
- package/dist/esm/shared/createGlobalContextShared.js +20 -7
- package/dist/esm/shared/createPageContextShared.d.ts +2 -3
- package/dist/esm/shared/createPageContextShared.js +1 -2
- package/dist/esm/shared/determinePageIdOld.js +1 -1
- package/dist/esm/shared/error-page.js +3 -3
- package/dist/esm/shared/getPageContextUrlComputed.js +4 -4
- package/dist/esm/shared/getPageFiles/analyzeClientSide.js +1 -1
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/analyzeExports.js +1 -1
- package/dist/esm/shared/getPageFiles/analyzePageClientSide/determineClientEntry.js +1 -1
- package/dist/esm/shared/getPageFiles/analyzePageClientSide.js +2 -2
- package/dist/esm/shared/getPageFiles/assert_exports_old_design.js +1 -1
- package/dist/esm/shared/getPageFiles/fileTypes.js +1 -1
- package/dist/esm/shared/getPageFiles/getAllPageIdFiles.js +1 -1
- package/dist/esm/shared/getPageFiles/getPageFileObject.js +1 -1
- package/dist/esm/shared/getPageFiles/parseVirtualFileExports.js +1 -1
- package/dist/esm/shared/getProxyForPublicUsage.js +1 -1
- package/dist/esm/shared/hooks/getHook.js +1 -1
- package/dist/esm/shared/page-configs/getConfigDefinedAt.js +4 -3
- package/dist/esm/shared/page-configs/resolveVikeConfigPublic.js +12 -12
- package/dist/esm/shared/page-configs/serialize/serializeConfigValues.js +1 -1
- package/dist/esm/shared/preparePageContextForPublicUsage.js +5 -5
- package/dist/esm/shared/route/abort.js +1 -1
- package/dist/esm/shared/route/deduceRouteStringFromFilesystemPath.js +1 -1
- package/dist/esm/shared/route/execHookGuard.js +1 -1
- package/dist/esm/shared/route/execHookOnBeforeRoute.js +1 -1
- package/dist/esm/shared/route/index.js +1 -1
- package/dist/esm/shared/route/loadPageRoutes.d.ts +5 -0
- package/dist/esm/shared/route/loadPageRoutes.js +10 -4
- package/dist/esm/shared/route/resolveRouteFunction.js +3 -3
- package/dist/esm/shared/route/resolveRouteString.js +1 -1
- package/dist/esm/shared/route/routing.js +1 -1
- package/dist/esm/types/Config.d.ts +9 -1
- package/dist/esm/types/PageContext.d.ts +8 -2
- 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 +8 -8
- package/dist/esm/utils/debugGlob.js +1 -1
- package/dist/esm/utils/parseNpmPackage.js +1 -1
- package/package.json +3 -6
- package/dist/esm/node/runtime/renderPage/createHttpResponse/getCacheControl.d.ts +0 -5
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.cacheControlDisable = void 0;
|
|
3
4
|
exports.getCacheControl = getCacheControl;
|
|
4
|
-
const helpers_js_1 = require("
|
|
5
|
-
const getConfigValueRuntime_js_1 = require("
|
|
6
|
-
const
|
|
7
|
-
|
|
8
|
-
|
|
5
|
+
const helpers_js_1 = require("../../../shared/page-configs/helpers.js");
|
|
6
|
+
const getConfigValueRuntime_js_1 = require("../../../shared/page-configs/getConfigValueRuntime.js");
|
|
7
|
+
const cacheControlDisable = 'no-store, max-age=0';
|
|
8
|
+
exports.cacheControlDisable = cacheControlDisable;
|
|
9
|
+
function getCacheControl(pageId, pageConfigs) {
|
|
10
|
+
// TO-DO/next-major-release: remove this line
|
|
9
11
|
if (pageConfigs.length === 0)
|
|
10
|
-
return
|
|
11
|
-
if (statusCode > 499)
|
|
12
|
-
return defaultValue;
|
|
12
|
+
return cacheControlDisable;
|
|
13
13
|
if (pageId) {
|
|
14
14
|
const pageConfig = (0, helpers_js_1.getPageConfig)(pageId, pageConfigs);
|
|
15
15
|
const configValue = (0, getConfigValueRuntime_js_1.getConfigValueRuntime)(pageConfig, 'cacheControl', 'string');
|
|
@@ -20,5 +20,5 @@ function getCacheControl(pageId, pageConfigs, statusCode) {
|
|
|
20
20
|
// - Disabling caching by default is the safest strategy, because caching is problematic with authentication as described in https://github.com/vikejs/vike/issues/1275#issuecomment-1824366875
|
|
21
21
|
// - Are there use cases when we don't need to disable caching?
|
|
22
22
|
// - When there isn't any <script id="vike_pageContext" type="application/json"> then we can safely have caching. (We don't implement this exception because we're lazy and it's quite a rare situation.)
|
|
23
|
-
return
|
|
23
|
+
return cacheControlDisable;
|
|
24
24
|
}
|
|
@@ -61,7 +61,7 @@ function getHttpResponseBodyStreamHandlers(htmlRender, renderHook) {
|
|
|
61
61
|
const body = await (0, renderHtml_js_1.getHtmlString)(htmlRender);
|
|
62
62
|
return body;
|
|
63
63
|
},
|
|
64
|
-
//
|
|
64
|
+
// TO-DO/next-major-release: remove
|
|
65
65
|
async getNodeStream() {
|
|
66
66
|
(0, utils_js_1.assertWarning)(false, '`pageContext.httpResponse.getNodeStream()` is outdated, use `pageContext.httpResponse.getReadableNodeStream()` instead. ' +
|
|
67
67
|
streamDocs, { onlyOnce: true, showStackTrace: true });
|
|
@@ -71,7 +71,7 @@ function getHttpResponseBodyStreamHandlers(htmlRender, renderHook) {
|
|
|
71
71
|
}
|
|
72
72
|
return nodeStream;
|
|
73
73
|
},
|
|
74
|
-
//
|
|
74
|
+
// TO-DO/next-major-release: remove
|
|
75
75
|
getWebStream() {
|
|
76
76
|
(0, utils_js_1.assertWarning)(false, '`pageContext.httpResponse.getWebStream(res)` is outdated, use `pageContext.httpResponse.getReadableWebStream(res)` instead. ' +
|
|
77
77
|
streamDocs, { onlyOnce: true, showStackTrace: true });
|
|
@@ -81,7 +81,7 @@ function getHttpResponseBodyStreamHandlers(htmlRender, renderHook) {
|
|
|
81
81
|
}
|
|
82
82
|
return webStream;
|
|
83
83
|
},
|
|
84
|
-
//
|
|
84
|
+
// TO-DO/next-major-release: remove
|
|
85
85
|
pipeToWebWritable(writable) {
|
|
86
86
|
(0, utils_js_1.assertWarning)(false, '`pageContext.httpResponse.pipeToWebWritable(res)` is outdated, use `pageContext.httpResponse.pipe(res)` instead. ' +
|
|
87
87
|
streamDocs, { onlyOnce: true, showStackTrace: true });
|
|
@@ -90,7 +90,7 @@ function getHttpResponseBodyStreamHandlers(htmlRender, renderHook) {
|
|
|
90
90
|
(0, utils_js_1.assertUsage)(false, getErrMsg(htmlRender, renderHook, 'pipeToWebWritable()'));
|
|
91
91
|
}
|
|
92
92
|
},
|
|
93
|
-
//
|
|
93
|
+
// TO-DO/next-major-release: remove
|
|
94
94
|
pipeToNodeWritable(writable) {
|
|
95
95
|
(0, utils_js_1.assertWarning)(false, '`pageContext.httpResponse.pipeToNodeWritable(res)` is outdated, use `pageContext.httpResponse.pipe(res)` instead. ' +
|
|
96
96
|
streamDocs, { onlyOnce: true, showStackTrace: true });
|
|
@@ -11,7 +11,7 @@ function retrieveAssetsProd(clientDependencies, assetsManifest, includeAssetsImp
|
|
|
11
11
|
clientDependencies.forEach(({ id, onlyAssets, eagerlyImported }) => {
|
|
12
12
|
if (eagerlyImported)
|
|
13
13
|
return; // Eagerly imported assets aren't imported with import() and therefore don't create a new Rollup entry and aren't listed in the manifest file
|
|
14
|
-
//
|
|
14
|
+
// TO-DO/next-major-release: remove
|
|
15
15
|
if (includeAssetsImportedByServer &&
|
|
16
16
|
onlyAssets &&
|
|
17
17
|
id.includes('.page.server.') &&
|
|
@@ -11,17 +11,19 @@ const findPageConfig_js_1 = require("../../../shared/page-configs/findPageConfig
|
|
|
11
11
|
const analyzePage_js_1 = require("./analyzePage.js");
|
|
12
12
|
const loadConfigValues_js_1 = require("../../../shared/page-configs/loadConfigValues.js");
|
|
13
13
|
const execHookServer_js_1 = require("./execHookServer.js");
|
|
14
|
+
const getCacheControl_js_1 = require("./getCacheControl.js");
|
|
14
15
|
async function loadPageConfigsLazyServerSideAndExecHook(pageContext) {
|
|
15
16
|
const pageContextAddendum = await loadPageConfigsLazyServerSide(pageContext);
|
|
16
17
|
(0, utils_js_1.objectAssign)(pageContext, pageContextAddendum);
|
|
17
18
|
await (0, execHookServer_js_1.execHookServer)('onCreatePageContext', pageContext);
|
|
18
19
|
return pageContext;
|
|
19
20
|
}
|
|
21
|
+
// TODO/now: define new function resolveAfterLoad() ?
|
|
20
22
|
async function loadPageConfigsLazyServerSide(pageContext) {
|
|
21
23
|
const pageConfig = (0, findPageConfig_js_1.findPageConfig)(pageContext._globalContext._pageConfigs, pageContext.pageId); // Make pageConfig globally available as pageContext._pageConfig ?
|
|
22
24
|
const globalContext = pageContext._globalContext;
|
|
23
|
-
const [{ pageFilesLoaded,
|
|
24
|
-
|
|
25
|
+
const [{ pageFilesLoaded, configPublicPageLazy }] = await Promise.all([
|
|
26
|
+
loadPageConfigFiles(pageContext._globalContext._pageFilesAll, pageConfig, globalContext._pageConfigGlobal, pageContext.pageId, !globalContext._isProduction),
|
|
25
27
|
(0, analyzePageClientSide_js_1.analyzePageClientSideInit)(pageContext._globalContext._pageFilesAll, pageContext.pageId, {
|
|
26
28
|
sharedPageFilesAlreadyLoaded: true,
|
|
27
29
|
}),
|
|
@@ -31,28 +33,27 @@ async function loadPageConfigsLazyServerSide(pageContext) {
|
|
|
31
33
|
const passToClient = [];
|
|
32
34
|
const errMsg = ' should be an array of strings.';
|
|
33
35
|
if (!isV1Design) {
|
|
34
|
-
|
|
36
|
+
configPublicPageLazy.exportsAll.passToClient?.forEach((e) => {
|
|
35
37
|
(0, utils_js_1.assertUsage)((0, utils_js_1.hasProp)(e, 'exportValue', 'string[]'), `${e.exportSource}${errMsg}`);
|
|
36
38
|
passToClient.push(...e.exportValue);
|
|
37
39
|
});
|
|
38
40
|
}
|
|
39
41
|
else {
|
|
40
|
-
|
|
41
|
-
const {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
(0, utils_js_1.assertUsage)((0, utils_js_1.isArrayOfStrings)(vals), `${e.configDefinedAt}${errMsg}`);
|
|
46
|
-
passToClient.push(...vals);
|
|
42
|
+
configPublicPageLazy.from.configsCumulative.passToClient?.values.forEach((v) => {
|
|
43
|
+
const { value } = v;
|
|
44
|
+
// const { definedAt } = v
|
|
45
|
+
// assertUsage(isArrayOfStrings(value), `+passToClient value defined at ${definedAt}${errMsg}`)
|
|
46
|
+
passToClient.push(...value);
|
|
47
47
|
});
|
|
48
48
|
}
|
|
49
49
|
const pageContextAddendum = {};
|
|
50
|
-
(0, utils_js_1.objectAssign)(pageContextAddendum,
|
|
50
|
+
(0, utils_js_1.objectAssign)(pageContextAddendum, configPublicPageLazy);
|
|
51
51
|
(0, utils_js_1.objectAssign)(pageContextAddendum, {
|
|
52
|
-
Page:
|
|
52
|
+
Page: configPublicPageLazy.exports.Page,
|
|
53
53
|
_isHtmlOnly: isHtmlOnly,
|
|
54
54
|
_passToClient: passToClient,
|
|
55
55
|
_pageFilePathsLoaded: pageFilesLoaded.map((p) => p.filePath),
|
|
56
|
+
headersResponse: resolveHeadersResponse(pageContext, pageContextAddendum),
|
|
56
57
|
});
|
|
57
58
|
(0, utils_js_1.objectAssign)(pageContextAddendum, {
|
|
58
59
|
__getPageAssets: async () => {
|
|
@@ -66,7 +67,7 @@ async function loadPageConfigsLazyServerSide(pageContext) {
|
|
|
66
67
|
}
|
|
67
68
|
},
|
|
68
69
|
});
|
|
69
|
-
//
|
|
70
|
+
// TO-DO/next-major-release: remove
|
|
70
71
|
Object.assign(pageContextAddendum, {
|
|
71
72
|
_getPageAssets: async () => {
|
|
72
73
|
(0, utils_js_1.assertWarning)(false, 'pageContext._getPageAssets() deprecated, see https://vike.dev/preloading', {
|
|
@@ -105,13 +106,31 @@ async function loadPageConfigsLazyServerSide(pageContext) {
|
|
|
105
106
|
});
|
|
106
107
|
return pageContextAddendum;
|
|
107
108
|
}
|
|
108
|
-
async function
|
|
109
|
+
async function loadPageConfigFiles(pageFilesAll, pageConfig, pageConfigGlobal, pageId, isDev) {
|
|
109
110
|
const pageFilesServerSide = (0, getPageFiles_js_1.getPageFilesServerSide)(pageFilesAll, pageId);
|
|
110
111
|
const pageConfigLoaded = !pageConfig ? null : await (0, loadConfigValues_js_1.loadConfigValues)(pageConfig, isDev);
|
|
111
112
|
await Promise.all(pageFilesServerSide.map((p) => p.loadFile?.()));
|
|
112
|
-
const
|
|
113
|
+
const configPublicPageLazy = (0, resolveVikeConfigPublic_js_1.resolveVikeConfigPublicPageLazy)(pageFilesServerSide, pageConfigLoaded, pageConfigGlobal);
|
|
113
114
|
return {
|
|
114
|
-
|
|
115
|
+
configPublicPageLazy,
|
|
115
116
|
pageFilesLoaded: pageFilesServerSide,
|
|
116
117
|
};
|
|
117
118
|
}
|
|
119
|
+
function resolveHeadersResponse(pageContext, pageContextAddendum) {
|
|
120
|
+
const headersResponse = mergeHeaders(pageContextAddendum.config.headersResponse);
|
|
121
|
+
if (!headersResponse.get('Cache-Control')) {
|
|
122
|
+
const cacheControl = (0, getCacheControl_js_1.getCacheControl)(pageContext.pageId, pageContext._globalContext._pageConfigs);
|
|
123
|
+
if (cacheControl)
|
|
124
|
+
headersResponse.set('Cache-Control', cacheControl);
|
|
125
|
+
}
|
|
126
|
+
return headersResponse;
|
|
127
|
+
}
|
|
128
|
+
function mergeHeaders(headersList = []) {
|
|
129
|
+
const headersMerged = new Headers();
|
|
130
|
+
headersList.forEach((headers) => {
|
|
131
|
+
new Headers(headers).forEach((value, key) => {
|
|
132
|
+
headersMerged.append(key, value);
|
|
133
|
+
});
|
|
134
|
+
});
|
|
135
|
+
return headersMerged;
|
|
136
|
+
}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.preparePageContextForPublicUsageServer = preparePageContextForPublicUsageServer;
|
|
4
4
|
const preparePageContextForPublicUsage_js_1 = require("../../../shared/preparePageContextForPublicUsage.js");
|
|
5
5
|
function preparePageContextForPublicUsageServer(pageContext) {
|
|
6
|
-
//
|
|
6
|
+
// TO-DO/next-major-release: after we remove supportVueReactiviy() we can call this later inside the agnostic preparePageContextForPublicUsage()
|
|
7
7
|
(0, preparePageContextForPublicUsage_js_1.assertPropertyGetters)(pageContext);
|
|
8
8
|
pageContext = (0, preparePageContextForPublicUsage_js_1.preparePageContextForPublicUsage)(pageContext);
|
|
9
9
|
return pageContext;
|
|
@@ -19,6 +19,7 @@ const preparePageContextForPublicUsageServer_js_1 = require("./preparePageContex
|
|
|
19
19
|
const execHookGuard_js_1 = require("../../../shared/route/execHookGuard.js");
|
|
20
20
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
21
21
|
const isServerSideError_js_1 = require("../../../shared/misc/isServerSideError.js");
|
|
22
|
+
// TODO/now: rename?
|
|
22
23
|
async function renderPageAlreadyRouted(pageContext) {
|
|
23
24
|
// pageContext.pageId can either be the:
|
|
24
25
|
// - ID of the page matching the routing, or the
|
|
@@ -84,7 +84,7 @@ async function renderPagePrepare(pageContextInit, httpRequestId) {
|
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
86
|
const { globalContext } = await (0, globalContext_js_1.getGlobalContextServerInternal)();
|
|
87
|
-
const pageContextBegin =
|
|
87
|
+
const pageContextBegin = getPageContextBegin(pageContextInit, globalContext, httpRequestId);
|
|
88
88
|
// Check Base URL
|
|
89
89
|
{
|
|
90
90
|
const pageContextHttpResponse = await checkBaseUrl(pageContextBegin, globalContext);
|
|
@@ -174,9 +174,7 @@ async function renderPageOnError(errNominalPage, pageContextBegin, pageContextNo
|
|
|
174
174
|
(0, utils_js_1.objectAssign)(pageContextErrorPageInit, { pageId: null });
|
|
175
175
|
return (0, handleErrorWithoutErrorPage_js_1.handleErrorWithoutErrorPage)(pageContextErrorPageInit);
|
|
176
176
|
}
|
|
177
|
-
|
|
178
|
-
(0, utils_js_1.objectAssign)(pageContextErrorPageInit, { pageId: errorPageId });
|
|
179
|
-
}
|
|
177
|
+
(0, utils_js_1.objectAssign)(pageContextErrorPageInit, { pageId: errorPageId });
|
|
180
178
|
}
|
|
181
179
|
let pageContextErrorPage;
|
|
182
180
|
try {
|
|
@@ -313,9 +311,9 @@ async function getPageContextErrorPageInit(pageContextBegin, errNominalPage, pag
|
|
|
313
311
|
(0, utils_js_1.assert)(pageContext.errorWhileRendering);
|
|
314
312
|
return pageContext;
|
|
315
313
|
}
|
|
316
|
-
|
|
314
|
+
function getPageContextBegin(pageContextInit, globalContext, httpRequestId) {
|
|
317
315
|
const { isClientSideNavigation, _urlHandler } = handlePageContextUrl(pageContextInit.urlOriginal);
|
|
318
|
-
const pageContextBegin =
|
|
316
|
+
const pageContextBegin = (0, createPageContextServerSide_js_1.createPageContextServerSide)(pageContextInit, globalContext, {
|
|
319
317
|
isPrerendering: false,
|
|
320
318
|
ssr: {
|
|
321
319
|
urlHandler: _urlHandler,
|
|
@@ -12,7 +12,7 @@ function onLoad() {
|
|
|
12
12
|
(0, assertNodeVersion_js_1.assertNodeVersion)();
|
|
13
13
|
// package.json#peerDependencies isn't enough as users often ignore it
|
|
14
14
|
// This assertion isn't reliable: the user may still use a Vite version older than 5.1.0 — see https://github.com/vitejs/vite/pull/19355
|
|
15
|
-
// TO-DO/
|
|
15
|
+
// TO-DO/eventually: let's also use this.meta.viteVersion https://github.com/vitejs/vite/pull/20088
|
|
16
16
|
(0, assertVersion_js_1.assertVersion)('Vite', vite_1.version, '5.1.0');
|
|
17
17
|
// Ensure we don't bloat the server runtime with heavy dependencies such Vite and esbuild
|
|
18
18
|
(0, assertSetup_js_1.assertIsNotProductionRuntime)();
|
|
@@ -59,7 +59,7 @@ function pluginBuildConfig() {
|
|
|
59
59
|
async function getEntries(config) {
|
|
60
60
|
const vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)();
|
|
61
61
|
const { _pageConfigs: pageConfigs } = vikeConfig;
|
|
62
|
-
//
|
|
62
|
+
// TO-DO/next-major-release: remove
|
|
63
63
|
const pageFileEntries = await getPageFileEntries(config, (0, getPageAssets_js_1.resolveIncludeAssetsImportedByServer)(vikeConfig.config));
|
|
64
64
|
(0, utils_js_1.assertUsage)(Object.keys(pageFileEntries).length !== 0 || pageConfigs.length !== 0, 'At least one page should be defined, see https://vike.dev/add');
|
|
65
65
|
if ((0, isViteServerBuild_js_1.isViteServerBuild)(config)) {
|
|
@@ -38,7 +38,7 @@ function getServerProductionEntryCode(config) {
|
|
|
38
38
|
const importPath = getImportPath(config);
|
|
39
39
|
const buildInfo = {
|
|
40
40
|
versionAtBuildTime: utils_js_1.PROJECT_VERSION,
|
|
41
|
-
usesClientRouter: (0, pluginExtractExportNames_js_1.isUsingClientRouter)(), //
|
|
41
|
+
usesClientRouter: (0, pluginExtractExportNames_js_1.isUsingClientRouter)(), // TO-DO/next-major-release: remove
|
|
42
42
|
viteConfigRuntime: (0, getViteConfigRuntime_js_1.getViteConfigRuntime)(config),
|
|
43
43
|
};
|
|
44
44
|
(0, globalContext_js_1.assertBuildInfo)(buildInfo);
|
|
@@ -19,7 +19,7 @@ const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
|
19
19
|
// - @vitejs/plugin-vue2
|
|
20
20
|
// - https://github.com/vikejs/vike/issues/1329
|
|
21
21
|
function assertResolveAlias(config) {
|
|
22
|
-
//
|
|
22
|
+
// TO-DO/eventually: re-implement warning https://github.com/vikejs/vike/issues/1567
|
|
23
23
|
return;
|
|
24
24
|
const aliases = getAliases(config);
|
|
25
25
|
const errPrefix = config.configFile || 'Your Vite configuration';
|
|
@@ -30,13 +30,13 @@ function pluginCommon(vikeVitePluginOptions) {
|
|
|
30
30
|
? (0, prepareViteApiCall_js_1.normalizeViteRoot)(configFromUser.root)
|
|
31
31
|
: await (0, prepareViteApiCall_js_1.getViteRoot)(operation);
|
|
32
32
|
(0, utils_js_1.assert)(rootResolvedEarly);
|
|
33
|
-
//
|
|
33
|
+
// TO-DO/next-major-release: we can remove setVikeConfigContext() call here since with Vike's CLI it's already called at vike/node/api/prepareViteApiCall.ts
|
|
34
34
|
(0, resolveVikeConfigInternal_js_1.setVikeConfigContext)({ userRootDir: rootResolvedEarly, isDev, vikeVitePluginOptions });
|
|
35
35
|
const vikeConfig = await (0, resolveVikeConfigInternal_js_1.getVikeConfigInternal)();
|
|
36
36
|
return {
|
|
37
37
|
_isDev: isDev,
|
|
38
38
|
_rootResolvedEarly: rootResolvedEarly,
|
|
39
|
-
//
|
|
39
|
+
// TO-DO/next-major-release: remove https://github.com/vikejs/vike/issues/2122
|
|
40
40
|
configVikePromise: Promise.resolve({
|
|
41
41
|
prerender: vikeConfig.prerenderContext.isPrerenderingEnabled,
|
|
42
42
|
}),
|
|
@@ -58,7 +58,11 @@ function pluginCommon(vikeVitePluginOptions) {
|
|
|
58
58
|
configResolved: {
|
|
59
59
|
order: 'post',
|
|
60
60
|
async handler(config) {
|
|
61
|
-
/*
|
|
61
|
+
/* Also externalize linked dependencies by default?
|
|
62
|
+
* - Can this be done while the user sets ssr.external to `string[]`? I guess not?
|
|
63
|
+
* - If not then it's a problem: it makes the default inconsistent.
|
|
64
|
+
* - https://vite.dev/config/ssr-options.html#ssr-external
|
|
65
|
+
* - New setting +transpileLinkedDependencies ?
|
|
62
66
|
overrideViteDefaultSsrExternal(config)
|
|
63
67
|
//*/
|
|
64
68
|
workaroundCI(config);
|
|
@@ -162,7 +166,7 @@ function assertVikeCliOrApi(config) {
|
|
|
162
166
|
onlyOnce: true,
|
|
163
167
|
});
|
|
164
168
|
}
|
|
165
|
-
//
|
|
169
|
+
// TO-DO/next-major-release: remove https://github.com/vikejs/vike/issues/2122
|
|
166
170
|
function temp_supportOldInterface(config) {
|
|
167
171
|
if (!('vitePluginSsr' in config))
|
|
168
172
|
return;
|
|
@@ -25,7 +25,7 @@ function pluginDev() {
|
|
|
25
25
|
config() {
|
|
26
26
|
return {
|
|
27
27
|
appType: 'custom',
|
|
28
|
-
//
|
|
28
|
+
// TO-DO/next-major-release: remove (AFAICT we only need to use config.optimizeDeps for the old design)
|
|
29
29
|
optimizeDeps: {
|
|
30
30
|
exclude: [
|
|
31
31
|
// We exclude Vike's client runtime to be able to use Vite's import.meta.glob()
|
|
@@ -11,7 +11,7 @@ const getFilePath_js_1 = require("../shared/getFilePath.js");
|
|
|
11
11
|
const normalizeId_js_1 = require("../shared/normalizeId.js");
|
|
12
12
|
const isViteServerBuild_js_1 = require("../shared/isViteServerBuild.js");
|
|
13
13
|
const applyRegExWithMagicString_js_1 = require("../shared/applyRegExWithMagicString.js");
|
|
14
|
-
//
|
|
14
|
+
// TO-DO/eventually:
|
|
15
15
|
// - Make import.meta.env work inside +config.js
|
|
16
16
|
// - For it to work, we'll probably need the user to define the settings (e.g. `envDir`) for loadEnv() inside vike.config.js instead of vite.config.js
|
|
17
17
|
// - Or stop using Vite's `mode` implementation and have Vike implement its own `mode` feature? (So that the only dependencies are `$ vike build --mode staging` and `$ MODE=staging vike build`.)
|
|
@@ -124,7 +124,7 @@ function pluginFileEnv() {
|
|
|
124
124
|
return modulePath.includes(suffixWrong);
|
|
125
125
|
}
|
|
126
126
|
function skip(id) {
|
|
127
|
-
//
|
|
127
|
+
// TO-DO/next-major-release: remove
|
|
128
128
|
if (pluginExtractAssets_js_1.extractAssetsRE.test(id) || pluginExtractExportNames_js_1.extractExportNamesRE.test(id))
|
|
129
129
|
return true;
|
|
130
130
|
if (!id.includes(getSuffix('client')) && !id.includes(getSuffix('server')))
|
|
@@ -25,7 +25,7 @@ function pluginVirtualFiles() {
|
|
|
25
25
|
name: 'vike:pluginVirtualFiles',
|
|
26
26
|
async configResolved(config_) {
|
|
27
27
|
config = config_;
|
|
28
|
-
//
|
|
28
|
+
// TO-DO/next-major-release: remove
|
|
29
29
|
if (!(0, resolveVikeConfigInternal_js_1.isV1Design)())
|
|
30
30
|
config.experimental.importGlobRestoreExtension = true;
|
|
31
31
|
},
|
|
@@ -21,7 +21,7 @@ function addSsrMiddleware(middlewares, config, isPreview, isPrerenderingEnabled)
|
|
|
21
21
|
};
|
|
22
22
|
Object.defineProperty(pageContextInit, 'userAgent', {
|
|
23
23
|
get() {
|
|
24
|
-
//
|
|
24
|
+
// TO-DO/next-major-release: assertUsage() instead of assertWarning()
|
|
25
25
|
(0, utils_js_1.assertWarning)(false, `${picocolors_1.default.cyan('pageContext.userAgent')} is deprecated: use ${picocolors_1.default.cyan("pageContext.headers['user-agent']")} instead.`, {
|
|
26
26
|
showStackTrace: true,
|
|
27
27
|
onlyOnce: true,
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
//
|
|
3
|
-
//
|
|
4
|
-
//
|
|
5
|
-
//
|
|
6
|
-
//
|
|
7
|
-
//
|
|
2
|
+
// TO-DO/eventually:
|
|
3
|
+
// - New hook onLog(): https://github.com/vikejs/vike/issues/1438
|
|
4
|
+
// - Exact same logs between prod and dev, only difference is that some log objects have:
|
|
5
|
+
// - `isDevLog: true`
|
|
6
|
+
// - `willBeLogged: false` in production
|
|
7
|
+
// - `showTimestamp: true`
|
|
8
|
+
// - Never clear screen (it's complex with little benefit)
|
|
9
|
+
// - Add shortcut to clear screen
|
|
10
|
+
// - Maybe rotate colors upon no requests within 30s?
|
|
11
|
+
// - Only show a one-liner init log (instead of Vite's multi-line log)
|
|
8
12
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
9
13
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
14
|
};
|
|
@@ -87,7 +87,7 @@ const configDefinitionsBuiltIn = {
|
|
|
87
87
|
env: { client: true },
|
|
88
88
|
eager: true,
|
|
89
89
|
},
|
|
90
|
-
//
|
|
90
|
+
// TO-DO/next-major-release: remove
|
|
91
91
|
prefetchStaticAssets: {
|
|
92
92
|
env: { client: true },
|
|
93
93
|
},
|
|
@@ -212,6 +212,10 @@ const configDefinitionsBuiltIn = {
|
|
|
212
212
|
env: { server: true },
|
|
213
213
|
global: true,
|
|
214
214
|
},
|
|
215
|
+
headersResponse: {
|
|
216
|
+
env: { server: true },
|
|
217
|
+
cumulative: true,
|
|
218
|
+
},
|
|
215
219
|
};
|
|
216
220
|
exports.configDefinitionsBuiltIn = configDefinitionsBuiltIn;
|
|
217
221
|
function getConfigEnv(configValueSources, configName) {
|
|
@@ -35,9 +35,7 @@ async function crawlPlusFiles(userRootDir) {
|
|
|
35
35
|
: // Fallback to tinyglobby for users that dynamically generate plus files. (Assuming that no plus file is found because of the user's .gitignore list.)
|
|
36
36
|
filesGlob;
|
|
37
37
|
(0, utils_js_1.assert)(files);
|
|
38
|
-
if (debug.isActivated) {
|
|
39
|
-
(0, utils_js_1.assert)(filesGit);
|
|
40
|
-
(0, utils_js_1.assert)(filesGlob);
|
|
38
|
+
if (debug.isActivated && filesGit && filesGlob) {
|
|
41
39
|
(0, utils_js_1.assertWarning)((0, utils_js_1.deepEqual)(filesGlob.slice().sort(), filesGit.slice().sort()), "Git and glob results aren't matching.", { onlyOnce: false });
|
|
42
40
|
}
|
|
43
41
|
// Filter build files
|
|
@@ -36,12 +36,10 @@ function getFilesystemRouteString(locationId) {
|
|
|
36
36
|
function getInheritanceRoot(locationId) {
|
|
37
37
|
return getLogicalPath(locationId, [
|
|
38
38
|
'renderer',
|
|
39
|
-
//
|
|
40
|
-
//
|
|
41
|
-
//
|
|
42
|
-
//
|
|
43
|
-
// - Not sure if it's a good idea? Could it make config inheritance confusing? Let's try for now and see how it goes.
|
|
44
|
-
// - TO-DO/eventually: update docs https://github.com/vikejs/vike/blob/5fcdc4d5094f1a4dcbefc0b481cdd30a205aef2d/docs/pages/filesystem-routing/%2BPage.mdx?plain=1#L98
|
|
39
|
+
// Enable hooks defined by vike-{react,vue,solid} such as +onBeforeRenderClient to be defined at the root directory. In other words, avoid following error:
|
|
40
|
+
// ```bash
|
|
41
|
+
// [11:09:43.072][/test-preview.test.ts][npm run preview][stderr] Error: [vike][Wrong Usage] /+onBeforeRenderClient.ts sets the value of the config onBeforeRenderClient which is a custom config that is defined with https://vike.dev/meta at a path that doesn't apply to / — see https://vike.dev/config#inheritance
|
|
42
|
+
// ```
|
|
45
43
|
'pages',
|
|
46
44
|
]);
|
|
47
45
|
}
|
|
@@ -352,7 +352,7 @@ function isTemporaryBuildFile(filePath) {
|
|
|
352
352
|
const fileName = node_path_1.default.posix.basename(filePath);
|
|
353
353
|
return /\.build-[a-z0-9]{12}\.mjs$/.test(fileName);
|
|
354
354
|
}
|
|
355
|
-
//
|
|
355
|
+
// TO-DO/next-major-release: remove
|
|
356
356
|
function isHeaderFile(filePath) {
|
|
357
357
|
(0, utils_js_1.assertPosixPath)(filePath);
|
|
358
358
|
const fileExtensions = getFileExtensions(filePath);
|
|
@@ -44,7 +44,7 @@ let restartVite = false;
|
|
|
44
44
|
let vikeConfigHasBuildError = null;
|
|
45
45
|
let isV1Design_ = null;
|
|
46
46
|
let vikeConfigPromise = null;
|
|
47
|
-
//
|
|
47
|
+
// TO-DO/next-major-release: remove
|
|
48
48
|
let vikeConfigSync = null;
|
|
49
49
|
let vikeConfigCtx = null; // Information provided by Vite's `config` and Vike's CLI. We could, if we want or need to, completely remove the dependency on Vite.
|
|
50
50
|
let prerenderContext;
|
|
@@ -56,14 +56,14 @@ function reloadVikeConfig() {
|
|
|
56
56
|
}
|
|
57
57
|
async function getVikeConfigInternal(
|
|
58
58
|
// I don't remember the logic behind it — neither why we restart Vite's dev server, nor why we sometimes don't.
|
|
59
|
-
// TO-DO:
|
|
59
|
+
// TO-DO/eventually: re-think all that. Some + settings are expected to influence Vite's config (restarting Vite's dev server is needed) while some don't.
|
|
60
60
|
doNotRestartViteOnError = false) {
|
|
61
61
|
(0, utils_js_1.assert)(vikeConfigCtx);
|
|
62
62
|
const { userRootDir, isDev, vikeVitePluginOptions } = vikeConfigCtx;
|
|
63
63
|
const vikeConfig = await getOrResolveVikeConfig(userRootDir, isDev, vikeVitePluginOptions, doNotRestartViteOnError);
|
|
64
64
|
return vikeConfig;
|
|
65
65
|
}
|
|
66
|
-
//
|
|
66
|
+
// TO-DO/next-major-release: remove
|
|
67
67
|
function getVikeConfigInternalSync() {
|
|
68
68
|
(0, utils_js_1.assert)(vikeConfigSync);
|
|
69
69
|
return vikeConfigSync;
|
|
@@ -487,7 +487,7 @@ function sortConfigValueSources(configValueSources, locationIdPage) {
|
|
|
487
487
|
return sortAfterInheritanceOrderPage(source1.plusFile, source2.plusFile, locationIdPage, configName);
|
|
488
488
|
}
|
|
489
489
|
})
|
|
490
|
-
//
|
|
490
|
+
// TO-DO/next-major-release: remove
|
|
491
491
|
// Interop with vike(options) in vite.config.js — make it least precedence.
|
|
492
492
|
.sort((0, utils_js_1.makeLast)((source) => !source.plusFile));
|
|
493
493
|
});
|
|
@@ -783,7 +783,7 @@ function assertMetaUsage(metaVal, metaConfigDefinedAt) {
|
|
|
783
783
|
}
|
|
784
784
|
configEnv = getConfigEnvValue(def.env, `${metaConfigDefinedAt} sets ${picocolors_1.default.cyan(`meta.${configName}.env`)} to`);
|
|
785
785
|
// Overwrite deprecated value with valid value
|
|
786
|
-
//
|
|
786
|
+
// TO-DO/next-major-release: remove once support for the deprecated values is removed
|
|
787
787
|
if (typeof def.env === 'string')
|
|
788
788
|
def.env = configEnv;
|
|
789
789
|
}
|
|
@@ -1029,7 +1029,7 @@ function determineIsErrorPage(routeFilesystem) {
|
|
|
1029
1029
|
function getConfigEnvValue(val, errMsgIntro) {
|
|
1030
1030
|
const errInvalidValue = `${errMsgIntro} an invalid value ${picocolors_1.default.cyan(JSON.stringify(val))}`;
|
|
1031
1031
|
// Legacy outdated values
|
|
1032
|
-
//
|
|
1032
|
+
// TO-DO/next-major-release: remove
|
|
1033
1033
|
if (typeof val === 'string') {
|
|
1034
1034
|
const valConverted = (() => {
|
|
1035
1035
|
if (val === 'client-only')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RenderErrorPage = void 0;
|
|
4
|
-
//
|
|
4
|
+
// TO-DO/next-major-release: remove
|
|
5
5
|
var abort_js_1 = require("./route/abort.js");
|
|
6
6
|
Object.defineProperty(exports, "RenderErrorPage", { enumerable: true, get: function () { return abort_js_1.RenderErrorPage; } });
|
package/dist/cjs/shared/abort.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.render = exports.redirect = void 0;
|
|
4
|
-
//
|
|
4
|
+
// TO-DO/next-major-release: Move all universal imports (when using Client Routing) to:
|
|
5
5
|
// import {
|
|
6
6
|
// redirect,
|
|
7
7
|
// render,
|
|
@@ -10,10 +10,26 @@ const prepareGlobalContextForPublicUsage_js_1 = require("./prepareGlobalContextF
|
|
|
10
10
|
const getHook_js_1 = require("./hooks/getHook.js");
|
|
11
11
|
const getGlobalContextSyncErrMsg = "The global context isn't set yet, call getGlobalContextSync() later or use getGlobalContext() instead.";
|
|
12
12
|
exports.getGlobalContextSyncErrMsg = getGlobalContextSyncErrMsg;
|
|
13
|
-
async function createGlobalContextShared(virtualFileExports, globalObject,
|
|
13
|
+
async function createGlobalContextShared(virtualFileExports, globalObject, addGlobalContextAsync, addGlobalContextSync) {
|
|
14
14
|
const globalContext = createGlobalContextBase(virtualFileExports);
|
|
15
|
-
|
|
16
|
-
(
|
|
15
|
+
let isNewGlobalContext;
|
|
16
|
+
if (!globalObject.globalContext) {
|
|
17
|
+
globalObject.globalContext = globalContext;
|
|
18
|
+
isNewGlobalContext = false;
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
isNewGlobalContext = true;
|
|
22
|
+
}
|
|
23
|
+
if (addGlobalContextSync &&
|
|
24
|
+
// TODO/next-major-release: remove
|
|
25
|
+
globalContext._pageConfigs.length > 0) {
|
|
26
|
+
const globalContextAddendum = addGlobalContextSync?.(globalContext);
|
|
27
|
+
(0, utils_js_1.objectAssign)(globalContext, globalContextAddendum);
|
|
28
|
+
}
|
|
29
|
+
else {
|
|
30
|
+
const globalContextAddendum = await addGlobalContextAsync?.(globalContext);
|
|
31
|
+
(0, utils_js_1.objectAssign)(globalContext, globalContextAddendum);
|
|
32
|
+
}
|
|
17
33
|
const onCreateGlobalContextHooks = (0, getHook_js_1.getHookFromPageConfigGlobalCumulative)(globalContext._pageConfigGlobal, 'onCreateGlobalContext');
|
|
18
34
|
let hooksCalled = false;
|
|
19
35
|
if (!hooksAreEqual(globalObject.onCreateGlobalContextHooks ?? [], onCreateGlobalContextHooks)) {
|
|
@@ -21,10 +37,7 @@ async function createGlobalContextShared(virtualFileExports, globalObject, addGl
|
|
|
21
37
|
await (0, execHook_js_1.execHookGlobal)('onCreateGlobalContext', globalContext._pageConfigGlobal, null, globalContext, prepareGlobalContextForPublicUsage_js_1.prepareGlobalContextForPublicUsage);
|
|
22
38
|
hooksCalled = true;
|
|
23
39
|
}
|
|
24
|
-
if (
|
|
25
|
-
globalObject.globalContext = globalContext;
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
40
|
+
if (isNewGlobalContext) {
|
|
28
41
|
// Singleton: ensure all `globalContext` user-land references are preserved & updated.
|
|
29
42
|
if (hooksCalled) {
|
|
30
43
|
(0, utils_js_1.objectReplace)(globalObject.globalContext, globalContext);
|
|
@@ -3,8 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.createPageContextShared = createPageContextShared;
|
|
4
4
|
exports.createPageContextObject = createPageContextObject;
|
|
5
5
|
const utils_js_1 = require("./utils.js");
|
|
6
|
-
|
|
7
|
-
async function createPageContextShared(pageContextCreated, pageConfigGlobal, vikeConfigPublicGlobal) {
|
|
6
|
+
function createPageContextShared(pageContextCreated, vikeConfigPublicGlobal) {
|
|
8
7
|
(0, utils_js_1.objectAssign)(pageContextCreated, vikeConfigPublicGlobal);
|
|
9
8
|
return pageContextCreated;
|
|
10
9
|
}
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.determinePageIdOld = determinePageIdOld;
|
|
4
4
|
const utils_js_1 = require("./utils.js");
|
|
5
|
-
//
|
|
5
|
+
// TO-DO/next-major-release: remove
|
|
6
6
|
function determinePageIdOld(filePath) {
|
|
7
7
|
const pageSuffix = '.page.';
|
|
8
8
|
const pageId = (0, utils_js_1.slice)(filePath.split(pageSuffix), 0, -1).join(pageSuffix);
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getErrorPageId = getErrorPageId;
|
|
4
4
|
exports.isErrorPageId = isErrorPageId;
|
|
5
5
|
exports.isErrorPage = isErrorPage;
|
|
6
|
-
//
|
|
6
|
+
// TO-DO/next-major-release: consider loading this file only for Client Routing
|
|
7
7
|
const utils_js_1 = require("./utils.js");
|
|
8
8
|
function getErrorPageId(pageFilesAll, pageConfigs) {
|
|
9
9
|
if (pageConfigs.length > 0) {
|
|
@@ -13,7 +13,7 @@ function getErrorPageId(pageFilesAll, pageConfigs) {
|
|
|
13
13
|
(0, utils_js_1.assertUsage)(errorPageConfigs.length === 1, 'Only one error page can be defined');
|
|
14
14
|
return errorPageConfigs[0].pageId;
|
|
15
15
|
}
|
|
16
|
-
//
|
|
16
|
+
// TO-DO/next-major-release: remove
|
|
17
17
|
const errorPageIds = (0, utils_js_1.unique)(pageFilesAll.map(({ pageId }) => pageId).filter((pageId) => isErrorPageId(pageId, false)));
|
|
18
18
|
(0, utils_js_1.assertUsage)(errorPageIds.length <= 1, `Only one _error.page.js is allowed, but found several: ${errorPageIds.join(' ')}`);
|
|
19
19
|
if (errorPageIds.length > 0) {
|
|
@@ -23,7 +23,7 @@ function getErrorPageId(pageFilesAll, pageConfigs) {
|
|
|
23
23
|
}
|
|
24
24
|
return null;
|
|
25
25
|
}
|
|
26
|
-
//
|
|
26
|
+
// TO-DO/next-major-release: remove
|
|
27
27
|
function isErrorPageId(pageId, _isV1Design) {
|
|
28
28
|
(0, utils_js_1.assert)(!pageId.includes('\\'));
|
|
29
29
|
return pageId.includes('/_error');
|