diff --git a/.github/dependabot.yml b/.github/dependabot.yml index a152404c7e92f..bd0faec5366be 100644 --- a/.github/dependabot.yml +++ b/.github/dependabot.yml @@ -28,6 +28,7 @@ updates: - "/vendor-bin/openapi-extractor" - "/vendor-bin/phpunit" - "/vendor-bin/psalm" + - "/vendor-bin/rector" schedule: interval: weekly day: saturday diff --git a/apps/dav/lib/CalDAV/ResourceBooking/AbstractPrincipalBackend.php b/apps/dav/lib/CalDAV/ResourceBooking/AbstractPrincipalBackend.php index e1bd2f5be2998..236039e489075 100644 --- a/apps/dav/lib/CalDAV/ResourceBooking/AbstractPrincipalBackend.php +++ b/apps/dav/lib/CalDAV/ResourceBooking/AbstractPrincipalBackend.php @@ -25,12 +25,6 @@ abstract class AbstractPrincipalBackend implements BackendInterface { - /** @var ProxyMapper */ - private $proxyMapper; - - /** @var string */ - private $principalPrefix; - /** @var string */ private $dbTableName; @@ -45,13 +39,11 @@ public function __construct( private IUserSession $userSession, private IGroupManager $groupManager, private LoggerInterface $logger, - ProxyMapper $proxyMapper, - string $principalPrefix, + private ProxyMapper $proxyMapper, + private string $principalPrefix, string $dbPrefix, private string $cuType, ) { - $this->proxyMapper = $proxyMapper; - $this->principalPrefix = $principalPrefix; $this->dbTableName = 'calendar_' . $dbPrefix . 's'; $this->dbMetaDataTableName = $this->dbTableName . '_md'; $this->dbForeignKeyName = $dbPrefix . '_id'; diff --git a/apps/dav/lib/Connector/Sabre/Principal.php b/apps/dav/lib/Connector/Sabre/Principal.php index 67edb1c4035bf..e49c61f6e1ff3 100644 --- a/apps/dav/lib/Connector/Sabre/Principal.php +++ b/apps/dav/lib/Connector/Sabre/Principal.php @@ -41,9 +41,6 @@ class Principal implements BackendInterface { /** @var bool */ private $hasCircles; - /** @var ProxyMapper */ - private $proxyMapper; - /** @var KnownUserService */ private $knownUserService; @@ -54,7 +51,7 @@ public function __construct( private IShareManager $shareManager, private IUserSession $userSession, private IAppManager $appManager, - ProxyMapper $proxyMapper, + private ProxyMapper $proxyMapper, KnownUserService $knownUserService, private IConfig $config, private IFactory $languageFactory, @@ -62,7 +59,6 @@ public function __construct( ) { $this->principalPrefix = trim($principalPrefix, '/'); $this->hasGroups = $this->hasCircles = ($principalPrefix === 'principals/users/'); - $this->proxyMapper = $proxyMapper; $this->knownUserService = $knownUserService; } diff --git a/apps/dav/lib/Connector/Sabre/ServerFactory.php b/apps/dav/lib/Connector/Sabre/ServerFactory.php index bdd13b7f44e43..214412e17442c 100644 --- a/apps/dav/lib/Connector/Sabre/ServerFactory.php +++ b/apps/dav/lib/Connector/Sabre/ServerFactory.php @@ -15,6 +15,7 @@ use OCA\DAV\DAV\CustomPropertiesBackend; use OCA\DAV\DAV\ViewOnlyPlugin; use OCA\DAV\Files\BrowserErrorPagePlugin; +use OCA\DAV\Files\Sharing\RootCollection; use OCA\DAV\Upload\CleanupService; use OCA\Theming\ThemingDefaults; use OCP\Accounts\IAccountManager; @@ -150,7 +151,7 @@ public function createServer( ); // Mount the share collection at /public.php/dav/shares/ - $rootCollection->addChild(new \OCA\DAV\Files\Sharing\RootCollection( + $rootCollection->addChild(new RootCollection( $root, $userPrincipalBackend, 'principals/shares', diff --git a/apps/dav/lib/Events/CalendarShareUpdatedEvent.php b/apps/dav/lib/Events/CalendarShareUpdatedEvent.php index 2e49df956ec9c..0f8b23ad3ac72 100644 --- a/apps/dav/lib/Events/CalendarShareUpdatedEvent.php +++ b/apps/dav/lib/Events/CalendarShareUpdatedEvent.php @@ -8,6 +8,7 @@ */ namespace OCA\DAV\Events; +use OCA\DAV\CalDAV\CalDavBackend; use OCP\EventDispatcher\Event; /** @@ -16,7 +17,7 @@ * @package OCA\DAV\Events * @since 20.0.0 * - * @psalm-import-type CalendarInfo from \OCA\DAV\CalDAV\CalDavBackend + * @psalm-import-type CalendarInfo from CalDavBackend */ class CalendarShareUpdatedEvent extends Event { /** diff --git a/apps/dav/templates/settings-example-content.php b/apps/dav/templates/settings-example-content.php index b2b051d745dd6..7c6f15bd82b46 100644 --- a/apps/dav/templates/settings-example-content.php +++ b/apps/dav/templates/settings-example-content.php @@ -4,7 +4,7 @@ * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ -script('dav', 'settings-example-content'); +\OCP\Util::addScript('dav', 'settings-example-content', 'core'); ?> diff --git a/apps/dav/tests/integration/DAV/Sharing/CalDavSharingBackendTest.php b/apps/dav/tests/integration/DAV/Sharing/CalDavSharingBackendTest.php index 407d9f9ba41e1..be06e8e4d4b66 100644 --- a/apps/dav/tests/integration/DAV/Sharing/CalDavSharingBackendTest.php +++ b/apps/dav/tests/integration/DAV/Sharing/CalDavSharingBackendTest.php @@ -9,7 +9,9 @@ namespace OCA\DAV\Tests\integration\DAV\Sharing; +use OC\Memcache\NullCache; use OCA\DAV\CalDAV\Calendar; +use OCA\DAV\CalDAV\Sharing\Service; use OCA\DAV\Connector\Sabre\Principal; use OCA\DAV\DAV\Sharing\Backend; use OCA\DAV\DAV\Sharing\SharingMapper; @@ -50,11 +52,11 @@ protected function setUp(): void { $this->principalBackend = $this->createMock(Principal::class); $this->cacheFactory = $this->createMock(ICacheFactory::class); $this->cacheFactory->method('createInMemory') - ->willReturn(new \OC\Memcache\NullCache()); + ->willReturn(new NullCache()); $this->logger = new \Psr\Log\NullLogger(); $this->sharingMapper = new SharingMapper($this->db); - $this->sharingService = new \OCA\DAV\CalDAV\Sharing\Service($this->sharingMapper); + $this->sharingService = new Service($this->sharingMapper); $this->sharingBackend = new \OCA\DAV\CalDAV\Sharing\Backend( $this->userManager, diff --git a/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php b/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php index f6c19787e94cc..7fefe3e06da2f 100644 --- a/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php +++ b/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php @@ -15,6 +15,7 @@ use OCA\DAV\Connector\Sabre\Directory; use OCA\DAV\Connector\Sabre\Exception\Forbidden; use OCA\DAV\Connector\Sabre\Exception\InvalidPath; +use OCA\Files_Sharing\External\Storage; use OCP\Constants; use OCP\Files\ForbiddenException; use OCP\Files\InvalidPathException; @@ -286,7 +287,7 @@ public function testGetQuotaInfoUnlimited(): void { ->willReturnMap([ ['\OCA\Files_Sharing\SharedStorage', false], ['\OC\Files\Storage\Wrapper\Quota', false], - [\OCA\Files_Sharing\External\Storage::class, false], + [Storage::class, false], ]); $storage->expects($this->once()) @@ -342,7 +343,7 @@ public function testGetQuotaInfoSpecific(): void { ->willReturnMap([ ['\OCA\Files_Sharing\SharedStorage', false], ['\OC\Files\Storage\Wrapper\Quota', true], - [\OCA\Files_Sharing\External\Storage::class, false], + [Storage::class, false], ]); $storage->expects($this->once()) diff --git a/apps/files_sharing/lib/External/Scanner.php b/apps/files_sharing/lib/External/Scanner.php index e45d3723923d3..2b0741b4b966c 100644 --- a/apps/files_sharing/lib/External/Scanner.php +++ b/apps/files_sharing/lib/External/Scanner.php @@ -6,6 +6,7 @@ */ namespace OCA\Files_Sharing\External; +use OC\Files\Cache\CacheEntry; use OC\ForbiddenException; use OCP\Files\NotFoundException; use OCP\Files\StorageInvalidException; @@ -29,7 +30,7 @@ public function scan($path, $recursive = self::SCAN_RECURSIVE, $reuse = -1, $loc * @param string $file file to scan * @param int $reuseExisting * @param int $parentId - * @param \OC\Files\Cache\CacheEntry|array|null|false $cacheData existing data in the cache for the file to be scanned + * @param CacheEntry|array|null|false $cacheData existing data in the cache for the file to be scanned * @param bool $lock set to false to disable getting an additional read lock during scanning * @param array|null $data the metadata for the file, as returned by the storage * @return array|null an array of metadata of the scanned file diff --git a/apps/files_trashbin/lib/Command/CleanUp.php b/apps/files_trashbin/lib/Command/CleanUp.php index fc0157ec46171..e9b4fa8ae6035 100644 --- a/apps/files_trashbin/lib/Command/CleanUp.php +++ b/apps/files_trashbin/lib/Command/CleanUp.php @@ -11,6 +11,7 @@ use OCP\IDBConnection; use OCP\IUserBackend; use OCP\IUserManager; +use OCP\Util; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Exception\InvalidOptionException; use Symfony\Component\Console\Input\InputArgument; @@ -96,7 +97,7 @@ protected function removeDeletedFiles(string $uid, OutputInterface $output, bool $node = $this->rootFolder->get($path); if ($verbose) { - $output->writeln('Deleting ' . \OCP\Util::humanFileSize($node->getSize()) . " in trash for $uid."); + $output->writeln('Deleting ' . Util::humanFileSize($node->getSize()) . " in trash for $uid."); } $node->delete(); if ($this->rootFolder->nodeExists($path)) { diff --git a/apps/files_trashbin/lib/Command/Size.php b/apps/files_trashbin/lib/Command/Size.php index 385872c436cef..9c19d4d92b358 100644 --- a/apps/files_trashbin/lib/Command/Size.php +++ b/apps/files_trashbin/lib/Command/Size.php @@ -13,6 +13,7 @@ use OCP\IConfig; use OCP\IUser; use OCP\IUserManager; +use OCP\Util; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; @@ -45,7 +46,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int $size = $input->getArgument('size'); if ($size) { - $parsedSize = \OCP\Util::computerFileSize($size); + $parsedSize = Util::computerFileSize($size); if ($parsedSize === false) { $output->writeln('Failed to parse input size'); return -1; @@ -70,7 +71,7 @@ private function printTrashbinSize(InputInterface $input, OutputInterface $outpu if ($globalSize < 0) { $globalHumanSize = 'default (50% of available space)'; } else { - $globalHumanSize = \OCP\Util::humanFileSize($globalSize); + $globalHumanSize = Util::humanFileSize($globalSize); } if ($user) { @@ -79,7 +80,7 @@ private function printTrashbinSize(InputInterface $input, OutputInterface $outpu if ($userSize < 0) { $userHumanSize = ($globalSize < 0) ? $globalHumanSize : "default($globalHumanSize)"; } else { - $userHumanSize = \OCP\Util::humanFileSize($userSize); + $userHumanSize = Util::humanFileSize($userSize); } if ($input->getOption('output') == self::OUTPUT_FORMAT_PLAIN) { @@ -106,7 +107,7 @@ private function printTrashbinSize(InputInterface $input, OutputInterface $outpu if (count($userValues)) { $output->writeln('Per-user sizes:'); $this->writeArrayInOutputFormat($input, $output, array_map(function ($size) { - return \OCP\Util::humanFileSize($size); + return Util::humanFileSize($size); }, $userValues)); } else { $output->writeln('No per-user sizes configured'); diff --git a/apps/files_trashbin/tests/TrashbinTest.php b/apps/files_trashbin/tests/TrashbinTest.php index d16e90f74e949..823d69d02c504 100644 --- a/apps/files_trashbin/tests/TrashbinTest.php +++ b/apps/files_trashbin/tests/TrashbinTest.php @@ -12,6 +12,7 @@ use OC\Files\Storage\Local; use OC\Files\View; use OC\SystemConfig; +use OC\User\Database; use OCA\Files_Sharing\AppInfo\Application; use OCA\Files_Trashbin\AppInfo\Application as TrashbinApplication; use OCA\Files_Trashbin\Expiration; @@ -59,7 +60,7 @@ public static function setUpBeforeClass(): void { // reset backend Server::get(IUserManager::class)->clearBackends(); - Server::get(IUserManager::class)->registerBackend(new \OC\User\Database()); + Server::get(IUserManager::class)->registerBackend(new Database()); // clear share hooks \OC_Hook::clear('OCP\\Share'); diff --git a/apps/files_versions/lib/Listener/FileEventsListener.php b/apps/files_versions/lib/Listener/FileEventsListener.php index d847c60ec640a..a609f01f257b0 100644 --- a/apps/files_versions/lib/Listener/FileEventsListener.php +++ b/apps/files_versions/lib/Listener/FileEventsListener.php @@ -36,6 +36,7 @@ use OCP\Files\IMimeTypeLoader; use OCP\Files\IRootFolder; use OCP\Files\Node; +use OCP\Files\NotFoundException; use OCP\IUserSession; use Psr\Log\LoggerInterface; @@ -378,7 +379,7 @@ private function getPathForNode(Node $node): ?string { try { $owner = $node->getOwner()?->getUid(); - } catch (\OCP\Files\NotFoundException) { + } catch (NotFoundException) { $owner = null; } diff --git a/apps/files_versions/tests/VersioningTest.php b/apps/files_versions/tests/VersioningTest.php index f294390a59300..adfced9be91d1 100644 --- a/apps/files_versions/tests/VersioningTest.php +++ b/apps/files_versions/tests/VersioningTest.php @@ -808,7 +808,7 @@ private function doTestRestore() { $eventDispatcher = Server::get(IEventDispatcher::class); $eventFired = false; - $eventDispatcher->addListener(VersionRestoredEvent::class, function ($event) use (&$eventFired, $t2) { + $eventDispatcher->addListener(VersionRestoredEvent::class, function ($event) use (&$eventFired, $t2): void { $eventFired = true; $this->assertEquals('/sub/test.txt', $event->getVersion()->getVersionPath()); $this->assertTrue($event->getVersion()->getRevisionId() > 0); diff --git a/apps/settings/lib/Settings/Admin/Mail.php b/apps/settings/lib/Settings/Admin/Mail.php index 728be01f3d824..566cdea310f73 100644 --- a/apps/settings/lib/Settings/Admin/Mail.php +++ b/apps/settings/lib/Settings/Admin/Mail.php @@ -9,6 +9,7 @@ use OCP\IBinaryFinder; use OCP\IConfig; use OCP\IL10N; +use OCP\Server; use OCP\Settings\IDelegatedSettings; class Mail implements IDelegatedSettings { @@ -26,7 +27,7 @@ public function __construct( * @return TemplateResponse */ public function getForm() { - $finder = \OCP\Server::get(IBinaryFinder::class); + $finder = Server::get(IBinaryFinder::class); $parameters = [ // Mail diff --git a/apps/settings/lib/Settings/Personal/PersonalInfo.php b/apps/settings/lib/Settings/Personal/PersonalInfo.php index c8e9e732cd812..84b379f2e879b 100644 --- a/apps/settings/lib/Settings/Personal/PersonalInfo.php +++ b/apps/settings/lib/Settings/Personal/PersonalInfo.php @@ -29,6 +29,7 @@ use OCP\Notification\IManager; use OCP\Server; use OCP\Settings\ISettings; +use OCP\Util; class PersonalInfo implements ISettings { @@ -71,7 +72,7 @@ public function getForm(): TemplateResponse { if ($storageInfo['quota'] === FileInfo::SPACE_UNLIMITED) { $totalSpace = $this->l->t('Unlimited'); } else { - $totalSpace = \OCP\Util::humanFileSize($storageInfo['total']); + $totalSpace = Util::humanFileSize($storageInfo['total']); } $messageParameters = $this->getMessageParameters($account); @@ -88,7 +89,7 @@ public function getForm(): TemplateResponse { 'groups' => $this->getGroups($user), 'quota' => $storageInfo['quota'], 'totalSpace' => $totalSpace, - 'usage' => \OCP\Util::humanFileSize($storageInfo['used']), + 'usage' => Util::humanFileSize($storageInfo['used']), 'usageRelative' => round($storageInfo['relative']), 'displayName' => $this->getProperty($account, IAccountManager::PROPERTY_DISPLAYNAME), 'emailMap' => $this->getEmailMap($account), diff --git a/apps/user_ldap/lib/User/User.php b/apps/user_ldap/lib/User/User.php index 6d4af2d4ac568..1dff026e7d865 100644 --- a/apps/user_ldap/lib/User/User.php +++ b/apps/user_ldap/lib/User/User.php @@ -563,7 +563,7 @@ public function updateQuota(?string $valueFromLDAP = null): void { } private function verifyQuotaValue(string $quotaValue): bool { - return $quotaValue === 'none' || $quotaValue === 'default' || \OCP\Util::computerFileSize($quotaValue) !== false; + return $quotaValue === 'none' || $quotaValue === 'default' || Util::computerFileSize($quotaValue) !== false; } /** diff --git a/vendor-bin/rector/composer.json b/vendor-bin/rector/composer.json index 1972ea20bee5a..1398ed359ee30 100644 --- a/vendor-bin/rector/composer.json +++ b/vendor-bin/rector/composer.json @@ -1,6 +1,6 @@ { "require-dev": { - "rector/rector": "^1.2", - "nextcloud/rector": "^0.3.1" + "rector/rector": "^2.0", + "nextcloud/rector": "^0.4.1" } } diff --git a/vendor-bin/rector/composer.lock b/vendor-bin/rector/composer.lock index 77043c23c442d..634d8043e68a1 100644 --- a/vendor-bin/rector/composer.lock +++ b/vendor-bin/rector/composer.lock @@ -4,30 +4,80 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "f197bd1bcd2c1d4cfc5c4b1756a5b20e", + "content-hash": "347262bc75027c88fa21b011f732aa31", "packages": [], "packages-dev": [ + { + "name": "nextcloud/ocp", + "version": "v31.0.4", + "source": { + "type": "git", + "url": "https://github.com/nextcloud-deps/ocp.git", + "reference": "1fb984268039921920ade298ef5a58e8fe3de7da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nextcloud-deps/ocp/zipball/1fb984268039921920ade298ef5a58e8fe3de7da", + "reference": "1fb984268039921920ade298ef5a58e8fe3de7da", + "shasum": "" + }, + "require": { + "php": "~8.1 || ~8.2 || ~8.3 || ~8.4", + "psr/clock": "^1.0", + "psr/container": "^2.0.2", + "psr/event-dispatcher": "^1.0", + "psr/log": "^3.0.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-stable31": "31.0.0-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "AGPL-3.0-or-later" + ], + "authors": [ + { + "name": "Christoph Wurst", + "email": "christoph@winzerhof-wurst.at" + }, + { + "name": "Joas Schilling", + "email": "coding@schilljs.com" + } + ], + "description": "Composer package containing Nextcloud's public OCP API and the unstable NCU API", + "support": { + "issues": "https://github.com/nextcloud-deps/ocp/issues", + "source": "https://github.com/nextcloud-deps/ocp/tree/v31.0.4" + }, + "time": "2025-04-15T00:50:16+00:00" + }, { "name": "nextcloud/rector", - "version": "v0.3.1", + "version": "v0.4.1", "source": { "type": "git", "url": "https://github.com/nextcloud-libraries/rector.git", - "reference": "25e71025c3acdf346f2d26034d3edd8e17e4596e" + "reference": "9c5c78cc323537ec6dba5b3cd9c422ff9524d8cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nextcloud-libraries/rector/zipball/25e71025c3acdf346f2d26034d3edd8e17e4596e", - "reference": "25e71025c3acdf346f2d26034d3edd8e17e4596e", + "url": "https://api.github.com/repos/nextcloud-libraries/rector/zipball/9c5c78cc323537ec6dba5b3cd9c422ff9524d8cf", + "reference": "9c5c78cc323537ec6dba5b3cd9c422ff9524d8cf", "shasum": "" }, "require": { - "php": "^8.1" + "nextcloud/ocp": ">=27", + "php": "^8.1", + "rector/rector": "^2.0.4", + "webmozart/assert": "^1.11" }, "require-dev": { "phpunit/phpunit": "^10.5", - "ramsey/devtools": "^2.0", - "rector/rector": "^1.2" + "ramsey/devtools": "^2.0" }, "type": "library", "extra": { @@ -44,6 +94,7 @@ }, "autoload": { "psr-4": { + "OCP\\": "vendor/nextcloud/ocp/OCP", "Nextcloud\\Rector\\": "src/" } }, @@ -65,26 +116,26 @@ ], "support": { "issues": "https://github.com/nextcloud-libraries/rector/issues", - "source": "https://github.com/nextcloud-libraries/rector/tree/v0.3.1" + "source": "https://github.com/nextcloud-libraries/rector/tree/v0.4.1" }, - "time": "2025-02-06T09:32:20+00:00" + "time": "2025-03-31T15:27:10+00:00" }, { "name": "phpstan/phpstan", - "version": "1.12.16", + "version": "2.1.15", "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "e0bb5cb78545aae631220735aa706eac633a6be9" + "reference": "402d11c1aa40ae2e1c3a512e6a4edb957527b20b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/e0bb5cb78545aae631220735aa706eac633a6be9", - "reference": "e0bb5cb78545aae631220735aa706eac633a6be9", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/402d11c1aa40ae2e1c3a512e6a4edb957527b20b", + "reference": "402d11c1aa40ae2e1c3a512e6a4edb957527b20b", "shasum": "" }, "require": { - "php": "^7.2|^8.0" + "php": "^7.4|^8.0" }, "conflict": { "phpstan/phpstan-shim": "*" @@ -125,25 +176,226 @@ "type": "github" } ], - "time": "2025-01-21T14:50:05+00:00" + "time": "2025-05-14T11:16:08+00:00" + }, + { + "name": "psr/clock", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/clock.git", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Clock\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for reading the clock.", + "homepage": "https://github.com/php-fig/clock", + "keywords": [ + "clock", + "now", + "psr", + "psr-20", + "time" + ], + "support": { + "issues": "https://github.com/php-fig/clock/issues", + "source": "https://github.com/php-fig/clock/tree/1.0.0" + }, + "time": "2022-11-25T14:36:26+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "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/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/log", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "reference": "f16e1d5863e37f8d8c2a01719f5b34baa2b714d3", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.2" + }, + "time": "2024-09-11T13:17:53+00:00" }, { "name": "rector/rector", - "version": "1.2.10", + "version": "2.0.16", "source": { "type": "git", "url": "https://github.com/rectorphp/rector.git", - "reference": "40f9cf38c05296bd32f444121336a521a293fa61" + "reference": "f1366d1f8c7490541c8f7af6e5c7cef7cca1b5a2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/rectorphp/rector/zipball/40f9cf38c05296bd32f444121336a521a293fa61", - "reference": "40f9cf38c05296bd32f444121336a521a293fa61", + "url": "https://api.github.com/repos/rectorphp/rector/zipball/f1366d1f8c7490541c8f7af6e5c7cef7cca1b5a2", + "reference": "f1366d1f8c7490541c8f7af6e5c7cef7cca1b5a2", "shasum": "" }, "require": { - "php": "^7.2|^8.0", - "phpstan/phpstan": "^1.12.5" + "php": "^7.4|^8.0", + "phpstan/phpstan": "^2.1.14" }, "conflict": { "rector/rector-doctrine": "*", @@ -176,7 +428,7 @@ ], "support": { "issues": "https://github.com/rectorphp/rector/issues", - "source": "https://github.com/rectorphp/rector/tree/1.2.10" + "source": "https://github.com/rectorphp/rector/tree/2.0.16" }, "funding": [ { @@ -184,7 +436,65 @@ "type": "github" } ], - "time": "2024-11-08T13:59:10+00:00" + "time": "2025-05-12T16:37:16+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.11.0", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "php": "^7.2 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.11.0" + }, + "time": "2022-06-03T18:03:27+00:00" } ], "aliases": [],