@sfdxy/mule-lint 1.4.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.
Files changed (206) hide show
  1. package/README.md +413 -0
  2. package/dist/bin/mule-lint.d.ts +3 -0
  3. package/dist/bin/mule-lint.d.ts.map +1 -0
  4. package/dist/bin/mule-lint.js +123 -0
  5. package/dist/bin/mule-lint.js.map +1 -0
  6. package/dist/src/core/ComplexityCalculator.d.ts +42 -0
  7. package/dist/src/core/ComplexityCalculator.d.ts.map +1 -0
  8. package/dist/src/core/ComplexityCalculator.js +123 -0
  9. package/dist/src/core/ComplexityCalculator.js.map +1 -0
  10. package/dist/src/core/FileScanner.d.ts +58 -0
  11. package/dist/src/core/FileScanner.d.ts.map +1 -0
  12. package/dist/src/core/FileScanner.js +161 -0
  13. package/dist/src/core/FileScanner.js.map +1 -0
  14. package/dist/src/core/XPathHelper.d.ts +81 -0
  15. package/dist/src/core/XPathHelper.d.ts.map +1 -0
  16. package/dist/src/core/XPathHelper.js +229 -0
  17. package/dist/src/core/XPathHelper.js.map +1 -0
  18. package/dist/src/core/XmlParser.d.ts +38 -0
  19. package/dist/src/core/XmlParser.d.ts.map +1 -0
  20. package/dist/src/core/XmlParser.js +131 -0
  21. package/dist/src/core/XmlParser.js.map +1 -0
  22. package/dist/src/core/YamlParser.d.ts +30 -0
  23. package/dist/src/core/YamlParser.d.ts.map +1 -0
  24. package/dist/src/core/YamlParser.js +120 -0
  25. package/dist/src/core/YamlParser.js.map +1 -0
  26. package/dist/src/core/index.d.ts +4 -0
  27. package/dist/src/core/index.d.ts.map +1 -0
  28. package/dist/src/core/index.js +21 -0
  29. package/dist/src/core/index.js.map +1 -0
  30. package/dist/src/engine/LintEngine.d.ts +60 -0
  31. package/dist/src/engine/LintEngine.d.ts.map +1 -0
  32. package/dist/src/engine/LintEngine.js +271 -0
  33. package/dist/src/engine/LintEngine.js.map +1 -0
  34. package/dist/src/engine/index.d.ts +2 -0
  35. package/dist/src/engine/index.d.ts.map +1 -0
  36. package/dist/src/engine/index.js +18 -0
  37. package/dist/src/engine/index.js.map +1 -0
  38. package/dist/src/formatters/JsonFormatter.d.ts +18 -0
  39. package/dist/src/formatters/JsonFormatter.d.ts.map +1 -0
  40. package/dist/src/formatters/JsonFormatter.js +45 -0
  41. package/dist/src/formatters/JsonFormatter.js.map +1 -0
  42. package/dist/src/formatters/SarifFormatter.d.ts +8 -0
  43. package/dist/src/formatters/SarifFormatter.d.ts.map +1 -0
  44. package/dist/src/formatters/SarifFormatter.js +115 -0
  45. package/dist/src/formatters/SarifFormatter.js.map +1 -0
  46. package/dist/src/formatters/TableFormatter.d.ts +10 -0
  47. package/dist/src/formatters/TableFormatter.d.ts.map +1 -0
  48. package/dist/src/formatters/TableFormatter.js +100 -0
  49. package/dist/src/formatters/TableFormatter.js.map +1 -0
  50. package/dist/src/formatters/index.d.ts +10 -0
  51. package/dist/src/formatters/index.d.ts.map +1 -0
  52. package/dist/src/formatters/index.js +42 -0
  53. package/dist/src/formatters/index.js.map +1 -0
  54. package/dist/src/index.d.ts +6 -0
  55. package/dist/src/index.d.ts.map +1 -0
  56. package/dist/src/index.js +28 -0
  57. package/dist/src/index.js.map +1 -0
  58. package/dist/src/rules/api-led/ApiLedRules.d.ts +42 -0
  59. package/dist/src/rules/api-led/ApiLedRules.d.ts.map +1 -0
  60. package/dist/src/rules/api-led/ApiLedRules.js +95 -0
  61. package/dist/src/rules/api-led/ApiLedRules.js.map +1 -0
  62. package/dist/src/rules/base/BaseRule.d.ts +89 -0
  63. package/dist/src/rules/base/BaseRule.d.ts.map +1 -0
  64. package/dist/src/rules/base/BaseRule.js +137 -0
  65. package/dist/src/rules/base/BaseRule.js.map +1 -0
  66. package/dist/src/rules/complexity/FlowComplexityRule.d.ts +18 -0
  67. package/dist/src/rules/complexity/FlowComplexityRule.d.ts.map +1 -0
  68. package/dist/src/rules/complexity/FlowComplexityRule.js +58 -0
  69. package/dist/src/rules/complexity/FlowComplexityRule.js.map +1 -0
  70. package/dist/src/rules/dataweave/DataWeaveRules.d.ts +45 -0
  71. package/dist/src/rules/dataweave/DataWeaveRules.d.ts.map +1 -0
  72. package/dist/src/rules/dataweave/DataWeaveRules.js +168 -0
  73. package/dist/src/rules/dataweave/DataWeaveRules.js.map +1 -0
  74. package/dist/src/rules/documentation/FlowDescriptionRule.d.ts +16 -0
  75. package/dist/src/rules/documentation/FlowDescriptionRule.d.ts.map +1 -0
  76. package/dist/src/rules/documentation/FlowDescriptionRule.js +33 -0
  77. package/dist/src/rules/documentation/FlowDescriptionRule.js.map +1 -0
  78. package/dist/src/rules/documentation/MissingDocNameRule.d.ts +17 -0
  79. package/dist/src/rules/documentation/MissingDocNameRule.d.ts.map +1 -0
  80. package/dist/src/rules/documentation/MissingDocNameRule.js +44 -0
  81. package/dist/src/rules/documentation/MissingDocNameRule.js.map +1 -0
  82. package/dist/src/rules/error-handling/CorrelationIdRule.d.ts +26 -0
  83. package/dist/src/rules/error-handling/CorrelationIdRule.d.ts.map +1 -0
  84. package/dist/src/rules/error-handling/CorrelationIdRule.js +86 -0
  85. package/dist/src/rules/error-handling/CorrelationIdRule.js.map +1 -0
  86. package/dist/src/rules/error-handling/GenericErrorRule.d.ts +22 -0
  87. package/dist/src/rules/error-handling/GenericErrorRule.d.ts.map +1 -0
  88. package/dist/src/rules/error-handling/GenericErrorRule.js +51 -0
  89. package/dist/src/rules/error-handling/GenericErrorRule.js.map +1 -0
  90. package/dist/src/rules/error-handling/GlobalErrorHandlerRule.d.ts +17 -0
  91. package/dist/src/rules/error-handling/GlobalErrorHandlerRule.d.ts.map +1 -0
  92. package/dist/src/rules/error-handling/GlobalErrorHandlerRule.js +77 -0
  93. package/dist/src/rules/error-handling/GlobalErrorHandlerRule.js.map +1 -0
  94. package/dist/src/rules/error-handling/HttpStatusRule.d.ts +21 -0
  95. package/dist/src/rules/error-handling/HttpStatusRule.d.ts.map +1 -0
  96. package/dist/src/rules/error-handling/HttpStatusRule.js +57 -0
  97. package/dist/src/rules/error-handling/HttpStatusRule.js.map +1 -0
  98. package/dist/src/rules/error-handling/MissingErrorHandlerRule.d.ts +17 -0
  99. package/dist/src/rules/error-handling/MissingErrorHandlerRule.d.ts.map +1 -0
  100. package/dist/src/rules/error-handling/MissingErrorHandlerRule.js +51 -0
  101. package/dist/src/rules/error-handling/MissingErrorHandlerRule.js.map +1 -0
  102. package/dist/src/rules/experimental/ExperimentalRules.d.ts +43 -0
  103. package/dist/src/rules/experimental/ExperimentalRules.d.ts.map +1 -0
  104. package/dist/src/rules/experimental/ExperimentalRules.js +92 -0
  105. package/dist/src/rules/experimental/ExperimentalRules.js.map +1 -0
  106. package/dist/src/rules/http/HttpContentTypeRule.d.ts +17 -0
  107. package/dist/src/rules/http/HttpContentTypeRule.d.ts.map +1 -0
  108. package/dist/src/rules/http/HttpContentTypeRule.js +50 -0
  109. package/dist/src/rules/http/HttpContentTypeRule.js.map +1 -0
  110. package/dist/src/rules/http/HttpTimeoutRule.d.ts +16 -0
  111. package/dist/src/rules/http/HttpTimeoutRule.d.ts.map +1 -0
  112. package/dist/src/rules/http/HttpTimeoutRule.js +33 -0
  113. package/dist/src/rules/http/HttpTimeoutRule.js.map +1 -0
  114. package/dist/src/rules/http/HttpUserAgentRule.d.ts +17 -0
  115. package/dist/src/rules/http/HttpUserAgentRule.d.ts.map +1 -0
  116. package/dist/src/rules/http/HttpUserAgentRule.js +48 -0
  117. package/dist/src/rules/http/HttpUserAgentRule.js.map +1 -0
  118. package/dist/src/rules/index.d.ts +45 -0
  119. package/dist/src/rules/index.d.ts.map +1 -0
  120. package/dist/src/rules/index.js +205 -0
  121. package/dist/src/rules/index.js.map +1 -0
  122. package/dist/src/rules/logging/LoggerCategoryRule.d.ts +21 -0
  123. package/dist/src/rules/logging/LoggerCategoryRule.d.ts.map +1 -0
  124. package/dist/src/rules/logging/LoggerCategoryRule.js +61 -0
  125. package/dist/src/rules/logging/LoggerCategoryRule.js.map +1 -0
  126. package/dist/src/rules/logging/LoggerInUntilSuccessfulRule.d.ts +16 -0
  127. package/dist/src/rules/logging/LoggerInUntilSuccessfulRule.d.ts.map +1 -0
  128. package/dist/src/rules/logging/LoggerInUntilSuccessfulRule.js +29 -0
  129. package/dist/src/rules/logging/LoggerInUntilSuccessfulRule.js.map +1 -0
  130. package/dist/src/rules/logging/LoggerPayloadRule.d.ts +17 -0
  131. package/dist/src/rules/logging/LoggerPayloadRule.d.ts.map +1 -0
  132. package/dist/src/rules/logging/LoggerPayloadRule.js +39 -0
  133. package/dist/src/rules/logging/LoggerPayloadRule.js.map +1 -0
  134. package/dist/src/rules/naming/FlowCasingRule.d.ts +18 -0
  135. package/dist/src/rules/naming/FlowCasingRule.d.ts.map +1 -0
  136. package/dist/src/rules/naming/FlowCasingRule.js +40 -0
  137. package/dist/src/rules/naming/FlowCasingRule.js.map +1 -0
  138. package/dist/src/rules/naming/FlowNamingRule.d.ts +17 -0
  139. package/dist/src/rules/naming/FlowNamingRule.d.ts.map +1 -0
  140. package/dist/src/rules/naming/FlowNamingRule.js +60 -0
  141. package/dist/src/rules/naming/FlowNamingRule.js.map +1 -0
  142. package/dist/src/rules/naming/VariableNamingRule.d.ts +18 -0
  143. package/dist/src/rules/naming/VariableNamingRule.d.ts.map +1 -0
  144. package/dist/src/rules/naming/VariableNamingRule.js +39 -0
  145. package/dist/src/rules/naming/VariableNamingRule.js.map +1 -0
  146. package/dist/src/rules/performance/AsyncErrorHandlerRule.d.ts +16 -0
  147. package/dist/src/rules/performance/AsyncErrorHandlerRule.d.ts.map +1 -0
  148. package/dist/src/rules/performance/AsyncErrorHandlerRule.js +34 -0
  149. package/dist/src/rules/performance/AsyncErrorHandlerRule.js.map +1 -0
  150. package/dist/src/rules/performance/LargeChoiceBlockRule.d.ts +16 -0
  151. package/dist/src/rules/performance/LargeChoiceBlockRule.d.ts.map +1 -0
  152. package/dist/src/rules/performance/LargeChoiceBlockRule.js +32 -0
  153. package/dist/src/rules/performance/LargeChoiceBlockRule.js.map +1 -0
  154. package/dist/src/rules/performance/ScatterGatherRoutesRule.d.ts +16 -0
  155. package/dist/src/rules/performance/ScatterGatherRoutesRule.d.ts.map +1 -0
  156. package/dist/src/rules/performance/ScatterGatherRoutesRule.js +32 -0
  157. package/dist/src/rules/performance/ScatterGatherRoutesRule.js.map +1 -0
  158. package/dist/src/rules/security/HardcodedCredentialsRule.d.ts +19 -0
  159. package/dist/src/rules/security/HardcodedCredentialsRule.d.ts.map +1 -0
  160. package/dist/src/rules/security/HardcodedCredentialsRule.js +66 -0
  161. package/dist/src/rules/security/HardcodedCredentialsRule.js.map +1 -0
  162. package/dist/src/rules/security/HardcodedHttpRule.d.ts +33 -0
  163. package/dist/src/rules/security/HardcodedHttpRule.d.ts.map +1 -0
  164. package/dist/src/rules/security/HardcodedHttpRule.js +108 -0
  165. package/dist/src/rules/security/HardcodedHttpRule.js.map +1 -0
  166. package/dist/src/rules/security/InsecureTlsRule.d.ts +16 -0
  167. package/dist/src/rules/security/InsecureTlsRule.d.ts.map +1 -0
  168. package/dist/src/rules/security/InsecureTlsRule.js +36 -0
  169. package/dist/src/rules/security/InsecureTlsRule.js.map +1 -0
  170. package/dist/src/rules/standards/ChoiceAntiPatternRule.d.ts +17 -0
  171. package/dist/src/rules/standards/ChoiceAntiPatternRule.d.ts.map +1 -0
  172. package/dist/src/rules/standards/ChoiceAntiPatternRule.js +43 -0
  173. package/dist/src/rules/standards/ChoiceAntiPatternRule.js.map +1 -0
  174. package/dist/src/rules/standards/DeprecatedComponentRule.d.ts +17 -0
  175. package/dist/src/rules/standards/DeprecatedComponentRule.d.ts.map +1 -0
  176. package/dist/src/rules/standards/DeprecatedComponentRule.js +37 -0
  177. package/dist/src/rules/standards/DeprecatedComponentRule.js.map +1 -0
  178. package/dist/src/rules/standards/DwlStandardsRule.d.ts +22 -0
  179. package/dist/src/rules/standards/DwlStandardsRule.d.ts.map +1 -0
  180. package/dist/src/rules/standards/DwlStandardsRule.js +90 -0
  181. package/dist/src/rules/standards/DwlStandardsRule.js.map +1 -0
  182. package/dist/src/rules/structure/StructureRules.d.ts +45 -0
  183. package/dist/src/rules/structure/StructureRules.d.ts.map +1 -0
  184. package/dist/src/rules/structure/StructureRules.js +163 -0
  185. package/dist/src/rules/structure/StructureRules.js.map +1 -0
  186. package/dist/src/rules/yaml/YamlRules.d.ts +46 -0
  187. package/dist/src/rules/yaml/YamlRules.d.ts.map +1 -0
  188. package/dist/src/rules/yaml/YamlRules.js +226 -0
  189. package/dist/src/rules/yaml/YamlRules.js.map +1 -0
  190. package/dist/src/types/Config.d.ts +50 -0
  191. package/dist/src/types/Config.d.ts.map +1 -0
  192. package/dist/src/types/Config.js +18 -0
  193. package/dist/src/types/Config.js.map +1 -0
  194. package/dist/src/types/Report.d.ts +47 -0
  195. package/dist/src/types/Report.d.ts.map +1 -0
  196. package/dist/src/types/Report.js +3 -0
  197. package/dist/src/types/Report.js.map +1 -0
  198. package/dist/src/types/Rule.d.ts +76 -0
  199. package/dist/src/types/Rule.d.ts.map +1 -0
  200. package/dist/src/types/Rule.js +3 -0
  201. package/dist/src/types/Rule.js.map +1 -0
  202. package/dist/src/types/index.d.ts +4 -0
  203. package/dist/src/types/index.d.ts.map +1 -0
  204. package/dist/src/types/index.js +21 -0
  205. package/dist/src/types/index.js.map +1 -0
  206. package/package.json +70 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XPathHelper.js","sourceRoot":"","sources":["../../../src/core/XPathHelper.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,38 @@
1
+ /**
2
+ * Result of parsing an XML file
3
+ */
4
+ export interface ParseResult {
5
+ /** Whether parsing was successful */
6
+ success: boolean;
7
+ /** The parsed document (if successful) */
8
+ document?: Document;
9
+ /** Parse error message (if failed) */
10
+ error?: string;
11
+ /** Line number of parse error (if available) */
12
+ errorLine?: number;
13
+ /** Column number of parse error (if available) */
14
+ errorColumn?: number;
15
+ }
16
+ /**
17
+ * Parse XML content into a DOM Document
18
+ *
19
+ * @param content - XML content as string
20
+ * @param filePath - File path for error messages (optional)
21
+ * @returns ParseResult with document or error information
22
+ */
23
+ export declare function parseXml(content: string, filePath?: string): ParseResult;
24
+ /**
25
+ * Check if content appears to be valid XML (quick check)
26
+ * This does NOT fully validate, just checks for obvious non-XML
27
+ */
28
+ export declare function looksLikeXml(content: string): boolean;
29
+ /**
30
+ * Extract XML declaration info
31
+ */
32
+ export interface XmlDeclaration {
33
+ version?: string;
34
+ encoding?: string;
35
+ standalone?: string;
36
+ }
37
+ export declare function getXmlDeclaration(content: string): XmlDeclaration | null;
38
+ //# sourceMappingURL=XmlParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XmlParser.d.ts","sourceRoot":"","sources":["../../../src/core/XmlParser.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,MAAM,WAAW,WAAW;IACxB,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,QAAQ,CAAC;IACpB,sCAAsC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAWD;;;;;;GAMG;AACH,wBAAgB,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,WAAW,CAmDxE;AAqCD;;;GAGG;AACH,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAcrD;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,cAAc,GAAG,IAAI,CAyBxE"}
@@ -0,0 +1,131 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.parseXml = parseXml;
4
+ exports.looksLikeXml = looksLikeXml;
5
+ exports.getXmlDeclaration = getXmlDeclaration;
6
+ const xmldom_1 = require("@xmldom/xmldom");
7
+ /**
8
+ * Parse XML content into a DOM Document
9
+ *
10
+ * @param content - XML content as string
11
+ * @param filePath - File path for error messages (optional)
12
+ * @returns ParseResult with document or error information
13
+ */
14
+ function parseXml(content, filePath) {
15
+ const errors = [];
16
+ const warnings = [];
17
+ const parser = new xmldom_1.DOMParser({
18
+ errorHandler: {
19
+ warning: (msg) => {
20
+ warnings.push({ message: msg });
21
+ },
22
+ error: (msg) => {
23
+ errors.push(parseErrorLocation(msg));
24
+ },
25
+ fatalError: (msg) => {
26
+ errors.push(parseErrorLocation(msg));
27
+ },
28
+ },
29
+ });
30
+ try {
31
+ const document = parser.parseFromString(content, 'application/xml');
32
+ // Check for critical errors
33
+ if (errors.length > 0) {
34
+ const firstError = errors[0];
35
+ return {
36
+ success: false,
37
+ error: formatParseError(firstError, filePath),
38
+ errorLine: firstError.line,
39
+ errorColumn: firstError.column,
40
+ };
41
+ }
42
+ // Verify document has a root element
43
+ if (!document.documentElement) {
44
+ return {
45
+ success: false,
46
+ error: `No root element found${filePath ? ` in ${filePath}` : ''}`,
47
+ };
48
+ }
49
+ return {
50
+ success: true,
51
+ document,
52
+ };
53
+ }
54
+ catch (err) {
55
+ const message = err instanceof Error ? err.message : String(err);
56
+ return {
57
+ success: false,
58
+ error: `XML parsing failed${filePath ? ` for ${filePath}` : ''}: ${message}`,
59
+ };
60
+ }
61
+ }
62
+ /**
63
+ * Parse error location from error message
64
+ * xmldom errors often contain line/column info in the message
65
+ */
66
+ function parseErrorLocation(message) {
67
+ // Try to extract line and column from error message
68
+ // Format: "error at line X column Y: message"
69
+ const lineMatch = message.match(/line[:\s]+(\d+)/i);
70
+ const colMatch = message.match(/col(?:umn)?[:\s]+(\d+)/i);
71
+ return {
72
+ message,
73
+ line: lineMatch ? parseInt(lineMatch[1], 10) : undefined,
74
+ column: colMatch ? parseInt(colMatch[1], 10) : undefined,
75
+ };
76
+ }
77
+ /**
78
+ * Format parse error for display
79
+ */
80
+ function formatParseError(error, filePath) {
81
+ let msg = 'XML parse error';
82
+ if (filePath) {
83
+ msg += ` in ${filePath}`;
84
+ }
85
+ if (error.line) {
86
+ msg += ` at line ${error.line}`;
87
+ if (error.column) {
88
+ msg += `, column ${error.column}`;
89
+ }
90
+ }
91
+ msg += `: ${error.message}`;
92
+ return msg;
93
+ }
94
+ /**
95
+ * Check if content appears to be valid XML (quick check)
96
+ * This does NOT fully validate, just checks for obvious non-XML
97
+ */
98
+ function looksLikeXml(content) {
99
+ const trimmed = content.trim();
100
+ // Must start with <
101
+ if (!trimmed.startsWith('<')) {
102
+ return false;
103
+ }
104
+ // Check for XML declaration or root element
105
+ if (trimmed.startsWith('<?xml') || trimmed.startsWith('<!') || trimmed.match(/^<[a-zA-Z]/)) {
106
+ return true;
107
+ }
108
+ return false;
109
+ }
110
+ function getXmlDeclaration(content) {
111
+ const match = content.match(/<\?xml\s+([^?]+)\?>/);
112
+ if (!match) {
113
+ return null;
114
+ }
115
+ const declaration = {};
116
+ const attrs = match[1];
117
+ const versionMatch = attrs.match(/version\s*=\s*["']([^"']+)["']/);
118
+ if (versionMatch) {
119
+ declaration.version = versionMatch[1];
120
+ }
121
+ const encodingMatch = attrs.match(/encoding\s*=\s*["']([^"']+)["']/);
122
+ if (encodingMatch) {
123
+ declaration.encoding = encodingMatch[1];
124
+ }
125
+ const standaloneMatch = attrs.match(/standalone\s*=\s*["']([^"']+)["']/);
126
+ if (standaloneMatch) {
127
+ declaration.standalone = standaloneMatch[1];
128
+ }
129
+ return declaration;
130
+ }
131
+ //# sourceMappingURL=XmlParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"XmlParser.js","sourceRoot":"","sources":["../../../src/core/XmlParser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * YAML Parser for MuleSoft properties files
3
+ */
4
+ export declare class YamlParser {
5
+ /**
6
+ * Parse a YAML file and return its contents
7
+ */
8
+ static parseFile(filePath: string): Record<string, unknown> | null;
9
+ /**
10
+ * Parse YAML string content
11
+ */
12
+ static parse(content: string): Record<string, unknown> | null;
13
+ /**
14
+ * Check if a file is a YAML file
15
+ */
16
+ static isYamlFile(filePath: string): boolean;
17
+ /**
18
+ * Get all keys from a YAML object (flattened)
19
+ */
20
+ static getAllKeys(obj: Record<string, unknown>, prefix?: string): string[];
21
+ /**
22
+ * Check if a value appears to be an encrypted secure property
23
+ */
24
+ static isEncryptedValue(value: unknown): boolean;
25
+ /**
26
+ * Check if a key name suggests it contains sensitive data
27
+ */
28
+ static isSensitiveKey(key: string): boolean;
29
+ }
30
+ //# sourceMappingURL=YamlParser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YamlParser.d.ts","sourceRoot":"","sources":["../../../src/core/YamlParser.ts"],"names":[],"mappings":"AAIA;;GAEG;AACH,qBAAa,UAAU;IACnB;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IASlE;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAQ7D;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAK5C;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,SAAK,GAAG,MAAM,EAAE;IAiBtE;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAMhD;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;CAe9C"}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.YamlParser = void 0;
37
+ const yaml = __importStar(require("js-yaml"));
38
+ const fs = __importStar(require("fs"));
39
+ const path = __importStar(require("path"));
40
+ /**
41
+ * YAML Parser for MuleSoft properties files
42
+ */
43
+ class YamlParser {
44
+ /**
45
+ * Parse a YAML file and return its contents
46
+ */
47
+ static parseFile(filePath) {
48
+ try {
49
+ const content = fs.readFileSync(filePath, 'utf8');
50
+ return yaml.load(content);
51
+ }
52
+ catch {
53
+ return null;
54
+ }
55
+ }
56
+ /**
57
+ * Parse YAML string content
58
+ */
59
+ static parse(content) {
60
+ try {
61
+ return yaml.load(content);
62
+ }
63
+ catch {
64
+ return null;
65
+ }
66
+ }
67
+ /**
68
+ * Check if a file is a YAML file
69
+ */
70
+ static isYamlFile(filePath) {
71
+ const ext = path.extname(filePath).toLowerCase();
72
+ return ext === '.yaml' || ext === '.yml';
73
+ }
74
+ /**
75
+ * Get all keys from a YAML object (flattened)
76
+ */
77
+ static getAllKeys(obj, prefix = '') {
78
+ const keys = [];
79
+ for (const key of Object.keys(obj)) {
80
+ const fullKey = prefix ? `${prefix}.${key}` : key;
81
+ const value = obj[key];
82
+ if (typeof value === 'object' && value !== null && !Array.isArray(value)) {
83
+ keys.push(...this.getAllKeys(value, fullKey));
84
+ }
85
+ else {
86
+ keys.push(fullKey);
87
+ }
88
+ }
89
+ return keys;
90
+ }
91
+ /**
92
+ * Check if a value appears to be an encrypted secure property
93
+ */
94
+ static isEncryptedValue(value) {
95
+ if (typeof value !== 'string')
96
+ return false;
97
+ // MuleSoft encrypted values use ![...] format
98
+ return /^!\[.*\]$/.test(value);
99
+ }
100
+ /**
101
+ * Check if a key name suggests it contains sensitive data
102
+ */
103
+ static isSensitiveKey(key) {
104
+ const sensitivePatterns = [
105
+ 'password',
106
+ 'secret',
107
+ 'apikey',
108
+ 'api-key',
109
+ 'api_key',
110
+ 'token',
111
+ 'credential',
112
+ 'private',
113
+ 'auth',
114
+ ];
115
+ const lowerKey = key.toLowerCase();
116
+ return sensitivePatterns.some(pattern => lowerKey.includes(pattern));
117
+ }
118
+ }
119
+ exports.YamlParser = YamlParser;
120
+ //# sourceMappingURL=YamlParser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"YamlParser.js","sourceRoot":"","sources":["../../../src/core/YamlParser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,8CAAgC;AAChC,uCAAyB;AACzB,2CAA6B;AAE7B;;GAEG;AACH,MAAa,UAAU;IACnB;;OAEG;IACH,MAAM,CAAC,SAAS,CAAC,QAAgB;QAC7B,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YAClD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA4B,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,OAAe;QACxB,IAAI,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,OAAO,CAA4B,CAAC;QACzD,CAAC;QAAC,MAAM,CAAC;YACL,OAAO,IAAI,CAAC;QAChB,CAAC;IACL,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,QAAgB;QAC9B,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;QACjD,OAAO,GAAG,KAAK,OAAO,IAAI,GAAG,KAAK,MAAM,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,UAAU,CAAC,GAA4B,EAAE,MAAM,GAAG,EAAE;QACvD,MAAM,IAAI,GAAa,EAAE,CAAC;QAE1B,KAAK,MAAM,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,MAAM,OAAO,GAAG,MAAM,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC;YAClD,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;YAEvB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;gBACvE,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,UAAU,CAAC,KAAgC,EAAE,OAAO,CAAC,CAAC,CAAC;YAC7E,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACvB,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,KAAc;QAClC,IAAI,OAAO,KAAK,KAAK,QAAQ;YAAE,OAAO,KAAK,CAAC;QAC5C,8CAA8C;QAC9C,OAAO,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,GAAW;QAC7B,MAAM,iBAAiB,GAAG;YACtB,UAAU;YACV,QAAQ;YACR,QAAQ;YACR,SAAS;YACT,SAAS;YACT,OAAO;YACP,YAAY;YACZ,SAAS;YACT,MAAM;SACT,CAAC;QACF,MAAM,QAAQ,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QACnC,OAAO,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IACzE,CAAC;CACJ;AA/ED,gCA+EC"}
@@ -0,0 +1,4 @@
1
+ export * from './XPathHelper';
2
+ export * from './XmlParser';
3
+ export * from './FileScanner';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":"AACA,cAAc,eAAe,CAAC;AAC9B,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ // Core utilities
18
+ __exportStar(require("./XPathHelper"), exports);
19
+ __exportStar(require("./XmlParser"), exports);
20
+ __exportStar(require("./FileScanner"), exports);
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iBAAiB;AACjB,gDAA8B;AAC9B,8CAA4B;AAC5B,gDAA8B"}
@@ -0,0 +1,60 @@
1
+ import { Rule, Issue } from '../types';
2
+ import { LintConfig } from '../types/Config';
3
+ import { LintReport } from '../types/Report';
4
+ /**
5
+ * Engine options
6
+ */
7
+ export interface EngineOptions {
8
+ /** Rules to use for linting */
9
+ rules: Rule[];
10
+ /** Configuration (optional, uses defaults) */
11
+ config?: Partial<LintConfig>;
12
+ /** Verbose logging */
13
+ verbose?: boolean;
14
+ }
15
+ /**
16
+ * Main lint engine that orchestrates file scanning, parsing, and rule execution
17
+ */
18
+ export declare class LintEngine {
19
+ private rules;
20
+ private config;
21
+ private verbose;
22
+ constructor(options: EngineOptions);
23
+ /**
24
+ * Scan a directory or file and return lint report
25
+ */
26
+ scan(targetPath: string): Promise<LintReport>;
27
+ /**
28
+ * Find project root by looking for marker files
29
+ */
30
+ private findProjectRoot;
31
+ /**
32
+ * Scan XML content directly (useful for VS Code extension)
33
+ */
34
+ scanContent(content: string, filePath: string): Issue[];
35
+ /**
36
+ * Get all enabled rules based on configuration
37
+ */
38
+ getEnabledRules(): Rule[];
39
+ /**
40
+ * Process a single file
41
+ */
42
+ private processFile;
43
+ /**
44
+ * Run all enabled rules against a document
45
+ */
46
+ private runRules;
47
+ /**
48
+ * Get configuration for a specific rule
49
+ */
50
+ private getRuleConfig;
51
+ /**
52
+ * Build summary statistics from file results
53
+ */
54
+ private buildSummary;
55
+ /**
56
+ * Log message if verbose mode is enabled
57
+ */
58
+ private log;
59
+ }
60
+ //# sourceMappingURL=LintEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LintEngine.d.ts","sourceRoot":"","sources":["../../../src/engine/LintEngine.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,IAAI,EAAE,KAAK,EAA2C,MAAM,UAAU,CAAC;AAChF,OAAO,EAAE,UAAU,EAAkB,MAAM,iBAAiB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAA2B,MAAM,iBAAiB,CAAC;AAItE;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B,+BAA+B;IAC/B,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,8CAA8C;IAC9C,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC7B,sBAAsB;IACtB,OAAO,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,UAAU;IACnB,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,OAAO,CAAU;gBAEb,OAAO,EAAE,aAAa;IAMlC;;OAEG;IACU,IAAI,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,CAAC;IAsD1D;;OAEG;IACH,OAAO,CAAC,eAAe;IAcvB;;OAEG;IACI,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,KAAK,EAAE;IAiB9D;;OAEG;IACI,eAAe,IAAI,IAAI,EAAE;IAOhC;;OAEG;IACH,OAAO,CAAC,WAAW;IAqCnB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAuChB;;OAEG;IACH,OAAO,CAAC,aAAa;IAerB;;OAEG;IACH,OAAO,CAAC,YAAY;IAgCpB;;OAEG;IACH,OAAO,CAAC,GAAG;CAKd"}