@caelo-cms/shared 0.10.51 → 0.10.53
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/ai-tools.d.ts +9 -0
- package/dist/ai-tools.d.ts.map +1 -1
- package/dist/ai-tools.js +6 -0
- package/dist/ai-tools.js.map +1 -1
- package/dist/font-axis-policy.d.ts +174 -0
- package/dist/font-axis-policy.d.ts.map +1 -0
- package/dist/font-axis-policy.js +282 -0
- package/dist/font-axis-policy.js.map +1 -0
- package/dist/font-usage.d.ts +23 -0
- package/dist/font-usage.d.ts.map +1 -0
- package/dist/font-usage.js +381 -0
- package/dist/font-usage.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/markup-structure.d.ts +79 -0
- package/dist/markup-structure.d.ts.map +1 -0
- package/dist/markup-structure.js +274 -0
- package/dist/markup-structure.js.map +1 -0
- package/dist/media.d.ts +25 -1
- package/dist/media.d.ts.map +1 -1
- package/dist/media.js +35 -0
- package/dist/media.js.map +1 -1
- package/dist/preview-compose.d.ts +4 -3
- package/dist/preview-compose.d.ts.map +1 -1
- package/dist/preview-compose.js +2 -1
- package/dist/preview-compose.js.map +1 -1
- package/dist/publish-live-parity.d.ts +18 -0
- package/dist/publish-live-parity.d.ts.map +1 -0
- package/dist/publish-live-parity.js +21 -0
- package/dist/publish-live-parity.js.map +1 -0
- package/dist/static-cache-policy.d.ts +21 -7
- package/dist/static-cache-policy.d.ts.map +1 -1
- package/dist/static-cache-policy.js +24 -7
- package/dist/static-cache-policy.js.map +1 -1
- package/dist/themes.d.ts.map +1 -1
- package/dist/themes.js +6 -1
- package/dist/themes.js.map +1 -1
- package/dist/version.d.ts +2 -2
- package/dist/version.js +1 -1
- package/package.json +1 -1
- package/src/ai-tools.ts +8 -0
- package/src/font-axis-policy.test.ts +182 -0
- package/src/font-axis-policy.ts +372 -0
- package/src/font-usage.test.ts +100 -0
- package/src/font-usage.ts +395 -0
- package/src/index.ts +4 -0
- package/src/markup-structure.test.ts +184 -0
- package/src/markup-structure.ts +304 -0
- package/src/media.ts +43 -0
- package/src/preview-compose.ts +6 -4
- package/src/publish-live-parity.ts +25 -0
- package/src/static-cache-policy.test.ts +33 -3
- package/src/static-cache-policy.ts +28 -8
- package/src/themes.ts +6 -1
- package/src/version.ts +1 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"font-axis-policy.js","sourceRoot":"","sources":["../src/font-axis-policy.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { WeightUsage } from "./font-axis-policy.js";
|
|
2
|
+
import type { ThemeDocument } from "./themes.js";
|
|
3
|
+
/** One text the site is built from; `label` names it in uncertainty reasons. */
|
|
4
|
+
export interface FontUsageSource {
|
|
5
|
+
readonly label: string;
|
|
6
|
+
readonly text: string;
|
|
7
|
+
}
|
|
8
|
+
/** Result of {@link scanSiteFontUsage}. */
|
|
9
|
+
export interface SiteFontUsage extends WeightUsage {
|
|
10
|
+
/** Why `weights` is null (first few causes, `label: excerpt`); empty when certain. */
|
|
11
|
+
readonly uncertain: readonly string[];
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Derive {@link SiteFontUsage} from the theme and every site text.
|
|
15
|
+
*
|
|
16
|
+
* @param input.sources every module/template/layout/content/plugin text;
|
|
17
|
+
* the theme's own CSS and the base CSS are added here
|
|
18
|
+
*/
|
|
19
|
+
export declare function scanSiteFontUsage(input: {
|
|
20
|
+
readonly tokens: ThemeDocument;
|
|
21
|
+
readonly sources: readonly FontUsageSource[];
|
|
22
|
+
}): SiteFontUsage;
|
|
23
|
+
//# sourceMappingURL=font-usage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"font-usage.d.ts","sourceRoot":"","sources":["../src/font-usage.ts"],"names":[],"mappings":"AA+CA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAEzD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,gFAAgF;AAChF,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,2CAA2C;AAC3C,MAAM,WAAW,aAAc,SAAQ,WAAW;IAChD,sFAAsF;IACtF,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACvC;AAkRD;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,OAAO,EAAE,SAAS,eAAe,EAAE,CAAC;CAC9C,GAAG,aAAa,CAkDhB"}
|
|
@@ -0,0 +1,381 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MPL-2.0
|
|
2
|
+
/**
|
|
3
|
+
* Which font weights a site can render — the input to the default `wght`
|
|
4
|
+
* clamp of pinned faces (see `font-axis-policy.ts`).
|
|
5
|
+
*
|
|
6
|
+
* Clamping `wght` is only safe when the result is a superset of every
|
|
7
|
+
* computed `font-weight` any element can end up with. A weight outside
|
|
8
|
+
* the delivered range does not fail visibly: the browser silently
|
|
9
|
+
* renders the nearest end of the range (800 → 700). So this module is
|
|
10
|
+
* deliberately conservative, and when it cannot be CERTAIN it reports
|
|
11
|
+
* `weights: null`, which keeps the full axis. Full is the safe outcome,
|
|
12
|
+
* not a degraded one — it is exactly what shipped before clamping.
|
|
13
|
+
*
|
|
14
|
+
* How the set is built:
|
|
15
|
+
*
|
|
16
|
+
* - It is site-wide, not per family. `font-weight` inherits separately
|
|
17
|
+
* from `font-family`, so a weight declared under another family still
|
|
18
|
+
* reaches a pinned face through inheritance. Treating every declared
|
|
19
|
+
* weight as applicable to every family over-approximates; it never
|
|
20
|
+
* under-approximates.
|
|
21
|
+
* - 400 (the initial value) and 700 (UA `bold` on h1-h6, th, ...) are
|
|
22
|
+
* always in. UA `b, strong { font-weight: bolder }` applies wherever
|
|
23
|
+
* rich text puts a `<strong>`, so the set is always closed under
|
|
24
|
+
* `bolder` (400 → 700 → 900); under `lighter` too when any source uses
|
|
25
|
+
* it. CSS Fonts 4 maps both deterministically from the parent weight,
|
|
26
|
+
* and every parent weight is itself in the set, so the closure is
|
|
27
|
+
* complete rather than a guess.
|
|
28
|
+
* - Every `font-weight` declaration (CSS, `style=""`, JSON-escaped
|
|
29
|
+
* content, script text), every `font:` shorthand and every camel-case
|
|
30
|
+
* `fontWeight` assignment is parsed. `var(--x)` is resolved against
|
|
31
|
+
* every declaration of `--x` in any source plus its fallback; a
|
|
32
|
+
* custom property that is also touched any other way (`setProperty`,
|
|
33
|
+
* `@property`) is not knowable and makes the result uncertain.
|
|
34
|
+
* - Anything else that could set a weight — `calc()`, a mustache
|
|
35
|
+
* placeholder, a system-font `font:` keyword, a `font-weight` mention
|
|
36
|
+
* that is not a plain declaration — makes the result uncertain.
|
|
37
|
+
* - `font-variation-settings` addresses axes directly; the axes it names
|
|
38
|
+
* are reported so the default keeps them full (unparsable → `"all"`).
|
|
39
|
+
*
|
|
40
|
+
* The caller passes every text a page can be built from (modules incl.
|
|
41
|
+
* their JS and field defaults, templates, layouts, content values, plugin
|
|
42
|
+
* source) plus the theme, so the editor preview and the deployed site
|
|
43
|
+
* derive the same set from the same data.
|
|
44
|
+
*/
|
|
45
|
+
import { BASE_TECHNICAL_CSS } from "./base-css.js";
|
|
46
|
+
import { renderThemeCss } from "./theme-render.js";
|
|
47
|
+
const MAX_REASONS = 5;
|
|
48
|
+
const MAX_VAR_DEPTH = 8;
|
|
49
|
+
const MAX_EXPANSIONS = 256;
|
|
50
|
+
/** Characters that end a declaration value in CSS, attributes, JSON or JS strings. */
|
|
51
|
+
const VALUE_END = /[;{}"'`<>\n\\!]/;
|
|
52
|
+
/** CSS Fonts 4 §2.2 relative weights. */
|
|
53
|
+
function bolder(w) {
|
|
54
|
+
return w < 350 ? 400 : w < 550 ? 700 : w < 900 ? 900 : w;
|
|
55
|
+
}
|
|
56
|
+
function lighter(w) {
|
|
57
|
+
return w < 100 ? w : w < 550 ? 100 : w < 750 ? 400 : 700;
|
|
58
|
+
}
|
|
59
|
+
const GLOBAL_KEYWORDS = new Set(["inherit", "initial", "unset", "revert", "revert-layer"]);
|
|
60
|
+
const SYSTEM_FONTS = new Set([
|
|
61
|
+
"caption",
|
|
62
|
+
"icon",
|
|
63
|
+
"menu",
|
|
64
|
+
"message-box",
|
|
65
|
+
"small-caption",
|
|
66
|
+
"status-bar",
|
|
67
|
+
]);
|
|
68
|
+
const SIZE_KEYWORDS = new Set([
|
|
69
|
+
"xx-small",
|
|
70
|
+
"x-small",
|
|
71
|
+
"small",
|
|
72
|
+
"medium",
|
|
73
|
+
"large",
|
|
74
|
+
"x-large",
|
|
75
|
+
"xx-large",
|
|
76
|
+
"xxx-large",
|
|
77
|
+
"larger",
|
|
78
|
+
"smaller",
|
|
79
|
+
]);
|
|
80
|
+
const SIZE_TOKEN = /^(?:\d*\.?\d+(?:[a-z]+|%)|0)(?:\/.*)?$|^(?:calc|clamp|min|max)\(/;
|
|
81
|
+
function excerpt(text, at) {
|
|
82
|
+
return text
|
|
83
|
+
.slice(Math.max(0, at), at + 60)
|
|
84
|
+
.replace(/\s+/g, " ")
|
|
85
|
+
.trim();
|
|
86
|
+
}
|
|
87
|
+
function uncertain(scan, label, why) {
|
|
88
|
+
if (scan.reasons.length < MAX_REASONS)
|
|
89
|
+
scan.reasons.push(`${label}: ${why}`);
|
|
90
|
+
else if (scan.reasons.length === MAX_REASONS)
|
|
91
|
+
scan.reasons.push("…");
|
|
92
|
+
}
|
|
93
|
+
function valueAfterColon(text, from) {
|
|
94
|
+
const m = /^\s*:/.exec(text.slice(from, from + 64));
|
|
95
|
+
if (m === null)
|
|
96
|
+
return null;
|
|
97
|
+
const start = from + m[0].length;
|
|
98
|
+
const rest = text.slice(start, start + 400);
|
|
99
|
+
const end = rest.search(VALUE_END);
|
|
100
|
+
return (end === -1 ? rest : rest.slice(0, end)).trim();
|
|
101
|
+
}
|
|
102
|
+
/** Index of the `)` closing the `(` at `open`, or -1. */
|
|
103
|
+
function closingParen(value, open) {
|
|
104
|
+
let depth = 0;
|
|
105
|
+
for (let i = open; i < value.length; i++) {
|
|
106
|
+
if (value[i] === "(")
|
|
107
|
+
depth++;
|
|
108
|
+
else if (value[i] === ")" && --depth === 0)
|
|
109
|
+
return i;
|
|
110
|
+
}
|
|
111
|
+
return -1;
|
|
112
|
+
}
|
|
113
|
+
function collectCustomProps(sources) {
|
|
114
|
+
const values = new Map();
|
|
115
|
+
const opaque = new Set();
|
|
116
|
+
const name = /(?<![\w-])(--[A-Za-z0-9_-]+)/g;
|
|
117
|
+
for (const { text } of sources) {
|
|
118
|
+
for (const m of text.matchAll(name)) {
|
|
119
|
+
const prop = m[1];
|
|
120
|
+
const at = (m.index ?? 0) + prop.length;
|
|
121
|
+
const value = valueAfterColon(text, at);
|
|
122
|
+
if (value !== null) {
|
|
123
|
+
const list = values.get(prop) ?? [];
|
|
124
|
+
list.push(value);
|
|
125
|
+
values.set(prop, list);
|
|
126
|
+
continue;
|
|
127
|
+
}
|
|
128
|
+
const before = text.slice(Math.max(0, (m.index ?? 0) - 8), m.index ?? 0);
|
|
129
|
+
if (!/var\(\s*$/.test(before))
|
|
130
|
+
opaque.add(prop);
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
return { values, opaque };
|
|
134
|
+
}
|
|
135
|
+
/**
|
|
136
|
+
* Every value `value` can take once its `var()` references are
|
|
137
|
+
* substituted. Returns a reason string when that is not knowable.
|
|
138
|
+
*/
|
|
139
|
+
function expandVars(value, props, depth = 0) {
|
|
140
|
+
const at = value.indexOf("var(");
|
|
141
|
+
if (at === -1)
|
|
142
|
+
return [value];
|
|
143
|
+
if (depth >= MAX_VAR_DEPTH)
|
|
144
|
+
return "var() nesting too deep";
|
|
145
|
+
const close = closingParen(value, at + 3);
|
|
146
|
+
if (close === -1)
|
|
147
|
+
return "unbalanced var()";
|
|
148
|
+
const inner = value.slice(at + 4, close);
|
|
149
|
+
const comma = inner.indexOf(",");
|
|
150
|
+
const prop = (comma === -1 ? inner : inner.slice(0, comma)).trim();
|
|
151
|
+
if (props.opaque.has(prop))
|
|
152
|
+
return `${prop} is set outside CSS declarations`;
|
|
153
|
+
const candidates = [...(props.values.get(prop) ?? [])];
|
|
154
|
+
if (comma !== -1)
|
|
155
|
+
candidates.push(inner.slice(comma + 1).trim());
|
|
156
|
+
// No declaration and no fallback: invalid at computed-value time, so the
|
|
157
|
+
// property behaves as `unset` and inherits — it adds no weight.
|
|
158
|
+
const out = [];
|
|
159
|
+
for (const candidate of candidates) {
|
|
160
|
+
const substituted = `${value.slice(0, at)}${candidate}${value.slice(close + 1)}`;
|
|
161
|
+
const expanded = expandVars(substituted, props, depth + 1);
|
|
162
|
+
if (typeof expanded === "string")
|
|
163
|
+
return expanded;
|
|
164
|
+
out.push(...expanded);
|
|
165
|
+
if (out.length > MAX_EXPANSIONS)
|
|
166
|
+
return "too many var() combinations";
|
|
167
|
+
}
|
|
168
|
+
return out;
|
|
169
|
+
}
|
|
170
|
+
/** Parse a resolved `font-weight` value; returns a reason when it is not plain. */
|
|
171
|
+
function addWeightTokens(scan, value) {
|
|
172
|
+
const tokens = value
|
|
173
|
+
.toLowerCase()
|
|
174
|
+
.split(/[\s,]+/)
|
|
175
|
+
.filter(Boolean);
|
|
176
|
+
// Empty usually means the value continues past what we can read (a
|
|
177
|
+
// `{{placeholder}}`, a template literal) — not knowable.
|
|
178
|
+
if (tokens.length === 0)
|
|
179
|
+
return "no readable value";
|
|
180
|
+
for (const token of tokens) {
|
|
181
|
+
if (/^\d+(\.\d+)?$/.test(token)) {
|
|
182
|
+
const n = Number(token);
|
|
183
|
+
if (n < 1 || n > 1000)
|
|
184
|
+
return `weight ${token} out of range`;
|
|
185
|
+
scan.weights.add(n);
|
|
186
|
+
}
|
|
187
|
+
else if (token === "normal")
|
|
188
|
+
scan.weights.add(400);
|
|
189
|
+
else if (token === "bold")
|
|
190
|
+
scan.weights.add(700);
|
|
191
|
+
else if (token === "lighter")
|
|
192
|
+
scan.useLighter = true;
|
|
193
|
+
else if (token === "bolder" || GLOBAL_KEYWORDS.has(token)) {
|
|
194
|
+
// bolder: covered by the closure; globals: initial = 400, rest inherit.
|
|
195
|
+
}
|
|
196
|
+
else
|
|
197
|
+
return `unrecognised weight '${token}'`;
|
|
198
|
+
}
|
|
199
|
+
return null;
|
|
200
|
+
}
|
|
201
|
+
/** Tokens of a `font:` shorthand before its size (where the weight lives). */
|
|
202
|
+
function addShorthand(scan, value) {
|
|
203
|
+
const tokens = [];
|
|
204
|
+
let depth = 0;
|
|
205
|
+
let current = "";
|
|
206
|
+
for (const ch of value.toLowerCase()) {
|
|
207
|
+
if (ch === "(")
|
|
208
|
+
depth++;
|
|
209
|
+
if (ch === ")")
|
|
210
|
+
depth--;
|
|
211
|
+
if (/\s/.test(ch) && depth === 0) {
|
|
212
|
+
if (current)
|
|
213
|
+
tokens.push(current);
|
|
214
|
+
current = "";
|
|
215
|
+
}
|
|
216
|
+
else
|
|
217
|
+
current += ch;
|
|
218
|
+
}
|
|
219
|
+
if (current)
|
|
220
|
+
tokens.push(current);
|
|
221
|
+
if (tokens.length === 1 && GLOBAL_KEYWORDS.has(tokens[0]))
|
|
222
|
+
return null;
|
|
223
|
+
if (tokens.length === 1 && SYSTEM_FONTS.has(tokens[0])) {
|
|
224
|
+
return `system font '${tokens[0]}' (weight chosen by the OS)`;
|
|
225
|
+
}
|
|
226
|
+
for (const token of tokens) {
|
|
227
|
+
if (SIZE_TOKEN.test(token) || SIZE_KEYWORDS.has(token))
|
|
228
|
+
return null;
|
|
229
|
+
if (/^\d+(\.\d+)?$/.test(token)) {
|
|
230
|
+
const reason = addWeightTokens(scan, token);
|
|
231
|
+
if (reason !== null)
|
|
232
|
+
return reason;
|
|
233
|
+
}
|
|
234
|
+
else if (token === "bold" || token === "lighter" || token === "bolder") {
|
|
235
|
+
addWeightTokens(scan, token);
|
|
236
|
+
}
|
|
237
|
+
// style/variant/stretch keywords and `normal` (= 400, already in) need nothing.
|
|
238
|
+
}
|
|
239
|
+
// A shorthand without a size is invalid CSS and is dropped by the browser.
|
|
240
|
+
return null;
|
|
241
|
+
}
|
|
242
|
+
function parseVariationSettings(scan, raw) {
|
|
243
|
+
const value = raw.replace(/["'\\\s]+$/, "").trim();
|
|
244
|
+
if (value === "" || GLOBAL_KEYWORDS.has(value) || value === "normal")
|
|
245
|
+
return;
|
|
246
|
+
const pair = /^\s*(\\?["'])([A-Za-z0-9 ]{4})\1\s+-?\d*\.?\d+\s*$/;
|
|
247
|
+
const tags = [];
|
|
248
|
+
for (const part of value.split(",")) {
|
|
249
|
+
const m = pair.exec(part);
|
|
250
|
+
if (m === null) {
|
|
251
|
+
scan.axes = "all";
|
|
252
|
+
return;
|
|
253
|
+
}
|
|
254
|
+
tags.push(m[2]);
|
|
255
|
+
}
|
|
256
|
+
if (scan.axes !== "all")
|
|
257
|
+
for (const t of tags)
|
|
258
|
+
scan.axes.add(t);
|
|
259
|
+
}
|
|
260
|
+
function scanSource(scan, source, props) {
|
|
261
|
+
const { label, text } = source;
|
|
262
|
+
for (const m of text.matchAll(/(?<![\w-])font-weight(?![\w-])/gi)) {
|
|
263
|
+
const at = m.index ?? 0;
|
|
264
|
+
const value = valueAfterColon(text, at + m[0].length);
|
|
265
|
+
if (value === null) {
|
|
266
|
+
uncertain(scan, label, `font-weight used outside a declaration (${excerpt(text, at)})`);
|
|
267
|
+
continue;
|
|
268
|
+
}
|
|
269
|
+
const expanded = expandVars(value, props);
|
|
270
|
+
if (typeof expanded === "string") {
|
|
271
|
+
uncertain(scan, label, `${expanded} (${excerpt(text, at)})`);
|
|
272
|
+
continue;
|
|
273
|
+
}
|
|
274
|
+
for (const v of expanded) {
|
|
275
|
+
const reason = addWeightTokens(scan, v);
|
|
276
|
+
if (reason !== null)
|
|
277
|
+
uncertain(scan, label, `${reason} (${excerpt(text, at)})`);
|
|
278
|
+
}
|
|
279
|
+
}
|
|
280
|
+
for (const m of text.matchAll(/(?<![\w-])font\s*:/gi)) {
|
|
281
|
+
const at = m.index ?? 0;
|
|
282
|
+
// Start at the colon itself: valueAfterColon consumes it.
|
|
283
|
+
const value = valueAfterColon(text, at + m[0].length - 1);
|
|
284
|
+
if (value === null)
|
|
285
|
+
continue;
|
|
286
|
+
const expanded = expandVars(value, props);
|
|
287
|
+
if (typeof expanded === "string") {
|
|
288
|
+
uncertain(scan, label, `${expanded} (${excerpt(text, at)})`);
|
|
289
|
+
continue;
|
|
290
|
+
}
|
|
291
|
+
for (const v of expanded) {
|
|
292
|
+
const reason = addShorthand(scan, v);
|
|
293
|
+
if (reason !== null)
|
|
294
|
+
uncertain(scan, label, `${reason} (${excerpt(text, at)})`);
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
for (const m of text.matchAll(/\bfontWeight\b/g)) {
|
|
298
|
+
const at = m.index ?? 0;
|
|
299
|
+
const literal = /^\s*[:=]\s*(?:(["'`])([^"'`\n]{0,20})\1|(\d+))/.exec(text.slice(at + 10));
|
|
300
|
+
const value = literal === null ? null : (literal[2] ?? literal[3] ?? null);
|
|
301
|
+
const reason = value === null ? "fontWeight set from script" : addWeightTokens(scan, value.toString());
|
|
302
|
+
if (reason !== null)
|
|
303
|
+
uncertain(scan, label, `${reason} (${excerpt(text, at)})`);
|
|
304
|
+
}
|
|
305
|
+
if (/\.font\s*=[^=]/.test(text)) {
|
|
306
|
+
uncertain(scan, label, "font shorthand assigned from script");
|
|
307
|
+
}
|
|
308
|
+
for (const m of text.matchAll(/(?<![\w-])font-variation-settings(?![\w-])/gi)) {
|
|
309
|
+
const at = (m.index ?? 0) + m[0].length;
|
|
310
|
+
const colon = /^\s*:/.exec(text.slice(at, at + 64));
|
|
311
|
+
if (colon === null) {
|
|
312
|
+
scan.axes = "all";
|
|
313
|
+
continue;
|
|
314
|
+
}
|
|
315
|
+
const rest = text.slice(at + colon[0].length, at + colon[0].length + 400);
|
|
316
|
+
const end = rest.search(/[;{}<>\n!]/);
|
|
317
|
+
parseVariationSettings(scan, end === -1 ? rest : rest.slice(0, end));
|
|
318
|
+
}
|
|
319
|
+
if (/\bfontVariationSettings\b/.test(text))
|
|
320
|
+
scan.axes = "all";
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Derive {@link SiteFontUsage} from the theme and every site text.
|
|
324
|
+
*
|
|
325
|
+
* @param input.sources every module/template/layout/content/plugin text;
|
|
326
|
+
* the theme's own CSS and the base CSS are added here
|
|
327
|
+
*/
|
|
328
|
+
export function scanSiteFontUsage(input) {
|
|
329
|
+
const all = [
|
|
330
|
+
{ label: "theme", text: renderThemeCss(input.tokens) },
|
|
331
|
+
{ label: "base-css", text: BASE_TECHNICAL_CSS },
|
|
332
|
+
...input.sources,
|
|
333
|
+
];
|
|
334
|
+
const scan = {
|
|
335
|
+
weights: new Set([400, 700]),
|
|
336
|
+
useLighter: false,
|
|
337
|
+
reasons: [],
|
|
338
|
+
axes: new Set(),
|
|
339
|
+
};
|
|
340
|
+
// Theme typography weights apply to their roles whether or not any CSS
|
|
341
|
+
// references `--font-weight-<role>`; the theme emits them as such vars.
|
|
342
|
+
const themeCss = all[0]?.text ?? "";
|
|
343
|
+
// The name match has no suffix and starts only at a name boundary, so it
|
|
344
|
+
// never backtracks; the value is read with the same bounded reader as
|
|
345
|
+
// every other declaration (a `[name]+:` pattern here is polynomial on
|
|
346
|
+
// runs like `--font-weight---font-weight-...`).
|
|
347
|
+
for (const m of themeCss.matchAll(/(?<![\w-])--font-weight-[A-Za-z0-9_-]+/g)) {
|
|
348
|
+
const value = valueAfterColon(themeCss, (m.index ?? 0) + m[0].length);
|
|
349
|
+
if (value === null)
|
|
350
|
+
continue;
|
|
351
|
+
const reason = addWeightTokens(scan, value);
|
|
352
|
+
if (reason !== null)
|
|
353
|
+
uncertain(scan, "theme", reason);
|
|
354
|
+
}
|
|
355
|
+
const props = collectCustomProps(all);
|
|
356
|
+
for (const source of all)
|
|
357
|
+
scanSource(scan, source, props);
|
|
358
|
+
const axes = scan.axes === "all" ? "all" : [...scan.axes].sort();
|
|
359
|
+
if (scan.reasons.length > 0) {
|
|
360
|
+
return { weights: null, uncertain: scan.reasons, variationSettingsAxes: axes };
|
|
361
|
+
}
|
|
362
|
+
// Fixed point of the relative-weight closure.
|
|
363
|
+
const closed = new Set(scan.weights);
|
|
364
|
+
for (let grew = true; grew;) {
|
|
365
|
+
grew = false;
|
|
366
|
+
for (const w of [...closed]) {
|
|
367
|
+
for (const next of scan.useLighter ? [bolder(w), lighter(w)] : [bolder(w)]) {
|
|
368
|
+
if (!closed.has(next)) {
|
|
369
|
+
closed.add(next);
|
|
370
|
+
grew = true;
|
|
371
|
+
}
|
|
372
|
+
}
|
|
373
|
+
}
|
|
374
|
+
}
|
|
375
|
+
return {
|
|
376
|
+
weights: [...closed].sort((a, z) => a - z),
|
|
377
|
+
uncertain: [],
|
|
378
|
+
variationSettingsAxes: axes,
|
|
379
|
+
};
|
|
380
|
+
}
|
|
381
|
+
//# sourceMappingURL=font-usage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"font-usage.js","sourceRoot":"","sources":["../src/font-usage.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,6 +14,8 @@ export * from "./database-url.js";
|
|
|
14
14
|
export * from "./design-draft-shell.js";
|
|
15
15
|
export * from "./document-language.js";
|
|
16
16
|
export * from "./font-assets.js";
|
|
17
|
+
export * from "./font-axis-policy.js";
|
|
18
|
+
export * from "./font-usage.js";
|
|
17
19
|
export * from "./fonts.js";
|
|
18
20
|
export * from "./genesis.js";
|
|
19
21
|
export * from "./genesis-inventory.js";
|
|
@@ -21,6 +23,7 @@ export * from "./google-models.js";
|
|
|
21
23
|
export * from "./image-capabilities.js";
|
|
22
24
|
export * from "./interactions.js";
|
|
23
25
|
export { type LogContext, type Logger, type LoggerOptions, type LogLevel, makeLogger, mintRequestId, redact, type ServiceName, type StructuredLogEntry, } from "./logger.js";
|
|
26
|
+
export * from "./markup-structure.js";
|
|
24
27
|
export * from "./media.js";
|
|
25
28
|
export * from "./nested-module-render.js";
|
|
26
29
|
export * from "./page-log.js";
|
|
@@ -30,6 +33,7 @@ export * from "./preview-compose.js";
|
|
|
30
33
|
export * from "./preview-scanner.js";
|
|
31
34
|
export * from "./proposal-status.js";
|
|
32
35
|
export * from "./provisioning-command.js";
|
|
36
|
+
export * from "./publish-live-parity.js";
|
|
33
37
|
export * from "./redirect-emit-caddy.js";
|
|
34
38
|
export * from "./redirect-emit-cloudfront.js";
|
|
35
39
|
export * from "./redirect-emit-front-door.js";
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,cAAc,CAAC;AAExC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,UAAU,EACV,aAAa,EACb,MAAM,EACN,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,UAAU,CAAC;AACzB,OAAO,EACL,aAAa,EACb,aAAa,EACb,KAAK,YAAY,EACjB,cAAc,EACd,YAAY,GACb,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,cAAc,CAAC;AAExC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACL,KAAK,UAAU,EACf,KAAK,MAAM,EACX,KAAK,aAAa,EAClB,KAAK,QAAQ,EACb,UAAU,EACV,aAAa,EACb,MAAM,EACN,KAAK,WAAW,EAChB,KAAK,kBAAkB,GACxB,MAAM,aAAa,CAAC;AACrB,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,UAAU,CAAC;AACzB,OAAO,EACL,aAAa,EACb,aAAa,EACb,KAAK,YAAY,EACjB,cAAc,EACd,YAAY,GACb,MAAM,cAAc,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -15,6 +15,8 @@ export * from "./database-url.js";
|
|
|
15
15
|
export * from "./design-draft-shell.js";
|
|
16
16
|
export * from "./document-language.js";
|
|
17
17
|
export * from "./font-assets.js";
|
|
18
|
+
export * from "./font-axis-policy.js";
|
|
19
|
+
export * from "./font-usage.js";
|
|
18
20
|
export * from "./fonts.js";
|
|
19
21
|
export * from "./genesis.js";
|
|
20
22
|
export * from "./genesis-inventory.js";
|
|
@@ -22,6 +24,7 @@ export * from "./google-models.js";
|
|
|
22
24
|
export * from "./image-capabilities.js";
|
|
23
25
|
export * from "./interactions.js";
|
|
24
26
|
export { makeLogger, mintRequestId, redact, } from "./logger.js";
|
|
27
|
+
export * from "./markup-structure.js";
|
|
25
28
|
export * from "./media.js";
|
|
26
29
|
export * from "./nested-module-render.js";
|
|
27
30
|
export * from "./page-log.js";
|
|
@@ -31,6 +34,7 @@ export * from "./preview-compose.js";
|
|
|
31
34
|
export * from "./preview-scanner.js";
|
|
32
35
|
export * from "./proposal-status.js";
|
|
33
36
|
export * from "./provisioning-command.js";
|
|
37
|
+
export * from "./publish-live-parity.js";
|
|
34
38
|
export * from "./redirect-emit-caddy.js";
|
|
35
39
|
export * from "./redirect-emit-cloudfront.js";
|
|
36
40
|
export * from "./redirect-emit-front-door.js";
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAEnC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AAExC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAKL,UAAU,EACV,aAAa,EACb,MAAM,GAGP,MAAM,aAAa,CAAC;AACrB,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,UAAU,CAAC;AACzB,OAAO,EACL,aAAa,EACb,aAAa,EAEb,cAAc,EACd,YAAY,GACb,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,mCAAmC;AAEnC,MAAM,CAAC,MAAM,YAAY,GAAG,WAAW,CAAC;AAExC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,yBAAyB,CAAC;AACxC,cAAc,wBAAwB,CAAC;AACvC,cAAc,kBAAkB,CAAC;AACjC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EAKL,UAAU,EACV,aAAa,EACb,MAAM,GAGP,MAAM,aAAa,CAAC;AACrB,cAAc,uBAAuB,CAAC;AACtC,cAAc,YAAY,CAAC;AAC3B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,sBAAsB,CAAC;AACrC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,0BAA0B,CAAC;AACzC,cAAc,0BAA0B,CAAC;AACzC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,wBAAwB,CAAC;AACvC,cAAc,oBAAoB,CAAC;AACnC,cAAc,sBAAsB,CAAC;AACrC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,UAAU,CAAC;AACzB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC;AACzC,cAAc,kBAAkB,CAAC;AACjC,cAAc,sBAAsB,CAAC;AACrC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,sBAAsB,CAAC;AACrC,cAAc,kCAAkC,CAAC;AACjD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,6BAA6B,CAAC;AAC5C,cAAc,uCAAuC,CAAC;AACtD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,4BAA4B,CAAC;AAC3C,cAAc,sBAAsB,CAAC;AACrC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,UAAU,CAAC;AACzB,OAAO,EACL,aAAa,EACb,aAAa,EAEb,cAAc,EACd,YAAY,GACb,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
/** One element of parsed markup. Text is dropped; it never matters here. */
|
|
2
|
+
export interface MarkupNode {
|
|
3
|
+
readonly tag: string;
|
|
4
|
+
readonly classes: readonly string[];
|
|
5
|
+
/** The `data-caelo-module-id` the composer stamps on every module root. */
|
|
6
|
+
readonly moduleId: string | null;
|
|
7
|
+
readonly children: MarkupNode[];
|
|
8
|
+
readonly parent: MarkupNode | null;
|
|
9
|
+
}
|
|
10
|
+
/** Most elements one parse keeps; the rest of the document is ignored. */
|
|
11
|
+
export declare const MAX_NODES = 50000;
|
|
12
|
+
/** A pattern has at least this many distinct nodes… */
|
|
13
|
+
export declare const MIN_PATTERN_NODES = 4;
|
|
14
|
+
/** …spread over at least this many levels (root, child, grandchild). */
|
|
15
|
+
export declare const MIN_PATTERN_DEPTH = 3;
|
|
16
|
+
/** Jaccard similarity at or above which two patterns are "near" matches. */
|
|
17
|
+
export declare const NEAR_MATCH_THRESHOLD = 0.8;
|
|
18
|
+
/** Parse markup into a forest of element nodes. */
|
|
19
|
+
export declare function parseMarkup(html: string): MarkupNode[];
|
|
20
|
+
/**
|
|
21
|
+
* Remove Mustache tags (`{{x}}`, `{{{x}}}`, `{{#s}}`, `{{/s}}`, `{{>p}}`)
|
|
22
|
+
* from a module template so it parses as the markup it renders: a section
|
|
23
|
+
* body stays once, a placeholder becomes empty.
|
|
24
|
+
*/
|
|
25
|
+
export declare function stripMustache(template: string): string;
|
|
26
|
+
/** The node's key without its children: `div.card.card--wide`. */
|
|
27
|
+
export declare function nodeKey(n: Pick<MarkupNode, "tag" | "classes">): string;
|
|
28
|
+
/** Structural facts about one subtree. */
|
|
29
|
+
export interface SubtreeShape {
|
|
30
|
+
/** Repetition- and text-independent structural signature. */
|
|
31
|
+
readonly signature: string;
|
|
32
|
+
/** Distinct nodes after repetition collapse. */
|
|
33
|
+
readonly nodeCount: number;
|
|
34
|
+
/** Levels, the subtree root counting as 1. */
|
|
35
|
+
readonly depth: number;
|
|
36
|
+
/** Whether any node in it carries a class. */
|
|
37
|
+
readonly hasClass: boolean;
|
|
38
|
+
/** Parent→child edges, for near-match similarity. */
|
|
39
|
+
readonly edges: ReadonlySet<string>;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Compute the shapes of a subtree and all its descendants in one pass.
|
|
43
|
+
* Nested module roots are opaque: their own module owns them.
|
|
44
|
+
*/
|
|
45
|
+
export declare function shapeTree(root: MarkupNode, out?: Map<MarkupNode, SubtreeShape>): Map<MarkupNode, SubtreeShape>;
|
|
46
|
+
/** Whether a subtree is big and specific enough to count as a pattern. */
|
|
47
|
+
export declare function isPattern(shape: SubtreeShape): boolean;
|
|
48
|
+
/** Jaccard similarity of two shapes' edge sets, 0…1. */
|
|
49
|
+
export declare function shapeSimilarity(a: SubtreeShape, b: SubtreeShape): number;
|
|
50
|
+
/** A qualifying pattern found in a piece of markup. */
|
|
51
|
+
export interface FoundPattern {
|
|
52
|
+
readonly node: MarkupNode;
|
|
53
|
+
readonly shape: SubtreeShape;
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* The outermost qualifying patterns in a forest: a pattern inside a bigger
|
|
57
|
+
* pattern is part of it and not reported on its own.
|
|
58
|
+
*/
|
|
59
|
+
export declare function outermostPatterns(roots: readonly MarkupNode[]): FoundPattern[];
|
|
60
|
+
/** The shape of a whole module template (its first element), or null. */
|
|
61
|
+
export declare function templateShape(templateHtml: string): SubtreeShape | null;
|
|
62
|
+
/**
|
|
63
|
+
* The parts of a rendered module that did NOT come from its template: the
|
|
64
|
+
* markup field values injected (richtext, text). The rendered tree is
|
|
65
|
+
* walked in step with the template tree; a rendered child that no template
|
|
66
|
+
* child can account for (same tag, template's classes all present) starts
|
|
67
|
+
* a free region. List sections still match, because every iteration of a
|
|
68
|
+
* section renders the same template child.
|
|
69
|
+
*
|
|
70
|
+
* @returns the free region roots, or null when the rendered root does not
|
|
71
|
+
* match the template root at all (a module the composer renders from
|
|
72
|
+
* other data, such as a navigation menu) — nothing can be attributed then.
|
|
73
|
+
*/
|
|
74
|
+
export declare function freeRegions(rendered: MarkupNode, templateRoots: readonly MarkupNode[]): MarkupNode[] | null;
|
|
75
|
+
/** Every module root (`data-caelo-module-id`) in a forest, nested ones included. */
|
|
76
|
+
export declare function moduleRoots(roots: readonly MarkupNode[]): MarkupNode[];
|
|
77
|
+
/** A short operator-readable name for a pattern: its root key, e.g. `div.chain`. */
|
|
78
|
+
export declare function patternLabel(p: Pick<MarkupNode, "tag" | "classes">): string;
|
|
79
|
+
//# sourceMappingURL=markup-structure.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markup-structure.d.ts","sourceRoot":"","sources":["../src/markup-structure.ts"],"names":[],"mappings":"AAoCA,4EAA4E;AAC5E,MAAM,WAAW,UAAU;IACzB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IACpC,2EAA2E;IAC3E,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,QAAQ,EAAE,UAAU,EAAE,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,UAAU,GAAG,IAAI,CAAC;CACpC;AAED,0EAA0E;AAC1E,eAAO,MAAM,SAAS,QAAS,CAAC;AAChC,uDAAuD;AACvD,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,wEAAwE;AACxE,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,4EAA4E;AAC5E,eAAO,MAAM,oBAAoB,MAAM,CAAC;AAKxC,mDAAmD;AACnD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,EAAE,CAsCtD;AAeD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEtD;AA+BD,kEAAkE;AAClE,wBAAgB,OAAO,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,SAAS,CAAC,GAAG,MAAM,CAEtE;AAED,0CAA0C;AAC1C,MAAM,WAAW,YAAY;IAC3B,6DAA6D;IAC7D,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,gDAAgD;IAChD,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,8CAA8C;IAC9C,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,8CAA8C;IAC9C,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;IAC3B,qDAAqD;IACrD,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACrC;AAED;;;GAGG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,UAAU,EAAE,GAAG,gCAAsC,iCAiCpF;AAED,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAEtD;AAED,wDAAwD;AACxD,wBAAgB,eAAe,CAAC,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,YAAY,GAAG,MAAM,CAMxE;AAED,uDAAuD;AACvD,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC;CAC9B;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,YAAY,EAAE,CAY9E;AAED,yEAAyE;AACzE,wBAAgB,aAAa,CAAC,YAAY,EAAE,MAAM,GAAG,YAAY,GAAG,IAAI,CAGvE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,UAAU,EACpB,aAAa,EAAE,SAAS,UAAU,EAAE,GACnC,UAAU,EAAE,GAAG,IAAI,CAcrB;AAQD,oFAAoF;AACpF,wBAAgB,WAAW,CAAC,KAAK,EAAE,SAAS,UAAU,EAAE,GAAG,UAAU,EAAE,CAQtE;AAED,oFAAoF;AACpF,wBAAgB,YAAY,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,GAAG,SAAS,CAAC,GAAG,MAAM,CAE3E"}
|