@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.
- package/README.md +413 -0
- package/dist/bin/mule-lint.d.ts +3 -0
- package/dist/bin/mule-lint.d.ts.map +1 -0
- package/dist/bin/mule-lint.js +123 -0
- package/dist/bin/mule-lint.js.map +1 -0
- package/dist/src/core/ComplexityCalculator.d.ts +42 -0
- package/dist/src/core/ComplexityCalculator.d.ts.map +1 -0
- package/dist/src/core/ComplexityCalculator.js +123 -0
- package/dist/src/core/ComplexityCalculator.js.map +1 -0
- package/dist/src/core/FileScanner.d.ts +58 -0
- package/dist/src/core/FileScanner.d.ts.map +1 -0
- package/dist/src/core/FileScanner.js +161 -0
- package/dist/src/core/FileScanner.js.map +1 -0
- package/dist/src/core/XPathHelper.d.ts +81 -0
- package/dist/src/core/XPathHelper.d.ts.map +1 -0
- package/dist/src/core/XPathHelper.js +229 -0
- package/dist/src/core/XPathHelper.js.map +1 -0
- package/dist/src/core/XmlParser.d.ts +38 -0
- package/dist/src/core/XmlParser.d.ts.map +1 -0
- package/dist/src/core/XmlParser.js +131 -0
- package/dist/src/core/XmlParser.js.map +1 -0
- package/dist/src/core/YamlParser.d.ts +30 -0
- package/dist/src/core/YamlParser.d.ts.map +1 -0
- package/dist/src/core/YamlParser.js +120 -0
- package/dist/src/core/YamlParser.js.map +1 -0
- package/dist/src/core/index.d.ts +4 -0
- package/dist/src/core/index.d.ts.map +1 -0
- package/dist/src/core/index.js +21 -0
- package/dist/src/core/index.js.map +1 -0
- package/dist/src/engine/LintEngine.d.ts +60 -0
- package/dist/src/engine/LintEngine.d.ts.map +1 -0
- package/dist/src/engine/LintEngine.js +271 -0
- package/dist/src/engine/LintEngine.js.map +1 -0
- package/dist/src/engine/index.d.ts +2 -0
- package/dist/src/engine/index.d.ts.map +1 -0
- package/dist/src/engine/index.js +18 -0
- package/dist/src/engine/index.js.map +1 -0
- package/dist/src/formatters/JsonFormatter.d.ts +18 -0
- package/dist/src/formatters/JsonFormatter.d.ts.map +1 -0
- package/dist/src/formatters/JsonFormatter.js +45 -0
- package/dist/src/formatters/JsonFormatter.js.map +1 -0
- package/dist/src/formatters/SarifFormatter.d.ts +8 -0
- package/dist/src/formatters/SarifFormatter.d.ts.map +1 -0
- package/dist/src/formatters/SarifFormatter.js +115 -0
- package/dist/src/formatters/SarifFormatter.js.map +1 -0
- package/dist/src/formatters/TableFormatter.d.ts +10 -0
- package/dist/src/formatters/TableFormatter.d.ts.map +1 -0
- package/dist/src/formatters/TableFormatter.js +100 -0
- package/dist/src/formatters/TableFormatter.js.map +1 -0
- package/dist/src/formatters/index.d.ts +10 -0
- package/dist/src/formatters/index.d.ts.map +1 -0
- package/dist/src/formatters/index.js +42 -0
- package/dist/src/formatters/index.js.map +1 -0
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +28 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/rules/api-led/ApiLedRules.d.ts +42 -0
- package/dist/src/rules/api-led/ApiLedRules.d.ts.map +1 -0
- package/dist/src/rules/api-led/ApiLedRules.js +95 -0
- package/dist/src/rules/api-led/ApiLedRules.js.map +1 -0
- package/dist/src/rules/base/BaseRule.d.ts +89 -0
- package/dist/src/rules/base/BaseRule.d.ts.map +1 -0
- package/dist/src/rules/base/BaseRule.js +137 -0
- package/dist/src/rules/base/BaseRule.js.map +1 -0
- package/dist/src/rules/complexity/FlowComplexityRule.d.ts +18 -0
- package/dist/src/rules/complexity/FlowComplexityRule.d.ts.map +1 -0
- package/dist/src/rules/complexity/FlowComplexityRule.js +58 -0
- package/dist/src/rules/complexity/FlowComplexityRule.js.map +1 -0
- package/dist/src/rules/dataweave/DataWeaveRules.d.ts +45 -0
- package/dist/src/rules/dataweave/DataWeaveRules.d.ts.map +1 -0
- package/dist/src/rules/dataweave/DataWeaveRules.js +168 -0
- package/dist/src/rules/dataweave/DataWeaveRules.js.map +1 -0
- package/dist/src/rules/documentation/FlowDescriptionRule.d.ts +16 -0
- package/dist/src/rules/documentation/FlowDescriptionRule.d.ts.map +1 -0
- package/dist/src/rules/documentation/FlowDescriptionRule.js +33 -0
- package/dist/src/rules/documentation/FlowDescriptionRule.js.map +1 -0
- package/dist/src/rules/documentation/MissingDocNameRule.d.ts +17 -0
- package/dist/src/rules/documentation/MissingDocNameRule.d.ts.map +1 -0
- package/dist/src/rules/documentation/MissingDocNameRule.js +44 -0
- package/dist/src/rules/documentation/MissingDocNameRule.js.map +1 -0
- package/dist/src/rules/error-handling/CorrelationIdRule.d.ts +26 -0
- package/dist/src/rules/error-handling/CorrelationIdRule.d.ts.map +1 -0
- package/dist/src/rules/error-handling/CorrelationIdRule.js +86 -0
- package/dist/src/rules/error-handling/CorrelationIdRule.js.map +1 -0
- package/dist/src/rules/error-handling/GenericErrorRule.d.ts +22 -0
- package/dist/src/rules/error-handling/GenericErrorRule.d.ts.map +1 -0
- package/dist/src/rules/error-handling/GenericErrorRule.js +51 -0
- package/dist/src/rules/error-handling/GenericErrorRule.js.map +1 -0
- package/dist/src/rules/error-handling/GlobalErrorHandlerRule.d.ts +17 -0
- package/dist/src/rules/error-handling/GlobalErrorHandlerRule.d.ts.map +1 -0
- package/dist/src/rules/error-handling/GlobalErrorHandlerRule.js +77 -0
- package/dist/src/rules/error-handling/GlobalErrorHandlerRule.js.map +1 -0
- package/dist/src/rules/error-handling/HttpStatusRule.d.ts +21 -0
- package/dist/src/rules/error-handling/HttpStatusRule.d.ts.map +1 -0
- package/dist/src/rules/error-handling/HttpStatusRule.js +57 -0
- package/dist/src/rules/error-handling/HttpStatusRule.js.map +1 -0
- package/dist/src/rules/error-handling/MissingErrorHandlerRule.d.ts +17 -0
- package/dist/src/rules/error-handling/MissingErrorHandlerRule.d.ts.map +1 -0
- package/dist/src/rules/error-handling/MissingErrorHandlerRule.js +51 -0
- package/dist/src/rules/error-handling/MissingErrorHandlerRule.js.map +1 -0
- package/dist/src/rules/experimental/ExperimentalRules.d.ts +43 -0
- package/dist/src/rules/experimental/ExperimentalRules.d.ts.map +1 -0
- package/dist/src/rules/experimental/ExperimentalRules.js +92 -0
- package/dist/src/rules/experimental/ExperimentalRules.js.map +1 -0
- package/dist/src/rules/http/HttpContentTypeRule.d.ts +17 -0
- package/dist/src/rules/http/HttpContentTypeRule.d.ts.map +1 -0
- package/dist/src/rules/http/HttpContentTypeRule.js +50 -0
- package/dist/src/rules/http/HttpContentTypeRule.js.map +1 -0
- package/dist/src/rules/http/HttpTimeoutRule.d.ts +16 -0
- package/dist/src/rules/http/HttpTimeoutRule.d.ts.map +1 -0
- package/dist/src/rules/http/HttpTimeoutRule.js +33 -0
- package/dist/src/rules/http/HttpTimeoutRule.js.map +1 -0
- package/dist/src/rules/http/HttpUserAgentRule.d.ts +17 -0
- package/dist/src/rules/http/HttpUserAgentRule.d.ts.map +1 -0
- package/dist/src/rules/http/HttpUserAgentRule.js +48 -0
- package/dist/src/rules/http/HttpUserAgentRule.js.map +1 -0
- package/dist/src/rules/index.d.ts +45 -0
- package/dist/src/rules/index.d.ts.map +1 -0
- package/dist/src/rules/index.js +205 -0
- package/dist/src/rules/index.js.map +1 -0
- package/dist/src/rules/logging/LoggerCategoryRule.d.ts +21 -0
- package/dist/src/rules/logging/LoggerCategoryRule.d.ts.map +1 -0
- package/dist/src/rules/logging/LoggerCategoryRule.js +61 -0
- package/dist/src/rules/logging/LoggerCategoryRule.js.map +1 -0
- package/dist/src/rules/logging/LoggerInUntilSuccessfulRule.d.ts +16 -0
- package/dist/src/rules/logging/LoggerInUntilSuccessfulRule.d.ts.map +1 -0
- package/dist/src/rules/logging/LoggerInUntilSuccessfulRule.js +29 -0
- package/dist/src/rules/logging/LoggerInUntilSuccessfulRule.js.map +1 -0
- package/dist/src/rules/logging/LoggerPayloadRule.d.ts +17 -0
- package/dist/src/rules/logging/LoggerPayloadRule.d.ts.map +1 -0
- package/dist/src/rules/logging/LoggerPayloadRule.js +39 -0
- package/dist/src/rules/logging/LoggerPayloadRule.js.map +1 -0
- package/dist/src/rules/naming/FlowCasingRule.d.ts +18 -0
- package/dist/src/rules/naming/FlowCasingRule.d.ts.map +1 -0
- package/dist/src/rules/naming/FlowCasingRule.js +40 -0
- package/dist/src/rules/naming/FlowCasingRule.js.map +1 -0
- package/dist/src/rules/naming/FlowNamingRule.d.ts +17 -0
- package/dist/src/rules/naming/FlowNamingRule.d.ts.map +1 -0
- package/dist/src/rules/naming/FlowNamingRule.js +60 -0
- package/dist/src/rules/naming/FlowNamingRule.js.map +1 -0
- package/dist/src/rules/naming/VariableNamingRule.d.ts +18 -0
- package/dist/src/rules/naming/VariableNamingRule.d.ts.map +1 -0
- package/dist/src/rules/naming/VariableNamingRule.js +39 -0
- package/dist/src/rules/naming/VariableNamingRule.js.map +1 -0
- package/dist/src/rules/performance/AsyncErrorHandlerRule.d.ts +16 -0
- package/dist/src/rules/performance/AsyncErrorHandlerRule.d.ts.map +1 -0
- package/dist/src/rules/performance/AsyncErrorHandlerRule.js +34 -0
- package/dist/src/rules/performance/AsyncErrorHandlerRule.js.map +1 -0
- package/dist/src/rules/performance/LargeChoiceBlockRule.d.ts +16 -0
- package/dist/src/rules/performance/LargeChoiceBlockRule.d.ts.map +1 -0
- package/dist/src/rules/performance/LargeChoiceBlockRule.js +32 -0
- package/dist/src/rules/performance/LargeChoiceBlockRule.js.map +1 -0
- package/dist/src/rules/performance/ScatterGatherRoutesRule.d.ts +16 -0
- package/dist/src/rules/performance/ScatterGatherRoutesRule.d.ts.map +1 -0
- package/dist/src/rules/performance/ScatterGatherRoutesRule.js +32 -0
- package/dist/src/rules/performance/ScatterGatherRoutesRule.js.map +1 -0
- package/dist/src/rules/security/HardcodedCredentialsRule.d.ts +19 -0
- package/dist/src/rules/security/HardcodedCredentialsRule.d.ts.map +1 -0
- package/dist/src/rules/security/HardcodedCredentialsRule.js +66 -0
- package/dist/src/rules/security/HardcodedCredentialsRule.js.map +1 -0
- package/dist/src/rules/security/HardcodedHttpRule.d.ts +33 -0
- package/dist/src/rules/security/HardcodedHttpRule.d.ts.map +1 -0
- package/dist/src/rules/security/HardcodedHttpRule.js +108 -0
- package/dist/src/rules/security/HardcodedHttpRule.js.map +1 -0
- package/dist/src/rules/security/InsecureTlsRule.d.ts +16 -0
- package/dist/src/rules/security/InsecureTlsRule.d.ts.map +1 -0
- package/dist/src/rules/security/InsecureTlsRule.js +36 -0
- package/dist/src/rules/security/InsecureTlsRule.js.map +1 -0
- package/dist/src/rules/standards/ChoiceAntiPatternRule.d.ts +17 -0
- package/dist/src/rules/standards/ChoiceAntiPatternRule.d.ts.map +1 -0
- package/dist/src/rules/standards/ChoiceAntiPatternRule.js +43 -0
- package/dist/src/rules/standards/ChoiceAntiPatternRule.js.map +1 -0
- package/dist/src/rules/standards/DeprecatedComponentRule.d.ts +17 -0
- package/dist/src/rules/standards/DeprecatedComponentRule.d.ts.map +1 -0
- package/dist/src/rules/standards/DeprecatedComponentRule.js +37 -0
- package/dist/src/rules/standards/DeprecatedComponentRule.js.map +1 -0
- package/dist/src/rules/standards/DwlStandardsRule.d.ts +22 -0
- package/dist/src/rules/standards/DwlStandardsRule.d.ts.map +1 -0
- package/dist/src/rules/standards/DwlStandardsRule.js +90 -0
- package/dist/src/rules/standards/DwlStandardsRule.js.map +1 -0
- package/dist/src/rules/structure/StructureRules.d.ts +45 -0
- package/dist/src/rules/structure/StructureRules.d.ts.map +1 -0
- package/dist/src/rules/structure/StructureRules.js +163 -0
- package/dist/src/rules/structure/StructureRules.js.map +1 -0
- package/dist/src/rules/yaml/YamlRules.d.ts +46 -0
- package/dist/src/rules/yaml/YamlRules.d.ts.map +1 -0
- package/dist/src/rules/yaml/YamlRules.js +226 -0
- package/dist/src/rules/yaml/YamlRules.js.map +1 -0
- package/dist/src/types/Config.d.ts +50 -0
- package/dist/src/types/Config.d.ts.map +1 -0
- package/dist/src/types/Config.js +18 -0
- package/dist/src/types/Config.js.map +1 -0
- package/dist/src/types/Report.d.ts +47 -0
- package/dist/src/types/Report.d.ts.map +1 -0
- package/dist/src/types/Report.js +3 -0
- package/dist/src/types/Report.js.map +1 -0
- package/dist/src/types/Rule.d.ts +76 -0
- package/dist/src/types/Rule.d.ts.map +1 -0
- package/dist/src/types/Rule.js +3 -0
- package/dist/src/types/Rule.js.map +1 -0
- package/dist/src/types/index.d.ts +4 -0
- package/dist/src/types/index.d.ts.map +1 -0
- package/dist/src/types/index.js +21 -0
- package/dist/src/types/index.js.map +1 -0
- 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 @@
|
|
|
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"}
|