diff --git a/.platform/schema b/.platform/schema new file mode 100644 index 000000000..e440e5c84 --- /dev/null +++ b/.platform/schema @@ -0,0 +1 @@ +3 \ No newline at end of file diff --git a/composer.json b/composer.json index 600fca78b..d55eef6a7 100644 --- a/composer.json +++ b/composer.json @@ -37,11 +37,12 @@ "drupal/coder": "^8.3", "drupal/core-dev": "^9.3", "drupal/migrate_tools": "^5.2", - "mglaman/phpstan-drupal": "^1.0", + "jangregor/phpstan-prophecy": "^1.0", + "mglaman/phpstan-drupal": "^1.2", "phpspec/prophecy-phpunit": "^2", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/extension-installer": "^1.3", + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-deprecation-rules": "^1.1", "phpunit/phpunit": "^9.6", "weitzman/drupal-test-traits": "^2.0" }, @@ -57,6 +58,9 @@ "composer/installers": true, "drupal/core-composer-scaffold": true, "phpstan/extension-installer": true + }, + "audit": { + "abandoned": "report" } }, "extra": { diff --git a/composer.lock b/composer.lock index cdecb6bc2..2c9c87762 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": "afc01e8a1655f5c812350b020d97be1b", + "content-hash": "bad4d642cc0e15c8504465dac5d21a40", "packages": [ { "name": "asm89/stack-cors", @@ -64,16 +64,16 @@ }, { "name": "caxy/php-htmldiff", - "version": "v0.1.14", + "version": "v0.1.15", "source": { "type": "git", "url": "https://github.com/caxy/php-htmldiff.git", - "reference": "3f8ee7edda3d7c6d2e58a02d70a12d3242c84ea5" + "reference": "6342b02ddb86fd36093ad7e2db2efc21f01ab7cd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/caxy/php-htmldiff/zipball/3f8ee7edda3d7c6d2e58a02d70a12d3242c84ea5", - "reference": "3f8ee7edda3d7c6d2e58a02d70a12d3242c84ea5", + "url": "https://api.github.com/repos/caxy/php-htmldiff/zipball/6342b02ddb86fd36093ad7e2db2efc21f01ab7cd", + "reference": "6342b02ddb86fd36093ad7e2db2efc21f01ab7cd", "shasum": "" }, "require": { @@ -119,9 +119,9 @@ ], "support": { "issues": "https://github.com/caxy/php-htmldiff/issues", - "source": "https://github.com/caxy/php-htmldiff/tree/v0.1.14" + "source": "https://github.com/caxy/php-htmldiff/tree/v0.1.15" }, - "time": "2022-01-19T11:09:59+00:00" + "time": "2023-11-05T23:49:04+00:00" }, { "name": "chi-teck/drupal-code-generator", @@ -1836,27 +1836,30 @@ }, { "name": "drupal/config_ignore", - "version": "2.4.0", + "version": "3.1.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/config_ignore.git", - "reference": "8.x-2.4" + "reference": "8.x-3.1" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/config_ignore-8.x-2.4.zip", - "reference": "8.x-2.4", - "shasum": "e0e45dde2d6927c5d26de59f352792fb6cf26554" + "url": "https://ftp.drupal.org/files/projects/config_ignore-8.x-3.1.zip", + "reference": "8.x-3.1", + "shasum": "5e60f312e02735060d5e5b1724330bb243face4c" }, "require": { - "drupal/config_filter": "^1 || ^2", - "drupal/core": "^8 || ^9 || ^10" + "drupal/core": "^8.8 || ^9 || ^10" + }, + "require-dev": { + "drupal/config_filter": "^1.8||^2.2", + "drush/drush": "^10 || ^11 || ^12" }, "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.4", - "datestamp": "1676045435", + "version": "8.x-3.1", + "datestamp": "1699302168", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -1865,7 +1868,7 @@ }, "notification-url": "https://packages.drupal.org/8/downloads", "license": [ - "GPL-2.0-or-later" + "GPL-2.0+" ], "authors": [ { @@ -1884,12 +1887,11 @@ "homepage": "https://www.drupal.org/user/413139" } ], - "description": "Ignore certain configuration during import.", + "description": "Ignore certain configuration during import and export.", "homepage": "http://drupal.org/project/config_ignore", "support": { "source": "https://git.drupalcode.org/project/config_ignore", - "issues": "https://drupal.org/project/config_ignore", - "irc": "irc://irc.freenode.org/drupal-contribute" + "issues": "http://drupal.org/project/config_ignore" } }, { @@ -2628,17 +2630,17 @@ }, { "name": "drupal/editoria11y", - "version": "2.1.3", + "version": "2.1.4", "source": { "type": "git", "url": "https://git.drupalcode.org/project/editoria11y.git", - "reference": "2.1.3" + "reference": "2.1.4" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/editoria11y-2.1.3.zip", - "reference": "2.1.3", - "shasum": "d050d25a6daf2cf59bfd9bcc9cdb9b060d9dc5f6" + "url": "https://ftp.drupal.org/files/projects/editoria11y-2.1.4.zip", + "reference": "2.1.4", + "shasum": "7024e8e43d044f6ab52ab522fb6149e65004f509" }, "require": { "drupal/core": "^9 || ^10" @@ -2646,8 +2648,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "2.1.3", - "datestamp": "1697057896", + "version": "2.1.4", + "datestamp": "1700076307", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3605,16 +3607,16 @@ }, { "name": "drupal/hdbt", - "version": "5.6.25", + "version": "5.8.1", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-hdbt.git", - "reference": "09c80a3399d9319f1dfb837e190113f0a6c6effb" + "reference": "a3d97cae804200d20469ce02870eecedc8bfc251" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt/zipball/09c80a3399d9319f1dfb837e190113f0a6c6effb", - "reference": "09c80a3399d9319f1dfb837e190113f0a6c6effb", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt/zipball/a3d97cae804200d20469ce02870eecedc8bfc251", + "reference": "a3d97cae804200d20469ce02870eecedc8bfc251", "shasum": "" }, "require": { @@ -3632,10 +3634,10 @@ "Drupal" ], "support": { - "source": "https://github.com/City-of-Helsinki/drupal-hdbt/tree/5.6.25", + "source": "https://github.com/City-of-Helsinki/drupal-hdbt/tree/5.8.1", "issues": "https://github.com/City-of-Helsinki/drupal-hdbt/issues" }, - "time": "2023-10-30T12:30:23+00:00" + "time": "2023-11-13T11:20:37+00:00" }, { "name": "drupal/hdbt_admin", @@ -3724,16 +3726,16 @@ }, { "name": "drupal/helfi_api_base", - "version": "2.5.9", + "version": "2.5.12", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-module-helfi-api-base.git", - "reference": "2c5bfce0f9415ae35d7a4c70d9f4ed9a42a6dc88" + "reference": "0e993700f6611def239ec225a3ada1d123b30623" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-api-base/zipball/2c5bfce0f9415ae35d7a4c70d9f4ed9a42a6dc88", - "reference": "2c5bfce0f9415ae35d7a4c70d9f4ed9a42a6dc88", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-api-base/zipball/0e993700f6611def239ec225a3ada1d123b30623", + "reference": "0e993700f6611def239ec225a3ada1d123b30623", "shasum": "" }, "require": { @@ -3751,6 +3753,7 @@ }, "require-dev": { "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "dg/bypass-finals": "^1.0", "donatj/mock-webserver": "dev-master", "drupal/coder": "^8.3" }, @@ -3760,10 +3763,10 @@ ], "description": "Helfi - API Base", "support": { - "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-api-base/tree/2.5.9", + "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-api-base/tree/2.5.12", "issues": "https://github.com/City-of-Helsinki/drupal-module-helfi-api-base/issues" }, - "time": "2023-10-30T13:56:18+00:00" + "time": "2023-11-15T13:15:43+00:00" }, { "name": "drupal/helfi_drupal_tools", @@ -3818,22 +3821,23 @@ }, { "name": "drupal/helfi_platform_config", - "version": "3.4.34", + "version": "3.4.38", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config.git", - "reference": "7fc8ed960804fa5df2c4ad77fd8f9028e286d38c" + "reference": "b57eb720797008f2372243031613fec6578ca567" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-helfi-platform-config/zipball/7fc8ed960804fa5df2c4ad77fd8f9028e286d38c", - "reference": "7fc8ed960804fa5df2c4ad77fd8f9028e286d38c", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-helfi-platform-config/zipball/b57eb720797008f2372243031613fec6578ca567", + "reference": "b57eb720797008f2372243031613fec6578ca567", "shasum": "" }, "require": { "drupal/admin_toolbar": "^3.0", "drupal/allowed_formats": "^2.0", - "drupal/config_ignore": "^2.3", + "drupal/config_filter": "^2.6", + "drupal/config_ignore": "^3.0", "drupal/config_rewrite": "^1.4", "drupal/content_lock": "^2.2", "drupal/core": "^9.5", @@ -3923,7 +3927,7 @@ "Add missing schema to social media. (https://www.drupal.org/project/social_media/issues/2986819)": "https://git.drupalcode.org/project/social_media/-/commit/1964f42e5a6fb5d7a97fdf8ec5ca259bc6c5b19a.patch" }, "drupal/simple_sitemap": { - "[#UHF-8514] Fix frontpage URLs in sitemap. (https://www.drupal.org/project/simple_sitemap/issues/3264573)": "https://www.drupal.org/files/issues/2022-02-15/3264573-2.patch" + "[#UHF-8514] Fix frontpage URLs in sitemap. (https://www.drupal.org/i/3264573)": "https://raw.githubusercontent.com/City-of-Helsinki/drupal-helfi-platform-config/55722f695264bbaf6062f46e400e905c761fd5b7/patches/simple_sitemap-3264573-respect-frontpage-configuration.patch" } } }, @@ -3932,23 +3936,23 @@ ], "description": "HELfi platform config", "support": { - "source": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/tree/3.4.34", + "source": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/tree/3.4.38", "issues": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/issues" }, - "time": "2023-10-31T07:14:40+00:00" + "time": "2023-11-15T10:37:51+00:00" }, { "name": "drupal/helfi_tpr", - "version": "2.2.9", + "version": "2.3.0", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-module-helfi-tpr.git", - "reference": "bc323aaf05e72d3fa5e80ad53eb3a710dc4b7fb5" + "reference": "afed5dbe60d641edb619f9dd0ac812025c6d5a79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-tpr/zipball/bc323aaf05e72d3fa5e80ad53eb3a710dc4b7fb5", - "reference": "bc323aaf05e72d3fa5e80ad53eb3a710dc4b7fb5", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-tpr/zipball/afed5dbe60d641edb619f9dd0ac812025c6d5a79", + "reference": "afed5dbe60d641edb619f9dd0ac812025c6d5a79", "shasum": "" }, "require": { @@ -3974,10 +3978,10 @@ ], "description": "TPR integration", "support": { - "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-tpr/tree/2.2.9", + "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-tpr/tree/2.3.0", "issues": "https://github.com/City-of-Helsinki/drupal-module-helfi-tpr/issues" }, - "time": "2023-10-27T06:52:56+00:00" + "time": "2023-11-16T09:05:15+00:00" }, { "name": "drupal/helfi_tunnistamo", @@ -5646,17 +5650,17 @@ }, { "name": "drupal/simple_sitemap", - "version": "4.1.6", + "version": "4.1.7", "source": { "type": "git", "url": "https://git.drupalcode.org/project/simple_sitemap.git", - "reference": "4.1.6" + "reference": "4.1.7" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/simple_sitemap-4.1.6.zip", - "reference": "4.1.6", - "shasum": "5ea5ee97ab4d59b43db86dd6279c3ac5ecbe69b9" + "url": "https://ftp.drupal.org/files/projects/simple_sitemap-4.1.7.zip", + "reference": "4.1.7", + "shasum": "3d55ee386b0ebb81ed4c3461451a9e32a15d93d7" }, "require": { "drupal/core": "^9.3 || ^10", @@ -5665,8 +5669,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "4.1.6", - "datestamp": "1686288643", + "version": "4.1.7", + "datestamp": "1698936269", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -6967,16 +6971,16 @@ }, { "name": "fileeye/mimemap", - "version": "2.0.2", + "version": "2.0.3", "source": { "type": "git", "url": "https://github.com/FileEye/MimeMap.git", - "reference": "befb9f1ee77dbf6b74a2c578874e128c9a5c1a2d" + "reference": "0795b7db12838ffb7bc564e0a02cf53fb1463ec0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/FileEye/MimeMap/zipball/befb9f1ee77dbf6b74a2c578874e128c9a5c1a2d", - "reference": "befb9f1ee77dbf6b74a2c578874e128c9a5c1a2d", + "url": "https://api.github.com/repos/FileEye/MimeMap/zipball/0795b7db12838ffb7bc564e0a02cf53fb1463ec0", + "reference": "0795b7db12838ffb7bc564e0a02cf53fb1463ec0", "shasum": "" }, "require": { @@ -7023,9 +7027,9 @@ ], "support": { "issues": "https://github.com/FileEye/MimeMap/issues", - "source": "https://github.com/FileEye/MimeMap/tree/2.0.2" + "source": "https://github.com/FileEye/MimeMap/tree/2.0.3" }, - "time": "2023-08-29T16:20:26+00:00" + "time": "2023-11-11T14:14:23+00:00" }, { "name": "fileeye/pel", @@ -9970,7 +9974,7 @@ }, { "name": "symfony/deprecation-contracts", - "version": "v3.3.0", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", @@ -10017,7 +10021,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.3.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0" }, "funding": [ { @@ -10189,16 +10193,16 @@ }, { "name": "symfony/event-dispatcher-contracts", - "version": "v1.1.13", + "version": "v1.10.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "1d5cd762abaa6b2a4169d3e77610193a7157129e" + "reference": "761c8b8387cfe5f8026594a75fdf0a4e83ba6974" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/1d5cd762abaa6b2a4169d3e77610193a7157129e", - "reference": "1d5cd762abaa6b2a4169d3e77610193a7157129e", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/761c8b8387cfe5f8026594a75fdf0a4e83ba6974", + "reference": "761c8b8387cfe5f8026594a75fdf0a4e83ba6974", "shasum": "" }, "require": { @@ -10248,7 +10252,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v1.1.13" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v1.10.0" }, "funding": [ { @@ -10264,7 +10268,7 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:41:36+00:00" + "time": "2022-07-20T09:59:04+00:00" }, { "name": "symfony/filesystem", @@ -10539,16 +10543,16 @@ }, { "name": "symfony/http-kernel", - "version": "v4.4.50", + "version": "v4.4.51", "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "aa6df6c045f034aa13ac752fc234bb300b9488ef" + "reference": "ad8ab192cb619ff7285c95d28c69b36d718416c7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/aa6df6c045f034aa13ac752fc234bb300b9488ef", - "reference": "aa6df6c045f034aa13ac752fc234bb300b9488ef", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/ad8ab192cb619ff7285c95d28c69b36d718416c7", + "reference": "ad8ab192cb619ff7285c95d28c69b36d718416c7", "shasum": "" }, "require": { @@ -10623,7 +10627,7 @@ "description": "Provides a structured process for converting a Request into a Response", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-kernel/tree/v4.4.50" + "source": "https://github.com/symfony/http-kernel/tree/v4.4.51" }, "funding": [ { @@ -10639,7 +10643,7 @@ "type": "tidelift" } ], - "time": "2023-02-01T08:01:31+00:00" + "time": "2023-11-10T13:31:29+00:00" }, { "name": "symfony/mime", @@ -11880,16 +11884,16 @@ }, { "name": "symfony/string", - "version": "v6.3.5", + "version": "v6.3.8", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "13d76d0fb049051ed12a04bef4f9de8715bea339" + "reference": "13880a87790c76ef994c91e87efb96134522577a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/13d76d0fb049051ed12a04bef4f9de8715bea339", - "reference": "13d76d0fb049051ed12a04bef4f9de8715bea339", + "url": "https://api.github.com/repos/symfony/string/zipball/13880a87790c76ef994c91e87efb96134522577a", + "reference": "13880a87790c76ef994c91e87efb96134522577a", "shasum": "" }, "require": { @@ -11946,7 +11950,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.3.5" + "source": "https://github.com/symfony/string/tree/v6.3.8" }, "funding": [ { @@ -11962,7 +11966,7 @@ "type": "tidelift" } ], - "time": "2023-09-18T10:38:32+00:00" + "time": "2023-11-09T08:28:21+00:00" }, { "name": "symfony/translation", @@ -13944,6 +13948,71 @@ }, "time": "2022-10-28T13:30:35+00:00" }, + { + "name": "jangregor/phpstan-prophecy", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/Jan0707/phpstan-prophecy.git", + "reference": "2bc7ca9460395690c6bf7332bdfb2f25d5cae8e0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Jan0707/phpstan-prophecy/zipball/2bc7ca9460395690c6bf7332bdfb2f25d5cae8e0", + "reference": "2bc7ca9460395690c6bf7332bdfb2f25d5cae8e0", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0", + "phpstan/phpstan": "^1.0.0" + }, + "conflict": { + "phpspec/prophecy": "<1.7.0,>=2.0.0", + "phpunit/phpunit": "<6.0.0,>=10.0.0" + }, + "require-dev": { + "ergebnis/composer-normalize": "^2.1.1", + "ergebnis/license": "^1.0.0", + "ergebnis/php-cs-fixer-config": "~2.2.0", + "phpspec/prophecy": "^1.7.0", + "phpunit/phpunit": "^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0" + }, + "type": "phpstan-extension", + "extra": { + "phpstan": { + "includes": [ + "extension.neon" + ] + } + }, + "autoload": { + "psr-4": { + "JanGregor\\Prophecy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jan Gregor Emge-Triebel", + "email": "jan@jangregor.me" + } + ], + "description": "Provides a phpstan/phpstan extension for phpspec/prophecy", + "support": { + "issues": "https://github.com/Jan0707/phpstan-prophecy/issues", + "source": "https://github.com/Jan0707/phpstan-prophecy/tree/1.0.0" + }, + "funding": [ + { + "url": "https://github.com/localheinz", + "type": "github" + } + ], + "time": "2021-11-08T16:37:47+00:00" + }, { "name": "justinrainbow/json-schema", "version": "v5.2.13", @@ -14016,37 +14085,37 @@ }, { "name": "mglaman/phpstan-drupal", - "version": "1.2.0", + "version": "1.2.4", "source": { "type": "git", "url": "https://github.com/mglaman/phpstan-drupal.git", - "reference": "d721420086f146640acecebb7a678661a66e97d5" + "reference": "57b2cc67fb4416e8484db37a3d8502ac8fb3c0d6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/mglaman/phpstan-drupal/zipball/d721420086f146640acecebb7a678661a66e97d5", - "reference": "d721420086f146640acecebb7a678661a66e97d5", + "url": "https://api.github.com/repos/mglaman/phpstan-drupal/zipball/57b2cc67fb4416e8484db37a3d8502ac8fb3c0d6", + "reference": "57b2cc67fb4416e8484db37a3d8502ac8fb3c0d6", "shasum": "" }, "require": { "php": "^7.4 || ^8.0", "phpstan/phpstan": "^1.10.1", "phpstan/phpstan-deprecation-rules": "^1.1.4", - "symfony/finder": "~3.4.5 ||^4.2 || ^5.0 || ^6.0", - "symfony/yaml": "~3.4.5 || ^4.2|| ^5.0 || ^6.0", + "symfony/finder": "^4.2 || ^5.0 || ^6.0 || ^7.0", + "symfony/yaml": "^4.2|| ^5.0 || ^6.0 || ^7.0", "webflo/drupal-finder": "^1.2" }, "require-dev": { "behat/mink": "^1.8", "composer/installers": "^1.9", - "drupal/core-recommended": "^8.8@alpha || ^9.0", - "drush/drush": "^9.6 || ^10.0 || ^11", + "drupal/core-recommended": "^9.0", + "drush/drush": "^10.0 || ^11 || ^12", "phpstan/extension-installer": "^1.1", "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/phpunit": "^6.5 || ^7.5 || ^8.0 || ^9", + "phpunit/phpunit": "^8.5 || ^9", "slevomat/coding-standard": "^7.1", "squizlabs/php_codesniffer": "^3.3", - "symfony/phpunit-bridge": "^3.4.3 || ^4.4 || ^5.4 || ^6.0" + "symfony/phpunit-bridge": "^4.4 || ^5.4 || ^6.0 || ^7.0" }, "suggest": { "jangregor/phpstan-prophecy": "Provides a prophecy/prophecy extension for phpstan/phpstan.", @@ -14100,7 +14169,7 @@ "description": "Drupal extension and rules for PHPStan", "support": { "issues": "https://github.com/mglaman/phpstan-drupal/issues", - "source": "https://github.com/mglaman/phpstan-drupal/tree/1.2.0" + "source": "https://github.com/mglaman/phpstan-drupal/tree/1.2.4" }, "funding": [ { @@ -14116,7 +14185,7 @@ "type": "tidelift" } ], - "time": "2023-08-24T20:32:56+00:00" + "time": "2023-11-14T22:47:32+00:00" }, { "name": "mikey179/vfsstream", @@ -14720,16 +14789,16 @@ }, { "name": "phpstan/phpstan", - "version": "1.10.40", + "version": "1.10.41", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "93c84b5bf7669920d823631e39904d69b9c7dc5d" + "reference": "c6174523c2a69231df55bdc65b61655e72876d76" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/93c84b5bf7669920d823631e39904d69b9c7dc5d", - "reference": "93c84b5bf7669920d823631e39904d69b9c7dc5d", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/c6174523c2a69231df55bdc65b61655e72876d76", + "reference": "c6174523c2a69231df55bdc65b61655e72876d76", "shasum": "" }, "require": { @@ -14778,7 +14847,7 @@ "type": "tidelift" } ], - "time": "2023-10-30T14:48:31+00:00" + "time": "2023-11-05T12:57:57+00:00" }, { "name": "phpstan/phpstan-deprecation-rules", diff --git a/conf/cmi/config_ignore.settings.yml b/conf/cmi/config_ignore.settings.yml index 4026545d5..7026a04df 100644 --- a/conf/cmi/config_ignore.settings.yml +++ b/conf/cmi/config_ignore.settings.yml @@ -1,11 +1,12 @@ +mode: simple ignored_config_entities: - - 'system.site:page.front' - - 'hdbt_admin_tools.site_settings:site_settings' - 'easy_breadcrumb.settings:home_segment_title' - hdbt_admin_tools.site_settings + - 'hdbt_admin_tools.site_settings:site_settings' - paatokset_ahjo_api.default_texts - - paatokset_ahjo_proxy.blacklist - 'paatokset_ahjo_api.disallowed_decisions.*' + - paatokset_ahjo_api.policymaker_labels - paatokset_ahjo_openid.settings + - paatokset_ahjo_proxy.blacklist - paatokset_ahjo_proxy.settings - - paatokset_ahjo_api.policymaker_labels + - 'system.site:page.front' diff --git a/conf/cmi/core.entity_form_display.node.landing_page.default.yml b/conf/cmi/core.entity_form_display.node.landing_page.default.yml index f829ae7b8..1b8b98132 100644 --- a/conf/cmi/core.entity_form_display.node.landing_page.default.yml +++ b/conf/cmi/core.entity_form_display.node.landing_page.default.yml @@ -128,9 +128,9 @@ content: third_party_settings: { } simple_sitemap: weight: 10 + region: content settings: { } third_party_settings: { } - region: content status: type: boolean_checkbox weight: 12 diff --git a/conf/cmi/core.entity_form_display.paragraph.banner.default.yml b/conf/cmi/core.entity_form_display.paragraph.banner.default.yml index dc9738f55..409707696 100644 --- a/conf/cmi/core.entity_form_display.paragraph.banner.default.yml +++ b/conf/cmi/core.entity_form_display.paragraph.banner.default.yml @@ -42,8 +42,8 @@ content: weight: 4 region: content settings: - linkit_auto_link_text: false linkit_profile: helfi + linkit_auto_link_text: false third_party_settings: { } field_banner_link_design: type: design_field_widget diff --git a/conf/cmi/core.extension.yml b/conf/cmi/core.extension.yml index 1ff8bfa2b..370a5ff92 100644 --- a/conf/cmi/core.extension.yml +++ b/conf/cmi/core.extension.yml @@ -11,7 +11,6 @@ module: breakpoint: 0 ckeditor: 0 config: 0 - config_filter: 0 config_ignore: 0 config_rewrite: 0 config_translation: 0 diff --git a/conf/cmi/external_entities.external_entity_type.helfi_news.yml b/conf/cmi/external_entities.external_entity_type.helfi_news.yml index 84cd76d16..5826d126a 100644 --- a/conf/cmi/external_entities.external_entity_type.helfi_news.yml +++ b/conf/cmi/external_entities.external_entity_type.helfi_news.yml @@ -8,8 +8,8 @@ id: helfi_news label: 'Helfi: News' label_plural: 'Helfi: News' description: '' -generate_aliases: null read_only: true +generate_aliases: null field_mapper_id: jsonpath field_mapper_config: field_mappings: diff --git a/conf/cmi/external_entities.external_entity_type.helfi_news_groups.yml b/conf/cmi/external_entities.external_entity_type.helfi_news_groups.yml index e7db12adf..ea4ab7e5f 100644 --- a/conf/cmi/external_entities.external_entity_type.helfi_news_groups.yml +++ b/conf/cmi/external_entities.external_entity_type.helfi_news_groups.yml @@ -8,8 +8,8 @@ id: helfi_news_groups label: 'Helfi: News groups' label_plural: 'Helfi: News groups' description: 'Retrieves news groups taxonomy terms from Helfi' -generate_aliases: null read_only: true +generate_aliases: null field_mapper_id: jsonpath field_mapper_config: field_mappings: diff --git a/conf/cmi/external_entities.external_entity_type.helfi_news_neighbourhoods.yml b/conf/cmi/external_entities.external_entity_type.helfi_news_neighbourhoods.yml index d95bf1180..bb8e15767 100644 --- a/conf/cmi/external_entities.external_entity_type.helfi_news_neighbourhoods.yml +++ b/conf/cmi/external_entities.external_entity_type.helfi_news_neighbourhoods.yml @@ -8,8 +8,8 @@ id: helfi_news_neighbourhoods label: 'Helfi: News neighbourhoods' label_plural: 'Helfi: News neighbourhoods' description: 'Retrieves news neighbourhoods taxonomy terms from Helfi' -generate_aliases: null read_only: true +generate_aliases: null field_mapper_id: jsonpath field_mapper_config: field_mappings: diff --git a/conf/cmi/external_entities.external_entity_type.helfi_news_tags.yml b/conf/cmi/external_entities.external_entity_type.helfi_news_tags.yml index 3a8267630..802464229 100644 --- a/conf/cmi/external_entities.external_entity_type.helfi_news_tags.yml +++ b/conf/cmi/external_entities.external_entity_type.helfi_news_tags.yml @@ -8,8 +8,8 @@ id: helfi_news_tags label: 'Helfi: News tags' label_plural: 'Helfi: News tags' description: 'Retrieves news tags taxonomy terms from Helfi' -generate_aliases: null read_only: true +generate_aliases: null field_mapper_id: jsonpath field_mapper_config: field_mappings: diff --git a/conf/cmi/social_media.settings.yml b/conf/cmi/social_media.settings.yml index 8534524aa..66cb90e38 100644 --- a/conf/cmi/social_media.settings.yml +++ b/conf/cmi/social_media.settings.yml @@ -1,3 +1,6 @@ +_core: + default_config_hash: AyqoIo0GS3jnXfsBkJZCiVA4WsqNkQItXRfQMmg91jI +langcode: en social_media: facebook_share: enable: 1 @@ -10,85 +13,82 @@ social_media: drupalSettings: '' library: '' img: facebook + facebook_msg: + enable: 0 + text: 'Facebook messenger' + api_url: 'FB.ui({method: ''send'',link: ''[current-page:url]''})' + api_event: onclick + default_img: 1 + weight: 2 + attributes: "target|_blank\r\nclass|facebook-msg\r\nrel|noopener noreferrer" + drupalSettings: 'application_id|Your Application ID' + library: social_media/facebook + img: '' linkedin: enable: 1 + text: 'Share in Linkedin' api_url: 'http://www.linkedin.com/shareArticle?mini=true&url=[current-page:url]&title=[current-page:title]&source=[current-page:url]' api_event: href - text: 'Share in Linkedin' default_img: 0 - weight: '3' + weight: 3 attributes: "target|_blank\r\nclass|linkedin" drupalSettings: '' library: '' img: linkedin twitter: enable: 1 + text: 'Share in Twitter' api_url: 'https://twitter.com/intent/tweet?url=[current-page:url]&status=[current-page:title]+[current-page:url]' api_event: href - text: 'Share in Twitter' default_img: 0 weight: 3 attributes: "target|_blank\r\nclass|twitter" drupalSettings: '' library: '' img: twitter - email: - enable: 1 - api_url: 'mailto:?subject=[current-page:title]&body=Check out this site [current-page:url]' - api_event: href - text: 'Send as an email' - default_img: 0 - weight: 7 - attributes: class|email - drupalSettings: '' - library: '' - img: email - enable_forward: 0 - show_forward: '1' - facebook_msg: - enable: 0 - api_url: 'FB.ui({method: ''send'',link: ''[current-page:url]''})' - api_event: onclick - drupalSettings: 'application_id|Your Application ID' - library: social_media/facebook - text: 'Facebook messenger' - default_img: 1 - img: '' - weight: 2 - attributes: "target|_blank\r\nclass|facebook-msg\r\nrel|noopener noreferrer" pinterest: enable: 0 + text: Pinterest api_url: 'https://www.pinterest.com/pin/create/button/?url=[current-page:url]&description=[current-page:title]' api_event: href - drupalSettings: '' - library: '' - text: Pinterest default_img: 1 - img: '' weight: 5 attributes: "target|_blank\r\nclass|pinterest\r\nrel|noopener noreferrer" + drupalSettings: '' + library: '' + img: '' whatsapp: enable: 0 + text: '' api_url: 'https://wa.me/?text=[current-page:url]' api_event: href - drupalSettings: '' - library: '' - text: '' default_img: 1 - img: '' weight: 6 attributes: "class|whatsapp show-for-small-only\r\ndata-action|share/whatsapp/share" + drupalSettings: '' + library: '' + img: '' + email: + enable: 1 + text: 'Send as an email' + api_url: 'mailto:?subject=[current-page:title]&body=Check out this site [current-page:url]' + api_event: href + default_img: 0 + weight: 7 + attributes: class|email + drupalSettings: '' + library: '' + img: email + enable_forward: 0 + show_forward: 1 print: enable: 0 + text: Print api_url: window.print() api_event: onclick - drupalSettings: '' - library: '' - text: Print default_img: 1 - img: '' weight: 8 attributes: class|print -langcode: en -_core: - default_config_hash: AyqoIo0GS3jnXfsBkJZCiVA4WsqNkQItXRfQMmg91jI + drupalSettings: '' + library: '' + img: '' diff --git a/conf/cmi/views.view.editoria11y_dismissals.yml b/conf/cmi/views.view.editoria11y_dismissals.yml index dcfbd24d6..3ba052d34 100644 --- a/conf/cmi/views.view.editoria11y_dismissals.yml +++ b/conf/cmi/views.view.editoria11y_dismissals.yml @@ -1,3 +1,4 @@ +uuid: df8e6795-964b-40da-a39d-dbd078dc5d5d langcode: en status: true dependencies: diff --git a/conf/cmi/views.view.editoria11y_results.yml b/conf/cmi/views.view.editoria11y_results.yml index ce768f299..8798acc77 100644 --- a/conf/cmi/views.view.editoria11y_results.yml +++ b/conf/cmi/views.view.editoria11y_results.yml @@ -1,3 +1,4 @@ +uuid: 6e06d84e-df78-407f-8d3e-c741d910b024 langcode: en status: true dependencies: diff --git a/conf/cmi/views.view.service_list.yml b/conf/cmi/views.view.service_list.yml index 1ebe38dbd..d13f957c2 100644 --- a/conf/cmi/views.view.service_list.yml +++ b/conf/cmi/views.view.service_list.yml @@ -360,13 +360,13 @@ display: display_plugin: block position: 1 display_options: - display_extenders: { } pager: type: none options: offset: 0 defaults: pager: false + display_extenders: { } cache_metadata: max-age: -1 contexts: diff --git a/docker-compose.yml b/docker-compose.yml index c7dc6ba8b..941446d7e 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -21,6 +21,8 @@ services: # Optionally, you can add this to your default environments variables to enable or disable # xdebug by default (like /etc/environments, ~/.bashrc, or ~/.zshrc). XDEBUG_ENABLE: "${XDEBUG_ENABLE:-false}" + XDEBUG_CONFIG: "${XDEBUG_CONFIG:-}" + PHP_IDE_CONFIG: "${PHP_IDE_CONFIG:-serverName=${DRUPAL_HOSTNAME}}" # DOCKERHOST: host.docker.internal # Use drush server to run functional tests, so we don't have to care about # permission or SSL issues. @@ -121,7 +123,7 @@ services: container_name: "${COMPOSE_PROJECT_NAME}-artemis" image: quay.io/artemiscloud/activemq-artemis-broker environment: - AMQ_EXTRA_ARGS: "--nio --user admin --password admin" + AMQ_EXTRA_ARGS: "--user admin --password admin" depends_on: - app networks: diff --git a/public/sites/default/settings.php b/public/sites/default/settings.php index 442df2758..21ada2e4a 100644 --- a/public/sites/default/settings.php +++ b/public/sites/default/settings.php @@ -121,7 +121,7 @@ function drupal_get_env(string|array $variables) : mixed { } $settings['reverse_proxy'] = TRUE; $settings['reverse_proxy_addresses'] = $reverse_proxy_address; - $settings['reverse_proxy_trusted_headers'] = Request::HEADER_X_FORWARDED_ALL; + $settings['reverse_proxy_trusted_headers'] = Request::HEADER_X_FORWARDED_FOR | Request::HEADER_X_FORWARDED_HOST | Request::HEADER_X_FORWARDED_PORT | Request::HEADER_X_FORWARDED_PROTO; $settings['reverse_proxy_host_header'] = 'X_FORWARDED_HOST'; } diff --git a/tools/commit-msg b/tools/commit-msg index 04a430867..9840c0bd5 100755 --- a/tools/commit-msg +++ b/tools/commit-msg @@ -4,12 +4,13 @@ # feature/PROJECT-1234-test-test # PROJECT-1234-test-test # PROJECT-1234_test_test +# fixup! (for git rebase --autosquash) id=$(echo `git rev-parse --abbrev-ref HEAD` | sed -nE 's|([a-z]+/)?([A-Z]+-[0-9]+)(-.+)?(_.+)?|\2|p') COMMIT_MESSAGE=$(cat $1) # Only prepare commit message if pattern matched and Jira ID was found and # message doesn't contain Jira ID already. -if [[ ! -z $id ]] && [[ $COMMIT_MESSAGE != $id* ]]; then +if [[ ! -z $id ]] && [[ $COMMIT_MESSAGE != $id* ]] && [[ $COMMIT_MESSAGE != "fixup!"* ]]; then # $1 is the name of the file containing the commit message # Prepend "ABCD-123: " sed -i.bak -E "1s/^/${id}: /" $1 diff --git a/tools/make/project/install.mk b/tools/make/project/install.mk index c38be1433..03b477635 100644 --- a/tools/make/project/install.mk +++ b/tools/make/project/install.mk @@ -6,7 +6,12 @@ endif DRUPAL_POST_INSTALL_TARGETS := drush-deploy drush-locale-update drush-uli OC_LOGIN_TOKEN ?= $(shell bash -c 'read -s -p "You must obtain an API token by visiting https://oauth-openshift.apps.arodevtest.hel.fi/oauth/token/request (Token):" token; echo $$token') + +SYNC_TARGETS := drush-sync-db + +ifneq ($(DUMP_SQL_EXISTS),yes) SYNC_TARGETS := oc-login oc-sync +endif PHONY += oc-login oc-login: diff --git a/tools/make/project/robo.mk b/tools/make/project/robo.mk deleted file mode 100644 index 8780af09a..000000000 --- a/tools/make/project/robo.mk +++ /dev/null @@ -1,86 +0,0 @@ -STONEHENGE_PATH ?= ${HOME}/stonehenge -PROJECT_DIR ?= ${GITHUB_WORKSPACE} -SITE_PREFIX ?= / - -SETUP_ROBO_TARGETS := -CI_POST_INSTALL_TARGETS := - -ifeq ($(CI),true) - SETUP_ROBO_TARGETS += install-stonehenge start-stonehenge set-permissions - CI_POST_INSTALL_TARGETS += fix-files-permission -endif - -SETUP_ROBO_TARGETS += up composer-install $(CI_POST_INSTALL_TARGETS) update-automation - -ifeq ($(DRUPAL_BUILD_FROM_SCRATCH),true) - SETUP_ROBO_TARGETS += install-drupal post-install-tasks -else - SETUP_ROBO_TARGETS += install-drupal-from-dump post-install-tasks -endif - -install-stonehenge: $(STONEHENGE_PATH)/.git - -$(STONEHENGE_PATH)/.git: - git clone -b 3.x https://github.com/druidfi/stonehenge.git $(STONEHENGE_PATH) - -PHONY += start-stonehenge -start-stonehenge: - cd $(STONEHENGE_PATH) && COMPOSE_FILE=docker-compose.yml make up - -$(PROJECT_DIR)/helfi-test-automation-python/.git: - git clone https://github.com/City-of-Helsinki/helfi-test-automation-python.git $(PROJECT_DIR)/helfi-test-automation-python - -PHONY += update-automation -update-automation: $(PROJECT_DIR)/helfi-test-automation-python/.git - git pull - -PHONY += install-drupal -install-drupal: - $(call docker_run_ci,app,drush si minimal -y) - $(call docker_run_ci,app,drush cr) - $(call docker_run_ci,app,drush si minimal --existing-config -y) - $(call docker_run_ci,app,drush deploy) - -PHONY += install-drupal-from-dump -install-drupal-from-dump: - $(call docker_run_ci,app,drush sql-drop -y) - $(call docker_run_ci,app,mysql --user=drupal --password=drupal --database=drupal --host=db --port=3306 -A < latest.sql) - $(call docker_run_ci,app,drush deploy) - -PHONY += post-install-tasks -post-install-tasks: - $(call docker_run_ci,app,drush upwd helfi-admin Test_Automation) - $(call docker_run_ci,app,drush en helfi_example_content syslog -y) - $(call docker_run_ci,app,drush helfi:migrate-fixture tpr_unit --publish) - $(call docker_run_ci,app,drush helfi:migrate-fixture tpr_service --publish) - $(call docker_run_ci,app,drush helfi:migrate-fixture tpr_errand_service --publish) - $(call docker_run_ci,app,drush helfi:migrate-fixture tpr_service_channel --publish) - $(call docker_run_ci,app,drush pmu editoria11y -y) - -PHONY += save-dump -save-dump: - $(call docker_run_ci,app,drush sql-dump --result-file=/app/latest.sql) - -PHONY += robo-shell -robo-shell: - @docker compose $(DOCKER_COMPOSE_FILES) exec robo sh - -PHONY += set-permissions -set-permissions: - chmod 777 /home/runner/.cache/composer -R - chmod 777 -R $(PROJECT_DIR) - -PHONY += fix-files-permission -fix-files-permission: - mkdir $(PROJECT_DIR)public/sites/default/files -p && chmod 777 -R $(PROJECT_DIR)public/sites/default/files - -define docker_run_ci - docker compose exec -T $(1) sh -c "$(2)" -endef - -PHONY += setup-robo -setup-robo: $(SETUP_ROBO_TARGETS) - -PHONY += run-robo-tests -run-robo-tests: - $(call docker_run_ci,robo,cd /app/helfi-test-automation-python && chmod +x run_all_tests.sh && PREFIX=$(SITE_PREFIX) BASE_URL=$(DRUPAL_HOSTNAME) ./run_all_tests.sh)