From 31d0140242a70605c26955daa7d144799630ce08 Mon Sep 17 00:00:00 2001 From: Jan Nedbal Date: Thu, 15 Feb 2024 15:39:13 +0100 Subject: [PATCH] Add composer-dependency-analyser --- composer-dependency-analyser.php | 9 ++++ composer.json | 3 ++ composer.lock | 87 ++++++++++++++++++++++++++++++-- 3 files changed, 95 insertions(+), 4 deletions(-) create mode 100644 composer-dependency-analyser.php diff --git a/composer-dependency-analyser.php b/composer-dependency-analyser.php new file mode 100644 index 0000000..9ed8064 --- /dev/null +++ b/composer-dependency-analyser.php @@ -0,0 +1,9 @@ +ignoreErrorsOnPackage('phpstan/phpdoc-parser', [ErrorType::SHADOW_DEPENDENCY]); // it gets autoloaded from within the PHPStan.phar when running PHPStan diff --git a/composer.json b/composer.json index 0d0ac02..7c8c1fb 100644 --- a/composer.json +++ b/composer.json @@ -21,6 +21,7 @@ "phpstan/phpstan-phpunit": "^1.1.1", "phpstan/phpstan-strict-rules": "^1.2.3", "phpunit/phpunit": "^9.5.20", + "shipmonk/composer-dependency-analyser": "dev-master", "shipmonk/name-collision-detector": "^2.0.0", "slevomat/coding-standard": "^8.0.1" }, @@ -59,12 +60,14 @@ "@check:cs", "@check:types", "@check:tests", + "@check:dependencies", "@check:collisions", "@check:readme" ], "check:collisions": "detect-collisions src tests", "check:composer": "composer normalize --dry-run --no-check-lock --no-update-lock", "check:cs": "phpcs", + "check:dependencies": "composer-dependency-analyser", "check:ec": "ec src tests", "check:readme": "php bin/verify-readme-default-config.php", "check:tests": "phpunit -vvv tests", diff --git a/composer.lock b/composer.lock index 19f95bb..0808c98 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": "69c5750aa8a884d9e0bde2de457825a4", + "content-hash": "cca2f3e76c495bd23c413ee6889cb025", "packages": [ { "name": "nikic/php-parser", @@ -2785,6 +2785,69 @@ ], "time": "2020-09-28T06:39:44+00:00" }, + { + "name": "shipmonk/composer-dependency-analyser", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/shipmonk-rnd/composer-dependency-analyser.git", + "reference": "d6323ce717c9faa8c53bf3975a5181e59577dd8b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/shipmonk-rnd/composer-dependency-analyser/zipball/d6323ce717c9faa8c53bf3975a5181e59577dd8b", + "reference": "d6323ce717c9faa8c53bf3975a5181e59577dd8b", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "editorconfig-checker/editorconfig-checker": "^10.3.0", + "ergebnis/composer-normalize": "^2.19", + "phpstan/phpstan": "^1.10.30", + "phpstan/phpstan-phpunit": "^1.1.1", + "phpstan/phpstan-strict-rules": "^1.2.3", + "phpunit/phpunit": "^8.5.28 || ^9.5.20", + "shipmonk/name-collision-detector": "^2.0.0", + "slevomat/coding-standard": "^8.0.1" + }, + "default-branch": true, + "bin": [ + "bin/composer-dependency-analyser" + ], + "type": "library", + "autoload": { + "psr-4": { + "ShipMonk\\ComposerDependencyAnalyser\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Fast detection of composer dependency issues (dead dependencies, shadow dependencies, misplaced dependencies)", + "keywords": [ + "analyser", + "composer", + "composer dependency", + "dead code", + "dead dependency", + "detector", + "dev", + "misplaced dependency", + "shadow dependency", + "static analysis", + "unused code", + "unused dependency" + ], + "support": { + "issues": "https://github.com/shipmonk-rnd/composer-dependency-analyser/issues", + "source": "https://github.com/shipmonk-rnd/composer-dependency-analyser/tree/master" + }, + "time": "2024-02-15T12:50:12+00:00" + }, { "name": "shipmonk/name-collision-detector", "version": "2.1.0", @@ -2911,12 +2974,12 @@ "version": "3.7.2", "source": { "type": "git", - "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", + "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/ed8e00df0a83aa96acf703f8c2979ff33341f879", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/ed8e00df0a83aa96acf703f8c2979ff33341f879", "reference": "ed8e00df0a83aa96acf703f8c2979ff33341f879", "shasum": "" }, @@ -2961,6 +3024,20 @@ "source": "https://github.com/squizlabs/PHP_CodeSniffer", "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" }, + "funding": [ + { + "url": "https://github.com/PHPCSStandards", + "type": "github" + }, + { + "url": "https://github.com/jrfnl", + "type": "github" + }, + { + "url": "https://opencollective.com/php_codesniffer", + "type": "open_collective" + } + ], "time": "2023-02-22T23:07:41+00:00" }, { @@ -3016,7 +3093,9 @@ ], "aliases": [], "minimum-stability": "stable", - "stability-flags": [], + "stability-flags": { + "shipmonk/composer-dependency-analyser": 20 + }, "prefer-stable": false, "prefer-lowest": false, "platform": {