@jterrats/smart-deployment 1.0.5 → 1.1.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/README.md +3 -2
- package/lib/ai/wave-validation-prompt.d.ts +2 -0
- package/lib/ai/wave-validation-prompt.js +56 -0
- package/lib/ai/wave-validation-prompt.js.map +1 -0
- package/lib/ai/wave-validation-report.d.ts +2 -0
- package/lib/ai/wave-validation-report.js +96 -0
- package/lib/ai/wave-validation-report.js.map +1 -0
- package/lib/ai/wave-validation-response-parser.d.ts +8 -0
- package/lib/ai/wave-validation-response-parser.js +112 -0
- package/lib/ai/wave-validation-response-parser.js.map +1 -0
- package/lib/ai/wave-validation-result-synthesis.d.ts +6 -0
- package/lib/ai/wave-validation-result-synthesis.js +49 -0
- package/lib/ai/wave-validation-result-synthesis.js.map +1 -0
- package/lib/ai/wave-validation-service.d.ts +1 -55
- package/lib/ai/wave-validation-service.js +11 -359
- package/lib/ai/wave-validation-service.js.map +1 -1
- package/lib/ai/wave-validation-transport.d.ts +7 -0
- package/lib/ai/wave-validation-transport.js +10 -0
- package/lib/ai/wave-validation-transport.js.map +1 -0
- package/lib/analysis/analysis-reporter.d.ts +29 -0
- package/lib/analysis/analysis-reporter.js +84 -1
- package/lib/analysis/analysis-reporter.js.map +1 -1
- package/lib/analysis/analyze-context-service.d.ts +1 -1
- package/lib/analysis/analyze-context-service.js +2 -0
- package/lib/analysis/analyze-context-service.js.map +1 -1
- package/lib/analysis/project-analysis-service.d.ts +2 -0
- package/lib/analysis/project-analysis-service.js +2 -0
- package/lib/analysis/project-analysis-service.js.map +1 -1
- package/lib/commands/start.d.ts +1 -0
- package/lib/commands/start.js +14 -1
- package/lib/commands/start.js.map +1 -1
- package/lib/commands/status.d.ts +2 -0
- package/lib/commands/status.js +1 -0
- package/lib/commands/status.js.map +1 -1
- package/lib/commands/validate.d.ts +3 -3
- package/lib/commands/validate.js +4 -4
- package/lib/commands/validate.js.map +1 -1
- package/lib/constants/api-version.d.ts +2 -2
- package/lib/constants/api-version.js +2 -2
- package/lib/constants/deployment-order.js +11 -8
- package/lib/constants/deployment-order.js.map +1 -1
- package/lib/dependencies/circular-dependency-detector.d.ts +1 -31
- package/lib/dependencies/circular-dependency-detector.js +7 -156
- package/lib/dependencies/circular-dependency-detector.js.map +1 -1
- package/lib/dependencies/cycle-break-suggestions.d.ts +3 -0
- package/lib/dependencies/cycle-break-suggestions.js +63 -0
- package/lib/dependencies/cycle-break-suggestions.js.map +1 -0
- package/lib/dependencies/cycle-discovery.d.ts +16 -0
- package/lib/dependencies/cycle-discovery.js +70 -0
- package/lib/dependencies/cycle-discovery.js.map +1 -0
- package/lib/dependencies/dependency-graph-builder.d.ts +0 -65
- package/lib/dependencies/dependency-graph-builder.js +19 -233
- package/lib/dependencies/dependency-graph-builder.js.map +1 -1
- package/lib/dependencies/dependency-graph-intake.d.ts +17 -0
- package/lib/dependencies/dependency-graph-intake.js +20 -0
- package/lib/dependencies/dependency-graph-intake.js.map +1 -0
- package/lib/dependencies/dependency-graph-stats.d.ts +4 -0
- package/lib/dependencies/dependency-graph-stats.js +82 -0
- package/lib/dependencies/dependency-graph-stats.js.map +1 -0
- package/lib/dependencies/dependency-graph-validation.d.ts +16 -0
- package/lib/dependencies/dependency-graph-validation.js +78 -0
- package/lib/dependencies/dependency-graph-validation.js.map +1 -0
- package/lib/dependencies/dependency-impact-analyzer.d.ts +1 -22
- package/lib/dependencies/dependency-impact-analyzer.js +12 -110
- package/lib/dependencies/dependency-impact-analyzer.js.map +1 -1
- package/lib/dependencies/dependency-impact-scoring.d.ts +5 -0
- package/lib/dependencies/dependency-impact-scoring.js +24 -0
- package/lib/dependencies/dependency-impact-scoring.js.map +1 -0
- package/lib/dependencies/dependency-impact-traversal.d.ts +18 -0
- package/lib/dependencies/dependency-impact-traversal.js +74 -0
- package/lib/dependencies/dependency-impact-traversal.js.map +1 -0
- package/lib/dependencies/dependency-resolution-classifier.d.ts +19 -0
- package/lib/dependencies/dependency-resolution-classifier.js +67 -0
- package/lib/dependencies/dependency-resolution-classifier.js.map +1 -0
- package/lib/dependencies/dependency-resolver.d.ts +1 -48
- package/lib/dependencies/dependency-resolver.js +12 -181
- package/lib/dependencies/dependency-resolver.js.map +1 -1
- package/lib/dependencies/dynamic-query-dependency-references.d.ts +3 -0
- package/lib/dependencies/dynamic-query-dependency-references.js +41 -0
- package/lib/dependencies/dynamic-query-dependency-references.js.map +1 -0
- package/lib/dependencies/topological-dependency-sorter.d.ts +10 -0
- package/lib/dependencies/topological-dependency-sorter.js +84 -0
- package/lib/dependencies/topological-dependency-sorter.js.map +1 -0
- package/lib/deployment/cycle-remediation-runner.d.ts +1 -0
- package/lib/deployment/cycle-remediation-runner.js +5 -1
- package/lib/deployment/cycle-remediation-runner.js.map +1 -1
- package/lib/deployment/deployment-runner.d.ts +3 -1
- package/lib/deployment/deployment-runner.js +6 -1
- package/lib/deployment/deployment-runner.js.map +1 -1
- package/lib/deployment/deployment-status-service.d.ts +2 -0
- package/lib/deployment/deployment-status-service.js +2 -0
- package/lib/deployment/deployment-status-service.js.map +1 -1
- package/lib/deployment/deployment-validation-service.js +1 -1
- package/lib/deployment/deployment-validation-service.js.map +1 -1
- package/lib/deployment/dynamic-query-target-validator.d.ts +24 -0
- package/lib/deployment/dynamic-query-target-validator.js +65 -0
- package/lib/deployment/dynamic-query-target-validator.js.map +1 -0
- package/lib/deployment/sf-cli-integration.d.ts +1 -0
- package/lib/deployment/sf-cli-integration.js +1 -1
- package/lib/deployment/sf-cli-integration.js.map +1 -1
- package/lib/deployment/sf-cli-metadata-lookup.d.ts +4 -0
- package/lib/deployment/sf-cli-metadata-lookup.js +26 -0
- package/lib/deployment/sf-cli-metadata-lookup.js.map +1 -0
- package/lib/deployment/start-execution-service.d.ts +5 -0
- package/lib/deployment/start-execution-service.js +26 -6
- package/lib/deployment/start-execution-service.js.map +1 -1
- package/lib/deployment/wave-graph-state.d.ts +6 -0
- package/lib/deployment/wave-graph-state.js +89 -0
- package/lib/deployment/wave-graph-state.js.map +1 -0
- package/lib/deployment/wave-manifest-service.d.ts +1 -0
- package/lib/deployment/wave-manifest-service.js +1 -1
- package/lib/deployment/wave-manifest-service.js.map +1 -1
- package/lib/errors/deployment-error.js +1 -1
- package/lib/errors/deployment-error.js.map +1 -1
- package/lib/parsers/apex-class-dependencies.d.ts +4 -0
- package/lib/parsers/apex-class-dependencies.js +122 -0
- package/lib/parsers/apex-class-dependencies.js.map +1 -0
- package/lib/parsers/apex-class-lexical.d.ts +3 -0
- package/lib/parsers/apex-class-lexical.js +101 -0
- package/lib/parsers/apex-class-lexical.js.map +1 -0
- package/lib/parsers/apex-class-names.d.ts +18 -0
- package/lib/parsers/apex-class-names.js +93 -0
- package/lib/parsers/apex-class-names.js.map +1 -0
- package/lib/parsers/apex-class-parser-model.d.ts +59 -0
- package/lib/parsers/apex-class-parser-model.js +2 -0
- package/lib/parsers/apex-class-parser-model.js.map +1 -0
- package/lib/parsers/apex-class-parser.d.ts +3 -29
- package/lib/parsers/apex-class-parser.js +10 -395
- package/lib/parsers/apex-class-parser.js.map +1 -1
- package/lib/parsers/apex-class-symbols.d.ts +2 -0
- package/lib/parsers/apex-class-symbols.js +61 -0
- package/lib/parsers/apex-class-symbols.js.map +1 -0
- package/lib/parsers/apex-dynamic-query-analysis.d.ts +2 -0
- package/lib/parsers/apex-dynamic-query-analysis.js +150 -0
- package/lib/parsers/apex-dynamic-query-analysis.js.map +1 -0
- package/lib/parsers/custom-metadata-dynamic-query-analysis.d.ts +2 -0
- package/lib/parsers/custom-metadata-dynamic-query-analysis.js +50 -0
- package/lib/parsers/custom-metadata-dynamic-query-analysis.js.map +1 -0
- package/lib/parsers/custom-metadata-parser.d.ts +2 -0
- package/lib/parsers/custom-metadata-parser.js +3 -0
- package/lib/parsers/custom-metadata-parser.js.map +1 -1
- package/lib/parsers/custom-object-dependency-builder.d.ts +3 -0
- package/lib/parsers/custom-object-dependency-builder.js +103 -0
- package/lib/parsers/custom-object-dependency-builder.js.map +1 -0
- package/lib/parsers/custom-object-parser.js +1 -208
- package/lib/parsers/custom-object-parser.js.map +1 -1
- package/lib/parsers/custom-object-reference-helpers.d.ts +4 -0
- package/lib/parsers/custom-object-reference-helpers.js +92 -0
- package/lib/parsers/custom-object-reference-helpers.js.map +1 -0
- package/lib/parsers/dynamic-query-reference.d.ts +16 -0
- package/lib/parsers/dynamic-query-reference.js +65 -0
- package/lib/parsers/dynamic-query-reference.js.map +1 -0
- package/lib/parsers/layout-action-analysis.d.ts +6 -0
- package/lib/parsers/layout-action-analysis.js +36 -0
- package/lib/parsers/layout-action-analysis.js.map +1 -0
- package/lib/parsers/layout-parser.js +4 -272
- package/lib/parsers/layout-parser.js.map +1 -1
- package/lib/parsers/layout-reference-analysis.d.ts +9 -0
- package/lib/parsers/layout-reference-analysis.js +70 -0
- package/lib/parsers/layout-reference-analysis.js.map +1 -0
- package/lib/parsers/layout-result-assembly.d.ts +5 -0
- package/lib/parsers/layout-result-assembly.js +35 -0
- package/lib/parsers/layout-result-assembly.js.map +1 -0
- package/lib/parsers/layout-section-analysis.d.ts +7 -0
- package/lib/parsers/layout-section-analysis.js +9 -0
- package/lib/parsers/layout-section-analysis.js.map +1 -0
- package/lib/parsers/lwc-code-analysis.d.ts +10 -0
- package/lib/parsers/lwc-code-analysis.js +161 -0
- package/lib/parsers/lwc-code-analysis.js.map +1 -0
- package/lib/parsers/lwc-metadata-analysis.d.ts +6 -0
- package/lib/parsers/lwc-metadata-analysis.js +112 -0
- package/lib/parsers/lwc-metadata-analysis.js.map +1 -0
- package/lib/parsers/lwc-parser.d.ts +3 -27
- package/lib/parsers/lwc-parser.js +6 -377
- package/lib/parsers/lwc-parser.js.map +1 -1
- package/lib/parsers/lwc-result-assembly.d.ts +4 -0
- package/lib/parsers/lwc-result-assembly.js +47 -0
- package/lib/parsers/lwc-result-assembly.js.map +1 -0
- package/lib/presentation/status-command-presenter.d.ts +1 -0
- package/lib/presentation/status-command-presenter.js +20 -0
- package/lib/presentation/status-command-presenter.js.map +1 -1
- package/lib/scanner/forceignore-parser.d.ts +1 -0
- package/lib/scanner/forceignore-parser.js +14 -3
- package/lib/scanner/forceignore-parser.js.map +1 -1
- package/lib/scanner/structure-validator.js +1 -1
- package/lib/services/metadata-scanner-service.d.ts +2 -0
- package/lib/services/metadata-scanner-service.js +9 -2
- package/lib/services/metadata-scanner-service.js.map +1 -1
- package/lib/services/scanners/additional-metadata-scanner.d.ts +2 -0
- package/lib/services/scanners/additional-metadata-scanner.js +183 -0
- package/lib/services/scanners/additional-metadata-scanner.js.map +1 -0
- package/lib/services/scanners/automation-ai-metadata-scanner.d.ts +1 -0
- package/lib/services/scanners/automation-ai-metadata-scanner.js +11 -0
- package/lib/services/scanners/automation-ai-metadata-scanner.js.map +1 -1
- package/lib/services/scanners/code-metadata-scanner.js +14 -1
- package/lib/services/scanners/code-metadata-scanner.js.map +1 -1
- package/lib/services/scanners/data-metadata-scanner.js +24 -8
- package/lib/services/scanners/data-metadata-scanner.js.map +1 -1
- package/lib/types/metadata.d.ts +1 -1
- package/lib/utils/cache-entry-serializer.d.ts +7 -0
- package/lib/utils/cache-entry-serializer.js +15 -0
- package/lib/utils/cache-entry-serializer.js.map +1 -0
- package/lib/utils/cache-expiry-policy.d.ts +7 -0
- package/lib/utils/cache-expiry-policy.js +34 -0
- package/lib/utils/cache-expiry-policy.js.map +1 -0
- package/lib/utils/cache-key-derivation.d.ts +11 -0
- package/lib/utils/cache-key-derivation.js +28 -0
- package/lib/utils/cache-key-derivation.js.map +1 -0
- package/lib/utils/cache-lock-lifecycle.d.ts +15 -0
- package/lib/utils/cache-lock-lifecycle.js +84 -0
- package/lib/utils/cache-lock-lifecycle.js.map +1 -0
- package/lib/utils/cache-logger.d.ts +8 -0
- package/lib/utils/cache-logger.js +19 -0
- package/lib/utils/cache-logger.js.map +1 -0
- package/lib/utils/cache-manager.d.ts +1 -2
- package/lib/utils/cache-manager.js +7 -253
- package/lib/utils/cache-manager.js.map +1 -1
- package/lib/utils/cache-storage.d.ts +20 -0
- package/lib/utils/cache-storage.js +83 -0
- package/lib/utils/cache-storage.js.map +1 -0
- package/lib/validators/xml-metadata-validator.js +1 -1
- package/lib/waves/priority-wave-generator.js +8 -2
- package/lib/waves/priority-wave-generator.js.map +1 -1
- package/lib/waves/test-optimizer-discovery.d.ts +12 -0
- package/lib/waves/test-optimizer-discovery.js +46 -0
- package/lib/waves/test-optimizer-discovery.js.map +1 -0
- package/lib/waves/test-optimizer-matching.d.ts +6 -0
- package/lib/waves/test-optimizer-matching.js +43 -0
- package/lib/waves/test-optimizer-matching.js.map +1 -0
- package/lib/waves/test-optimizer-model.d.ts +92 -0
- package/lib/waves/test-optimizer-model.js +2 -0
- package/lib/waves/test-optimizer-model.js.map +1 -0
- package/lib/waves/test-optimizer-scoring.d.ts +11 -0
- package/lib/waves/test-optimizer-scoring.js +53 -0
- package/lib/waves/test-optimizer-scoring.js.map +1 -0
- package/lib/waves/test-optimizer.d.ts +2 -102
- package/lib/waves/test-optimizer.js +9 -154
- package/lib/waves/test-optimizer.js.map +1 -1
- package/lib/waves/wave-builder.d.ts +0 -11
- package/lib/waves/wave-builder.js +19 -193
- package/lib/waves/wave-builder.js.map +1 -1
- package/lib/waves/wave-graph.d.ts +25 -0
- package/lib/waves/wave-graph.js +138 -0
- package/lib/waves/wave-graph.js.map +1 -0
- package/lib/waves/wave-metadata.d.ts +4 -0
- package/lib/waves/wave-metadata.js +36 -0
- package/lib/waves/wave-metadata.js.map +1 -0
- package/lib/waves/wave-priority-policy.d.ts +5 -0
- package/lib/waves/wave-priority-policy.js +83 -0
- package/lib/waves/wave-priority-policy.js.map +1 -0
- package/lib/waves/wave-topology.d.ts +28 -0
- package/lib/waves/wave-topology.js +65 -0
- package/lib/waves/wave-topology.js.map +1 -0
- package/messages/start.json +5 -5
- package/messages/validate.json +1 -1
- package/npm-shrinkwrap.json +342 -751
- package/oclif.lock +83 -262
- package/oclif.manifest.json +7 -7
- package/package.json +6 -2
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"apex-dynamic-query-analysis.js","sourceRoot":"","sources":["../../src/parsers/apex-dynamic-query-analysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AAGlE,MAAM,0BAA0B,GAAG,+DAA+D,CAAC;AACnG,MAAM,yBAAyB,GAAG,oDAAoD,CAAC;AACvF,MAAM,kBAAkB,GAAG,yBAAyB,CAAC;AAQrD,MAAM,UAAU,6BAA6B,CAAC,IAAY;IACxD,MAAM,SAAS,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACjD,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,KAAK,MAAM,UAAU,IAAI,8BAA8B,CAAC,IAAI,CAAC,EAAE,CAAC;QAC9D,MAAM,QAAQ,GAAG,uBAAuB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAChE,MAAM,SAAS,GAAG,0BAA0B,CAAC,QAAQ,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,SAAS;QACX,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,UAAU,IAAI,EAAE,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;QACpG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACnB,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;YACd,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,wBAAwB,CAAC,IAAY;IAC5C,MAAM,WAAW,GAAG,IAAI,GAAG,EAA8B,CAAC;IAE1D,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,yBAAyB,CAAC,EAAE,CAAC;QAC7D,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,8BAA8B,CAAC,IAAY;IAClD,MAAM,WAAW,GAAa,EAAE,CAAC;IAEjC,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,CAAC;QAC9D,MAAM,UAAU,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;QACjD,MAAM,UAAU,GAAG,kBAAkB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxD,IAAI,UAAU,EAAE,CAAC;YACf,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC;AAED,SAAS,kBAAkB,CAAC,IAAY,EAAE,UAAkB;IAC1D,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,eAAe,GAAqB,IAAI,CAAC;IAC7C,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,KAAK,IAAI,KAAK,GAAG,UAAU,EAAE,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QAC1D,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QAE5B,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,GAAG,KAAK,CAAC;YACrB,CAAC;iBAAM,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC5B,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;gBACvC,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;YAED,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACvC,eAAe,GAAG,OAAO,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACpB,KAAK,EAAE,CAAC;QACV,CAAC;aAAM,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YAC3B,KAAK,EAAE,CAAC;YACR,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;gBAChB,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9C,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAS,uBAAuB,CAC9B,UAAkB,EAClB,SAAkD;IAElD,MAAM,KAAK,GAAG,qBAAqB,CAAC,UAAU,CAAC,CAAC;IAChD,IAAI,KAAK,GAAG,EAAE,CAAC;IACf,IAAI,aAAa,GAAG,IAAI,CAAC;IACzB,IAAI,YAAY,GAAG,KAAK,CAAC;IAEzB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,OAAO,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;YACrB,KAAK,IAAI,OAAO,CAAC;YACjB,SAAS;QACX,CAAC;QAED,IAAI,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACzD,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC;YACtC,KAAK,IAAI,QAAQ,CAAC,KAAK,CAAC;YACxB,aAAa,GAAG,aAAa,IAAI,QAAQ,CAAC,aAAa,CAAC;YACxD,YAAY,GAAG,IAAI,CAAC;YACpB,SAAS;QACX,CAAC;QAED,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC;QACrB,aAAa,GAAG,KAAK,CAAC;IACxB,CAAC;IAED,OAAO;QACL,KAAK;QACL,aAAa;QACb,MAAM,EAAE,YAAY,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,aAAa;KACvD,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,UAAkB;IAC/C,MAAM,KAAK,GAAa,EAAE,CAAC;IAC3B,IAAI,eAAe,GAAqB,IAAI,CAAC;IAC7C,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,IAAI,cAAc,GAAG,CAAC,CAAC;IAEvB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,UAAU,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;QACvD,MAAM,OAAO,GAAG,UAAU,CAAC,KAAK,CAAC,CAAC;QAElC,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,UAAU,EAAE,CAAC;gBACf,UAAU,GAAG,KAAK,CAAC;YACrB,CAAC;iBAAM,IAAI,OAAO,KAAK,IAAI,EAAE,CAAC;gBAC5B,UAAU,GAAG,IAAI,CAAC;YACpB,CAAC;iBAAM,IAAI,OAAO,KAAK,eAAe,EAAE,CAAC;gBACvC,eAAe,GAAG,IAAI,CAAC;YACzB,CAAC;YAED,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACvC,eAAe,GAAG,OAAO,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,IAAI,OAAO,KAAK,GAAG,EAAE,CAAC;YACpB,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;YAC3D,cAAc,GAAG,KAAK,GAAG,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;IACpD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAkB;IAC3C,MAAM,KAAK,GAAG,yCAAyC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACzE,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,UAAU,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;AACpF,CAAC;AAED,SAAS,0BAA0B,CAAC,QAA4B;IAC9D,MAAM,SAAS,GAAG,kBAAkB,CAAC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO;QACL,GAAG,SAAS;QACZ,UAAU,EAAE,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK;KAClE,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { buildFieldListReference, parseSoqlReference } from './dynamic-query-reference.js';
|
|
2
|
+
export function extractCustomMetadataDynamicQueryReferences(recordName, values) {
|
|
3
|
+
const references = [];
|
|
4
|
+
const seen = new Set();
|
|
5
|
+
const objectName = findConfiguredObjectName(values);
|
|
6
|
+
for (const [fieldName, value] of Object.entries(values)) {
|
|
7
|
+
if (typeof value !== 'string') {
|
|
8
|
+
continue;
|
|
9
|
+
}
|
|
10
|
+
const source = { recordName, fieldName };
|
|
11
|
+
const soqlReference = parseSoqlReference(value, 'custom-metadata-value', source);
|
|
12
|
+
if (soqlReference) {
|
|
13
|
+
addUniqueReference(references, seen, soqlReference);
|
|
14
|
+
continue;
|
|
15
|
+
}
|
|
16
|
+
if (isFieldListConfigName(fieldName)) {
|
|
17
|
+
const fieldListReference = buildFieldListReference(objectName, value, 'custom-metadata-value', source);
|
|
18
|
+
if (fieldListReference) {
|
|
19
|
+
addUniqueReference(references, seen, fieldListReference);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return references;
|
|
24
|
+
}
|
|
25
|
+
function addUniqueReference(references, seen, reference) {
|
|
26
|
+
const key = `${reference.source?.recordName ?? ''}:${reference.source?.fieldName ?? ''}:${reference.objectName ?? ''}:${reference.fieldNames.join(',')}:${reference.rawQuery}`;
|
|
27
|
+
if (seen.has(key)) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
seen.add(key);
|
|
31
|
+
references.push(reference);
|
|
32
|
+
}
|
|
33
|
+
function findConfiguredObjectName(values) {
|
|
34
|
+
for (const [fieldName, value] of Object.entries(values)) {
|
|
35
|
+
if (typeof value === 'string' && isObjectConfigName(fieldName) && isObjectApiName(value)) {
|
|
36
|
+
return value;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return undefined;
|
|
40
|
+
}
|
|
41
|
+
function isObjectConfigName(fieldName) {
|
|
42
|
+
return /(?:^|_)(?:Object|SObject|Entity|TargetObject|ObjectApiName)(?:__c)?$/i.test(fieldName);
|
|
43
|
+
}
|
|
44
|
+
function isFieldListConfigName(fieldName) {
|
|
45
|
+
return /(?:^|_)(?:Fields|FieldList|SelectFields|QueryFields|Columns)(?:__c)?$/i.test(fieldName);
|
|
46
|
+
}
|
|
47
|
+
function isObjectApiName(value) {
|
|
48
|
+
return /^[a-zA-Z][a-zA-Z0-9_]*(?:__c|__mdt)?$/.test(value);
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=custom-metadata-dynamic-query-analysis.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-metadata-dynamic-query-analysis.js","sourceRoot":"","sources":["../../src/parsers/custom-metadata-dynamic-query-analysis.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAA8B,MAAM,8BAA8B,CAAC;AAEvH,MAAM,UAAU,2CAA2C,CACzD,UAAkB,EAClB,MAAyC;IAEzC,MAAM,UAAU,GAA4B,EAAE,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAC/B,MAAM,UAAU,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC;IAEpD,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;YAC9B,SAAS;QACX,CAAC;QAED,MAAM,MAAM,GAAG,EAAE,UAAU,EAAE,SAAS,EAAE,CAAC;QACzC,MAAM,aAAa,GAAG,kBAAkB,CAAC,KAAK,EAAE,uBAAuB,EAAE,MAAM,CAAC,CAAC;QACjF,IAAI,aAAa,EAAE,CAAC;YAClB,kBAAkB,CAAC,UAAU,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC;YACpD,SAAS;QACX,CAAC;QAED,IAAI,qBAAqB,CAAC,SAAS,CAAC,EAAE,CAAC;YACrC,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,UAAU,EAAE,KAAK,EAAE,uBAAuB,EAAE,MAAM,CAAC,CAAC;YACvG,IAAI,kBAAkB,EAAE,CAAC;gBACvB,kBAAkB,CAAC,UAAU,EAAE,IAAI,EAAE,kBAAkB,CAAC,CAAC;YAC3D,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC;AAED,SAAS,kBAAkB,CACzB,UAAmC,EACnC,IAAiB,EACjB,SAAgC;IAEhC,MAAM,GAAG,GAAG,GAAG,SAAS,CAAC,MAAM,EAAE,UAAU,IAAI,EAAE,IAAI,SAAS,CAAC,MAAM,EAAE,SAAS,IAAI,EAAE,IACpF,SAAS,CAAC,UAAU,IAAI,EAC1B,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,SAAS,CAAC,QAAQ,EAAE,CAAC;IAC3D,IAAI,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAClB,OAAO;IACT,CAAC;IAED,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IACd,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAC7B,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAyC;IACzE,KAAK,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;QACxD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,kBAAkB,CAAC,SAAS,CAAC,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;YACzF,OAAO,KAAK,CAAC;QACf,CAAC;IACH,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC;AAED,SAAS,kBAAkB,CAAC,SAAiB;IAC3C,OAAO,uEAAuE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AACjG,CAAC;AAED,SAAS,qBAAqB,CAAC,SAAiB;IAC9C,OAAO,wEAAwE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;AAClG,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,uCAAuC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC7D,CAAC"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { CustomMetadataType, CustomMetadataField, CustomMetadataRecord as CMDRecord } from '../types/salesforce/custom-metadata.js';
|
|
2
|
+
import type { DynamicQueryReference } from './dynamic-query-reference.js';
|
|
2
3
|
/**
|
|
3
4
|
* Custom Metadata dependency types
|
|
4
5
|
*/
|
|
@@ -18,6 +19,7 @@ export type CustomMetadataDependency = {
|
|
|
18
19
|
export type CustomMetadataRecord = Omit<CMDRecord, 'values'> & {
|
|
19
20
|
fullName: string;
|
|
20
21
|
values: Record<string, unknown>;
|
|
22
|
+
dynamicQueryReferences: DynamicQueryReference[];
|
|
21
23
|
};
|
|
22
24
|
/**
|
|
23
25
|
* Result of parsing a Custom Metadata Type
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { getLogger } from '../utils/logger.js';
|
|
2
2
|
import { ParsingError } from '../errors/parsing-error.js';
|
|
3
3
|
import { parseXml } from '../utils/xml.js';
|
|
4
|
+
import { extractCustomMetadataDynamicQueryReferences } from './custom-metadata-dynamic-query-analysis.js';
|
|
4
5
|
const logger = getLogger('CustomMetadataParser');
|
|
5
6
|
function extractScalarXmlValue(value) {
|
|
6
7
|
if (value === null || value === undefined) {
|
|
@@ -158,9 +159,11 @@ export async function parseCustomMetadataRecord(recordName, metadataContent) {
|
|
|
158
159
|
label,
|
|
159
160
|
protected: protectedFlag,
|
|
160
161
|
values,
|
|
162
|
+
dynamicQueryReferences: extractCustomMetadataDynamicQueryReferences(recordName, values),
|
|
161
163
|
};
|
|
162
164
|
logger.debug(`Parsed custom metadata record: ${recordName}`, {
|
|
163
165
|
valuesCount: Object.keys(values).length,
|
|
166
|
+
dynamicQueryReferences: record.dynamicQueryReferences.length,
|
|
164
167
|
});
|
|
165
168
|
return record;
|
|
166
169
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-metadata-parser.js","sourceRoot":"","sources":["../../src/parsers/custom-metadata-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"custom-metadata-parser.js","sourceRoot":"","sources":["../../src/parsers/custom-metadata-parser.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { CustomField, RecordType, ValidationRule } from '../types/salesforce/object.js';
|
|
2
|
+
import type { CustomObjectDependency } from './custom-object-parser.js';
|
|
3
|
+
export declare function buildDependencies(fields: CustomField[], validationRules: ValidationRule[], recordTypes: RecordType[]): CustomObjectDependency[];
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { extractApexReferences, extractCustomFieldReferences, resolveFormulaReferences, } from './custom-object-reference-helpers.js';
|
|
2
|
+
export function buildDependencies(fields, validationRules, recordTypes) {
|
|
3
|
+
return [
|
|
4
|
+
...extractFieldDependencies(fields),
|
|
5
|
+
...extractValidationRuleDependencies(validationRules, fields),
|
|
6
|
+
...extractRecordTypeDependencies(recordTypes),
|
|
7
|
+
];
|
|
8
|
+
}
|
|
9
|
+
function extractFieldDependencies(fields) {
|
|
10
|
+
const dependencies = [];
|
|
11
|
+
for (const field of fields) {
|
|
12
|
+
dependencies.push(...extractRelationshipFieldDependencies(field));
|
|
13
|
+
dependencies.push(...extractFormulaFieldDependencies(field, fields));
|
|
14
|
+
dependencies.push(...extractSummaryFieldDependencies(field));
|
|
15
|
+
}
|
|
16
|
+
return dependencies;
|
|
17
|
+
}
|
|
18
|
+
function extractRelationshipFieldDependencies(field) {
|
|
19
|
+
if (!field.referenceTo || (field.type !== 'Lookup' && field.type !== 'MasterDetail')) {
|
|
20
|
+
return [];
|
|
21
|
+
}
|
|
22
|
+
return field.referenceTo.map((referencedObject) => ({
|
|
23
|
+
type: field.type === 'MasterDetail' ? 'master_detail_field' : 'lookup_field',
|
|
24
|
+
name: field.fullName,
|
|
25
|
+
referencedObject,
|
|
26
|
+
fieldName: field.fullName,
|
|
27
|
+
}));
|
|
28
|
+
}
|
|
29
|
+
function extractFormulaFieldDependencies(field, fields) {
|
|
30
|
+
if (!field.formula) {
|
|
31
|
+
return [];
|
|
32
|
+
}
|
|
33
|
+
return [
|
|
34
|
+
...resolveFormulaReferences(field.formula, fields).map((referencedObject) => ({
|
|
35
|
+
type: 'formula_field',
|
|
36
|
+
name: field.fullName,
|
|
37
|
+
referencedObject,
|
|
38
|
+
fieldName: field.fullName,
|
|
39
|
+
})),
|
|
40
|
+
...extractApexReferences(field.formula).map((apexClass) => ({
|
|
41
|
+
type: 'apex_class',
|
|
42
|
+
name: apexClass,
|
|
43
|
+
fieldName: field.fullName,
|
|
44
|
+
})),
|
|
45
|
+
...extractCustomFieldReferences(field.formula, fields, field.fullName).map((customFieldRef) => ({
|
|
46
|
+
type: 'custom_field',
|
|
47
|
+
name: customFieldRef,
|
|
48
|
+
fieldName: customFieldRef,
|
|
49
|
+
})),
|
|
50
|
+
];
|
|
51
|
+
}
|
|
52
|
+
function extractSummaryFieldDependencies(field) {
|
|
53
|
+
if (field.type !== 'Summary') {
|
|
54
|
+
return [];
|
|
55
|
+
}
|
|
56
|
+
const dependencies = [];
|
|
57
|
+
if (field.summaryForeignKey) {
|
|
58
|
+
dependencies.push({
|
|
59
|
+
type: 'custom_field',
|
|
60
|
+
name: field.summaryForeignKey,
|
|
61
|
+
fieldName: field.summaryForeignKey,
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
if (field.summarizedField) {
|
|
65
|
+
dependencies.push({
|
|
66
|
+
type: 'custom_field',
|
|
67
|
+
name: field.summarizedField,
|
|
68
|
+
fieldName: field.summarizedField,
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
return dependencies;
|
|
72
|
+
}
|
|
73
|
+
function extractValidationRuleDependencies(validationRules, fields) {
|
|
74
|
+
return validationRules.flatMap((rule) => extractValidationRuleDependency(rule, fields));
|
|
75
|
+
}
|
|
76
|
+
function extractValidationRuleDependency(rule, fields) {
|
|
77
|
+
if (!rule.errorConditionFormula) {
|
|
78
|
+
return [];
|
|
79
|
+
}
|
|
80
|
+
return [
|
|
81
|
+
...resolveFormulaReferences(rule.errorConditionFormula, fields).map((referencedObject) => ({
|
|
82
|
+
type: 'validation_rule',
|
|
83
|
+
name: rule.fullName,
|
|
84
|
+
referencedObject,
|
|
85
|
+
})),
|
|
86
|
+
...extractApexReferences(rule.errorConditionFormula).map((apexClass) => ({
|
|
87
|
+
type: 'apex_class',
|
|
88
|
+
name: apexClass,
|
|
89
|
+
})),
|
|
90
|
+
...extractCustomFieldReferences(rule.errorConditionFormula, fields).map((customFieldRef) => ({
|
|
91
|
+
type: 'custom_field',
|
|
92
|
+
name: customFieldRef,
|
|
93
|
+
fieldName: customFieldRef,
|
|
94
|
+
})),
|
|
95
|
+
];
|
|
96
|
+
}
|
|
97
|
+
function extractRecordTypeDependencies(recordTypes) {
|
|
98
|
+
return recordTypes.map((recordType) => ({
|
|
99
|
+
type: 'record_type',
|
|
100
|
+
name: recordType.fullName,
|
|
101
|
+
}));
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=custom-object-dependency-builder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-object-dependency-builder.js","sourceRoot":"","sources":["../../src/parsers/custom-object-dependency-builder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,112 +1,9 @@
|
|
|
1
1
|
import { getLogger } from '../utils/logger.js';
|
|
2
2
|
import { ParsingError } from '../errors/parsing-error.js';
|
|
3
3
|
import { parseXml } from '../utils/xml.js';
|
|
4
|
+
import { buildDependencies } from './custom-object-dependency-builder.js';
|
|
4
5
|
import { normalizeOptionalArray } from './parser-utils.js';
|
|
5
6
|
const logger = getLogger('CustomObjectParser');
|
|
6
|
-
/**
|
|
7
|
-
* Extract object references from formula
|
|
8
|
-
*
|
|
9
|
-
* @ac US-020-AC-3: Extract formula field dependencies
|
|
10
|
-
*/
|
|
11
|
-
function extractFormulaReferences(formula) {
|
|
12
|
-
const references = new Set();
|
|
13
|
-
// Pattern: ObjectName.FieldName or $ObjectType.ObjectName
|
|
14
|
-
const objectPattern = /\b([A-Z][a-zA-Z0-9_]*)\./g;
|
|
15
|
-
const matches = formula.matchAll(objectPattern);
|
|
16
|
-
for (const match of matches) {
|
|
17
|
-
const objectName = match[1];
|
|
18
|
-
// Skip common formula functions
|
|
19
|
-
if (!['IF', 'AND', 'OR', 'NOT', 'CASE', 'TEXT', 'VALUE', 'DATE', 'DATEVALUE', 'NOW', 'TODAY'].includes(objectName)) {
|
|
20
|
-
references.add(objectName);
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
// Also check for $ObjectType references
|
|
24
|
-
const objectTypePattern = /\$ObjectType\.([a-zA-Z][a-zA-Z0-9_]*)/g;
|
|
25
|
-
const objectTypeMatches = formula.matchAll(objectTypePattern);
|
|
26
|
-
for (const match of objectTypeMatches) {
|
|
27
|
-
references.add(match[1]);
|
|
28
|
-
}
|
|
29
|
-
return [...references];
|
|
30
|
-
}
|
|
31
|
-
function sanitizeFormula(formula) {
|
|
32
|
-
return formula.replace(/"[^"]*"|'[^']*'/g, ' ');
|
|
33
|
-
}
|
|
34
|
-
function createRelationshipFieldMap(fields) {
|
|
35
|
-
const relationshipFieldMap = new Map();
|
|
36
|
-
for (const field of fields) {
|
|
37
|
-
if (!field.referenceTo || field.referenceTo.length === 0) {
|
|
38
|
-
continue;
|
|
39
|
-
}
|
|
40
|
-
const keys = new Set();
|
|
41
|
-
keys.add(field.fullName);
|
|
42
|
-
if (field.fullName.endsWith('__c')) {
|
|
43
|
-
keys.add(`${field.fullName.slice(0, -3)}__r`);
|
|
44
|
-
}
|
|
45
|
-
if (field.relationshipName) {
|
|
46
|
-
keys.add(field.relationshipName);
|
|
47
|
-
}
|
|
48
|
-
for (const key of keys) {
|
|
49
|
-
relationshipFieldMap.set(key, {
|
|
50
|
-
fieldName: field.fullName,
|
|
51
|
-
referencedObjects: field.referenceTo,
|
|
52
|
-
});
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
return relationshipFieldMap;
|
|
56
|
-
}
|
|
57
|
-
function resolveFormulaReferences(formula, fields) {
|
|
58
|
-
const rawReferences = extractFormulaReferences(formula);
|
|
59
|
-
const relationshipFieldMap = createRelationshipFieldMap(fields);
|
|
60
|
-
const resolved = new Set();
|
|
61
|
-
for (const rawReference of rawReferences) {
|
|
62
|
-
const relationship = relationshipFieldMap.get(rawReference);
|
|
63
|
-
if (relationship) {
|
|
64
|
-
for (const referencedObject of relationship.referencedObjects) {
|
|
65
|
-
resolved.add(referencedObject);
|
|
66
|
-
}
|
|
67
|
-
continue;
|
|
68
|
-
}
|
|
69
|
-
resolved.add(rawReference);
|
|
70
|
-
}
|
|
71
|
-
return [...resolved];
|
|
72
|
-
}
|
|
73
|
-
function extractCustomFieldReferences(formula, fields, currentFieldName) {
|
|
74
|
-
const sanitizedFormula = sanitizeFormula(formula);
|
|
75
|
-
const customFieldNames = new Set(fields.map((field) => field.fullName));
|
|
76
|
-
const relationshipFieldMap = createRelationshipFieldMap(fields);
|
|
77
|
-
const references = new Set();
|
|
78
|
-
const directFieldPattern = /\b([a-zA-Z][a-zA-Z0-9_]*__c)\b/g;
|
|
79
|
-
for (const match of sanitizedFormula.matchAll(directFieldPattern)) {
|
|
80
|
-
const fieldName = match[1];
|
|
81
|
-
if (fieldName !== currentFieldName && customFieldNames.has(fieldName)) {
|
|
82
|
-
references.add(fieldName);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
const relationshipPattern = /\b([a-zA-Z][a-zA-Z0-9_]*__r)\./g;
|
|
86
|
-
for (const match of sanitizedFormula.matchAll(relationshipPattern)) {
|
|
87
|
-
const relationshipName = match[1];
|
|
88
|
-
const fieldReference = relationshipFieldMap.get(relationshipName)?.fieldName;
|
|
89
|
-
if (fieldReference && fieldReference !== currentFieldName) {
|
|
90
|
-
references.add(fieldReference);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return [...references];
|
|
94
|
-
}
|
|
95
|
-
/**
|
|
96
|
-
* Extract Apex class references from validation rules
|
|
97
|
-
*
|
|
98
|
-
* @ac US-020-AC-5: Extract Apex class references in formulas
|
|
99
|
-
*/
|
|
100
|
-
function extractApexReferences(formula) {
|
|
101
|
-
const apexClasses = new Set();
|
|
102
|
-
// Pattern: ClassName.methodName() or @RemoteAction patterns
|
|
103
|
-
const apexPattern = /\b([A-Z][a-zA-Z0-9_]*)\.[a-zA-Z][a-zA-Z0-9_]*\s*\(/g;
|
|
104
|
-
const matches = formula.matchAll(apexPattern);
|
|
105
|
-
for (const match of matches) {
|
|
106
|
-
apexClasses.add(match[1]);
|
|
107
|
-
}
|
|
108
|
-
return [...apexClasses];
|
|
109
|
-
}
|
|
110
7
|
/**
|
|
111
8
|
* Extract sharing rules from metadata
|
|
112
9
|
*
|
|
@@ -155,110 +52,6 @@ function extractBaseSections(metadata) {
|
|
|
155
52
|
listViews: metadata.listViews ?? [],
|
|
156
53
|
};
|
|
157
54
|
}
|
|
158
|
-
function extractFieldDependencies(fields) {
|
|
159
|
-
const dependencies = [];
|
|
160
|
-
for (const field of fields) {
|
|
161
|
-
if (field.referenceTo && (field.type === 'Lookup' || field.type === 'MasterDetail')) {
|
|
162
|
-
for (const referencedObject of field.referenceTo) {
|
|
163
|
-
dependencies.push({
|
|
164
|
-
type: field.type === 'MasterDetail' ? 'master_detail_field' : 'lookup_field',
|
|
165
|
-
name: field.fullName,
|
|
166
|
-
referencedObject,
|
|
167
|
-
fieldName: field.fullName,
|
|
168
|
-
});
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
if (field.formula) {
|
|
172
|
-
const formulaRefs = resolveFormulaReferences(field.formula, fields);
|
|
173
|
-
for (const referencedObject of formulaRefs) {
|
|
174
|
-
dependencies.push({
|
|
175
|
-
type: 'formula_field',
|
|
176
|
-
name: field.fullName,
|
|
177
|
-
referencedObject,
|
|
178
|
-
fieldName: field.fullName,
|
|
179
|
-
});
|
|
180
|
-
}
|
|
181
|
-
const apexRefs = extractApexReferences(field.formula);
|
|
182
|
-
for (const apexClass of apexRefs) {
|
|
183
|
-
dependencies.push({
|
|
184
|
-
type: 'apex_class',
|
|
185
|
-
name: apexClass,
|
|
186
|
-
fieldName: field.fullName,
|
|
187
|
-
});
|
|
188
|
-
}
|
|
189
|
-
const customFieldRefs = extractCustomFieldReferences(field.formula, fields, field.fullName);
|
|
190
|
-
for (const customFieldRef of customFieldRefs) {
|
|
191
|
-
dependencies.push({
|
|
192
|
-
type: 'custom_field',
|
|
193
|
-
name: customFieldRef,
|
|
194
|
-
fieldName: customFieldRef,
|
|
195
|
-
});
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
if (field.type === 'Summary') {
|
|
199
|
-
if (field.summaryForeignKey) {
|
|
200
|
-
dependencies.push({
|
|
201
|
-
type: 'custom_field',
|
|
202
|
-
name: field.summaryForeignKey,
|
|
203
|
-
fieldName: field.summaryForeignKey,
|
|
204
|
-
});
|
|
205
|
-
}
|
|
206
|
-
if (field.summarizedField) {
|
|
207
|
-
dependencies.push({
|
|
208
|
-
type: 'custom_field',
|
|
209
|
-
name: field.summarizedField,
|
|
210
|
-
fieldName: field.summarizedField,
|
|
211
|
-
});
|
|
212
|
-
}
|
|
213
|
-
}
|
|
214
|
-
}
|
|
215
|
-
return dependencies;
|
|
216
|
-
}
|
|
217
|
-
function extractValidationRuleDependencies(validationRules, fields) {
|
|
218
|
-
const dependencies = [];
|
|
219
|
-
for (const rule of validationRules) {
|
|
220
|
-
if (!rule.errorConditionFormula) {
|
|
221
|
-
continue;
|
|
222
|
-
}
|
|
223
|
-
const formulaRefs = resolveFormulaReferences(rule.errorConditionFormula, fields);
|
|
224
|
-
for (const referencedObject of formulaRefs) {
|
|
225
|
-
dependencies.push({
|
|
226
|
-
type: 'validation_rule',
|
|
227
|
-
name: rule.fullName,
|
|
228
|
-
referencedObject,
|
|
229
|
-
});
|
|
230
|
-
}
|
|
231
|
-
const apexRefs = extractApexReferences(rule.errorConditionFormula);
|
|
232
|
-
for (const apexClass of apexRefs) {
|
|
233
|
-
dependencies.push({
|
|
234
|
-
type: 'apex_class',
|
|
235
|
-
name: apexClass,
|
|
236
|
-
});
|
|
237
|
-
}
|
|
238
|
-
const customFieldRefs = extractCustomFieldReferences(rule.errorConditionFormula, fields);
|
|
239
|
-
for (const customFieldRef of customFieldRefs) {
|
|
240
|
-
dependencies.push({
|
|
241
|
-
type: 'custom_field',
|
|
242
|
-
name: customFieldRef,
|
|
243
|
-
fieldName: customFieldRef,
|
|
244
|
-
});
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
return dependencies;
|
|
248
|
-
}
|
|
249
|
-
function extractRecordTypeDependencies(recordTypes) {
|
|
250
|
-
return recordTypes.map((recordType) => ({
|
|
251
|
-
type: 'record_type',
|
|
252
|
-
name: recordType.fullName,
|
|
253
|
-
}));
|
|
254
|
-
}
|
|
255
|
-
function buildDependencies(fields, validationRules, recordTypes) {
|
|
256
|
-
return [
|
|
257
|
-
...extractFieldDependencies(fields),
|
|
258
|
-
...extractValidationRuleDependencies(validationRules, fields),
|
|
259
|
-
...extractRecordTypeDependencies(recordTypes),
|
|
260
|
-
];
|
|
261
|
-
}
|
|
262
55
|
async function parseCustomObjectXml(metadataContent) {
|
|
263
56
|
const parsed = await parseXml(metadataContent);
|
|
264
57
|
const parsedRoot = parsed;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"custom-object-parser.js","sourceRoot":"","sources":["../../src/parsers/custom-object-parser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAa3C,OAAO,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AAE3D,MAAM,MAAM,GAAG,SAAS,CAAC,oBAAoB,CAAC,CAAC;AAoG/C;;;;GAIG;AACH,SAAS,wBAAwB,CAAC,OAAe;IAC/C,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,0DAA0D;IAC1D,MAAM,aAAa,GAAG,2BAA2B,CAAC;IAClD,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;IAEhD,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC5B,gCAAgC;QAChC,IACE,CAAC,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,EAC9G,CAAC;YACD,UAAU,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;IACH,CAAC;IAED,wCAAwC;IACxC,MAAM,iBAAiB,GAAG,wCAAwC,CAAC;IACnE,MAAM,iBAAiB,GAAG,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC;IAE9D,KAAK,MAAM,KAAK,IAAI,iBAAiB,EAAE,CAAC;QACtC,UAAU,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;AACzB,CAAC;AAED,SAAS,eAAe,CAAC,OAAe;IACtC,OAAO,OAAO,CAAC,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC,CAAC;AAClD,CAAC;AAED,SAAS,0BAA0B,CACjC,MAAqB;IAErB,MAAM,oBAAoB,GAAG,IAAI,GAAG,EAA8D,CAAC;IAEnG,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,KAAK,CAAC,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACzD,SAAS;QACX,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;QAC/B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;QAEzB,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACnC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;YAC3B,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;QACnC,CAAC;QAED,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,oBAAoB,CAAC,GAAG,CAAC,GAAG,EAAE;gBAC5B,SAAS,EAAE,KAAK,CAAC,QAAQ;gBACzB,iBAAiB,EAAE,KAAK,CAAC,WAAW;aACrC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,SAAS,wBAAwB,CAAC,OAAe,EAAE,MAAqB;IACtE,MAAM,aAAa,GAAG,wBAAwB,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAU,CAAC;IAEnC,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;QACzC,MAAM,YAAY,GAAG,oBAAoB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAC5D,IAAI,YAAY,EAAE,CAAC;YACjB,KAAK,MAAM,gBAAgB,IAAI,YAAY,CAAC,iBAAiB,EAAE,CAAC;gBAC9D,QAAQ,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACjC,CAAC;YACD,SAAS;QACX,CAAC;QAED,QAAQ,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;IAC7B,CAAC;IAED,OAAO,CAAC,GAAG,QAAQ,CAAC,CAAC;AACvB,CAAC;AAED,SAAS,4BAA4B,CAAC,OAAe,EAAE,MAAqB,EAAE,gBAAyB;IACrG,MAAM,gBAAgB,GAAG,eAAe,CAAC,OAAO,CAAC,CAAC;IAClD,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;IACxE,MAAM,oBAAoB,GAAG,0BAA0B,CAAC,MAAM,CAAC,CAAC;IAChE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAU,CAAC;IAErC,MAAM,kBAAkB,GAAG,iCAAiC,CAAC;IAC7D,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,QAAQ,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAClE,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,SAAS,KAAK,gBAAgB,IAAI,gBAAgB,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YACtE,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,MAAM,mBAAmB,GAAG,iCAAiC,CAAC;IAC9D,KAAK,MAAM,KAAK,IAAI,gBAAgB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;QACnE,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAClC,MAAM,cAAc,GAAG,oBAAoB,CAAC,GAAG,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC;QAC7E,IAAI,cAAc,IAAI,cAAc,KAAK,gBAAgB,EAAE,CAAC;YAC1D,UAAU,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,UAAU,CAAC,CAAC;AACzB,CAAC;AAED;;;;GAIG;AACH,SAAS,qBAAqB,CAAC,OAAe;IAC5C,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAC;IAEtC,4DAA4D;IAC5D,MAAM,WAAW,GAAG,qDAAqD,CAAC;IAC1E,MAAM,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAE9C,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,WAAW,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,CAAC;IAED,OAAO,CAAC,GAAG,WAAW,CAAC,CAAC;AAC1B,CAAC;AAED;;;;GAIG;AACH,SAAS,mBAAmB,CAAC,QAAiC;IAC5D,MAAM,YAAY,GAAkB,EAAE,CAAC;IAEvC,MAAM,UAAU,GAAG,QAAQ,CAAC,YAAmD,CAAC;IAChF,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,wDAAwD;IACxD,MAAM,aAAa,GAAG,UAAU,CAAC,kBAAkB,CAAC;IACpD,MAAM,UAAU,GAAG,UAAU,CAAC,UAAU,CAAC;IAEzC,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;QACpF,KAAK,MAAM,IAAI,IAAI,YAAY,EAAE,CAAC;YAChC,MAAM,YAAY,GAAG,IAA+B,CAAC;YACrD,MAAM,WAAW,GAAgB;gBAC/B,QAAQ,EAAG,YAAY,CAAC,QAAmB,IAAI,EAAE;gBACjD,WAAW,EAAG,YAAY,CAAC,WAAsB,IAAI,EAAE;gBACvD,QAAQ,EAAE,YAAY,CAAC,QAAmC;aAC3D,CAAC;YACF,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,SAAS,GAAG,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACxE,KAAK,MAAM,IAAI,IAAI,SAAS,EAAE,CAAC;YAC7B,MAAM,SAAS,GAAG,IAA+B,CAAC;YAClD,MAAM,WAAW,GAAgB;gBAC/B,QAAQ,EAAG,SAAS,CAAC,QAAmB,IAAI,EAAE;gBAC9C,WAAW,EAAG,SAAS,CAAC,WAAsB,IAAI,EAAE;gBACpD,QAAQ,EAAE,SAAS,CAAC,QAAmC;aACxD,CAAC;YACF,YAAY,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,mBAAmB,CAAC,QAA8B;IACzD,OAAO;QACL,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,EAAE;QAC7B,eAAe,EAAE,QAAQ,CAAC,eAAe,IAAI,EAAE;QAC/C,WAAW,EAAE,QAAQ,CAAC,WAAW,IAAI,EAAE;QACvC,SAAS,EAAE,QAAQ,CAAC,SAAS,IAAI,EAAE;KACpC,CAAC;AACJ,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAqB;IACrD,MAAM,YAAY,GAA6B,EAAE,CAAC;IAElD,KAAK,MAAM,KAAK,IAAI,MAAM,EAAE,CAAC;QAC3B,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,EAAE,CAAC;YACpF,KAAK,MAAM,gBAAgB,IAAI,KAAK,CAAC,WAAW,EAAE,CAAC;gBACjD,YAAY,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,KAAK,CAAC,IAAI,KAAK,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,cAAc;oBAC5E,IAAI,EAAE,KAAK,CAAC,QAAQ;oBACpB,gBAAgB;oBAChB,SAAS,EAAE,KAAK,CAAC,QAAQ;iBAC1B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,OAAO,EAAE,CAAC;YAClB,MAAM,WAAW,GAAG,wBAAwB,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YACpE,KAAK,MAAM,gBAAgB,IAAI,WAAW,EAAE,CAAC;gBAC3C,YAAY,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,eAAe;oBACrB,IAAI,EAAE,KAAK,CAAC,QAAQ;oBACpB,gBAAgB;oBAChB,SAAS,EAAE,KAAK,CAAC,QAAQ;iBAC1B,CAAC,CAAC;YACL,CAAC;YAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACtD,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;gBACjC,YAAY,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,YAAY;oBAClB,IAAI,EAAE,SAAS;oBACf,SAAS,EAAE,KAAK,CAAC,QAAQ;iBAC1B,CAAC,CAAC;YACL,CAAC;YAED,MAAM,eAAe,GAAG,4BAA4B,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;YAC5F,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;gBAC7C,YAAY,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,cAAc;oBACpB,SAAS,EAAE,cAAc;iBAC1B,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YAC7B,IAAI,KAAK,CAAC,iBAAiB,EAAE,CAAC;gBAC5B,YAAY,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,KAAK,CAAC,iBAAiB;oBAC7B,SAAS,EAAE,KAAK,CAAC,iBAAiB;iBACnC,CAAC,CAAC;YACL,CAAC;YAED,IAAI,KAAK,CAAC,eAAe,EAAE,CAAC;gBAC1B,YAAY,CAAC,IAAI,CAAC;oBAChB,IAAI,EAAE,cAAc;oBACpB,IAAI,EAAE,KAAK,CAAC,eAAe;oBAC3B,SAAS,EAAE,KAAK,CAAC,eAAe;iBACjC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,iCAAiC,CACxC,eAAiC,EACjC,MAAqB;IAErB,MAAM,YAAY,GAA6B,EAAE,CAAC;IAElD,KAAK,MAAM,IAAI,IAAI,eAAe,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAChC,SAAS;QACX,CAAC;QAED,MAAM,WAAW,GAAG,wBAAwB,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QACjF,KAAK,MAAM,gBAAgB,IAAI,WAAW,EAAE,CAAC;YAC3C,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,iBAAiB;gBACvB,IAAI,EAAE,IAAI,CAAC,QAAQ;gBACnB,gBAAgB;aACjB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,QAAQ,GAAG,qBAAqB,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACnE,KAAK,MAAM,SAAS,IAAI,QAAQ,EAAE,CAAC;YACjC,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,YAAY;gBAClB,IAAI,EAAE,SAAS;aAChB,CAAC,CAAC;QACL,CAAC;QAED,MAAM,eAAe,GAAG,4BAA4B,CAAC,IAAI,CAAC,qBAAqB,EAAE,MAAM,CAAC,CAAC;QACzF,KAAK,MAAM,cAAc,IAAI,eAAe,EAAE,CAAC;YAC7C,YAAY,CAAC,IAAI,CAAC;gBAChB,IAAI,EAAE,cAAc;gBACpB,IAAI,EAAE,cAAc;gBACpB,SAAS,EAAE,cAAc;aAC1B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,YAAY,CAAC;AACtB,CAAC;AAED,SAAS,6BAA6B,CAAC,WAAyB;IAC9D,OAAO,WAAW,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACtC,IAAI,EAAE,aAAa;QACnB,IAAI,EAAE,UAAU,CAAC,QAAQ;KAC1B,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,iBAAiB,CACxB,MAAqB,EACrB,eAAiC,EACjC,WAAyB;IAEzB,OAAO;QACL,GAAG,wBAAwB,CAAC,MAAM,CAAC;QACnC,GAAG,iCAAiC,CAAC,eAAe,EAAE,MAAM,CAAC;QAC7D,GAAG,6BAA6B,CAAC,WAAW,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,oBAAoB,CAAC,eAAuB;IACzD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,eAAe,CAAC,CAAC;IAC/C,MAAM,UAAU,GAAG,MAAiC,CAAC;IACrD,MAAM,gBAAgB,GAAI,UAAU,CAAC,YAAwC,IAAI,UAAU,CAAC;IAE5F,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,6BAA6B,CAAC,gBAAyC;IAC9E,IAAI,CAAC,gBAAgB,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAAC,WAAW,EAAE,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC,mDAAmD,EAAE;YAC/D,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC;YACzC,cAAc,EAAE,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC;YACrD,UAAU,EAAE,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC;SAC1C,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,yBAAyB,CAAC,WAA0C;IAC3E,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;AAClE,CAAC;AAED,SAAS,wBAAwB,CAAC,MAAsB;IACtD,OAAO,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QAC7B,GAAG,KAAK;QACR,WAAW,EAAE,yBAAyB,CAAC,KAAK,CAAC,WAAW,CAAC;KAC1D,CAAC,CAAC,CAAC;AACN,CAAC;AAED,SAAS,oBAAoB,CAAC,gBAAyC;IACrE,OAAO;QACL,MAAM,EAAE,wBAAwB,CAC9B,sBAAsB,CAAC,gBAAgB,CAAC,MAAiD,CAAC,CAC3F;QACD,SAAS,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,SAA8C,CAAC;QAClG,SAAS,EAAE,gBAAgB,CAAC,SAAoC;KACjE,CAAC;AACJ,CAAC;AAED,SAAS,2BAA2B,CAAC,gBAAyC;IAC5E,OAAO;QACL,uBAAuB,EAAE,gBAAgB,CAAC,uBAA6C;QACvF,oBAAoB,EAAE,gBAAgB,CAAC,oBAA2C;QAClF,oBAAoB,EAAE,gBAAgB,CAAC,oBAAoE;QAC3G,YAAY,EAAE,gBAAgB,CAAC,YAAoD;QACnF,cAAc,EAAE,sBAAsB,CACpC,gBAAgB,CAAC,cAA6D,CAC/E;QACD,qBAAqB,EAAE,sBAAsB,CAC3C,gBAAgB,CAAC,qBAAkF,CACpG;KACF,CAAC;AACJ,CAAC;AAED,SAAS,oCAAoC,CAC3C,gBAAyC;IAEzC,OAAO;QACL,eAAe,EAAE,sBAAsB,CACrC,gBAAgB,CAAC,eAAgE,CAClF;QACD,cAAc,EAAE,gBAAgB,CAAC,cAAoC;QACrE,gBAAgB,EAAE,gBAAgB,CAAC,gBAAuC;QAC1E,aAAa,EAAE,gBAAgB,CAAC,aAAoC;QACpE,uBAAuB,EAAE,gBAAgB,CAAC,uBAA8C;QACxF,WAAW,EAAE,gBAAgB,CAAC,WAAkC;QAChE,aAAa,EAAE,gBAAgB,CAAC,aAAoC;QACpE,aAAa,EAAE,gBAAgB,CAAC,aAAoC;QACpE,YAAY,EAAE,gBAAgB,CAAC,YAAmC;QAClE,aAAa,EAAE,gBAAgB,CAAC,aAAoC;QACpE,kBAAkB,EAAE,gBAAgB,CAAC,kBAAyC;QAC9E,SAAS,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,SAA8C,CAAC;QAClG,WAAW,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,WAAoD,CAAC;QAC1G,eAAe,EAAE,sBAAsB,CACrC,gBAAgB,CAAC,eAAgE,CAClF;QACD,QAAQ,EAAE,sBAAsB,CAAC,gBAAgB,CAAC,QAA2C,CAAC;KAC/F,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,gBAAyC,EACzC,aAAwC,EACxC,oBAAsD,EACtD,6BAAwE;IAExE,OAAO;QACL,KAAK,EAAG,gBAAgB,CAAC,KAAgB,IAAI,EAAE;QAC/C,WAAW,EAAG,gBAAgB,CAAC,WAAsB,IAAI,EAAE;QAC3D,eAAe,EAAE,6BAA6B,CAAC,eAAe;QAC9D,oBAAoB,EAAE,gBAAgB,CAAC,oBAA2C;QAClF,uBAAuB,EAAE,oBAAoB,CAAC,uBAAuB;QACrE,cAAc,EAAE,6BAA6B,CAAC,cAAc;QAC5D,gBAAgB,EAAE,gBAAgB,CAAC,gBAA4D;QAC/F,UAAU,EAAE,gBAAgB,CAAC,UAAiC;QAC9D,WAAW,EAAE,gBAAgB,CAAC,WAAiC;QAC/D,gBAAgB,EAAE,6BAA6B,CAAC,gBAAgB;QAChE,aAAa,EAAE,6BAA6B,CAAC,aAAa;QAC1D,uBAAuB,EAAE,6BAA6B,CAAC,uBAAuB;QAC9E,oBAAoB,EAAE,oBAAoB,CAAC,oBAAoB;QAC/D,WAAW,EAAE,6BAA6B,CAAC,WAAW;QACtD,aAAa,EAAE,6BAA6B,CAAC,aAAa;QAC1D,aAAa,EAAE,6BAA6B,CAAC,aAAa;QAC1D,YAAY,EAAE,6BAA6B,CAAC,YAAY;QACxD,aAAa,EAAE,6BAA6B,CAAC,aAAa;QAC1D,kBAAkB,EAAE,6BAA6B,CAAC,kBAAkB;QACpE,oBAAoB,EAAE,oBAAoB,CAAC,oBAAoB;QAC/D,MAAM,EAAE,aAAa,CAAC,MAAM;QAC5B,SAAS,EAAE,aAAa,CAAC,SAAS;QAClC,MAAM,EAAE,gBAAgB,CAAC,MAAwC;QACjE,SAAS,EAAE,gBAAgB,CAAC,SAAgC;QAC5D,SAAS,EAAE,6BAA6B,CAAC,SAAS;QAClD,SAAS,EAAE,aAAa,CAAC,SAAS;QAClC,WAAW,EAAE,6BAA6B,CAAC,WAAW;QACtD,aAAa,EAAE,gBAAgB,CAAC,aAAsD;QACtF,YAAY,EAAE,oBAAoB,CAAC,YAAY;QAC/C,cAAc,EAAE,oBAAoB,CAAC,cAAc;QACnD,qBAAqB,EAAE,oBAAoB,CAAC,qBAAqB;QACjE,UAAU,EAAE,gBAAgB,CAAC,UAAgD;QAC7E,eAAe,EAAE,6BAA6B,CAAC,eAAe;QAC9D,UAAU,EAAE,gBAAgB,CAAC,UAAgD;QAC7E,QAAQ,EAAE,6BAA6B,CAAC,QAAQ;KACjD,CAAC;AACJ,CAAC;AAED,SAAS,iCAAiC,CAAC,gBAAyC;IAClF,6BAA6B,CAAC,gBAAgB,CAAC,CAAC;IAEhD,MAAM,aAAa,GAAG,oBAAoB,CAAC,gBAAgB,CAAC,CAAC;IAC7D,MAAM,oBAAoB,GAAG,2BAA2B,CAAC,gBAAgB,CAAC,CAAC;IAC3E,MAAM,6BAA6B,GAAG,oCAAoC,CAAC,gBAAgB,CAAC,CAAC;IAE7F,OAAO,4BAA4B,CACjC,gBAAgB,EAChB,aAAa,EACb,oBAAoB,EACpB,6BAA6B,CAC9B,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,sCAAsC;AACtC,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,UAAkB,EAAE,eAAuB;IACjF,IAAI,CAAC;QACH,MAAM,CAAC,KAAK,CAAC,0BAA0B,UAAU,EAAE,CAAC,CAAC;QAErD,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,oBAAoB,CAAC,eAAe,CAAC,CAAC;QACzE,MAAM,QAAQ,GAAG,iCAAiC,CAAC,gBAAgB,CAAC,CAAC;QACrE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAE,WAAW,EAAE,SAAS,EAAE,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QAC1F,MAAM,YAAY,GAAG,mBAAmB,CAAC,gBAAgB,CAAC,CAAC;QAC3D,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;QAE7E,MAAM,MAAM,GAA4B;YACtC,GAAG,QAAQ;YACX,MAAM;YACN,eAAe;YACf,WAAW;YACX,SAAS;YACT,YAAY;YACZ,YAAY;SACb,CAAC;QAEF,MAAM,CAAC,KAAK,CAAC,yBAAyB,UAAU,EAAE,EAAE;YAClD,WAAW,EAAE,MAAM,CAAC,MAAM;YAC1B,oBAAoB,EAAE,eAAe,CAAC,MAAM;YAC5C,gBAAgB,EAAE,WAAW,CAAC,MAAM;YACpC,iBAAiB,EAAE,YAAY,CAAC,MAAM;YACtC,cAAc,EAAE,SAAS,CAAC,MAAM;YAChC,iBAAiB,EAAE,YAAY,CAAC,MAAM;SACvC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,YAAY,EAAE,CAAC;YAClC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,IAAI,YAAY,CAAC,kCAAkC,UAAU,EAAE,EAAE;YACrE,QAAQ,EAAE,UAAU;YACpB,aAAa,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SACtE,CAAC,CAAC;IACL,CAAC;AACH,CAAC"}
|
|
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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"}
|