diff --git a/services/drupal/composer.json b/services/drupal/composer.json index 9bdc97be7e..e0fc8e6aab 100644 --- a/services/drupal/composer.json +++ b/services/drupal/composer.json @@ -168,7 +168,7 @@ "drupal/admin_toolbar": "^3.3", "drupal/allowed_formats": "^2.0", "drupal/anchor": "^1.0", - "drupal/anchor_link": "3.0.x-dev", + "drupal/anchor_link": "~3.0", "drupal/auto_entitylabel": "^3.0", "drupal/autologout": "^2.0", "drupal/autosave_form": "^1.3", @@ -180,7 +180,7 @@ "drupal/ckeditor5_dev": "^1.0", "drupal/ckeditor5_fullscreen": "^1.0@beta", "drupal/ckeditor_abbreviation": "^4.0@alpha", - "drupal/ckeditor_iframe": "^2.", + "drupal/ckeditor_iframe": "^3.0@beta", "drupal/ckeditor_resize": "^1.3", "drupal/ckeditor_specialchars": "^1.2", "drupal/cloudfront_cache_path_invalidate": "^3.0", @@ -214,6 +214,7 @@ "drupal/environment_indicator": "4.0.10", "drupal/facets": "^2.0", "drupal/facets_pretty_paths": "^1.4", + "drupal/fakeobjects": "^1.2", "drupal/fast_404": "^3.2", "drupal/field_group": "^3.0", "drupal/filter_html_plus": "^2.0", @@ -257,7 +258,7 @@ "drupal/native_lazy_loading": "^1.1@RC", "drupal/page_manager": "^4.0@RC", "drupal/paragraphs": "^1.9", - "drupal/paragraphs_entity_embed": "2.x-dev", + "drupal/paragraphs_entity_embed": "^3.0.1", "drupal/pathauto": "^1.4", "drupal/pathologic": "^2.0@alpha", "drupal/queue_ui": "^3.1", @@ -313,6 +314,7 @@ "liuggio/statsd-php-client": "^1.0", "mglaman/composer-drupal-lenient": "^1.0", "nodespark/des-connector": "dev-php-update#d699e59 as 7.x-dev", + "oomphinc/composer-installers-extender": "^2.0", "popperjs/popperjs": "^2.11", "ruflin/elastica": "7.x-dev#72a4598544e3f99b5dd8cacb05d009ee75c2a701 as dev-master", "sabre/vobject": "^4.0", @@ -357,14 +359,17 @@ "drupal/core-project-message": true, "mglaman/composer-drupal-lenient": true, "drupal/core-vendor-hardening": true, - "php-http/discovery": true + "php-http/discovery": true, + "oomphinc/composer-installers-extender": true } }, "autoload": { "classmap": [ "scripts/composer/ScriptHandler.php" ], - "files": ["load.environment.php"] + "files": [ + "load.environment.php" + ] }, "scripts": { "install-codestandards": [ @@ -395,30 +400,14 @@ }, "patches-file": "composer.patches.json", "installer-paths": { - "web/core": [ - "type:drupal-core" - ], - "web/libraries/{$name}": [ - "type:drupal-library" - ], - "web/modules/contrib/{$name}": [ - "type:drupal-module" - ], - "web/profiles/contrib/{$name}": [ - "type:drupal-profile" - ], - "web/themes/contrib/{$name}": [ - "type:drupal-theme" - ], - "drush/Commands/contrib/{$name}": [ - "type:drupal-drush" - ], - "web/modules/custom/{$name}": [ - "type:drupal-custom-module" - ], - "web/themes/custom/{$name}": [ - "type:drupal-custom-theme" - ] + "web/core": ["type:drupal-core"], + "web/modules/contrib/{$name}": ["type:drupal-module"], + "web/profiles/contrib/{$name}": ["type:drupal-profile"], + "web/themes/contrib/{$name}": ["type:drupal-theme"], + "drush/Commands/contrib/{$name}": ["type:drupal-drush"], + "web/modules/custom/{$name}": ["type:drupal-custom-module"], + "web/themes/custom/{$name}": ["type:drupal-custom-theme"], + "web/libraries/{$name}": ["type:drupal-library"] }, "drupal-scaffold": { "locations": { @@ -429,10 +418,7 @@ } }, "merge-plugin": { - "include": [ - "web/modules/contrib/webform/composer.libraries.json", - "web/modules/contrib/anchor_link/composer.libraries.json" - ] + "include": ["web/modules/contrib/webform/composer.libraries.json", "web/modules/contrib/anchor_link/composer.libraries.json"] }, "drupal-lenient": { "allowed-list": ["drupal/address_formatter", "drupal/ckeditor_specialchars", "drupal/entitygroupfield", "drupal/group_outsider_in", "drupal/hierarchical_term_formatter", "drupal/redirect_metrics", "drupal/role_expose", "drupal/show_email", "drupal/address_formatter"] diff --git a/services/drupal/composer.lock b/services/drupal/composer.lock index aed64434b6..92bb8bc68c 100644 --- a/services/drupal/composer.lock +++ b/services/drupal/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "dea3d9747292da3e2763c2ac14570a1d", + "content-hash": "327f9580649920ca2253ba6ea27b628c", "packages": [ { "name": "algolia/places", @@ -2350,27 +2350,33 @@ }, { "name": "drupal/anchor_link", - "version": "dev-3.0.x", + "version": "3.0.0-beta1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/anchor_link.git", - "reference": "6938068c6bcca27746ddada86f682af744d1d132" + "reference": "3.0.0-beta1" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/anchor_link-3.0.0-beta1.zip", + "reference": "3.0.0-beta1", + "shasum": "a05fafd3b9f2e808b67d07f396ba80d30f748afc" }, "require": { - "drupal/core": "^9 || ^10" + "drupal/core": "^9 || ^10 || ^11" }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-3.0.x": "3.0.x-dev" - }, "drupal": { - "version": "3.0.0-alpha1+3-dev", - "datestamp": "1703093102", + "version": "3.0.0-beta1", + "datestamp": "1718879208", "security-coverage": { "status": "not-covered", - "message": "Dev releases are not covered by Drupal security advisories." + "message": "Beta releases are not covered by Drupal security advisories." } + }, + "branch-alias": { + "dev-3.0.x": "3.0.x-dev" } }, "notification-url": "https://packages.drupal.org/8/downloads", @@ -2384,15 +2390,16 @@ "role": "Maintainer" }, { - "name": "Mohammed J. Razem", - "homepage": "https://www.drupal.org/user/255384" + "name": "Northern Commerce", + "homepage": "https://www.drupal.org/northern-commerce", + "role": "Maintainer" }, { "name": "Rajab Natshah", "homepage": "https://www.drupal.org/user/1414312" } ], - "description": "This plugin module adds the better link dialog and anchor related features to CKEditor in Drupal 9.", + "description": "This plugin module adds the better link dialog and anchor related features to CKEditor in Drupal.", "homepage": "https://www.drupal.org/project/anchor_link", "support": { "source": "http://cgit.drupalcode.org/anchor_link", @@ -3040,26 +3047,29 @@ }, { "name": "drupal/ckeditor_abbreviation", - "version": "4.0.0-alpha2", + "version": "4.0.0-alpha4", "source": { "type": "git", "url": "https://git.drupalcode.org/project/ckeditor_abbreviation.git", - "reference": "4.0.0-alpha2" + "reference": "4.0.0-alpha4" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/ckeditor_abbreviation-4.0.0-alpha2.zip", - "reference": "4.0.0-alpha2", - "shasum": "ee6f19bf7356f65ba7743b2cb74677e7014d391d" + "url": "https://ftp.drupal.org/files/projects/ckeditor_abbreviation-4.0.0-alpha4.zip", + "reference": "4.0.0-alpha4", + "shasum": "b5f8ca1bcc6626193e3e49e4688172a0e54cf20c" }, "require": { "drupal/core": "^9.5 || ^10" }, + "require-dev": { + "drupal/ckeditor": "^1.0" + }, "type": "drupal-module", "extra": { "drupal": { - "version": "4.0.0-alpha2", - "datestamp": "1706449566", + "version": "4.0.0-alpha4", + "datestamp": "1715412849", "security-coverage": { "status": "not-covered", "message": "Alpha releases are not covered by Drupal security advisories." @@ -3068,7 +3078,7 @@ }, "notification-url": "https://packages.drupal.org/8/downloads", "license": [ - "GPL-2.0+" + "GPL-2.0-or-later" ], "authors": [ { @@ -3092,31 +3102,29 @@ }, { "name": "drupal/ckeditor_iframe", - "version": "2.2.0", + "version": "3.0.0-beta1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/ckeditor_iframe.git", - "reference": "8.x-2.2" + "reference": "3.0.0-beta1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/ckeditor_iframe-8.x-2.2.zip", - "reference": "8.x-2.2", - "shasum": "7b97014233b3a2e59480acf997ccf7087cd55c77" + "url": "https://ftp.drupal.org/files/projects/ckeditor_iframe-3.0.0-beta1.zip", + "reference": "3.0.0-beta1", + "shasum": "f0b66aa76f604a62d783364d3d4dad04ba05b514" }, "require": { - "drupal/ckeditor": "*", - "drupal/core": "^8 || ^9 || ^10", - "drupal/fakeobjects": "^1.0" + "drupal/core": "^9 || ^10" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.2", - "datestamp": "1693917802", + "version": "3.0.0-beta1", + "datestamp": "1719258314", "security-coverage": { - "status": "covered", - "message": "Covered by Drupal's security advisory policy" + "status": "not-covered", + "message": "Beta releases are not covered by Drupal security advisories." } } }, @@ -5830,6 +5838,10 @@ { "name": "kevinquillen", "homepage": "https://www.drupal.org/user/317279" + }, + { + "name": "xmacinfo", + "homepage": "https://www.drupal.org/user/12131" } ], "description": "Adds the FakeObjects plugin to CKEditor. This plugin is a utility plugin that is required by certain user-facing CKEditor plugins.", @@ -8788,11 +8800,17 @@ }, { "name": "drupal/paragraphs_entity_embed", - "version": "dev-2.x", + "version": "3.0.1", "source": { "type": "git", "url": "https://git.drupalcode.org/project/paragraphs_entity_embed.git", - "reference": "d45fa450839b93a1d08887e1ed3c5ae9d7ab2228" + "reference": "3.0.1" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/paragraphs_entity_embed-3.0.1.zip", + "reference": "3.0.1", + "shasum": "613cb47ef7c9821fd71d27d84c5946cc0ab8f815" }, "require": { "drupal/core": "^9.3 || ^10", @@ -8808,15 +8826,12 @@ }, "type": "drupal-module", "extra": { - "branch-alias": { - "dev-2.x": "2.x-dev" - }, "drupal": { - "version": "8.x-2.0-alpha2+10-dev", - "datestamp": "1673628618", + "version": "3.0.1", + "datestamp": "1701799567", "security-coverage": { - "status": "not-covered", - "message": "Dev releases are not covered by Drupal security advisories." + "status": "covered", + "message": "Covered by Drupal's security advisory policy" } } }, @@ -14338,10 +14353,10 @@ }, { "name": "northernco/ckeditor5-anchor-drupal", - "version": "0.2.0", + "version": "0.5.0", "dist": { "type": "tar", - "url": "https://registry.npmjs.org/@northernco/ckeditor5-anchor-drupal/-/ckeditor5-anchor-drupal-0.2.0.tgz" + "url": "https://registry.npmjs.org/@northernco/ckeditor5-anchor-drupal/-/ckeditor5-anchor-drupal-0.5.0.tgz" }, "type": "drupal-library" }, @@ -14462,6 +14477,63 @@ }, "time": "2022-07-15T20:44:36+00:00" }, + { + "name": "oomphinc/composer-installers-extender", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/oomphinc/composer-installers-extender.git", + "reference": "cbf4b6f9a24153b785d09eee755b995ba87bd5f9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/oomphinc/composer-installers-extender/zipball/cbf4b6f9a24153b785d09eee755b995ba87bd5f9", + "reference": "cbf4b6f9a24153b785d09eee755b995ba87bd5f9", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.1 || ^2.0", + "composer/installers": "^1.0 || ^2.0", + "php": ">=7.1" + }, + "require-dev": { + "composer/composer": "^2.0", + "phpunit/phpunit": "^7.2", + "squizlabs/php_codesniffer": "^3.3" + }, + "type": "composer-plugin", + "extra": { + "class": "OomphInc\\ComposerInstallersExtender\\Plugin" + }, + "autoload": { + "psr-4": { + "OomphInc\\ComposerInstallersExtender\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Stephen Beemsterboer", + "email": "stephen@oomphinc.com", + "homepage": "https://github.com/balbuf" + }, + { + "name": "Nathan Dentzau", + "email": "nate@oomphinc.com", + "homepage": "http://oomph.is/ndentzau" + } + ], + "description": "Extend the composer/installers plugin to accept any arbitrary package type.", + "homepage": "http://www.oomphinc.com/", + "support": { + "issues": "https://github.com/oomphinc/composer-installers-extender/issues", + "source": "https://github.com/oomphinc/composer-installers-extender/tree/2.0.1" + }, + "time": "2021-12-15T12:32:42+00:00" + }, { "name": "pear/archive_tar", "version": "1.4.14", @@ -24329,9 +24401,9 @@ "stability-flags": { "drupal/address_formatter": 15, "drupal/addtocal": 10, - "drupal/anchor_link": 20, "drupal/ckeditor5_fullscreen": 10, "drupal/ckeditor_abbreviation": 15, + "drupal/ckeditor_iframe": 10, "drupal/components": 10, "drupal/content_moderation_revert": 20, "drupal/custom_add_another": 10, @@ -24355,7 +24427,6 @@ "drupal/media_inline_embed": 20, "drupal/native_lazy_loading": 5, "drupal/page_manager": 5, - "drupal/paragraphs_entity_embed": 20, "drupal/pathologic": 15, "drupal/role_expose": 20, "drupal/shs": 5, diff --git a/services/drupal/composer.patches.json b/services/drupal/composer.patches.json index 4ab31d6f27..d60c46a142 100644 --- a/services/drupal/composer.patches.json +++ b/services/drupal/composer.patches.json @@ -37,6 +37,7 @@ "Responsive image width/height values are not used from fallback image style": "https://www.drupal.org/files/issues/2023-08-04/3377420-responsive-image-dimension-fallback-style-9.patch", "CKEditor 5 toolbar items of multi-value field (typically Paragraphs) overflowing on narrow viewports and overlapping with node form's sidebar on wide viewports": "https://www.drupal.org/files/issues/2024-04-09/3332416-79.patch", "Error: Call to a member function label() on null in Drupal\\menu_link_content\\Form\\MenuLinkContentForm->form() (line 99 of /var/www/html/docroot/core/modules/menu_link_content/src/Form/MenuLinkContentForm.php).": "patches/7228.patch", + "Error: Call to a member function uuid() on null in Drupal\\media_library\\MediaLibraryEditorOpener->getSelectionResponse() (line 72 of /app/docroot/core/modules/media_library/src/MediaLibraryEditorOpener.php)" : "https://www.drupal.org/files/issues/2023-12-07/core-3303889-media-library-widget-error-on-no-selection-34.patch", "Media Type links in Media Library modal missing vertical tabs styling in Claro": "https://www.drupal.org/files/issues/2024-01-04/missing_variables_in_claro-3404866-41.patch", "Background colour of UI widgets get overridden on Ajax load.": "https://www.drupal.org/files/issues/2023-08-29/3383631-7_0.patch" }, @@ -169,7 +170,8 @@ "Add media_wysiwyg_filter just once": "https://www.drupal.org/files/issues/2020-11-07/media_migration-add_media_wysiwyg_filter_once-3181180-2.patch" }, "drupal/editor_advanced_link": { - "Hide empty attributes after applying patches to provide default link text": "https://www.drupal.org/files/issues/2021-06-16/editor_advanced_link-hide_attributes-3219141-6.patch" + "Hide empty attributes after applying patches to provide default link text": "https://www.drupal.org/files/issues/2021-06-16/editor_advanced_link-hide_attributes-3219141-6.patch", + "Exceptions thrown when toggling Advanced section of linking form": "https://git.drupalcode.org/project/editor_advanced_link/-/merge_requests/17.diff" }, "drupal/shs": { "Fix label accessibility when new select elements created": "patches/shs-select-label-accessibility-d10.patch" @@ -179,10 +181,8 @@ "Allow scrolling autocomplete results": "https://www.drupal.org/files/issues/2021-11-02/linkit-missing_scroll_bar-3067904-3.patch" }, "drupal/paragraphs_entity_embed": { - "Migrate to CKEditor 5 for Drupal 9.4+ / Drupal 10": "patches/paragraphs_entity_embed-3322523-ckeditor5-fixes.patch", "Prevent the reuse of embedded paragraphs": "https://www.drupal.org/files/issues/2020-04-30/paragraphs_entity_embed-single_use-3132549-2.patch", - "Add openerParameters": "patches/paragraphs_entity_embed-add-opener-parameters-with-3322523-ckeditor5-and-3132549-2-single-use.patch", - "Fix paragraphs embed modal styles": "patches/adjusted-css-for-modal.patch" + "add openerParameters to ensure media added within embedded paragraphs is associated with the group": "patches/add-opener-parameters-ck5.patch" }, "drupal/linked_field": { "Generate relative links rather than absolute": "https://www.drupal.org/files/issues/2020-05-22/linked_field-relative-destination-url-3139179-1-D8.patch", @@ -232,9 +232,6 @@ "drupal/filter_html_plus": { "CKEditor5 readiness": "https://git.drupalcode.org/project/filter_html_plus/-/merge_requests/1.diff" }, - "drupal/anchor_link": { - "Start a 3.0.x branch for CKEditor Anchor Link for semantic versioning and better integration with Drupal 10, CKEditor 5, and LinkIt" : "https://www.drupal.org/files/issues/2023-08-22/anchor_link-ckeditor5-compatibility-3206676-98.patch" - }, "drupal/hierarchical_term_formatter": { "Automated Drupal 10 compatibility fixes": "https://git.drupalcode.org/project/hierarchical_term_formatter/-/merge_requests/5.diff" }, diff --git a/services/drupal/config/sync/core.extension.yml b/services/drupal/config/sync/core.extension.yml index 4064595237..e0857c2801 100644 --- a/services/drupal/config/sync/core.extension.yml +++ b/services/drupal/config/sync/core.extension.yml @@ -27,6 +27,7 @@ module: breakpoint: 0 ckeditor: 0 ckeditor5: 0 + ckeditor5_embedded_content: 0 ckeditor5_fullscreen: 0 ckeditor_abbreviation: 0 ckeditor_iframe: 0 @@ -89,7 +90,6 @@ module: facets: 0 facets_pretty_paths: 0 facets_summary: 0 - fakeobjects: 0 fast404: 0 field: 0 field_group: 0 diff --git a/services/drupal/config/sync/editor.editor.filtered_html.yml b/services/drupal/config/sync/editor.editor.filtered_html.yml index 8ddb7c2152..354977d03b 100644 --- a/services/drupal/config/sync/editor.editor.filtered_html.yml +++ b/services/drupal/config/sync/editor.editor.filtered_html.yml @@ -1,76 +1,209 @@ -uuid: e9cbe7ce-8f71-4ade-bd6a-3ed216890035 +uuid: ed97b294-4430-4663-8f40-dd6ffa3d6a67 langcode: en status: true dependencies: config: - filter.format.filtered_html module: - - ckeditor + - ckeditor5 format: filtered_html -editor: ckeditor +editor: ckeditor5 settings: toolbar: - rows: - - + items: + - heading + - '|' + - style + - '|' + - bold + - italic + - bulletedList + - numberedList + - indent + - outdent + - superscript + - subscript + - blockQuote + - horizontalLine + - '-' + - insertTable + - abbreviation + - '|' + - link + - anchor + - drupalInlineMedia + - '|' + - drupalMedia + - paragraphs + - epaNew + - epaAddDefinition + - iframeEmbed + - '|' + - undo + - redo + - removeFormat + - specialCharacters + - Fullscreen + - sourceEditing + plugins: + ckeditor5_heading: + enabled_headings: + - heading2 + - heading3 + - heading4 + - heading5 + - heading6 + ckeditor5_list: + properties: + reversed: true + startIndex: true + multiBlock: true + ckeditor5_sourceEditing: + allowed_tags: + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '
' + - '' + - '' + - '' + - '
' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '' + - '