@eeacms/volto-embed 10.1.4 → 11.0.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.
package/CHANGELOG.md CHANGED
@@ -4,11 +4,19 @@ 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
- ### [10.1.4](https://github.com/eea/volto-embed/compare/10.1.3...10.1.4) - 22 October 2025
7
+ ### [11.0.0](https://github.com/eea/volto-embed/compare/10.1.4...11.0.0) - 24 March 2026
8
+
9
+ #### :rocket: New Features
10
+
11
+ - feat: Volto 18 support - refs #287700 [Alin Voinea - [`ba90eb9`](https://github.com/eea/volto-embed/commit/ba90eb98b99fa22a6aed77d6129d8e98d7c0de36)]
12
+
13
+ #### :house: Internal changes
8
14
 
9
- #### :bug: Bug Fixes
10
15
 
11
- - fix(MapsWidget): add higher z-index [Miu Razvan - [`bc98a03`](https://github.com/eea/volto-embed/commit/bc98a0345ea12f235c271bb542a90448e82be447)]
16
+ #### :hammer_and_wrench: Others
17
+
18
+ - tests: Fix Sonar Qube tags - refs #297339 [Alin Voinea - [`712e55a`](https://github.com/eea/volto-embed/commit/712e55acc78f6596a7df8ca51c250c91221275e2)]
19
+ ### [10.1.4](https://github.com/eea/volto-embed/compare/10.1.3...10.1.4) - 22 October 2025
12
20
 
13
21
  #### :hammer_and_wrench: Others
14
22
 
package/DEVELOP.md CHANGED
@@ -26,21 +26,20 @@
26
26
 
27
27
  ### Or add @eeacms/volto-embed to your Volto project
28
28
 
29
- Before starting make sure your development environment is properly set. See [Volto Developer Documentation](https://docs.voltocms.com/getting-started/install/)
29
+ Before starting make sure your development environment is properly set. See the official Plone documentation for [creating a project with Cookieplone](https://6.docs.plone.org/install/create-project-cookieplone.html) and [installing an add-on in development mode in Volto 18 and 19](https://6.docs.plone.org/volto/development/add-ons/install-an-add-on-dev-18.html).
30
30
 
31
- 1. Make sure you have installed `yo`, `@plone/generator-volto` and `mrs-developer`
31
+ For new Volto 18+ projects, use Cookieplone. It includes `mrs-developer` by default.
32
32
 
33
- npm install -g yo @plone/generator-volto mrs-developer
33
+ 1. Create a new Volto project with Cookieplone
34
34
 
35
- 1. Create new volto app
36
-
37
- yo @plone/volto my-volto-project --addon @eeacms/volto-embed --skip-install
38
- cd my-volto-project
35
+ uvx cookieplone project
36
+ cd project-title
39
37
 
40
38
  1. Add the following to `mrs.developer.json`:
41
39
 
42
40
  {
43
41
  "volto-embed": {
42
+ "output": "packages",
44
43
  "url": "https://github.com/eea/volto-embed.git",
45
44
  "package": "@eeacms/volto-embed",
46
45
  "branch": "develop",
@@ -48,28 +47,31 @@ Before starting make sure your development environment is properly set. See [Vol
48
47
  }
49
48
  }
50
49
 
51
- 1. Install
50
+ 1. Add `@eeacms/volto-embed` to the `addons` key in your project `volto.config.js`
51
+
52
+ 1. Install or refresh the project setup
52
53
 
53
- make develop
54
- yarn
54
+ make install
55
55
 
56
- 1. Start backend
56
+ 1. Start backend in one terminal
57
57
 
58
- docker run --pull always -it --rm --name plone -p 8080:8080 -e SITE=Plone plone/plone-backend
58
+ make backend-start
59
59
 
60
- ...wait for backend to setup and start - `Ready to handle requests`:
60
+ ...wait for backend to setup and start, ending with `Ready to handle requests`
61
61
 
62
62
  ...you can also check http://localhost:8080/Plone
63
63
 
64
- 1. Start frontend
64
+ 1. Start frontend in a second terminal
65
65
 
66
- yarn start
66
+ make frontend-start
67
67
 
68
68
  1. Go to http://localhost:3000
69
69
 
70
70
  1. Happy hacking!
71
71
 
72
- cd src/addons/volto-embed/
72
+ cd packages/volto-embed
73
+
74
+ For legacy Volto 17 projects, keep using the yarn-based workflow from the Volto 17 documentation.
73
75
 
74
76
  ## Cypress
75
77
 
@@ -81,7 +83,7 @@ project where you added `volto-embed` to `mrs.developer.json`
81
83
  Go to:
82
84
 
83
85
  ```BASH
84
- cd src/addons/volto-embed/
86
+ cd packages/volto-embed/
85
87
  ```
86
88
 
87
89
  Start:
package/README.md CHANGED
@@ -3,16 +3,16 @@
3
3
  [![Releases](https://img.shields.io/github/v/release/eea/volto-embed)](https://github.com/eea/volto-embed/releases)
4
4
 
5
5
  [![Pipeline](https://ci.eionet.europa.eu/buildStatus/icon?job=volto-addons%2Fvolto-embed%2Fmaster&subject=master)](https://ci.eionet.europa.eu/view/Github/job/volto-addons/job/volto-embed/job/master/display/redirect)
6
- [![Lines of Code](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-embed-master&metric=ncloc)](https://sonarqube.eea.europa.eu/dashboard?id=volto-embed-master)
7
- [![Coverage](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-embed-master&metric=coverage)](https://sonarqube.eea.europa.eu/dashboard?id=volto-embed-master)
8
- [![Bugs](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-embed-master&metric=bugs)](https://sonarqube.eea.europa.eu/dashboard?id=volto-embed-master)
9
- [![Duplicated Lines (%)](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-embed-master&metric=duplicated_lines_density)](https://sonarqube.eea.europa.eu/dashboard?id=volto-embed-master)
6
+ [![Lines of Code](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-embed&metric=ncloc)](https://sonarqube.eea.europa.eu/dashboard?id=volto-embed)
7
+ [![Coverage](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-embed&metric=coverage)](https://sonarqube.eea.europa.eu/dashboard?id=volto-embed)
8
+ [![Bugs](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-embed&metric=bugs)](https://sonarqube.eea.europa.eu/dashboard?id=volto-embed)
9
+ [![Duplicated Lines (%)](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-embed&metric=duplicated_lines_density)](https://sonarqube.eea.europa.eu/dashboard?id=volto-embed)
10
10
 
11
11
  [![Pipeline](https://ci.eionet.europa.eu/buildStatus/icon?job=volto-addons%2Fvolto-embed%2Fdevelop&subject=develop)](https://ci.eionet.europa.eu/view/Github/job/volto-addons/job/volto-embed/job/develop/display/redirect)
12
- [![Lines of Code](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-embed-develop&metric=ncloc)](https://sonarqube.eea.europa.eu/dashboard?id=volto-embed-develop)
13
- [![Coverage](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-embed-develop&metric=coverage)](https://sonarqube.eea.europa.eu/dashboard?id=volto-embed-develop)
14
- [![Bugs](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-embed-develop&metric=bugs)](https://sonarqube.eea.europa.eu/dashboard?id=volto-embed-develop)
15
- [![Duplicated Lines (%)](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-embed-develop&metric=duplicated_lines_density)](https://sonarqube.eea.europa.eu/dashboard?id=volto-embed-develop)
12
+ [![Lines of Code](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-embed&branch=develop&metric=ncloc)](https://sonarqube.eea.europa.eu/dashboard?id=volto-embed&branch=develop)
13
+ [![Coverage](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-embed&branch=develop&metric=coverage)](https://sonarqube.eea.europa.eu/dashboard?id=volto-embed&branch=develop)
14
+ [![Bugs](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-embed&branch=develop&metric=bugs)](https://sonarqube.eea.europa.eu/dashboard?id=volto-embed&branch=develop)
15
+ [![Duplicated Lines (%)](https://sonarqube.eea.europa.eu/api/project_badges/measure?project=volto-embed&branch=develop&metric=duplicated_lines_density)](https://sonarqube.eea.europa.eu/dashboard?id=volto-embed&branch=develop)
16
16
 
17
17
  GDPR-compliant external resource embedding components for Volto.
18
18
 
@@ -38,6 +38,11 @@ See `src/Iframe/ViewIframe` for details on how to implement.
38
38
 
39
39
  Go to http://localhost:3000
40
40
 
41
+ `make start` now defaults to Volto 18. To run the same setup against Volto 17, use:
42
+
43
+ VOLTO_VERSION=17 make
44
+ VOLTO_VERSION=17 make start
45
+
41
46
  ### Add volto-embed to your Volto project
42
47
 
43
48
  1. Make sure you have a [Plone backend](https://plone.org/download) up-and-running at http://localhost:8080/Plone
@@ -51,30 +56,39 @@ Go to http://localhost:3000
51
56
  * If you already have a volto project, just update `package.json`:
52
57
 
53
58
  ```JSON
54
- "addons": [
55
- "@eeacms/volto-embed"
56
- ],
57
-
58
59
  "dependencies": {
59
60
  "@eeacms/volto-embed": "*"
60
61
  }
61
62
  ```
62
63
 
63
- * If not, create one:
64
+ and `volto.config.js`:
65
+
66
+ ```JavaScript
67
+ const addons = ['@eeacms/volto-embed'];
68
+ ```
69
+
70
+ * If not, create one with Cookieplone, as recommended by the official Plone documentation for Volto 18+:
64
71
 
65
72
  ```
66
- npm install -g yo @plone/generator-volto
67
- yo @plone/volto my-volto-project --canary --addon @eeacms/volto-embed
68
- cd my-volto-project
73
+ uvx cookieplone project
74
+ cd project-title
69
75
  ```
70
76
 
71
- 1. Install new add-ons and restart Volto:
77
+ 1. Install or update dependencies, then start the project:
72
78
 
73
79
  ```
74
- yarn
75
- yarn start
80
+ make install
76
81
  ```
77
82
 
83
+ For a Cookieplone project, start the backend and frontend in separate terminals:
84
+
85
+ ```
86
+ make backend-start
87
+ make frontend-start
88
+ ```
89
+
90
+ For a legacy Volto 17 project, install the package with `yarn` and restart the frontend as usual.
91
+
78
92
  1. Go to http://localhost:3000
79
93
 
80
94
  1. Happy editing!
@@ -15,7 +15,7 @@ services:
15
15
  args:
16
16
  ADDON_NAME: "${ADDON_NAME}"
17
17
  ADDON_PATH: "${ADDON_PATH}"
18
- VOLTO_VERSION: ${VOLTO_VERSION:-16}
18
+ VOLTO_VERSION: ${VOLTO_VERSION:-18-yarn}
19
19
  ports:
20
20
  - "3000:3000"
21
21
  - "3001:3001"
@@ -1,5 +1,14 @@
1
1
  require('dotenv').config({ path: __dirname + '/.env' })
2
2
 
3
+ const fs = require('fs')
4
+ const path = require('path')
5
+
6
+ const voltoSlatePath = fs.existsSync(
7
+ path.join(__dirname, '../../../node_modules/@plone/volto-slate/src'),
8
+ )
9
+ ? '<rootDir>/node_modules/@plone/volto-slate/src'
10
+ : '<rootDir>/node_modules/@plone/volto/packages/volto-slate/src'
11
+
3
12
  module.exports = {
4
13
  testMatch: ['**/src/addons/**/?(*.)+(spec|test).[jt]s?(x)'],
5
14
  collectCoverageFrom: [
@@ -17,10 +26,8 @@ module.exports = {
17
26
  '@eeacms/search/(.*)$': '<rootDir>/src/addons/volto-searchlib/searchlib/$1',
18
27
  '@eeacms/search': '<rootDir>/src/addons/volto-searchlib/searchlib',
19
28
  '@eeacms/(.*?)/(.*)$': '<rootDir>/node_modules/@eeacms/$1/src/$2',
20
- '@plone/volto-slate$':
21
- '<rootDir>/node_modules/@plone/volto/packages/volto-slate/src',
22
- '@plone/volto-slate/(.*)$':
23
- '<rootDir>/node_modules/@plone/volto/packages/volto-slate/src/$1',
29
+ '@plone/volto-slate$': voltoSlatePath,
30
+ '@plone/volto-slate/(.*)$': `${voltoSlatePath}/$1`,
24
31
  '~/(.*)$': '<rootDir>/src/$1',
25
32
  'load-volto-addons':
26
33
  '<rootDir>/node_modules/@plone/volto/jest-addons-loader.js',
@@ -141,8 +141,8 @@ msgstr "Datenschutz"
141
141
 
142
142
  #. Default: "Embed interactive Map"
143
143
  #: Blocks/EmbedMaps/schema
144
- msgid "Embed interactive Map"
145
- msgstr "Interaktive Karte einbetten"
144
+ msgid "embedInteractiveMap"
145
+ msgstr ""
146
146
 
147
147
  #. Default: "Data protection disclaimer enabled"
148
148
  #: PrivacyProtection/schema
@@ -141,7 +141,7 @@ msgstr ""
141
141
 
142
142
  #. Default: "Embed interactive Map"
143
143
  #: Blocks/EmbedMaps/schema
144
- msgid "Embed interactive Map"
144
+ msgid "embedInteractiveMap"
145
145
  msgstr ""
146
146
 
147
147
  #. Default: "Data protection disclaimer enabled"
@@ -141,7 +141,7 @@ msgstr ""
141
141
 
142
142
  #. Default: "Embed interactive Map"
143
143
  #: Blocks/EmbedMaps/schema
144
- msgid "Embed interactive Map"
144
+ msgid "embedInteractiveMap"
145
145
  msgstr ""
146
146
 
147
147
  #. Default: "Data protection disclaimer enabled"
@@ -141,7 +141,7 @@ msgstr ""
141
141
 
142
142
  #. Default: "Embed interactive Map"
143
143
  #: Blocks/EmbedMaps/schema
144
- msgid "Embed interactive Map"
144
+ msgid "embedInteractiveMap"
145
145
  msgstr ""
146
146
 
147
147
  #. Default: "Data protection disclaimer enabled"
package/locales/volto.pot CHANGED
@@ -1,7 +1,7 @@
1
1
  msgid ""
2
2
  msgstr ""
3
3
  "Project-Id-Version: Plone\n"
4
- "POT-Creation-Date: 2025-01-08T13:34:41.757Z\n"
4
+ "POT-Creation-Date: 2026-03-10T22:12:54.862Z\n"
5
5
  "Last-Translator: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
6
6
  "Language-Team: Plone i18n <plone-i18n@lists.sourceforge.net>\n"
7
7
  "Content-Type: text/plain; charset=utf-8\n"
@@ -143,7 +143,7 @@ msgstr ""
143
143
 
144
144
  #. Default: "Embed interactive Map"
145
145
  #: Blocks/EmbedMaps/schema
146
- msgid "Embed interactive Map"
146
+ msgid "embedInteractiveMap"
147
147
  msgstr ""
148
148
 
149
149
  #. Default: "Data protection disclaimer enabled"
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eeacms/volto-embed",
3
- "version": "10.1.4",
3
+ "version": "11.0.0",
4
4
  "description": "Embed external content",
5
5
  "main": "src/index.js",
6
6
  "author": "European Environment Agency: IDM2 A-Team",
@@ -5,7 +5,7 @@ import config from '@plone/volto/registry';
5
5
 
6
6
  import Edit from './Edit';
7
7
  import installEmbedMaps from '.';
8
- import '@testing-library/jest-dom/extend-expect';
8
+ import '@testing-library/jest-dom';
9
9
 
10
10
  installEmbedMaps(config);
11
11
 
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { Provider } from 'react-intl-redux';
3
3
  import config from '@plone/volto/registry';
4
4
  import { render, screen, fireEvent } from '@testing-library/react';
5
- import '@testing-library/jest-dom/extend-expect';
5
+ import '@testing-library/jest-dom';
6
6
 
7
7
  import View from './View';
8
8
  import installEmbedMaps from '.';
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { render, screen, fireEvent } from '@testing-library/react';
3
3
  import { Provider } from 'react-intl-redux';
4
4
  import config from '@plone/volto/registry';
5
- import '@testing-library/jest-dom/extend-expect';
5
+ import '@testing-library/jest-dom';
6
6
 
7
7
  import Edit from './Edit';
8
8
 
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { render, screen } from '@testing-library/react';
3
3
  import { Provider } from 'react-intl-redux';
4
4
  import config from '@plone/volto/registry';
5
- import '@testing-library/jest-dom/extend-expect';
5
+ import '@testing-library/jest-dom';
6
6
 
7
7
  import View from './View';
8
8
  import installEmbedMaps from '.';
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { render, screen } from '@testing-library/react';
3
3
  import { Provider } from 'react-intl-redux';
4
4
  import config from '@plone/volto/registry';
5
- import '@testing-library/jest-dom/extend-expect';
5
+ import '@testing-library/jest-dom';
6
6
 
7
7
  import EmbedMap from './EmbedMap';
8
8
 
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { render, fireEvent, screen } from '@testing-library/react';
3
3
  import Sources from './Sources';
4
- import '@testing-library/jest-dom/extend-expect';
4
+ import '@testing-library/jest-dom';
5
5
 
6
6
  const mockSources = [
7
7
  {
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { render, screen } from '@testing-library/react';
3
3
  import { Provider } from 'react-intl-redux';
4
4
  import config from '@plone/volto/registry';
5
- import '@testing-library/jest-dom/extend-expect';
5
+ import '@testing-library/jest-dom';
6
6
 
7
7
  import { Enlarge, FigureNote, MoreInfo, Share, Sources } from '.';
8
8
 
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { render, screen } from '@testing-library/react';
3
3
  import { Provider } from 'react-intl-redux';
4
4
  import config from '@plone/volto/registry';
5
- import '@testing-library/jest-dom/extend-expect';
5
+ import '@testing-library/jest-dom';
6
6
 
7
7
  import MapView from './MapView';
8
8
 
@@ -5,7 +5,7 @@ import configureStore from 'redux-mock-store';
5
5
  import MapsViewWidget from './MapsViewWidget';
6
6
  import EmbedMap from '@eeacms/volto-embed/EmbedMap/EmbedMap';
7
7
  import { pickMetadata } from '@eeacms/volto-embed/helpers';
8
- import '@testing-library/jest-dom/extend-expect'; // Importă jest-dom
8
+ import '@testing-library/jest-dom'; // Importă jest-dom
9
9
 
10
10
  jest.mock('@eeacms/volto-embed/EmbedMap/EmbedMap', () =>
11
11
  jest.fn(() => <div>Mocked EmbedMap</div>),