@security-alert/sarif-to-markdown 1.5.0 → 1.9.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.
@@ -25,6 +25,18 @@ export declare type sarifFormatterOptions = {
25
25
  * Base path
26
26
  */
27
27
  sourceRoot: string;
28
+ /**
29
+ * Details of the rules in the comment or not, this might make the comment too big for Github
30
+ */
31
+ details?: boolean;
32
+ /**
33
+ * Should the markdown include suppressed findings, defaults to true
34
+ */
35
+ suppressedResults?: boolean;
36
+ /**
37
+ * Should the markdown include rule details or tool details at all
38
+ */
39
+ simple?: boolean;
28
40
  };
29
41
  declare type sarifToMarkdownResult = {
30
42
  title?: string;
@@ -19,13 +19,26 @@ function escapeMarkdown(strings) {
19
19
  return strings.reduce(function (result, str, i) {
20
20
  var value = values[i - 1];
21
21
  if (typeof value === "string") {
22
- return result + markdown_escape_1.default(value) + str;
22
+ return result + (0, markdown_escape_1.default)(value) + str;
23
23
  }
24
24
  else {
25
25
  return result + String(value) + str;
26
26
  }
27
27
  });
28
28
  }
29
+ function createRuleInfo(run) {
30
+ var _a, _b;
31
+ return escapeMarkdown(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n## Rules information\n<!-- Rule Info -->\n<details><summary>Rules details</summary>\n", ""], ["\n## Rules information\n<!-- Rule Info -->\n<details><summary>Rules details</summary>\n", ""])), (_b = (_a = run.tool.driver) === null || _a === void 0 ? void 0 : _a.rules) === null || _b === void 0 ? void 0 : _b.map(function (rule) {
32
+ var _a, _b;
33
+ var severity = rule.properties ? (_a = rule.properties) === null || _a === void 0 ? void 0 : _a["problem.severity"] : "";
34
+ // rule description
35
+ return "\n\n - ".concat(rule.id, " [").concat(severity, "] \n\n > ").concat((_b = rule.shortDescription) === null || _b === void 0 ? void 0 : _b.text, "\n");
36
+ }));
37
+ }
38
+ function createToolInfo(run) {
39
+ var _a, _b, _c;
40
+ return "\n## Tool information\n- Name: ".concat((_a = run.tool.driver) === null || _a === void 0 ? void 0 : _a.name, "\n- Organization: ").concat((_b = run.tool.driver) === null || _b === void 0 ? void 0 : _b.organization, "\n- Version: ").concat((_c = run.tool.driver) === null || _c === void 0 ? void 0 : _c.semanticVersion, "\n");
41
+ }
29
42
  var createCodeURL = function (result, options) {
30
43
  var _a, _b;
31
44
  var githubHost = (_a = options.githubHost) !== null && _a !== void 0 ? _a : "https://github.com";
@@ -43,32 +56,95 @@ var createCodeURL = function (result, options) {
43
56
  if (!physicalLocation.region) {
44
57
  return [];
45
58
  }
46
- var lineNumber = physicalLocation.region.endLine !== undefined ? "L" + physicalLocation.region.startLine + "-" + physicalLocation.region.endLine : "L" + physicalLocation.region.startLine;
47
- return url_join_1.default(githubHost, options.owner, options.repo, "blob/" + options.branch, options.sourceRoot, physicalLocation.artifactLocation.uri + "#" + lineNumber);
59
+ var lineNumber = physicalLocation.region.endLine !== undefined
60
+ ? "L".concat(physicalLocation.region.startLine, "-").concat(physicalLocation.region.endLine)
61
+ : "L".concat(physicalLocation.region.startLine);
62
+ return (0, url_join_1.default)(githubHost, options.owner, options.repo, "blob/".concat(options.branch), options.sourceRoot, "".concat(physicalLocation.artifactLocation.uri, "#").concat(lineNumber));
48
63
  });
49
64
  };
50
- exports.sarifToMarkdown = function (options) {
65
+ function groupBy(arr, criteria) {
66
+ var newObj = arr.reduce(function (acc, currentValue) {
67
+ if (!acc[currentValue[criteria]]) {
68
+ acc[currentValue[criteria]] = [];
69
+ }
70
+ acc[currentValue[criteria]].push(currentValue);
71
+ return acc;
72
+ }, {});
73
+ return [newObj];
74
+ }
75
+ function createGroupedResultsMarkdown(groupedResults, run, options) {
76
+ var _a, _b, _c, _d;
77
+ var groupedResultsMarkdown = "";
78
+ for (var _i = 0, groupedResults_1 = groupedResults; _i < groupedResults_1.length; _i++) {
79
+ var group = groupedResults_1[_i];
80
+ var _loop_1 = function (r) {
81
+ var ruleId = group[r][0].ruleId;
82
+ var ruleMatch = run.tool.driver.rules.filter(function (r) {
83
+ return r.id == ruleId;
84
+ });
85
+ var severityLevel = (_c = (_b = (_a = ruleMatch[0].defaultConfiguration) === null || _a === void 0 ? void 0 : _a.level) === null || _b === void 0 ? void 0 : _b.toUpperCase()) !== null && _c !== void 0 ? _c : "";
86
+ var helpUri = (_d = "[[HELP LINK](" + ruleMatch[0].helpUri + ")]") !== null && _d !== void 0 ? _d : "";
87
+ groupedResultsMarkdown +=
88
+ "- **".concat("[" + severityLevel + "]** **[" + r + "]** " + helpUri, " `").concat(group[r][0] ? (0, markdown_escape_1.default)(group[r][0].message.text) : "", "`") + "\n";
89
+ for (var _e = 0, _f = group[r]; _e < _f.length; _e++) {
90
+ var result = _f[_e];
91
+ var properResult = result;
92
+ if (properResult.suppressions === undefined) {
93
+ groupedResultsMarkdown += " - " + createCodeURL(result, options) + "\n";
94
+ }
95
+ }
96
+ };
97
+ for (var r in group) {
98
+ _loop_1(r);
99
+ }
100
+ }
101
+ return groupedResultsMarkdown;
102
+ }
103
+ function createGroupedSuppressedResultsMarkdown(groupedResults, run, options) {
104
+ var _a, _b, _c, _d;
105
+ var groupedSuppressedResultsMD = "";
106
+ var suppressedCounter = 0;
107
+ for (var _i = 0, groupedResults_2 = groupedResults; _i < groupedResults_2.length; _i++) {
108
+ var group = groupedResults_2[_i];
109
+ var _loop_2 = function (r) {
110
+ var groupContainsSuppressed = group[r].filter(function (r) { return r.suppressions !== undefined; }).length > 0;
111
+ if (groupContainsSuppressed) {
112
+ var ruleId_1 = group[r][0].ruleId;
113
+ var ruleMatch = run.tool.driver.rules.filter(function (r) {
114
+ return r.id == ruleId_1;
115
+ });
116
+ var helpUri = (_a = "[[HELP LINK](" + ruleMatch[0].helpUri + ")]") !== null && _a !== void 0 ? _a : "";
117
+ var severityLevel = (_d = (_c = (_b = ruleMatch[0].defaultConfiguration) === null || _b === void 0 ? void 0 : _b.level) === null || _c === void 0 ? void 0 : _c.toUpperCase()) !== null && _d !== void 0 ? _d : "";
118
+ groupedSuppressedResultsMD +=
119
+ "- **".concat("[" + severityLevel + "]** **[" + r + "]** " + helpUri, " `").concat(group[r][0] ? (0, markdown_escape_1.default)(group[r][0].message.text) : "", "`") + "\n";
120
+ for (var _e = 0, _f = group[r]; _e < _f.length; _e++) {
121
+ var result = _f[_e];
122
+ var properResult = result;
123
+ if (properResult.suppressions !== undefined) {
124
+ suppressedCounter += 1;
125
+ groupedSuppressedResultsMD += " - " + createCodeURL(result, options) + "\n";
126
+ }
127
+ }
128
+ }
129
+ };
130
+ for (var r in group) {
131
+ _loop_2(r);
132
+ }
133
+ }
134
+ return { groupedSuppressedResultsMD: groupedSuppressedResultsMD, suppressedCounter: suppressedCounter };
135
+ }
136
+ var sarifToMarkdown = function (options) {
137
+ var suppressedResultsFlag = options.suppressedResults !== undefined ? options.suppressedResults : true;
138
+ var simpleMode = options.simple !== undefined ? options.simple : false;
51
139
  return function (sarifLog) {
52
140
  return sarifLog.runs.map(function (run) {
53
- var _a, _b, _c, _d, _e, _f, _g;
54
- var title = options.title ? "# " + options.title + "\n" : "# Report";
55
- var toolInfo = "\n## Tool information\n- Name: " + ((_a = run.tool.driver) === null || _a === void 0 ? void 0 : _a.name) + "\n- Organization: " + ((_b = run.tool.driver) === null || _b === void 0 ? void 0 : _b.organization) + "\n- Version: " + ((_c = run.tool.driver) === null || _c === void 0 ? void 0 : _c.semanticVersion) + "\n";
56
- // # tool section
57
- // Rule info
58
- // Vulnerability info
59
- // ## Results
60
- // Result(s)
61
- /**
62
- * # Rule Info
63
- */
64
- var ruleInfo = escapeMarkdown(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n## Rules information\n<!-- Rule Info -->\n<details><summary>Rules details</summary>\n\n", "\n "], ["\n## Rules information\n<!-- Rule Info -->\n<details><summary>Rules details</summary>\n\n",
65
- "\n "])), (_e = (_d = run.tool.driver) === null || _d === void 0 ? void 0 : _d.rules) === null || _e === void 0 ? void 0 : _e.map(function (rule) {
66
- var _a, _b;
67
- var severity = rule.properties ? (_a = rule.properties) === null || _a === void 0 ? void 0 : _a["problem.severity"] : "";
68
- // rule description
69
- return "- " + rule.id + " [" + severity + "]\n\n> " + ((_b = rule.shortDescription) === null || _b === void 0 ? void 0 : _b.text);
70
- }));
71
- var ruleDetails = "<details><summary>Details</summary>\n<pre>" + JSON.stringify(run.tool, null, 4) + "</pre></details>\n";
141
+ var _a, _b;
142
+ var title = options.title ? "# ".concat(options.title, "\n") : "# Report";
143
+ var toolInfo = simpleMode ? "" : createToolInfo(run);
144
+ var ruleInfo = simpleMode ? "" : createRuleInfo(run);
145
+ var ruleDetails = "<details><summary>Details</summary>\n<pre>".concat(JSON.stringify(run.tool, null, 4), "</pre></details>\n");
146
+ var groupedResults = groupBy(run.results, "ruleId");
147
+ var groupedResultsMarkdown = createGroupedResultsMarkdown(groupedResults, run, options);
72
148
  /* Results
73
149
  - rule id
74
150
  - message
@@ -76,19 +152,38 @@ exports.sarifToMarkdown = function (options) {
76
152
 
77
153
  If pass the scan, results is empty array
78
154
  */
79
- var results = run.results && run.results.length > 0 ? "\n## Results\n\n" + ((_f = run.results) === null || _f === void 0 ? void 0 : _f.map(function (result) {
80
- return "- **" + result.ruleId + "**: " + markdown_escape_1.default(result.message.text)
81
- + "\n\n"
82
- + createCodeURL(result, options).join("\n")
83
- + "\n";
84
- }).join("\n")) + "\n"
85
- : "\n## Results\n\nNo Error\n\n";
155
+ var results = run.results && run.results.length > 0
156
+ ? "\n## Results\n\n".concat(groupedResultsMarkdown, "\n")
157
+ : "\n## Results\n\nNothing here.\n\n";
158
+ var _c = createGroupedSuppressedResultsMarkdown(groupedResults, run, options), groupedSuppressedResultsMD = _c.groupedSuppressedResultsMD, suppressedCounter = _c.suppressedCounter;
159
+ // careful, double ternary... first check if we should include suppressedresults (return empty string)
160
+ // then check if there are results, if none, return default string
161
+ var suppressedResultsText = suppressedResultsFlag
162
+ ? run.results && suppressedCounter > 0
163
+ ? "\n## Suppressed results\n\n".concat(groupedSuppressedResultsMD, "\n")
164
+ : "\n## Suppressed Results\n\nNothing here.\n\n"
165
+ : "";
166
+ if (options.details) {
167
+ return {
168
+ body: title +
169
+ results +
170
+ "\n" +
171
+ suppressedResultsText +
172
+ "\n" +
173
+ ruleInfo +
174
+ "\n" +
175
+ ruleDetails +
176
+ toolInfo,
177
+ hasMessages: ((_a = run.results) === null || _a === void 0 ? void 0 : _a.length) !== 0
178
+ };
179
+ }
86
180
  return {
87
- body: title + results + "\n" + ruleInfo + "\n" + ruleDetails + toolInfo,
88
- hasMessages: ((_g = run.results) === null || _g === void 0 ? void 0 : _g.length) !== 0
181
+ body: title + results + "\n" + suppressedResultsText + "\n" + ruleInfo + "\n" + toolInfo,
182
+ hasMessages: ((_b = run.results) === null || _b === void 0 ? void 0 : _b.length) !== 0
89
183
  };
90
184
  });
91
185
  };
92
186
  };
187
+ exports.sarifToMarkdown = sarifToMarkdown;
93
188
  var templateObject_1;
94
189
  //# sourceMappingURL=sarif-to-markdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sarif-to-markdown.js","sourceRoot":"","sources":["../src/sarif-to-markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sarif-to-markdown.js","sourceRoot":"","sources":["../src/sarif-to-markdown.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,18 @@ export declare type sarifFormatterOptions = {
25
25
  * Base path
26
26
  */
27
27
  sourceRoot: string;
28
+ /**
29
+ * Details of the rules in the comment or not, this might make the comment too big for Github
30
+ */
31
+ details?: boolean;
32
+ /**
33
+ * Should the markdown include suppressed findings, defaults to true
34
+ */
35
+ suppressedResults?: boolean;
36
+ /**
37
+ * Should the markdown include rule details or tool details at all
38
+ */
39
+ simple?: boolean;
28
40
  };
29
41
  declare type sarifToMarkdownResult = {
30
42
  title?: string;
@@ -3,7 +3,7 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
3
3
  return cooked;
4
4
  };
5
5
  // @ts-ignore
6
- import escape from 'markdown-escape';
6
+ import escape from "markdown-escape";
7
7
  import urlJoin from "url-join";
8
8
  function escapeMarkdown(strings) {
9
9
  var values = [];
@@ -20,6 +20,19 @@ function escapeMarkdown(strings) {
20
20
  }
21
21
  });
22
22
  }
23
+ function createRuleInfo(run) {
24
+ var _a, _b;
25
+ return escapeMarkdown(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n## Rules information\n<!-- Rule Info -->\n<details><summary>Rules details</summary>\n", ""], ["\n## Rules information\n<!-- Rule Info -->\n<details><summary>Rules details</summary>\n", ""])), (_b = (_a = run.tool.driver) === null || _a === void 0 ? void 0 : _a.rules) === null || _b === void 0 ? void 0 : _b.map(function (rule) {
26
+ var _a, _b;
27
+ var severity = rule.properties ? (_a = rule.properties) === null || _a === void 0 ? void 0 : _a["problem.severity"] : "";
28
+ // rule description
29
+ return "\n\n - ".concat(rule.id, " [").concat(severity, "] \n\n > ").concat((_b = rule.shortDescription) === null || _b === void 0 ? void 0 : _b.text, "\n");
30
+ }));
31
+ }
32
+ function createToolInfo(run) {
33
+ var _a, _b, _c;
34
+ return "\n## Tool information\n- Name: ".concat((_a = run.tool.driver) === null || _a === void 0 ? void 0 : _a.name, "\n- Organization: ").concat((_b = run.tool.driver) === null || _b === void 0 ? void 0 : _b.organization, "\n- Version: ").concat((_c = run.tool.driver) === null || _c === void 0 ? void 0 : _c.semanticVersion, "\n");
35
+ }
23
36
  var createCodeURL = function (result, options) {
24
37
  var _a, _b;
25
38
  var githubHost = (_a = options.githubHost) !== null && _a !== void 0 ? _a : "https://github.com";
@@ -37,32 +50,95 @@ var createCodeURL = function (result, options) {
37
50
  if (!physicalLocation.region) {
38
51
  return [];
39
52
  }
40
- var lineNumber = physicalLocation.region.endLine !== undefined ? "L" + physicalLocation.region.startLine + "-" + physicalLocation.region.endLine : "L" + physicalLocation.region.startLine;
41
- return urlJoin(githubHost, options.owner, options.repo, "blob/" + options.branch, options.sourceRoot, physicalLocation.artifactLocation.uri + "#" + lineNumber);
53
+ var lineNumber = physicalLocation.region.endLine !== undefined
54
+ ? "L".concat(physicalLocation.region.startLine, "-").concat(physicalLocation.region.endLine)
55
+ : "L".concat(physicalLocation.region.startLine);
56
+ return urlJoin(githubHost, options.owner, options.repo, "blob/".concat(options.branch), options.sourceRoot, "".concat(physicalLocation.artifactLocation.uri, "#").concat(lineNumber));
42
57
  });
43
58
  };
59
+ function groupBy(arr, criteria) {
60
+ var newObj = arr.reduce(function (acc, currentValue) {
61
+ if (!acc[currentValue[criteria]]) {
62
+ acc[currentValue[criteria]] = [];
63
+ }
64
+ acc[currentValue[criteria]].push(currentValue);
65
+ return acc;
66
+ }, {});
67
+ return [newObj];
68
+ }
69
+ function createGroupedResultsMarkdown(groupedResults, run, options) {
70
+ var _a, _b, _c, _d;
71
+ var groupedResultsMarkdown = "";
72
+ for (var _i = 0, groupedResults_1 = groupedResults; _i < groupedResults_1.length; _i++) {
73
+ var group = groupedResults_1[_i];
74
+ var _loop_1 = function (r) {
75
+ var ruleId = group[r][0].ruleId;
76
+ var ruleMatch = run.tool.driver.rules.filter(function (r) {
77
+ return r.id == ruleId;
78
+ });
79
+ var severityLevel = (_c = (_b = (_a = ruleMatch[0].defaultConfiguration) === null || _a === void 0 ? void 0 : _a.level) === null || _b === void 0 ? void 0 : _b.toUpperCase()) !== null && _c !== void 0 ? _c : "";
80
+ var helpUri = (_d = "[[HELP LINK](" + ruleMatch[0].helpUri + ")]") !== null && _d !== void 0 ? _d : "";
81
+ groupedResultsMarkdown +=
82
+ "- **".concat("[" + severityLevel + "]** **[" + r + "]** " + helpUri, " `").concat(group[r][0] ? escape(group[r][0].message.text) : "", "`") + "\n";
83
+ for (var _e = 0, _f = group[r]; _e < _f.length; _e++) {
84
+ var result = _f[_e];
85
+ var properResult = result;
86
+ if (properResult.suppressions === undefined) {
87
+ groupedResultsMarkdown += " - " + createCodeURL(result, options) + "\n";
88
+ }
89
+ }
90
+ };
91
+ for (var r in group) {
92
+ _loop_1(r);
93
+ }
94
+ }
95
+ return groupedResultsMarkdown;
96
+ }
97
+ function createGroupedSuppressedResultsMarkdown(groupedResults, run, options) {
98
+ var _a, _b, _c, _d;
99
+ var groupedSuppressedResultsMD = "";
100
+ var suppressedCounter = 0;
101
+ for (var _i = 0, groupedResults_2 = groupedResults; _i < groupedResults_2.length; _i++) {
102
+ var group = groupedResults_2[_i];
103
+ var _loop_2 = function (r) {
104
+ var groupContainsSuppressed = group[r].filter(function (r) { return r.suppressions !== undefined; }).length > 0;
105
+ if (groupContainsSuppressed) {
106
+ var ruleId_1 = group[r][0].ruleId;
107
+ var ruleMatch = run.tool.driver.rules.filter(function (r) {
108
+ return r.id == ruleId_1;
109
+ });
110
+ var helpUri = (_a = "[[HELP LINK](" + ruleMatch[0].helpUri + ")]") !== null && _a !== void 0 ? _a : "";
111
+ var severityLevel = (_d = (_c = (_b = ruleMatch[0].defaultConfiguration) === null || _b === void 0 ? void 0 : _b.level) === null || _c === void 0 ? void 0 : _c.toUpperCase()) !== null && _d !== void 0 ? _d : "";
112
+ groupedSuppressedResultsMD +=
113
+ "- **".concat("[" + severityLevel + "]** **[" + r + "]** " + helpUri, " `").concat(group[r][0] ? escape(group[r][0].message.text) : "", "`") + "\n";
114
+ for (var _e = 0, _f = group[r]; _e < _f.length; _e++) {
115
+ var result = _f[_e];
116
+ var properResult = result;
117
+ if (properResult.suppressions !== undefined) {
118
+ suppressedCounter += 1;
119
+ groupedSuppressedResultsMD += " - " + createCodeURL(result, options) + "\n";
120
+ }
121
+ }
122
+ }
123
+ };
124
+ for (var r in group) {
125
+ _loop_2(r);
126
+ }
127
+ }
128
+ return { groupedSuppressedResultsMD: groupedSuppressedResultsMD, suppressedCounter: suppressedCounter };
129
+ }
44
130
  export var sarifToMarkdown = function (options) {
131
+ var suppressedResultsFlag = options.suppressedResults !== undefined ? options.suppressedResults : true;
132
+ var simpleMode = options.simple !== undefined ? options.simple : false;
45
133
  return function (sarifLog) {
46
134
  return sarifLog.runs.map(function (run) {
47
- var _a, _b, _c, _d, _e, _f, _g;
48
- var title = options.title ? "# " + options.title + "\n" : "# Report";
49
- var toolInfo = "\n## Tool information\n- Name: " + ((_a = run.tool.driver) === null || _a === void 0 ? void 0 : _a.name) + "\n- Organization: " + ((_b = run.tool.driver) === null || _b === void 0 ? void 0 : _b.organization) + "\n- Version: " + ((_c = run.tool.driver) === null || _c === void 0 ? void 0 : _c.semanticVersion) + "\n";
50
- // # tool section
51
- // Rule info
52
- // Vulnerability info
53
- // ## Results
54
- // Result(s)
55
- /**
56
- * # Rule Info
57
- */
58
- var ruleInfo = escapeMarkdown(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n## Rules information\n<!-- Rule Info -->\n<details><summary>Rules details</summary>\n\n", "\n "], ["\n## Rules information\n<!-- Rule Info -->\n<details><summary>Rules details</summary>\n\n",
59
- "\n "])), (_e = (_d = run.tool.driver) === null || _d === void 0 ? void 0 : _d.rules) === null || _e === void 0 ? void 0 : _e.map(function (rule) {
60
- var _a, _b;
61
- var severity = rule.properties ? (_a = rule.properties) === null || _a === void 0 ? void 0 : _a["problem.severity"] : "";
62
- // rule description
63
- return "- " + rule.id + " [" + severity + "]\n\n> " + ((_b = rule.shortDescription) === null || _b === void 0 ? void 0 : _b.text);
64
- }));
65
- var ruleDetails = "<details><summary>Details</summary>\n<pre>" + JSON.stringify(run.tool, null, 4) + "</pre></details>\n";
135
+ var _a, _b;
136
+ var title = options.title ? "# ".concat(options.title, "\n") : "# Report";
137
+ var toolInfo = simpleMode ? "" : createToolInfo(run);
138
+ var ruleInfo = simpleMode ? "" : createRuleInfo(run);
139
+ var ruleDetails = "<details><summary>Details</summary>\n<pre>".concat(JSON.stringify(run.tool, null, 4), "</pre></details>\n");
140
+ var groupedResults = groupBy(run.results, "ruleId");
141
+ var groupedResultsMarkdown = createGroupedResultsMarkdown(groupedResults, run, options);
66
142
  /* Results
67
143
  - rule id
68
144
  - message
@@ -70,16 +146,34 @@ export var sarifToMarkdown = function (options) {
70
146
 
71
147
  If pass the scan, results is empty array
72
148
  */
73
- var results = run.results && run.results.length > 0 ? "\n## Results\n\n" + ((_f = run.results) === null || _f === void 0 ? void 0 : _f.map(function (result) {
74
- return "- **" + result.ruleId + "**: " + escape(result.message.text)
75
- + "\n\n"
76
- + createCodeURL(result, options).join("\n")
77
- + "\n";
78
- }).join("\n")) + "\n"
79
- : "\n## Results\n\nNo Error\n\n";
149
+ var results = run.results && run.results.length > 0
150
+ ? "\n## Results\n\n".concat(groupedResultsMarkdown, "\n")
151
+ : "\n## Results\n\nNothing here.\n\n";
152
+ var _c = createGroupedSuppressedResultsMarkdown(groupedResults, run, options), groupedSuppressedResultsMD = _c.groupedSuppressedResultsMD, suppressedCounter = _c.suppressedCounter;
153
+ // careful, double ternary... first check if we should include suppressedresults (return empty string)
154
+ // then check if there are results, if none, return default string
155
+ var suppressedResultsText = suppressedResultsFlag
156
+ ? run.results && suppressedCounter > 0
157
+ ? "\n## Suppressed results\n\n".concat(groupedSuppressedResultsMD, "\n")
158
+ : "\n## Suppressed Results\n\nNothing here.\n\n"
159
+ : "";
160
+ if (options.details) {
161
+ return {
162
+ body: title +
163
+ results +
164
+ "\n" +
165
+ suppressedResultsText +
166
+ "\n" +
167
+ ruleInfo +
168
+ "\n" +
169
+ ruleDetails +
170
+ toolInfo,
171
+ hasMessages: ((_a = run.results) === null || _a === void 0 ? void 0 : _a.length) !== 0
172
+ };
173
+ }
80
174
  return {
81
- body: title + results + "\n" + ruleInfo + "\n" + ruleDetails + toolInfo,
82
- hasMessages: ((_g = run.results) === null || _g === void 0 ? void 0 : _g.length) !== 0
175
+ body: title + results + "\n" + suppressedResultsText + "\n" + ruleInfo + "\n" + toolInfo,
176
+ hasMessages: ((_b = run.results) === null || _b === void 0 ? void 0 : _b.length) !== 0
83
177
  };
84
178
  });
85
179
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sarif-to-markdown.js","sourceRoot":"","sources":["../src/sarif-to-markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sarif-to-markdown.js","sourceRoot":"","sources":["../src/sarif-to-markdown.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@security-alert/sarif-to-markdown",
3
- "version": "1.5.0",
3
+ "version": "1.9.0",
4
4
  "description": "Convert Sarif format to body text",
5
5
  "keywords": [
6
6
  "sarif",
@@ -33,18 +33,11 @@
33
33
  "scripts": {
34
34
  "build": "tsc -p . && tsc --project ./tsconfig.module.json",
35
35
  "clean": "rimraf lib/ module/",
36
- "prettier": "prettier --write \"**/*.{js,jsx,ts,tsx,css}\"",
37
36
  "prepublish": "npm run --if-present build",
38
37
  "test": "mocha \"test/**/*.ts\"",
39
38
  "updateSnapshot": "UPDATE_SNAPSHOT=1 npm test",
40
39
  "watch": "tsc -p . --watch"
41
40
  },
42
- "prettier": {
43
- "printWidth": 120,
44
- "singleQuote": false,
45
- "tabWidth": 4,
46
- "trailingComma": "none"
47
- },
48
41
  "dependencies": {
49
42
  "@types/sarif": "^2.1.2",
50
43
  "markdown-escape": "^1.1.0",
@@ -54,15 +47,14 @@
54
47
  "@types/mocha": "^8.0.1",
55
48
  "@types/node": "^14.0.27",
56
49
  "@types/url-join": "^4.0.0",
57
- "mocha": "^8.1.0",
58
- "prettier": "^2.0.5",
50
+ "mocha": "^9.2.2",
59
51
  "rimraf": "^3.0.2",
60
- "ts-node": "^8.10.2",
61
- "ts-node-test-register": "^8.0.1",
62
- "typescript": "^3.9.7"
52
+ "ts-node": "^10.7.0",
53
+ "ts-node-test-register": "^10.0.0",
54
+ "typescript": "^4.6.3"
63
55
  },
64
56
  "publishConfig": {
65
57
  "access": "public"
66
58
  },
67
- "gitHead": "0d5db77172579ca1726adc001e941f4bd294dbac"
59
+ "gitHead": "75c8d82f52cfca7f39c75e2805b83c83ddaa61c5"
68
60
  }
@@ -1,24 +0,0 @@
1
- import type { Log } from "sarif";
2
- export declare type sarifFormatterResult = {
3
- title: string;
4
- body: string;
5
- };
6
- export declare type sarifFormatterOptions = {
7
- githubHost?: string;
8
- /**
9
- * GitHub Owner
10
- */
11
- owner: string;
12
- /**
13
- * GitHub Repo
14
- */
15
- repo: string;
16
- /**
17
- * Base path
18
- */
19
- sourceRoot: string;
20
- };
21
- export declare const sarifFormatter: (options: sarifFormatterOptions) => (sarifLog: Log) => {
22
- title: string;
23
- body: string;
24
- }[];
@@ -1,56 +0,0 @@
1
- "use strict";
2
- var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
3
- if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
4
- return cooked;
5
- };
6
- var __importDefault = (this && this.__importDefault) || function (mod) {
7
- return (mod && mod.__esModule) ? mod : { "default": mod };
8
- };
9
- Object.defineProperty(exports, "__esModule", { value: true });
10
- exports.sarifFormatter = void 0;
11
- // @ts-ignore
12
- var markdown_escape_1 = __importDefault(require("markdown-escape"));
13
- function escapeMarkdown(strings) {
14
- var values = [];
15
- for (var _i = 1; _i < arguments.length; _i++) {
16
- values[_i - 1] = arguments[_i];
17
- }
18
- return strings.reduce(function (result, str, i) {
19
- var value = values[i - 1];
20
- if (typeof value === "string") {
21
- return result + markdown_escape_1.default(value) + str;
22
- }
23
- else {
24
- return result + String(value) + str;
25
- }
26
- });
27
- }
28
- var createCodeURL = function (result, options) {
29
- return options.githubHost + "/" + ;
30
- };
31
- exports.sarifFormatter = function (options) {
32
- return function (sarifLog) {
33
- return sarifLog.runs.map(function (run) {
34
- var _a, _b, _c;
35
- // # tool section
36
- // Rule info
37
- // Vulnerability info
38
- // ## Results
39
- // Result(s)
40
- var rule = escapeMarkdown(templateObject_2 || (templateObject_2 = __makeTemplateObject(["# ", "\n<!-- Rule Info -->\n", "\n \n<details><summary>Details</summary>\n<pre>", "</pre></details>\n\n<!-- Results \n\n- rule id\n- message\n- vulnerability location\n\n-->\n\n", "\n"], ["\\\n# ", "\n<!-- Rule Info -->\n",
41
- "\n \n<details><summary>Details</summary>\n<pre>", "</pre></details>\n\n<!-- Results \n\n- rule id\n- message\n- vulnerability location\n\n-->\n\n",
42
- "\n"])), run.tool.driver.name, (_b = (_a = run.tool.driver) === null || _a === void 0 ? void 0 : _a.rules) === null || _b === void 0 ? void 0 : _b.map(function (rule) {
43
- // rule description
44
- return "**" + rule.id + "**\n\n> " + rule.shortDescription;
45
- }), JSON.stringify(run.tool, null, 4), (_c = run.results) === null || _c === void 0 ? void 0 : _c.map(function (result) {
46
- return escapeMarkdown(templateObject_1 || (templateObject_1 = __makeTemplateObject(["**", "**: ", "\n\n\n"], ["**", "**: ", "\n\n\n"])), result.ruleId, result.message);
47
- }));
48
- return {
49
- title: "",
50
- body: ""
51
- };
52
- });
53
- };
54
- };
55
- var templateObject_1, templateObject_2;
56
- //# sourceMappingURL=sarif-to-markdown.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sarif-to-markdown.js","sourceRoot":"","sources":["../src/sarif-to-markdown.ts"],"names":[],"mappings":";;;;;;;;;;AACA,aAAa;AACb,oEAAoC;AAGpC,SAAS,cAAc,CAAC,OAA6B;IAAE,gBAAgB;SAAhB,UAAgB,EAAhB,qBAAgB,EAAhB,IAAgB;QAAhB,+BAAgB;;IACnE,OAAO,OAAO,CAAC,MAAM,CAAC,UAAC,MAAM,EAAE,GAAG,EAAE,CAAC;QACjC,IAAM,KAAK,GAAG,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QAC5B,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC3B,OAAO,MAAM,GAAG,yBAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;SACvC;aAAM;YACH,OAAO,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;SACvC;IACL,CAAC,CAAC,CAAC;AACP,CAAC;AAED,IAAM,aAAa,GAAG,UAAC,MAAc,EAAE,OAA8B;IACjE,OAAU,OAAO,CAAC,UAAU,SAAM,CAAA;AAEtC,CAAC,CAAA;AAsBY,QAAA,cAAc,GAAG,UAAC,OAA8B;IACzD,OAAO,UAAC,QAAa;QACjB,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,UAAA,GAAG;;YACxB,iBAAiB;YACjB,YAAY;YACZ,qBAAqB;YACrB,aAAa;YACb,YAAY;YACZ,IAAM,IAAI,GAAG,cAAc,4PAAA,QACnC,EAAoB,wBAEtB;gBAMW,iDAGN,EAAiC,gGAUtC;gBAKY,IACb,KA3BG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,cAEtB,GAAG,CAAC,IAAI,CAAC,MAAM,0CAAE,KAAK,0CAAE,GAAG,CAAC,UAAA,IAAI;gBACd,mBAAmB;gBACnB,OAAO,OAAK,IAAI,CAAC,EAAE,gBAEnC,IAAI,CAAC,gBAAkB,CAAA;YACX,CAAC,GAIV,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,QAUtC,GAAG,CAAC,OAAO,0CAAE,GAAG,CAAC,UAAA,MAAM;gBACT,OAAO,cAAc,yFAAA,IAAK,EAAa,MAAO,EAAc,QAG3E,KAHyC,MAAM,CAAC,MAAM,EAAO,MAAM,CAAC,OAAO,EAG3E;YACW,CAAC,EACZ,CAAA;YAGW,OAAO;gBACH,KAAK,EAAE,EAAE;gBACT,IAAI,EAAE,EAAE;aACX,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAA;AAEL,CAAC,CAAA"}