@braidlabs/gateway 0.1.1 → 0.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/README.md +112 -17
- package/package.json +2 -2
- package/src/gateway.d.ts +46 -15
- package/src/gateway.js +260 -44
- package/src/gateway.js.map +1 -1
- package/src/protocol.d.ts +18 -2
- package/src/protocol.js +19 -3
- package/src/protocol.js.map +1 -1
- package/src/redirect.d.ts +70 -0
- package/src/redirect.js +172 -0
- package/src/redirect.js.map +1 -0
- package/src/registry.d.ts +73 -0
- package/src/registry.js +16 -0
- package/src/registry.js.map +1 -1
- package/src/rewriter/html-rewrite-stream.d.ts +8 -3
- package/src/rewriter/html-rewrite-stream.js +25 -7
- package/src/rewriter/html-rewrite-stream.js.map +1 -1
- package/src/rewriter/transforms.d.ts +60 -10
- package/src/rewriter/transforms.js +192 -49
- package/src/rewriter/transforms.js.map +1 -1
- package/src/single-flight.d.ts +7 -1
- package/src/single-flight.js +26 -6
- package/src/single-flight.js.map +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"html-rewrite-stream.js","sourceRoot":"","sources":["../../../../../libs/braid-gateway/src/rewriter/html-rewrite-stream.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"html-rewrite-stream.js","sourceRoot":"","sources":["../../../../../libs/braid-gateway/src/rewriter/html-rewrite-stream.ts"],"names":[],"mappings":"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"}
|
|
@@ -37,21 +37,57 @@ export declare const BRAID_FRAGMENT_STYLES = "<style>:host, braid-document, brai
|
|
|
37
37
|
* it cannot execute in the host's JS context — the client activates it in the fragment's realm;
|
|
38
38
|
* - script preload/prefetch/modulepreload links become `rel="inert-*"` so they don't trigger a
|
|
39
39
|
* duplicate load in the host context;
|
|
40
|
-
* - inline event handler attributes are removed, and `<meta http-equiv="refresh">` is defanged
|
|
40
|
+
* - inline event handler attributes are removed, and `<meta http-equiv="refresh">` is defanged;
|
|
41
|
+
* - frames whose document the markup supplies inline — `iframe[srcdoc]`, or a `javascript:`,
|
|
42
|
+
* `data:` or `blob:` URL on `iframe`/`embed`/`object` — lose that attribute.
|
|
41
43
|
*
|
|
42
|
-
* This is the server half of the born-inert invariant, and the
|
|
43
|
-
* invariant true rather than merely true-of-`<script>`: **no
|
|
44
|
-
*
|
|
45
|
-
*
|
|
44
|
+
* This is the server half of the born-inert invariant, and the handler, meta-refresh and frame
|
|
45
|
+
* rules are what make the invariant true rather than merely true-of-`<script>`: **no code a
|
|
46
|
+
* fragment's markup carries inline can execute outside the fragment's realm or navigate the host
|
|
47
|
+
* page.** Handlers, meta refresh, `srcdoc` and `javascript:` frames were each verified taking
|
|
48
|
+
* effect in the host page before this transform handled them; `data:` and `blob:` frames are
|
|
49
|
+
* refused alongside them (see {@link FRAME_SOURCE_ATTRIBUTES}). Whatever is removed is named in a
|
|
50
|
+
* `data-braid-blocked` attribute on the tag, so a fragment that loses something can see why.
|
|
46
51
|
*
|
|
47
|
-
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
52
|
+
* A frame that *loads* a document from the fragment's namespace is not inline code and is left
|
|
53
|
+
* alone: it runs the fragment's own code with the host's origin, as its realm already does. That
|
|
54
|
+
* is the trusted tier's model, not a gap in this transform — see docs/braid-fragment-markup.md.
|
|
55
|
+
*
|
|
56
|
+
* Still not neutralized, because they require a user to click rather than executing on parse:
|
|
57
|
+
* `javascript:` URLs on links (`a[href]`, `area[href]`) and form `action`s. Those remain within the
|
|
58
|
+
* trusted tier's stated model — a trusted fragment can navigate the page a user clicks through —
|
|
59
|
+
* and are called out in the security section of the README.
|
|
51
60
|
*/
|
|
52
61
|
export declare function prepareFragmentHtml(body: ReadableStream<Uint8Array>, options: {
|
|
53
62
|
fragmentId: string;
|
|
63
|
+
basePath?: string;
|
|
64
|
+
/** Called with each script the fragment will load from its own namespace, for prefetch hints. */
|
|
65
|
+
onScript?: (script: ScriptHint) => void;
|
|
54
66
|
}): ReadableStream<Uint8Array>;
|
|
67
|
+
/** A script a fragment will load, for a preload hint in the host document. */
|
|
68
|
+
export interface ScriptHint {
|
|
69
|
+
href: string;
|
|
70
|
+
/**
|
|
71
|
+
* The CORS mode the realm will fetch it in: null for none, `''` for anonymous, or the explicit
|
|
72
|
+
* value. The hint has to match or the HTTP cache will not answer the realm's request with it.
|
|
73
|
+
*/
|
|
74
|
+
crossorigin: string | null;
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Prefetch hints for a pierced fragment's scripts, emitted in its shadow root after its content —
|
|
78
|
+
* where the list is complete, and outside the `<braid-document>` the fragment sees as its own.
|
|
79
|
+
*
|
|
80
|
+
* A pierced fragment's scripts are inert until the client boots it, which means after the host's
|
|
81
|
+
* own JavaScript has loaded, the realm has booted, and the handshake has run. These start the
|
|
82
|
+
* downloads while the rest of the page is still parsing. The realm is a separate document, so it
|
|
83
|
+
* benefits through the HTTP cache: cacheable assets (content-hashed bundles, normally) gain a round
|
|
84
|
+
* trip or more.
|
|
85
|
+
*
|
|
86
|
+
* `prefetch`, not `preload`: the host document never uses these itself, so a preload is reported
|
|
87
|
+
* as unused on every page, and it is fetched at high priority mid-body, ahead of the shell's own
|
|
88
|
+
* images. A prefetch is idle-priority and silent, and measured the same gain.
|
|
89
|
+
*/
|
|
90
|
+
export declare function scriptPrefetchHints(scripts: readonly ScriptHint[]): string;
|
|
55
91
|
export interface PierceTarget {
|
|
56
92
|
fragmentId: string;
|
|
57
93
|
/**
|
|
@@ -62,6 +98,11 @@ export interface PierceTarget {
|
|
|
62
98
|
content: ReadableStream<Uint8Array> | null;
|
|
63
99
|
/** Set as `data-braid-fallback` on the slot when content is omitted, for skeleton styling. */
|
|
64
100
|
fallbackReason?: string;
|
|
101
|
+
/**
|
|
102
|
+
* Markup emitted in the shadow root after `<braid-document>`, once `content` has been fully streamed (and so after
|
|
103
|
+
* anything collected while streaming it is known). Used for {@link scriptPrefetchHints}.
|
|
104
|
+
*/
|
|
105
|
+
after?: () => string;
|
|
65
106
|
/**
|
|
66
107
|
* The path the manifest says this fragment's content lives at, for unbound fragments.
|
|
67
108
|
*
|
|
@@ -72,11 +113,20 @@ export interface PierceTarget {
|
|
|
72
113
|
*/
|
|
73
114
|
src?: string;
|
|
74
115
|
}
|
|
116
|
+
/**
|
|
117
|
+
* A fragment whose response has not arrived yet.
|
|
118
|
+
*
|
|
119
|
+
* The shell streams on without it; the stream waits for `settled` only when it reaches this
|
|
120
|
+
* fragment's slot (or, for a shell with no slot, the end of `<body>`).
|
|
121
|
+
*/
|
|
122
|
+
export interface PendingPierceTarget extends Pick<PierceTarget, 'fragmentId' | 'src'> {
|
|
123
|
+
settled: Promise<Pick<PierceTarget, 'content' | 'fallbackReason' | 'after'>>;
|
|
124
|
+
}
|
|
75
125
|
export interface PierceOptions {
|
|
76
126
|
/** The shell application's HTML. */
|
|
77
127
|
shell: ReadableStream<Uint8Array>;
|
|
78
128
|
/** The fragments to pierce into this document, in registration order. */
|
|
79
|
-
fragments: PierceTarget[];
|
|
129
|
+
fragments: (PierceTarget | PendingPierceTarget)[];
|
|
80
130
|
/**
|
|
81
131
|
* Markup appended inside `<head>`, after the shell styles. Used for the optional web-vitals
|
|
82
132
|
* collector; empty for every other deployment, which is why it is a string the caller composes
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { braidFragmentUrl } from '../protocol.js';
|
|
2
2
|
import { concatStreams, rewriteHtmlStream } from './html-rewrite-stream.js';
|
|
3
3
|
/**
|
|
4
4
|
* The composition protocol's HTML transforms, expressed against the owned rewriter.
|
|
@@ -80,6 +80,22 @@ const SUBRESOURCE_ATTRIBUTES = {
|
|
|
80
80
|
video: ['src', 'poster'],
|
|
81
81
|
};
|
|
82
82
|
const SRCSET_ATTRIBUTES = new Set(['srcset']);
|
|
83
|
+
/**
|
|
84
|
+
* The attribute each frame-like element loads a document from.
|
|
85
|
+
*
|
|
86
|
+
* A frame's document is a realm of its own, but a `javascript:` URL — or an `iframe[srcdoc]` —
|
|
87
|
+
* gives it the *host's* origin, with markup the fragment wrote: it runs on parse, before any
|
|
88
|
+
* client code, and `parent` is the host page. Verified executing for `iframe` on both the pierced
|
|
89
|
+
* and the client-boot paths; Chromium does not run `javascript:` in `embed`/`object`, which are
|
|
90
|
+
* covered anyway rather than trusting that to hold in every engine. `data:` and `blob:` are refused
|
|
91
|
+
* alongside it: no served markup has a use for a `blob:` URL, and a document inlined in a `data:`
|
|
92
|
+
* URL is the same markup-as-code shape.
|
|
93
|
+
*/
|
|
94
|
+
const FRAME_SOURCE_ATTRIBUTES = {
|
|
95
|
+
embed: 'src',
|
|
96
|
+
iframe: 'src',
|
|
97
|
+
object: 'data',
|
|
98
|
+
};
|
|
83
99
|
/**
|
|
84
100
|
* Prepares a fragment's HTML for life inside the host page:
|
|
85
101
|
*
|
|
@@ -91,20 +107,36 @@ const SRCSET_ATTRIBUTES = new Set(['srcset']);
|
|
|
91
107
|
* it cannot execute in the host's JS context — the client activates it in the fragment's realm;
|
|
92
108
|
* - script preload/prefetch/modulepreload links become `rel="inert-*"` so they don't trigger a
|
|
93
109
|
* duplicate load in the host context;
|
|
94
|
-
* - inline event handler attributes are removed, and `<meta http-equiv="refresh">` is defanged
|
|
110
|
+
* - inline event handler attributes are removed, and `<meta http-equiv="refresh">` is defanged;
|
|
111
|
+
* - frames whose document the markup supplies inline — `iframe[srcdoc]`, or a `javascript:`,
|
|
112
|
+
* `data:` or `blob:` URL on `iframe`/`embed`/`object` — lose that attribute.
|
|
113
|
+
*
|
|
114
|
+
* This is the server half of the born-inert invariant, and the handler, meta-refresh and frame
|
|
115
|
+
* rules are what make the invariant true rather than merely true-of-`<script>`: **no code a
|
|
116
|
+
* fragment's markup carries inline can execute outside the fragment's realm or navigate the host
|
|
117
|
+
* page.** Handlers, meta refresh, `srcdoc` and `javascript:` frames were each verified taking
|
|
118
|
+
* effect in the host page before this transform handled them; `data:` and `blob:` frames are
|
|
119
|
+
* refused alongside them (see {@link FRAME_SOURCE_ATTRIBUTES}). Whatever is removed is named in a
|
|
120
|
+
* `data-braid-blocked` attribute on the tag, so a fragment that loses something can see why.
|
|
95
121
|
*
|
|
96
|
-
*
|
|
97
|
-
*
|
|
98
|
-
*
|
|
99
|
-
* host realm before this transform existed.
|
|
122
|
+
* A frame that *loads* a document from the fragment's namespace is not inline code and is left
|
|
123
|
+
* alone: it runs the fragment's own code with the host's origin, as its realm already does. That
|
|
124
|
+
* is the trusted tier's model, not a gap in this transform — see docs/braid-fragment-markup.md.
|
|
100
125
|
*
|
|
101
|
-
* Still not neutralized, because they require user
|
|
102
|
-
* `javascript:` URLs and form `action`s. Those remain within the
|
|
103
|
-
* a trusted fragment can navigate the page a user clicks through —
|
|
104
|
-
* security section of the README.
|
|
126
|
+
* Still not neutralized, because they require a user to click rather than executing on parse:
|
|
127
|
+
* `javascript:` URLs on links (`a[href]`, `area[href]`) and form `action`s. Those remain within the
|
|
128
|
+
* trusted tier's stated model — a trusted fragment can navigate the page a user clicks through —
|
|
129
|
+
* and are called out in the security section of the README.
|
|
105
130
|
*/
|
|
106
131
|
export function prepareFragmentHtml(body, options) {
|
|
107
|
-
|
|
132
|
+
// every subresource is re-rooted under this: the fragment's namespace, at the gateway's mount
|
|
133
|
+
const fragmentRoot = braidFragmentUrl(options.fragmentId, '', '', options.basePath);
|
|
134
|
+
// Only the fragment's own scripts: a hint for any other url would have the host page fetch
|
|
135
|
+
// whatever a fragment names, and it would warm nothing the realm is going to ask for.
|
|
136
|
+
const hint = (href, crossorigin) => {
|
|
137
|
+
if (href?.startsWith(`${fragmentRoot}/`))
|
|
138
|
+
options.onScript?.({ href, crossorigin });
|
|
139
|
+
};
|
|
108
140
|
// The fragment's own <base href>, which its subresource URLs resolve against. It appears in
|
|
109
141
|
// <head> before anything that references it, so tracking it as the stream passes is enough.
|
|
110
142
|
let fragmentBaseHref = '/';
|
|
@@ -118,7 +150,8 @@ export function prepareFragmentHtml(body, options) {
|
|
|
118
150
|
tag.removeAttribute(attributeName);
|
|
119
151
|
}
|
|
120
152
|
}
|
|
121
|
-
|
|
153
|
+
blockInlineFrameDocuments(tag);
|
|
154
|
+
rewriteSubresourceUrls(tag, fragmentRoot, fragmentBaseHref);
|
|
122
155
|
},
|
|
123
156
|
},
|
|
124
157
|
base: {
|
|
@@ -135,6 +168,13 @@ export function prepareFragmentHtml(body, options) {
|
|
|
135
168
|
script: {
|
|
136
169
|
element(tag) {
|
|
137
170
|
const type = tag.getAttribute('type');
|
|
171
|
+
// after the wildcard handler, so this is the namespaced url the realm will request
|
|
172
|
+
// module scripts are fetched in CORS mode whether or not they say so; `nomodule` ones never
|
|
173
|
+
// are, by any browser that runs modules
|
|
174
|
+
const crossorigin = tag.getAttribute('crossorigin');
|
|
175
|
+
if (!tag.attributeNames.includes('nomodule')) {
|
|
176
|
+
hint(tag.getAttribute('src'), type === 'module' ? (crossorigin ?? '') : crossorigin);
|
|
177
|
+
}
|
|
138
178
|
if (type)
|
|
139
179
|
tag.setAttribute('data-script-type', type);
|
|
140
180
|
tag.setAttribute('type', 'inert');
|
|
@@ -143,6 +183,12 @@ export function prepareFragmentHtml(body, options) {
|
|
|
143
183
|
link: {
|
|
144
184
|
element(tag) {
|
|
145
185
|
const rel = tag.getAttribute('rel');
|
|
186
|
+
const href = tag.getAttribute('href');
|
|
187
|
+
const crossorigin = tag.getAttribute('crossorigin');
|
|
188
|
+
if (rel === 'modulepreload')
|
|
189
|
+
hint(href, crossorigin ?? '');
|
|
190
|
+
if (rel === 'preload' && tag.getAttribute('as') === 'script')
|
|
191
|
+
hint(href, crossorigin);
|
|
146
192
|
if (rel === 'preload' || rel === 'prefetch' || rel === 'modulepreload') {
|
|
147
193
|
tag.setAttribute('rel', `inert-${rel}`);
|
|
148
194
|
}
|
|
@@ -161,8 +207,55 @@ export function prepareFragmentHtml(body, options) {
|
|
|
161
207
|
},
|
|
162
208
|
});
|
|
163
209
|
}
|
|
210
|
+
/**
|
|
211
|
+
* Removes a frame's document when the markup supplies it inline instead of naming one to load,
|
|
212
|
+
* marking the tag with what was removed.
|
|
213
|
+
*
|
|
214
|
+
* An allowlist, not a `javascript:` check: the rewriter decodes only a handful of entities, and
|
|
215
|
+
* a tag nothing rewrites passes through byte for byte for the browser to decode in full. A value
|
|
216
|
+
* with no scheme is left to {@link namespaceUrl}, which re-roots it as a path — and re-escapes
|
|
217
|
+
* it, so an entity-spelled scheme (`javascript:`) comes out as a harmless same-origin path.
|
|
218
|
+
*/
|
|
219
|
+
function blockInlineFrameDocuments(tag) {
|
|
220
|
+
const sourceAttribute = FRAME_SOURCE_ATTRIBUTES[tag.tagName];
|
|
221
|
+
if (!sourceAttribute)
|
|
222
|
+
return;
|
|
223
|
+
const blocked = [];
|
|
224
|
+
const source = tag.getAttribute(sourceAttribute);
|
|
225
|
+
if (source !== null && !loadsDocumentByUrl(source)) {
|
|
226
|
+
tag.removeAttribute(sourceAttribute);
|
|
227
|
+
blocked.push(sourceAttribute);
|
|
228
|
+
}
|
|
229
|
+
// by name, not value: a valueless `srcdoc` reads as null, and still overrides `src`
|
|
230
|
+
if (tag.tagName === 'iframe' && tag.attributeNames.includes('srcdoc')) {
|
|
231
|
+
tag.removeAttribute('srcdoc');
|
|
232
|
+
blocked.push('srcdoc');
|
|
233
|
+
}
|
|
234
|
+
if (blocked.length)
|
|
235
|
+
tag.setAttribute('data-braid-blocked', blocked.join(' '));
|
|
236
|
+
}
|
|
237
|
+
/** Whether a frame URL names a document to fetch (or none), rather than carrying one inline. */
|
|
238
|
+
function loadsDocumentByUrl(rawUrl) {
|
|
239
|
+
const url = asUrlParserReadsIt(rawUrl).toLowerCase();
|
|
240
|
+
const scheme = /^([a-z][a-z0-9+.-]*):/.exec(url)?.[1];
|
|
241
|
+
return scheme === undefined || scheme === 'http' || scheme === 'https' || url === 'about:blank';
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* A URL as the WHATWG URL parser sees it before reading a scheme: tabs and newlines removed
|
|
245
|
+
* anywhere, C0 controls and spaces trimmed from both ends. `String#trim` models neither.
|
|
246
|
+
*/
|
|
247
|
+
function asUrlParserReadsIt(rawUrl) {
|
|
248
|
+
const url = rawUrl.replace(/[\t\n\r]/g, '');
|
|
249
|
+
let start = 0;
|
|
250
|
+
let end = url.length;
|
|
251
|
+
while (start < end && url.charCodeAt(start) <= 0x20)
|
|
252
|
+
start++;
|
|
253
|
+
while (end > start && url.charCodeAt(end - 1) <= 0x20)
|
|
254
|
+
end--;
|
|
255
|
+
return url.slice(start, end);
|
|
256
|
+
}
|
|
164
257
|
/** Rewrites a tag's subresource URLs into the fragment's namespace. */
|
|
165
|
-
function rewriteSubresourceUrls(tag,
|
|
258
|
+
function rewriteSubresourceUrls(tag, fragmentRoot, baseHref) {
|
|
166
259
|
const attributes = SUBRESOURCE_ATTRIBUTES[tag.tagName];
|
|
167
260
|
if (!attributes)
|
|
168
261
|
return;
|
|
@@ -171,8 +264,8 @@ function rewriteSubresourceUrls(tag, fragmentId, baseHref) {
|
|
|
171
264
|
if (!value)
|
|
172
265
|
continue;
|
|
173
266
|
const rewritten = SRCSET_ATTRIBUTES.has(attributeName)
|
|
174
|
-
? rewriteSrcset(value,
|
|
175
|
-
: namespaceUrl(value,
|
|
267
|
+
? rewriteSrcset(value, fragmentRoot, baseHref)
|
|
268
|
+
: namespaceUrl(value, fragmentRoot, baseHref);
|
|
176
269
|
if (rewritten !== null) {
|
|
177
270
|
tag.setAttribute(attributeName, rewritten);
|
|
178
271
|
}
|
|
@@ -184,17 +277,17 @@ function rewriteSubresourceUrls(tag, fragmentId, baseHref) {
|
|
|
184
277
|
* Left alone: anything with a scheme (`https:`, `data:`, `blob:`), protocol-relative URLs, and
|
|
185
278
|
* pure fragment identifiers — none of those are the fragment's own subresources.
|
|
186
279
|
*/
|
|
187
|
-
function namespaceUrl(rawUrl,
|
|
280
|
+
function namespaceUrl(rawUrl, fragmentRoot, baseHref) {
|
|
188
281
|
const url = rawUrl.trim();
|
|
189
282
|
if (!url || url.startsWith('#') || url.startsWith('//') || /^[a-z][a-z0-9+.-]*:/i.test(url)) {
|
|
190
283
|
return null;
|
|
191
284
|
}
|
|
192
285
|
// resolve exactly as the browser would have in the fragment's own document, then re-root it
|
|
193
286
|
const resolved = new URL(url, `http://braid.invalid${baseHref.startsWith('/') ? baseHref : `/${baseHref}`}`);
|
|
194
|
-
return `${
|
|
287
|
+
return `${fragmentRoot}${resolved.pathname}${resolved.search}${resolved.hash}`;
|
|
195
288
|
}
|
|
196
289
|
/** Rewrites each candidate in a `srcset`, preserving its density/width descriptors. */
|
|
197
|
-
function rewriteSrcset(value,
|
|
290
|
+
function rewriteSrcset(value, fragmentRoot, baseHref) {
|
|
198
291
|
const candidates = value.split(',');
|
|
199
292
|
let changed = false;
|
|
200
293
|
const rewritten = candidates.map((candidate) => {
|
|
@@ -202,7 +295,7 @@ function rewriteSrcset(value, fragmentId, baseHref) {
|
|
|
202
295
|
if (!match)
|
|
203
296
|
return candidate;
|
|
204
297
|
const [, leading, url, descriptor] = match;
|
|
205
|
-
const namespaced = namespaceUrl(url,
|
|
298
|
+
const namespaced = namespaceUrl(url, fragmentRoot, baseHref);
|
|
206
299
|
if (namespaced === null)
|
|
207
300
|
return candidate;
|
|
208
301
|
changed = true;
|
|
@@ -210,6 +303,28 @@ function rewriteSrcset(value, fragmentId, baseHref) {
|
|
|
210
303
|
});
|
|
211
304
|
return changed ? rewritten.join(',') : null;
|
|
212
305
|
}
|
|
306
|
+
/**
|
|
307
|
+
* Prefetch hints for a pierced fragment's scripts, emitted in its shadow root after its content —
|
|
308
|
+
* where the list is complete, and outside the `<braid-document>` the fragment sees as its own.
|
|
309
|
+
*
|
|
310
|
+
* A pierced fragment's scripts are inert until the client boots it, which means after the host's
|
|
311
|
+
* own JavaScript has loaded, the realm has booted, and the handshake has run. These start the
|
|
312
|
+
* downloads while the rest of the page is still parsing. The realm is a separate document, so it
|
|
313
|
+
* benefits through the HTTP cache: cacheable assets (content-hashed bundles, normally) gain a round
|
|
314
|
+
* trip or more.
|
|
315
|
+
*
|
|
316
|
+
* `prefetch`, not `preload`: the host document never uses these itself, so a preload is reported
|
|
317
|
+
* as unused on every page, and it is fetched at high priority mid-body, ahead of the shell's own
|
|
318
|
+
* images. A prefetch is idle-priority and silent, and measured the same gain.
|
|
319
|
+
*/
|
|
320
|
+
export function scriptPrefetchHints(scripts) {
|
|
321
|
+
return [...new Map(scripts.map((script) => [script.href, script])).values()]
|
|
322
|
+
.map(({ href, crossorigin }) => {
|
|
323
|
+
const cors = crossorigin === null ? '' : crossorigin ? ` crossorigin="${escapeAttribute(crossorigin)}"` : ' crossorigin';
|
|
324
|
+
return `<link rel="prefetch" href="${escapeAttribute(href)}"${cors}>`;
|
|
325
|
+
})
|
|
326
|
+
.join('');
|
|
327
|
+
}
|
|
213
328
|
/**
|
|
214
329
|
* Pierces a fragment into the shell's HTML stream.
|
|
215
330
|
*
|
|
@@ -229,12 +344,17 @@ export function pierceShellHtml(options) {
|
|
|
229
344
|
const { shell, headScript, nonce } = options;
|
|
230
345
|
const pending = new Map(options.fragments.map((fragment) => [fragment.fragmentId, fragment]));
|
|
231
346
|
let stylesInjected = false;
|
|
347
|
+
const settle = async (target) => 'settled' in target
|
|
348
|
+
? { fragmentId: target.fragmentId, ...(target.src === undefined ? {} : { src: target.src }), ...(await target.settled) }
|
|
349
|
+
: target;
|
|
232
350
|
const shadowRoot = (target) => [
|
|
233
351
|
'<template shadowrootmode="open">',
|
|
234
352
|
BRAID_FRAGMENT_STYLES,
|
|
235
353
|
'<braid-document>',
|
|
236
354
|
target.content ?? '',
|
|
237
|
-
'</braid-document
|
|
355
|
+
'</braid-document>',
|
|
356
|
+
...(target.after ? [lazyText(target.after)] : []),
|
|
357
|
+
'</template>',
|
|
238
358
|
];
|
|
239
359
|
/** A slot element the gateway creates because the shell didn't mark one up. */
|
|
240
360
|
const orphanSlot = (target) => concatStreams([
|
|
@@ -246,9 +366,10 @@ export function pierceShellHtml(options) {
|
|
|
246
366
|
'</fragment-slot>',
|
|
247
367
|
]);
|
|
248
368
|
/** Every fragment that never found a slot, appended in registration order. */
|
|
249
|
-
const remainingOrphans = () => {
|
|
250
|
-
const
|
|
369
|
+
const remainingOrphans = async () => {
|
|
370
|
+
const remaining = [...pending.values()];
|
|
251
371
|
pending.clear();
|
|
372
|
+
const orphans = (await Promise.all(remaining.map(settle))).filter((target) => target.content);
|
|
252
373
|
return orphans.length ? concatStreams(orphans.map(orphanSlot)) : undefined;
|
|
253
374
|
};
|
|
254
375
|
return rewriteHtmlStream(shell, {
|
|
@@ -266,37 +387,17 @@ export function pierceShellHtml(options) {
|
|
|
266
387
|
'fragment-slot': {
|
|
267
388
|
element(tag) {
|
|
268
389
|
const name = tag.getAttribute('name');
|
|
269
|
-
const
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
pending.delete(target.fragmentId);
|
|
273
|
-
const declared = tag.getAttribute('src');
|
|
274
|
-
if (target.src && declared && declared !== target.src) {
|
|
275
|
-
// Two sources of truth that disagree: the gateway pierced content from one path while
|
|
276
|
-
// the client will boot the fragment at another, so the widget changes under the user
|
|
277
|
-
// the moment it hydrates. Cheap to say, and invisible otherwise.
|
|
278
|
-
console.warn(`braid-gateway: slot for fragment "${target.fragmentId}" declares src="${declared}" ` +
|
|
279
|
-
`but its manifest declares src="${target.src}" — the pierced content and the client ` +
|
|
280
|
-
`boot would come from different paths`);
|
|
281
|
-
}
|
|
282
|
-
if (target.src && !declared)
|
|
283
|
-
tag.setAttribute('src', target.src);
|
|
284
|
-
if (!target.content) {
|
|
285
|
-
// nothing to pierce: mark the slot so the page can style a skeleton, and let the
|
|
286
|
-
// client runtime fetch the fragment itself
|
|
287
|
-
if (target.fallbackReason)
|
|
288
|
-
tag.setAttribute('data-braid-fallback', target.fallbackReason);
|
|
390
|
+
const unsettled = name ? pending.get(name) : undefined;
|
|
391
|
+
// synchronous unless this slot is one being pierced: only those wait
|
|
392
|
+
if (!unsettled)
|
|
289
393
|
return;
|
|
290
|
-
|
|
291
|
-
tag
|
|
292
|
-
for (const part of shadowRoot(target)) {
|
|
293
|
-
tag.prepend(part);
|
|
294
|
-
}
|
|
394
|
+
pending.delete(unsettled.fragmentId);
|
|
395
|
+
return pierceSlot(tag, unsettled);
|
|
295
396
|
},
|
|
296
397
|
},
|
|
297
398
|
body: {
|
|
298
|
-
endTag(tag) {
|
|
299
|
-
const orphans = remainingOrphans();
|
|
399
|
+
async endTag(tag) {
|
|
400
|
+
const orphans = await remainingOrphans();
|
|
300
401
|
if (orphans)
|
|
301
402
|
tag.before(orphans);
|
|
302
403
|
},
|
|
@@ -305,6 +406,48 @@ export function pierceShellHtml(options) {
|
|
|
305
406
|
// `</body>` is optional in HTML and frequently omitted — this is the safety net
|
|
306
407
|
onEnd: remainingOrphans,
|
|
307
408
|
});
|
|
409
|
+
/** Fills a pierced slot once its fragment has settled. The one place the stream waits for it. */
|
|
410
|
+
async function pierceSlot(tag, unsettled) {
|
|
411
|
+
// everything before the slot is already out
|
|
412
|
+
const target = await settle(unsettled);
|
|
413
|
+
const declared = tag.getAttribute('src');
|
|
414
|
+
if (target.src && declared && declared !== target.src) {
|
|
415
|
+
// Two sources of truth that disagree: the gateway pierced content from one path while
|
|
416
|
+
// the client will boot the fragment at another, so the widget changes under the user
|
|
417
|
+
// the moment it hydrates. Cheap to say, and invisible otherwise.
|
|
418
|
+
console.warn(`braid-gateway: slot for fragment "${target.fragmentId}" declares src="${declared}" ` +
|
|
419
|
+
`but its manifest declares src="${target.src}" — the pierced content and the client ` +
|
|
420
|
+
`boot would come from different paths`);
|
|
421
|
+
}
|
|
422
|
+
if (target.src && !declared)
|
|
423
|
+
tag.setAttribute('src', target.src);
|
|
424
|
+
if (!target.content) {
|
|
425
|
+
// nothing to pierce: mark the slot so the page can style a skeleton, and let the
|
|
426
|
+
// client runtime fetch the fragment itself
|
|
427
|
+
if (target.fallbackReason)
|
|
428
|
+
tag.setAttribute('data-braid-fallback', target.fallbackReason);
|
|
429
|
+
return;
|
|
430
|
+
}
|
|
431
|
+
tag.setAttribute('data-braid-pierced', '');
|
|
432
|
+
for (const part of shadowRoot(target)) {
|
|
433
|
+
tag.prepend(part);
|
|
434
|
+
}
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
/**
|
|
438
|
+
* A stream whose text is computed when it is first read, not when it is built — so it can describe
|
|
439
|
+
* what the injections before it streamed. A zero high-water mark is what keeps `pull` from running
|
|
440
|
+
* eagerly at construction.
|
|
441
|
+
*/
|
|
442
|
+
function lazyText(text) {
|
|
443
|
+
return new ReadableStream({
|
|
444
|
+
pull(controller) {
|
|
445
|
+
const value = text();
|
|
446
|
+
if (value)
|
|
447
|
+
controller.enqueue(new TextEncoder().encode(value));
|
|
448
|
+
controller.close();
|
|
449
|
+
},
|
|
450
|
+
}, { highWaterMark: 0 });
|
|
308
451
|
}
|
|
309
452
|
function escapeAttribute(value) {
|
|
310
453
|
return value.replaceAll('&', '&').replaceAll('"', '"').replaceAll('<', '<');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../../../../libs/braid-gateway/src/rewriter/transforms.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"transforms.js","sourceRoot":"","sources":["../../../../../libs/braid-gateway/src/rewriter/transforms.ts"],"names":[],"mappings":"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"}
|
package/src/single-flight.d.ts
CHANGED
|
@@ -48,6 +48,12 @@ export declare function createSingleFlight(): SingleFlight;
|
|
|
48
48
|
* What this cannot see is an endpoint varying on something unusual: a tenant header, a
|
|
49
49
|
* feature-flag header, anything bespoke. Those set `coalesce: false` on the manifest.
|
|
50
50
|
*
|
|
51
|
+
* `extraHeaders` closes that gap for headers the *gateway itself* adds per request — an identity
|
|
52
|
+
* assertion from a function-form `additionalHeaders`, most importantly. Those vary by caller and
|
|
53
|
+
* are invisible to everything above, so leaving them out of the key would hand one caller a
|
|
54
|
+
* fragment rendered for another. Names, not values: the values are read off the request that is
|
|
55
|
+
* actually being sent.
|
|
56
|
+
*
|
|
51
57
|
* Returns null when the request must not be shared at all.
|
|
52
58
|
*/
|
|
53
|
-
export declare function singleFlightKey(request: Request, url: string): string | null;
|
|
59
|
+
export declare function singleFlightKey(request: Request, url: string, extraHeaders?: readonly string[]): string | null;
|