@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.
Files changed (163) hide show
  1. package/.github/workflows/release.yml +18 -9
  2. package/.github/workflows/security.yml +1 -0
  3. package/.github/workflows/send-sarif-to-slack.yml +49 -17
  4. package/.github/workflows/unit-tests.yml +3 -3
  5. package/.pre-commit-config.yaml +5 -5
  6. package/.tool-versions +1 -1
  7. package/Makefile +13 -13
  8. package/README.md +8 -7
  9. package/api-extractor.json +1 -1
  10. package/biome.json +1 -1
  11. package/dist/SarifToSlackClient.d.ts +0 -1
  12. package/dist/SarifToSlackClient.d.ts.map +1 -1
  13. package/dist/SarifToSlackClient.js +12 -9
  14. package/dist/globalState.d.ts +2 -0
  15. package/dist/globalState.d.ts.map +1 -0
  16. package/dist/globalState.js +2 -0
  17. package/dist/index.cjs +86 -100
  18. package/dist/index.d.ts +36 -2
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +9 -2
  21. package/dist/model/Finding.js +7 -6
  22. package/dist/model/FindingArray.js +1 -1
  23. package/dist/model/SendIf.js +1 -1
  24. package/dist/model/SlackMessage.d.ts.map +1 -1
  25. package/dist/model/SlackMessage.js +6 -6
  26. package/dist/model/color/Color.d.ts.map +1 -1
  27. package/dist/model/color/Color.js +1 -1
  28. package/dist/model/color/ColorIdentification.js +7 -7
  29. package/dist/model/color/ColorOptions.d.ts.map +1 -1
  30. package/dist/processors/CodeQLProcessor.js +1 -1
  31. package/dist/processors/CommonProcessor.js +1 -1
  32. package/dist/processors/ProcessorFactory.js +1 -1
  33. package/dist/processors/SnykProcessor.js +2 -1
  34. package/dist/representations/CompactGroupByRepresentation.js +1 -1
  35. package/dist/representations/CompactGroupByRunPerLevelRepresentation.js +1 -1
  36. package/dist/representations/CompactGroupByRunPerSeverityRepresentation.js +1 -1
  37. package/dist/representations/CompactGroupByRunRepresentation.js +1 -1
  38. package/dist/representations/CompactGroupBySarifPerLevelRepresentation.js +1 -1
  39. package/dist/representations/CompactGroupBySarifPerSeverityRepresentation.js +1 -1
  40. package/dist/representations/CompactGroupBySarifRepresentation.js +1 -1
  41. package/dist/representations/CompactGroupByToolNamePerLevelRepresentation.js +1 -1
  42. package/dist/representations/CompactGroupByToolNamePerSeverityRepresentation.js +1 -1
  43. package/dist/representations/CompactGroupByToolNameRepresentation.js +1 -1
  44. package/dist/representations/CompactTotalPerLevelRepresentation.js +1 -1
  45. package/dist/representations/CompactTotalPerSeverityRepresentation.js +1 -1
  46. package/dist/representations/CompactTotalRepresentation.js +1 -1
  47. package/dist/representations/Representation.js +1 -1
  48. package/dist/representations/RepresentationFactory.js +1 -1
  49. package/dist/representations/TableGroupByRunPerLevelRepresentation.d.ts.map +1 -1
  50. package/dist/representations/TableGroupByRunPerLevelRepresentation.js +1 -1
  51. package/dist/representations/TableGroupByRunPerSeverityRepresentation.d.ts.map +1 -1
  52. package/dist/representations/TableGroupByRunPerSeverityRepresentation.js +1 -1
  53. package/dist/representations/TableGroupByRunRepresentation.d.ts.map +1 -1
  54. package/dist/representations/TableGroupByRunRepresentation.js +1 -1
  55. package/dist/representations/TableGroupBySarifPerLevelRepresentation.d.ts.map +1 -1
  56. package/dist/representations/TableGroupBySarifPerLevelRepresentation.js +1 -1
  57. package/dist/representations/TableGroupBySarifPerSeverityRepresentation.d.ts.map +1 -1
  58. package/dist/representations/TableGroupBySarifPerSeverityRepresentation.js +1 -1
  59. package/dist/representations/TableGroupBySarifRepresentation.d.ts.map +1 -1
  60. package/dist/representations/TableGroupBySarifRepresentation.js +1 -1
  61. package/dist/representations/TableGroupByToolNamePerLevelRepresentation.d.ts.map +1 -1
  62. package/dist/representations/TableGroupByToolNamePerLevelRepresentation.js +1 -1
  63. package/dist/representations/TableGroupByToolNamePerSeverityRepresentation.d.ts.map +1 -1
  64. package/dist/representations/TableGroupByToolNamePerSeverityRepresentation.js +1 -1
  65. package/dist/representations/TableGroupByToolNameRepresentation.d.ts.map +1 -1
  66. package/dist/representations/TableGroupByToolNameRepresentation.js +1 -1
  67. package/dist/representations/TableGroupRepresentation.d.ts +0 -1
  68. package/dist/representations/TableGroupRepresentation.d.ts.map +1 -1
  69. package/dist/representations/TableGroupRepresentation.js +4 -4
  70. package/dist/representations/table/Cell.d.ts.map +1 -1
  71. package/dist/representations/table/Cell.js +1 -1
  72. package/dist/representations/table/Column.d.ts +0 -1
  73. package/dist/representations/table/Column.d.ts.map +1 -1
  74. package/dist/representations/table/Column.js +4 -4
  75. package/dist/representations/table/Row.d.ts +0 -1
  76. package/dist/representations/table/Row.d.ts.map +1 -1
  77. package/dist/representations/table/Row.js +4 -4
  78. package/dist/representations/table/Table.d.ts.map +1 -1
  79. package/dist/representations/table/Table.js +1 -1
  80. package/dist/setupLogger.d.ts +16 -0
  81. package/dist/setupLogger.d.ts.map +1 -0
  82. package/dist/setupLogger.js +43 -0
  83. package/dist/system.js +6 -6
  84. package/dist/tsdoc-metadata.json +1 -1
  85. package/dist/types.d.ts +25 -1
  86. package/dist/types.d.ts.map +1 -1
  87. package/dist/types.js +11 -1
  88. package/dist/utils/Comparators.js +1 -1
  89. package/dist/utils/ExtendedArray.js +1 -1
  90. package/dist/utils/FileUtils.js +3 -3
  91. package/dist/utils/SarifUtils.js +1 -1
  92. package/dist/utils/StringUtils.js +1 -1
  93. package/etc/sarif-to-slack.api.md +17 -1
  94. package/package.json +24 -22
  95. package/pnpm-workspace.yaml +8 -0
  96. package/scripts/build.sh +1 -1
  97. package/src/SarifToSlackClient.ts +73 -68
  98. package/src/globalState.ts +11 -0
  99. package/src/index.ts +23 -12
  100. package/src/model/Finding.ts +36 -35
  101. package/src/model/FindingArray.ts +5 -5
  102. package/src/model/SendIf.ts +25 -25
  103. package/src/model/SlackMessage.ts +52 -49
  104. package/src/model/color/Color.ts +7 -7
  105. package/src/model/color/ColorIdentification.ts +77 -77
  106. package/src/model/color/ColorOptions.ts +1 -1
  107. package/src/processors/CodeQLProcessor.ts +3 -3
  108. package/src/processors/CommonProcessor.ts +24 -24
  109. package/src/processors/ProcessorFactory.ts +9 -9
  110. package/src/processors/SnykProcessor.ts +3 -2
  111. package/src/representations/CompactGroupByRepresentation.ts +20 -20
  112. package/src/representations/CompactGroupByRunPerLevelRepresentation.ts +2 -2
  113. package/src/representations/CompactGroupByRunPerSeverityRepresentation.ts +2 -2
  114. package/src/representations/CompactGroupByRunRepresentation.ts +10 -10
  115. package/src/representations/CompactGroupBySarifPerLevelRepresentation.ts +2 -2
  116. package/src/representations/CompactGroupBySarifPerSeverityRepresentation.ts +2 -2
  117. package/src/representations/CompactGroupBySarifRepresentation.ts +11 -11
  118. package/src/representations/CompactGroupByToolNamePerLevelRepresentation.ts +2 -2
  119. package/src/representations/CompactGroupByToolNamePerSeverityRepresentation.ts +2 -2
  120. package/src/representations/CompactGroupByToolNameRepresentation.ts +10 -10
  121. package/src/representations/CompactTotalPerLevelRepresentation.ts +2 -2
  122. package/src/representations/CompactTotalPerSeverityRepresentation.ts +2 -2
  123. package/src/representations/CompactTotalRepresentation.ts +5 -5
  124. package/src/representations/Representation.ts +8 -8
  125. package/src/representations/RepresentationFactory.ts +32 -32
  126. package/src/representations/TableGroupByRunPerLevelRepresentation.ts +3 -3
  127. package/src/representations/TableGroupByRunPerSeverityRepresentation.ts +3 -3
  128. package/src/representations/TableGroupByRunRepresentation.ts +5 -5
  129. package/src/representations/TableGroupBySarifPerLevelRepresentation.ts +3 -3
  130. package/src/representations/TableGroupBySarifPerSeverityRepresentation.ts +3 -3
  131. package/src/representations/TableGroupBySarifRepresentation.ts +9 -9
  132. package/src/representations/TableGroupByToolNamePerLevelRepresentation.ts +3 -3
  133. package/src/representations/TableGroupByToolNamePerSeverityRepresentation.ts +3 -3
  134. package/src/representations/TableGroupByToolNameRepresentation.ts +4 -4
  135. package/src/representations/TableGroupRepresentation.ts +32 -32
  136. package/src/representations/table/Cell.ts +8 -8
  137. package/src/representations/table/Column.ts +13 -13
  138. package/src/representations/table/Row.ts +17 -17
  139. package/src/representations/table/Table.ts +21 -21
  140. package/src/setupLogger.ts +62 -0
  141. package/src/system.ts +6 -6
  142. package/src/types.ts +39 -13
  143. package/src/utils/Comparators.ts +6 -6
  144. package/src/utils/ExtendedArray.ts +1 -1
  145. package/src/utils/FileUtils.ts +4 -4
  146. package/src/utils/SarifUtils.ts +6 -6
  147. package/src/utils/StringUtils.ts +3 -3
  148. package/tests/integration/SendSarifToSlack.spec.ts +73 -67
  149. package/tests/representations/CompactGroupByRunPerLevelRepresentation.spec.ts +121 -0
  150. package/tests/representations/CompactGroupByRunPerSeverityRepresentation.spec.ts +122 -0
  151. package/tests/representations/CompactGroupBySarifPerLevelRepresentation.spec.ts +132 -0
  152. package/tests/representations/CompactGroupBySarifPerSeverityRepresentation.spec.ts +133 -0
  153. package/tests/tsconfig.json +8 -0
  154. package/tests/vitest.d.ts +1 -0
  155. package/tsconfig.build.json +9 -0
  156. package/tsconfig.json +5 -5
  157. package/tsconfig.test.json +8 -0
  158. package/vitest.config.ts +22 -0
  159. package/dist/Logger.d.ts +0 -2
  160. package/dist/Logger.d.ts.map +0 -1
  161. package/dist/Logger.js +0 -66
  162. package/jest.config.json +0 -33
  163. 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
- this._logger.warn(`Cell index out of range. Requested index: ${index}. Cells count: ${this._cells.length}.`);
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
- this._logger.warn(`Setting cell failed. Reason: index out of range. Requested index: ${index}. Cells count: ${this._cells.length}.`);
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
- this._logger.trace(result);
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
- this._logger.debug(`Unknown level of ${this._rule?.id} rule`);
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
- this._logger.debug(`Unsupported CVSS score ${this.cvssScore} in ${this._rule?.id} rule`);
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 = new Logger(identifyColorCommon.name);
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 = new Logger(identifyColorBySeverity.name);
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 = new Logger(identifyColorByLevel.name);
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 = new Logger(identifyColor.name);
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:`, JSON.stringify(colorOpts, null, 2));
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
- this._logger.info("Message sent. Status:", text);
1457
+ logger.info(`Message sent. Status: ${text}`);
1474
1458
  } else {
1475
- this._logger.info(sendIfLogMessage(this._sendIf));
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 = 'sarif' | 'json';
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
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsEG;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,kBAAkB,EAAE,MAAM,sBAAsB,CAAA;AACzD,OAAO,EACL,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,4BAA4B,EAC5B,kBAAkB,EAClB,kBAAkB,EAClB,YAAY,EACZ,yBAAyB,EAC1B,MAAM,SAAS,CAAA"}
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEZBQTBGO0FBRTFGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBc0VHO0FBQ0gsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBTzNDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUN2QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQTtBQUN6RCxPQUFPLEVBRUwsVUFBVSxFQUdWLGtCQUFrQixFQUluQixNQUFNLFNBQVMsQ0FBQSJ9
83
+ export { FooterType, LogLevelItems, RepresentationType, SarifFileExtensionItems, } from './types';
84
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEZBQTBGO0FBRTFGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTZFRztBQUNILE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQU81QyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDMUQsT0FBTyxFQVNMLFVBQVUsRUFDVixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLHVCQUF1QixHQUN4QixNQUFNLFNBQVMsQ0FBQyJ9
@@ -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
- this._logger.debug(`Unknown level of ${this._rule?.id} rule`);
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
- this._logger.debug(`Unsupported CVSS score ${this.cvssScore} in ${this._rule?.id} rule`);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmluZGluZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9tb2RlbC9GaW5kaW5nLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBZ0IsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQ3hFLE9BQU8sTUFBTSxNQUFNLFdBQVcsQ0FBQTtBQUU5QixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0NBQWdDLENBQUE7QUEwQmhFOzs7R0FHRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsSUFBb0I7SUFDaEQsT0FBTyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUM5QixDQUFDO0FBRUQ7Ozs7O0dBS0c7QUFDSCxNQUFNLFdBQVc7SUFDRSxPQUFPLEdBQUcsSUFBSSxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEMsWUFBWSxDQUFVO0lBQ3RCLE9BQU8sQ0FBUztJQUNoQixVQUFVLENBQVM7SUFDbkIsS0FBSyxDQUF1QjtJQUM1QixVQUFVLENBQWtCO0lBRXJDLHdCQUF3QixHQUFZLEtBQUssQ0FBQztJQUMxQyxlQUFlLEdBQXVCLFNBQVMsQ0FBQztJQUVoRCxvQkFBb0IsR0FBWSxLQUFLLENBQUM7SUFDdEMsV0FBVyxHQUE2QixTQUFTLENBQUM7SUFFMUQsWUFBWSxJQUFvQjtRQUM5QixJQUFJLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDcEUsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFBO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQTtRQUNwQyxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUE7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLFdBQVcs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
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmluZGluZ0FycmF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL0ZpbmRpbmdBcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFBO0FBQzFELE9BQU8sYUFBYSxNQUFNLHdCQUF3QixDQUFBO0FBRWxEOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFPLFlBQWEsU0FBUSxhQUFzQjtJQUV2RCxtQkFBbUIsQ0FBQyxRQUEwQjtRQUNuRCxPQUFPLE1BQU07YUFDVixNQUFNLENBQUMsZ0JBQWdCLENBQUM7YUFDeEIsTUFBTSxDQUFDLENBQUMsQ0FBNEIsRUFBeUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQzthQUN0RixNQUFNLENBQUMsQ0FBQyxDQUFtQixFQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDO2FBQ3ZELElBQUksQ0FBQyxDQUFDLENBQW1CLEVBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFBO0lBQ3ZGLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxLQUFvQjtRQUMxQyxPQUFPLE1BQU07YUFDVixNQUFNLENBQUMsYUFBYSxDQUFDO2FBQ3JCLE1BQU0sQ0FBQyxDQUFDLENBQXlCLEVBQXNCLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUM7YUFDaEYsTUFBTSxDQUFDLENBQUMsQ0FBZ0IsRUFBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQzthQUNqRCxJQUFJLENBQUMsQ0FBQyxDQUFnQixFQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQTtJQUNqRixDQUFDO0NBQ0YifQ==
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRmluZGluZ0FycmF5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL0ZpbmRpbmdBcnJheS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsYUFBYSxFQUFFLGdCQUFnQixFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQzNELE9BQU8sYUFBYSxNQUFNLHdCQUF3QixDQUFDO0FBRW5EOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsT0FBTyxPQUFPLFlBQWEsU0FBUSxhQUFzQjtJQUV2RCxtQkFBbUIsQ0FBQyxRQUEwQjtRQUNuRCxPQUFPLE1BQU07YUFDVixNQUFNLENBQUMsZ0JBQWdCLENBQUM7YUFDeEIsTUFBTSxDQUFDLENBQUMsQ0FBNEIsRUFBeUIsRUFBRSxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQzthQUN0RixNQUFNLENBQUMsQ0FBQyxDQUFtQixFQUFXLEVBQUUsQ0FBQyxDQUFDLElBQUksUUFBUSxDQUFDO2FBQ3ZELElBQUksQ0FBQyxDQUFDLENBQW1CLEVBQVcsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDO0lBQ3hGLENBQUM7SUFFTSxnQkFBZ0IsQ0FBQyxLQUFvQjtRQUMxQyxPQUFPLE1BQU07YUFDVixNQUFNLENBQUMsYUFBYSxDQUFDO2FBQ3JCLE1BQU0sQ0FBQyxDQUFDLENBQXlCLEVBQXNCLEVBQUUsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUM7YUFDaEYsTUFBTSxDQUFDLENBQUMsQ0FBZ0IsRUFBVyxFQUFFLENBQUMsQ0FBQyxJQUFJLEtBQUssQ0FBQzthQUNqRCxJQUFJLENBQUMsQ0FBQyxDQUFnQixFQUFXLEVBQUUsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQztJQUNsRixDQUFDO0NBQ0YifQ==
@@ -173,4 +173,4 @@ export function sendIfLogMessage(sendIf) {
173
173
  return 'Unknown SendIf value.';
174
174
  }
175
175
  }
176
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VuZElmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL1NlbmRJZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFOLElBQVksTUE2R1g7QUE3R0QsV0FBWSxNQUFNO0lBQ2hCOzs7O09BSUc7SUFDSCwyREFBZ0IsQ0FBQTtJQUNoQjs7T0FFRztJQUNILG1EQUFZLENBQUE7SUFDWjs7O09BR0c7SUFDSCxtRUFBb0IsQ0FBQTtJQUNwQjs7T0FFRztJQUNILHVEQUFjLENBQUE7SUFDZDs7O09BR0c7SUFDSCx1RUFBc0IsQ0FBQTtJQUN0Qjs7T0FFRztJQUNILGlEQUFXLENBQUE7SUFDWDs7O09BR0c7SUFDSCxpRUFBbUIsQ0FBQTtJQUNuQjs7T0FFRztJQUNILG1EQUFZLENBQUE7SUFDWjs7O09BR0c7SUFDSCxtRUFBb0IsQ0FBQTtJQUNwQjs7T0FFRztJQUNILHlEQUFlLENBQUE7SUFDZjs7O09BR0c7SUFDSCwwRUFBdUIsQ0FBQTtJQUN2Qjs7O09BR0c7SUFDSCxnREFBVSxDQUFBO0lBQ1Y7O09BRUc7SUFDSCxvREFBWSxDQUFBO0lBQ1o7OztPQUdHO0lBQ0gsb0VBQW9CLENBQUE7SUFDcEI7O09BRUc7SUFDSCw4Q0FBUyxDQUFBO0lBQ1Q7OztPQUdHO0lBQ0gsOERBQWlCLENBQUE7SUFDakI7O09BRUc7SUFDSCw4Q0FBUyxDQUFBO0lBQ1Q7OztPQUdHO0lBQ0gsOERBQWlCLENBQUE7SUFDakI7O09BRUc7SUFDSCxvREFBWSxDQUFBO0lBQ1o7OztPQUdHO0lBQ0gsb0VBQW9CLENBQUE7SUFDcEI7O09BRUc7SUFDSCx3Q0FBTSxDQUFBO0lBQ047O09BRUc7SUFDSCxvQ0FBSSxDQUFBO0lBQ0o7O09BRUc7SUFDSCxzQ0FBSyxDQUFBO0lBQ0w7O09BRUc7SUFDSCxzQ0FBSyxDQUFBO0FBQ1AsQ0FBQyxFQTdHVyxNQUFNLEtBQU4sTUFBTSxRQTZHakI7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQWM7SUFDN0MsUUFBUSxNQUFNLEVBQUUsQ0FBQztRQUNmLEtBQUssTUFBTSxDQUFDLGdCQUFnQjtZQUMxQixPQUFPLHdEQUF3RCxDQUFBO1FBQ2pFLEtBQUssTUFBTSxDQUFDLFlBQVk7WUFDdEIsT0FBTyxvREFBb0QsQ0FBQTtRQUM3RCxLQUFLLE1BQU0sQ0FBQyxvQkFBb0I7WUFDOUIsT0FBTyw4REFBOEQsQ0FBQTtRQUN2RSxLQUFLLE1BQU0sQ0FBQyxjQUFjO1lBQ3hCLE9BQU8sc0RBQXNELENBQUE7UUFDL0QsS0FBSyxNQUFNLENBQUMsc0JBQXNCO1lBQ2hDLE9BQU8sZ0VBQWdFLENBQUE7UUFDekUsS0FBSyxNQUFNLENBQUMsV0FBVztZQUNyQixPQUFPLG1EQUFtRCxDQUFBO1FBQzVELEtBQUssTUFBTSxDQUFDLG1CQUFtQjtZQUM3QixPQUFPLDZEQUE2RCxDQUFBO1FBQ3RFLEtBQUssTUFBTSxDQUFDLFlBQVk7WUFDdEIsT0FBTyxvREFBb0QsQ0FBQTtRQUM3RCxLQUFLLE1BQU0sQ0FBQyxvQkFBb0I7WUFDOUIsT0FBTyw4REFBOEQsQ0FBQTtRQUN2RSxLQUFLLE1BQU0sQ0FBQyxlQUFlO1lBQ3pCLE9BQU8sdURBQXVELENBQUE7UUFDaEUsS0FBSyxNQUFNLENBQUMsdUJBQXVCO1lBQ2pDLE9BQU8saUVBQWlFLENBQUE7UUFDMUUsS0FBSyxNQUFNLENBQUMsVUFBVTtZQUNwQixPQUFPLGtEQUFrRCxDQUFBO1FBQzNELEtBQUssTUFBTSxDQUFDLFlBQVk7WUFDdEIsT0FBTyxvREFBb0QsQ0FBQTtRQUM3RCxLQUFLLE1BQU0sQ0FBQyxvQkFBb0I7WUFDOUIsT0FBTyw4REFBOEQsQ0FBQTtRQUN2RSxLQUFLLE1BQU0sQ0FBQyxTQUFTO1lBQ25CLE9BQU8saURBQWlELENBQUE7UUFDMUQsS0FBSyxNQUFNLENBQUMsaUJBQWlCO1lBQzNCLE9BQU8sMkRBQTJELENBQUE7UUFDcEUsS0FBSyxNQUFNLENBQUMsU0FBUztZQUNuQixPQUFPLGlEQUFpRCxDQUFBO1FBQzFELEtBQUssTUFBTSxDQUFDLGlCQUFpQjtZQUMzQixPQUFPLDJEQUEyRCxDQUFBO1FBQ3BFLEtBQUssTUFBTSxDQUFDLFlBQVk7WUFDdEIsT0FBTyxvREFBb0QsQ0FBQTtRQUM3RCxLQUFLLE1BQU0sQ0FBQyxvQkFBb0I7WUFDOUIsT0FBTyw4REFBOEQsQ0FBQTtRQUN2RSxLQUFLLE1BQU0sQ0FBQyxNQUFNO1lBQ2hCLE9BQU8sc0JBQXNCLENBQUE7UUFDL0IsS0FBSyxNQUFNLENBQUMsSUFBSTtZQUNkLE9BQU8sMENBQTBDLENBQUE7UUFDbkQsS0FBSyxNQUFNLENBQUMsS0FBSztZQUNmLE9BQU8sMkNBQTJDLENBQUE7UUFDcEQsS0FBSyxNQUFNLENBQUMsS0FBSztZQUNmLE9BQU8sdUNBQXVDLENBQUE7UUFDaEQ7WUFDRSxPQUFPLHVCQUF1QixDQUFBO0lBQ2xDLENBQUM7QUFDSCxDQUFDIn0=
176
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2VuZElmLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL1NlbmRJZi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7OztHQUlHO0FBQ0gsTUFBTSxDQUFOLElBQVksTUE2R1g7QUE3R0QsV0FBWSxNQUFNO0lBQ2hCOzs7O09BSUc7SUFDSCwyREFBZ0IsQ0FBQTtJQUNoQjs7T0FFRztJQUNILG1EQUFZLENBQUE7SUFDWjs7O09BR0c7SUFDSCxtRUFBb0IsQ0FBQTtJQUNwQjs7T0FFRztJQUNILHVEQUFjLENBQUE7SUFDZDs7O09BR0c7SUFDSCx1RUFBc0IsQ0FBQTtJQUN0Qjs7T0FFRztJQUNILGlEQUFXLENBQUE7SUFDWDs7O09BR0c7SUFDSCxpRUFBbUIsQ0FBQTtJQUNuQjs7T0FFRztJQUNILG1EQUFZLENBQUE7SUFDWjs7O09BR0c7SUFDSCxtRUFBb0IsQ0FBQTtJQUNwQjs7T0FFRztJQUNILHlEQUFlLENBQUE7SUFDZjs7O09BR0c7SUFDSCwwRUFBdUIsQ0FBQTtJQUN2Qjs7O09BR0c7SUFDSCxnREFBVSxDQUFBO0lBQ1Y7O09BRUc7SUFDSCxvREFBWSxDQUFBO0lBQ1o7OztPQUdHO0lBQ0gsb0VBQW9CLENBQUE7SUFDcEI7O09BRUc7SUFDSCw4Q0FBUyxDQUFBO0lBQ1Q7OztPQUdHO0lBQ0gsOERBQWlCLENBQUE7SUFDakI7O09BRUc7SUFDSCw4Q0FBUyxDQUFBO0lBQ1Q7OztPQUdHO0lBQ0gsOERBQWlCLENBQUE7SUFDakI7O09BRUc7SUFDSCxvREFBWSxDQUFBO0lBQ1o7OztPQUdHO0lBQ0gsb0VBQW9CLENBQUE7SUFDcEI7O09BRUc7SUFDSCx3Q0FBTSxDQUFBO0lBQ047O09BRUc7SUFDSCxvQ0FBSSxDQUFBO0lBQ0o7O09BRUc7SUFDSCxzQ0FBSyxDQUFBO0lBQ0w7O09BRUc7SUFDSCxzQ0FBSyxDQUFBO0FBQ1AsQ0FBQyxFQTdHVyxNQUFNLEtBQU4sTUFBTSxRQTZHakI7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQWM7SUFDN0MsUUFBUSxNQUFNLEVBQUUsQ0FBQztRQUNmLEtBQUssTUFBTSxDQUFDLGdCQUFnQjtZQUMxQixPQUFPLHdEQUF3RCxDQUFDO1FBQ2xFLEtBQUssTUFBTSxDQUFDLFlBQVk7WUFDdEIsT0FBTyxvREFBb0QsQ0FBQztRQUM5RCxLQUFLLE1BQU0sQ0FBQyxvQkFBb0I7WUFDOUIsT0FBTyw4REFBOEQsQ0FBQztRQUN4RSxLQUFLLE1BQU0sQ0FBQyxjQUFjO1lBQ3hCLE9BQU8sc0RBQXNELENBQUM7UUFDaEUsS0FBSyxNQUFNLENBQUMsc0JBQXNCO1lBQ2hDLE9BQU8sZ0VBQWdFLENBQUM7UUFDMUUsS0FBSyxNQUFNLENBQUMsV0FBVztZQUNyQixPQUFPLG1EQUFtRCxDQUFDO1FBQzdELEtBQUssTUFBTSxDQUFDLG1CQUFtQjtZQUM3QixPQUFPLDZEQUE2RCxDQUFDO1FBQ3ZFLEtBQUssTUFBTSxDQUFDLFlBQVk7WUFDdEIsT0FBTyxvREFBb0QsQ0FBQztRQUM5RCxLQUFLLE1BQU0sQ0FBQyxvQkFBb0I7WUFDOUIsT0FBTyw4REFBOEQsQ0FBQztRQUN4RSxLQUFLLE1BQU0sQ0FBQyxlQUFlO1lBQ3pCLE9BQU8sdURBQXVELENBQUM7UUFDakUsS0FBSyxNQUFNLENBQUMsdUJBQXVCO1lBQ2pDLE9BQU8saUVBQWlFLENBQUM7UUFDM0UsS0FBSyxNQUFNLENBQUMsVUFBVTtZQUNwQixPQUFPLGtEQUFrRCxDQUFDO1FBQzVELEtBQUssTUFBTSxDQUFDLFlBQVk7WUFDdEIsT0FBTyxvREFBb0QsQ0FBQztRQUM5RCxLQUFLLE1BQU0sQ0FBQyxvQkFBb0I7WUFDOUIsT0FBTyw4REFBOEQsQ0FBQztRQUN4RSxLQUFLLE1BQU0sQ0FBQyxTQUFTO1lBQ25CLE9BQU8saURBQWlELENBQUM7UUFDM0QsS0FBSyxNQUFNLENBQUMsaUJBQWlCO1lBQzNCLE9BQU8sMkRBQTJELENBQUM7UUFDckUsS0FBSyxNQUFNLENBQUMsU0FBUztZQUNuQixPQUFPLGlEQUFpRCxDQUFDO1FBQzNELEtBQUssTUFBTSxDQUFDLGlCQUFpQjtZQUMzQixPQUFPLDJEQUEyRCxDQUFDO1FBQ3JFLEtBQUssTUFBTSxDQUFDLFlBQVk7WUFDdEIsT0FBTyxvREFBb0QsQ0FBQztRQUM5RCxLQUFLLE1BQU0sQ0FBQyxvQkFBb0I7WUFDOUIsT0FBTyw4REFBOEQsQ0FBQztRQUN4RSxLQUFLLE1BQU0sQ0FBQyxNQUFNO1lBQ2hCLE9BQU8sc0JBQXNCLENBQUM7UUFDaEMsS0FBSyxNQUFNLENBQUMsSUFBSTtZQUNkLE9BQU8sMENBQTBDLENBQUM7UUFDcEQsS0FBSyxNQUFNLENBQUMsS0FBSztZQUNmLE9BQU8sMkNBQTJDLENBQUM7UUFDckQsS0FBSyxNQUFNLENBQUMsS0FBSztZQUNmLE9BQU8sdUNBQXVDLENBQUM7UUFDakQ7WUFDRSxPQUFPLHVCQUF1QixDQUFDO0lBQ25DLENBQUM7QUFDSCxDQUFDIn0=
@@ -1 +1 @@
1
- {"version":3,"file":"SlackMessage.d.ts","sourceRoot":"","sources":["../../src/model/SlackMessage.ts"],"names":[],"mappings":"AAmCA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAEvF"}
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xhY2tNZXNzYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vZGVsL1NsYWNrTWVzc2FnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFHQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFDaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLFVBQVUsQ0FBQTtBQUVyQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUE2QjFDOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQUMsR0FBVyxFQUFFLElBQXlCO0lBQ3ZFLE9BQU8sSUFBSSxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUE7QUFDeEMsQ0FBQztBQUVEOzs7R0FHRztBQUNILE1BQU0sZ0JBQWdCO0lBQ0gsUUFBUSxDQUFpQjtJQUN6QixnQkFBZ0IsQ0FBUTtJQUN4QixNQUFNLENBQVM7SUFDZixlQUFlLENBQWdCO0lBRXhDLE9BQU8sQ0FBYztJQUNyQixPQUFPLENBQWU7SUFDdEIsTUFBTSxDQUFTO0lBQ2YsTUFBTSxDQUFTO0lBRXZCLFlBQVksR0FBVyxFQUFFLElBQXlCO1FBQ2hELElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxlQUFlLENBQUMsR0FBRyxFQUFFO1lBQ3ZDLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUSxJQUFJLGVBQWU7WUFDMUMsUUFBUSxFQUFFLElBQUksQ0FBQyxPQUFPO1NBQ3ZCLENBQUMsQ0FBQTtRQUNGLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLGlCQUFpQixJQUFJLG9CQUFvQixDQUFBO1FBQzdFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUN4QixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUE7SUFDNUMsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFlO1FBQ3hCLElBQUks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
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,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"}
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"}