@fabasoad/sarif-to-slack 1.3.5 → 1.4.2
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/.github/workflows/release.yml +18 -9
- package/.github/workflows/security.yml +1 -0
- package/.github/workflows/send-sarif-to-slack.yml +49 -17
- package/.github/workflows/unit-tests.yml +3 -3
- package/.pre-commit-config.yaml +5 -5
- package/.tool-versions +1 -1
- package/Makefile +13 -13
- package/README.md +8 -7
- package/api-extractor.json +1 -1
- package/biome.json +1 -1
- package/dist/SarifToSlackClient.d.ts +0 -1
- package/dist/SarifToSlackClient.d.ts.map +1 -1
- package/dist/SarifToSlackClient.js +12 -9
- package/dist/globalState.d.ts +2 -0
- package/dist/globalState.d.ts.map +1 -0
- package/dist/globalState.js +2 -0
- package/dist/index.cjs +86 -100
- package/dist/index.d.ts +36 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -2
- package/dist/model/Finding.js +7 -6
- package/dist/model/FindingArray.js +1 -1
- package/dist/model/SendIf.js +1 -1
- package/dist/model/SlackMessage.d.ts.map +1 -1
- package/dist/model/SlackMessage.js +6 -6
- package/dist/model/color/Color.d.ts.map +1 -1
- package/dist/model/color/Color.js +1 -1
- package/dist/model/color/ColorIdentification.js +7 -7
- package/dist/model/color/ColorOptions.d.ts.map +1 -1
- package/dist/processors/CodeQLProcessor.js +1 -1
- package/dist/processors/CommonProcessor.js +1 -1
- package/dist/processors/ProcessorFactory.js +1 -1
- package/dist/processors/SnykProcessor.js +2 -1
- package/dist/representations/CompactGroupByRepresentation.js +1 -1
- package/dist/representations/CompactGroupByRunPerLevelRepresentation.js +1 -1
- package/dist/representations/CompactGroupByRunPerSeverityRepresentation.js +1 -1
- package/dist/representations/CompactGroupByRunRepresentation.js +1 -1
- package/dist/representations/CompactGroupBySarifPerLevelRepresentation.js +1 -1
- package/dist/representations/CompactGroupBySarifPerSeverityRepresentation.js +1 -1
- package/dist/representations/CompactGroupBySarifRepresentation.js +1 -1
- package/dist/representations/CompactGroupByToolNamePerLevelRepresentation.js +1 -1
- package/dist/representations/CompactGroupByToolNamePerSeverityRepresentation.js +1 -1
- package/dist/representations/CompactGroupByToolNameRepresentation.js +1 -1
- package/dist/representations/CompactTotalPerLevelRepresentation.js +1 -1
- package/dist/representations/CompactTotalPerSeverityRepresentation.js +1 -1
- package/dist/representations/CompactTotalRepresentation.js +1 -1
- package/dist/representations/Representation.js +1 -1
- package/dist/representations/RepresentationFactory.js +1 -1
- package/dist/representations/TableGroupByRunPerLevelRepresentation.d.ts.map +1 -1
- package/dist/representations/TableGroupByRunPerLevelRepresentation.js +1 -1
- package/dist/representations/TableGroupByRunPerSeverityRepresentation.d.ts.map +1 -1
- package/dist/representations/TableGroupByRunPerSeverityRepresentation.js +1 -1
- package/dist/representations/TableGroupByRunRepresentation.d.ts.map +1 -1
- package/dist/representations/TableGroupByRunRepresentation.js +1 -1
- package/dist/representations/TableGroupBySarifPerLevelRepresentation.d.ts.map +1 -1
- package/dist/representations/TableGroupBySarifPerLevelRepresentation.js +1 -1
- package/dist/representations/TableGroupBySarifPerSeverityRepresentation.d.ts.map +1 -1
- package/dist/representations/TableGroupBySarifPerSeverityRepresentation.js +1 -1
- package/dist/representations/TableGroupBySarifRepresentation.d.ts.map +1 -1
- package/dist/representations/TableGroupBySarifRepresentation.js +1 -1
- package/dist/representations/TableGroupByToolNamePerLevelRepresentation.d.ts.map +1 -1
- package/dist/representations/TableGroupByToolNamePerLevelRepresentation.js +1 -1
- package/dist/representations/TableGroupByToolNamePerSeverityRepresentation.d.ts.map +1 -1
- package/dist/representations/TableGroupByToolNamePerSeverityRepresentation.js +1 -1
- package/dist/representations/TableGroupByToolNameRepresentation.d.ts.map +1 -1
- package/dist/representations/TableGroupByToolNameRepresentation.js +1 -1
- package/dist/representations/TableGroupRepresentation.d.ts +0 -1
- package/dist/representations/TableGroupRepresentation.d.ts.map +1 -1
- package/dist/representations/TableGroupRepresentation.js +4 -4
- package/dist/representations/table/Cell.d.ts.map +1 -1
- package/dist/representations/table/Cell.js +1 -1
- package/dist/representations/table/Column.d.ts +0 -1
- package/dist/representations/table/Column.d.ts.map +1 -1
- package/dist/representations/table/Column.js +4 -4
- package/dist/representations/table/Row.d.ts +0 -1
- package/dist/representations/table/Row.d.ts.map +1 -1
- package/dist/representations/table/Row.js +4 -4
- package/dist/representations/table/Table.d.ts.map +1 -1
- package/dist/representations/table/Table.js +1 -1
- package/dist/setupLogger.d.ts +16 -0
- package/dist/setupLogger.d.ts.map +1 -0
- package/dist/setupLogger.js +43 -0
- package/dist/system.js +6 -6
- package/dist/tsdoc-metadata.json +1 -1
- package/dist/types.d.ts +25 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +11 -1
- package/dist/utils/Comparators.js +1 -1
- package/dist/utils/ExtendedArray.js +1 -1
- package/dist/utils/FileUtils.js +3 -3
- package/dist/utils/SarifUtils.js +1 -1
- package/dist/utils/StringUtils.js +1 -1
- package/etc/sarif-to-slack.api.md +17 -1
- package/package.json +24 -22
- package/pnpm-workspace.yaml +8 -0
- package/scripts/build.sh +1 -1
- package/src/SarifToSlackClient.ts +73 -68
- package/src/globalState.ts +11 -0
- package/src/index.ts +23 -12
- package/src/model/Finding.ts +36 -35
- package/src/model/FindingArray.ts +5 -5
- package/src/model/SendIf.ts +25 -25
- package/src/model/SlackMessage.ts +52 -49
- package/src/model/color/Color.ts +7 -7
- package/src/model/color/ColorIdentification.ts +77 -77
- package/src/model/color/ColorOptions.ts +1 -1
- package/src/processors/CodeQLProcessor.ts +3 -3
- package/src/processors/CommonProcessor.ts +24 -24
- package/src/processors/ProcessorFactory.ts +9 -9
- package/src/processors/SnykProcessor.ts +3 -2
- package/src/representations/CompactGroupByRepresentation.ts +20 -20
- package/src/representations/CompactGroupByRunPerLevelRepresentation.ts +2 -2
- package/src/representations/CompactGroupByRunPerSeverityRepresentation.ts +2 -2
- package/src/representations/CompactGroupByRunRepresentation.ts +10 -10
- package/src/representations/CompactGroupBySarifPerLevelRepresentation.ts +2 -2
- package/src/representations/CompactGroupBySarifPerSeverityRepresentation.ts +2 -2
- package/src/representations/CompactGroupBySarifRepresentation.ts +11 -11
- package/src/representations/CompactGroupByToolNamePerLevelRepresentation.ts +2 -2
- package/src/representations/CompactGroupByToolNamePerSeverityRepresentation.ts +2 -2
- package/src/representations/CompactGroupByToolNameRepresentation.ts +10 -10
- package/src/representations/CompactTotalPerLevelRepresentation.ts +2 -2
- package/src/representations/CompactTotalPerSeverityRepresentation.ts +2 -2
- package/src/representations/CompactTotalRepresentation.ts +5 -5
- package/src/representations/Representation.ts +8 -8
- package/src/representations/RepresentationFactory.ts +32 -32
- package/src/representations/TableGroupByRunPerLevelRepresentation.ts +3 -3
- package/src/representations/TableGroupByRunPerSeverityRepresentation.ts +3 -3
- package/src/representations/TableGroupByRunRepresentation.ts +5 -5
- package/src/representations/TableGroupBySarifPerLevelRepresentation.ts +3 -3
- package/src/representations/TableGroupBySarifPerSeverityRepresentation.ts +3 -3
- package/src/representations/TableGroupBySarifRepresentation.ts +9 -9
- package/src/representations/TableGroupByToolNamePerLevelRepresentation.ts +3 -3
- package/src/representations/TableGroupByToolNamePerSeverityRepresentation.ts +3 -3
- package/src/representations/TableGroupByToolNameRepresentation.ts +4 -4
- package/src/representations/TableGroupRepresentation.ts +32 -32
- package/src/representations/table/Cell.ts +8 -8
- package/src/representations/table/Column.ts +13 -13
- package/src/representations/table/Row.ts +17 -17
- package/src/representations/table/Table.ts +21 -21
- package/src/setupLogger.ts +62 -0
- package/src/system.ts +6 -6
- package/src/types.ts +39 -13
- package/src/utils/Comparators.ts +6 -6
- package/src/utils/ExtendedArray.ts +1 -1
- package/src/utils/FileUtils.ts +4 -4
- package/src/utils/SarifUtils.ts +6 -6
- package/src/utils/StringUtils.ts +3 -3
- package/tests/integration/SendSarifToSlack.spec.ts +73 -67
- package/tests/representations/CompactGroupByRunPerLevelRepresentation.spec.ts +121 -0
- package/tests/representations/CompactGroupByRunPerSeverityRepresentation.spec.ts +122 -0
- package/tests/representations/CompactGroupBySarifPerLevelRepresentation.spec.ts +132 -0
- package/tests/representations/CompactGroupBySarifPerSeverityRepresentation.spec.ts +133 -0
- package/tests/tsconfig.json +8 -0
- package/tests/vitest.d.ts +1 -0
- package/tsconfig.build.json +9 -0
- package/tsconfig.json +5 -5
- package/tsconfig.test.json +8 -0
- package/vitest.config.ts +22 -0
- package/dist/Logger.d.ts +0 -2
- package/dist/Logger.d.ts.map +0 -1
- package/dist/Logger.js +0 -66
- package/jest.config.json +0 -33
- package/src/Logger.ts +0 -81
package/dist/index.cjs
CHANGED
|
@@ -32,7 +32,9 @@ var index_exports = {};
|
|
|
32
32
|
__export(index_exports, {
|
|
33
33
|
Color: () => Color,
|
|
34
34
|
FooterType: () => FooterType,
|
|
35
|
+
LogLevelItems: () => LogLevelItems,
|
|
35
36
|
RepresentationType: () => RepresentationType,
|
|
37
|
+
SarifFileExtensionItems: () => SarifFileExtensionItems,
|
|
36
38
|
SarifToSlackClient: () => SarifToSlackClient,
|
|
37
39
|
SendIf: () => SendIf
|
|
38
40
|
});
|
|
@@ -166,87 +168,7 @@ function sendIfLogMessage(sendIf) {
|
|
|
166
168
|
|
|
167
169
|
// src/SarifToSlackClient.ts
|
|
168
170
|
var import_node_fs2 = require("fs");
|
|
169
|
-
|
|
170
|
-
// src/Logger.ts
|
|
171
|
-
var import_tslog = require("tslog");
|
|
172
|
-
var import_zod2 = require("zod");
|
|
173
|
-
|
|
174
|
-
// src/system.ts
|
|
175
|
-
var import_zod = require("zod");
|
|
176
|
-
|
|
177
|
-
// src/metadata.json
|
|
178
|
-
var version = "1.3.5";
|
|
179
|
-
var sha = "4b44572f95bfdaab5159a2bd89a3ed2b193b55aa";
|
|
180
|
-
var buildAt = "2026-04-04T14:25:40Z";
|
|
181
|
-
|
|
182
|
-
// src/system.ts
|
|
183
|
-
function logMetadata() {
|
|
184
|
-
const logger = new Logger(logMetadata.name);
|
|
185
|
-
logger.info(`version: ${version}`);
|
|
186
|
-
logger.info(`sha: ${sha}`);
|
|
187
|
-
logger.info(`built at: ${buildAt}`);
|
|
188
|
-
}
|
|
189
|
-
function isDebug() {
|
|
190
|
-
const parseResult = import_zod.z.stringbool().safeParse(
|
|
191
|
-
process.env.ACTIONS_STEP_DEBUG
|
|
192
|
-
);
|
|
193
|
-
return parseResult.success && parseResult.data;
|
|
194
|
-
}
|
|
195
|
-
|
|
196
|
-
// src/Logger.ts
|
|
197
|
-
var LogLevelItems = ["silly", "trace", "debug", "info", "warning", "error", "fatal"];
|
|
198
|
-
var Logger = class _Logger {
|
|
199
|
-
static APP_NAME = "@fabasoad/sarif-to-slack";
|
|
200
|
-
static DEFAULT_LOG_LEVEL = "info";
|
|
201
|
-
static DEFAULT_LOG_TEMPLATE = "[{{logLevelName}}] [{{name}}] {{dateIsoStr}} ";
|
|
202
|
-
static DEFAULT_LOG_COLORED = true;
|
|
203
|
-
_instance;
|
|
204
|
-
isLogLevel(v) {
|
|
205
|
-
return LogLevelItems.includes(v);
|
|
206
|
-
}
|
|
207
|
-
getMinLevel() {
|
|
208
|
-
let result = _Logger.DEFAULT_LOG_LEVEL;
|
|
209
|
-
if (isDebug()) {
|
|
210
|
-
result = "silly";
|
|
211
|
-
} else {
|
|
212
|
-
const parseResult = import_zod2.z.string().refine((v) => this.isLogLevel(v)).transform((v) => v).safeParse(process.env.SARIF_TO_SLACK_LOG_LEVEL);
|
|
213
|
-
if (parseResult.success) {
|
|
214
|
-
result = parseResult.data;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
return LogLevelItems.findIndex((v) => v === result);
|
|
218
|
-
}
|
|
219
|
-
getLogTemplate() {
|
|
220
|
-
const result = import_zod2.z.string().safeParse(process.env.SARIF_TO_SLACK_LOG_TEMPLATE);
|
|
221
|
-
return result.success ? result.data : _Logger.DEFAULT_LOG_TEMPLATE;
|
|
222
|
-
}
|
|
223
|
-
getLogColored() {
|
|
224
|
-
const result = import_zod2.z.stringbool().safeParse(process.env.SARIF_TO_SLACK_LOG_COLORED);
|
|
225
|
-
return result.success ? result.data : _Logger.DEFAULT_LOG_COLORED;
|
|
226
|
-
}
|
|
227
|
-
constructor(memberName) {
|
|
228
|
-
this._instance = new import_tslog.Logger({
|
|
229
|
-
name: `${_Logger.APP_NAME}${memberName === void 0 ? "" : `::${memberName}`}`,
|
|
230
|
-
minLevel: this.getMinLevel(),
|
|
231
|
-
type: "pretty",
|
|
232
|
-
prettyLogTimeZone: "UTC",
|
|
233
|
-
prettyLogTemplate: this.getLogTemplate(),
|
|
234
|
-
stylePrettyLogs: this.getLogColored()
|
|
235
|
-
});
|
|
236
|
-
}
|
|
237
|
-
info(...args) {
|
|
238
|
-
this._instance.info(...args);
|
|
239
|
-
}
|
|
240
|
-
warn(...args) {
|
|
241
|
-
this._instance.warn(...args);
|
|
242
|
-
}
|
|
243
|
-
trace(...args) {
|
|
244
|
-
this._instance.trace(...args);
|
|
245
|
-
}
|
|
246
|
-
debug(...args) {
|
|
247
|
-
this._instance.debug(...args);
|
|
248
|
-
}
|
|
249
|
-
};
|
|
171
|
+
var import_logtape9 = require("@logtape/logtape");
|
|
250
172
|
|
|
251
173
|
// src/types.ts
|
|
252
174
|
var FooterType = /* @__PURE__ */ ((FooterType2) => {
|
|
@@ -271,6 +193,8 @@ var RepresentationType = /* @__PURE__ */ ((RepresentationType2) => {
|
|
|
271
193
|
RepresentationType2[RepresentationType2["TableGroupBySarifPerSeverity"] = 13] = "TableGroupBySarifPerSeverity";
|
|
272
194
|
return RepresentationType2;
|
|
273
195
|
})(RepresentationType || {});
|
|
196
|
+
var SarifFileExtensionItems = ["sarif", "json"];
|
|
197
|
+
var LogLevelItems = ["trace", "debug", "info", "warning", "error", "fatal"];
|
|
274
198
|
var SecuritySeverity = /* @__PURE__ */ ((SecuritySeverity2) => {
|
|
275
199
|
SecuritySeverity2[SecuritySeverity2["Unknown"] = 0] = "Unknown";
|
|
276
200
|
SecuritySeverity2[SecuritySeverity2["None"] = 1] = "None";
|
|
@@ -295,9 +219,27 @@ var SecurityLevelValues = Object.values(SecurityLevel).filter(
|
|
|
295
219
|
(v) => typeof v === "string"
|
|
296
220
|
);
|
|
297
221
|
|
|
222
|
+
// src/system.ts
|
|
223
|
+
var import_logtape = require("@logtape/logtape");
|
|
224
|
+
var import_zod = require("zod");
|
|
225
|
+
|
|
226
|
+
// src/metadata.json
|
|
227
|
+
var version = "1.4.2";
|
|
228
|
+
var sha = "75dbc2a684a43cd4b8ab944aab54ddc25ab603ae";
|
|
229
|
+
var buildAt = "2026-07-11T14:32:13Z";
|
|
230
|
+
|
|
231
|
+
// src/system.ts
|
|
232
|
+
function logMetadata() {
|
|
233
|
+
const logger = (0, import_logtape.getLogger)();
|
|
234
|
+
logger.debug(`version: ${version}`);
|
|
235
|
+
logger.debug(`sha: ${sha}`);
|
|
236
|
+
logger.debug(`built at: ${buildAt}`);
|
|
237
|
+
}
|
|
238
|
+
|
|
298
239
|
// src/utils/FileUtils.ts
|
|
299
240
|
var import_node_fs = __toESM(require("fs"));
|
|
300
241
|
var path = __toESM(require("path"));
|
|
242
|
+
var import_logtape2 = require("@logtape/logtape");
|
|
301
243
|
function listFiles(dir, recursive, extension, fileList = []) {
|
|
302
244
|
if (import_node_fs.default.statSync(dir).isDirectory()) {
|
|
303
245
|
const entries = import_node_fs.default.readdirSync(dir);
|
|
@@ -313,10 +255,10 @@ function listFiles(dir, recursive, extension, fileList = []) {
|
|
|
313
255
|
return fileList;
|
|
314
256
|
}
|
|
315
257
|
function extractListOfFiles(opts) {
|
|
316
|
-
const logger = new Logger(extractListOfFiles.name);
|
|
317
258
|
if (!import_node_fs.default.existsSync(opts.path)) {
|
|
318
259
|
throw new Error(`Provided path does not exist: ${opts.path}`);
|
|
319
260
|
}
|
|
261
|
+
const logger = (0, import_logtape2.getLogger)();
|
|
320
262
|
const stats = import_node_fs.default.statSync(opts.path);
|
|
321
263
|
if (stats.isDirectory()) {
|
|
322
264
|
logger.info(`Provided path is a directory: ${opts.path}`);
|
|
@@ -559,14 +501,17 @@ var CompactTotalPerLevelRepresentation = class extends CompactTotalRepresentatio
|
|
|
559
501
|
}
|
|
560
502
|
};
|
|
561
503
|
|
|
504
|
+
// src/representations/TableGroupRepresentation.ts
|
|
505
|
+
var import_logtape5 = require("@logtape/logtape");
|
|
506
|
+
|
|
562
507
|
// src/representations/table/Column.ts
|
|
508
|
+
var import_logtape3 = require("@logtape/logtape");
|
|
563
509
|
var Column = class {
|
|
564
510
|
constructor(header, cellsCount) {
|
|
565
511
|
this.header = header;
|
|
566
512
|
this._cells = new Array(cellsCount);
|
|
567
513
|
}
|
|
568
514
|
header;
|
|
569
|
-
_logger = new Logger("Column");
|
|
570
515
|
_cells;
|
|
571
516
|
get total() {
|
|
572
517
|
return this._cells.reduce((sum, c) => {
|
|
@@ -586,11 +531,15 @@ var Column = class {
|
|
|
586
531
|
const width = this.width;
|
|
587
532
|
this._cells.forEach((c) => c.setWidth(width));
|
|
588
533
|
} else {
|
|
589
|
-
|
|
534
|
+
const logger = (0, import_logtape3.getLogger)();
|
|
535
|
+
logger.warn(`Cell index out of range. Requested index: ${index}. Cells count: ${this._cells.length}.`);
|
|
590
536
|
}
|
|
591
537
|
}
|
|
592
538
|
};
|
|
593
539
|
|
|
540
|
+
// src/representations/table/Row.ts
|
|
541
|
+
var import_logtape4 = require("@logtape/logtape");
|
|
542
|
+
|
|
594
543
|
// src/representations/table/Cell.ts
|
|
595
544
|
var Cell = class {
|
|
596
545
|
constructor(_value = 0) {
|
|
@@ -625,7 +574,6 @@ var Row = class {
|
|
|
625
574
|
}
|
|
626
575
|
_header;
|
|
627
576
|
headerWidth;
|
|
628
|
-
_logger = new Logger("Row");
|
|
629
577
|
_cells;
|
|
630
578
|
_totalWidth;
|
|
631
579
|
get total() {
|
|
@@ -638,7 +586,8 @@ var Row = class {
|
|
|
638
586
|
if (index >= 0 && index < this._cells.length) {
|
|
639
587
|
this._cells[index] = value;
|
|
640
588
|
} else {
|
|
641
|
-
|
|
589
|
+
const logger = (0, import_logtape4.getLogger)();
|
|
590
|
+
logger.warn(`Setting cell failed. Reason: index out of range. Requested index: ${index}. Cells count: ${this._cells.length}.`);
|
|
642
591
|
}
|
|
643
592
|
}
|
|
644
593
|
get totalWidth() {
|
|
@@ -736,7 +685,6 @@ var TableGroupRepresentation = class extends Representation {
|
|
|
736
685
|
_keyBy;
|
|
737
686
|
_keyPer;
|
|
738
687
|
_values;
|
|
739
|
-
_logger = new Logger("TableGroupRepresentation");
|
|
740
688
|
groupFindingsPer(findings) {
|
|
741
689
|
return findings.reduce(
|
|
742
690
|
(grouped, f) => {
|
|
@@ -775,6 +723,7 @@ var TableGroupRepresentation = class extends Representation {
|
|
|
775
723
|
}
|
|
776
724
|
}
|
|
777
725
|
compose() {
|
|
726
|
+
const logger = (0, import_logtape5.getLogger)();
|
|
778
727
|
const groupedBy = this.groupFindingsBy(this._model.findings);
|
|
779
728
|
const table = new Table({
|
|
780
729
|
main: this.title,
|
|
@@ -790,7 +739,7 @@ var TableGroupRepresentation = class extends Representation {
|
|
|
790
739
|
i++;
|
|
791
740
|
}
|
|
792
741
|
const result = this.codeBlock(table.toString());
|
|
793
|
-
|
|
742
|
+
logger.trace(result);
|
|
794
743
|
return result;
|
|
795
744
|
}
|
|
796
745
|
};
|
|
@@ -902,6 +851,9 @@ function createRepresentation(model, type = 3 /* CompactGroupByToolNamePerSeveri
|
|
|
902
851
|
}
|
|
903
852
|
}
|
|
904
853
|
|
|
854
|
+
// src/model/Finding.ts
|
|
855
|
+
var import_logtape6 = require("@logtape/logtape");
|
|
856
|
+
|
|
905
857
|
// src/utils/SarifUtils.ts
|
|
906
858
|
function findToolComponentDriver(run) {
|
|
907
859
|
return run.tool.driver;
|
|
@@ -998,6 +950,7 @@ var SnykProcessor = class extends CommonProcessor {
|
|
|
998
950
|
* property where CVSS score is also defined. This method tries to get level
|
|
999
951
|
* from this "cvssv3_baseScore" property and if it fails to do so, then it tries
|
|
1000
952
|
* to get CVSS score in a common way.
|
|
953
|
+
* @internal
|
|
1001
954
|
*/
|
|
1002
955
|
tryFindCvssScore() {
|
|
1003
956
|
return this.tryFindRuleProperty("cvssv3_baseScore") ?? super.tryFindCvssScore();
|
|
@@ -1035,7 +988,6 @@ function createFinding(opts) {
|
|
|
1035
988
|
return new FindingImpl(opts);
|
|
1036
989
|
}
|
|
1037
990
|
var FindingImpl = class {
|
|
1038
|
-
_logger = new Logger("FindingImpl");
|
|
1039
991
|
_runMetadata;
|
|
1040
992
|
_result;
|
|
1041
993
|
_sarifPath;
|
|
@@ -1081,7 +1033,8 @@ var FindingImpl = class {
|
|
|
1081
1033
|
this._levelCache = this._processor.tryFindLevel();
|
|
1082
1034
|
}
|
|
1083
1035
|
if (this._levelCache === void 0) {
|
|
1084
|
-
|
|
1036
|
+
const logger = (0, import_logtape6.getLogger)();
|
|
1037
|
+
logger.debug(`Unknown level of ${this._rule?.id} rule`);
|
|
1085
1038
|
return 0 /* Unknown */;
|
|
1086
1039
|
}
|
|
1087
1040
|
switch (this._levelCache) {
|
|
@@ -1097,7 +1050,8 @@ var FindingImpl = class {
|
|
|
1097
1050
|
}
|
|
1098
1051
|
get severity() {
|
|
1099
1052
|
if (this.cvssScore == null || this.cvssScore < 0 || this.cvssScore > 10) {
|
|
1100
|
-
|
|
1053
|
+
const logger = (0, import_logtape6.getLogger)();
|
|
1054
|
+
logger.debug(`Unsupported CVSS score ${this.cvssScore} in ${this._rule?.id} rule`);
|
|
1101
1055
|
return 0 /* Unknown */;
|
|
1102
1056
|
}
|
|
1103
1057
|
if (this.cvssScore >= 9) {
|
|
@@ -1117,6 +1071,7 @@ var FindingImpl = class {
|
|
|
1117
1071
|
};
|
|
1118
1072
|
|
|
1119
1073
|
// src/model/color/ColorIdentification.ts
|
|
1074
|
+
var import_logtape7 = require("@logtape/logtape");
|
|
1120
1075
|
function logColorTaken(logger, color, prop) {
|
|
1121
1076
|
logger.debug(`Message has ${color?.color} color taken from '${prop}' property.`);
|
|
1122
1077
|
}
|
|
@@ -1129,7 +1084,7 @@ function logPropIsNotDefined(logger, key, val) {
|
|
|
1129
1084
|
logger.trace(`'${prop}.${val}' property is not defined. Continue color identification...`);
|
|
1130
1085
|
}
|
|
1131
1086
|
function identifyColorCommon(findings, prop, none, unknown, color) {
|
|
1132
|
-
const logger =
|
|
1087
|
+
const logger = (0, import_logtape7.getLogger)();
|
|
1133
1088
|
if (color.none) {
|
|
1134
1089
|
if (findings.findByProperty(prop, none) != null) {
|
|
1135
1090
|
logColorTaken(logger, color.none, `${prop === "severity" ? "bySeverity" : "byLevel"}.none`);
|
|
@@ -1153,7 +1108,7 @@ function identifyColorCommon(findings, prop, none, unknown, color) {
|
|
|
1153
1108
|
return void 0;
|
|
1154
1109
|
}
|
|
1155
1110
|
function identifyColorBySeverity(findings, color) {
|
|
1156
|
-
const logger =
|
|
1111
|
+
const logger = (0, import_logtape7.getLogger)();
|
|
1157
1112
|
if (color.critical) {
|
|
1158
1113
|
if (findings.findByProperty("severity", 5 /* Critical */) != null) {
|
|
1159
1114
|
logColorTaken(logger, color.critical, "bySeverity.critical");
|
|
@@ -1197,7 +1152,7 @@ function identifyColorBySeverity(findings, color) {
|
|
|
1197
1152
|
return identifyColorCommon(findings, "severity", 1 /* None */, 0 /* Unknown */, color);
|
|
1198
1153
|
}
|
|
1199
1154
|
function identifyColorByLevel(findings, color) {
|
|
1200
|
-
const logger =
|
|
1155
|
+
const logger = (0, import_logtape7.getLogger)();
|
|
1201
1156
|
if (color.error) {
|
|
1202
1157
|
if (findings.findByProperty("level", 4 /* Error */) != null) {
|
|
1203
1158
|
logColorTaken(logger, color.error, "byLevel.error");
|
|
@@ -1231,12 +1186,12 @@ function identifyColorByLevel(findings, color) {
|
|
|
1231
1186
|
return identifyColorCommon(findings, "level", 1 /* None */, 0 /* Unknown */, color);
|
|
1232
1187
|
}
|
|
1233
1188
|
function identifyColor(findings, colorOpts) {
|
|
1234
|
-
const logger =
|
|
1189
|
+
const logger = (0, import_logtape7.getLogger)();
|
|
1235
1190
|
if (!colorOpts) {
|
|
1236
1191
|
logger.debug("Message has no color as color options are not defined.");
|
|
1237
1192
|
return void 0;
|
|
1238
1193
|
}
|
|
1239
|
-
logger.trace(`Identifying color for ${findings.length} findings and the following color options
|
|
1194
|
+
logger.trace(`Identifying color for ${findings.length} findings and the following color options: {data}`, { data: JSON.stringify(colorOpts, null, 2) });
|
|
1240
1195
|
if (colorOpts.bySeverity) {
|
|
1241
1196
|
const color = identifyColorBySeverity(findings, colorOpts.bySeverity);
|
|
1242
1197
|
if (color) {
|
|
@@ -1360,9 +1315,35 @@ var SlackMessageImpl = class {
|
|
|
1360
1315
|
}
|
|
1361
1316
|
};
|
|
1362
1317
|
|
|
1318
|
+
// src/setupLogger.ts
|
|
1319
|
+
var import_logtape8 = require("@logtape/logtape");
|
|
1320
|
+
function setupLogger(opts) {
|
|
1321
|
+
const lowestLevel = opts?.lowestLevel ?? "info";
|
|
1322
|
+
const category = opts?.name && opts?.name.length > 0 ? (_) => opts.name : void 0;
|
|
1323
|
+
(0, import_logtape8.configureSync)({
|
|
1324
|
+
reset: false,
|
|
1325
|
+
sinks: {
|
|
1326
|
+
console: (0, import_logtape8.getConsoleSink)({
|
|
1327
|
+
formatter: (0, import_logtape8.getAnsiColorFormatter)({ category })
|
|
1328
|
+
})
|
|
1329
|
+
},
|
|
1330
|
+
loggers: [
|
|
1331
|
+
{
|
|
1332
|
+
category: ["logtape", "meta"],
|
|
1333
|
+
lowestLevel: Array.from(["warning", "error", "fatal"]).includes(lowestLevel) ? lowestLevel : "warning",
|
|
1334
|
+
sinks: ["console"]
|
|
1335
|
+
},
|
|
1336
|
+
{
|
|
1337
|
+
category: [],
|
|
1338
|
+
lowestLevel,
|
|
1339
|
+
sinks: ["console"]
|
|
1340
|
+
}
|
|
1341
|
+
]
|
|
1342
|
+
});
|
|
1343
|
+
}
|
|
1344
|
+
|
|
1363
1345
|
// src/SarifToSlackClient.ts
|
|
1364
1346
|
var SarifToSlackClient = class _SarifToSlackClient {
|
|
1365
|
-
_logger = new Logger("SarifToSlackClient");
|
|
1366
1347
|
_message;
|
|
1367
1348
|
_sarifModel;
|
|
1368
1349
|
_sendIf = 20 /* Always */;
|
|
@@ -1386,8 +1367,10 @@ var SarifToSlackClient = class _SarifToSlackClient {
|
|
|
1386
1367
|
* @public
|
|
1387
1368
|
*/
|
|
1388
1369
|
static async create(webhookUrl, opts) {
|
|
1370
|
+
setupLogger(opts.loggerOptions);
|
|
1371
|
+
const logger = (0, import_logtape9.getLogger)();
|
|
1372
|
+
logger.trace(opts);
|
|
1389
1373
|
const instance = new _SarifToSlackClient();
|
|
1390
|
-
instance._logger.trace(opts);
|
|
1391
1374
|
instance._sendIf = opts.sendIf ?? instance._sendIf;
|
|
1392
1375
|
instance._sarifModel = await _SarifToSlackClient.buildModel(opts.sarif);
|
|
1393
1376
|
instance._message = await _SarifToSlackClient.initialize(webhookUrl, opts, instance._sarifModel);
|
|
@@ -1465,14 +1448,15 @@ var SarifToSlackClient = class _SarifToSlackClient {
|
|
|
1465
1448
|
if (this._sarifModel == null) {
|
|
1466
1449
|
throw new Error("Could not parse SARIF file(s).");
|
|
1467
1450
|
}
|
|
1451
|
+
const logger = (0, import_logtape9.getLogger)();
|
|
1468
1452
|
if (this.shouldSendMessage) {
|
|
1469
1453
|
if (this._message == null) {
|
|
1470
1454
|
throw new Error("Slack message was not prepared.");
|
|
1471
1455
|
}
|
|
1472
1456
|
const text = await this._message.send();
|
|
1473
|
-
|
|
1457
|
+
logger.info(`Message sent. Status: ${text}`);
|
|
1474
1458
|
} else {
|
|
1475
|
-
|
|
1459
|
+
logger.info(sendIfLogMessage(this._sendIf));
|
|
1476
1460
|
}
|
|
1477
1461
|
}
|
|
1478
1462
|
get shouldSendMessage() {
|
|
@@ -1537,7 +1521,9 @@ var SarifToSlackClient = class _SarifToSlackClient {
|
|
|
1537
1521
|
0 && (module.exports = {
|
|
1538
1522
|
Color,
|
|
1539
1523
|
FooterType,
|
|
1524
|
+
LogLevelItems,
|
|
1540
1525
|
RepresentationType,
|
|
1526
|
+
SarifFileExtensionItems,
|
|
1541
1527
|
SarifToSlackClient,
|
|
1542
1528
|
SendIf
|
|
1543
1529
|
});
|
package/dist/index.d.ts
CHANGED
|
@@ -61,6 +61,13 @@
|
|
|
61
61
|
* },
|
|
62
62
|
* representation: RepresentationType.CompactGroupByToolNamePerSeverity,
|
|
63
63
|
* sendIf: SendIf.MediumOrHigher,
|
|
64
|
+
* loggerOptions: {
|
|
65
|
+
* logFunctionName: false,
|
|
66
|
+
* minLevel: 'debug',
|
|
67
|
+
* name: 'my-app',
|
|
68
|
+
* stylePrettyLogs: true,
|
|
69
|
+
* prettyLogTemplate: '[{{logLevelName}}] [{{name}}] {{dateIsoStr}} ',
|
|
70
|
+
* },
|
|
64
71
|
* });
|
|
65
72
|
* await client.send();
|
|
66
73
|
* ```
|
|
@@ -201,6 +208,27 @@ export declare type IncludeAwareWithValueOptions = IncludeAwareOptions & {
|
|
|
201
208
|
value?: string;
|
|
202
209
|
};
|
|
203
210
|
|
|
211
|
+
/**
|
|
212
|
+
* It is used to stored logging options in global state
|
|
213
|
+
* @public
|
|
214
|
+
*/
|
|
215
|
+
export declare type LoggerOptions = {
|
|
216
|
+
lowestLevel?: LogLevel;
|
|
217
|
+
name?: string;
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
/**
|
|
221
|
+
* Log levels for the Logger.
|
|
222
|
+
* @public
|
|
223
|
+
*/
|
|
224
|
+
export declare type LogLevel = typeof LogLevelItems[number];
|
|
225
|
+
|
|
226
|
+
/**
|
|
227
|
+
* Valid log levels for the Logger.
|
|
228
|
+
* @public
|
|
229
|
+
*/
|
|
230
|
+
export declare const LogLevelItems: readonly ['trace', 'debug', 'info', 'warning', 'error', 'fatal'];
|
|
231
|
+
|
|
204
232
|
/**
|
|
205
233
|
* This represents what type of message should be sent. There are various options
|
|
206
234
|
* to show information from SARIF in Slack message.
|
|
@@ -380,7 +408,13 @@ export declare enum RepresentationType {
|
|
|
380
408
|
* SARIF file extension.
|
|
381
409
|
* @public
|
|
382
410
|
*/
|
|
383
|
-
export declare type SarifFileExtension =
|
|
411
|
+
export declare type SarifFileExtension = typeof SarifFileExtensionItems[number];
|
|
412
|
+
|
|
413
|
+
/**
|
|
414
|
+
* Valid SARIF file extensions.
|
|
415
|
+
* @public
|
|
416
|
+
*/
|
|
417
|
+
export declare const SarifFileExtensionItems: readonly ['sarif', 'json'];
|
|
384
418
|
|
|
385
419
|
/**
|
|
386
420
|
* Represents options for the provided SARIF file(s), such as path, should files
|
|
@@ -398,7 +432,6 @@ export declare type SarifOptions = {
|
|
|
398
432
|
* @public
|
|
399
433
|
*/
|
|
400
434
|
export declare class SarifToSlackClient {
|
|
401
|
-
private readonly _logger;
|
|
402
435
|
private _message?;
|
|
403
436
|
private _sarifModel?;
|
|
404
437
|
private _sendIf;
|
|
@@ -441,6 +474,7 @@ export declare type SarifToSlackClientOptions = {
|
|
|
441
474
|
run?: IncludeAwareOptions;
|
|
442
475
|
representation?: RepresentationType;
|
|
443
476
|
sendIf?: SendIf;
|
|
477
|
+
loggerOptions?: LoggerOptions;
|
|
444
478
|
};
|
|
445
479
|
|
|
446
480
|
/**
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6EG;AACH,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,YAAY,EACV,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EACL,KAAK,aAAa,EAClB,KAAK,mBAAmB,EACxB,KAAK,4BAA4B,EACjC,KAAK,QAAQ,EACb,KAAK,aAAa,EAClB,KAAK,kBAAkB,EACvB,KAAK,YAAY,EACjB,KAAK,yBAAyB,EAC9B,UAAU,EACV,aAAa,EACb,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,SAAS,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -62,6 +62,13 @@
|
|
|
62
62
|
* },
|
|
63
63
|
* representation: RepresentationType.CompactGroupByToolNamePerSeverity,
|
|
64
64
|
* sendIf: SendIf.MediumOrHigher,
|
|
65
|
+
* loggerOptions: {
|
|
66
|
+
* logFunctionName: false,
|
|
67
|
+
* minLevel: 'debug',
|
|
68
|
+
* name: 'my-app',
|
|
69
|
+
* stylePrettyLogs: true,
|
|
70
|
+
* prettyLogTemplate: '[{{logLevelName}}] [{{name}}] {{dateIsoStr}} ',
|
|
71
|
+
* },
|
|
65
72
|
* });
|
|
66
73
|
* await client.send();
|
|
67
74
|
* ```
|
|
@@ -73,5 +80,5 @@
|
|
|
73
80
|
export { Color } from './model/color/Color';
|
|
74
81
|
export { SendIf } from './model/SendIf';
|
|
75
82
|
export { SarifToSlackClient } from './SarifToSlackClient';
|
|
76
|
-
export { FooterType, RepresentationType } from './types';
|
|
77
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
83
|
+
export { FooterType, LogLevelItems, RepresentationType, SarifFileExtensionItems, } from './types';
|
|
84
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEZBQTBGO0FBRTFGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZFRztBQUNILE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQU81QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQVNMLFVBQVUsRUFDVixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLHVCQUF1QixHQUN4QixNQUFNLFNBQVMsQ0FBQyJ9
|
package/dist/model/Finding.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
+
import { getLogger } from "@logtape/logtape";
|
|
1
2
|
import { SecurityLevel, SecuritySeverity } from '../types';
|
|
2
|
-
import Logger from '../Logger';
|
|
3
3
|
import { createProcessor } from '../processors/ProcessorFactory';
|
|
4
4
|
/**
|
|
5
5
|
* Creates a new instance of {@link Finding} class.
|
|
@@ -15,7 +15,6 @@ export function createFinding(opts) {
|
|
|
15
15
|
* @private
|
|
16
16
|
*/
|
|
17
17
|
class FindingImpl {
|
|
18
|
-
_logger = new Logger('FindingImpl');
|
|
19
18
|
_runMetadata;
|
|
20
19
|
_result;
|
|
21
20
|
_sarifPath;
|
|
@@ -36,7 +35,7 @@ class FindingImpl {
|
|
|
36
35
|
return createFinding({
|
|
37
36
|
sarifPath: this._sarifPath,
|
|
38
37
|
runMetadata: this._runMetadata,
|
|
39
|
-
result: this._result
|
|
38
|
+
result: this._result,
|
|
40
39
|
});
|
|
41
40
|
}
|
|
42
41
|
get sarifPath() {
|
|
@@ -61,7 +60,8 @@ class FindingImpl {
|
|
|
61
60
|
this._levelCache = this._processor.tryFindLevel();
|
|
62
61
|
}
|
|
63
62
|
if (this._levelCache === undefined) {
|
|
64
|
-
|
|
63
|
+
const logger = getLogger();
|
|
64
|
+
logger.debug(`Unknown level of ${this._rule?.id} rule`);
|
|
65
65
|
return SecurityLevel.Unknown;
|
|
66
66
|
}
|
|
67
67
|
switch (this._levelCache) {
|
|
@@ -73,7 +73,8 @@ class FindingImpl {
|
|
|
73
73
|
}
|
|
74
74
|
get severity() {
|
|
75
75
|
if (this.cvssScore == null || this.cvssScore < 0 || this.cvssScore > 10) {
|
|
76
|
-
|
|
76
|
+
const logger = getLogger();
|
|
77
|
+
logger.debug(`Unsupported CVSS score ${this.cvssScore} in ${this._rule?.id} rule`);
|
|
77
78
|
return SecuritySeverity.Unknown;
|
|
78
79
|
}
|
|
79
80
|
if (this.cvssScore >= 9) {
|
|
@@ -91,4 +92,4 @@ class FindingImpl {
|
|
|
91
92
|
return SecuritySeverity.None;
|
|
92
93
|
}
|
|
93
94
|
}
|
|
94
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
95
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmluZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC9GaW5kaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWUsTUFBTSxrQkFBa0IsQ0FBQztBQUUxRCxPQUFPLEVBQWdCLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUEwQmpFOzs7R0FHRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBb0I7SUFDaEQsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFdBQVc7SUFDRSxZQUFZLENBQVU7SUFDdEIsT0FBTyxDQUFTO0lBQ2hCLFVBQVUsQ0FBUztJQUNuQixLQUFLLENBQXVCO0lBQzVCLFVBQVUsQ0FBa0I7SUFFckMsd0JBQXdCLEdBQVksS0FBSyxDQUFDO0lBQzFDLGVBQWUsR0FBdUIsU0FBUyxDQUFDO0lBRWhELG9CQUFvQixHQUFZLEtBQUssQ0FBQztJQUN0QyxXQUFXLEdBQTZCLFNBQVMsQ0FBQztJQUUxRCxZQUFZLElBQW9CO1FBQzlCLElBQUksQ0FBQyxVQUFVLEdBQUcsZUFBZSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNyRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDakMsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDO1FBQ3JDLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDN0MsQ0FBQztJQUVELEtBQUs7UUFD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
|
|
@@ -21,4 +21,4 @@ export default class FindingArray extends ExtendedArray {
|
|
|
21
21
|
.some((v) => this.findByProperty('level', v) != null);
|
|
22
22
|
}
|
|
23
23
|
}
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmluZGluZ0FycmF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL0ZpbmRpbmdBcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNELE9BQU8sYUFBYSxNQUFNLHdCQUF3QixDQUFDO0FBRW5EOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFPLFlBQWEsU0FBUSxhQUFzQjtJQUV2RCxtQkFBbUIsQ0FBQyxRQUEwQjtRQUNuRCxPQUFPLE1BQU07YUFDVixNQUFNLENBQUMsZ0JBQWdCLENBQUM7YUFDeEIsTUFBTSxDQUFDLENBQUMsQ0FBNEIsRUFBeUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQzthQUN0RixNQUFNLENBQUMsQ0FBQyxDQUFtQixFQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDO2FBQ3ZELElBQUksQ0FBQyxDQUFDLENBQW1CLEVBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxLQUFvQjtRQUMxQyxPQUFPLE1BQU07YUFDVixNQUFNLENBQUMsYUFBYSxDQUFDO2FBQ3JCLE1BQU0sQ0FBQyxDQUFDLENBQXlCLEVBQXNCLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUM7YUFDaEYsTUFBTSxDQUFDLENBQUMsQ0FBZ0IsRUFBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQzthQUNqRCxJQUFJLENBQUMsQ0FBQyxDQUFnQixFQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztJQUNsRixDQUFDO0NBQ0YifQ==
|
package/dist/model/SendIf.js
CHANGED
|
@@ -173,4 +173,4 @@ export function sendIfLogMessage(sendIf) {
|
|
|
173
173
|
return 'Unknown SendIf value.';
|
|
174
174
|
}
|
|
175
175
|
}
|
|
176
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
176
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VuZElmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL1NlbmRJZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFOLElBQVksTUE2R1g7QUE3R0QsV0FBWSxNQUFNO0lBQ2hCOzs7O09BSUc7SUFDSCwyREFBZ0IsQ0FBQTtJQUNoQjs7T0FFRztJQUNILG1EQUFZLENBQUE7SUFDWjs7O09BR0c7SUFDSCxtRUFBb0IsQ0FBQTtJQUNwQjs7T0FFRztJQUNILHVEQUFjLENBQUE7SUFDZDs7O09BR0c7SUFDSCx1RUFBc0IsQ0FBQTtJQUN0Qjs7T0FFRztJQUNILGlEQUFXLENBQUE7SUFDWDs7O09BR0c7SUFDSCxpRUFBbUIsQ0FBQTtJQUNuQjs7T0FFRztJQUNILG1EQUFZLENBQUE7SUFDWjs7O09BR0c7SUFDSCxtRUFBb0IsQ0FBQTtJQUNwQjs7T0FFRztJQUNILHlEQUFlLENBQUE7SUFDZjs7O09BR0c7SUFDSCwwRUFBdUIsQ0FBQTtJQUN2Qjs7O09BR0c7SUFDSCxnREFBVSxDQUFBO0lBQ1Y7O09BRUc7SUFDSCxvREFBWSxDQUFBO0lBQ1o7OztPQUdHO0lBQ0gsb0VBQW9CLENBQUE7SUFDcEI7O09BRUc7SUFDSCw4Q0FBUyxDQUFBO0lBQ1Q7OztPQUdHO0lBQ0gsOERBQWlCLENBQUE7SUFDakI7O09BRUc7SUFDSCw4Q0FBUyxDQUFBO0lBQ1Q7OztPQUdHO0lBQ0gsOERBQWlCLENBQUE7SUFDakI7O09BRUc7SUFDSCxvREFBWSxDQUFBO0lBQ1o7OztPQUdHO0lBQ0gsb0VBQW9CLENBQUE7SUFDcEI7O09BRUc7SUFDSCx3Q0FBTSxDQUFBO0lBQ047O09BRUc7SUFDSCxvQ0FBSSxDQUFBO0lBQ0o7O09BRUc7SUFDSCxzQ0FBSyxDQUFBO0lBQ0w7O09BRUc7SUFDSCxzQ0FBSyxDQUFBO0FBQ1AsQ0FBQyxFQTdHVyxNQUFNLEtBQU4sTUFBTSxRQTZHakI7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQWM7SUFDN0MsUUFBUSxNQUFNLEVBQUUsQ0FBQztRQUNmLEtBQUssTUFBTSxDQUFDLGdCQUFnQjtZQUMxQixPQUFPLHdEQUF3RCxDQUFDO1FBQ2xFLEtBQUssTUFBTSxDQUFDLFlBQVk7WUFDdEIsT0FBTyxvREFBb0QsQ0FBQztRQUM5RCxLQUFLLE1BQU0sQ0FBQyxvQkFBb0I7WUFDOUIsT0FBTyw4REFBOEQsQ0FBQztRQUN4RSxLQUFLLE1BQU0sQ0FBQyxjQUFjO1lBQ3hCLE9BQU8sc0RBQXNELENBQUM7UUFDaEUsS0FBSyxNQUFNLENBQUMsc0JBQXNCO1lBQ2hDLE9BQU8sZ0VBQWdFLENBQUM7UUFDMUUsS0FBSyxNQUFNLENBQUMsV0FBVztZQUNyQixPQUFPLG1EQUFtRCxDQUFDO1FBQzdELEtBQUssTUFBTSxDQUFDLG1CQUFtQjtZQUM3QixPQUFPLDZEQUE2RCxDQUFDO1FBQ3ZFLEtBQUssTUFBTSxDQUFDLFlBQVk7WUFDdEIsT0FBTyxvREFBb0QsQ0FBQztRQUM5RCxLQUFLLE1BQU0sQ0FBQyxvQkFBb0I7WUFDOUIsT0FBTyw4REFBOEQsQ0FBQztRQUN4RSxLQUFLLE1BQU0sQ0FBQyxlQUFlO1lBQ3pCLE9BQU8sdURBQXVELENBQUM7UUFDakUsS0FBSyxNQUFNLENBQUMsdUJBQXVCO1lBQ2pDLE9BQU8saUVBQWlFLENBQUM7UUFDM0UsS0FBSyxNQUFNLENBQUMsVUFBVTtZQUNwQixPQUFPLGtEQUFrRCxDQUFDO1FBQzVELEtBQUssTUFBTSxDQUFDLFlBQVk7WUFDdEIsT0FBTyxvREFBb0QsQ0FBQztRQUM5RCxLQUFLLE1BQU0sQ0FBQyxvQkFBb0I7WUFDOUIsT0FBTyw4REFBOEQsQ0FBQztRQUN4RSxLQUFLLE1BQU0sQ0FBQyxTQUFTO1lBQ25CLE9BQU8saURBQWlELENBQUM7UUFDM0QsS0FBSyxNQUFNLENBQUMsaUJBQWlCO1lBQzNCLE9BQU8sMkRBQTJELENBQUM7UUFDckUsS0FBSyxNQUFNLENBQUMsU0FBUztZQUNuQixPQUFPLGlEQUFpRCxDQUFDO1FBQzNELEtBQUssTUFBTSxDQUFDLGlCQUFpQjtZQUMzQixPQUFPLDJEQUEyRCxDQUFDO1FBQ3JFLEtBQUssTUFBTSxDQUFDLFlBQVk7WUFDdEIsT0FBTyxvREFBb0QsQ0FBQztRQUM5RCxLQUFLLE1BQU0sQ0FBQyxvQkFBb0I7WUFDOUIsT0FBTyw4REFBOEQsQ0FBQztRQUN4RSxLQUFLLE1BQU0sQ0FBQyxNQUFNO1lBQ2hCLE9BQU8sc0JBQXNCLENBQUM7UUFDaEMsS0FBSyxNQUFNLENBQUMsSUFBSTtZQUNkLE9BQU8sMENBQTBDLENBQUM7UUFDcEQsS0FBSyxNQUFNLENBQUMsS0FBSztZQUNmLE9BQU8sMkNBQTJDLENBQUM7UUFDckQsS0FBSyxNQUFNLENBQUMsS0FBSztZQUNmLE9BQU8sdUNBQXVDLENBQUM7UUFDakQ7WUFDRSxPQUFPLHVCQUF1QixDQUFDO0lBQ25DLENBQUM7QUFDSCxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SlackMessage.d.ts","sourceRoot":"","sources":["../../src/model/SlackMessage.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SlackMessage.d.ts","sourceRoot":"","sources":["../../src/model/SlackMessage.ts"],"names":[],"mappings":"AAsCA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAEvF"}
|
|
@@ -25,7 +25,7 @@ class SlackMessageImpl {
|
|
|
25
25
|
constructor(url, opts) {
|
|
26
26
|
this._webhook = new IncomingWebhook(url, {
|
|
27
27
|
username: opts.username || 'SARIF results',
|
|
28
|
-
icon_url: opts.iconUrl
|
|
28
|
+
icon_url: opts.iconUrl,
|
|
29
29
|
});
|
|
30
30
|
this._gitHubServerUrl = process.env.GITHUB_SERVER_URL || 'https://github.com';
|
|
31
31
|
this._color = opts.color;
|
|
@@ -36,8 +36,8 @@ class SlackMessageImpl {
|
|
|
36
36
|
type: 'header',
|
|
37
37
|
text: {
|
|
38
38
|
type: 'plain_text',
|
|
39
|
-
text: header || process.env.GITHUB_REPOSITORY || 'SARIF results'
|
|
40
|
-
}
|
|
39
|
+
text: header || process.env.GITHUB_REPOSITORY || 'SARIF results',
|
|
40
|
+
},
|
|
41
41
|
};
|
|
42
42
|
}
|
|
43
43
|
withActor(actor) {
|
|
@@ -66,13 +66,13 @@ class SlackMessageImpl {
|
|
|
66
66
|
text: {
|
|
67
67
|
type: 'mrkdwn',
|
|
68
68
|
text: this.buildText(),
|
|
69
|
-
}
|
|
69
|
+
},
|
|
70
70
|
});
|
|
71
71
|
if (this._footer) {
|
|
72
72
|
blocks.push(this._footer);
|
|
73
73
|
}
|
|
74
74
|
const { text } = await this._webhook.send({
|
|
75
|
-
attachments: [{ color: this._color, blocks }]
|
|
75
|
+
attachments: [{ color: this._color, blocks }],
|
|
76
76
|
});
|
|
77
77
|
return text;
|
|
78
78
|
}
|
|
@@ -96,4 +96,4 @@ class SlackMessageImpl {
|
|
|
96
96
|
return text.join('\n\n');
|
|
97
97
|
}
|
|
98
98
|
}
|
|
99
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
99
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xhY2tNZXNzYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL1NsYWNrTWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFNQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDakQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUV0QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUE2QjNDOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsR0FBVyxFQUFFLElBQXlCO0lBQ3ZFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDekMsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sZ0JBQWdCO0lBQ0gsUUFBUSxDQUFrQjtJQUMxQixnQkFBZ0IsQ0FBUztJQUN6QixNQUFNLENBQVU7SUFDaEIsZUFBZSxDQUFpQjtJQUV6QyxPQUFPLENBQWU7SUFDdEIsT0FBTyxDQUFnQjtJQUN2QixNQUFNLENBQVU7SUFDaEIsTUFBTSxDQUFVO0lBRXhCLFlBQVksR0FBVyxFQUFFLElBQXlCO1FBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLGVBQWU7WUFDMUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3ZCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixJQUFJLG9CQUFvQixDQUFDO1FBQzlFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7SUFDN0MsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFlO1FBQ3hCLElB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
|
|
@@ -1 +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,
|
|
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,CAAC;IAE9B,OAAO,eAGN;IAED;;;;;;;;;OASG;IACH,OAAc,IAAI,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,SAAS,CAE/D;IAED,OAAO,CAAC,cAAc;IAUtB,OAAO,CAAC,QAAQ;CASjB"}
|