@fabasoad/sarif-to-slack 1.2.2 → 1.3.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/dist/SarifToSlackClient.js +2 -2
- package/dist/index.cjs +237 -138
- package/dist/index.d.ts +2 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -2
- package/dist/model/color/Color.d.ts +26 -0
- package/dist/model/color/Color.d.ts.map +1 -0
- package/dist/model/color/Color.js +46 -0
- package/dist/model/color/ColorIdentification.d.ts +2 -0
- package/dist/model/color/ColorIdentification.d.ts.map +1 -0
- package/dist/model/color/ColorIdentification.js +186 -0
- package/dist/model/{Color.d.ts → color/ColorOptions.d.ts} +10 -32
- package/dist/model/color/ColorOptions.d.ts.map +1 -0
- package/dist/model/color/ColorOptions.js +2 -0
- package/dist/representations/CompactGroupByRepresentation.js +13 -10
- package/dist/sarif-to-slack.d.ts +17 -14
- package/dist/tsdoc-metadata.json +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/etc/sarif-to-slack.api.md +8 -4
- package/package.json +3 -3
- package/src/SarifToSlackClient.ts +1 -1
- package/src/index.ts +3 -2
- package/src/model/color/Color.ts +50 -0
- package/src/model/color/ColorIdentification.ts +198 -0
- package/src/model/color/ColorOptions.ts +63 -0
- package/src/representations/CompactGroupByRepresentation.ts +12 -9
- package/src/types.ts +1 -1
- package/tests/integration/SendSarifToSlack.spec.ts +13 -13
- package/dist/model/Color.d.ts.map +0 -1
- package/dist/model/Color.js +0 -115
- package/src/model/Color.ts +0 -206
|
@@ -6,7 +6,7 @@ import { extractListOfFiles } from './utils/FileUtils';
|
|
|
6
6
|
import { createRepresentation } from './representations/RepresentationFactory';
|
|
7
7
|
import { createFinding } from './model/Finding';
|
|
8
8
|
import { findToolComponent, findToolComponentDriver } from './utils/SarifUtils';
|
|
9
|
-
import { identifyColor } from './model/
|
|
9
|
+
import { identifyColor } from './model/color/ColorIdentification';
|
|
10
10
|
import FindingArray from './model/FindingArray';
|
|
11
11
|
import { createSlackMessage } from './model/SlackMessage';
|
|
12
12
|
import { SendIf, sendIfLogMessage } from './model/SendIf';
|
|
@@ -172,4 +172,4 @@ export class SarifToSlackClient {
|
|
|
172
172
|
}
|
|
173
173
|
}
|
|
174
174
|
}
|
|
175
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
175
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2FyaWZUb1NsYWNrQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1NhcmlmVG9TbGFja0NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxJQUFJLEVBQUUsRUFBRSxNQUFNLElBQUksQ0FBQTtBQUVuQyxPQUFPLE1BQU0sTUFBTSxVQUFVLENBQUE7QUFDN0IsT0FBTyxFQU1MLGFBQWEsRUFDYixnQkFBZ0IsRUFDakIsTUFBTSxTQUFTLENBQUE7QUFDaEIsT0FBTyxNQUFNLE1BQU0sVUFBVSxDQUFBO0FBQzdCLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3RELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlDQUF5QyxDQUFBO0FBQzlFLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUMvQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQUMvRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUNBQW1DLENBQUE7QUFDakUsT0FBTyxZQUFZLE1BQU0sc0JBQXNCLENBQUE7QUFDL0MsT0FBTyxFQUFFLGtCQUFrQixFQUFnQixNQUFNLHNCQUFzQixDQUFBO0FBQ3ZFLE9BQU8sRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUV6RDs7O0dBR0c7QUFDSCxNQUFNLE9BQU8sa0JBQWtCO0lBQ3JCLFFBQVEsQ0FBZTtJQUN2QixXQUFXLENBQWE7SUFFeEIsT0FBTyxHQUFXLE1BQU0sQ0FBQyxNQUFNLENBQUE7SUFFdkMsWUFBb0IsR0FBZ0I7UUFDbEMsTUFBTSxDQUFDLFVBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUN0QixNQUFNLENBQUMsVUFBVSxFQUFFLENBQUE7SUFDckIsQ0FBQztJQUVPLE1BQU0sQ0FBQyxDQUFDLG9CQUFvQjtRQUNsQyxJQUFJ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
|
package/dist/index.cjs
CHANGED
|
@@ -39,153 +39,48 @@ __export(index_exports, {
|
|
|
39
39
|
});
|
|
40
40
|
module.exports = __toCommonJS(index_exports);
|
|
41
41
|
|
|
42
|
-
// src/
|
|
43
|
-
var
|
|
44
|
-
LogLevel2[LogLevel2["Silly"] = 0] = "Silly";
|
|
45
|
-
LogLevel2[LogLevel2["Trace"] = 1] = "Trace";
|
|
46
|
-
LogLevel2[LogLevel2["Debug"] = 2] = "Debug";
|
|
47
|
-
LogLevel2[LogLevel2["Info"] = 3] = "Info";
|
|
48
|
-
LogLevel2[LogLevel2["Warning"] = 4] = "Warning";
|
|
49
|
-
LogLevel2[LogLevel2["Error"] = 5] = "Error";
|
|
50
|
-
LogLevel2[LogLevel2["Fatal"] = 6] = "Fatal";
|
|
51
|
-
return LogLevel2;
|
|
52
|
-
})(LogLevel || {});
|
|
53
|
-
var FooterType = /* @__PURE__ */ ((FooterType2) => {
|
|
54
|
-
FooterType2["PlainText"] = "plain_text";
|
|
55
|
-
FooterType2["Markdown"] = "mrkdwn";
|
|
56
|
-
return FooterType2;
|
|
57
|
-
})(FooterType || {});
|
|
58
|
-
var RepresentationType = /* @__PURE__ */ ((RepresentationType2) => {
|
|
59
|
-
RepresentationType2[RepresentationType2["CompactGroupByRunPerLevel"] = 0] = "CompactGroupByRunPerLevel";
|
|
60
|
-
RepresentationType2[RepresentationType2["CompactGroupByRunPerSeverity"] = 1] = "CompactGroupByRunPerSeverity";
|
|
61
|
-
RepresentationType2[RepresentationType2["CompactGroupByToolNamePerLevel"] = 2] = "CompactGroupByToolNamePerLevel";
|
|
62
|
-
RepresentationType2[RepresentationType2["CompactGroupByToolNamePerSeverity"] = 3] = "CompactGroupByToolNamePerSeverity";
|
|
63
|
-
RepresentationType2[RepresentationType2["CompactGroupBySarifPerLevel"] = 4] = "CompactGroupBySarifPerLevel";
|
|
64
|
-
RepresentationType2[RepresentationType2["CompactGroupBySarifPerSeverity"] = 5] = "CompactGroupBySarifPerSeverity";
|
|
65
|
-
RepresentationType2[RepresentationType2["CompactTotalPerLevel"] = 6] = "CompactTotalPerLevel";
|
|
66
|
-
RepresentationType2[RepresentationType2["CompactTotalPerSeverity"] = 7] = "CompactTotalPerSeverity";
|
|
67
|
-
return RepresentationType2;
|
|
68
|
-
})(RepresentationType || {});
|
|
69
|
-
var SecuritySeverity = /* @__PURE__ */ ((SecuritySeverity2) => {
|
|
70
|
-
SecuritySeverity2[SecuritySeverity2["Unknown"] = 0] = "Unknown";
|
|
71
|
-
SecuritySeverity2[SecuritySeverity2["None"] = 1] = "None";
|
|
72
|
-
SecuritySeverity2[SecuritySeverity2["Low"] = 2] = "Low";
|
|
73
|
-
SecuritySeverity2[SecuritySeverity2["Medium"] = 3] = "Medium";
|
|
74
|
-
SecuritySeverity2[SecuritySeverity2["High"] = 4] = "High";
|
|
75
|
-
SecuritySeverity2[SecuritySeverity2["Critical"] = 5] = "Critical";
|
|
76
|
-
return SecuritySeverity2;
|
|
77
|
-
})(SecuritySeverity || {});
|
|
78
|
-
var SecurityLevel = /* @__PURE__ */ ((SecurityLevel2) => {
|
|
79
|
-
SecurityLevel2[SecurityLevel2["Unknown"] = 0] = "Unknown";
|
|
80
|
-
SecurityLevel2[SecurityLevel2["None"] = 1] = "None";
|
|
81
|
-
SecurityLevel2[SecurityLevel2["Note"] = 2] = "Note";
|
|
82
|
-
SecurityLevel2[SecurityLevel2["Warning"] = 3] = "Warning";
|
|
83
|
-
SecurityLevel2[SecurityLevel2["Error"] = 4] = "Error";
|
|
84
|
-
return SecurityLevel2;
|
|
85
|
-
})(SecurityLevel || {});
|
|
86
|
-
|
|
87
|
-
// src/model/Color.ts
|
|
88
|
-
var Color = class {
|
|
89
|
-
_color;
|
|
42
|
+
// src/model/color/Color.ts
|
|
43
|
+
var Color = class _Color {
|
|
90
44
|
/**
|
|
91
|
-
*
|
|
92
|
-
* {@link Color} class, it (if applicable) maps CI status into the hex color,
|
|
93
|
-
* and also validates color parameter to be a valid string that represents a
|
|
94
|
-
* color in hex format.
|
|
95
|
-
* @param color - Can be either undefined, valid color in hex format or GitHub
|
|
96
|
-
* CI status (one of: success, failure, cancelled, skipped)
|
|
45
|
+
* A valid string that represents a color in hex format.
|
|
97
46
|
* @public
|
|
98
47
|
*/
|
|
48
|
+
color;
|
|
99
49
|
constructor(color) {
|
|
100
|
-
this.
|
|
50
|
+
this.color = this.mapColor(color);
|
|
101
51
|
this.assertHexColor();
|
|
102
52
|
}
|
|
103
53
|
/**
|
|
104
|
-
*
|
|
54
|
+
* Creates an instance of {@link Color} class. Before creating an instance of
|
|
55
|
+
* {@link Color} class, it (if applicable) maps CI status into the hex color,
|
|
56
|
+
* and also validates color parameter to be a valid string that represents a
|
|
57
|
+
* color in hex format.
|
|
58
|
+
* @param color - Can be either undefined, valid color in hex format or GitHub
|
|
59
|
+
* CI status (one of: success, failure, cancelled, skipped).
|
|
60
|
+
* @returns An instance of {@link Color} or undefined if color parameter is falsy.
|
|
61
|
+
* @public
|
|
105
62
|
*/
|
|
106
|
-
|
|
107
|
-
return
|
|
63
|
+
static from(color) {
|
|
64
|
+
return color ? new _Color(color) : void 0;
|
|
108
65
|
}
|
|
109
66
|
assertHexColor() {
|
|
110
|
-
if (this.
|
|
67
|
+
if (this.color) {
|
|
111
68
|
const hexColorRegex = /^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/;
|
|
112
|
-
if (!hexColorRegex.test(this.
|
|
113
|
-
throw new Error(`Invalid hex color: "${this.
|
|
69
|
+
if (!hexColorRegex.test(this.color)) {
|
|
70
|
+
throw new Error(`Invalid hex color: "${this.color}"`);
|
|
114
71
|
}
|
|
115
72
|
}
|
|
116
73
|
}
|
|
117
74
|
mapColor(from) {
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
case "skipped":
|
|
126
|
-
return "#808080";
|
|
127
|
-
default:
|
|
128
|
-
return from;
|
|
129
|
-
}
|
|
75
|
+
const map = /* @__PURE__ */ new Map([
|
|
76
|
+
["success", "#008000"],
|
|
77
|
+
["failure", "#ff0000"],
|
|
78
|
+
["cancelled", "#0047ab"],
|
|
79
|
+
["skipped", "#808080"]
|
|
80
|
+
]);
|
|
81
|
+
return map.get(from) ?? from;
|
|
130
82
|
}
|
|
131
83
|
};
|
|
132
|
-
function identifyColorCommon(findings, prop, none, unknown, color) {
|
|
133
|
-
if (color.none != null && findings.findByProperty(prop, none) != null) {
|
|
134
|
-
return color.none.value;
|
|
135
|
-
}
|
|
136
|
-
if (color.unknown != null && findings.findByProperty(prop, unknown) != null) {
|
|
137
|
-
return color.unknown.value;
|
|
138
|
-
}
|
|
139
|
-
return void 0;
|
|
140
|
-
}
|
|
141
|
-
function identifyColorBySeverity(findings, color) {
|
|
142
|
-
if (color.critical != null && findings.findByProperty("severity", 5 /* Critical */) != null) {
|
|
143
|
-
return color.critical.value;
|
|
144
|
-
}
|
|
145
|
-
if (color.high != null && findings.findByProperty("severity", 4 /* High */) != null) {
|
|
146
|
-
return color.high.value;
|
|
147
|
-
}
|
|
148
|
-
if (color.medium != null && findings.findByProperty("severity", 3 /* Medium */) != null) {
|
|
149
|
-
return color.medium.value;
|
|
150
|
-
}
|
|
151
|
-
if (color.low != null && findings.findByProperty("severity", 2 /* Low */) != null) {
|
|
152
|
-
return color.low.value;
|
|
153
|
-
}
|
|
154
|
-
return identifyColorCommon(findings, "severity", 1 /* None */, 0 /* Unknown */, color);
|
|
155
|
-
}
|
|
156
|
-
function identifyColorByLevel(findings, color) {
|
|
157
|
-
if (color.error != null && findings.findByProperty("level", 4 /* Error */) != null) {
|
|
158
|
-
return color.error.value;
|
|
159
|
-
}
|
|
160
|
-
if (color.warning != null && findings.findByProperty("level", 3 /* Warning */) != null) {
|
|
161
|
-
return color.warning.value;
|
|
162
|
-
}
|
|
163
|
-
if (color.note != null && findings.findByProperty("level", 2 /* Note */) != null) {
|
|
164
|
-
return color.note.value;
|
|
165
|
-
}
|
|
166
|
-
return identifyColorCommon(findings, "level", 1 /* None */, 0 /* Unknown */, color);
|
|
167
|
-
}
|
|
168
|
-
function identifyColor(findings, colorOpts) {
|
|
169
|
-
if (!colorOpts) {
|
|
170
|
-
return void 0;
|
|
171
|
-
}
|
|
172
|
-
if (colorOpts.bySeverity) {
|
|
173
|
-
const color = identifyColorBySeverity(findings, colorOpts.bySeverity);
|
|
174
|
-
if (color !== void 0) {
|
|
175
|
-
return color;
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
if (colorOpts.byLevel) {
|
|
179
|
-
const color = identifyColorByLevel(findings, colorOpts.byLevel);
|
|
180
|
-
if (color !== void 0) {
|
|
181
|
-
return color;
|
|
182
|
-
}
|
|
183
|
-
}
|
|
184
|
-
if (findings.length === 0 && colorOpts.empty?.value !== void 0) {
|
|
185
|
-
return colorOpts.empty.value;
|
|
186
|
-
}
|
|
187
|
-
return colorOpts?.default?.value;
|
|
188
|
-
}
|
|
189
84
|
|
|
190
85
|
// src/model/SendIf.ts
|
|
191
86
|
var SendIf = /* @__PURE__ */ ((SendIf2) => {
|
|
@@ -273,10 +168,55 @@ function sendIfLogMessage(sendIf) {
|
|
|
273
168
|
// src/model/SlackMessage.ts
|
|
274
169
|
var import_webhook = require("@slack/webhook");
|
|
275
170
|
|
|
171
|
+
// src/types.ts
|
|
172
|
+
var LogLevel = /* @__PURE__ */ ((LogLevel2) => {
|
|
173
|
+
LogLevel2[LogLevel2["Silly"] = 0] = "Silly";
|
|
174
|
+
LogLevel2[LogLevel2["Trace"] = 1] = "Trace";
|
|
175
|
+
LogLevel2[LogLevel2["Debug"] = 2] = "Debug";
|
|
176
|
+
LogLevel2[LogLevel2["Info"] = 3] = "Info";
|
|
177
|
+
LogLevel2[LogLevel2["Warning"] = 4] = "Warning";
|
|
178
|
+
LogLevel2[LogLevel2["Error"] = 5] = "Error";
|
|
179
|
+
LogLevel2[LogLevel2["Fatal"] = 6] = "Fatal";
|
|
180
|
+
return LogLevel2;
|
|
181
|
+
})(LogLevel || {});
|
|
182
|
+
var FooterType = /* @__PURE__ */ ((FooterType2) => {
|
|
183
|
+
FooterType2["PlainText"] = "plain_text";
|
|
184
|
+
FooterType2["Markdown"] = "mrkdwn";
|
|
185
|
+
return FooterType2;
|
|
186
|
+
})(FooterType || {});
|
|
187
|
+
var RepresentationType = /* @__PURE__ */ ((RepresentationType2) => {
|
|
188
|
+
RepresentationType2[RepresentationType2["CompactGroupByRunPerLevel"] = 0] = "CompactGroupByRunPerLevel";
|
|
189
|
+
RepresentationType2[RepresentationType2["CompactGroupByRunPerSeverity"] = 1] = "CompactGroupByRunPerSeverity";
|
|
190
|
+
RepresentationType2[RepresentationType2["CompactGroupByToolNamePerLevel"] = 2] = "CompactGroupByToolNamePerLevel";
|
|
191
|
+
RepresentationType2[RepresentationType2["CompactGroupByToolNamePerSeverity"] = 3] = "CompactGroupByToolNamePerSeverity";
|
|
192
|
+
RepresentationType2[RepresentationType2["CompactGroupBySarifPerLevel"] = 4] = "CompactGroupBySarifPerLevel";
|
|
193
|
+
RepresentationType2[RepresentationType2["CompactGroupBySarifPerSeverity"] = 5] = "CompactGroupBySarifPerSeverity";
|
|
194
|
+
RepresentationType2[RepresentationType2["CompactTotalPerLevel"] = 6] = "CompactTotalPerLevel";
|
|
195
|
+
RepresentationType2[RepresentationType2["CompactTotalPerSeverity"] = 7] = "CompactTotalPerSeverity";
|
|
196
|
+
return RepresentationType2;
|
|
197
|
+
})(RepresentationType || {});
|
|
198
|
+
var SecuritySeverity = /* @__PURE__ */ ((SecuritySeverity2) => {
|
|
199
|
+
SecuritySeverity2[SecuritySeverity2["Unknown"] = 0] = "Unknown";
|
|
200
|
+
SecuritySeverity2[SecuritySeverity2["None"] = 1] = "None";
|
|
201
|
+
SecuritySeverity2[SecuritySeverity2["Low"] = 2] = "Low";
|
|
202
|
+
SecuritySeverity2[SecuritySeverity2["Medium"] = 3] = "Medium";
|
|
203
|
+
SecuritySeverity2[SecuritySeverity2["High"] = 4] = "High";
|
|
204
|
+
SecuritySeverity2[SecuritySeverity2["Critical"] = 5] = "Critical";
|
|
205
|
+
return SecuritySeverity2;
|
|
206
|
+
})(SecuritySeverity || {});
|
|
207
|
+
var SecurityLevel = /* @__PURE__ */ ((SecurityLevel2) => {
|
|
208
|
+
SecurityLevel2[SecurityLevel2["Unknown"] = 0] = "Unknown";
|
|
209
|
+
SecurityLevel2[SecurityLevel2["None"] = 1] = "None";
|
|
210
|
+
SecurityLevel2[SecurityLevel2["Note"] = 2] = "Note";
|
|
211
|
+
SecurityLevel2[SecurityLevel2["Warning"] = 3] = "Warning";
|
|
212
|
+
SecurityLevel2[SecurityLevel2["Error"] = 4] = "Error";
|
|
213
|
+
return SecurityLevel2;
|
|
214
|
+
})(SecurityLevel || {});
|
|
215
|
+
|
|
276
216
|
// src/metadata.json
|
|
277
|
-
var version = "1.
|
|
278
|
-
var sha = "
|
|
279
|
-
var buildAt = "2025-08-
|
|
217
|
+
var version = "1.3.0";
|
|
218
|
+
var sha = "5c2d7ac234dc99d16b3d8ec9c05475ce26a6a573";
|
|
219
|
+
var buildAt = "2025-08-21T13:21:58Z";
|
|
280
220
|
|
|
281
221
|
// src/model/SlackMessage.ts
|
|
282
222
|
function createSlackMessage(url, opts) {
|
|
@@ -511,12 +451,17 @@ ${summary}`;
|
|
|
511
451
|
}).join("\n\n");
|
|
512
452
|
}
|
|
513
453
|
composeCompactReport(findings, key) {
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
454
|
+
const result = [];
|
|
455
|
+
findings.reduce((grouped, f) => {
|
|
456
|
+
if (!grouped.get(f[key])) {
|
|
457
|
+
grouped.set(f[key], new Array());
|
|
517
458
|
}
|
|
518
|
-
|
|
519
|
-
|
|
459
|
+
grouped.get(f[key])?.push(f);
|
|
460
|
+
return grouped;
|
|
461
|
+
}, /* @__PURE__ */ new Map()).forEach((v, k) => {
|
|
462
|
+
result.push(`${this.bold(this.extractEnumValue(key, k))}: ${v.length}`);
|
|
463
|
+
});
|
|
464
|
+
return result.join(", ");
|
|
520
465
|
}
|
|
521
466
|
extractEnumValue(key, prop) {
|
|
522
467
|
switch (key) {
|
|
@@ -898,6 +843,160 @@ var FindingImpl = class {
|
|
|
898
843
|
}
|
|
899
844
|
};
|
|
900
845
|
|
|
846
|
+
// src/model/color/ColorIdentification.ts
|
|
847
|
+
function logColorTaken(color, prop) {
|
|
848
|
+
Logger.debug(`Message has ${color?.color} color taken from '${prop}' property.`);
|
|
849
|
+
}
|
|
850
|
+
function logPropDefinedButNoFindings(key, val) {
|
|
851
|
+
const prop = key === "level" ? "byLevel" : "bySeverity";
|
|
852
|
+
Logger.trace(`'${prop}.${val}' property is defined but no findings with "${val}" ${key} is found. Continue color identification...`);
|
|
853
|
+
}
|
|
854
|
+
function logPropIsNotDefined(key, val) {
|
|
855
|
+
const prop = key === "level" ? "byLevel" : "bySeverity";
|
|
856
|
+
Logger.trace(`'${prop}.${val}' property is not defined. Continue color identification...`);
|
|
857
|
+
}
|
|
858
|
+
function identifyColorCommon(findings, prop, none, unknown, color) {
|
|
859
|
+
if (color.none) {
|
|
860
|
+
if (findings.findByProperty(prop, none) != null) {
|
|
861
|
+
logColorTaken(color.none, `${prop === "severity" ? "bySeverity" : "byLevel"}.none`);
|
|
862
|
+
return color.none.color;
|
|
863
|
+
} else {
|
|
864
|
+
logPropDefinedButNoFindings(prop, "none");
|
|
865
|
+
}
|
|
866
|
+
} else {
|
|
867
|
+
logPropIsNotDefined(prop, "none");
|
|
868
|
+
}
|
|
869
|
+
if (color.unknown) {
|
|
870
|
+
if (findings.findByProperty(prop, unknown) != null) {
|
|
871
|
+
logColorTaken(color.unknown, `${prop === "severity" ? "bySeverity" : "byLevel"}.unknown`);
|
|
872
|
+
return color.unknown.color;
|
|
873
|
+
} else {
|
|
874
|
+
logPropDefinedButNoFindings(prop, "unknown");
|
|
875
|
+
}
|
|
876
|
+
} else {
|
|
877
|
+
logPropIsNotDefined(prop, "unknown");
|
|
878
|
+
}
|
|
879
|
+
return void 0;
|
|
880
|
+
}
|
|
881
|
+
function identifyColorBySeverity(findings, color) {
|
|
882
|
+
if (color.critical) {
|
|
883
|
+
if (findings.findByProperty("severity", 5 /* Critical */) != null) {
|
|
884
|
+
logColorTaken(color.critical, "bySeverity.critical");
|
|
885
|
+
return color.critical.color;
|
|
886
|
+
} else {
|
|
887
|
+
logPropDefinedButNoFindings("severity", "critical");
|
|
888
|
+
}
|
|
889
|
+
} else {
|
|
890
|
+
logPropIsNotDefined("severity", "critical");
|
|
891
|
+
}
|
|
892
|
+
if (color.high) {
|
|
893
|
+
if (findings.findByProperty("severity", 4 /* High */) != null) {
|
|
894
|
+
logColorTaken(color.high, "bySeverity.high");
|
|
895
|
+
return color.high.color;
|
|
896
|
+
} else {
|
|
897
|
+
logPropDefinedButNoFindings("severity", "high");
|
|
898
|
+
}
|
|
899
|
+
} else {
|
|
900
|
+
logPropIsNotDefined("severity", "high");
|
|
901
|
+
}
|
|
902
|
+
if (color.medium) {
|
|
903
|
+
if (findings.findByProperty("severity", 3 /* Medium */) != null) {
|
|
904
|
+
logColorTaken(color.medium, "bySeverity.medium");
|
|
905
|
+
return color.medium.color;
|
|
906
|
+
} else {
|
|
907
|
+
logPropDefinedButNoFindings("severity", "medium");
|
|
908
|
+
}
|
|
909
|
+
} else {
|
|
910
|
+
logPropIsNotDefined("severity", "medium");
|
|
911
|
+
}
|
|
912
|
+
if (color.low) {
|
|
913
|
+
if (findings.findByProperty("severity", 2 /* Low */) != null) {
|
|
914
|
+
logColorTaken(color.low, "bySeverity.low");
|
|
915
|
+
return color.low.color;
|
|
916
|
+
} else {
|
|
917
|
+
logPropDefinedButNoFindings("severity", "low");
|
|
918
|
+
}
|
|
919
|
+
} else {
|
|
920
|
+
logPropIsNotDefined("severity", "low");
|
|
921
|
+
}
|
|
922
|
+
return identifyColorCommon(findings, "severity", 1 /* None */, 0 /* Unknown */, color);
|
|
923
|
+
}
|
|
924
|
+
function identifyColorByLevel(findings, color) {
|
|
925
|
+
if (color.error) {
|
|
926
|
+
if (findings.findByProperty("level", 4 /* Error */) != null) {
|
|
927
|
+
logColorTaken(color.error, "byLevel.error");
|
|
928
|
+
return color.error.color;
|
|
929
|
+
} else {
|
|
930
|
+
logPropDefinedButNoFindings("level", "error");
|
|
931
|
+
}
|
|
932
|
+
} else {
|
|
933
|
+
logPropIsNotDefined("level", "error");
|
|
934
|
+
}
|
|
935
|
+
if (color.warning) {
|
|
936
|
+
if (findings.findByProperty("level", 3 /* Warning */) != null) {
|
|
937
|
+
logColorTaken(color.warning, "byLevel.warning");
|
|
938
|
+
return color.warning.color;
|
|
939
|
+
} else {
|
|
940
|
+
logPropDefinedButNoFindings("level", "warning");
|
|
941
|
+
}
|
|
942
|
+
} else {
|
|
943
|
+
logPropIsNotDefined("level", "warning");
|
|
944
|
+
}
|
|
945
|
+
if (color.note != null) {
|
|
946
|
+
if (findings.findByProperty("level", 2 /* Note */) != null) {
|
|
947
|
+
logColorTaken(color.note, "byLevel.note");
|
|
948
|
+
return color.note.color;
|
|
949
|
+
} else {
|
|
950
|
+
logPropDefinedButNoFindings("level", "note");
|
|
951
|
+
}
|
|
952
|
+
} else {
|
|
953
|
+
logPropIsNotDefined("level", "note");
|
|
954
|
+
}
|
|
955
|
+
return identifyColorCommon(findings, "level", 1 /* None */, 0 /* Unknown */, color);
|
|
956
|
+
}
|
|
957
|
+
function identifyColor(findings, colorOpts) {
|
|
958
|
+
if (!colorOpts) {
|
|
959
|
+
Logger.debug("Message has no color as color options are not defined.");
|
|
960
|
+
return void 0;
|
|
961
|
+
}
|
|
962
|
+
Logger.trace(`Identifying color for ${findings.length} findings and the following color options:`, JSON.stringify(colorOpts, null, 2));
|
|
963
|
+
if (colorOpts.bySeverity) {
|
|
964
|
+
const color = identifyColorBySeverity(findings, colorOpts.bySeverity);
|
|
965
|
+
if (color) {
|
|
966
|
+
return color;
|
|
967
|
+
}
|
|
968
|
+
Logger.trace("None of the properties in 'bySeverity' group is applicable. Continue color identification...");
|
|
969
|
+
} else {
|
|
970
|
+
Logger.trace("'bySeverity' group is not defined. Continue color identification...");
|
|
971
|
+
}
|
|
972
|
+
if (colorOpts.byLevel) {
|
|
973
|
+
const color = identifyColorByLevel(findings, colorOpts.byLevel);
|
|
974
|
+
if (color) {
|
|
975
|
+
return color;
|
|
976
|
+
}
|
|
977
|
+
Logger.trace("None of the properties in 'byLevel' group is applicable. Continue color identification...");
|
|
978
|
+
} else {
|
|
979
|
+
Logger.trace("'byLevel' group is not defined. Continue color identification...");
|
|
980
|
+
}
|
|
981
|
+
if (findings.length === 0) {
|
|
982
|
+
Logger.trace('There are no findings in the provided SARIF file(s). Checking if color is defined in "empty" property...');
|
|
983
|
+
if (colorOpts.empty?.color) {
|
|
984
|
+
logColorTaken(colorOpts.empty, "empty");
|
|
985
|
+
return colorOpts.empty.color;
|
|
986
|
+
} else {
|
|
987
|
+
Logger.trace('"empty" color is not defined. Continue color identification...');
|
|
988
|
+
}
|
|
989
|
+
} else {
|
|
990
|
+
Logger.trace(`"empty" color is not taken into account because there are ${findings.length} findings in the provided SARIF file(s). Continue color identification...`);
|
|
991
|
+
}
|
|
992
|
+
if (colorOpts.default?.color) {
|
|
993
|
+
logColorTaken(colorOpts.default, "default");
|
|
994
|
+
} else {
|
|
995
|
+
Logger.debug("Message has no color as none of the defined color options is applicable.");
|
|
996
|
+
}
|
|
997
|
+
return colorOpts?.default?.color;
|
|
998
|
+
}
|
|
999
|
+
|
|
901
1000
|
// src/SarifToSlackClient.ts
|
|
902
1001
|
var SarifToSlackClient = class _SarifToSlackClient {
|
|
903
1002
|
_message;
|
package/dist/index.d.ts
CHANGED
|
@@ -75,7 +75,8 @@
|
|
|
75
75
|
*
|
|
76
76
|
* @packageDocumentation
|
|
77
77
|
*/
|
|
78
|
-
export { Color
|
|
78
|
+
export { Color } from './model/color/Color';
|
|
79
|
+
export { ColorOptions, ColorGroupCommon, ColorGroupByLevel, ColorGroupBySeverity } from './model/color/ColorOptions';
|
|
79
80
|
export { SendIf } from './model/SendIf';
|
|
80
81
|
export { SlackMessage } from './model/SlackMessage';
|
|
81
82
|
export { SarifToSlackClient } from './SarifToSlackClient';
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AACH,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4EG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAC3C,OAAO,EACL,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAA;AACnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EACL,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,4BAA4B,EAC5B,QAAQ,EACR,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,yBAAyB,EAC1B,MAAM,SAAS,CAAA"}
|
package/dist/index.js
CHANGED
|
@@ -76,8 +76,8 @@
|
|
|
76
76
|
*
|
|
77
77
|
* @packageDocumentation
|
|
78
78
|
*/
|
|
79
|
-
export { Color } from './model/Color';
|
|
79
|
+
export { Color } from './model/color/Color';
|
|
80
80
|
export { SendIf } from './model/SendIf';
|
|
81
81
|
export { SarifToSlackClient } from './SarifToSlackClient';
|
|
82
82
|
export { FooterType, LogLevel, RepresentationType } from './types';
|
|
83
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEZBQTBGO0FBRTFGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBNEVHO0FBQ0gsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBTzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUV2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN6RCxPQUFPLEVBRUwsVUFBVSxFQUdWLFFBQVEsRUFFUixrQkFBa0IsRUFJbkIsTUFBTSxTQUFTLENBQUEifQ==
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This class represents a color in hex format.
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export declare class Color {
|
|
6
|
+
/**
|
|
7
|
+
* A valid string that represents a color in hex format.
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
readonly color: string;
|
|
11
|
+
private constructor();
|
|
12
|
+
/**
|
|
13
|
+
* Creates an instance of {@link Color} class. Before creating an instance of
|
|
14
|
+
* {@link Color} class, it (if applicable) maps CI status into the hex color,
|
|
15
|
+
* and also validates color parameter to be a valid string that represents a
|
|
16
|
+
* color in hex format.
|
|
17
|
+
* @param color - Can be either undefined, valid color in hex format or GitHub
|
|
18
|
+
* CI status (one of: success, failure, cancelled, skipped).
|
|
19
|
+
* @returns An instance of {@link Color} or undefined if color parameter is falsy.
|
|
20
|
+
* @public
|
|
21
|
+
*/
|
|
22
|
+
static from(color: string | undefined): Color | undefined;
|
|
23
|
+
private assertHexColor;
|
|
24
|
+
private mapColor;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=Color.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Color.d.ts","sourceRoot":"","sources":["../../../src/model/color/Color.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,qBAAa,KAAK;IAChB;;;OAGG;IACH,SAAgB,KAAK,EAAE,MAAM,CAAA;IAE7B,OAAO;IAKP;;;;;;;;;OASG;WACW,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS;IAIhE,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,QAAQ;CASjB"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* This class represents a color in hex format.
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export class Color {
|
|
6
|
+
/**
|
|
7
|
+
* A valid string that represents a color in hex format.
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
color;
|
|
11
|
+
constructor(color) {
|
|
12
|
+
this.color = this.mapColor(color);
|
|
13
|
+
this.assertHexColor();
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Creates an instance of {@link Color} class. Before creating an instance of
|
|
17
|
+
* {@link Color} class, it (if applicable) maps CI status into the hex color,
|
|
18
|
+
* and also validates color parameter to be a valid string that represents a
|
|
19
|
+
* color in hex format.
|
|
20
|
+
* @param color - Can be either undefined, valid color in hex format or GitHub
|
|
21
|
+
* CI status (one of: success, failure, cancelled, skipped).
|
|
22
|
+
* @returns An instance of {@link Color} or undefined if color parameter is falsy.
|
|
23
|
+
* @public
|
|
24
|
+
*/
|
|
25
|
+
static from(color) {
|
|
26
|
+
return color ? new Color(color) : undefined;
|
|
27
|
+
}
|
|
28
|
+
assertHexColor() {
|
|
29
|
+
if (this.color) {
|
|
30
|
+
const hexColorRegex = /^#(?:[0-9A-Fa-f]{3}|[0-9A-Fa-f]{4}|[0-9A-Fa-f]{6}|[0-9A-Fa-f]{8})$/;
|
|
31
|
+
if (!hexColorRegex.test(this.color)) {
|
|
32
|
+
throw new Error(`Invalid hex color: "${this.color}"`);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
mapColor(from) {
|
|
37
|
+
const map = new Map([
|
|
38
|
+
['success', '#008000'],
|
|
39
|
+
['failure', '#ff0000'],
|
|
40
|
+
['cancelled', '#0047ab'],
|
|
41
|
+
['skipped', '#808080'],
|
|
42
|
+
]);
|
|
43
|
+
return map.get(from) ?? from;
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29sb3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbW9kZWwvY29sb3IvQ29sb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBQ0gsTUFBTSxPQUFPLEtBQUs7SUFDaEI7OztPQUdHO0lBQ2EsS0FBSyxDQUFRO0lBRTdCLFlBQW9CLEtBQWE7UUFDL0IsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ2pDLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtJQUN2QixDQUFDO0lBRUQ7Ozs7Ozs7OztPQVNHO0lBQ0ksTUFBTSxDQUFDLElBQUksQ0FBQyxLQUF5QjtRQUMxQyxPQUFPLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQTtJQUM3QyxDQUFDO0lBRU8sY0FBYztRQUNwQixJQUFJLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNmLE1BQU0sYUFBYSxHQUFHLG9FQUFvRSxDQUFBO1lBRTFGLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO2dCQUNwQyxNQUFNLElBQUksS0FBSyxDQUFDLHVCQUF1QixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQTtZQUN2RCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFTyxRQUFRLENBQUMsSUFBWTtRQUMzQixNQUFNLEdBQUcsR0FBRyxJQUFJLEdBQUcsQ0FBaUI7WUFDbEMsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO1lBQ3RCLENBQUMsU0FBUyxFQUFFLFNBQVMsQ0FBQztZQUN0QixDQUFDLFdBQVcsRUFBRSxTQUFTLENBQUM7WUFDeEIsQ0FBQyxTQUFTLEVBQUUsU0FBUyxDQUFDO1NBQ3ZCLENBQUMsQ0FBQTtRQUNGLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUE7SUFDOUIsQ0FBQztDQUNGIn0=
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ColorIdentification.d.ts","sourceRoot":"","sources":["../../../src/model/color/ColorIdentification.ts"],"names":[],"mappings":""}
|