From 485580c963b9b9552135334cdb8c778e1db7e3cd Mon Sep 17 00:00:00 2001 From: Yi-Jyun Pan Date: Sat, 19 Oct 2024 14:09:35 +0800 Subject: [PATCH 1/4] feat(command): Allow bulk adding users --- src/Command/CreateUsersCommand.php | 183 +++++++++++++++++++++++++++++ 1 file changed, 183 insertions(+) create mode 100644 src/Command/CreateUsersCommand.php diff --git a/src/Command/CreateUsersCommand.php b/src/Command/CreateUsersCommand.php new file mode 100644 index 0000000..2a708c7 --- /dev/null +++ b/src/Command/CreateUsersCommand.php @@ -0,0 +1,183 @@ +addArgument('filename', InputArgument::REQUIRED, 'The filename of this account.'); + $this->addOption('dry-run', null, InputOption::VALUE_NONE, 'Whether to perform a dry run.'); + } + + /** + * @throws RandomException + */ + protected function execute(InputInterface $input, OutputInterface $output): int + { + $io = new SymfonyStyle($input, $output); + + /** + * @var string $filename + */ + $filename = $input->getArgument('filename'); + /** + * @var bool $dryRun + */ + $dryRun = $input->getOption('dry-run'); + + $file = fopen($filename, 'r'); + if (false === $file) { + $io->error("Could not open file $filename for reading."); + + return Command::FAILURE; + } + + $io->title("Creating users from $filename"); + + /** + * @var array{email: string, name: string, roles: list}[] $users + */ + $users = $io->progressIterate(self::parseUsers($filename)); + + /** + * @var array{email: string, password: string}[] $userPasswordPair + */ + $userPasswordPair = []; + + $this->entityManager->beginTransaction(); + + foreach ($users as $user) { + $password = self::generateRandomPassword(); + + $user = (new User())->setName($user['name'])->setEmail($user['email'])->setRoles($user['roles']); + $hashedPassword = $this->passwordHasher->hashPassword($user, $password); + $user->setPassword($hashedPassword); + + $this->entityManager->persist($user); + + $userPasswordPair[] = [ + 'email' => $user->getEmail(), + 'password' => $password, + ]; + } + + self::writePasswordList(str_replace('.csv', '-password.csv', $filename), $userPasswordPair); + + if ($dryRun) { + $this->entityManager->rollback(); + $io->warning('Dry run completed. No changes were made.'); + } else { + $this->entityManager->commit(); + $this->entityManager->flush(); + $io->success("Created users from $filename"); + } + + return Command::SUCCESS; + } + + /** + * @return array{email: string, name: string, roles: list}[] + */ + private static function parseUsers(string $filename): array + { + $file = fopen($filename, 'r'); + if (false === $file) { + throw new \RuntimeException("Could not open file $filename for reading."); + } + + $header = fgetcsv($file); + if (false === $header) { + throw new \RuntimeException("Could not read header from $filename."); + } + + $emailIndex = array_search('email', $header, true); + $nameIndex = array_search('name', $header, true); + $rolesIndex = array_search('roles', $header, true); + + if (!\is_int($emailIndex) || !\is_int($nameIndex) || !\is_int($rolesIndex)) { + throw new \RuntimeException("Could not find email, name, or roles in the header of $filename."); + } + + $users = []; + while (($row = fgetcsv($file)) !== false) { + $email = $row[$emailIndex]; + $name = $row[$nameIndex]; + $roles = $row[$rolesIndex]; + + if (!\is_string($email) || !\is_string($name) || !\is_string($roles)) { + throw new \RuntimeException("Invalid row in $filename."); + } + + $users[] = [ + 'email' => $email, + 'name' => $name, + 'roles' => explode(',', $roles), + ]; + } + + fclose($file); + + return $users; + } + + /** + * @param array> $userPasswordPair + */ + private static function writePasswordList(string $filename, array $userPasswordPair): void + { + $file = fopen($filename, 'w'); + if (false === $file) { + throw new \RuntimeException("Could not open file $filename for writing."); + } + + fputcsv($file, array_keys($userPasswordPair[0])); + + foreach ($userPasswordPair as $pair) { + fputcsv($file, array_values($pair)); + } + + fclose($file); + } + + /** + * @throws RandomException + */ + private function generateRandomPassword(): string + { + $keyspace = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'; + + $pieces = []; + $max = mb_strlen($keyspace, '8bit') - 1; + for ($i = 0; $i < 16; ++$i) { + $pieces[] = $keyspace[random_int(0, $max)]; + } + + return implode('', $pieces); + } +} From ae28201791b266e253ca9b193d251bbba7c9c9f6 Mon Sep 17 00:00:00 2001 From: Yi-Jyun Pan Date: Sat, 19 Oct 2024 14:26:29 +0800 Subject: [PATCH 2/4] feat(command): Allow specifying group --- src/Command/CreateUsersCommand.php | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/src/Command/CreateUsersCommand.php b/src/Command/CreateUsersCommand.php index 2a708c7..a20489f 100644 --- a/src/Command/CreateUsersCommand.php +++ b/src/Command/CreateUsersCommand.php @@ -4,6 +4,7 @@ namespace App\Command; +use App\Entity\Group; use App\Entity\User; use Doctrine\ORM\EntityManagerInterface; use Random\RandomException; @@ -61,7 +62,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int $io->title("Creating users from $filename"); /** - * @var array{email: string, name: string, roles: list}[] $users + * @var array{email: string, name: string, roles: list, group: string|null}[] $users */ $users = $io->progressIterate(self::parseUsers($filename)); @@ -75,7 +76,25 @@ protected function execute(InputInterface $input, OutputInterface $output): int foreach ($users as $user) { $password = self::generateRandomPassword(); - $user = (new User())->setName($user['name'])->setEmail($user['email'])->setRoles($user['roles']); + /** + * @var Group|null $group + */ + $group = null; + + if (null !== $user['group']) { + $group = $this->entityManager->getRepository(Group::class)->findOneBy(['name' => $user['group']]); + if (null === $group) { + $io->warning("Group {$user['group']} not found for user {$user['email']}. Skipping."); + continue; + } + } + + $user = (new User()) + ->setName($user['name']) + ->setEmail($user['email']) + ->setRoles($user['roles']) + ->setGroup($group); + $hashedPassword = $this->passwordHasher->hashPassword($user, $password); $user->setPassword($hashedPassword); @@ -102,7 +121,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int } /** - * @return array{email: string, name: string, roles: list}[] + * @return array{email: string, name: string, roles: list, group: string|null}[] */ private static function parseUsers(string $filename): array { @@ -119,6 +138,7 @@ private static function parseUsers(string $filename): array $emailIndex = array_search('email', $header, true); $nameIndex = array_search('name', $header, true); $rolesIndex = array_search('roles', $header, true); + $groupIndex = array_search('group', $header, true); if (!\is_int($emailIndex) || !\is_int($nameIndex) || !\is_int($rolesIndex)) { throw new \RuntimeException("Could not find email, name, or roles in the header of $filename."); @@ -129,8 +149,9 @@ private static function parseUsers(string $filename): array $email = $row[$emailIndex]; $name = $row[$nameIndex]; $roles = $row[$rolesIndex]; + $group = false !== $groupIndex ? $row[$groupIndex] : null; - if (!\is_string($email) || !\is_string($name) || !\is_string($roles)) { + if (!\is_string($email) || !\is_string($name) || !\is_string($roles) || (!\is_string($group) && null !== $group)) { throw new \RuntimeException("Invalid row in $filename."); } @@ -138,6 +159,7 @@ private static function parseUsers(string $filename): array 'email' => $email, 'name' => $name, 'roles' => explode(',', $roles), + 'group' => $group, ]; } From 0d8b1b0c0a1b0b8b599f01487e124ac1ca5fae98 Mon Sep 17 00:00:00 2001 From: Yi-Jyun Pan Date: Sun, 20 Oct 2024 02:17:23 +0800 Subject: [PATCH 3/4] fix(overview): Pass user to daily chart --- src/Controller/OverviewCardsController.php | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/Controller/OverviewCardsController.php b/src/Controller/OverviewCardsController.php index 7b11896..cb26ff5 100644 --- a/src/Controller/OverviewCardsController.php +++ b/src/Controller/OverviewCardsController.php @@ -140,6 +140,7 @@ public function eventHistory( */ #[Route('/events/daily-chart', name: 'events_daily_chart')] public function eventDailyChart( + #[CurrentUser] User $user, SolutionEventRepository $solutionEventRepository, ChartBuilderInterface $chartBuilder, TranslatorInterface $translator, @@ -147,11 +148,14 @@ public function eventDailyChart( $startedAt = new \DateTimeImmutable('-7 days'); $eventsQuery = $solutionEventRepository->createQueryBuilder('e') + ->join('e.submitter', 'u') ->select('DATE(e.createdAt) as date, COUNT(e.id) as count') ->where('e.createdAt >= :date') + ->andWhere('u = :user') ->orderBy('date', 'ASC') ->groupBy('date') ->setParameter('date', $startedAt) + ->setParameter('user', $user) ->getQuery(); /** From e4f8887d5b936eb689c929971592dcbe87656ef9 Mon Sep 17 00:00:00 2001 From: Yi-Jyun Pan Date: Fri, 18 Oct 2024 22:56:44 +0800 Subject: [PATCH 4/4] chore: Upgrade dependencies --- composer.lock | 356 ++++++++++++++++++++++++------------------------- devenv.lock | 16 +-- importmap.php | 4 +- package.json | 6 +- pnpm-lock.yaml | 198 +++++++++++++-------------- 5 files changed, 289 insertions(+), 291 deletions(-) diff --git a/composer.lock b/composer.lock index 5e744e4..ba3384b 100644 --- a/composer.lock +++ b/composer.lock @@ -512,12 +512,12 @@ "source": { "type": "git", "url": "https://github.com/doctrine/DoctrineBundle.git", - "reference": "ca59d84b8e63143ce1aed90cdb333ba329d71563" + "reference": "50064cb1ca859f85db98bb36e830e66e17d2cacb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/ca59d84b8e63143ce1aed90cdb333ba329d71563", - "reference": "ca59d84b8e63143ce1aed90cdb333ba329d71563", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/50064cb1ca859f85db98bb36e830e66e17d2cacb", + "reference": "50064cb1ca859f85db98bb36e830e66e17d2cacb", "shasum": "" }, "require": { @@ -618,7 +618,7 @@ "Persistence" ], "support": { - "source": "https://github.com/doctrine/DoctrineBundle/tree/2.13.0", + "source": "https://github.com/doctrine/DoctrineBundle/tree/2.14.x", "issues": "https://github.com/doctrine/DoctrineBundle/issues" }, "funding": [ @@ -635,7 +635,7 @@ "url": "https://www.doctrine-project.org/sponsorship.html" } ], - "time": "2024-09-01T09:46:40+00:00" + "time": "2024-10-16T20:23:33+00:00" }, { "name": "doctrine/doctrine-migrations-bundle", @@ -732,12 +732,12 @@ "source": { "type": "git", "url": "https://github.com/doctrine/event-manager.git", - "reference": "f35527393dbe43da02938b4528011e45bb7bbb15" + "reference": "735992af130e11e5ae99298ff453df2de9228e97" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/f35527393dbe43da02938b4528011e45bb7bbb15", - "reference": "f35527393dbe43da02938b4528011e45bb7bbb15", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/735992af130e11e5ae99298ff453df2de9228e97", + "reference": "735992af130e11e5ae99298ff453df2de9228e97", "shasum": "" }, "require": { @@ -817,7 +817,7 @@ "type": "tidelift" } ], - "time": "2024-10-07T15:53:29+00:00" + "time": "2024-10-16T22:04:34+00:00" }, { "name": "doctrine/inflector", @@ -916,12 +916,12 @@ "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "acc12399c90611e3cb478d0ec72f2c2ebbc429d1" + "reference": "be6a7e86c74841eac964ae16853e4036a6a319d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/acc12399c90611e3cb478d0ec72f2c2ebbc429d1", - "reference": "acc12399c90611e3cb478d0ec72f2c2ebbc429d1", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/be6a7e86c74841eac964ae16853e4036a6a319d0", + "reference": "be6a7e86c74841eac964ae16853e4036a6a319d0", "shasum": "" }, "require": { @@ -979,7 +979,7 @@ "type": "tidelift" } ], - "time": "2024-09-30T20:32:32+00:00" + "time": "2024-10-16T22:06:28+00:00" }, { "name": "doctrine/lexer", @@ -1167,12 +1167,12 @@ "source": { "type": "git", "url": "https://github.com/doctrine/orm.git", - "reference": "fac0899ef7cf5ea43faaa8501da9bae63eae54c4" + "reference": "74155c86726aff5a8db8a690bcb80a6c534072e8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/orm/zipball/fac0899ef7cf5ea43faaa8501da9bae63eae54c4", - "reference": "fac0899ef7cf5ea43faaa8501da9bae63eae54c4", + "url": "https://api.github.com/repos/doctrine/orm/zipball/74155c86726aff5a8db8a690bcb80a6c534072e8", + "reference": "74155c86726aff5a8db8a690bcb80a6c534072e8", "shasum": "" }, "require": { @@ -1248,9 +1248,9 @@ ], "support": { "issues": "https://github.com/doctrine/orm/issues", - "source": "https://github.com/doctrine/orm/tree/3.3.x" + "source": "https://github.com/doctrine/orm/tree/3.4.x" }, - "time": "2024-10-14T07:52:23+00:00" + "time": "2024-10-16T21:44:13+00:00" }, { "name": "doctrine/persistence", @@ -1258,12 +1258,12 @@ "source": { "type": "git", "url": "https://github.com/doctrine/persistence.git", - "reference": "d0ae4b4517dfc1103e9aaa5993bd05165cb72f57" + "reference": "eadad5a443eb736860bc1ac68449084f37e1f39d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/persistence/zipball/d0ae4b4517dfc1103e9aaa5993bd05165cb72f57", - "reference": "d0ae4b4517dfc1103e9aaa5993bd05165cb72f57", + "url": "https://api.github.com/repos/doctrine/persistence/zipball/eadad5a443eb736860bc1ac68449084f37e1f39d", + "reference": "eadad5a443eb736860bc1ac68449084f37e1f39d", "shasum": "" }, "require": { @@ -1347,7 +1347,7 @@ "type": "tidelift" } ], - "time": "2024-06-23T18:29:58+00:00" + "time": "2024-10-19T11:50:05+00:00" }, { "name": "doctrine/sql-formatter", @@ -1412,12 +1412,12 @@ "source": { "type": "git", "url": "https://github.com/EasyCorp/EasyAdminBundle.git", - "reference": "3107225d12691f53cb008987e2bf8baf6fe33f5b" + "reference": "0df11873031cae66a4dbb364676805ccc58135fa" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/EasyCorp/EasyAdminBundle/zipball/3107225d12691f53cb008987e2bf8baf6fe33f5b", - "reference": "3107225d12691f53cb008987e2bf8baf6fe33f5b", + "url": "https://api.github.com/repos/EasyCorp/EasyAdminBundle/zipball/0df11873031cae66a4dbb364676805ccc58135fa", + "reference": "0df11873031cae66a4dbb364676805ccc58135fa", "shasum": "" }, "require": { @@ -1500,7 +1500,7 @@ "type": "github" } ], - "time": "2024-10-14T17:33:08+00:00" + "time": "2024-10-19T14:47:26+00:00" }, { "name": "egulias/email-validator", @@ -1508,12 +1508,12 @@ "source": { "type": "git", "url": "https://github.com/egulias/EmailValidator.git", - "reference": "c118cc7666bfc13dc88b6e5f3ff53b1d3d680e2b" + "reference": "87db43e4ffecdf458016e8c1b6d4801e872654bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/c118cc7666bfc13dc88b6e5f3ff53b1d3d680e2b", - "reference": "c118cc7666bfc13dc88b6e5f3ff53b1d3d680e2b", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/87db43e4ffecdf458016e8c1b6d4801e872654bc", + "reference": "87db43e4ffecdf458016e8c1b6d4801e872654bc", "shasum": "" }, "require": { @@ -1568,7 +1568,7 @@ "type": "github" } ], - "time": "2024-10-08T17:20:25+00:00" + "time": "2024-10-16T21:10:38+00:00" }, { "name": "jblond/php-diff", @@ -1904,12 +1904,12 @@ "source": { "type": "git", "url": "https://github.com/meilisearch/meilisearch-symfony.git", - "reference": "0e2d7d86b061d4709f3245e5bb84dfd1e08b27c4" + "reference": "a4797cfe9420798cdd02d012e2abc78133d50b3c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/meilisearch/meilisearch-symfony/zipball/0e2d7d86b061d4709f3245e5bb84dfd1e08b27c4", - "reference": "0e2d7d86b061d4709f3245e5bb84dfd1e08b27c4", + "url": "https://api.github.com/repos/meilisearch/meilisearch-symfony/zipball/a4797cfe9420798cdd02d012e2abc78133d50b3c", + "reference": "a4797cfe9420798cdd02d012e2abc78133d50b3c", "shasum": "" }, "require": { @@ -1928,6 +1928,7 @@ "require-dev": { "doctrine/annotations": "^2.0.0", "doctrine/orm": "^2.12 || ^3.0", + "matthiasnoback/symfony-config-test": "^4.3 || ^5.2", "matthiasnoback/symfony-dependency-injection-test": "^4.3 || ^5.0", "nyholm/psr7": "^1.8.1", "php-cs-fixer/shim": "^3.58.1", @@ -1975,7 +1976,7 @@ "issues": "https://github.com/meilisearch/meilisearch-symfony/issues", "source": "https://github.com/meilisearch/meilisearch-symfony/tree/main" }, - "time": "2024-10-04T20:00:35+00:00" + "time": "2024-10-17T07:57:32+00:00" }, { "name": "monolog/monolog", @@ -2313,17 +2314,17 @@ "source": { "type": "git", "url": "https://github.com/openai-php/client.git", - "reference": "288325a11194284bdfc7cf3e1e716b1aa7ddb40b" + "reference": "36f924017e739f715adfaa61aa3d75d7a9af4efd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/openai-php/client/zipball/288325a11194284bdfc7cf3e1e716b1aa7ddb40b", - "reference": "288325a11194284bdfc7cf3e1e716b1aa7ddb40b", + "url": "https://api.github.com/repos/openai-php/client/zipball/36f924017e739f715adfaa61aa3d75d7a9af4efd", + "reference": "36f924017e739f715adfaa61aa3d75d7a9af4efd", "shasum": "" }, "require": { "php": "^8.1.0", - "php-http/discovery": "^1.19.4", + "php-http/discovery": "^1.20.0", "php-http/multipart-stream-builder": "^1.4.2", "psr/http-client": "^1.0.3", "psr/http-client-implementation": "^1.0.1", @@ -2333,15 +2334,14 @@ "require-dev": { "guzzlehttp/guzzle": "^7.9.2", "guzzlehttp/psr7": "^2.7.0", - "laravel/pint": "^1.17.3", + "laravel/pint": "^1.18.1", "mockery/mockery": "^1.6.12", - "nunomaduro/collision": "^7.10.0", - "pestphp/pest": "^2.35.1", - "pestphp/pest-plugin-arch": "^2.7", - "pestphp/pest-plugin-type-coverage": "^2.8.6", - "phpstan/phpstan": "^1.12.4", - "rector/rector": "^1.2.5", - "symfony/var-dumper": "^6.4.11" + "nunomaduro/collision": "^7.11.0|^8.5.0", + "pestphp/pest": "^2.36.0|^3.4.1", + "pestphp/pest-plugin-arch": "^2.7|^3.0", + "pestphp/pest-plugin-type-coverage": "^2.8.7|^3.1.0", + "phpstan/phpstan": "^1.12.6", + "symfony/var-dumper": "^6.4.11|^7.1.5" }, "default-branch": true, "type": "library", @@ -2398,7 +2398,7 @@ "type": "github" } ], - "time": "2024-09-19T21:15:30+00:00" + "time": "2024-10-17T20:32:24+00:00" }, { "name": "oro/doctrine-extensions", @@ -3285,12 +3285,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "fda2233a764be9cfc9ee7fb2c628b28697c7f00a" + "reference": "a225bdb0b474d17de9c5ce28e33c870ce3b44eb0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/fda2233a764be9cfc9ee7fb2c628b28697c7f00a", - "reference": "fda2233a764be9cfc9ee7fb2c628b28697c7f00a", + "url": "https://api.github.com/repos/symfony/cache/zipball/a225bdb0b474d17de9c5ce28e33c870ce3b44eb0", + "reference": "a225bdb0b474d17de9c5ce28e33c870ce3b44eb0", "shasum": "" }, "require": { @@ -3375,7 +3375,7 @@ "type": "tidelift" } ], - "time": "2024-10-11T19:23:43+00:00" + "time": "2024-10-18T09:50:33+00:00" }, { "name": "symfony/cache-contracts", @@ -3383,12 +3383,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/cache-contracts.git", - "reference": "df6a1a44c890faded49a5fca33c2d5c5fd3c2197" + "reference": "cab721abbc4a1bccfbd488e1542cd5d0be3c2641" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/df6a1a44c890faded49a5fca33c2d5c5fd3c2197", - "reference": "df6a1a44c890faded49a5fca33c2d5c5fd3c2197", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/cab721abbc4a1bccfbd488e1542cd5d0be3c2641", + "reference": "cab721abbc4a1bccfbd488e1542cd5d0be3c2641", "shasum": "" }, "require": { @@ -3399,7 +3399,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.5-dev" + "dev-main": "3.6-dev" }, "thanks": { "name": "symfony/contracts", @@ -3436,7 +3436,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/cache-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/cache-contracts/tree/main" }, "funding": [ { @@ -3452,7 +3452,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/clock", @@ -3609,12 +3609,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "a97129d215b0730fe86c59f1ceefc6ad2e93533d" + "reference": "8f6d3ecb5ae72d1f21af58fc7ec50a4d9e4273e4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a97129d215b0730fe86c59f1ceefc6ad2e93533d", - "reference": "a97129d215b0730fe86c59f1ceefc6ad2e93533d", + "url": "https://api.github.com/repos/symfony/console/zipball/8f6d3ecb5ae72d1f21af58fc7ec50a4d9e4273e4", + "reference": "8f6d3ecb5ae72d1f21af58fc7ec50a4d9e4273e4", "shasum": "" }, "require": { @@ -3694,7 +3694,7 @@ "type": "tidelift" } ], - "time": "2024-10-13T12:36:15+00:00" + "time": "2024-10-14T18:16:08+00:00" }, { "name": "symfony/dependency-injection", @@ -3702,12 +3702,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/dependency-injection.git", - "reference": "0a0eb0609acdbc031c67b0aa348bf43b08fae05b" + "reference": "887061a0bbb1a4c421f6893d4ef67354c40255b0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/0a0eb0609acdbc031c67b0aa348bf43b08fae05b", - "reference": "0a0eb0609acdbc031c67b0aa348bf43b08fae05b", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/887061a0bbb1a4c421f6893d4ef67354c40255b0", + "reference": "887061a0bbb1a4c421f6893d4ef67354c40255b0", "shasum": "" }, "require": { @@ -3774,7 +3774,7 @@ "type": "tidelift" } ], - "time": "2024-10-09T08:48:41+00:00" + "time": "2024-10-14T18:16:08+00:00" }, { "name": "symfony/deprecation-contracts", @@ -3782,12 +3782,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/63afe740e99a13ba87ec199bb07bbdee937a5b62", + "reference": "63afe740e99a13ba87ec199bb07bbdee937a5b62", "shasum": "" }, "require": { @@ -3797,7 +3797,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.5-dev" + "dev-main": "3.6-dev" }, "thanks": { "name": "symfony/contracts", @@ -3826,7 +3826,7 @@ "description": "A generic function and convention to trigger deprecation notices", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/deprecation-contracts/tree/main" }, "funding": [ { @@ -3842,7 +3842,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/doctrine-bridge", @@ -3850,12 +3850,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "aa2f51b3e3ac451c03f76a0ec4b89577863f8e15" + "reference": "da97783de26cd0c395e5cfa7dbb01384436f30a7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/aa2f51b3e3ac451c03f76a0ec4b89577863f8e15", - "reference": "aa2f51b3e3ac451c03f76a0ec4b89577863f8e15", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/da97783de26cd0c395e5cfa7dbb01384436f30a7", + "reference": "da97783de26cd0c395e5cfa7dbb01384436f30a7", "shasum": "" }, "require": { @@ -3951,7 +3951,7 @@ "type": "tidelift" } ], - "time": "2024-10-09T15:50:55+00:00" + "time": "2024-10-18T09:50:33+00:00" }, { "name": "symfony/doctrine-messenger", @@ -3959,12 +3959,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/doctrine-messenger.git", - "reference": "a56f9af8aa638d8459a92639d5397974ac0ecea2" + "reference": "533e664a37b4208c5a26f1f7894f212690e806f5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-messenger/zipball/a56f9af8aa638d8459a92639d5397974ac0ecea2", - "reference": "a56f9af8aa638d8459a92639d5397974ac0ecea2", + "url": "https://api.github.com/repos/symfony/doctrine-messenger/zipball/533e664a37b4208c5a26f1f7894f212690e806f5", + "reference": "533e664a37b4208c5a26f1f7894f212690e806f5", "shasum": "" }, "require": { @@ -4023,7 +4023,7 @@ "type": "tidelift" } ], - "time": "2024-10-09T08:48:41+00:00" + "time": "2024-10-18T09:50:33+00:00" }, { "name": "symfony/dotenv", @@ -4260,12 +4260,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" + "reference": "59eb412e93815df44f05f342958efa9f46b1e586" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/59eb412e93815df44f05f342958efa9f46b1e586", + "reference": "59eb412e93815df44f05f342958efa9f46b1e586", "shasum": "" }, "require": { @@ -4276,7 +4276,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.5-dev" + "dev-main": "3.6-dev" }, "thanks": { "name": "symfony/contracts", @@ -4313,7 +4313,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/main" }, "funding": [ { @@ -4329,7 +4329,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/filesystem", @@ -4536,12 +4536,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/form.git", - "reference": "896c5f267eeb0cee02dd5ce196c6581c7b07575c" + "reference": "04cf304af17de3da89851040b6dc6386e4cade86" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/896c5f267eeb0cee02dd5ce196c6581c7b07575c", - "reference": "896c5f267eeb0cee02dd5ce196c6581c7b07575c", + "url": "https://api.github.com/repos/symfony/form/zipball/04cf304af17de3da89851040b6dc6386e4cade86", + "reference": "04cf304af17de3da89851040b6dc6386e4cade86", "shasum": "" }, "require": { @@ -4625,7 +4625,7 @@ "type": "tidelift" } ], - "time": "2024-10-11T18:48:37+00:00" + "time": "2024-10-14T18:16:08+00:00" }, { "name": "symfony/framework-bundle", @@ -4633,12 +4633,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/framework-bundle.git", - "reference": "2051bd34adbf18a34c28dbc75f257c08c854f415" + "reference": "5ee045beeb38e62931be7d0dfdc0194c168da0c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/2051bd34adbf18a34c28dbc75f257c08c854f415", - "reference": "2051bd34adbf18a34c28dbc75f257c08c854f415", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/5ee045beeb38e62931be7d0dfdc0194c168da0c3", + "reference": "5ee045beeb38e62931be7d0dfdc0194c168da0c3", "shasum": "" }, "require": { @@ -4775,7 +4775,7 @@ "type": "tidelift" } ], - "time": "2024-10-14T08:51:37+00:00" + "time": "2024-10-17T20:56:22+00:00" }, { "name": "symfony/http-client", @@ -4783,12 +4783,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/http-client.git", - "reference": "3e03d76f9cfad2544a6f9fc6864d71a470a0fe51" + "reference": "4a04ae67f6e09f1190cbe1e9671e8e58fe05b27c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/3e03d76f9cfad2544a6f9fc6864d71a470a0fe51", - "reference": "3e03d76f9cfad2544a6f9fc6864d71a470a0fe51", + "url": "https://api.github.com/repos/symfony/http-client/zipball/4a04ae67f6e09f1190cbe1e9671e8e58fe05b27c", + "reference": "4a04ae67f6e09f1190cbe1e9671e8e58fe05b27c", "shasum": "" }, "require": { @@ -4870,7 +4870,7 @@ "type": "tidelift" } ], - "time": "2024-10-06T16:21:44+00:00" + "time": "2024-10-18T09:50:33+00:00" }, { "name": "symfony/http-client-contracts", @@ -4878,12 +4878,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "20414d96f391677bf80078aa55baece78b82647d" + "reference": "075fadd18649068440dae4667a0ab98293535235" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/20414d96f391677bf80078aa55baece78b82647d", - "reference": "20414d96f391677bf80078aa55baece78b82647d", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/075fadd18649068440dae4667a0ab98293535235", + "reference": "075fadd18649068440dae4667a0ab98293535235", "shasum": "" }, "require": { @@ -4893,7 +4893,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.5-dev" + "dev-main": "3.6-dev" }, "thanks": { "name": "symfony/contracts", @@ -4933,7 +4933,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/http-client-contracts/tree/main" }, "funding": [ { @@ -4949,7 +4949,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-26T08:57:56+00:00" }, { "name": "symfony/http-foundation", @@ -4957,12 +4957,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/http-foundation.git", - "reference": "ef0fff25b4209f3ece8ac892d9332b129bcfb434" + "reference": "4c415d52695870fe56d78e6b9ab88bb8d342eaf4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/ef0fff25b4209f3ece8ac892d9332b129bcfb434", - "reference": "ef0fff25b4209f3ece8ac892d9332b129bcfb434", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/4c415d52695870fe56d78e6b9ab88bb8d342eaf4", + "reference": "4c415d52695870fe56d78e6b9ab88bb8d342eaf4", "shasum": "" }, "require": { @@ -5027,7 +5027,7 @@ "type": "tidelift" } ], - "time": "2024-10-11T19:23:43+00:00" + "time": "2024-10-14T18:16:08+00:00" }, { "name": "symfony/http-kernel", @@ -5035,12 +5035,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/http-kernel.git", - "reference": "943fe90fbfe0bd14e21927d7036022353ea0c0e4" + "reference": "21f327f13aad1c6731303ee32c32e9768875c95a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/943fe90fbfe0bd14e21927d7036022353ea0c0e4", - "reference": "943fe90fbfe0bd14e21927d7036022353ea0c0e4", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/21f327f13aad1c6731303ee32c32e9768875c95a", + "reference": "21f327f13aad1c6731303ee32c32e9768875c95a", "shasum": "" }, "require": { @@ -5141,7 +5141,7 @@ "type": "tidelift" } ], - "time": "2024-10-09T15:02:33+00:00" + "time": "2024-10-14T18:16:08+00:00" }, { "name": "symfony/intl", @@ -5464,12 +5464,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/messenger.git", - "reference": "8137d56e7d9dd0d9a281d0201da3c1dce09fd146" + "reference": "b61b33231ceecf7e7598d34963e18e33f20f846c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/messenger/zipball/8137d56e7d9dd0d9a281d0201da3c1dce09fd146", - "reference": "8137d56e7d9dd0d9a281d0201da3c1dce09fd146", + "url": "https://api.github.com/repos/symfony/messenger/zipball/b61b33231ceecf7e7598d34963e18e33f20f846c", + "reference": "b61b33231ceecf7e7598d34963e18e33f20f846c", "shasum": "" }, "require": { @@ -5543,7 +5543,7 @@ "type": "tidelift" } ], - "time": "2024-10-13T12:36:15+00:00" + "time": "2024-10-14T18:16:08+00:00" }, { "name": "symfony/mime", @@ -5635,12 +5635,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/monolog-bridge.git", - "reference": "d89a868ed9aaacfbb830c26e1ec9b99284a4797d" + "reference": "bbae784f0456c5a87c89d7c1a3fcc9cbee976c1d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/d89a868ed9aaacfbb830c26e1ec9b99284a4797d", - "reference": "d89a868ed9aaacfbb830c26e1ec9b99284a4797d", + "url": "https://api.github.com/repos/symfony/monolog-bridge/zipball/bbae784f0456c5a87c89d7c1a3fcc9cbee976c1d", + "reference": "bbae784f0456c5a87c89d7c1a3fcc9cbee976c1d", "shasum": "" }, "require": { @@ -5705,7 +5705,7 @@ "type": "tidelift" } ], - "time": "2024-10-14T08:51:37+00:00" + "time": "2024-10-14T18:16:08+00:00" }, { "name": "symfony/monolog-bundle", @@ -5795,12 +5795,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/notifier.git", - "reference": "ccf1571a97ac6835d3682bd21cf8ea35a0aa43dc" + "reference": "1a2a1639d102add41aa6896ff683cc05e3d52197" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/notifier/zipball/ccf1571a97ac6835d3682bd21cf8ea35a0aa43dc", - "reference": "ccf1571a97ac6835d3682bd21cf8ea35a0aa43dc", + "url": "https://api.github.com/repos/symfony/notifier/zipball/1a2a1639d102add41aa6896ff683cc05e3d52197", + "reference": "1a2a1639d102add41aa6896ff683cc05e3d52197", "shasum": "" }, "require": { @@ -5865,7 +5865,7 @@ "type": "tidelift" } ], - "time": "2024-10-14T06:22:32+00:00" + "time": "2024-10-17T20:56:22+00:00" }, { "name": "symfony/options-resolver", @@ -7312,12 +7312,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/serializer.git", - "reference": "17aeca19295e1514ad7c76c9b1d495dce0bf1380" + "reference": "7c0c971e7cd929e6b34bf991cc16f245979885e6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/serializer/zipball/17aeca19295e1514ad7c76c9b1d495dce0bf1380", - "reference": "17aeca19295e1514ad7c76c9b1d495dce0bf1380", + "url": "https://api.github.com/repos/symfony/serializer/zipball/7c0c971e7cd929e6b34bf991cc16f245979885e6", + "reference": "7c0c971e7cd929e6b34bf991cc16f245979885e6", "shasum": "" }, "require": { @@ -7403,7 +7403,7 @@ "type": "tidelift" } ], - "time": "2024-10-09T08:48:41+00:00" + "time": "2024-10-14T18:16:08+00:00" }, { "name": "symfony/service-contracts", @@ -7411,12 +7411,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/service-contracts.git", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" + "reference": "5ad38698559cf88b6296629e19b15ef3239c9d7a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/5ad38698559cf88b6296629e19b15ef3239c9d7a", + "reference": "5ad38698559cf88b6296629e19b15ef3239c9d7a", "shasum": "" }, "require": { @@ -7431,7 +7431,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.5-dev" + "dev-main": "3.6-dev" }, "thanks": { "name": "symfony/contracts", @@ -7471,7 +7471,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/service-contracts/tree/main" }, "funding": [ { @@ -7487,7 +7487,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-25T14:21:43+00:00" }, { "name": "symfony/stimulus-bundle", @@ -7809,12 +7809,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a" + "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", - "reference": "b9d2189887bb6b2e0367a9fc7136c5239ab9b05a", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/df210c7a2573f1913b2d17cc95f90f53a73d8f7d", + "reference": "df210c7a2573f1913b2d17cc95f90f53a73d8f7d", "shasum": "" }, "require": { @@ -7824,7 +7824,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-main": "3.5-dev" + "dev-main": "3.6-dev" }, "thanks": { "name": "symfony/contracts", @@ -7864,7 +7864,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.5.0" + "source": "https://github.com/symfony/translation-contracts/tree/main" }, "funding": [ { @@ -7880,7 +7880,7 @@ "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-09-27T08:32:26+00:00" }, { "name": "symfony/twig-bridge", @@ -8596,12 +8596,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/validator.git", - "reference": "2b2312454f18eab37d5f9d6f0fc5119f80edcc92" + "reference": "948cd1bea6eace7e236412f789cae74f5a89f1f9" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/2b2312454f18eab37d5f9d6f0fc5119f80edcc92", - "reference": "2b2312454f18eab37d5f9d6f0fc5119f80edcc92", + "url": "https://api.github.com/repos/symfony/validator/zipball/948cd1bea6eace7e236412f789cae74f5a89f1f9", + "reference": "948cd1bea6eace7e236412f789cae74f5a89f1f9", "shasum": "" }, "require": { @@ -8685,7 +8685,7 @@ "type": "tidelift" } ], - "time": "2024-10-11T19:23:43+00:00" + "time": "2024-10-14T18:16:08+00:00" }, { "name": "symfony/var-dumper", @@ -8776,12 +8776,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "cf99b966ae970ed3fc373ec93ff18a56cad6b85c" + "reference": "1a6a89f95a46af0f142874c9d650a6358d13070d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/cf99b966ae970ed3fc373ec93ff18a56cad6b85c", - "reference": "cf99b966ae970ed3fc373ec93ff18a56cad6b85c", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/1a6a89f95a46af0f142874c9d650a6358d13070d", + "reference": "1a6a89f95a46af0f142874c9d650a6358d13070d", "shasum": "" }, "require": { @@ -8844,7 +8844,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2024-10-18T07:58:17+00:00" }, { "name": "symfony/yaml", @@ -8924,12 +8924,12 @@ "source": { "type": "git", "url": "https://github.com/SymfonyCasts/sass-bundle.git", - "reference": "bcf4112946fa2b635d3516ca63b4ec5904958c38" + "reference": "4637a176b5adfb03f83c409c3f9f566e30426318" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/SymfonyCasts/sass-bundle/zipball/bcf4112946fa2b635d3516ca63b4ec5904958c38", - "reference": "bcf4112946fa2b635d3516ca63b4ec5904958c38", + "url": "https://api.github.com/repos/SymfonyCasts/sass-bundle/zipball/4637a176b5adfb03f83c409c3f9f566e30426318", + "reference": "4637a176b5adfb03f83c409c3f9f566e30426318", "shasum": "" }, "require": { @@ -8940,11 +8940,9 @@ "symfony/http-client": "^5.4|^6.3|^7.0", "symfony/process": "^5.4|^6.3|^7.0" }, - "conflict": { - "phpunit/phpunit": ">=10" - }, "require-dev": { "matthiasnoback/symfony-config-test": "^5.0", + "phpunit/phpunit": "^9.6", "symfony/framework-bundle": "^6.3|^7.0", "symfony/phpunit-bridge": "^6.3.9|^7.0" }, @@ -8972,9 +8970,9 @@ ], "support": { "issues": "https://github.com/SymfonyCasts/sass-bundle/issues", - "source": "https://github.com/SymfonyCasts/sass-bundle/tree/v0.8.0" + "source": "https://github.com/SymfonyCasts/sass-bundle/tree/v0.8.1" }, - "time": "2024-10-11T12:33:18+00:00" + "time": "2024-10-17T10:46:06+00:00" }, { "name": "twbs/bootstrap", @@ -8982,12 +8980,12 @@ "source": { "type": "git", "url": "https://github.com/twbs/bootstrap.git", - "reference": "88bb06b8cc57a902c27463f4ab4231910643136c" + "reference": "5c2f2e7e0ec41daae3819106efce20e2568b19d2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twbs/bootstrap/zipball/88bb06b8cc57a902c27463f4ab4231910643136c", - "reference": "88bb06b8cc57a902c27463f4ab4231910643136c", + "url": "https://api.github.com/repos/twbs/bootstrap/zipball/5c2f2e7e0ec41daae3819106efce20e2568b19d2", + "reference": "5c2f2e7e0ec41daae3819106efce20e2568b19d2", "shasum": "" }, "replace": { @@ -9025,7 +9023,7 @@ "issues": "https://github.com/twbs/bootstrap/issues", "source": "https://github.com/twbs/bootstrap/tree/main" }, - "time": "2024-10-10T15:40:03+00:00" + "time": "2024-10-17T07:18:32+00:00" }, { "name": "twig/extra-bundle", @@ -9181,12 +9179,12 @@ "source": { "type": "git", "url": "https://github.com/twigphp/Twig.git", - "reference": "950ad5a2fce7f746abcf5c6d4a7a7e0b090ee713" + "reference": "448efb89bb59a7dedb1ac71b8c438c1b08488b59" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/950ad5a2fce7f746abcf5c6d4a7a7e0b090ee713", - "reference": "950ad5a2fce7f746abcf5c6d4a7a7e0b090ee713", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/448efb89bb59a7dedb1ac71b8c438c1b08488b59", + "reference": "448efb89bb59a7dedb1ac71b8c438c1b08488b59", "shasum": "" }, "require": { @@ -9253,7 +9251,7 @@ "type": "tidelift" } ], - "time": "2024-10-14T12:07:02+00:00" + "time": "2024-10-15T19:24:13+00:00" } ], "packages-dev": [ @@ -9582,12 +9580,12 @@ "source": { "type": "git", "url": "https://github.com/PHP-CS-Fixer/PHP-CS-Fixer.git", - "reference": "60618e4681ca38edc18ee792225379c570779f7e" + "reference": "8a77bbe7834355520dbc9962839ebc17c7514ec6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/60618e4681ca38edc18ee792225379c570779f7e", - "reference": "60618e4681ca38edc18ee792225379c570779f7e", + "url": "https://api.github.com/repos/PHP-CS-Fixer/PHP-CS-Fixer/zipball/8a77bbe7834355520dbc9962839ebc17c7514ec6", + "reference": "8a77bbe7834355520dbc9962839ebc17c7514ec6", "shasum": "" }, "require": { @@ -9678,7 +9676,7 @@ "type": "github" } ], - "time": "2024-10-13T16:06:49+00:00" + "time": "2024-10-16T07:50:11+00:00" }, { "name": "masterminds/html5", @@ -10040,12 +10038,12 @@ "source": { "type": "git", "url": "https://github.com/phpstan/phpstan.git", - "reference": "87b0dcc95e596f49d57504a2a6f21ae6f55f9ca6" + "reference": "748afdf522719e7809fe8b343df48cf807ac62cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpstan/zipball/87b0dcc95e596f49d57504a2a6f21ae6f55f9ca6", - "reference": "87b0dcc95e596f49d57504a2a6f21ae6f55f9ca6", + "url": "https://api.github.com/repos/phpstan/phpstan/zipball/748afdf522719e7809fe8b343df48cf807ac62cf", + "reference": "748afdf522719e7809fe8b343df48cf807ac62cf", "shasum": "" }, "require": { @@ -10091,7 +10089,7 @@ "type": "github" } ], - "time": "2024-10-15T00:10:36+00:00" + "time": "2024-10-18T07:48:22+00:00" }, { "name": "phpstan/phpstan-doctrine", @@ -10663,12 +10661,12 @@ "source": { "type": "git", "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "857d98630470c48a353f673060dec98e8c0686b2" + "reference": "fcd1efebc9510d2e1cff8fcf1b13ad2a7827d675" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/857d98630470c48a353f673060dec98e8c0686b2", - "reference": "857d98630470c48a353f673060dec98e8c0686b2", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/fcd1efebc9510d2e1cff8fcf1b13ad2a7827d675", + "reference": "fcd1efebc9510d2e1cff8fcf1b13ad2a7827d675", "shasum": "" }, "require": { @@ -10758,7 +10756,7 @@ "type": "tidelift" } ], - "time": "2024-10-08T05:58:25+00:00" + "time": "2024-10-19T09:36:22+00:00" }, { "name": "react/cache", @@ -12471,12 +12469,12 @@ "source": { "type": "git", "url": "https://github.com/symfony/dom-crawler.git", - "reference": "058d78b9c6a01abdd024f11365408a123258dd7d" + "reference": "5b9fdd22272288fc99a09c198faac4df855e5dc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/058d78b9c6a01abdd024f11365408a123258dd7d", - "reference": "058d78b9c6a01abdd024f11365408a123258dd7d", + "url": "https://api.github.com/repos/symfony/dom-crawler/zipball/5b9fdd22272288fc99a09c198faac4df855e5dc4", + "reference": "5b9fdd22272288fc99a09c198faac4df855e5dc4", "shasum": "" }, "require": { @@ -12530,7 +12528,7 @@ "type": "tidelift" } ], - "time": "2024-09-25T14:21:43+00:00" + "time": "2024-10-14T18:16:08+00:00" }, { "name": "symfony/maker-bundle", diff --git a/devenv.lock b/devenv.lock index dbfd0b9..df43b2f 100644 --- a/devenv.lock +++ b/devenv.lock @@ -3,10 +3,10 @@ "devenv": { "locked": { "dir": "src/modules", - "lastModified": 1728993896, + "lastModified": 1729277673, "owner": "cachix", "repo": "devenv", - "rev": "dc7ebaf872306526ea6dcbb2122acca792680701", + "rev": "3c3ab087b53d3e4699a43018ac71b5e1091ed73d", "type": "github" }, "original": { @@ -53,10 +53,10 @@ }, "nixpkgs": { "locked": { - "lastModified": 1728538411, + "lastModified": 1729265718, "owner": "nixos", "repo": "nixpkgs", - "rev": "b69de56fac8c2b6f8fd27f2eca01dcda8e0a4221", + "rev": "ccc0c2126893dd20963580b6478d1a10a4512185", "type": "github" }, "original": { @@ -68,10 +68,10 @@ }, "nixpkgs-stable": { "locked": { - "lastModified": 1728740863, + "lastModified": 1729181673, "owner": "NixOS", "repo": "nixpkgs", - "rev": "a3f9ad65a0bf298ed5847629a57808b97e6e8077", + "rev": "4eb33fe664af7b41a4c446f87d20c9a0a6321fa3", "type": "github" }, "original": { @@ -91,10 +91,10 @@ "nixpkgs-stable": "nixpkgs-stable" }, "locked": { - "lastModified": 1728778939, + "lastModified": 1729104314, "owner": "cachix", "repo": "pre-commit-hooks.nix", - "rev": "ff68f91754be6f3427e4986d7949e6273659be1d", + "rev": "3c3e88f0f544d6bb54329832616af7eb971b6be6", "type": "github" }, "original": { diff --git a/importmap.php b/importmap.php index 9be5056..a3ba330 100644 --- a/importmap.php +++ b/importmap.php @@ -28,7 +28,7 @@ 'path' => './vendor/twbs/bootstrap/dist/js/bootstrap.esm.js', ], 'chart.js' => [ - 'version' => '4.4.4', + 'version' => '4.4.5', ], '@hotwired/stimulus' => [ 'version' => '3.2.2', @@ -83,7 +83,7 @@ 'version' => '2.2.8', ], '@lezer/common' => [ - 'version' => '1.2.2', + 'version' => '1.2.3', ], 'crelt' => [ 'version' => '1.0.6', diff --git a/package.json b/package.json index acb228d..7032e13 100644 --- a/package.json +++ b/package.json @@ -14,13 +14,13 @@ }, "packageManager": "pnpm@9.12.0+sha512.4abf725084d7bcbafbd728bfc7bee61f2f791f977fd87542b3579dcb23504d170d46337945e4c66485cd12d588a0c0e570ed9c477e7ccdd8507cf05f3f92eaca", "devDependencies": { - "@eslint/js": "^9.12.0", + "@eslint/js": "^9.13.0", "@hotwired/stimulus": "^3.2.2", "@types/bootstrap": "^5.2.10", "bootstrap": "^5.3.3", "dprint": "^0.47.2", - "eslint": "^9.12.0", + "eslint": "^9.13.0", "globals": "^15.11.0", - "typescript-eslint": "^8.9.0" + "typescript-eslint": "^8.10.0" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 808997d..fc38402 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -15,14 +15,14 @@ importers: version: 3.2.2(@hotwired/stimulus@3.2.2) codemirror: specifier: ^6.0.1 - version: 6.0.1(@lezer/common@1.2.2) + version: 6.0.1(@lezer/common@1.2.3) typescript: specifier: ^5.6.3 version: 5.6.3 devDependencies: "@eslint/js": - specifier: ^9.12.0 - version: 9.12.0 + specifier: ^9.13.0 + version: 9.13.0 "@hotwired/stimulus": specifier: ^3.2.2 version: 3.2.2 @@ -36,14 +36,14 @@ importers: specifier: ^0.47.2 version: 0.47.2 eslint: - specifier: ^9.12.0 - version: 9.12.0 + specifier: ^9.13.0 + version: 9.13.0 globals: specifier: ^15.11.0 version: 15.11.0 typescript-eslint: - specifier: ^8.9.0 - version: 8.9.0(eslint@9.12.0)(typescript@5.6.3) + specifier: ^8.10.0 + version: 8.10.0(eslint@9.13.0)(typescript@5.6.3) packages: "@codemirror/autocomplete@6.18.1": @@ -167,9 +167,9 @@ packages: } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - "@eslint/core@0.6.0": + "@eslint/core@0.7.0": resolution: { - integrity: sha512-8I2Q8ykA4J0x0o7cg67FPVnehcqWTBehu/lmY+bolPFHGjh49YzGBMXTvpqVgEbBdvNCSxj6iFgiIyHzf03lzg==, + integrity: sha512-xp5Jirz5DyPYlPiKat8jaq0EmYvDXKKpzTbxXMpT9eqlRJkRKIz9AGMdlvYjih+im+QlhWrpvVjl8IPC/lHlUw==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } @@ -179,9 +179,9 @@ packages: } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - "@eslint/js@9.12.0": + "@eslint/js@9.13.0": resolution: { - integrity: sha512-eohesHH8WFRUprDNyEREgqP6beG6htMeUYeCpkEgBCieCMme5r9zFWjzAJp//9S+Kub4rqE+jXe9Cp1a7IYIIA==, + integrity: sha512-IFLyoY4d72Z5y/6o/BazFBezupzI/taV8sGumxTAVw3lXG9A6md1Dc34T9s1FoD/an9pJH8RHbAxsaEbBed9lA==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } @@ -191,9 +191,9 @@ packages: } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - "@eslint/plugin-kit@0.2.0": + "@eslint/plugin-kit@0.2.1": resolution: { - integrity: sha512-vH9PiIMMwvhCx31Af3HiGzsVNULDbyVkHXwlemn/B0TFj/00ho3y55efXrUZTfQipxoHC5u4xq6zblww1zm1Ig==, + integrity: sha512-HFZ4Mp26nbWk9d/BpvP0YNL6W4UoZF0VFcTw/aPPA8RpOxeFQgK+ClABGgAUXs9Y/RGX/l1vOmrqz1MQt9MNuw==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } @@ -233,9 +233,9 @@ packages: } engines: { node: ">=18.18" } - "@lezer/common@1.2.2": + "@lezer/common@1.2.3": resolution: { - integrity: sha512-Z+R3hN6kXbgBWAuejUNPihylAL1Z5CaFqnIe0nTX8Ej+XlIy3EGtXxn6WtLMO+os2hRkQvm2yvaGMYliUzlJaw==, + integrity: sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==, } "@lezer/highlight@1.2.1": @@ -299,9 +299,9 @@ packages: integrity: sha512-wz7kjjRRj8/Lty4B+Kr0LN6Ypc/3SymeCCGSbaXp2leH0ZVg/PriNiOwNj4bD4uphI7A8NXS4b6Gl373sfO5mA==, } - "@typescript-eslint/eslint-plugin@8.9.0": + "@typescript-eslint/eslint-plugin@8.10.0": resolution: { - integrity: sha512-Y1n621OCy4m7/vTXNlCbMVp87zSd7NH0L9cXD8aIpOaNlzeWxIK4+Q19A68gSmTNRZn92UjocVUWDthGxtqHFg==, + integrity: sha512-phuB3hoP7FFKbRXxjl+DRlQDuJqhpOnm5MmtROXyWi3uS/Xg2ZXqiQfcG2BJHiN4QKyzdOJi3NEn/qTnjUlkmQ==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: @@ -312,9 +312,9 @@ packages: typescript: optional: true - "@typescript-eslint/parser@8.9.0": + "@typescript-eslint/parser@8.10.0": resolution: { - integrity: sha512-U+BLn2rqTTHnc4FL3FJjxaXptTxmf9sNftJK62XLz4+GxG3hLHm/SUNaaXP5Y4uTiuYoL5YLy4JBCJe3+t8awQ==, + integrity: sha512-E24l90SxuJhytWJ0pTQydFT46Nk0Z+bsLKo/L8rtQSL93rQ6byd1V/QbDpHUTdLPOMsBCcYXZweADNCfOCmOAg==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: @@ -324,15 +324,15 @@ packages: typescript: optional: true - "@typescript-eslint/scope-manager@8.9.0": + "@typescript-eslint/scope-manager@8.10.0": resolution: { - integrity: sha512-bZu9bUud9ym1cabmOYH9S6TnbWRzpklVmwqICeOulTCZ9ue2/pczWzQvt/cGj2r2o1RdKoZbuEMalJJSYw3pHQ==, + integrity: sha512-AgCaEjhfql9MDKjMUxWvH7HjLeBqMCBfIaBbzzIcBbQPZE7CPh1m6FF+L75NUMJFMLYhCywJXIDEMa3//1A0dw==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - "@typescript-eslint/type-utils@8.9.0": + "@typescript-eslint/type-utils@8.10.0": resolution: { - integrity: sha512-JD+/pCqlKqAk5961vxCluK+clkppHY07IbV3vett97KOV+8C6l+CPEPwpUuiMwgbOz/qrN3Ke4zzjqbT+ls+1Q==, + integrity: sha512-PCpUOpyQSpxBn230yIcK+LeCQaXuxrgCm2Zk1S+PTIRJsEfU6nJ0TtwyH8pIwPK/vJoA+7TZtzyAJSGBz+s/dg==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: @@ -341,15 +341,15 @@ packages: typescript: optional: true - "@typescript-eslint/types@8.9.0": + "@typescript-eslint/types@8.10.0": resolution: { - integrity: sha512-SjgkvdYyt1FAPhU9c6FiYCXrldwYYlIQLkuc+LfAhCna6ggp96ACncdtlbn8FmnG72tUkXclrDExOpEYf1nfJQ==, + integrity: sha512-k/E48uzsfJCRRbGLapdZgrX52csmWJ2rcowwPvOZ8lwPUv3xW6CcFeJAXgx4uJm+Ge4+a4tFOkdYvSpxhRhg1w==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - "@typescript-eslint/typescript-estree@8.9.0": + "@typescript-eslint/typescript-estree@8.10.0": resolution: { - integrity: sha512-9iJYTgKLDG6+iqegehc5+EqE6sqaee7kb8vWpmHZ86EqwDjmlqNNHeqDVqb9duh+BY6WCNHfIGvuVU3Tf9Db0g==, + integrity: sha512-3OE0nlcOHaMvQ8Xu5gAfME3/tWVDpb/HxtpUZ1WeOAksZ/h/gwrBzCklaGzwZT97/lBbbxJ16dMA98JMEngW4w==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: @@ -358,17 +358,17 @@ packages: typescript: optional: true - "@typescript-eslint/utils@8.9.0": + "@typescript-eslint/utils@8.10.0": resolution: { - integrity: sha512-PKgMmaSo/Yg/F7kIZvrgrWa1+Vwn036CdNUvYFEkYbPwOH4i8xvkaRlu148W3vtheWK9ckKRIz7PBP5oUlkrvQ==, + integrity: sha512-Oq4uZ7JFr9d1ZunE/QKy5egcDRXT/FrS2z/nlxzPua2VHFtmMvFNDvpq1m/hq0ra+T52aUezfcjGRIB7vNJF9w==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: eslint: ^8.57.0 || ^9.0.0 - "@typescript-eslint/visitor-keys@8.9.0": + "@typescript-eslint/visitor-keys@8.10.0": resolution: { - integrity: sha512-Ht4y38ubk4L5/U8xKUBfKNYGmvKvA1CANoxiTRMM+tOLk3lbF3DvzZCxJCRSE+2GdCMSh6zq9VZJc3asc1XuAA==, + integrity: sha512-k8nekgqwr7FadWk548Lfph6V3r9OVqjzAIVskE7orMZR23cGJjAOVazsZSJW+ElyjfTM4wx/1g88Mi70DDtG9A==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } @@ -379,9 +379,9 @@ packages: peerDependencies: acorn: ^6.0.0 || ^7.0.0 || ^8.0.0 - acorn@8.12.1: + acorn@8.13.0: resolution: { - integrity: sha512-tcpGyI9zbizT9JbV6oYE477V6mTlXvvi0T0G3SNIYE2apm/G5huBa1+K89VGeovbg+jycCrfhl3ADxErOuO6Jg==, + integrity: sha512-8zSiw54Oxrdym50NlZ9sUusyO1Z1ZchgRLWRaK6c86XJFClyCgFKetdowBg5bKxyp/u+CDBJG4Mpp0m3HLZl9w==, } engines: { node: ">=0.4.0" } hasBin: true @@ -538,9 +538,9 @@ packages: } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } - eslint@9.12.0: + eslint@9.13.0: resolution: { - integrity: sha512-UVIOlTEWxwIopRL1wgSQYdnVDcEvs2wyaO6DGo5mXqe3r16IoCNWkR29iHhyaP4cICWjbgbmFUGAhh0GJRuGZw==, + integrity: sha512-EYZK6SX6zjFHST/HRytOdA/zE72Cq/bfw45LSyuwrdvcclb/gqV8RRQxywOBEWO2+WDpva6UZa4CcDeJKzUCFA==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } hasBin: true @@ -943,9 +943,9 @@ packages: } engines: { node: ">= 0.8.0" } - typescript-eslint@8.9.0: + typescript-eslint@8.10.0: resolution: { - integrity: sha512-AuD/FXGYRQyqyOBCpNLldMlsCGvmDNxptQ3Dp58/NXeB+FqyvTfXmMyba3PYa0Vi9ybnj7G8S/yd/4Cw8y47eA==, + integrity: sha512-YIu230PeN7z9zpu/EtqCIuRVHPs4iSlqW6TEvjbyDAE3MZsSl2RXBo+5ag+lbABCG8sFM1WVKEXhlQ8Ml8A3Fw==, } engines: { node: ^18.18.0 || ^20.9.0 || >=21.1.0 } peerDependencies: @@ -991,26 +991,26 @@ packages: engines: { node: ">=10" } snapshots: - "@codemirror/autocomplete@6.18.1(@codemirror/language@6.10.3)(@codemirror/state@6.4.1)(@codemirror/view@6.34.1)(@lezer/common@1.2.2)": + "@codemirror/autocomplete@6.18.1(@codemirror/language@6.10.3)(@codemirror/state@6.4.1)(@codemirror/view@6.34.1)(@lezer/common@1.2.3)": dependencies: "@codemirror/language": 6.10.3 "@codemirror/state": 6.4.1 "@codemirror/view": 6.34.1 - "@lezer/common": 1.2.2 + "@lezer/common": 1.2.3 "@codemirror/commands@6.7.0": dependencies: "@codemirror/language": 6.10.3 "@codemirror/state": 6.4.1 "@codemirror/view": 6.34.1 - "@lezer/common": 1.2.2 + "@lezer/common": 1.2.3 "@codemirror/lang-sql@6.8.0(@codemirror/view@6.34.1)": dependencies: - "@codemirror/autocomplete": 6.18.1(@codemirror/language@6.10.3)(@codemirror/state@6.4.1)(@codemirror/view@6.34.1)(@lezer/common@1.2.2) + "@codemirror/autocomplete": 6.18.1(@codemirror/language@6.10.3)(@codemirror/state@6.4.1)(@codemirror/view@6.34.1)(@lezer/common@1.2.3) "@codemirror/language": 6.10.3 "@codemirror/state": 6.4.1 - "@lezer/common": 1.2.2 + "@lezer/common": 1.2.3 "@lezer/highlight": 1.2.1 "@lezer/lr": 1.4.2 transitivePeerDependencies: @@ -1020,7 +1020,7 @@ snapshots: dependencies: "@codemirror/state": 6.4.1 "@codemirror/view": 6.34.1 - "@lezer/common": 1.2.2 + "@lezer/common": 1.2.3 "@lezer/highlight": 1.2.1 "@lezer/lr": 1.4.2 style-mod: 4.1.2 @@ -1069,9 +1069,9 @@ snapshots: "@dprint/win32-x64@0.47.2": optional: true - "@eslint-community/eslint-utils@4.4.0(eslint@9.12.0)": + "@eslint-community/eslint-utils@4.4.0(eslint@9.13.0)": dependencies: - eslint: 9.12.0 + eslint: 9.13.0 eslint-visitor-keys: 3.4.3 "@eslint-community/regexpp@4.11.1": {} @@ -1084,7 +1084,7 @@ snapshots: transitivePeerDependencies: - supports-color - "@eslint/core@0.6.0": {} + "@eslint/core@0.7.0": {} "@eslint/eslintrc@3.1.0": dependencies: @@ -1100,11 +1100,11 @@ snapshots: transitivePeerDependencies: - supports-color - "@eslint/js@9.12.0": {} + "@eslint/js@9.13.0": {} "@eslint/object-schema@2.1.4": {} - "@eslint/plugin-kit@0.2.0": + "@eslint/plugin-kit@0.2.1": dependencies: levn: 0.4.1 @@ -1125,15 +1125,15 @@ snapshots: "@humanwhocodes/retry@0.3.1": {} - "@lezer/common@1.2.2": {} + "@lezer/common@1.2.3": {} "@lezer/highlight@1.2.1": dependencies: - "@lezer/common": 1.2.2 + "@lezer/common": 1.2.3 "@lezer/lr@1.4.2": dependencies: - "@lezer/common": 1.2.2 + "@lezer/common": 1.2.3 "@nodelib/fs.scandir@2.1.5": dependencies: @@ -1154,7 +1154,7 @@ snapshots: "@hotwired/stimulus": 3.2.2 "@hotwired/stimulus-webpack-helpers": 1.0.1(@hotwired/stimulus@3.2.2) "@types/webpack-env": 1.18.5 - acorn: 8.12.1 + acorn: 8.13.0 loader-utils: 2.0.4 schema-utils: 3.3.0 @@ -1168,15 +1168,15 @@ snapshots: "@types/webpack-env@1.18.5": {} - "@typescript-eslint/eslint-plugin@8.9.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint@9.12.0)(typescript@5.6.3)": + "@typescript-eslint/eslint-plugin@8.10.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0)(typescript@5.6.3))(eslint@9.13.0)(typescript@5.6.3)": dependencies: "@eslint-community/regexpp": 4.11.1 - "@typescript-eslint/parser": 8.9.0(eslint@9.12.0)(typescript@5.6.3) - "@typescript-eslint/scope-manager": 8.9.0 - "@typescript-eslint/type-utils": 8.9.0(eslint@9.12.0)(typescript@5.6.3) - "@typescript-eslint/utils": 8.9.0(eslint@9.12.0)(typescript@5.6.3) - "@typescript-eslint/visitor-keys": 8.9.0 - eslint: 9.12.0 + "@typescript-eslint/parser": 8.10.0(eslint@9.13.0)(typescript@5.6.3) + "@typescript-eslint/scope-manager": 8.10.0 + "@typescript-eslint/type-utils": 8.10.0(eslint@9.13.0)(typescript@5.6.3) + "@typescript-eslint/utils": 8.10.0(eslint@9.13.0)(typescript@5.6.3) + "@typescript-eslint/visitor-keys": 8.10.0 + eslint: 9.13.0 graphemer: 1.4.0 ignore: 5.3.2 natural-compare: 1.4.0 @@ -1186,28 +1186,28 @@ snapshots: transitivePeerDependencies: - supports-color - "@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3)": + "@typescript-eslint/parser@8.10.0(eslint@9.13.0)(typescript@5.6.3)": dependencies: - "@typescript-eslint/scope-manager": 8.9.0 - "@typescript-eslint/types": 8.9.0 - "@typescript-eslint/typescript-estree": 8.9.0(typescript@5.6.3) - "@typescript-eslint/visitor-keys": 8.9.0 + "@typescript-eslint/scope-manager": 8.10.0 + "@typescript-eslint/types": 8.10.0 + "@typescript-eslint/typescript-estree": 8.10.0(typescript@5.6.3) + "@typescript-eslint/visitor-keys": 8.10.0 debug: 4.3.7 - eslint: 9.12.0 + eslint: 9.13.0 optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: - supports-color - "@typescript-eslint/scope-manager@8.9.0": + "@typescript-eslint/scope-manager@8.10.0": dependencies: - "@typescript-eslint/types": 8.9.0 - "@typescript-eslint/visitor-keys": 8.9.0 + "@typescript-eslint/types": 8.10.0 + "@typescript-eslint/visitor-keys": 8.10.0 - "@typescript-eslint/type-utils@8.9.0(eslint@9.12.0)(typescript@5.6.3)": + "@typescript-eslint/type-utils@8.10.0(eslint@9.13.0)(typescript@5.6.3)": dependencies: - "@typescript-eslint/typescript-estree": 8.9.0(typescript@5.6.3) - "@typescript-eslint/utils": 8.9.0(eslint@9.12.0)(typescript@5.6.3) + "@typescript-eslint/typescript-estree": 8.10.0(typescript@5.6.3) + "@typescript-eslint/utils": 8.10.0(eslint@9.13.0)(typescript@5.6.3) debug: 4.3.7 ts-api-utils: 1.3.0(typescript@5.6.3) optionalDependencies: @@ -1216,12 +1216,12 @@ snapshots: - eslint - supports-color - "@typescript-eslint/types@8.9.0": {} + "@typescript-eslint/types@8.10.0": {} - "@typescript-eslint/typescript-estree@8.9.0(typescript@5.6.3)": + "@typescript-eslint/typescript-estree@8.10.0(typescript@5.6.3)": dependencies: - "@typescript-eslint/types": 8.9.0 - "@typescript-eslint/visitor-keys": 8.9.0 + "@typescript-eslint/types": 8.10.0 + "@typescript-eslint/visitor-keys": 8.10.0 debug: 4.3.7 fast-glob: 3.3.2 is-glob: 4.0.3 @@ -1233,27 +1233,27 @@ snapshots: transitivePeerDependencies: - supports-color - "@typescript-eslint/utils@8.9.0(eslint@9.12.0)(typescript@5.6.3)": + "@typescript-eslint/utils@8.10.0(eslint@9.13.0)(typescript@5.6.3)": dependencies: - "@eslint-community/eslint-utils": 4.4.0(eslint@9.12.0) - "@typescript-eslint/scope-manager": 8.9.0 - "@typescript-eslint/types": 8.9.0 - "@typescript-eslint/typescript-estree": 8.9.0(typescript@5.6.3) - eslint: 9.12.0 + "@eslint-community/eslint-utils": 4.4.0(eslint@9.13.0) + "@typescript-eslint/scope-manager": 8.10.0 + "@typescript-eslint/types": 8.10.0 + "@typescript-eslint/typescript-estree": 8.10.0(typescript@5.6.3) + eslint: 9.13.0 transitivePeerDependencies: - supports-color - typescript - "@typescript-eslint/visitor-keys@8.9.0": + "@typescript-eslint/visitor-keys@8.10.0": dependencies: - "@typescript-eslint/types": 8.9.0 + "@typescript-eslint/types": 8.10.0 eslint-visitor-keys: 3.4.3 - acorn-jsx@5.3.2(acorn@8.12.1): + acorn-jsx@5.3.2(acorn@8.13.0): dependencies: - acorn: 8.12.1 + acorn: 8.13.0 - acorn@8.12.1: {} + acorn@8.13.0: {} ajv-keywords@3.5.2(ajv@6.12.6): dependencies: @@ -1300,9 +1300,9 @@ snapshots: ansi-styles: 4.3.0 supports-color: 7.2.0 - codemirror@6.0.1(@lezer/common@1.2.2): + codemirror@6.0.1(@lezer/common@1.2.3): dependencies: - "@codemirror/autocomplete": 6.18.1(@codemirror/language@6.10.3)(@codemirror/state@6.4.1)(@codemirror/view@6.34.1)(@lezer/common@1.2.2) + "@codemirror/autocomplete": 6.18.1(@codemirror/language@6.10.3)(@codemirror/state@6.4.1)(@codemirror/view@6.34.1)(@lezer/common@1.2.3) "@codemirror/commands": 6.7.0 "@codemirror/language": 6.10.3 "@codemirror/lint": 6.8.2 @@ -1358,15 +1358,15 @@ snapshots: eslint-visitor-keys@4.1.0: {} - eslint@9.12.0: + eslint@9.13.0: dependencies: - "@eslint-community/eslint-utils": 4.4.0(eslint@9.12.0) + "@eslint-community/eslint-utils": 4.4.0(eslint@9.13.0) "@eslint-community/regexpp": 4.11.1 "@eslint/config-array": 0.18.0 - "@eslint/core": 0.6.0 + "@eslint/core": 0.7.0 "@eslint/eslintrc": 3.1.0 - "@eslint/js": 9.12.0 - "@eslint/plugin-kit": 0.2.0 + "@eslint/js": 9.13.0 + "@eslint/plugin-kit": 0.2.1 "@humanfs/node": 0.16.5 "@humanwhocodes/module-importer": 1.0.1 "@humanwhocodes/retry": 0.3.1 @@ -1400,8 +1400,8 @@ snapshots: espree@10.2.0: dependencies: - acorn: 8.12.1 - acorn-jsx: 5.3.2(acorn@8.12.1) + acorn: 8.13.0 + acorn-jsx: 5.3.2(acorn@8.13.0) eslint-visitor-keys: 4.1.0 esquery@1.6.0: @@ -1618,11 +1618,11 @@ snapshots: dependencies: prelude-ls: 1.2.1 - typescript-eslint@8.9.0(eslint@9.12.0)(typescript@5.6.3): + typescript-eslint@8.10.0(eslint@9.13.0)(typescript@5.6.3): dependencies: - "@typescript-eslint/eslint-plugin": 8.9.0(@typescript-eslint/parser@8.9.0(eslint@9.12.0)(typescript@5.6.3))(eslint@9.12.0)(typescript@5.6.3) - "@typescript-eslint/parser": 8.9.0(eslint@9.12.0)(typescript@5.6.3) - "@typescript-eslint/utils": 8.9.0(eslint@9.12.0)(typescript@5.6.3) + "@typescript-eslint/eslint-plugin": 8.10.0(@typescript-eslint/parser@8.10.0(eslint@9.13.0)(typescript@5.6.3))(eslint@9.13.0)(typescript@5.6.3) + "@typescript-eslint/parser": 8.10.0(eslint@9.13.0)(typescript@5.6.3) + "@typescript-eslint/utils": 8.10.0(eslint@9.13.0)(typescript@5.6.3) optionalDependencies: typescript: 5.6.3 transitivePeerDependencies: