@hyperframes/core 0.7.99 → 0.7.100
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/dist/compiler/compositionAssembly.d.ts +139 -0
- package/dist/compiler/compositionAssembly.d.ts.map +1 -0
- package/dist/compiler/compositionAssembly.js +105 -0
- package/dist/compiler/compositionAssembly.js.map +1 -0
- package/dist/compiler/inlineSubCompositions.d.ts.map +1 -1
- package/dist/compiler/inlineSubCompositions.js +56 -75
- package/dist/compiler/inlineSubCompositions.js.map +1 -1
- package/dist/generated/runtime-inline.js +1 -1
- package/dist/generated/runtime-inline.js.map +1 -1
- package/dist/hyperframe.runtime.iife.js +27 -27
- package/package.json +4 -4
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composition assembly decisions — the questions both assembly paths answer.
|
|
3
|
+
*
|
|
4
|
+
* A composition is assembled twice in this repo: `compiler/inlineSubCompositions.ts`
|
|
5
|
+
* assembles it for rendering (Node, linkedom, synchronous, emits strings) and
|
|
6
|
+
* `runtime/compositionLoader.ts` assembles it for mounting (browser, fetch, live
|
|
7
|
+
* DOM, executes scripts). Their I/O is genuinely different; their *decisions* are
|
|
8
|
+
* not. This module owns the decisions:
|
|
9
|
+
*
|
|
10
|
+
* - which nodes are a composition's asset sources, and in what order
|
|
11
|
+
* - which `<head>` elements hoist into the host document
|
|
12
|
+
* - the composition's scope identity (CSS scope, script scope, authored root id)
|
|
13
|
+
* - which nodes carry the composition's declared variable defaults
|
|
14
|
+
* - how nested `data-composition-src` hosts are enumerated
|
|
15
|
+
*
|
|
16
|
+
* It is deliberately DOM-free, filesystem-free and network-free: the runtime is
|
|
17
|
+
* bundled by esbuild into the IIFE published to a CDN, so anything reachable
|
|
18
|
+
* from `runtime/entry.ts` ships to every viewer. It takes narrow structural
|
|
19
|
+
* types instead of `Document`/`Element` for the same reason `compositionScoping.ts`
|
|
20
|
+
* takes strings — so both a linkedom document and a live browser document
|
|
21
|
+
* satisfy it without an `as T` cast at either call site.
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* The compiler's nesting cap, enforced against the ancestry chain rather than a
|
|
25
|
+
* counter so a wide tree is not penalised for a deep sibling.
|
|
26
|
+
*/
|
|
27
|
+
export declare const MAX_SUB_COMPOSITION_DEPTH = 20;
|
|
28
|
+
/** An element this module only ever reads attributes from. */
|
|
29
|
+
export interface AssemblyAttributed {
|
|
30
|
+
getAttribute(name: string): string | null;
|
|
31
|
+
}
|
|
32
|
+
/** A node this module only ever searches with a CSS selector. */
|
|
33
|
+
export interface AssemblyQueryable<TElement> {
|
|
34
|
+
querySelectorAll(selectors: string): Iterable<TElement>;
|
|
35
|
+
}
|
|
36
|
+
export interface CompositionAssemblyInput<TElement extends AssemblyAttributed> {
|
|
37
|
+
/**
|
|
38
|
+
* The composition's content: a `<template>`'s content when the composition is
|
|
39
|
+
* templated, the parsed document's `<body>` otherwise.
|
|
40
|
+
*
|
|
41
|
+
* Asset sources are collected from the WHOLE content node, never from the
|
|
42
|
+
* composition root alone. The canonical authored shape puts `<style>`/`<script>`
|
|
43
|
+
* as SIBLINGS of the root inside `<template>`; scanning only the root dropped a
|
|
44
|
+
* composition's entire stylesheet on mount while its render stayed correct.
|
|
45
|
+
*/
|
|
46
|
+
contentNode: AssemblyQueryable<TElement>;
|
|
47
|
+
/**
|
|
48
|
+
* The parsed document's `<head>`, when the composition was loaded as a full
|
|
49
|
+
* HTML document. Omit it for an inline `<template>`, which has no head of its
|
|
50
|
+
* own.
|
|
51
|
+
*/
|
|
52
|
+
head?: AssemblyQueryable<TElement> | null;
|
|
53
|
+
/**
|
|
54
|
+
* The parsed document's `<html>` element, when there is one. It is the first
|
|
55
|
+
* variable-default carrier; see `variableDefaultCarriers`.
|
|
56
|
+
*/
|
|
57
|
+
documentElement?: TElement | null;
|
|
58
|
+
/**
|
|
59
|
+
* True when `contentNode` came from a `<template>`. A templated composition's
|
|
60
|
+
* `<head>` styles and scripts are not part of the composition — the template
|
|
61
|
+
* already carries everything it needs — so they are not collected.
|
|
62
|
+
*/
|
|
63
|
+
hasTemplate: boolean;
|
|
64
|
+
/**
|
|
65
|
+
* The composition id the host asks this composition to mount as, or `null` for
|
|
66
|
+
* an anonymous host.
|
|
67
|
+
*/
|
|
68
|
+
compositionId: string | null;
|
|
69
|
+
}
|
|
70
|
+
export interface CompositionAssemblyPlan<TElement extends AssemblyAttributed> {
|
|
71
|
+
/**
|
|
72
|
+
* The composition root inside `contentNode`. Matched on an EXACT id when the
|
|
73
|
+
* host names one — a template may intentionally use a different local id (a
|
|
74
|
+
* `captions-comp` host mounting a `captions` template), and flattening that
|
|
75
|
+
* fallback root changes the assembled DOM. Anonymous hosts fall back to the
|
|
76
|
+
* first root in the content.
|
|
77
|
+
*/
|
|
78
|
+
innerRoot: TElement | null;
|
|
79
|
+
/**
|
|
80
|
+
* The id CSS is scoped to: the host's id when it names one, otherwise the id
|
|
81
|
+
* declared inside the content.
|
|
82
|
+
*/
|
|
83
|
+
authoredCompositionId: string | null;
|
|
84
|
+
/**
|
|
85
|
+
* The id composition scripts are scoped to. It differs from
|
|
86
|
+
* `authoredCompositionId` only when a host names an id that no root inside the
|
|
87
|
+
* content declares: CSS stays on the host's id while scripts follow the id the
|
|
88
|
+
* content actually declares, so a script's self-referencing
|
|
89
|
+
* `querySelector('[data-composition-id="X"]')` still resolves.
|
|
90
|
+
*/
|
|
91
|
+
scriptCompositionId: string | null;
|
|
92
|
+
/** The `id` attribute authored on the composition root, if any. */
|
|
93
|
+
authoredRootId: string | null;
|
|
94
|
+
/** `<style>` sources in injection order: head-sourced first, then content. */
|
|
95
|
+
styleSources: TElement[];
|
|
96
|
+
/**
|
|
97
|
+
* `<script>` sources in execution order: head-sourced first, then content. A
|
|
98
|
+
* head script (a GSAP CDN tag in a non-templated composition) has to run
|
|
99
|
+
* before the content scripts that call into it.
|
|
100
|
+
*/
|
|
101
|
+
scriptSources: TElement[];
|
|
102
|
+
/** `<head>` links to hoist into the host document. */
|
|
103
|
+
linkSources: TElement[];
|
|
104
|
+
/**
|
|
105
|
+
* Nodes that may declare the composition's variable defaults, in precedence
|
|
106
|
+
* order — later wins. Full-document compositions declare on `<html>`;
|
|
107
|
+
* template/fragment compositions declare on the `[data-composition-id]` root
|
|
108
|
+
* div, because they have no `<html>` of their own. Callers read the declared
|
|
109
|
+
* defaults off each carrier and merge left to right.
|
|
110
|
+
*/
|
|
111
|
+
variableDefaultCarriers: TElement[];
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Answer, for one composition, where its assets come from, in what order, and
|
|
115
|
+
* how it is identified. Pure: it reads attributes and runs selectors, and does
|
|
116
|
+
* not mutate, fetch, or touch a filesystem.
|
|
117
|
+
*/
|
|
118
|
+
export declare function planCompositionAssembly<TElement extends AssemblyAttributed>(input: CompositionAssemblyInput<TElement>): CompositionAssemblyPlan<TElement>;
|
|
119
|
+
export type NestedHostSkipReason = "circular composition reference" | "nesting depth exceeded";
|
|
120
|
+
export interface NestedCompositionHost<TElement> {
|
|
121
|
+
host: TElement;
|
|
122
|
+
src: string;
|
|
123
|
+
}
|
|
124
|
+
export interface NestedCompositionHosts<TElement> {
|
|
125
|
+
hosts: NestedCompositionHost<TElement>[];
|
|
126
|
+
skipped: {
|
|
127
|
+
src: string;
|
|
128
|
+
reason: NestedHostSkipReason;
|
|
129
|
+
}[];
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Enumerate the sub-composition hosts nested inside a composition that has just
|
|
133
|
+
* been assembled, refusing the two shapes that do not terminate.
|
|
134
|
+
*
|
|
135
|
+
* `ancestry` is the chain down to and including the assembled composition's own
|
|
136
|
+
* `src`, so a top-level host is enumerated with `[itsOwnSrc]`.
|
|
137
|
+
*/
|
|
138
|
+
export declare function enumerateNestedCompositionHosts<TElement extends AssemblyAttributed>(assembledHost: AssemblyQueryable<TElement>, ancestry: readonly string[]): NestedCompositionHosts<TElement>;
|
|
139
|
+
//# sourceMappingURL=compositionAssembly.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compositionAssembly.d.ts","sourceRoot":"","sources":["../../src/compiler/compositionAssembly.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAeH;;;GAGG;AACH,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAM5C,8DAA8D;AAC9D,MAAM,WAAW,kBAAkB;IACjC,YAAY,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;CAC3C;AAED,iEAAiE;AACjE,MAAM,WAAW,iBAAiB,CAAC,QAAQ;IACzC,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;CACzD;AAED,MAAM,WAAW,wBAAwB,CAAC,QAAQ,SAAS,kBAAkB;IAC3E;;;;;;;;OAQG;IACH,WAAW,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAEzC;;;;OAIG;IACH,IAAI,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,GAAG,IAAI,CAAC;IAE1C;;;OAGG;IACH,eAAe,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;IAElC;;;;OAIG;IACH,WAAW,EAAE,OAAO,CAAC;IAErB;;;OAGG;IACH,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,uBAAuB,CAAC,QAAQ,SAAS,kBAAkB;IAC1E;;;;;;OAMG;IACH,SAAS,EAAE,QAAQ,GAAG,IAAI,CAAC;IAE3B;;;OAGG;IACH,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;IAErC;;;;;;OAMG;IACH,mBAAmB,EAAE,MAAM,GAAG,IAAI,CAAC;IAEnC,mEAAmE;IACnE,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAE9B,8EAA8E;IAC9E,YAAY,EAAE,QAAQ,EAAE,CAAC;IAEzB;;;;OAIG;IACH,aAAa,EAAE,QAAQ,EAAE,CAAC;IAE1B,sDAAsD;IACtD,WAAW,EAAE,QAAQ,EAAE,CAAC;IAExB;;;;;;OAMG;IACH,uBAAuB,EAAE,QAAQ,EAAE,CAAC;CACrC;AAUD;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,SAAS,kBAAkB,EACzE,KAAK,EAAE,wBAAwB,CAAC,QAAQ,CAAC,GACxC,uBAAuB,CAAC,QAAQ,CAAC,CAmCnC;AAMD,MAAM,MAAM,oBAAoB,GAAG,gCAAgC,GAAG,wBAAwB,CAAC;AAE/F,MAAM,WAAW,qBAAqB,CAAC,QAAQ;IAC7C,IAAI,EAAE,QAAQ,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,sBAAsB,CAAC,QAAQ;IAC9C,KAAK,EAAE,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC;IACzC,OAAO,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,oBAAoB,CAAA;KAAE,EAAE,CAAC;CAC1D;AAED;;;;;;GAMG;AACH,wBAAgB,+BAA+B,CAAC,QAAQ,SAAS,kBAAkB,EACjF,aAAa,EAAE,iBAAiB,CAAC,QAAQ,CAAC,EAC1C,QAAQ,EAAE,SAAS,MAAM,EAAE,GAC1B,sBAAsB,CAAC,QAAQ,CAAC,CAmBlC"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composition assembly decisions — the questions both assembly paths answer.
|
|
3
|
+
*
|
|
4
|
+
* A composition is assembled twice in this repo: `compiler/inlineSubCompositions.ts`
|
|
5
|
+
* assembles it for rendering (Node, linkedom, synchronous, emits strings) and
|
|
6
|
+
* `runtime/compositionLoader.ts` assembles it for mounting (browser, fetch, live
|
|
7
|
+
* DOM, executes scripts). Their I/O is genuinely different; their *decisions* are
|
|
8
|
+
* not. This module owns the decisions:
|
|
9
|
+
*
|
|
10
|
+
* - which nodes are a composition's asset sources, and in what order
|
|
11
|
+
* - which `<head>` elements hoist into the host document
|
|
12
|
+
* - the composition's scope identity (CSS scope, script scope, authored root id)
|
|
13
|
+
* - which nodes carry the composition's declared variable defaults
|
|
14
|
+
* - how nested `data-composition-src` hosts are enumerated
|
|
15
|
+
*
|
|
16
|
+
* It is deliberately DOM-free, filesystem-free and network-free: the runtime is
|
|
17
|
+
* bundled by esbuild into the IIFE published to a CDN, so anything reachable
|
|
18
|
+
* from `runtime/entry.ts` ships to every viewer. It takes narrow structural
|
|
19
|
+
* types instead of `Document`/`Element` for the same reason `compositionScoping.ts`
|
|
20
|
+
* takes strings — so both a linkedom document and a live browser document
|
|
21
|
+
* satisfy it without an `as T` cast at either call site.
|
|
22
|
+
*/
|
|
23
|
+
const COMPOSITION_ID_ATTR = "data-composition-id";
|
|
24
|
+
const COMPOSITION_SRC_ATTR = "data-composition-src";
|
|
25
|
+
const COMPOSITION_ROOT_SELECTOR = `[${COMPOSITION_ID_ATTR}]`;
|
|
26
|
+
const COMPOSITION_HOST_SELECTOR = `[${COMPOSITION_SRC_ATTR}]`;
|
|
27
|
+
const STYLE_SELECTOR = "style";
|
|
28
|
+
const SCRIPT_SELECTOR = "script";
|
|
29
|
+
/**
|
|
30
|
+
* `<head>` links both paths hoist into the host document. Stylesheets carry
|
|
31
|
+
* webfonts a composition's CSS depends on; preconnects are their latency hint.
|
|
32
|
+
*/
|
|
33
|
+
const HOISTED_LINK_SELECTOR = 'link[rel="stylesheet"], link[rel="preconnect"]';
|
|
34
|
+
/**
|
|
35
|
+
* The compiler's nesting cap, enforced against the ancestry chain rather than a
|
|
36
|
+
* counter so a wide tree is not penalised for a deep sibling.
|
|
37
|
+
*/
|
|
38
|
+
export const MAX_SUB_COMPOSITION_DEPTH = 20;
|
|
39
|
+
// ---------------------------------------------------------------------------
|
|
40
|
+
// Decisions
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
function toArray(items) {
|
|
43
|
+
return items ? Array.from(items) : [];
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Answer, for one composition, where its assets come from, in what order, and
|
|
47
|
+
* how it is identified. Pure: it reads attributes and runs selectors, and does
|
|
48
|
+
* not mutate, fetch, or touch a filesystem.
|
|
49
|
+
*/
|
|
50
|
+
export function planCompositionAssembly(input) {
|
|
51
|
+
const { contentNode, head, documentElement, hasTemplate, compositionId } = input;
|
|
52
|
+
const compositionRoots = toArray(contentNode.querySelectorAll(COMPOSITION_ROOT_SELECTOR));
|
|
53
|
+
const innerRoot = compositionId
|
|
54
|
+
? (compositionRoots.find((root) => root.getAttribute(COMPOSITION_ID_ATTR) === compositionId) ??
|
|
55
|
+
null)
|
|
56
|
+
: (compositionRoots[0] ?? null);
|
|
57
|
+
// The id declared inside the content, even when the host asked for a
|
|
58
|
+
// different one. `innerRoot` is preferred so an exact match always wins.
|
|
59
|
+
const declaredCompositionId = (innerRoot ?? compositionRoots[0])?.getAttribute(COMPOSITION_ID_ATTR)?.trim() || "";
|
|
60
|
+
// A templated composition's <head> belongs to its host page, not to it.
|
|
61
|
+
const assetHead = hasTemplate ? null : (head ?? null);
|
|
62
|
+
return {
|
|
63
|
+
innerRoot,
|
|
64
|
+
authoredCompositionId: compositionId || declaredCompositionId || null,
|
|
65
|
+
scriptCompositionId: declaredCompositionId || compositionId || null,
|
|
66
|
+
authoredRootId: innerRoot?.getAttribute("id")?.trim() || null,
|
|
67
|
+
styleSources: [
|
|
68
|
+
...toArray(assetHead?.querySelectorAll(STYLE_SELECTOR)),
|
|
69
|
+
...toArray(contentNode.querySelectorAll(STYLE_SELECTOR)),
|
|
70
|
+
],
|
|
71
|
+
scriptSources: [
|
|
72
|
+
...toArray(assetHead?.querySelectorAll(SCRIPT_SELECTOR)),
|
|
73
|
+
...toArray(contentNode.querySelectorAll(SCRIPT_SELECTOR)),
|
|
74
|
+
],
|
|
75
|
+
linkSources: toArray(head?.querySelectorAll(HOISTED_LINK_SELECTOR)),
|
|
76
|
+
variableDefaultCarriers: [documentElement, innerRoot].filter((carrier) => carrier != null),
|
|
77
|
+
};
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Enumerate the sub-composition hosts nested inside a composition that has just
|
|
81
|
+
* been assembled, refusing the two shapes that do not terminate.
|
|
82
|
+
*
|
|
83
|
+
* `ancestry` is the chain down to and including the assembled composition's own
|
|
84
|
+
* `src`, so a top-level host is enumerated with `[itsOwnSrc]`.
|
|
85
|
+
*/
|
|
86
|
+
export function enumerateNestedCompositionHosts(assembledHost, ancestry) {
|
|
87
|
+
const hosts = [];
|
|
88
|
+
const skipped = [];
|
|
89
|
+
for (const nestedHost of assembledHost.querySelectorAll(COMPOSITION_HOST_SELECTOR)) {
|
|
90
|
+
const src = nestedHost.getAttribute(COMPOSITION_SRC_ATTR);
|
|
91
|
+
if (!src)
|
|
92
|
+
continue;
|
|
93
|
+
if (ancestry.includes(src)) {
|
|
94
|
+
skipped.push({ src, reason: "circular composition reference" });
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
if (ancestry.length >= MAX_SUB_COMPOSITION_DEPTH) {
|
|
98
|
+
skipped.push({ src, reason: "nesting depth exceeded" });
|
|
99
|
+
continue;
|
|
100
|
+
}
|
|
101
|
+
hosts.push({ host: nestedHost, src });
|
|
102
|
+
}
|
|
103
|
+
return { hosts, skipped };
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=compositionAssembly.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"compositionAssembly.js","sourceRoot":"","sources":["../../src/compiler/compositionAssembly.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inlineSubCompositions.d.ts","sourceRoot":"","sources":["../../src/compiler/inlineSubCompositions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAa/B,MAAM,WAAW,4BAA4B;IAC3C;;;OAGG;IACH,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAEhD;;;;;OAKG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,CAAC;IAEtC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,GAAG,CACnB,OAAO,EACP;QAAE,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAC9E,CAAC;IAEF;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC;IAEnD;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAExE;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhE;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAEhD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5F,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC1D;
|
|
1
|
+
{"version":3,"file":"inlineSubCompositions.d.ts","sourceRoot":"","sources":["../../src/compiler/inlineSubCompositions.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAKL,KAAK,WAAW,EACjB,MAAM,uBAAuB,CAAC;AAa/B,MAAM,WAAW,4BAA4B;IAC3C;;;OAGG;IACH,WAAW,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAEhD;;;;;OAKG;IACH,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,QAAQ,CAAC;IAEtC;;;;;OAKG;IACH,eAAe,CAAC,EAAE,GAAG,CACnB,OAAO,EACP;QAAE,qBAAqB,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAC9E,CAAC;IAEF;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B;;;;;OAKG;IACH,gBAAgB,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC;IAEnD;;;;;;OAMG;IACH,oBAAoB,CAAC,EAAE,OAAO,CAAC;IAE/B;;;OAGG;IACH,oBAAoB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAExE;;;OAGG;IACH,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEhE;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;IAEhD;;;OAGG;IACH,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B;;;;;;OAMG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B;;;;;;;OAOG;IACH,oBAAoB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACnE;AAED,MAAM,WAAW,2BAA2B;IAC1C,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,kBAAkB,EAAE,MAAM,EAAE,CAAC;IAC7B,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,UAAU,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC5F,aAAa,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrE,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;CAC1D;AAeD;;;;;;;;;;;;;;GAcG;AAEH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,QAAQ,EAClB,KAAK,EAAE,OAAO,EAAE,EAChB,OAAO,EAAE,4BAA4B,GACpC,2BAA2B,CAgR7B"}
|
|
@@ -8,9 +8,9 @@
|
|
|
8
8
|
* `data-composition-file`).
|
|
9
9
|
*/
|
|
10
10
|
import { rewriteAssetPath, rewriteAssetPaths, rewriteCssAssetUrls, rewriteInlineStyleAssetUrls, } from "./rewriteSubCompPaths.js";
|
|
11
|
-
import { queryByAttr } from "../utils/cssSelector.js";
|
|
12
11
|
import { scopeCssToComposition, wrapInlineScriptWithErrorBoundary, wrapScopedCompositionScript, } from "./compositionScoping.js";
|
|
13
12
|
import { checkSubCompositionUsability } from "@hyperframes/parsers/sub-composition-validity";
|
|
13
|
+
import { enumerateNestedCompositionHosts, planCompositionAssembly } from "./compositionAssembly.js";
|
|
14
14
|
// ---------------------------------------------------------------------------
|
|
15
15
|
// Default helpers
|
|
16
16
|
// ---------------------------------------------------------------------------
|
|
@@ -18,7 +18,6 @@ function defaultBuildScopeSelector(compId) {
|
|
|
18
18
|
const escaped = compId.replace(/\\/g, "\\\\").replace(/"/g, '\\"');
|
|
19
19
|
return `[data-composition-id="${escaped}"]`;
|
|
20
20
|
}
|
|
21
|
-
const MAX_SUB_COMPOSITION_DEPTH = 20;
|
|
22
21
|
// ---------------------------------------------------------------------------
|
|
23
22
|
// Core implementation
|
|
24
23
|
// ---------------------------------------------------------------------------
|
|
@@ -97,31 +96,32 @@ export function inlineSubCompositions(document, hosts, options) {
|
|
|
97
96
|
onMissingComposition?.(src);
|
|
98
97
|
continue;
|
|
99
98
|
}
|
|
100
|
-
//
|
|
101
|
-
//
|
|
102
|
-
//
|
|
103
|
-
//
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
:
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
const
|
|
112
|
-
const
|
|
113
|
-
const
|
|
99
|
+
// Which node is the composition root, which id its CSS scopes to, which
|
|
100
|
+
// id its scripts scope to, where its assets come from and in what order —
|
|
101
|
+
// every one of those is decided by the shared assembly module, so the mount
|
|
102
|
+
// path in runtime/compositionLoader.ts decides them the same way.
|
|
103
|
+
const plan = planCompositionAssembly({
|
|
104
|
+
contentNode: contentDoc,
|
|
105
|
+
head: compDoc.head,
|
|
106
|
+
documentElement: compDoc.documentElement,
|
|
107
|
+
hasTemplate: Boolean(contentRoot),
|
|
108
|
+
compositionId: compId,
|
|
109
|
+
});
|
|
110
|
+
const innerRoot = plan.innerRoot;
|
|
111
|
+
const authoredRootId = plan.authoredRootId;
|
|
112
|
+
const scopeCompId = plan.authoredCompositionId || "";
|
|
113
|
+
const scriptCompositionId = plan.scriptCompositionId || "";
|
|
114
114
|
const runtimeScope = runtimeCompId ? buildScopeSelector(runtimeCompId) : "";
|
|
115
115
|
// Variable merging (bundler feature). Read declared defaults from the
|
|
116
116
|
// document element (full-document sub-comps) AND the inner composition root
|
|
117
117
|
// (template/fragment sub-comps store their schema on the root div, not a
|
|
118
118
|
// synthetic <html>), then let per-instance host values override.
|
|
119
119
|
if (readVariableDefaults && parseHostVariables && runtimeCompId) {
|
|
120
|
-
const mergedVariables = {
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
120
|
+
const mergedVariables = {};
|
|
121
|
+
for (const carrier of plan.variableDefaultCarriers) {
|
|
122
|
+
Object.assign(mergedVariables, readVariableDefaults(carrier));
|
|
123
|
+
}
|
|
124
|
+
Object.assign(mergedVariables, parseHostVariables(hostEl));
|
|
125
125
|
if (Object.keys(mergedVariables).length > 0) {
|
|
126
126
|
variablesByComp[runtimeCompId] = mergedVariables;
|
|
127
127
|
}
|
|
@@ -142,45 +142,33 @@ export function inlineSubCompositions(document, hosts, options) {
|
|
|
142
142
|
})
|
|
143
143
|
: css;
|
|
144
144
|
};
|
|
145
|
-
//
|
|
146
|
-
//
|
|
147
|
-
//
|
|
148
|
-
//
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
const
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}
|
|
159
|
-
scriptItems.push({ kind: "external", src: externalSrc });
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
for (const link of [
|
|
163
|
-
...compDoc.head.querySelectorAll('link[rel="stylesheet"], link[rel="preconnect"]'),
|
|
164
|
-
]) {
|
|
165
|
-
const href = resolveSubAssetPath(link.getAttribute("href"));
|
|
166
|
-
if (href && !seenLinkHrefs.has(href)) {
|
|
167
|
-
seenLinkHrefs.add(href);
|
|
168
|
-
const rel = (link.getAttribute("rel") || "").trim();
|
|
169
|
-
const crossorigin = link.hasAttribute("crossorigin")
|
|
170
|
-
? link.getAttribute("crossorigin") || ""
|
|
171
|
-
: undefined;
|
|
172
|
-
externalLinks.push({ href, rel, crossorigin });
|
|
173
|
-
}
|
|
145
|
+
// <link> hoisting is unconditional. A templated sub-composition's webfont
|
|
146
|
+
// link is as load-bearing as a non-templated one's, and the mount path has
|
|
147
|
+
// always hoisted both; gating this on `!contentRoot` dropped a templated
|
|
148
|
+
// composition's font from the render while preview kept it.
|
|
149
|
+
for (const link of plan.linkSources) {
|
|
150
|
+
const href = resolveSubAssetPath(link.getAttribute("href"));
|
|
151
|
+
if (href && !seenLinkHrefs.has(href)) {
|
|
152
|
+
seenLinkHrefs.add(href);
|
|
153
|
+
const rel = (link.getAttribute("rel") || "").trim();
|
|
154
|
+
const crossorigin = link.hasAttribute("crossorigin")
|
|
155
|
+
? link.getAttribute("crossorigin") || ""
|
|
156
|
+
: undefined;
|
|
157
|
+
externalLinks.push({ href, rel, crossorigin });
|
|
174
158
|
}
|
|
175
159
|
}
|
|
176
|
-
//
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
160
|
+
// Head-sourced assets come first: a non-templated sub-composition's <head>
|
|
161
|
+
// carries its backgrounds, positioning and fonts, and a <head> library tag
|
|
162
|
+
// (GSAP from a CDN) has to run before the content scripts calling into it.
|
|
163
|
+
for (const styleEl of plan.styleSources) {
|
|
164
|
+
styles.push(scopeSubStyle(styleEl.textContent || ""));
|
|
165
|
+
styleEl.remove();
|
|
180
166
|
}
|
|
181
|
-
//
|
|
182
|
-
|
|
183
|
-
|
|
167
|
+
// Head- and content-sourced scripts take the same branch. The head loop
|
|
168
|
+
// used to handle only `src`, so an inline <head> script was silently
|
|
169
|
+
// discarded on render while the mount path executed it.
|
|
170
|
+
for (const scriptEl of plan.scriptSources) {
|
|
171
|
+
const externalSrc = resolveSubAssetPath(scriptEl.getAttribute("src"));
|
|
184
172
|
if (externalSrc) {
|
|
185
173
|
if (!externalScriptSrcs.includes(externalSrc)) {
|
|
186
174
|
externalScriptSrcs.push(externalSrc);
|
|
@@ -189,12 +177,12 @@ export function inlineSubCompositions(document, hosts, options) {
|
|
|
189
177
|
}
|
|
190
178
|
else {
|
|
191
179
|
const wrappedScript = scriptCompositionId
|
|
192
|
-
? wrapScopedCompositionScript(
|
|
193
|
-
: wrapInlineScriptWithErrorBoundary(
|
|
180
|
+
? wrapScopedCompositionScript(scriptEl.textContent || "", scriptCompositionId, scriptErrorLabel, runtimeScope || undefined, runtimeCompId || scopeCompId || scriptCompositionId, authoredRootId)
|
|
181
|
+
: wrapInlineScriptWithErrorBoundary(scriptEl.textContent || "", scriptErrorLabel);
|
|
194
182
|
scripts.push(wrappedScript);
|
|
195
183
|
scriptItems.push({ kind: "inline", content: wrappedScript });
|
|
196
184
|
}
|
|
197
|
-
|
|
185
|
+
scriptEl.remove();
|
|
198
186
|
}
|
|
199
187
|
// Rewrite relative asset paths before inlining so ../foo.svg from
|
|
200
188
|
// compositions/ resolves correctly when the content moves to root.
|
|
@@ -232,7 +220,7 @@ export function inlineSubCompositions(document, hosts, options) {
|
|
|
232
220
|
child.remove();
|
|
233
221
|
if (flattenInnerRoot) {
|
|
234
222
|
const prepared = flattenInnerRoot(innerRoot);
|
|
235
|
-
if (!compId &&
|
|
223
|
+
if (!compId && scopeCompId) {
|
|
236
224
|
// Anonymous host: flattenInnerRoot strips data-composition-id,
|
|
237
225
|
// assuming the host already carries the composition's identity.
|
|
238
226
|
// When the host has none, nothing in the render DOM matches the
|
|
@@ -240,7 +228,7 @@ export function inlineSubCompositions(document, hosts, options) {
|
|
|
240
228
|
// (e.g. document.querySelector('[data-composition-id="X"]')).
|
|
241
229
|
// Restore it on the wrapper so both keep resolving, same as
|
|
242
230
|
// before flattening preserved it via outerHTML.
|
|
243
|
-
prepared.setAttribute("data-composition-id",
|
|
231
|
+
prepared.setAttribute("data-composition-id", scopeCompId);
|
|
244
232
|
}
|
|
245
233
|
hostEl.innerHTML = prepared.outerHTML || "";
|
|
246
234
|
}
|
|
@@ -266,19 +254,12 @@ export function inlineSubCompositions(document, hosts, options) {
|
|
|
266
254
|
hostEl.setAttribute("data-composition-file", src);
|
|
267
255
|
hostEl.removeAttribute("data-composition-src");
|
|
268
256
|
const nestedAncestry = [...ancestry, src];
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
continue;
|
|
276
|
-
}
|
|
277
|
-
if (nestedAncestry.length >= MAX_SUB_COMPOSITION_DEPTH) {
|
|
278
|
-
onMissingComposition?.(nestedSrc, "nesting depth exceeded");
|
|
279
|
-
continue;
|
|
280
|
-
}
|
|
281
|
-
queue.push({ element: nestedHost, ancestry: nestedAncestry });
|
|
257
|
+
const nested = enumerateNestedCompositionHosts(hostEl, nestedAncestry);
|
|
258
|
+
for (const skipped of nested.skipped) {
|
|
259
|
+
onMissingComposition?.(skipped.src, skipped.reason);
|
|
260
|
+
}
|
|
261
|
+
for (const nestedHost of nested.hosts) {
|
|
262
|
+
queue.push({ element: nestedHost.host, ancestry: nestedAncestry });
|
|
282
263
|
}
|
|
283
264
|
}
|
|
284
265
|
return { styles, scripts, externalScriptSrcs, scriptItems, externalLinks, variablesByComp };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inlineSubCompositions.js","sourceRoot":"","sources":["../../src/compiler/inlineSubCompositions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inlineSubCompositions.js","sourceRoot":"","sources":["../../src/compiler/inlineSubCompositions.ts"],"names":[],"mappings":"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"}
|