@refrakt-md/content 0.34.0 → 0.36.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/site.d.ts CHANGED
@@ -1,14 +1,16 @@
1
- import type { RenderableTreeNodes, Schema } from '@markdoc/markdoc';
1
+ import type { Node, RenderableTreeNodes, Schema } from '@markdoc/markdoc';
2
2
  import type { CompiledXrefPattern } from '@refrakt-md/runes';
3
3
  import type { PageSeo, HeadingInfo } from '@refrakt-md/runes';
4
4
  import type { Plugin, PipelineWarning, AggregatedData, SecurityPolicy, ProjectFiles } from '@refrakt-md/types';
5
5
  import type { PipelineStats } from './pipeline.js';
6
+ import type { PipelineReporter } from './format.js';
6
7
  import { ContentTree, type PartialFile } from './content-tree.js';
7
8
  import { Frontmatter } from './frontmatter.js';
8
9
  import { Route } from './router.js';
9
10
  import { ResolvedLayout } from './layout.js';
10
11
  import { type ResolvedTintCascade } from './tint-cascade.js';
11
12
  import { NavTree } from './navigation.js';
13
+ import { type HookSet } from './pipeline.js';
12
14
  import { type FileTimestamps } from './timestamps.js';
13
15
  import { type FileRoots } from './file-roots.js';
14
16
  /** Async reader for ad-hoc lookups in virtual (non-FS) hosting environments.
@@ -49,6 +51,117 @@ export interface SitePage {
49
51
  ruleIndex?: number;
50
52
  };
51
53
  }
54
+ /** The subset of {@link ProcessContentTreeOptions} the shared page-environment
55
+ * helpers read, so `validateContent` can satisfy it without pretending to be
56
+ * a full content load. */
57
+ export interface PageEnvironmentOptions {
58
+ fileRoots?: FileRoots;
59
+ sandbox?: ProjectFiles;
60
+ projectRoot?: string;
61
+ additionalTags?: Record<string, Schema>;
62
+ plugins?: Plugin[];
63
+ xrefPatterns?: CompiledXrefPattern[];
64
+ repoUrl?: string;
65
+ repoBranch?: string;
66
+ }
67
+ /**
68
+ * Pre-parse partials into Markdoc ASTs for the transform config. Two sources
69
+ * contribute:
70
+ * - Site-local `_partials/` (already scanned by `ContentTree`; keys are
71
+ * unprefixed relative paths like `footer.md`).
72
+ * - Registered file roots (project-wide; keys are namespaced like
73
+ * `shared:footer.md`). Plugins contribute roots via `Plugin.fileRoots`; both
74
+ * arrive in `opts.fileRoots` already merged by the loader bootstrap.
75
+ *
76
+ * Shared with `validateContent` (SPEC-135 D14): a validation run that skipped
77
+ * partials would not see `{% partial %}` / `{% include %}` content, and would
78
+ * report a different finding set from the build for the same corpus.
79
+ */
80
+ export declare function parsePagePartials(tree: ContentTree, opts: PageEnvironmentOptions): Promise<Record<string, Node> | undefined>;
81
+ /**
82
+ * Build the hook sets whose `preprocess` phase rewrites a page's AST before it
83
+ * is validated and transformed — the core set (carrying snippet's SPEC-062
84
+ * implementation) plus every plugin that registers hooks.
85
+ *
86
+ * The merged tags + nodes are threaded to the core hooks as `embedConfig`:
87
+ * expand (SPEC-066) and collection (SPEC-070) need them to re-transform
88
+ * extracted entity subtrees with the same schemas the host page used. Always
89
+ * threaded, even when a site sets no xref patterns or project root.
90
+ *
91
+ * Shared with `validateContent` (SPEC-135 D14). Preprocess is not optional for
92
+ * agreement: `{% snippet %}` resolves itself into a fence node here and
93
+ * `{% include %}` pastes partial content in, so a validation run that skipped
94
+ * it would validate a different tree than the build does.
95
+ *
96
+ * `processContentTree` appends two more hook sets (`__entity-routes__`,
97
+ * `__page-entities__`) after these. Neither defines `preprocess`, so their
98
+ * absence here cannot change a finding — they only matter to the
99
+ * register/aggregate phases, which are the `--deep` tier's business.
100
+ */
101
+ export declare function buildPreprocessHookSets(opts: PageEnvironmentOptions, parsedPartials: Record<string, Node> | undefined): HookSet[];
102
+ /** Inputs to {@link buildPageContentVariables}. */
103
+ export interface PageContentVariablesOptions {
104
+ ast: Node;
105
+ frontmatter: Frontmatter;
106
+ relativePath: string;
107
+ filePath: string;
108
+ url: string;
109
+ draft?: boolean;
110
+ timestamps?: FileTimestamps;
111
+ variables?: Record<string, unknown>;
112
+ projectRoot?: string;
113
+ sandbox?: ProjectFiles;
114
+ sandboxExamplesDir?: string;
115
+ securityPolicy?: unknown;
116
+ siteConfig?: unknown;
117
+ }
118
+ /**
119
+ * Build the `$page` / `$file` variable surface a page is processed against.
120
+ *
121
+ * Computed *before* preprocess so file-reading preprocessors (snippet) can
122
+ * resolve `path=$file.path`-style attribute references against the same
123
+ * variables a transform-time evaluator would.
124
+ *
125
+ * Shared with `validateContent` (SPEC-135 D14), and not optional for agreement:
126
+ * a validation run that handed preprocess an empty variable surface leaves
127
+ * every `{% snippet path=$file.path %}` unresolved, which then reports an
128
+ * `attribute-undefined` finding for the error attribute snippet substitutes —
129
+ * a finding the build does not have. Found exactly that way, against refrakt's
130
+ * own site, before this was extracted.
131
+ */
132
+ export declare function buildPageContentVariables(opts: PageContentVariablesOptions): Record<string, unknown>;
133
+ /** Inputs to {@link buildPageTransformConfig} — the per-page surface deciding
134
+ * which tags, nodes, functions and partials a page is read against. */
135
+ export interface PageTransformConfigOptions {
136
+ ast: Node;
137
+ content: string;
138
+ path: string;
139
+ sourcePath: string;
140
+ icons?: Record<string, Record<string, string>>;
141
+ additionalTags?: Record<string, Schema>;
142
+ contentVariables?: Record<string, unknown>;
143
+ partials?: Record<string, Node>;
144
+ }
145
+ /**
146
+ * Build the Markdoc config one page is validated and transformed against.
147
+ *
148
+ * **Extracted so the two paths cannot build it differently** — SPEC-135 D14.
149
+ * SPEC-132 deliberately validates against *the very object* handed to
150
+ * `transform`, so the two cannot disagree about which tags and attributes
151
+ * exist. A `validateContent` that assembled its own tag set would re-open
152
+ * exactly that gap, and then nothing holds up D5a's guarantee that the CLI and
153
+ * the build report the same findings. This function is that mechanism, not
154
+ * tidying: both callers go through it, or the guarantee is only hoped for.
155
+ *
156
+ * Mutates `ast` — `captureDeferredBodies` rewrites deferBody runes' bodies to
157
+ * source before transform (SPEC-070 / WORK-262). Kept inside this function
158
+ * rather than beside it so a validation run sees the same AST shape the
159
+ * transform would.
160
+ */
161
+ export declare function buildPageTransformConfig(opts: PageTransformConfigOptions): {
162
+ config: Record<string, unknown>;
163
+ headings: HeadingInfo[];
164
+ };
52
165
  /**
53
166
  * Load a content directory and resolve all pages, routes, layouts, and navigation.
54
167
  *
@@ -63,7 +176,47 @@ export interface SitePage {
63
176
  * to `'trusted'` (current behaviour). Set `'strict'` for hosted-product use
64
177
  * to strip scripts and harden the sandbox iframe.
65
178
  */
179
+ export declare function loadContent(dirPath: string, options: LoadContentOptions): Promise<Site>;
66
180
  export declare function loadContent(dirPath: string, basePath?: string, icons?: Record<string, Record<string, string>>, additionalTags?: Record<string, Schema>, packages?: Plugin[], sandboxExamplesDir?: string, variables?: Record<string, unknown>, securityPolicy?: SecurityPolicy, projectRoot?: string, xrefPatterns?: CompiledXrefPattern[], fileRoots?: FileRoots, siteConfig?: unknown, repoUrl?: string, repoBranch?: string): Promise<Site>;
181
+ /**
182
+ * Options accepted by {@link loadContent}'s options-bag overload.
183
+ *
184
+ * The same fields the positional form takes, plus `reporter` (SPEC-135 D5),
185
+ * which has no positional equivalent. `plugins` is spelled as it is on
186
+ * {@link LoadContentFromTreeOptions} rather than the positional form's
187
+ * `packages`, so the two bags read the same.
188
+ */
189
+ export interface LoadContentOptions {
190
+ /** URL base path for the Router. Default: `'/'`. */
191
+ basePath?: string;
192
+ /** Icon registry to inject into the Markdoc transform context. */
193
+ icons?: Record<string, Record<string, string>>;
194
+ /** Markdoc tag schemas to merge on top of the core runes. */
195
+ additionalTags?: Record<string, Schema>;
196
+ /** Plugins whose pipeline hooks should run in addition to core hooks. */
197
+ plugins?: Plugin[];
198
+ /** Directory holding sandbox example sources. Defaults to `<dirPath>/../examples`. */
199
+ sandboxExamplesDir?: string;
200
+ /** Site-wide Markdoc variables available in content via `{% $name %}`. */
201
+ variables?: Record<string, unknown>;
202
+ /** Security policy for sandbox runes. Default: `'trusted'`. */
203
+ securityPolicy?: SecurityPolicy;
204
+ /** Absolute path to the project root (where `refrakt.config.json` lives). */
205
+ projectRoot?: string;
206
+ /** Compiled xref patterns from `refrakt.config.json#/xrefs`. */
207
+ xrefPatterns?: CompiledXrefPattern[];
208
+ /** Registered file roots — namespace → absolute directory path. */
209
+ fileRoots?: FileRoots;
210
+ /** Per-site config slice — also where `validation` settings are read from. */
211
+ siteConfig?: unknown;
212
+ /** Canonical repo URL (`SiteConfig.repoUrl`) for GitHub source URLs. */
213
+ repoUrl?: string;
214
+ /** Git ref appended to GitHub source URLs. Defaults to `"main"`. */
215
+ repoBranch?: string;
216
+ /** Sink for this load's pipeline diagnostics. See
217
+ * {@link LoadContentFromTreeOptions.reporter} — omitted means silent. */
218
+ reporter?: PipelineReporter;
219
+ }
67
220
  /** Options accepted by {@link loadContentFromTree}. */
68
221
  export interface LoadContentFromTreeOptions {
69
222
  /** URL base path for the Router. Default: `'/'`. */
@@ -124,6 +277,21 @@ export interface LoadContentFromTreeOptions {
124
277
  /** Project-root-relative POSIX key of the sandbox examples directory, joined
125
278
  * with a sandbox's `src` and resolved through `projectFiles`. */
126
279
  sandboxExamplesDir?: string;
280
+ /** Sink for this load's pipeline diagnostics (SPEC-135 D5). Called once per
281
+ * load, after every phase, with the same stats and warnings the returned
282
+ * `Site` carries — so no adapter has to format or write its own summary,
283
+ * and none of them can drift apart.
284
+ *
285
+ * **Omitted means silent, and the stderr default lives one layer up** —
286
+ * on `createSiteLoader` / `createVirtualSiteLoader` / `createRefraktLoader`
287
+ * (and passed explicitly by the two adapters that call `loadContent`
288
+ * directly). SPEC-135 D5 originally put the default here; see D5b for why
289
+ * it moved. In short: this function is a library entry point that hundreds
290
+ * of tests and any embedding consumer call directly, and printing a build
291
+ * summary from it would be a behaviour change for all of them. The loaders
292
+ * are the boundary where "a site is being built for somebody to look at"
293
+ * is actually true. */
294
+ reporter?: PipelineReporter;
127
295
  }
128
296
  /**
129
297
  * Like {@link loadContent}, but driven by a pre-built {@link ContentTree}
@@ -1 +1 @@
1
- {"version":3,"file":"site.d.ts","sourceRoot":"","sources":["../src/site.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAQ,mBAAmB,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAa1E,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAC9D,OAAO,KAAK,EACX,MAAM,EACN,eAAe,EACf,cAAc,EACd,cAAc,EAEd,YAAY,EACZ,MAAM,mBAAmB,CAAC;AAG3B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,KAAK,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAoB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACjE,OAAO,EAAU,KAAK,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAAkB,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7D,OAAO,EAAsB,KAAK,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACjF,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAI1C,OAAO,EAAuC,KAAK,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC3F,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAGhE;mEACmE;AACnE,MAAM,MAAM,aAAa,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;AAErE,MAAM,WAAW,IAAI;IACpB,uBAAuB;IACvB,IAAI,EAAE,WAAW,CAAC;IAClB,iDAAiD;IACjD,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,wCAAwC;IACxC,UAAU,EAAE,OAAO,EAAE,CAAC;IACtB,kFAAkF;IAClF,gBAAgB,EAAE,eAAe,EAAE,CAAC;IACpC,mDAAmD;IACnD,aAAa,EAAE,aAAa,CAAC;IAC7B,6EAA6E;IAC7E,UAAU,EAAE,cAAc,CAAC;IAC3B,sEAAsE;IACtE,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;CACnC;AAED,MAAM,WAAW,QAAQ;IACxB,KAAK,EAAE,KAAK,CAAC;IACb,WAAW,EAAE,WAAW,CAAC;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,mBAAmB,CAAC;IAChC,QAAQ,EAAE,WAAW,EAAE,CAAC;IACxB,MAAM,EAAE,cAAc,CAAC;IACvB,GAAG,EAAE,OAAO,CAAC;IACb;;+DAE2D;IAC3D,WAAW,EAAE,mBAAmB,CAAC;IACjC,kFAAkF;IAClF,MAAM,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,GAAG,aAAa,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/E;AAkkBD;;;;;;;;;;;;;GAaG;AACH,wBAAsB,WAAW,CAChC,OAAO,EAAE,MAAM,EACf,QAAQ,GAAE,MAAY,EACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAC9C,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,QAAQ,CAAC,EAAE,MAAM,EAAE,EACnB,kBAAkB,CAAC,EAAE,MAAM,EAC3B,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACnC,cAAc,CAAC,EAAE,cAAc,EAC/B,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,mBAAmB,EAAE,EACpC,SAAS,CAAC,EAAE,SAAS,EACrB,UAAU,CAAC,EAAE,OAAO,EACpB,OAAO,CAAC,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,IAAI,CAAC,CAiCf;AAED,uDAAuD;AACvD,MAAM,WAAW,0BAA0B;IAC1C,oDAAoD;IACpD,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAC/C,6DAA6D;IAC7D,cAAc,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,yEAAyE;IACzE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IACnB,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACpC,+DAA+D;IAC/D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC;;sEAEkE;IAClE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,GAAG,MAAM,CAAC;IACxC;;;;;;0BAMsB;IACtB,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB;;;;kFAI8E;IAC9E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;oDAEgD;IAChD,YAAY,CAAC,EAAE,mBAAmB,EAAE,CAAC;IACrC;kEAC8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;6CACyC;IACzC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB;;kBAEc;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;sEAGkE;IAClE,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B;;uCAEmC;IACnC,aAAa,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;IAC5C;sEACkE;IAClE,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAsB,mBAAmB,CACxC,IAAI,EAAE,WAAW,EACjB,OAAO,GAAE,0BAA+B,GACtC,OAAO,CAAC,IAAI,CAAC,CAsBf"}
1
+ {"version":3,"file":"site.d.ts","sourceRoot":"","sources":["../src/site.ts"],"names":[],"mappings":"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"}