sfdx-hardis 5.42.0 → 5.43.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.
@@ -5,4 +5,5 @@ export declare class DocBuilderApex extends DocBuilderRoot {
5
5
  promptKey: PromptTemplate;
6
6
  placeholder: string;
7
7
  static buildIndexTable(prefix: string, apexDescriptions: any[], filterObject?: string | null): string[];
8
+ static buildMermaidClassDiagram(className: string, apexDescriptions: any[]): string;
8
9
  }
@@ -1,3 +1,5 @@
1
+ import * as fs from "fs";
2
+ import { sortCrossPlatform } from "../utils/index.js";
1
3
  import { DocBuilderRoot } from "./docBuilderRoot.js";
2
4
  export class DocBuilderApex extends DocBuilderRoot {
3
5
  docType = "APEX";
@@ -24,5 +26,105 @@ export class DocBuilderApex extends DocBuilderRoot {
24
26
  lines.push("");
25
27
  return lines;
26
28
  }
29
+ // Build Mermaid class diagram with all direct and reverse relationships with className
30
+ static buildMermaidClassDiagram(className, apexDescriptions) {
31
+ const classNameDescription = apexDescriptions.find(apex => apex.name === className);
32
+ if (!classNameDescription) {
33
+ return "";
34
+ }
35
+ const relatedClasses = sortCrossPlatform(classNameDescription.relatedClasses || []);
36
+ const reverseRelatedClasses = sortCrossPlatform(apexDescriptions.map(apex => ({
37
+ name: apex.name,
38
+ relatedClasses: apex.relatedClasses || []
39
+ })).filter(apex => apex.relatedClasses.includes(className)).map(apex => apex.name));
40
+ const allRelatedClasses = [...new Set([...relatedClasses, ...reverseRelatedClasses])];
41
+ const lines = ["## Class Diagram"];
42
+ lines.push("");
43
+ lines.push("```mermaid");
44
+ lines.push("graph TD");
45
+ lines.push(` ${className}["${className}"]:::mainApexClass`);
46
+ if (fs.existsSync(`docs/apex/${className}.md`)) {
47
+ lines.push(` click ${className} "/objects/${className}/"`);
48
+ }
49
+ // Declare all classes related to the className
50
+ for (const relatedClassName of allRelatedClasses) {
51
+ const relatedClassDescription = apexDescriptions.find(apex => apex.name === relatedClassName);
52
+ if (relatedClassDescription?.type.includes("Test")) {
53
+ lines.push(` ${relatedClassName}["${relatedClassName}"]:::apexTestClass`);
54
+ }
55
+ else {
56
+ lines.push(` ${relatedClassName}["${relatedClassName}"]:::apexClass`);
57
+ }
58
+ if (fs.existsSync(`docs/apex/${relatedClassName}.md`)) {
59
+ lines.push(` click ${relatedClassName} "/apex/${relatedClassName}/"`);
60
+ }
61
+ }
62
+ lines.push("");
63
+ let pos = 0;
64
+ const directLinksPos = [];
65
+ const reverseLinksPos = [];
66
+ const transverseLinksPos = [];
67
+ // Add relationships
68
+ for (const relatedClassName of relatedClasses) {
69
+ if (relatedClassName !== className) {
70
+ lines.push(` ${className} --> ${relatedClassName}`);
71
+ directLinksPos.push(pos);
72
+ pos++;
73
+ }
74
+ }
75
+ lines.push("");
76
+ // Add reverse relationships
77
+ for (const relatedClassName of reverseRelatedClasses) {
78
+ if (relatedClassName !== className) {
79
+ lines.push(` ${relatedClassName} --> ${className}`);
80
+ reverseLinksPos.push(pos);
81
+ pos++;
82
+ }
83
+ }
84
+ lines.push("");
85
+ // If the number of lines is not too big, calculate relations between related classes using allRelatedClasses and apexDescriptions
86
+ // This is to avoid too many links in the diagram
87
+ if (allRelatedClasses.length > 10) {
88
+ lines.push(" %% Too many related classes, skipping transverse links");
89
+ lines.push("");
90
+ }
91
+ else {
92
+ for (const relatedClassName of allRelatedClasses) {
93
+ const relatedClassDescription = apexDescriptions.find(apex => apex.name === relatedClassName);
94
+ if (relatedClassDescription) {
95
+ const relatedRelatedClasses = relatedClassDescription.relatedClasses || [];
96
+ for (const otherRelatedClassName of relatedRelatedClasses) {
97
+ if (otherRelatedClassName !== className && allRelatedClasses.includes(otherRelatedClassName) && otherRelatedClassName !== relatedClassName) {
98
+ lines.push(` ${relatedClassName} --> ${otherRelatedClassName}`);
99
+ transverseLinksPos.push(pos);
100
+ pos++;
101
+ }
102
+ }
103
+ }
104
+ }
105
+ }
106
+ // Add styles for classes
107
+ lines.push("");
108
+ lines.push(`classDef apexClass fill:#FFF4C2,stroke:#CCAA00,stroke-width:3px,rx:12px,ry:12px,shadow:drop,color:#333;`);
109
+ lines.push(`classDef apexTestClass fill:#F5F5F5,stroke:#999999,stroke-width:3px,rx:12px,ry:12px,shadow:drop,color:#333;`);
110
+ lines.push(`classDef mainApexClass fill:#FFB3B3,stroke:#A94442,stroke-width:4px,rx:14px,ry:14px,shadow:drop,color:#333,font-weight:bold;`);
111
+ lines.push("");
112
+ // Add classes to links
113
+ if (directLinksPos.length > 0) {
114
+ lines.push("linkStyle " + directLinksPos.join(",") + " stroke:#4C9F70,stroke-width:4px;");
115
+ }
116
+ if (reverseLinksPos.length > 0) {
117
+ lines.push("linkStyle " + reverseLinksPos.join(",") + " stroke:#FF8C00,stroke-width:2px;");
118
+ }
119
+ if (transverseLinksPos.length > 0) {
120
+ lines.push("linkStyle " + transverseLinksPos.join(",") + " stroke:#A6A6A6,stroke-width:2px;");
121
+ }
122
+ lines.push("```");
123
+ // Use Graph LR if there are too many lines for a nice mermaid display
124
+ if (lines.length > 50) {
125
+ lines[3] = "graph LR";
126
+ }
127
+ return lines.join("\n");
128
+ }
27
129
  }
28
130
  //# sourceMappingURL=docBuilderApex.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"docBuilderApex.js","sourceRoot":"","sources":["../../../src/common/docBuilder/docBuilderApex.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAErD,MAAM,OAAO,cAAe,SAAQ,cAAc;IAEzC,OAAO,GAAG,MAAM,CAAC;IACjB,SAAS,GAAmB,sBAAsB,CAAC;IACnD,WAAW,GAAG,2BAA2B,CAAC;IAE1C,MAAM,CAAC,eAAe,CAAC,MAAc,EAAE,gBAAuB,EAAE,eAA8B,IAAI;QACvG,MAAM,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,gBAAgB,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;QACpI,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9B,OAAO,EAAE,CAAC;QACZ,CAAC;QACD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,CAAC,IAAI,CAAC,GAAG;YACZ,YAAY,CAAC,CAAC,CAAC,yBAAyB,CAAC,CAAC,CAAC,iBAAiB;YAC5D,EAAE;YACF,uBAAuB;YACvB,wBAAwB;SACzB,CAAC,CAAC;QACH,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,GAAG,IAAI,CAAC,IAAI,MAAM,CAAC;YAChE,KAAK,CAAC,IAAI,CAAC,GAAG;gBACZ,KAAK,YAAY,MAAM,IAAI,CAAC,IAAI,IAAI;aACrC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACf,OAAO,KAAK,CAAC;IACf,CAAC;CAEF"}
1
+ {"version":3,"file":"docBuilderApex.js","sourceRoot":"","sources":["../../../src/common/docBuilder/docBuilderApex.ts"],"names":[],"mappings":"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"}
@@ -69,6 +69,10 @@ classDef mainObject fill:#FFB3B3,stroke:#A94442,stroke-width:4px,rx:14px,ry:14px
69
69
  if (lookupPos.length > 0) {
70
70
  mermaidSchema += "linkStyle " + lookupPos.join(",") + " stroke:#A6A6A6,stroke-width:2px;\n";
71
71
  }
72
+ // Use Graph LR if there are too many lines for a nice mermaid display
73
+ if (mermaidSchema.split("\n").length > 50) {
74
+ mermaidSchema = mermaidSchema.replace("graph TD", "graph LR");
75
+ }
72
76
  return mermaidSchema;
73
77
  }
74
78
  async buildAllLinks() {
@@ -156,9 +160,19 @@ classDef mainObject fill:#FFB3B3,stroke:#A94442,stroke-width:4px,rx:14px,ry:14px
156
160
  }
157
161
  }
158
162
  async selectLinks() {
159
- for (const link of this.allLinks) {
160
- if (this.selectedObjectsNames.has(link.from) && this.selectedObjectsNames.has(link.to)) {
161
- this.selectedLinks.push(link);
163
+ if (this.selectedObjectsNames.size > 10) {
164
+ for (const link of this.allLinks) {
165
+ if ((link.from === this.mainCustomObject || link.to === this.mainCustomObject) &&
166
+ (this.selectedObjectsNames.has(link.from) && this.selectedObjectsNames.has(link.to))) {
167
+ this.selectedLinks.push(link);
168
+ }
169
+ }
170
+ }
171
+ else {
172
+ for (const link of this.allLinks) {
173
+ if (this.selectedObjectsNames.has(link.from) && this.selectedObjectsNames.has(link.to)) {
174
+ this.selectedLinks.push(link);
175
+ }
162
176
  }
163
177
  }
164
178
  }
@@ -1 +1 @@
1
- {"version":3,"file":"objectModelBuilder.js","sourceRoot":"","sources":["../../../src/common/docBuilder/objectModelBuilder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"objectModelBuilder.js","sourceRoot":"","sources":["../../../src/common/docBuilder/objectModelBuilder.ts"],"names":[],"mappings":"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"}