From 79e1fc1695188e4b2326dba50b5511594163a524 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pysiak?= Date: Tue, 18 Jun 2024 10:23:52 +0200 Subject: [PATCH 01/16] Create Gmv Command PoC --- .env | 20 - .gitignore | 13 +- bin/console | 21 - composer.json | 75 +- composer.lock | 12002 ++++++++++++++-- config/bundles.php | 5 - config/packages/cache.yaml | 19 - config/packages/framework.yaml | 16 - config/packages/routing.yaml | 10 - config/preload.php | 5 - config/routes.yaml | 5 - config/routes/framework.yaml | 4 - config/services.xml | 42 + config/services.yaml | 24 - phpunit.xml.dist | 13 + public/index.php | 9 - src/Command/GmvCommand.php | 75 + src/Controller/.gitignore | 0 .../SyliusGmvExtension.php | 28 + src/Kernel.php | 11 - src/Parser/DateParser.php | 45 + src/Parser/DateParserInterface.php | 14 + src/Provider/GmvProvider.php | 55 + src/Provider/GmvProviderInterface.php | 8 + src/SyliusGmvBundle.php | 24 + src/Validator/InputParametersValidator.php | 45 + .../InputParametersValidatorInterface.php | 23 + symfony.lock | 58 - tests/Command/GmvCommandTest.php | 150 + 29 files changed, 11247 insertions(+), 1572 deletions(-) delete mode 100644 .env delete mode 100755 bin/console delete mode 100644 config/bundles.php delete mode 100644 config/packages/cache.yaml delete mode 100644 config/packages/framework.yaml delete mode 100644 config/packages/routing.yaml delete mode 100644 config/preload.php delete mode 100644 config/routes.yaml delete mode 100644 config/routes/framework.yaml create mode 100644 config/services.xml delete mode 100644 config/services.yaml create mode 100644 phpunit.xml.dist delete mode 100644 public/index.php create mode 100644 src/Command/GmvCommand.php delete mode 100644 src/Controller/.gitignore create mode 100644 src/DependencyInjection/SyliusGmvExtension.php delete mode 100644 src/Kernel.php create mode 100644 src/Parser/DateParser.php create mode 100644 src/Parser/DateParserInterface.php create mode 100644 src/Provider/GmvProvider.php create mode 100644 src/Provider/GmvProviderInterface.php create mode 100644 src/SyliusGmvBundle.php create mode 100644 src/Validator/InputParametersValidator.php create mode 100644 src/Validator/InputParametersValidatorInterface.php delete mode 100644 symfony.lock create mode 100644 tests/Command/GmvCommandTest.php diff --git a/.env b/.env deleted file mode 100644 index f593ace..0000000 --- a/.env +++ /dev/null @@ -1,20 +0,0 @@ -# In all environments, the following files are loaded if they exist, -# the latter taking precedence over the former: -# -# * .env contains default values for the environment variables needed by the app -# * .env.local uncommitted file with local overrides -# * .env.$APP_ENV committed environment-specific defaults -# * .env.$APP_ENV.local uncommitted environment-specific overrides -# -# Real environment variables win over .env files. -# -# DO NOT DEFINE PRODUCTION SECRETS IN THIS FILE NOR IN ANY OTHER COMMITTED FILES. -# https://symfony.com/doc/current/configuration/secrets.html -# -# Run "composer dump-env prod" to compile .env files for production use (requires symfony/flex >=1.2). -# https://symfony.com/doc/current/best_practices.html#use-environment-variables-for-infrastructure-configuration - -###> symfony/framework-bundle ### -APP_ENV=dev -APP_SECRET=9baee1f3e8f04d36f978c0f42705fd3d -###< symfony/framework-bundle ### diff --git a/.gitignore b/.gitignore index a67f91e..4901aab 100644 --- a/.gitignore +++ b/.gitignore @@ -1,10 +1,3 @@ - -###> symfony/framework-bundle ### -/.env.local -/.env.local.php -/.env.*.local -/config/secrets/prod/prod.decrypt.private.php -/public/bundles/ -/var/ -/vendor/ -###< symfony/framework-bundle ### +/vendor +/composer.lock +/.phpunit.result.cache diff --git a/bin/console b/bin/console deleted file mode 100755 index d8d530e..0000000 --- a/bin/console +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env php -=8.2", - "ext-ctype": "*", - "ext-iconv": "*", - "symfony/console": "7.1.*", - "symfony/dotenv": "7.1.*", - "symfony/flex": "^2", - "symfony/framework-bundle": "7.1.*", - "symfony/runtime": "7.1.*", - "symfony/yaml": "7.1.*" - }, - "require-dev": { - }, - "config": { - "allow-plugins": { - "php-http/discovery": true, - "symfony/flex": true, - "symfony/runtime": true - }, - "sort-packages": true - }, + "name": "sylius/gmv-bundle", + "description": "Lightweight local command to calculate the Sylius instance GMV within a specific period", + "type": "symfony-bundle", + "license": "MIT", + "authors": [ + ], "autoload": { "psr-4": { - "App\\": "src/" + "Sylius\\GmvBundle\\": "src/" } }, "autoload-dev": { "psr-4": { - "App\\Tests\\": "tests/" + "Tests\\Sylius\\GmvBundle\\": "tests/" } }, - "replace": { - "symfony/polyfill-ctype": "*", - "symfony/polyfill-iconv": "*", - "symfony/polyfill-php72": "*", - "symfony/polyfill-php73": "*", - "symfony/polyfill-php74": "*", - "symfony/polyfill-php80": "*", - "symfony/polyfill-php81": "*", - "symfony/polyfill-php82": "*" - }, - "scripts": { - "auto-scripts": { - "cache:clear": "symfony-cmd", - "assets:install %PUBLIC_DIR%": "symfony-cmd" - }, - "post-install-cmd": [ - "@auto-scripts" - ], - "post-update-cmd": [ - "@auto-scripts" - ] - }, - "conflict": { - "symfony/symfony": "*" + "require": { + "php": "^8.1", + "symfony/dependency-injection": "^5.4 || ^6.4", + "symfony/http-kernel": "^5.4 || ^6.4", + "symfony/framework-bundle": "^5.4 || ^6.4", + "symfony/console": "^5.4 || ^6.4", + "sylius/core": "~1.12.0 || ~1.13.0", + "sylius/money-bundle": "~1.12.0 || ~1.13.0" }, - "extra": { - "symfony": { - "allow-contrib": false, - "require": "7.1.*" - } + "require-dev": { + "phpunit/phpunit": "^9.5", + "webmozart/assert": "^1.9" } } diff --git a/composer.lock b/composer.lock index af6cd3a..c477516 100644 --- a/composer.lock +++ b/composer.lock @@ -4,34 +4,37 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "This file is @generated automatically" ], - "content-hash": "50f9c0973acafa44bb359f58b30b8e58", + "content-hash": "73614c0f5e3f0f68e00ac1f7f68d680d", "packages": [ { - "name": "psr/cache", - "version": "3.0.0", + "name": "alcohol/iso4217", + "version": "4.1.0", "source": { "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + "url": "https://github.com/alcohol/iso4217.git", + "reference": "422890279c805e98dcea012f3dbbc184ac8afbe5" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "url": "https://api.github.com/repos/alcohol/iso4217/zipball/422890279c805e98dcea012f3dbbc184ac8afbe5", + "reference": "422890279c805e98dcea012f3dbbc184ac8afbe5", "shasum": "" }, "require": { - "php": ">=8.0.0" + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-main": "4.x-dev" } }, "autoload": { "psr-4": { - "Psr\\Cache\\": "src/" + "Alcohol\\": "." } }, "notification-url": "https://packagist.org/downloads/", @@ -40,100 +43,184 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Rob Bast", + "email": "rob.bast@gmail.com" } ], - "description": "Common interface for caching libraries", + "description": "ISO 4217 PHP Library", + "homepage": "http://alcohol.github.io/iso4217/", "keywords": [ - "cache", - "psr", - "psr-6" + "4217", + "ISO 4217", + "currencies", + "iso", + "library" ], "support": { - "source": "https://github.com/php-fig/cache/tree/3.0.0" + "issues": "https://github.com/alcohol/iso4217/issues", + "source": "https://github.com/alcohol/iso4217" }, - "time": "2021-02-03T23:26:27+00:00" + "time": "2023-02-28T12:25:39+00:00" }, { - "name": "psr/container", - "version": "2.0.2", + "name": "babdev/pagerfanta-bundle", + "version": "v3.8.0", "source": { "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + "url": "https://github.com/BabDev/PagerfantaBundle.git", + "reference": "39df12df63177fee40c17c6efff8d4110bea3c94" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "url": "https://api.github.com/repos/BabDev/PagerfantaBundle/zipball/39df12df63177fee40c17c6efff8d4110bea3c94", + "reference": "39df12df63177fee40c17c6efff8d4110bea3c94", "shasum": "" }, "require": { - "php": ">=7.4.0" + "pagerfanta/core": "^3.1", + "php": "^7.4 || ^8.0", + "symfony/config": "^4.4 || ^5.4 || ^6.0", + "symfony/dependency-injection": "^4.4 || ^5.4 || ^6.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", + "symfony/http-foundation": "^4.4 || ^5.4 || ^6.0", + "symfony/http-kernel": "^4.4 || ^5.4 || ^6.0", + "symfony/polyfill-php80": "^1.15", + "symfony/property-access": "^4.4 || ^5.4 || ^6.0", + "symfony/routing": "^4.4 || ^5.4 || ^6.0" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } + "conflict": { + "pagerfanta/twig": "<3.1", + "twig/twig": "<1.35 || >=2.0,<2.5", + "white-october/pagerfanta-bundle": "*" + }, + "require-dev": { + "doctrine/annotations": "^1.8", + "jms/serializer": "^3.0", + "jms/serializer-bundle": "^3.0 || ^4.0", + "matthiasnoback/symfony-dependency-injection-test": "^4.3", + "pagerfanta/twig": "^3.1", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "1.10.15", + "phpstan/phpstan-phpunit": "1.3.13", + "phpstan/phpstan-symfony": "1.2.19", + "phpunit/phpunit": "9.6.8", + "symfony/phpunit-bridge": "^5.4 || ^6.0", + "symfony/serializer": "^4.4 || ^5.4 || ^6.0", + "symfony/translation": "^4.4 || ^5.4 || ^6.0", + "symfony/twig-bridge": "^4.4 || ^5.4 || ^6.0", + "symfony/twig-bundle": "^4.4 || ^5.4 || ^6.0", + "twig/twig": "^1.35 || ^2.5 || ^3.0" + }, + "suggest": { + "jms/serializer-bundle": "To use the Pagerfanta class with the JMS Serializer", + "symfony/serializer": "To use the Pagerfanta class with the Symfony Serializer", + "symfony/translation": "To use the Twig templates with translation support", + "twig/twig": "To integrate Pagerfanta with Twig through extensions" }, + "type": "symfony-bundle", "autoload": { "psr-4": { - "Psr\\Container\\": "src/" + "BabDev\\PagerfantaBundle\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", "license": [ "MIT" ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", + "description": "Bundle integrating Pagerfanta with Symfony", "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" + "pagerfanta", + "pagination", + "symfony" ], "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/2.0.2" + "issues": "https://github.com/BabDev/PagerfantaBundle/issues", + "source": "https://github.com/BabDev/PagerfantaBundle/tree/v3.8.0" }, - "time": "2021-11-05T16:47:00+00:00" + "funding": [ + { + "url": "https://github.com/mbabker", + "type": "github" + } + ], + "time": "2023-06-01T01:04:54+00:00" }, { - "name": "psr/event-dispatcher", - "version": "1.0.0", + "name": "behat/transliterator", + "version": "v1.5.0", "source": { "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + "url": "https://github.com/Behat/Transliterator.git", + "reference": "baac5873bac3749887d28ab68e2f74db3a4408af" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "url": "https://api.github.com/repos/Behat/Transliterator/zipball/baac5873bac3749887d28ab68e2f74db3a4408af", + "reference": "baac5873bac3749887d28ab68e2f74db3a4408af", "shasum": "" }, "require": { - "php": ">=7.2.0" + "php": ">=7.2" + }, + "require-dev": { + "chuyskywalker/rolling-curl": "^3.1", + "php-yaoi/php-yaoi": "^1.0", + "phpunit/phpunit": "^8.5.25 || ^9.5.19" }, "type": "library", "extra": { "branch-alias": { - "dev-master": "1.0.x-dev" + "dev-master": "1.x-dev" } }, "autoload": { "psr-4": { - "Psr\\EventDispatcher\\": "src/" + "Behat\\Transliterator\\": "src/Behat/Transliterator" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Artistic-1.0" + ], + "description": "String transliterator", + "keywords": [ + "i18n", + "slug", + "transliterator" + ], + "support": { + "issues": "https://github.com/Behat/Transliterator/issues", + "source": "https://github.com/Behat/Transliterator/tree/v1.5.0" + }, + "time": "2022-03-30T09:27:43+00:00" + }, + { + "name": "clue/stream-filter", + "version": "v1.7.0", + "source": { + "type": "git", + "url": "https://github.com/clue/stream-filter.git", + "reference": "049509fef80032cb3f051595029ab75b49a3c2f7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/clue/stream-filter/zipball/049509fef80032cb3f051595029ab75b49a3c2f7", + "reference": "049509fef80032cb3f051595029ab75b49a3c2f7", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "Clue\\StreamFilter\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -142,48 +229,72 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" + "name": "Christian Lück", + "email": "christian@clue.engineering" } ], - "description": "Standard interfaces for event handling.", + "description": "A simple and modern approach to stream filtering in PHP", + "homepage": "https://github.com/clue/stream-filter", "keywords": [ - "events", - "psr", - "psr-14" + "bucket brigade", + "callback", + "filter", + "php_user_filter", + "stream", + "stream_filter_append", + "stream_filter_register" ], "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + "issues": "https://github.com/clue/stream-filter/issues", + "source": "https://github.com/clue/stream-filter/tree/v1.7.0" }, - "time": "2019-01-08T18:20:26+00:00" + "funding": [ + { + "url": "https://clue.engineering/support", + "type": "custom" + }, + { + "url": "https://github.com/clue", + "type": "github" + } + ], + "time": "2023-12-20T15:40:13+00:00" }, { - "name": "psr/log", - "version": "3.0.0", + "name": "doctrine/annotations", + "version": "2.0.1", "source": { "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + "url": "https://github.com/doctrine/annotations.git", + "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "url": "https://api.github.com/repos/doctrine/annotations/zipball/e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", + "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", "shasum": "" }, "require": { - "php": ">=8.0.0" + "doctrine/lexer": "^2 || ^3", + "ext-tokenizer": "*", + "php": "^7.2 || ^8.0", + "psr/cache": "^1 || ^2 || ^3" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } + "require-dev": { + "doctrine/cache": "^2.0", + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.8.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "symfony/cache": "^5.4 || ^6", + "vimeo/psalm": "^4.10" + }, + "suggest": { + "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" }, + "type": "library", "autoload": { "psr-4": { - "Psr\\Log\\": "src" + "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" } }, "notification-url": "https://packagist.org/downloads/", @@ -192,79 +303,72 @@ ], "authors": [ { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", + "description": "Docblock Annotations Parser", + "homepage": "https://www.doctrine-project.org/projects/annotations.html", "keywords": [ - "log", - "psr", - "psr-3" + "annotations", + "docblock", + "parser" ], "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" + "issues": "https://github.com/doctrine/annotations/issues", + "source": "https://github.com/doctrine/annotations/tree/2.0.1" }, - "time": "2021-07-14T16:46:02+00:00" + "time": "2023-02-02T22:02:53+00:00" }, { - "name": "symfony/cache", - "version": "v7.1.1", + "name": "doctrine/cache", + "version": "2.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/cache.git", - "reference": "760294dc7158372699dccd077965c16c328f8719" + "url": "https://github.com/doctrine/cache.git", + "reference": "1ca8f21980e770095a31456042471a57bc4c68fb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/760294dc7158372699dccd077965c16c328f8719", - "reference": "760294dc7158372699dccd077965c16c328f8719", + "url": "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb", + "reference": "1ca8f21980e770095a31456042471a57bc4c68fb", "shasum": "" }, "require": { - "php": ">=8.2", - "psr/cache": "^2.0|^3.0", - "psr/log": "^1.1|^2|^3", - "symfony/cache-contracts": "^2.5|^3", - "symfony/deprecation-contracts": "^2.5|^3.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/var-exporter": "^6.4|^7.0" + "php": "~7.1 || ^8.0" }, "conflict": { - "doctrine/dbal": "<3.6", - "symfony/dependency-injection": "<6.4", - "symfony/http-kernel": "<6.4", - "symfony/var-dumper": "<6.4" - }, - "provide": { - "psr/cache-implementation": "2.0|3.0", - "psr/simple-cache-implementation": "1.0|2.0|3.0", - "symfony/cache-implementation": "1.1|2.0|3.0" + "doctrine/common": ">2.2,<2.4" }, "require-dev": { "cache/integration-tests": "dev-master", - "doctrine/dbal": "^3.6|^4", - "predis/predis": "^1.1|^2.0", - "psr/simple-cache": "^1.0|^2.0|^3.0", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/filesystem": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" + "doctrine/coding-standard": "^9", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psr/cache": "^1.0 || ^2.0 || ^3.0", + "symfony/cache": "^4.4 || ^5.4 || ^6", + "symfony/var-exporter": "^4.4 || ^5.4 || ^6" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Cache\\": "" - }, - "classmap": [ - "Traits/ValueWrapper.php" - ], - "exclude-from-classmap": [ - "/Tests/" - ] + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -272,70 +376,87 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "Provides extended PSR-6, PSR-16 (and tags) implementations", - "homepage": "https://symfony.com", + "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", + "homepage": "https://www.doctrine-project.org/projects/cache.html", "keywords": [ + "abstraction", + "apcu", + "cache", "caching", - "psr6" + "couchdb", + "memcached", + "php", + "redis", + "xcache" ], "support": { - "source": "https://github.com/symfony/cache/tree/v7.1.1" + "issues": "https://github.com/doctrine/cache/issues", + "source": "https://github.com/doctrine/cache/tree/2.2.0" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://www.doctrine-project.org/sponsorship.html", "type": "custom" }, { - "url": "https://github.com/fabpot", - "type": "github" + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache", "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2022-05-20T20:07:39+00:00" }, { - "name": "symfony/cache-contracts", - "version": "v3.5.0", + "name": "doctrine/collections", + "version": "1.8.0", "source": { "type": "git", - "url": "https://github.com/symfony/cache-contracts.git", - "reference": "df6a1a44c890faded49a5fca33c2d5c5fd3c2197" + "url": "https://github.com/doctrine/collections.git", + "reference": "2b44dd4cbca8b5744327de78bafef5945c7e7b5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/df6a1a44c890faded49a5fca33c2d5c5fd3c2197", - "reference": "df6a1a44c890faded49a5fca33c2d5c5fd3c2197", + "url": "https://api.github.com/repos/doctrine/collections/zipball/2b44dd4cbca8b5744327de78bafef5945c7e7b5e", + "reference": "2b44dd4cbca8b5744327de78bafef5945c7e7b5e", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/cache": "^3.0" + "doctrine/deprecations": "^0.5.3 || ^1", + "php": "^7.1.3 || ^8.0" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } + "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" }, + "type": "library", "autoload": { "psr-4": { - "Symfony\\Contracts\\Cache\\": "" + "Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections" } }, "notification-url": "https://packagist.org/downloads/", @@ -344,82 +465,73 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to caching", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/cache-contracts/tree/v3.5.0" - }, - "funding": [ + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, { - "url": "https://symfony.com/sponsor", - "type": "custom" + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" }, { - "url": "https://github.com/fabpot", - "type": "github" + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "time": "2024-04-18T09:32:20+00:00" + "description": "PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.", + "homepage": "https://www.doctrine-project.org/projects/collections.html", + "keywords": [ + "array", + "collections", + "iterators", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/collections/issues", + "source": "https://github.com/doctrine/collections/tree/1.8.0" + }, + "time": "2022-09-01T20:12:10+00:00" }, { - "name": "symfony/config", - "version": "v7.1.1", + "name": "doctrine/common", + "version": "3.4.4", "source": { "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "2210fc99fa42a259eb6c89d1f724ce0c4d62d5d2" + "url": "https://github.com/doctrine/common.git", + "reference": "0aad4b7ab7ce8c6602dfbb1e1a24581275fb9d1a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/2210fc99fa42a259eb6c89d1f724ce0c4d62d5d2", - "reference": "2210fc99fa42a259eb6c89d1f724ce0c4d62d5d2", + "url": "https://api.github.com/repos/doctrine/common/zipball/0aad4b7ab7ce8c6602dfbb1e1a24581275fb9d1a", + "reference": "0aad4b7ab7ce8c6602dfbb1e1a24581275fb9d1a", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/filesystem": "^7.1", - "symfony/polyfill-ctype": "~1.8" - }, - "conflict": { - "symfony/finder": "<6.4", - "symfony/service-contracts": "<2.5" + "doctrine/persistence": "^2.0 || ^3.0", + "php": "^7.1 || ^8.0" }, "require-dev": { - "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/finder": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^6.4|^7.0" + "doctrine/coding-standard": "^9.0 || ^10.0", + "doctrine/collections": "^1", + "phpstan/phpstan": "^1.4.1", + "phpstan/phpstan-phpunit": "^1", + "phpunit/phpunit": "^7.5.20 || ^8.5 || ^9.0", + "squizlabs/php_codesniffer": "^3.0", + "symfony/phpunit-bridge": "^6.1", + "vimeo/psalm": "^4.4" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Config\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Doctrine\\Common\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -427,86 +539,105 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" } ], - "description": "Helps you find, load, combine, autofill and validate configuration values of any kind", - "homepage": "https://symfony.com", + "description": "PHP Doctrine Common project is a library that provides additional functionality that other Doctrine projects depend on such as better reflection support, proxies and much more.", + "homepage": "https://www.doctrine-project.org/projects/common.html", + "keywords": [ + "common", + "doctrine", + "php" + ], "support": { - "source": "https://github.com/symfony/config/tree/v7.1.1" + "issues": "https://github.com/doctrine/common/issues", + "source": "https://github.com/doctrine/common/tree/3.4.4" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://www.doctrine-project.org/sponsorship.html", "type": "custom" }, { - "url": "https://github.com/fabpot", - "type": "github" + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcommon", "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-04-16T13:35:33+00:00" }, { - "name": "symfony/console", - "version": "v7.1.1", + "name": "doctrine/dbal", + "version": "3.8.5", "source": { "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "9b008f2d7b21c74ef4d0c3de6077a642bc55ece3" + "url": "https://github.com/doctrine/dbal.git", + "reference": "0e3536ba088a749985c8801105b6b3ac6c1280b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/9b008f2d7b21c74ef4d0c3de6077a642bc55ece3", - "reference": "9b008f2d7b21c74ef4d0c3de6077a642bc55ece3", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/0e3536ba088a749985c8801105b6b3ac6c1280b6", + "reference": "0e3536ba088a749985c8801105b6b3ac6c1280b6", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^6.4|^7.0" - }, - "conflict": { - "symfony/dependency-injection": "<6.4", - "symfony/dotenv": "<6.4", - "symfony/event-dispatcher": "<6.4", - "symfony/lock": "<6.4", - "symfony/process": "<6.4" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" + "composer-runtime-api": "^2", + "doctrine/cache": "^1.11|^2.0", + "doctrine/deprecations": "^0.5.3|^1", + "doctrine/event-manager": "^1|^2", + "php": "^7.4 || ^8.0", + "psr/cache": "^1|^2|^3", + "psr/log": "^1|^2|^3" }, "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/stopwatch": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" + "doctrine/coding-standard": "12.0.0", + "fig/log-test": "^1", + "jetbrains/phpstorm-stubs": "2023.1", + "phpstan/phpstan": "1.11.1", + "phpstan/phpstan-strict-rules": "^1.6", + "phpunit/phpunit": "9.6.19", + "psalm/plugin-phpunit": "0.18.4", + "slevomat/coding-standard": "8.13.1", + "squizlabs/php_codesniffer": "3.9.2", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/console": "^4.4|^5.4|^6.0|^7.0", + "vimeo/psalm": "4.30.0" + }, + "suggest": { + "symfony/console": "For helpful console commands such as SQL execution and import of files." }, + "bin": [ + "bin/doctrine-dbal" + ], "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Doctrine\\DBAL\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -514,152 +645,179 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" } ], - "description": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", + "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", + "homepage": "https://www.doctrine-project.org/projects/dbal.html", "keywords": [ - "cli", - "command-line", - "console", - "terminal" + "abstraction", + "database", + "db2", + "dbal", + "mariadb", + "mssql", + "mysql", + "oci8", + "oracle", + "pdo", + "pgsql", + "postgresql", + "queryobject", + "sasql", + "sql", + "sqlite", + "sqlserver", + "sqlsrv" ], "support": { - "source": "https://github.com/symfony/console/tree/v7.1.1" + "issues": "https://github.com/doctrine/dbal/issues", + "source": "https://github.com/doctrine/dbal/tree/3.8.5" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://www.doctrine-project.org/sponsorship.html", "type": "custom" }, { - "url": "https://github.com/fabpot", - "type": "github" + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal", "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-06-08T17:49:56+00:00" }, { - "name": "symfony/dependency-injection", - "version": "v7.1.1", + "name": "doctrine/deprecations", + "version": "1.1.3", "source": { "type": "git", - "url": "https://github.com/symfony/dependency-injection.git", - "reference": "77c636dfd86c0b60c5d184b2fd2ddf8dd11c309c" + "url": "https://github.com/doctrine/deprecations.git", + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/77c636dfd86c0b60c5d184b2fd2ddf8dd11c309c", - "reference": "77c636dfd86c0b60c5d184b2fd2ddf8dd11c309c", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", + "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", "shasum": "" }, "require": { - "php": ">=8.2", - "psr/container": "^1.1|^2.0", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/service-contracts": "^3.5", - "symfony/var-exporter": "^6.4|^7.0" - }, - "conflict": { - "ext-psr": "<1.1|>=2", - "symfony/config": "<6.4", - "symfony/finder": "<6.4", - "symfony/yaml": "<6.4" - }, - "provide": { - "psr/container-implementation": "1.1|2.0", - "symfony/service-implementation": "1.1|2.0|3.0" + "php": "^7.1 || ^8.0" }, "require-dev": { - "symfony/config": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/yaml": "^6.4|^7.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" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\DependencyInjection\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + } }, "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": "Allows you to standardize and centralize the way objects are constructed in your application", - "homepage": "https://symfony.com", + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v7.1.1" + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/1.1.3" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-01-30T19:34:25+00:00" }, { - "name": "symfony/deprecation-contracts", - "version": "v3.5.0", + "name": "doctrine/doctrine-bundle", + "version": "2.11.1", "source": { "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + "url": "https://github.com/doctrine/DoctrineBundle.git", + "reference": "4089f1424b724786c062aea50aae5f773449b94b" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/4089f1424b724786c062aea50aae5f773449b94b", + "reference": "4089f1424b724786c062aea50aae5f773449b94b", "shasum": "" }, "require": { - "php": ">=8.1" + "doctrine/cache": "^1.11 || ^2.0", + "doctrine/dbal": "^3.7.0 || ^4.0", + "doctrine/persistence": "^2.2 || ^3", + "doctrine/sql-formatter": "^1.0.1", + "php": "^7.4 || ^8.0", + "symfony/cache": "^5.4 || ^6.0 || ^7.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/deprecation-contracts": "^2.1 || ^3", + "symfony/doctrine-bridge": "^5.4.19 || ^6.0.7 || ^7.0", + "symfony/framework-bundle": "^5.4 || ^6.0 || ^7.0", + "symfony/polyfill-php80": "^1.15", + "symfony/service-contracts": "^1.1.1 || ^2.0 || ^3" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } + "conflict": { + "doctrine/annotations": ">=3.0", + "doctrine/orm": "<2.14 || >=4.0", + "twig/twig": "<1.34 || >=2.0 <2.4" + }, + "require-dev": { + "doctrine/annotations": "^1 || ^2", + "doctrine/coding-standard": "^12", + "doctrine/deprecations": "^1.0", + "doctrine/orm": "^2.14 || ^3.0", + "friendsofphp/proxy-manager-lts": "^1.0", + "phpunit/phpunit": "^9.5.26 || ^10.0", + "psalm/plugin-phpunit": "^0.18.4", + "psalm/plugin-symfony": "^4", + "psr/log": "^1.1.4 || ^2.0 || ^3.0", + "symfony/phpunit-bridge": "^6.1 || ^7.0", + "symfony/property-info": "^5.4 || ^6.0 || ^7.0", + "symfony/proxy-manager-bridge": "^5.4 || ^6.0 || ^7.0", + "symfony/security-bundle": "^5.4 || ^6.0 || ^7.0", + "symfony/string": "^5.4 || ^6.0 || ^7.0", + "symfony/twig-bridge": "^5.4 || ^6.0 || ^7.0", + "symfony/validator": "^5.4 || ^6.0 || ^7.0", + "symfony/var-exporter": "^5.4 || ^6.2 || ^7.0", + "symfony/web-profiler-bundle": "^5.4 || ^6.0 || ^7.0", + "symfony/yaml": "^5.4 || ^6.0 || ^7.0", + "twig/twig": "^1.34 || ^2.12 || ^3.0", + "vimeo/psalm": "^4.30" }, + "suggest": { + "doctrine/orm": "The Doctrine ORM integration is optional in the bundle.", + "ext-pdo": "*", + "symfony/web-profiler-bundle": "To use the data collector." + }, + "type": "symfony-bundle", "autoload": { - "files": [ - "function.php" - ] + "psr-4": { + "Doctrine\\Bundle\\DoctrineBundle\\": "" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -667,68 +825,82 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" }, { "name": "Symfony Community", "homepage": "https://symfony.com/contributors" + }, + { + "name": "Doctrine Project", + "homepage": "https://www.doctrine-project.org/" } ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", + "description": "Symfony DoctrineBundle", + "homepage": "https://www.doctrine-project.org", + "keywords": [ + "database", + "dbal", + "orm", + "persistence" + ], "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" + "issues": "https://github.com/doctrine/DoctrineBundle/issues", + "source": "https://github.com/doctrine/DoctrineBundle/tree/2.11.1" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://www.doctrine-project.org/sponsorship.html", "type": "custom" }, { - "url": "https://github.com/fabpot", - "type": "github" + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdoctrine-bundle", "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2023-11-15T20:01:50+00:00" }, { - "name": "symfony/dotenv", - "version": "v7.1.1", + "name": "doctrine/event-manager", + "version": "1.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/dotenv.git", - "reference": "efa715ec40c098f2fba62444f4fd75d0d4248ede" + "url": "https://github.com/doctrine/event-manager.git", + "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/dotenv/zipball/efa715ec40c098f2fba62444f4fd75d0d4248ede", - "reference": "efa715ec40c098f2fba62444f4fd75d0d4248ede", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/95aa4cb529f1e96576f3fda9f5705ada4056a520", + "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520", "shasum": "" }, "require": { - "php": ">=8.2" + "doctrine/deprecations": "^0.5.3 || ^1", + "php": "^7.1 || ^8.0" }, "conflict": { - "symfony/console": "<6.4", - "symfony/process": "<6.4" + "doctrine/common": "<2.9" }, "require-dev": { - "symfony/console": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0" + "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" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Dotenv\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Doctrine\\Common\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -736,79 +908,89 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" } ], - "description": "Registers environment variables from a .env file", - "homepage": "https://symfony.com", + "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", + "homepage": "https://www.doctrine-project.org/projects/event-manager.html", "keywords": [ - "dotenv", - "env", - "environment" + "event", + "event dispatcher", + "event manager", + "event system", + "events" ], "support": { - "source": "https://github.com/symfony/dotenv/tree/v7.1.1" + "issues": "https://github.com/doctrine/event-manager/issues", + "source": "https://github.com/doctrine/event-manager/tree/1.2.0" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://www.doctrine-project.org/sponsorship.html", "type": "custom" }, { - "url": "https://github.com/fabpot", - "type": "github" + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager", "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2022-10-12T20:51:15+00:00" }, { - "name": "symfony/error-handler", - "version": "v7.1.1", + "name": "doctrine/inflector", + "version": "2.0.10", "source": { "type": "git", - "url": "https://github.com/symfony/error-handler.git", - "reference": "e9b8bbce0b4f322939332ab7b6b81d8c11da27dd" + "url": "https://github.com/doctrine/inflector.git", + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/e9b8bbce0b4f322939332ab7b6b81d8c11da27dd", - "reference": "e9b8bbce0b4f322939332ab7b6b81d8c11da27dd", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc", + "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc", "shasum": "" }, "require": { - "php": ">=8.2", - "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^6.4|^7.0" - }, - "conflict": { - "symfony/deprecation-contracts": "<2.5", - "symfony/http-kernel": "<6.4" + "php": "^7.2 || ^8.0" }, "require-dev": { - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0" + "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 || ^5.4" }, - "bin": [ - "Resources/bin/patch-type-declarations" - ], "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\ErrorHandler\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -816,79 +998,92 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "Provides tools to manage errors and ease debugging PHP code", - "homepage": "https://symfony.com", + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], "support": { - "source": "https://github.com/symfony/error-handler/tree/v7.1.1" + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.0.10" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://www.doctrine-project.org/sponsorship.html", "type": "custom" }, { - "url": "https://github.com/fabpot", - "type": "github" + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-02-18T20:23:39+00:00" }, { - "name": "symfony/event-dispatcher", - "version": "v7.1.1", + "name": "doctrine/instantiator", + "version": "2.0.0", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7" + "url": "https://github.com/doctrine/instantiator.git", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", - "reference": "9fa7f7a21beb22a39a8f3f28618b29e50d7a55a7", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/event-dispatcher-contracts": "^2.5|^3" - }, - "conflict": { - "symfony/dependency-injection": "<6.4", - "symfony/service-contracts": "<2.5" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0|3.0" + "php": "^8.1" }, "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/error-handler": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^6.4|^7.0" + "doctrine/coding-standard": "^11", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^1.2", + "phpstan/phpstan": "^1.9.4", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5.27", + "vimeo/psalm": "^5.4" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -896,66 +1091,66 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" } ], - "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", - "homepage": "https://symfony.com", + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.1.1" + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/2.0.0" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://www.doctrine-project.org/sponsorship.html", "type": "custom" }, { - "url": "https://github.com/fabpot", - "type": "github" + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2022-12-30T00:23:10+00:00" }, { - "name": "symfony/event-dispatcher-contracts", - "version": "v3.5.0", + "name": "doctrine/lexer", + "version": "2.1.1", "source": { "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" + "url": "https://github.com/doctrine/lexer.git", + "reference": "861c870e8b75f7c8f69c146c7f89cc1c0f1b49b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/861c870e8b75f7c8f69c146c7f89cc1c0f1b49b6", + "reference": "861c870e8b75f7c8f69c146c7f89cc1c0f1b49b6", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/event-dispatcher": "^1" + "doctrine/deprecations": "^1.0", + "php": "^7.1 || ^8.0" }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } + "require-dev": { + "doctrine/coding-standard": "^9 || ^12", + "phpstan/phpstan": "^1.3", + "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": { - "Symfony\\Contracts\\EventDispatcher\\": "" + "Doctrine\\Common\\Lexer\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -964,73 +1159,109 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" } ], - "description": "Generic abstractions related to dispatching event", - "homepage": "https://symfony.com", + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "annotations", + "docblock", + "lexer", + "parser", + "php" ], "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/2.1.1" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://www.doctrine-project.org/sponsorship.html", "type": "custom" }, { - "url": "https://github.com/fabpot", - "type": "github" + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2024-02-05T11:35:39+00:00" }, { - "name": "symfony/filesystem", - "version": "v7.1.1", + "name": "doctrine/orm", + "version": "2.15.5", "source": { "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "802e87002f919296c9f606457d9fa327a0b3d6b2" + "url": "https://github.com/doctrine/orm.git", + "reference": "d2de4ec03c63ddd7bdfda0421e237e11343c75ee" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/802e87002f919296c9f606457d9fa327a0b3d6b2", - "reference": "802e87002f919296c9f606457d9fa327a0b3d6b2", + "url": "https://api.github.com/repos/doctrine/orm/zipball/d2de4ec03c63ddd7bdfda0421e237e11343c75ee", + "reference": "d2de4ec03c63ddd7bdfda0421e237e11343c75ee", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8" + "composer-runtime-api": "^2", + "doctrine/cache": "^1.12.1 || ^2.1.1", + "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 || ^2", + "doctrine/lexer": "^2", + "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/polyfill-php72": "^1.23", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "doctrine/annotations": "<1.13 || >= 3.0" }, "require-dev": { - "symfony/process": "^6.4|^7.0" + "doctrine/annotations": "^1.13 || ^2", + "doctrine/coding-standard": "^9.0.2 || ^12.0", + "phpbench/phpbench": "^0.16.10 || ^1.0", + "phpstan/phpstan": "~1.4.10 || 1.10.25", + "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.13.1" + }, + "suggest": { + "ext-dom": "Provides support for XSD validation for XML mapping files", + "symfony/cache": "Provides cache support for Setup Tool with doctrine/cache 2.0", + "symfony/yaml": "If you want to use YAML Metadata Mapping Driver" }, + "bin": [ + "bin/doctrine" + ], "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Doctrine\\ORM\\": "lib/Doctrine/ORM" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1038,63 +1269,76 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides basic utilities for the filesystem", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/filesystem/tree/v7.1.1" - }, - "funding": [ + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, { - "url": "https://symfony.com/sponsor", - "type": "custom" + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" }, { - "url": "https://github.com/fabpot", - "type": "github" + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" } ], - "time": "2024-05-31T14:57:53+00:00" + "description": "Object-Relational-Mapper for PHP", + "homepage": "https://www.doctrine-project.org/projects/orm.html", + "keywords": [ + "database", + "orm" + ], + "support": { + "issues": "https://github.com/doctrine/orm/issues", + "source": "https://github.com/doctrine/orm/tree/2.15.5" + }, + "time": "2023-07-28T14:08:17+00:00" }, { - "name": "symfony/finder", - "version": "v7.1.1", + "name": "doctrine/persistence", + "version": "3.3.2", "source": { "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "fbb0ba67688b780efbc886c1a0a0948dcf7205d6" + "url": "https://github.com/doctrine/persistence.git", + "reference": "477da35bd0255e032826f440b94b3e37f2d56f42" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/fbb0ba67688b780efbc886c1a0a0948dcf7205d6", - "reference": "fbb0ba67688b780efbc886c1a0a0948dcf7205d6", + "url": "https://api.github.com/repos/doctrine/persistence/zipball/477da35bd0255e032826f440b94b3e37f2d56f42", + "reference": "477da35bd0255e032826f440b94b3e37f2d56f42", "shasum": "" }, "require": { - "php": ">=8.2" + "doctrine/event-manager": "^1 || ^2", + "php": "^7.2 || ^8.0", + "psr/cache": "^1.0 || ^2.0 || ^3.0" + }, + "conflict": { + "doctrine/common": "<2.10" }, "require-dev": { - "symfony/filesystem": "^6.4|^7.0" + "composer/package-versions-deprecated": "^1.11", + "doctrine/coding-standard": "^11", + "doctrine/common": "^3.0", + "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": { - "Symfony\\Component\\Finder\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Doctrine\\Persistence\\": "src/Persistence" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1102,67 +1346,89 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" } ], - "description": "Finds files and directories via an intuitive fluent interface", - "homepage": "https://symfony.com", + "description": "The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.", + "homepage": "https://www.doctrine-project.org/projects/persistence.html", + "keywords": [ + "mapper", + "object", + "odm", + "orm", + "persistence" + ], "support": { - "source": "https://github.com/symfony/finder/tree/v7.1.1" + "issues": "https://github.com/doctrine/persistence/issues", + "source": "https://github.com/doctrine/persistence/tree/3.3.2" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://www.doctrine-project.org/sponsorship.html", "type": "custom" }, { - "url": "https://github.com/fabpot", - "type": "github" + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fpersistence", "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-03-12T14:54:36+00:00" }, { - "name": "symfony/flex", - "version": "v2.4.5", + "name": "doctrine/sql-formatter", + "version": "1.4.0", "source": { "type": "git", - "url": "https://github.com/symfony/flex.git", - "reference": "b0a405f40614c9f584b489d54f91091817b0e26e" + "url": "https://github.com/doctrine/sql-formatter.git", + "reference": "d1ac84aef745c69ea034929eb6d65a6908b675cc" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/flex/zipball/b0a405f40614c9f584b489d54f91091817b0e26e", - "reference": "b0a405f40614c9f584b489d54f91091817b0e26e", + "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/d1ac84aef745c69ea034929eb6d65a6908b675cc", + "reference": "d1ac84aef745c69ea034929eb6d65a6908b675cc", "shasum": "" }, "require": { - "composer-plugin-api": "^2.1", - "php": ">=8.0" + "php": "^8.1" }, "require-dev": { - "composer/composer": "^2.1", - "symfony/dotenv": "^5.4|^6.0", - "symfony/filesystem": "^5.4|^6.0", - "symfony/phpunit-bridge": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0" - }, - "type": "composer-plugin", - "extra": { - "class": "Symfony\\Flex\\Flex" + "doctrine/coding-standard": "^12", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^10.5", + "vimeo/psalm": "^5.24" }, + "bin": [ + "bin/sql-formatter" + ], + "type": "library", "autoload": { "psr-4": { - "Symfony\\Flex\\": "src" + "Doctrine\\SqlFormatter\\": "src" } }, "notification-url": "https://packagist.org/downloads/", @@ -1171,332 +1437,205 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien.potencier@gmail.com" + "name": "Jeremy Dorn", + "email": "jeremy@jeremydorn.com", + "homepage": "https://jeremydorn.com/" } ], - "description": "Composer plugin for Symfony", + "description": "a PHP SQL highlighting library", + "homepage": "https://github.com/doctrine/sql-formatter/", + "keywords": [ + "highlight", + "sql" + ], "support": { - "issues": "https://github.com/symfony/flex/issues", - "source": "https://github.com/symfony/flex/tree/v2.4.5" + "issues": "https://github.com/doctrine/sql-formatter/issues", + "source": "https://github.com/doctrine/sql-formatter/tree/1.4.0" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-03-02T08:16:47+00:00" + "time": "2024-05-08T08:12:09+00:00" }, { - "name": "symfony/framework-bundle", - "version": "v7.1.1", + "name": "enshrined/svg-sanitize", + "version": "0.16.0", "source": { "type": "git", - "url": "https://github.com/symfony/framework-bundle.git", - "reference": "79a20497022b8853416e20c836ee150b754c332a" + "url": "https://github.com/darylldoyle/svg-sanitizer.git", + "reference": "239e257605e2141265b429e40987b2ee51bba4b4" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/79a20497022b8853416e20c836ee150b754c332a", - "reference": "79a20497022b8853416e20c836ee150b754c332a", + "url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/239e257605e2141265b429e40987b2ee51bba4b4", + "reference": "239e257605e2141265b429e40987b2ee51bba4b4", "shasum": "" }, "require": { - "composer-runtime-api": ">=2.1", - "ext-xml": "*", - "php": ">=8.2", - "symfony/cache": "^6.4|^7.0", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^7.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/error-handler": "^6.4|^7.0", - "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/filesystem": "^7.1", - "symfony/finder": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/routing": "^6.4|^7.0" - }, - "conflict": { - "doctrine/persistence": "<1.3", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/asset": "<6.4", - "symfony/asset-mapper": "<6.4", - "symfony/clock": "<6.4", - "symfony/console": "<6.4", - "symfony/dom-crawler": "<6.4", - "symfony/dotenv": "<6.4", - "symfony/form": "<6.4", - "symfony/http-client": "<6.4", - "symfony/lock": "<6.4", - "symfony/mailer": "<6.4", - "symfony/messenger": "<6.4", - "symfony/mime": "<6.4", - "symfony/property-access": "<6.4", - "symfony/property-info": "<6.4", - "symfony/scheduler": "<6.4.4|>=7.0.0,<7.0.4", - "symfony/security-core": "<6.4", - "symfony/security-csrf": "<6.4", - "symfony/serializer": "<6.4", - "symfony/stopwatch": "<6.4", - "symfony/translation": "<6.4", - "symfony/twig-bridge": "<6.4", - "symfony/twig-bundle": "<6.4", - "symfony/validator": "<6.4", - "symfony/web-profiler-bundle": "<6.4", - "symfony/workflow": "<6.4" + "ext-dom": "*", + "ext-libxml": "*", + "ezyang/htmlpurifier": "^4.16", + "php": "^5.6 || ^7.0 || ^8.0" }, "require-dev": { - "doctrine/persistence": "^1.3|^2|^3", - "dragonmantank/cron-expression": "^3.1", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "seld/jsonlint": "^1.10", - "symfony/asset": "^6.4|^7.0", - "symfony/asset-mapper": "^6.4|^7.0", - "symfony/browser-kit": "^6.4|^7.0", - "symfony/clock": "^6.4|^7.0", - "symfony/console": "^6.4|^7.0", - "symfony/css-selector": "^6.4|^7.0", - "symfony/dom-crawler": "^6.4|^7.0", - "symfony/dotenv": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/form": "^6.4|^7.0", - "symfony/html-sanitizer": "^6.4|^7.0", - "symfony/http-client": "^6.4|^7.0", - "symfony/lock": "^6.4|^7.0", - "symfony/mailer": "^6.4|^7.0", - "symfony/messenger": "^6.4|^7.0", - "symfony/mime": "^6.4|^7.0", - "symfony/notifier": "^6.4|^7.0", - "symfony/polyfill-intl-icu": "~1.0", - "symfony/process": "^6.4|^7.0", - "symfony/property-info": "^6.4|^7.0", - "symfony/rate-limiter": "^6.4|^7.0", - "symfony/scheduler": "^6.4.4|^7.0.4", - "symfony/security-bundle": "^6.4|^7.0", - "symfony/semaphore": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0", - "symfony/stopwatch": "^6.4|^7.0", - "symfony/string": "^6.4|^7.0", - "symfony/translation": "^6.4|^7.0", - "symfony/twig-bundle": "^6.4|^7.0", - "symfony/type-info": "^7.1", - "symfony/uid": "^6.4|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/web-link": "^6.4|^7.0", - "symfony/workflow": "^6.4|^7.0", - "symfony/yaml": "^6.4|^7.0", - "twig/twig": "^3.0.4" + "phpunit/phpunit": "^5.7 || ^6.5 || ^8.5" }, - "type": "symfony-bundle", + "type": "library", "autoload": { "psr-4": { - "Symfony\\Bundle\\FrameworkBundle\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "enshrined\\svgSanitize\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "GPL-2.0-or-later" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Daryll Doyle", + "email": "daryll@enshrined.co.uk" } ], - "description": "Provides a tight integration between Symfony components and the Symfony full-stack framework", - "homepage": "https://symfony.com", + "description": "An SVG sanitizer for PHP", "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v7.1.1" + "issues": "https://github.com/darylldoyle/svg-sanitizer/issues", + "source": "https://github.com/darylldoyle/svg-sanitizer/tree/0.16.0" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-06-04T06:40:14+00:00" + "time": "2023-03-20T10:51:12+00:00" }, { - "name": "symfony/http-foundation", - "version": "v7.1.1", + "name": "ezyang/htmlpurifier", + "version": "v4.17.0", "source": { "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "74d171d5b6a1d9e4bfee09a41937c17a7536acfa" + "url": "https://github.com/ezyang/htmlpurifier.git", + "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/74d171d5b6a1d9e4bfee09a41937c17a7536acfa", - "reference": "74d171d5b6a1d9e4bfee09a41937c17a7536acfa", + "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/bbc513d79acf6691fa9cf10f192c90dd2957f18c", + "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php83": "^1.27" - }, - "conflict": { - "doctrine/dbal": "<3.6", - "symfony/cache": "<6.4" + "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" }, "require-dev": { - "doctrine/dbal": "^3.6|^4", - "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/mime": "^6.4|^7.0", - "symfony/rate-limiter": "^6.4|^7.0" + "cerdic/css-tidy": "^1.7 || ^2.0", + "simpletest/simpletest": "dev-master" + }, + "suggest": { + "cerdic/css-tidy": "If you want to use the filter 'Filter.ExtractStyleBlocks'.", + "ext-bcmath": "Used for unit conversion and imagecrash protection", + "ext-iconv": "Converts text to and from non-UTF-8 encodings", + "ext-tidy": "Used for pretty-printing HTML" }, "type": "library", "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" + "files": [ + "library/HTMLPurifier.composer.php" + ], + "psr-0": { + "HTMLPurifier": "library/" }, "exclude-from-classmap": [ - "/Tests/" + "/library/HTMLPurifier/Language/" ] }, "notification-url": "https://packagist.org/downloads/", "license": [ - "MIT" + "LGPL-2.1-or-later" ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Edward Z. Yang", + "email": "admin@htmlpurifier.org", + "homepage": "http://ezyang.com" } ], - "description": "Defines an object-oriented layer for the HTTP specification", - "homepage": "https://symfony.com", + "description": "Standards compliant HTML filter written in PHP", + "homepage": "http://htmlpurifier.org/", + "keywords": [ + "html" + ], "support": { - "source": "https://github.com/symfony/http-foundation/tree/v7.1.1" + "issues": "https://github.com/ezyang/htmlpurifier/issues", + "source": "https://github.com/ezyang/htmlpurifier/tree/v4.17.0" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2023-11-17T15:01:25+00:00" }, { - "name": "symfony/http-kernel", - "version": "v7.1.1", + "name": "friendsofsymfony/rest-bundle", + "version": "3.7.1", "source": { "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "fa8d1c75b5f33b1302afccf81811f93976c6e26f" + "url": "https://github.com/FriendsOfSymfony/FOSRestBundle.git", + "reference": "db7d9a17da2bcae1bb8e2d7ff320ef3915903373" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/fa8d1c75b5f33b1302afccf81811f93976c6e26f", - "reference": "fa8d1c75b5f33b1302afccf81811f93976c6e26f", + "url": "https://api.github.com/repos/FriendsOfSymfony/FOSRestBundle/zipball/db7d9a17da2bcae1bb8e2d7ff320ef3915903373", + "reference": "db7d9a17da2bcae1bb8e2d7ff320ef3915903373", "shasum": "" }, "require": { - "php": ">=8.2", - "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/error-handler": "^6.4|^7.0", - "symfony/event-dispatcher": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/polyfill-ctype": "^1.8" + "php": "^7.4|^8.0", + "symfony/config": "^5.4|^6.4|^7.0", + "symfony/dependency-injection": "^5.4|^6.4|^7.0", + "symfony/deprecation-contracts": "^2.1|^3.0", + "symfony/event-dispatcher": "^5.4|^6.4|^7.0", + "symfony/framework-bundle": "^5.4|^6.4|^7.0", + "symfony/http-foundation": "^5.4|^6.4|^7.0", + "symfony/http-kernel": "^5.4|^6.4|^7.0", + "symfony/routing": "^5.4|^6.4|^7.0", + "symfony/security-core": "^5.4|^6.4|^7.0", + "willdurand/jsonp-callback-validator": "^1.0|^2.0", + "willdurand/negotiation": "^2.0|^3.0" }, "conflict": { - "symfony/browser-kit": "<6.4", - "symfony/cache": "<6.4", - "symfony/config": "<6.4", - "symfony/console": "<6.4", - "symfony/dependency-injection": "<6.4", - "symfony/doctrine-bridge": "<6.4", - "symfony/form": "<6.4", - "symfony/http-client": "<6.4", - "symfony/http-client-contracts": "<2.5", - "symfony/mailer": "<6.4", - "symfony/messenger": "<6.4", - "symfony/translation": "<6.4", - "symfony/translation-contracts": "<2.5", - "symfony/twig-bridge": "<6.4", - "symfony/validator": "<6.4", - "symfony/var-dumper": "<6.4", - "twig/twig": "<3.0.4" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" + "doctrine/annotations": "<1.12", + "jms/serializer": "<1.13.0", + "jms/serializer-bundle": "<2.4.3|3.0.0", + "sensio/framework-extra-bundle": "<6.1" }, "require-dev": { - "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^6.4|^7.0", - "symfony/clock": "^6.4|^7.0", - "symfony/config": "^6.4|^7.0", - "symfony/console": "^6.4|^7.0", - "symfony/css-selector": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/dom-crawler": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/finder": "^6.4|^7.0", - "symfony/http-client-contracts": "^2.5|^3", - "symfony/process": "^6.4|^7.0", - "symfony/property-access": "^7.1", - "symfony/routing": "^6.4|^7.0", - "symfony/serializer": "^7.1", - "symfony/stopwatch": "^6.4|^7.0", - "symfony/translation": "^6.4|^7.0", - "symfony/translation-contracts": "^2.5|^3", - "symfony/uid": "^6.4|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0", - "symfony/var-exporter": "^6.4|^7.0", - "twig/twig": "^3.0.4" + "doctrine/annotations": "^1.13.2|^2.0", + "friendsofphp/php-cs-fixer": "^3.43", + "jms/serializer": "^1.13|^2.0|^3.0", + "jms/serializer-bundle": "^2.4.3|^3.0.1|^4.0|^5.0", + "psr/http-message": "^1.0", + "psr/log": "^1.0|^2.0|^3.0", + "sensio/framework-extra-bundle": "^6.1", + "symfony/asset": "^5.4|^6.4|^7.0", + "symfony/browser-kit": "^5.4|^6.4|^7.0", + "symfony/css-selector": "^5.4|^6.4|^7.0", + "symfony/expression-language": "^5.4|^6.4|^7.0", + "symfony/form": "^5.4|^6.4|^7.0", + "symfony/mime": "^5.4|^6.4|^7.0", + "symfony/phpunit-bridge": "^7.0.1", + "symfony/security-bundle": "^5.4|^6.4|^7.0", + "symfony/serializer": "^5.4|^6.4|^7.0", + "symfony/twig-bundle": "^5.4|^6.4|^7.0", + "symfony/validator": "^5.4|^6.4|^7.0", + "symfony/web-profiler-bundle": "^5.4|^6.4|^7.0", + "symfony/yaml": "^5.4|^6.4|^7.0" + }, + "suggest": { + "jms/serializer-bundle": "Add support for advanced serialization capabilities, recommended", + "sensio/framework-extra-bundle": "Add support for the request body converter and the view response listener, not supported with Symfony >=7.0", + "symfony/serializer": "Add support for basic serialization capabilities and xml decoding", + "symfony/validator": "Add support for validation capabilities in the ParamFetcher" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "3.x-dev": "3.1-dev" + } }, - "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" + "FOS\\RestBundle\\": "" }, "exclude-from-classmap": [ - "/Tests/" + "Resources/", + "Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -1505,68 +1644,92 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides a structured process for converting a Request into a Response", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/http-kernel/tree/v7.1.1" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" + "name": "Lukas Kahwe Smith", + "email": "smith@pooteeweet.org" }, { - "url": "https://github.com/fabpot", - "type": "github" + "name": "Konstantin Kudryashov", + "email": "ever.zet@gmail.com" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "name": "FriendsOfSymfony Community", + "homepage": "https://github.com/friendsofsymfony/FOSRestBundle/contributors" } ], - "time": "2024-06-04T06:52:15+00:00" + "description": "This Bundle provides various tools to rapidly develop RESTful API's with Symfony", + "homepage": "http://friendsofsymfony.github.com", + "keywords": [ + "rest" + ], + "support": { + "issues": "https://github.com/FriendsOfSymfony/FOSRestBundle/issues", + "source": "https://github.com/FriendsOfSymfony/FOSRestBundle/tree/3.7.1" + }, + "time": "2024-04-12T22:57:10+00:00" }, { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.29.0", + "name": "gedmo/doctrine-extensions", + "version": "v3.15.0", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" + "url": "https://github.com/doctrine-extensions/DoctrineExtensions.git", + "reference": "2a89103f4984d8970f3855284c8c04e6e6a63c0f" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "url": "https://api.github.com/repos/doctrine-extensions/DoctrineExtensions/zipball/2a89103f4984d8970f3855284c8c04e6e6a63c0f", + "reference": "2a89103f4984d8970f3855284c8c04e6e6a63c0f", "shasum": "" }, "require": { - "php": ">=7.1" + "behat/transliterator": "^1.2", + "doctrine/collections": "^1.2 || ^2.0", + "doctrine/common": "^2.13 || ^3.0", + "doctrine/deprecations": "^1.0", + "doctrine/event-manager": "^1.2 || ^2.0", + "doctrine/persistence": "^2.2 || ^3.0", + "php": "^7.4 || ^8.0", + "psr/cache": "^1 || ^2 || ^3", + "psr/clock": "^1", + "symfony/cache": "^5.4 || ^6.0 || ^7.0" + }, + "conflict": { + "doctrine/annotations": "<1.13 || >=3.0", + "doctrine/dbal": "<3.2 || >=4.0", + "doctrine/mongodb-odm": "<2.3 || >=3.0", + "doctrine/orm": "<2.14.0 || 2.16.0 || 2.16.1 || >=3.0" + }, + "require-dev": { + "doctrine/annotations": "^1.13 || ^2.0", + "doctrine/cache": "^1.11 || ^2.0", + "doctrine/dbal": "^3.2", + "doctrine/doctrine-bundle": "^2.3", + "doctrine/mongodb-odm": "^2.3", + "doctrine/orm": "^2.14.0", + "friendsofphp/php-cs-fixer": "^3.14.0", + "nesbot/carbon": "^2.71 || ^3.0", + "phpstan/phpstan": "^1.10.2", + "phpstan/phpstan-doctrine": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^9.6", + "rector/rector": "^0.19", + "symfony/console": "^5.4 || ^6.0 || ^7.0", + "symfony/phpunit-bridge": "^6.0 || ^7.0", + "symfony/yaml": "^5.4 || ^6.0 || ^7.0" }, "suggest": { - "ext-intl": "For best performance" + "doctrine/mongodb-odm": "to use the extensions with the MongoDB ODM", + "doctrine/orm": "to use the extensions with the ORM" }, "type": "library", "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "branch-alias": { + "dev-main": "3.13-dev" } }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + "Gedmo\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1575,80 +1738,115 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Gediminas Morkevicius", + "email": "gediminas.morkevicius@gmail.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Gustavo Falco", + "email": "comfortablynumb84@gmail.com" + }, + { + "name": "David Buchmann", + "email": "david@liip.ch" } ], - "description": "Symfony polyfill for intl's grapheme_* functions", - "homepage": "https://symfony.com", + "description": "Doctrine behavioral extensions", + "homepage": "http://gediminasm.org/", "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" + "Blameable", + "behaviors", + "doctrine", + "extensions", + "gedmo", + "loggable", + "nestedset", + "odm", + "orm", + "sluggable", + "sortable", + "timestampable", + "translatable", + "tree", + "uploadable" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" + "email": "gediminas.morkevicius@gmail.com", + "issues": "https://github.com/doctrine-extensions/DoctrineExtensions/issues", + "source": "https://github.com/doctrine-extensions/DoctrineExtensions/tree/v3.15.0", + "wiki": "https://github.com/Atlantic18/DoctrineExtensions/tree/main/doc" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" + "url": "https://github.com/l3pp4rd", + "type": "github" }, { - "url": "https://github.com/fabpot", + "url": "https://github.com/mbabker", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "url": "https://github.com/phansys", + "type": "github" + }, + { + "url": "https://github.com/stof", + "type": "github" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2024-02-12T15:17:22+00:00" }, { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.29.0", + "name": "guzzlehttp/guzzle", + "version": "7.8.1", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" + "url": "https://github.com/guzzle/guzzle.git", + "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", + "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", "shasum": "" }, "require": { - "php": ">=7.1" + "ext-json": "*", + "guzzlehttp/promises": "^1.5.3 || ^2.0.1", + "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-curl": "*", + "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "php-http/message-factory": "^1.1", + "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "psr/log": "^1.1 || ^2.0 || ^3.0" }, "suggest": { - "ext-intl": "For best performance" + "ext-curl": "Required for CURL handler support", + "ext-intl": "Required for Internationalized Domain Name (IDN) support", + "psr/log": "Required for using the Log middleware" }, "type": "library", "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "bamarni-bin": { + "bin-links": true, + "forward-command": false } }, "autoload": { "files": [ - "bootstrap.php" + "src/functions_include.php" ], "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "classmap": [ - "Resources/stubs" - ] + "GuzzleHttp\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1656,79 +1854,104 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" } ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", + "description": "Guzzle is a PHP HTTP client library", "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" + "client", + "curl", + "framework", + "http", + "http client", + "psr-18", + "psr-7", + "rest", + "web service" ], "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/7.8.1" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" + "url": "https://github.com/GrahamCampbell", + "type": "github" }, { - "url": "https://github.com/fabpot", + "url": "https://github.com/Nyholm", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2023-12-03T20:35:24+00:00" }, { - "name": "symfony/polyfill-mbstring", - "version": "v1.29.0", + "name": "guzzlehttp/promises", + "version": "2.0.2", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" + "url": "https://github.com/guzzle/promises.git", + "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", + "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", "shasum": "" }, "require": { - "php": ">=7.1" + "php": "^7.2.5 || ^8.0" }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.36 || ^9.6.15" }, "type": "library", "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "bamarni-bin": { + "bin-links": true, + "forward-command": false } }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" + "GuzzleHttp\\Promise\\": "src/" } }, "notification-url": "https://packagist.org/downloads/", @@ -1737,77 +1960,93 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" } ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", + "description": "Guzzle promises library", "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" + "promise" ], "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/2.0.2" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" + "url": "https://github.com/GrahamCampbell", + "type": "github" }, { - "url": "https://github.com/fabpot", + "url": "https://github.com/Nyholm", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2023-12-03T20:19:20+00:00" }, { - "name": "symfony/polyfill-php83", - "version": "v1.29.0", + "name": "guzzlehttp/psr7", + "version": "2.6.2", "source": { "type": "git", - "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "86fcae159633351e5fd145d1c47de6c528f8caff" + "url": "https://github.com/guzzle/psr7.git", + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/86fcae159633351e5fd145d1c47de6c528f8caff", - "reference": "86fcae159633351e5fd145d1c47de6c528f8caff", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", "shasum": "" }, "require": { - "php": ">=7.1", - "symfony/polyfill-php80": "^1.14" + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0", + "ralouphie/getallheaders": "^3.0" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "http-interop/http-factory-tests": "^0.9", + "phpunit/phpunit": "^8.5.36 || ^9.6.15" + }, + "suggest": { + "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" }, "type": "library", "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" + "bamarni-bin": { + "bin-links": true, + "forward-command": false } }, "autoload": { - "files": [ - "bootstrap.php" - ], "psr-4": { - "Symfony\\Polyfill\\Php83\\": "" - }, - "classmap": [ - "Resources/stubs" - ] + "GuzzleHttp\\Psr7\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1815,80 +2054,108 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" } ], - "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", - "homepage": "https://symfony.com", + "description": "PSR-7 message implementation that also provides common utility methods", "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" ], "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.29.0" + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/2.6.2" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" + "url": "https://github.com/GrahamCampbell", + "type": "github" }, { - "url": "https://github.com/fabpot", + "url": "https://github.com/Nyholm", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", "type": "tidelift" } ], - "time": "2024-01-29T20:11:03+00:00" + "time": "2023-12-03T20:05:35+00:00" }, { - "name": "symfony/routing", - "version": "v7.1.1", + "name": "jms/metadata", + "version": "2.8.0", "source": { "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "60c31bab5c45af7f13091b87deb708830f3c96c0" + "url": "https://github.com/schmittjoh/metadata.git", + "reference": "7ca240dcac0c655eb15933ee55736ccd2ea0d7a6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/60c31bab5c45af7f13091b87deb708830f3c96c0", - "reference": "60c31bab5c45af7f13091b87deb708830f3c96c0", + "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/7ca240dcac0c655eb15933ee55736ccd2ea0d7a6", + "reference": "7ca240dcac0c655eb15933ee55736ccd2ea0d7a6", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/deprecation-contracts": "^2.5|^3" - }, - "conflict": { - "symfony/config": "<6.4", - "symfony/dependency-injection": "<6.4", - "symfony/yaml": "<6.4" + "php": "^7.2|^8.0" }, "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^6.4|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/yaml": "^6.4|^7.0" + "doctrine/cache": "^1.0", + "doctrine/coding-standard": "^8.0", + "mikey179/vfsstream": "^1.6.7", + "phpunit/phpunit": "^8.5|^9.0", + "psr/container": "^1.0|^2.0", + "symfony/cache": "^3.1|^4.0|^5.0", + "symfony/dependency-injection": "^3.1|^4.0|^5.0" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, "autoload": { "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "Metadata\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1896,81 +2163,88 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" } ], - "description": "Maps an HTTP request to a set of configuration variables", - "homepage": "https://symfony.com", + "description": "Class/method/property metadata management in PHP", "keywords": [ - "router", - "routing", - "uri", - "url" + "annotations", + "metadata", + "xml", + "yaml" ], "support": { - "source": "https://github.com/symfony/routing/tree/v7.1.1" + "issues": "https://github.com/schmittjoh/metadata/issues", + "source": "https://github.com/schmittjoh/metadata/tree/2.8.0" }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2023-02-15T13:44:18+00:00" }, { - "name": "symfony/runtime", - "version": "v7.1.1", + "name": "jms/serializer", + "version": "3.30.0", "source": { "type": "git", - "url": "https://github.com/symfony/runtime.git", - "reference": "ea34522c447dd91a2b31cb330ee4540a56ba53f6" + "url": "https://github.com/schmittjoh/serializer.git", + "reference": "bf1105358123d7c02ee6cad08ea33ab535a09d5e" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/runtime/zipball/ea34522c447dd91a2b31cb330ee4540a56ba53f6", - "reference": "ea34522c447dd91a2b31cb330ee4540a56ba53f6", + "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/bf1105358123d7c02ee6cad08ea33ab535a09d5e", + "reference": "bf1105358123d7c02ee6cad08ea33ab535a09d5e", "shasum": "" }, "require": { - "composer-plugin-api": "^1.0|^2.0", - "php": ">=8.2" - }, - "conflict": { - "symfony/dotenv": "<6.4" + "doctrine/instantiator": "^1.3.1 || ^2.0", + "doctrine/lexer": "^2.0 || ^3.0", + "jms/metadata": "^2.6", + "php": "^7.4 || ^8.0", + "phpstan/phpdoc-parser": "^1.20" }, "require-dev": { - "composer/composer": "^2.6", - "symfony/console": "^6.4|^7.0", - "symfony/dotenv": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0" + "doctrine/annotations": "^1.14 || ^2.0", + "doctrine/coding-standard": "^12.0", + "doctrine/orm": "^2.14 || ^3.0", + "doctrine/persistence": "^2.5.2 || ^3.0", + "doctrine/phpcr-odm": "^1.5.2 || ^2.0", + "ext-pdo_sqlite": "*", + "jackalope/jackalope-doctrine-dbal": "^1.3", + "ocramius/proxy-manager": "^1.0 || ^2.0", + "phpbench/phpbench": "^1.0", + "phpstan/phpstan": "^1.0.2", + "phpunit/phpunit": "^9.0 || ^10.0", + "psr/container": "^1.0 || ^2.0", + "rector/rector": "^0.19.0", + "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0", + "symfony/expression-language": "^5.4 || ^6.0 || ^7.0", + "symfony/filesystem": "^5.4 || ^6.0 || ^7.0", + "symfony/form": "^5.4 || ^6.0 || ^7.0", + "symfony/translation": "^5.4 || ^6.0 || ^7.0", + "symfony/uid": "^5.4 || ^6.0 || ^7.0", + "symfony/validator": "^5.4 || ^6.0 || ^7.0", + "symfony/yaml": "^5.4 || ^6.0 || ^7.0", + "twig/twig": "^1.34 || ^2.4 || ^3.0" + }, + "suggest": { + "doctrine/collections": "Required if you like to use doctrine collection types as ArrayCollection.", + "symfony/cache": "Required if you like to use cache functionality.", + "symfony/uid": "Required if you'd like to serialize UID objects.", + "symfony/yaml": "Required if you'd like to use the YAML metadata format." }, - "type": "composer-plugin", + "type": "library", "extra": { - "class": "Symfony\\Component\\Runtime\\Internal\\ComposerPlugin" + "branch-alias": { + "dev-master": "3.x-dev" + } }, "autoload": { "psr-4": { - "Symfony\\Component\\Runtime\\": "", - "Symfony\\Runtime\\Symfony\\Component\\": "Internal/" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "JMS\\Serializer\\": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -1978,76 +2252,87 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" } ], - "description": "Enables decoupling PHP applications from global state", - "homepage": "https://symfony.com", + "description": "Library for (de-)serializing data of any complexity; supports XML, and JSON.", + "homepage": "http://jmsyst.com/libs/serializer", "keywords": [ - "runtime" + "deserialization", + "jaxb", + "json", + "serialization", + "xml" ], "support": { - "source": "https://github.com/symfony/runtime/tree/v7.1.1" + "issues": "https://github.com/schmittjoh/serializer/issues", + "source": "https://github.com/schmittjoh/serializer/tree/3.30.0" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/goetas", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2024-05-31T14:55:39+00:00" + "time": "2024-02-24T14:12:14+00:00" }, { - "name": "symfony/service-contracts", - "version": "v3.5.0", + "name": "jms/serializer-bundle", + "version": "4.2.0", "source": { "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f" + "url": "https://github.com/schmittjoh/JMSSerializerBundle.git", + "reference": "d402554c66442ba494af7a37e3e43fc0f24e2689" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", - "reference": "bd1d9e59a81d8fa4acdcea3f617c581f7475a80f", + "url": "https://api.github.com/repos/schmittjoh/JMSSerializerBundle/zipball/d402554c66442ba494af7a37e3e43fc0f24e2689", + "reference": "d402554c66442ba494af7a37e3e43fc0f24e2689", "shasum": "" }, "require": { - "php": ">=8.1", - "psr/container": "^1.1|^2.0", - "symfony/deprecation-contracts": "^2.5|^3" + "jms/metadata": "^2.5", + "jms/serializer": "^3.18", + "php": "^7.2 || ^8.0", + "symfony/dependency-injection": "^3.4 || ^4.0 || ^5.0 || ^6.0", + "symfony/framework-bundle": "^3.0 || ^4.0 || ^5.0 || ^6.0" }, - "conflict": { - "ext-psr": "<1.1|>=2" + "require-dev": { + "doctrine/coding-standard": "^8.1", + "doctrine/orm": "^2.4", + "phpunit/phpunit": "^8.0 || ^9.0", + "symfony/expression-language": "^3.0 || ^4.0 || ^5.0 || ^6.0", + "symfony/finder": "^3.0 || ^4.0 || ^5.0 || ^6.0", + "symfony/form": "^3.0 || ^4.0 || ^5.0 || ^6.0", + "symfony/stopwatch": "^3.0 || ^4.0 || ^5.0 || ^6.0", + "symfony/templating": "^3.0 || ^4.0 || ^5.0 || ^6.0", + "symfony/twig-bundle": "^3.0 || ^4.0 || ^5.0 || ^6.0", + "symfony/uid": "^5.1 || ^6.0", + "symfony/validator": "^3.0 || ^4.0 || ^5.0 || ^6.0", + "symfony/yaml": "^3.0 || ^4.0 || ^5.0 || ^6.0" }, - "type": "library", + "suggest": { + "jms/di-extra-bundle": "Required to get lazy loading (de)serialization visitors, ^1.3", + "symfony/expression-language": "Required for opcache preloading, ^3.0 || ^4.0 || ^5.0", + "symfony/finder": "Required for cache warmup, supported versions ^3.0|^4.0" + }, + "type": "symfony-bundle", "extra": { "branch-alias": { - "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" + "dev-master": "4.x-dev" } }, "autoload": { "psr-4": { - "Symfony\\Contracts\\Service\\": "" + "JMS\\SerializerBundle\\": "" }, "exclude-from-classmap": [ - "/Test/" + "/Tests/" ] }, "notification-url": "https://packagist.org/downloads/", @@ -2056,86 +2341,75 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" } ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", + "description": "Allows you to easily serialize, and deserialize data of any complexity", + "homepage": "http://jmsyst.com/bundles/JMSSerializerBundle", "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" + "deserialization", + "json", + "serialization", + "xml" ], "support": { - "source": "https://github.com/symfony/service-contracts/tree/v3.5.0" + "issues": "https://github.com/schmittjoh/JMSSerializerBundle/issues", + "source": "https://github.com/schmittjoh/JMSSerializerBundle/tree/4.2.0" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/goetas", "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" } ], - "time": "2024-04-18T09:32:20+00:00" + "time": "2022-09-13T19:27:18+00:00" }, { - "name": "symfony/string", - "version": "v7.1.1", + "name": "knplabs/gaufrette", + "version": "v0.11.1", "source": { "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "60bc311c74e0af215101235aa6f471bcbc032df2" + "url": "https://github.com/KnpLabs/Gaufrette.git", + "reference": "3cc396cae0f7c7d3f965e6b69d8fc546ffa0f94c" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/60bc311c74e0af215101235aa6f471bcbc032df2", - "reference": "60bc311c74e0af215101235aa6f471bcbc032df2", + "url": "https://api.github.com/repos/KnpLabs/Gaufrette/zipball/3cc396cae0f7c7d3f965e6b69d8fc546ffa0f94c", + "reference": "3cc396cae0f7c7d3f965e6b69d8fc546ffa0f94c", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0" + "php": "^7.4 || ^8.0" }, "conflict": { - "symfony/translation-contracts": "<2.5" + "microsoft/windowsazure": "<0.4.3" }, "require-dev": { - "symfony/emoji": "^7.1", - "symfony/error-handler": "^6.4|^7.0", - "symfony/http-client": "^6.4|^7.0", - "symfony/intl": "^6.4|^7.0", - "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.4|^7.0" + "friendsofphp/php-cs-fixer": "^3.9", + "mikey179/vfsstream": "v1.x-dev as 1.7.0", + "pedrotroller/php-cs-custom-fixer": "^2.28", + "phpspec/phpspec": "^7.0", + "phpunit/phpunit": "~8.0" + }, + "suggest": { + "ext-fileinfo": "This extension is used to automatically detect the content-type of a file in the AwsS3, OpenCloud, AzureBlogStorage and GoogleCloudStorage adapters", + "knplabs/knp-gaufrette-bundle": "to use with Symfony" }, "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.10.x-dev" + } + }, "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\String\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "psr-0": { + "Gaufrette": "src/" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2143,86 +2417,128 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" + "name": "KnpLabs Team", + "homepage": "http://knplabs.com" }, { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "The contributors", + "homepage": "http://github.com/knplabs/Gaufrette/contributors" } ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", - "homepage": "https://symfony.com", + "description": "PHP library that provides a filesystem abstraction layer", + "homepage": "http://knplabs.com", "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" + "abstraction", + "file", + "filesystem", + "media" + ], + "support": { + "issues": "https://github.com/KnpLabs/Gaufrette/issues", + "source": "https://github.com/KnpLabs/Gaufrette/tree/v0.11.1" + }, + "time": "2022-11-03T17:26:17+00:00" + }, + { + "name": "laminas/laminas-stdlib", + "version": "3.19.0", + "source": { + "type": "git", + "url": "https://github.com/laminas/laminas-stdlib.git", + "reference": "6a192dd0882b514e45506f533b833b623b78fff3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/6a192dd0882b514e45506f533b833b623b78fff3", + "reference": "6a192dd0882b514e45506f533b833b623b78fff3", + "shasum": "" + }, + "require": { + "php": "~8.1.0 || ~8.2.0 || ~8.3.0" + }, + "conflict": { + "zendframework/zend-stdlib": "*" + }, + "require-dev": { + "laminas/laminas-coding-standard": "^2.5", + "phpbench/phpbench": "^1.2.15", + "phpunit/phpunit": "^10.5.8", + "psalm/plugin-phpunit": "^0.18.4", + "vimeo/psalm": "^5.20.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Laminas\\Stdlib\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "SPL extensions, array utilities, error handlers, and more", + "homepage": "https://laminas.dev", + "keywords": [ + "laminas", + "stdlib" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.1.1" + "chat": "https://laminas.dev/chat", + "docs": "https://docs.laminas.dev/laminas-stdlib/", + "forum": "https://discourse.laminas.dev", + "issues": "https://github.com/laminas/laminas-stdlib/issues", + "rss": "https://github.com/laminas/laminas-stdlib/releases.atom", + "source": "https://github.com/laminas/laminas-stdlib" }, "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" + "url": "https://funding.communitybridge.org/projects/laminas-project", + "type": "community_bridge" } ], - "time": "2024-06-04T06:40:14+00:00" + "time": "2024-01-19T12:39:49+00:00" }, { - "name": "symfony/var-dumper", - "version": "v7.1.1", + "name": "league/flysystem", + "version": "2.5.0", "source": { "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "deb2c2b506ff6fdbb340e00b34e9901e1605f293" + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "8aaffb653c5777781b0f7f69a5d937baf7ab6cdb" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/deb2c2b506ff6fdbb340e00b34e9901e1605f293", - "reference": "deb2c2b506ff6fdbb340e00b34e9901e1605f293", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/8aaffb653c5777781b0f7f69a5d937baf7ab6cdb", + "reference": "8aaffb653c5777781b0f7f69a5d937baf7ab6cdb", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/polyfill-mbstring": "~1.0" + "ext-json": "*", + "league/mime-type-detection": "^1.0.0", + "php": "^7.2 || ^8.0" }, "conflict": { - "symfony/console": "<6.4" + "guzzlehttp/ringphp": "<1.1.1" }, "require-dev": { - "ext-iconv": "*", - "symfony/console": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/process": "^6.4|^7.0", - "symfony/uid": "^6.4|^7.0", - "twig/twig": "^3.0.4" + "async-aws/s3": "^1.5", + "async-aws/simple-s3": "^1.0", + "aws/aws-sdk-php": "^3.132.4", + "composer/semver": "^3.0", + "ext-fileinfo": "*", + "ext-ftp": "*", + "friendsofphp/php-cs-fixer": "^3.2", + "google/cloud-storage": "^1.23", + "phpseclib/phpseclib": "^2.0", + "phpstan/phpstan": "^0.12.26", + "phpunit/phpunit": "^8.5 || ^9.4", + "sabre/dav": "^4.1" }, - "bin": [ - "Resources/bin/var-dump-server" - ], "type": "library", "autoload": { - "files": [ - "Resources/functions/dump.php" - ], "psr-4": { - "Symfony\\Component\\VarDumper\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "League\\Flysystem\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2230,69 +2546,72 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" } ], - "description": "Provides mechanisms for walking through any arbitrary PHP variable", - "homepage": "https://symfony.com", + "description": "File storage abstraction for PHP", "keywords": [ - "debug", - "dump" + "WebDAV", + "aws", + "cloud", + "file", + "files", + "filesystem", + "filesystems", + "ftp", + "s3", + "sftp", + "storage" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.1.1" + "issues": "https://github.com/thephpleague/flysystem/issues", + "source": "https://github.com/thephpleague/flysystem/tree/2.5.0" }, "funding": [ { - "url": "https://symfony.com/sponsor", + "url": "https://ecologi.com/frankdejonge", "type": "custom" }, { - "url": "https://github.com/fabpot", + "url": "https://github.com/frankdejonge", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2022-09-17T21:02:32+00:00" }, { - "name": "symfony/var-exporter", - "version": "v7.1.1", + "name": "league/mime-type-detection", + "version": "1.15.0", "source": { "type": "git", - "url": "https://github.com/symfony/var-exporter.git", - "reference": "db82c2b73b88734557cfc30e3270d83fa651b712" + "url": "https://github.com/thephpleague/mime-type-detection.git", + "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/db82c2b73b88734557cfc30e3270d83fa651b712", - "reference": "db82c2b73b88734557cfc30e3270d83fa651b712", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", + "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", "shasum": "" }, "require": { - "php": ">=8.2" + "ext-fileinfo": "*", + "php": "^7.4 || ^8.0" }, "require-dev": { - "symfony/property-access": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0", - "symfony/var-dumper": "^6.4|^7.0" + "friendsofphp/php-cs-fixer": "^3.2", + "phpstan/phpstan": "^0.12.68", + "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" }, "type": "library", "autoload": { "psr-4": { - "Symfony\\Component\\VarExporter\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "League\\MimeTypeDetection\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2300,80 +2619,78 @@ ], "authors": [ { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" } ], - "description": "Allows exporting any serializable PHP data structure to plain PHP code", - "homepage": "https://symfony.com", - "keywords": [ - "clone", - "construct", - "export", - "hydrate", - "instantiate", - "lazy-loading", - "proxy", - "serialize" - ], + "description": "Mime-type detection for Flysystem", "support": { - "source": "https://github.com/symfony/var-exporter/tree/v7.1.1" + "issues": "https://github.com/thephpleague/mime-type-detection/issues", + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.15.0" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", + "url": "https://github.com/frankdejonge", "type": "github" }, { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", "type": "tidelift" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-01-28T23:22:08+00:00" }, { - "name": "symfony/yaml", - "version": "v7.1.1", + "name": "league/uri", + "version": "6.8.0", "source": { "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "fa34c77015aa6720469db7003567b9f772492bf2" + "url": "https://github.com/thephpleague/uri.git", + "reference": "a700b4656e4c54371b799ac61e300ab25a2d1d39" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/fa34c77015aa6720469db7003567b9f772492bf2", - "reference": "fa34c77015aa6720469db7003567b9f772492bf2", + "url": "https://api.github.com/repos/thephpleague/uri/zipball/a700b4656e4c54371b799ac61e300ab25a2d1d39", + "reference": "a700b4656e4c54371b799ac61e300ab25a2d1d39", "shasum": "" }, "require": { - "php": ">=8.2", - "symfony/polyfill-ctype": "^1.8" + "ext-json": "*", + "league/uri-interfaces": "^2.3", + "php": "^8.1", + "psr/http-message": "^1.0.1" }, "conflict": { - "symfony/console": "<6.4" + "league/uri-schemes": "^1.0" }, "require-dev": { - "symfony/console": "^6.4|^7.0" + "friendsofphp/php-cs-fixer": "^v3.9.5", + "nyholm/psr7": "^1.5.1", + "php-http/psr7-integration-tests": "^1.1.1", + "phpbench/phpbench": "^1.2.6", + "phpstan/phpstan": "^1.8.5", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.1.1", + "phpstan/phpstan-strict-rules": "^1.4.3", + "phpunit/phpunit": "^9.5.24", + "psr/http-factory": "^1.0.1" + }, + "suggest": { + "ext-fileinfo": "Needed to create Data URI from a filepath", + "ext-intl": "Needed to improve host validation", + "league/uri-components": "Needed to easily manipulate URI objects", + "psr/http-factory": "Needed to use the URI factory" }, - "bin": [ - "Resources/bin/yaml-lint" - ], "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.x-dev" + } + }, "autoload": { "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] + "League\\Uri\\": "src" + } }, "notification-url": "https://packagist.org/downloads/", "license": [ @@ -2381,46 +2698,9133 @@ ], "authors": [ { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "URI manipulation library", + "homepage": "https://uri.thephpleague.com", + "keywords": [ + "data-uri", + "file-uri", + "ftp", + "hostname", + "http", + "https", + "middleware", + "parse_str", + "parse_url", + "psr-7", + "query-string", + "querystring", + "rfc3986", + "rfc3987", + "rfc6570", + "uri", + "uri-template", + "url", + "ws" + ], + "support": { + "docs": "https://uri.thephpleague.com", + "forum": "https://thephpleague.slack.com", + "issues": "https://github.com/thephpleague/uri/issues", + "source": "https://github.com/thephpleague/uri/tree/6.8.0" + }, + "funding": [ { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" + "url": "https://github.com/sponsors/nyamsprod", + "type": "github" } ], - "description": "Loads and dumps YAML files", - "homepage": "https://symfony.com", + "time": "2022-09-13T19:58:47+00:00" + }, + { + "name": "league/uri-components", + "version": "2.4.2", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri-components.git", + "reference": "c93837294fe9021d518fd3ea4c5f3fbba8b8ddeb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri-components/zipball/c93837294fe9021d518fd3ea4c5f3fbba8b8ddeb", + "reference": "c93837294fe9021d518fd3ea4c5f3fbba8b8ddeb", + "shasum": "" + }, + "require": { + "ext-json": "*", + "league/uri-interfaces": "^2.3", + "php": "^7.4 || ^8.0", + "psr/http-message": "^1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^v3.22.0", + "guzzlehttp/psr7": "^2.2", + "laminas/laminas-diactoros": "^2.11", + "league/uri": "^6.0", + "phpstan/phpstan": "^1.10.28", + "phpstan/phpstan-deprecation-rules": "^1.1.4", + "phpstan/phpstan-phpunit": "^1.3.13", + "phpstan/phpstan-strict-rules": "^1.5.1", + "phpunit/phpunit": "^9.6.10" + }, + "suggest": { + "ext-fileinfo": "Needed to create Data URI from a filepath", + "ext-gmp": "to improve handle IPV4 parsing", + "ext-intl": "to handle IDN host", + "jeremykendall/php-domain-parser": "Public Suffix and Top Level Domain parsing implemented in PHP", + "league/uri": "to allow manipulating URI objects", + "php-64bit": "to improve handle IPV4 parsing", + "psr/http-message-implementation": "to allow manipulating PSR-7 Uri objects" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "URI components manipulation library", + "homepage": "http://uri.thephpleague.com", + "keywords": [ + "authority", + "components", + "fragment", + "host", + "path", + "port", + "query", + "rfc3986", + "scheme", + "uri", + "url", + "userinfo" + ], "support": { - "source": "https://github.com/symfony/yaml/tree/v7.1.1" + "source": "https://github.com/thephpleague/uri-components/tree/2.4.2" }, "funding": [ { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, + "url": "https://github.com/nyamsprod", + "type": "github" + } + ], + "time": "2023-08-13T19:53:57+00:00" + }, + { + "name": "league/uri-interfaces", + "version": "2.3.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/uri-interfaces.git", + "reference": "00e7e2943f76d8cb50c7dfdc2f6dee356e15e383" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/00e7e2943f76d8cb50c7dfdc2f6dee356e15e383", + "reference": "00e7e2943f76d8cb50c7dfdc2f6dee356e15e383", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.19", + "phpstan/phpstan": "^0.12.90", + "phpstan/phpstan-phpunit": "^0.12.19", + "phpstan/phpstan-strict-rules": "^0.12.9", + "phpunit/phpunit": "^8.5.15 || ^9.5" + }, + "suggest": { + "ext-intl": "to use the IDNA feature", + "symfony/intl": "to use the IDNA feature via Symfony Polyfill" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Uri\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ { - "url": "https://github.com/fabpot", + "name": "Ignace Nyamagana Butera", + "email": "nyamsprod@gmail.com", + "homepage": "https://nyamsprod.com" + } + ], + "description": "Common interface for URI representation", + "homepage": "http://github.com/thephpleague/uri-interfaces", + "keywords": [ + "rfc3986", + "rfc3987", + "uri", + "url" + ], + "support": { + "issues": "https://github.com/thephpleague/uri-interfaces/issues", + "source": "https://github.com/thephpleague/uri-interfaces/tree/2.3.0" + }, + "funding": [ + { + "url": "https://github.com/sponsors/nyamsprod", "type": "github" + } + ], + "time": "2021-06-28T04:27:21+00:00" + }, + { + "name": "pagerfanta/core", + "version": "v3.8.0", + "source": { + "type": "git", + "url": "https://github.com/Pagerfanta/core.git", + "reference": "a995f69ff9af64a45c3dc3d8217100624ae214f2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Pagerfanta/core/zipball/a995f69ff9af64a45c3dc3d8217100624ae214f2", + "reference": "a995f69ff9af64a45c3dc3d8217100624ae214f2", + "shasum": "" + }, + "require": { + "ext-json": "*", + "php": "^7.4 || ^8.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", + "symfony/polyfill-php80": "^1.15" + }, + "require-dev": { + "phpunit/phpunit": "^9.6 || ^10.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Pagerfanta\\": "./" }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" + "exclude-from-classmap": [ + "Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Core Pagerfanta API", + "keywords": [ + "pagerfanta" + ], + "support": { + "source": "https://github.com/Pagerfanta/core/tree/v3.8.0" + }, + "time": "2023-04-15T16:39:14+00:00" + }, + { + "name": "payum/core", + "version": "1.7.4", + "target-dir": "Payum/Core", + "source": { + "type": "git", + "url": "https://github.com/Payum/Core.git", + "reference": "77f621c2bec49dcb2c148b5a01e07d074564e283" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Payum/Core/zipball/77f621c2bec49dcb2c148b5a01e07d074564e283", + "reference": "77f621c2bec49dcb2c148b5a01e07d074564e283", + "shasum": "" + }, + "require": { + "alcohol/iso4217": "^3.1 || ^4.0", + "league/uri": "^6.4", + "league/uri-components": "^2.2", + "payum/iso4217": "^1.0", + "php": "^7.2 || ^8.0", + "php-http/client-implementation": "^1.0", + "php-http/message": "^1.0", + "psr/log": "^1 || ^2 || ^3", + "twig/twig": "^1.34|^2.4|^3.0" + }, + "require-dev": { + "defuse/php-encryption": "^2", + "doctrine/dbal": "^2", + "doctrine/orm": "2.*", + "doctrine/persistence": "^1.3.3|^2.0", + "ext-curl": "*", + "ext-pdo_sqlite": "*", + "laminas/laminas-db": "^2.0", + "omnipay/common": "^3.0", + "omnipay/dummy": "^3.0", + "payum/omnipay-v3-bridge": "^1.0", + "php-http/guzzle6-adapter": "^1.0", + "phpunit/phpunit": "^5.7", + "propel/propel1": "~1.7", + "symfony/cache": "^4.4|^5.0", + "symfony/dependency-injection": "^4.4|^5.0", + "symfony/form": "^4.4|^5.0", + "symfony/http-foundation": "^4.4|^5.0", + "symfony/http-kernel": "^4.4|^5.0", + "symfony/phpunit-bridge": "^4.4|^5.0", + "symfony/routing": "^4.4|^5.0", + "symfony/validator": "^4.4|^5.0" + }, + "suggest": { + "defuse/php-encryption": "^2 If you want to encrypt gateways credentials in database", + "doctrine/mongodb-odm": "~2.0 If you want to store models to mongo doctrin2 ODM", + "doctrine/orm": "~2.3 If you want to store models to database using doctrin2 ORM", + "laminas/laminas-db": "~2.0 If you want to store models to Laminas Db ORM", + "monolog/monolog": "~1.0 If you want to use PSR-3 logger", + "payum/authorize-net-aim": "self.version If you want to use Authorize.Net AIM payment gateway", + "payum/be2bill": "self.version If you want to use be2bill payment gateway", + "payum/omnipay-v3-bridge": "^1 If you want to use omnipay's gateways", + "payum/payex": "self.version If you want to use payex payment gateway", + "payum/paypal-express-checkout-nvp": "self.version If you want to use paypal express checkout, digital goods or recurring payments", + "payum/paypal-ipn": "self.version If you want to use paypal instant payment notifications(Paypal IPN)", + "payum/paypal-pro-checkout-nvp": "self.version If you want to use paypal pro checkout", + "payum/paypal-rest": "self.version If you want to use paypal rest gateway", + "propel/propel": "If you want to store models to Propel2 ORM", + "propel/propel1": "~1.7 If you want to store models to Propel1 ORM", + "symfony/dependency-injection": "~2.8|~3.0 If you want to use container aware stuff", + "symfony/form": "~2.8|~3.0 If you want to use forms", + "symfony/http-foundation": "~2.8|~3.0 If you want to use HttpRequestVerifier or HttpResponse reply from symfony's bridge", + "symfony/http-kernel": "~2.8|~3.0 If you want to use HttpRequestVerifier from symfony's bridge", + "symfony/routing": "~2.8|~3.0 If you want to use TokenFactory from symfony's bridge" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-0": { + "Payum\\Core\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kotlyar Maksim", + "email": "kotlyar.maksim@gmail.com" + }, + { + "name": "Payum project", + "homepage": "https://payum.forma-pro.com/" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Payum/Payum/contributors" + } + ], + "description": "One million downloads of Payum already! Payum offers everything you need to work with payments. Friendly for all PHP frameworks (Symfony, Laravel, Laminas, Yii, Silex). Check more visiting site.", + "homepage": "https://payum.forma-pro.com/", + "keywords": [ + "authorize", + "capture", + "notify", + "payment", + "payout", + "recurring payment", + "refund", + "subscription", + "withdrawal" + ], + "support": { + "source": "https://github.com/Payum/Core/tree/1.7.4" + }, + "time": "2023-11-06T09:43:01+00:00" + }, + { + "name": "payum/iso4217", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/Payum/iso4217.git", + "reference": "faafdd2c5e799c673d7aa576aaf26fa2fb631014" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Payum/iso4217/zipball/faafdd2c5e799c673d7aa576aaf26fa2fb631014", + "reference": "faafdd2c5e799c673d7aa576aaf26fa2fb631014", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "require-dev": { + "phpunit/phpunit": "~4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Payum\\ISO4217\\": "." + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com" + }, + { + "name": "Kotlyar Maksim", + "email": "kotlyar.maksim@gmail.com" + }, + { + "name": "Payum project", + "homepage": "http://payum.org/" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Payum/Payum/contributors" + } + ], + "description": "ISO 4217 PHP Library", + "homepage": "https://payum.forma-pro.com/", + "keywords": [ + "4217", + "ISO 4217", + "currencies", + "iso", + "library" + ], + "support": { + "issues": "https://github.com/payum/iso4217/issues", + "source": "https://github.com/payum/iso4217" + }, + "time": "2022-02-27T10:14:23+00:00" + }, + { + "name": "php-http/message", + "version": "1.16.1", + "source": { + "type": "git", + "url": "https://github.com/php-http/message.git", + "reference": "5997f3289332c699fa2545c427826272498a2088" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-http/message/zipball/5997f3289332c699fa2545c427826272498a2088", + "reference": "5997f3289332c699fa2545c427826272498a2088", + "shasum": "" + }, + "require": { + "clue/stream-filter": "^1.5", + "php": "^7.2 || ^8.0", + "psr/http-message": "^1.1 || ^2.0" + }, + "provide": { + "php-http/message-factory-implementation": "1.0" + }, + "require-dev": { + "ergebnis/composer-normalize": "^2.6", + "ext-zlib": "*", + "guzzlehttp/psr7": "^1.0 || ^2.0", + "laminas/laminas-diactoros": "^2.0 || ^3.0", + "php-http/message-factory": "^1.0.2", + "phpspec/phpspec": "^5.1 || ^6.3 || ^7.1", + "slim/slim": "^3.0" + }, + "suggest": { + "ext-zlib": "Used with compressor/decompressor streams", + "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories", + "laminas/laminas-diactoros": "Used with Diactoros Factories", + "slim/slim": "Used with Slim Framework PSR-7 implementation" + }, + "type": "library", + "autoload": { + "files": [ + "src/filters.php" + ], + "psr-4": { + "Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com" + } + ], + "description": "HTTP Message related tools", + "homepage": "http://php-http.org", + "keywords": [ + "http", + "message", + "psr-7" + ], + "support": { + "issues": "https://github.com/php-http/message/issues", + "source": "https://github.com/php-http/message/tree/1.16.1" + }, + "time": "2024-03-07T13:22:09+00:00" + }, + { + "name": "phpstan/phpdoc-parser", + "version": "1.29.1", + "source": { + "type": "git", + "url": "https://github.com/phpstan/phpdoc-parser.git", + "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/fcaefacf2d5c417e928405b71b400d4ce10daaf4", + "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4", + "shasum": "" + }, + "require": { + "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.5", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.0", + "phpunit/phpunit": "^9.5", + "symfony/process": "^5.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPStan\\PhpDocParser\\": [ + "src/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "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.29.1" + }, + "time": "2024-05-31T08:52:43+00:00" + }, + { + "name": "psr/cache", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/213f9dbc5b9bfbc4f8db86d2838dc968752ce13b", + "reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/2.0.0" + }, + "time": "2021-02-03T23:23:37+00:00" + }, + { + "name": "psr/clock", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/clock.git", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Clock\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for reading the clock.", + "homepage": "https://github.com/php-fig/clock", + "keywords": [ + "clock", + "now", + "psr", + "psr-20", + "time" + ], + "support": { + "issues": "https://github.com/php-fig/clock/issues", + "source": "https://github.com/php-fig/clock/tree/1.0.0" + }, + "time": "2022-11-25T14:36:26+00:00" + }, + { + "name": "psr/container", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", + "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/1.1.2" + }, + "time": "2021-11-05T16:50:12+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/http-client", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client" + }, + "time": "2023-09-23T14:17:50+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory" + }, + "time": "2024-04-15T12:06:14+00:00" + }, + { + "name": "psr/http-message", + "version": "1.1", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba", + "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/1.1" + }, + "time": "2023-04-04T09:50:52+00:00" + }, + { + "name": "psr/log", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376", + "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/2.0.0" + }, + "time": "2021-07-14T16:41:46+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "sylius-labs/polyfill-symfony-security", + "version": "v1.1.2", + "source": { + "type": "git", + "url": "https://github.com/SyliusLabs/PolyfillSymfonySecurity.git", + "reference": "eeb3d837448bc6f35268a1e95f6a167830a1f469" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/SyliusLabs/PolyfillSymfonySecurity/zipball/eeb3d837448bc6f35268a1e95f6a167830a1f469", + "reference": "eeb3d837448bc6f35268a1e95f6a167830a1f469", + "shasum": "" + }, + "require": { + "php": "^8.0", + "symfony/dependency-injection": "^5.4 || ^6.0", + "symfony/http-kernel": "^5.4 || ^6.0", + "symfony/security-core": "^5.4 || ^6.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "^4.23" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "SyliusLabs\\Polyfill\\Symfony\\Security\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kamil Kokot", + "email": "kamil@kokot.me", + "homepage": "https://kamilkokot.com" + } + ], + "description": "Symfony Security Polyfill", + "support": { + "issues": "https://github.com/SyliusLabs/PolyfillSymfonySecurity/issues", + "source": "https://github.com/SyliusLabs/PolyfillSymfonySecurity/tree/v1.1.2" + }, + "time": "2022-12-12T13:28:33+00:00" + }, + { + "name": "sylius/addressing", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/Addressing.git", + "reference": "83adf39ac5d4b8e12d0b5a52ece56cfdca7ec729" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/Addressing/zipball/83adf39ac5d4b8e12d0b5a52ece56cfdca7ec729", + "reference": "83adf39ac5d4b8e12d0b5a52ece56cfdca7ec729", + "shasum": "" + }, + "require": { + "php": "^8.1", + "sylius/registry": "^1.5", + "sylius/resource": "^1.9", + "symfony/intl": "^5.4.21 || ^6.4" + }, + "require-dev": { + "phpspec/phpspec": "^7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\Addressing\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "Addressing and zone management for PHP applications.", + "homepage": "https://sylius.com", + "keywords": [ + "address", + "addressing", + "ecommerce", + "shop", + "zones" + ], + "support": { + "source": "https://github.com/Sylius/Addressing/tree/v1.13.2" + }, + "time": "2024-04-22T06:39:34+00:00" + }, + { + "name": "sylius/attribute", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/Attribute.git", + "reference": "ac51c19a75ab91fb24d5afda55f94bb765fe6107" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/Attribute/zipball/ac51c19a75ab91fb24d5afda55f94bb765fe6107", + "reference": "ac51c19a75ab91fb24d5afda55f94bb765fe6107", + "shasum": "" + }, + "require": { + "doctrine/collections": "^1.6", + "php": "^8.1", + "sylius/registry": "^1.5", + "sylius/resource": "^1.9", + "symfony/validator": "^5.4.21 || ^6.4" + }, + "require-dev": { + "phpspec/phpspec": "^7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\Attribute\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "Component for handling object attributes in PHP projects.", + "homepage": "https://sylius.com", + "keywords": [ + "attribute", + "ecommerce", + "feature", + "shop" + ], + "support": { + "source": "https://github.com/Sylius/Attribute/tree/v1.13.2" + }, + "time": "2024-04-22T06:39:34+00:00" + }, + { + "name": "sylius/calendar", + "version": "v0.5.0", + "source": { + "type": "git", + "url": "https://github.com/Sylius/Calendar.git", + "reference": "0aa16ea207a5d21cf0c751be0b5434d2aabd8f93" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/Calendar/zipball/0aa16ea207a5d21cf0c751be0b5434d2aabd8f93", + "reference": "0aa16ea207a5d21cf0c751be0b5434d2aabd8f93", + "shasum": "" + }, + "require": { + "php": "^8.0", + "symfony/framework-bundle": "^5.4 || ^6.0" + }, + "require-dev": { + "behat/behat": "^3.10", + "friends-of-behat/symfony-extension": "^2.0", + "matthiasnoback/symfony-dependency-injection-test": "^4.3", + "phpspec/phpspec": "^7.2", + "phpunit/phpunit": "^9.5.24", + "symfony/flex": "^2.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.0-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Calendar\\": "src/", + "Sylius\\Calendar\\Tests\\Behat\\": "tests/Behat/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Adam Kasperczak", + "email": "adam.kasperczak@sylius.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Calendar/contributors" + } + ], + "description": "Date handling for PHP applications.", + "homepage": "https://sylius.com", + "keywords": [ + "calendar", + "client", + "date", + "time" + ], + "support": { + "issues": "https://github.com/Sylius/Calendar/issues", + "source": "https://github.com/Sylius/Calendar/tree/v0.5.0" + }, + "time": "2023-03-31T09:47:16+00:00" + }, + { + "name": "sylius/channel", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/Channel.git", + "reference": "1ef84aa1ce68a73fd8e13dcebd0aa38566342498" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/Channel/zipball/1ef84aa1ce68a73fd8e13dcebd0aa38566342498", + "reference": "1ef84aa1ce68a73fd8e13dcebd0aa38566342498", + "shasum": "" + }, + "require": { + "laminas/laminas-stdlib": "^3.3.1", + "php": "^8.1", + "sylius/resource": "^1.9", + "symfony/form": "^5.4.21 || ^6.4", + "symfony/http-foundation": "^5.4.21 || ^6.4" + }, + "require-dev": { + "phpspec/phpspec": "^7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\Channel\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "E-Commerce PHP component for managing different sales channels.", + "homepage": "https://sylius.com", + "keywords": [ + "channel", + "ecommerce", + "multichannel", + "multistore", + "stores", + "sylius" + ], + "support": { + "source": "https://github.com/Sylius/Channel/tree/v1.13.2" + }, + "time": "2024-04-22T06:39:34+00:00" + }, + { + "name": "sylius/core", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/Core.git", + "reference": "017e4e0a145471cb350d044c790dca3a3edb2260" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/Core/zipball/017e4e0a145471cb350d044c790dca3a3edb2260", + "reference": "017e4e0a145471cb350d044c790dca3a3edb2260", + "shasum": "" + }, + "require": { + "enshrined/svg-sanitize": "^0.16", + "guzzlehttp/guzzle": "^6.5 || ^7.0", + "knplabs/gaufrette": "^0.10 || ^0.11", + "laminas/laminas-stdlib": "^3.3.1", + "league/flysystem": "^2.4", + "payum/core": "^1.7.3", + "php": "^8.1", + "psr/http-client": "^1.0", + "psr/http-message": "^1.0", + "sylius/addressing": "^1.13", + "sylius/attribute": "^1.13", + "sylius/channel": "^1.13", + "sylius/currency": "^1.13", + "sylius/customer": "^1.13", + "sylius/inventory": "^1.13", + "sylius/locale": "^1.13", + "sylius/order": "^1.13", + "sylius/payment": "^1.13", + "sylius/product": "^1.13", + "sylius/promotion": "^1.13", + "sylius/registry": "^1.5", + "sylius/resource": "^1.9", + "sylius/review": "^1.13", + "sylius/shipping": "^1.13", + "sylius/state-machine-abstraction": "^1.13", + "sylius/taxation": "^1.13", + "sylius/taxonomy": "^1.13", + "sylius/user": "^1.13", + "symfony/http-client": "^5.4.21 || ^6.4", + "symfony/http-foundation": "^5.4.21 || ^6.4", + "symfony/mime": "^5.4.21 || ^6.4", + "symfony/service-contracts": "^2.5 || ^3.0", + "symfony/string": "^5.4.21 || ^6.4", + "webmozart/assert": "^1.9" + }, + "require-dev": { + "phpspec/phpspec": "^7.2", + "phpunit/phpunit": "^9.5", + "symfony/property-access": "^5.4.21 || ^6.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\Core\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "Sylius e-commerce core. It integrates all components.", + "homepage": "https://sylius.com", + "keywords": [ + "core", + "ecommerce", + "shop", + "store", + "sylius" + ], + "support": { + "source": "https://github.com/Sylius/Core/tree/v1.13.2" + }, + "time": "2024-06-05T07:39:31+00:00" + }, + { + "name": "sylius/currency", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/Currency.git", + "reference": "4e578d7256ce22fc8fccc47971c0f3c89bf8235d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/Currency/zipball/4e578d7256ce22fc8fccc47971c0f3c89bf8235d", + "reference": "4e578d7256ce22fc8fccc47971c0f3c89bf8235d", + "shasum": "" + }, + "require": { + "laminas/laminas-stdlib": "^3.3.1", + "php": "^8.1", + "sylius/resource": "^1.9", + "symfony/intl": "^5.4.21 || ^6.4" + }, + "require-dev": { + "phpspec/phpspec": "^7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\Currency\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "Currency handling for PHP applications.", + "homepage": "https://sylius.com", + "keywords": [ + "cash", + "currencies", + "currency", + "money" + ], + "support": { + "source": "https://github.com/Sylius/Currency/tree/v1.13.2" + }, + "time": "2024-04-22T06:39:34+00:00" + }, + { + "name": "sylius/customer", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/Customer.git", + "reference": "1140efdda0b727d3345ff150c6ccf840fbb78f7d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/Customer/zipball/1140efdda0b727d3345ff150c6ccf840fbb78f7d", + "reference": "1140efdda0b727d3345ff150c6ccf840fbb78f7d", + "shasum": "" + }, + "require": { + "doctrine/collections": "^1.6", + "php": "^8.1", + "sylius/resource": "^1.9" + }, + "require-dev": { + "phpspec/phpspec": "^7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\Customer\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Michał Marcinkowski", + "email": "michal.marcinkowski@lakion.com" + }, + { + "name": "Łukasz Chruściel", + "email": "lukasz.chrusciel@lakion.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "Customer handling for PHP applications.", + "homepage": "https://sylius.com", + "keywords": [ + "customer", + "groups" + ], + "support": { + "source": "https://github.com/Sylius/Customer/tree/v1.13.2" + }, + "time": "2024-04-22T06:39:34+00:00" + }, + { + "name": "sylius/inventory", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/Inventory.git", + "reference": "7a0d1f140b6cc3b377df75ea3c93d135114b5aea" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/Inventory/zipball/7a0d1f140b6cc3b377df75ea3c93d135114b5aea", + "reference": "7a0d1f140b6cc3b377df75ea3c93d135114b5aea", + "shasum": "" + }, + "require": { + "php": "^8.1", + "sylius/resource": "^1.9", + "webmozart/assert": "^1.9" + }, + "require-dev": { + "phpspec/phpspec": "^7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\Inventory\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "Flexible inventory management for PHP applications.", + "homepage": "https://sylius.com", + "keywords": [ + "ecommerce", + "inventory", + "shop", + "stock", + "sylius" + ], + "support": { + "source": "https://github.com/Sylius/Inventory/tree/v1.13.2" + }, + "time": "2024-04-22T06:39:34+00:00" + }, + { + "name": "sylius/locale", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/Locale.git", + "reference": "4f36d9e368904e44a404ee3ae3b4c6167d10b1a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/Locale/zipball/4f36d9e368904e44a404ee3ae3b4c6167d10b1a1", + "reference": "4f36d9e368904e44a404ee3ae3b4c6167d10b1a1", + "shasum": "" + }, + "require": { + "laminas/laminas-stdlib": "^3.3.1", + "php": "^8.1", + "sylius/resource": "^1.9", + "symfony/intl": "^5.4.21 || ^6.4" + }, + "require-dev": { + "phpspec/phpspec": "^7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\Locale\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "Locale handling for PHP applications.", + "homepage": "https://sylius.com", + "keywords": [ + "i18n", + "internationalization", + "language", + "locale", + "localization" + ], + "support": { + "source": "https://github.com/Sylius/Locale/tree/v1.13.2" + }, + "time": "2024-04-22T06:39:34+00:00" + }, + { + "name": "sylius/money-bundle", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/SyliusMoneyBundle.git", + "reference": "76de951602aedc12c36ba8ac5e6be80988ca8a04" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/SyliusMoneyBundle/zipball/76de951602aedc12c36ba8ac5e6be80988ca8a04", + "reference": "76de951602aedc12c36ba8ac5e6be80988ca8a04", + "shasum": "" + }, + "require": { + "php": "^8.1", + "sylius/resource-bundle": "^1.9", + "symfony/framework-bundle": "^5.4.21 || ^6.4", + "symfony/intl": "^5.4.21 || ^6.4", + "symfony/templating": "^5.4.21 || ^6.4", + "webmozart/assert": "^1.9" + }, + "conflict": { + "doctrine/orm": ">= 2.16.0", + "twig/twig": "^1.0 || 3.9.0" + }, + "require-dev": { + "doctrine/orm": "^2.13", + "phpspec/phpspec": "^7.2", + "phpunit/phpunit": "^9.5", + "polishsymfonycommunity/symfony-mocker-container": "^1.0", + "sylius/currency-bundle": "^1.13", + "symfony/browser-kit": "^5.4.21 || ^6.4", + "symfony/dependency-injection": "^5.4.21 || ^6.4", + "symfony/form": "^5.4.21 || ^6.4", + "twig/twig": "^2.12 || ^3.3" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Bundle\\MoneyBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "Currencies and money formatting engine bundle for Symfony.", + "homepage": "https://sylius.com", + "keywords": [ + "cash", + "currencies", + "currency", + "money" + ], + "support": { + "source": "https://github.com/Sylius/SyliusMoneyBundle/tree/v1.13.2" + }, + "time": "2024-04-22T06:39:34+00:00" + }, + { + "name": "sylius/order", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/Order.git", + "reference": "db247991887fe952c6ff58fda7b208cc00debf7e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/Order/zipball/db247991887fe952c6ff58fda7b208cc00debf7e", + "reference": "db247991887fe952c6ff58fda7b208cc00debf7e", + "shasum": "" + }, + "require": { + "laminas/laminas-stdlib": "^3.3.1", + "php": "^8.1", + "sylius/resource": "^1.9", + "webmozart/assert": "^1.9" + }, + "require-dev": { + "phpspec/phpspec": "^7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\Order\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "Orders management library for PHP.", + "homepage": "https://sylius.com", + "keywords": [ + "ecommerce", + "order", + "sales", + "shop", + "webshop" + ], + "support": { + "source": "https://github.com/Sylius/Order/tree/v1.13.2" + }, + "time": "2024-04-22T06:39:34+00:00" + }, + { + "name": "sylius/payment", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/Payment.git", + "reference": "b209ca85723f39fcbe4500c27e69d774292122f9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/Payment/zipball/b209ca85723f39fcbe4500c27e69d774292122f9", + "reference": "b209ca85723f39fcbe4500c27e69d774292122f9", + "shasum": "" + }, + "require": { + "php": "^8.1", + "sylius/registry": "^1.5", + "sylius/resource": "^1.9" + }, + "require-dev": { + "phpspec/phpspec": "^7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\Payment\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "Flexible payments system for PHP e-commerce applications.", + "homepage": "https://sylius.com", + "keywords": [ + "ecommerce", + "payment", + "payments", + "shop", + "webshop" + ], + "support": { + "source": "https://github.com/Sylius/Payment/tree/v1.13.2" + }, + "time": "2024-04-22T06:39:34+00:00" + }, + { + "name": "sylius/product", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/Product.git", + "reference": "c955925fb9da5a147e1a2c3461edc0a6d2b892af" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/Product/zipball/c955925fb9da5a147e1a2c3461edc0a6d2b892af", + "reference": "c955925fb9da5a147e1a2c3461edc0a6d2b892af", + "shasum": "" + }, + "require": { + "behat/transliterator": "^1.3", + "php": "^8.1", + "sylius/attribute": "^1.13", + "sylius/resource": "^1.9", + "symfony/polyfill-iconv": "^1.17", + "webmozart/assert": "^1.9" + }, + "require-dev": { + "phpspec/phpspec": "^7.2" + }, + "suggest": { + "ext-iconv": "For better performance than using Symfony Polyfill Component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\Product\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "Product catalog system with support for product options and variants.", + "homepage": "https://sylius.com", + "keywords": [ + "assortment", + "ecommerce", + "options", + "product", + "products", + "shop", + "variants" + ], + "support": { + "source": "https://github.com/Sylius/Product/tree/v1.13.2" + }, + "time": "2024-04-22T06:39:34+00:00" + }, + { + "name": "sylius/promotion", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/Promotion.git", + "reference": "a02c1346dba9fb1cea7c503c11434c55d4989857" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/Promotion/zipball/a02c1346dba9fb1cea7c503c11434c55d4989857", + "reference": "a02c1346dba9fb1cea7c503c11434c55d4989857", + "shasum": "" + }, + "require": { + "doctrine/orm": "^2.13", + "php": "^8.1", + "sylius/registry": "^1.5", + "sylius/resource": "^1.9" + }, + "conflict": { + "doctrine/orm": "2.15.2" + }, + "require-dev": { + "phpspec/phpspec": "^7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\Promotion\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "Flexible promotion management for PHP applications.", + "homepage": "https://sylius.com", + "keywords": [ + "ecommerce", + "promotion", + "shop", + "sylius" + ], + "support": { + "source": "https://github.com/Sylius/Promotion/tree/v1.13.2" + }, + "time": "2024-04-22T06:39:34+00:00" + }, + { + "name": "sylius/registry", + "version": "v1.6.0", + "source": { + "type": "git", + "url": "https://github.com/Sylius/Registry.git", + "reference": "e4f44f418f48d43e1b969e878fd962e7034aa3ad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/Registry/zipball/e4f44f418f48d43e1b969e878fd962e7034aa3ad", + "reference": "e4f44f418f48d43e1b969e878fd962e7034aa3ad", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpspec/phpspec": "^7.0", + "sylius-labs/coding-standard": "^3.2.2", + "vimeo/psalm": "4.4.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.6-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\Registry\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "http://pjedrzejewski.com" + }, + { + "name": "Sylius project", + "homepage": "http://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "http://github.com/Sylius/Sylius/contributors" + } + ], + "description": "Services registry.", + "homepage": "http://sylius.com", + "keywords": [ + "registry", + "services" + ], + "support": { + "issues": "https://github.com/Sylius/Registry/issues", + "source": "https://github.com/Sylius/Registry/tree/v1.6.0" + }, + "time": "2021-02-01T15:36:19+00:00" + }, + { + "name": "sylius/resource-bundle", + "version": "v1.10.3", + "source": { + "type": "git", + "url": "https://github.com/Sylius/SyliusResourceBundle.git", + "reference": "3437c1b3c1e04a4889332bf97de210b6478377ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/SyliusResourceBundle/zipball/3437c1b3c1e04a4889332bf97de210b6478377ce", + "reference": "3437c1b3c1e04a4889332bf97de210b6478377ce", + "shasum": "" + }, + "require": { + "babdev/pagerfanta-bundle": "^3.0", + "doctrine/collections": "^1.6", + "doctrine/doctrine-bundle": "^2.0", + "doctrine/event-manager": "^1.1", + "doctrine/inflector": "^1.4 || ^2.0", + "doctrine/persistence": "^2.0 || ^3.0", + "friendsofsymfony/rest-bundle": "^3.0", + "gedmo/doctrine-extensions": "^2.4.12 || ^3.0", + "jms/serializer-bundle": "^3.5 || ^4.0", + "php": "^8.0", + "sylius/registry": "^1.2", + "symfony/config": "^5.4 || ^6.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", + "symfony/expression-language": "^5.4 || ^6.0", + "symfony/form": "^5.4 || ^6.0", + "symfony/framework-bundle": "^5.4 || ^6.0", + "symfony/http-foundation": "^5.4 || ^6.0", + "symfony/routing": "^5.4 || ^6.0", + "symfony/security-csrf": "^5.4 || ^6.0", + "symfony/translation": "^5.4 || ^6.0", + "symfony/twig-bundle": "^5.4 || ^6.0", + "symfony/validator": "^5.4 || ^6.0", + "symfony/yaml": "^5.4 || ^6.0", + "webmozart/assert": "^1.8", + "willdurand/hateoas-bundle": "^2.0", + "winzou/state-machine-bundle": "^0.6" + }, + "replace": { + "sylius/resource": "self.version" + }, + "require-dev": { + "doctrine/orm": "^2.5", + "lchrusciel/api-test-case": "^5.0", + "matthiasnoback/symfony-dependency-injection-test": "^4.2.1", + "pagerfanta/pagerfanta": "^3.0", + "pamil/phpspec-skip-example-extension": "^4.2", + "phpspec/phpspec": "^7.2", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/phpstan": "^1.7", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-webmozart-assert": "^1.2", + "phpunit/phpunit": "^9.5", + "rector/rector": "^0.13.5", + "sylius-labs/coding-standard": "^4.0", + "sylius/grid-bundle": "^1.7 || v1.12.0-ALPHA.1", + "symfony/dependency-injection": "^5.4 || ^6.0", + "symfony/dotenv": "^5.4 || ^6.0", + "symfony/stopwatch": "^5.4 || ^6.0", + "symfony/workflow": "^5.4 || ^6.0", + "twig/twig": "^2.12 || ^3.0", + "vimeo/psalm": "^4.22" + }, + "suggest": { + "doctrine/orm": "^2.5", + "sylius/locale": "^1.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\Resource\\": "src/Component/", + "Sylius\\Bundle\\ResourceBundle\\": "src/Bundle/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "Resource component for Sylius.", + "homepage": "https://sylius.com", + "keywords": [ + "persistence", + "resource", + "storage", + "sylius" + ], + "support": { + "issues": "https://github.com/Sylius/SyliusResourceBundle/issues", + "source": "https://github.com/Sylius/SyliusResourceBundle/tree/v1.10.3" + }, + "time": "2023-12-01T14:25:03+00:00" + }, + { + "name": "sylius/review", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/Review.git", + "reference": "9bb39cce10190ed0bbd913a8a25a7ac7ccf2b8b3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/Review/zipball/9bb39cce10190ed0bbd913a8a25a7ac7ccf2b8b3", + "reference": "9bb39cce10190ed0bbd913a8a25a7ac7ccf2b8b3", + "shasum": "" + }, + "require": { + "doctrine/collections": "^1.6", + "php": "^8.1", + "sylius/resource": "^1.9" + }, + "require-dev": { + "phpspec/phpspec": "^7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\Review\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Mateusz Zalewski", + "email": "mateusz.zalewski@lakion.com" + }, + { + "name": "Grzegorz Sadowski", + "email": "grzegorz.sadowski@lakion.com" + }, + { + "name": "Daniel Richter", + "email": "nexyz9@gmail.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "Review system, for commenting and rating shop components.", + "homepage": "https://sylius.com", + "keywords": [ + "Rating", + "ecommerce", + "review", + "shop" + ], + "support": { + "source": "https://github.com/Sylius/Review/tree/v1.13.2" + }, + "time": "2024-04-22T06:39:34+00:00" + }, + { + "name": "sylius/shipping", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/Shipping.git", + "reference": "9591027c65153cca36465d6ad59773ed90980acd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/Shipping/zipball/9591027c65153cca36465d6ad59773ed90980acd", + "reference": "9591027c65153cca36465d6ad59773ed90980acd", + "shasum": "" + }, + "require": { + "php": "^8.1", + "sylius/registry": "^1.5", + "sylius/resource": "^1.9", + "symfony/options-resolver": "^5.4.21 || ^6.4" + }, + "require-dev": { + "phpspec/phpspec": "^7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\Shipping\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "Flexible shipping component for PHP e-commerce projects.", + "homepage": "https://sylius.com", + "keywords": [ + "delivery", + "ecommerce", + "shipments", + "shipping", + "shop", + "sylius", + "webshop" + ], + "support": { + "source": "https://github.com/Sylius/Shipping/tree/v1.13.2" + }, + "time": "2024-04-22T06:39:34+00:00" + }, + { + "name": "sylius/state-machine-abstraction", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/StateMachineAbstraction.git", + "reference": "aef793bee891b00d1c08e2aba8d146e13c048aa6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/StateMachineAbstraction/zipball/aef793bee891b00d1c08e2aba8d146e13c048aa6", + "reference": "aef793bee891b00d1c08e2aba8d146e13c048aa6", + "shasum": "" + }, + "require": { + "php": "^8.1", + "symfony/dependency-injection": "^5.4.21 || ^6.4", + "symfony/http-kernel": "^5.4.21 || ^6.4", + "symfony/workflow": "^5.4.21 || ^6.4", + "winzou/state-machine": "^0.4", + "winzou/state-machine-bundle": "^0.6" + }, + "require-dev": { + "matthiasnoback/symfony-config-test": "^4.2", + "phpunit/phpunit": "^9.5", + "webmozart/assert": "^1.9" + }, + "suggest": { + "twig/twig": "Access the state machine in your twig templates (^2.12|^3.3)" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + }, + "symfony": { + "require": "^5.4.21" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Abstraction\\StateMachine\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jacob Tobiasz", + "email": "jakub.tobiasz@icloud.com" + } + ], + "description": "Abstraction layer for State Machine used in Sylius bundles", + "support": { + "issues": "https://github.com/Sylius/StateMachineAbstraction/issues", + "source": "https://github.com/Sylius/StateMachineAbstraction/tree/v1.13.2" + }, + "time": "2024-05-13T06:19:43+00:00" + }, + { + "name": "sylius/taxation", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/Taxation.git", + "reference": "b2aaebd30078c05d36da7a64c208ed37d59a6427" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/Taxation/zipball/b2aaebd30078c05d36da7a64c208ed37d59a6427", + "reference": "b2aaebd30078c05d36da7a64c208ed37d59a6427", + "shasum": "" + }, + "require": { + "php": "^8.1", + "sylius/calendar": "^0.3 || ^0.4 || ^0.5", + "sylius/registry": "^1.5", + "sylius/resource": "^1.9" + }, + "require-dev": { + "phpspec/phpspec": "^7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\Taxation\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "Flexible taxation system for PHP ecommerce applications.", + "homepage": "https://sylius.com", + "keywords": [ + "ecommerce", + "shop", + "sylius", + "tax", + "taxation", + "taxes", + "vat" + ], + "support": { + "source": "https://github.com/Sylius/Taxation/tree/v1.13.2" + }, + "time": "2024-04-22T06:39:34+00:00" + }, + { + "name": "sylius/taxonomy", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/Taxonomy.git", + "reference": "201b51eaa3d6b74b3e13fa306714eaf9e56f94f1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/Taxonomy/zipball/201b51eaa3d6b74b3e13fa306714eaf9e56f94f1", + "reference": "201b51eaa3d6b74b3e13fa306714eaf9e56f94f1", + "shasum": "" + }, + "require": { + "behat/transliterator": "^1.3", + "php": "^8.1", + "sylius/resource": "^1.9", + "webmozart/assert": "^1.9" + }, + "require-dev": { + "phpspec/phpspec": "^7.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\Taxonomy\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "Taxonomies - categorization of domain models in PHP projects.", + "homepage": "https://sylius.com", + "keywords": [ + "categorization", + "classification", + "ecommerce", + "taxon", + "taxonomy" + ], + "support": { + "source": "https://github.com/Sylius/Taxonomy/tree/v1.13.2" + }, + "time": "2024-04-22T06:39:34+00:00" + }, + { + "name": "sylius/user", + "version": "v1.13.2", + "source": { + "type": "git", + "url": "https://github.com/Sylius/User.git", + "reference": "24fbdecde8696a80979ccb2b22f2812b48a4c8ca" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Sylius/User/zipball/24fbdecde8696a80979ccb2b22f2812b48a4c8ca", + "reference": "24fbdecde8696a80979ccb2b22f2812b48a4c8ca", + "shasum": "" + }, + "require": { + "doctrine/collections": "^1.6", + "php": "^8.1", + "sylius-labs/polyfill-symfony-security": "^1.1", + "sylius/resource": "^1.9", + "symfony/polyfill-mbstring": "^1.17", + "symfony/security-core": "^5.4.21 || ^6.4" + }, + "require-dev": { + "phpspec/phpspec": "^7.2" + }, + "suggest": { + "ext-mbstring": "For better performance than using Symfony Polyfill Component" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.13-dev" + } + }, + "autoload": { + "psr-4": { + "Sylius\\Component\\User\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Paweł Jędrzejewski", + "homepage": "https://pjedrzejewski.com" + }, + { + "name": "Michał Marcinkowski", + "email": "michal.marcinkowski@lakion.com" + }, + { + "name": "Łukasz Chruściel", + "email": "lukasz.chrusciel@lakion.com" + }, + { + "name": "Sylius project", + "homepage": "https://sylius.com" + }, + { + "name": "Community contributions", + "homepage": "https://github.com/Sylius/Sylius/contributors" + } + ], + "description": "User handling for PHP applications.", + "homepage": "https://sylius.com", + "keywords": [ + "groups", + "login", + "registration", + "user" + ], + "support": { + "source": "https://github.com/Sylius/User/tree/v1.13.2" + }, + "time": "2024-04-22T06:39:34+00:00" + }, + { + "name": "symfony/cache", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache.git", + "reference": "89005bc368ca02ed0433c592e4d27670d0844a66" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache/zipball/89005bc368ca02ed0433c592e4d27670d0844a66", + "reference": "89005bc368ca02ed0433c592e4d27670d0844a66", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/cache": "^1.0|^2.0", + "psr/log": "^1.1|^2|^3", + "symfony/cache-contracts": "^1.1.7|^2", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/var-exporter": "^4.4|^5.0|^6.0" + }, + "conflict": { + "doctrine/dbal": "<2.13.1", + "symfony/dependency-injection": "<4.4", + "symfony/http-kernel": "<4.4", + "symfony/var-dumper": "<4.4" + }, + "provide": { + "psr/cache-implementation": "1.0|2.0", + "psr/simple-cache-implementation": "1.0|2.0", + "symfony/cache-implementation": "1.0|2.0" + }, + "require-dev": { + "cache/integration-tests": "dev-master", + "doctrine/cache": "^1.6|^2.0", + "doctrine/dbal": "^2.13.1|^3|^4", + "predis/predis": "^1.1|^2.0", + "psr/simple-cache": "^1.0|^2.0", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/filesystem": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/messenger": "^4.4|^5.0|^6.0", + "symfony/var-dumper": "^4.4|^5.0|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Cache\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "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/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/cache-contracts", + "version": "v2.5.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/cache-contracts.git", + "reference": "fee6db04d913094e2fb55ff8e7db5685a8134463" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/fee6db04d913094e2fb55ff8e7db5685a8134463", + "reference": "fee6db04d913094e2fb55ff8e7db5685a8134463", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/cache": "^1.0|^2.0|^3.0" + }, + "suggest": { + "symfony/cache-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Cache\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to caching", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/cache-contracts/tree/v2.5.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T13:51:25+00:00" + }, + { + "name": "symfony/config", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/config.git", + "reference": "d4e1db78421163b98dd9971d247fd0df4a57ee5e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/config/zipball/d4e1db78421163b98dd9971d247fd0df4a57ee5e", + "reference": "d4e1db78421163b98dd9971d247fd0df4a57ee5e", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/filesystem": "^4.4|^5.0|^6.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php80": "^1.16", + "symfony/polyfill-php81": "^1.22" + }, + "conflict": { + "symfony/finder": "<4.4" + }, + "require-dev": { + "symfony/event-dispatcher": "^4.4|^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/messenger": "^4.4|^5.0|^6.0", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/yaml": "^4.4|^5.0|^6.0" + }, + "suggest": { + "symfony/yaml": "To use the yaml reference dumper" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Config\\": "" + }, + "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": "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/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/console", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "aa73115c0c24220b523625bfcfa655d7d73662dd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/aa73115c0c24220b523625bfcfa655d7d73662dd", + "reference": "aa73115c0c24220b523625bfcfa655d7d73662dd", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/string": "^5.1|^6.0" + }, + "conflict": { + "psr/log": ">=3", + "symfony/dependency-injection": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/event-dispatcher": "<4.4", + "symfony/lock": "<4.4", + "symfony/process": "<4.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0" + }, + "require-dev": { + "psr/log": "^1|^2", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/event-dispatcher": "^4.4|^5.0|^6.0", + "symfony/lock": "^4.4|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/var-dumper": "^4.4|^5.0|^6.0" + }, + "suggest": { + "psr/log": "For using the console logger", + "symfony/event-dispatcher": "", + "symfony/lock": "", + "symfony/process": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "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": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/dependency-injection", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/dependency-injection.git", + "reference": "408b33326496030c201b8051b003e9e8cdb2efc9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/408b33326496030c201b8051b003e9e8cdb2efc9", + "reference": "408b33326496030c201b8051b003e9e8cdb2efc9", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.1.1", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16", + "symfony/polyfill-php81": "^1.22", + "symfony/service-contracts": "^1.1.6|^2" + }, + "conflict": { + "ext-psr": "<1.1|>=2", + "symfony/config": "<5.3", + "symfony/finder": "<4.4", + "symfony/proxy-manager-bridge": "<4.4", + "symfony/yaml": "<4.4.26" + }, + "provide": { + "psr/container-implementation": "1.0", + "symfony/service-implementation": "1.0|2.0" + }, + "require-dev": { + "symfony/config": "^5.3|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/yaml": "^4.4.26|^5.0|^6.0" + }, + "suggest": { + "symfony/config": "", + "symfony/expression-language": "For using expressions in service container configuration", + "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", + "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", + "symfony/yaml": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\DependencyInjection\\": "" + }, + "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": "Allows you to standardize and centralize the way objects are constructed in your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/dependency-injection/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.5.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:32:20+00:00" + }, + { + "name": "symfony/doctrine-bridge", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/doctrine-bridge.git", + "reference": "d8ab3a46043e2ef314a8b93250d26b07c55d9564" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/d8ab3a46043e2ef314a8b93250d26b07c55d9564", + "reference": "d8ab3a46043e2ef314a8b93250d26b07c55d9564", + "shasum": "" + }, + "require": { + "doctrine/event-manager": "~1.0", + "doctrine/persistence": "^2|^3", + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.1|^2|^3" + }, + "conflict": { + "doctrine/dbal": "<2.13.1", + "doctrine/lexer": "<1.1", + "doctrine/orm": "<2.7.4", + "symfony/cache": "<5.4", + "symfony/dependency-injection": "<4.4", + "symfony/form": "<5.4.38|>=6,<6.4.6", + "symfony/http-kernel": "<5", + "symfony/messenger": "<4.4", + "symfony/property-info": "<5", + "symfony/proxy-manager-bridge": "<4.4.19", + "symfony/security-bundle": "<5", + "symfony/security-core": "<5.3", + "symfony/validator": "<5.4.25|>=6,<6.2.12|>=6.3,<6.3.1" + }, + "require-dev": { + "doctrine/annotations": "^1.10.4|^2", + "doctrine/collections": "^1.0|^2.0", + "doctrine/data-fixtures": "^1.1", + "doctrine/dbal": "^2.13.1|^3|^4", + "doctrine/orm": "^2.7.4|^3", + "psr/log": "^1|^2|^3", + "symfony/cache": "^5.4|^6.0", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/doctrine-messenger": "^5.1|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/form": "^5.4.38|^6.4.6", + "symfony/http-kernel": "^5.0|^6.0", + "symfony/messenger": "^4.4|^5.0|^6.0", + "symfony/property-access": "^4.4|^5.0|^6.0", + "symfony/property-info": "^5.0|^6.0", + "symfony/proxy-manager-bridge": "^4.4|^5.0|^6.0", + "symfony/security-core": "^5.3|^6.0", + "symfony/stopwatch": "^4.4|^5.0|^6.0", + "symfony/translation": "^4.4|^5.0|^6.0", + "symfony/uid": "^5.1|^6.0", + "symfony/validator": "^5.4.25|~6.2.12|^6.3.1", + "symfony/var-dumper": "^4.4|^5.0|^6.0" + }, + "suggest": { + "doctrine/data-fixtures": "", + "doctrine/dbal": "", + "doctrine/orm": "", + "symfony/form": "", + "symfony/property-info": "", + "symfony/validator": "" + }, + "type": "symfony-bridge", + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Doctrine\\": "" + }, + "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 integration for Doctrine with various Symfony components", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/doctrine-bridge/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "c6c8f965a87b22d5005a7806783c7f10ae7e58cd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/c6c8f965a87b22d5005a7806783c7f10ae7e58cd", + "reference": "c6c8f965a87b22d5005a7806783c7f10ae7e58cd", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1|^2|^3", + "symfony/var-dumper": "^4.4|^5.0|^6.0" + }, + "require-dev": { + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/serializer": "^4.4|^5.0|^6.0" + }, + "bin": [ + "Resources/bin/patch-type-declarations" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ErrorHandler\\": "" + }, + "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 tools to manage errors and ease debugging PHP code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a54e2a8a114065f31020d6a89ede83e34c3b27a4", + "reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/event-dispatcher-contracts": "^2|^3", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "symfony/dependency-injection": "<4.4" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/error-handler": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/service-contracts": "^1.1|^2|^3", + "symfony/stopwatch": "^4.4|^5.0|^6.0" + }, + "suggest": { + "symfony/dependency-injection": "", + "symfony/http-kernel": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "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 tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.5.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", + "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/event-dispatcher": "^1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-04-18T09:32:20+00:00" + }, + { + "name": "symfony/expression-language", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/expression-language.git", + "reference": "77670d1e74086dc8d941a18f97097bbf988f2840" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/expression-language/zipball/77670d1e74086dc8d941a18f97097bbf988f2840", + "reference": "77670d1e74086dc8d941a18f97097bbf988f2840", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/service-contracts": "^1.1|^2|^3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ExpressionLanguage\\": "" + }, + "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 an engine that can compile and evaluate expressions", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/expression-language/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "26dd9912df6940810ea00f8f53ad48d6a3424995" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/26dd9912df6940810ea00f8f53ad48d6a3424995", + "reference": "26dd9912df6940810ea00f8f53ad48d6a3424995", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "symfony/process": "^5.4|^6.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Filesystem\\": "" + }, + "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 basic utilities for the filesystem", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/filesystem/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/finder", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "f51cff4687547641c7d8180d74932ab40b2205ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/f51cff4687547641c7d8180d74932ab40b2205ce", + "reference": "f51cff4687547641c7d8180d74932ab40b2205ce", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "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": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/form", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/form.git", + "reference": "ff45013def0a3a692e84010095e8ee5fe9a9fa43" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/form/zipball/ff45013def0a3a692e84010095e8ee5fe9a9fa43", + "reference": "ff45013def0a3a692e84010095e8ee5fe9a9fa43", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/event-dispatcher": "^4.4|^5.0|^6.0", + "symfony/options-resolver": "^5.1|^6.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/polyfill-php81": "^1.23", + "symfony/property-access": "^5.0.8|^6.0", + "symfony/service-contracts": "^1.1|^2|^3" + }, + "conflict": { + "symfony/console": "<4.4", + "symfony/dependency-injection": "<4.4", + "symfony/doctrine-bridge": "<5.4.21|>=6,<6.2.7", + "symfony/error-handler": "<4.4.5", + "symfony/framework-bundle": "<4.4", + "symfony/http-kernel": "<4.4", + "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3", + "symfony/translation-contracts": "<1.1.7", + "symfony/twig-bridge": "<5.4.21|>=6,<6.2.7" + }, + "require-dev": { + "doctrine/collections": "^1.0|^2.0", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/console": "^5.4|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/intl": "^4.4|^5.0|^6.0", + "symfony/security-csrf": "^4.4|^5.0|^6.0", + "symfony/translation": "^5.4.35|~6.3.12|^6.4.3", + "symfony/uid": "^5.1|^6.0", + "symfony/validator": "^4.4.17|^5.1.9|^6.0", + "symfony/var-dumper": "^4.4|^5.0|^6.0" + }, + "suggest": { + "symfony/security-csrf": "For protecting forms against CSRF attacks.", + "symfony/twig-bridge": "For templating with Twig.", + "symfony/validator": "For form validation." + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Form\\": "" + }, + "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": "Allows to easily create, process and reuse HTML forms", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/form/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/framework-bundle", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/framework-bundle.git", + "reference": "603090d8327e279bd233d5ce42a1ed89bc91612f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/603090d8327e279bd233d5ce42a1ed89bc91612f", + "reference": "603090d8327e279bd233d5ce42a1ed89bc91612f", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": ">=7.2.5", + "symfony/cache": "^5.2|^6.0", + "symfony/config": "^5.3|^6.0", + "symfony/dependency-injection": "^5.4.5|^6.0.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/error-handler": "^4.4.1|^5.0.1|^6.0", + "symfony/event-dispatcher": "^5.1|^6.0", + "symfony/filesystem": "^4.4|^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^5.4.24|^6.2.11", + "symfony/http-kernel": "^5.4|^6.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/polyfill-php81": "^1.22", + "symfony/routing": "^5.3|^6.0" + }, + "conflict": { + "doctrine/annotations": "<1.13.1", + "doctrine/cache": "<1.11", + "doctrine/persistence": "<1.3", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/asset": "<5.3", + "symfony/console": "<5.2.5|>=7.0", + "symfony/dom-crawler": "<4.4", + "symfony/dotenv": "<5.1", + "symfony/form": "<5.2", + "symfony/http-client": "<4.4", + "symfony/lock": "<4.4", + "symfony/mailer": "<5.2", + "symfony/messenger": "<5.4", + "symfony/mime": "<4.4", + "symfony/property-access": "<5.3", + "symfony/property-info": "<4.4", + "symfony/security-csrf": "<5.3", + "symfony/serializer": "<5.2", + "symfony/service-contracts": ">=3.0", + "symfony/stopwatch": "<4.4", + "symfony/translation": "<5.3", + "symfony/twig-bridge": "<4.4", + "symfony/twig-bundle": "<4.4", + "symfony/validator": "<5.3.11", + "symfony/web-profiler-bundle": "<4.4", + "symfony/workflow": "<5.2" + }, + "require-dev": { + "doctrine/annotations": "^1.13.1|^2", + "doctrine/cache": "^1.11|^2.0", + "doctrine/persistence": "^1.3|^2|^3", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/asset": "^5.3|^6.0", + "symfony/browser-kit": "^5.4|^6.0", + "symfony/console": "^5.4.9|^6.0.9", + "symfony/css-selector": "^4.4|^5.0|^6.0", + "symfony/dom-crawler": "^4.4.30|^5.3.7|^6.0", + "symfony/dotenv": "^5.1|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/form": "^5.2|^6.0", + "symfony/http-client": "^4.4|^5.0|^6.0", + "symfony/lock": "^4.4|^5.0|^6.0", + "symfony/mailer": "^5.2|^6.0", + "symfony/messenger": "^5.4|^6.0", + "symfony/mime": "^4.4|^5.0|^6.0", + "symfony/notifier": "^5.4|^6.0", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/property-info": "^4.4|^5.0|^6.0", + "symfony/rate-limiter": "^5.2|^6.0", + "symfony/security-bundle": "^5.4|^6.0", + "symfony/serializer": "^5.4|^6.0", + "symfony/stopwatch": "^4.4|^5.0|^6.0", + "symfony/string": "^5.0|^6.0", + "symfony/translation": "^5.3|^6.0", + "symfony/twig-bundle": "^4.4|^5.0|^6.0", + "symfony/validator": "^5.3.11|^6.0", + "symfony/web-link": "^4.4|^5.0|^6.0", + "symfony/workflow": "^5.2|^6.0", + "symfony/yaml": "^4.4|^5.0|^6.0", + "twig/twig": "^2.10|^3.0.4" + }, + "suggest": { + "ext-apcu": "For best performance of the system caches", + "symfony/console": "For using the console commands", + "symfony/form": "For using forms", + "symfony/property-info": "For using the property_info service", + "symfony/serializer": "For using the serializer service", + "symfony/validator": "For using validation", + "symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering", + "symfony/yaml": "For using the debug:config and lint:yaml commands" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Symfony\\Bundle\\FrameworkBundle\\": "" + }, + "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 tight integration between Symfony components and the Symfony full-stack framework", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/framework-bundle/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/http-client", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-client.git", + "reference": "970a4d5a3393be3ba987b91a018e98ee332db63b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-client/zipball/970a4d5a3393be3ba987b91a018e98ee332db63b", + "reference": "970a4d5a3393be3ba987b91a018e98ee332db63b", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/http-client-contracts": "^2.5.3", + "symfony/polyfill-php73": "^1.11", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.0|^2|^3" + }, + "provide": { + "php-http/async-client-implementation": "*", + "php-http/client-implementation": "*", + "psr/http-client-implementation": "1.0", + "symfony/http-client-implementation": "2.4" + }, + "require-dev": { + "amphp/amp": "^2.5", + "amphp/http-client": "^4.2.1", + "amphp/http-tunnel": "^1.0", + "amphp/socket": "^1.1", + "guzzlehttp/promises": "^1.4|^2.0", + "nyholm/psr7": "^1.0", + "php-http/httplug": "^1.0|^2.0", + "php-http/message-factory": "^1.0", + "psr/http-client": "^1.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^4.4.13|^5.1.5|^6.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/stopwatch": "^4.4|^5.0|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpClient\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", + "homepage": "https://symfony.com", + "keywords": [ + "http" + ], + "support": { + "source": "https://github.com/symfony/http-client/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/http-client-contracts", + "version": "v2.5.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-client-contracts.git", + "reference": "e5cc97c2b4a4db0ba26bebc154f1426e3fd1d2f1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/e5cc97c2b4a4db0ba26bebc154f1426e3fd1d2f1", + "reference": "e5cc97c2b4a4db0ba26bebc154f1426e3fd1d2f1", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "suggest": { + "symfony/http-client-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\HttpClient\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to HTTP clients", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/http-client-contracts/tree/v2.5.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-03-26T19:42:53+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "cf4893ca4eca3fac4ae06da1590afdbbb4217847" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/cf4893ca4eca3fac4ae06da1590afdbbb4217847", + "reference": "cf4893ca4eca3fac4ae06da1590afdbbb4217847", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "predis/predis": "^1.0|^2.0", + "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^5.4|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", + "symfony/mime": "^4.4|^5.0|^6.0", + "symfony/rate-limiter": "^5.2|^6.0" + }, + "suggest": { + "symfony/mime": "To use the file extension guesser" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "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": "Defines an object-oriented layer for the HTTP specification", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-foundation/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "3ad03183c6985adc2eece16f239f8cfe1c4ccbe3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/3ad03183c6985adc2eece16f239f8cfe1c4ccbe3", + "reference": "3ad03183c6985adc2eece16f239f8cfe1c4ccbe3", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/log": "^1|^2", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/error-handler": "^4.4|^5.0|^6.0", + "symfony/event-dispatcher": "^5.0|^6.0", + "symfony/http-foundation": "^5.4.21|^6.2.7", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-php73": "^1.9", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "symfony/browser-kit": "<5.4", + "symfony/cache": "<5.0", + "symfony/config": "<5.0", + "symfony/console": "<4.4", + "symfony/dependency-injection": "<5.3", + "symfony/doctrine-bridge": "<5.0", + "symfony/form": "<5.0", + "symfony/http-client": "<5.0", + "symfony/mailer": "<5.0", + "symfony/messenger": "<5.0", + "symfony/translation": "<5.0", + "symfony/twig-bridge": "<5.0", + "symfony/validator": "<5.0", + "twig/twig": "<2.13" + }, + "provide": { + "psr/log-implementation": "1.0|2.0" + }, + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^5.4|^6.0", + "symfony/config": "^5.0|^6.0", + "symfony/console": "^4.4|^5.0|^6.0", + "symfony/css-selector": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^5.3|^6.0", + "symfony/dom-crawler": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/http-client-contracts": "^1.1|^2|^3", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/routing": "^4.4|^5.0|^6.0", + "symfony/stopwatch": "^4.4|^5.0|^6.0", + "symfony/translation": "^4.4|^5.0|^6.0", + "symfony/translation-contracts": "^1.1|^2|^3", + "symfony/var-dumper": "^4.4.31|^5.4", + "twig/twig": "^2.13|^3.0.4" + }, + "suggest": { + "symfony/browser-kit": "", + "symfony/config": "", + "symfony/console": "", + "symfony/dependency-injection": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "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 structured process for converting a Request into a Response", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-06-02T15:53:08+00:00" + }, + { + "name": "symfony/intl", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/intl.git", + "reference": "75482b3b0aadc7f652d99b4f543b1d21f6562ff4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/intl/zipball/75482b3b0aadc7f652d99b4f543b1d21f6562ff4", + "reference": "75482b3b0aadc7f652d99b4f543b1d21f6562ff4", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "symfony/filesystem": "^4.4|^5.0|^6.0", + "symfony/var-exporter": "^5.4|^6.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\Intl\\": "" + }, + "classmap": [ + "Resources/stubs" + ], + "exclude-from-classmap": [ + "/Tests/", + "/Resources/data/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + }, + { + "name": "Eriksen Costa", + "email": "eriksen.costa@infranology.com.br" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a PHP replacement layer for the C intl extension that includes additional data from the ICU library", + "homepage": "https://symfony.com", + "keywords": [ + "i18n", + "icu", + "internationalization", + "intl", + "l10n", + "localization" + ], + "support": { + "source": "https://github.com/symfony/intl/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/mime", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "8c6dc1fb0b1f990aa15086abcde66dbde3a9bdad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/8c6dc1fb0b1f990aa15086abcde66dbde3a9bdad", + "reference": "8c6dc1fb0b1f990aa15086abcde66dbde3a9bdad", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<4.4", + "symfony/serializer": "<5.4.35|>=6,<6.3.12|>=6.4,<6.4.3" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1|^4", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/process": "^5.4|^6.4", + "symfony/property-access": "^4.4|^5.1|^6.0", + "symfony/property-info": "^4.4|^5.1|^6.0", + "symfony/serializer": "^5.4.35|~6.3.12|^6.4.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mime\\": "" + }, + "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": "Allows manipulating MIME messages", + "homepage": "https://symfony.com", + "keywords": [ + "mime", + "mime-type" + ], + "support": { + "source": "https://github.com/symfony/mime/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/options-resolver", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/options-resolver.git", + "reference": "bd1afbde6613a8d6b956115e0e14b196191fd0c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/options-resolver/zipball/bd1afbde6613a8d6b956115e0e14b196191fd0c4", + "reference": "bd1afbde6613a8d6b956115e0e14b196191fd0c4", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php73": "~1.0", + "symfony/polyfill-php80": "^1.16" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\OptionsResolver\\": "" + }, + "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 an improved replacement for the array_replace PHP function", + "homepage": "https://symfony.com", + "keywords": [ + "config", + "configuration", + "options" + ], + "support": { + "source": "https://github.com/symfony/options-resolver/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/password-hasher", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/password-hasher.git", + "reference": "21b98178ab2024e6c7d8ab72cca9ba16015c6093" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/password-hasher/zipball/21b98178ab2024e6c7d8ab72cca9ba16015c6093", + "reference": "21b98178ab2024e6c7d8ab72cca9ba16015c6093", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/security-core": "<5.3" + }, + "require-dev": { + "symfony/console": "^5.3|^6.0", + "symfony/security-core": "^5.3|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\PasswordHasher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Robin Chalas", + "email": "robin.chalas@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides password hashing utilities", + "homepage": "https://symfony.com", + "keywords": [ + "hashing", + "password" + ], + "support": { + "source": "https://github.com/symfony/password-hasher/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", + "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-iconv", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-iconv.git", + "reference": "cd4226d140ecd3d0f13d32ed0a4a095ffe871d2f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/cd4226d140ecd3d0f13d32ed0a4a095ffe871d2f", + "reference": "cd4226d140ecd3d0f13d32ed0a4a095ffe871d2f", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-iconv": "*" + }, + "suggest": { + "ext-iconv": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Iconv\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Iconv extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "iconv", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-iconv/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-intl-icu", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-icu.git", + "reference": "07094a28851a49107f3ab4f9120ca2975a64b6e1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/07094a28851a49107f3ab4f9120ca2975a64b6e1", + "reference": "07094a28851a49107f3ab4f9120ca2975a64b6e1", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance and support of other locales than \"en\"" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Icu\\": "" + }, + "classmap": [ + "Resources/stubs" + ], + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's ICU-related data and classes", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "icu", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:12:16+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "a287ed7475f85bf6f61890146edbc932c0fff919" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a287ed7475f85bf6f61890146edbc932c0fff919", + "reference": "a287ed7475f85bf6f61890146edbc932c0fff919", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", + "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25", + "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "21bd091060673a1177ae842c0ef8fe30893114d2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/21bd091060673a1177ae842c0ef8fe30893114d2", + "reference": "21bd091060673a1177ae842c0ef8fe30893114d2", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php73\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php73/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.29.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/c565ad1e63f30e7477fc40738343c62b40bc672d", + "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php81\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php81/tree/v1.29.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-29T20:11:03+00:00" + }, + { + "name": "symfony/property-access", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/property-access.git", + "reference": "6e4834145c2231b34eafabe440aaac478a95b456" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/property-access/zipball/6e4834145c2231b34eafabe440aaac478a95b456", + "reference": "6e4834145c2231b34eafabe440aaac478a95b456", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16", + "symfony/property-info": "^5.2|^6.0" + }, + "require-dev": { + "symfony/cache": "^4.4|^5.0|^6.0" + }, + "suggest": { + "psr/cache-implementation": "To cache access methods." + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyAccess\\": "" + }, + "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 functions to read and write from/to an object or array using a simple string notation", + "homepage": "https://symfony.com", + "keywords": [ + "access", + "array", + "extraction", + "index", + "injection", + "object", + "property", + "property-path", + "reflection" + ], + "support": { + "source": "https://github.com/symfony/property-access/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/property-info", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/property-info.git", + "reference": "b999cc2450f81d4527c97c217260dc372601a95d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/property-info/zipball/b999cc2450f81d4527c97c217260dc372601a95d", + "reference": "b999cc2450f81d4527c97c217260dc372601a95d", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16", + "symfony/string": "^5.1|^6.0" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/dependency-injection": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "^1.10.4|^2", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "phpstan/phpdoc-parser": "^1.0", + "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/serializer": "^4.4|^5.0|^6.0" + }, + "suggest": { + "phpdocumentor/reflection-docblock": "To use the PHPDoc", + "psr/cache-implementation": "To cache results", + "symfony/doctrine-bridge": "To use Doctrine metadata", + "symfony/serializer": "To use Serializer metadata" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyInfo\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Kévin Dunglas", + "email": "dunglas@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Extracts information about PHP class' properties using metadata of popular sources", + "homepage": "https://symfony.com", + "keywords": [ + "doctrine", + "phpdoc", + "property", + "symfony", + "type", + "validator" + ], + "support": { + "source": "https://github.com/symfony/property-info/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/routing", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "6df1dd8b306649303267a760699cf04cf39b1f7b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/6df1dd8b306649303267a760699cf04cf39b1f7b", + "reference": "6df1dd8b306649303267a760699cf04cf39b1f7b", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "doctrine/annotations": "<1.12", + "symfony/config": "<5.3", + "symfony/dependency-injection": "<4.4", + "symfony/yaml": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "^1.12|^2", + "psr/log": "^1|^2|^3", + "symfony/config": "^5.3|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/yaml": "^4.4|^5.0|^6.0" + }, + "suggest": { + "symfony/config": "For using the all-in-one router or any loader", + "symfony/expression-language": "For using expression matching", + "symfony/http-foundation": "For using a Symfony Request object", + "symfony/yaml": "For using the YAML loader" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "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": "Maps an HTTP request to a set of configuration variables", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "support": { + "source": "https://github.com/symfony/routing/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/security-core", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-core.git", + "reference": "f8b49ac9b4b61fca958e6163f3cbb69d8c7d703a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-core/zipball/f8b49ac9b4b61fca958e6163f3cbb69d8c7d703a", + "reference": "f8b49ac9b4b61fca958e6163f3cbb69d8c7d703a", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/event-dispatcher-contracts": "^1.1|^2|^3", + "symfony/password-hasher": "^5.3|^6.0", + "symfony/polyfill-php80": "^1.16", + "symfony/service-contracts": "^1.1.6|^2|^3" + }, + "conflict": { + "symfony/event-dispatcher": "<4.4", + "symfony/http-foundation": "<5.3", + "symfony/ldap": "<4.4", + "symfony/security-guard": "<4.4", + "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3", + "symfony/validator": "<5.2" + }, + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "psr/container": "^1.0|^2.0", + "psr/log": "^1|^2|^3", + "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/event-dispatcher": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^5.3|^6.0", + "symfony/ldap": "^4.4|^5.0|^6.0", + "symfony/translation": "^5.4.35|~6.3.12|^6.4.3", + "symfony/validator": "^5.2|^6.0" + }, + "suggest": { + "psr/container-implementation": "To instantiate the Security class", + "symfony/event-dispatcher": "", + "symfony/expression-language": "For using the expression voter", + "symfony/http-foundation": "", + "symfony/ldap": "For using LDAP integration", + "symfony/validator": "For using the user password constraint" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Security\\Core\\": "" + }, + "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": "Symfony Security Component - Core Library", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/security-core/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/security-csrf", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-csrf.git", + "reference": "9058d522c1c33d7ba13f4b3c79555cc2c4c16028" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-csrf/zipball/9058d522c1c33d7ba13f4b3c79555cc2c4c16028", + "reference": "9058d522c1c33d7ba13f4b3c79555cc2c4c16028", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.16", + "symfony/security-core": "^4.4|^5.0|^6.0" + }, + "conflict": { + "symfony/http-foundation": "<5.3" + }, + "require-dev": { + "symfony/http-foundation": "^5.3|^6.0" + }, + "suggest": { + "symfony/http-foundation": "For using the class SessionTokenStorage." + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Security\\Csrf\\": "" + }, + "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": "Symfony Security Component - CSRF Library", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/security-csrf/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v2.5.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "a2329596ddc8fd568900e3fc76cba42489ecc7f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/a2329596ddc8fd568900e3fc76cba42489ecc7f3", + "reference": "a2329596ddc8fd568900e3fc76cba42489ecc7f3", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "psr/container": "^1.1", + "symfony/deprecation-contracts": "^2.1|^3" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "suggest": { + "symfony/service-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v2.5.3" + }, + "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-04-21T15:04:16+00:00" + }, + { + "name": "symfony/string", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "142877285aa974a6f7685e292ab5ba9aae86b143" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/142877285aa974a6f7685e292ab5ba9aae86b143", + "reference": "142877285aa974a6f7685e292ab5ba9aae86b143", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "~1.15" + }, + "conflict": { + "symfony/translation-contracts": ">=3.0" + }, + "require-dev": { + "symfony/error-handler": "^4.4|^5.0|^6.0", + "symfony/http-client": "^4.4|^5.0|^6.0", + "symfony/translation-contracts": "^1.1|^2", + "symfony/var-exporter": "^4.4|^5.0|^6.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/templating", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/templating.git", + "reference": "9eae6e708a65ea50e2072e99c87b193b24d3f028" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/templating/zipball/9eae6e708a65ea50e2072e99c87b193b24d3f028", + "reference": "9eae6e708a65ea50e2072e99c87b193b24d3f028", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-ctype": "~1.8" + }, + "require-dev": { + "psr/log": "^1|^2|^3" + }, + "suggest": { + "psr/log-implementation": "For using debug logging in loaders" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Templating\\": "" + }, + "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 all the tools needed to build any kind of template system", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/templating/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/translation", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "bb51d7f183756d1ac03f50ea47dc5726518cc7e8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/bb51d7f183756d1ac03f50ea47dc5726518cc7e8", + "reference": "bb51d7f183756d1ac03f50ea47dc5726518cc7e8", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/translation-contracts": "^2.3" + }, + "conflict": { + "symfony/config": "<4.4", + "symfony/console": "<5.3", + "symfony/dependency-injection": "<5.0", + "symfony/http-kernel": "<5.0", + "symfony/twig-bundle": "<5.0", + "symfony/yaml": "<4.4" + }, + "provide": { + "symfony/translation-implementation": "2.3" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/console": "^5.4|^6.0", + "symfony/dependency-injection": "^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/http-client-contracts": "^1.1|^2.0|^3.0", + "symfony/http-kernel": "^5.0|^6.0", + "symfony/intl": "^4.4|^5.0|^6.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/service-contracts": "^1.1.2|^2|^3", + "symfony/yaml": "^4.4|^5.0|^6.0" + }, + "suggest": { + "psr/log-implementation": "To use logging capability in translator", + "symfony/config": "", + "symfony/yaml": "" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "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 tools to internationalize your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v2.5.3", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "b0073a77ac0b7ea55131020e87b1e3af540f4664" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b0073a77ac0b7ea55131020e87b1e3af540f4664", + "reference": "b0073a77ac0b7ea55131020e87b1e3af540f4664", + "shasum": "" + }, + "require": { + "php": ">=7.2.5" + }, + "suggest": { + "symfony/translation-implementation": "" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v2.5.3" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-01-23T13:51:25+00:00" + }, + { + "name": "symfony/twig-bridge", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/twig-bridge.git", + "reference": "b982cfa2d15058d2642ca4cf7edab495d6dac707" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/b982cfa2d15058d2642ca4cf7edab495d6dac707", + "reference": "b982cfa2d15058d2642ca4cf7edab495d6dac707", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-php80": "^1.16", + "symfony/translation-contracts": "^1.1|^2|^3", + "twig/twig": "^2.13|^3.0.4" + }, + "conflict": { + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/console": "<5.3", + "symfony/form": "<5.4.21|>=6,<6.2.7", + "symfony/http-foundation": "<5.3", + "symfony/http-kernel": "<4.4", + "symfony/translation": "<5.2", + "symfony/workflow": "<5.2" + }, + "require-dev": { + "doctrine/annotations": "^1.12|^2", + "egulias/email-validator": "^2.1.10|^3|^4", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/asset": "^4.4|^5.0|^6.0", + "symfony/console": "^5.3|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/form": "^5.4.21|^6.2.7", + "symfony/http-foundation": "^5.3|^6.0", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/intl": "^4.4|^5.0|^6.0", + "symfony/mime": "^5.2|^6.0", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/property-info": "^4.4|^5.1|^6.0", + "symfony/routing": "^4.4|^5.0|^6.0", + "symfony/security-acl": "^2.8|^3.0", + "symfony/security-core": "^4.4|^5.0|^6.0", + "symfony/security-csrf": "^4.4|^5.0|^6.0", + "symfony/security-http": "^4.4|^5.0|^6.0", + "symfony/serializer": "^5.4.35|~6.3.12|^6.4.3", + "symfony/stopwatch": "^4.4|^5.0|^6.0", + "symfony/translation": "^5.2|^6.0", + "symfony/web-link": "^4.4|^5.0|^6.0", + "symfony/workflow": "^5.2|^6.0", + "symfony/yaml": "^4.4|^5.0|^6.0", + "twig/cssinliner-extra": "^2.12|^3", + "twig/inky-extra": "^2.12|^3", + "twig/markdown-extra": "^2.12|^3" + }, + "suggest": { + "symfony/asset": "For using the AssetExtension", + "symfony/expression-language": "For using the ExpressionExtension", + "symfony/finder": "", + "symfony/form": "For using the FormExtension", + "symfony/http-kernel": "For using the HttpKernelExtension", + "symfony/routing": "For using the RoutingExtension", + "symfony/security-core": "For using the SecurityExtension", + "symfony/security-csrf": "For using the CsrfExtension", + "symfony/security-http": "For using the LogoutUrlExtension", + "symfony/stopwatch": "For using the StopwatchExtension", + "symfony/translation": "For using the TranslationExtension", + "symfony/var-dumper": "For using the DumpExtension", + "symfony/web-link": "For using the WebLinkExtension", + "symfony/yaml": "For using the YamlExtension" + }, + "type": "symfony-bridge", + "autoload": { + "psr-4": { + "Symfony\\Bridge\\Twig\\": "" + }, + "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 integration for Twig with various Symfony components", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/twig-bridge/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/twig-bundle", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/twig-bundle.git", + "reference": "997c002735c88b50a6325cca8ecf3d8723902666" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/997c002735c88b50a6325cca8ecf3d8723902666", + "reference": "997c002735c88b50a6325cca8ecf3d8723902666", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^5.0|^6.0", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-php80": "^1.16", + "symfony/twig-bridge": "^5.3|^6.0", + "twig/twig": "^2.13|^3.0.4" + }, + "conflict": { + "symfony/dependency-injection": "<5.3", + "symfony/framework-bundle": "<5.0", + "symfony/service-contracts": ">=3.0", + "symfony/translation": "<5.0" + }, + "require-dev": { + "doctrine/annotations": "^1.10.4|^2", + "doctrine/cache": "^1.0|^2.0", + "symfony/asset": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^5.3|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/form": "^4.4|^5.0|^6.0", + "symfony/framework-bundle": "^5.0|^6.0", + "symfony/routing": "^4.4|^5.0|^6.0", + "symfony/stopwatch": "^4.4|^5.0|^6.0", + "symfony/translation": "^5.0|^6.0", + "symfony/web-link": "^4.4|^5.0|^6.0", + "symfony/yaml": "^4.4|^5.0|^6.0" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "Symfony\\Bundle\\TwigBundle\\": "" + }, + "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 tight integration of Twig into the Symfony full-stack framework", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/twig-bundle/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/validator", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/validator.git", + "reference": "d536c47c62c7739f9956727d6e5d94983ed77cdb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/validator/zipball/d536c47c62c7739f9956727d6e5d94983ed77cdb", + "reference": "d536c47c62c7739f9956727d6e5d94983ed77cdb", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php73": "~1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/polyfill-php81": "^1.22", + "symfony/translation-contracts": "^1.1|^2|^3" + }, + "conflict": { + "doctrine/annotations": "<1.13", + "doctrine/cache": "<1.11", + "doctrine/lexer": "<1.1", + "symfony/dependency-injection": "<4.4", + "symfony/expression-language": "<5.1", + "symfony/http-kernel": "<4.4", + "symfony/intl": "<4.4", + "symfony/property-info": "<5.3", + "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3", + "symfony/yaml": "<4.4" + }, + "require-dev": { + "doctrine/annotations": "^1.13|^2", + "doctrine/cache": "^1.11|^2.0", + "egulias/email-validator": "^2.1.10|^3|^4", + "symfony/cache": "^4.4|^5.0|^6.0", + "symfony/config": "^4.4|^5.0|^6.0", + "symfony/console": "^4.4|^5.0|^6.0", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^5.1|^6.0", + "symfony/finder": "^4.4|^5.0|^6.0", + "symfony/http-client": "^4.4|^5.0|^6.0", + "symfony/http-foundation": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/intl": "^4.4|^5.0|^6.0", + "symfony/mime": "^4.4|^5.0|^6.0", + "symfony/property-access": "^4.4|^5.0|^6.0", + "symfony/property-info": "^5.3|^6.0", + "symfony/translation": "^5.4.35|~6.3.12|^6.4.3", + "symfony/yaml": "^4.4|^5.0|^6.0" + }, + "suggest": { + "egulias/email-validator": "Strict (RFC compliant) email validation", + "psr/cache-implementation": "For using the mapping cache.", + "symfony/config": "", + "symfony/expression-language": "For using the Expression validator and the ExpressionLanguageSyntax constraints", + "symfony/http-foundation": "", + "symfony/intl": "", + "symfony/property-access": "For accessing properties within comparison constraints", + "symfony/property-info": "To automatically add NotNull and Type constraints", + "symfony/translation": "For translating validation errors.", + "symfony/yaml": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Validator\\": "" + }, + "exclude-from-classmap": [ + "/Tests/", + "/Resources/bin/" + ] + }, + "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 tools to validate values", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/validator/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-06-01T06:14:22+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "af8868a6e9d6082dfca11f1a1f205ae93a8b6d93" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/af8868a6e9d6082dfca11f1a1f205ae93a8b6d93", + "reference": "af8868a6e9d6082dfca11f1a1f205ae93a8b6d93", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/polyfill-mbstring": "~1.0", + "symfony/polyfill-php80": "^1.16" + }, + "conflict": { + "symfony/console": "<4.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "^4.4|^5.0|^6.0", + "symfony/http-kernel": "^4.4|^5.0|^6.0", + "symfony/process": "^4.4|^5.0|^6.0", + "symfony/uid": "^5.1|^6.0", + "twig/twig": "^2.13|^3.0.4" + }, + "suggest": { + "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", + "ext-intl": "To show region name in time zone dump", + "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/var-exporter", + "version": "v6.4.8", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-exporter.git", + "reference": "792ca836f99b340f2e9ca9497c7953948c49a504" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-exporter/zipball/792ca836f99b340f2e9ca9497c7953948c49a504", + "reference": "792ca836f99b340f2e9ca9497c7953948c49a504", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "require-dev": { + "symfony/property-access": "^6.4|^7.0", + "symfony/serializer": "^6.4|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\VarExporter\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows exporting any serializable PHP data structure to plain PHP code", + "homepage": "https://symfony.com", + "keywords": [ + "clone", + "construct", + "export", + "hydrate", + "instantiate", + "lazy-loading", + "proxy", + "serialize" + ], + "support": { + "source": "https://github.com/symfony/var-exporter/tree/v6.4.8" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:49:08+00:00" + }, + { + "name": "symfony/workflow", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/workflow.git", + "reference": "3f4aa0f1fe40139fd3b816df46c257c2642285e9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/workflow/zipball/3f4aa0f1fe40139fd3b816df46c257c2642285e9", + "reference": "3f4aa0f1fe40139fd3b816df46c257c2642285e9", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-php80": "^1.15" + }, + "conflict": { + "symfony/event-dispatcher": "<4.4" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/dependency-injection": "^4.4|^5.0|^6.0", + "symfony/event-dispatcher": "^4.4|^5.0|^6.0", + "symfony/expression-language": "^4.4|^5.0|^6.0", + "symfony/security-core": "^4.4|^5.0|^6.0", + "symfony/validator": "^4.4|^5.0|^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Workflow\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools for managing a workflow or finite state machine", + "homepage": "https://symfony.com", + "keywords": [ + "petrinet", + "place", + "state", + "statemachine", + "transition", + "workflow" + ], + "support": { + "source": "https://github.com/symfony/workflow/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "symfony/yaml", + "version": "v5.4.40", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "81cad0ceab3d61fe14fe941ff18a230ac9c80f83" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/81cad0ceab3d61fe14fe941ff18a230ac9c80f83", + "reference": "81cad0ceab3d61fe14fe941ff18a230ac9c80f83", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.1|^3", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<5.3" + }, + "require-dev": { + "symfony/console": "^5.3|^6.0" + }, + "suggest": { + "symfony/console": "For validating YAML files using the lint command" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "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": "Loads and dumps YAML files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v5.4.40" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2024-05-31T14:33:22+00:00" + }, + { + "name": "twig/twig", + "version": "v3.10.3", + "source": { + "type": "git", + "url": "https://github.com/twigphp/Twig.git", + "reference": "67f29781ffafa520b0bbfbd8384674b42db04572" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/twigphp/Twig/zipball/67f29781ffafa520b0bbfbd8384674b42db04572", + "reference": "67f29781ffafa520b0bbfbd8384674b42db04572", + "shasum": "" + }, + "require": { + "php": ">=7.2.5", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-ctype": "^1.8", + "symfony/polyfill-mbstring": "^1.3", + "symfony/polyfill-php80": "^1.22" + }, + "require-dev": { + "psr/container": "^1.0|^2.0", + "symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "src/Resources/core.php", + "src/Resources/debug.php", + "src/Resources/escaper.php", + "src/Resources/string_loader.php" + ], + "psr-4": { + "Twig\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com", + "homepage": "http://fabien.potencier.org", + "role": "Lead Developer" + }, + { + "name": "Twig Team", + "role": "Contributors" + }, + { + "name": "Armin Ronacher", + "email": "armin.ronacher@active-4.com", + "role": "Project Founder" + } + ], + "description": "Twig, the flexible, fast, and secure template language for PHP", + "homepage": "https://twig.symfony.com", + "keywords": [ + "templating" + ], + "support": { + "issues": "https://github.com/twigphp/Twig/issues", + "source": "https://github.com/twigphp/Twig/tree/v3.10.3" + }, + "funding": [ + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/twig/twig", + "type": "tidelift" + } + ], + "time": "2024-05-16T10:04:27+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.11.0", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "php": "^7.2 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.11.0" + }, + "time": "2022-06-03T18:03:27+00:00" + }, + { + "name": "willdurand/hateoas", + "version": "3.10.0", + "source": { + "type": "git", + "url": "https://github.com/willdurand/Hateoas.git", + "reference": "5d7953f4b04b926cb4f2fb73568b654998eb2b80" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/willdurand/Hateoas/zipball/5d7953f4b04b926cb4f2fb73568b654998eb2b80", + "reference": "5d7953f4b04b926cb4f2fb73568b654998eb2b80", + "shasum": "" + }, + "require": { + "doctrine/annotations": "^1.13.2 || ^2.0", + "jms/metadata": "^2.0", + "jms/serializer": "^3.18.2", + "php": "^7.2 | ^8.0", + "symfony/expression-language": "~3.0 || ~4.0 || ~5.0 || ~6.0 || ~7.0" + }, + "require-dev": { + "doctrine/coding-standard": "^5.0 | ^8.0", + "doctrine/persistence": "^1.3.4 | ^2.0 | ^3.0", + "pagerfanta/core": "^2.4 || ^3.0", + "phpdocumentor/type-resolver": "^1.5.1", + "phpspec/prophecy": "^1.16", + "phpspec/prophecy-phpunit": "^2.0.1", + "phpunit/phpunit": "^7 | ^9.5.10", + "symfony/routing": "~3.0 || ~4.0 || ~5.0 || ~6.0 || ~7.0", + "symfony/yaml": "~3.0 || ~4.0 || ~5.0 || ~6.0 || ~7.0", + "twig/twig": "^1.43 || ^2.13 || ^3.0" + }, + "suggest": { + "symfony/routing": "To use the SymfonyRouteFactory.", + "symfony/yaml": "To use yaml based configuration.", + "twig/twig": "To use the Twig extensions." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Hateoas\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "William Durand", + "email": "william.durand1@gmail.com" + }, + { + "name": "Adrien Brault", + "email": "adrien.brault@gmail.com" + }, + { + "name": "Asmir Mustafic", + "email": "goetas@gmail.com" + } + ], + "description": "A PHP library to support implementing representations for HATEOAS REST web services", + "support": { + "issues": "https://github.com/willdurand/Hateoas/issues", + "source": "https://github.com/willdurand/Hateoas/tree/3.10.0" + }, + "time": "2023-12-12T13:35:06+00:00" + }, + { + "name": "willdurand/hateoas-bundle", + "version": "2.6.0", + "source": { + "type": "git", + "url": "https://github.com/willdurand/BazingaHateoasBundle.git", + "reference": "ccbdde8356ef02cbc72ac7ec40c7f1db3382b4ef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/willdurand/BazingaHateoasBundle/zipball/ccbdde8356ef02cbc72ac7ec40c7f1db3382b4ef", + "reference": "ccbdde8356ef02cbc72ac7ec40c7f1db3382b4ef", + "shasum": "" + }, + "require": { + "jms/serializer-bundle": "^3.1 || ^4.2 || ^5.0", + "php": "^7.2 || ^8.0", + "symfony/expression-language": "~3.0 || ~4.0 || ~5.0 || ~6.0 || ~7.0", + "symfony/framework-bundle": "~3.0 || ~4.0 || ~5.0 || ~6.0 || ~7.0", + "willdurand/hateoas": "^3.5" + }, + "conflict": { + "jms/serializer": "<3.18" + }, + "require-dev": { + "doctrine/annotations": "^1.13.2 || ^2.0", + "doctrine/coding-standard": "^8.0", + "phpunit/phpunit": "^8.5.32 || ^9.5.10", + "symfony/stopwatch": "~3.0 || ~4.0 || ~5.0 || ~6.0 || ~7.0", + "twig/twig": "~1.12|~2.0|~3.0" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "psr-4": { + "Bazinga\\Bundle\\HateoasBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "William Durand", + "email": "william.durand1@gmail.com" + } + ], + "description": "Integration of Hateoas into Symfony2.", + "keywords": [ + "HATEOAS", + "rest" + ], + "support": { + "issues": "https://github.com/willdurand/BazingaHateoasBundle/issues", + "source": "https://github.com/willdurand/BazingaHateoasBundle/tree/2.6.0" + }, + "time": "2023-12-13T11:29:05+00:00" + }, + { + "name": "willdurand/jsonp-callback-validator", + "version": "v2.0.0", + "source": { + "type": "git", + "url": "https://github.com/willdurand/JsonpCallbackValidator.git", + "reference": "738c36e91d4d7e0ff0cac145f77057e0fb88526e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/willdurand/JsonpCallbackValidator/zipball/738c36e91d4d7e0ff0cac145f77057e0fb88526e", + "reference": "738c36e91d4d7e0ff0cac145f77057e0fb88526e", + "shasum": "" + }, + "require": { + "php": ">=7.1.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "^5.0" + }, + "type": "library", + "autoload": { + "psr-0": { + "JsonpCallbackValidator": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "William Durand", + "email": "will+git@drnd.me" + } + ], + "description": "JSONP callback validator.", + "support": { + "issues": "https://github.com/willdurand/JsonpCallbackValidator/issues", + "source": "https://github.com/willdurand/JsonpCallbackValidator/tree/v2.0.0" + }, + "time": "2022-01-30T20:33:09+00:00" + }, + { + "name": "willdurand/negotiation", + "version": "3.1.0", + "source": { + "type": "git", + "url": "https://github.com/willdurand/Negotiation.git", + "reference": "68e9ea0553ef6e2ee8db5c1d98829f111e623ec2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/willdurand/Negotiation/zipball/68e9ea0553ef6e2ee8db5c1d98829f111e623ec2", + "reference": "68e9ea0553ef6e2ee8db5c1d98829f111e623ec2", + "shasum": "" + }, + "require": { + "php": ">=7.1.0" + }, + "require-dev": { + "symfony/phpunit-bridge": "^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "psr-4": { + "Negotiation\\": "src/Negotiation" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "William Durand", + "email": "will+git@drnd.me" + } + ], + "description": "Content Negotiation tools for PHP provided as a standalone library.", + "homepage": "http://williamdurand.fr/Negotiation/", + "keywords": [ + "accept", + "content", + "format", + "header", + "negotiation" + ], + "support": { + "issues": "https://github.com/willdurand/Negotiation/issues", + "source": "https://github.com/willdurand/Negotiation/tree/3.1.0" + }, + "time": "2022-01-30T20:08:53+00:00" + }, + { + "name": "winzou/state-machine", + "version": "0.4.4", + "source": { + "type": "git", + "url": "https://github.com/winzou/state-machine.git", + "reference": "b7ced0a415a07a2368e4f67dffaa600a5773fb86" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/winzou/state-machine/zipball/b7ced0a415a07a2368e4f67dffaa600a5773fb86", + "reference": "b7ced0a415a07a2368e4f67dffaa600a5773fb86", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0|^8.1", + "symfony/event-dispatcher": "^4.4|^5.4|^6.0|^7.0", + "symfony/expression-language": "^4.4|^5.4|^6.0|^7.0", + "symfony/property-access": "^4.4|^5.4|^6.0|^7.0" + }, + "require-dev": { + "phpspec/phpspec": "^5.0|^6.0|^7.1", + "twig/twig": "^2.10|^3.0" + }, + "suggest": { + "twig/twig": "Access the state machine in your twig templates (^2.10|^3.0)" + }, + "type": "library", + "autoload": { + "psr-0": { + "SM": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alexandre Bacco", + "email": "alexandre.bacco@gmail.com", + "homepage": "http://alex.bacco.fr" + } + ], + "description": "A very lightweight yet powerful PHP state machine", + "homepage": "https://github.com/winzou/StateMachine", + "keywords": [ + "callback", + "event", + "state", + "statemachine" + ], + "support": { + "issues": "https://github.com/winzou/state-machine/issues", + "source": "https://github.com/winzou/state-machine/tree/0.4.4" + }, + "time": "2024-01-29T09:14:41+00:00" + }, + { + "name": "winzou/state-machine-bundle", + "version": "v0.6.2", + "source": { + "type": "git", + "url": "https://github.com/winzou/StateMachineBundle.git", + "reference": "63a32697ed33e6c89e1b4b9c5d64e83ddbb6bb07" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/winzou/StateMachineBundle/zipball/63a32697ed33e6c89e1b4b9c5d64e83ddbb6bb07", + "reference": "63a32697ed33e6c89e1b4b9c5d64e83ddbb6bb07", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0|^8.1", + "symfony/framework-bundle": "^4.4|^5.4|^6.0|^7.0", + "winzou/state-machine": "~0.4" + }, + "require-dev": { + "phpspec/phpspec": "^5.0|^6.0|^7.0" + }, + "type": "symfony-bundle", + "autoload": { + "psr-4": { + "winzou\\Bundle\\StateMachineBundle\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alexandre Bacco", + "homepage": "http://alex.bacco.fr" + } + ], + "description": "Bundle for the very lightweight yet powerful PHP state machine", + "keywords": [ + "bundle", + "statemachine", + "symfony" + ], + "support": { + "issues": "https://github.com/winzou/StateMachineBundle/issues", + "source": "https://github.com/winzou/StateMachineBundle/tree/v0.6.2" + }, + "time": "2024-04-22T15:58:09+00:00" + } + ], + "packages-dev": [ + { + "name": "myclabs/deep-copy", + "version": "1.12.0", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3 <3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpspec/prophecy": "^1.10", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2024-06-12T14:39:25+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v5.0.2", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", + "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-json": "*", + "ext-tokenizer": "*", + "php": ">=7.4" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" + }, + "time": "2024-03-05T20:51:40+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "54750ef60c58e43759730615a392c31c80e23176" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", + "reference": "54750ef60c58e43759730615a392c31c80e23176", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2024-03-03T12:33:53+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "9.2.31", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/48c34b5d8d983006bd2adc2d0de92963b9155965", + "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.31" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T06:37:42+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "3.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-12-02T12:48:52+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:58:55+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "5.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:16:10+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "9.6.19", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a1a54a473501ef4cdeaae4e06891674114d79db8", + "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.3.1 || ^2", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.3", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpunit/php-code-coverage": "^9.2.28", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.8", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.5", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^3.2", + "sebastian/version": "^3.0.2" + }, + "suggest": { + "ext-soap": "To be able to generate mocks based on WSDL files", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.6-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.19" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2024-04-05T04:35:58+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b", + "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T06:27:43+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:08:54+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:30:19+00:00" + }, + { + "name": "sebastian/comparator", + "version": "4.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-09-14T12:41:17+00:00" + }, + { + "name": "sebastian/complexity", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a", + "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-12-22T06:19:30+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc", + "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T06:30:58+00:00" + }, + { + "name": "sebastian/environment", + "version": "5.1.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:03:51+00:00" + }, + { + "name": "sebastian/exporter", + "version": "4.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72", + "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T06:33:00+00:00" + }, + { + "name": "sebastian/global-state", + "version": "5.0.7", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", + "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-02T06:35:11+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "1.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5", + "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.18 || ^5.0", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-12-22T06:20:34+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:12:34+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:14:26+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "4.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:07:39+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "3.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e", + "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2024-03-14T16:00:52+00:00" + }, + { + "name": "sebastian/type", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:13:03+00:00" + }, + { + "name": "sebastian/version", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c6c1022351a901512170118436c764e473f6de8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.3", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.2.3" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" } ], - "time": "2024-05-31T14:57:53+00:00" + "time": "2024-03-03T12:36:25+00:00" } ], - "packages-dev": [], "aliases": [], "minimum-stability": "stable", "stability-flags": [], - "prefer-stable": true, + "prefer-stable": false, "prefer-lowest": false, "platform": { - "php": ">=8.2", - "ext-ctype": "*", - "ext-iconv": "*" + "php": "^8.1" }, "platform-dev": [], "plugin-api-version": "2.6.0" diff --git a/config/bundles.php b/config/bundles.php deleted file mode 100644 index 49d3fb6..0000000 --- a/config/bundles.php +++ /dev/null @@ -1,5 +0,0 @@ - ['all' => true], -]; diff --git a/config/packages/cache.yaml b/config/packages/cache.yaml deleted file mode 100644 index 6899b72..0000000 --- a/config/packages/cache.yaml +++ /dev/null @@ -1,19 +0,0 @@ -framework: - cache: - # Unique name of your app: used to compute stable namespaces for cache keys. - #prefix_seed: your_vendor_name/app_name - - # The "app" cache stores to the filesystem by default. - # The data in this cache should persist between deploys. - # Other options include: - - # Redis - #app: cache.adapter.redis - #default_redis_provider: redis://localhost - - # APCu (not recommended with heavy random-write workloads as memory fragmentation can cause perf issues) - #app: cache.adapter.apcu - - # Namespaced pools use the above "app" backend by default - #pools: - #my.dedicated.cache: null diff --git a/config/packages/framework.yaml b/config/packages/framework.yaml deleted file mode 100644 index 877eb25..0000000 --- a/config/packages/framework.yaml +++ /dev/null @@ -1,16 +0,0 @@ -# see https://symfony.com/doc/current/reference/configuration/framework.html -framework: - secret: '%env(APP_SECRET)%' - #csrf_protection: true - - # Note that the session will be started ONLY if you read or write from it. - session: true - - #esi: true - #fragments: true - -when@test: - framework: - test: true - session: - storage_factory_id: session.storage.factory.mock_file diff --git a/config/packages/routing.yaml b/config/packages/routing.yaml deleted file mode 100644 index 8166181..0000000 --- a/config/packages/routing.yaml +++ /dev/null @@ -1,10 +0,0 @@ -framework: - router: - # Configure how to generate URLs in non-HTTP contexts, such as CLI commands. - # See https://symfony.com/doc/current/routing.html#generating-urls-in-commands - #default_uri: http://localhost - -when@prod: - framework: - router: - strict_requirements: null diff --git a/config/preload.php b/config/preload.php deleted file mode 100644 index 5ebcdb2..0000000 --- a/config/preload.php +++ /dev/null @@ -1,5 +0,0 @@ - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/config/services.yaml b/config/services.yaml deleted file mode 100644 index 2d6a76f..0000000 --- a/config/services.yaml +++ /dev/null @@ -1,24 +0,0 @@ -# This file is the entry point to configure your own services. -# Files in the packages/ subdirectory configure your dependencies. - -# Put parameters here that don't need to change on each machine where the app is deployed -# https://symfony.com/doc/current/best_practices.html#use-parameters-for-application-configuration -parameters: - -services: - # default configuration for services in *this* file - _defaults: - autowire: true # Automatically injects dependencies in your services. - autoconfigure: true # Automatically registers your services as commands, event subscribers, etc. - - # makes classes in src/ available to be used as services - # this creates a service per class whose id is the fully-qualified class name - App\: - resource: '../src/' - exclude: - - '../src/DependencyInjection/' - - '../src/Entity/' - - '../src/Kernel.php' - - # add more service definitions when explicit configuration is needed - # please note that last definitions always *replace* previous ones diff --git a/phpunit.xml.dist b/phpunit.xml.dist new file mode 100644 index 0000000..9860b69 --- /dev/null +++ b/phpunit.xml.dist @@ -0,0 +1,13 @@ + + + + + + tests + + + diff --git a/public/index.php b/public/index.php deleted file mode 100644 index 9982c21..0000000 --- a/public/index.php +++ /dev/null @@ -1,9 +0,0 @@ -setName('sylius:gmv:calculate') + ->setDescription('Lightweight local command to calculate the Sylius instance GMV within a specific period') + ->addArgument( + 'periodStart', + InputArgument::OPTIONAL, ' + The start of the period (e.g., 05/2024)', + $this->dateParser->getDefaultStartDate()->format('m/Y') + ) + ->addArgument( + 'periodEnd', + InputArgument::OPTIONAL, + 'The end of the period (e.g., 06/2024)', + $this->dateParser->getDefaultEndDate()->format('m/Y') + ); + } + + protected function execute(InputInterface $input, OutputInterface $output): int + { + $periodStart = $input->getArgument('periodStart'); + $periodEnd = $input->getArgument('periodEnd'); + + if (!$this->validator->validate($periodStart, $periodEnd)) { + $output->writeln('Invalid format or start date must be less than end date. Please use MM/YYYY.'); + return Command::FAILURE; + } + + $startDate = $this->dateParser->parseStartOfMonth($periodStart); + $endDate = $this->dateParser->parseEndOfMonth($periodEnd); + + $gmv = $this->gmvProvider->getGmvForPeriod($startDate, $endDate); + + $output->writeln('GMV Calculation'); + $output->writeln(sprintf('Period Start: %s', $startDate->format('Y-m-d'))); + $output->writeln(sprintf('Period End: %s', $endDate->format('Y-m-d'))); + $output->writeln(sprintf('GMV: %s', $gmv)); + + return Command::SUCCESS; + } +} diff --git a/src/Controller/.gitignore b/src/Controller/.gitignore deleted file mode 100644 index e69de29..0000000 diff --git a/src/DependencyInjection/SyliusGmvExtension.php b/src/DependencyInjection/SyliusGmvExtension.php new file mode 100644 index 0000000..b5644c4 --- /dev/null +++ b/src/DependencyInjection/SyliusGmvExtension.php @@ -0,0 +1,28 @@ +load('services.xml'); + } +} diff --git a/src/Kernel.php b/src/Kernel.php deleted file mode 100644 index 779cd1f..0000000 --- a/src/Kernel.php +++ /dev/null @@ -1,11 +0,0 @@ -modify('first day of this month') + ->setTime(0, 0, 0); + } + + public function parseEndOfMonth(string $date): \DateTime + { + return \DateTime::createFromFormat('m/Y', $date) + ->modify('last day of this month') + ->setTime(23, 59, 59); + } + + public function getDefaultStartDate(): \DateTime + { + $now = new \DateTime(); + return (clone $now) + ->modify('first day of last month'); + } + + public function getDefaultEndDate(): \DateTime + { + $now = new \DateTime(); + return (clone $now) + ->modify('last day of last month'); + } +} diff --git a/src/Parser/DateParserInterface.php b/src/Parser/DateParserInterface.php new file mode 100644 index 0000000..78cd73a --- /dev/null +++ b/src/Parser/DateParserInterface.php @@ -0,0 +1,14 @@ +calculateGmvForPeriod($periodStart, $periodEnd); + $currencyCode = $this->channelContext->getChannel()->getBaseCurrency()->getCode(); + + return $this->moneyFormatter->format($total, $currencyCode); + } + + private function calculateGmvForPeriod(\DateTimeInterface $periodStart, \DateTimeInterface $periodEnd): int + { + $queryBuilder = $this->orderRepository->createListQueryBuilder(); + + $queryBuilder + ->select('sum(o.itemsTotal) as total') + ->andWhere('o.checkoutCompletedAt >= :periodStart') + ->andWhere('o.checkoutCompletedAt <= :periodEnd') + ->andWhere('o.paymentState != :state') + ->setParameter('periodStart', $periodStart) + ->setParameter('periodEnd', $periodEnd) + ->setParameter('state', OrderPaymentStates::STATE_REFUNDED); + + $result = $queryBuilder->getQuery()->getOneOrNullResult(); + + return intval($result['total'] ?? 0); + } +} diff --git a/src/Provider/GmvProviderInterface.php b/src/Provider/GmvProviderInterface.php new file mode 100644 index 0000000..d98e874 --- /dev/null +++ b/src/Provider/GmvProviderInterface.php @@ -0,0 +1,8 @@ +validateDateFormat($periodStart) || !$this->validateDateFormat($periodEnd)) { + return false; + } + + $startDate = $this->dateParser->parseStartOfMonth($periodStart); + $endDate = $this->dateParser->parseEndOfMonth($periodEnd); + + return $this->validateDates($startDate, $endDate); + } +} diff --git a/src/Validator/InputParametersValidatorInterface.php b/src/Validator/InputParametersValidatorInterface.php new file mode 100644 index 0000000..6eccdce --- /dev/null +++ b/src/Validator/InputParametersValidatorInterface.php @@ -0,0 +1,23 @@ +validator = $this->createMock(InputParametersValidatorInterface::class); + $this->dateParser = $this->createMock(DateParserInterface::class); + $this->gmvProvider = $this->createMock(GmvProviderInterface::class); + + $command = new GmvCommand($this->validator, $this->dateParser, $this->gmvProvider); + + $application = new Application(); + $application->add($command); + + $command = $application->find('sylius:gmv:calculate'); + $this->commandTester = new CommandTester($command); + } + + private function mockDefaultValues(): void + { + $defaultStartDate = new \DateTime('first day of last month'); + $defaultEndDate = new \DateTime('last day of last month'); + + $this->dateParser + ->method('getDefaultStartDate') + ->willReturn($defaultStartDate); + + $this->dateParser + ->method('getDefaultEndDate') + ->willReturn($defaultEndDate); + + $this->dateParser + ->method('parseStartOfMonth') + ->willReturn($defaultStartDate); + + $this->dateParser + ->method('parseEndOfMonth') + ->willReturn($defaultEndDate); + } + + public function testExecuteWithDefaultValues(): void + { + $this->validator + ->method('validate') + ->willReturn(true); + + $this->mockDefaultValues(); + + $this->gmvProvider + ->method('getGmvForPeriod') + ->willReturn('$1000.00'); + + $this->commandTester->execute([]); + + $this->commandTester->assertCommandIsSuccessful(); + + $output = $this->commandTester->getDisplay(); + $this->assertStringContainsString('GMV Calculation', $output); + $this->assertStringContainsString('Period Start:', $output); + $this->assertStringContainsString('Period End:', $output); + $this->assertStringContainsString('GMV: $1000.00', $output); + } + + public function testExecuteWithCustomValues(): void + { + $this->validator + ->method('validate') + ->willReturn(true); + + $periodStart = '01/2023'; + $periodEnd = '02/2023'; + + $startDate = new \DateTime('2023-01-01'); + $endDate = new \DateTime('2023-02-28'); + + $this->dateParser + ->method('parseStartOfMonth') + ->with($periodStart) + ->willReturn($startDate); + + $this->dateParser + ->method('parseEndOfMonth') + ->with($periodEnd) + ->willReturn($endDate); + + $this->gmvProvider + ->method('getGmvForPeriod') + ->with($startDate, $endDate) + ->willReturn('$2000.00'); + + $this->commandTester->execute([ + 'periodStart' => $periodStart, + 'periodEnd' => $periodEnd, + ]); + + $this->commandTester->assertCommandIsSuccessful(); + + $output = $this->commandTester->getDisplay(); + $this->assertStringContainsString('GMV Calculation', $output); + $this->assertStringContainsString('Period Start:', $output); + $this->assertStringContainsString('Period End:', $output); + $this->assertStringContainsString('GMV: $2000.00', $output); + } + + public function testExecuteWithInvalidFormatDates(): void + { + $this->validator + ->method('validate') + ->willReturn(false); + + $this->commandTester->execute([ + 'periodStart' => '2023-01-01', + 'periodEnd' => 'invalidDate', + ]); + + $output = $this->commandTester->getDisplay(); + $this->assertStringContainsString('Invalid format or start date must be less than end date. Please use MM/YYYY.', $output); + } + + public function testExecuteWithStartDateLaterThenEndDate(): void + { + $this->validator + ->method('validate') + ->willReturn(false); + + $this->commandTester->execute([ + 'periodStart' => '05/2024', + 'periodEnd' => '04/2024', + ]); + + $output = $this->commandTester->getDisplay(); + $this->assertStringContainsString('Invalid format or start date must be less than end date. Please use MM/YYYY.', $output); + } +} From 022fda384591d520276a1c49d2fbeb2d9f693591 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pysiak?= Date: Tue, 18 Jun 2024 14:01:57 +0200 Subject: [PATCH 02/16] Change the sql part --- src/Provider/GmvProvider.php | 35 +++++++++++++++++++++++++++++------ 1 file changed, 29 insertions(+), 6 deletions(-) diff --git a/src/Provider/GmvProvider.php b/src/Provider/GmvProvider.php index fc72e52..1acbc13 100644 --- a/src/Provider/GmvProvider.php +++ b/src/Provider/GmvProvider.php @@ -15,6 +15,7 @@ use Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatterInterface; use Sylius\Component\Channel\Context\ChannelContextInterface; +use Sylius\Component\Core\OrderCheckoutStates; use Sylius\Component\Core\OrderPaymentStates; use Sylius\Component\Core\Repository\OrderRepositoryInterface; @@ -39,17 +40,39 @@ private function calculateGmvForPeriod(\DateTimeInterface $periodStart, \DateTim { $queryBuilder = $this->orderRepository->createListQueryBuilder(); - $queryBuilder - ->select('sum(o.itemsTotal) as total') + $totalItemsQuery = $queryBuilder + ->select('SUM(o.itemsTotal) as totalItems') ->andWhere('o.checkoutCompletedAt >= :periodStart') ->andWhere('o.checkoutCompletedAt <= :periodEnd') - ->andWhere('o.paymentState != :state') + ->andWhere('o.checkoutState = :completedState') + ->andWhere('o.paymentState != :cancelledState') ->setParameter('periodStart', $periodStart) ->setParameter('periodEnd', $periodEnd) - ->setParameter('state', OrderPaymentStates::STATE_REFUNDED); + ->setParameter('completedState', OrderCheckoutStates::STATE_COMPLETED) + ->setParameter('cancelledState', OrderPaymentStates::STATE_CANCELLED) + ->getQuery() + ->getSingleScalarResult(); - $result = $queryBuilder->getQuery()->getOneOrNullResult(); + $totalTaxQuery = $queryBuilder + ->select('SUM(adjustment.amount) as totalTaxes') + ->leftJoin('o.items', 'items') + ->leftJoin('items.units', 'units') + ->leftJoin('units.adjustments', 'adjustment', 'WITH', 'adjustment.type = :taxType AND adjustment.neutral = true') + ->andWhere('o.checkoutCompletedAt >= :periodStart') + ->andWhere('o.checkoutCompletedAt <= :periodEnd') + ->andWhere('o.checkoutState = :completedState') + ->andWhere('o.paymentState != :cancelledState') + ->setParameter('periodStart', $periodStart) + ->setParameter('periodEnd', $periodEnd) + ->setParameter('completedState', OrderCheckoutStates::STATE_COMPLETED) + ->setParameter('cancelledState', OrderPaymentStates::STATE_CANCELLED) + ->setParameter('taxType', 'tax') + ->getQuery() + ->getSingleScalarResult(); + + $totalItems = intval($totalItemsQuery); + $totalTaxes = intval($totalTaxQuery); - return intval($result['total'] ?? 0); + return $totalItems - $totalTaxes; } } From 21f832abb33860425fda684f103f2a70d64bad31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pysiak?= Date: Wed, 19 Jun 2024 06:41:44 +0200 Subject: [PATCH 03/16] Fixes after CR --- .gitignore | 2 +- composer.json | 11 +- composer.lock | 11831 ----------------------------------- config/services.xml | 22 +- phpunit.xml.dist | 27 +- src/Command/GmvCommand.php | 7 +- src/Parser/DateParser.php | 2 +- 7 files changed, 42 insertions(+), 11860 deletions(-) delete mode 100644 composer.lock diff --git a/.gitignore b/.gitignore index 4901aab..8ae88e5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,3 @@ /vendor /composer.lock -/.phpunit.result.cache +/.phpunit.cache diff --git a/composer.json b/composer.json index c0626e4..fea3349 100644 --- a/composer.json +++ b/composer.json @@ -18,14 +18,17 @@ "require": { "php": "^8.1", "symfony/dependency-injection": "^5.4 || ^6.4", - "symfony/http-kernel": "^5.4 || ^6.4", "symfony/framework-bundle": "^5.4 || ^6.4", "symfony/console": "^5.4 || ^6.4", - "sylius/core": "~1.12.0 || ~1.13.0", - "sylius/money-bundle": "~1.12.0 || ~1.13.0" + "sylius/core-bundle": "~1.12.0 || ~1.13.0" }, "require-dev": { - "phpunit/phpunit": "^9.5", + "phpunit/phpunit": "^11.2", "webmozart/assert": "^1.9" + }, + "extra": { + "symfony": { + "require": "^5.4 || ^6.4" + } } } diff --git a/composer.lock b/composer.lock deleted file mode 100644 index c477516..0000000 --- a/composer.lock +++ /dev/null @@ -1,11831 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "73614c0f5e3f0f68e00ac1f7f68d680d", - "packages": [ - { - "name": "alcohol/iso4217", - "version": "4.1.0", - "source": { - "type": "git", - "url": "https://github.com/alcohol/iso4217.git", - "reference": "422890279c805e98dcea012f3dbbc184ac8afbe5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/alcohol/iso4217/zipball/422890279c805e98dcea012f3dbbc184ac8afbe5", - "reference": "422890279c805e98dcea012f3dbbc184ac8afbe5", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.x-dev" - } - }, - "autoload": { - "psr-4": { - "Alcohol\\": "." - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com" - } - ], - "description": "ISO 4217 PHP Library", - "homepage": "http://alcohol.github.io/iso4217/", - "keywords": [ - "4217", - "ISO 4217", - "currencies", - "iso", - "library" - ], - "support": { - "issues": "https://github.com/alcohol/iso4217/issues", - "source": "https://github.com/alcohol/iso4217" - }, - "time": "2023-02-28T12:25:39+00:00" - }, - { - "name": "babdev/pagerfanta-bundle", - "version": "v3.8.0", - "source": { - "type": "git", - "url": "https://github.com/BabDev/PagerfantaBundle.git", - "reference": "39df12df63177fee40c17c6efff8d4110bea3c94" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/BabDev/PagerfantaBundle/zipball/39df12df63177fee40c17c6efff8d4110bea3c94", - "reference": "39df12df63177fee40c17c6efff8d4110bea3c94", - "shasum": "" - }, - "require": { - "pagerfanta/core": "^3.1", - "php": "^7.4 || ^8.0", - "symfony/config": "^4.4 || ^5.4 || ^6.0", - "symfony/dependency-injection": "^4.4 || ^5.4 || ^6.0", - "symfony/deprecation-contracts": "^2.1 || ^3.0", - "symfony/http-foundation": "^4.4 || ^5.4 || ^6.0", - "symfony/http-kernel": "^4.4 || ^5.4 || ^6.0", - "symfony/polyfill-php80": "^1.15", - "symfony/property-access": "^4.4 || ^5.4 || ^6.0", - "symfony/routing": "^4.4 || ^5.4 || ^6.0" - }, - "conflict": { - "pagerfanta/twig": "<3.1", - "twig/twig": "<1.35 || >=2.0,<2.5", - "white-october/pagerfanta-bundle": "*" - }, - "require-dev": { - "doctrine/annotations": "^1.8", - "jms/serializer": "^3.0", - "jms/serializer-bundle": "^3.0 || ^4.0", - "matthiasnoback/symfony-dependency-injection-test": "^4.3", - "pagerfanta/twig": "^3.1", - "phpstan/extension-installer": "^1.2", - "phpstan/phpstan": "1.10.15", - "phpstan/phpstan-phpunit": "1.3.13", - "phpstan/phpstan-symfony": "1.2.19", - "phpunit/phpunit": "9.6.8", - "symfony/phpunit-bridge": "^5.4 || ^6.0", - "symfony/serializer": "^4.4 || ^5.4 || ^6.0", - "symfony/translation": "^4.4 || ^5.4 || ^6.0", - "symfony/twig-bridge": "^4.4 || ^5.4 || ^6.0", - "symfony/twig-bundle": "^4.4 || ^5.4 || ^6.0", - "twig/twig": "^1.35 || ^2.5 || ^3.0" - }, - "suggest": { - "jms/serializer-bundle": "To use the Pagerfanta class with the JMS Serializer", - "symfony/serializer": "To use the Pagerfanta class with the Symfony Serializer", - "symfony/translation": "To use the Twig templates with translation support", - "twig/twig": "To integrate Pagerfanta with Twig through extensions" - }, - "type": "symfony-bundle", - "autoload": { - "psr-4": { - "BabDev\\PagerfantaBundle\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Bundle integrating Pagerfanta with Symfony", - "keywords": [ - "pagerfanta", - "pagination", - "symfony" - ], - "support": { - "issues": "https://github.com/BabDev/PagerfantaBundle/issues", - "source": "https://github.com/BabDev/PagerfantaBundle/tree/v3.8.0" - }, - "funding": [ - { - "url": "https://github.com/mbabker", - "type": "github" - } - ], - "time": "2023-06-01T01:04:54+00:00" - }, - { - "name": "behat/transliterator", - "version": "v1.5.0", - "source": { - "type": "git", - "url": "https://github.com/Behat/Transliterator.git", - "reference": "baac5873bac3749887d28ab68e2f74db3a4408af" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Behat/Transliterator/zipball/baac5873bac3749887d28ab68e2f74db3a4408af", - "reference": "baac5873bac3749887d28ab68e2f74db3a4408af", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "require-dev": { - "chuyskywalker/rolling-curl": "^3.1", - "php-yaoi/php-yaoi": "^1.0", - "phpunit/phpunit": "^8.5.25 || ^9.5.19" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Behat\\Transliterator\\": "src/Behat/Transliterator" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Artistic-1.0" - ], - "description": "String transliterator", - "keywords": [ - "i18n", - "slug", - "transliterator" - ], - "support": { - "issues": "https://github.com/Behat/Transliterator/issues", - "source": "https://github.com/Behat/Transliterator/tree/v1.5.0" - }, - "time": "2022-03-30T09:27:43+00:00" - }, - { - "name": "clue/stream-filter", - "version": "v1.7.0", - "source": { - "type": "git", - "url": "https://github.com/clue/stream-filter.git", - "reference": "049509fef80032cb3f051595029ab75b49a3c2f7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/clue/stream-filter/zipball/049509fef80032cb3f051595029ab75b49a3c2f7", - "reference": "049509fef80032cb3f051595029ab75b49a3c2f7", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "Clue\\StreamFilter\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christian Lück", - "email": "christian@clue.engineering" - } - ], - "description": "A simple and modern approach to stream filtering in PHP", - "homepage": "https://github.com/clue/stream-filter", - "keywords": [ - "bucket brigade", - "callback", - "filter", - "php_user_filter", - "stream", - "stream_filter_append", - "stream_filter_register" - ], - "support": { - "issues": "https://github.com/clue/stream-filter/issues", - "source": "https://github.com/clue/stream-filter/tree/v1.7.0" - }, - "funding": [ - { - "url": "https://clue.engineering/support", - "type": "custom" - }, - { - "url": "https://github.com/clue", - "type": "github" - } - ], - "time": "2023-12-20T15:40:13+00:00" - }, - { - "name": "doctrine/annotations", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", - "reference": "e157ef3f3124bbf6fe7ce0ffd109e8a8ef284e7f", - "shasum": "" - }, - "require": { - "doctrine/lexer": "^2 || ^3", - "ext-tokenizer": "*", - "php": "^7.2 || ^8.0", - "psr/cache": "^1 || ^2 || ^3" - }, - "require-dev": { - "doctrine/cache": "^2.0", - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.8.0", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "symfony/cache": "^5.4 || ^6", - "vimeo/psalm": "^4.10" - }, - "suggest": { - "php": "PHP 8.0 or higher comes with attributes, a native replacement for annotations" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "https://www.doctrine-project.org/projects/annotations.html", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "support": { - "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/2.0.1" - }, - "time": "2023-02-02T22:02:53+00:00" - }, - { - "name": "doctrine/cache", - "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/cache.git", - "reference": "1ca8f21980e770095a31456042471a57bc4c68fb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb", - "reference": "1ca8f21980e770095a31456042471a57bc4c68fb", - "shasum": "" - }, - "require": { - "php": "~7.1 || ^8.0" - }, - "conflict": { - "doctrine/common": ">2.2,<2.4" - }, - "require-dev": { - "cache/integration-tests": "dev-master", - "doctrine/coding-standard": "^9", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "psr/cache": "^1.0 || ^2.0 || ^3.0", - "symfony/cache": "^4.4 || ^5.4 || ^6", - "symfony/var-exporter": "^4.4 || ^5.4 || ^6" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", - "homepage": "https://www.doctrine-project.org/projects/cache.html", - "keywords": [ - "abstraction", - "apcu", - "cache", - "caching", - "couchdb", - "memcached", - "php", - "redis", - "xcache" - ], - "support": { - "issues": "https://github.com/doctrine/cache/issues", - "source": "https://github.com/doctrine/cache/tree/2.2.0" - }, - "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%2Fcache", - "type": "tidelift" - } - ], - "time": "2022-05-20T20:07:39+00:00" - }, - { - "name": "doctrine/collections", - "version": "1.8.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/collections.git", - "reference": "2b44dd4cbca8b5744327de78bafef5945c7e7b5e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/collections/zipball/2b44dd4cbca8b5744327de78bafef5945c7e7b5e", - "reference": "2b44dd4cbca8b5744327de78bafef5945c7e7b5e", - "shasum": "" - }, - "require": { - "doctrine/deprecations": "^0.5.3 || ^1", - "php": "^7.1.3 || ^8.0" - }, - "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" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Collections\\": "lib/Doctrine/Common/Collections" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Collections library that adds additional functionality on top of PHP arrays.", - "homepage": "https://www.doctrine-project.org/projects/collections.html", - "keywords": [ - "array", - "collections", - "iterators", - "php" - ], - "support": { - "issues": "https://github.com/doctrine/collections/issues", - "source": "https://github.com/doctrine/collections/tree/1.8.0" - }, - "time": "2022-09-01T20:12:10+00:00" - }, - { - "name": "doctrine/common", - "version": "3.4.4", - "source": { - "type": "git", - "url": "https://github.com/doctrine/common.git", - "reference": "0aad4b7ab7ce8c6602dfbb1e1a24581275fb9d1a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/common/zipball/0aad4b7ab7ce8c6602dfbb1e1a24581275fb9d1a", - "reference": "0aad4b7ab7ce8c6602dfbb1e1a24581275fb9d1a", - "shasum": "" - }, - "require": { - "doctrine/persistence": "^2.0 || ^3.0", - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^9.0 || ^10.0", - "doctrine/collections": "^1", - "phpstan/phpstan": "^1.4.1", - "phpstan/phpstan-phpunit": "^1", - "phpunit/phpunit": "^7.5.20 || ^8.5 || ^9.0", - "squizlabs/php_codesniffer": "^3.0", - "symfony/phpunit-bridge": "^6.1", - "vimeo/psalm": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" - } - ], - "description": "PHP Doctrine Common project is a library that provides additional functionality that other Doctrine projects depend on such as better reflection support, proxies and much more.", - "homepage": "https://www.doctrine-project.org/projects/common.html", - "keywords": [ - "common", - "doctrine", - "php" - ], - "support": { - "issues": "https://github.com/doctrine/common/issues", - "source": "https://github.com/doctrine/common/tree/3.4.4" - }, - "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%2Fcommon", - "type": "tidelift" - } - ], - "time": "2024-04-16T13:35:33+00:00" - }, - { - "name": "doctrine/dbal", - "version": "3.8.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/dbal.git", - "reference": "0e3536ba088a749985c8801105b6b3ac6c1280b6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/0e3536ba088a749985c8801105b6b3ac6c1280b6", - "reference": "0e3536ba088a749985c8801105b6b3ac6c1280b6", - "shasum": "" - }, - "require": { - "composer-runtime-api": "^2", - "doctrine/cache": "^1.11|^2.0", - "doctrine/deprecations": "^0.5.3|^1", - "doctrine/event-manager": "^1|^2", - "php": "^7.4 || ^8.0", - "psr/cache": "^1|^2|^3", - "psr/log": "^1|^2|^3" - }, - "require-dev": { - "doctrine/coding-standard": "12.0.0", - "fig/log-test": "^1", - "jetbrains/phpstorm-stubs": "2023.1", - "phpstan/phpstan": "1.11.1", - "phpstan/phpstan-strict-rules": "^1.6", - "phpunit/phpunit": "9.6.19", - "psalm/plugin-phpunit": "0.18.4", - "slevomat/coding-standard": "8.13.1", - "squizlabs/php_codesniffer": "3.9.2", - "symfony/cache": "^5.4|^6.0|^7.0", - "symfony/console": "^4.4|^5.4|^6.0|^7.0", - "vimeo/psalm": "4.30.0" - }, - "suggest": { - "symfony/console": "For helpful console commands such as SQL execution and import of files." - }, - "bin": [ - "bin/doctrine-dbal" - ], - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\DBAL\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - } - ], - "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", - "homepage": "https://www.doctrine-project.org/projects/dbal.html", - "keywords": [ - "abstraction", - "database", - "db2", - "dbal", - "mariadb", - "mssql", - "mysql", - "oci8", - "oracle", - "pdo", - "pgsql", - "postgresql", - "queryobject", - "sasql", - "sql", - "sqlite", - "sqlserver", - "sqlsrv" - ], - "support": { - "issues": "https://github.com/doctrine/dbal/issues", - "source": "https://github.com/doctrine/dbal/tree/3.8.5" - }, - "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%2Fdbal", - "type": "tidelift" - } - ], - "time": "2024-06-08T17:49:56+00:00" - }, - { - "name": "doctrine/deprecations", - "version": "1.1.3", - "source": { - "type": "git", - "url": "https://github.com/doctrine/deprecations.git", - "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", - "reference": "dfbaa3c2d2e9a9df1118213f3b8b0c597bb99fab", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "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" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", - "homepage": "https://www.doctrine-project.org/", - "support": { - "issues": "https://github.com/doctrine/deprecations/issues", - "source": "https://github.com/doctrine/deprecations/tree/1.1.3" - }, - "time": "2024-01-30T19:34:25+00:00" - }, - { - "name": "doctrine/doctrine-bundle", - "version": "2.11.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/DoctrineBundle.git", - "reference": "4089f1424b724786c062aea50aae5f773449b94b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/DoctrineBundle/zipball/4089f1424b724786c062aea50aae5f773449b94b", - "reference": "4089f1424b724786c062aea50aae5f773449b94b", - "shasum": "" - }, - "require": { - "doctrine/cache": "^1.11 || ^2.0", - "doctrine/dbal": "^3.7.0 || ^4.0", - "doctrine/persistence": "^2.2 || ^3", - "doctrine/sql-formatter": "^1.0.1", - "php": "^7.4 || ^8.0", - "symfony/cache": "^5.4 || ^6.0 || ^7.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/deprecation-contracts": "^2.1 || ^3", - "symfony/doctrine-bridge": "^5.4.19 || ^6.0.7 || ^7.0", - "symfony/framework-bundle": "^5.4 || ^6.0 || ^7.0", - "symfony/polyfill-php80": "^1.15", - "symfony/service-contracts": "^1.1.1 || ^2.0 || ^3" - }, - "conflict": { - "doctrine/annotations": ">=3.0", - "doctrine/orm": "<2.14 || >=4.0", - "twig/twig": "<1.34 || >=2.0 <2.4" - }, - "require-dev": { - "doctrine/annotations": "^1 || ^2", - "doctrine/coding-standard": "^12", - "doctrine/deprecations": "^1.0", - "doctrine/orm": "^2.14 || ^3.0", - "friendsofphp/proxy-manager-lts": "^1.0", - "phpunit/phpunit": "^9.5.26 || ^10.0", - "psalm/plugin-phpunit": "^0.18.4", - "psalm/plugin-symfony": "^4", - "psr/log": "^1.1.4 || ^2.0 || ^3.0", - "symfony/phpunit-bridge": "^6.1 || ^7.0", - "symfony/property-info": "^5.4 || ^6.0 || ^7.0", - "symfony/proxy-manager-bridge": "^5.4 || ^6.0 || ^7.0", - "symfony/security-bundle": "^5.4 || ^6.0 || ^7.0", - "symfony/string": "^5.4 || ^6.0 || ^7.0", - "symfony/twig-bridge": "^5.4 || ^6.0 || ^7.0", - "symfony/validator": "^5.4 || ^6.0 || ^7.0", - "symfony/var-exporter": "^5.4 || ^6.2 || ^7.0", - "symfony/web-profiler-bundle": "^5.4 || ^6.0 || ^7.0", - "symfony/yaml": "^5.4 || ^6.0 || ^7.0", - "twig/twig": "^1.34 || ^2.12 || ^3.0", - "vimeo/psalm": "^4.30" - }, - "suggest": { - "doctrine/orm": "The Doctrine ORM integration is optional in the bundle.", - "ext-pdo": "*", - "symfony/web-profiler-bundle": "To use the data collector." - }, - "type": "symfony-bundle", - "autoload": { - "psr-4": { - "Doctrine\\Bundle\\DoctrineBundle\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - }, - { - "name": "Doctrine Project", - "homepage": "https://www.doctrine-project.org/" - } - ], - "description": "Symfony DoctrineBundle", - "homepage": "https://www.doctrine-project.org", - "keywords": [ - "database", - "dbal", - "orm", - "persistence" - ], - "support": { - "issues": "https://github.com/doctrine/DoctrineBundle/issues", - "source": "https://github.com/doctrine/DoctrineBundle/tree/2.11.1" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdoctrine-bundle", - "type": "tidelift" - } - ], - "time": "2023-11-15T20:01:50+00:00" - }, - { - "name": "doctrine/event-manager", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/event-manager.git", - "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/95aa4cb529f1e96576f3fda9f5705ada4056a520", - "reference": "95aa4cb529f1e96576f3fda9f5705ada4056a520", - "shasum": "" - }, - "require": { - "doctrine/deprecations": "^0.5.3 || ^1", - "php": "^7.1 || ^8.0" - }, - "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" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" - } - ], - "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", - "homepage": "https://www.doctrine-project.org/projects/event-manager.html", - "keywords": [ - "event", - "event dispatcher", - "event manager", - "event system", - "events" - ], - "support": { - "issues": "https://github.com/doctrine/event-manager/issues", - "source": "https://github.com/doctrine/event-manager/tree/1.2.0" - }, - "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%2Fevent-manager", - "type": "tidelift" - } - ], - "time": "2022-10-12T20:51:15+00:00" - }, - { - "name": "doctrine/inflector", - "version": "2.0.10", - "source": { - "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/5817d0659c5b50c9b950feb9af7b9668e2c436bc", - "reference": "5817d0659c5b50c9b950feb9af7b9668e2c436bc", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "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 || ^5.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", - "homepage": "https://www.doctrine-project.org/projects/inflector.html", - "keywords": [ - "inflection", - "inflector", - "lowercase", - "manipulation", - "php", - "plural", - "singular", - "strings", - "uppercase", - "words" - ], - "support": { - "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.10" - }, - "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%2Finflector", - "type": "tidelift" - } - ], - "time": "2024-02-18T20:23:39+00:00" - }, - { - "name": "doctrine/instantiator", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "doctrine/coding-standard": "^11", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^1.9.4", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5.27", - "vimeo/psalm": "^5.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "https://ocramius.github.io/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ], - "support": { - "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/2.0.0" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", - "type": "tidelift" - } - ], - "time": "2022-12-30T00:23:10+00:00" - }, - { - "name": "doctrine/lexer", - "version": "2.1.1", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "861c870e8b75f7c8f69c146c7f89cc1c0f1b49b6" - }, - "dist": { - "type": "zip", - "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 || ^12", - "phpstan/phpstan": "^1.3", - "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\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "https://www.doctrine-project.org/projects/lexer.html", - "keywords": [ - "annotations", - "docblock", - "lexer", - "parser", - "php" - ], - "support": { - "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/2.1.1" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", - "type": "tidelift" - } - ], - "time": "2024-02-05T11:35:39+00:00" - }, - { - "name": "doctrine/orm", - "version": "2.15.5", - "source": { - "type": "git", - "url": "https://github.com/doctrine/orm.git", - "reference": "d2de4ec03c63ddd7bdfda0421e237e11343c75ee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/orm/zipball/d2de4ec03c63ddd7bdfda0421e237e11343c75ee", - "reference": "d2de4ec03c63ddd7bdfda0421e237e11343c75ee", - "shasum": "" - }, - "require": { - "composer-runtime-api": "^2", - "doctrine/cache": "^1.12.1 || ^2.1.1", - "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 || ^2", - "doctrine/lexer": "^2", - "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/polyfill-php72": "^1.23", - "symfony/polyfill-php80": "^1.16" - }, - "conflict": { - "doctrine/annotations": "<1.13 || >= 3.0" - }, - "require-dev": { - "doctrine/annotations": "^1.13 || ^2", - "doctrine/coding-standard": "^9.0.2 || ^12.0", - "phpbench/phpbench": "^0.16.10 || ^1.0", - "phpstan/phpstan": "~1.4.10 || 1.10.25", - "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.13.1" - }, - "suggest": { - "ext-dom": "Provides support for XSD validation for XML mapping files", - "symfony/cache": "Provides cache support for Setup Tool with doctrine/cache 2.0", - "symfony/yaml": "If you want to use YAML Metadata Mapping Driver" - }, - "bin": [ - "bin/doctrine" - ], - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\ORM\\": "lib/Doctrine/ORM" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" - } - ], - "description": "Object-Relational-Mapper for PHP", - "homepage": "https://www.doctrine-project.org/projects/orm.html", - "keywords": [ - "database", - "orm" - ], - "support": { - "issues": "https://github.com/doctrine/orm/issues", - "source": "https://github.com/doctrine/orm/tree/2.15.5" - }, - "time": "2023-07-28T14:08:17+00:00" - }, - { - "name": "doctrine/persistence", - "version": "3.3.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/persistence.git", - "reference": "477da35bd0255e032826f440b94b3e37f2d56f42" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/persistence/zipball/477da35bd0255e032826f440b94b3e37f2d56f42", - "reference": "477da35bd0255e032826f440b94b3e37f2d56f42", - "shasum": "" - }, - "require": { - "doctrine/event-manager": "^1 || ^2", - "php": "^7.2 || ^8.0", - "psr/cache": "^1.0 || ^2.0 || ^3.0" - }, - "conflict": { - "doctrine/common": "<2.10" - }, - "require-dev": { - "composer/package-versions-deprecated": "^1.11", - "doctrine/coding-standard": "^11", - "doctrine/common": "^3.0", - "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\\Persistence\\": "src/Persistence" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com" - } - ], - "description": "The Doctrine Persistence project is a set of shared interfaces and functionality that the different Doctrine object mappers share.", - "homepage": "https://www.doctrine-project.org/projects/persistence.html", - "keywords": [ - "mapper", - "object", - "odm", - "orm", - "persistence" - ], - "support": { - "issues": "https://github.com/doctrine/persistence/issues", - "source": "https://github.com/doctrine/persistence/tree/3.3.2" - }, - "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%2Fpersistence", - "type": "tidelift" - } - ], - "time": "2024-03-12T14:54:36+00:00" - }, - { - "name": "doctrine/sql-formatter", - "version": "1.4.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/sql-formatter.git", - "reference": "d1ac84aef745c69ea034929eb6d65a6908b675cc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/sql-formatter/zipball/d1ac84aef745c69ea034929eb6d65a6908b675cc", - "reference": "d1ac84aef745c69ea034929eb6d65a6908b675cc", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "doctrine/coding-standard": "^12", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^10.5", - "vimeo/psalm": "^5.24" - }, - "bin": [ - "bin/sql-formatter" - ], - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\SqlFormatter\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jeremy Dorn", - "email": "jeremy@jeremydorn.com", - "homepage": "https://jeremydorn.com/" - } - ], - "description": "a PHP SQL highlighting library", - "homepage": "https://github.com/doctrine/sql-formatter/", - "keywords": [ - "highlight", - "sql" - ], - "support": { - "issues": "https://github.com/doctrine/sql-formatter/issues", - "source": "https://github.com/doctrine/sql-formatter/tree/1.4.0" - }, - "time": "2024-05-08T08:12:09+00:00" - }, - { - "name": "enshrined/svg-sanitize", - "version": "0.16.0", - "source": { - "type": "git", - "url": "https://github.com/darylldoyle/svg-sanitizer.git", - "reference": "239e257605e2141265b429e40987b2ee51bba4b4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/darylldoyle/svg-sanitizer/zipball/239e257605e2141265b429e40987b2ee51bba4b4", - "reference": "239e257605e2141265b429e40987b2ee51bba4b4", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ezyang/htmlpurifier": "^4.16", - "php": "^5.6 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7 || ^6.5 || ^8.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "enshrined\\svgSanitize\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-2.0-or-later" - ], - "authors": [ - { - "name": "Daryll Doyle", - "email": "daryll@enshrined.co.uk" - } - ], - "description": "An SVG sanitizer for PHP", - "support": { - "issues": "https://github.com/darylldoyle/svg-sanitizer/issues", - "source": "https://github.com/darylldoyle/svg-sanitizer/tree/0.16.0" - }, - "time": "2023-03-20T10:51:12+00:00" - }, - { - "name": "ezyang/htmlpurifier", - "version": "v4.17.0", - "source": { - "type": "git", - "url": "https://github.com/ezyang/htmlpurifier.git", - "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ezyang/htmlpurifier/zipball/bbc513d79acf6691fa9cf10f192c90dd2957f18c", - "reference": "bbc513d79acf6691fa9cf10f192c90dd2957f18c", - "shasum": "" - }, - "require": { - "php": "~5.6.0 || ~7.0.0 || ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 || ~8.2.0 || ~8.3.0" - }, - "require-dev": { - "cerdic/css-tidy": "^1.7 || ^2.0", - "simpletest/simpletest": "dev-master" - }, - "suggest": { - "cerdic/css-tidy": "If you want to use the filter 'Filter.ExtractStyleBlocks'.", - "ext-bcmath": "Used for unit conversion and imagecrash protection", - "ext-iconv": "Converts text to and from non-UTF-8 encodings", - "ext-tidy": "Used for pretty-printing HTML" - }, - "type": "library", - "autoload": { - "files": [ - "library/HTMLPurifier.composer.php" - ], - "psr-0": { - "HTMLPurifier": "library/" - }, - "exclude-from-classmap": [ - "/library/HTMLPurifier/Language/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1-or-later" - ], - "authors": [ - { - "name": "Edward Z. Yang", - "email": "admin@htmlpurifier.org", - "homepage": "http://ezyang.com" - } - ], - "description": "Standards compliant HTML filter written in PHP", - "homepage": "http://htmlpurifier.org/", - "keywords": [ - "html" - ], - "support": { - "issues": "https://github.com/ezyang/htmlpurifier/issues", - "source": "https://github.com/ezyang/htmlpurifier/tree/v4.17.0" - }, - "time": "2023-11-17T15:01:25+00:00" - }, - { - "name": "friendsofsymfony/rest-bundle", - "version": "3.7.1", - "source": { - "type": "git", - "url": "https://github.com/FriendsOfSymfony/FOSRestBundle.git", - "reference": "db7d9a17da2bcae1bb8e2d7ff320ef3915903373" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FriendsOfSymfony/FOSRestBundle/zipball/db7d9a17da2bcae1bb8e2d7ff320ef3915903373", - "reference": "db7d9a17da2bcae1bb8e2d7ff320ef3915903373", - "shasum": "" - }, - "require": { - "php": "^7.4|^8.0", - "symfony/config": "^5.4|^6.4|^7.0", - "symfony/dependency-injection": "^5.4|^6.4|^7.0", - "symfony/deprecation-contracts": "^2.1|^3.0", - "symfony/event-dispatcher": "^5.4|^6.4|^7.0", - "symfony/framework-bundle": "^5.4|^6.4|^7.0", - "symfony/http-foundation": "^5.4|^6.4|^7.0", - "symfony/http-kernel": "^5.4|^6.4|^7.0", - "symfony/routing": "^5.4|^6.4|^7.0", - "symfony/security-core": "^5.4|^6.4|^7.0", - "willdurand/jsonp-callback-validator": "^1.0|^2.0", - "willdurand/negotiation": "^2.0|^3.0" - }, - "conflict": { - "doctrine/annotations": "<1.12", - "jms/serializer": "<1.13.0", - "jms/serializer-bundle": "<2.4.3|3.0.0", - "sensio/framework-extra-bundle": "<6.1" - }, - "require-dev": { - "doctrine/annotations": "^1.13.2|^2.0", - "friendsofphp/php-cs-fixer": "^3.43", - "jms/serializer": "^1.13|^2.0|^3.0", - "jms/serializer-bundle": "^2.4.3|^3.0.1|^4.0|^5.0", - "psr/http-message": "^1.0", - "psr/log": "^1.0|^2.0|^3.0", - "sensio/framework-extra-bundle": "^6.1", - "symfony/asset": "^5.4|^6.4|^7.0", - "symfony/browser-kit": "^5.4|^6.4|^7.0", - "symfony/css-selector": "^5.4|^6.4|^7.0", - "symfony/expression-language": "^5.4|^6.4|^7.0", - "symfony/form": "^5.4|^6.4|^7.0", - "symfony/mime": "^5.4|^6.4|^7.0", - "symfony/phpunit-bridge": "^7.0.1", - "symfony/security-bundle": "^5.4|^6.4|^7.0", - "symfony/serializer": "^5.4|^6.4|^7.0", - "symfony/twig-bundle": "^5.4|^6.4|^7.0", - "symfony/validator": "^5.4|^6.4|^7.0", - "symfony/web-profiler-bundle": "^5.4|^6.4|^7.0", - "symfony/yaml": "^5.4|^6.4|^7.0" - }, - "suggest": { - "jms/serializer-bundle": "Add support for advanced serialization capabilities, recommended", - "sensio/framework-extra-bundle": "Add support for the request body converter and the view response listener, not supported with Symfony >=7.0", - "symfony/serializer": "Add support for basic serialization capabilities and xml decoding", - "symfony/validator": "Add support for validation capabilities in the ParamFetcher" - }, - "type": "symfony-bundle", - "extra": { - "branch-alias": { - "3.x-dev": "3.1-dev" - } - }, - "autoload": { - "psr-4": { - "FOS\\RestBundle\\": "" - }, - "exclude-from-classmap": [ - "Resources/", - "Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Lukas Kahwe Smith", - "email": "smith@pooteeweet.org" - }, - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com" - }, - { - "name": "FriendsOfSymfony Community", - "homepage": "https://github.com/friendsofsymfony/FOSRestBundle/contributors" - } - ], - "description": "This Bundle provides various tools to rapidly develop RESTful API's with Symfony", - "homepage": "http://friendsofsymfony.github.com", - "keywords": [ - "rest" - ], - "support": { - "issues": "https://github.com/FriendsOfSymfony/FOSRestBundle/issues", - "source": "https://github.com/FriendsOfSymfony/FOSRestBundle/tree/3.7.1" - }, - "time": "2024-04-12T22:57:10+00:00" - }, - { - "name": "gedmo/doctrine-extensions", - "version": "v3.15.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine-extensions/DoctrineExtensions.git", - "reference": "2a89103f4984d8970f3855284c8c04e6e6a63c0f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine-extensions/DoctrineExtensions/zipball/2a89103f4984d8970f3855284c8c04e6e6a63c0f", - "reference": "2a89103f4984d8970f3855284c8c04e6e6a63c0f", - "shasum": "" - }, - "require": { - "behat/transliterator": "^1.2", - "doctrine/collections": "^1.2 || ^2.0", - "doctrine/common": "^2.13 || ^3.0", - "doctrine/deprecations": "^1.0", - "doctrine/event-manager": "^1.2 || ^2.0", - "doctrine/persistence": "^2.2 || ^3.0", - "php": "^7.4 || ^8.0", - "psr/cache": "^1 || ^2 || ^3", - "psr/clock": "^1", - "symfony/cache": "^5.4 || ^6.0 || ^7.0" - }, - "conflict": { - "doctrine/annotations": "<1.13 || >=3.0", - "doctrine/dbal": "<3.2 || >=4.0", - "doctrine/mongodb-odm": "<2.3 || >=3.0", - "doctrine/orm": "<2.14.0 || 2.16.0 || 2.16.1 || >=3.0" - }, - "require-dev": { - "doctrine/annotations": "^1.13 || ^2.0", - "doctrine/cache": "^1.11 || ^2.0", - "doctrine/dbal": "^3.2", - "doctrine/doctrine-bundle": "^2.3", - "doctrine/mongodb-odm": "^2.3", - "doctrine/orm": "^2.14.0", - "friendsofphp/php-cs-fixer": "^3.14.0", - "nesbot/carbon": "^2.71 || ^3.0", - "phpstan/phpstan": "^1.10.2", - "phpstan/phpstan-doctrine": "^1.0", - "phpstan/phpstan-phpunit": "^1.0", - "phpunit/phpunit": "^9.6", - "rector/rector": "^0.19", - "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" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.13-dev" - } - }, - "autoload": { - "psr-4": { - "Gedmo\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gediminas Morkevicius", - "email": "gediminas.morkevicius@gmail.com" - }, - { - "name": "Gustavo Falco", - "email": "comfortablynumb84@gmail.com" - }, - { - "name": "David Buchmann", - "email": "david@liip.ch" - } - ], - "description": "Doctrine behavioral extensions", - "homepage": "http://gediminasm.org/", - "keywords": [ - "Blameable", - "behaviors", - "doctrine", - "extensions", - "gedmo", - "loggable", - "nestedset", - "odm", - "orm", - "sluggable", - "sortable", - "timestampable", - "translatable", - "tree", - "uploadable" - ], - "support": { - "email": "gediminas.morkevicius@gmail.com", - "issues": "https://github.com/doctrine-extensions/DoctrineExtensions/issues", - "source": "https://github.com/doctrine-extensions/DoctrineExtensions/tree/v3.15.0", - "wiki": "https://github.com/Atlantic18/DoctrineExtensions/tree/main/doc" - }, - "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": "2024-02-12T15:17:22+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "7.8.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", - "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", - "shasum": "" - }, - "require": { - "ext-json": "*", - "guzzlehttp/promises": "^1.5.3 || ^2.0.1", - "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", - "php": "^7.2.5 || ^8.0", - "psr/http-client": "^1.0", - "symfony/deprecation-contracts": "^2.2 || ^3.0" - }, - "provide": { - "psr/http-client-implementation": "1.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "ext-curl": "*", - "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", - "php-http/message-factory": "^1.1", - "phpunit/phpunit": "^8.5.36 || ^9.6.15", - "psr/log": "^1.1 || ^2.0 || ^3.0" - }, - "suggest": { - "ext-curl": "Required for CURL handler support", - "ext-intl": "Required for Internationalized Domain Name (IDN) support", - "psr/log": "Required for using the Log middleware" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Jeremy Lindblom", - "email": "jeremeamia@gmail.com", - "homepage": "https://github.com/jeremeamia" - }, - { - "name": "George Mponos", - "email": "gmponos@gmail.com", - "homepage": "https://github.com/gmponos" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://github.com/sagikazarmark" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "psr-18", - "psr-7", - "rest", - "web service" - ], - "support": { - "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.8.1" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", - "type": "tidelift" - } - ], - "time": "2023-12-03T20:35:24+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", - "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "support": { - "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/2.0.2" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", - "type": "tidelift" - } - ], - "time": "2023-12-03T20:19:20+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "2.6.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", - "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.1 || ^2.0", - "ralouphie/getallheaders": "^3.0" - }, - "provide": { - "psr/http-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.36 || ^9.6.15" - }, - "suggest": { - "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "George Mponos", - "email": "gmponos@gmail.com", - "homepage": "https://github.com/gmponos" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://github.com/sagikazarmark" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://sagikazarmark.hu" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "psr-7", - "request", - "response", - "stream", - "uri", - "url" - ], - "support": { - "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.6.2" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", - "type": "tidelift" - } - ], - "time": "2023-12-03T20:05:35+00:00" - }, - { - "name": "jms/metadata", - "version": "2.8.0", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/metadata.git", - "reference": "7ca240dcac0c655eb15933ee55736ccd2ea0d7a6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/metadata/zipball/7ca240dcac0c655eb15933ee55736ccd2ea0d7a6", - "reference": "7ca240dcac0c655eb15933ee55736ccd2ea0d7a6", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0" - }, - "require-dev": { - "doctrine/cache": "^1.0", - "doctrine/coding-standard": "^8.0", - "mikey179/vfsstream": "^1.6.7", - "phpunit/phpunit": "^8.5|^9.0", - "psr/container": "^1.0|^2.0", - "symfony/cache": "^3.1|^4.0|^5.0", - "symfony/dependency-injection": "^3.1|^4.0|^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Metadata\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Asmir Mustafic", - "email": "goetas@gmail.com" - } - ], - "description": "Class/method/property metadata management in PHP", - "keywords": [ - "annotations", - "metadata", - "xml", - "yaml" - ], - "support": { - "issues": "https://github.com/schmittjoh/metadata/issues", - "source": "https://github.com/schmittjoh/metadata/tree/2.8.0" - }, - "time": "2023-02-15T13:44:18+00:00" - }, - { - "name": "jms/serializer", - "version": "3.30.0", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/serializer.git", - "reference": "bf1105358123d7c02ee6cad08ea33ab535a09d5e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/serializer/zipball/bf1105358123d7c02ee6cad08ea33ab535a09d5e", - "reference": "bf1105358123d7c02ee6cad08ea33ab535a09d5e", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.3.1 || ^2.0", - "doctrine/lexer": "^2.0 || ^3.0", - "jms/metadata": "^2.6", - "php": "^7.4 || ^8.0", - "phpstan/phpdoc-parser": "^1.20" - }, - "require-dev": { - "doctrine/annotations": "^1.14 || ^2.0", - "doctrine/coding-standard": "^12.0", - "doctrine/orm": "^2.14 || ^3.0", - "doctrine/persistence": "^2.5.2 || ^3.0", - "doctrine/phpcr-odm": "^1.5.2 || ^2.0", - "ext-pdo_sqlite": "*", - "jackalope/jackalope-doctrine-dbal": "^1.3", - "ocramius/proxy-manager": "^1.0 || ^2.0", - "phpbench/phpbench": "^1.0", - "phpstan/phpstan": "^1.0.2", - "phpunit/phpunit": "^9.0 || ^10.0", - "psr/container": "^1.0 || ^2.0", - "rector/rector": "^0.19.0", - "symfony/dependency-injection": "^5.4 || ^6.0 || ^7.0", - "symfony/expression-language": "^5.4 || ^6.0 || ^7.0", - "symfony/filesystem": "^5.4 || ^6.0 || ^7.0", - "symfony/form": "^5.4 || ^6.0 || ^7.0", - "symfony/translation": "^5.4 || ^6.0 || ^7.0", - "symfony/uid": "^5.4 || ^6.0 || ^7.0", - "symfony/validator": "^5.4 || ^6.0 || ^7.0", - "symfony/yaml": "^5.4 || ^6.0 || ^7.0", - "twig/twig": "^1.34 || ^2.4 || ^3.0" - }, - "suggest": { - "doctrine/collections": "Required if you like to use doctrine collection types as ArrayCollection.", - "symfony/cache": "Required if you like to use cache functionality.", - "symfony/uid": "Required if you'd like to serialize UID objects.", - "symfony/yaml": "Required if you'd like to use the YAML metadata format." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "JMS\\Serializer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Asmir Mustafic", - "email": "goetas@gmail.com" - } - ], - "description": "Library for (de-)serializing data of any complexity; supports XML, and JSON.", - "homepage": "http://jmsyst.com/libs/serializer", - "keywords": [ - "deserialization", - "jaxb", - "json", - "serialization", - "xml" - ], - "support": { - "issues": "https://github.com/schmittjoh/serializer/issues", - "source": "https://github.com/schmittjoh/serializer/tree/3.30.0" - }, - "funding": [ - { - "url": "https://github.com/goetas", - "type": "github" - } - ], - "time": "2024-02-24T14:12:14+00:00" - }, - { - "name": "jms/serializer-bundle", - "version": "4.2.0", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/JMSSerializerBundle.git", - "reference": "d402554c66442ba494af7a37e3e43fc0f24e2689" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/JMSSerializerBundle/zipball/d402554c66442ba494af7a37e3e43fc0f24e2689", - "reference": "d402554c66442ba494af7a37e3e43fc0f24e2689", - "shasum": "" - }, - "require": { - "jms/metadata": "^2.5", - "jms/serializer": "^3.18", - "php": "^7.2 || ^8.0", - "symfony/dependency-injection": "^3.4 || ^4.0 || ^5.0 || ^6.0", - "symfony/framework-bundle": "^3.0 || ^4.0 || ^5.0 || ^6.0" - }, - "require-dev": { - "doctrine/coding-standard": "^8.1", - "doctrine/orm": "^2.4", - "phpunit/phpunit": "^8.0 || ^9.0", - "symfony/expression-language": "^3.0 || ^4.0 || ^5.0 || ^6.0", - "symfony/finder": "^3.0 || ^4.0 || ^5.0 || ^6.0", - "symfony/form": "^3.0 || ^4.0 || ^5.0 || ^6.0", - "symfony/stopwatch": "^3.0 || ^4.0 || ^5.0 || ^6.0", - "symfony/templating": "^3.0 || ^4.0 || ^5.0 || ^6.0", - "symfony/twig-bundle": "^3.0 || ^4.0 || ^5.0 || ^6.0", - "symfony/uid": "^5.1 || ^6.0", - "symfony/validator": "^3.0 || ^4.0 || ^5.0 || ^6.0", - "symfony/yaml": "^3.0 || ^4.0 || ^5.0 || ^6.0" - }, - "suggest": { - "jms/di-extra-bundle": "Required to get lazy loading (de)serialization visitors, ^1.3", - "symfony/expression-language": "Required for opcache preloading, ^3.0 || ^4.0 || ^5.0", - "symfony/finder": "Required for cache warmup, supported versions ^3.0|^4.0" - }, - "type": "symfony-bundle", - "extra": { - "branch-alias": { - "dev-master": "4.x-dev" - } - }, - "autoload": { - "psr-4": { - "JMS\\SerializerBundle\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com" - }, - { - "name": "Asmir Mustafic", - "email": "goetas@gmail.com" - } - ], - "description": "Allows you to easily serialize, and deserialize data of any complexity", - "homepage": "http://jmsyst.com/bundles/JMSSerializerBundle", - "keywords": [ - "deserialization", - "json", - "serialization", - "xml" - ], - "support": { - "issues": "https://github.com/schmittjoh/JMSSerializerBundle/issues", - "source": "https://github.com/schmittjoh/JMSSerializerBundle/tree/4.2.0" - }, - "funding": [ - { - "url": "https://github.com/goetas", - "type": "github" - } - ], - "time": "2022-09-13T19:27:18+00:00" - }, - { - "name": "knplabs/gaufrette", - "version": "v0.11.1", - "source": { - "type": "git", - "url": "https://github.com/KnpLabs/Gaufrette.git", - "reference": "3cc396cae0f7c7d3f965e6b69d8fc546ffa0f94c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/KnpLabs/Gaufrette/zipball/3cc396cae0f7c7d3f965e6b69d8fc546ffa0f94c", - "reference": "3cc396cae0f7c7d3f965e6b69d8fc546ffa0f94c", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "conflict": { - "microsoft/windowsazure": "<0.4.3" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.9", - "mikey179/vfsstream": "v1.x-dev as 1.7.0", - "pedrotroller/php-cs-custom-fixer": "^2.28", - "phpspec/phpspec": "^7.0", - "phpunit/phpunit": "~8.0" - }, - "suggest": { - "ext-fileinfo": "This extension is used to automatically detect the content-type of a file in the AwsS3, OpenCloud, AzureBlogStorage and GoogleCloudStorage adapters", - "knplabs/knp-gaufrette-bundle": "to use with Symfony" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.10.x-dev" - } - }, - "autoload": { - "psr-0": { - "Gaufrette": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "KnpLabs Team", - "homepage": "http://knplabs.com" - }, - { - "name": "The contributors", - "homepage": "http://github.com/knplabs/Gaufrette/contributors" - } - ], - "description": "PHP library that provides a filesystem abstraction layer", - "homepage": "http://knplabs.com", - "keywords": [ - "abstraction", - "file", - "filesystem", - "media" - ], - "support": { - "issues": "https://github.com/KnpLabs/Gaufrette/issues", - "source": "https://github.com/KnpLabs/Gaufrette/tree/v0.11.1" - }, - "time": "2022-11-03T17:26:17+00:00" - }, - { - "name": "laminas/laminas-stdlib", - "version": "3.19.0", - "source": { - "type": "git", - "url": "https://github.com/laminas/laminas-stdlib.git", - "reference": "6a192dd0882b514e45506f533b833b623b78fff3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laminas/laminas-stdlib/zipball/6a192dd0882b514e45506f533b833b623b78fff3", - "reference": "6a192dd0882b514e45506f533b833b623b78fff3", - "shasum": "" - }, - "require": { - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" - }, - "conflict": { - "zendframework/zend-stdlib": "*" - }, - "require-dev": { - "laminas/laminas-coding-standard": "^2.5", - "phpbench/phpbench": "^1.2.15", - "phpunit/phpunit": "^10.5.8", - "psalm/plugin-phpunit": "^0.18.4", - "vimeo/psalm": "^5.20.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Laminas\\Stdlib\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "description": "SPL extensions, array utilities, error handlers, and more", - "homepage": "https://laminas.dev", - "keywords": [ - "laminas", - "stdlib" - ], - "support": { - "chat": "https://laminas.dev/chat", - "docs": "https://docs.laminas.dev/laminas-stdlib/", - "forum": "https://discourse.laminas.dev", - "issues": "https://github.com/laminas/laminas-stdlib/issues", - "rss": "https://github.com/laminas/laminas-stdlib/releases.atom", - "source": "https://github.com/laminas/laminas-stdlib" - }, - "funding": [ - { - "url": "https://funding.communitybridge.org/projects/laminas-project", - "type": "community_bridge" - } - ], - "time": "2024-01-19T12:39:49+00:00" - }, - { - "name": "league/flysystem", - "version": "2.5.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "8aaffb653c5777781b0f7f69a5d937baf7ab6cdb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/8aaffb653c5777781b0f7f69a5d937baf7ab6cdb", - "reference": "8aaffb653c5777781b0f7f69a5d937baf7ab6cdb", - "shasum": "" - }, - "require": { - "ext-json": "*", - "league/mime-type-detection": "^1.0.0", - "php": "^7.2 || ^8.0" - }, - "conflict": { - "guzzlehttp/ringphp": "<1.1.1" - }, - "require-dev": { - "async-aws/s3": "^1.5", - "async-aws/simple-s3": "^1.0", - "aws/aws-sdk-php": "^3.132.4", - "composer/semver": "^3.0", - "ext-fileinfo": "*", - "ext-ftp": "*", - "friendsofphp/php-cs-fixer": "^3.2", - "google/cloud-storage": "^1.23", - "phpseclib/phpseclib": "^2.0", - "phpstan/phpstan": "^0.12.26", - "phpunit/phpunit": "^8.5 || ^9.4", - "sabre/dav": "^4.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\Flysystem\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frankdejonge.nl" - } - ], - "description": "File storage abstraction for PHP", - "keywords": [ - "WebDAV", - "aws", - "cloud", - "file", - "files", - "filesystem", - "filesystems", - "ftp", - "s3", - "sftp", - "storage" - ], - "support": { - "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/2.5.0" - }, - "funding": [ - { - "url": "https://ecologi.com/frankdejonge", - "type": "custom" - }, - { - "url": "https://github.com/frankdejonge", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "type": "tidelift" - } - ], - "time": "2022-09-17T21:02:32+00:00" - }, - { - "name": "league/mime-type-detection", - "version": "1.15.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", - "reference": "ce0f4d1e8a6f4eb0ddff33f57c69c50fd09f4301", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.2", - "phpstan/phpstan": "^0.12.68", - "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\MimeTypeDetection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frankdejonge.nl" - } - ], - "description": "Mime-type detection for Flysystem", - "support": { - "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.15.0" - }, - "funding": [ - { - "url": "https://github.com/frankdejonge", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "type": "tidelift" - } - ], - "time": "2024-01-28T23:22:08+00:00" - }, - { - "name": "league/uri", - "version": "6.8.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/uri.git", - "reference": "a700b4656e4c54371b799ac61e300ab25a2d1d39" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri/zipball/a700b4656e4c54371b799ac61e300ab25a2d1d39", - "reference": "a700b4656e4c54371b799ac61e300ab25a2d1d39", - "shasum": "" - }, - "require": { - "ext-json": "*", - "league/uri-interfaces": "^2.3", - "php": "^8.1", - "psr/http-message": "^1.0.1" - }, - "conflict": { - "league/uri-schemes": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^v3.9.5", - "nyholm/psr7": "^1.5.1", - "php-http/psr7-integration-tests": "^1.1.1", - "phpbench/phpbench": "^1.2.6", - "phpstan/phpstan": "^1.8.5", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1.1.1", - "phpstan/phpstan-strict-rules": "^1.4.3", - "phpunit/phpunit": "^9.5.24", - "psr/http-factory": "^1.0.1" - }, - "suggest": { - "ext-fileinfo": "Needed to create Data URI from a filepath", - "ext-intl": "Needed to improve host validation", - "league/uri-components": "Needed to easily manipulate URI objects", - "psr/http-factory": "Needed to use the URI factory" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "6.x-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Uri\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ignace Nyamagana Butera", - "email": "nyamsprod@gmail.com", - "homepage": "https://nyamsprod.com" - } - ], - "description": "URI manipulation library", - "homepage": "https://uri.thephpleague.com", - "keywords": [ - "data-uri", - "file-uri", - "ftp", - "hostname", - "http", - "https", - "middleware", - "parse_str", - "parse_url", - "psr-7", - "query-string", - "querystring", - "rfc3986", - "rfc3987", - "rfc6570", - "uri", - "uri-template", - "url", - "ws" - ], - "support": { - "docs": "https://uri.thephpleague.com", - "forum": "https://thephpleague.slack.com", - "issues": "https://github.com/thephpleague/uri/issues", - "source": "https://github.com/thephpleague/uri/tree/6.8.0" - }, - "funding": [ - { - "url": "https://github.com/sponsors/nyamsprod", - "type": "github" - } - ], - "time": "2022-09-13T19:58:47+00:00" - }, - { - "name": "league/uri-components", - "version": "2.4.2", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/uri-components.git", - "reference": "c93837294fe9021d518fd3ea4c5f3fbba8b8ddeb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri-components/zipball/c93837294fe9021d518fd3ea4c5f3fbba8b8ddeb", - "reference": "c93837294fe9021d518fd3ea4c5f3fbba8b8ddeb", - "shasum": "" - }, - "require": { - "ext-json": "*", - "league/uri-interfaces": "^2.3", - "php": "^7.4 || ^8.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^v3.22.0", - "guzzlehttp/psr7": "^2.2", - "laminas/laminas-diactoros": "^2.11", - "league/uri": "^6.0", - "phpstan/phpstan": "^1.10.28", - "phpstan/phpstan-deprecation-rules": "^1.1.4", - "phpstan/phpstan-phpunit": "^1.3.13", - "phpstan/phpstan-strict-rules": "^1.5.1", - "phpunit/phpunit": "^9.6.10" - }, - "suggest": { - "ext-fileinfo": "Needed to create Data URI from a filepath", - "ext-gmp": "to improve handle IPV4 parsing", - "ext-intl": "to handle IDN host", - "jeremykendall/php-domain-parser": "Public Suffix and Top Level Domain parsing implemented in PHP", - "league/uri": "to allow manipulating URI objects", - "php-64bit": "to improve handle IPV4 parsing", - "psr/http-message-implementation": "to allow manipulating PSR-7 Uri objects" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Uri\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ignace Nyamagana Butera", - "email": "nyamsprod@gmail.com", - "homepage": "https://nyamsprod.com" - } - ], - "description": "URI components manipulation library", - "homepage": "http://uri.thephpleague.com", - "keywords": [ - "authority", - "components", - "fragment", - "host", - "path", - "port", - "query", - "rfc3986", - "scheme", - "uri", - "url", - "userinfo" - ], - "support": { - "source": "https://github.com/thephpleague/uri-components/tree/2.4.2" - }, - "funding": [ - { - "url": "https://github.com/nyamsprod", - "type": "github" - } - ], - "time": "2023-08-13T19:53:57+00:00" - }, - { - "name": "league/uri-interfaces", - "version": "2.3.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/uri-interfaces.git", - "reference": "00e7e2943f76d8cb50c7dfdc2f6dee356e15e383" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/00e7e2943f76d8cb50c7dfdc2f6dee356e15e383", - "reference": "00e7e2943f76d8cb50c7dfdc2f6dee356e15e383", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.19", - "phpstan/phpstan": "^0.12.90", - "phpstan/phpstan-phpunit": "^0.12.19", - "phpstan/phpstan-strict-rules": "^0.12.9", - "phpunit/phpunit": "^8.5.15 || ^9.5" - }, - "suggest": { - "ext-intl": "to use the IDNA feature", - "symfony/intl": "to use the IDNA feature via Symfony Polyfill" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Uri\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ignace Nyamagana Butera", - "email": "nyamsprod@gmail.com", - "homepage": "https://nyamsprod.com" - } - ], - "description": "Common interface for URI representation", - "homepage": "http://github.com/thephpleague/uri-interfaces", - "keywords": [ - "rfc3986", - "rfc3987", - "uri", - "url" - ], - "support": { - "issues": "https://github.com/thephpleague/uri-interfaces/issues", - "source": "https://github.com/thephpleague/uri-interfaces/tree/2.3.0" - }, - "funding": [ - { - "url": "https://github.com/sponsors/nyamsprod", - "type": "github" - } - ], - "time": "2021-06-28T04:27:21+00:00" - }, - { - "name": "pagerfanta/core", - "version": "v3.8.0", - "source": { - "type": "git", - "url": "https://github.com/Pagerfanta/core.git", - "reference": "a995f69ff9af64a45c3dc3d8217100624ae214f2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Pagerfanta/core/zipball/a995f69ff9af64a45c3dc3d8217100624ae214f2", - "reference": "a995f69ff9af64a45c3dc3d8217100624ae214f2", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "^7.4 || ^8.0", - "symfony/deprecation-contracts": "^2.1 || ^3.0", - "symfony/polyfill-php80": "^1.15" - }, - "require-dev": { - "phpunit/phpunit": "^9.6 || ^10.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Pagerfanta\\": "./" - }, - "exclude-from-classmap": [ - "Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Core Pagerfanta API", - "keywords": [ - "pagerfanta" - ], - "support": { - "source": "https://github.com/Pagerfanta/core/tree/v3.8.0" - }, - "time": "2023-04-15T16:39:14+00:00" - }, - { - "name": "payum/core", - "version": "1.7.4", - "target-dir": "Payum/Core", - "source": { - "type": "git", - "url": "https://github.com/Payum/Core.git", - "reference": "77f621c2bec49dcb2c148b5a01e07d074564e283" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Payum/Core/zipball/77f621c2bec49dcb2c148b5a01e07d074564e283", - "reference": "77f621c2bec49dcb2c148b5a01e07d074564e283", - "shasum": "" - }, - "require": { - "alcohol/iso4217": "^3.1 || ^4.0", - "league/uri": "^6.4", - "league/uri-components": "^2.2", - "payum/iso4217": "^1.0", - "php": "^7.2 || ^8.0", - "php-http/client-implementation": "^1.0", - "php-http/message": "^1.0", - "psr/log": "^1 || ^2 || ^3", - "twig/twig": "^1.34|^2.4|^3.0" - }, - "require-dev": { - "defuse/php-encryption": "^2", - "doctrine/dbal": "^2", - "doctrine/orm": "2.*", - "doctrine/persistence": "^1.3.3|^2.0", - "ext-curl": "*", - "ext-pdo_sqlite": "*", - "laminas/laminas-db": "^2.0", - "omnipay/common": "^3.0", - "omnipay/dummy": "^3.0", - "payum/omnipay-v3-bridge": "^1.0", - "php-http/guzzle6-adapter": "^1.0", - "phpunit/phpunit": "^5.7", - "propel/propel1": "~1.7", - "symfony/cache": "^4.4|^5.0", - "symfony/dependency-injection": "^4.4|^5.0", - "symfony/form": "^4.4|^5.0", - "symfony/http-foundation": "^4.4|^5.0", - "symfony/http-kernel": "^4.4|^5.0", - "symfony/phpunit-bridge": "^4.4|^5.0", - "symfony/routing": "^4.4|^5.0", - "symfony/validator": "^4.4|^5.0" - }, - "suggest": { - "defuse/php-encryption": "^2 If you want to encrypt gateways credentials in database", - "doctrine/mongodb-odm": "~2.0 If you want to store models to mongo doctrin2 ODM", - "doctrine/orm": "~2.3 If you want to store models to database using doctrin2 ORM", - "laminas/laminas-db": "~2.0 If you want to store models to Laminas Db ORM", - "monolog/monolog": "~1.0 If you want to use PSR-3 logger", - "payum/authorize-net-aim": "self.version If you want to use Authorize.Net AIM payment gateway", - "payum/be2bill": "self.version If you want to use be2bill payment gateway", - "payum/omnipay-v3-bridge": "^1 If you want to use omnipay's gateways", - "payum/payex": "self.version If you want to use payex payment gateway", - "payum/paypal-express-checkout-nvp": "self.version If you want to use paypal express checkout, digital goods or recurring payments", - "payum/paypal-ipn": "self.version If you want to use paypal instant payment notifications(Paypal IPN)", - "payum/paypal-pro-checkout-nvp": "self.version If you want to use paypal pro checkout", - "payum/paypal-rest": "self.version If you want to use paypal rest gateway", - "propel/propel": "If you want to store models to Propel2 ORM", - "propel/propel1": "~1.7 If you want to store models to Propel1 ORM", - "symfony/dependency-injection": "~2.8|~3.0 If you want to use container aware stuff", - "symfony/form": "~2.8|~3.0 If you want to use forms", - "symfony/http-foundation": "~2.8|~3.0 If you want to use HttpRequestVerifier or HttpResponse reply from symfony's bridge", - "symfony/http-kernel": "~2.8|~3.0 If you want to use HttpRequestVerifier from symfony's bridge", - "symfony/routing": "~2.8|~3.0 If you want to use TokenFactory from symfony's bridge" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6-dev" - } - }, - "autoload": { - "psr-0": { - "Payum\\Core\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kotlyar Maksim", - "email": "kotlyar.maksim@gmail.com" - }, - { - "name": "Payum project", - "homepage": "https://payum.forma-pro.com/" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Payum/Payum/contributors" - } - ], - "description": "One million downloads of Payum already! Payum offers everything you need to work with payments. Friendly for all PHP frameworks (Symfony, Laravel, Laminas, Yii, Silex). Check more visiting site.", - "homepage": "https://payum.forma-pro.com/", - "keywords": [ - "authorize", - "capture", - "notify", - "payment", - "payout", - "recurring payment", - "refund", - "subscription", - "withdrawal" - ], - "support": { - "source": "https://github.com/Payum/Core/tree/1.7.4" - }, - "time": "2023-11-06T09:43:01+00:00" - }, - { - "name": "payum/iso4217", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/Payum/iso4217.git", - "reference": "faafdd2c5e799c673d7aa576aaf26fa2fb631014" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Payum/iso4217/zipball/faafdd2c5e799c673d7aa576aaf26fa2fb631014", - "reference": "faafdd2c5e799c673d7aa576aaf26fa2fb631014", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Payum\\ISO4217\\": "." - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com" - }, - { - "name": "Kotlyar Maksim", - "email": "kotlyar.maksim@gmail.com" - }, - { - "name": "Payum project", - "homepage": "http://payum.org/" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Payum/Payum/contributors" - } - ], - "description": "ISO 4217 PHP Library", - "homepage": "https://payum.forma-pro.com/", - "keywords": [ - "4217", - "ISO 4217", - "currencies", - "iso", - "library" - ], - "support": { - "issues": "https://github.com/payum/iso4217/issues", - "source": "https://github.com/payum/iso4217" - }, - "time": "2022-02-27T10:14:23+00:00" - }, - { - "name": "php-http/message", - "version": "1.16.1", - "source": { - "type": "git", - "url": "https://github.com/php-http/message.git", - "reference": "5997f3289332c699fa2545c427826272498a2088" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-http/message/zipball/5997f3289332c699fa2545c427826272498a2088", - "reference": "5997f3289332c699fa2545c427826272498a2088", - "shasum": "" - }, - "require": { - "clue/stream-filter": "^1.5", - "php": "^7.2 || ^8.0", - "psr/http-message": "^1.1 || ^2.0" - }, - "provide": { - "php-http/message-factory-implementation": "1.0" - }, - "require-dev": { - "ergebnis/composer-normalize": "^2.6", - "ext-zlib": "*", - "guzzlehttp/psr7": "^1.0 || ^2.0", - "laminas/laminas-diactoros": "^2.0 || ^3.0", - "php-http/message-factory": "^1.0.2", - "phpspec/phpspec": "^5.1 || ^6.3 || ^7.1", - "slim/slim": "^3.0" - }, - "suggest": { - "ext-zlib": "Used with compressor/decompressor streams", - "guzzlehttp/psr7": "Used with Guzzle PSR-7 Factories", - "laminas/laminas-diactoros": "Used with Diactoros Factories", - "slim/slim": "Used with Slim Framework PSR-7 implementation" - }, - "type": "library", - "autoload": { - "files": [ - "src/filters.php" - ], - "psr-4": { - "Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com" - } - ], - "description": "HTTP Message related tools", - "homepage": "http://php-http.org", - "keywords": [ - "http", - "message", - "psr-7" - ], - "support": { - "issues": "https://github.com/php-http/message/issues", - "source": "https://github.com/php-http/message/tree/1.16.1" - }, - "time": "2024-03-07T13:22:09+00:00" - }, - { - "name": "phpstan/phpdoc-parser", - "version": "1.29.1", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/fcaefacf2d5c417e928405b71b400d4ce10daaf4", - "reference": "fcaefacf2d5c417e928405b71b400d4ce10daaf4", - "shasum": "" - }, - "require": { - "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.5", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/phpunit": "^9.5", - "symfony/process": "^5.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "PHPStan\\PhpDocParser\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "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.29.1" - }, - "time": "2024-05-31T08:52:43+00:00" - }, - { - "name": "psr/cache", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/213f9dbc5b9bfbc4f8db86d2838dc968752ce13b", - "reference": "213f9dbc5b9bfbc4f8db86d2838dc968752ce13b", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "support": { - "source": "https://github.com/php-fig/cache/tree/2.0.0" - }, - "time": "2021-02-03T23:23:37+00:00" - }, - { - "name": "psr/clock", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/clock.git", - "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", - "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", - "shasum": "" - }, - "require": { - "php": "^7.0 || ^8.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Psr\\Clock\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for reading the clock.", - "homepage": "https://github.com/php-fig/clock", - "keywords": [ - "clock", - "now", - "psr", - "psr-20", - "time" - ], - "support": { - "issues": "https://github.com/php-fig/clock/issues", - "source": "https://github.com/php-fig/clock/tree/1.0.0" - }, - "time": "2022-11-25T14:36:26+00:00" - }, - { - "name": "psr/container", - "version": "1.1.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/513e0666f7216c7459170d56df27dfcefe1689ea", - "reference": "513e0666f7216c7459170d56df27dfcefe1689ea", - "shasum": "" - }, - "require": { - "php": ">=7.4.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/1.1.2" - }, - "time": "2021-11-05T16:50:12+00:00" - }, - { - "name": "psr/event-dispatcher", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\EventDispatcher\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Standard interfaces for event handling.", - "keywords": [ - "events", - "psr", - "psr-14" - ], - "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" - }, - "time": "2019-01-08T18:20:26+00:00" - }, - { - "name": "psr/http-client", - "version": "1.0.3", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-client.git", - "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", - "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", - "shasum": "" - }, - "require": { - "php": "^7.0 || ^8.0", - "psr/http-message": "^1.0 || ^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP clients", - "homepage": "https://github.com/php-fig/http-client", - "keywords": [ - "http", - "http-client", - "psr", - "psr-18" - ], - "support": { - "source": "https://github.com/php-fig/http-client" - }, - "time": "2023-09-23T14:17:50+00:00" - }, - { - "name": "psr/http-factory", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-factory.git", - "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/2b4765fddfe3b508ac62f829e852b1501d3f6e8a", - "reference": "2b4765fddfe3b508ac62f829e852b1501d3f6e8a", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "psr/http-message": "^1.0 || ^2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "PSR-17: Common interfaces for PSR-7 HTTP message factories", - "keywords": [ - "factory", - "http", - "message", - "psr", - "psr-17", - "psr-7", - "request", - "response" - ], - "support": { - "source": "https://github.com/php-fig/http-factory" - }, - "time": "2024-04-15T12:06:14+00:00" - }, - { - "name": "psr/http-message", - "version": "1.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/cb6ce4845ce34a8ad9e68117c10ee90a29919eba", - "reference": "cb6ce4845ce34a8ad9e68117c10ee90a29919eba", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Message\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "support": { - "source": "https://github.com/php-fig/http-message/tree/1.1" - }, - "time": "2023-04-04T09:50:52+00:00" - }, - { - "name": "psr/log", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/ef29f6d262798707a9edd554e2b82517ef3a9376", - "reference": "ef29f6d262798707a9edd554e2b82517ef3a9376", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/2.0.0" - }, - "time": "2021-07-14T16:41:46+00:00" - }, - { - "name": "ralouphie/getallheaders", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/ralouphie/getallheaders.git", - "reference": "120b605dfeb996808c31b6477290a714d356e822" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5 || ^6.5" - }, - "type": "library", - "autoload": { - "files": [ - "src/getallheaders.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" - } - ], - "description": "A polyfill for getallheaders.", - "support": { - "issues": "https://github.com/ralouphie/getallheaders/issues", - "source": "https://github.com/ralouphie/getallheaders/tree/develop" - }, - "time": "2019-03-08T08:55:37+00:00" - }, - { - "name": "sylius-labs/polyfill-symfony-security", - "version": "v1.1.2", - "source": { - "type": "git", - "url": "https://github.com/SyliusLabs/PolyfillSymfonySecurity.git", - "reference": "eeb3d837448bc6f35268a1e95f6a167830a1f469" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/SyliusLabs/PolyfillSymfonySecurity/zipball/eeb3d837448bc6f35268a1e95f6a167830a1f469", - "reference": "eeb3d837448bc6f35268a1e95f6a167830a1f469", - "shasum": "" - }, - "require": { - "php": "^8.0", - "symfony/dependency-injection": "^5.4 || ^6.0", - "symfony/http-kernel": "^5.4 || ^6.0", - "symfony/security-core": "^5.4 || ^6.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.5", - "vimeo/psalm": "^4.23" - }, - "type": "symfony-bundle", - "autoload": { - "psr-4": { - "SyliusLabs\\Polyfill\\Symfony\\Security\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kamil Kokot", - "email": "kamil@kokot.me", - "homepage": "https://kamilkokot.com" - } - ], - "description": "Symfony Security Polyfill", - "support": { - "issues": "https://github.com/SyliusLabs/PolyfillSymfonySecurity/issues", - "source": "https://github.com/SyliusLabs/PolyfillSymfonySecurity/tree/v1.1.2" - }, - "time": "2022-12-12T13:28:33+00:00" - }, - { - "name": "sylius/addressing", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/Addressing.git", - "reference": "83adf39ac5d4b8e12d0b5a52ece56cfdca7ec729" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/Addressing/zipball/83adf39ac5d4b8e12d0b5a52ece56cfdca7ec729", - "reference": "83adf39ac5d4b8e12d0b5a52ece56cfdca7ec729", - "shasum": "" - }, - "require": { - "php": "^8.1", - "sylius/registry": "^1.5", - "sylius/resource": "^1.9", - "symfony/intl": "^5.4.21 || ^6.4" - }, - "require-dev": { - "phpspec/phpspec": "^7.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\Addressing\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "Addressing and zone management for PHP applications.", - "homepage": "https://sylius.com", - "keywords": [ - "address", - "addressing", - "ecommerce", - "shop", - "zones" - ], - "support": { - "source": "https://github.com/Sylius/Addressing/tree/v1.13.2" - }, - "time": "2024-04-22T06:39:34+00:00" - }, - { - "name": "sylius/attribute", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/Attribute.git", - "reference": "ac51c19a75ab91fb24d5afda55f94bb765fe6107" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/Attribute/zipball/ac51c19a75ab91fb24d5afda55f94bb765fe6107", - "reference": "ac51c19a75ab91fb24d5afda55f94bb765fe6107", - "shasum": "" - }, - "require": { - "doctrine/collections": "^1.6", - "php": "^8.1", - "sylius/registry": "^1.5", - "sylius/resource": "^1.9", - "symfony/validator": "^5.4.21 || ^6.4" - }, - "require-dev": { - "phpspec/phpspec": "^7.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\Attribute\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "Component for handling object attributes in PHP projects.", - "homepage": "https://sylius.com", - "keywords": [ - "attribute", - "ecommerce", - "feature", - "shop" - ], - "support": { - "source": "https://github.com/Sylius/Attribute/tree/v1.13.2" - }, - "time": "2024-04-22T06:39:34+00:00" - }, - { - "name": "sylius/calendar", - "version": "v0.5.0", - "source": { - "type": "git", - "url": "https://github.com/Sylius/Calendar.git", - "reference": "0aa16ea207a5d21cf0c751be0b5434d2aabd8f93" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/Calendar/zipball/0aa16ea207a5d21cf0c751be0b5434d2aabd8f93", - "reference": "0aa16ea207a5d21cf0c751be0b5434d2aabd8f93", - "shasum": "" - }, - "require": { - "php": "^8.0", - "symfony/framework-bundle": "^5.4 || ^6.0" - }, - "require-dev": { - "behat/behat": "^3.10", - "friends-of-behat/symfony-extension": "^2.0", - "matthiasnoback/symfony-dependency-injection-test": "^4.3", - "phpspec/phpspec": "^7.2", - "phpunit/phpunit": "^9.5.24", - "symfony/flex": "^2.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.0-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Calendar\\": "src/", - "Sylius\\Calendar\\Tests\\Behat\\": "tests/Behat/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Adam Kasperczak", - "email": "adam.kasperczak@sylius.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Calendar/contributors" - } - ], - "description": "Date handling for PHP applications.", - "homepage": "https://sylius.com", - "keywords": [ - "calendar", - "client", - "date", - "time" - ], - "support": { - "issues": "https://github.com/Sylius/Calendar/issues", - "source": "https://github.com/Sylius/Calendar/tree/v0.5.0" - }, - "time": "2023-03-31T09:47:16+00:00" - }, - { - "name": "sylius/channel", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/Channel.git", - "reference": "1ef84aa1ce68a73fd8e13dcebd0aa38566342498" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/Channel/zipball/1ef84aa1ce68a73fd8e13dcebd0aa38566342498", - "reference": "1ef84aa1ce68a73fd8e13dcebd0aa38566342498", - "shasum": "" - }, - "require": { - "laminas/laminas-stdlib": "^3.3.1", - "php": "^8.1", - "sylius/resource": "^1.9", - "symfony/form": "^5.4.21 || ^6.4", - "symfony/http-foundation": "^5.4.21 || ^6.4" - }, - "require-dev": { - "phpspec/phpspec": "^7.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\Channel\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "E-Commerce PHP component for managing different sales channels.", - "homepage": "https://sylius.com", - "keywords": [ - "channel", - "ecommerce", - "multichannel", - "multistore", - "stores", - "sylius" - ], - "support": { - "source": "https://github.com/Sylius/Channel/tree/v1.13.2" - }, - "time": "2024-04-22T06:39:34+00:00" - }, - { - "name": "sylius/core", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/Core.git", - "reference": "017e4e0a145471cb350d044c790dca3a3edb2260" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/Core/zipball/017e4e0a145471cb350d044c790dca3a3edb2260", - "reference": "017e4e0a145471cb350d044c790dca3a3edb2260", - "shasum": "" - }, - "require": { - "enshrined/svg-sanitize": "^0.16", - "guzzlehttp/guzzle": "^6.5 || ^7.0", - "knplabs/gaufrette": "^0.10 || ^0.11", - "laminas/laminas-stdlib": "^3.3.1", - "league/flysystem": "^2.4", - "payum/core": "^1.7.3", - "php": "^8.1", - "psr/http-client": "^1.0", - "psr/http-message": "^1.0", - "sylius/addressing": "^1.13", - "sylius/attribute": "^1.13", - "sylius/channel": "^1.13", - "sylius/currency": "^1.13", - "sylius/customer": "^1.13", - "sylius/inventory": "^1.13", - "sylius/locale": "^1.13", - "sylius/order": "^1.13", - "sylius/payment": "^1.13", - "sylius/product": "^1.13", - "sylius/promotion": "^1.13", - "sylius/registry": "^1.5", - "sylius/resource": "^1.9", - "sylius/review": "^1.13", - "sylius/shipping": "^1.13", - "sylius/state-machine-abstraction": "^1.13", - "sylius/taxation": "^1.13", - "sylius/taxonomy": "^1.13", - "sylius/user": "^1.13", - "symfony/http-client": "^5.4.21 || ^6.4", - "symfony/http-foundation": "^5.4.21 || ^6.4", - "symfony/mime": "^5.4.21 || ^6.4", - "symfony/service-contracts": "^2.5 || ^3.0", - "symfony/string": "^5.4.21 || ^6.4", - "webmozart/assert": "^1.9" - }, - "require-dev": { - "phpspec/phpspec": "^7.2", - "phpunit/phpunit": "^9.5", - "symfony/property-access": "^5.4.21 || ^6.4" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\Core\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "Sylius e-commerce core. It integrates all components.", - "homepage": "https://sylius.com", - "keywords": [ - "core", - "ecommerce", - "shop", - "store", - "sylius" - ], - "support": { - "source": "https://github.com/Sylius/Core/tree/v1.13.2" - }, - "time": "2024-06-05T07:39:31+00:00" - }, - { - "name": "sylius/currency", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/Currency.git", - "reference": "4e578d7256ce22fc8fccc47971c0f3c89bf8235d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/Currency/zipball/4e578d7256ce22fc8fccc47971c0f3c89bf8235d", - "reference": "4e578d7256ce22fc8fccc47971c0f3c89bf8235d", - "shasum": "" - }, - "require": { - "laminas/laminas-stdlib": "^3.3.1", - "php": "^8.1", - "sylius/resource": "^1.9", - "symfony/intl": "^5.4.21 || ^6.4" - }, - "require-dev": { - "phpspec/phpspec": "^7.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\Currency\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "Currency handling for PHP applications.", - "homepage": "https://sylius.com", - "keywords": [ - "cash", - "currencies", - "currency", - "money" - ], - "support": { - "source": "https://github.com/Sylius/Currency/tree/v1.13.2" - }, - "time": "2024-04-22T06:39:34+00:00" - }, - { - "name": "sylius/customer", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/Customer.git", - "reference": "1140efdda0b727d3345ff150c6ccf840fbb78f7d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/Customer/zipball/1140efdda0b727d3345ff150c6ccf840fbb78f7d", - "reference": "1140efdda0b727d3345ff150c6ccf840fbb78f7d", - "shasum": "" - }, - "require": { - "doctrine/collections": "^1.6", - "php": "^8.1", - "sylius/resource": "^1.9" - }, - "require-dev": { - "phpspec/phpspec": "^7.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\Customer\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Michał Marcinkowski", - "email": "michal.marcinkowski@lakion.com" - }, - { - "name": "Łukasz Chruściel", - "email": "lukasz.chrusciel@lakion.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "Customer handling for PHP applications.", - "homepage": "https://sylius.com", - "keywords": [ - "customer", - "groups" - ], - "support": { - "source": "https://github.com/Sylius/Customer/tree/v1.13.2" - }, - "time": "2024-04-22T06:39:34+00:00" - }, - { - "name": "sylius/inventory", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/Inventory.git", - "reference": "7a0d1f140b6cc3b377df75ea3c93d135114b5aea" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/Inventory/zipball/7a0d1f140b6cc3b377df75ea3c93d135114b5aea", - "reference": "7a0d1f140b6cc3b377df75ea3c93d135114b5aea", - "shasum": "" - }, - "require": { - "php": "^8.1", - "sylius/resource": "^1.9", - "webmozart/assert": "^1.9" - }, - "require-dev": { - "phpspec/phpspec": "^7.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\Inventory\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "Flexible inventory management for PHP applications.", - "homepage": "https://sylius.com", - "keywords": [ - "ecommerce", - "inventory", - "shop", - "stock", - "sylius" - ], - "support": { - "source": "https://github.com/Sylius/Inventory/tree/v1.13.2" - }, - "time": "2024-04-22T06:39:34+00:00" - }, - { - "name": "sylius/locale", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/Locale.git", - "reference": "4f36d9e368904e44a404ee3ae3b4c6167d10b1a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/Locale/zipball/4f36d9e368904e44a404ee3ae3b4c6167d10b1a1", - "reference": "4f36d9e368904e44a404ee3ae3b4c6167d10b1a1", - "shasum": "" - }, - "require": { - "laminas/laminas-stdlib": "^3.3.1", - "php": "^8.1", - "sylius/resource": "^1.9", - "symfony/intl": "^5.4.21 || ^6.4" - }, - "require-dev": { - "phpspec/phpspec": "^7.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\Locale\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "Locale handling for PHP applications.", - "homepage": "https://sylius.com", - "keywords": [ - "i18n", - "internationalization", - "language", - "locale", - "localization" - ], - "support": { - "source": "https://github.com/Sylius/Locale/tree/v1.13.2" - }, - "time": "2024-04-22T06:39:34+00:00" - }, - { - "name": "sylius/money-bundle", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/SyliusMoneyBundle.git", - "reference": "76de951602aedc12c36ba8ac5e6be80988ca8a04" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/SyliusMoneyBundle/zipball/76de951602aedc12c36ba8ac5e6be80988ca8a04", - "reference": "76de951602aedc12c36ba8ac5e6be80988ca8a04", - "shasum": "" - }, - "require": { - "php": "^8.1", - "sylius/resource-bundle": "^1.9", - "symfony/framework-bundle": "^5.4.21 || ^6.4", - "symfony/intl": "^5.4.21 || ^6.4", - "symfony/templating": "^5.4.21 || ^6.4", - "webmozart/assert": "^1.9" - }, - "conflict": { - "doctrine/orm": ">= 2.16.0", - "twig/twig": "^1.0 || 3.9.0" - }, - "require-dev": { - "doctrine/orm": "^2.13", - "phpspec/phpspec": "^7.2", - "phpunit/phpunit": "^9.5", - "polishsymfonycommunity/symfony-mocker-container": "^1.0", - "sylius/currency-bundle": "^1.13", - "symfony/browser-kit": "^5.4.21 || ^6.4", - "symfony/dependency-injection": "^5.4.21 || ^6.4", - "symfony/form": "^5.4.21 || ^6.4", - "twig/twig": "^2.12 || ^3.3" - }, - "type": "symfony-bundle", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Bundle\\MoneyBundle\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "Currencies and money formatting engine bundle for Symfony.", - "homepage": "https://sylius.com", - "keywords": [ - "cash", - "currencies", - "currency", - "money" - ], - "support": { - "source": "https://github.com/Sylius/SyliusMoneyBundle/tree/v1.13.2" - }, - "time": "2024-04-22T06:39:34+00:00" - }, - { - "name": "sylius/order", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/Order.git", - "reference": "db247991887fe952c6ff58fda7b208cc00debf7e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/Order/zipball/db247991887fe952c6ff58fda7b208cc00debf7e", - "reference": "db247991887fe952c6ff58fda7b208cc00debf7e", - "shasum": "" - }, - "require": { - "laminas/laminas-stdlib": "^3.3.1", - "php": "^8.1", - "sylius/resource": "^1.9", - "webmozart/assert": "^1.9" - }, - "require-dev": { - "phpspec/phpspec": "^7.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\Order\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "Orders management library for PHP.", - "homepage": "https://sylius.com", - "keywords": [ - "ecommerce", - "order", - "sales", - "shop", - "webshop" - ], - "support": { - "source": "https://github.com/Sylius/Order/tree/v1.13.2" - }, - "time": "2024-04-22T06:39:34+00:00" - }, - { - "name": "sylius/payment", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/Payment.git", - "reference": "b209ca85723f39fcbe4500c27e69d774292122f9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/Payment/zipball/b209ca85723f39fcbe4500c27e69d774292122f9", - "reference": "b209ca85723f39fcbe4500c27e69d774292122f9", - "shasum": "" - }, - "require": { - "php": "^8.1", - "sylius/registry": "^1.5", - "sylius/resource": "^1.9" - }, - "require-dev": { - "phpspec/phpspec": "^7.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\Payment\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "Flexible payments system for PHP e-commerce applications.", - "homepage": "https://sylius.com", - "keywords": [ - "ecommerce", - "payment", - "payments", - "shop", - "webshop" - ], - "support": { - "source": "https://github.com/Sylius/Payment/tree/v1.13.2" - }, - "time": "2024-04-22T06:39:34+00:00" - }, - { - "name": "sylius/product", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/Product.git", - "reference": "c955925fb9da5a147e1a2c3461edc0a6d2b892af" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/Product/zipball/c955925fb9da5a147e1a2c3461edc0a6d2b892af", - "reference": "c955925fb9da5a147e1a2c3461edc0a6d2b892af", - "shasum": "" - }, - "require": { - "behat/transliterator": "^1.3", - "php": "^8.1", - "sylius/attribute": "^1.13", - "sylius/resource": "^1.9", - "symfony/polyfill-iconv": "^1.17", - "webmozart/assert": "^1.9" - }, - "require-dev": { - "phpspec/phpspec": "^7.2" - }, - "suggest": { - "ext-iconv": "For better performance than using Symfony Polyfill Component" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\Product\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "Product catalog system with support for product options and variants.", - "homepage": "https://sylius.com", - "keywords": [ - "assortment", - "ecommerce", - "options", - "product", - "products", - "shop", - "variants" - ], - "support": { - "source": "https://github.com/Sylius/Product/tree/v1.13.2" - }, - "time": "2024-04-22T06:39:34+00:00" - }, - { - "name": "sylius/promotion", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/Promotion.git", - "reference": "a02c1346dba9fb1cea7c503c11434c55d4989857" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/Promotion/zipball/a02c1346dba9fb1cea7c503c11434c55d4989857", - "reference": "a02c1346dba9fb1cea7c503c11434c55d4989857", - "shasum": "" - }, - "require": { - "doctrine/orm": "^2.13", - "php": "^8.1", - "sylius/registry": "^1.5", - "sylius/resource": "^1.9" - }, - "conflict": { - "doctrine/orm": "2.15.2" - }, - "require-dev": { - "phpspec/phpspec": "^7.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\Promotion\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "Flexible promotion management for PHP applications.", - "homepage": "https://sylius.com", - "keywords": [ - "ecommerce", - "promotion", - "shop", - "sylius" - ], - "support": { - "source": "https://github.com/Sylius/Promotion/tree/v1.13.2" - }, - "time": "2024-04-22T06:39:34+00:00" - }, - { - "name": "sylius/registry", - "version": "v1.6.0", - "source": { - "type": "git", - "url": "https://github.com/Sylius/Registry.git", - "reference": "e4f44f418f48d43e1b969e878fd962e7034aa3ad" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/Registry/zipball/e4f44f418f48d43e1b969e878fd962e7034aa3ad", - "reference": "e4f44f418f48d43e1b969e878fd962e7034aa3ad", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "phpspec/phpspec": "^7.0", - "sylius-labs/coding-standard": "^3.2.2", - "vimeo/psalm": "4.4.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\Registry\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "http://pjedrzejewski.com" - }, - { - "name": "Sylius project", - "homepage": "http://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "http://github.com/Sylius/Sylius/contributors" - } - ], - "description": "Services registry.", - "homepage": "http://sylius.com", - "keywords": [ - "registry", - "services" - ], - "support": { - "issues": "https://github.com/Sylius/Registry/issues", - "source": "https://github.com/Sylius/Registry/tree/v1.6.0" - }, - "time": "2021-02-01T15:36:19+00:00" - }, - { - "name": "sylius/resource-bundle", - "version": "v1.10.3", - "source": { - "type": "git", - "url": "https://github.com/Sylius/SyliusResourceBundle.git", - "reference": "3437c1b3c1e04a4889332bf97de210b6478377ce" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/SyliusResourceBundle/zipball/3437c1b3c1e04a4889332bf97de210b6478377ce", - "reference": "3437c1b3c1e04a4889332bf97de210b6478377ce", - "shasum": "" - }, - "require": { - "babdev/pagerfanta-bundle": "^3.0", - "doctrine/collections": "^1.6", - "doctrine/doctrine-bundle": "^2.0", - "doctrine/event-manager": "^1.1", - "doctrine/inflector": "^1.4 || ^2.0", - "doctrine/persistence": "^2.0 || ^3.0", - "friendsofsymfony/rest-bundle": "^3.0", - "gedmo/doctrine-extensions": "^2.4.12 || ^3.0", - "jms/serializer-bundle": "^3.5 || ^4.0", - "php": "^8.0", - "sylius/registry": "^1.2", - "symfony/config": "^5.4 || ^6.0", - "symfony/deprecation-contracts": "^2.1 || ^3.0", - "symfony/expression-language": "^5.4 || ^6.0", - "symfony/form": "^5.4 || ^6.0", - "symfony/framework-bundle": "^5.4 || ^6.0", - "symfony/http-foundation": "^5.4 || ^6.0", - "symfony/routing": "^5.4 || ^6.0", - "symfony/security-csrf": "^5.4 || ^6.0", - "symfony/translation": "^5.4 || ^6.0", - "symfony/twig-bundle": "^5.4 || ^6.0", - "symfony/validator": "^5.4 || ^6.0", - "symfony/yaml": "^5.4 || ^6.0", - "webmozart/assert": "^1.8", - "willdurand/hateoas-bundle": "^2.0", - "winzou/state-machine-bundle": "^0.6" - }, - "replace": { - "sylius/resource": "self.version" - }, - "require-dev": { - "doctrine/orm": "^2.5", - "lchrusciel/api-test-case": "^5.0", - "matthiasnoback/symfony-dependency-injection-test": "^4.2.1", - "pagerfanta/pagerfanta": "^3.0", - "pamil/phpspec-skip-example-extension": "^4.2", - "phpspec/phpspec": "^7.2", - "phpspec/prophecy-phpunit": "^2.0", - "phpstan/phpstan": "^1.7", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/phpstan-webmozart-assert": "^1.2", - "phpunit/phpunit": "^9.5", - "rector/rector": "^0.13.5", - "sylius-labs/coding-standard": "^4.0", - "sylius/grid-bundle": "^1.7 || v1.12.0-ALPHA.1", - "symfony/dependency-injection": "^5.4 || ^6.0", - "symfony/dotenv": "^5.4 || ^6.0", - "symfony/stopwatch": "^5.4 || ^6.0", - "symfony/workflow": "^5.4 || ^6.0", - "twig/twig": "^2.12 || ^3.0", - "vimeo/psalm": "^4.22" - }, - "suggest": { - "doctrine/orm": "^2.5", - "sylius/locale": "^1.0" - }, - "type": "symfony-bundle", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\Resource\\": "src/Component/", - "Sylius\\Bundle\\ResourceBundle\\": "src/Bundle/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "Resource component for Sylius.", - "homepage": "https://sylius.com", - "keywords": [ - "persistence", - "resource", - "storage", - "sylius" - ], - "support": { - "issues": "https://github.com/Sylius/SyliusResourceBundle/issues", - "source": "https://github.com/Sylius/SyliusResourceBundle/tree/v1.10.3" - }, - "time": "2023-12-01T14:25:03+00:00" - }, - { - "name": "sylius/review", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/Review.git", - "reference": "9bb39cce10190ed0bbd913a8a25a7ac7ccf2b8b3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/Review/zipball/9bb39cce10190ed0bbd913a8a25a7ac7ccf2b8b3", - "reference": "9bb39cce10190ed0bbd913a8a25a7ac7ccf2b8b3", - "shasum": "" - }, - "require": { - "doctrine/collections": "^1.6", - "php": "^8.1", - "sylius/resource": "^1.9" - }, - "require-dev": { - "phpspec/phpspec": "^7.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\Review\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Mateusz Zalewski", - "email": "mateusz.zalewski@lakion.com" - }, - { - "name": "Grzegorz Sadowski", - "email": "grzegorz.sadowski@lakion.com" - }, - { - "name": "Daniel Richter", - "email": "nexyz9@gmail.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "Review system, for commenting and rating shop components.", - "homepage": "https://sylius.com", - "keywords": [ - "Rating", - "ecommerce", - "review", - "shop" - ], - "support": { - "source": "https://github.com/Sylius/Review/tree/v1.13.2" - }, - "time": "2024-04-22T06:39:34+00:00" - }, - { - "name": "sylius/shipping", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/Shipping.git", - "reference": "9591027c65153cca36465d6ad59773ed90980acd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/Shipping/zipball/9591027c65153cca36465d6ad59773ed90980acd", - "reference": "9591027c65153cca36465d6ad59773ed90980acd", - "shasum": "" - }, - "require": { - "php": "^8.1", - "sylius/registry": "^1.5", - "sylius/resource": "^1.9", - "symfony/options-resolver": "^5.4.21 || ^6.4" - }, - "require-dev": { - "phpspec/phpspec": "^7.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\Shipping\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "Flexible shipping component for PHP e-commerce projects.", - "homepage": "https://sylius.com", - "keywords": [ - "delivery", - "ecommerce", - "shipments", - "shipping", - "shop", - "sylius", - "webshop" - ], - "support": { - "source": "https://github.com/Sylius/Shipping/tree/v1.13.2" - }, - "time": "2024-04-22T06:39:34+00:00" - }, - { - "name": "sylius/state-machine-abstraction", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/StateMachineAbstraction.git", - "reference": "aef793bee891b00d1c08e2aba8d146e13c048aa6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/StateMachineAbstraction/zipball/aef793bee891b00d1c08e2aba8d146e13c048aa6", - "reference": "aef793bee891b00d1c08e2aba8d146e13c048aa6", - "shasum": "" - }, - "require": { - "php": "^8.1", - "symfony/dependency-injection": "^5.4.21 || ^6.4", - "symfony/http-kernel": "^5.4.21 || ^6.4", - "symfony/workflow": "^5.4.21 || ^6.4", - "winzou/state-machine": "^0.4", - "winzou/state-machine-bundle": "^0.6" - }, - "require-dev": { - "matthiasnoback/symfony-config-test": "^4.2", - "phpunit/phpunit": "^9.5", - "webmozart/assert": "^1.9" - }, - "suggest": { - "twig/twig": "Access the state machine in your twig templates (^2.12|^3.3)" - }, - "type": "symfony-bundle", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - }, - "symfony": { - "require": "^5.4.21" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Abstraction\\StateMachine\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jacob Tobiasz", - "email": "jakub.tobiasz@icloud.com" - } - ], - "description": "Abstraction layer for State Machine used in Sylius bundles", - "support": { - "issues": "https://github.com/Sylius/StateMachineAbstraction/issues", - "source": "https://github.com/Sylius/StateMachineAbstraction/tree/v1.13.2" - }, - "time": "2024-05-13T06:19:43+00:00" - }, - { - "name": "sylius/taxation", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/Taxation.git", - "reference": "b2aaebd30078c05d36da7a64c208ed37d59a6427" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/Taxation/zipball/b2aaebd30078c05d36da7a64c208ed37d59a6427", - "reference": "b2aaebd30078c05d36da7a64c208ed37d59a6427", - "shasum": "" - }, - "require": { - "php": "^8.1", - "sylius/calendar": "^0.3 || ^0.4 || ^0.5", - "sylius/registry": "^1.5", - "sylius/resource": "^1.9" - }, - "require-dev": { - "phpspec/phpspec": "^7.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\Taxation\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "Flexible taxation system for PHP ecommerce applications.", - "homepage": "https://sylius.com", - "keywords": [ - "ecommerce", - "shop", - "sylius", - "tax", - "taxation", - "taxes", - "vat" - ], - "support": { - "source": "https://github.com/Sylius/Taxation/tree/v1.13.2" - }, - "time": "2024-04-22T06:39:34+00:00" - }, - { - "name": "sylius/taxonomy", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/Taxonomy.git", - "reference": "201b51eaa3d6b74b3e13fa306714eaf9e56f94f1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/Taxonomy/zipball/201b51eaa3d6b74b3e13fa306714eaf9e56f94f1", - "reference": "201b51eaa3d6b74b3e13fa306714eaf9e56f94f1", - "shasum": "" - }, - "require": { - "behat/transliterator": "^1.3", - "php": "^8.1", - "sylius/resource": "^1.9", - "webmozart/assert": "^1.9" - }, - "require-dev": { - "phpspec/phpspec": "^7.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\Taxonomy\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "Taxonomies - categorization of domain models in PHP projects.", - "homepage": "https://sylius.com", - "keywords": [ - "categorization", - "classification", - "ecommerce", - "taxon", - "taxonomy" - ], - "support": { - "source": "https://github.com/Sylius/Taxonomy/tree/v1.13.2" - }, - "time": "2024-04-22T06:39:34+00:00" - }, - { - "name": "sylius/user", - "version": "v1.13.2", - "source": { - "type": "git", - "url": "https://github.com/Sylius/User.git", - "reference": "24fbdecde8696a80979ccb2b22f2812b48a4c8ca" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Sylius/User/zipball/24fbdecde8696a80979ccb2b22f2812b48a4c8ca", - "reference": "24fbdecde8696a80979ccb2b22f2812b48a4c8ca", - "shasum": "" - }, - "require": { - "doctrine/collections": "^1.6", - "php": "^8.1", - "sylius-labs/polyfill-symfony-security": "^1.1", - "sylius/resource": "^1.9", - "symfony/polyfill-mbstring": "^1.17", - "symfony/security-core": "^5.4.21 || ^6.4" - }, - "require-dev": { - "phpspec/phpspec": "^7.2" - }, - "suggest": { - "ext-mbstring": "For better performance than using Symfony Polyfill Component" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.13-dev" - } - }, - "autoload": { - "psr-4": { - "Sylius\\Component\\User\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Paweł Jędrzejewski", - "homepage": "https://pjedrzejewski.com" - }, - { - "name": "Michał Marcinkowski", - "email": "michal.marcinkowski@lakion.com" - }, - { - "name": "Łukasz Chruściel", - "email": "lukasz.chrusciel@lakion.com" - }, - { - "name": "Sylius project", - "homepage": "https://sylius.com" - }, - { - "name": "Community contributions", - "homepage": "https://github.com/Sylius/Sylius/contributors" - } - ], - "description": "User handling for PHP applications.", - "homepage": "https://sylius.com", - "keywords": [ - "groups", - "login", - "registration", - "user" - ], - "support": { - "source": "https://github.com/Sylius/User/tree/v1.13.2" - }, - "time": "2024-04-22T06:39:34+00:00" - }, - { - "name": "symfony/cache", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/cache.git", - "reference": "89005bc368ca02ed0433c592e4d27670d0844a66" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/cache/zipball/89005bc368ca02ed0433c592e4d27670d0844a66", - "reference": "89005bc368ca02ed0433c592e4d27670d0844a66", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/cache": "^1.0|^2.0", - "psr/log": "^1.1|^2|^3", - "symfony/cache-contracts": "^1.1.7|^2", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/var-exporter": "^4.4|^5.0|^6.0" - }, - "conflict": { - "doctrine/dbal": "<2.13.1", - "symfony/dependency-injection": "<4.4", - "symfony/http-kernel": "<4.4", - "symfony/var-dumper": "<4.4" - }, - "provide": { - "psr/cache-implementation": "1.0|2.0", - "psr/simple-cache-implementation": "1.0|2.0", - "symfony/cache-implementation": "1.0|2.0" - }, - "require-dev": { - "cache/integration-tests": "dev-master", - "doctrine/cache": "^1.6|^2.0", - "doctrine/dbal": "^2.13.1|^3|^4", - "predis/predis": "^1.1|^2.0", - "psr/simple-cache": "^1.0|^2.0", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/filesystem": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/messenger": "^4.4|^5.0|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Cache\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "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/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/cache-contracts", - "version": "v2.5.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/cache-contracts.git", - "reference": "fee6db04d913094e2fb55ff8e7db5685a8134463" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/cache-contracts/zipball/fee6db04d913094e2fb55ff8e7db5685a8134463", - "reference": "fee6db04d913094e2fb55ff8e7db5685a8134463", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/cache": "^1.0|^2.0|^3.0" - }, - "suggest": { - "symfony/cache-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Cache\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to caching", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/cache-contracts/tree/v2.5.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-23T13:51:25+00:00" - }, - { - "name": "symfony/config", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/config.git", - "reference": "d4e1db78421163b98dd9971d247fd0df4a57ee5e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/config/zipball/d4e1db78421163b98dd9971d247fd0df4a57ee5e", - "reference": "d4e1db78421163b98dd9971d247fd0df4a57ee5e", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/filesystem": "^4.4|^5.0|^6.0", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-php80": "^1.16", - "symfony/polyfill-php81": "^1.22" - }, - "conflict": { - "symfony/finder": "<4.4" - }, - "require-dev": { - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/messenger": "^4.4|^5.0|^6.0", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/yaml": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/yaml": "To use the yaml reference dumper" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Config\\": "" - }, - "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": "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/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/console", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "aa73115c0c24220b523625bfcfa655d7d73662dd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/aa73115c0c24220b523625bfcfa655d7d73662dd", - "reference": "aa73115c0c24220b523625bfcfa655d7d73662dd", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/string": "^5.1|^6.0" - }, - "conflict": { - "psr/log": ">=3", - "symfony/dependency-injection": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/event-dispatcher": "<4.4", - "symfony/lock": "<4.4", - "symfony/process": "<4.4" - }, - "provide": { - "psr/log-implementation": "1.0|2.0" - }, - "require-dev": { - "psr/log": "^1|^2", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/lock": "^4.4|^5.0|^6.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Console\\": "" - }, - "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": "Eases the creation of beautiful and testable command line interfaces", - "homepage": "https://symfony.com", - "keywords": [ - "cli", - "command-line", - "console", - "terminal" - ], - "support": { - "source": "https://github.com/symfony/console/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/dependency-injection", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/dependency-injection.git", - "reference": "408b33326496030c201b8051b003e9e8cdb2efc9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/dependency-injection/zipball/408b33326496030c201b8051b003e9e8cdb2efc9", - "reference": "408b33326496030c201b8051b003e9e8cdb2efc9", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/container": "^1.1.1", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16", - "symfony/polyfill-php81": "^1.22", - "symfony/service-contracts": "^1.1.6|^2" - }, - "conflict": { - "ext-psr": "<1.1|>=2", - "symfony/config": "<5.3", - "symfony/finder": "<4.4", - "symfony/proxy-manager-bridge": "<4.4", - "symfony/yaml": "<4.4.26" - }, - "provide": { - "psr/container-implementation": "1.0", - "symfony/service-implementation": "1.0|2.0" - }, - "require-dev": { - "symfony/config": "^5.3|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/yaml": "^4.4.26|^5.0|^6.0" - }, - "suggest": { - "symfony/config": "", - "symfony/expression-language": "For using expressions in service container configuration", - "symfony/finder": "For using double-star glob patterns or when GLOB_BRACE portability is required", - "symfony/proxy-manager-bridge": "Generate service proxies to lazy load them", - "symfony/yaml": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\DependencyInjection\\": "" - }, - "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": "Allows you to standardize and centralize the way objects are constructed in your application", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/dependency-injection/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v3.5.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "reference": "0e0d29ce1f20deffb4ab1b016a7257c4f1e789a1", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "files": [ - "function.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "A generic function and convention to trigger deprecation notices", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/deprecation-contracts/tree/v3.5.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-04-18T09:32:20+00:00" - }, - { - "name": "symfony/doctrine-bridge", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/doctrine-bridge.git", - "reference": "d8ab3a46043e2ef314a8b93250d26b07c55d9564" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/doctrine-bridge/zipball/d8ab3a46043e2ef314a8b93250d26b07c55d9564", - "reference": "d8ab3a46043e2ef314a8b93250d26b07c55d9564", - "shasum": "" - }, - "require": { - "doctrine/event-manager": "~1.0", - "doctrine/persistence": "^2|^3", - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1|^2|^3" - }, - "conflict": { - "doctrine/dbal": "<2.13.1", - "doctrine/lexer": "<1.1", - "doctrine/orm": "<2.7.4", - "symfony/cache": "<5.4", - "symfony/dependency-injection": "<4.4", - "symfony/form": "<5.4.38|>=6,<6.4.6", - "symfony/http-kernel": "<5", - "symfony/messenger": "<4.4", - "symfony/property-info": "<5", - "symfony/proxy-manager-bridge": "<4.4.19", - "symfony/security-bundle": "<5", - "symfony/security-core": "<5.3", - "symfony/validator": "<5.4.25|>=6,<6.2.12|>=6.3,<6.3.1" - }, - "require-dev": { - "doctrine/annotations": "^1.10.4|^2", - "doctrine/collections": "^1.0|^2.0", - "doctrine/data-fixtures": "^1.1", - "doctrine/dbal": "^2.13.1|^3|^4", - "doctrine/orm": "^2.7.4|^3", - "psr/log": "^1|^2|^3", - "symfony/cache": "^5.4|^6.0", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/doctrine-messenger": "^5.1|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/form": "^5.4.38|^6.4.6", - "symfony/http-kernel": "^5.0|^6.0", - "symfony/messenger": "^4.4|^5.0|^6.0", - "symfony/property-access": "^4.4|^5.0|^6.0", - "symfony/property-info": "^5.0|^6.0", - "symfony/proxy-manager-bridge": "^4.4|^5.0|^6.0", - "symfony/security-core": "^5.3|^6.0", - "symfony/stopwatch": "^4.4|^5.0|^6.0", - "symfony/translation": "^4.4|^5.0|^6.0", - "symfony/uid": "^5.1|^6.0", - "symfony/validator": "^5.4.25|~6.2.12|^6.3.1", - "symfony/var-dumper": "^4.4|^5.0|^6.0" - }, - "suggest": { - "doctrine/data-fixtures": "", - "doctrine/dbal": "", - "doctrine/orm": "", - "symfony/form": "", - "symfony/property-info": "", - "symfony/validator": "" - }, - "type": "symfony-bridge", - "autoload": { - "psr-4": { - "Symfony\\Bridge\\Doctrine\\": "" - }, - "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 integration for Doctrine with various Symfony components", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/doctrine-bridge/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/error-handler", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/error-handler.git", - "reference": "c6c8f965a87b22d5005a7806783c7f10ae7e58cd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/c6c8f965a87b22d5005a7806783c7f10ae7e58cd", - "reference": "c6c8f965a87b22d5005a7806783c7f10ae7e58cd", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^4.4|^5.0|^6.0" - }, - "require-dev": { - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/serializer": "^4.4|^5.0|^6.0" - }, - "bin": [ - "Resources/bin/patch-type-declarations" - ], - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\ErrorHandler\\": "" - }, - "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 tools to manage errors and ease debugging PHP code", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/error-handler/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/a54e2a8a114065f31020d6a89ede83e34c3b27a4", - "reference": "a54e2a8a114065f31020d6a89ede83e34c3b27a4", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/event-dispatcher-contracts": "^2|^3", - "symfony/polyfill-php80": "^1.16" - }, - "conflict": { - "symfony/dependency-injection": "<4.4" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0" - }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/stopwatch": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "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 tools that allow your application components to communicate with each other by dispatching events and listening to them", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/event-dispatcher-contracts", - "version": "v3.5.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/8f93aec25d41b72493c6ddff14e916177c9efc50", - "reference": "8f93aec25d41b72493c6ddff14e916177c9efc50", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/event-dispatcher": "^1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\EventDispatcher\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to dispatching event", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.5.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-04-18T09:32:20+00:00" - }, - { - "name": "symfony/expression-language", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/expression-language.git", - "reference": "77670d1e74086dc8d941a18f97097bbf988f2840" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/expression-language/zipball/77670d1e74086dc8d941a18f97097bbf988f2840", - "reference": "77670d1e74086dc8d941a18f97097bbf988f2840", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/cache": "^4.4|^5.0|^6.0", - "symfony/service-contracts": "^1.1|^2|^3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\ExpressionLanguage\\": "" - }, - "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 an engine that can compile and evaluate expressions", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/expression-language/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "26dd9912df6940810ea00f8f53ad48d6a3424995" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/26dd9912df6940810ea00f8f53ad48d6a3424995", - "reference": "26dd9912df6940810ea00f8f53ad48d6a3424995", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8", - "symfony/polyfill-php80": "^1.16" - }, - "require-dev": { - "symfony/process": "^5.4|^6.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "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 basic utilities for the filesystem", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/filesystem/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/finder", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "f51cff4687547641c7d8180d74932ab40b2205ce" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/f51cff4687547641c7d8180d74932ab40b2205ce", - "reference": "f51cff4687547641c7d8180d74932ab40b2205ce", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Finder\\": "" - }, - "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": "Finds files and directories via an intuitive fluent interface", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/finder/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/form", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/form.git", - "reference": "ff45013def0a3a692e84010095e8ee5fe9a9fa43" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/form/zipball/ff45013def0a3a692e84010095e8ee5fe9a9fa43", - "reference": "ff45013def0a3a692e84010095e8ee5fe9a9fa43", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/options-resolver": "^5.1|^6.0", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-icu": "^1.21", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/polyfill-php81": "^1.23", - "symfony/property-access": "^5.0.8|^6.0", - "symfony/service-contracts": "^1.1|^2|^3" - }, - "conflict": { - "symfony/console": "<4.4", - "symfony/dependency-injection": "<4.4", - "symfony/doctrine-bridge": "<5.4.21|>=6,<6.2.7", - "symfony/error-handler": "<4.4.5", - "symfony/framework-bundle": "<4.4", - "symfony/http-kernel": "<4.4", - "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3", - "symfony/translation-contracts": "<1.1.7", - "symfony/twig-bridge": "<5.4.21|>=6,<6.2.7" - }, - "require-dev": { - "doctrine/collections": "^1.0|^2.0", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/console": "^5.4|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/intl": "^4.4|^5.0|^6.0", - "symfony/security-csrf": "^4.4|^5.0|^6.0", - "symfony/translation": "^5.4.35|~6.3.12|^6.4.3", - "symfony/uid": "^5.1|^6.0", - "symfony/validator": "^4.4.17|^5.1.9|^6.0", - "symfony/var-dumper": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/security-csrf": "For protecting forms against CSRF attacks.", - "symfony/twig-bridge": "For templating with Twig.", - "symfony/validator": "For form validation." - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Form\\": "" - }, - "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": "Allows to easily create, process and reuse HTML forms", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/form/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/framework-bundle", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/framework-bundle.git", - "reference": "603090d8327e279bd233d5ce42a1ed89bc91612f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/framework-bundle/zipball/603090d8327e279bd233d5ce42a1ed89bc91612f", - "reference": "603090d8327e279bd233d5ce42a1ed89bc91612f", - "shasum": "" - }, - "require": { - "ext-xml": "*", - "php": ">=7.2.5", - "symfony/cache": "^5.2|^6.0", - "symfony/config": "^5.3|^6.0", - "symfony/dependency-injection": "^5.4.5|^6.0.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/error-handler": "^4.4.1|^5.0.1|^6.0", - "symfony/event-dispatcher": "^5.1|^6.0", - "symfony/filesystem": "^4.4|^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^5.4.24|^6.2.11", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/polyfill-php81": "^1.22", - "symfony/routing": "^5.3|^6.0" - }, - "conflict": { - "doctrine/annotations": "<1.13.1", - "doctrine/cache": "<1.11", - "doctrine/persistence": "<1.3", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/asset": "<5.3", - "symfony/console": "<5.2.5|>=7.0", - "symfony/dom-crawler": "<4.4", - "symfony/dotenv": "<5.1", - "symfony/form": "<5.2", - "symfony/http-client": "<4.4", - "symfony/lock": "<4.4", - "symfony/mailer": "<5.2", - "symfony/messenger": "<5.4", - "symfony/mime": "<4.4", - "symfony/property-access": "<5.3", - "symfony/property-info": "<4.4", - "symfony/security-csrf": "<5.3", - "symfony/serializer": "<5.2", - "symfony/service-contracts": ">=3.0", - "symfony/stopwatch": "<4.4", - "symfony/translation": "<5.3", - "symfony/twig-bridge": "<4.4", - "symfony/twig-bundle": "<4.4", - "symfony/validator": "<5.3.11", - "symfony/web-profiler-bundle": "<4.4", - "symfony/workflow": "<5.2" - }, - "require-dev": { - "doctrine/annotations": "^1.13.1|^2", - "doctrine/cache": "^1.11|^2.0", - "doctrine/persistence": "^1.3|^2|^3", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/asset": "^5.3|^6.0", - "symfony/browser-kit": "^5.4|^6.0", - "symfony/console": "^5.4.9|^6.0.9", - "symfony/css-selector": "^4.4|^5.0|^6.0", - "symfony/dom-crawler": "^4.4.30|^5.3.7|^6.0", - "symfony/dotenv": "^5.1|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/form": "^5.2|^6.0", - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/lock": "^4.4|^5.0|^6.0", - "symfony/mailer": "^5.2|^6.0", - "symfony/messenger": "^5.4|^6.0", - "symfony/mime": "^4.4|^5.0|^6.0", - "symfony/notifier": "^5.4|^6.0", - "symfony/polyfill-intl-icu": "~1.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/property-info": "^4.4|^5.0|^6.0", - "symfony/rate-limiter": "^5.2|^6.0", - "symfony/security-bundle": "^5.4|^6.0", - "symfony/serializer": "^5.4|^6.0", - "symfony/stopwatch": "^4.4|^5.0|^6.0", - "symfony/string": "^5.0|^6.0", - "symfony/translation": "^5.3|^6.0", - "symfony/twig-bundle": "^4.4|^5.0|^6.0", - "symfony/validator": "^5.3.11|^6.0", - "symfony/web-link": "^4.4|^5.0|^6.0", - "symfony/workflow": "^5.2|^6.0", - "symfony/yaml": "^4.4|^5.0|^6.0", - "twig/twig": "^2.10|^3.0.4" - }, - "suggest": { - "ext-apcu": "For best performance of the system caches", - "symfony/console": "For using the console commands", - "symfony/form": "For using forms", - "symfony/property-info": "For using the property_info service", - "symfony/serializer": "For using the serializer service", - "symfony/validator": "For using validation", - "symfony/web-link": "For using web links, features such as preloading, prefetching or prerendering", - "symfony/yaml": "For using the debug:config and lint:yaml commands" - }, - "type": "symfony-bundle", - "autoload": { - "psr-4": { - "Symfony\\Bundle\\FrameworkBundle\\": "" - }, - "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 tight integration between Symfony components and the Symfony full-stack framework", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/framework-bundle/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/http-client", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-client.git", - "reference": "970a4d5a3393be3ba987b91a018e98ee332db63b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client/zipball/970a4d5a3393be3ba987b91a018e98ee332db63b", - "reference": "970a4d5a3393be3ba987b91a018e98ee332db63b", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/http-client-contracts": "^2.5.3", - "symfony/polyfill-php73": "^1.11", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.0|^2|^3" - }, - "provide": { - "php-http/async-client-implementation": "*", - "php-http/client-implementation": "*", - "psr/http-client-implementation": "1.0", - "symfony/http-client-implementation": "2.4" - }, - "require-dev": { - "amphp/amp": "^2.5", - "amphp/http-client": "^4.2.1", - "amphp/http-tunnel": "^1.0", - "amphp/socket": "^1.1", - "guzzlehttp/promises": "^1.4|^2.0", - "nyholm/psr7": "^1.0", - "php-http/httplug": "^1.0|^2.0", - "php-http/message-factory": "^1.0", - "psr/http-client": "^1.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^4.4.13|^5.1.5|^6.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/stopwatch": "^4.4|^5.0|^6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpClient\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides powerful methods to fetch HTTP resources synchronously or asynchronously", - "homepage": "https://symfony.com", - "keywords": [ - "http" - ], - "support": { - "source": "https://github.com/symfony/http-client/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/http-client-contracts", - "version": "v2.5.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-client-contracts.git", - "reference": "e5cc97c2b4a4db0ba26bebc154f1426e3fd1d2f1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-client-contracts/zipball/e5cc97c2b4a4db0ba26bebc154f1426e3fd1d2f1", - "reference": "e5cc97c2b4a4db0ba26bebc154f1426e3fd1d2f1", - "shasum": "" - }, - "require": { - "php": ">=7.2.5" - }, - "suggest": { - "symfony/http-client-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\HttpClient\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to HTTP clients", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/http-client-contracts/tree/v2.5.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-03-26T19:42:53+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "cf4893ca4eca3fac4ae06da1590afdbbb4217847" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/cf4893ca4eca3fac4ae06da1590afdbbb4217847", - "reference": "cf4893ca4eca3fac4ae06da1590afdbbb4217847", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php80": "^1.16" - }, - "require-dev": { - "predis/predis": "^1.0|^2.0", - "symfony/cache": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4", - "symfony/mime": "^4.4|^5.0|^6.0", - "symfony/rate-limiter": "^5.2|^6.0" - }, - "suggest": { - "symfony/mime": "To use the file extension guesser" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "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": "Defines an object-oriented layer for the HTTP specification", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/http-foundation/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "3ad03183c6985adc2eece16f239f8cfe1c4ccbe3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/3ad03183c6985adc2eece16f239f8cfe1c4ccbe3", - "reference": "3ad03183c6985adc2eece16f239f8cfe1c4ccbe3", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/log": "^1|^2", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^5.0|^6.0", - "symfony/http-foundation": "^5.4.21|^6.2.7", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-php73": "^1.9", - "symfony/polyfill-php80": "^1.16" - }, - "conflict": { - "symfony/browser-kit": "<5.4", - "symfony/cache": "<5.0", - "symfony/config": "<5.0", - "symfony/console": "<4.4", - "symfony/dependency-injection": "<5.3", - "symfony/doctrine-bridge": "<5.0", - "symfony/form": "<5.0", - "symfony/http-client": "<5.0", - "symfony/mailer": "<5.0", - "symfony/messenger": "<5.0", - "symfony/translation": "<5.0", - "symfony/twig-bridge": "<5.0", - "symfony/validator": "<5.0", - "twig/twig": "<2.13" - }, - "provide": { - "psr/log-implementation": "1.0|2.0" - }, - "require-dev": { - "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^5.4|^6.0", - "symfony/config": "^5.0|^6.0", - "symfony/console": "^4.4|^5.0|^6.0", - "symfony/css-selector": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^5.3|^6.0", - "symfony/dom-crawler": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/http-client-contracts": "^1.1|^2|^3", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/routing": "^4.4|^5.0|^6.0", - "symfony/stopwatch": "^4.4|^5.0|^6.0", - "symfony/translation": "^4.4|^5.0|^6.0", - "symfony/translation-contracts": "^1.1|^2|^3", - "symfony/var-dumper": "^4.4.31|^5.4", - "twig/twig": "^2.13|^3.0.4" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "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 structured process for converting a Request into a Response", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/http-kernel/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-06-02T15:53:08+00:00" - }, - { - "name": "symfony/intl", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/intl.git", - "reference": "75482b3b0aadc7f652d99b4f543b1d21f6562ff4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/intl/zipball/75482b3b0aadc7f652d99b4f543b1d21f6562ff4", - "reference": "75482b3b0aadc7f652d99b4f543b1d21f6562ff4", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" - }, - "require-dev": { - "symfony/filesystem": "^4.4|^5.0|^6.0", - "symfony/var-exporter": "^5.4|^6.0" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\Intl\\": "" - }, - "classmap": [ - "Resources/stubs" - ], - "exclude-from-classmap": [ - "/Tests/", - "/Resources/data/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - }, - { - "name": "Eriksen Costa", - "email": "eriksen.costa@infranology.com.br" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides a PHP replacement layer for the C intl extension that includes additional data from the ICU library", - "homepage": "https://symfony.com", - "keywords": [ - "i18n", - "icu", - "internationalization", - "intl", - "l10n", - "localization" - ], - "support": { - "source": "https://github.com/symfony/intl/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/mime", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/mime.git", - "reference": "8c6dc1fb0b1f990aa15086abcde66dbde3a9bdad" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/8c6dc1fb0b1f990aa15086abcde66dbde3a9bdad", - "reference": "8c6dc1fb0b1f990aa15086abcde66dbde3a9bdad", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.16" - }, - "conflict": { - "egulias/email-validator": "~3.0.0", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<4.4", - "symfony/serializer": "<5.4.35|>=6,<6.3.12|>=6.4,<6.4.3" - }, - "require-dev": { - "egulias/email-validator": "^2.1.10|^3.1|^4", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/process": "^5.4|^6.4", - "symfony/property-access": "^4.4|^5.1|^6.0", - "symfony/property-info": "^4.4|^5.1|^6.0", - "symfony/serializer": "^5.4.35|~6.3.12|^6.4.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Mime\\": "" - }, - "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": "Allows manipulating MIME messages", - "homepage": "https://symfony.com", - "keywords": [ - "mime", - "mime-type" - ], - "support": { - "source": "https://github.com/symfony/mime/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/options-resolver", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "bd1afbde6613a8d6b956115e0e14b196191fd0c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/bd1afbde6613a8d6b956115e0e14b196191fd0c4", - "reference": "bd1afbde6613a8d6b956115e0e14b196191fd0c4", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php73": "~1.0", - "symfony/polyfill-php80": "^1.16" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\OptionsResolver\\": "" - }, - "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 an improved replacement for the array_replace PHP function", - "homepage": "https://symfony.com", - "keywords": [ - "config", - "configuration", - "options" - ], - "support": { - "source": "https://github.com/symfony/options-resolver/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/password-hasher", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/password-hasher.git", - "reference": "21b98178ab2024e6c7d8ab72cca9ba16015c6093" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/password-hasher/zipball/21b98178ab2024e6c7d8ab72cca9ba16015c6093", - "reference": "21b98178ab2024e6c7d8ab72cca9ba16015c6093", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "symfony/security-core": "<5.3" - }, - "require-dev": { - "symfony/console": "^5.3|^6.0", - "symfony/security-core": "^5.3|^6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\PasswordHasher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Robin Chalas", - "email": "robin.chalas@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides password hashing utilities", - "homepage": "https://symfony.com", - "keywords": [ - "hashing", - "password" - ], - "support": { - "source": "https://github.com/symfony/password-hasher/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", - "reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-ctype": "*" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Ctype\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Gert de Pagter", - "email": "BackEndTea@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for ctype functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "ctype", - "polyfill", - "portable" - ], - "support": { - "source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-iconv", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "cd4226d140ecd3d0f13d32ed0a4a095ffe871d2f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/cd4226d140ecd3d0f13d32ed0a4a095ffe871d2f", - "reference": "cd4226d140ecd3d0f13d32ed0a4a095ffe871d2f", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-iconv": "*" - }, - "suggest": { - "ext-iconv": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Iconv\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Iconv extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "iconv", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.29.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", - "reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Grapheme\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's grapheme_* functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "grapheme", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-intl-icu", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-icu.git", - "reference": "07094a28851a49107f3ab4f9120ca2975a64b6e1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-icu/zipball/07094a28851a49107f3ab4f9120ca2975a64b6e1", - "reference": "07094a28851a49107f3ab4f9120ca2975a64b6e1", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance and support of other locales than \"en\"" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Icu\\": "" - }, - "classmap": [ - "Resources/stubs" - ], - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's ICU-related data and classes", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "icu", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-icu/tree/v1.29.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-29T20:12:16+00:00" - }, - { - "name": "symfony/polyfill-intl-idn", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "a287ed7475f85bf6f61890146edbc932c0fff919" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a287ed7475f85bf6f61890146edbc932c0fff919", - "reference": "a287ed7475f85bf6f61890146edbc932c0fff919", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" - }, - { - "name": "Trevor Rowbotham", - "email": "trevor.rowbotham@pm.me" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.29.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", - "reference": "bc45c394692b948b4d383a08d7753968bed9a83d", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Normalizer\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's Normalizer class and related functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "intl", - "normalizer", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", - "reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Mbstring\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Mbstring extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "mbstring", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25", - "reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-php73", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "21bd091060673a1177ae842c0ef8fe30893114d2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/21bd091060673a1177ae842c0ef8fe30893114d2", - "reference": "21bd091060673a1177ae842c0ef8fe30893114d2", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.29.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", - "reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/polyfill-php81", - "version": "v1.29.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/c565ad1e63f30e7477fc40738343c62b40bc672d", - "reference": "c565ad1e63f30e7477fc40738343c62b40bc672d", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.29.0" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-29T20:11:03+00:00" - }, - { - "name": "symfony/property-access", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/property-access.git", - "reference": "6e4834145c2231b34eafabe440aaac478a95b456" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/property-access/zipball/6e4834145c2231b34eafabe440aaac478a95b456", - "reference": "6e4834145c2231b34eafabe440aaac478a95b456", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16", - "symfony/property-info": "^5.2|^6.0" - }, - "require-dev": { - "symfony/cache": "^4.4|^5.0|^6.0" - }, - "suggest": { - "psr/cache-implementation": "To cache access methods." - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\PropertyAccess\\": "" - }, - "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 functions to read and write from/to an object or array using a simple string notation", - "homepage": "https://symfony.com", - "keywords": [ - "access", - "array", - "extraction", - "index", - "injection", - "object", - "property", - "property-path", - "reflection" - ], - "support": { - "source": "https://github.com/symfony/property-access/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/property-info", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/property-info.git", - "reference": "b999cc2450f81d4527c97c217260dc372601a95d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/property-info/zipball/b999cc2450f81d4527c97c217260dc372601a95d", - "reference": "b999cc2450f81d4527c97c217260dc372601a95d", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16", - "symfony/string": "^5.1|^6.0" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/dependency-injection": "<4.4" - }, - "require-dev": { - "doctrine/annotations": "^1.10.4|^2", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "phpstan/phpdoc-parser": "^1.0", - "symfony/cache": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/serializer": "^4.4|^5.0|^6.0" - }, - "suggest": { - "phpdocumentor/reflection-docblock": "To use the PHPDoc", - "psr/cache-implementation": "To cache results", - "symfony/doctrine-bridge": "To use Doctrine metadata", - "symfony/serializer": "To use Serializer metadata" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\PropertyInfo\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Kévin Dunglas", - "email": "dunglas@gmail.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Extracts information about PHP class' properties using metadata of popular sources", - "homepage": "https://symfony.com", - "keywords": [ - "doctrine", - "phpdoc", - "property", - "symfony", - "type", - "validator" - ], - "support": { - "source": "https://github.com/symfony/property-info/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/routing", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "6df1dd8b306649303267a760699cf04cf39b1f7b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/6df1dd8b306649303267a760699cf04cf39b1f7b", - "reference": "6df1dd8b306649303267a760699cf04cf39b1f7b", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" - }, - "conflict": { - "doctrine/annotations": "<1.12", - "symfony/config": "<5.3", - "symfony/dependency-injection": "<4.4", - "symfony/yaml": "<4.4" - }, - "require-dev": { - "doctrine/annotations": "^1.12|^2", - "psr/log": "^1|^2|^3", - "symfony/config": "^5.3|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", - "symfony/yaml": "^4.4|^5.0|^6.0" - }, - "suggest": { - "symfony/config": "For using the all-in-one router or any loader", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "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": "Maps an HTTP request to a set of configuration variables", - "homepage": "https://symfony.com", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "support": { - "source": "https://github.com/symfony/routing/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/security-core", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/security-core.git", - "reference": "f8b49ac9b4b61fca958e6163f3cbb69d8c7d703a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/f8b49ac9b4b61fca958e6163f3cbb69d8c7d703a", - "reference": "f8b49ac9b4b61fca958e6163f3cbb69d8c7d703a", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/event-dispatcher-contracts": "^1.1|^2|^3", - "symfony/password-hasher": "^5.3|^6.0", - "symfony/polyfill-php80": "^1.16", - "symfony/service-contracts": "^1.1.6|^2|^3" - }, - "conflict": { - "symfony/event-dispatcher": "<4.4", - "symfony/http-foundation": "<5.3", - "symfony/ldap": "<4.4", - "symfony/security-guard": "<4.4", - "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3", - "symfony/validator": "<5.2" - }, - "require-dev": { - "psr/cache": "^1.0|^2.0|^3.0", - "psr/container": "^1.0|^2.0", - "psr/log": "^1|^2|^3", - "symfony/cache": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^5.3|^6.0", - "symfony/ldap": "^4.4|^5.0|^6.0", - "symfony/translation": "^5.4.35|~6.3.12|^6.4.3", - "symfony/validator": "^5.2|^6.0" - }, - "suggest": { - "psr/container-implementation": "To instantiate the Security class", - "symfony/event-dispatcher": "", - "symfony/expression-language": "For using the expression voter", - "symfony/http-foundation": "", - "symfony/ldap": "For using LDAP integration", - "symfony/validator": "For using the user password constraint" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Security\\Core\\": "" - }, - "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": "Symfony Security Component - Core Library", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/security-core/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/security-csrf", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/security-csrf.git", - "reference": "9058d522c1c33d7ba13f4b3c79555cc2c4c16028" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/security-csrf/zipball/9058d522c1c33d7ba13f4b3c79555cc2c4c16028", - "reference": "9058d522c1c33d7ba13f4b3c79555cc2c4c16028", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16", - "symfony/security-core": "^4.4|^5.0|^6.0" - }, - "conflict": { - "symfony/http-foundation": "<5.3" - }, - "require-dev": { - "symfony/http-foundation": "^5.3|^6.0" - }, - "suggest": { - "symfony/http-foundation": "For using the class SessionTokenStorage." - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Security\\Csrf\\": "" - }, - "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": "Symfony Security Component - CSRF Library", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/security-csrf/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v2.5.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "a2329596ddc8fd568900e3fc76cba42489ecc7f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/a2329596ddc8fd568900e3fc76cba42489ecc7f3", - "reference": "a2329596ddc8fd568900e3fc76cba42489ecc7f3", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/container": "^1.1", - "symfony/deprecation-contracts": "^2.1|^3" - }, - "conflict": { - "ext-psr": "<1.1|>=2" - }, - "suggest": { - "symfony/service-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to writing services", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/service-contracts/tree/v2.5.3" - }, - "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-04-21T15:04:16+00:00" - }, - { - "name": "symfony/string", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "142877285aa974a6f7685e292ab5ba9aae86b143" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/142877285aa974a6f7685e292ab5ba9aae86b143", - "reference": "142877285aa974a6f7685e292ab5ba9aae86b143", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-intl-grapheme": "~1.0", - "symfony/polyfill-intl-normalizer": "~1.0", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "~1.15" - }, - "conflict": { - "symfony/translation-contracts": ">=3.0" - }, - "require-dev": { - "symfony/error-handler": "^4.4|^5.0|^6.0", - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/translation-contracts": "^1.1|^2", - "symfony/var-exporter": "^4.4|^5.0|^6.0" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\String\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", - "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], - "support": { - "source": "https://github.com/symfony/string/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/templating", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/templating.git", - "reference": "9eae6e708a65ea50e2072e99c87b193b24d3f028" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/templating/zipball/9eae6e708a65ea50e2072e99c87b193b24d3f028", - "reference": "9eae6e708a65ea50e2072e99c87b193b24d3f028", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-ctype": "~1.8" - }, - "require-dev": { - "psr/log": "^1|^2|^3" - }, - "suggest": { - "psr/log-implementation": "For using debug logging in loaders" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Templating\\": "" - }, - "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 all the tools needed to build any kind of template system", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/templating/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/translation", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "bb51d7f183756d1ac03f50ea47dc5726518cc7e8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/bb51d7f183756d1ac03f50ea47dc5726518cc7e8", - "reference": "bb51d7f183756d1ac03f50ea47dc5726518cc7e8", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/translation-contracts": "^2.3" - }, - "conflict": { - "symfony/config": "<4.4", - "symfony/console": "<5.3", - "symfony/dependency-injection": "<5.0", - "symfony/http-kernel": "<5.0", - "symfony/twig-bundle": "<5.0", - "symfony/yaml": "<4.4" - }, - "provide": { - "symfony/translation-implementation": "2.3" - }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/console": "^5.4|^6.0", - "symfony/dependency-injection": "^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/http-client-contracts": "^1.1|^2.0|^3.0", - "symfony/http-kernel": "^5.0|^6.0", - "symfony/intl": "^4.4|^5.0|^6.0", - "symfony/polyfill-intl-icu": "^1.21", - "symfony/service-contracts": "^1.1.2|^2|^3", - "symfony/yaml": "^4.4|^5.0|^6.0" - }, - "suggest": { - "psr/log-implementation": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\Translation\\": "" - }, - "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 tools to internationalize your application", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/translation/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/translation-contracts", - "version": "v2.5.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "b0073a77ac0b7ea55131020e87b1e3af540f4664" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/b0073a77ac0b7ea55131020e87b1e3af540f4664", - "reference": "b0073a77ac0b7ea55131020e87b1e3af540f4664", - "shasum": "" - }, - "require": { - "php": ">=7.2.5" - }, - "suggest": { - "symfony/translation-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.5-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Translation\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to translation", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v2.5.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-01-23T13:51:25+00:00" - }, - { - "name": "symfony/twig-bridge", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/twig-bridge.git", - "reference": "b982cfa2d15058d2642ca4cf7edab495d6dac707" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bridge/zipball/b982cfa2d15058d2642ca4cf7edab495d6dac707", - "reference": "b982cfa2d15058d2642ca4cf7edab495d6dac707", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16", - "symfony/translation-contracts": "^1.1|^2|^3", - "twig/twig": "^2.13|^3.0.4" - }, - "conflict": { - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/console": "<5.3", - "symfony/form": "<5.4.21|>=6,<6.2.7", - "symfony/http-foundation": "<5.3", - "symfony/http-kernel": "<4.4", - "symfony/translation": "<5.2", - "symfony/workflow": "<5.2" - }, - "require-dev": { - "doctrine/annotations": "^1.12|^2", - "egulias/email-validator": "^2.1.10|^3|^4", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/asset": "^4.4|^5.0|^6.0", - "symfony/console": "^5.3|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/form": "^5.4.21|^6.2.7", - "symfony/http-foundation": "^5.3|^6.0", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/intl": "^4.4|^5.0|^6.0", - "symfony/mime": "^5.2|^6.0", - "symfony/polyfill-intl-icu": "~1.0", - "symfony/property-info": "^4.4|^5.1|^6.0", - "symfony/routing": "^4.4|^5.0|^6.0", - "symfony/security-acl": "^2.8|^3.0", - "symfony/security-core": "^4.4|^5.0|^6.0", - "symfony/security-csrf": "^4.4|^5.0|^6.0", - "symfony/security-http": "^4.4|^5.0|^6.0", - "symfony/serializer": "^5.4.35|~6.3.12|^6.4.3", - "symfony/stopwatch": "^4.4|^5.0|^6.0", - "symfony/translation": "^5.2|^6.0", - "symfony/web-link": "^4.4|^5.0|^6.0", - "symfony/workflow": "^5.2|^6.0", - "symfony/yaml": "^4.4|^5.0|^6.0", - "twig/cssinliner-extra": "^2.12|^3", - "twig/inky-extra": "^2.12|^3", - "twig/markdown-extra": "^2.12|^3" - }, - "suggest": { - "symfony/asset": "For using the AssetExtension", - "symfony/expression-language": "For using the ExpressionExtension", - "symfony/finder": "", - "symfony/form": "For using the FormExtension", - "symfony/http-kernel": "For using the HttpKernelExtension", - "symfony/routing": "For using the RoutingExtension", - "symfony/security-core": "For using the SecurityExtension", - "symfony/security-csrf": "For using the CsrfExtension", - "symfony/security-http": "For using the LogoutUrlExtension", - "symfony/stopwatch": "For using the StopwatchExtension", - "symfony/translation": "For using the TranslationExtension", - "symfony/var-dumper": "For using the DumpExtension", - "symfony/web-link": "For using the WebLinkExtension", - "symfony/yaml": "For using the YamlExtension" - }, - "type": "symfony-bridge", - "autoload": { - "psr-4": { - "Symfony\\Bridge\\Twig\\": "" - }, - "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 integration for Twig with various Symfony components", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/twig-bridge/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/twig-bundle", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/twig-bundle.git", - "reference": "997c002735c88b50a6325cca8ecf3d8723902666" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/twig-bundle/zipball/997c002735c88b50a6325cca8ecf3d8723902666", - "reference": "997c002735c88b50a6325cca8ecf3d8723902666", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/http-foundation": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^5.0|^6.0", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-php80": "^1.16", - "symfony/twig-bridge": "^5.3|^6.0", - "twig/twig": "^2.13|^3.0.4" - }, - "conflict": { - "symfony/dependency-injection": "<5.3", - "symfony/framework-bundle": "<5.0", - "symfony/service-contracts": ">=3.0", - "symfony/translation": "<5.0" - }, - "require-dev": { - "doctrine/annotations": "^1.10.4|^2", - "doctrine/cache": "^1.0|^2.0", - "symfony/asset": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^5.3|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/form": "^4.4|^5.0|^6.0", - "symfony/framework-bundle": "^5.0|^6.0", - "symfony/routing": "^4.4|^5.0|^6.0", - "symfony/stopwatch": "^4.4|^5.0|^6.0", - "symfony/translation": "^5.0|^6.0", - "symfony/web-link": "^4.4|^5.0|^6.0", - "symfony/yaml": "^4.4|^5.0|^6.0" - }, - "type": "symfony-bundle", - "autoload": { - "psr-4": { - "Symfony\\Bundle\\TwigBundle\\": "" - }, - "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 tight integration of Twig into the Symfony full-stack framework", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/twig-bundle/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/validator", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/validator.git", - "reference": "d536c47c62c7739f9956727d6e5d94983ed77cdb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/validator/zipball/d536c47c62c7739f9956727d6e5d94983ed77cdb", - "reference": "d536c47c62c7739f9956727d6e5d94983ed77cdb", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php73": "~1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/polyfill-php81": "^1.22", - "symfony/translation-contracts": "^1.1|^2|^3" - }, - "conflict": { - "doctrine/annotations": "<1.13", - "doctrine/cache": "<1.11", - "doctrine/lexer": "<1.1", - "symfony/dependency-injection": "<4.4", - "symfony/expression-language": "<5.1", - "symfony/http-kernel": "<4.4", - "symfony/intl": "<4.4", - "symfony/property-info": "<5.3", - "symfony/translation": "<5.4.35|>=6.0,<6.3.12|>=6.4,<6.4.3", - "symfony/yaml": "<4.4" - }, - "require-dev": { - "doctrine/annotations": "^1.13|^2", - "doctrine/cache": "^1.11|^2.0", - "egulias/email-validator": "^2.1.10|^3|^4", - "symfony/cache": "^4.4|^5.0|^6.0", - "symfony/config": "^4.4|^5.0|^6.0", - "symfony/console": "^4.4|^5.0|^6.0", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^5.1|^6.0", - "symfony/finder": "^4.4|^5.0|^6.0", - "symfony/http-client": "^4.4|^5.0|^6.0", - "symfony/http-foundation": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/intl": "^4.4|^5.0|^6.0", - "symfony/mime": "^4.4|^5.0|^6.0", - "symfony/property-access": "^4.4|^5.0|^6.0", - "symfony/property-info": "^5.3|^6.0", - "symfony/translation": "^5.4.35|~6.3.12|^6.4.3", - "symfony/yaml": "^4.4|^5.0|^6.0" - }, - "suggest": { - "egulias/email-validator": "Strict (RFC compliant) email validation", - "psr/cache-implementation": "For using the mapping cache.", - "symfony/config": "", - "symfony/expression-language": "For using the Expression validator and the ExpressionLanguageSyntax constraints", - "symfony/http-foundation": "", - "symfony/intl": "", - "symfony/property-access": "For accessing properties within comparison constraints", - "symfony/property-info": "To automatically add NotNull and Type constraints", - "symfony/translation": "For translating validation errors.", - "symfony/yaml": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Validator\\": "" - }, - "exclude-from-classmap": [ - "/Tests/", - "/Resources/bin/" - ] - }, - "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 tools to validate values", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/validator/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-06-01T06:14:22+00:00" - }, - { - "name": "symfony/var-dumper", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "af8868a6e9d6082dfca11f1a1f205ae93a8b6d93" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/af8868a6e9d6082dfca11f1a1f205ae93a8b6d93", - "reference": "af8868a6e9d6082dfca11f1a1f205ae93a8b6d93", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-mbstring": "~1.0", - "symfony/polyfill-php80": "^1.16" - }, - "conflict": { - "symfony/console": "<4.4" - }, - "require-dev": { - "ext-iconv": "*", - "symfony/console": "^4.4|^5.0|^6.0", - "symfony/http-kernel": "^4.4|^5.0|^6.0", - "symfony/process": "^4.4|^5.0|^6.0", - "symfony/uid": "^5.1|^6.0", - "twig/twig": "^2.13|^3.0.4" - }, - "suggest": { - "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", - "ext-intl": "To show region name in time zone dump", - "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" - }, - "bin": [ - "Resources/bin/var-dump-server" - ], - "type": "library", - "autoload": { - "files": [ - "Resources/functions/dump.php" - ], - "psr-4": { - "Symfony\\Component\\VarDumper\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides mechanisms for walking through any arbitrary PHP variable", - "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" - ], - "support": { - "source": "https://github.com/symfony/var-dumper/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/var-exporter", - "version": "v6.4.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-exporter.git", - "reference": "792ca836f99b340f2e9ca9497c7953948c49a504" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/792ca836f99b340f2e9ca9497c7953948c49a504", - "reference": "792ca836f99b340f2e9ca9497c7953948c49a504", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3" - }, - "require-dev": { - "symfony/property-access": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\VarExporter\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Allows exporting any serializable PHP data structure to plain PHP code", - "homepage": "https://symfony.com", - "keywords": [ - "clone", - "construct", - "export", - "hydrate", - "instantiate", - "lazy-loading", - "proxy", - "serialize" - ], - "support": { - "source": "https://github.com/symfony/var-exporter/tree/v6.4.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:49:08+00:00" - }, - { - "name": "symfony/workflow", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/workflow.git", - "reference": "3f4aa0f1fe40139fd3b816df46c257c2642285e9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/workflow/zipball/3f4aa0f1fe40139fd3b816df46c257c2642285e9", - "reference": "3f4aa0f1fe40139fd3b816df46c257c2642285e9", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.15" - }, - "conflict": { - "symfony/event-dispatcher": "<4.4" - }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/dependency-injection": "^4.4|^5.0|^6.0", - "symfony/event-dispatcher": "^4.4|^5.0|^6.0", - "symfony/expression-language": "^4.4|^5.0|^6.0", - "symfony/security-core": "^4.4|^5.0|^6.0", - "symfony/validator": "^4.4|^5.0|^6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Workflow\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Grégoire Pineau", - "email": "lyrixx@lyrixx.info" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools for managing a workflow or finite state machine", - "homepage": "https://symfony.com", - "keywords": [ - "petrinet", - "place", - "state", - "statemachine", - "transition", - "workflow" - ], - "support": { - "source": "https://github.com/symfony/workflow/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "symfony/yaml", - "version": "v5.4.40", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "81cad0ceab3d61fe14fe941ff18a230ac9c80f83" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/81cad0ceab3d61fe14fe941ff18a230ac9c80f83", - "reference": "81cad0ceab3d61fe14fe941ff18a230ac9c80f83", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "symfony/console": "<5.3" - }, - "require-dev": { - "symfony/console": "^5.3|^6.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "bin": [ - "Resources/bin/yaml-lint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "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": "Loads and dumps YAML files", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/yaml/tree/v5.4.40" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2024-05-31T14:33:22+00:00" - }, - { - "name": "twig/twig", - "version": "v3.10.3", - "source": { - "type": "git", - "url": "https://github.com/twigphp/Twig.git", - "reference": "67f29781ffafa520b0bbfbd8384674b42db04572" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/twigphp/Twig/zipball/67f29781ffafa520b0bbfbd8384674b42db04572", - "reference": "67f29781ffafa520b0bbfbd8384674b42db04572", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-ctype": "^1.8", - "symfony/polyfill-mbstring": "^1.3", - "symfony/polyfill-php80": "^1.22" - }, - "require-dev": { - "psr/container": "^1.0|^2.0", - "symfony/phpunit-bridge": "^5.4.9|^6.4|^7.0" - }, - "type": "library", - "autoload": { - "files": [ - "src/Resources/core.php", - "src/Resources/debug.php", - "src/Resources/escaper.php", - "src/Resources/string_loader.php" - ], - "psr-4": { - "Twig\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com", - "homepage": "http://fabien.potencier.org", - "role": "Lead Developer" - }, - { - "name": "Twig Team", - "role": "Contributors" - }, - { - "name": "Armin Ronacher", - "email": "armin.ronacher@active-4.com", - "role": "Project Founder" - } - ], - "description": "Twig, the flexible, fast, and secure template language for PHP", - "homepage": "https://twig.symfony.com", - "keywords": [ - "templating" - ], - "support": { - "issues": "https://github.com/twigphp/Twig/issues", - "source": "https://github.com/twigphp/Twig/tree/v3.10.3" - }, - "funding": [ - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/twig/twig", - "type": "tidelift" - } - ], - "time": "2024-05-16T10:04:27+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.11.0", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", - "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "php": "^7.2 || ^8.0" - }, - "conflict": { - "phpstan/phpstan": "<0.12.20", - "vimeo/psalm": "<4.6.1 || 4.6.2" - }, - "require-dev": { - "phpunit/phpunit": "^8.5.13" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.10-dev" - } - }, - "autoload": { - "psr-4": { - "Webmozart\\Assert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Assertions to validate method input/output with nice error messages.", - "keywords": [ - "assert", - "check", - "validate" - ], - "support": { - "issues": "https://github.com/webmozarts/assert/issues", - "source": "https://github.com/webmozarts/assert/tree/1.11.0" - }, - "time": "2022-06-03T18:03:27+00:00" - }, - { - "name": "willdurand/hateoas", - "version": "3.10.0", - "source": { - "type": "git", - "url": "https://github.com/willdurand/Hateoas.git", - "reference": "5d7953f4b04b926cb4f2fb73568b654998eb2b80" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/willdurand/Hateoas/zipball/5d7953f4b04b926cb4f2fb73568b654998eb2b80", - "reference": "5d7953f4b04b926cb4f2fb73568b654998eb2b80", - "shasum": "" - }, - "require": { - "doctrine/annotations": "^1.13.2 || ^2.0", - "jms/metadata": "^2.0", - "jms/serializer": "^3.18.2", - "php": "^7.2 | ^8.0", - "symfony/expression-language": "~3.0 || ~4.0 || ~5.0 || ~6.0 || ~7.0" - }, - "require-dev": { - "doctrine/coding-standard": "^5.0 | ^8.0", - "doctrine/persistence": "^1.3.4 | ^2.0 | ^3.0", - "pagerfanta/core": "^2.4 || ^3.0", - "phpdocumentor/type-resolver": "^1.5.1", - "phpspec/prophecy": "^1.16", - "phpspec/prophecy-phpunit": "^2.0.1", - "phpunit/phpunit": "^7 | ^9.5.10", - "symfony/routing": "~3.0 || ~4.0 || ~5.0 || ~6.0 || ~7.0", - "symfony/yaml": "~3.0 || ~4.0 || ~5.0 || ~6.0 || ~7.0", - "twig/twig": "^1.43 || ^2.13 || ^3.0" - }, - "suggest": { - "symfony/routing": "To use the SymfonyRouteFactory.", - "symfony/yaml": "To use yaml based configuration.", - "twig/twig": "To use the Twig extensions." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Hateoas\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "William Durand", - "email": "william.durand1@gmail.com" - }, - { - "name": "Adrien Brault", - "email": "adrien.brault@gmail.com" - }, - { - "name": "Asmir Mustafic", - "email": "goetas@gmail.com" - } - ], - "description": "A PHP library to support implementing representations for HATEOAS REST web services", - "support": { - "issues": "https://github.com/willdurand/Hateoas/issues", - "source": "https://github.com/willdurand/Hateoas/tree/3.10.0" - }, - "time": "2023-12-12T13:35:06+00:00" - }, - { - "name": "willdurand/hateoas-bundle", - "version": "2.6.0", - "source": { - "type": "git", - "url": "https://github.com/willdurand/BazingaHateoasBundle.git", - "reference": "ccbdde8356ef02cbc72ac7ec40c7f1db3382b4ef" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/willdurand/BazingaHateoasBundle/zipball/ccbdde8356ef02cbc72ac7ec40c7f1db3382b4ef", - "reference": "ccbdde8356ef02cbc72ac7ec40c7f1db3382b4ef", - "shasum": "" - }, - "require": { - "jms/serializer-bundle": "^3.1 || ^4.2 || ^5.0", - "php": "^7.2 || ^8.0", - "symfony/expression-language": "~3.0 || ~4.0 || ~5.0 || ~6.0 || ~7.0", - "symfony/framework-bundle": "~3.0 || ~4.0 || ~5.0 || ~6.0 || ~7.0", - "willdurand/hateoas": "^3.5" - }, - "conflict": { - "jms/serializer": "<3.18" - }, - "require-dev": { - "doctrine/annotations": "^1.13.2 || ^2.0", - "doctrine/coding-standard": "^8.0", - "phpunit/phpunit": "^8.5.32 || ^9.5.10", - "symfony/stopwatch": "~3.0 || ~4.0 || ~5.0 || ~6.0 || ~7.0", - "twig/twig": "~1.12|~2.0|~3.0" - }, - "type": "symfony-bundle", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "psr-4": { - "Bazinga\\Bundle\\HateoasBundle\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "William Durand", - "email": "william.durand1@gmail.com" - } - ], - "description": "Integration of Hateoas into Symfony2.", - "keywords": [ - "HATEOAS", - "rest" - ], - "support": { - "issues": "https://github.com/willdurand/BazingaHateoasBundle/issues", - "source": "https://github.com/willdurand/BazingaHateoasBundle/tree/2.6.0" - }, - "time": "2023-12-13T11:29:05+00:00" - }, - { - "name": "willdurand/jsonp-callback-validator", - "version": "v2.0.0", - "source": { - "type": "git", - "url": "https://github.com/willdurand/JsonpCallbackValidator.git", - "reference": "738c36e91d4d7e0ff0cac145f77057e0fb88526e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/willdurand/JsonpCallbackValidator/zipball/738c36e91d4d7e0ff0cac145f77057e0fb88526e", - "reference": "738c36e91d4d7e0ff0cac145f77057e0fb88526e", - "shasum": "" - }, - "require": { - "php": ">=7.1.0" - }, - "require-dev": { - "symfony/phpunit-bridge": "^5.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "JsonpCallbackValidator": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "William Durand", - "email": "will+git@drnd.me" - } - ], - "description": "JSONP callback validator.", - "support": { - "issues": "https://github.com/willdurand/JsonpCallbackValidator/issues", - "source": "https://github.com/willdurand/JsonpCallbackValidator/tree/v2.0.0" - }, - "time": "2022-01-30T20:33:09+00:00" - }, - { - "name": "willdurand/negotiation", - "version": "3.1.0", - "source": { - "type": "git", - "url": "https://github.com/willdurand/Negotiation.git", - "reference": "68e9ea0553ef6e2ee8db5c1d98829f111e623ec2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/willdurand/Negotiation/zipball/68e9ea0553ef6e2ee8db5c1d98829f111e623ec2", - "reference": "68e9ea0553ef6e2ee8db5c1d98829f111e623ec2", - "shasum": "" - }, - "require": { - "php": ">=7.1.0" - }, - "require-dev": { - "symfony/phpunit-bridge": "^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "psr-4": { - "Negotiation\\": "src/Negotiation" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "William Durand", - "email": "will+git@drnd.me" - } - ], - "description": "Content Negotiation tools for PHP provided as a standalone library.", - "homepage": "http://williamdurand.fr/Negotiation/", - "keywords": [ - "accept", - "content", - "format", - "header", - "negotiation" - ], - "support": { - "issues": "https://github.com/willdurand/Negotiation/issues", - "source": "https://github.com/willdurand/Negotiation/tree/3.1.0" - }, - "time": "2022-01-30T20:08:53+00:00" - }, - { - "name": "winzou/state-machine", - "version": "0.4.4", - "source": { - "type": "git", - "url": "https://github.com/winzou/state-machine.git", - "reference": "b7ced0a415a07a2368e4f67dffaa600a5773fb86" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/winzou/state-machine/zipball/b7ced0a415a07a2368e4f67dffaa600a5773fb86", - "reference": "b7ced0a415a07a2368e4f67dffaa600a5773fb86", - "shasum": "" - }, - "require": { - "php": "^7.4|^8.0|^8.1", - "symfony/event-dispatcher": "^4.4|^5.4|^6.0|^7.0", - "symfony/expression-language": "^4.4|^5.4|^6.0|^7.0", - "symfony/property-access": "^4.4|^5.4|^6.0|^7.0" - }, - "require-dev": { - "phpspec/phpspec": "^5.0|^6.0|^7.1", - "twig/twig": "^2.10|^3.0" - }, - "suggest": { - "twig/twig": "Access the state machine in your twig templates (^2.10|^3.0)" - }, - "type": "library", - "autoload": { - "psr-0": { - "SM": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alexandre Bacco", - "email": "alexandre.bacco@gmail.com", - "homepage": "http://alex.bacco.fr" - } - ], - "description": "A very lightweight yet powerful PHP state machine", - "homepage": "https://github.com/winzou/StateMachine", - "keywords": [ - "callback", - "event", - "state", - "statemachine" - ], - "support": { - "issues": "https://github.com/winzou/state-machine/issues", - "source": "https://github.com/winzou/state-machine/tree/0.4.4" - }, - "time": "2024-01-29T09:14:41+00:00" - }, - { - "name": "winzou/state-machine-bundle", - "version": "v0.6.2", - "source": { - "type": "git", - "url": "https://github.com/winzou/StateMachineBundle.git", - "reference": "63a32697ed33e6c89e1b4b9c5d64e83ddbb6bb07" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/winzou/StateMachineBundle/zipball/63a32697ed33e6c89e1b4b9c5d64e83ddbb6bb07", - "reference": "63a32697ed33e6c89e1b4b9c5d64e83ddbb6bb07", - "shasum": "" - }, - "require": { - "php": "^7.4|^8.0|^8.1", - "symfony/framework-bundle": "^4.4|^5.4|^6.0|^7.0", - "winzou/state-machine": "~0.4" - }, - "require-dev": { - "phpspec/phpspec": "^5.0|^6.0|^7.0" - }, - "type": "symfony-bundle", - "autoload": { - "psr-4": { - "winzou\\Bundle\\StateMachineBundle\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alexandre Bacco", - "homepage": "http://alex.bacco.fr" - } - ], - "description": "Bundle for the very lightweight yet powerful PHP state machine", - "keywords": [ - "bundle", - "statemachine", - "symfony" - ], - "support": { - "issues": "https://github.com/winzou/StateMachineBundle/issues", - "source": "https://github.com/winzou/StateMachineBundle/tree/v0.6.2" - }, - "time": "2024-04-22T15:58:09+00:00" - } - ], - "packages-dev": [ - { - "name": "myclabs/deep-copy", - "version": "1.12.0", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", - "reference": "3a6b9a42cd8f8771bd4295d13e1423fa7f3d942c", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3 <3.2.2" - }, - "require-dev": { - "doctrine/collections": "^1.6.8", - "doctrine/common": "^2.13.3 || ^3.2.2", - "phpspec/prophecy": "^1.10", - "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" - }, - "type": "library", - "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.12.0" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" - } - ], - "time": "2024-06-12T14:39:25+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v5.0.2", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/139676794dc1e9231bf7bcd123cfc0c99182cb13", - "reference": "139676794dc1e9231bf7bcd123cfc0c99182cb13", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-json": "*", - "ext-tokenizer": "*", - "php": ">=7.4" - }, - "require-dev": { - "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v5.0.2" - }, - "time": "2024-03-05T20:51:40+00:00" - }, - { - "name": "phar-io/manifest", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "54750ef60c58e43759730615a392c31c80e23176" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/54750ef60c58e43759730615a392c31c80e23176", - "reference": "54750ef60c58e43759730615a392c31c80e23176", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-phar": "*", - "ext-xmlwriter": "*", - "phar-io/version": "^3.0.1", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "support": { - "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2024-03-03T12:33:53+00:00" - }, - { - "name": "phar-io/version", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints", - "support": { - "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/3.2.1" - }, - "time": "2022-02-21T01:04:05+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "9.2.31", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/48c34b5d8d983006bd2adc2d0de92963b9155965", - "reference": "48c34b5d8d983006bd2adc2d0de92963b9155965", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-xmlwriter": "*", - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=7.3", - "phpunit/php-file-iterator": "^3.0.3", - "phpunit/php-text-template": "^2.0.2", - "sebastian/code-unit-reverse-lookup": "^2.0.2", - "sebastian/complexity": "^2.0", - "sebastian/environment": "^5.1.2", - "sebastian/lines-of-code": "^1.0.3", - "sebastian/version": "^3.0.1", - "theseer/tokenizer": "^1.2.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-pcov": "PHP extension that provides line coverage", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.31" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:37:42+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "3.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2021-12-02T12:48:52+00:00" - }, - { - "name": "phpunit/php-invoker", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "ext-pcntl": "*", - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-pcntl": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Invoke callables with a timeout", - "homepage": "https://github.com/sebastianbergmann/php-invoker/", - "keywords": [ - "process" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T05:58:55+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T05:33:50+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "5.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:16:10+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "9.6.19", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/a1a54a473501ef4cdeaae4e06891674114d79db8", - "reference": "a1a54a473501ef4cdeaae4e06891674114d79db8", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.3.1 || ^2", - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", - "php": ">=7.3", - "phpunit/php-code-coverage": "^9.2.28", - "phpunit/php-file-iterator": "^3.0.5", - "phpunit/php-invoker": "^3.1.1", - "phpunit/php-text-template": "^2.0.3", - "phpunit/php-timer": "^5.0.2", - "sebastian/cli-parser": "^1.0.1", - "sebastian/code-unit": "^1.0.6", - "sebastian/comparator": "^4.0.8", - "sebastian/diff": "^4.0.3", - "sebastian/environment": "^5.1.3", - "sebastian/exporter": "^4.0.5", - "sebastian/global-state": "^5.0.1", - "sebastian/object-enumerator": "^4.0.3", - "sebastian/resource-operations": "^3.0.3", - "sebastian/type": "^3.2", - "sebastian/version": "^3.0.2" - }, - "suggest": { - "ext-soap": "To be able to generate mocks based on WSDL files", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.6-dev" - } - }, - "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.19" - }, - "funding": [ - { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" - } - ], - "time": "2024-04-05T04:35:58+00:00" - }, - { - "name": "sebastian/cli-parser", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/2b56bea83a09de3ac06bb18b92f068e60cc6f50b", - "reference": "2b56bea83a09de3ac06bb18b92f068e60cc6f50b", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for parsing CLI options", - "homepage": "https://github.com/sebastianbergmann/cli-parser", - "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:27:43+00:00" - }, - { - "name": "sebastian/code-unit", - "version": "1.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", - "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the PHP code units", - "homepage": "https://github.com/sebastianbergmann/code-unit", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:08:54+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T05:30:19+00:00" - }, - { - "name": "sebastian/comparator", - "version": "4.0.8", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", - "reference": "fa0f136dd2334583309d32b62544682ee972b51a", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/diff": "^4.0", - "sebastian/exporter": "^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2022-09-14T12:41:17+00:00" - }, - { - "name": "sebastian/complexity", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/25f207c40d62b8b7aa32f5ab026c53561964053a", - "reference": "25f207c40d62b8b7aa32f5ab026c53561964053a", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for calculating the complexity of PHP code units", - "homepage": "https://github.com/sebastianbergmann/complexity", - "support": { - "issues": "https://github.com/sebastianbergmann/complexity/issues", - "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-12-22T06:19:30+00:00" - }, - { - "name": "sebastian/diff", - "version": "4.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/ba01945089c3a293b01ba9badc29ad55b106b0bc", - "reference": "ba01945089c3a293b01ba9badc29ad55b106b0bc", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3", - "symfony/process": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "source": "https://github.com/sebastianbergmann/diff/tree/4.0.6" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:30:58+00:00" - }, - { - "name": "sebastian/environment", - "version": "5.1.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", - "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-posix": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "http://www.github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/environment/issues", - "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:03:51+00:00" - }, - { - "name": "sebastian/exporter", - "version": "4.0.6", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/78c00df8f170e02473b682df15bfcdacc3d32d72", - "reference": "78c00df8f170e02473b682df15bfcdacc3d32d72", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "ext-mbstring": "*", - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "https://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.6" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:33:00+00:00" - }, - { - "name": "sebastian/global-state", - "version": "5.0.7", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", - "reference": "bca7df1f32ee6fe93b4d4a9abbf69e13a4ada2c9", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^9.3" - }, - "suggest": { - "ext-uopz": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/global-state/issues", - "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.7" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-02T06:35:11+00:00" - }, - { - "name": "sebastian/lines-of-code", - "version": "1.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/e1e4a170560925c26d424b6a03aed157e7dcc5c5", - "reference": "e1e4a170560925c26d424b6a03aed157e7dcc5c5", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.18 || ^5.0", - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for counting the lines of code in PHP source code", - "homepage": "https://github.com/sebastianbergmann/lines-of-code", - "support": { - "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-12-22T06:20:34+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "4.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", - "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", - "shasum": "" - }, - "require": { - "php": ">=7.3", - "sebastian/object-reflector": "^2.0", - "sebastian/recursion-context": "^4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:12:34+00:00" - }, - { - "name": "sebastian/object-reflector", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-10-26T13:14:26+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "4.0.5", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", - "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "https://github.com/sebastianbergmann/recursion-context", - "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:07:39+00:00" - }, - { - "name": "sebastian/resource-operations", - "version": "3.0.4", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/resource-operations.git", - "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/05d5692a7993ecccd56a03e40cd7e5b09b1d404e", - "reference": "05d5692a7993ecccd56a03e40cd7e5b09b1d404e", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides a list of PHP built-in functions that operate on resources", - "homepage": "https://www.github.com/sebastianbergmann/resource-operations", - "support": { - "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.4" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2024-03-14T16:00:52+00:00" - }, - { - "name": "sebastian/type", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", - "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "require-dev": { - "phpunit/phpunit": "^9.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", - "support": { - "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:13:03+00:00" - }, - { - "name": "sebastian/version", - "version": "3.0.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c6c1022351a901512170118436c764e473f6de8c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", - "reference": "c6c1022351a901512170118436c764e473f6de8c", - "shasum": "" - }, - "require": { - "php": ">=7.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-09-28T06:39:44+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.2.3", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", - "reference": "737eda637ed5e28c3413cb1ebe8bb52cbf1ca7a2", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "support": { - "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.3" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2024-03-03T12:36:25+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": "^8.1" - }, - "platform-dev": [], - "plugin-api-version": "2.6.0" -} diff --git a/config/services.xml b/config/services.xml index 2da5b83..d5008ff 100644 --- a/config/services.xml +++ b/config/services.xml @@ -16,25 +16,25 @@ xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd" > - - + + - - + + - + - + - + - - - - + + + + diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 9860b69..1b89783 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -1,13 +1,20 @@ - - - - tests - - + + + + + + tests + + diff --git a/src/Command/GmvCommand.php b/src/Command/GmvCommand.php index a6d7418..bff430b 100644 --- a/src/Command/GmvCommand.php +++ b/src/Command/GmvCommand.php @@ -16,11 +16,16 @@ use Sylius\GmvBundle\Parser\DateParserInterface; use Sylius\GmvBundle\Provider\GmvProviderInterface; use Sylius\GmvBundle\Validator\InputParametersValidatorInterface; +use Symfony\Component\Console\Attribute\AsCommand; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; +#[AsCommand( + name: 'sylius:gmv:calculate', + description: 'Lightweight local command to calculate the Sylius instance GMV within a specific period' +)] final class GmvCommand extends Command { public function __construct( @@ -34,8 +39,6 @@ public function __construct( protected function configure(): void { $this - ->setName('sylius:gmv:calculate') - ->setDescription('Lightweight local command to calculate the Sylius instance GMV within a specific period') ->addArgument( 'periodStart', InputArgument::OPTIONAL, ' diff --git a/src/Parser/DateParser.php b/src/Parser/DateParser.php index bfcf952..fbe4a97 100644 --- a/src/Parser/DateParser.php +++ b/src/Parser/DateParser.php @@ -33,7 +33,7 @@ public function getDefaultStartDate(): \DateTime { $now = new \DateTime(); return (clone $now) - ->modify('first day of last month'); + ->modify('first day of -12 months'); } public function getDefaultEndDate(): \DateTime From e6c8c19262493b96d68a678059f3636ef3ab7cef Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pysiak?= Date: Wed, 19 Jun 2024 13:39:19 +0200 Subject: [PATCH 04/16] Add sum for each currency --- config/services.xml | 1 - src/Command/GmvCommand.php | 6 ++-- src/Provider/GmvProvider.php | 52 +++++++++++++++++++++++---- src/Provider/GmvProviderInterface.php | 3 +- tests/Command/GmvCommandTest.php | 8 ++--- 5 files changed, 55 insertions(+), 15 deletions(-) diff --git a/config/services.xml b/config/services.xml index d5008ff..3e0e51d 100644 --- a/config/services.xml +++ b/config/services.xml @@ -26,7 +26,6 @@ - diff --git a/src/Command/GmvCommand.php b/src/Command/GmvCommand.php index bff430b..1d80d07 100644 --- a/src/Command/GmvCommand.php +++ b/src/Command/GmvCommand.php @@ -66,12 +66,14 @@ protected function execute(InputInterface $input, OutputInterface $output): int $startDate = $this->dateParser->parseStartOfMonth($periodStart); $endDate = $this->dateParser->parseEndOfMonth($periodEnd); - $gmv = $this->gmvProvider->getGmvForPeriod($startDate, $endDate); + $gmvs = $this->gmvProvider->getGmvForPeriod($startDate, $endDate); $output->writeln('GMV Calculation'); $output->writeln(sprintf('Period Start: %s', $startDate->format('Y-m-d'))); $output->writeln(sprintf('Period End: %s', $endDate->format('Y-m-d'))); - $output->writeln(sprintf('GMV: %s', $gmv)); + foreach ($gmvs as $key => $gmv) { + $output->writeln(sprintf('GMV in %s: %s', $key, $gmv)); + } return Command::SUCCESS; } diff --git a/src/Provider/GmvProvider.php b/src/Provider/GmvProvider.php index 1acbc13..d87ec43 100644 --- a/src/Provider/GmvProvider.php +++ b/src/Provider/GmvProvider.php @@ -14,29 +14,60 @@ namespace Sylius\GmvBundle\Provider; use Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatterInterface; -use Sylius\Component\Channel\Context\ChannelContextInterface; use Sylius\Component\Core\OrderCheckoutStates; use Sylius\Component\Core\OrderPaymentStates; use Sylius\Component\Core\Repository\OrderRepositoryInterface; +use Webmozart\Assert\Assert; final class GmvProvider implements GmvProviderInterface { public function __construct( private readonly OrderRepositoryInterface $orderRepository, - private readonly ChannelContextInterface $channelContext, private readonly MoneyFormatterInterface $moneyFormatter ) { } - public function getGmvForPeriod(\DateTimeInterface $periodStart, \DateTimeInterface $periodEnd): string + /** @return array */ + public function getGmvForPeriod(\DateTimeInterface $periodStart, \DateTimeInterface $periodEnd): array { - $total = $this->calculateGmvForPeriod($periodStart, $periodEnd); - $currencyCode = $this->channelContext->getChannel()->getBaseCurrency()->getCode(); + $gmv = []; + $currencyCodes = $this->findCurrenciesInOrders($periodStart, $periodEnd); - return $this->moneyFormatter->format($total, $currencyCode); + + foreach ($currencyCodes as $currencyCode) { + $total = $this->calculateGmvForPeriodAndCurrency($periodStart, $periodEnd, $currencyCode); + + $gmv[$currencyCode] = $this->moneyFormatter->format($total, $currencyCode); + } + + return $gmv; + } + + /** @return array */ + private function findCurrenciesInOrders(\DateTimeInterface $periodStart, \DateTimeInterface $periodEnd): array + { + $queryBuilder = $this->orderRepository->createListQueryBuilder(); + + $currencies = $queryBuilder + ->select('o.currencyCode') + ->andWhere('o.checkoutCompletedAt >= :periodStart') + ->andWhere('o.checkoutCompletedAt <= :periodEnd') + ->andWhere('o.checkoutState = :completedState') + ->andWhere('o.paymentState != :cancelledState') + ->setParameter('periodStart', $periodStart) + ->setParameter('periodEnd', $periodEnd) + ->setParameter('completedState', OrderCheckoutStates::STATE_COMPLETED) + ->setParameter('cancelledState', OrderPaymentStates::STATE_CANCELLED) + ->groupBy('o.currencyCode') + ->getQuery() + ->getScalarResult(); + + Assert::isArray($currencies); + + return array_map(fn(array $currency) => $currency['currencyCode'], $currencies); } - private function calculateGmvForPeriod(\DateTimeInterface $periodStart, \DateTimeInterface $periodEnd): int + private function calculateGmvForPeriodAndCurrency(\DateTimeInterface $periodStart, \DateTimeInterface $periodEnd, string $currencyCode): int { $queryBuilder = $this->orderRepository->createListQueryBuilder(); @@ -46,10 +77,12 @@ private function calculateGmvForPeriod(\DateTimeInterface $periodStart, \DateTim ->andWhere('o.checkoutCompletedAt <= :periodEnd') ->andWhere('o.checkoutState = :completedState') ->andWhere('o.paymentState != :cancelledState') + ->andWhere('o.currencyCode = :currencyCode') ->setParameter('periodStart', $periodStart) ->setParameter('periodEnd', $periodEnd) ->setParameter('completedState', OrderCheckoutStates::STATE_COMPLETED) ->setParameter('cancelledState', OrderPaymentStates::STATE_CANCELLED) + ->setParameter('currencyCode', $currencyCode) ->getQuery() ->getSingleScalarResult(); @@ -62,14 +95,19 @@ private function calculateGmvForPeriod(\DateTimeInterface $periodStart, \DateTim ->andWhere('o.checkoutCompletedAt <= :periodEnd') ->andWhere('o.checkoutState = :completedState') ->andWhere('o.paymentState != :cancelledState') + ->andWhere('o.currencyCode = :currencyCode') ->setParameter('periodStart', $periodStart) ->setParameter('periodEnd', $periodEnd) ->setParameter('completedState', OrderCheckoutStates::STATE_COMPLETED) ->setParameter('cancelledState', OrderPaymentStates::STATE_CANCELLED) ->setParameter('taxType', 'tax') + ->setParameter('currencyCode', $currencyCode) ->getQuery() ->getSingleScalarResult(); + Assert::integer($totalItemsQuery); + Assert::integer($totalTaxQuery); + $totalItems = intval($totalItemsQuery); $totalTaxes = intval($totalTaxQuery); diff --git a/src/Provider/GmvProviderInterface.php b/src/Provider/GmvProviderInterface.php index d98e874..37e4f11 100644 --- a/src/Provider/GmvProviderInterface.php +++ b/src/Provider/GmvProviderInterface.php @@ -4,5 +4,6 @@ interface GmvProviderInterface { - public function getGmvForPeriod(\DateTimeInterface $periodStart, \DateTimeInterface $periodEnd): string; + /** @return array */ + public function getGmvForPeriod(\DateTimeInterface $periodStart, \DateTimeInterface $periodEnd): array; } diff --git a/tests/Command/GmvCommandTest.php b/tests/Command/GmvCommandTest.php index 39ae9ff..3eda90f 100644 --- a/tests/Command/GmvCommandTest.php +++ b/tests/Command/GmvCommandTest.php @@ -64,7 +64,7 @@ public function testExecuteWithDefaultValues(): void $this->gmvProvider ->method('getGmvForPeriod') - ->willReturn('$1000.00'); + ->willReturn(['USD' => '$1000.00']); $this->commandTester->execute([]); @@ -74,7 +74,7 @@ public function testExecuteWithDefaultValues(): void $this->assertStringContainsString('GMV Calculation', $output); $this->assertStringContainsString('Period Start:', $output); $this->assertStringContainsString('Period End:', $output); - $this->assertStringContainsString('GMV: $1000.00', $output); + $this->assertStringContainsString('GMV in USD: $1000.00', $output); } public function testExecuteWithCustomValues(): void @@ -102,7 +102,7 @@ public function testExecuteWithCustomValues(): void $this->gmvProvider ->method('getGmvForPeriod') ->with($startDate, $endDate) - ->willReturn('$2000.00'); + ->willReturn(['USD' => '$2000.00']); $this->commandTester->execute([ 'periodStart' => $periodStart, @@ -115,7 +115,7 @@ public function testExecuteWithCustomValues(): void $this->assertStringContainsString('GMV Calculation', $output); $this->assertStringContainsString('Period Start:', $output); $this->assertStringContainsString('Period End:', $output); - $this->assertStringContainsString('GMV: $2000.00', $output); + $this->assertStringContainsString('GMV in USD: $2000.00', $output); } public function testExecuteWithInvalidFormatDates(): void From dced02bd7d360b8c4c746342954d1e54ed2085c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pysiak?= Date: Tue, 25 Jun 2024 11:08:41 +0200 Subject: [PATCH 05/16] Add functional tests --- .gitignore | 2 + composer.json | 5 +- phpunit.xml.dist | 6 + src/Command/GmvCommand.php | 7 + src/Provider/GmvProvider.php | 15 +- tests/Application/TestKernel.php | 118 +++++++ tests/Application/config/config.yaml | 22 ++ .../sales_no_shipping_no_taxes.yaml | 249 ++++++++++++++ .../sales_with_shipping_and_taxes.yaml | 305 ++++++++++++++++++ tests/Functional/GmvProviderTest.php | 89 +++++ tests/{Command => Unit}/GmvCommandTest.php | 44 ++- 11 files changed, 848 insertions(+), 14 deletions(-) create mode 100644 tests/Application/TestKernel.php create mode 100644 tests/Application/config/config.yaml create mode 100644 tests/DataFixtures/sales_no_shipping_no_taxes.yaml create mode 100644 tests/DataFixtures/sales_with_shipping_and_taxes.yaml create mode 100644 tests/Functional/GmvProviderTest.php rename tests/{Command => Unit}/GmvCommandTest.php (77%) diff --git a/.gitignore b/.gitignore index 8ae88e5..7bc88b3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ /vendor +!/var/data/.gitkeep +/var /composer.lock /.phpunit.cache diff --git a/composer.json b/composer.json index fea3349..134d069 100644 --- a/composer.json +++ b/composer.json @@ -23,8 +23,9 @@ "sylius/core-bundle": "~1.12.0 || ~1.13.0" }, "require-dev": { - "phpunit/phpunit": "^11.2", - "webmozart/assert": "^1.9" + "phpunit/phpunit": "^10.5", + "webmozart/assert": "^1.9", + "lchrusciel/api-test-case": "^5.0" }, "extra": { "symfony": { diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 1b89783..5132263 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -17,4 +17,10 @@ tests + + + + + + diff --git a/src/Command/GmvCommand.php b/src/Command/GmvCommand.php index 1d80d07..8fa0d63 100644 --- a/src/Command/GmvCommand.php +++ b/src/Command/GmvCommand.php @@ -71,6 +71,13 @@ protected function execute(InputInterface $input, OutputInterface $output): int $output->writeln('GMV Calculation'); $output->writeln(sprintf('Period Start: %s', $startDate->format('Y-m-d'))); $output->writeln(sprintf('Period End: %s', $endDate->format('Y-m-d'))); + + if (empty($gmvs)) { + $output->writeln('No sales found for the given period.'); + + return Command::SUCCESS; + } + foreach ($gmvs as $key => $gmv) { $output->writeln(sprintf('GMV in %s: %s', $key, $gmv)); } diff --git a/src/Provider/GmvProvider.php b/src/Provider/GmvProvider.php index d87ec43..fa09130 100644 --- a/src/Provider/GmvProvider.php +++ b/src/Provider/GmvProvider.php @@ -33,7 +33,6 @@ public function getGmvForPeriod(\DateTimeInterface $periodStart, \DateTimeInterf $gmv = []; $currencyCodes = $this->findCurrenciesInOrders($periodStart, $periodEnd); - foreach ($currencyCodes as $currencyCode) { $total = $this->calculateGmvForPeriodAndCurrency($periodStart, $periodEnd, $currencyCode); @@ -46,9 +45,9 @@ public function getGmvForPeriod(\DateTimeInterface $periodStart, \DateTimeInterf /** @return array */ private function findCurrenciesInOrders(\DateTimeInterface $periodStart, \DateTimeInterface $periodEnd): array { - $queryBuilder = $this->orderRepository->createListQueryBuilder(); + $queryBuilder = $this->orderRepository->createQueryBuilder('o'); - $currencies = $queryBuilder + $query = $queryBuilder ->select('o.currencyCode') ->andWhere('o.checkoutCompletedAt >= :periodStart') ->andWhere('o.checkoutCompletedAt <= :periodEnd') @@ -59,8 +58,9 @@ private function findCurrenciesInOrders(\DateTimeInterface $periodStart, \DateTi ->setParameter('completedState', OrderCheckoutStates::STATE_COMPLETED) ->setParameter('cancelledState', OrderPaymentStates::STATE_CANCELLED) ->groupBy('o.currencyCode') - ->getQuery() - ->getScalarResult(); + ->getQuery(); + + $currencies = $query->getScalarResult(); Assert::isArray($currencies); @@ -69,7 +69,7 @@ private function findCurrenciesInOrders(\DateTimeInterface $periodStart, \DateTi private function calculateGmvForPeriodAndCurrency(\DateTimeInterface $periodStart, \DateTimeInterface $periodEnd, string $currencyCode): int { - $queryBuilder = $this->orderRepository->createListQueryBuilder(); + $queryBuilder = $this->orderRepository->createQueryBuilder('o'); $totalItemsQuery = $queryBuilder ->select('SUM(o.itemsTotal) as totalItems') @@ -105,9 +105,6 @@ private function calculateGmvForPeriodAndCurrency(\DateTimeInterface $periodStar ->getQuery() ->getSingleScalarResult(); - Assert::integer($totalItemsQuery); - Assert::integer($totalTaxQuery); - $totalItems = intval($totalItemsQuery); $totalTaxes = intval($totalTaxQuery); diff --git a/tests/Application/TestKernel.php b/tests/Application/TestKernel.php new file mode 100644 index 0000000..1df2dbf --- /dev/null +++ b/tests/Application/TestKernel.php @@ -0,0 +1,118 @@ +load(__DIR__ . '/config/config.yaml'); + } +} diff --git a/tests/Application/config/config.yaml b/tests/Application/config/config.yaml new file mode 100644 index 0000000..8b02029 --- /dev/null +++ b/tests/Application/config/config.yaml @@ -0,0 +1,22 @@ +imports: + - { resource: '@SyliusCoreBundle/Resources/config/app/config.yml' } + - { resource: '@SyliusGmvBundle/config/services.xml' } + +security: + firewalls: + main: + security: false + +framework: + test: true + session: + handler_id: null + csrf_protection: ~ + router: + resource: ~ + secret: 'test' + +doctrine: + dbal: + driver: pdo_sqlite + path: '%kernel.project_dir%/var/data/test.sqlite' diff --git a/tests/DataFixtures/sales_no_shipping_no_taxes.yaml b/tests/DataFixtures/sales_no_shipping_no_taxes.yaml new file mode 100644 index 0000000..138eeab --- /dev/null +++ b/tests/DataFixtures/sales_no_shipping_no_taxes.yaml @@ -0,0 +1,249 @@ +Sylius\Component\Core\Model\Product: + mug: + code: "MUG" + channels: ["@channel"] + currentLocale: "en_US" + translations: + en_US: "@mug_translation" + +Sylius\Component\Core\Model\ProductTranslation: + mug_translation: + slug: "mug" + locale: "en_US" + name: "Mug" + description: "" + translatable: "@mug" + +Sylius\Component\Core\Model\ProductVariant: + mug_sw: + code: "MUG_SW" + product: "@mug" + currentLocale: "en_US" + translations: + en_US: "@sw_mug_translation" + updatedAt: "<(new \\DateTime('2015-10-10'))>" + channelPricings: + CHANNEL: "@sw_mug_channel_pricing" + EXPENSIVE_CHANNEL: "@sw_mug_expensive_channel_pricing" + hard_available_mug: + code: "HARD_AVAILABLE_MUG" + product: "@mug" + currentLocale: "en_US" + translations: + en_US: "@hard_available_mug_translation" + updatedAt: "<(new \\DateTime('2015-10-05'))>" + channelPricings: + CHANNEL: "@hard_available_mug_channel_pricing" + +Sylius\Component\Core\Model\ChannelPricing: + sw_mug_channel_pricing: + channelCode: "CHANNEL" + price: 2000 + hard_available_mug_channel_pricing: + channelCode: "CHANNEL" + price: 3000 + sw_mug_expensive_channel_pricing: + channelCode: "EXPENSIVE_CHANNEL" + price: 11000 + +Sylius\Component\Product\Model\ProductVariantTranslation: + sw_mug_translation: + locale: "en_US" + name: "Star wars mug" + translatable: "@mug_sw" + hard_available_mug_translation: + locale: "en_US" + name: "Breaking bad mug" + translatable: "@hard_available_mug" + +Sylius\Component\Core\Model\Order: + order_001: + channel: "@channel" + currencyCode: USD + localeCode: en_US + customer: "@customer_oliver" + state: new + checkoutState: completed + paymentState: paid + checkoutCompletedAt: "<(new \\DateTime('2024-01-27 00:00:01'))>" + order_002: + channel: "@channel" + currencyCode: USD + localeCode: en_US + customer: "@customer_oliver" + state: new + checkoutState: completed + paymentState: paid + checkoutCompletedAt: "<(new \\DateTime('2024-03-15 06:00:01'))>" + order_003: + channel: "@channel" + currencyCode: USD + localeCode: en_US + customer: "@customer_oliver" + state: new + checkoutState: completed + paymentState: paid + checkoutCompletedAt: "<(new \\DateTime('2024-03-15 15:00:01'))>" + order_004: + channel: "@channel" + currencyCode: USD + localeCode: en_US + customer: "@customer_oliver" + state: new + checkoutState: completed + paymentState: paid + checkoutCompletedAt: "<(new \\DateTime('2024-03-18 06:00:01'))>" + order_005: + channel: "@channel" + currencyCode: USD + localeCode: en_US + customer: "@customer_oliver" + state: new + checkoutState: completed + paymentState: paid + checkoutCompletedAt: "<(new \\DateTime('2024-02-18 08:00:01'))>" + order_006: + channel: "@channel" + currencyCode: USD + localeCode: en_US + customer: "@customer_oliver" + state: new + checkoutState: completed + paymentState: paid + checkoutCompletedAt: "<(new \\DateTime('2024-02-18 09:30:01'))>" + expensive_order_001: + channel: "@expensive_channel" + currencyCode: EUR + localeCode: en_US + customer: "@customer_oliver" + state: new + checkoutState: completed + paymentState: paid + checkoutCompletedAt: "<(new \\DateTime('2024-01-29 09:30:01'))>" + expensive_order_002: + channel: "@expensive_channel" + currencyCode: EUR + localeCode: en_US + customer: "@customer_oliver" + state: new + checkoutState: completed + paymentState: new + checkoutCompletedAt: "<(new \\DateTime('2024-03-18 09:30:01'))>" + +Sylius\Component\Core\Model\OrderItem: + sw_mug_item_1: + variant: "@mug_sw" + order: "@order_001" + unitPrice: 2000 + sw_mug_item_2: + variant: "@mug_sw" + order: "@order_002" + unitPrice: 32400 + sw_mug_item_4: + variant: "@mug_sw" + order: "@order_004" + unitPrice: 10000 + sw_mug_item_5: + variant: "@mug_sw" + order: "@order_005" + unitPrice: 3400 + sw_mug_item_6: + variant: "@mug_sw" + order: "@order_006" + unitPrice: 52200 + hard_available_mug_item: + variant: "@hard_available_mug" + order: "@order_003" + unitPrice: 12300 + expensive_sw_mug_item_1: + variant: "@mug_sw" + order: "@expensive_order_001" + unitPrice: 22335 + expensive_sw_mug_item_2: + variant: "@mug_sw" + order: "@expensive_order_002" + unitPrice: 4533 + +Sylius\Component\Core\Model\OrderItemUnit: + sw_mug_item_unit1: + __construct: [ "@sw_mug_item_1" ] + sw_mug_item_unit12: + __construct: [ "@sw_mug_item_1" ] + sw_mug_item_unit2: + __construct: [ "@sw_mug_item_2" ] + sw_mug_item_unit4: + __construct: [ "@sw_mug_item_4" ] + sw_mug_item_unit41: + __construct: [ "@sw_mug_item_4" ] + sw_mug_item_unit42: + __construct: [ "@sw_mug_item_4" ] + sw_mug_item_unit5: + __construct: [ "@sw_mug_item_5" ] + sw_mug_item_unit51: + __construct: [ "@sw_mug_item_5" ] + sw_mug_item_unit6: + __construct: [ "@sw_mug_item_6" ] + hard_available_mug_item_unit: + __construct: [ "@hard_available_mug_item" ] + expensive_sw_mug_item_unit1: + __construct: [ "@expensive_sw_mug_item_1" ] + expensive_sw_mug_item_unit12: + __construct: [ "@expensive_sw_mug_item_1" ] + expensive_sw_mug_item_unit13: + __construct: [ "@expensive_sw_mug_item_1" ] + expensive_sw_mug_item_unit2: + __construct: [ "@expensive_sw_mug_item_1" ] + expensive_sw_mug_item_unit3: + __construct: [ "@expensive_sw_mug_item_1" ] + expensive_sw_mug_item_unit31: + __construct: [ "@expensive_sw_mug_item_1" ] + expensive_sw_mug_item_unit32: + __construct: [ "@expensive_sw_mug_item_1" ] + expensive_sw_mug_item_unit33: + __construct: [ "@expensive_sw_mug_item_1" ] + expensive_sw_mug_item_unit34: + __construct: [ "@expensive_sw_mug_item_1" ] + expensive_sw_mug_item_unit4: + __construct: [ "@expensive_sw_mug_item_2" ] + +Sylius\Component\Core\Model\Channel: + channel: + code: "CHANNEL" + name: "Channel" + hostname: "localhost" + description: "Lorem ipsum" + baseCurrency: "@dollar" + defaultLocale: "@locale" + color: "black" + enabled: true + taxCalculationStrategy: "order_items_based" + currencies: ["@dollar"] + expensive_channel: + code: "EXPENSIVE_CHANNEL" + name: "Expensive channel" + hostname: "money.com" + description: "Lorem ipsum" + baseCurrency: "@euro" + defaultLocale: "@locale" + color: "gold" + enabled: true + taxCalculationStrategy: "order_items_based" + currencies: ["@euro"] + +Sylius\Component\Currency\Model\Currency: + dollar: + code: USD + euro: + code: EUR + +Sylius\Component\Locale\Model\Locale: + locale: + code: en_US + +Sylius\Component\Core\Model\Customer: + customer_oliver: + firstName: "Oliver" + lastName: "Queen" + email: "oliver.queen@star-city.com" + emailCanonical: "oliver.queen@star-city.com" + birthday: <(new \DateTime())> diff --git a/tests/DataFixtures/sales_with_shipping_and_taxes.yaml b/tests/DataFixtures/sales_with_shipping_and_taxes.yaml new file mode 100644 index 0000000..4b7b2ad --- /dev/null +++ b/tests/DataFixtures/sales_with_shipping_and_taxes.yaml @@ -0,0 +1,305 @@ +Sylius\Component\Core\Model\Product: + mug: + code: "MUG" + channels: ["@channel"] + currentLocale: "en_US" + translations: + en_US: "@mug_translation" + +Sylius\Component\Core\Model\ProductTranslation: + mug_translation: + slug: "mug" + locale: "en_US" + name: "Mug" + description: "" + translatable: "@mug" + +Sylius\Component\Core\Model\ProductVariant: + mug_sw: + code: "MUG_SW" + product: "@mug" + currentLocale: "en_US" + translations: + en_US: "@sw_mug_translation" + updatedAt: "<(new \\DateTime('2015-10-10'))>" + channelPricings: + CHANNEL: "@sw_mug_channel_pricing" + EXPENSIVE_CHANNEL: "@sw_mug_expensive_channel_pricing" + hard_available_mug: + code: "HARD_AVAILABLE_MUG" + product: "@mug" + currentLocale: "en_US" + translations: + en_US: "@hard_available_mug_translation" + updatedAt: "<(new \\DateTime('2015-10-05'))>" + channelPricings: + CHANNEL: "@hard_available_mug_channel_pricing" + +Sylius\Component\Core\Model\ChannelPricing: + sw_mug_channel_pricing: + channelCode: "CHANNEL" + price: 2000 + hard_available_mug_channel_pricing: + channelCode: "CHANNEL" + price: 3000 + sw_mug_expensive_channel_pricing: + channelCode: "EXPENSIVE_CHANNEL" + price: 11000 + +Sylius\Component\Product\Model\ProductVariantTranslation: + sw_mug_translation: + locale: "en_US" + name: "Star wars mug" + translatable: "@mug_sw" + hard_available_mug_translation: + locale: "en_US" + name: "Breaking bad mug" + translatable: "@hard_available_mug" + +Sylius\Component\Core\Model\Order: + order_001: + channel: "@channel" + currencyCode: USD + localeCode: en_US + customer: "@customer_oliver" + state: new + checkoutState: completed + paymentState: paid + checkoutCompletedAt: "<(new \\DateTime('2024-01-27 00:00:01'))>" + order_002: + channel: "@channel" + currencyCode: USD + localeCode: en_US + customer: "@customer_oliver" + state: new + checkoutState: completed + paymentState: paid + checkoutCompletedAt: "<(new \\DateTime('2024-03-15 06:00:01'))>" + order_003: + channel: "@channel" + currencyCode: USD + localeCode: en_US + customer: "@customer_oliver" + state: new + checkoutState: completed + paymentState: paid + checkoutCompletedAt: "<(new \\DateTime('2024-03-15 15:00:01'))>" + order_004: + channel: "@channel" + currencyCode: USD + localeCode: en_US + customer: "@customer_oliver" + state: new + checkoutState: completed + paymentState: paid + checkoutCompletedAt: "<(new \\DateTime('2024-03-18 06:00:01'))>" + order_005: + channel: "@channel" + currencyCode: USD + localeCode: en_US + customer: "@customer_oliver" + state: new + checkoutState: completed + paymentState: paid + checkoutCompletedAt: "<(new \\DateTime('2024-02-18 08:00:01'))>" + order_006: + channel: "@channel" + currencyCode: USD + localeCode: en_US + customer: "@customer_oliver" + state: new + checkoutState: completed + paymentState: paid + checkoutCompletedAt: "<(new \\DateTime('2024-02-18 09:30:01'))>" + expensive_order_001: + channel: "@expensive_channel" + currencyCode: EUR + localeCode: en_US + customer: "@customer_oliver" + state: new + checkoutState: completed + paymentState: paid + checkoutCompletedAt: "<(new \\DateTime('2024-01-29 09:30:01'))>" + expensive_order_002: + channel: "@expensive_channel" + currencyCode: EUR + localeCode: en_US + customer: "@customer_oliver" + state: new + checkoutState: completed + paymentState: new + checkoutCompletedAt: "<(new \\DateTime('2024-03-18 09:30:01'))>" + +Sylius\Component\Core\Model\OrderItem: + sw_mug_item_1: + variant: "@mug_sw" + order: "@order_001" + unitPrice: 20000 + sw_mug_item_2: + variant: "@mug_sw" + order: "@order_002" + unitPrice: 324000 + sw_mug_item_4: + variant: "@mug_sw" + order: "@order_004" + unitPrice: 100000 + sw_mug_item_5: + variant: "@mug_sw" + order: "@order_005" + unitPrice: 34000 + sw_mug_item_6: + variant: "@mug_sw" + order: "@order_006" + unitPrice: 52200 + hard_available_mug_item: + variant: "@hard_available_mug" + order: "@order_003" + unitPrice: 123000 + expensive_sw_mug_item_1: + variant: "@mug_sw" + order: "@expensive_order_001" + unitPrice: 223350 + expensive_sw_mug_item_2: + variant: "@mug_sw" + order: "@expensive_order_002" + unitPrice: 45330 + +Sylius\Component\Core\Model\OrderItemUnit: + sw_mug_item_unit1: + __construct: [ "@sw_mug_item_1" ] + adjustments: ["@sw_mug_item_1_tax"] + sw_mug_item_unit12: + __construct: [ "@sw_mug_item_1" ] + adjustments: ["@sw_mug_item_1_tax"] + sw_mug_item_unit2: + __construct: [ "@sw_mug_item_2" ] + adjustments: ["@sw_mug_item_2_tax"] + sw_mug_item_unit4: + __construct: [ "@sw_mug_item_4" ] + adjustments: ["@sw_mug_item_4_tax"] + sw_mug_item_unit41: + __construct: [ "@sw_mug_item_4" ] + adjustments: ["@sw_mug_item_4_tax"] + sw_mug_item_unit42: + __construct: [ "@sw_mug_item_4" ] + adjustments: ["@sw_mug_item_4_tax"] + sw_mug_item_unit5: + __construct: [ "@sw_mug_item_5" ] + adjustments: ["@sw_mug_item_5_tax"] + sw_mug_item_unit51: + __construct: [ "@sw_mug_item_5" ] + adjustments: ["@sw_mug_item_5_tax"] + sw_mug_item_unit6: + __construct: [ "@sw_mug_item_6" ] + adjustments: ["@sw_mug_item_6_tax"] + hard_available_mug_item_unit: + __construct: [ "@hard_available_mug_item" ] + adjustments: ["@hard_available_mug_item_tax"] + expensive_sw_mug_item_unit1: + __construct: [ "@expensive_sw_mug_item_1" ] + adjustments: ["@expensive_sw_mug_item_1_tax"] + expensive_sw_mug_item_unit12: + __construct: [ "@expensive_sw_mug_item_1" ] + adjustments: ["@expensive_sw_mug_item_1_tax"] + expensive_sw_mug_item_unit13: + __construct: [ "@expensive_sw_mug_item_1" ] + adjustments: ["@expensive_sw_mug_item_1_tax"] + expensive_sw_mug_item_unit2: + __construct: [ "@expensive_sw_mug_item_1" ] + adjustments: ["@expensive_sw_mug_item_1_tax"] + expensive_sw_mug_item_unit3: + __construct: [ "@expensive_sw_mug_item_1" ] + adjustments: ["@expensive_sw_mug_item_1_tax"] + expensive_sw_mug_item_unit31: + __construct: [ "@expensive_sw_mug_item_1" ] + adjustments: ["@expensive_sw_mug_item_1_tax"] + expensive_sw_mug_item_unit32: + __construct: [ "@expensive_sw_mug_item_1" ] + adjustments: ["@expensive_sw_mug_item_1_tax"] + expensive_sw_mug_item_unit33: + __construct: [ "@expensive_sw_mug_item_1" ] + adjustments: ["@expensive_sw_mug_item_1_tax"] + expensive_sw_mug_item_unit34: + __construct: [ "@expensive_sw_mug_item_1" ] + adjustments: ["@expensive_sw_mug_item_1_tax"] + expensive_sw_mug_item_unit4: + __construct: [ "@expensive_sw_mug_item_2" ] + +Sylius\Component\Core\Model\Adjustment: + sw_mug_item_1_tax: + type: tax + label: "Tax" + amount: 10000 + neutral: true + sw_mug_item_2_tax: + type: tax + label: "Tax" + amount: 16200 + neutral: true + sw_mug_item_4_tax: + type: tax + label: "Tax" + amount: 50000 + neutral: true + sw_mug_item_5_tax: + type: tax + label: "Tax" + amount: 17000 + neutral: true + sw_mug_item_6_tax: + type: tax + label: "Tax" + amount: 26100 + neutral: true + hard_available_mug_item_tax: + type: tax + label: "Tax" + amount: 61500 + neutral: true + expensive_sw_mug_item_1_tax: + type: tax + label: "Tax" + amount: 11168 + neutral: true + +Sylius\Component\Core\Model\Channel: + channel: + code: "CHANNEL" + name: "Channel" + hostname: "localhost" + description: "Lorem ipsum" + baseCurrency: "@dollar" + defaultLocale: "@locale" + color: "black" + enabled: true + taxCalculationStrategy: "order_items_based" + currencies: ["@dollar"] + expensive_channel: + code: "EXPENSIVE_CHANNEL" + name: "Expensive channel" + hostname: "money.com" + description: "Lorem ipsum" + baseCurrency: "@euro" + defaultLocale: "@locale" + color: "gold" + enabled: true + taxCalculationStrategy: "order_items_based" + currencies: ["@euro"] + +Sylius\Component\Currency\Model\Currency: + dollar: + code: USD + euro: + code: EUR + +Sylius\Component\Locale\Model\Locale: + locale: + code: en_US + +Sylius\Component\Core\Model\Customer: + customer_oliver: + firstName: "Oliver" + lastName: "Queen" + email: "oliver.queen@star-city.com" + emailCanonical: "oliver.queen@star-city.com" + birthday: <(new \DateTime())> diff --git a/tests/Functional/GmvProviderTest.php b/tests/Functional/GmvProviderTest.php new file mode 100644 index 0000000..12e7bd2 --- /dev/null +++ b/tests/Functional/GmvProviderTest.php @@ -0,0 +1,89 @@ + 'test']); + + $container = static::getContainer(); + $this->entityManager = $container->get('doctrine.orm.entity_manager'); + $this->dateParser = $container->get('sylius_gmv.parser.date'); + $this->gmvProvider = $container->get('sylius_gmv.provider.gmv'); + + $this->createDatabaseSchema(); + } + + public function testGmvNoSales(): void + { + $periodStart = new \DateTime('2024-01-01'); + $periodEnd = new \DateTime('2024-05-31'); + + $gmv = $this->gmvProvider->getGmvForPeriod($periodStart, $periodEnd); + + $this->assertEquals( + [], + $gmv + ); + } + + + public function testGmvNoShippingNoTaxes(): void + { + $this->loadFixtures('sales_no_shipping_no_taxes.yaml'); + + $periodStart = new \DateTime('2024-01-01'); + $periodEnd = new \DateTime('2024-05-31'); + + $gmv = $this->gmvProvider->getGmvForPeriod($periodStart, $periodEnd); + + $this->assertEquals( + ['USD' => '$1,377.00', 'EUR' => '€2,055.48'], + $gmv + ); + } + + public function testGmvWithShippingAndTaxes(): void + { + $this->loadFixtures('sales_with_shipping_and_taxes.yaml'); + + $periodStart = new \DateTime('2024-01-01'); + $periodEnd = new \DateTime('2024-05-31'); + + $gmv = $this->gmvProvider->getGmvForPeriod($periodStart, $periodEnd); + + $this->assertEquals( + ['USD' => '$7,264.00', 'EUR' => '€20,443.12'], + $gmv + ); + } + + private function createDatabaseSchema(): void + { + $metadata = $this->entityManager->getMetadataFactory()->getAllMetadata(); + $schemaTool = new SchemaTool($this->entityManager); + $schemaTool->dropSchema($metadata); + $schemaTool->createSchema($metadata); + } + + private function loadFixtures(string $filename): void + { + $container = static::getContainer(); + + $loader = $container->get('fidry_alice_data_fixtures.loader.doctrine'); + $loader->load([__DIR__ . '/../DataFixtures/'. $filename], [], []); + } +} diff --git a/tests/Command/GmvCommandTest.php b/tests/Unit/GmvCommandTest.php similarity index 77% rename from tests/Command/GmvCommandTest.php rename to tests/Unit/GmvCommandTest.php index 3eda90f..02cade5 100644 --- a/tests/Command/GmvCommandTest.php +++ b/tests/Unit/GmvCommandTest.php @@ -1,6 +1,6 @@ commandTester->getDisplay(); $this->assertStringContainsString('GMV Calculation', $output); - $this->assertStringContainsString('Period Start:', $output); - $this->assertStringContainsString('Period End:', $output); + $this->assertStringContainsString('Period Start: 2023-01-01', $output); + $this->assertStringContainsString('Period End: 2023-02-28', $output); $this->assertStringContainsString('GMV in USD: $2000.00', $output); } @@ -147,4 +147,42 @@ public function testExecuteWithStartDateLaterThenEndDate(): void $output = $this->commandTester->getDisplay(); $this->assertStringContainsString('Invalid format or start date must be less than end date. Please use MM/YYYY.', $output); } + + public function testExecuteNoSales(): void + { + $this->validator + ->method('validate') + ->willReturn(true); + + $periodStart = '01/2024'; + $periodEnd = '05/2024'; + + $startDate = new \DateTime('2024-01-01'); + $endDate = new \DateTime('2024-04-30'); + + $this->dateParser + ->method('parseStartOfMonth') + ->with($periodStart) + ->willReturn($startDate); + + $this->dateParser + ->method('parseEndOfMonth') + ->with($periodEnd) + ->willReturn($endDate); + + $this->gmvProvider + ->method('getGmvForPeriod') + ->willReturn([]); + + $this->commandTester->execute([ + 'periodStart' => $periodStart, + 'periodEnd' => $periodEnd, + ]); + + $output = $this->commandTester->getDisplay(); + $this->assertStringContainsString('GMV Calculation', $output); + $this->assertStringContainsString('Period Start: 2024-01-01', $output); + $this->assertStringContainsString('Period End: 2024-04-30', $output); + $this->assertStringContainsString('No sales found for the given period', $output); + } } From 85644a72c8937db9c2fde3bd9e41eb2fbf3c74b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pysiak?= Date: Tue, 25 Jun 2024 11:34:20 +0200 Subject: [PATCH 06/16] Ecs --- composer.json | 8 +++++++- ecs.php | 27 +++++++++++++++++++++++++++ src/Command/GmvCommand.php | 13 +++++++------ src/Parser/DateParser.php | 2 ++ src/Parser/DateParserInterface.php | 11 +++++++++++ src/Provider/GmvProvider.php | 8 ++++---- src/Provider/GmvProviderInterface.php | 11 +++++++++++ tests/Application/TestKernel.php | 9 +++++++++ tests/Functional/GmvProviderTest.php | 23 +++++++++++++++++------ tests/Unit/GmvCommandTest.php | 16 +++++++++++++++- 10 files changed, 110 insertions(+), 18 deletions(-) create mode 100644 ecs.php diff --git a/composer.json b/composer.json index 134d069..a0f7e27 100644 --- a/composer.json +++ b/composer.json @@ -25,11 +25,17 @@ "require-dev": { "phpunit/phpunit": "^10.5", "webmozart/assert": "^1.9", - "lchrusciel/api-test-case": "^5.0" + "lchrusciel/api-test-case": "^5.0", + "sylius-labs/coding-standard": "^4.0" }, "extra": { "symfony": { "require": "^5.4 || ^6.4" } + }, + "config": { + "allow-plugins": { + "dealerdirect/phpcodesniffer-composer-installer": true + } } } diff --git a/ecs.php b/ecs.php new file mode 100644 index 0000000..ac9c37d --- /dev/null +++ b/ecs.php @@ -0,0 +1,27 @@ +paths([ + __DIR__ . '/src', + __DIR__ . '/tests', + ]); + + $ecsConfig->import('vendor/sylius-labs/coding-standard/ecs.php'); + + $ecsConfig->ruleWithConfiguration(HeaderCommentFixer::class, [ + 'location' => 'after_open', + 'header' => + 'This file is part of the Sylius package. + +(c) Sylius Sp. z o.o. + +For the full copyright and license information, please view the LICENSE +file that was distributed with this source code.', + ]); +}; diff --git a/src/Command/GmvCommand.php b/src/Command/GmvCommand.php index 8fa0d63..a7d4f55 100644 --- a/src/Command/GmvCommand.php +++ b/src/Command/GmvCommand.php @@ -24,14 +24,14 @@ #[AsCommand( name: 'sylius:gmv:calculate', - description: 'Lightweight local command to calculate the Sylius instance GMV within a specific period' + description: 'Lightweight local command to calculate the Sylius instance GMV within a specific period', )] final class GmvCommand extends Command { public function __construct( private readonly InputParametersValidatorInterface $validator, private readonly DateParserInterface $dateParser, - private readonly GmvProviderInterface $gmvProvider + private readonly GmvProviderInterface $gmvProvider, ) { parent::__construct(); } @@ -41,15 +41,15 @@ protected function configure(): void $this ->addArgument( 'periodStart', - InputArgument::OPTIONAL, ' - The start of the period (e.g., 05/2024)', - $this->dateParser->getDefaultStartDate()->format('m/Y') + InputArgument::OPTIONAL, + 'The start of the period (e.g., 05/2024)', + $this->dateParser->getDefaultStartDate()->format('m/Y'), ) ->addArgument( 'periodEnd', InputArgument::OPTIONAL, 'The end of the period (e.g., 06/2024)', - $this->dateParser->getDefaultEndDate()->format('m/Y') + $this->dateParser->getDefaultEndDate()->format('m/Y'), ); } @@ -60,6 +60,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int if (!$this->validator->validate($periodStart, $periodEnd)) { $output->writeln('Invalid format or start date must be less than end date. Please use MM/YYYY.'); + return Command::FAILURE; } diff --git a/src/Parser/DateParser.php b/src/Parser/DateParser.php index fbe4a97..69f1f75 100644 --- a/src/Parser/DateParser.php +++ b/src/Parser/DateParser.php @@ -32,6 +32,7 @@ public function parseEndOfMonth(string $date): \DateTime public function getDefaultStartDate(): \DateTime { $now = new \DateTime(); + return (clone $now) ->modify('first day of -12 months'); } @@ -39,6 +40,7 @@ public function getDefaultStartDate(): \DateTime public function getDefaultEndDate(): \DateTime { $now = new \DateTime(); + return (clone $now) ->modify('last day of last month'); } diff --git a/src/Parser/DateParserInterface.php b/src/Parser/DateParserInterface.php index 78cd73a..0b7a6f0 100644 --- a/src/Parser/DateParserInterface.php +++ b/src/Parser/DateParserInterface.php @@ -1,5 +1,16 @@ $currency['currencyCode'], $currencies); + return array_map(fn (array $currency) => $currency['currencyCode'], $currencies); } private function calculateGmvForPeriodAndCurrency(\DateTimeInterface $periodStart, \DateTimeInterface $periodEnd, string $currencyCode): int @@ -105,8 +105,8 @@ private function calculateGmvForPeriodAndCurrency(\DateTimeInterface $periodStar ->getQuery() ->getSingleScalarResult(); - $totalItems = intval($totalItemsQuery); - $totalTaxes = intval($totalTaxQuery); + $totalItems = (int) $totalItemsQuery; + $totalTaxes = (int) $totalTaxQuery; return $totalItems - $totalTaxes; } diff --git a/src/Provider/GmvProviderInterface.php b/src/Provider/GmvProviderInterface.php index 37e4f11..4234dff 100644 --- a/src/Provider/GmvProviderInterface.php +++ b/src/Provider/GmvProviderInterface.php @@ -1,5 +1,16 @@ assertEquals( [], - $gmv + $gmv, ); } - public function testGmvNoShippingNoTaxes(): void { $this->loadFixtures('sales_no_shipping_no_taxes.yaml'); @@ -52,7 +63,7 @@ public function testGmvNoShippingNoTaxes(): void $this->assertEquals( ['USD' => '$1,377.00', 'EUR' => '€2,055.48'], - $gmv + $gmv, ); } @@ -67,7 +78,7 @@ public function testGmvWithShippingAndTaxes(): void $this->assertEquals( ['USD' => '$7,264.00', 'EUR' => '€20,443.12'], - $gmv + $gmv, ); } @@ -84,6 +95,6 @@ private function loadFixtures(string $filename): void $container = static::getContainer(); $loader = $container->get('fidry_alice_data_fixtures.loader.doctrine'); - $loader->load([__DIR__ . '/../DataFixtures/'. $filename], [], []); + $loader->load([__DIR__ . '/../DataFixtures/' . $filename], [], []); } } diff --git a/tests/Unit/GmvCommandTest.php b/tests/Unit/GmvCommandTest.php index 02cade5..6c16686 100644 --- a/tests/Unit/GmvCommandTest.php +++ b/tests/Unit/GmvCommandTest.php @@ -1,20 +1,34 @@ Date: Tue, 25 Jun 2024 12:22:59 +0200 Subject: [PATCH 07/16] Add phpstan and fix errors --- composer.json | 3 ++- phpstan.neon.dist | 6 ++++++ src/Command/GmvCommand.php | 4 ++++ src/Parser/DateParser.php | 19 ++++++++++++++----- src/Provider/GmvProvider.php | 3 +++ 5 files changed, 29 insertions(+), 6 deletions(-) create mode 100644 phpstan.neon.dist diff --git a/composer.json b/composer.json index a0f7e27..8310338 100644 --- a/composer.json +++ b/composer.json @@ -26,7 +26,8 @@ "phpunit/phpunit": "^10.5", "webmozart/assert": "^1.9", "lchrusciel/api-test-case": "^5.0", - "sylius-labs/coding-standard": "^4.0" + "sylius-labs/coding-standard": "^4.0", + "phpstan/phpstan": "^1.11" }, "extra": { "symfony": { diff --git a/phpstan.neon.dist b/phpstan.neon.dist new file mode 100644 index 0000000..117edf1 --- /dev/null +++ b/phpstan.neon.dist @@ -0,0 +1,6 @@ +parameters: + level: 8 + paths: + - 'src/' + + diff --git a/src/Command/GmvCommand.php b/src/Command/GmvCommand.php index a7d4f55..1865c3d 100644 --- a/src/Command/GmvCommand.php +++ b/src/Command/GmvCommand.php @@ -21,6 +21,7 @@ use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; +use Webmozart\Assert\Assert; #[AsCommand( name: 'sylius:gmv:calculate', @@ -58,6 +59,9 @@ protected function execute(InputInterface $input, OutputInterface $output): int $periodStart = $input->getArgument('periodStart'); $periodEnd = $input->getArgument('periodEnd'); + Assert::string($periodStart); + Assert::string($periodEnd); + if (!$this->validator->validate($periodStart, $periodEnd)) { $output->writeln('Invalid format or start date must be less than end date. Please use MM/YYYY.'); diff --git a/src/Parser/DateParser.php b/src/Parser/DateParser.php index 69f1f75..e9cff63 100644 --- a/src/Parser/DateParser.php +++ b/src/Parser/DateParser.php @@ -17,15 +17,24 @@ final class DateParser implements DateParserInterface { public function parseStartOfMonth(string $date): \DateTime { - return \DateTime::createFromFormat('m/Y', $date) - ->modify('first day of this month') - ->setTime(0, 0, 0); + $dateTime = \DateTime::createFromFormat('m/Y', $date); + + if ($dateTime === false) { + throw new \InvalidArgumentException('Invalid date format. Expected format: m/Y.'); + } + + return $dateTime->modify('first day of this month')->setTime(0, 0, 0); } public function parseEndOfMonth(string $date): \DateTime { - return \DateTime::createFromFormat('m/Y', $date) - ->modify('last day of this month') + $dateTime = \DateTime::createFromFormat('m/Y', $date); + + if ($dateTime === false) { + throw new \InvalidArgumentException('Invalid date format. Expected format: m/Y.'); + } + + return $dateTime->modify('last day of this month') ->setTime(23, 59, 59); } diff --git a/src/Provider/GmvProvider.php b/src/Provider/GmvProvider.php index 9d992bd..1dc6569 100644 --- a/src/Provider/GmvProvider.php +++ b/src/Provider/GmvProvider.php @@ -14,6 +14,8 @@ namespace Sylius\GmvBundle\Provider; use Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatterInterface; +use Sylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepository; +use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\OrderCheckoutStates; use Sylius\Component\Core\OrderPaymentStates; use Sylius\Component\Core\Repository\OrderRepositoryInterface; @@ -21,6 +23,7 @@ final class GmvProvider implements GmvProviderInterface { + /** @param OrderRepositoryInterface&EntityRepository $orderRepository */ public function __construct( private readonly OrderRepositoryInterface $orderRepository, private readonly MoneyFormatterInterface $moneyFormatter, From e29df58c74efce20067d9e9ff5cc32d2fbc586de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pysiak?= Date: Tue, 25 Jun 2024 12:23:06 +0200 Subject: [PATCH 08/16] Add GA --- .github/workflows/build.yaml | 103 +++++++++++++++++++++++++++++++++++ .gitignore | 4 +- composer.json | 3 +- phpstan.neon.dist | 10 +++- var/data/.gitkeep | 0 5 files changed, 116 insertions(+), 4 deletions(-) create mode 100644 .github/workflows/build.yaml create mode 100644 var/data/.gitkeep diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml new file mode 100644 index 0000000..bb1747f --- /dev/null +++ b/.github/workflows/build.yaml @@ -0,0 +1,103 @@ +name: Build + +on: + push: ~ + pull_request: ~ + release: + types: [created] + workflow_dispatch: ~ + +jobs: + tests: + runs-on: ubuntu-latest + + name: "Sylius ${{ matrix.sylius }}, PHP ${{ matrix.php }}, Symfony ${{ matrix.symfony }}" + + strategy: + fail-fast: false + matrix: + php: ["8.1", "8.2"] + symfony: ["^5.4.21", "^6.4"] + sylius: ["~1.12.0", "~1.13.0"] + + include: + - php: "8.3" + symfony: "^6.4" + sylius: "~1.13.0" + + env: + APP_ENV: test + + steps: + - + uses: actions/checkout@v4 + + - + name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: "${{ matrix.php }}" + extensions: intl + tools: symfony + coverage: none + + - + name: Get Composer cache directory + id: composer-cache + run: echo "dir=$(composer config cache-files-dir)" >> $GITHUB_OUTPUT + + - + name: Cache Composer + uses: actions/cache@v4 + with: + path: ${{ steps.composer-cache.outputs.dir }} + key: ${{ runner.os }}-php-${{ matrix.php }}-composer-${{ hashFiles('**/composer.json **/composer.lock') }} + restore-keys: | + ${{ runner.os }}-php-${{ matrix.php }}-composer- + + - + name: Restrict Symfony version + if: matrix.symfony != '' + run: | + composer global config --no-plugins allow-plugins.symfony/flex true + composer global require --no-progress --no-scripts --no-plugins "symfony/flex:^2.4" + composer config --no-plugins allow-plugins.symfony/thanks true + composer config extra.symfony.require "${{ matrix.symfony }}" + + - + name: Restrict Sylius version + if: matrix.sylius != '' + run: composer require "sylius/sylius:${{ matrix.sylius }}" --no-update --no-scripts --no-interaction + + - + name: Install PHP dependencies + run: composer install --no-interaction + + - + name: Run ECS + run: vendor/bin/ecs check + + - + name: Validate composer.json + run: composer validate --ansi --strict + + - + name: Run PHPStan + run: vendor/bin/phpstan analyse + +# - +# name: Run PHPSpec +# run: vendor/bin/phpspec run --ansi -f progress --no-interaction + + - + name: Run PHPUnit + run: vendor/bin/phpunit --colors=always + + - + name: Upload Behat logs + uses: actions/upload-artifact@v2 + if: failure() + with: + name: Behat logs + path: etc/build/ + if-no-files-found: ignore diff --git a/.gitignore b/.gitignore index 7bc88b3..b48342e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ /vendor +/var/cache/ +/var/logs/ +/var/data/*.sqlite !/var/data/.gitkeep -/var /composer.lock /.phpunit.cache diff --git a/composer.json b/composer.json index 8310338..9eee874 100644 --- a/composer.json +++ b/composer.json @@ -27,7 +27,8 @@ "webmozart/assert": "^1.9", "lchrusciel/api-test-case": "^5.0", "sylius-labs/coding-standard": "^4.0", - "phpstan/phpstan": "^1.11" + "phpstan/phpstan": "^1.11", + "phpstan/phpstan-doctrine": "^1.4" }, "extra": { "symfony": { diff --git a/phpstan.neon.dist b/phpstan.neon.dist index 117edf1..dfeab6e 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -1,6 +1,12 @@ +includes: + - vendor/phpstan/phpstan-doctrine/extension.neon + parameters: level: 8 + reportUnmatchedIgnoredErrors: false paths: - 'src/' - - + excludePaths: + - 'src/DependencyInjection/' + ignoreErrors: + - '#PHPDoc tag @param for parameter \$orderRepository contains generic type Sylius\\Component\\Core\\Repository\\OrderRepositoryInterface but interface Sylius\\Component\\Core\\Repository\\OrderRepositoryInterface is not generic#' diff --git a/var/data/.gitkeep b/var/data/.gitkeep new file mode 100644 index 0000000..e69de29 From 31d6820d36eb99f29c9f2fd480de4f3d4535135f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pysiak?= Date: Tue, 25 Jun 2024 12:53:58 +0200 Subject: [PATCH 09/16] Add phpstan ignore error for sylius 1.12 --- phpstan.neon.dist | 1 + 1 file changed, 1 insertion(+) diff --git a/phpstan.neon.dist b/phpstan.neon.dist index dfeab6e..0bb4801 100644 --- a/phpstan.neon.dist +++ b/phpstan.neon.dist @@ -10,3 +10,4 @@ parameters: - 'src/DependencyInjection/' ignoreErrors: - '#PHPDoc tag @param for parameter \$orderRepository contains generic type Sylius\\Component\\Core\\Repository\\OrderRepositoryInterface but interface Sylius\\Component\\Core\\Repository\\OrderRepositoryInterface is not generic#' + - '#PHPDoc type for property Sylius\\GmvBundle\\Provider\\GmvProvider::\$orderRepository contains generic type Sylius\\Component\\Core\\Repository\\OrderRepositoryInterface but interface Sylius\\Component\\Core\\Repository\\OrderRepositoryInterface is not generic#' From 8a4ebef5c626793f44b048cd97dd7c5f0394b132 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pysiak?= Date: Tue, 25 Jun 2024 13:10:12 +0200 Subject: [PATCH 10/16] Fix for Sylius 1.12 --- tests/Application/TestKernel.php | 9 +++++++-- tests/Application/config/config.yaml | 3 +++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/tests/Application/TestKernel.php b/tests/Application/TestKernel.php index 9cc1c22..3d37df8 100644 --- a/tests/Application/TestKernel.php +++ b/tests/Application/TestKernel.php @@ -68,7 +68,7 @@ final class TestKernel extends Kernel { public function registerBundles(): array { - return [ + $bundles = [ new FrameworkBundle(), new SecurityBundle(), new TwigBundle(), @@ -108,7 +108,6 @@ public function registerBundles(): array new BabDevPagerfantaBundle(), new WebpackEncoreBundle(), new winzouStateMachineBundle(), - new SyliusStateMachineAbstractionBundle(), new DoctrineMigrationsBundle(), new SonataBlockBundle(), new SyliusLabsDoctrineMigrationsExtraBundle(), @@ -118,6 +117,12 @@ public function registerBundles(): array new NelmioAliceBundle(), new FidryAliceDataFixturesBundle(), ]; + + if (SyliusCoreBundle::VERSION_ID >= '11300') { + $bundles[] = new SyliusStateMachineAbstractionBundle(); + } + + return $bundles; } public function registerContainerConfiguration(LoaderInterface $loader): void diff --git a/tests/Application/config/config.yaml b/tests/Application/config/config.yaml index 8b02029..7d06fb0 100644 --- a/tests/Application/config/config.yaml +++ b/tests/Application/config/config.yaml @@ -2,6 +2,9 @@ imports: - { resource: '@SyliusCoreBundle/Resources/config/app/config.yml' } - { resource: '@SyliusGmvBundle/config/services.xml' } +parameters: + locale: en_US + security: firewalls: main: From 19bc7b806a2982b0671459eba60d4aba0bc2258e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pysiak?= Date: Wed, 26 Jun 2024 09:37:35 +0200 Subject: [PATCH 11/16] Minor fixes --- .github/workflows/build.yaml | 13 ---- phpunit.xml.dist | 4 +- src/Command/GmvCommand.php | 4 +- src/Parser/DateParser.php | 9 ++- src/Provider/GmvProvider.php | 63 +++++++------------ src/Validator/InputParametersValidator.php | 20 +++--- .../InputParametersValidatorInterface.php | 4 -- tests/Application/config/config.yaml | 32 +++++----- .../sales_with_shipping_and_taxes.yaml | 49 +++++++++++++++ tests/Functional/GmvProviderTest.php | 9 +-- 10 files changed, 107 insertions(+), 100 deletions(-) diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index bb1747f..b9cf6f7 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -85,19 +85,6 @@ jobs: name: Run PHPStan run: vendor/bin/phpstan analyse -# - -# name: Run PHPSpec -# run: vendor/bin/phpspec run --ansi -f progress --no-interaction - - name: Run PHPUnit run: vendor/bin/phpunit --colors=always - - - - name: Upload Behat logs - uses: actions/upload-artifact@v2 - if: failure() - with: - name: Behat logs - path: etc/build/ - if-no-files-found: ignore diff --git a/phpunit.xml.dist b/phpunit.xml.dist index 5132263..c51f477 100644 --- a/phpunit.xml.dist +++ b/phpunit.xml.dist @@ -11,7 +11,7 @@ --> - + tests @@ -22,5 +22,3 @@ - - diff --git a/src/Command/GmvCommand.php b/src/Command/GmvCommand.php index 1865c3d..86356a7 100644 --- a/src/Command/GmvCommand.php +++ b/src/Command/GmvCommand.php @@ -83,8 +83,8 @@ protected function execute(InputInterface $input, OutputInterface $output): int return Command::SUCCESS; } - foreach ($gmvs as $key => $gmv) { - $output->writeln(sprintf('GMV in %s: %s', $key, $gmv)); + foreach ($gmvs as $currencyCode => $gmv) { + $output->writeln(sprintf('GMV in %s: %s', $currencyCode, $gmv)); } return Command::SUCCESS; diff --git a/src/Parser/DateParser.php b/src/Parser/DateParser.php index e9cff63..942ac9d 100644 --- a/src/Parser/DateParser.php +++ b/src/Parser/DateParser.php @@ -23,7 +23,7 @@ public function parseStartOfMonth(string $date): \DateTime throw new \InvalidArgumentException('Invalid date format. Expected format: m/Y.'); } - return $dateTime->modify('first day of this month')->setTime(0, 0, 0); + return $dateTime->modify('first day of this month 00:00:00'); } public function parseEndOfMonth(string $date): \DateTime @@ -34,15 +34,14 @@ public function parseEndOfMonth(string $date): \DateTime throw new \InvalidArgumentException('Invalid date format. Expected format: m/Y.'); } - return $dateTime->modify('last day of this month') - ->setTime(23, 59, 59); + return $dateTime->modify('last day of this month 23:59:59'); } public function getDefaultStartDate(): \DateTime { $now = new \DateTime(); - return (clone $now) + return $now ->modify('first day of -12 months'); } @@ -50,7 +49,7 @@ public function getDefaultEndDate(): \DateTime { $now = new \DateTime(); - return (clone $now) + return $now ->modify('last day of last month'); } } diff --git a/src/Provider/GmvProvider.php b/src/Provider/GmvProvider.php index 1dc6569..06b98ea 100644 --- a/src/Provider/GmvProvider.php +++ b/src/Provider/GmvProvider.php @@ -13,8 +13,10 @@ namespace Sylius\GmvBundle\Provider; +use Doctrine\ORM\QueryBuilder; use Sylius\Bundle\MoneyBundle\Formatter\MoneyFormatterInterface; use Sylius\Bundle\ResourceBundle\Doctrine\ORM\EntityRepository; +use Sylius\Component\Core\Model\AdjustmentInterface; use Sylius\Component\Core\Model\OrderInterface; use Sylius\Component\Core\OrderCheckoutStates; use Sylius\Component\Core\OrderPaymentStates; @@ -48,22 +50,11 @@ public function getGmvForPeriod(\DateTimeInterface $periodStart, \DateTimeInterf /** @return array */ private function findCurrenciesInOrders(\DateTimeInterface $periodStart, \DateTimeInterface $periodEnd): array { - $queryBuilder = $this->orderRepository->createQueryBuilder('o'); + $queryBuilder = $this->createCommonQueryBuilder($periodStart, $periodEnd); + $queryBuilder->select('o.currencyCode') + ->groupBy('o.currencyCode'); - $query = $queryBuilder - ->select('o.currencyCode') - ->andWhere('o.checkoutCompletedAt >= :periodStart') - ->andWhere('o.checkoutCompletedAt <= :periodEnd') - ->andWhere('o.checkoutState = :completedState') - ->andWhere('o.paymentState != :cancelledState') - ->setParameter('periodStart', $periodStart) - ->setParameter('periodEnd', $periodEnd) - ->setParameter('completedState', OrderCheckoutStates::STATE_COMPLETED) - ->setParameter('cancelledState', OrderPaymentStates::STATE_CANCELLED) - ->groupBy('o.currencyCode') - ->getQuery(); - - $currencies = $query->getScalarResult(); + $currencies = $queryBuilder->getQuery()->getScalarResult(); Assert::isArray($currencies); @@ -72,45 +63,39 @@ private function findCurrenciesInOrders(\DateTimeInterface $periodStart, \DateTi private function calculateGmvForPeriodAndCurrency(\DateTimeInterface $periodStart, \DateTimeInterface $periodEnd, string $currencyCode): int { - $queryBuilder = $this->orderRepository->createQueryBuilder('o'); + $queryBuilder = $this->createCommonQueryBuilder($periodStart, $periodEnd); + $queryBuilder->andWhere('o.currencyCode = :currencyCode') + ->setParameter('currencyCode', $currencyCode); - $totalItemsQuery = $queryBuilder + $totalItemsQuery = (int) $queryBuilder ->select('SUM(o.itemsTotal) as totalItems') - ->andWhere('o.checkoutCompletedAt >= :periodStart') - ->andWhere('o.checkoutCompletedAt <= :periodEnd') - ->andWhere('o.checkoutState = :completedState') - ->andWhere('o.paymentState != :cancelledState') - ->andWhere('o.currencyCode = :currencyCode') - ->setParameter('periodStart', $periodStart) - ->setParameter('periodEnd', $periodEnd) - ->setParameter('completedState', OrderCheckoutStates::STATE_COMPLETED) - ->setParameter('cancelledState', OrderPaymentStates::STATE_CANCELLED) - ->setParameter('currencyCode', $currencyCode) ->getQuery() ->getSingleScalarResult(); - $totalTaxQuery = $queryBuilder + $totalTaxQuery = (int) $queryBuilder ->select('SUM(adjustment.amount) as totalTaxes') ->leftJoin('o.items', 'items') ->leftJoin('items.units', 'units') ->leftJoin('units.adjustments', 'adjustment', 'WITH', 'adjustment.type = :taxType AND adjustment.neutral = true') + ->setParameter('taxType', AdjustmentInterface::TAX_ADJUSTMENT) + ->getQuery() + ->getSingleScalarResult(); + + return $totalItemsQuery - $totalTaxQuery; + } + + private function createCommonQueryBuilder(\DateTimeInterface $periodStart, \DateTimeInterface $periodEnd): QueryBuilder + { + $queryBuilder = $this->orderRepository->createQueryBuilder('o'); + + return $queryBuilder ->andWhere('o.checkoutCompletedAt >= :periodStart') ->andWhere('o.checkoutCompletedAt <= :periodEnd') ->andWhere('o.checkoutState = :completedState') ->andWhere('o.paymentState != :cancelledState') - ->andWhere('o.currencyCode = :currencyCode') ->setParameter('periodStart', $periodStart) ->setParameter('periodEnd', $periodEnd) ->setParameter('completedState', OrderCheckoutStates::STATE_COMPLETED) - ->setParameter('cancelledState', OrderPaymentStates::STATE_CANCELLED) - ->setParameter('taxType', 'tax') - ->setParameter('currencyCode', $currencyCode) - ->getQuery() - ->getSingleScalarResult(); - - $totalItems = (int) $totalItemsQuery; - $totalTaxes = (int) $totalTaxQuery; - - return $totalItems - $totalTaxes; + ->setParameter('cancelledState', OrderPaymentStates::STATE_CANCELLED); } } diff --git a/src/Validator/InputParametersValidator.php b/src/Validator/InputParametersValidator.php index 0a25cee..8300c12 100644 --- a/src/Validator/InputParametersValidator.php +++ b/src/Validator/InputParametersValidator.php @@ -21,16 +21,6 @@ public function __construct(private readonly DateParserInterface $dateParser) { } - public function validateDateFormat(string $date): bool - { - return preg_match('/^(0[1-9]|1[0-2])\/\d{4}$/', $date) === 1; - } - - public function validateDates(\DateTime $startDate, \DateTime $endDate): bool - { - return $startDate < $endDate; - } - public function validate(string $periodStart, string $periodEnd): bool { if (!$this->validateDateFormat($periodStart) || !$this->validateDateFormat($periodEnd)) { @@ -42,4 +32,14 @@ public function validate(string $periodStart, string $periodEnd): bool return $this->validateDates($startDate, $endDate); } + + private function validateDateFormat(string $date): bool + { + return preg_match('/^(0[1-9]|1[0-2])\/\d{4}$/', $date) === 1; + } + + private function validateDates(\DateTime $startDate, \DateTime $endDate): bool + { + return $startDate < $endDate; + } } diff --git a/src/Validator/InputParametersValidatorInterface.php b/src/Validator/InputParametersValidatorInterface.php index 6eccdce..e2c8e9e 100644 --- a/src/Validator/InputParametersValidatorInterface.php +++ b/src/Validator/InputParametersValidatorInterface.php @@ -15,9 +15,5 @@ interface InputParametersValidatorInterface { - public function validateDateFormat(string $date): bool; - - public function validateDates(\DateTime $startDate, \DateTime $endDate): bool; - public function validate(string $periodStart, string $periodEnd): bool; } diff --git a/tests/Application/config/config.yaml b/tests/Application/config/config.yaml index 7d06fb0..e2fa1c2 100644 --- a/tests/Application/config/config.yaml +++ b/tests/Application/config/config.yaml @@ -1,25 +1,25 @@ imports: - - { resource: '@SyliusCoreBundle/Resources/config/app/config.yml' } - - { resource: '@SyliusGmvBundle/config/services.xml' } + - { resource: '@SyliusCoreBundle/Resources/config/app/config.yml' } + - { resource: '@SyliusGmvBundle/config/services.xml' } parameters: - locale: en_US + locale: en_US security: - firewalls: - main: - security: false + firewalls: + main: + security: false framework: - test: true - session: - handler_id: null - csrf_protection: ~ - router: - resource: ~ - secret: 'test' + test: true + session: + handler_id: null + csrf_protection: ~ + router: + resource: ~ + secret: 'test' doctrine: - dbal: - driver: pdo_sqlite - path: '%kernel.project_dir%/var/data/test.sqlite' + dbal: + driver: pdo_sqlite + path: '%kernel.project_dir%/var/data/test.sqlite' diff --git a/tests/DataFixtures/sales_with_shipping_and_taxes.yaml b/tests/DataFixtures/sales_with_shipping_and_taxes.yaml index 4b7b2ad..83a7f0f 100644 --- a/tests/DataFixtures/sales_with_shipping_and_taxes.yaml +++ b/tests/DataFixtures/sales_with_shipping_and_taxes.yaml @@ -66,6 +66,7 @@ Sylius\Component\Core\Model\Order: checkoutState: completed paymentState: paid checkoutCompletedAt: "<(new \\DateTime('2024-01-27 00:00:01'))>" + adjustments: ["@order_001_shipping"] order_002: channel: "@channel" currencyCode: USD @@ -75,6 +76,7 @@ Sylius\Component\Core\Model\Order: checkoutState: completed paymentState: paid checkoutCompletedAt: "<(new \\DateTime('2024-03-15 06:00:01'))>" + adjustments: ["@order_002_shipping"] order_003: channel: "@channel" currencyCode: USD @@ -84,6 +86,7 @@ Sylius\Component\Core\Model\Order: checkoutState: completed paymentState: paid checkoutCompletedAt: "<(new \\DateTime('2024-03-15 15:00:01'))>" + adjustments: ["@order_003_shipping"] order_004: channel: "@channel" currencyCode: USD @@ -93,6 +96,7 @@ Sylius\Component\Core\Model\Order: checkoutState: completed paymentState: paid checkoutCompletedAt: "<(new \\DateTime('2024-03-18 06:00:01'))>" + adjustments: ["@order_004_shipping"] order_005: channel: "@channel" currencyCode: USD @@ -102,6 +106,7 @@ Sylius\Component\Core\Model\Order: checkoutState: completed paymentState: paid checkoutCompletedAt: "<(new \\DateTime('2024-02-18 08:00:01'))>" + adjustments: ["@order_005_shipping"] order_006: channel: "@channel" currencyCode: USD @@ -111,6 +116,7 @@ Sylius\Component\Core\Model\Order: checkoutState: completed paymentState: paid checkoutCompletedAt: "<(new \\DateTime('2024-02-18 09:30:01'))>" + adjustments: ["@order_006_shipping"] expensive_order_001: channel: "@expensive_channel" currencyCode: EUR @@ -120,6 +126,7 @@ Sylius\Component\Core\Model\Order: checkoutState: completed paymentState: paid checkoutCompletedAt: "<(new \\DateTime('2024-01-29 09:30:01'))>" + adjustments: ["@expensive_order_001_shipping"] expensive_order_002: channel: "@expensive_channel" currencyCode: EUR @@ -129,6 +136,7 @@ Sylius\Component\Core\Model\Order: checkoutState: completed paymentState: new checkoutCompletedAt: "<(new \\DateTime('2024-03-18 09:30:01'))>" + adjustments: ["@expensive_order_002_shipping"] Sylius\Component\Core\Model\OrderItem: sw_mug_item_1: @@ -261,6 +269,47 @@ Sylius\Component\Core\Model\Adjustment: label: "Tax" amount: 11168 neutral: true + order_001_shipping: + type: shipping + label: "Shipping" + amount: 1200 + neutral: false + order_002_shipping: + type: shipping + label: "Shipping" + amount: 4500 + neutral: false + order_003_shipping: + type: shipping + label: "Shipping" + amount: 6200 + neutral: false + order_004_shipping: + type: shipping + label: "Shipping" + amount: 5634 + neutral: false + order_005_shipping: + type: shipping + label: "Shipping" + amount: 3300 + neutral: false + order_006_shipping: + type: shipping + label: "Shipping" + amount: 1254 + neutral: false + expensive_order_001_shipping: + type: shipping + label: "Shipping" + amount: 13000 + neutral: false + expensive_order_002_shipping: + type: shipping + label: "Shipping" + amount: 34500 + neutral: false + Sylius\Component\Core\Model\Channel: channel: diff --git a/tests/Functional/GmvProviderTest.php b/tests/Functional/GmvProviderTest.php index 097b573..46429b3 100644 --- a/tests/Functional/GmvProviderTest.php +++ b/tests/Functional/GmvProviderTest.php @@ -15,7 +15,6 @@ use Doctrine\ORM\EntityManagerInterface; use Doctrine\ORM\Tools\SchemaTool; -use Sylius\GmvBundle\Parser\DateParserInterface; use Sylius\GmvBundle\Provider\GmvProviderInterface; use Symfony\Bundle\FrameworkBundle\Test\KernelTestCase; @@ -25,15 +24,12 @@ class GmvProviderTest extends KernelTestCase private EntityManagerInterface $entityManager; - private DateParserInterface $dateParser; - protected function setUp(): void { self::bootKernel(['environment' => 'test']); $container = static::getContainer(); $this->entityManager = $container->get('doctrine.orm.entity_manager'); - $this->dateParser = $container->get('sylius_gmv.parser.date'); $this->gmvProvider = $container->get('sylius_gmv.provider.gmv'); $this->createDatabaseSchema(); @@ -46,10 +42,7 @@ public function testGmvNoSales(): void $gmv = $this->gmvProvider->getGmvForPeriod($periodStart, $periodEnd); - $this->assertEquals( - [], - $gmv, - ); + $this->assertEmpty($gmv); } public function testGmvNoShippingNoTaxes(): void From 9019631bf507bdbe532e005ac679f5393c99da6a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pysiak?= Date: Thu, 27 Jun 2024 06:21:58 +0200 Subject: [PATCH 12/16] Add DefaultDateProvider --- config/services.xml | 10 ++++-- src/Command/GmvCommand.php | 6 ++-- src/Parser/DateParser.php | 16 --------- src/Parser/DateParserInterface.php | 4 --- src/Provider/DefaultDateProvider.php | 33 +++++++++++++++++++ src/Provider/DefaultDateProviderInterface.php | 21 ++++++++++++ tests/Unit/GmvCommandTest.php | 10 ++++-- var/data/.gitkeep | 0 8 files changed, 72 insertions(+), 28 deletions(-) create mode 100644 src/Provider/DefaultDateProvider.php create mode 100644 src/Provider/DefaultDateProviderInterface.php delete mode 100644 var/data/.gitkeep diff --git a/config/services.xml b/config/services.xml index 3e0e51d..c45671e 100644 --- a/config/services.xml +++ b/config/services.xml @@ -16,24 +16,28 @@ xsi:schemaLocation="http://symfony.com/schema/dic/services https://symfony.com/schema/dic/services/services-1.0.xsd" > - + - + - + + + + + diff --git a/src/Command/GmvCommand.php b/src/Command/GmvCommand.php index 86356a7..b78960b 100644 --- a/src/Command/GmvCommand.php +++ b/src/Command/GmvCommand.php @@ -14,6 +14,7 @@ namespace Sylius\GmvBundle\Command; use Sylius\GmvBundle\Parser\DateParserInterface; +use Sylius\GmvBundle\Provider\DefaultDateProviderInterface; use Sylius\GmvBundle\Provider\GmvProviderInterface; use Sylius\GmvBundle\Validator\InputParametersValidatorInterface; use Symfony\Component\Console\Attribute\AsCommand; @@ -33,6 +34,7 @@ public function __construct( private readonly InputParametersValidatorInterface $validator, private readonly DateParserInterface $dateParser, private readonly GmvProviderInterface $gmvProvider, + private readonly DefaultDateProviderInterface $defaultDateProvider, ) { parent::__construct(); } @@ -44,13 +46,13 @@ protected function configure(): void 'periodStart', InputArgument::OPTIONAL, 'The start of the period (e.g., 05/2024)', - $this->dateParser->getDefaultStartDate()->format('m/Y'), + $this->defaultDateProvider->getDefaultStartDate()->format('m/Y'), ) ->addArgument( 'periodEnd', InputArgument::OPTIONAL, 'The end of the period (e.g., 06/2024)', - $this->dateParser->getDefaultEndDate()->format('m/Y'), + $this->defaultDateProvider->getDefaultEndDate()->format('m/Y'), ); } diff --git a/src/Parser/DateParser.php b/src/Parser/DateParser.php index 942ac9d..323f064 100644 --- a/src/Parser/DateParser.php +++ b/src/Parser/DateParser.php @@ -36,20 +36,4 @@ public function parseEndOfMonth(string $date): \DateTime return $dateTime->modify('last day of this month 23:59:59'); } - - public function getDefaultStartDate(): \DateTime - { - $now = new \DateTime(); - - return $now - ->modify('first day of -12 months'); - } - - public function getDefaultEndDate(): \DateTime - { - $now = new \DateTime(); - - return $now - ->modify('last day of last month'); - } } diff --git a/src/Parser/DateParserInterface.php b/src/Parser/DateParserInterface.php index 0b7a6f0..2872708 100644 --- a/src/Parser/DateParserInterface.php +++ b/src/Parser/DateParserInterface.php @@ -18,8 +18,4 @@ interface DateParserInterface public function parseStartOfMonth(string $date): \DateTime; public function parseEndOfMonth(string $date): \DateTime; - - public function getDefaultStartDate(): \DateTime; - - public function getDefaultEndDate(): \DateTime; } diff --git a/src/Provider/DefaultDateProvider.php b/src/Provider/DefaultDateProvider.php new file mode 100644 index 0000000..64012ee --- /dev/null +++ b/src/Provider/DefaultDateProvider.php @@ -0,0 +1,33 @@ +modify('first day of -12 months'); + } + + public function getDefaultEndDate(): \DateTime + { + $now = new \DateTime(); + + return $now + ->modify('last day of last month'); + } +} diff --git a/src/Provider/DefaultDateProviderInterface.php b/src/Provider/DefaultDateProviderInterface.php new file mode 100644 index 0000000..b75daaa --- /dev/null +++ b/src/Provider/DefaultDateProviderInterface.php @@ -0,0 +1,21 @@ +validator = $this->createMock(InputParametersValidatorInterface::class); $this->dateParser = $this->createMock(DateParserInterface::class); $this->gmvProvider = $this->createMock(GmvProviderInterface::class); + $this->defaultDateProvider = $this->createMock(DefaultDateProviderInterface::class); - $command = new GmvCommand($this->validator, $this->dateParser, $this->gmvProvider); + $command = new GmvCommand($this->validator, $this->dateParser, $this->gmvProvider, $this->defaultDateProvider); $application = new Application(); $application->add($command); @@ -51,11 +55,11 @@ private function mockDefaultValues(): void $defaultStartDate = new \DateTime('first day of last month'); $defaultEndDate = new \DateTime('last day of last month'); - $this->dateParser + $this->defaultDateProvider ->method('getDefaultStartDate') ->willReturn($defaultStartDate); - $this->dateParser + $this->defaultDateProvider ->method('getDefaultEndDate') ->willReturn($defaultEndDate); diff --git a/var/data/.gitkeep b/var/data/.gitkeep deleted file mode 100644 index e69de29..0000000 From ab3141b45cc9c5e0394a04b8792a07b3365ad74a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pysiak?= Date: Thu, 27 Jun 2024 06:33:37 +0200 Subject: [PATCH 13/16] Minor changes --- .gitignore | 5 +---- src/Command/GmvCommand.php | 12 +++++++----- src/Provider/GmvProvider.php | 6 +++--- tests/Application/config/config.yaml | 2 +- 4 files changed, 12 insertions(+), 13 deletions(-) diff --git a/.gitignore b/.gitignore index b48342e..7cbdd5c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,7 +1,4 @@ /vendor -/var/cache/ -/var/logs/ -/var/data/*.sqlite -!/var/data/.gitkeep +/var /composer.lock /.phpunit.cache diff --git a/src/Command/GmvCommand.php b/src/Command/GmvCommand.php index b78960b..7aa507d 100644 --- a/src/Command/GmvCommand.php +++ b/src/Command/GmvCommand.php @@ -19,10 +19,10 @@ use Sylius\GmvBundle\Validator\InputParametersValidatorInterface; use Symfony\Component\Console\Attribute\AsCommand; use Symfony\Component\Console\Command\Command; +use Symfony\Component\Console\Helper\ProgressIndicator; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\OutputInterface; -use Webmozart\Assert\Assert; #[AsCommand( name: 'sylius:gmv:calculate', @@ -61,20 +61,22 @@ protected function execute(InputInterface $input, OutputInterface $output): int $periodStart = $input->getArgument('periodStart'); $periodEnd = $input->getArgument('periodEnd'); - Assert::string($periodStart); - Assert::string($periodEnd); - - if (!$this->validator->validate($periodStart, $periodEnd)) { + if (!is_string($periodStart) || !is_string($periodEnd) || !$this->validator->validate($periodStart, $periodEnd)) { $output->writeln('Invalid format or start date must be less than end date. Please use MM/YYYY.'); return Command::FAILURE; } + $progressIndicator = new ProgressIndicator($output); + $progressIndicator->start('Calculating GMV...'); + $startDate = $this->dateParser->parseStartOfMonth($periodStart); $endDate = $this->dateParser->parseEndOfMonth($periodEnd); $gmvs = $this->gmvProvider->getGmvForPeriod($startDate, $endDate); + $progressIndicator->finish('Finished!'); + $output->writeln('GMV Calculation'); $output->writeln(sprintf('Period Start: %s', $startDate->format('Y-m-d'))); $output->writeln(sprintf('Period End: %s', $endDate->format('Y-m-d'))); diff --git a/src/Provider/GmvProvider.php b/src/Provider/GmvProvider.php index 06b98ea..294aa72 100644 --- a/src/Provider/GmvProvider.php +++ b/src/Provider/GmvProvider.php @@ -67,12 +67,12 @@ private function calculateGmvForPeriodAndCurrency(\DateTimeInterface $periodStar $queryBuilder->andWhere('o.currencyCode = :currencyCode') ->setParameter('currencyCode', $currencyCode); - $totalItemsQuery = (int) $queryBuilder + $totalItems = (int) $queryBuilder ->select('SUM(o.itemsTotal) as totalItems') ->getQuery() ->getSingleScalarResult(); - $totalTaxQuery = (int) $queryBuilder + $totalTax = (int) $queryBuilder ->select('SUM(adjustment.amount) as totalTaxes') ->leftJoin('o.items', 'items') ->leftJoin('items.units', 'units') @@ -81,7 +81,7 @@ private function calculateGmvForPeriodAndCurrency(\DateTimeInterface $periodStar ->getQuery() ->getSingleScalarResult(); - return $totalItemsQuery - $totalTaxQuery; + return $totalItems - $totalTax; } private function createCommonQueryBuilder(\DateTimeInterface $periodStart, \DateTimeInterface $periodEnd): QueryBuilder diff --git a/tests/Application/config/config.yaml b/tests/Application/config/config.yaml index e2fa1c2..8f1accc 100644 --- a/tests/Application/config/config.yaml +++ b/tests/Application/config/config.yaml @@ -22,4 +22,4 @@ framework: doctrine: dbal: driver: pdo_sqlite - path: '%kernel.project_dir%/var/data/test.sqlite' + path: '%kernel.project_dir%/var/test.sqlite' From e63896e734b7b6652ac05dcd4e22bc849421a8af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pysiak?= Date: Thu, 27 Jun 2024 07:04:06 +0200 Subject: [PATCH 14/16] Add .gitattributes --- .gitattributes | 7 +++++++ 1 file changed, 7 insertions(+) create mode 100644 .gitattributes diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..f069679 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,7 @@ +/.github export-ignore +/tests export-ignore +.gitingore export-ignore +.gitattributes export-ignore +ecs.php export-ignore +phpstan.neon export-ignore +phpunit.xml.dist export-ignore From a417b8fbdb897927ecc360a07485f36b940d5fed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pysiak?= Date: Thu, 27 Jun 2024 07:13:58 +0200 Subject: [PATCH 15/16] Fixes --- src/Provider/DefaultDateProvider.php | 6 ++---- src/Provider/GmvProvider.php | 3 ++- tests/DataFixtures/sales_with_shipping_and_taxes.yaml | 1 - 3 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/Provider/DefaultDateProvider.php b/src/Provider/DefaultDateProvider.php index 64012ee..d03da4f 100644 --- a/src/Provider/DefaultDateProvider.php +++ b/src/Provider/DefaultDateProvider.php @@ -19,15 +19,13 @@ public function getDefaultStartDate(): \DateTime { $now = new \DateTime(); - return $now - ->modify('first day of -12 months'); + return $now->modify('first day of -12 months'); } public function getDefaultEndDate(): \DateTime { $now = new \DateTime(); - return $now - ->modify('last day of last month'); + return $now->modify('last day of last month'); } } diff --git a/src/Provider/GmvProvider.php b/src/Provider/GmvProvider.php index 294aa72..dea5a2f 100644 --- a/src/Provider/GmvProvider.php +++ b/src/Provider/GmvProvider.php @@ -64,7 +64,8 @@ private function findCurrenciesInOrders(\DateTimeInterface $periodStart, \DateTi private function calculateGmvForPeriodAndCurrency(\DateTimeInterface $periodStart, \DateTimeInterface $periodEnd, string $currencyCode): int { $queryBuilder = $this->createCommonQueryBuilder($periodStart, $periodEnd); - $queryBuilder->andWhere('o.currencyCode = :currencyCode') + $queryBuilder + ->andWhere('o.currencyCode = :currencyCode') ->setParameter('currencyCode', $currencyCode); $totalItems = (int) $queryBuilder diff --git a/tests/DataFixtures/sales_with_shipping_and_taxes.yaml b/tests/DataFixtures/sales_with_shipping_and_taxes.yaml index 83a7f0f..6ecf887 100644 --- a/tests/DataFixtures/sales_with_shipping_and_taxes.yaml +++ b/tests/DataFixtures/sales_with_shipping_and_taxes.yaml @@ -310,7 +310,6 @@ Sylius\Component\Core\Model\Adjustment: amount: 34500 neutral: false - Sylius\Component\Core\Model\Channel: channel: code: "CHANNEL" From b87723abe7e4a09332a5123228ed664c2234962c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Pysiak?= Date: Thu, 27 Jun 2024 07:50:51 +0200 Subject: [PATCH 16/16] Add not neutral tax adjustments --- tests/DataFixtures/sales_with_shipping_and_taxes.yaml | 4 ++-- tests/Functional/GmvProviderTest.php | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/tests/DataFixtures/sales_with_shipping_and_taxes.yaml b/tests/DataFixtures/sales_with_shipping_and_taxes.yaml index 6ecf887..2c7c5bb 100644 --- a/tests/DataFixtures/sales_with_shipping_and_taxes.yaml +++ b/tests/DataFixtures/sales_with_shipping_and_taxes.yaml @@ -263,12 +263,12 @@ Sylius\Component\Core\Model\Adjustment: type: tax label: "Tax" amount: 61500 - neutral: true + neutral: false expensive_sw_mug_item_1_tax: type: tax label: "Tax" amount: 11168 - neutral: true + neutral: false order_001_shipping: type: shipping label: "Shipping" diff --git a/tests/Functional/GmvProviderTest.php b/tests/Functional/GmvProviderTest.php index 46429b3..90cce84 100644 --- a/tests/Functional/GmvProviderTest.php +++ b/tests/Functional/GmvProviderTest.php @@ -70,7 +70,7 @@ public function testGmvWithShippingAndTaxes(): void $gmv = $this->gmvProvider->getGmvForPeriod($periodStart, $periodEnd); $this->assertEquals( - ['USD' => '$7,264.00', 'EUR' => '€20,443.12'], + ['USD' => '$8,494.00', 'EUR' => '€20,666.48'], $gmv, ); }