@nifrajs/web 5.2.0 → 5.3.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.
- package/CHANGELOG.md +72 -0
- package/dist/build.d.ts +11 -2
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +182 -11
- package/dist/build.js.map +1 -1
- package/dist/csp.d.ts +2 -0
- package/dist/csp.d.ts.map +1 -1
- package/dist/csp.js +2 -0
- package/dist/csp.js.map +1 -1
- package/dist/deferred.d.ts.map +1 -1
- package/dist/deferred.js +23 -3
- package/dist/deferred.js.map +1 -1
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/internal/deferred-free.d.ts +3 -0
- package/dist/internal/deferred-free.d.ts.map +1 -0
- package/dist/internal/deferred-free.js +15 -0
- package/dist/internal/deferred-free.js.map +1 -0
- package/dist/internal/module-preparation.d.ts +7 -0
- package/dist/internal/module-preparation.d.ts.map +1 -0
- package/dist/internal/module-preparation.js +24 -0
- package/dist/internal/module-preparation.js.map +1 -0
- package/dist/internal/output-guard.d.ts +2 -0
- package/dist/internal/output-guard.d.ts.map +1 -1
- package/dist/internal/output-guard.js +51 -9
- package/dist/internal/output-guard.js.map +1 -1
- package/dist/internal/page-execution.d.ts +1 -0
- package/dist/internal/page-execution.d.ts.map +1 -1
- package/dist/internal/page-execution.js +53 -43
- package/dist/internal/page-execution.js.map +1 -1
- package/dist/internal/parity.d.ts.map +1 -1
- package/dist/internal/parity.js +3 -1
- package/dist/internal/parity.js.map +1 -1
- package/dist/internal/prerendered-pages.d.ts +42 -0
- package/dist/internal/prerendered-pages.d.ts.map +1 -0
- package/dist/internal/prerendered-pages.js +92 -0
- package/dist/internal/prerendered-pages.js.map +1 -0
- package/dist/internal/public-url.d.ts +7 -0
- package/dist/internal/public-url.d.ts.map +1 -1
- package/dist/internal/public-url.js +13 -0
- package/dist/internal/public-url.js.map +1 -1
- package/dist/internal/render-document.d.ts.map +1 -1
- package/dist/internal/render-document.js +93 -35
- package/dist/internal/render-document.js.map +1 -1
- package/dist/internal/request-url.d.ts +4 -0
- package/dist/internal/request-url.d.ts.map +1 -1
- package/dist/internal/request-url.js +24 -0
- package/dist/internal/request-url.js.map +1 -1
- package/dist/internal/secret-scan.d.ts +4 -0
- package/dist/internal/secret-scan.d.ts.map +1 -1
- package/dist/internal/secret-scan.js +8 -1
- package/dist/internal/secret-scan.js.map +1 -1
- package/dist/internal/web-app.d.ts +11 -0
- package/dist/internal/web-app.d.ts.map +1 -1
- package/dist/internal/web-app.js +10 -1
- package/dist/internal/web-app.js.map +1 -1
- package/dist/isr.d.ts +1 -0
- package/dist/isr.d.ts.map +1 -1
- package/dist/isr.js +7 -4
- package/dist/isr.js.map +1 -1
- package/dist/prerender.d.ts +4 -0
- package/dist/prerender.d.ts.map +1 -1
- package/dist/prerender.js +9 -1
- package/dist/prerender.js.map +1 -1
- package/dist/public-dir.d.ts +15 -0
- package/dist/public-dir.d.ts.map +1 -1
- package/dist/public-dir.js +91 -12
- package/dist/public-dir.js.map +1 -1
- package/dist/render-seam.d.ts +5 -2
- package/dist/render-seam.d.ts.map +1 -1
- package/dist/render-seam.js.map +1 -1
- package/dist/search.d.ts.map +1 -1
- package/dist/search.js +2 -0
- package/dist/search.js.map +1 -1
- package/dist/vite.d.ts +6 -0
- package/dist/vite.d.ts.map +1 -1
- package/dist/vite.js +127 -54
- package/dist/vite.js.map +1 -1
- package/package.json +3 -3
- package/src/build.ts +226 -35
- package/src/csp.ts +4 -0
- package/src/deferred.ts +20 -3
- package/src/index.ts +3 -0
- package/src/internal/deferred-free.ts +15 -0
- package/src/internal/module-preparation.ts +30 -0
- package/src/internal/output-guard.ts +51 -9
- package/src/internal/page-execution.ts +55 -47
- package/src/internal/parity.ts +2 -1
- package/src/internal/prerendered-pages.ts +124 -0
- package/src/internal/public-url.ts +13 -0
- package/src/internal/render-document.ts +116 -52
- package/src/internal/request-url.ts +24 -0
- package/src/internal/secret-scan.ts +9 -1
- package/src/internal/web-app.ts +21 -1
- package/src/isr.ts +7 -4
- package/src/prerender.ts +13 -1
- package/src/public-dir.ts +107 -12
- package/src/render-seam.ts +5 -2
- package/src/search.ts +1 -0
- package/src/vite.ts +130 -54
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { pathnameOf } from "@nifrajs/core/server";
|
|
2
|
+
import { isDraftEnabled } from "../draft.js";
|
|
3
|
+
import { DATA_HEADER } from "../router.js";
|
|
4
|
+
// The document headers a render produces from the route alone, so the build-time value is the value
|
|
5
|
+
// every request would get. Loader headers are left out: a prerendered page is a static file.
|
|
6
|
+
const REPLAYED = [
|
|
7
|
+
"content-language",
|
|
8
|
+
"content-security-policy",
|
|
9
|
+
"content-security-policy-report-only",
|
|
10
|
+
];
|
|
11
|
+
// Vary values a file still answers correctly: compression is negotiated by the host, and a data request
|
|
12
|
+
// never reaches the file.
|
|
13
|
+
const STATIC_VARY = new Set(["accept-encoding", DATA_HEADER]);
|
|
14
|
+
/**
|
|
15
|
+
* The headers a self-hosted server replays with a prerendered page, or `undefined` when its build-time
|
|
16
|
+
* render was specific to that request and the page must keep rendering on demand: it set a cookie, was
|
|
17
|
+
* marked private or no-store (a nonce page always is), or varied on a request header.
|
|
18
|
+
*/
|
|
19
|
+
export function prerenderedDocumentHeaders(status, headers) {
|
|
20
|
+
if (status !== 200 || headers.has("set-cookie"))
|
|
21
|
+
return undefined;
|
|
22
|
+
const cacheControl = (headers.get("cache-control") ?? "").toLowerCase();
|
|
23
|
+
if (/\b(?:private|no-store)\b/.test(cacheControl))
|
|
24
|
+
return undefined;
|
|
25
|
+
for (const name of (headers.get("vary") ?? "").split(",")) {
|
|
26
|
+
const trimmed = name.trim().toLowerCase();
|
|
27
|
+
if (trimmed !== "" && !STATIC_VARY.has(trimmed))
|
|
28
|
+
return undefined;
|
|
29
|
+
}
|
|
30
|
+
const replayed = {};
|
|
31
|
+
for (const name of REPLAYED) {
|
|
32
|
+
const value = headers.get(name);
|
|
33
|
+
if (value !== null)
|
|
34
|
+
replayed[name] = value;
|
|
35
|
+
}
|
|
36
|
+
return replayed;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* The prerendered pages a server may answer from their file, keyed by the pathname of the request that
|
|
40
|
+
* rendered them. Left out: a render specific to its request, and two paths written to one file (`/x`
|
|
41
|
+
* and `//x`, or `/A` and `/a` on a case-insensitive disk), where only the last render is on disk.
|
|
42
|
+
*/
|
|
43
|
+
export function servablePrerenderedPages(entries) {
|
|
44
|
+
const writes = new Map();
|
|
45
|
+
for (const { file } of entries) {
|
|
46
|
+
writes.set(file.toLowerCase(), (writes.get(file.toLowerCase()) ?? 0) + 1);
|
|
47
|
+
}
|
|
48
|
+
const pages = {};
|
|
49
|
+
for (const { path, file, serveHeaders } of entries) {
|
|
50
|
+
if (serveHeaders === undefined || writes.get(file.toLowerCase()) !== 1)
|
|
51
|
+
continue;
|
|
52
|
+
// Concatenated as prerenderRoutes requested it: `new URL("//x", base)` would read a host.
|
|
53
|
+
pages[new URL(`http://localhost${path}`).pathname] = { file, headers: serveHeaders };
|
|
54
|
+
}
|
|
55
|
+
return pages;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Wrap a page route's GET handler so a plain document request for a prerendered path is answered from
|
|
59
|
+
* its file. Anything a file cannot answer the way a render would renders on demand: a query string, a
|
|
60
|
+
* navigation data or component request, a draft-mode visitor, or a file the reader cannot return.
|
|
61
|
+
*/
|
|
62
|
+
export function servePrerenderedPages(prerendered, draftSecret) {
|
|
63
|
+
const pages = new Map(Object.entries(prerendered.pages));
|
|
64
|
+
return (render) => async (c) => {
|
|
65
|
+
const req = c.req;
|
|
66
|
+
const pathname = pathnameOf(req.url);
|
|
67
|
+
const headers = pages.get(pathname);
|
|
68
|
+
if (headers === undefined ||
|
|
69
|
+
req.url.includes("?") ||
|
|
70
|
+
req.headers.has(DATA_HEADER) ||
|
|
71
|
+
req.headers.has("x-nifra-component") ||
|
|
72
|
+
(draftSecret !== undefined && (await isDraftEnabled(req, draftSecret)))) {
|
|
73
|
+
return render(c);
|
|
74
|
+
}
|
|
75
|
+
const html = await prerendered.read(pathname);
|
|
76
|
+
if (html === undefined)
|
|
77
|
+
return render(c);
|
|
78
|
+
if (req.method !== "HEAD") {
|
|
79
|
+
return new Response(html, {
|
|
80
|
+
headers: { ...headers, "content-type": "text/html; charset=utf-8" },
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
return new Response(null, {
|
|
84
|
+
headers: {
|
|
85
|
+
...headers,
|
|
86
|
+
"content-type": "text/html; charset=utf-8",
|
|
87
|
+
"content-length": String(new TextEncoder().encode(html).byteLength),
|
|
88
|
+
},
|
|
89
|
+
});
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=prerendered-pages.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prerendered-pages.js","sourceRoot":"","sources":["../../src/internal/prerendered-pages.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,10 @@
|
|
|
1
1
|
/** The URL path a browser requests for a file at `rel` (OS separators) under the public directory. */
|
|
2
2
|
export declare function publicUrlPath(rel: string): string;
|
|
3
|
+
/**
|
|
4
|
+
* Whether a path under the public directory crosses a dot-segment other than `.well-known`. Serving,
|
|
5
|
+
* the build copy and the parity listing all apply it, so an editor or VCS artifact left in `public/`
|
|
6
|
+
* (`.env`, `.git/`, `.DS_Store`) is neither served in development nor shipped by a build. Both
|
|
7
|
+
* separators split: a request path uses `/`, a relative file path the OS separator.
|
|
8
|
+
*/
|
|
9
|
+
export declare function isHiddenPublicPath(rel: string): boolean;
|
|
3
10
|
//# sourceMappingURL=public-url.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-url.d.ts","sourceRoot":"","sources":["../../src/internal/public-url.ts"],"names":[],"mappings":"AAkBA,sGAAsG;AACtG,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjD"}
|
|
1
|
+
{"version":3,"file":"public-url.d.ts","sourceRoot":"","sources":["../../src/internal/public-url.ts"],"names":[],"mappings":"AAkBA,sGAAsG;AACtG,wBAAgB,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAEjD;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAKvD"}
|
|
@@ -15,4 +15,17 @@ function encodePathSegment(segment) {
|
|
|
15
15
|
export function publicUrlPath(rel) {
|
|
16
16
|
return `/${rel.split(sep).map(encodePathSegment).join("/")}`;
|
|
17
17
|
}
|
|
18
|
+
/**
|
|
19
|
+
* Whether a path under the public directory crosses a dot-segment other than `.well-known`. Serving,
|
|
20
|
+
* the build copy and the parity listing all apply it, so an editor or VCS artifact left in `public/`
|
|
21
|
+
* (`.env`, `.git/`, `.DS_Store`) is neither served in development nor shipped by a build. Both
|
|
22
|
+
* separators split: a request path uses `/`, a relative file path the OS separator.
|
|
23
|
+
*/
|
|
24
|
+
export function isHiddenPublicPath(rel) {
|
|
25
|
+
for (const segment of rel.split(/[\\/]/)) {
|
|
26
|
+
if (segment.startsWith(".") && segment !== ".well-known")
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
29
|
+
return false;
|
|
30
|
+
}
|
|
18
31
|
//# sourceMappingURL=public-url.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"public-url.js","sourceRoot":"","sources":["../../src/internal/public-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAE/B;;;;;;;;GAQG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAC/B,OAAO,EACP,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAC9D,CAAA;AACH,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;AAC9D,CAAC"}
|
|
1
|
+
{"version":3,"file":"public-url.js","sourceRoot":"","sources":["../../src/internal/public-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,WAAW,CAAA;AAE/B;;;;;;;;GAQG;AACH,SAAS,iBAAiB,CAAC,OAAe;IACxC,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC,OAAO,CAC/B,OAAO,EACP,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,WAAW,EAAE,EAAE,CAC9D,CAAA;AACH,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,aAAa,CAAC,GAAW;IACvC,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAA;AAC9D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,GAAW;IAC5C,KAAK,MAAM,OAAO,IAAI,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;QACzC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,KAAK,aAAa;YAAE,OAAO,IAAI,CAAA;IACvE,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-document.d.ts","sourceRoot":"","sources":["../../src/internal/render-document.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,KAAK,cAAc,EAA0B,MAAM,sBAAsB,CAAA;AACpG,OAAO,KAAK,EAAE,oBAAoB,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAC1E,OAAO,
|
|
1
|
+
{"version":3,"file":"render-document.d.ts","sourceRoot":"","sources":["../../src/internal/render-document.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { isSameOriginPath, status as statusResult } from "@nifrajs/core/server";
|
|
2
|
-
import { cspDocumentNonce, cspHeaderValue, prepareCspPolicy } from "../csp.js";
|
|
2
|
+
import { cspCandidateNonce, cspDocumentNonce, cspHeaderValue, prepareCspPolicy, } from "../csp.js";
|
|
3
3
|
import { DEFAULT_CSS_LOADING, normalizeCssLoading } from "../css-contract.js";
|
|
4
4
|
import { DEFERRED_ERROR_CODE, DEFERRED_RUNTIME, prepareDeferred } from "../deferred.js";
|
|
5
5
|
import { ISR_REVALIDATE_HEADER, ISR_REVALIDATE_TAGS_HEADER, serializeISRTags } from "../isr.js";
|
|
@@ -23,6 +23,12 @@ const SCRIPT_ESCAPE_MAP = {
|
|
|
23
23
|
[LINE_SEP]: "\\u2028",
|
|
24
24
|
[PARA_SEP]: "\\u2029",
|
|
25
25
|
};
|
|
26
|
+
// Pages (the chain's last entry) whose string render suspended, with how many more requests go
|
|
27
|
+
// straight to the stream instead of rendering the whole tree twice. The count runs out so a page
|
|
28
|
+
// that suspended only once (a cold `lazy`) gets its buffered render back.
|
|
29
|
+
const SUSPENDING_PAGES = new WeakMap();
|
|
30
|
+
const SUSPENDED_STREAMS = 32;
|
|
31
|
+
const isWeakKey = (value) => (typeof value === "object" && value !== null) || typeof value === "function";
|
|
26
32
|
const NODE_RESPONSE_BODY = Symbol.for("nifra.response.body");
|
|
27
33
|
const RESPONSE_RESULT = Symbol.for("nifra.response.result");
|
|
28
34
|
/**
|
|
@@ -295,17 +301,58 @@ export function renderPageResult(options) {
|
|
|
295
301
|
// streaming renderer are pure overhead vs a single sync render + concat. A buffered string body also
|
|
296
302
|
// gets an automatic Content-Length. A render throw surfaces here exactly as the streaming path's
|
|
297
303
|
// shell-readiness `await` does, so the `_error` boundary still maps it to a status.
|
|
304
|
+
const streamed = (streamNonce) => renderStreamedPage(adapter, chain, renderProps, shellOf, parts, closeRootHtml, allDeferred, tailHtml, status, headers, streamNonce, streamNonce === nonce ? nonceAttr : ` nonce="${escapeAttr(streamNonce ?? "")}"`).then((response) => new ResponseRenderedPage(response));
|
|
305
|
+
const last = chain[chain.length - 1];
|
|
306
|
+
const leaf = isWeakKey(last) ? last : undefined;
|
|
298
307
|
if (allDeferred.length === 0 && adapter.renderToString !== undefined) {
|
|
308
|
+
// Under a CSP a render can still write a script for this request alone (Solid's serialized
|
|
309
|
+
// error boundary, React's streamed Suspense reveal): it is handed a nonce, which the document
|
|
310
|
+
// keeps only when the render used it, so every other document stays nonce-free and cacheable.
|
|
311
|
+
const renderNonce = nonce ?? (csp === undefined ? undefined : cspCandidateNonce(csp, requestedNonce));
|
|
312
|
+
const adoptNonce = () => {
|
|
313
|
+
if (renderNonce === nonce || csp === undefined || renderNonce === undefined)
|
|
314
|
+
return;
|
|
315
|
+
headers["cache-control"] = "private, no-store";
|
|
316
|
+
const policy = cspHeaderValue(csp, adapter, renderNonce);
|
|
317
|
+
if (policy !== undefined)
|
|
318
|
+
headers["content-security-policy"] = policy;
|
|
319
|
+
};
|
|
320
|
+
// A page whose string render suspended before goes straight to the stream: the string pass
|
|
321
|
+
// would render the whole tree only to be thrown away again.
|
|
322
|
+
const skips = leaf === undefined ? undefined : SUSPENDING_PAGES.get(leaf);
|
|
323
|
+
if (leaf !== undefined && skips !== undefined) {
|
|
324
|
+
if (skips > 1)
|
|
325
|
+
SUSPENDING_PAGES.set(leaf, skips - 1);
|
|
326
|
+
else
|
|
327
|
+
SUSPENDING_PAGES.delete(leaf);
|
|
328
|
+
adoptNonce();
|
|
329
|
+
return streamed(renderNonce);
|
|
330
|
+
}
|
|
299
331
|
const out = parts !== undefined
|
|
300
|
-
? adapter.renderToString(chain, renderProps,
|
|
301
|
-
:
|
|
332
|
+
? adapter.renderToString(chain, renderProps, renderNonce === undefined ? { parts } : { nonce: renderNonce, parts })
|
|
333
|
+
: renderNonce === undefined
|
|
302
334
|
? adapter.renderToString(chain, renderProps)
|
|
303
|
-
: adapter.renderToString(chain, renderProps, { nonce });
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
335
|
+
: adapter.renderToString(chain, renderProps, { nonce: renderNonce });
|
|
336
|
+
const page = (bodyHtml) => {
|
|
337
|
+
if (bodyHtml === undefined) {
|
|
338
|
+
// The render suspended on something only the streaming renderer waits for (React's `use`
|
|
339
|
+
// in a `<Suspense>`): stream the page, so the boundary resolves on the server.
|
|
340
|
+
if (leaf !== undefined)
|
|
341
|
+
SUSPENDING_PAGES.set(leaf, SUSPENDED_STREAMS);
|
|
342
|
+
if (parts !== undefined) {
|
|
343
|
+
parts.head = "";
|
|
344
|
+
parts.body = "";
|
|
345
|
+
}
|
|
346
|
+
adoptNonce();
|
|
347
|
+
return streamed(renderNonce);
|
|
348
|
+
}
|
|
349
|
+
if (renderNonce !== undefined && bodyHtml.includes(`nonce="${renderNonce}"`))
|
|
350
|
+
adoptNonce();
|
|
351
|
+
return new BufferedRenderedPage(shellOf() + bodyHtml + closeRootHtml + tailHtml, status, headers);
|
|
352
|
+
};
|
|
353
|
+
return out instanceof Promise ? out.then(page) : page(out);
|
|
307
354
|
}
|
|
308
|
-
return
|
|
355
|
+
return streamed(nonce);
|
|
309
356
|
}
|
|
310
357
|
async function renderStreamedPage(adapter, chain, renderProps, shellOf, parts, closeRootHtml, allDeferred, tailHtml, status, headers, nonce, nonceAttr) {
|
|
311
358
|
// Streaming path - required for `defer()` (progressive `<Await>` resolution) and used by any adapter
|
|
@@ -366,44 +413,58 @@ function htmlResponse(body, init) {
|
|
|
366
413
|
* script per deferred value (emitted once its promise settles - by now the app stream has awaited
|
|
367
414
|
* the same Suspense boundaries - and placed OUTSIDE `#root`) → `tail`. A mid-stream app error errors
|
|
368
415
|
* the result (the body breaks) rather than silently truncating a 200.
|
|
416
|
+
*
|
|
417
|
+
* The app stream is read one chunk per pull, so a client that stops reading stops the renderer
|
|
418
|
+
* too: a stalled connection holds a chunk, not the whole rendered body.
|
|
369
419
|
*/
|
|
370
420
|
function streamDocument(shell, stream, closeRoot, deferred, tail, enc, nonceAttr) {
|
|
371
421
|
const reader = stream.getReader();
|
|
372
422
|
// A client that goes away cancels the body: the renderer stops, and nothing more is written.
|
|
373
423
|
let cancelled = false;
|
|
374
424
|
let released = false;
|
|
425
|
+
const release = () => {
|
|
426
|
+
if (released)
|
|
427
|
+
return;
|
|
428
|
+
released = true;
|
|
429
|
+
reader.releaseLock();
|
|
430
|
+
};
|
|
431
|
+
// Settled into scripts now, not when the app stream ends: a rejection a stalled client never
|
|
432
|
+
// reads up to is still handled (and logged) rather than left unhandled.
|
|
433
|
+
const scripts = deferred.map((d) => d.promise
|
|
434
|
+
.then((value) =>
|
|
435
|
+
// `serializeData` JSON-serializes the value and escapes `<`, `>`, and Unicode line
|
|
436
|
+
// separators before this framework-owned script is emitted.
|
|
437
|
+
`<script${nonceAttr}>window.__nifraResolve(${d.id},${serializeData(value)})</script>`)
|
|
438
|
+
.catch((err) => {
|
|
439
|
+
// A rejected (or unserializable) deferred streams __nifraReject (the client `<Await>`
|
|
440
|
+
// surfaces it) - it must not break the whole body. Redact: stream a stable opaque code,
|
|
441
|
+
// never the raw error text; log the real reason server-side.
|
|
442
|
+
console.error("[nifra/web] deferred value rejected:", err);
|
|
443
|
+
return `<script${nonceAttr}>window.__nifraReject(${d.id},${serializeData(DEFERRED_ERROR_CODE)})</script>`;
|
|
444
|
+
}));
|
|
375
445
|
return new ReadableStream({
|
|
376
|
-
|
|
446
|
+
start(controller) {
|
|
447
|
+
controller.enqueue(shell);
|
|
448
|
+
},
|
|
449
|
+
async pull(controller) {
|
|
377
450
|
try {
|
|
378
|
-
|
|
379
|
-
for (;;) {
|
|
451
|
+
if (!released) {
|
|
380
452
|
const { done, value } = await reader.read();
|
|
381
453
|
if (cancelled)
|
|
382
454
|
return;
|
|
383
|
-
if (done)
|
|
384
|
-
|
|
385
|
-
|
|
455
|
+
if (!done) {
|
|
456
|
+
controller.enqueue(value);
|
|
457
|
+
return;
|
|
458
|
+
}
|
|
459
|
+
release();
|
|
460
|
+
controller.enqueue(closeRoot);
|
|
386
461
|
}
|
|
387
|
-
controller.enqueue(closeRoot);
|
|
388
462
|
// Stream each resolution as ITS OWN promise settles - NOT in array order. A slow
|
|
389
463
|
// defer() must not block a faster one; each script self-addresses by id, so order is irrelevant.
|
|
390
|
-
await Promise.all(
|
|
391
|
-
|
|
392
|
-
try {
|
|
393
|
-
const value = serializeData(await d.promise);
|
|
394
|
-
// `serializeData` JSON-serializes the value and escapes `<`, `>`, and Unicode line
|
|
395
|
-
// separators before this framework-owned script is emitted.
|
|
396
|
-
script = `<script${nonceAttr}>window.__nifraResolve(${d.id},${value})</script>`; // nosemgrep: javascript.lang.security.audit.unknown-value-with-script-tag.unknown-value-with-script-tag
|
|
397
|
-
}
|
|
398
|
-
catch (err) {
|
|
399
|
-
// A rejected deferred streams __nifraReject (the client `<Await>` surfaces it) - it must
|
|
400
|
-
// not break the whole body. Redact: stream a stable opaque code, never the raw error
|
|
401
|
-
// text; log the real reason server-side.
|
|
402
|
-
console.error("[nifra/web] deferred value rejected:", err);
|
|
403
|
-
script = `<script${nonceAttr}>window.__nifraReject(${d.id},${serializeData(DEFERRED_ERROR_CODE)})</script>`;
|
|
404
|
-
}
|
|
464
|
+
await Promise.all(scripts.map(async (script) => {
|
|
465
|
+
const html = await script;
|
|
405
466
|
if (!cancelled)
|
|
406
|
-
controller.enqueue(enc.encode(
|
|
467
|
+
controller.enqueue(enc.encode(html));
|
|
407
468
|
}));
|
|
408
469
|
if (cancelled)
|
|
409
470
|
return;
|
|
@@ -411,13 +472,10 @@ function streamDocument(shell, stream, closeRoot, deferred, tail, enc, nonceAttr
|
|
|
411
472
|
controller.close();
|
|
412
473
|
}
|
|
413
474
|
catch (err) {
|
|
475
|
+
release();
|
|
414
476
|
if (!cancelled)
|
|
415
477
|
controller.error(err);
|
|
416
478
|
}
|
|
417
|
-
finally {
|
|
418
|
-
released = true;
|
|
419
|
-
reader.releaseLock();
|
|
420
|
-
}
|
|
421
479
|
},
|
|
422
480
|
cancel(reason) {
|
|
423
481
|
cancelled = true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-document.js","sourceRoot":"","sources":["../../src/internal/render-document.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"render-document.js","sourceRoot":"","sources":["../../src/internal/render-document.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,7 @@
|
|
|
1
1
|
import { type UrlParts } from "@nifrajs/core/server";
|
|
2
2
|
export declare function urlPartsFor(request: Request): UrlParts;
|
|
3
|
+
/** `new URL(request.url).origin`, or `""` for a URL that does not parse. */
|
|
4
|
+
export declare function originFor(request: {
|
|
5
|
+
readonly url: string;
|
|
6
|
+
}): string;
|
|
3
7
|
//# sourceMappingURL=request-url.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-url.d.ts","sourceRoot":"","sources":["../../src/internal/request-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAc,MAAM,sBAAsB,CAAA;AAOhE,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAMtD"}
|
|
1
|
+
{"version":3,"file":"request-url.d.ts","sourceRoot":"","sources":["../../src/internal/request-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,QAAQ,EAAc,MAAM,sBAAsB,CAAA;AAOhE,wBAAgB,WAAW,CAAC,OAAO,EAAE,OAAO,GAAG,QAAQ,CAMtD;AAOD,4EAA4E;AAC5E,wBAAgB,SAAS,CAAC,OAAO,EAAE;IAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAgBnE"}
|
|
@@ -11,4 +11,28 @@ export function urlPartsFor(request) {
|
|
|
11
11
|
REQUEST_URL_PARTS.set(request, parts);
|
|
12
12
|
return parts;
|
|
13
13
|
}
|
|
14
|
+
// The origin depends only on the text before the path, which repeats across requests, so each
|
|
15
|
+
// distinct prefix is parsed once instead of every request's whole URL. Cleared when full: a client
|
|
16
|
+
// can vary the Host header without bound.
|
|
17
|
+
const ORIGINS = new Map();
|
|
18
|
+
/** `new URL(request.url).origin`, or `""` for a URL that does not parse. */
|
|
19
|
+
export function originFor(request) {
|
|
20
|
+
const url = request.url;
|
|
21
|
+
const schemeEnd = url.indexOf("://");
|
|
22
|
+
const pathStart = schemeEnd === -1 ? -1 : url.indexOf("/", schemeEnd + 3);
|
|
23
|
+
const prefix = pathStart === -1 ? url : url.slice(0, pathStart);
|
|
24
|
+
let origin = ORIGINS.get(prefix);
|
|
25
|
+
if (origin === undefined) {
|
|
26
|
+
try {
|
|
27
|
+
origin = new URL(prefix).origin;
|
|
28
|
+
}
|
|
29
|
+
catch {
|
|
30
|
+
origin = "";
|
|
31
|
+
}
|
|
32
|
+
if (ORIGINS.size >= 64)
|
|
33
|
+
ORIGINS.clear();
|
|
34
|
+
ORIGINS.set(prefix, origin);
|
|
35
|
+
}
|
|
36
|
+
return origin;
|
|
37
|
+
}
|
|
14
38
|
//# sourceMappingURL=request-url.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request-url.js","sourceRoot":"","sources":["../../src/internal/request-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEhE,kGAAkG;AAClG,qGAAqG;AACrG,gGAAgG;AAChG,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAqB,CAAA;AAE1D,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC7C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAA;IACvC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACrC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACrC,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
1
|
+
{"version":3,"file":"request-url.js","sourceRoot":"","sources":["../../src/internal/request-url.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,UAAU,EAAE,MAAM,sBAAsB,CAAA;AAEhE,kGAAkG;AAClG,qGAAqG;AACrG,gGAAgG;AAChG,MAAM,iBAAiB,GAAG,IAAI,OAAO,EAAqB,CAAA;AAE1D,MAAM,UAAU,WAAW,CAAC,OAAgB;IAC1C,MAAM,MAAM,GAAG,iBAAiB,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;IAC7C,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,MAAM,CAAA;IACvC,MAAM,KAAK,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IACrC,iBAAiB,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;IACrC,OAAO,KAAK,CAAA;AACd,CAAC;AAED,8FAA8F;AAC9F,mGAAmG;AACnG,0CAA0C;AAC1C,MAAM,OAAO,GAAG,IAAI,GAAG,EAAkB,CAAA;AAEzC,4EAA4E;AAC5E,MAAM,UAAU,SAAS,CAAC,OAAiC;IACzD,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAA;IACvB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IACpC,MAAM,SAAS,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,SAAS,GAAG,CAAC,CAAC,CAAA;IACzE,MAAM,MAAM,GAAG,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC,CAAA;IAC/D,IAAI,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAA;IAChC,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,IAAI,CAAC;YACH,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAA;QACjC,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,GAAG,EAAE,CAAA;QACb,CAAC;QACD,IAAI,OAAO,CAAC,IAAI,IAAI,EAAE;YAAE,OAAO,CAAC,KAAK,EAAE,CAAA;QACvC,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC7B,CAAC;IACD,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -81,6 +81,10 @@ export declare function scanForSecrets(input: SecretScanInput): SecretFinding[];
|
|
|
81
81
|
export declare function createRedactor(env: Readonly<Record<string, string | undefined>>, publicEnvPrefix?: string): (text: string) => string;
|
|
82
82
|
/** The build environment: Bun's, else Node's. */
|
|
83
83
|
export declare const buildEnvironment: () => Readonly<Record<string, string | undefined>>;
|
|
84
|
+
/** A build artifact holds a secret. Its own class so a step that tolerates other failures still stops. */
|
|
85
|
+
export declare class SecretScanError extends Error {
|
|
86
|
+
constructor(message: string);
|
|
87
|
+
}
|
|
84
88
|
/** Scan and throw the build-failing message on any finding. */
|
|
85
89
|
export declare function assertNoSecrets(input: SecretScanInput): void;
|
|
86
90
|
/** The build-failing message for secret findings, or `undefined` when there are none. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"secret-scan.d.ts","sourceRoot":"","sources":["../../src/internal/secret-scan.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"secret-scan.d.ts","sourceRoot":"","sources":["../../src/internal/secret-scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -565,11 +565,18 @@ export function createRedactor(env, publicEnvPrefix = "PUBLIC_") {
|
|
|
565
565
|
}
|
|
566
566
|
/** The build environment: Bun's, else Node's. */
|
|
567
567
|
export const buildEnvironment = () => (typeof Bun !== "undefined" ? Bun.env : undefined) ?? process.env;
|
|
568
|
+
/** A build artifact holds a secret. Its own class so a step that tolerates other failures still stops. */
|
|
569
|
+
export class SecretScanError extends Error {
|
|
570
|
+
constructor(message) {
|
|
571
|
+
super(message);
|
|
572
|
+
this.name = "SecretScanError";
|
|
573
|
+
}
|
|
574
|
+
}
|
|
568
575
|
/** Scan and throw the build-failing message on any finding. */
|
|
569
576
|
export function assertNoSecrets(input) {
|
|
570
577
|
const message = formatSecretFindings(scanForSecrets(input));
|
|
571
578
|
if (message !== undefined)
|
|
572
|
-
throw new
|
|
579
|
+
throw new SecretScanError(message);
|
|
573
580
|
}
|
|
574
581
|
/** The build-failing message for secret findings, or `undefined` when there are none. */
|
|
575
582
|
export function formatSecretFindings(findings) {
|