@refrakt-md/runes 0.38.0 → 0.39.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/collection-helpers.d.ts +21 -2
- package/dist/collection-helpers.d.ts.map +1 -1
- package/dist/collection-helpers.js +72 -15
- package/dist/collection-helpers.js.map +1 -1
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +73 -40
- package/dist/config.js.map +1 -1
- package/dist/data-pipeline.d.ts +24 -10
- package/dist/data-pipeline.d.ts.map +1 -1
- package/dist/data-pipeline.js +34 -56
- package/dist/data-pipeline.js.map +1 -1
- package/dist/file-ref-resolve.js +9 -13
- package/dist/file-ref-resolve.js.map +1 -1
- package/dist/index.d.ts +8 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +7 -4
- package/dist/index.js.map +1 -1
- package/dist/lib/index.d.ts +47 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +112 -5
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/preprocess.d.ts +63 -0
- package/dist/lib/preprocess.d.ts.map +1 -0
- package/dist/lib/preprocess.js +71 -0
- package/dist/lib/preprocess.js.map +1 -0
- package/dist/lib/registers.d.ts +132 -0
- package/dist/lib/registers.d.ts.map +1 -0
- package/dist/lib/registers.js +328 -0
- package/dist/lib/registers.js.map +1 -0
- package/dist/lib/resolver.d.ts +9 -1
- package/dist/lib/resolver.d.ts.map +1 -1
- package/dist/lib/resolver.js +16 -0
- package/dist/lib/resolver.js.map +1 -1
- package/dist/lib/schema-table.d.ts +46 -9
- package/dist/lib/schema-table.d.ts.map +1 -1
- package/dist/lib/schema-table.js +111 -22
- package/dist/lib/schema-table.js.map +1 -1
- package/dist/lib/slots.d.ts +99 -0
- package/dist/lib/slots.d.ts.map +1 -0
- package/dist/lib/slots.js +448 -0
- package/dist/lib/slots.js.map +1 -0
- package/dist/reference.d.ts +18 -0
- package/dist/reference.d.ts.map +1 -1
- package/dist/reference.js +34 -1
- package/dist/reference.js.map +1 -1
- package/dist/registers-pipeline.d.ts +50 -0
- package/dist/registers-pipeline.d.ts.map +1 -0
- package/dist/registers-pipeline.js +218 -0
- package/dist/registers-pipeline.js.map +1 -0
- package/dist/schema-row.d.ts +5 -0
- package/dist/schema-row.d.ts.map +1 -1
- package/dist/schema-row.js +1 -0
- package/dist/schema-row.js.map +1 -1
- package/dist/tags/data.d.ts +2 -2
- package/dist/tags/data.d.ts.map +1 -1
- package/dist/tags/data.js +6 -4
- package/dist/tags/data.js.map +1 -1
- package/dist/tags/figure.d.ts +10 -4
- package/dist/tags/figure.d.ts.map +1 -1
- package/dist/tags/figure.js +65 -20
- package/dist/tags/figure.js.map +1 -1
- package/dist/tags/include.d.ts +51 -7
- package/dist/tags/include.d.ts.map +1 -1
- package/dist/tags/include.js +216 -7
- package/dist/tags/include.js.map +1 -1
- package/dist/tags/snippet.d.ts +9 -10
- package/dist/tags/snippet.d.ts.map +1 -1
- package/dist/tags/snippet.js +213 -10
- package/dist/tags/snippet.js.map +1 -1
- package/dist/universal-attributes.d.ts +1 -1
- package/package.json +3 -3
- package/dist/include-pipeline.d.ts +0 -52
- package/dist/include-pipeline.d.ts.map +0 -1
- package/dist/include-pipeline.js +0 -206
- package/dist/include-pipeline.js.map +0 -1
- package/dist/snippet-pipeline.d.ts +0 -44
- package/dist/snippet-pipeline.d.ts.map +0 -1
- package/dist/snippet-pipeline.js +0 -307
- package/dist/snippet-pipeline.js.map +0 -1
package/dist/lib/index.js
CHANGED
|
@@ -1,16 +1,21 @@
|
|
|
1
1
|
import Markdoc from '@markdoc/markdoc';
|
|
2
2
|
import { resolveContentModel } from './resolver.js';
|
|
3
|
+
import { makeSlotTransform, slotSections } from './slots.js';
|
|
3
4
|
import { schemaBasePresets } from '../attribute-presets.js';
|
|
4
5
|
import { resolveUniversalAttributes } from '../universal-attributes.js';
|
|
5
6
|
export { createComponentRenderable, stripSchemaOrg } from './component.js';
|
|
6
7
|
import { stripSchemaOrg } from './component.js';
|
|
7
8
|
import { RenderableNodeCursor } from './renderable.js';
|
|
8
|
-
import { applySchemaTable, validateSchemaTable } from './schema-table.js';
|
|
9
|
+
import { applySchemaTable, releaseOwnedNodes, validateSchemaTable } from './schema-table.js';
|
|
10
|
+
import { auditRegistersSources, registersSources, schemaRegisters, validateRegistersDeclaration, } from './registers.js';
|
|
9
11
|
export { applySchemaTable, validateSchemaTable, selectRow, findByName, SCHEMA_TYPE_EXPLICIT, } from './schema-table.js';
|
|
10
12
|
export { resolve, resolveSequence, resolveDelimited, resolveSections, resolveContentModel, resolveListItems, evaluateCondition, matchesType, } from './resolver.js';
|
|
11
13
|
export { sanitizeSandboxContent } from './sanitize.js';
|
|
14
|
+
export { preprocessTree, schemaPreprocessors } from './preprocess.js';
|
|
15
|
+
import { schemaPreprocessors } from './preprocess.js';
|
|
12
16
|
export { extractText, groupByHeading } from './node.js';
|
|
13
17
|
export { fieldMetas } from './field-metas.js';
|
|
18
|
+
export { makeSlotTransform, slotSections, validateEmits, describeSlots, formatSlotLine, } from './slots.js';
|
|
14
19
|
/**
|
|
15
20
|
* Maps a Markdoc Schema to its content model declaration.
|
|
16
21
|
* Populated by `createContentModelSchema()` so consumers (editor, language server)
|
|
@@ -33,6 +38,13 @@ export const schemaRuneStructures = new WeakMap();
|
|
|
33
38
|
* table here is what lets the review surface D5 depends on exist at all.
|
|
34
39
|
*/
|
|
35
40
|
export const schemaTables = new WeakMap();
|
|
41
|
+
/**
|
|
42
|
+
* A declaratively-labelled rune's slot declaration, keyed by its Markdoc schema
|
|
43
|
+
* — SPEC-143. Same shape and purpose as `schemaTables`: the declaration lives in
|
|
44
|
+
* the tag module, and `inspect` and `reference` have only the schema to read.
|
|
45
|
+
* Absent for a rune that keeps a hand-written transform.
|
|
46
|
+
*/
|
|
47
|
+
export const schemaEmits = new WeakMap();
|
|
36
48
|
/**
|
|
37
49
|
* Record a hand-written schema's universal-attribute posture.
|
|
38
50
|
*
|
|
@@ -522,6 +534,56 @@ function injectSubstrateMetas(result, attrs) {
|
|
|
522
534
|
result.children = [...result.children, ...metas];
|
|
523
535
|
return result;
|
|
524
536
|
}
|
|
537
|
+
/** Sources each registering schema has been seen to provide. A source the rune
|
|
538
|
+
* emits structurally is emitted by every instance, so once seen it needs no
|
|
539
|
+
* second transform — which keeps the audit at one extra transform per rune
|
|
540
|
+
* per process rather than one per instance. */
|
|
541
|
+
const resolvedRegistersSources = new WeakMap();
|
|
542
|
+
/**
|
|
543
|
+
* The validate-time audit of a `registers` block — WORK-611.
|
|
544
|
+
*
|
|
545
|
+
* A source that resolves to nothing registers an empty id or an empty data
|
|
546
|
+
* field on every instance, silently. Reported as `registers-source-unresolved`
|
|
547
|
+
* against the instance's own line, by the rule `auditRegistersSources` shares
|
|
548
|
+
* with `inspect`. Declared attributes resolve without a transform; anything
|
|
549
|
+
* else needs the rune's output, which is produced here against a copy of the
|
|
550
|
+
* page's variables so the audit cannot disturb the real transform (generated
|
|
551
|
+
* heading ids, chiefly).
|
|
552
|
+
*/
|
|
553
|
+
function auditRegistersOnValidate(schema, decl, node, config) {
|
|
554
|
+
const seen = resolvedRegistersSources.get(schema) ?? new Set();
|
|
555
|
+
resolvedRegistersSources.set(schema, seen);
|
|
556
|
+
const declared = Object.keys(schema.attributes ?? {});
|
|
557
|
+
const pending = auditRegistersSources(decl, [], declared).filter((s) => !seen.has(s.source));
|
|
558
|
+
if (pending.length === 0)
|
|
559
|
+
return [];
|
|
560
|
+
let tree;
|
|
561
|
+
try {
|
|
562
|
+
const variables = config.variables ?? {};
|
|
563
|
+
tree = Markdoc.transform(node, {
|
|
564
|
+
...config,
|
|
565
|
+
variables: {
|
|
566
|
+
...variables,
|
|
567
|
+
generatedIds: new Set(variables.generatedIds ?? []),
|
|
568
|
+
},
|
|
569
|
+
});
|
|
570
|
+
}
|
|
571
|
+
catch {
|
|
572
|
+
// A rune that cannot transform here reports that through its own path.
|
|
573
|
+
return [];
|
|
574
|
+
}
|
|
575
|
+
const unresolved = auditRegistersSources(decl, tree, declared);
|
|
576
|
+
const missing = new Set(unresolved.map((u) => u.source));
|
|
577
|
+
for (const { source } of registersSources(decl))
|
|
578
|
+
if (!missing.has(source))
|
|
579
|
+
seen.add(source);
|
|
580
|
+
return unresolved.map(({ source, role }) => ({
|
|
581
|
+
id: 'registers-source-unresolved',
|
|
582
|
+
level: 'warning',
|
|
583
|
+
message: `registers ${role} reads "${source}", which matches no emitted node, no field-bag entry ` +
|
|
584
|
+
`and no declared attribute of {% ${node.tag} %} — it would always be empty`,
|
|
585
|
+
}));
|
|
586
|
+
}
|
|
525
587
|
/**
|
|
526
588
|
* Create a Markdoc Schema from a declarative content model.
|
|
527
589
|
*
|
|
@@ -529,6 +591,33 @@ function injectSubstrateMetas(result, attrs) {
|
|
|
529
591
|
* that receives the resolver's output.
|
|
530
592
|
*/
|
|
531
593
|
export function createContentModelSchema(options) {
|
|
594
|
+
// SPEC-143 D8 — exactly one of the two. A rune that declared some slots and
|
|
595
|
+
// patched the rest in a transform would leave neither half able to say what
|
|
596
|
+
// the output is.
|
|
597
|
+
if (options.transform && options.emits) {
|
|
598
|
+
throw new Error(`Rune "${options.emits.rune}": declares both \`transform\` and \`emits\`. Use exactly one (SPEC-143 D8) — the declaration for a rune that only labels its fields, the transform for one that restructures them.`);
|
|
599
|
+
}
|
|
600
|
+
if (!options.transform && !options.emits) {
|
|
601
|
+
const attrNames = Object.keys(options.attributes ?? {});
|
|
602
|
+
throw new Error(`A rune${attrNames.length ? ` (attributes: ${attrNames.join(', ')})` : ''} declares neither \`transform\` nor \`emits\`. It needs exactly one (SPEC-143 D8).`);
|
|
603
|
+
}
|
|
604
|
+
// Built once, at construction — not per page, not per instance.
|
|
605
|
+
const transform = options.transform ?? makeSlotTransform(options.emits, options.contentModel);
|
|
606
|
+
// The `sections` join table follows from the declaration. A rune may still
|
|
607
|
+
// state roles for names `layout` creates (a `preamble` header), but not
|
|
608
|
+
// restate a slot's — that would be the identity authored twice.
|
|
609
|
+
let sections = options.sections;
|
|
610
|
+
if (options.emits) {
|
|
611
|
+
const derived = slotSections(options.emits);
|
|
612
|
+
const restated = Object.keys(options.sections ?? {}).filter((k) => k in options.emits.slots);
|
|
613
|
+
if (restated.length > 0) {
|
|
614
|
+
throw new Error(`Rune "${options.emits.rune}": \`sections\` restates the role of slot(s) ${restated.join(', ')}, which the \`emits\` declaration already gives. Declare it on the slot (\`role\`) instead.`);
|
|
615
|
+
}
|
|
616
|
+
sections =
|
|
617
|
+
options.sections || Object.keys(derived).length > 0
|
|
618
|
+
? { ...derived, ...options.sections }
|
|
619
|
+
: undefined;
|
|
620
|
+
}
|
|
532
621
|
const attributes = {};
|
|
533
622
|
// Merge base attributes
|
|
534
623
|
if (options.base) {
|
|
@@ -548,7 +637,7 @@ export function createContentModelSchema(options) {
|
|
|
548
637
|
const { available: applicableUniversals } = resolveUniversalAttributes({
|
|
549
638
|
posture: options.universalAttributes,
|
|
550
639
|
structure: {
|
|
551
|
-
...(
|
|
640
|
+
...(sections && { sections }),
|
|
552
641
|
...(options.mediaSlots && { mediaSlots: options.mediaSlots }),
|
|
553
642
|
...(options.frameTarget && { frameTarget: options.frameTarget }),
|
|
554
643
|
...(options.provides && { provides: options.provides }),
|
|
@@ -615,8 +704,9 @@ export function createContentModelSchema(options) {
|
|
|
615
704
|
? options.contentModel(attrs)
|
|
616
705
|
: options.contentModel;
|
|
617
706
|
const { content, tintNode, bgNode } = resolveContentModel(node.children, resolvedModel, attrs);
|
|
618
|
-
// Call the
|
|
619
|
-
|
|
707
|
+
// Call the rune's transform — hand-written, or built from `emits`
|
|
708
|
+
// (SPEC-143). The one call site either way.
|
|
709
|
+
let result = transform(content, attrs, config, node);
|
|
620
710
|
// SPEC-130 / WORK-565 — realise the rune's schema table against its own
|
|
621
711
|
// output. Here, not in the engine: `site.ts` harvests `extractSeo` from
|
|
622
712
|
// the `Markdoc.transform` tree, and the engine runs later at render
|
|
@@ -625,6 +715,8 @@ export function createContentModelSchema(options) {
|
|
|
625
715
|
if (options.schema) {
|
|
626
716
|
result = applySchemaTable(result, options.schema, attrs);
|
|
627
717
|
}
|
|
718
|
+
// SPEC-146 D4 — this rune is the last that could read its ownership marks.
|
|
719
|
+
releaseOwnedNodes(result);
|
|
628
720
|
// `schema="none"` strips the whole subtree, not just the root: a child
|
|
629
721
|
// rune declares its own type independently, so stripping only the root
|
|
630
722
|
// would leave orphan typed nodes with no container (WORK-552).
|
|
@@ -690,6 +782,19 @@ export function createContentModelSchema(options) {
|
|
|
690
782
|
}
|
|
691
783
|
if (options.schema)
|
|
692
784
|
schemaTables.set(schema, options.schema);
|
|
785
|
+
if (options.emits)
|
|
786
|
+
schemaEmits.set(schema, options.emits);
|
|
787
|
+
// SPEC-144 / WORK-611 — record the registration declaration, and audit its
|
|
788
|
+
// sources at validate time, where Markdoc attaches file and line.
|
|
789
|
+
if (options.registers) {
|
|
790
|
+
validateRegistersDeclaration(options.registers);
|
|
791
|
+
schemaRegisters.set(schema, options.registers);
|
|
792
|
+
const ownValidate = schema.validate;
|
|
793
|
+
schema.validate = (node, config) => [
|
|
794
|
+
...(ownValidate?.(node, config) ?? []),
|
|
795
|
+
...auditRegistersOnValidate(schema, options.registers, node, config),
|
|
796
|
+
];
|
|
797
|
+
}
|
|
693
798
|
// Register content model for introspection by editor / language server
|
|
694
799
|
schemaContentModels.set(schema, options.contentModel);
|
|
695
800
|
// SPEC-125 Phase 2 — record the rune's own join tables, so the applicability
|
|
@@ -698,7 +803,7 @@ export function createContentModelSchema(options) {
|
|
|
698
803
|
// is the `auto` default, so a consumer can tell "this rune was built through
|
|
699
804
|
// the schema builder and is structurally gated" from "nothing is known".
|
|
700
805
|
schemaRuneStructures.set(schema, {
|
|
701
|
-
...(
|
|
806
|
+
...(sections && { sections }),
|
|
702
807
|
...(options.mediaSlots && { mediaSlots: options.mediaSlots }),
|
|
703
808
|
...(options.frameTarget && { frameTarget: options.frameTarget }),
|
|
704
809
|
universalAttributes: options.universalAttributes ?? 'auto',
|
|
@@ -709,6 +814,8 @@ export function createContentModelSchema(options) {
|
|
|
709
814
|
if (options.base) {
|
|
710
815
|
schemaBasePresets.set(schema, options.base);
|
|
711
816
|
}
|
|
817
|
+
if (options.preprocess)
|
|
818
|
+
schemaPreprocessors.set(schema, options.preprocess);
|
|
712
819
|
return schema;
|
|
713
820
|
}
|
|
714
821
|
//# sourceMappingURL=index.js.map
|
package/dist/lib/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lib/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import type { Node, Schema } from '@markdoc/markdoc';
|
|
2
|
+
import type { PreprocessContext, PreprocessPage } from '@refrakt-md/types';
|
|
3
|
+
/**
|
|
4
|
+
* Per-rune preprocessing (SPEC-141).
|
|
5
|
+
*
|
|
6
|
+
* A rune that resolves itself before the transform — `include`, `snippet`,
|
|
7
|
+
* `data` — declares a `preprocess` hook on its schema, beside `transform`.
|
|
8
|
+
* One walk ({@link preprocessTree}) visits the page AST and dispatches to the
|
|
9
|
+
* hook of whichever tag it meets. The ordering between preprocessors is not
|
|
10
|
+
* stated anywhere: it is tree order.
|
|
11
|
+
*
|
|
12
|
+
* That is a valid order because the producer/consumer graph is acyclic by
|
|
13
|
+
* construction. `include` pastes a file's AST and `data` clones its row
|
|
14
|
+
* template **at their own node**, so anything they produce is below that point
|
|
15
|
+
* and the walk meets it next. Nothing runs the other way: `snippet` resolves to
|
|
16
|
+
* a `fence`, whose content is raw text that is never re-parsed as Markdoc.
|
|
17
|
+
*/
|
|
18
|
+
/** The context a rune's `preprocess` hook receives. */
|
|
19
|
+
export interface RunePreprocessContext extends PreprocessContext {
|
|
20
|
+
/**
|
|
21
|
+
* The nodes enclosing the one being preprocessed, outermost first — the
|
|
22
|
+
* page's `document` node is always the first entry, and the direct parent
|
|
23
|
+
* is the last (SPEC-141 D4). A replacement is not an ancestor of what it
|
|
24
|
+
* contains: by the time the walk descends into it, the tag is gone.
|
|
25
|
+
*/
|
|
26
|
+
readonly ancestors: readonly Node[];
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* A rune's preprocess hook (SPEC-141 D1).
|
|
30
|
+
*
|
|
31
|
+
* Receives the rune's own tag node — not the tree. Returning a node replaces
|
|
32
|
+
* the tag with it; returning an array splices those nodes in its place (an
|
|
33
|
+
* empty array removes the tag); returning nothing leaves it alone. The walk
|
|
34
|
+
* then continues into whatever is now at that position, so the hook never has
|
|
35
|
+
* to resolve the tags its own output contains.
|
|
36
|
+
*/
|
|
37
|
+
export type RunePreprocess = (node: Node, page: PreprocessPage, ctx: RunePreprocessContext) => Node | Node[] | void;
|
|
38
|
+
/**
|
|
39
|
+
* Schema → its rune's preprocess hook. Recorded by `createContentModelSchema`
|
|
40
|
+
* and kept off the Markdoc schema object, the same shape as
|
|
41
|
+
* `schemaRuneStructures`: Markdoc never reads it, and only {@link preprocessTree}
|
|
42
|
+
* does.
|
|
43
|
+
*/
|
|
44
|
+
export declare const schemaPreprocessors: WeakMap<Schema, RunePreprocess>;
|
|
45
|
+
/**
|
|
46
|
+
* Resolve every preprocessing rune in a page AST, in tree order.
|
|
47
|
+
*
|
|
48
|
+
* `schemas` is the page's tag table — the same `tags` the transform will use,
|
|
49
|
+
* core and plugin runes merged — and any of them that declares a `preprocess`
|
|
50
|
+
* hook takes part. Mutates `ast` in place; returns it when anything changed,
|
|
51
|
+
* and nothing otherwise, matching the `PluginPipelineHooks.preprocess` contract.
|
|
52
|
+
*
|
|
53
|
+
* **The walk descends into a replacement** (SPEC-141 D3). After a hook
|
|
54
|
+
* replaces its tag, the walk revisits the same position, so a producer's
|
|
55
|
+
* output is resolved where it lands: a `{% snippet %}` in a `{% data %}` row
|
|
56
|
+
* template is reached after the row is bound (BUG-027), and a subquery `data`
|
|
57
|
+
* per outer row. Termination needs no depth limit: `include` leaves no
|
|
58
|
+
* `include` tags behind (it expands nested ones itself, under its cycle
|
|
59
|
+
* stack), `data`'s output consumes one level of the authored body per pass,
|
|
60
|
+
* and `snippet`'s fence contains no tags at all.
|
|
61
|
+
*/
|
|
62
|
+
export declare function preprocessTree(ast: Node, page: PreprocessPage, ctx: PreprocessContext, schemas: Record<string, unknown>): Node | void;
|
|
63
|
+
//# sourceMappingURL=preprocess.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preprocess.d.ts","sourceRoot":"","sources":["../../src/lib/preprocess.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,KAAK,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAE3E;;;;;;;;;;;;;;GAcG;AAEH,uDAAuD;AACvD,MAAM,WAAW,qBAAsB,SAAQ,iBAAiB;IAC/D;;;;;OAKG;IACH,QAAQ,CAAC,SAAS,EAAE,SAAS,IAAI,EAAE,CAAC;CACpC;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,cAAc,GAAG,CAC5B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,qBAAqB,KACtB,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;AAE1B;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,iCAAwC,CAAC;AAEzE;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,cAAc,CAC7B,GAAG,EAAE,IAAI,EACT,IAAI,EAAE,cAAc,EACpB,GAAG,EAAE,iBAAiB,EACtB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAC9B,IAAI,GAAG,IAAI,CA4Cb"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Schema → its rune's preprocess hook. Recorded by `createContentModelSchema`
|
|
3
|
+
* and kept off the Markdoc schema object, the same shape as
|
|
4
|
+
* `schemaRuneStructures`: Markdoc never reads it, and only {@link preprocessTree}
|
|
5
|
+
* does.
|
|
6
|
+
*/
|
|
7
|
+
export const schemaPreprocessors = new WeakMap();
|
|
8
|
+
/**
|
|
9
|
+
* Resolve every preprocessing rune in a page AST, in tree order.
|
|
10
|
+
*
|
|
11
|
+
* `schemas` is the page's tag table — the same `tags` the transform will use,
|
|
12
|
+
* core and plugin runes merged — and any of them that declares a `preprocess`
|
|
13
|
+
* hook takes part. Mutates `ast` in place; returns it when anything changed,
|
|
14
|
+
* and nothing otherwise, matching the `PluginPipelineHooks.preprocess` contract.
|
|
15
|
+
*
|
|
16
|
+
* **The walk descends into a replacement** (SPEC-141 D3). After a hook
|
|
17
|
+
* replaces its tag, the walk revisits the same position, so a producer's
|
|
18
|
+
* output is resolved where it lands: a `{% snippet %}` in a `{% data %}` row
|
|
19
|
+
* template is reached after the row is bound (BUG-027), and a subquery `data`
|
|
20
|
+
* per outer row. Termination needs no depth limit: `include` leaves no
|
|
21
|
+
* `include` tags behind (it expands nested ones itself, under its cycle
|
|
22
|
+
* stack), `data`'s output consumes one level of the authored body per pass,
|
|
23
|
+
* and `snippet`'s fence contains no tags at all.
|
|
24
|
+
*/
|
|
25
|
+
export function preprocessTree(ast, page, ctx, schemas) {
|
|
26
|
+
const hooks = new Map();
|
|
27
|
+
for (const [name, schema] of Object.entries(schemas)) {
|
|
28
|
+
if (!schema || typeof schema !== 'object')
|
|
29
|
+
continue;
|
|
30
|
+
const hook = schemaPreprocessors.get(schema);
|
|
31
|
+
if (hook)
|
|
32
|
+
hooks.set(name, hook);
|
|
33
|
+
}
|
|
34
|
+
if (hooks.size === 0)
|
|
35
|
+
return;
|
|
36
|
+
let mutated = false;
|
|
37
|
+
const ancestors = [];
|
|
38
|
+
const walk = (parent) => {
|
|
39
|
+
const children = parent.children;
|
|
40
|
+
if (!children || children.length === 0)
|
|
41
|
+
return;
|
|
42
|
+
ancestors.push(parent);
|
|
43
|
+
for (let i = 0; i < children.length; i++) {
|
|
44
|
+
const child = children[i];
|
|
45
|
+
const hook = child.type === 'tag' && child.tag ? hooks.get(child.tag) : undefined;
|
|
46
|
+
if (hook) {
|
|
47
|
+
// A prototype link rather than a spread, so a context whose
|
|
48
|
+
// diagnostics are methods on a class keeps them.
|
|
49
|
+
const hookCtx = Object.create(ctx, {
|
|
50
|
+
ancestors: { value: [...ancestors], enumerable: true },
|
|
51
|
+
});
|
|
52
|
+
const result = hook(child, page, hookCtx);
|
|
53
|
+
// Returning the node itself is "leave it alone" too — treating it as
|
|
54
|
+
// a replacement would revisit it forever.
|
|
55
|
+
if (result !== undefined && result !== child) {
|
|
56
|
+
const replacement = Array.isArray(result) ? result : [result];
|
|
57
|
+
children.splice(i, 1, ...replacement);
|
|
58
|
+
mutated = true;
|
|
59
|
+
// Revisit this position: the walk descends into the replacement.
|
|
60
|
+
i--;
|
|
61
|
+
continue;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
walk(child);
|
|
65
|
+
}
|
|
66
|
+
ancestors.pop();
|
|
67
|
+
};
|
|
68
|
+
walk(ast);
|
|
69
|
+
return mutated ? ast : undefined;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=preprocess.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"preprocess.js","sourceRoot":"","sources":["../../src/lib/preprocess.ts"],"names":[],"mappings":"AA6CA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,OAAO,EAA0B,CAAC;AAEzE;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,UAAU,cAAc,CAC7B,GAAS,EACT,IAAoB,EACpB,GAAsB,EACtB,OAAgC;IAEhC,MAAM,KAAK,GAAG,IAAI,GAAG,EAA0B,CAAC;IAChD,KAAK,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACtD,IAAI,CAAC,MAAM,IAAI,OAAO,MAAM,KAAK,QAAQ;YAAE,SAAS;QACpD,MAAM,IAAI,GAAG,mBAAmB,CAAC,GAAG,CAAC,MAAgB,CAAC,CAAC;QACvD,IAAI,IAAI;YAAE,KAAK,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,CAAC;QAAE,OAAO;IAE7B,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,MAAM,SAAS,GAAW,EAAE,CAAC;IAE7B,MAAM,IAAI,GAAG,CAAC,MAAY,EAAQ,EAAE;QACnC,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QACjC,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAC/C,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YAC1C,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC1B,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,KAAK,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;YAClF,IAAI,IAAI,EAAE,CAAC;gBACV,4DAA4D;gBAC5D,iDAAiD;gBACjD,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE;oBAClC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,GAAG,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,EAAE;iBACtD,CAA0B,CAAC;gBAC5B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAC1C,qEAAqE;gBACrE,0CAA0C;gBAC1C,IAAI,MAAM,KAAK,SAAS,IAAI,MAAM,KAAK,KAAK,EAAE,CAAC;oBAC9C,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;oBAC9D,QAAQ,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,WAAW,CAAC,CAAC;oBACtC,OAAO,GAAG,IAAI,CAAC;oBACf,iEAAiE;oBACjE,CAAC,EAAE,CAAC;oBACJ,SAAS;gBACV,CAAC;YACF,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,CAAC;QACb,CAAC;QACD,SAAS,CAAC,GAAG,EAAE,CAAC;IACjB,CAAC,CAAC;IAEF,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,OAAO,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAClC,CAAC"}
|
|
@@ -0,0 +1,132 @@
|
|
|
1
|
+
import Markdoc from '@markdoc/markdoc';
|
|
2
|
+
/**
|
|
3
|
+
* Declarative entity and edge registration — SPEC-144 / WORK-611.
|
|
4
|
+
*
|
|
5
|
+
* A rune says *what it registers* — which named source holds the id, which
|
|
6
|
+
* sources to carry into the data bag, which two hold an edge's endpoints — and
|
|
7
|
+
* one core participant (`createRegistersHooks`) does the registering in the
|
|
8
|
+
* existing Phase 2 / Phase 3 slots. Plugins keep `PluginPipelineHooks` for
|
|
9
|
+
* everything else; this is a generic participant beside them.
|
|
10
|
+
*
|
|
11
|
+
* The vocabulary is closed (ADR-036, SPEC-144 D1): every value is a string, a
|
|
12
|
+
* boolean, or a list or record of those. No expression form, no predicate, no
|
|
13
|
+
* function. A domain that needs more writes a plugin hook — the plan plugin is
|
|
14
|
+
* the standing example (D5).
|
|
15
|
+
*
|
|
16
|
+
* **Where a value comes from** (D3, decided in WORK-611). A source is a bare
|
|
17
|
+
* name, resolved the way the hand-written helpers always did: a `refs` entry —
|
|
18
|
+
* a node carrying `data-name=<source>` inside the rune, read as its text — and
|
|
19
|
+
* otherwise the rune's `data-rune-fields` bag. `createComponentRenderable`
|
|
20
|
+
* rejects a rune whose properties and refs share a name (ADR-008), so the two
|
|
21
|
+
* namespaces are disjoint and a bare name cannot mean two things. A name that
|
|
22
|
+
* resolves to neither is a typo, and `validate` reports it with file and line
|
|
23
|
+
* (`registers-source-unresolved`), the same audit a schema-table source gets.
|
|
24
|
+
*/
|
|
25
|
+
/** One data-bag entry: `'role'` carries source `role` as key `role`;
|
|
26
|
+
* `{ name: 'title' }` carries source `title` as key `name`. */
|
|
27
|
+
export type RegistersDataEntry = string | Readonly<Record<string, string>>;
|
|
28
|
+
/** The data bag: an ordered field list, or one source holding a JSON object
|
|
29
|
+
* that *is* the bag. Key order follows the declaration. */
|
|
30
|
+
export type RegistersData = readonly RegistersDataEntry[] | {
|
|
31
|
+
readonly json: string;
|
|
32
|
+
};
|
|
33
|
+
export interface RegistersEntity {
|
|
34
|
+
/** Registry type. Defaults to the rune name. */
|
|
35
|
+
type?: string;
|
|
36
|
+
/** The source holding the entity's id. A rune instance whose id is empty
|
|
37
|
+
* registers nothing and warns. */
|
|
38
|
+
idFrom: string;
|
|
39
|
+
/** `'site'` (default) or `'page'` — see `EntityRegistration.scope`. */
|
|
40
|
+
scope?: 'site' | 'page';
|
|
41
|
+
/** What to carry in the entity's data bag. Nothing is added implicitly. */
|
|
42
|
+
data?: RegistersData;
|
|
43
|
+
/** Alternative names, split from a data-bag key. The name index the
|
|
44
|
+
* participant builds in Phase 3 adds each alias after the ids, and an alias
|
|
45
|
+
* already present keeps its first owner. */
|
|
46
|
+
aliases?: {
|
|
47
|
+
readonly from: string;
|
|
48
|
+
readonly separator?: string;
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
export interface RegistersEdge {
|
|
52
|
+
/** Registry type of the edge's own entry. Defaults to the rune name. */
|
|
53
|
+
type?: string;
|
|
54
|
+
/** Source holding the source entity's id (or alias). */
|
|
55
|
+
from: string;
|
|
56
|
+
/** Source holding the target entity's id (or alias). */
|
|
57
|
+
to: string;
|
|
58
|
+
/** The relationship-graph edge kind: a literal, or `{ field }` naming a key
|
|
59
|
+
* of the edge's data bag. An empty field value falls back to the type. */
|
|
60
|
+
kind: string | {
|
|
61
|
+
readonly field: string;
|
|
62
|
+
};
|
|
63
|
+
/** Contribute the reverse edge too: a literal, or `{ field }` naming a data
|
|
64
|
+
* key whose value is `'true'`. Default `false`. */
|
|
65
|
+
bidirectional?: boolean | {
|
|
66
|
+
readonly field: string;
|
|
67
|
+
};
|
|
68
|
+
/** Further sources for the edge entry's data bag. */
|
|
69
|
+
data?: readonly RegistersDataEntry[];
|
|
70
|
+
}
|
|
71
|
+
/** A rune's `registers` block: exactly one of `entity` or `edge`. */
|
|
72
|
+
export interface RegistersDeclaration {
|
|
73
|
+
entity?: RegistersEntity;
|
|
74
|
+
edge?: RegistersEdge;
|
|
75
|
+
}
|
|
76
|
+
/** The name index a declaring plugin's aggregate slot receives in Phase 3. */
|
|
77
|
+
export interface RegistersIndex {
|
|
78
|
+
/** Every declared entity by id and by alias. Ids are set in type
|
|
79
|
+
* declaration order, then registry order, so a later id replaces an earlier
|
|
80
|
+
* one; an alias never replaces anything already present. */
|
|
81
|
+
entityByName: Map<string, import('@refrakt-md/types').EntityRegistration>;
|
|
82
|
+
}
|
|
83
|
+
/** Declarations recorded by `createContentModelSchema`, keyed by schema — the
|
|
84
|
+
* same pattern as `schemaTables`, for the same reason: tooling has only the
|
|
85
|
+
* schema to read from. */
|
|
86
|
+
export declare const schemaRegisters: WeakMap<Markdoc.Schema, RegistersDeclaration>;
|
|
87
|
+
/** The `registers` block a rune declares, if it declares one. */
|
|
88
|
+
export declare function registersFor(schema: unknown): RegistersDeclaration | undefined;
|
|
89
|
+
/**
|
|
90
|
+
* Check a declaration against the closed vocabulary, throwing on the first
|
|
91
|
+
* violation. Runs at schema construction, so a malformed block fails the
|
|
92
|
+
* import that defines it rather than a build that happens to use it.
|
|
93
|
+
*/
|
|
94
|
+
export declare function validateRegistersDeclaration(decl: unknown, where?: string): void;
|
|
95
|
+
declare function dataEntries(data: readonly RegistersDataEntry[], where?: string): Array<{
|
|
96
|
+
key: string;
|
|
97
|
+
source: string;
|
|
98
|
+
}>;
|
|
99
|
+
/** Every source a declaration reads from the rune's output, with the role it
|
|
100
|
+
* plays — what the validate-time audit and `inspect` check. */
|
|
101
|
+
export declare function registersSources(decl: RegistersDeclaration): Array<{
|
|
102
|
+
source: string;
|
|
103
|
+
role: string;
|
|
104
|
+
}>;
|
|
105
|
+
type AnyTag = {
|
|
106
|
+
name?: string;
|
|
107
|
+
attributes?: Record<string, unknown>;
|
|
108
|
+
children?: unknown[];
|
|
109
|
+
};
|
|
110
|
+
/** Read one source off a rune's tag: a ref's text, else its field-bag value,
|
|
111
|
+
* else `''`. The D3 rule — see the module comment. */
|
|
112
|
+
export declare function readRegistersSource(tag: AnyTag, source: string): string;
|
|
113
|
+
/**
|
|
114
|
+
* Sources a declaration names that the rune does not provide — WORK-611.
|
|
115
|
+
*
|
|
116
|
+
* The same rule `auditSchemaSources` applies to a schema table: a source
|
|
117
|
+
* resolves if a node in the rune's output carries the name, if the field bag
|
|
118
|
+
* has it, or if it is one of the rune's declared attributes (an optional
|
|
119
|
+
* attribute left unset emits nothing, which is "this input did not exercise
|
|
120
|
+
* it", not a typo). What is left resolves to nothing, ever.
|
|
121
|
+
*
|
|
122
|
+
* `tree` is the rune's `Markdoc.transform` output, before the identity
|
|
123
|
+
* transform consumes the bag.
|
|
124
|
+
*/
|
|
125
|
+
export declare function auditRegistersSources(decl: RegistersDeclaration, tree: unknown, declaredAttributes?: readonly string[]): Array<{
|
|
126
|
+
source: string;
|
|
127
|
+
role: string;
|
|
128
|
+
}>;
|
|
129
|
+
/** One line per declaration, for `inspect` and the reference. */
|
|
130
|
+
export declare function describeRegisters(decl: RegistersDeclaration, rune: string): string[];
|
|
131
|
+
export { dataEntries as registersDataEntries };
|
|
132
|
+
//# sourceMappingURL=registers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"registers.d.ts","sourceRoot":"","sources":["../../src/lib/registers.ts"],"names":[],"mappings":"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"}
|