@security-alert/sarif-to-markdown 1.7.0 → 1.10.3

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.
@@ -33,6 +33,14 @@ export declare type sarifFormatterOptions = {
33
33
  * Should the markdown include suppressed findings, defaults to true
34
34
  */
35
35
  suppressedResults?: boolean;
36
+ /**
37
+ * Should the markdown include rule details or tool details at all
38
+ */
39
+ simple?: boolean;
40
+ /**
41
+ * Which severities should be included ?
42
+ */
43
+ severities?: readonly string[];
36
44
  };
37
45
  declare type sarifToMarkdownResult = {
38
46
  title?: string;
@@ -26,6 +26,19 @@ function escapeMarkdown(strings) {
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";
@@ -57,46 +70,97 @@ function groupBy(arr, criteria) {
57
70
  acc[currentValue[criteria]].push(currentValue);
58
71
  return acc;
59
72
  }, {});
60
- return [newObj];
73
+ return newObj;
74
+ }
75
+ function createGroupedResultsMarkdown(groupedResults, run, options) {
76
+ var _a, _b, _c, _d;
77
+ var groupedResultsMarkdown = "";
78
+ var _loop_1 = function (rule) {
79
+ var ruleMatch = run.tool.driver.rules.filter(function (r) {
80
+ return r.id == rule;
81
+ });
82
+ 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 : "";
83
+ var helpUri = ruleMatch[0].helpUri !== undefined ? (_d = "[[HELP LINK](" + ruleMatch[0].helpUri + ")]") !== null && _d !== void 0 ? _d : "" : "";
84
+ groupedResultsMarkdown +=
85
+ "- **".concat("[" + severityLevel + "]** **[" + rule + "]** " + helpUri, " `").concat(groupedResults[rule][0] ? (0, markdown_escape_1.default)(groupedResults[rule][0].message.text) : "", "`") + "\n";
86
+ for (var _i = 0, _e = groupedResults[rule]; _i < _e.length; _i++) {
87
+ var result = _e[_i];
88
+ var properResult = result;
89
+ if (properResult.suppressions === undefined) {
90
+ groupedResultsMarkdown += " - " + createCodeURL(result, options) + "\n";
91
+ }
92
+ }
93
+ };
94
+ for (var rule in groupedResults) {
95
+ _loop_1(rule);
96
+ }
97
+ return groupedResultsMarkdown;
98
+ }
99
+ function createGroupedSuppressedResultsMarkdown(groupedResults, run, options) {
100
+ var _a, _b, _c, _d;
101
+ var groupedSuppressedResultsMD = "";
102
+ var suppressedCounter = 0;
103
+ var _loop_2 = function (rule) {
104
+ var groupContainsSuppressed = groupedResults[rule].filter(function (r) { return r.suppressions !== undefined; }).length > 0;
105
+ if (groupContainsSuppressed) {
106
+ var ruleMatch = run.tool.driver.rules.filter(function (r) {
107
+ return r.id == rule;
108
+ });
109
+ var helpUri = ruleMatch[0].helpUri !== undefined ? (_a = "[[HELP LINK](" + ruleMatch[0].helpUri + ")]") !== null && _a !== void 0 ? _a : "" : "";
110
+ 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 : "";
111
+ groupedSuppressedResultsMD +=
112
+ "- **".concat("[" + severityLevel + "]** **[" + rule + "]** " + helpUri, " `").concat(groupedResults[rule][0] ? (0, markdown_escape_1.default)(groupedResults[rule][0].message.text) : "", "`") + "\n";
113
+ for (var _i = 0, _e = groupedResults[rule]; _i < _e.length; _i++) {
114
+ var result = _e[_i];
115
+ var properResult = result;
116
+ if (properResult.suppressions !== undefined) {
117
+ suppressedCounter += 1;
118
+ groupedSuppressedResultsMD += " - " + createCodeURL(result, options) + "\n";
119
+ }
120
+ }
121
+ }
122
+ };
123
+ for (var rule in groupedResults) {
124
+ _loop_2(rule);
125
+ }
126
+ return { groupedSuppressedResultsMD: groupedSuppressedResultsMD, suppressedCounter: suppressedCounter };
127
+ }
128
+ function filterGroupedResultsBySeverity(groupedResults, severities, run) {
129
+ var _a, _b;
130
+ // 1st step, go through run and find rule severities
131
+ // 2nd step, filter groupedResults and remove rulegroups that don't match the severities filter
132
+ var ruleSeverityMapping = new Map();
133
+ (_b = (_a = run.tool.driver) === null || _a === void 0 ? void 0 : _a.rules) === null || _b === void 0 ? void 0 : _b.forEach(function (rule) {
134
+ var _a, _b;
135
+ var severity = (_b = (_a = rule.defaultConfiguration) === null || _a === void 0 ? void 0 : _a.level) !== null && _b !== void 0 ? _b : "";
136
+ ruleSeverityMapping.set(rule.id, severity);
137
+ });
138
+ var filteredResults = Object.keys(groupedResults)
139
+ .filter(function (rule) {
140
+ var _a;
141
+ return severities.includes((_a = ruleSeverityMapping.get(rule)) !== null && _a !== void 0 ? _a : "unknownseverity");
142
+ })
143
+ .reduce(function (obj, key) {
144
+ obj[key] = groupedResults[key];
145
+ return obj;
146
+ }, {});
147
+ return filteredResults;
61
148
  }
62
149
  var sarifToMarkdown = function (options) {
150
+ var _a;
63
151
  var suppressedResultsFlag = options.suppressedResults !== undefined ? options.suppressedResults : true;
152
+ var simpleMode = options.simple !== undefined ? options.simple : false;
153
+ var severities = (_a = options.severities) !== null && _a !== void 0 ? _a : ["warning", "error", "note", "none"];
64
154
  return function (sarifLog) {
65
155
  return sarifLog.runs.map(function (run) {
66
- var _a, _b, _c, _d, _e, _f, _g;
67
156
  var title = options.title ? "# ".concat(options.title, "\n") : "# Report";
68
- var toolInfo = "\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");
69
- // # tool section
70
- // Rule info
71
- // Vulnerability info
72
- // ## Results
73
- // Result(s)
74
- /**
75
- * # Rule Info
76
- */
77
- 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", "\n "])), (_e = (_d = run.tool.driver) === null || _d === void 0 ? void 0 : _d.rules) === null || _e === void 0 ? void 0 : _e.map(function (rule) {
78
- var _a, _b;
79
- var severity = rule.properties ? (_a = rule.properties) === null || _a === void 0 ? void 0 : _a["problem.severity"] : "";
80
- // rule description
81
- return "\n - ".concat(rule.id, " [").concat(severity, "] \n\n > ").concat((_b = rule.shortDescription) === null || _b === void 0 ? void 0 : _b.text, "\n");
82
- }));
157
+ var toolInfo = simpleMode ? "" : createToolInfo(run);
158
+ var ruleInfo = simpleMode ? "" : createRuleInfo(run);
83
159
  var ruleDetails = "<details><summary>Details</summary>\n<pre>".concat(JSON.stringify(run.tool, null, 4), "</pre></details>\n");
84
160
  var groupedResults = groupBy(run.results, "ruleId");
85
- var groupedResultsMarkdown = "";
86
- for (var _i = 0, groupedResults_1 = groupedResults; _i < groupedResults_1.length; _i++) {
87
- var group = groupedResults_1[_i];
88
- for (var r in group) {
89
- groupedResultsMarkdown +=
90
- "- **".concat(r, "**: ").concat(group[r][0] ? (0, markdown_escape_1.default)(group[r][0].message.text) : "") + "\n";
91
- for (var _h = 0, _j = group[r]; _h < _j.length; _h++) {
92
- var result = _j[_h];
93
- var properResult = result;
94
- if (properResult.suppressions === undefined) {
95
- groupedResultsMarkdown += " - " + createCodeURL(result, options) + "\n";
96
- }
97
- }
98
- }
99
- }
161
+ var filteredResults = filterGroupedResultsBySeverity(groupedResults, severities, run);
162
+ var groupedResultsMarkdown = createGroupedResultsMarkdown(filteredResults, run, options);
163
+ var hasMessage = run.results && run.results.length > 0 && Object.keys(filteredResults).length > 0;
100
164
  /* Results
101
165
  - rule id
102
166
  - message
@@ -104,35 +168,16 @@ var sarifToMarkdown = function (options) {
104
168
 
105
169
  If pass the scan, results is empty array
106
170
  */
107
- var results = run.results && run.results.length > 0
108
- ? "\n## Results\n".concat(groupedResultsMarkdown)
109
- : "\n## Results\n\nNo Error\n\n";
110
- var groupedSuppressedResultsMD = "";
111
- var suppressedCounter = 0;
112
- for (var _k = 0, groupedResults_2 = groupedResults; _k < groupedResults_2.length; _k++) {
113
- var group = groupedResults_2[_k];
114
- for (var r in group) {
115
- var groupContainsSuppressed = group[r].filter(function (r) { return r.suppressions !== undefined; }).length > 0;
116
- if (groupContainsSuppressed) {
117
- groupedSuppressedResultsMD +=
118
- "- **".concat(r, "**: ").concat(group[r][0] ? (0, markdown_escape_1.default)(group[r][0].message.text) : "") + "\n";
119
- for (var _l = 0, _m = group[r]; _l < _m.length; _l++) {
120
- var result = _m[_l];
121
- var properResult = result;
122
- if (properResult.suppressions !== undefined) {
123
- suppressedCounter += 1;
124
- groupedSuppressedResultsMD += " - " + createCodeURL(result, options) + "\n";
125
- }
126
- }
127
- }
128
- }
129
- }
171
+ var results = hasMessage
172
+ ? "\n## Results\n\n".concat(groupedResultsMarkdown, "\n")
173
+ : "\n## Results\n\nNothing here.\n\n";
174
+ var _a = createGroupedSuppressedResultsMarkdown(filteredResults, run, options), groupedSuppressedResultsMD = _a.groupedSuppressedResultsMD, suppressedCounter = _a.suppressedCounter;
130
175
  // careful, double ternary... first check if we should include suppressedresults (return empty string)
131
176
  // then check if there are results, if none, return default string
132
177
  var suppressedResultsText = suppressedResultsFlag
133
178
  ? run.results && suppressedCounter > 0
134
179
  ? "\n## Suppressed results\n\n".concat(groupedSuppressedResultsMD, "\n")
135
- : "\n## Results\n\nNo suppressed issues\n\n"
180
+ : "\n## Suppressed Results\n\nNothing here.\n\n"
136
181
  : "";
137
182
  if (options.details) {
138
183
  return {
@@ -145,12 +190,12 @@ var sarifToMarkdown = function (options) {
145
190
  "\n" +
146
191
  ruleDetails +
147
192
  toolInfo,
148
- hasMessages: ((_f = run.results) === null || _f === void 0 ? void 0 : _f.length) !== 0
193
+ hasMessages: hasMessage
149
194
  };
150
195
  }
151
196
  return {
152
197
  body: title + results + "\n" + suppressedResultsText + "\n" + ruleInfo + "\n" + toolInfo,
153
- hasMessages: ((_g = run.results) === null || _g === void 0 ? void 0 : _g.length) !== 0
198
+ hasMessages: hasMessage
154
199
  };
155
200
  });
156
201
  };
@@ -1 +1 @@
1
- {"version":3,"file":"sarif-to-markdown.js","sourceRoot":"","sources":["../src/sarif-to-markdown.ts"],"names":[],"mappings":";;;;;;;;;;AACA,aAAa;AACb,oEAAqC;AACrC,sDAA+B;AAE/B,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,IAAA,yBAAM,EAAC,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,IAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,oBAAoB,CAAC;IAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAClC,OAAO,EAAE,CAAC;KACb;IACD,OAAO,MAAA,MAAM,CAAC,SAAS,0CAAE,OAAO,CAAC,UAAC,QAAa;QAC3C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAC5B,OAAO,EAAE,CAAC;SACb;QACD,IAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QACnD,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;YACpC,OAAO,EAAE,CAAC;SACb;QACD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;YAC1B,OAAO,EAAE,CAAC;SACb;QACD,IAAM,UAAU,GACZ,gBAAgB,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS;YACzC,CAAC,CAAC,WAAI,gBAAgB,CAAC,MAAM,CAAC,SAAS,cAAI,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAE;YAC5E,CAAC,CAAC,WAAI,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAE,CAAC;QAClD,OAAO,IAAA,kBAAO,EACV,UAAU,EACV,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,IAAI,EACZ,eAAQ,OAAO,CAAC,MAAM,CAAE,EACxB,OAAO,CAAC,UAAU,EAClB,UAAG,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,cAAI,UAAU,CAAE,CAC3D,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AAsCF,SAAS,OAAO,CAAC,GAAa,EAAE,QAAa;IACzC,IAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,GAAQ,EAAE,YAAiB;QAC3D,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE;YAC9B,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;SACpC;QACD,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/C,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,CAAC,MAAM,CAAC,CAAC;AACpB,CAAC;AAUM,IAAM,eAAe,GAAG,UAAC,OAA8B;IAC1D,IAAM,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;IAEzG,OAAO,UAAC,QAAa;QACjB,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,GAAQ;;YAC9B,IAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,YAAK,OAAO,CAAC,KAAK,OAAI,CAAC,CAAC,CAAC,UAAU,CAAC;YAElE,IAAM,QAAQ,GAAG,yCAEnB,MAAA,GAAG,CAAC,IAAI,CAAC,MAAM,0CAAE,IAAI,+BACb,MAAA,GAAG,CAAC,IAAI,CAAC,MAAM,0CAAE,YAAY,0BAClC,MAAA,GAAG,CAAC,IAAI,CAAC,MAAM,0CAAE,eAAe,OAC5C,CAAC;YACU,iBAAiB;YACjB,YAAY;YACZ,qBAAqB;YACrB,aAAa;YACb,YAAY;YACZ;;eAEG;YACH,IAAM,QAAQ,GAAG,cAAc,qKAAA,2FAKzC,EAMA,KACA,KAPA,MAAA,MAAA,GAAG,CAAC,IAAI,CAAC,MAAM,0CAAE,KAAK,0CAAE,GAAG,CAAC,UAAC,IAAS;;gBACpC,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,UAAU,0CAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC9E,mBAAmB;gBACnB,OAAO,kBACH,IAAI,CAAC,EAAE,eAAK,QAAQ,yBACpB,MAAA,IAAI,CAAC,gBAAgB,0CAAE,IAAI,OAAI,CAAC;YACxC,CAAC,CAAC,CACA,CAAC;YACS,IAAM,WAAW,GAAG,oDACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,uBACvC,CAAC;YACU,IAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YAEtD,IAAI,sBAAsB,GAAG,EAAE,CAAC;YAChC,KAAoB,UAAc,EAAd,iCAAc,EAAd,4BAAc,EAAd,IAAc,EAAE;gBAA/B,IAAM,KAAK,uBAAA;gBACZ,KAAK,IAAM,CAAC,IAAI,KAAK,EAAE;oBACnB,sBAAsB;wBAClB,cAAO,CAAC,iBAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAE,GAAG,IAAI,CAAC;oBAChF,KAAqB,UAAQ,EAAR,KAAA,KAAK,CAAC,CAAC,CAAC,EAAR,cAAQ,EAAR,IAAQ,EAAE;wBAA1B,IAAM,MAAM,SAAA;wBACb,IAAM,YAAY,GAAG,MAA2B,CAAC;wBACjD,IAAI,YAAY,CAAC,YAAY,KAAK,SAAS,EAAE;4BACzC,sBAAsB,IAAI,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;yBAC9E;qBACJ;iBACJ;aACJ;YACD;;;;;;cAME;YACF,IAAM,OAAO,GACT,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC;gBACjC,CAAC,CAAC,wBAEpB,sBAAsB,CAAE;gBACN,CAAC,CAAC,8BAKrB,CAAC;YAEU,IAAI,0BAA0B,GAAG,EAAE,CAAC;YACpC,IAAI,iBAAiB,GAAG,CAAC,CAAC;YAC1B,KAAoB,UAAc,EAAd,iCAAc,EAAd,4BAAc,EAAd,IAAc,EAAE;gBAA/B,IAAM,KAAK,uBAAA;gBACZ,KAAK,IAAM,CAAC,IAAI,KAAK,EAAE;oBACnB,IAAM,uBAAuB,GACzB,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,UAAC,CAAS,IAAK,OAAA,CAAC,CAAC,YAAY,KAAK,SAAS,EAA5B,CAA4B,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;oBAC5E,IAAI,uBAAuB,EAAE;wBACzB,0BAA0B;4BACtB,cAAO,CAAC,iBAAO,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAM,EAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAE,GAAG,IAAI,CAAC;wBAChF,KAAqB,UAAQ,EAAR,KAAA,KAAK,CAAC,CAAC,CAAC,EAAR,cAAQ,EAAR,IAAQ,EAAE;4BAA1B,IAAM,MAAM,SAAA;4BACb,IAAM,YAAY,GAAG,MAA2B,CAAC;4BACjD,IAAI,YAAY,CAAC,YAAY,KAAK,SAAS,EAAE;gCACzC,iBAAiB,IAAI,CAAC,CAAC;gCACvB,0BAA0B,IAAI,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;6BAClF;yBACJ;qBACJ;iBACJ;aACJ;YACD,sGAAsG;YACtG,kEAAkE;YAClE,IAAM,qBAAqB,GAAG,qBAAqB;gBAC/C,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,iBAAiB,GAAG,CAAC;oBAClC,CAAC,CAAC,qCAGpB,0BAA0B,OAC3B;oBACmB,CAAC,CAAC,0CAKrB;gBACe,CAAC,CAAC,EAAE,CAAC;YAET,IAAI,OAAO,CAAC,OAAO,EAAE;gBACjB,OAAO;oBACH,IAAI,EACA,KAAK;wBACL,OAAO;wBACP,IAAI;wBACJ,qBAAqB;wBACrB,IAAI;wBACJ,QAAQ;wBACR,IAAI;wBACJ,WAAW;wBACX,QAAQ;oBACZ,WAAW,EAAE,CAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,MAAM,MAAK,CAAC;iBACzC,CAAC;aACL;YACD,OAAO;gBACH,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,IAAI,GAAG,qBAAqB,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,GAAG,QAAQ;gBACxF,WAAW,EAAE,CAAA,MAAA,GAAG,CAAC,OAAO,0CAAE,MAAM,MAAK,CAAC;aACzC,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC,CAAC;AAhIW,QAAA,eAAe,mBAgI1B"}
1
+ {"version":3,"file":"sarif-to-markdown.js","sourceRoot":"","sources":["../src/sarif-to-markdown.ts"],"names":[],"mappings":";;;;;;;;;;AACA,aAAa;AACb,oEAAqC;AACrC,sDAA+B;AAE/B,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,IAAA,yBAAM,EAAC,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,SAAS,cAAc,CAAC,GAAQ;;IAC5B,OAAO,cAAc,gKAAA,yFAIvB,EAMA,EAAE,KANF,MAAA,MAAA,GAAG,CAAC,IAAI,CAAC,MAAM,0CAAE,KAAK,0CAAE,GAAG,CAAC,UAAC,IAAS;;QACpC,IAAM,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,MAAA,IAAI,CAAC,UAAU,0CAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9E,mBAAmB;QACnB,OAAO,oBACH,IAAI,CAAC,EAAE,eAAK,QAAQ,yBACpB,MAAA,IAAI,CAAC,gBAAgB,0CAAE,IAAI,OAAI,CAAC;IACxC,CAAC,CAAC,EAAG;AACL,CAAC;AAED,SAAS,cAAc,CAAC,GAAQ;;IAC5B,OAAO,yCAED,MAAA,GAAG,CAAC,IAAI,CAAC,MAAM,0CAAE,IAAI,+BACb,MAAA,GAAG,CAAC,IAAI,CAAC,MAAM,0CAAE,YAAY,0BAClC,MAAA,GAAG,CAAC,IAAI,CAAC,MAAM,0CAAE,eAAe,OAC5C,CAAC;AACF,CAAC;AAED,IAAM,aAAa,GAAG,UAAC,MAAc,EAAE,OAA8B;;IACjE,IAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,oBAAoB,CAAC;IAC9D,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE;QAClC,OAAO,EAAE,CAAC;KACb;IACD,OAAO,MAAA,MAAM,CAAC,SAAS,0CAAE,OAAO,CAAC,UAAC,QAAa;QAC3C,IAAI,CAAC,QAAQ,CAAC,gBAAgB,EAAE;YAC5B,OAAO,EAAE,CAAC;SACb;QACD,IAAM,gBAAgB,GAAG,QAAQ,CAAC,gBAAgB,CAAC;QACnD,IAAI,CAAC,gBAAgB,CAAC,gBAAgB,EAAE;YACpC,OAAO,EAAE,CAAC;SACb;QACD,IAAI,CAAC,gBAAgB,CAAC,MAAM,EAAE;YAC1B,OAAO,EAAE,CAAC;SACb;QACD,IAAM,UAAU,GACZ,gBAAgB,CAAC,MAAM,CAAC,OAAO,KAAK,SAAS;YACzC,CAAC,CAAC,WAAI,gBAAgB,CAAC,MAAM,CAAC,SAAS,cAAI,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAE;YAC5E,CAAC,CAAC,WAAI,gBAAgB,CAAC,MAAM,CAAC,SAAS,CAAE,CAAC;QAClD,OAAO,IAAA,kBAAO,EACV,UAAU,EACV,OAAO,CAAC,KAAK,EACb,OAAO,CAAC,IAAI,EACZ,eAAQ,OAAO,CAAC,MAAM,CAAE,EACxB,OAAO,CAAC,UAAU,EAClB,UAAG,gBAAgB,CAAC,gBAAgB,CAAC,GAAG,cAAI,UAAU,CAAE,CAC3D,CAAC;IACN,CAAC,CAAC,CAAC;AACP,CAAC,CAAC;AA8CF,SAAS,OAAO,CAAC,GAAa,EAAE,QAAa;IACzC,IAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,UAAU,GAAQ,EAAE,YAAiB;QAC3D,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,EAAE;YAC9B,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,GAAG,EAAE,CAAC;SACpC;QACD,GAAG,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAC/C,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,CAAC;IACP,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,4BAA4B,CAAC,cAAmB,EAAE,GAAQ,EAAE,OAA8B;;IAC/F,IAAI,sBAAsB,GAAG,EAAE,CAAC;4BACrB,IAAI;QACX,IAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,CAAM;YAClD,OAAO,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC;QACxB,CAAC,CAAC,CAAC;QACH,IAAM,aAAa,GAAG,MAAA,MAAA,MAAA,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,0CAAE,KAAK,0CAAE,WAAW,EAAE,mCAAI,EAAE,CAAC;QACpF,IAAM,OAAO,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAA,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,mCAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9G,sBAAsB;YAClB,cAAO,GAAG,GAAG,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,eAC5D,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAM,EAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,MAC3E,GAAG,IAAI,CAAC;QAChB,KAAqB,UAAoB,EAApB,KAAA,cAAc,CAAC,IAAI,CAAC,EAApB,cAAoB,EAApB,IAAoB,EAAE;YAAtC,IAAM,MAAM,SAAA;YACb,IAAM,YAAY,GAAG,MAA2B,CAAC;YACjD,IAAI,YAAY,CAAC,YAAY,KAAK,SAAS,EAAE;gBACzC,sBAAsB,IAAI,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;aAC9E;SACJ;;IAfL,KAAK,IAAM,IAAI,IAAI,cAAc;gBAAtB,IAAI;KAgBd;IACD,OAAO,sBAAsB,CAAC;AAClC,CAAC;AAED,SAAS,sCAAsC,CAAC,cAAmB,EAAE,GAAQ,EAAE,OAA8B;;IACzG,IAAI,0BAA0B,GAAG,EAAE,CAAC;IACpC,IAAI,iBAAiB,GAAG,CAAC,CAAC;4BACf,IAAI;QACX,IAAM,uBAAuB,GACzB,cAAc,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,UAAC,CAAS,IAAK,OAAA,CAAC,CAAC,YAAY,KAAK,SAAS,EAA5B,CAA4B,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;QACxF,IAAI,uBAAuB,EAAE;YACzB,IAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,UAAC,CAAM;gBAClD,OAAO,CAAC,CAAC,EAAE,IAAI,IAAI,CAAC;YACxB,CAAC,CAAC,CAAC;YACH,IAAM,OAAO,GACT,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,MAAA,eAAe,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC,OAAO,GAAG,IAAI,mCAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAClG,IAAM,aAAa,GAAG,MAAA,MAAA,MAAA,SAAS,CAAC,CAAC,CAAC,CAAC,oBAAoB,0CAAE,KAAK,0CAAE,WAAW,EAAE,mCAAI,EAAE,CAAC;YAEpF,0BAA0B;gBACtB,cAAO,GAAG,GAAG,aAAa,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,eAC5D,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAA,yBAAM,EAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,MAC3E,GAAG,IAAI,CAAC;YAChB,KAAqB,UAAoB,EAApB,KAAA,cAAc,CAAC,IAAI,CAAC,EAApB,cAAoB,EAApB,IAAoB,EAAE;gBAAtC,IAAM,MAAM,SAAA;gBACb,IAAM,YAAY,GAAG,MAA2B,CAAC;gBACjD,IAAI,YAAY,CAAC,YAAY,KAAK,SAAS,EAAE;oBACzC,iBAAiB,IAAI,CAAC,CAAC;oBACvB,0BAA0B,IAAI,QAAQ,GAAG,aAAa,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC;iBAClF;aACJ;SACJ;;IAtBL,KAAK,IAAM,IAAI,IAAI,cAAc;gBAAtB,IAAI;KAuBd;IACD,OAAO,EAAE,0BAA0B,4BAAA,EAAE,iBAAiB,mBAAA,EAAE,CAAC;AAC7D,CAAC;AAED,SAAS,8BAA8B,CAAC,cAAmB,EAAE,UAA6B,EAAE,GAAQ;;IAChG,oDAAoD;IACpD,+FAA+F;IAC/F,IAAM,mBAAmB,GAAG,IAAI,GAAG,EAAkB,CAAC;IACtD,MAAA,MAAA,GAAG,CAAC,IAAI,CAAC,MAAM,0CAAE,KAAK,0CAAE,OAAO,CAAC,UAAC,IAAyB;;QACtD,IAAM,QAAQ,GAAG,MAAA,MAAA,IAAI,CAAC,oBAAoB,0CAAE,KAAK,mCAAI,EAAE,CAAC;QACxD,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEH,IAAM,eAAe,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC;SAC9C,MAAM,CAAC,UAAC,IAAS;;QACd,OAAO,UAAU,CAAC,QAAQ,CAAC,MAAA,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,mCAAI,iBAAiB,CAAC,CAAC;IACnF,CAAC,CAAC;SACD,MAAM,CAAC,UAAC,GAAQ,EAAE,GAAQ;QACvB,GAAG,CAAC,GAAG,CAAC,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC;QAC/B,OAAO,GAAG,CAAC;IACf,CAAC,EAAE,EAAE,CAAC,CAAC;IACX,OAAO,eAAe,CAAC;AAC3B,CAAC;AAWM,IAAM,eAAe,GAAG,UAAC,OAA8B;;IAC1D,IAAM,qBAAqB,GAAG,OAAO,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC;IACzG,IAAM,UAAU,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;IACzE,IAAM,UAAU,GAAG,MAAA,OAAO,CAAC,UAAU,mCAAI,CAAC,SAAS,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9E,OAAO,UAAC,QAAa;QACjB,OAAO,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC,UAAC,GAAQ;YAC9B,IAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,YAAK,OAAO,CAAC,KAAK,OAAI,CAAC,CAAC,CAAC,UAAU,CAAC;YAClE,IAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACvD,IAAM,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC;YACvD,IAAM,WAAW,GAAG,oDACzB,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,uBACvC,CAAC;YACU,IAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;YACtD,IAAM,eAAe,GAAG,8BAA8B,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,CAAC,CAAC;YACxF,IAAM,sBAAsB,GAAG,4BAA4B,CAAC,eAAe,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;YAC3F,IAAM,UAAU,GAAG,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;YACpG;;;;;;cAME;YACF,IAAM,OAAO,GAAG,UAAU;gBACtB,CAAC,CAAC,0BAGhB,sBAAsB,OACvB;gBACe,CAAC,CAAC,mCAKjB,CAAC;YAEgB,IAAA,KAAoD,sCAAsC,CAC5F,eAAe,EACf,GAAG,EACH,OAAO,CACV,EAJO,0BAA0B,gCAAA,EAAE,iBAAiB,uBAIpD,CAAC;YAEF,sGAAsG;YACtG,kEAAkE;YAClE,IAAM,qBAAqB,GAAG,qBAAqB;gBAC/C,CAAC,CAAC,GAAG,CAAC,OAAO,IAAI,iBAAiB,GAAG,CAAC;oBAClC,CAAC,CAAC,qCAGpB,0BAA0B,OAC3B;oBACmB,CAAC,CAAC,8CAKrB;gBACe,CAAC,CAAC,EAAE,CAAC;YACT,IAAI,OAAO,CAAC,OAAO,EAAE;gBACjB,OAAO;oBACH,IAAI,EACA,KAAK;wBACL,OAAO;wBACP,IAAI;wBACJ,qBAAqB;wBACrB,IAAI;wBACJ,QAAQ;wBACR,IAAI;wBACJ,WAAW;wBACX,QAAQ;oBACZ,WAAW,EAAE,UAAU;iBAC1B,CAAC;aACL;YACD,OAAO;gBACH,IAAI,EAAE,KAAK,GAAG,OAAO,GAAG,IAAI,GAAG,qBAAqB,GAAG,IAAI,GAAG,QAAQ,GAAG,IAAI,GAAG,QAAQ;gBACxF,WAAW,EAAE,UAAU;aAC1B,CAAC;QACN,CAAC,CAAC,CAAC;IACP,CAAC,CAAC;AACN,CAAC,CAAC;AAhFW,QAAA,eAAe,mBAgF1B"}
@@ -33,6 +33,14 @@ export declare type sarifFormatterOptions = {
33
33
  * Should the markdown include suppressed findings, defaults to true
34
34
  */
35
35
  suppressedResults?: boolean;
36
+ /**
37
+ * Should the markdown include rule details or tool details at all
38
+ */
39
+ simple?: boolean;
40
+ /**
41
+ * Which severities should be included ?
42
+ */
43
+ severities?: readonly string[];
36
44
  };
37
45
  declare type sarifToMarkdownResult = {
38
46
  title?: string;
@@ -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";
@@ -51,46 +64,97 @@ function groupBy(arr, criteria) {
51
64
  acc[currentValue[criteria]].push(currentValue);
52
65
  return acc;
53
66
  }, {});
54
- return [newObj];
67
+ return newObj;
68
+ }
69
+ function createGroupedResultsMarkdown(groupedResults, run, options) {
70
+ var _a, _b, _c, _d;
71
+ var groupedResultsMarkdown = "";
72
+ var _loop_1 = function (rule) {
73
+ var ruleMatch = run.tool.driver.rules.filter(function (r) {
74
+ return r.id == rule;
75
+ });
76
+ 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 : "";
77
+ var helpUri = ruleMatch[0].helpUri !== undefined ? (_d = "[[HELP LINK](" + ruleMatch[0].helpUri + ")]") !== null && _d !== void 0 ? _d : "" : "";
78
+ groupedResultsMarkdown +=
79
+ "- **".concat("[" + severityLevel + "]** **[" + rule + "]** " + helpUri, " `").concat(groupedResults[rule][0] ? escape(groupedResults[rule][0].message.text) : "", "`") + "\n";
80
+ for (var _i = 0, _e = groupedResults[rule]; _i < _e.length; _i++) {
81
+ var result = _e[_i];
82
+ var properResult = result;
83
+ if (properResult.suppressions === undefined) {
84
+ groupedResultsMarkdown += " - " + createCodeURL(result, options) + "\n";
85
+ }
86
+ }
87
+ };
88
+ for (var rule in groupedResults) {
89
+ _loop_1(rule);
90
+ }
91
+ return groupedResultsMarkdown;
92
+ }
93
+ function createGroupedSuppressedResultsMarkdown(groupedResults, run, options) {
94
+ var _a, _b, _c, _d;
95
+ var groupedSuppressedResultsMD = "";
96
+ var suppressedCounter = 0;
97
+ var _loop_2 = function (rule) {
98
+ var groupContainsSuppressed = groupedResults[rule].filter(function (r) { return r.suppressions !== undefined; }).length > 0;
99
+ if (groupContainsSuppressed) {
100
+ var ruleMatch = run.tool.driver.rules.filter(function (r) {
101
+ return r.id == rule;
102
+ });
103
+ var helpUri = ruleMatch[0].helpUri !== undefined ? (_a = "[[HELP LINK](" + ruleMatch[0].helpUri + ")]") !== null && _a !== void 0 ? _a : "" : "";
104
+ 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 : "";
105
+ groupedSuppressedResultsMD +=
106
+ "- **".concat("[" + severityLevel + "]** **[" + rule + "]** " + helpUri, " `").concat(groupedResults[rule][0] ? escape(groupedResults[rule][0].message.text) : "", "`") + "\n";
107
+ for (var _i = 0, _e = groupedResults[rule]; _i < _e.length; _i++) {
108
+ var result = _e[_i];
109
+ var properResult = result;
110
+ if (properResult.suppressions !== undefined) {
111
+ suppressedCounter += 1;
112
+ groupedSuppressedResultsMD += " - " + createCodeURL(result, options) + "\n";
113
+ }
114
+ }
115
+ }
116
+ };
117
+ for (var rule in groupedResults) {
118
+ _loop_2(rule);
119
+ }
120
+ return { groupedSuppressedResultsMD: groupedSuppressedResultsMD, suppressedCounter: suppressedCounter };
121
+ }
122
+ function filterGroupedResultsBySeverity(groupedResults, severities, run) {
123
+ var _a, _b;
124
+ // 1st step, go through run and find rule severities
125
+ // 2nd step, filter groupedResults and remove rulegroups that don't match the severities filter
126
+ var ruleSeverityMapping = new Map();
127
+ (_b = (_a = run.tool.driver) === null || _a === void 0 ? void 0 : _a.rules) === null || _b === void 0 ? void 0 : _b.forEach(function (rule) {
128
+ var _a, _b;
129
+ var severity = (_b = (_a = rule.defaultConfiguration) === null || _a === void 0 ? void 0 : _a.level) !== null && _b !== void 0 ? _b : "";
130
+ ruleSeverityMapping.set(rule.id, severity);
131
+ });
132
+ var filteredResults = Object.keys(groupedResults)
133
+ .filter(function (rule) {
134
+ var _a;
135
+ return severities.includes((_a = ruleSeverityMapping.get(rule)) !== null && _a !== void 0 ? _a : "unknownseverity");
136
+ })
137
+ .reduce(function (obj, key) {
138
+ obj[key] = groupedResults[key];
139
+ return obj;
140
+ }, {});
141
+ return filteredResults;
55
142
  }
56
143
  export var sarifToMarkdown = function (options) {
144
+ var _a;
57
145
  var suppressedResultsFlag = options.suppressedResults !== undefined ? options.suppressedResults : true;
146
+ var simpleMode = options.simple !== undefined ? options.simple : false;
147
+ var severities = (_a = options.severities) !== null && _a !== void 0 ? _a : ["warning", "error", "note", "none"];
58
148
  return function (sarifLog) {
59
149
  return sarifLog.runs.map(function (run) {
60
- var _a, _b, _c, _d, _e, _f, _g;
61
150
  var title = options.title ? "# ".concat(options.title, "\n") : "# Report";
62
- var toolInfo = "\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");
63
- // # tool section
64
- // Rule info
65
- // Vulnerability info
66
- // ## Results
67
- // Result(s)
68
- /**
69
- * # Rule Info
70
- */
71
- 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", "\n "])), (_e = (_d = run.tool.driver) === null || _d === void 0 ? void 0 : _d.rules) === null || _e === void 0 ? void 0 : _e.map(function (rule) {
72
- var _a, _b;
73
- var severity = rule.properties ? (_a = rule.properties) === null || _a === void 0 ? void 0 : _a["problem.severity"] : "";
74
- // rule description
75
- return "\n - ".concat(rule.id, " [").concat(severity, "] \n\n > ").concat((_b = rule.shortDescription) === null || _b === void 0 ? void 0 : _b.text, "\n");
76
- }));
151
+ var toolInfo = simpleMode ? "" : createToolInfo(run);
152
+ var ruleInfo = simpleMode ? "" : createRuleInfo(run);
77
153
  var ruleDetails = "<details><summary>Details</summary>\n<pre>".concat(JSON.stringify(run.tool, null, 4), "</pre></details>\n");
78
154
  var groupedResults = groupBy(run.results, "ruleId");
79
- var groupedResultsMarkdown = "";
80
- for (var _i = 0, groupedResults_1 = groupedResults; _i < groupedResults_1.length; _i++) {
81
- var group = groupedResults_1[_i];
82
- for (var r in group) {
83
- groupedResultsMarkdown +=
84
- "- **".concat(r, "**: ").concat(group[r][0] ? escape(group[r][0].message.text) : "") + "\n";
85
- for (var _h = 0, _j = group[r]; _h < _j.length; _h++) {
86
- var result = _j[_h];
87
- var properResult = result;
88
- if (properResult.suppressions === undefined) {
89
- groupedResultsMarkdown += " - " + createCodeURL(result, options) + "\n";
90
- }
91
- }
92
- }
93
- }
155
+ var filteredResults = filterGroupedResultsBySeverity(groupedResults, severities, run);
156
+ var groupedResultsMarkdown = createGroupedResultsMarkdown(filteredResults, run, options);
157
+ var hasMessage = run.results && run.results.length > 0 && Object.keys(filteredResults).length > 0;
94
158
  /* Results
95
159
  - rule id
96
160
  - message
@@ -98,35 +162,16 @@ export var sarifToMarkdown = function (options) {
98
162
 
99
163
  If pass the scan, results is empty array
100
164
  */
101
- var results = run.results && run.results.length > 0
102
- ? "\n## Results\n".concat(groupedResultsMarkdown)
103
- : "\n## Results\n\nNo Error\n\n";
104
- var groupedSuppressedResultsMD = "";
105
- var suppressedCounter = 0;
106
- for (var _k = 0, groupedResults_2 = groupedResults; _k < groupedResults_2.length; _k++) {
107
- var group = groupedResults_2[_k];
108
- for (var r in group) {
109
- var groupContainsSuppressed = group[r].filter(function (r) { return r.suppressions !== undefined; }).length > 0;
110
- if (groupContainsSuppressed) {
111
- groupedSuppressedResultsMD +=
112
- "- **".concat(r, "**: ").concat(group[r][0] ? escape(group[r][0].message.text) : "") + "\n";
113
- for (var _l = 0, _m = group[r]; _l < _m.length; _l++) {
114
- var result = _m[_l];
115
- var properResult = result;
116
- if (properResult.suppressions !== undefined) {
117
- suppressedCounter += 1;
118
- groupedSuppressedResultsMD += " - " + createCodeURL(result, options) + "\n";
119
- }
120
- }
121
- }
122
- }
123
- }
165
+ var results = hasMessage
166
+ ? "\n## Results\n\n".concat(groupedResultsMarkdown, "\n")
167
+ : "\n## Results\n\nNothing here.\n\n";
168
+ var _a = createGroupedSuppressedResultsMarkdown(filteredResults, run, options), groupedSuppressedResultsMD = _a.groupedSuppressedResultsMD, suppressedCounter = _a.suppressedCounter;
124
169
  // careful, double ternary... first check if we should include suppressedresults (return empty string)
125
170
  // then check if there are results, if none, return default string
126
171
  var suppressedResultsText = suppressedResultsFlag
127
172
  ? run.results && suppressedCounter > 0
128
173
  ? "\n## Suppressed results\n\n".concat(groupedSuppressedResultsMD, "\n")
129
- : "\n## Results\n\nNo suppressed issues\n\n"
174
+ : "\n## Suppressed Results\n\nNothing here.\n\n"
130
175
  : "";
131
176
  if (options.details) {
132
177
  return {
@@ -139,12 +184,12 @@ export var sarifToMarkdown = function (options) {
139
184
  "\n" +
140
185
  ruleDetails +
141
186
  toolInfo,
142
- hasMessages: ((_f = run.results) === null || _f === void 0 ? void 0 : _f.length) !== 0
187
+ hasMessages: hasMessage
143
188
  };
144
189
  }
145
190
  return {
146
191
  body: title + results + "\n" + suppressedResultsText + "\n" + ruleInfo + "\n" + toolInfo,
147
- hasMessages: ((_g = run.results) === null || _g === void 0 ? void 0 : _g.length) !== 0
192
+ hasMessages: hasMessage
148
193
  };
149
194
  });
150
195
  };
@@ -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.7.0",
3
+ "version": "1.10.3",
4
4
  "description": "Convert Sarif format to body text",
5
5
  "keywords": [
6
6
  "sarif",
@@ -56,5 +56,5 @@
56
56
  "publishConfig": {
57
57
  "access": "public"
58
58
  },
59
- "gitHead": "5be23f660a2ff4af68317b34132e0853f65829ce"
59
+ "gitHead": "c4850218e9577edd6b74a38868b41bd2936df22d"
60
60
  }