@eurekadevsecops/radar 1.9.4 → 1.9.6

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.
@@ -0,0 +1,173 @@
1
+ import { execSync } from 'node:child_process'
2
+
3
+ const types = [
4
+ 'build',
5
+ 'chore',
6
+ 'ci',
7
+ 'deps',
8
+ 'docs',
9
+ 'feat',
10
+ 'fix',
11
+ 'perf',
12
+ 'refactor',
13
+ 'revert',
14
+ 'style',
15
+ 'test',
16
+ ]
17
+ const scopes = {
18
+ default: [],
19
+ }
20
+
21
+ // Infer the issue number from the current branch name.
22
+ // @tip: git branch name = feat/PE-123 => default issue = PE-123
23
+ const issue = execSync('git rev-parse --abbrev-ref HEAD').toString().trim().split('/').at(-1)
24
+
25
+ const Configuration = {
26
+ /*
27
+ * Resolve and load @commitlint/config-conventional from node_modules.
28
+ * Referenced packages must be installed
29
+ */
30
+ extends: ['@commitlint/config-conventional'],
31
+ /*
32
+ * Resolve and load conventional-changelog-atom from node_modules.
33
+ * Referenced packages must be installed
34
+ */
35
+ parserPreset: 'conventional-changelog-atom',
36
+ /*
37
+ * Resolve and load @commitlint/format from node_modules.
38
+ * Referenced package must be installed
39
+ */
40
+ formatter: '@commitlint/format',
41
+ /*
42
+ * Any rules defined here will override rules from @commitlint/config-conventional
43
+ */
44
+ rules: {
45
+ 'type-enum': [2, 'always', types],
46
+ 'scope-enum': [2, 'always', scopes.default],
47
+ 'body-case': [2, 'always', 'sentence-case'],
48
+ },
49
+ /*
50
+ * Array of functions that return true if commitlint should ignore the given message.
51
+ * Given array is merged with predefined functions, which consist of matchers like:
52
+ *
53
+ * - 'Merge pull request', 'Merge X into Y' or 'Merge branch X'
54
+ * - 'Revert X'
55
+ * - 'v1.2.3' (ie semver matcher)
56
+ * - 'Automatic merge X' or 'Auto-merged X into Y'
57
+ *
58
+ * To see full list, check https://github.com/conventional-changelog/commitlint/blob/master/%40commitlint/is-ignored/src/defaults.ts.
59
+ * To disable those ignores and run rules always, set `defaultIgnores: false` as shown below.
60
+ */
61
+ ignores: [(commit) => commit === ''],
62
+ /*
63
+ * Whether commitlint uses the default ignore rules, see the description above.
64
+ */
65
+ defaultIgnores: true,
66
+ /*
67
+ * Custom URL to show upon failure
68
+ */
69
+ helpUrl: 'https://github.com/conventional-changelog/commitlint/#what-is-commitlint',
70
+ /*
71
+ * Custom prompt configs
72
+ */
73
+ prompt: {
74
+ messages: {
75
+ type: "Select the TYPE of change that you're committing",
76
+ scope: 'What is the SCOPE of this change',
77
+ customScope: 'Type in the SCOPE of this change:',
78
+ subject: 'Write a SHORT, IMPERATIVE tense description of the change:\n',
79
+ body: 'Provide a LONGER description of the change (optional). Use "|" to break new line:\n',
80
+ breaking: 'List any BREAKING CHANGES (optional). Use "|" to break new line:\n',
81
+ footerPrefixesSelect: 'Resolve or reference one or more ISSUES (optional):',
82
+ customFooterPrefix: 'Input ISSUES prefix:',
83
+ footer: 'Provide ISSUE numbers (e.g. "PE-123")\n',
84
+ generatingByAI: 'Generating your AI commit subject...',
85
+ generatedSelectByAI: 'Select from these AI-generated subjects:',
86
+ confirmCommit: 'Are you sure you want to proceed with the commit above?',
87
+ },
88
+ types: [
89
+ {
90
+ value: 'feat',
91
+ name: 'feat: A new feature or improvement to existing feature',
92
+ emoji: ':sparkles:',
93
+ },
94
+ { value: 'fix', name: 'fix: A fix for a customer-facing defect', emoji: ':bug:' },
95
+ { value: 'docs', name: 'docs: Documentation only changes', emoji: ':memo:' },
96
+ { value: 'perf', name: 'perf: A code change that improves performance', emoji: ':zap:' },
97
+ {
98
+ value: 'style',
99
+ name: 'style: Changes that do not affect the meaning of the code (formatting, etc)',
100
+ emoji: ':lipstick:',
101
+ },
102
+ {
103
+ value: 'refactor',
104
+ name: 'refactor: A code change that neither fixes a bug nor adds a feature',
105
+ emoji: ':recycle:',
106
+ },
107
+ {
108
+ value: 'test',
109
+ name: 'test: Adding missing tests or correcting existing tests',
110
+ emoji: ':white_check_mark:',
111
+ },
112
+ {
113
+ value: 'build',
114
+ name: 'build: Changes that affect the build system or external dependencies',
115
+ emoji: ':package:',
116
+ },
117
+ {
118
+ value: 'deps',
119
+ name: 'deps: Changes to internal dependencies (upgrades, downgrades, etc)',
120
+ emoji: ':package:',
121
+ },
122
+ {
123
+ value: 'ci',
124
+ name: 'ci: Changes to our CI configuration files and scripts',
125
+ emoji: ':ferris_wheel:',
126
+ },
127
+ {
128
+ value: 'chore',
129
+ name: "chore: Other changes that don't modify src or test files",
130
+ emoji: ':hammer:',
131
+ },
132
+ { value: 'revert', name: 'revert: Reverts a previous commit', emoji: ':rewind:' },
133
+ ],
134
+ scopes: scopes.default,
135
+ useEmoji: false,
136
+ emojiAlign: 'center',
137
+ useAI: false,
138
+ aiNumber: 1,
139
+ themeColorCode: '',
140
+ allowCustomScopes: true,
141
+ allowEmptyScopes: true,
142
+ customScopesAlign: 'bottom',
143
+ customScopesAlias: 'custom',
144
+ emptyScopesAlias: 'empty',
145
+ upperCaseSubject: false,
146
+ markBreakingChangeMode: false,
147
+ allowBreakingChanges: ['feat', 'fix', 'perf'],
148
+ breaklineNumber: 100,
149
+ breaklineChar: '|',
150
+ skipQuestions: [],
151
+ issuePrefixes: [
152
+ {
153
+ value: 'References',
154
+ name: "Reference: This commit references one or more ISSUES but doesn't resolve them.",
155
+ },
156
+ { value: 'Resolves', name: 'Resolve: This commit resolves one or more ISSUES.' },
157
+ ],
158
+ customIssuePrefixAlign: 'top',
159
+ emptyIssuePrefixAlias: 'skip',
160
+ customIssuePrefixAlias: 'custom',
161
+ allowCustomIssuePrefix: false,
162
+ allowEmptyIssuePrefix: true,
163
+ confirmColorize: true,
164
+ defaultBody: '',
165
+ defaultIssues: !issue ? '' : `${issue}`,
166
+ defaultScope: '',
167
+ defaultSubject: '',
168
+ useCommitSignGPG: true,
169
+ },
170
+ plugins: ['selective-scope'],
171
+ }
172
+
173
+ export default Configuration
@@ -0,0 +1,3 @@
1
+ import Configuration from './config.mjs'
2
+
3
+ export default Configuration.prompt
@@ -0,0 +1,51 @@
1
+ {
2
+ "always-update": true,
3
+ "bump-minor-pre-major": false,
4
+ "bump-patch-for-minor-pre-major": false,
5
+ "changelog-path": "CHANGELOG.md",
6
+ "changelog-sections": [
7
+ { "type": "feat", "section": "Improvements" },
8
+ { "type": "improve", "section": "Improvements" },
9
+ { "type": "perf", "section": "Improvements" },
10
+ { "type": "fix", "section": "Fixes" },
11
+ { "type": "docs", "section": "Documentation" },
12
+
13
+ { "type": "test", "section": "Tests", "hidden": false },
14
+ { "type": "refactor", "section": "Code Refactoring", "hidden": false },
15
+ { "type": "build", "section": "Build System", "hidden": false },
16
+ { "type": "ci", "section": "CI/CD", "hidden": false },
17
+ { "type": "deps", "section": "Dependencies", "hidden": false },
18
+ { "type": "chore", "section": "Miscellaneous Chores", "hidden": false },
19
+ { "type": "style", "section": "Styles", "hidden": false },
20
+ { "type": "revert", "section": "Reverts", "hidden": false },
21
+ { "type": "deploy", "section": "Deployments", "hidden": false }
22
+ ],
23
+ "component-no-space": true,
24
+ "draft": false,
25
+ "group-pull-request-title-pattern": "v${version}",
26
+ "include-component-in-tag": false,
27
+ "include-v-in-tag": true,
28
+ "prerelease": false,
29
+ "pull-request-header": "<!-- This PR was generated automatically by release-please-action -->",
30
+ "pull-request-title-pattern": "v${version}",
31
+ "release-type": "node",
32
+
33
+ "packages": {
34
+ ".": {
35
+ "component": "eureka-radarctl"
36
+ }
37
+ },
38
+
39
+ "plugins": [
40
+ {
41
+ "type": "node-workspace",
42
+ "updateAllPackages": true,
43
+ "updatePeerDependencies": true
44
+ },
45
+ {
46
+ "type": "sentence-case"
47
+ }
48
+ ],
49
+
50
+ "$schema": "https://raw.githubusercontent.com/googleapis/release-please/main/schemas/config.json"
51
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ ".": "1.9.6"
3
+ }
@@ -0,0 +1,35 @@
1
+ name: Static Analysis
2
+
3
+ on: [push, pull_request]
4
+
5
+ permissions:
6
+ contents: read
7
+
8
+ jobs:
9
+ commitlint:
10
+ runs-on: ubuntu-latest
11
+ steps:
12
+ - uses: actions/checkout@v4
13
+ with:
14
+ fetch-depth: 0
15
+ - name: Setup node
16
+ uses: actions/setup-node@v4
17
+ with:
18
+ node-version: lts/*
19
+ cache: npm
20
+ - name: Install commitlint
21
+ run: npm install -D @commitlint/cli @commitlint/config-conventional
22
+ - name: Print versions
23
+ run: |
24
+ git --version
25
+ node --version
26
+ npm --version
27
+ npx commitlint --config .config/commitlint/config.mjs --version
28
+
29
+ - name: Validate current commit (last commit) with commitlint
30
+ if: github.event_name == 'push'
31
+ run: npx commitlint --config .config/commitlint/config.mjs --last --verbose
32
+
33
+ - name: Validate PR commits with commitlint
34
+ if: github.event_name == 'pull_request'
35
+ run: npx commitlint --config .config/commitlint/config.mjs --from ${{ github.event.pull_request.base.sha }} --to ${{ github.event.pull_request.head.sha }} --verbose
@@ -1,47 +1,19 @@
1
1
  name: Radar CLI
2
2
 
3
3
  on:
4
- workflow_dispatch:
4
+ push:
5
+ branches: [ main ]
5
6
  pull_request:
6
- types: [opened, synchronize, reopened, ready_for_review]
7
- branches:
8
- - main
7
+ types: [ opened, synchronize, reopened, ready_for_review ]
8
+ branches: [ main ]
9
9
 
10
10
  jobs:
11
- scan:
12
- # Radar scanner repo: https://github.com/EurekaDevSecOps/radarctl
13
- name: Scan
11
+ security-scan:
12
+ name: Security Scan
14
13
  runs-on: ubuntu-latest
15
14
  steps:
16
- - name: Checkout repo
17
- uses: actions/checkout@v4
18
-
19
- - name: Setup Node.js
20
- uses: actions/setup-node@v4
21
- with:
22
- node-version: "22"
23
-
24
- # Cache npm's download cache to speed up global installs
25
- - name: Get npm cache directory
26
- id: npm-cache-dir
27
- run: echo "dir=$(npm config get cache)" >> "$GITHUB_OUTPUT"
28
-
29
- - name: Cache npm cache
30
- uses: actions/cache@v4
15
+ - uses: eurekadevsecops/scan-action@v1
31
16
  with:
32
- path: ${{ steps.npm-cache-dir.outputs.dir }}
33
- key: ${{ runner.os }}-npm-radar-cache-v1
34
- restore-keys: |
35
- ${{ runner.os }}-npm-radar-cache-
36
-
37
- - name: Install Radar CLI
38
- run: npm i -g @eurekadevsecops/radar
39
-
40
- - name: Verify Radar install
41
- run: radar && radar scanners
42
-
43
- - name: Run Radar scan
44
- env:
45
- EUREKA_PROFILE: ${{ vars.EUREKA_PROFILE }}
46
- EUREKA_AGENT_TOKEN: ${{ secrets.EUREKA_AGENT_TOKEN }}
47
- run: radar scan
17
+ scanners: gitleaks,opengrep,grype
18
+ token: ${{ secrets.EUREKA_AGENT_TOKEN }}
19
+ profile: ${{ vars.EUREKA_PROFILE }}
@@ -0,0 +1,21 @@
1
+ name: Prepare Release
2
+
3
+ on:
4
+ push:
5
+ branches:
6
+ - main
7
+
8
+ permissions:
9
+ contents: write
10
+ issues: write
11
+ pull-requests: write
12
+
13
+ jobs:
14
+ release-please:
15
+ runs-on: ubuntu-latest
16
+ steps:
17
+ - uses: googleapis/release-please-action@v4
18
+ with:
19
+ config-file: .config/release-please/config.json
20
+ manifest-file: .config/release-please/manifest.json
21
+ token: ${{ secrets.EUREKA_GITHUB_PAT }}
@@ -0,0 +1 @@
1
+ npx --no -- commitlint --config .config/commitlint/config.mjs --edit $1
package/CHANGELOG.md ADDED
@@ -0,0 +1,39 @@
1
+ # Changelog
2
+
3
+ ## [1.9.6](https://github.com/EurekaDevSecOps/radarctl/compare/v1.9.5...v1.9.6) (2026-01-23)
4
+
5
+
6
+ ### Code Refactoring
7
+
8
+ * Add changes to send repoFullName in ewa & vdbe api requests ([ebf9ad1](https://github.com/EurekaDevSecOps/radarctl/commit/ebf9ad135a130711fe2342cc98e8d92dd1e1eea8))
9
+ * Add profile id to support current agent tokens for backwards compatability ([50f4ef3](https://github.com/EurekaDevSecOps/radarctl/commit/50f4ef371db9bb73c500da8d53ea8333ddb916ec))
10
+ * Add profileId param to scan summary endpoint. ([84ec215](https://github.com/EurekaDevSecOps/radarctl/commit/84ec2153f418589644083127b4b201db8824a6d2))
11
+ * Add scanStartTimeStamp and pass as parameter to both scans/started endpoints to ensure timestamps are consistent between vdbe & ewa ([4762af1](https://github.com/EurekaDevSecOps/radarctl/commit/4762af1e32682fee6ef33fe2ae39566f79e3ac4c))
12
+ * Change vdbe metadata (stage 2) endpoint to scan started ([3409d78](https://github.com/EurekaDevSecOps/radarctl/commit/3409d783dd4577155db369e2c23312254a705c90))
13
+ * Remove EUREKA_PROFILE env var ([8239410](https://github.com/EurekaDevSecOps/radarctl/commit/8239410db8bf5dcbca5b71d25719f828f52e03f7))
14
+ * Remove repoFullName from metadata stage 2 (vdbe) ([7cba841](https://github.com/EurekaDevSecOps/radarctl/commit/7cba841990b9796d8eacb74b562dfb52366a6661))
15
+ * Remove repoFullName from scan started endpoint ([1bfe3fb](https://github.com/EurekaDevSecOps/radarctl/commit/1bfe3fb612be0f0ba4f4e9c82dbba56e254f7dc6))
16
+ * Remove repoFullName from summary & complete endpoint ([6fd01d4](https://github.com/EurekaDevSecOps/radarctl/commit/6fd01d4e98545833f6c4b6f5b41909db6d5d0a62))
17
+ * **scan:** Changes to support repository based permissions for scans ([c2f0d15](https://github.com/EurekaDevSecOps/radarctl/commit/c2f0d1515d8c7245948e3579d2500fd6ab8836ac))
18
+ * Update radar.yaml formatting ([#46](https://github.com/EurekaDevSecOps/radarctl/issues/46)) ([60456fe](https://github.com/EurekaDevSecOps/radarctl/commit/60456fe477adade3272e71e473e4298a196b457f))
19
+ * Use Radar CLI scan-action ([#45](https://github.com/EurekaDevSecOps/radarctl/issues/45)) ([f0e6c4c](https://github.com/EurekaDevSecOps/radarctl/commit/f0e6c4c25e8b2e47101b71faba3978cbac1b16d5))
20
+ * **vulns:** Remove profile ID from scans. ([869d7be](https://github.com/EurekaDevSecOps/radarctl/commit/869d7be9b08b0b6a01e73f7abb4ffcb4840365a7))
21
+
22
+
23
+ ### CI/CD
24
+
25
+ * Add CHANGELOG.md automation ([#50](https://github.com/EurekaDevSecOps/radarctl/issues/50)) ([6e951c1](https://github.com/EurekaDevSecOps/radarctl/commit/6e951c1fe019db3ab21b0e20aa9658519e81ea2c))
26
+ * Use the v1 release of scan-action ([#47](https://github.com/EurekaDevSecOps/radarctl/issues/47)) ([3a9affd](https://github.com/EurekaDevSecOps/radarctl/commit/3a9affd6fe5b4103be4ad3bcb13bd49df7653867))
27
+
28
+
29
+ ### Miscellaneous Chores
30
+
31
+ * Add missing DateTime import ([3fda08d](https://github.com/EurekaDevSecOps/radarctl/commit/3fda08d999986a24ec05bc2a6b574574927981ec))
32
+ * Clean up parameter format ([f8c03c6](https://github.com/EurekaDevSecOps/radarctl/commit/f8c03c65b062a5729e5f274393e4a51584ecd9f2))
33
+ * Fix profile param format ([10b75d9](https://github.com/EurekaDevSecOps/radarctl/commit/10b75d9a026e09a9eedf3681e5439442de3857df))
34
+ * Fix profile param name ([3d5eaf6](https://github.com/EurekaDevSecOps/radarctl/commit/3d5eaf691d672cefc65792963365ff2e87b0a2ce))
35
+ * Re-add profile param conditional as vdbe validation was failing due to non-uuid profile value ([e1c007e](https://github.com/EurekaDevSecOps/radarctl/commit/e1c007ef59c5ba2d3368fe162b47ff0cee03493b))
36
+ * Remove additional blank line ([940743d](https://github.com/EurekaDevSecOps/radarctl/commit/940743d7510af3ffcc905a29ca565a7d1c5414d1))
37
+ * Remove blank line ([c723e7a](https://github.com/EurekaDevSecOps/radarctl/commit/c723e7a20927a29adcf2946dde0cd0a6cdae9d33))
38
+ * Remove redundant metadata field and use spread operator for body as it already has the metadata field ([2ffa1f6](https://github.com/EurekaDevSecOps/radarctl/commit/2ffa1f6c6e79710aa97f7f8a192d995b40391dfc))
39
+ * Simplify timestamp ([7cab5eb](https://github.com/EurekaDevSecOps/radarctl/commit/7cab5eb47e923a070586d8d8e269bf44d5eaf7a5))
package/LICENSE CHANGED
@@ -617,58 +617,3 @@ reviewing courts shall apply local law that most closely approximates
617
617
  an absolute waiver of all civil liability in connection with the
618
618
  Program, unless a warranty or assumption of liability accompanies a
619
619
  copy of the Program in return for a fee.
620
-
621
- END OF TERMS AND CONDITIONS
622
-
623
- How to Apply These Terms to Your New Programs
624
-
625
- If you develop a new program, and you want it to be of the greatest
626
- possible use to the public, the best way to achieve this is to make it
627
- free software which everyone can redistribute and change under these terms.
628
-
629
- To do so, attach the following notices to the program. It is safest
630
- to attach them to the start of each source file to most effectively
631
- state the exclusion of warranty; and each file should have at least
632
- the "copyright" line and a pointer to where the full notice is found.
633
-
634
- <one line to give the program's name and a brief idea of what it does.>
635
- Copyright (C) <year> <name of author>
636
-
637
- This program is free software: you can redistribute it and/or modify
638
- it under the terms of the GNU General Public License as published by
639
- the Free Software Foundation, either version 3 of the License, or
640
- (at your option) any later version.
641
-
642
- This program is distributed in the hope that it will be useful,
643
- but WITHOUT ANY WARRANTY; without even the implied warranty of
644
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
645
- GNU General Public License for more details.
646
-
647
- You should have received a copy of the GNU General Public License
648
- along with this program. If not, see <https://www.gnu.org/licenses/>.
649
-
650
- Also add information on how to contact you by electronic and paper mail.
651
-
652
- If the program does terminal interaction, make it output a short
653
- notice like this when it starts in an interactive mode:
654
-
655
- <program> Copyright (C) <year> <name of author>
656
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
657
- This is free software, and you are welcome to redistribute it
658
- under certain conditions; type `show c' for details.
659
-
660
- The hypothetical commands `show w' and `show c' should show the appropriate
661
- parts of the General Public License. Of course, your program's commands
662
- might be different; for a GUI interface, you would use an "about box".
663
-
664
- You should also get your employer (if you work as a programmer) or school,
665
- if any, to sign a "copyright disclaimer" for the program, if necessary.
666
- For more information on this, and how to apply and follow the GNU GPL, see
667
- <https://www.gnu.org/licenses/>.
668
-
669
- The GNU General Public License does not permit incorporating your program
670
- into proprietary programs. If your program is a subroutine library, you
671
- may consider it more useful to permit linking proprietary applications with
672
- the library. If this is what you want to do, use the GNU Lesser General
673
- Public License instead of this License. But first, please read
674
- <https://www.gnu.org/licenses/why-not-lgpl.html>.
@@ -0,0 +1,61 @@
1
+ {
2
+ "version": "2.1.0",
3
+ "$schema": "https://json.schemastore.org/sarif-2.1.0.json",
4
+ "runs": [
5
+ {
6
+ "tool": {
7
+ "driver": {
8
+ "name": "gitleaks",
9
+ "semanticVersion": "v8.0.0",
10
+ "informationUri": "https://github.com/gitleaks/gitleaks",
11
+ "properties": {
12
+ "officialName": "gitleaks"
13
+ },
14
+ "rules": [
15
+ {
16
+ "id": "bitbucket-client-id",
17
+ "shortDescription": {
18
+ "text": "Discovered a potential Bitbucket Client ID, risking unauthorized repository access and potential codebase exposure."
19
+ }
20
+ }
21
+ ]
22
+ }
23
+ },
24
+ "results": [
25
+ {
26
+ "message": {
27
+ "text": "bitbucket-client-id has detected secret for file apps/backend/.env.local."
28
+ },
29
+ "ruleId": "bitbucket-client-id",
30
+ "locations": [
31
+ {
32
+ "physicalLocation": {
33
+ "artifactLocation": {
34
+ "uri": "apps/backend/.env.local"
35
+ },
36
+ "region": {
37
+ "startLine": 116,
38
+ "startColumn": 2,
39
+ "endLine": 116,
40
+ "endColumn": 57,
41
+ "snippet": {
42
+ "text": "KbPZjucUXpxhqmKjP6wbtS5BfEERxdnb"
43
+ }
44
+ }
45
+ }
46
+ }
47
+ ],
48
+ "properties": {
49
+ "tags": []
50
+ }
51
+ }
52
+ ],
53
+ "properties": {
54
+ "repository": {
55
+ "type": "git",
56
+ "url": "https://github.com/EurekaDevSecOps/app.git"
57
+ }
58
+ }
59
+ }
60
+ ]
61
+ }