Skip to content

feat: Add composer-dependency-analyser (fix shadow dependencies) (#1374) #2096

feat: Add composer-dependency-analyser (fix shadow dependencies) (#1374)

feat: Add composer-dependency-analyser (fix shadow dependencies) (#1374) #2096

Triggered via push March 11, 2024 11:00
Status Success
Total duration 2m 3s
Artifacts

test.yml

on: push
Matrix: deptrac
Matrix: infection
Matrix: unit-tests
Fit to window
Zoom out
Zoom in

Annotations

54 warnings
unit-tests (ubuntu-22.04, 8.3)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
unit-tests (ubuntu-22.04, 8.3)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
deptrac (ubuntu-22.04, 8.2)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions/cache@v2. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
deptrac (ubuntu-22.04, 8.2)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions/cache@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
deptrac (ubuntu-22.04, 8.2)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
deptrac (ubuntu-22.04, 8.3)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions/cache@v2. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
deptrac (ubuntu-22.04, 8.3)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions/cache@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
deptrac (ubuntu-22.04, 8.3)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
unit-tests (ubuntu-22.04, 8.1)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
unit-tests (ubuntu-22.04, 8.1)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
unit-tests (ubuntu-22.04, 8.2)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions/cache@v3. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
unit-tests (ubuntu-22.04, 8.2)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
deptrac (ubuntu-22.04, 8.1)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions/cache@v2. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
deptrac (ubuntu-22.04, 8.1)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions/cache@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
deptrac (ubuntu-22.04, 8.1)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
infection (ubuntu-22.04, 8.3)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions/cache@v2. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
infection (ubuntu-22.04, 8.3)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions/cache@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
infection (ubuntu-22.04, 8.3)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
infection (ubuntu-22.04, 8.3): src/Contract/Analyser/EventHelper.php#L37
Escaped Mutant for Mutator "LogicalAnd": --- Original +++ New @@ @@ public function shouldViolationBeSkipped(string $depender, string $dependent) : bool { $skippedViolation = $this->skippedViolations[$depender] ?? []; - $matched = [] !== $skippedViolation && in_array($dependent, $skippedViolation, true); + $matched = [] !== $skippedViolation || in_array($dependent, $skippedViolation, true); if (!$matched) { return false; }
infection (ubuntu-22.04, 8.3): src/Contract/Analyser/EventHelper.php#L69
Escaped Mutant for Mutator "MethodCallRemoval": --- Original +++ New @@ @@ if ($this->shouldViolationBeSkipped($event->dependency->getDepender()->toString(), $event->dependency->getDependent()->toString())) { $result->addRule(new SkippedViolation($event->dependency, $event->dependerLayer, $dependentLayer)); } else { - $result->addRule(new Violation($event->dependency, $event->dependerLayer, $dependentLayer, $violationCreatingRule)); + } } }
infection (ubuntu-22.04, 8.3): src/Contract/Config/CollectorConfig.php#L20
Escaped Mutant for Mutator "PublicVisibility": --- Original +++ New @@ @@ return $this; } /** @return array{'type': string, 'private': bool, ...} */ - public function toArray() : array + protected function toArray() : array { return ['type' => $this->collectorType->value, 'private' => $this->private]; } }
infection (ubuntu-22.04, 8.3): src/Contract/Config/DeptracConfig.php#L125
Escaped Mutant for Mutator "NotIdentical": --- Original +++ New @@ @@ if ([] !== $this->formatters) { $config['formatters'] = array_map(static fn(FormatterConfigInterface $formatterConfig) => $formatterConfig->toArray(), $this->formatters); } - if ([] !== $this->excludeFiles) { + if ([] === $this->excludeFiles) { $config['exclude_files'] = $this->excludeFiles; } if ([] !== $this->layers) {
infection (ubuntu-22.04, 8.3): src/Contract/Config/DeptracConfig.php#L137
Escaped Mutant for Mutator "NotIdentical": --- Original +++ New @@ @@ if ([] !== $this->rulesets) { $config['ruleset'] = array_map(static fn(Ruleset $rulesetConfig) => $rulesetConfig->toArray(), $this->rulesets); } - if ([] !== $this->skipViolations) { + if ([] === $this->skipViolations) { $config['skip_violations'] = $this->skipViolations; } $config['ignore_uncovered_internal_classes'] = $this->ignoreUncoveredInternalClasses;
infection (ubuntu-22.04, 8.3): src/Contract/Config/DeptracConfig.php#L143
Escaped Mutant for Mutator "ArrayOneItem": --- Original +++ New @@ @@ $config['skip_violations'] = $this->skipViolations; } $config['ignore_uncovered_internal_classes'] = $this->ignoreUncoveredInternalClasses; - return $config; + return count($config) > 1 ? array_slice($config, 0, 1, true) : $config; } public function getExtensionAlias() : string {
infection (ubuntu-22.04, 8.3): src/Core/Analyser/EventHandler/DependsOnDisallowedLayer.php#L24
Escaped Mutant for Mutator "ArrayItemRemoval": --- Original +++ New @@ @@ } public static function getSubscribedEvents() { - return [ProcessEvent::class => ['invoke', -1]]; + return []; } public function invoke(ProcessEvent $event) : void {
infection (ubuntu-22.04, 8.3): src/Core/Analyser/EventHandler/DependsOnDisallowedLayer.php#L25
Escaped Mutant for Mutator "DecrementInteger": --- Original +++ New @@ @@ } public static function getSubscribedEvents() { - return [ProcessEvent::class => ['invoke', -1]]; + return [ProcessEvent::class => ['invoke', -2]]; } public function invoke(ProcessEvent $event) : void {
infection (ubuntu-22.04, 8.3): src/Core/Analyser/EventHandler/DependsOnDisallowedLayer.php#L25
Escaped Mutant for Mutator "IncrementInteger": --- Original +++ New @@ @@ } public static function getSubscribedEvents() { - return [ProcessEvent::class => ['invoke', -1]]; + return [ProcessEvent::class => ['invoke', -0]]; } public function invoke(ProcessEvent $event) : void {
infection (ubuntu-22.04, 8.3): src/Core/Analyser/EventHandler/DependsOnInternalToken.php#L50
Escaped Mutant for Mutator "MethodCallRemoval": --- Original +++ New @@ @@ $isInternal = $event->dependentReference->hasTag($this->internalTag); } if ($isInternal) { - $this->eventHelper->addSkippableViolation($event, $ruleset, $dependentLayer, $this); + $event->stopPropagation(); } }
infection (ubuntu-22.04, 8.1)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions/cache@v2. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
infection (ubuntu-22.04, 8.1)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions/cache@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
infection (ubuntu-22.04, 8.1): src/Contract/Analyser/EventHelper.php#L37
Escaped Mutant for Mutator "LogicalAnd": --- Original +++ New @@ @@ public function shouldViolationBeSkipped(string $depender, string $dependent) : bool { $skippedViolation = $this->skippedViolations[$depender] ?? []; - $matched = [] !== $skippedViolation && in_array($dependent, $skippedViolation, true); + $matched = [] !== $skippedViolation || in_array($dependent, $skippedViolation, true); if (!$matched) { return false; }
infection (ubuntu-22.04, 8.1): src/Contract/Analyser/EventHelper.php#L69
Escaped Mutant for Mutator "MethodCallRemoval": --- Original +++ New @@ @@ if ($this->shouldViolationBeSkipped($event->dependency->getDepender()->toString(), $event->dependency->getDependent()->toString())) { $result->addRule(new SkippedViolation($event->dependency, $event->dependerLayer, $dependentLayer)); } else { - $result->addRule(new Violation($event->dependency, $event->dependerLayer, $dependentLayer, $violationCreatingRule)); + } } }
infection (ubuntu-22.04, 8.1): src/Contract/Config/CollectorConfig.php#L20
Escaped Mutant for Mutator "PublicVisibility": --- Original +++ New @@ @@ return $this; } /** @return array{'type': string, 'private': bool, ...} */ - public function toArray() : array + protected function toArray() : array { return ['type' => $this->collectorType->value, 'private' => $this->private]; } }
infection (ubuntu-22.04, 8.1): src/Contract/Config/DeptracConfig.php#L125
Escaped Mutant for Mutator "NotIdentical": --- Original +++ New @@ @@ if ([] !== $this->formatters) { $config['formatters'] = array_map(static fn(FormatterConfigInterface $formatterConfig) => $formatterConfig->toArray(), $this->formatters); } - if ([] !== $this->excludeFiles) { + if ([] === $this->excludeFiles) { $config['exclude_files'] = $this->excludeFiles; } if ([] !== $this->layers) {
infection (ubuntu-22.04, 8.1): src/Contract/Config/DeptracConfig.php#L137
Escaped Mutant for Mutator "NotIdentical": --- Original +++ New @@ @@ if ([] !== $this->rulesets) { $config['ruleset'] = array_map(static fn(Ruleset $rulesetConfig) => $rulesetConfig->toArray(), $this->rulesets); } - if ([] !== $this->skipViolations) { + if ([] === $this->skipViolations) { $config['skip_violations'] = $this->skipViolations; } $config['ignore_uncovered_internal_classes'] = $this->ignoreUncoveredInternalClasses;
infection (ubuntu-22.04, 8.1): src/Contract/Config/DeptracConfig.php#L143
Escaped Mutant for Mutator "ArrayOneItem": --- Original +++ New @@ @@ $config['skip_violations'] = $this->skipViolations; } $config['ignore_uncovered_internal_classes'] = $this->ignoreUncoveredInternalClasses; - return $config; + return count($config) > 1 ? array_slice($config, 0, 1, true) : $config; } public function getExtensionAlias() : string {
infection (ubuntu-22.04, 8.1): src/Core/Analyser/EventHandler/DependsOnDisallowedLayer.php#L24
Escaped Mutant for Mutator "ArrayItemRemoval": --- Original +++ New @@ @@ } public static function getSubscribedEvents() { - return [ProcessEvent::class => ['invoke', -1]]; + return []; } public function invoke(ProcessEvent $event) : void {
infection (ubuntu-22.04, 8.1): src/Core/Analyser/EventHandler/DependsOnDisallowedLayer.php#L25
Escaped Mutant for Mutator "DecrementInteger": --- Original +++ New @@ @@ } public static function getSubscribedEvents() { - return [ProcessEvent::class => ['invoke', -1]]; + return [ProcessEvent::class => ['invoke', -2]]; } public function invoke(ProcessEvent $event) : void {
infection (ubuntu-22.04, 8.1): src/Core/Analyser/EventHandler/DependsOnDisallowedLayer.php#L25
Escaped Mutant for Mutator "IncrementInteger": --- Original +++ New @@ @@ } public static function getSubscribedEvents() { - return [ProcessEvent::class => ['invoke', -1]]; + return [ProcessEvent::class => ['invoke', -0]]; } public function invoke(ProcessEvent $event) : void {
infection (ubuntu-22.04, 8.1): src/Core/Analyser/EventHandler/DependsOnInternalToken.php#L50
Escaped Mutant for Mutator "MethodCallRemoval": --- Original +++ New @@ @@ $isInternal = $event->dependentReference->hasTag($this->internalTag); } if ($isInternal) { - $this->eventHelper->addSkippableViolation($event, $ruleset, $dependentLayer, $this); + $event->stopPropagation(); } }
infection (ubuntu-22.04, 8.1)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/
infection (ubuntu-22.04, 8.2)
Node.js 16 actions are deprecated. Please update the following actions to use Node.js 20: actions/checkout@v2, actions/cache@v2. For more information see: https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20/.
infection (ubuntu-22.04, 8.2)
The following actions uses node12 which is deprecated and will be forced to run on node16: actions/checkout@v2, actions/cache@v2. For more info: https://github.blog/changelog/2023-06-13-github-actions-all-actions-will-run-on-node16-instead-of-node12-by-default/
infection (ubuntu-22.04, 8.2): src/Contract/Analyser/EventHelper.php#L37
Escaped Mutant for Mutator "LogicalAnd": --- Original +++ New @@ @@ public function shouldViolationBeSkipped(string $depender, string $dependent) : bool { $skippedViolation = $this->skippedViolations[$depender] ?? []; - $matched = [] !== $skippedViolation && in_array($dependent, $skippedViolation, true); + $matched = [] !== $skippedViolation || in_array($dependent, $skippedViolation, true); if (!$matched) { return false; }
infection (ubuntu-22.04, 8.2): src/Contract/Analyser/EventHelper.php#L69
Escaped Mutant for Mutator "MethodCallRemoval": --- Original +++ New @@ @@ if ($this->shouldViolationBeSkipped($event->dependency->getDepender()->toString(), $event->dependency->getDependent()->toString())) { $result->addRule(new SkippedViolation($event->dependency, $event->dependerLayer, $dependentLayer)); } else { - $result->addRule(new Violation($event->dependency, $event->dependerLayer, $dependentLayer, $violationCreatingRule)); + } } }
infection (ubuntu-22.04, 8.2): src/Contract/Config/CollectorConfig.php#L20
Escaped Mutant for Mutator "PublicVisibility": --- Original +++ New @@ @@ return $this; } /** @return array{'type': string, 'private': bool, ...} */ - public function toArray() : array + protected function toArray() : array { return ['type' => $this->collectorType->value, 'private' => $this->private]; } }
infection (ubuntu-22.04, 8.2): src/Contract/Config/DeptracConfig.php#L125
Escaped Mutant for Mutator "NotIdentical": --- Original +++ New @@ @@ if ([] !== $this->formatters) { $config['formatters'] = array_map(static fn(FormatterConfigInterface $formatterConfig) => $formatterConfig->toArray(), $this->formatters); } - if ([] !== $this->excludeFiles) { + if ([] === $this->excludeFiles) { $config['exclude_files'] = $this->excludeFiles; } if ([] !== $this->layers) {
infection (ubuntu-22.04, 8.2): src/Contract/Config/DeptracConfig.php#L137
Escaped Mutant for Mutator "NotIdentical": --- Original +++ New @@ @@ if ([] !== $this->rulesets) { $config['ruleset'] = array_map(static fn(Ruleset $rulesetConfig) => $rulesetConfig->toArray(), $this->rulesets); } - if ([] !== $this->skipViolations) { + if ([] === $this->skipViolations) { $config['skip_violations'] = $this->skipViolations; } $config['ignore_uncovered_internal_classes'] = $this->ignoreUncoveredInternalClasses;
infection (ubuntu-22.04, 8.2): src/Contract/Config/DeptracConfig.php#L143
Escaped Mutant for Mutator "ArrayOneItem": --- Original +++ New @@ @@ $config['skip_violations'] = $this->skipViolations; } $config['ignore_uncovered_internal_classes'] = $this->ignoreUncoveredInternalClasses; - return $config; + return count($config) > 1 ? array_slice($config, 0, 1, true) : $config; } public function getExtensionAlias() : string {
infection (ubuntu-22.04, 8.2): src/Core/Analyser/EventHandler/DependsOnDisallowedLayer.php#L24
Escaped Mutant for Mutator "ArrayItemRemoval": --- Original +++ New @@ @@ } public static function getSubscribedEvents() { - return [ProcessEvent::class => ['invoke', -1]]; + return []; } public function invoke(ProcessEvent $event) : void {
infection (ubuntu-22.04, 8.2): src/Core/Analyser/EventHandler/DependsOnDisallowedLayer.php#L25
Escaped Mutant for Mutator "DecrementInteger": --- Original +++ New @@ @@ } public static function getSubscribedEvents() { - return [ProcessEvent::class => ['invoke', -1]]; + return [ProcessEvent::class => ['invoke', -2]]; } public function invoke(ProcessEvent $event) : void {
infection (ubuntu-22.04, 8.2): src/Core/Analyser/EventHandler/DependsOnDisallowedLayer.php#L25
Escaped Mutant for Mutator "IncrementInteger": --- Original +++ New @@ @@ } public static function getSubscribedEvents() { - return [ProcessEvent::class => ['invoke', -1]]; + return [ProcessEvent::class => ['invoke', -0]]; } public function invoke(ProcessEvent $event) : void {
infection (ubuntu-22.04, 8.2): src/Core/Analyser/EventHandler/DependsOnInternalToken.php#L50
Escaped Mutant for Mutator "MethodCallRemoval": --- Original +++ New @@ @@ $isInternal = $event->dependentReference->hasTag($this->internalTag); } if ($isInternal) { - $this->eventHelper->addSkippableViolation($event, $ruleset, $dependentLayer, $this); + $event->stopPropagation(); } }
infection (ubuntu-22.04, 8.2)
The `set-output` command is deprecated and will be disabled soon. Please upgrade to using Environment Files. For more information see: https://github.blog/changelog/2022-10-11-github-actions-deprecating-save-state-and-set-output-commands/