veryfront 0.1.832 → 0.1.834
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/esm/deno.js +1 -1
- package/esm/src/html/hydration-script-builder/hydration-data-generator.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/hydration-data-generator.js +1 -0
- package/esm/src/html/hydration-script-builder/templates/loader.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/templates/loader.js +17 -0
- package/esm/src/html/hydration-script-builder/templates/renderer.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/templates/renderer.js +3 -0
- package/esm/src/html/hydration-script-builder/templates/router.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/templates/router.js +6 -0
- package/esm/src/html/hydration-script-builder/templates/spa-renderer.d.ts.map +1 -1
- package/esm/src/html/hydration-script-builder/templates/spa-renderer.js +3 -0
- package/esm/src/html/hydration-script-builder/types.d.ts +2 -0
- package/esm/src/html/hydration-script-builder/types.d.ts.map +1 -1
- package/esm/src/proxy/main.js +3 -2
- package/esm/src/proxy/response-headers.d.ts +2 -0
- package/esm/src/proxy/response-headers.d.ts.map +1 -0
- package/esm/src/proxy/response-headers.js +74 -0
- package/esm/src/rendering/orchestrator/pipeline.d.ts.map +1 -1
- package/esm/src/rendering/orchestrator/pipeline.js +26 -23
- package/esm/src/rendering/orchestrator/types.d.ts +2 -0
- package/esm/src/rendering/orchestrator/types.d.ts.map +1 -1
- package/esm/src/utils/version-constant.d.ts +1 -1
- package/esm/src/utils/version-constant.js +1 -1
- package/package.json +1 -1
package/esm/deno.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hydration-data-generator.d.ts","sourceRoot":"","sources":["../../../../src/src/html/hydration-script-builder/hydration-data-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AA8BzD,KAAK,gBAAgB,GAAG,qBAAqB,GAAG;IAC9C,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACpD,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EACzC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,gBAAgB,EACzB,gBAAgB,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC,MAAM,
|
|
1
|
+
{"version":3,"file":"hydration-data-generator.d.ts","sourceRoot":"","sources":["../../../../src/src/html/hydration-script-builder/hydration-data-generator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAM3D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AACpF,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AA8BzD,KAAK,gBAAgB,GAAG,qBAAqB,GAAG;IAC9C,oBAAoB,CAAC,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACpD,CAAC;AAEF,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,EACzC,KAAK,EAAE,cAAc,EACrB,OAAO,EAAE,gBAAgB,EACzB,gBAAgB,CAAC,EAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAA;CAAE,GACtC,MAAM,CAkDR"}
|
|
@@ -52,6 +52,7 @@ export function generateHydrationData(slug, params, props, options, serializeOpt
|
|
|
52
52
|
isLocalProject: options.isLocalProject,
|
|
53
53
|
environment: options.environment,
|
|
54
54
|
}),
|
|
55
|
+
releaseId: options.releaseId,
|
|
55
56
|
releaseAssetModules: buildReleaseAssetModules(options.releaseAssetManifest),
|
|
56
57
|
frontmatter: options.frontmatter,
|
|
57
58
|
layoutProps: options.layoutProps,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../../src/src/html/hydration-script-builder/templates/loader.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../../../../src/src/html/hydration-script-builder/templates/loader.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,eAAe,QAAO,MA8JlC,CAAC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { VERSION } from "../../../utils/version.js";
|
|
1
2
|
export const getLoaderScript = () => `
|
|
2
3
|
// Note: DEBUG, log, logError are defined in router.ts which loads first
|
|
3
4
|
|
|
5
|
+
const VERYFRONT_RUNTIME_VERSION = '${VERSION}';
|
|
4
6
|
const componentCache = new Map();
|
|
5
7
|
const loadingPromises = new Map();
|
|
6
8
|
|
|
@@ -22,6 +24,20 @@ export const getLoaderScript = () => `
|
|
|
22
24
|
return url + (url.includes('?') ? '&' : '?') + key + '=' + value;
|
|
23
25
|
}
|
|
24
26
|
|
|
27
|
+
let __releaseId = null;
|
|
28
|
+
function setReleaseId(value) {
|
|
29
|
+
__releaseId = typeof value === 'string' && value ? value : null;
|
|
30
|
+
window.__veryfrontReleaseId = __releaseId;
|
|
31
|
+
}
|
|
32
|
+
window.__veryfrontSetReleaseId = setReleaseId;
|
|
33
|
+
|
|
34
|
+
function appendReleaseModuleVersion(url) {
|
|
35
|
+
if (!__releaseId || url.includes('vf_release=')) return url;
|
|
36
|
+
let versionedUrl = appendQueryParam(url, 'vf_release', encodeURIComponent(__releaseId));
|
|
37
|
+
versionedUrl = appendQueryParam(versionedUrl, 'vf_runtime', encodeURIComponent(VERYFRONT_RUNTIME_VERSION));
|
|
38
|
+
return versionedUrl;
|
|
39
|
+
}
|
|
40
|
+
|
|
25
41
|
let __releaseAssetModules = null;
|
|
26
42
|
function setReleaseAssetModules(value) {
|
|
27
43
|
__releaseAssetModules =
|
|
@@ -76,6 +92,7 @@ export const getLoaderScript = () => `
|
|
|
76
92
|
|
|
77
93
|
if (studioEmbed) url = appendQueryParam(url, 'studio_embed', 'true');
|
|
78
94
|
if (__hmrRefreshTimestamp) url = appendQueryParam(url, 't', __hmrRefreshTimestamp);
|
|
95
|
+
if (!studioEmbed && !__hmrRefreshTimestamp) url = appendReleaseModuleVersion(url);
|
|
79
96
|
|
|
80
97
|
return url;
|
|
81
98
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../../src/src/html/hydration-script-builder/templates/renderer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../../../../../src/src/html/hydration-script-builder/templates/renderer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,iBAAiB,cAwN7B,CAAC"}
|
|
@@ -33,6 +33,9 @@ export const getRendererScript = () => `
|
|
|
33
33
|
if (data.studioEmbed && window.__veryfrontSetStudioEmbed) {
|
|
34
34
|
window.__veryfrontSetStudioEmbed(true);
|
|
35
35
|
}
|
|
36
|
+
if (window.__veryfrontSetReleaseId) {
|
|
37
|
+
window.__veryfrontSetReleaseId(data.releaseId || null);
|
|
38
|
+
}
|
|
36
39
|
if (data.releaseAssetModules && window.__veryfrontSetReleaseAssetModules) {
|
|
37
40
|
window.__veryfrontSetReleaseAssetModules(data.releaseAssetModules);
|
|
38
41
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../../src/src/html/hydration-script-builder/templates/router.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../../../../src/src/html/hydration-script-builder/templates/router.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,eAAe,cAm0B3B,CAAC"}
|
|
@@ -502,6 +502,9 @@ export const getRouterScript = () => `
|
|
|
502
502
|
// Render page from page data
|
|
503
503
|
// ============================================
|
|
504
504
|
async function renderPageFromData(pageData, targetPath) {
|
|
505
|
+
if (window.__veryfrontSetReleaseId) {
|
|
506
|
+
window.__veryfrontSetReleaseId(pageData.releaseId || null);
|
|
507
|
+
}
|
|
505
508
|
if (window.__veryfrontSetReleaseAssetModules) {
|
|
506
509
|
window.__veryfrontSetReleaseAssetModules(pageData.releaseAssetModules || null);
|
|
507
510
|
}
|
|
@@ -633,6 +636,9 @@ export const getRouterScript = () => `
|
|
|
633
636
|
|
|
634
637
|
async function preloadModulesForPageData(pageData, path) {
|
|
635
638
|
if (!pageData) return;
|
|
639
|
+
if (pageData.releaseId && window.__veryfrontSetReleaseId) {
|
|
640
|
+
window.__veryfrontSetReleaseId(pageData.releaseId);
|
|
641
|
+
}
|
|
636
642
|
if (pageData.releaseAssetModules && window.__veryfrontSetReleaseAssetModules) {
|
|
637
643
|
window.__veryfrontSetReleaseAssetModules(pageData.releaseAssetModules);
|
|
638
644
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"spa-renderer.d.ts","sourceRoot":"","sources":["../../../../../src/src/html/hydration-script-builder/templates/spa-renderer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,QAAO,
|
|
1
|
+
{"version":3,"file":"spa-renderer.d.ts","sourceRoot":"","sources":["../../../../../src/src/html/hydration-script-builder/templates/spa-renderer.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,oBAAoB,QAAO,MAsEvC,CAAC;AAEF,eAAO,MAAM,kBAAkB,QAAO,MAoCrC,CAAC"}
|
|
@@ -22,6 +22,9 @@ export const getSpaRendererScript = () => `
|
|
|
22
22
|
if (initialData.releaseAssetModules && window.__veryfrontSetReleaseAssetModules) {
|
|
23
23
|
window.__veryfrontSetReleaseAssetModules(initialData.releaseAssetModules);
|
|
24
24
|
}
|
|
25
|
+
if (window.__veryfrontSetReleaseId) {
|
|
26
|
+
window.__veryfrontSetReleaseId(initialData.releaseId || null);
|
|
27
|
+
}
|
|
25
28
|
|
|
26
29
|
try {
|
|
27
30
|
const pageComponent = await loadComponent(initialData.pagePath);
|
|
@@ -12,6 +12,8 @@ export interface HydrationDataStructure {
|
|
|
12
12
|
pagePath?: string;
|
|
13
13
|
pageType?: "mdx" | "md" | "tsx" | "jsx" | "ts" | "js";
|
|
14
14
|
clientModuleStrategy?: ClientModuleStrategy;
|
|
15
|
+
/** Production release id used to version fallback module URLs. */
|
|
16
|
+
releaseId?: string;
|
|
15
17
|
/** Production release asset URLs keyed by logical source path. */
|
|
16
18
|
releaseAssetModules?: Record<string, string>;
|
|
17
19
|
frontmatter?: Record<string, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/src/html/hydration-script-builder/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAE1F,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC1C,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IACtD,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/src/html/hydration-script-builder/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+CAA+C,CAAC;AAE1F,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,KAAK,GAAG,KAAK,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC,CAAC;IAC1C,OAAO,EAAE,eAAe,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,KAAK,GAAG,IAAI,GAAG,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;IACtD,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kEAAkE;IAClE,mBAAmB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7C,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;IACtD;;;;OAIG;IACH,GAAG,CAAC,EAAE,OAAO,CAAC;IACd,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,6EAA6E;IAC7E,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB"}
|
package/esm/src/proxy/main.js
CHANGED
|
@@ -38,6 +38,7 @@ import { handleReleaseAssetRequest, isReleaseAssetPath } from "./asset-handler.j
|
|
|
38
38
|
import { runProxyRequestLifecycle } from "./request-lifecycle.js";
|
|
39
39
|
import { createUpstreamFailureResponse, createUpstreamTimeoutResponse, UPSTREAM_FAILURE_STATUS, UPSTREAM_TIMEOUT_STATUS, } from "./upstream-error-response.js";
|
|
40
40
|
import { createProxyServerTiming, markProxyServerTimingPhase, profileProxyServerTimingPhase, withProxyServerTimingHeader, } from "./server-timing.js";
|
|
41
|
+
import { removeStickyCookieFromPublicCacheableResponse } from "./response-headers.js";
|
|
41
42
|
function getLocalProjects() {
|
|
42
43
|
const raw = getEnv("LOCAL_PROJECTS");
|
|
43
44
|
return raw ? JSON.parse(raw) : {};
|
|
@@ -335,11 +336,11 @@ function forwardToServer(req, url) {
|
|
|
335
336
|
else {
|
|
336
337
|
reqLogger.info(`${response.status} ${req.method} ${url.pathname}`, { ms });
|
|
337
338
|
}
|
|
338
|
-
return withProxyTiming(new Response(response.body, {
|
|
339
|
+
return withProxyTiming(removeStickyCookieFromPublicCacheableResponse(new Response(response.body, {
|
|
339
340
|
status: response.status,
|
|
340
341
|
statusText: response.statusText,
|
|
341
342
|
headers: response.headers,
|
|
342
|
-
}));
|
|
343
|
+
})));
|
|
343
344
|
}
|
|
344
345
|
catch (error) {
|
|
345
346
|
clearTimeout(timeoutId);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-headers.d.ts","sourceRoot":"","sources":["../../../src/src/proxy/response-headers.ts"],"names":[],"mappings":"AA+DA,wBAAgB,6CAA6C,CAAC,QAAQ,EAAE,QAAQ,GAAG,QAAQ,CAkB1F"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
const STICKY_COOKIE_NAME = "lb";
|
|
2
|
+
function parseCacheControl(cacheControl) {
|
|
3
|
+
const directives = new Map();
|
|
4
|
+
if (!cacheControl)
|
|
5
|
+
return directives;
|
|
6
|
+
for (const part of cacheControl.split(",")) {
|
|
7
|
+
const trimmed = part.trim();
|
|
8
|
+
if (!trimmed)
|
|
9
|
+
continue;
|
|
10
|
+
const [rawName, rawValue] = trimmed.split("=", 2);
|
|
11
|
+
const name = rawName?.trim().toLowerCase();
|
|
12
|
+
if (!name)
|
|
13
|
+
continue;
|
|
14
|
+
directives.set(name, rawValue === undefined ? true : rawValue.trim().replace(/^"|"$/g, ""));
|
|
15
|
+
}
|
|
16
|
+
return directives;
|
|
17
|
+
}
|
|
18
|
+
function readPositiveDirectiveSeconds(directives, name) {
|
|
19
|
+
const value = directives.get(name);
|
|
20
|
+
if (typeof value !== "string")
|
|
21
|
+
return 0;
|
|
22
|
+
const seconds = Number(value);
|
|
23
|
+
return Number.isFinite(seconds) && seconds > 0 ? seconds : 0;
|
|
24
|
+
}
|
|
25
|
+
function isPublicCacheable(headers) {
|
|
26
|
+
const directives = parseCacheControl(headers.get("cache-control"));
|
|
27
|
+
if (!directives.has("public"))
|
|
28
|
+
return false;
|
|
29
|
+
if (directives.has("private") || directives.has("no-store") || directives.has("no-cache")) {
|
|
30
|
+
return false;
|
|
31
|
+
}
|
|
32
|
+
return directives.has("immutable") ||
|
|
33
|
+
readPositiveDirectiveSeconds(directives, "s-maxage") > 0 ||
|
|
34
|
+
readPositiveDirectiveSeconds(directives, "max-age") > 0;
|
|
35
|
+
}
|
|
36
|
+
function readSetCookies(headers) {
|
|
37
|
+
const getSetCookie = headers.getSetCookie;
|
|
38
|
+
if (typeof getSetCookie === "function") {
|
|
39
|
+
const values = getSetCookie.call(headers);
|
|
40
|
+
if (values.length > 0)
|
|
41
|
+
return values;
|
|
42
|
+
}
|
|
43
|
+
const values = [];
|
|
44
|
+
for (const [key, value] of headers) {
|
|
45
|
+
if (key.toLowerCase() === "set-cookie")
|
|
46
|
+
values.push(value);
|
|
47
|
+
}
|
|
48
|
+
const directValue = headers.get("set-cookie");
|
|
49
|
+
if (values.length === 0 && directValue)
|
|
50
|
+
values.push(directValue);
|
|
51
|
+
return values;
|
|
52
|
+
}
|
|
53
|
+
function isStickyCookie(setCookie) {
|
|
54
|
+
const [name] = setCookie.split("=", 1);
|
|
55
|
+
return name?.trim().toLowerCase() === STICKY_COOKIE_NAME;
|
|
56
|
+
}
|
|
57
|
+
export function removeStickyCookieFromPublicCacheableResponse(response) {
|
|
58
|
+
if (!isPublicCacheable(response.headers))
|
|
59
|
+
return response;
|
|
60
|
+
const setCookies = readSetCookies(response.headers);
|
|
61
|
+
if (setCookies.length === 0 || !setCookies.some(isStickyCookie))
|
|
62
|
+
return response;
|
|
63
|
+
const headers = new Headers(response.headers);
|
|
64
|
+
headers.delete("set-cookie");
|
|
65
|
+
for (const setCookie of setCookies) {
|
|
66
|
+
if (!isStickyCookie(setCookie))
|
|
67
|
+
headers.append("Set-Cookie", setCookie);
|
|
68
|
+
}
|
|
69
|
+
return new Response(response.body, {
|
|
70
|
+
status: response.status,
|
|
71
|
+
statusText: response.statusText,
|
|
72
|
+
headers,
|
|
73
|
+
});
|
|
74
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../src/src/rendering/orchestrator/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;
|
|
1
|
+
{"version":3,"file":"pipeline.d.ts","sourceRoot":"","sources":["../../../../src/src/rendering/orchestrator/pipeline.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAwBH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AA+ChF,OAAO,EAAE,wBAAwB,EAAE,MAAM,gBAAgB,CAAC;AAE1D;;;;GAIG;AACH,MAAM,WAAW,wBAAwB;IACvC,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACxE,aAAa,CAAC,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CACrF;AAED,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,YAAY,CAAC;IAC3B,gBAAgB,EAAE,wBAAwB,CAAC;IAC3C,YAAY,EAAE,YAAY,CAAC;IAC3B,kBAAkB,EAAE,kBAAkB,CAAC;IACvC,eAAe,EAAE,eAAe,CAAC;IACjC,OAAO,EAAE,cAAc,CAAC;IACxB,IAAI,EAAE,aAAa,GAAG,YAAY,CAAC;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,iBAAiB,CAAC,EAAE,OAAO,qBAAqB,EAAE,sBAAsB,CAAC;CAC1E;AA0BD,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAuB;IACrC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,kBAAkB,CAAqB;gBAEnC,MAAM,EAAE,oBAAoB;IAaxC;;;OAGG;IACH,gBAAgB,IAAI,IAAI;IAKxB,OAAO,CAAC,UAAU;YAIJ,0BAA0B;IAaxC;;;;;;;;;OASG;YACW,qBAAqB;IAyDnC;;;OAGG;YACW,mBAAmB;IA8GjC,OAAO,CAAC,uBAAuB;IAkCzB,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAsS9E,+EAA+E;IACzE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,aAAa,GAAG,OAAO,CAAC,gBAAgB,CAAC;YAkGzE,kBAAkB;YA2ClB,cAAc;IAW5B,OAAO,CAAC,uBAAuB;YAYjB,kBAAkB;IAyFhC,OAAO,CAAC,kBAAkB;YAQZ,uBAAuB;IAmBrC;;;;;;OAMG;IACH,OAAO,CAAC,aAAa;CAStB"}
|
|
@@ -17,6 +17,7 @@ import { rendererLogger as logger } from "../../utils/index.js";
|
|
|
17
17
|
import { getExtensionName } from "../../utils/path-utils.js";
|
|
18
18
|
import { createBuildVersion } from "../../utils/version.js";
|
|
19
19
|
import { withSpan } from "../../observability/tracing/otlp-setup.js";
|
|
20
|
+
import { profilePhase } from "../../observability/request-profiler.js";
|
|
20
21
|
import { SpanNames } from "../../observability/tracing/span-names.js";
|
|
21
22
|
import { VeryfrontError } from "../../errors/index.js";
|
|
22
23
|
import { FILE_NOT_FOUND, RENDER_ERROR } from "../../errors/error-registry.js";
|
|
@@ -178,12 +179,12 @@ export class RenderPipeline {
|
|
|
178
179
|
if (modulesToLoad.length === 0) {
|
|
179
180
|
return { params, pageProps, layoutProps };
|
|
180
181
|
}
|
|
181
|
-
const loadedModules = await withSpan(SpanNames.RENDER_LOAD_MODULES, () => withTimeoutThrow(this.loadModulesInParallel(modulesToLoad), MODULE_LOAD_TIMEOUT_MS, `Module loading for ${slug}`), { "render.module_count": modulesToLoad.length });
|
|
182
|
+
const loadedModules = await profilePhase("render.load_modules", () => withSpan(SpanNames.RENDER_LOAD_MODULES, () => withTimeoutThrow(this.loadModulesInParallel(modulesToLoad), MODULE_LOAD_TIMEOUT_MS, `Module loading for ${slug}`), { "render.module_count": modulesToLoad.length }));
|
|
182
183
|
const dataJobs = loadedModules.filter((m) => hasDataFetchingFunction(m.mod));
|
|
183
184
|
if (dataJobs.length === 0) {
|
|
184
185
|
return { params, pageProps, layoutProps };
|
|
185
186
|
}
|
|
186
|
-
const dataResults = await withSpan(SpanNames.RENDER_FETCH_DATA, () => withTimeoutThrow(Promise.all(dataJobs.map(async (job) => {
|
|
187
|
+
const dataResults = await profilePhase("render.fetch_data", () => withSpan(SpanNames.RENDER_FETCH_DATA, () => withTimeoutThrow(Promise.all(dataJobs.map(async (job) => {
|
|
187
188
|
try {
|
|
188
189
|
const jobPath = job.path;
|
|
189
190
|
const fetchOptions = {
|
|
@@ -197,7 +198,7 @@ export class RenderPipeline {
|
|
|
197
198
|
catch (error) {
|
|
198
199
|
return { ...job, result: null, error: error };
|
|
199
200
|
}
|
|
200
|
-
})), DATA_FETCH_TIMEOUT_MS, `Data fetch for ${slug}`), { "render.data_job_count": dataJobs.length });
|
|
201
|
+
})), DATA_FETCH_TIMEOUT_MS, `Data fetch for ${slug}`), { "render.data_job_count": dataJobs.length }));
|
|
201
202
|
this.applyFetchedDataResults(slug, dataResults, pageProps, layoutProps);
|
|
202
203
|
return { params, pageProps, layoutProps };
|
|
203
204
|
}
|
|
@@ -255,13 +256,13 @@ export class RenderPipeline {
|
|
|
255
256
|
const renderOnce = () => withSpan("render.page", async () => {
|
|
256
257
|
const { result } = await runWithCSSCollector(async () => {
|
|
257
258
|
const pageResolveStart = performance.now();
|
|
258
|
-
const pageInfo = await withSpan("render.resolve_page", () => this.config.pageResolver.resolvePage(slug), { "render.slug": slug });
|
|
259
|
+
const pageInfo = await profilePhase("render.resolve_page", () => withSpan("render.resolve_page", () => this.config.pageResolver.resolvePage(slug), { "render.slug": slug }));
|
|
259
260
|
timing.pageResolve = Math.round(performance.now() - pageResolveStart);
|
|
260
261
|
const sourceFile = extractRelativePathShared(pageInfo.entity.path, this.config.projectDir);
|
|
261
262
|
try {
|
|
262
263
|
const skipLayouts = isDotPath(slug, pageInfo.entity.path);
|
|
263
264
|
const layoutCollectStart = performance.now();
|
|
264
|
-
const layoutResult = skipLayouts ? EMPTY_LAYOUT_RESULT : await withSpan("render.collect_layouts", () => this.config.layoutOrchestrator.collectLayouts(pageInfo), { "render.slug": slug });
|
|
265
|
+
const layoutResult = skipLayouts ? EMPTY_LAYOUT_RESULT : await profilePhase("render.collect_layouts", () => withSpan("render.collect_layouts", () => this.config.layoutOrchestrator.collectLayouts(pageInfo), { "render.slug": slug }));
|
|
265
266
|
timing.layoutCollect = Math.round(performance.now() - layoutCollectStart);
|
|
266
267
|
const layoutPreloadPromise = !skipLayouts && layoutResult.nestedLayouts.length > 0
|
|
267
268
|
? this.config.layoutOrchestrator.preloadLayoutModules(layoutResult.nestedLayouts)
|
|
@@ -273,7 +274,7 @@ export class RenderPipeline {
|
|
|
273
274
|
let layoutDataMap = new Map();
|
|
274
275
|
const dataFetchStart = performance.now();
|
|
275
276
|
if (options?.request && options?.url) {
|
|
276
|
-
await withSpan("render.data_fetching", async () => {
|
|
277
|
+
await profilePhase("render.data_fetching", () => withSpan("render.data_fetching", async () => {
|
|
277
278
|
try {
|
|
278
279
|
const dataResolution = await this.resolveDataFetching(slug, pageInfo.entity.path, layoutResult.nestedLayouts, options);
|
|
279
280
|
resolvedParams = dataResolution.params;
|
|
@@ -291,7 +292,7 @@ export class RenderPipeline {
|
|
|
291
292
|
});
|
|
292
293
|
throw error;
|
|
293
294
|
}
|
|
294
|
-
}, { "render.slug": slug });
|
|
295
|
+
}, { "render.slug": slug }));
|
|
295
296
|
}
|
|
296
297
|
timing.dataFetch = Math.round(performance.now() - dataFetchStart);
|
|
297
298
|
const hasResolvedParams = Object.keys(resolvedParams).length > 0;
|
|
@@ -305,7 +306,7 @@ export class RenderPipeline {
|
|
|
305
306
|
}
|
|
306
307
|
: options;
|
|
307
308
|
const bundlePrepStart = performance.now();
|
|
308
|
-
const pageBundleResult = await withSpan("render.prepare_bundles", () => this.config.pageRenderer.preparePageBundles(pageInfo, slug, cacheResult?.cachedModule, mergedOptions), { "render.slug": slug });
|
|
309
|
+
const pageBundleResult = await profilePhase("render.prepare_bundles", () => withSpan("render.prepare_bundles", () => this.config.pageRenderer.preparePageBundles(pageInfo, slug, cacheResult?.cachedModule, mergedOptions), { "render.slug": slug }));
|
|
309
310
|
timing.bundlePrep = Math.round(performance.now() - bundlePrepStart);
|
|
310
311
|
if (pageBundleResult.scriptResult)
|
|
311
312
|
return pageBundleResult.scriptResult;
|
|
@@ -323,13 +324,16 @@ export class RenderPipeline {
|
|
|
323
324
|
const headings = pageBundle.headings || [];
|
|
324
325
|
await layoutPreloadPromise;
|
|
325
326
|
const layoutApplyStart = performance.now();
|
|
326
|
-
const wrappedElement = await withSpan("render.apply_layouts", () => this.config.layoutOrchestrator.applyLayoutsAndWrappers(pageElement, pageInfo, layoutResult.layoutBundle, layoutResult.nestedLayouts, layoutDataMap, options?.url, resolvedParams, mergedFrontmatter, headings, options?.projectSlug), {
|
|
327
|
+
const wrappedElement = await profilePhase("render.apply_layouts", () => withSpan("render.apply_layouts", () => this.config.layoutOrchestrator.applyLayoutsAndWrappers(pageElement, pageInfo, layoutResult.layoutBundle, layoutResult.nestedLayouts, layoutDataMap, options?.url, resolvedParams, mergedFrontmatter, headings, options?.projectSlug), {
|
|
328
|
+
"render.slug": slug,
|
|
329
|
+
"render.layout_count": layoutResult.nestedLayouts.length,
|
|
330
|
+
}));
|
|
327
331
|
timing.layoutApply = Math.round(performance.now() - layoutApplyStart);
|
|
328
332
|
// Snapshot CSS imports collected during module loading (before SSR rendering).
|
|
329
333
|
// These are passed to the HTML generator to be included in the output.
|
|
330
334
|
const collectedCSSImports = getCSSImports();
|
|
331
335
|
const ssrStart = performance.now();
|
|
332
|
-
const ssrResult = await withSpan("render.ssr", () => withTimeoutThrow(this.config.ssrOrchestrator.performSSRRendering(wrappedElement, {
|
|
336
|
+
const ssrResult = await profilePhase("render.ssr", () => withSpan("render.ssr", () => withTimeoutThrow(this.config.ssrOrchestrator.performSSRRendering(wrappedElement, {
|
|
333
337
|
pageInfo,
|
|
334
338
|
pageBundle,
|
|
335
339
|
layoutBundle: layoutResult.layoutBundle,
|
|
@@ -337,7 +341,7 @@ export class RenderPipeline {
|
|
|
337
341
|
collectedMetadata: pageBundleResult.collectedMetadata,
|
|
338
342
|
slug,
|
|
339
343
|
cssImports: collectedCSSImports,
|
|
340
|
-
}, mergedOptions), SSR_RENDER_TIMEOUT_MS, `SSR rendering for ${slug}`), { "render.slug": slug, "render.delivery": mergedOptions?.delivery || "full" });
|
|
344
|
+
}, mergedOptions), SSR_RENDER_TIMEOUT_MS, `SSR rendering for ${slug}`), { "render.slug": slug, "render.delivery": mergedOptions?.delivery || "full" }));
|
|
341
345
|
timing.ssr = Math.round(performance.now() - ssrStart);
|
|
342
346
|
if (collectedCSSImports.length > 0) {
|
|
343
347
|
renderPipelineLog.debug("CSS imports collected for HTML generation", {
|
|
@@ -411,24 +415,22 @@ export class RenderPipeline {
|
|
|
411
415
|
if (this.config.mode === "development") {
|
|
412
416
|
clearSSRModuleCacheForProject(projectId);
|
|
413
417
|
}
|
|
414
|
-
const pageInfo = await this.config.pageResolver.resolvePage(slug);
|
|
418
|
+
const pageInfo = await profilePhase("page_data.resolve_page", () => this.config.pageResolver.resolvePage(slug));
|
|
415
419
|
const skipLayouts = isDotPath(slug, pageInfo.entity.path);
|
|
416
|
-
const layoutResult = skipLayouts
|
|
417
|
-
? EMPTY_LAYOUT_RESULT
|
|
418
|
-
: await this.config.layoutOrchestrator.collectLayouts(pageInfo);
|
|
420
|
+
const layoutResult = skipLayouts ? EMPTY_LAYOUT_RESULT : await profilePhase("page_data.collect_layouts", () => this.config.layoutOrchestrator.collectLayouts(pageInfo));
|
|
419
421
|
const pagePath = extractRelativePathShared(pageInfo.entity.path, this.config.projectDir);
|
|
420
422
|
const fileExtension = getExtensionName(pageInfo.entity.path);
|
|
421
423
|
const pageType = fileExtension;
|
|
422
|
-
const dataResolution = await this.resolveDataFetching(slug, pageInfo.entity.path, layoutResult.nestedLayouts, options);
|
|
424
|
+
const dataResolution = await profilePhase("page_data.resolve_data", () => this.resolveDataFetching(slug, pageInfo.entity.path, layoutResult.nestedLayouts, options));
|
|
423
425
|
const pageProps = dataResolution.pageProps;
|
|
424
426
|
const params = dataResolution.params;
|
|
425
427
|
const layoutProps = serializeLayoutProps(dataResolution.layoutProps);
|
|
426
|
-
const { frontmatter, headings } = await this.extractMdxMetadata(pageType, pageInfo, slug, options, params);
|
|
428
|
+
const { frontmatter, headings } = await profilePhase("page_data.extract_mdx_metadata", () => this.extractMdxMetadata(pageType, pageInfo, slug, options, params));
|
|
427
429
|
const layouts = serializeLayouts(layoutResult.nestedLayouts, this.config.projectDir);
|
|
428
430
|
const providers = [];
|
|
429
431
|
const projectUpdatedAt = this.resolveProjectUpdatedAt();
|
|
430
|
-
const appPath = await this.resolveAppPath();
|
|
431
|
-
const { css, cssAction, cssError } = await this.resolvePageDataCss(slug, options, projectUpdatedAt);
|
|
432
|
+
const appPath = await profilePhase("page_data.resolve_app_path", () => this.resolveAppPath());
|
|
433
|
+
const { css, cssAction, cssError } = await profilePhase("page_data.resolve_css", () => this.resolvePageDataCss(slug, options, projectUpdatedAt));
|
|
432
434
|
resolvePageDataLog.debug("Resolved page data", {
|
|
433
435
|
slug,
|
|
434
436
|
pagePath,
|
|
@@ -452,6 +454,7 @@ export class RenderPipeline {
|
|
|
452
454
|
layoutProps,
|
|
453
455
|
buildVersion: createBuildVersion(projectUpdatedAt),
|
|
454
456
|
appPath,
|
|
457
|
+
releaseId: options?.releaseId,
|
|
455
458
|
releaseAssetModules: buildReleaseAssetModules(options?.releaseAssetManifest),
|
|
456
459
|
headings,
|
|
457
460
|
css,
|
|
@@ -515,17 +518,17 @@ export class RenderPipeline {
|
|
|
515
518
|
return { css: cachedCss, cssAction: undefined, cssError: undefined };
|
|
516
519
|
}
|
|
517
520
|
try {
|
|
518
|
-
const renderResult = await withTimeout(this.renderPage(slug, {
|
|
521
|
+
const renderResult = await profilePhase("page_data.css.render_html", () => withTimeout(this.renderPage(slug, {
|
|
519
522
|
...options,
|
|
520
523
|
delivery: "string",
|
|
521
524
|
skipCacheCheck: true,
|
|
522
525
|
skipCachePersist: true,
|
|
523
|
-
}), CSS_SSR_TIMEOUT_MS, `CSS SSR for ${slug}`);
|
|
526
|
+
}), CSS_SSR_TIMEOUT_MS, `CSS SSR for ${slug}`));
|
|
524
527
|
if (!renderResult?.html) {
|
|
525
528
|
return { css: undefined, cssAction: undefined, cssError: undefined };
|
|
526
529
|
}
|
|
527
530
|
let cssAction;
|
|
528
|
-
let css = await this.resolveCssFromRenderedHtml(renderResult.html, options?.projectSlug ?? options?.projectId);
|
|
531
|
+
let css = await profilePhase("page_data.css.extract_from_html", () => this.resolveCssFromRenderedHtml(renderResult.html, options?.projectSlug ?? options?.projectId));
|
|
529
532
|
if (css) {
|
|
530
533
|
resolvePageDataLog.debug("Reused SSR CSS for page data", {
|
|
531
534
|
slug,
|
|
@@ -540,7 +543,7 @@ export class RenderPipeline {
|
|
|
540
543
|
});
|
|
541
544
|
}
|
|
542
545
|
else {
|
|
543
|
-
css = await this.generatePageCssFromHtml(slug, renderResult.html, options);
|
|
546
|
+
css = await profilePhase("page_data.css.generate_from_html", () => this.generatePageCssFromHtml(slug, renderResult.html, options));
|
|
544
547
|
}
|
|
545
548
|
if (css)
|
|
546
549
|
cachePageCss(cssCacheKey, css);
|
|
@@ -81,6 +81,8 @@ export interface PageDataResponse {
|
|
|
81
81
|
layoutProps: Record<string, Record<string, unknown>>;
|
|
82
82
|
buildVersion: BuildVersion;
|
|
83
83
|
appPath?: string;
|
|
84
|
+
/** Production release id used to version fallback module URLs. */
|
|
85
|
+
releaseId?: string;
|
|
84
86
|
/** Production release asset URLs keyed by logical source path. */
|
|
85
87
|
releaseAssetModules?: Record<string, string>;
|
|
86
88
|
/** Headings extracted from MDX for sidebar/TOC navigation */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/src/rendering/orchestrator/types.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/src/rendering/orchestrator/types.ts"],"names":[],"mappings":"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"}
|