diff --git a/.platform/schema b/.platform/schema index d8263ee98..e440e5c84 100644 --- a/.platform/schema +++ b/.platform/schema @@ -1 +1 @@ -2 \ No newline at end of file +3 \ No newline at end of file diff --git a/composer.json b/composer.json index 3d85c342d..74ef641d3 100644 --- a/composer.json +++ b/composer.json @@ -32,7 +32,12 @@ "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", "drupal/coder": "^8.3", "drupal/core-dev": "^9.1", + "jangregor/phpstan-prophecy": "^1.0", + "mglaman/phpstan-drupal": "^1.2", "phpspec/prophecy-phpunit": "^2", + "phpstan/extension-installer": "^1.3", + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-deprecation-rules": "^1.1", "phpunit/phpunit": "^9.6", "weitzman/drupal-test-traits": "^2.1" }, @@ -47,7 +52,8 @@ "composer/installers": true, "cweagans/composer-patches": true, "drupal/core-composer-scaffold": true, - "php-http/discovery": false + "php-http/discovery": false, + "phpstan/extension-installer": true }, "audit": { "abandoned": "report" diff --git a/composer.lock b/composer.lock index 0d7b216bd..0c1fe6dc8 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": "3c4c87874c39a0c29dfe3972b1a7049e", + "content-hash": "e094966d084dd76a93f218ce52d3bcbb", "packages": [ { "name": "asm89/stack-cors", @@ -1789,17 +1789,17 @@ }, { "name": "drupal/config_filter", - "version": "2.4.0", + "version": "2.5.0", "source": { "type": "git", "url": "https://git.drupalcode.org/project/config_filter.git", - "reference": "8.x-2.4" + "reference": "8.x-2.5" }, "dist": { "type": "zip", - "url": "https://ftp.drupal.org/files/projects/config_filter-8.x-2.4.zip", - "reference": "8.x-2.4", - "shasum": "dcf442f228dafd6bbac8948db1d51e3f1ca1d0c7" + "url": "https://ftp.drupal.org/files/projects/config_filter-8.x-2.5.zip", + "reference": "8.x-2.5", + "shasum": "a509ec432b0560fbba853b52e74d71cede5f6bdf" }, "require": { "drupal/core": "^8.8 || ^9 || ^10" @@ -1813,8 +1813,8 @@ "type": "drupal-module", "extra": { "drupal": { - "version": "8.x-2.4", - "datestamp": "1656936801", + "version": "8.x-2.5", + "datestamp": "1698096457", "security-coverage": { "status": "covered", "message": "Covered by Drupal's security advisory policy" @@ -3751,16 +3751,16 @@ }, { "name": "drupal/hdbt", - "version": "5.6.22", + "version": "5.6.23", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-hdbt.git", - "reference": "d28f8bf7135f1e0e59c4679c977fbafafbe3add5" + "reference": "e3d59c7b07f051da0a2f9d3cc0708137c5d72264" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt/zipball/d28f8bf7135f1e0e59c4679c977fbafafbe3add5", - "reference": "d28f8bf7135f1e0e59c4679c977fbafafbe3add5", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-hdbt/zipball/e3d59c7b07f051da0a2f9d3cc0708137c5d72264", + "reference": "e3d59c7b07f051da0a2f9d3cc0708137c5d72264", "shasum": "" }, "require": { @@ -3778,10 +3778,10 @@ "Drupal" ], "support": { - "source": "https://github.com/City-of-Helsinki/drupal-hdbt/tree/5.6.22", + "source": "https://github.com/City-of-Helsinki/drupal-hdbt/tree/5.6.23", "issues": "https://github.com/City-of-Helsinki/drupal-hdbt/issues" }, - "time": "2023-10-19T13:07:34+00:00" + "time": "2023-10-24T11:50:11+00:00" }, { "name": "drupal/hdbt_admin", @@ -3955,12 +3955,12 @@ "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-tools.git", - "reference": "4b78f15679d99b14dec7a62e593c2c8001f15cfa" + "reference": "3f74602477470e7220c12e0304d291f2504ad2ba" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-tools/zipball/4b78f15679d99b14dec7a62e593c2c8001f15cfa", - "reference": "4b78f15679d99b14dec7a62e593c2c8001f15cfa", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-tools/zipball/3f74602477470e7220c12e0304d291f2504ad2ba", + "reference": "3f74602477470e7220c12e0304d291f2504ad2ba", "shasum": "" }, "require": { @@ -3998,20 +3998,20 @@ "source": "https://github.com/City-of-Helsinki/drupal-tools/tree/main", "issues": "https://github.com/City-of-Helsinki/drupal-tools/issues" }, - "time": "2023-10-16T07:36:56+00:00" + "time": "2023-10-25T07:38:01+00:00" }, { "name": "drupal/helfi_navigation", - "version": "2.1.3", + "version": "2.1.4", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-module-helfi-navigation.git", - "reference": "e08ff75ed78ab66622662c3914abb55ba9ccf35f" + "reference": "a10ae58499ac50c2d4b34773c85653c0256a2e61" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-navigation/zipball/e08ff75ed78ab66622662c3914abb55ba9ccf35f", - "reference": "e08ff75ed78ab66622662c3914abb55ba9ccf35f", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-module-helfi-navigation/zipball/a10ae58499ac50c2d4b34773c85653c0256a2e61", + "reference": "a10ae58499ac50c2d4b34773c85653c0256a2e61", "shasum": "" }, "require": { @@ -4021,7 +4021,8 @@ }, "require-dev": { "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "drupal/coder": "^8.3" + "drupal/coder": "^8.3", + "drupal/menu_block_current_language": "^2.0" }, "type": "drupal-module", "license": [ @@ -4029,23 +4030,23 @@ ], "description": "Helfi - Navigation", "support": { - "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-navigation/tree/2.1.3", + "source": "https://github.com/City-of-Helsinki/drupal-module-helfi-navigation/tree/2.1.4", "issues": "https://github.com/City-of-Helsinki/drupal-module-helfi-navigation/issues" }, - "time": "2023-10-06T09:42:23+00:00" + "time": "2023-10-24T07:08:39+00:00" }, { "name": "drupal/helfi_platform_config", - "version": "3.4.31", + "version": "3.4.32", "source": { "type": "git", "url": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config.git", - "reference": "6f7082c57b0a2df3c9896d8d4e58ec2e4069847c" + "reference": "3fc6a55c3e54e0fcc83971bef6b8cd108aa59a7d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/City-of-Helsinki/drupal-helfi-platform-config/zipball/6f7082c57b0a2df3c9896d8d4e58ec2e4069847c", - "reference": "6f7082c57b0a2df3c9896d8d4e58ec2e4069847c", + "url": "https://api.github.com/repos/City-of-Helsinki/drupal-helfi-platform-config/zipball/3fc6a55c3e54e0fcc83971bef6b8cd108aa59a7d", + "reference": "3fc6a55c3e54e0fcc83971bef6b8cd108aa59a7d", "shasum": "" }, "require": { @@ -4150,10 +4151,10 @@ ], "description": "HELfi platform config", "support": { - "source": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/tree/3.4.31", + "source": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/tree/3.4.32", "issues": "https://github.com/City-of-Helsinki/drupal-helfi-platform-config/issues" }, - "time": "2023-10-23T08:25:37+00:00" + "time": "2023-10-24T19:15:05+00:00" }, { "name": "drupal/helfi_proxy", @@ -15238,6 +15239,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": "5.2.12", @@ -15308,6 +15374,110 @@ }, "time": "2022-04-13T08:02:27+00:00" }, + { + "name": "mglaman/phpstan-drupal", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/mglaman/phpstan-drupal.git", + "reference": "d721420086f146640acecebb7a678661a66e97d5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mglaman/phpstan-drupal/zipball/d721420086f146640acecebb7a678661a66e97d5", + "reference": "d721420086f146640acecebb7a678661a66e97d5", + "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", + "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", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-strict-rules": "^1.0", + "phpunit/phpunit": "^6.5 || ^7.5 || ^8.0 || ^9", + "slevomat/coding-standard": "^7.1", + "squizlabs/php_codesniffer": "^3.3", + "symfony/phpunit-bridge": "^3.4.3 || ^4.4 || ^5.4 || ^6.0" + }, + "suggest": { + "jangregor/phpstan-prophecy": "Provides a prophecy/prophecy extension for phpstan/phpstan.", + "phpstan/phpstan-deprecation-rules": "For catching deprecations, especially in Drupal core.", + "phpstan/phpstan-phpunit": "PHPUnit extensions and rules for PHPStan." + }, + "type": "phpstan-extension", + "extra": { + "branch-alias": { + "dev-main": "1.0-dev" + }, + "installer-paths": { + "tests/fixtures/drupal/core": [ + "type:drupal-core" + ], + "tests/fixtures/drupal/libraries/{$name}": [ + "type:drupal-library" + ], + "tests/fixtures/drupal/modules/contrib/{$name}": [ + "type:drupal-module" + ], + "tests/fixtures/drupal/profiles/contrib/{$name}": [ + "type:drupal-profile" + ], + "tests/fixtures/drupal/themes/contrib/{$name}": [ + "type:drupal-theme" + ] + }, + "phpstan": { + "includes": [ + "extension.neon", + "rules.neon" + ] + } + }, + "autoload": { + "psr-4": { + "mglaman\\PHPStanDrupal\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Matt Glaman", + "email": "nmd.matt@gmail.com" + } + ], + "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" + }, + "funding": [ + { + "url": "https://github.com/mglaman", + "type": "github" + }, + { + "url": "https://opencollective.com/phpstan-drupal", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/mglaman/phpstan-drupal", + "type": "tidelift" + } + ], + "time": "2023-08-24T20:32:56+00:00" + }, { "name": "mikey179/vfsstream", "version": "v1.6.11", @@ -15817,6 +15987,50 @@ }, "time": "2023-04-18T11:58:05+00:00" }, + { + "name": "phpstan/extension-installer", + "version": "1.3.1", + "source": { + "type": "git", + "url": "https://github.com/phpstan/extension-installer.git", + "reference": "f45734bfb9984c6c56c4486b71230355f066a58a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/f45734bfb9984c6c56c4486b71230355f066a58a", + "reference": "f45734bfb9984c6c56c4486b71230355f066a58a", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^2.0", + "php": "^7.2 || ^8.0", + "phpstan/phpstan": "^1.9.0" + }, + "require-dev": { + "composer/composer": "^2.0", + "php-parallel-lint/php-parallel-lint": "^1.2.0", + "phpstan/phpstan-strict-rules": "^0.11 || ^0.12 || ^1.0" + }, + "type": "composer-plugin", + "extra": { + "class": "PHPStan\\ExtensionInstaller\\Plugin" + }, + "autoload": { + "psr-4": { + "PHPStan\\ExtensionInstaller\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Composer plugin for automatic installation of PHPStan extensions", + "support": { + "issues": "https://github.com/phpstan/extension-installer/issues", + "source": "https://github.com/phpstan/extension-installer/tree/1.3.1" + }, + "time": "2023-05-24T08:59:17+00:00" + }, { "name": "phpstan/phpdoc-parser", "version": "1.24.2", @@ -15864,6 +16078,116 @@ }, "time": "2023-09-26T12:28:12+00:00" }, + { + "name": "phpstan/phpstan", + "version": "1.10.39", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan.git", + "reference": "d9dedb0413f678b4d03cbc2279a48f91592c97c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/d9dedb0413f678b4d03cbc2279a48f91592c97c4", + "reference": "d9dedb0413f678b4d03cbc2279a48f91592c97c4", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0" + }, + "conflict": { + "phpstan/phpstan-shim": "*" + }, + "bin": [ + "phpstan", + "phpstan.phar" + ], + "type": "library", + "autoload": { + "files": [ + "bootstrap.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan - PHP Static Analysis Tool", + "keywords": [ + "dev", + "static analysis" + ], + "support": { + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", + "issues": "https://github.com/phpstan/phpstan/issues", + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" + }, + "funding": [ + { + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://github.com/phpstan", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpstan/phpstan", + "type": "tidelift" + } + ], + "time": "2023-10-17T15:46:26+00:00" + }, + { + "name": "phpstan/phpstan-deprecation-rules", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan-deprecation-rules.git", + "reference": "089d8a8258ed0aeefdc7b68b6c3d25572ebfdbaa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/089d8a8258ed0aeefdc7b68b6c3d25572ebfdbaa", + "reference": "089d8a8258ed0aeefdc7b68b6c3d25572ebfdbaa", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0", + "phpstan/phpstan": "^1.10.3" + }, + "require-dev": { + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/phpstan-php-parser": "^1.1", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^9.5" + }, + "type": "phpstan-extension", + "extra": { + "phpstan": { + "includes": [ + "rules.neon" + ] + } + }, + "autoload": { + "psr-4": { + "PHPStan\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.", + "support": { + "issues": "https://github.com/phpstan/phpstan-deprecation-rules/issues", + "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/1.1.4" + }, + "time": "2023-08-05T09:02:04+00:00" + }, { "name": "phpunit/php-code-coverage", "version": "9.2.26",