Rework PHPMD integration

This commit is contained in:
Sebastian Meyer 2024-08-09 12:29:36 +02:00
parent bfb02a1205
commit d16efe47ed
10 changed files with 462 additions and 105 deletions

View File

@ -24,12 +24,12 @@ jobs:
- name: Setup Environment - name: Setup Environment
uses: php-actions/composer@v6 uses: php-actions/composer@v6
with: with:
command: update command: install
php_version: "8.1" php_version: "8.1"
- name: Run PHPCS - name: Run PHP_CodeSniffer
uses: php-actions/phpcs@v1 uses: php-actions/phpcs@v1
with: with:
path: bin/ public/ src/
php_version: "8.1" php_version: "8.1"
path: src/
standard: phpcs.xml.dist standard: phpcs.xml.dist

View File

@ -23,15 +23,19 @@ jobs:
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Environment - name: Setup Environment
uses: shivammathur/setup-php@v2 uses: php-actions/composer@v6
with: with:
php-version: "8.1" command: install
coverage: none php_version: "8.1"
tools: phpmd
- name: Run PHPMD - name: Run PHP Mess Detector
run: phpmd . sarif codesize --reportfile phpmd-results.sarif uses: php-actions/phpmd@v1
continue-on-error: true with:
path: bin/ public/ src/
php_version: "8.1"
ruleset: .phpmd.dist.xml
output: sarif
reportfile: phpmd-results.sarif
- name: Upload Analysis Results - name: Upload Analysis Results
uses: github/codeql-action/upload-sarif@v3 uses: github/codeql-action/upload-sarif@v3

View File

@ -25,11 +25,12 @@ jobs:
- name: Setup Environment - name: Setup Environment
uses: php-actions/composer@v6 uses: php-actions/composer@v6
with: with:
command: update command: install
php_version: "8.1" php_version: "8.1"
- name: Run PHPStan - name: Run PHPStan
uses: php-actions/phpstan@v3 uses: php-actions/phpstan@v3
with: with:
path: src/ path: bin/ public/ src/
php_version: "8.1"
configuration: phpstan.dist.neon configuration: phpstan.dist.neon

View File

@ -22,6 +22,12 @@ jobs:
- name: Checkout Source Code - name: Checkout Source Code
uses: actions/checkout@v4 uses: actions/checkout@v4
- name: Setup Environment
uses: php-actions/composer@v6
with:
command: install
php_version: "8.1"
- name: Run Psalm - name: Run Psalm
uses: docker://ghcr.io/psalm/psalm-github-actions uses: docker://ghcr.io/psalm/psalm-github-actions
with: with:

2
.gitignore vendored
View File

@ -6,6 +6,8 @@
/vendor/ /vendor/
.php-cs-fixer.cache .php-cs-fixer.cache
.php-cs-fixer.php .php-cs-fixer.php
.phpmd.result-cache.php
.phpmd.xml
phpcs.xml phpcs.xml
phpdoc.xml phpdoc.xml
phpstan.neon phpstan.neon

26
.phpmd.dist.xml Normal file
View File

@ -0,0 +1,26 @@
<?xml version="1.0"?>
<ruleset name="OCC Default PHPMD Ruleset"
xmlns="http://pmd.sf.net/ruleset/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://pmd.sf.net/ruleset/1.0.0
http://pmd.sf.net/ruleset_xml_schema.xsd"
xsi:noNamespaceSchemaLocation="
http://pmd.sf.net/ruleset_xml_schema.xsd">
<description>
Open Culture Consulting follows PHP Mess Detector standards.
</description>
<rule ref="rulesets/cleancode.xml">
<exclude name="ElseExpression" />
<!-- We need to statically access third-party helpers from Symfony. -->
<exclude name="StaticAccess" />
</rule>
<rule ref="rulesets/codesize.xml" />
<rule ref="rulesets/controversial.xml" />
<rule ref="rulesets/design.xml" />
<rule ref="rulesets/naming.xml" />
<rule ref="rulesets/unusedcode.xml">
<!-- We have to declare unused parameters to satisfy interface requirements. -->
<exclude name="UnusedFormalParameter" />
</rule>
</ruleset>

View File

@ -116,13 +116,13 @@ the community.
This Code of Conduct is adapted from the [Contributor Covenant][homepage], This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. <https://www.contributor-covenant.org/version/2/0/code_of_conduct.html>.
Community Impact Guidelines were inspired by [Mozilla's code of conduct Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity). enforcement ladder](https://github.com/mozilla/diversity).
[homepage]: https://www.contributor-covenant.org [homepage]: <https://www.contributor-covenant.org>
For answers to common questions about this code of conduct, see the FAQ at 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/faq>. Translations are available at
https://www.contributor-covenant.org/translations. <https://www.contributor-covenant.org/translations>.

View File

@ -43,6 +43,7 @@
}, },
"require-dev": { "require-dev": {
"phpdocumentor/shim": "^3.5", "phpdocumentor/shim": "^3.5",
"phpmd/phpmd": "^2.15",
"phpstan/phpstan": "^1.11", "phpstan/phpstan": "^1.11",
"phpstan/phpstan-strict-rules": "^1.6", "phpstan/phpstan-strict-rules": "^1.6",
"friendsofphp/php-cs-fixer": "^3.59", "friendsofphp/php-cs-fixer": "^3.59",
@ -92,6 +93,10 @@
"phpdoc:build": [ "phpdoc:build": [
"@php vendor/bin/phpdoc" "@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": [ "phpstan:check": [
"@php vendor/bin/phpstan" "@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'.", "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'.", "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'.", "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'.", "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": "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'." "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'."

488
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "8fbabb7463378ac73b62ab40c5f50b20", "content-hash": "176c33af04203780cfc99ddb9b4742f6",
"packages": [ "packages": [
{ {
"name": "doctrine/cache", "name": "doctrine/cache",
@ -187,16 +187,16 @@
}, },
{ {
"name": "doctrine/dbal", "name": "doctrine/dbal",
"version": "3.8.6", "version": "3.8.7",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/dbal.git", "url": "https://github.com/doctrine/dbal.git",
"reference": "b7411825cf7efb7e51f9791dea19d86e43b399a1" "reference": "2093d670ca17f634f3c095ec10a20687eccebd99"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/b7411825cf7efb7e51f9791dea19d86e43b399a1", "url": "https://api.github.com/repos/doctrine/dbal/zipball/2093d670ca17f634f3c095ec10a20687eccebd99",
"reference": "b7411825cf7efb7e51f9791dea19d86e43b399a1", "reference": "2093d670ca17f634f3c095ec10a20687eccebd99",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -212,12 +212,12 @@
"doctrine/coding-standard": "12.0.0", "doctrine/coding-standard": "12.0.0",
"fig/log-test": "^1", "fig/log-test": "^1",
"jetbrains/phpstorm-stubs": "2023.1", "jetbrains/phpstorm-stubs": "2023.1",
"phpstan/phpstan": "1.11.5", "phpstan/phpstan": "1.11.7",
"phpstan/phpstan-strict-rules": "^1.6", "phpstan/phpstan-strict-rules": "^1.6",
"phpunit/phpunit": "9.6.19", "phpunit/phpunit": "9.6.20",
"psalm/plugin-phpunit": "0.18.4", "psalm/plugin-phpunit": "0.18.4",
"slevomat/coding-standard": "8.13.1", "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/cache": "^5.4|^6.0|^7.0",
"symfony/console": "^4.4|^5.4|^6.0|^7.0", "symfony/console": "^4.4|^5.4|^6.0|^7.0",
"vimeo/psalm": "4.30.0" "vimeo/psalm": "4.30.0"
@ -280,7 +280,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/doctrine/dbal/issues", "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": [ "funding": [
{ {
@ -296,7 +296,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-06-19T10:38:17+00:00" "time": "2024-08-07T11:57:25+00:00"
}, },
{ {
"name": "doctrine/deprecations", "name": "doctrine/deprecations",
@ -861,16 +861,16 @@
}, },
{ {
"name": "guzzlehttp/psr7", "name": "guzzlehttp/psr7",
"version": "2.6.2", "version": "2.7.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/guzzle/psr7.git", "url": "https://github.com/guzzle/psr7.git",
"reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", "url": "https://api.github.com/repos/guzzle/psr7/zipball/a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
"reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", "reference": "a70f5c95fb43bc83f07c9c948baa0dc1829bf201",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -885,8 +885,8 @@
}, },
"require-dev": { "require-dev": {
"bamarni/composer-bin-plugin": "^1.8.2", "bamarni/composer-bin-plugin": "^1.8.2",
"http-interop/http-factory-tests": "^0.9", "http-interop/http-factory-tests": "0.9.0",
"phpunit/phpunit": "^8.5.36 || ^9.6.15" "phpunit/phpunit": "^8.5.39 || ^9.6.20"
}, },
"suggest": { "suggest": {
"laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses"
@ -957,7 +957,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/guzzle/psr7/issues", "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": [ "funding": [
{ {
@ -973,7 +973,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2023-12-03T20:05:35+00:00" "time": "2024-07-18T11:15:46+00:00"
}, },
{ {
"name": "opencultureconsulting/basics", "name": "opencultureconsulting/basics",
@ -1542,16 +1542,16 @@
}, },
{ {
"name": "symfony/cache", "name": "symfony/cache",
"version": "v6.4.8", "version": "v6.4.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/cache.git", "url": "https://github.com/symfony/cache.git",
"reference": "287142df5579ce223c485b3872df3efae8390984" "reference": "6702d2d777260e6ff3451fee2d7d78ab5f715cdc"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/cache/zipball/287142df5579ce223c485b3872df3efae8390984", "url": "https://api.github.com/repos/symfony/cache/zipball/6702d2d777260e6ff3451fee2d7d78ab5f715cdc",
"reference": "287142df5579ce223c485b3872df3efae8390984", "reference": "6702d2d777260e6ff3451fee2d7d78ab5f715cdc",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1618,7 +1618,7 @@
"psr6" "psr6"
], ],
"support": { "support": {
"source": "https://github.com/symfony/cache/tree/v6.4.8" "source": "https://github.com/symfony/cache/tree/v6.4.10"
}, },
"funding": [ "funding": [
{ {
@ -1634,7 +1634,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-05-31T14:49:08+00:00" "time": "2024-07-17T06:05:49+00:00"
}, },
{ {
"name": "symfony/cache-contracts", "name": "symfony/cache-contracts",
@ -1714,16 +1714,16 @@
}, },
{ {
"name": "symfony/console", "name": "symfony/console",
"version": "v6.4.9", "version": "v6.4.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/console.git", "url": "https://github.com/symfony/console.git",
"reference": "6edb5363ec0c78ad4d48c5128ebf4d083d89d3a9" "reference": "504974cbe43d05f83b201d6498c206f16fc0cdbc"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/console/zipball/6edb5363ec0c78ad4d48c5128ebf4d083d89d3a9", "url": "https://api.github.com/repos/symfony/console/zipball/504974cbe43d05f83b201d6498c206f16fc0cdbc",
"reference": "6edb5363ec0c78ad4d48c5128ebf4d083d89d3a9", "reference": "504974cbe43d05f83b201d6498c206f16fc0cdbc",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1788,7 +1788,7 @@
"terminal" "terminal"
], ],
"support": { "support": {
"source": "https://github.com/symfony/console/tree/v6.4.9" "source": "https://github.com/symfony/console/tree/v6.4.10"
}, },
"funding": [ "funding": [
{ {
@ -1804,7 +1804,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-06-28T09:49:33+00:00" "time": "2024-07-26T12:30:32+00:00"
}, },
{ {
"name": "symfony/deprecation-contracts", "name": "symfony/deprecation-contracts",
@ -2418,16 +2418,16 @@
}, },
{ {
"name": "symfony/string", "name": "symfony/string",
"version": "v6.4.9", "version": "v6.4.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/string.git", "url": "https://github.com/symfony/string.git",
"reference": "76792dbd99690a5ebef8050d9206c60c59e681d7" "reference": "ccf9b30251719567bfd46494138327522b9a9446"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/string/zipball/76792dbd99690a5ebef8050d9206c60c59e681d7", "url": "https://api.github.com/repos/symfony/string/zipball/ccf9b30251719567bfd46494138327522b9a9446",
"reference": "76792dbd99690a5ebef8050d9206c60c59e681d7", "reference": "ccf9b30251719567bfd46494138327522b9a9446",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2484,7 +2484,7 @@
"utf8" "utf8"
], ],
"support": { "support": {
"source": "https://github.com/symfony/string/tree/v6.4.9" "source": "https://github.com/symfony/string/tree/v6.4.10"
}, },
"funding": [ "funding": [
{ {
@ -2500,7 +2500,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-06-28T09:25:38+00:00" "time": "2024-07-22T10:21:14+00:00"
}, },
{ {
"name": "symfony/translation-contracts", "name": "symfony/translation-contracts",
@ -2582,16 +2582,16 @@
}, },
{ {
"name": "symfony/validator", "name": "symfony/validator",
"version": "v6.4.9", "version": "v6.4.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/validator.git", "url": "https://github.com/symfony/validator.git",
"reference": "ee0a4d6a327a963aee094f730da238f7ea18cb01" "reference": "bcf939a9d1acd7d2912e9474c0c3d7840a03cbcd"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/validator/zipball/ee0a4d6a327a963aee094f730da238f7ea18cb01", "url": "https://api.github.com/repos/symfony/validator/zipball/bcf939a9d1acd7d2912e9474c0c3d7840a03cbcd",
"reference": "ee0a4d6a327a963aee094f730da238f7ea18cb01", "reference": "bcf939a9d1acd7d2912e9474c0c3d7840a03cbcd",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -2659,7 +2659,7 @@
"description": "Provides tools to validate values", "description": "Provides tools to validate values",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/validator/tree/v6.4.9" "source": "https://github.com/symfony/validator/tree/v6.4.10"
}, },
"funding": [ "funding": [
{ {
@ -2675,7 +2675,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-06-22T07:42:41+00:00" "time": "2024-07-26T12:30:32+00:00"
}, },
{ {
"name": "symfony/var-exporter", "name": "symfony/var-exporter",
@ -3054,30 +3054,38 @@
}, },
{ {
"name": "composer/pcre", "name": "composer/pcre",
"version": "3.1.4", "version": "3.2.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/composer/pcre.git", "url": "https://github.com/composer/pcre.git",
"reference": "04229f163664973f68f38f6f73d917799168ef24" "reference": "ea4ab6f9580a4fd221e0418f2c357cdd39102a90"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/composer/pcre/zipball/04229f163664973f68f38f6f73d917799168ef24", "url": "https://api.github.com/repos/composer/pcre/zipball/ea4ab6f9580a4fd221e0418f2c357cdd39102a90",
"reference": "04229f163664973f68f38f6f73d917799168ef24", "reference": "ea4ab6f9580a4fd221e0418f2c357cdd39102a90",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^7.4 || ^8.0" "php": "^7.4 || ^8.0"
}, },
"conflict": {
"phpstan/phpstan": "<1.11.8"
},
"require-dev": { "require-dev": {
"phpstan/phpstan": "^1.3", "phpstan/phpstan": "^1.11.8",
"phpstan/phpstan-strict-rules": "^1.1", "phpstan/phpstan-strict-rules": "^1.1",
"symfony/phpunit-bridge": "^5" "phpunit/phpunit": "^8 || ^9"
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-main": "3.x-dev" "dev-main": "3.x-dev"
},
"phpstan": {
"includes": [
"extension.neon"
]
} }
}, },
"autoload": { "autoload": {
@ -3105,7 +3113,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/composer/pcre/issues", "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": [ "funding": [
{ {
@ -3121,7 +3129,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-05-27T13:40:54+00:00" "time": "2024-07-25T09:36:02+00:00"
}, },
{ {
"name": "composer/semver", "name": "composer/semver",
@ -3518,16 +3526,16 @@
}, },
{ {
"name": "friendsofphp/php-cs-fixer", "name": "friendsofphp/php-cs-fixer",
"version": "v3.59.3", "version": "v3.62.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git",
"reference": "30ba9ecc2b0e5205e578fe29973c15653d9bfd29" "reference": "627692f794d35c43483f34b01d94740df2a73507"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/30ba9ecc2b0e5205e578fe29973c15653d9bfd29", "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/627692f794d35c43483f34b01d94740df2a73507",
"reference": "30ba9ecc2b0e5205e578fe29973c15653d9bfd29", "reference": "627692f794d35c43483f34b01d94740df2a73507",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -3609,7 +3617,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer/issues", "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": [ "funding": [
{ {
@ -3617,7 +3625,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2024-06-16T14:17:03+00:00" "time": "2024-08-07T17:03:09+00:00"
}, },
{ {
"name": "netresearch/jsonmapper", "name": "netresearch/jsonmapper",
@ -3726,6 +3734,69 @@
}, },
"time": "2024-03-17T08:10:35+00:00" "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", "name": "phar-io/composer-distributor",
"version": "1.0.2", "version": "1.0.2",
@ -4059,16 +4130,16 @@
}, },
{ {
"name": "phpdocumentor/shim", "name": "phpdocumentor/shim",
"version": "v3.5.2", "version": "v3.5.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpDocumentor/shim.git", "url": "https://github.com/phpDocumentor/shim.git",
"reference": "8b92f00534831a87ae2e085befc87e656c844d46" "reference": "1fa78ef4bf7f11b9e386e6d84abb37957eb7f908"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpDocumentor/shim/zipball/8b92f00534831a87ae2e085befc87e656c844d46", "url": "https://api.github.com/repos/phpDocumentor/shim/zipball/1fa78ef4bf7f11b9e386e6d84abb37957eb7f908",
"reference": "8b92f00534831a87ae2e085befc87e656c844d46", "reference": "1fa78ef4bf7f11b9e386e6d84abb37957eb7f908",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4089,9 +4160,9 @@
"MIT" "MIT"
], ],
"support": { "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", "name": "phpdocumentor/type-resolver",
@ -4151,6 +4222,89 @@
}, },
"time": "2024-02-23T11:10:43+00:00" "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", "name": "phpstan/phpdoc-parser",
"version": "1.29.1", "version": "1.29.1",
@ -4200,16 +4354,16 @@
}, },
{ {
"name": "phpstan/phpstan", "name": "phpstan/phpstan",
"version": "1.11.7", "version": "1.11.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpstan/phpstan.git", "url": "https://github.com/phpstan/phpstan.git",
"reference": "52d2bbfdcae7f895915629e4694e9497d0f8e28d" "reference": "640410b32995914bde3eed26fa89552f9c2c082f"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/52d2bbfdcae7f895915629e4694e9497d0f8e28d", "url": "https://api.github.com/repos/phpstan/phpstan/zipball/640410b32995914bde3eed26fa89552f9c2c082f",
"reference": "52d2bbfdcae7f895915629e4694e9497d0f8e28d", "reference": "640410b32995914bde3eed26fa89552f9c2c082f",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4254,7 +4408,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2024-07-06T11:17:41+00:00" "time": "2024-08-08T09:02:50+00:00"
}, },
{ {
"name": "phpstan/phpstan-strict-rules", "name": "phpstan/phpstan-strict-rules",
@ -4729,31 +4883,31 @@
}, },
{ {
"name": "react/socket", "name": "react/socket",
"version": "v1.15.0", "version": "v1.16.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/reactphp/socket.git", "url": "https://github.com/reactphp/socket.git",
"reference": "216d3aec0b87f04a40ca04f481e6af01bdd1d038" "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/reactphp/socket/zipball/216d3aec0b87f04a40ca04f481e6af01bdd1d038", "url": "https://api.github.com/repos/reactphp/socket/zipball/23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1",
"reference": "216d3aec0b87f04a40ca04f481e6af01bdd1d038", "reference": "23e4ff33ea3e160d2d1f59a0e6050e4b0fb0eac1",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"evenement/evenement": "^3.0 || ^2.0 || ^1.0", "evenement/evenement": "^3.0 || ^2.0 || ^1.0",
"php": ">=5.3.0", "php": ">=5.3.0",
"react/dns": "^1.11", "react/dns": "^1.13",
"react/event-loop": "^1.2", "react/event-loop": "^1.2",
"react/promise": "^3 || ^2.6 || ^1.2.1", "react/promise": "^3.2 || ^2.6 || ^1.2.1",
"react/stream": "^1.2" "react/stream": "^1.4"
}, },
"require-dev": { "require-dev": {
"phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", "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-stream": "^1.4",
"react/promise-timer": "^1.10" "react/promise-timer": "^1.11"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -4797,7 +4951,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/reactphp/socket/issues", "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": [ "funding": [
{ {
@ -4805,7 +4959,7 @@
"type": "open_collective" "type": "open_collective"
} }
], ],
"time": "2023-12-15T11:02:10+00:00" "time": "2024-07-26T10:38:09+00:00"
}, },
{ {
"name": "react/stream", "name": "react/stream",
@ -5022,16 +5176,16 @@
}, },
{ {
"name": "squizlabs/php_codesniffer", "name": "squizlabs/php_codesniffer",
"version": "3.10.1", "version": "3.10.2",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git",
"reference": "8f90f7a53ce271935282967f53d0894f8f1ff877" "reference": "86e5f5dd9a840c46810ebe5ff1885581c42a3017"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/8f90f7a53ce271935282967f53d0894f8f1ff877", "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/86e5f5dd9a840c46810ebe5ff1885581c42a3017",
"reference": "8f90f7a53ce271935282967f53d0894f8f1ff877", "reference": "86e5f5dd9a840c46810ebe5ff1885581c42a3017",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -5098,7 +5252,163 @@
"type": "open_collective" "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", "name": "symfony/event-dispatcher",
@ -5258,16 +5568,16 @@
}, },
{ {
"name": "symfony/finder", "name": "symfony/finder",
"version": "v6.4.8", "version": "v6.4.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/finder.git", "url": "https://github.com/symfony/finder.git",
"reference": "3ef977a43883215d560a2cecb82ec8e62131471c" "reference": "af29198d87112bebdd397bd7735fbd115997824c"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/finder/zipball/3ef977a43883215d560a2cecb82ec8e62131471c", "url": "https://api.github.com/repos/symfony/finder/zipball/af29198d87112bebdd397bd7735fbd115997824c",
"reference": "3ef977a43883215d560a2cecb82ec8e62131471c", "reference": "af29198d87112bebdd397bd7735fbd115997824c",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -5302,7 +5612,7 @@
"description": "Finds files and directories via an intuitive fluent interface", "description": "Finds files and directories via an intuitive fluent interface",
"homepage": "https://symfony.com", "homepage": "https://symfony.com",
"support": { "support": {
"source": "https://github.com/symfony/finder/tree/v6.4.8" "source": "https://github.com/symfony/finder/tree/v6.4.10"
}, },
"funding": [ "funding": [
{ {
@ -5318,7 +5628,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-05-31T14:49:08+00:00" "time": "2024-07-24T07:06:38+00:00"
}, },
{ {
"name": "symfony/options-resolver", "name": "symfony/options-resolver",

View File

@ -11,4 +11,6 @@ parameters:
strictRules: strictRules:
noVariableVariables: false noVariableVariables: false
paths: paths:
- bin
- public
- src - src