From bf6b8891171a6f2ac6fb4bfd9aa2d8b83dda80f7 Mon Sep 17 00:00:00 2001 From: Matthias Vogel Date: Fri, 2 Feb 2024 12:50:59 +0100 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20add=20support=20for=20foreign=5Ffie?= =?UTF-8?q?ld?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Classes/DataProcessing/RelationProcessor.php | 107 +++- composer.lock | 631 +++++++++---------- 2 files changed, 388 insertions(+), 350 deletions(-) diff --git a/Classes/DataProcessing/RelationProcessor.php b/Classes/DataProcessing/RelationProcessor.php index ac89a8c..1b25453 100644 --- a/Classes/DataProcessing/RelationProcessor.php +++ b/Classes/DataProcessing/RelationProcessor.php @@ -35,9 +35,8 @@ public function process(ContentObjectRenderer $cObj, array $contentObjectConfigu $table = $cObj->getCurrentTable(); $uid = $cObj->data['uid']; $field = $processorConfiguration['field']; - $sorting = $processorConfiguration['mm_sorting_field'] ?? ''; - $relations = $this->getRelation($cObj, $table, $field, $uid, $sorting); + $relations = $this->getRelation($cObj, $table, $field, $uid); $request = $cObj->getRequest(); $processedRecordVariables = []; @@ -59,11 +58,79 @@ public function process(ContentObjectRenderer $cObj, array $contentObjectConfigu /** * @return list> */ - public function getRelation(ContentObjectRenderer $cObj, string $table, string $field, int $uid, string $sorting): array + public function getRelation(ContentObjectRenderer $cObj, string $table, string $field, int $uid): array { $tcaConfig = $GLOBALS['TCA'][$table]['columns'][$field]['config'] ?? throw new RuntimeException( 'TCA config for ' . $table . '.' . $field . ' not found' ); + + $foreignTable = $tcaConfig['foreign_table'] ?? throw new RuntimeException('TCA config foreign_table not found'); + + if (isset($tcaConfig['foreign_field'])) { + $rows = $this->getRowsForeignField($tcaConfig, $uid); + } else { + $rows = $this->getRowsMM($tcaConfig, $foreignTable, $uid); + } + + $records = []; + + $pageRepository = $cObj->getTypoScriptFrontendController()?->sys_page; + $pageRepository instanceof PageRepository ?: throw new RuntimeException('PageRepository not found'); + + foreach ($rows as $row) { + // Versioning preview: + $pageRepository->versionOL($foreignTable, $row, true); + + if (!$row) { + continue; + } + + // Language overlay: + $row = $pageRepository->getLanguageOverlay($foreignTable, $row); + + if (!$row) { + continue; // Might be unset in the language overlay + } + + $records[] = $row; + } + + return $records; + } + + /** + * @param array $tcaConfig + * @return list> + */ + private function getRowsForeignField(array $tcaConfig, int $uid): array + { + $foreignTable = $tcaConfig['foreign_table']; + $foreignField = $tcaConfig['foreign_field']; + $foreignSortby = $tcaConfig['foreign_sortby'] ?? null; + $maxitems = (int)($tcaConfig['maxitems'] ?? 0); + + $queryBuilder = $this->connectionPool->getQueryBuilderForTable($foreignTable); + $queryBuilder + ->select('*') + ->from($foreignTable) + ->where($queryBuilder->expr()->eq($foreignField, $uid)); + + if ($foreignSortby) { + $queryBuilder->orderBy($foreignSortby); + } + + if ($maxitems) { + $queryBuilder->setMaxResults($maxitems); + } + + return $queryBuilder->executeQuery()->fetchAllAssociative(); + } + + /** + * @return list> + */ + private function getRowsMM(mixed $tcaConfig, mixed $foreignTable, int $uid): array + { if (isset($tcaConfig['MM_hasUidField'])) { throw new RuntimeException('TCA config MM_hasUidField not supported'); } @@ -76,15 +143,10 @@ public function getRelation(ContentObjectRenderer $cObj, string $table, string $ throw new RuntimeException('TCA config MM_oppositeUsage not supported'); } - if (isset($tcaConfig['foreign_field'])) { - //inline not supported right now - throw new RuntimeException('TCA config foreign_field not supported'); - } - $mmTable = $tcaConfig['MM'] ?? throw new RuntimeException('TCA config MM not found'); - $foreignTable = $tcaConfig['foreign_table'] ?? throw new RuntimeException('TCA config foreign_table not found'); $matchFields = $tcaConfig['MM_match_fields'] ?? []; + $sorting = $tcaConfig['mm_sorting_field'] ?? ''; $otherWay = isset($tcaConfig['MM_opposite_field']); @@ -102,6 +164,7 @@ public function getRelation(ContentObjectRenderer $cObj, string $table, string $ ->from($foreignTable, 'relation') ->join('relation', $mmTable, 'mm', $queryBuilder->expr()->eq('relation.uid', 'mm.' . $otherField)) ->where($queryBuilder->expr()->eq('mm.' . $selfField, $uid)); + if ($sorting) { $queryBuilder->orderBy($sorting); } @@ -117,30 +180,6 @@ public function getRelation(ContentObjectRenderer $cObj, string $table, string $ ); } - $rows = $queryBuilder->executeQuery()->fetchAllAssociative(); - $records = []; - - $pageRepository = $cObj->getTypoScriptFrontendController()?->sys_page; - $pageRepository instanceof PageRepository ?: throw new RuntimeException('PageRepository not found'); - - foreach ($rows as $row) { - // Versioning preview: - $pageRepository->versionOL($foreignTable, $row, true); - - if (!$row) { - continue; - } - - // Language overlay: - $row = $pageRepository->getLanguageOverlay($foreignTable, $row); - - if (!$row) { - continue; // Might be unset in the language overlay - } - - $records[] = $row; - } - - return $records; + return $queryBuilder->executeQuery()->fetchAllAssociative(); } } diff --git a/composer.lock b/composer.lock index 9f28991..7bc1fe9 100644 --- a/composer.lock +++ b/composer.lock @@ -340,16 +340,16 @@ }, { "name": "doctrine/dbal", - "version": "3.7.3", + "version": "3.8.0", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "ce594cbc39a4866c544f1a970d285ff0548221ad" + "reference": "d244f2e6e6bf32bff5174e6729b57214923ecec9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/ce594cbc39a4866c544f1a970d285ff0548221ad", - "reference": "ce594cbc39a4866c544f1a970d285ff0548221ad", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/d244f2e6e6bf32bff5174e6729b57214923ecec9", + "reference": "d244f2e6e6bf32bff5174e6729b57214923ecec9", "shasum": "" }, "require": { @@ -433,7 +433,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.7.3" + "source": "https://github.com/doctrine/dbal/tree/3.8.0" }, "funding": [ { @@ -449,20 +449,20 @@ "type": "tidelift" } ], - "time": "2024-01-21T07:53:09+00:00" + "time": "2024-01-25T21:44:02+00:00" }, { "name": "doctrine/deprecations", - "version": "1.1.2", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", - "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", "shasum": "" }, "require": { @@ -494,9 +494,9 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.2" + "source": "https://github.com/doctrine/deprecations/tree/1.1.3" }, - "time": "2023-09-27T20:04:15+00:00" + "time": "2024-01-30T19:34:25+00:00" }, { "name": "doctrine/event-manager", @@ -1867,16 +1867,16 @@ }, { "name": "symfony/cache", - "version": "v7.0.2", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "378e30a864c868d635353f103a5a5e7569f029ec" + "reference": "2207eceb2433d74df81232d97439bf508cb9e050" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/378e30a864c868d635353f103a5a5e7569f029ec", - "reference": "378e30a864c868d635353f103a5a5e7569f029ec", + "url": "https://api.github.com/repos/symfony/cache/zipball/2207eceb2433d74df81232d97439bf508cb9e050", + "reference": "2207eceb2433d74df81232d97439bf508cb9e050", "shasum": "" }, "require": { @@ -1943,7 +1943,7 @@ "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v7.0.2" + "source": "https://github.com/symfony/cache/tree/v7.0.3" }, "funding": [ { @@ -1959,7 +1959,7 @@ "type": "tidelift" } ], - "time": "2023-12-29T15:37:40+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "symfony/cache-contracts", @@ -2039,16 +2039,16 @@ }, { "name": "symfony/clock", - "version": "v7.0.2", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/clock.git", - "reference": "67c5ae749ebabe7d8c84c3cab2544331eee7d2cf" + "reference": "1c680e565dc0044d8ed3baeb57835fcacd9c6aed" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/clock/zipball/67c5ae749ebabe7d8c84c3cab2544331eee7d2cf", - "reference": "67c5ae749ebabe7d8c84c3cab2544331eee7d2cf", + "url": "https://api.github.com/repos/symfony/clock/zipball/1c680e565dc0044d8ed3baeb57835fcacd9c6aed", + "reference": "1c680e565dc0044d8ed3baeb57835fcacd9c6aed", "shasum": "" }, "require": { @@ -2093,7 +2093,7 @@ "time" ], "support": { - "source": "https://github.com/symfony/clock/tree/v7.0.2" + "source": "https://github.com/symfony/clock/tree/v7.0.3" }, "funding": [ { @@ -2109,20 +2109,20 @@ "type": "tidelift" } ], - "time": "2023-12-27T08:42:13+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "symfony/config", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "5d33e0fb707d603330e0edfd4691803a1253572e" + "reference": "206482ff3ed450495b1d5b7bad1bc3a852def96f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/5d33e0fb707d603330e0edfd4691803a1253572e", - "reference": "5d33e0fb707d603330e0edfd4691803a1253572e", + "url": "https://api.github.com/repos/symfony/config/zipball/206482ff3ed450495b1d5b7bad1bc3a852def96f", + "reference": "206482ff3ed450495b1d5b7bad1bc3a852def96f", "shasum": "" }, "require": { @@ -2168,7 +2168,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/v6.4.0" + "source": "https://github.com/symfony/config/tree/v6.4.3" }, "funding": [ { @@ -2184,20 +2184,20 @@ "type": "tidelift" } ], - "time": "2023-11-09T08:28:32+00:00" + "time": "2024-01-29T13:26:27+00:00" }, { "name": "symfony/console", - "version": "v7.0.2", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "f8587c4cdc5acad67af71c37db34ef03af91e59c" + "reference": "c5010d50f1ee4b25cfa0201d9915cf1b14071456" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/f8587c4cdc5acad67af71c37db34ef03af91e59c", - "reference": "f8587c4cdc5acad67af71c37db34ef03af91e59c", + "url": "https://api.github.com/repos/symfony/console/zipball/c5010d50f1ee4b25cfa0201d9915cf1b14071456", + "reference": "c5010d50f1ee4b25cfa0201d9915cf1b14071456", "shasum": "" }, "require": { @@ -2261,7 +2261,7 @@ "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.0.2" + "source": "https://github.com/symfony/console/tree/v7.0.3" }, "funding": [ { @@ -2277,20 +2277,20 @@ "type": "tidelift" } ], - "time": "2023-12-10T16:54:46+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "symfony/dependency-injection", - "version": "v6.4.2", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "226ea431b1eda6f0d9f5a4b278757171960bb195" + "reference": "6871811c5a5c5e180244ddb689746446db02c05b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/226ea431b1eda6f0d9f5a4b278757171960bb195", - "reference": "226ea431b1eda6f0d9f5a4b278757171960bb195", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/6871811c5a5c5e180244ddb689746446db02c05b", + "reference": "6871811c5a5c5e180244ddb689746446db02c05b", "shasum": "" }, "require": { @@ -2342,7 +2342,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/v6.4.2" + "source": "https://github.com/symfony/dependency-injection/tree/v6.4.3" }, "funding": [ { @@ -2358,7 +2358,7 @@ "type": "tidelift" } ], - "time": "2023-12-28T19:16:56+00:00" + "time": "2024-01-30T08:32:12+00:00" }, { "name": "symfony/deprecation-contracts", @@ -2429,16 +2429,16 @@ }, { "name": "symfony/doctrine-messenger", - "version": "v7.0.2", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/doctrine-messenger.git", - "reference": "edd6c474878bc6a6ee3b79c3210771357f6afad3" + "reference": "2e31535147212328570717d091e082326963d40e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-messenger/zipball/edd6c474878bc6a6ee3b79c3210771357f6afad3", - "reference": "edd6c474878bc6a6ee3b79c3210771357f6afad3", + "url": "https://api.github.com/repos/symfony/doctrine-messenger/zipball/2e31535147212328570717d091e082326963d40e", + "reference": "2e31535147212328570717d091e082326963d40e", "shasum": "" }, "require": { @@ -2481,7 +2481,7 @@ "description": "Symfony Doctrine Messenger Bridge", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/doctrine-messenger/tree/v7.0.2" + "source": "https://github.com/symfony/doctrine-messenger/tree/v7.0.3" }, "funding": [ { @@ -2497,20 +2497,20 @@ "type": "tidelift" } ], - "time": "2023-12-27T08:42:13+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "symfony/event-dispatcher", - "version": "v7.0.2", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "098b62ae81fdd6cbf941f355059f617db28f4f9a" + "reference": "834c28d533dd0636f910909d01b9ff45cc094b5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/098b62ae81fdd6cbf941f355059f617db28f4f9a", - "reference": "098b62ae81fdd6cbf941f355059f617db28f4f9a", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/834c28d533dd0636f910909d01b9ff45cc094b5e", + "reference": "834c28d533dd0636f910909d01b9ff45cc094b5e", "shasum": "" }, "require": { @@ -2561,7 +2561,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.0.2" + "source": "https://github.com/symfony/event-dispatcher/tree/v7.0.3" }, "funding": [ { @@ -2577,7 +2577,7 @@ "type": "tidelift" } ], - "time": "2023-12-27T22:24:19+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "symfony/event-dispatcher-contracts", @@ -2657,16 +2657,16 @@ }, { "name": "symfony/expression-language", - "version": "v7.0.2", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/expression-language.git", - "reference": "d88bfcc37230f6ead9c6f713dc977daf26ddffce" + "reference": "0877c599cb260c9614f9229c0a2090d6919fd621" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/expression-language/zipball/d88bfcc37230f6ead9c6f713dc977daf26ddffce", - "reference": "d88bfcc37230f6ead9c6f713dc977daf26ddffce", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/0877c599cb260c9614f9229c0a2090d6919fd621", + "reference": "0877c599cb260c9614f9229c0a2090d6919fd621", "shasum": "" }, "require": { @@ -2700,7 +2700,7 @@ "description": "Provides an engine that can compile and evaluate expressions", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/expression-language/tree/v7.0.2" + "source": "https://github.com/symfony/expression-language/tree/v7.0.3" }, "funding": [ { @@ -2716,20 +2716,20 @@ "type": "tidelift" } ], - "time": "2023-12-10T16:54:46+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "symfony/filesystem", - "version": "v7.0.0", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "7da8ea2362a283771478c5f7729cfcb43a76b8b7" + "reference": "2890e3a825bc0c0558526c04499c13f83e1b6b12" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/7da8ea2362a283771478c5f7729cfcb43a76b8b7", - "reference": "7da8ea2362a283771478c5f7729cfcb43a76b8b7", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/2890e3a825bc0c0558526c04499c13f83e1b6b12", + "reference": "2890e3a825bc0c0558526c04499c13f83e1b6b12", "shasum": "" }, "require": { @@ -2763,7 +2763,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v7.0.0" + "source": "https://github.com/symfony/filesystem/tree/v7.0.3" }, "funding": [ { @@ -2779,7 +2779,7 @@ "type": "tidelift" } ], - "time": "2023-07-27T06:33:22+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "symfony/finder", @@ -2847,16 +2847,16 @@ }, { "name": "symfony/http-foundation", - "version": "v7.0.0", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "47d72323200934694def5d57083899d774a2b110" + "reference": "f24e2568376e98978022fd09ce45e2dd049e67c8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/47d72323200934694def5d57083899d774a2b110", - "reference": "47d72323200934694def5d57083899d774a2b110", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/f24e2568376e98978022fd09ce45e2dd049e67c8", + "reference": "f24e2568376e98978022fd09ce45e2dd049e67c8", "shasum": "" }, "require": { @@ -2904,7 +2904,7 @@ "description": "Defines an object-oriented layer for the HTTP specification", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.0.0" + "source": "https://github.com/symfony/http-foundation/tree/v7.0.3" }, "funding": [ { @@ -2920,20 +2920,20 @@ "type": "tidelift" } ], - "time": "2023-11-07T15:10:37+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "symfony/mailer", - "version": "v7.0.2", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/mailer.git", - "reference": "c51c8f411062ef8fec837c76b0dad15dd5a6ab16" + "reference": "2f71c0f6d62d28784783fdc5477e19dd57065d78" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/c51c8f411062ef8fec837c76b0dad15dd5a6ab16", - "reference": "c51c8f411062ef8fec837c76b0dad15dd5a6ab16", + "url": "https://api.github.com/repos/symfony/mailer/zipball/2f71c0f6d62d28784783fdc5477e19dd57065d78", + "reference": "2f71c0f6d62d28784783fdc5477e19dd57065d78", "shasum": "" }, "require": { @@ -2984,7 +2984,7 @@ "description": "Helps sending emails", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/mailer/tree/v7.0.2" + "source": "https://github.com/symfony/mailer/tree/v7.0.3" }, "funding": [ { @@ -3000,20 +3000,20 @@ "type": "tidelift" } ], - "time": "2023-12-19T11:23:03+00:00" + "time": "2024-01-29T15:41:16+00:00" }, { "name": "symfony/messenger", - "version": "v7.0.1", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/messenger.git", - "reference": "457bcafd7a08e0b3ddb87b65ce83e9200a5b8b6b" + "reference": "6271373f5dd4cc1750eccb73839d20797bd66072" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/messenger/zipball/457bcafd7a08e0b3ddb87b65ce83e9200a5b8b6b", - "reference": "457bcafd7a08e0b3ddb87b65ce83e9200a5b8b6b", + "url": "https://api.github.com/repos/symfony/messenger/zipball/6271373f5dd4cc1750eccb73839d20797bd66072", + "reference": "6271373f5dd4cc1750eccb73839d20797bd66072", "shasum": "" }, "require": { @@ -3070,7 +3070,7 @@ "description": "Helps applications send and receive messages to/from other applications or via message queues", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/messenger/tree/v7.0.1" + "source": "https://github.com/symfony/messenger/tree/v7.0.3" }, "funding": [ { @@ -3086,20 +3086,20 @@ "type": "tidelift" } ], - "time": "2023-11-30T11:04:23+00:00" + "time": "2024-01-30T13:55:15+00:00" }, { "name": "symfony/mime", - "version": "v7.0.0", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/mime.git", - "reference": "0a2fff95c1a10df97f571d67e76c7ae0f0d4f535" + "reference": "c1ffe24ba6fdc3e3f0f3fcb93519103b326a3716" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/0a2fff95c1a10df97f571d67e76c7ae0f0d4f535", - "reference": "0a2fff95c1a10df97f571d67e76c7ae0f0d4f535", + "url": "https://api.github.com/repos/symfony/mime/zipball/c1ffe24ba6fdc3e3f0f3fcb93519103b326a3716", + "reference": "c1ffe24ba6fdc3e3f0f3fcb93519103b326a3716", "shasum": "" }, "require": { @@ -3153,7 +3153,7 @@ "mime-type" ], "support": { - "source": "https://github.com/symfony/mime/tree/v7.0.0" + "source": "https://github.com/symfony/mime/tree/v7.0.3" }, "funding": [ { @@ -3169,7 +3169,7 @@ "type": "tidelift" } ], - "time": "2023-10-19T14:20:43+00:00" + "time": "2024-01-30T08:34:29+00:00" }, { "name": "symfony/options-resolver", @@ -3978,16 +3978,16 @@ }, { "name": "symfony/rate-limiter", - "version": "v7.0.2", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/rate-limiter.git", - "reference": "ece92bff19d839809d8367c39b90d326aa4a786f" + "reference": "05ac83ccabdcb6d77e00ab341941577e815fabde" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/rate-limiter/zipball/ece92bff19d839809d8367c39b90d326aa4a786f", - "reference": "ece92bff19d839809d8367c39b90d326aa4a786f", + "url": "https://api.github.com/repos/symfony/rate-limiter/zipball/05ac83ccabdcb6d77e00ab341941577e815fabde", + "reference": "05ac83ccabdcb6d77e00ab341941577e815fabde", "shasum": "" }, "require": { @@ -4028,7 +4028,7 @@ "rate-limiter" ], "support": { - "source": "https://github.com/symfony/rate-limiter/tree/v7.0.2" + "source": "https://github.com/symfony/rate-limiter/tree/v7.0.3" }, "funding": [ { @@ -4044,20 +4044,20 @@ "type": "tidelift" } ], - "time": "2023-12-30T09:57:06+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "symfony/routing", - "version": "v7.0.2", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/routing.git", - "reference": "78866be67255f42716271e33d1d8b64eb6e47bd9" + "reference": "858b26756ffc35a11238b269b484ee3a393a74d3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/78866be67255f42716271e33d1d8b64eb6e47bd9", - "reference": "78866be67255f42716271e33d1d8b64eb6e47bd9", + "url": "https://api.github.com/repos/symfony/routing/zipball/858b26756ffc35a11238b269b484ee3a393a74d3", + "reference": "858b26756ffc35a11238b269b484ee3a393a74d3", "shasum": "" }, "require": { @@ -4109,7 +4109,7 @@ "url" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.0.2" + "source": "https://github.com/symfony/routing/tree/v7.0.3" }, "funding": [ { @@ -4125,7 +4125,7 @@ "type": "tidelift" } ], - "time": "2023-12-29T15:37:40+00:00" + "time": "2024-01-30T13:55:15+00:00" }, { "name": "symfony/service-contracts", @@ -4211,16 +4211,16 @@ }, { "name": "symfony/string", - "version": "v7.0.2", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "cc78f14f91f5e53b42044d0620961c48028ff9f5" + "reference": "524aac4a280b90a4420d8d6a040718d0586505ac" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/cc78f14f91f5e53b42044d0620961c48028ff9f5", - "reference": "cc78f14f91f5e53b42044d0620961c48028ff9f5", + "url": "https://api.github.com/repos/symfony/string/zipball/524aac4a280b90a4420d8d6a040718d0586505ac", + "reference": "524aac4a280b90a4420d8d6a040718d0586505ac", "shasum": "" }, "require": { @@ -4277,7 +4277,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.0.2" + "source": "https://github.com/symfony/string/tree/v7.0.3" }, "funding": [ { @@ -4293,20 +4293,20 @@ "type": "tidelift" } ], - "time": "2023-12-10T16:54:46+00:00" + "time": "2024-01-29T15:41:16+00:00" }, { "name": "symfony/uid", - "version": "v7.0.0", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/uid.git", - "reference": "9472fe6a4a2adcc9150106ebb9fde328828d312f" + "reference": "87cedaf3fabd7b733859d4d77aa4ca598259054b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/uid/zipball/9472fe6a4a2adcc9150106ebb9fde328828d312f", - "reference": "9472fe6a4a2adcc9150106ebb9fde328828d312f", + "url": "https://api.github.com/repos/symfony/uid/zipball/87cedaf3fabd7b733859d4d77aa4ca598259054b", + "reference": "87cedaf3fabd7b733859d4d77aa4ca598259054b", "shasum": "" }, "require": { @@ -4351,7 +4351,7 @@ "uuid" ], "support": { - "source": "https://github.com/symfony/uid/tree/v7.0.0" + "source": "https://github.com/symfony/uid/tree/v7.0.3" }, "funding": [ { @@ -4367,20 +4367,20 @@ "type": "tidelift" } ], - "time": "2023-10-31T08:22:02+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "symfony/var-exporter", - "version": "v7.0.2", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "345c62fefe92243c3a06fc0cc65f2ec1a47e0764" + "reference": "1fb79308cb5fc2b44bff6e8af10a5af6812e05b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/345c62fefe92243c3a06fc0cc65f2ec1a47e0764", - "reference": "345c62fefe92243c3a06fc0cc65f2ec1a47e0764", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/1fb79308cb5fc2b44bff6e8af10a5af6812e05b8", + "reference": "1fb79308cb5fc2b44bff6e8af10a5af6812e05b8", "shasum": "" }, "require": { @@ -4425,7 +4425,7 @@ "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v7.0.2" + "source": "https://github.com/symfony/var-exporter/tree/v7.0.3" }, "funding": [ { @@ -4441,20 +4441,20 @@ "type": "tidelift" } ], - "time": "2023-12-27T08:42:13+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "symfony/yaml", - "version": "v6.4.0", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/yaml.git", - "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587" + "reference": "d75715985f0f94f978e3a8fa42533e10db921b90" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/4f9237a1bb42455d609e6687d2613dde5b41a587", - "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587", + "url": "https://api.github.com/repos/symfony/yaml/zipball/d75715985f0f94f978e3a8fa42533e10db921b90", + "reference": "d75715985f0f94f978e3a8fa42533e10db921b90", "shasum": "" }, "require": { @@ -4497,7 +4497,7 @@ "description": "Loads and dumps YAML files", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/yaml/tree/v6.4.0" + "source": "https://github.com/symfony/yaml/tree/v6.4.3" }, "funding": [ { @@ -4513,7 +4513,7 @@ "type": "tidelift" } ], - "time": "2023-11-06T11:00:25+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "typo3/class-alias-loader", @@ -5218,16 +5218,16 @@ }, { "name": "amphp/dns", - "version": "v2.1.0", + "version": "v2.1.1", "source": { "type": "git", "url": "https://github.com/amphp/dns.git", - "reference": "c3b518f321f26e786554480de580f06b9f34d1cd" + "reference": "3e3f413fbbaacd9632b1612941b363fa26a72e52" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/dns/zipball/c3b518f321f26e786554480de580f06b9f34d1cd", - "reference": "c3b518f321f26e786554480de580f06b9f34d1cd", + "url": "https://api.github.com/repos/amphp/dns/zipball/3e3f413fbbaacd9632b1612941b363fa26a72e52", + "reference": "3e3f413fbbaacd9632b1612941b363fa26a72e52", "shasum": "" }, "require": { @@ -5235,7 +5235,7 @@ "amphp/byte-stream": "^2", "amphp/cache": "^2", "amphp/parser": "^1", - "amphp/windows-registry": "^1", + "amphp/windows-registry": "^1.0.1", "daverandom/libdns": "^2.0.2", "ext-filter": "*", "php": ">=8.1", @@ -5245,7 +5245,7 @@ "amphp/php-cs-fixer-config": "^2", "amphp/phpunit-util": "^3", "phpunit/phpunit": "^9", - "psalm/phar": "^5.4" + "psalm/phar": "5.20" }, "type": "library", "autoload": { @@ -5294,7 +5294,7 @@ ], "support": { "issues": "https://github.com/amphp/dns/issues", - "source": "https://github.com/amphp/dns/tree/v2.1.0" + "source": "https://github.com/amphp/dns/tree/v2.1.1" }, "funding": [ { @@ -5302,7 +5302,7 @@ "type": "github" } ], - "time": "2023-11-18T15:49:57+00:00" + "time": "2024-01-30T23:25:30+00:00" }, { "name": "amphp/parallel", @@ -5803,16 +5803,16 @@ }, { "name": "amphp/windows-registry", - "version": "v1.0.0", + "version": "v1.0.1", "source": { "type": "git", "url": "https://github.com/amphp/windows-registry.git", - "reference": "8248247a41af7f97b88e4716c0f8de39696ef111" + "reference": "0d569e8f256cca974e3842b6e78b4e434bf98306" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/amphp/windows-registry/zipball/8248247a41af7f97b88e4716c0f8de39696ef111", - "reference": "8248247a41af7f97b88e4716c0f8de39696ef111", + "url": "https://api.github.com/repos/amphp/windows-registry/zipball/0d569e8f256cca974e3842b6e78b4e434bf98306", + "reference": "0d569e8f256cca974e3842b6e78b4e434bf98306", "shasum": "" }, "require": { @@ -5843,7 +5843,7 @@ "description": "Windows Registry Reader.", "support": { "issues": "https://github.com/amphp/windows-registry/issues", - "source": "https://github.com/amphp/windows-registry/tree/v1.0.0" + "source": "https://github.com/amphp/windows-registry/tree/v1.0.1" }, "funding": [ { @@ -5851,7 +5851,7 @@ "type": "github" } ], - "time": "2023-01-09T22:29:20+00:00" + "time": "2024-01-30T23:01:51+00:00" }, { "name": "andersundsehr/phpstan-git-files", @@ -6233,23 +6233,23 @@ }, { "name": "enlightn/security-checker", - "version": "v1.11.0", + "version": "v2.0.0", "source": { "type": "git", "url": "https://github.com/enlightn/security-checker.git", - "reference": "68df5c7256c84b428bf8fcff0d249de06ce362d2" + "reference": "d495ab07639388c7c770c5223aa0d42fee1d2604" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/enlightn/security-checker/zipball/68df5c7256c84b428bf8fcff0d249de06ce362d2", - "reference": "68df5c7256c84b428bf8fcff0d249de06ce362d2", + "url": "https://api.github.com/repos/enlightn/security-checker/zipball/d495ab07639388c7c770c5223aa0d42fee1d2604", + "reference": "d495ab07639388c7c770c5223aa0d42fee1d2604", "shasum": "" }, "require": { "ext-json": "*", "guzzlehttp/guzzle": "^6.3|^7.0", - "php": ">=5.6", - "symfony/console": "^3.4|^4|^5|^6|^7", + "php": ">=8.2", + "symfony/console": "^7", "symfony/finder": "^3|^4|^5|^6|^7", "symfony/process": "^3.4|^4|^5|^6|^7", "symfony/yaml": "^3.4|^4|^5|^6|^7" @@ -6293,47 +6293,46 @@ ], "support": { "issues": "https://github.com/enlightn/security-checker/issues", - "source": "https://github.com/enlightn/security-checker/tree/v1.11.0" + "source": "https://github.com/enlightn/security-checker/tree/v2.0.0" }, - "time": "2023-11-17T07:53:29+00:00" + "time": "2023-12-10T07:17:09+00:00" }, { "name": "ergebnis/composer-normalize", - "version": "2.41.1", + "version": "2.42.0", "source": { "type": "git", "url": "https://github.com/ergebnis/composer-normalize.git", - "reference": "01eb2d9b8623828ec2264f54d7782a25558d27b2" + "reference": "02cf2b69ad2a74c6f11a8c3f5f054b8f949df910" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ergebnis/composer-normalize/zipball/01eb2d9b8623828ec2264f54d7782a25558d27b2", - "reference": "01eb2d9b8623828ec2264f54d7782a25558d27b2", + "url": "https://api.github.com/repos/ergebnis/composer-normalize/zipball/02cf2b69ad2a74c6f11a8c3f5f054b8f949df910", + "reference": "02cf2b69ad2a74c6f11a8c3f5f054b8f949df910", "shasum": "" }, "require": { "composer-plugin-api": "^2.0.0", - "ergebnis/json": "^1.1.0", - "ergebnis/json-normalizer": "^4.4.1", - "ergebnis/json-printer": "^3.4.0", + "ergebnis/json": "^1.2.0", + "ergebnis/json-normalizer": "^4.5.0", + "ergebnis/json-printer": "^3.5.0", "ext-json": "*", "justinrainbow/json-schema": "^5.2.12", "localheinz/diff": "^1.1.1", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" }, "require-dev": { "composer/composer": "^2.6.6", "ergebnis/license": "^2.4.0", - "ergebnis/php-cs-fixer-config": "~6.14.0", - "ergebnis/phpunit-slow-test-detector": "^2.7.0", - "fakerphp/faker": "^1.23.0", - "infection/infection": "~0.27.9", - "phpunit/phpunit": "^10.5.3", + "ergebnis/php-cs-fixer-config": "^6.20.0", + "ergebnis/phpunit-slow-test-detector": "^2.9.0", + "fakerphp/faker": "^1.23.1", + "infection/infection": "~0.26.6", + "phpunit/phpunit": "^9.6.16", "psalm/plugin-phpunit": "~0.18.4", - "rector/rector": "~0.18.12", - "roave/backward-compatibility-check": "^8.4.0", - "symfony/filesystem": "^6.4.0", - "vimeo/psalm": "^5.17.0" + "rector/rector": "~0.19.2", + "symfony/filesystem": "^5.4.25", + "vimeo/psalm": "^5.20.0" }, "type": "composer-plugin", "extra": { @@ -6373,37 +6372,37 @@ "security": "https://github.com/ergebnis/composer-normalize/blob/main/.github/SECURITY.md", "source": "https://github.com/ergebnis/composer-normalize" }, - "time": "2023-12-14T09:37:52+00:00" + "time": "2024-01-30T11:54:02+00:00" }, { "name": "ergebnis/json", - "version": "1.1.0", + "version": "1.2.0", "source": { "type": "git", "url": "https://github.com/ergebnis/json.git", - "reference": "9f2b9086c43b189d7044a5b6215a931fb6e9125d" + "reference": "a457f25a5ba7ea11fc94f84d53678c5211abfce0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ergebnis/json/zipball/9f2b9086c43b189d7044a5b6215a931fb6e9125d", - "reference": "9f2b9086c43b189d7044a5b6215a931fb6e9125d", + "url": "https://api.github.com/repos/ergebnis/json/zipball/a457f25a5ba7ea11fc94f84d53678c5211abfce0", + "reference": "a457f25a5ba7ea11fc94f84d53678c5211abfce0", "shasum": "" }, "require": { - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "ext-json": "*", + "php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" }, "require-dev": { - "ergebnis/composer-normalize": "^2.29.0", - "ergebnis/data-provider": "^3.0.0", - "ergebnis/license": "^2.2.0", - "ergebnis/php-cs-fixer-config": "^6.6.0", - "ergebnis/phpunit-slow-test-detector": "^2.3.0", - "fakerphp/faker": "^1.23.0", - "infection/infection": "~0.27.4", - "phpunit/phpunit": "^10.4.1", + "ergebnis/data-provider": "^3.2.0", + "ergebnis/license": "^2.4.0", + "ergebnis/php-cs-fixer-config": "^6.20.0", + "ergebnis/phpunit-slow-test-detector": "^2.9.0", + "fakerphp/faker": "^1.23.1", + "infection/infection": "~0.26.6", + "phpunit/phpunit": "^9.6.16", "psalm/plugin-phpunit": "~0.18.4", - "rector/rector": "~0.18.5", - "vimeo/psalm": "^5.15.0" + "rector/rector": "~0.19.2", + "vimeo/psalm": "^5.20.0" }, "type": "library", "extra": { @@ -6438,46 +6437,43 @@ "security": "https://github.com/ergebnis/json/blob/main/.github/SECURITY.md", "source": "https://github.com/ergebnis/json" }, - "time": "2023-10-10T07:57:48+00:00" + "time": "2024-01-29T15:09:24+00:00" }, { "name": "ergebnis/json-normalizer", - "version": "4.4.1", + "version": "4.5.0", "source": { "type": "git", "url": "https://github.com/ergebnis/json-normalizer.git", - "reference": "d28f36af9763ee6bc4e2a2390c0348963df7881b" + "reference": "f0ee9e70739f121b27fac8b743e4a52b23de2152" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ergebnis/json-normalizer/zipball/d28f36af9763ee6bc4e2a2390c0348963df7881b", - "reference": "d28f36af9763ee6bc4e2a2390c0348963df7881b", + "url": "https://api.github.com/repos/ergebnis/json-normalizer/zipball/f0ee9e70739f121b27fac8b743e4a52b23de2152", + "reference": "f0ee9e70739f121b27fac8b743e4a52b23de2152", "shasum": "" }, "require": { - "ergebnis/json": "^1.1.0", - "ergebnis/json-pointer": "^3.2.0", - "ergebnis/json-printer": "^3.4.0", - "ergebnis/json-schema-validator": "^4.1.0", + "ergebnis/json": "^1.2.0", + "ergebnis/json-pointer": "^3.4.0", + "ergebnis/json-printer": "^3.5.0", + "ergebnis/json-schema-validator": "^4.2.0", "ext-json": "*", "justinrainbow/json-schema": "^5.2.12", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" }, "require-dev": { "composer/semver": "^3.4.0", "ergebnis/data-provider": "^3.2.0", "ergebnis/license": "^2.4.0", - "ergebnis/php-cs-fixer-config": "~6.14.0", - "ergebnis/phpunit-slow-test-detector": "^2.7.0", - "fakerphp/faker": "^1.23.0", - "infection/infection": "~0.27.9", - "phpunit/phpunit": "^10.5.3", + "ergebnis/php-cs-fixer-config": "^6.20.0", + "ergebnis/phpunit-slow-test-detector": "^2.9.0", + "fakerphp/faker": "^1.23.1", + "infection/infection": "~0.26.6", + "phpunit/phpunit": "^9.6.16", "psalm/plugin-phpunit": "~0.18.4", - "rector/rector": "~0.18.12", - "roave/backward-compatibility-check": "^8.4.0", - "symfony/filesystem": "^6.4.0", - "symfony/finder": "^6.4.0", - "vimeo/psalm": "^5.17.0" + "rector/rector": "~0.19.4", + "vimeo/psalm": "^5.20.0" }, "suggest": { "composer/semver": "If you want to use ComposerJsonNormalizer or VersionConstraintNormalizer" @@ -6510,37 +6506,36 @@ "security": "https://github.com/ergebnis/json-normalizer/blob/main/.github/SECURITY.md", "source": "https://github.com/ergebnis/json-normalizer" }, - "time": "2023-12-14T09:30:24+00:00" + "time": "2024-01-30T09:10:15+00:00" }, { "name": "ergebnis/json-pointer", - "version": "3.3.0", + "version": "3.4.0", "source": { "type": "git", "url": "https://github.com/ergebnis/json-pointer.git", - "reference": "8e517faefc06b7c761eaa041febef51a9375819a" + "reference": "b654757d873050622c2166f55ab25d04685261c5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ergebnis/json-pointer/zipball/8e517faefc06b7c761eaa041febef51a9375819a", - "reference": "8e517faefc06b7c761eaa041febef51a9375819a", + "url": "https://api.github.com/repos/ergebnis/json-pointer/zipball/b654757d873050622c2166f55ab25d04685261c5", + "reference": "b654757d873050622c2166f55ab25d04685261c5", "shasum": "" }, "require": { - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" }, "require-dev": { - "ergebnis/composer-normalize": "^2.29.0", - "ergebnis/data-provider": "^3.0.0", - "ergebnis/license": "^2.2.0", - "ergebnis/php-cs-fixer-config": "~6.7.0", - "ergebnis/phpunit-slow-test-detector": "^2.3.0", - "fakerphp/faker": "^1.23.0", - "infection/infection": "~0.27.4", - "phpunit/phpunit": "^10.4.1", + "ergebnis/data-provider": "^3.2.0", + "ergebnis/license": "^2.4.0", + "ergebnis/php-cs-fixer-config": "^6.20.0", + "ergebnis/phpunit-slow-test-detector": "^2.9.0", + "fakerphp/faker": "^1.23.1", + "infection/infection": "~0.26.6", + "phpunit/phpunit": "^9.6.16", "psalm/plugin-phpunit": "~0.18.4", - "rector/rector": "~0.18.5", - "vimeo/psalm": "^5.15.0" + "rector/rector": "~0.19.2", + "vimeo/psalm": "^5.20.0" }, "type": "library", "extra": { @@ -6565,7 +6560,7 @@ "homepage": "https://localheinz.com" } ], - "description": "Provides JSON pointer as a value object.", + "description": "Provides an abstraction of a JSON pointer.", "homepage": "https://github.com/ergebnis/json-pointer", "keywords": [ "RFC6901", @@ -6577,37 +6572,38 @@ "security": "https://github.com/ergebnis/json-pointer/blob/main/.github/SECURITY.md", "source": "https://github.com/ergebnis/json-pointer" }, - "time": "2023-10-10T14:41:06+00:00" + "time": "2024-01-29T16:37:15+00:00" }, { "name": "ergebnis/json-printer", - "version": "3.4.0", + "version": "3.5.0", "source": { "type": "git", "url": "https://github.com/ergebnis/json-printer.git", - "reference": "05841593d72499de4f7ce4034a237c77e470558f" + "reference": "549e16fe6de34b8c3aee7b421be12caa552f3ced" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ergebnis/json-printer/zipball/05841593d72499de4f7ce4034a237c77e470558f", - "reference": "05841593d72499de4f7ce4034a237c77e470558f", + "url": "https://api.github.com/repos/ergebnis/json-printer/zipball/549e16fe6de34b8c3aee7b421be12caa552f3ced", + "reference": "549e16fe6de34b8c3aee7b421be12caa552f3ced", "shasum": "" }, "require": { "ext-json": "*", "ext-mbstring": "*", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" }, "require-dev": { - "ergebnis/license": "^2.2.0", - "ergebnis/php-cs-fixer-config": "^6.6.0", - "ergebnis/phpunit-slow-test-detector": "^2.3.0", - "fakerphp/faker": "^1.23.0", - "infection/infection": "~0.27.3", - "phpunit/phpunit": "^10.4.1", + "ergebnis/data-provider": "^3.2.0", + "ergebnis/license": "^2.4.0", + "ergebnis/php-cs-fixer-config": "^6.20.0", + "ergebnis/phpunit-slow-test-detector": "^2.9.0", + "fakerphp/faker": "^1.23.1", + "infection/infection": "~0.26.6", + "phpunit/phpunit": "^9.6.16", "psalm/plugin-phpunit": "~0.18.4", - "rector/rector": "~0.18.5", - "vimeo/psalm": "^5.15.0" + "rector/rector": "~0.19.2", + "vimeo/psalm": "^5.20.0" }, "type": "library", "autoload": { @@ -6638,41 +6634,40 @@ "security": "https://github.com/ergebnis/json-printer/blob/main/.github/SECURITY.md", "source": "https://github.com/ergebnis/json-printer" }, - "time": "2023-10-10T07:42:48+00:00" + "time": "2024-01-29T15:33:37+00:00" }, { "name": "ergebnis/json-schema-validator", - "version": "4.1.0", + "version": "4.2.0", "source": { "type": "git", "url": "https://github.com/ergebnis/json-schema-validator.git", - "reference": "d568ed85d1cdc2e49d650c2fc234dc2516f3f25b" + "reference": "10ed514fdc3f9b71f8a92c567afea21a2f6fa1ef" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ergebnis/json-schema-validator/zipball/d568ed85d1cdc2e49d650c2fc234dc2516f3f25b", - "reference": "d568ed85d1cdc2e49d650c2fc234dc2516f3f25b", + "url": "https://api.github.com/repos/ergebnis/json-schema-validator/zipball/10ed514fdc3f9b71f8a92c567afea21a2f6fa1ef", + "reference": "10ed514fdc3f9b71f8a92c567afea21a2f6fa1ef", "shasum": "" }, "require": { - "ergebnis/json": "^1.0.1", - "ergebnis/json-pointer": "^3.2.0", + "ergebnis/json": "^1.2.0", + "ergebnis/json-pointer": "^3.4.0", "ext-json": "*", "justinrainbow/json-schema": "^5.2.12", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + "php": "~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" }, "require-dev": { - "ergebnis/composer-normalize": "^2.21.0", - "ergebnis/data-provider": "^3.0.0", - "ergebnis/license": "^2.2.0", - "ergebnis/php-cs-fixer-config": "~6.6.0", - "ergebnis/phpunit-slow-test-detector": "^2.3.0", - "fakerphp/faker": "^1.23.0", - "infection/infection": "~0.27.4", - "phpunit/phpunit": "^10.4.1", + "ergebnis/data-provider": "^3.2.0", + "ergebnis/license": "^2.4.0", + "ergebnis/php-cs-fixer-config": "^6.20.0", + "ergebnis/phpunit-slow-test-detector": "^2.9.0", + "fakerphp/faker": "^1.23.1", + "infection/infection": "~0.26.6", + "phpunit/phpunit": "^9.6.16", "psalm/plugin-phpunit": "~0.18.4", - "rector/rector": "~0.18.5", - "vimeo/psalm": "^5.15.0" + "rector/rector": "~0.19.2", + "vimeo/psalm": "^5.20.0" }, "type": "library", "extra": { @@ -6709,7 +6704,7 @@ "security": "https://github.com/ergebnis/json-schema-validator/blob/main/.github/SECURITY.md", "source": "https://github.com/ergebnis/json-schema-validator" }, - "time": "2023-10-10T14:16:57+00:00" + "time": "2024-01-29T16:50:15+00:00" }, { "name": "gitonomy/gitlib", @@ -8198,23 +8193,23 @@ }, { "name": "pluswerk/grumphp-config", - "version": "6.9.0", + "version": "6.9.1", "source": { "type": "git", "url": "https://github.com/pluswerk/grumphp-config.git", - "reference": "b68c5f6dee837a8392aa1e681ca91dbcaf97d2b9" + "reference": "dc266442c363859a5012b8d1f4c082c8442def6b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/pluswerk/grumphp-config/zipball/b68c5f6dee837a8392aa1e681ca91dbcaf97d2b9", - "reference": "b68c5f6dee837a8392aa1e681ca91dbcaf97d2b9", + "url": "https://api.github.com/repos/pluswerk/grumphp-config/zipball/dc266442c363859a5012b8d1f4c082c8442def6b", + "reference": "dc266442c363859a5012b8d1f4c082c8442def6b", "shasum": "" }, "require": { "andersundsehr/phpstan-git-files": "^1.0.1", "composer-plugin-api": "^2.1.0", "composer/semver": "^3.3.0", - "enlightn/security-checker": "^1.10.0", + "enlightn/security-checker": "^1.10.0 || ^2", "ergebnis/composer-normalize": "^2.31", "kcs/psr-phpstan-rules": "^1.1", "php": "~8.1.0 || ~8.2.0 || ~8.3.0", @@ -8229,7 +8224,7 @@ "symfony/yaml": "^5.4.0 || ^6.0" }, "require-dev": { - "composer/composer": "^2.5.5", + "composer/composer": "^2.6.6", "pluswerk/grumphp-bom-task": "dev-main as 8.99.99", "pluswerk/grumphp-xliff-task": "dev-main as 6.99.99", "roave/security-advisories": "dev-latest" @@ -8260,9 +8255,9 @@ ], "support": { "issues": "https://github.com/pluswerk/grumphp-config/issues", - "source": "https://github.com/pluswerk/grumphp-config/tree/6.9.0" + "source": "https://github.com/pluswerk/grumphp-config/tree/6.9.1" }, - "time": "2023-11-03T14:29:59+00:00" + "time": "2024-02-02T09:43:11+00:00" }, { "name": "pluswerk/grumphp-xliff-task", @@ -8450,16 +8445,16 @@ }, { "name": "saschaegerer/phpstan-typo3", - "version": "1.9.1", + "version": "1.10.0", "source": { "type": "git", "url": "https://github.com/sascha-egerer/phpstan-typo3.git", - "reference": "b3f4ca1666d498758988acc5f74fd233b9acdb33" + "reference": "0cecc8fc6c4de39e42cc92a0676a66a5ae867312" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sascha-egerer/phpstan-typo3/zipball/b3f4ca1666d498758988acc5f74fd233b9acdb33", - "reference": "b3f4ca1666d498758988acc5f74fd233b9acdb33", + "url": "https://api.github.com/repos/sascha-egerer/phpstan-typo3/zipball/0cecc8fc6c4de39e42cc92a0676a66a5ae867312", + "reference": "0cecc8fc6c4de39e42cc92a0676a66a5ae867312", "shasum": "" }, "require": { @@ -8467,9 +8462,9 @@ "composer/semver": "^3.3", "nikic/php-parser": "^4.15.1", "php": "^7.4 || ^8.0", - "phpstan/phpstan": "^1.8.9", - "typo3/cms-core": "^10.4 || ^11.5 || ^12.4", - "typo3/cms-extbase": "^10.4 || ^11.5 || ^12.4" + "phpstan/phpstan": "^1.10.9", + "typo3/cms-core": "^10.4 || ^11.5 || ^12.4 || ^13.0", + "typo3/cms-extbase": "^10.4 || ^11.5 || ^12.4 || ^13.0" }, "require-dev": { "consistence-community/coding-standard": "^3.11.1", @@ -8477,9 +8472,9 @@ "phing/phing": "^2.17.4", "php-parallel-lint/php-parallel-lint": "^1.3.2", "phpstan/phpstan-strict-rules": "^1.5.1", - "phpunit/phpunit": "^8.5.33", + "phpunit/phpunit": "^9.6.16", "slevomat/coding-standard": "^7.2.1", - "symfony/polyfill-php80": "^1.27.0" + "symfony/polyfill-php80": "^1.28.0" }, "type": "phpstan-extension", "extra": { @@ -8504,7 +8499,7 @@ ], "support": { "issues": "https://github.com/sascha-egerer/phpstan-typo3/issues", - "source": "https://github.com/sascha-egerer/phpstan-typo3/tree/1.9.1" + "source": "https://github.com/sascha-egerer/phpstan-typo3/tree/1.10.0" }, "funding": [ { @@ -8516,7 +8511,7 @@ "type": "liberapay" } ], - "time": "2023-11-27T06:54:30+00:00" + "time": "2024-01-30T12:31:53+00:00" }, { "name": "seld/jsonlint", @@ -8664,58 +8659,59 @@ }, { "name": "ssch/typo3-rector", - "version": "v1.7.0", + "version": "v1.7.2", "source": { "type": "git", "url": "https://github.com/sabbelasichon/typo3-rector.git", - "reference": "4b63e4867b9c32b1b26ec4ab4c445d800e3caec8" + "reference": "ea6323b0c104a25ec42d76849bd7b97a8c7540c0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sabbelasichon/typo3-rector/zipball/4b63e4867b9c32b1b26ec4ab4c445d800e3caec8", - "reference": "4b63e4867b9c32b1b26ec4ab4c445d800e3caec8", + "url": "https://api.github.com/repos/sabbelasichon/typo3-rector/zipball/ea6323b0c104a25ec42d76849bd7b97a8c7540c0", + "reference": "ea6323b0c104a25ec42d76849bd7b97a8c7540c0", "shasum": "" }, "require": { "ext-dom": "*", "ext-libxml": "*", "ext-simplexml": "*", - "helmich/typo3-typoscript-parser": "^2.4.1", - "nette/utils": "^3.0 || ^4.0", - "nikic/php-parser": "^4.17", + "helmich/typo3-typoscript-parser": "^2.5.0", + "nette/utils": "^3.2.10 || ^4.0.4", + "nikic/php-parser": "^4.18.0", "php": "^7.4 || ^8.0", - "phpstan/phpstan": "^1.9.7", + "phpstan/phpstan": "^1.10.27", "rector/rector": "0.17.0", "symfony/console": "^5.4 || ^6.4 || ^7.0", "symfony/filesystem": "^5.4 || ^6.4 || ^7.0", "symfony/finder": "^5.4 || ^6.4 || ^7.0", - "symfony/polyfill-php80": "^1.26", - "symfony/polyfill-php81": "^1.26", + "symfony/polyfill-php80": "^1.28.0", + "symfony/polyfill-php81": "^1.28.0", "symfony/string": "^5.4 || ^6.4 || ^7.0", "symfony/yaml": "^5.4 || ^6.4 || ^7.0", - "webmozart/assert": "^1.0" + "webmozart/assert": "^1.11.0" }, "conflict": { "phpstan/phpstan": ">= 1.10.28" }, "require-dev": { - "php-parallel-lint/php-parallel-lint": "^1.3", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^9.5", - "symfony/dependency-injection": "^5.4 || ^6.4 || ^7.0", - "symfony/http-kernel": "^5.4 || ^6.4 || ^7.0", - "symplify/easy-coding-standard": "^12.0" + "ergebnis/composer-normalize": "^2.28", + "php-parallel-lint/php-parallel-lint": "^1.3.2", + "phpstan/extension-installer": "^1.3.1", + "phpstan/phpstan-phpunit": "^1.3.15", + "phpunit/phpunit": "^9.6.16", + "symfony/dependency-injection": "^5.4.34 || ^6.4.2 || ^7.0.2", + "symfony/http-kernel": "^5.4.34 || ^6.4.2 || ^7.0.2", + "symplify/easy-coding-standard": "^12.1.8" }, "type": "rector-extension", "extra": { + "branch-alias": { + "dev-main": "1.0-dev" + }, "rector": { "includes": [ "config/config.php" ] - }, - "branch-alias": { - "dev-main": "1.0-dev" } }, "autoload": { @@ -8735,6 +8731,9 @@ }, { "name": "Henrik Elsner" + }, + { + "name": "Simon Schaufelberger" } ], "description": "Instant fixes for your TYPO3 code by using Rector.", @@ -8758,20 +8757,20 @@ "type": "github" } ], - "time": "2024-01-22T13:30:23+00:00" + "time": "2024-02-01T06:58:40+00:00" }, { "name": "symfony/dotenv", - "version": "v7.0.2", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/dotenv.git", - "reference": "1e3e123fd1887fb2097ad38205a9a866a52d4dcc" + "reference": "4c69bf8ff41bd959050033eccb28ebe4b5c9b012" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/1e3e123fd1887fb2097ad38205a9a866a52d4dcc", - "reference": "1e3e123fd1887fb2097ad38205a9a866a52d4dcc", + "url": "https://api.github.com/repos/symfony/dotenv/zipball/4c69bf8ff41bd959050033eccb28ebe4b5c9b012", + "reference": "4c69bf8ff41bd959050033eccb28ebe4b5c9b012", "shasum": "" }, "require": { @@ -8816,7 +8815,7 @@ "environment" ], "support": { - "source": "https://github.com/symfony/dotenv/tree/v7.0.2" + "source": "https://github.com/symfony/dotenv/tree/v7.0.3" }, "funding": [ { @@ -8832,7 +8831,7 @@ "type": "tidelift" } ], - "time": "2023-12-28T19:18:20+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "symfony/polyfill-php81", @@ -8915,16 +8914,16 @@ }, { "name": "symfony/process", - "version": "v7.0.2", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/process.git", - "reference": "acd3eb5cb02382c1cb0287ba29b2908cc6ffa83a" + "reference": "937a195147e0c27b2759ade834169ed006d0bc74" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/acd3eb5cb02382c1cb0287ba29b2908cc6ffa83a", - "reference": "acd3eb5cb02382c1cb0287ba29b2908cc6ffa83a", + "url": "https://api.github.com/repos/symfony/process/zipball/937a195147e0c27b2759ade834169ed006d0bc74", + "reference": "937a195147e0c27b2759ade834169ed006d0bc74", "shasum": "" }, "require": { @@ -8956,7 +8955,7 @@ "description": "Executes commands in sub-processes", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/process/tree/v7.0.2" + "source": "https://github.com/symfony/process/tree/v7.0.3" }, "funding": [ { @@ -8972,20 +8971,20 @@ "type": "tidelift" } ], - "time": "2023-12-24T09:15:37+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "symfony/property-access", - "version": "v7.0.0", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/property-access.git", - "reference": "740e8cb8c54a4f16c82179e8558c29d9fc49901d" + "reference": "5c7814d1a84bc11254c5bc761d9878b04e708dec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/740e8cb8c54a4f16c82179e8558c29d9fc49901d", - "reference": "740e8cb8c54a4f16c82179e8558c29d9fc49901d", + "url": "https://api.github.com/repos/symfony/property-access/zipball/5c7814d1a84bc11254c5bc761d9878b04e708dec", + "reference": "5c7814d1a84bc11254c5bc761d9878b04e708dec", "shasum": "" }, "require": { @@ -9032,7 +9031,7 @@ "reflection" ], "support": { - "source": "https://github.com/symfony/property-access/tree/v7.0.0" + "source": "https://github.com/symfony/property-access/tree/v7.0.3" }, "funding": [ { @@ -9048,20 +9047,20 @@ "type": "tidelift" } ], - "time": "2023-09-27T14:05:33+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "symfony/property-info", - "version": "v7.0.0", + "version": "v7.0.3", "source": { "type": "git", "url": "https://github.com/symfony/property-info.git", - "reference": "ce627df05f5629ce4feec536ee827ad0a12689b6" + "reference": "e160f92ea827243abf2dbf36b8460b1377194406" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/ce627df05f5629ce4feec536ee827ad0a12689b6", - "reference": "ce627df05f5629ce4feec536ee827ad0a12689b6", + "url": "https://api.github.com/repos/symfony/property-info/zipball/e160f92ea827243abf2dbf36b8460b1377194406", + "reference": "e160f92ea827243abf2dbf36b8460b1377194406", "shasum": "" }, "require": { @@ -9115,7 +9114,7 @@ "validator" ], "support": { - "source": "https://github.com/symfony/property-info/tree/v7.0.0" + "source": "https://github.com/symfony/property-info/tree/v7.0.3" }, "funding": [ { @@ -9131,7 +9130,7 @@ "type": "tidelift" } ], - "time": "2023-11-25T08:38:27+00:00" + "time": "2024-01-23T15:02:46+00:00" }, { "name": "typo3/cms-extbase",