From 2d24b916f75fc048a747bcd9f8b214a8c6dfeb55 Mon Sep 17 00:00:00 2001 From: Petr Parolek Date: Tue, 6 Feb 2024 19:17:36 +0100 Subject: [PATCH 1/7] added docker compose --- .docker/nginx/Dockerfile | 5 +++ .docker/nginx/conf.d/default.conf | 3 ++ .docker/nginx/nginx.conf | 24 ++++++++++++++ .docker/nginx/sites/default.conf | 28 ++++++++++++++++ .docker/php/Dockerfile | 9 ++++++ Makefile | 53 +++++++++++++++++++------------ docker-compose.yml | 51 +++++++++++++++++++++++++++++ 7 files changed, 152 insertions(+), 21 deletions(-) create mode 100644 .docker/nginx/Dockerfile create mode 100644 .docker/nginx/conf.d/default.conf create mode 100644 .docker/nginx/nginx.conf create mode 100644 .docker/nginx/sites/default.conf create mode 100644 .docker/php/Dockerfile create mode 100644 docker-compose.yml diff --git a/.docker/nginx/Dockerfile b/.docker/nginx/Dockerfile new file mode 100644 index 0000000..d118657 --- /dev/null +++ b/.docker/nginx/Dockerfile @@ -0,0 +1,5 @@ +FROM nginx:alpine +COPY ./ /var/www/html/ +CMD ["nginx"] + +EXPOSE 80 443 diff --git a/.docker/nginx/conf.d/default.conf b/.docker/nginx/conf.d/default.conf new file mode 100644 index 0000000..af558ed --- /dev/null +++ b/.docker/nginx/conf.d/default.conf @@ -0,0 +1,3 @@ +upstream php-upstream { + server php:9000; +} diff --git a/.docker/nginx/nginx.conf b/.docker/nginx/nginx.conf new file mode 100644 index 0000000..305e67f --- /dev/null +++ b/.docker/nginx/nginx.conf @@ -0,0 +1,24 @@ +user nginx; +worker_processes 4; +daemon off; + +error_log /var/log/nginx/error.log warn; +pid /var/run/nginx.pid; + +events { + worker_connections 1024; +} + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + access_log /dev/stdout; + error_log /dev/stderr; + + sendfile on; + keepalive_timeout 65; + + include /etc/nginx/conf.d/*.conf; + include /etc/nginx/sites-available/*.conf; +} diff --git a/.docker/nginx/sites/default.conf b/.docker/nginx/sites/default.conf new file mode 100644 index 0000000..cf28427 --- /dev/null +++ b/.docker/nginx/sites/default.conf @@ -0,0 +1,28 @@ +server { + + listen 80 default_server; + listen [::]:80 default_server ipv6only=on; + + server_name localhost; + root /var/www/html/www/; + index index.php; + + location / { + try_files $uri $uri/ /index.php$is_args$args; + } + + location ~ \.php$ { + try_files $uri /index.php =404; + fastcgi_pass php-upstream; + fastcgi_index index.php; + fastcgi_buffers 16 16k; + fastcgi_buffer_size 32k; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + fastcgi_read_timeout 600; + include fastcgi_params; + } + + location ~ /\.ht { + deny all; + } +} diff --git a/.docker/php/Dockerfile b/.docker/php/Dockerfile new file mode 100644 index 0000000..02b2d82 --- /dev/null +++ b/.docker/php/Dockerfile @@ -0,0 +1,9 @@ +FROM thecodingmachine/php:8.3-v4-fpm + +COPY ./ /var/www/html/ + +WORKDIR /var/www/html/ + +CMD ["php-fpm"] + +EXPOSE 9000 diff --git a/Makefile b/Makefile index 58fcff8..186a58f 100644 --- a/Makefile +++ b/Makefile @@ -1,17 +1,23 @@ ############################################################ # PROJECT ################################################## ############################################################ -.PHONY: project install setup clean - +.PHONY: project project: install setup +.PHONY: init +init: + cp config/local.neon.example config/local.neon + +.PHONY: install install: composer install +.PHONY: setup setup: mkdir -p var/tmp var/log chmod +0777 var/tmp var/log +.PHONY: clean clean: find var/tmp -mindepth 1 ! -name '.gitignore' -type f,d -exec rm -rf {} + find var/log -mindepth 1 ! -name '.gitignore' -type f,d -exec rm -rf {} + @@ -19,28 +25,34 @@ clean: ############################################################ # DEVELOPMENT ############################################## ############################################################ -.PHONY: qa dev cs csf phpstan tests coverage dev build - +.PHONY: qa qa: cs phpstan +.PHONY: cs cs: vendor/bin/codesniffer app tests +.PHONY: csf csf: vendor/bin/codefixer app tests +.PHONY: phpstan phpstan: - vendor/bin/phpstan analyse -c phpstan.neon --memory-limit=512M app tests/toolkit + vendor/bin/phpstan analyse -c phpstan.neon --memory-limit=512M +.PHONY: tests tests: vendor/bin/tester -s -p php --colors 1 -C tests +.PHONY: coverage coverage: vendor/bin/tester -s -p phpdbg --colors 1 -C --coverage ./coverage.xml --coverage-src ./app tests +.PHONY: dev dev: NETTE_DEBUG=1 NETTE_ENV=dev php -S 0.0.0.0:8000 -t www +.PHONY: build build: NETTE_DEBUG=1 bin/console orm:schema-tool:drop --force --full-database NETTE_DEBUG=1 bin/console migrations:migrate --no-interaction @@ -50,7 +62,6 @@ build: # DEPLOYMENT ############################################### ############################################################ .PHONY: deploy - deploy: $(MAKE) clean $(MAKE) project @@ -60,18 +71,18 @@ deploy: ############################################################ # DOCKER ################################################### ############################################################ -.PHONY: docker-postgres docker-postgres-stop docker-adminer docker-adminer-stop - -docker-postgres: docker-postgres-stop - docker run -it -d -p 5432:5432 --name doctrine_postgres -e POSTGRES_PASSWORD=doctrine -e POSTGRES_USER=doctrine dockette/postgres:12 - -docker-postgres-stop: - docker stop doctrine_postgres || true - docker rm doctrine_postgres || true - -docker-adminer: docker-adminer-stop - docker run -it -d -p 9999:80 --name doctrine_adminer dockette/adminer:dg - -docker-adminer-stop: - docker stop doctrine_adminer || true - docker rm doctrine_adminer || true +.PHONY: docker-postgres +docker-postgres: + docker run \ + -it \ + -p 5432:5432 \ + -e POSTGRES_PASSWORD=contributte \ + -e POSTGRES_USER=contributte \ + dockette/postgres:12 + +.PHONY: docker-adminer +docker-adminer: + docker run \ + -it \ + -p 9999:80 \ + dockette/adminer:dg diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..d23b94f --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,51 @@ +version: '3.4' + +services: + nginx: + build: + context: . + dockerfile: ./.docker/nginx/Dockerfile + volumes: + - ./:/var/www/html/ + - ./.docker/nginx/nginx.conf:/etc/nginx/nginx.conf + - ./.docker/nginx/sites/:/etc/nginx/sites-available + - ./.docker/nginx/conf.d/:/etc/nginx/conf.d + depends_on: + - php + ports: + - 80:80 + - 443:443 + + php: + build: + context: . + dockerfile: ./.docker/php/Dockerfile + volumes: + - ./:/var/www/html/ + depends_on: + - database + environment: + NETTE_DEBUG: 1 + PHP_EXTENSION_XDEBUG: 1 + PHP_EXTENSION_PGSQL: 1 + PHP_EXTENSION_PDO_PGSQL: 1 + PHP_EXTENSION_MYSQLI: 0 + PHP_EXTENSION_GD: 1 + PHP_EXTENSION_INTL: 1 + STARTUP_COMMAND_1: composer install + STARTUP_COMMAND_2: NETTE_DEBUG=1 php bin/console migrations:migrate --no-interaction --allow-no-migration + STARTUP_COMMAND_3: NETTE_DEBUG=1 php bin/console doctrine:fixtures:load --no-interaction + + database: + image: dockette/postgres:10 + environment: + - POSTGRES_PASSWORD=contributte + - POSTGRES_USER=contributte + - POSTGRES_DB=contributte + #volumes: + #- .docker/data/postgres:/var/lib/postgresql/data + + adminer: + image: dockette/adminer:dg + ports: + - 8081:80 From 5a00e5e0827cdc656175ab278ed516317faa9692 Mon Sep 17 00:00:00 2001 From: Petr Parolek Date: Tue, 6 Feb 2024 19:38:44 +0100 Subject: [PATCH 2/7] refactoring tests and updated composer packages --- .build/object-manager.php | 5 - .build/phpstan-doctrine.php | 7 + .docker/php/Dockerfile | 2 +- .github/workflows/main.yaml | 6 +- README.md | 43 +- app/Bootstrap.php | 2 +- .../Database/Advanced/Entity/Article.php | 8 +- app/Model/Database/Basic/Entity/Book.php | 22 +- app/Model/Database/Basic/Entity/Category.php | 13 +- app/Model/Database/Basic/Entity/Tag.php | 13 +- app/Model/Database/Entity/Entity.php | 3 - app/Model/Service/LibraryLimiter.php | 18 +- composer.json | 39 +- composer.lock | 2500 ++++++++--------- phpstan.neon | 34 +- ruleset.xml | 15 +- tests/{toolkit => Toolkit}/Environment.php | 5 +- .../Nette/DummyUserStorage.php | 5 +- .../TestCase/BaseContainerTestCase.php | 13 +- .../TestCase/BaseTestCase.php | 0 tests/Toolkit/Tests.php | 12 + tests/bootstrap.php | 4 +- tests/cases/Container/ContainerBuild.phpt | 13 +- tests/cases/Database/Entity/MappingTest.phpt | 4 +- tests/cases/Database/TRepositoriesTest.php | 2 +- tests/cases/Latte/CompilerTest.phpt | 9 +- 26 files changed, 1333 insertions(+), 1464 deletions(-) delete mode 100644 .build/object-manager.php create mode 100644 .build/phpstan-doctrine.php rename tests/{toolkit => Toolkit}/Environment.php (95%) rename tests/{toolkit => Toolkit}/Nette/DummyUserStorage.php (88%) rename tests/{toolkit => Toolkit}/TestCase/BaseContainerTestCase.php (57%) rename tests/{toolkit => Toolkit}/TestCase/BaseTestCase.php (100%) create mode 100644 tests/Toolkit/Tests.php diff --git a/.build/object-manager.php b/.build/object-manager.php deleted file mode 100644 index 00ce786..0000000 --- a/.build/object-manager.php +++ /dev/null @@ -1,5 +0,0 @@ -createContainer() - ->getByType(App\Model\Database\EntityManagerDecorator::class); diff --git a/.build/phpstan-doctrine.php b/.build/phpstan-doctrine.php new file mode 100644 index 0000000..16292f2 --- /dev/null +++ b/.build/phpstan-doctrine.php @@ -0,0 +1,7 @@ +createContainer() + ->getByType(Doctrine\ORM\EntityManagerInterface::class); diff --git a/.docker/php/Dockerfile b/.docker/php/Dockerfile index 02b2d82..069f840 100644 --- a/.docker/php/Dockerfile +++ b/.docker/php/Dockerfile @@ -1,4 +1,4 @@ -FROM thecodingmachine/php:8.3-v4-fpm +FROM thecodingmachine/php:8.1-v4-fpm COPY ./ /var/www/html/ diff --git a/.github/workflows/main.yaml b/.github/workflows/main.yaml index 57c99ef..5c95d8f 100644 --- a/.github/workflows/main.yaml +++ b/.github/workflows/main.yaml @@ -23,7 +23,7 @@ jobs: strategy: matrix: - php-versions: [ "8.0" ] + php-versions: [ "8.1" ] operating-system: [ "ubuntu-latest" ] fail-fast: false @@ -82,7 +82,7 @@ jobs: strategy: matrix: - php-versions: [ "8.0" ] + php-versions: [ "8.1" ] operating-system: [ "ubuntu-latest" ] fail-fast: false @@ -138,7 +138,7 @@ jobs: strategy: matrix: - php-versions: [ "8.0" ] + php-versions: [ "8.1", "8.2", "8.3" ] operating-system: [ "ubuntu-latest" ] fail-fast: false diff --git a/README.md b/README.md index 45b928f..42d248e 100644 --- a/README.md +++ b/README.md @@ -30,13 +30,13 @@ Main goal is to provide best prepared starter-kit project for Nette developers. Focused on: -- latest PHP 8.0 +- PHP 8.1+ - `nette/*` packages - Doctrine ORM via `nettrine/*` - Symfony components via `contributte/*` -- codestyle checking via **CodeSniffer** and `ninjify/*` -- static analysing via **phpstan** -- unit / integration tests via **Nette Tester** and `ninjify/*` +- codestyle checking via **CodeSniffer** and `contributte/qa` +- static analysing via **phpstan** and `contributte/phpstan` +- unit / integration tests via **Nette Tester** and `contributte/tester` ## Demo @@ -58,7 +58,7 @@ composer create-project -s dev contributte/doctrine-skeleton acme composer create-project -s dev contributte/doctrine-skeleton ``` -2) After that, you have to setup Postgres >= 12 database. You can start it manually or use docker image `postgres:12`. +2) After that, you have to setup Postgres >= 12 database. You can start it manually or use docker image `dockette/postgres:12`. ``` docker run -it -p 5432:5432 -e POSTGRES_PASSWORD=doctrine -e POSTGRES_USER=doctrine dockette/postgres:12 @@ -66,7 +66,7 @@ composer create-project -s dev contributte/doctrine-skeleton acme Or use make task, `make docker-postgres`. -3) Custom configuration file is located at `app/config/local.neon`. Edit it if you want. +3) Custom configuration file is located at `config/local.neon`. Edit it if you want. Default configuration should look like: @@ -93,6 +93,37 @@ composer create-project -s dev contributte/doctrine-skeleton acme 6) Open http://localhost:8000 and enjoy! +### Install using [docker-compose](https://https://github.com/docker/compose/) + +1) At first, use composer to install this project. + + ``` + composer create-project -s dev contributte/webapp-project + ``` + +2) Modify `config/local.neon` and set host to `database` + + Default configuration should look like this: + + ```neon + # Host Config + parameters: + # Database + database: + host: database + dbname: contributte + user: contributte + password: contributte + ``` + +3) Run `docker-compose up` + +4) Open http://localhost and enjoy! + + Take a look at: + - http://localhost. + - http://localhost/admin (admin@admin.cz / admin) + ### Composer packages Take a detailed look :eyes: at each single package. diff --git a/app/Bootstrap.php b/app/Bootstrap.php index 891c977..a8ce7d0 100644 --- a/app/Bootstrap.php +++ b/app/Bootstrap.php @@ -3,7 +3,7 @@ namespace App; use Contributte\Bootstrap\ExtraConfigurator; -use Nette\Configurator; +use Nette\Bootstrap\Configurator; class Bootstrap { diff --git a/app/Model/Database/Advanced/Entity/Article.php b/app/Model/Database/Advanced/Entity/Article.php index c499d43..0fa0b72 100644 --- a/app/Model/Database/Advanced/Entity/Article.php +++ b/app/Model/Database/Advanced/Entity/Article.php @@ -2,6 +2,7 @@ namespace App\Model\Database\Advanced\Entity; +use App\Model\Database\Entity\Entity; use DateTime; use Doctrine\ORM\Mapping as ORM; use Gedmo\Mapping\Annotation as Gedmo; @@ -13,7 +14,7 @@ * @Gedmo\Loggable * @Gedmo\SoftDeleteable(fieldName="deletedAt", timeAware=false, hardDelete=true) */ -class Article implements Translatable +class Article extends Entity implements Translatable { /** @@ -133,6 +134,11 @@ public function setTitle(string $title): void $this->title = $title; } + public function setSlug(?string $slug): void + { + $this->slug = $slug ?? $this->title; + } + public function setContent(string $content): void { $this->content = $content; diff --git a/app/Model/Database/Basic/Entity/Book.php b/app/Model/Database/Basic/Entity/Book.php index 3eeaead..58dcf64 100644 --- a/app/Model/Database/Basic/Entity/Book.php +++ b/app/Model/Database/Basic/Entity/Book.php @@ -5,10 +5,8 @@ use App\Model\Database\Entity\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; -use Doctrine\ORM\Event\LifecycleEventArgs; +use Doctrine\ORM\Event\PreRemoveEventArgs; use Doctrine\ORM\Mapping as ORM; -use LogicException; -use Nettrine\ORM\Entity\Attributes\Id; /** * @ORM\Entity(repositoryClass="App\Model\Database\Basic\Repository\BookRepository") @@ -17,7 +15,12 @@ class Book extends Entity { - use Id; + /** + * @ORM\Column(name="id", type="integer") + * @ORM\Id + * @ORM\GeneratedValue + */ + private int $id; /** @ORM\Column(type="string") */ private string $title; @@ -48,6 +51,11 @@ public function __construct() $this->tags = new ArrayCollection(); } + public function getId(): int + { + return $this->id; + } + public function getTitle(): string { return $this->title; @@ -102,10 +110,6 @@ public function getUpdatedAt(): ?string public function onPrePersist(): void { $this->createdAt = $this->getCurrentDate(); - - if ($this->id !== null) { - throw new LogicException('Entity id field should be null during prePersistEvent'); - } } /** @@ -119,7 +123,7 @@ public function onPreUpdate(): void /** * @ORM\PreRemove() */ - public function onPreRemove(LifecycleEventArgs $args): void + public function onPreRemove(PreRemoveEventArgs $args): void { /* * Note - remove will call SQL delete command that removes the record from DB diff --git a/app/Model/Database/Basic/Entity/Category.php b/app/Model/Database/Basic/Entity/Category.php index 78f12af..c75c5e7 100644 --- a/app/Model/Database/Basic/Entity/Category.php +++ b/app/Model/Database/Basic/Entity/Category.php @@ -6,7 +6,6 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; -use Nettrine\ORM\Entity\Attributes\Id; /** * @ORM\Entity(repositoryClass="App\Model\Database\Basic\Repository\CategoryRepository") @@ -14,7 +13,12 @@ class Category extends Entity { - use Id; + /** + * @ORM\Column(name="id", type="integer") + * @ORM\Id + * @ORM\GeneratedValue + */ + private int $id; /** @ORM\Column(type="string") */ private string $title; @@ -33,6 +37,11 @@ public function __construct() $this->books = new ArrayCollection(); } + public function getId(): int + { + return $this->id; + } + public function getTitle(): string { return $this->title; diff --git a/app/Model/Database/Basic/Entity/Tag.php b/app/Model/Database/Basic/Entity/Tag.php index fcded80..f74026c 100644 --- a/app/Model/Database/Basic/Entity/Tag.php +++ b/app/Model/Database/Basic/Entity/Tag.php @@ -6,7 +6,6 @@ use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; -use Nettrine\ORM\Entity\Attributes\Id; /** * @ORM\Entity(repositoryClass="App\Model\Database\Basic\Repository\TagRepository") @@ -14,7 +13,12 @@ class Tag extends Entity { - use Id; + /** + * @ORM\Column(name="id", type="integer") + * @ORM\Id + * @ORM\GeneratedValue + */ + private int $id; /** @ORM\Column(type="string") */ private string $title; @@ -33,6 +37,11 @@ public function __construct() $this->books = new ArrayCollection(); } + public function getId(): int + { + return $this->id; + } + public function getTitle(): string { return $this->title; diff --git a/app/Model/Database/Entity/Entity.php b/app/Model/Database/Entity/Entity.php index f9779e0..5db5b48 100644 --- a/app/Model/Database/Entity/Entity.php +++ b/app/Model/Database/Entity/Entity.php @@ -10,9 +10,6 @@ abstract class Entity { - /** - * @return string - */ protected function getCurrentDate(): string { return (new DateTime())->format(DATE_W3C); diff --git a/app/Model/Service/LibraryLimiter.php b/app/Model/Service/LibraryLimiter.php index 645e22e..03d4f10 100644 --- a/app/Model/Service/LibraryLimiter.php +++ b/app/Model/Service/LibraryLimiter.php @@ -3,9 +3,9 @@ namespace App\Model\Service; use Doctrine\Common\EventSubscriber; -use Doctrine\DBAL\Event\ConnectionEventArgs; -use Doctrine\DBAL\Events; -use LengthException; + +//use Doctrine\DBAL\Event\ConnectionEventArgs; +//use Doctrine\DBAL\Events; /** * Naive implementation of library limiter that checks the size of book library @@ -26,20 +26,22 @@ final class LibraryLimiter implements EventSubscriber */ public function getSubscribedEvents(): array { - return [Events::postConnect]; + return [ + //Events::postConnect + ]; } - public function postConnect(ConnectionEventArgs $args): void + /*public function postConnect(ConnectionEventArgs $args): void { - $schemaManager = $args->getConnection()->getSchemaManager(); + $schemaManager = $args->getConnection()->createSchemaManager(); if ($schemaManager->tablesExist(['book']) === true) { - $all = $args->getConnection()->fetchAll('SELECT id FROM book'); + $all = $args->getConnection()->fetchAllAssociative('SELECT id FROM book'); if (count($all) > self::LIBRARY_MAX_SIZE) { throw new LengthException('Oops. Too many books were placed in such a small library and it collapsed.'); } } - } + }*/ } diff --git a/composer.json b/composer.json index ea193c4..efd0995 100644 --- a/composer.json +++ b/composer.json @@ -12,7 +12,7 @@ "license": "MIT", "type": "project", "require": { - "php": ">=8.0", + "php": ">=8.1", "contributte/bootstrap": "^0.6.0", "contributte/application": "^0.5.0", @@ -20,30 +20,27 @@ "contributte/cache": "^0.6.0", "contributte/http": "^0.4.0", "contributte/forms": "^0.5.0", - "contributte/mail": "^0.7.0", + "contributte/mail": "^0.8.0", "contributte/security": "^0.4.0", - "contributte/utils": "^0.5.0", - "contributte/latte": "^0.5.0", - "contributte/tracy": "^0.5.0", - "contributte/console": "~0.9.0", + "contributte/utils": "^0.7.0", + "contributte/latte": "^0.6.0", + "contributte/tracy": "^0.6.0", + "contributte/console": "~0.10.0", "contributte/translation": "~2.0.0", - "contributte/neonizer": "~0.5.0", + "contributte/neonizer": "~0.6.0", "nettrine/dbal": "~0.8.0", "nettrine/orm": "~0.8.0", - "nettrine/migrations": "~0.8.0", - "nettrine/fixtures": "~0.6.0", + "nettrine/migrations": "~0.9.0", + "nettrine/fixtures": "~0.7.0", "nettrine/extensions-atlantic18": "~0.6.0" }, "require-dev": { - "contributte/dev": "^0.4", - "ninjify/qa": "^0.13", - "ninjify/nunjuck": "^0.4", - "phpstan/phpstan": "^1.0", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan-nette": "^1.0", - "phpstan/phpstan-doctrine": "^1.0", - "phpstan/phpstan-strict-rules": "^1.0" + "contributte/qa": "^0.3", + "contributte/tester": "^0.3", + "contributte/phpstan": "^0.1", + "contributte/dev": "^0.5", + "phpstan/phpstan-doctrine": "^1.3.40" }, "autoload": { "psr-4": { @@ -51,6 +48,11 @@ "DB\\": "db" } }, + "autoload-dev": { + "psr-4": { + "Tests\\": "tests" + } + }, "prefer-stable": true, "minimum-stability": "dev", @@ -77,7 +79,8 @@ }, "config": { "allow-plugins": { - "dealerdirect/phpcodesniffer-composer-installer": true + "dealerdirect/phpcodesniffer-composer-installer": true, + "phpstan/extension-installer": true } } } diff --git a/composer.lock b/composer.lock index 0717af0..0b6d00b 100644 --- a/composer.lock +++ b/composer.lock @@ -4,34 +4,34 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "e60a89a3eab74cb5c2d4b650ba172645", + "content-hash": "82547e056b0a7ba75f6ad0097ec7e54e", "packages": [ { "name": "behat/transliterator", - "version": "v1.3.0", + "version": "v1.5.0", "source": { "type": "git", "url": "https://github.com/Behat/Transliterator.git", - "reference": "3c4ec1d77c3d05caa1f0bf8fb3aae4845005c7fc" + "reference": "baac5873bac3749887d28ab68e2f74db3a4408af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Behat/Transliterator/zipball/3c4ec1d77c3d05caa1f0bf8fb3aae4845005c7fc", - "reference": "3c4ec1d77c3d05caa1f0bf8fb3aae4845005c7fc", + "url": "https://api.github.com/repos/Behat/Transliterator/zipball/baac5873bac3749887d28ab68e2f74db3a4408af", + "reference": "baac5873bac3749887d28ab68e2f74db3a4408af", "shasum": "" }, "require": { - "php": ">=5.3.3" + "php": ">=7.2" }, "require-dev": { "chuyskywalker/rolling-curl": "^3.1", "php-yaoi/php-yaoi": "^1.0", - "phpunit/phpunit": "^4.8.36|^6.3" + "phpunit/phpunit": "^8.5.25 || ^9.5.19" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2-dev" + "dev-master": "1.x-dev" } }, "autoload": { @@ -51,9 +51,9 @@ ], "support": { "issues": "https://github.com/Behat/Transliterator/issues", - "source": "https://github.com/Behat/Transliterator/tree/v1.3.0" + "source": "https://github.com/Behat/Transliterator/tree/v1.5.0" }, - "time": "2020-01-14T16:39:13+00:00" + "time": "2022-03-30T09:27:43+00:00" }, { "name": "contributte/application", @@ -272,37 +272,35 @@ }, { "name": "contributte/console", - "version": "v0.9.4", + "version": "v0.10.1", "source": { "type": "git", "url": "https://github.com/contributte/console.git", - "reference": "1021a24c98dff6ecdf4cc3d77cc3db159959b45c" + "reference": "dc2b84fb8dd795ea9988f396311aeed435aed495" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/contributte/console/zipball/1021a24c98dff6ecdf4cc3d77cc3db159959b45c", - "reference": "1021a24c98dff6ecdf4cc3d77cc3db159959b45c", + "url": "https://api.github.com/repos/contributte/console/zipball/dc2b84fb8dd795ea9988f396311aeed435aed495", + "reference": "dc2b84fb8dd795ea9988f396311aeed435aed495", "shasum": "" }, "require": { - "contributte/di": "^0.5.1|^0.6.0", - "php": ">=7.2", - "symfony/console": "^4.2.9|^5.0.0|^6.0.0" + "nette/di": "^3.1.8", + "php": ">=8.1", + "symfony/console": "^6.4.2 || ^7.0.2" }, "require-dev": { - "nette/http": "^3.0.1", - "ninjify/nunjuck": "^0.4", - "ninjify/qa": "^0.13.0", - "phpstan/phpstan": "^1.8.11", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-nette": "^1.1.0", - "phpstan/phpstan-strict-rules": "^1.4.4", - "symfony/event-dispatcher": "^4.3 || ^5.0 || ^6.0" + "contributte/phpstan": "^0.1", + "contributte/qa": "^0.4", + "contributte/tester": "^0.4", + "mockery/mockery": "^1.6.7", + "nette/http": "^3.2.3", + "symfony/event-dispatcher": "^6.4.2 || ^7.0.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.10.x-dev" + "dev-master": "0.11.x-dev" } }, "autoload": { @@ -329,7 +327,7 @@ ], "support": { "issues": "https://github.com/contributte/console/issues", - "source": "https://github.com/contributte/console/tree/v0.9.4" + "source": "https://github.com/contributte/console/tree/v0.10.1" }, "funding": [ { @@ -341,7 +339,7 @@ "type": "github" } ], - "time": "2023-08-17T08:31:22+00:00" + "time": "2024-01-04T20:10:58+00:00" }, { "name": "contributte/di", @@ -581,34 +579,28 @@ }, { "name": "contributte/latte", - "version": "v0.5.1", + "version": "v0.6.0", "source": { "type": "git", "url": "https://github.com/contributte/latte.git", - "reference": "04060e71302f923a2b6bf5d5f3f61537c41760b2" + "reference": "f558925e5b9e29e669f242fdfd3dcb520652b9c3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/contributte/latte/zipball/04060e71302f923a2b6bf5d5f3f61537c41760b2", - "reference": "04060e71302f923a2b6bf5d5f3f61537c41760b2", + "url": "https://api.github.com/repos/contributte/latte/zipball/f558925e5b9e29e669f242fdfd3dcb520652b9c3", + "reference": "f558925e5b9e29e669f242fdfd3dcb520652b9c3", "shasum": "" }, "require": { - "latte/latte": "^2.5.1", - "php": ">=7.2" - }, - "conflict": { - "nette/di": "<3.0.0" + "latte/latte": "^3.0.12", + "php": ">=8.1" }, "require-dev": { - "nette/application": "^3.0", - "nette/di": "~3.0.0", - "ninjify/nunjuck": "^0.4", - "ninjify/qa": "^0.12", - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-nette": "^1.0", - "phpstan/phpstan-strict-rules": "^1.0" + "contributte/phpstan": "^0.1", + "contributte/qa": "^0.4", + "contributte/tester": "^0.4", + "nette/application": "^3.1.14", + "nette/di": "^3.0.17" }, "suggest": { "nette/di": "to use VersionExtension[CompilerExtension]" @@ -616,7 +608,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "0.6.x-dev" + "dev-master": "0.7.x-dev" } }, "autoload": { @@ -643,7 +635,7 @@ ], "support": { "issues": "https://github.com/contributte/latte/issues", - "source": "https://github.com/contributte/latte/tree/v0.5.1" + "source": "https://github.com/contributte/latte/tree/v0.6.0" }, "funding": [ { @@ -655,36 +647,33 @@ "type": "github" } ], - "time": "2022-01-29T11:40:35+00:00" + "time": "2023-12-12T19:43:05+00:00" }, { "name": "contributte/mail", - "version": "v0.7.2", + "version": "v0.8.0", "source": { "type": "git", "url": "https://github.com/contributte/mail.git", - "reference": "e3a1834ab8f95743c42de866a846ec6f76faf5ab" + "reference": "7a1a4cd9e30aecaeb6968ecc936b8c73f4e89c17" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/contributte/mail/zipball/e3a1834ab8f95743c42de866a846ec6f76faf5ab", - "reference": "e3a1834ab8f95743c42de866a846ec6f76faf5ab", + "url": "https://api.github.com/repos/contributte/mail/zipball/7a1a4cd9e30aecaeb6968ecc936b8c73f4e89c17", + "reference": "7a1a4cd9e30aecaeb6968ecc936b8c73f4e89c17", "shasum": "" }, "require": { - "nette/mail": "^3.1.0 || ^4.0.0", - "nette/utils": "^3.2.9 || ^4.0.0", - "php": ">=8.0" + "nette/mail": "^4.0.2", + "nette/utils": "^4.0.3", + "php": ">=8.1" }, "require-dev": { - "contributte/qa": "^0.4.0", - "contributte/tester": "^0.2.0", - "mockery/mockery": "^1.5.1", + "contributte/phpstan": "^0.1", + "contributte/qa": "^0.4", + "contributte/tester": "^0.4", + "mockery/mockery": "^1.6.6", "nette/di": "^3.1.2", - "phpstan/phpstan": "^1.10.11", - "phpstan/phpstan-deprecation-rules": "^1.1.3", - "phpstan/phpstan-nette": "^1.2.4", - "phpstan/phpstan-strict-rules": "^1.5.1", "tracy/tracy": "^2.10.2" }, "suggest": { @@ -693,7 +682,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "0.7.x-dev" + "dev-master": "0.9.x-dev" } }, "autoload": { @@ -720,7 +709,7 @@ ], "support": { "issues": "https://github.com/contributte/mail/issues", - "source": "https://github.com/contributte/mail/tree/v0.7.2" + "source": "https://github.com/contributte/mail/tree/v0.8.0" }, "funding": [ { @@ -732,40 +721,37 @@ "type": "github" } ], - "time": "2023-12-01T16:45:50+00:00" + "time": "2023-12-01T16:50:26+00:00" }, { "name": "contributte/neonizer", - "version": "v0.5.0", + "version": "v0.6.0", "source": { "type": "git", "url": "https://github.com/contributte/neonizer.git", - "reference": "98e99ea3c42d3d8608fdd35ef2e59d38760a5bfc" + "reference": "7b5454b086326becd43cbe9c2716951daa6ab538" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/contributte/neonizer/zipball/98e99ea3c42d3d8608fdd35ef2e59d38760a5bfc", - "reference": "98e99ea3c42d3d8608fdd35ef2e59d38760a5bfc", + "url": "https://api.github.com/repos/contributte/neonizer/zipball/7b5454b086326becd43cbe9c2716951daa6ab538", + "reference": "7b5454b086326becd43cbe9c2716951daa6ab538", "shasum": "" }, "require": { - "nette/neon": "^3.0.0", - "php": ">=7.2" + "nette/neon": "^3.4.1", + "php": ">=8.1" }, "require-dev": { - "composer/composer": "^1.6.3", - "mockery/mockery": "^1.3.0", - "ninjify/nunjuck": "^0.4", - "ninjify/qa": "^0.12", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-deprecation-rules": "^0.12", - "phpstan/phpstan-nette": "^0.12", - "phpstan/phpstan-strict-rules": "^0.12" + "composer/composer": "^2.6.6", + "contributte/phpstan": "^0.1", + "contributte/qa": "^0.4", + "contributte/tester": "^0.3", + "mockery/mockery": "^1.5.1" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.5.x-dev" + "dev-master": "0.7.x-dev" } }, "autoload": { @@ -794,9 +780,19 @@ ], "support": { "issues": "https://github.com/contributte/neonizer/issues", - "source": "https://github.com/contributte/neonizer/tree/v0.5.0" + "source": "https://github.com/contributte/neonizer/tree/v0.6.0" }, - "time": "2020-12-20T15:17:11+00:00" + "funding": [ + { + "url": "https://contributte.org/partners.html", + "type": "custom" + }, + { + "url": "https://github.com/f3l1x", + "type": "github" + } + ], + "time": "2024-02-05T20:07:16+00:00" }, { "name": "contributte/security", @@ -866,40 +862,36 @@ }, { "name": "contributte/tracy", - "version": "v0.5.1", + "version": "v0.6.0", "source": { "type": "git", "url": "https://github.com/contributte/tracy.git", - "reference": "eefc7596f348145c23ce81653b89a68b79653e67" + "reference": "36b64184b8042fc59eff49a2a2d32c56c24298fe" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/contributte/tracy/zipball/eefc7596f348145c23ce81653b89a68b79653e67", - "reference": "eefc7596f348145c23ce81653b89a68b79653e67", + "url": "https://api.github.com/repos/contributte/tracy/zipball/36b64184b8042fc59eff49a2a2d32c56c24298fe", + "reference": "36b64184b8042fc59eff49a2a2d32c56c24298fe", "shasum": "" }, "require": { - "php": ">=7.2", - "tracy/tracy": "^2.7.0" + "php": ">=8.1", + "tracy/tracy": "^2.9.0" }, "conflict": { - "nette/di": "<3.0.0" + "nette/di": "<3.1.0" }, "require-dev": { - "nette/application": "~3.0.0", - "nette/di": "~3.0.0", - "nette/http": "~3.0.1", - "ninjify/nunjuck": "^0.4", - "ninjify/qa": "^0.12", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-deprecation-rules": "^0.12", - "phpstan/phpstan-nette": "^0.12", - "phpstan/phpstan-strict-rules": "^0.12" + "contributte/phpstan": "^0.1", + "contributte/qa": "^0.4", + "contributte/tester": "^0.3", + "mockery/mockery": "^1.5.0", + "nette/di": "^3.1.2" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.6.x-dev" + "dev-master": "0.7.x-dev" } }, "autoload": { @@ -915,13 +907,9 @@ { "name": "Milan Felix Šulc", "homepage": "https://f3l1x.io" - }, - { - "name": "Marek Bartoš", - "homepage": "https://marek-bartos.cz" } ], - "description": "Tuned Tracy Bars/Panels/BlueScreens for easy-developing", + "description": "Nette Tracy extensions for easy-developing", "homepage": "https://github.com/contributte/tracy", "keywords": [ "bluescreen", @@ -933,9 +921,19 @@ ], "support": { "issues": "https://github.com/contributte/tracy/issues", - "source": "https://github.com/contributte/tracy/tree/v0.5.1" + "source": "https://github.com/contributte/tracy/tree/v0.6.0" }, - "time": "2020-12-19T17:38:47+00:00" + "funding": [ + { + "url": "https://contributte.org/partners.html", + "type": "custom" + }, + { + "url": "https://github.com/f3l1x", + "type": "github" + } + ], + "time": "2023-07-31T15:00:21+00:00" }, { "name": "contributte/translation", @@ -1026,33 +1024,31 @@ }, { "name": "contributte/utils", - "version": "v0.5.2", + "version": "v0.7.0", "source": { "type": "git", "url": "https://github.com/contributte/utils.git", - "reference": "e2d9c380dbb179cf15a66555924ab2792b2c1769" + "reference": "74c01a1f2832dcb414a3c1a149f836943e193e88" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/contributte/utils/zipball/e2d9c380dbb179cf15a66555924ab2792b2c1769", - "reference": "e2d9c380dbb179cf15a66555924ab2792b2c1769", + "url": "https://api.github.com/repos/contributte/utils/zipball/74c01a1f2832dcb414a3c1a149f836943e193e88", + "reference": "74c01a1f2832dcb414a3c1a149f836943e193e88", "shasum": "" }, "require": { - "nette/utils": "^3.0.1", - "php": ">=7.2" + "nette/utils": "^4.0.0", + "php": ">=8.1" }, "conflict": { "nette/di": "<3.0.0" }, "require-dev": { - "nette/di": "^3.1.0", - "ninjify/nunjuck": "^0.4.0", - "ninjify/qa": "^0.12.0", - "phpstan/phpstan": "^1.9.0", - "phpstan/phpstan-deprecation-rules": "^1.1.0", - "phpstan/phpstan-nette": "^1.2.0", - "phpstan/phpstan-strict-rules": "^1.4.0" + "contributte/phpstan": "^0.1", + "contributte/qa": "^0.4", + "contributte/tester": "^0.3", + "mockery/mockery": "^1.5.0", + "nette/di": "^3.1.8" }, "suggest": { "nette/di": "to use DateTimeExtension[CompilerExtension]" @@ -1060,7 +1056,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "0.6.x-dev" + "dev-master": "0.7.x-dev" } }, "autoload": { @@ -1089,7 +1085,7 @@ ], "support": { "issues": "https://github.com/contributte/utils/issues", - "source": "https://github.com/contributte/utils/tree/v0.5.2" + "source": "https://github.com/contributte/utils/tree/v0.7.0" }, "funding": [ { @@ -1101,7 +1097,7 @@ "type": "github" } ], - "time": "2022-12-26T13:10:34+00:00" + "time": "2023-11-17T11:06:47+00:00" }, { "name": "doctrine/annotations", @@ -1280,32 +1276,34 @@ }, { "name": "doctrine/collections", - "version": "1.8.0", + "version": "2.1.4", "source": { "type": "git", "url": "https://github.com/doctrine/collections.git", - "reference": "2b44dd4cbca8b5744327de78bafef5945c7e7b5e" + "reference": "72328a11443a0de79967104ad36ba7b30bded134" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/2b44dd4cbca8b5744327de78bafef5945c7e7b5e", - "reference": "2b44dd4cbca8b5744327de78bafef5945c7e7b5e", + "url": "https://api.github.com/repos/doctrine/collections/zipball/72328a11443a0de79967104ad36ba7b30bded134", + "reference": "72328a11443a0de79967104ad36ba7b30bded134", "shasum": "" }, "require": { - "doctrine/deprecations": "^0.5.3 || ^1", - "php": "^7.1.3 || ^8.0" + "doctrine/deprecations": "^1", + "php": "^8.1" }, "require-dev": { - "doctrine/coding-standard": "^9.0 || ^10.0", - "phpstan/phpstan": "^1.4.8", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.1.5", - "vimeo/psalm": "^4.22" + "doctrine/coding-standard": "^12", + "ext-json": "*", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "^5.11" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections" + "Doctrine\\Common\\Collections\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1344,9 +1342,23 @@ ], "support": { "issues": "https://github.com/doctrine/collections/issues", - "source": "https://github.com/doctrine/collections/tree/1.8.0" + "source": "https://github.com/doctrine/collections/tree/2.1.4" }, - "time": "2022-09-01T20:12:10+00:00" + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcollections", + "type": "tidelift" + } + ], + "time": "2023-10-03T09:22:33+00:00" }, { "name": "doctrine/common", @@ -1441,38 +1453,40 @@ }, { "name": "doctrine/data-fixtures", - "version": "1.6.6", + "version": "1.7.0", "source": { "type": "git", "url": "https://github.com/doctrine/data-fixtures.git", - "reference": "4af35dadbfcf4b00abb2a217c4c8c8800cf5fcf4" + "reference": "bbcb74f2ac6dbe81a14b3c3687d7623490a0448f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/4af35dadbfcf4b00abb2a217c4c8c8800cf5fcf4", - "reference": "4af35dadbfcf4b00abb2a217c4c8c8800cf5fcf4", + "url": "https://api.github.com/repos/doctrine/data-fixtures/zipball/bbcb74f2ac6dbe81a14b3c3687d7623490a0448f", + "reference": "bbcb74f2ac6dbe81a14b3c3687d7623490a0448f", "shasum": "" }, "require": { "doctrine/deprecations": "^0.5.3 || ^1.0", - "doctrine/persistence": "^1.3.3 || ^2.0 || ^3.0", - "php": "^7.2 || ^8.0" + "doctrine/persistence": "^2.0|^3.0", + "php": "^7.4 || ^8.0" }, "conflict": { - "doctrine/dbal": "<2.13", - "doctrine/orm": "<2.12", + "doctrine/dbal": "<3.5 || >=5", + "doctrine/orm": "<2.14 || >=4", "doctrine/phpcr-odm": "<1.3.0" }, "require-dev": { - "doctrine/coding-standard": "^11.0", - "doctrine/dbal": "^2.13 || ^3.0", + "doctrine/annotations": "^1.12 || ^2", + "doctrine/coding-standard": "^12", + "doctrine/dbal": "^3.5 || ^4", "doctrine/mongodb-odm": "^1.3.0 || ^2.0.0", - "doctrine/orm": "^2.12", + "doctrine/orm": "^2.14 || ^3", "ext-sqlite3": "*", - "phpstan/phpstan": "^1.5", - "phpunit/phpunit": "^8.5 || ^9.5 || ^10.0", - "symfony/cache": "^5.0 || ^6.0", - "vimeo/psalm": "^4.10 || ^5.9" + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.6.13 || ^10.4.2", + "symfony/cache": "^5.4 || ^6.3 || ^7", + "symfony/var-exporter": "^5.4 || ^6.3 || ^7", + "vimeo/psalm": "^5.9" }, "suggest": { "alcaeus/mongo-php-adapter": "For using MongoDB ODM 1.3 with PHP 7 (deprecated)", @@ -1503,7 +1517,7 @@ ], "support": { "issues": "https://github.com/doctrine/data-fixtures/issues", - "source": "https://github.com/doctrine/data-fixtures/tree/1.6.6" + "source": "https://github.com/doctrine/data-fixtures/tree/1.7.0" }, "funding": [ { @@ -1519,20 +1533,20 @@ "type": "tidelift" } ], - "time": "2023-04-20T13:08:54+00:00" + "time": "2023-11-24T11:18:31+00:00" }, { "name": "doctrine/dbal", - "version": "3.6.3", + "version": "3.8.1", "source": { "type": "git", "url": "https://github.com/doctrine/dbal.git", - "reference": "9a747d29e7e6b39509b8f1847e37a23a0163ea6a" + "reference": "c9ea252cdce4da324ede3d6c5913dd89f769afd2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/9a747d29e7e6b39509b8f1847e37a23a0163ea6a", - "reference": "9a747d29e7e6b39509b8f1847e37a23a0163ea6a", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/c9ea252cdce4da324ede3d6c5913dd89f769afd2", + "reference": "c9ea252cdce4da324ede3d6c5913dd89f769afd2", "shasum": "" }, "require": { @@ -1547,14 +1561,15 @@ "require-dev": { "doctrine/coding-standard": "12.0.0", "fig/log-test": "^1", - "jetbrains/phpstorm-stubs": "2022.3", - "phpstan/phpstan": "1.10.14", + "jetbrains/phpstorm-stubs": "2023.1", + "phpstan/phpstan": "1.10.57", "phpstan/phpstan-strict-rules": "^1.5", - "phpunit/phpunit": "9.6.7", + "phpunit/phpunit": "9.6.16", "psalm/plugin-phpunit": "0.18.4", - "squizlabs/php_codesniffer": "3.7.2", - "symfony/cache": "^5.4|^6.0", - "symfony/console": "^4.4|^5.4|^6.0", + "slevomat/coding-standard": "8.13.1", + "squizlabs/php_codesniffer": "3.8.1", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/console": "^4.4|^5.4|^6.0|^7.0", "vimeo/psalm": "4.30.0" }, "suggest": { @@ -1615,7 +1630,7 @@ ], "support": { "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.6.3" + "source": "https://github.com/doctrine/dbal/tree/3.8.1" }, "funding": [ { @@ -1631,29 +1646,33 @@ "type": "tidelift" } ], - "time": "2023-06-01T05:46:46+00:00" + "time": "2024-02-03T17:33:49+00:00" }, { "name": "doctrine/deprecations", - "version": "v0.5.3", + "version": "1.1.3", "source": { "type": "git", "url": "https://github.com/doctrine/deprecations.git", - "reference": "9504165960a1f83cc1480e2be1dd0a0478561314" + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/9504165960a1f83cc1480e2be1dd0a0478561314", - "reference": "9504165960a1f83cc1480e2be1dd0a0478561314", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", "shasum": "" }, "require": { - "php": "^7.1|^8.0" + "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^6.0|^7.0|^8.0", - "phpunit/phpunit": "^7.0|^8.0|^9.0", - "psr/log": "^1.0" + "doctrine/coding-standard": "^9", + "phpstan/phpstan": "1.4.10 || 1.10.15", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psalm/plugin-phpunit": "0.18.4", + "psr/log": "^1 || ^2 || ^3", + "vimeo/psalm": "4.30.0 || 5.12.0" }, "suggest": { "psr/log": "Allows logging deprecations via PSR-3 logger implementation" @@ -1672,36 +1691,35 @@ "homepage": "https://www.doctrine-project.org/", "support": { "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/v0.5.3" + "source": "https://github.com/doctrine/deprecations/tree/1.1.3" }, - "time": "2021-03-21T12:59:47+00:00" + "time": "2024-01-30T19:34:25+00:00" }, { "name": "doctrine/event-manager", - "version": "1.2.0", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/doctrine/event-manager.git", - "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520" + "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/95aa4cb529f1e96576f3fda9f5705ada4056a520", - "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/750671534e0241a7c50ea5b43f67e23eb5c96f32", + "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32", "shasum": "" }, "require": { - "doctrine/deprecations": "^0.5.3 || ^1", - "php": "^7.1 || ^8.0" + "php": "^8.1" }, "conflict": { "doctrine/common": "<2.9" }, "require-dev": { - "doctrine/coding-standard": "^9 || ^10", - "phpstan/phpstan": "~1.4.10 || ^1.8.8", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.24" + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.8.8", + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "^4.28" }, "type": "library", "autoload": { @@ -1750,7 +1768,7 @@ ], "support": { "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/1.2.0" + "source": "https://github.com/doctrine/event-manager/tree/2.0.0" }, "funding": [ { @@ -1766,32 +1784,32 @@ "type": "tidelift" } ], - "time": "2022-10-12T20:51:15+00:00" + "time": "2022-10-12T20:59:15+00:00" }, { "name": "doctrine/inflector", - "version": "2.0.6", + "version": "2.0.9", "source": { "type": "git", "url": "https://github.com/doctrine/inflector.git", - "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024" + "reference": "2930cd5ef353871c821d5c43ed030d39ac8cfe65" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/d9d313a36c872fd6ee06d9a6cbcf713eaa40f024", - "reference": "d9d313a36c872fd6ee06d9a6cbcf713eaa40f024", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/2930cd5ef353871c821d5c43ed030d39ac8cfe65", + "reference": "2930cd5ef353871c821d5c43ed030d39ac8cfe65", "shasum": "" }, "require": { "php": "^7.2 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^10", + "doctrine/coding-standard": "^11.0", "phpstan/phpstan": "^1.8", "phpstan/phpstan-phpunit": "^1.1", "phpstan/phpstan-strict-rules": "^1.3", "phpunit/phpunit": "^8.5 || ^9.5", - "vimeo/psalm": "^4.25" + "vimeo/psalm": "^4.25 || ^5.4" }, "type": "library", "autoload": { @@ -1841,7 +1859,7 @@ ], "support": { "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.6" + "source": "https://github.com/doctrine/inflector/tree/2.0.9" }, "funding": [ { @@ -1857,34 +1875,34 @@ "type": "tidelift" } ], - "time": "2022-10-20T09:10:12+00:00" + "time": "2024-01-15T18:05:13+00:00" }, { "name": "doctrine/instantiator", - "version": "1.5.0", + "version": "2.0.0", "source": { "type": "git", "url": "https://github.com/doctrine/instantiator.git", - "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b" + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/0a0fa9780f5d4e507415a065172d26a98d02047b", - "reference": "0a0fa9780f5d4e507415a065172d26a98d02047b", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^8.1" }, "require-dev": { - "doctrine/coding-standard": "^9 || ^11", + "doctrine/coding-standard": "^11", "ext-pdo": "*", "ext-phar": "*", - "phpbench/phpbench": "^0.16 || ^1", - "phpstan/phpstan": "^1.4", - "phpstan/phpstan-phpunit": "^1", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.30 || ^5.4" + "phpbench/phpbench": "^1.2", + "phpstan/phpstan": "^1.9.4", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5.27", + "vimeo/psalm": "^5.4" }, "type": "library", "autoload": { @@ -1911,7 +1929,7 @@ ], "support": { "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/1.5.0" + "source": "https://github.com/doctrine/instantiator/tree/2.0.0" }, "funding": [ { @@ -1927,35 +1945,37 @@ "type": "tidelift" } ], - "time": "2022-12-30T00:15:36+00:00" + "time": "2022-12-30T00:23:10+00:00" }, { "name": "doctrine/lexer", - "version": "1.2.3", + "version": "2.1.1", "source": { "type": "git", "url": "https://github.com/doctrine/lexer.git", - "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229" + "reference": "861c870e8b75f7c8f69c146c7f89cc1c0f1b49b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229", - "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/861c870e8b75f7c8f69c146c7f89cc1c0f1b49b6", + "reference": "861c870e8b75f7c8f69c146c7f89cc1c0f1b49b6", "shasum": "" }, "require": { + "doctrine/deprecations": "^1.0", "php": "^7.1 || ^8.0" }, "require-dev": { - "doctrine/coding-standard": "^9.0", + "doctrine/coding-standard": "^9 || ^12", "phpstan/phpstan": "^1.3", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.11" + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^4.11 || ^5.21" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" + "Doctrine\\Common\\Lexer\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1987,7 +2007,7 @@ ], "support": { "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/1.2.3" + "source": "https://github.com/doctrine/lexer/tree/2.1.1" }, "funding": [ { @@ -2003,49 +2023,51 @@ "type": "tidelift" } ], - "time": "2022-02-28T11:07:21+00:00" + "time": "2024-02-05T11:35:39+00:00" }, { "name": "doctrine/migrations", - "version": "3.4.2", + "version": "3.7.2", "source": { "type": "git", "url": "https://github.com/doctrine/migrations.git", - "reference": "f9b4c8032276460afd9dfa62fb215734b4380d90" + "reference": "47af29eef49f29ebee545947e8b2a4b3be318c8a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/migrations/zipball/f9b4c8032276460afd9dfa62fb215734b4380d90", - "reference": "f9b4c8032276460afd9dfa62fb215734b4380d90", + "url": "https://api.github.com/repos/doctrine/migrations/zipball/47af29eef49f29ebee545947e8b2a4b3be318c8a", + "reference": "47af29eef49f29ebee545947e8b2a4b3be318c8a", "shasum": "" }, "require": { "composer-runtime-api": "^2", - "doctrine/dbal": "^2.11 || ^3.0", - "doctrine/deprecations": "^0.5.3", - "doctrine/event-manager": "^1.0", - "friendsofphp/proxy-manager-lts": "^1.0", - "php": "^7.2 || ^8.0", + "doctrine/dbal": "^3.5.1 || ^4", + "doctrine/deprecations": "^0.5.3 || ^1", + "doctrine/event-manager": "^1.2 || ^2.0", + "php": "^8.1", "psr/log": "^1.1.3 || ^2 || ^3", - "symfony/console": "^3.4 || ^4.4.16 || ^5.0 || ^6.0", - "symfony/stopwatch": "^3.4 || ^4.0 || ^5.0 || ^6.0" + "symfony/console": "^5.4 || ^6.0 || ^7.0", + "symfony/stopwatch": "^5.4 || ^6.0 || ^7.0", + "symfony/var-exporter": "^6.2 || ^7.0" + }, + "conflict": { + "doctrine/orm": "<2.12 || >=4" }, "require-dev": { - "doctrine/coding-standard": "^9", - "doctrine/orm": "^2.6", - "doctrine/persistence": "^1.3 || ^2.0", + "doctrine/coding-standard": "^12", + "doctrine/orm": "^2.13 || ^3", + "doctrine/persistence": "^2 || ^3", "doctrine/sql-formatter": "^1.0", - "ergebnis/composer-normalize": "^2.9", "ext-pdo_sqlite": "*", - "phpstan/phpstan": "^1.5", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/phpstan-strict-rules": "^1.1", - "phpstan/phpstan-symfony": "^1.1", - "phpunit/phpunit": "^8.5 || ^9.4", - "symfony/cache": "^3.4.26 || ^4.2.12 || ^5.0 || ^6.0", - "symfony/process": "^3.4 || ^4.0 || ^5.0 || ^6.0", - "symfony/yaml": "^3.4 || ^4.0 || ^5.0 || ^6.0" + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-deprecation-rules": "^1.1", + "phpstan/phpstan-phpunit": "^1.3", + "phpstan/phpstan-strict-rules": "^1.4", + "phpstan/phpstan-symfony": "^1.3", + "phpunit/phpunit": "^10.3", + "symfony/cache": "^5.4 || ^6.0 || ^7.0", + "symfony/process": "^5.4 || ^6.0 || ^7.0", + "symfony/yaml": "^5.4 || ^6.0 || ^7.0" }, "suggest": { "doctrine/sql-formatter": "Allows to generate formatted SQL with the diff command.", @@ -2055,12 +2077,6 @@ "bin/doctrine-migrations" ], "type": "library", - "extra": { - "composer-normalize": { - "indent-size": 4, - "indent-style": "space" - } - }, "autoload": { "psr-4": { "Doctrine\\Migrations\\": "lib/Doctrine/Migrations" @@ -2093,7 +2109,7 @@ ], "support": { "issues": "https://github.com/doctrine/migrations/issues", - "source": "https://github.com/doctrine/migrations/tree/3.4.2" + "source": "https://github.com/doctrine/migrations/tree/3.7.2" }, "funding": [ { @@ -2109,38 +2125,38 @@ "type": "tidelift" } ], - "time": "2022-04-01T06:38:22+00:00" + "time": "2023-12-05T11:35:05+00:00" }, { "name": "doctrine/orm", - "version": "2.14.3", + "version": "2.18.0", "source": { "type": "git", "url": "https://github.com/doctrine/orm.git", - "reference": "a64f315dfeae5e50b17f132626fd9e9b4ec8985d" + "reference": "f2176a9ce56cafdfd1624d54bfdb076819083d5b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/orm/zipball/a64f315dfeae5e50b17f132626fd9e9b4ec8985d", - "reference": "a64f315dfeae5e50b17f132626fd9e9b4ec8985d", + "url": "https://api.github.com/repos/doctrine/orm/zipball/f2176a9ce56cafdfd1624d54bfdb076819083d5b", + "reference": "f2176a9ce56cafdfd1624d54bfdb076819083d5b", "shasum": "" }, "require": { "composer-runtime-api": "^2", "doctrine/cache": "^1.12.1 || ^2.1.1", - "doctrine/collections": "^1.5 || ^2.0", + "doctrine/collections": "^1.5 || ^2.1", "doctrine/common": "^3.0.3", "doctrine/dbal": "^2.13.1 || ^3.2", "doctrine/deprecations": "^0.5.3 || ^1", "doctrine/event-manager": "^1.2 || ^2", "doctrine/inflector": "^1.4 || ^2.0", - "doctrine/instantiator": "^1.3", - "doctrine/lexer": "^1.2.3 || ^2", + "doctrine/instantiator": "^1.3 || ^2", + "doctrine/lexer": "^2 || ^3", "doctrine/persistence": "^2.4 || ^3", "ext-ctype": "*", "php": "^7.1 || ^8.0", "psr/cache": "^1 || ^2 || ^3", - "symfony/console": "^4.2 || ^5.0 || ^6.0", + "symfony/console": "^4.2 || ^5.0 || ^6.0 || ^7.0", "symfony/polyfill-php72": "^1.23", "symfony/polyfill-php80": "^1.16" }, @@ -2149,16 +2165,16 @@ }, "require-dev": { "doctrine/annotations": "^1.13 || ^2", - "doctrine/coding-standard": "^9.0.2 || ^11.0", + "doctrine/coding-standard": "^9.0.2 || ^12.0", "phpbench/phpbench": "^0.16.10 || ^1.0", - "phpstan/phpstan": "~1.4.10 || 1.10.6", + "phpstan/phpstan": "~1.4.10 || 1.10.35", "phpunit/phpunit": "^7.5 || ^8.5 || ^9.6", "psr/log": "^1 || ^2 || ^3", "squizlabs/php_codesniffer": "3.7.2", - "symfony/cache": "^4.4 || ^5.4 || ^6.0", - "symfony/var-exporter": "^4.4 || ^5.4 || ^6.2", - "symfony/yaml": "^3.4 || ^4.0 || ^5.0 || ^6.0", - "vimeo/psalm": "4.30.0 || 5.9.0" + "symfony/cache": "^4.4 || ^5.4 || ^6.4 || ^7.0", + "symfony/var-exporter": "^4.4 || ^5.4 || ^6.2 || ^7.0", + "symfony/yaml": "^3.4 || ^4.0 || ^5.0 || ^6.0 || ^7.0", + "vimeo/psalm": "4.30.0 || 5.16.0" }, "suggest": { "ext-dom": "Provides support for XSD validation for XML mapping files", @@ -2171,7 +2187,7 @@ "type": "library", "autoload": { "psr-4": { - "Doctrine\\ORM\\": "lib/Doctrine/ORM" + "Doctrine\\ORM\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -2208,50 +2224,46 @@ ], "support": { "issues": "https://github.com/doctrine/orm/issues", - "source": "https://github.com/doctrine/orm/tree/2.14.3" + "source": "https://github.com/doctrine/orm/tree/2.18.0" }, - "time": "2023-04-20T09:46:32+00:00" + "time": "2024-01-31T15:53:12+00:00" }, { "name": "doctrine/persistence", - "version": "2.5.7", + "version": "3.2.0", "source": { "type": "git", "url": "https://github.com/doctrine/persistence.git", - "reference": "e36f22765f4d10a7748228babbf73da5edfeed3c" + "reference": "63fee8c33bef740db6730eb2a750cd3da6495603" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine/persistence/zipball/e36f22765f4d10a7748228babbf73da5edfeed3c", - "reference": "e36f22765f4d10a7748228babbf73da5edfeed3c", + "url": "https://api.github.com/repos/doctrine/persistence/zipball/63fee8c33bef740db6730eb2a750cd3da6495603", + "reference": "63fee8c33bef740db6730eb2a750cd3da6495603", "shasum": "" }, "require": { - "doctrine/cache": "^1.11 || ^2.0", - "doctrine/collections": "^1.0", - "doctrine/deprecations": "^0.5.3 || ^1", "doctrine/event-manager": "^1 || ^2", - "php": "^7.1 || ^8.0", + "php": "^7.2 || ^8.0", "psr/cache": "^1.0 || ^2.0 || ^3.0" }, "conflict": { - "doctrine/annotations": "<1.0 || >=3.0", "doctrine/common": "<2.10" }, "require-dev": { "composer/package-versions-deprecated": "^1.11", - "doctrine/annotations": "^1 || ^2", - "doctrine/coding-standard": "^9 || ^11", + "doctrine/coding-standard": "^11", "doctrine/common": "^3.0", - "phpstan/phpstan": "~1.4.10 || 1.9.4", - "phpunit/phpunit": "^7.5.20 || ^8.5 || ^9.5", + "phpstan/phpstan": "1.9.4", + "phpstan/phpstan-phpunit": "^1", + "phpstan/phpstan-strict-rules": "^1.1", + "phpunit/phpunit": "^8.5 || ^9.5", "symfony/cache": "^4.4 || ^5.4 || ^6.0", "vimeo/psalm": "4.30.0 || 5.3.0" }, "type": "library", "autoload": { "psr-4": { - "Doctrine\\Common\\": "src/Common", "Doctrine\\Persistence\\": "src/Persistence" } }, @@ -2286,7 +2298,7 @@ } ], "description": "The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.", - "homepage": "https://doctrine-project.org/projects/persistence.html", + "homepage": "https://www.doctrine-project.org/projects/persistence.html", "keywords": [ "mapper", "object", @@ -2296,7 +2308,7 @@ ], "support": { "issues": "https://github.com/doctrine/persistence/issues", - "source": "https://github.com/doctrine/persistence/tree/2.5.7" + "source": "https://github.com/doctrine/persistence/tree/3.2.0" }, "funding": [ { @@ -2312,148 +2324,65 @@ "type": "tidelift" } ], - "time": "2023-02-03T15:51:16+00:00" - }, - { - "name": "friendsofphp/proxy-manager-lts", - "version": "v1.0.16", - "source": { - "type": "git", - "url": "https://github.com/FriendsOfPHP/proxy-manager-lts.git", - "reference": "ecadbdc9052e4ad08c60c8a02268712e50427f7c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/proxy-manager-lts/zipball/ecadbdc9052e4ad08c60c8a02268712e50427f7c", - "reference": "ecadbdc9052e4ad08c60c8a02268712e50427f7c", - "shasum": "" - }, - "require": { - "laminas/laminas-code": "~3.4.1|^4.0", - "php": ">=7.1", - "symfony/filesystem": "^4.4.17|^5.0|^6.0|^7.0" - }, - "conflict": { - "laminas/laminas-stdlib": "<3.2.1", - "zendframework/zend-stdlib": "<3.2.1" - }, - "replace": { - "ocramius/proxy-manager": "^2.1" - }, - "require-dev": { - "ext-phar": "*", - "symfony/phpunit-bridge": "^5.4|^6.0|^7.0" - }, - "type": "library", - "extra": { - "thanks": { - "name": "ocramius/proxy-manager", - "url": "https://github.com/Ocramius/ProxyManager" - } - }, - "autoload": { - "psr-4": { - "ProxyManager\\": "src/ProxyManager" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "https://ocramius.github.io/" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - } - ], - "description": "Adding support for a wider range of PHP versions to ocramius/proxy-manager", - "homepage": "https://github.com/FriendsOfPHP/proxy-manager-lts", - "keywords": [ - "aop", - "lazy loading", - "proxy", - "proxy pattern", - "service proxies" - ], - "support": { - "issues": "https://github.com/FriendsOfPHP/proxy-manager-lts/issues", - "source": "https://github.com/FriendsOfPHP/proxy-manager-lts/tree/v1.0.16" - }, - "funding": [ - { - "url": "https://github.com/Ocramius", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ocramius/proxy-manager", - "type": "tidelift" - } - ], - "time": "2023-05-24T07:17:17+00:00" + "time": "2023-05-17T18:32:04+00:00" }, { "name": "gedmo/doctrine-extensions", - "version": "v3.5.0", + "version": "v3.14.0", "source": { "type": "git", "url": "https://github.com/doctrine-extensions/DoctrineExtensions.git", - "reference": "dd1a1438a10e92910e5c510f631a568c19e6c00e" + "reference": "3b5b5cba476b4ae32a55ef69ef2e59d64d5893cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/doctrine-extensions/DoctrineExtensions/zipball/dd1a1438a10e92910e5c510f631a568c19e6c00e", - "reference": "dd1a1438a10e92910e5c510f631a568c19e6c00e", + "url": "https://api.github.com/repos/doctrine-extensions/DoctrineExtensions/zipball/3b5b5cba476b4ae32a55ef69ef2e59d64d5893cf", + "reference": "3b5b5cba476b4ae32a55ef69ef2e59d64d5893cf", "shasum": "" }, "require": { - "behat/transliterator": "~1.2", - "doctrine/annotations": "^1.13", - "doctrine/cache": "^1.11 || ^2.0", - "doctrine/collections": "^1.0", + "behat/transliterator": "^1.2", + "doctrine/annotations": "^1.13 || ^2.0", + "doctrine/collections": "^1.2 || ^2.0", "doctrine/common": "^2.13 || ^3.0", - "doctrine/event-manager": "^1.0", - "doctrine/persistence": "^1.3.3 || ^2.0", - "php": "^7.2 || ^8.0", + "doctrine/event-manager": "^1.2 || ^2.0", + "doctrine/persistence": "^2.2 || ^3.0", + "php": "^7.4 || ^8.0", "psr/cache": "^1 || ^2 || ^3", - "symfony/cache": "^4.4 || ^5.3 || ^6.0" + "symfony/cache": "^5.4 || ^6.0 || ^7.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0" }, "conflict": { - "doctrine/cache": "<1.11", - "doctrine/dbal": "<2.13.1 || ^3.0 <3.2", - "doctrine/mongodb-odm": "<2.2", - "doctrine/orm": "<2.10.2", + "doctrine/dbal": "<3.2", + "doctrine/mongodb-odm": "<2.3", + "doctrine/orm": "<2.14.0 || 2.16.0 || 2.16.1", "sebastian/comparator": "<2.0" }, "require-dev": { - "doctrine/dbal": "^2.13.1 || ^3.2", - "doctrine/deprecations": "^0.5.3", + "doctrine/cache": "^1.11 || ^2.0", + "doctrine/dbal": "^3.2", "doctrine/doctrine-bundle": "^2.3", - "doctrine/mongodb-odm": "^2.2", - "doctrine/orm": "^2.10.2", - "friendsofphp/php-cs-fixer": "^3.0", - "nesbot/carbon": "^2.55", - "phpstan/phpstan": "^1.1", + "doctrine/mongodb-odm": "^2.3", + "doctrine/orm": "^2.14.0", + "friendsofphp/php-cs-fixer": "^3.14.0", + "nesbot/carbon": "^2.71 || 3.x-dev as 3.0", + "phpstan/phpstan": "^1.10.2", "phpstan/phpstan-doctrine": "^1.0", "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^8.5 || ^9.5", - "symfony/console": "^4.4 || ^5.3 || ^6.0", - "symfony/phpunit-bridge": "^6.0", - "symfony/yaml": "^4.4 || ^5.3 || ^6.0" + "phpunit/phpunit": "^9.6", + "rector/rector": "^0.18", + "symfony/console": "^5.4 || ^6.0 || ^7.0", + "symfony/phpunit-bridge": "^6.0 || ^7.0", + "symfony/yaml": "^5.4 || ^6.0 || ^7.0" }, "suggest": { "doctrine/mongodb-odm": "to use the extensions with the MongoDB ODM", - "doctrine/orm": "to use the extensions with the ORM", - "symfony/cache": "to cache parsed annotations" + "doctrine/orm": "to use the extensions with the ORM" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.6-dev" + "dev-main": "3.13-dev" } }, "autoload": { @@ -2479,16 +2408,18 @@ "email": "david@liip.ch" } ], - "description": "Doctrine2 behavioral extensions", + "description": "Doctrine behavioral extensions", "homepage": "http://gediminasm.org/", "keywords": [ "Blameable", "behaviors", - "doctrine2", + "doctrine", "extensions", "gedmo", "loggable", "nestedset", + "odm", + "orm", "sluggable", "sortable", "timestampable", @@ -2499,120 +2430,73 @@ "support": { "email": "gediminas.morkevicius@gmail.com", "issues": "https://github.com/doctrine-extensions/DoctrineExtensions/issues", - "source": "https://github.com/doctrine-extensions/DoctrineExtensions/tree/v3.5.0", + "source": "https://github.com/doctrine-extensions/DoctrineExtensions/tree/v3.14.0", "wiki": "https://github.com/Atlantic18/DoctrineExtensions/tree/main/doc" }, - "time": "2022-01-10T21:29:33+00:00" + "funding": [ + { + "url": "https://github.com/l3pp4rd", + "type": "github" + }, + { + "url": "https://github.com/mbabker", + "type": "github" + }, + { + "url": "https://github.com/phansys", + "type": "github" + }, + { + "url": "https://github.com/stof", + "type": "github" + } + ], + "time": "2023-12-03T09:10:34+00:00" }, { - "name": "laminas/laminas-code", - "version": "4.7.1", + "name": "latte/latte", + "version": "v3.0.13", "source": { "type": "git", - "url": "https://github.com/laminas/laminas-code.git", - "reference": "91aabc066d5620428120800c0eafc0411e441a62" + "url": "https://github.com/nette/latte.git", + "reference": "462444d669809528b6f6ce191b616d747c9b4bfc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-code/zipball/91aabc066d5620428120800c0eafc0411e441a62", - "reference": "91aabc066d5620428120800c0eafc0411e441a62", + "url": "https://api.github.com/repos/nette/latte/zipball/462444d669809528b6f6ce191b616d747c9b4bfc", + "reference": "462444d669809528b6f6ce191b616d747c9b4bfc", "shasum": "" }, "require": { - "php": ">=7.4, <8.2" + "ext-json": "*", + "ext-tokenizer": "*", + "php": "8.0 - 8.3" + }, + "conflict": { + "nette/application": "<3.1.7", + "nette/caching": "<3.1.4" }, "require-dev": { - "doctrine/annotations": "^1.13.2", - "ext-phar": "*", - "laminas/laminas-coding-standard": "^2.3.0", - "laminas/laminas-stdlib": "^3.6.1", - "phpunit/phpunit": "^9.5.10", - "psalm/plugin-phpunit": "^0.17.0", - "vimeo/psalm": "^4.13.1" + "nette/php-generator": "^3.6 || ^4.0", + "nette/tester": "^2.0", + "nette/utils": "^3.0", + "phpstan/phpstan": "^1", + "tracy/tracy": "^2.3" }, "suggest": { - "doctrine/annotations": "Doctrine\\Common\\Annotations >=1.0 for annotation features", - "laminas/laminas-stdlib": "Laminas\\Stdlib component" + "ext-fileinfo": "to use filter |datastream", + "ext-iconv": "to use filters |reverse, |substring", + "ext-mbstring": "to use filters like lower, upper, capitalize, ...", + "nette/php-generator": "to use tag {templatePrint}", + "nette/utils": "to use filter |webalize" }, + "bin": [ + "bin/latte-lint" + ], "type": "library", - "autoload": { - "files": [ - "polyfill/ReflectionEnumPolyfill.php" - ], - "psr-4": { - "Laminas\\Code\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "Extensions to the PHP Reflection API, static code scanning, and code generation", - "homepage": "https://laminas.dev", - "keywords": [ - "code", - "laminas", - "laminasframework" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-code/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-code/issues", - "rss": "https://github.com/laminas/laminas-code/releases.atom", - "source": "https://github.com/laminas/laminas-code" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2022-11-21T01:32:31+00:00" - }, - { - "name": "latte/latte", - "version": "v2.11.7", - "source": { - "type": "git", - "url": "https://github.com/nette/latte.git", - "reference": "0ac0843a459790d471821f6a82f5d13db831a0d3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/latte/zipball/0ac0843a459790d471821f6a82f5d13db831a0d3", - "reference": "0ac0843a459790d471821f6a82f5d13db831a0d3", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-tokenizer": "*", - "php": "7.1 - 8.3" - }, - "conflict": { - "nette/application": "<2.4.1" - }, - "require-dev": { - "nette/php-generator": "^3.3.4", - "nette/tester": "^2.0", - "nette/utils": "^3.0", - "phpstan/phpstan": "^1", - "tracy/tracy": "^2.3" - }, - "suggest": { - "ext-fileinfo": "to use filter |datastream", - "ext-iconv": "to use filters |reverse, |substring", - "ext-mbstring": "to use filters like lower, upper, capitalize, ...", - "nette/php-generator": "to use tag {templatePrint}", - "nette/utils": "to use filter |webalize" - }, - "bin": [ - "bin/latte-lint" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.11-dev" + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" } }, "autoload": { @@ -2650,28 +2534,28 @@ ], "support": { "issues": "https://github.com/nette/latte/issues", - "source": "https://github.com/nette/latte/tree/v2.11.7" + "source": "https://github.com/nette/latte/tree/v3.0.13" }, - "time": "2023-10-18T17:16:11+00:00" + "time": "2024-01-09T13:54:57+00:00" }, { "name": "nette/application", - "version": "v3.1.13", + "version": "v3.1.14", "source": { "type": "git", "url": "https://github.com/nette/application.git", - "reference": "83f5144840a1aa38eb7bae58ce58a9d0c5f10177" + "reference": "0729ede7e66fad642046a3eb670d368845272573" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/application/zipball/83f5144840a1aa38eb7bae58ce58a9d0c5f10177", - "reference": "83f5144840a1aa38eb7bae58ce58a9d0c5f10177", + "url": "https://api.github.com/repos/nette/application/zipball/0729ede7e66fad642046a3eb670d368845272573", + "reference": "0729ede7e66fad642046a3eb670d368845272573", "shasum": "" }, "require": { "nette/component-model": "^3.0", "nette/http": "^3.0.2", - "nette/routing": "^3.0.2", + "nette/routing": "^3.0.5", "nette/utils": "^3.2.1 || ~4.0.0", "php": ">=7.2" }, @@ -2742,41 +2626,41 @@ ], "support": { "issues": "https://github.com/nette/application/issues", - "source": "https://github.com/nette/application/tree/v3.1.13" + "source": "https://github.com/nette/application/tree/v3.1.14" }, - "time": "2023-08-27T10:38:40+00:00" + "time": "2023-10-09T02:45:43+00:00" }, { "name": "nette/bootstrap", - "version": "v3.2.0", + "version": "v3.2.1", "source": { "type": "git", "url": "https://github.com/nette/bootstrap.git", - "reference": "7fde23cc8a8cf97d545baf0ad7f8cd47c73feb17" + "reference": "eeb1c9dc9f1391bd03aeeb6cc0e456ec9b247f5c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/bootstrap/zipball/7fde23cc8a8cf97d545baf0ad7f8cd47c73feb17", - "reference": "7fde23cc8a8cf97d545baf0ad7f8cd47c73feb17", + "url": "https://api.github.com/repos/nette/bootstrap/zipball/eeb1c9dc9f1391bd03aeeb6cc0e456ec9b247f5c", + "reference": "eeb1c9dc9f1391bd03aeeb6cc0e456ec9b247f5c", "shasum": "" }, "require": { "nette/di": "^3.1", "nette/utils": "^3.2.1 || ^4.0", - "php": ">=8.0 <8.3" + "php": "8.0 - 8.3" }, "conflict": { "tracy/tracy": "<2.6" }, "require-dev": { - "latte/latte": "^2.8", + "latte/latte": "^2.8 || ^3.0", "nette/application": "^3.1", "nette/caching": "^3.0", "nette/database": "^3.0", "nette/forms": "^3.0", "nette/http": "^3.0", - "nette/mail": "^3.0", - "nette/robot-loader": "^3.0", + "nette/mail": "^3.0 || ^4.0", + "nette/robot-loader": "^3.0 || ^4.0", "nette/safe-stream": "^2.2", "nette/security": "^3.0", "nette/tester": "^2.4", @@ -2823,35 +2707,35 @@ ], "support": { "issues": "https://github.com/nette/bootstrap/issues", - "source": "https://github.com/nette/bootstrap/tree/v3.2.0" + "source": "https://github.com/nette/bootstrap/tree/v3.2.1" }, - "time": "2023-01-13T04:09:35+00:00" + "time": "2023-09-23T01:12:54+00:00" }, { "name": "nette/caching", - "version": "v3.1.2", + "version": "v3.2.3", "source": { "type": "git", "url": "https://github.com/nette/caching.git", - "reference": "27d8f0048eb1a9c7e49e0268f39b2db7d3ce7ae9" + "reference": "6821d74c1db82c493c02c47f6485022d79b63176" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/caching/zipball/27d8f0048eb1a9c7e49e0268f39b2db7d3ce7ae9", - "reference": "27d8f0048eb1a9c7e49e0268f39b2db7d3ce7ae9", + "url": "https://api.github.com/repos/nette/caching/zipball/6821d74c1db82c493c02c47f6485022d79b63176", + "reference": "6821d74c1db82c493c02c47f6485022d79b63176", "shasum": "" }, "require": { "nette/finder": "^2.4 || ^3.0", - "nette/utils": "^2.4 || ^3.0", - "php": ">=7.2 <8.2" + "nette/utils": "^3.2 || ~4.0.0", + "php": "8.0 - 8.3" }, "require-dev": { - "latte/latte": "^2.10", - "nette/di": "^v3.0", - "nette/tester": "^2.0", - "phpstan/phpstan": "^0.12", - "tracy/tracy": "^2.4" + "latte/latte": "^2.11 || ^3.0", + "nette/di": "^3.1 || ^4.0", + "nette/tester": "^2.4", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.9" }, "suggest": { "ext-pdo_sqlite": "to use SQLiteStorage or SQLiteJournal" @@ -2859,7 +2743,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-master": "3.2-dev" } }, "autoload": { @@ -2894,9 +2778,9 @@ ], "support": { "issues": "https://github.com/nette/caching/issues", - "source": "https://github.com/nette/caching/tree/v3.1.2" + "source": "https://github.com/nette/caching/tree/v3.2.3" }, - "time": "2021-08-24T23:45:03+00:00" + "time": "2023-09-26T11:12:20+00:00" }, { "name": "nette/component-model", @@ -2962,36 +2846,36 @@ }, { "name": "nette/di", - "version": "v3.1.8", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/nette/di.git", - "reference": "adf475076dae08109dd0d57b1a48668d1d1bedf0" + "reference": "8140289e32e1b2bf2d8b5986bd92124b87fe6b2f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/di/zipball/adf475076dae08109dd0d57b1a48668d1d1bedf0", - "reference": "adf475076dae08109dd0d57b1a48668d1d1bedf0", + "url": "https://api.github.com/repos/nette/di/zipball/8140289e32e1b2bf2d8b5986bd92124b87fe6b2f", + "reference": "8140289e32e1b2bf2d8b5986bd92124b87fe6b2f", "shasum": "" }, "require": { "ext-tokenizer": "*", "nette/neon": "^3.3 || ^4.0", - "nette/php-generator": "^3.5.4 || ^4.0", - "nette/robot-loader": "^3.2 || ~4.0.0", + "nette/php-generator": "^4.1.3", + "nette/robot-loader": "^4.0", "nette/schema": "^1.2.5", - "nette/utils": "^3.2.5 || ~4.0.0", - "php": "7.2 - 8.3" + "nette/utils": "^4.0", + "php": "8.1 - 8.3" }, "require-dev": { - "nette/tester": "^2.4", + "nette/tester": "^2.5.2", "phpstan/phpstan": "^1.0", "tracy/tracy": "^2.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-master": "3.2-dev" } }, "autoload": { @@ -3028,47 +2912,33 @@ ], "support": { "issues": "https://github.com/nette/di/issues", - "source": "https://github.com/nette/di/tree/v3.1.8" + "source": "https://github.com/nette/di/tree/v3.2.0" }, - "time": "2023-11-03T00:12:52+00:00" + "time": "2024-02-06T01:22:10+00:00" }, { "name": "nette/finder", - "version": "v2.6.0", + "version": "v3.0.0", "source": { "type": "git", "url": "https://github.com/nette/finder.git", - "reference": "991aefb42860abeab8e003970c3809a9d83cb932" + "reference": "027395c638637de95c8e9fad49a7c51249404ed2" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/finder/zipball/991aefb42860abeab8e003970c3809a9d83cb932", - "reference": "991aefb42860abeab8e003970c3809a9d83cb932", + "url": "https://api.github.com/repos/nette/finder/zipball/027395c638637de95c8e9fad49a7c51249404ed2", + "reference": "027395c638637de95c8e9fad49a7c51249404ed2", "shasum": "" }, "require": { - "nette/utils": "^2.4 || ^3.0", - "php": ">=7.1" - }, - "conflict": { - "nette/nette": "<2.2" - }, - "require-dev": { - "nette/tester": "^2.0", - "phpstan/phpstan": "^0.12", - "tracy/tracy": "^2.3" + "nette/utils": "^4.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "2.6-dev" + "dev-master": "3.0-dev" } }, - "autoload": { - "classmap": [ - "src/" - ] - }, "notification-url": "https://packagist.org/downloads/", "license": [ "BSD-3-Clause", @@ -3095,41 +2965,44 @@ ], "support": { "issues": "https://github.com/nette/finder/issues", - "source": "https://github.com/nette/finder/tree/v2.6.0" + "source": "https://github.com/nette/finder/tree/v3.0.0" }, - "time": "2022-10-13T01:31:15+00:00" + "time": "2022-12-14T17:05:54+00:00" }, { "name": "nette/forms", - "version": "v3.1.10", + "version": "v3.1.15", "source": { "type": "git", "url": "https://github.com/nette/forms.git", - "reference": "12b4c12e9d65a4c97e10a37cee88fdd14db780b7" + "reference": "f373bcd5ea7a33672fa96035d4bf3110ab66ee44" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/forms/zipball/12b4c12e9d65a4c97e10a37cee88fdd14db780b7", - "reference": "12b4c12e9d65a4c97e10a37cee88fdd14db780b7", + "url": "https://api.github.com/repos/nette/forms/zipball/f373bcd5ea7a33672fa96035d4bf3110ab66ee44", + "reference": "f373bcd5ea7a33672fa96035d4bf3110ab66ee44", "shasum": "" }, "require": { "nette/component-model": "^3.0", "nette/http": "^3.1", "nette/utils": "^3.2.5 || ~4.0.0", - "php": ">=7.2 <8.3" + "php": "7.2 - 8.3" }, "conflict": { - "latte/latte": ">=3.1" + "latte/latte": ">=3.0.0 <3.0.12 || >=3.1" }, "require-dev": { - "latte/latte": "^2.10.2 || ^3.0.3", + "latte/latte": "^2.10.2 || ^3.0.12", "nette/application": "^3.0", "nette/di": "^3.0", "nette/tester": "^2.4", "phpstan/phpstan-nette": "^1", "tracy/tracy": "^2.9" }, + "suggest": { + "ext-intl": "to use date/time controls" + }, "type": "library", "extra": { "branch-alias": { @@ -3169,27 +3042,27 @@ ], "support": { "issues": "https://github.com/nette/forms/issues", - "source": "https://github.com/nette/forms/tree/v3.1.10" + "source": "https://github.com/nette/forms/tree/v3.1.15" }, - "time": "2023-01-19T14:37:56+00:00" + "time": "2024-01-21T22:22:16+00:00" }, { "name": "nette/http", - "version": "v3.2.3", + "version": "v3.3.0", "source": { "type": "git", "url": "https://github.com/nette/http.git", - "reference": "54d79711ff3a8dfd86201e3bdbdd6972177ea20b" + "reference": "c779293fb79e6d2a16d474cd19dce866615f3b9c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/http/zipball/54d79711ff3a8dfd86201e3bdbdd6972177ea20b", - "reference": "54d79711ff3a8dfd86201e3bdbdd6972177ea20b", + "url": "https://api.github.com/repos/nette/http/zipball/c779293fb79e6d2a16d474cd19dce866615f3b9c", + "reference": "c779293fb79e6d2a16d474cd19dce866615f3b9c", "shasum": "" }, "require": { - "nette/utils": "^3.2.1 || ~4.0.0", - "php": "7.2 - 8.3" + "nette/utils": "^4.0.4", + "php": "8.1 - 8.3" }, "conflict": { "nette/di": "<3.0.3", @@ -3203,12 +3076,15 @@ "tracy/tracy": "^2.8" }, "suggest": { - "ext-fileinfo": "to detect type of uploaded files" + "ext-fileinfo": "to detect MIME type of uploaded files by Nette\\Http\\FileUpload", + "ext-gd": "to use image function in Nette\\Http\\FileUpload", + "ext-intl": "to support punycode by Nette\\Http\\Url", + "ext-session": "to use Nette\\Http\\Session" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.2-dev" + "dev-master": "3.3-dev" } }, "autoload": { @@ -3247,37 +3123,34 @@ ], "support": { "issues": "https://github.com/nette/http/issues", - "source": "https://github.com/nette/http/tree/v3.2.3" + "source": "https://github.com/nette/http/tree/v3.3.0" }, - "time": "2023-11-02T02:43:54+00:00" + "time": "2024-01-30T18:16:20+00:00" }, { "name": "nette/mail", - "version": "v3.1.11", + "version": "v4.0.2", "source": { "type": "git", "url": "https://github.com/nette/mail.git", - "reference": "804d70278458452863a2d6be4c1d5bf5f91b3950" + "reference": "c0b81124284bee573ee968de98fe3dcf2c2a9b5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/mail/zipball/804d70278458452863a2d6be4c1d5bf5f91b3950", - "reference": "804d70278458452863a2d6be4c1d5bf5f91b3950", + "url": "https://api.github.com/repos/nette/mail/zipball/c0b81124284bee573ee968de98fe3dcf2c2a9b5e", + "reference": "c0b81124284bee573ee968de98fe3dcf2c2a9b5e", "shasum": "" }, "require": { "ext-iconv": "*", - "nette/utils": "^3.1 || ~4.0.0", - "php": "7.1 - 8.3" - }, - "conflict": { - "nette/di": "<3.0-stable" + "nette/utils": "^4.0", + "php": "8.0 - 8.3" }, "require-dev": { - "nette/di": "^3.0.0", - "nette/tester": "^2.0", - "phpstan/phpstan-nette": "^0.12", - "tracy/tracy": "^2.4" + "nette/di": "^3.1 || ^4.0", + "nette/tester": "^2.4", + "phpstan/phpstan-nette": "^1.0", + "tracy/tracy": "^2.8" }, "suggest": { "ext-fileinfo": "to detect type of attached files", @@ -3286,7 +3159,7 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -3321,9 +3194,9 @@ ], "support": { "issues": "https://github.com/nette/mail/issues", - "source": "https://github.com/nette/mail/tree/v3.1.11" + "source": "https://github.com/nette/mail/tree/v4.0.2" }, - "time": "2023-11-02T23:18:58+00:00" + "time": "2023-10-02T20:59:33+00:00" }, { "name": "nette/neon", @@ -3464,33 +3337,32 @@ }, { "name": "nette/robot-loader", - "version": "v3.4.2", + "version": "v4.0.1", "source": { "type": "git", "url": "https://github.com/nette/robot-loader.git", - "reference": "970c8f82be98ec54180c88a468cd2b057855d993" + "reference": "3a947efaff55d48e8cdba5b338bf3a4b708a624a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/robot-loader/zipball/970c8f82be98ec54180c88a468cd2b057855d993", - "reference": "970c8f82be98ec54180c88a468cd2b057855d993", + "url": "https://api.github.com/repos/nette/robot-loader/zipball/3a947efaff55d48e8cdba5b338bf3a4b708a624a", + "reference": "3a947efaff55d48e8cdba5b338bf3a4b708a624a", "shasum": "" }, "require": { "ext-tokenizer": "*", - "nette/finder": "^2.5 || ^3.0", - "nette/utils": "^3.0", - "php": ">=7.1" + "nette/utils": "^4.0", + "php": "8.0 - 8.3" }, "require-dev": { - "nette/tester": "^2.0", - "phpstan/phpstan": "^0.12", - "tracy/tracy": "^2.3" + "nette/tester": "^2.4", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.4-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -3525,38 +3397,38 @@ ], "support": { "issues": "https://github.com/nette/robot-loader/issues", - "source": "https://github.com/nette/robot-loader/tree/v3.4.2" + "source": "https://github.com/nette/robot-loader/tree/v4.0.1" }, - "time": "2022-12-14T15:41:06+00:00" + "time": "2023-09-26T18:09:36+00:00" }, { "name": "nette/routing", - "version": "v3.0.5", + "version": "v3.1.0", "source": { "type": "git", "url": "https://github.com/nette/routing.git", - "reference": "ff709ff9ed38a14c4fe3472534526593a8461ff5" + "reference": "f7419bc147164106cb03b3d331c85aff6cb81fc3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/routing/zipball/ff709ff9ed38a14c4fe3472534526593a8461ff5", - "reference": "ff709ff9ed38a14c4fe3472534526593a8461ff5", + "url": "https://api.github.com/repos/nette/routing/zipball/f7419bc147164106cb03b3d331c85aff6cb81fc3", + "reference": "f7419bc147164106cb03b3d331c85aff6cb81fc3", "shasum": "" }, "require": { - "nette/http": "^3.0 || ~4.0.0", - "nette/utils": "^3.0 || ~4.0.0", - "php": ">=7.1" + "nette/http": "^3.2 || ~4.0.0", + "nette/utils": "^4.0", + "php": "8.1 - 8.3" }, "require-dev": { - "nette/tester": "^2.0", + "nette/tester": "^2.5", "phpstan/phpstan": "^1", - "tracy/tracy": "^2.3" + "tracy/tracy": "^2.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.0-dev" + "dev-master": "3.1-dev" } }, "autoload": { @@ -3587,37 +3459,37 @@ ], "support": { "issues": "https://github.com/nette/routing/issues", - "source": "https://github.com/nette/routing/tree/v3.0.5" + "source": "https://github.com/nette/routing/tree/v3.1.0" }, - "time": "2023-10-08T21:37:46+00:00" + "time": "2024-01-21T21:13:45+00:00" }, { "name": "nette/schema", - "version": "v1.2.5", + "version": "v1.3.0", "source": { "type": "git", "url": "https://github.com/nette/schema.git", - "reference": "0462f0166e823aad657c9224d0f849ecac1ba10a" + "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/0462f0166e823aad657c9224d0f849ecac1ba10a", - "reference": "0462f0166e823aad657c9224d0f849ecac1ba10a", + "url": "https://api.github.com/repos/nette/schema/zipball/a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", + "reference": "a6d3a6d1f545f01ef38e60f375d1cf1f4de98188", "shasum": "" }, "require": { - "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", - "php": "7.1 - 8.3" + "nette/utils": "^4.0", + "php": "8.1 - 8.3" }, "require-dev": { - "nette/tester": "^2.3 || ^2.4", + "nette/tester": "^2.4", "phpstan/phpstan-nette": "^1.0", - "tracy/tracy": "^2.7" + "tracy/tracy": "^2.8" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.2-dev" + "dev-master": "1.3-dev" } }, "autoload": { @@ -3649,43 +3521,44 @@ ], "support": { "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.2.5" + "source": "https://github.com/nette/schema/tree/v1.3.0" }, - "time": "2023-10-05T20:37:59+00:00" + "time": "2023-12-11T11:54:22+00:00" }, { "name": "nette/security", - "version": "v3.1.5", + "version": "v3.2.0", "source": { "type": "git", "url": "https://github.com/nette/security.git", - "reference": "c120893f561b09494486c66594720b2abcb099b2" + "reference": "fe89d52697036fb2e14835dfb46b696d28a9ebf6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/security/zipball/c120893f561b09494486c66594720b2abcb099b2", - "reference": "c120893f561b09494486c66594720b2abcb099b2", + "url": "https://api.github.com/repos/nette/security/zipball/fe89d52697036fb2e14835dfb46b696d28a9ebf6", + "reference": "fe89d52697036fb2e14835dfb46b696d28a9ebf6", "shasum": "" }, "require": { - "nette/utils": "^3.2.1", - "php": ">=7.2 <8.2" + "nette/utils": "^4.0", + "php": "8.1 - 8.3" }, "conflict": { "nette/di": "<3.0-stable", "nette/http": "<3.1.3" }, "require-dev": { - "nette/di": "^3.0.1", - "nette/http": "^3.0.0", - "nette/tester": "^2.0", - "phpstan/phpstan-nette": "^0.12", - "tracy/tracy": "^2.4" + "mockery/mockery": "^1.5", + "nette/di": "^3.1", + "nette/http": "^3.2", + "nette/tester": "^2.5", + "phpstan/phpstan-nette": "^1.0", + "tracy/tracy": "^2.9" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.1-dev" + "dev-master": "3.2-dev" } }, "autoload": { @@ -3719,35 +3592,36 @@ ], "support": { "issues": "https://github.com/nette/security/issues", - "source": "https://github.com/nette/security/tree/v3.1.5" + "source": "https://github.com/nette/security/tree/v3.2.0" }, - "time": "2021-09-20T15:20:25+00:00" + "time": "2024-01-21T21:33:53+00:00" }, { "name": "nette/utils", - "version": "v3.2.10", + "version": "v4.0.4", "source": { "type": "git", "url": "https://github.com/nette/utils.git", - "reference": "a4175c62652f2300c8017fb7e640f9ccb11648d2" + "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/a4175c62652f2300c8017fb7e640f9ccb11648d2", - "reference": "a4175c62652f2300c8017fb7e640f9ccb11648d2", + "url": "https://api.github.com/repos/nette/utils/zipball/d3ad0aa3b9f934602cb3e3902ebccf10be34d218", + "reference": "d3ad0aa3b9f934602cb3e3902ebccf10be34d218", "shasum": "" }, "require": { - "php": ">=7.2 <8.4" + "php": ">=8.0 <8.4" }, "conflict": { - "nette/di": "<3.0.6" + "nette/finder": "<3", + "nette/schema": "<1.2.2" }, "require-dev": { "jetbrains/phpstorm-attributes": "dev-master", - "nette/tester": "~2.0", + "nette/tester": "^2.5", "phpstan/phpstan": "^1.0", - "tracy/tracy": "^2.3" + "tracy/tracy": "^2.9" }, "suggest": { "ext-gd": "to use Image", @@ -3755,13 +3629,12 @@ "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", "ext-json": "to use Nette\\Utils\\Json", "ext-mbstring": "to use Strings::lower() etc...", - "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()", - "ext-xml": "to use Strings::length() etc. when mbstring is not available" + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "3.2-dev" + "dev-master": "4.0-dev" } }, "autoload": { @@ -3805,9 +3678,9 @@ ], "support": { "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v3.2.10" + "source": "https://github.com/nette/utils/tree/v4.0.4" }, - "time": "2023-07-30T15:38:18+00:00" + "time": "2024-01-17T16:50:36+00:00" }, { "name": "nettrine/annotations", @@ -4049,12 +3922,12 @@ "version": "v0.6.0", "source": { "type": "git", - "url": "https://github.com/nettrine/extensions-atlantic18.git", + "url": "https://github.com/contributte/doctrine-extensions-atlantic18.git", "reference": "14c1812da3a430e36cb9bcbb4c19c9e502a4e58f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nettrine/extensions-atlantic18/zipball/14c1812da3a430e36cb9bcbb4c19c9e502a4e58f", + "url": "https://api.github.com/repos/contributte/doctrine-extensions-atlantic18/zipball/14c1812da3a430e36cb9bcbb4c19c9e502a4e58f", "reference": "14c1812da3a430e36cb9bcbb4c19c9e502a4e58f", "shasum": "" }, @@ -4104,45 +3977,52 @@ "orm" ], "support": { - "issues": "https://github.com/nettrine/extensions-atlantic18/issues", - "source": "https://github.com/nettrine/extensions-atlantic18/tree/v0.6.0" + "issues": "https://github.com/contributte/doctrine-extensions-atlantic18/issues", + "source": "https://github.com/contributte/doctrine-extensions-atlantic18/tree/v0.6.0" }, + "funding": [ + { + "url": "https://contributte.org/partners.html", + "type": "custom" + }, + { + "url": "https://github.com/f3l1x", + "type": "github" + } + ], "time": "2021-01-28T08:33:18+00:00" }, { "name": "nettrine/fixtures", - "version": "v0.6.4", + "version": "v0.7.2", "source": { "type": "git", "url": "https://github.com/contributte/doctrine-fixtures.git", - "reference": "ec9bc51ddc3222de778e4e51b42a69358cfcffe0" + "reference": "c5746665459f355230cef6368974301d2497c4dd" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/contributte/doctrine-fixtures/zipball/ec9bc51ddc3222de778e4e51b42a69358cfcffe0", - "reference": "ec9bc51ddc3222de778e4e51b42a69358cfcffe0", + "url": "https://api.github.com/repos/contributte/doctrine-fixtures/zipball/c5746665459f355230cef6368974301d2497c4dd", + "reference": "c5746665459f355230cef6368974301d2497c4dd", "shasum": "" }, "require": { - "contributte/di": "^0.5.0", - "doctrine/data-fixtures": "^1.4.4", - "doctrine/orm": "^2.6.3", - "php": ">=7.2", - "symfony/console": "^4.2.5|^5.0.0|^6.0.0" + "doctrine/data-fixtures": "^1.6.6", + "doctrine/orm": "^2.15.2", + "nette/di": "^3.1.2", + "php": ">=8.1", + "symfony/console": "^6.2.0" }, "require-dev": { - "mockery/mockery": "^1.3.3", - "ninjify/nunjuck": "^0.4", - "ninjify/qa": "^0.13", - "phpstan/phpstan": "^1.4.0", - "phpstan/phpstan-deprecation-rules": "^1.0.0", - "phpstan/phpstan-nette": "^1.0.0", - "phpstan/phpstan-strict-rules": "^1.0.0" + "contributte/phpstan": "^0.1", + "contributte/qa": "^0.4", + "contributte/tester": "^0.3", + "mockery/mockery": "^1.3.3" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.7.x-dev" + "dev-master": "0.8.x-dev" } }, "autoload": { @@ -4173,7 +4053,7 @@ ], "support": { "issues": "https://github.com/contributte/doctrine-fixtures/issues", - "source": "https://github.com/contributte/doctrine-fixtures/tree/v0.6.4" + "source": "https://github.com/contributte/doctrine-fixtures/tree/v0.7.2" }, "funding": [ { @@ -4185,42 +4065,39 @@ "type": "github" } ], - "time": "2022-12-13T20:52:19+00:00" + "time": "2023-10-03T23:24:34+00:00" }, { "name": "nettrine/migrations", - "version": "v0.8.1", + "version": "v0.9.1", "source": { "type": "git", "url": "https://github.com/contributte/doctrine-migrations.git", - "reference": "198eebdbcfb26db2135ea053175e17fde708eb08" + "reference": "a201572c58184e912b96e7fa96d656e6bd1bd09f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/contributte/doctrine-migrations/zipball/198eebdbcfb26db2135ea053175e17fde708eb08", - "reference": "198eebdbcfb26db2135ea053175e17fde708eb08", + "url": "https://api.github.com/repos/contributte/doctrine-migrations/zipball/a201572c58184e912b96e7fa96d656e6bd1bd09f", + "reference": "a201572c58184e912b96e7fa96d656e6bd1bd09f", "shasum": "" }, "require": { - "contributte/di": "^0.5.0", - "doctrine/migrations": "^3.1.0", - "php": ">=7.2", - "symfony/console": "^4.2.5|^5.0.0|^6.0.0" + "doctrine/migrations": "^3.6.0", + "nette/di": "^3.1.2", + "php": ">=8.1", + "symfony/console": "^6.2.0" }, "require-dev": { + "contributte/phpstan": "^0.1", + "contributte/qa": "^0.4", + "contributte/tester": "^0.3", "doctrine/orm": "^2.6", - "mockery/mockery": "^1.3.0", - "ninjify/nunjuck": "^0.4", - "ninjify/qa": "^0.13", - "phpstan/phpstan": "^1.4.0", - "phpstan/phpstan-deprecation-rules": "^1.0.0", - "phpstan/phpstan-nette": "^1.0.0", - "phpstan/phpstan-strict-rules": "^1.0.0" + "mockery/mockery": "^1.3.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.9.x-dev" + "dev-master": "0.10.x-dev" } }, "autoload": { @@ -4251,7 +4128,7 @@ ], "support": { "issues": "https://github.com/contributte/doctrine-migrations/issues", - "source": "https://github.com/contributte/doctrine-migrations/tree/v0.8.1" + "source": "https://github.com/contributte/doctrine-migrations/tree/v0.9.1" }, "funding": [ { @@ -4263,7 +4140,7 @@ "type": "github" } ], - "time": "2022-12-27T18:27:17+00:00" + "time": "2023-07-03T16:24:04+00:00" }, { "name": "nettrine/orm", @@ -4501,25 +4378,25 @@ }, { "name": "symfony/cache", - "version": "v6.0.2", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/cache.git", - "reference": "41bdcb2d067c68f338b0cfd46a86abd8309b4153" + "reference": "49f8cdee544a621a621cd21b6cda32a38926d310" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/41bdcb2d067c68f338b0cfd46a86abd8309b4153", - "reference": "41bdcb2d067c68f338b0cfd46a86abd8309b4153", + "url": "https://api.github.com/repos/symfony/cache/zipball/49f8cdee544a621a621cd21b6cda32a38926d310", + "reference": "49f8cdee544a621a621cd21b6cda32a38926d310", "shasum": "" }, "require": { - "php": ">=8.0.2", + "php": ">=8.1", "psr/cache": "^2.0|^3.0", "psr/log": "^1.1|^2|^3", - "symfony/cache-contracts": "^1.1.7|^2|^3", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/var-exporter": "^5.4|^6.0" + "symfony/cache-contracts": "^2.5|^3", + "symfony/service-contracts": "^2.5|^3", + "symfony/var-exporter": "^6.3.6|^7.0" }, "conflict": { "doctrine/dbal": "<2.13.1", @@ -4534,21 +4411,24 @@ }, "require-dev": { "cache/integration-tests": "dev-master", - "doctrine/dbal": "^2.13.1|^3.0", - "predis/predis": "^1.1", + "doctrine/dbal": "^2.13.1|^3|^4", + "predis/predis": "^1.1|^2.0", "psr/simple-cache": "^1.0|^2.0|^3.0", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/filesystem": "^5.4|^6.0", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/messenger": "^5.4|^6.0", - "symfony/var-dumper": "^5.4|^6.0" + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/filesystem": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { "psr-4": { "Symfony\\Component\\Cache\\": "" }, + "classmap": [ + "Traits/ValueWrapper.php" + ], "exclude-from-classmap": [ "/Tests/" ] @@ -4567,14 +4447,14 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Provides an extended PSR-6, PSR-16 (and tags) implementation", + "description": "Provides extended PSR-6, PSR-16 (and tags) implementations", "homepage": "https://symfony.com", "keywords": [ "caching", "psr6" ], "support": { - "source": "https://github.com/symfony/cache/tree/v6.0.2" + "source": "https://github.com/symfony/cache/tree/v6.4.3" }, "funding": [ { @@ -4590,33 +4470,30 @@ "type": "tidelift" } ], - "time": "2021-12-29T13:00:11+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/cache-contracts", - "version": "v3.0.2", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/cache-contracts.git", - "reference": "1c0a181c9ee221afe4fa55b2d13fc63c5ae14348" + "reference": "1d74b127da04ffa87aa940abe15446fa89653778" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/1c0a181c9ee221afe4fa55b2d13fc63c5ae14348", - "reference": "1c0a181c9ee221afe4fa55b2d13fc63c5ae14348", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/1d74b127da04ffa87aa940abe15446fa89653778", + "reference": "1d74b127da04ffa87aa940abe15446fa89653778", "shasum": "" }, "require": { - "php": ">=8.0.2", + "php": ">=8.1", "psr/cache": "^3.0" }, - "suggest": { - "symfony/cache-implementation": "" - }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -4653,7 +4530,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/cache-contracts/tree/v3.0.2" + "source": "https://github.com/symfony/cache-contracts/tree/v3.4.0" }, "funding": [ { @@ -4669,41 +4546,38 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:55:41+00:00" + "time": "2023-09-25T12:52:38+00:00" }, { "name": "symfony/config", - "version": "v6.0.19", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/config.git", - "reference": "db4fc45c24e0c3e2198e68ada9d7f90daa1f97e3" + "reference": "206482ff3ed450495b1d5b7bad1bc3a852def96f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/db4fc45c24e0c3e2198e68ada9d7f90daa1f97e3", - "reference": "db4fc45c24e0c3e2198e68ada9d7f90daa1f97e3", + "url": "https://api.github.com/repos/symfony/config/zipball/206482ff3ed450495b1d5b7bad1bc3a852def96f", + "reference": "206482ff3ed450495b1d5b7bad1bc3a852def96f", "shasum": "" }, "require": { - "php": ">=8.0.2", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/filesystem": "^5.4|^6.0", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-php81": "^1.22" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/filesystem": "^5.4|^6.0|^7.0", + "symfony/polyfill-ctype": "~1.8" }, "conflict": { - "symfony/finder": "<4.4" + "symfony/finder": "<5.4", + "symfony/service-contracts": "<2.5" }, "require-dev": { - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/finder": "^5.4|^6.0", - "symfony/messenger": "^5.4|^6.0", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/yaml": "^5.4|^6.0" - }, - "suggest": { - "symfony/yaml": "To use the yaml reference dumper" + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -4731,7 +4605,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.0.19" + "source": "https://github.com/symfony/config/tree/v6.4.3" }, "funding": [ { @@ -4747,27 +4621,28 @@ "type": "tidelift" } ], - "time": "2023-01-09T04:36:00+00:00" + "time": "2024-01-29T13:26:27+00:00" }, { "name": "symfony/console", - "version": "v6.0.19", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/console.git", - "reference": "c3ebc83d031b71c39da318ca8b7a07ecc67507ed" + "reference": "2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/c3ebc83d031b71c39da318ca8b7a07ecc67507ed", - "reference": "c3ebc83d031b71c39da318ca8b7a07ecc67507ed", + "url": "https://api.github.com/repos/symfony/console/zipball/2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e", + "reference": "2aaf83b4de5b9d43b93e4aec6f2f8b676f7c567e", "shasum": "" }, "require": { - "php": ">=8.0.2", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/string": "^5.4|^6.0" + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^5.4|^6.0|^7.0" }, "conflict": { "symfony/dependency-injection": "<5.4", @@ -4781,18 +4656,16 @@ }, "require-dev": { "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/lock": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0", - "symfony/var-dumper": "^5.4|^6.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -4821,12 +4694,12 @@ "homepage": "https://symfony.com", "keywords": [ "cli", - "command line", + "command-line", "console", "terminal" ], "support": { - "source": "https://github.com/symfony/console/tree/v6.0.19" + "source": "https://github.com/symfony/console/tree/v6.4.3" }, "funding": [ { @@ -4842,29 +4715,29 @@ "type": "tidelift" } ], - "time": "2023-01-01T08:36:10+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/deprecation-contracts", - "version": "v3.0.2", + "version": "v3.4.0", "source": { "type": "git", "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c" + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", - "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", "shasum": "" }, "require": { - "php": ">=8.0.2" + "php": ">=8.1" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -4893,7 +4766,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.0.2" + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0" }, "funding": [ { @@ -4909,24 +4782,24 @@ "type": "tidelift" } ], - "time": "2022-01-02T09:55:41+00:00" + "time": "2023-05-23T14:45:45+00:00" }, { "name": "symfony/filesystem", - "version": "v6.0.19", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "3d49eec03fda1f0fc19b7349fbbe55ebc1004214" + "reference": "7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/3d49eec03fda1f0fc19b7349fbbe55ebc1004214", - "reference": "3d49eec03fda1f0fc19b7349fbbe55ebc1004214", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb", + "reference": "7f3b1755eb49297a0827a7575d5d2b2fd11cc9fb", "shasum": "" }, "require": { - "php": ">=8.0.2", + "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.8" }, @@ -4956,7 +4829,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.0.19" + "source": "https://github.com/symfony/filesystem/tree/v6.4.3" }, "funding": [ { @@ -4972,20 +4845,20 @@ "type": "tidelift" } ], - "time": "2023-01-20T17:44:14+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "symfony/polyfill-ctype", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", "shasum": "" }, "require": { @@ -4999,9 +4872,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -5038,7 +4908,7 @@ "portable" ], "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" }, "funding": [ { @@ -5054,20 +4924,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-grapheme", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "875e90aeea2777b6f135677f618529449334a612" + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", - "reference": "875e90aeea2777b6f135677f618529449334a612", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", "shasum": "" }, "require": { @@ -5078,9 +4948,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -5119,7 +4986,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" }, "funding": [ { @@ -5135,20 +5002,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-intl-normalizer", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", "shasum": "" }, "require": { @@ -5159,9 +5026,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -5203,7 +5067,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" }, "funding": [ { @@ -5219,20 +5083,20 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-mbstring", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "42292d99c55abe617799667f454222c54c60e229" + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", - "reference": "42292d99c55abe617799667f454222c54c60e229", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", "shasum": "" }, "require": { @@ -5246,9 +5110,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -5286,7 +5147,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" }, "funding": [ { @@ -5302,20 +5163,20 @@ "type": "tidelift" } ], - "time": "2023-07-28T09:04:16+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-php72", - "version": "v1.27.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "869329b1e9894268a8a61dabb69153029b7a8c97" + "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/869329b1e9894268a8a61dabb69153029b7a8c97", - "reference": "869329b1e9894268a8a61dabb69153029b7a8c97", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25", + "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25", "shasum": "" }, "require": { @@ -5323,9 +5184,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.27-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -5362,7 +5220,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.27.0" + "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0" }, "funding": [ { @@ -5378,20 +5236,20 @@ "type": "tidelift" } ], - "time": "2022-11-03T14:55:06+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { "name": "symfony/polyfill-php80", - "version": "v1.28.0", + "version": "v1.29.0", "source": { "type": "git", "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", "shasum": "" }, "require": { @@ -5399,9 +5257,6 @@ }, "type": "library", "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, "thanks": { "name": "symfony/polyfill", "url": "https://github.com/symfony/polyfill" @@ -5445,7 +5300,7 @@ "shim" ], "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" + "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" }, "funding": [ { @@ -5461,44 +5316,45 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2024-01-29T20:11:03+00:00" }, { - "name": "symfony/polyfill-php81", - "version": "v1.28.0", + "name": "symfony/service-contracts", + "version": "v3.4.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b" + "url": "https://github.com/symfony/service-contracts.git", + "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b", - "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/fe07cbc8d837f60caf7018068e350cc5163681a0", + "reference": "fe07cbc8d837f60caf7018068e350cc5163681a0", "shasum": "" }, "require": { - "php": ">=7.1" + "php": ">=8.1", + "psr/container": "^1.1|^2.0" + }, + "conflict": { + "ext-psr": "<1.1|>=2" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "1.28-dev" + "dev-main": "3.4-dev" }, "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" } }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" + "Symfony\\Contracts\\Service\\": "" }, - "classmap": [ - "Resources/stubs" + "exclude-from-classmap": [ + "/Test/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -5515,16 +5371,18 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "description": "Generic abstractions related to writing services", "homepage": "https://symfony.com", "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" ], "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.28.0" + "source": "https://github.com/symfony/service-contracts/tree/v3.4.1" }, "funding": [ { @@ -5540,46 +5398,34 @@ "type": "tidelift" } ], - "time": "2023-01-26T09:26:14+00:00" + "time": "2023-12-26T14:02:43+00:00" }, { - "name": "symfony/service-contracts", - "version": "v3.0.2", + "name": "symfony/stopwatch", + "version": "v6.4.3", "source": { "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "d78d39c1599bd1188b8e26bb341da52c3c6d8a66" + "url": "https://github.com/symfony/stopwatch.git", + "reference": "416596166641f1f728b0a64f5b9dd07cceb410c1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/d78d39c1599bd1188b8e26bb341da52c3c6d8a66", - "reference": "d78d39c1599bd1188b8e26bb341da52c3c6d8a66", + "url": "https://api.github.com/repos/symfony/stopwatch/zipball/416596166641f1f728b0a64f5b9dd07cceb410c1", + "reference": "416596166641f1f728b0a64f5b9dd07cceb410c1", "shasum": "" }, "require": { - "php": ">=8.0.2", - "psr/container": "^2.0" - }, - "conflict": { - "ext-psr": "<1.1|>=2" - }, - "suggest": { - "symfony/service-implementation": "" + "php": ">=8.1", + "symfony/service-contracts": "^2.5|^3" }, "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, "autoload": { "psr-4": { - "Symfony\\Contracts\\Service\\": "" - } + "Symfony\\Component\\Stopwatch\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5587,26 +5433,18 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" } ], - "description": "Generic abstractions related to writing services", + "description": "Provides a way to profile code", "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.0.2" + "source": "https://github.com/symfony/stopwatch/tree/v6.4.3" }, "funding": [ { @@ -5622,99 +5460,38 @@ "type": "tidelift" } ], - "time": "2022-05-30T19:17:58+00:00" - }, - { - "name": "symfony/stopwatch", - "version": "v6.0.19", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "011e781839dd1d2eb8119f65ac516a530f60226d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/011e781839dd1d2eb8119f65ac516a530f60226d", - "reference": "011e781839dd1d2eb8119f65ac516a530f60226d", - "shasum": "" - }, - "require": { - "php": ">=8.0.2", - "symfony/service-contracts": "^1|^2|^3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Stopwatch\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides a way to profile code", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/stopwatch/tree/v6.0.19" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2023-01-01T08:36:10+00:00" + "time": "2024-01-23T14:35:58+00:00" }, { "name": "symfony/string", - "version": "v6.0.19", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "d9e72497367c23e08bf94176d2be45b00a9d232a" + "reference": "7a14736fb179876575464e4658fce0c304e8c15b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/d9e72497367c23e08bf94176d2be45b00a9d232a", - "reference": "d9e72497367c23e08bf94176d2be45b00a9d232a", + "url": "https://api.github.com/repos/symfony/string/zipball/7a14736fb179876575464e4658fce0c304e8c15b", + "reference": "7a14736fb179876575464e4658fce0c304e8c15b", "shasum": "" }, "require": { - "php": ">=8.0.2", + "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/translation-contracts": "<2.0" + "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/error-handler": "^5.4|^6.0", - "symfony/http-client": "^5.4|^6.0", - "symfony/translation-contracts": "^2.0|^3.0", - "symfony/var-exporter": "^5.4|^6.0" + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/intl": "^6.2|^7.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -5753,7 +5530,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v6.0.19" + "source": "https://github.com/symfony/string/tree/v6.4.3" }, "funding": [ { @@ -5769,32 +5546,35 @@ "type": "tidelift" } ], - "time": "2023-01-01T08:36:10+00:00" + "time": "2024-01-25T09:26:29+00:00" }, { "name": "symfony/translation", - "version": "v6.0.19", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/translation.git", - "reference": "9c24b3fdbbe9fb2ef3a6afd8bbaadfd72dad681f" + "reference": "637c51191b6b184184bbf98937702bcf554f7d04" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/9c24b3fdbbe9fb2ef3a6afd8bbaadfd72dad681f", - "reference": "9c24b3fdbbe9fb2ef3a6afd8bbaadfd72dad681f", + "url": "https://api.github.com/repos/symfony/translation/zipball/637c51191b6b184184bbf98937702bcf554f7d04", + "reference": "637c51191b6b184184bbf98937702bcf554f7d04", "shasum": "" }, "require": { - "php": ">=8.0.2", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^2.3|^3.0" + "symfony/translation-contracts": "^2.5|^3.0" }, "conflict": { "symfony/config": "<5.4", "symfony/console": "<5.4", "symfony/dependency-injection": "<5.4", + "symfony/http-client-contracts": "<2.5", "symfony/http-kernel": "<5.4", + "symfony/service-contracts": "<2.5", "symfony/twig-bundle": "<5.4", "symfony/yaml": "<5.4" }, @@ -5802,22 +5582,19 @@ "symfony/translation-implementation": "2.3|3.0" }, "require-dev": { + "nikic/php-parser": "^4.18|^5.0", "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/console": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/finder": "^5.4|^6.0", - "symfony/http-client-contracts": "^1.1|^2.0|^3.0", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/intl": "^5.4|^6.0", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-client-contracts": "^2.5|^3.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/intl": "^5.4|^6.0|^7.0", "symfony/polyfill-intl-icu": "^1.21", - "symfony/service-contracts": "^1.1.2|^2|^3", - "symfony/yaml": "^5.4|^6.0" - }, - "suggest": { - "psr/log-implementation": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -5848,7 +5625,7 @@ "description": "Provides tools to internationalize your application", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/translation/tree/v6.0.19" + "source": "https://github.com/symfony/translation/tree/v6.4.3" }, "funding": [ { @@ -5864,32 +5641,29 @@ "type": "tidelift" } ], - "time": "2023-01-01T08:36:10+00:00" + "time": "2024-01-29T13:11:52+00:00" }, { "name": "symfony/translation-contracts", - "version": "v3.0.2", + "version": "v3.4.1", "source": { "type": "git", "url": "https://github.com/symfony/translation-contracts.git", - "reference": "acbfbb274e730e5a0236f619b6168d9dedb3e282" + "reference": "06450585bf65e978026bda220cdebca3f867fde7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/acbfbb274e730e5a0236f619b6168d9dedb3e282", - "reference": "acbfbb274e730e5a0236f619b6168d9dedb3e282", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/06450585bf65e978026bda220cdebca3f867fde7", + "reference": "06450585bf65e978026bda220cdebca3f867fde7", "shasum": "" }, "require": { - "php": ">=8.0.2" - }, - "suggest": { - "symfony/translation-implementation": "" + "php": ">=8.1" }, "type": "library", "extra": { "branch-alias": { - "dev-main": "3.0-dev" + "dev-main": "3.4-dev" }, "thanks": { "name": "symfony/contracts", @@ -5899,7 +5673,10 @@ "autoload": { "psr-4": { "Symfony\\Contracts\\Translation\\": "" - } + }, + "exclude-from-classmap": [ + "/Test/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -5926,7 +5703,7 @@ "standards" ], "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.0.2" + "source": "https://github.com/symfony/translation-contracts/tree/v3.4.1" }, "funding": [ { @@ -5942,27 +5719,28 @@ "type": "tidelift" } ], - "time": "2022-06-27T17:10:44+00:00" + "time": "2023-12-26T14:02:43+00:00" }, { "name": "symfony/var-exporter", - "version": "v6.0.19", + "version": "v6.4.3", "source": { "type": "git", "url": "https://github.com/symfony/var-exporter.git", - "reference": "df56f53818c2d5d9f683f4ad2e365ba73a3b69d2" + "reference": "a8c12b5448a5ac685347f5eeb2abf6a571ec16b8" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/df56f53818c2d5d9f683f4ad2e365ba73a3b69d2", - "reference": "df56f53818c2d5d9f683f4ad2e365ba73a3b69d2", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/a8c12b5448a5ac685347f5eeb2abf6a571ec16b8", + "reference": "a8c12b5448a5ac685347f5eeb2abf6a571ec16b8", "shasum": "" }, "require": { - "php": ">=8.0.2" + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" }, "require-dev": { - "symfony/var-dumper": "^5.4|^6.0" + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "type": "library", "autoload": { @@ -5995,10 +5773,12 @@ "export", "hydrate", "instantiate", + "lazy-loading", + "proxy", "serialize" ], "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.0.19" + "source": "https://github.com/symfony/var-exporter/tree/v6.4.3" }, "funding": [ { @@ -6014,26 +5794,26 @@ "type": "tidelift" } ], - "time": "2023-01-13T08:34:10+00:00" + "time": "2024-01-23T14:51:35+00:00" }, { "name": "tracy/tracy", - "version": "v2.9.0", + "version": "v2.10.5", "source": { "type": "git", "url": "https://github.com/nette/tracy.git", - "reference": "551a7d936dfbd7075ced9a604b9527d1f7bfa8b4" + "reference": "86bdba4aa0f707d3f125933931d3df6e5c7aad79" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/nette/tracy/zipball/551a7d936dfbd7075ced9a604b9527d1f7bfa8b4", - "reference": "551a7d936dfbd7075ced9a604b9527d1f7bfa8b4", + "url": "https://api.github.com/repos/nette/tracy/zipball/86bdba4aa0f707d3f125933931d3df6e5c7aad79", + "reference": "86bdba4aa0f707d3f125933931d3df6e5c7aad79", "shasum": "" }, "require": { "ext-json": "*", "ext-session": "*", - "php": ">=7.2 <8.2" + "php": ">=8.0 <8.4" }, "conflict": { "nette/di": "<3.0" @@ -6041,6 +5821,7 @@ "require-dev": { "latte/latte": "^2.5", "nette/di": "^3.0", + "nette/http": "^3.0", "nette/mail": "^3.0", "nette/tester": "^2.2", "nette/utils": "^3.0", @@ -6050,15 +5831,15 @@ "type": "library", "extra": { "branch-alias": { - "dev-master": "2.9-dev" + "dev-master": "2.10-dev" } }, "autoload": { - "classmap": [ - "src" - ], "files": [ "src/Tracy/functions.php" + ], + "classmap": [ + "src" ] }, "notification-url": "https://packagist.org/downloads/", @@ -6086,49 +5867,49 @@ ], "support": { "issues": "https://github.com/nette/tracy/issues", - "source": "https://github.com/nette/tracy/tree/v2.9.0" + "source": "https://github.com/nette/tracy/tree/v2.10.5" }, - "time": "2021-12-20T18:19:46+00:00" + "time": "2023-10-16T21:54:18+00:00" } ], "packages-dev": [ { "name": "contributte/dev", - "version": "dev-master", + "version": "v0.5.0", "source": { "type": "git", "url": "https://github.com/contributte/dev.git", - "reference": "9c8f53733051464cfff06b61adc5853bf976c1fc" + "reference": "06d386f519b57ded20a2468fa696779a2d349e00" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/contributte/dev/zipball/9c8f53733051464cfff06b61adc5853bf976c1fc", - "reference": "9c8f53733051464cfff06b61adc5853bf976c1fc", + "url": "https://api.github.com/repos/contributte/dev/zipball/06d386f519b57ded20a2468fa696779a2d349e00", + "reference": "06d386f519b57ded20a2468fa696779a2d349e00", "shasum": "" }, "require": { - "contributte/tracy": "^0.5.1", - "contributte/utils": "^0.5.0", - "php": ">=7.2" + "nette/utils": "^4.0.3", + "php": ">=8.1", + "tracy/tracy": "^2.10.2" }, "require-dev": { - "ninjify/nunjuck": "^0.4", - "ninjify/qa": "^0.12" + "contributte/phpstan": "^0.1.0", + "contributte/qa": "^0.4.0", + "contributte/tester": "^0.2.0" }, - "default-branch": true, "type": "library", "extra": { "branch-alias": { - "dev-master": "0.4.x-dev" + "dev-master": "0.6.x-dev" } }, "autoload": { - "psr-4": { - "Contributte\\Dev\\": "src" - }, "files": [ "src/shortcuts.php" - ] + ], + "psr-4": { + "Contributte\\Dev\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -6151,7 +5932,7 @@ ], "support": { "issues": "https://github.com/contributte/dev/issues", - "source": "https://github.com/contributte/dev/tree/master" + "source": "https://github.com/contributte/dev/tree/v0.5.0" }, "funding": [ { @@ -6163,39 +5944,42 @@ "type": "github" } ], - "time": "2021-12-19T15:11:43+00:00" + "time": "2023-11-17T15:55:03+00:00" }, { - "name": "dealerdirect/phpcodesniffer-composer-installer", - "version": "v0.7.1", + "name": "contributte/phpstan", + "version": "v0.1.0", "source": { "type": "git", - "url": "https://github.com/Dealerdirect/phpcodesniffer-composer-installer.git", - "reference": "fe390591e0241955f22eb9ba327d137e501c771c" + "url": "https://github.com/contributte/phpstan.git", + "reference": "12731b3619c55d31bdbae73f814d6b7ee976c1e3" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/Dealerdirect/phpcodesniffer-composer-installer/zipball/fe390591e0241955f22eb9ba327d137e501c771c", - "reference": "fe390591e0241955f22eb9ba327d137e501c771c", + "url": "https://api.github.com/repos/contributte/phpstan/zipball/12731b3619c55d31bdbae73f814d6b7ee976c1e3", + "reference": "12731b3619c55d31bdbae73f814d6b7ee976c1e3", "shasum": "" }, "require": { - "composer-plugin-api": "^1.0 || ^2.0", - "php": ">=5.3", - "squizlabs/php_codesniffer": "^2.0 || ^3.0 || ^4.0" + "php": ">=8.0", + "phpstan/phpstan": "^1.10.15", + "phpstan/phpstan-deprecation-rules": "^1.1.3", + "phpstan/phpstan-nette": "^1.2.9", + "phpstan/phpstan-strict-rules": "^1.5.1" }, "require-dev": { - "composer/composer": "*", - "phpcompatibility/php-compatibility": "^9.0", - "sensiolabs/security-checker": "^4.1.0" + "contributte/qa": "^0.4", + "contributte/tester": "^0.1" }, - "type": "composer-plugin", + "type": "library", "extra": { - "class": "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin" + "branch-alias": { + "dev-master": "0.2.x-dev" + } }, "autoload": { "psr-4": { - "Dealerdirect\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/" + "Contributte\\Phpstan\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -6204,135 +5988,66 @@ ], "authors": [ { - "name": "Franck Nijhof", - "email": "franck.nijhof@dealerdirect.com", - "homepage": "http://www.frenck.nl", - "role": "Developer / IT Manager" + "name": "Milan Felix Šulc", + "homepage": "https://f3l1x.io" } ], - "description": "PHP_CodeSniffer Standards Composer Installer Plugin", - "homepage": "http://www.dealerdirect.com", + "description": "Opinionated set of phpstan extensions & rules for all fans.", + "homepage": "https://github.com/contributte/phpstan", "keywords": [ - "PHPCodeSniffer", - "PHP_CodeSniffer", - "code quality", - "codesniffer", - "composer", - "installer", - "phpcs", - "plugin", - "qa", - "quality", - "standard", - "standards", - "style guide", - "stylecheck", - "tests" + "PHPStan", + "contributte", + "extensions", + "rules", + "strict" ], "support": { - "issues": "https://github.com/dealerdirect/phpcodesniffer-composer-installer/issues", - "source": "https://github.com/dealerdirect/phpcodesniffer-composer-installer" + "issues": "https://github.com/contributte/phpstan/issues", + "source": "https://github.com/contributte/phpstan/tree/v0.1.0" }, - "time": "2020-12-07T18:04:37+00:00" - }, - { - "name": "nette/tester", - "version": "v2.4.1", - "source": { - "type": "git", - "url": "https://github.com/nette/tester.git", - "reference": "b54326b3c1a2c6c76d2662a06b5ad5a10d822e98" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/tester/zipball/b54326b3c1a2c6c76d2662a06b5ad5a10d822e98", - "reference": "b54326b3c1a2c6c76d2662a06b5ad5a10d822e98", - "shasum": "" - }, - "require": { - "php": ">=7.2 <8.2" - }, - "require-dev": { - "ext-simplexml": "*", - "phpstan/phpstan": "^0.12" - }, - "bin": [ - "src/tester" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause", - "GPL-2.0-only", - "GPL-3.0-only" - ], - "authors": [ - { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" - }, + "funding": [ { - "name": "Miloslav Hůla", - "homepage": "https://github.com/milo" + "url": "https://contributte.org/partners.html", + "type": "custom" }, { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" + "url": "https://github.com/f3l1x", + "type": "github" } ], - "description": "Nette Tester: enjoyable unit testing in PHP with code coverage reporter. 🍏🍏🍎🍏", - "homepage": "https://tester.nette.org", - "keywords": [ - "Xdebug", - "assertions", - "clover", - "code coverage", - "nette", - "pcov", - "phpdbg", - "phpunit", - "testing", - "unit" - ], - "support": { - "issues": "https://github.com/nette/tester/issues", - "source": "https://github.com/nette/tester/tree/v2.4.1" - }, - "time": "2021-08-24T14:13:00+00:00" + "time": "2023-06-04T12:37:12+00:00" }, { - "name": "ninjify/coding-standard", - "version": "v0.12.0", + "name": "contributte/qa", + "version": "v0.3.1", "source": { "type": "git", - "url": "https://github.com/ninjify/coding-standard.git", - "reference": "f561a46b312c89b496ad0391444230c5c51a99ea" + "url": "https://github.com/contributte/qa.git", + "reference": "b2bfba8a847f52723d31b7ce67311f1226b70713" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ninjify/coding-standard/zipball/f561a46b312c89b496ad0391444230c5c51a99ea", - "reference": "f561a46b312c89b496ad0391444230c5c51a99ea", + "url": "https://api.github.com/repos/contributte/qa/zipball/b2bfba8a847f52723d31b7ce67311f1226b70713", + "reference": "b2bfba8a847f52723d31b7ce67311f1226b70713", "shasum": "" }, "require": { - "php": ">=7.2", - "slevomat/coding-standard": "^7.0.18", - "squizlabs/php_codesniffer": "^3.5.8" + "php": ">=8.0", + "slevomat/coding-standard": "^8.12.1", + "squizlabs/php_codesniffer": "^3.7.2" + }, + "require-dev": { + "contributte/tester": "^0.2.0", + "symfony/process": "^6.0.0" }, + "bin": [ + "bin/codesniffer", + "bin/codefixer" + ], "type": "library", "extra": { "branch-alias": { - "dev-master": "0.12.x-dev" + "dev-master": "0.4.x-dev" } }, "notification-url": "https://packagist.org/downloads/", @@ -6346,16 +6061,17 @@ } ], "description": "Tuned & very strict coding standards for PHP projects. Trusted by Contributte, Apitte, Nettrine and many others.", - "homepage": "https://github.com/ninjify/coding-standard", + "homepage": "https://github.com/contributte/qa", "keywords": [ "Codestyle", "codesniffer", - "ninjify", - "php" + "contributte", + "qa", + "quality assurance" ], "support": { - "issues": "https://github.com/ninjify/coding-standard/issues", - "source": "https://github.com/ninjify/coding-standard/tree/v0.12.0" + "issues": "https://github.com/contributte/qa/issues", + "source": "https://github.com/contributte/qa/tree/v0.3.1" }, "funding": [ { @@ -6367,47 +6083,38 @@ "type": "github" } ], - "time": "2022-01-08T14:01:04+00:00" + "time": "2023-07-10T13:25:20+00:00" }, { - "name": "ninjify/nunjuck", - "version": "dev-master", + "name": "contributte/tester", + "version": "v0.3.0", "source": { "type": "git", - "url": "https://github.com/ninjify/nunjuck.git", - "reference": "1702d63654a7a6b5b583ccc4ac264946351d6437" + "url": "https://github.com/contributte/tester.git", + "reference": "d7db5a9b2b76910805ce191fa96b59d51c3b4dc1" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/ninjify/nunjuck/zipball/1702d63654a7a6b5b583ccc4ac264946351d6437", - "reference": "1702d63654a7a6b5b583ccc4ac264946351d6437", + "url": "https://api.github.com/repos/contributte/tester/zipball/d7db5a9b2b76910805ce191fa96b59d51c3b4dc1", + "reference": "d7db5a9b2b76910805ce191fa96b59d51c3b4dc1", "shasum": "" }, "require": { - "nette/tester": "^2.3.4", - "php": ">=7.1" + "nette/tester": "^2.5.1", + "php": ">=8.1" }, "require-dev": { - "janmarek/mockista": "^1.1.0", - "mockery/mockery": "^1.2.2", - "nette/di": "~3.0.0", - "nette/robot-loader": "~3.2", - "ninjify/qa": "^0.12", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-deprecation-rules": "^0.12", - "phpstan/phpstan-nette": "^0.12", - "phpstan/phpstan-strict-rules": "^0.12" + "contributte/phpstan": "^0.1.0", + "contributte/qa": "^0.4.0", + "nette/di": "^3.1.2", + "nette/neon": "^3.4.0", + "nette/robot-loader": "^3.4.2" }, "suggest": { - "janmarek/mockista": "to use BaseMockistaTestCase", - "mockery/mockery": "to use BaseMockeryTestCase", - "nette/di": "to use BaseContainerTestCase" + "nette/di": "for NEON handling", + "nette/neon": "for NEON handling", + "nette/robot-loader": "for class finding" }, - "default-branch": true, - "bin": [ - "bin/nunjuck", - "bin/nunjuck-setup" - ], "type": "library", "extra": { "branch-alias": { @@ -6416,63 +6123,7 @@ }, "autoload": { "psr-4": { - "Ninjify\\Nunjuck\\": "src" - }, - "files": [ - "src/functions.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Milan Felix Šulc", - "homepage": "https://f3l1x.io" - } - ], - "description": "Special tuned version of nette/tester for your PHP projects", - "homepage": "https://github.com/ninjify/nunjuck", - "keywords": [ - "nette", - "php", - "tester" - ], - "support": { - "issues": "https://github.com/ninjify/nunjuck/issues", - "source": "https://github.com/ninjify/nunjuck/tree/master" - }, - "time": "2021-05-11T10:13:55+00:00" - }, - { - "name": "ninjify/qa", - "version": "v0.13.0", - "source": { - "type": "git", - "url": "https://github.com/ninjify/qa.git", - "reference": "9080dc0b8c28ba9b984e451f99654212288e60bb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ninjify/qa/zipball/9080dc0b8c28ba9b984e451f99654212288e60bb", - "reference": "9080dc0b8c28ba9b984e451f99654212288e60bb", - "shasum": "" - }, - "require": { - "ninjify/coding-standard": "^0.12.0", - "php": ">=7.2", - "php-parallel-lint/php-parallel-lint": "^1.2.0" - }, - "bin": [ - "bin/codesniffer", - "bin/codefixer", - "bin/linter" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.13.x-dev" + "Contributte\\Tester\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -6485,19 +6136,16 @@ "homepage": "https://f3l1x.io" } ], - "description": "Quality assurance for your PHP projects", - "homepage": "https://github.com/ninjify/qa", + "description": "Nette Tester with extra horse power", + "homepage": "https://github.com/contributte/tester", "keywords": [ - "assurance", - "codesniffer", - "linter", "nette", "php", - "quality" + "tester" ], "support": { - "issues": "https://github.com/ninjify/qa/issues", - "source": "https://github.com/ninjify/qa/tree/v0.13.0" + "issues": "https://github.com/contributte/tester/issues", + "source": "https://github.com/contributte/tester/tree/v0.3.0" }, "funding": [ { @@ -6509,140 +6157,190 @@ "type": "github" } ], - "time": "2022-01-08T13:15:44+00:00" + "time": "2023-11-17T16:10:28+00:00" }, { - "name": "php-parallel-lint/php-parallel-lint", - "version": "v1.3.1", + "name": "dealerdirect/phpcodesniffer-composer-installer", + "version": "v1.0.0", "source": { "type": "git", - "url": "https://github.com/php-parallel-lint/PHP-Parallel-Lint.git", - "reference": "761f3806e30239b5fcd90a0a45d41dc2138de192" + "url": "https://github.com/PHPCSStandards/composer-installer.git", + "reference": "4be43904336affa5c2f70744a348312336afd0da" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-parallel-lint/PHP-Parallel-Lint/zipball/761f3806e30239b5fcd90a0a45d41dc2138de192", - "reference": "761f3806e30239b5fcd90a0a45d41dc2138de192", + "url": "https://api.github.com/repos/PHPCSStandards/composer-installer/zipball/4be43904336affa5c2f70744a348312336afd0da", + "reference": "4be43904336affa5c2f70744a348312336afd0da", "shasum": "" }, "require": { - "ext-json": "*", - "php": ">=5.3.0" - }, - "replace": { - "grogy/php-parallel-lint": "*", - "jakub-onderka/php-parallel-lint": "*" + "composer-plugin-api": "^1.0 || ^2.0", + "php": ">=5.4", + "squizlabs/php_codesniffer": "^2.0 || ^3.1.0 || ^4.0" }, "require-dev": { - "nette/tester": "^1.3 || ^2.0", - "php-parallel-lint/php-console-highlighter": "~0.3", - "squizlabs/php_codesniffer": "^3.6" + "composer/composer": "*", + "ext-json": "*", + "ext-zip": "*", + "php-parallel-lint/php-parallel-lint": "^1.3.1", + "phpcompatibility/php-compatibility": "^9.0", + "yoast/phpunit-polyfills": "^1.0" }, - "suggest": { - "php-parallel-lint/php-console-highlighter": "Highlight syntax in code snippet" + "type": "composer-plugin", + "extra": { + "class": "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\Plugin" }, - "bin": [ - "parallel-lint" - ], - "type": "library", "autoload": { - "classmap": [ - "./" - ] + "psr-4": { + "PHPCSStandards\\Composer\\Plugin\\Installers\\PHPCodeSniffer\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "BSD-2-Clause" + "MIT" ], "authors": [ { - "name": "Jakub Onderka", - "email": "ahoj@jakubonderka.cz" + "name": "Franck Nijhof", + "email": "franck.nijhof@dealerdirect.com", + "homepage": "http://www.frenck.nl", + "role": "Developer / IT Manager" + }, + { + "name": "Contributors", + "homepage": "https://github.com/PHPCSStandards/composer-installer/graphs/contributors" } ], - "description": "This tool check syntax of PHP files about 20x faster than serial check.", - "homepage": "https://github.com/php-parallel-lint/PHP-Parallel-Lint", + "description": "PHP_CodeSniffer Standards Composer Installer Plugin", + "homepage": "http://www.dealerdirect.com", + "keywords": [ + "PHPCodeSniffer", + "PHP_CodeSniffer", + "code quality", + "codesniffer", + "composer", + "installer", + "phpcbf", + "phpcs", + "plugin", + "qa", + "quality", + "standard", + "standards", + "style guide", + "stylecheck", + "tests" + ], "support": { - "issues": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/issues", - "source": "https://github.com/php-parallel-lint/PHP-Parallel-Lint/tree/v1.3.1" + "issues": "https://github.com/PHPCSStandards/composer-installer/issues", + "source": "https://github.com/PHPCSStandards/composer-installer" }, - "time": "2021-08-13T05:35:13+00:00" + "time": "2023-01-05T11:28:13+00:00" }, { - "name": "phpstan/extension-installer", - "version": "1.3.1", + "name": "nette/tester", + "version": "v2.5.2", "source": { "type": "git", - "url": "https://github.com/phpstan/extension-installer.git", - "reference": "f45734bfb9984c6c56c4486b71230355f066a58a" + "url": "https://github.com/nette/tester.git", + "reference": "328d7b64579cdbc82e0e01d92ea9c58b9cf0a327" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/extension-installer/zipball/f45734bfb9984c6c56c4486b71230355f066a58a", - "reference": "f45734bfb9984c6c56c4486b71230355f066a58a", + "url": "https://api.github.com/repos/nette/tester/zipball/328d7b64579cdbc82e0e01d92ea9c58b9cf0a327", + "reference": "328d7b64579cdbc82e0e01d92ea9c58b9cf0a327", "shasum": "" }, "require": { - "composer-plugin-api": "^2.0", - "php": "^7.2 || ^8.0", - "phpstan/phpstan": "^1.9.0" + "php": ">=8.0 <8.4" }, "require-dev": { - "composer/composer": "^2.0", - "php-parallel-lint/php-parallel-lint": "^1.2.0", - "phpstan/phpstan-strict-rules": "^0.11 || ^0.12 || ^1.0" + "ext-simplexml": "*", + "phpstan/phpstan": "^1.0" }, - "type": "composer-plugin", + "bin": [ + "src/tester" + ], + "type": "library", "extra": { - "class": "PHPStan\\ExtensionInstaller\\Plugin" + "branch-alias": { + "dev-master": "2.5-dev" + } }, "autoload": { - "psr-4": { - "PHPStan\\ExtensionInstaller\\": "src/" - } + "classmap": [ + "src/" + ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Miloslav Hůla", + "homepage": "https://github.com/milo" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "Nette Tester: enjoyable unit testing in PHP with code coverage reporter. 🍏🍏🍎🍏", + "homepage": "https://tester.nette.org", + "keywords": [ + "Xdebug", + "assertions", + "clover", + "code coverage", + "nette", + "pcov", + "phpdbg", + "phpunit", + "testing", + "unit" ], - "description": "Composer plugin for automatic installation of PHPStan extensions", "support": { - "issues": "https://github.com/phpstan/extension-installer/issues", - "source": "https://github.com/phpstan/extension-installer/tree/1.3.1" + "issues": "https://github.com/nette/tester/issues", + "source": "https://github.com/nette/tester/tree/v2.5.2" }, - "time": "2023-05-24T08:59:17+00:00" + "time": "2024-01-08T11:41:26+00:00" }, { "name": "phpstan/phpdoc-parser", - "version": "1.2.0", + "version": "1.25.0", "source": { "type": "git", "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "dbc093d7af60eff5cd575d2ed761b15ed40bd08e" + "reference": "bd84b629c8de41aa2ae82c067c955e06f1b00240" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/dbc093d7af60eff5cd575d2ed761b15ed40bd08e", - "reference": "dbc093d7af60eff5cd575d2ed761b15ed40bd08e", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/bd84b629c8de41aa2ae82c067c955e06f1b00240", + "reference": "bd84b629c8de41aa2ae82c067c955e06f1b00240", "shasum": "" }, "require": { - "php": "^7.1 || ^8.0" + "php": "^7.2 || ^8.0" }, "require-dev": { + "doctrine/annotations": "^2.0", + "nikic/php-parser": "^4.15", "php-parallel-lint/php-parallel-lint": "^1.2", "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.0", + "phpstan/phpstan": "^1.5", + "phpstan/phpstan-phpunit": "^1.1", "phpstan/phpstan-strict-rules": "^1.0", "phpunit/phpunit": "^9.5", "symfony/process": "^5.2" }, "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, "autoload": { "psr-4": { "PHPStan\\PhpDocParser\\": [ @@ -6657,9 +6355,9 @@ "description": "PHPDoc parser with support for nullable, intersection and generic types", "support": { "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.2.0" + "source": "https://github.com/phpstan/phpdoc-parser/tree/1.25.0" }, - "time": "2021-09-16T20:46:02+00:00" + "time": "2024-01-04T17:06:16+00:00" }, { "name": "phpstan/phpstan", @@ -6723,6 +6421,54 @@ ], "time": "2024-01-24T11:51:34+00:00" }, + { + "name": "phpstan/phpstan-deprecation-rules", + "version": "1.1.4", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpstan-deprecation-rules.git", + "reference": "089d8a8258ed0aeefdc7b68b6c3d25572ebfdbaa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpstan-deprecation-rules/zipball/089d8a8258ed0aeefdc7b68b6c3d25572ebfdbaa", + "reference": "089d8a8258ed0aeefdc7b68b6c3d25572ebfdbaa", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0", + "phpstan/phpstan": "^1.10.3" + }, + "require-dev": { + "php-parallel-lint/php-parallel-lint": "^1.2", + "phpstan/phpstan-php-parser": "^1.1", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^9.5" + }, + "type": "phpstan-extension", + "extra": { + "phpstan": { + "includes": [ + "rules.neon" + ] + } + }, + "autoload": { + "psr-4": { + "PHPStan\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "PHPStan rules for detecting usage of deprecated classes, methods, properties, constants and traits.", + "support": { + "issues": "https://github.com/phpstan/phpstan-deprecation-rules/issues", + "source": "https://github.com/phpstan/phpstan-deprecation-rules/tree/1.1.4" + }, + "time": "2023-08-05T09:02:04+00:00" + }, { "name": "phpstan/phpstan-doctrine", "version": "1.3.59", @@ -6906,42 +6652,42 @@ }, { "name": "slevomat/coding-standard", - "version": "7.0.18", + "version": "8.14.1", "source": { "type": "git", "url": "https://github.com/slevomat/coding-standard.git", - "reference": "b81ac84f41a4797dc25c8ede1b0718e2a74be0fc" + "reference": "fea1fd6f137cc84f9cba0ae30d549615dbc6a926" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/b81ac84f41a4797dc25c8ede1b0718e2a74be0fc", - "reference": "b81ac84f41a4797dc25c8ede1b0718e2a74be0fc", + "url": "https://api.github.com/repos/slevomat/coding-standard/zipball/fea1fd6f137cc84f9cba0ae30d549615dbc6a926", + "reference": "fea1fd6f137cc84f9cba0ae30d549615dbc6a926", "shasum": "" }, "require": { - "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7", - "php": "^7.1 || ^8.0", - "phpstan/phpdoc-parser": "^1.0.0", - "squizlabs/php_codesniffer": "^3.6.1" + "dealerdirect/phpcodesniffer-composer-installer": "^0.6.2 || ^0.7 || ^1.0", + "php": "^7.2 || ^8.0", + "phpstan/phpdoc-parser": "^1.23.1", + "squizlabs/php_codesniffer": "^3.7.1" }, "require-dev": { - "phing/phing": "2.17.0", - "php-parallel-lint/php-parallel-lint": "1.3.1", - "phpstan/phpstan": "1.2.0", - "phpstan/phpstan-deprecation-rules": "1.0.0", - "phpstan/phpstan-phpunit": "1.0.0", - "phpstan/phpstan-strict-rules": "1.1.0", - "phpunit/phpunit": "7.5.20|8.5.21|9.5.10" + "phing/phing": "2.17.4", + "php-parallel-lint/php-parallel-lint": "1.3.2", + "phpstan/phpstan": "1.10.37", + "phpstan/phpstan-deprecation-rules": "1.1.4", + "phpstan/phpstan-phpunit": "1.3.14", + "phpstan/phpstan-strict-rules": "1.5.1", + "phpunit/phpunit": "8.5.21|9.6.8|10.3.5" }, "type": "phpcodesniffer-standard", "extra": { "branch-alias": { - "dev-master": "7.x-dev" + "dev-master": "8.x-dev" } }, "autoload": { "psr-4": { - "SlevomatCodingStandard\\": "SlevomatCodingStandard" + "SlevomatCodingStandard\\": "SlevomatCodingStandard/" } }, "notification-url": "https://packagist.org/downloads/", @@ -6949,9 +6695,13 @@ "MIT" ], "description": "Slevomat Coding Standard for PHP_CodeSniffer complements Consistence Coding Standard by providing sniffs with additional checks.", + "keywords": [ + "dev", + "phpcs" + ], "support": { "issues": "https://github.com/slevomat/coding-standard/issues", - "source": "https://github.com/slevomat/coding-standard/tree/7.0.18" + "source": "https://github.com/slevomat/coding-standard/tree/8.14.1" }, "funding": [ { @@ -6963,20 +6713,20 @@ "type": "tidelift" } ], - "time": "2021-12-07T17:19:06+00:00" + "time": "2023-10-08T07:28:08+00:00" }, { "name": "squizlabs/php_codesniffer", - "version": "3.6.2", + "version": "3.8.1", "source": { "type": "git", - "url": "https://github.com/squizlabs/PHP_CodeSniffer.git", - "reference": "5e4e71592f69da17871dba6e80dd51bce74a351a" + "url": "https://github.com/PHPCSStandards/PHP_CodeSniffer.git", + "reference": "14f5fff1e64118595db5408e946f3a22c75807f7" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/squizlabs/PHP_CodeSniffer/zipball/5e4e71592f69da17871dba6e80dd51bce74a351a", - "reference": "5e4e71592f69da17871dba6e80dd51bce74a351a", + "url": "https://api.github.com/repos/PHPCSStandards/PHP_CodeSniffer/zipball/14f5fff1e64118595db5408e946f3a22c75807f7", + "reference": "14f5fff1e64118595db5408e946f3a22c75807f7", "shasum": "" }, "require": { @@ -6986,11 +6736,11 @@ "php": ">=5.4.0" }, "require-dev": { - "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0" + "phpunit/phpunit": "^4.0 || ^5.0 || ^6.0 || ^7.0 || ^8.0 || ^9.3.4" }, "bin": [ - "bin/phpcs", - "bin/phpcbf" + "bin/phpcbf", + "bin/phpcs" ], "type": "library", "extra": { @@ -7005,21 +6755,45 @@ "authors": [ { "name": "Greg Sherwood", - "role": "lead" + "role": "Former lead" + }, + { + "name": "Juliette Reinders Folmer", + "role": "Current lead" + }, + { + "name": "Contributors", + "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer/graphs/contributors" } ], "description": "PHP_CodeSniffer tokenizes PHP, JavaScript and CSS files and detects violations of a defined set of coding standards.", - "homepage": "https://github.com/squizlabs/PHP_CodeSniffer", + "homepage": "https://github.com/PHPCSStandards/PHP_CodeSniffer", "keywords": [ "phpcs", - "standards" + "standards", + "static analysis" ], "support": { - "issues": "https://github.com/squizlabs/PHP_CodeSniffer/issues", - "source": "https://github.com/squizlabs/PHP_CodeSniffer", - "wiki": "https://github.com/squizlabs/PHP_CodeSniffer/wiki" + "issues": "https://github.com/PHPCSStandards/PHP_CodeSniffer/issues", + "security": "https://github.com/PHPCSStandards/PHP_CodeSniffer/security/policy", + "source": "https://github.com/PHPCSStandards/PHP_CodeSniffer", + "wiki": "https://github.com/PHPCSStandards/PHP_CodeSniffer/wiki" }, - "time": "2021-12-12T21:44:58+00:00" + "funding": [ + { + "url": "https://github.com/PHPCSStandards", + "type": "github" + }, + { + "url": "https://github.com/jrfnl", + "type": "github" + }, + { + "url": "https://opencollective.com/php_codesniffer", + "type": "open_collective" + } + ], + "time": "2024-01-11T20:47:48+00:00" } ], "aliases": [], @@ -7028,7 +6802,7 @@ "prefer-stable": true, "prefer-lowest": false, "platform": { - "php": ">=8.0" + "php": ">=8.1" }, "platform-dev": [], "plugin-api-version": "2.6.0" diff --git a/phpstan.neon b/phpstan.neon index 54b69a5..b9d86d5 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,20 +1,40 @@ +includes: + - vendor/contributte/phpstan/phpstan.neon + - vendor/phpstan/phpstan-doctrine/extension.neon + parameters: level: 8 + phpVersion: 80300 + + tmpDir: %currentWorkingDirectory%/var/tmp/phpstan + + fileExtensions: + - php + - phpt + paths: - app - - checkGenericClassInNonGenericObjectType: false + - bin + - tests doctrine: - objectManagerLoader: .build/object-manager.php + objectManagerLoader: .build/phpstan-doctrine.php + ormRepositoryClass: App\Model\Database\Repository\AbstractRepository - propertyAlwaysWrittenTags: - - '@@Gedmo' - propertyAlwaysReadTags: - - '@@Gedmo' + checkGenericClassInNonGenericObjectType: false ignoreErrors: - message: "#^Property App\\\\Model\\\\Database\\\\Advanced\\\\Entity\\\\ArticleCategory\\:\\:\\$children is never written, only read\\.$#" count: 1 path: app/Model/Database/Advanced/Entity/ArticleCategory.php + + - + message: "#^Parameter \\#1 \\$message of method Nette\\\\Application\\\\UI\\\\Control\\:\\:flashMessage\\(\\) expects Nette\\\\HtmlStringable\\|stdClass\\|string, string\\|Stringable given\\.$#" + count: 2 + path: app/Presenters/AdvancedPresenter.php + + - + message: "#^Variable method call on Doctrine\\\\ORM\\\\EntityManagerInterface\\.$#" + count: 1 + path: tests/cases/Database/TRepositoriesTest.php diff --git a/ruleset.xml b/ruleset.xml index bcaa016..cf0acbf 100644 --- a/ruleset.xml +++ b/ruleset.xml @@ -1,10 +1,13 @@ - - - + + Contributte + + + - - + + + @@ -12,7 +15,7 @@ - + diff --git a/tests/toolkit/Environment.php b/tests/Toolkit/Environment.php similarity index 95% rename from tests/toolkit/Environment.php rename to tests/Toolkit/Environment.php index d888e1d..d793c04 100644 --- a/tests/toolkit/Environment.php +++ b/tests/Toolkit/Environment.php @@ -59,10 +59,7 @@ public static function setupVariables(string $rootDir): void self::purge($tmpDir); } - /** - * @param mixed $value - */ - public static function setupVariable(string $variable, $value): void + public static function setupVariable(string $variable, mixed $value): void { define($variable, $value); } diff --git a/tests/toolkit/Nette/DummyUserStorage.php b/tests/Toolkit/Nette/DummyUserStorage.php similarity index 88% rename from tests/toolkit/Nette/DummyUserStorage.php rename to tests/Toolkit/Nette/DummyUserStorage.php index 64bbf92..4ca9caa 100644 --- a/tests/toolkit/Nette/DummyUserStorage.php +++ b/tests/Toolkit/Nette/DummyUserStorage.php @@ -9,7 +9,7 @@ final class DummyUserStorage implements UserStorage { /** @var IIdentity|NULL */ - private $identity; + private ?IIdentity $identity = null; public function saveAuthentication(IIdentity $identity): void { @@ -21,6 +21,9 @@ public function clearAuthentication(bool $clearIdentity): void $this->identity = null; } + /** + * @return array{bool, ?IIdentity, ?int} + */ public function getState(): array { return [$this->identity !== null, $this->identity, null]; diff --git a/tests/toolkit/TestCase/BaseContainerTestCase.php b/tests/Toolkit/TestCase/BaseContainerTestCase.php similarity index 57% rename from tests/toolkit/TestCase/BaseContainerTestCase.php rename to tests/Toolkit/TestCase/BaseContainerTestCase.php index aa7e6b9..5c74e65 100644 --- a/tests/toolkit/TestCase/BaseContainerTestCase.php +++ b/tests/Toolkit/TestCase/BaseContainerTestCase.php @@ -7,22 +7,19 @@ abstract class BaseContainerTestCase extends BaseTestCase { - /** @var Container */ - protected $container; + protected Container $container; public function __construct(Container $container) { $this->container = $container; } + /** + * @param class-string $class + */ protected function getService(string $class): object { - if (strpos($class, '\\') !== false) { - /** @var class-string $class */ - return $this->container->getByType($class); - } else { - return $this->container->getService($class); - } + return strpos($class, '\\') !== false ? $this->container->getByType($class) : $this->container->getService($class); } } diff --git a/tests/toolkit/TestCase/BaseTestCase.php b/tests/Toolkit/TestCase/BaseTestCase.php similarity index 100% rename from tests/toolkit/TestCase/BaseTestCase.php rename to tests/Toolkit/TestCase/BaseTestCase.php diff --git a/tests/Toolkit/Tests.php b/tests/Toolkit/Tests.php new file mode 100644 index 0000000..c195476 --- /dev/null +++ b/tests/Toolkit/Tests.php @@ -0,0 +1,12 @@ +setTempDirectory(TEMP_DIR); + $configurator->setTempDirectory(Tests::TEWP_PATH); $configurator->addConfig($parameters['rootDir'] . '/config/services.neon'); - $configurator->addParameters($parameters); + $configurator->addStaticParameters($parameters); try { $configurator->setDebugMode(false); @@ -43,10 +44,10 @@ Toolkit::test(function () use ($parameters): void { // Development container build Toolkit::test(function () use ($parameters): void { $configurator = new Configurator(); - $configurator->setTempDirectory(TEMP_DIR); + $configurator->setTempDirectory(Tests::TEWP_PATH); $configurator->addConfig($parameters['rootDir'] . '/config/services.neon'); - $configurator->addParameters($parameters); + $configurator->addStaticParameters($parameters); try { $configurator->setDebugMode(false); $container = $configurator->createContainer(); diff --git a/tests/cases/Database/Entity/MappingTest.phpt b/tests/cases/Database/Entity/MappingTest.phpt index 7f8551d..d0c0cc4 100644 --- a/tests/cases/Database/Entity/MappingTest.phpt +++ b/tests/cases/Database/Entity/MappingTest.phpt @@ -2,10 +2,10 @@ namespace Tests\Integration\Database\Entity; +use Contributte\Tester\Toolkit; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\Tools\SchemaValidator; use Nette\DI\Container; -use Ninjify\Nunjuck\Toolkit; use Tester\Assert; /** @var Container $container */ @@ -19,7 +19,7 @@ Toolkit::test(function () use ($container): void { $validator = new SchemaValidator($em); $validations = $validator->validateMapping(); foreach ($validations as $fails) { - foreach ((array) $fails as $fail) { + foreach ($fails as $fail) { Assert::fail($fail); } } diff --git a/tests/cases/Database/TRepositoriesTest.php b/tests/cases/Database/TRepositoriesTest.php index ceeb08d..6a0105d 100644 --- a/tests/cases/Database/TRepositoriesTest.php +++ b/tests/cases/Database/TRepositoriesTest.php @@ -4,11 +4,11 @@ use App\Model\Database\Entity\Entity; use App\Model\Database\TRepositories; +use Contributte\Tester\Toolkit; use Doctrine\ORM\EntityManager; use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\Mapping\ClassMetadata; use Nette\DI\Container; -use Ninjify\Nunjuck\Toolkit; use ReflectionClass; use Tester\Assert; diff --git a/tests/cases/Latte/CompilerTest.phpt b/tests/cases/Latte/CompilerTest.phpt index e0ba370..744e388 100644 --- a/tests/cases/Latte/CompilerTest.phpt +++ b/tests/cases/Latte/CompilerTest.phpt @@ -2,14 +2,15 @@ namespace Tests\Integration\Latte; -use Nette\Application\UI\ITemplateFactory; +use Contributte\Tester\Toolkit; +use Nette\Application\UI\TemplateFactory as ITemplateFactory; use Nette\Bridges\ApplicationLatte\Template; use Nette\Bridges\ApplicationLatte\TemplateFactory; use Nette\DI\Container; use Nette\Utils\Finder; -use Ninjify\Nunjuck\Toolkit; use SplFileInfo; use Tester\Assert; +use Tests\Toolkit\Tests; use Throwable; /** @var Container $container */ @@ -22,7 +23,7 @@ Toolkit::test(function () use ($container): void { /** @var Template $template */ $template = $templateFactory->createTemplate(); - $finder = Finder::findFiles('*.latte')->from(APP_DIR); + $finder = Finder::findFiles('*.latte')->from(Tests::APP_PATH); try { /** @var SplFileInfo $file */ @@ -30,6 +31,6 @@ Toolkit::test(function () use ($container): void { $template->getLatte()->warmupCache($file->getRealPath()); } } catch (Throwable $e) { - Assert::fail(sprintf('Template compilation failed ([%s] %s)', get_class($e), $e->getMessage())); + Assert::fail(sprintf('Template compilation failed ([%s] %s)', $e::class, $e->getMessage())); } }); From abcfd223591d5ee978e8810c5008c2a66cbf2c90 Mon Sep 17 00:00:00 2001 From: Petr Parolek Date: Tue, 6 Feb 2024 20:25:12 +0100 Subject: [PATCH 3/7] cs fix --- app/Presenters/AdvancedPresenter.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/Presenters/AdvancedPresenter.php b/app/Presenters/AdvancedPresenter.php index 36f63c6..8ec66cc 100644 --- a/app/Presenters/AdvancedPresenter.php +++ b/app/Presenters/AdvancedPresenter.php @@ -147,6 +147,8 @@ public function processAddArticleForm(Form $form): void $article->setTitle($values->czTitle); $article->setContent($values->czContent); + $article->setSlug($values->enTitle); + $this->em->persist($article); $this->em->flush(); From da4b73c57edfd1a6c9ee2b6659723836e4c43c2f Mon Sep 17 00:00:00 2001 From: Petr Parolek Date: Tue, 6 Feb 2024 20:28:57 +0100 Subject: [PATCH 4/7] bugfixes --- app/Model/Database/Repository/TRepositoryExtra.php | 6 ++---- app/Presenters/templates/@layout.latte | 2 +- app/Presenters/templates/Advanced/default.latte | 6 +++--- app/Router/RouterFactory.php | 9 +++++---- 4 files changed, 11 insertions(+), 12 deletions(-) diff --git a/app/Model/Database/Repository/TRepositoryExtra.php b/app/Model/Database/Repository/TRepositoryExtra.php index bab4797..2faad2d 100644 --- a/app/Model/Database/Repository/TRepositoryExtra.php +++ b/app/Model/Database/Repository/TRepositoryExtra.php @@ -13,11 +13,9 @@ trait TRepositoryExtra { /** - * @param string $value - * @param string $key - * @return mixed[] +77 * @return mixed[] */ - public function findPairs($value, $key = 'id'): array + public function findPairs(string $value, string $key = 'id'): array { $select = []; $categories = $this->createQueryBuilder('e') diff --git a/app/Presenters/templates/@layout.latte b/app/Presenters/templates/@layout.latte index 1a179ed..8078247 100644 --- a/app/Presenters/templates/@layout.latte +++ b/app/Presenters/templates/@layout.latte @@ -18,7 +18,7 @@ {include content} diff --git a/app/Presenters/templates/Advanced/default.latte b/app/Presenters/templates/Advanced/default.latte index 91f8fc4..c5aee11 100644 --- a/app/Presenters/templates/Advanced/default.latte +++ b/app/Presenters/templates/Advanced/default.latte @@ -1,10 +1,10 @@ {block content}

{_messages.articles.categories}

diff --git a/app/Router/RouterFactory.php b/app/Router/RouterFactory.php index b13e60b..584fe29 100644 --- a/app/Router/RouterFactory.php +++ b/app/Router/RouterFactory.php @@ -2,22 +2,23 @@ namespace App\Router; -use Nette; use Nette\Application\Routers\RouteList; +use Nette\StaticClass; final class RouterFactory { - use Nette\StaticClass; + use StaticClass; public static function createRouter(): RouteList { $router = new RouteList(); - $router->addRoute('[[/][/]]', [ + $router->addRoute('[[/][/]]', [ 'presenter' => 'Basic', 'action' => 'default', - 'locale' => 'en', + 'locale' => 'en_GB', ]); + return $router; } From 5212016eda55a6658be6a7128787c80c2252cb1f Mon Sep 17 00:00:00 2001 From: Petr Parolek Date: Tue, 6 Feb 2024 21:00:38 +0100 Subject: [PATCH 5/7] QA fixes --- app/Model/Database/Repository/TRepositoryExtra.php | 2 +- app/Presenters/BasicPresenter.php | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/app/Model/Database/Repository/TRepositoryExtra.php b/app/Model/Database/Repository/TRepositoryExtra.php index 2faad2d..6a1d08a 100644 --- a/app/Model/Database/Repository/TRepositoryExtra.php +++ b/app/Model/Database/Repository/TRepositoryExtra.php @@ -13,7 +13,7 @@ trait TRepositoryExtra { /** -77 * @return mixed[] + * @return array */ public function findPairs(string $value, string $key = 'id'): array { diff --git a/app/Presenters/BasicPresenter.php b/app/Presenters/BasicPresenter.php index 8b6c9a7..f283d2e 100644 --- a/app/Presenters/BasicPresenter.php +++ b/app/Presenters/BasicPresenter.php @@ -38,6 +38,7 @@ protected function createComponentBookForm(): Form $form->addSubmit('send', 'OK'); $form->onSubmit[] = [$this, 'processBookForm']; + return $form; } @@ -91,6 +92,7 @@ protected function createComponentCategoryForm(): Form $form->addText('title', 'Title'); $form->addSubmit('send', 'OK'); $form->onSubmit[] = [$this, 'processCategoryForm']; + return $form; } @@ -110,6 +112,7 @@ protected function createComponentTagForm(): Form $form->addText('title', 'Title'); $form->addSubmit('send', 'OK'); $form->onSubmit[] = [$this, 'processTagForm']; + return $form; } From 08e3f392207d4947dc066193968978fd1552fca3 Mon Sep 17 00:00:00 2001 From: Petr Parolek Date: Tue, 6 Feb 2024 22:57:02 +0100 Subject: [PATCH 6/7] re-added doctrine events --- app/Model/Service/LibraryLimiter.php | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/Model/Service/LibraryLimiter.php b/app/Model/Service/LibraryLimiter.php index 03d4f10..1e482cb 100644 --- a/app/Model/Service/LibraryLimiter.php +++ b/app/Model/Service/LibraryLimiter.php @@ -3,9 +3,9 @@ namespace App\Model\Service; use Doctrine\Common\EventSubscriber; - -//use Doctrine\DBAL\Event\ConnectionEventArgs; -//use Doctrine\DBAL\Events; +use Doctrine\ORM\Event\PostLoadEventArgs; +use Doctrine\ORM\Events; +use LengthException; /** * Naive implementation of library limiter that checks the size of book library @@ -27,21 +27,21 @@ final class LibraryLimiter implements EventSubscriber public function getSubscribedEvents(): array { return [ - //Events::postConnect + Events::postLoad, ]; } - /*public function postConnect(ConnectionEventArgs $args): void + public function postLoad(PostLoadEventArgs $args): void { - $schemaManager = $args->getConnection()->createSchemaManager(); + $schemaManager = $args->getObjectManager()->getConnection()->createSchemaManager(); if ($schemaManager->tablesExist(['book']) === true) { - $all = $args->getConnection()->fetchAllAssociative('SELECT id FROM book'); + $all = $args->getObjectManager()->getConnection()->fetchAllAssociative('SELECT id FROM book'); if (count($all) > self::LIBRARY_MAX_SIZE) { throw new LengthException('Oops. Too many books were placed in such a small library and it collapsed.'); } } - }*/ + } } From bd6ce52dd1d9ba376460e1a09e1698c818f6a738 Mon Sep 17 00:00:00 2001 From: Petr Parolek Date: Tue, 6 Feb 2024 22:59:44 +0100 Subject: [PATCH 7/7] Doctrine annotations -> attributes --- .../Database/Advanced/Entity/Article.php | 72 +++++++------------ .../Advanced/Entity/ArticleCategory.php | 67 +++++++---------- app/Model/Database/Basic/Entity/Book.php | 47 +++++------- app/Model/Database/Basic/Entity/Category.php | 21 +++--- app/Model/Database/Basic/Entity/Tag.php | 21 +++--- config/services.neon | 4 +- ruleset.xml | 1 + 7 files changed, 88 insertions(+), 145 deletions(-) diff --git a/app/Model/Database/Advanced/Entity/Article.php b/app/Model/Database/Advanced/Entity/Article.php index 0fa0b72..2f78a8d 100644 --- a/app/Model/Database/Advanced/Entity/Article.php +++ b/app/Model/Database/Advanced/Entity/Article.php @@ -2,81 +2,63 @@ namespace App\Model\Database\Advanced\Entity; +use App\Model\Database\Advanced\Repository\ArticleRepository; use App\Model\Database\Entity\Entity; use DateTime; use Doctrine\ORM\Mapping as ORM; use Gedmo\Mapping\Annotation as Gedmo; use Gedmo\Translatable\Translatable; -/** - * @ORM\Table - * @ORM\Entity(repositoryClass="App\Model\Database\Advanced\Repository\ArticleRepository") - * @Gedmo\Loggable - * @Gedmo\SoftDeleteable(fieldName="deletedAt", timeAware=false, hardDelete=true) - */ +#[ORM\Table] +#[ORM\Entity(repositoryClass: ArticleRepository::class)] +#[Gedmo\Loggable] +#[Gedmo\SoftDeleteable(fieldName: 'deletedAt', timeAware: false, hardDelete: true)] class Article extends Entity implements Translatable { - /** - * @ORM\Id - * @ORM\GeneratedValue - * @ORM\Column(type="integer") - */ + #[ORM\Id] + #[ORM\GeneratedValue()] + #[ORM\Column(name: 'id', type: 'integer')] private int $id; - /** - * @ORM\ManyToOne(targetEntity="ArticleCategory", inversedBy="articles") - * @ORM\JoinColumn(name="category_id", referencedColumnName="id", onDelete="CASCADE") - */ + #[ORM\ManyToOne(targetEntity: ArticleCategory::class, inversedBy: 'articles')] + #[ORM\JoinColumn(name: 'category_id', referencedColumnName: 'id', onDelete: 'CASCADE')] private ?ArticleCategory $category; - /** - * @Gedmo\Translatable - * @Gedmo\Versioned - * @ORM\Column(name="title", type="string", length=128) - */ + #[Gedmo\Translatable] + #[Gedmo\Versioned] + #[ORM\Column(name: 'title', type: 'string', length: 128)] private string $title; - /** - * @Gedmo\Slug(fields={"title"}) - * @ORM\Column(length=128, unique=true) - */ + #[Gedmo\Slug(fields: ['title'])] + #[ORM\Column(length: 128, unique: true)] private string $slug; - /** - * @Gedmo\Translatable - * @Gedmo\Versioned - * @ORM\Column(name="content", type="text") - */ + #[Gedmo\Translatable] + #[Gedmo\Versioned] + #[ORM\Column(name: 'content', type: 'text')] private string $content; /** * Used locale to override Translation listener`s locale * this is not a mapped field of entity metadata, just a simple property - * - * @Gedmo\Locale - */ + */ + #[Gedmo\Locale] private ?string $locale = null; - /** - * @Gedmo\Timestampable(on="create") - * @ORM\Column(type="datetime") - */ + #[Gedmo\Timestampable(on: 'create')] + #[ORM\Column(type: 'datetime')] private DateTime $created; - /** - * @Gedmo\Timestampable(on="update") - * @ORM\Column(type="datetime") - */ + #[Gedmo\Timestampable(on: 'update')] + #[ORM\Column(type: 'datetime')] private DateTime $updated; - /** - * @ORM\Column(name="content_changed", type="datetime", nullable=true) - * @Gedmo\Timestampable(on="change", field={"title", "content"}) - */ + #[ORM\Column(name: 'content_changed', type: 'datetime', nullable: true)] + #[Gedmo\Timestampable(on: 'change', field: ['title', 'content'])] private ?DateTime $contentChanged; - /** @ORM\Column(name="deletedAt", type="datetime", nullable=true) */ + #[ORM\Column(name: 'deletedAt', type: 'datetime', nullable: true)] private ?DateTime $deletedAt; public function getId(): int diff --git a/app/Model/Database/Advanced/Entity/ArticleCategory.php b/app/Model/Database/Advanced/Entity/ArticleCategory.php index 37d1bbb..2e9a4e1 100644 --- a/app/Model/Database/Advanced/Entity/ArticleCategory.php +++ b/app/Model/Database/Advanced/Entity/ArticleCategory.php @@ -2,72 +2,55 @@ namespace App\Model\Database\Advanced\Entity; +use App\Model\Database\Advanced\Repository\ArticleCategoryRepository; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; use Gedmo\Mapping\Annotation as Gedmo; -/** - * @Gedmo\Tree(type="nested") - * @ORM\Table - * @ORM\Entity(repositoryClass="App\Model\Database\Advanced\Repository\ArticleCategoryRepository") - */ +#[Gedmo\Tree(type: 'nested')] +#[ORM\Table] +#[ORM\Entity(repositoryClass: ArticleCategoryRepository::class)] class ArticleCategory { - /** - * @ORM\Column(name="id", type="integer") - * @ORM\Id - * @ORM\GeneratedValue - */ + #[ORM\Column(name: 'id', type: 'integer')] + #[ORM\Id] + #[ORM\GeneratedValue()] private int $id; - /** @ORM\Column(name="title", type="string", length=64) */ + #[ORM\Column(name: 'title', type: 'string', length: 64)] private string $title; - /** - * @Gedmo\TreeLeft - * @ORM\Column(name="lft", type="integer") - */ + #[Gedmo\TreeLeft] + #[ORM\Column(name: 'lft', type: 'integer')] private int $lft; - /** - * @Gedmo\TreeLevel - * @ORM\Column(name="lvl", type="integer") - */ + #[Gedmo\TreeLevel] + #[ORM\Column(name: 'lvl', type: 'integer')] private int $lvl; - /** - * @Gedmo\TreeRight - * @ORM\Column(name="rgt", type="integer") - */ + #[Gedmo\TreeRight] + #[ORM\Column(name: 'rgt', type: 'integer')] private int $rgt; - /** - * @Gedmo\TreeRoot - * @ORM\ManyToOne(targetEntity="ArticleCategory") - * @ORM\JoinColumn(name="tree_root", referencedColumnName="id", onDelete="CASCADE") - */ + #[Gedmo\TreeRoot] + #[ORM\ManyToOne(targetEntity: self::class)] + #[ORM\JoinColumn(name: 'tree_root', referencedColumnName: 'id', onDelete: 'CASCADE')] private ?self $root = null; - /** - * @Gedmo\TreeParent - * @ORM\ManyToOne(targetEntity="ArticleCategory", inversedBy="children") - * @ORM\JoinColumn(name="parent_id", referencedColumnName="id", onDelete="CASCADE") - */ + #[Gedmo\TreeParent] + #[ORM\ManyToOne(targetEntity: self::class, inversedBy: 'children')] + #[ORM\JoinColumn(name: 'parent_id', referencedColumnName: 'id', onDelete: 'CASCADE')] private ?self $parent = null; - /** - * @var Collection&iterable - * @ORM\OneToMany(targetEntity="ArticleCategory", mappedBy="parent") - * @ORM\OrderBy({"lft" = "ASC"}) - */ + /** @var Collection&iterable */ + #[ORM\OneToMany(targetEntity: self::class, mappedBy: 'parent')] + #[ORM\OrderBy(['lft' => 'ASC'])] private Collection $children; - /** - * @var Collection&iterable
- * @ORM\OneToMany(targetEntity="Article", mappedBy="category") - */ + /** @var Collection&iterable
*/ + #[ORM\OneToMany(targetEntity: Article::class, mappedBy: 'category')] private Collection $articles; public function __construct() diff --git a/app/Model/Database/Basic/Entity/Book.php b/app/Model/Database/Basic/Entity/Book.php index 58dcf64..887f50e 100644 --- a/app/Model/Database/Basic/Entity/Book.php +++ b/app/Model/Database/Basic/Entity/Book.php @@ -2,48 +2,41 @@ namespace App\Model\Database\Basic\Entity; +use App\Model\Database\Basic\Repository\BookRepository; use App\Model\Database\Entity\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Event\PreRemoveEventArgs; use Doctrine\ORM\Mapping as ORM; -/** - * @ORM\Entity(repositoryClass="App\Model\Database\Basic\Repository\BookRepository") - * @ORM\HasLifecycleCallbacks - */ +#[ORM\Entity(repositoryClass: BookRepository::class)] +#[ORM\HasLifecycleCallbacks] class Book extends Entity { - /** - * @ORM\Column(name="id", type="integer") - * @ORM\Id - * @ORM\GeneratedValue - */ + #[ORM\Column(name: 'id', type: 'integer')] + #[ORM\Id] + #[ORM\GeneratedValue()] private int $id; - /** @ORM\Column(type="string") */ + #[ORM\Column(type: 'string')] private string $title; - /** @ORM\Column(type="boolean") */ + #[ORM\Column(type: 'boolean')] private bool $alreadyRead = false; - /** @ORM\Column(type="string") */ + #[ORM\Column(type: 'string')] private string $createdAt; - /** @ORM\Column(type="string", nullable=true) */ + #[ORM\Column(type: 'string', nullable: true)] private ?string $updatedAt = null; - /** - * @ORM\ManyToOne(targetEntity="Category", inversedBy="books") - * @ORM\JoinColumn(nullable=FALSE) - */ + #[ORM\ManyToOne(targetEntity: Category::class, inversedBy: 'books')] + #[ORM\JoinColumn(nullable: false)] private Category $category; - /** - * @var Tag[]|Collection - * @ORM\ManyToMany(targetEntity="Tag", mappedBy="books") - */ + /** @var Tag[]|Collection */ + #[ORM\ManyToMany(targetEntity: Tag::class, mappedBy:'books')] private Collection $tags; public function __construct() @@ -104,25 +97,19 @@ public function getUpdatedAt(): ?string return $this->updatedAt; } - /** - * @ORM\PrePersist - */ + #[ORM\PrePersist] public function onPrePersist(): void { $this->createdAt = $this->getCurrentDate(); } - /** - * @ORM\PreUpdate() - */ + #[ORM\PreUpdate] public function onPreUpdate(): void { $this->updatedAt = $this->getCurrentDate(); } - /** - * @ORM\PreRemove() - */ + #[ORM\PreRemove] public function onPreRemove(PreRemoveEventArgs $args): void { /* diff --git a/app/Model/Database/Basic/Entity/Category.php b/app/Model/Database/Basic/Entity/Category.php index c75c5e7..b2d0816 100644 --- a/app/Model/Database/Basic/Entity/Category.php +++ b/app/Model/Database/Basic/Entity/Category.php @@ -2,31 +2,26 @@ namespace App\Model\Database\Basic\Entity; +use App\Model\Database\Basic\Repository\CategoryRepository; use App\Model\Database\Entity\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; -/** - * @ORM\Entity(repositoryClass="App\Model\Database\Basic\Repository\CategoryRepository") - */ +#[ORM\Entity(repositoryClass: CategoryRepository::class)] class Category extends Entity { - /** - * @ORM\Column(name="id", type="integer") - * @ORM\Id - * @ORM\GeneratedValue - */ + #[ORM\Column(name: 'id', type: 'integer')] + #[ORM\Id] + #[ORM\GeneratedValue()] private int $id; - /** @ORM\Column(type="string") */ + #[ORM\Column(type: 'string')] private string $title; - /** - * @var Book[]|Collection - * @ORM\OneToMany(targetEntity="Book", mappedBy="category") - */ + /** @var Book[]|Collection */ + #[ORM\OneToMany(targetEntity: Book::class, mappedBy: 'category')] private Collection $books; /** diff --git a/app/Model/Database/Basic/Entity/Tag.php b/app/Model/Database/Basic/Entity/Tag.php index f74026c..51ff717 100644 --- a/app/Model/Database/Basic/Entity/Tag.php +++ b/app/Model/Database/Basic/Entity/Tag.php @@ -2,31 +2,26 @@ namespace App\Model\Database\Basic\Entity; +use App\Model\Database\Basic\Repository\TagRepository; use App\Model\Database\Entity\Entity; use Doctrine\Common\Collections\ArrayCollection; use Doctrine\Common\Collections\Collection; use Doctrine\ORM\Mapping as ORM; -/** - * @ORM\Entity(repositoryClass="App\Model\Database\Basic\Repository\TagRepository") - */ +#[ORM\Entity(repositoryClass: TagRepository::class)] class Tag extends Entity { - /** - * @ORM\Column(name="id", type="integer") - * @ORM\Id - * @ORM\GeneratedValue - */ + #[ORM\Column(name: 'id', type: 'integer')] + #[ORM\Id] + #[ORM\GeneratedValue()] private int $id; - /** @ORM\Column(type="string") */ + #[ORM\Column(type: 'string')] private string $title; - /** - * @var Book[]|Collection - * @ORM\ManyToMany(targetEntity="Book", inversedBy="tags") - */ + /** @var Book[]|Collection */ + #[ORM\ManyToMany(targetEntity: Book::class, inversedBy: 'tags')] private Collection $books; /** diff --git a/config/services.neon b/config/services.neon index 7c3142e..14b6d2d 100644 --- a/config/services.neon +++ b/config/services.neon @@ -30,7 +30,7 @@ extensions: nettrine.orm: Nettrine\ORM\DI\OrmExtension nettrine.orm.cache: Nettrine\ORM\DI\OrmCacheExtension nettrine.orm.console: Nettrine\ORM\DI\OrmConsoleExtension(%consoleMode%) - nettrine.orm.annotations: Nettrine\ORM\DI\OrmAnnotationsExtension + nettrine.orm.attributes: Nettrine\ORM\DI\OrmAttributesExtension translation: Contributte\Translation\DI\TranslationExtension @@ -71,7 +71,7 @@ nettrine.migrations: nettrine.orm: entityManagerDecoratorClass: App\Model\Database\EntityManagerDecorator -nettrine.orm.annotations: +nettrine.orm.attributes: mapping: App\Model\Database\Basic\Entity: %appDir%/Model/Database/Basic/Entity App\Model\Database\Advanced\Entity: %appDir%/Model/Database/Advanced/Entity diff --git a/ruleset.xml b/ruleset.xml index cf0acbf..7116397 100644 --- a/ruleset.xml +++ b/ruleset.xml @@ -7,6 +7,7 @@ +