Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,12 +1,13 @@
name: Composer require checker
name: composer dependency analyser

on:
pull_request:
paths: &paths
- 'src/**'
- 'tests/**'
- '.github/workflows/composer-dependency-analyser.yml'
- 'composer.json'
- '.github/workflows/composer-require-checker.yml'
- 'composer-dependency-analyser.php'
push:
branches: ['master']
paths: *paths
Expand All @@ -19,10 +20,8 @@ concurrency:
cancel-in-progress: true

jobs:
composer-require-checker:
uses: yiisoft/actions/.github/workflows/composer-require-checker.yml@master
composer-dependency-analyser:
uses: yiisoft/actions/.github/workflows/composer-dependency-analyser.yml@master
with:
os: >-
['ubuntu-latest']
php: >-
['8.1', '8.2', '8.3', '8.4', '8.5']
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@
## 1.0.1 under development

- Enh #50: Explicitly import classes, functions, and constants in "use" section (@mspirkov)
- Enh #68: Remove unused `ext-mbstring` dependency (@vjik)
- Enh #68: Remove `#[Override]` attributes usage (@vjik)

## 1.0.0 December 21, 2025

Expand Down
11 changes: 11 additions & 0 deletions composer-dependency-analyser.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
<?php

declare(strict_types=1);

use ShipMonk\ComposerDependencyAnalyser\Config\Configuration;

return (new Configuration())
->disableComposerAutoloadPathScan()
->setFileExtensions(['php'])
->addPathToScan(__DIR__ . '/src', isDev: false)
->addPathToScan(__DIR__ . '/tests', isDev: true);
4 changes: 2 additions & 2 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -31,17 +31,16 @@
],
"require": {
"php": "8.1 - 8.5",
"ext-mbstring": "*",
"cycle/database": "^2.11",
"cycle/orm": "^2.9",
"yiisoft/data": "^2.0"
},
"require-dev": {
"friendsofphp/php-cs-fixer": "^3.92.5",
"maglnet/composer-require-checker": "^4.7",
"phpunit/phpunit": "^10.5",
"rector/rector": "^2.1.5",
"roave/infection-static-analysis-plugin": "^1.35",
"shipmonk/composer-dependency-analyser": "^1.8",
"spatie/phpunit-watcher": "^1.24",
"vimeo/psalm": "^5.26.1 || ^6.14.1",
"vlucas/phpdotenv": "^5.6"
Expand All @@ -68,6 +67,7 @@
}
},
"scripts": {
"dependency-analyser": "composer-dependency-analyser",
"test": "phpunit --testdox --no-interaction",
"test-watch": "phpunit-watcher watch"
}
Expand Down
6 changes: 3 additions & 3 deletions docs/internals.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,9 +36,9 @@ use either newest or any specific version of PHP:

## Dependencies

This package uses [composer-require-checker](https://github.com/maglnet/ComposerRequireChecker) to check if all
dependencies are correctly defined in `composer.json`. To run the checker, execute the following command:
Use [Composer Dependency Analyser](https://github.com/shipmonk-rnd/composer-dependency-analyser) to detect unknown,
shadow, and unused [Composer](https://getcomposer.org) dependencies:

```shell
./vendor/bin/composer-require-checker
./vendor/bin/composer-dependency-analyser
```
1 change: 1 addition & 0 deletions psalm.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
errorLevel="2"
findUnusedBaselineEntry="true"
findUnusedCode="false"
ensureOverrideAttribute="false"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="https://getpsalm.org/schema/config"
xsi:schemaLocation="https://getpsalm.org/schema/config vendor/vimeo/psalm/config.xsd"
Expand Down
13 changes: 0 additions & 13 deletions src/Reader/EntityReader.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@
use Yiisoft\Data\Reader\Sort;
use Yiisoft\Data\Cycle\Reader\Cache\CachedCollection;
use Yiisoft\Data\Cycle\Reader\Cache\CachedCount;
use Override;

use function array_key_exists;
use function is_int;
Expand Down Expand Up @@ -84,7 +83,6 @@ public function __construct(Select|SelectQuery $query, array $extraFilterHandler
$this->filter = new All();
}

#[Override]
public function getSort(): ?Sort
{
return $this->sorting;
Expand All @@ -93,7 +91,6 @@ public function getSort(): ?Sort
/**
* @psalm-mutation-free
*/
#[Override]
public function withLimit(?int $limit): static
{
/** @psalm-suppress DocblockTypeContradiction */
Expand All @@ -111,7 +108,6 @@ public function withLimit(?int $limit): static
/**
* @psalm-mutation-free
*/
#[Override]
public function withOffset(int $offset): static
{
$new = clone $this;
Expand All @@ -125,7 +121,6 @@ public function withOffset(int $offset): static
/**
* @psalm-mutation-free
*/
#[Override]
public function withSort(?Sort $sort): static
{
$new = clone $this;
Expand All @@ -140,7 +135,6 @@ public function withSort(?Sort $sort): static
/**
* @psalm-mutation-free
*/
#[Override]
public function withFilter(FilterInterface $filter): static
{
$new = clone $this;
Expand All @@ -154,13 +148,11 @@ public function withFilter(FilterInterface $filter): static
return $new;
}

#[Override]
public function count(): int
{
return $this->countCache->getCount();
}

#[Override]
public function read(): iterable
{
if ($this->itemsCache->getCollection() === null) {
Expand All @@ -170,7 +162,6 @@ public function read(): iterable
return $this->itemsCache->getCollection();
}

#[Override]
public function readOne(): array|object|null
{
if (!$this->oneItemCache->isCollected()) {
Expand All @@ -188,7 +179,6 @@ public function readOne(): array|object|null
/**
* Get Iterator without caching
*/
#[Override]
public function getIterator(): Generator
{
yield from $this->itemsCache->getCollection() ?? $this->buildSelectQuery()->getIterator();
Expand All @@ -200,19 +190,16 @@ public function getSql(): string
return (string) ($query instanceof Select ? $query->buildQuery() : $query);
}

#[Override]
public function getFilter(): FilterInterface
{
return $this->filter;
}

#[Override]
public function getLimit(): ?int
{
return $this->limit;
}

#[Override]
public function getOffset(): int
{
return $this->offset;
Expand Down
3 changes: 0 additions & 3 deletions src/Reader/FilterHandler/AllHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,14 @@
use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler;
use Yiisoft\Data\Reader\Filter\All;
use Yiisoft\Data\Reader\FilterInterface;
use Override;

final class AllHandler implements QueryBuilderFilterHandler
{
#[Override]
public function getFilterClass(): string
{
return All::class;
}

#[Override]
public function getAsWhereArguments(FilterInterface $filter, array $handlers): array
{
/** @var All $filter */
Expand Down
3 changes: 0 additions & 3 deletions src/Reader/FilterHandler/AndXHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -10,17 +10,14 @@
use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler;
use Yiisoft\Data\Reader\Filter\AndX;
use Yiisoft\Data\Reader\FilterInterface;
use Override;

final class AndXHandler implements QueryBuilderFilterHandler
{
#[Override]
public function getFilterClass(): string
{
return AndX::class;
}

#[Override]
public function getAsWhereArguments(FilterInterface $filter, array $handlers): array
{
/** @var AndX $filter */
Expand Down
3 changes: 0 additions & 3 deletions src/Reader/FilterHandler/BetweenHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,14 @@
use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler;
use Yiisoft\Data\Reader\Filter\Between;
use Yiisoft\Data\Reader\FilterInterface;
use Override;

final class BetweenHandler implements QueryBuilderFilterHandler
{
#[Override]
public function getFilterClass(): string
{
return Between::class;
}

#[Override]
public function getAsWhereArguments(FilterInterface $filter, array $handlers): array
{
/** @var Between $filter */
Expand Down
3 changes: 0 additions & 3 deletions src/Reader/FilterHandler/EqualsHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,14 @@
use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler;
use Yiisoft\Data\Reader\Filter\Equals;
use Yiisoft\Data\Reader\FilterInterface;
use Override;

final class EqualsHandler implements QueryBuilderFilterHandler
{
#[Override]
public function getFilterClass(): string
{
return Equals::class;
}

#[Override]
public function getAsWhereArguments(FilterInterface $filter, array $handlers): array
{
/** @var Equals $filter */
Expand Down
3 changes: 0 additions & 3 deletions src/Reader/FilterHandler/EqualsNullHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,14 @@
use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler;
use Yiisoft\Data\Reader\Filter\EqualsNull;
use Yiisoft\Data\Reader\FilterInterface;
use Override;

final class EqualsNullHandler implements QueryBuilderFilterHandler
{
#[Override]
public function getFilterClass(): string
{
return EqualsNull::class;
}

#[Override]
public function getAsWhereArguments(FilterInterface $filter, array $handlers): array
{
/** @var EqualsNull $filter */
Expand Down
3 changes: 0 additions & 3 deletions src/Reader/FilterHandler/GreaterThanHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,14 @@
use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler;
use Yiisoft\Data\Reader\Filter\GreaterThan;
use Yiisoft\Data\Reader\FilterInterface;
use Override;

final class GreaterThanHandler implements QueryBuilderFilterHandler
{
#[Override]
public function getFilterClass(): string
{
return GreaterThan::class;
}

#[Override]
public function getAsWhereArguments(FilterInterface $filter, array $handlers): array
{
/** @var GreaterThan $filter */
Expand Down
3 changes: 0 additions & 3 deletions src/Reader/FilterHandler/GreaterThanOrEqualHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,14 @@
use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler;
use Yiisoft\Data\Reader\Filter\GreaterThanOrEqual;
use Yiisoft\Data\Reader\FilterInterface;
use Override;

final class GreaterThanOrEqualHandler implements QueryBuilderFilterHandler
{
#[Override]
public function getFilterClass(): string
{
return GreaterThanOrEqual::class;
}

#[Override]
public function getAsWhereArguments(FilterInterface $filter, array $handlers): array
{
/** @var GreaterThanOrEqual $filter */
Expand Down
3 changes: 0 additions & 3 deletions src/Reader/FilterHandler/InHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,17 +8,14 @@
use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler;
use Yiisoft\Data\Reader\Filter\In;
use Yiisoft\Data\Reader\FilterInterface;
use Override;

final class InHandler implements QueryBuilderFilterHandler
{
#[Override]
public function getFilterClass(): string
{
return In::class;
}

#[Override]
public function getAsWhereArguments(FilterInterface $filter, array $handlers): array
{
/** @var In $filter */
Expand Down
3 changes: 0 additions & 3 deletions src/Reader/FilterHandler/LessThanHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,14 @@
use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler;
use Yiisoft\Data\Reader\Filter\LessThan;
use Yiisoft\Data\Reader\FilterInterface;
use Override;

final class LessThanHandler implements QueryBuilderFilterHandler
{
#[Override]
public function getFilterClass(): string
{
return LessThan::class;
}

#[Override]
public function getAsWhereArguments(FilterInterface $filter, array $handlers): array
{
/** @var LessThan $filter */
Expand Down
3 changes: 0 additions & 3 deletions src/Reader/FilterHandler/LessThanOrEqualHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,17 +7,14 @@
use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler;
use Yiisoft\Data\Reader\Filter\LessThanOrEqual;
use Yiisoft\Data\Reader\FilterInterface;
use Override;

final class LessThanOrEqualHandler implements QueryBuilderFilterHandler
{
#[Override]
public function getFilterClass(): string
{
return LessThanOrEqual::class;
}

#[Override]
public function getAsWhereArguments(FilterInterface $filter, array $handlers): array
{
/** @var LessThanOrEqual $filter */
Expand Down
2 changes: 0 additions & 2 deletions src/Reader/FilterHandler/LikeHandler/BaseLikeHandler.php
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
use Yiisoft\Data\Cycle\Reader\QueryBuilderFilterHandler;
use Yiisoft\Data\Reader\Filter\Like;
use Yiisoft\Data\Reader\Filter\LikeMode;
use Override;

abstract class BaseLikeHandler implements QueryBuilderFilterHandler
{
Expand All @@ -18,7 +17,6 @@ abstract class BaseLikeHandler implements QueryBuilderFilterHandler
'\\' => '\\\\',
];

#[Override]
public function getFilterClass(): string
{
return Like::class;
Expand Down
Loading