@metaobjectsdev/docs-site 0.15.8-rc.1

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.
Files changed (104) hide show
  1. package/LICENSE +189 -0
  2. package/README.md +62 -0
  3. package/assets/site.css +13 -0
  4. package/assets/site.js +25 -0
  5. package/dist/badges.d.ts +14 -0
  6. package/dist/badges.d.ts.map +1 -0
  7. package/dist/badges.js +21 -0
  8. package/dist/badges.js.map +1 -0
  9. package/dist/builders/extras.d.ts +23 -0
  10. package/dist/builders/extras.d.ts.map +1 -0
  11. package/dist/builders/extras.js +70 -0
  12. package/dist/builders/extras.js.map +1 -0
  13. package/dist/builders/index-data.d.ts +52 -0
  14. package/dist/builders/index-data.d.ts.map +1 -0
  15. package/dist/builders/index-data.js +115 -0
  16. package/dist/builders/index-data.js.map +1 -0
  17. package/dist/builders/object-data.d.ts +97 -0
  18. package/dist/builders/object-data.d.ts.map +1 -0
  19. package/dist/builders/object-data.js +336 -0
  20. package/dist/builders/object-data.js.map +1 -0
  21. package/dist/builders/output-data.d.ts +26 -0
  22. package/dist/builders/output-data.d.ts.map +1 -0
  23. package/dist/builders/output-data.js +35 -0
  24. package/dist/builders/output-data.js.map +1 -0
  25. package/dist/builders/package-data.d.ts +48 -0
  26. package/dist/builders/package-data.d.ts.map +1 -0
  27. package/dist/builders/package-data.js +142 -0
  28. package/dist/builders/package-data.js.map +1 -0
  29. package/dist/builders/prompt-data.d.ts +31 -0
  30. package/dist/builders/prompt-data.d.ts.map +1 -0
  31. package/dist/builders/prompt-data.js +68 -0
  32. package/dist/builders/prompt-data.js.map +1 -0
  33. package/dist/coverage.d.ts +19 -0
  34. package/dist/coverage.d.ts.map +1 -0
  35. package/dist/coverage.js +26 -0
  36. package/dist/coverage.js.map +1 -0
  37. package/dist/index.d.ts +4 -0
  38. package/dist/index.d.ts.map +1 -0
  39. package/dist/index.js +3 -0
  40. package/dist/index.js.map +1 -0
  41. package/dist/link-check.d.ts +2 -0
  42. package/dist/link-check.d.ts.map +1 -0
  43. package/dist/link-check.js +30 -0
  44. package/dist/link-check.js.map +1 -0
  45. package/dist/link-graph.d.ts +54 -0
  46. package/dist/link-graph.d.ts.map +1 -0
  47. package/dist/link-graph.js +198 -0
  48. package/dist/link-graph.js.map +1 -0
  49. package/dist/load.d.ts +11 -0
  50. package/dist/load.d.ts.map +1 -0
  51. package/dist/load.js +40 -0
  52. package/dist/load.js.map +1 -0
  53. package/dist/mermaid.d.ts +56 -0
  54. package/dist/mermaid.d.ts.map +1 -0
  55. package/dist/mermaid.js +136 -0
  56. package/dist/mermaid.js.map +1 -0
  57. package/dist/mustache-highlight.d.ts +10 -0
  58. package/dist/mustache-highlight.d.ts.map +1 -0
  59. package/dist/mustache-highlight.js +55 -0
  60. package/dist/mustache-highlight.js.map +1 -0
  61. package/dist/package-docs.d.ts +12 -0
  62. package/dist/package-docs.d.ts.map +1 -0
  63. package/dist/package-docs.js +34 -0
  64. package/dist/package-docs.js.map +1 -0
  65. package/dist/scaffold.d.ts +7 -0
  66. package/dist/scaffold.d.ts.map +1 -0
  67. package/dist/scaffold.js +24 -0
  68. package/dist/scaffold.js.map +1 -0
  69. package/dist/site.d.ts +23 -0
  70. package/dist/site.d.ts.map +1 -0
  71. package/dist/site.js +219 -0
  72. package/dist/site.js.map +1 -0
  73. package/dist/yaml-comments.d.ts +6 -0
  74. package/dist/yaml-comments.d.ts.map +1 -0
  75. package/dist/yaml-comments.js +49 -0
  76. package/dist/yaml-comments.js.map +1 -0
  77. package/package.json +45 -0
  78. package/src/badges.ts +26 -0
  79. package/src/builders/extras.ts +61 -0
  80. package/src/builders/index-data.ts +95 -0
  81. package/src/builders/object-data.ts +261 -0
  82. package/src/builders/output-data.ts +35 -0
  83. package/src/builders/package-data.ts +134 -0
  84. package/src/builders/prompt-data.ts +61 -0
  85. package/src/coverage.ts +29 -0
  86. package/src/index.ts +3 -0
  87. package/src/link-check.ts +24 -0
  88. package/src/link-graph.ts +204 -0
  89. package/src/load.ts +47 -0
  90. package/src/mermaid.ts +142 -0
  91. package/src/mustache-highlight.ts +43 -0
  92. package/src/package-docs.ts +33 -0
  93. package/src/scaffold.ts +26 -0
  94. package/src/site.ts +289 -0
  95. package/src/yaml-comments.ts +33 -0
  96. package/templates/chrome-foot.mustache +17 -0
  97. package/templates/chrome-head.mustache +21 -0
  98. package/templates/coverage.html.mustache +24 -0
  99. package/templates/enums.html.mustache +14 -0
  100. package/templates/index.html.mustache +54 -0
  101. package/templates/object.html.mustache +46 -0
  102. package/templates/output.html.mustache +16 -0
  103. package/templates/package.html.mustache +43 -0
  104. package/templates/prompt.html.mustache +28 -0
@@ -0,0 +1,97 @@
1
+ import { LinkGraph } from "../link-graph";
2
+ import type { CoverageTracker } from "../coverage";
3
+ export interface EnumValue {
4
+ value: string;
5
+ deflt: boolean;
6
+ desc: string;
7
+ }
8
+ export interface FieldRow {
9
+ name: string;
10
+ type: string;
11
+ isArray: boolean;
12
+ required: boolean;
13
+ badgesHtml: string;
14
+ desc: string;
15
+ enumValues: EnumValue[];
16
+ refHref?: string | undefined;
17
+ refName?: string | undefined;
18
+ inheritedFrom?: {
19
+ name: string;
20
+ href: string;
21
+ } | undefined;
22
+ anchor: string;
23
+ }
24
+ export interface IndexRow {
25
+ name: string;
26
+ kind: string;
27
+ fields: string;
28
+ extra: string;
29
+ unique: boolean;
30
+ }
31
+ export interface ValidatorRow {
32
+ scope: "field" | "object";
33
+ subject: string;
34
+ rule: string;
35
+ }
36
+ export interface RelationRow {
37
+ name: string;
38
+ toName: string;
39
+ toHref: string;
40
+ cardinality: string;
41
+ }
42
+ export interface OriginRow {
43
+ field: string;
44
+ from: string;
45
+ via: string;
46
+ }
47
+ export interface HierRow {
48
+ name: string;
49
+ href: string;
50
+ level: number;
51
+ self: boolean;
52
+ }
53
+ export interface ObjectPageData {
54
+ name: string;
55
+ kindBadge: string;
56
+ isAbstract: boolean;
57
+ isView: boolean;
58
+ generation: string;
59
+ pkg: string;
60
+ href: string;
61
+ breadcrumbHtml: string;
62
+ desc: string;
63
+ tableName?: string | undefined;
64
+ pkHtml?: string | undefined;
65
+ ownFields: FieldRow[];
66
+ inheritedFields: FieldRow[];
67
+ indexes: IndexRow[];
68
+ validators: ValidatorRow[];
69
+ relations: RelationRow[];
70
+ origins: OriginRow[];
71
+ hierarchy: HierRow[];
72
+ inheritanceMermaid?: string | undefined;
73
+ neighborhoodMermaid?: string | undefined;
74
+ neighborhoodLegend?: {
75
+ pkg: string;
76
+ fill: string;
77
+ stroke: string;
78
+ }[] | undefined;
79
+ neighborhoodMore?: number | undefined;
80
+ referencedBy: {
81
+ name: string;
82
+ href: string;
83
+ via: string;
84
+ }[];
85
+ references: {
86
+ name: string;
87
+ href: string;
88
+ via: string;
89
+ }[];
90
+ usedByTemplates: {
91
+ name: string;
92
+ href: string;
93
+ }[];
94
+ sourceFile: string;
95
+ }
96
+ export declare function buildObjectPage(fqn: string, g: LinkGraph, cov: CoverageTracker): ObjectPageData;
97
+ //# sourceMappingURL=object-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-data.d.ts","sourceRoot":"","sources":["../../src/builders/object-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,336 @@
1
+ import { LinkGraph, fqnOf } from "../link-graph";
2
+ import { esc, badge } from "../badges";
3
+ import { inheritanceTree, erDiagramRich, flowchartDomain, RICH_MAX } from "../mermaid";
4
+ // capped box attributes for the rich neighborhood ERD: PK → FKs(target) → enums → required, ≤6 + overflow count
5
+ function neighborAttrs(o) {
6
+ const pk = new Set(), fk = new Map();
7
+ for (const id of o.childrenOfType("identity")) {
8
+ const flds = id.attr("fields");
9
+ const names = Array.isArray(flds) ? flds.map(String) : flds !== undefined ? [String(flds)] : [];
10
+ if (id.subType === "primary")
11
+ names.forEach((n) => pk.add(n));
12
+ if (id.subType === "reference") {
13
+ const tgt = String(id.attr("references") ?? "").split("::").pop() ?? "";
14
+ names.forEach((n) => fk.set(n, tgt));
15
+ }
16
+ }
17
+ const fields = o.childrenOfType("field");
18
+ const isEnum = (f) => Array.isArray(f.attr("values"));
19
+ const isReq = (f) => f.attr("required") === true || f.attr("required") === "true";
20
+ const attrs = [];
21
+ const seen = new Set();
22
+ const push = (f, key, note) => { if (seen.has(f.name) || attrs.length >= 6)
23
+ return; seen.add(f.name); attrs.push({ type: f.subType, name: f.name, key, note }); };
24
+ for (const f of fields)
25
+ if (pk.has(f.name))
26
+ push(f, "PK", "");
27
+ for (const f of fields)
28
+ if (fk.has(f.name))
29
+ push(f, "FK", fk.get(f.name));
30
+ for (const f of fields)
31
+ if (isEnum(f))
32
+ push(f, "", "enum");
33
+ for (const f of fields)
34
+ if (isReq(f))
35
+ push(f, "", "req");
36
+ const relevant = fields.filter((f) => pk.has(f.name) || fk.has(f.name) || isEnum(f) || isReq(f)).length;
37
+ return { attrs, more: Math.max(0, relevant - attrs.length) };
38
+ }
39
+ function fieldRow(f, ownerHref, g, cov, ctxPkg) {
40
+ cov.consumeNode(f);
41
+ const a = (n) => { const v = f.attr(n); if (v !== undefined)
42
+ cov.consumeAttr(f, n); return v; };
43
+ const bits = [];
44
+ const reqVal = a("required");
45
+ const required = reqVal === true || reqVal === "true";
46
+ if (required)
47
+ bits.push(badge({ text: "required", cls: "badge-soft badge-error" }));
48
+ if (a("deprecated") !== undefined)
49
+ bits.push(badge({ text: "deprecated", cls: "badge-soft badge-warning" }));
50
+ const len = a("maxLength");
51
+ if (len !== undefined)
52
+ bits.push(badge({ text: `≤${len}`, cls: "badge-soft badge-neutral" }));
53
+ const dbt = a("dbColumnType");
54
+ if (dbt !== undefined)
55
+ bits.push(badge({ text: String(dbt), cls: "badge-soft badge-neutral" }));
56
+ const def = a("default");
57
+ if (def !== undefined)
58
+ bits.push(badge({ text: `default ${def}`, cls: "badge-soft badge-neutral" }));
59
+ if (a("xmlText") !== undefined)
60
+ bits.push(badge({ text: "@xmlText", cls: "badge-soft badge-neutral" }));
61
+ // enum values as data (rendered per-value in the template)
62
+ const valuesAttr = a("values");
63
+ const enumValues = Array.isArray(valuesAttr)
64
+ ? valuesAttr.map((v) => ({ value: esc(String(v)), deflt: String(def ?? "") === String(v), desc: "" }))
65
+ : [];
66
+ if (enumValues.length)
67
+ bits.push(badge({ text: "enum", cls: "badge-soft badge-accent" }));
68
+ // field-level validators as badges
69
+ for (const v of f.childrenOfType("validator")) {
70
+ cov.consumeNode(v);
71
+ if (v.subType === "regex") {
72
+ cov.consumeAttr(v, "pattern");
73
+ bits.push(badge({ text: `regex ${v.attr("pattern")}`, cls: "badge-soft badge-neutral" }));
74
+ }
75
+ if (v.subType === "numeric") {
76
+ const mm = ["min", "max"].filter((k) => v.attr(k) !== undefined).map((k) => { cov.consumeAttr(v, k); return `${k}=${v.attr(k)}`; });
77
+ if (mm.length)
78
+ bits.push(badge({ text: mm.join(" "), cls: "badge-soft badge-neutral" }));
79
+ }
80
+ }
81
+ // reference vs containment badge. A field of subType `object` with an objectRef CONTAINS a nested
82
+ // object (composition); a scalar field with an objectRef REFERENCES another object by id.
83
+ let refHref, refName;
84
+ const oref = a("objectRef");
85
+ if (typeof oref === "string") {
86
+ const t = g.byFqn(oref.includes("::") ? oref : `${ctxPkg}::${oref}`) ?? g.byFqn(oref);
87
+ if (t) {
88
+ refHref = g.relHref(ownerHref, t.href);
89
+ refName = t.name;
90
+ const contains = f.subType === "object";
91
+ bits.push(badge({
92
+ text: contains ? `⊃ ${t.name}` : `→ ${t.name}`,
93
+ cls: contains ? "badge-soft badge-secondary" : "badge-soft badge-info",
94
+ href: refHref,
95
+ title: contains ? "contains (nested object)" : "reference",
96
+ }));
97
+ }
98
+ }
99
+ const desc = esc(a("description") ?? "");
100
+ return { name: f.name, type: f.subType, isArray: f.resolvedIsArray(), required, badgesHtml: bits.join(" "), desc, enumValues, refHref, refName, inheritedFrom: undefined, anchor: `f-${f.name}` };
101
+ }
102
+ // Neighborhood edge label: relationship edges show their name + (M:N) junction + onDelete; extends/others show via.
103
+ function edgeLabelFor(r) {
104
+ if (r.kind === "extends")
105
+ return "extends";
106
+ if (r.kind === "relationship") {
107
+ const junction = r.through ? ` · M:N via ${r.through.split("::").pop()}` : "";
108
+ const od = r.onDelete ? ` · ${r.onDelete}` : "";
109
+ return `${r.via}${junction}${od}`;
110
+ }
111
+ return r.via;
112
+ }
113
+ export function buildObjectPage(fqn, g, cov) {
114
+ const dn = g.byFqn(fqn);
115
+ if (!dn || dn.kind !== "object")
116
+ throw new Error(`not an object: ${fqn}`);
117
+ const o = dn.node;
118
+ cov.consumeNode(o);
119
+ cov.consumeAttr(o, "description");
120
+ // inheritance hierarchy rows (ancestors nearest-last so level increases downward) + self + direct children
121
+ const anc = g.ancestors(fqn); // nearest-first
122
+ const hierarchy = [];
123
+ anc.slice().reverse().forEach((n, i) => hierarchy.push({ name: n.name, href: g.relHref(dn.href, n.href), level: i, self: false }));
124
+ const selfLevel = anc.length;
125
+ hierarchy.push({ name: dn.name, href: "", level: selfLevel, self: true });
126
+ const kids = g.extendedBy(fqn).slice().sort((a, b) => a.name.localeCompare(b.name));
127
+ for (const k of kids)
128
+ hierarchy.push({ name: k.name, href: g.relHref(dn.href, k.href), level: selfLevel + 1, self: false });
129
+ const inheritanceMermaid = hierarchy.length > 1
130
+ ? inheritanceTree(hierarchy.map((h) => ({ name: h.name, level: h.level, self: h.self }))) : undefined;
131
+ // storage: table vs view, generation, pk
132
+ let tableName, isView = false, pkHtml, generation = "";
133
+ for (const s of o.childrenOfType("source")) {
134
+ cov.consumeNode(s);
135
+ const t = s.attr("table");
136
+ if (t !== undefined) {
137
+ cov.consumeAttr(s, "table");
138
+ tableName = String(t);
139
+ }
140
+ const kind = s.attr("kind");
141
+ if (kind !== undefined) {
142
+ cov.consumeAttr(s, "kind");
143
+ if (String(kind) === "view")
144
+ isView = true;
145
+ }
146
+ }
147
+ // indexes: identity (pk/secondary) + index.lookup with tuning detail
148
+ const indexes = [];
149
+ for (const id of o.childrenOfType("identity")) {
150
+ cov.consumeNode(id);
151
+ const flds = id.attr("fields");
152
+ if (flds !== undefined)
153
+ cov.consumeAttr(id, "fields");
154
+ const fields = Array.isArray(flds) ? flds.join(", ") : String(flds ?? "");
155
+ if (id.subType === "primary") {
156
+ pkHtml = `<code>${esc(fields)}</code>`;
157
+ const gen = id.attr("generation");
158
+ if (gen !== undefined) {
159
+ cov.consumeAttr(id, "generation");
160
+ generation = String(gen);
161
+ }
162
+ indexes.push({ name: id.name, kind: "primary", fields, extra: "", unique: true });
163
+ }
164
+ else if (id.subType === "secondary") {
165
+ indexes.push({ name: id.name, kind: "unique", fields, extra: "", unique: true });
166
+ }
167
+ else if (id.subType === "reference") {
168
+ const ref = id.attr("references");
169
+ if (ref !== undefined)
170
+ cov.consumeAttr(id, "references");
171
+ const enf = id.attr("enforce");
172
+ if (enf !== undefined)
173
+ cov.consumeAttr(id, "enforce");
174
+ indexes.push({ name: id.name, kind: "fk", fields, extra: [ref ? `→ ${esc(String(ref))}` : "", enf === false || enf === "false" ? "logical" : ""].filter(Boolean).join(" · "), unique: false });
175
+ }
176
+ }
177
+ for (const ix of o.childrenOfType("index")) {
178
+ cov.consumeNode(ix);
179
+ const flds = ix.attr("fields");
180
+ if (flds !== undefined)
181
+ cov.consumeAttr(ix, "fields");
182
+ const fields = Array.isArray(flds) ? flds.join(", ") : String(flds ?? "");
183
+ const extras = [];
184
+ for (const k of ["orders", "where", "expr", "using"]) {
185
+ const v = ix.attr(k);
186
+ if (v !== undefined) {
187
+ cov.consumeAttr(ix, k);
188
+ extras.push(esc(`${k} ${Array.isArray(v) ? v.join(",") : v}`));
189
+ }
190
+ }
191
+ const uniq = ix.attr("unique");
192
+ if (uniq !== undefined)
193
+ cov.consumeAttr(ix, "unique");
194
+ indexes.push({ name: ix.name, kind: "index", fields, extra: extras.join(" · "), unique: uniq === true || uniq === "true" });
195
+ }
196
+ indexes.sort((a, b) => a.kind.localeCompare(b.kind) || a.name.localeCompare(b.name));
197
+ // validators: field-level shown as badges already; collect OBJECT-level here
198
+ const validators = [];
199
+ for (const v of o.childrenOfType("validator")) {
200
+ cov.consumeNode(v);
201
+ const at = (k) => { const x = v.attr(k); if (x !== undefined)
202
+ cov.consumeAttr(v, k); return x; };
203
+ let rule = "";
204
+ if (v.subType === "comparison")
205
+ rule = `${esc(String(at("left") ?? ""))} ${esc(String(at("op") ?? ""))} ${esc(String(at("right") ?? ""))}`;
206
+ else if (v.subType === "requiredWhen")
207
+ rule = `${esc(String(at("field") ?? ""))} required when ${esc(String(at("when") ?? ""))} = ${esc(String(at("equals") ?? ""))}`;
208
+ else if (v.subType === "presentIff")
209
+ rule = `${esc(String(at("field") ?? ""))} present iff ${esc(String(at("when") ?? ""))} = ${esc(String(at("equals") ?? ""))}`;
210
+ else if (v.subType === "atLeastOne") {
211
+ const fs = at("fields");
212
+ rule = `at least one of ${esc(Array.isArray(fs) ? fs.map(String).join(", ") : String(fs ?? ""))}`;
213
+ }
214
+ else
215
+ rule = esc(v.subType);
216
+ validators.push({ scope: "object", subject: v.name || v.subType, rule });
217
+ }
218
+ validators.sort((a, b) => a.subject.localeCompare(b.subject));
219
+ // relationships
220
+ const relations = g.relationshipsOf(fqn).map((r) => {
221
+ const t = g.byFqn(r.toFqn);
222
+ return { name: r.name, toName: t?.name ?? r.toFqn, toHref: t ? g.relHref(dn.href, t.href) : "", cardinality: r.cardinality };
223
+ });
224
+ for (const rel of o.childrenOfType("relationship")) {
225
+ cov.consumeNode(rel);
226
+ cov.consumeAttr(rel, "objectRef");
227
+ cov.consumeAttr(rel, "cardinality");
228
+ }
229
+ // origin provenance
230
+ const origins = g.originsOf(fqn).map((r) => ({ field: r.field, from: esc(r.from), via: esc(r.via) }))
231
+ .sort((a, b) => a.field.localeCompare(b.field));
232
+ for (const f of o.childrenOfType("field"))
233
+ for (const org of f.childrenOfType("origin")) {
234
+ cov.consumeNode(org);
235
+ cov.consumeAttr(org, "from");
236
+ cov.consumeAttr(org, "via");
237
+ }
238
+ // fields own vs inherited
239
+ const ownNames = new Set(o.ownChildren().filter((c) => c.type === "field").map((c) => c.name));
240
+ const ownFields = [], inheritedFields = [];
241
+ for (const f of o.childrenOfType("field")) {
242
+ const row = fieldRow(f, dn.href, g, cov, dn.pkg);
243
+ if (ownNames.has(f.name))
244
+ ownFields.push(row);
245
+ else {
246
+ for (let s = o.superResolved; s; s = s.superResolved) {
247
+ if (s.ownChildren().some((c) => c.type === "field" && c.name === f.name)) {
248
+ const t = g.byFqn(fqnOf(s));
249
+ row.inheritedFrom = t ? { name: t.name, href: g.relHref(dn.href, t.href) } : { name: s.name, href: "#" };
250
+ break;
251
+ }
252
+ }
253
+ inheritedFields.push(row);
254
+ }
255
+ }
256
+ // neighborhood diagram — rich (attrs + domain-fill/role-stroke) when small, simple domain map when large.
257
+ // Cap the neighbor count so hub entities (30+ neighbors) don't produce an unreadable megadiagram;
258
+ // the full set is always available in the Referenced-by / References sections below.
259
+ const NB_MAX = 16;
260
+ // include every traversal kind (fk, field.object, origin, relationship, extends) so projections and
261
+ // value objects are never orphaned; the dedicated Inheritance section still shows the full chain.
262
+ const nbCandidates = new Map();
263
+ for (const r of g.refsFrom(fqn)) {
264
+ const t = g.byFqn(r.to);
265
+ if (t && !nbCandidates.has(r.to))
266
+ nbCandidates.set(r.to, { node: t, edge: { parent: t.name, child: dn.name, label: edgeLabelFor(r), cardinality: r.cardinality } });
267
+ }
268
+ for (const r of g.refsTo(fqn)) {
269
+ const s = g.byFqn(r.from);
270
+ if (s && s.kind === "object" && !nbCandidates.has(r.from))
271
+ nbCandidates.set(r.from, { node: s, edge: { parent: dn.name, child: s.name, label: edgeLabelFor(r), cardinality: r.cardinality } });
272
+ }
273
+ const sortedNeighbors = [...nbCandidates.entries()].sort(([, a], [, b]) => a.node.name.localeCompare(b.node.name));
274
+ const neighborhoodMore = Math.max(0, sortedNeighbors.length - NB_MAX);
275
+ const nbNodes = new Map();
276
+ const nbEdges = [];
277
+ nbNodes.set(fqn, dn);
278
+ for (const [k, { node, edge }] of sortedNeighbors.slice(0, NB_MAX)) {
279
+ nbNodes.set(k, node);
280
+ nbEdges.push(edge);
281
+ }
282
+ const roleOf = (n) => fqnOf(n.node) === fqn ? "focal"
283
+ : n.node.childrenOfType("source").some((s) => String(s.attr("kind") ?? "") === "view") ? "view"
284
+ : n.pkg !== dn.pkg ? "external" : "normal";
285
+ let neighborhoodMermaid;
286
+ let neighborhoodLegend;
287
+ if (nbEdges.length > 0) {
288
+ if (nbNodes.size <= RICH_MAX) {
289
+ const erNodes = [...nbNodes.values()].map((n) => { const { attrs, more } = neighborAttrs(n.node); return { name: n.name, pkg: n.pkg, role: roleOf(n), kind: n.node.subType, attrs, more }; });
290
+ neighborhoodMermaid = erDiagramRich(erNodes, nbEdges);
291
+ }
292
+ else {
293
+ const r = flowchartDomain([...nbNodes.values()].map((n) => ({ name: n.name, pkg: n.pkg, kind: n.node.subType })), nbEdges.map((e) => ({ from: e.parent, to: e.child, label: e.label, ...(e.cardinality === "many" ? { style: "dashed" } : {}) })));
294
+ neighborhoodMermaid = r.mermaid;
295
+ neighborhoodLegend = r.legend;
296
+ }
297
+ }
298
+ // backlinks / forward refs (non-extends)
299
+ const referencedBy = g.refsTo(fqn).filter((r) => r.kind !== "extends").map((r) => { const s = g.byFqn(r.from); return { name: s.name, href: g.relHref(dn.href, s.href), via: r.via }; }).sort((a, b) => a.name.localeCompare(b.name) || a.via.localeCompare(b.via));
300
+ const references = g.refsFrom(fqn).filter((r) => r.kind !== "extends").map((r) => { const t = g.byFqn(r.to); return { name: t.name, href: g.relHref(dn.href, t.href), via: r.via }; }).sort((a, b) => a.name.localeCompare(b.name) || a.via.localeCompare(b.via));
301
+ // used-by templates (unchanged BFS)
302
+ const usedByTemplates = [];
303
+ for (const t of g.nodes().filter((n) => n.kind !== "object")) {
304
+ const seen = new Set();
305
+ const q = g.refsFrom(fqnOf(t.node)).filter((r) => r.kind === "payload").map((r) => r.to);
306
+ let hit = false;
307
+ while (q.length && seen.size < 100) {
308
+ const cur = q.shift();
309
+ if (seen.has(cur))
310
+ continue;
311
+ seen.add(cur);
312
+ if (cur === fqn) {
313
+ hit = true;
314
+ break;
315
+ }
316
+ for (const r of g.refsFrom(cur))
317
+ if (r.kind === "field")
318
+ q.push(r.to);
319
+ }
320
+ if (hit)
321
+ usedByTemplates.push({ name: t.name, href: g.relHref(dn.href, t.href) });
322
+ }
323
+ const src = o.source.files?.[0] ?? "";
324
+ const crumbs = [
325
+ `<a href="${esc(g.relHref(dn.href, "index.html"))}">index</a>`,
326
+ `<a href="${esc(g.relHref(dn.href, `${dn.pkgPath}/index.html`))}">${esc(dn.pkg)}</a>`,
327
+ esc(dn.name),
328
+ ];
329
+ return {
330
+ name: dn.name, kindBadge: o.subType, isAbstract: o.isAbstract, isView, generation,
331
+ pkg: dn.pkg, href: dn.href, breadcrumbHtml: crumbs.join(" / "), desc: esc(o.attr("description") ?? ""),
332
+ tableName, pkHtml, ownFields, inheritedFields, indexes, validators, relations, origins,
333
+ hierarchy, inheritanceMermaid, neighborhoodMermaid, neighborhoodLegend, neighborhoodMore, referencedBy, references, usedByTemplates, sourceFile: src,
334
+ };
335
+ }
336
+ //# sourceMappingURL=object-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"object-data.js","sourceRoot":"","sources":["../../src/builders/object-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import { LinkGraph } from "../link-graph";
2
+ import type { CoverageTracker } from "../coverage";
3
+ import type { CommentDocs } from "../yaml-comments";
4
+ export interface OutputPageData {
5
+ name: string;
6
+ pkg: string;
7
+ href: string;
8
+ breadcrumbHtml: string;
9
+ format: string;
10
+ kind: string;
11
+ textRef: string;
12
+ textRefResolves: boolean;
13
+ payloadName: string;
14
+ payloadHref: string;
15
+ desc: string;
16
+ fields: {
17
+ name: string;
18
+ type: string;
19
+ isArray: boolean;
20
+ wire: string;
21
+ note: string;
22
+ refHtml: string;
23
+ }[];
24
+ }
25
+ export declare function buildOutputPage(fqn: string, g: LinkGraph, cov: CoverageTracker, docs: CommentDocs, sourceDirs?: string[]): OutputPageData;
26
+ //# sourceMappingURL=output-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-data.d.ts","sourceRoot":"","sources":["../../src/builders/output-data.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGpD,MAAM,WAAW,cAAc;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,OAAO,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAAE;AAE9U,wBAAgB,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,UAAU,GAAE,MAAM,EAAO,GAAG,cAAc,CAyB7I"}
@@ -0,0 +1,35 @@
1
+ import { existsSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { LinkGraph } from "../link-graph";
4
+ import { esc } from "../badges";
5
+ export function buildOutputPage(fqn, g, cov, docs, sourceDirs = []) {
6
+ const dn = g.byFqn(fqn);
7
+ const t = dn.node;
8
+ cov.consumeNode(t);
9
+ cov.consumeAttr(t, "payloadRef");
10
+ cov.consumeAttr(t, "textRef");
11
+ cov.consumeAttr(t, "format");
12
+ const format = String(t.attr("format") ?? "text");
13
+ const pRef = g.refsFrom(fqn).find((r) => r.kind === "payload");
14
+ const payload = pRef ? g.byFqn(pRef.to) : undefined;
15
+ const fields = (payload?.node.childrenOfType("field") ?? []).map((f) => {
16
+ const ref = f.attr("objectRef");
17
+ const target = typeof ref === "string" ? (g.byFqn(ref.includes("::") ? ref : `${dn.pkg}::${ref}`) ?? g.byFqn(ref)) : undefined;
18
+ const hasXmlText = f.attr("xmlText") !== undefined;
19
+ const wire = hasXmlText ? "@xmlText body" : target ? "nested" : format === "xml" ? (f.resolvedIsArray() ? "element" : "attr") : "property";
20
+ const noteAttr = f.attr("description");
21
+ const note = esc(noteAttr ?? docs.fieldNote.get(`${payload.name}.${f.name}`) ?? "");
22
+ if (noteAttr !== undefined)
23
+ cov.consumeAttr(f, "description");
24
+ return { name: f.name, type: f.subType, isArray: f.resolvedIsArray(), wire, note,
25
+ refHtml: target ? `<a href="${esc(g.relHref(dn.href, target.href))}" class="link">${esc(target.name)}</a>` : "" };
26
+ });
27
+ const textRef = String(t.attr("textRef") ?? "");
28
+ const textRefResolves = sourceDirs.some((d) => existsSync(join(d, ...textRef.split("/")) + ".mustache"));
29
+ return { name: dn.name, pkg: dn.pkg, href: dn.href,
30
+ breadcrumbHtml: `<a href="${esc(g.relHref(dn.href, "index.html"))}">index</a> / <a href="${esc("index.html")}">${esc(dn.pkg)}</a> / ${esc(dn.name)}`,
31
+ format, kind: String(t.attr("kind") ?? "document"), textRef, textRefResolves,
32
+ payloadName: payload?.name ?? "", payloadHref: payload ? esc(g.relHref(dn.href, payload.href)) : "",
33
+ desc: payload ? esc(payload.node.attr("description") ?? docs.objectDesc.get(payload.name) ?? "") : "", fields };
34
+ }
35
+ //# sourceMappingURL=output-data.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"output-data.js","sourceRoot":"","sources":["../../src/builders/output-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,48 @@
1
+ import { LinkGraph } from "../link-graph";
2
+ import type { CoverageTracker } from "../coverage";
3
+ export interface ObjRow {
4
+ name: string;
5
+ href: string;
6
+ kind: string;
7
+ table: string;
8
+ fieldCount: number;
9
+ extendsName: string;
10
+ }
11
+ export interface TplRow {
12
+ name: string;
13
+ href: string;
14
+ payloadName: string;
15
+ payloadHref: string;
16
+ format: string;
17
+ textRef: string;
18
+ }
19
+ export interface PackagePageData {
20
+ pkg: string;
21
+ pkgPath: string;
22
+ tree: string;
23
+ breadcrumbHtml: string;
24
+ title: string;
25
+ descHtml: string;
26
+ keyCards: {
27
+ name: string;
28
+ href: string;
29
+ inbound: number;
30
+ }[];
31
+ erdMermaid: string;
32
+ erdLegend: {
33
+ pkg: string;
34
+ fill: string;
35
+ stroke: string;
36
+ }[];
37
+ abstracts: ObjRow[];
38
+ objects: ObjRow[];
39
+ prompts: TplRow[];
40
+ outputs: TplRow[];
41
+ referencedBy: {
42
+ pkg: string;
43
+ href: string;
44
+ n: number;
45
+ }[];
46
+ }
47
+ export declare function buildPackagePage(pkg: string, g: LinkGraph, cov: CoverageTracker, sourceDirs?: string[]): PackagePageData;
48
+ //# sourceMappingURL=package-data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"package-data.d.ts","sourceRoot":"","sources":["../../src/builders/package-data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAS,MAAM,eAAe,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA4BnD,MAAM,WAAW,MAAM;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;CAAE;AAC7H,MAAM,WAAW,MAAM;IAAG,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;CAAE;AAClI,MAAM,WAAW,eAAe;IAC9B,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,cAAc,EAAE,MAAM,CAAC;IACnE,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAChC,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5D,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/E,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAC7E,YAAY,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CAC1D;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,eAAe,EAAE,UAAU,CAAC,EAAE,MAAM,EAAE,GAAG,eAAe,CA4FxH"}