@jterrats/smart-deployment 1.0.5 → 1.2.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 (265) hide show
  1. package/README.md +3 -2
  2. package/lib/ai/wave-validation-prompt.d.ts +2 -0
  3. package/lib/ai/wave-validation-prompt.js +56 -0
  4. package/lib/ai/wave-validation-prompt.js.map +1 -0
  5. package/lib/ai/wave-validation-report.d.ts +2 -0
  6. package/lib/ai/wave-validation-report.js +96 -0
  7. package/lib/ai/wave-validation-report.js.map +1 -0
  8. package/lib/ai/wave-validation-response-parser.d.ts +8 -0
  9. package/lib/ai/wave-validation-response-parser.js +112 -0
  10. package/lib/ai/wave-validation-response-parser.js.map +1 -0
  11. package/lib/ai/wave-validation-result-synthesis.d.ts +6 -0
  12. package/lib/ai/wave-validation-result-synthesis.js +49 -0
  13. package/lib/ai/wave-validation-result-synthesis.js.map +1 -0
  14. package/lib/ai/wave-validation-service.d.ts +1 -55
  15. package/lib/ai/wave-validation-service.js +11 -359
  16. package/lib/ai/wave-validation-service.js.map +1 -1
  17. package/lib/ai/wave-validation-transport.d.ts +7 -0
  18. package/lib/ai/wave-validation-transport.js +10 -0
  19. package/lib/ai/wave-validation-transport.js.map +1 -0
  20. package/lib/analysis/analysis-reporter.d.ts +29 -0
  21. package/lib/analysis/analysis-reporter.js +84 -1
  22. package/lib/analysis/analysis-reporter.js.map +1 -1
  23. package/lib/analysis/analyze-context-service.d.ts +1 -1
  24. package/lib/analysis/analyze-context-service.js +2 -0
  25. package/lib/analysis/analyze-context-service.js.map +1 -1
  26. package/lib/analysis/project-analysis-service.d.ts +2 -0
  27. package/lib/analysis/project-analysis-service.js +2 -0
  28. package/lib/analysis/project-analysis-service.js.map +1 -1
  29. package/lib/commands/ci-publish.d.ts +14 -0
  30. package/lib/commands/ci-publish.js +69 -0
  31. package/lib/commands/ci-publish.js.map +1 -0
  32. package/lib/commands/start.d.ts +1 -0
  33. package/lib/commands/start.js +14 -1
  34. package/lib/commands/start.js.map +1 -1
  35. package/lib/commands/status.d.ts +2 -0
  36. package/lib/commands/status.js +1 -0
  37. package/lib/commands/status.js.map +1 -1
  38. package/lib/commands/validate.d.ts +3 -3
  39. package/lib/commands/validate.js +4 -4
  40. package/lib/commands/validate.js.map +1 -1
  41. package/lib/constants/api-version.d.ts +2 -2
  42. package/lib/constants/api-version.js +2 -2
  43. package/lib/constants/deployment-order.js +11 -8
  44. package/lib/constants/deployment-order.js.map +1 -1
  45. package/lib/dependencies/circular-dependency-detector.d.ts +1 -31
  46. package/lib/dependencies/circular-dependency-detector.js +7 -156
  47. package/lib/dependencies/circular-dependency-detector.js.map +1 -1
  48. package/lib/dependencies/cycle-break-suggestions.d.ts +3 -0
  49. package/lib/dependencies/cycle-break-suggestions.js +63 -0
  50. package/lib/dependencies/cycle-break-suggestions.js.map +1 -0
  51. package/lib/dependencies/cycle-discovery.d.ts +16 -0
  52. package/lib/dependencies/cycle-discovery.js +70 -0
  53. package/lib/dependencies/cycle-discovery.js.map +1 -0
  54. package/lib/dependencies/dependency-graph-builder.d.ts +0 -65
  55. package/lib/dependencies/dependency-graph-builder.js +19 -233
  56. package/lib/dependencies/dependency-graph-builder.js.map +1 -1
  57. package/lib/dependencies/dependency-graph-intake.d.ts +17 -0
  58. package/lib/dependencies/dependency-graph-intake.js +20 -0
  59. package/lib/dependencies/dependency-graph-intake.js.map +1 -0
  60. package/lib/dependencies/dependency-graph-stats.d.ts +4 -0
  61. package/lib/dependencies/dependency-graph-stats.js +82 -0
  62. package/lib/dependencies/dependency-graph-stats.js.map +1 -0
  63. package/lib/dependencies/dependency-graph-validation.d.ts +16 -0
  64. package/lib/dependencies/dependency-graph-validation.js +78 -0
  65. package/lib/dependencies/dependency-graph-validation.js.map +1 -0
  66. package/lib/dependencies/dependency-impact-analyzer.d.ts +1 -22
  67. package/lib/dependencies/dependency-impact-analyzer.js +12 -110
  68. package/lib/dependencies/dependency-impact-analyzer.js.map +1 -1
  69. package/lib/dependencies/dependency-impact-scoring.d.ts +5 -0
  70. package/lib/dependencies/dependency-impact-scoring.js +24 -0
  71. package/lib/dependencies/dependency-impact-scoring.js.map +1 -0
  72. package/lib/dependencies/dependency-impact-traversal.d.ts +18 -0
  73. package/lib/dependencies/dependency-impact-traversal.js +74 -0
  74. package/lib/dependencies/dependency-impact-traversal.js.map +1 -0
  75. package/lib/dependencies/dependency-resolution-classifier.d.ts +19 -0
  76. package/lib/dependencies/dependency-resolution-classifier.js +67 -0
  77. package/lib/dependencies/dependency-resolution-classifier.js.map +1 -0
  78. package/lib/dependencies/dependency-resolver.d.ts +1 -48
  79. package/lib/dependencies/dependency-resolver.js +12 -181
  80. package/lib/dependencies/dependency-resolver.js.map +1 -1
  81. package/lib/dependencies/dynamic-query-dependency-references.d.ts +3 -0
  82. package/lib/dependencies/dynamic-query-dependency-references.js +41 -0
  83. package/lib/dependencies/dynamic-query-dependency-references.js.map +1 -0
  84. package/lib/dependencies/topological-dependency-sorter.d.ts +10 -0
  85. package/lib/dependencies/topological-dependency-sorter.js +84 -0
  86. package/lib/dependencies/topological-dependency-sorter.js.map +1 -0
  87. package/lib/deployment/cycle-remediation-runner.d.ts +1 -0
  88. package/lib/deployment/cycle-remediation-runner.js +5 -1
  89. package/lib/deployment/cycle-remediation-runner.js.map +1 -1
  90. package/lib/deployment/deployment-runner.d.ts +3 -1
  91. package/lib/deployment/deployment-runner.js +6 -1
  92. package/lib/deployment/deployment-runner.js.map +1 -1
  93. package/lib/deployment/deployment-status-service.d.ts +2 -0
  94. package/lib/deployment/deployment-status-service.js +2 -0
  95. package/lib/deployment/deployment-status-service.js.map +1 -1
  96. package/lib/deployment/deployment-validation-service.js +1 -1
  97. package/lib/deployment/deployment-validation-service.js.map +1 -1
  98. package/lib/deployment/dynamic-query-target-validator.d.ts +24 -0
  99. package/lib/deployment/dynamic-query-target-validator.js +65 -0
  100. package/lib/deployment/dynamic-query-target-validator.js.map +1 -0
  101. package/lib/deployment/sf-cli-integration.d.ts +1 -0
  102. package/lib/deployment/sf-cli-integration.js +1 -1
  103. package/lib/deployment/sf-cli-integration.js.map +1 -1
  104. package/lib/deployment/sf-cli-metadata-lookup.d.ts +4 -0
  105. package/lib/deployment/sf-cli-metadata-lookup.js +26 -0
  106. package/lib/deployment/sf-cli-metadata-lookup.js.map +1 -0
  107. package/lib/deployment/special-deployment-plan.d.ts +41 -0
  108. package/lib/deployment/special-deployment-plan.js +265 -0
  109. package/lib/deployment/special-deployment-plan.js.map +1 -0
  110. package/lib/deployment/start-execution-service.d.ts +5 -0
  111. package/lib/deployment/start-execution-service.js +26 -6
  112. package/lib/deployment/start-execution-service.js.map +1 -1
  113. package/lib/deployment/wave-graph-state.d.ts +6 -0
  114. package/lib/deployment/wave-graph-state.js +89 -0
  115. package/lib/deployment/wave-graph-state.js.map +1 -0
  116. package/lib/deployment/wave-manifest-service.d.ts +1 -0
  117. package/lib/deployment/wave-manifest-service.js +1 -1
  118. package/lib/deployment/wave-manifest-service.js.map +1 -1
  119. package/lib/errors/deployment-error.js +1 -1
  120. package/lib/errors/deployment-error.js.map +1 -1
  121. package/lib/parsers/apex-class-dependencies.d.ts +4 -0
  122. package/lib/parsers/apex-class-dependencies.js +122 -0
  123. package/lib/parsers/apex-class-dependencies.js.map +1 -0
  124. package/lib/parsers/apex-class-lexical.d.ts +3 -0
  125. package/lib/parsers/apex-class-lexical.js +101 -0
  126. package/lib/parsers/apex-class-lexical.js.map +1 -0
  127. package/lib/parsers/apex-class-names.d.ts +18 -0
  128. package/lib/parsers/apex-class-names.js +93 -0
  129. package/lib/parsers/apex-class-names.js.map +1 -0
  130. package/lib/parsers/apex-class-parser-model.d.ts +59 -0
  131. package/lib/parsers/apex-class-parser-model.js +2 -0
  132. package/lib/parsers/apex-class-parser-model.js.map +1 -0
  133. package/lib/parsers/apex-class-parser.d.ts +3 -29
  134. package/lib/parsers/apex-class-parser.js +10 -395
  135. package/lib/parsers/apex-class-parser.js.map +1 -1
  136. package/lib/parsers/apex-class-symbols.d.ts +2 -0
  137. package/lib/parsers/apex-class-symbols.js +61 -0
  138. package/lib/parsers/apex-class-symbols.js.map +1 -0
  139. package/lib/parsers/apex-dynamic-query-analysis.d.ts +2 -0
  140. package/lib/parsers/apex-dynamic-query-analysis.js +150 -0
  141. package/lib/parsers/apex-dynamic-query-analysis.js.map +1 -0
  142. package/lib/parsers/custom-metadata-dynamic-query-analysis.d.ts +2 -0
  143. package/lib/parsers/custom-metadata-dynamic-query-analysis.js +50 -0
  144. package/lib/parsers/custom-metadata-dynamic-query-analysis.js.map +1 -0
  145. package/lib/parsers/custom-metadata-parser.d.ts +2 -0
  146. package/lib/parsers/custom-metadata-parser.js +3 -0
  147. package/lib/parsers/custom-metadata-parser.js.map +1 -1
  148. package/lib/parsers/custom-object-dependency-builder.d.ts +3 -0
  149. package/lib/parsers/custom-object-dependency-builder.js +103 -0
  150. package/lib/parsers/custom-object-dependency-builder.js.map +1 -0
  151. package/lib/parsers/custom-object-parser.js +1 -208
  152. package/lib/parsers/custom-object-parser.js.map +1 -1
  153. package/lib/parsers/custom-object-reference-helpers.d.ts +4 -0
  154. package/lib/parsers/custom-object-reference-helpers.js +92 -0
  155. package/lib/parsers/custom-object-reference-helpers.js.map +1 -0
  156. package/lib/parsers/dynamic-query-reference.d.ts +16 -0
  157. package/lib/parsers/dynamic-query-reference.js +65 -0
  158. package/lib/parsers/dynamic-query-reference.js.map +1 -0
  159. package/lib/parsers/layout-action-analysis.d.ts +6 -0
  160. package/lib/parsers/layout-action-analysis.js +36 -0
  161. package/lib/parsers/layout-action-analysis.js.map +1 -0
  162. package/lib/parsers/layout-parser.js +4 -272
  163. package/lib/parsers/layout-parser.js.map +1 -1
  164. package/lib/parsers/layout-reference-analysis.d.ts +9 -0
  165. package/lib/parsers/layout-reference-analysis.js +70 -0
  166. package/lib/parsers/layout-reference-analysis.js.map +1 -0
  167. package/lib/parsers/layout-result-assembly.d.ts +5 -0
  168. package/lib/parsers/layout-result-assembly.js +35 -0
  169. package/lib/parsers/layout-result-assembly.js.map +1 -0
  170. package/lib/parsers/layout-section-analysis.d.ts +7 -0
  171. package/lib/parsers/layout-section-analysis.js +9 -0
  172. package/lib/parsers/layout-section-analysis.js.map +1 -0
  173. package/lib/parsers/lwc-code-analysis.d.ts +10 -0
  174. package/lib/parsers/lwc-code-analysis.js +161 -0
  175. package/lib/parsers/lwc-code-analysis.js.map +1 -0
  176. package/lib/parsers/lwc-metadata-analysis.d.ts +6 -0
  177. package/lib/parsers/lwc-metadata-analysis.js +112 -0
  178. package/lib/parsers/lwc-metadata-analysis.js.map +1 -0
  179. package/lib/parsers/lwc-parser.d.ts +3 -27
  180. package/lib/parsers/lwc-parser.js +6 -377
  181. package/lib/parsers/lwc-parser.js.map +1 -1
  182. package/lib/parsers/lwc-result-assembly.d.ts +4 -0
  183. package/lib/parsers/lwc-result-assembly.js +47 -0
  184. package/lib/parsers/lwc-result-assembly.js.map +1 -0
  185. package/lib/presentation/status-command-presenter.d.ts +1 -0
  186. package/lib/presentation/status-command-presenter.js +20 -0
  187. package/lib/presentation/status-command-presenter.js.map +1 -1
  188. package/lib/scanner/forceignore-parser.d.ts +1 -0
  189. package/lib/scanner/forceignore-parser.js +14 -3
  190. package/lib/scanner/forceignore-parser.js.map +1 -1
  191. package/lib/scanner/structure-validator.js +1 -1
  192. package/lib/services/metadata-scanner-service.d.ts +2 -0
  193. package/lib/services/metadata-scanner-service.js +9 -2
  194. package/lib/services/metadata-scanner-service.js.map +1 -1
  195. package/lib/services/scanners/additional-metadata-scanner.d.ts +2 -0
  196. package/lib/services/scanners/additional-metadata-scanner.js +183 -0
  197. package/lib/services/scanners/additional-metadata-scanner.js.map +1 -0
  198. package/lib/services/scanners/automation-ai-metadata-scanner.d.ts +1 -0
  199. package/lib/services/scanners/automation-ai-metadata-scanner.js +11 -0
  200. package/lib/services/scanners/automation-ai-metadata-scanner.js.map +1 -1
  201. package/lib/services/scanners/code-metadata-scanner.js +14 -1
  202. package/lib/services/scanners/code-metadata-scanner.js.map +1 -1
  203. package/lib/services/scanners/data-metadata-scanner.js +24 -8
  204. package/lib/services/scanners/data-metadata-scanner.js.map +1 -1
  205. package/lib/types/metadata.d.ts +1 -1
  206. package/lib/utils/cache-entry-serializer.d.ts +7 -0
  207. package/lib/utils/cache-entry-serializer.js +15 -0
  208. package/lib/utils/cache-entry-serializer.js.map +1 -0
  209. package/lib/utils/cache-expiry-policy.d.ts +7 -0
  210. package/lib/utils/cache-expiry-policy.js +34 -0
  211. package/lib/utils/cache-expiry-policy.js.map +1 -0
  212. package/lib/utils/cache-key-derivation.d.ts +11 -0
  213. package/lib/utils/cache-key-derivation.js +28 -0
  214. package/lib/utils/cache-key-derivation.js.map +1 -0
  215. package/lib/utils/cache-lock-lifecycle.d.ts +15 -0
  216. package/lib/utils/cache-lock-lifecycle.js +84 -0
  217. package/lib/utils/cache-lock-lifecycle.js.map +1 -0
  218. package/lib/utils/cache-logger.d.ts +8 -0
  219. package/lib/utils/cache-logger.js +19 -0
  220. package/lib/utils/cache-logger.js.map +1 -0
  221. package/lib/utils/cache-manager.d.ts +1 -2
  222. package/lib/utils/cache-manager.js +7 -253
  223. package/lib/utils/cache-manager.js.map +1 -1
  224. package/lib/utils/cache-storage.d.ts +20 -0
  225. package/lib/utils/cache-storage.js +83 -0
  226. package/lib/utils/cache-storage.js.map +1 -0
  227. package/lib/validators/xml-metadata-validator.js +1 -1
  228. package/lib/waves/priority-wave-generator.js +8 -2
  229. package/lib/waves/priority-wave-generator.js.map +1 -1
  230. package/lib/waves/test-optimizer-discovery.d.ts +12 -0
  231. package/lib/waves/test-optimizer-discovery.js +46 -0
  232. package/lib/waves/test-optimizer-discovery.js.map +1 -0
  233. package/lib/waves/test-optimizer-matching.d.ts +6 -0
  234. package/lib/waves/test-optimizer-matching.js +43 -0
  235. package/lib/waves/test-optimizer-matching.js.map +1 -0
  236. package/lib/waves/test-optimizer-model.d.ts +92 -0
  237. package/lib/waves/test-optimizer-model.js +2 -0
  238. package/lib/waves/test-optimizer-model.js.map +1 -0
  239. package/lib/waves/test-optimizer-scoring.d.ts +11 -0
  240. package/lib/waves/test-optimizer-scoring.js +53 -0
  241. package/lib/waves/test-optimizer-scoring.js.map +1 -0
  242. package/lib/waves/test-optimizer.d.ts +2 -102
  243. package/lib/waves/test-optimizer.js +9 -154
  244. package/lib/waves/test-optimizer.js.map +1 -1
  245. package/lib/waves/wave-builder.d.ts +0 -11
  246. package/lib/waves/wave-builder.js +19 -193
  247. package/lib/waves/wave-builder.js.map +1 -1
  248. package/lib/waves/wave-graph.d.ts +25 -0
  249. package/lib/waves/wave-graph.js +138 -0
  250. package/lib/waves/wave-graph.js.map +1 -0
  251. package/lib/waves/wave-metadata.d.ts +4 -0
  252. package/lib/waves/wave-metadata.js +36 -0
  253. package/lib/waves/wave-metadata.js.map +1 -0
  254. package/lib/waves/wave-priority-policy.d.ts +5 -0
  255. package/lib/waves/wave-priority-policy.js +83 -0
  256. package/lib/waves/wave-priority-policy.js.map +1 -0
  257. package/lib/waves/wave-topology.d.ts +28 -0
  258. package/lib/waves/wave-topology.js +65 -0
  259. package/lib/waves/wave-topology.js.map +1 -0
  260. package/messages/start.json +5 -5
  261. package/messages/validate.json +1 -1
  262. package/npm-shrinkwrap.json +342 -751
  263. package/oclif.lock +83 -262
  264. package/oclif.manifest.json +77 -7
  265. package/package.json +6 -2
@@ -1 +1 @@
1
- {"version":3,"file":"custom-object-parser.js","sourceRoot":"","sources":["../../src/parsers/custom-object-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"custom-object-parser.js","sourceRoot":"","sources":["../../src/parsers/custom-object-parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { CustomField } from '../types/salesforce/object.js';
2
+ export declare function resolveFormulaReferences(formula: string, fields: CustomField[]): string[];
3
+ export declare function extractCustomFieldReferences(formula: string, fields: CustomField[], currentFieldName?: string): string[];
4
+ export declare function extractApexReferences(formula: string): string[];
@@ -0,0 +1,92 @@
1
+ const FORMULA_FUNCTIONS = ['IF', 'AND', 'OR', 'NOT', 'CASE', 'TEXT', 'VALUE', 'DATE', 'DATEVALUE', 'NOW', 'TODAY'];
2
+ export function resolveFormulaReferences(formula, fields) {
3
+ const rawReferences = extractFormulaReferences(formula);
4
+ const relationshipFieldMap = createRelationshipFieldMap(fields);
5
+ const resolved = new Set();
6
+ for (const rawReference of rawReferences) {
7
+ const relationship = relationshipFieldMap.get(rawReference);
8
+ if (relationship) {
9
+ for (const referencedObject of relationship.referencedObjects) {
10
+ resolved.add(referencedObject);
11
+ }
12
+ continue;
13
+ }
14
+ resolved.add(rawReference);
15
+ }
16
+ return [...resolved];
17
+ }
18
+ export function extractCustomFieldReferences(formula, fields, currentFieldName) {
19
+ const sanitizedFormula = sanitizeFormula(formula);
20
+ const customFieldNames = new Set(fields.map((field) => field.fullName));
21
+ const relationshipFieldMap = createRelationshipFieldMap(fields);
22
+ const references = new Set();
23
+ const directFieldPattern = /\b([a-zA-Z][a-zA-Z0-9_]*__c)\b/g;
24
+ for (const match of sanitizedFormula.matchAll(directFieldPattern)) {
25
+ const fieldName = match[1];
26
+ if (fieldName !== currentFieldName && customFieldNames.has(fieldName)) {
27
+ references.add(fieldName);
28
+ }
29
+ }
30
+ const relationshipPattern = /\b([a-zA-Z][a-zA-Z0-9_]*__r)\./g;
31
+ for (const match of sanitizedFormula.matchAll(relationshipPattern)) {
32
+ const relationshipName = match[1];
33
+ const fieldReference = relationshipFieldMap.get(relationshipName)?.fieldName;
34
+ if (fieldReference && fieldReference !== currentFieldName) {
35
+ references.add(fieldReference);
36
+ }
37
+ }
38
+ return [...references];
39
+ }
40
+ export function extractApexReferences(formula) {
41
+ const apexClasses = new Set();
42
+ const apexPattern = /\b([A-Z][a-zA-Z0-9_]*)\.[a-zA-Z][a-zA-Z0-9_]*\s*\(/g;
43
+ for (const match of formula.matchAll(apexPattern)) {
44
+ apexClasses.add(match[1]);
45
+ }
46
+ return [...apexClasses];
47
+ }
48
+ function extractFormulaReferences(formula) {
49
+ const references = new Set();
50
+ const objectPattern = /\b([A-Z][a-zA-Z0-9_]*)\./g;
51
+ for (const match of formula.matchAll(objectPattern)) {
52
+ const objectName = match[1];
53
+ if (!FORMULA_FUNCTIONS.includes(objectName)) {
54
+ references.add(objectName);
55
+ }
56
+ }
57
+ const objectTypePattern = /\$ObjectType\.([a-zA-Z][a-zA-Z0-9_]*)/g;
58
+ for (const match of formula.matchAll(objectTypePattern)) {
59
+ references.add(match[1]);
60
+ }
61
+ return [...references];
62
+ }
63
+ function sanitizeFormula(formula) {
64
+ return formula.replace(/"[^"]*"|'[^']*'/g, ' ');
65
+ }
66
+ function createRelationshipFieldMap(fields) {
67
+ const relationshipFieldMap = new Map();
68
+ for (const field of fields) {
69
+ if (!field.referenceTo || field.referenceTo.length === 0) {
70
+ continue;
71
+ }
72
+ for (const key of collectRelationshipKeys(field)) {
73
+ relationshipFieldMap.set(key, {
74
+ fieldName: field.fullName,
75
+ referencedObjects: field.referenceTo,
76
+ });
77
+ }
78
+ }
79
+ return relationshipFieldMap;
80
+ }
81
+ function collectRelationshipKeys(field) {
82
+ const keys = new Set();
83
+ keys.add(field.fullName);
84
+ if (field.fullName.endsWith('__c')) {
85
+ keys.add(`${field.fullName.slice(0, -3)}__r`);
86
+ }
87
+ if (field.relationshipName) {
88
+ keys.add(field.relationshipName);
89
+ }
90
+ return keys;
91
+ }
92
+ //# sourceMappingURL=custom-object-reference-helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"custom-object-reference-helpers.js","sourceRoot":"","sources":["../../src/parsers/custom-object-reference-helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ export type DynamicQueryReferenceOrigin = 'apex-string' | 'apex-constant' | 'custom-metadata-value';
2
+ export type DynamicQueryReferenceConfidence = 'high' | 'medium' | 'low';
3
+ export type DynamicQueryReferenceSource = {
4
+ recordName?: string;
5
+ fieldName?: string;
6
+ };
7
+ export type DynamicQueryReference = {
8
+ objectName?: string;
9
+ fieldNames: string[];
10
+ rawQuery: string;
11
+ confidence: DynamicQueryReferenceConfidence;
12
+ origin: DynamicQueryReferenceOrigin;
13
+ source?: DynamicQueryReferenceSource;
14
+ };
15
+ export declare function parseSoqlReference(rawValue: string, origin: DynamicQueryReferenceOrigin, source?: DynamicQueryReferenceSource): DynamicQueryReference | null;
16
+ export declare function buildFieldListReference(objectName: string | undefined, rawFieldList: string, origin: DynamicQueryReferenceOrigin, source?: DynamicQueryReferenceSource): DynamicQueryReference | null;
@@ -0,0 +1,65 @@
1
+ export function parseSoqlReference(rawValue, origin, source) {
2
+ const query = normalizeQueryWhitespace(rawValue);
3
+ if (!/\bselect\b/i.test(query) || !/\bfrom\b/i.test(query)) {
4
+ return null;
5
+ }
6
+ const soql = /\bselect\s+(.+?)\s+from\s+([a-zA-Z][a-zA-Z0-9_]*(?:__c|__mdt)?)/i.exec(query);
7
+ if (!soql) {
8
+ return withOptionalSource({
9
+ rawQuery: query,
10
+ fieldNames: [],
11
+ confidence: 'low',
12
+ origin,
13
+ }, source);
14
+ }
15
+ const fieldNames = extractFieldNames(soql[1]);
16
+ return withOptionalSource({
17
+ objectName: soql[2],
18
+ fieldNames,
19
+ rawQuery: query,
20
+ confidence: fieldNames.length > 0 ? 'high' : 'low',
21
+ origin,
22
+ }, source);
23
+ }
24
+ export function buildFieldListReference(objectName, rawFieldList, origin, source) {
25
+ const fieldNames = extractFieldNames(rawFieldList);
26
+ if (fieldNames.length === 0) {
27
+ return null;
28
+ }
29
+ return withOptionalSource({
30
+ objectName,
31
+ fieldNames,
32
+ rawQuery: normalizeQueryWhitespace(rawFieldList),
33
+ confidence: objectName ? 'medium' : 'low',
34
+ origin,
35
+ }, source);
36
+ }
37
+ function withOptionalSource(reference, source) {
38
+ if (!source) {
39
+ return reference;
40
+ }
41
+ return {
42
+ ...reference,
43
+ source,
44
+ };
45
+ }
46
+ function extractFieldNames(selectClause) {
47
+ const fields = [];
48
+ const seen = new Set();
49
+ for (const candidate of selectClause.split(',')) {
50
+ const fieldName = candidate.trim().split(/\s+/)[0];
51
+ if (!isSimpleFieldReference(fieldName) || seen.has(fieldName)) {
52
+ continue;
53
+ }
54
+ seen.add(fieldName);
55
+ fields.push(fieldName);
56
+ }
57
+ return fields;
58
+ }
59
+ function isSimpleFieldReference(fieldName) {
60
+ return fieldName !== 'Id' && /^[a-zA-Z][a-zA-Z0-9_]*(?:__c)?$/.test(fieldName);
61
+ }
62
+ function normalizeQueryWhitespace(query) {
63
+ return query.replace(/\s+/g, ' ').trim();
64
+ }
65
+ //# sourceMappingURL=dynamic-query-reference.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dynamic-query-reference.js","sourceRoot":"","sources":["../../src/parsers/dynamic-query-reference.ts"],"names":[],"mappings":"AAkBA,MAAM,UAAU,kBAAkB,CAChC,QAAgB,EAChB,MAAmC,EACnC,MAAoC;IAEpC,MAAM,KAAK,GAAG,wBAAwB,CAAC,QAAQ,CAAC,CAAC;IACjD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,IAAI,GAAG,kEAAkE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IAC5F,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,kBAAkB,CACvB;YACE,QAAQ,EAAE,KAAK;YACf,UAAU,EAAE,EAAE;YACd,UAAU,EAAE,KAAK;YACjB,MAAM;SACP,EACD,MAAM,CACP,CAAC;IACJ,CAAC;IAED,MAAM,UAAU,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAE9C,OAAO,kBAAkB,CACvB;QACE,UAAU,EAAE,IAAI,CAAC,CAAC,CAAC;QACnB,UAAU;QACV,QAAQ,EAAE,KAAK;QACf,UAAU,EAAE,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK;QAClD,MAAM;KACP,EACD,MAAM,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,UAA8B,EAC9B,YAAoB,EACpB,MAAmC,EACnC,MAAoC;IAEpC,MAAM,UAAU,GAAG,iBAAiB,CAAC,YAAY,CAAC,CAAC;IACnD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,kBAAkB,CACvB;QACE,UAAU;QACV,UAAU;QACV,QAAQ,EAAE,wBAAwB,CAAC,YAAY,CAAC;QAChD,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,KAAK;QACzC,MAAM;KACP,EACD,MAAM,CACP,CAAC;AACJ,CAAC;AAED,SAAS,kBAAkB,CACzB,SAAgD,EAChD,MAAoC;IAEpC,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO;QACL,GAAG,SAAS;QACZ,MAAM;KACP,CAAC;AACJ,CAAC;AAED,SAAS,iBAAiB,CAAC,YAAoB;IAC7C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,SAAS,IAAI,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC;QAChD,MAAM,SAAS,GAAG,SAAS,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACnD,IAAI,CAAC,sBAAsB,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC9D,SAAS;QACX,CAAC;QAED,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACzB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAS,sBAAsB,CAAC,SAAiB;IAC/C,OAAO,SAAS,KAAK,IAAI,IAAI,iCAAiC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAa;IAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AAC3C,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { LayoutMetadata } from '../types/salesforce/layout.js';
2
+ export type LayoutActionAnalysis = {
3
+ customButtons: string[];
4
+ quickActions: string[];
5
+ };
6
+ export declare function analyzeLayoutActions(metadata: LayoutMetadata): LayoutActionAnalysis;
@@ -0,0 +1,36 @@
1
+ import { normalizeArray, uniqueDefinedStrings } from './parser-utils.js';
2
+ export function analyzeLayoutActions(metadata) {
3
+ return {
4
+ customButtons: extractCustomButtons(metadata),
5
+ quickActions: extractQuickActions(metadata),
6
+ };
7
+ }
8
+ function extractCustomButtons(metadata) {
9
+ const layoutCustomButtons = normalizeArray(metadata.customButtons);
10
+ const relatedListCustomButtons = [];
11
+ const platformActionCustomButtons = [];
12
+ const relatedLists = normalizeArray(metadata.relatedLists);
13
+ for (const relatedList of relatedLists) {
14
+ relatedListCustomButtons.push(...normalizeArray(relatedList.customButtons));
15
+ }
16
+ const actionItems = normalizeArray(metadata.platformActionList?.platformActionListItems);
17
+ for (const item of actionItems) {
18
+ if (item.actionType === 'CustomButton') {
19
+ platformActionCustomButtons.push(item.actionName);
20
+ }
21
+ }
22
+ return uniqueDefinedStrings([...layoutCustomButtons, ...relatedListCustomButtons, ...platformActionCustomButtons]);
23
+ }
24
+ function extractQuickActions(metadata) {
25
+ const quickActions = [];
26
+ const quickActionItems = normalizeArray(metadata.quickActionList?.quickActionListItems);
27
+ quickActions.push(...quickActionItems.map((item) => item.quickActionName));
28
+ const actionItems = normalizeArray(metadata.platformActionList?.platformActionListItems);
29
+ for (const item of actionItems) {
30
+ if (item.actionType === 'QuickAction') {
31
+ quickActions.push(item.actionName);
32
+ }
33
+ }
34
+ return uniqueDefinedStrings(quickActions);
35
+ }
36
+ //# sourceMappingURL=layout-action-analysis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout-action-analysis.js","sourceRoot":"","sources":["../../src/parsers/layout-action-analysis.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC;AAOzE,MAAM,UAAU,oBAAoB,CAAC,QAAwB;IAC3D,OAAO;QACL,aAAa,EAAE,oBAAoB,CAAC,QAAQ,CAAC;QAC7C,YAAY,EAAE,mBAAmB,CAAC,QAAQ,CAAC;KAC5C,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,QAAwB;IACpD,MAAM,mBAAmB,GAAG,cAAc,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IACnE,MAAM,wBAAwB,GAAa,EAAE,CAAC;IAC9C,MAAM,2BAA2B,GAAa,EAAE,CAAC;IAEjD,MAAM,YAAY,GAAG,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;IAC3D,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;QACvC,wBAAwB,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;IAC9E,CAAC;IAED,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;IACzF,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,UAAU,KAAK,cAAc,EAAE,CAAC;YACvC,2BAA2B,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACpD,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,CAAC,CAAC,GAAG,mBAAmB,EAAE,GAAG,wBAAwB,EAAE,GAAG,2BAA2B,CAAC,CAAC,CAAC;AACrH,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAwB;IACnD,MAAM,YAAY,GAAa,EAAE,CAAC;IAElC,MAAM,gBAAgB,GAAG,cAAc,CAAC,QAAQ,CAAC,eAAe,EAAE,oBAAoB,CAAC,CAAC;IACxF,YAAY,CAAC,IAAI,CAAC,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC;IAE3E,MAAM,WAAW,GAAG,cAAc,CAAC,QAAQ,CAAC,kBAAkB,EAAE,uBAAuB,CAAC,CAAC;IACzF,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;QAC/B,IAAI,IAAI,CAAC,UAAU,KAAK,aAAa,EAAE,CAAC;YACtC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,CAAC,YAAY,CAAC,CAAC;AAC5C,CAAC"}
@@ -13,7 +13,10 @@
13
13
  */
14
14
  import { readFile } from 'node:fs/promises';
15
15
  import { XMLParser } from 'fast-xml-parser';
16
- import { normalizeArray, uniqueDefinedStrings } from './parser-utils.js';
16
+ import { analyzeLayoutActions } from './layout-action-analysis.js';
17
+ import { analyzeLayoutReferences } from './layout-reference-analysis.js';
18
+ import { assembleLayoutResult } from './layout-result-assembly.js';
19
+ import { analyzeLayoutSections } from './layout-section-analysis.js';
17
20
  /**
18
21
  * Extract object name from layout filename
19
22
  * Examples:
@@ -43,277 +46,6 @@ function parseLayoutMetadata(filePath, xmlContent) {
43
46
  }
44
47
  return root.Layout;
45
48
  }
46
- function analyzeLayoutSections(metadata) {
47
- return {
48
- layoutSections: normalizeArray(metadata.layoutSections),
49
- relatedLists: normalizeArray(metadata.relatedLists),
50
- relatedObjects: uniqueDefinedStrings(normalizeArray(metadata.relatedObjects)),
51
- };
52
- }
53
- /**
54
- * Extract custom buttons from layout and related lists
55
- */
56
- function extractCustomButtons(metadata) {
57
- const layoutCustomButtons = normalizeArray(metadata.customButtons);
58
- const relatedListCustomButtons = [];
59
- const platformActionCustomButtons = [];
60
- const relatedLists = normalizeArray(metadata.relatedLists);
61
- for (const relatedList of relatedLists) {
62
- const buttons = normalizeArray(relatedList.customButtons);
63
- relatedListCustomButtons.push(...buttons);
64
- }
65
- if (metadata.platformActionList) {
66
- const actionItems = normalizeArray(metadata.platformActionList.platformActionListItems);
67
- for (const item of actionItems) {
68
- if (item.actionType === 'CustomButton') {
69
- platformActionCustomButtons.push(item.actionName);
70
- }
71
- }
72
- }
73
- return uniqueDefinedStrings([...layoutCustomButtons, ...relatedListCustomButtons, ...platformActionCustomButtons]);
74
- }
75
- function analyzeLayoutActions(metadata) {
76
- return {
77
- customButtons: extractCustomButtons(metadata),
78
- quickActions: extractQuickActions(metadata),
79
- };
80
- }
81
- /**
82
- * Extract Visualforce pages from layout sections
83
- */
84
- function extractVFPagesFromSections(sections) {
85
- const pages = [];
86
- for (const section of sections) {
87
- const columns = normalizeArray(section.layoutColumns);
88
- for (const column of columns) {
89
- const items = normalizeArray(column.layoutItems);
90
- for (const item of items) {
91
- if (item.page) {
92
- pages.push(item.page);
93
- }
94
- }
95
- }
96
- }
97
- return pages;
98
- }
99
- /**
100
- * Extract Visualforce pages from feed layout
101
- */
102
- function extractVFPagesFromFeedLayout(feedLayout) {
103
- if (!feedLayout)
104
- return [];
105
- const pages = [];
106
- const leftComponents = normalizeArray(feedLayout.leftComponents);
107
- const rightComponents = normalizeArray(feedLayout.rightComponents);
108
- for (const component of [...leftComponents, ...rightComponents]) {
109
- if (component.componentType === 'Visualforce' && component.page) {
110
- pages.push(component.page);
111
- }
112
- }
113
- return uniqueDefinedStrings(pages);
114
- }
115
- /**
116
- * Extract fields from layout sections
117
- */
118
- function extractFieldsFromSections(sections) {
119
- const fields = [];
120
- for (const section of sections) {
121
- const columns = normalizeArray(section.layoutColumns);
122
- for (const column of columns) {
123
- const items = normalizeArray(column.layoutItems);
124
- for (const item of items) {
125
- if (item.field) {
126
- fields.push(item.field);
127
- }
128
- }
129
- }
130
- }
131
- return fields;
132
- }
133
- /**
134
- * Extract fields from various layout components
135
- */
136
- function extractFields(metadata, layoutSections) {
137
- const fields = [];
138
- // From sections
139
- fields.push(...extractFieldsFromSections(layoutSections));
140
- // From related lists
141
- const relatedLists = normalizeArray(metadata.relatedLists);
142
- for (const relatedList of relatedLists) {
143
- const listFields = normalizeArray(relatedList.fields);
144
- fields.push(...listFields);
145
- }
146
- // From mini layout
147
- if (metadata.miniLayout) {
148
- const miniFields = normalizeArray(metadata.miniLayout.fields);
149
- fields.push(...miniFields);
150
- }
151
- // From summary layout
152
- if (metadata.summaryLayout) {
153
- const summaryItems = normalizeArray(metadata.summaryLayout.summaryLayoutItems);
154
- for (const item of summaryItems) {
155
- if (item.field) {
156
- fields.push(item.field);
157
- }
158
- }
159
- }
160
- const multilineFields = normalizeArray(metadata.multilineLayoutFields);
161
- fields.push(...multilineFields);
162
- const relatedContentItems = normalizeArray(metadata.relatedContent?.relatedContentItems);
163
- for (const item of relatedContentItems) {
164
- if (item.layoutItem.field) {
165
- fields.push(item.layoutItem.field);
166
- }
167
- }
168
- return uniqueDefinedStrings(fields);
169
- }
170
- /**
171
- * Extract quick actions from layout
172
- */
173
- function extractQuickActions(metadata) {
174
- const quickActions = [];
175
- if (metadata.quickActionList) {
176
- const quickActionItems = normalizeArray(metadata.quickActionList.quickActionListItems);
177
- quickActions.push(...quickActionItems.map((item) => item.quickActionName));
178
- }
179
- if (metadata.platformActionList) {
180
- const actionItems = normalizeArray(metadata.platformActionList.platformActionListItems);
181
- for (const item of actionItems) {
182
- if (item.actionType === 'QuickAction') {
183
- quickActions.push(item.actionName);
184
- }
185
- }
186
- }
187
- return uniqueDefinedStrings(quickActions);
188
- }
189
- /**
190
- * Extract canvas apps from layout sections
191
- */
192
- function extractCanvasApps(sections) {
193
- const apps = [];
194
- for (const section of sections) {
195
- const columns = normalizeArray(section.layoutColumns);
196
- for (const column of columns) {
197
- const items = normalizeArray(column.layoutItems);
198
- for (const item of items) {
199
- if (item.canvas) {
200
- apps.push(item.canvas);
201
- }
202
- }
203
- }
204
- }
205
- return uniqueDefinedStrings(apps);
206
- }
207
- /**
208
- * Extract custom links from layout
209
- */
210
- function extractCustomLinks(metadata, layoutSections) {
211
- const links = [];
212
- // From layout sections
213
- for (const section of layoutSections) {
214
- const columns = normalizeArray(section.layoutColumns);
215
- for (const column of columns) {
216
- const items = normalizeArray(column.layoutItems);
217
- for (const item of items) {
218
- if (item.customLink) {
219
- links.push(item.customLink);
220
- }
221
- }
222
- }
223
- }
224
- // From summary layout
225
- if (metadata.summaryLayout) {
226
- const summaryItems = normalizeArray(metadata.summaryLayout.summaryLayoutItems);
227
- for (const item of summaryItems) {
228
- if (item.customLink) {
229
- links.push(item.customLink);
230
- }
231
- }
232
- }
233
- if (metadata.platformActionList) {
234
- const actionItems = normalizeArray(metadata.platformActionList.platformActionListItems);
235
- for (const item of actionItems) {
236
- if (item.actionType === 'ActionLink') {
237
- links.push(item.actionName);
238
- }
239
- }
240
- }
241
- const relatedContentItems = normalizeArray(metadata.relatedContent?.relatedContentItems);
242
- for (const item of relatedContentItems) {
243
- if (item.layoutItem.customLink) {
244
- links.push(item.layoutItem.customLink);
245
- }
246
- }
247
- return uniqueDefinedStrings(links);
248
- }
249
- function extractVFPages(metadata, layoutSections) {
250
- const pages = [...extractVFPagesFromSections(layoutSections), ...extractVFPagesFromFeedLayout(metadata.feedLayout)];
251
- const relatedContentItems = normalizeArray(metadata.relatedContent?.relatedContentItems);
252
- for (const item of relatedContentItems) {
253
- if (item.layoutItem.page) {
254
- pages.push(item.layoutItem.page);
255
- }
256
- }
257
- return uniqueDefinedStrings(pages);
258
- }
259
- function extractCanvasAppsFromFeedLayout(feedLayout) {
260
- if (!feedLayout) {
261
- return [];
262
- }
263
- const components = [...normalizeArray(feedLayout.leftComponents), ...normalizeArray(feedLayout.rightComponents)];
264
- return uniqueDefinedStrings(components.filter((component) => component.componentType === 'Canvas').map((component) => component.page));
265
- }
266
- function extractCanvasAppsWithRelatedContent(metadata, layoutSections) {
267
- const apps = [...extractCanvasApps(layoutSections), ...extractCanvasAppsFromFeedLayout(metadata.feedLayout)];
268
- const relatedContentItems = normalizeArray(metadata.relatedContent?.relatedContentItems);
269
- for (const item of relatedContentItems) {
270
- if (item.layoutItem.canvas) {
271
- apps.push(item.layoutItem.canvas);
272
- }
273
- }
274
- return uniqueDefinedStrings(apps);
275
- }
276
- function analyzeLayoutReferences(metadata, sectionAnalysis) {
277
- return {
278
- fields: extractFields(metadata, sectionAnalysis.layoutSections),
279
- visualforcePages: extractVFPages(metadata, sectionAnalysis.layoutSections),
280
- canvasApps: extractCanvasAppsWithRelatedContent(metadata, sectionAnalysis.layoutSections),
281
- customLinks: extractCustomLinks(metadata, sectionAnalysis.layoutSections),
282
- };
283
- }
284
- function assembleLayoutResult(layoutName, objectName, sectionAnalysis, actionAnalysis, referenceAnalysis) {
285
- const relatedListNames = uniqueDefinedStrings(sectionAnalysis.relatedLists.map((list) => list.relatedList));
286
- return {
287
- name: layoutName,
288
- object: objectName,
289
- customButtons: actionAnalysis.customButtons,
290
- visualforcePages: referenceAnalysis.visualforcePages,
291
- fields: referenceAnalysis.fields,
292
- relatedLists: [...new Set(relatedListNames)],
293
- quickActions: actionAnalysis.quickActions,
294
- canvasApps: referenceAnalysis.canvasApps,
295
- customLinks: referenceAnalysis.customLinks,
296
- relatedObjects: sectionAnalysis.relatedObjects,
297
- dependencies: {
298
- object: objectName,
299
- customButtons: actionAnalysis.customButtons,
300
- visualforcePages: referenceAnalysis.visualforcePages,
301
- fields: referenceAnalysis.fields,
302
- relatedLists: relatedListNames,
303
- quickActions: actionAnalysis.quickActions,
304
- canvasApps: referenceAnalysis.canvasApps,
305
- customLinks: referenceAnalysis.customLinks,
306
- relatedObjects: sectionAnalysis.relatedObjects,
307
- },
308
- optionalDependencies: {
309
- customButtons: actionAnalysis.customButtons,
310
- visualforcePages: referenceAnalysis.visualforcePages,
311
- quickActions: actionAnalysis.quickActions,
312
- canvasApps: referenceAnalysis.canvasApps,
313
- customLinks: referenceAnalysis.customLinks,
314
- },
315
- };
316
- }
317
49
  /**
318
50
  * Parse a Layout metadata XML file
319
51
  *
@@ -1 +1 @@
1
- {"version":3,"file":"layout-parser.js","sourceRoot":"","sources":["../../src/parsers/layout-parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"layout-parser.js","sourceRoot":"","sources":["../../src/parsers/layout-parser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gCAAgC,CAAC;AACzE,OAAO,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAgDrE;;;;;GAKG;AACH,SAAS,2BAA2B,CAAC,UAAkB;IACrD,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,KAAK,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC;AAChC,CAAC;AAED,SAAS,mBAAmB,CAAC,QAAgB,EAAE,UAAkB;IAC/D,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC;QAC3B,gBAAgB,EAAE,KAAK;QACvB,mBAAmB,EAAE,IAAI;QACzB,UAAU,EAAE,IAAI;KACjB,CAAC,CAAC;IAEH,IAAI,MAAe,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CACb,iCAAiC,QAAQ,KAAK,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CACvG,CAAC;IACJ,CAAC;IAED,MAAM,IAAI,GAAG,MAAqC,CAAC;IACnD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CAAC,mCAAmC,QAAQ,+BAA+B,CAAC,CAAC;IAC9F,CAAC;IAED,OAAO,IAAI,CAAC,MAAM,CAAC;AACrB,CAAC;AAED;;;;;;;;;;;;;;;GAeG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,QAAgB,EAAE,UAAkB;IACpE,MAAM,UAAU,GAAG,MAAM,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;IAC3D,MAAM,eAAe,GAAG,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACtD,MAAM,iBAAiB,GAAG,uBAAuB,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IAE7E,OAAO,oBAAoB,CAAC,UAAU,EAAE,UAAU,EAAE,eAAe,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;AAC1G,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { LayoutMetadata } from '../types/salesforce/layout.js';
2
+ import type { LayoutSectionAnalysis } from './layout-section-analysis.js';
3
+ export type LayoutReferenceAnalysis = {
4
+ fields: string[];
5
+ visualforcePages: string[];
6
+ canvasApps: string[];
7
+ customLinks: string[];
8
+ };
9
+ export declare function analyzeLayoutReferences(metadata: LayoutMetadata, sectionAnalysis: LayoutSectionAnalysis): LayoutReferenceAnalysis;