@trebired/frontend 6.12.0 → 6.12.1
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/CHANGELOG.md +5 -0
- package/dist/server/fallback.d.ts +36 -0
- package/dist/server/fallback.d.ts.map +1 -0
- package/dist/server/fallback.js +70 -0
- package/dist/server/fallback.js.map +1 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +1 -0
- package/dist/server/index.js.map +1 -1
- package/dist/src/server/fallback.d.ts +36 -0
- package/dist/src/server/fallback.d.ts.map +1 -0
- package/dist/src/server/fallback.js +70 -0
- package/dist/src/server/fallback.js.map +1 -0
- package/dist/src/server/index.d.ts +1 -0
- package/dist/src/server/index.d.ts.map +1 -1
- package/dist/src/server/index.js +1 -0
- package/dist/src/server/index.js.map +1 -1
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
All notable package changes are documented here.
|
|
4
4
|
|
|
5
|
+
## 6.12.1
|
|
6
|
+
|
|
7
|
+
- Added server fallback helpers for HTML document detection, current render-mode path selection, and document-vs-JSON fallback dispatch.
|
|
8
|
+
- Reused package-owned sidebar-live route and protocol helpers so apps keep only their live room mapping and data resolvers.
|
|
9
|
+
|
|
5
10
|
## 6.12.0
|
|
6
11
|
|
|
7
12
|
- Added adjustable SEO defaults for indexability, robots directives, canonical URLs, social preview tags, verification tags, alternates, and JSON-LD structured data.
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type ServerRequestLike, type ServerResponseLike } from "./http.js";
|
|
2
|
+
type AcceptedMediaRange = {
|
|
3
|
+
media: string;
|
|
4
|
+
q: number;
|
|
5
|
+
};
|
|
6
|
+
type DocumentFallbackOptions = {
|
|
7
|
+
mediaTypes?: readonly string[];
|
|
8
|
+
methods?: readonly string[];
|
|
9
|
+
};
|
|
10
|
+
type CurrentRenderModePathOptions = {
|
|
11
|
+
exclude?: readonly string[];
|
|
12
|
+
};
|
|
13
|
+
type FrontendFallbackMode = "document" | "json";
|
|
14
|
+
type FrontendFallbackModeContext = {
|
|
15
|
+
mode: FrontendFallbackMode;
|
|
16
|
+
next?: (error?: unknown) => unknown;
|
|
17
|
+
req: ServerRequestLike;
|
|
18
|
+
res: ServerResponseLike;
|
|
19
|
+
};
|
|
20
|
+
type FrontendFallbackModeOptions = DocumentFallbackOptions & {
|
|
21
|
+
applyRenderMode?: (mode: string) => (req: ServerRequestLike, res: ServerResponseLike, next: (error?: unknown) => unknown) => unknown;
|
|
22
|
+
documentRenderMode?: string;
|
|
23
|
+
respond: (context: FrontendFallbackModeContext) => unknown;
|
|
24
|
+
};
|
|
25
|
+
declare const DOCUMENT_FALLBACK_METHODS: readonly string[];
|
|
26
|
+
declare const HTML_DOCUMENT_MEDIA_TYPES: readonly string[];
|
|
27
|
+
declare const RENDER_MODE_PATH_EXCLUDES: readonly string[];
|
|
28
|
+
declare function parseAcceptedMediaRange(input: unknown): AcceptedMediaRange | null;
|
|
29
|
+
declare function acceptedMediaRanges(req: ServerRequestLike | null | undefined): AcceptedMediaRange[];
|
|
30
|
+
declare function acceptsHtmlDocument(req: ServerRequestLike | null | undefined, options?: DocumentFallbackOptions): boolean;
|
|
31
|
+
declare function shouldRenderDocumentFallback(req: ServerRequestLike | null | undefined, options?: DocumentFallbackOptions): boolean;
|
|
32
|
+
declare function currentRenderModePath(res: ServerResponseLike | null | undefined, options?: CurrentRenderModePathOptions): string;
|
|
33
|
+
declare function respondWithFrontendFallbackMode(req: ServerRequestLike, res: ServerResponseLike, next: ((error?: unknown) => unknown) | undefined, options: FrontendFallbackModeOptions): unknown;
|
|
34
|
+
export { acceptedMediaRanges, acceptsHtmlDocument, currentRenderModePath, DOCUMENT_FALLBACK_METHODS, HTML_DOCUMENT_MEDIA_TYPES, parseAcceptedMediaRange, RENDER_MODE_PATH_EXCLUDES, respondWithFrontendFallbackMode, shouldRenderDocumentFallback, };
|
|
35
|
+
export type { AcceptedMediaRange, CurrentRenderModePathOptions, DocumentFallbackOptions, FrontendFallbackMode, FrontendFallbackModeContext, FrontendFallbackModeOptions, };
|
|
36
|
+
//# sourceMappingURL=fallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fallback.d.ts","sourceRoot":"","sources":["../../../src/server/fallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,WAAW,CAAC;AAEnB,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,KAAK,oBAAoB,GAAG,UAAU,GAAG,MAAM,CAAC;AAEhD,KAAK,2BAA2B,GAAG;IACjC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IACpC,GAAG,EAAE,iBAAiB,CAAC;IACvB,GAAG,EAAE,kBAAkB,CAAC;CACzB,CAAC;AAEF,KAAK,2BAA2B,GAAG,uBAAuB,GAAE;IAC1D,eAAe,CAAC,EAAE,CAChB,IAAI,EAAE,MAAM,KACT,CAAC,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,KAAK,OAAO,CAAC;IACtG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC;CAC5D,CAAC;AAEF,QAAA,MAAM,yBAAyB,mBAAiC,CAAC;AACjE,QAAA,MAAM,yBAAyB,mBAAwD,CAAC;AACxF,QAAA,MAAM,yBAAyB,mBAK7B,CAAC;AAEH,iBAAS,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAa1E;AAED,iBAAS,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,wBAKrE;AAED,iBAAS,mBAAmB,CAC1B,GAAG,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,EACzC,OAAO,GAAE,uBAA4B,WAItC;AAED,iBAAS,4BAA4B,CACnC,GAAG,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,EACzC,OAAO,GAAE,uBAA4B,WAOtC;AAED,iBAAS,qBAAqB,CAC5B,GAAG,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,EAC1C,OAAO,GAAE,4BAAiC,UAW3C;AAED,iBAAS,+BAA+B,CACtC,GAAG,EAAE,iBAAiB,EACtB,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,SAAS,EAChD,OAAO,EAAE,2BAA2B,WAarC;AAED,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,+BAA+B,EAC/B,4BAA4B,GAC7B,CAAC;AACF,YAAY,EACV,kBAAkB,EAClB,4BAA4B,EAC5B,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,GAC5B,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { requestHeader, serverObject, serverString, } from "./http.js";
|
|
2
|
+
const DOCUMENT_FALLBACK_METHODS = Object.freeze(["GET", "HEAD"]);
|
|
3
|
+
const HTML_DOCUMENT_MEDIA_TYPES = Object.freeze(["application/xhtml+xml", "text/html"]);
|
|
4
|
+
const RENDER_MODE_PATH_EXCLUDES = Object.freeze([
|
|
5
|
+
"default",
|
|
6
|
+
"partial",
|
|
7
|
+
"success",
|
|
8
|
+
"noop",
|
|
9
|
+
]);
|
|
10
|
+
function parseAcceptedMediaRange(input) {
|
|
11
|
+
const parts = serverString(input).split(";").map((part) => part.trim());
|
|
12
|
+
const media = serverString(parts.shift()).toLowerCase();
|
|
13
|
+
if (!media)
|
|
14
|
+
return null;
|
|
15
|
+
let q = 1;
|
|
16
|
+
for (const part of parts) {
|
|
17
|
+
const separator = part.indexOf("=");
|
|
18
|
+
const key = separator >= 0 ? part.slice(0, separator).trim().toLowerCase() : "";
|
|
19
|
+
if (key !== "q")
|
|
20
|
+
continue;
|
|
21
|
+
const parsed = Number(part.slice(separator + 1).trim());
|
|
22
|
+
if (Number.isFinite(parsed))
|
|
23
|
+
q = Math.max(0, Math.min(1, parsed));
|
|
24
|
+
}
|
|
25
|
+
return { media, q };
|
|
26
|
+
}
|
|
27
|
+
function acceptedMediaRanges(req) {
|
|
28
|
+
return requestHeader(req, "accept")
|
|
29
|
+
.split(",")
|
|
30
|
+
.map((entry) => parseAcceptedMediaRange(entry))
|
|
31
|
+
.filter((entry) => Boolean(entry && entry.q > 0));
|
|
32
|
+
}
|
|
33
|
+
function acceptsHtmlDocument(req, options = {}) {
|
|
34
|
+
const mediaTypes = new Set(options.mediaTypes || HTML_DOCUMENT_MEDIA_TYPES);
|
|
35
|
+
return acceptedMediaRanges(req).some((range) => mediaTypes.has(range.media));
|
|
36
|
+
}
|
|
37
|
+
function shouldRenderDocumentFallback(req, options = {}) {
|
|
38
|
+
const method = serverString(req?.method)
|
|
39
|
+
.trim()
|
|
40
|
+
.toUpperCase();
|
|
41
|
+
const methods = new Set(options.methods || DOCUMENT_FALLBACK_METHODS);
|
|
42
|
+
return methods.has(method) && acceptsHtmlDocument(req, options);
|
|
43
|
+
}
|
|
44
|
+
function currentRenderModePath(res, options = {}) {
|
|
45
|
+
const flags = serverObject(res?.locals?.renderMode);
|
|
46
|
+
const exclude = new Set(options.exclude || RENDER_MODE_PATH_EXCLUDES);
|
|
47
|
+
const names = Object.keys(flags)
|
|
48
|
+
.filter((name) => flags[name] === true && !exclude.has(name))
|
|
49
|
+
.sort((left, right) => {
|
|
50
|
+
const depth = right.split(".").length - left.split(".").length;
|
|
51
|
+
return depth !== 0 ? depth : right.length - left.length;
|
|
52
|
+
});
|
|
53
|
+
return names[0] || "";
|
|
54
|
+
}
|
|
55
|
+
function respondWithFrontendFallbackMode(req, res, next, options) {
|
|
56
|
+
if (!shouldRenderDocumentFallback(req, options)) {
|
|
57
|
+
return options.respond({ mode: "json", next, req, res });
|
|
58
|
+
}
|
|
59
|
+
if (!options.applyRenderMode) {
|
|
60
|
+
return options.respond({ mode: "document", next, req, res });
|
|
61
|
+
}
|
|
62
|
+
const middleware = options.applyRenderMode(options.documentRenderMode || "error");
|
|
63
|
+
return middleware(req, res, (error) => {
|
|
64
|
+
if (error)
|
|
65
|
+
return typeof next === "function" ? next(error) : undefined;
|
|
66
|
+
return options.respond({ mode: "document", next, req, res });
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
export { acceptedMediaRanges, acceptsHtmlDocument, currentRenderModePath, DOCUMENT_FALLBACK_METHODS, HTML_DOCUMENT_MEDIA_TYPES, parseAcceptedMediaRange, RENDER_MODE_PATH_EXCLUDES, respondWithFrontendFallbackMode, shouldRenderDocumentFallback, };
|
|
70
|
+
//# sourceMappingURL=fallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/server/fallback.ts"],"names":[],"mappings":"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"}
|
package/dist/server/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export * from "../icons/server/index.d.ts";
|
|
|
3
3
|
export * from "../icons/server-context.d.ts";
|
|
4
4
|
export * from "../icons/shared.d.ts";
|
|
5
5
|
export * from "./favicon.js";
|
|
6
|
+
export * from "./fallback.js";
|
|
6
7
|
export * from "./framework.js";
|
|
7
8
|
export * from "./http.js";
|
|
8
9
|
export * from "./assets.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,gBAAgB,CAAC;AAC/B,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,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,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,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,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,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
package/dist/server/index.js
CHANGED
|
@@ -3,6 +3,7 @@ export * from "../icons/server/index.js";
|
|
|
3
3
|
export * from "../icons/server-context.js";
|
|
4
4
|
export * from "../icons/shared.js";
|
|
5
5
|
export * from "./favicon.js";
|
|
6
|
+
export * from "./fallback.js";
|
|
6
7
|
export * from "./framework.js";
|
|
7
8
|
export * from "./http.js";
|
|
8
9
|
export * from "./assets.js";
|
package/dist/server/index.js.map
CHANGED
|
@@ -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,gBAAgB,CAAC;AAC/B,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,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,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,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,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,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { type ServerRequestLike, type ServerResponseLike } from "./http.js";
|
|
2
|
+
type AcceptedMediaRange = {
|
|
3
|
+
media: string;
|
|
4
|
+
q: number;
|
|
5
|
+
};
|
|
6
|
+
type DocumentFallbackOptions = {
|
|
7
|
+
mediaTypes?: readonly string[];
|
|
8
|
+
methods?: readonly string[];
|
|
9
|
+
};
|
|
10
|
+
type CurrentRenderModePathOptions = {
|
|
11
|
+
exclude?: readonly string[];
|
|
12
|
+
};
|
|
13
|
+
type FrontendFallbackMode = "document" | "json";
|
|
14
|
+
type FrontendFallbackModeContext = {
|
|
15
|
+
mode: FrontendFallbackMode;
|
|
16
|
+
next?: (error?: unknown) => unknown;
|
|
17
|
+
req: ServerRequestLike;
|
|
18
|
+
res: ServerResponseLike;
|
|
19
|
+
};
|
|
20
|
+
type FrontendFallbackModeOptions = DocumentFallbackOptions & {
|
|
21
|
+
applyRenderMode?: (mode: string) => (req: ServerRequestLike, res: ServerResponseLike, next: (error?: unknown) => unknown) => unknown;
|
|
22
|
+
documentRenderMode?: string;
|
|
23
|
+
respond: (context: FrontendFallbackModeContext) => unknown;
|
|
24
|
+
};
|
|
25
|
+
declare const DOCUMENT_FALLBACK_METHODS: readonly string[];
|
|
26
|
+
declare const HTML_DOCUMENT_MEDIA_TYPES: readonly string[];
|
|
27
|
+
declare const RENDER_MODE_PATH_EXCLUDES: readonly string[];
|
|
28
|
+
declare function parseAcceptedMediaRange(input: unknown): AcceptedMediaRange | null;
|
|
29
|
+
declare function acceptedMediaRanges(req: ServerRequestLike | null | undefined): AcceptedMediaRange[];
|
|
30
|
+
declare function acceptsHtmlDocument(req: ServerRequestLike | null | undefined, options?: DocumentFallbackOptions): boolean;
|
|
31
|
+
declare function shouldRenderDocumentFallback(req: ServerRequestLike | null | undefined, options?: DocumentFallbackOptions): boolean;
|
|
32
|
+
declare function currentRenderModePath(res: ServerResponseLike | null | undefined, options?: CurrentRenderModePathOptions): string;
|
|
33
|
+
declare function respondWithFrontendFallbackMode(req: ServerRequestLike, res: ServerResponseLike, next: ((error?: unknown) => unknown) | undefined, options: FrontendFallbackModeOptions): unknown;
|
|
34
|
+
export { acceptedMediaRanges, acceptsHtmlDocument, currentRenderModePath, DOCUMENT_FALLBACK_METHODS, HTML_DOCUMENT_MEDIA_TYPES, parseAcceptedMediaRange, RENDER_MODE_PATH_EXCLUDES, respondWithFrontendFallbackMode, shouldRenderDocumentFallback, };
|
|
35
|
+
export type { AcceptedMediaRange, CurrentRenderModePathOptions, DocumentFallbackOptions, FrontendFallbackMode, FrontendFallbackModeContext, FrontendFallbackModeOptions, };
|
|
36
|
+
//# sourceMappingURL=fallback.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fallback.d.ts","sourceRoot":"","sources":["../../../src/server/fallback.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,WAAW,CAAC;AAEnB,KAAK,kBAAkB,GAAG;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,CAAC,EAAE,MAAM,CAAC;CACX,CAAC;AAEF,KAAK,uBAAuB,GAAG;IAC7B,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAC/B,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,KAAK,4BAA4B,GAAG;IAClC,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,KAAK,oBAAoB,GAAG,UAAU,GAAG,MAAM,CAAC;AAEhD,KAAK,2BAA2B,GAAG;IACjC,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IACpC,GAAG,EAAE,iBAAiB,CAAC;IACvB,GAAG,EAAE,kBAAkB,CAAC;CACzB,CAAC;AAEF,KAAK,2BAA2B,GAAG,uBAAuB,GAAE;IAC1D,eAAe,CAAC,EAAE,CAChB,IAAI,EAAE,MAAM,KACT,CAAC,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,kBAAkB,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,KAAK,OAAO,CAAC;IACtG,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,OAAO,EAAE,CAAC,OAAO,EAAE,2BAA2B,KAAK,OAAO,CAAC;CAC5D,CAAC;AAEF,QAAA,MAAM,yBAAyB,mBAAiC,CAAC;AACjE,QAAA,MAAM,yBAAyB,mBAAwD,CAAC;AACxF,QAAA,MAAM,yBAAyB,mBAK7B,CAAC;AAEH,iBAAS,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,kBAAkB,GAAG,IAAI,CAa1E;AAED,iBAAS,mBAAmB,CAAC,GAAG,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,wBAKrE;AAED,iBAAS,mBAAmB,CAC1B,GAAG,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,EACzC,OAAO,GAAE,uBAA4B,WAItC;AAED,iBAAS,4BAA4B,CACnC,GAAG,EAAE,iBAAiB,GAAG,IAAI,GAAG,SAAS,EACzC,OAAO,GAAE,uBAA4B,WAOtC;AAED,iBAAS,qBAAqB,CAC5B,GAAG,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,EAC1C,OAAO,GAAE,4BAAiC,UAW3C;AAED,iBAAS,+BAA+B,CACtC,GAAG,EAAE,iBAAiB,EACtB,GAAG,EAAE,kBAAkB,EACvB,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC,GAAG,SAAS,EAChD,OAAO,EAAE,2BAA2B,WAarC;AAED,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,+BAA+B,EAC/B,4BAA4B,GAC7B,CAAC;AACF,YAAY,EACV,kBAAkB,EAClB,4BAA4B,EAC5B,uBAAuB,EACvB,oBAAoB,EACpB,2BAA2B,EAC3B,2BAA2B,GAC5B,CAAC"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { requestHeader, serverObject, serverString, } from "./http.js";
|
|
2
|
+
const DOCUMENT_FALLBACK_METHODS = Object.freeze(["GET", "HEAD"]);
|
|
3
|
+
const HTML_DOCUMENT_MEDIA_TYPES = Object.freeze(["application/xhtml+xml", "text/html"]);
|
|
4
|
+
const RENDER_MODE_PATH_EXCLUDES = Object.freeze([
|
|
5
|
+
"default",
|
|
6
|
+
"partial",
|
|
7
|
+
"success",
|
|
8
|
+
"noop",
|
|
9
|
+
]);
|
|
10
|
+
function parseAcceptedMediaRange(input) {
|
|
11
|
+
const parts = serverString(input).split(";").map((part) => part.trim());
|
|
12
|
+
const media = serverString(parts.shift()).toLowerCase();
|
|
13
|
+
if (!media)
|
|
14
|
+
return null;
|
|
15
|
+
let q = 1;
|
|
16
|
+
for (const part of parts) {
|
|
17
|
+
const separator = part.indexOf("=");
|
|
18
|
+
const key = separator >= 0 ? part.slice(0, separator).trim().toLowerCase() : "";
|
|
19
|
+
if (key !== "q")
|
|
20
|
+
continue;
|
|
21
|
+
const parsed = Number(part.slice(separator + 1).trim());
|
|
22
|
+
if (Number.isFinite(parsed))
|
|
23
|
+
q = Math.max(0, Math.min(1, parsed));
|
|
24
|
+
}
|
|
25
|
+
return { media, q };
|
|
26
|
+
}
|
|
27
|
+
function acceptedMediaRanges(req) {
|
|
28
|
+
return requestHeader(req, "accept")
|
|
29
|
+
.split(",")
|
|
30
|
+
.map((entry) => parseAcceptedMediaRange(entry))
|
|
31
|
+
.filter((entry) => Boolean(entry && entry.q > 0));
|
|
32
|
+
}
|
|
33
|
+
function acceptsHtmlDocument(req, options = {}) {
|
|
34
|
+
const mediaTypes = new Set(options.mediaTypes || HTML_DOCUMENT_MEDIA_TYPES);
|
|
35
|
+
return acceptedMediaRanges(req).some((range) => mediaTypes.has(range.media));
|
|
36
|
+
}
|
|
37
|
+
function shouldRenderDocumentFallback(req, options = {}) {
|
|
38
|
+
const method = serverString(req?.method)
|
|
39
|
+
.trim()
|
|
40
|
+
.toUpperCase();
|
|
41
|
+
const methods = new Set(options.methods || DOCUMENT_FALLBACK_METHODS);
|
|
42
|
+
return methods.has(method) && acceptsHtmlDocument(req, options);
|
|
43
|
+
}
|
|
44
|
+
function currentRenderModePath(res, options = {}) {
|
|
45
|
+
const flags = serverObject(res?.locals?.renderMode);
|
|
46
|
+
const exclude = new Set(options.exclude || RENDER_MODE_PATH_EXCLUDES);
|
|
47
|
+
const names = Object.keys(flags)
|
|
48
|
+
.filter((name) => flags[name] === true && !exclude.has(name))
|
|
49
|
+
.sort((left, right) => {
|
|
50
|
+
const depth = right.split(".").length - left.split(".").length;
|
|
51
|
+
return depth !== 0 ? depth : right.length - left.length;
|
|
52
|
+
});
|
|
53
|
+
return names[0] || "";
|
|
54
|
+
}
|
|
55
|
+
function respondWithFrontendFallbackMode(req, res, next, options) {
|
|
56
|
+
if (!shouldRenderDocumentFallback(req, options)) {
|
|
57
|
+
return options.respond({ mode: "json", next, req, res });
|
|
58
|
+
}
|
|
59
|
+
if (!options.applyRenderMode) {
|
|
60
|
+
return options.respond({ mode: "document", next, req, res });
|
|
61
|
+
}
|
|
62
|
+
const middleware = options.applyRenderMode(options.documentRenderMode || "error");
|
|
63
|
+
return middleware(req, res, (error) => {
|
|
64
|
+
if (error)
|
|
65
|
+
return typeof next === "function" ? next(error) : undefined;
|
|
66
|
+
return options.respond({ mode: "document", next, req, res });
|
|
67
|
+
});
|
|
68
|
+
}
|
|
69
|
+
export { acceptedMediaRanges, acceptsHtmlDocument, currentRenderModePath, DOCUMENT_FALLBACK_METHODS, HTML_DOCUMENT_MEDIA_TYPES, parseAcceptedMediaRange, RENDER_MODE_PATH_EXCLUDES, respondWithFrontendFallbackMode, shouldRenderDocumentFallback, };
|
|
70
|
+
//# sourceMappingURL=fallback.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fallback.js","sourceRoot":"","sources":["../../../src/server/fallback.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,6 +3,7 @@ export * from "../../icons/server/index.d.ts";
|
|
|
3
3
|
export * from "../../icons/server-context.d.ts";
|
|
4
4
|
export * from "../../icons/shared.d.ts";
|
|
5
5
|
export * from "./favicon.js";
|
|
6
|
+
export * from "./fallback.js";
|
|
6
7
|
export * from "./framework.js";
|
|
7
8
|
export * from "./http.js";
|
|
8
9
|
export * from "./assets.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,gBAAgB,CAAC;AAC/B,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,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,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,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,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,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|
package/dist/src/server/index.js
CHANGED
|
@@ -3,6 +3,7 @@ export * from "../../icons/server/index.js";
|
|
|
3
3
|
export * from "../../icons/server-context.js";
|
|
4
4
|
export * from "../../icons/shared.js";
|
|
5
5
|
export * from "./favicon.js";
|
|
6
|
+
export * from "./fallback.js";
|
|
6
7
|
export * from "./framework.js";
|
|
7
8
|
export * from "./http.js";
|
|
8
9
|
export * from "./assets.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,gBAAgB,CAAC;AAC/B,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,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,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,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,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,0BAA0B,CAAC;AACzC,cAAc,eAAe,CAAC;AAC9B,cAAc,UAAU,CAAC;AACzB,cAAc,iBAAiB,CAAC;AAChC,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC;AAC9B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
|