@sectester/reporter 0.33.3 → 0.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/package.json +4 -2
  2. package/src/index.d.ts +1 -1
  3. package/src/index.js +4 -3
  4. package/src/index.js.map +1 -1
  5. package/src/reporters/github/GitHubCheckRunReporter.d.ts +12 -0
  6. package/src/reporters/github/GitHubCheckRunReporter.js +55 -0
  7. package/src/reporters/github/GitHubCheckRunReporter.js.map +1 -0
  8. package/src/reporters/github/api/GitHubApiClient.d.ts +7 -0
  9. package/src/reporters/github/api/GitHubApiClient.js +35 -0
  10. package/src/reporters/github/api/GitHubApiClient.js.map +1 -0
  11. package/src/reporters/github/api/GitHubClient.d.ts +5 -0
  12. package/src/reporters/github/api/GitHubClient.js +5 -0
  13. package/src/reporters/github/api/GitHubClient.js.map +1 -0
  14. package/src/reporters/github/api/GitHubConfig.d.ts +6 -0
  15. package/src/reporters/github/api/GitHubConfig.js +5 -0
  16. package/src/reporters/github/api/GitHubConfig.js.map +1 -0
  17. package/src/reporters/github/api/index.d.ts +2 -0
  18. package/src/reporters/github/api/index.js +8 -0
  19. package/src/reporters/github/api/index.js.map +1 -0
  20. package/src/reporters/github/api/register.d.ts +1 -0
  21. package/src/reporters/github/api/register.js +15 -0
  22. package/src/reporters/github/api/register.js.map +1 -0
  23. package/src/reporters/github/builders/BasePayloadBuilder.d.ts +10 -0
  24. package/src/reporters/github/builders/BasePayloadBuilder.js +26 -0
  25. package/src/reporters/github/builders/BasePayloadBuilder.js.map +1 -0
  26. package/src/reporters/github/builders/CheckRunPayloadBuilder.d.ts +4 -0
  27. package/src/reporters/github/builders/CheckRunPayloadBuilder.js +3 -0
  28. package/src/reporters/github/builders/CheckRunPayloadBuilder.js.map +1 -0
  29. package/src/reporters/github/builders/MultiItemsPayloadBuilder.d.ts +10 -0
  30. package/src/reporters/github/builders/MultiItemsPayloadBuilder.js +58 -0
  31. package/src/reporters/github/builders/MultiItemsPayloadBuilder.js.map +1 -0
  32. package/src/reporters/github/builders/SingleItemPayloadBuilder.d.ts +14 -0
  33. package/src/reporters/github/builders/SingleItemPayloadBuilder.js +67 -0
  34. package/src/reporters/github/builders/SingleItemPayloadBuilder.js.map +1 -0
  35. package/src/reporters/github/builders/index.d.ts +3 -0
  36. package/src/reporters/github/builders/index.js +8 -0
  37. package/src/reporters/github/builders/index.js.map +1 -0
  38. package/src/reporters/github/index.d.ts +2 -0
  39. package/src/reporters/github/index.js +7 -0
  40. package/src/reporters/github/index.js.map +1 -0
  41. package/src/reporters/github/types/CheckRunAnnotation.d.ts +2 -0
  42. package/src/reporters/github/types/CheckRunAnnotation.js +3 -0
  43. package/src/reporters/github/types/CheckRunAnnotation.js.map +1 -0
  44. package/src/reporters/github/types/CheckRunPayload.d.ts +2 -0
  45. package/src/reporters/github/types/CheckRunPayload.js +3 -0
  46. package/src/reporters/github/types/CheckRunPayload.js.map +1 -0
  47. package/src/reporters/github/types/GitHubConfig.d.ts +5 -0
  48. package/src/reporters/github/types/GitHubConfig.js +3 -0
  49. package/src/reporters/github/types/GitHubConfig.js.map +1 -0
  50. package/src/reporters/github/types/index.d.ts +3 -0
  51. package/src/reporters/github/types/index.js +3 -0
  52. package/src/reporters/github/types/index.js.map +1 -0
  53. package/src/reporters/index.d.ts +2 -0
  54. package/src/reporters/index.js +6 -0
  55. package/src/reporters/index.js.map +1 -0
  56. package/src/{std → reporters/std}/StdReporter.d.ts +1 -1
  57. package/src/{std → reporters/std}/StdReporter.js +1 -1
  58. package/src/reporters/std/StdReporter.js.map +1 -0
  59. package/src/reporters/std/index.js.map +1 -0
  60. package/src/std/StdReporter.js.map +0 -1
  61. package/src/std/index.js.map +0 -1
  62. /package/src/{std → reporters/std}/index.d.ts +0 -0
  63. /package/src/{std → reporters/std}/index.js +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sectester/reporter",
3
- "version": "0.33.3",
3
+ "version": "0.34.0",
4
4
  "description": "Provide an abstraction for generating test results as part of the particular test frameworks.",
5
5
  "repository": {
6
6
  "type": "git",
@@ -36,7 +36,9 @@
36
36
  "dependencies": {
37
37
  "chalk": "^4.1.2",
38
38
  "tslib": "~2.6.3",
39
- "tty-table": "^4.2.3"
39
+ "tsyringe": "^4.8.0",
40
+ "tty-table": "^4.2.3",
41
+ "@octokit/types": "^13.5.0"
40
42
  },
41
43
  "peerDependencies": {
42
44
  "@sectester/scan": ">=0.16.0 <1.0.0"
package/src/index.d.ts CHANGED
@@ -1,3 +1,3 @@
1
1
  export { PlainTextFormatter } from './formatters';
2
2
  export { Reporter, Formatter } from './lib';
3
- export { StdReporter } from './std';
3
+ export { GitHubCheckRunReporter, StdReporter } from './reporters';
package/src/index.js CHANGED
@@ -1,11 +1,12 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.StdReporter = exports.Formatter = exports.Reporter = exports.PlainTextFormatter = void 0;
3
+ exports.StdReporter = exports.GitHubCheckRunReporter = exports.Formatter = exports.Reporter = exports.PlainTextFormatter = void 0;
4
4
  var formatters_1 = require("./formatters");
5
5
  Object.defineProperty(exports, "PlainTextFormatter", { enumerable: true, get: function () { return formatters_1.PlainTextFormatter; } });
6
6
  var lib_1 = require("./lib");
7
7
  Object.defineProperty(exports, "Reporter", { enumerable: true, get: function () { return lib_1.Reporter; } });
8
8
  Object.defineProperty(exports, "Formatter", { enumerable: true, get: function () { return lib_1.Formatter; } });
9
- var std_1 = require("./std");
10
- Object.defineProperty(exports, "StdReporter", { enumerable: true, get: function () { return std_1.StdReporter; } });
9
+ var reporters_1 = require("./reporters");
10
+ Object.defineProperty(exports, "GitHubCheckRunReporter", { enumerable: true, get: function () { return reporters_1.GitHubCheckRunReporter; } });
11
+ Object.defineProperty(exports, "StdReporter", { enumerable: true, get: function () { return reporters_1.StdReporter; } });
11
12
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/reporter/src/index.ts"],"names":[],"mappings":";;;AAAA,2CAAkD;AAAzC,gHAAA,kBAAkB,OAAA;AAC3B,6BAA4C;AAAnC,+FAAA,QAAQ,OAAA;AAAE,gGAAA,SAAS,OAAA;AAC5B,6BAAoC;AAA3B,kGAAA,WAAW,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/reporter/src/index.ts"],"names":[],"mappings":";;;AAAA,2CAAkD;AAAzC,gHAAA,kBAAkB,OAAA;AAC3B,6BAA4C;AAAnC,+FAAA,QAAQ,OAAA;AAAE,gGAAA,SAAS,OAAA;AAC5B,yCAAkE;AAAzD,mHAAA,sBAAsB,OAAA;AAAE,wGAAA,WAAW,OAAA"}
@@ -0,0 +1,12 @@
1
+ import { Reporter } from '../../lib';
2
+ import type { GitHubClient } from './api';
3
+ import type { GitHubConfig } from './types';
4
+ import type { Scan } from '@sectester/scan';
5
+ export declare class GitHubCheckRunReporter implements Reporter {
6
+ private readonly config;
7
+ private readonly githubClient;
8
+ constructor(config: GitHubConfig, githubClient: GitHubClient);
9
+ report(scan: Scan): Promise<void>;
10
+ private createCheckRunPayloadBuilder;
11
+ private getTestFilePath;
12
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GitHubCheckRunReporter = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const api_1 = require("./api");
6
+ const builders_1 = require("./builders");
7
+ const tsyringe_1 = require("tsyringe");
8
+ const node_path_1 = tslib_1.__importDefault(require("node:path"));
9
+ // TODO add `GitHubCheckRunReporter` description to README
10
+ let GitHubCheckRunReporter = class GitHubCheckRunReporter {
11
+ constructor(config, githubClient) {
12
+ this.config = config;
13
+ this.githubClient = githubClient;
14
+ if (!this.config.token) {
15
+ throw new Error('GitHub token is not set');
16
+ }
17
+ if (!this.config.repository) {
18
+ throw new Error('GitHub repository is not set');
19
+ }
20
+ if (!this.config.commitSha) {
21
+ throw new Error('GitHub commitSha is not set');
22
+ }
23
+ }
24
+ async report(scan) {
25
+ const issues = await scan.issues();
26
+ if (issues.length === 0)
27
+ return;
28
+ const checkRunPayload = this.createCheckRunPayloadBuilder(issues).build();
29
+ await this.githubClient.createCheckRun(checkRunPayload);
30
+ }
31
+ createCheckRunPayloadBuilder(issues) {
32
+ return issues.length === 1
33
+ ? new builders_1.SingleItemPayloadBuilder(issues[0], this.config.commitSha, this.getTestFilePath())
34
+ : new builders_1.MultiItemsPayloadBuilder(issues, this.config.commitSha, this.getTestFilePath());
35
+ }
36
+ // TODO subject to improvement
37
+ getTestFilePath() {
38
+ var _a;
39
+ const state = (_a = global.expect) === null || _a === void 0 ? void 0 : _a.getState();
40
+ if (!state) {
41
+ return 'unknown';
42
+ }
43
+ const testPath = state.testPath;
44
+ const rootDir = state.snapshotState._rootDir;
45
+ return node_path_1.default.join(node_path_1.default.basename(rootDir), node_path_1.default.relative(rootDir, testPath));
46
+ }
47
+ };
48
+ exports.GitHubCheckRunReporter = GitHubCheckRunReporter;
49
+ exports.GitHubCheckRunReporter = GitHubCheckRunReporter = tslib_1.__decorate([
50
+ (0, tsyringe_1.injectable)(),
51
+ tslib_1.__param(0, (0, tsyringe_1.inject)(api_1.GITHUB_CONFIG)),
52
+ tslib_1.__param(1, (0, tsyringe_1.inject)(api_1.GITHUB_CLIENT)),
53
+ tslib_1.__metadata("design:paramtypes", [Object, Object])
54
+ ], GitHubCheckRunReporter);
55
+ //# sourceMappingURL=GitHubCheckRunReporter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitHubCheckRunReporter.js","sourceRoot":"","sources":["../../../../../../packages/reporter/src/reporters/github/GitHubCheckRunReporter.ts"],"names":[],"mappings":";;;;AACA,+BAAqD;AAErD,yCAAgF;AAGhF,uCAA8C;AAE9C,kEAA6B;AAE7B,0DAA0D;AAEnD,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,YAC0C,MAAoB,EACpB,YAA0B;QAD1B,WAAM,GAAN,MAAM,CAAc;QACpB,iBAAY,GAAZ,YAAY,CAAc;QAElE,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;YACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;QAC7C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;QAClD,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YAC3B,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QACjD,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,IAAU;QAC5B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,CAAC;QACnC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO;QAEhC,MAAM,eAAe,GAAG,IAAI,CAAC,4BAA4B,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;QAC1E,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,eAAe,CAAC,CAAC;IAC1D,CAAC;IAEO,4BAA4B,CAClC,MAAe;QAEf,OAAO,MAAM,CAAC,MAAM,KAAK,CAAC;YACxB,CAAC,CAAC,IAAI,mCAAwB,CAC1B,MAAM,CAAC,CAAC,CAAC,EACT,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,IAAI,CAAC,eAAe,EAAE,CACvB;YACH,CAAC,CAAC,IAAI,mCAAwB,CAC1B,MAAM,EACN,IAAI,CAAC,MAAM,CAAC,SAAS,EACrB,IAAI,CAAC,eAAe,EAAE,CACvB,CAAC;IACR,CAAC;IAED,8BAA8B;IACtB,eAAe;;QACrB,MAAM,KAAK,GAAG,MAAC,MAAc,CAAC,MAAM,0CAAE,QAAQ,EAAE,CAAC;QACjD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,MAAM,OAAO,GAAG,KAAK,CAAC,aAAa,CAAC,QAAQ,CAAC;QAE7C,OAAO,mBAAI,CAAC,IAAI,CAAC,mBAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC7E,CAAC;CACF,CAAA;AAtDY,wDAAsB;iCAAtB,sBAAsB;IADlC,IAAA,qBAAU,GAAE;IAGR,mBAAA,IAAA,iBAAM,EAAC,mBAAa,CAAC,CAAA;IACrB,mBAAA,IAAA,iBAAM,EAAC,mBAAa,CAAC,CAAA;;GAHb,sBAAsB,CAsDlC"}
@@ -0,0 +1,7 @@
1
+ import type { CheckRunPayload, GitHubConfig } from '../types';
2
+ import type { GitHubClient } from './GitHubClient';
3
+ export declare class GitHubApiClient implements GitHubClient {
4
+ private readonly config;
5
+ constructor(config: GitHubConfig);
6
+ createCheckRun(payload: CheckRunPayload): Promise<void>;
7
+ }
@@ -0,0 +1,35 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GitHubApiClient = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const GitHubConfig_1 = require("./GitHubConfig");
6
+ const tsyringe_1 = require("tsyringe");
7
+ let GitHubApiClient = class GitHubApiClient {
8
+ constructor(config) {
9
+ this.config = config;
10
+ }
11
+ async createCheckRun(payload) {
12
+ const requestOptions = {
13
+ method: 'POST',
14
+ headers: {
15
+ // eslint-disable-next-line @typescript-eslint/naming-convention
16
+ 'Authorization': `Bearer ${this.config.token}`,
17
+ // eslint-disable-next-line @typescript-eslint/naming-convention
18
+ 'Accept': 'application/vnd.github.v3+json',
19
+ 'Content-Type': 'application/json'
20
+ },
21
+ body: JSON.stringify(payload)
22
+ };
23
+ const res = await fetch(`https://api.github.com/repos/${this.config.repository}/check-runs`, requestOptions);
24
+ if (!res.ok) {
25
+ throw new Error(`GitHub API error: ${res.status} ${res.statusText}`);
26
+ }
27
+ }
28
+ };
29
+ exports.GitHubApiClient = GitHubApiClient;
30
+ exports.GitHubApiClient = GitHubApiClient = tslib_1.__decorate([
31
+ (0, tsyringe_1.injectable)(),
32
+ tslib_1.__param(0, (0, tsyringe_1.inject)(GitHubConfig_1.GITHUB_CONFIG)),
33
+ tslib_1.__metadata("design:paramtypes", [Object])
34
+ ], GitHubApiClient);
35
+ //# sourceMappingURL=GitHubApiClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitHubApiClient.js","sourceRoot":"","sources":["../../../../../../../packages/reporter/src/reporters/github/api/GitHubApiClient.ts"],"names":[],"mappings":";;;;AAEA,iDAA+C;AAC/C,uCAA8C;AAGvC,IAAM,eAAe,GAArB,MAAM,eAAe;IAC1B,YAAoD,MAAoB;QAApB,WAAM,GAAN,MAAM,CAAc;IAAG,CAAC;IAErE,KAAK,CAAC,cAAc,CAAC,OAAwB;QAClD,MAAM,cAAc,GAAG;YACrB,MAAM,EAAE,MAAM;YACd,OAAO,EAAE;gBACP,gEAAgE;gBAChE,eAAe,EAAE,UAAU,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE;gBAC9C,gEAAgE;gBAChE,QAAQ,EAAE,gCAAgC;gBAC1C,cAAc,EAAE,kBAAkB;aACnC;YACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;SAC9B,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,KAAK,CACrB,gCAAgC,IAAI,CAAC,MAAM,CAAC,UAAU,aAAa,EACnE,cAAc,CACf,CAAC;QAEF,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,KAAK,CAAC,qBAAqB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QACvE,CAAC;IACH,CAAC;CACF,CAAA;AAzBY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,qBAAU,GAAE;IAEE,mBAAA,IAAA,iBAAM,EAAC,4BAAa,CAAC,CAAA;;GADvB,eAAe,CAyB3B"}
@@ -0,0 +1,5 @@
1
+ import type { CheckRunPayload } from '../types';
2
+ export interface GitHubClient {
3
+ createCheckRun(payload: CheckRunPayload): Promise<void>;
4
+ }
5
+ export declare const GITHUB_CLIENT: unique symbol;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GITHUB_CLIENT = void 0;
4
+ exports.GITHUB_CLIENT = Symbol('GITHUB_CLIENT');
5
+ //# sourceMappingURL=GitHubClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitHubClient.js","sourceRoot":"","sources":["../../../../../../../packages/reporter/src/reporters/github/api/GitHubClient.ts"],"names":[],"mappings":";;;AAMa,QAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC"}
@@ -0,0 +1,6 @@
1
+ export interface GitHubConfig {
2
+ token?: string;
3
+ repository?: string;
4
+ commitSha?: string;
5
+ }
6
+ export declare const GITHUB_CONFIG: unique symbol;
@@ -0,0 +1,5 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GITHUB_CONFIG = void 0;
4
+ exports.GITHUB_CONFIG = Symbol('GITHUB_CONFIG');
5
+ //# sourceMappingURL=GitHubConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitHubConfig.js","sourceRoot":"","sources":["../../../../../../../packages/reporter/src/reporters/github/api/GitHubConfig.ts"],"names":[],"mappings":";;;AAMa,QAAA,aAAa,GAAG,MAAM,CAAC,eAAe,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export { GITHUB_CLIENT, type GitHubClient } from './GitHubClient';
2
+ export { GITHUB_CONFIG, type GitHubConfig } from './GitHubConfig';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GITHUB_CONFIG = exports.GITHUB_CLIENT = void 0;
4
+ var GitHubClient_1 = require("./GitHubClient");
5
+ Object.defineProperty(exports, "GITHUB_CLIENT", { enumerable: true, get: function () { return GitHubClient_1.GITHUB_CLIENT; } });
6
+ var GitHubConfig_1 = require("./GitHubConfig");
7
+ Object.defineProperty(exports, "GITHUB_CONFIG", { enumerable: true, get: function () { return GitHubConfig_1.GITHUB_CONFIG; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/reporter/src/reporters/github/api/index.ts"],"names":[],"mappings":";;;AAAA,+CAAkE;AAAzD,6GAAA,aAAa,OAAA;AACtB,+CAAkE;AAAzD,6GAAA,aAAa,OAAA"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const GitHubClient_1 = require("./GitHubClient");
4
+ const GitHubConfig_1 = require("./GitHubConfig");
5
+ const GitHubApiClient_1 = require("./GitHubApiClient");
6
+ const tsyringe_1 = require("tsyringe");
7
+ tsyringe_1.container.register(GitHubConfig_1.GITHUB_CONFIG, {
8
+ useValue: {
9
+ token: process.env.GITHUB_TOKEN,
10
+ repository: process.env.GITHUB_REPOSITORY,
11
+ commitSha: process.env.PR_COMMIT_SHA
12
+ }
13
+ });
14
+ tsyringe_1.container.register(GitHubClient_1.GITHUB_CLIENT, { useClass: GitHubApiClient_1.GitHubApiClient });
15
+ //# sourceMappingURL=register.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"register.js","sourceRoot":"","sources":["../../../../../../../packages/reporter/src/reporters/github/api/register.ts"],"names":[],"mappings":";;AAAA,iDAA+C;AAC/C,iDAA+C;AAC/C,uDAAoD;AACpD,uCAAqC;AAErC,oBAAS,CAAC,QAAQ,CAAC,4BAAa,EAAE;IAChC,QAAQ,EAAE;QACR,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QAC/B,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB;QACzC,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,aAAa;KACrC;CACF,CAAC,CAAC;AACH,oBAAS,CAAC,QAAQ,CAAC,4BAAa,EAAE,EAAE,QAAQ,EAAE,iCAAe,EAAE,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { CheckRunPayloadBuilder } from './CheckRunPayloadBuilder';
2
+ import { CheckRunAnnotation, CheckRunPayload } from '../types';
3
+ import type { Issue } from '@sectester/scan';
4
+ export declare abstract class BasePayloadBuilder implements CheckRunPayloadBuilder {
5
+ protected readonly testFilePath: string;
6
+ protected readonly commitSha: string;
7
+ constructor(commitSha: string | undefined, testFilePath: string);
8
+ abstract build(): CheckRunPayload;
9
+ protected convertIssueToAnnotation(issue: Issue): CheckRunAnnotation;
10
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BasePayloadBuilder = void 0;
4
+ class BasePayloadBuilder {
5
+ constructor(commitSha, testFilePath) {
6
+ this.testFilePath = testFilePath;
7
+ if (!commitSha) {
8
+ throw new Error('Commit SHA is required');
9
+ }
10
+ this.commitSha = commitSha;
11
+ }
12
+ convertIssueToAnnotation(issue) {
13
+ const { originalRequest, name } = issue;
14
+ const title = `${name} vulnerability found at ${originalRequest.method.toUpperCase()} ${originalRequest.url}`;
15
+ return {
16
+ path: this.testFilePath,
17
+ start_line: 1,
18
+ end_line: 1,
19
+ annotation_level: 'failure',
20
+ message: title,
21
+ raw_details: JSON.stringify(issue, null, 2)
22
+ };
23
+ }
24
+ }
25
+ exports.BasePayloadBuilder = BasePayloadBuilder;
26
+ //# sourceMappingURL=BasePayloadBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BasePayloadBuilder.js","sourceRoot":"","sources":["../../../../../../../packages/reporter/src/reporters/github/builders/BasePayloadBuilder.ts"],"names":[],"mappings":";;;AAIA,MAAsB,kBAAkB;IAGtC,YACE,SAA6B,EACV,YAAoB;QAApB,iBAAY,GAAZ,YAAY,CAAQ;QAEvC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAIS,wBAAwB,CAAC,KAAY;QAC7C,MAAM,EAAE,eAAe,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;QACxC,MAAM,KAAK,GAAG,GAAG,IAAI,2BAA2B,eAAe,CAAC,MAAM,CAAC,WAAW,EAAE,IAAI,eAAe,CAAC,GAAG,EAAE,CAAC;QAE9G,OAAO;YACL,IAAI,EAAE,IAAI,CAAC,YAAY;YACvB,UAAU,EAAE,CAAC;YACb,QAAQ,EAAE,CAAC;YACX,gBAAgB,EAAE,SAAS;YAC3B,OAAO,EAAE,KAAK;YACd,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;SAC5C,CAAC;IACJ,CAAC;CACF;AA5BD,gDA4BC"}
@@ -0,0 +1,4 @@
1
+ import type { CheckRunPayload } from '../types';
2
+ export interface CheckRunPayloadBuilder {
3
+ build(): CheckRunPayload;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=CheckRunPayloadBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckRunPayloadBuilder.js","sourceRoot":"","sources":["../../../../../../../packages/reporter/src/reporters/github/builders/CheckRunPayloadBuilder.ts"],"names":[],"mappings":""}
@@ -0,0 +1,10 @@
1
+ import type { CheckRunPayload } from '../types';
2
+ import { BasePayloadBuilder } from './BasePayloadBuilder';
3
+ import type { Issue } from '@sectester/scan';
4
+ export declare class MultiItemsPayloadBuilder extends BasePayloadBuilder {
5
+ private readonly issues;
6
+ constructor(issues: Issue[], commitSha: string | undefined, testFilePath: string);
7
+ build(): CheckRunPayload;
8
+ private buildSummary;
9
+ private buildDetails;
10
+ }
@@ -0,0 +1,58 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultiItemsPayloadBuilder = void 0;
4
+ const BasePayloadBuilder_1 = require("./BasePayloadBuilder");
5
+ const scan_1 = require("@sectester/scan");
6
+ class MultiItemsPayloadBuilder extends BasePayloadBuilder_1.BasePayloadBuilder {
7
+ constructor(issues, commitSha, testFilePath) {
8
+ super(commitSha, testFilePath);
9
+ this.issues = issues;
10
+ }
11
+ build() {
12
+ return {
13
+ name: `SecTester (${this.issues.length} issues)`,
14
+ head_sha: this.commitSha,
15
+ conclusion: 'failure',
16
+ output: {
17
+ title: `${this.issues.length} vulnerabilities detected in application endpoints`,
18
+ summary: this.buildSummary(),
19
+ text: this.buildDetails(),
20
+ annotations: this.issues.map(issue => this.convertIssueToAnnotation(issue))
21
+ }
22
+ };
23
+ }
24
+ buildSummary() {
25
+ const severityCounts = this.issues.reduce((counts, issue) => {
26
+ counts[issue.severity] = (counts[issue.severity] || 0) + 1;
27
+ return counts;
28
+ }, {});
29
+ const parts = [];
30
+ if (severityCounts[scan_1.Severity.CRITICAL]) {
31
+ parts.push(`${severityCounts[scan_1.Severity.CRITICAL]} Critical`);
32
+ }
33
+ if (severityCounts[scan_1.Severity.HIGH]) {
34
+ parts.push(`${severityCounts[scan_1.Severity.HIGH]} High`);
35
+ }
36
+ if (severityCounts[scan_1.Severity.MEDIUM]) {
37
+ parts.push(`${severityCounts[scan_1.Severity.MEDIUM]} Medium`);
38
+ }
39
+ if (severityCounts[scan_1.Severity.LOW]) {
40
+ parts.push(`${severityCounts[scan_1.Severity.LOW]} Low`);
41
+ }
42
+ return parts.length > 0
43
+ ? `${parts.join(', ')} severity issues found`
44
+ : 'No issues found';
45
+ }
46
+ buildDetails() {
47
+ return this.issues
48
+ .map(issue => {
49
+ var _a, _b;
50
+ const method = (_b = (_a = issue.originalRequest.method) === null || _a === void 0 ? void 0 : _a.toUpperCase()) !== null && _b !== void 0 ? _b : 'GET';
51
+ const pathname = new URL(issue.originalRequest.url).pathname;
52
+ return `- ${method} ${pathname}: ${issue.name}`;
53
+ })
54
+ .join('\n');
55
+ }
56
+ }
57
+ exports.MultiItemsPayloadBuilder = MultiItemsPayloadBuilder;
58
+ //# sourceMappingURL=MultiItemsPayloadBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MultiItemsPayloadBuilder.js","sourceRoot":"","sources":["../../../../../../../packages/reporter/src/reporters/github/builders/MultiItemsPayloadBuilder.ts"],"names":[],"mappings":";;;AACA,6DAA0D;AAE1D,0CAA2C;AAE3C,MAAa,wBAAyB,SAAQ,uCAAkB;IAC9D,YACmB,MAAe,EAChC,SAA6B,EAC7B,YAAoB;QAEpB,KAAK,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;QAJd,WAAM,GAAN,MAAM,CAAS;IAKlC,CAAC;IAEM,KAAK;QACV,OAAO;YACL,IAAI,EAAE,cAAc,IAAI,CAAC,MAAM,CAAC,MAAM,UAAU;YAChD,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,UAAU,EAAE,SAAS;YACrB,MAAM,EAAE;gBACN,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,oDAAoD;gBAChF,OAAO,EAAE,IAAI,CAAC,YAAY,EAAE;gBAC5B,IAAI,EAAE,IAAI,CAAC,YAAY,EAAE;gBACzB,WAAW,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CACnC,IAAI,CAAC,wBAAwB,CAAC,KAAK,CAAC,CACrC;aACF;SACF,CAAC;IACJ,CAAC;IAEO,YAAY;QAClB,MAAM,cAAc,GAAG,IAAI,CAAC,MAAM,CAAC,MAAM,CACvC,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE;YAChB,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAE3D,OAAO,MAAM,CAAC;QAChB,CAAC,EACD,EAA8B,CAC/B,CAAC;QAEF,MAAM,KAAK,GAAG,EAAE,CAAC;QACjB,IAAI,cAAc,CAAC,eAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;YACtC,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,eAAQ,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,cAAc,CAAC,eAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;YAClC,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,eAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACtD,CAAC;QACD,IAAI,cAAc,CAAC,eAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;YACpC,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,eAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC1D,CAAC;QACD,IAAI,cAAc,CAAC,eAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,eAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpD,CAAC;QAED,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC;YACrB,CAAC,CAAC,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,wBAAwB;YAC7C,CAAC,CAAC,iBAAiB,CAAC;IACxB,CAAC;IAEO,YAAY;QAClB,OAAO,IAAI,CAAC,MAAM;aACf,GAAG,CAAC,KAAK,CAAC,EAAE;;YACX,MAAM,MAAM,GAAG,MAAA,MAAA,KAAK,CAAC,eAAe,CAAC,MAAM,0CAAE,WAAW,EAAE,mCAAI,KAAK,CAAC;YACpE,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC;YAE7D,OAAO,KAAK,MAAM,IAAI,QAAQ,KAAK,KAAK,CAAC,IAAI,EAAE,CAAC;QAClD,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC,CAAC;IAChB,CAAC;CACF;AAhED,4DAgEC"}
@@ -0,0 +1,14 @@
1
+ import type { CheckRunPayload } from '../types';
2
+ import { BasePayloadBuilder } from './BasePayloadBuilder';
3
+ import type { Issue } from '@sectester/scan';
4
+ export declare class SingleItemPayloadBuilder extends BasePayloadBuilder {
5
+ private readonly issue;
6
+ constructor(issue: Issue, commitSha: string | undefined, testFilePath: string);
7
+ build(): CheckRunPayload;
8
+ private buildEndpoint;
9
+ private buildTitle;
10
+ private buildSummary;
11
+ private buildDetails;
12
+ private formatList;
13
+ private formatIssueComment;
14
+ }
@@ -0,0 +1,67 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SingleItemPayloadBuilder = void 0;
4
+ const BasePayloadBuilder_1 = require("./BasePayloadBuilder");
5
+ class SingleItemPayloadBuilder extends BasePayloadBuilder_1.BasePayloadBuilder {
6
+ constructor(issue, commitSha, testFilePath) {
7
+ super(commitSha, testFilePath);
8
+ this.issue = issue;
9
+ }
10
+ build() {
11
+ return {
12
+ name: `SecTester - ${this.buildEndpoint()}`,
13
+ head_sha: this.commitSha,
14
+ conclusion: 'failure',
15
+ output: {
16
+ title: this.buildTitle(),
17
+ summary: this.buildSummary(),
18
+ text: this.buildDetails(),
19
+ annotations: [this.convertIssueToAnnotation(this.issue)]
20
+ }
21
+ };
22
+ }
23
+ buildEndpoint() {
24
+ return `${this.issue.originalRequest.method} ${new URL(this.issue.originalRequest.url).pathname}`;
25
+ }
26
+ buildTitle() {
27
+ return `${this.issue.name} found at ${this.buildEndpoint()}`;
28
+ }
29
+ buildSummary() {
30
+ return [
31
+ `Name: ${this.issue.name}`,
32
+ `Severity: ${this.issue.severity}`,
33
+ `Bright UI link: ${this.issue.link}`,
34
+ `\nRemediation:\n${this.issue.remedy}`
35
+ ].join('\n');
36
+ }
37
+ buildDetails() {
38
+ var _a, _b;
39
+ const extraDetails = ((_a = this.issue.comments) === null || _a === void 0 ? void 0 : _a.length)
40
+ ? this.formatList(this.issue.comments.map(x => this.formatIssueComment(x)))
41
+ : '';
42
+ const references = ((_b = this.issue.resources) === null || _b === void 0 ? void 0 : _b.length)
43
+ ? this.formatList(this.issue.resources)
44
+ : '';
45
+ return [
46
+ `${this.issue.details}`,
47
+ ...(extraDetails ? [`\nExtra Details:\n${extraDetails}`] : []),
48
+ ...(references ? [`\nReferences:\n${references}`] : [])
49
+ ].join('\n');
50
+ }
51
+ formatList(items) {
52
+ return items.map(x => `- ${x}`).join('\n');
53
+ }
54
+ formatIssueComment({ headline, text = '', links = [] }) {
55
+ const body = [
56
+ text,
57
+ ...(links.length ? [`Links:\n${this.formatList(links)}`] : [])
58
+ ].join('\n');
59
+ const indentedBody = body
60
+ .split('\n')
61
+ .map(x => `\t${x}`)
62
+ .join('\n');
63
+ return [headline, indentedBody].join('\n');
64
+ }
65
+ }
66
+ exports.SingleItemPayloadBuilder = SingleItemPayloadBuilder;
67
+ //# sourceMappingURL=SingleItemPayloadBuilder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SingleItemPayloadBuilder.js","sourceRoot":"","sources":["../../../../../../../packages/reporter/src/reporters/github/builders/SingleItemPayloadBuilder.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export type { CheckRunPayloadBuilder } from './CheckRunPayloadBuilder';
2
+ export { SingleItemPayloadBuilder } from './SingleItemPayloadBuilder';
3
+ export { MultiItemsPayloadBuilder } from './MultiItemsPayloadBuilder';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MultiItemsPayloadBuilder = exports.SingleItemPayloadBuilder = void 0;
4
+ var SingleItemPayloadBuilder_1 = require("./SingleItemPayloadBuilder");
5
+ Object.defineProperty(exports, "SingleItemPayloadBuilder", { enumerable: true, get: function () { return SingleItemPayloadBuilder_1.SingleItemPayloadBuilder; } });
6
+ var MultiItemsPayloadBuilder_1 = require("./MultiItemsPayloadBuilder");
7
+ Object.defineProperty(exports, "MultiItemsPayloadBuilder", { enumerable: true, get: function () { return MultiItemsPayloadBuilder_1.MultiItemsPayloadBuilder; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/reporter/src/reporters/github/builders/index.ts"],"names":[],"mappings":";;;AACA,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA;AACjC,uEAAsE;AAA7D,oIAAA,wBAAwB,OAAA"}
@@ -0,0 +1,2 @@
1
+ import './api/register';
2
+ export { GitHubCheckRunReporter } from './GitHubCheckRunReporter';
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.GitHubCheckRunReporter = void 0;
4
+ require("./api/register");
5
+ var GitHubCheckRunReporter_1 = require("./GitHubCheckRunReporter");
6
+ Object.defineProperty(exports, "GitHubCheckRunReporter", { enumerable: true, get: function () { return GitHubCheckRunReporter_1.GitHubCheckRunReporter; } });
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/reporter/src/reporters/github/index.ts"],"names":[],"mappings":";;;AAAA,0BAAwB;AACxB,mEAAkE;AAAzD,gIAAA,sBAAsB,OAAA"}
@@ -0,0 +1,2 @@
1
+ import type { CheckRunPayload } from './CheckRunPayload';
2
+ export type CheckRunAnnotation = NonNullable<NonNullable<CheckRunPayload['output']>['annotations']>[number];
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=CheckRunAnnotation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckRunAnnotation.js","sourceRoot":"","sources":["../../../../../../../packages/reporter/src/reporters/github/types/CheckRunAnnotation.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import type { Endpoints } from '@octokit/types';
2
+ export type CheckRunPayload = Endpoints['POST /repos/{owner}/{repo}/check-runs']['request']['data'];
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=CheckRunPayload.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CheckRunPayload.js","sourceRoot":"","sources":["../../../../../../../packages/reporter/src/reporters/github/types/CheckRunPayload.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export interface GitHubConfig {
2
+ readonly token: string;
3
+ readonly repository: string;
4
+ readonly commitSha: string;
5
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=GitHubConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GitHubConfig.js","sourceRoot":"","sources":["../../../../../../../packages/reporter/src/reporters/github/types/GitHubConfig.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export type { CheckRunAnnotation } from './CheckRunAnnotation';
2
+ export type { CheckRunPayload } from './CheckRunPayload';
3
+ export type { GitHubConfig } from './GitHubConfig';
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../packages/reporter/src/reporters/github/types/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export * from './github';
2
+ export * from './std';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ tslib_1.__exportStar(require("./github"), exports);
5
+ tslib_1.__exportStar(require("./std"), exports);
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/reporter/src/reporters/index.ts"],"names":[],"mappings":";;;AAAA,mDAAyB;AACzB,gDAAsB"}
@@ -1,4 +1,4 @@
1
- import { Reporter } from '../lib';
1
+ import { Reporter } from '../../lib';
2
2
  import { Scan } from '@sectester/scan';
3
3
  export declare class StdReporter implements Reporter {
4
4
  private readonly severityColorFn;
@@ -2,7 +2,7 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.StdReporter = void 0;
4
4
  const tslib_1 = require("tslib");
5
- const utils_1 = require("../utils");
5
+ const utils_1 = require("../../utils");
6
6
  const scan_1 = require("@sectester/scan");
7
7
  const tty_table_1 = tslib_1.__importDefault(require("tty-table"));
8
8
  const chalk_1 = tslib_1.__importDefault(require("chalk"));
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StdReporter.js","sourceRoot":"","sources":["../../../../../../packages/reporter/src/reporters/std/StdReporter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/reporter/src/reporters/std/index.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAAnC,0GAAA,WAAW,OAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"StdReporter.js","sourceRoot":"","sources":["../../../../../packages/reporter/src/std/StdReporter.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/reporter/src/std/index.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAAnC,0GAAA,WAAW,OAAA"}
File without changes
File without changes