@trebired/frontend 6.4.0 → 6.6.0

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.
Files changed (90) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/dist/index.d.ts +1 -0
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +1 -0
  5. package/dist/index.js.map +1 -1
  6. package/dist/server/assets.d.ts +28 -0
  7. package/dist/server/assets.d.ts.map +1 -0
  8. package/dist/server/assets.js +157 -0
  9. package/dist/server/assets.js.map +1 -0
  10. package/dist/server/index.d.ts +6 -0
  11. package/dist/server/index.d.ts.map +1 -1
  12. package/dist/server/index.js +6 -0
  13. package/dist/server/index.js.map +1 -1
  14. package/dist/server/locale.d.ts +22 -0
  15. package/dist/server/locale.d.ts.map +1 -0
  16. package/dist/server/locale.js +74 -0
  17. package/dist/server/locale.js.map +1 -0
  18. package/dist/server/page-task.d.ts +36 -0
  19. package/dist/server/page-task.d.ts.map +1 -0
  20. package/dist/server/page-task.js +91 -0
  21. package/dist/server/page-task.js.map +1 -0
  22. package/dist/server/react/document.d.ts +29 -0
  23. package/dist/server/react/document.d.ts.map +1 -0
  24. package/dist/server/react/document.js +123 -0
  25. package/dist/server/react/document.js.map +1 -0
  26. package/dist/server/react/render.d.ts +14 -0
  27. package/dist/server/react/render.d.ts.map +1 -0
  28. package/dist/server/react/render.js +60 -0
  29. package/dist/server/react/render.js.map +1 -0
  30. package/dist/server/react/shell.d.ts +7 -0
  31. package/dist/server/react/shell.d.ts.map +1 -0
  32. package/dist/server/react/shell.js +49 -0
  33. package/dist/server/react/shell.js.map +1 -0
  34. package/dist/server/react/types.d.ts +71 -0
  35. package/dist/server/react/types.d.ts.map +1 -0
  36. package/dist/server/react/types.js +2 -0
  37. package/dist/server/react/types.js.map +1 -0
  38. package/dist/server/render-mode.d.ts +82 -0
  39. package/dist/server/render-mode.d.ts.map +1 -0
  40. package/dist/server/render-mode.js +215 -0
  41. package/dist/server/render-mode.js.map +1 -0
  42. package/dist/server/security.d.ts +17 -0
  43. package/dist/server/security.d.ts.map +1 -0
  44. package/dist/server/security.js +38 -0
  45. package/dist/server/security.js.map +1 -0
  46. package/dist/src/index.d.ts +1 -0
  47. package/dist/src/index.d.ts.map +1 -1
  48. package/dist/src/index.js +1 -0
  49. package/dist/src/index.js.map +1 -1
  50. package/dist/src/server/assets.d.ts +28 -0
  51. package/dist/src/server/assets.d.ts.map +1 -0
  52. package/dist/src/server/assets.js +157 -0
  53. package/dist/src/server/assets.js.map +1 -0
  54. package/dist/src/server/index.d.ts +6 -0
  55. package/dist/src/server/index.d.ts.map +1 -1
  56. package/dist/src/server/index.js +6 -0
  57. package/dist/src/server/index.js.map +1 -1
  58. package/dist/src/server/locale.d.ts +22 -0
  59. package/dist/src/server/locale.d.ts.map +1 -0
  60. package/dist/src/server/locale.js +74 -0
  61. package/dist/src/server/locale.js.map +1 -0
  62. package/dist/src/server/page-task.d.ts +36 -0
  63. package/dist/src/server/page-task.d.ts.map +1 -0
  64. package/dist/src/server/page-task.js +91 -0
  65. package/dist/src/server/page-task.js.map +1 -0
  66. package/dist/src/server/react/document.d.ts +29 -0
  67. package/dist/src/server/react/document.d.ts.map +1 -0
  68. package/dist/src/server/react/document.js +123 -0
  69. package/dist/src/server/react/document.js.map +1 -0
  70. package/dist/src/server/react/render.d.ts +14 -0
  71. package/dist/src/server/react/render.d.ts.map +1 -0
  72. package/dist/src/server/react/render.js +60 -0
  73. package/dist/src/server/react/render.js.map +1 -0
  74. package/dist/src/server/react/shell.d.ts +7 -0
  75. package/dist/src/server/react/shell.d.ts.map +1 -0
  76. package/dist/src/server/react/shell.js +49 -0
  77. package/dist/src/server/react/shell.js.map +1 -0
  78. package/dist/src/server/react/types.d.ts +71 -0
  79. package/dist/src/server/react/types.d.ts.map +1 -0
  80. package/dist/src/server/react/types.js +2 -0
  81. package/dist/src/server/react/types.js.map +1 -0
  82. package/dist/src/server/render-mode.d.ts +82 -0
  83. package/dist/src/server/render-mode.d.ts.map +1 -0
  84. package/dist/src/server/render-mode.js +215 -0
  85. package/dist/src/server/render-mode.js.map +1 -0
  86. package/dist/src/server/security.d.ts +17 -0
  87. package/dist/src/server/security.d.ts.map +1 -0
  88. package/dist/src/server/security.js +38 -0
  89. package/dist/src/server/security.js.map +1 -0
  90. package/package.json +1 -1
package/CHANGELOG.md CHANGED
@@ -2,6 +2,18 @@
2
2
 
3
3
  All notable package changes are documented here.
4
4
 
5
+ ## 6.6.0
6
+
7
+ - Added server framework helpers for asset responses, locale locals, page task timeouts, and adapter-based React document rendering.
8
+ - Exposed React SSR shell assembly hooks so apps supply product data, permission state, component resolution, and title rules without owning document orchestration.
9
+ - Added verification coverage for asset compression/cache behavior, locale middleware, page task fallback results, and React document rendering.
10
+
11
+ ## 6.5.0
12
+
13
+ - Added public server helpers for frontend security locals and render-mode UI composition.
14
+ - Exported shared current-navigation matching helpers from the root package for browser and SSR chrome.
15
+ - Added verification coverage for security locals and framework render-mode middleware hooks.
16
+
5
17
  ## 6.4.0
6
18
 
7
19
  - Added public server helpers for UI language cookies, language routes, SSR current-navigation state, and SEO/head middleware.
package/dist/index.d.ts CHANGED
@@ -45,6 +45,7 @@ export * from "./fullscreen/index.js";
45
45
  export * from "./graph/index.js";
46
46
  export * from "./http/index.js";
47
47
  export * from "./icons/index.js";
48
+ export { createNavigationState, defaultNavigationState, matchesCurrentPath, normalizeNavigationHref, normalizeNavigationHref as normalizeHref, normalizeNavigationPath, } from "./server/navigation.js";
48
49
  export * from "./inputs/index.js";
49
50
  export { bindAdvancedCheckboxes, bindAdvancedDisclosures, bindAdvancedDropdowns, bindAdvancedInputControllers, bindAdvancedRadios, bindAdvancedSearch, bindAdvancedTabs, bindOwnedTabs, bindStaticDropdown, checkboxClient, createDisclosure, createTabs, dropdownOptionSelected, dropdownOptionValue, dropdownRootConfig, dropdownManager, getDropdownOptions, getHidden, radioManager, resolveNamedDropdownInput, searchManager, setDropdownLabel, setDropdownOptionConfig, switchDisclosureEntry, syncCheckboxOption, syncDropdownHiddenInput, syncDropdownHiddenInputs, syncFromHidden, updateDropdownRootConfig, updateEmptyState, } from "./inputs/advanced/index.js";
50
51
  export * from "./layer/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -141,6 +141,7 @@ export * from "./fullscreen/index.js";
141
141
  export * from "./graph/index.js";
142
142
  export * from "./http/index.js";
143
143
  export * from "./icons/index.js";
144
+ export { createNavigationState, defaultNavigationState, matchesCurrentPath, normalizeNavigationHref, normalizeNavigationHref as normalizeHref, normalizeNavigationPath, } from "./server/navigation.js";
144
145
  export * from "./inputs/index.js";
145
146
  export { bindAdvancedCheckboxes, bindAdvancedDisclosures, bindAdvancedDropdowns, bindAdvancedInputControllers, bindAdvancedRadios, bindAdvancedSearch, bindAdvancedTabs, bindOwnedTabs, bindStaticDropdown, checkboxClient, createDisclosure, createTabs, dropdownOptionSelected, dropdownOptionValue, dropdownRootConfig, dropdownManager, getDropdownOptions, getHidden, radioManager, resolveNamedDropdownInput, searchManager, setDropdownLabel, setDropdownOptionConfig, switchDisclosureEntry, syncCheckboxOption, syncDropdownHiddenInput, syncDropdownHiddenInputs, syncFromHidden, updateDropdownRootConfig, updateEmptyState, } from "./inputs/advanced/index.js";
146
147
  export * from "./layer/index.js";
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { type ServerRequestLike, type ServerResponseLike } from "./http.js";
2
+ type FrontendAsset = {
3
+ body?: Buffer | string;
4
+ contentType?: string;
5
+ etag?: string;
6
+ };
7
+ type FrontendAssetOptions = {
8
+ brotliQuality?: number;
9
+ contentType?: string;
10
+ gzipLevel?: number;
11
+ immutable?: boolean;
12
+ isImmutablePath?: (path: string) => boolean;
13
+ minCompressBytes?: number;
14
+ precompress?: boolean;
15
+ record?: (durationMs: number) => unknown;
16
+ };
17
+ declare function assetBodyBuffer(asset: FrontendAsset | null | undefined): Buffer<ArrayBufferLike>;
18
+ declare function assetContentType(asset: FrontendAsset | null | undefined, fallback?: string): string;
19
+ declare function assetIsCompressible(asset: FrontendAsset | null | undefined, fallback?: string): boolean;
20
+ declare function prepareAsset(asset: FrontendAsset, options?: FrontendAssetOptions): FrontendAsset;
21
+ declare function sendAsset(req: ServerRequestLike, res: ServerResponseLike, asset: FrontendAsset, options?: FrontendAssetOptions): boolean;
22
+ declare function cacheControlForPercent(percent: unknown): {
23
+ immutable: boolean;
24
+ value: string;
25
+ };
26
+ export { assetBodyBuffer, assetContentType, assetIsCompressible, cacheControlForPercent, prepareAsset, sendAsset, };
27
+ export type { FrontendAsset, FrontendAssetOptions };
28
+ //# sourceMappingURL=assets.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.d.ts","sourceRoot":"","sources":["../../../src/server/assets.ts"],"names":[],"mappings":"AAEA,OAAO,EAGL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,WAAW,CAAC;AAEnB,KAAK,aAAa,GAAG;IACnB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,KAAK,oBAAoB,GAAG;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,eAAe,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC;CAC1C,CAAC;AAKF,iBAAS,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,2BAG/D;AAED,iBAAS,gBAAgB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,SAAK,UAE/E;AAED,iBAAS,mBAAmB,CAAC,KAAK,EAAE,aAAa,GAAG,IAAI,GAAG,SAAS,EAAE,QAAQ,SAAK,WAQlF;AAsDD,iBAAS,YAAY,CAAC,KAAK,EAAE,aAAa,EAAE,OAAO,GAAE,oBAAyB,iBAiB7E;AA+DD,iBAAS,SAAS,CAChB,GAAG,EAAE,iBAAiB,EACtB,GAAG,EAAE,kBAAkB,EACvB,KAAK,EAAE,aAAa,EACpB,OAAO,GAAE,oBAAyB,WAmBnC;AAED,iBAAS,sBAAsB,CAAC,OAAO,EAAE,OAAO;;;EAU/C;AAED,OAAO,EACL,eAAe,EACf,gBAAgB,EAChB,mBAAmB,EACnB,sBAAsB,EACtB,YAAY,EACZ,SAAS,GACV,CAAC;AACF,YAAY,EAAE,aAAa,EAAE,oBAAoB,EAAE,CAAC"}
@@ -0,0 +1,157 @@
1
+ import zlib from "node:zlib";
2
+ import { requestHeader, setResponseHeader, } from "./http.js";
3
+ const encodedCache = new WeakMap();
4
+ const preparedAssets = new WeakSet();
5
+ function assetBodyBuffer(asset) {
6
+ const body = asset && asset.body != null ? asset.body : "";
7
+ return Buffer.isBuffer(body) ? body : Buffer.from(String(body), "utf8");
8
+ }
9
+ function assetContentType(asset, fallback = "") {
10
+ return String(asset && asset.contentType ? asset.contentType : fallback);
11
+ }
12
+ function assetIsCompressible(asset, fallback = "") {
13
+ const type = assetContentType(asset, fallback).toLowerCase();
14
+ return (type.includes("text/css") ||
15
+ type.includes("javascript") ||
16
+ type.includes("application/json") ||
17
+ type.includes("text/plain"));
18
+ }
19
+ function cacheEncodedAsset(asset, encoding, encoded, rawLength) {
20
+ if (!encoding || !encoded || encoded.length >= rawLength)
21
+ return;
22
+ const cache = encodedCache.get(asset) || {};
23
+ cache[encoding] = encoded;
24
+ encodedCache.set(asset, cache);
25
+ }
26
+ function boundedInteger(value, fallback, min, max) {
27
+ const parsed = Math.floor(Number(value));
28
+ if (!Number.isFinite(parsed))
29
+ return fallback;
30
+ return Math.max(min, Math.min(max, parsed));
31
+ }
32
+ function prepareBrotliAsset(asset, raw, options) {
33
+ try {
34
+ cacheEncodedAsset(asset, "br", zlib.brotliCompressSync(raw, {
35
+ params: {
36
+ [zlib.constants.BROTLI_PARAM_QUALITY]: boundedInteger(options.brotliQuality, 5, 0, 11),
37
+ [zlib.constants.BROTLI_PARAM_SIZE_HINT]: raw.length,
38
+ },
39
+ }), raw.length);
40
+ }
41
+ catch { }
42
+ }
43
+ function prepareGzipAsset(asset, raw, options) {
44
+ try {
45
+ cacheEncodedAsset(asset, "gzip", zlib.gzipSync(raw, {
46
+ level: boundedInteger(options.gzipLevel, 6, 1, 9),
47
+ }), raw.length);
48
+ }
49
+ catch { }
50
+ }
51
+ function prepareAsset(asset, options = {}) {
52
+ if (!asset || typeof asset !== "object")
53
+ return asset;
54
+ if (preparedAssets.has(asset))
55
+ return asset;
56
+ preparedAssets.add(asset);
57
+ if (options.precompress === false || !assetIsCompressible(asset, options.contentType)) {
58
+ return asset;
59
+ }
60
+ const raw = assetBodyBuffer(asset);
61
+ if (raw.length < Math.max(0, Number(options.minCompressBytes) || 1024)) {
62
+ return asset;
63
+ }
64
+ prepareBrotliAsset(asset, raw, options);
65
+ prepareGzipAsset(asset, raw, options);
66
+ return asset;
67
+ }
68
+ function requestAssetPath(req) {
69
+ return String((req && (req.path || req.originalUrl || req.url)) || "")
70
+ .split("?")[0];
71
+ }
72
+ function isHashedAssetPath(path) {
73
+ return /^\/(?:css|js)\/.+-[a-f0-9]{8,64}\.(?:css|js)$/i.test(path);
74
+ }
75
+ function shouldUseImmutableCache(req, options) {
76
+ if (options.immutable === false)
77
+ return false;
78
+ const path = requestAssetPath(req);
79
+ return options.isImmutablePath ? options.isImmutablePath(path) : isHashedAssetPath(path);
80
+ }
81
+ function applyAssetCacheHeaders(req, res, options) {
82
+ if (shouldUseImmutableCache(req, options)) {
83
+ setResponseHeader(res, "Cache-Control", "public, max-age=31536000, immutable");
84
+ return;
85
+ }
86
+ setResponseHeader(res, "Cache-Control", "no-store, no-cache, must-revalidate, proxy-revalidate");
87
+ setResponseHeader(res, "Pragma", "no-cache");
88
+ setResponseHeader(res, "Expires", "0");
89
+ }
90
+ function preferredAssetEncoding(req) {
91
+ const accept = requestHeader(req, "accept-encoding").toLowerCase();
92
+ if (accept.includes("br"))
93
+ return "br";
94
+ if (accept.includes("gzip"))
95
+ return "gzip";
96
+ return "";
97
+ }
98
+ function encodedAssetBody(asset, encoding) {
99
+ if (!encoding || !assetIsCompressible(asset))
100
+ return null;
101
+ return encodedCache.get(asset)?.[encoding] || null;
102
+ }
103
+ function sendPreparedAssetBody(req, res, asset) {
104
+ const encoding = preferredAssetEncoding(req);
105
+ const encoded = encodedAssetBody(asset, encoding);
106
+ const body = encoded || assetBodyBuffer(asset);
107
+ if (encoded) {
108
+ setResponseHeader(res, "Content-Encoding", encoding);
109
+ setResponseHeader(res, "Vary", "Accept-Encoding");
110
+ }
111
+ setResponseHeader(res, "Content-Length", String(body.length));
112
+ if (typeof res.send === "function")
113
+ return res.send(body);
114
+ return res.end?.(body);
115
+ }
116
+ function sendAsset(req, res, asset, options = {}) {
117
+ const startedAt = performance.now();
118
+ try {
119
+ const etag = asset && typeof asset.etag === "string" ? asset.etag : "";
120
+ if (etag)
121
+ setResponseHeader(res, "ETag", etag);
122
+ if (etag && requestHeader(req, "if-none-match") === etag) {
123
+ if (typeof res.status === "function")
124
+ res.status(304);
125
+ res.end?.();
126
+ return true;
127
+ }
128
+ const type = assetContentType(asset, options.contentType);
129
+ if (type)
130
+ setResponseHeader(res, "Content-Type", type);
131
+ applyAssetCacheHeaders(req, res, options);
132
+ sendPreparedAssetBody(req, res, prepareAsset(asset, options));
133
+ return true;
134
+ }
135
+ finally {
136
+ options.record?.(Math.max(0, performance.now() - startedAt));
137
+ }
138
+ }
139
+ function cacheControlForPercent(percent) {
140
+ const parsed = Number(percent);
141
+ const value = Math.max(0, Math.min(100, Math.floor(Number.isFinite(parsed) ? parsed : 100)));
142
+ if (value === 0)
143
+ return { immutable: false, value: "no-store, must-revalidate" };
144
+ if (value <= 10)
145
+ return { immutable: false, value: "public, max-age=0, must-revalidate" };
146
+ if (value <= 40)
147
+ return { immutable: false, value: "public, max-age=600" };
148
+ if (value <= 70)
149
+ return { immutable: false, value: "public, max-age=3600" };
150
+ if (value <= 90)
151
+ return { immutable: false, value: "public, max-age=86400" };
152
+ if (value < 100)
153
+ return { immutable: false, value: "public, max-age=31536000" };
154
+ return { immutable: true, value: "public, max-age=31536000, immutable" };
155
+ }
156
+ export { assetBodyBuffer, assetContentType, assetIsCompressible, cacheControlForPercent, prepareAsset, sendAsset, };
157
+ //# sourceMappingURL=assets.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"assets.js","sourceRoot":"","sources":["../../../src/server/assets.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,15 @@ export * from "../icons/server-context.d.ts";
4
4
  export * from "../icons/shared.d.ts";
5
5
  export * from "./favicon.js";
6
6
  export * from "./http.js";
7
+ export * from "./assets.js";
7
8
  export * from "./language.js";
9
+ export * from "./locale.js";
8
10
  export * from "./live.js";
9
11
  export * from "./navigation.js";
12
+ export * from "./page-task.js";
13
+ export * from "./react/render.d.ts";
14
+ export * from "./render-mode.js";
15
+ export * from "./security.js";
10
16
  export * from "./seo.js";
11
17
  export * from "./sidebar.js";
12
18
  export * from "./theme.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
@@ -4,9 +4,15 @@ export * from "../icons/server-context.js";
4
4
  export * from "../icons/shared.js";
5
5
  export * from "./favicon.js";
6
6
  export * from "./http.js";
7
+ export * from "./assets.js";
7
8
  export * from "./language.js";
9
+ export * from "./locale.js";
8
10
  export * from "./live.js";
9
11
  export * from "./navigation.js";
12
+ export * from "./page-task.js";
13
+ export * from "./react/render.js";
14
+ export * from "./render-mode.js";
15
+ export * from "./security.js";
10
16
  export * from "./seo.js";
11
17
  export * from "./sidebar.js";
12
18
  export * from "./theme.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,eAAe,CAAC;AAC9B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/server/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,22 @@
1
+ import { type ServerRequestLike, type ServerResponseLike } from "./http.js";
2
+ type LocaleState = {
3
+ effective: string;
4
+ request: string;
5
+ user: string;
6
+ };
7
+ type LocaleMiddlewareOptions = {
8
+ defaultLocale?: string;
9
+ localsKey?: string;
10
+ normalize?: (value: unknown) => string;
11
+ readUserLocale?: (req: ServerRequestLike, res: ServerResponseLike) => unknown;
12
+ };
13
+ declare function normalizeIntlLocale(input: unknown): string;
14
+ declare function readRequestLocale(req: ServerRequestLike | null | undefined, normalize?: (value: unknown) => string): string;
15
+ declare function createLocaleState(req: ServerRequestLike, res: ServerResponseLike, options?: LocaleMiddlewareOptions): LocaleState;
16
+ declare function applyLocaleToLocals(req: ServerRequestLike, res: ServerResponseLike, options?: LocaleMiddlewareOptions): LocaleState;
17
+ declare function createLocaleMiddleware(options?: LocaleMiddlewareOptions): (req: ServerRequestLike, res: ServerResponseLike, next: () => unknown) => unknown;
18
+ declare function attachLocaleMiddleware(app: unknown, options?: LocaleMiddlewareOptions): void;
19
+ declare const normalizeLocale: typeof normalizeIntlLocale;
20
+ export { applyLocaleToLocals, attachLocaleMiddleware, createLocaleMiddleware, createLocaleState, normalizeLocale, readRequestLocale, };
21
+ export type { LocaleMiddlewareOptions, LocaleState };
22
+ //# sourceMappingURL=locale.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.d.ts","sourceRoot":"","sources":["../../../src/server/locale.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,WAAW,CAAC;AAEnB,KAAK,WAAW,GAAG;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;CACd,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAAM,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,kBAAkB,KAAK,OAAO,CAAC;CAC/E,CAAC;AAEF,iBAAS,mBAAmB,CAAC,KAAK,EAAE,OAAO,UAQ1C;AASD,iBAAS,iBAAiB,CACxB,GAAG,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,EACzC,SAAS,GAAE,CAAC,KAAK,EAAE,OAAO,KAAK,MAA4B,UAc5D;AAYD,iBAAS,iBAAiB,CACxB,GAAG,EAAE,iBAAiB,EACtB,GAAG,EAAE,kBAAkB,EACvB,OAAO,GAAE,uBAA4B,GACpC,WAAW,CAWb;AAED,iBAAS,mBAAmB,CAC1B,GAAG,EAAE,iBAAiB,EACtB,GAAG,EAAE,kBAAkB,EACvB,OAAO,GAAE,uBAA4B,eAMtC;AAED,iBAAS,sBAAsB,CAAC,OAAO,GAAE,uBAA4B,IAEjE,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACvB,MAAM,MAAM,OAAO,aAKtB;AAED,iBAAS,sBAAsB,CAAC,GAAG,EAAE,OAAO,EAAE,OAAO,GAAE,uBAA4B,QAIlF;AAED,QAAA,MAAM,eAAe,4BAAsB,CAAC;AAE5C,OAAO,EACL,mBAAmB,EACnB,sBAAsB,EACtB,sBAAsB,EACtB,iBAAiB,EACjB,eAAe,EACf,iBAAiB,GAClB,CAAC;AACF,YAAY,EAAE,uBAAuB,EAAE,WAAW,EAAE,CAAC"}
@@ -0,0 +1,74 @@
1
+ import { requestHeader, } from "./http.js";
2
+ function normalizeIntlLocale(input) {
3
+ const raw = String(input == null ? "" : input).trim();
4
+ if (!raw)
5
+ return "";
6
+ try {
7
+ return Intl.DateTimeFormat.supportedLocalesOf([raw])[0] || "";
8
+ }
9
+ catch {
10
+ return "";
11
+ }
12
+ }
13
+ function localeWeight(entry) {
14
+ const match = entry.match(/(?:^|;)\s*q=([0-9.]+)/i);
15
+ if (!match)
16
+ return 1;
17
+ const parsed = Number(match[1]);
18
+ return Number.isFinite(parsed) ? parsed : 0;
19
+ }
20
+ function readRequestLocale(req, normalize = normalizeIntlLocale) {
21
+ const raw = requestHeader(req, "accept-language");
22
+ if (!raw)
23
+ return "";
24
+ const entries = raw
25
+ .split(",")
26
+ .map((entry) => entry.trim())
27
+ .filter(Boolean)
28
+ .sort((left, right) => localeWeight(right) - localeWeight(left));
29
+ for (const entry of entries) {
30
+ const locale = normalize(entry.split(";")[0]);
31
+ if (locale)
32
+ return locale;
33
+ }
34
+ return "";
35
+ }
36
+ function defaultUserLocale(req, res) {
37
+ const viewer = req?.viewer && typeof req.viewer === "object"
38
+ ? req.viewer
39
+ : res?.locals?.viewer && typeof res.locals.viewer === "object"
40
+ ? res.locals.viewer
41
+ : null;
42
+ return viewer && typeof viewer === "object" ? viewer.locale : "";
43
+ }
44
+ function createLocaleState(req, res, options = {}) {
45
+ const normalize = options.normalize || normalizeIntlLocale;
46
+ const user = normalize(options.readUserLocale ? options.readUserLocale(req, res) : defaultUserLocale(req, res));
47
+ const request = readRequestLocale(req, normalize);
48
+ return {
49
+ effective: user || request || normalize(options.defaultLocale),
50
+ request,
51
+ user,
52
+ };
53
+ }
54
+ function applyLocaleToLocals(req, res, options = {}) {
55
+ if (!res.locals || typeof res.locals !== "object")
56
+ res.locals = {};
57
+ const state = createLocaleState(req, res, options);
58
+ res.locals[options.localsKey || "locale"] = state;
59
+ return state;
60
+ }
61
+ function createLocaleMiddleware(options = {}) {
62
+ return function localeMiddleware(req, res, next) {
63
+ applyLocaleToLocals(req, res, options);
64
+ return next();
65
+ };
66
+ }
67
+ function attachLocaleMiddleware(app, options = {}) {
68
+ if (app && typeof app.use === "function") {
69
+ app.use(createLocaleMiddleware(options));
70
+ }
71
+ }
72
+ const normalizeLocale = normalizeIntlLocale;
73
+ export { applyLocaleToLocals, attachLocaleMiddleware, createLocaleMiddleware, createLocaleState, normalizeLocale, readRequestLocale, };
74
+ //# sourceMappingURL=locale.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"locale.js","sourceRoot":"","sources":["../../../src/server/locale.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,36 @@
1
+ type PageTaskFailure = {
2
+ details: string;
3
+ ok: false;
4
+ status: number;
5
+ status_code: string;
6
+ };
7
+ type PageTaskFailureContext = {
8
+ entityId: string;
9
+ message: string;
10
+ operation: string;
11
+ page: string;
12
+ status: number;
13
+ statusCode: string;
14
+ timeoutMs: number;
15
+ };
16
+ type PageTaskOptions<TFailure = PageTaskFailure> = {
17
+ entityId?: unknown;
18
+ fail?: (context: PageTaskFailureContext) => TFailure;
19
+ failureMessage?: (context: {
20
+ operation: string;
21
+ status: number;
22
+ statusCode: string;
23
+ }) => string;
24
+ logger?: {
25
+ error?: (scope: string, message: string, metadata?: Record<string, unknown>) => unknown;
26
+ warn?: (scope: string, message: string, metadata?: Record<string, unknown>) => unknown;
27
+ };
28
+ operation: unknown;
29
+ page: unknown;
30
+ timeoutMs?: unknown;
31
+ };
32
+ declare const DEFAULT_PAGE_TASK_TIMEOUT_MS = 15000;
33
+ declare function runPageTask<T, TFailure = PageTaskFailure>(task: () => Promise<T>, options: PageTaskOptions<TFailure>): Promise<T | TFailure>;
34
+ export { DEFAULT_PAGE_TASK_TIMEOUT_MS, runPageTask };
35
+ export type { PageTaskFailure, PageTaskFailureContext, PageTaskOptions };
36
+ //# sourceMappingURL=page-task.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-task.d.ts","sourceRoot":"","sources":["../../../src/server/page-task.ts"],"names":[],"mappings":"AAEA,KAAK,eAAe,GAAG;IACrB,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,KAAK,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,CAAC;CACrB,CAAC;AAEF,KAAK,sBAAsB,GAAG;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,KAAK,eAAe,CAAC,QAAQ,GAAG,eAAe,IAAI;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,sBAAsB,KAAK,QAAQ,CAAC;IACrD,cAAc,CAAC,EAAE,CAAC,OAAO,EAAE;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;KACtB,KAAK,MAAM,CAAC;IACb,MAAM,CAAC,EAAE;QACP,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;QACxF,IAAI,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,OAAO,CAAC;KACxF,CAAC;IACF,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,QAAA,MAAM,4BAA4B,QAAQ,CAAC;AAmF3C,iBAAe,WAAW,CAAC,CAAC,EAAE,QAAQ,GAAG,eAAe,EACtD,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACtB,OAAO,EAAE,eAAe,CAAC,QAAQ,CAAC,GACjC,OAAO,CAAC,CAAC,GAAG,QAAQ,CAAC,CAmCvB;AAED,OAAO,EAAE,4BAA4B,EAAE,WAAW,EAAE,CAAC;AACrD,YAAY,EAAE,eAAe,EAAE,sBAAsB,EAAE,eAAe,EAAE,CAAC"}
@@ -0,0 +1,91 @@
1
+ import { toText } from "../components/index.js";
2
+ const DEFAULT_PAGE_TASK_TIMEOUT_MS = 15000;
3
+ function pageTaskTimeoutMs(input) {
4
+ const parsed = Number(input);
5
+ return Math.max(1, Number.isFinite(parsed) ? Math.floor(parsed) : DEFAULT_PAGE_TASK_TIMEOUT_MS);
6
+ }
7
+ function pageTaskErrorStatus(error) {
8
+ const status = error && typeof error === "object" && "status" in error
9
+ ? Number(error.status)
10
+ : 0;
11
+ return Number.isFinite(status) && status > 0 ? status : 500;
12
+ }
13
+ function pageTaskErrorCode(error, status) {
14
+ return (toText(error && typeof error === "object" && "status_code" in error
15
+ ? error.status_code
16
+ : "") || (status === 504 ? "page-route-timeout" : "page-route-load-failed"));
17
+ }
18
+ function defaultFailureMessage(status, operation) {
19
+ return status === 504
20
+ ? `Timed out while loading ${operation}.`
21
+ : `Failed to load ${operation}.`;
22
+ }
23
+ function pageTaskErrorMessage(error, context, options) {
24
+ return (toText(error && typeof error === "object" && "message" in error
25
+ ? error.message
26
+ : "") ||
27
+ options.failureMessage?.(context) ||
28
+ defaultFailureMessage(context.status, context.operation));
29
+ }
30
+ function pageTaskFailure(context, options) {
31
+ if (options.fail)
32
+ return options.fail(context);
33
+ return {
34
+ details: context.message,
35
+ ok: false,
36
+ status: context.status,
37
+ status_code: context.statusCode,
38
+ };
39
+ }
40
+ function logPageTaskFailure(context, options) {
41
+ const level = context.status >= 500 && context.status !== 504 ? "error" : "warn";
42
+ options.logger?.[level]?.("frontend.page", "page task failed", {
43
+ entity_id: context.entityId,
44
+ message: context.message,
45
+ operation: context.operation,
46
+ page: context.page,
47
+ status: context.status,
48
+ status_code: context.statusCode,
49
+ timeout_ms: context.timeoutMs,
50
+ });
51
+ }
52
+ function createPageTaskTimeout(operation) {
53
+ const error = new Error(defaultFailureMessage(504, operation));
54
+ error.status = 504;
55
+ error.status_code = "page-route-timeout";
56
+ return error;
57
+ }
58
+ async function runPageTask(task, options) {
59
+ const operation = toText(options.operation, "page task");
60
+ const timeoutMs = pageTaskTimeoutMs(options.timeoutMs);
61
+ let timer = null;
62
+ try {
63
+ return await Promise.race([
64
+ Promise.resolve().then(task),
65
+ new Promise((_, reject) => {
66
+ timer = setTimeout(() => reject(createPageTaskTimeout(operation)), timeoutMs);
67
+ }),
68
+ ]);
69
+ }
70
+ catch (error) {
71
+ const status = pageTaskErrorStatus(error);
72
+ const statusCode = pageTaskErrorCode(error, status);
73
+ const context = {
74
+ entityId: toText(options.entityId),
75
+ message: pageTaskErrorMessage(error, { operation, status, statusCode }, options),
76
+ operation,
77
+ page: toText(options.page, "unknown"),
78
+ status,
79
+ statusCode,
80
+ timeoutMs,
81
+ };
82
+ logPageTaskFailure(context, options);
83
+ return pageTaskFailure(context, options);
84
+ }
85
+ finally {
86
+ if (timer)
87
+ clearTimeout(timer);
88
+ }
89
+ }
90
+ export { DEFAULT_PAGE_TASK_TIMEOUT_MS, runPageTask };
91
+ //# sourceMappingURL=page-task.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page-task.js","sourceRoot":"","sources":["../../../src/server/page-task.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,29 @@
1
+ import { type ServerResponseLike } from "../http.d.ts";
2
+ import type { FrontendDocumentContext, FrontendReactRendererOptions, FrontendRenderShell } from "./types.d.ts";
3
+ declare function defaultNormalizePageId(pageId: unknown): string;
4
+ declare function applyScriptNonce(html: string, nonce: unknown): string;
5
+ declare function countHtmlTags(html: string, tagName: string): number;
6
+ declare function readResponseRequestRoute(res: ServerResponseLike | null | undefined): string;
7
+ declare function buildDocumentContext(res: ServerResponseLike, pageId: string, componentId: string, props: Record<string, unknown>, options: FrontendReactRendererOptions, shellInput?: FrontendRenderShell): FrontendDocumentContext;
8
+ declare function rootDocumentProps(body: unknown, context: FrontendDocumentContext, options: FrontendReactRendererOptions): {
9
+ body: unknown;
10
+ cssLinks: string;
11
+ csrfToken: string;
12
+ currentUrl: string;
13
+ faviconHref: string;
14
+ fontPreloadLinks: string;
15
+ jsLinks: string;
16
+ lang: string;
17
+ nonce: string;
18
+ pageId: string;
19
+ pageTitle: string;
20
+ seo: Record<string, unknown>;
21
+ shell: FrontendRenderShell;
22
+ theme: string;
23
+ themeKey: string;
24
+ title: string;
25
+ viewerId: string;
26
+ };
27
+ declare function logDocumentStart(context: FrontendDocumentContext, res: ServerResponseLike, options: FrontendReactRendererOptions): void;
28
+ export { applyScriptNonce, buildDocumentContext, countHtmlTags, defaultNormalizePageId, logDocumentStart, readResponseRequestRoute, rootDocumentProps, };
29
+ //# sourceMappingURL=document.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document.d.ts","sourceRoot":"","sources":["../../../../src/server/react/document.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAEvB,OAAO,KAAK,EACV,uBAAuB,EACvB,4BAA4B,EAC5B,mBAAmB,EACpB,MAAM,eAAe,CAAC;AAEvB,iBAAS,sBAAsB,CAAC,MAAM,EAAE,OAAO,UAY9C;AAED,iBAAS,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,UAQrD;AAED,iBAAS,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,UAInD;AAED,iBAAS,wBAAwB,CAAC,GAAG,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,UAG3E;AAwCD,iBAAS,oBAAoB,CAC3B,GAAG,EAAE,kBAAkB,EACvB,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,MAAM,EACnB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,EAAE,4BAA4B,EACrC,UAAU,CAAC,EAAE,mBAAmB,GAC/B,uBAAuB,CAoBzB;AAkBD,iBAAS,iBAAiB,CACxB,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,uBAAuB,EAChC,OAAO,EAAE,4BAA4B;;;;;;;;;;;;;;;;;;EAqBtC;AAED,iBAAS,gBAAgB,CACvB,OAAO,EAAE,uBAAuB,EAChC,GAAG,EAAE,kBAAkB,EACvB,OAAO,EAAE,4BAA4B,QActC;AAED,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,aAAa,EACb,sBAAsB,EACtB,gBAAgB,EAChB,wBAAwB,EACxB,iBAAiB,GAClB,CAAC"}