@eeacms/volto-arcgis-block 0.1.461 → 0.1.462

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/.env CHANGED
@@ -1,3 +1 @@
1
- # Jest configuration variables
2
- # - possible values: ON, OFF
3
- JEST_USE_SETUP=OFF
1
+ JEST_USE_SETUP=OFF # Jest configuration variables: ON, OFF
@@ -0,0 +1,133 @@
1
+ name: Betterleaks
2
+
3
+ on:
4
+ push:
5
+ pull_request:
6
+
7
+ permissions:
8
+ contents: read
9
+
10
+ jobs:
11
+ scan:
12
+ name: Scan for secrets
13
+ runs-on: ubuntu-latest
14
+ env:
15
+ SMTP_URL: ${{ secrets.SMTP_URL }}
16
+ SMTP_PORT: ${{ secrets.SMTP_PORT || '25' }}
17
+ SMTP_EMAIL: ${{ secrets.SMTP_EMAIL }}
18
+ SMTP_PASSWORD: ${{ secrets.SMTP_PASSWORD }}
19
+ steps:
20
+ - name: Checkout repository
21
+ uses: actions/checkout@v4
22
+ with:
23
+ fetch-depth: 1
24
+ ref: ${{ github.event.pull_request.head.sha || github.sha }}
25
+
26
+ - name: Run Betterleaks
27
+ id: betterleaks
28
+ continue-on-error: true
29
+ uses: dortort/betterleaks-action@v0.1.0
30
+ with:
31
+ github-token: ${{ secrets.GITHUB_TOKEN }}
32
+ scan-mode: dir
33
+ scan-path: .
34
+ config: .gitleaks.toml
35
+ report-format: json
36
+ report-path: betterleaks-report.json
37
+ redact: "true"
38
+ no-color: "true"
39
+ no-banner: "true"
40
+ fail-on-leak: "true"
41
+
42
+ - name: Upload Betterleaks report
43
+ if: always()
44
+ uses: actions/upload-artifact@v4
45
+ with:
46
+ name: betterleaks-report
47
+ path: betterleaks-report.json
48
+ if-no-files-found: ignore
49
+
50
+ - name: Build Betterleaks email summary
51
+ id: leak_summary
52
+ if: steps.betterleaks.outcome == 'failure'
53
+ shell: bash
54
+ run: |
55
+ if [[ -s betterleaks-report.json ]]; then
56
+ jq -r '
57
+ def one_line:
58
+ tostring
59
+ | gsub("[\r\n]+"; " ")
60
+ | if length > 240 then .[0:240] + "..." else . end;
61
+
62
+ .[:20][]
63
+ | "- " + (.RuleID // "unknown-rule")
64
+ + " at " + (.File // "unknown-file")
65
+ + ":" + ((.StartLine // 0) | tostring)
66
+ + "\n match: " + ((.Match // .Secret // "REDACTED") | one_line)
67
+ ' betterleaks-report.json > betterleaks-email-summary.txt
68
+
69
+ count="$(jq 'length' betterleaks-report.json)"
70
+ if (( count > 20 )); then
71
+ {
72
+ echo ""
73
+ echo "... and $((count - 20)) more finding(s). Download the artifact for full details."
74
+ } >> betterleaks-email-summary.txt
75
+ fi
76
+ else
77
+ echo "No JSON report was generated. Download the workflow logs for details." > betterleaks-email-summary.txt
78
+ fi
79
+
80
+ {
81
+ echo "text<<BETTERLEAKS_SUMMARY"
82
+ cat betterleaks-email-summary.txt
83
+ echo "BETTERLEAKS_SUMMARY"
84
+ } >> "$GITHUB_OUTPUT"
85
+
86
+ - name: Resolve committer email
87
+ id: committer
88
+ if: steps.betterleaks.outcome == 'failure'
89
+ shell: bash
90
+ run: |
91
+ committer_email="$(git log -1 --format='%ce')"
92
+ author_email="$(git log -1 --format='%ae')"
93
+ email="$committer_email"
94
+ if [[ -z "$email" || "$email" == *"noreply.github.com"* ]]; then
95
+ email="$author_email"
96
+ fi
97
+ if [[ "$email" =~ ^[^[:space:]@]+@[^[:space:]@]+\.[^[:space:]@]+$ && "$email" != *"noreply.github.com"* ]]; then
98
+ echo "email=$email" >> "$GITHUB_OUTPUT"
99
+ else
100
+ echo "No deliverable committer email found; skipping Betterleaks email notification."
101
+ echo "email=" >> "$GITHUB_OUTPUT"
102
+ fi
103
+
104
+ - name: Email committer on Betterleaks failure
105
+ if: steps.betterleaks.outcome == 'failure' && steps.committer.outputs.email != '' && env.SMTP_URL != '' && env.SMTP_EMAIL != ''
106
+ uses: dawidd6/action-send-mail@v18
107
+ with:
108
+ server_address: ${{ env.SMTP_URL }}
109
+ server_port: ${{ env.SMTP_PORT }}
110
+ secure: ${{ env.SMTP_PORT == '465' }}
111
+ username: ${{ env.SMTP_EMAIL }}
112
+ password: ${{ env.SMTP_PASSWORD }}
113
+ from: ${{ env.SMTP_EMAIL }}
114
+ to: ${{ steps.committer.outputs.email }}
115
+ subject: "[Betterleaks] Secret scan failed in ${{ github.repository }}"
116
+ body: |
117
+ Betterleaks detected one or more potential secrets.
118
+
119
+ Repository: ${{ github.repository }}
120
+ Branch: ${{ github.ref_name }}
121
+ Commit: ${{ github.sha }}
122
+ Workflow run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}
123
+
124
+ Findings:
125
+ ${{ steps.leak_summary.outputs.text }}
126
+
127
+ Download the betterleaks-report artifact from the workflow run for details.
128
+
129
+ - name: Fail if Betterleaks found leaks
130
+ if: steps.betterleaks.outcome == 'failure'
131
+ run: |
132
+ echo "Betterleaks detected one or more secrets. Download the betterleaks-report artifact from this workflow run for details."
133
+ exit 1
@@ -0,0 +1,43 @@
1
+ name: OpenSSF Scorecard
2
+
3
+ on:
4
+ branch_protection_rule:
5
+ schedule:
6
+ - cron: '30 1 * * 6'
7
+ push:
8
+ branches: ["master"]
9
+ workflow_dispatch:
10
+
11
+ permissions: read-all
12
+
13
+ jobs:
14
+ analysis:
15
+ name: Scorecard analysis
16
+ runs-on: ubuntu-latest
17
+ permissions:
18
+ security-events: write
19
+ id-token: write
20
+ steps:
21
+ - name: "Checkout code"
22
+ uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
23
+ with:
24
+ persist-credentials: false
25
+
26
+ - name: "Run analysis"
27
+ uses: ossf/scorecard-action@4eaacf0543bb3f2c246792bd56e8cdeffafb205a # v2.4.3
28
+ with:
29
+ results_file: results.sarif
30
+ results_format: sarif
31
+ publish_results: true
32
+
33
+ - name: "Upload artifact"
34
+ uses: actions/upload-artifact@v4
35
+ with:
36
+ name: SARIF-scorecard
37
+ path: results.sarif
38
+ retention-days: 5
39
+
40
+ - name: "Upload to code-scanning"
41
+ uses: github/codeql-action/upload-sarif@v3
42
+ with:
43
+ sarif_file: results.sarif
@@ -0,0 +1,38 @@
1
+ name: Semgrep SAST
2
+
3
+ on:
4
+ push:
5
+ branches: ["master"]
6
+ pull_request:
7
+ schedule:
8
+ - cron: '0 6 * * 1'
9
+ workflow_dispatch:
10
+
11
+ permissions:
12
+ security-events: write
13
+ contents: read
14
+
15
+ jobs:
16
+ semgrep:
17
+ name: Semgrep scan
18
+ runs-on: ubuntu-latest
19
+ steps:
20
+ - name: Checkout code
21
+ uses: actions/checkout@v4
22
+ with:
23
+ persist-credentials: false
24
+
25
+ - name: Install Semgrep
26
+ run: pip install semgrep
27
+
28
+ - name: Run Semgrep
29
+ run: |
30
+ semgrep scan --config p/javascript --config p/react --config p/security-audit --config p/secrets \
31
+ --sarif --output semgrep.sarif \
32
+ --error || true
33
+
34
+ - name: Upload SARIF to GitHub Code Scanning
35
+ uses: github/codeql-action/upload-sarif@v3
36
+ if: always()
37
+ with:
38
+ sarif_file: semgrep.sarif
package/.gitleaks.toml ADDED
@@ -0,0 +1,89 @@
1
+ title = "Betterleaks config"
2
+
3
+ [extend]
4
+ useDefault = true
5
+
6
+ [[rules]]
7
+ id = "secret-literal-assignment"
8
+ description = "Secret-like literal assignment in source, YAML, env and config files"
9
+ regex = '''(?i)([A-Za-z0-9_.-]*(?:password|passwd|pwd|api[_-]?key|apikey|access[_-]?key|secret[_-]?access[_-]?key|private[_-]?key|client[_-]?secret|consumer[_-]?key|consumer[_-]?secret|(?:auth|access|refresh|session|api|bearer|id|jwt|csrf|xsrf|oauth)[_-]?token|translate[_-]?auth|translation[_-]?auth|auth[_-]?password|auth[_-]?key|auth[_-]?credentials|database[_-]?url|connection[_-]?string)[A-Za-z0-9_.-]*)[ \t]*[:=][ \t]*["'']?([^"''[:space:]#{}$.][^"''\n#{}]{2,})["'']?'''
10
+ secretGroup = 2
11
+ keywords = [
12
+ "password",
13
+ "passwd",
14
+ "pwd",
15
+ "api_key",
16
+ "apikey",
17
+ "access_key",
18
+ "private_key",
19
+ "client_secret",
20
+ "consumer_key",
21
+ "consumer_secret",
22
+ "auth_token",
23
+ "access_token",
24
+ "refresh_token",
25
+ "session_token",
26
+ "api_token",
27
+ "bearer_token",
28
+ "id_token",
29
+ "jwt_token",
30
+ "csrf_token",
31
+ "xsrf_token",
32
+ "oauth_token",
33
+ "translate_auth",
34
+ "translation_auth",
35
+ "auth_password",
36
+ "auth_key",
37
+ "auth_credentials",
38
+ "database_url",
39
+ "connection_string"
40
+ ]
41
+ tags = ["literal-secret"]
42
+
43
+ [[rules]]
44
+ id = "env-short-secret-assignment"
45
+ description = "Uppercase env-style PASS/TOKEN/SECRET assignment"
46
+ regex = '''\b((?:PASS|TOKEN|SECRET|[A-Z0-9_]*(?:_PASS|_TOKEN|_SECRET|PASS_|TOKEN_|SECRET_)[A-Z0-9_]*))[ \t]*[:=][ \t]*["'']?([^"''[:space:]#{}$.][^"''\n#{}]{2,})["'']?'''
47
+ secretGroup = 2
48
+ keywords = [
49
+ "PASS",
50
+ "TOKEN",
51
+ "SECRET"
52
+ ]
53
+ tags = ["env", "literal-secret"]
54
+
55
+ [[rules]]
56
+ id = "standalone-sk-token"
57
+ description = "Standalone sk-* token not attached to a secret-like variable name"
58
+ regex = '''(?i)\b(sk-[A-Za-z0-9][A-Za-z0-9_-]{20,})\b'''
59
+ secretGroup = 1
60
+ entropy = 2.5
61
+ keywords = ["sk-"]
62
+ tags = ["standalone-token", "generic"]
63
+
64
+ [[rules]]
65
+ id = "dotenv-only-jest-setup"
66
+ description = ".env may only contain the committed Jest setup lines"
67
+ path = '''(?i)(^|/)\.env$'''
68
+ regex = '''(?m)^(.+)$'''
69
+ secretGroup = 1
70
+ tags = ["file", "dotenv"]
71
+ [[rules.allowlists]]
72
+ regexTarget = "match"
73
+ regexes = [
74
+ '''^JEST_USE_SETUP=OFF # Jest configuration variables: ON, OFF\r?$''',
75
+ ]
76
+
77
+ [[rules]]
78
+ id = "forbidden-secret-file"
79
+ description = "Forbidden secret-bearing file committed to repository"
80
+ path = '''(?i)(^|/)(\.env\..*|\.npmrc|\.pypirc|id_rsa|id_ed25519|.*\.(pem|key|p12|pfx|jks|kubeconfig))$'''
81
+ regex = '''(?s).{1,}'''
82
+ tags = ["file", "secret-file"]
83
+
84
+ [[allowlists]]
85
+ description = "Allow Jenkins SonarQube token environment variable reference"
86
+ regexTarget = "match"
87
+ regexes = [
88
+ '''SONAR_AUTH_TOKEN''',
89
+ ]
package/CHANGELOG.md CHANGED
@@ -4,6 +4,18 @@ All notable changes to this project will be documented in this file. Dates are d
4
4
 
5
5
  Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
6
6
 
7
+ ### [0.1.462](https://github.com/eea/volto-arcgis-block/compare/0.1.461...0.1.462) - 14 July 2026
8
+
9
+ #### :bug: Bug Fixes
10
+
11
+ - fix: Add betterleaks github action - refs #304517 [dobri1408 - [`708109a`](https://github.com/eea/volto-arcgis-block/commit/708109a97a7a5bbefb816b694672594079e5845c)]
12
+
13
+ #### :hammer_and_wrench: Others
14
+
15
+ - ci: fix Semgrep workflow — use CLI with SARIF output [anton16 - [`d116408`](https://github.com/eea/volto-arcgis-block/commit/d1164086caed81549559ef617d504b248d148c81)]
16
+ - ci: add Semgrep SAST workflow [anton16 - [`d242b5c`](https://github.com/eea/volto-arcgis-block/commit/d242b5cee00b7a3d37fad292a2524e3ef6477281)]
17
+ - ci: add OpenSSF Scorecard workflow [anton16 - [`217ca11`](https://github.com/eea/volto-arcgis-block/commit/217ca11071e68aaf9183d058f49d928d8add7fac)]
18
+ - test: pin Chromium version 149 to work with Cypress [valentinab25 - [`9a729f9`](https://github.com/eea/volto-arcgis-block/commit/9a729f9fc40ddcbfed74ea8a18572e59f49be08f)]
7
19
  ### [0.1.461](https://github.com/eea/volto-arcgis-block/compare/0.1.460...0.1.461) - 2 July 2026
8
20
 
9
21
  ### [0.1.460](https://github.com/eea/volto-arcgis-block/compare/0.1.459...0.1.460) - 2 July 2026
@@ -14,7 +26,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
14
26
 
15
27
  #### :house: Internal changes
16
28
 
17
- - chore: [JENKINSFILE] sanitize sonarqube command [valentinab25 - [`773ec5d`](https://github.com/eea/volto-arcgis-block/commit/773ec5d35da8a1ba0c93c243ca5c11fc29145ab3)]
18
29
 
19
30
  #### :hammer_and_wrench: Others
20
31
 
@@ -129,7 +140,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
129
140
 
130
141
  #### :house: Internal changes
131
142
 
132
- - chore: [JENKINSFILE] use sonarqube [valentinab25 - [`ec5e822`](https://github.com/eea/volto-arcgis-block/commit/ec5e8229c968e8cb5239e493537e0559435fe67e)]
133
143
 
134
144
  #### :hammer_and_wrench: Others
135
145
 
@@ -145,9 +155,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
145
155
 
146
156
  #### :house: Internal changes
147
157
 
148
- - chore: [JENKINSFILE] add package version in sonarqube [valentinab25 - [`78addd9`](https://github.com/eea/volto-arcgis-block/commit/78addd9908a5a16eb8b8c984b6d98fe992af4449)]
149
- - chore: [JENKINSFILE] add package version in sonarqube [EEA Jenkins - [`3001a9d`](https://github.com/eea/volto-arcgis-block/commit/3001a9d84c1ceb2072d2c8fdf42b75b0fa2a36c7)]
150
- - chore: [JENKINSFILE] add sonarqube branches Refs #293878 [EEA Jenkins - [`3430596`](https://github.com/eea/volto-arcgis-block/commit/34305966fc548b9213d2a914cdd61fdb4ef3a973)]
151
158
 
152
159
  ### [0.1.430](https://github.com/eea/volto-arcgis-block/compare/0.1.429...0.1.430) - 19 February 2026
153
160
 
@@ -457,7 +464,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
457
464
 
458
465
  #### :hammer_and_wrench: Others
459
466
 
460
- - Add Sonarqube tag using clms-frontend addons list [EEA Jenkins - [`fa8e13d`](https://github.com/eea/volto-arcgis-block/commit/fa8e13da184b9a9146cb65aca7a89c05fb0261ba)]
461
467
  ### [0.1.372](https://github.com/eea/volto-arcgis-block/compare/0.1.371...0.1.372) - 26 June 2025
462
468
 
463
469
  #### :hammer_and_wrench: Others
@@ -484,11 +490,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
484
490
 
485
491
  #### :house: Internal changes
486
492
 
487
- - chore: [JENKINS] fix variable, uncomment tests [valentinab25 - [`00d88b5`](https://github.com/eea/volto-arcgis-block/commit/00d88b52265cba983d1d5e21a49c051004b705b5)]
488
- - chore: [JENKINS] use clms-theme pipeline [valentinab25 - [`52b392c`](https://github.com/eea/volto-arcgis-block/commit/52b392cc993f3767099525ed39249e574ce2b421)]
489
- - chore: [JENKINS] use volto 16 pipeline [valentinab25 - [`a676671`](https://github.com/eea/volto-arcgis-block/commit/a676671186aa227f4c77a766b9ca852028168b5c)]
490
- - chore: [JENKINS] fix Dockerfile to use eea frontend-builder [valentinab25 - [`980608c`](https://github.com/eea/volto-arcgis-block/commit/980608cc867ace42896831791a55c535838250ee)]
491
- - chore: [JENKINS] update Makefile for Jenkins [valentinab25 - [`021267e`](https://github.com/eea/volto-arcgis-block/commit/021267e620d6529327a730f122a39f7fec53b293)]
492
493
 
493
494
  #### :hammer_and_wrench: Others
494
495
 
@@ -533,7 +534,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
533
534
  - Merge pull request #945 from eea/CLMS-285178-ISOLATED-SWIPE-WIDGET-FIX [Unai Bolivar - [`617b4c4`](https://github.com/eea/volto-arcgis-block/commit/617b4c43ad4363267c4df34c72e64314ee42afb4)]
534
535
  - CLMS-285178 (bug): Separated swipe from other tickets and can push now going [Unai Bolivar - [`84efe24`](https://github.com/eea/volto-arcgis-block/commit/84efe24d964b79f54ddf17f69e389a3f57e3f867)]
535
536
  - CLMS-285178 (bug): Separated swipe from other tickets and can push [Unai Bolivar - [`3e94fd6`](https://github.com/eea/volto-arcgis-block/commit/3e94fd6d2f92817d6b0220155a7e8a0ed5d8dfdb)]
536
- - Add Sonarqube tag using clms-frontend addons list [EEA Jenkins - [`fdd39ce`](https://github.com/eea/volto-arcgis-block/commit/fdd39ce6c0d848b33f3b6d033e4b35e9bd4f2002)]
537
537
  ### [0.1.356](https://github.com/eea/volto-arcgis-block/compare/0.1.355...0.1.356) - 6 May 2025
538
538
 
539
539
  #### :hammer_and_wrench: Others
@@ -732,7 +732,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
732
732
 
733
733
  #### :house: Internal changes
734
734
 
735
- - chore: [JENKINSFILE] remove unused code [valentinab25 - [`c62af37`](https://github.com/eea/volto-arcgis-block/commit/c62af37e5c81f7b6b1d204de8a724499d00420d9)]
736
735
 
737
736
  #### :house: Documentation changes
738
737
 
@@ -1051,13 +1050,10 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1051
1050
  #### :hammer_and_wrench: Others
1052
1051
 
1053
1052
  - CLMS-2916 (bug): Map Viewer / Products and Datasets tab / Layer - The information icon links to localhost in demo environment [Unai Bolivar - [`eda000a`](https://github.com/eea/volto-arcgis-block/commit/eda000a72278ab073033e520b868ded75dcc2904)]
1054
- - test: [JENKINS] fix jest config, fail with logs on coverage [valentinab25 - [`8a0855d`](https://github.com/eea/volto-arcgis-block/commit/8a0855dfe47ec58a596ae0ec360ba8f8d075e991)]
1055
- - test: [JENKINS] fix jest config, fail with logs on coverage [valentinab25 - [`3cfe9be`](https://github.com/eea/volto-arcgis-block/commit/3cfe9be4c6d4ace0ef83b452ebdd5b06025123aa)]
1056
1053
  ### [0.1.245](https://github.com/eea/volto-arcgis-block/compare/0.1.244...0.1.245) - 4 January 2024
1057
1054
 
1058
1055
  #### :hammer_and_wrench: Others
1059
1056
 
1060
- - test: [JENKINS] fix jest config, fail with logs on coverage [valentinab25 - [`a93b081`](https://github.com/eea/volto-arcgis-block/commit/a93b0819eaa765c92bc25cf195f7a43fcd1dddbd)]
1061
1057
  ### [0.1.244](https://github.com/eea/volto-arcgis-block/compare/0.1.243...0.1.244) - 19 December 2023
1062
1058
 
1063
1059
  ### [0.1.243](https://github.com/eea/volto-arcgis-block/compare/0.1.242...0.1.243) - 15 December 2023
@@ -1097,7 +1093,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
1097
1093
 
1098
1094
  #### :hammer_and_wrench: Others
1099
1095
 
1100
- - test: [JENKINS] Use java17 for sonarqube scanner [valentinab25 - [`f45d4bf`](https://github.com/eea/volto-arcgis-block/commit/f45d4bf42061d13d9c18554bef692cb40b3a6fb7)]
1101
1096
  ### [0.1.235](https://github.com/eea/volto-arcgis-block/compare/0.1.234...0.1.235) - 16 November 2023
1102
1097
 
1103
1098
  ### [0.1.234](https://github.com/eea/volto-arcgis-block/compare/0.1.233...0.1.234) - 15 November 2023
@@ -2171,13 +2166,10 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
2171
2166
  #### :hammer_and_wrench: Others
2172
2167
 
2173
2168
  - Merge pull request #148 from eea/develop [KCarpinteroBM - [`24266fb`](https://github.com/eea/volto-arcgis-block/commit/24266fb3a0c1662d22ae0529dc1d5a25c711cf97)]
2174
- - Revert "[JENKINS] Use eeacms/plone-backend and Volto alpha version- Refs #151967" [Mikel Larreategi - [`f751f69`](https://github.com/eea/volto-arcgis-block/commit/f751f69f652f0340ae55af6a4dab89d6bdc80906)]
2175
2169
  - Revert "Revert "Mapviewer menu and map viewer options persistence"" [Mikel Larreategi - [`ad6e440`](https://github.com/eea/volto-arcgis-block/commit/ad6e440cdc160cffb1e86e1b26e501dbe648476c)]
2176
2170
  - Revert "code coverage removal" [Mikel Larreategi - [`376f2d1`](https://github.com/eea/volto-arcgis-block/commit/376f2d1cd6e4e5110b3b63d5114af1bcfebe094b)]
2177
2171
  - Revert "Update cypress.json" [Mikel Larreategi - [`43d01a0`](https://github.com/eea/volto-arcgis-block/commit/43d01a0a95a58ef5215c6cbf18223ca30a11b9cc)]
2178
2172
  - Revert "Update cypress.json" [Mikel Larreategi - [`054c4ae`](https://github.com/eea/volto-arcgis-block/commit/054c4ae1767e1f26e6ec7e96a0e26a9711f29f04)]
2179
- - Revert "revert [JENKINS] Use eeacms/plone-backend and Volto alpha version- Refs #151967" [Mikel Larreategi - [`64ab56e`](https://github.com/eea/volto-arcgis-block/commit/64ab56e0f1f8dddc26f26039509a028e34653e64)]
2180
- - revert [JENKINS] Use eeacms/plone-backend and Volto alpha version- Refs #151967 [Mikel Larreategi - [`85ee194`](https://github.com/eea/volto-arcgis-block/commit/85ee1941e029df2b7dc910bf75231c75ffeca8c2)]
2181
2173
  - Update cypress.json [KCarpinteroBM - [`be285ff`](https://github.com/eea/volto-arcgis-block/commit/be285fff0c53e06a0180d5318cce81195eabcf80)]
2182
2174
  - Update cypress.json [KCarpinteroBM - [`a7f2118`](https://github.com/eea/volto-arcgis-block/commit/a7f2118acb7b048b4cef85aa9663c2244a1c9ca0)]
2183
2175
  - linting fix [KCarpinteroBM - [`27e969a`](https://github.com/eea/volto-arcgis-block/commit/27e969a7a411fd4646e0e742ce846efc0d79703e)]
@@ -2237,7 +2229,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
2237
2229
  - UX improvements [rodriama - [`151dc4b`](https://github.com/eea/volto-arcgis-block/commit/151dc4b02d0a73fdd66de9d594620ac0fa5f1dbf)]
2238
2230
  - deleted failing tests [KCarpinteroBM - [`ddaa9e6`](https://github.com/eea/volto-arcgis-block/commit/ddaa9e6f06db6960a4c214d3be2420c48b26715d)]
2239
2231
  - cleaning unnecessary files [KCarpinteroBM - [`2c02199`](https://github.com/eea/volto-arcgis-block/commit/2c021990912beb02b603a1de89aecd62e0063769)]
2240
- - Reverting to Automated release 0.1.39 [KCarpinteroBM - [`fb9f317`](https://github.com/eea/volto-arcgis-block/commit/fb9f3176ccdea18fceb329eaac13ced0566ee648)]
2241
2232
  - commands added [KCarpinteroBM - [`049e60b`](https://github.com/eea/volto-arcgis-block/commit/049e60b7d124d1c05abd0b2775b510795f4ed59f)]
2242
2233
  - Mapviewer testing implementation [KCarpinteroBM - [`0103002`](https://github.com/eea/volto-arcgis-block/commit/0103002869eea108e16e3b5ff2e77a725dcc7c4b)]
2243
2234
  ### [0.1.39](https://github.com/eea/volto-arcgis-block/compare/0.1.38...0.1.39) - 24 March 2022
@@ -2257,7 +2248,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
2257
2248
  - ESLint fix [rodriama - [`75dae9b`](https://github.com/eea/volto-arcgis-block/commit/75dae9b5bba18ab6d9624f6c99714b4bd2179003)]
2258
2249
  - Remove section title [rodriama - [`ece860e`](https://github.com/eea/volto-arcgis-block/commit/ece860eae3519c7e611abac16e8d53c9a9408b34)]
2259
2250
  - Es-Lint [manuelmartinezbilbomatica - [`39d8d11`](https://github.com/eea/volto-arcgis-block/commit/39d8d11b9096fd603df8510c119d2e12817415d6)]
2260
- - Add Sonarqube tag using clms-frontend addons list [EEA Jenkins - [`bf9f683`](https://github.com/eea/volto-arcgis-block/commit/bf9f683dd35a9edb4cfd9111affcb8f8edbeae89)]
2261
2251
  - FEAT: Parser Time implemented [manuelmartinezbilbomatica - [`689c99e`](https://github.com/eea/volto-arcgis-block/commit/689c99e55221fee6c7c7fafc4ab95ae7a646d3dd)]
2262
2252
  ### [0.1.38](https://github.com/eea/volto-arcgis-block/compare/0.1.37...0.1.38) - 18 March 2022
2263
2253
 
@@ -2352,7 +2342,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
2352
2342
  - ESLint fix [rodriama - [`5fd3772`](https://github.com/eea/volto-arcgis-block/commit/5fd3772f197a3a380067962a5638dbf901a4624e)]
2353
2343
  - Pixel info [rodriama - [`1ccef39`](https://github.com/eea/volto-arcgis-block/commit/1ccef39a9adcc3ee94655c77a5a166b613600a08)]
2354
2344
  - NUTS bug fix [rodriama - [`37fe7f3`](https://github.com/eea/volto-arcgis-block/commit/37fe7f3fad2c005e3b7c234b3b0564d5df92fa8c)]
2355
- - Add Sonarqube tag using freshwater-frontend addons list [EEA Jenkins - [`ea5af8b`](https://github.com/eea/volto-arcgis-block/commit/ea5af8b02a5f2ee25b9b0be67cf3792bbbe84ed7)]
2356
2345
  ### [0.1.23](https://github.com/eea/volto-arcgis-block/compare/0.1.22...0.1.23) - 17 December 2021
2357
2346
 
2358
2347
  #### :hammer_and_wrench: Others
@@ -2597,7 +2586,6 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
2597
2586
  - Trying to delay ArcGIS modules load [gonzalezsd - [`ff16985`](https://github.com/eea/volto-arcgis-block/commit/ff169858e42d30bfcacc423ffc27762bb9ef05a4)]
2598
2587
  - Run bootstrap to fix files [valentinab25 - [`236893f`](https://github.com/eea/volto-arcgis-block/commit/236893f03314eb638b7667f81b1f91491a98ee17)]
2599
2588
  - fix git_name [valentinab25 - [`c7806c3`](https://github.com/eea/volto-arcgis-block/commit/c7806c312964425dc23e5d4c6973de8b81ddaeac)]
2600
- - Add Sonarqube tag using frontend addons list [EEA Jenkins - [`e3afb51`](https://github.com/eea/volto-arcgis-block/commit/e3afb515dda459ee03e2b5d4b56465d2d4ad1503)]
2601
2589
  - Trying to change imports [gonzalezsd - [`d83d7e2`](https://github.com/eea/volto-arcgis-block/commit/d83d7e2f68da4b2a284735847f93c0763a7e13b6)]
2602
2590
  - default design [bipoza - [`88fbe0b`](https://github.com/eea/volto-arcgis-block/commit/88fbe0b2bc73e732e2993324a567f53902e85506)]
2603
2591
  - cleanup of unused code [bipoza - [`b167677`](https://github.com/eea/volto-arcgis-block/commit/b1676771f637f056cad50cb0bc186f2ea79e8517)]
package/Dockerfile CHANGED
@@ -1,13 +1,47 @@
1
1
  # syntax=docker/dockerfile:1
2
2
  ARG VOLTO_VERSION
3
- FROM eeacms/frontend-builder:${VOLTO_VERSION}
3
+ FROM plone/frontend-builder:${VOLTO_VERSION}
4
4
 
5
5
  ARG ADDON_NAME
6
6
  ARG ADDON_PATH
7
+ ARG CHROMIUM_VERSION=149.0.7827.196-1~deb12u1
8
+
9
+
10
+ ENV HOST="0.0.0.0"
11
+ ENV CHROME_BIN="/usr/bin/chromium"
12
+ ENV CHROMIUM_BIN="/usr/bin/chromium"
13
+ ENV CYPRESS_BROWSER_PATH="/usr/bin/chromium"
14
+
15
+ # Install Cypress dependencies (matching eeacms/frontend-builder)
16
+ USER root
17
+ RUN apt-get update -q \
18
+ && apt-get install -qy --no-install-recommends \
19
+ libgtk2.0-0 libgtk-3-0 libgbm-dev libnotify-dev libgconf-2-4 libnss3 libxss1 libasound2 libxtst6 xauth xvfb \
20
+ && rm -rf /var/lib/apt/lists/*
21
+
22
+ RUN set -eux; \
23
+ mkdir -p /etc/apt/sources.list.d /etc/apt/preferences.d /etc/apt/apt.conf.d; \
24
+ printf '%s\n' \
25
+ 'Acquire::Check-Valid-Until "false";' \
26
+ > /etc/apt/apt.conf.d/99snapshot-no-check-valid-until; \
27
+ printf '%s\n' \
28
+ 'deb [check-valid-until=no] http://snapshot.debian.org/archive/debian-security/20260630T000000Z bookworm-security main' \
29
+ 'deb [check-valid-until=no] http://snapshot.debian.org/archive/debian/20260630T000000Z bookworm main' \
30
+ > /etc/apt/sources.list.d/bookworm-chromium149-snapshot.list; \
31
+ apt-get update -q; \
32
+ apt-get install -qy --no-install-recommends \
33
+ "chromium=${CHROMIUM_VERSION}" \
34
+ "chromium-common=${CHROMIUM_VERSION}" \
35
+ ; \
36
+ apt-mark hold chromium chromium-common ; \
37
+ rm -rf /var/lib/apt/lists/*
38
+
39
+ USER node
7
40
 
8
41
  COPY --chown=node:node ./ /app/src/addons/${ADDON_PATH}/
9
42
 
10
43
  RUN /setupAddon
44
+ RUN yarn add jest-junit
11
45
  RUN yarn install
12
46
 
13
47
  ENTRYPOINT ["yarn"]
package/README.md CHANGED
@@ -119,7 +119,7 @@ Release-it is a tool that automates 4 important steps in the release process:
119
119
  To configure the authentification, you need to export GITHUB_TOKEN for [GitHub](https://github.com/settings/tokens)
120
120
 
121
121
  ```
122
- export GITHUB_TOKEN=XXX-XXXXXXXXXXXXXXXXXXXXXX
122
+ export GITHUB_TOKEN="${GITHUB_TOKEN}"
123
123
  ```
124
124
 
125
125
  To configure npm, you can use the `npm login` command or use a configuration file with a TOKEN :
@@ -163,3 +163,62 @@ Generic command, does not automatically add the `beta` to version, but you can s
163
163
 
164
164
  See [DEVELOP.md](https://github.com/eea/volto-arcgis-block/blob/master/DEVELOP.md).
165
165
 
166
+ ## Secret Scanning
167
+
168
+ This repository uses the Betterleaks GitHub Action to scan the current
169
+ repository content on every push and pull request. The scan uses the rules in
170
+ `.gitleaks.toml` and uploads a `betterleaks-report` artifact when a finding is
171
+ detected.
172
+
173
+ If the optional SMTP secrets are configured, failed scans also send an email to
174
+ the last commit committer. The workflow expects these repository or
175
+ organization secrets:
176
+
177
+ - `SMTP_URL`
178
+ - `SMTP_PORT` (optional, defaults to `25`)
179
+ - `SMTP_EMAIL`
180
+ - `SMTP_PASSWORD` (optional if the SMTP server does not require authentication)
181
+
182
+ Port `465` is sent with direct TLS; other ports use the default SMTP handshake.
183
+ The email includes a short finding summary from the redacted Betterleaks report,
184
+ including the redacted matched line from each finding.
185
+
186
+ There are three common outcomes:
187
+
188
+ 1. **Everything is OK.** The `Betterleaks / Scan for secrets` check is green and
189
+ no action is needed. Regular references to runtime values are OK, for example:
190
+
191
+ ```js
192
+ const tokenFromCookie = req.universalCookies.get('auth_token');
193
+ ```
194
+
195
+ 2. **A real secret was found.** The check is red and the workflow log asks you to
196
+ download the `betterleaks-report` artifact. Open the artifact from the GitHub
197
+ Actions run and check the reported file, line and rule. Remove the committed
198
+ value, move it to the proper secret store, and rotate it if it was exposed.
199
+ A report entry looks like this:
200
+
201
+ ```json
202
+ {
203
+ "RuleID": "secret-literal-assignment",
204
+ "File": "src/config.js",
205
+ "StartLine": 12,
206
+ "Secret": "[REDACTED]"
207
+ }
208
+ ```
209
+
210
+ 3. **The finding is a false positive.** Keep the value only if it is clearly not
211
+ sensitive, such as a test fixture, placeholder, or public example. Add
212
+ `betterleaks:allow` on the same line and include a short explanation in the
213
+ pull request.
214
+
215
+ ```js
216
+ const testPassword = 'admin'; //betterleaks:allow
217
+ ```
218
+
219
+ ```yaml
220
+ password: "admin" #betterleaks:allow
221
+ ```
222
+
223
+ Do not add `betterleaks:allow` to real credentials.
224
+
package/RELEASE.md CHANGED
@@ -33,7 +33,7 @@ Release-it is a tool that automates 4 important steps in the release process:
33
33
  To configure the authentification, you need to export GITHUB_TOKEN for [GitHub](https://github.com/settings/tokens)
34
34
 
35
35
  ```
36
- export GITHUB_TOKEN=XXX-XXXXXXXXXXXXXXXXXXXXXX
36
+ export GITHUB_TOKEN="${GITHUB_TOKEN}"
37
37
  ```
38
38
 
39
39
  To configure npm, you can use the `npm login` command or use a configuration file with a TOKEN :
@@ -5,14 +5,14 @@ Cypress.Commands.add('autologin', () => {
5
5
  let api_url, user, password;
6
6
  api_url = Cypress.env('API_PATH') || 'http://localhost:8080/Plone';
7
7
  user = 'admin';
8
- password = 'admin';
8
+ password = 'admin'; //betterleaks:allow
9
9
 
10
10
  return cy
11
11
  .request({
12
12
  method: 'POST',
13
13
  url: `${api_url}/@login`,
14
14
  headers: { Accept: 'application/json' },
15
- body: { login: user, password: password },
15
+ body: { login: user, password: password }, //betterleaks:allow
16
16
  })
17
17
  .then((response) => cy.setCookie('auth_token', response.body.token));
18
18
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eeacms/volto-arcgis-block",
3
- "version": "0.1.461",
3
+ "version": "0.1.462",
4
4
  "description": "volto-arcgis-block: Volto add-on",
5
5
  "main": "src/index.js",
6
6
  "author": "European Environment Agency: CodeSyntax",
@@ -852,7 +852,7 @@ class MenuWidget extends React.Component {
852
852
  this.zoomTooltips();
853
853
  // }
854
854
 
855
- let authToken = this.getAuthToken();
855
+ let authToken = this.getAuthToken(); //betterleaks:allow
856
856
  let timeSliderTag = sessionStorage.getItem('timeSliderTag');
857
857
  let downloadTag = sessionStorage.getItem('downloadButtonClicked');
858
858
  let checkedLayers = JSON.parse(sessionStorage.getItem('checkedLayers'));
@@ -2354,7 +2354,7 @@ class MenuWidget extends React.Component {
2354
2354
  });
2355
2355
  return `https://land.copernicus.eu/cdse/wms/${
2356
2356
  collectionMatch[1]
2357
- }?${legendParams.toString()}`;
2357
+ }?${legendParams.toString()}&WIDTH=500&HEIGHT=400`;
2358
2358
  }
2359
2359
 
2360
2360
  parseWMSLayers(xml) {