@fabasoad/sarif-to-slack 0.1.1 → 0.2.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.
@@ -31,7 +31,7 @@ If applicable, add screenshots to help explain your problem.
31
31
  #### Technical information (please complete the following information)
32
32
 
33
33
  - OS: [e.g. Windows 10 Enterprise v.1909 (OS Build 18363.720)]
34
- - `sarif-to-slack-action` version [e.g. 0.1.0]
34
+ - `sarif-to-slack` version [e.g. 0.1.1]
35
35
 
36
36
  #### Additional context
37
37
 
@@ -4,12 +4,12 @@
4
4
 
5
5
  Please check if your PR fulfills the following requirements:
6
6
 
7
- - [ ] I have read the [CONTRIBUTING](https://github.com/fabasoad/sarif-to-slack-action/blob/main/CONTRIBUTING.md)
7
+ - [ ] I have read the [CONTRIBUTING](https://github.com/fabasoad/sarif-to-slack/blob/main/CONTRIBUTING.md)
8
8
  doc.
9
9
  - [ ] Tests for the changes have been added (for bug fixes / features).
10
10
  - [ ] Docs have been reviewed and added / updated if needed (for bug fixes / features).
11
- - [ ] Build (`yarn run build`) was run locally and any changes were pushed.
12
- - [ ] Tests (`yarn test`) has passed locally and any fixes were made for failures.
11
+ - [ ] Build (`make build`) was run locally and any changes were pushed.
12
+ - [ ] Tests (`make test`) has passed locally and any fixes were made for failures.
13
13
 
14
14
  ## Pull request type
15
15
 
@@ -6,13 +6,27 @@ on: # yamllint disable-line rule:truthy
6
6
  push:
7
7
  branches:
8
8
  - main
9
+ workflow_dispatch:
10
+ inputs:
11
+ linter:
12
+ description: |
13
+ The linter to run. Supported values: `js-lint`, `pre-commit`.
14
+ required: false
15
+ default: all
16
+ type: choice
17
+ options:
18
+ - all
19
+ - js-lint
20
+ - pre-commit
9
21
 
10
22
  jobs:
11
23
  js-lint:
12
24
  name: JS Lint
25
+ if: ${{ (github.event.inputs.linter || 'all') == 'all' || github.event.inputs.linter == 'js-lint' }}
13
26
  uses: fabasoad/reusable-workflows/.github/workflows/wf-js-lint.yml@main
14
27
  pre-commit:
15
28
  name: Pre-commit
29
+ if: ${{ (github.event.inputs.linter || 'all') == 'all' || github.event.inputs.linter == 'pre-commit' }}
16
30
  uses: fabasoad/reusable-workflows/.github/workflows/wf-pre-commit.yml@main
17
31
  with:
18
32
  skip-hooks: "audit, build, lint, test"
@@ -28,6 +28,8 @@ jobs:
28
28
  steps:
29
29
  - name: Checkout ${{ github.repository }}
30
30
  uses: actions/checkout@v4
31
+ with:
32
+ token: "${{ secrets.GH_TOKEN }}"
31
33
 
32
34
  - name: Setup Node
33
35
  uses: actions/setup-node@v4
@@ -9,6 +9,7 @@ on: # yamllint disable-line rule:truthy
9
9
  - jest.config.json
10
10
  - package.json
11
11
  - src/**
12
+ - tests/**
12
13
  - tsconfig.json
13
14
  push:
14
15
  branches:
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  default_install_hook_types: ["pre-commit", "pre-push"]
3
3
  default_stages: ["pre-commit", "pre-push"]
4
- exclude: ^(dist/.*|etc/.*|lib/.*|node_modules/.*|temp/.*)$
4
+ exclude: ^(dist/.*|etc/.*|node_modules/.*|temp/.*)$
5
5
  minimum_pre_commit_version: 4.0.0
6
6
  repos:
7
7
  - repo: local
package/CONTRIBUTING.md CHANGED
@@ -33,7 +33,7 @@ In short, when you submit code changes, your submissions are understood to be
33
33
  under the same [MIT License](http://choosealicense.com/licenses/mit/) that covers
34
34
  the project. Feel free to contact the maintainers if that's a concern.
35
35
 
36
- ## Report bugs using [GitHub Issues](https://github.com/fabasoad/sarif-to-slack-action/issues)
36
+ ## Report bugs using [GitHub Issues](https://github.com/fabasoad/sarif-to-slack/issues)
37
37
 
38
38
  We use GitHub issues to track public bugs. Report a bug by opening a new issue.
39
39
  It's that easy!
package/Makefile CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  .PHONY: audit
4
4
  audit:
5
- @npm audit --all
5
+ @npm audit --audit-level moderate --package-lock-only --include dev
6
6
 
7
7
  .PHONY: build
8
8
  build:
package/README.md CHANGED
@@ -1,11 +1,11 @@
1
1
  # SARIF to Slack TypeScript Library
2
2
 
3
3
  [![Stand With Ukraine](https://raw.githubusercontent.com/vshymanskyy/StandWithUkraine/main/badges/StandWithUkraine.svg)](https://stand-with-ukraine.pp.ua)
4
- ![Releases](https://img.shields.io/github/v/release/fabasoad/sarif-to-slack-action?include_prereleases)
5
- ![unit-tests](https://github.com/fabasoad/sarif-to-slack-action/actions/workflows/unit-tests.yml/badge.svg)
6
- ![security](https://github.com/fabasoad/sarif-to-slack-action/actions/workflows/security.yml/badge.svg)
7
- ![linting](https://github.com/fabasoad/sarif-to-slack-action/actions/workflows/linting.yml/badge.svg)
8
- [![codecov](https://codecov.io/gh/fabasoad/sarif-to-slack-action/branch/main/graph/badge.svg?token=908QOYME6H)](https://codecov.io/gh/fabasoad/sarif-to-slack-action)
4
+ ![Releases](https://img.shields.io/github/v/release/fabasoad/sarif-to-slack?include_prereleases)
5
+ ![unit-tests](https://github.com/fabasoad/sarif-to-slack/actions/workflows/unit-tests.yml/badge.svg)
6
+ ![security](https://github.com/fabasoad/sarif-to-slack/actions/workflows/security.yml/badge.svg)
7
+ ![linting](https://github.com/fabasoad/sarif-to-slack/actions/workflows/linting.yml/badge.svg)
8
+ [![codecov](https://codecov.io/gh/fabasoad/sarif-to-slack/branch/main/graph/badge.svg?token=I4FV5Q328I)](https://codecov.io/gh/fabasoad/sarif-to-slack)
9
9
 
10
10
  TypeScript library to send results of SARIF file to Slack webhook URL.
11
11
 
@@ -16,19 +16,50 @@ TypeScript library to send results of SARIF file to Slack webhook URL.
16
16
  * [Contents](#contents)
17
17
  * [How to use](#how-to-use)
18
18
  * [Sample](#sample)
19
+ * [References](#references)
19
20
  * [Contributions](#contributions)
20
21
  <!-- TOC -->
21
22
 
22
23
  ## How to use
23
24
 
24
25
  ```typescript
26
+ import { SarifToSlackService, FooterType } from '@fabasoad/sarif-to-slack';
25
27
 
28
+ const service = await SarifToSlackService.create({
29
+ webhookUrl: 'https://hooks.slack.com/services/your/webhook/url',
30
+ sarifPath: 'path/to/your/sarif/file.sarif',
31
+ logLevel: 'info',
32
+ username: 'SARIF Bot',
33
+ iconUrl: 'https://example.com/icon.png',
34
+ color: '#36a64f',
35
+ header: {
36
+ include: true,
37
+ value: 'SARIF Analysis Results',
38
+ },
39
+ footer: {
40
+ include: true,
41
+ type: FooterType.PLAIN_TEXT,
42
+ value: 'Generated by @fabasoad/sarif-to-slack',
43
+ },
44
+ actor: {
45
+ include: true,
46
+ value: 'fabasoad',
47
+ },
48
+ run: {
49
+ include: true,
50
+ },
51
+ });
52
+ await service.sendAll();
26
53
  ```
27
54
 
28
55
  ## Sample
29
56
 
30
57
  <img alt="Sample" src="sample.png" width="450"/>
31
58
 
59
+ ## References
60
+
61
+ * [API Report](./etc/sarif-to-slack.api.md)
62
+
32
63
  ## Contributions
33
64
 
34
65
  ![Alt](https://repobeats.axiom.co/api/embed/a0989b54292b5c9e03ce1dd4cb23f68072f88f46.svg "Repobeats analytics image")
package/biome.json CHANGED
@@ -3,12 +3,12 @@
3
3
  "enabled": true,
4
4
  "rules": {
5
5
  "recommended": false,
6
- "a11y": { "noBlankTarget": "error" },
6
+ "a11y": "off",
7
7
  "complexity": {
8
+ "noAdjacentSpacesInRegex": "error",
9
+ "noArguments": "error",
8
10
  "noExtraBooleanCast": "error",
9
- "noMultipleSpacesInRegularExpressionLiterals": "error",
10
- "noUselessCatch": "error",
11
- "noWith": "error"
11
+ "noUselessCatch": "error"
12
12
  },
13
13
  "correctness": {
14
14
  "noChildrenProp": "error",
@@ -19,7 +19,7 @@
19
19
  "noGlobalObjectCalls": "error",
20
20
  "noInnerDeclarations": "error",
21
21
  "noInvalidConstructorSuper": "error",
22
- "noNewSymbol": "error",
22
+ "noInvalidBuiltinInstantiation": "error",
23
23
  "noNonoctalDecimalEscape": "error",
24
24
  "noPrecisionLoss": "error",
25
25
  "noSelfAssign": "error",
@@ -35,12 +35,14 @@
35
35
  "useIsNan": "error",
36
36
  "useJsxKeyInIterable": "error",
37
37
  "useValidForDirection": "error",
38
+ "useValidTypeof": "error",
38
39
  "useYield": "error"
39
40
  },
40
- "security": { "noDangerouslySetInnerHtml": "error" },
41
+ "security": {
42
+ "noBlankTarget": "error",
43
+ "noDangerouslySetInnerHtml": "error"
44
+ },
41
45
  "style": {
42
- "noArguments": "error",
43
- "noVar": "error",
44
46
  "useBlockStatements": "error",
45
47
  "useConst": "error",
46
48
  "useSingleVarDeclarator": "error"
@@ -67,15 +69,16 @@
67
69
  "noPrototypeBuiltins": "error",
68
70
  "noRedeclare": "error",
69
71
  "noShadowRestrictedNames": "error",
72
+ "noVar": "error",
73
+ "noWith": "error",
70
74
  "noUnsafeNegation": "error",
71
- "useGetterReturn": "error",
72
- "useValidTypeof": "error"
75
+ "useGetterReturn": "error"
73
76
  }
74
77
  },
75
- "ignore": ["dist/**"]
78
+ "includes": ["src/**", "tests/**"]
76
79
  },
77
80
  "javascript": {
78
81
  "globals": ["Atomics", "SharedArrayBuffer", "jest", "afterEach", "beforeAll", "beforeEach", "expect", "test", "describe"]
79
82
  },
80
- "overrides": [{ "include": ["**/*.spec.ts", "**/*.spec.tsx"] }]
83
+ "overrides": [{ "includes": ["**/*.spec.ts", "**/*.spec.tsx"] }]
81
84
  }
package/dist/Logger.js CHANGED
@@ -10,6 +10,8 @@ export default class Logger {
10
10
  if (!Logger.instance) {
11
11
  Logger.instance = new TSLogger({
12
12
  minLevel: process.env.ACTIONS_STEP_DEBUG === 'true' ? 0 : logLevel,
13
+ type: 'pretty',
14
+ prettyLogTimeZone: 'UTC',
13
15
  });
14
16
  }
15
17
  }
@@ -20,4 +22,4 @@ export default class Logger {
20
22
  Logger.instance.debug(args);
21
23
  }
22
24
  }
23
- //# sourceMappingURL=Logger.js.map
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTG9nZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL0xvZ2dlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsTUFBTSxJQUFJLFFBQVEsRUFBVyxNQUFNLE9BQU8sQ0FBQTtBQUNuRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sU0FBUyxDQUFBO0FBVWxDOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxPQUFPLE9BQU8sTUFBTTtJQUNqQixNQUFNLENBQUMsUUFBUSxHQUFzQixJQUFJLFFBQVEsRUFBRSxDQUFDO0lBRXJELE1BQU0sQ0FBQyxVQUFVLENBQUMsRUFBRSxRQUFRLEdBQUcsUUFBUSxDQUFDLElBQUksRUFBaUI7UUFDbEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQztZQUNyQixNQUFNLENBQUMsUUFBUSxHQUFHLElBQUksUUFBUSxDQUFDO2dCQUM3QixRQUFRLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxrQkFBa0IsS0FBSyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUTtnQkFDbEUsSUFBSSxFQUFFLFFBQVE7Z0JBQ2QsaUJBQWlCLEVBQUUsS0FBSzthQUN6QixDQUFDLENBQUE7UUFDSixDQUFDO0lBQ0gsQ0FBQztJQUVNLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFjO1FBQ2xDLE1BQU0sQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO0lBQzVCLENBQUM7SUFFTSxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBYztRQUNuQyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQTtJQUM3QixDQUFDIn0=
@@ -88,4 +88,4 @@ export function processSarifPath(sarifPath) {
88
88
  }
89
89
  throw new Error(`"sarif-path" is neither a file nor a directory: ${sarifPath}`);
90
90
  }
91
- //# sourceMappingURL=Processors.js.map
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvY2Vzc29ycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Qcm9jZXNzb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQ3hCLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBQzVCLE9BQU8sTUFBTSxNQUFNLFVBQVUsQ0FBQTtBQUc3Qjs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxZQUFZLENBQUMsS0FBYztJQUN6QyxRQUFRLEtBQUssRUFBRSxDQUFDO1FBQ2QsS0FBSyxTQUFTO1lBQ1osTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEtBQUssY0FBYyxDQUFDLENBQUE7WUFDL0MsT0FBTyxTQUFTLENBQUE7UUFDbEIsS0FBSyxTQUFTO1lBQ1osTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEtBQUssY0FBYyxDQUFDLENBQUE7WUFDL0MsT0FBTyxTQUFTLENBQUE7UUFDbEIsS0FBSyxXQUFXO1lBQ2QsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEtBQUssY0FBYyxDQUFDLENBQUE7WUFDL0MsT0FBTyxTQUFTLENBQUE7UUFDbEIsS0FBSyxTQUFTO1lBQ1osTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLEtBQUssY0FBYyxDQUFDLENBQUE7WUFDL0MsT0FBTyxTQUFTLENBQUE7UUFDbEI7WUFDRSxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksS0FBSywyREFBMkQsQ0FBQyxDQUFBO1lBQ2xGLE9BQU8sS0FBSyxDQUFBO0lBQ2hCLENBQUM7QUFDSCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FBQyxRQUE0QjtJQUMxRCxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRSxDQUFDO1FBQ2pDLFFBQVEsUUFBUSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7WUFDL0IsS0FBSyxPQUFPO2dCQUNWLE9BQU8sQ0FBQyxDQUFBO1lBQ1YsS0FBSyxPQUFPO2dCQUNWLE9BQU8sQ0FBQyxDQUFBO1lBQ1YsS0FBSyxPQUFPO2dCQUNWLE9BQU8sQ0FBQyxDQUFBO1lBQ1YsS0FBSyxNQUFNO2dCQUNULE9BQU8sQ0FBQyxDQUFBO1lBQ1YsS0FBSyxTQUFTO2dCQUNaLE9BQU8sQ0FBQyxDQUFBO1lBQ1YsS0FBSyxPQUFPO2dCQUNWLE9BQU8sQ0FBQyxDQUFBO1lBQ1YsS0FBSyxPQUFPO2dCQUNWLE9BQU8sQ0FBQyxDQUFBO1lBQ1Y7Z0JBQ0UsTUFBTSxJQUFJLEtBQUssQ0FBQyxzQkFBc0IsUUFBUSxFQUFFLENBQUMsQ0FBQTtRQUNyRCxDQUFDO0lBQ0gsQ0FBQztJQUNELE9BQU8sUUFBUSxDQUFBO0FBQ2pCLENBQUM7QUFFRDs7Ozs7Ozs7O0dBU0c7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsU0FBaUI7SUFDaEQsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLGdDQUFnQyxTQUFTLEVBQUUsQ0FBQyxDQUFBO0lBQzlELENBQUM7SUFFRCxNQUFNLFVBQVUsR0FBYSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFBO0lBRW5ELElBQUksVUFBVSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUM7UUFDN0IsTUFBTSxDQUFDLElBQUksQ0FBQyxnQ0FBZ0MsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUN4RCxNQUFNLEtBQUssR0FBYSxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBQ2pELE1BQU0sYUFBYSxHQUFhLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUM1RCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxLQUFLLFFBQVEsQ0FDOUMsQ0FBQTtRQUNELE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxhQUFhLENBQUMsTUFBTSxtQkFBbUIsU0FBUyxZQUFZLENBQUMsQ0FBQTtRQUNsRixNQUFNLENBQUMsS0FBSyxDQUFDLHlCQUF5QixhQUFhLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtRQUNqRSxPQUFPLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFZLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUE7SUFDeEUsQ0FBQztJQUVELElBQUksVUFBVSxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDeEIsTUFBTSxDQUFDLElBQUksQ0FBQywyQkFBMkIsU0FBUyxFQUFFLENBQUMsQ0FBQTtRQUNuRCxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDcEIsQ0FBQztJQUVELE1BQU0sSUFBSSxLQUFLLENBQUMsbURBQW1ELFNBQVMsRUFBRSxDQUFDLENBQUE7QUFDakYsQ0FBQyJ9
@@ -20,7 +20,7 @@ async function initialize(opts) {
20
20
  messageBuilder.withHeader(opts.header?.value);
21
21
  }
22
22
  if (opts.footer?.include) {
23
- messageBuilder.withFooter(opts.footer?.value);
23
+ messageBuilder.withFooter(opts.footer?.value, opts.footer?.type);
24
24
  }
25
25
  if (opts.actor?.include) {
26
26
  messageBuilder.withActor(opts.actor?.value);
@@ -92,4 +92,4 @@ export class SarifToSlackService {
92
92
  Logger.info(`Message sent for ${sarifPath} file. Status:`, text);
93
93
  }
94
94
  }
95
- //# sourceMappingURL=SarifToSlackService.js.map
95
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2FyaWZUb1NsYWNrU2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TYXJpZlRvU2xhY2tTZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLElBQUksRUFBRSxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBQ3BDLE9BQU8sTUFBTSxNQUFNLFVBQVUsQ0FBQTtBQUM3QixPQUFPLEVBQUUsWUFBWSxFQUFFLGVBQWUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUM5RSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQTtBQU8zRCxLQUFLLFVBQVUsVUFBVSxDQUFDLElBQWdDO0lBQ3hELE1BQU0sYUFBYSxHQUFHLElBQUksR0FBRyxFQUF3QixDQUFDO0lBQ3RELE1BQU0sVUFBVSxHQUFhLGdCQUFnQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUM3RCxJQUFJLFVBQVUsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7UUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4Q0FBOEMsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDLENBQUE7SUFDakYsQ0FBQztJQUVELEtBQUssTUFBTSxTQUFTLElBQUksVUFBVSxFQUFFLENBQUM7UUFDbkMsTUFBTSxVQUFVLEdBQVcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQTtRQUUvRCxNQUFNLGNBQWMsR0FBRyxJQUFJLG1CQUFtQixDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUU7WUFDOUQsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixLQUFLLEVBQUUsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7WUFDL0IsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFVO1NBQ3ZDLENB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
@@ -1,4 +1,6 @@
1
1
  import { IncomingWebhook } from '@slack/webhook';
2
+ import { FooterType } from './types';
3
+ import { LIB_VERSION } from './version';
2
4
  /**
3
5
  * Class for building and sending Slack messages based on SARIF logs.
4
6
  * @internal
@@ -36,14 +38,14 @@ export class SlackMessageBuilder {
36
38
  withRun() {
37
39
  this.runId = process.env.GITHUB_RUN_ID;
38
40
  }
39
- withFooter(footer) {
40
- const repoName = 'fabasoad/sarif-to-slack-action';
41
+ withFooter(text, type) {
42
+ const repoName = 'fabasoad/sarif-to-slack';
43
+ const element = text
44
+ ? { type: type || FooterType.PLAIN_TEXT, text }
45
+ : { type: FooterType.MARKDOWN, text: `Generated by <${this.gitHubServerUrl}/${repoName}|@${repoName}@${LIB_VERSION}>` };
41
46
  this.footer = {
42
47
  type: 'context',
43
- elements: [{
44
- type: footer ? 'plain_text' : 'mrkdwn',
45
- text: footer || `Generated by <${this.gitHubServerUrl}/${repoName}|${repoName}>`
46
- }],
48
+ elements: [element],
47
49
  };
48
50
  }
49
51
  async send() {
@@ -140,4 +142,4 @@ export class SlackMessageBuilder {
140
142
  return 'unknown';
141
143
  }
142
144
  }
143
- //# sourceMappingURL=SlackMessageBuilder.js.map
145
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2xhY2tNZXNzYWdlQnVpbGRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TbGFja01lc3NhZ2VCdWlsZGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQTtBQUNoRCxPQUFPLEVBQUUsVUFBVSxFQUF1QixNQUFNLFNBQVMsQ0FBQTtBQUV6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sV0FBVyxDQUFBO0FBZXZDOzs7R0FHRztBQUNILE1BQU0sT0FBTyxtQkFBbUI7SUFDYixPQUFPLENBQWlCO0lBQ3hCLGVBQWUsQ0FBUTtJQUN2QixLQUFLLENBQVM7SUFFdkIsTUFBTSxDQUFjO0lBQ3BCLE1BQU0sQ0FBZTtJQUNyQixLQUFLLENBQVM7SUFDZCxLQUFLLENBQVM7SUFFTixLQUFLLENBQU87SUFFNUIsWUFBWSxHQUFXLEVBQUUsSUFBZ0M7UUFDdkQsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLGVBQWUsQ0FBQyxHQUFHLEVBQUU7WUFDdEMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRLElBQUksZUFBZTtZQUMxQyxRQUFRLEVBQUUsSUFBSSxDQUFDLE9BQU87U0FDdkIsQ0FBQyxDQUFBO1FBQ0YsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQ3ZCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUN2QixJQUFJLENBQUMsZUFBZSxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLElBQUksb0JBQW9CLENBQUE7SUFDOUUsQ0FBQztJQUVELFVBQVUsQ0FBQyxNQUFlO1FBQ3hCLElBQUksQ0FBQyxNQUFNLEdBQUc7WUFDWixJQUFJLEVBQUUsUUFBUTtZQUNkLElBQUksRUFBRTtnQkFDSixJQUFJLEVBQUUsWUFBWTtnQkFDbEIsSUFBSSxFQUFFLE1BQU0sSUFBSSxPQUFPLENBQUMsR0FBRyxDQUFD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
package/dist/index.d.ts CHANGED
@@ -7,9 +7,9 @@
7
7
  *
8
8
  * @example
9
9
  * ```typescript
10
- * import { SarifToSlackService } from 'sarif-to-slack';
10
+ * import { SarifToSlackService, FooterType } from '@fabasoad/sarif-to-slack';
11
11
  *
12
- * const service = new SarifToSlackService({
12
+ * const service = await SarifToSlackService.create({
13
13
  * webhookUrl: 'https://hooks.slack.com/services/your/webhook/url',
14
14
  * sarifPath: 'path/to/your/sarif/file.sarif',
15
15
  * logLevel: 'info',
@@ -22,6 +22,7 @@
22
22
  * },
23
23
  * footer: {
24
24
  * include: true,
25
+ * type: FooterType.PLAIN_TEXT,
25
26
  * value: 'Generated by @fabasoad/sarif-to-slack'
26
27
  * },
27
28
  * actor: {
@@ -40,5 +41,5 @@
40
41
  * @packageDocumentation
41
42
  */
42
43
  export { SarifToSlackService } from './SarifToSlackService';
43
- export { IncludeAwareProps, IncludeAwareWithValueProps, LogLevel, Sarif, SarifToSlackServiceOptions, SlackMessage, } from './types';
44
+ export { FooterOptions, FooterType, IncludeAwareOptions, IncludeAwareWithValueOptions, LogLevel, Sarif, SarifToSlackServiceOptions, SlackMessage, } from './types';
44
45
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EACL,iBAAiB,EACjB,0BAA0B,EAC1B,QAAQ,EACR,KAAK,EACL,0BAA0B,EAC1B,YAAY,GACb,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAyCG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EACL,aAAa,EACb,UAAU,EACV,mBAAmB,EACnB,4BAA4B,EAC5B,QAAQ,EACR,KAAK,EACL,0BAA0B,EAC1B,YAAY,GACb,MAAM,SAAS,CAAA"}
package/dist/index.js CHANGED
@@ -8,9 +8,9 @@
8
8
  *
9
9
  * @example
10
10
  * ```typescript
11
- * import { SarifToSlackService } from 'sarif-to-slack';
11
+ * import { SarifToSlackService, FooterType } from '@fabasoad/sarif-to-slack';
12
12
  *
13
- * const service = new SarifToSlackService({
13
+ * const service = await SarifToSlackService.create({
14
14
  * webhookUrl: 'https://hooks.slack.com/services/your/webhook/url',
15
15
  * sarifPath: 'path/to/your/sarif/file.sarif',
16
16
  * logLevel: 'info',
@@ -23,6 +23,7 @@
23
23
  * },
24
24
  * footer: {
25
25
  * include: true,
26
+ * type: FooterType.PLAIN_TEXT,
26
27
  * value: 'Generated by @fabasoad/sarif-to-slack'
27
28
  * },
28
29
  * actor: {
@@ -41,5 +42,5 @@
41
42
  * @packageDocumentation
42
43
  */
43
44
  export { SarifToSlackService } from './SarifToSlackService';
44
- export { LogLevel, } from './types';
45
- //# sourceMappingURL=index.js.map
45
+ export { FooterType, LogLevel, } from './types';
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsMEZBQTBGO0FBRTFGOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlDRztBQUNILE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFBO0FBQzNELE9BQU8sRUFFTCxVQUFVLEVBR1YsUUFBUSxHQUlULE1BQU0sU0FBUyxDQUFBIn0=
@@ -7,9 +7,9 @@
7
7
  *
8
8
  * @example
9
9
  * ```typescript
10
- * import { SarifToSlackService } from 'sarif-to-slack';
10
+ * import { SarifToSlackService, FooterType } from '@fabasoad/sarif-to-slack';
11
11
  *
12
- * const service = new SarifToSlackService({
12
+ * const service = await SarifToSlackService.create({
13
13
  * webhookUrl: 'https://hooks.slack.com/services/your/webhook/url',
14
14
  * sarifPath: 'path/to/your/sarif/file.sarif',
15
15
  * logLevel: 'info',
@@ -22,6 +22,7 @@
22
22
  * },
23
23
  * footer: {
24
24
  * include: true,
25
+ * type: FooterType.PLAIN_TEXT,
25
26
  * value: 'Generated by @fabasoad/sarif-to-slack'
26
27
  * },
27
28
  * actor: {
@@ -42,12 +43,30 @@
42
43
 
43
44
  import type { Log } from 'sarif';
44
45
 
46
+ /**
47
+ * Options for the footer of a Slack message. "type" is ignored if "value" is
48
+ * not defined.
49
+ * @public
50
+ */
51
+ export declare type FooterOptions = IncludeAwareWithValueOptions & {
52
+ type?: FooterType;
53
+ };
54
+
55
+ /**
56
+ * Enum representing the type of footer in a Slack message.
57
+ * @public
58
+ */
59
+ export declare enum FooterType {
60
+ PLAIN_TEXT = "plain_text",
61
+ MARKDOWN = "mrkdwn"
62
+ }
63
+
45
64
  /**
46
65
  * Type representing properties that indicate whether to include certain information
47
66
  * in the Slack message.
48
67
  * @public
49
68
  */
50
- export declare type IncludeAwareProps = {
69
+ export declare type IncludeAwareOptions = {
51
70
  include: boolean;
52
71
  };
53
72
 
@@ -56,7 +75,7 @@ export declare type IncludeAwareProps = {
56
75
  * in the Slack message, along with an optional value.
57
76
  * @public
58
77
  */
59
- export declare type IncludeAwareWithValueProps = IncludeAwareProps & {
78
+ export declare type IncludeAwareWithValueOptions = IncludeAwareOptions & {
60
79
  value?: string;
61
80
  };
62
81
 
@@ -150,10 +169,10 @@ export declare type SarifToSlackServiceOptions = {
150
169
  iconUrl?: string;
151
170
  color?: string;
152
171
  logLevel?: LogLevel | string;
153
- header?: IncludeAwareWithValueProps;
154
- footer?: IncludeAwareWithValueProps;
155
- actor?: IncludeAwareWithValueProps;
156
- run?: IncludeAwareProps;
172
+ header?: IncludeAwareWithValueOptions;
173
+ footer?: FooterOptions;
174
+ actor?: IncludeAwareWithValueOptions;
175
+ run?: IncludeAwareOptions;
157
176
  };
158
177
 
159
178
  /**
package/dist/types.d.ts CHANGED
@@ -58,7 +58,7 @@ export declare enum LogLevel {
58
58
  * in the Slack message.
59
59
  * @public
60
60
  */
61
- export type IncludeAwareProps = {
61
+ export type IncludeAwareOptions = {
62
62
  include: boolean;
63
63
  };
64
64
  /**
@@ -66,9 +66,25 @@ export type IncludeAwareProps = {
66
66
  * in the Slack message, along with an optional value.
67
67
  * @public
68
68
  */
69
- export type IncludeAwareWithValueProps = IncludeAwareProps & {
69
+ export type IncludeAwareWithValueOptions = IncludeAwareOptions & {
70
70
  value?: string;
71
71
  };
72
+ /**
73
+ * Enum representing the type of footer in a Slack message.
74
+ * @public
75
+ */
76
+ export declare enum FooterType {
77
+ PLAIN_TEXT = "plain_text",
78
+ MARKDOWN = "mrkdwn"
79
+ }
80
+ /**
81
+ * Options for the footer of a Slack message. "type" is ignored if "value" is
82
+ * not defined.
83
+ * @public
84
+ */
85
+ export type FooterOptions = IncludeAwareWithValueOptions & {
86
+ type?: FooterType;
87
+ };
72
88
  /**
73
89
  * Options for the SarifToSlackService.
74
90
  * @public
@@ -80,9 +96,9 @@ export type SarifToSlackServiceOptions = {
80
96
  iconUrl?: string;
81
97
  color?: string;
82
98
  logLevel?: LogLevel | string;
83
- header?: IncludeAwareWithValueProps;
84
- footer?: IncludeAwareWithValueProps;
85
- actor?: IncludeAwareWithValueProps;
86
- run?: IncludeAwareProps;
99
+ header?: IncludeAwareWithValueOptions;
100
+ footer?: FooterOptions;
101
+ actor?: IncludeAwareWithValueOptions;
102
+ run?: IncludeAwareOptions;
87
103
  };
88
104
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,GAAG,CAAA;AAEvB;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3B;;OAEG;IACH,KAAK,EAAE,KAAK,CAAA;CACb;AAED;;;GAGG;AACH,oBAAY,QAAQ;IAClB;;OAEG;IACH,KAAK,IAAI;IACT;;OAEG;IACH,KAAK,IAAI;IACT;;OAEG;IACH,KAAK,IAAI;IACT;;OAEG;IACH,IAAI,IAAI;IACR;;OAEG;IACH,OAAO,IAAI;IACX;;OAEG;IACH,KAAK,IAAI;IACT;;OAEG;IACH,KAAK,IAAI;CACV;AAED;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,0BAA0B,GAAG,iBAAiB,GAAG;IAC3D,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG;IAEvC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,MAAM,CAAC,EAAE,0BAA0B,CAAC;IACpC,KAAK,CAAC,EAAE,0BAA0B,CAAC;IACnC,GAAG,CAAC,EAAE,iBAAiB,CAAC;CACzB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAA;AAEhC;;;GAGG;AACH,MAAM,MAAM,KAAK,GAAG,GAAG,CAAA;AAEvB;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B;;;OAGG;IACH,IAAI,EAAE,MAAM,OAAO,CAAC,MAAM,CAAC,CAAA;IAC3B;;OAEG;IACH,KAAK,EAAE,KAAK,CAAA;CACb;AAED;;;GAGG;AACH,oBAAY,QAAQ;IAClB;;OAEG;IACH,KAAK,IAAI;IACT;;OAEG;IACH,KAAK,IAAI;IACT;;OAEG;IACH,KAAK,IAAI;IACT;;OAEG;IACH,IAAI,IAAI;IACR;;OAEG;IACH,OAAO,IAAI;IACX;;OAEG;IACH,KAAK,IAAI;IACT;;OAEG;IACH,KAAK,IAAI;CACV;AAED;;;;GAIG;AACH,MAAM,MAAM,mBAAmB,GAAG;IAChC,OAAO,EAAE,OAAO,CAAA;CACjB,CAAA;AAED;;;;GAIG;AACH,MAAM,MAAM,4BAA4B,GAAG,mBAAmB,GAAG;IAC/D,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED;;;GAGG;AACH,oBAAY,UAAU;IACpB,UAAU,eAAe;IACzB,QAAQ,WAAW;CACpB;AAED;;;;GAIG;AACH,MAAM,MAAM,aAAa,GAAG,4BAA4B,GAAG;IACzD,IAAI,CAAC,EAAE,UAAU,CAAA;CAClB,CAAA;AAED;;;GAGG;AACH,MAAM,MAAM,0BAA0B,GAAG;IAEvC,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC7B,MAAM,CAAC,EAAE,4BAA4B,CAAC;IACtC,MAAM,CAAC,EAAE,aAAa,CAAC;IACvB,KAAK,CAAC,EAAE,4BAA4B,CAAC;IACrC,GAAG,CAAC,EAAE,mBAAmB,CAAC;CAC3B,CAAA"}
package/dist/types.js CHANGED
@@ -33,4 +33,13 @@ export var LogLevel;
33
33
  */
34
34
  LogLevel[LogLevel["Fatal"] = 6] = "Fatal";
35
35
  })(LogLevel || (LogLevel = {}));
36
- //# sourceMappingURL=types.js.map
36
+ /**
37
+ * Enum representing the type of footer in a Slack message.
38
+ * @public
39
+ */
40
+ export var FooterType;
41
+ (function (FooterType) {
42
+ FooterType["PLAIN_TEXT"] = "plain_text";
43
+ FooterType["MARKDOWN"] = "mrkdwn";
44
+ })(FooterType || (FooterType = {}));
45
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBd0JBOzs7R0FHRztBQUNILE1BQU0sQ0FBTixJQUFZLFFBNkJYO0FBN0JELFdBQVksUUFBUTtJQUNsQjs7T0FFRztJQUNILHlDQUFTLENBQUE7SUFDVDs7T0FFRztJQUNILHlDQUFTLENBQUE7SUFDVDs7T0FFRztJQUNILHlDQUFTLENBQUE7SUFDVDs7T0FFRztJQUNILHVDQUFRLENBQUE7SUFDUjs7T0FFRztJQUNILDZDQUFXLENBQUE7SUFDWDs7T0FFRztJQUNILHlDQUFTLENBQUE7SUFDVDs7T0FFRztJQUNILHlDQUFTLENBQUE7QUFDWCxDQUFDLEVBN0JXLFFBQVEsS0FBUixRQUFRLFFBNkJuQjtBQW9CRDs7O0dBR0c7QUFDSCxNQUFNLENBQU4sSUFBWSxVQUdYO0FBSEQsV0FBWSxVQUFVO0lBQ3BCLHVDQUF5QixDQUFBO0lBQ3pCLGlDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFIVyxVQUFVLEtBQVYsVUFBVSxRQUdyQiJ9
@@ -0,0 +1,2 @@
1
+ export declare const LIB_VERSION = "0.2.0";
2
+ //# sourceMappingURL=version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"version.d.ts","sourceRoot":"","sources":["../src/version.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,UAAU,CAAA"}
@@ -0,0 +1,4 @@
1
+ // This file is autogenerated by scripts/save-version.sh
2
+ // Do not edit it manually!
3
+ export const LIB_VERSION = '0.2.0';
4
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJzaW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHdEQUF3RDtBQUN4RCwyQkFBMkI7QUFDM0IsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQSJ9
@@ -7,12 +7,25 @@
7
7
  import type { Log } from 'sarif';
8
8
 
9
9
  // @public
10
- export type IncludeAwareProps = {
10
+ export type FooterOptions = IncludeAwareWithValueOptions & {
11
+ type?: FooterType;
12
+ };
13
+
14
+ // @public
15
+ export enum FooterType {
16
+ // (undocumented)
17
+ MARKDOWN = "mrkdwn",
18
+ // (undocumented)
19
+ PLAIN_TEXT = "plain_text"
20
+ }
21
+
22
+ // @public
23
+ export type IncludeAwareOptions = {
11
24
  include: boolean;
12
25
  };
13
26
 
14
27
  // @public
15
- export type IncludeAwareWithValueProps = IncludeAwareProps & {
28
+ export type IncludeAwareWithValueOptions = IncludeAwareOptions & {
16
29
  value?: string;
17
30
  };
18
31
 
@@ -46,10 +59,10 @@ export type SarifToSlackServiceOptions = {
46
59
  iconUrl?: string;
47
60
  color?: string;
48
61
  logLevel?: LogLevel | string;
49
- header?: IncludeAwareWithValueProps;
50
- footer?: IncludeAwareWithValueProps;
51
- actor?: IncludeAwareWithValueProps;
52
- run?: IncludeAwareProps;
62
+ header?: IncludeAwareWithValueOptions;
63
+ footer?: FooterOptions;
64
+ actor?: IncludeAwareWithValueOptions;
65
+ run?: IncludeAwareOptions;
53
66
  };
54
67
 
55
68
  // @public
package/jest.config.json CHANGED
@@ -12,8 +12,8 @@
12
12
  "global": {
13
13
  "branches": 20,
14
14
  "functions": 15,
15
- "lines": 25,
16
- "statements": 25
15
+ "lines": 20,
16
+ "statements": 20
17
17
  }
18
18
  },
19
19
  "moduleFileExtensions": [
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fabasoad/sarif-to-slack",
3
- "version": "0.1.1",
3
+ "version": "0.2.0",
4
4
  "description": "TypeScript library to send results of SARIF file to Slack webhook URL.",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.js",
@@ -12,8 +12,10 @@
12
12
  "clean": "rm -rf coverage && rm -rf temp",
13
13
  "clean:unsafe": "rm -f package-lock.json && rm -rf node_modules && rm -rf dist && rm -rf lib",
14
14
  "tsc": "tsc",
15
- "build": "tsc && api-extractor run --local --verbose",
15
+ "prebuild": "./scripts/save-version.sh",
16
+ "build": "npm run tsc && api-extractor run --local --verbose",
16
17
  "prepublishOnly": "npm run build",
18
+ "preinstall": "./scripts/save-version.sh",
17
19
  "version:patch": "npm version patch --commit-hooks --git-tag-version --message 'chore: bump to version %s'",
18
20
  "version:minor": "npm version minor --commit-hooks --git-tag-version --message 'chore: bump to version %s'",
19
21
  "version:major": "npm version major --commit-hooks --git-tag-version --message 'chore: bump to version %s'",
@@ -33,19 +35,19 @@
33
35
  "author": "Yevhen Fabizhevskyi",
34
36
  "license": "MIT",
35
37
  "bugs": {
36
- "url": "https://github.com/fabasoad/sarif-to-slack-action/issues"
38
+ "url": "https://github.com/fabasoad/sarif-to-slack/issues"
37
39
  },
38
40
  "publishConfig": {
39
41
  "access": "public"
40
42
  },
41
- "homepage": "https://github.com/fabasoad/sarif-to-slack-action#readme",
43
+ "homepage": "https://github.com/fabasoad/sarif-to-slack#readme",
42
44
  "dependencies": {
43
45
  "@slack/webhook": "7.0.5",
44
46
  "@types/sarif": "2.1.7",
45
47
  "tslog": "4.9.3"
46
48
  },
47
49
  "devDependencies": {
48
- "@biomejs/biome": "1.9.4",
50
+ "@biomejs/biome": "2.0.6",
49
51
  "@microsoft/api-documenter": "7.26.29",
50
52
  "@microsoft/api-extractor": "7.52.8",
51
53
  "@types/jest": "30.0.0",
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env sh
2
+
3
+ version=$(jq -r '.version' package.json)
4
+ echo "// This file is autogenerated by scripts/save-version.sh" > src/version.ts
5
+ echo "// Do not edit it manually!" >> src/version.ts
6
+ echo "export const LIB_VERSION = '${version}'" >> src/version.ts
package/src/Logger.ts CHANGED
@@ -20,6 +20,8 @@ export default class Logger {
20
20
  if (!Logger.instance) {
21
21
  Logger.instance = new TSLogger({
22
22
  minLevel: process.env.ACTIONS_STEP_DEBUG === 'true' ? 0 : logLevel,
23
+ type: 'pretty',
24
+ prettyLogTimeZone: 'UTC',
23
25
  })
24
26
  }
25
27
  }
@@ -28,7 +28,7 @@ async function initialize(opts: SarifToSlackServiceOptions): Promise<Map<string,
28
28
  messageBuilder.withHeader(opts.header?.value)
29
29
  }
30
30
  if (opts.footer?.include) {
31
- messageBuilder.withFooter(opts.footer?.value)
31
+ messageBuilder.withFooter(opts.footer?.value, opts.footer?.type)
32
32
  }
33
33
  if (opts.actor?.include) {
34
34
  messageBuilder.withActor(opts.actor?.value)
@@ -1,8 +1,10 @@
1
1
  import { AnyBlock } from '@slack/types'
2
- import { HeaderBlock, ContextBlock } from '@slack/types/dist/block-kit/blocks'
2
+ import { ContextBlock, HeaderBlock } from '@slack/types/dist/block-kit/blocks'
3
+ import { TextObject } from '@slack/types/dist/block-kit/composition-objects'
3
4
  import { IncomingWebhook } from '@slack/webhook'
4
- import type { Run, Result, ReportingDescriptor } from 'sarif'
5
- import { Sarif, SlackMessage } from './types'
5
+ import { FooterType, Sarif, SlackMessage } from './types'
6
+ import type { ReportingDescriptor, Result, Run } from 'sarif'
7
+ import { LIB_VERSION } from './version'
6
8
 
7
9
  /**
8
10
  * Options for the SlackMessageBuilder.
@@ -61,14 +63,14 @@ export class SlackMessageBuilder implements SlackMessage {
61
63
  this.runId = process.env.GITHUB_RUN_ID
62
64
  }
63
65
 
64
- withFooter(footer?: string): void {
65
- const repoName = 'fabasoad/sarif-to-slack-action'
66
+ withFooter(text?: string, type?: FooterType): void {
67
+ const repoName = 'fabasoad/sarif-to-slack'
68
+ const element: TextObject = text
69
+ ? { type: type || FooterType.PLAIN_TEXT, text }
70
+ : { type: FooterType.MARKDOWN, text: `Generated by <${this.gitHubServerUrl}/${repoName}|@${repoName}@${LIB_VERSION}>` }
66
71
  this.footer = {
67
72
  type: 'context',
68
- elements: [{
69
- type: footer ? 'plain_text' : 'mrkdwn',
70
- text: footer || `Generated by <${this.gitHubServerUrl}/${repoName}|${repoName}>`
71
- }],
73
+ elements: [element],
72
74
  }
73
75
  }
74
76
 
package/src/index.ts CHANGED
@@ -9,9 +9,9 @@
9
9
  *
10
10
  * @example
11
11
  * ```typescript
12
- * import { SarifToSlackService } from 'sarif-to-slack';
12
+ * import { SarifToSlackService, FooterType } from '@fabasoad/sarif-to-slack';
13
13
  *
14
- * const service = new SarifToSlackService({
14
+ * const service = await SarifToSlackService.create({
15
15
  * webhookUrl: 'https://hooks.slack.com/services/your/webhook/url',
16
16
  * sarifPath: 'path/to/your/sarif/file.sarif',
17
17
  * logLevel: 'info',
@@ -24,6 +24,7 @@
24
24
  * },
25
25
  * footer: {
26
26
  * include: true,
27
+ * type: FooterType.PLAIN_TEXT,
27
28
  * value: 'Generated by @fabasoad/sarif-to-slack'
28
29
  * },
29
30
  * actor: {
@@ -43,8 +44,10 @@
43
44
  */
44
45
  export { SarifToSlackService } from './SarifToSlackService'
45
46
  export {
46
- IncludeAwareProps,
47
- IncludeAwareWithValueProps,
47
+ FooterOptions,
48
+ FooterType,
49
+ IncludeAwareOptions,
50
+ IncludeAwareWithValueOptions,
48
51
  LogLevel,
49
52
  Sarif,
50
53
  SarifToSlackServiceOptions,
package/src/types.ts CHANGED
@@ -62,7 +62,7 @@ export enum LogLevel {
62
62
  * in the Slack message.
63
63
  * @public
64
64
  */
65
- export type IncludeAwareProps = {
65
+ export type IncludeAwareOptions = {
66
66
  include: boolean
67
67
  }
68
68
 
@@ -71,10 +71,28 @@ export type IncludeAwareProps = {
71
71
  * in the Slack message, along with an optional value.
72
72
  * @public
73
73
  */
74
- export type IncludeAwareWithValueProps = IncludeAwareProps & {
74
+ export type IncludeAwareWithValueOptions = IncludeAwareOptions & {
75
75
  value?: string
76
76
  }
77
77
 
78
+ /**
79
+ * Enum representing the type of footer in a Slack message.
80
+ * @public
81
+ */
82
+ export enum FooterType {
83
+ PLAIN_TEXT = 'plain_text',
84
+ MARKDOWN = 'mrkdwn'
85
+ }
86
+
87
+ /**
88
+ * Options for the footer of a Slack message. "type" is ignored if "value" is
89
+ * not defined.
90
+ * @public
91
+ */
92
+ export type FooterOptions = IncludeAwareWithValueOptions & {
93
+ type?: FooterType
94
+ }
95
+
78
96
  /**
79
97
  * Options for the SarifToSlackService.
80
98
  * @public
@@ -87,8 +105,8 @@ export type SarifToSlackServiceOptions = {
87
105
  iconUrl?: string,
88
106
  color?: string,
89
107
  logLevel?: LogLevel | string,
90
- header?: IncludeAwareWithValueProps,
91
- footer?: IncludeAwareWithValueProps,
92
- actor?: IncludeAwareWithValueProps,
93
- run?: IncludeAwareProps,
108
+ header?: IncludeAwareWithValueOptions,
109
+ footer?: FooterOptions,
110
+ actor?: IncludeAwareWithValueOptions,
111
+ run?: IncludeAwareOptions,
94
112
  }
package/src/version.ts ADDED
@@ -0,0 +1,3 @@
1
+ // This file is autogenerated by scripts/save-version.sh
2
+ // Do not edit it manually!
3
+ export const LIB_VERSION = '0.2.0'
package/tsconfig.json CHANGED
@@ -1,33 +1,33 @@
1
1
  {
2
2
  "$schema": "http://json.schemastore.org/tsconfig",
3
3
  "compilerOptions": {
4
+ "allowSyntheticDefaultImports": true,
5
+ "alwaysStrict": true,
4
6
  "baseUrl": ".",
5
- "outDir": "dist",
6
7
  "declaration": true,
7
8
  "declarationDir": "dist",
8
9
  "declarationMap": true,
9
- "target": "es2024",
10
+ "downlevelIteration": true,
11
+ "emitDecoratorMetadata": true,
12
+ "esModuleInterop": true,
13
+ "experimentalDecorators": true,
14
+ "forceConsistentCasingInFileNames": true,
15
+ "inlineSourceMap": true,
10
16
  "lib": ["es2024"],
11
17
  "module": "es2022",
12
18
  "moduleResolution": "node",
13
- "esModuleInterop": true,
14
- "noImplicitThis": true,
15
- "alwaysStrict": true,
19
+ "newLine": "lf",
16
20
  "noFallthroughCasesInSwitch": true,
17
- "forceConsistentCasingInFileNames": true,
18
- "downlevelIteration": true,
19
- "strict": true,
20
21
  "noImplicitAny": true,
22
+ "noImplicitThis": true,
21
23
  "noUnusedLocals": true,
22
24
  "noUnusedParameters": true,
23
- "allowSyntheticDefaultImports": true,
24
- "emitDecoratorMetadata": true,
25
- "experimentalDecorators": true,
26
- "typeRoots": ["node_modules/@types", "@types"],
25
+ "outDir": "dist",
27
26
  "skipLibCheck": true,
28
- "newLine": "lf",
29
- "sourceMap": true,
27
+ "strict": true,
30
28
  "stripInternal": true,
29
+ "target": "es2024",
30
+ "typeRoots": ["node_modules/@types", "@types"],
31
31
  "types": ["node", "jest"]
32
32
  },
33
33
  "include": ["src"],
@@ -1 +0,0 @@
1
- {"version":3,"file":"Logger.js","sourceRoot":"","sources":["../src/Logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,QAAQ,EAAW,MAAM,OAAO,CAAA;AACnD,OAAO,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAUlC;;;GAGG;AACH,MAAM,CAAC,OAAO,OAAO,MAAM;IACjB,MAAM,CAAC,QAAQ,GAAsB,IAAI,QAAQ,EAAE,CAAC;IAErD,MAAM,CAAC,UAAU,CAAC,EAAE,QAAQ,GAAG,QAAQ,CAAC,IAAI,EAAiB;QAClE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;YACrB,MAAM,CAAC,QAAQ,GAAG,IAAI,QAAQ,CAAC;gBAC7B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,kBAAkB,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ;aACnE,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAEM,MAAM,CAAC,IAAI,CAAC,GAAG,IAAc;QAClC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC5B,CAAC;IAEM,MAAM,CAAC,KAAK,CAAC,GAAG,IAAc;QACnC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Processors.js","sourceRoot":"","sources":["../src/Processors.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SarifToSlackService.js","sourceRoot":"","sources":["../src/SarifToSlackService.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SlackMessageBuilder.js","sourceRoot":"","sources":["../src/SlackMessageBuilder.ts"],"names":[],"mappings":"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"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,0FAA0F;AAE1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAC3D,OAAO,EAGL,QAAQ,GAIT,MAAM,SAAS,CAAA"}
package/dist/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAwBA;;;GAGG;AACH,MAAM,CAAN,IAAY,QA6BX;AA7BD,WAAY,QAAQ;IAClB;;OAEG;IACH,yCAAS,CAAA;IACT;;OAEG;IACH,yCAAS,CAAA;IACT;;OAEG;IACH,yCAAS,CAAA;IACT;;OAEG;IACH,uCAAQ,CAAA;IACR;;OAEG;IACH,6CAAW,CAAA;IACX;;OAEG;IACH,yCAAS,CAAA;IACT;;OAEG;IACH,yCAAS,CAAA;AACX,CAAC,EA7BW,QAAQ,KAAR,QAAQ,QA6BnB"}