diff --git a/.github/workflows/coding-standards.yml b/.github/workflows/coding-standards.yml index 1a6e733..2a62ee6 100644 --- a/.github/workflows/coding-standards.yml +++ b/.github/workflows/coding-standards.yml @@ -9,4 +9,4 @@ jobs: cs: uses: ray-di/.github/.github/workflows/coding-standards.yml@v1 with: - php_version: 8.3 + php_version: 8.4 diff --git a/.github/workflows/continuous-integration.yml b/.github/workflows/continuous-integration.yml index 7a2889e..644d1ca 100644 --- a/.github/workflows/continuous-integration.yml +++ b/.github/workflows/continuous-integration.yml @@ -9,5 +9,4 @@ jobs: ci: uses: ray-di/.github/.github/workflows/continuous-integration.yml@v1 with: - old_stable: '["7.4", "8.0", "8.1", "8.2"]' - current_stable: 8.3 + current_stable: 8.4 diff --git a/.github/workflows/static-analysis.yml b/.github/workflows/static-analysis.yml index ffae3d5..3713270 100644 --- a/.github/workflows/static-analysis.yml +++ b/.github/workflows/static-analysis.yml @@ -9,5 +9,5 @@ jobs: sa: uses: ray-di/.github/.github/workflows/static-analysis.yml@v1 with: - php_version: 8.3 + php_version: 8.4 has_crc_config: false diff --git a/.scrutinizer.yml b/.scrutinizer.yml deleted file mode 100644 index 72688a8..0000000 --- a/.scrutinizer.yml +++ /dev/null @@ -1,13 +0,0 @@ -filter: - paths: ["src/*"] - -tools: - php_sim: true - php_pdepend: true - php_analyzer: true -build: - nodes: - analysis: - tests: - override: - - php-scrutinizer-run --enable-security-analysis diff --git a/composer.json b/composer.json index 962a423..cc565e7 100644 --- a/composer.json +++ b/composer.json @@ -8,23 +8,20 @@ "description": "aura/sql module for Ray.Di", "license": "MIT", "require": { - "php": "^7.4 || ^8.0", + "php": "^8.4", "ext-pdo": "*", - "ray/di": "^2.13.1", - "ray/aop": "^2.10.4", - "aura/sql": "^4.0 || ^5.0", - "aura/sqlquery": "^2.7.1 || 3.x-dev", + "ray/di": "^2.18", + "ray/aop": "^2.17", + "aura/sql": "^6.0", "pagerfanta/pagerfanta": "^3.5", - "rize/uri-template": "^0.3.4 || ^0.4", + "rize/uri-template": "^0.4", "doctrine/annotations": "^1.11 || ^2.0", "psr/log": "^1.1 || ^2.0 || ^3.0", - "symfony/polyfill-php81": "^1.24" + "aura/sqlquery": "^3.0" }, "require-dev": { - "phpunit/phpunit": "^9.5", - "bamarni/composer-bin-plugin": "^1.4", - "maglnet/composer-require-checker": "^3.0" - + "phpunit/phpunit": "^11.5.6", + "bamarni/composer-bin-plugin": "^1.4" }, "autoload": { "psr-4": { diff --git a/psalm.xml b/psalm.xml index 7c0333d..a87272e 100644 --- a/psalm.xml +++ b/psalm.xml @@ -1,10 +1,10 @@ @@ -12,4 +12,14 @@ + + + + + + + + + + diff --git a/src/AuraSqlDeleteInject.php b/src-deprecated/AuraSqlDeleteInject.php similarity index 82% rename from src/AuraSqlDeleteInject.php rename to src-deprecated/AuraSqlDeleteInject.php index ffd2766..4ffbff1 100644 --- a/src/AuraSqlDeleteInject.php +++ b/src-deprecated/AuraSqlDeleteInject.php @@ -7,14 +7,13 @@ use Aura\SqlQuery\Common\DeleteInterface; use Ray\Di\Di\Inject; +/** @deprecated Use constructor injection instead */ trait AuraSqlDeleteInject { /** @var DeleteInterface */ protected $delete; - /** - * @Inject - */ + /** @Inject */ #[Inject] public function setAuraSqlDelete(DeleteInterface $delete): void { diff --git a/src/AuraSqlInject.php b/src-deprecated/AuraSqlInject.php similarity index 80% rename from src/AuraSqlInject.php rename to src-deprecated/AuraSqlInject.php index 4f408ea..9585bd0 100644 --- a/src/AuraSqlInject.php +++ b/src-deprecated/AuraSqlInject.php @@ -7,17 +7,13 @@ use Aura\Sql\ExtendedPdoInterface; use Ray\Di\Di\Inject; -/** - * @codeCoverageIgnore - */ +/** @deprecated Use constructor injection instead */ trait AuraSqlInject { /** @var ExtendedPdoInterface */ protected $pdo; - /** - * @Inject() - */ + /** @Inject() */ #[Inject] public function setAuraSql(?ExtendedPdoInterface $pdo) { diff --git a/src/AuraSqlInsertInject.php b/src-deprecated/AuraSqlInsertInject.php similarity index 82% rename from src/AuraSqlInsertInject.php rename to src-deprecated/AuraSqlInsertInject.php index 7528d73..64b7d08 100644 --- a/src/AuraSqlInsertInject.php +++ b/src-deprecated/AuraSqlInsertInject.php @@ -7,14 +7,13 @@ use Aura\SqlQuery\Common\InsertInterface; use Ray\Di\Di\Inject; +/** @deprecated Use constructor injection instead */ trait AuraSqlInsertInject { /** @var InsertInterface */ protected $insert; - /** - * @Inject - */ + /** @Inject */ #[Inject] public function setAuraSqlInsert(InsertInterface $insert): void { diff --git a/src/AuraSqlPagerInject.php b/src-deprecated/AuraSqlPagerInject.php similarity index 85% rename from src/AuraSqlPagerInject.php rename to src-deprecated/AuraSqlPagerInject.php index 6116496..76476a0 100644 --- a/src/AuraSqlPagerInject.php +++ b/src-deprecated/AuraSqlPagerInject.php @@ -7,14 +7,13 @@ use Ray\AuraSqlModule\Pagerfanta\AuraSqlPagerFactoryInterface; use Ray\Di\Di\Inject; +/** @deprecated Use constructor injection instead */ trait AuraSqlPagerInject { /** @var AuraSqlPagerFactoryInterface */ protected $pagerFactory; - /** - * @Inject - */ + /** @Inject */ #[Inject] public function setAuraSqlPager(AuraSqlPagerFactoryInterface $pagerFactory): void { diff --git a/src/AuraSqlQueryPagerInject.php b/src-deprecated/AuraSqlQueryPagerInject.php similarity index 86% rename from src/AuraSqlQueryPagerInject.php rename to src-deprecated/AuraSqlQueryPagerInject.php index e0b08a2..7a4375b 100644 --- a/src/AuraSqlQueryPagerInject.php +++ b/src-deprecated/AuraSqlQueryPagerInject.php @@ -7,14 +7,13 @@ use Ray\AuraSqlModule\Pagerfanta\AuraSqlQueryPagerFactoryInterface; use Ray\Di\Di\Inject; +/** @deprecated Use constructor injection instead */ trait AuraSqlQueryPagerInject { /** @var AuraSqlQueryPagerFactoryInterface */ protected $queryPagerFactory; - /** - * @Inject - */ + /** @Inject */ #[Inject] public function setAuraSqlQueryPager(AuraSqlQueryPagerFactoryInterface $queryPagerFactory): void { diff --git a/src/AuraSqlSelectInject.php b/src-deprecated/AuraSqlSelectInject.php similarity index 82% rename from src/AuraSqlSelectInject.php rename to src-deprecated/AuraSqlSelectInject.php index c4ba419..760bf09 100644 --- a/src/AuraSqlSelectInject.php +++ b/src-deprecated/AuraSqlSelectInject.php @@ -7,14 +7,13 @@ use Aura\SqlQuery\Common\SelectInterface; use Ray\Di\Di\Inject; +/** @deprecated Use constructor injection instead */ trait AuraSqlSelectInject { /** @var SelectInterface */ protected $select; - /** - * @Inject - */ + /** @Inject */ #[Inject] public function setAuraSqlSelect(SelectInterface $select): void { diff --git a/src/AuraSqlUpdateInject.php b/src-deprecated/AuraSqlUpdateInject.php similarity index 82% rename from src/AuraSqlUpdateInject.php rename to src-deprecated/AuraSqlUpdateInject.php index 09328c4..de83ee8 100644 --- a/src/AuraSqlUpdateInject.php +++ b/src-deprecated/AuraSqlUpdateInject.php @@ -7,14 +7,13 @@ use Aura\SqlQuery\Common\UpdateInterface; use Ray\Di\Di\Inject; +/** @deprecated Use constructor injection instead */ trait AuraSqlUpdateInject { /** @var UpdateInterface */ protected $update; - /** - * @Inject - */ + /** @Inject */ #[Inject] public function setAuraSqlUpdate(UpdateInterface $update): void { diff --git a/src/Annotation/AuraSqlQueryConfig.php b/src/Annotation/AuraSqlQueryConfig.php index c13464f..bee11f5 100644 --- a/src/Annotation/AuraSqlQueryConfig.php +++ b/src/Annotation/AuraSqlQueryConfig.php @@ -17,14 +17,10 @@ #[Attribute(Attribute::TARGET_METHOD), Qualifier] final class AuraSqlQueryConfig { - /** @var ?array */ - public $value; - /** * @param array $value */ - public function __construct(?array $value = null) + public function __construct(public ?array $value = null) { - $this->value = $value; } } diff --git a/src/Annotation/PagerViewOption.php b/src/Annotation/PagerViewOption.php index 6ecad5a..60c7dea 100644 --- a/src/Annotation/PagerViewOption.php +++ b/src/Annotation/PagerViewOption.php @@ -12,16 +12,12 @@ * @Annotation * @Target("METHOD") * @Qualifier - * @NamedArgumentConstructor() + * @NamedArgumentConstructor */ #[Attribute(Attribute::TARGET_METHOD), Qualifier] final class PagerViewOption { - /** @var string */ - public $value; - - public function __construct(string $value) + public function __construct(public string $value) { - $this->value = $value; } } diff --git a/src/Annotation/Read.php b/src/Annotation/Read.php index 65915d6..6a03f9b 100644 --- a/src/Annotation/Read.php +++ b/src/Annotation/Read.php @@ -5,7 +5,7 @@ namespace Ray\AuraSqlModule\Annotation; use Attribute; -use Doctrine\Common\Annotations\Annotation\NamedArgumentConstructor; +use Doctrine\Common\Annotations\NamedArgumentConstructorAnnotation; use Ray\Di\Di\Qualifier; /** @@ -14,14 +14,10 @@ * @Qualifier * @NamedArgumentConstructor */ -#[Attribute(Attribute::TARGET_METHOD), Qualifier] +#[Attribute(Attribute::TARGET_METHOD|Attribute::TARGET_PARAMETER), Qualifier] final class Read { - /** @var string */ - public $value; - - public function __construct(string $value) + public function __construct(public string $value = '') { - $this->value = $value; } } diff --git a/src/Annotation/Transactional.php b/src/Annotation/Transactional.php index 6026c8c..7442b95 100644 --- a/src/Annotation/Transactional.php +++ b/src/Annotation/Transactional.php @@ -5,27 +5,25 @@ namespace Ray\AuraSqlModule\Annotation; use Attribute; -use Doctrine\Common\Annotations\Annotation\NamedArgumentConstructor; +use Doctrine\Common\Annotations\NamedArgumentConstructorAnnotation; /** * @Annotation * @Target("METHOD") - * @NamedArgumentConstructor() + * @NamedArgumentConstructor */ #[Attribute(Attribute::TARGET_METHOD)] final class Transactional { - /** - * @var ?array - * @deprecated - */ - public $value; - /** * @param array $value */ - public function __construct(array $value = ['pdo']) + public function __construct( + /** + * @deprecated + */ + public array $value = ['pdo'] + ) { - $this->value = $value; } } diff --git a/src/AuraSqlBaseModule.php b/src/AuraSqlBaseModule.php index 7a731bb..d6a01b2 100644 --- a/src/AuraSqlBaseModule.php +++ b/src/AuraSqlBaseModule.php @@ -11,16 +11,13 @@ class AuraSqlBaseModule extends AbstractModule { - private string $dsn; - - public function __construct(string $dsnKey, ?AbstractModule $module = null) + public function __construct(private readonly string $dsn, ?AbstractModule $module = null) { - $this->dsn = $dsnKey; parent::__construct($module); } /** - * {@inheritdoc} + * {@inheritDoc} */ protected function configure(): void { diff --git a/src/AuraSqlConnectionInterceptor.php b/src/AuraSqlConnectionInterceptor.php index c335621..ae62c5e 100644 --- a/src/AuraSqlConnectionInterceptor.php +++ b/src/AuraSqlConnectionInterceptor.php @@ -17,25 +17,17 @@ class AuraSqlConnectionInterceptor implements MethodInterceptor { public const PROP = 'pdo'; - private ConnectionLocatorInterface $connectionLocator; - - /** @var string[] */ - private array $readsMethods = []; - - /** - * @phpstan-param array $readMethods - * - * @Read("readMethods") - */ - #[Read('readMethods')] - public function __construct(ConnectionLocatorInterface $connectionLocator, array $readMethods) - { - $this->connectionLocator = $connectionLocator; - $this->readsMethods = $readMethods; + /** @phpstan-param array $readsMethods */ + public function __construct( + private readonly ConnectionLocatorInterface $connectionLocator, + /** @var string[] */ + #[Read] + private readonly array $readsMethods + ) { } /** - * {@inheritdoc} + * {@inheritDoc} */ public function invoke(MethodInvocation $invocation) { diff --git a/src/AuraSqlEnvModule.php b/src/AuraSqlEnvModule.php index 93e7fed..0fcbdff 100644 --- a/src/AuraSqlEnvModule.php +++ b/src/AuraSqlEnvModule.php @@ -8,44 +8,27 @@ class AuraSqlEnvModule extends AbstractModule { - private string $dsn; - private string $username; - private string $password; - private string $slave; - - /** @var array */ - private array $options; - - /** @var array */ - private array $queries; - /** - * @param string $dsnKey Env key for Data Source Name (DSN) - * @param string $usernameKey Env key for Username for the DSN string - * @param string $passwordKey Env key for Password for the DSN string - * @param string $slaveKey Env key for Comma separated slave host list - * @param array $options A key=>value array of driver-specific connection options - * @param array $queries Queries to execute after the connection. + * @param string $dsn Env key for Data Source Name (DSN) + * @param string $username Env key for Username for the DSN string + * @param string $password Env key for Password for the DSN string + * @param string $slave Env key for Comma separated slave host list + * @param array $options A key=>value array of driver-specific connection options + * @param array $queries Queries to execute after the connection. */ public function __construct( - string $dsnKey, - string $usernameKey = '', - string $passwordKey = '', - string $slaveKey = '', - array $options = [], - array $queries = [] + private readonly string $dsn, + private readonly string $username = '', + private readonly string $password = '', + private readonly string $slave = '', + private readonly array $options = [], + private readonly array $queries = [] ) { - $this->dsn = $dsnKey; - $this->username = $usernameKey; - $this->password = $passwordKey; - $this->slave = $slaveKey; - $this->options = $options; - $this->queries = $queries; parent::__construct(); } /** - * {@inheritdoc} + * {@inheritDoc} */ protected function configure(): void { diff --git a/src/AuraSqlLocatorModule.php b/src/AuraSqlLocatorModule.php index 81e7409..38c3745 100644 --- a/src/AuraSqlLocatorModule.php +++ b/src/AuraSqlLocatorModule.php @@ -16,37 +16,29 @@ class AuraSqlLocatorModule extends AbstractModule { - private ConnectionLocatorInterface $connectionLocator; - - /** @var string[] */ - private array $readMethods; - - /** @var string[] */ - private array $writeMethods; - /** * @phpstan-param array $readMethods * @phpstan-param array $writeMethods */ public function __construct( - ConnectionLocatorInterface $connectionLocator, - array $readMethods = [], - array $writeMethods = [], + private readonly ConnectionLocatorInterface $connectionLocator, + /** @var string[] */ + private readonly array $readMethods = [], + /** @var string[] */ + private readonly array $writeMethods = [], ?AbstractModule $module = null ) { - $this->connectionLocator = $connectionLocator; - $this->readMethods = $readMethods; - $this->writeMethods = $writeMethods; parent::__construct($module); } /** - * {@inheritdoc} + * {@inheritDoc} */ protected function configure(): void { if ((bool) $this->readMethods && (bool) $this->writeMethods) { $this->bind()->annotatedWith(Read::class)->toInstance($this->readMethods); + /** @psalm-suppress MissingDependency */ $this->bind()->annotatedWith(Write::class)->toInstance($this->writeMethods); } @@ -66,19 +58,17 @@ protected function installReadWriteConnection(): void $this->bindInterceptor( $this->matcher->any(), $this->matcher->annotatedWith(ReadOnlyConnection::class), - [AuraSqlSlaveDbInterceptor::class] + [AuraSqlSlaveDbInterceptor::class], ); // @WriteConnection $this->bindInterceptor( $this->matcher->any(), $this->matcher->annotatedWith(WriteConnection::class), - [AuraSqlMasterDbInterceptor::class] + [AuraSqlMasterDbInterceptor::class], ); } - /** - * @param string[] $methods - */ + /** @param string[] $methods */ private function installLocatorDb(array $methods): void { // locator db @@ -87,13 +77,13 @@ private function installLocatorDb(array $methods): void $this->matcher->logicalAnd( new IsInMethodMatcher($methods), $this->matcher->logicalNot( - $this->matcher->annotatedWith(ReadOnlyConnection::class) + $this->matcher->annotatedWith(ReadOnlyConnection::class), ), $this->matcher->logicalNot( - $this->matcher->annotatedWith(Connection::class) - ) + $this->matcher->annotatedWith(Connection::class), + ), ), - [AuraSqlConnectionInterceptor::class] + [AuraSqlConnectionInterceptor::class], ); } } diff --git a/src/AuraSqlMasterDbInterceptor.php b/src/AuraSqlMasterDbInterceptor.php index dbf4302..a1dfbaa 100644 --- a/src/AuraSqlMasterDbInterceptor.php +++ b/src/AuraSqlMasterDbInterceptor.php @@ -13,15 +13,12 @@ class AuraSqlMasterDbInterceptor implements MethodInterceptor { public const PROP = 'pdo'; - private ConnectionLocatorInterface $connectionLocator; - - public function __construct(ConnectionLocatorInterface $connectionLocator) + public function __construct(private readonly ConnectionLocatorInterface $connectionLocator) { - $this->connectionLocator = $connectionLocator; } /** - * {@inheritdoc} + * {@inheritDoc} */ public function invoke(MethodInvocation $invocation) { diff --git a/src/AuraSqlMasterModule.php b/src/AuraSqlMasterModule.php index 27b7f9f..b2e96c4 100644 --- a/src/AuraSqlMasterModule.php +++ b/src/AuraSqlMasterModule.php @@ -11,44 +11,31 @@ class AuraSqlMasterModule extends AbstractModule { - private string $dsn; - private string $user; - private string $password; - - /** @var array */ - private array $options; - - /** @var array */ - private array $attributes; - /** * @phpstan-param array $options * @phpstan-param array $attributes */ public function __construct( - string $dsnKey, - string $user = '', - string $passwordKey = '', - array $options = [], - array $attributes = [], + private readonly string $dsn, + private readonly string $user = '', + private readonly string $password = '', + /** @var array */ + private readonly array $options = [], + /** @var array */ + private readonly array $attributes = [], ?AbstractModule $module = null ) { - $this->dsn = $dsnKey; - $this->user = $user; - $this->password = $passwordKey; - $this->options = $options; - $this->attributes = $attributes; parent::__construct($module); } /** - * {@inheritdoc} + * {@inheritDoc} */ protected function configure(): void { $this->bind(ExtendedPdoInterface::class)->toConstructor( ExtendedPdo::class, - 'dsn=pdo_dsn,username=pdo_user,password=pdo_pass,options=pdo_option,attributes=pdo_attributes' + 'dsn=pdo_dsn,username=pdo_user,password=pdo_pass,options=pdo_option,attributes=pdo_attributes', )->in(Scope::SINGLETON); $this->bind()->annotatedWith('pdo_dsn')->toInstance($this->dsn); $this->bind()->annotatedWith('pdo_user')->toInstance($this->user); diff --git a/src/AuraSqlModule.php b/src/AuraSqlModule.php index 5893395..269748e 100644 --- a/src/AuraSqlModule.php +++ b/src/AuraSqlModule.php @@ -13,44 +13,27 @@ class AuraSqlModule extends AbstractModule { public const PARSE_PDO_DSN_REGEX = '/(.*?):(?:(host|server)=.*?;)?(.*)/i'; - private string $dsn; - private string $user; - private string $password; - private string $slave; - - /** @var array */ - private array $options; - - /** @var array */ - private array $queries; - /** - * @param string $dsnKey Data Source Name (DSN) - * @param string $user User name for the DSN string - * @param string $passwordKey Password for the DSN string - * @param string $slaveKey Comma separated slave host list - * @param array $options A key=>value array of driver-specific connection options + * @param string $dsn Data Source Name (DSN) + * @param string $user User name for the DSN string + * @param string $password Password for the DSN string + * @param string $slave Comma separated slave host list + * @param array $options A key=>value array of driver-specific connection options * @param array $queries */ public function __construct( - string $dsnKey, - string $user = '', - string $passwordKey = '', - string $slaveKey = '', - array $options = [], - array $queries = [] + private readonly string $dsn, + private readonly string $user = '', + private readonly string $password = '', + private readonly string $slave = '', + private readonly array $options = [], + private readonly array $queries = [] ) { - $this->dsn = $dsnKey; - $this->user = $user; - $this->password = $passwordKey; - $this->slave = $slaveKey; - $this->options = $options; - $this->queries = $queries; parent::__construct(); } /** - * {@inheritdoc} + * {@inheritDoc} */ protected function configure(): void { @@ -68,7 +51,7 @@ private function configureSingleDsn(): void $this->bind()->annotatedWith('pdo_queries')->toInstance($this->queries); $this->bind(ExtendedPdoInterface::class)->toConstructor( ExtendedPdo::class, - 'dsn=pdo_dsn,username=pdo_user,password=pdo_pass,options=pdo_options,queries=pdo_queries' + 'dsn=pdo_dsn,username=pdo_user,password=pdo_pass,options=pdo_options,queries=pdo_queries', )->in(Scope::SINGLETON); } @@ -80,7 +63,7 @@ private function configureMasterSlaveDsn(): void $this->password, $this->slave, $this->options, - $this->queries + $this->queries, ); $this->install(new AuraSqlReplicationModule($locator)); } diff --git a/src/AuraSqlProfileModule.php b/src/AuraSqlProfileModule.php index 8b24a26..31cbbe0 100644 --- a/src/AuraSqlProfileModule.php +++ b/src/AuraSqlProfileModule.php @@ -10,7 +10,7 @@ class AuraSqlProfileModule extends AbstractModule { /** - * {@inheritdoc} + * {@inheritDoc} */ protected function configure(): void { diff --git a/src/AuraSqlQueryDeleteProvider.php b/src/AuraSqlQueryDeleteProvider.php index 36d33ca..90bd0ad 100644 --- a/src/AuraSqlQueryDeleteProvider.php +++ b/src/AuraSqlQueryDeleteProvider.php @@ -9,26 +9,21 @@ use Ray\AuraSqlModule\Annotation\AuraSqlQueryConfig; use Ray\Di\ProviderInterface; -/** - * @implements ProviderInterface - */ +/** @implements ProviderInterface */ class AuraSqlQueryDeleteProvider implements ProviderInterface { - private string $db; - /** * @param string $db The database type * * @AuraSqlQueryConfig */ #[AuraSqlQueryConfig] - public function __construct(string $db) + public function __construct(private readonly string $db) { - $this->db = $db; } /** - * {@inheritdoc} + * {@inheritDoc} */ public function get(): DeleteInterface { diff --git a/src/AuraSqlQueryInsertProvider.php b/src/AuraSqlQueryInsertProvider.php index dd5d82e..d8946c7 100644 --- a/src/AuraSqlQueryInsertProvider.php +++ b/src/AuraSqlQueryInsertProvider.php @@ -9,26 +9,21 @@ use Ray\AuraSqlModule\Annotation\AuraSqlQueryConfig; use Ray\Di\ProviderInterface; -/** - * @implements ProviderInterface - */ +/** @implements ProviderInterface */ class AuraSqlQueryInsertProvider implements ProviderInterface { - private string $db; - /** * @param string $db The database type * * @AuraSqlQueryConfig */ #[AuraSqlQueryConfig] - public function __construct(string $db) + public function __construct(private readonly string $db) { - $this->db = $db; } /** - * {@inheritdoc} + * {@inheritDoc} */ public function get(): InsertInterface { diff --git a/src/AuraSqlQueryModule.php b/src/AuraSqlQueryModule.php index 7b2f4f0..0e2961a 100644 --- a/src/AuraSqlQueryModule.php +++ b/src/AuraSqlQueryModule.php @@ -13,16 +13,13 @@ class AuraSqlQueryModule extends AbstractModule { - private string $db; - - public function __construct(string $db, ?AbstractModule $module = null) + public function __construct(private readonly string $db, ?AbstractModule $module = null) { - $this->db = $db; parent::__construct($module); } /** - * {@inheritdoc} + * {@inheritDoc} */ protected function configure(): void { diff --git a/src/AuraSqlQuerySelectProvider.php b/src/AuraSqlQuerySelectProvider.php index c358b11..9371bb0 100644 --- a/src/AuraSqlQuerySelectProvider.php +++ b/src/AuraSqlQuerySelectProvider.php @@ -9,26 +9,21 @@ use Ray\AuraSqlModule\Annotation\AuraSqlQueryConfig; use Ray\Di\ProviderInterface; -/** - * @implements ProviderInterface - */ +/** @implements ProviderInterface */ class AuraSqlQuerySelectProvider implements ProviderInterface { - private string $db; - /** * @param string $db The database type * * @AuraSqlQueryConfig */ #[AuraSqlQueryConfig()] - public function __construct($db) + public function __construct(private readonly string $db) { - $this->db = $db; } /** - * {@inheritdoc} + * {@inheritDoc} */ public function get(): SelectInterface { diff --git a/src/AuraSqlQueryUpdateProvider.php b/src/AuraSqlQueryUpdateProvider.php index 9cd3cba..95af3a1 100644 --- a/src/AuraSqlQueryUpdateProvider.php +++ b/src/AuraSqlQueryUpdateProvider.php @@ -9,26 +9,21 @@ use Ray\AuraSqlModule\Annotation\AuraSqlQueryConfig; use Ray\Di\ProviderInterface; -/** - * @implements ProviderInterface - */ +/** @implements ProviderInterface */ class AuraSqlQueryUpdateProvider implements ProviderInterface { - private string $db; - /** * @param string $db The database type * * @AuraSqlQueryConfig */ #[AuraSqlQueryConfig] - public function __construct($db) + public function __construct(private readonly string $db) { - $this->db = $db; } /** - * {@inheritdoc} + * {@inheritDoc} */ public function get(): UpdateInterface { diff --git a/src/AuraSqlReplicationDbProvider.php b/src/AuraSqlReplicationDbProvider.php index b131c47..4f79516 100644 --- a/src/AuraSqlReplicationDbProvider.php +++ b/src/AuraSqlReplicationDbProvider.php @@ -10,23 +10,17 @@ use Ray\Di\ProviderInterface; use Ray\Di\SetContextInterface; -use function assert; - -/** - * @implements ProviderInterface - */ +/** @implements ProviderInterface */ class AuraSqlReplicationDbProvider implements ProviderInterface, SetContextInterface { - private InjectorInterface $injector; private string $context = ''; - public function __construct(InjectorInterface $injector) + public function __construct(private readonly InjectorInterface $injector) { - $this->injector = $injector; } /** - * {@inheritdoc} + * {@inheritDoc} * * @param string $context */ @@ -36,12 +30,11 @@ public function setContext($context): void } /** - * {@inheritdoc} + * {@inheritDoc} */ public function get(): ExtendedPdoInterface { $connectionLocator = $this->injector->getInstance(ConnectionLocatorInterface::class, $this->context); - assert($connectionLocator instanceof ConnectionLocatorInterface); $isGetRequest = isset($_SERVER['REQUEST_METHOD']) && $_SERVER['REQUEST_METHOD'] === 'GET'; return $isGetRequest ? $connectionLocator->getRead() : $connectionLocator->getWrite(); diff --git a/src/AuraSqlReplicationModule.php b/src/AuraSqlReplicationModule.php index aaaa18e..d6a8a7d 100644 --- a/src/AuraSqlReplicationModule.php +++ b/src/AuraSqlReplicationModule.php @@ -13,21 +13,16 @@ class AuraSqlReplicationModule extends AbstractModule { - private ConnectionLocatorInterface $connectionLocator; - private string $qualifer; - public function __construct( - ConnectionLocatorInterface $connectionLocator, - string $qualifer = '', + private readonly ConnectionLocatorInterface $connectionLocator, + private readonly string $qualifer = '', ?AbstractModule $module = null ) { - $this->connectionLocator = $connectionLocator; - $this->qualifer = $qualifer; parent::__construct($module); } /** - * {@inheritdoc} + * {@inheritDoc} */ protected function configure(): void { @@ -51,13 +46,13 @@ protected function installReadWriteConnection(): void $this->bindInterceptor( $this->matcher->any(), $this->matcher->annotatedWith(ReadOnlyConnection::class), - [AuraSqlSlaveDbInterceptor::class] + [AuraSqlSlaveDbInterceptor::class], ); // @WriteConnection $this->bindInterceptor( $this->matcher->any(), $this->matcher->annotatedWith(WriteConnection::class), - [AuraSqlMasterDbInterceptor::class] + [AuraSqlMasterDbInterceptor::class], ); } } diff --git a/src/AuraSqlSlaveDbInterceptor.php b/src/AuraSqlSlaveDbInterceptor.php index e47447b..618b38c 100644 --- a/src/AuraSqlSlaveDbInterceptor.php +++ b/src/AuraSqlSlaveDbInterceptor.php @@ -16,15 +16,12 @@ class AuraSqlSlaveDbInterceptor implements MethodInterceptor */ public const PROP = 'pdo'; - private ConnectionLocatorInterface $connectionLocator; - - public function __construct(ConnectionLocatorInterface $connectionLocator) + public function __construct(private readonly ConnectionLocatorInterface $connectionLocator) { - $this->connectionLocator = $connectionLocator; } /** - * {@inheritdoc} + * {@inheritDoc} */ public function invoke(MethodInvocation $invocation) { diff --git a/src/Connection.php b/src/Connection.php index 44edc7b..bbc8b0c 100644 --- a/src/Connection.php +++ b/src/Connection.php @@ -8,15 +8,6 @@ class Connection { - private string $dsn; - private string $username; - private string $password; - - /** @var array */ - private array $options; - - /** @var array */ - private array $queries; private ?ExtendedPdo $pdo = null; /** @@ -24,17 +15,14 @@ class Connection * @phpstan-param array $queries */ public function __construct( - string $dsn, - string $username = '', - string $password = '', - array $options = [], - array $queries = [] + private readonly string $dsn, + private readonly string $username = '', + private readonly string $password = '', + /** @var array */ + private readonly array $options = [], + /** @var array */ + private readonly array $queries = [] ) { - $this->dsn = $dsn; - $this->username = $username; - $this->password = $password; - $this->options = $options; - $this->queries = $queries; } public function __invoke(): ExtendedPdo diff --git a/src/ConnectionLocatorFactory.php b/src/ConnectionLocatorFactory.php index 3dccf47..eea5d1c 100644 --- a/src/ConnectionLocatorFactory.php +++ b/src/ConnectionLocatorFactory.php @@ -12,9 +12,7 @@ final class ConnectionLocatorFactory { - /** - * @codeCoverageIgnore - */ + /** @codeCoverageIgnore */ private function __construct() { } diff --git a/src/EnvConnection.php b/src/EnvConnection.php index 06d3ab1..05ad715 100644 --- a/src/EnvConnection.php +++ b/src/EnvConnection.php @@ -14,38 +14,23 @@ final class EnvConnection { - private string $dsn; - private string $username; - private string $password; - - /** @var array */ - private array $options; - - /** @var array */ - private array $queries; - /** @var array */ private static array $pdo = []; - private ?string $slave; /** * @phpstan-param array $options * @phpstan-param array $queries */ public function __construct( - string $dsn, - ?string $slave, - string $username = '', - string $password = '', - array $options = [], - array $queries = [] + private readonly string $dsn, + private readonly ?string $slave, + private readonly string $username = '', + private readonly string $password = '', + /** @var array */ + private readonly array $options = [], + /** @var array */ + private readonly array $queries = [] ) { - $this->dsn = $dsn; - $this->slave = $slave; - $this->username = $username; - $this->password = $password; - $this->options = $options; - $this->queries = $queries; } public function __invoke(): ExtendedPdo @@ -60,7 +45,7 @@ public function __invoke(): ExtendedPdo (string) getenv($this->username), (string) getenv($this->password), $this->options, - $this->queries + $this->queries, ); return self::$pdo[$dsn]; @@ -80,9 +65,6 @@ private function getDsn(): string return $this->changeHost((string) getenv($this->dsn), $slave); } - /** - * @psalm-pure - */ private function changeHost(string $dsn, string $host): string { preg_match(AuraSqlModule::PARSE_PDO_DSN_REGEX, $dsn, $parts); diff --git a/src/IsInMethodMatcher.php b/src/IsInMethodMatcher.php index 4f5a762..4a5c2d4 100644 --- a/src/IsInMethodMatcher.php +++ b/src/IsInMethodMatcher.php @@ -13,7 +13,7 @@ class IsInMethodMatcher extends AbstractMatcher { /** - * {@inheritdoc} + * {@inheritDoc} * * @phpstan-param ReflectionClass $class * @phpstan-param array $arguments @@ -28,7 +28,7 @@ public function matchesClass(ReflectionClass $class, array $arguments): bool } /** - * {@inheritdoc} + * {@inheritDoc} * * @phpstan-param array $arguments */ diff --git a/src/NamedExtendedPdoProvider.php b/src/NamedExtendedPdoProvider.php index e882dcc..75b44fb 100644 --- a/src/NamedExtendedPdoProvider.php +++ b/src/NamedExtendedPdoProvider.php @@ -9,15 +9,10 @@ use Ray\Di\ProviderInterface; use Ray\Di\SetContextInterface; -use function assert; - -/** - * @implements ProviderInterface - */ +/** @implements ProviderInterface */ class NamedExtendedPdoProvider implements ProviderInterface, SetContextInterface { - private InjectorInterface $injector; private string $context; /** @@ -28,18 +23,16 @@ public function setContext($context) $this->context = $context; } - public function __construct(InjectorInterface $injector) + public function __construct(private readonly InjectorInterface $injector) { - $this->injector = $injector; } /** - * {@inheritdoc} + * {@inheritDoc} */ public function get(): ExtendedPdo { $connection = $this->injector->getInstance(EnvConnection::class, $this->context); - assert($connection instanceof EnvConnection); return ($connection)(); } diff --git a/src/NamedPdoEnvModule.php b/src/NamedPdoEnvModule.php index 28ebc6a..2de5b8b 100644 --- a/src/NamedPdoEnvModule.php +++ b/src/NamedPdoEnvModule.php @@ -11,18 +11,6 @@ class NamedPdoEnvModule extends AbstractModule { public const PARSE_PDO_DSN_REGEX = '/(.*?)\:(host|server)=.*?;(.*)/i'; - private string $qualifer; - private string $dsn; - private string $username; - private string $password; - private string $slave; - - /** @var array */ - private array $options; - - /** @var array */ - private array $queries; - /** * @param string $qualifer Qualifer for ExtendedPdoInterface * @param string $dsn Data Source Name (DSN) @@ -33,26 +21,19 @@ class NamedPdoEnvModule extends AbstractModule * @param array $queries Queries to execute after the connection. */ public function __construct( - string $qualifer, - string $dsn, - string $username = '', - string $password = '', - string $slave = '', - array $options = [], - array $queries = [] + private readonly string $qualifer, + private readonly string $dsn, + private readonly string $username = '', + private readonly string $password = '', + private readonly string $slave = '', + private readonly array $options = [], + private readonly array $queries = [] ) { - $this->qualifer = $qualifer; - $this->dsn = $dsn; - $this->username = $username; - $this->password = $password; - $this->slave = $slave; - $this->options = $options; - $this->queries = $queries; parent::__construct(); } /** - * {@inheritdoc} + * {@inheritDoc} */ protected function configure(): void { @@ -68,12 +49,12 @@ private function configureSingleDsn(): void $this->username, $this->password, $this->options, - $this->queries + $this->queries, ); $this->bind(EnvConnection::class)->annotatedWith($this->qualifer)->toInstance($connection); $this->bind(ExtendedPdoInterface::class)->annotatedWith($this->qualifer)->toProvider( NamedExtendedPdoProvider::class, - $this->qualifer + $this->qualifer, ); } @@ -85,7 +66,7 @@ private function configureMasterSlaveDsn(): void $this->password, $this->slave, $this->options, - $this->queries + $this->queries, ); $this->install(new AuraSqlReplicationModule($locator, $this->qualifer)); } diff --git a/src/NamedPdoModule.php b/src/NamedPdoModule.php index b547d2f..5e96102 100644 --- a/src/NamedPdoModule.php +++ b/src/NamedPdoModule.php @@ -13,18 +13,6 @@ class NamedPdoModule extends AbstractModule { public const PARSE_PDO_DSN_REGEX = '/(.*?)\:(host|server)=.*?;(.*)/i'; - private string $qualifer; - private string $dsn; - private string $username; - private string $password; - private string $slave; - - /** @var array */ - private array $options; - - /** @var array */ - private array $queries; - /** * @param string $qualifer Qualifer for ExtendedPdoInterface * @param string $dsn Data Source Name (DSN) @@ -35,26 +23,19 @@ class NamedPdoModule extends AbstractModule * @param array $queries Queries to execute after the connection. */ public function __construct( - string $qualifer, - string $dsn, - string $username = '', - string $password = '', - string $slave = '', - array $options = [], - array $queries = [] + private readonly string $qualifer, + private readonly string $dsn, + private readonly string $username = '', + private readonly string $password = '', + private readonly string $slave = '', + private readonly array $options = [], + private readonly array $queries = [] ) { - $this->qualifer = $qualifer; - $this->dsn = $dsn; - $this->username = $username; - $this->password = $password; - $this->slave = $slave; - $this->options = $options; - $this->queries = $queries; parent::__construct(); } /** - * {@inheritdoc} + * {@inheritDoc} */ protected function configure(): void { @@ -68,7 +49,7 @@ private function configureSingleDsn(): void ->annotatedWith($this->qualifer) ->toConstructor( ExtendedPdo::class, - "dsn={$this->qualifer}_dsn,username={$this->qualifer}_username,password={$this->qualifer}_password" + "dsn={$this->qualifer}_dsn,username={$this->qualifer}_username,password={$this->qualifer}_password", ); $this->bind()->annotatedWith("{$this->qualifer}_dsn")->toInstance($this->dsn); $this->bind()->annotatedWith("{$this->qualifer}_username")->toInstance($this->username); @@ -89,7 +70,7 @@ private function getLocator(): ConnectionLocator $this->password, $this->slave, $this->options, - $this->queries + $this->queries, ); } } diff --git a/src/Pagerfanta/AuraSqlPager.php b/src/Pagerfanta/AuraSqlPager.php index bc5cac2..07ccda9 100644 --- a/src/Pagerfanta/AuraSqlPager.php +++ b/src/Pagerfanta/AuraSqlPager.php @@ -5,7 +5,6 @@ namespace Ray\AuraSqlModule\Pagerfanta; use Aura\Sql\ExtendedPdoInterface; -use Pagerfanta\Adapter\AdapterInterface; use Pagerfanta\Exception\LogicException; use Pagerfanta\Pagerfanta; use Pagerfanta\View\ViewInterface; @@ -17,16 +16,10 @@ use function assert; use function class_exists; -/** - * @template T - */ +/** @template T */ class AuraSqlPager implements AuraSqlPagerInterface { - private ViewInterface $view; private ?RouteGeneratorInterface $routeGenerator = null; - - /** @var array> */ - private array $viewOptions; private ExtendedPdoInterface $pdo; private string $sql; private ?string $entity = null; @@ -38,19 +31,17 @@ class AuraSqlPager implements AuraSqlPagerInterface private int $paging; /** - * @param array> $viewOptions + * @param array $viewOptions * * @PagerViewOption("viewOptions") */ #[PagerViewOption('viewOptions')] - public function __construct(ViewInterface $view, array $viewOptions) + public function __construct(private readonly ViewInterface $view, private readonly array $viewOptions) { - $this->view = $view; - $this->viewOptions = $viewOptions; } /** - * {@inheritdoc} + * {@inheritDoc} * * @phpstan-param positive-int $paging */ @@ -65,7 +56,7 @@ public function init(ExtendedPdoInterface $pdo, $sql, array $params, $paging, Ro } /** - * {@inheritdoc} + * {@inheritDoc} */ #[ReturnTypeWillChange] public function offsetExists($offset): bool @@ -74,7 +65,7 @@ public function offsetExists($offset): bool } /** - * {@inheritdoc} + * {@inheritDoc} * * @phpstan-param positive-int $currentPage */ @@ -101,7 +92,7 @@ public function offsetGet($currentPage): Page } /** - * {@inheritdoc} + * {@inheritDoc} */ public function offsetSet($offset, $value): void { @@ -109,21 +100,22 @@ public function offsetSet($offset, $value): void } /** - * {@inheritdoc} + * {@inheritDoc} */ public function offsetUnset($offset): void { throw new LogicException('read only'); } - /** - * @return AdapterInterface - */ - private function getPdoAdapter(): AdapterInterface + /** @return ExtendedPdoAdapter */ + private function getPdoAdapter(): ExtendedPdoAdapter { assert($this->entity === null || class_exists($this->entity)); $fetcher = $this->entity ? new FetchEntity($this->pdo, $this->entity) : new FetchAssoc($this->pdo); - return new ExtendedPdoAdapter($this->pdo, $this->sql, $this->params, $fetcher); + /** @var ExtendedPdoAdapter $adapter */ + $adapter = new ExtendedPdoAdapter($this->pdo, $this->sql, $this->params, $fetcher); + + return $adapter; } } diff --git a/src/Pagerfanta/AuraSqlPagerFactory.php b/src/Pagerfanta/AuraSqlPagerFactory.php index dc1e20b..d57fa6a 100644 --- a/src/Pagerfanta/AuraSqlPagerFactory.php +++ b/src/Pagerfanta/AuraSqlPagerFactory.php @@ -8,15 +8,12 @@ class AuraSqlPagerFactory implements AuraSqlPagerFactoryInterface { - private AuraSqlPagerInterface $auraSqlPager; - - public function __construct(AuraSqlPagerInterface $auraSqlPager) + public function __construct(private readonly AuraSqlPagerInterface $auraSqlPager) { - $this->auraSqlPager = $auraSqlPager; } /** - * {@inheritdoc} + * {@inheritDoc} */ public function newInstance(ExtendedPdoInterface $pdo, string $sql, array $params, int $paging, string $uriTemplate, ?string $entity = null): AuraSqlPagerInterface { diff --git a/src/Pagerfanta/AuraSqlPagerFactoryInterface.php b/src/Pagerfanta/AuraSqlPagerFactoryInterface.php index 4a1a5a6..cf573f9 100644 --- a/src/Pagerfanta/AuraSqlPagerFactoryInterface.php +++ b/src/Pagerfanta/AuraSqlPagerFactoryInterface.php @@ -8,8 +8,6 @@ interface AuraSqlPagerFactoryInterface { - /** - * @param array> $params - */ + /** @param array> $params */ public function newInstance(ExtendedPdoInterface $pdo, string $sql, array $params, int $paging, string $uriTemplate, ?string $entity = null): AuraSqlPagerInterface; } diff --git a/src/Pagerfanta/AuraSqlPagerInterface.php b/src/Pagerfanta/AuraSqlPagerInterface.php index b482a1a..155ebab 100644 --- a/src/Pagerfanta/AuraSqlPagerInterface.php +++ b/src/Pagerfanta/AuraSqlPagerInterface.php @@ -7,9 +7,7 @@ use ArrayAccess; use Aura\Sql\ExtendedPdoInterface; -/** - * @extends ArrayAccess - */ +/** @extends ArrayAccess */ interface AuraSqlPagerInterface extends ArrayAccess { /** diff --git a/src/Pagerfanta/AuraSqlPagerModule.php b/src/Pagerfanta/AuraSqlPagerModule.php index 4ceffd0..577560e 100644 --- a/src/Pagerfanta/AuraSqlPagerModule.php +++ b/src/Pagerfanta/AuraSqlPagerModule.php @@ -14,7 +14,7 @@ class AuraSqlPagerModule extends AbstractModule { /** - * {@inheritdoc} + * {@inheritDoc} */ protected function configure(): void { diff --git a/src/Pagerfanta/AuraSqlQueryAdapter.php b/src/Pagerfanta/AuraSqlQueryAdapter.php index 3f71bab..744854a 100644 --- a/src/Pagerfanta/AuraSqlQueryAdapter.php +++ b/src/Pagerfanta/AuraSqlQueryAdapter.php @@ -12,8 +12,6 @@ use function assert; use function call_user_func; -use function is_array; -use function is_int; /** * @template T @@ -21,24 +19,20 @@ */ class AuraSqlQueryAdapter implements AdapterInterface { - private ExtendedPdoInterface $pdo; - private SelectInterface $select; + private readonly SelectInterface $select; /** @var callable */ private $countQueryBuilderModifier; - /** - * @param callable $countQueryBuilderModifier a callable to modifier the query builder to count - */ - public function __construct(ExtendedPdoInterface $pdo, SelectInterface $select, callable $countQueryBuilderModifier) + /** @param callable $countQueryBuilderModifier a callable to modifier the query builder to count */ + public function __construct(private readonly ExtendedPdoInterface $pdo, SelectInterface $select, callable $countQueryBuilderModifier) { - $this->pdo = $pdo; $this->select = clone $select; $this->countQueryBuilderModifier = $countQueryBuilderModifier; } /** - * {@inheritdoc} + * {@inheritDoc} */ public function getNbResults(): int { @@ -50,13 +44,12 @@ public function getNbResults(): int $result = $sth->fetchColumn(); $nbResults = (int) $result; assert($nbResults >= 0); - assert(is_int($nbResults)); return $nbResults; } /** - * {@inheritdoc} + * {@inheritDoc} * * @return iterable */ @@ -70,10 +63,8 @@ public function getSlice(int $offset, int $length): iterable $sth = $this->pdo->prepare($sql); assert($sth instanceof PDOStatement); $sth->execute($this->select->getBindValues()); - $result = $sth->fetchAll(PDO::FETCH_ASSOC); - assert(is_array($result)); - return $result; + return $sth->fetchAll(PDO::FETCH_ASSOC); } private function prepareCountQueryBuilder(): SelectInterface diff --git a/src/Pagerfanta/AuraSqlQueryPager.php b/src/Pagerfanta/AuraSqlQueryPager.php index 13e0a08..c0bf41a 100644 --- a/src/Pagerfanta/AuraSqlQueryPager.php +++ b/src/Pagerfanta/AuraSqlQueryPager.php @@ -16,38 +16,33 @@ use function array_keys; -/** - * @implements ArrayAccess - */ +/** @implements ArrayAccess */ class AuraSqlQueryPager implements AuraSqlQueryPagerInterface, ArrayAccess { private ExtendedPdoInterface $pdo; - private ViewInterface $view; private ?RouteGeneratorInterface $routeGenerator = null; - - /** @var array> */ - private array $viewOptions; private SelectInterface $select; /** @phpstan-var positive-int */ private int $paging; /** - * @param array> $viewOptions + * @param array $viewOptions * * @PagerViewOption("viewOptions") */ #[PagerViewOption('viewOptions')] - public function __construct(ViewInterface $view, array $viewOptions) + public function __construct(private readonly ViewInterface $view, private readonly array $viewOptions) { - $this->view = $view; - $this->viewOptions = $viewOptions; } /** * @phpstan-param positive-int $paging - * {@inheritdoc} + * + * @return AuraSqlQueryPagerInterface + * + * {@inheritDoc} */ public function init(ExtendedPdoInterface $pdo, SelectInterface $select, int $paging, RouteGeneratorInterface $routeGenerator) { @@ -61,7 +56,7 @@ public function init(ExtendedPdoInterface $pdo, SelectInterface $select, int $pa /** * @phpstan-param positive-int $page - * {@inheritdoc} + * {@inheritDoc} */ public function offsetGet($page): Page { @@ -93,7 +88,7 @@ public function offsetGet($page): Page } /** - * {@inheritdoc} + * {@inheritDoc} */ public function offsetExists($offset): bool { @@ -101,7 +96,7 @@ public function offsetExists($offset): bool } /** - * {@inheritdoc} + * {@inheritDoc} */ public function offsetSet($offset, $value): void { @@ -109,7 +104,7 @@ public function offsetSet($offset, $value): void } /** - * {@inheritdoc} + * {@inheritDoc} */ public function offsetUnset($offset): void { diff --git a/src/Pagerfanta/AuraSqlQueryPagerFactory.php b/src/Pagerfanta/AuraSqlQueryPagerFactory.php index e3308ae..e60a2cb 100644 --- a/src/Pagerfanta/AuraSqlQueryPagerFactory.php +++ b/src/Pagerfanta/AuraSqlQueryPagerFactory.php @@ -9,15 +9,12 @@ class AuraSqlQueryPagerFactory implements AuraSqlQueryPagerFactoryInterface { - private AuraSqlQueryPagerInterface $auraSqlQueryPager; - - public function __construct(AuraSqlQueryPagerInterface $auraSqlQueryPager) + public function __construct(private readonly AuraSqlQueryPagerInterface $auraSqlQueryPager) { - $this->auraSqlQueryPager = $auraSqlQueryPager; } /** - * {@inheritdoc} + * {@inheritDoc} */ public function newInstance(ExtendedPdoInterface $pdo, SelectInterface $select, $paging, $uriTemplate) { diff --git a/src/Pagerfanta/AuraSqlQueryPagerInterface.php b/src/Pagerfanta/AuraSqlQueryPagerInterface.php index a7c6243..7eecc7d 100644 --- a/src/Pagerfanta/AuraSqlQueryPagerInterface.php +++ b/src/Pagerfanta/AuraSqlQueryPagerInterface.php @@ -9,8 +9,6 @@ interface AuraSqlQueryPagerInterface { - /** - * @return AuraSqlQueryPagerInterface - */ + /** @return AuraSqlQueryPagerInterface */ public function init(ExtendedPdoInterface $pdo, SelectInterface $select, int $paging, RouteGeneratorInterface $routeGenerator); } diff --git a/src/Pagerfanta/DefaultRouteGenerator.php b/src/Pagerfanta/DefaultRouteGenerator.php index c0b14f5..00246f5 100644 --- a/src/Pagerfanta/DefaultRouteGenerator.php +++ b/src/Pagerfanta/DefaultRouteGenerator.php @@ -6,15 +6,12 @@ class DefaultRouteGenerator implements RouteGeneratorInterface { - private string $uri; - - public function __construct(string $uri) + public function __construct(private readonly string $uri) { - $this->uri = $uri; } /** - * {@inheritdoc} + * {@inheritDoc} */ public function __invoke($page) { diff --git a/src/Pagerfanta/ExtendedPdoAdapter.php b/src/Pagerfanta/ExtendedPdoAdapter.php index 4f62594..6c66b22 100644 --- a/src/Pagerfanta/ExtendedPdoAdapter.php +++ b/src/Pagerfanta/ExtendedPdoAdapter.php @@ -9,6 +9,7 @@ use function assert; use function count; +use function is_array; use function is_int; use function preg_match; use function preg_replace; @@ -25,28 +26,18 @@ */ class ExtendedPdoAdapter implements AdapterInterface { - private ExtendedPdoInterface $pdo; - private string $sql; + private readonly FetcherInterface $fetcher; - /** @var array */ - private array $params; - private FetcherInterface $fetcher; - - /** - * @param array $params - */ - public function __construct(ExtendedPdoInterface $pdo, string $sql, array $params, ?FetcherInterface $fetcher = null) + /** @param array $params */ + public function __construct(private readonly ExtendedPdoInterface $pdo, private readonly string $sql, private readonly array $params, ?FetcherInterface $fetcher = null) { - $this->pdo = $pdo; - $this->sql = $sql; - $this->params = $params; - $this->fetcher = $fetcher ?? new FetchAssoc($pdo); + $this->fetcher = $fetcher ?? new FetchAssoc($this->pdo); } /** - * {@inheritdoc} + * {@inheritDoc} * - * @SuppressWarnings(PHPMD.GotoStatement) + * @SuppressWarnings(PHPMD.GotoStatement) // @phpstan-ignore-line */ public function getNbResults(): int { @@ -68,14 +59,13 @@ public function getNbResults(): int ret: /** @var string $count */ $nbResult = ! $count ? 0 : (int) $count; - assert(is_int($nbResult)); assert($nbResult >= 0); return $nbResult; } /** - * {@inheritdoc} + * {@inheritDoc} * * @param int $offset * @param int $length @@ -91,7 +81,7 @@ public function getSlice(int $offset, int $length): iterable } /** - * {@inheritdoc} + * {@inheritDoc} */ public function getLimitClause(int $offset, int $length): string { @@ -143,11 +133,11 @@ public function rewriteCountQuery($query) } $queryCount = preg_replace('/(?:.*)\bFROM\b\s+/Uims', 'SELECT COUNT(*) FROM ', $query, 1); - /** @var array $split */ $split = preg_split('/\s+ORDER\s+BY\s+/is', (string) $queryCount); + assert(is_array($split), 'preg_split() should return an array'); [$queryCount] = $split; - /** @var array $split2 */ $split2 = preg_split('/\bLIMIT\b/is', (string) $queryCount); + assert(is_array($split2), 'preg_split() should return an array'); [$queryCount2] = $split2; return trim((string) $queryCount2); diff --git a/src/Pagerfanta/FetchAssoc.php b/src/Pagerfanta/FetchAssoc.php index a7dfcb2..a336b48 100644 --- a/src/Pagerfanta/FetchAssoc.php +++ b/src/Pagerfanta/FetchAssoc.php @@ -7,14 +7,10 @@ use Aura\Sql\ExtendedPdoInterface; use PDO; -final class FetchAssoc implements FetcherInterface +final readonly class FetchAssoc implements FetcherInterface { - /** @var ExtendedPdoInterface */ - private $pdo; - - public function __construct(ExtendedPdoInterface $pdo) + public function __construct(private ExtendedPdoInterface $pdo) { - $this->pdo = $pdo; } /** diff --git a/src/Pagerfanta/FetchEntity.php b/src/Pagerfanta/FetchEntity.php index 4b70b1d..80a4384 100644 --- a/src/Pagerfanta/FetchEntity.php +++ b/src/Pagerfanta/FetchEntity.php @@ -12,16 +12,12 @@ class FetchEntity implements FetcherInterface { - private ExtendedPdoInterface $pdo; - private string $entity; + private readonly string $entity; - /** - * @param class-string $entity - */ - public function __construct(ExtendedPdoInterface $pdo, string $entity) + /** @param class-string $entity */ + public function __construct(private readonly ExtendedPdoInterface $pdo, string $entity) { assert(class_exists($entity)); - $this->pdo = $pdo; $this->entity = $entity; } @@ -32,9 +28,7 @@ public function __invoke(string $sql, array $params): array { $pdoStatement = $this->pdo->perform($sql, $params); - return $pdoStatement->fetchAll(PDO::FETCH_FUNC, /** @param list $args */function (...$args) { - /** @psalm-suppress MixedMethodCall */ - return new $this->entity(...$args); - }); + return $pdoStatement->fetchAll(PDO::FETCH_FUNC, /** @param list $args */fn (...$args) => /** @psalm-suppress MixedMethodCall */ + new $this->entity(...$args)); } } diff --git a/src/Pagerfanta/Page.php b/src/Pagerfanta/Page.php index 4e7d49b..c382372 100644 --- a/src/Pagerfanta/Page.php +++ b/src/Pagerfanta/Page.php @@ -8,11 +8,10 @@ use IteratorAggregate; use Pagerfanta\Pagerfanta; use Pagerfanta\View\ViewInterface; +use Stringable; -/** - * @implements IteratorAggregate - */ -final class Page implements IteratorAggregate +/** @implements IteratorAggregate */ +final class Page implements IteratorAggregate, Stringable { /** @var int */ public $maxPerPage; @@ -32,30 +31,22 @@ final class Page implements IteratorAggregate /** @var mixed */ public $data; - /** @var Pagerfanta */ - private Pagerfanta $pagerfanta; - /** @var callable */ private $routeGenerator; - private ViewInterface $view; - - /** @var array */ - private array $viewOption; /** * @phpstan-param Pagerfanta $pagerfanta * @phpstan-param array $viewOption */ public function __construct( - Pagerfanta $pagerfanta, + /** @var Pagerfanta */ + private readonly Pagerfanta $pagerfanta, RouteGeneratorInterface $routeGenerator, - ViewInterface $view, - array $viewOption + private readonly ViewInterface $view, + /** @var array */ + private readonly array $viewOption ) { - $this->pagerfanta = $pagerfanta; $this->routeGenerator = $routeGenerator; - $this->view = $view; - $this->viewOption = $viewOption; } public function __toString(): string @@ -63,12 +54,12 @@ public function __toString(): string return (string) $this->view->render( $this->pagerfanta, $this->routeGenerator, - $this->viewOption + $this->viewOption, ); } /** - * {@inheritdoc} + * {@inheritDoc} * * @return Iterator */ diff --git a/src/ProfilerProvider.php b/src/ProfilerProvider.php index 3205431..4b5f5e3 100644 --- a/src/ProfilerProvider.php +++ b/src/ProfilerProvider.php @@ -10,11 +10,8 @@ class ProfilerProvider implements Provider { - private LoggerInterface $logger; - - public function __construct(LoggerInterface $logger) + public function __construct(private readonly LoggerInterface $logger) { - $this->logger = $logger; } public function get(): Profiler diff --git a/src/TransactionalInterceptor.php b/src/TransactionalInterceptor.php index 84523b7..4648441 100644 --- a/src/TransactionalInterceptor.php +++ b/src/TransactionalInterceptor.php @@ -8,33 +8,25 @@ use PDOException; use Ray\Aop\MethodInterceptor; use Ray\Aop\MethodInvocation; -use Ray\Aop\ReflectionMethod; use Ray\AuraSqlModule\Annotation\Transactional; use Ray\AuraSqlModule\Exception\RollbackException; -use function assert; use function count; -use function is_array; class TransactionalInterceptor implements MethodInterceptor { - private ?ExtendedPdoInterface $pdo; - - public function __construct(?ExtendedPdoInterface $pdo = null) + public function __construct(private readonly ?ExtendedPdoInterface $pdo = null) { - $this->pdo = $pdo; } /** - * {@inheritdoc} + * {@inheritDoc} */ public function invoke(MethodInvocation $invocation) { $method = $invocation->getMethod(); - assert($method instanceof ReflectionMethod); $transactional = $method->getAnnotation(Transactional::class); - assert($transactional instanceof Transactional); - if (is_array($transactional->value) && count((array) $transactional->value) > 1) { + if ($transactional instanceof Transactional && count((array) $transactional->value) > 1) { return (new PropTransaction())($invocation, $transactional); } diff --git a/src/TransactionalModule.php b/src/TransactionalModule.php index 828033e..3540f6a 100644 --- a/src/TransactionalModule.php +++ b/src/TransactionalModule.php @@ -10,7 +10,7 @@ class TransactionalModule extends AbstractModule { /** - * {@inheritdoc} + * {@inheritDoc} */ protected function configure(): void { @@ -18,7 +18,7 @@ protected function configure(): void $this->bindInterceptor( $this->matcher->any(), $this->matcher->annotatedWith(Transactional::class), - [TransactionalInterceptor::class] + [TransactionalInterceptor::class], ); } } diff --git a/tests/AuraSqlModuleTest.php b/tests/AuraSqlModuleTest.php index 197adb6..3ec3d63 100644 --- a/tests/AuraSqlModuleTest.php +++ b/tests/AuraSqlModuleTest.php @@ -15,7 +15,6 @@ use ReflectionProperty; use function assert; -use function get_class; class AuraSqlModuleTest extends TestCase { @@ -74,7 +73,7 @@ public function testNoHost() private function getDsn(ExtendedPdo $pdo): string { - $prop = new ReflectionProperty(get_class($pdo), 'args'); + $prop = new ReflectionProperty($pdo::class, 'args'); $prop->setAccessible(true); $args = $prop->getValue($pdo); diff --git a/tests/AuraSqlProfileModuleTest.php b/tests/AuraSqlProfileModuleTest.php index 689d636..b85cb90 100644 --- a/tests/AuraSqlProfileModuleTest.php +++ b/tests/AuraSqlProfileModuleTest.php @@ -42,7 +42,7 @@ public function log($level, $message, array $context = []): void AuraSqlProfileModuleTest::$log[] = strtr($message, $replace); } - } + }, ); } }; @@ -52,9 +52,7 @@ public function log($level, $message, array $context = []): void return $instance; } - /** - * @depends testModule - */ + /** @depends testModule */ public function testLog(ExtendedPdoInterface $pdo) { $pdo->exec(/** @lang sql */'CREATE TABLE user(name, age)'); diff --git a/tests/AuraSqlQueryModuleTest.php b/tests/AuraSqlQueryModuleTest.php index e3742a7..b7dd01b 100644 --- a/tests/AuraSqlQueryModuleTest.php +++ b/tests/AuraSqlQueryModuleTest.php @@ -24,6 +24,7 @@ class AuraSqlQueryModuleTest extends TestCase protected function setUp(): void { parent::setUp(); + $this->injector = new Injector(new AuraSqlQueryModule('sqlite'), __DIR__ . '/tmp'); } diff --git a/tests/AuraSqlReplicationModuleTest.php b/tests/AuraSqlReplicationModuleTest.php index 5c8ea72..c9d876d 100644 --- a/tests/AuraSqlReplicationModuleTest.php +++ b/tests/AuraSqlReplicationModuleTest.php @@ -14,10 +14,8 @@ class AuraSqlReplicationModuleTest extends TestCase { - /** - * @return array> - */ - public function connectionProvider(): array + /** @return array> */ + public static function connectionProvider(): array { $locator = new ConnectionLocator(); $slave = new Connection('sqlite::memory:'); @@ -30,9 +28,7 @@ public function connectionProvider(): array return [[$locator, $masterPdo, $slavePdo]]; } - /** - * @dataProvider connectionProvider - */ + /** @dataProvider connectionProvider */ public function testLocatorSlave(ConnectionLocator $locator, ExtendedPdo $masterPdo, ExtendedPdo $slavePdo) { unset($masterPdo); @@ -43,9 +39,7 @@ public function testLocatorSlave(ConnectionLocator $locator, ExtendedPdo $master $this->assertSame($slavePdo, $model->pdo); } - /** - * @dataProvider connectionProvider - */ + /** @dataProvider connectionProvider */ public function testLocatorMaster(ConnectionLocator $locator, ExtendedPdo $masterPdo, ExtendedPdo $slavePdo) { unset($slavePdo); @@ -56,9 +50,7 @@ public function testLocatorMaster(ConnectionLocator $locator, ExtendedPdo $maste $this->assertSame($masterPdo, $model->pdo); } - /** - * @dataProvider connectionProvider - */ + /** @dataProvider connectionProvider */ public function testLocatorMasterWithQualifer(ConnectionLocator $locator, ExtendedPdo $masterPdo, ExtendedPdo $slavePdo) { unset($masterPdo, $slavePdo); diff --git a/tests/Fake/FakeEntity.php b/tests/Fake/FakeEntity.php index 3a77f70..f3689d3 100644 --- a/tests/Fake/FakeEntity.php +++ b/tests/Fake/FakeEntity.php @@ -4,17 +4,7 @@ final class FakeEntity { - public string $id; - public string $name; - public string $post_content; - - public function __construct( - string $id, - string $name, - string $post_content - ){ - $this->id = $id; - $this->name = $name; - $this->post_content = $post_content; + public function __construct(public string $id, public string $name, public string $post_content) + { } } diff --git a/tests/Fake/FakeQueryInject.php b/tests/Fake/FakeQueryInject.php index 4135580..d66a3e4 100644 --- a/tests/Fake/FakeQueryInject.php +++ b/tests/Fake/FakeQueryInject.php @@ -11,17 +11,14 @@ class FakeQueryInject use AuraSqlUpdateInject; use AuraSqlDeleteInject; - private string $db; - /** * @AuraSqlQueryConfig * * @param string $db */ #[AuraSqlQueryConfig] - public function __construct($db) + public function __construct(private string $db) { - $this->db = $db; } public function get() diff --git a/tests/NamedPdoModuleTest.php b/tests/NamedPdoModuleTest.php index c009553..7d9fe32 100644 --- a/tests/NamedPdoModuleTest.php +++ b/tests/NamedPdoModuleTest.php @@ -11,7 +11,6 @@ use ReflectionProperty; use function assert; -use function get_class; class NamedPdoModuleTest extends TestCase { @@ -60,7 +59,7 @@ public function testNoHost() private function getDsn(ExtendedPdo $pdo): string { - $prop = new ReflectionProperty(get_class($pdo), 'args'); + $prop = new ReflectionProperty($pdo::class, 'args'); $prop->setAccessible(true); $args = $prop->getValue($pdo); diff --git a/tests/Pagerfanta/AuraSqlPagerFactoryTest.php b/tests/Pagerfanta/AuraSqlPagerFactoryTest.php index 7a2a2f7..c70287c 100644 --- a/tests/Pagerfanta/AuraSqlPagerFactoryTest.php +++ b/tests/Pagerfanta/AuraSqlPagerFactoryTest.php @@ -4,6 +4,7 @@ namespace Ray\AuraSqlModule\Pagerfanta; +use Override; use Pagerfanta\View\DefaultView; use Ray\AuraSqlModule\FakeEntity; @@ -11,9 +12,11 @@ class AuraSqlPagerFactoryTest extends AbstractPdoTestCase { private AuraSqlPagerFactory $factory; + #[Override] public function setUp(): void { parent::setUp(); + $this->factory = new AuraSqlPagerFactory(new AuraSqlPager(new DefaultView(), [])); } diff --git a/tests/Pagerfanta/AuraSqlPagerModuleTest.php b/tests/Pagerfanta/AuraSqlPagerModuleTest.php index 6a684a0..bdd645b 100644 --- a/tests/Pagerfanta/AuraSqlPagerModuleTest.php +++ b/tests/Pagerfanta/AuraSqlPagerModuleTest.php @@ -37,9 +37,7 @@ public function testNewInstanceWithBinding(): AuraSqlPagerInterface return $pager; } - /** - * @depends testNewInstance - */ + /** @depends testNewInstance */ public function testArrayAccess(AuraSqlPagerInterface $pager): void { $page = $pager[2]; @@ -59,9 +57,7 @@ public function testArrayAccess(AuraSqlPagerInterface $pager): void $this->assertSame(50, $page->total); } - /** - * @depends testNewInstance - */ + /** @depends testNewInstance */ public function testArrayAccessWithMaxPage(AuraSqlPagerInterface $pager) { $page = $pager[50]; @@ -81,9 +77,7 @@ public function testArrayAccessWithMaxPage(AuraSqlPagerInterface $pager) $this->assertSame(50, $page->total); } - /** - * @depends testNewInstanceWithBinding - */ + /** @depends testNewInstanceWithBinding */ public function testArrayAccessWithBinding(AuraSqlPagerInterface $pager) { $page = $pager[1]; diff --git a/tests/Pagerfanta/AuraSqlPagerTest.php b/tests/Pagerfanta/AuraSqlPagerTest.php index 8b1b006..82ace15 100644 --- a/tests/Pagerfanta/AuraSqlPagerTest.php +++ b/tests/Pagerfanta/AuraSqlPagerTest.php @@ -16,6 +16,7 @@ class AuraSqlPagerTest extends TestCase public function setUp(): void { parent::setUp(); + $this->pager = new AuraSqlPager(new DefaultView(), []); } diff --git a/tests/Pagerfanta/AuraSqlQueryAdapterTest.php b/tests/Pagerfanta/AuraSqlQueryAdapterTest.php index 9711fa1..5c0e50d 100644 --- a/tests/Pagerfanta/AuraSqlQueryAdapterTest.php +++ b/tests/Pagerfanta/AuraSqlQueryAdapterTest.php @@ -101,7 +101,7 @@ private function doTestGetNbResults(AuraSqlQueryAdapter $adapter) private function createAdapterToTestGetSlice(): AuraSqlQueryAdapter { - $countQueryBuilderModifier = static function () { + $countQueryBuilderModifier = static function (): void { }; return new AuraSqlQueryAdapter($this->pdo, $this->select, $countQueryBuilderModifier); diff --git a/tests/Pagerfanta/AuraSqlQueryPagerModuleTest.php b/tests/Pagerfanta/AuraSqlQueryPagerModuleTest.php index ab4952b..f9d1834 100644 --- a/tests/Pagerfanta/AuraSqlQueryPagerModuleTest.php +++ b/tests/Pagerfanta/AuraSqlQueryPagerModuleTest.php @@ -34,9 +34,7 @@ public function testNewInstanceWithBinding(): AuraSqlQueryPager return $pager; } - /** - * @depends testNewInstance - */ + /** @depends testNewInstance */ public function testArrayAccess(AuraSqlQueryPager $pager): void { $page = $pager[2]; @@ -56,9 +54,7 @@ public function testArrayAccess(AuraSqlQueryPager $pager): void $this->assertSame(50, $page->total); } - /** - * @depends testNewInstance - */ + /** @depends testNewInstance */ public function testArrayAccessWithMaxPage(AuraSqlQueryPager $pager): void { $page = $pager[50]; @@ -78,9 +74,7 @@ public function testArrayAccessWithMaxPage(AuraSqlQueryPager $pager): void $this->assertSame(50, $page->total); } - /** - * @depends testNewInstance - */ + /** @depends testNewInstance */ public function testIterator(AuraSqlQueryPager $pager): void { $page = $pager[1]; @@ -88,9 +82,7 @@ public function testIterator(AuraSqlQueryPager $pager): void $this->assertInstanceOf(Iterator::class, $itelator); } - /** - * @depends testNewInstanceWithBinding - */ + /** @depends testNewInstanceWithBinding */ public function testArrayAccessWithBinding(AuraSqlQueryPager $pager): void { $page = $pager[1]; diff --git a/tests/Pagerfanta/AuraSqlQueryPagerTest.php b/tests/Pagerfanta/AuraSqlQueryPagerTest.php index f656e32..dc62f6b 100644 --- a/tests/Pagerfanta/AuraSqlQueryPagerTest.php +++ b/tests/Pagerfanta/AuraSqlQueryPagerTest.php @@ -4,6 +4,7 @@ namespace Ray\AuraSqlModule\Pagerfanta; +use Override; use Pagerfanta\Exception\LogicException; use Pagerfanta\View\DefaultView; use Ray\AuraSqlModule\Exception\NotInitialized; @@ -12,9 +13,11 @@ class AuraSqlQueryPagerTest extends AuraSqlQueryTestCase { private AuraSqlQueryPager $pager; + #[Override] public function setUp(): void { parent::setUp(); + $this->pager = new AuraSqlQueryPager(new DefaultView(), []); } diff --git a/tests/Pagerfanta/ExtendedPdoAdapterTest.php b/tests/Pagerfanta/ExtendedPdoAdapterTest.php index 911a336..9e1091f 100644 --- a/tests/Pagerfanta/ExtendedPdoAdapterTest.php +++ b/tests/Pagerfanta/ExtendedPdoAdapterTest.php @@ -4,6 +4,8 @@ namespace Ray\AuraSqlModule\Pagerfanta; +use Override; + use const PHP_EOL; class ExtendedPdoAdapterTest extends AbstractPdoTestCase @@ -11,9 +13,11 @@ class ExtendedPdoAdapterTest extends AbstractPdoTestCase /** @var ExtendedPdoAdapter */ protected $pdoAdapter; + #[Override] protected function setUp(): void { parent::setUp(); + $this->pdoAdapter = new ExtendedPdoAdapter($this->pdo, 'SELECT * FROM posts', []); } @@ -60,10 +64,8 @@ public function testGetSlice() $this->assertSame($expected, $slice); } - /** - * @return array> - */ - public function splProvider(): array + /** @return array> */ + public static function splProvider(): array { return [ ['SELECT * FROM posts', [], 'SELECT COUNT(*) FROM posts', 50], diff --git a/tests/Pagerfanta/PdoMySqlAdapterTest.php b/tests/Pagerfanta/PdoMySqlAdapterTest.php index 32d5b1b..fc7ff5c 100644 --- a/tests/Pagerfanta/PdoMySqlAdapterTest.php +++ b/tests/Pagerfanta/PdoMySqlAdapterTest.php @@ -4,13 +4,17 @@ namespace Ray\AuraSqlModule\Pagerfanta; +use Override; + class PdoMySqlAdapterTest extends AbstractPdoTestCase { private ExtendedPdoAdapter $adapter; + #[Override] public function setUp(): void { parent::setUp(); + $sql = 'SELECT * FROM posts'; $this->adapter = new ExtendedPdoAdapter($this->pdo, $sql, []); } diff --git a/vendor-bin/tools/composer.json b/vendor-bin/tools/composer.json index 27ccd52..f6218f4 100644 --- a/vendor-bin/tools/composer.json +++ b/vendor-bin/tools/composer.json @@ -1,12 +1,10 @@ { "require": { - "doctrine/coding-standard": "^8.2", + "doctrine/coding-standard": "^12.0", "phpmd/phpmd": "^2.9", - "phpmetrics/phpmetrics": "^2.7", - "phpstan/phpstan": "^1.4", - "psalm/plugin-phpunit": "^0.13", + "phpstan/phpstan": "^2.1", "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.2" + "vimeo/psalm": "^6.1" }, "config": { "allow-plugins": { diff --git a/vendor-bin/tools/composer.lock b/vendor-bin/tools/composer.lock index 6fb1957..eb4c3d5 100644 --- a/vendor-bin/tools/composer.lock +++ b/vendor-bin/tools/composer.lock @@ -4,47 +4,40 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "ea7ab95bf907e0bb404e4683b993ec00", + "content-hash": "067bef42f1b88f2e0a0c2dc9c2f945b3", "packages": [ { "name": "amphp/amp", - "version": "v2.6.4", + "version": "v3.1.0", "source": { "type": "git", "url": "https://github.com/amphp/amp.git", - "reference": "ded3d9be08f526089eb7ee8d9f16a9768f9dec2d" + "reference": "7cf7fef3d667bfe4b2560bc87e67d5387a7bcde9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/amp/zipball/ded3d9be08f526089eb7ee8d9f16a9768f9dec2d", - "reference": "ded3d9be08f526089eb7ee8d9f16a9768f9dec2d", + "url": "https://api.github.com/repos/amphp/amp/zipball/7cf7fef3d667bfe4b2560bc87e67d5387a7bcde9", + "reference": "7cf7fef3d667bfe4b2560bc87e67d5387a7bcde9", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" }, "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "amphp/phpunit-util": "^1", - "ext-json": "*", - "jetbrains/phpstorm-stubs": "^2019.3", - "phpunit/phpunit": "^7 | ^8 | ^9", - "react/promise": "^2", - "vimeo/psalm": "^3.12" + "amphp/php-cs-fixer-config": "^2", + "phpunit/phpunit": "^9", + "psalm/phar": "5.23.1" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, "autoload": { "files": [ - "lib/functions.php", - "lib/Internal/functions.php" + "src/functions.php", + "src/Future/functions.php", + "src/Internal/functions.php" ], "psr-4": { - "Amp\\": "lib" + "Amp\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -52,10 +45,6 @@ "MIT" ], "authors": [ - { - "name": "Daniel Lowrey", - "email": "rdlowrey@php.net" - }, { "name": "Aaron Piotrowski", "email": "aaron@trowski.com" @@ -67,6 +56,10 @@ { "name": "Niklas Keller", "email": "me@kelunik.com" + }, + { + "name": "Daniel Lowrey", + "email": "rdlowrey@php.net" } ], "description": "A non-blocking concurrency framework for PHP applications.", @@ -83,9 +76,8 @@ "promise" ], "support": { - "irc": "irc://irc.freenode.org/amphp", "issues": "https://github.com/amphp/amp/issues", - "source": "https://github.com/amphp/amp/tree/v2.6.4" + "source": "https://github.com/amphp/amp/tree/v3.1.0" }, "funding": [ { @@ -93,41 +85,45 @@ "type": "github" } ], - "time": "2024-03-21T18:52:26+00:00" + "time": "2025-01-26T16:07:39+00:00" }, { "name": "amphp/byte-stream", - "version": "v1.8.2", + "version": "v2.1.1", "source": { "type": "git", "url": "https://github.com/amphp/byte-stream.git", - "reference": "4f0e968ba3798a423730f567b1b50d3441c16ddc" + "reference": "daa00f2efdbd71565bf64ffefa89e37542addf93" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/byte-stream/zipball/4f0e968ba3798a423730f567b1b50d3441c16ddc", - "reference": "4f0e968ba3798a423730f567b1b50d3441c16ddc", + "url": "https://api.github.com/repos/amphp/byte-stream/zipball/daa00f2efdbd71565bf64ffefa89e37542addf93", + "reference": "daa00f2efdbd71565bf64ffefa89e37542addf93", "shasum": "" }, "require": { - "amphp/amp": "^2", - "php": ">=7.1" + "amphp/amp": "^3", + "amphp/parser": "^1.1", + "amphp/pipeline": "^1", + "amphp/serialization": "^1", + "amphp/sync": "^2", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2.3" }, "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "amphp/phpunit-util": "^1.4", - "friendsofphp/php-cs-fixer": "^2.3", - "jetbrains/phpstorm-stubs": "^2019.3", - "phpunit/phpunit": "^6 || ^7 || ^8", - "psalm/phar": "^3.11.4" + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "5.22.1" }, "type": "library", "autoload": { "files": [ - "lib/functions.php" + "src/functions.php", + "src/Internal/functions.php" ], "psr-4": { - "Amp\\ByteStream\\": "lib" + "Amp\\ByteStream\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -156,7 +152,7 @@ ], "support": { "issues": "https://github.com/amphp/byte-stream/issues", - "source": "https://github.com/amphp/byte-stream/tree/v1.8.2" + "source": "https://github.com/amphp/byte-stream/tree/v2.1.1" }, "funding": [ { @@ -164,44 +160,39 @@ "type": "github" } ], - "time": "2024-04-13T18:00:56+00:00" + "time": "2024-02-17T04:49:38+00:00" }, { - "name": "composer/package-versions-deprecated", - "version": "1.11.99.5", + "name": "amphp/cache", + "version": "v2.0.1", "source": { "type": "git", - "url": "https://github.com/composer/package-versions-deprecated.git", - "reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d" + "url": "https://github.com/amphp/cache.git", + "reference": "46912e387e6aa94933b61ea1ead9cf7540b7797c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/package-versions-deprecated/zipball/b4f54f74ef3453349c24a845d22392cd31e65f1d", - "reference": "b4f54f74ef3453349c24a845d22392cd31e65f1d", + "url": "https://api.github.com/repos/amphp/cache/zipball/46912e387e6aa94933b61ea1ead9cf7540b7797c", + "reference": "46912e387e6aa94933b61ea1ead9cf7540b7797c", "shasum": "" }, "require": { - "composer-plugin-api": "^1.1.0 || ^2.0", - "php": "^7 || ^8" - }, - "replace": { - "ocramius/package-versions": "1.11.99" + "amphp/amp": "^3", + "amphp/serialization": "^1", + "amphp/sync": "^2", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" }, "require-dev": { - "composer/composer": "^1.9.3 || ^2.0@dev", - "ext-zip": "^1.13", - "phpunit/phpunit": "^6.5 || ^7" - }, - "type": "composer-plugin", - "extra": { - "class": "PackageVersions\\Installer", - "branch-alias": { - "dev-master": "1.x-dev" - } + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.4" }, + "type": "library", "autoload": { "psr-4": { - "PackageVersions\\": "src/PackageVersions" + "Amp\\Cache\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -210,74 +201,71 @@ ], "authors": [ { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" + "name": "Niklas Keller", + "email": "me@kelunik.com" }, { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be" + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Daniel Lowrey", + "email": "rdlowrey@php.net" } ], - "description": "Composer plugin that provides efficient querying for installed package versions (no runtime IO)", + "description": "A fiber-aware cache API based on Amp and Revolt.", + "homepage": "https://amphp.org/cache", "support": { - "issues": "https://github.com/composer/package-versions-deprecated/issues", - "source": "https://github.com/composer/package-versions-deprecated/tree/1.11.99.5" + "issues": "https://github.com/amphp/cache/issues", + "source": "https://github.com/amphp/cache/tree/v2.0.1" }, "funding": [ { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", + "url": "https://github.com/amphp", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" } ], - "time": "2022-01-17T14:14:24+00:00" + "time": "2024-04-19T03:38:06+00:00" }, { - "name": "composer/pcre", - "version": "3.3.2", + "name": "amphp/dns", + "version": "v2.4.0", "source": { "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" + "url": "https://github.com/amphp/dns.git", + "reference": "78eb3db5fc69bf2fc0cb503c4fcba667bc223c71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", - "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "url": "https://api.github.com/repos/amphp/dns/zipball/78eb3db5fc69bf2fc0cb503c4fcba667bc223c71", + "reference": "78eb3db5fc69bf2fc0cb503c4fcba667bc223c71", "shasum": "" }, "require": { - "php": "^7.4 || ^8.0" - }, - "conflict": { - "phpstan/phpstan": "<1.11.10" + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/cache": "^2", + "amphp/parser": "^1", + "amphp/process": "^2", + "daverandom/libdns": "^2.0.2", + "ext-filter": "*", + "ext-json": "*", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" }, "require-dev": { - "phpstan/phpstan": "^1.12 || ^2", - "phpstan/phpstan-strict-rules": "^1 || ^2", - "phpunit/phpunit": "^8 || ^9" + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "5.20" }, "type": "library", - "extra": { - "phpstan": { - "includes": [ - "extension.neon" - ] - }, - "branch-alias": { - "dev-main": "3.x-dev" - } - }, "autoload": { + "files": [ + "src/functions.php" + ], "psr-4": { - "Composer\\Pcre\\": "src" + "Amp\\Dns\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -286,68 +274,91 @@ ], "authors": [ { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Chris Wright", + "email": "addr@daverandom.com" + }, + { + "name": "Daniel Lowrey", + "email": "rdlowrey@php.net" + }, + { + "name": "Bob Weinand", + "email": "bobwei9@hotmail.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" } ], - "description": "PCRE wrapping library that offers type-safe preg_* replacements.", + "description": "Async DNS resolution for Amp.", + "homepage": "https://github.com/amphp/dns", "keywords": [ - "PCRE", - "preg", - "regex", - "regular expression" + "amp", + "amphp", + "async", + "client", + "dns", + "resolve" ], "support": { - "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.3.2" + "issues": "https://github.com/amphp/dns/issues", + "source": "https://github.com/amphp/dns/tree/v2.4.0" }, "funding": [ { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", + "url": "https://github.com/amphp", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" } ], - "time": "2024-11-12T16:29:46+00:00" + "time": "2025-01-19T15:43:40+00:00" }, { - "name": "composer/semver", - "version": "3.4.3", + "name": "amphp/parallel", + "version": "v2.3.1", "source": { "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12" + "url": "https://github.com/amphp/parallel.git", + "reference": "5113111de02796a782f5d90767455e7391cca190" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", - "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "url": "https://api.github.com/repos/amphp/parallel/zipball/5113111de02796a782f5d90767455e7391cca190", + "reference": "5113111de02796a782f5d90767455e7391cca190", "shasum": "" }, "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/cache": "^2", + "amphp/parser": "^1", + "amphp/pipeline": "^1", + "amphp/process": "^2", + "amphp/serialization": "^1", + "amphp/socket": "^2", + "amphp/sync": "^2", + "php": ">=8.1", + "revolt/event-loop": "^1" }, "require-dev": { - "phpstan/phpstan": "^1.11", - "symfony/phpunit-bridge": "^3 || ^7" + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.18" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, "autoload": { + "files": [ + "src/Context/functions.php", + "src/Context/Internal/functions.php", + "src/Ipc/functions.php", + "src/Worker/functions.php" + ], "psr-4": { - "Composer\\Semver\\": "src" + "Amp\\Parallel\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -356,77 +367,65 @@ ], "authors": [ { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" }, { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" + "name": "Niklas Keller", + "email": "me@kelunik.com" }, { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" + "name": "Stephen Coakley", + "email": "me@stephencoakley.com" } ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", + "description": "Parallel processing component for Amp.", + "homepage": "https://github.com/amphp/parallel", "keywords": [ - "semantic", - "semver", - "validation", - "versioning" + "async", + "asynchronous", + "concurrent", + "multi-processing", + "multi-threading" ], "support": { - "irc": "ircs://irc.libera.chat:6697/composer", - "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.4.3" + "issues": "https://github.com/amphp/parallel/issues", + "source": "https://github.com/amphp/parallel/tree/v2.3.1" }, "funding": [ { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", + "url": "https://github.com/amphp", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" } ], - "time": "2024-09-19T14:15:21+00:00" + "time": "2024-12-21T01:56:09+00:00" }, { - "name": "composer/xdebug-handler", - "version": "3.0.5", + "name": "amphp/parser", + "version": "v1.1.1", "source": { "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" + "url": "https://github.com/amphp/parser.git", + "reference": "3cf1f8b32a0171d4b1bed93d25617637a77cded7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", - "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", + "url": "https://api.github.com/repos/amphp/parser/zipball/3cf1f8b32a0171d4b1bed93d25617637a77cded7", + "reference": "3cf1f8b32a0171d4b1bed93d25617637a77cded7", "shasum": "" }, "require": { - "composer/pcre": "^1 || ^2 || ^3", - "php": "^7.2.5 || ^8.0", - "psr/log": "^1 || ^2 || ^3" + "php": ">=7.4" }, "require-dev": { - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-strict-rules": "^1.1", - "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5" + "amphp/php-cs-fixer-config": "^2", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.4" }, "type": "library", "autoload": { "psr-4": { - "Composer\\XdebugHandler\\": "src" + "Amp\\Parser\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -435,67 +434,63 @@ ], "authors": [ { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" } ], - "description": "Restarts a process without Xdebug.", + "description": "A generator parser to make streaming parsers simple.", + "homepage": "https://github.com/amphp/parser", "keywords": [ - "Xdebug", - "performance" + "async", + "non-blocking", + "parser", + "stream" ], "support": { - "irc": "ircs://irc.libera.chat:6697/composer", - "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/3.0.5" + "issues": "https://github.com/amphp/parser/issues", + "source": "https://github.com/amphp/parser/tree/v1.1.1" }, "funding": [ { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", + "url": "https://github.com/amphp", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" } ], - "time": "2024-05-06T16:37:16+00:00" + "time": "2024-03-21T19:16:53+00:00" }, { - "name": "dealerdirect/phpcodesniffer-composer-installer", - "version": "v0.7.2", + "name": "amphp/pipeline", + "version": "v1.2.2", "source": { "type": "git", - "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git", - "reference": "1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db" + "url": "https://github.com/amphp/pipeline.git", + "reference": "97cbf289f4d8877acfe58dd90ed5a4370a43caa4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db", - "reference": "1c968e542d8843d7cd71de3c5c9c3ff3ad71a1db", + "url": "https://api.github.com/repos/amphp/pipeline/zipball/97cbf289f4d8877acfe58dd90ed5a4370a43caa4", + "reference": "97cbf289f4d8877acfe58dd90ed5a4370a43caa4", "shasum": "" }, "require": { - "composer-plugin-api": "^1.0 || ^2.0", - "php": ">=5.3", - "squizlabs/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0" + "amphp/amp": "^3", + "php": ">=8.1", + "revolt/event-loop": "^1" }, "require-dev": { - "composer/composer": "*", - "php-parallel-lint/php-parallel-lint": "^1.3.1", - "phpcompatibility/php-compatibility": "^9.0" - }, - "type": "composer-plugin", - "extra": { - "class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin" + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.18" }, + "type": "library", "autoload": { "psr-4": { - "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/" + "Amp\\Pipeline\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -504,165 +499,203 @@ ], "authors": [ { - "name": "Franck Nijhof", - "email": "franck.nijhof@dealerdirect.com", - "homepage": "http://www.frenck.nl", - "role": "Developer / IT Manager" + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" }, { - "name": "Contributors", - "homepage": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer/graphs/contributors" + "name": "Niklas Keller", + "email": "me@kelunik.com" } ], - "description": "PHP_CodeSniffer Standards Composer Installer Plugin", - "homepage": "http://www.dealerdirect.com", + "description": "Asynchronous iterators and operators.", + "homepage": "https://amphp.org/pipeline", "keywords": [ - "PHPCodeSniffer", - "PHP_CodeSniffer", - "code quality", - "codesniffer", - "composer", - "installer", - "phpcbf", - "phpcs", - "plugin", - "qa", - "quality", - "standard", - "standards", - "style guide", - "stylecheck", - "tests" + "amp", + "amphp", + "async", + "io", + "iterator", + "non-blocking" ], "support": { - "issues": "https://github.com/dealerdirect/phpcodesniffer-composer-installer/issues", - "source": "https://github.com/dealerdirect/phpcodesniffer-composer-installer" + "issues": "https://github.com/amphp/pipeline/issues", + "source": "https://github.com/amphp/pipeline/tree/v1.2.2" }, - "time": "2022-02-04T12:51:07+00:00" + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2025-01-19T15:42:46+00:00" }, { - "name": "dnoegel/php-xdg-base-dir", - "version": "v0.1.1", + "name": "amphp/process", + "version": "v2.0.3", "source": { "type": "git", - "url": "https://github.com/dnoegel/php-xdg-base-dir.git", - "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd" + "url": "https://github.com/amphp/process.git", + "reference": "52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", - "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "url": "https://api.github.com/repos/amphp/process/zipball/52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d", + "reference": "52e08c09dec7511d5fbc1fb00d3e4e79fc77d58d", "shasum": "" }, "require": { - "php": ">=5.3.2" + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/sync": "^2", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" }, "require-dev": { - "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.4" }, "type": "library", "autoload": { + "files": [ + "src/functions.php" + ], "psr-4": { - "XdgBaseDir\\": "src/" + "Amp\\Process\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "implementation of xdg base directory specification for php", + "authors": [ + { + "name": "Bob Weinand", + "email": "bobwei9@hotmail.com" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + } + ], + "description": "A fiber-aware process manager based on Amp and Revolt.", + "homepage": "https://amphp.org/process", "support": { - "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues", - "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1" + "issues": "https://github.com/amphp/process/issues", + "source": "https://github.com/amphp/process/tree/v2.0.3" }, - "time": "2019-12-04T15:06:13+00:00" + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2024-04-19T03:13:44+00:00" }, { - "name": "doctrine/coding-standard", - "version": "8.2.1", + "name": "amphp/serialization", + "version": "v1.0.0", "source": { "type": "git", - "url": "https://github.com/doctrine/coding-standard.git", - "reference": "f595b060799c1a0d76ead16981804eaa0bbcd8d6" + "url": "https://github.com/amphp/serialization.git", + "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/coding-standard/zipball/f595b060799c1a0d76ead16981804eaa0bbcd8d6", - "reference": "f595b060799c1a0d76ead16981804eaa0bbcd8d6", + "url": "https://api.github.com/repos/amphp/serialization/zipball/693e77b2fb0b266c3c7d622317f881de44ae94a1", + "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1", "shasum": "" }, "require": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7", - "php": "^7.1 || ^8.0", - "slevomat/coding-standard": "^6.4.1", - "squizlabs/php_codesniffer": "^3.5.8" + "php": ">=7.1" + }, + "require-dev": { + "amphp/php-cs-fixer-config": "dev-master", + "phpunit/phpunit": "^9 || ^8 || ^7" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Amp\\Serialization\\": "src" + } }, - "type": "phpcodesniffer-standard", "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], "authors": [ { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" }, { - "name": "Steve Müller", - "email": "st.mueller@dzh-online.de" + "name": "Niklas Keller", + "email": "me@kelunik.com" } ], - "description": "The Doctrine Coding Standard is a set of PHPCS rules applied to all Doctrine projects.", - "homepage": "https://www.doctrine-project.org/projects/coding-standard.html", + "description": "Serialization tools for IPC and data storage in PHP.", + "homepage": "https://github.com/amphp/serialization", "keywords": [ - "checks", - "code", - "coding", - "cs", - "doctrine", - "rules", - "sniffer", - "sniffs", - "standard", - "style" + "async", + "asynchronous", + "serialization", + "serialize" ], "support": { - "issues": "https://github.com/doctrine/coding-standard/issues", - "source": "https://github.com/doctrine/coding-standard/tree/8.2.1" + "issues": "https://github.com/amphp/serialization/issues", + "source": "https://github.com/amphp/serialization/tree/master" }, - "time": "2021-04-03T10:54:55+00:00" + "time": "2020-03-25T21:39:07+00:00" }, { - "name": "doctrine/instantiator", - "version": "2.0.0", + "name": "amphp/socket", + "version": "v2.3.1", "source": { "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" + "url": "https://github.com/amphp/socket.git", + "reference": "58e0422221825b79681b72c50c47a930be7bf1e1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "url": "https://api.github.com/repos/amphp/socket/zipball/58e0422221825b79681b72c50c47a930be7bf1e1", + "reference": "58e0422221825b79681b72c50c47a930be7bf1e1", "shasum": "" }, "require": { - "php": "^8.1" + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/dns": "^2", + "ext-openssl": "*", + "kelunik/certificate": "^1.1", + "league/uri": "^6.5 | ^7", + "league/uri-interfaces": "^2.3 | ^7", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" }, "require-dev": { - "doctrine/coding-standard": "^11", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^1.9.4", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5.27", - "vimeo/psalm": "^5.4" + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "amphp/process": "^2", + "phpunit/phpunit": "^9", + "psalm/phar": "5.20" }, "type": "library", "autoload": { + "files": [ + "src/functions.php", + "src/Internal/functions.php", + "src/SocketAddress/functions.php" + ], "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + "Amp\\Socket\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -671,827 +704,304 @@ ], "authors": [ { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "https://ocramius.github.io/" + "name": "Daniel Lowrey", + "email": "rdlowrey@gmail.com" + }, + { + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" } ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "description": "Non-blocking socket connection / server implementations based on Amp and Revolt.", + "homepage": "https://github.com/amphp/socket", "keywords": [ - "constructor", - "instantiate" + "amp", + "async", + "encryption", + "non-blocking", + "sockets", + "tcp", + "tls" ], "support": { - "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/2.0.0" + "issues": "https://github.com/amphp/socket/issues", + "source": "https://github.com/amphp/socket/tree/v2.3.1" }, "funding": [ { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", - "type": "tidelift" + "url": "https://github.com/amphp", + "type": "github" } ], - "time": "2022-12-30T00:23:10+00:00" + "time": "2024-04-21T14:33:03+00:00" }, { - "name": "felixfbecker/advanced-json-rpc", - "version": "v3.2.1", + "name": "amphp/sync", + "version": "v2.3.0", "source": { "type": "git", - "url": "https://github.com/felixfbecker/php-advanced-json-rpc.git", - "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447" + "url": "https://github.com/amphp/sync.git", + "reference": "217097b785130d77cfcc58ff583cf26cd1770bf1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/b5f37dbff9a8ad360ca341f3240dc1c168b45447", - "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447", + "url": "https://api.github.com/repos/amphp/sync/zipball/217097b785130d77cfcc58ff583cf26cd1770bf1", + "reference": "217097b785130d77cfcc58ff583cf26cd1770bf1", "shasum": "" }, "require": { - "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", - "php": "^7.1 || ^8.0", - "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0" + "amphp/amp": "^3", + "amphp/pipeline": "^1", + "amphp/serialization": "^1", + "php": ">=8.1", + "revolt/event-loop": "^1 || ^0.2" }, "require-dev": { - "phpunit/phpunit": "^7.0 || ^8.0" + "amphp/php-cs-fixer-config": "^2", + "amphp/phpunit-util": "^3", + "phpunit/phpunit": "^9", + "psalm/phar": "5.23" }, "type": "library", "autoload": { + "files": [ + "src/functions.php" + ], "psr-4": { - "AdvancedJsonRpc\\": "lib/" + "Amp\\Sync\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "ISC" + "MIT" ], "authors": [ { - "name": "Felix Becker", - "email": "felix.b@outlook.com" + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" + }, + { + "name": "Stephen Coakley", + "email": "me@stephencoakley.com" } ], - "description": "A more advanced JSONRPC implementation", + "description": "Non-blocking synchronization primitives for PHP based on Amp and Revolt.", + "homepage": "https://github.com/amphp/sync", + "keywords": [ + "async", + "asynchronous", + "mutex", + "semaphore", + "synchronization" + ], "support": { - "issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues", - "source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.1" + "issues": "https://github.com/amphp/sync/issues", + "source": "https://github.com/amphp/sync/tree/v2.3.0" }, - "time": "2021-06-11T22:34:44+00:00" + "funding": [ + { + "url": "https://github.com/amphp", + "type": "github" + } + ], + "time": "2024-08-03T19:31:26+00:00" }, { - "name": "felixfbecker/language-server-protocol", - "version": "v1.5.3", + "name": "composer/pcre", + "version": "3.3.2", "source": { "type": "git", - "url": "https://github.com/felixfbecker/php-language-server-protocol.git", - "reference": "a9e113dbc7d849e35b8776da39edaf4313b7b6c9" + "url": "https://github.com/composer/pcre.git", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/a9e113dbc7d849e35b8776da39edaf4313b7b6c9", - "reference": "a9e113dbc7d849e35b8776da39edaf4313b7b6c9", + "url": "https://api.github.com/repos/composer/pcre/zipball/b2bed4734f0cc156ee1fe9c0da2550420d99a21e", + "reference": "b2bed4734f0cc156ee1fe9c0da2550420d99a21e", "shasum": "" }, "require": { - "php": ">=7.1" + "php": "^7.4 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<1.11.10" }, "require-dev": { - "phpstan/phpstan": "*", - "squizlabs/php_codesniffer": "^3.1", - "vimeo/psalm": "^4.0" + "phpstan/phpstan": "^1.12 || ^2", + "phpstan/phpstan-strict-rules": "^1 || ^2", + "phpunit/phpunit": "^8 || ^9" }, "type": "library", "extra": { + "phpstan": { + "includes": [ + "extension.neon" + ] + }, "branch-alias": { - "dev-master": "1.x-dev" + "dev-main": "3.x-dev" } }, "autoload": { "psr-4": { - "LanguageServerProtocol\\": "src/" + "Composer\\Pcre\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "ISC" + "MIT" ], "authors": [ { - "name": "Felix Becker", - "email": "felix.b@outlook.com" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" } ], - "description": "PHP classes for the Language Server Protocol", + "description": "PCRE wrapping library that offers type-safe preg_* replacements.", "keywords": [ - "language", - "microsoft", - "php", - "server" + "PCRE", + "preg", + "regex", + "regular expression" ], "support": { - "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues", - "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.3" + "issues": "https://github.com/composer/pcre/issues", + "source": "https://github.com/composer/pcre/tree/3.3.2" }, - "time": "2024-04-30T00:40:11+00:00" + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2024-11-12T16:29:46+00:00" }, { - "name": "myclabs/deep-copy", - "version": "1.12.1", + "name": "composer/semver", + "version": "3.4.3", "source": { "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845" + "url": "https://github.com/composer/semver.git", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/123267b2c49fbf30d78a7b2d333f6be754b94845", - "reference": "123267b2c49fbf30d78a7b2d333f6be754b94845", + "url": "https://api.github.com/repos/composer/semver/zipball/4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", + "reference": "4313d26ada5e0c4edfbd1dc481a92ff7bff91f12", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3 <3.2.2" + "php": "^5.3.2 || ^7.0 || ^8.0" }, "require-dev": { - "doctrine/collections": "^1.6.8", - "doctrine/common": "^2.13.3 || ^3.2.2", - "phpspec/prophecy": "^1.10", - "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + "phpstan/phpstan": "^1.11", + "symfony/phpunit-bridge": "^3 || ^7" }, "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], "psr-4": { - "DeepCopy\\": "src/DeepCopy/" + "Composer\\Semver\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.12.1" - }, - "funding": [ + "authors": [ { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" - } - ], - "time": "2024-11-08T17:47:46+00:00" - }, - { - "name": "netresearch/jsonmapper", - "version": "v4.5.0", - "source": { - "type": "git", - "url": "https://github.com/cweiske/jsonmapper.git", - "reference": "8e76efb98ee8b6afc54687045e1b8dba55ac76e5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8e76efb98ee8b6afc54687045e1b8dba55ac76e5", - "reference": "8e76efb98ee8b6afc54687045e1b8dba55ac76e5", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-pcre": "*", - "ext-reflection": "*", - "ext-spl": "*", - "php": ">=7.1" - }, - "require-dev": { - "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0 || ~10.0", - "squizlabs/php_codesniffer": "~3.5" - }, - "type": "library", - "autoload": { - "psr-0": { - "JsonMapper": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "OSL-3.0" - ], - "authors": [ - { - "name": "Christian Weiske", - "email": "cweiske@cweiske.de", - "homepage": "http://github.com/cweiske/jsonmapper/", - "role": "Developer" - } - ], - "description": "Map nested JSON structures onto PHP classes", - "support": { - "email": "cweiske@cweiske.de", - "issues": "https://github.com/cweiske/jsonmapper/issues", - "source": "https://github.com/cweiske/jsonmapper/tree/v4.5.0" - }, - "time": "2024-09-08T10:13:13+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v4.19.4", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "715f4d25e225bc47b293a8b997fe6ce99bf987d2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/715f4d25e225bc47b293a8b997fe6ce99bf987d2", - "reference": "715f4d25e225bc47b293a8b997fe6ce99bf987d2", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=7.1" - }, - "require-dev": { - "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.9-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.19.4" - }, - "time": "2024-09-29T15:01:53+00:00" - }, - { - "name": "openlss/lib-array2xml", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/nullivex/lib-array2xml.git", - "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nullivex/lib-array2xml/zipball/a91f18a8dfc69ffabe5f9b068bc39bb202c81d90", - "reference": "a91f18a8dfc69ffabe5f9b068bc39bb202c81d90", - "shasum": "" - }, - "require": { - "php": ">=5.3.2" - }, - "type": "library", - "autoload": { - "psr-0": { - "LSS": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Bryan Tong", - "email": "bryan@nullivex.com", - "homepage": "https://www.nullivex.com" - }, - { - "name": "Tony Butler", - "email": "spudz76@gmail.com", - "homepage": "https://www.nullivex.com" - } - ], - "description": "Array2XML conversion library credit to lalit.org", - "homepage": "https://www.nullivex.com", - "keywords": [ - "array", - "array conversion", - "xml", - "xml conversion" - ], - "support": { - "issues": "https://github.com/nullivex/lib-array2xml/issues", - "source": "https://github.com/nullivex/lib-array2xml/tree/master" - }, - "time": "2019-03-29T20:06:56+00:00" - }, - { - "name": "pdepend/pdepend", - "version": "2.16.2", - "source": { - "type": "git", - "url": "https://github.com/pdepend/pdepend.git", - "reference": "f942b208dc2a0868454d01b29f0c75bbcfc6ed58" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pdepend/pdepend/zipball/f942b208dc2a0868454d01b29f0c75bbcfc6ed58", - "reference": "f942b208dc2a0868454d01b29f0c75bbcfc6ed58", - "shasum": "" - }, - "require": { - "php": ">=5.3.7", - "symfony/config": "^2.3.0|^3|^4|^5|^6.0|^7.0", - "symfony/dependency-injection": "^2.3.0|^3|^4|^5|^6.0|^7.0", - "symfony/filesystem": "^2.3.0|^3|^4|^5|^6.0|^7.0", - "symfony/polyfill-mbstring": "^1.19" - }, - "require-dev": { - "easy-doc/easy-doc": "0.0.0|^1.2.3", - "gregwar/rst": "^1.0", - "squizlabs/php_codesniffer": "^2.0.0" - }, - "bin": [ - "src/bin/pdepend" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "PDepend\\": "src/main/php/PDepend" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Official version of pdepend to be handled with Composer", - "keywords": [ - "PHP Depend", - "PHP_Depend", - "dev", - "pdepend" - ], - "support": { - "issues": "https://github.com/pdepend/pdepend/issues", - "source": "https://github.com/pdepend/pdepend/tree/2.16.2" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/pdepend/pdepend", - "type": "tidelift" - } - ], - "time": "2023-12-17T18:09:59+00:00" - }, - { - "name": "phar-io/manifest", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "54750ef60c58e43759730615a392c31c80e23176" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", - "reference": "54750ef60c58e43759730615a392c31c80e23176", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-phar": "*", - "ext-xmlwriter": "*", - "phar-io/version": "^3.0.1", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "support": { - "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2024-03-03T12:33:53+00:00" - }, - { - "name": "phar-io/version", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints", - "support": { - "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/3.2.1" - }, - "time": "2022-02-21T01:04:05+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-2.x": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ], - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", - "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" - }, - "time": "2020-06-27T09:03:43+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "5.3.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", - "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", - "shasum": "" - }, - "require": { - "ext-filter": "*", - "php": "^7.2 || ^8.0", - "phpdocumentor/reflection-common": "^2.2", - "phpdocumentor/type-resolver": "^1.3", - "webmozart/assert": "^1.9.1" - }, - "require-dev": { - "mockery/mockery": "~1.3.2", - "psalm/phar": "^4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - }, - { - "name": "Jaap van Otterdijk", - "email": "account@ijaap.nl" - } - ], - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" - }, - "time": "2021-10-19T17:43:47+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "1.6.2", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/48f445a408c131e38cab1c235aa6d2bb7a0bb20d", - "reference": "48f445a408c131e38cab1c235aa6d2bb7a0bb20d", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0", - "phpdocumentor/reflection-common": "^2.0" - }, - "require-dev": { - "ext-tokenizer": "*", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^9.5", - "rector/rector": "^0.13.9", - "vimeo/psalm": "^4.25" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "support": { - "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.6.2" - }, - "time": "2022-10-14T12:47:21+00:00" - }, - { - "name": "phpmd/phpmd", - "version": "2.15.0", - "source": { - "type": "git", - "url": "https://github.com/phpmd/phpmd.git", - "reference": "74a1f56e33afad4128b886e334093e98e1b5e7c0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpmd/phpmd/zipball/74a1f56e33afad4128b886e334093e98e1b5e7c0", - "reference": "74a1f56e33afad4128b886e334093e98e1b5e7c0", - "shasum": "" - }, - "require": { - "composer/xdebug-handler": "^1.0 || ^2.0 || ^3.0", - "ext-xml": "*", - "pdepend/pdepend": "^2.16.1", - "php": ">=5.3.9" - }, - "require-dev": { - "easy-doc/easy-doc": "0.0.0 || ^1.3.2", - "ext-json": "*", - "ext-simplexml": "*", - "gregwar/rst": "^1.0", - "mikey179/vfsstream": "^1.6.8", - "squizlabs/php_codesniffer": "^2.9.2 || ^3.7.2" - }, - "bin": [ - "src/bin/phpmd" - ], - "type": "library", - "autoload": { - "psr-0": { - "PHPMD\\": "src/main/php" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Manuel Pichler", - "email": "github@manuel-pichler.de", - "homepage": "https://github.com/manuelpichler", - "role": "Project Founder" + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" }, { - "name": "Marc Würth", - "email": "ravage@bluewin.ch", - "homepage": "https://github.com/ravage84", - "role": "Project Maintainer" + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" }, { - "name": "Other contributors", - "homepage": "https://github.com/phpmd/phpmd/graphs/contributors", - "role": "Contributors" + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" } ], - "description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.", - "homepage": "https://phpmd.org/", + "description": "Semver library that offers utilities, version constraint parsing and validation.", "keywords": [ - "dev", - "mess detection", - "mess detector", - "pdepend", - "phpmd", - "pmd" + "semantic", + "semver", + "validation", + "versioning" ], "support": { - "irc": "irc://irc.freenode.org/phpmd", - "issues": "https://github.com/phpmd/phpmd/issues", - "source": "https://github.com/phpmd/phpmd/tree/2.15.0" + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.3" }, "funding": [ { - "url": "https://tidelift.com/funding/github/packagist/phpmd/phpmd", + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", "type": "tidelift" } ], - "time": "2023-12-11T08:22:20+00:00" + "time": "2024-09-19T14:15:21+00:00" }, { - "name": "phpmetrics/phpmetrics", - "version": "v2.8.2", + "name": "composer/xdebug-handler", + "version": "3.0.5", "source": { "type": "git", - "url": "https://github.com/phpmetrics/PhpMetrics.git", - "reference": "4b77140a11452e63c7a9b98e0648320bf6710090" + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpmetrics/PhpMetrics/zipball/4b77140a11452e63c7a9b98e0648320bf6710090", - "reference": "4b77140a11452e63c7a9b98e0648320bf6710090", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/6c1925561632e83d60a44492e0b344cf48ab85ef", + "reference": "6c1925561632e83d60a44492e0b344cf48ab85ef", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "nikic/php-parser": "^3|^4", - "php": ">=5.5" - }, - "replace": { - "halleck45/php-metrics": "*", - "halleck45/phpmetrics": "*" + "composer/pcre": "^1 || ^2 || ^3", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1 || ^2 || ^3" }, "require-dev": { - "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14", - "sebastian/comparator": ">=1.2.3", - "squizlabs/php_codesniffer": "^3.5", - "symfony/dom-crawler": "^3.0 || ^4.0 || ^5.0" + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-strict-rules": "^1.1", + "phpunit/phpunit": "^8.5 || ^9.6 || ^10.5" }, - "bin": [ - "bin/phpmetrics" - ], "type": "library", "autoload": { - "files": [ - "./src/functions.php" - ], - "psr-0": { - "Hal\\": "./src/" + "psr-4": { + "Composer\\XdebugHandler\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1500,596 +1010,489 @@ ], "authors": [ { - "name": "Jean-François Lépine", - "email": "lepinejeanfrancois@yahoo.fr", - "homepage": "http://www.lepine.pro", - "role": "Copyright Holder" + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" } ], - "description": "Static analyzer tool for PHP : Coupling, Cyclomatic complexity, Maintainability Index, Halstead's metrics... and more !", - "homepage": "http://www.phpmetrics.org", + "description": "Restarts a process without Xdebug.", "keywords": [ - "analysis", - "qa", - "quality", - "testing" + "Xdebug", + "performance" ], "support": { - "issues": "https://github.com/PhpMetrics/PhpMetrics/issues", - "source": "https://github.com/phpmetrics/PhpMetrics/tree/v2.8.2" + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/3.0.5" }, - "time": "2023-03-08T15:03:36+00:00" + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2024-05-06T16:37:16+00:00" }, { - "name": "phpstan/phpdoc-parser", - "version": "0.4.9", + "name": "daverandom/libdns", + "version": "v2.1.0", "source": { "type": "git", - "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "98a088b17966bdf6ee25c8a4b634df313d8aa531" + "url": "https://github.com/DaveRandom/LibDNS.git", + "reference": "b84c94e8fe6b7ee4aecfe121bfe3b6177d303c8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/98a088b17966bdf6ee25c8a4b634df313d8aa531", - "reference": "98a088b17966bdf6ee25c8a4b634df313d8aa531", + "url": "https://api.github.com/repos/DaveRandom/LibDNS/zipball/b84c94e8fe6b7ee4aecfe121bfe3b6177d303c8a", + "reference": "b84c94e8fe6b7ee4aecfe121bfe3b6177d303c8a", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "ext-ctype": "*", + "php": ">=7.1" }, - "require-dev": { - "consistence/coding-standard": "^3.5", - "ergebnis/composer-normalize": "^2.0.2", - "jakub-onderka/php-parallel-lint": "^0.9.2", - "phing/phing": "^2.16.0", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.26", - "phpstan/phpstan-strict-rules": "^0.12", - "phpunit/phpunit": "^6.3", - "slevomat/coding-standard": "^4.7.2", - "symfony/process": "^4.0" + "suggest": { + "ext-intl": "Required for IDN support" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.4-dev" - } - }, "autoload": { + "files": [ + "src/functions.php" + ], "psr-4": { - "PHPStan\\PhpDocParser\\": [ - "src/" - ] + "LibDNS\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "PHPDoc parser with support for nullable, intersection and generic types", + "description": "DNS protocol implementation written in pure PHP", + "keywords": [ + "dns" + ], "support": { - "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/master" + "issues": "https://github.com/DaveRandom/LibDNS/issues", + "source": "https://github.com/DaveRandom/LibDNS/tree/v2.1.0" }, - "time": "2020-08-03T20:32:43+00:00" + "time": "2024-04-12T12:12:48+00:00" }, { - "name": "phpstan/phpstan", - "version": "1.12.16", + "name": "dealerdirect/phpcodesniffer-composer-installer", + "version": "v1.0.0", "source": { "type": "git", - "url": "https://github.com/phpstan/phpstan.git", - "reference": "e0bb5cb78545aae631220735aa706eac633a6be9" + "url": "https://github.com/PHPCSStandards/composer-installer.git", + "reference": "4be43904336affa5c2f70744a348312336afd0da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e0bb5cb78545aae631220735aa706eac633a6be9", - "reference": "e0bb5cb78545aae631220735aa706eac633a6be9", + "url": "https://api.github.com/repos/PHPCSStandards/composer-installer/zipball/4be43904336affa5c2f70744a348312336afd0da", + "reference": "4be43904336affa5c2f70744a348312336afd0da", "shasum": "" }, "require": { - "php": "^7.2|^8.0" + "composer-plugin-api": "^1.0 || ^2.0", + "php": ">=5.4", + "squizlabs/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0" }, - "conflict": { - "phpstan/phpstan-shim": "*" + "require-dev": { + "composer/composer": "*", + "ext-json": "*", + "ext-zip": "*", + "php-parallel-lint/php-parallel-lint": "^1.3.1", + "phpcompatibility/php-compatibility": "^9.0", + "yoast/phpunit-polyfills": "^1.0" + }, + "type": "composer-plugin", + "extra": { + "class": "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin" }, - "bin": [ - "phpstan", - "phpstan.phar" - ], - "type": "library", "autoload": { - "files": [ - "bootstrap.php" - ] + "psr-4": { + "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "PHPStan - PHP Static Analysis Tool", - "keywords": [ - "dev", - "static analysis" - ], - "support": { - "docs": "https://phpstan.org/user-guide/getting-started", - "forum": "https://github.com/phpstan/phpstan/discussions", - "issues": "https://github.com/phpstan/phpstan/issues", - "security": "https://github.com/phpstan/phpstan/security/policy", - "source": "https://github.com/phpstan/phpstan-src" - }, - "funding": [ + "authors": [ { - "url": "https://github.com/ondrejmirtes", - "type": "github" + "name": "Franck Nijhof", + "email": "franck.nijhof@dealerdirect.com", + "homepage": "http://www.frenck.nl", + "role": "Developer / IT Manager" }, { - "url": "https://github.com/phpstan", - "type": "github" + "name": "Contributors", + "homepage": "https://github.com/PHPCSStandards/composer-installer/graphs/contributors" } ], - "time": "2025-01-21T14:50:05+00:00" + "description": "PHP_CodeSniffer Standards Composer Installer Plugin", + "homepage": "http://www.dealerdirect.com", + "keywords": [ + "PHPCodeSniffer", + "PHP_CodeSniffer", + "code quality", + "codesniffer", + "composer", + "installer", + "phpcbf", + "phpcs", + "plugin", + "qa", + "quality", + "standard", + "standards", + "style guide", + "stylecheck", + "tests" + ], + "support": { + "issues": "https://github.com/PHPCSStandards/composer-installer/issues", + "source": "https://github.com/PHPCSStandards/composer-installer" + }, + "time": "2023-01-05T11:28:13+00:00" }, { - "name": "phpunit/php-code-coverage", - "version": "9.2.32", + "name": "dnoegel/php-xdg-base-dir", + "version": "v0.1.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5" + "url": "https://github.com/dnoegel/php-xdg-base-dir.git", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/85402a822d1ecf1db1096959413d35e1c37cf1a5", - "reference": "85402a822d1ecf1db1096959413d35e1c37cf1a5", + "url": "https://api.github.com/repos/dnoegel/php-xdg-base-dir/zipball/8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", + "reference": "8f8a6e48c5ecb0f991c2fdcf5f154a47d85f9ffd", "shasum": "" }, "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-xmlwriter": "*", - "nikic/php-parser": "^4.19.1 || ^5.1.0", - "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0.6", - "phpunit/php-text-template": "^2.0.4", - "sebastian/code-unit-reverse-lookup": "^2.0.3", - "sebastian/complexity": "^2.0.3", - "sebastian/environment": "^5.1.5", - "sebastian/lines-of-code": "^1.0.4", - "sebastian/version": "^3.0.2", - "theseer/tokenizer": "^1.2.3" + "php": ">=5.3.2" }, "require-dev": { - "phpunit/phpunit": "^9.6" - }, - "suggest": { - "ext-pcov": "PHP extension that provides line coverage", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + "phpunit/phpunit": "~7.0|~6.0|~5.0|~4.8.35" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "9.2.x-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "XdgBaseDir\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" + "MIT" ], + "description": "implementation of xdg base directory specification for php", "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.32" + "issues": "https://github.com/dnoegel/php-xdg-base-dir/issues", + "source": "https://github.com/dnoegel/php-xdg-base-dir/tree/v0.1.1" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-08-22T04:23:01+00:00" + "time": "2019-12-04T15:06:13+00:00" }, { - "name": "phpunit/php-file-iterator", - "version": "3.0.6", + "name": "doctrine/coding-standard", + "version": "12.0.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + "url": "https://github.com/doctrine/coding-standard.git", + "reference": "1b2b7dc58c68833af481fb9325c25abd40681c79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "url": "https://api.github.com/repos/doctrine/coding-standard/zipball/1b2b7dc58c68833af481fb9325c25abd40681c79", + "reference": "1b2b7dc58c68833af481fb9325c25abd40681c79", "shasum": "" }, "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] + "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7 || ^1.0.0", + "php": "^7.2 || ^8.0", + "slevomat/coding-standard": "^8.11", + "squizlabs/php_codesniffer": "^3.7" }, + "type": "phpcodesniffer-standard", "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Steve Müller", + "email": "st.mueller@dzh-online.de" } ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "description": "The Doctrine Coding Standard is a set of PHPCS rules applied to all Doctrine projects.", + "homepage": "https://www.doctrine-project.org/projects/coding-standard.html", "keywords": [ - "filesystem", - "iterator" + "checks", + "code", + "coding", + "cs", + "dev", + "doctrine", + "rules", + "sniffer", + "sniffs", + "standard", + "style" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" + "issues": "https://github.com/doctrine/coding-standard/issues", + "source": "https://github.com/doctrine/coding-standard/tree/12.0.0" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2021-12-02T12:48:52+00:00" + "time": "2023-04-24T17:43:28+00:00" }, { - "name": "phpunit/php-invoker", - "version": "3.1.1", + "name": "doctrine/deprecations", + "version": "1.1.4", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + "url": "https://github.com/doctrine/deprecations.git", + "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/31610dbb31faa98e6b5447b62340826f54fbc4e9", + "reference": "31610dbb31faa98e6b5447b62340826f54fbc4e9", "shasum": "" }, "require": { - "php": ">=7.3" + "php": "^7.1 || ^8.0" }, "require-dev": { - "ext-pcntl": "*", - "phpunit/phpunit": "^9.3" + "doctrine/coding-standard": "^9 || ^12", + "phpstan/phpstan": "1.4.10 || 2.0.3", + "phpstan/phpstan-phpunit": "^1.0 || ^2", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psr/log": "^1 || ^2 || ^3" }, "suggest": { - "ext-pcntl": "*" + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Doctrine\\Deprecations\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Invoke callables with a timeout", - "homepage": "https://github.com/sebastianbergmann/php-invoker/", - "keywords": [ - "process" + "MIT" ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", "support": { - "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/1.1.4" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T05:58:55+00:00" + "time": "2024-12-07T21:18:45+00:00" }, { - "name": "phpunit/php-text-template", - "version": "2.0.4", + "name": "felixfbecker/advanced-json-rpc", + "version": "v3.2.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + "url": "https://github.com/felixfbecker/php-advanced-json-rpc.git", + "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "url": "https://api.github.com/repos/felixfbecker/php-advanced-json-rpc/zipball/b5f37dbff9a8ad360ca341f3240dc1c168b45447", + "reference": "b5f37dbff9a8ad360ca341f3240dc1c168b45447", "shasum": "" }, "require": { - "php": ">=7.3" + "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", + "php": "^7.1 || ^8.0", + "phpdocumentor/reflection-docblock": "^4.3.4 || ^5.0.0" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "^7.0 || ^8.0" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "AdvancedJsonRpc\\": "lib/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "ISC" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Felix Becker", + "email": "felix.b@outlook.com" } ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], + "description": "A more advanced JSONRPC implementation", "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + "issues": "https://github.com/felixfbecker/php-advanced-json-rpc/issues", + "source": "https://github.com/felixfbecker/php-advanced-json-rpc/tree/v3.2.1" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T05:33:50+00:00" + "time": "2021-06-11T22:34:44+00:00" }, { - "name": "phpunit/php-timer", - "version": "5.0.3", + "name": "felixfbecker/language-server-protocol", + "version": "v1.5.3", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + "url": "https://github.com/felixfbecker/php-language-server-protocol.git", + "reference": "a9e113dbc7d849e35b8776da39edaf4313b7b6c9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "url": "https://api.github.com/repos/felixfbecker/php-language-server-protocol/zipball/a9e113dbc7d849e35b8776da39edaf4313b7b6c9", + "reference": "a9e113dbc7d849e35b8776da39edaf4313b7b6c9", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=7.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpstan/phpstan": "*", + "squizlabs/php_codesniffer": "^3.1", + "vimeo/psalm": "^4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "5.0-dev" + "dev-master": "1.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "LanguageServerProtocol\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "ISC" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Felix Becker", + "email": "felix.b@outlook.com" } ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", + "description": "PHP classes for the Language Server Protocol", "keywords": [ - "timer" + "language", + "microsoft", + "php", + "server" ], "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + "issues": "https://github.com/felixfbecker/php-language-server-protocol/issues", + "source": "https://github.com/felixfbecker/php-language-server-protocol/tree/v1.5.3" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:16:10+00:00" + "time": "2024-04-30T00:40:11+00:00" }, { - "name": "phpunit/phpunit", - "version": "9.6.22", + "name": "fidry/cpu-core-counter", + "version": "1.2.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "f80235cb4d3caa59ae09be3adf1ded27521d1a9c" + "url": "https://github.com/theofidry/cpu-core-counter.git", + "reference": "8520451a140d3f46ac33042715115e290cf5785f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/f80235cb4d3caa59ae09be3adf1ded27521d1a9c", - "reference": "f80235cb4d3caa59ae09be3adf1ded27521d1a9c", + "url": "https://api.github.com/repos/theofidry/cpu-core-counter/zipball/8520451a140d3f46ac33042715115e290cf5785f", + "reference": "8520451a140d3f46ac33042715115e290cf5785f", "shasum": "" }, "require": { - "doctrine/instantiator": "^1.5.0 || ^2", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.12.1", - "phar-io/manifest": "^2.0.4", - "phar-io/version": "^3.2.1", - "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.32", - "phpunit/php-file-iterator": "^3.0.6", - "phpunit/php-invoker": "^3.1.1", - "phpunit/php-text-template": "^2.0.4", - "phpunit/php-timer": "^5.0.3", - "sebastian/cli-parser": "^1.0.2", - "sebastian/code-unit": "^1.0.8", - "sebastian/comparator": "^4.0.8", - "sebastian/diff": "^4.0.6", - "sebastian/environment": "^5.1.5", - "sebastian/exporter": "^4.0.6", - "sebastian/global-state": "^5.0.7", - "sebastian/object-enumerator": "^4.0.4", - "sebastian/resource-operations": "^3.0.4", - "sebastian/type": "^3.2.1", - "sebastian/version": "^3.0.2" + "php": "^7.2 || ^8.0" }, - "suggest": { - "ext-soap": "To be able to generate mocks based on WSDL files", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + "require-dev": { + "fidry/makefile": "^0.2.0", + "fidry/php-cs-fixer-config": "^1.1.2", + "phpstan/extension-installer": "^1.2.0", + "phpstan/phpstan": "^1.9.2", + "phpstan/phpstan-deprecation-rules": "^1.0.0", + "phpstan/phpstan-phpunit": "^1.2.2", + "phpstan/phpstan-strict-rules": "^1.4.4", + "phpunit/phpunit": "^8.5.31 || ^9.5.26", + "webmozarts/strict-phpunit": "^7.5" }, - "bin": [ - "phpunit" - ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.6-dev" - } - }, "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], - "classmap": [ - "src/" - ] + "psr-4": { + "Fidry\\CpuCoreCounter\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Théo FIDRY", + "email": "theo.fidry@gmail.com" } ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", + "description": "Tiny utility to get the number of CPU cores.", "keywords": [ - "phpunit", - "testing", - "xunit" + "CPU", + "core" ], "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.22" + "issues": "https://github.com/theofidry/cpu-core-counter/issues", + "source": "https://github.com/theofidry/cpu-core-counter/tree/1.2.0" }, "funding": [ { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", + "url": "https://github.com/theofidry", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" } ], - "time": "2024-12-05T13:48:26+00:00" + "time": "2024-08-06T10:04:20+00:00" }, { - "name": "psalm/plugin-phpunit", - "version": "0.13.0", + "name": "kelunik/certificate", + "version": "v1.1.3", "source": { "type": "git", - "url": "https://github.com/psalm/psalm-plugin-phpunit.git", - "reference": "e006914489f3e445f5cb786ea6f3df89ea30129b" + "url": "https://github.com/kelunik/certificate.git", + "reference": "7e00d498c264d5eb4f78c69f41c8bd6719c0199e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/psalm/psalm-plugin-phpunit/zipball/e006914489f3e445f5cb786ea6f3df89ea30129b", - "reference": "e006914489f3e445f5cb786ea6f3df89ea30129b", + "url": "https://api.github.com/repos/kelunik/certificate/zipball/7e00d498c264d5eb4f78c69f41c8bd6719c0199e", + "reference": "7e00d498c264d5eb4f78c69f41c8bd6719c0199e", "shasum": "" }, "require": { - "composer/package-versions-deprecated": "^1.10", - "composer/semver": "^1.4 || ^2.0 || ^3.0", - "ext-simplexml": "*", - "php": "^7.3 || ^8.0", - "phpunit/phpunit": "^7.5 || ^8.0 || ^9.0", - "vimeo/psalm": "dev-master || dev-4.x || ^4.0" + "ext-openssl": "*", + "php": ">=7.0" }, "require-dev": { - "codeception/codeception": "^4.0.3", - "squizlabs/php_codesniffer": "^3.3.1", - "weirdan/codeception-psalm-module": "^0.7.1", - "weirdan/prophecy-shim": "^1.0 || ^2.0" + "amphp/php-cs-fixer-config": "^2", + "phpunit/phpunit": "^6 | 7 | ^8 | ^9" }, - "type": "psalm-plugin", + "type": "library", "extra": { - "psalm": { - "pluginClass": "Psalm\\PhpUnitPlugin\\Plugin" + "branch-alias": { + "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { - "Psalm\\PhpUnitPlugin\\": "src" + "Kelunik\\Certificate\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2098,43 +1501,65 @@ ], "authors": [ { - "name": "Matt Brown", - "email": "github@muglug.com" + "name": "Niklas Keller", + "email": "me@kelunik.com" } ], - "description": "Psalm plugin for PHPUnit", + "description": "Access certificate details and transform between different formats.", + "keywords": [ + "DER", + "certificate", + "certificates", + "openssl", + "pem", + "x509" + ], "support": { - "issues": "https://github.com/psalm/psalm-plugin-phpunit/issues", - "source": "https://github.com/psalm/psalm-plugin-phpunit/tree/0.13.0" + "issues": "https://github.com/kelunik/certificate/issues", + "source": "https://github.com/kelunik/certificate/tree/v1.1.3" }, - "time": "2020-10-19T12:43:17+00:00" + "time": "2023-02-03T21:26:53+00:00" }, { - "name": "psr/container", - "version": "2.0.2", + "name": "league/uri", + "version": "7.5.1", "source": { "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + "url": "https://github.com/thephpleague/uri.git", + "reference": "81fb5145d2644324614cc532b28efd0215bda430" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/81fb5145d2644324614cc532b28efd0215bda430", + "reference": "81fb5145d2644324614cc532b28efd0215bda430", "shasum": "" }, "require": { - "php": ">=7.4.0" + "league/uri-interfaces": "^7.5", + "php": "^8.1" + }, + "conflict": { + "league/uri-schemes": "^1.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-fileinfo": "to create Data URI from file contennts", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain", + "league/uri-components": "Needed to easily manipulate URI objects components", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0.x-dev" + "dev-master": "7.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Container\\": "src/" + "League\\Uri\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2143,51 +1568,84 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" } ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", + "description": "URI manipulation library", + "homepage": "https://uri.thephpleague.com", "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/2.0.2" + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "middleware", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "uri-template", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri/tree/7.5.1" }, - "time": "2021-11-05T16:47:00+00:00" + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2024-12-08T08:40:02+00:00" }, { - "name": "psr/log", - "version": "3.0.2", + "name": "league/uri-interfaces", + "version": "7.5.0", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + "url": "https://github.com/thephpleague/uri-interfaces.git", + "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", - "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/08cfc6c4f3d811584fb09c37e2849e6a7f9b0742", + "reference": "08cfc6c4f3d811584fb09c37e2849e6a7f9b0742", "shasum": "" }, "require": { - "php": ">=8.0.0" + "ext-filter": "*", + "php": "^8.1", + "psr/http-factory": "^1", + "psr/http-message": "^1.1 || ^2.0" + }, + "suggest": { + "ext-bcmath": "to improve IPV4 host parsing", + "ext-gmp": "to improve IPV4 host parsing", + "ext-intl": "to handle IDN host with the best performance", + "php-64bit": "to improve IPV4 host parsing", + "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.x-dev" + "dev-master": "7.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Log\\": "src" + "League\\Uri\\": "" } }, "notification-url": "https://packagist.org/downloads/", @@ -2196,108 +1654,134 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" } ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", + "description": "Common interfaces and classes for URI representation and interaction", + "homepage": "https://uri.thephpleague.com", "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/3.0.2" + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri-src/issues", + "source": "https://github.com/thephpleague/uri-interfaces/tree/7.5.0" }, - "time": "2024-09-11T13:17:53+00:00" + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" + } + ], + "time": "2024-12-08T08:18:47+00:00" }, { - "name": "sebastian/cli-parser", - "version": "1.0.2", + "name": "netresearch/jsonmapper", + "version": "v4.5.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b" + "url": "https://github.com/cweiske/jsonmapper.git", + "reference": "8e76efb98ee8b6afc54687045e1b8dba55ac76e5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b", - "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b", + "url": "https://api.github.com/repos/cweiske/jsonmapper/zipball/8e76efb98ee8b6afc54687045e1b8dba55ac76e5", + "reference": "8e76efb98ee8b6afc54687045e1b8dba55ac76e5", "shasum": "" }, "require": { - "php": ">=7.3" + "ext-json": "*", + "ext-pcre": "*", + "ext-reflection": "*", + "ext-spl": "*", + "php": ">=7.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "phpunit/phpunit": "~7.5 || ~8.0 || ~9.0 || ~10.0", + "squizlabs/php_codesniffer": "~3.5" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-0": { + "JsonMapper": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "OSL-3.0" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Christian Weiske", + "email": "cweiske@cweiske.de", + "homepage": "http://github.com/cweiske/jsonmapper/", + "role": "Developer" } ], - "description": "Library for parsing CLI options", - "homepage": "https://github.com/sebastianbergmann/cli-parser", + "description": "Map nested JSON structures onto PHP classes", "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2" + "email": "cweiske@cweiske.de", + "issues": "https://github.com/cweiske/jsonmapper/issues", + "source": "https://github.com/cweiske/jsonmapper/tree/v4.5.0" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:27:43+00:00" + "time": "2024-09-08T10:13:13+00:00" }, { - "name": "sebastian/code-unit", - "version": "1.0.8", + "name": "nikic/php-parser", + "version": "v5.4.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "447a020a1f875a434d62f2a401f53b82a396e494" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/447a020a1f875a434d62f2a401f53b82a396e494", + "reference": "447a020a1f875a434d62f2a401f53b82a396e494", "shasum": "" }, "require": { - "php": ">=7.3" + "ext-ctype": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "php": ">=7.4" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^9.0" }, + "bin": [ + "bin/php-parse" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "5.0-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2305,310 +1789,294 @@ ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Nikita Popov" } ], - "description": "Collection of value objects that represent the PHP code units", - "homepage": "https://github.com/sebastianbergmann/code-unit", + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], "support": { - "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v5.4.0" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:08:54+00:00" + "time": "2024-12-30T11:07:19+00:00" }, { - "name": "sebastian/code-unit-reverse-lookup", - "version": "2.0.3", + "name": "pdepend/pdepend", + "version": "2.16.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + "url": "https://github.com/pdepend/pdepend.git", + "reference": "f942b208dc2a0868454d01b29f0c75bbcfc6ed58" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "url": "https://api.github.com/repos/pdepend/pdepend/zipball/f942b208dc2a0868454d01b29f0c75bbcfc6ed58", + "reference": "f942b208dc2a0868454d01b29f0c75bbcfc6ed58", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=5.3.7", + "symfony/config": "^2.3.0|^3|^4|^5|^6.0|^7.0", + "symfony/dependency-injection": "^2.3.0|^3|^4|^5|^6.0|^7.0", + "symfony/filesystem": "^2.3.0|^3|^4|^5|^6.0|^7.0", + "symfony/polyfill-mbstring": "^1.19" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "easy-doc/easy-doc": "0.0.0|^1.2.3", + "gregwar/rst": "^1.0", + "squizlabs/php_codesniffer": "^2.0.0" }, + "bin": [ + "src/bin/pdepend" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "2.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "PDepend\\": "src/main/php/PDepend" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause" ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } + "description": "Official version of pdepend to be handled with Composer", + "keywords": [ + "PHP Depend", + "PHP_Depend", + "dev", + "pdepend" ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + "issues": "https://github.com/pdepend/pdepend/issues", + "source": "https://github.com/pdepend/pdepend/tree/2.16.2" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", - "type": "github" + "url": "https://tidelift.com/funding/github/packagist/pdepend/pdepend", + "type": "tidelift" } ], - "time": "2020-09-28T05:30:19+00:00" + "time": "2023-12-17T18:09:59+00:00" }, { - "name": "sebastian/comparator", - "version": "4.0.8", + "name": "phpdocumentor/reflection-common", + "version": "2.2.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a" + "url": "https://github.com/phpDocumentor/ReflectionCommon.git", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", + "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/diff": "^4.0", - "sebastian/exporter": "^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-2.x": "2.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "phpDocumentor\\Reflection\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" } ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", + "description": "Common reflection classes used by phpdocumentor to reflect the code structure", + "homepage": "http://www.phpdoc.org", "keywords": [ - "comparator", - "compare", - "equality" + "FQSEN", + "phpDocumentor", + "phpdoc", + "reflection", + "static analysis" ], "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" + "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", + "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2022-09-14T12:41:17+00:00" + "time": "2020-06-27T09:03:43+00:00" }, { - "name": "sebastian/complexity", - "version": "2.0.3", + "name": "phpdocumentor/reflection-docblock", + "version": "5.6.1", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a" + "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", + "reference": "e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a", - "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a", + "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8", + "reference": "e5e784149a09bd69d9a5e3b01c5cbd2e2bd653d8", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=7.3" + "doctrine/deprecations": "^1.1", + "ext-filter": "*", + "php": "^7.4 || ^8.0", + "phpdocumentor/reflection-common": "^2.2", + "phpdocumentor/type-resolver": "^1.7", + "phpstan/phpdoc-parser": "^1.7|^2.0", + "webmozart/assert": "^1.9.1" }, "require-dev": { - "phpunit/phpunit": "^9.3" + "mockery/mockery": "~1.3.5 || ~1.6.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-webmozart-assert": "^1.2", + "phpunit/phpunit": "^9.5", + "psalm/phar": "^5.26" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "5.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "Mike van Riel", + "email": "me@mikevanriel.com" + }, + { + "name": "Jaap van Otterdijk", + "email": "opensource@ijaap.nl" } ], - "description": "Library for calculating the complexity of PHP code units", - "homepage": "https://github.com/sebastianbergmann/complexity", + "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", "support": { - "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3" + "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", + "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.6.1" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-12-22T06:19:30+00:00" + "time": "2024-12-07T09:39:29+00:00" }, { - "name": "sebastian/diff", - "version": "4.0.6", + "name": "phpdocumentor/type-resolver", + "version": "1.10.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc" + "url": "https://github.com/phpDocumentor/TypeResolver.git", + "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc", - "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc", + "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/679e3ce485b99e84c775d28e2e96fade9a7fb50a", + "reference": "679e3ce485b99e84c775d28e2e96fade9a7fb50a", "shasum": "" }, "require": { - "php": ">=7.3" + "doctrine/deprecations": "^1.0", + "php": "^7.3 || ^8.0", + "phpdocumentor/reflection-common": "^2.0", + "phpstan/phpdoc-parser": "^1.18|^2.0" }, "require-dev": { - "phpunit/phpunit": "^9.3", - "symfony/process": "^4.2 || ^5" + "ext-tokenizer": "*", + "phpbench/phpbench": "^1.2", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpunit/phpunit": "^9.5", + "rector/rector": "^0.13.9", + "vimeo/psalm": "^4.25" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-1.x": "1.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "phpDocumentor\\Reflection\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" + "name": "Mike van Riel", + "email": "me@mikevanriel.com" } ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], + "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6" + "issues": "https://github.com/phpDocumentor/TypeResolver/issues", + "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.10.0" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:30:58+00:00" + "time": "2024-11-09T15:12:26+00:00" }, { - "name": "sebastian/environment", - "version": "5.1.5", + "name": "phpmd/phpmd", + "version": "2.15.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + "url": "https://github.com/phpmd/phpmd.git", + "reference": "74a1f56e33afad4128b886e334093e98e1b5e7c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "url": "https://api.github.com/repos/phpmd/phpmd/zipball/74a1f56e33afad4128b886e334093e98e1b5e7c0", + "reference": "74a1f56e33afad4128b886e334093e98e1b5e7c0", "shasum": "" }, "require": { - "php": ">=7.3" + "composer/xdebug-handler": "^1.0 || ^2.0 || ^3.0", + "ext-xml": "*", + "pdepend/pdepend": "^2.16.1", + "php": ">=5.3.9" }, "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-posix": "*" + "easy-doc/easy-doc": "0.0.0 || ^1.3.2", + "ext-json": "*", + "ext-simplexml": "*", + "gregwar/rst": "^1.0", + "mikey179/vfsstream": "^1.6.8", + "squizlabs/php_codesniffer": "^2.9.2 || ^3.7.2" }, + "bin": [ + "src/bin/phpmd" + ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-0": { + "PHPMD\\": "src/main/php" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2616,480 +2084,459 @@ ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Manuel Pichler", + "email": "github@manuel-pichler.de", + "homepage": "https://github.com/manuelpichler", + "role": "Project Founder" + }, + { + "name": "Marc Würth", + "email": "ravage@bluewin.ch", + "homepage": "https://github.com/ravage84", + "role": "Project Maintainer" + }, + { + "name": "Other contributors", + "homepage": "https://github.com/phpmd/phpmd/graphs/contributors", + "role": "Contributors" } ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", + "description": "PHPMD is a spin-off project of PHP Depend and aims to be a PHP equivalent of the well known Java tool PMD.", + "homepage": "https://phpmd.org/", "keywords": [ - "Xdebug", - "environment", - "hhvm" + "dev", + "mess detection", + "mess detector", + "pdepend", + "phpmd", + "pmd" ], "support": { - "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" + "irc": "irc://irc.freenode.org/phpmd", + "issues": "https://github.com/phpmd/phpmd/issues", + "source": "https://github.com/phpmd/phpmd/tree/2.15.0" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", - "type": "github" + "url": "https://tidelift.com/funding/github/packagist/phpmd/phpmd", + "type": "tidelift" } ], - "time": "2023-02-03T06:03:51+00:00" + "time": "2023-12-11T08:22:20+00:00" }, { - "name": "sebastian/exporter", - "version": "4.0.6", + "name": "phpstan/phpdoc-parser", + "version": "1.33.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72" + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "82a311fd3690fb2bf7b64d5c98f912b3dd746140" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72", - "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/82a311fd3690fb2bf7b64d5c98f912b3dd746140", + "reference": "82a311fd3690fb2bf7b64d5c98f912b3dd746140", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/recursion-context": "^4.0" + "php": "^7.2 || ^8.0" }, "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^9.3" + "doctrine/annotations": "^2.0", + "nikic/php-parser": "^4.15", + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.5", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.0", + "phpunit/phpunit": "^9.5", + "symfony/process": "^5.2" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "PHPStan\\PhpDocParser\\": [ + "src/" + ] + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "https://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" + "MIT" ], + "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6" + "issues": "https://github.com/phpstan/phpdoc-parser/issues", + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.33.0" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:33:00+00:00" + "time": "2024-10-13T11:25:22+00:00" }, { - "name": "sebastian/global-state", - "version": "5.0.7", + "name": "phpstan/phpstan", + "version": "2.1.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9" + "url": "https://github.com/phpstan/phpstan.git", + "reference": "7d08f569e582ade182a375c366cbd896eccadd3a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", - "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/7d08f569e582ade182a375c366cbd896eccadd3a", + "reference": "7d08f569e582ade182a375c366cbd896eccadd3a", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^9.3" + "php": "^7.4|^8.0" }, - "suggest": { - "ext-uopz": "*" + "conflict": { + "phpstan/phpstan-shim": "*" }, + "bin": [ + "phpstan", + "phpstan.phar" + ], "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, "autoload": { - "classmap": [ - "src/" + "files": [ + "bootstrap.php" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } + "MIT" ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", + "description": "PHPStan - PHP Static Analysis Tool", "keywords": [ - "global state" + "dev", + "static analysis" ], "support": { - "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7" + "docs": "https://phpstan.org/user-guide/getting-started", + "forum": "https://github.com/phpstan/phpstan/discussions", + "issues": "https://github.com/phpstan/phpstan/issues", + "security": "https://github.com/phpstan/phpstan/security/policy", + "source": "https://github.com/phpstan/phpstan-src" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://github.com/ondrejmirtes", + "type": "github" + }, + { + "url": "https://github.com/phpstan", "type": "github" } ], - "time": "2024-03-02T06:35:11+00:00" + "time": "2025-01-21T14:54:06+00:00" }, { - "name": "sebastian/lines-of-code", - "version": "1.0.4", + "name": "psr/container", + "version": "2.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5" + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5", - "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", "shasum": "" }, "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" + "php": ">=7.4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Psr\\Container\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "Library for counting the lines of code in PHP source code", - "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], "support": { - "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4" + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-12-22T06:20:34+00:00" + "time": "2021-11-05T16:47:00+00:00" }, { - "name": "sebastian/object-enumerator", - "version": "4.0.4", + "name": "psr/http-factory", + "version": "1.1.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", "shasum": "" }, "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "1.0.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + "source": "https://github.com/php-fig/http-factory" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:12:34+00:00" + "time": "2024-04-15T12:06:14+00:00" }, { - "name": "sebastian/object-reflector", - "version": "2.0.4", + "name": "psr/http-message", + "version": "2.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", "shasum": "" }, "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" + "php": "^7.2 || ^8.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.0-dev" + "dev-master": "2.0.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], "support": { - "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + "source": "https://github.com/php-fig/http-message/tree/2.0" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:14:26+00:00" + "time": "2023-04-04T09:54:51+00:00" }, { - "name": "sebastian/recursion-context", - "version": "4.0.5", + "name": "psr/log", + "version": "3.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", "shasum": "" }, "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" + "php": ">=8.0.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "4.0-dev" + "dev-master": "3.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Psr\\Log\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" } ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "https://github.com/sebastianbergmann/recursion-context", + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" + "source": "https://github.com/php-fig/log/tree/3.0.2" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:07:39+00:00" + "time": "2024-09-11T13:17:53+00:00" }, { - "name": "sebastian/resource-operations", - "version": "3.0.4", + "name": "revolt/event-loop", + "version": "v1.0.6", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e" + "url": "https://github.com/revoltphp/event-loop.git", + "reference": "25de49af7223ba039f64da4ae9a28ec2d10d0254" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e", - "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e", + "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/25de49af7223ba039f64da4ae9a28ec2d10d0254", + "reference": "25de49af7223ba039f64da4ae9a28ec2d10d0254", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.1" }, "require-dev": { - "phpunit/phpunit": "^9.0" + "ext-json": "*", + "jetbrains/phpstorm-stubs": "^2019.3", + "phpunit/phpunit": "^9", + "psalm/phar": "^5.15" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "1.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "Revolt\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], "authors": [ { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" + "name": "Aaron Piotrowski", + "email": "aaron@trowski.com" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "ceesjank@gmail.com" + }, + { + "name": "Christian Lück", + "email": "christian@clue.engineering" + }, + { + "name": "Niklas Keller", + "email": "me@kelunik.com" } ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "description": "Rock-solid event loop for concurrent PHP applications.", + "keywords": [ + "async", + "asynchronous", + "concurrency", + "event", + "event-loop", + "non-blocking", + "scheduler" + ], "support": { - "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4" + "issues": "https://github.com/revoltphp/event-loop/issues", + "source": "https://github.com/revoltphp/event-loop/tree/v1.0.6" }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-14T16:00:52+00:00" + "time": "2023-11-30T05:34:44+00:00" }, { - "name": "sebastian/type", - "version": "3.2.1", + "name": "sebastian/diff", + "version": "6.0.2", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/b4ccd857127db5d41a5b676f24b51371d76d8544", + "reference": "b4ccd857127db5d41a5b676f24b51371d76d8544", "shasum": "" }, "require": { - "php": ">=7.3" + "php": ">=8.2" }, "require-dev": { - "phpunit/phpunit": "^9.5" + "phpunit/phpunit": "^11.0", + "symfony/process": "^4.2 || ^5" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.2-dev" + "dev-main": "6.0-dev" } }, "autoload": { @@ -3104,15 +2551,25 @@ "authors": [ { "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" } ], - "description": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], "support": { - "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" + "issues": "https://github.com/sebastianbergmann/diff/issues", + "security": "https://github.com/sebastianbergmann/diff/security/policy", + "source": "https://github.com/sebastianbergmann/diff/tree/6.0.2" }, "funding": [ { @@ -3120,134 +2577,153 @@ "type": "github" } ], - "time": "2023-02-03T06:13:03+00:00" + "time": "2024-07-03T04:53:05+00:00" }, { - "name": "sebastian/version", - "version": "3.0.2", + "name": "slevomat/coding-standard", + "version": "8.15.0", "source": { "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c6c1022351a901512170118436c764e473f6de8c" + "url": "https://github.com/slevomat/coding-standard.git", + "reference": "7d1d957421618a3803b593ec31ace470177d7817" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", - "reference": "c6c1022351a901512170118436c764e473f6de8c", + "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/7d1d957421618a3803b593ec31ace470177d7817", + "reference": "7d1d957421618a3803b593ec31ace470177d7817", "shasum": "" }, "require": { - "php": ">=7.3" + "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7 || ^1.0", + "php": "^7.2 || ^8.0", + "phpstan/phpdoc-parser": "^1.23.1", + "squizlabs/php_codesniffer": "^3.9.0" }, - "type": "library", + "require-dev": { + "phing/phing": "2.17.4", + "php-parallel-lint/php-parallel-lint": "1.3.2", + "phpstan/phpstan": "1.10.60", + "phpstan/phpstan-deprecation-rules": "1.1.4", + "phpstan/phpstan-phpunit": "1.3.16", + "phpstan/phpstan-strict-rules": "1.5.2", + "phpunit/phpunit": "8.5.21|9.6.8|10.5.11" + }, + "type": "phpcodesniffer-standard", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "8.x-dev" } }, "autoload": { - "classmap": [ - "src/" - ] + "psr-4": { + "SlevomatCodingStandard\\": "SlevomatCodingStandard/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-3-Clause" + "MIT" ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } + "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.", + "keywords": [ + "dev", + "phpcs" ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + "issues": "https://github.com/slevomat/coding-standard/issues", + "source": "https://github.com/slevomat/coding-standard/tree/8.15.0" }, "funding": [ { - "url": "https://github.com/sebastianbergmann", + "url": "https://github.com/kukulich", "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/slevomat/coding-standard", + "type": "tidelift" } ], - "time": "2020-09-28T06:39:44+00:00" + "time": "2024-03-09T15:20:58+00:00" }, { - "name": "slevomat/coding-standard", - "version": "6.4.1", + "name": "spatie/array-to-xml", + "version": "3.4.0", "source": { "type": "git", - "url": "https://github.com/slevomat/coding-standard.git", - "reference": "696dcca217d0c9da2c40d02731526c1e25b65346" + "url": "https://github.com/spatie/array-to-xml.git", + "reference": "7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/696dcca217d0c9da2c40d02731526c1e25b65346", - "reference": "696dcca217d0c9da2c40d02731526c1e25b65346", + "url": "https://api.github.com/repos/spatie/array-to-xml/zipball/7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67", + "reference": "7dcfc67d60b0272926dabad1ec01f6b8a5fb5e67", "shasum": "" }, "require": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7", - "php": "^7.1 || ^8.0", - "phpstan/phpdoc-parser": "0.4.5 - 0.4.9", - "squizlabs/php_codesniffer": "^3.5.6" + "ext-dom": "*", + "php": "^8.0" }, "require-dev": { - "phing/phing": "2.16.3", - "php-parallel-lint/php-parallel-lint": "1.2.0", - "phpstan/phpstan": "0.12.48", - "phpstan/phpstan-deprecation-rules": "0.12.5", - "phpstan/phpstan-phpunit": "0.12.16", - "phpstan/phpstan-strict-rules": "0.12.5", - "phpunit/phpunit": "7.5.20|8.5.5|9.4.0" + "mockery/mockery": "^1.2", + "pestphp/pest": "^1.21", + "spatie/pest-plugin-snapshots": "^1.1" }, - "type": "phpcodesniffer-standard", + "type": "library", "extra": { "branch-alias": { - "dev-master": "6.x-dev" + "dev-main": "3.x-dev" } }, "autoload": { "psr-4": { - "SlevomatCodingStandard\\": "SlevomatCodingStandard" + "Spatie\\ArrayToXml\\": "src" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.", + "authors": [ + { + "name": "Freek Van der Herten", + "email": "freek@spatie.be", + "homepage": "https://freek.dev", + "role": "Developer" + } + ], + "description": "Convert an array to xml", + "homepage": "https://github.com/spatie/array-to-xml", + "keywords": [ + "array", + "convert", + "xml" + ], "support": { - "issues": "https://github.com/slevomat/coding-standard/issues", - "source": "https://github.com/slevomat/coding-standard/tree/6.4.1" + "source": "https://github.com/spatie/array-to-xml/tree/3.4.0" }, "funding": [ { - "url": "https://github.com/kukulich", - "type": "github" + "url": "https://spatie.be/open-source/support-us", + "type": "custom" }, { - "url": "https://tidelift.com/funding/github/packagist/slevomat/coding-standard", - "type": "tidelift" + "url": "https://github.com/spatie", + "type": "github" } ], - "time": "2020-10-05T12:39:37+00:00" + "time": "2024-12-16T12:45:15+00:00" }, { "name": "squizlabs/php_codesniffer", - "version": "3.11.2", + "version": "3.11.3", "source": { "type": "git", "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", - "reference": "1368f4a58c3c52114b86b1abe8f4098869cb0079" + "reference": "ba05f990e79cbe69b9f35c8c1ac8dca7eecc3a10" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/1368f4a58c3c52114b86b1abe8f4098869cb0079", - "reference": "1368f4a58c3c52114b86b1abe8f4098869cb0079", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/ba05f990e79cbe69b9f35c8c1ac8dca7eecc3a10", + "reference": "ba05f990e79cbe69b9f35c8c1ac8dca7eecc3a10", "shasum": "" }, "require": { @@ -3312,22 +2788,26 @@ { "url": "https://opencollective.com/php_codesniffer", "type": "open_collective" + }, + { + "url": "https://thanks.dev/phpcsstandards", + "type": "thanks_dev" } ], - "time": "2024-12-11T16:04:26+00:00" + "time": "2025-01-23T17:04:15+00:00" }, { "name": "symfony/config", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "bcd3c4adf0144dee5011bb35454728c38adec055" + "reference": "7716594aaae91d9141be080240172a92ecca4d44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/bcd3c4adf0144dee5011bb35454728c38adec055", - "reference": "bcd3c4adf0144dee5011bb35454728c38adec055", + "url": "https://api.github.com/repos/symfony/config/zipball/7716594aaae91d9141be080240172a92ecca4d44", + "reference": "7716594aaae91d9141be080240172a92ecca4d44", "shasum": "" }, "require": { @@ -3373,7 +2853,7 @@ "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/config/tree/v7.2.0" + "source": "https://github.com/symfony/config/tree/v7.2.3" }, "funding": [ { @@ -3389,51 +2869,50 @@ "type": "tidelift" } ], - "time": "2024-11-04T11:36:24+00:00" + "time": "2025-01-22T12:07:01+00:00" }, { "name": "symfony/console", - "version": "v6.4.17", + "version": "v7.2.1", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "799445db3f15768ecc382ac5699e6da0520a0a04" + "reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/799445db3f15768ecc382ac5699e6da0520a0a04", - "reference": "799445db3f15768ecc382ac5699e6da0520a0a04", + "url": "https://api.github.com/repos/symfony/console/zipball/fefcc18c0f5d0efe3ab3152f15857298868dc2c3", + "reference": "fefcc18c0f5d0efe3ab3152f15857298868dc2c3", "shasum": "" }, "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", + "php": ">=8.2", "symfony/polyfill-mbstring": "~1.0", "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^5.4|^6.0|^7.0" + "symfony/string": "^6.4|^7.0" }, "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/dotenv": "<5.4", - "symfony/event-dispatcher": "<5.4", - "symfony/lock": "<5.4", - "symfony/process": "<5.4" + "symfony/dependency-injection": "<6.4", + "symfony/dotenv": "<6.4", + "symfony/event-dispatcher": "<6.4", + "symfony/lock": "<6.4", + "symfony/process": "<6.4" }, "provide": { "psr/log-implementation": "1.0|2.0|3.0" }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/config": "^6.4|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/event-dispatcher": "^6.4|^7.0", "symfony/http-foundation": "^6.4|^7.0", "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" + "symfony/lock": "^6.4|^7.0", + "symfony/messenger": "^6.4|^7.0", + "symfony/process": "^6.4|^7.0", + "symfony/stopwatch": "^6.4|^7.0", + "symfony/var-dumper": "^6.4|^7.0" }, "type": "library", "autoload": { @@ -3467,7 +2946,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.4.17" + "source": "https://github.com/symfony/console/tree/v7.2.1" }, "funding": [ { @@ -3483,20 +2962,20 @@ "type": "tidelift" } ], - "time": "2024-12-07T12:07:30+00:00" + "time": "2024-12-11T03:49:26+00:00" }, { "name": "symfony/dependency-injection", - "version": "v7.2.0", + "version": "v7.2.3", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "a475747af1a1c98272a5471abc35f3da81197c5d" + "reference": "1d321c4bc3fe926fd4c38999a4c9af4f5d61ddfc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/a475747af1a1c98272a5471abc35f3da81197c5d", - "reference": "a475747af1a1c98272a5471abc35f3da81197c5d", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/1d321c4bc3fe926fd4c38999a4c9af4f5d61ddfc", + "reference": "1d321c4bc3fe926fd4c38999a4c9af4f5d61ddfc", "shasum": "" }, "require": { @@ -3547,7 +3026,7 @@ "description": "Allows you to standardize and centralize the way objects are constructed in your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v7.2.0" + "source": "https://github.com/symfony/dependency-injection/tree/v7.2.3" }, "funding": [ { @@ -3563,7 +3042,7 @@ "type": "tidelift" } ], - "time": "2024-11-25T15:45:00+00:00" + "time": "2025-01-17T10:56:55+00:00" }, { "name": "symfony/deprecation-contracts", @@ -4016,86 +3495,6 @@ ], "time": "2024-09-09T11:45:10+00:00" }, - { - "name": "symfony/polyfill-php80", - "version": "v1.31.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", - "reference": "60328e362d4c2c802a54fcbf04f9d3fb892b4cf8", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "type": "library", - "extra": { - "thanks": { - "url": "https://github.com/symfony/polyfill", - "name": "symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.31.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-09-09T11:45:10+00:00" - }, { "name": "symfony/service-contracts", "version": "v3.5.1", @@ -4342,76 +3741,27 @@ ], "time": "2024-10-18T07:58:17+00:00" }, - { - "name": "theseer/tokenizer", - "version": "1.2.3", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "support": { - "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.3" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2024-03-03T12:36:25+00:00" - }, { "name": "vimeo/psalm", - "version": "4.30.0", + "version": "6.1.0", "source": { "type": "git", "url": "https://github.com/vimeo/psalm.git", - "reference": "d0bc6e25d89f649e4f36a534f330f8bb4643dd69" + "reference": "827971f8bc7a28bb4f842f34bf8901521de1cea3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/vimeo/psalm/zipball/d0bc6e25d89f649e4f36a534f330f8bb4643dd69", - "reference": "d0bc6e25d89f649e4f36a534f330f8bb4643dd69", + "url": "https://api.github.com/repos/vimeo/psalm/zipball/827971f8bc7a28bb4f842f34bf8901521de1cea3", + "reference": "827971f8bc7a28bb4f842f34bf8901521de1cea3", "shasum": "" }, "require": { - "amphp/amp": "^2.4.2", - "amphp/byte-stream": "^1.5", - "composer/package-versions-deprecated": "^1.8.0", + "amphp/amp": "^3", + "amphp/byte-stream": "^2", + "amphp/parallel": "^2.3", + "composer-runtime-api": "^2", "composer/semver": "^1.4 || ^2.0 || ^3.0", - "composer/xdebug-handler": "^1.1 || ^2.0 || ^3.0", + "composer/xdebug-handler": "^2.0 || ^3.0", "dnoegel/php-xdg-base-dir": "^0.1.1", "ext-ctype": "*", "ext-dom": "*", @@ -4420,35 +3770,36 @@ "ext-mbstring": "*", "ext-simplexml": "*", "ext-tokenizer": "*", - "felixfbecker/advanced-json-rpc": "^3.0.3", - "felixfbecker/language-server-protocol": "^1.5", + "felixfbecker/advanced-json-rpc": "^3.1", + "felixfbecker/language-server-protocol": "^1.5.3", + "fidry/cpu-core-counter": "^0.4.1 || ^0.5.1 || ^1.0.0", "netresearch/jsonmapper": "^1.0 || ^2.0 || ^3.0 || ^4.0", - "nikic/php-parser": "^4.13", - "openlss/lib-array2xml": "^1.0", - "php": "^7.1|^8", - "sebastian/diff": "^3.0 || ^4.0", - "symfony/console": "^3.4.17 || ^4.1.6 || ^5.0 || ^6.0", - "symfony/polyfill-php80": "^1.25", - "webmozart/path-util": "^2.3" + "nikic/php-parser": "^5.0.0", + "php": "~8.1.17 || ~8.2.4 || ~8.3.0 || ~8.4.0", + "sebastian/diff": "^4.0 || ^5.0 || ^6.0", + "spatie/array-to-xml": "^2.17.0 || ^3.0", + "symfony/console": "^6.0 || ^7.0", + "symfony/filesystem": "^6.0 || ^7.0" }, "provide": { "psalm/psalm": "self.version" }, "require-dev": { - "bamarni/composer-bin-plugin": "^1.2", - "brianium/paratest": "^4.0||^6.0", + "amphp/phpunit-util": "^3", + "bamarni/composer-bin-plugin": "^1.4", + "brianium/paratest": "^6.9", + "dg/bypass-finals": "^1.5", "ext-curl": "*", + "mockery/mockery": "^1.5", + "nunomaduro/mock-final-classes": "^1.1", "php-parallel-lint/php-parallel-lint": "^1.2", - "phpdocumentor/reflection-docblock": "^5", - "phpmyadmin/sql-parser": "5.1.0||dev-master", - "phpspec/prophecy": ">=1.9.0", - "phpstan/phpdoc-parser": "1.2.* || 1.6.4", - "phpunit/phpunit": "^9.0", - "psalm/plugin-phpunit": "^0.16", - "slevomat/coding-standard": "^7.0", - "squizlabs/php_codesniffer": "^3.5", - "symfony/process": "^4.3 || ^5.0 || ^6.0", - "weirdan/prophecy-shim": "^1.0 || ^2.0" + "phpstan/phpdoc-parser": "^1.6", + "phpunit/phpunit": "^9.6", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.19", + "slevomat/coding-standard": "^8.4", + "squizlabs/php_codesniffer": "^3.6", + "symfony/process": "^6.0 || ^7.0" }, "suggest": { "ext-curl": "In order to send data to shepherd", @@ -4461,20 +3812,19 @@ "psalm-refactor", "psalter" ], - "type": "library", + "type": "project", "extra": { "branch-alias": { "dev-1.x": "1.x-dev", "dev-2.x": "2.x-dev", "dev-3.x": "3.x-dev", - "dev-master": "4.x-dev" + "dev-4.x": "4.x-dev", + "dev-5.x": "5.x-dev", + "dev-6.x": "6.x-dev", + "dev-master": "7.x-dev" } }, "autoload": { - "files": [ - "src/functions.php", - "src/spl_object_id.php" - ], "psr-4": { "Psalm\\": "src/Psalm/" } @@ -4486,19 +3836,25 @@ "authors": [ { "name": "Matthew Brown" + }, + { + "name": "Daniil Gentili", + "email": "daniil@daniil.it" } ], "description": "A static analysis tool for finding errors in PHP applications", "keywords": [ "code", "inspection", - "php" + "php", + "static analysis" ], "support": { + "docs": "https://psalm.dev/docs", "issues": "https://github.com/vimeo/psalm/issues", - "source": "https://github.com/vimeo/psalm/tree/4.30.0" + "source": "https://github.com/vimeo/psalm" }, - "time": "2022-11-06T20:37:08+00:00" + "time": "2025-01-30T19:33:41+00:00" }, { "name": "webmozart/assert", @@ -4557,57 +3913,6 @@ "source": "https://github.com/webmozarts/assert/tree/1.11.0" }, "time": "2022-06-03T18:03:27+00:00" - }, - { - "name": "webmozart/path-util", - "version": "2.3.0", - "source": { - "type": "git", - "url": "https://github.com/webmozart/path-util.git", - "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozart/path-util/zipball/d939f7edc24c9a1bb9c0dee5cb05d8e859490725", - "reference": "d939f7edc24c9a1bb9c0dee5cb05d8e859490725", - "shasum": "" - }, - "require": { - "php": ">=5.3.3", - "webmozart/assert": "~1.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.6", - "sebastian/version": "^1.0.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.3-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\PathUtil\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "A robust cross-platform utility for normalizing, comparing and modifying file paths.", - "support": { - "issues": "https://github.com/webmozart/path-util/issues", - "source": "https://github.com/webmozart/path-util/tree/2.3.0" - }, - "abandoned": "symfony/filesystem", - "time": "2015-12-17T08:42:14+00:00" } ], "packages-dev": [],