@eeacms/volto-slate-metadata-mentions 7.0.0 → 7.0.1

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,2 @@
1
+ [ -n "$CI" ] && exit 0
2
+ yarn lint-staged
package/CHANGELOG.md CHANGED
@@ -4,7 +4,25 @@ 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
- ### [7.0.0](https://github.com/eea/volto-slate-metadata-mentions/compare/6.1.2...7.0.0) - 25 July 2023
7
+ ### [7.0.1](https://github.com/eea/volto-slate-metadata-mentions/compare/7.0.0...7.0.1) - 29 September 2023
8
+
9
+ #### :house: Internal changes
10
+
11
+ - style: lint-staged reorder in package.json [Alin Voinea - [`ddfe558`](https://github.com/eea/volto-slate-metadata-mentions/commit/ddfe5584c0077046a8972775c8999d3d22b37dd1)]
12
+
13
+ #### :house: Documentation changes
14
+
15
+ - docs: Update README and DEVELOP [Alin Voinea - [`5fac8b1`](https://github.com/eea/volto-slate-metadata-mentions/commit/5fac8b189c7807e81aa364f572d0da5bd0519084)]
16
+ - docs: Update README and DEVELOP [Alin Voinea - [`0019958`](https://github.com/eea/volto-slate-metadata-mentions/commit/0019958a84da2e249ac86a8fc8c3f0815a19cd9e)]
17
+ - docs: Cleanup Makefile, update DEVELOP documentation, i18n - refs #254894 [valentinab25 - [`cd21f47`](https://github.com/eea/volto-slate-metadata-mentions/commit/cd21f47338875be8bf98032222417e4fb914eb03)]
18
+
19
+ #### :hammer_and_wrench: Others
20
+
21
+ - test: EN locales, pre-commit fix, feature PRs checks Refs #257193 [valentinab25 - [`e13b9b6`](https://github.com/eea/volto-slate-metadata-mentions/commit/e13b9b6c36e4d61905807179459929aabf44f56c)]
22
+ - test: Fix eslint and yarn i18n [Alin Voinea - [`e085c11`](https://github.com/eea/volto-slate-metadata-mentions/commit/e085c1189c0aa92b984440b51b4534261560c175)]
23
+ - i18n: Add en [Alin Voinea - [`9e7360d`](https://github.com/eea/volto-slate-metadata-mentions/commit/9e7360da54440957842726bae19e093bb1937a49)]
24
+ - test: Update Makefile and docker-compose to align it with Jenkinsfile [valentinab25 - [`b873d00`](https://github.com/eea/volto-slate-metadata-mentions/commit/b873d00ba45dbe569512b54740ab54fa9dd296ce)]
25
+ ## [7.0.0](https://github.com/eea/volto-slate-metadata-mentions/compare/6.1.2...7.0.0) - 25 July 2023
8
26
 
9
27
  #### :nail_care: Enhancements
10
28
 
@@ -23,16 +41,24 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
23
41
 
24
42
  #### :house: Internal changes
25
43
 
44
+ - chore: [JENKINS] Deprecate circularity website [valentinab25 - [`bea37a4`](https://github.com/eea/volto-slate-metadata-mentions/commit/bea37a4cd51c087a67dbb23f8ac778e201f06596)]
26
45
 
27
46
  #### :hammer_and_wrench: Others
28
47
 
29
48
  - test: jest should look for addons in node_modules Refs #253277 [valentinab25 - [`98fa009`](https://github.com/eea/volto-slate-metadata-mentions/commit/98fa00918b613bdbf079300e4683f300ba77c575)]
30
49
  - test: Fix test config, coverage Refs #253277 [valentinab25 - [`e87dda2`](https://github.com/eea/volto-slate-metadata-mentions/commit/e87dda2b7ec6f8d39383ee4024265628e562be8f)]
50
+ - Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`d941f6b`](https://github.com/eea/volto-slate-metadata-mentions/commit/d941f6bcdf7154c8fac1a6e8c9436f2a0af1dfef)]
31
51
  ### [6.1.0](https://github.com/eea/volto-slate-metadata-mentions/compare/6.0.1...6.1.0) - 27 March 2023
32
52
 
33
53
  #### :hammer_and_wrench: Others
34
54
 
55
+ - Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`eb5cef6`](https://github.com/eea/volto-slate-metadata-mentions/commit/eb5cef62bf50f5f100e4348f5642166168f7db3b)]
56
+ - Add Sonarqube tag using advisory-board-frontend addons list [EEA Jenkins - [`11d00a7`](https://github.com/eea/volto-slate-metadata-mentions/commit/11d00a7994b7ad7efaeb1d23582052be43abac1b)]
57
+ - Add Sonarqube tag using advisory-board-frontend addons list [EEA Jenkins - [`5293413`](https://github.com/eea/volto-slate-metadata-mentions/commit/5293413f9bbf28d304c3a26c5df9c6bca935ca04)]
35
58
  - test(Jenkins): Run tests and cypress with latest canary @plone/volto [Alin Voinea - [`fc0a308`](https://github.com/eea/volto-slate-metadata-mentions/commit/fc0a30840ee5cc4c3d00683800c510080b13cb09)]
59
+ - Add Sonarqube tag using cca-frontend addons list [EEA Jenkins - [`abb75cd`](https://github.com/eea/volto-slate-metadata-mentions/commit/abb75cd923d258edd89cee3b5ef52e6232cf0a03)]
60
+ - yarn 3 [Alin Voinea - [`ae13d7b`](https://github.com/eea/volto-slate-metadata-mentions/commit/ae13d7b7e029da5765c8e85aede5f08c01131152)]
61
+ - Add Sonarqube tag using demo-kitkat-frontend addons list [EEA Jenkins - [`561f504`](https://github.com/eea/volto-slate-metadata-mentions/commit/561f5043e35499b2208d81358f3289a9199ce8dd)]
36
62
  ### [6.0.1](https://github.com/eea/volto-slate-metadata-mentions/compare/6.0.0...6.0.1) - 16 November 2022
37
63
 
38
64
  #### :hammer_and_wrench: Others
@@ -47,35 +73,47 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
47
73
 
48
74
  #### :hammer_and_wrench: Others
49
75
 
76
+ - Add Sonarqube tag using marine-frontend addons list [EEA Jenkins - [`a684cac`](https://github.com/eea/volto-slate-metadata-mentions/commit/a684cac03f47b8d89bbf4b14ede23143e4b774a5)]
77
+ - Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`a30ae17`](https://github.com/eea/volto-slate-metadata-mentions/commit/a30ae17a70d891d20f6b73ea4a5c6576316894a2)]
50
78
  ### [5.0.1](https://github.com/eea/volto-slate-metadata-mentions/compare/5.0.0...5.0.1) - 30 June 2022
51
79
 
52
80
  #### :hammer_and_wrench: Others
53
81
 
82
+ - Add Sonarqube tag using circularity-frontend addons list [EEA Jenkins - [`6d5c31f`](https://github.com/eea/volto-slate-metadata-mentions/commit/6d5c31f8217c9f5a52fc2447c5d89fafa717932d)]
54
83
  ## [5.0.0](https://github.com/eea/volto-slate-metadata-mentions/compare/4.0.3...5.0.0) - 6 April 2022
55
84
 
56
85
  #### :hammer_and_wrench: Others
57
86
 
58
87
  - Breaking 5.0.0 [Alin Voinea - [`9daf888`](https://github.com/eea/volto-slate-metadata-mentions/commit/9daf88800e0f375b9e7927540827c64c8f03c00e)]
88
+ - Add Sonarqube tag using clms-frontend addons list [EEA Jenkins - [`c77d975`](https://github.com/eea/volto-slate-metadata-mentions/commit/c77d975b57d3982b360b8d0bc2d3aa4d64a41254)]
59
89
  ### [4.0.3](https://github.com/eea/volto-slate-metadata-mentions/compare/4.0.2...4.0.3) - 16 March 2022
60
90
 
61
91
  #### :hammer_and_wrench: Others
62
92
 
93
+ - Add Sonarqube tag using eea-website-frontend addons list [EEA Jenkins - [`80d1b4e`](https://github.com/eea/volto-slate-metadata-mentions/commit/80d1b4eafce60c03c5fb3698ef2375ee903c05d6)]
63
94
  ### [4.0.2](https://github.com/eea/volto-slate-metadata-mentions/compare/4.0.1...4.0.2) - 3 January 2022
64
95
 
65
96
  ### [4.0.1](https://github.com/eea/volto-slate-metadata-mentions/compare/4.0.0...4.0.1) - 18 December 2021
66
97
 
67
98
  #### :hammer_and_wrench: Others
68
99
 
100
+ - Add Sonarqube tag using freshwater-frontend addons list [EEA Jenkins - [`2de3bf6`](https://github.com/eea/volto-slate-metadata-mentions/commit/2de3bf624ff35504add94f5daf37484a8f459df7)]
69
101
  - Refs #142010 - Optimize Volto-addons gitflow pipelines [valentinab25 - [`3a6a696`](https://github.com/eea/volto-slate-metadata-mentions/commit/3a6a69612652cd947d54f77c430bdca21b82a0df)]
102
+ - Add Sonarqube tag using industry-frontend addons list [EEA Jenkins - [`6e8fb49`](https://github.com/eea/volto-slate-metadata-mentions/commit/6e8fb492411d12c570ae75f00ee710818e5027f8)]
103
+ - Add Sonarqube tag using clms-frontend addons list [EEA Jenkins - [`fc8fcc3`](https://github.com/eea/volto-slate-metadata-mentions/commit/fc8fcc35bf20e4a1c3b3bbc099e67045e3feea15)]
104
+ - Add Sonarqube tag using forests-frontend addons list [EEA Jenkins - [`9e0c360`](https://github.com/eea/volto-slate-metadata-mentions/commit/9e0c360b5e842d30f4cc09efe3e3f8f7d3bd351c)]
105
+ - Add Sonarqube tag using sustainability-frontend addons list [EEA Jenkins - [`e7404b9`](https://github.com/eea/volto-slate-metadata-mentions/commit/e7404b9f21415e894c149e5c8275bf74d0540c2c)]
70
106
  ## [4.0.0](https://github.com/eea/volto-slate-metadata-mentions/compare/3.0.2...4.0.0) - 24 September 2021
71
107
 
72
108
  #### :hammer_and_wrench: Others
73
109
 
74
110
  - Allow also dict fields: temporal, geolocation [Alin Voinea - [`49be384`](https://github.com/eea/volto-slate-metadata-mentions/commit/49be3845a5fed9957139ebe88d24adc44b2521d5)]
111
+ - Add Sonarqube tag using climate-energy-frontend addons list [EEA Jenkins - [`53de974`](https://github.com/eea/volto-slate-metadata-mentions/commit/53de9745893b04f14f4688c81e52a857a5fbe7b9)]
75
112
  ### [3.0.2](https://github.com/eea/volto-slate-metadata-mentions/compare/3.0.1...3.0.2) - 10 September 2021
76
113
 
77
114
  #### :hammer_and_wrench: Others
78
115
 
116
+ - Add Sonarqube tag using ims-frontend addons list [EEA Jenkins - [`cc67fec`](https://github.com/eea/volto-slate-metadata-mentions/commit/cc67fec41698b99c1382b8be4a9aec4d14806d15)]
79
117
  ### [3.0.1](https://github.com/eea/volto-slate-metadata-mentions/compare/3.0.0...3.0.1) - 9 September 2021
80
118
 
81
119
  ## [3.0.0](https://github.com/eea/volto-slate-metadata-mentions/compare/2.4.0...3.0.0) - 3 September 2021
@@ -85,6 +123,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
85
123
  - Update package metadata [Alin Voinea - [`af8c5b3`](https://github.com/eea/volto-slate-metadata-mentions/commit/af8c5b3bf2ce6d9520b3d9378c648a37d8d519d3)]
86
124
  - Add ErrorBoundary to Widgets [Alin Voinea - [`f9c7e0d`](https://github.com/eea/volto-slate-metadata-mentions/commit/f9c7e0de20c13305e9dfe09a968753f44e3224ce)]
87
125
  - Make sure it doesn't crash if used with SlateJSONField [Alin Voinea - [`60dbd38`](https://github.com/eea/volto-slate-metadata-mentions/commit/60dbd389f217b7341eb0c369abd044424357ab05)]
126
+ - Add Sonarqube tag using frontend addons list [EEA Jenkins - [`7c7f219`](https://github.com/eea/volto-slate-metadata-mentions/commit/7c7f2196bafde9bbb3ecead19d65ff109080e1f1)]
88
127
  ### [2.4.0](https://github.com/eea/volto-slate-metadata-mentions/compare/2.3.1...2.4.0) - 1 July 2021
89
128
 
90
129
  ### [2.3.1](https://github.com/eea/volto-slate-metadata-mentions/compare/2.3.0...2.3.1) - 1 July 2021
@@ -204,6 +243,7 @@ Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).
204
243
  - Cleanup [Alin Voinea - [`4edb16c`](https://github.com/eea/volto-slate-metadata-mentions/commit/4edb16c39bd1632a285aae1dc4b23bc3121b30af)]
205
244
  - Remove unused uid normalizer [Alin Voinea - [`6006d90`](https://github.com/eea/volto-slate-metadata-mentions/commit/6006d9070ca8418c508f002032eca087c851b489)]
206
245
  - Cosmetics [Alin Voinea - [`15424a4`](https://github.com/eea/volto-slate-metadata-mentions/commit/15424a48b14117a19c00167966a8fa15bcff8504)]
246
+ - yarn lint [Alin Voinea - [`45403b3`](https://github.com/eea/volto-slate-metadata-mentions/commit/45403b3962c2c995e22c8c40535098948f6f8d2b)]
207
247
  - lint [Alin Voinea - [`9eedfe6`](https://github.com/eea/volto-slate-metadata-mentions/commit/9eedfe614e9202a2fd3d97c5d8cf53a52a43a3a4)]
208
248
  - Update widgets to use children; lint [Alin Voinea - [`17b5eec`](https://github.com/eea/volto-slate-metadata-mentions/commit/17b5eecc0ce445c123fd57abbc14e045f4920370)]
209
249
  - Style token widget [Alin Voinea - [`4fa52f5`](https://github.com/eea/volto-slate-metadata-mentions/commit/4fa52f5cc7cfde140e482048792c6f1782b4ee4e)]
package/DEVELOP.md CHANGED
@@ -2,6 +2,30 @@
2
2
 
3
3
  ## Develop
4
4
 
5
+ 1. Make sure you have `docker` and `docker compose` installed and running on your machine:
6
+
7
+ ```Bash
8
+ git clone https://github.com/eea/volto-slate-metadata-mentions.git
9
+ cd volto-slate-metadata-mentions
10
+ git checkout -b bugfix-123456 develop
11
+ make
12
+ make start
13
+ ```
14
+
15
+ 1. Wait for `Volto started at 0.0.0.0:3000` meesage
16
+
17
+ 1. Go to http://localhost:3000
18
+
19
+ 1. Initialize git hooks
20
+
21
+ ```Bash
22
+ yarn prepare
23
+ ```
24
+
25
+ 1. Happy hacking!
26
+
27
+ ### Or add @eeacms/volto-slate-metadata-mentions to your Volto project
28
+
5
29
  Before starting make sure your development environment is properly set. See [Volto Developer Documentation](https://docs.voltocms.com/getting-started/install/)
6
30
 
7
31
  1. Make sure you have installed `yo`, `@plone/generator-volto` and `mrs-developer`
@@ -10,9 +34,7 @@ Before starting make sure your development environment is properly set. See [Vol
10
34
 
11
35
  1. Create new volto app
12
36
 
13
- yo @plone/volto my-volto-project --skip-install \
14
- --workspace src/addons/volto-slate-metadata-mentions \
15
- --addon @eeacms/volto-slate-metadata-mentions
37
+ yo @plone/volto my-volto-project --addon @eeacms/volto-slate-metadata-mentions --skip-install
16
38
  cd my-volto-project
17
39
 
18
40
  1. Add the following to `mrs.developer.json`:
@@ -28,18 +50,15 @@ Before starting make sure your development environment is properly set. See [Vol
28
50
 
29
51
  1. Install
30
52
 
31
- yarn develop
53
+ make develop
32
54
  yarn
33
55
 
34
56
  1. Start backend
35
57
 
36
- docker pull plone
37
- docker run -d --name plone -p 8080:8080 -e SITE=Plone -e PROFILES="profile-plone.restapi:blocks" plone
58
+ docker run --pull always -it --rm --name plone -p 8080:8080 -e SITE=Plone plone/plone-backend
38
59
 
39
60
  ...wait for backend to setup and start - `Ready to handle requests`:
40
61
 
41
- docker logs -f plone
42
-
43
62
  ...you can also check http://localhost:8080/Plone
44
63
 
45
64
  1. Start frontend
@@ -51,3 +70,37 @@ Before starting make sure your development environment is properly set. See [Vol
51
70
  1. Happy hacking!
52
71
 
53
72
  cd src/addons/volto-slate-metadata-mentions/
73
+
74
+ ## Cypress
75
+
76
+ To run cypress locally, first make sure you don't have any Volto/Plone running on ports `8080` and `3000`.
77
+
78
+ You don't have to be in a `clean-volto-project`, you can be in any Volto Frontend
79
+ project where you added `volto-slate-metadata-mentions` to `mrs.developer.json`
80
+
81
+ Go to:
82
+
83
+ ```BASH
84
+ cd src/addons/volto-slate-metadata-mentions/
85
+ ```
86
+
87
+ Start:
88
+
89
+ ```Bash
90
+ make
91
+ make start
92
+ ```
93
+
94
+ This will build and start with Docker a clean `Plone backend` and `Volto Frontend` with `volto-slate-metadata-mentions` block installed.
95
+
96
+ Open Cypress Interface:
97
+
98
+ ```Bash
99
+ make cypress-open
100
+ ```
101
+
102
+ Or run it:
103
+
104
+ ```Bash
105
+ make cypress-run
106
+ ```
package/Dockerfile ADDED
@@ -0,0 +1,14 @@
1
+ # syntax=docker/dockerfile:1
2
+ ARG VOLTO_VERSION
3
+ FROM plone/frontend-builder:${VOLTO_VERSION}
4
+
5
+ ARG ADDON_NAME
6
+ ARG ADDON_PATH
7
+
8
+ COPY --chown=node:node ./ /app/src/addons/${ADDON_PATH}/
9
+
10
+ RUN /setupAddon
11
+ RUN yarn install
12
+
13
+ ENTRYPOINT ["yarn"]
14
+ CMD ["start"]
package/Jenkinsfile CHANGED
@@ -62,11 +62,17 @@ pipeline {
62
62
 
63
63
  stage('Tests') {
64
64
  when {
65
- allOf {
66
- environment name: 'CHANGE_ID', value: ''
67
- anyOf {
68
- not { changelog '.*^Automated release [0-9\\.]+$' }
69
- branch 'master'
65
+ anyOf {
66
+ allOf {
67
+ not { environment name: 'CHANGE_ID', value: '' }
68
+ environment name: 'CHANGE_TARGET', value: 'develop'
69
+ }
70
+ allOf {
71
+ environment name: 'CHANGE_ID', value: ''
72
+ anyOf {
73
+ not { changelog '.*^Automated release [0-9\\.]+$' }
74
+ branch 'master'
75
+ }
70
76
  }
71
77
  }
72
78
  }
@@ -110,11 +116,17 @@ pipeline {
110
116
 
111
117
  stage('Integration tests') {
112
118
  when {
113
- allOf {
114
- environment name: 'CHANGE_ID', value: ''
115
- anyOf {
116
- not { changelog '.*^Automated release [0-9\\.]+$' }
117
- branch 'master'
119
+ anyOf {
120
+ allOf {
121
+ not { environment name: 'CHANGE_ID', value: '' }
122
+ environment name: 'CHANGE_TARGET', value: 'develop'
123
+ }
124
+ allOf {
125
+ environment name: 'CHANGE_ID', value: ''
126
+ anyOf {
127
+ not { changelog '.*^Automated release [0-9\\.]+$' }
128
+ branch 'master'
129
+ }
118
130
  }
119
131
  }
120
132
  }
@@ -167,13 +179,19 @@ pipeline {
167
179
 
168
180
  stage('Report to SonarQube') {
169
181
  when {
170
- allOf {
171
- environment name: 'CHANGE_ID', value: ''
172
- anyOf {
173
- branch 'master'
174
- allOf {
175
- branch 'develop'
176
- not { changelog '.*^Automated release [0-9\\.]+$' }
182
+ anyOf {
183
+ allOf {
184
+ not { environment name: 'CHANGE_ID', value: '' }
185
+ environment name: 'CHANGE_TARGET', value: 'develop'
186
+ }
187
+ allOf {
188
+ environment name: 'CHANGE_ID', value: ''
189
+ anyOf {
190
+ allOf {
191
+ branch 'develop'
192
+ not { changelog '.*^Automated release [0-9\\.]+$' }
193
+ }
194
+ branch 'master'
177
195
  }
178
196
  }
179
197
  }
@@ -197,6 +215,37 @@ pipeline {
197
215
  }
198
216
  }
199
217
 
218
+ stage('SonarQube compare to master') {
219
+ when {
220
+ anyOf {
221
+ allOf {
222
+ not { environment name: 'CHANGE_ID', value: '' }
223
+ environment name: 'CHANGE_TARGET', value: 'develop'
224
+ }
225
+ allOf {
226
+ environment name: 'CHANGE_ID', value: ''
227
+ branch 'develop'
228
+ not { changelog '.*^Automated release [0-9\\.]+$' }
229
+ }
230
+ }
231
+ }
232
+ steps {
233
+ node(label: 'docker') {
234
+ script {
235
+ sh '''docker pull eeacms/gitflow'''
236
+ sh '''echo "Error" > checkresult.txt'''
237
+ catchError(buildResult: 'FAILURE', stageResult: 'FAILURE') {
238
+ sh '''set -o pipefail; docker run -i --rm --name="$BUILD_TAG-gitflow-sn" -e GIT_BRANCH="$BRANCH_NAME" -e GIT_NAME="$GIT_NAME" eeacms/gitflow /checkSonarqubemaster.sh | grep -v "Found script" | tee checkresult.txt'''
239
+ }
240
+
241
+ publishChecks name: 'SonarQube', title: 'Sonarqube Code Quality Check', summary: "Quality check on the SonarQube metrics from branch develop, comparing it with the ones from master branch. No bugs are allowed",
242
+ text: readFile(file: 'checkresult.txt'), conclusion: "${currentBuild.currentResult}",
243
+ detailsURL: "${env.BUILD_URL}display/redirect"
244
+ }
245
+ }
246
+ }
247
+ }
248
+
200
249
  stage('Pull Request') {
201
250
  when {
202
251
  not {
package/Makefile CHANGED
@@ -1,97 +1,131 @@
1
- SHELL=/bin/bash
1
+ ##############################################################################
2
+ # Run:
3
+ # make
4
+ # make start
5
+ #
6
+ # Go to:
7
+ #
8
+ # http://localhost:3000
9
+ #
10
+ # Cypress:
11
+ #
12
+ # make cypress-open
13
+ #
14
+ ##############################################################################
15
+ # SETUP MAKE
16
+ #
17
+ ## Defensive settings for make: https://tech.davis-hansson.com/p/make/
18
+ SHELL:=bash
19
+ .ONESHELL:
20
+ # for Makefile debugging purposes add -x to the .SHELLFLAGS
21
+ .SHELLFLAGS:=-eu -o pipefail -O inherit_errexit -c
22
+ .SILENT:
23
+ .DELETE_ON_ERROR:
24
+ MAKEFLAGS+=--warn-undefined-variables
25
+ MAKEFLAGS+=--no-builtin-rules
26
+
27
+ # Colors
28
+ # OK=Green, warn=yellow, error=red
29
+ ifeq ($(TERM),)
30
+ # no colors if not in terminal
31
+ MARK_COLOR=
32
+ OK_COLOR=
33
+ WARN_COLOR=
34
+ ERROR_COLOR=
35
+ NO_COLOR=
36
+ else
37
+ MARK_COLOR=`tput setaf 6`
38
+ OK_COLOR=`tput setaf 2`
39
+ WARN_COLOR=`tput setaf 3`
40
+ ERROR_COLOR=`tput setaf 1`
41
+ NO_COLOR=`tput sgr0`
42
+ endif
2
43
 
44
+ ##############################################################################
45
+ # SETTINGS AND VARIABLE
3
46
  DIR=$(shell basename $$(pwd))
4
- ADDON ?= "@eeacms/volto-slate-metadata-mentions"
5
-
6
- # We like colors
7
- # From: https://coderwall.com/p/izxssa/colored-makefile-for-golang-projects
8
- RED=`tput setaf 1`
9
- GREEN=`tput setaf 2`
10
- RESET=`tput sgr0`
11
- YELLOW=`tput setaf 3`
12
-
13
- project:
14
- npm install -g yo
15
- npm install -g @plone/generator-volto
16
- npm install -g mrs-developer
17
- yo @plone/volto project --addon ${ADDON} --workspace "src/addons/${DIR}" --no-interactive
18
- ln -sf $$(pwd) project/src/addons/
19
- cp .project.eslintrc.js .eslintrc.js
20
- cd project && yarn
21
- @echo "-------------------"
22
- @echo "$(GREEN)Volto project is ready!$(RESET)"
23
- @echo "$(RED)Now run: cd project && yarn start$(RESET)"
24
-
25
- all: project
26
-
27
- .PHONY: start-test-backend
28
- start-test-backend: ## Start Test Plone Backend
29
- @echo "$(GREEN)==> Start Test Plone Backend$(RESET)"
30
- docker run -i --rm -e ZSERVER_HOST=0.0.0.0 -e ZSERVER_PORT=55001 -p 55001:55001 -e SITE=plone -e APPLY_PROFILES=plone.app.contenttypes:plone-content,plone.restapi:default,kitconcept.volto:default-homepage -e CONFIGURE_PACKAGES=plone.app.contenttypes,plone.restapi,kitconcept.volto,kitconcept.volto.cors -e ADDONS='plone.app.robotframework plone.app.contenttypes plone.restapi kitconcept.volto' plone ./bin/robot-server plone.app.robotframework.testing.PLONE_ROBOT_TESTING
31
-
32
- .PHONY: start-backend-docker
33
- start-backend-docker: ## Starts a Docker-based backend
34
- @echo "$(GREEN)==> Start Docker-based Plone Backend$(RESET)"
35
- docker run -it --rm --name=plone -p 8080:8080 -e SITE=Plone -e ADDONS="kitconcept.volto" -e ZCML="kitconcept.volto.cors" plone
47
+ NODE_MODULES?="../../../node_modules"
48
+ PLONE_VERSION?=6
49
+ VOLTO_VERSION?=16
50
+ ADDON_PATH="${DIR}"
51
+ ADDON_NAME="@eeacms/${ADDON_PATH}"
52
+ DOCKER_COMPOSE=PLONE_VERSION=${PLONE_VERSION} VOLTO_VERSION=${VOLTO_VERSION} ADDON_NAME=${ADDON_NAME} ADDON_PATH=${ADDON_PATH} docker compose
53
+
54
+ # Top-level targets
55
+ .PHONY: all
56
+ all: clean install
57
+
58
+ .PHONY: clean
59
+ clean: ## Cleanup development environment
60
+ ${DOCKER_COMPOSE} down --volumes --remove-orphans
61
+
62
+ .PHONY: install
63
+ install: ## Build and install development environment
64
+ echo "Running: ${DOCKER_COMPOSE} build"
65
+ ${DOCKER_COMPOSE} pull
66
+ ${DOCKER_COMPOSE} build
67
+
68
+ .PHONY: start
69
+ start: ## Start development environment
70
+ echo "Running: ${DOCKER_COMPOSE} up"
71
+ ${DOCKER_COMPOSE} up
72
+
73
+ .PHONY: shell
74
+ shell: ## Start a shell in the frontend container
75
+ echo "Running: ${DOCKER_COMPOSE} run frontend bash"
76
+ ${DOCKER_COMPOSE} run --entrypoint=bash frontend
36
77
 
37
- .PHONY: test
38
- test:
39
- docker pull plone/volto-addon-ci:alpha
40
- docker run -it --rm -e NAMESPACE="@eeacms" -e GIT_NAME="${DIR}" -e RAZZLE_JEST_CONFIG=jest-addon.config.js -v "$$(pwd):/opt/frontend/my-volto-project/src/addons/${DIR}" -e CI="true" plone/volto-addon-ci:alpha
78
+ .PHONY: cypress-open
79
+ cypress-open: ## Open cypress integration tests
80
+ NODE_ENV=development $(NODE_MODULES)/cypress/bin/cypress open
41
81
 
42
- .PHONY: test-update
43
- test-update:
44
- docker pull plone/volto-addon-ci:alpha
45
- docker run -it --rm -e NAMESPACE="@eeacms" -e GIT_NAME="${DIR}" -e RAZZLE_JEST_CONFIG=jest-addon.config.js -v "$$(pwd):/opt/frontend/my-volto-project/src/addons/${DIR}" -e CI="true" plone/volto-addon-ci:alpha yarn test src/addons/${DIR}/src --watchAll=false -u
82
+ .PHONY: cypress-run
83
+ cypress-run: ## Run cypress integration tests
84
+ NODE_ENV=development $(NODE_MODULES)/cypress/bin/cypress run
46
85
 
47
- .PHONY: help
48
- help: ## Show this help.
49
- @echo -e "$$(grep -hE '^\S+:.*##' $(MAKEFILE_LIST) | sed -e 's/:.*##\s*/:/' -e 's/^\(.\+\):\(.*\)/\\x1b[36m\1\\x1b[m:\2/' | column -c2 -t -s :)"
86
+ .PHONY: test
87
+ test: ## Run jest tests
88
+ ${DOCKER_COMPOSE} run -e CI=1 frontend test
50
89
 
51
- ifeq ($(wildcard ./project),)
52
- NODE_MODULES = "../../../node_modules"
53
- else
54
- NODE_MODULES = "./project/node_modules"
55
- endif
90
+ .PHONY: test-update
91
+ test-update: ## Update jest tests snapshots
92
+ ${DOCKER_COMPOSE} run -e CI=1 frontend test -u
56
93
 
57
94
  .PHONY: stylelint
58
- stylelint:
59
- $(NODE_MODULES)/stylelint/bin/stylelint.js --allow-empty-input 'src/**/*.{css,less}'
95
+ stylelint: ## Stylelint
96
+ $(NODE_MODULES)/stylelint/bin/stylelint.js --allow-empty-input 'src/**/*.{css,less}'
60
97
 
61
98
  .PHONY: stylelint-overrides
62
99
  stylelint-overrides:
63
- $(NODE_MODULES)/.bin/stylelint --syntax less --allow-empty-input 'theme/**/*.overrides' 'src/**/*.overrides'
100
+ $(NODE_MODULES)/.bin/stylelint --syntax less --allow-empty-input 'theme/**/*.overrides' 'src/**/*.overrides'
64
101
 
65
102
  .PHONY: stylelint-fix
66
- stylelint-fix:
67
- $(NODE_MODULES)/stylelint/bin/stylelint.js --allow-empty-input 'src/**/*.{css,less}' --fix
68
- $(NODE_MODULES)/.bin/stylelint --syntax less --allow-empty-input 'theme/**/*.overrides' 'src/**/*.overrides' --fix
103
+ stylelint-fix: ## Fix stylelint
104
+ $(NODE_MODULES)/stylelint/bin/stylelint.js --allow-empty-input 'src/**/*.{css,less}' --fix
105
+ $(NODE_MODULES)/.bin/stylelint --syntax less --allow-empty-input 'theme/**/*.overrides' 'src/**/*.overrides' --fix
69
106
 
70
107
  .PHONY: prettier
71
- prettier:
72
- $(NODE_MODULES)/.bin/prettier --single-quote --check 'src/**/*.{js,jsx,json,css,less,md}'
108
+ prettier: ## Prettier
109
+ $(NODE_MODULES)/.bin/prettier --single-quote --check 'src/**/*.{js,jsx,json,css,less,md}'
73
110
 
74
111
  .PHONY: prettier-fix
75
- prettier-fix:
76
- $(NODE_MODULES)/.bin/prettier --single-quote --write 'src/**/*.{js,jsx,json,css,less,md}'
112
+ prettier-fix: ## Fix prettier
113
+ $(NODE_MODULES)/.bin/prettier --single-quote --write 'src/**/*.{js,jsx,json,css,less,md}'
77
114
 
78
115
  .PHONY: lint
79
- lint:
80
- $(NODE_MODULES)/eslint/bin/eslint.js --max-warnings=0 'src/**/*.{js,jsx}'
116
+ lint: ## ES Lint
117
+ $(NODE_MODULES)/eslint/bin/eslint.js --max-warnings=0 'src/**/*.{js,jsx}'
81
118
 
82
119
  .PHONY: lint-fix
83
- lint-fix:
84
- $(NODE_MODULES)/eslint/bin/eslint.js --fix 'src/**/*.{js,jsx}'
120
+ lint-fix: ## Fix ES Lint
121
+ $(NODE_MODULES)/eslint/bin/eslint.js --fix 'src/**/*.{js,jsx}'
85
122
 
86
123
  .PHONY: i18n
87
- i18n:
88
- rm -rf build/messages
89
- NODE_ENV=development $(NODE_MODULES)/.bin/i18n --addon
90
-
91
- .PHONY: cypress-run
92
- cypress-run:
93
- NODE_ENV=development $(NODE_MODULES)/cypress/bin/cypress run
124
+ i18n: ## i18n
125
+ rm -rf build/messages
126
+ NODE_ENV=development $(NODE_MODULES)/.bin/i18n --addon
94
127
 
95
- .PHONY: cypress-open
96
- cypress-open:
97
- NODE_ENV=development $(NODE_MODULES)/cypress/bin/cypress open
128
+ .PHONY: help
129
+ help: ## Show this help.
130
+ @echo -e "$$(grep -hE '^\S+:.*##' $(MAKEFILE_LIST) | sed -e 's/:.*##\s*/:/' -e 's/^\(.\+\):\(.*\)/\\x1b[36m\1\\x1b[m:\2/' | column -c2 -t -s :)"
131
+ head -n 14 Makefile
package/README.md CHANGED
@@ -45,10 +45,33 @@
45
45
 
46
46
  This version requires: `@plone/volto >= 16.0.0.alpha.15` (`volto-slate` part of Volto Core).
47
47
 
48
+ ## See also
49
+
50
+ * [volto-metadata-block](https://github.com/eea/volto-metadata-block)
51
+
48
52
 
49
53
  ## Getting started
50
54
 
51
- 1. If you already have a volto project, just update `package.json`:
55
+ ### Try volto-slate-metadata-mentions with Docker
56
+
57
+ git clone https://github.com/eea/volto-slate-metadata-mentions.git
58
+ cd volto-slate-metadata-mentions
59
+ make
60
+ make start
61
+
62
+ Go to http://localhost:3000
63
+
64
+ ### Add volto-slate-metadata-mentions to your Volto project
65
+
66
+ 1. Make sure you have a [Plone backend](https://plone.org/download) up-and-running at http://localhost:8080/Plone
67
+
68
+ ```Bash
69
+ docker compose up backend
70
+ ```
71
+
72
+ 1. Start Volto frontend
73
+
74
+ * If you already have a volto project, just update `package.json`:
52
75
 
53
76
  ```JSON
54
77
  "addons": [
@@ -60,7 +83,7 @@ This version requires: `@plone/volto >= 16.0.0.alpha.15` (`volto-slate` part of
60
83
  }
61
84
  ```
62
85
 
63
- 1. If not, create one:
86
+ * If not, create one:
64
87
 
65
88
  ```
66
89
  npm install -g yo @plone/generator-volto
@@ -71,8 +94,8 @@ This version requires: `@plone/volto >= 16.0.0.alpha.15` (`volto-slate` part of
71
94
  1. Install new add-ons and restart Volto:
72
95
 
73
96
  ```
74
- $ yarn
75
- $ yarn start
97
+ yarn
98
+ yarn start
76
99
  ```
77
100
 
78
101
  1. Go to http://localhost:3000
@@ -87,10 +110,6 @@ See [RELEASE.md](https://github.com/eea/volto-slate-metadata-mentions/blob/maste
87
110
 
88
111
  See [DEVELOP.md](https://github.com/eea/volto-slate-metadata-mentions/blob/master/DEVELOP.md).
89
112
 
90
- ## See also
91
-
92
- - [volto-metadata-block](https://github.com/eea/volto-metadata-block)
93
-
94
113
  ## Copyright and license
95
114
 
96
115
  The Initial Owner of the Original Code is European Environment Agency (EEA).
package/cypress.config.js CHANGED
@@ -2,12 +2,12 @@ const { defineConfig } = require('cypress');
2
2
 
3
3
  module.exports = defineConfig({
4
4
  viewportWidth: 1280,
5
- defaultCommandTimeout: 8888,
5
+ defaultCommandTimeout: 5000,
6
6
  chromeWebSecurity: false,
7
7
  reporter: 'junit',
8
8
  video: true,
9
9
  retries: {
10
- runMode: 8,
10
+ runMode: 1,
11
11
  openMode: 0,
12
12
  },
13
13
  reporterOptions: {
@@ -0,0 +1,32 @@
1
+ version: "3"
2
+ services:
3
+ backend:
4
+ image: eeacms/plone-backend
5
+ ports:
6
+ - "8080:8080"
7
+ environment:
8
+ SITE: "Plone"
9
+ PROFILES: "eea.kitkat:testing"
10
+
11
+ frontend:
12
+ build:
13
+ context: ./
14
+ dockerfile: ./Dockerfile
15
+ args:
16
+ ADDON_NAME: "${ADDON_NAME}"
17
+ ADDON_PATH: "${ADDON_PATH}"
18
+ VOLTO_VERSION: ${VOLTO_VERSION:-16}
19
+ ports:
20
+ - "3000:3000"
21
+ - "3001:3001"
22
+ depends_on:
23
+ - backend
24
+ volumes:
25
+ - ./:/app/src/addons/${ADDON_PATH}
26
+ environment:
27
+ CI: "true"
28
+ NODE_ENV: "development"
29
+ RAZZLE_JEST_CONFIG: "src/addons/${ADDON_PATH}/jest-addon.config.js"
30
+ RAZZLE_INTERNAL_API_PATH: "http://backend:8080/Plone"
31
+ RAZZLE_DEV_PROXY_API_PATH: "http://backend:8080/Plone"
32
+ HOST: "0.0.0.0"
@@ -0,0 +1,22 @@
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: \n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: \n"
6
+ "PO-Revision-Date: \n"
7
+ "Last-Translator: \n"
8
+ "Language: \n"
9
+ "Language-Team: \n"
10
+ "Content-Type: \n"
11
+ "Content-Transfer-Encoding: \n"
12
+ "Plural-Forms: \n"
13
+
14
+ #: plugins/Mentions/index
15
+ # defaultMessage: Edit metadata
16
+ msgid "Edit metadata"
17
+ msgstr ""
18
+
19
+ #: plugins/Mentions/index
20
+ # defaultMessage: Remove metadata
21
+ msgid "Remove metadata"
22
+ msgstr ""
@@ -0,0 +1,22 @@
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: \n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: \n"
6
+ "PO-Revision-Date: \n"
7
+ "Last-Translator: \n"
8
+ "Language: \n"
9
+ "Language-Team: \n"
10
+ "Content-Type: \n"
11
+ "Content-Transfer-Encoding: \n"
12
+ "Plural-Forms: \n"
13
+
14
+ #: plugins/Mentions/index
15
+ # defaultMessage: Edit metadata
16
+ msgid "Edit metadata"
17
+ msgstr ""
18
+
19
+ #: plugins/Mentions/index
20
+ # defaultMessage: Remove metadata
21
+ msgid "Remove metadata"
22
+ msgstr ""
@@ -0,0 +1,22 @@
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: \n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: \n"
6
+ "PO-Revision-Date: \n"
7
+ "Last-Translator: \n"
8
+ "Language: \n"
9
+ "Language-Team: \n"
10
+ "Content-Type: \n"
11
+ "Content-Transfer-Encoding: \n"
12
+ "Plural-Forms: \n"
13
+
14
+ #: plugins/Mentions/index
15
+ # defaultMessage: Edit metadata
16
+ msgid "Edit metadata"
17
+ msgstr ""
18
+
19
+ #: plugins/Mentions/index
20
+ # defaultMessage: Remove metadata
21
+ msgid "Remove metadata"
22
+ msgstr ""
@@ -0,0 +1,22 @@
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: \n"
4
+ "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: \n"
6
+ "PO-Revision-Date: \n"
7
+ "Last-Translator: \n"
8
+ "Language: \n"
9
+ "Language-Team: \n"
10
+ "Content-Type: \n"
11
+ "Content-Transfer-Encoding: \n"
12
+ "Plural-Forms: \n"
13
+
14
+ #: plugins/Mentions/index
15
+ # defaultMessage: Edit metadata
16
+ msgid "Edit metadata"
17
+ msgstr ""
18
+
19
+ #: plugins/Mentions/index
20
+ # defaultMessage: Remove metadata
21
+ msgid "Remove metadata"
22
+ msgstr ""
@@ -0,0 +1,24 @@
1
+ msgid ""
2
+ msgstr ""
3
+ "Project-Id-Version: Plone\n"
4
+ "POT-Creation-Date: 2023-08-29T17:57:38.177Z\n"
5
+ "Last-Translator: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
6
+ "Language-Team: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
7
+ "MIME-Version: 1.0\n"
8
+ "Content-Type: text/plain; charset=utf-8\n"
9
+ "Content-Transfer-Encoding: 8bit\n"
10
+ "Plural-Forms: nplurals=1; plural=0;\n"
11
+ "Language-Code: en\n"
12
+ "Language-Name: English\n"
13
+ "Preferred-Encodings: utf-8\n"
14
+ "Domain: volto\n"
15
+
16
+ #: plugins/Mentions/index
17
+ # defaultMessage: Edit metadata
18
+ msgid "Edit metadata"
19
+ msgstr ""
20
+
21
+ #: plugins/Mentions/index
22
+ # defaultMessage: Remove metadata
23
+ msgid "Remove metadata"
24
+ msgstr ""
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eeacms/volto-slate-metadata-mentions",
3
- "version": "7.0.0",
3
+ "version": "7.0.1",
4
4
  "description": "Volto Slate Metadata Mentions Plugin",
5
5
  "main": "src/index.js",
6
6
  "author": "European Environment Agency: IDM2 A-Team",
@@ -22,8 +22,31 @@
22
22
  "@cypress/code-coverage": "^3.10.0",
23
23
  "@plone/scripts": "*",
24
24
  "babel-plugin-transform-class-properties": "^6.24.1",
25
+ "husky": "*",
26
+ "lint-staged": "*",
25
27
  "md5": "^2.3.0"
26
28
  },
29
+ "lint-staged": {
30
+ "src/**/*.{js,jsx,ts,tsx,json}": [
31
+ "make lint-fix",
32
+ "make prettier-fix"
33
+ ],
34
+ "src/**/*.{jsx}": [
35
+ "make i18n"
36
+ ],
37
+ "theme/**/*.{css,less}": [
38
+ "make stylelint-fix"
39
+ ],
40
+ "src/**/*.{css,less}": [
41
+ "make stylelint-fix"
42
+ ],
43
+ "theme/**/*.overrides": [
44
+ "make stylelint-fix"
45
+ ],
46
+ "src/**/*.overrides": [
47
+ "make stylelint-fix"
48
+ ]
49
+ },
27
50
  "scripts": {
28
51
  "release": "release-it",
29
52
  "release-major-beta": "release-it major --preRelease=beta",
@@ -31,18 +54,17 @@
31
54
  "bootstrap": "npm install -g ejs; npm link ejs; node bootstrap",
32
55
  "test": "make test",
33
56
  "test:fix": "make test-update",
34
- "i18n": "rm -rf build/messages && NODE_ENV=production node src/i18n.js",
35
57
  "pre-commit": "yarn stylelint:fix && yarn prettier:fix && yarn lint:fix",
36
- "stylelint": "if [ -d ./project ]; then ./project/node_modules/stylelint/bin/stylelint.js --allow-empty-input 'src/**/*.{css,less}'; else ../../../node_modules/stylelint/bin/stylelint.js --allow-empty-input 'src/**/*.{css,less}'; fi",
37
- "stylelint:overrides": "if [ -d ./project ]; then ./project/node_modules/.bin/stylelint --syntax less --allow-empty-input 'theme/**/*.overrides' 'src/**/*.overrides'; else ../../../node_modules/.bin/stylelint --syntax less --allow-empty-input 'theme/**/*.overrides' 'src/**/*.overrides'; fi",
38
- "stylelint:fix": "yarn stylelint --fix && yarn stylelint:overrides --fix",
39
- "prettier": "if [ -d ./project ]; then ./project/node_modules/.bin/prettier --single-quote --check 'src/**/*.{js,jsx,json,css,less,md}'; else ../../../node_modules/.bin/prettier --single-quote --check 'src/**/*.{js,jsx,json,css,less,md}'; fi",
40
- "prettier:fix": "if [ -d ./project ]; then ./project/node_modules/.bin/prettier --single-quote --write 'src/**/*.{js,jsx,json,css,less,md}'; else ../../../node_modules/.bin/prettier --single-quote --write 'src/**/*.{js,jsx,json,css,less,md}'; fi",
41
- "lint": "if [ -d ./project ]; then ./project/node_modules/eslint/bin/eslint.js --max-warnings=0 'src/**/*.{js,jsx}'; else ../../../node_modules/eslint/bin/eslint.js --max-warnings=0 'src/**/*.{js,jsx}'; fi",
42
- "lint:fix": "if [ -d ./project ]; then ./project/node_modules/eslint/bin/eslint.js --fix 'src/**/*.{js,jsx}'; else ../../../node_modules/eslint/bin/eslint.js --fix 'src/**/*.{js,jsx}'; fi",
43
- "cypress:backend": "make start-docker-backend",
44
- "cypress:frontend": "make && cd project && yarn start",
45
- "cypress:run": "if [ -d ./project ]; then ./project/node_modules/cypress/bin/cypress run; else ../../../node_modules/cypress/bin/cypress run; fi",
46
- "cypress:open": "if [ -d ./project ]; then ./project/node_modules/cypress/bin/cypress open; else ../../../node_modules/cypress/bin/cypress open; fi"
58
+ "stylelint": "make stylelint",
59
+ "stylelint:overrides": "make stylelint-overrides",
60
+ "stylelint:fix": "make stylelint-fix",
61
+ "prettier": "make prettier",
62
+ "prettier:fix": "make prettier-fix",
63
+ "lint": "make lint",
64
+ "lint:fix": "make lint-fix",
65
+ "i18n": "make i18n",
66
+ "cypress:run": "make cypress-run",
67
+ "cypress:open": "make cypress-open",
68
+ "prepare": "husky install"
47
69
  }
48
70
  }
@@ -1 +0,0 @@
1
- module.exports = require('@plone/volto/babel');