@caelo-cms/shared 0.10.67 → 0.10.69
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 +30 -14
- package/dist/ai-tools.d.ts.map +1 -1
- package/dist/ai-tools.js +33 -14
- package/dist/ai-tools.js.map +1 -1
- package/dist/build-page.d.ts +7 -6
- package/dist/build-page.d.ts.map +1 -1
- package/dist/build-page.js +17 -13
- package/dist/build-page.js.map +1 -1
- package/dist/html-blank.d.ts +11 -0
- package/dist/html-blank.d.ts.map +1 -0
- package/dist/html-blank.js +17 -0
- package/dist/html-blank.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/link-canonicalise.d.ts +29 -4
- package/dist/link-canonicalise.d.ts.map +1 -1
- package/dist/link-canonicalise.js +96 -8
- package/dist/link-canonicalise.js.map +1 -1
- package/dist/markup-structure.d.ts +24 -0
- package/dist/markup-structure.d.ts.map +1 -1
- package/dist/markup-structure.js +52 -0
- package/dist/markup-structure.js.map +1 -1
- package/dist/media.d.ts +2 -2
- package/dist/phase-timer.d.ts +36 -0
- package/dist/phase-timer.d.ts.map +1 -0
- package/dist/phase-timer.js +54 -0
- package/dist/phase-timer.js.map +1 -0
- package/dist/run-batched.d.ts +12 -0
- package/dist/run-batched.d.ts.map +1 -0
- package/dist/run-batched.js +37 -0
- package/dist/run-batched.js.map +1 -0
- package/dist/seo.d.ts +12 -5
- package/dist/seo.d.ts.map +1 -1
- package/dist/seo.js +40 -8
- package/dist/seo.js.map +1 -1
- package/dist/strip-cdata.d.ts +23 -0
- package/dist/strip-cdata.d.ts.map +1 -1
- package/dist/strip-cdata.js +31 -0
- package/dist/strip-cdata.js.map +1 -1
- package/dist/template-engine.d.ts.map +1 -1
- package/dist/template-engine.js +54 -22
- package/dist/template-engine.js.map +1 -1
- package/dist/themes.d.ts.map +1 -1
- package/dist/themes.js +29 -4
- 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 +34 -14
- package/src/build-page.test.ts +5 -4
- package/src/build-page.ts +17 -14
- package/src/html-blank.ts +21 -0
- package/src/index.ts +2 -0
- package/src/link-canonicalise.test.ts +27 -0
- package/src/link-canonicalise.ts +100 -5
- package/src/markup-structure.test.ts +21 -0
- package/src/markup-structure.ts +54 -0
- package/src/nested-module-render.test.ts +77 -0
- package/src/phase-timer.test.ts +48 -0
- package/src/phase-timer.ts +62 -0
- package/src/run-batched.test.ts +40 -0
- package/src/run-batched.ts +39 -0
- package/src/seo.test.ts +50 -0
- package/src/seo.ts +40 -8
- package/src/strip-cdata.test.ts +30 -1
- package/src/strip-cdata.ts +31 -0
- package/src/template-engine.test.ts +84 -0
- package/src/template-engine.ts +62 -17
- package/src/theme-dimension.test.ts +61 -0
- package/src/themes.ts +30 -5
- package/src/version.ts +1 -1
package/dist/themes.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"themes.js","sourceRoot":"","sources":["../src/themes.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"themes.js","sourceRoot":"","sources":["../src/themes.ts"],"names":[],"mappings":"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"}
|
package/dist/version.d.ts
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
* Format: SemVer 2.0.0. Pre-1.0 minor bumps are breaking; post-1.0
|
|
20
20
|
* follow standard SemVer.
|
|
21
21
|
*/
|
|
22
|
-
export declare const CAELO_VERSION = "0.10.
|
|
22
|
+
export declare const CAELO_VERSION = "0.10.69";
|
|
23
23
|
/**
|
|
24
24
|
* Deprecated alias for back-compat — early P17 work spelled this
|
|
25
25
|
* `CALEO_VERSION` (typo of "Caelo"). New code should import
|
|
@@ -31,7 +31,7 @@ export declare const CAELO_VERSION = "0.10.67";
|
|
|
31
31
|
*
|
|
32
32
|
* @deprecated use CAELO_VERSION
|
|
33
33
|
*/
|
|
34
|
-
export declare const CALEO_VERSION = "0.10.
|
|
34
|
+
export declare const CALEO_VERSION = "0.10.69";
|
|
35
35
|
/**
|
|
36
36
|
* Parsed shape — major/minor/patch + optional pre-release tag.
|
|
37
37
|
* Stable interface for callers that need to feature-gate (rare —
|
package/dist/version.js
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
* Format: SemVer 2.0.0. Pre-1.0 minor bumps are breaking; post-1.0
|
|
21
21
|
* follow standard SemVer.
|
|
22
22
|
*/
|
|
23
|
-
export const CAELO_VERSION = "0.10.
|
|
23
|
+
export const CAELO_VERSION = "0.10.69";
|
|
24
24
|
/**
|
|
25
25
|
* Deprecated alias for back-compat — early P17 work spelled this
|
|
26
26
|
* `CALEO_VERSION` (typo of "Caelo"). New code should import
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@caelo-cms/shared",
|
|
3
|
-
"version": "0.10.
|
|
3
|
+
"version": "0.10.69",
|
|
4
4
|
"private": false,
|
|
5
5
|
"license": "MPL-2.0",
|
|
6
6
|
"description": "Shared Zod schemas + types + the two-pass HTML composer used by every Caelo CMS workspace package. Stable enough for plugin authors and embedders to depend on directly.",
|
package/src/ai-tools.ts
CHANGED
|
@@ -26,6 +26,7 @@ import {
|
|
|
26
26
|
} from "./content.js";
|
|
27
27
|
import { pluginPreviewSelectionSchema } from "./plugin-preview.js";
|
|
28
28
|
import { redirectTargetPathSchema } from "./redirect-target.js";
|
|
29
|
+
import { unwrapCdataEnvelope } from "./strip-cdata.js";
|
|
29
30
|
|
|
30
31
|
/**
|
|
31
32
|
* v0.6.2 — `position` argument shared across the three `add_module_to_*`
|
|
@@ -58,6 +59,19 @@ function stripSurroundingQuotes(v: unknown): unknown {
|
|
|
58
59
|
const m = v.match(/^(["'])([\s\S]+)\1$/);
|
|
59
60
|
return m ? m[2] : v;
|
|
60
61
|
}
|
|
62
|
+
/**
|
|
63
|
+
* An AI tool argument holding source text (html / css / js): the given
|
|
64
|
+
* string schema, with a whole-value `<![CDATA[ … ]]>` transport envelope
|
|
65
|
+
* decoded first (see `unwrapCdataEnvelope`). Every AI authoring surface for
|
|
66
|
+
* module, template and layout source uses it, so one encoding habit of the
|
|
67
|
+
* model is handled in one place instead of refused per tool.
|
|
68
|
+
*
|
|
69
|
+
* @param schema - the string schema (length caps, min) the decoded value must satisfy.
|
|
70
|
+
*/
|
|
71
|
+
export function sourceTextArg<T extends z.ZodType<string>>(schema: T) {
|
|
72
|
+
return z.preprocess(unwrapCdataEnvelope, schema);
|
|
73
|
+
}
|
|
74
|
+
|
|
61
75
|
export const positionInputSchema = z.preprocess(
|
|
62
76
|
stripSurroundingQuotes,
|
|
63
77
|
z.union([
|
|
@@ -87,9 +101,9 @@ export const editModuleToolInput = z
|
|
|
87
101
|
* create time. Set it to make this module satisfy a parent's allowlist.
|
|
88
102
|
*/
|
|
89
103
|
type: slugSchema.optional(),
|
|
90
|
-
html: z.string().max(MODULE_HTML_MAX).optional(),
|
|
91
|
-
css: z.string().max(MODULE_CSS_MAX).optional(),
|
|
92
|
-
js: z.string().max(MODULE_JS_MAX).optional(),
|
|
104
|
+
html: sourceTextArg(z.string().max(MODULE_HTML_MAX)).optional(),
|
|
105
|
+
css: sourceTextArg(z.string().max(MODULE_CSS_MAX)).optional(),
|
|
106
|
+
js: sourceTextArg(z.string().max(MODULE_JS_MAX)).optional(),
|
|
93
107
|
/**
|
|
94
108
|
* v0.4.0 — module field schema. Each field declares one substitution
|
|
95
109
|
* slot referenced in the module HTML as `{{name}}`. Page placements
|
|
@@ -138,10 +152,16 @@ export const siteMemoryProposeToolInput = z
|
|
|
138
152
|
* smallest case rather than a separate singular tool. Loading three skills was
|
|
139
153
|
* three provider round-trips whose only output was one tool call each.
|
|
140
154
|
*
|
|
141
|
-
* Capped at
|
|
142
|
-
*
|
|
143
|
-
*
|
|
155
|
+
* Capped at LOAD_SKILL_MAX_SLUGS as a bound on garbage input, not on
|
|
156
|
+
* judgement. It used to be 5 on the theory that wanting more meant matching
|
|
157
|
+
* the index too loosely; building a site from nothing legitimately engages
|
|
158
|
+
* six (bootstrap-site, compose-page, design-quality, brand-voice-guard,
|
|
159
|
+
* theme-branding, templates-layouts — e2e-livedit runs 39924624682 and
|
|
160
|
+
* 40018333047), and the description tells the model to pass EVERY skill it
|
|
161
|
+
* needs in one call, so the cap split one correct call into a refusal and a
|
|
162
|
+
* retry.
|
|
144
163
|
*/
|
|
164
|
+
export const LOAD_SKILL_MAX_SLUGS = 20;
|
|
145
165
|
export const loadSkillToolInput = z
|
|
146
166
|
.object({
|
|
147
167
|
slugs: z
|
|
@@ -153,7 +173,7 @@ export const loadSkillToolInput = z
|
|
|
153
173
|
.regex(/^[a-z0-9-]+$/, "lowercase letters/digits/hyphens"),
|
|
154
174
|
)
|
|
155
175
|
.min(1)
|
|
156
|
-
.max(
|
|
176
|
+
.max(LOAD_SKILL_MAX_SLUGS),
|
|
157
177
|
})
|
|
158
178
|
.strict();
|
|
159
179
|
export type LoadSkillToolInput = z.infer<typeof loadSkillToolInput>;
|
|
@@ -186,9 +206,9 @@ export const addModuleToolInput = z
|
|
|
186
206
|
description: z.string().max(1000).optional(),
|
|
187
207
|
kind: z.enum(["chrome", "hero", "content", "cta", "utility"]).optional(),
|
|
188
208
|
type: slugSchema.optional(),
|
|
189
|
-
html: z.string().min(1).max(50_000).optional(),
|
|
190
|
-
css: z.string().max(50_000).optional(),
|
|
191
|
-
js: z.string().max(50_000).optional(),
|
|
209
|
+
html: sourceTextArg(z.string().min(1).max(50_000)).optional(),
|
|
210
|
+
css: sourceTextArg(z.string().max(50_000)).optional(),
|
|
211
|
+
js: sourceTextArg(z.string().max(50_000)).optional(),
|
|
192
212
|
fields: z.array(moduleFieldSchema).max(64).optional(),
|
|
193
213
|
bindThemeLiterals: z.boolean().optional(),
|
|
194
214
|
/**
|
|
@@ -627,8 +647,8 @@ export const createTemplateToolInput = z
|
|
|
627
647
|
.object({
|
|
628
648
|
slug: slugInputSchema,
|
|
629
649
|
displayName: z.string().min(1).max(256),
|
|
630
|
-
html: z.string().min(1).max(2_000_000),
|
|
631
|
-
css: z.string().max(2_000_000).default(""),
|
|
650
|
+
html: sourceTextArg(z.string().min(1).max(2_000_000)),
|
|
651
|
+
css: sourceTextArg(z.string().max(2_000_000)).default(""),
|
|
632
652
|
layoutId: z.string().uuid().optional(),
|
|
633
653
|
// Optional block-set metadata, symmetric with create_layout. Omit to
|
|
634
654
|
// auto-derive blocks from <caelo-slot> tags; pass to set displayName /
|
|
@@ -693,8 +713,8 @@ export const createLayoutToolInput = z
|
|
|
693
713
|
.object({
|
|
694
714
|
slug: slugInputSchema,
|
|
695
715
|
displayName: z.string().min(1).max(200),
|
|
696
|
-
html: z.string().min(1).max(50_000),
|
|
697
|
-
css: z.string().max(50_000).optional(),
|
|
716
|
+
html: sourceTextArg(z.string().min(1).max(50_000)),
|
|
717
|
+
css: sourceTextArg(z.string().max(50_000)).optional(),
|
|
698
718
|
blocks: z
|
|
699
719
|
.array(
|
|
700
720
|
z
|
package/src/build-page.test.ts
CHANGED
|
@@ -70,19 +70,20 @@ describe("buildPageInputSchema — page target modes", () => {
|
|
|
70
70
|
expect(r.data.page.metaDescription).toBe("Plans and prices.");
|
|
71
71
|
});
|
|
72
72
|
|
|
73
|
-
it("rejects a blank meta description
|
|
73
|
+
it("rejects a blank meta description", () => {
|
|
74
74
|
const blank = buildPageInputSchema.safeParse({
|
|
75
75
|
page: { slug: "pricing", title: "Pricing", metaDescription: " " },
|
|
76
76
|
modules: [],
|
|
77
77
|
});
|
|
78
78
|
expect(blank.success).toBe(false);
|
|
79
|
+
});
|
|
80
|
+
|
|
81
|
+
it("takes a meta description with pageId (the existing page's first fill; run 40018361466)", () => {
|
|
79
82
|
const existing = buildPageInputSchema.safeParse({
|
|
80
83
|
page: { pageId: UUID, metaDescription: "Plans and prices." },
|
|
81
84
|
modules: [],
|
|
82
85
|
});
|
|
83
|
-
expect(existing.success).toBe(
|
|
84
|
-
if (existing.success) return;
|
|
85
|
-
expect(existing.error.issues[0]!.message).toContain("autofill_page_seo");
|
|
86
|
+
expect(existing.success).toBe(true);
|
|
86
87
|
});
|
|
87
88
|
|
|
88
89
|
it("rejects a page target with neither pageId nor slug+title", () => {
|
package/src/build-page.ts
CHANGED
|
@@ -20,7 +20,7 @@
|
|
|
20
20
|
*/
|
|
21
21
|
|
|
22
22
|
import { z } from "zod";
|
|
23
|
-
import { positionInputSchema } from "./ai-tools.js";
|
|
23
|
+
import { positionInputSchema, sourceTextArg } from "./ai-tools.js";
|
|
24
24
|
import {
|
|
25
25
|
contentInstanceCreateSchema,
|
|
26
26
|
MODULE_CSS_MAX,
|
|
@@ -155,9 +155,9 @@ export const buildPageModuleSchema = z
|
|
|
155
155
|
description: z.string().max(1000).optional(),
|
|
156
156
|
kind: moduleKindSchema.optional(),
|
|
157
157
|
type: slugSchema.optional(),
|
|
158
|
-
html: z.string().min(1).max(MODULE_HTML_MAX).optional(),
|
|
159
|
-
css: z.string().max(MODULE_CSS_MAX).optional(),
|
|
160
|
-
js: z.string().max(MODULE_JS_MAX).optional(),
|
|
158
|
+
html: sourceTextArg(z.string().min(1).max(MODULE_HTML_MAX)).optional(),
|
|
159
|
+
css: sourceTextArg(z.string().max(MODULE_CSS_MAX)).optional(),
|
|
160
|
+
js: sourceTextArg(z.string().max(MODULE_JS_MAX)).optional(),
|
|
161
161
|
fields: z.array(moduleFieldSchema).max(64).optional(),
|
|
162
162
|
/** issue #164 slice 2 — opt-in mechanical token binding (tool layer). */
|
|
163
163
|
bindThemeLiterals: z.boolean().optional(),
|
|
@@ -239,9 +239,13 @@ export const buildPageTargetSchema = z
|
|
|
239
239
|
* The new page's meta description, written in the same transaction
|
|
240
240
|
* with the fill-once semantics of `pages_seo.autofill` (CLAUDE.md §2).
|
|
241
241
|
* A staging build refuses a published page without one, so the page
|
|
242
|
-
* is Stage-ready from the call that creates it.
|
|
243
|
-
*
|
|
244
|
-
*
|
|
242
|
+
* is Stage-ready from the call that creates it. With `pageId` it is the
|
|
243
|
+
* existing page's FIRST description, same fill-once rule: a page that
|
|
244
|
+
* already has a different one keeps it (`kept-existing`, never an
|
|
245
|
+
* overwrite). Refusing it there (as #993 did) failed the natural "build
|
|
246
|
+
* the page's content and describe it in one pass" call (e2e-livedit run
|
|
247
|
+
* 40018361466) although the op applied it safely for importPageId
|
|
248
|
+
* rebuilds of existing pages all along.
|
|
245
249
|
*/
|
|
246
250
|
metaDescription: z.string().trim().min(1).max(SEO_DESCRIPTION_HARD_MAX).optional(),
|
|
247
251
|
})
|
|
@@ -251,13 +255,6 @@ export const buildPageTargetSchema = z
|
|
|
251
255
|
["slug", "title", "name", "templateId", "status", "parentPageId"] as const
|
|
252
256
|
).filter((k) => page[k] !== undefined);
|
|
253
257
|
if (page.pageId !== undefined) {
|
|
254
|
-
if (page.metaDescription !== undefined) {
|
|
255
|
-
ctx.addIssue({
|
|
256
|
-
code: z.ZodIssueCode.custom,
|
|
257
|
-
message:
|
|
258
|
-
"page.metaDescription is written only for a page this call CREATES — drop it with pageId; an existing page without a description gets one via autofill_page_seo.",
|
|
259
|
-
});
|
|
260
|
-
}
|
|
261
258
|
if (createKeys.length > 0) {
|
|
262
259
|
ctx.addIssue({
|
|
263
260
|
code: z.ZodIssueCode.custom,
|
|
@@ -309,6 +306,12 @@ export type BuildPageInput = z.infer<typeof buildPageInputSchema>;
|
|
|
309
306
|
|
|
310
307
|
/** `pages.build_page` op output — one row per placed module, in input order. */
|
|
311
308
|
export const buildPagePlacementResultSchema = z.object({
|
|
309
|
+
/**
|
|
310
|
+
* The entry's index in the call's `modules` array. Detached (nested-only)
|
|
311
|
+
* entries are not placed, so the row's position in `placements` is NOT
|
|
312
|
+
* the input index once one precedes it — label results with this.
|
|
313
|
+
*/
|
|
314
|
+
index: z.number().int().nonnegative(),
|
|
312
315
|
blockName: z.string(),
|
|
313
316
|
position: z.number().int().nonnegative(),
|
|
314
317
|
moduleId: z.string(),
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// SPDX-License-Identifier: MPL-2.0
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* `html` with comments and the contents of raw-text elements (script,
|
|
5
|
+
* style, template, noscript, textarea) replaced by spaces of the same
|
|
6
|
+
* length. Scans over the result see only markup a browser would parse as
|
|
7
|
+
* elements, and every offset found in it is the same offset in `html`.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* blankNonMarkup('<!-- <a href="x"> --><p>y</p>'); // ' <p>y</p>'
|
|
11
|
+
*/
|
|
12
|
+
export function blankNonMarkup(html: string): string {
|
|
13
|
+
const blank = (s: string): string => " ".repeat(s.length);
|
|
14
|
+
return html
|
|
15
|
+
.replace(/<!--[\s\S]*?(?:-->|$)/g, blank)
|
|
16
|
+
.replace(
|
|
17
|
+
/(<(script|style|template|noscript|textarea)\b[^>]*>)([\s\S]*?)(<\/\2\s*>|$)/gi,
|
|
18
|
+
(_all, open: string, _tag: string, body: string, close: string) =>
|
|
19
|
+
`${open}${blank(body)}${close}`,
|
|
20
|
+
);
|
|
21
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -47,6 +47,7 @@ export * from "./mcp-access.js";
|
|
|
47
47
|
export * from "./media.js";
|
|
48
48
|
export * from "./nested-module-render.js";
|
|
49
49
|
export * from "./page-log.js";
|
|
50
|
+
export * from "./phase-timer.js";
|
|
50
51
|
export * from "./platform-updates.js";
|
|
51
52
|
export * from "./plugin-preview.js";
|
|
52
53
|
export * from "./preview-compose.js";
|
|
@@ -64,6 +65,7 @@ export * from "./redirect-target.js";
|
|
|
64
65
|
export * from "./release-manifest.js";
|
|
65
66
|
export * from "./responsive-images.js";
|
|
66
67
|
export * from "./result.js";
|
|
68
|
+
export * from "./run-batched.js";
|
|
67
69
|
export * from "./safe-keys.js";
|
|
68
70
|
export * from "./screenshot-capture.js";
|
|
69
71
|
export * from "./seo.js";
|
|
@@ -17,6 +17,7 @@ import {
|
|
|
17
17
|
describeLinkIssues,
|
|
18
18
|
type LinkTargetLookup,
|
|
19
19
|
linkCanonicaliseRun,
|
|
20
|
+
urlFieldNamesInHtml,
|
|
20
21
|
} from "./link-canonicalise.js";
|
|
21
22
|
|
|
22
23
|
const ABOUT = "11111111-1111-4111-8111-111111111111";
|
|
@@ -414,3 +415,29 @@ describe("grandfathering + messages", () => {
|
|
|
414
415
|
expect(msg).toContain("create it first");
|
|
415
416
|
});
|
|
416
417
|
});
|
|
418
|
+
|
|
419
|
+
describe("urlFieldNamesInHtml (#852)", () => {
|
|
420
|
+
it("names fields put whole into href/src, in sections too, and skips partial values", () => {
|
|
421
|
+
const names = urlFieldNamesInHtml(
|
|
422
|
+
'<a href="{{Target}}">{{label}}</a><img src="{{{photo}}}" alt="">' +
|
|
423
|
+
"<ul>{{#links}}<li><a href='{{.}}'>x</a></li>{{/links}}</ul>" +
|
|
424
|
+
'{{#cta}}<a href=" {{cta}} ">go</a>{{/cta}}' +
|
|
425
|
+
'<a href="{{base}}/docs">part</a><a href="mailto:{{email}}">m</a>' +
|
|
426
|
+
'<img srcset="{{set}}" alt="">',
|
|
427
|
+
);
|
|
428
|
+
expect([...names].sort()).toEqual(["cta", "links", "photo", "target"]);
|
|
429
|
+
});
|
|
430
|
+
|
|
431
|
+
it("returns nothing for HTML without placeholders", () => {
|
|
432
|
+
expect(urlFieldNamesInHtml('<a href="/about">x</a>').size).toBe(0);
|
|
433
|
+
});
|
|
434
|
+
|
|
435
|
+
it("ignores links inside comments and script or style text", () => {
|
|
436
|
+
const names = urlFieldNamesInHtml(
|
|
437
|
+
'<!-- <a href="{{caption}}">old</a> --><p>{{caption}}</p>' +
|
|
438
|
+
"<script>const t = '<a href=\"{{label}}\">x</a>';</script>" +
|
|
439
|
+
'<style>/* <img src="{{photo}}"> */</style><a href="{{target}}">go</a>',
|
|
440
|
+
);
|
|
441
|
+
expect([...names]).toEqual(["target"]);
|
|
442
|
+
});
|
|
443
|
+
});
|
package/src/link-canonicalise.ts
CHANGED
|
@@ -47,6 +47,7 @@
|
|
|
47
47
|
* homepage. Once the homepage exists, `/` canonicalises as usual.
|
|
48
48
|
*/
|
|
49
49
|
|
|
50
|
+
import { blankNonMarkup } from "./html-blank.js";
|
|
50
51
|
import {
|
|
51
52
|
findMalformedLinkRefs,
|
|
52
53
|
formatLinkRef,
|
|
@@ -419,6 +420,78 @@ function* startTags(html: string): Generator<[number, number]> {
|
|
|
419
420
|
}
|
|
420
421
|
}
|
|
421
422
|
|
|
423
|
+
// A whole attribute value that is exactly one placeholder: `{{name}}`,
|
|
424
|
+
// `{{{name}}}`, `{{&name}}`, or a list item `{{.}}` / `{{item}}`.
|
|
425
|
+
const WHOLE_PLACEHOLDER_RE = /^\s*\{\{\{?\s*&?\s*([A-Za-z][A-Za-z0-9_]*|\.)\s*\}?\}\}\s*$/;
|
|
426
|
+
// Section open / close tags, to name the list a `{{.}}` iterates.
|
|
427
|
+
const SECTION_TAG_RE = /\{\{\s*([#^/])\s*([A-Za-z][A-Za-z0-9_]*)\s*\}\}/g;
|
|
428
|
+
|
|
429
|
+
/**
|
|
430
|
+
* The fields module HTML puts WHOLE into a link attribute
|
|
431
|
+
* (`href="{{cta}}"`, `src="{{photo}}"`, `<a href="{{.}}">` inside
|
|
432
|
+
* `{{#links}}…{{/links}}`), lowercased as the template engine looks them
|
|
433
|
+
* up. Such a value renders as a link whatever kind the field declares
|
|
434
|
+
* (`text`), and even when no field declares it at all (the engine puts
|
|
435
|
+
* every stored value into its view), so link checks and write-time
|
|
436
|
+
* canonicalisation read it as a URL (#852). A placeholder that is only
|
|
437
|
+
* part of the value (`href="{{base}}/docs"`, `mailto:{{email}}`) is not:
|
|
438
|
+
* the value is not a link on its own. `srcset` is a list of candidates,
|
|
439
|
+
* never one URL, and stays out.
|
|
440
|
+
*
|
|
441
|
+
* @example
|
|
442
|
+
* urlFieldNamesInHtml('<a href="{{cta_target}}">{{label}}</a>'); // Set { "cta_target" }
|
|
443
|
+
*/
|
|
444
|
+
export function urlFieldNamesInHtml(html: string): Set<string> {
|
|
445
|
+
const out = new Set<string>();
|
|
446
|
+
if (!html.includes("{{")) return out;
|
|
447
|
+
// Commented-out markup and script/style strings are not links: scan a
|
|
448
|
+
// copy with them blanked (equal length, so offsets match).
|
|
449
|
+
const markup = blankNonMarkup(html);
|
|
450
|
+
// Open sections by position, so a `{{.}}` names its innermost list.
|
|
451
|
+
const sections: { name: string; start: number; end: number }[] = [];
|
|
452
|
+
const open: { name: string; start: number }[] = [];
|
|
453
|
+
for (const m of markup.matchAll(SECTION_TAG_RE)) {
|
|
454
|
+
const name = (m[2] as string).toLowerCase();
|
|
455
|
+
if (m[1] !== "/") {
|
|
456
|
+
open.push({ name, start: m.index });
|
|
457
|
+
continue;
|
|
458
|
+
}
|
|
459
|
+
for (let k = open.length - 1; k >= 0; k -= 1) {
|
|
460
|
+
const o = open[k] as { name: string; start: number };
|
|
461
|
+
if (o.name !== name) continue;
|
|
462
|
+
sections.push({ name, start: o.start, end: m.index });
|
|
463
|
+
open.length = k;
|
|
464
|
+
break;
|
|
465
|
+
}
|
|
466
|
+
}
|
|
467
|
+
const innermostSection = (at: number): string | null => {
|
|
468
|
+
let best: { name: string; start: number; end: number } | null = null;
|
|
469
|
+
for (const s of sections) {
|
|
470
|
+
if (s.start < at && at < s.end && (best === null || s.start > best.start)) best = s;
|
|
471
|
+
}
|
|
472
|
+
return best?.name ?? null;
|
|
473
|
+
};
|
|
474
|
+
for (const [start, end] of startTags(markup)) {
|
|
475
|
+
const tag = markup.slice(start, end);
|
|
476
|
+
for (const m of tag.matchAll(ATTR_RE)) {
|
|
477
|
+
const attr = (m[1] as string)
|
|
478
|
+
.trim()
|
|
479
|
+
.replace(/\s*=\s*$/, "")
|
|
480
|
+
.toLowerCase();
|
|
481
|
+
if (attr === "srcset") continue;
|
|
482
|
+
const placeholder = WHOLE_PLACEHOLDER_RE.exec(m[2] ?? m[3] ?? "")?.[1];
|
|
483
|
+
if (placeholder === undefined) continue;
|
|
484
|
+
if (placeholder !== "." && placeholder.toLowerCase() !== "item") {
|
|
485
|
+
out.add(placeholder.toLowerCase());
|
|
486
|
+
continue;
|
|
487
|
+
}
|
|
488
|
+
const list = innermostSection(start + m.index);
|
|
489
|
+
if (list !== null) out.add(list);
|
|
490
|
+
}
|
|
491
|
+
}
|
|
492
|
+
return out;
|
|
493
|
+
}
|
|
494
|
+
|
|
422
495
|
function canonicaliseTagAttributes(tag: string, run: LinkCanonicaliseRun, where: string): string {
|
|
423
496
|
return tag.replace(ATTR_RE, (whole, prefix: string, dq?: string, sq?: string) => {
|
|
424
497
|
const quote = dq !== undefined ? '"' : "'";
|
|
@@ -511,38 +584,60 @@ function canonicaliseFieldValue(
|
|
|
511
584
|
value: unknown,
|
|
512
585
|
run: LinkCanonicaliseRun,
|
|
513
586
|
where: string,
|
|
587
|
+
urlNames: ReadonlySet<string> | undefined,
|
|
514
588
|
): unknown {
|
|
515
589
|
if (field && NESTED_KINDS.has(field.kind)) return value;
|
|
516
|
-
const asUrl =
|
|
590
|
+
const asUrl =
|
|
591
|
+
(field !== undefined && URL_KINDS.has(field.kind)) ||
|
|
592
|
+
isLinkKeyName(name) ||
|
|
593
|
+
urlNames?.has(name.toLowerCase()) === true;
|
|
517
594
|
return canonicaliseJsonLinks(value, run, where, asUrl);
|
|
518
595
|
}
|
|
519
596
|
|
|
520
597
|
/**
|
|
521
598
|
* Canonicalise a content instance's values against its module's fields.
|
|
522
599
|
* Values without a declared field are still scanned (key-name rule +
|
|
523
|
-
* HTML)
|
|
600
|
+
* HTML): the template engine renders every stored value a placeholder
|
|
601
|
+
* names, declared or not.
|
|
602
|
+
*
|
|
603
|
+
* @param urlNames fields the module HTML puts whole into a link
|
|
604
|
+
* attribute ({@link urlFieldNamesInHtml}); their values are URLs
|
|
605
|
+
* whatever their declared kind.
|
|
524
606
|
*/
|
|
525
607
|
export function canonicaliseContentValues(
|
|
526
608
|
fields: readonly CanonicaliseField[],
|
|
527
609
|
values: Readonly<Record<string, unknown>>,
|
|
528
610
|
run: LinkCanonicaliseRun,
|
|
611
|
+
urlNames?: ReadonlySet<string>,
|
|
529
612
|
): Record<string, unknown> {
|
|
530
613
|
const byName = new Map(fields.map((f) => [f.name, f]));
|
|
531
614
|
const out: Record<string, unknown> = {};
|
|
532
615
|
for (const [k, v] of Object.entries(values)) {
|
|
533
|
-
out[k] = canonicaliseFieldValue(byName.get(k), k, v, run, `values.${k}
|
|
616
|
+
out[k] = canonicaliseFieldValue(byName.get(k), k, v, run, `values.${k}`, urlNames);
|
|
534
617
|
}
|
|
535
618
|
return out;
|
|
536
619
|
}
|
|
537
620
|
|
|
538
|
-
/**
|
|
621
|
+
/**
|
|
622
|
+
* Canonicalise every field's `default` (layout chrome content lives there).
|
|
623
|
+
*
|
|
624
|
+
* @param urlNames as for {@link canonicaliseContentValues}.
|
|
625
|
+
*/
|
|
539
626
|
export function canonicaliseFieldDefaults<F extends CanonicaliseField>(
|
|
540
627
|
fields: readonly F[],
|
|
541
628
|
run: LinkCanonicaliseRun,
|
|
629
|
+
urlNames?: ReadonlySet<string>,
|
|
542
630
|
): F[] {
|
|
543
631
|
return fields.map((f) => {
|
|
544
632
|
if (f.default === undefined || f.default === null) return f;
|
|
545
|
-
const next = canonicaliseFieldValue(
|
|
633
|
+
const next = canonicaliseFieldValue(
|
|
634
|
+
f,
|
|
635
|
+
f.name,
|
|
636
|
+
f.default,
|
|
637
|
+
run,
|
|
638
|
+
`fields.${f.name}.default`,
|
|
639
|
+
urlNames,
|
|
640
|
+
);
|
|
546
641
|
return next === f.default ? f : { ...f, default: next };
|
|
547
642
|
});
|
|
548
643
|
}
|
|
@@ -9,6 +9,7 @@ import {
|
|
|
9
9
|
NEAR_MATCH_THRESHOLD,
|
|
10
10
|
outermostPatterns,
|
|
11
11
|
parseMarkup,
|
|
12
|
+
repeatedSiblingPatterns,
|
|
12
13
|
shapeSimilarity,
|
|
13
14
|
shapeTree,
|
|
14
15
|
stripMustache,
|
|
@@ -267,3 +268,23 @@ describe("bounds", () => {
|
|
|
267
268
|
expect(root?.children[0]?.children).toEqual([]);
|
|
268
269
|
});
|
|
269
270
|
});
|
|
271
|
+
|
|
272
|
+
describe("repeatedSiblingPatterns (#1068)", () => {
|
|
273
|
+
const card = '<article class="tc"><h3 class="n">x</h3><dl><dt>a</dt><dd>b</dd></dl></article>';
|
|
274
|
+
|
|
275
|
+
it("finds 3+ sibling copies at any depth, once, and ignores pairs and prose", () => {
|
|
276
|
+
const found = repeatedSiblingPatterns(
|
|
277
|
+
parseMarkup(`<div class="grid">${card.repeat(4)}</div>${card.repeat(2)}`),
|
|
278
|
+
);
|
|
279
|
+
expect(found.map((f) => [f.node.tag, f.count])).toEqual([["article", 4]]);
|
|
280
|
+
expect(repeatedSiblingPatterns(parseMarkup(card.repeat(2)))).toEqual([]);
|
|
281
|
+
expect(repeatedSiblingPatterns(parseMarkup("<ul><li><p>a</p></li></ul>".repeat(5)))).toEqual(
|
|
282
|
+
[],
|
|
283
|
+
);
|
|
284
|
+
});
|
|
285
|
+
|
|
286
|
+
it("skips nested module roots: their own module owns them", () => {
|
|
287
|
+
const tagged = card.replace("<article", '<article data-caelo-module-id="m"');
|
|
288
|
+
expect(repeatedSiblingPatterns(parseMarkup(tagged.repeat(3)))).toEqual([]);
|
|
289
|
+
});
|
|
290
|
+
});
|
package/src/markup-structure.ts
CHANGED
|
@@ -244,6 +244,60 @@ export function outermostPatterns(roots: readonly MarkupNode[]): FoundPattern[]
|
|
|
244
244
|
return found;
|
|
245
245
|
}
|
|
246
246
|
|
|
247
|
+
/**
|
|
248
|
+
* Copies of one pattern side by side at which free markup reads as a
|
|
249
|
+
* hand-written list (#1068): three cards in a row are a list of items, two
|
|
250
|
+
* may still be a deliberate pair (a before/after, a two-column split).
|
|
251
|
+
*/
|
|
252
|
+
export const MIN_SIBLING_REPEATS = 3;
|
|
253
|
+
|
|
254
|
+
/** A pattern repeated side by side in one piece of markup. */
|
|
255
|
+
export interface RepeatedSiblings {
|
|
256
|
+
/** The first copy. */
|
|
257
|
+
readonly node: MarkupNode;
|
|
258
|
+
readonly shape: SubtreeShape;
|
|
259
|
+
/** How many siblings share its signature. */
|
|
260
|
+
readonly count: number;
|
|
261
|
+
}
|
|
262
|
+
|
|
263
|
+
/**
|
|
264
|
+
* Patterns that repeat {@link MIN_SIBLING_REPEATS}+ times as siblings: the
|
|
265
|
+
* same component written out once per item (83 tool cards in one richtext
|
|
266
|
+
* value) instead of a list field rendering one module per item. Roots of
|
|
267
|
+
* the forest that share a parent are siblings too (the free regions of one
|
|
268
|
+
* rendered module). A repeated set is reported once and not searched
|
|
269
|
+
* inside; anything else is searched all the way down. Nested module roots
|
|
270
|
+
* are skipped: their own module owns them.
|
|
271
|
+
*/
|
|
272
|
+
export function repeatedSiblingPatterns(roots: readonly MarkupNode[]): RepeatedSiblings[] {
|
|
273
|
+
const shapes = new Map<MarkupNode, SubtreeShape>();
|
|
274
|
+
for (const r of roots) if (r.moduleId === null) shapeTree(r, shapes);
|
|
275
|
+
const found: RepeatedSiblings[] = [];
|
|
276
|
+
const visitSiblings = (siblings: readonly MarkupNode[]) => {
|
|
277
|
+
const bySig = new Map<string, MarkupNode[]>();
|
|
278
|
+
for (const n of siblings) {
|
|
279
|
+
if (n.moduleId !== null) continue;
|
|
280
|
+
const shape = shapes.get(n);
|
|
281
|
+
if (!shape || !isPattern(shape)) continue;
|
|
282
|
+
bySig.set(shape.signature, [...(bySig.get(shape.signature) ?? []), n]);
|
|
283
|
+
}
|
|
284
|
+
const reported = new Set<MarkupNode>();
|
|
285
|
+
for (const copies of bySig.values()) {
|
|
286
|
+
if (copies.length < MIN_SIBLING_REPEATS) continue;
|
|
287
|
+
const first = copies[0] as MarkupNode;
|
|
288
|
+
found.push({ node: first, shape: shapes.get(first) as SubtreeShape, count: copies.length });
|
|
289
|
+
for (const c of copies) reported.add(c);
|
|
290
|
+
}
|
|
291
|
+
for (const n of siblings) {
|
|
292
|
+
if (n.moduleId === null && !reported.has(n)) visitSiblings(n.children);
|
|
293
|
+
}
|
|
294
|
+
};
|
|
295
|
+
const byParent = new Map<MarkupNode | null, MarkupNode[]>();
|
|
296
|
+
for (const r of roots) byParent.set(r.parent, [...(byParent.get(r.parent) ?? []), r]);
|
|
297
|
+
for (const group of byParent.values()) visitSiblings(group);
|
|
298
|
+
return found;
|
|
299
|
+
}
|
|
300
|
+
|
|
247
301
|
/** The shape of a whole module template (its first element), or null. */
|
|
248
302
|
export function templateShape(templateHtml: string): SubtreeShape | null {
|
|
249
303
|
const root = parseMarkup(stripMustache(templateHtml))[0];
|