diff --git a/.docksal/commands/phpunit b/.docksal/commands/phpunit index a2e2e90f..2513a903 100644 --- a/.docksal/commands/phpunit +++ b/.docksal/commands/phpunit @@ -11,7 +11,6 @@ # $DOCROOT - name of the docroot folder # $DOCKER_RUNNING - (string) "true" or "false" -args="$@" path="/var/www" phpunit_xml_path="$PROJECT_ROOT/phpunit.xml" @@ -27,4 +26,21 @@ if [[ ! -f "$phpunit_path" ]]; then exit 1 fi -fin exec "php $path/${phpunit_path} -c $path ${args} $path/$DOCROOT/modules/custom" \ No newline at end of file + +COVERAGE=false +args="" +while [ "$1" != "" ]; do + case $1 in + --open-coverage ) COVERAGE=true + ;; + *) args="$args $1" + ;; + esac + shift +done + +fin exec "XDEBUG_MODE=coverage $path/${phpunit_path} -c $path ${args} $path/$DOCROOT/modules/custom --coverage-html $path/$DOCROOT/sites/simpletest/test-coverage" + +if $COVERAGE; then + fin utils/open-link "http://ghi-site.docksal.site/sites/simpletest/test-coverage/dashboard.html" +fi \ No newline at end of file diff --git a/.docksal/commands/post-deploy b/.docksal/commands/post-deploy index d7e0de7e..cbcb433f 100644 --- a/.docksal/commands/post-deploy +++ b/.docksal/commands/post-deploy @@ -65,6 +65,9 @@ if $IMPORT_BACKUP; then fi fi +# Make sure that the code base is up to date. +composer install + echo "Set maintenance mode to on" drush sset system.maintenance_mode 1 -y diff --git a/.docksal/docksal.yml b/.docksal/docksal.yml index 328ab3f1..dc94ed86 100644 --- a/.docksal/docksal.yml +++ b/.docksal/docksal.yml @@ -9,6 +9,8 @@ services: - HID_CLIENT_SECRET - GRAPHQL_KEY - COMPOSER_MEMORY_LIMIT=-1 + - XDEBUG_ENABLED=1 + - XDEBUG_MODE=off browser: hostname: browser diff --git a/composer.json b/composer.json index b5eccad8..a7ace90f 100644 --- a/composer.json +++ b/composer.json @@ -58,13 +58,14 @@ "drupal/core-recommended": "^10", "drupal/csp": "^1.16", "drupal/ctools": "^4.0", - "drupal/custom_field": "^2.0@RC", + "drupal/custom_field": "^3", "drupal/diff": "^1.1", "drupal/double_field": "^4.0", "drupal/editor_advanced_link": "^2.0", "drupal/entity_browser": "^2.9", "drupal/entity_browser_table": "^1.4", "drupal/entity_usage": "^2.0@beta", + "drupal/field_config_cardinality": "^3.0", "drupal/field_group": "^3.4", "drupal/gin": "^3.0@RC", "drupal/google_tag": "^1.4", diff --git a/composer.lock b/composer.lock index bdefa7d0..04746783 100644 --- a/composer.lock +++ b/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": "12569a8c6834a7ab5add06011793900c", + "content-hash": "26e93d38d1c5ff6c15abae3101f2879d", "packages": [ { "name": "asm89/stack-cors", @@ -3512,30 +3512,30 @@ }, { "name": "drupal/custom_field", - "version": "2.0.0-rc6", + "version": "3.0.0-rc2", "source": { "type": "git", "url": "https://git.drupalcode.org/project/custom_field.git", - "reference": "2.0.0-rc6" + "reference": "3.0.0-rc2" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/custom_field-2.0.0-rc6.zip", - "reference": "2.0.0-rc6", - "shasum": "53db8135daee8c9273006de3ca208ba9de4a74f0" + "url": "https://ftp.drupal.org/files/projects/custom_field-3.0.0-rc2.zip", + "reference": "3.0.0-rc2", + "shasum": "0a7e27a71a20a9483bb92845625f0827bce9f354" }, "require": { - "drupal/core": "^9.4 || ^10.1" + "drupal/core": "^10.2" }, "require-dev": { "drupal/feeds": "3.x-dev", - "drupal/linkit": "^6" + "drupal/linkit": "^6.1" }, "type": "drupal-module", "extra": { "drupal": { - "version": "2.0.0-rc6", - "datestamp": "1703275144", + "version": "3.0.0-rc2", + "datestamp": "1713762104", "security-coverage": { "status": "not-covered", "message": "RC releases are not covered by Drupal security advisories." @@ -4046,6 +4046,82 @@ "issues": "http://drupal.org/project/issues/entity_usage" } }, + { + "name": "drupal/field_config_cardinality", + "version": "3.0.1", + "source": { + "type": "git", + "url": "https://git.drupalcode.org/project/field_config_cardinality.git", + "reference": "3.0.1" + }, + "dist": { + "type": "zip", + "url": "https://ftp.drupal.org/files/projects/field_config_cardinality-3.0.1.zip", + "reference": "3.0.1", + "shasum": "47a2d933514464bea620617eb2ec34988b60ce37" + }, + "require": { + "drupal/core": "^9 || ^10" + }, + "type": "drupal-module", + "extra": { + "drupal": { + "version": "3.0.1", + "datestamp": "1680866025", + "security-coverage": { + "status": "covered", + "message": "Covered by Drupal's security advisory policy" + } + } + }, + "notification-url": "https://packages.drupal.org/8/downloads", + "license": [ + "GPL-2.0-or-later" + ], + "authors": [ + { + "name": "ayalon", + "homepage": "https://www.drupal.org/user/419226" + }, + { + "name": "brittany.huntzberry", + "homepage": "https://www.drupal.org/user/3552960" + }, + { + "name": "dealancer", + "homepage": "https://www.drupal.org/user/243418" + }, + { + "name": "devkinetic", + "homepage": "https://www.drupal.org/user/114708" + }, + { + "name": "e.bogatyrev", + "homepage": "https://www.drupal.org/user/2760527" + }, + { + "name": "eloivaque", + "homepage": "https://www.drupal.org/user/605038" + }, + { + "name": "Naveen Kumar Reddy", + "homepage": "https://www.drupal.org/user/3693535" + }, + { + "name": "Shruthi Shetty M", + "homepage": "https://www.drupal.org/user/3580970" + }, + { + "name": "stefan.korn", + "homepage": "https://www.drupal.org/user/1942204" + } + ], + "description": "Allow apply cardinality on Field Config (Cardinality Instance)", + "homepage": "https://www.drupal.org/project/field_config_cardinality", + "support": { + "source": "https://git.drupalcode.org/project/field_config_cardinality" + } + }, { "name": "drupal/field_group", "version": "3.4.0", @@ -16651,7 +16727,6 @@ "stability-flags": { "drupal/bigint": 20, "drupal/bulk_update_fields": 15, - "drupal/custom_field": 5, "drupal/entity_usage": 10, "drupal/gin": 5, "drupal/imageapi_optimize_binaries": 15, diff --git a/composer.patches.json b/composer.patches.json index 2f132011..a10f7440 100644 --- a/composer.patches.json +++ b/composer.patches.json @@ -1,7 +1,8 @@ { "patches": { "drupal/core": { - "https://www.drupal.org/project/drupal/issues/2544110": "./patches/2544110-2024-02-15.patch", + "Issue #2544110: XSS attribute filtering is inconsistent and strips valid attributes": "./patches/2544110-2024-02-15.patch", + "Issue #2329253: Allow the ChangedItem to skip updating the entity's changed timestamp when synchronizing (f.e. when migrating)": "https://www.drupal.org/files/issues/2024-04-18/2329253-127-10.2.5.patch", "Issue #3392572: strnatcasecmp(): Passing null to parameter #2 in LayoutPluginManager": "https://www.drupal.org/files/issues/2023-10-25/drupal-strnatcasecmp_string_only-3392572-10.patch", "Issue #3413079: Cannot read properties of null (reading 'nodeType') on node.page.body": "https://www.drupal.org/files/issues/2024-01-08/3413079-9.patch", "Issue #3274635: [upstream] Use CKEditor 5's native
    and