vike 0.4.238-commit-5762291 → 0.4.238-commit-4c6aa0d
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/node/prerender/resolvePrerenderConfig.js +3 -2
- package/dist/cjs/node/runtime/index.js +3 -3
- package/dist/cjs/node/runtime/page-files/setup.js +3 -1
- package/dist/cjs/node/runtime/renderPage/createHttpResponse.js +2 -9
- package/dist/cjs/node/runtime/renderPage/createPageContextServerSide.js +2 -2
- package/dist/cjs/node/runtime/{csp.js → renderPage/csp.js} +13 -12
- package/dist/cjs/node/runtime/renderPage/execHookOnRenderHtml.js +2 -2
- package/dist/cjs/node/runtime/renderPage/getEarlyHints.js +1 -1
- package/dist/cjs/node/runtime/renderPage/getHttpResponseBody.js +2 -2
- package/dist/cjs/node/runtime/renderPage/headersResponse.js +48 -0
- package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/getHtmlTags.js +6 -6
- package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/getViteDevScript.js +1 -1
- package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/inferHtmlTags.js +5 -6
- package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/injectAssets__public.js +1 -1
- package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/injectHtmlTags.js +1 -1
- package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/mergeScriptTags.js +2 -2
- package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets.js +2 -2
- package/dist/cjs/node/runtime/{html → renderPage/html}/propKeys.js +1 -1
- package/dist/cjs/node/runtime/{html → renderPage/html}/renderHtml.js +1 -1
- package/dist/cjs/node/runtime/{html → renderPage/html}/serializeContext.js +6 -6
- package/dist/cjs/node/runtime/{html → renderPage/html}/stream/react-streaming.js +1 -1
- package/dist/cjs/node/runtime/{html → renderPage/html}/stream.js +1 -1
- package/dist/cjs/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +16 -41
- package/dist/cjs/node/runtime/renderPage/renderPageAfterRoute.js +2 -2
- package/dist/cjs/node/runtime/renderPage.js +1 -1
- package/dist/cjs/node/vite/plugins/pluginBuild/handleAssetsManifest.js +1 -1
- package/dist/cjs/node/vite/shared/resolveVikeConfigInternal.js +20 -22
- package/dist/cjs/shared/createGlobalContextShared.js +4 -22
- package/dist/cjs/shared/createPageContextShared.js +2 -2
- package/dist/cjs/shared/page-configs/resolveVikeConfigPublic.js +62 -44
- package/dist/cjs/utils/PROJECT_VERSION.js +1 -1
- package/dist/cjs/utils/assert.js +16 -1
- package/dist/esm/client/runtime-client-routing/createPageContextClientSide.d.ts +39 -16
- package/dist/esm/client/runtime-client-routing/createPageContextClientSide.js +1 -1
- package/dist/esm/client/runtime-client-routing/getPageContextCurrent.d.ts +2 -2
- package/dist/esm/client/runtime-client-routing/getPageContextFromHooks.d.ts +97 -83
- package/dist/esm/client/runtime-client-routing/globalContext.d.ts +38 -10
- 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 +43 -28
- package/dist/esm/client/runtime-server-routing/createPageContextClientSide.d.ts +39 -16
- package/dist/esm/client/runtime-server-routing/createPageContextClientSide.js +1 -1
- package/dist/esm/client/runtime-server-routing/globalContext.d.ts +38 -10
- package/dist/esm/client/runtime-server-routing/preparePageContextForPublicUsageClient.d.ts +2 -2
- package/dist/esm/client/shared/createGetGlobalContextClient.d.ts +38 -10
- 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 +2 -3
- package/dist/esm/client/shared/preparePageContextForPublicUsageClientShared.d.ts +2 -2
- package/dist/esm/node/prerender/resolvePrerenderConfig.js +4 -3
- package/dist/esm/node/prerender/runPrerender.d.ts +56 -15
- package/dist/esm/node/runtime/globalContext.d.ts +152 -40
- package/dist/esm/node/runtime/index.d.ts +3 -3
- package/dist/esm/node/runtime/index.js +3 -3
- package/dist/esm/node/runtime/page-files/setup.js +3 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse.d.ts +1 -1
- package/dist/esm/node/runtime/renderPage/createHttpResponse.js +2 -9
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.d.ts +52 -10
- package/dist/esm/node/runtime/renderPage/createPageContextServerSide.js +2 -2
- package/dist/esm/node/runtime/renderPage/csp.d.ts +12 -0
- package/dist/esm/node/runtime/{csp.js → renderPage/csp.js} +13 -12
- package/dist/esm/node/runtime/renderPage/execHookOnRenderHtml.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/execHookOnRenderHtml.js +2 -2
- package/dist/esm/node/runtime/renderPage/execHookServer.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/getEarlyHints.js +1 -1
- package/dist/esm/node/runtime/renderPage/getHttpResponseBody.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/getHttpResponseBody.js +2 -2
- package/dist/esm/node/runtime/renderPage/headersResponse.d.ts +10 -0
- package/dist/esm/node/runtime/renderPage/headersResponse.js +46 -0
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/getHtmlTags.d.ts +1 -1
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/getHtmlTags.js +6 -6
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/getViteDevScript.d.ts +1 -1
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/getViteDevScript.js +1 -1
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/inferHtmlTags.d.ts +3 -3
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/inferHtmlTags.js +4 -5
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/injectAssets__public.js +1 -1
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/injectHtmlTags.js +1 -1
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/mergeScriptTags.js +3 -3
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets.d.ts +2 -2
- package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets.js +2 -2
- package/dist/esm/node/runtime/{html → renderPage/html}/propKeys.js +1 -1
- package/dist/esm/node/runtime/{html → renderPage/html}/renderHtml.d.ts +1 -1
- package/dist/esm/node/runtime/{html → renderPage/html}/renderHtml.js +1 -1
- package/dist/esm/node/runtime/{html → renderPage/html}/serializeContext.d.ts +4 -4
- package/dist/esm/node/runtime/{html → renderPage/html}/serializeContext.js +6 -6
- package/dist/esm/node/runtime/{html → renderPage/html}/stream/react-streaming.js +1 -1
- package/dist/esm/node/runtime/{html → renderPage/html}/stream.js +1 -1
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.d.ts +61 -16
- package/dist/esm/node/runtime/renderPage/loadPageConfigsLazyServerSide.js +17 -42
- package/dist/esm/node/runtime/renderPage/preparePageContextForPublicUsageServer.d.ts +2 -2
- package/dist/esm/node/runtime/renderPage/renderPageAfterRoute.d.ts +112 -30
- package/dist/esm/node/runtime/renderPage/renderPageAfterRoute.js +2 -2
- package/dist/esm/node/runtime/renderPage.d.ts +52 -10
- package/dist/esm/node/runtime/renderPage.js +1 -1
- package/dist/esm/node/vite/plugins/pluginBuild/handleAssetsManifest.js +1 -1
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal.d.ts +4 -8
- package/dist/esm/node/vite/shared/resolveVikeConfigInternal.js +22 -24
- package/dist/esm/shared/createGlobalContextShared.d.ts +73 -17
- package/dist/esm/shared/createGlobalContextShared.js +5 -23
- package/dist/esm/shared/createPageContextShared.d.ts +2 -7
- package/dist/esm/shared/createPageContextShared.js +2 -2
- 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/page-configs/resolveVikeConfigPublic.d.ts +91 -31
- package/dist/esm/shared/page-configs/resolveVikeConfigPublic.js +62 -44
- package/dist/esm/types/Config/ConfigResolved.d.ts +8 -0
- package/dist/esm/types/Config.d.ts +6 -6
- package/dist/esm/types/PageContext.d.ts +3 -26
- package/dist/esm/types/VikeNamespace.d.ts +0 -27
- package/dist/esm/types/index.d.ts +2 -2
- package/dist/esm/utils/PROJECT_VERSION.d.ts +1 -1
- package/dist/esm/utils/PROJECT_VERSION.js +1 -1
- package/dist/esm/utils/assert.js +16 -1
- package/package.json +1 -1
- package/dist/cjs/types/Config/helpers.js +0 -2
- package/dist/esm/node/runtime/csp.d.ts +0 -12
- package/dist/esm/types/Config/PageContextConfig.d.ts +0 -15
- package/dist/esm/types/Config/helpers.d.ts +0 -10
- package/dist/esm/types/Config/helpers.js +0 -1
- /package/dist/cjs/node/runtime/{html → renderPage/html}/injectAssets/sanitizeJson.js +0 -0
- /package/dist/cjs/types/Config/{PageContextConfig.js → ConfigResolved.js} +0 -0
- /package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/injectAssets__public.d.ts +0 -0
- /package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/injectHtmlTags.d.ts +0 -0
- /package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/mergeScriptTags.d.ts +0 -0
- /package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/sanitizeJson.d.ts +0 -0
- /package/dist/esm/node/runtime/{html → renderPage/html}/injectAssets/sanitizeJson.js +0 -0
- /package/dist/esm/node/runtime/{html → renderPage/html}/propKeys.d.ts +0 -0
- /package/dist/esm/node/runtime/{html → renderPage/html}/stream/react-streaming.d.ts +0 -0
- /package/dist/esm/node/runtime/{html → renderPage/html}/stream.d.ts +0 -0
- /package/dist/esm/types/Config/{PageContextConfig.js → ConfigResolved.js} +0 -0
|
@@ -4,6 +4,7 @@ exports.resolvePrerenderConfigGlobal = resolvePrerenderConfigGlobal;
|
|
|
4
4
|
exports.resolvePrerenderConfigLocal = resolvePrerenderConfigLocal;
|
|
5
5
|
const utils_js_1 = require("./utils.js");
|
|
6
6
|
const getConfigValueBuildTime_js_1 = require("../../shared/page-configs/getConfigValueBuildTime.js");
|
|
7
|
+
const getConfigDefinedAt_js_1 = require("../../shared/page-configs/getConfigDefinedAt.js");
|
|
7
8
|
// When setting +prerender to an object => it also enables pre-rendering
|
|
8
9
|
const defaultValueForObject = true;
|
|
9
10
|
function resolvePrerenderConfigGlobal(vikeConfig) {
|
|
@@ -51,9 +52,9 @@ function resolvePrerenderConfigLocal(pageConfig) {
|
|
|
51
52
|
const values = configValue.value;
|
|
52
53
|
(0, utils_js_1.assert)((0, utils_js_1.isArray)(values));
|
|
53
54
|
const value = values[0];
|
|
54
|
-
// If it's set to an object in a local config then Vike considers it a global config and it's skipped from local inheritance, thus we can assume the value to be a boolean.
|
|
55
|
-
(0, utils_js_1.assert)(typeof value === 'boolean');
|
|
56
55
|
(0, utils_js_1.assert)((0, utils_js_1.isArray)(configValue.definedAtData));
|
|
56
|
+
const configDefinedAt = (0, getConfigDefinedAt_js_1.getConfigDefinedAt)('Config', 'prerender', configValue.definedAtData);
|
|
57
|
+
(0, utils_js_1.assertUsage)(typeof value === 'boolean', `${configDefinedAt} must be a boolean (it isn't defined at a global location)`);
|
|
57
58
|
const prerenderConfigLocal = { value };
|
|
58
59
|
return prerenderConfigLocal;
|
|
59
60
|
}
|
|
@@ -23,10 +23,10 @@ const assert_js_1 = require("../../utils/assert.js");
|
|
|
23
23
|
(0, assert_js_1.assert)(!(0, isBrowser_js_1.isBrowser)());
|
|
24
24
|
var renderPage_js_1 = require("./renderPage.js");
|
|
25
25
|
Object.defineProperty(exports, "renderPage", { enumerable: true, get: function () { return renderPage_js_1.renderPage; } });
|
|
26
|
-
var renderHtml_js_1 = require("./html/renderHtml.js");
|
|
26
|
+
var renderHtml_js_1 = require("./renderPage/html/renderHtml.js");
|
|
27
27
|
Object.defineProperty(exports, "escapeInject", { enumerable: true, get: function () { return renderHtml_js_1.escapeInject; } });
|
|
28
28
|
Object.defineProperty(exports, "dangerouslySkipEscape", { enumerable: true, get: function () { return renderHtml_js_1.dangerouslySkipEscape; } });
|
|
29
|
-
var stream_js_1 = require("./html/stream.js");
|
|
29
|
+
var stream_js_1 = require("./renderPage/html/stream.js");
|
|
30
30
|
Object.defineProperty(exports, "pipeWebStream", { enumerable: true, get: function () { return stream_js_1.pipeWebStream; } });
|
|
31
31
|
Object.defineProperty(exports, "pipeNodeStream", { enumerable: true, get: function () { return stream_js_1.pipeNodeStream; } });
|
|
32
32
|
Object.defineProperty(exports, "pipeStream", { enumerable: true, get: function () { return stream_js_1.pipeStream; } });
|
|
@@ -42,7 +42,7 @@ Object.defineProperty(exports, "createDevMiddleware", { enumerable: true, get: f
|
|
|
42
42
|
// TO-DO/next-major-release: remove
|
|
43
43
|
// Deprecated exports
|
|
44
44
|
__exportStar(require("../../types/index-dreprecated.js"), exports);
|
|
45
|
-
var injectAssets__public_js_1 = require("./html/injectAssets/injectAssets__public.js");
|
|
45
|
+
var injectAssets__public_js_1 = require("./renderPage/html/injectAssets/injectAssets__public.js");
|
|
46
46
|
Object.defineProperty(exports, "_injectAssets", { enumerable: true, get: function () { return injectAssets__public_js_1.injectAssets__public; } });
|
|
47
47
|
var createPageRenderer_js_1 = require("../createPageRenderer.js");
|
|
48
48
|
Object.defineProperty(exports, "createPageRenderer", { enumerable: true, get: function () { return createPageRenderer_js_1.createPageRenderer; } });
|
|
@@ -1,3 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// TO-DO/
|
|
2
|
+
// TO-DO/eventually: remove
|
|
3
|
+
// - This was used by some older Vike extensions made by Joël (I believe vite-plugin-vercel)
|
|
4
|
+
// - See also https://github.com/vikejs/vike/issues/2122
|
|
3
5
|
// This doesn't do anything anymore. (It's kept to avoid introducing a breaking change.)
|
|
@@ -12,7 +12,7 @@ const error_page_js_1 = require("../../../shared/error-page.js");
|
|
|
12
12
|
const getHttpResponseBody_js_1 = require("./getHttpResponseBody.js");
|
|
13
13
|
const getEarlyHints_js_1 = require("./getEarlyHints.js");
|
|
14
14
|
const assertNoInfiniteHttpRedirect_js_1 = require("./createHttpResponse/assertNoInfiniteHttpRedirect.js");
|
|
15
|
-
const
|
|
15
|
+
const headersResponse_js_1 = require("./headersResponse.js");
|
|
16
16
|
async function createHttpResponsePage(htmlRender, renderHook, pageContext) {
|
|
17
17
|
let statusCode = pageContext.abortStatusCode;
|
|
18
18
|
if (!statusCode) {
|
|
@@ -30,14 +30,7 @@ async function createHttpResponsePage(htmlRender, renderHook, pageContext) {
|
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
32
|
const earlyHints = (0, getEarlyHints_js_1.getEarlyHints)(await pageContext.__getPageAssets());
|
|
33
|
-
const headers =
|
|
34
|
-
const headersResponse = pageContext.headersResponse || new Headers();
|
|
35
|
-
headersResponse.forEach((value, key) => {
|
|
36
|
-
headers.push([key, value]);
|
|
37
|
-
});
|
|
38
|
-
// An 5xx error page shouldn't be cached (it should be temporary)
|
|
39
|
-
if (statusCode >= 500)
|
|
40
|
-
headersResponse.set('Cache-Control', getCacheControl_js_1.cacheControlDisable);
|
|
33
|
+
const headers = (0, headersResponse_js_1.resolveHeadersResponseFinal)(pageContext, statusCode);
|
|
41
34
|
return createHttpResponse(statusCode, 'text/html;charset=utf-8', headers, htmlRender, earlyHints, renderHook);
|
|
42
35
|
}
|
|
43
36
|
function createHttpResponse404(errMsg404) {
|
|
@@ -19,7 +19,7 @@ function createPageContextServerSide(pageContextInit, globalContext, args) {
|
|
|
19
19
|
_urlHandler: args.ssr?.urlHandler ?? null,
|
|
20
20
|
isClientSideNavigation: args.ssr?.isClientSideNavigation ?? false,
|
|
21
21
|
});
|
|
22
|
-
(0, utils_js_1.objectAssign)(pageContextCreated, globalContext.
|
|
22
|
+
(0, utils_js_1.objectAssign)(pageContextCreated, globalContext._globalConfigPublic);
|
|
23
23
|
// pageContext.urlParsed
|
|
24
24
|
const pageContextUrlComputed = (0, getPageContextUrlComputed_js_1.getPageContextUrlComputed)(pageContextCreated);
|
|
25
25
|
(0, utils_js_1.objectAssign)(pageContextCreated, pageContextUrlComputed);
|
|
@@ -40,7 +40,7 @@ function createPageContextServerSide(pageContextInit, globalContext, args) {
|
|
|
40
40
|
}
|
|
41
41
|
(0, utils_js_1.objectAssign)(pageContextCreated, { headers });
|
|
42
42
|
}
|
|
43
|
-
const pageContextAugmented = (0, createPageContextShared_js_1.createPageContextShared)(pageContextCreated, globalContext.
|
|
43
|
+
const pageContextAugmented = (0, createPageContextShared_js_1.createPageContextShared)(pageContextCreated, globalContext._globalConfigPublic);
|
|
44
44
|
(0, utils_js_1.updateType)(pageContextCreated, pageContextAugmented);
|
|
45
45
|
return pageContextCreated;
|
|
46
46
|
}
|
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.resolvePageContextCspNone = resolvePageContextCspNone;
|
|
4
4
|
exports.inferNonceAttr = inferNonceAttr;
|
|
5
|
-
exports.
|
|
5
|
+
exports.addCspResponseHeader = addCspResponseHeader;
|
|
6
6
|
const import_1 = require("@brillout/import");
|
|
7
|
+
const utils_js_1 = require("../utils.js");
|
|
7
8
|
async function resolvePageContextCspNone(pageContext) {
|
|
8
9
|
if (pageContext.cspNonce)
|
|
9
|
-
return; // already set by user e.g. `renderPage({ cspNonce: '123456789' })`
|
|
10
|
+
return null; // already set by user e.g. `renderPage({ cspNonce: '123456789' })`
|
|
10
11
|
const { csp } = pageContext.config;
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
12
|
+
const pageContextAddendum = { cspNonce: null };
|
|
13
|
+
if (csp?.nonce) {
|
|
14
|
+
if (csp.nonce === true) {
|
|
15
|
+
pageContextAddendum.cspNonce = await generateNonce();
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
pageContextAddendum.cspNonce = await csp.nonce(pageContext);
|
|
19
|
+
}
|
|
19
20
|
}
|
|
20
|
-
const pageContextAddendum = { cspNonce };
|
|
21
21
|
return pageContextAddendum;
|
|
22
22
|
}
|
|
23
23
|
// Generate a cryptographically secure nonce for Content Security Policy (CSP).
|
|
@@ -37,7 +37,8 @@ function inferNonceAttr(pageContext) {
|
|
|
37
37
|
const nonceAttr = pageContext.cspNonce ? ` nonce="${pageContext.cspNonce}"` : '';
|
|
38
38
|
return nonceAttr;
|
|
39
39
|
}
|
|
40
|
-
function
|
|
40
|
+
function addCspResponseHeader(pageContext, headersResponse) {
|
|
41
|
+
(0, utils_js_1.assert)(pageContext.cspNonce === null || typeof pageContext.cspNonce === 'string'); // ensure resolvePageContextCspNone() is called before addCspResponseHeader()
|
|
41
42
|
if (!pageContext.cspNonce)
|
|
42
43
|
return;
|
|
43
44
|
if (headersResponse.get('Content-Security-Policy'))
|
|
@@ -4,10 +4,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.execHookOnRenderHtml = execHookOnRenderHtml;
|
|
7
|
-
const renderHtml_js_1 = require("
|
|
7
|
+
const renderHtml_js_1 = require("./html/renderHtml.js");
|
|
8
8
|
const getHook_js_1 = require("../../../shared/hooks/getHook.js");
|
|
9
9
|
const utils_js_1 = require("../utils.js");
|
|
10
|
-
const stream_js_1 = require("
|
|
10
|
+
const stream_js_1 = require("./html/stream.js");
|
|
11
11
|
const assertPageContextProvidedByUser_js_1 = require("../../../shared/assertPageContextProvidedByUser.js");
|
|
12
12
|
const preparePageContextForPublicUsageServer_js_1 = require("./preparePageContextForPublicUsageServer.js");
|
|
13
13
|
const assertHookReturnedObject_js_1 = require("../../../shared/assertHookReturnedObject.js");
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.getEarlyHints = getEarlyHints;
|
|
4
4
|
const isFontFallback_js_1 = require("./isFontFallback.js");
|
|
5
|
-
const inferHtmlTags_js_1 = require("
|
|
5
|
+
const inferHtmlTags_js_1 = require("./html/injectAssets/inferHtmlTags.js");
|
|
6
6
|
function getEarlyHints(assets) {
|
|
7
7
|
const earlyHints = [];
|
|
8
8
|
{
|
|
@@ -5,9 +5,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getHttpResponseBody = getHttpResponseBody;
|
|
7
7
|
exports.getHttpResponseBodyStreamHandlers = getHttpResponseBodyStreamHandlers;
|
|
8
|
-
const stream_js_1 = require("
|
|
8
|
+
const stream_js_1 = require("./html/stream.js");
|
|
9
9
|
const utils_js_1 = require("../utils.js");
|
|
10
|
-
const renderHtml_js_1 = require("
|
|
10
|
+
const renderHtml_js_1 = require("./html/renderHtml.js");
|
|
11
11
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
12
12
|
const streamDocs = 'See https://vike.dev/streaming for more information.';
|
|
13
13
|
function getHttpResponseBody(htmlRender, renderHook) {
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.resolveHeadersResponseEarly = resolveHeadersResponseEarly;
|
|
4
|
+
exports.resolveHeadersResponseFinal = resolveHeadersResponseFinal;
|
|
5
|
+
const csp_js_1 = require("./csp.js");
|
|
6
|
+
const utils_js_1 = require("../utils.js");
|
|
7
|
+
const getCacheControl_js_1 = require("./getCacheControl.js");
|
|
8
|
+
function resolveHeadersResponseFinal(pageContext, statusCode) {
|
|
9
|
+
const headersResponse = pageContext.headersResponse || new Headers();
|
|
10
|
+
// 5xx error pages are temporary and shouldn't be cached.
|
|
11
|
+
// This overrides any previously set Cache-Control value.
|
|
12
|
+
if (statusCode >= 500)
|
|
13
|
+
headersResponse.set('Cache-Control', getCacheControl_js_1.cacheControlDisable);
|
|
14
|
+
const headers = [];
|
|
15
|
+
headersResponse.forEach((value, key) => {
|
|
16
|
+
headers.push([key, value]);
|
|
17
|
+
});
|
|
18
|
+
return headers;
|
|
19
|
+
}
|
|
20
|
+
async function resolveHeadersResponseEarly(pageContext) {
|
|
21
|
+
const headersResponse = await resolveHeadersResponseConfig(pageContext);
|
|
22
|
+
if (!headersResponse.get('Cache-Control')) {
|
|
23
|
+
const cacheControl = (0, getCacheControl_js_1.getCacheControl)(pageContext.pageId, pageContext._globalContext._pageConfigs);
|
|
24
|
+
if (cacheControl)
|
|
25
|
+
headersResponse.set('Cache-Control', cacheControl);
|
|
26
|
+
}
|
|
27
|
+
(0, csp_js_1.addCspResponseHeader)(pageContext, headersResponse);
|
|
28
|
+
const pageContextAddendum = {
|
|
29
|
+
headersResponse,
|
|
30
|
+
};
|
|
31
|
+
return pageContextAddendum;
|
|
32
|
+
}
|
|
33
|
+
async function resolveHeadersResponseConfig(pageContext) {
|
|
34
|
+
const headersMerged = new Headers();
|
|
35
|
+
await Promise.all((pageContext.config.headersResponse ?? []).map(async (headers) => {
|
|
36
|
+
let headersInit;
|
|
37
|
+
if ((0, utils_js_1.isCallable)(headers)) {
|
|
38
|
+
headersInit = await headers(pageContext);
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
headersInit = headers;
|
|
42
|
+
}
|
|
43
|
+
new Headers(headersInit).forEach((value, key) => {
|
|
44
|
+
headersMerged.append(key, value);
|
|
45
|
+
});
|
|
46
|
+
}));
|
|
47
|
+
return headersMerged;
|
|
48
|
+
}
|
|
@@ -4,17 +4,17 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getHtmlTags = getHtmlTags;
|
|
7
|
-
const utils_js_1 = require("
|
|
7
|
+
const utils_js_1 = require("../../../utils.js");
|
|
8
8
|
const serializeContext_js_1 = require("../serializeContext.js");
|
|
9
9
|
const sanitizeJson_js_1 = require("./sanitizeJson.js");
|
|
10
10
|
const inferHtmlTags_js_1 = require("./inferHtmlTags.js");
|
|
11
11
|
const mergeScriptTags_js_1 = require("./mergeScriptTags.js");
|
|
12
|
-
const helpers_js_1 = require("
|
|
13
|
-
const getConfigValueRuntime_js_1 = require("
|
|
12
|
+
const helpers_js_1 = require("../../../../../shared/page-configs/helpers.js");
|
|
13
|
+
const getConfigValueRuntime_js_1 = require("../../../../../shared/page-configs/getConfigValueRuntime.js");
|
|
14
14
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
15
|
-
const getConfigDefinedAt_js_1 = require("
|
|
16
|
-
const htmlElementIds_js_1 = require("
|
|
17
|
-
const isFontFallback_js_1 = require("../../
|
|
15
|
+
const getConfigDefinedAt_js_1 = require("../../../../../shared/page-configs/getConfigDefinedAt.js");
|
|
16
|
+
const htmlElementIds_js_1 = require("../../../../../shared/htmlElementIds.js");
|
|
17
|
+
const isFontFallback_js_1 = require("../../isFontFallback.js");
|
|
18
18
|
const csp_js_1 = require("../../csp.js");
|
|
19
19
|
const stamp = '__injectFilterEntry';
|
|
20
20
|
async function getHtmlTags(pageContext, streamFromReactStreamingPackage, injectFilter, pageAssets, viteDevScript, isStream) {
|
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.getViteDevScript = getViteDevScript;
|
|
7
|
-
const utils_js_1 = require("
|
|
7
|
+
const utils_js_1 = require("../../../utils.js");
|
|
8
8
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
9
9
|
const reachOutCTA = 'Create a new GitHub issue to discuss a solution.';
|
|
10
10
|
async function getViteDevScript(pageContext) {
|
|
@@ -1,15 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.scriptCommonAttrs = void 0;
|
|
4
4
|
exports.inferAssetTag = inferAssetTag;
|
|
5
5
|
exports.inferPreloadTag = inferPreloadTag;
|
|
6
6
|
exports.inferEarlyHintLink = inferEarlyHintLink;
|
|
7
|
-
const utils_js_1 = require("
|
|
7
|
+
const utils_js_1 = require("../../../utils.js");
|
|
8
8
|
const csp_js_1 = require("../../csp.js");
|
|
9
|
-
// TODO/now rename scriptAttrs scriptCommonAttrs
|
|
10
9
|
// We can't use `defer` here. With `defer`, the entry script won't start before `</body>` has been parsed, preventing progressive hydration during SSR streaming, see https://github.com/vikejs/vike/pull/1271
|
|
11
|
-
const
|
|
12
|
-
exports.
|
|
10
|
+
const scriptCommonAttrs = 'type="module" async';
|
|
11
|
+
exports.scriptCommonAttrs = scriptCommonAttrs;
|
|
13
12
|
function inferPreloadTag(pageAsset) {
|
|
14
13
|
const { src, assetType, mediaType } = pageAsset;
|
|
15
14
|
const rel = getRel(pageAsset);
|
|
@@ -30,7 +29,7 @@ function inferAssetTag(pageAsset, pageContext) {
|
|
|
30
29
|
if (assetType === 'script') {
|
|
31
30
|
(0, utils_js_1.assert)(mediaType === 'text/javascript');
|
|
32
31
|
const nonceAttr = (0, csp_js_1.inferNonceAttr)(pageContext);
|
|
33
|
-
return `<script src="${src}" ${
|
|
32
|
+
return `<script src="${src}" ${scriptCommonAttrs}${nonceAttr}></script>`;
|
|
34
33
|
}
|
|
35
34
|
if (assetType === 'style') {
|
|
36
35
|
// WARNING: if changing following line, then also update https://github.com/vikejs/vike/blob/fae90a15d88e5e87ca9fcbb54cf2dc8773d2f229/vike/client/shared/removeFoucBuster.ts#L29
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.injectAssets__public = injectAssets__public;
|
|
4
|
-
const utils_js_1 = require("
|
|
4
|
+
const utils_js_1 = require("../../../utils.js");
|
|
5
5
|
const injectAssets_js_1 = require("../injectAssets.js");
|
|
6
6
|
// TO-DO/next-major-release: remove
|
|
7
7
|
async function injectAssets__public(htmlString, pageContext) {
|
|
@@ -7,7 +7,7 @@ exports.createHtmlHeadIfMissing = createHtmlHeadIfMissing;
|
|
|
7
7
|
exports.joinHtmlTags = joinHtmlTags;
|
|
8
8
|
exports.injectAtOpeningTag = injectAtOpeningTag;
|
|
9
9
|
exports.injectAtClosingTag = injectAtClosingTag;
|
|
10
|
-
const utils_js_1 = require("
|
|
10
|
+
const utils_js_1 = require("../../../utils.js");
|
|
11
11
|
function injectHtmlTags(htmlString, htmlTags, position) {
|
|
12
12
|
const htmlFragment = joinHtmlTags(htmlTags.filter((h) => h.position === position));
|
|
13
13
|
if (htmlFragment) {
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.mergeScriptTags = mergeScriptTags;
|
|
4
4
|
const csp_js_1 = require("../../csp.js");
|
|
5
|
-
const utils_js_1 = require("
|
|
5
|
+
const utils_js_1 = require("../../../utils.js");
|
|
6
6
|
const inferHtmlTags_js_1 = require("./inferHtmlTags.js");
|
|
7
7
|
const scriptRE = /(<script\b(?:\s[^>]*>|>))(.*?)<\/script>/gims;
|
|
8
8
|
const srcRE = /\bsrc\s*=\s*(?:"([^"]+)"|'([^']+)'|([^\s'">]+))/im;
|
|
@@ -37,7 +37,7 @@ function mergeScriptTags(scriptTagsHtml, pageContext) {
|
|
|
37
37
|
});
|
|
38
38
|
if (contents.length > 0) {
|
|
39
39
|
const nonceAttr = (0, csp_js_1.inferNonceAttr)(pageContext);
|
|
40
|
-
scriptTag += `<script ${inferHtmlTags_js_1.
|
|
40
|
+
scriptTag += `<script ${inferHtmlTags_js_1.scriptCommonAttrs}${nonceAttr}>\n${contents.join('\n')}\n</script>`;
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
}
|
|
@@ -2,8 +2,8 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.injectHtmlTagsToString = injectHtmlTagsToString;
|
|
4
4
|
exports.injectHtmlTagsToStream = injectHtmlTagsToStream;
|
|
5
|
-
const utils_js_1 = require("
|
|
6
|
-
const assertPageContextProvidedByUser_js_1 = require("
|
|
5
|
+
const utils_js_1 = require("../../utils.js");
|
|
6
|
+
const assertPageContextProvidedByUser_js_1 = require("../../../../shared/assertPageContextProvidedByUser.js");
|
|
7
7
|
const injectHtmlTags_js_1 = require("./injectAssets/injectHtmlTags.js");
|
|
8
8
|
const getHtmlTags_js_1 = require("./injectAssets/getHtmlTags.js");
|
|
9
9
|
const getViteDevScript_js_1 = require("./injectAssets/getViteDevScript.js");
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.getPropVal = getPropVal;
|
|
4
4
|
exports.setPropVal = setPropVal;
|
|
5
5
|
exports.getPropKeys = getPropKeys;
|
|
6
|
-
const utils_js_1 = require("
|
|
6
|
+
const utils_js_1 = require("../../utils.js");
|
|
7
7
|
// Get a nested property from an object using a dot-separated path such as 'user.id'
|
|
8
8
|
function getPropVal(obj, prop) {
|
|
9
9
|
const keys = getPropKeys(prop);
|
|
@@ -8,7 +8,7 @@ exports.dangerouslySkipEscape = dangerouslySkipEscape;
|
|
|
8
8
|
exports.renderDocumentHtml = renderDocumentHtml;
|
|
9
9
|
exports.isDocumentHtml = isDocumentHtml;
|
|
10
10
|
exports.getHtmlString = getHtmlString;
|
|
11
|
-
const utils_js_1 = require("
|
|
11
|
+
const utils_js_1 = require("../../utils.js");
|
|
12
12
|
const injectAssets_js_1 = require("./injectAssets.js");
|
|
13
13
|
const stream_js_1 = require("./stream.js");
|
|
14
14
|
const react_streaming_js_1 = require("./stream/react-streaming.js");
|
|
@@ -7,13 +7,13 @@ exports.getPageContextClientSerialized = getPageContextClientSerialized;
|
|
|
7
7
|
exports.getPageContextClientSerializedAbort = getPageContextClientSerializedAbort;
|
|
8
8
|
exports.getGlobalContextClientSerialized = getGlobalContextClientSerialized;
|
|
9
9
|
const stringify_1 = require("@brillout/json-serializer/stringify");
|
|
10
|
-
const utils_js_1 = require("
|
|
11
|
-
const error_page_js_1 = require("
|
|
12
|
-
const addIs404ToPageProps_js_1 = require("
|
|
10
|
+
const utils_js_1 = require("../../utils.js");
|
|
11
|
+
const error_page_js_1 = require("../../../../shared/error-page.js");
|
|
12
|
+
const addIs404ToPageProps_js_1 = require("../../../../shared/addIs404ToPageProps.js");
|
|
13
13
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
14
|
-
const NOT_SERIALIZABLE_js_1 = require("
|
|
15
|
-
const pageContextInitIsPassedToClient_js_1 = require("
|
|
16
|
-
const isServerSideError_js_1 = require("
|
|
14
|
+
const NOT_SERIALIZABLE_js_1 = require("../../../../shared/NOT_SERIALIZABLE.js");
|
|
15
|
+
const pageContextInitIsPassedToClient_js_1 = require("../../../../shared/misc/pageContextInitIsPassedToClient.js");
|
|
16
|
+
const isServerSideError_js_1 = require("../../../../shared/misc/isServerSideError.js");
|
|
17
17
|
const propKeys_js_1 = require("./propKeys.js");
|
|
18
18
|
const passToClientBuiltInPageContext = [
|
|
19
19
|
'abortReason',
|
|
@@ -4,7 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
4
4
|
exports.isStreamFromReactStreamingPackage = isStreamFromReactStreamingPackage;
|
|
5
5
|
exports.streamFromReactStreamingPackageToString = streamFromReactStreamingPackageToString;
|
|
6
6
|
exports.getStreamOfReactStreamingPackage = getStreamOfReactStreamingPackage;
|
|
7
|
-
const utils_js_1 = require("
|
|
7
|
+
const utils_js_1 = require("../../../utils.js");
|
|
8
8
|
const stream_js_1 = require("../stream.js");
|
|
9
9
|
function streamFromReactStreamingPackageToString(stream) {
|
|
10
10
|
if (stream.pipe) {
|
|
@@ -24,7 +24,7 @@ exports.streamReadableWebToString = streamReadableWebToString;
|
|
|
24
24
|
exports.streamPipeNodeToString = streamPipeNodeToString;
|
|
25
25
|
exports.isStreamWritableWeb = isStreamWritableWeb;
|
|
26
26
|
exports.isStreamWritableNode = isStreamWritableNode;
|
|
27
|
-
const utils_js_1 = require("
|
|
27
|
+
const utils_js_1 = require("../../utils.js");
|
|
28
28
|
const react_streaming_js_1 = require("./stream/react-streaming.js");
|
|
29
29
|
const import_1 = require("@brillout/import");
|
|
30
30
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
@@ -10,14 +10,14 @@ const findPageConfig_js_1 = require("../../../shared/page-configs/findPageConfig
|
|
|
10
10
|
const analyzePage_js_1 = require("./analyzePage.js");
|
|
11
11
|
const loadAndParseVirtualFilePageEntry_js_1 = require("../../../shared/page-configs/loadAndParseVirtualFilePageEntry.js");
|
|
12
12
|
const execHookServer_js_1 = require("./execHookServer.js");
|
|
13
|
-
const
|
|
14
|
-
const csp_js_1 = require("
|
|
13
|
+
const headersResponse_js_1 = require("./headersResponse.js");
|
|
14
|
+
const csp_js_1 = require("./csp.js");
|
|
15
15
|
async function loadPageConfigsLazyServerSide(pageContext) {
|
|
16
16
|
(0, utils_js_1.objectAssign)(pageContext, {
|
|
17
17
|
_pageConfig: (0, findPageConfig_js_1.findPageConfig)(pageContext._globalContext._pageConfigs, pageContext.pageId),
|
|
18
18
|
});
|
|
19
19
|
// Load the page's + files
|
|
20
|
-
(0, utils_js_1.
|
|
20
|
+
(0, utils_js_1.objectAssign)(pageContext, await loadPageUserFiles(pageContext));
|
|
21
21
|
// Resolve new computed pageContext properties
|
|
22
22
|
(0, utils_js_1.updateType)(pageContext, await resolvePageContext(pageContext));
|
|
23
23
|
// Execute +onCreatePageContext
|
|
@@ -61,8 +61,8 @@ async function resolvePageContext(pageContext) {
|
|
|
61
61
|
Page: pageContext.exports.Page,
|
|
62
62
|
_isHtmlOnly: isHtmlOnly,
|
|
63
63
|
_passToClient: passToClient,
|
|
64
|
-
headersResponse: resolveHeadersResponse(pageContext),
|
|
65
64
|
});
|
|
65
|
+
(0, utils_js_1.objectAssign)(pageContext, await (0, headersResponse_js_1.resolveHeadersResponseEarly)(pageContext));
|
|
66
66
|
(0, utils_js_1.objectAssign)(pageContext, {
|
|
67
67
|
__getPageAssets: async () => {
|
|
68
68
|
if ('_pageAssets' in pageContext) {
|
|
@@ -105,45 +105,20 @@ async function resolvePageContext(pageContext) {
|
|
|
105
105
|
return pageContext;
|
|
106
106
|
}
|
|
107
107
|
async function loadPageUserFiles(pageContext) {
|
|
108
|
-
const [{
|
|
109
|
-
|
|
108
|
+
const [{ pageContextAddendum }] = await Promise.all([
|
|
109
|
+
(async () => {
|
|
110
|
+
const pageFilesServerSide = (0, getPageFiles_js_1.getPageFilesServerSide)(pageContext._pageFilesAll, pageContext.pageId);
|
|
111
|
+
const isDev = !pageContext._globalContext._isProduction;
|
|
112
|
+
const pageConfigLoaded = !pageContext._pageConfig
|
|
113
|
+
? null
|
|
114
|
+
: await (0, loadAndParseVirtualFilePageEntry_js_1.loadAndParseVirtualFilePageEntry)(pageContext._pageConfig, isDev);
|
|
115
|
+
await Promise.all(pageFilesServerSide.map((p) => p.loadFile?.()));
|
|
116
|
+
const pageContextAddendum = (0, resolveVikeConfigPublic_js_1.resolvePageContextConfig)(pageFilesServerSide, pageConfigLoaded, pageContext._globalContext._pageConfigGlobal);
|
|
117
|
+
return { pageContextAddendum };
|
|
118
|
+
})(),
|
|
110
119
|
(0, analyzePageClientSide_js_1.analyzePageClientSideInit)(pageContext._globalContext._pageFilesAll, pageContext.pageId, {
|
|
111
120
|
sharedPageFilesAlreadyLoaded: true,
|
|
112
121
|
}),
|
|
113
122
|
]);
|
|
114
|
-
|
|
115
|
-
return pageContext;
|
|
116
|
-
}
|
|
117
|
-
async function loadPageUserFiles_v1Design(pageContext) {
|
|
118
|
-
const pageFilesServerSide = (0, getPageFiles_js_1.getPageFilesServerSide)(pageContext._pageFilesAll, pageContext.pageId);
|
|
119
|
-
const isDev = !pageContext._globalContext._isProduction;
|
|
120
|
-
const pageConfigLoaded = !pageContext._pageConfig
|
|
121
|
-
? null
|
|
122
|
-
: await (0, loadAndParseVirtualFilePageEntry_js_1.loadAndParseVirtualFilePageEntry)(pageContext._pageConfig, isDev);
|
|
123
|
-
await Promise.all(pageFilesServerSide.map((p) => p.loadFile?.()));
|
|
124
|
-
const configPublicPageLazy = (0, resolveVikeConfigPublic_js_1.resolveVikeConfigPublicPageLazyLoaded)(pageFilesServerSide, pageConfigLoaded, pageContext._globalContext._pageConfigGlobal);
|
|
125
|
-
return {
|
|
126
|
-
configPublicPageLazy,
|
|
127
|
-
pageFilesLoaded: pageFilesServerSide,
|
|
128
|
-
};
|
|
129
|
-
}
|
|
130
|
-
// TODO/now: move all response headers code to headersResponse.ts
|
|
131
|
-
function resolveHeadersResponse(pageContext) {
|
|
132
|
-
const headersResponse = mergeHeaders(pageContext.config.headersResponse);
|
|
133
|
-
if (!headersResponse.get('Cache-Control')) {
|
|
134
|
-
const cacheControl = (0, getCacheControl_js_1.getCacheControl)(pageContext.pageId, pageContext._globalContext._pageConfigs);
|
|
135
|
-
if (cacheControl)
|
|
136
|
-
headersResponse.set('Cache-Control', cacheControl);
|
|
137
|
-
}
|
|
138
|
-
(0, csp_js_1.addCspHeader)(pageContext, headersResponse);
|
|
139
|
-
return headersResponse;
|
|
140
|
-
}
|
|
141
|
-
function mergeHeaders(headersList = []) {
|
|
142
|
-
const headersMerged = new Headers();
|
|
143
|
-
headersList.forEach((headers) => {
|
|
144
|
-
new Headers(headers).forEach((value, key) => {
|
|
145
|
-
headersMerged.append(key, value);
|
|
146
|
-
});
|
|
147
|
-
});
|
|
148
|
-
return headersMerged;
|
|
123
|
+
return pageContextAddendum;
|
|
149
124
|
}
|
|
@@ -6,9 +6,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
6
6
|
exports.renderPageAfterRoute = renderPageAfterRoute;
|
|
7
7
|
exports.prerenderPage = prerenderPage;
|
|
8
8
|
const error_page_js_1 = require("../../../shared/error-page.js");
|
|
9
|
-
const renderHtml_js_1 = require("
|
|
9
|
+
const renderHtml_js_1 = require("./html/renderHtml.js");
|
|
10
10
|
const utils_js_1 = require("../utils.js");
|
|
11
|
-
const serializeContext_js_1 = require("
|
|
11
|
+
const serializeContext_js_1 = require("./html/serializeContext.js");
|
|
12
12
|
const createHttpResponse_js_1 = require("./createHttpResponse.js");
|
|
13
13
|
const loadPageConfigsLazyServerSide_js_1 = require("./loadPageConfigsLazyServerSide.js");
|
|
14
14
|
const execHookOnRenderHtml_js_1 = require("./execHookOnRenderHtml.js");
|
|
@@ -18,7 +18,7 @@ const isNewError_js_1 = require("./renderPage/isNewError.js");
|
|
|
18
18
|
const assertArguments_js_1 = require("./renderPage/assertArguments.js");
|
|
19
19
|
const index_js_2 = require("./renderPage/log404/index.js");
|
|
20
20
|
const picocolors_1 = __importDefault(require("@brillout/picocolors"));
|
|
21
|
-
const serializeContext_js_1 = require("./html/serializeContext.js");
|
|
21
|
+
const serializeContext_js_1 = require("./renderPage/html/serializeContext.js");
|
|
22
22
|
const error_page_js_1 = require("../../shared/error-page.js");
|
|
23
23
|
const handleErrorWithoutErrorPage_js_1 = require("./renderPage/handleErrorWithoutErrorPage.js");
|
|
24
24
|
const loadPageConfigsLazyServerSide_js_1 = require("./renderPage/loadPageConfigsLazyServerSide.js");
|
|
@@ -24,7 +24,7 @@ const getManifestFilePathRelative_js_1 = require("../../shared/getManifestFilePa
|
|
|
24
24
|
const globalObject = (0, utils_js_1.getGlobalObject)('build/handleAssetsManifest.ts', {
|
|
25
25
|
assetsJsonFilePath: undefined,
|
|
26
26
|
});
|
|
27
|
-
//
|
|
27
|
+
// yes => use workaround config.build.ssrEmitAssets
|
|
28
28
|
// false => use workaround extractAssets plugin
|
|
29
29
|
function handleAssetsManifest_isFixEnabled() {
|
|
30
30
|
// Allow user to toggle between the two workarounds? E.g. based on https://vike.dev/includeAssetsImportedByServer.
|
|
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.getVikeConfig = getVikeConfig;
|
|
6
7
|
exports.getVikeConfigInternal = getVikeConfigInternal;
|
|
7
8
|
exports.getVikeConfigInternalOptional = getVikeConfigInternalOptional;
|
|
8
9
|
exports.getVikeConfigInternalSync = getVikeConfigInternalSync;
|
|
@@ -12,7 +13,6 @@ exports.isV1Design = isV1Design;
|
|
|
12
13
|
exports.getConfVal = getConfVal;
|
|
13
14
|
exports.getConfigDefinitionOptional = getConfigDefinitionOptional;
|
|
14
15
|
exports.getVikeConfigFromCliOrEnv = getVikeConfigFromCliOrEnv;
|
|
15
|
-
exports.getVikeConfig = getVikeConfig;
|
|
16
16
|
const utils_js_1 = require("../utils.js");
|
|
17
17
|
const configDefinitionsBuiltIn_js_1 = require("./resolveVikeConfigInternal/configDefinitionsBuiltIn.js");
|
|
18
18
|
const filesystemRouting_js_1 = require("./resolveVikeConfigInternal/filesystemRouting.js");
|
|
@@ -173,31 +173,26 @@ async function resolveVikeConfigInternal(userRootDir, vikeVitePluginOptions, esb
|
|
|
173
173
|
// Backwards compatibility for vike(options) in vite.config.js
|
|
174
174
|
temp_interopVikeVitePlugin(pageConfigGlobal, vikeVitePluginOptions, userRootDir);
|
|
175
175
|
setCliAndApiOptions(pageConfigGlobal, configDefinitionsResolved);
|
|
176
|
-
|
|
177
|
-
const pageConfigGlobalValues = getConfigValues(pageConfigGlobal);
|
|
178
|
-
const vikeConfigPublicGlobal = (0, resolveVikeConfigPublic_js_1.resolveVikeConfigPublicGlobal)({ pageConfigGlobalValues });
|
|
179
|
-
// pages
|
|
180
|
-
const vikeConfigPublicPagesEager = (0, utils_js_1.objectFromEntries)(pageConfigs.map((pageConfig) => {
|
|
181
|
-
const pageConfigValues = getConfigValues(pageConfig, true);
|
|
182
|
-
return (0, resolveVikeConfigPublic_js_1.resolveVikeConfigPublicPageEagerLoaded)(pageConfigGlobalValues, pageConfig, pageConfigValues);
|
|
183
|
-
}));
|
|
176
|
+
const globalConfigPublic = resolveGlobalConfig(pageConfigGlobal, pageConfigs);
|
|
184
177
|
const prerenderContext = resolvePrerenderContext({
|
|
185
|
-
config:
|
|
186
|
-
_from:
|
|
178
|
+
config: globalConfigPublic.config,
|
|
179
|
+
_from: globalConfigPublic._from,
|
|
187
180
|
_pageConfigs: pageConfigs,
|
|
188
181
|
});
|
|
189
182
|
const vikeConfig = {
|
|
183
|
+
...globalConfigPublic,
|
|
184
|
+
prerenderContext,
|
|
190
185
|
_pageConfigs: pageConfigs,
|
|
191
186
|
_pageConfigGlobal: pageConfigGlobal,
|
|
192
|
-
config: vikeConfigPublicGlobal.config,
|
|
193
|
-
_from: vikeConfigPublicGlobal._from,
|
|
194
|
-
pages: vikeConfigPublicPagesEager,
|
|
195
|
-
prerenderContext,
|
|
196
187
|
_vikeConfigDependencies: esbuildCache.vikeConfigDependencies,
|
|
197
188
|
};
|
|
198
189
|
globalObject.vikeConfigSync = vikeConfig;
|
|
199
190
|
return vikeConfig;
|
|
200
191
|
}
|
|
192
|
+
function resolveGlobalConfig(pageConfigGlobal, pageConfigs) {
|
|
193
|
+
const globalConfigPublic = (0, resolveVikeConfigPublic_js_1.resolveGlobalConfigPublic)(pageConfigs, pageConfigGlobal, getConfigValues);
|
|
194
|
+
return globalConfigPublic;
|
|
195
|
+
}
|
|
201
196
|
async function resolveConfigDefinitions(plusFilesAll, userRootDir, esbuildCache) {
|
|
202
197
|
const plusFilesAllOrdered = Object.values(plusFilesAll)
|
|
203
198
|
.flat()
|
|
@@ -361,7 +356,8 @@ function assertOnBeforeRenderEnv(pageConfig) {
|
|
|
361
356
|
// When using Server Routing, loading a onBeforeRender() hook on the client-side hasn't any effect (the Server Routing's client runtime never calls it); it unnecessarily bloats client bundle sizes
|
|
362
357
|
(0, utils_js_1.assertUsage)(!(onBeforeRenderEnv.client && !isClientRouting), `Page ${pageConfig.pageId} has an onBeforeRender() hook with env ${picocolors_1.default.cyan(JSON.stringify(onBeforeRenderEnv))} which doesn't make sense because the page is using Server Routing: onBeforeRender() can be run in the client only when using Client Routing.`);
|
|
363
358
|
}
|
|
364
|
-
function getConfigValues(pageConfig,
|
|
359
|
+
function getConfigValues(pageConfig, isGlobalConfig) {
|
|
360
|
+
const tolerateMissingValue = !isGlobalConfig;
|
|
365
361
|
const configValues = {};
|
|
366
362
|
(0, serializeConfigValues_js_1.getConfigValuesBase)(pageConfig, { isForConfig: true }, null).forEach((entry) => {
|
|
367
363
|
if (entry.configValueBase.type === 'computed') {
|
|
@@ -1128,11 +1124,15 @@ function restartViteDevServer() {
|
|
|
1128
1124
|
(0, removeSuperfluousViteLog_js_1.removeSuperfluousViteLog_disable)();
|
|
1129
1125
|
}
|
|
1130
1126
|
function getVikeConfigDummy(esbuildCache) {
|
|
1131
|
-
const globalDummy = (0, resolveVikeConfigPublic_js_1.resolveVikeConfigPublicGlobal)({ pageConfigGlobalValues: {} });
|
|
1132
1127
|
const pageConfigsDummy = [];
|
|
1128
|
+
const pageConfigGlobalDummy = {
|
|
1129
|
+
configValueSources: {},
|
|
1130
|
+
configDefinitions: {},
|
|
1131
|
+
};
|
|
1132
|
+
const globalConfigPublicDummy = resolveGlobalConfig(pageConfigGlobalDummy, pageConfigsDummy);
|
|
1133
1133
|
const prerenderContextDummy = resolvePrerenderContext({
|
|
1134
|
-
config:
|
|
1135
|
-
_from:
|
|
1134
|
+
config: globalConfigPublicDummy.config,
|
|
1135
|
+
_from: globalConfigPublicDummy._from,
|
|
1136
1136
|
_pageConfigs: pageConfigsDummy,
|
|
1137
1137
|
});
|
|
1138
1138
|
const vikeConfigDummy = {
|
|
@@ -1141,9 +1141,7 @@ function getVikeConfigDummy(esbuildCache) {
|
|
|
1141
1141
|
configDefinitions: {},
|
|
1142
1142
|
configValueSources: {},
|
|
1143
1143
|
},
|
|
1144
|
-
|
|
1145
|
-
_from: globalDummy._from,
|
|
1146
|
-
pages: {},
|
|
1144
|
+
...globalConfigPublicDummy,
|
|
1147
1145
|
prerenderContext: prerenderContextDummy,
|
|
1148
1146
|
_vikeConfigDependencies: esbuildCache.vikeConfigDependencies,
|
|
1149
1147
|
};
|