From 5e79097a3461f63fa951d2e499437cbd4ee23022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Kuba=20Wer=C5=82os?= Date: Sat, 1 Feb 2025 22:04:14 +0100 Subject: [PATCH] Replace `maglnet/composer-require-checker` with `shipmonk/composer-dependency-analyser` --- .dev-tools/composer-dependency-analyser.php | 20 ++++ .dev-tools/composer-require-checker.json | 15 --- .dev-tools/composer.json | 4 +- .dev-tools/composer.lock | 107 ++++++-------------- 4 files changed, 55 insertions(+), 91 deletions(-) create mode 100644 .dev-tools/composer-dependency-analyser.php delete mode 100644 .dev-tools/composer-require-checker.json diff --git a/.dev-tools/composer-dependency-analyser.php b/.dev-tools/composer-dependency-analyser.php new file mode 100644 index 0000000..28212b3 --- /dev/null +++ b/.dev-tools/composer-dependency-analyser.php @@ -0,0 +1,20 @@ +addPathToScan(__DIR__ . '/../src', false) + ->addPathToExclude(__DIR__ . '/../tests') + ->ignoreErrorsOnPackage('composer/composer', [ErrorType::DEV_DEPENDENCY_IN_PROD]); diff --git a/.dev-tools/composer-require-checker.json b/.dev-tools/composer-require-checker.json deleted file mode 100644 index b1c4451..0000000 --- a/.dev-tools/composer-require-checker.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "symbol-whitelist": [ - "Composer\\Composer", - "Composer\\EventDispatcher\\EventSubscriberInterface", - "Composer\\IO\\IOInterface", - "Composer\\Json\\JsonFile", - "Composer\\Plugin\\PluginInterface", - "Composer\\Script\\Event", - "Composer\\Script\\ScriptEvents", - "array", - "self", - "true", - "void" - ] -} diff --git a/.dev-tools/composer.json b/.dev-tools/composer.json index 8007b49..2418cdc 100644 --- a/.dev-tools/composer.json +++ b/.dev-tools/composer.json @@ -5,13 +5,13 @@ "ergebnis/composer-normalize": "^2.43.0", "kubawerlos/composer-smaller-lock": "^1.0.1", "kubawerlos/php-cs-fixer-config": "^3.27", - "maglnet/composer-require-checker": "^4.11", "mi-schi/phpmd-extension": "^4.3", "phpmd/phpmd": "^2.15", "phpstan/extension-installer": "^1.4.1", "phpstan/phpstan": "^1.11.10", "phpstan/phpstan-phpunit": "^1.4.0", "phpstan/phpstan-strict-rules": "^1.6.0", + "shipmonk/composer-dependency-analyser": "^1.8", "squizlabs/php_codesniffer": "^3.10.2", "vimeo/psalm": "^5.25.0" }, @@ -29,7 +29,7 @@ "@composer validate --strict --working-dir=..", "@composer normalize --dry-run ../composer.json", "@composer normalize --dry-run", - "composer-require-checker --config-file=composer-require-checker.json check ../composer.json", + "composer-dependency-analyser --composer-json=../composer.json", "phpcs", "php-cs-fixer fix --ansi --diff --dry-run --verbose", "phpmd ../src text phpmd.xml", diff --git a/.dev-tools/composer.lock b/.dev-tools/composer.lock index 150e208..c4e3ed6 100644 --- a/.dev-tools/composer.lock +++ b/.dev-tools/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": "db3576b4794dc7c5d3e2cc0bed581d07", + "content-hash": "a1fd0a77fe6fe5f614c528a41b36fa37", "packages": [ { "name": "amphp/amp", @@ -861,47 +861,6 @@ ], "description": "Fork of sebastian/diff for use with ergebnis/composer-normalize" }, - { - "name": "maglnet/composer-require-checker", - "version": "4.11.0", - "source": { - "type": "git", - "url": "https://github.com/maglnet/ComposerRequireChecker.git", - "reference": "c6c555e799bee50810fd84933ca1f0b276379ccf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/maglnet/ComposerRequireChecker/zipball/c6c555e799bee50810fd84933ca1f0b276379ccf", - "reference": "c6c555e799bee50810fd84933ca1f0b276379ccf" - }, - "require": { - "composer-runtime-api": "^2.0.0", - "ext-phar": "*", - "nikic/php-parser": "^4.19.1", - "php": "~8.2.0 || ~8.3.0", - "symfony/console": "^6.4.1 || ^7.0.1", - "webmozart/assert": "^1.11.0", - "webmozart/glob": "^4.7.0" - }, - "bin": [ - "bin/composer-require-checker" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.1-dev" - } - }, - "autoload": { - "psr-4": { - "ComposerRequireChecker\\": "src/ComposerRequireChecker" - } - }, - "license": [ - "MIT" - ], - "description": "CLI tool to analyze composer dependencies and verify that no unknown symbols are used in the sources of a package" - }, { "name": "mi-schi/phpmd-extension", "version": "4.3.0", @@ -1587,6 +1546,38 @@ ], "description": "Simple unix signal handler that silently fails where signals are not supported for easy cross-platform development" }, + { + "name": "shipmonk/composer-dependency-analyser", + "version": "1.8.2", + "source": { + "type": "git", + "url": "https://github.com/shipmonk-rnd/composer-dependency-analyser.git", + "reference": "f374f5366028fd7ece8aeaffa76895d73dc0a05a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/shipmonk-rnd/composer-dependency-analyser/zipball/f374f5366028fd7ece8aeaffa76895d73dc0a05a", + "reference": "f374f5366028fd7ece8aeaffa76895d73dc0a05a" + }, + "require": { + "ext-json": "*", + "ext-tokenizer": "*", + "php": "^7.2 || ^8.0" + }, + "bin": [ + "bin/composer-dependency-analyser" + ], + "type": "library", + "autoload": { + "psr-4": { + "ShipMonk\\ComposerDependencyAnalyser\\": "src/" + } + }, + "license": [ + "MIT" + ], + "description": "Fast detection of composer dependency issues (dead dependencies, shadow dependencies, misplaced dependencies)" + }, { "name": "spatie/array-to-xml", "version": "3.3.0", @@ -2367,38 +2358,6 @@ "MIT" ], "description": "Assertions to validate method input/output with nice error messages." - }, - { - "name": "webmozart/glob", - "version": "4.7.0", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/glob.git", - "reference": "8a2842112d6916e61e0e15e316465b611f3abc17" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/glob/zipball/8a2842112d6916e61e0e15e316465b611f3abc17", - "reference": "8a2842112d6916e61e0e15e316465b611f3abc17" - }, - "require": { - "php": "^7.3 || ^8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.1-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Glob\\": "src/" - } - }, - "license": [ - "MIT" - ], - "description": "A PHP implementation of Ant's glob." } ], "packages-dev": [],