diff --git a/.github/workflows/phpcs.yml b/.github/workflows/phpcs.yml
index 351f907..b8f2a54 100644
--- a/.github/workflows/phpcs.yml
+++ b/.github/workflows/phpcs.yml
@@ -24,12 +24,12 @@ jobs:
- name: Setup Environment
uses: php-actions/composer@v6
with:
- command: update
+ command: install
php_version: "8.1"
- - name: Run PHPCS
+ - name: Run PHP_CodeSniffer
uses: php-actions/phpcs@v1
with:
+ path: bin/ public/ src/
php_version: "8.1"
- path: src/
standard: phpcs.xml.dist
diff --git a/.github/workflows/phpmd.yml b/.github/workflows/phpmd.yml
index 9efa973..750721c 100644
--- a/.github/workflows/phpmd.yml
+++ b/.github/workflows/phpmd.yml
@@ -23,15 +23,19 @@ jobs:
uses: actions/checkout@v4
- name: Setup Environment
- uses: shivammathur/setup-php@v2
+ uses: php-actions/composer@v6
with:
- php-version: "8.1"
- coverage: none
- tools: phpmd
+ command: install
+ php_version: "8.1"
- - name: Run PHPMD
- run: phpmd . sarif codesize --reportfile phpmd-results.sarif
- continue-on-error: true
+ - name: Run PHP Mess Detector
+ uses: php-actions/phpmd@v1
+ with:
+ path: bin/ public/ src/
+ php_version: "8.1"
+ ruleset: .phpmd.dist.xml
+ output: sarif
+ reportfile: phpmd-results.sarif
- name: Upload Analysis Results
uses: github/codeql-action/upload-sarif@v3
diff --git a/.github/workflows/phpstan.yml b/.github/workflows/phpstan.yml
index 795fd42..a79b252 100644
--- a/.github/workflows/phpstan.yml
+++ b/.github/workflows/phpstan.yml
@@ -25,11 +25,12 @@ jobs:
- name: Setup Environment
uses: php-actions/composer@v6
with:
- command: update
+ command: install
php_version: "8.1"
- name: Run PHPStan
uses: php-actions/phpstan@v3
with:
- path: src/
+ path: bin/ public/ src/
+ php_version: "8.1"
configuration: phpstan.dist.neon
diff --git a/.github/workflows/psalm.yml b/.github/workflows/psalm.yml
index 6b5f5be..f0f17fc 100644
--- a/.github/workflows/psalm.yml
+++ b/.github/workflows/psalm.yml
@@ -22,6 +22,12 @@ jobs:
- name: Checkout Source Code
uses: actions/checkout@v4
+ - name: Setup Environment
+ uses: php-actions/composer@v6
+ with:
+ command: install
+ php_version: "8.1"
+
- name: Run Psalm
uses: docker://ghcr.io/psalm/psalm-github-actions
with:
diff --git a/.gitignore b/.gitignore
index 0fae00d..8696dea 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,6 +6,8 @@
/vendor/
.php-cs-fixer.cache
.php-cs-fixer.php
+.phpmd.result-cache.php
+.phpmd.xml
phpcs.xml
phpdoc.xml
phpstan.neon
diff --git a/.phpmd.dist.xml b/.phpmd.dist.xml
new file mode 100644
index 0000000..55da42a
--- /dev/null
+++ b/.phpmd.dist.xml
@@ -0,0 +1,26 @@
+
+
+
+ Open Culture Consulting follows PHP Mess Detector standards.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md
index 8a365d1..17bb0a6 100644
--- a/CODE_OF_CONDUCT.md
+++ b/CODE_OF_CONDUCT.md
@@ -116,13 +116,13 @@ the community.
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
-https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
+.
Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).
-[homepage]: https://www.contributor-covenant.org
+[homepage]:
For answers to common questions about this code of conduct, see the FAQ at
-https://www.contributor-covenant.org/faq. Translations are available at
-https://www.contributor-covenant.org/translations.
+. Translations are available at
+.
diff --git a/composer.json b/composer.json
index f273ba1..bf45fdc 100644
--- a/composer.json
+++ b/composer.json
@@ -43,6 +43,7 @@
},
"require-dev": {
"phpdocumentor/shim": "^3.5",
+ "phpmd/phpmd": "^2.15",
"phpstan/phpstan": "^1.11",
"phpstan/phpstan-strict-rules": "^1.6",
"friendsofphp/php-cs-fixer": "^3.59",
@@ -92,6 +93,10 @@
"phpdoc:build": [
"@php vendor/bin/phpdoc"
],
+ "phpmd:check": [
+ "@php -r \"if (!file_exists('./.phpmd.xml')) { copy('./.phpmd.dist.xml', './.phpmd.xml'); }\"",
+ "@php vendor/bin/phpmd ./bin,./public,./src ansi .phpmd.xml --cache"
+ ],
"phpstan:check": [
"@php vendor/bin/phpstan"
],
@@ -109,6 +114,7 @@
"php-cs-fixer:fix": "Runs a code check with PHP Coding Standards Fixer and tries to fix all issues. If a custom configuration file '.php-cs-fixer.php' exists, it will be used instead of the default settings in '.php-cs-fixer.dist.php'.",
"phpcs:check": "Runs a code check with PHP_CodeSniffer and reports problems. If a custom configuration file '.phpcs.xml' exists, it will be used instead of the default settings in '.phpcs.xml.dist'.",
"phpdoc:build": "Builds the documentation from source files in ./src and additional templates in .phpdoc/. If a custom configuration file 'phpdoc.xml' exists, it will be used instead of the default settings in 'phpdoc.dist.xml'.",
+ "phpmd:check": "Runs a code check with PHP Mess Detector static code analyzer and reports problems. If a custom configuration file '.phpmd.xml' exists, it will be used instead of the default settings in '.phpmd.dist.xml'.",
"phpstan:check": "Runs a code check with PHPStan static code analyzer and reports problems. If a custom configuration file 'phpstan.neon' exists, it will be used instead of the default settings in 'phpstan.dist.neon'.",
"psalm:check": "Runs a code check with Psalm static code analyzer and reports problems. If a custom configuration file 'psalm.xml' exists, it will be used instead of the default settings in 'psalm.xml.dist'.",
"psalm:check-security": "Runs a code check with Psalm static code analyzer and reports security issues. If a custom configuration file 'psalm.xml' exists, it will be used instead of the default settings in 'psalm.xml.dist'."
diff --git a/composer.lock b/composer.lock
index fec8caf..6356807 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": "8fbabb7463378ac73b62ab40c5f50b20",
+ "content-hash": "176c33af04203780cfc99ddb9b4742f6",
"packages": [
{
"name": "doctrine/cache",
@@ -187,16 +187,16 @@
},
{
"name": "doctrine/dbal",
- "version": "3.8.6",
+ "version": "3.8.7",
"source": {
"type": "git",
"url": "https://github.com/doctrine/dbal.git",
- "reference": "b7411825cf7efb7e51f9791dea19d86e43b399a1"
+ "reference": "2093d670ca17f634f3c095ec10a20687eccebd99"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/doctrine/dbal/zipball/b7411825cf7efb7e51f9791dea19d86e43b399a1",
- "reference": "b7411825cf7efb7e51f9791dea19d86e43b399a1",
+ "url": "https://api.github.com/repos/doctrine/dbal/zipball/2093d670ca17f634f3c095ec10a20687eccebd99",
+ "reference": "2093d670ca17f634f3c095ec10a20687eccebd99",
"shasum": ""
},
"require": {
@@ -212,12 +212,12 @@
"doctrine/coding-standard": "12.0.0",
"fig/log-test": "^1",
"jetbrains/phpstorm-stubs": "2023.1",
- "phpstan/phpstan": "1.11.5",
+ "phpstan/phpstan": "1.11.7",
"phpstan/phpstan-strict-rules": "^1.6",
- "phpunit/phpunit": "9.6.19",
+ "phpunit/phpunit": "9.6.20",
"psalm/plugin-phpunit": "0.18.4",
"slevomat/coding-standard": "8.13.1",
- "squizlabs/php_codesniffer": "3.10.1",
+ "squizlabs/php_codesniffer": "3.10.2",
"symfony/cache": "^5.4|^6.0|^7.0",
"symfony/console": "^4.4|^5.4|^6.0|^7.0",
"vimeo/psalm": "4.30.0"
@@ -280,7 +280,7 @@
],
"support": {
"issues": "https://github.com/doctrine/dbal/issues",
- "source": "https://github.com/doctrine/dbal/tree/3.8.6"
+ "source": "https://github.com/doctrine/dbal/tree/3.8.7"
},
"funding": [
{
@@ -296,7 +296,7 @@
"type": "tidelift"
}
],
- "time": "2024-06-19T10:38:17+00:00"
+ "time": "2024-08-07T11:57:25+00:00"
},
{
"name": "doctrine/deprecations",
@@ -861,16 +861,16 @@
},
{
"name": "guzzlehttp/psr7",
- "version": "2.6.2",
+ "version": "2.7.0",
"source": {
"type": "git",
"url": "https://github.com/guzzle/psr7.git",
- "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221"
+ "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221",
- "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221",
+ "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
+ "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
"shasum": ""
},
"require": {
@@ -885,8 +885,8 @@
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2",
- "http-interop/http-factory-tests": "^0.9",
- "phpunit/phpunit": "^8.5.36 || ^9.6.15"
+ "http-interop/http-factory-tests": "0.9.0",
+ "phpunit/phpunit": "^8.5.39 || ^9.6.20"
},
"suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
@@ -957,7 +957,7 @@
],
"support": {
"issues": "https://github.com/guzzle/psr7/issues",
- "source": "https://github.com/guzzle/psr7/tree/2.6.2"
+ "source": "https://github.com/guzzle/psr7/tree/2.7.0"
},
"funding": [
{
@@ -973,7 +973,7 @@
"type": "tidelift"
}
],
- "time": "2023-12-03T20:05:35+00:00"
+ "time": "2024-07-18T11:15:46+00:00"
},
{
"name": "opencultureconsulting/basics",
@@ -1542,16 +1542,16 @@
},
{
"name": "symfony/cache",
- "version": "v6.4.8",
+ "version": "v6.4.10",
"source": {
"type": "git",
"url": "https://github.com/symfony/cache.git",
- "reference": "287142df5579ce223c485b3872df3efae8390984"
+ "reference": "6702d2d777260e6ff3451fee2d7d78ab5f715cdc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/cache/zipball/287142df5579ce223c485b3872df3efae8390984",
- "reference": "287142df5579ce223c485b3872df3efae8390984",
+ "url": "https://api.github.com/repos/symfony/cache/zipball/6702d2d777260e6ff3451fee2d7d78ab5f715cdc",
+ "reference": "6702d2d777260e6ff3451fee2d7d78ab5f715cdc",
"shasum": ""
},
"require": {
@@ -1618,7 +1618,7 @@
"psr6"
],
"support": {
- "source": "https://github.com/symfony/cache/tree/v6.4.8"
+ "source": "https://github.com/symfony/cache/tree/v6.4.10"
},
"funding": [
{
@@ -1634,7 +1634,7 @@
"type": "tidelift"
}
],
- "time": "2024-05-31T14:49:08+00:00"
+ "time": "2024-07-17T06:05:49+00:00"
},
{
"name": "symfony/cache-contracts",
@@ -1714,16 +1714,16 @@
},
{
"name": "symfony/console",
- "version": "v6.4.9",
+ "version": "v6.4.10",
"source": {
"type": "git",
"url": "https://github.com/symfony/console.git",
- "reference": "6edb5363ec0c78ad4d48c5128ebf4d083d89d3a9"
+ "reference": "504974cbe43d05f83b201d6498c206f16fc0cdbc"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/console/zipball/6edb5363ec0c78ad4d48c5128ebf4d083d89d3a9",
- "reference": "6edb5363ec0c78ad4d48c5128ebf4d083d89d3a9",
+ "url": "https://api.github.com/repos/symfony/console/zipball/504974cbe43d05f83b201d6498c206f16fc0cdbc",
+ "reference": "504974cbe43d05f83b201d6498c206f16fc0cdbc",
"shasum": ""
},
"require": {
@@ -1788,7 +1788,7 @@
"terminal"
],
"support": {
- "source": "https://github.com/symfony/console/tree/v6.4.9"
+ "source": "https://github.com/symfony/console/tree/v6.4.10"
},
"funding": [
{
@@ -1804,7 +1804,7 @@
"type": "tidelift"
}
],
- "time": "2024-06-28T09:49:33+00:00"
+ "time": "2024-07-26T12:30:32+00:00"
},
{
"name": "symfony/deprecation-contracts",
@@ -2418,16 +2418,16 @@
},
{
"name": "symfony/string",
- "version": "v6.4.9",
+ "version": "v6.4.10",
"source": {
"type": "git",
"url": "https://github.com/symfony/string.git",
- "reference": "76792dbd99690a5ebef8050d9206c60c59e681d7"
+ "reference": "ccf9b30251719567bfd46494138327522b9a9446"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/string/zipball/76792dbd99690a5ebef8050d9206c60c59e681d7",
- "reference": "76792dbd99690a5ebef8050d9206c60c59e681d7",
+ "url": "https://api.github.com/repos/symfony/string/zipball/ccf9b30251719567bfd46494138327522b9a9446",
+ "reference": "ccf9b30251719567bfd46494138327522b9a9446",
"shasum": ""
},
"require": {
@@ -2484,7 +2484,7 @@
"utf8"
],
"support": {
- "source": "https://github.com/symfony/string/tree/v6.4.9"
+ "source": "https://github.com/symfony/string/tree/v6.4.10"
},
"funding": [
{
@@ -2500,7 +2500,7 @@
"type": "tidelift"
}
],
- "time": "2024-06-28T09:25:38+00:00"
+ "time": "2024-07-22T10:21:14+00:00"
},
{
"name": "symfony/translation-contracts",
@@ -2582,16 +2582,16 @@
},
{
"name": "symfony/validator",
- "version": "v6.4.9",
+ "version": "v6.4.10",
"source": {
"type": "git",
"url": "https://github.com/symfony/validator.git",
- "reference": "ee0a4d6a327a963aee094f730da238f7ea18cb01"
+ "reference": "bcf939a9d1acd7d2912e9474c0c3d7840a03cbcd"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/validator/zipball/ee0a4d6a327a963aee094f730da238f7ea18cb01",
- "reference": "ee0a4d6a327a963aee094f730da238f7ea18cb01",
+ "url": "https://api.github.com/repos/symfony/validator/zipball/bcf939a9d1acd7d2912e9474c0c3d7840a03cbcd",
+ "reference": "bcf939a9d1acd7d2912e9474c0c3d7840a03cbcd",
"shasum": ""
},
"require": {
@@ -2659,7 +2659,7 @@
"description": "Provides tools to validate values",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/validator/tree/v6.4.9"
+ "source": "https://github.com/symfony/validator/tree/v6.4.10"
},
"funding": [
{
@@ -2675,7 +2675,7 @@
"type": "tidelift"
}
],
- "time": "2024-06-22T07:42:41+00:00"
+ "time": "2024-07-26T12:30:32+00:00"
},
{
"name": "symfony/var-exporter",
@@ -3054,30 +3054,38 @@
},
{
"name": "composer/pcre",
- "version": "3.1.4",
+ "version": "3.2.0",
"source": {
"type": "git",
"url": "https://github.com/composer/pcre.git",
- "reference": "04229f163664973f68f38f6f73d917799168ef24"
+ "reference": "ea4ab6f9580a4fd221e0418f2c357cdd39102a90"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/composer/pcre/zipball/04229f163664973f68f38f6f73d917799168ef24",
- "reference": "04229f163664973f68f38f6f73d917799168ef24",
+ "url": "https://api.github.com/repos/composer/pcre/zipball/ea4ab6f9580a4fd221e0418f2c357cdd39102a90",
+ "reference": "ea4ab6f9580a4fd221e0418f2c357cdd39102a90",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0"
},
+ "conflict": {
+ "phpstan/phpstan": "<1.11.8"
+ },
"require-dev": {
- "phpstan/phpstan": "^1.3",
+ "phpstan/phpstan": "^1.11.8",
"phpstan/phpstan-strict-rules": "^1.1",
- "symfony/phpunit-bridge": "^5"
+ "phpunit/phpunit": "^8 || ^9"
},
"type": "library",
"extra": {
"branch-alias": {
"dev-main": "3.x-dev"
+ },
+ "phpstan": {
+ "includes": [
+ "extension.neon"
+ ]
}
},
"autoload": {
@@ -3105,7 +3113,7 @@
],
"support": {
"issues": "https://github.com/composer/pcre/issues",
- "source": "https://github.com/composer/pcre/tree/3.1.4"
+ "source": "https://github.com/composer/pcre/tree/3.2.0"
},
"funding": [
{
@@ -3121,7 +3129,7 @@
"type": "tidelift"
}
],
- "time": "2024-05-27T13:40:54+00:00"
+ "time": "2024-07-25T09:36:02+00:00"
},
{
"name": "composer/semver",
@@ -3518,16 +3526,16 @@
},
{
"name": "friendsofphp/php-cs-fixer",
- "version": "v3.59.3",
+ "version": "v3.62.0",
"source": {
"type": "git",
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
- "reference": "30ba9ecc2b0e5205e578fe29973c15653d9bfd29"
+ "reference": "627692f794d35c43483f34b01d94740df2a73507"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/30ba9ecc2b0e5205e578fe29973c15653d9bfd29",
- "reference": "30ba9ecc2b0e5205e578fe29973c15653d9bfd29",
+ "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/627692f794d35c43483f34b01d94740df2a73507",
+ "reference": "627692f794d35c43483f34b01d94740df2a73507",
"shasum": ""
},
"require": {
@@ -3609,7 +3617,7 @@
],
"support": {
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues",
- "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.59.3"
+ "source": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/tree/v3.62.0"
},
"funding": [
{
@@ -3617,7 +3625,7 @@
"type": "github"
}
],
- "time": "2024-06-16T14:17:03+00:00"
+ "time": "2024-08-07T17:03:09+00:00"
},
{
"name": "netresearch/jsonmapper",
@@ -3726,6 +3734,69 @@
},
"time": "2024-03-17T08:10:35+00:00"
},
+ {
+ "name": "pdepend/pdepend",
+ "version": "2.16.2",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/pdepend/pdepend.git",
+ "reference": "f942b208dc2a0868454d01b29f0c75bbcfc6ed58"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/pdepend/pdepend/zipball/f942b208dc2a0868454d01b29f0c75bbcfc6ed58",
+ "reference": "f942b208dc2a0868454d01b29f0c75bbcfc6ed58",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=5.3.7",
+ "symfony/config": "^2.3.0|^3|^4|^5|^6.0|^7.0",
+ "symfony/dependency-injection": "^2.3.0|^3|^4|^5|^6.0|^7.0",
+ "symfony/filesystem": "^2.3.0|^3|^4|^5|^6.0|^7.0",
+ "symfony/polyfill-mbstring": "^1.19"
+ },
+ "require-dev": {
+ "easy-doc/easy-doc": "0.0.0|^1.2.3",
+ "gregwar/rst": "^1.0",
+ "squizlabs/php_codesniffer": "^2.0.0"
+ },
+ "bin": [
+ "src/bin/pdepend"
+ ],
+ "type": "library",
+ "extra": {
+ "branch-alias": {
+ "dev-master": "2.x-dev"
+ }
+ },
+ "autoload": {
+ "psr-4": {
+ "PDepend\\": "src/main/php/PDepend"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "description": "Official version of pdepend to be handled with Composer",
+ "keywords": [
+ "PHP Depend",
+ "PHP_Depend",
+ "dev",
+ "pdepend"
+ ],
+ "support": {
+ "issues": "https://github.com/pdepend/pdepend/issues",
+ "source": "https://github.com/pdepend/pdepend/tree/2.16.2"
+ },
+ "funding": [
+ {
+ "url": "https://tidelift.com/funding/github/packagist/pdepend/pdepend",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-17T18:09:59+00:00"
+ },
{
"name": "phar-io/composer-distributor",
"version": "1.0.2",
@@ -4059,16 +4130,16 @@
},
{
"name": "phpdocumentor/shim",
- "version": "v3.5.2",
+ "version": "v3.5.3",
"source": {
"type": "git",
"url": "https://github.com/phpDocumentor/shim.git",
- "reference": "8b92f00534831a87ae2e085befc87e656c844d46"
+ "reference": "1fa78ef4bf7f11b9e386e6d84abb37957eb7f908"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpDocumentor/shim/zipball/8b92f00534831a87ae2e085befc87e656c844d46",
- "reference": "8b92f00534831a87ae2e085befc87e656c844d46",
+ "url": "https://api.github.com/repos/phpDocumentor/shim/zipball/1fa78ef4bf7f11b9e386e6d84abb37957eb7f908",
+ "reference": "1fa78ef4bf7f11b9e386e6d84abb37957eb7f908",
"shasum": ""
},
"require": {
@@ -4089,9 +4160,9 @@
"MIT"
],
"support": {
- "source": "https://github.com/phpDocumentor/shim/tree/v3.5.2"
+ "source": "https://github.com/phpDocumentor/shim/tree/v3.5.3"
},
- "time": "2024-06-27T20:50:43+00:00"
+ "time": "2024-07-18T21:35:16+00:00"
},
{
"name": "phpdocumentor/type-resolver",
@@ -4151,6 +4222,89 @@
},
"time": "2024-02-23T11:10:43+00:00"
},
+ {
+ "name": "phpmd/phpmd",
+ "version": "2.15.0",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/phpmd/phpmd.git",
+ "reference": "74a1f56e33afad4128b886e334093e98e1b5e7c0"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/phpmd/phpmd/zipball/74a1f56e33afad4128b886e334093e98e1b5e7c0",
+ "reference": "74a1f56e33afad4128b886e334093e98e1b5e7c0",
+ "shasum": ""
+ },
+ "require": {
+ "composer/xdebug-handler": "^1.0 || ^2.0 || ^3.0",
+ "ext-xml": "*",
+ "pdepend/pdepend": "^2.16.1",
+ "php": ">=5.3.9"
+ },
+ "require-dev": {
+ "easy-doc/easy-doc": "0.0.0 || ^1.3.2",
+ "ext-json": "*",
+ "ext-simplexml": "*",
+ "gregwar/rst": "^1.0",
+ "mikey179/vfsstream": "^1.6.8",
+ "squizlabs/php_codesniffer": "^2.9.2 || ^3.7.2"
+ },
+ "bin": [
+ "src/bin/phpmd"
+ ],
+ "type": "library",
+ "autoload": {
+ "psr-0": {
+ "PHPMD\\": "src/main/php"
+ }
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "BSD-3-Clause"
+ ],
+ "authors": [
+ {
+ "name": "Manuel Pichler",
+ "email": "github@manuel-pichler.de",
+ "homepage": "https://github.com/manuelpichler",
+ "role": "Project Founder"
+ },
+ {
+ "name": "Marc Würth",
+ "email": "ravage@bluewin.ch",
+ "homepage": "https://github.com/ravage84",
+ "role": "Project Maintainer"
+ },
+ {
+ "name": "Other contributors",
+ "homepage": "https://github.com/phpmd/phpmd/graphs/contributors",
+ "role": "Contributors"
+ }
+ ],
+ "description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.",
+ "homepage": "https://phpmd.org/",
+ "keywords": [
+ "dev",
+ "mess detection",
+ "mess detector",
+ "pdepend",
+ "phpmd",
+ "pmd"
+ ],
+ "support": {
+ "irc": "irc://irc.freenode.org/phpmd",
+ "issues": "https://github.com/phpmd/phpmd/issues",
+ "source": "https://github.com/phpmd/phpmd/tree/2.15.0"
+ },
+ "funding": [
+ {
+ "url": "https://tidelift.com/funding/github/packagist/phpmd/phpmd",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2023-12-11T08:22:20+00:00"
+ },
{
"name": "phpstan/phpdoc-parser",
"version": "1.29.1",
@@ -4200,16 +4354,16 @@
},
{
"name": "phpstan/phpstan",
- "version": "1.11.7",
+ "version": "1.11.10",
"source": {
"type": "git",
"url": "https://github.com/phpstan/phpstan.git",
- "reference": "52d2bbfdcae7f895915629e4694e9497d0f8e28d"
+ "reference": "640410b32995914bde3eed26fa89552f9c2c082f"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/phpstan/phpstan/zipball/52d2bbfdcae7f895915629e4694e9497d0f8e28d",
- "reference": "52d2bbfdcae7f895915629e4694e9497d0f8e28d",
+ "url": "https://api.github.com/repos/phpstan/phpstan/zipball/640410b32995914bde3eed26fa89552f9c2c082f",
+ "reference": "640410b32995914bde3eed26fa89552f9c2c082f",
"shasum": ""
},
"require": {
@@ -4254,7 +4408,7 @@
"type": "github"
}
],
- "time": "2024-07-06T11:17:41+00:00"
+ "time": "2024-08-08T09:02:50+00:00"
},
{
"name": "phpstan/phpstan-strict-rules",
@@ -4729,31 +4883,31 @@
},
{
"name": "react/socket",
- "version": "v1.15.0",
+ "version": "v1.16.0",
"source": {
"type": "git",
"url": "https://github.com/reactphp/socket.git",
- "reference": "216d3aec0b87f04a40ca04f481e6af01bdd1d038"
+ "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/reactphp/socket/zipball/216d3aec0b87f04a40ca04f481e6af01bdd1d038",
- "reference": "216d3aec0b87f04a40ca04f481e6af01bdd1d038",
+ "url": "https://api.github.com/repos/reactphp/socket/zipball/23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1",
+ "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1",
"shasum": ""
},
"require": {
"evenement/evenement": "^3.0 || ^2.0 || ^1.0",
"php": ">=5.3.0",
- "react/dns": "^1.11",
+ "react/dns": "^1.13",
"react/event-loop": "^1.2",
- "react/promise": "^3 || ^2.6 || ^1.2.1",
- "react/stream": "^1.2"
+ "react/promise": "^3.2 || ^2.6 || ^1.2.1",
+ "react/stream": "^1.4"
},
"require-dev": {
"phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36",
- "react/async": "^4 || ^3 || ^2",
+ "react/async": "^4.3 || ^3.3 || ^2",
"react/promise-stream": "^1.4",
- "react/promise-timer": "^1.10"
+ "react/promise-timer": "^1.11"
},
"type": "library",
"autoload": {
@@ -4797,7 +4951,7 @@
],
"support": {
"issues": "https://github.com/reactphp/socket/issues",
- "source": "https://github.com/reactphp/socket/tree/v1.15.0"
+ "source": "https://github.com/reactphp/socket/tree/v1.16.0"
},
"funding": [
{
@@ -4805,7 +4959,7 @@
"type": "open_collective"
}
],
- "time": "2023-12-15T11:02:10+00:00"
+ "time": "2024-07-26T10:38:09+00:00"
},
{
"name": "react/stream",
@@ -5022,16 +5176,16 @@
},
{
"name": "squizlabs/php_codesniffer",
- "version": "3.10.1",
+ "version": "3.10.2",
"source": {
"type": "git",
"url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
- "reference": "8f90f7a53ce271935282967f53d0894f8f1ff877"
+ "reference": "86e5f5dd9a840c46810ebe5ff1885581c42a3017"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/8f90f7a53ce271935282967f53d0894f8f1ff877",
- "reference": "8f90f7a53ce271935282967f53d0894f8f1ff877",
+ "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/86e5f5dd9a840c46810ebe5ff1885581c42a3017",
+ "reference": "86e5f5dd9a840c46810ebe5ff1885581c42a3017",
"shasum": ""
},
"require": {
@@ -5098,7 +5252,163 @@
"type": "open_collective"
}
],
- "time": "2024-05-22T21:24:41+00:00"
+ "time": "2024-07-21T23:26:44+00:00"
+ },
+ {
+ "name": "symfony/config",
+ "version": "v6.4.8",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/config.git",
+ "reference": "12e7e52515ce37191b193cf3365903c4f3951e35"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/config/zipball/12e7e52515ce37191b193cf3365903c4f3951e35",
+ "reference": "12e7e52515ce37191b193cf3365903c4f3951e35",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/filesystem": "^5.4|^6.0|^7.0",
+ "symfony/polyfill-ctype": "~1.8"
+ },
+ "conflict": {
+ "symfony/finder": "<5.4",
+ "symfony/service-contracts": "<2.5"
+ },
+ "require-dev": {
+ "symfony/event-dispatcher": "^5.4|^6.0|^7.0",
+ "symfony/finder": "^5.4|^6.0|^7.0",
+ "symfony/messenger": "^5.4|^6.0|^7.0",
+ "symfony/service-contracts": "^2.5|^3",
+ "symfony/yaml": "^5.4|^6.0|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\Config\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/config/tree/v6.4.8"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-05-31T14:49:08+00:00"
+ },
+ {
+ "name": "symfony/dependency-injection",
+ "version": "v6.4.10",
+ "source": {
+ "type": "git",
+ "url": "https://github.com/symfony/dependency-injection.git",
+ "reference": "5caf9c5f6085f13b27d70a236b776c07e4a1c3eb"
+ },
+ "dist": {
+ "type": "zip",
+ "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/5caf9c5f6085f13b27d70a236b776c07e4a1c3eb",
+ "reference": "5caf9c5f6085f13b27d70a236b776c07e4a1c3eb",
+ "shasum": ""
+ },
+ "require": {
+ "php": ">=8.1",
+ "psr/container": "^1.1|^2.0",
+ "symfony/deprecation-contracts": "^2.5|^3",
+ "symfony/service-contracts": "^2.5|^3.0",
+ "symfony/var-exporter": "^6.2.10|^7.0"
+ },
+ "conflict": {
+ "ext-psr": "<1.1|>=2",
+ "symfony/config": "<6.1",
+ "symfony/finder": "<5.4",
+ "symfony/proxy-manager-bridge": "<6.3",
+ "symfony/yaml": "<5.4"
+ },
+ "provide": {
+ "psr/container-implementation": "1.1|2.0",
+ "symfony/service-implementation": "1.1|2.0|3.0"
+ },
+ "require-dev": {
+ "symfony/config": "^6.1|^7.0",
+ "symfony/expression-language": "^5.4|^6.0|^7.0",
+ "symfony/yaml": "^5.4|^6.0|^7.0"
+ },
+ "type": "library",
+ "autoload": {
+ "psr-4": {
+ "Symfony\\Component\\DependencyInjection\\": ""
+ },
+ "exclude-from-classmap": [
+ "/Tests/"
+ ]
+ },
+ "notification-url": "https://packagist.org/downloads/",
+ "license": [
+ "MIT"
+ ],
+ "authors": [
+ {
+ "name": "Fabien Potencier",
+ "email": "fabien@symfony.com"
+ },
+ {
+ "name": "Symfony Community",
+ "homepage": "https://symfony.com/contributors"
+ }
+ ],
+ "description": "Allows you to standardize and centralize the way objects are constructed in your application",
+ "homepage": "https://symfony.com",
+ "support": {
+ "source": "https://github.com/symfony/dependency-injection/tree/v6.4.10"
+ },
+ "funding": [
+ {
+ "url": "https://symfony.com/sponsor",
+ "type": "custom"
+ },
+ {
+ "url": "https://github.com/fabpot",
+ "type": "github"
+ },
+ {
+ "url": "https://tidelift.com/funding/github/packagist/symfony/symfony",
+ "type": "tidelift"
+ }
+ ],
+ "time": "2024-07-26T07:32:07+00:00"
},
{
"name": "symfony/event-dispatcher",
@@ -5258,16 +5568,16 @@
},
{
"name": "symfony/finder",
- "version": "v6.4.8",
+ "version": "v6.4.10",
"source": {
"type": "git",
"url": "https://github.com/symfony/finder.git",
- "reference": "3ef977a43883215d560a2cecb82ec8e62131471c"
+ "reference": "af29198d87112bebdd397bd7735fbd115997824c"
},
"dist": {
"type": "zip",
- "url": "https://api.github.com/repos/symfony/finder/zipball/3ef977a43883215d560a2cecb82ec8e62131471c",
- "reference": "3ef977a43883215d560a2cecb82ec8e62131471c",
+ "url": "https://api.github.com/repos/symfony/finder/zipball/af29198d87112bebdd397bd7735fbd115997824c",
+ "reference": "af29198d87112bebdd397bd7735fbd115997824c",
"shasum": ""
},
"require": {
@@ -5302,7 +5612,7 @@
"description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com",
"support": {
- "source": "https://github.com/symfony/finder/tree/v6.4.8"
+ "source": "https://github.com/symfony/finder/tree/v6.4.10"
},
"funding": [
{
@@ -5318,7 +5628,7 @@
"type": "tidelift"
}
],
- "time": "2024-05-31T14:49:08+00:00"
+ "time": "2024-07-24T07:06:38+00:00"
},
{
"name": "symfony/options-resolver",
diff --git a/phpstan.dist.neon b/phpstan.dist.neon
index 7a9d50f..58e4059 100644
--- a/phpstan.dist.neon
+++ b/phpstan.dist.neon
@@ -11,4 +11,6 @@ parameters:
strictRules:
noVariableVariables: false
paths:
+ - bin
+ - public
- src