@plone/volto 19.0.0-alpha.2 → 19.0.0-alpha.20
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/.eslintignore +1 -0
- package/.eslintrc +37 -3
- package/CHANGELOG.md +338 -1
- package/README.md +20 -16
- package/babel.js +1 -3
- package/cypress/docker/prefixed-rules.yml +26 -0
- package/cypress/docker/prefixed.yml +24 -0
- package/cypress/support/commands.js +12 -6
- package/cypress/support/guillotina.js +1 -0
- package/cypress.config.js +1 -0
- package/global-test-setup.js +1 -2
- package/locales/af.json +1 -0
- package/locales/ar.json +1 -0
- package/locales/bg.json +1 -0
- package/locales/bn.json +1 -0
- package/locales/ca/LC_MESSAGES/volto.po +124 -17
- package/locales/ca.json +1 -1
- package/locales/cs.json +1 -0
- package/locales/cy.json +1 -0
- package/locales/da.json +1 -0
- package/locales/de/LC_MESSAGES/volto.po +135 -28
- package/locales/de.json +1 -1
- package/locales/el.json +1 -0
- package/locales/en/LC_MESSAGES/volto.po +125 -18
- package/locales/en.json +1 -1
- package/locales/en_AU.json +1 -0
- package/locales/en_GB.json +1 -0
- package/locales/eo.json +1 -0
- package/locales/es/LC_MESSAGES/volto.po +125 -18
- package/locales/es.json +1 -1
- package/locales/et.json +1 -0
- package/locales/eu/LC_MESSAGES/volto.po +124 -17
- package/locales/eu.json +1 -1
- package/locales/fa.json +1 -0
- package/locales/fi/LC_MESSAGES/volto.po +124 -17
- package/locales/fi.json +1 -1
- package/locales/fr/LC_MESSAGES/volto.po +125 -18
- package/locales/fr.json +1 -1
- package/locales/fu.json +1 -0
- package/locales/gl.json +1 -0
- package/locales/he.json +1 -0
- package/locales/hi/LC_MESSAGES/volto.po +128 -21
- package/locales/hi.json +1 -1
- package/locales/hr.json +1 -0
- package/locales/hu.json +1 -0
- package/locales/hy.json +1 -0
- package/locales/id.json +1 -0
- package/locales/it/LC_MESSAGES/volto.po +129 -22
- package/locales/it.json +1 -1
- package/locales/ja/LC_MESSAGES/volto.po +124 -17
- package/locales/ja.json +1 -1
- package/locales/ka.json +1 -0
- package/locales/kn.json +1 -0
- package/locales/ko.json +1 -0
- package/locales/lt.json +1 -0
- package/locales/lv.json +1 -0
- package/locales/mi.json +1 -0
- package/locales/mk.json +1 -0
- package/locales/my.json +1 -0
- package/locales/nb_NO.json +1 -0
- package/locales/nl/LC_MESSAGES/volto.po +128 -21
- package/locales/nl.json +1 -1
- package/locales/nn.json +1 -0
- package/locales/pl.json +1 -0
- package/locales/pt/LC_MESSAGES/volto.po +124 -17
- package/locales/pt.json +1 -1
- package/locales/pt_BR/LC_MESSAGES/volto.po +147 -40
- package/locales/pt_BR.json +1 -1
- package/locales/rm.json +1 -0
- package/locales/ro/LC_MESSAGES/volto.po +128 -21
- package/locales/ro.json +1 -1
- package/locales/ru/LC_MESSAGES/volto.po +128 -21
- package/locales/ru.json +1 -1
- package/locales/sk.json +1 -0
- package/locales/sl.json +1 -0
- package/locales/sm.json +1 -0
- package/locales/sq.json +1 -0
- package/locales/sr.json +1 -0
- package/locales/sr@cyrl.json +1 -0
- package/locales/sr@latn.json +1 -0
- package/locales/sv.json +1 -1
- package/locales/ta.json +1 -0
- package/locales/te.json +1 -0
- package/locales/th.json +1 -0
- package/locales/to.json +1 -0
- package/locales/tr.json +1 -0
- package/locales/uk.json +1 -0
- package/locales/vi.json +1 -0
- package/locales/volto.pot +125 -18
- package/locales/zh_CN/LC_MESSAGES/volto.po +124 -17
- package/locales/zh_CN.json +1 -1
- package/locales/zh_Hant.json +1 -0
- package/locales/zh_Hant_HK.json +1 -0
- package/package.json +43 -100
- package/razzle.config.js +21 -21
- package/src/actions/content/content.js +0 -1
- package/src/actions/controlpanels/controlpanels.js +13 -7
- package/src/actions/controlpanels/controlpanels.test.js +11 -5
- package/src/actions/users/users.js +2 -2
- package/src/components/manage/Actions/Actions.test.jsx +1 -5
- package/src/components/manage/Add/Add.jsx +5 -6
- package/src/components/manage/BlockChooser/BlockChooser.jsx +1 -0
- package/src/components/manage/Blocks/Block/BlocksForm.test.jsx +1 -5
- package/src/components/manage/Blocks/Block/Edit.jsx +1 -0
- package/src/components/manage/Blocks/Block/EditBlockWrapper.jsx +9 -4
- package/src/components/manage/Blocks/Block/Settings.test.jsx +1 -5
- package/src/components/manage/Blocks/HTML/Edit.test.jsx +1 -5
- package/src/components/manage/Blocks/Image/Edit.jsx +5 -1
- package/src/components/manage/Blocks/Image/ImageSidebar.test.jsx +1 -5
- package/src/components/manage/Blocks/LeadImage/Edit.jsx +2 -2
- package/src/components/manage/Blocks/LeadImage/LeadImageSidebar.jsx +1 -1
- package/src/components/manage/Blocks/LeadImage/LeadImageSidebar.test.jsx +1 -5
- package/src/components/manage/Blocks/Listing/ImageGallery.jsx +6 -4
- package/src/components/manage/Blocks/Maps/Edit.jsx +2 -1
- package/src/components/manage/Blocks/Maps/MapsSidebar.test.jsx +1 -5
- package/src/components/manage/Blocks/Search/SearchBlockView.jsx +21 -4
- package/src/components/manage/Blocks/Search/components/DateRangeFacet.test.jsx +1 -6
- package/src/components/manage/Blocks/Search/components/SelectFacet.test.jsx +1 -6
- package/src/components/manage/Blocks/Teaser/Data.jsx +21 -7
- package/src/components/manage/Blocks/Teaser/DefaultBody.jsx +1 -1
- package/src/components/manage/Blocks/Teaser/schema.js +8 -3
- package/src/components/manage/Blocks/Video/Edit.jsx +2 -1
- package/src/components/manage/Blocks/Video/VideoSidebar.test.jsx +1 -5
- package/src/components/manage/Contents/Contents.jsx +689 -654
- package/src/components/manage/Contents/Contents.test.jsx +8 -5
- package/src/components/manage/Contents/ContentsBreadcrumbs.Multilingual.test.jsx +18 -5
- package/src/components/manage/Contents/ContentsBreadcrumbs.jsx +20 -26
- package/src/components/manage/Contents/ContentsBreadcrumbs.test.jsx +14 -0
- package/src/components/manage/Contents/ContentsDeleteModal.jsx +258 -206
- package/src/components/manage/Contents/ContentsDeleteModal.stories.jsx +26 -8
- package/src/components/manage/Contents/ContentsItem.jsx +10 -2
- package/src/components/manage/Contents/ContentsPropertiesModal.test.jsx +1 -5
- package/src/components/manage/Contents/ContentsRenameModal.test.jsx +1 -5
- package/src/components/manage/Contents/ContentsTagsModal.test.jsx +1 -5
- package/src/components/manage/Contents/ContentsUploadModal.test.jsx +13 -22
- package/src/components/manage/Contents/ContentsWorkflowModal.test.jsx +1 -5
- package/src/components/manage/Contents/DropZoneContent.jsx +323 -0
- package/src/components/manage/Contents/__mocks__/index.tsx +2 -18
- package/src/components/manage/Controlpanels/Aliases.test.jsx +1 -5
- package/src/components/manage/Controlpanels/ContentType.jsx +1 -1
- package/src/components/manage/Controlpanels/ContentType.test.jsx +1 -5
- package/src/components/manage/Controlpanels/Groups/GroupsControlpanel.jsx +3 -2
- package/src/components/manage/Controlpanels/Relations/Relations.jsx +1 -1
- package/src/components/manage/Controlpanels/Rules/AddRule.test.jsx +1 -5
- package/src/components/manage/Controlpanels/Rules/EditRule.test.jsx +1 -5
- package/src/components/manage/Controlpanels/UndoControlpanel.test.jsx +1 -5
- package/src/components/manage/Controlpanels/Users/RenderUsers.jsx +156 -175
- package/src/components/manage/Controlpanels/Users/UsersControlpanel.jsx +575 -630
- package/src/components/manage/Controlpanels/Users/UsersControlpanel.test.jsx +4 -3
- package/src/components/manage/Diff/Diff.test.jsx +1 -6
- package/src/components/manage/Diff/DiffField.test.jsx +1 -6
- package/src/components/manage/Display/Display.test.jsx +2 -11
- package/src/components/manage/Edit/Edit.jsx +2 -3
- package/src/components/manage/Edit/Edit.test.jsx +1 -5
- package/src/components/manage/Form/BlockDataForm.test.jsx +1 -5
- package/src/components/manage/Form/Form.test.jsx +1 -5
- package/src/components/manage/Form/InlineForm.jsx +2 -2
- package/src/components/manage/Form/InlineForm.test.jsx +1 -5
- package/src/components/manage/Form/ModalForm.jsx +12 -10
- package/src/components/manage/Form/ModalForm.test.jsx +27 -5
- package/src/components/manage/Form/__mocks__/index.tsx +9 -27
- package/src/components/manage/Multilingual/CompareLanguages.jsx +2 -5
- package/src/components/manage/Multilingual/CreateTranslation.jsx +8 -8
- package/src/components/manage/Multilingual/ManageTranslations.jsx +4 -2
- package/src/components/manage/Multilingual/ManageTranslations.test.jsx +5 -1
- package/src/components/manage/Multilingual/TranslationObject.jsx +1 -1
- package/src/components/manage/Preferences/ChangePassword.test.jsx +1 -5
- package/src/components/manage/Preferences/PersonalPreferences.test.jsx +1 -17
- package/src/components/manage/Sidebar/ObjectBrowser.jsx +3 -0
- package/src/components/manage/Sidebar/ObjectBrowserBody.jsx +13 -1
- package/src/components/manage/Sidebar/ObjectBrowserNav.jsx +2 -1
- package/src/components/manage/Sidebar/SidebarPortal.test.tsx +42 -0
- package/src/components/manage/Sidebar/SidebarPortal.tsx +48 -0
- package/src/components/manage/TemplateChooser/TemplateChooser.jsx +2 -1
- package/src/components/manage/Toolbar/More.jsx +4 -1
- package/src/components/manage/Toolbar/More.test.jsx +3 -0
- package/src/components/manage/Toolbar/PersonalTools.jsx +2 -1
- package/src/components/manage/Toolbar/Toolbar.jsx +3 -4
- package/src/components/manage/Toolbar/Types.jsx +7 -7
- package/src/components/manage/UniversalLink/UniversalLink.tsx +1 -0
- package/src/components/manage/Widgets/AlignWidget.stories.jsx +9 -0
- package/src/components/manage/Widgets/AlignWidget.test.tsx +95 -0
- package/src/components/manage/Widgets/{AlignWidget.jsx → AlignWidget.tsx} +23 -7
- package/src/components/manage/Widgets/ArrayWidget.test.jsx +1 -6
- package/src/components/manage/Widgets/BlockAlignment.stories.tsx +104 -0
- package/src/components/manage/Widgets/BlockAlignment.test.tsx +104 -0
- package/src/components/manage/Widgets/BlockAlignment.tsx +88 -0
- package/src/components/manage/Widgets/BlockWidth.stories.tsx +69 -0
- package/src/components/manage/Widgets/BlockWidth.test.tsx +62 -0
- package/src/components/manage/Widgets/BlockWidth.tsx +101 -0
- package/src/components/manage/Widgets/ButtonsWidget.stories.jsx +61 -0
- package/src/components/manage/Widgets/ButtonsWidget.test.tsx +138 -0
- package/src/components/manage/Widgets/ButtonsWidget.tsx +176 -0
- package/src/components/manage/Widgets/CheckboxGroupWidget.test.jsx +1 -6
- package/src/components/manage/Widgets/DatetimeWidget.jsx +16 -1
- package/src/components/manage/Widgets/DatetimeWidget.test.jsx +1 -6
- package/src/components/manage/Widgets/FileWidget.jsx +14 -8
- package/src/components/manage/Widgets/FormFieldWrapper.jsx +146 -168
- package/src/components/manage/Widgets/ImageWidget.jsx +171 -38
- package/src/components/manage/Widgets/InternalUrlWidget.jsx +2 -0
- package/src/components/manage/Widgets/ObjectBrowserWidget.jsx +8 -0
- package/src/components/manage/Widgets/ObjectListWidget.test.jsx +2 -11
- package/src/components/manage/Widgets/ObjectWidget.test.jsx +1 -5
- package/src/components/manage/Widgets/QueryWidget.jsx +137 -9
- package/src/components/manage/Widgets/RadioGroupWidget.test.jsx +1 -6
- package/src/components/manage/Widgets/RecurrenceWidget/RecurrenceWidget.test.jsx +1 -6
- package/src/components/manage/Widgets/RegistryImageWidget.test.jsx +3 -2
- package/src/components/manage/Widgets/SchemaWidget.test.jsx +1 -6
- package/src/components/manage/Widgets/SchemaWidgetFieldset.test.jsx +1 -6
- package/src/components/manage/Widgets/SelectAutoComplete.jsx +29 -12
- package/src/components/manage/Widgets/SelectAutoComplete.test.jsx +1 -6
- package/src/components/manage/Widgets/SelectWidget.test.jsx +1 -6
- package/src/components/manage/Widgets/Size.stories.tsx +69 -0
- package/src/components/manage/Widgets/Size.test.tsx +59 -0
- package/src/components/manage/Widgets/Size.tsx +78 -0
- package/src/components/manage/Widgets/TimeWidget.test.jsx +1 -6
- package/src/components/manage/Widgets/TokenWidget.test.jsx +1 -6
- package/src/components/manage/Widgets/UrlWidget.jsx +2 -0
- package/src/components/manage/Widgets/VocabularyTermsWidget.test.jsx +2 -11
- package/src/components/manage/Widgets/__mocks__/index.tsx +33 -51
- package/src/components/manage/Widgets/index.tsx +21 -0
- package/src/components/manage/Workflow/Workflow.test.jsx +2 -11
- package/src/components/theme/AlternateHrefLangs/AlternateHrefLangs.jsx +1 -3
- package/src/components/theme/AlternateHrefLangs/AlternateHrefLangs.test.jsx +0 -4
- package/src/components/theme/App/App.jsx +5 -1
- package/src/components/theme/App/App.test.jsx +1 -0
- package/src/components/theme/Avatar/Avatar.jsx +2 -1
- package/src/components/theme/Comments/CommentEditModal.test.jsx +1 -5
- package/src/components/theme/Comments/Comments.test.jsx +2 -11
- package/src/components/theme/ContactForm/ContactForm.test.jsx +1 -5
- package/src/components/theme/FormattedDate/FormattedDate.stories.jsx +20 -2
- package/src/components/theme/Image/Image.jsx +11 -8
- package/src/components/theme/InjectPloneComponentsCSS/InjectPloneComponentsCSS.tsx +7 -0
- package/src/components/theme/LanguageSelector/{LanguageSelector.test.jsx → LanguageSelector.test.tsx} +6 -6
- package/src/components/theme/LanguageSelector/LanguageSelector.tsx +89 -0
- package/src/components/theme/Logo/Logo.Multilingual.test.jsx +0 -5
- package/src/components/theme/MultilingualRedirector/MultilingualRedirector.jsx +10 -14
- package/src/components/theme/MultilingualRedirector/MultilingualRedirector.test.jsx +3 -5
- package/src/components/theme/Navigation/NavItem.jsx +1 -5
- package/src/components/theme/Navigation/Navigation.Multilingual.test.jsx +0 -5
- package/src/components/theme/NotFound/NotFound.jsx +5 -2
- package/src/components/theme/NotFound/NotFound.test.jsx +3 -0
- package/src/components/theme/PasswordReset/RequestPasswordReset.test.jsx +1 -5
- package/src/components/theme/PreviewImage/PreviewImage.jsx +1 -1
- package/src/components/theme/Register/Register.test.jsx +1 -5
- package/src/components/theme/RequestTimeout/RequestTimeout.jsx +1 -1
- package/src/components/theme/Sitemap/Sitemap.jsx +6 -5
- package/src/components/theme/Sitemap/Sitemap.test.jsx +0 -1
- package/src/components/theme/Unauthorized/Unauthorized.jsx +5 -2
- package/src/components/theme/View/EventDatesInfo.test.jsx +1 -6
- package/src/components/theme/View/EventView.test.jsx +1 -6
- package/src/components/theme/View/FileView.jsx +9 -1
- package/src/components/theme/View/View.jsx +8 -1
- package/src/components/theme/Widgets/ImageWidget.jsx +2 -1
- package/src/config/ControlPanels.js +1 -0
- package/src/config/Widgets.jsx +7 -0
- package/src/config/index.js +18 -25
- package/src/config/server.js +0 -2
- package/src/config/slots.js +19 -0
- package/src/express-middleware/devproxy.js +20 -5
- package/src/helpers/Api/APIResourceWithAuth.js +8 -3
- package/src/helpers/Api/Api.js +7 -4
- package/src/helpers/AsyncConnect/ssr.js +4 -1
- package/src/helpers/Content/Content.js +23 -0
- package/src/helpers/Content/Content.test.js +39 -0
- package/src/helpers/Content/withClientSideContent.jsx +35 -0
- package/src/helpers/Extensions/withBlockSchemaEnhancer.jsx +4 -1
- package/src/helpers/Html/Html.jsx +13 -7
- package/src/helpers/LanguageMap/LanguageMap.js +115 -8
- package/src/helpers/Loadable/__mocks__/Loadable.jsx +7 -22
- package/src/helpers/MessageLabels/MessageLabels.js +5 -0
- package/src/helpers/Sitemap/Sitemap.js +4 -4
- package/src/helpers/Url/Url.js +33 -2
- package/src/helpers/Url/Url.test.js +62 -0
- package/src/hooks/user/useUser.js +1 -1
- package/src/internalChecks.test.ts +11 -0
- package/src/middleware/Api.test.js +4 -0
- package/src/middleware/api.js +82 -28
- package/src/middleware/storeProtectLoadUtils.test.js +3 -3
- package/src/reducers/content/content.js +3 -18
- package/src/reducers/diff/diff.js +5 -1
- package/src/reducers/diff/diff.test.js +60 -4
- package/src/reducers/querystring/querystring.js +8 -1
- package/src/routes.js +4 -2
- package/src/server.jsx +45 -14
- package/src/start-client.jsx +9 -6
- package/src/start-server.js +9 -3
- package/test-addons-loader.js +3 -0
- package/test-setup-config.jsx +0 -2
- package/test-setup-globals.js +30 -2
- package/theme/themes/pastanaga/extras/blocks.less +26 -0
- package/theme/themes/pastanaga/extras/contents.less +80 -5
- package/theme/themes/pastanaga/extras/main.less +17 -2
- package/theme/themes/pastanaga/extras/widgets.less +79 -0
- package/tsconfig.declarations.json +1 -1
- package/tsconfig.json +4 -5
- package/types/components/manage/Blocks/Teaser/schema.d.ts +1 -0
- package/types/components/manage/Contents/DropZoneContent.d.ts +2 -0
- package/types/components/manage/Contents/__mocks__/index.d.ts +2 -2
- package/types/components/manage/Controlpanels/Relations/RelationsMatrix.d.ts +1 -1
- package/types/components/manage/Controlpanels/Users/RenderUsers.d.ts +18 -2
- package/types/components/manage/Controlpanels/Users/UsersControlpanel.d.ts +6 -2
- package/types/components/manage/Controlpanels/index.d.ts +2 -2
- package/types/components/manage/Form/__mocks__/index.d.ts +8 -8
- package/types/components/manage/Multilingual/ManageTranslations.d.ts +1 -1
- package/types/components/manage/Sidebar/ObjectBrowser.d.ts +1 -1
- package/types/components/manage/Sidebar/SidebarPortal.d.ts +7 -15
- package/types/components/manage/Widgets/AlignWidget.d.ts +8 -10
- package/types/components/manage/Widgets/AlignWidget.stories.d.ts +1 -0
- package/types/components/manage/Widgets/BlockAlignment.d.ts +7 -0
- package/types/components/manage/Widgets/BlockAlignment.stories.d.ts +8 -0
- package/types/components/manage/Widgets/BlockWidth.d.ts +7 -0
- package/types/components/manage/Widgets/BlockWidth.stories.d.ts +6 -0
- package/types/components/manage/Widgets/ButtonsWidget.d.ts +48 -1
- package/types/components/manage/Widgets/ButtonsWidget.stories.d.ts +3 -0
- package/types/components/manage/Widgets/FormFieldWrapper.d.ts +28 -5
- package/types/components/manage/Widgets/ImageWidget.d.ts +41 -1
- package/types/components/manage/Widgets/InternalUrlWidget.d.ts +1 -1
- package/types/components/manage/Widgets/ObjectBrowserWidget.d.ts +2 -0
- package/types/components/manage/Widgets/QueryWidget.d.ts +5 -2
- package/types/components/manage/Widgets/RecurrenceWidget/Utils.d.ts +12 -18
- package/types/components/manage/Widgets/Size.d.ts +7 -0
- package/types/components/manage/Widgets/Size.stories.d.ts +6 -0
- package/types/components/manage/Widgets/UrlWidget.d.ts +1 -1
- package/types/components/manage/Widgets/__mocks__/index.d.ts +33 -33
- package/types/components/manage/Widgets/index.d.ts +11 -6
- package/types/components/theme/FormattedDate/FormattedDate.stories.d.ts +1 -1
- package/types/components/theme/InjectPloneComponentsCSS/InjectPloneComponentsCSS.d.ts +3 -0
- package/types/components/theme/LanguageSelector/LanguageSelector.d.ts +3 -10
- package/types/components/theme/Unauthorized/Unauthorized.d.ts +2 -2
- package/types/config/Widgets.d.ts +6 -0
- package/types/config/slots.d.ts +7 -0
- package/types/helpers/Content/Content.d.ts +7 -0
- package/types/helpers/Content/withClientSideContent.d.ts +1 -0
- package/types/helpers/Extensions/withBlockSchemaEnhancer.d.ts +4 -5
- package/types/helpers/Helmet/Helmet.d.ts +1 -1
- package/types/helpers/LanguageMap/LanguageMap.d.ts +428 -4
- package/types/helpers/Loadable/__mocks__/Loadable.d.ts +2 -2
- package/types/helpers/MessageLabels/MessageLabels.d.ts +68 -62
- package/types/helpers/Url/Url.d.ts +14 -0
- package/types/helpers/Url/bulkFlattenToAppURL.d.ts +5 -0
- package/types/middleware/api.d.ts +6 -9
- package/types/reducers/index.d.ts +1 -0
- package/types/start-client.d.ts +0 -1
- package/vitest.config.mjs +4 -4
- package/webpack-plugins/webpack-scss-plugin.js +172 -0
- package/jest-addons-loader.js +0 -3
- package/jest-extender-plugin.js +0 -39
- package/jest-setup-afterenv.js +0 -2
- package/jest-svgsystem-transform.js +0 -10
- package/package-why.json +0 -34
- package/patches/patchit.sh +0 -2
- package/patches/razzle-jest.patch +0 -10
- package/src/actions/content/content.multilingual.test.js +0 -17
- package/src/components/manage/Contents/__mocks__/index.vitest.tsx +0 -5
- package/src/components/manage/Form/__mocks__/index.vitest.tsx +0 -73
- package/src/components/manage/Sidebar/SidebarPortal.jsx +0 -47
- package/src/components/manage/Sidebar/SidebarPortal.test.jsx +0 -26
- package/src/components/manage/Widgets/AlignWidget.test.jsx +0 -59
- package/src/components/manage/Widgets/ButtonsWidget.jsx +0 -41
- package/src/components/manage/Widgets/ButtonsWidget.test.jsx +0 -70
- package/src/components/manage/Widgets/__mocks__/index.vitest.tsx +0 -41
- package/src/components/theme/LanguageSelector/LanguageSelector.jsx +0 -77
- package/src/helpers/Loadable/__mocks__/Loadable.vitest.jsx +0 -39
- package/test-setup-globals-vitest.js +0 -46
- package/theme/themes/pastanaga/extras/utils.less +0 -63
package/.eslintignore
CHANGED
package/.eslintrc
CHANGED
|
@@ -37,6 +37,13 @@
|
|
|
37
37
|
"react-hooks/exhaustive-deps": "warn",
|
|
38
38
|
"react/react-in-jsx-scope": "off",
|
|
39
39
|
"jsx-a11y/label-has-associated-control": "off",
|
|
40
|
+
"no-restricted-syntax": [
|
|
41
|
+
"error",
|
|
42
|
+
{
|
|
43
|
+
"selector": "JSXElement[openingElement.name.name='img']",
|
|
44
|
+
"message": "Use the Image component from '@plone/volto/components/theme/Image/Image' instead of <img> tag.",
|
|
45
|
+
},
|
|
46
|
+
],
|
|
40
47
|
},
|
|
41
48
|
"settings": {
|
|
42
49
|
"import/resolver": {
|
|
@@ -50,6 +57,7 @@
|
|
|
50
57
|
],
|
|
51
58
|
"extensions": [".js", ".jsx", ".ts", ".tsx", ".json"],
|
|
52
59
|
},
|
|
60
|
+
"node": { "extensions": [".js", ".jsx", ".ts", ".tsx", ".json"] },
|
|
53
61
|
"babel-plugin-root-import": {
|
|
54
62
|
"rootPathSuffix": "src",
|
|
55
63
|
},
|
|
@@ -69,12 +77,39 @@
|
|
|
69
77
|
"plugins": ["prettier", "react-hooks", "jsx-a11y"],
|
|
70
78
|
"parser": "@typescript-eslint/parser",
|
|
71
79
|
},
|
|
80
|
+
{
|
|
81
|
+
"files": [
|
|
82
|
+
"**/*.test.js",
|
|
83
|
+
"**/*.test.jsx",
|
|
84
|
+
"**/*.test.ts",
|
|
85
|
+
"**/*.test.tsx",
|
|
86
|
+
"**/cypress/**/*.js",
|
|
87
|
+
"**/cypress/**/*.ts",
|
|
88
|
+
],
|
|
89
|
+
"plugins": ["no-only-tests"],
|
|
90
|
+
"rules": {
|
|
91
|
+
"no-only-tests/no-only-tests": "error",
|
|
92
|
+
},
|
|
93
|
+
},
|
|
72
94
|
{
|
|
73
95
|
"files": ["**/*.stories.js", "**/*.stories.jsx"],
|
|
74
96
|
"rules": {
|
|
75
97
|
"import/no-anonymous-default-export": "off",
|
|
76
98
|
},
|
|
77
99
|
},
|
|
100
|
+
{
|
|
101
|
+
"files": [
|
|
102
|
+
"**/Image/Image.jsx",
|
|
103
|
+
"**/Image/Image.js",
|
|
104
|
+
"**/*.stories.js",
|
|
105
|
+
"**/*.stories.jsx",
|
|
106
|
+
"**/*.test.js",
|
|
107
|
+
"**/*.test.jsx",
|
|
108
|
+
],
|
|
109
|
+
"rules": {
|
|
110
|
+
"no-restricted-syntax": "off",
|
|
111
|
+
},
|
|
112
|
+
},
|
|
78
113
|
],
|
|
79
114
|
"globals": {
|
|
80
115
|
"root": true,
|
|
@@ -88,10 +123,9 @@
|
|
|
88
123
|
"__SENTRY__": true,
|
|
89
124
|
"cy": true,
|
|
90
125
|
"Cypress": true,
|
|
91
|
-
"jest": true,
|
|
92
126
|
"socket": true,
|
|
93
127
|
"webpackIsomorphicTools": true,
|
|
94
|
-
"vitest":true,
|
|
95
|
-
"vi":true
|
|
128
|
+
"vitest": true,
|
|
129
|
+
"vi": true,
|
|
96
130
|
},
|
|
97
131
|
}
|
package/CHANGELOG.md
CHANGED
|
@@ -17,6 +17,343 @@ myst:
|
|
|
17
17
|
|
|
18
18
|
<!-- towncrier release notes start -->
|
|
19
19
|
|
|
20
|
+
## 19.0.0-alpha.20 (2025-12-21)
|
|
21
|
+
|
|
22
|
+
### Bugfix
|
|
23
|
+
|
|
24
|
+
- Hide date and time fields when either "Whole Day" or "Open End" is checked in the Event form. @wesleybl [#3243](https://github.com/plone/volto/issues/3243)
|
|
25
|
+
- Fixed a bug in the login form where the user could see a spinner instead of an error message after a failed login, when the login form was loaded via server-side rendering. @aryan7081 [#7397](https://github.com/plone/volto/issues/7397)
|
|
26
|
+
- Fix max filesize upload issue in drag and drop @Tishasoumya-02 [#7695](https://github.com/plone/volto/issues/7695)
|
|
27
|
+
- Fix multilingual redirect for languages using locale-specific formats. @Shyam-Raghuwanshi [#7725](https://github.com/plone/volto/issues/7725)
|
|
28
|
+
- Add German translations for the current and parent paths. @iFlameing
|
|
29
|
+
- Add support for typing and pasting URLs in the ObjectBrowserWidget for location selection in the Listing block. @iFlameing
|
|
30
|
+
|
|
31
|
+
### Internal
|
|
32
|
+
|
|
33
|
+
- Refactored the `FormFieldWrapper` widget by converting it from a class-based component to a modern functional component using React hooks. @Manik-Khajuria-5 [#7672](https://github.com/plone/volto/issues/7672)
|
|
34
|
+
- Update TypeScript types for Volto. @wesleybl [#7703](https://github.com/plone/volto/issues/7703)
|
|
35
|
+
- Include other *.md files in the repo root for link checking, fix redirecting links, and remove non-responsive server. @stevepiercy [#7712](https://github.com/plone/volto/issues/7712)
|
|
36
|
+
- Update actions/checkout to v5 in all GitHub Actions workflows. @wesleybl [#7724](https://github.com/plone/volto/issues/7724)
|
|
37
|
+
- Update actions/cache from v4 to v5 in GitHub Actions workflow files. @wesleybl [#7731](https://github.com/plone/volto/issues/7731)
|
|
38
|
+
- Sync react-aria-components to 1.14.0 in catalog.json and nextjs package.json. @wesleybl [#7733](https://github.com/plone/volto/issues/7733)
|
|
39
|
+
|
|
40
|
+
### Documentation
|
|
41
|
+
|
|
42
|
+
- Add Volto 19 add-on development documentation. @Shyam-Raghuwanshi [#7694](https://github.com/plone/volto/issues/7694)
|
|
43
|
+
- Exclude linkedin.com from link checker. @davisagli
|
|
44
|
+
|
|
45
|
+
## 19.0.0-alpha.19 (2025-12-08)
|
|
46
|
+
|
|
47
|
+
### Feature
|
|
48
|
+
|
|
49
|
+
- cross language support for blocks chooser search @Tishasoumya-02 [#7657](https://github.com/plone/volto/issues/7657)
|
|
50
|
+
- Added support for selecting Path and Depth in the Listing Block’s Location criteria using the ObjectBrowserWidget and NumberWidget. @iFlameing @giuliaghisini [#7661](https://github.com/plone/volto/issues/7661)
|
|
51
|
+
- ModalForm should handle empty schemas, rendering an empty form with just the submit and cancel buttons. @tedw87 [#7677](https://github.com/plone/volto/issues/7677)
|
|
52
|
+
- Add feature of drag and drop files in folder contents. @Tishasoumya-02
|
|
53
|
+
|
|
54
|
+
### Internal
|
|
55
|
+
|
|
56
|
+
- Add classname for unauthorized page @iRohitSingh
|
|
57
|
+
|
|
58
|
+
### Documentation
|
|
59
|
+
|
|
60
|
+
- Document environment variables and link the Razzle documentation. @Manas-Kenge [#5319](https://github.com/plone/volto/issues/5319)
|
|
61
|
+
|
|
62
|
+
## 19.0.0-alpha.18 (2025-11-30)
|
|
63
|
+
|
|
64
|
+
### Bugfix
|
|
65
|
+
|
|
66
|
+
- Fixed a TypeError in `flattenScales` that occurred when `image.scales` was missing. @pratyush07-hub [#7568](https://github.com/plone/volto/issues/7568)
|
|
67
|
+
- Moved hitorical amendment for the CssMinimizerPlugin to the Razzle fork, removed calc processing. @sneridagh [#7667](https://github.com/plone/volto/issues/7667)
|
|
68
|
+
|
|
69
|
+
### Internal
|
|
70
|
+
|
|
71
|
+
- Revert #7646 Makefile, removing --prod experiment. @sneridagh
|
|
72
|
+
|
|
73
|
+
## 19.0.0-alpha.17 (2025-11-21)
|
|
74
|
+
|
|
75
|
+
### Bugfix
|
|
76
|
+
|
|
77
|
+
- Added `prettier` as a direct dependency of Volto, since is used by HTML block, to prevent the removal from the production build. @sneridagh
|
|
78
|
+
|
|
79
|
+
## 19.0.0-alpha.16 (2025-11-20)
|
|
80
|
+
|
|
81
|
+
### Bugfix
|
|
82
|
+
|
|
83
|
+
- Fixed missing deepmerge in prod build and add it as a direct dep in Volto core. @sneridagh
|
|
84
|
+
|
|
85
|
+
## 19.0.0-alpha.15 (2025-11-19)
|
|
86
|
+
|
|
87
|
+
### Bugfix
|
|
88
|
+
|
|
89
|
+
- Pin the sass dependency to 1.58.0 @sneridagh
|
|
90
|
+
|
|
91
|
+
## 19.0.0-alpha.14 (2025-11-19)
|
|
92
|
+
|
|
93
|
+
### Breaking
|
|
94
|
+
|
|
95
|
+
- Add package `@plone/razzle`. It's a fork of `razzle`. @wesleybl [#7542](https://github.com/plone/volto/issues/7542)
|
|
96
|
+
- Fork `babel-razzle-preset` from Razzle. Update dependencies. @sneridagh [#7619](https://github.com/plone/volto/issues/7619)
|
|
97
|
+
- Removed Jest from build. @sneridagh [#7620](https://github.com/plone/volto/issues/7620)
|
|
98
|
+
- Forked Razzle SCSS plugin, pin the version to one that does not flood the log with useless deprecation warnings. @sneridagh [#7188](https://github.com/plone/volto/issues/7188)
|
|
99
|
+
|
|
100
|
+
### Bugfix
|
|
101
|
+
|
|
102
|
+
- Replaced `{term}` with `{ref}` to link to headings. @pratyush07-hub [#fix-glossary-terms](https://github.com/plone/volto/issues/fix-glossary-terms)
|
|
103
|
+
|
|
104
|
+
### Internal
|
|
105
|
+
|
|
106
|
+
- Add Cypress test to cover deleting at end of Slate block when next block is empty. @aryan7081 [#7263](https://github.com/plone/volto/issues/7263)
|
|
107
|
+
|
|
108
|
+
### Documentation
|
|
109
|
+
|
|
110
|
+
- Added missing steps for `babel-preset-razzle` in the upgrade guide. @sneridagh
|
|
111
|
+
- Added missing upgrade steps for 19 projects. @sneridagh
|
|
112
|
+
|
|
113
|
+
## 19.0.0-alpha.13 (2025-11-12)
|
|
114
|
+
|
|
115
|
+
### Internal
|
|
116
|
+
|
|
117
|
+
- Release with `@plone/components` 4a3. @sneridagh
|
|
118
|
+
|
|
119
|
+
## 19.0.0-alpha.12 (2025-11-10)
|
|
120
|
+
|
|
121
|
+
### Breaking
|
|
122
|
+
|
|
123
|
+
- `AlignWidget` and `ButtonsWidget` are now Semantic UI-free, and they are now based in `@plone/components`.
|
|
124
|
+
See upgrade guide for more information. @sneridagh [#7555](https://github.com/plone/volto/issues/7555)
|
|
125
|
+
|
|
126
|
+
### Feature
|
|
127
|
+
|
|
128
|
+
- New `@plone/components`-based widgets: `Size`, `blockWidth`, and `blockAlignment`. All of them are `ButtonsWidget`-based. @sneridagh [#7555](https://github.com/plone/volto/issues/7555)
|
|
129
|
+
|
|
130
|
+
### Bugfix
|
|
131
|
+
|
|
132
|
+
- Remove container cage on relations control panel. @ksuess [#6633](https://github.com/plone/volto/issues/6633)
|
|
133
|
+
|
|
134
|
+
### Internal
|
|
135
|
+
|
|
136
|
+
- Add Cypress coverage for Delete-key behavior in text blocks: merge next text block into current and do nothing to non-text (Description) block when pressed at end of a text block. @aryan7081 [#7263](https://github.com/plone/volto/issues/7263)
|
|
137
|
+
- Use 19 as version for cookieplone CI checks. @sneridagh [#7548](https://github.com/plone/volto/issues/7548)
|
|
138
|
+
- Introduce `pnpm` catalog feature in core. @sneridagh [#7562](https://github.com/plone/volto/issues/7562)
|
|
139
|
+
|
|
140
|
+
## 19.0.0-alpha.11 (2025-11-05)
|
|
141
|
+
|
|
142
|
+
### Documentation
|
|
143
|
+
|
|
144
|
+
- Converted the structure of the "Settings Reference" page from a glossary to headings for easier navigation. @Abhishek-17h [#7565](https://github.com/plone/volto/issues/7565)
|
|
145
|
+
|
|
146
|
+
## 19.0.0-alpha.10 (2025-10-31)
|
|
147
|
+
|
|
148
|
+
### Feature
|
|
149
|
+
|
|
150
|
+
- Added `visually-hidden` utility CSS class that integrators and core developers can use. @JeffersonBledsoe @Wagner3UB [#6356](https://github.com/plone/volto/issues/6356)
|
|
151
|
+
- Enhanced diff reducer to process static behaviors in the result object. @rboixaderg [#7546](https://github.com/plone/volto/issues/7546)
|
|
152
|
+
|
|
153
|
+
### Bugfix
|
|
154
|
+
|
|
155
|
+
- Get translationObject from the store instead of directly from the response in CreateTranslation component. @rboixaderg [#7543](https://github.com/plone/volto/issues/7543)
|
|
156
|
+
- Move '.visually-hidden' class to 'main.less' and remove unused 'utils.less' and references @Wagner3UB [#7552](https://github.com/plone/volto/issues/7552)
|
|
157
|
+
- Improve some JSDocs for better typing. @sneridagh [#7560](https://github.com/plone/volto/issues/7560)
|
|
158
|
+
- Fix image upload inside `ImageWidget` component when used inside a non-folderish object. [@jnptk] [#7573](https://github.com/plone/volto/issues/7573)
|
|
159
|
+
- Avoid re-rendering a content item view while hydrating server-side rendered components. @reebalazs
|
|
160
|
+
- Fix failing cypress test on updating to Cypress 15 @Tishasoumya-02
|
|
161
|
+
- Fix infinite @users requests caused by anonymous useUser hook. @iFlameing
|
|
162
|
+
|
|
163
|
+
### Internal
|
|
164
|
+
|
|
165
|
+
- Convert UsersControlpanel component from class to functional with hooks. @wesleybl [#7450](https://github.com/plone/volto/issues/7450)
|
|
166
|
+
- Update to node 24 and cypress to 15 @sneridagh [#7538](https://github.com/plone/volto/issues/7538)
|
|
167
|
+
- Refactor `SidebarPortal` to TypeScript. @sneridagh [#7560](https://github.com/plone/volto/issues/7560)
|
|
168
|
+
- Enable ESlint detection of '.only' in unit and cypress tests. @sneridagh [#7567](https://github.com/plone/volto/issues/7567)
|
|
169
|
+
|
|
170
|
+
## 19.0.0-alpha.9 (2025-10-22)
|
|
171
|
+
|
|
172
|
+
### Feature
|
|
173
|
+
|
|
174
|
+
- Add Cypress for a subpath. @wesleybl [#6976](https://github.com/plone/volto/issues/6976)
|
|
175
|
+
- Serve API requests from a subpath. @davisagli [#7326](https://github.com/plone/volto/issues/7326)
|
|
176
|
+
- Add option to serve a Volto site on a subpath using the `RAZZLE_SUBPATH_PREFIX` environment variable. @nileshgulia1, @wesleybl, @davisagli
|
|
177
|
+
|
|
178
|
+
### Internal
|
|
179
|
+
|
|
180
|
+
- Expires the cache if the root `package.json` is changed. @wesleybl [#7536](https://github.com/plone/volto/issues/7536)
|
|
181
|
+
- Move to `dependencies` some bad categorized dependencies in `devDependencies`. @sneridagh
|
|
182
|
+
- Run Cookieplone acceptance test with Node 24. @davisagli
|
|
183
|
+
|
|
184
|
+
## 19.0.0-alpha.8 (2025-10-22)
|
|
185
|
+
|
|
186
|
+
### Internal
|
|
187
|
+
|
|
188
|
+
- Modernize and update `tsconfig.json` settings for core. @sneridagh [#7531.1](https://github.com/plone/volto/issues/7531.1)
|
|
189
|
+
- Refactor `LanguageSelector` into TypeScript. @sneridagh [#7531.2](https://github.com/plone/volto/issues/7531.2)
|
|
190
|
+
- Re-enable scripts pnpm build. Remove why. @sneridagh [#7532](https://github.com/plone/volto/issues/7532)
|
|
191
|
+
|
|
192
|
+
## 19.0.0-alpha.7 (2025-10-21)
|
|
193
|
+
|
|
194
|
+
### Breaking
|
|
195
|
+
|
|
196
|
+
- Update pnpm to 10.18.3. @wesleybl [#7239](https://github.com/plone/volto/issues/7239)
|
|
197
|
+
- Drop support of Node.js 20. @wesleybl [#7509](https://github.com/plone/volto/issues/7509)
|
|
198
|
+
|
|
199
|
+
### Feature
|
|
200
|
+
|
|
201
|
+
- Internationalizes help for the `Group Name` field. @wesleybl [#7481](https://github.com/plone/volto/issues/7481)
|
|
202
|
+
- Add support to Node.js 24. @wesleybl [#7508](https://github.com/plone/volto/issues/7508)
|
|
203
|
+
|
|
204
|
+
### Bugfix
|
|
205
|
+
|
|
206
|
+
- Refactored the fix for #7238: corner case when coming from SSR in edit route, where the teasers where overwriten with bogus URLs after save if INTERNAL_API_PATH is set. @sneridagh [#7317](https://github.com/plone/volto/issues/7317)
|
|
207
|
+
- The cancel/clear "X" button inside the DatetimeWidget now includes an accessible label when active. @Wagner3UB [#7414](https://github.com/plone/volto/issues/7414)
|
|
208
|
+
- The delete and drag buttons for blocks in edit mode now have an accessible aria-label for screen readers. @sabrina-bongiovanni [#7424](https://github.com/plone/volto/issues/7424)
|
|
209
|
+
- Fix api middleware possible empty values error. @robgietema [#7433](https://github.com/plone/volto/issues/7433)
|
|
210
|
+
- Escape double quotes in POT / PO files @erral [#7476](https://github.com/plone/volto/issues/7476)
|
|
211
|
+
- Fixed corner case where RAZZLE_INTERNAL_API_PATH is set and id is still undefined on first SSR load. @sneridagh [#7478](https://github.com/plone/volto/issues/7478)
|
|
212
|
+
- Reset fieldset.invisible class definition in order to prevent clashes with other CSS frameworks that might have `invisible` as utility. @sneridagh
|
|
213
|
+
- Set type="button" for more widget buttons to prevent them from triggering when Enter is pressed elsewhere in the form. @davisagli
|
|
214
|
+
|
|
215
|
+
### Internal
|
|
216
|
+
|
|
217
|
+
- Added Cypress test for backspace behavior in slate blocks. @aryan7081 [#7373](https://github.com/plone/volto/issues/7373)
|
|
218
|
+
- Update slate libraries in volto package. @sneridagh [#7482](https://github.com/plone/volto/issues/7482)
|
|
219
|
+
- Makes the Cypress commands `getSlateEditorAndType` and `getSlateEditorSelectorAndType` more robust. @wesleybl [#7503](https://github.com/plone/volto/issues/7503)
|
|
220
|
+
- Enhance Cypress commands to trigger focus before typing in Slate editor. @wesleybl [#7506](https://github.com/plone/volto/issues/7506)
|
|
221
|
+
- Fix error and rename test to "should save typed content in the Slate editor". @wesleybl [#7507](https://github.com/plone/volto/issues/7507)
|
|
222
|
+
- Skip link check for URL which blocks traffic from GitHub. @davisagli
|
|
223
|
+
- Use Plone 6.1.3. @sneridagh
|
|
224
|
+
|
|
225
|
+
### Documentation
|
|
226
|
+
|
|
227
|
+
- Add a note to the upgrade guide about related items being shown by default. @davisagli [#7430](https://github.com/plone/volto/issues/7430)
|
|
228
|
+
- Fix images path in Volto README. @wesleybl [#7446](https://github.com/plone/volto/issues/7446)
|
|
229
|
+
|
|
230
|
+
## 19.0.0-alpha.6 (2025-09-29)
|
|
231
|
+
|
|
232
|
+
### Breaking
|
|
233
|
+
|
|
234
|
+
- Now add-ons need to replace `<img>` tags with the `Image` component. There is an ESLint rule to check this. @wesleybl [#7402](https://github.com/plone/volto/issues/7402)
|
|
235
|
+
- `@plone/components` and `@plone/client` has been updated with the latest alphas developed for Seven.
|
|
236
|
+
Please see the [upgrade guide](https://6.docs.plone.org/volto/upgrade-guide/index.html) @sneridagh [#7407](https://github.com/plone/volto/issues/7407)
|
|
237
|
+
|
|
238
|
+
### Feature
|
|
239
|
+
|
|
240
|
+
- Convert RenderUsers component from class to functional with hooks. @wesleybl [#7313](https://github.com/plone/volto/issues/7313)
|
|
241
|
+
- Update Portuguese Brazilian translations @ericof [#7362](https://github.com/plone/volto/issues/7362)
|
|
242
|
+
- Replace img tags with Image component. @wesleybl [#7363](https://github.com/plone/volto/issues/7363)
|
|
243
|
+
|
|
244
|
+
### Bugfix
|
|
245
|
+
|
|
246
|
+
- Search block: fix 'Clear filters' overriding the base query. @mauritsvanrees [#7271](https://github.com/plone/volto/issues/7271)
|
|
247
|
+
- Fixes image rerender on page edit from https://github.com/plone/volto/issues/6839 @calinvladth [#7347](https://github.com/plone/volto/issues/7347)
|
|
248
|
+
- Update folder content search input to announce result count for screen readers on search or input change. @Wagner3UB [#7364](https://github.com/plone/volto/issues/7364)
|
|
249
|
+
- Check if we are editing a content type before rendering the Content Type control panel form. @ericof [#7396](https://github.com/plone/volto/issues/7396)
|
|
250
|
+
- Added guard in API REDUX middleware. @sneridagh [#7412](https://github.com/plone/volto/issues/7412)
|
|
251
|
+
- Ensure the Refresh Content button correctly loads the preview image when using preview_image_link for Teaser block. @iFlameing
|
|
252
|
+
|
|
253
|
+
### Internal
|
|
254
|
+
|
|
255
|
+
- Update `immer` to 10.1.3. @wesleybl [#7359](https://github.com/plone/volto/issues/7359)
|
|
256
|
+
- Add `sphinx-reredirects` to docs `requirements-docs.txt` and to sync with `seven` to avoid missing requirement when building docs locally on both branches. @stevepiercy [#7376](https://github.com/plone/volto/issues/7376)
|
|
257
|
+
- Replace `README.md` link checker of `awesome_bot` with Lychee. @stevepiercy [#7378](https://github.com/plone/volto/issues/7378)
|
|
258
|
+
|
|
259
|
+
### Documentation
|
|
260
|
+
|
|
261
|
+
- Improved component shadowing documentation. @sneridagh [#7357](https://github.com/plone/volto/issues/7357)
|
|
262
|
+
- Enhance and complete the block style wrapper docs. @sneridagh [#7405](https://github.com/plone/volto/issues/7405)
|
|
263
|
+
- Enhance theming documentation. @sneridagh [#7406](https://github.com/plone/volto/issues/7406)
|
|
264
|
+
|
|
265
|
+
## 19.0.0-alpha.5 (2025-09-14)
|
|
266
|
+
|
|
267
|
+
### Feature
|
|
268
|
+
|
|
269
|
+
- Make Jest maxWorkers configurable via MAX_WORKERS env var. @wesleybl [#7251](https://github.com/plone/volto/issues/7251)
|
|
270
|
+
|
|
271
|
+
### Bugfix
|
|
272
|
+
|
|
273
|
+
- Fix ImageWidget to support DX fields and Relation Choice images (preview_image_link). @sneridagh [#7099](https://github.com/plone/volto/issues/7099)
|
|
274
|
+
- Fix `InlineForm` to always pass the error prop as an array, preventing prop type errors in widgets that use `InlineForm`. @alexandreIFB [#7267](https://github.com/plone/volto/issues/7267)
|
|
275
|
+
- Search block: fix 'Clear filters' overriding the base query. @mauritsvanrees [#7271](https://github.com/plone/volto/issues/7271)
|
|
276
|
+
- Teaser block: Clarify "Refresh source content" button by changing the default text to "Reset to target". @davisagli [#7329](https://github.com/plone/volto/issues/7329)
|
|
277
|
+
- Fix German translation of "Order" from "Reihung" to "Reihenfolge" @iRohitSingh [#7331](https://github.com/plone/volto/issues/7331)
|
|
278
|
+
|
|
279
|
+
### Internal
|
|
280
|
+
|
|
281
|
+
- Remove vitest dependencies from root to prevent confusion. @wesleybl [#7274](https://github.com/plone/volto/issues/7274)
|
|
282
|
+
- Remove MEDICE website entry from `Volto in production`. @wesleybl [#7283](https://github.com/plone/volto/issues/7283)
|
|
283
|
+
- Fix random error in Listing Block tests. @wesleybl [#7286](https://github.com/plone/volto/issues/7286)
|
|
284
|
+
- Fix test storeProtectLoadUtils.test.js > storeProtectLoadUtils > loadProtector store > pass when not counting. @wesleybl [#7287](https://github.com/plone/volto/issues/7287)
|
|
285
|
+
- Fixed a random failure in Cypress tests when using `getSlateEditorAndType` or `getSlateEditorSelectorAndType`. @wesleybl [#7290](https://github.com/plone/volto/issues/7290)
|
|
286
|
+
- Update package versions in pnpm-lock.yaml. @wesleybl [#7291](https://github.com/plone/volto/issues/7291)
|
|
287
|
+
- Fix random failure in 'renders a file widget component with value' test of RegistryImageWidget. @wesleybl [#7292](https://github.com/plone/volto/issues/7292)
|
|
288
|
+
- Fixes random error in Listing Block tests 2. @wesleybl [#7293](https://github.com/plone/volto/issues/7293)
|
|
289
|
+
- Fixed random failure in Cypress 'Index Text Block' test. @wesleybl [#7304](https://github.com/plone/volto/issues/7304)
|
|
290
|
+
- `2021.ploneconf.org` is no longer a Volto site, but just a redirect to YouTube. Also reverts #6627 and replaces code examples with `2022.ploneconf.org`. @stevepiercy [#7314](https://github.com/plone/volto/issues/7314)
|
|
291
|
+
|
|
292
|
+
## 19.0.0-alpha.4 (2025-08-25)
|
|
293
|
+
|
|
294
|
+
### Breaking
|
|
295
|
+
|
|
296
|
+
- Enable the `showRelatedItems` by default. @davisagli [#6549](https://github.com/plone/volto/issues/6549)
|
|
297
|
+
|
|
298
|
+
### Feature
|
|
299
|
+
|
|
300
|
+
- Add support for single selection in SelectAutoComplete widget. @iFlameing [#7270](https://github.com/plone/volto/issues/7270)
|
|
301
|
+
|
|
302
|
+
### Bugfix
|
|
303
|
+
|
|
304
|
+
- Contents view: Label 'None' for deselecting needs to be different from 'None' of a not available value in the table. @ksuess [#7233](https://github.com/plone/volto/issues/7233)
|
|
305
|
+
- Fixed corner case when coming from SSR in edit route, where the teasers where overwriten with bogus URLs after save if INTERNAL_API_PATH is set. @sneridagh [#7238](https://github.com/plone/volto/issues/7238)
|
|
306
|
+
- UniversalLink: regression, pass on onClick to Link component. @fredvd [#7240](https://github.com/plone/volto/issues/7240)
|
|
307
|
+
- Hide the `webstats_head_js` field in the site control panel form @erral [#7244](https://github.com/plone/volto/issues/7244)
|
|
308
|
+
- Fix corner case in devproxy when pathname is null. @sneridagh [#7276](https://github.com/plone/volto/issues/7276)
|
|
309
|
+
|
|
310
|
+
### Internal
|
|
311
|
+
|
|
312
|
+
- Update eslint-config-prettier past malware versions to "^9.1.2". @kittauri [#7254](https://github.com/plone/volto/issues/7254)
|
|
313
|
+
- Update @testing-library/react to 14.3.1. @wesleybl [#7260](https://github.com/plone/volto/issues/7260)
|
|
314
|
+
- Test with Plone 6.1.2. @davisagli
|
|
315
|
+
|
|
316
|
+
### Documentation
|
|
317
|
+
|
|
318
|
+
- Fix reference for the widget named `toggle_widget` for boolean fields in a schema. @ksuess [#7261](https://github.com/plone/volto/issues/7261)
|
|
319
|
+
|
|
320
|
+
## 19.0.0-alpha.3 (2025-06-25)
|
|
321
|
+
|
|
322
|
+
### Breaking
|
|
323
|
+
|
|
324
|
+
- The default language and list of available languages are now loaded from the backend API.
|
|
325
|
+
The default language can no longer be set using the `SITE_DEFAULT_LANGUAGE` environment variable.
|
|
326
|
+
The `supportedLanguages` setting remains but is only used to limit which locales are included in the build.
|
|
327
|
+
@davisagli [#7125](https://github.com/plone/volto/issues/7125)
|
|
328
|
+
- Renamed literal "Head title" to "Kicker" in Teaser block. @sneridagh [#7191](https://github.com/plone/volto/issues/7191)
|
|
329
|
+
|
|
330
|
+
### Feature
|
|
331
|
+
|
|
332
|
+
- Complete missing German translations. @ksuess [#6005](https://github.com/plone/volto/issues/6005)
|
|
333
|
+
- Use translated schema title in Helmet for `Add` component page. @alexandreIFB [#7048](https://github.com/plone/volto/issues/7048)
|
|
334
|
+
- Improved the component `ContentsDeleteModal` by displaying a detailed list of selected items with clickable links for better clarity and usability. @alexandreIFB [#7054](https://github.com/plone/volto/issues/7054)
|
|
335
|
+
- Show link integrity breaches in contents delete modal. @ksuess [#7100](https://github.com/plone/volto/issues/7100)
|
|
336
|
+
- Added the `.error` class to blocks with errors, highlighting them with a red border in edit mode. @alexandreIFB [#7138](https://github.com/plone/volto/issues/7138)
|
|
337
|
+
- Synchronizes versions of Volto dependencies with other packages in the monorepo. @wesleybl [#7184](https://github.com/plone/volto/issues/7184)
|
|
338
|
+
- In the contents view, add a pill to indicate working copies.
|
|
339
|
+
This only works with `plone.app.iterate` >= 6.2.0. @davisagli
|
|
340
|
+
|
|
341
|
+
### Bugfix
|
|
342
|
+
|
|
343
|
+
- fix(fetchContent): correctly handle undefined blocksType in async fetchContent @nileshgulia1 [#7096](https://github.com/plone/volto/issues/7096)
|
|
344
|
+
- Make sure the server-side rendered content is still shown if there is an error while hydrating a page that did not have a server-side error. @davisagli [#7132](https://github.com/plone/volto/issues/7132)
|
|
345
|
+
- Added missing languages in `packages/volto/src/helpers/LanguageMap/LanguageMap.js`. @JeffersonBledsoe [#7146](https://github.com/plone/volto/issues/7146)
|
|
346
|
+
- Add default if no filename is supplied in FileView @kittauri [#7174](https://github.com/plone/volto/issues/7174)
|
|
347
|
+
|
|
348
|
+
### Internal
|
|
349
|
+
|
|
350
|
+
- Remove trailing ` ` space character in a script in `package.json`. @silviubogan [#7166](https://github.com/plone/volto/issues/7166)
|
|
351
|
+
|
|
352
|
+
### Documentation
|
|
353
|
+
|
|
354
|
+
- Updated "Configuring a new block". @ksuess [#3272](https://github.com/plone/volto/issues/3272)
|
|
355
|
+
- Create a custom widget @ksuess, @silviubogan [#7075](https://github.com/plone/volto/issues/7075)
|
|
356
|
+
|
|
20
357
|
## 19.0.0-alpha.2 (2025-05-20)
|
|
21
358
|
|
|
22
359
|
### Feature
|
|
@@ -66,7 +403,7 @@ myst:
|
|
|
66
403
|
|
|
67
404
|
### Internal
|
|
68
405
|
|
|
69
|
-
- Fixed types of #6826 in build:types. @sneridagh
|
|
406
|
+
- Fixed types of #6826 in build:types. @sneridagh
|
|
70
407
|
|
|
71
408
|
### Documentation
|
|
72
409
|
|
package/README.md
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
# Volto - the default Plone 6 frontend
|
|
2
2
|
|
|
3
|
-
<img align="right" width="300" alt="Volto logo png" src="
|
|
4
|
-
<img align="right" width="300" alt="Volto logo png" src="
|
|
3
|
+
<img align="right" width="300" alt="Volto logo png" src="https://raw.githubusercontent.com/plone/volto/HEAD/logos/VoltoLogoEra2.png#gh-light-mode-only" />
|
|
4
|
+
<img align="right" width="300" alt="Volto logo png" src="https://raw.githubusercontent.com/plone/volto/HEAD/logos/VoltoLogoEra2-dark-mode.png#gh-dark-mode-only" />
|
|
5
5
|
|
|
6
6
|
[](https://www.npmjs.com/package/@plone/volto)
|
|
7
7
|
[](https://github.com/plone/volto/actions/workflows/unit.yml)
|
|
@@ -135,10 +135,11 @@ To ensure your website gets the greatest exposure, add it both to [Awesome Volto
|
|
|
135
135
|
- [Comune di San Possidonio](https://www.comune.sanpossidonio.mo.it/) (Website of the Municipality of San Possidonio. Developed by [RedTurtle](https://www.redturtle.it), 2021)
|
|
136
136
|
- [Comune di Vaiano](https://www.comune.vaiano.po.it/) (Website of the Municipality of Vaiano. Developed by [RedTurtle](https://www.redturtle.it), 2021)
|
|
137
137
|
- [Comune di Vernio](https://www.comune.vernio.po.it/) (Website of the Municipality of Vernio. Developed by [RedTurtle](https://www.redturtle.it), 2021)
|
|
138
|
+
- [Copernicus In-Situ](https://insitu.copernicus.eu) (Copernicus In-Situ compiles and provides high-quality ground, sea and airborne observation and geospatial reference data to support the Copernicus services. Developed by [Eau de web](https://eaudeweb.ro) for the European Environmental Agency, 2025)
|
|
139
|
+
- [Copernicus Land Monitoring Service](https://land.copernicus.eu/en) (The Copernicus Land Monitoring Service (CLMS) delivers high-quality geospatial information on land cover, land use changes, vegetation state, the water cycle and Earth's surface energy variables. Developed by [CodeSyntax](https://www.codesyntax.com/en) and [Eau de web](https://eaudeweb.ro) for the European Environmental Agency, 2023)
|
|
138
140
|
- [Debabarreneko mankomunitatea](https://debabarrena.eus/eu) (Website of the Commonwealth of Debabarrena, community of municipalities to centralize waste handling services, developed by [CodeSyntax](https://www.codesyntax.com/en), 2022)
|
|
139
141
|
- [Debako Udala / Ayuntamiento de Deba](https://www.deba.eus/eu) (Website of the municipality of Deba, developed by [CodeSyntax](https://www.codesyntax.com/en), 2022)
|
|
140
142
|
- [European Environment Agency](https://www.eea.europa.eu/en) (Website of the European Environment Agency. Developed by [Eau de Web](https://eaudeweb.ro), 2023)
|
|
141
|
-
- [Energy Climate Union portal for Europe](https://climate-energy.eea.europa.eu/) (Thematic website focusing on European strides towards mitigating climate change, developed by [Eau de Web](https://eaudeweb.ro/), 2020)
|
|
142
143
|
- Excellence at Humboldt-Universität zu Berlin (Website for the excellence initiative of the [Humboldt University Berlin](https://www.hu-berlin.de/de), developed by [kitconcept GmbH](https://kitconcept.com/en), 2019)
|
|
143
144
|
- [Film Basque Country](https://www.filmbasquecountry.eus/en) (Website to attract, guide, and support international productions, making it easier for them to film in the Basque Country, developed by [CodeSyntax](https://www.codesyntax.com/en), 2025)
|
|
144
145
|
- [Forest Information System for Europe](https://forest.eea.europa.eu) (Thematic website focusing on European forests, developed by [Eau de Web](https://eaudeweb.ro/), 2019)
|
|
@@ -149,22 +150,25 @@ To ensure your website gets the greatest exposure, add it both to [Awesome Volto
|
|
|
149
150
|
- [Humboldt Labor](https://www.humboldtforum.org/de/programm/dauerangebot/ausstellung/nach-der-natur-14144/) (The Humboldt Lab is a website where the Humboldt University Berlin presents its latest research projects and findings. Developed by [WLDX](https://wldx.de/) and [kitconcept GmbH](https://kitconcept.com/en), 2020)
|
|
150
151
|
- [ILPO](https://ilpo.jyu.fi/) (the registration portal of continuous learning at the University of Jyväskylä. Developed by University of Jyväskylä, 2022)
|
|
151
152
|
- [Industrial Emissions portal for Europe](https://industry.eea.europa.eu) (Thematic website focusing on European industrial emissions, developed by [Eau de Web](https://eaudeweb.ro/), 2020)
|
|
153
|
+
- [Interpretare.ro](https://www.interpretare.ro) (Romanian medical imaging interpretation service allowing patients to submit MRI, CT, and other diagnostic imaging for professional evaluation by medical specialists, 2022)
|
|
152
154
|
- [iTlent - Basque Institute of Talent in VET](https://www.itlent.eus/en) (developed by [CodeSyntax](https://www.codesyntax.com/en), 2024)
|
|
153
155
|
- [Jobfamilie MEDICE](https://jobfamilie.medice.de/de) (Carrer website for MEDICE Arzneimittel Pütter GmbH & Co. KG), developed by [Werkbank GmbH](https://werkbank.de/), 2020)
|
|
154
156
|
- [Lanku](https://www.lanku.eus) (Website for Lanku Kultur Zerbitzuak, a company offering cultural services and improvised Basque verse singing sessions across the Basque Country, developed by [CodeSyntax](https://www.codesyntax.com/en), 2023)
|
|
155
157
|
- [Leibniz Institute for Science and Mathematics Education (IPN)](https://www.leibniz-ipn.de/de) (Website of the IPN, a research institute dedicated to issues related to learning and teaching of science, mathematics and computer science in and outside of schools, developed by [Starzel](https://www.starzel.de), 2023)
|
|
156
|
-
- [MEDICE Webseite](https://medice.com/de-de) (Website for MEDICE Arzneimittel Pütter GmbH & Co. KG), developed by [Werkbank GmbH](https://werkbank.de/), 2020)
|
|
157
158
|
- [Nuova Voce Ecologista](https://nuovavoceecologista.it) (Website of Nuova Voce Ecologista, an Italian green Party, 2020)
|
|
158
|
-
- [Osaka University](https://www.osaka-u.ac.jp/en) (Osaka University is considered one of the most prestigious universities in Japan. Developed by
|
|
159
|
-
- [
|
|
159
|
+
- [Osaka University](https://www.osaka-u.ac.jp/en) (Osaka University is considered one of the most prestigious universities in Japan. Developed by CMScom, 2021)
|
|
160
|
+
- [Portknox.net](https://portknox.net/de) (Portknox.net is a specialized Nextcloud hosting provider from Germany, developed by [Starzel](https://www.starzel.de/), 2025)
|
|
161
|
+
- [ResOU](https://resou.osaka-u.ac.jp/ja) (ResOU is introducing official researched releases by the University of Osaka, Japan. Developed by CMScom, 2020)
|
|
160
162
|
- [Stradanove](https://www.stradanove.it/) (Website of the Department of Youth Policies of the Municipality of Modena, developed by [RedTurtle](https://www.redturtle.it), 2020)
|
|
161
163
|
- [Study guide at University of Jyväskylä](https://studyguide.jyu.fi/2020/en/) (Static website where [Volto is used as a headless CMS for authoring additional content](https://tech.blog.jyu.fi/2020/06/plone-volto-hasura-gatsbyjs-mashup/), 2020)
|
|
164
|
+
- [Study in Denmark](https://studyindenmark.dk) (Study in Denmark is a Plone 6 website promoting higher education opportunities in Denmark. Developed by [Eau de web](https://eaudeweb.ro) for the Danish Ministry of Higher Education and Science, 2025)
|
|
162
165
|
- [Talke Carrer Website](https://karriere.talke.com/) (Carrer website for [Talke](https://www.talke.com), one of the leading a chemical and petrochemical logistics companies in Germany, developed by [kitconcept GmbH](https://kitconcept.com/en), 2020)
|
|
163
166
|
- [UEU](https://www.ueu.eus) (Website for Udako Euskal Unibertsitatea, a non-profit University offering all its service only in Basque: courses, publications, ... developed by [CodeSyntax](https://www.codesyntax.com/en), 2023)
|
|
164
167
|
- [Unione dei Comuni della Val Bisenzio](https://www.bisenzio.it/) (Website of the Municipality union of Val Bisenzio. Developed by [RedTurtle](https://www.redturtle.it), 2021)
|
|
165
168
|
- [VHS Ehrenamtsportal](https://vhs-ehrenamtsportal.de) (Website to help volunteers that help refugees for the [German Adult Education Association](https://www.volkshochschule.de/), developed by [kitconcept GmbH](https://kitconcept.com/en), 2018)
|
|
166
169
|
- [VisitModena](https://www.visitmodena.it/it) (Tourist website of the Municipality of Modena, developed by [RedTurtle](https://www.redturtle.it), 2020)
|
|
167
170
|
- [WISE-Freshwater](https://water.europa.eu/freshwater) (WISE-Freshwater, the Freshwater Information System for Europe. Developed by [Eau de web](https://eaudeweb.ro) for the European Environmental Agency, 2021)
|
|
171
|
+
- [WISE-Marine](https://water.europa.eu/marine) (WISE-Marine, the Marine Information System for Europe. Developed by [Eau de web](https://eaudeweb.ro) for the European Environmental Agency, 2023)
|
|
168
172
|
- [Zeelandia](https://www.zeelandia.de/) (Corporate website for one of the leading bakery ingredients manufacturers in Germany, developed by [kitconcept GmbH](https://kitconcept.com/en), 2019)
|
|
169
173
|
|
|
170
174
|
|
|
@@ -175,19 +179,19 @@ You can find their complete source code by following their links.
|
|
|
175
179
|
Please note that complex websites are built on top of Volto add-ons, and most of the time they're just an empty shell for the add-ons.
|
|
176
180
|
You should check the dependencies in their `package.json` for more details.
|
|
177
181
|
|
|
178
|
-
- [Forest Information System for Europe](https://github.com/eea/fise-frontend) - Volto project for [Forest Information System for Europe website](https://forest.eea.europa.eu)
|
|
179
|
-
- [Freshwater Information System for Europe](https://github.com/eea/freshwater-frontend) - Volto project for [Freshwater Information System for Europe website](https://water.europa.eu/freshwater)
|
|
180
|
-
- [European Industrial Emissions Portal](https://github.com/eea/industry-frontend ) - Volto project for [European Industrial Emissions Portal website](https://industry.eea.europa.eu)
|
|
181
|
-
- [Biodiversity Information System for Europe](https://github.com/eea/bise-frontend) - Volto project for [Biodiversity Information System for Europe website](https://biodiversity.europa.eu)
|
|
182
|
-
- [EEA Main Website frontend](https://github.com/eea/eea-website-frontend) - Plone 6 Volto frontend for [European Environment Agency](https://www.eea.europa.eu/en)
|
|
183
|
-
- [Climate and energy in the EU](https://github.com/eea/climate-energy-frontend) - Volto project for [Climate and energy in the EU website](https://climate-energy.eea.europa.eu)
|
|
184
|
-
- [volto-bise](https://github.com/eea/volto-bise) - A Volto project packaged as an addon. It provides Theming using a razzle.extend.js provided alias.
|
|
185
|
-
- [design-volto-theme](https://github.com/RedTurtle/design-volto-theme) Volto theme for Italian Public Administration
|
|
186
|
-
- [2021.ploneconf.org](https://github.com/plone/ploneconf.org/tree/2021) - Volto project for [Plone Conference 2021 site](https://2021.ploneconf.org)
|
|
187
182
|
- [2022.ploneconf.org](https://github.com/plone/ploneconf.org/tree/2022) - Volto project for [Plone Conference 2022 site](https://2022.ploneconf.org)
|
|
188
183
|
- [2023.ploneconf.org](https://github.com/plone/ploneconf.org/tree/2023) - Volto project for [Plone Conference 2023 site](https://2023.ploneconf.org)
|
|
189
|
-
- [
|
|
184
|
+
- [2024.ploneconf.org](https://github.com/plone/2024.ploneconf.org) - Volto project for [Plone Conference 2024 site](https://2024.ploneconf.org/en)
|
|
185
|
+
- [2025.ploneconf.org](https://github.com/plone/2025.ploneconf.org) - Volto project for [Plone Conference 2025 site](https://2025.ploneconf.org)
|
|
186
|
+
- [Biodiversity Information System for Europe](https://github.com/eea/bise-frontend) - Volto project for [Biodiversity Information System for Europe website](https://biodiversity.europa.eu)
|
|
187
|
+
- [design-volto-theme](https://github.com/RedTurtle/design-volto-theme) Volto theme for Italian Public Administration
|
|
188
|
+
- [EEA Main Website frontend](https://github.com/eea/eea-website-frontend) - Plone 6 Volto frontend for [European Environment Agency](https://www.eea.europa.eu/en)
|
|
189
|
+
- [European Industrial Emissions Portal](https://github.com/eea/industry-frontend ) - Volto project for [European Industrial Emissions Portal website](https://industry.eea.europa.eu)
|
|
190
|
+
- [Forest Information System for Europe](https://github.com/eea/fise-frontend) - Volto project for [Forest Information System for Europe website](https://forest.eea.europa.eu)
|
|
191
|
+
- [Freshwater Information System for Europe](https://github.com/eea/freshwater-frontend) - Volto project for [Freshwater Information System for Europe website](https://water.europa.eu/freshwater)
|
|
190
192
|
- [nsw-design-system-plone6-kit](https://github.com/pretagov/nsw-design-system-plone6-kit) - NSW Design System Plone 6 Kit Volto project for [NSW.gov.au sites](https://digitalnsw.pretagov.com.au/)
|
|
193
|
+
- [plone.org.br](https://github.com/plonegovbr/plone.org.br) - Volto project for the [Brazilian Plone Community](https://plone.org.br)
|
|
194
|
+
- [volto-bise](https://github.com/eea/volto-bise) - A Volto project packaged as an add-on. It provides Theming using a razzle.extend.js provided alias.
|
|
191
195
|
- [volto-eea-design-system](https://github.com/eea/volto-eea-design-system) - EEA Design System Plone 6 Kit Volto project for [European Environment Agency web sites](https://eea.github.io/volto-eea-design-system/)
|
|
192
196
|
- [volto-eea-kitkat](https://github.com/eea/volto-eea-kitkat) - A known good set of Volto add-ons to be used within all EEA projects and beyond, made for [European Environment Agency](https://www.eea.europa.eu/en)
|
|
193
197
|
- [volto-zeeuwsmuseum-theme](https://github.com/intk/volto-zeeuwsmuseum-theme) - Volto project for the [Zeeuws Museum](https://www.zeeuwsmuseum.nl/en) made for [INTK](https://www.intk.com/en).
|
package/babel.js
CHANGED
|
@@ -2,7 +2,7 @@ module.exports = function (api) {
|
|
|
2
2
|
api.cache(true);
|
|
3
3
|
const presets = [
|
|
4
4
|
[
|
|
5
|
-
'razzle/babel',
|
|
5
|
+
'@plone/razzle/babel',
|
|
6
6
|
{
|
|
7
7
|
'@babel/preset-react': { runtime: 'automatic' },
|
|
8
8
|
},
|
|
@@ -11,9 +11,7 @@ module.exports = function (api) {
|
|
|
11
11
|
const plugins = [
|
|
12
12
|
'lodash',
|
|
13
13
|
'@babel/plugin-proposal-export-default-from', // Stage 1
|
|
14
|
-
'@babel/plugin-syntax-export-namespace-from', // Stage 4
|
|
15
14
|
'@babel/plugin-proposal-throw-expressions', // Stage 2
|
|
16
|
-
'@babel/plugin-proposal-nullish-coalescing-operator', // Stage 4
|
|
17
15
|
[
|
|
18
16
|
'babel-plugin-root-import', // Required for the ~ imports to work
|
|
19
17
|
{
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
http:
|
|
2
|
+
routers:
|
|
3
|
+
frontend:
|
|
4
|
+
rule: "Host(`localhost`) && PathPrefix(`/foo`)"
|
|
5
|
+
service: frontend
|
|
6
|
+
backend:
|
|
7
|
+
rule: "Host(`localhost`) && PathPrefix(`/foo/++api++`)"
|
|
8
|
+
service: backend
|
|
9
|
+
middlewares:
|
|
10
|
+
- backend
|
|
11
|
+
|
|
12
|
+
middlewares:
|
|
13
|
+
backend:
|
|
14
|
+
replacePathRegex:
|
|
15
|
+
regex: "^/foo/\\+\\+api\\+\\+($|/.*)"
|
|
16
|
+
replacement: "/VirtualHostBase/http/localhost/plone/++api++/VirtualHostRoot/_vh_foo$1"
|
|
17
|
+
|
|
18
|
+
services:
|
|
19
|
+
frontend:
|
|
20
|
+
loadBalancer:
|
|
21
|
+
servers:
|
|
22
|
+
- url: "http://host.docker.internal:3000"
|
|
23
|
+
backend:
|
|
24
|
+
loadBalancer:
|
|
25
|
+
servers:
|
|
26
|
+
- url: "http://host.docker.internal:55001"
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
version: "3.7"
|
|
2
|
+
|
|
3
|
+
services:
|
|
4
|
+
|
|
5
|
+
proxy:
|
|
6
|
+
image: traefik:v2.8
|
|
7
|
+
command:
|
|
8
|
+
- "--api.insecure=true"
|
|
9
|
+
- "--providers.docker=true"
|
|
10
|
+
# - "--providers.docker.exposedbydefault=false"
|
|
11
|
+
- "--providers.file=true"
|
|
12
|
+
- "--providers.file.filename=/etc/traefik/rules.yml"
|
|
13
|
+
- "--entrypoints.web.address=:80"
|
|
14
|
+
- "--api.insecure=true"
|
|
15
|
+
# - "--accesslog=true"
|
|
16
|
+
# - "--log.level=DEBUG"
|
|
17
|
+
ports:
|
|
18
|
+
- 80:80
|
|
19
|
+
- "8888:8080"
|
|
20
|
+
volumes:
|
|
21
|
+
- /var/run/docker.sock:/var/run/docker.sock
|
|
22
|
+
- ./prefixed-rules.yml:/etc/traefik/rules.yml
|
|
23
|
+
extra_hosts:
|
|
24
|
+
- host.docker.internal:host-gateway
|