From cf818c14a7d8cbfe5de8654876332509b9e61bef Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Mon, 2 Jun 2025 10:33:27 +0200 Subject: [PATCH 1/2] Support baselining of PHPStan errors on composer.json --- src/ComposerCollector.php | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/ComposerCollector.php b/src/ComposerCollector.php index b29ba31..c0cb827 100644 --- a/src/ComposerCollector.php +++ b/src/ComposerCollector.php @@ -23,6 +23,8 @@ class ComposerCollector implements Collector private string $cwd; + private string $composerJsonPath; + /** @var string[] */ private array $additionalProdPaths = []; @@ -74,6 +76,7 @@ private function runComposerDependencyAnalyser(): AnalysisResult $composerJson = $initializer->initComposerJson(options: $options); $initializer->initComposerAutoloader(composerJson: $composerJson); $configuration = $initializer->initConfiguration(options: $options, composerJson: $composerJson); + $this->composerJsonPath = dirname($composerJson->composerVendorDir) .'/composer.json'; $configuration->ignoreErrors([ErrorType::UNKNOWN_CLASS, ErrorType::UNKNOWN_FUNCTION]); @@ -142,14 +145,14 @@ private function reformatResults(AnalysisResult $results): array ), array_map( fn ($error) => RuleErrorBuilder::message("Prod dependency used only in dev paths: {$error}") - ->file('composer.json') + ->file($this->composerJsonPath) ->tip('This should probably be moved to "require-dev" section in composer.json') ->identifier('composer.prodInDev') ->build(), $results->getProdDependencyOnlyInDevErrors()), array_map( fn ($error) => RuleErrorBuilder::message("Unused dependency detected: {$error}") - ->file('composer.json') + ->file($this->composerJsonPath) ->tip('This is listed in composer.json, but no usage was found in scanned paths') ->identifier('composer.unused') ->build(), From ec94be82f7a017ee1bfe63225fff8a3f16316c92 Mon Sep 17 00:00:00 2001 From: Markus Staab Date: Wed, 4 Jun 2025 12:12:32 +0200 Subject: [PATCH 2/2] cs --- src/ComposerCollector.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/ComposerCollector.php b/src/ComposerCollector.php index c0cb827..230cab9 100644 --- a/src/ComposerCollector.php +++ b/src/ComposerCollector.php @@ -76,7 +76,7 @@ private function runComposerDependencyAnalyser(): AnalysisResult $composerJson = $initializer->initComposerJson(options: $options); $initializer->initComposerAutoloader(composerJson: $composerJson); $configuration = $initializer->initConfiguration(options: $options, composerJson: $composerJson); - $this->composerJsonPath = dirname($composerJson->composerVendorDir) .'/composer.json'; + $this->composerJsonPath = dirname($composerJson->composerVendorDir).'/composer.json'; $configuration->ignoreErrors([ErrorType::UNKNOWN_CLASS, ErrorType::UNKNOWN_FUNCTION]);