From db020fc14205259a154589accea490c3933e3098 Mon Sep 17 00:00:00 2001 From: Serhii Korneliuk Date: Thu, 7 Dec 2023 15:17:35 +0200 Subject: [PATCH] [FIX] Vendor update. --- core/composer.lock | 17674 ++++++++-------- core/vendor/autoload.php | 18 - core/vendor/bin/carbon.bat | 5 - core/vendor/bin/composer.bat | 5 - core/vendor/bin/doctrine-dbal.bat | 5 - core/vendor/bin/patch-type-declarations | 10 +- core/vendor/bin/var-dump-server | 10 +- core/vendor/composer/ClassLoader.php | 137 +- core/vendor/composer/InstalledVersions.php | 33 +- core/vendor/composer/LICENSE | 2 - core/vendor/composer/autoload_classmap.php | 2 +- core/vendor/composer/autoload_files.php | 26 +- core/vendor/composer/autoload_namespaces.php | 2 +- core/vendor/composer/autoload_psr4.php | 4 +- core/vendor/composer/autoload_real.php | 54 +- core/vendor/composer/autoload_static.php | 28 +- core/vendor/composer/composer/doc/00-intro.md | 197 - .../composer/composer/doc/01-basic-usage.md | 279 - .../composer/composer/doc/02-libraries.md | 153 - core/vendor/composer/composer/doc/03-cli.md | 1299 -- .../vendor/composer/composer/doc/04-schema.md | 1002 - .../composer/composer/doc/05-repositories.md | 805 - .../vendor/composer/composer/doc/06-config.md | 423 - .../composer/composer/doc/07-runtime.md | 178 - .../composer/composer/doc/08-community.md | 36 - .../composer/composer/doc/articles/aliases.md | 111 - .../authentication-for-private-packages.md | 362 - .../doc/articles/autoloader-optimization.md | 111 - .../composer-platform-dependencies.md | 77 - .../doc/articles/custom-installers.md | 214 - .../doc/articles/handling-private-packages.md | 342 - .../composer/composer/doc/articles/plugins.md | 387 - .../doc/articles/repository-priorities.md | 95 - .../doc/articles/resolving-merge-conflicts.md | 154 - .../composer/composer/doc/articles/scripts.md | 443 - .../composer/doc/articles/troubleshooting.md | 393 - .../composer/doc/articles/vendor-binaries.md | 165 - .../composer/doc/articles/versions.md | 254 - .../composer/doc/dev/DefaultPolicy.md | 55 - ...ckage-to-a-custom-path-for-my-framework.md | 55 - ...ow-to-install-composer-programmatically.md | 42 - ...ow-to-install-untrusted-packages-safely.md | 41 - ...the-dependencies-in-my-vendor-directory.md | 32 - ...mbering-system-does-composer-itself-use.md | 4 - ...-unbound-version-constraints-a-bad-idea.md | 21 - ...ng-comparisons-and-wildcards-a-bad-idea.md | 21 - ...-composer-load-repositories-recursively.md | 35 - .../composer/doc/fixtures/fixtures.md | 21 - .../repo-composer-plain/packages.json | 158 - ...156dd4d0821a97fd3e428bc910833e3e46dbe.json | 50 - ...138e5f3b79029c1f8d9ab5b477ea15776ba0a.json | 77 - ...67b9bea558b971e5b082f330ae4f1d484c321.json | 50 - ...791c612db0c05e22d90e9286e233cacd86ed8.json | 16 - ...d601923a5a00ccc5fcce50a77ecdd461eb72d.json | 22 - .../packages.json | 9 - .../src/Composer/Autoload/PhpFileCleaner.php | 247 - core/vendor/composer/installed.json | 120 +- core/vendor/composer/installed.php | 272 +- core/vendor/composer/platform_check.php | 4 +- .../symfony/error-handler/BufferingLogger.php | 5 +- .../error-handler/DebugClassLoader.php | 10 +- .../ErrorRenderer/FileLinkFormatter.php | 9 +- .../Exception/SilencedErrorContext.php | 2 +- .../Resources/bin/patch-type-declarations | 2 +- .../symfony/error-handler/composer.json | 6 +- .../Debug/TraceableEventDispatcher.php | 37 +- .../Debug/WrappedListener.php | 2 +- .../RegisterListenersPass.php | 5 +- .../event-dispatcher/EventDispatcher.php | 24 +- .../EventDispatcherInterface.php | 17 +- .../symfony/event-dispatcher/GenericEvent.php | 4 +- .../ImmutableEventDispatcher.php | 20 +- .../symfony/event-dispatcher/composer.json | 16 +- core/vendor/symfony/filesystem/CHANGELOG.md | 5 - core/vendor/symfony/filesystem/Filesystem.php | 54 +- core/vendor/symfony/filesystem/composer.json | 2 +- core/vendor/symfony/string/AbstractString.php | 4 +- core/vendor/symfony/string/LazyString.php | 2 +- .../symfony/string/Slugger/AsciiSlugger.php | 5 +- core/vendor/symfony/string/UnicodeString.php | 5 +- core/vendor/symfony/string/composer.json | 10 +- core/vendor/symfony/var-dumper/CHANGELOG.md | 7 - .../symfony/var-dumper/Caster/AmqpCaster.php | 25 +- .../symfony/var-dumper/Caster/ClassStub.php | 5 +- .../var-dumper/Caster/CutArrayStub.php | 2 +- .../symfony/var-dumper/Caster/DOMCaster.php | 75 +- .../symfony/var-dumper/Caster/DateCaster.php | 22 +- .../var-dumper/Caster/DoctrineCaster.php | 15 +- .../symfony/var-dumper/Caster/EnumStub.php | 2 +- .../var-dumper/Caster/ExceptionCaster.php | 42 +- .../symfony/var-dumper/Caster/FiberCaster.php | 5 +- .../symfony/var-dumper/Caster/FrameStub.php | 4 +- .../symfony/var-dumper/Caster/IntlCaster.php | 25 +- .../symfony/var-dumper/Caster/LinkStub.php | 2 +- .../var-dumper/Caster/MemcachedCaster.php | 5 +- .../symfony/var-dumper/Caster/PdoCaster.php | 10 +- .../symfony/var-dumper/Caster/PgSqlCaster.php | 15 +- .../var-dumper/Caster/ProxyManagerCaster.php | 5 +- .../var-dumper/Caster/RdKafkaCaster.php | 60 +- .../symfony/var-dumper/Caster/RedisCaster.php | 15 +- .../var-dumper/Caster/ReflectionCaster.php | 77 +- .../var-dumper/Caster/ResourceCaster.php | 25 +- .../symfony/var-dumper/Caster/SplCaster.php | 50 +- .../symfony/var-dumper/Caster/StubCaster.php | 25 +- .../var-dumper/Caster/SymfonyCaster.php | 30 +- .../symfony/var-dumper/Caster/TraceStub.php | 8 +- .../var-dumper/Caster/XmlReaderCaster.php | 5 +- .../var-dumper/Caster/XmlResourceCaster.php | 5 +- .../var-dumper/Cloner/AbstractCloner.php | 24 +- .../symfony/var-dumper/Cloner/Cursor.php | 34 +- .../vendor/symfony/var-dumper/Cloner/Data.php | 9 +- .../var-dumper/Cloner/DumperInterface.php | 16 +- .../vendor/symfony/var-dumper/Cloner/Stub.php | 16 +- .../var-dumper/Dumper/AbstractDumper.php | 16 +- .../symfony/var-dumper/Dumper/CliDumper.php | 72 +- .../ContextProvider/SourceContextProvider.php | 5 +- .../Dumper/ContextualizedDumper.php | 5 +- .../symfony/var-dumper/Dumper/HtmlDumper.php | 60 +- .../var-dumper/Dumper/ServerDumper.php | 5 +- core/vendor/symfony/var-dumper/VarDumper.php | 13 +- core/vendor/symfony/var-dumper/composer.json | 16 +- 121 files changed, 10001 insertions(+), 17949 deletions(-) delete mode 100644 core/vendor/bin/carbon.bat delete mode 100644 core/vendor/bin/composer.bat delete mode 100644 core/vendor/bin/doctrine-dbal.bat delete mode 100644 core/vendor/composer/composer/doc/00-intro.md delete mode 100644 core/vendor/composer/composer/doc/01-basic-usage.md delete mode 100644 core/vendor/composer/composer/doc/02-libraries.md delete mode 100644 core/vendor/composer/composer/doc/03-cli.md delete mode 100644 core/vendor/composer/composer/doc/04-schema.md delete mode 100644 core/vendor/composer/composer/doc/05-repositories.md delete mode 100644 core/vendor/composer/composer/doc/06-config.md delete mode 100644 core/vendor/composer/composer/doc/07-runtime.md delete mode 100644 core/vendor/composer/composer/doc/08-community.md delete mode 100644 core/vendor/composer/composer/doc/articles/aliases.md delete mode 100644 core/vendor/composer/composer/doc/articles/authentication-for-private-packages.md delete mode 100644 core/vendor/composer/composer/doc/articles/autoloader-optimization.md delete mode 100644 core/vendor/composer/composer/doc/articles/composer-platform-dependencies.md delete mode 100644 core/vendor/composer/composer/doc/articles/custom-installers.md delete mode 100644 core/vendor/composer/composer/doc/articles/handling-private-packages.md delete mode 100644 core/vendor/composer/composer/doc/articles/plugins.md delete mode 100644 core/vendor/composer/composer/doc/articles/repository-priorities.md delete mode 100644 core/vendor/composer/composer/doc/articles/resolving-merge-conflicts.md delete mode 100644 core/vendor/composer/composer/doc/articles/scripts.md delete mode 100644 core/vendor/composer/composer/doc/articles/troubleshooting.md delete mode 100644 core/vendor/composer/composer/doc/articles/vendor-binaries.md delete mode 100644 core/vendor/composer/composer/doc/articles/versions.md delete mode 100644 core/vendor/composer/composer/doc/dev/DefaultPolicy.md delete mode 100644 core/vendor/composer/composer/doc/faqs/how-do-i-install-a-package-to-a-custom-path-for-my-framework.md delete mode 100644 core/vendor/composer/composer/doc/faqs/how-to-install-composer-programmatically.md delete mode 100644 core/vendor/composer/composer/doc/faqs/how-to-install-untrusted-packages-safely.md delete mode 100644 core/vendor/composer/composer/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md delete mode 100644 core/vendor/composer/composer/doc/faqs/which-version-numbering-system-does-composer-itself-use.md delete mode 100644 core/vendor/composer/composer/doc/faqs/why-are-unbound-version-constraints-a-bad-idea.md delete mode 100644 core/vendor/composer/composer/doc/faqs/why-are-version-constraints-combining-comparisons-and-wildcards-a-bad-idea.md delete mode 100644 core/vendor/composer/composer/doc/faqs/why-cant-composer-load-repositories-recursively.md delete mode 100644 core/vendor/composer/composer/doc/fixtures/fixtures.md delete mode 100644 core/vendor/composer/composer/doc/fixtures/repo-composer-plain/packages.json delete mode 100644 core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/bar/baz$923363b3c22e73abb2e3fd891c8156dd4d0821a97fd3e428bc910833e3e46dbe.json delete mode 100644 core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/foo/bar$4baabb3303afa3e34a4d3af18fb138e5f3b79029c1f8d9ab5b477ea15776ba0a.json delete mode 100644 core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/gar/nix$5d210670cb46c8364c8e3fb449967b9bea558b971e5b082f330ae4f1d484c321.json delete mode 100644 core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/provider-active$1893a061e579543822389ecd12d791c612db0c05e22d90e9286e233cacd86ed8.json delete mode 100644 core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/qux/quux$c142d1a07ca354be46b613f59f1d601923a5a00ccc5fcce50a77ecdd461eb72d.json delete mode 100644 core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/packages.json delete mode 100644 core/vendor/composer/composer/src/Composer/Autoload/PhpFileCleaner.php diff --git a/core/composer.lock b/core/composer.lock index 763fa21d0c..1375a73c13 100644 --- a/core/composer.lock +++ b/core/composer.lock @@ -1,8843 +1,8845 @@ { - "_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": "b2dd4bc0a9d428c1a7b24991e42c8bfe", - "packages": [ - { - "name": "brick/math", - "version": "0.11.0", - "source": { - "type": "git", - "url": "https://github.com/brick/math.git", - "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/0ad82ce168c82ba30d1c01ec86116ab52f589478", - "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478", - "shasum": "" - }, - "require": { - "php": "^8.0" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^9.0", - "vimeo/psalm": "5.0.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Brick\\Math\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Arbitrary-precision arithmetic library", - "keywords": [ - "Arbitrary-precision", - "BigInteger", - "BigRational", - "arithmetic", - "bigdecimal", - "bignum", - "brick", - "math" - ], - "support": { - "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.11.0" - }, - "funding": [ - { - "url": "https://github.com/BenMorel", - "type": "github" - } - ], - "time": "2023-01-15T23:15:59+00:00" - }, - { - "name": "carbonphp/carbon-doctrine-types", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git", - "reference": "67a77972b9f398ae7068dabacc39c08aeee170d5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/67a77972b9f398ae7068dabacc39c08aeee170d5", - "reference": "67a77972b9f398ae7068dabacc39c08aeee170d5", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "conflict": { - "doctrine/dbal": "<3.7.0 || >=4.0.0" - }, - "require-dev": { - "doctrine/dbal": "^3.7.0", - "nesbot/carbon": "^2.71.0 || ^3.0.0", - "phpunit/phpunit": "^10.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Carbon\\Doctrine\\": "src/Carbon/Doctrine/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "KyleKatarn", - "email": "kylekatarnls@gmail.com" - } - ], - "description": "Types to use Carbon in Doctrine", - "keywords": [ - "carbon", - "date", - "datetime", - "doctrine", - "time" - ], - "support": { - "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", - "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.0.0" - }, - "funding": [ - { - "url": "https://github.com/kylekatarnls", - "type": "github" - }, - { - "url": "https://opencollective.com/Carbon", - "type": "open_collective" - }, - { - "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", - "type": "tidelift" - } - ], - "time": "2023-10-01T14:29:01+00:00" - }, - { - "name": "composer/ca-bundle", - "version": "1.3.7", - "source": { - "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "76e46335014860eec1aa5a724799a00a2e47cc85" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/76e46335014860eec1aa5a724799a00a2e47cc85", - "reference": "76e46335014860eec1aa5a724799a00a2e47cc85", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "ext-pcre": "*", - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "psr/log": "^1.0", - "symfony/phpunit-bridge": "^4.2 || ^5", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\CaBundle\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", - "keywords": [ - "cabundle", - "cacert", - "certificate", - "ssl", - "tls" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.3.7" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2023-08-30T09:31:38+00:00" - }, - { - "name": "composer/class-map-generator", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/composer/class-map-generator.git", - "reference": "953cc4ea32e0c31f2185549c7d216d7921f03da9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/class-map-generator/zipball/953cc4ea32e0c31f2185549c7d216d7921f03da9", - "reference": "953cc4ea32e0c31f2185549c7d216d7921f03da9", - "shasum": "" - }, - "require": { - "composer/pcre": "^2.1 || ^3.1", - "php": "^7.2 || ^8.0", - "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7" - }, - "require-dev": { - "phpstan/phpstan": "^1.6", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/filesystem": "^5.4 || ^6", - "symfony/phpunit-bridge": "^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\ClassMapGenerator\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "Utilities to scan PHP code and generate class maps.", - "keywords": [ - "classmap" - ], - "support": { - "issues": "https://github.com/composer/class-map-generator/issues", - "source": "https://github.com/composer/class-map-generator/tree/1.1.0" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2023-06-30T13:58:57+00:00" - }, - { - "name": "composer/composer", - "version": "2.6.5", - "source": { - "type": "git", - "url": "https://github.com/composer/composer.git", - "reference": "4b0fe89db9e65b1e64df633a992e70a7a215ab33" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/4b0fe89db9e65b1e64df633a992e70a7a215ab33", - "reference": "4b0fe89db9e65b1e64df633a992e70a7a215ab33", - "shasum": "" - }, - "require": { - "composer/ca-bundle": "^1.0", - "composer/class-map-generator": "^1.0", - "composer/metadata-minifier": "^1.0", - "composer/pcre": "^2.1 || ^3.1", - "composer/semver": "^3.2.5", - "composer/spdx-licenses": "^1.5.7", - "composer/xdebug-handler": "^2.0.2 || ^3.0.3", - "justinrainbow/json-schema": "^5.2.11", - "php": "^7.2.5 || ^8.0", - "psr/log": "^1.0 || ^2.0 || ^3.0", - "react/promise": "^2.8 || ^3", - "seld/jsonlint": "^1.4", - "seld/phar-utils": "^1.2", - "seld/signal-handler": "^2.0", - "symfony/console": "^5.4.11 || ^6.0.11 || ^7", - "symfony/filesystem": "^5.4 || ^6.0 || ^7", - "symfony/finder": "^5.4 || ^6.0 || ^7", - "symfony/polyfill-php73": "^1.24", - "symfony/polyfill-php80": "^1.24", - "symfony/polyfill-php81": "^1.24", - "symfony/process": "^5.4 || ^6.0 || ^7" - }, - "require-dev": { - "phpstan/phpstan": "^1.9.3", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1.0", - "phpstan/phpstan-strict-rules": "^1", - "phpstan/phpstan-symfony": "^1.2.10", - "symfony/phpunit-bridge": "^6.0 || ^7" - }, - "suggest": { - "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", - "ext-zip": "Enabling the zip extension allows you to unzip archives", - "ext-zlib": "Allow gzip compression of HTTP requests" - }, - "bin": [ - "bin/composer" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.6-dev" - }, - "phpstan": { - "includes": [ - "phpstan/rules.neon" - ] - } - }, - "autoload": { - "psr-4": { - "Composer\\": "src/Composer/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "https://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", - "homepage": "https://getcomposer.org/", - "keywords": [ - "autoload", - "dependency", - "package" - ], - "support": { - "irc": "ircs://irc.libera.chat:6697/composer", - "issues": "https://github.com/composer/composer/issues", - "security": "https://github.com/composer/composer/security/policy", - "source": "https://github.com/composer/composer/tree/2.6.5" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2023-10-06T08:11:52+00:00" - }, - { - "name": "composer/metadata-minifier", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/composer/metadata-minifier.git", - "reference": "c549d23829536f0d0e984aaabbf02af91f443207" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/c549d23829536f0d0e984aaabbf02af91f443207", - "reference": "c549d23829536f0d0e984aaabbf02af91f443207", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "composer/composer": "^2", - "phpstan/phpstan": "^0.12.55", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\MetadataMinifier\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Small utility library that handles metadata minification and expansion.", - "keywords": [ - "composer", - "compression" - ], - "support": { - "issues": "https://github.com/composer/metadata-minifier/issues", - "source": "https://github.com/composer/metadata-minifier/tree/1.0.0" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2021-04-07T13:37:33+00:00" - }, - { - "name": "composer/pcre", - "version": "3.1.1", - "source": { - "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/00104306927c7a0919b4ced2aaa6782c1e61a3c9", - "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9", - "shasum": "" - }, - "require": { - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.3", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Pcre\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "PCRE wrapping library that offers type-safe preg_* replacements.", - "keywords": [ - "PCRE", - "preg", - "regex", - "regular expression" - ], - "support": { - "issues": "https://github.com/composer/pcre/issues", - "source": "https://github.com/composer/pcre/tree/3.1.1" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2023-10-11T07:11:09+00:00" - }, - { - "name": "composer/semver", - "version": "3.4.0", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32", - "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.4", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Semver\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "Semver library that offers utilities, version constraint parsing and validation.", - "keywords": [ - "semantic", - "semver", - "validation", - "versioning" - ], - "support": { - "irc": "ircs://irc.libera.chat:6697/composer", - "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.4.0" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2023-08-31T09:50:34+00:00" - }, - { - "name": "composer/spdx-licenses", - "version": "1.5.8", - "source": { - "type": "git", - "url": "https://github.com/composer/spdx-licenses.git", - "reference": "560bdcf8deb88ae5d611c80a2de8ea9d0358cc0a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/560bdcf8deb88ae5d611c80a2de8ea9d0358cc0a", - "reference": "560bdcf8deb88ae5d611c80a2de8ea9d0358cc0a", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Spdx\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "SPDX licenses list and validation library.", - "keywords": [ - "license", - "spdx", - "validator" - ], - "support": { - "irc": "ircs://irc.libera.chat:6697/composer", - "issues": "https://github.com/composer/spdx-licenses/issues", - "source": "https://github.com/composer/spdx-licenses/tree/1.5.8" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2023-11-20T07:44:33+00:00" - }, - { - "name": "composer/xdebug-handler", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/composer/xdebug-handler.git", - "reference": "ced299686f41dce890debac69273b47ffe98a40c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", - "reference": "ced299686f41dce890debac69273b47ffe98a40c", - "shasum": "" - }, - "require": { - "composer/pcre": "^1 || ^2 || ^3", - "php": "^7.2.5 || ^8.0", - "psr/log": "^1 || ^2 || ^3" - }, - "require-dev": { - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-strict-rules": "^1.1", - "symfony/phpunit-bridge": "^6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Composer\\XdebugHandler\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "John Stevenson", - "email": "john-stevenson@blueyonder.co.uk" - } - ], - "description": "Restarts a process without Xdebug.", - "keywords": [ - "Xdebug", - "performance" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/xdebug-handler/issues", - "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-02-25T21:32:43+00:00" - }, - { - "name": "dmitry-suffi/redis-session-handler", - "version": "1.0.4", - "source": { - "type": "git", - "url": "https://github.com/dmitry-suffi/redis-session-handler.git", - "reference": "7057430a726dd8df530e1e3071e32cc6b1b5b170" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dmitry-suffi/redis-session-handler/zipball/7057430a726dd8df530e1e3071e32cc6b1b5b170", - "reference": "7057430a726dd8df530e1e3071e32cc6b1b5b170", - "shasum": "" - }, - "type": "project", - "autoload": { - "psr-4": { - "suffi\\RedisSessionHandler\\": "src\\" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Обработчик сессий через Redis с механизмом блокировки", - "homepage": "https://github.com/dmitry-suffi/redis-session-handler", - "keywords": [ - "redis", - "session" - ], - "support": { - "issues": "https://github.com/dmitry-suffi/redis-session-handler/issues", - "source": "https://github.com/dmitry-suffi/redis-session-handler/tree/1.0.4" - }, - "time": "2017-06-30T13:11:32+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/dbal", - "version": "3.7.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/dbal.git", - "reference": "0ac3c270590e54910715e9a1a044cc368df282b2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/dbal/zipball/0ac3c270590e54910715e9a1a044cc368df282b2", - "reference": "0ac3c270590e54910715e9a1a044cc368df282b2", - "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.10.42", - "phpstan/phpstan-strict-rules": "^1.5", - "phpunit/phpunit": "9.6.13", - "psalm/plugin-phpunit": "0.18.4", - "slevomat/coding-standard": "8.13.1", - "squizlabs/php_codesniffer": "3.7.2", - "symfony/cache": "^5.4|^6.0", - "symfony/console": "^4.4|^5.4|^6.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.7.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%2Fdbal", - "type": "tidelift" - } - ], - "time": "2023-11-19T08:06:58+00:00" - }, - { - "name": "doctrine/deprecations", - "version": "1.1.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/deprecations.git", - "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", - "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", - "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.2" - }, - "time": "2023-09-27T20:04:15+00:00" - }, - { - "name": "doctrine/event-manager", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/event-manager.git", - "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/event-manager/zipball/750671534e0241a7c50ea5b43f67e23eb5c96f32", - "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "conflict": { - "doctrine/common": "<2.9" - }, - "require-dev": { - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.8.8", - "phpunit/phpunit": "^9.5", - "vimeo/psalm": "^4.28" - }, - "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/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%2Fevent-manager", - "type": "tidelift" - } - ], - "time": "2022-10-12T20:59:15+00:00" - }, - { - "name": "doctrine/inflector", - "version": "2.0.8", - "source": { - "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/f9301a5b2fb1216b2b08f02ba04dc45423db6bff", - "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff", - "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.8" - }, - "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": "2023-06-16T13:40:37+00:00" - }, - { - "name": "doctrine/lexer", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "84a527db05647743d50373e0ec53a152f2cde568" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/84a527db05647743d50373e0ec53a152f2cde568", - "reference": "84a527db05647743d50373e0ec53a152f2cde568", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "doctrine/coding-standard": "^10", - "phpstan/phpstan": "^1.9", - "phpunit/phpunit": "^9.5", - "psalm/plugin-phpunit": "^0.18.3", - "vimeo/psalm": "^5.0" - }, - "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/3.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%2Flexer", - "type": "tidelift" - } - ], - "time": "2022-12-15T16:57:16+00:00" - }, - { - "name": "dragonmantank/cron-expression", - "version": "v3.3.3", - "source": { - "type": "git", - "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", - "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0", - "webmozart/assert": "^1.0" - }, - "replace": { - "mtdowling/cron-expression": "^1.0" - }, - "require-dev": { - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-webmozart-assert": "^1.0", - "phpunit/phpunit": "^7.0|^8.0|^9.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Cron\\": "src/Cron/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Tankersley", - "email": "chris@ctankersley.com", - "homepage": "https://github.com/dragonmantank" - } - ], - "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", - "keywords": [ - "cron", - "schedule" - ], - "support": { - "issues": "https://github.com/dragonmantank/cron-expression/issues", - "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3" - }, - "funding": [ - { - "url": "https://github.com/dragonmantank", - "type": "github" - } - ], - "time": "2023-08-10T19:36:49+00:00" - }, - { - "name": "egulias/email-validator", - "version": "4.0.2", - "source": { - "type": "git", - "url": "https://github.com/egulias/EmailValidator.git", - "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e", - "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e", - "shasum": "" - }, - "require": { - "doctrine/lexer": "^2.0 || ^3.0", - "php": ">=8.1", - "symfony/polyfill-intl-idn": "^1.26" - }, - "require-dev": { - "phpunit/phpunit": "^10.2", - "vimeo/psalm": "^5.12" - }, - "suggest": { - "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Egulias\\EmailValidator\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eduardo Gulias Davis" - } - ], - "description": "A library for validating emails against several RFCs", - "homepage": "https://github.com/egulias/EmailValidator", - "keywords": [ - "email", - "emailvalidation", - "emailvalidator", - "validation", - "validator" - ], - "support": { - "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/4.0.2" - }, - "funding": [ - { - "url": "https://github.com/egulias", - "type": "github" - } - ], - "time": "2023-10-06T06:47:41+00:00" - }, - { - "name": "evolutioncms-services/document-manager", - "version": "1.0.9", - "source": { - "type": "git", - "url": "https://github.com/evolution-cms/DocumentManager.git", - "reference": "403c065a0be6367baaadd3a5b01cf0f84522c8db" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/evolution-cms/DocumentManager/zipball/403c065a0be6367baaadd3a5b01cf0f84522c8db", - "reference": "403c065a0be6367baaadd3a5b01cf0f84522c8db", - "shasum": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "EvolutionCMS\\DocumentManager\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alexander Pashkevich", - "email": "sertious2008.wortk3@gmail.com" - } - ], - "support": { - "issues": "https://github.com/evolution-cms/DocumentManager/issues", - "source": "https://github.com/evolution-cms/DocumentManager/tree/1.0.9" - }, - "time": "2021-05-31T15:12:43+00:00" - }, - { - "name": "evolutioncms-services/user-manager", - "version": "1.0.14", - "source": { - "type": "git", - "url": "https://github.com/evolution-cms/UserManager.git", - "reference": "eb743546dc33874ae02cacf70e07624f9bda99ef" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/evolution-cms/UserManager/zipball/eb743546dc33874ae02cacf70e07624f9bda99ef", - "reference": "eb743546dc33874ae02cacf70e07624f9bda99ef", - "shasum": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "EvolutionCMS\\UserManager\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Alexander Pashkevich", - "email": "sertious2008.wortk3@gmail.com" - } - ], - "support": { - "issues": "https://github.com/evolution-cms/UserManager/issues", - "source": "https://github.com/evolution-cms/UserManager/tree/1.0.14" - }, - "time": "2021-11-17T09:44:48+00:00" - }, - { - "name": "evolutioncms/salo2", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/evolution-cms/salo2.git", - "reference": "c2529f703db16e5078fb1038b07fa169ff09c4c8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/evolution-cms/salo2/zipball/c2529f703db16e5078fb1038b07fa169ff09c4c8", - "reference": "c2529f703db16e5078fb1038b07fa169ff09c4c8", - "shasum": "" - }, - "require": { - "illuminate/console": "^8.0|^9.0|^10.0", - "illuminate/contracts": "^8.0|^9.0|^10.0", - "illuminate/support": "^8.0|^9.0|^10.0", - "php": "^7.3|^8.0" - }, - "default-branch": true, - "bin": [ - "bin/salo" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - }, - "laravel": { - "providers": [ - "EvolutionCMS\\Salo\\SaloServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "EvolutionCMS\\Salo\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Evocms Docker files for running a basic evo application.", - "keywords": [ - "docker", - "evo" - ], - "support": { - "source": "https://github.com/evolution-cms/salo2/tree/master" - }, - "time": "2023-12-05T18:31:38+00:00" - }, - { - "name": "fruitcake/php-cors", - "version": "v1.3.0", - "source": { - "type": "git", - "url": "https://github.com/fruitcake/php-cors.git", - "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b", - "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b", - "shasum": "" - }, - "require": { - "php": "^7.4|^8.0", - "symfony/http-foundation": "^4.4|^5.4|^6|^7" - }, - "require-dev": { - "phpstan/phpstan": "^1.4", - "phpunit/phpunit": "^9", - "squizlabs/php_codesniffer": "^3.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2-dev" - } - }, - "autoload": { - "psr-4": { - "Fruitcake\\Cors\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fruitcake", - "homepage": "https://fruitcake.nl" - }, - { - "name": "Barryvdh", - "email": "barryvdh@gmail.com" - } - ], - "description": "Cross-origin resource sharing library for the Symfony HttpFoundation", - "homepage": "https://github.com/fruitcake/php-cors", - "keywords": [ - "cors", - "laravel", - "symfony" - ], - "support": { - "issues": "https://github.com/fruitcake/php-cors/issues", - "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0" - }, - "funding": [ - { - "url": "https://fruitcake.nl", - "type": "custom" - }, - { - "url": "https://github.com/barryvdh", - "type": "github" - } - ], - "time": "2023-10-12T05:21:21+00:00" - }, - { - "name": "graham-campbell/result-type", - "version": "v1.1.2", - "source": { - "type": "git", - "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/fbd48bce38f73f8a4ec8583362e732e4095e5862", - "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.2" - }, - "require-dev": { - "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "GrahamCampbell\\ResultType\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - } - ], - "description": "An Implementation Of The Result Type", - "keywords": [ - "Graham Campbell", - "GrahamCampbell", - "Result Type", - "Result-Type", - "result" - ], - "support": { - "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.2" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", - "type": "tidelift" - } - ], - "time": "2023-11-12T22:16:48+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": "guzzlehttp/uri-template", - "version": "v1.0.3", - "source": { - "type": "git", - "url": "https://github.com/guzzle/uri-template.git", - "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c", - "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0", - "symfony/polyfill-php80": "^1.24" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.36 || ^9.6.15", - "uri-template/tests": "1.0.0" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": false - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\UriTemplate\\": "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" - } - ], - "description": "A polyfill class for uri_template of PHP", - "keywords": [ - "guzzlehttp", - "uri-template" - ], - "support": { - "issues": "https://github.com/guzzle/uri-template/issues", - "source": "https://github.com/guzzle/uri-template/tree/v1.0.3" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/uri-template", - "type": "tidelift" - } - ], - "time": "2023-12-03T19:50:20+00:00" - }, - { - "name": "illuminate/bus", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/bus.git", - "reference": "8fd7ec31c64734ca70f36651b90e8fe4e5b39868" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/bus/zipball/8fd7ec31c64734ca70f36651b90e8fe4e5b39868", - "reference": "8fd7ec31c64734ca70f36651b90e8fe4e5b39868", - "shasum": "" - }, - "require": { - "illuminate/collections": "^10.0", - "illuminate/contracts": "^10.0", - "illuminate/pipeline": "^10.0", - "illuminate/support": "^10.0", - "php": "^8.1" - }, - "suggest": { - "illuminate/queue": "Required to use closures when chaining jobs (^7.0)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Bus\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Bus package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-11-17T14:31:55+00:00" - }, - { - "name": "illuminate/cache", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/cache.git", - "reference": "1867c1d560cd344dfde0bfc8686e1f436395eb94" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/cache/zipball/1867c1d560cd344dfde0bfc8686e1f436395eb94", - "reference": "1867c1d560cd344dfde0bfc8686e1f436395eb94", - "shasum": "" - }, - "require": { - "illuminate/collections": "^10.0", - "illuminate/contracts": "^10.0", - "illuminate/macroable": "^10.0", - "illuminate/support": "^10.0", - "php": "^8.1" - }, - "provide": { - "psr/simple-cache-implementation": "1.0|2.0|3.0" - }, - "suggest": { - "ext-apcu": "Required to use the APC cache driver.", - "ext-filter": "Required to use the DynamoDb cache driver.", - "ext-memcached": "Required to use the memcache cache driver.", - "illuminate/database": "Required to use the database cache driver (^10.0).", - "illuminate/filesystem": "Required to use the file cache driver (^10.0).", - "illuminate/redis": "Required to use the redis cache driver (^10.0).", - "symfony/cache": "Required to use PSR-6 cache bridge (^6.2)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Cache\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Cache package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-11-27T14:35:29+00:00" - }, - { - "name": "illuminate/collections", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/collections.git", - "reference": "8e4c4f97ea066cd6aec962ef8a6abc09dfd5e754" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/collections/zipball/8e4c4f97ea066cd6aec962ef8a6abc09dfd5e754", - "reference": "8e4c4f97ea066cd6aec962ef8a6abc09dfd5e754", - "shasum": "" - }, - "require": { - "illuminate/conditionable": "^10.0", - "illuminate/contracts": "^10.0", - "illuminate/macroable": "^10.0", - "php": "^8.1" - }, - "suggest": { - "symfony/var-dumper": "Required to use the dump method (^6.2)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "files": [ - "helpers.php" - ], - "psr-4": { - "Illuminate\\Support\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Collections package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-11-27T14:46:52+00:00" - }, - { - "name": "illuminate/conditionable", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/conditionable.git", - "reference": "d0958e4741fc9d6f516a552060fd1b829a85e009" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/conditionable/zipball/d0958e4741fc9d6f516a552060fd1b829a85e009", - "reference": "d0958e4741fc9d6f516a552060fd1b829a85e009", - "shasum": "" - }, - "require": { - "php": "^8.0.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Support\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Conditionable package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-02-03T08:06:17+00:00" - }, - { - "name": "illuminate/config", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/config.git", - "reference": "d5e83ceff5c4d5607b1b81763eb4c436911c35da" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/config/zipball/d5e83ceff5c4d5607b1b81763eb4c436911c35da", - "reference": "d5e83ceff5c4d5607b1b81763eb4c436911c35da", - "shasum": "" - }, - "require": { - "illuminate/collections": "^10.0", - "illuminate/contracts": "^10.0", - "php": "^8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Config\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Config package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2022-08-21T15:47:27+00:00" - }, - { - "name": "illuminate/console", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/console.git", - "reference": "d77731d372380f12c1e947a8fb5efc671aac48ef" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/console/zipball/d77731d372380f12c1e947a8fb5efc671aac48ef", - "reference": "d77731d372380f12c1e947a8fb5efc671aac48ef", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "illuminate/collections": "^10.0", - "illuminate/contracts": "^10.0", - "illuminate/macroable": "^10.0", - "illuminate/support": "^10.0", - "illuminate/view": "^10.0", - "laravel/prompts": "^0.1.9", - "nunomaduro/termwind": "^1.13", - "php": "^8.1", - "symfony/console": "^6.2", - "symfony/process": "^6.2" - }, - "suggest": { - "dragonmantank/cron-expression": "Required to use scheduler (^3.3.2).", - "ext-pcntl": "Required to use signal trapping.", - "guzzlehttp/guzzle": "Required to use the ping methods on schedules (^7.5).", - "illuminate/bus": "Required to use the scheduled job dispatcher (^10.0).", - "illuminate/container": "Required to use the scheduler (^10.0).", - "illuminate/filesystem": "Required to use the generator command (^10.0).", - "illuminate/queue": "Required to use closures for scheduled jobs (^10.0)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Console\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Console package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-11-20T15:39:38+00:00" - }, - { - "name": "illuminate/container", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/container.git", - "reference": "ddc26273085fad3c471b2602ad820e0097ff7939" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/container/zipball/ddc26273085fad3c471b2602ad820e0097ff7939", - "reference": "ddc26273085fad3c471b2602ad820e0097ff7939", - "shasum": "" - }, - "require": { - "illuminate/contracts": "^10.0", - "php": "^8.1", - "psr/container": "^1.1.1|^2.0.1" - }, - "provide": { - "psr/container-implementation": "1.1|2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Container\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Container package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-06-18T09:12:03+00:00" - }, - { - "name": "illuminate/contracts", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/contracts.git", - "reference": "f6bf37a272fda164f6c451407c99f820eb1eb95b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/contracts/zipball/f6bf37a272fda164f6c451407c99f820eb1eb95b", - "reference": "f6bf37a272fda164f6c451407c99f820eb1eb95b", - "shasum": "" - }, - "require": { - "php": "^8.1", - "psr/container": "^1.1.1|^2.0.1", - "psr/simple-cache": "^1.0|^2.0|^3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Contracts\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Contracts package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-10-30T00:59:22+00:00" - }, - { - "name": "illuminate/database", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/database.git", - "reference": "3368e28e7ecc5b66fc749104ce75982971823216" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/database/zipball/3368e28e7ecc5b66fc749104ce75982971823216", - "reference": "3368e28e7ecc5b66fc749104ce75982971823216", - "shasum": "" - }, - "require": { - "brick/math": "^0.9.3|^0.10.2|^0.11", - "ext-pdo": "*", - "illuminate/collections": "^10.0", - "illuminate/container": "^10.0", - "illuminate/contracts": "^10.0", - "illuminate/macroable": "^10.0", - "illuminate/support": "^10.0", - "php": "^8.1" - }, - "suggest": { - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^3.5.1).", - "ext-filter": "Required to use the Postgres database driver.", - "fakerphp/faker": "Required to use the eloquent factory builder (^1.21).", - "illuminate/console": "Required to use the database commands (^10.0).", - "illuminate/events": "Required to use the observers with Eloquent (^10.0).", - "illuminate/filesystem": "Required to use the migrations (^10.0).", - "illuminate/pagination": "Required to paginate the result set (^10.0).", - "symfony/finder": "Required to use Eloquent model factories (^6.2)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Database\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Database package.", - "homepage": "https://laravel.com", - "keywords": [ - "database", - "laravel", - "orm", - "sql" - ], - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-12-04T22:26:42+00:00" - }, - { - "name": "illuminate/events", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/events.git", - "reference": "8d84d6220a6b3446a0bf3e4138e2eb0e10792bb1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/events/zipball/8d84d6220a6b3446a0bf3e4138e2eb0e10792bb1", - "reference": "8d84d6220a6b3446a0bf3e4138e2eb0e10792bb1", - "shasum": "" - }, - "require": { - "illuminate/bus": "^10.0", - "illuminate/collections": "^10.0", - "illuminate/container": "^10.0", - "illuminate/contracts": "^10.0", - "illuminate/macroable": "^10.0", - "illuminate/support": "^10.0", - "php": "^8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "files": [ - "functions.php" - ], - "psr-4": { - "Illuminate\\Events\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Events package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-10-30T00:59:35+00:00" - }, - { - "name": "illuminate/filesystem", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/filesystem.git", - "reference": "8a412afd1b56f762aafe2747d5e2b79267f97436" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/filesystem/zipball/8a412afd1b56f762aafe2747d5e2b79267f97436", - "reference": "8a412afd1b56f762aafe2747d5e2b79267f97436", - "shasum": "" - }, - "require": { - "illuminate/collections": "^10.0", - "illuminate/contracts": "^10.0", - "illuminate/macroable": "^10.0", - "illuminate/support": "^10.0", - "php": "^8.1", - "symfony/finder": "^6.2" - }, - "suggest": { - "ext-fileinfo": "Required to use the Filesystem class.", - "ext-ftp": "Required to use the Flysystem FTP driver.", - "ext-hash": "Required to use the Filesystem class.", - "illuminate/http": "Required for handling uploaded files (^7.0).", - "league/flysystem": "Required to use the Flysystem local driver (^3.0.16).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", - "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", - "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", - "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^6.2).", - "symfony/mime": "Required to enable support for guessing extensions (^6.2)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Filesystem\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Filesystem package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-11-08T14:19:58+00:00" - }, - { - "name": "illuminate/http", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/http.git", - "reference": "556553a9944ee2fb4c9996804204f0c4a5f85041" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/http/zipball/556553a9944ee2fb4c9996804204f0c4a5f85041", - "reference": "556553a9944ee2fb4c9996804204f0c4a5f85041", - "shasum": "" - }, - "require": { - "ext-filter": "*", - "fruitcake/php-cors": "^1.2", - "guzzlehttp/uri-template": "^1.0", - "illuminate/collections": "^10.0", - "illuminate/macroable": "^10.0", - "illuminate/session": "^10.0", - "illuminate/support": "^10.0", - "php": "^8.1", - "symfony/http-foundation": "^6.4", - "symfony/http-kernel": "^6.2", - "symfony/mime": "^6.2" - }, - "suggest": { - "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", - "guzzlehttp/guzzle": "Required to use the HTTP Client (^7.5)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Http\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Http package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-11-30T22:32:43+00:00" - }, - { - "name": "illuminate/log", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/log.git", - "reference": "9cff51ef5d0014e4ffe986359add45342adbf0a8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/log/zipball/9cff51ef5d0014e4ffe986359add45342adbf0a8", - "reference": "9cff51ef5d0014e4ffe986359add45342adbf0a8", - "shasum": "" - }, - "require": { - "illuminate/contracts": "^10.0", - "illuminate/support": "^10.0", - "monolog/monolog": "^3.0", - "php": "^8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Log\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Log package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-07-08T20:34:59+00:00" - }, - { - "name": "illuminate/macroable", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/macroable.git", - "reference": "dff667a46ac37b634dcf68909d9d41e94dc97c27" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/macroable/zipball/dff667a46ac37b634dcf68909d9d41e94dc97c27", - "reference": "dff667a46ac37b634dcf68909d9d41e94dc97c27", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Support\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Macroable package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-06-05T12:46:42+00:00" - }, - { - "name": "illuminate/pagination", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/pagination.git", - "reference": "2af69e712297cc38377593a72f00d430867e8bdc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/pagination/zipball/2af69e712297cc38377593a72f00d430867e8bdc", - "reference": "2af69e712297cc38377593a72f00d430867e8bdc", - "shasum": "" - }, - "require": { - "ext-filter": "*", - "illuminate/collections": "^10.0", - "illuminate/contracts": "^10.0", - "illuminate/support": "^10.0", - "php": "^8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Pagination\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Pagination package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-04-17T16:01:53+00:00" - }, - { - "name": "illuminate/pipeline", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/pipeline.git", - "reference": "f2119ae9a26e420bf0ed9d5e7e7aa4548547e7b1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/pipeline/zipball/f2119ae9a26e420bf0ed9d5e7e7aa4548547e7b1", - "reference": "f2119ae9a26e420bf0ed9d5e7e7aa4548547e7b1", - "shasum": "" - }, - "require": { - "illuminate/contracts": "^10.0", - "illuminate/support": "^10.0", - "php": "^8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Pipeline\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Pipeline package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-03-03T15:55:44+00:00" - }, - { - "name": "illuminate/redis", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/redis.git", - "reference": "69771c1ef8d76a0066d86e41f26598d6650eb79f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/redis/zipball/69771c1ef8d76a0066d86e41f26598d6650eb79f", - "reference": "69771c1ef8d76a0066d86e41f26598d6650eb79f", - "shasum": "" - }, - "require": { - "illuminate/collections": "^10.0", - "illuminate/contracts": "^10.0", - "illuminate/macroable": "^10.0", - "illuminate/support": "^10.0", - "php": "^8.1" - }, - "suggest": { - "ext-redis": "Required to use the phpredis connector (^4.0|^5.0).", - "predis/predis": "Required to use the predis connector (^2.0.2)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Redis\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Redis package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-09-11T19:51:35+00:00" - }, - { - "name": "illuminate/routing", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/routing.git", - "reference": "e5efd844c573b50bc2365125b94329fbeeb91067" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/routing/zipball/e5efd844c573b50bc2365125b94329fbeeb91067", - "reference": "e5efd844c573b50bc2365125b94329fbeeb91067", - "shasum": "" - }, - "require": { - "ext-filter": "*", - "ext-hash": "*", - "illuminate/collections": "^10.0", - "illuminate/container": "^10.0", - "illuminate/contracts": "^10.0", - "illuminate/http": "^10.0", - "illuminate/macroable": "^10.0", - "illuminate/pipeline": "^10.0", - "illuminate/session": "^10.0", - "illuminate/support": "^10.0", - "php": "^8.1", - "symfony/http-foundation": "^6.4", - "symfony/http-kernel": "^6.2", - "symfony/routing": "^6.2" - }, - "suggest": { - "illuminate/console": "Required to use the make commands (^10.0).", - "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Routing\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Routing package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-11-30T22:32:43+00:00" - }, - { - "name": "illuminate/session", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/session.git", - "reference": "27fe05da9e1e8f5febddbb8bb0df173f2ac9fbb8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/session/zipball/27fe05da9e1e8f5febddbb8bb0df173f2ac9fbb8", - "reference": "27fe05da9e1e8f5febddbb8bb0df173f2ac9fbb8", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-session": "*", - "illuminate/collections": "^10.0", - "illuminate/contracts": "^10.0", - "illuminate/filesystem": "^10.0", - "illuminate/support": "^10.0", - "php": "^8.1", - "symfony/finder": "^6.2", - "symfony/http-foundation": "^6.4" - }, - "suggest": { - "illuminate/console": "Required to use the session:table command (^10.0)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Session\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Session package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-11-30T22:32:43+00:00" - }, - { - "name": "illuminate/support", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/support.git", - "reference": "84fd6e3a041c93bf8dca1349caf994023ee5c9e0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/support/zipball/84fd6e3a041c93bf8dca1349caf994023ee5c9e0", - "reference": "84fd6e3a041c93bf8dca1349caf994023ee5c9e0", - "shasum": "" - }, - "require": { - "doctrine/inflector": "^2.0", - "ext-ctype": "*", - "ext-filter": "*", - "ext-mbstring": "*", - "illuminate/collections": "^10.0", - "illuminate/conditionable": "^10.0", - "illuminate/contracts": "^10.0", - "illuminate/macroable": "^10.0", - "nesbot/carbon": "^2.67", - "php": "^8.1", - "voku/portable-ascii": "^2.0" - }, - "conflict": { - "tightenco/collect": "<5.5.33" - }, - "suggest": { - "illuminate/filesystem": "Required to use the composer class (^10.0).", - "league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^2.0.2).", - "ramsey/uuid": "Required to use Str::uuid() (^4.7).", - "symfony/process": "Required to use the composer class (^6.2).", - "symfony/uid": "Required to use Str::ulid() (^6.2).", - "symfony/var-dumper": "Required to use the dd function (^6.2).", - "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.4.1)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "files": [ - "helpers.php" - ], - "psr-4": { - "Illuminate\\Support\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Support package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-12-04T22:26:42+00:00" - }, - { - "name": "illuminate/translation", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/translation.git", - "reference": "7579bd97c6e0a746d1309b5c27803cb8dfc961fe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/translation/zipball/7579bd97c6e0a746d1309b5c27803cb8dfc961fe", - "reference": "7579bd97c6e0a746d1309b5c27803cb8dfc961fe", - "shasum": "" - }, - "require": { - "illuminate/collections": "^10.0", - "illuminate/contracts": "^10.0", - "illuminate/filesystem": "^10.0", - "illuminate/macroable": "^10.0", - "illuminate/support": "^10.0", - "php": "^8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Translation\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Translation package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-11-22T15:44:28+00:00" - }, - { - "name": "illuminate/validation", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/validation.git", - "reference": "8458748fe2b5fcac81a8b48f3752793f9d734bad" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/validation/zipball/8458748fe2b5fcac81a8b48f3752793f9d734bad", - "reference": "8458748fe2b5fcac81a8b48f3752793f9d734bad", - "shasum": "" - }, - "require": { - "brick/math": "^0.9.3|^0.10.2|^0.11", - "egulias/email-validator": "^3.2.5|^4.0", - "ext-filter": "*", - "ext-mbstring": "*", - "illuminate/collections": "^10.0", - "illuminate/container": "^10.0", - "illuminate/contracts": "^10.0", - "illuminate/macroable": "^10.0", - "illuminate/support": "^10.0", - "illuminate/translation": "^10.0", - "php": "^8.1", - "symfony/http-foundation": "^6.4", - "symfony/mime": "^6.2" - }, - "suggest": { - "illuminate/database": "Required to use the database presence verifier (^10.0)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\Validation\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate Validation package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-11-30T22:32:43+00:00" - }, - { - "name": "illuminate/view", - "version": "v10.35.0", - "source": { - "type": "git", - "url": "https://github.com/illuminate/view.git", - "reference": "ce59846a4476666da70aeab10e0c8ab7206e3f0f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/illuminate/view/zipball/ce59846a4476666da70aeab10e0c8ab7206e3f0f", - "reference": "ce59846a4476666da70aeab10e0c8ab7206e3f0f", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "illuminate/collections": "^10.0", - "illuminate/container": "^10.0", - "illuminate/contracts": "^10.0", - "illuminate/events": "^10.0", - "illuminate/filesystem": "^10.0", - "illuminate/macroable": "^10.0", - "illuminate/support": "^10.0", - "php": "^8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "10.x-dev" - } - }, - "autoload": { - "psr-4": { - "Illuminate\\View\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Illuminate View package.", - "homepage": "https://laravel.com", - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2023-12-01T22:04:08+00:00" - }, - { - "name": "james-heinrich/phpthumb", - "version": "v1.7.21", - "source": { - "type": "git", - "url": "https://github.com/JamesHeinrich/phpThumb.git", - "reference": "7ee966b38ddd7eb4d8091389aa514604710711c8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/JamesHeinrich/phpThumb/zipball/7ee966b38ddd7eb4d8091389aa514604710711c8", - "reference": "7ee966b38ddd7eb4d8091389aa514604710711c8", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "suggest": { - "ext-gd": "PHP GD library", - "ext-imagick": "PHP ImageMagick" - }, - "type": "library", - "autoload": { - "files": [ - "phpthumb.class.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-1.0-or-later", - "LGPL-3.0-only", - "MPL-2.0" - ], - "authors": [ - { - "name": "James Heinrich", - "email": "info@silisoftware.com", - "homepage": "http://www.silisoftware.com/", - "role": "Developer" - } - ], - "description": "The PHP thumbnail generator", - "homepage": "http://phpthumb.sourceforge.net/", - "keywords": [ - "ImageMagick", - "gd", - "image", - "magic", - "thumb", - "thumbnail" - ], - "support": { - "issues": "https://github.com/JamesHeinrich/phpThumb/issues", - "source": "https://github.com/JamesHeinrich/phpThumb/tree/v1.7.21" - }, - "time": "2023-07-14T21:25:25+00:00" - }, - { - "name": "justinrainbow/json-schema", - "version": "v5.2.13", - "source": { - "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/fbbe7e5d79f618997bc3332a6f49246036c45793", - "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793", - "shasum": "" - }, - "require": { - "php": ">=5.3.3" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1", - "json-schema/json-schema-test-suite": "1.2.0", - "phpunit/phpunit": "^4.8.35" - }, - "bin": [ - "bin/validate-json" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "JsonSchema\\": "src/JsonSchema/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bruno Prieto Reis", - "email": "bruno.p.reis@gmail.com" - }, - { - "name": "Justin Rainbow", - "email": "justin.rainbow@gmail.com" - }, - { - "name": "Igor Wiedler", - "email": "igor@wiedler.ch" - }, - { - "name": "Robert Schönthal", - "email": "seroscho@googlemail.com" - } - ], - "description": "A library to validate a json schema.", - "homepage": "https://github.com/justinrainbow/json-schema", - "keywords": [ - "json", - "schema" - ], - "support": { - "issues": "https://github.com/justinrainbow/json-schema/issues", - "source": "https://github.com/justinrainbow/json-schema/tree/v5.2.13" - }, - "time": "2023-09-26T02:20:38+00:00" - }, - { - "name": "laravel/prompts", - "version": "v0.1.13", - "source": { - "type": "git", - "url": "https://github.com/laravel/prompts.git", - "reference": "e1379d8ead15edd6cc4369c22274345982edc95a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/prompts/zipball/e1379d8ead15edd6cc4369c22274345982edc95a", - "reference": "e1379d8ead15edd6cc4369c22274345982edc95a", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "illuminate/collections": "^10.0|^11.0", - "php": "^8.1", - "symfony/console": "^6.2|^7.0" - }, - "conflict": { - "illuminate/console": ">=10.17.0 <10.25.0", - "laravel/framework": ">=10.17.0 <10.25.0" - }, - "require-dev": { - "mockery/mockery": "^1.5", - "pestphp/pest": "^2.3", - "phpstan/phpstan": "^1.10", - "phpstan/phpstan-mockery": "^1.1" - }, - "suggest": { - "ext-pcntl": "Required for the spinner to be animated." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "0.1.x-dev" - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ], - "psr-4": { - "Laravel\\Prompts\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "support": { - "issues": "https://github.com/laravel/prompts/issues", - "source": "https://github.com/laravel/prompts/tree/v0.1.13" - }, - "time": "2023-10-27T13:53:59+00:00" - }, - { - "name": "league/flysystem", - "version": "3.23.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "d4ad81e2b67396e33dc9d7e54ec74ccf73151dcc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/d4ad81e2b67396e33dc9d7e54ec74ccf73151dcc", - "reference": "d4ad81e2b67396e33dc9d7e54ec74ccf73151dcc", - "shasum": "" - }, - "require": { - "league/flysystem-local": "^3.0.0", - "league/mime-type-detection": "^1.0.0", - "php": "^8.0.2" - }, - "conflict": { - "async-aws/core": "<1.19.0", - "async-aws/s3": "<1.14.0", - "aws/aws-sdk-php": "3.209.31 || 3.210.0", - "guzzlehttp/guzzle": "<7.0", - "guzzlehttp/ringphp": "<1.1.1", - "phpseclib/phpseclib": "3.0.15", - "symfony/http-client": "<5.2" - }, - "require-dev": { - "async-aws/s3": "^1.5 || ^2.0", - "async-aws/simple-s3": "^1.1 || ^2.0", - "aws/aws-sdk-php": "^3.220.0", - "composer/semver": "^3.0", - "ext-fileinfo": "*", - "ext-ftp": "*", - "ext-zip": "*", - "friendsofphp/php-cs-fixer": "^3.5", - "google/cloud-storage": "^1.23", - "microsoft/azure-storage-blob": "^1.1", - "phpseclib/phpseclib": "^3.0.34", - "phpstan/phpstan": "^1.10", - "phpunit/phpunit": "^9.5.11|^10.0", - "sabre/dav": "^4.3.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/3.23.0" - }, - "funding": [ - { - "url": "https://ecologi.com/frankdejonge", - "type": "custom" - }, - { - "url": "https://github.com/frankdejonge", - "type": "github" - } - ], - "time": "2023-12-04T10:16:17+00:00" - }, - { - "name": "league/flysystem-local", - "version": "3.23.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem-local.git", - "reference": "5cf046ba5f059460e86a997c504dd781a39a109b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/5cf046ba5f059460e86a997c504dd781a39a109b", - "reference": "5cf046ba5f059460e86a997c504dd781a39a109b", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "league/flysystem": "^3.0.0", - "league/mime-type-detection": "^1.0.0", - "php": "^8.0.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\Flysystem\\Local\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frankdejonge.nl" - } - ], - "description": "Local filesystem adapter for Flysystem.", - "keywords": [ - "Flysystem", - "file", - "files", - "filesystem", - "local" - ], - "support": { - "issues": "https://github.com/thephpleague/flysystem-local/issues", - "source": "https://github.com/thephpleague/flysystem-local/tree/3.23.0" - }, - "funding": [ - { - "url": "https://ecologi.com/frankdejonge", - "type": "custom" - }, - { - "url": "https://github.com/frankdejonge", - "type": "github" - } - ], - "time": "2023-12-04T10:14:46+00:00" - }, - { - "name": "league/mime-type-detection", - "version": "1.14.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "b6a5854368533df0295c5761a0253656a2e52d9e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/b6a5854368533df0295c5761a0253656a2e52d9e", - "reference": "b6a5854368533df0295c5761a0253656a2e52d9e", - "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.14.0" - }, - "funding": [ - { - "url": "https://github.com/frankdejonge", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "type": "tidelift" - } - ], - "time": "2023-10-17T14:13:20+00:00" - }, - { - "name": "monolog/monolog", - "version": "3.5.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c915e2634718dbc8a4a15c61b0e62e7a44e14448", - "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/log": "^2.0 || ^3.0" - }, - "provide": { - "psr/log-implementation": "3.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^3.0", - "doctrine/couchdb": "~1.0@dev", - "elasticsearch/elasticsearch": "^7 || ^8", - "ext-json": "*", - "graylog2/gelf-php": "^1.4.2 || ^2.0", - "guzzlehttp/guzzle": "^7.4.5", - "guzzlehttp/psr7": "^2.2", - "mongodb/mongodb": "^1.8", - "php-amqplib/php-amqplib": "~2.4 || ^3", - "phpstan/phpstan": "^1.9", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-strict-rules": "^1.4", - "phpunit/phpunit": "^10.1", - "predis/predis": "^1.1 || ^2", - "ruflin/elastica": "^7", - "symfony/mailer": "^5.4 || ^6", - "symfony/mime": "^5.4 || ^6" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", - "ext-mbstring": "Allow to work properly with unicode symbols", - "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", - "ext-openssl": "Required to send log messages using SSL", - "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "https://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "support": { - "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/3.5.0" - }, - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", - "type": "tidelift" - } - ], - "time": "2023-10-27T15:32:31+00:00" - }, - { - "name": "nesbot/carbon", - "version": "2.72.0", - "source": { - "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "a6885fcbad2ec4360b0e200ee0da7d9b7c90786b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/a6885fcbad2ec4360b0e200ee0da7d9b7c90786b", - "reference": "a6885fcbad2ec4360b0e200ee0da7d9b7c90786b", - "shasum": "" - }, - "require": { - "carbonphp/carbon-doctrine-types": "*", - "ext-json": "*", - "php": "^7.1.8 || ^8.0", - "psr/clock": "^1.0", - "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" - }, - "provide": { - "psr/clock-implementation": "1.0" - }, - "require-dev": { - "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0", - "doctrine/orm": "^2.7 || ^3.0", - "friendsofphp/php-cs-fixer": "^3.0", - "kylekatarnls/multi-tester": "^2.0", - "ondrejmirtes/better-reflection": "*", - "phpmd/phpmd": "^2.9", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.99 || ^1.7.14", - "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6", - "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", - "squizlabs/php_codesniffer": "^3.4" - }, - "bin": [ - "bin/carbon" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-3.x": "3.x-dev", - "dev-master": "2.x-dev" - }, - "laravel": { - "providers": [ - "Carbon\\Laravel\\ServiceProvider" - ] - }, - "phpstan": { - "includes": [ - "extension.neon" - ] - } - }, - "autoload": { - "psr-4": { - "Carbon\\": "src/Carbon/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Brian Nesbitt", - "email": "brian@nesbot.com", - "homepage": "https://markido.com" - }, - { - "name": "kylekatarnls", - "homepage": "https://github.com/kylekatarnls" - } - ], - "description": "An API extension for DateTime that supports 281 different languages.", - "homepage": "https://carbon.nesbot.com", - "keywords": [ - "date", - "datetime", - "time" - ], - "support": { - "docs": "https://carbon.nesbot.com/docs", - "issues": "https://github.com/briannesbitt/Carbon/issues", - "source": "https://github.com/briannesbitt/Carbon" - }, - "funding": [ - { - "url": "https://github.com/sponsors/kylekatarnls", - "type": "github" - }, - { - "url": "https://opencollective.com/Carbon#sponsor", - "type": "opencollective" - }, - { - "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme", - "type": "tidelift" - } - ], - "time": "2023-11-28T10:13:25+00:00" - }, - { - "name": "nunomaduro/termwind", - "version": "v1.15.1", - "source": { - "type": "git", - "url": "https://github.com/nunomaduro/termwind.git", - "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc", - "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": "^8.0", - "symfony/console": "^5.3.0|^6.0.0" - }, - "require-dev": { - "ergebnis/phpstan-rules": "^1.0.", - "illuminate/console": "^8.0|^9.0", - "illuminate/support": "^8.0|^9.0", - "laravel/pint": "^1.0.0", - "pestphp/pest": "^1.21.0", - "pestphp/pest-plugin-mock": "^1.0", - "phpstan/phpstan": "^1.4.6", - "phpstan/phpstan-strict-rules": "^1.1.0", - "symfony/var-dumper": "^5.2.7|^6.0.0", - "thecodingmachine/phpstan-strict-rules": "^1.0.0" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Termwind\\Laravel\\TermwindServiceProvider" - ] - } - }, - "autoload": { - "files": [ - "src/Functions.php" - ], - "psr-4": { - "Termwind\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nuno Maduro", - "email": "enunomaduro@gmail.com" - } - ], - "description": "Its like Tailwind CSS, but for the console.", - "keywords": [ - "cli", - "console", - "css", - "package", - "php", - "style" - ], - "support": { - "issues": "https://github.com/nunomaduro/termwind/issues", - "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1" - }, - "funding": [ - { - "url": "https://www.paypal.com/paypalme/enunomaduro", - "type": "custom" - }, - { - "url": "https://github.com/nunomaduro", - "type": "github" - }, - { - "url": "https://github.com/xiCO2k", - "type": "github" - } - ], - "time": "2023-02-08T01:06:31+00:00" - }, - { - "name": "phpmailer/phpmailer", - "version": "v6.9.1", - "source": { - "type": "git", - "url": "https://github.com/PHPMailer/PHPMailer.git", - "reference": "039de174cd9c17a8389754d3b877a2ed22743e18" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/039de174cd9c17a8389754d3b877a2ed22743e18", - "reference": "039de174cd9c17a8389754d3b877a2ed22743e18", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "ext-filter": "*", - "ext-hash": "*", - "php": ">=5.5.0" - }, - "require-dev": { - "dealerdirect/phpcodesniffer-composer-installer": "^1.0", - "doctrine/annotations": "^1.2.6 || ^1.13.3", - "php-parallel-lint/php-console-highlighter": "^1.0.0", - "php-parallel-lint/php-parallel-lint": "^1.3.2", - "phpcompatibility/php-compatibility": "^9.3.5", - "roave/security-advisories": "dev-latest", - "squizlabs/php_codesniffer": "^3.7.2", - "yoast/phpunit-polyfills": "^1.0.4" - }, - "suggest": { - "decomplexity/SendOauth2": "Adapter for using XOAUTH2 authentication", - "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", - "ext-openssl": "Needed for secure SMTP sending and DKIM signing", - "greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication", - "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", - "league/oauth2-google": "Needed for Google XOAUTH2 authentication", - "psr/log": "For optional PSR-3 debug logging", - "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)", - "thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication" - }, - "type": "library", - "autoload": { - "psr-4": { - "PHPMailer\\PHPMailer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "LGPL-2.1-only" - ], - "authors": [ - { - "name": "Marcus Bointon", - "email": "phpmailer@synchromedia.co.uk" - }, - { - "name": "Jim Jagielski", - "email": "jimjag@gmail.com" - }, - { - "name": "Andy Prevost", - "email": "codeworxtech@users.sourceforge.net" - }, - { - "name": "Brent R. Matzelle" - } - ], - "description": "PHPMailer is a full-featured email creation and transfer class for PHP", - "support": { - "issues": "https://github.com/PHPMailer/PHPMailer/issues", - "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.9.1" - }, - "funding": [ - { - "url": "https://github.com/Synchro", - "type": "github" - } - ], - "time": "2023-11-25T22:23:28+00:00" - }, - { - "name": "phpoption/phpoption", - "version": "1.9.2", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820", - "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": true - }, - "branch-alias": { - "dev-master": "1.9-dev" - } - }, - "autoload": { - "psr-4": { - "PhpOption\\": "src/PhpOption/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh" - }, - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - } - ], - "description": "Option Type for PHP", - "keywords": [ - "language", - "option", - "php", - "type" - ], - "support": { - "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.9.2" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", - "type": "tidelift" - } - ], - "time": "2023-11-12T21:59:55+00:00" - }, - { - "name": "predis/predis", - "version": "v2.2.2", - "source": { - "type": "git", - "url": "https://github.com/predis/predis.git", - "reference": "b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/predis/predis/zipball/b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1", - "reference": "b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.3", - "phpstan/phpstan": "^1.9", - "phpunit/phpunit": "^8.0 || ~9.4.4" - }, - "suggest": { - "ext-relay": "Faster connection with in-memory caching (>=0.6.2)" - }, - "type": "library", - "autoload": { - "psr-4": { - "Predis\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Till Krüss", - "homepage": "https://till.im", - "role": "Maintainer" - } - ], - "description": "A flexible and feature-complete Redis client for PHP.", - "homepage": "http://github.com/predis/predis", - "keywords": [ - "nosql", - "predis", - "redis" - ], - "support": { - "issues": "https://github.com/predis/predis/issues", - "source": "https://github.com/predis/predis/tree/v2.2.2" - }, - "funding": [ - { - "url": "https://github.com/sponsors/tillkruss", - "type": "github" - } - ], - "time": "2023-09-13T16:42:03+00:00" - }, - { - "name": "psr/cache", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "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/3.0.0" - }, - "time": "2021-02-03T23:26:27+00:00" - }, - { - "name": "psr/clock", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/clock.git", - "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", - "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", - "shasum": "" - }, - "require": { - "php": "^7.0 || ^8.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Psr\\Clock\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for reading the clock.", - "homepage": "https://github.com/php-fig/clock", - "keywords": [ - "clock", - "now", - "psr", - "psr-20", - "time" - ], - "support": { - "issues": "https://github.com/php-fig/clock/issues", - "source": "https://github.com/php-fig/clock/tree/1.0.0" - }, - "time": "2022-11-25T14:36:26+00:00" - }, - { - "name": "psr/container", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "shasum": "" - }, - "require": { - "php": ">=7.4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/2.0.2" - }, - "time": "2021-11-05T16:47:00+00:00" - }, - { - "name": "psr/event-dispatcher", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\EventDispatcher\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Standard interfaces for event handling.", - "keywords": [ - "events", - "psr", - "psr-14" - ], - "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" - }, - "time": "2019-01-08T18:20:26+00:00" - }, - { - "name": "psr/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.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-factory.git", - "reference": "e616d01114759c4c489f93b099585439f795fe35" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", - "reference": "e616d01114759c4c489f93b099585439f795fe35", - "shasum": "" - }, - "require": { - "php": ">=7.0.0", - "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": "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/tree/1.0.2" - }, - "time": "2023-04-10T20:10:41+00:00" - }, - { - "name": "psr/http-message", - "version": "2.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", - "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.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": "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/2.0" - }, - "time": "2023-04-04T09:54:51+00:00" - }, - { - "name": "psr/log", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" - }, - "time": "2021-07-14T16:46:02+00:00" - }, - { - "name": "psr/simple-cache", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", - "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], - "support": { - "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" - }, - "time": "2021-10-29T13:26:27+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": "react/promise", - "version": "v3.1.0", - "source": { - "type": "git", - "url": "https://github.com/reactphp/promise.git", - "reference": "e563d55d1641de1dea9f5e84f3cccc66d2bfe02c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/e563d55d1641de1dea9f5e84f3cccc66d2bfe02c", - "reference": "e563d55d1641de1dea9f5e84f3cccc66d2bfe02c", - "shasum": "" - }, - "require": { - "php": ">=7.1.0" - }, - "require-dev": { - "phpstan/phpstan": "1.10.39 || 1.4.10", - "phpunit/phpunit": "^9.6 || ^7.5" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "React\\Promise\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" - } - ], - "description": "A lightweight implementation of CommonJS Promises/A for PHP", - "keywords": [ - "promise", - "promises" - ], - "support": { - "issues": "https://github.com/reactphp/promise/issues", - "source": "https://github.com/reactphp/promise/tree/v3.1.0" - }, - "funding": [ - { - "url": "https://opencollective.com/reactphp", - "type": "open_collective" - } - ], - "time": "2023-11-16T16:21:57+00:00" - }, - { - "name": "rosell-dk/exec-with-fallback", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/rosell-dk/exec-with-fallback.git", - "reference": "f88a6b29abd0b580566056b7c1eb0434eb5db20d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rosell-dk/exec-with-fallback/zipball/f88a6b29abd0b580566056b7c1eb0434eb5db20d", - "reference": "f88a6b29abd0b580566056b7c1eb0434eb5db20d", - "shasum": "" - }, - "require": { - "php": "^5.6 | ^7.0 | ^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.11", - "phpunit/phpunit": "^9.3", - "squizlabs/php_codesniffer": "3.*" - }, - "suggest": { - "php-stan/php-stan": "Suggested for dev, in order to analyse code before committing" - }, - "type": "library", - "extra": { - "scripts-descriptions": { - "ci": "Run tests before CI", - "phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'", - "phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'", - "cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard", - "cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.", - "test": "Launches the preconfigured PHPUnit" - } - }, - "autoload": { - "psr-4": { - "ExecWithFallback\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bjørn Rosell", - "homepage": "https://www.bitwise-it.dk/contact", - "role": "Project Author" - } - ], - "description": "An exec() with fallback to emulations (proc_open, etc)", - "keywords": [ - "command", - "exec", - "fallback", - "open_proc", - "resiliant", - "sturdy" - ], - "support": { - "issues": "https://github.com/rosell-dk/exec-with-fallback/issues", - "source": "https://github.com/rosell-dk/exec-with-fallback/tree/1.2.0" - }, - "funding": [ - { - "url": "https://github.com/rosell-dk", - "type": "github" - }, - { - "url": "https://ko-fi.com/rosell", - "type": "ko_fi" - } - ], - "time": "2021-12-08T12:09:43+00:00" - }, - { - "name": "rosell-dk/file-util", - "version": "0.1.1", - "source": { - "type": "git", - "url": "https://github.com/rosell-dk/file-util.git", - "reference": "2ff895308c37f448b34b031cfbfd8e45f43936fd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rosell-dk/file-util/zipball/2ff895308c37f448b34b031cfbfd8e45f43936fd", - "reference": "2ff895308c37f448b34b031cfbfd8e45f43936fd", - "shasum": "" - }, - "require": { - "php": ">=5.4", - "rosell-dk/exec-with-fallback": "^1.0.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.11", - "mikey179/vfsstream": "^1.6", - "phpstan/phpstan": "^1.5", - "phpunit/phpunit": "^9.3", - "squizlabs/php_codesniffer": "3.*" - }, - "type": "library", - "extra": { - "scripts-descriptions": { - "ci": "Run tests before CI", - "phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'", - "phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'", - "cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard", - "cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.", - "test": "Launches the preconfigured PHPUnit" - } - }, - "autoload": { - "psr-4": { - "FileUtil\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bjørn Rosell", - "homepage": "https://www.bitwise-it.dk/contact", - "role": "Project Author" - } - ], - "description": "Functions for dealing with files and paths", - "keywords": [ - "files", - "path", - "util" - ], - "support": { - "issues": "https://github.com/rosell-dk/file-util/issues", - "source": "https://github.com/rosell-dk/file-util/tree/0.1.1" - }, - "funding": [ - { - "url": "https://github.com/rosell-dk", - "type": "github" - }, - { - "url": "https://ko-fi.com/rosell", - "type": "ko_fi" - } - ], - "time": "2022-04-19T10:12:31+00:00" - }, - { - "name": "rosell-dk/image-mime-type-guesser", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/rosell-dk/image-mime-type-guesser.git", - "reference": "72f7040e95a78937ae2edece452530224fcacea6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rosell-dk/image-mime-type-guesser/zipball/72f7040e95a78937ae2edece452530224fcacea6", - "reference": "72f7040e95a78937ae2edece452530224fcacea6", - "shasum": "" - }, - "require": { - "php": "^5.6 | ^7.0 | ^8.0", - "rosell-dk/image-mime-type-sniffer": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.11", - "phpstan/phpstan": "^1.5", - "phpunit/phpunit": "^9.3", - "squizlabs/php_codesniffer": "3.*" - }, - "type": "library", - "extra": { - "scripts-descriptions": { - "ci": "Run tests before CI", - "phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'", - "phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'", - "cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard", - "cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.", - "test": "Launches the preconfigured PHPUnit" - } - }, - "autoload": { - "psr-4": { - "ImageMimeTypeGuesser\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bjørn Rosell", - "homepage": "https://www.bitwise-it.dk/contact", - "role": "Project Author" - } - ], - "description": "Guess mime type of images", - "keywords": [ - "image", - "images", - "mime", - "mime type" - ], - "support": { - "issues": "https://github.com/rosell-dk/image-mime-type-guesser/issues", - "source": "https://github.com/rosell-dk/image-mime-type-guesser/tree/1.1.1" - }, - "funding": [ - { - "url": "https://github.com/rosell-dk", - "type": "github" - }, - { - "url": "https://ko-fi.com/rosell", - "type": "ko_fi" - } - ], - "time": "2022-05-19T09:57:15+00:00" - }, - { - "name": "rosell-dk/image-mime-type-sniffer", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/rosell-dk/image-mime-type-sniffer.git", - "reference": "9ed14cc5d2c14c417660a4dd1946b5f056494691" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rosell-dk/image-mime-type-sniffer/zipball/9ed14cc5d2c14c417660a4dd1946b5f056494691", - "reference": "9ed14cc5d2c14c417660a4dd1946b5f056494691", - "shasum": "" - }, - "require": { - "php": ">=5.4" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.11", - "mikey179/vfsstream": "^1.6", - "phpstan/phpstan": "^1.5", - "phpunit/phpunit": "^9.3", - "squizlabs/php_codesniffer": "3.*" - }, - "type": "library", - "extra": { - "scripts-descriptions": { - "ci": "Run tests before CI", - "phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'", - "phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'", - "cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard", - "cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.", - "test": "Launches the preconfigured PHPUnit" - } - }, - "autoload": { - "psr-4": { - "ImageMimeTypeSniffer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bjørn Rosell", - "homepage": "https://www.bitwise-it.dk/contact", - "role": "Project Author" - } - ], - "description": "Sniff mime type (images only)", - "keywords": [ - "image", - "images", - "mime", - "mime type" - ], - "support": { - "issues": "https://github.com/rosell-dk/image-mime-type-sniffer/issues", - "source": "https://github.com/rosell-dk/image-mime-type-sniffer/tree/1.1.1" - }, - "funding": [ - { - "url": "https://github.com/rosell-dk", - "type": "github" - }, - { - "url": "https://ko-fi.com/rosell", - "type": "ko_fi" - } - ], - "time": "2022-04-20T14:31:25+00:00" - }, - { - "name": "rosell-dk/locate-binaries", - "version": "1.0", - "source": { - "type": "git", - "url": "https://github.com/rosell-dk/locate-binaries.git", - "reference": "bd2f493383ecd55aa519828dd2898e30f3b9cbb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rosell-dk/locate-binaries/zipball/bd2f493383ecd55aa519828dd2898e30f3b9cbb0", - "reference": "bd2f493383ecd55aa519828dd2898e30f3b9cbb0", - "shasum": "" - }, - "require": { - "php": ">=5.6", - "rosell-dk/exec-with-fallback": "^1.0.0", - "rosell-dk/file-util": "^0.1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.11", - "phpstan/phpstan": "^1.5", - "phpunit/phpunit": "^9.3", - "squizlabs/php_codesniffer": "3.*" - }, - "type": "library", - "extra": { - "scripts-descriptions": { - "ci": "Run tests before CI", - "phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'", - "phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'", - "cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard", - "cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.", - "test": "Launches the preconfigured PHPUnit" - } - }, - "autoload": { - "psr-4": { - "LocateBinaries\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bjørn Rosell", - "homepage": "https://www.bitwise-it.dk/contact", - "role": "Project Author" - } - ], - "description": "Locate a binaries by means of exec() or similar", - "keywords": [ - "binary", - "discover", - "locate", - "whereis", - "which" - ], - "support": { - "issues": "https://github.com/rosell-dk/locate-binaries/issues", - "source": "https://github.com/rosell-dk/locate-binaries/tree/1.0" - }, - "funding": [ - { - "url": "https://github.com/rosell-dk", - "type": "github" - }, - { - "url": "https://ko-fi.com/rosell", - "type": "ko_fi" - } - ], - "time": "2022-04-20T07:20:07+00:00" - }, - { - "name": "rosell-dk/webp-convert", - "version": "2.9.2", - "source": { - "type": "git", - "url": "https://github.com/rosell-dk/webp-convert.git", - "reference": "5ccba85ebe3b28ae229459fd0baed25314616ac9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rosell-dk/webp-convert/zipball/5ccba85ebe3b28ae229459fd0baed25314616ac9", - "reference": "5ccba85ebe3b28ae229459fd0baed25314616ac9", - "shasum": "" - }, - "require": { - "php": "^5.6 | ^7.0 | ^8.0", - "rosell-dk/exec-with-fallback": "^1.0.0", - "rosell-dk/image-mime-type-guesser": "^1.1.1", - "rosell-dk/locate-binaries": "^1.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.11", - "phpstan/phpstan": "^1.5", - "phpunit/phpunit": "^9.3", - "squizlabs/php_codesniffer": "3.*" - }, - "suggest": { - "ext-gd": "to use GD extension for converting. Note: Gd must be compiled with webp support", - "ext-imagick": "to use Imagick extension for converting. Note: Gd must be compiled with webp support", - "ext-vips": "to use Vips extension for converting.", - "php-stan/php-stan": "Suggested for dev, in order to analyse code before committing" - }, - "type": "library", - "extra": { - "scripts-descriptions": { - "ci": "Run tests before CI", - "phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'", - "phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'", - "cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard", - "cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.", - "test": "Launches the preconfigured PHPUnit" - } - }, - "autoload": { - "psr-4": { - "WebPConvert\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bjørn Rosell", - "homepage": "https://www.bitwise-it.dk/contact", - "role": "Project Author" - }, - { - "name": "Martin Folkers", - "homepage": "https://twobrain.io", - "role": "Collaborator" - } - ], - "description": "Convert JPEG & PNG to WebP with PHP", - "keywords": [ - "Webp", - "cwebp", - "gd", - "image conversion", - "images", - "imagick", - "jpg", - "jpg2webp", - "png", - "png2webp" - ], - "support": { - "issues": "https://github.com/rosell-dk/webp-convert/issues", - "source": "https://github.com/rosell-dk/webp-convert/tree/2.9.2" - }, - "funding": [ - { - "url": "https://github.com/rosell-dk", - "type": "github" - }, - { - "url": "https://ko-fi.com/rosell", - "type": "ko_fi" - } - ], - "time": "2022-05-19T13:56:36+00:00" - }, - { - "name": "seld/jsonlint", - "version": "1.10.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "594fd6462aad8ecee0b45ca5045acea4776667f1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/594fd6462aad8ecee0b45ca5045acea4776667f1", - "reference": "594fd6462aad8ecee0b45ca5045acea4776667f1", - "shasum": "" - }, - "require": { - "php": "^5.3 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.5", - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13" - }, - "bin": [ - "bin/jsonlint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Seld\\JsonLint\\": "src/Seld/JsonLint/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "JSON Linter", - "keywords": [ - "json", - "linter", - "parser", - "validator" - ], - "support": { - "issues": "https://github.com/Seldaek/jsonlint/issues", - "source": "https://github.com/Seldaek/jsonlint/tree/1.10.0" - }, - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", - "type": "tidelift" - } - ], - "time": "2023-05-11T13:16:46+00:00" - }, - { - "name": "seld/phar-utils", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/phar-utils.git", - "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", - "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", - "shasum": "" - }, - "require": { - "php": ">=5.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Seld\\PharUtils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be" - } - ], - "description": "PHAR file format utilities, for when PHP phars you up", - "keywords": [ - "phar" - ], - "support": { - "issues": "https://github.com/Seldaek/phar-utils/issues", - "source": "https://github.com/Seldaek/phar-utils/tree/1.2.1" - }, - "time": "2022-08-31T10:31:18+00:00" - }, - { - "name": "seld/signal-handler", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/signal-handler.git", - "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/signal-handler/zipball/04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98", - "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "require-dev": { - "phpstan/phpstan": "^1", - "phpstan/phpstan-deprecation-rules": "^1.0", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1.3", - "phpunit/phpunit": "^7.5.20 || ^8.5.23", - "psr/log": "^1 || ^2 || ^3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Seld\\Signal\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Simple unix signal handler that silently fails where signals are not supported for easy cross-platform development", - "keywords": [ - "posix", - "sigint", - "signal", - "sigterm", - "unix" - ], - "support": { - "issues": "https://github.com/Seldaek/signal-handler/issues", - "source": "https://github.com/Seldaek/signal-handler/tree/2.0.2" - }, - "time": "2023-09-03T09:24:00+00:00" - }, - { - "name": "simplepie/simplepie", - "version": "1.8.0", - "source": { - "type": "git", - "url": "https://github.com/simplepie/simplepie.git", - "reference": "65b095d87bc00898d8fa7737bdbcda93a3fbcc55" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/simplepie/simplepie/zipball/65b095d87bc00898d8fa7737bdbcda93a3fbcc55", - "reference": "65b095d87bc00898d8fa7737bdbcda93a3fbcc55", - "shasum": "" - }, - "require": { - "ext-pcre": "*", - "ext-xml": "*", - "ext-xmlreader": "*", - "php": ">=7.2.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.19 || ^3.8", - "psr/simple-cache": "^1 || ^2 || ^3", - "yoast/phpunit-polyfills": "^1.0.1" - }, - "suggest": { - "ext-curl": "", - "ext-iconv": "", - "ext-intl": "", - "ext-mbstring": "", - "mf2/mf2": "Microformat module that allows for parsing HTML for microformats" - }, - "type": "library", - "autoload": { - "psr-0": { - "SimplePie": "library" - }, - "psr-4": { - "SimplePie\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Ryan Parman", - "homepage": "http://ryanparman.com/", - "role": "Creator, alumnus developer" - }, - { - "name": "Sam Sneddon", - "homepage": "https://gsnedders.com/", - "role": "Alumnus developer" - }, - { - "name": "Ryan McCue", - "email": "me@ryanmccue.info", - "homepage": "http://ryanmccue.info/", - "role": "Developer" - } - ], - "description": "A simple Atom/RSS parsing library for PHP", - "homepage": "http://simplepie.org/", - "keywords": [ - "atom", - "feeds", - "rss" - ], - "support": { - "issues": "https://github.com/simplepie/simplepie/issues", - "source": "https://github.com/simplepie/simplepie/tree/1.8.0" - }, - "time": "2023-01-20T08:37:35+00:00" - }, - { - "name": "symfony/console", - "version": "v6.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "a550a7c99daeedef3f9d23fb82e3531525ff11fd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/a550a7c99daeedef3f9d23fb82e3531525ff11fd", - "reference": "a550a7c99daeedef3f9d23fb82e3531525ff11fd", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/string": "^5.4|^6.0|^7.0" - }, - "conflict": { - "symfony/dependency-injection": "<5.4", - "symfony/dotenv": "<5.4", - "symfony/event-dispatcher": "<5.4", - "symfony/lock": "<5.4", - "symfony/process": "<5.4" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" - }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/lock": "^5.4|^6.0|^7.0", - "symfony/messenger": "^5.4|^6.0|^7.0", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/var-dumper": "^5.4|^6.0|^7.0" - }, - "type": "library", - "autoload": { - "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/v6.4.1" - }, - "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-11-30T10:54:28+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v3.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", - "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.4-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.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": "2023-05-23T14:45:45+00:00" - }, - { - "name": "symfony/error-handler", - "version": "v7.0.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/error-handler.git", - "reference": "80b1258be1b84c12a345d0ec3881bbf2e5270cc2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/80b1258be1b84c12a345d0ec3881bbf2e5270cc2", - "reference": "80b1258be1b84c12a345d0ec3881bbf2e5270cc2", - "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" - }, - "require-dev": { - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/http-kernel": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.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/v7.0.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": "2023-10-20T16:35:23+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v7.0.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "c459b40ffe67c49af6fd392aac374c9edf8a027e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/c459b40ffe67c49af6fd392aac374c9edf8a027e", - "reference": "c459b40ffe67c49af6fd392aac374c9edf8a027e", - "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" - }, - "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" - }, - "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/v7.0.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": "2023-07-27T16:29:09+00:00" - }, - { - "name": "symfony/event-dispatcher-contracts", - "version": "v3.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "a76aed96a42d2b521153fb382d418e30d18b59df" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df", - "reference": "a76aed96a42d2b521153fb382d418e30d18b59df", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/event-dispatcher": "^1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.4-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.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": "2023-05-23T14:45:45+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v7.0.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "7da8ea2362a283771478c5f7729cfcb43a76b8b7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/7da8ea2362a283771478c5f7729cfcb43a76b8b7", - "reference": "7da8ea2362a283771478c5f7729cfcb43a76b8b7", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8" - }, - "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/v7.0.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": "2023-07-27T06:33:22+00:00" - }, - { - "name": "symfony/finder", - "version": "v6.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "11d736e97f116ac375a81f96e662911a34cd50ce" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/11d736e97f116ac375a81f96e662911a34cd50ce", - "reference": "11d736e97f116ac375a81f96e662911a34cd50ce", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "symfony/filesystem": "^6.0|^7.0" - }, - "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/v6.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": "2023-10-31T17:30:12+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v6.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "44a6d39a9cc11e154547d882d5aac1e014440771" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/44a6d39a9cc11e154547d882d5aac1e014440771", - "reference": "44a6d39a9cc11e154547d882d5aac1e014440771", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.1", - "symfony/polyfill-php83": "^1.27" - }, - "conflict": { - "symfony/cache": "<6.3" - }, - "require-dev": { - "doctrine/dbal": "^2.13.1|^3|^4", - "predis/predis": "^1.1|^2.0", - "symfony/cache": "^6.3|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", - "symfony/mime": "^5.4|^6.0|^7.0", - "symfony/rate-limiter": "^5.4|^6.0|^7.0" - }, - "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/v6.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": "2023-11-20T16:41:16+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v6.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "2953274c16a229b3933ef73a6898e18388e12e1b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/2953274c16a229b3933ef73a6898e18388e12e1b", - "reference": "2953274c16a229b3933ef73a6898e18388e12e1b", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/error-handler": "^6.4|^7.0", - "symfony/event-dispatcher": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^6.4|^7.0", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "symfony/browser-kit": "<5.4", - "symfony/cache": "<5.4", - "symfony/config": "<6.1", - "symfony/console": "<5.4", - "symfony/dependency-injection": "<6.4", - "symfony/doctrine-bridge": "<5.4", - "symfony/form": "<5.4", - "symfony/http-client": "<5.4", - "symfony/http-client-contracts": "<2.5", - "symfony/mailer": "<5.4", - "symfony/messenger": "<5.4", - "symfony/translation": "<5.4", - "symfony/translation-contracts": "<2.5", - "symfony/twig-bridge": "<5.4", - "symfony/validator": "<6.4", - "symfony/var-dumper": "<6.3", - "twig/twig": "<2.13" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" - }, - "require-dev": { - "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^5.4|^6.0|^7.0", - "symfony/clock": "^6.2|^7.0", - "symfony/config": "^6.1|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/css-selector": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/dom-crawler": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/http-client-contracts": "^2.5|^3", - "symfony/process": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4.5|^6.0.5|^7.0", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.3|^7.0", - "symfony/stopwatch": "^5.4|^6.0|^7.0", - "symfony/translation": "^5.4|^6.0|^7.0", - "symfony/translation-contracts": "^2.5|^3", - "symfony/uid": "^5.4|^6.0|^7.0", - "symfony/validator": "^6.4|^7.0", - "symfony/var-exporter": "^6.2|^7.0", - "twig/twig": "^2.13|^3.0.4" - }, - "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/v6.4.1" - }, - "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-12-01T17:02:02+00:00" - }, - { - "name": "symfony/mime", - "version": "v6.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/mime.git", - "reference": "ca4f58b2ef4baa8f6cecbeca2573f88cd577d205" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/ca4f58b2ef4baa8f6cecbeca2573f88cd577d205", - "reference": "ca4f58b2ef4baa8f6cecbeca2573f88cd577d205", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "conflict": { - "egulias/email-validator": "~3.0.0", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<5.4", - "symfony/serializer": "<6.3.2" - }, - "require-dev": { - "egulias/email-validator": "^2.1.10|^3.1|^4", - "league/html-to-markdown": "^5.0", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/property-access": "^5.4|^6.0|^7.0", - "symfony/property-info": "^5.4|^6.0|^7.0", - "symfony/serializer": "^6.3.2|^7.0" - }, - "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/v6.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": "2023-10-17T11:49:05+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", - "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-ctype": "*" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "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.28.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": "2023-01-26T09:26:14+00:00" - }, - { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "875e90aeea2777b6f135677f618529449334a612" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", - "reference": "875e90aeea2777b6f135677f618529449334a612", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "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.28.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": "2023-01-26T09:26:14+00:00" + "_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": "aede881154a1e658d51c428a167f65e5", + "packages": [ + { + "name": "brick/math", + "version": "0.11.0", + "source": { + "type": "git", + "url": "https://github.com/brick/math.git", + "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/brick/math/zipball/0ad82ce168c82ba30d1c01ec86116ab52f589478", + "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478", + "shasum": "" + }, + "require": { + "php": "^8.0" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^9.0", + "vimeo/psalm": "5.0.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Brick\\Math\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Arbitrary-precision arithmetic library", + "keywords": [ + "Arbitrary-precision", + "BigInteger", + "BigRational", + "arithmetic", + "bigdecimal", + "bignum", + "brick", + "math" + ], + "support": { + "issues": "https://github.com/brick/math/issues", + "source": "https://github.com/brick/math/tree/0.11.0" + }, + "funding": [ + { + "url": "https://github.com/BenMorel", + "type": "github" + } + ], + "time": "2023-01-15T23:15:59+00:00" + }, + { + "name": "carbonphp/carbon-doctrine-types", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git", + "reference": "67a77972b9f398ae7068dabacc39c08aeee170d5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/67a77972b9f398ae7068dabacc39c08aeee170d5", + "reference": "67a77972b9f398ae7068dabacc39c08aeee170d5", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "conflict": { + "doctrine/dbal": "<3.7.0 || >=4.0.0" + }, + "require-dev": { + "doctrine/dbal": "^3.7.0", + "nesbot/carbon": "^2.71.0 || ^3.0.0", + "phpunit/phpunit": "^10.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Carbon\\Doctrine\\": "src/Carbon/Doctrine/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "KyleKatarn", + "email": "kylekatarnls@gmail.com" + } + ], + "description": "Types to use Carbon in Doctrine", + "keywords": [ + "carbon", + "date", + "datetime", + "doctrine", + "time" + ], + "support": { + "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.0.0" + }, + "funding": [ + { + "url": "https://github.com/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "type": "tidelift" + } + ], + "time": "2023-10-01T14:29:01+00:00" + }, + { + "name": "composer/ca-bundle", + "version": "1.3.7", + "source": { + "type": "git", + "url": "https://github.com/composer/ca-bundle.git", + "reference": "76e46335014860eec1aa5a724799a00a2e47cc85" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/ca-bundle/zipball/76e46335014860eec1aa5a724799a00a2e47cc85", + "reference": "76e46335014860eec1aa5a724799a00a2e47cc85", + "shasum": "" + }, + "require": { + "ext-openssl": "*", + "ext-pcre": "*", + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.55", + "psr/log": "^1.0", + "symfony/phpunit-bridge": "^4.2 || ^5", + "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\CaBundle\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", + "keywords": [ + "cabundle", + "cacert", + "certificate", + "ssl", + "tls" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/ca-bundle/issues", + "source": "https://github.com/composer/ca-bundle/tree/1.3.7" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2023-08-30T09:31:38+00:00" + }, + { + "name": "composer/class-map-generator", + "version": "1.1.0", + "source": { + "type": "git", + "url": "https://github.com/composer/class-map-generator.git", + "reference": "953cc4ea32e0c31f2185549c7d216d7921f03da9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/class-map-generator/zipball/953cc4ea32e0c31f2185549c7d216d7921f03da9", + "reference": "953cc4ea32e0c31f2185549c7d216d7921f03da9", + "shasum": "" + }, + "require": { + "composer/pcre": "^2.1 || ^3.1", + "php": "^7.2 || ^8.0", + "symfony/finder": "^4.4 || ^5.3 || ^6 || ^7" + }, + "require-dev": { + "phpstan/phpstan": "^1.6", + "phpstan/phpstan-deprecation-rules": "^1", + "phpstan/phpstan-phpunit": "^1", + "phpstan/phpstan-strict-rules": "^1.1", + "symfony/filesystem": "^5.4 || ^6", + "symfony/phpunit-bridge": "^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\ClassMapGenerator\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "Utilities to scan PHP code and generate class maps.", + "keywords": [ + "classmap" + ], + "support": { + "issues": "https://github.com/composer/class-map-generator/issues", + "source": "https://github.com/composer/class-map-generator/tree/1.1.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2023-06-30T13:58:57+00:00" + }, + { + "name": "composer/composer", + "version": "2.6.5", + "source": { + "type": "git", + "url": "https://github.com/composer/composer.git", + "reference": "4b0fe89db9e65b1e64df633a992e70a7a215ab33" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/composer/zipball/4b0fe89db9e65b1e64df633a992e70a7a215ab33", + "reference": "4b0fe89db9e65b1e64df633a992e70a7a215ab33", + "shasum": "" + }, + "require": { + "composer/ca-bundle": "^1.0", + "composer/class-map-generator": "^1.0", + "composer/metadata-minifier": "^1.0", + "composer/pcre": "^2.1 || ^3.1", + "composer/semver": "^3.2.5", + "composer/spdx-licenses": "^1.5.7", + "composer/xdebug-handler": "^2.0.2 || ^3.0.3", + "justinrainbow/json-schema": "^5.2.11", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1.0 || ^2.0 || ^3.0", + "react/promise": "^2.8 || ^3", + "seld/jsonlint": "^1.4", + "seld/phar-utils": "^1.2", + "seld/signal-handler": "^2.0", + "symfony/console": "^5.4.11 || ^6.0.11 || ^7", + "symfony/filesystem": "^5.4 || ^6.0 || ^7", + "symfony/finder": "^5.4 || ^6.0 || ^7", + "symfony/polyfill-php73": "^1.24", + "symfony/polyfill-php80": "^1.24", + "symfony/polyfill-php81": "^1.24", + "symfony/process": "^5.4 || ^6.0 || ^7" + }, + "require-dev": { + "phpstan/phpstan": "^1.9.3", + "phpstan/phpstan-deprecation-rules": "^1", + "phpstan/phpstan-phpunit": "^1.0", + "phpstan/phpstan-strict-rules": "^1", + "phpstan/phpstan-symfony": "^1.2.10", + "symfony/phpunit-bridge": "^6.0 || ^7" + }, + "suggest": { + "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", + "ext-zip": "Enabling the zip extension allows you to unzip archives", + "ext-zlib": "Allow gzip compression of HTTP requests" + }, + "bin": [ + "bin/composer" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.6-dev" + }, + "phpstan": { + "includes": [ + "phpstan/rules.neon" + ] + } + }, + "autoload": { + "psr-4": { + "Composer\\": "src/Composer/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "https://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", + "homepage": "https://getcomposer.org/", + "keywords": [ + "autoload", + "dependency", + "package" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/composer/issues", + "security": "https://github.com/composer/composer/security/policy", + "source": "https://github.com/composer/composer/tree/2.6.5" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2023-10-06T08:11:52+00:00" + }, + { + "name": "composer/metadata-minifier", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/composer/metadata-minifier.git", + "reference": "c549d23829536f0d0e984aaabbf02af91f443207" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/c549d23829536f0d0e984aaabbf02af91f443207", + "reference": "c549d23829536f0d0e984aaabbf02af91f443207", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "composer/composer": "^2", + "phpstan/phpstan": "^0.12.55", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\MetadataMinifier\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Small utility library that handles metadata minification and expansion.", + "keywords": [ + "composer", + "compression" + ], + "support": { + "issues": "https://github.com/composer/metadata-minifier/issues", + "source": "https://github.com/composer/metadata-minifier/tree/1.0.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2021-04-07T13:37:33+00:00" + }, + { + "name": "composer/pcre", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/composer/pcre.git", + "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/pcre/zipball/00104306927c7a0919b4ced2aaa6782c1e61a3c9", + "reference": "00104306927c7a0919b4ced2aaa6782c1e61a3c9", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.3", + "phpstan/phpstan-strict-rules": "^1.1", + "symfony/phpunit-bridge": "^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Pcre\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "PCRE wrapping library that offers type-safe preg_* replacements.", + "keywords": [ + "PCRE", + "preg", + "regex", + "regular expression" + ], + "support": { + "issues": "https://github.com/composer/pcre/issues", + "source": "https://github.com/composer/pcre/tree/3.1.1" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2023-10-11T07:11:09+00:00" + }, + { + "name": "composer/semver", + "version": "3.4.0", + "source": { + "type": "git", + "url": "https://github.com/composer/semver.git", + "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/semver/zipball/35e8d0af4486141bc745f23a29cc2091eb624a32", + "reference": "35e8d0af4486141bc745f23a29cc2091eb624a32", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.4", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Semver\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "Semver library that offers utilities, version constraint parsing and validation.", + "keywords": [ + "semantic", + "semver", + "validation", + "versioning" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/semver/issues", + "source": "https://github.com/composer/semver/tree/3.4.0" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2023-08-31T09:50:34+00:00" + }, + { + "name": "composer/spdx-licenses", + "version": "1.5.8", + "source": { + "type": "git", + "url": "https://github.com/composer/spdx-licenses.git", + "reference": "560bdcf8deb88ae5d611c80a2de8ea9d0358cc0a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/560bdcf8deb88ae5d611c80a2de8ea9d0358cc0a", + "reference": "560bdcf8deb88ae5d611c80a2de8ea9d0358cc0a", + "shasum": "" + }, + "require": { + "php": "^5.3.2 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.55", + "symfony/phpunit-bridge": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Composer\\Spdx\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nils Adermann", + "email": "naderman@naderman.de", + "homepage": "http://www.naderman.de" + }, + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + }, + { + "name": "Rob Bast", + "email": "rob.bast@gmail.com", + "homepage": "http://robbast.nl" + } + ], + "description": "SPDX licenses list and validation library.", + "keywords": [ + "license", + "spdx", + "validator" + ], + "support": { + "irc": "ircs://irc.libera.chat:6697/composer", + "issues": "https://github.com/composer/spdx-licenses/issues", + "source": "https://github.com/composer/spdx-licenses/tree/1.5.8" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2023-11-20T07:44:33+00:00" + }, + { + "name": "composer/xdebug-handler", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/composer/xdebug-handler.git", + "reference": "ced299686f41dce890debac69273b47ffe98a40c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/composer/xdebug-handler/zipball/ced299686f41dce890debac69273b47ffe98a40c", + "reference": "ced299686f41dce890debac69273b47ffe98a40c", + "shasum": "" + }, + "require": { + "composer/pcre": "^1 || ^2 || ^3", + "php": "^7.2.5 || ^8.0", + "psr/log": "^1 || ^2 || ^3" + }, + "require-dev": { + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-strict-rules": "^1.1", + "symfony/phpunit-bridge": "^6.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Composer\\XdebugHandler\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "John Stevenson", + "email": "john-stevenson@blueyonder.co.uk" + } + ], + "description": "Restarts a process without Xdebug.", + "keywords": [ + "Xdebug", + "performance" + ], + "support": { + "irc": "irc://irc.freenode.org/composer", + "issues": "https://github.com/composer/xdebug-handler/issues", + "source": "https://github.com/composer/xdebug-handler/tree/3.0.3" + }, + "funding": [ + { + "url": "https://packagist.com", + "type": "custom" + }, + { + "url": "https://github.com/composer", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/composer/composer", + "type": "tidelift" + } + ], + "time": "2022-02-25T21:32:43+00:00" + }, + { + "name": "dmitry-suffi/redis-session-handler", + "version": "1.0.4", + "source": { + "type": "git", + "url": "https://github.com/dmitry-suffi/redis-session-handler.git", + "reference": "7057430a726dd8df530e1e3071e32cc6b1b5b170" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dmitry-suffi/redis-session-handler/zipball/7057430a726dd8df530e1e3071e32cc6b1b5b170", + "reference": "7057430a726dd8df530e1e3071e32cc6b1b5b170", + "shasum": "" + }, + "type": "project", + "autoload": { + "psr-4": { + "suffi\\RedisSessionHandler\\": "src\\" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Обработчик сессий через Redis с механизмом блокировки", + "homepage": "https://github.com/dmitry-suffi/redis-session-handler", + "keywords": [ + "redis", + "session" + ], + "support": { + "issues": "https://github.com/dmitry-suffi/redis-session-handler/issues", + "source": "https://github.com/dmitry-suffi/redis-session-handler/tree/1.0.4" + }, + "time": "2017-06-30T13:11:32+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/dbal", + "version": "3.7.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/dbal.git", + "reference": "0ac3c270590e54910715e9a1a044cc368df282b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/0ac3c270590e54910715e9a1a044cc368df282b2", + "reference": "0ac3c270590e54910715e9a1a044cc368df282b2", + "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.10.42", + "phpstan/phpstan-strict-rules": "^1.5", + "phpunit/phpunit": "9.6.13", + "psalm/plugin-phpunit": "0.18.4", + "slevomat/coding-standard": "8.13.1", + "squizlabs/php_codesniffer": "3.7.2", + "symfony/cache": "^5.4|^6.0", + "symfony/console": "^4.4|^5.4|^6.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.7.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%2Fdbal", + "type": "tidelift" + } + ], + "time": "2023-11-19T08:06:58+00:00" + }, + { + "name": "doctrine/deprecations", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", + "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.2" + }, + "time": "2023-09-27T20:04:15+00:00" + }, + { + "name": "doctrine/event-manager", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/event-manager.git", + "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/750671534e0241a7c50ea5b43f67e23eb5c96f32", + "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "conflict": { + "doctrine/common": "<2.9" + }, + "require-dev": { + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.8.8", + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "^4.28" + }, + "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/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%2Fevent-manager", + "type": "tidelift" + } + ], + "time": "2022-10-12T20:59:15+00:00" + }, + { + "name": "doctrine/inflector", + "version": "2.0.8", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/f9301a5b2fb1216b2b08f02ba04dc45423db6bff", + "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff", + "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.8" + }, + "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": "2023-06-16T13:40:37+00:00" + }, + { + "name": "doctrine/lexer", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "84a527db05647743d50373e0ec53a152f2cde568" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/84a527db05647743d50373e0ec53a152f2cde568", + "reference": "84a527db05647743d50373e0ec53a152f2cde568", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.9", + "phpunit/phpunit": "^9.5", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^5.0" + }, + "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/3.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%2Flexer", + "type": "tidelift" + } + ], + "time": "2022-12-15T16:57:16+00:00" + }, + { + "name": "dragonmantank/cron-expression", + "version": "v3.3.3", + "source": { + "type": "git", + "url": "https://github.com/dragonmantank/cron-expression.git", + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0", + "webmozart/assert": "^1.0" + }, + "replace": { + "mtdowling/cron-expression": "^1.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-webmozart-assert": "^1.0", + "phpunit/phpunit": "^7.0|^8.0|^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cron\\": "src/Cron/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Tankersley", + "email": "chris@ctankersley.com", + "homepage": "https://github.com/dragonmantank" + } + ], + "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "keywords": [ + "cron", + "schedule" + ], + "support": { + "issues": "https://github.com/dragonmantank/cron-expression/issues", + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3" + }, + "funding": [ + { + "url": "https://github.com/dragonmantank", + "type": "github" + } + ], + "time": "2023-08-10T19:36:49+00:00" + }, + { + "name": "egulias/email-validator", + "version": "4.0.2", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e", + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^2.0 || ^3.0", + "php": ">=8.1", + "symfony/polyfill-intl-idn": "^1.26" + }, + "require-dev": { + "phpunit/phpunit": "^10.2", + "vimeo/psalm": "^5.12" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Egulias\\EmailValidator\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eduardo Gulias Davis" + } + ], + "description": "A library for validating emails against several RFCs", + "homepage": "https://github.com/egulias/EmailValidator", + "keywords": [ + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" + ], + "support": { + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/4.0.2" + }, + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], + "time": "2023-10-06T06:47:41+00:00" + }, + { + "name": "evolutioncms-services/document-manager", + "version": "1.0.9", + "source": { + "type": "git", + "url": "https://github.com/evolution-cms/DocumentManager.git", + "reference": "403c065a0be6367baaadd3a5b01cf0f84522c8db" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/evolution-cms/DocumentManager/zipball/403c065a0be6367baaadd3a5b01cf0f84522c8db", + "reference": "403c065a0be6367baaadd3a5b01cf0f84522c8db", + "shasum": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "EvolutionCMS\\DocumentManager\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alexander Pashkevich", + "email": "sertious2008.wortk3@gmail.com" + } + ], + "support": { + "issues": "https://github.com/evolution-cms/DocumentManager/issues", + "source": "https://github.com/evolution-cms/DocumentManager/tree/1.0.9" + }, + "time": "2021-05-31T15:12:43+00:00" + }, + { + "name": "evolutioncms-services/user-manager", + "version": "1.0.14", + "source": { + "type": "git", + "url": "https://github.com/evolution-cms/UserManager.git", + "reference": "eb743546dc33874ae02cacf70e07624f9bda99ef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/evolution-cms/UserManager/zipball/eb743546dc33874ae02cacf70e07624f9bda99ef", + "reference": "eb743546dc33874ae02cacf70e07624f9bda99ef", + "shasum": "" + }, + "type": "library", + "autoload": { + "psr-4": { + "EvolutionCMS\\UserManager\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alexander Pashkevich", + "email": "sertious2008.wortk3@gmail.com" + } + ], + "support": { + "issues": "https://github.com/evolution-cms/UserManager/issues", + "source": "https://github.com/evolution-cms/UserManager/tree/1.0.14" + }, + "time": "2021-11-17T09:44:48+00:00" + }, + { + "name": "evolutioncms/salo2", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/evolution-cms/salo2.git", + "reference": "c2529f703db16e5078fb1038b07fa169ff09c4c8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/evolution-cms/salo2/zipball/c2529f703db16e5078fb1038b07fa169ff09c4c8", + "reference": "c2529f703db16e5078fb1038b07fa169ff09c4c8", + "shasum": "" + }, + "require": { + "illuminate/console": "^8.0|^9.0|^10.0", + "illuminate/contracts": "^8.0|^9.0|^10.0", + "illuminate/support": "^8.0|^9.0|^10.0", + "php": "^7.3|^8.0" + }, + "default-branch": true, + "bin": [ + "bin/salo" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "laravel": { + "providers": [ + "EvolutionCMS\\Salo\\SaloServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "EvolutionCMS\\Salo\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Evocms Docker files for running a basic evo application.", + "keywords": [ + "docker", + "evo" + ], + "support": { + "source": "https://github.com/evolution-cms/salo2/tree/master" + }, + "time": "2023-12-05T18:31:38+00:00" + }, + { + "name": "fruitcake/php-cors", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/fruitcake/php-cors.git", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0", + "symfony/http-foundation": "^4.4|^5.4|^6|^7" + }, + "require-dev": { + "phpstan/phpstan": "^1.4", + "phpunit/phpunit": "^9", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "Fruitcake\\Cors\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fruitcake", + "homepage": "https://fruitcake.nl" + }, + { + "name": "Barryvdh", + "email": "barryvdh@gmail.com" + } + ], + "description": "Cross-origin resource sharing library for the Symfony HttpFoundation", + "homepage": "https://github.com/fruitcake/php-cors", + "keywords": [ + "cors", + "laravel", + "symfony" + ], + "support": { + "issues": "https://github.com/fruitcake/php-cors/issues", + "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2023-10-12T05:21:21+00:00" + }, + { + "name": "graham-campbell/result-type", + "version": "v1.1.2", + "source": { + "type": "git", + "url": "https://github.com/GrahamCampbell/Result-Type.git", + "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/fbd48bce38f73f8a4ec8583362e732e4095e5862", + "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "GrahamCampbell\\ResultType\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "An Implementation Of The Result Type", + "keywords": [ + "Graham Campbell", + "GrahamCampbell", + "Result Type", + "Result-Type", + "result" + ], + "support": { + "issues": "https://github.com/GrahamCampbell/Result-Type/issues", + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", + "type": "tidelift" + } + ], + "time": "2023-11-12T22:16:48+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": "guzzlehttp/uri-template", + "version": "v1.0.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/uri-template.git", + "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c", + "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "symfony/polyfill-php80": "^1.24" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "uri-template/tests": "1.0.0" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\UriTemplate\\": "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" + } + ], + "description": "A polyfill class for uri_template of PHP", + "keywords": [ + "guzzlehttp", + "uri-template" + ], + "support": { + "issues": "https://github.com/guzzle/uri-template/issues", + "source": "https://github.com/guzzle/uri-template/tree/v1.0.3" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/uri-template", + "type": "tidelift" + } + ], + "time": "2023-12-03T19:50:20+00:00" + }, + { + "name": "illuminate/bus", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/bus.git", + "reference": "8fd7ec31c64734ca70f36651b90e8fe4e5b39868" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/bus/zipball/8fd7ec31c64734ca70f36651b90e8fe4e5b39868", + "reference": "8fd7ec31c64734ca70f36651b90e8fe4e5b39868", + "shasum": "" + }, + "require": { + "illuminate/collections": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/pipeline": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1" + }, + "suggest": { + "illuminate/queue": "Required to use closures when chaining jobs (^7.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Bus\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Bus package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-11-17T14:31:55+00:00" + }, + { + "name": "illuminate/cache", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/cache.git", + "reference": "1867c1d560cd344dfde0bfc8686e1f436395eb94" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/cache/zipball/1867c1d560cd344dfde0bfc8686e1f436395eb94", + "reference": "1867c1d560cd344dfde0bfc8686e1f436395eb94", + "shasum": "" + }, + "require": { + "illuminate/collections": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/macroable": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1" + }, + "provide": { + "psr/simple-cache-implementation": "1.0|2.0|3.0" + }, + "suggest": { + "ext-apcu": "Required to use the APC cache driver.", + "ext-filter": "Required to use the DynamoDb cache driver.", + "ext-memcached": "Required to use the memcache cache driver.", + "illuminate/database": "Required to use the database cache driver (^10.0).", + "illuminate/filesystem": "Required to use the file cache driver (^10.0).", + "illuminate/redis": "Required to use the redis cache driver (^10.0).", + "symfony/cache": "Required to use PSR-6 cache bridge (^6.2)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Cache\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Cache package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-11-27T14:35:29+00:00" + }, + { + "name": "illuminate/collections", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/collections.git", + "reference": "8e4c4f97ea066cd6aec962ef8a6abc09dfd5e754" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/collections/zipball/8e4c4f97ea066cd6aec962ef8a6abc09dfd5e754", + "reference": "8e4c4f97ea066cd6aec962ef8a6abc09dfd5e754", + "shasum": "" + }, + "require": { + "illuminate/conditionable": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/macroable": "^10.0", + "php": "^8.1" + }, + "suggest": { + "symfony/var-dumper": "Required to use the dump method (^6.2)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "files": [ + "helpers.php" + ], + "psr-4": { + "Illuminate\\Support\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Collections package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-11-27T14:46:52+00:00" + }, + { + "name": "illuminate/conditionable", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/conditionable.git", + "reference": "d0958e4741fc9d6f516a552060fd1b829a85e009" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/conditionable/zipball/d0958e4741fc9d6f516a552060fd1b829a85e009", + "reference": "d0958e4741fc9d6f516a552060fd1b829a85e009", + "shasum": "" + }, + "require": { + "php": "^8.0.2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Support\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Conditionable package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-02-03T08:06:17+00:00" + }, + { + "name": "illuminate/config", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/config.git", + "reference": "d5e83ceff5c4d5607b1b81763eb4c436911c35da" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/config/zipball/d5e83ceff5c4d5607b1b81763eb4c436911c35da", + "reference": "d5e83ceff5c4d5607b1b81763eb4c436911c35da", + "shasum": "" + }, + "require": { + "illuminate/collections": "^10.0", + "illuminate/contracts": "^10.0", + "php": "^8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Config\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Config package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2022-08-21T15:47:27+00:00" + }, + { + "name": "illuminate/console", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/console.git", + "reference": "d77731d372380f12c1e947a8fb5efc671aac48ef" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/console/zipball/d77731d372380f12c1e947a8fb5efc671aac48ef", + "reference": "d77731d372380f12c1e947a8fb5efc671aac48ef", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "illuminate/collections": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/macroable": "^10.0", + "illuminate/support": "^10.0", + "illuminate/view": "^10.0", + "laravel/prompts": "^0.1.9", + "nunomaduro/termwind": "^1.13", + "php": "^8.1", + "symfony/console": "^6.2", + "symfony/process": "^6.2" + }, + "suggest": { + "dragonmantank/cron-expression": "Required to use scheduler (^3.3.2).", + "ext-pcntl": "Required to use signal trapping.", + "guzzlehttp/guzzle": "Required to use the ping methods on schedules (^7.5).", + "illuminate/bus": "Required to use the scheduled job dispatcher (^10.0).", + "illuminate/container": "Required to use the scheduler (^10.0).", + "illuminate/filesystem": "Required to use the generator command (^10.0).", + "illuminate/queue": "Required to use closures for scheduled jobs (^10.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Console\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Console package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-11-20T15:39:38+00:00" + }, + { + "name": "illuminate/container", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/container.git", + "reference": "ddc26273085fad3c471b2602ad820e0097ff7939" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/container/zipball/ddc26273085fad3c471b2602ad820e0097ff7939", + "reference": "ddc26273085fad3c471b2602ad820e0097ff7939", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^10.0", + "php": "^8.1", + "psr/container": "^1.1.1|^2.0.1" + }, + "provide": { + "psr/container-implementation": "1.1|2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Container\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Container package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-06-18T09:12:03+00:00" + }, + { + "name": "illuminate/contracts", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/contracts.git", + "reference": "f6bf37a272fda164f6c451407c99f820eb1eb95b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/contracts/zipball/f6bf37a272fda164f6c451407c99f820eb1eb95b", + "reference": "f6bf37a272fda164f6c451407c99f820eb1eb95b", + "shasum": "" + }, + "require": { + "php": "^8.1", + "psr/container": "^1.1.1|^2.0.1", + "psr/simple-cache": "^1.0|^2.0|^3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Contracts\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Contracts package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-10-30T00:59:22+00:00" + }, + { + "name": "illuminate/database", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/database.git", + "reference": "3368e28e7ecc5b66fc749104ce75982971823216" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/database/zipball/3368e28e7ecc5b66fc749104ce75982971823216", + "reference": "3368e28e7ecc5b66fc749104ce75982971823216", + "shasum": "" + }, + "require": { + "brick/math": "^0.9.3|^0.10.2|^0.11", + "ext-pdo": "*", + "illuminate/collections": "^10.0", + "illuminate/container": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/macroable": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1" + }, + "suggest": { + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^3.5.1).", + "ext-filter": "Required to use the Postgres database driver.", + "fakerphp/faker": "Required to use the eloquent factory builder (^1.21).", + "illuminate/console": "Required to use the database commands (^10.0).", + "illuminate/events": "Required to use the observers with Eloquent (^10.0).", + "illuminate/filesystem": "Required to use the migrations (^10.0).", + "illuminate/pagination": "Required to paginate the result set (^10.0).", + "symfony/finder": "Required to use Eloquent model factories (^6.2)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Database\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Database package.", + "homepage": "https://laravel.com", + "keywords": [ + "database", + "laravel", + "orm", + "sql" + ], + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-12-04T22:26:42+00:00" + }, + { + "name": "illuminate/events", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/events.git", + "reference": "8d84d6220a6b3446a0bf3e4138e2eb0e10792bb1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/events/zipball/8d84d6220a6b3446a0bf3e4138e2eb0e10792bb1", + "reference": "8d84d6220a6b3446a0bf3e4138e2eb0e10792bb1", + "shasum": "" + }, + "require": { + "illuminate/bus": "^10.0", + "illuminate/collections": "^10.0", + "illuminate/container": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/macroable": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "files": [ + "functions.php" + ], + "psr-4": { + "Illuminate\\Events\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Events package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-10-30T00:59:35+00:00" + }, + { + "name": "illuminate/filesystem", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/filesystem.git", + "reference": "8a412afd1b56f762aafe2747d5e2b79267f97436" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/filesystem/zipball/8a412afd1b56f762aafe2747d5e2b79267f97436", + "reference": "8a412afd1b56f762aafe2747d5e2b79267f97436", + "shasum": "" + }, + "require": { + "illuminate/collections": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/macroable": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1", + "symfony/finder": "^6.2" + }, + "suggest": { + "ext-fileinfo": "Required to use the Filesystem class.", + "ext-ftp": "Required to use the Flysystem FTP driver.", + "ext-hash": "Required to use the Filesystem class.", + "illuminate/http": "Required for handling uploaded files (^7.0).", + "league/flysystem": "Required to use the Flysystem local driver (^3.0.16).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", + "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^6.2).", + "symfony/mime": "Required to enable support for guessing extensions (^6.2)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Filesystem\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Filesystem package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-11-08T14:19:58+00:00" + }, + { + "name": "illuminate/http", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/http.git", + "reference": "556553a9944ee2fb4c9996804204f0c4a5f85041" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/http/zipball/556553a9944ee2fb4c9996804204f0c4a5f85041", + "reference": "556553a9944ee2fb4c9996804204f0c4a5f85041", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "fruitcake/php-cors": "^1.2", + "guzzlehttp/uri-template": "^1.0", + "illuminate/collections": "^10.0", + "illuminate/macroable": "^10.0", + "illuminate/session": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1", + "symfony/http-foundation": "^6.4", + "symfony/http-kernel": "^6.2", + "symfony/mime": "^6.2" + }, + "suggest": { + "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", + "guzzlehttp/guzzle": "Required to use the HTTP Client (^7.5)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Http\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Http package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-11-30T22:32:43+00:00" + }, + { + "name": "illuminate/log", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/log.git", + "reference": "9cff51ef5d0014e4ffe986359add45342adbf0a8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/log/zipball/9cff51ef5d0014e4ffe986359add45342adbf0a8", + "reference": "9cff51ef5d0014e4ffe986359add45342adbf0a8", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^10.0", + "illuminate/support": "^10.0", + "monolog/monolog": "^3.0", + "php": "^8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Log\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Log package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-07-08T20:34:59+00:00" + }, + { + "name": "illuminate/macroable", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/macroable.git", + "reference": "dff667a46ac37b634dcf68909d9d41e94dc97c27" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/macroable/zipball/dff667a46ac37b634dcf68909d9d41e94dc97c27", + "reference": "dff667a46ac37b634dcf68909d9d41e94dc97c27", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Support\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Macroable package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-06-05T12:46:42+00:00" + }, + { + "name": "illuminate/pagination", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/pagination.git", + "reference": "2af69e712297cc38377593a72f00d430867e8bdc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/pagination/zipball/2af69e712297cc38377593a72f00d430867e8bdc", + "reference": "2af69e712297cc38377593a72f00d430867e8bdc", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "illuminate/collections": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Pagination\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Pagination package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-04-17T16:01:53+00:00" + }, + { + "name": "illuminate/pipeline", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/pipeline.git", + "reference": "f2119ae9a26e420bf0ed9d5e7e7aa4548547e7b1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/pipeline/zipball/f2119ae9a26e420bf0ed9d5e7e7aa4548547e7b1", + "reference": "f2119ae9a26e420bf0ed9d5e7e7aa4548547e7b1", + "shasum": "" + }, + "require": { + "illuminate/contracts": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Pipeline\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Pipeline package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-03-03T15:55:44+00:00" + }, + { + "name": "illuminate/redis", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/redis.git", + "reference": "69771c1ef8d76a0066d86e41f26598d6650eb79f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/redis/zipball/69771c1ef8d76a0066d86e41f26598d6650eb79f", + "reference": "69771c1ef8d76a0066d86e41f26598d6650eb79f", + "shasum": "" + }, + "require": { + "illuminate/collections": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/macroable": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1" + }, + "suggest": { + "ext-redis": "Required to use the phpredis connector (^4.0|^5.0).", + "predis/predis": "Required to use the predis connector (^2.0.2)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Redis\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Redis package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-09-11T19:51:35+00:00" + }, + { + "name": "illuminate/routing", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/routing.git", + "reference": "e5efd844c573b50bc2365125b94329fbeeb91067" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/routing/zipball/e5efd844c573b50bc2365125b94329fbeeb91067", + "reference": "e5efd844c573b50bc2365125b94329fbeeb91067", + "shasum": "" + }, + "require": { + "ext-filter": "*", + "ext-hash": "*", + "illuminate/collections": "^10.0", + "illuminate/container": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/http": "^10.0", + "illuminate/macroable": "^10.0", + "illuminate/pipeline": "^10.0", + "illuminate/session": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1", + "symfony/http-foundation": "^6.4", + "symfony/http-kernel": "^6.2", + "symfony/routing": "^6.2" + }, + "suggest": { + "illuminate/console": "Required to use the make commands (^10.0).", + "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Routing\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Routing package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-11-30T22:32:43+00:00" + }, + { + "name": "illuminate/session", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/session.git", + "reference": "27fe05da9e1e8f5febddbb8bb0df173f2ac9fbb8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/session/zipball/27fe05da9e1e8f5febddbb8bb0df173f2ac9fbb8", + "reference": "27fe05da9e1e8f5febddbb8bb0df173f2ac9fbb8", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-session": "*", + "illuminate/collections": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/filesystem": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1", + "symfony/finder": "^6.2", + "symfony/http-foundation": "^6.4" + }, + "suggest": { + "illuminate/console": "Required to use the session:table command (^10.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Session\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Session package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-11-30T22:32:43+00:00" + }, + { + "name": "illuminate/support", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/support.git", + "reference": "84fd6e3a041c93bf8dca1349caf994023ee5c9e0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/support/zipball/84fd6e3a041c93bf8dca1349caf994023ee5c9e0", + "reference": "84fd6e3a041c93bf8dca1349caf994023ee5c9e0", + "shasum": "" + }, + "require": { + "doctrine/inflector": "^2.0", + "ext-ctype": "*", + "ext-filter": "*", + "ext-mbstring": "*", + "illuminate/collections": "^10.0", + "illuminate/conditionable": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/macroable": "^10.0", + "nesbot/carbon": "^2.67", + "php": "^8.1", + "voku/portable-ascii": "^2.0" + }, + "conflict": { + "tightenco/collect": "<5.5.33" + }, + "suggest": { + "illuminate/filesystem": "Required to use the composer class (^10.0).", + "league/commonmark": "Required to use Str::markdown() and Stringable::markdown() (^2.0.2).", + "ramsey/uuid": "Required to use Str::uuid() (^4.7).", + "symfony/process": "Required to use the composer class (^6.2).", + "symfony/uid": "Required to use Str::ulid() (^6.2).", + "symfony/var-dumper": "Required to use the dd function (^6.2).", + "vlucas/phpdotenv": "Required to use the Env class and env helper (^5.4.1)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "files": [ + "helpers.php" + ], + "psr-4": { + "Illuminate\\Support\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Support package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-12-04T22:26:42+00:00" + }, + { + "name": "illuminate/translation", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/translation.git", + "reference": "7579bd97c6e0a746d1309b5c27803cb8dfc961fe" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/translation/zipball/7579bd97c6e0a746d1309b5c27803cb8dfc961fe", + "reference": "7579bd97c6e0a746d1309b5c27803cb8dfc961fe", + "shasum": "" + }, + "require": { + "illuminate/collections": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/filesystem": "^10.0", + "illuminate/macroable": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Translation\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Translation package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-11-22T15:44:28+00:00" + }, + { + "name": "illuminate/validation", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/validation.git", + "reference": "8458748fe2b5fcac81a8b48f3752793f9d734bad" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/validation/zipball/8458748fe2b5fcac81a8b48f3752793f9d734bad", + "reference": "8458748fe2b5fcac81a8b48f3752793f9d734bad", + "shasum": "" + }, + "require": { + "brick/math": "^0.9.3|^0.10.2|^0.11", + "egulias/email-validator": "^3.2.5|^4.0", + "ext-filter": "*", + "ext-mbstring": "*", + "illuminate/collections": "^10.0", + "illuminate/container": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/macroable": "^10.0", + "illuminate/support": "^10.0", + "illuminate/translation": "^10.0", + "php": "^8.1", + "symfony/http-foundation": "^6.4", + "symfony/mime": "^6.2" + }, + "suggest": { + "illuminate/database": "Required to use the database presence verifier (^10.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\Validation\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate Validation package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-11-30T22:32:43+00:00" + }, + { + "name": "illuminate/view", + "version": "v10.35.0", + "source": { + "type": "git", + "url": "https://github.com/illuminate/view.git", + "reference": "ce59846a4476666da70aeab10e0c8ab7206e3f0f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/illuminate/view/zipball/ce59846a4476666da70aeab10e0c8ab7206e3f0f", + "reference": "ce59846a4476666da70aeab10e0c8ab7206e3f0f", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "illuminate/collections": "^10.0", + "illuminate/container": "^10.0", + "illuminate/contracts": "^10.0", + "illuminate/events": "^10.0", + "illuminate/filesystem": "^10.0", + "illuminate/macroable": "^10.0", + "illuminate/support": "^10.0", + "php": "^8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + } + }, + "autoload": { + "psr-4": { + "Illuminate\\View\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Illuminate View package.", + "homepage": "https://laravel.com", + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-12-01T22:04:08+00:00" + }, + { + "name": "james-heinrich/phpthumb", + "version": "v1.7.21", + "source": { + "type": "git", + "url": "https://github.com/JamesHeinrich/phpThumb.git", + "reference": "7ee966b38ddd7eb4d8091389aa514604710711c8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/JamesHeinrich/phpThumb/zipball/7ee966b38ddd7eb4d8091389aa514604710711c8", + "reference": "7ee966b38ddd7eb4d8091389aa514604710711c8", + "shasum": "" + }, + "require": { + "php": ">=5.3.0" + }, + "suggest": { + "ext-gd": "PHP GD library", + "ext-imagick": "PHP ImageMagick" + }, + "type": "library", + "autoload": { + "files": [ + "phpthumb.class.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "GPL-1.0-or-later", + "LGPL-3.0-only", + "MPL-2.0" + ], + "authors": [ + { + "name": "James Heinrich", + "email": "info@silisoftware.com", + "homepage": "http://www.silisoftware.com/", + "role": "Developer" + } + ], + "description": "The PHP thumbnail generator", + "homepage": "http://phpthumb.sourceforge.net/", + "keywords": [ + "ImageMagick", + "gd", + "image", + "magic", + "thumb", + "thumbnail" + ], + "support": { + "issues": "https://github.com/JamesHeinrich/phpThumb/issues", + "source": "https://github.com/JamesHeinrich/phpThumb/tree/v1.7.21" + }, + "time": "2023-07-14T21:25:25+00:00" + }, + { + "name": "justinrainbow/json-schema", + "version": "v5.2.13", + "source": { + "type": "git", + "url": "https://github.com/justinrainbow/json-schema.git", + "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/fbbe7e5d79f618997bc3332a6f49246036c45793", + "reference": "fbbe7e5d79f618997bc3332a6f49246036c45793", + "shasum": "" + }, + "require": { + "php": ">=5.3.3" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "~2.2.20||~2.15.1", + "json-schema/json-schema-test-suite": "1.2.0", + "phpunit/phpunit": "^4.8.35" + }, + "bin": [ + "bin/validate-json" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "JsonSchema\\": "src/JsonSchema/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bruno Prieto Reis", + "email": "bruno.p.reis@gmail.com" + }, + { + "name": "Justin Rainbow", + "email": "justin.rainbow@gmail.com" + }, + { + "name": "Igor Wiedler", + "email": "igor@wiedler.ch" + }, + { + "name": "Robert Schönthal", + "email": "seroscho@googlemail.com" + } + ], + "description": "A library to validate a json schema.", + "homepage": "https://github.com/justinrainbow/json-schema", + "keywords": [ + "json", + "schema" + ], + "support": { + "issues": "https://github.com/justinrainbow/json-schema/issues", + "source": "https://github.com/justinrainbow/json-schema/tree/v5.2.13" + }, + "time": "2023-09-26T02:20:38+00:00" + }, + { + "name": "laravel/prompts", + "version": "v0.1.13", + "source": { + "type": "git", + "url": "https://github.com/laravel/prompts.git", + "reference": "e1379d8ead15edd6cc4369c22274345982edc95a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/prompts/zipball/e1379d8ead15edd6cc4369c22274345982edc95a", + "reference": "e1379d8ead15edd6cc4369c22274345982edc95a", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "illuminate/collections": "^10.0|^11.0", + "php": "^8.1", + "symfony/console": "^6.2|^7.0" + }, + "conflict": { + "illuminate/console": ">=10.17.0 <10.25.0", + "laravel/framework": ">=10.17.0 <10.25.0" + }, + "require-dev": { + "mockery/mockery": "^1.5", + "pestphp/pest": "^2.3", + "phpstan/phpstan": "^1.10", + "phpstan/phpstan-mockery": "^1.1" + }, + "suggest": { + "ext-pcntl": "Required for the spinner to be animated." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "0.1.x-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Laravel\\Prompts\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "support": { + "issues": "https://github.com/laravel/prompts/issues", + "source": "https://github.com/laravel/prompts/tree/v0.1.13" + }, + "time": "2023-10-27T13:53:59+00:00" + }, + { + "name": "league/flysystem", + "version": "3.23.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "d4ad81e2b67396e33dc9d7e54ec74ccf73151dcc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/d4ad81e2b67396e33dc9d7e54ec74ccf73151dcc", + "reference": "d4ad81e2b67396e33dc9d7e54ec74ccf73151dcc", + "shasum": "" + }, + "require": { + "league/flysystem-local": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "conflict": { + "async-aws/core": "<1.19.0", + "async-aws/s3": "<1.14.0", + "aws/aws-sdk-php": "3.209.31 || 3.210.0", + "guzzlehttp/guzzle": "<7.0", + "guzzlehttp/ringphp": "<1.1.1", + "phpseclib/phpseclib": "3.0.15", + "symfony/http-client": "<5.2" + }, + "require-dev": { + "async-aws/s3": "^1.5 || ^2.0", + "async-aws/simple-s3": "^1.1 || ^2.0", + "aws/aws-sdk-php": "^3.220.0", + "composer/semver": "^3.0", + "ext-fileinfo": "*", + "ext-ftp": "*", + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.5", + "google/cloud-storage": "^1.23", + "microsoft/azure-storage-blob": "^1.1", + "phpseclib/phpseclib": "^3.0.34", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.5.11|^10.0", + "sabre/dav": "^4.3.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/3.23.0" + }, + "funding": [ + { + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + } + ], + "time": "2023-12-04T10:16:17+00:00" + }, + { + "name": "league/flysystem-local", + "version": "3.23.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem-local.git", + "reference": "5cf046ba5f059460e86a997c504dd781a39a109b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/5cf046ba5f059460e86a997c504dd781a39a109b", + "reference": "5cf046ba5f059460e86a997c504dd781a39a109b", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "league/flysystem": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\Local\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Local filesystem adapter for Flysystem.", + "keywords": [ + "Flysystem", + "file", + "files", + "filesystem", + "local" + ], + "support": { + "issues": "https://github.com/thephpleague/flysystem-local/issues", + "source": "https://github.com/thephpleague/flysystem-local/tree/3.23.0" + }, + "funding": [ + { + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + } + ], + "time": "2023-12-04T10:14:46+00:00" + }, + { + "name": "league/mime-type-detection", + "version": "1.14.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/mime-type-detection.git", + "reference": "b6a5854368533df0295c5761a0253656a2e52d9e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/b6a5854368533df0295c5761a0253656a2e52d9e", + "reference": "b6a5854368533df0295c5761a0253656a2e52d9e", + "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.14.0" + }, + "funding": [ + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2023-10-17T14:13:20+00:00" + }, + { + "name": "monolog/monolog", + "version": "3.5.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/c915e2634718dbc8a4a15c61b0e62e7a44e14448", + "reference": "c915e2634718dbc8a4a15c61b0e62e7a44e14448", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "^2.0 || ^3.0" + }, + "provide": { + "psr/log-implementation": "3.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^3.0", + "doctrine/couchdb": "~1.0@dev", + "elasticsearch/elasticsearch": "^7 || ^8", + "ext-json": "*", + "graylog2/gelf-php": "^1.4.2 || ^2.0", + "guzzlehttp/guzzle": "^7.4.5", + "guzzlehttp/psr7": "^2.2", + "mongodb/mongodb": "^1.8", + "php-amqplib/php-amqplib": "~2.4 || ^3", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-strict-rules": "^1.4", + "phpunit/phpunit": "^10.1", + "predis/predis": "^1.1 || ^2", + "ruflin/elastica": "^7", + "symfony/mailer": "^5.4 || ^6", + "symfony/mime": "^5.4 || ^6" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "ext-openssl": "Required to send log messages using SSL", + "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "https://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/3.5.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2023-10-27T15:32:31+00:00" + }, + { + "name": "nesbot/carbon", + "version": "2.72.0", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "a6885fcbad2ec4360b0e200ee0da7d9b7c90786b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/a6885fcbad2ec4360b0e200ee0da7d9b7c90786b", + "reference": "a6885fcbad2ec4360b0e200ee0da7d9b7c90786b", + "shasum": "" + }, + "require": { + "carbonphp/carbon-doctrine-types": "*", + "ext-json": "*", + "php": "^7.1.8 || ^8.0", + "psr/clock": "^1.0", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "require-dev": { + "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0", + "doctrine/orm": "^2.7 || ^3.0", + "friendsofphp/php-cs-fixer": "^3.0", + "kylekatarnls/multi-tester": "^2.0", + "ondrejmirtes/better-reflection": "*", + "phpmd/phpmd": "^2.9", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12.99 || ^1.7.14", + "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6", + "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", + "squizlabs/php_codesniffer": "^3.4" + }, + "bin": [ + "bin/carbon" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-3.x": "3.x-dev", + "dev-master": "2.x-dev" + }, + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + } + }, + "autoload": { + "psr-4": { + "Carbon\\": "src/Carbon/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "https://markido.com" + }, + { + "name": "kylekatarnls", + "homepage": "https://github.com/kylekatarnls" + } + ], + "description": "An API extension for DateTime that supports 281 different languages.", + "homepage": "https://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "support": { + "docs": "https://carbon.nesbot.com/docs", + "issues": "https://github.com/briannesbitt/Carbon/issues", + "source": "https://github.com/briannesbitt/Carbon" + }, + "funding": [ + { + "url": "https://github.com/sponsors/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon#sponsor", + "type": "opencollective" + }, + { + "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme", + "type": "tidelift" + } + ], + "time": "2023-11-28T10:13:25+00:00" + }, + { + "name": "nunomaduro/termwind", + "version": "v1.15.1", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/termwind.git", + "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc", + "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": "^8.0", + "symfony/console": "^5.3.0|^6.0.0" + }, + "require-dev": { + "ergebnis/phpstan-rules": "^1.0.", + "illuminate/console": "^8.0|^9.0", + "illuminate/support": "^8.0|^9.0", + "laravel/pint": "^1.0.0", + "pestphp/pest": "^1.21.0", + "pestphp/pest-plugin-mock": "^1.0", + "phpstan/phpstan": "^1.4.6", + "phpstan/phpstan-strict-rules": "^1.1.0", + "symfony/var-dumper": "^5.2.7|^6.0.0", + "thecodingmachine/phpstan-strict-rules": "^1.0.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Termwind\\Laravel\\TermwindServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "src/Functions.php" + ], + "psr-4": { + "Termwind\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Its like Tailwind CSS, but for the console.", + "keywords": [ + "cli", + "console", + "css", + "package", + "php", + "style" + ], + "support": { + "issues": "https://github.com/nunomaduro/termwind/issues", + "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://github.com/xiCO2k", + "type": "github" + } + ], + "time": "2023-02-08T01:06:31+00:00" + }, + { + "name": "phpmailer/phpmailer", + "version": "v6.9.1", + "source": { + "type": "git", + "url": "https://github.com/PHPMailer/PHPMailer.git", + "reference": "039de174cd9c17a8389754d3b877a2ed22743e18" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/PHPMailer/PHPMailer/zipball/039de174cd9c17a8389754d3b877a2ed22743e18", + "reference": "039de174cd9c17a8389754d3b877a2ed22743e18", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "ext-filter": "*", + "ext-hash": "*", + "php": ">=5.5.0" + }, + "require-dev": { + "dealerdirect/phpcodesniffer-composer-installer": "^1.0", + "doctrine/annotations": "^1.2.6 || ^1.13.3", + "php-parallel-lint/php-console-highlighter": "^1.0.0", + "php-parallel-lint/php-parallel-lint": "^1.3.2", + "phpcompatibility/php-compatibility": "^9.3.5", + "roave/security-advisories": "dev-latest", + "squizlabs/php_codesniffer": "^3.7.2", + "yoast/phpunit-polyfills": "^1.0.4" + }, + "suggest": { + "decomplexity/SendOauth2": "Adapter for using XOAUTH2 authentication", + "ext-mbstring": "Needed to send email in multibyte encoding charset or decode encoded addresses", + "ext-openssl": "Needed for secure SMTP sending and DKIM signing", + "greew/oauth2-azure-provider": "Needed for Microsoft Azure XOAUTH2 authentication", + "hayageek/oauth2-yahoo": "Needed for Yahoo XOAUTH2 authentication", + "league/oauth2-google": "Needed for Google XOAUTH2 authentication", + "psr/log": "For optional PSR-3 debug logging", + "symfony/polyfill-mbstring": "To support UTF-8 if the Mbstring PHP extension is not enabled (^1.2)", + "thenetworg/oauth2-azure": "Needed for Microsoft XOAUTH2 authentication" + }, + "type": "library", + "autoload": { + "psr-4": { + "PHPMailer\\PHPMailer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "LGPL-2.1-only" + ], + "authors": [ + { + "name": "Marcus Bointon", + "email": "phpmailer@synchromedia.co.uk" + }, + { + "name": "Jim Jagielski", + "email": "jimjag@gmail.com" + }, + { + "name": "Andy Prevost", + "email": "codeworxtech@users.sourceforge.net" + }, + { + "name": "Brent R. Matzelle" + } + ], + "description": "PHPMailer is a full-featured email creation and transfer class for PHP", + "support": { + "issues": "https://github.com/PHPMailer/PHPMailer/issues", + "source": "https://github.com/PHPMailer/PHPMailer/tree/v6.9.1" + }, + "funding": [ + { + "url": "https://github.com/Synchro", + "type": "github" + } + ], + "time": "2023-11-25T22:23:28+00:00" + }, + { + "name": "phpoption/phpoption", + "version": "1.9.2", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820", + "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + }, + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpOption\\": "src/PhpOption/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh" + }, + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "Option Type for PHP", + "keywords": [ + "language", + "option", + "php", + "type" + ], + "support": { + "issues": "https://github.com/schmittjoh/php-option/issues", + "source": "https://github.com/schmittjoh/php-option/tree/1.9.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", + "type": "tidelift" + } + ], + "time": "2023-11-12T21:59:55+00:00" + }, + { + "name": "predis/predis", + "version": "v2.2.2", + "source": { + "type": "git", + "url": "https://github.com/predis/predis.git", + "reference": "b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/predis/predis/zipball/b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1", + "reference": "b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.3", + "phpstan/phpstan": "^1.9", + "phpunit/phpunit": "^8.0 || ~9.4.4" + }, + "suggest": { + "ext-relay": "Faster connection with in-memory caching (>=0.6.2)" + }, + "type": "library", + "autoload": { + "psr-4": { + "Predis\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Till Krüss", + "homepage": "https://till.im", + "role": "Maintainer" + } + ], + "description": "A flexible and feature-complete Redis client for PHP.", + "homepage": "http://github.com/predis/predis", + "keywords": [ + "nosql", + "predis", + "redis" + ], + "support": { + "issues": "https://github.com/predis/predis/issues", + "source": "https://github.com/predis/predis/tree/v2.2.2" + }, + "funding": [ + { + "url": "https://github.com/sponsors/tillkruss", + "type": "github" + } + ], + "time": "2023-09-13T16:42:03+00:00" + }, + { + "name": "psr/cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "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/3.0.0" + }, + "time": "2021-02-03T23:26:27+00:00" + }, + { + "name": "psr/clock", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/clock.git", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Clock\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for reading the clock.", + "homepage": "https://github.com/php-fig/clock", + "keywords": [ + "clock", + "now", + "psr", + "psr-20", + "time" + ], + "support": { + "issues": "https://github.com/php-fig/clock/issues", + "source": "https://github.com/php-fig/clock/tree/1.0.0" + }, + "time": "2022-11-25T14:36:26+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/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.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "e616d01114759c4c489f93b099585439f795fe35" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", + "reference": "e616d01114759c4c489f93b099585439f795fe35", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "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": "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/tree/1.0.2" + }, + "time": "2023-04-10T20:10:41+00:00" + }, + { + "name": "psr/http-message", + "version": "2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.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": "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/2.0" + }, + "time": "2023-04-04T09:54:51+00:00" + }, + { + "name": "psr/log", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.0" + }, + "time": "2021-07-14T16:46:02+00:00" + }, + { + "name": "psr/simple-cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" + }, + "time": "2021-10-29T13:26:27+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": "react/promise", + "version": "v3.1.0", + "source": { + "type": "git", + "url": "https://github.com/reactphp/promise.git", + "reference": "e563d55d1641de1dea9f5e84f3cccc66d2bfe02c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/reactphp/promise/zipball/e563d55d1641de1dea9f5e84f3cccc66d2bfe02c", + "reference": "e563d55d1641de1dea9f5e84f3cccc66d2bfe02c", + "shasum": "" + }, + "require": { + "php": ">=7.1.0" + }, + "require-dev": { + "phpstan/phpstan": "1.10.39 || 1.4.10", + "phpunit/phpunit": "^9.6 || ^7.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "React\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jan Sorgalla", + "email": "jsorgalla@gmail.com", + "homepage": "https://sorgalla.com/" + }, + { + "name": "Christian Lück", + "email": "christian@clue.engineering", + "homepage": "https://clue.engineering/" + }, + { + "name": "Cees-Jan Kiewiet", + "email": "reactphp@ceesjankiewiet.nl", + "homepage": "https://wyrihaximus.net/" + }, + { + "name": "Chris Boden", + "email": "cboden@gmail.com", + "homepage": "https://cboden.dev/" + } + ], + "description": "A lightweight implementation of CommonJS Promises/A for PHP", + "keywords": [ + "promise", + "promises" + ], + "support": { + "issues": "https://github.com/reactphp/promise/issues", + "source": "https://github.com/reactphp/promise/tree/v3.1.0" + }, + "funding": [ + { + "url": "https://opencollective.com/reactphp", + "type": "open_collective" + } + ], + "time": "2023-11-16T16:21:57+00:00" + }, + { + "name": "rosell-dk/exec-with-fallback", + "version": "1.2.0", + "source": { + "type": "git", + "url": "https://github.com/rosell-dk/exec-with-fallback.git", + "reference": "f88a6b29abd0b580566056b7c1eb0434eb5db20d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rosell-dk/exec-with-fallback/zipball/f88a6b29abd0b580566056b7c1eb0434eb5db20d", + "reference": "f88a6b29abd0b580566056b7c1eb0434eb5db20d", + "shasum": "" + }, + "require": { + "php": "^5.6 | ^7.0 | ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.11", + "phpunit/phpunit": "^9.3", + "squizlabs/php_codesniffer": "3.*" + }, + "suggest": { + "php-stan/php-stan": "Suggested for dev, in order to analyse code before committing" + }, + "type": "library", + "extra": { + "scripts-descriptions": { + "ci": "Run tests before CI", + "phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'", + "phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'", + "cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard", + "cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.", + "test": "Launches the preconfigured PHPUnit" + } + }, + "autoload": { + "psr-4": { + "ExecWithFallback\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bjørn Rosell", + "homepage": "https://www.bitwise-it.dk/contact", + "role": "Project Author" + } + ], + "description": "An exec() with fallback to emulations (proc_open, etc)", + "keywords": [ + "command", + "exec", + "fallback", + "open_proc", + "resiliant", + "sturdy" + ], + "support": { + "issues": "https://github.com/rosell-dk/exec-with-fallback/issues", + "source": "https://github.com/rosell-dk/exec-with-fallback/tree/1.2.0" + }, + "funding": [ + { + "url": "https://github.com/rosell-dk", + "type": "github" + }, + { + "url": "https://ko-fi.com/rosell", + "type": "ko_fi" + } + ], + "time": "2021-12-08T12:09:43+00:00" + }, + { + "name": "rosell-dk/file-util", + "version": "0.1.1", + "source": { + "type": "git", + "url": "https://github.com/rosell-dk/file-util.git", + "reference": "2ff895308c37f448b34b031cfbfd8e45f43936fd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rosell-dk/file-util/zipball/2ff895308c37f448b34b031cfbfd8e45f43936fd", + "reference": "2ff895308c37f448b34b031cfbfd8e45f43936fd", + "shasum": "" + }, + "require": { + "php": ">=5.4", + "rosell-dk/exec-with-fallback": "^1.0.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.11", + "mikey179/vfsstream": "^1.6", + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^9.3", + "squizlabs/php_codesniffer": "3.*" + }, + "type": "library", + "extra": { + "scripts-descriptions": { + "ci": "Run tests before CI", + "phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'", + "phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'", + "cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard", + "cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.", + "test": "Launches the preconfigured PHPUnit" + } + }, + "autoload": { + "psr-4": { + "FileUtil\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bjørn Rosell", + "homepage": "https://www.bitwise-it.dk/contact", + "role": "Project Author" + } + ], + "description": "Functions for dealing with files and paths", + "keywords": [ + "files", + "path", + "util" + ], + "support": { + "issues": "https://github.com/rosell-dk/file-util/issues", + "source": "https://github.com/rosell-dk/file-util/tree/0.1.1" + }, + "funding": [ + { + "url": "https://github.com/rosell-dk", + "type": "github" + }, + { + "url": "https://ko-fi.com/rosell", + "type": "ko_fi" + } + ], + "time": "2022-04-19T10:12:31+00:00" + }, + { + "name": "rosell-dk/image-mime-type-guesser", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/rosell-dk/image-mime-type-guesser.git", + "reference": "72f7040e95a78937ae2edece452530224fcacea6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rosell-dk/image-mime-type-guesser/zipball/72f7040e95a78937ae2edece452530224fcacea6", + "reference": "72f7040e95a78937ae2edece452530224fcacea6", + "shasum": "" + }, + "require": { + "php": "^5.6 | ^7.0 | ^8.0", + "rosell-dk/image-mime-type-sniffer": "^1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.11", + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^9.3", + "squizlabs/php_codesniffer": "3.*" + }, + "type": "library", + "extra": { + "scripts-descriptions": { + "ci": "Run tests before CI", + "phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'", + "phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'", + "cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard", + "cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.", + "test": "Launches the preconfigured PHPUnit" + } + }, + "autoload": { + "psr-4": { + "ImageMimeTypeGuesser\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bjørn Rosell", + "homepage": "https://www.bitwise-it.dk/contact", + "role": "Project Author" + } + ], + "description": "Guess mime type of images", + "keywords": [ + "image", + "images", + "mime", + "mime type" + ], + "support": { + "issues": "https://github.com/rosell-dk/image-mime-type-guesser/issues", + "source": "https://github.com/rosell-dk/image-mime-type-guesser/tree/1.1.1" + }, + "funding": [ + { + "url": "https://github.com/rosell-dk", + "type": "github" + }, + { + "url": "https://ko-fi.com/rosell", + "type": "ko_fi" + } + ], + "time": "2022-05-19T09:57:15+00:00" + }, + { + "name": "rosell-dk/image-mime-type-sniffer", + "version": "1.1.1", + "source": { + "type": "git", + "url": "https://github.com/rosell-dk/image-mime-type-sniffer.git", + "reference": "9ed14cc5d2c14c417660a4dd1946b5f056494691" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rosell-dk/image-mime-type-sniffer/zipball/9ed14cc5d2c14c417660a4dd1946b5f056494691", + "reference": "9ed14cc5d2c14c417660a4dd1946b5f056494691", + "shasum": "" + }, + "require": { + "php": ">=5.4" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.11", + "mikey179/vfsstream": "^1.6", + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^9.3", + "squizlabs/php_codesniffer": "3.*" + }, + "type": "library", + "extra": { + "scripts-descriptions": { + "ci": "Run tests before CI", + "phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'", + "phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'", + "cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard", + "cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.", + "test": "Launches the preconfigured PHPUnit" + } + }, + "autoload": { + "psr-4": { + "ImageMimeTypeSniffer\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bjørn Rosell", + "homepage": "https://www.bitwise-it.dk/contact", + "role": "Project Author" + } + ], + "description": "Sniff mime type (images only)", + "keywords": [ + "image", + "images", + "mime", + "mime type" + ], + "support": { + "issues": "https://github.com/rosell-dk/image-mime-type-sniffer/issues", + "source": "https://github.com/rosell-dk/image-mime-type-sniffer/tree/1.1.1" + }, + "funding": [ + { + "url": "https://github.com/rosell-dk", + "type": "github" + }, + { + "url": "https://ko-fi.com/rosell", + "type": "ko_fi" + } + ], + "time": "2022-04-20T14:31:25+00:00" + }, + { + "name": "rosell-dk/locate-binaries", + "version": "1.0", + "source": { + "type": "git", + "url": "https://github.com/rosell-dk/locate-binaries.git", + "reference": "bd2f493383ecd55aa519828dd2898e30f3b9cbb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rosell-dk/locate-binaries/zipball/bd2f493383ecd55aa519828dd2898e30f3b9cbb0", + "reference": "bd2f493383ecd55aa519828dd2898e30f3b9cbb0", + "shasum": "" + }, + "require": { + "php": ">=5.6", + "rosell-dk/exec-with-fallback": "^1.0.0", + "rosell-dk/file-util": "^0.1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.11", + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^9.3", + "squizlabs/php_codesniffer": "3.*" + }, + "type": "library", + "extra": { + "scripts-descriptions": { + "ci": "Run tests before CI", + "phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'", + "phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'", + "cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard", + "cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.", + "test": "Launches the preconfigured PHPUnit" + } + }, + "autoload": { + "psr-4": { + "LocateBinaries\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bjørn Rosell", + "homepage": "https://www.bitwise-it.dk/contact", + "role": "Project Author" + } + ], + "description": "Locate a binaries by means of exec() or similar", + "keywords": [ + "binary", + "discover", + "locate", + "whereis", + "which" + ], + "support": { + "issues": "https://github.com/rosell-dk/locate-binaries/issues", + "source": "https://github.com/rosell-dk/locate-binaries/tree/1.0" + }, + "funding": [ + { + "url": "https://github.com/rosell-dk", + "type": "github" + }, + { + "url": "https://ko-fi.com/rosell", + "type": "ko_fi" + } + ], + "time": "2022-04-20T07:20:07+00:00" + }, + { + "name": "rosell-dk/webp-convert", + "version": "2.9.2", + "source": { + "type": "git", + "url": "https://github.com/rosell-dk/webp-convert.git", + "reference": "5ccba85ebe3b28ae229459fd0baed25314616ac9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/rosell-dk/webp-convert/zipball/5ccba85ebe3b28ae229459fd0baed25314616ac9", + "reference": "5ccba85ebe3b28ae229459fd0baed25314616ac9", + "shasum": "" + }, + "require": { + "php": "^5.6 | ^7.0 | ^8.0", + "rosell-dk/exec-with-fallback": "^1.0.0", + "rosell-dk/image-mime-type-guesser": "^1.1.1", + "rosell-dk/locate-binaries": "^1.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.11", + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^9.3", + "squizlabs/php_codesniffer": "3.*" + }, + "suggest": { + "ext-gd": "to use GD extension for converting. Note: Gd must be compiled with webp support", + "ext-imagick": "to use Imagick extension for converting. Note: Gd must be compiled with webp support", + "ext-vips": "to use Vips extension for converting.", + "php-stan/php-stan": "Suggested for dev, in order to analyse code before committing" + }, + "type": "library", + "extra": { + "scripts-descriptions": { + "ci": "Run tests before CI", + "phpcs": "Checks coding styles (PSR2) of file/dir, which you must supply. To check all, supply 'src'", + "phpcbf": "Fix coding styles (PSR2) of file/dir, which you must supply. To fix all, supply 'src'", + "cs-fix-all": "Fix the coding style of all the source files, to comply with the PSR-2 coding standard", + "cs-fix": "Fix the coding style of a PHP file or directory, which you must specify.", + "test": "Launches the preconfigured PHPUnit" + } + }, + "autoload": { + "psr-4": { + "WebPConvert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bjørn Rosell", + "homepage": "https://www.bitwise-it.dk/contact", + "role": "Project Author" + }, + { + "name": "Martin Folkers", + "homepage": "https://twobrain.io", + "role": "Collaborator" + } + ], + "description": "Convert JPEG & PNG to WebP with PHP", + "keywords": [ + "Webp", + "cwebp", + "gd", + "image conversion", + "images", + "imagick", + "jpg", + "jpg2webp", + "png", + "png2webp" + ], + "support": { + "issues": "https://github.com/rosell-dk/webp-convert/issues", + "source": "https://github.com/rosell-dk/webp-convert/tree/2.9.2" + }, + "funding": [ + { + "url": "https://github.com/rosell-dk", + "type": "github" + }, + { + "url": "https://ko-fi.com/rosell", + "type": "ko_fi" + } + ], + "time": "2022-05-19T13:56:36+00:00" + }, + { + "name": "seld/jsonlint", + "version": "1.10.0", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/jsonlint.git", + "reference": "594fd6462aad8ecee0b45ca5045acea4776667f1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/594fd6462aad8ecee0b45ca5045acea4776667f1", + "reference": "594fd6462aad8ecee0b45ca5045acea4776667f1", + "shasum": "" + }, + "require": { + "php": "^5.3 || ^7.0 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.5", + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^8.5.13" + }, + "bin": [ + "bin/jsonlint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Seld\\JsonLint\\": "src/Seld/JsonLint/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "JSON Linter", + "keywords": [ + "json", + "linter", + "parser", + "validator" + ], + "support": { + "issues": "https://github.com/Seldaek/jsonlint/issues", + "source": "https://github.com/Seldaek/jsonlint/tree/1.10.0" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", + "type": "tidelift" + } + ], + "time": "2023-05-11T13:16:46+00:00" + }, + { + "name": "seld/phar-utils", + "version": "1.2.1", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/phar-utils.git", + "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", + "reference": "ea2f4014f163c1be4c601b9b7bd6af81ba8d701c", + "shasum": "" + }, + "require": { + "php": ">=5.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Seld\\PharUtils\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be" + } + ], + "description": "PHAR file format utilities, for when PHP phars you up", + "keywords": [ + "phar" + ], + "support": { + "issues": "https://github.com/Seldaek/phar-utils/issues", + "source": "https://github.com/Seldaek/phar-utils/tree/1.2.1" + }, + "time": "2022-08-31T10:31:18+00:00" + }, + { + "name": "seld/signal-handler", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/signal-handler.git", + "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/signal-handler/zipball/04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98", + "reference": "04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "require-dev": { + "phpstan/phpstan": "^1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1", + "phpstan/phpstan-strict-rules": "^1.3", + "phpunit/phpunit": "^7.5.20 || ^8.5.23", + "psr/log": "^1 || ^2 || ^3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Seld\\Signal\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "http://seld.be" + } + ], + "description": "Simple unix signal handler that silently fails where signals are not supported for easy cross-platform development", + "keywords": [ + "posix", + "sigint", + "signal", + "sigterm", + "unix" + ], + "support": { + "issues": "https://github.com/Seldaek/signal-handler/issues", + "source": "https://github.com/Seldaek/signal-handler/tree/2.0.2" + }, + "time": "2023-09-03T09:24:00+00:00" + }, + { + "name": "simplepie/simplepie", + "version": "1.8.0", + "source": { + "type": "git", + "url": "https://github.com/simplepie/simplepie.git", + "reference": "65b095d87bc00898d8fa7737bdbcda93a3fbcc55" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/simplepie/simplepie/zipball/65b095d87bc00898d8fa7737bdbcda93a3fbcc55", + "reference": "65b095d87bc00898d8fa7737bdbcda93a3fbcc55", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "ext-xml": "*", + "ext-xmlreader": "*", + "php": ">=7.2.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^2.19 || ^3.8", + "psr/simple-cache": "^1 || ^2 || ^3", + "yoast/phpunit-polyfills": "^1.0.1" + }, + "suggest": { + "ext-curl": "", + "ext-iconv": "", + "ext-intl": "", + "ext-mbstring": "", + "mf2/mf2": "Microformat module that allows for parsing HTML for microformats" + }, + "type": "library", + "autoload": { + "psr-0": { + "SimplePie": "library" + }, + "psr-4": { + "SimplePie\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Ryan Parman", + "homepage": "http://ryanparman.com/", + "role": "Creator, alumnus developer" + }, + { + "name": "Sam Sneddon", + "homepage": "https://gsnedders.com/", + "role": "Alumnus developer" + }, + { + "name": "Ryan McCue", + "email": "me@ryanmccue.info", + "homepage": "http://ryanmccue.info/", + "role": "Developer" + } + ], + "description": "A simple Atom/RSS parsing library for PHP", + "homepage": "http://simplepie.org/", + "keywords": [ + "atom", + "feeds", + "rss" + ], + "support": { + "issues": "https://github.com/simplepie/simplepie/issues", + "source": "https://github.com/simplepie/simplepie/tree/1.8.0" + }, + "time": "2023-01-20T08:37:35+00:00" + }, + { + "name": "symfony/console", + "version": "v6.4.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "a550a7c99daeedef3f9d23fb82e3531525ff11fd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/a550a7c99daeedef3f9d23fb82e3531525ff11fd", + "reference": "a550a7c99daeedef3f9d23fb82e3531525ff11fd", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^5.4|^6.0|^7.0" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "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/v6.4.1" + }, + "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-11-30T10:54:28+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-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.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": "2023-05-23T14:45:45+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "c873490a1c97b3a0a4838afc36ff36c112d02788" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/c873490a1c97b3a0a4838afc36ff36c112d02788", + "reference": "c873490a1c97b3a0a4838afc36ff36c112d02788", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "^1|^2|^3", + "symfony/var-dumper": "^5.4|^6.0|^7.0" + }, + "conflict": { + "symfony/deprecation-contracts": "<2.5", + "symfony/http-kernel": "<6.4" + }, + "require-dev": { + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/serializer": "^5.4|^6.0|^7.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/v6.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": "2023-10-18T09:43:34+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "d76d2632cfc2206eecb5ad2b26cd5934082941b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d76d2632cfc2206eecb5ad2b26cd5934082941b6", + "reference": "d76d2632cfc2206eecb5ad2b26cd5934082941b6", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/event-dispatcher-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/service-contracts": "<2.5" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^5.4|^6.0|^7.0" + }, + "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/v6.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": "2023-07-27T06:52:43+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "a76aed96a42d2b521153fb382d418e30d18b59df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df", + "reference": "a76aed96a42d2b521153fb382d418e30d18b59df", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/event-dispatcher": "^1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-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.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": "2023-05-23T14:45:45+00:00" + }, + { + "name": "symfony/filesystem", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/filesystem.git", + "reference": "952a8cb588c3bc6ce76f6023000fb932f16a6e59" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/952a8cb588c3bc6ce76f6023000fb932f16a6e59", + "reference": "952a8cb588c3bc6ce76f6023000fb932f16a6e59", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-mbstring": "~1.8" + }, + "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/v6.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": "2023-07-26T17:27:13+00:00" + }, + { + "name": "symfony/finder", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "11d736e97f116ac375a81f96e662911a34cd50ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/11d736e97f116ac375a81f96e662911a34cd50ce", + "reference": "11d736e97f116ac375a81f96e662911a34cd50ce", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "symfony/filesystem": "^6.0|^7.0" + }, + "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/v6.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": "2023-10-31T17:30:12+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "44a6d39a9cc11e154547d882d5aac1e014440771" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/44a6d39a9cc11e154547d882d5aac1e014440771", + "reference": "44a6d39a9cc11e154547d882d5aac1e014440771", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php83": "^1.27" + }, + "conflict": { + "symfony/cache": "<6.3" + }, + "require-dev": { + "doctrine/dbal": "^2.13.1|^3|^4", + "predis/predis": "^1.1|^2.0", + "symfony/cache": "^6.3|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", + "symfony/mime": "^5.4|^6.0|^7.0", + "symfony/rate-limiter": "^5.4|^6.0|^7.0" + }, + "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/v6.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": "2023-11-20T16:41:16+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v6.4.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "2953274c16a229b3933ef73a6898e18388e12e1b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/2953274c16a229b3933ef73a6898e18388e12e1b", + "reference": "2953274c16a229b3933ef73a6898e18388e12e1b", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/error-handler": "^6.4|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/browser-kit": "<5.4", + "symfony/cache": "<5.4", + "symfony/config": "<6.1", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<6.4", + "symfony/doctrine-bridge": "<5.4", + "symfony/form": "<5.4", + "symfony/http-client": "<5.4", + "symfony/http-client-contracts": "<2.5", + "symfony/mailer": "<5.4", + "symfony/messenger": "<5.4", + "symfony/translation": "<5.4", + "symfony/translation-contracts": "<2.5", + "symfony/twig-bridge": "<5.4", + "symfony/validator": "<6.4", + "symfony/var-dumper": "<6.3", + "twig/twig": "<2.13" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^5.4|^6.0|^7.0", + "symfony/clock": "^6.2|^7.0", + "symfony/config": "^6.1|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/css-selector": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/dom-crawler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-client-contracts": "^2.5|^3", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4.5|^6.0.5|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.3|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/translation-contracts": "^2.5|^3", + "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/var-exporter": "^6.2|^7.0", + "twig/twig": "^2.13|^3.0.4" + }, + "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/v6.4.1" + }, + "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-12-01T17:02:02+00:00" + }, + { + "name": "symfony/mime", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "ca4f58b2ef4baa8f6cecbeca2573f88cd577d205" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/ca4f58b2ef4baa8f6cecbeca2573f88cd577d205", + "reference": "ca4f58b2ef4baa8f6cecbeca2573f88cd577d205", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" + }, + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<5.4", + "symfony/serializer": "<6.3.2" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1|^4", + "league/html-to-markdown": "^5.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.3.2|^7.0" + }, + "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/v6.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": "2023-10-17T11:49:05+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "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.28.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": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "875e90aeea2777b6f135677f618529449334a612" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", + "reference": "875e90aeea2777b6f135677f618529449334a612", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "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.28.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": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "ecaafce9f77234a6a449d29e49267ba10499116d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d", + "reference": "ecaafce9f77234a6a449d29e49267ba10499116d", + "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": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "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.28.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": "2023-01-26T09:30:37+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "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.28.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": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "42292d99c55abe617799667f454222c54c60e229" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", + "reference": "42292d99c55abe617799667f454222c54c60e229", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "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.28.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": "2023-07-28T09:04:16+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179", + "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "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.28.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": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/polyfill-php73", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php73.git", + "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5", + "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "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.28.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": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "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.28.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": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/polyfill-php81", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php81.git", + "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b", + "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "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.28.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": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/polyfill-php83", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", + "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-php80": "^1.14" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php83\\": "" + }, + "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.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php83/tree/v1.28.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": "2023-08-16T06:22:46+00:00" + }, + { + "name": "symfony/process", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "191703b1566d97a5425dc969e4350d32b8ef17aa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/191703b1566d97a5425dc969e4350d32b8ef17aa", + "reference": "191703b1566d97a5425dc969e4350d32b8ef17aa", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "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": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v6.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": "2023-11-17T21:06:49+00:00" + }, + { + "name": "symfony/routing", + "version": "v6.4.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "0c95c164fdba18b12523b75e64199ca3503e6d40" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/0c95c164fdba18b12523b75e64199ca3503e6d40", + "reference": "0c95c164fdba18b12523b75e64199ca3503e6d40", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "doctrine/annotations": "<1.12", + "symfony/config": "<6.2", + "symfony/dependency-injection": "<5.4", + "symfony/yaml": "<5.4" + }, + "require-dev": { + "doctrine/annotations": "^1.12|^2", + "psr/log": "^1|^2|^3", + "symfony/config": "^6.2|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0" + }, + "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/v6.4.1" + }, + "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-12-01T14:54:37+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "b3313c2dbffaf71c8de2934e2ea56ed2291a3838" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/b3313c2dbffaf71c8de2934e2ea56ed2291a3838", + "reference": "b3313c2dbffaf71c8de2934e2ea56ed2291a3838", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^2.0" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "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/v3.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": "2023-07-30T20:28:31+00:00" + }, + { + "name": "symfony/string", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "b45fcf399ea9c3af543a92edf7172ba21174d809" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/b45fcf399ea9c3af543a92edf7172ba21174d809", + "reference": "b45fcf399ea9c3af543a92edf7172ba21174d809", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" + }, + "require-dev": { + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/intl": "^6.2|^7.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "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/v6.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": "2023-11-28T20:41:49+00:00" + }, + { + "name": "symfony/translation", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "b1035dbc2a344b21f8fa8ac451c7ecec4ea45f37" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/b1035dbc2a344b21f8fa8ac451c7ecec4ea45f37", + "reference": "b1035dbc2a344b21f8fa8ac451c7ecec4ea45f37", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation-contracts": "^2.5|^3.0" + }, + "conflict": { + "symfony/config": "<5.4", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<5.4", + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<5.4", + "symfony/service-contracts": "<2.5", + "symfony/twig-bundle": "<5.4", + "symfony/yaml": "<5.4" + }, + "provide": { + "symfony/translation-implementation": "2.3|3.0" + }, + "require-dev": { + "nikic/php-parser": "^4.13", + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-client-contracts": "^2.5|^3.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/intl": "^5.4|^6.0|^7.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^5.4|^6.0|^7.0" + }, + "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/v6.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": "2023-11-29T08:14:36+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "dee0c6e5b4c07ce851b462530088e64b255ac9c5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/dee0c6e5b4c07ce851b462530088e64b255ac9c5", + "reference": "dee0c6e5b4c07ce851b462530088e64b255ac9c5", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "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/v3.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": "2023-07-25T15:08:44+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "c40f7d17e91d8b407582ed51a2bbf83c52c367f6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c40f7d17e91d8b407582ed51a2bbf83c52c367f6", + "reference": "c40f7d17e91d8b407582ed51a2bbf83c52c367f6", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/console": "<5.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^6.3|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/uid": "^5.4|^6.0|^7.0", + "twig/twig": "^2.13|^3.0.4" + }, + "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/v6.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": "2023-11-09T08:28:32+00:00" + }, + { + "name": "tracy/tracy", + "version": "v2.10.5", + "source": { + "type": "git", + "url": "https://github.com/nette/tracy.git", + "reference": "86bdba4aa0f707d3f125933931d3df6e5c7aad79" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/tracy/zipball/86bdba4aa0f707d3f125933931d3df6e5c7aad79", + "reference": "86bdba4aa0f707d3f125933931d3df6e5c7aad79", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-session": "*", + "php": ">=8.0 <8.4" + }, + "conflict": { + "nette/di": "<3.0" + }, + "require-dev": { + "latte/latte": "^2.5", + "nette/di": "^3.0", + "nette/http": "^3.0", + "nette/mail": "^3.0", + "nette/tester": "^2.2", + "nette/utils": "^3.0", + "phpstan/phpstan": "^1.0", + "psr/log": "^1.0 || ^2.0 || ^3.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.10-dev" + } + }, + "autoload": { + "files": [ + "src/Tracy/functions.php" + ], + "classmap": [ + "src" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "😎 Tracy: the addictive tool to ease debugging PHP code for cool developers. Friendly design, logging, profiler, advanced features like debugging AJAX calls or CLI support. You will love it.", + "homepage": "https://tracy.nette.org", + "keywords": [ + "Xdebug", + "debug", + "debugger", + "nette", + "profiler" + ], + "support": { + "issues": "https://github.com/nette/tracy/issues", + "source": "https://github.com/nette/tracy/tree/v2.10.5" + }, + "time": "2023-10-16T21:54:18+00:00" + }, + { + "name": "vlucas/phpdotenv", + "version": "v5.6.0", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", + "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "graham-campbell/result-type": "^1.1.2", + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.2", + "symfony/polyfill-ctype": "^1.24", + "symfony/polyfill-mbstring": "^1.24", + "symfony/polyfill-php80": "^1.24" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-filter": "*", + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "suggest": { + "ext-filter": "Required to use the boolean validator." + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + }, + "branch-alias": { + "dev-master": "5.6-dev" + } + }, + "autoload": { + "psr-4": { + "Dotenv\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "https://github.com/vlucas" + } + ], + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "support": { + "issues": "https://github.com/vlucas/phpdotenv/issues", + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", + "type": "tidelift" + } + ], + "time": "2023-11-12T22:43:29+00:00" + }, + { + "name": "voku/portable-ascii", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/voku/portable-ascii.git", + "reference": "b56450eed252f6801410d810c8e1727224ae0743" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", + "reference": "b56450eed252f6801410d810c8e1727224ae0743", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" + }, + "suggest": { + "ext-intl": "Use Intl for transliterator_transliterate() support" + }, + "type": "library", + "autoload": { + "psr-4": { + "voku\\": "src/voku/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Lars Moelleken", + "homepage": "http://www.moelleken.org/" + } + ], + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", + "keywords": [ + "ascii", + "clean", + "php" + ], + "support": { + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/2.0.1" + }, + "funding": [ + { + "url": "https://www.paypal.me/moelleken", + "type": "custom" + }, + { + "url": "https://github.com/voku", + "type": "github" + }, + { + "url": "https://opencollective.com/portable-ascii", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "type": "tidelift" + } + ], + "time": "2022-03-08T17:03:00+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": "wikimedia/composer-merge-plugin", + "version": "v2.1.0", + "source": { + "type": "git", + "url": "https://github.com/wikimedia/composer-merge-plugin.git", + "reference": "a03d426c8e9fb2c9c569d9deeb31a083292788bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/wikimedia/composer-merge-plugin/zipball/a03d426c8e9fb2c9c569d9deeb31a083292788bc", + "reference": "a03d426c8e9fb2c9c569d9deeb31a083292788bc", + "shasum": "" + }, + "require": { + "composer-plugin-api": "^1.1||^2.0", + "php": ">=7.2.0" + }, + "require-dev": { + "composer/composer": "^1.1||^2.0", + "ext-json": "*", + "mediawiki/mediawiki-phan-config": "0.11.1", + "php-parallel-lint/php-parallel-lint": "~1.3.1", + "phpspec/prophecy": "~1.15.0", + "phpunit/phpunit": "^8.5||^9.0", + "squizlabs/php_codesniffer": "~3.7.1" + }, + "type": "composer-plugin", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + }, + "class": "Wikimedia\\Composer\\Merge\\V2\\MergePlugin" + }, + "autoload": { + "psr-4": { + "Wikimedia\\Composer\\Merge\\V2\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bryan Davis", + "email": "bd808@wikimedia.org" + } + ], + "description": "Composer plugin to merge multiple composer.json files", + "support": { + "issues": "https://github.com/wikimedia/composer-merge-plugin/issues", + "source": "https://github.com/wikimedia/composer-merge-plugin/tree/v2.1.0" + }, + "time": "2023-04-15T19:07:00+00:00" + } + ], + "packages-dev": [ + { + "name": "roave/security-advisories", + "version": "dev-master", + "source": { + "type": "git", + "url": "https://github.com/Roave/SecurityAdvisories.git", + "reference": "498a07ca22004364fc54bc909b77de792a10c127" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/498a07ca22004364fc54bc909b77de792a10c127", + "reference": "498a07ca22004364fc54bc909b77de792a10c127", + "shasum": "" + }, + "conflict": { + "3f/pygmentize": "<1.2", + "admidio/admidio": "<4.2.13", + "adodb/adodb-php": "<=5.20.20|>=5.21,<=5.21.3", + "aheinze/cockpit": "<2.2", + "aimeos/aimeos-typo3": "<19.10.12|>=20,<20.10.5", + "airesvsg/acf-to-rest-api": "<=3.1", + "akaunting/akaunting": "<2.1.13", + "akeneo/pim-community-dev": "<5.0.119|>=6,<6.0.53", + "alextselegidis/easyappointments": "<1.5", + "alterphp/easyadmin-extension-bundle": ">=1.2,<1.2.11|>=1.3,<1.3.1", + "amazing/media2click": ">=1,<1.3.3", + "amphp/artax": "<1.0.6|>=2,<2.0.6", + "amphp/http": "<1.0.1", + "amphp/http-client": ">=4,<4.4", + "anchorcms/anchor-cms": "<=0.12.7", + "andreapollastri/cipi": "<=3.1.15", + "andrewhaine/silverstripe-form-capture": ">=0.2,<=0.2.3|>=1,<1.0.2|>=2,<2.2.5", + "apache-solr-for-typo3/solr": "<2.8.3", + "apereo/phpcas": "<1.6", + "api-platform/core": ">=2.2,<2.2.10|>=2.3,<2.3.6|>=2.6,<2.7.10|>=3,<3.0.12|>=3.1,<3.1.3", + "appwrite/server-ce": "<=1.2.1", + "arc/web": "<3", + "area17/twill": "<1.2.5|>=2,<2.5.3", + "artesaos/seotools": "<0.17.2", + "asymmetricrypt/asymmetricrypt": "<9.9.99", + "athlon1600/php-proxy": "<=5.1", + "athlon1600/php-proxy-app": "<=3", + "austintoddj/canvas": "<=3.4.2", + "automad/automad": "<1.8", + "awesome-support/awesome-support": "<=6.0.7", + "aws/aws-sdk-php": ">=3,<3.2.1", + "azuracast/azuracast": "<0.18.3", + "backdrop/backdrop": "<1.24.2", + "backpack/crud": "<3.4.9", + "bacula-web/bacula-web": "<8.0.0.0-RC2-dev", + "badaso/core": "<2.7", + "bagisto/bagisto": "<0.1.5", + "barrelstrength/sprout-base-email": "<1.2.7", + "barrelstrength/sprout-forms": "<3.9", + "barryvdh/laravel-translation-manager": "<0.6.2", + "barzahlen/barzahlen-php": "<2.0.1", + "baserproject/basercms": "<4.8", + "bassjobsen/bootstrap-3-typeahead": ">4.0.2", + "bigfork/silverstripe-form-capture": ">=3,<3.1.1", + "billz/raspap-webgui": "<2.9.5", + "bk2k/bootstrap-package": ">=7.1,<7.1.2|>=8,<8.0.8|>=9,<9.0.4|>=9.1,<9.1.3|>=10,<10.0.10|>=11,<11.0.3", + "bmarshall511/wordpress_zero_spam": "<5.2.13", + "bolt/bolt": "<3.7.2", + "bolt/core": "<=4.2", + "bottelet/flarepoint": "<2.2.1", + "brightlocal/phpwhois": "<=4.2.5", + "brotkrueml/codehighlight": "<2.7", + "brotkrueml/schema": "<1.13.1|>=2,<2.5.1", + "brotkrueml/typo3-matomo-integration": "<1.3.2", + "buddypress/buddypress": "<7.2.1", + "bugsnag/bugsnag-laravel": "<2.0.2", + "bytefury/crater": "<6.0.2", + "cachethq/cachet": "<2.5.1", + "cakephp/cakephp": "<3.10.3|>=4,<4.0.10|>=4.1,<4.1.4|>=4.2,<4.2.12|>=4.3,<4.3.11|>=4.4,<4.4.10", + "cakephp/database": ">=4.2,<4.2.12|>=4.3,<4.3.11|>=4.4,<4.4.10", + "cardgate/magento2": "<2.0.33", + "cardgate/woocommerce": "<=3.1.15", + "cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4", + "cartalyst/sentry": "<=2.1.6", + "catfan/medoo": "<1.7.5", + "cecil/cecil": "<7.47.1", + "centreon/centreon": "<22.10.0.0-beta1", + "cesnet/simplesamlphp-module-proxystatistics": "<3.1", + "chriskacerguis/codeigniter-restserver": "<=2.7.1", + "civicrm/civicrm-core": ">=4.2,<4.2.9|>=4.3,<4.3.3", + "cockpit-hq/cockpit": "<=2.6.3", + "codeception/codeception": "<3.1.3|>=4,<4.1.22", + "codeigniter/framework": "<3.1.9", + "codeigniter4/framework": "<=4.4.2", + "codeigniter4/shield": "<1.0.0.0-beta8", + "codiad/codiad": "<=2.8.4", + "composer/composer": "<1.10.27|>=2,<2.2.22|>=2.3,<2.6.4", + "concrete5/concrete5": "<9.2.2", + "concrete5/core": "<8.5.8|>=9,<9.1", + "contao-components/mediaelement": ">=2.14.2,<2.21.1", + "contao/contao": ">=4,<4.4.56|>=4.5,<4.9.40|>=4.10,<4.11.7|>=4.13,<4.13.21|>=5.1,<5.1.4", + "contao/core": ">=2,<3.5.39", + "contao/core-bundle": "<4.9.42|>=4.10,<4.13.28|>=5,<5.1.10", + "contao/listing-bundle": ">=4,<4.4.8", + "contao/managed-edition": "<=1.5", + "cosenary/instagram": "<=2.3", + "craftcms/cms": "<=4.4.14", + "croogo/croogo": "<4", + "cuyz/valinor": "<0.12", + "czproject/git-php": "<4.0.3", + "darylldoyle/safe-svg": "<1.9.10", + "datadog/dd-trace": ">=0.30,<0.30.2", + "datatables/datatables": "<1.10.10", + "david-garcia/phpwhois": "<=4.3.1", + "dbrisinajumi/d2files": "<1", + "dcat/laravel-admin": "<=2.1.3.0-beta", + "derhansen/fe_change_pwd": "<2.0.5|>=3,<3.0.3", + "derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1", + "desperado/xml-bundle": "<=0.1.7", + "directmailteam/direct-mail": "<5.2.4", + "doctrine/annotations": "<1.2.7", + "doctrine/cache": "<1.3.2|>=1.4,<1.4.2", + "doctrine/common": "<2.4.3|>=2.5,<2.5.1", + "doctrine/dbal": ">=2,<2.0.8|>=2.1,<2.1.2|>=3,<3.1.4", + "doctrine/doctrine-bundle": "<1.5.2", + "doctrine/doctrine-module": "<=0.7.1", + "doctrine/mongodb-odm": "<1.0.2", + "doctrine/mongodb-odm-bundle": "<3.0.1", + "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1|>=2.8.3,<2.8.4", + "dolibarr/dolibarr": "<18.0.2", + "dompdf/dompdf": "<2.0.2|==2.0.2", + "doublethreedigital/guest-entries": "<3.1.2", + "drupal/core": "<9.4.14|>=9.5,<9.5.8|>=10,<10.0.8", + "drupal/drupal": ">=6,<6.38|>=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4", + "duncanmcclean/guest-entries": "<3.1.2", + "dweeves/magmi": "<=0.7.24", + "ecodev/newsletter": "<=4", + "ectouch/ectouch": "<=2.7.2", + "elefant/cms": "<2.0.7", + "elgg/elgg": "<3.3.24|>=4,<4.0.5", + "elijaa/phpmemcacheadmin": "<=1.3", + "encore/laravel-admin": "<=1.8.19", + "endroid/qr-code-bundle": "<3.4.2", + "enshrined/svg-sanitize": "<0.15", + "erusev/parsedown": "<1.7.2", + "ether/logs": "<3.0.4", + "evolutioncms/evolution": "<=3.2.3", + "exceedone/exment": "<4.4.3|>=5,<5.0.3", + "exceedone/laravel-admin": "<2.2.3|==3", + "ezsystems/demobundle": ">=5.4,<5.4.6.1-dev", + "ezsystems/ez-support-tools": ">=2.2,<2.2.3", + "ezsystems/ezdemo-ls-extension": ">=5.4,<5.4.2.1-dev", + "ezsystems/ezfind-ls": ">=5.3,<5.3.6.1-dev|>=5.4,<5.4.11.1-dev|>=2017.12,<2017.12.0.1-dev", + "ezsystems/ezplatform": "<=1.13.6|>=2,<=2.5.24", + "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<1.5.29|>=2.3,<2.3.26", + "ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1", + "ezsystems/ezplatform-graphql": ">=1.0.0.0-RC1-dev,<1.0.13|>=2.0.0.0-beta1,<2.3.12", + "ezsystems/ezplatform-kernel": "<1.2.5.1-dev|>=1.3,<1.3.34", + "ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<1.3.8", + "ezsystems/ezplatform-richtext": ">=2.3,<2.3.7.1-dev", + "ezsystems/ezplatform-solr-search-engine": ">=1.7,<1.7.12|>=2,<2.0.2|>=3.3,<3.3.15", + "ezsystems/ezplatform-user": ">=1,<1.0.1", + "ezsystems/ezpublish-kernel": "<6.13.8.2-dev|>=7,<7.5.31", + "ezsystems/ezpublish-legacy": "<=2017.12.7.3|>=2018.6,<=2019.03.5.1", + "ezsystems/platform-ui-assets-bundle": ">=4.2,<4.2.3", + "ezsystems/repository-forms": ">=2.3,<2.3.2.1-dev|>=2.5,<2.5.15", + "ezyang/htmlpurifier": "<4.1.1", + "facade/ignition": "<1.16.15|>=2,<2.4.2|>=2.5,<2.5.2", + "facturascripts/facturascripts": "<=2022.08", + "feehi/cms": "<=2.1.1", + "feehi/feehicms": "<=2.1.1", + "fenom/fenom": "<=2.12.1", + "filegator/filegator": "<7.8", + "firebase/php-jwt": "<6", + "fixpunkt/fp-masterquiz": "<2.2.1|>=3,<3.5.2", + "fixpunkt/fp-newsletter": "<1.1.1|>=2,<2.1.2|>=2.2,<3.2.6", + "flarum/core": "<1.8", + "flarum/framework": "<1.8", + "flarum/mentions": "<1.6.3", + "flarum/sticky": ">=0.1.0.0-beta14,<=0.1.0.0-beta15", + "flarum/tags": "<=0.1.0.0-beta13", + "floriangaerber/magnesium": "<0.3.1", + "fluidtypo3/vhs": "<5.1.1", + "fof/byobu": ">=0.3.0.0-beta2,<1.1.7", + "fof/upload": "<1.2.3", + "foodcoopshop/foodcoopshop": ">=3.2,<3.6.1", + "fooman/tcpdf": "<6.2.22", + "forkcms/forkcms": "<5.11.1", + "fossar/tcpdf-parser": "<6.2.22", + "francoisjacquet/rosariosis": "<11", + "frappant/frp-form-answers": "<3.1.2|>=4,<4.0.2", + "friendsofsymfony/oauth2-php": "<1.3", + "friendsofsymfony/rest-bundle": ">=1.2,<1.2.2", + "friendsofsymfony/user-bundle": ">=1.2,<1.3.5", + "friendsoftypo3/mediace": ">=7.6.2,<7.6.5", + "friendsoftypo3/openid": ">=4.5,<4.5.31|>=4.7,<4.7.16|>=6,<6.0.11|>=6.1,<6.1.6", + "froala/wysiwyg-editor": "<3.2.7|>=4.0.1,<=4.1.1", + "froxlor/froxlor": "<2.1.0.0-beta1", + "fuel/core": "<1.8.1", + "funadmin/funadmin": "<=3.2|>=3.3.2,<=3.3.3", + "gaoming13/wechat-php-sdk": "<=1.10.2", + "genix/cms": "<=1.1.11", + "getgrav/grav": "<=1.7.42.1", + "getkirby/cms": "<3.5.8.3-dev|>=3.6,<3.6.6.3-dev|>=3.7,<3.7.5.2-dev|>=3.8,<3.8.4.1-dev|>=3.9,<3.9.6", + "getkirby/kirby": "<=2.5.12", + "getkirby/panel": "<2.5.14", + "getkirby/starterkit": "<=3.7.0.2", + "gilacms/gila": "<=1.11.4", + "gleez/cms": "<=1.2|==2", + "globalpayments/php-sdk": "<2", + "gogentooss/samlbase": "<1.2.7", + "google/protobuf": "<3.15", + "gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3", + "gree/jose": "<2.2.1", + "gregwar/rst": "<1.0.3", + "grumpydictator/firefly-iii": "<6", + "gugoan/economizzer": "<=0.9.0.0-beta1", + "guzzlehttp/guzzle": "<6.5.8|>=7,<7.4.5", + "guzzlehttp/psr7": "<1.9.1|>=2,<2.4.5", + "haffner/jh_captcha": "<=2.1.3|>=3,<=3.0.2", + "harvesthq/chosen": "<1.8.7", + "helloxz/imgurl": "<=2.31", + "hhxsv5/laravel-s": "<3.7.36", + "hillelcoren/invoice-ninja": "<5.3.35", + "himiklab/yii2-jqgrid-widget": "<1.0.8", + "hjue/justwriting": "<=1", + "hov/jobfair": "<1.0.13|>=2,<2.0.2", + "httpsoft/http-message": "<1.0.12", + "hyn/multi-tenant": ">=5.6,<5.7.2", + "ibexa/admin-ui": ">=4.2,<4.2.3", + "ibexa/core": ">=4,<4.0.7|>=4.1,<4.1.4|>=4.2,<4.2.3|>=4.5,<4.5.4", + "ibexa/graphql": ">=2.5,<2.5.31|>=3.3,<3.3.28|>=4.2,<4.2.3", + "ibexa/post-install": "<=1.0.4", + "ibexa/solr": ">=4.5,<4.5.4", + "ibexa/user": ">=4,<4.4.3", + "icecoder/icecoder": "<=8.1", + "idno/known": "<=1.3.1", + "illuminate/auth": ">=4,<4.0.99|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.10", + "illuminate/cookie": ">=4,<=4.0.11|>=4.1,<=4.1.99999|>=4.2,<=4.2.99999|>=5,<=5.0.99999|>=5.1,<=5.1.99999|>=5.2,<=5.2.99999|>=5.3,<=5.3.99999|>=5.4,<=5.4.99999|>=5.5,<=5.5.49|>=5.6,<=5.6.99999|>=5.7,<=5.7.99999|>=5.8,<=5.8.99999|>=6,<6.18.31|>=7,<7.22.4", + "illuminate/database": "<6.20.26|>=7,<7.30.5|>=8,<8.40", + "illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15", + "illuminate/view": "<6.20.42|>=7,<7.30.6|>=8,<8.75", + "impresscms/impresscms": "<=1.4.5", + "in2code/femanager": "<5.5.3|>=6,<6.3.4|>=7,<7.2.2", + "in2code/ipandlanguageredirect": "<5.1.2", + "in2code/lux": "<17.6.1|>=18,<24.0.2", + "innologi/typo3-appointments": "<2.0.6", + "intelliants/subrion": "<4.2.2", + "islandora/islandora": ">=2,<2.4.1", + "ivankristianto/phpwhois": "<=4.3", + "jackalope/jackalope-doctrine-dbal": "<1.7.4", + "james-heinrich/getid3": "<1.9.21", + "james-heinrich/phpthumb": "<1.7.12", + "jasig/phpcas": "<1.3.3", + "jcbrand/converse.js": "<3.3.3", + "joomla/application": "<1.0.13", + "joomla/archive": "<1.1.12|>=2,<2.0.1", + "joomla/filesystem": "<1.6.2|>=2,<2.0.1", + "joomla/filter": "<1.4.4|>=2,<2.0.1", + "joomla/framework": ">=2.5.4,<=3.8.12", + "joomla/input": ">=2,<2.0.2", + "joomla/joomla-cms": ">=2.5,<3.9.12", + "joomla/session": "<1.3.1", + "joyqi/hyper-down": "<=2.4.27", + "jsdecena/laracom": "<2.0.9", + "jsmitty12/phpwhois": "<5.1", + "kazist/phpwhois": "<=4.2.6", + "kelvinmo/simplexrd": "<3.1.1", + "kevinpapst/kimai2": "<1.16.7", + "khodakhah/nodcms": "<=3", + "kimai/kimai": "<=2.1", + "kitodo/presentation": "<3.2.3|>=3.3,<3.3.4", + "klaviyo/magento2-extension": ">=1,<3", + "knplabs/knp-snappy": "<=1.4.2", + "kohana/core": "<3.3.3", + "krayin/laravel-crm": "<1.2.2", + "kreait/firebase-php": ">=3.2,<3.8.1", + "la-haute-societe/tcpdf": "<6.2.22", + "laminas/laminas-diactoros": "<2.18.1|==2.19|==2.20|==2.21|==2.22|==2.23|>=2.24,<2.24.2|>=2.25,<2.25.2", + "laminas/laminas-form": "<2.17.1|>=3,<3.0.2|>=3.1,<3.1.1", + "laminas/laminas-http": "<2.14.2", + "laravel/fortify": "<1.11.1", + "laravel/framework": "<6.20.44|>=7,<7.30.6|>=8,<8.75", + "laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10", + "latte/latte": "<2.10.8", + "lavalite/cms": "<=9", + "lcobucci/jwt": ">=3.4,<3.4.6|>=4,<4.0.4|>=4.1,<4.1.5", + "league/commonmark": "<0.18.3", + "league/flysystem": "<1.1.4|>=2,<2.1.1", + "league/oauth2-server": ">=8.3.2,<8.4.2|>=8.5,<8.5.3", + "lexik/jwt-authentication-bundle": "<2.10.7|>=2.11,<2.11.3", + "librenms/librenms": "<2017.08.18", + "liftkit/database": "<2.13.2", + "limesurvey/limesurvey": "<3.27.19", + "livehelperchat/livehelperchat": "<=3.91", + "livewire/livewire": ">2.2.4,<2.2.6", + "lms/routes": "<2.1.1", + "localizationteam/l10nmgr": "<7.4|>=8,<8.7|>=9,<9.2", + "luyadev/yii-helpers": "<1.2.1", + "magento/community-edition": "<=2.4", + "magento/magento1ce": "<1.9.4.3-dev", + "magento/magento1ee": ">=1,<1.14.4.3-dev", + "magento/product-community-edition": ">=2,<2.2.10|>=2.3,<2.3.2.0-patch2", + "maikuolan/phpmussel": ">=1,<1.6", + "mantisbt/mantisbt": "<=2.25.7", + "marcwillmann/turn": "<0.3.3", + "matyhtf/framework": "<3.0.6", + "mautic/core": "<4.3", + "mediawiki/core": ">=1.27,<1.27.6|>=1.29,<1.29.3|>=1.30,<1.30.2|>=1.31,<1.31.9|>=1.32,<1.32.6|>=1.32.99,<1.33.3|>=1.33.99,<1.34.3|>=1.34.99,<1.35", + "mediawiki/matomo": "<2.4.3", + "melisplatform/melis-asset-manager": "<5.0.1", + "melisplatform/melis-cms": "<5.0.1", + "melisplatform/melis-front": "<5.0.1", + "mezzio/mezzio-swoole": "<3.7|>=4,<4.3", + "mgallegos/laravel-jqgrid": "<=1.3", + "microsoft/microsoft-graph": ">=1.16,<1.109.1|>=2.0.0.0-RC1-dev,<2.0.1", + "microsoft/microsoft-graph-beta": "<2.0.1", + "microsoft/microsoft-graph-core": "<2.0.2", + "microweber/microweber": "<=2.0.4", + "miniorange/miniorange-saml": "<1.4.3", + "mittwald/typo3_forum": "<1.2.1", + "mobiledetect/mobiledetectlib": "<2.8.32", + "modx/revolution": "<=2.8.3.0-patch", + "mojo42/jirafeau": "<4.4", + "mongodb/mongodb": ">=1,<1.9.2", + "monolog/monolog": ">=1.8,<1.12", + "moodle/moodle": "<4.3.0.0-RC2-dev", + "mos/cimage": "<0.7.19", + "movim/moxl": ">=0.8,<=0.10", + "mpdf/mpdf": "<=7.1.7", + "munkireport/comment": "<4.1", + "munkireport/managedinstalls": "<2.6", + "munkireport/munkireport": ">=2.5.3,<5.6.3", + "mustache/mustache": ">=2,<2.14.1", + "namshi/jose": "<2.2", + "neoan3-apps/template": "<1.1.1", + "neorazorx/facturascripts": "<2022.04", + "neos/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", + "neos/form": ">=1.2,<4.3.3|>=5,<5.0.9|>=5.1,<5.1.3", + "neos/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.9.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<5.3.10|>=7,<7.0.9|>=7.1,<7.1.7|>=7.2,<7.2.6|>=7.3,<7.3.4|>=8,<8.0.2", + "neos/neos-ui": "<=8.3.3", + "neos/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", + "netgen/tagsbundle": ">=3.4,<3.4.11|>=4,<4.0.15", + "nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6", + "nette/nette": ">=2,<2.0.19|>=2.1,<2.1.13", + "nilsteampassnet/teampass": "<3.0.10", + "nonfiction/nterchange": "<4.1.1", + "notrinos/notrinos-erp": "<=0.7", + "noumo/easyii": "<=0.9", + "nukeviet/nukeviet": "<4.5.02", + "nyholm/psr7": "<1.6.1", + "nystudio107/craft-seomatic": "<3.4.12", + "nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1", + "october/backend": "<1.1.2", + "october/cms": "<1.0.469|==1.0.469|==1.0.471|==1.1.1", + "october/october": "<=3.4.4", + "october/rain": "<1.0.472|>=1.1,<1.1.2", + "october/system": "<1.0.476|>=1.1,<1.1.12|>=2,<2.2.34|>=3,<3.5.2", + "omeka/omeka-s": "<4.0.3", + "onelogin/php-saml": "<2.10.4", + "oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5", + "open-web-analytics/open-web-analytics": "<1.7.4", + "opencart/opencart": "<=3.0.3.7|>=4,<4.0.2.3-dev", + "openid/php-openid": "<2.3", + "openmage/magento-lts": "<=19.5|>=20,<=20.1", + "opensource-workshop/connect-cms": "<1.7.2|>=2,<2.3.2", + "orchid/platform": ">=9,<9.4.4|>=14.0.0.0-alpha4,<14.5", + "oro/calendar-bundle": ">=4.2,<=4.2.6|>=5,<=5.0.6|>=5.1,<5.1.1", + "oro/commerce": ">=4.1,<5.0.11|>=5.1,<5.1.1", + "oro/crm": ">=1.7,<1.7.4|>=3.1,<4.1.17|>=4.2,<4.2.7", + "oro/crm-call-bundle": ">=4.2,<=4.2.5|>=5,<5.0.4|>=5.1,<5.1.1", + "oro/customer-portal": ">=4.2,<=4.2.8|>=5,<5.0.11|>=5.1,<5.1.1", + "oro/platform": ">=1.7,<1.7.4|>=3.1,<3.1.29|>=4.1,<4.1.17|>=4.2,<=4.2.10|>=5,<5.0.8", + "oxid-esales/oxideshop-ce": "<4.5", + "packbackbooks/lti-1-3-php-library": "<5", + "padraic/humbug_get_contents": "<1.1.2", + "pagarme/pagarme-php": "<3", + "pagekit/pagekit": "<=1.0.18", + "paragonie/random_compat": "<2", + "passbolt/passbolt_api": "<2.11", + "paypal/merchant-sdk-php": "<3.12", + "pear/archive_tar": "<1.4.14", + "pear/crypt_gpg": "<1.6.7", + "pear/pear": "<=1.10.1", + "pegasus/google-for-jobs": "<1.5.1|>=2,<2.1.1", + "personnummer/personnummer": "<3.0.2", + "phanan/koel": "<5.1.4", + "php-mod/curl": "<2.3.2", + "phpbb/phpbb": "<3.2.10|>=3.3,<3.3.1", + "phpfastcache/phpfastcache": "<6.1.5|>=7,<7.1.2|>=8,<8.0.7", + "phpmailer/phpmailer": "<6.5", + "phpmussel/phpmussel": ">=1,<1.6", + "phpmyadmin/phpmyadmin": "<5.2.1", + "phpmyfaq/phpmyfaq": "<=3.1.7", + "phpoffice/phpexcel": "<1.8", + "phpoffice/phpspreadsheet": "<1.16", + "phpseclib/phpseclib": "<2.0.31|>=3,<3.0.34", + "phpservermon/phpservermon": "<3.6", + "phpsysinfo/phpsysinfo": "<3.2.5", + "phpunit/phpunit": ">=4.8.19,<4.8.28|>=5,<5.6.3", + "phpwhois/phpwhois": "<=4.2.5", + "phpxmlrpc/extras": "<0.6.1", + "phpxmlrpc/phpxmlrpc": "<4.9.2", + "pi/pi": "<=2.5", + "pimcore/admin-ui-classic-bundle": "<1.2.2", + "pimcore/customer-management-framework-bundle": "<3.4.2", + "pimcore/data-hub": "<1.2.4", + "pimcore/demo": "<10.3", + "pimcore/perspective-editor": "<1.5.1", + "pimcore/pimcore": "<11.1.1", + "pixelfed/pixelfed": "<=0.11.4", + "pocketmine/bedrock-protocol": "<8.0.2", + "pocketmine/pocketmine-mp": "<=4.23|>=5,<5.3.1", + "pocketmine/raklib": ">=0.14,<0.14.6|>=0.15,<0.15.1", + "pressbooks/pressbooks": "<5.18", + "prestashop/autoupgrade": ">=4,<4.10.1", + "prestashop/blockreassurance": "<=5.1.3", + "prestashop/blockwishlist": ">=2,<2.1.1", + "prestashop/contactform": ">=1.0.1,<4.3", + "prestashop/gamification": "<2.3.2", + "prestashop/prestashop": "<8.1.2", + "prestashop/productcomments": "<5.0.2", + "prestashop/ps_emailsubscription": "<2.6.1", + "prestashop/ps_facetedsearch": "<3.4.1", + "prestashop/ps_linklist": "<3.1", + "privatebin/privatebin": "<1.4", + "processwire/processwire": "<=3.0.200", + "propel/propel": ">=2.0.0.0-alpha1,<=2.0.0.0-alpha7", + "propel/propel1": ">=1,<=1.7.1", + "pterodactyl/panel": "<1.7", + "ptheofan/yii2-statemachine": ">=2.0.0.0-RC1-dev,<=2", + "ptrofimov/beanstalk_console": "<1.7.14", + "pubnub/pubnub": "<6.1", + "pusher/pusher-php-server": "<2.2.1", + "pwweb/laravel-core": "<=0.3.6.0-beta", + "pyrocms/pyrocms": "<=3.9.1", + "rainlab/blog-plugin": "<1.4.1", + "rainlab/debugbar-plugin": "<3.1", + "rainlab/user-plugin": "<=1.4.5", + "rankmath/seo-by-rank-math": "<=1.0.95", + "rap2hpoutre/laravel-log-viewer": "<0.13", + "react/http": ">=0.7,<1.9", + "really-simple-plugins/complianz-gdpr": "<6.4.2", + "remdex/livehelperchat": "<3.99", + "reportico-web/reportico": "<=7.1.21", + "rhukster/dom-sanitizer": "<1.0.7", + "rmccue/requests": ">=1.6,<1.8", + "robrichards/xmlseclibs": "<3.0.4", + "roots/soil": "<4.1", + "rudloff/alltube": "<3.0.3", + "s-cart/core": "<6.9", + "s-cart/s-cart": "<6.9", + "sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1", + "sabre/dav": "<1.7.11|>=1.8,<1.8.9", + "scheb/two-factor-bundle": "<3.26|>=4,<4.11", + "sensiolabs/connect": "<4.2.3", + "serluck/phpwhois": "<=4.2.6", + "sfroemken/url_redirect": "<=1.2.1", + "sheng/yiicms": "<=1.2", + "shopware/core": "<=6.4.20", + "shopware/platform": "<=6.4.20", + "shopware/production": "<=6.3.5.2", + "shopware/shopware": "<=5.7.17", + "shopware/storefront": "<=6.4.8.1", + "shopxo/shopxo": "<2.2.6", + "showdoc/showdoc": "<2.10.4", + "silverstripe-australia/advancedreports": ">=1,<=2", + "silverstripe/admin": "<1.13.6", + "silverstripe/assets": ">=1,<1.11.1", + "silverstripe/cms": "<4.11.3", + "silverstripe/comments": ">=1.3,<1.9.99|>=2,<2.9.99|>=3,<3.1.1", + "silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3", + "silverstripe/framework": "<4.13.14|>=5,<5.0.13", + "silverstripe/graphql": "<3.8.2|>=4,<4.1.3|>=4.2,<4.2.5|>=4.3,<4.3.4|>=5,<5.0.3", + "silverstripe/hybridsessions": ">=1,<2.4.1|>=2.5,<2.5.1", + "silverstripe/recipe-cms": ">=4.5,<4.5.3", + "silverstripe/registry": ">=2.1,<2.1.2|>=2.2,<2.2.1", + "silverstripe/restfulserver": ">=1,<1.0.9|>=2,<2.0.4", + "silverstripe/silverstripe-omnipay": "<2.5.2|>=3,<3.0.2|>=3.1,<3.1.4|>=3.2,<3.2.1", + "silverstripe/subsites": ">=2,<2.6.1", + "silverstripe/taxonomy": ">=1.3,<1.3.1|>=2,<2.0.1", + "silverstripe/userforms": "<3", + "silverstripe/versioned-admin": ">=1,<1.11.1", + "simple-updates/phpwhois": "<=1", + "simplesamlphp/saml2": "<1.15.4|>=2,<2.3.8|>=3,<3.1.4|==5.0.0.0-alpha12", + "simplesamlphp/simplesamlphp": "<1.18.6", + "simplesamlphp/simplesamlphp-module-infocard": "<1.0.1", + "simplesamlphp/simplesamlphp-module-openid": "<1", + "simplesamlphp/simplesamlphp-module-openidprovider": "<0.9", + "simplesamlphp/xml-security": "==1.6.11", + "simplito/elliptic-php": "<1.0.6", + "sitegeist/fluid-components": "<3.5", + "sjbr/sr-freecap": "<2.4.6|>=2.5,<2.5.3", + "slim/psr7": "<1.4.1|>=1.5,<1.5.1|>=1.6,<1.6.1", + "slim/slim": "<2.6", + "slub/slub-events": "<3.0.3", + "smarty/smarty": "<3.1.48|>=4,<4.3.1", + "snipe/snipe-it": "<=6.2.2", + "socalnick/scn-social-auth": "<1.15.2", + "socialiteproviders/steam": "<1.1", + "spatie/browsershot": "<3.57.4", + "spipu/html2pdf": "<5.2.8", + "spoon/library": "<1.4.1", + "spoonity/tcpdf": "<6.2.22", + "squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1", + "ssddanbrown/bookstack": "<22.02.3", + "statamic/cms": "<4.36", + "stormpath/sdk": "<9.9.99", + "studio-42/elfinder": "<2.1.62", + "subhh/libconnect": "<7.0.8|>=8,<8.1", + "sukohi/surpass": "<1", + "sulu/sulu": "<1.6.44|>=2,<2.2.18|>=2.3,<2.3.8|==2.4.0.0-RC1|>=2.5,<2.5.10", + "sumocoders/framework-user-bundle": "<1.4", + "swag/paypal": "<5.4.4", + "swiftmailer/swiftmailer": ">=4,<5.4.5", + "swiftyedit/swiftyedit": "<1.2", + "sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2", + "sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", + "sylius/grid-bundle": "<1.10.1", + "sylius/paypal-plugin": ">=1,<1.2.4|>=1.3,<1.3.1", + "sylius/resource-bundle": "<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4", + "sylius/sylius": "<1.9.10|>=1.10,<1.10.11|>=1.11,<1.11.2", + "symbiote/silverstripe-multivaluefield": ">=3,<3.0.99", + "symbiote/silverstripe-queuedjobs": ">=3,<3.0.2|>=3.1,<3.1.4|>=4,<4.0.7|>=4.1,<4.1.2|>=4.2,<4.2.4|>=4.3,<4.3.3|>=4.4,<4.4.3|>=4.5,<4.5.1|>=4.6,<4.6.4", + "symbiote/silverstripe-seed": "<6.0.3", + "symbiote/silverstripe-versionedfiles": "<=2.0.3", + "symfont/process": ">=0", + "symfony/cache": ">=3.1,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8", + "symfony/dependency-injection": ">=2,<2.0.17|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/error-handler": ">=4.4,<4.4.4|>=5,<5.0.4", + "symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.50|>=2.8,<2.8.49|>=3,<3.4.20|>=4,<4.0.15|>=4.1,<4.1.9|>=4.2,<4.2.1", + "symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7|>=5.3.14,<=5.3.14|>=5.4.3,<=5.4.3|>=6.0.3,<=6.0.3", + "symfony/http-foundation": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7", + "symfony/http-kernel": ">=2,<4.4.50|>=5,<5.4.20|>=6,<6.0.20|>=6.1,<6.1.12|>=6.2,<6.2.6", + "symfony/intl": ">=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13", + "symfony/maker-bundle": ">=1.27,<1.29.2|>=1.30,<1.31.1", + "symfony/mime": ">=4.3,<4.3.8", + "symfony/phpunit-bridge": ">=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/polyfill": ">=1,<1.10", + "symfony/polyfill-php55": ">=1,<1.10", + "symfony/proxy-manager-bridge": ">=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", + "symfony/routing": ">=2,<2.0.19", + "symfony/security": ">=2,<2.7.51|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.8", + "symfony/security-bundle": ">=2,<4.4.50|>=5,<5.4.20|>=6,<6.0.20|>=6.1,<6.1.12|>=6.2,<6.2.6", + "symfony/security-core": ">=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.9", + "symfony/security-csrf": ">=2.4,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", + "symfony/security-guard": ">=2.8,<3.4.48|>=4,<4.4.23|>=5,<5.2.8", + "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7|>=5.1,<5.2.8|>=5.3,<5.3.2|>=5.4,<5.4.31|>=6,<6.3.8", + "symfony/serializer": ">=2,<2.0.11|>=4.1,<4.4.35|>=5,<5.3.12", + "symfony/symfony": "<4.4.51|>=5,<5.4.31|>=6,<6.3.8", + "symfony/translation": ">=2,<2.0.17", + "symfony/twig-bridge": ">=2,<4.4.51|>=5,<5.4.31|>=6,<6.3.8", + "symfony/ux-autocomplete": "<2.11.2", + "symfony/validator": ">=2,<2.0.24|>=2.1,<2.1.12|>=2.2,<2.2.5|>=2.3,<2.3.3", + "symfony/var-exporter": ">=4.2,<4.2.12|>=4.3,<4.3.8", + "symfony/web-profiler-bundle": ">=2,<2.3.19|>=2.4,<2.4.9|>=2.5,<2.5.4", + "symfony/webhook": ">=6.3,<6.3.8", + "symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7", + "t3/dce": "<0.11.5|>=2.2,<2.6.2", + "t3g/svg-sanitizer": "<1.0.3", + "tastyigniter/tastyigniter": "<3.3", + "tcg/voyager": "<=1.4", + "tecnickcom/tcpdf": "<6.2.22", + "terminal42/contao-tablelookupwizard": "<3.3.5", + "thelia/backoffice-default-template": ">=2.1,<2.1.2", + "thelia/thelia": ">=2.1,<2.1.3", + "theonedemon/phpwhois": "<=4.2.5", + "thinkcmf/thinkcmf": "<=5.1.7", + "thorsten/phpmyfaq": "<3.2.2", + "tikiwiki/tiki-manager": "<=17.1", + "tinymce/tinymce": "<5.10.9|>=6,<6.7.3", + "tinymighty/wiki-seo": "<1.2.2", + "titon/framework": "<9.9.99", + "tobiasbg/tablepress": "<=2.0.0.0-RC1", + "topthink/framework": "<6.0.14", + "topthink/think": "<=6.1.1", + "topthink/thinkphp": "<=3.2.3", + "tpwd/ke_search": "<4.0.3|>=4.1,<4.6.6|>=5,<5.0.2", + "tribalsystems/zenario": "<=9.4.59197", + "truckersmp/phpwhois": "<=4.3.1", + "ttskch/pagination-service-provider": "<1", + "twig/twig": "<1.44.7|>=2,<2.15.3|>=3,<3.4.3", + "typo3/cms": "<9.5.29|>=10,<10.4.35|>=11,<11.5.23|>=12,<12.2", + "typo3/cms-backend": ">=7,<=7.6.50|>=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", + "typo3/cms-core": "<=8.7.54|>=9,<=9.5.43|>=10,<=10.4.40|>=11,<=11.5.32|>=12,<=12.4.7", + "typo3/cms-extbase": "<6.2.24|>=7,<7.6.8|==8.1.1", + "typo3/cms-form": ">=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", + "typo3/cms-install": ">=12.2,<12.4.8", + "typo3/cms-rte-ckeditor": ">=9.5,<9.5.42|>=10,<10.4.39|>=11,<11.5.30", + "typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", + "typo3/html-sanitizer": ">=1,<=1.5.2|>=2,<=2.1.3", + "typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.3.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3", + "typo3/phar-stream-wrapper": ">=1,<2.1.1|>=3,<3.1.1", + "typo3/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", + "typo3fluid/fluid": ">=2,<2.0.8|>=2.1,<2.1.7|>=2.2,<2.2.4|>=2.3,<2.3.7|>=2.4,<2.4.4|>=2.5,<2.5.11|>=2.6,<2.6.10", + "ua-parser/uap-php": "<3.8", + "uasoft-indonesia/badaso": "<=2.9.7", + "unisharp/laravel-filemanager": "<=2.5.1", + "userfrosting/userfrosting": ">=0.3.1,<4.6.3", + "usmanhalalit/pixie": "<1.0.3|>=2,<2.0.2", + "uvdesk/community-skeleton": "<=1.1.1", + "vanilla/safecurl": "<0.9.2", + "verot/class.upload.php": "<=1.0.3|>=2,<=2.0.4", + "vova07/yii2-fileapi-widget": "<0.1.9", + "vrana/adminer": "<4.8.1", + "waldhacker/hcaptcha": "<2.1.2", + "wallabag/tcpdf": "<6.2.22", + "wallabag/wallabag": "<2.6.7", + "wanglelecc/laracms": "<=1.0.3", + "web-auth/webauthn-framework": ">=3.3,<3.3.4", + "webbuilders-group/silverstripe-kapost-bridge": "<0.4", + "webcoast/deferred-image-processing": "<1.0.2", + "webklex/laravel-imap": "<5.3", + "webklex/php-imap": "<5.3", + "webpa/webpa": "<3.1.2", + "wikibase/wikibase": "<=1.39.3", + "wikimedia/parsoid": "<0.12.2", + "willdurand/js-translation-bundle": "<2.1.1", + "wintercms/winter": "<1.2.3", + "woocommerce/woocommerce": "<6.6", + "wp-cli/wp-cli": "<2.5", + "wp-graphql/wp-graphql": "<=1.14.5", + "wpanel/wpanel4-cms": "<=4.3.1", + "wpcloud/wp-stateless": "<3.2", + "wwbn/avideo": "<=12.4", + "xataface/xataface": "<3", + "xpressengine/xpressengine": "<3.0.15", + "yeswiki/yeswiki": "<4.1", + "yetiforce/yetiforce-crm": "<=6.4", + "yidashi/yii2cmf": "<=2", + "yii2mod/yii2-cms": "<1.9.2", + "yiisoft/yii": "<1.1.29", + "yiisoft/yii2": "<2.0.38", + "yiisoft/yii2-bootstrap": "<2.0.4", + "yiisoft/yii2-dev": "<2.0.43", + "yiisoft/yii2-elasticsearch": "<2.0.5", + "yiisoft/yii2-gii": "<=2.2.4", + "yiisoft/yii2-jui": "<2.0.4", + "yiisoft/yii2-redis": "<2.0.8", + "yikesinc/yikes-inc-easy-mailchimp-extender": "<6.8.6", + "yoast-seo-for-typo3/yoast_seo": "<7.2.3", + "yourls/yourls": "<=1.8.2", + "zencart/zencart": "<=1.5.7.0-beta", + "zendesk/zendesk_api_client_php": "<2.2.11", + "zendframework/zend-cache": "<2.4.8|>=2.5,<2.5.3", + "zendframework/zend-captcha": ">=2,<2.4.9|>=2.5,<2.5.2", + "zendframework/zend-crypt": ">=2,<2.4.9|>=2.5,<2.5.2", + "zendframework/zend-db": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.10|>=2.3,<2.3.5", + "zendframework/zend-developer-tools": ">=1.2.2,<1.2.3", + "zendframework/zend-diactoros": "<1.8.4", + "zendframework/zend-feed": "<2.10.3", + "zendframework/zend-form": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-http": "<2.8.1", + "zendframework/zend-json": ">=2.1,<2.1.6|>=2.2,<2.2.6", + "zendframework/zend-ldap": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.8|>=2.3,<2.3.3", + "zendframework/zend-mail": ">=2,<2.4.11|>=2.5,<2.7.2", + "zendframework/zend-navigation": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-session": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.9|>=2.3,<2.3.4", + "zendframework/zend-validator": ">=2.3,<2.3.6", + "zendframework/zend-view": ">=2,<2.2.7|>=2.3,<2.3.1", + "zendframework/zend-xmlrpc": ">=2.1,<2.1.6|>=2.2,<2.2.6", + "zendframework/zendframework": "<=3", + "zendframework/zendframework1": "<1.12.20", + "zendframework/zendopenid": "<2.0.2", + "zendframework/zendrest": "<2.0.2", + "zendframework/zendservice-amazon": "<2.0.3", + "zendframework/zendservice-api": "<1", + "zendframework/zendservice-audioscrobbler": "<2.0.2", + "zendframework/zendservice-nirvanix": "<2.0.2", + "zendframework/zendservice-slideshare": "<2.0.2", + "zendframework/zendservice-technorati": "<2.0.2", + "zendframework/zendservice-windowsazure": "<2.0.2", + "zendframework/zendxml": "<1.0.1", + "zenstruck/collection": "<0.2.1", + "zetacomponents/mail": "<1.8.2", + "zf-commons/zfc-user": "<1.2.2", + "zfcampus/zf-apigility-doctrine": "<1.0.3", + "zfr/zfr-oauth2-server-module": "<0.1.2", + "zoujingli/thinkadmin": "<6.0.22" + }, + "type": "metapackage", + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "role": "maintainer" + }, + { + "name": "Ilya Tribusean", + "email": "slash3b@gmail.com", + "role": "maintainer" + } + ], + "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it", + "keywords": [ + "dev" + ], + "support": { + "issues": "https://github.com/Roave/SecurityAdvisories/issues", + "source": "https://github.com/Roave/SecurityAdvisories/tree/latest" + }, + "funding": [ + { + "url": "https://github.com/Ocramius", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/roave/security-advisories", + "type": "tidelift" + } + ], + "time": "2023-12-06T18:04:43+00:00" + } + ], + "aliases": [], + "minimum-stability": "dev", + "stability-flags": { + "roave/security-advisories": 20 }, - { - "name": "symfony/polyfill-intl-idn", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "ecaafce9f77234a6a449d29e49267ba10499116d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d", - "reference": "ecaafce9f77234a6a449d29e49267ba10499116d", - "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": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "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.28.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": "2023-01-26T09:30:37+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", - "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "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.28.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": "2023-01-26T09:26:14+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "42292d99c55abe617799667f454222c54c60e229" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", - "reference": "42292d99c55abe617799667f454222c54c60e229", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "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.28.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": "2023-07-28T09:04:16+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179", - "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "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.28.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": "2023-01-26T09:26:14+00:00" - }, - { - "name": "symfony/polyfill-php73", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/fe2f306d1d9d346a7fee353d0d5012e401e984b5", - "reference": "fe2f306d1d9d346a7fee353d0d5012e401e984b5", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "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.28.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": "2023-01-26T09:26:14+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", - "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "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.28.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": "2023-01-26T09:26:14+00:00" - }, - { - "name": "symfony/polyfill-php81", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/7581cd600fa9fd681b797d00b02f068e2f13263b", - "reference": "7581cd600fa9fd681b797d00b02f068e2f13263b", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "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.28.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": "2023-01-26T09:26:14+00:00" - }, - { - "name": "symfony/polyfill-php83", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php83.git", - "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", - "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "symfony/polyfill-php80": "^1.14" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.28-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php83\\": "" - }, - "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.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php83/tree/v1.28.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": "2023-08-16T06:22:46+00:00" - }, - { - "name": "symfony/process", - "version": "v6.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "191703b1566d97a5425dc969e4350d32b8ef17aa" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/191703b1566d97a5425dc969e4350d32b8ef17aa", - "reference": "191703b1566d97a5425dc969e4350d32b8ef17aa", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Process\\": "" - }, - "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": "Executes commands in sub-processes", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/process/tree/v6.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": "2023-11-17T21:06:49+00:00" - }, - { - "name": "symfony/routing", - "version": "v6.4.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "0c95c164fdba18b12523b75e64199ca3503e6d40" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/0c95c164fdba18b12523b75e64199ca3503e6d40", - "reference": "0c95c164fdba18b12523b75e64199ca3503e6d40", - "shasum": "" - }, - "require": { + "prefer-stable": true, + "prefer-lowest": false, + "platform": { "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3" - }, - "conflict": { - "doctrine/annotations": "<1.12", - "symfony/config": "<6.2", - "symfony/dependency-injection": "<5.4", - "symfony/yaml": "<5.4" - }, - "require-dev": { - "doctrine/annotations": "^1.12|^2", - "psr/log": "^1|^2|^3", - "symfony/config": "^6.2|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/expression-language": "^5.4|^6.0|^7.0", - "symfony/http-foundation": "^5.4|^6.0|^7.0", - "symfony/yaml": "^5.4|^6.0|^7.0" - }, - "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/v6.4.1" - }, - "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-12-01T14:54:37+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v3.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "b3313c2dbffaf71c8de2934e2ea56ed2291a3838" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/b3313c2dbffaf71c8de2934e2ea56ed2291a3838", - "reference": "b3313c2dbffaf71c8de2934e2ea56ed2291a3838", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "psr/container": "^2.0" - }, - "conflict": { - "ext-psr": "<1.1|>=2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] - }, - "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/v3.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": "2023-07-30T20:28:31+00:00" - }, - { - "name": "symfony/string", - "version": "v7.0.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "92bd2bfbba476d4a1838e5e12168bef2fd1e6620" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/92bd2bfbba476d4a1838e5e12168bef2fd1e6620", - "reference": "92bd2bfbba476d4a1838e5e12168bef2fd1e6620", - "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" - }, - "conflict": { - "symfony/translation-contracts": "<2.5" - }, - "require-dev": { - "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" - }, - "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/v7.0.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": "2023-11-29T08:40:23+00:00" - }, - { - "name": "symfony/translation", - "version": "v6.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "b1035dbc2a344b21f8fa8ac451c7ecec4ea45f37" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/b1035dbc2a344b21f8fa8ac451c7ecec4ea45f37", - "reference": "b1035dbc2a344b21f8fa8ac451c7ecec4ea45f37", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "symfony/deprecation-contracts": "^2.5|^3", - "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^2.5|^3.0" - }, - "conflict": { - "symfony/config": "<5.4", - "symfony/console": "<5.4", - "symfony/dependency-injection": "<5.4", - "symfony/http-client-contracts": "<2.5", - "symfony/http-kernel": "<5.4", - "symfony/service-contracts": "<2.5", - "symfony/twig-bundle": "<5.4", - "symfony/yaml": "<5.4" - }, - "provide": { - "symfony/translation-implementation": "2.3|3.0" - }, - "require-dev": { - "nikic/php-parser": "^4.13", - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0|^7.0", - "symfony/console": "^5.4|^6.0|^7.0", - "symfony/dependency-injection": "^5.4|^6.0|^7.0", - "symfony/finder": "^5.4|^6.0|^7.0", - "symfony/http-client-contracts": "^2.5|^3.0", - "symfony/http-kernel": "^5.4|^6.0|^7.0", - "symfony/intl": "^5.4|^6.0|^7.0", - "symfony/polyfill-intl-icu": "^1.21", - "symfony/routing": "^5.4|^6.0|^7.0", - "symfony/service-contracts": "^2.5|^3", - "symfony/yaml": "^5.4|^6.0|^7.0" - }, - "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/v6.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": "2023-11-29T08:14:36+00:00" - }, - { - "name": "symfony/translation-contracts", - "version": "v3.4.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "dee0c6e5b4c07ce851b462530088e64b255ac9c5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/dee0c6e5b4c07ce851b462530088e64b255ac9c5", - "reference": "dee0c6e5b4c07ce851b462530088e64b255ac9c5", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.4-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Translation\\": "" - }, - "exclude-from-classmap": [ - "/Test/" - ] - }, - "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/v3.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": "2023-07-25T15:08:44+00:00" - }, - { - "name": "symfony/var-dumper", - "version": "v7.0.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "cf0220fc7607476fd0d001ab3ed9e830d1fdda56" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/cf0220fc7607476fd0d001ab3ed9e830d1fdda56", - "reference": "cf0220fc7607476fd0d001ab3ed9e830d1fdda56", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "symfony/console": "<6.4" - }, - "require-dev": { + "ext-dom": "*", "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" - }, - "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/v7.0.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": "2023-11-27T12:39:18+00:00" - }, - { - "name": "tracy/tracy", - "version": "v2.10.5", - "source": { - "type": "git", - "url": "https://github.com/nette/tracy.git", - "reference": "86bdba4aa0f707d3f125933931d3df6e5c7aad79" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/tracy/zipball/86bdba4aa0f707d3f125933931d3df6e5c7aad79", - "reference": "86bdba4aa0f707d3f125933931d3df6e5c7aad79", - "shasum": "" - }, - "require": { "ext-json": "*", - "ext-session": "*", - "php": ">=8.0 <8.4" - }, - "conflict": { - "nette/di": "<3.0" - }, - "require-dev": { - "latte/latte": "^2.5", - "nette/di": "^3.0", - "nette/http": "^3.0", - "nette/mail": "^3.0", - "nette/tester": "^2.2", - "nette/utils": "^3.0", - "phpstan/phpstan": "^1.0", - "psr/log": "^1.0 || ^2.0 || ^3.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.10-dev" - } - }, - "autoload": { - "files": [ - "src/Tracy/functions.php" - ], - "classmap": [ - "src" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" - }, - { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" - } - ], - "description": "😎 Tracy: the addictive tool to ease debugging PHP code for cool developers. Friendly design, logging, profiler, advanced features like debugging AJAX calls or CLI support. You will love it.", - "homepage": "https://tracy.nette.org", - "keywords": [ - "Xdebug", - "debug", - "debugger", - "nette", - "profiler" - ], - "support": { - "issues": "https://github.com/nette/tracy/issues", - "source": "https://github.com/nette/tracy/tree/v2.10.5" - }, - "time": "2023-10-16T21:54:18+00:00" - }, - { - "name": "vlucas/phpdotenv", - "version": "v5.6.0", - "source": { - "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", - "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", - "shasum": "" - }, - "require": { - "ext-pcre": "*", - "graham-campbell/result-type": "^1.1.2", - "php": "^7.2.5 || ^8.0", - "phpoption/phpoption": "^1.9.2", - "symfony/polyfill-ctype": "^1.24", - "symfony/polyfill-mbstring": "^1.24", - "symfony/polyfill-php80": "^1.24" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "ext-filter": "*", - "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" - }, - "suggest": { - "ext-filter": "Required to use the boolean validator." - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": true, - "forward-command": true - }, - "branch-alias": { - "dev-master": "5.6-dev" - } - }, - "autoload": { - "psr-4": { - "Dotenv\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Vance Lucas", - "email": "vance@vancelucas.com", - "homepage": "https://github.com/vlucas" - } - ], - "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "keywords": [ - "dotenv", - "env", - "environment" - ], - "support": { - "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.0" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", - "type": "tidelift" - } - ], - "time": "2023-11-12T22:43:29+00:00" - }, - { - "name": "voku/portable-ascii", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/voku/portable-ascii.git", - "reference": "b56450eed252f6801410d810c8e1727224ae0743" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", - "reference": "b56450eed252f6801410d810c8e1727224ae0743", - "shasum": "" - }, - "require": { - "php": ">=7.0.0" - }, - "require-dev": { - "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" - }, - "suggest": { - "ext-intl": "Use Intl for transliterator_transliterate() support" - }, - "type": "library", - "autoload": { - "psr-4": { - "voku\\": "src/voku/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" - } - ], - "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", - "homepage": "https://github.com/voku/portable-ascii", - "keywords": [ - "ascii", - "clean", - "php" - ], - "support": { - "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.1" - }, - "funding": [ - { - "url": "https://www.paypal.me/moelleken", - "type": "custom" - }, - { - "url": "https://github.com/voku", - "type": "github" - }, - { - "url": "https://opencollective.com/portable-ascii", - "type": "open_collective" - }, - { - "url": "https://www.patreon.com/voku", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", - "type": "tidelift" - } - ], - "time": "2022-03-08T17:03:00+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" + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-simplexml": "*", + "lib-iconv": "*", + "lib-libxml": "*" }, - { - "name": "wikimedia/composer-merge-plugin", - "version": "v2.1.0", - "source": { - "type": "git", - "url": "https://github.com/wikimedia/composer-merge-plugin.git", - "reference": "a03d426c8e9fb2c9c569d9deeb31a083292788bc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wikimedia/composer-merge-plugin/zipball/a03d426c8e9fb2c9c569d9deeb31a083292788bc", - "reference": "a03d426c8e9fb2c9c569d9deeb31a083292788bc", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^1.1||^2.0", - "php": ">=7.2.0" - }, - "require-dev": { - "composer/composer": "^1.1||^2.0", - "ext-json": "*", - "mediawiki/mediawiki-phan-config": "0.11.1", - "php-parallel-lint/php-parallel-lint": "~1.3.1", - "phpspec/prophecy": "~1.15.0", - "phpunit/phpunit": "^8.5||^9.0", - "squizlabs/php_codesniffer": "~3.7.1" - }, - "type": "composer-plugin", - "extra": { - "branch-alias": { - "dev-master": "2.x-dev" - }, - "class": "Wikimedia\\Composer\\Merge\\V2\\MergePlugin" - }, - "autoload": { - "psr-4": { - "Wikimedia\\Composer\\Merge\\V2\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bryan Davis", - "email": "bd808@wikimedia.org" - } - ], - "description": "Composer plugin to merge multiple composer.json files", - "support": { - "issues": "https://github.com/wikimedia/composer-merge-plugin/issues", - "source": "https://github.com/wikimedia/composer-merge-plugin/tree/v2.1.0" - }, - "time": "2023-04-15T19:07:00+00:00" - } - ], - "packages-dev": [ - { - "name": "roave/security-advisories", - "version": "dev-master", - "source": { - "type": "git", - "url": "https://github.com/Roave/SecurityAdvisories.git", - "reference": "498a07ca22004364fc54bc909b77de792a10c127" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Roave/SecurityAdvisories/zipball/498a07ca22004364fc54bc909b77de792a10c127", - "reference": "498a07ca22004364fc54bc909b77de792a10c127", - "shasum": "" - }, - "conflict": { - "3f/pygmentize": "<1.2", - "admidio/admidio": "<4.2.13", - "adodb/adodb-php": "<=5.20.20|>=5.21,<=5.21.3", - "aheinze/cockpit": "<2.2", - "aimeos/aimeos-typo3": "<19.10.12|>=20,<20.10.5", - "airesvsg/acf-to-rest-api": "<=3.1", - "akaunting/akaunting": "<2.1.13", - "akeneo/pim-community-dev": "<5.0.119|>=6,<6.0.53", - "alextselegidis/easyappointments": "<1.5", - "alterphp/easyadmin-extension-bundle": ">=1.2,<1.2.11|>=1.3,<1.3.1", - "amazing/media2click": ">=1,<1.3.3", - "amphp/artax": "<1.0.6|>=2,<2.0.6", - "amphp/http": "<1.0.1", - "amphp/http-client": ">=4,<4.4", - "anchorcms/anchor-cms": "<=0.12.7", - "andreapollastri/cipi": "<=3.1.15", - "andrewhaine/silverstripe-form-capture": ">=0.2,<=0.2.3|>=1,<1.0.2|>=2,<2.2.5", - "apache-solr-for-typo3/solr": "<2.8.3", - "apereo/phpcas": "<1.6", - "api-platform/core": ">=2.2,<2.2.10|>=2.3,<2.3.6|>=2.6,<2.7.10|>=3,<3.0.12|>=3.1,<3.1.3", - "appwrite/server-ce": "<=1.2.1", - "arc/web": "<3", - "area17/twill": "<1.2.5|>=2,<2.5.3", - "artesaos/seotools": "<0.17.2", - "asymmetricrypt/asymmetricrypt": "<9.9.99", - "athlon1600/php-proxy": "<=5.1", - "athlon1600/php-proxy-app": "<=3", - "austintoddj/canvas": "<=3.4.2", - "automad/automad": "<1.8", - "awesome-support/awesome-support": "<=6.0.7", - "aws/aws-sdk-php": ">=3,<3.2.1", - "azuracast/azuracast": "<0.18.3", - "backdrop/backdrop": "<1.24.2", - "backpack/crud": "<3.4.9", - "bacula-web/bacula-web": "<8.0.0.0-RC2-dev", - "badaso/core": "<2.7", - "bagisto/bagisto": "<0.1.5", - "barrelstrength/sprout-base-email": "<1.2.7", - "barrelstrength/sprout-forms": "<3.9", - "barryvdh/laravel-translation-manager": "<0.6.2", - "barzahlen/barzahlen-php": "<2.0.1", - "baserproject/basercms": "<4.8", - "bassjobsen/bootstrap-3-typeahead": ">4.0.2", - "bigfork/silverstripe-form-capture": ">=3,<3.1.1", - "billz/raspap-webgui": "<2.9.5", - "bk2k/bootstrap-package": ">=7.1,<7.1.2|>=8,<8.0.8|>=9,<9.0.4|>=9.1,<9.1.3|>=10,<10.0.10|>=11,<11.0.3", - "bmarshall511/wordpress_zero_spam": "<5.2.13", - "bolt/bolt": "<3.7.2", - "bolt/core": "<=4.2", - "bottelet/flarepoint": "<2.2.1", - "brightlocal/phpwhois": "<=4.2.5", - "brotkrueml/codehighlight": "<2.7", - "brotkrueml/schema": "<1.13.1|>=2,<2.5.1", - "brotkrueml/typo3-matomo-integration": "<1.3.2", - "buddypress/buddypress": "<7.2.1", - "bugsnag/bugsnag-laravel": "<2.0.2", - "bytefury/crater": "<6.0.2", - "cachethq/cachet": "<2.5.1", - "cakephp/cakephp": "<3.10.3|>=4,<4.0.10|>=4.1,<4.1.4|>=4.2,<4.2.12|>=4.3,<4.3.11|>=4.4,<4.4.10", - "cakephp/database": ">=4.2,<4.2.12|>=4.3,<4.3.11|>=4.4,<4.4.10", - "cardgate/magento2": "<2.0.33", - "cardgate/woocommerce": "<=3.1.15", - "cart2quote/module-quotation": ">=4.1.6,<=4.4.5|>=5,<5.4.4", - "cartalyst/sentry": "<=2.1.6", - "catfan/medoo": "<1.7.5", - "cecil/cecil": "<7.47.1", - "centreon/centreon": "<22.10.0.0-beta1", - "cesnet/simplesamlphp-module-proxystatistics": "<3.1", - "chriskacerguis/codeigniter-restserver": "<=2.7.1", - "civicrm/civicrm-core": ">=4.2,<4.2.9|>=4.3,<4.3.3", - "cockpit-hq/cockpit": "<=2.6.3", - "codeception/codeception": "<3.1.3|>=4,<4.1.22", - "codeigniter/framework": "<3.1.9", - "codeigniter4/framework": "<=4.4.2", - "codeigniter4/shield": "<1.0.0.0-beta8", - "codiad/codiad": "<=2.8.4", - "composer/composer": "<1.10.27|>=2,<2.2.22|>=2.3,<2.6.4", - "concrete5/concrete5": "<9.2.2", - "concrete5/core": "<8.5.8|>=9,<9.1", - "contao-components/mediaelement": ">=2.14.2,<2.21.1", - "contao/contao": ">=4,<4.4.56|>=4.5,<4.9.40|>=4.10,<4.11.7|>=4.13,<4.13.21|>=5.1,<5.1.4", - "contao/core": ">=2,<3.5.39", - "contao/core-bundle": "<4.9.42|>=4.10,<4.13.28|>=5,<5.1.10", - "contao/listing-bundle": ">=4,<4.4.8", - "contao/managed-edition": "<=1.5", - "cosenary/instagram": "<=2.3", - "craftcms/cms": "<=4.4.14", - "croogo/croogo": "<4", - "cuyz/valinor": "<0.12", - "czproject/git-php": "<4.0.3", - "darylldoyle/safe-svg": "<1.9.10", - "datadog/dd-trace": ">=0.30,<0.30.2", - "datatables/datatables": "<1.10.10", - "david-garcia/phpwhois": "<=4.3.1", - "dbrisinajumi/d2files": "<1", - "dcat/laravel-admin": "<=2.1.3.0-beta", - "derhansen/fe_change_pwd": "<2.0.5|>=3,<3.0.3", - "derhansen/sf_event_mgt": "<4.3.1|>=5,<5.1.1", - "desperado/xml-bundle": "<=0.1.7", - "directmailteam/direct-mail": "<5.2.4", - "doctrine/annotations": "<1.2.7", - "doctrine/cache": "<1.3.2|>=1.4,<1.4.2", - "doctrine/common": "<2.4.3|>=2.5,<2.5.1", - "doctrine/dbal": ">=2,<2.0.8|>=2.1,<2.1.2|>=3,<3.1.4", - "doctrine/doctrine-bundle": "<1.5.2", - "doctrine/doctrine-module": "<=0.7.1", - "doctrine/mongodb-odm": "<1.0.2", - "doctrine/mongodb-odm-bundle": "<3.0.1", - "doctrine/orm": ">=2,<2.4.8|>=2.5,<2.5.1|>=2.8.3,<2.8.4", - "dolibarr/dolibarr": "<18.0.2", - "dompdf/dompdf": "<2.0.2|==2.0.2", - "doublethreedigital/guest-entries": "<3.1.2", - "drupal/core": "<9.4.14|>=9.5,<9.5.8|>=10,<10.0.8", - "drupal/drupal": ">=6,<6.38|>=7,<7.80|>=8,<8.9.16|>=9,<9.1.12|>=9.2,<9.2.4", - "duncanmcclean/guest-entries": "<3.1.2", - "dweeves/magmi": "<=0.7.24", - "ecodev/newsletter": "<=4", - "ectouch/ectouch": "<=2.7.2", - "elefant/cms": "<2.0.7", - "elgg/elgg": "<3.3.24|>=4,<4.0.5", - "elijaa/phpmemcacheadmin": "<=1.3", - "encore/laravel-admin": "<=1.8.19", - "endroid/qr-code-bundle": "<3.4.2", - "enshrined/svg-sanitize": "<0.15", - "erusev/parsedown": "<1.7.2", - "ether/logs": "<3.0.4", - "evolutioncms/evolution": "<=3.2.3", - "exceedone/exment": "<4.4.3|>=5,<5.0.3", - "exceedone/laravel-admin": "<2.2.3|==3", - "ezsystems/demobundle": ">=5.4,<5.4.6.1-dev", - "ezsystems/ez-support-tools": ">=2.2,<2.2.3", - "ezsystems/ezdemo-ls-extension": ">=5.4,<5.4.2.1-dev", - "ezsystems/ezfind-ls": ">=5.3,<5.3.6.1-dev|>=5.4,<5.4.11.1-dev|>=2017.12,<2017.12.0.1-dev", - "ezsystems/ezplatform": "<=1.13.6|>=2,<=2.5.24", - "ezsystems/ezplatform-admin-ui": ">=1.3,<1.3.5|>=1.4,<1.4.6|>=1.5,<1.5.29|>=2.3,<2.3.26", - "ezsystems/ezplatform-admin-ui-assets": ">=4,<4.2.1|>=5,<5.0.1|>=5.1,<5.1.1", - "ezsystems/ezplatform-graphql": ">=1.0.0.0-RC1-dev,<1.0.13|>=2.0.0.0-beta1,<2.3.12", - "ezsystems/ezplatform-kernel": "<1.2.5.1-dev|>=1.3,<1.3.34", - "ezsystems/ezplatform-rest": ">=1.2,<=1.2.2|>=1.3,<1.3.8", - "ezsystems/ezplatform-richtext": ">=2.3,<2.3.7.1-dev", - "ezsystems/ezplatform-solr-search-engine": ">=1.7,<1.7.12|>=2,<2.0.2|>=3.3,<3.3.15", - "ezsystems/ezplatform-user": ">=1,<1.0.1", - "ezsystems/ezpublish-kernel": "<6.13.8.2-dev|>=7,<7.5.31", - "ezsystems/ezpublish-legacy": "<=2017.12.7.3|>=2018.6,<=2019.03.5.1", - "ezsystems/platform-ui-assets-bundle": ">=4.2,<4.2.3", - "ezsystems/repository-forms": ">=2.3,<2.3.2.1-dev|>=2.5,<2.5.15", - "ezyang/htmlpurifier": "<4.1.1", - "facade/ignition": "<1.16.15|>=2,<2.4.2|>=2.5,<2.5.2", - "facturascripts/facturascripts": "<=2022.08", - "feehi/cms": "<=2.1.1", - "feehi/feehicms": "<=2.1.1", - "fenom/fenom": "<=2.12.1", - "filegator/filegator": "<7.8", - "firebase/php-jwt": "<6", - "fixpunkt/fp-masterquiz": "<2.2.1|>=3,<3.5.2", - "fixpunkt/fp-newsletter": "<1.1.1|>=2,<2.1.2|>=2.2,<3.2.6", - "flarum/core": "<1.8", - "flarum/framework": "<1.8", - "flarum/mentions": "<1.6.3", - "flarum/sticky": ">=0.1.0.0-beta14,<=0.1.0.0-beta15", - "flarum/tags": "<=0.1.0.0-beta13", - "floriangaerber/magnesium": "<0.3.1", - "fluidtypo3/vhs": "<5.1.1", - "fof/byobu": ">=0.3.0.0-beta2,<1.1.7", - "fof/upload": "<1.2.3", - "foodcoopshop/foodcoopshop": ">=3.2,<3.6.1", - "fooman/tcpdf": "<6.2.22", - "forkcms/forkcms": "<5.11.1", - "fossar/tcpdf-parser": "<6.2.22", - "francoisjacquet/rosariosis": "<11", - "frappant/frp-form-answers": "<3.1.2|>=4,<4.0.2", - "friendsofsymfony/oauth2-php": "<1.3", - "friendsofsymfony/rest-bundle": ">=1.2,<1.2.2", - "friendsofsymfony/user-bundle": ">=1.2,<1.3.5", - "friendsoftypo3/mediace": ">=7.6.2,<7.6.5", - "friendsoftypo3/openid": ">=4.5,<4.5.31|>=4.7,<4.7.16|>=6,<6.0.11|>=6.1,<6.1.6", - "froala/wysiwyg-editor": "<3.2.7|>=4.0.1,<=4.1.1", - "froxlor/froxlor": "<2.1.0.0-beta1", - "fuel/core": "<1.8.1", - "funadmin/funadmin": "<=3.2|>=3.3.2,<=3.3.3", - "gaoming13/wechat-php-sdk": "<=1.10.2", - "genix/cms": "<=1.1.11", - "getgrav/grav": "<=1.7.42.1", - "getkirby/cms": "<3.5.8.3-dev|>=3.6,<3.6.6.3-dev|>=3.7,<3.7.5.2-dev|>=3.8,<3.8.4.1-dev|>=3.9,<3.9.6", - "getkirby/kirby": "<=2.5.12", - "getkirby/panel": "<2.5.14", - "getkirby/starterkit": "<=3.7.0.2", - "gilacms/gila": "<=1.11.4", - "gleez/cms": "<=1.2|==2", - "globalpayments/php-sdk": "<2", - "gogentooss/samlbase": "<1.2.7", - "google/protobuf": "<3.15", - "gos/web-socket-bundle": "<1.10.4|>=2,<2.6.1|>=3,<3.3", - "gree/jose": "<2.2.1", - "gregwar/rst": "<1.0.3", - "grumpydictator/firefly-iii": "<6", - "gugoan/economizzer": "<=0.9.0.0-beta1", - "guzzlehttp/guzzle": "<6.5.8|>=7,<7.4.5", - "guzzlehttp/psr7": "<1.9.1|>=2,<2.4.5", - "haffner/jh_captcha": "<=2.1.3|>=3,<=3.0.2", - "harvesthq/chosen": "<1.8.7", - "helloxz/imgurl": "<=2.31", - "hhxsv5/laravel-s": "<3.7.36", - "hillelcoren/invoice-ninja": "<5.3.35", - "himiklab/yii2-jqgrid-widget": "<1.0.8", - "hjue/justwriting": "<=1", - "hov/jobfair": "<1.0.13|>=2,<2.0.2", - "httpsoft/http-message": "<1.0.12", - "hyn/multi-tenant": ">=5.6,<5.7.2", - "ibexa/admin-ui": ">=4.2,<4.2.3", - "ibexa/core": ">=4,<4.0.7|>=4.1,<4.1.4|>=4.2,<4.2.3|>=4.5,<4.5.4", - "ibexa/graphql": ">=2.5,<2.5.31|>=3.3,<3.3.28|>=4.2,<4.2.3", - "ibexa/post-install": "<=1.0.4", - "ibexa/solr": ">=4.5,<4.5.4", - "ibexa/user": ">=4,<4.4.3", - "icecoder/icecoder": "<=8.1", - "idno/known": "<=1.3.1", - "illuminate/auth": ">=4,<4.0.99|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.10", - "illuminate/cookie": ">=4,<=4.0.11|>=4.1,<=4.1.99999|>=4.2,<=4.2.99999|>=5,<=5.0.99999|>=5.1,<=5.1.99999|>=5.2,<=5.2.99999|>=5.3,<=5.3.99999|>=5.4,<=5.4.99999|>=5.5,<=5.5.49|>=5.6,<=5.6.99999|>=5.7,<=5.7.99999|>=5.8,<=5.8.99999|>=6,<6.18.31|>=7,<7.22.4", - "illuminate/database": "<6.20.26|>=7,<7.30.5|>=8,<8.40", - "illuminate/encryption": ">=4,<=4.0.11|>=4.1,<=4.1.31|>=4.2,<=4.2.22|>=5,<=5.0.35|>=5.1,<=5.1.46|>=5.2,<=5.2.45|>=5.3,<=5.3.31|>=5.4,<=5.4.36|>=5.5,<5.5.40|>=5.6,<5.6.15", - "illuminate/view": "<6.20.42|>=7,<7.30.6|>=8,<8.75", - "impresscms/impresscms": "<=1.4.5", - "in2code/femanager": "<5.5.3|>=6,<6.3.4|>=7,<7.2.2", - "in2code/ipandlanguageredirect": "<5.1.2", - "in2code/lux": "<17.6.1|>=18,<24.0.2", - "innologi/typo3-appointments": "<2.0.6", - "intelliants/subrion": "<4.2.2", - "islandora/islandora": ">=2,<2.4.1", - "ivankristianto/phpwhois": "<=4.3", - "jackalope/jackalope-doctrine-dbal": "<1.7.4", - "james-heinrich/getid3": "<1.9.21", - "james-heinrich/phpthumb": "<1.7.12", - "jasig/phpcas": "<1.3.3", - "jcbrand/converse.js": "<3.3.3", - "joomla/application": "<1.0.13", - "joomla/archive": "<1.1.12|>=2,<2.0.1", - "joomla/filesystem": "<1.6.2|>=2,<2.0.1", - "joomla/filter": "<1.4.4|>=2,<2.0.1", - "joomla/framework": ">=2.5.4,<=3.8.12", - "joomla/input": ">=2,<2.0.2", - "joomla/joomla-cms": ">=2.5,<3.9.12", - "joomla/session": "<1.3.1", - "joyqi/hyper-down": "<=2.4.27", - "jsdecena/laracom": "<2.0.9", - "jsmitty12/phpwhois": "<5.1", - "kazist/phpwhois": "<=4.2.6", - "kelvinmo/simplexrd": "<3.1.1", - "kevinpapst/kimai2": "<1.16.7", - "khodakhah/nodcms": "<=3", - "kimai/kimai": "<=2.1", - "kitodo/presentation": "<3.2.3|>=3.3,<3.3.4", - "klaviyo/magento2-extension": ">=1,<3", - "knplabs/knp-snappy": "<=1.4.2", - "kohana/core": "<3.3.3", - "krayin/laravel-crm": "<1.2.2", - "kreait/firebase-php": ">=3.2,<3.8.1", - "la-haute-societe/tcpdf": "<6.2.22", - "laminas/laminas-diactoros": "<2.18.1|==2.19|==2.20|==2.21|==2.22|==2.23|>=2.24,<2.24.2|>=2.25,<2.25.2", - "laminas/laminas-form": "<2.17.1|>=3,<3.0.2|>=3.1,<3.1.1", - "laminas/laminas-http": "<2.14.2", - "laravel/fortify": "<1.11.1", - "laravel/framework": "<6.20.44|>=7,<7.30.6|>=8,<8.75", - "laravel/socialite": ">=1,<1.0.99|>=2,<2.0.10", - "latte/latte": "<2.10.8", - "lavalite/cms": "<=9", - "lcobucci/jwt": ">=3.4,<3.4.6|>=4,<4.0.4|>=4.1,<4.1.5", - "league/commonmark": "<0.18.3", - "league/flysystem": "<1.1.4|>=2,<2.1.1", - "league/oauth2-server": ">=8.3.2,<8.4.2|>=8.5,<8.5.3", - "lexik/jwt-authentication-bundle": "<2.10.7|>=2.11,<2.11.3", - "librenms/librenms": "<2017.08.18", - "liftkit/database": "<2.13.2", - "limesurvey/limesurvey": "<3.27.19", - "livehelperchat/livehelperchat": "<=3.91", - "livewire/livewire": ">2.2.4,<2.2.6", - "lms/routes": "<2.1.1", - "localizationteam/l10nmgr": "<7.4|>=8,<8.7|>=9,<9.2", - "luyadev/yii-helpers": "<1.2.1", - "magento/community-edition": "<=2.4", - "magento/magento1ce": "<1.9.4.3-dev", - "magento/magento1ee": ">=1,<1.14.4.3-dev", - "magento/product-community-edition": ">=2,<2.2.10|>=2.3,<2.3.2.0-patch2", - "maikuolan/phpmussel": ">=1,<1.6", - "mantisbt/mantisbt": "<=2.25.7", - "marcwillmann/turn": "<0.3.3", - "matyhtf/framework": "<3.0.6", - "mautic/core": "<4.3", - "mediawiki/core": ">=1.27,<1.27.6|>=1.29,<1.29.3|>=1.30,<1.30.2|>=1.31,<1.31.9|>=1.32,<1.32.6|>=1.32.99,<1.33.3|>=1.33.99,<1.34.3|>=1.34.99,<1.35", - "mediawiki/matomo": "<2.4.3", - "melisplatform/melis-asset-manager": "<5.0.1", - "melisplatform/melis-cms": "<5.0.1", - "melisplatform/melis-front": "<5.0.1", - "mezzio/mezzio-swoole": "<3.7|>=4,<4.3", - "mgallegos/laravel-jqgrid": "<=1.3", - "microsoft/microsoft-graph": ">=1.16,<1.109.1|>=2.0.0.0-RC1-dev,<2.0.1", - "microsoft/microsoft-graph-beta": "<2.0.1", - "microsoft/microsoft-graph-core": "<2.0.2", - "microweber/microweber": "<=2.0.4", - "miniorange/miniorange-saml": "<1.4.3", - "mittwald/typo3_forum": "<1.2.1", - "mobiledetect/mobiledetectlib": "<2.8.32", - "modx/revolution": "<=2.8.3.0-patch", - "mojo42/jirafeau": "<4.4", - "mongodb/mongodb": ">=1,<1.9.2", - "monolog/monolog": ">=1.8,<1.12", - "moodle/moodle": "<4.3.0.0-RC2-dev", - "mos/cimage": "<0.7.19", - "movim/moxl": ">=0.8,<=0.10", - "mpdf/mpdf": "<=7.1.7", - "munkireport/comment": "<4.1", - "munkireport/managedinstalls": "<2.6", - "munkireport/munkireport": ">=2.5.3,<5.6.3", - "mustache/mustache": ">=2,<2.14.1", - "namshi/jose": "<2.2", - "neoan3-apps/template": "<1.1.1", - "neorazorx/facturascripts": "<2022.04", - "neos/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", - "neos/form": ">=1.2,<4.3.3|>=5,<5.0.9|>=5.1,<5.1.3", - "neos/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.9.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<5.3.10|>=7,<7.0.9|>=7.1,<7.1.7|>=7.2,<7.2.6|>=7.3,<7.3.4|>=8,<8.0.2", - "neos/neos-ui": "<=8.3.3", - "neos/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", - "netgen/tagsbundle": ">=3.4,<3.4.11|>=4,<4.0.15", - "nette/application": ">=2,<2.0.19|>=2.1,<2.1.13|>=2.2,<2.2.10|>=2.3,<2.3.14|>=2.4,<2.4.16|>=3,<3.0.6", - "nette/nette": ">=2,<2.0.19|>=2.1,<2.1.13", - "nilsteampassnet/teampass": "<3.0.10", - "nonfiction/nterchange": "<4.1.1", - "notrinos/notrinos-erp": "<=0.7", - "noumo/easyii": "<=0.9", - "nukeviet/nukeviet": "<4.5.02", - "nyholm/psr7": "<1.6.1", - "nystudio107/craft-seomatic": "<3.4.12", - "nzo/url-encryptor-bundle": ">=4,<4.3.2|>=5,<5.0.1", - "october/backend": "<1.1.2", - "october/cms": "<1.0.469|==1.0.469|==1.0.471|==1.1.1", - "october/october": "<=3.4.4", - "october/rain": "<1.0.472|>=1.1,<1.1.2", - "october/system": "<1.0.476|>=1.1,<1.1.12|>=2,<2.2.34|>=3,<3.5.2", - "omeka/omeka-s": "<4.0.3", - "onelogin/php-saml": "<2.10.4", - "oneup/uploader-bundle": "<1.9.3|>=2,<2.1.5", - "open-web-analytics/open-web-analytics": "<1.7.4", - "opencart/opencart": "<=3.0.3.7|>=4,<4.0.2.3-dev", - "openid/php-openid": "<2.3", - "openmage/magento-lts": "<=19.5|>=20,<=20.1", - "opensource-workshop/connect-cms": "<1.7.2|>=2,<2.3.2", - "orchid/platform": ">=9,<9.4.4|>=14.0.0.0-alpha4,<14.5", - "oro/calendar-bundle": ">=4.2,<=4.2.6|>=5,<=5.0.6|>=5.1,<5.1.1", - "oro/commerce": ">=4.1,<5.0.11|>=5.1,<5.1.1", - "oro/crm": ">=1.7,<1.7.4|>=3.1,<4.1.17|>=4.2,<4.2.7", - "oro/crm-call-bundle": ">=4.2,<=4.2.5|>=5,<5.0.4|>=5.1,<5.1.1", - "oro/customer-portal": ">=4.2,<=4.2.8|>=5,<5.0.11|>=5.1,<5.1.1", - "oro/platform": ">=1.7,<1.7.4|>=3.1,<3.1.29|>=4.1,<4.1.17|>=4.2,<=4.2.10|>=5,<5.0.8", - "oxid-esales/oxideshop-ce": "<4.5", - "packbackbooks/lti-1-3-php-library": "<5", - "padraic/humbug_get_contents": "<1.1.2", - "pagarme/pagarme-php": "<3", - "pagekit/pagekit": "<=1.0.18", - "paragonie/random_compat": "<2", - "passbolt/passbolt_api": "<2.11", - "paypal/merchant-sdk-php": "<3.12", - "pear/archive_tar": "<1.4.14", - "pear/crypt_gpg": "<1.6.7", - "pear/pear": "<=1.10.1", - "pegasus/google-for-jobs": "<1.5.1|>=2,<2.1.1", - "personnummer/personnummer": "<3.0.2", - "phanan/koel": "<5.1.4", - "php-mod/curl": "<2.3.2", - "phpbb/phpbb": "<3.2.10|>=3.3,<3.3.1", - "phpfastcache/phpfastcache": "<6.1.5|>=7,<7.1.2|>=8,<8.0.7", - "phpmailer/phpmailer": "<6.5", - "phpmussel/phpmussel": ">=1,<1.6", - "phpmyadmin/phpmyadmin": "<5.2.1", - "phpmyfaq/phpmyfaq": "<=3.1.7", - "phpoffice/phpexcel": "<1.8", - "phpoffice/phpspreadsheet": "<1.16", - "phpseclib/phpseclib": "<2.0.31|>=3,<3.0.34", - "phpservermon/phpservermon": "<3.6", - "phpsysinfo/phpsysinfo": "<3.2.5", - "phpunit/phpunit": ">=4.8.19,<4.8.28|>=5,<5.6.3", - "phpwhois/phpwhois": "<=4.2.5", - "phpxmlrpc/extras": "<0.6.1", - "phpxmlrpc/phpxmlrpc": "<4.9.2", - "pi/pi": "<=2.5", - "pimcore/admin-ui-classic-bundle": "<1.2.2", - "pimcore/customer-management-framework-bundle": "<3.4.2", - "pimcore/data-hub": "<1.2.4", - "pimcore/demo": "<10.3", - "pimcore/perspective-editor": "<1.5.1", - "pimcore/pimcore": "<11.1.1", - "pixelfed/pixelfed": "<=0.11.4", - "pocketmine/bedrock-protocol": "<8.0.2", - "pocketmine/pocketmine-mp": "<=4.23|>=5,<5.3.1", - "pocketmine/raklib": ">=0.14,<0.14.6|>=0.15,<0.15.1", - "pressbooks/pressbooks": "<5.18", - "prestashop/autoupgrade": ">=4,<4.10.1", - "prestashop/blockreassurance": "<=5.1.3", - "prestashop/blockwishlist": ">=2,<2.1.1", - "prestashop/contactform": ">=1.0.1,<4.3", - "prestashop/gamification": "<2.3.2", - "prestashop/prestashop": "<8.1.2", - "prestashop/productcomments": "<5.0.2", - "prestashop/ps_emailsubscription": "<2.6.1", - "prestashop/ps_facetedsearch": "<3.4.1", - "prestashop/ps_linklist": "<3.1", - "privatebin/privatebin": "<1.4", - "processwire/processwire": "<=3.0.200", - "propel/propel": ">=2.0.0.0-alpha1,<=2.0.0.0-alpha7", - "propel/propel1": ">=1,<=1.7.1", - "pterodactyl/panel": "<1.7", - "ptheofan/yii2-statemachine": ">=2.0.0.0-RC1-dev,<=2", - "ptrofimov/beanstalk_console": "<1.7.14", - "pubnub/pubnub": "<6.1", - "pusher/pusher-php-server": "<2.2.1", - "pwweb/laravel-core": "<=0.3.6.0-beta", - "pyrocms/pyrocms": "<=3.9.1", - "rainlab/blog-plugin": "<1.4.1", - "rainlab/debugbar-plugin": "<3.1", - "rainlab/user-plugin": "<=1.4.5", - "rankmath/seo-by-rank-math": "<=1.0.95", - "rap2hpoutre/laravel-log-viewer": "<0.13", - "react/http": ">=0.7,<1.9", - "really-simple-plugins/complianz-gdpr": "<6.4.2", - "remdex/livehelperchat": "<3.99", - "reportico-web/reportico": "<=7.1.21", - "rhukster/dom-sanitizer": "<1.0.7", - "rmccue/requests": ">=1.6,<1.8", - "robrichards/xmlseclibs": "<3.0.4", - "roots/soil": "<4.1", - "rudloff/alltube": "<3.0.3", - "s-cart/core": "<6.9", - "s-cart/s-cart": "<6.9", - "sabberworm/php-css-parser": ">=1,<1.0.1|>=2,<2.0.1|>=3,<3.0.1|>=4,<4.0.1|>=5,<5.0.9|>=5.1,<5.1.3|>=5.2,<5.2.1|>=6,<6.0.2|>=7,<7.0.4|>=8,<8.0.1|>=8.1,<8.1.1|>=8.2,<8.2.1|>=8.3,<8.3.1", - "sabre/dav": "<1.7.11|>=1.8,<1.8.9", - "scheb/two-factor-bundle": "<3.26|>=4,<4.11", - "sensiolabs/connect": "<4.2.3", - "serluck/phpwhois": "<=4.2.6", - "sfroemken/url_redirect": "<=1.2.1", - "sheng/yiicms": "<=1.2", - "shopware/core": "<=6.4.20", - "shopware/platform": "<=6.4.20", - "shopware/production": "<=6.3.5.2", - "shopware/shopware": "<=5.7.17", - "shopware/storefront": "<=6.4.8.1", - "shopxo/shopxo": "<2.2.6", - "showdoc/showdoc": "<2.10.4", - "silverstripe-australia/advancedreports": ">=1,<=2", - "silverstripe/admin": "<1.13.6", - "silverstripe/assets": ">=1,<1.11.1", - "silverstripe/cms": "<4.11.3", - "silverstripe/comments": ">=1.3,<1.9.99|>=2,<2.9.99|>=3,<3.1.1", - "silverstripe/forum": "<=0.6.1|>=0.7,<=0.7.3", - "silverstripe/framework": "<4.13.14|>=5,<5.0.13", - "silverstripe/graphql": "<3.8.2|>=4,<4.1.3|>=4.2,<4.2.5|>=4.3,<4.3.4|>=5,<5.0.3", - "silverstripe/hybridsessions": ">=1,<2.4.1|>=2.5,<2.5.1", - "silverstripe/recipe-cms": ">=4.5,<4.5.3", - "silverstripe/registry": ">=2.1,<2.1.2|>=2.2,<2.2.1", - "silverstripe/restfulserver": ">=1,<1.0.9|>=2,<2.0.4", - "silverstripe/silverstripe-omnipay": "<2.5.2|>=3,<3.0.2|>=3.1,<3.1.4|>=3.2,<3.2.1", - "silverstripe/subsites": ">=2,<2.6.1", - "silverstripe/taxonomy": ">=1.3,<1.3.1|>=2,<2.0.1", - "silverstripe/userforms": "<3", - "silverstripe/versioned-admin": ">=1,<1.11.1", - "simple-updates/phpwhois": "<=1", - "simplesamlphp/saml2": "<1.15.4|>=2,<2.3.8|>=3,<3.1.4|==5.0.0.0-alpha12", - "simplesamlphp/simplesamlphp": "<1.18.6", - "simplesamlphp/simplesamlphp-module-infocard": "<1.0.1", - "simplesamlphp/simplesamlphp-module-openid": "<1", - "simplesamlphp/simplesamlphp-module-openidprovider": "<0.9", - "simplesamlphp/xml-security": "==1.6.11", - "simplito/elliptic-php": "<1.0.6", - "sitegeist/fluid-components": "<3.5", - "sjbr/sr-freecap": "<2.4.6|>=2.5,<2.5.3", - "slim/psr7": "<1.4.1|>=1.5,<1.5.1|>=1.6,<1.6.1", - "slim/slim": "<2.6", - "slub/slub-events": "<3.0.3", - "smarty/smarty": "<3.1.48|>=4,<4.3.1", - "snipe/snipe-it": "<=6.2.2", - "socalnick/scn-social-auth": "<1.15.2", - "socialiteproviders/steam": "<1.1", - "spatie/browsershot": "<3.57.4", - "spipu/html2pdf": "<5.2.8", - "spoon/library": "<1.4.1", - "spoonity/tcpdf": "<6.2.22", - "squizlabs/php_codesniffer": ">=1,<2.8.1|>=3,<3.0.1", - "ssddanbrown/bookstack": "<22.02.3", - "statamic/cms": "<4.36", - "stormpath/sdk": "<9.9.99", - "studio-42/elfinder": "<2.1.62", - "subhh/libconnect": "<7.0.8|>=8,<8.1", - "sukohi/surpass": "<1", - "sulu/sulu": "<1.6.44|>=2,<2.2.18|>=2.3,<2.3.8|==2.4.0.0-RC1|>=2.5,<2.5.10", - "sumocoders/framework-user-bundle": "<1.4", - "swag/paypal": "<5.4.4", - "swiftmailer/swiftmailer": ">=4,<5.4.5", - "swiftyedit/swiftyedit": "<1.2", - "sylius/admin-bundle": ">=1,<1.0.17|>=1.1,<1.1.9|>=1.2,<1.2.2", - "sylius/grid": ">=1,<1.1.19|>=1.2,<1.2.18|>=1.3,<1.3.13|>=1.4,<1.4.5|>=1.5,<1.5.1", - "sylius/grid-bundle": "<1.10.1", - "sylius/paypal-plugin": ">=1,<1.2.4|>=1.3,<1.3.1", - "sylius/resource-bundle": "<1.3.14|>=1.4,<1.4.7|>=1.5,<1.5.2|>=1.6,<1.6.4", - "sylius/sylius": "<1.9.10|>=1.10,<1.10.11|>=1.11,<1.11.2", - "symbiote/silverstripe-multivaluefield": ">=3,<3.0.99", - "symbiote/silverstripe-queuedjobs": ">=3,<3.0.2|>=3.1,<3.1.4|>=4,<4.0.7|>=4.1,<4.1.2|>=4.2,<4.2.4|>=4.3,<4.3.3|>=4.4,<4.4.3|>=4.5,<4.5.1|>=4.6,<4.6.4", - "symbiote/silverstripe-seed": "<6.0.3", - "symbiote/silverstripe-versionedfiles": "<=2.0.3", - "symfont/process": ">=0", - "symfony/cache": ">=3.1,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8", - "symfony/dependency-injection": ">=2,<2.0.17|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", - "symfony/error-handler": ">=4.4,<4.4.4|>=5,<5.0.4", - "symfony/form": ">=2.3,<2.3.35|>=2.4,<2.6.12|>=2.7,<2.7.50|>=2.8,<2.8.49|>=3,<3.4.20|>=4,<4.0.15|>=4.1,<4.1.9|>=4.2,<4.2.1", - "symfony/framework-bundle": ">=2,<2.3.18|>=2.4,<2.4.8|>=2.5,<2.5.2|>=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7|>=5.3.14,<=5.3.14|>=5.4.3,<=5.4.3|>=6.0.3,<=6.0.3", - "symfony/http-foundation": ">=2,<2.8.52|>=3,<3.4.35|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7", - "symfony/http-kernel": ">=2,<4.4.50|>=5,<5.4.20|>=6,<6.0.20|>=6.1,<6.1.12|>=6.2,<6.2.6", - "symfony/intl": ">=2.7,<2.7.38|>=2.8,<2.8.31|>=3,<3.2.14|>=3.3,<3.3.13", - "symfony/maker-bundle": ">=1.27,<1.29.2|>=1.30,<1.31.1", - "symfony/mime": ">=4.3,<4.3.8", - "symfony/phpunit-bridge": ">=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", - "symfony/polyfill": ">=1,<1.10", - "symfony/polyfill-php55": ">=1,<1.10", - "symfony/proxy-manager-bridge": ">=2.7,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.1.12|>=4.2,<4.2.7", - "symfony/routing": ">=2,<2.0.19", - "symfony/security": ">=2,<2.7.51|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.8", - "symfony/security-bundle": ">=2,<4.4.50|>=5,<5.4.20|>=6,<6.0.20|>=6.1,<6.1.12|>=6.2,<6.2.6", - "symfony/security-core": ">=2.4,<2.6.13|>=2.7,<2.7.9|>=2.7.30,<2.7.32|>=2.8,<3.4.49|>=4,<4.4.24|>=5,<5.2.9", - "symfony/security-csrf": ">=2.4,<2.7.48|>=2.8,<2.8.41|>=3,<3.3.17|>=3.4,<3.4.11|>=4,<4.0.11", - "symfony/security-guard": ">=2.8,<3.4.48|>=4,<4.4.23|>=5,<5.2.8", - "symfony/security-http": ">=2.3,<2.3.41|>=2.4,<2.7.51|>=2.8,<2.8.50|>=3,<3.4.26|>=4,<4.2.12|>=4.3,<4.3.8|>=4.4,<4.4.7|>=5,<5.0.7|>=5.1,<5.2.8|>=5.3,<5.3.2|>=5.4,<5.4.31|>=6,<6.3.8", - "symfony/serializer": ">=2,<2.0.11|>=4.1,<4.4.35|>=5,<5.3.12", - "symfony/symfony": "<4.4.51|>=5,<5.4.31|>=6,<6.3.8", - "symfony/translation": ">=2,<2.0.17", - "symfony/twig-bridge": ">=2,<4.4.51|>=5,<5.4.31|>=6,<6.3.8", - "symfony/ux-autocomplete": "<2.11.2", - "symfony/validator": ">=2,<2.0.24|>=2.1,<2.1.12|>=2.2,<2.2.5|>=2.3,<2.3.3", - "symfony/var-exporter": ">=4.2,<4.2.12|>=4.3,<4.3.8", - "symfony/web-profiler-bundle": ">=2,<2.3.19|>=2.4,<2.4.9|>=2.5,<2.5.4", - "symfony/webhook": ">=6.3,<6.3.8", - "symfony/yaml": ">=2,<2.0.22|>=2.1,<2.1.7", - "t3/dce": "<0.11.5|>=2.2,<2.6.2", - "t3g/svg-sanitizer": "<1.0.3", - "tastyigniter/tastyigniter": "<3.3", - "tcg/voyager": "<=1.4", - "tecnickcom/tcpdf": "<6.2.22", - "terminal42/contao-tablelookupwizard": "<3.3.5", - "thelia/backoffice-default-template": ">=2.1,<2.1.2", - "thelia/thelia": ">=2.1,<2.1.3", - "theonedemon/phpwhois": "<=4.2.5", - "thinkcmf/thinkcmf": "<=5.1.7", - "thorsten/phpmyfaq": "<3.2.2", - "tikiwiki/tiki-manager": "<=17.1", - "tinymce/tinymce": "<5.10.9|>=6,<6.7.3", - "tinymighty/wiki-seo": "<1.2.2", - "titon/framework": "<9.9.99", - "tobiasbg/tablepress": "<=2.0.0.0-RC1", - "topthink/framework": "<6.0.14", - "topthink/think": "<=6.1.1", - "topthink/thinkphp": "<=3.2.3", - "tpwd/ke_search": "<4.0.3|>=4.1,<4.6.6|>=5,<5.0.2", - "tribalsystems/zenario": "<=9.4.59197", - "truckersmp/phpwhois": "<=4.3.1", - "ttskch/pagination-service-provider": "<1", - "twig/twig": "<1.44.7|>=2,<2.15.3|>=3,<3.4.3", - "typo3/cms": "<9.5.29|>=10,<10.4.35|>=11,<11.5.23|>=12,<12.2", - "typo3/cms-backend": ">=7,<=7.6.50|>=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", - "typo3/cms-core": "<=8.7.54|>=9,<=9.5.43|>=10,<=10.4.40|>=11,<=11.5.32|>=12,<=12.4.7", - "typo3/cms-extbase": "<6.2.24|>=7,<7.6.8|==8.1.1", - "typo3/cms-form": ">=8,<=8.7.39|>=9,<=9.5.24|>=10,<=10.4.13|>=11,<=11.1", - "typo3/cms-install": ">=12.2,<12.4.8", - "typo3/cms-rte-ckeditor": ">=9.5,<9.5.42|>=10,<10.4.39|>=11,<11.5.30", - "typo3/flow": ">=1,<1.0.4|>=1.1,<1.1.1|>=2,<2.0.1|>=2.3,<2.3.16|>=3,<3.0.12|>=3.1,<3.1.10|>=3.2,<3.2.13|>=3.3,<3.3.13|>=4,<4.0.6", - "typo3/html-sanitizer": ">=1,<=1.5.2|>=2,<=2.1.3", - "typo3/neos": ">=1.1,<1.1.3|>=1.2,<1.2.13|>=2,<2.0.4|>=2.3,<2.3.99|>=3,<3.0.20|>=3.1,<3.1.18|>=3.2,<3.2.14|>=3.3,<3.3.23|>=4,<4.0.17|>=4.1,<4.1.16|>=4.2,<4.2.12|>=4.3,<4.3.3", - "typo3/phar-stream-wrapper": ">=1,<2.1.1|>=3,<3.1.1", - "typo3/swiftmailer": ">=4.1,<4.1.99|>=5.4,<5.4.5", - "typo3fluid/fluid": ">=2,<2.0.8|>=2.1,<2.1.7|>=2.2,<2.2.4|>=2.3,<2.3.7|>=2.4,<2.4.4|>=2.5,<2.5.11|>=2.6,<2.6.10", - "ua-parser/uap-php": "<3.8", - "uasoft-indonesia/badaso": "<=2.9.7", - "unisharp/laravel-filemanager": "<=2.5.1", - "userfrosting/userfrosting": ">=0.3.1,<4.6.3", - "usmanhalalit/pixie": "<1.0.3|>=2,<2.0.2", - "uvdesk/community-skeleton": "<=1.1.1", - "vanilla/safecurl": "<0.9.2", - "verot/class.upload.php": "<=1.0.3|>=2,<=2.0.4", - "vova07/yii2-fileapi-widget": "<0.1.9", - "vrana/adminer": "<4.8.1", - "waldhacker/hcaptcha": "<2.1.2", - "wallabag/tcpdf": "<6.2.22", - "wallabag/wallabag": "<2.6.7", - "wanglelecc/laracms": "<=1.0.3", - "web-auth/webauthn-framework": ">=3.3,<3.3.4", - "webbuilders-group/silverstripe-kapost-bridge": "<0.4", - "webcoast/deferred-image-processing": "<1.0.2", - "webklex/laravel-imap": "<5.3", - "webklex/php-imap": "<5.3", - "webpa/webpa": "<3.1.2", - "wikibase/wikibase": "<=1.39.3", - "wikimedia/parsoid": "<0.12.2", - "willdurand/js-translation-bundle": "<2.1.1", - "wintercms/winter": "<1.2.3", - "woocommerce/woocommerce": "<6.6", - "wp-cli/wp-cli": "<2.5", - "wp-graphql/wp-graphql": "<=1.14.5", - "wpanel/wpanel4-cms": "<=4.3.1", - "wpcloud/wp-stateless": "<3.2", - "wwbn/avideo": "<=12.4", - "xataface/xataface": "<3", - "xpressengine/xpressengine": "<3.0.15", - "yeswiki/yeswiki": "<4.1", - "yetiforce/yetiforce-crm": "<=6.4", - "yidashi/yii2cmf": "<=2", - "yii2mod/yii2-cms": "<1.9.2", - "yiisoft/yii": "<1.1.29", - "yiisoft/yii2": "<2.0.38", - "yiisoft/yii2-bootstrap": "<2.0.4", - "yiisoft/yii2-dev": "<2.0.43", - "yiisoft/yii2-elasticsearch": "<2.0.5", - "yiisoft/yii2-gii": "<=2.2.4", - "yiisoft/yii2-jui": "<2.0.4", - "yiisoft/yii2-redis": "<2.0.8", - "yikesinc/yikes-inc-easy-mailchimp-extender": "<6.8.6", - "yoast-seo-for-typo3/yoast_seo": "<7.2.3", - "yourls/yourls": "<=1.8.2", - "zencart/zencart": "<=1.5.7.0-beta", - "zendesk/zendesk_api_client_php": "<2.2.11", - "zendframework/zend-cache": "<2.4.8|>=2.5,<2.5.3", - "zendframework/zend-captcha": ">=2,<2.4.9|>=2.5,<2.5.2", - "zendframework/zend-crypt": ">=2,<2.4.9|>=2.5,<2.5.2", - "zendframework/zend-db": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.10|>=2.3,<2.3.5", - "zendframework/zend-developer-tools": ">=1.2.2,<1.2.3", - "zendframework/zend-diactoros": "<1.8.4", - "zendframework/zend-feed": "<2.10.3", - "zendframework/zend-form": ">=2,<2.2.7|>=2.3,<2.3.1", - "zendframework/zend-http": "<2.8.1", - "zendframework/zend-json": ">=2.1,<2.1.6|>=2.2,<2.2.6", - "zendframework/zend-ldap": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.8|>=2.3,<2.3.3", - "zendframework/zend-mail": ">=2,<2.4.11|>=2.5,<2.7.2", - "zendframework/zend-navigation": ">=2,<2.2.7|>=2.3,<2.3.1", - "zendframework/zend-session": ">=2,<2.0.99|>=2.1,<2.1.99|>=2.2,<2.2.9|>=2.3,<2.3.4", - "zendframework/zend-validator": ">=2.3,<2.3.6", - "zendframework/zend-view": ">=2,<2.2.7|>=2.3,<2.3.1", - "zendframework/zend-xmlrpc": ">=2.1,<2.1.6|>=2.2,<2.2.6", - "zendframework/zendframework": "<=3", - "zendframework/zendframework1": "<1.12.20", - "zendframework/zendopenid": "<2.0.2", - "zendframework/zendrest": "<2.0.2", - "zendframework/zendservice-amazon": "<2.0.3", - "zendframework/zendservice-api": "<1", - "zendframework/zendservice-audioscrobbler": "<2.0.2", - "zendframework/zendservice-nirvanix": "<2.0.2", - "zendframework/zendservice-slideshare": "<2.0.2", - "zendframework/zendservice-technorati": "<2.0.2", - "zendframework/zendservice-windowsazure": "<2.0.2", - "zendframework/zendxml": "<1.0.1", - "zenstruck/collection": "<0.2.1", - "zetacomponents/mail": "<1.8.2", - "zf-commons/zfc-user": "<1.2.2", - "zfcampus/zf-apigility-doctrine": "<1.0.3", - "zfr/zfr-oauth2-server-module": "<0.1.2", - "zoujingli/thinkadmin": "<6.0.22" - }, - "type": "metapackage", - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "role": "maintainer" - }, - { - "name": "Ilya Tribusean", - "email": "slash3b@gmail.com", - "role": "maintainer" - } - ], - "description": "Prevents installation of composer packages with known security vulnerabilities: no API, simply require it", - "keywords": [ - "dev" - ], - "support": { - "issues": "https://github.com/Roave/SecurityAdvisories/issues", - "source": "https://github.com/Roave/SecurityAdvisories/tree/latest" - }, - "funding": [ - { - "url": "https://github.com/Ocramius", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/roave/security-advisories", - "type": "tidelift" - } - ], - "time": "2023-12-06T18:04:43+00:00" - } - ], - "aliases": [], - "minimum-stability": "dev", - "stability-flags": { - "roave/security-advisories": 20 - }, - "prefer-stable": true, - "prefer-lowest": false, - "platform": { - "php": ">=8.1", - "ext-dom": "*", - "ext-iconv": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-simplexml": "*", - "lib-iconv": "*", - "lib-libxml": "*" - }, - "platform-dev": [], - "plugin-api-version": "2.6.0" + "platform-dev": [], + "plugin-api-version": "2.2.0" } diff --git a/core/vendor/autoload.php b/core/vendor/autoload.php index 695f1ac1e7..efe8fd0b53 100644 --- a/core/vendor/autoload.php +++ b/core/vendor/autoload.php @@ -2,24 +2,6 @@ // autoload.php @generated by Composer -if (PHP_VERSION_ID < 50600) { - if (!headers_sent()) { - header('HTTP/1.1 500 Internal Server Error'); - } - $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL; - if (!ini_get('display_errors')) { - if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') { - fwrite(STDERR, $err); - } elseif (!headers_sent()) { - echo $err; - } - } - trigger_error( - $err, - E_USER_ERROR - ); -} - require_once __DIR__ . '/composer/autoload_real.php'; return ComposerAutoloaderInitfacb702495127c53b6aa7bcb6294d866::getLoader(); diff --git a/core/vendor/bin/carbon.bat b/core/vendor/bin/carbon.bat deleted file mode 100644 index 806cf153b7..0000000000 --- a/core/vendor/bin/carbon.bat +++ /dev/null @@ -1,5 +0,0 @@ -@ECHO OFF -setlocal DISABLEDELAYEDEXPANSION -SET BIN_TARGET=%~dp0/carbon -SET COMPOSER_RUNTIME_BIN_DIR=%~dp0 -php "%BIN_TARGET%" %* diff --git a/core/vendor/bin/composer.bat b/core/vendor/bin/composer.bat deleted file mode 100644 index 2189f32352..0000000000 --- a/core/vendor/bin/composer.bat +++ /dev/null @@ -1,5 +0,0 @@ -@ECHO OFF -setlocal DISABLEDELAYEDEXPANSION -SET BIN_TARGET=%~dp0/composer -SET COMPOSER_RUNTIME_BIN_DIR=%~dp0 -php "%BIN_TARGET%" %* diff --git a/core/vendor/bin/doctrine-dbal.bat b/core/vendor/bin/doctrine-dbal.bat deleted file mode 100644 index 56c0b3fef1..0000000000 --- a/core/vendor/bin/doctrine-dbal.bat +++ /dev/null @@ -1,5 +0,0 @@ -@ECHO OFF -setlocal DISABLEDELAYEDEXPANSION -SET BIN_TARGET=%~dp0/doctrine-dbal -SET COMPOSER_RUNTIME_BIN_DIR=%~dp0 -php "%BIN_TARGET%" %* diff --git a/core/vendor/bin/patch-type-declarations b/core/vendor/bin/patch-type-declarations index 4e63fefc42..36cc892e40 100644 --- a/core/vendor/bin/patch-type-declarations +++ b/core/vendor/bin/patch-type-declarations @@ -108,12 +108,10 @@ if (PHP_VERSION_ID < 80000) { } } - if ( - (function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true)) - || (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) - ) { - return include("phpvfscomposer://" . __DIR__ . '/..'.'/symfony/error-handler/Resources/bin/patch-type-declarations'); + if (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) { + include("phpvfscomposer://" . __DIR__ . '/..'.'/symfony/error-handler/Resources/bin/patch-type-declarations'); + exit(0); } } -return include __DIR__ . '/..'.'/symfony/error-handler/Resources/bin/patch-type-declarations'; +include __DIR__ . '/..'.'/symfony/error-handler/Resources/bin/patch-type-declarations'; diff --git a/core/vendor/bin/var-dump-server b/core/vendor/bin/var-dump-server index 18db1c1eb2..527f3ed420 100644 --- a/core/vendor/bin/var-dump-server +++ b/core/vendor/bin/var-dump-server @@ -108,12 +108,10 @@ if (PHP_VERSION_ID < 80000) { } } - if ( - (function_exists('stream_get_wrappers') && in_array('phpvfscomposer', stream_get_wrappers(), true)) - || (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) - ) { - return include("phpvfscomposer://" . __DIR__ . '/..'.'/symfony/var-dumper/Resources/bin/var-dump-server'); + if (function_exists('stream_wrapper_register') && stream_wrapper_register('phpvfscomposer', 'Composer\BinProxyWrapper')) { + include("phpvfscomposer://" . __DIR__ . '/..'.'/symfony/var-dumper/Resources/bin/var-dump-server'); + exit(0); } } -return include __DIR__ . '/..'.'/symfony/var-dumper/Resources/bin/var-dump-server'; +include __DIR__ . '/..'.'/symfony/var-dumper/Resources/bin/var-dump-server'; diff --git a/core/vendor/composer/ClassLoader.php b/core/vendor/composer/ClassLoader.php index 7824d8f7ea..afef3fa2ad 100644 --- a/core/vendor/composer/ClassLoader.php +++ b/core/vendor/composer/ClassLoader.php @@ -42,37 +42,35 @@ */ class ClassLoader { - /** @var \Closure(string):void */ - private static $includeFile; - - /** @var string|null */ + /** @var ?string */ private $vendorDir; // PSR-4 /** - * @var array> + * @var array[] + * @psalm-var array> */ private $prefixLengthsPsr4 = array(); /** - * @var array> + * @var array[] + * @psalm-var array> */ private $prefixDirsPsr4 = array(); /** - * @var list + * @var array[] + * @psalm-var array */ private $fallbackDirsPsr4 = array(); // PSR-0 /** - * List of PSR-0 prefixes - * - * Structured as array('F (first letter)' => array('Foo\Bar (full prefix)' => array('path', 'path2'))) - * - * @var array>> + * @var array[] + * @psalm-var array> */ private $prefixesPsr0 = array(); /** - * @var list + * @var array[] + * @psalm-var array */ private $fallbackDirsPsr0 = array(); @@ -80,7 +78,8 @@ class ClassLoader private $useIncludePath = false; /** - * @var array + * @var string[] + * @psalm-var array */ private $classMap = array(); @@ -88,29 +87,29 @@ class ClassLoader private $classMapAuthoritative = false; /** - * @var array + * @var bool[] + * @psalm-var array */ private $missingClasses = array(); - /** @var string|null */ + /** @var ?string */ private $apcuPrefix; /** - * @var array + * @var self[] */ private static $registeredLoaders = array(); /** - * @param string|null $vendorDir + * @param ?string $vendorDir */ public function __construct($vendorDir = null) { $this->vendorDir = $vendorDir; - self::initializeIncludeClosure(); } /** - * @return array> + * @return string[] */ public function getPrefixes() { @@ -122,7 +121,8 @@ public function getPrefixes() } /** - * @return array> + * @return array[] + * @psalm-return array> */ public function getPrefixesPsr4() { @@ -130,7 +130,8 @@ public function getPrefixesPsr4() } /** - * @return list + * @return array[] + * @psalm-return array */ public function getFallbackDirs() { @@ -138,7 +139,8 @@ public function getFallbackDirs() } /** - * @return list + * @return array[] + * @psalm-return array */ public function getFallbackDirsPsr4() { @@ -146,7 +148,8 @@ public function getFallbackDirsPsr4() } /** - * @return array Array of classname => path + * @return string[] Array of classname => path + * @psalm-return array */ public function getClassMap() { @@ -154,7 +157,8 @@ public function getClassMap() } /** - * @param array $classMap Class to filename map + * @param string[] $classMap Class to filename map + * @psalm-param array $classMap * * @return void */ @@ -171,25 +175,24 @@ public function addClassMap(array $classMap) * Registers a set of PSR-0 directories for a given prefix, either * appending or prepending to the ones previously set for this prefix. * - * @param string $prefix The prefix - * @param list|string $paths The PSR-0 root directories - * @param bool $prepend Whether to prepend the directories + * @param string $prefix The prefix + * @param string[]|string $paths The PSR-0 root directories + * @param bool $prepend Whether to prepend the directories * * @return void */ public function add($prefix, $paths, $prepend = false) { - $paths = (array) $paths; if (!$prefix) { if ($prepend) { $this->fallbackDirsPsr0 = array_merge( - $paths, + (array) $paths, $this->fallbackDirsPsr0 ); } else { $this->fallbackDirsPsr0 = array_merge( $this->fallbackDirsPsr0, - $paths + (array) $paths ); } @@ -198,19 +201,19 @@ public function add($prefix, $paths, $prepend = false) $first = $prefix[0]; if (!isset($this->prefixesPsr0[$first][$prefix])) { - $this->prefixesPsr0[$first][$prefix] = $paths; + $this->prefixesPsr0[$first][$prefix] = (array) $paths; return; } if ($prepend) { $this->prefixesPsr0[$first][$prefix] = array_merge( - $paths, + (array) $paths, $this->prefixesPsr0[$first][$prefix] ); } else { $this->prefixesPsr0[$first][$prefix] = array_merge( $this->prefixesPsr0[$first][$prefix], - $paths + (array) $paths ); } } @@ -219,9 +222,9 @@ public function add($prefix, $paths, $prepend = false) * Registers a set of PSR-4 directories for a given namespace, either * appending or prepending to the ones previously set for this namespace. * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param list|string $paths The PSR-4 base directories - * @param bool $prepend Whether to prepend the directories + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param string[]|string $paths The PSR-4 base directories + * @param bool $prepend Whether to prepend the directories * * @throws \InvalidArgumentException * @@ -229,18 +232,17 @@ public function add($prefix, $paths, $prepend = false) */ public function addPsr4($prefix, $paths, $prepend = false) { - $paths = (array) $paths; if (!$prefix) { // Register directories for the root namespace. if ($prepend) { $this->fallbackDirsPsr4 = array_merge( - $paths, + (array) $paths, $this->fallbackDirsPsr4 ); } else { $this->fallbackDirsPsr4 = array_merge( $this->fallbackDirsPsr4, - $paths + (array) $paths ); } } elseif (!isset($this->prefixDirsPsr4[$prefix])) { @@ -250,18 +252,18 @@ public function addPsr4($prefix, $paths, $prepend = false) throw new \InvalidArgumentException("A non-empty PSR-4 prefix must end with a namespace separator."); } $this->prefixLengthsPsr4[$prefix[0]][$prefix] = $length; - $this->prefixDirsPsr4[$prefix] = $paths; + $this->prefixDirsPsr4[$prefix] = (array) $paths; } elseif ($prepend) { // Prepend directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( - $paths, + (array) $paths, $this->prefixDirsPsr4[$prefix] ); } else { // Append directories for an already registered namespace. $this->prefixDirsPsr4[$prefix] = array_merge( $this->prefixDirsPsr4[$prefix], - $paths + (array) $paths ); } } @@ -270,8 +272,8 @@ public function addPsr4($prefix, $paths, $prepend = false) * Registers a set of PSR-0 directories for a given prefix, * replacing any others previously set for this prefix. * - * @param string $prefix The prefix - * @param list|string $paths The PSR-0 base directories + * @param string $prefix The prefix + * @param string[]|string $paths The PSR-0 base directories * * @return void */ @@ -288,8 +290,8 @@ public function set($prefix, $paths) * Registers a set of PSR-4 directories for a given namespace, * replacing any others previously set for this namespace. * - * @param string $prefix The prefix/namespace, with trailing '\\' - * @param list|string $paths The PSR-4 base directories + * @param string $prefix The prefix/namespace, with trailing '\\' + * @param string[]|string $paths The PSR-4 base directories * * @throws \InvalidArgumentException * @@ -423,8 +425,7 @@ public function unregister() public function loadClass($class) { if ($file = $this->findFile($class)) { - $includeFile = self::$includeFile; - $includeFile($file); + includeFile($file); return true; } @@ -475,9 +476,9 @@ public function findFile($class) } /** - * Returns the currently registered loaders keyed by their corresponding vendor directories. + * Returns the currently registered loaders indexed by their corresponding vendor directories. * - * @return array + * @return self[] */ public static function getRegisteredLoaders() { @@ -554,26 +555,18 @@ private function findFileWithExtension($class, $ext) return false; } +} - /** - * @return void - */ - private static function initializeIncludeClosure() - { - if (self::$includeFile !== null) { - return; - } - - /** - * Scope isolated include. - * - * Prevents access to $this/self from included files. - * - * @param string $file - * @return void - */ - self::$includeFile = \Closure::bind(static function($file) { - include $file; - }, null, null); - } +/** + * Scope isolated include. + * + * Prevents access to $this/self from included files. + * + * @param string $file + * @return void + * @private + */ +function includeFile($file) +{ + include $file; } diff --git a/core/vendor/composer/InstalledVersions.php b/core/vendor/composer/InstalledVersions.php index 51e734a774..d50e0c9fcc 100644 --- a/core/vendor/composer/InstalledVersions.php +++ b/core/vendor/composer/InstalledVersions.php @@ -21,14 +21,12 @@ * See also https://getcomposer.org/doc/07-runtime.md#installed-versions * * To require its presence, you can require `composer-runtime-api ^2.0` - * - * @final */ class InstalledVersions { /** * @var mixed[]|null - * @psalm-var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array}|array{}|null + * @psalm-var array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array}|array{}|null */ private static $installed; @@ -39,7 +37,7 @@ class InstalledVersions /** * @var array[] - * @psalm-var array}> + * @psalm-var array}> */ private static $installedByVendor = array(); @@ -98,7 +96,7 @@ public static function isInstalled($packageName, $includeDevRequirements = true) { foreach (self::getInstalled() as $installed) { if (isset($installed['versions'][$packageName])) { - return $includeDevRequirements || !isset($installed['versions'][$packageName]['dev_requirement']) || $installed['versions'][$packageName]['dev_requirement'] === false; + return $includeDevRequirements || empty($installed['versions'][$packageName]['dev_requirement']); } } @@ -119,7 +117,7 @@ public static function isInstalled($packageName, $includeDevRequirements = true) */ public static function satisfies(VersionParser $parser, $packageName, $constraint) { - $constraint = $parser->parseConstraints((string) $constraint); + $constraint = $parser->parseConstraints($constraint); $provided = $parser->parseConstraints(self::getVersionRanges($packageName)); return $provided->matches($constraint); @@ -243,7 +241,7 @@ public static function getInstallPath($packageName) /** * @return array - * @psalm-return array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool} + * @psalm-return array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string} */ public static function getRootPackage() { @@ -257,7 +255,7 @@ public static function getRootPackage() * * @deprecated Use getAllRawData() instead which returns all datasets for all autoloaders present in the process. getRawData only returns the first dataset loaded, which may not be what you expect. * @return array[] - * @psalm-return array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} + * @psalm-return array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} */ public static function getRawData() { @@ -280,7 +278,7 @@ public static function getRawData() * Returns the raw data of all installed.php which are currently loaded for custom implementations * * @return array[] - * @psalm-return list}> + * @psalm-return list}> */ public static function getAllRawData() { @@ -303,7 +301,7 @@ public static function getAllRawData() * @param array[] $data A vendor/composer/installed.php data set * @return void * - * @psalm-param array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $data + * @psalm-param array{root: array{name: string, version: string, reference: string, pretty_version: string, aliases: string[], dev: bool, install_path: string, type: string}, versions: array} $data */ public static function reload($data) { @@ -313,7 +311,7 @@ public static function reload($data) /** * @return array[] - * @psalm-return list}> + * @psalm-return list}> */ private static function getInstalled() { @@ -328,9 +326,7 @@ private static function getInstalled() if (isset(self::$installedByVendor[$vendorDir])) { $installed[] = self::$installedByVendor[$vendorDir]; } elseif (is_file($vendorDir.'/composer/installed.php')) { - /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ - $required = require $vendorDir.'/composer/installed.php'; - $installed[] = self::$installedByVendor[$vendorDir] = $required; + $installed[] = self::$installedByVendor[$vendorDir] = require $vendorDir.'/composer/installed.php'; if (null === self::$installed && strtr($vendorDir.'/composer', '\\', '/') === strtr(__DIR__, '\\', '/')) { self::$installed = $installed[count($installed) - 1]; } @@ -342,17 +338,12 @@ private static function getInstalled() // only require the installed.php file if this file is loaded from its dumped location, // and not from its source location in the composer/composer package, see https://github.com/composer/composer/issues/9937 if (substr(__DIR__, -8, 1) !== 'C') { - /** @var array{root: array{name: string, pretty_version: string, version: string, reference: string|null, type: string, install_path: string, aliases: string[], dev: bool}, versions: array} $required */ - $required = require __DIR__ . '/installed.php'; - self::$installed = $required; + self::$installed = require __DIR__ . '/installed.php'; } else { self::$installed = array(); } } - - if (self::$installed !== array()) { - $installed[] = self::$installed; - } + $installed[] = self::$installed; return $installed; } diff --git a/core/vendor/composer/LICENSE b/core/vendor/composer/LICENSE index f27399a042..62ecfd8d00 100644 --- a/core/vendor/composer/LICENSE +++ b/core/vendor/composer/LICENSE @@ -1,4 +1,3 @@ - Copyright (c) Nils Adermann, Jordi Boggiano Permission is hereby granted, free of charge, to any person obtaining a copy @@ -18,4 +17,3 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - diff --git a/core/vendor/composer/autoload_classmap.php b/core/vendor/composer/autoload_classmap.php index dd30b15082..725686c766 100644 --- a/core/vendor/composer/autoload_classmap.php +++ b/core/vendor/composer/autoload_classmap.php @@ -2,7 +2,7 @@ // autoload_classmap.php @generated by Composer -$vendorDir = dirname(__DIR__); +$vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( diff --git a/core/vendor/composer/autoload_files.php b/core/vendor/composer/autoload_files.php index 9f0b6f4d83..ee035bc4ae 100644 --- a/core/vendor/composer/autoload_files.php +++ b/core/vendor/composer/autoload_files.php @@ -2,32 +2,32 @@ // autoload_files.php @generated by Composer -$vendorDir = dirname(__DIR__); +$vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( - '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php', - '60799491728b879e74601d83e38b2cad' => $vendorDir . '/illuminate/collections/helpers.php', '6e3fae29631ef280660b3cdad06f25a8' => $vendorDir . '/symfony/deprecation-contracts/function.php', - 'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php', - 'a1105708a18b76903365ca1c4aa61b02' => $vendorDir . '/symfony/translation/Resources/functions.php', - '72579e7bd17821bb1321b87411366eae' => $vendorDir . '/illuminate/support/helpers.php', - '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php', + '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => $vendorDir . '/symfony/polyfill-mbstring/bootstrap.php', 'e69f7f6ee287b969198c3c9d6777bd38' => $vendorDir . '/symfony/polyfill-intl-normalizer/bootstrap.php', - '662a729f963d39afe703c9d9b7ab4a8c' => $vendorDir . '/symfony/polyfill-php83/bootstrap.php', - '8825ede83f2f289127722d4e842cf7e8' => $vendorDir . '/symfony/polyfill-intl-grapheme/bootstrap.php', - 'b6b991a57620e2fb6b2f66f03fe9ddc2' => $vendorDir . '/symfony/string/Resources/functions.php', '25072dd6e2470089de65ae7bf11d3109' => $vendorDir . '/symfony/polyfill-php72/bootstrap.php', 'f598d06aa772fa33d905e87be6398fb1' => $vendorDir . '/symfony/polyfill-intl-idn/bootstrap.php', - '667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php', + 'a4a119a56e50fbb293281d9a48007e0e' => $vendorDir . '/symfony/polyfill-php80/bootstrap.php', + '662a729f963d39afe703c9d9b7ab4a8c' => $vendorDir . '/symfony/polyfill-php83/bootstrap.php', + '320cde22f66dd4f5d3fd621d3e88b98f' => $vendorDir . '/symfony/polyfill-ctype/bootstrap.php', + '60799491728b879e74601d83e38b2cad' => $vendorDir . '/illuminate/collections/helpers.php', + 'a1105708a18b76903365ca1c4aa61b02' => $vendorDir . '/symfony/translation/Resources/functions.php', + '72579e7bd17821bb1321b87411366eae' => $vendorDir . '/illuminate/support/helpers.php', + '7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php', 'ef65a1626449d89d0811cf9befce46f0' => $vendorDir . '/illuminate/events/functions.php', '47e1160838b5e5a10346ac4084b58c23' => $vendorDir . '/laravel/prompts/src/helpers.php', - '35a6ad97d21e794e7e22a17d806652e4' => $vendorDir . '/nunomaduro/termwind/src/Functions.php', - '7b11c4dc42b3b3023073cb14e519683c' => $vendorDir . '/ralouphie/getallheaders/src/getallheaders.php', 'ad155f8f1cf0d418fe49e248db8c661b' => $vendorDir . '/react/promise/src/functions_include.php', '0d59ee240a4cd96ddbb4ff164fccea4d' => $vendorDir . '/symfony/polyfill-php73/bootstrap.php', '23c18046f52bef3eea034657bafda50f' => $vendorDir . '/symfony/polyfill-php81/bootstrap.php', + '667aeda72477189d0494fecd327c3641' => $vendorDir . '/symfony/var-dumper/Resources/functions/dump.php', '37a3dc5111fe8f707ab4c132ef1dbc62' => $vendorDir . '/guzzlehttp/guzzle/src/functions_include.php', + '8825ede83f2f289127722d4e842cf7e8' => $vendorDir . '/symfony/polyfill-intl-grapheme/bootstrap.php', + '35a6ad97d21e794e7e22a17d806652e4' => $vendorDir . '/nunomaduro/termwind/src/Functions.php', + 'b6b991a57620e2fb6b2f66f03fe9ddc2' => $vendorDir . '/symfony/string/Resources/functions.php', '532945a4b12d830ff3e086cc36a64375' => $vendorDir . '/james-heinrich/phpthumb/phpthumb.class.php', 'd507e002f7fce7f0c6dbf1f22edcb902' => $vendorDir . '/tracy/tracy/src/Tracy/functions.php', '151a7554673bf152d8415507113eb8bd' => $baseDir . '/functions/actions/bkmanager.php', diff --git a/core/vendor/composer/autoload_namespaces.php b/core/vendor/composer/autoload_namespaces.php index b031e00bec..86667b9500 100644 --- a/core/vendor/composer/autoload_namespaces.php +++ b/core/vendor/composer/autoload_namespaces.php @@ -2,7 +2,7 @@ // autoload_namespaces.php @generated by Composer -$vendorDir = dirname(__DIR__); +$vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( diff --git a/core/vendor/composer/autoload_psr4.php b/core/vendor/composer/autoload_psr4.php index 3de033dac7..974098afbb 100644 --- a/core/vendor/composer/autoload_psr4.php +++ b/core/vendor/composer/autoload_psr4.php @@ -2,7 +2,7 @@ // autoload_psr4.php @generated by Composer -$vendorDir = dirname(__DIR__); +$vendorDir = dirname(dirname(__FILE__)); $baseDir = dirname($vendorDir); return array( @@ -66,7 +66,7 @@ 'Illuminate\\View\\' => array($vendorDir . '/illuminate/view'), 'Illuminate\\Validation\\' => array($vendorDir . '/illuminate/validation'), 'Illuminate\\Translation\\' => array($vendorDir . '/illuminate/translation'), - 'Illuminate\\Support\\' => array($vendorDir . '/illuminate/macroable', $vendorDir . '/illuminate/conditionable', $vendorDir . '/illuminate/collections', $vendorDir . '/illuminate/support'), + 'Illuminate\\Support\\' => array($vendorDir . '/illuminate/collections', $vendorDir . '/illuminate/conditionable', $vendorDir . '/illuminate/macroable', $vendorDir . '/illuminate/support'), 'Illuminate\\Session\\' => array($vendorDir . '/illuminate/session'), 'Illuminate\\Routing\\' => array($vendorDir . '/illuminate/routing'), 'Illuminate\\Redis\\' => array($vendorDir . '/illuminate/redis'), diff --git a/core/vendor/composer/autoload_real.php b/core/vendor/composer/autoload_real.php index 06c7733ff7..4f5361e6ad 100644 --- a/core/vendor/composer/autoload_real.php +++ b/core/vendor/composer/autoload_real.php @@ -25,26 +25,56 @@ public static function getLoader() require __DIR__ . '/platform_check.php'; spl_autoload_register(array('ComposerAutoloaderInitfacb702495127c53b6aa7bcb6294d866', 'loadClassLoader'), true, true); - self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); + self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__))); spl_autoload_unregister(array('ComposerAutoloaderInitfacb702495127c53b6aa7bcb6294d866', 'loadClassLoader')); - require __DIR__ . '/autoload_static.php'; - call_user_func(\Composer\Autoload\ComposerStaticInitfacb702495127c53b6aa7bcb6294d866::getInitializer($loader)); + $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded()); + if ($useStaticLoader) { + require __DIR__ . '/autoload_static.php'; - $loader->register(true); + call_user_func(\Composer\Autoload\ComposerStaticInitfacb702495127c53b6aa7bcb6294d866::getInitializer($loader)); + } else { + $map = require __DIR__ . '/autoload_namespaces.php'; + foreach ($map as $namespace => $path) { + $loader->set($namespace, $path); + } - $filesToLoad = \Composer\Autoload\ComposerStaticInitfacb702495127c53b6aa7bcb6294d866::$files; - $requireFile = \Closure::bind(static function ($fileIdentifier, $file) { - if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { - $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; + $map = require __DIR__ . '/autoload_psr4.php'; + foreach ($map as $namespace => $path) { + $loader->setPsr4($namespace, $path); + } - require $file; + $classMap = require __DIR__ . '/autoload_classmap.php'; + if ($classMap) { + $loader->addClassMap($classMap); } - }, null, null); - foreach ($filesToLoad as $fileIdentifier => $file) { - $requireFile($fileIdentifier, $file); + } + + $loader->register(true); + + if ($useStaticLoader) { + $includeFiles = Composer\Autoload\ComposerStaticInitfacb702495127c53b6aa7bcb6294d866::$files; + } else { + $includeFiles = require __DIR__ . '/autoload_files.php'; + } + foreach ($includeFiles as $fileIdentifier => $file) { + composerRequirefacb702495127c53b6aa7bcb6294d866($fileIdentifier, $file); } return $loader; } } + +/** + * @param string $fileIdentifier + * @param string $file + * @return void + */ +function composerRequirefacb702495127c53b6aa7bcb6294d866($fileIdentifier, $file) +{ + if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) { + $GLOBALS['__composer_autoload_files'][$fileIdentifier] = true; + + require $file; + } +} diff --git a/core/vendor/composer/autoload_static.php b/core/vendor/composer/autoload_static.php index ef170e549b..97a1bd8c4d 100644 --- a/core/vendor/composer/autoload_static.php +++ b/core/vendor/composer/autoload_static.php @@ -7,28 +7,28 @@ class ComposerStaticInitfacb702495127c53b6aa7bcb6294d866 { public static $files = array ( - '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', - '60799491728b879e74601d83e38b2cad' => __DIR__ . '/..' . '/illuminate/collections/helpers.php', '6e3fae29631ef280660b3cdad06f25a8' => __DIR__ . '/..' . '/symfony/deprecation-contracts/function.php', - 'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php', - 'a1105708a18b76903365ca1c4aa61b02' => __DIR__ . '/..' . '/symfony/translation/Resources/functions.php', - '72579e7bd17821bb1321b87411366eae' => __DIR__ . '/..' . '/illuminate/support/helpers.php', - '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', + '0e6d7bf4a5811bfa5cf40c5ccd6fae6a' => __DIR__ . '/..' . '/symfony/polyfill-mbstring/bootstrap.php', 'e69f7f6ee287b969198c3c9d6777bd38' => __DIR__ . '/..' . '/symfony/polyfill-intl-normalizer/bootstrap.php', - '662a729f963d39afe703c9d9b7ab4a8c' => __DIR__ . '/..' . '/symfony/polyfill-php83/bootstrap.php', - '8825ede83f2f289127722d4e842cf7e8' => __DIR__ . '/..' . '/symfony/polyfill-intl-grapheme/bootstrap.php', - 'b6b991a57620e2fb6b2f66f03fe9ddc2' => __DIR__ . '/..' . '/symfony/string/Resources/functions.php', '25072dd6e2470089de65ae7bf11d3109' => __DIR__ . '/..' . '/symfony/polyfill-php72/bootstrap.php', 'f598d06aa772fa33d905e87be6398fb1' => __DIR__ . '/..' . '/symfony/polyfill-intl-idn/bootstrap.php', - '667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php', + 'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php', + '662a729f963d39afe703c9d9b7ab4a8c' => __DIR__ . '/..' . '/symfony/polyfill-php83/bootstrap.php', + '320cde22f66dd4f5d3fd621d3e88b98f' => __DIR__ . '/..' . '/symfony/polyfill-ctype/bootstrap.php', + '60799491728b879e74601d83e38b2cad' => __DIR__ . '/..' . '/illuminate/collections/helpers.php', + 'a1105708a18b76903365ca1c4aa61b02' => __DIR__ . '/..' . '/symfony/translation/Resources/functions.php', + '72579e7bd17821bb1321b87411366eae' => __DIR__ . '/..' . '/illuminate/support/helpers.php', + '7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php', 'ef65a1626449d89d0811cf9befce46f0' => __DIR__ . '/..' . '/illuminate/events/functions.php', '47e1160838b5e5a10346ac4084b58c23' => __DIR__ . '/..' . '/laravel/prompts/src/helpers.php', - '35a6ad97d21e794e7e22a17d806652e4' => __DIR__ . '/..' . '/nunomaduro/termwind/src/Functions.php', - '7b11c4dc42b3b3023073cb14e519683c' => __DIR__ . '/..' . '/ralouphie/getallheaders/src/getallheaders.php', 'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php', '0d59ee240a4cd96ddbb4ff164fccea4d' => __DIR__ . '/..' . '/symfony/polyfill-php73/bootstrap.php', '23c18046f52bef3eea034657bafda50f' => __DIR__ . '/..' . '/symfony/polyfill-php81/bootstrap.php', + '667aeda72477189d0494fecd327c3641' => __DIR__ . '/..' . '/symfony/var-dumper/Resources/functions/dump.php', '37a3dc5111fe8f707ab4c132ef1dbc62' => __DIR__ . '/..' . '/guzzlehttp/guzzle/src/functions_include.php', + '8825ede83f2f289127722d4e842cf7e8' => __DIR__ . '/..' . '/symfony/polyfill-intl-grapheme/bootstrap.php', + '35a6ad97d21e794e7e22a17d806652e4' => __DIR__ . '/..' . '/nunomaduro/termwind/src/Functions.php', + 'b6b991a57620e2fb6b2f66f03fe9ddc2' => __DIR__ . '/..' . '/symfony/string/Resources/functions.php', '532945a4b12d830ff3e086cc36a64375' => __DIR__ . '/..' . '/james-heinrich/phpthumb/phpthumb.class.php', 'd507e002f7fce7f0c6dbf1f22edcb902' => __DIR__ . '/..' . '/tracy/tracy/src/Tracy/functions.php', '151a7554673bf152d8415507113eb8bd' => __DIR__ . '/../..' . '/functions/actions/bkmanager.php', @@ -454,9 +454,9 @@ class ComposerStaticInitfacb702495127c53b6aa7bcb6294d866 ), 'Illuminate\\Support\\' => array ( - 0 => __DIR__ . '/..' . '/illuminate/macroable', + 0 => __DIR__ . '/..' . '/illuminate/collections', 1 => __DIR__ . '/..' . '/illuminate/conditionable', - 2 => __DIR__ . '/..' . '/illuminate/collections', + 2 => __DIR__ . '/..' . '/illuminate/macroable', 3 => __DIR__ . '/..' . '/illuminate/support', ), 'Illuminate\\Session\\' => diff --git a/core/vendor/composer/composer/doc/00-intro.md b/core/vendor/composer/composer/doc/00-intro.md deleted file mode 100644 index ad43c94f6b..0000000000 --- a/core/vendor/composer/composer/doc/00-intro.md +++ /dev/null @@ -1,197 +0,0 @@ -# Introduction - -Composer is a tool for dependency management in PHP. It allows you to declare -the libraries your project depends on and it will manage (install/update) them -for you. - -## Dependency management - -Composer is **not** a package manager in the same sense as Yum or Apt are. Yes, -it deals with "packages" or libraries, but it manages them on a per-project -basis, installing them in a directory (e.g. `vendor`) inside your project. By -default, it does not install anything globally. Thus, it is a dependency -manager. It does however support a "global" project for convenience via the -[global](03-cli.md#global) command. - -This idea is not new and Composer is strongly inspired by node's -[npm](https://www.npmjs.com/) and ruby's [bundler](https://bundler.io/). - -Suppose: - -1. You have a project that depends on a number of libraries. -2. Some of those libraries depend on other libraries. - -Composer: - -1. Enables you to declare the libraries you depend on. -2. Finds out which versions of which packages can and need to be installed, and - installs them (meaning it downloads them into your project). -3. You can update all your dependencies in one command. - -See the [Basic usage](01-basic-usage.md) chapter for more details on declaring -dependencies. - -## System Requirements - -Composer in its latest version requires PHP 7.2.5 to run. A long-term-support -version (2.2.x) still offers support for PHP 5.3.2+ in case you are stuck with -a legacy PHP version. A few sensitive php settings and compile flags are also -required, but when using the installer you will be warned about any -incompatibilities. - -To install packages from sources instead of plain zip archives, you will need -git, svn, fossil or hg depending on how the package is version-controlled. - -Composer is multi-platform and we strive to make it run equally well on Windows, -Linux and macOS. - -## Installation - Linux / Unix / macOS - -### Downloading the Composer Executable - -Composer offers a convenient installer that you can execute directly from the -command line. Feel free to [download this file](https://getcomposer.org/installer) -or review it on [GitHub](https://github.com/composer/getcomposer.org/blob/main/web/installer) -if you wish to know more about the inner workings of the installer. The source -is plain PHP. - -There are, in short, two ways to install Composer. Locally as part of your -project, or globally as a system wide executable. - -#### Locally - -To install Composer locally, run the installer in your project directory. See -[the Download page](https://getcomposer.org/download/) for instructions. - -The installer will check a few PHP settings and then download `composer.phar` -to your working directory. This file is the Composer binary. It is a PHAR -(PHP archive), which is an archive format for PHP which can be run on -the command line, amongst other things. - -Now run `php composer.phar` in order to run Composer. - -You can install Composer to a specific directory by using the `--install-dir` -option and additionally (re)name it as well using the `--filename` option. When -running the installer when following -[the Download page instructions](https://getcomposer.org/download/) add the -following parameters: - -```shell -php composer-setup.php --install-dir=bin --filename=composer -``` - -Now run `php bin/composer` in order to run Composer. - -#### Globally - -You can place the Composer PHAR anywhere you wish. If you put it in a directory -that is part of your `PATH`, you can access it globally. On Unix systems you -can even make it executable and invoke it without directly using the `php` -interpreter. - -After running the installer following [the Download page instructions](https://getcomposer.org/download/) -you can run this to move composer.phar to a directory that is in your path: - -```shell -mv composer.phar /usr/local/bin/composer -``` - -If you like to install it only for your user and avoid requiring root permissions, -you can use `~/.local/bin` instead which is available by default on some -Linux distributions. - -> **Note:** If the above fails due to permissions, you may need to run it again -> with `sudo`. - -> **Note:** On some versions of macOS the `/usr` directory does not exist by -> default. If you receive the error "/usr/local/bin/composer: No such file or -> directory" then you must create the directory manually before proceeding: -> `mkdir -p /usr/local/bin`. - -> **Note:** For information on changing your PATH, please read the -> [Wikipedia article](https://en.wikipedia.org/wiki/PATH_(variable)) and/or use -> your search engine of choice. - -Now run `composer` in order to run Composer instead of `php composer.phar`. - -## Installation - Windows - -### Using the Installer - -This is the easiest way to get Composer set up on your machine. - -Download and run -[Composer-Setup.exe](https://getcomposer.org/Composer-Setup.exe). It will -install the latest Composer version and set up your PATH so that you can -call `composer` from any directory in your command line. - -> **Note:** Close your current terminal. Test usage with a new terminal: This is -> important since the PATH only gets loaded when the terminal starts. - -### Manual Installation - -Change to a directory on your `PATH` and run the installer following -[the Download page instructions](https://getcomposer.org/download/) -to download `composer.phar`. - -Create a new `composer.bat` file alongside `composer.phar`: - -Using cmd.exe: - -```shell -C:\bin> echo @php "%~dp0composer.phar" %*>composer.bat -``` - -Using PowerShell: - -```shell -PS C:\bin> Set-Content composer.bat '@php "%~dp0composer.phar" %*' -``` - -Add the directory to your PATH environment variable if it isn't already. -For information on changing your PATH variable, please see -[this article](https://www.computerhope.com/issues/ch000549.htm) and/or -use your search engine of choice. - -Close your current terminal. Test usage with a new terminal: - -```shell -C:\Users\username>composer -V -``` -```text -Composer version 2.4.0 2022-08-16 16:10:48 -``` - -## Docker Image - -Composer is published as Docker container in a few places, see the list in the [composer/docker README](https://github.com/composer/docker). - -Example usage: - -```shell -docker pull composer/composer -docker run --rm -it -v "$(pwd):/app" composer/composer install -``` - -To add Composer to an existing **Dockerfile** you can simply copy binary file from pre-built, low-size images: - -```Dockerfile -# Latest release -COPY --from=composer/composer:latest-bin /composer /usr/bin/composer - -# Specific release -COPY --from=composer/composer:2-bin /composer /usr/bin/composer -``` - -Read the [image description](https://hub.docker.com/r/composer/composer) for further usage information. - -**Note:** Docker specific issues should be filed [on the composer/docker repository](https://github.com/composer/docker/issues). - -**Note:** You may also use `composer` instead of `composer/composer` as image name above. It is shorter and is a Docker official image but is not published directly by us and thus usually receives new releases with a delay of a few days. **Important**: short-aliased images don't have binary-only equivalents, so for `COPY --from` approach it's better to use `composer/composer` ones. - -## Using Composer - -Now that you've installed Composer, you are ready to use it! Head on over to the -next chapter for a short demonstration. - -[Basic usage](01-basic-usage.md) → diff --git a/core/vendor/composer/composer/doc/01-basic-usage.md b/core/vendor/composer/composer/doc/01-basic-usage.md deleted file mode 100644 index e0ac13c1ca..0000000000 --- a/core/vendor/composer/composer/doc/01-basic-usage.md +++ /dev/null @@ -1,279 +0,0 @@ -# Basic usage - -## Introduction - -For our basic usage introduction, we will be installing `monolog/monolog`, -a logging library. If you have not yet installed Composer, refer to the -[Intro](00-intro.md) chapter. - -> **Note:** for the sake of simplicity, this introduction will assume you -> have performed a [local](00-intro.md#locally) install of Composer. - -## `composer.json`: Project setup - -To start using Composer in your project, all you need is a `composer.json` -file. This file describes the dependencies of your project and may contain -other metadata as well. It typically should go in the top-most directory of -your project/VCS repository. You can technically run Composer anywhere but -if you want to publish a package to Packagist.org, it will have to be able -to find the file at the top of your VCS repository. - -### The `require` key - -The first thing you specify in `composer.json` is the -[`require`](04-schema.md#require) key. You are telling Composer which -packages your project depends on. - -```json -{ - "require": { - "monolog/monolog": "2.0.*" - } -} -``` - -As you can see, [`require`](04-schema.md#require) takes an object that maps -**package names** (e.g. `monolog/monolog`) to **version constraints** (e.g. -`1.0.*`). - -Composer uses this information to search for the right set of files in package -"repositories" that you register using the [`repositories`](04-schema.md#repositories) -key, or in [Packagist.org](https://packagist.org), the default package repository. -In the above example, since no other repository has been registered in the -`composer.json` file, it is assumed that the `monolog/monolog` package is registered -on Packagist.org. (Read more [about Packagist](#packagist), and -[about repositories](05-repositories.md)). - -### Package names - -The package name consists of a vendor name and the project's name. Often these -will be identical - the vendor name only exists to prevent naming clashes. For -example, it would allow two different people to create a library named `json`. -One might be named `igorw/json` while the other might be `seldaek/json`. - -Read more about [publishing packages and package naming](02-libraries.md). -(Note that you can also specify "platform packages" as dependencies, allowing -you to require certain versions of server software. See -[platform packages](#platform-packages) below.) - -### Package version constraints - -In our example, we are requesting the Monolog package with the version constraint -[`2.0.*`](https://semver.mwl.be/#?package=monolog%2Fmonolog&version=2.0.*). -This means any version in the `2.0` development branch, or any version that is -greater than or equal to 2.0 and less than 2.1 (`>=2.0 <2.1`). - -Please read [versions](articles/versions.md) for more in-depth information on -versions, how versions relate to each other, and on version constraints. - -> **How does Composer download the right files?** When you specify a dependency in -> `composer.json`, Composer first takes the name of the package that you have requested -> and searches for it in any repositories that you have registered using the -> [`repositories`](04-schema.md#repositories) key. If you have not registered -> any extra repositories, or it does not find a package with that name in the -> repositories you have specified, it falls back to Packagist.org (more [below](#packagist)). -> -> When Composer finds the right package, either in Packagist.org or in a repo you have specified, -> it then uses the versioning features of the package's VCS (i.e., branches and tags) -> to attempt to find the best match for the version constraint you have specified. Be sure to read -> about versions and package resolution in the [versions article](articles/versions.md). - -> **Note:** If you are trying to require a package but Composer throws an error -> regarding package stability, the version you have specified may not meet your -> default minimum stability requirements. By default, only stable releases are taken -> into consideration when searching for valid package versions in your VCS. -> -> You might run into this if you are trying to require dev, alpha, beta, or RC -> versions of a package. Read more about stability flags and the `minimum-stability` -> key on the [schema page](04-schema.md). - -## Installing dependencies - -To initially install the defined dependencies for your project, you should run the -[`update`](03-cli.md#update-u) command. - -```shell -php composer.phar update -``` - -This will make Composer do two things: - -- It resolves all dependencies listed in your `composer.json` file and writes all of the - packages and their exact versions to the `composer.lock` file, locking the project to - those specific versions. You should commit the `composer.lock` file to your project repo - so that all people working on the project are locked to the same versions of dependencies - (more below). This is the main role of the `update` command. -- It then implicitly runs the [`install`](03-cli.md#install-i) command. This will download - the dependencies' files into the `vendor` directory in your project. (The `vendor` - directory is the conventional location for all third-party code in a project). In our - example from above, you would end up with the Monolog source files in - `vendor/monolog/monolog/`. As Monolog has a dependency on `psr/log`, that package's files - can also be found inside `vendor/`. - -> **Tip:** If you are using git for your project, you probably want to add -> `vendor` in your `.gitignore`. You really don't want to add all of that -> third-party code to your versioned repository. - -### Commit your `composer.lock` file to version control - -Committing this file to version control is important because it will cause anyone -who sets up the project to use the exact same -versions of the dependencies that you are using. Your CI server, production -machines, other developers in your team, everything and everyone runs on the -same dependencies, which mitigates the potential for bugs affecting only some -parts of the deployments. Even if you develop alone, in six months when -reinstalling the project you can feel confident the dependencies installed are -still working even if your dependencies released many new versions since then. -(See note below about using the `update` command.) - -> **Note:** For libraries it is not necessary to commit the lock -> file, see also: [Libraries - Lock file](02-libraries.md#lock-file). - -### Installing from `composer.lock` - -If there is already a `composer.lock` file in the project folder, it means either -you ran the `update` command before, or someone else on the project ran the `update` -command and committed the `composer.lock` file to the project (which is good). - -Either way, running `install` when a `composer.lock` file is present resolves and installs -all dependencies that you listed in `composer.json`, but Composer uses the exact versions listed -in `composer.lock` to ensure that the package versions are consistent for everyone -working on your project. As a result you will have all dependencies requested by your -`composer.json` file, but they may not all be at the very latest available versions -(some of the dependencies listed in the `composer.lock` file may have released newer versions since -the file was created). This is by design, it ensures that your project does not break because of -unexpected changes in dependencies. - -So after fetching new changes from your VCS repository it is recommended to run -a Composer `install` to make sure the vendor directory is up in sync with your -`composer.lock` file. - -```shell -php composer.phar install -``` - -## Updating dependencies to their latest versions - -As mentioned above, the `composer.lock` file prevents you from automatically getting -the latest versions of your dependencies. To update to the latest versions, use the -[`update`](03-cli.md#update-u) command. This will fetch the latest matching -versions (according to your `composer.json` file) and update the lock file -with the new versions. - -```shell -php composer.phar update -``` - -> **Note:** Composer will display a Warning when executing an `install` command -> if the `composer.lock` has not been updated since changes were made to the -> `composer.json` that might affect dependency resolution. - -If you only want to install, upgrade or remove one dependency, you can explicitly list it as an argument: - -```shell -php composer.phar update monolog/monolog [...] -``` - -## Packagist - -[Packagist.org](https://packagist.org/) is the main Composer repository. A Composer -repository is basically a package source: a place where you can get packages -from. Packagist aims to be the central repository that everybody uses. This -means that you can automatically `require` any package that is available there, -without further specifying where Composer should look for the package. - -If you go to the [Packagist.org website](https://packagist.org/), -you can browse and search for packages. - -Any open source project using Composer is recommended to publish their packages -on Packagist. A library does not need to be on Packagist to be used by Composer, -but it enables discovery and adoption by other developers more quickly. - -## Platform packages - -Composer has platform packages, which are virtual packages for things that are -installed on the system but are not actually installable by Composer. This -includes PHP itself, PHP extensions and some system libraries. - -* `php` represents the PHP version of the user, allowing you to apply - constraints, e.g. `^7.1`. To require a 64bit version of php, you can - require the `php-64bit` package. - -* `hhvm` represents the version of the HHVM runtime and allows you to apply - a constraint, e.g., `^2.3`. - -* `ext-` allows you to require PHP extensions (includes core - extensions). Versioning can be quite inconsistent here, so it's often - a good idea to set the constraint to `*`. An example of an extension - package name is `ext-gd`. - -* `lib-` allows constraints to be made on versions of libraries used by - PHP. The following are available: `curl`, `iconv`, `icu`, `libxml`, - `openssl`, `pcre`, `uuid`, `xsl`. - -You can use [`show --platform`](03-cli.md#show) to get a list of your locally -available platform packages. - -## Autoloading - -For libraries that specify autoload information, Composer generates a -`vendor/autoload.php` file. You can include this file and start -using the classes that those libraries provide without any extra work: - -```php -require __DIR__ . '/vendor/autoload.php'; - -$log = new Monolog\Logger('name'); -$log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING)); -$log->warning('Foo'); -``` - -You can even add your own code to the autoloader by adding an -[`autoload`](04-schema.md#autoload) field to `composer.json`. - -```json -{ - "autoload": { - "psr-4": {"Acme\\": "src/"} - } -} -``` - -Composer will register a [PSR-4](https://www.php-fig.org/psr/psr-4/) autoloader -for the `Acme` namespace. - -You define a mapping from namespaces to directories. The `src` directory would -be in your project root, on the same level as the `vendor` directory. An example -filename would be `src/Foo.php` containing an `Acme\Foo` class. - -After adding the [`autoload`](04-schema.md#autoload) field, you have to re-run -this command: - -```shell -php composer.phar dump-autoload -``` - -This command will re-generate the `vendor/autoload.php` file. -See the [`dump-autoload`](03-cli.md#dump-autoload-dumpautoload-) section for -more information. - -Including that file will also return the autoloader instance, so you can store -the return value of the include call in a variable and add more namespaces. -This can be useful for autoloading classes in a test suite, for example. - -```php -$loader = require __DIR__ . '/vendor/autoload.php'; -$loader->addPsr4('Acme\\Test\\', __DIR__); -``` - -In addition to PSR-4 autoloading, Composer also supports PSR-0, classmap and -files autoloading. See the [`autoload`](04-schema.md#autoload) reference for -more information. - -See also the docs on [optimizing the autoloader](articles/autoloader-optimization.md). - -> **Note:** Composer provides its own autoloader. If you don't want to use that -> one, you can include `vendor/composer/autoload_*.php` files, which return -> associative arrays allowing you to configure your own autoloader. - -← [Intro](00-intro.md) | [Libraries](02-libraries.md) → diff --git a/core/vendor/composer/composer/doc/02-libraries.md b/core/vendor/composer/composer/doc/02-libraries.md deleted file mode 100644 index c731f105d9..0000000000 --- a/core/vendor/composer/composer/doc/02-libraries.md +++ /dev/null @@ -1,153 +0,0 @@ -# Libraries - -This chapter will tell you how to make your library installable through -Composer. - -## Every project is a package - -As soon as you have a `composer.json` in a directory, that directory is a -package. When you add a [`require`](04-schema.md#require) to a project, you are -making a package that depends on other packages. The only difference between -your project and a library is that your project is a package without a name. - -In order to make that package installable you need to give it a name. You do -this by adding the [`name`](04-schema.md#name) property in `composer.json`: - -```json -{ - "name": "acme/hello-world", - "require": { - "monolog/monolog": "1.0.*" - } -} -``` - -In this case the project name is `acme/hello-world`, where `acme` is the vendor -name. Supplying a vendor name is mandatory. - -> **Note:** If you don't know what to use as a vendor name, your GitHub -> username is usually a good bet. Package names must be lowercase, and the -> convention is to use dashes for word separation. - -## Library Versioning - -In the vast majority of cases, you will be maintaining your library using some -sort of version control system like git, svn, hg or fossil. In these cases, -Composer infers versions from your VCS, and you **should not** specify a version -in your `composer.json` file. (See the [Versions article](articles/versions.md) -to learn about how Composer uses VCS branches and tags to resolve version -constraints.) - -If you are maintaining packages by hand (i.e., without a VCS), you'll need to -specify the version explicitly by adding a `version` value in your `composer.json` -file: - -```json -{ - "version": "1.0.0" -} -``` - -> **Note:** When you add a hardcoded version to a VCS, the version will conflict -> with tag names. Composer will not be able to determine the version number. - -### VCS Versioning - -Composer uses your VCS's branch and tag features to resolve the version -constraints you specify in your [`require`](04-schema.md#require) field to specific sets of files. -When determining valid available versions, Composer looks at all of your tags -and branches and translates their names into an internal list of options that -it then matches against the version constraint you provided. - -For more on how Composer treats tags and branches and how it resolves package -version constraints, read the [versions](articles/versions.md) article. - -## Lock file - -For your library you may commit the `composer.lock` file if you want to. This -can help your team to always test against the same dependency versions. -However, this lock file will not have any effect on other projects that depend -on it. It only has an effect on the main project. - -If you do not want to commit the lock file, and you are using git, add it to -the `.gitignore`. - -## Publishing to a VCS - -Once you have a VCS repository (version control system, e.g. git) containing a -`composer.json` file, your library is already composer-installable. In this -example we will publish the `acme/hello-world` library on GitHub under -`github.com/username/hello-world`. - -Now, to test installing the `acme/hello-world` package, we create a new -project locally. We will call it `acme/blog`. This blog will depend on -`acme/hello-world`, which in turn depends on `monolog/monolog`. We can -accomplish this by creating a new `blog` directory somewhere, containing a -`composer.json`: - -```json -{ - "name": "acme/blog", - "require": { - "acme/hello-world": "dev-master" - } -} -``` - -The name is not needed in this case, since we don't want to publish the blog -as a library. It is added here to clarify which `composer.json` is being -described. - -Now we need to tell the blog app where to find the `hello-world` dependency. -We do this by adding a package repository specification to the blog's -`composer.json`: - -```json -{ - "name": "acme/blog", - "repositories": [ - { - "type": "vcs", - "url": "https://github.com/username/hello-world" - } - ], - "require": { - "acme/hello-world": "dev-master" - } -} -``` - -For more details on how package repositories work and what other types are -available, see [Repositories](05-repositories.md). - -That's all. You can now install the dependencies by running Composer's -[`install`](03-cli.md#install) command! - -**Recap:** Any git/svn/hg/fossil repository containing a `composer.json` can be -added to your project by specifying the package repository and declaring the -dependency in the [`require`](04-schema.md#require) field. - -## Publishing to packagist - -Alright, so now you can publish packages. But specifying the VCS repository -every time is cumbersome. You don't want to force all your users to do that. - -The other thing that you may have noticed is that we did not specify a package -repository for `monolog/monolog`. How did that work? The answer is Packagist. - -[Packagist](https://packagist.org/) is the main package repository for -Composer, and it is enabled by default. Anything that is published on -Packagist is available automatically through Composer. Since -[Monolog is on Packagist](https://packagist.org/packages/monolog/monolog), we -can depend on it without having to specify any additional repositories. - -If we wanted to share `hello-world` with the world, we would publish it on -Packagist as well. - -You visit [Packagist](https://packagist.org) and hit the "Submit" -button. This will prompt you to sign up if you haven't already, and then -allows you to submit the URL to your VCS repository, at which point Packagist -will start crawling it. Once it is done, your package will be available to -anyone! - -← [Basic usage](01-basic-usage.md) | [Command-line interface](03-cli.md) → diff --git a/core/vendor/composer/composer/doc/03-cli.md b/core/vendor/composer/composer/doc/03-cli.md deleted file mode 100644 index 26c66c84d7..0000000000 --- a/core/vendor/composer/composer/doc/03-cli.md +++ /dev/null @@ -1,1299 +0,0 @@ -# Command-line interface / Commands - -You've already learned how to use the command-line interface to do some -things. This chapter documents all the available commands. - -To get help from the command-line, call `composer` or `composer list` -to see the complete list of commands, then `--help` combined with any of those -can give you more information. - -As Composer uses [symfony/console](https://github.com/symfony/console) you can call commands by short name if it's not ambiguous. -```shell -php composer.phar dump -``` -calls `composer dump-autoload`. - -## Bash Completions - -To install bash completions you can run `composer completion bash > completion.bash`. -This will create a `completion.bash` file in the current directory. - -Then execute `source completion.bash` to enable it in the current terminal session. - -Move and rename the `completion.bash` file to `/etc/bash_completion.d/composer` to make -it load automatically in new terminals. - -## Global Options - -The following options are available with every command: - -* **--verbose (-v):** Increase verbosity of messages. -* **--help (-h):** Display help information. -* **--quiet (-q):** Do not output any message. -* **--no-interaction (-n):** Do not ask any interactive question. -* **--no-plugins:** Disables plugins. -* **--no-scripts:** Skips execution of scripts defined in `composer.json`. -* **--no-cache:** Disables the use of the cache directory. Same as setting the COMPOSER_CACHE_DIR - env var to /dev/null (or NUL on Windows). -* **--working-dir (-d):** If specified, use the given directory as working directory. -* **--profile:** Display timing and memory usage information -* **--ansi:** Force ANSI output. -* **--no-ansi:** Disable ANSI output. -* **--version (-V):** Display this application version. - -## Process Exit Codes - -* **0:** OK -* **1:** Generic/unknown error code -* **2:** Dependency solving error code - -## init - -In the [Libraries](02-libraries.md) chapter we looked at how to create a -`composer.json` by hand. There is also an `init` command available to do this. - -When you run the command it will interactively ask you to fill in the fields, -while using some smart defaults. - -```shell -php composer.phar init -``` - -### Options - -* **--name:** Name of the package. -* **--description:** Description of the package. -* **--author:** Author name of the package. -* **--type:** Type of package. -* **--homepage:** Homepage of the package. -* **--require:** Package to require with a version constraint. Should be - in format `foo/bar:1.0.0`. -* **--require-dev:** Development requirements, see **--require**. -* **--stability (-s):** Value for the `minimum-stability` field. -* **--license (-l):** License of package. -* **--repository:** Provide one (or more) custom repositories. They will be stored - in the generated composer.json, and used for auto-completion when prompting for - the list of requires. Every repository can be either an HTTP URL pointing - to a `composer` repository or a JSON string which similar to what the - [repositories](04-schema.md#repositories) key accepts. -* **--autoload (-a):** Add a PSR-4 autoload mapping to the composer.json. Automatically maps your package's namespace to the provided directory. (Expects a relative path, e.g. src/) See also [PSR-4 autoload](04-schema.md#psr-4). - -## install / i - -The `install` command reads the `composer.json` file from the current -directory, resolves the dependencies, and installs them into `vendor`. - -```shell -php composer.phar install -``` - -If there is a `composer.lock` file in the current directory, it will use the -exact versions from there instead of resolving them. This ensures that -everyone using the library will get the same versions of the dependencies. - -If there is no `composer.lock` file, Composer will create one after dependency -resolution. - -### Options - -* **--prefer-install:** There are two ways of downloading a package: `source` - and `dist`. Composer uses `dist` by default. If you pass - `--prefer-install=source` (or `--prefer-source`) Composer will install from - `source` if there is one. This is useful if you want to make a bugfix to a - project and get a local git clone of the dependency directly. - To get the legacy behavior where Composer use `source` automatically for dev - versions of packages, use `--prefer-install=auto`. See also [config.preferred-install](06-config.md#preferred-install). - Passing this flag will override the config value. -* **--dry-run:** If you want to run through an installation without actually - installing a package, you can use `--dry-run`. This will simulate the - installation and show you what would happen. -* **--download-only:** Download only, do not install packages. -* **--dev:** Install packages listed in `require-dev` (this is the default behavior). -* **--no-dev:** Skip installing packages listed in `require-dev`. The autoloader - generation skips the `autoload-dev` rules. Also see [COMPOSER_NO_DEV](#composer-no-dev). -* **--no-autoloader:** Skips autoloader generation. -* **--no-progress:** Removes the progress display that can mess with some - terminals or scripts which don't handle backspace characters. -* **--audit:** Run an audit after installation is complete. -* **--audit-format:** Audit output format. Must be "table", "plain", "json", or "summary" (default). -* **--optimize-autoloader (-o):** Convert PSR-0/4 autoloading to classmap to get a faster - autoloader. This is recommended especially for production, but can take - a bit of time to run so it is currently not done by default. -* **--classmap-authoritative (-a):** Autoload classes from the classmap only. - Implicitly enables `--optimize-autoloader`. -* **--apcu-autoloader:** Use APCu to cache found/not-found classes. -* **--apcu-autoloader-prefix:** Use a custom prefix for the APCu autoloader cache. - Implicitly enables `--apcu-autoloader`. -* **--ignore-platform-reqs:** ignore all platform requirements (`php`, `hhvm`, - `lib-*` and `ext-*`) and force the installation even if the local machine does - not fulfill these. - See also the [`platform`](06-config.md#platform) config option. -* **--ignore-platform-req:** ignore a specific platform requirement(`php`, - `hhvm`, `lib-*` and `ext-*`) and force the installation even if the local machine - does not fulfill it. Multiple requirements can be ignored via wildcard. Appending - a `+` makes it only ignore the upper-bound of the requirements. For example, if a package - requires `php: ^7`, then the option `--ignore-platform-req=php+` would allow installing on PHP 8, - but installation on PHP 5.6 would still fail. - -## update / u / upgrade - -In order to get the latest versions of the dependencies and to update the -`composer.lock` file, you should use the `update` command. This command is also -aliased as `upgrade` as it does the same as `upgrade` does if you are thinking -of `apt-get` or similar package managers. - -```shell -php composer.phar update -``` - -This will resolve all dependencies of the project and write the exact versions -into `composer.lock`. - -If you only want to update a few packages and not all, you can list them as such: - -```shell -php composer.phar update vendor/package vendor/package2 -``` - -You can also use wildcards to update a bunch of packages at once: - -```shell -php composer.phar update "vendor/*" -``` - - -If you want to downgrade a package to a specific version without changing your -composer.json you can use `--with` and provide a custom version constraint: - -```shell -php composer.phar update --with vendor/package:2.0.1 -``` - -Note that with the above all packages will be updated. If you only want to -update the package(s) for which you provide custom constraints using `--with`, -you can skip `--with` and instead use constraints with the partial update syntax: - -```shell -php composer.phar update vendor/package:2.0.1 vendor/package2:3.0.* -``` - -> **Note:** For packages also required in your composer.json the custom constraint -> must be a subset of the existing constraint. The composer.json constraints still -> apply and the composer.json is not modified by these temporary update constraints. - - -### Options - -* **--prefer-install:** There are two ways of downloading a package: `source` - and `dist`. Composer uses `dist` by default. If you pass - `--prefer-install=source` (or `--prefer-source`) Composer will install from - `source` if there is one. This is useful if you want to make a bugfix to a - project and get a local git clone of the dependency directly. - To get the legacy behavior where Composer use `source` automatically for dev - versions of packages, use `--prefer-install=auto`. See also [config.preferred-install](06-config.md#preferred-install). - Passing this flag will override the config value. -* **--dry-run:** Simulate the command without actually doing anything. -* **--dev:** Install packages listed in `require-dev` (this is the default behavior). -* **--no-dev:** Skip installing packages listed in `require-dev`. The autoloader generation skips the `autoload-dev` rules. Also see [COMPOSER_NO_DEV](#composer-no-dev). -* **--no-install:** Does not run the install step after updating the composer.lock file. -* **--no-audit:** Does not run the audit steps after updating the composer.lock file. Also see [COMPOSER_NO_AUDIT](#composer-no-audit). -* **--audit-format:** Audit output format. Must be "table", "plain", "json", or "summary" (default). -* **--lock:** Only updates the lock file hash to suppress warning about the - lock file being out of date. -* **--with:** Temporary version constraint to add, e.g. foo/bar:1.0.0 or foo/bar=1.0.0 -* **--no-autoloader:** Skips autoloader generation. -* **--no-progress:** Removes the progress display that can mess with some - terminals or scripts which don't handle backspace characters. -* **--with-dependencies (-w):** Update also dependencies of packages in the argument list, except those which are root requirements. -* **--with-all-dependencies (-W):** Update also dependencies of packages in the argument list, including those which are root requirements. -* **--optimize-autoloader (-o):** Convert PSR-0/4 autoloading to classmap to get a faster - autoloader. This is recommended especially for production, but can take - a bit of time to run, so it is currently not done by default. -* **--classmap-authoritative (-a):** Autoload classes from the classmap only. - Implicitly enables `--optimize-autoloader`. -* **--apcu-autoloader:** Use APCu to cache found/not-found classes. -* **--apcu-autoloader-prefix:** Use a custom prefix for the APCu autoloader cache. - Implicitly enables `--apcu-autoloader`. -* **--ignore-platform-reqs:** ignore all platform requirements (`php`, `hhvm`, - `lib-*` and `ext-*`) and force the installation even if the local machine does - not fulfill these. - See also the [`platform`](06-config.md#platform) config option. -* **--ignore-platform-req:** ignore a specific platform requirement(`php`, - `hhvm`, `lib-*` and `ext-*`) and force the installation even if the local machine - does not fulfill it. Multiple requirements can be ignored via wildcard. Appending - a `+` makes it only ignore the upper-bound of the requirements. For example, if a package - requires `php: ^7`, then the option `--ignore-platform-req=php+` would allow installing on PHP 8, - but installation on PHP 5.6 would still fail. -* **--prefer-stable:** Prefer stable versions of dependencies. Can also be set via the - COMPOSER_PREFER_STABLE=1 env var. -* **--prefer-lowest:** Prefer lowest versions of dependencies. Useful for testing minimal - versions of requirements, generally used with `--prefer-stable`. Can also be set via the - COMPOSER_PREFER_LOWEST=1 env var. -* **--interactive:** Interactive interface with autocompletion to select the packages to update. -* **--root-reqs:** Restricts the update to your first degree dependencies. - -Specifying one of the words `mirrors`, `lock`, or `nothing` as an argument has the same effect as specifying the option `--lock`, for example `composer update mirrors` is exactly the same as `composer update --lock`. - -## require / r - -The `require` command adds new packages to the `composer.json` file from -the current directory. If no file exists one will be created on the fly. - -```shell -php composer.phar require -``` - -After adding/changing the requirements, the modified requirements will be -installed or updated. - -If you do not want to choose requirements interactively, you can pass them -to the command. - -```shell -php composer.phar require "vendor/package:2.*" vendor/package2:dev-master -``` - -If you do not specify a package, Composer will prompt you to search for a package, and given results, provide a list of matches to require. - -### Options - -* **--dev:** Add packages to `require-dev`. -* **--dry-run:** Simulate the command without actually doing anything. -* **--prefer-install:** There are two ways of downloading a package: `source` - and `dist`. Composer uses `dist` by default. If you pass - `--prefer-install=source` (or `--prefer-source`) Composer will install from - `source` if there is one. This is useful if you want to make a bugfix to a - project and get a local git clone of the dependency directly. - To get the legacy behavior where Composer use `source` automatically for dev - versions of packages, use `--prefer-install=auto`. See also [config.preferred-install](06-config.md#preferred-install). - Passing this flag will override the config value. -* **--no-progress:** Removes the progress display that can mess with some - terminals or scripts which don't handle backspace characters. -* **--no-update:** Disables the automatic update of the dependencies (implies --no-install). -* **--no-install:** Does not run the install step after updating the composer.lock file. -* **--no-audit:** Does not run the audit steps after updating the composer.lock file. Also see [COMPOSER_NO_AUDIT](#composer-no-audit). -* **--audit-format:** Audit output format. Must be "table", "plain", "json", or "summary" (default). -* **--update-no-dev:** Run the dependency update with the `--no-dev` option. Also see [COMPOSER_NO_DEV](#composer-no-dev). -* **--update-with-dependencies (-w):** Also update dependencies of the newly required packages, except those that are root requirements. -* **--update-with-all-dependencies (-W):** Also update dependencies of the newly required packages, including those that are root requirements. -* **--ignore-platform-reqs:** ignore all platform requirements (`php`, `hhvm`, - `lib-*` and `ext-*`) and force the installation even if the local machine does - not fulfill these. - See also the [`platform`](06-config.md#platform) config option. -* **--ignore-platform-req:** ignore a specific platform requirement(`php`, - `hhvm`, `lib-*` and `ext-*`) and force the installation even if the local machine - does not fulfill it. Multiple requirements can be ignored via wildcard. -* **--prefer-stable:** Prefer stable versions of dependencies. Can also be set via the - COMPOSER_PREFER_STABLE=1 env var. -* **--prefer-lowest:** Prefer lowest versions of dependencies. Useful for testing minimal - versions of requirements, generally used with `--prefer-stable`. Can also be set via the - COMPOSER_PREFER_LOWEST=1 env var. -* **--sort-packages:** Keep packages sorted in `composer.json`. -* **--optimize-autoloader (-o):** Convert PSR-0/4 autoloading to classmap to - get a faster autoloader. This is recommended especially for production, but - can take a bit of time to run, so it is currently not done by default. -* **--classmap-authoritative (-a):** Autoload classes from the classmap only. - Implicitly enables `--optimize-autoloader`. -* **--apcu-autoloader:** Use APCu to cache found/not-found classes. -* **--apcu-autoloader-prefix:** Use a custom prefix for the APCu autoloader cache. - Implicitly enables `--apcu-autoloader`. - -## remove - -The `remove` command removes packages from the `composer.json` file from -the current directory. - -```shell -php composer.phar remove vendor/package vendor/package2 -``` - -After removing the requirements, the modified requirements will be -uninstalled. - -### Options - -* **--unused** Remove unused packages that are not a direct or indirect dependency (anymore) -* **--dev:** Remove packages from `require-dev`. -* **--dry-run:** Simulate the command without actually doing anything. -* **--no-progress:** Removes the progress display that can mess with some - terminals or scripts which don't handle backspace characters. -* **--no-update:** Disables the automatic update of the dependencies (implies --no-install). -* **--no-install:** Does not run the install step after updating the composer.lock file. -* **--no-audit:** Does not run the audit steps after installation is complete. Also see [COMPOSER_NO_AUDIT](#composer-no-audit). -* **--audit-format:** Audit output format. Must be "table", "plain", "json", or "summary" (default). -* **--update-no-dev:** Run the dependency update with the --no-dev option. Also see [COMPOSER_NO_DEV](#composer-no-dev). -* **--update-with-dependencies (-w):** Also update dependencies of the removed packages. - (Deprecated, is now default behavior) -* **--update-with-all-dependencies (-W):** Allows all inherited dependencies to be updated, - including those that are root requirements. -* **--ignore-platform-reqs:** ignore all platform requirements (`php`, `hhvm`, - `lib-*` and `ext-*`) and force the installation even if the local machine does - not fulfill these. - See also the [`platform`](06-config.md#platform) config option. -* **--ignore-platform-req:** ignore a specific platform requirement(`php`, - `hhvm`, `lib-*` and `ext-*`) and force the installation even if the local machine - does not fulfill it. Multiple requirements can be ignored via wildcard. -* **--optimize-autoloader (-o):** Convert PSR-0/4 autoloading to classmap to - get a faster autoloader. This is recommended especially for production, but - can take a bit of time to run so it is currently not done by default. -* **--classmap-authoritative (-a):** Autoload classes from the classmap only. - Implicitly enables `--optimize-autoloader`. -* **--apcu-autoloader:** Use APCu to cache found/not-found classes. -* **--apcu-autoloader-prefix:** Use a custom prefix for the APCu autoloader cache. - Implicitly enables `--apcu-autoloader`. - -## bump - -The `bump` command increases the lower limit of your composer.json requirements -to the currently installed versions. This helps to ensure your dependencies do not -accidentally get downgraded due to some other conflict, and can slightly improve -dependency resolution performance as it limits the amount of package versions -Composer has to look at. - -Running this blindly on libraries is **NOT** recommended as it will narrow down -your allowed dependencies, which may cause dependency hell for your users. -Running it with `--dev-only` on libraries may be fine however as dev requirements -are local to the library and do not affect consumers of the package. - -### Options - -* **--dev-only:** Only bump requirements in "require-dev". -* **--no-dev-only:** Only bump requirements in "require". -* **--dry-run:** Outputs the packages to bump, but will not execute anything. - -## reinstall - -The `reinstall` command looks up installed packages by name, -uninstalls them and reinstalls them. This lets you do a clean install -of a package if you messed with its files, or if you wish to change -the installation type using --prefer-install. - -```shell -php composer.phar reinstall acme/foo acme/bar -``` - -You can specify more than one package name to reinstall, or use a -wildcard to select several packages at once: - -```shell -php composer.phar reinstall "acme/*" -``` - -### Options - -* **--prefer-install:** There are two ways of downloading a package: `source` - and `dist`. Composer uses `dist` by default. If you pass - `--prefer-install=source` (or `--prefer-source`) Composer will install from - `source` if there is one. This is useful if you want to make a bugfix to a - project and get a local git clone of the dependency directly. - To get the legacy behavior where Composer use `source` automatically for dev - versions of packages, use `--prefer-install=auto`. See also [config.preferred-install](06-config.md#preferred-install). - Passing this flag will override the config value. -* **--no-autoloader:** Skips autoloader generation. -* **--no-progress:** Removes the progress display that can mess with some - terminals or scripts which don't handle backspace characters. -* **--optimize-autoloader (-o):** Convert PSR-0/4 autoloading to classmap to get a faster - autoloader. This is recommended especially for production, but can take - a bit of time to run so it is currently not done by default. -* **--classmap-authoritative (-a):** Autoload classes from the classmap only. - Implicitly enables `--optimize-autoloader`. -* **--apcu-autoloader:** Use APCu to cache found/not-found classes. -* **--apcu-autoloader-prefix:** Use a custom prefix for the APCu autoloader cache. - Implicitly enables `--apcu-autoloader`. -* **--ignore-platform-reqs:** ignore all platform requirements. This only - has an effect in the context of the autoloader generation for the - reinstall command. -* **--ignore-platform-req:** ignore a specific platform requirement. This only - has an effect in the context of the autoloader generation for the - reinstall command. Multiple requirements can be ignored via wildcard. - -## check-platform-reqs - -The check-platform-reqs command checks that your PHP and extensions versions -match the platform requirements of the installed packages. This can be used -to verify that a production server has all the extensions needed to run a -project after installing it for example. - -Unlike update/install, this command will ignore config.platform settings and -check the real platform packages so you can be certain you have the required -platform dependencies. - -### Options - -* **--lock:** Checks requirements only from the lock file, not from installed packages. -* **--no-dev:** Disables checking of require-dev packages requirements. -* **--format (-f):** Format of the output: text (default) or json - -## global - -The global command allows you to run other commands like `install`, `remove`, `require` -or `update` as if you were running them from the [COMPOSER_HOME](#composer-home) -directory. - -This is merely a helper to manage a project stored in a central location that -can hold CLI tools or Composer plugins that you want to have available everywhere. - -This can be used to install CLI utilities globally. Here is an example: - -```shell -php composer.phar global require friendsofphp/php-cs-fixer -``` - -Now the `php-cs-fixer` binary is available globally. Make sure your global -[vendor binaries](articles/vendor-binaries.md) directory is in your `$PATH` -environment variable, you can get its location with the following command : - -```shell -php composer.phar global config bin-dir --absolute -``` - -If you wish to update the binary later on you can run a global update: - -```shell -php composer.phar global update -``` - -## search - -The search command allows you to search through the current project's package -repositories. Usually this will be packagist. You pass it the terms you want -to search for. - -```shell -php composer.phar search monolog -``` - -You can also search for more than one term by passing multiple arguments. - -### Options - -* **--only-name (-N):** Search only in package names. -* **--only-vendor (-O):** Search only for vendor / organization names, returns only "vendor" - as a result. -* **--type (-t):** Search for a specific package type. -* **--format (-f):** Lets you pick between text (default) or json output format. - Note that in the json, only the name and description keys are guaranteed to be - present. The rest (`url`, `repository`, `downloads` and `favers`) are available - for Packagist.org search results and other repositories may return more or less - data. - -## show / info - -To list all of the available packages, you can use the `show` command. - -```shell -php composer.phar show -``` - -To filter the list you can pass a package mask using wildcards. - -```shell -php composer.phar show "monolog/*" -``` -```text -monolog/monolog 2.4.0 Sends your logs to files, sockets, inboxes, databases and various web services -``` - -If you want to see the details of a certain package, you can pass the package -name. - -```shell -php composer.phar show monolog/monolog -``` -```text -name : monolog/monolog -descrip. : Sends your logs to files, sockets, inboxes, databases and various web services -keywords : log, logging, psr-3 -versions : * 1.27.1 -type : library -license : MIT License (MIT) (OSI approved) https://spdx.org/licenses/MIT.html#licenseText -homepage : http://github.com/Seldaek/monolog -source : [git] https://github.com/Seldaek/monolog.git 904713c5929655dc9b97288b69cfeedad610c9a1 -dist : [zip] https://api.github.com/repos/Seldaek/monolog/zipball/904713c5929655dc9b97288b69cfeedad610c9a1 904713c5929655dc9b97288b69cfeedad610c9a1 -names : monolog/monolog, psr/log-implementation - -support -issues : https://github.com/Seldaek/monolog/issues -source : https://github.com/Seldaek/monolog/tree/1.27.1 - -autoload -psr-4 -Monolog\ => src/Monolog - -requires -php >=5.3.0 -psr/log ~1.0 -``` - -You can even pass the package version, which will tell you the details of that -specific version. - -```shell -php composer.phar show monolog/monolog 1.0.2 -``` - -### Options - -* **--all:** List all packages available in all your repositories. -* **--installed (-i):** List the packages that are installed (this is enabled by default, and deprecated). -* **--locked:** List the locked packages from composer.lock. -* **--platform (-p):** List only platform packages (php & extensions). -* **--available (-a):** List available packages only. -* **--self (-s):** List the root package info. -* **--name-only (-N):** List package names only. -* **--path (-P):** List package paths. -* **--tree (-t):** List your dependencies as a tree. If you pass a package name it will show the dependency tree for that package. -* **--latest (-l):** List all installed packages including their latest version. -* **--outdated (-o):** Implies --latest, but this lists *only* packages that have a newer version available. -* **--ignore:** Ignore specified package(s). Use it with the --outdated option if you don't want to be informed about new versions of some packages -* **--no-dev:** Filters dev dependencies from the package list. -* **--major-only (-M):** Use with --latest or --outdated. Only shows packages that have major SemVer-compatible updates. -* **--minor-only (-m):** Use with --latest or --outdated. Only shows packages that have minor SemVer-compatible updates. -* **--patch-only:** Use with --latest or --outdated. Only shows packages that have patch-level SemVer-compatible updates. -* **--direct (-D):** Restricts the list of packages to your direct dependencies. -* **--strict:** Return a non-zero exit code when there are outdated packages. -* **--format (-f):** Lets you pick between text (default) or json output format. -* **--ignore-platform-reqs:** ignore all platform requirements (`php`, `hhvm`, - `lib-*` and `ext-*`) and force the installation even if the local machine does - not fulfill these. Use with the --outdated option. -* **--ignore-platform-req:** ignore a specific platform requirement(`php`, - `hhvm`, `lib-*` and `ext-*`) and force the installation even if the local machine - does not fulfill it. Multiple requirements can be ignored via wildcard. Use with - the --outdated option. - -## outdated - -The `outdated` command shows a list of installed packages that have updates available, -including their current and latest versions. This is basically an alias for -`composer show -lo`. - -The color coding is as such: - -- **green (=)**: Dependency is in the latest version and is up to date. -- **yellow (`~`)**: Dependency has a new version available that includes backwards compatibility breaks according to semver, so upgrade when - you can but it may involve work. -- **red (!)**: Dependency has a new version that is semver-compatible and you should upgrade it. - -### Options - -* **--all (-a):** Show all packages, not just outdated (alias for `composer show --latest`). -* **--direct (-D):** Restricts the list of packages to your direct dependencies. -* **--strict:** Returns non-zero exit code if any package is outdated. -* **--ignore:** Ignore specified package(s). Use it if you don't want to be informed about new versions of some packages -* **--major-only (-M):** Only shows packages that have major SemVer-compatible updates. -* **--minor-only (-m):** Only shows packages that have minor SemVer-compatible updates. -* **--patch-only (-p):** Only shows packages that have patch-level SemVer-compatible updates. -* **--format (-f):** Lets you pick between text (default) or json output format. -* **--no-dev:** Do not show outdated dev dependencies. -* **--locked:** Shows updates for packages from the lock file, regardless of what is currently in vendor dir. -* **--ignore-platform-reqs:** ignore all platform requirements (`php`, `hhvm`, - `lib-*` and `ext-*`) and force the installation even if the local machine does - not fulfill these. -* **--ignore-platform-req:** ignore a specific platform requirement(`php`, - `hhvm`, `lib-*` and `ext-*`) and force the installation even if the local machine - does not fulfill it. Multiple requirements can be ignored via wildcard. - -## browse / home - -The `browse` (aliased to `home`) opens a package's repository URL or homepage -in your browser. - -### Options - -* **--homepage (-H):** Open the homepage instead of the repository URL. -* **--show (-s):** Only show the homepage or repository URL. - -## suggests - -Lists all packages suggested by the currently installed set of packages. You can -optionally pass one or multiple package names in the format of `vendor/package` -to limit output to suggestions made by those packages only. - -Use the `--by-package` (default) or `--by-suggestion` flags to group the output by -the package offering the suggestions or the suggested packages respectively. - -If you only want a list of suggested package names, use `--list`. - -### Options - -* **--by-package:** Groups output by suggesting package (default). -* **--by-suggestion:** Groups output by suggested package. -* **--all:** Show suggestions from all dependencies, including transitive ones (by - default only direct dependencies' suggestions are shown). -* **--list:** Show only list of suggested package names. -* **--no-dev:** Excludes suggestions from `require-dev` packages. - -## fund - -Discover how to help fund the maintenance of your dependencies. This lists -all funding links from the installed dependencies. Use `--format=json` to -get machine-readable output. - -### Options - -* **--format (-f):** Lets you pick between text (default) or json output format. - -## depends / why - -The `depends` command tells you which other packages depend on a certain -package. As with installation `require-dev` relationships are only considered -for the root package. - -```shell -php composer.phar depends doctrine/lexer -``` -```text -doctrine/annotations 1.13.3 requires doctrine/lexer (1.*) -doctrine/common 2.13.3 requires doctrine/lexer (^1.0) -``` - -You can optionally specify a version constraint after the package to limit the -search. - -Add the `--tree` or `-t` flag to show a recursive tree of why the package is -depended upon, for example: - -```shell -php composer.phar depends psr/log -t -``` -```text -psr/log 1.1.4 Common interface for logging libraries -├──composer/composer 2.4.x-dev (requires psr/log ^1.0 || ^2.0 || ^3.0) -├──composer/composer dev-main (requires psr/log ^1.0 || ^2.0 || ^3.0) -├──composer/xdebug-handler 3.0.3 (requires psr/log ^1 || ^2 || ^3) -│ ├──composer/composer 2.4.x-dev (requires composer/xdebug-handler ^2.0.2 || ^3.0.3) -│ └──composer/composer dev-main (requires composer/xdebug-handler ^2.0.2 || ^3.0.3) -└──symfony/console v5.4.11 (conflicts psr/log >=3) (circular dependency aborted here) -``` - -### Options - -* **--recursive (-r):** Recursively resolves up to the root package. -* **--tree (-t):** Prints the results as a nested tree, implies -r. - -## prohibits / why-not - -The `prohibits` command tells you which packages are blocking a given package -from being installed. Specify a version constraint to verify whether upgrades -can be performed in your project, and if not why not. See the following -example: - -```shell -php composer.phar prohibits symfony/symfony 3.1 -``` -```text -laravel/framework v5.2.16 requires symfony/var-dumper (2.8.*|3.0.*) -``` - -Note that you can also specify platform requirements, for example to check -whether you can upgrade your server to PHP 8.0: - -```shell -php composer.phar prohibits php 8 -``` -```text -doctrine/cache v1.6.0 requires php (~5.5|~7.0) -doctrine/common v2.6.1 requires php (~5.5|~7.0) -doctrine/instantiator 1.0.5 requires php (>=5.3,<8.0-DEV) -``` - -As with `depends` you can request a recursive lookup, which will list all -packages depending on the packages that cause the conflict. - -### Options - -* **--recursive (-r):** Recursively resolves up to the root package. -* **--tree (-t):** Prints the results as a nested tree, implies -r. - -## validate - -You should always run the `validate` command before you commit your -`composer.json` file, and before you tag a release. It will check if your -`composer.json` is valid. - -```shell -php composer.phar validate -``` - -### Options - -* **--no-check-all:** Do not emit a warning if requirements in `composer.json` use unbound or overly strict version constraints. -* **--no-check-lock:** Do not emit an error if `composer.lock` exists and is not up to date. -* **--no-check-publish:** Do not emit an error if `composer.json` is unsuitable for publishing as a package on Packagist but is otherwise valid. -* **--with-dependencies:** Also validate the composer.json of all installed dependencies. -* **--strict:** Return a non-zero exit code for warnings as well as errors. - -## status - -If you often need to modify the code of your dependencies and they are -installed from source, the `status` command allows you to check if you have -local changes in any of them. - -```shell -php composer.phar status -``` - -With the `--verbose` option you get some more information about what was -changed: - -```shell -php composer.phar status -v -``` -```text -You have changes in the following dependencies: -vendor/seld/jsonlint: - M README.mdown -``` - -## self-update / selfupdate - -To update Composer itself to the latest version, run the `self-update` -command. It will replace your `composer.phar` with the latest version. - -```shell -php composer.phar self-update -``` - -If you would like to instead update to a specific release specify it: - -```shell -php composer.phar self-update 2.4.0-RC1 -``` - -If you have installed Composer for your entire system (see [global installation](00-intro.md#globally)), -you may have to run the command with `root` privileges - -```shell -sudo -H composer self-update -``` - -If Composer was not installed as a PHAR, this command is not available. -(This is sometimes the case when Composer was installed by an operating system package manager.) - -### Options - -* **--rollback (-r):** Rollback to the last version you had installed. -* **--clean-backups:** Delete old backups during an update. This makes the - current version of Composer the only backup available after the update. -* **--no-progress:** Do not output download progress. -* **--update-keys:** Prompt user for a key update. -* **--stable:** Force an update to the stable channel. -* **--preview:** Force an update to the preview channel. -* **--snapshot:** Force an update to the snapshot channel. -* **--1:** Force an update to the stable channel, but only use 1.x versions -* **--2:** Force an update to the stable channel, but only use 2.x versions -* **--set-channel-only:** Only store the channel as the default one and then exit - -## config - -The `config` command allows you to edit Composer config settings and repositories -in either the local `composer.json` file or the global `config.json` file. - -Additionally it lets you edit most properties in the local `composer.json`. - -```shell -php composer.phar config --list -``` - -### Usage - -`config [options] [setting-key] [setting-value1] ... [setting-valueN]` - -`setting-key` is a configuration option name and `setting-value1` is a -configuration value. For settings that can take an array of values (like -`github-protocols`), multiple setting-value arguments are allowed. - -You can also edit the values of the following properties: - -`description`, `homepage`, `keywords`, `license`, `minimum-stability`, -`name`, `prefer-stable`, `type` and `version`. - -See the [Config](06-config.md) chapter for valid configuration options. - -### Options - -* **--global (-g):** Operate on the global config file located at - `$COMPOSER_HOME/config.json` by default. Without this option, this command - affects the local composer.json file or a file specified by `--file`. -* **--editor (-e):** Open the local composer.json file using in a text editor as - defined by the `EDITOR` env variable. With the `--global` option, this opens - the global config file. -* **--auth (-a):** Affect auth config file (only used for --editor). -* **--unset:** Remove the configuration element named by `setting-key`. -* **--list (-l):** Show the list of current config variables. With the `--global` - option this lists the global configuration only. -* **--file="..." (-f):** Operate on a specific file instead of composer.json. Note - that this cannot be used in conjunction with the `--global` option. -* **--absolute:** Returns absolute paths when fetching `*-dir` config values - instead of relative. -* **--json:** JSON decode the setting value, to be used with `extra.*` keys. -* **--merge:** Merge the setting value with the current value, to be used with `extra.*` keys in combination with `--json`. -* **--append:** When adding a repository, append it (lowest priority) to the existing ones instead of prepending it (highest priority). -* **--source:** Display where the config value is loaded from. - -### Modifying Repositories - -In addition to modifying the config section, the `config` command also supports making -changes to the repositories section by using it the following way: - -```shell -php composer.phar config repositories.foo vcs https://github.com/foo/bar -``` - -If your repository requires more configuration options, you can instead pass its JSON representation : - -```shell -php composer.phar config repositories.foo '{"type": "vcs", "url": "http://svn.example.org/my-project/", "trunk-path": "master"}' -``` - -### Modifying Extra Values - -In addition to modifying the config section, the `config` command also supports making -changes to the extra section by using it the following way: - -```shell -php composer.phar config extra.foo.bar value -``` - -The dots indicate array nesting, a max depth of 3 levels is allowed though. The above -would set `"extra": { "foo": { "bar": "value" } }`. - -If you have a complex value to add/modify, you can use the `--json` and `--merge` flags -to edit extra fields as json: - -```shell -php composer.phar config --json extra.foo.bar '{"baz": true, "qux": []}' -``` - -## create-project - -You can use Composer to create new projects from an existing package. This is -the equivalent of doing a git clone/svn checkout followed by a `composer install` -of the vendors. - -There are several applications for this: - -1. You can deploy application packages. -2. You can check out any package and start developing on patches for example. -3. Projects with multiple developers can use this feature to bootstrap the - initial application for development. - -To create a new project using Composer you can use the `create-project` command. -Pass it a package name, and the directory to create the project in. You can also -provide a version as a third argument, otherwise the latest version is used. - -If the directory does not currently exist, it will be created during installation. - -```shell -php composer.phar create-project doctrine/orm path "2.2.*" -``` - -It is also possible to run the command without params in a directory with an -existing `composer.json` file to bootstrap a project. - -By default the command checks for the packages on packagist.org. - -### Options - -* **--stability (-s):** Minimum stability of package. Defaults to `stable`. -* **--prefer-install:** There are two ways of downloading a package: `source` - and `dist`. Composer uses `dist` by default. If you pass - `--prefer-install=source` (or `--prefer-source`) Composer will install from - `source` if there is one. This is useful if you want to make a bugfix to a - project and get a local git clone of the dependency directly. - To get the legacy behavior where Composer use `source` automatically for dev - versions of packages, use `--prefer-install=auto`. See also [config.preferred-install](06-config.md#preferred-install). - Passing this flag will override the config value. -* **--repository:** Provide a custom repository to search for the package, - which will be used instead of packagist. Can be either an HTTP URL pointing - to a `composer` repository, a path to a local `packages.json` file, or a - JSON string which similar to what the [repositories](04-schema.md#repositories) - key accepts. You can use this multiple times to configure multiple repositories. -* **--add-repository:** Add the custom repository in the composer.json. If a lock - file is present, it will be deleted and an update will be run instead of an install. -* **--dev:** Install packages listed in `require-dev`. -* **--no-dev:** Disables installation of require-dev packages. -* **--no-scripts:** Disables the execution of the scripts defined in the root - package. -* **--no-progress:** Removes the progress display that can mess with some - terminals or scripts which don't handle backspace characters. -* **--no-secure-http:** Disable the secure-http config option temporarily while - installing the root package. Use at your own risk. Using this flag is a bad - idea. -* **--keep-vcs:** Skip the deletion of the VCS metadata for the created - project. This is mostly useful if you run the command in non-interactive - mode. -* **--remove-vcs:** Force-remove the VCS metadata without prompting. -* **--no-install:** Disables installation of the vendors. -* **--no-audit:** Does not run the audit steps after installation is complete. Also see [COMPOSER_NO_AUDIT](#composer-no-audit). -* **--audit-format:** Audit output format. Must be "table", "plain", "json", or "summary" (default). -* **--ignore-platform-reqs:** ignore all platform requirements (`php`, `hhvm`, - `lib-*` and `ext-*`) and force the installation even if the local machine does - not fulfill these. - See also the [`platform`](06-config.md#platform) config option. -* **--ignore-platform-req:** ignore a specific platform requirement(`php`, - `hhvm`, `lib-*` and `ext-*`) and force the installation even if the local machine - does not fulfill it. Multiple requirements can be ignored via wildcard. -* **--ask:** Ask the user to provide a target directory for the new project. - -## dump-autoload / dumpautoload - -If you need to update the autoloader because of new classes in a classmap -package for example, you can use `dump-autoload` to do that without having to -go through an install or update. - -Additionally, it can dump an optimized autoloader that converts PSR-0/4 packages -into classmap ones for performance reasons. In large applications with many -classes, the autoloader can take up a substantial portion of every request's -time. Using classmaps for everything is less convenient in development, but -using this option you can still use PSR-0/4 for convenience and classmaps for -performance. - -### Options -* **--optimize (-o):** Convert PSR-0/4 autoloading to classmap to get a faster - autoloader. This is recommended especially for production, but can take - a bit of time to run, so it is currently not done by default. -* **--classmap-authoritative (-a):** Autoload classes from the classmap only. - Implicitly enables `--optimize`. -* **--apcu:** Use APCu to cache found/not-found classes. -* **--apcu-prefix:** Use a custom prefix for the APCu autoloader cache. - Implicitly enables `--apcu`. -* **--no-dev:** Disables autoload-dev rules. Composer will by default infer this - automatically according to the last `install` or `update` `--no-dev` state. -* **--dev:** Enables autoload-dev rules. Composer will by default infer this - automatically according to the last `install` or `update` `--no-dev` state. -* **--ignore-platform-reqs:** ignore all `php`, `hhvm`, `lib-*` and `ext-*` - requirements and skip the [platform check](07-runtime.md#platform-check) for these. - See also the [`platform`](06-config.md#platform) config option. -* **--ignore-platform-req:** ignore a specific platform requirement (`php`, `hhvm`, - `lib-*` and `ext-*`) and skip the [platform check](07-runtime.md#platform-check) for it. - Multiple requirements can be ignored via wildcard. -* **--strict-psr:** Return a failed status code (1) if PSR-4 or PSR-0 mapping errors - are present. Requires --optimize to work. - -## clear-cache / clearcache / cc - -Deletes all content from Composer's cache directories. - -### Options - -* **--gc:** Only run garbage collection, not a full cache clear - -## licenses - -Lists the name, version and license of every package installed. Use -`--format=json` to get machine-readable output. - -### Options - -* **--format:** Format of the output: text, json or summary (default: "text") -* **--no-dev:** Remove dev dependencies from the output - -## run-script / run - -### Options - -* **--timeout:** Set the script timeout in seconds, or 0 for no timeout. -* **--dev:** Sets the dev mode. -* **--no-dev:** Disable dev mode. -* **--list (-l):** List user defined scripts. - -To run [scripts](articles/scripts.md) manually you can use this command, -give it the script name and optionally any required arguments. - -## exec - -Executes a vendored binary/script. You can execute any command and this will -ensure that the Composer bin-dir is pushed on your PATH before the command -runs. - -### Options - -* **--list (-l):** List the available Composer binaries. - -## diagnose - -If you think you found a bug, or something is behaving strangely, you might -want to run the `diagnose` command to perform automated checks for many common -problems. - -```shell -php composer.phar diagnose -``` - -## archive - -This command is used to generate a zip/tar archive for a given package in a -given version. It can also be used to archive your entire project without -excluded/ignored files. - -```shell -php composer.phar archive vendor/package 2.0.21 --format=zip -``` - -### Options - -* **--format (-f):** Format of the resulting archive: tar, tar.gz, tar.bz2 - or zip (default: "tar"). -* **--dir:** Write the archive to this directory (default: ".") -* **--file:** Write the archive with the given file name. - -## audit - -This command is used to audit the packages you have installed -for possible security issues. It checks for and -lists security vulnerability advisories according to the -[Packagist.org api](https://packagist.org/apidoc#list-security-advisories). - -The audit command returns the amount of vulnerabilities found. `0` if successful, and up to `255` otherwise. - -```shell -php composer.phar audit -``` - -### Options - -* **--no-dev:** Disables auditing of require-dev packages. -* **--format (-f):** Audit output format. Must be "table" (default), "plain", "json", or "summary". -* **--locked:** Audit packages from the lock file, regardless of what is currently in vendor dir. - -## help - -To get more information about a certain command, you can use `help`. - -```shell -php composer.phar help install -``` - -## Command-line completion - -Command-line completion can be enabled by following instructions -[on this page](https://github.com/bamarni/symfony-console-autocomplete). - -## Environment variables - -You can set a number of environment variables that override certain settings. -Whenever possible it is recommended to specify these settings in the `config` -section of `composer.json` instead. It is worth noting that the env vars will -always take precedence over the values specified in `composer.json`. - -### COMPOSER - -By setting the `COMPOSER` env variable it is possible to set the filename of -`composer.json` to something else. - -For example: - -```shell -COMPOSER=composer-other.json php composer.phar install -``` - -The generated lock file will use the same name: `composer-other.lock` in this example. - -### COMPOSER_ALLOW_SUPERUSER - -If set to 1, this env disables the warning about running commands as root/super user. -It also disables automatic clearing of sudo sessions, so you should really only set this -if you use Composer as a super user at all times like in docker containers. - -### COMPOSER_ALLOW_XDEBUG - -If set to 1, this env allows running Composer when the Xdebug extension is enabled, without restarting PHP without it. - -### COMPOSER_AUTH - -The `COMPOSER_AUTH` var allows you to set up authentication as an environment variable. -The contents of the variable should be a JSON formatted object containing [http-basic, -github-oauth, bitbucket-oauth, ... objects as needed](articles/authentication-for-private-packages.md), -and following the -[spec from the config](06-config.md). - -### COMPOSER_BIN_DIR - -By setting this option you can change the `bin` ([Vendor Binaries](articles/vendor-binaries.md)) -directory to something other than `vendor/bin`. - -### COMPOSER_CACHE_DIR - -The `COMPOSER_CACHE_DIR` var allows you to change the Composer cache directory, -which is also configurable via the [`cache-dir`](06-config.md#cache-dir) option. - -By default, it points to `C:\Users\\AppData\Local\Composer` (or `%LOCALAPPDATA%/Composer`) on Windows. -On \*nix systems that follow the [XDG Base -Directory Specifications](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html), -it points to `$XDG_CACHE_HOME/composer`. On other \*nix systems and on macOS, it points to -`$COMPOSER_HOME/cache`. - -### COMPOSER_CAFILE - -By setting this environmental value, you can set a path to a certificate bundle -file to be used during SSL/TLS peer verification. - -### COMPOSER_DISABLE_XDEBUG_WARN - -If set to 1, this env suppresses a warning when Composer is running with the Xdebug extension enabled. - -### COMPOSER_DISCARD_CHANGES - -This env var controls the [`discard-changes`](06-config.md#discard-changes) config option. - -### COMPOSER_HOME - -The `COMPOSER_HOME` var allows you to change the Composer home directory. This -is a hidden, global (per-user on the machine) directory that is shared between -all projects. - -Use `composer config --global home` to see the location of the home directory. - -By default, it points to `C:\Users\\AppData\Roaming\Composer` on Windows -and `/Users//.composer` on macOS. On \*nix systems that follow the [XDG Base -Directory Specifications](https://specifications.freedesktop.org/basedir-spec/basedir-spec-latest.html), -it points to `$XDG_CONFIG_HOME/composer`. On other \*nix systems, it points to -`/home//.composer`. - -#### COMPOSER_HOME/config.json - -You may put a `config.json` file into the location which `COMPOSER_HOME` points -to. Composer will partially (only `config` and `repositories` keys) merge this -configuration with your project's `composer.json` when you run the `install` and -`update` commands. - -This file allows you to set [repositories](05-repositories.md) and -[configuration](06-config.md) for the user's projects. - -In case global configuration matches _local_ configuration, the _local_ -configuration in the project's `composer.json` always wins. - -### COMPOSER_HTACCESS_PROTECT - -Defaults to `1`. If set to `0`, Composer will not create `.htaccess` files in the -Composer home, cache, and data directories. - -### COMPOSER_MEMORY_LIMIT - -If set, the value is used as php's memory_limit. - -### COMPOSER_MIRROR_PATH_REPOS - -If set to 1, this env changes the default path repository strategy to `mirror` instead -of `symlink`. As it is the default strategy being set it can still be overwritten by -repository options. - -### COMPOSER_NO_INTERACTION - -If set to 1, this env var will make Composer behave as if you passed the -`--no-interaction` flag to every command. This can be set on build boxes/CI. - -### COMPOSER_PROCESS_TIMEOUT - -This env var controls the time Composer waits for commands (such as git -commands) to finish executing. The default value is 300 seconds (5 minutes). - -### COMPOSER_ROOT_VERSION - -By setting this var you can specify the version of the root package, if it -cannot be guessed from VCS info and is not present in `composer.json`. - -### COMPOSER_VENDOR_DIR - -By setting this var you can make Composer install the dependencies into a -directory other than `vendor`. - -### COMPOSER_RUNTIME_ENV - -This lets you hint under which environment Composer is running, which can help Composer -work around some environment specific issues. The only value currently supported is -`virtualbox`, which then enables some short `sleep()` calls to wait for the filesystem -to have written files properly before we attempt reading them. You can set the -environment variable if you use Vagrant or VirtualBox and experience issues with files not -being found during installation even though they should be present. - -### http_proxy or HTTP_PROXY - -If you are using Composer from behind an HTTP proxy, you can use the standard -`http_proxy` or `HTTP_PROXY` env vars. Set it to the URL of your proxy. -Many operating systems already set this variable for you. - -Using `http_proxy` (lowercased) or even defining both might be preferable since -some tools like git or curl will only use the lower-cased `http_proxy` version. -Alternatively you can also define the git proxy using -`git config --global http.proxy `. - -If you are using Composer in a non-CLI context (i.e. integration into a CMS or -similar use case), and need to support proxies, please provide the `CGI_HTTP_PROXY` -environment variable instead. See [httpoxy.org](https://httpoxy.org/) for further -details. - -### COMPOSER_MAX_PARALLEL_HTTP - -Set to an integer to configure how many files can be downloaded in parallel. This -defaults to 12 and must be between 1 and 50. If your proxy has issues with -concurrency maybe you want to lower this. Increasing it should generally not result -in performance gains. - -### HTTP_PROXY_REQUEST_FULLURI - -If you use a proxy, but it does not support the request_fulluri flag, then you -should set this env var to `false` or `0` to prevent Composer from setting the -request_fulluri option. - -### HTTPS_PROXY_REQUEST_FULLURI - -If you use a proxy, but it does not support the request_fulluri flag for HTTPS -requests, then you should set this env var to `false` or `0` to prevent Composer -from setting the request_fulluri option. - -### COMPOSER_SELF_UPDATE_TARGET - -If set, makes the self-update command write the new Composer phar file into that path instead of overwriting itself. Useful for updating Composer on a read-only filesystem. - -### no_proxy or NO_PROXY - -If you are behind a proxy and would like to disable it for certain domains, you -can use the `no_proxy` or `NO_PROXY` env var. Set it to a comma separated list of -domains the proxy should *not* be used for. - -The env var accepts domains, IP addresses, and IP address blocks in CIDR -notation. You can restrict the filter to a particular port (e.g. `:80`). You -can also set it to `*` to ignore the proxy for all HTTP requests. - -### COMPOSER_DISABLE_NETWORK - -If set to `1`, disables network access (best effort). This can be used for debugging or -to run Composer on a plane or a starship with poor connectivity. - -If set to `prime`, GitHub VCS repositories will prime the cache, so it can then be used -fully offline with `1`. - -### COMPOSER_DEBUG_EVENTS - -If set to `1`, outputs information about events being dispatched, which can be -useful for plugin authors to identify what is firing when exactly. - -### COMPOSER_NO_AUDIT - -If set to `1`, it is the equivalent of passing the `--no-audit` option to `require`, `update`, `remove` or `create-project` command. - -### COMPOSER_NO_DEV - -If set to `1`, it is the equivalent of passing the `--no-dev` option to `install` or -`update`. You can override this for a single command by setting `COMPOSER_NO_DEV=0`. - -### COMPOSER_PREFER_STABLE - -If set to `1`, it is the equivalent of passing the `--prefer-stable` option to -`update` or `require`. - -### COMPOSER_PREFER_LOWEST - -If set to `1`, it is the equivalent of passing the `--prefer-lowest` option to -`update` or `require`. - -### COMPOSER_IGNORE_PLATFORM_REQ or COMPOSER_IGNORE_PLATFORM_REQS - -If `COMPOSER_IGNORE_PLATFORM_REQS` set to `1`, it is the equivalent of passing the `--ignore-platform-reqs` argument. -Otherwise, specifying a comma separated list in `COMPOSER_IGNORE_PLATFORM_REQ` will ignore those specific requirements. - -For example, if a development workstation will never run database queries, this can be used to ignore the requirement for the database extensions to be available. If you set `COMPOSER_IGNORE_PLATFORM_REQ=ext-oci8`, then composer will allow packages to be installed even if the `oci8` PHP extension is not enabled. - -← [Libraries](02-libraries.md) | [Schema](04-schema.md) → diff --git a/core/vendor/composer/composer/doc/04-schema.md b/core/vendor/composer/composer/doc/04-schema.md deleted file mode 100644 index 4278edc91a..0000000000 --- a/core/vendor/composer/composer/doc/04-schema.md +++ /dev/null @@ -1,1002 +0,0 @@ -# The composer.json schema - -This chapter will explain all of the fields available in `composer.json`. - -## JSON schema - -We have a [JSON schema](https://json-schema.org) that documents the format and -can also be used to validate your `composer.json`. In fact, it is used by the -`validate` command. You can find it at: https://getcomposer.org/schema.json - -## Root Package - -The root package is the package defined by the `composer.json` at the root of -your project. It is the main `composer.json` that defines your project -requirements. - -Certain fields only apply when in the root package context. One example of -this is the `config` field. Only the root package can define configuration. -The config of dependencies is ignored. This makes the `config` field -`root-only`. - -> **Note:** A package can be the root package or not, depending on the context. -> For example, if your project depends on the `monolog` library, your project -> is the root package. However, if you clone `monolog` from GitHub in order to -> fix a bug in it, then `monolog` is the root package. - -## Properties - -### name - -The name of the package. It consists of vendor name and project name, -separated by `/`. Examples: - -* monolog/monolog -* igorw/event-source - -The name must be lowercase and consist of words separated by `-`, `.` or `_`. -The complete name should match `^[a-z0-9]([_.-]?[a-z0-9]+)*/[a-z0-9](([_.]?|-{0,2})[a-z0-9]+)*$`. - -The `name` property is required for published packages (libraries). - -> **Note:** Before Composer version 2.0, a name could contain any character, including white spaces. - -### description - -A short description of the package. Usually this is one line long. - -Required for published packages (libraries). - -### version - -The version of the package. In most cases this is not required and should -be omitted (see below). - -This must follow the format of `X.Y.Z` or `vX.Y.Z` with an optional suffix -of `-dev`, `-patch` (`-p`), `-alpha` (`-a`), `-beta` (`-b`) or `-RC`. -The patch, alpha, beta and RC suffixes can also be followed by a number. - -Examples: - -- 1.0.0 -- 1.0.2 -- 1.1.0 -- 0.2.5 -- 1.0.0-dev -- 1.0.0-alpha3 -- 1.0.0-beta2 -- 1.0.0-RC5 -- v2.0.4-p1 - -Optional if the package repository can infer the version from somewhere, such -as the VCS tag name in the VCS repository. In that case it is also recommended -to omit it. - -> **Note:** Packagist uses VCS repositories, so the statement above is very -> much true for Packagist as well. Specifying the version yourself will -> most likely end up creating problems at some point due to human error. - -### type - -The type of the package. It defaults to `library`. - -Package types are used for custom installation logic. If you have a package -that needs some special logic, you can define a custom type. This could be a -`symfony-bundle`, a `wordpress-plugin` or a `typo3-cms-extension`. These types -will all be specific to certain projects, and they will need to provide an -installer capable of installing packages of that type. - -Out of the box, Composer supports four types: - -- **library:** This is the default. It will copy the files to `vendor`. -- **project:** This denotes a project rather than a library. For example - application shells like the [Symfony standard edition](https://github.com/symfony/symfony-standard), - CMSs like the [SilverStripe installer](https://github.com/silverstripe/silverstripe-installer) - or full fledged applications distributed as packages. This can for example - be used by IDEs to provide listings of projects to initialize when creating - a new workspace. -- **metapackage:** An empty package that contains requirements and will trigger - their installation, but contains no files and will not write anything to the - filesystem. As such, it does not require a dist or source key to be - installable. -- **composer-plugin:** A package of type `composer-plugin` may provide an - installer for other packages that have a custom type. Read more in the - [dedicated article](articles/custom-installers.md). - -Only use a custom type if you need custom logic during installation. It is -recommended to omit this field and have it default to `library`. - -### keywords - -An array of keywords that the package is related to. These can be used for -searching and filtering. - -Examples: - -- logging -- events -- database -- redis -- templating - -> **Note**: Some special keywords trigger `composer require` without the -> `--dev` option to prompt users if they would like to add these packages to -> `require-dev` instead of `require`. These are: `dev`, `testing`, `static analysis`. - -Optional. - -### homepage - -A URL to the website of the project. - -Optional. - -### readme - -A relative path to the readme document. - -Optional. - -### time - -Release date of the version. - -Must be in `YYYY-MM-DD` or `YYYY-MM-DD HH:MM:SS` format. - -Optional. - -### license - -The license of the package. This can be either a string or an array of strings. - -The recommended notation for the most common licenses is (alphabetical): - -- Apache-2.0 -- BSD-2-Clause -- BSD-3-Clause -- BSD-4-Clause -- GPL-2.0-only / GPL-2.0-or-later -- GPL-3.0-only / GPL-3.0-or-later -- LGPL-2.1-only / LGPL-2.1-or-later -- LGPL-3.0-only / LGPL-3.0-or-later -- MIT - -Optional, but it is highly recommended to supply this. More identifiers are -listed at the [SPDX Open Source License Registry](https://spdx.org/licenses/). - -> **Note:** For closed-source software, you may use `"proprietary"` as the license identifier. - -An Example: - -```json -{ - "license": "MIT" -} -``` - -For a package, when there is a choice between licenses ("disjunctive license"), -multiple can be specified as an array. - -An Example for disjunctive licenses: - -```json -{ - "license": [ - "LGPL-2.1-only", - "GPL-3.0-or-later" - ] -} -``` - -Alternatively they can be separated with "or" and enclosed in parentheses; - -```json -{ - "license": "(LGPL-2.1-only or GPL-3.0-or-later)" -} -``` - -Similarly, when multiple licenses need to be applied ("conjunctive license"), -they should be separated with "and" and enclosed in parentheses. - -### authors - -The authors of the package. This is an array of objects. - -Each author object can have following properties: - -* **name:** The author's name. Usually their real name. -* **email:** The author's email address. -* **homepage:** URL to the author's website. -* **role:** The author's role in the project (e.g. developer or translator) - -An example: - -```json -{ - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "https://www.naderman.de", - "role": "Developer" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be", - "role": "Developer" - } - ] -} -``` - -Optional, but highly recommended. - -### support - -Various information to get support about the project. - -Support information includes the following: - -* **email:** Email address for support. -* **issues:** URL to the issue tracker. -* **forum:** URL to the forum. -* **wiki:** URL to the wiki. -* **irc:** IRC channel for support, as irc://server/channel. -* **source:** URL to browse or download the sources. -* **docs:** URL to the documentation. -* **rss:** URL to the RSS feed. -* **chat:** URL to the chat channel. - -An example: - -```json -{ - "support": { - "email": "support@example.org", - "irc": "irc://irc.freenode.org/composer" - } -} -``` - -Optional. - -### funding - -A list of URLs to provide funding to the package authors for maintenance and -development of new functionality. - -Each entry consists of the following - -* **type:** The type of funding, or the platform through which funding can be provided, e.g. patreon, opencollective, tidelift or github. -* **url:** URL to a website with details, and a way to fund the package. - -An example: - -```json -{ - "funding": [ - { - "type": "patreon", - "url": "https://www.patreon.com/phpdoctrine" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/subscription/pkg/packagist-doctrine_doctrine-bundle" - }, - { - "type": "other", - "url": "https://www.doctrine-project.org/sponsorship.html" - } - ] -} -``` - -Optional. - -### Package links - -All of the following take an object which maps package names to -versions of the package via version constraints. Read more about -versions [here](articles/versions.md). - -Example: - -```json -{ - "require": { - "monolog/monolog": "1.0.*" - } -} -``` - -All links are optional fields. - -`require` and `require-dev` additionally support _stability flags_ ([root-only](04-schema.md#root-package)). -They take the form "_constraint_@_stability flag_". -These allow you to further restrict or expand the stability of a package beyond -the scope of the [minimum-stability](#minimum-stability) setting. You can apply -them to a constraint, or apply them to an empty _constraint_ if you want to -allow unstable packages of a dependency for example. - -Example: - -```json -{ - "require": { - "monolog/monolog": "1.0.*@beta", - "acme/foo": "@dev" - } -} -``` - -If one of your dependencies has a dependency on an unstable package you need to -explicitly require it as well, along with its sufficient stability flag. - -Example: - -Assuming `doctrine/doctrine-fixtures-bundle` requires `"doctrine/data-fixtures": "dev-master"` -then inside the root composer.json you need to add the second line below to allow dev -releases for the `doctrine/data-fixtures` package : - -```json -{ - "require": { - "doctrine/doctrine-fixtures-bundle": "dev-master", - "doctrine/data-fixtures": "@dev" - } -} -``` - -`require` and `require-dev` additionally support explicit references (i.e. -commit) for dev versions to make sure they are locked to a given state, even -when you run update. These only work if you explicitly require a dev version -and append the reference with `#`. This is also a -[root-only](04-schema.md#root-package) feature and will be ignored in -dependencies. - -Example: - -```json -{ - "require": { - "monolog/monolog": "dev-master#2eb0c0978d290a1c45346a1955188929cb4e5db7", - "acme/foo": "1.0.x-dev#abc123" - } -} -``` - -> **Note:** This feature has severe technical limitations, as the -> composer.json metadata will still be read from the branch name you specify -> before the hash. You should therefore only use this as a temporary solution -> during development to remediate transient issues, until you can switch to -> tagged releases. The Composer team does not actively support this feature -> and will not accept bug reports related to it. - -It is also possible to inline-alias a package constraint so that it matches -a constraint that it otherwise would not. For more information [see the -aliases article](articles/aliases.md). - -`require` and `require-dev` also support references to specific PHP versions -and PHP extensions your project needs to run successfully. - -Example: - -```json -{ - "require": { - "php": ">=7.4", - "ext-mbstring": "*" - } -} -``` - -> **Note:** It is important to list PHP extensions your project requires. -> Not all PHP installations are created equal: some may miss extensions you -> may consider as standard (such as `ext-mysqli` which is not installed by -> default in Fedora/CentOS minimal installation systems). Failure to list -> required PHP extensions may lead to a bad user experience: Composer will -> install your package without any errors but it will then fail at run-time. -> The `composer show --platform` command lists all PHP extensions available on -> your system. You may use it to help you compile the list of extensions you -> use and require. Alternatively you may use third party tools to analyze -> your project for the list of extensions used. - -#### require - -Map of packages required by this package. The package will not be installed -unless those requirements can be met. - -#### require-dev ([root-only](04-schema.md#root-package)) - -Map of packages required for developing this package, or running -tests, etc. The dev requirements of the root package are installed by default. -Both `install` or `update` support the `--no-dev` option that prevents dev -dependencies from being installed. - -#### conflict - -Map of packages that conflict with this version of this package. They -will not be allowed to be installed together with your package. - -Note that when specifying ranges like `<1.0 >=1.1` in a `conflict` link, -this will state a conflict with all versions that are less than 1.0 *and* equal -or newer than 1.1 at the same time, which is probably not what you want. You -probably want to go for `<1.0 || >=1.1` in this case. - -#### replace - -Map of packages that are replaced by this package. This allows you to fork a -package, publish it under a different name with its own version numbers, while -packages requiring the original package continue to work with your fork because -it replaces the original package. - -This is also useful for packages that contain sub-packages, for example the main -symfony/symfony package contains all the Symfony Components which are also -available as individual packages. If you require the main package it will -automatically fulfill any requirement of one of the individual components, -since it replaces them. - -Caution is advised when using replace for the sub-package purpose explained -above. You should then typically only replace using `self.version` as a version -constraint, to make sure the main package only replaces the sub-packages of -that exact version, and not any other version, which would be incorrect. - -#### provide - -Map of packages that are provided by this package. This is mostly -useful for implementations of common interfaces. A package could depend on -some virtual package e.g. `psr/logger-implementation`, any library that implements -this logger interface would list it in `provide`. Implementors can then -be [found on Packagist.org](https://packagist.org/providers/psr/log-implementation). - -Using `provide` with the name of an actual package rather than a virtual one -implies that the code of that package is also shipped, in which case `replace` -is generally a better choice. A common convention for packages providing an -interface and relying on other packages to provide an implementation (for -instance the PSR interfaces) is to use a `-implementation` suffix for the -name of the virtual package corresponding to the interface package. - -#### suggest - -Suggested packages that can enhance or work well with this package. These are -informational and are displayed after the package is installed, to give -your users a hint that they could add more packages, even though they are not -strictly required. - -The format is like package links above, except that the values are free text -and not version constraints. - -Example: - -```json -{ - "suggest": { - "monolog/monolog": "Allows more advanced logging of the application flow", - "ext-xml": "Needed to support XML format in class Foo" - } -} -``` - -### autoload - -Autoload mapping for a PHP autoloader. - -[`PSR-4`](https://www.php-fig.org/psr/psr-4/) and [`PSR-0`](http://www.php-fig.org/psr/psr-0/) -autoloading, `classmap` generation and `files` includes are supported. - -PSR-4 is the recommended way since it offers greater ease of use (no need -to regenerate the autoloader when you add classes). - -#### PSR-4 - -Under the `psr-4` key you define a mapping from namespaces to paths, relative to the -package root. When autoloading a class like `Foo\\Bar\\Baz` a namespace prefix -`Foo\\` pointing to a directory `src/` means that the autoloader will look for a -file named `src/Bar/Baz.php` and include it if present. Note that as opposed to -the older PSR-0 style, the prefix (`Foo\\`) is **not** present in the file path. - -Namespace prefixes must end in `\\` to avoid conflicts between similar prefixes. -For example `Foo` would match classes in the `FooBar` namespace so the trailing -backslashes solve the problem: `Foo\\` and `FooBar\\` are distinct. - -The PSR-4 references are all combined, during install/update, into a single -key => value array which may be found in the generated file -`vendor/composer/autoload_psr4.php`. - -Example: - -```json -{ - "autoload": { - "psr-4": { - "Monolog\\": "src/", - "Vendor\\Namespace\\": "" - } - } -} -``` - -If you need to search for a same prefix in multiple directories, -you can specify them as an array as such: - -```json -{ - "autoload": { - "psr-4": { "Monolog\\": ["src/", "lib/"] } - } -} -``` - -If you want to have a fallback directory where any namespace will be looked for, -you can use an empty prefix like: - -```json -{ - "autoload": { - "psr-4": { "": "src/" } - } -} -``` - -#### PSR-0 - -Under the `psr-0` key you define a mapping from namespaces to paths, relative to the -package root. Note that this also supports the PEAR-style non-namespaced convention. - -Please note namespace declarations should end in `\\` to make sure the autoloader -responds exactly. For example `Foo` would match in `FooBar` so the trailing -backslashes solve the problem: `Foo\\` and `FooBar\\` are distinct. - -The PSR-0 references are all combined, during install/update, into a single key => value -array which may be found in the generated file `vendor/composer/autoload_namespaces.php`. - -Example: - -```json -{ - "autoload": { - "psr-0": { - "Monolog\\": "src/", - "Vendor\\Namespace\\": "src/", - "Vendor_Namespace_": "src/" - } - } -} -``` - -If you need to search for a same prefix in multiple directories, -you can specify them as an array as such: - -```json -{ - "autoload": { - "psr-0": { "Monolog\\": ["src/", "lib/"] } - } -} -``` - -The PSR-0 style is not limited to namespace declarations only but may be -specified right down to the class level. This can be useful for libraries with -only one class in the global namespace. If the php source file is also located -in the root of the package, for example, it may be declared like this: - -```json -{ - "autoload": { - "psr-0": { "UniqueGlobalClass": "" } - } -} -``` - -If you want to have a fallback directory where any namespace can be, you can -use an empty prefix like: - -```json -{ - "autoload": { - "psr-0": { "": "src/" } - } -} -``` - -#### Classmap - -The `classmap` references are all combined, during install/update, into a single -key => value array which may be found in the generated file -`vendor/composer/autoload_classmap.php`. This map is built by scanning for -classes in all `.php` and `.inc` files in the given directories/files. - -You can use the classmap generation support to define autoloading for all libraries -that do not follow PSR-0/4. To configure this you specify all directories or files -to search for classes. - -Example: - -```json -{ - "autoload": { - "classmap": ["src/", "lib/", "Something.php"] - } -} -``` - -Wildcards (`*`) are also supported in a classmap paths, and expand to match any directory name: - -Example: - -```json -{ - "autoload": { - "classmap": ["src/addons/*/lib/", "3rd-party/*", "Something.php"] - } -} -``` - -#### Files - -If you want to require certain files explicitly on every request then you can use -the `files` autoloading mechanism. This is useful if your package includes PHP functions -that cannot be autoloaded by PHP. - -Example: - -```json -{ - "autoload": { - "files": ["src/MyLibrary/functions.php"] - } -} -``` - -Files autoload rules are included whenever `vendor/autoload.php` is included, right after -the autoloader is registered. The order of inclusion depends on package dependencies so that -if package A depends on B, files in package B will be included first to ensure package B is fully -initialized and ready to be used when files from package A are included. - -If two packages have the same amount of dependents or no dependencies, the order is alphabetical. - -Files from the root package are always loaded last, and you cannot use files autoloading -yourself to override functions from your dependencies. If you want to achieve that we recommend -you include your own functions *before* including Composer's `vendor/autoload.php`. - -#### Exclude files from classmaps - -If you want to exclude some files or folders from the classmap you can use the `exclude-from-classmap` property. -This might be useful to exclude test classes in your live environment, for example, as those will be skipped -from the classmap even when building an optimized autoloader. - -The classmap generator will ignore all files in the paths configured here. The paths are absolute from the package -root directory (i.e. composer.json location), and support `*` to match anything but a slash, and `**` to -match anything. `**` is implicitly added to the end of the paths. - -Example: - -```json -{ - "autoload": { - "exclude-from-classmap": ["/Tests/", "/test/", "/tests/"] - } -} -``` - -#### Optimizing the autoloader - -The autoloader can have quite a substantial impact on your request time -(50-100ms per request in large frameworks using a lot of classes). See the -[article about optimizing the autoloader](articles/autoloader-optimization.md) -for more details on how to reduce this impact. - -### autoload-dev ([root-only](04-schema.md#root-package)) - -This section allows defining autoload rules for development purposes. - -Classes needed to run the test suite should not be included in the main autoload -rules to avoid polluting the autoloader in production and when other people use -your package as a dependency. - -Therefore, it is a good idea to rely on a dedicated path for your unit tests -and to add it within the autoload-dev section. - -Example: - -```json -{ - "autoload": { - "psr-4": { "MyLibrary\\": "src/" } - }, - "autoload-dev": { - "psr-4": { "MyLibrary\\Tests\\": "tests/" } - } -} -``` - -### include-path - -> **DEPRECATED**: This is only present to support legacy projects, and all new code -> should preferably use autoloading. As such it is a deprecated practice, but the -> feature itself will not likely disappear from Composer. - -A list of paths which should get appended to PHP's `include_path`. - -Example: - -```json -{ - "include-path": ["lib/"] -} -``` - -Optional. - -### target-dir - -> **DEPRECATED**: This is only present to support legacy PSR-0 style autoloading, -> and all new code should preferably use PSR-4 without target-dir and projects -> using PSR-0 with PHP namespaces are encouraged to migrate to PSR-4 instead. - -Defines the installation target. - -In case the package root is below the namespace declaration you cannot -autoload properly. `target-dir` solves this problem. - -An example is Symfony. There are individual packages for the components. The -Yaml component is under `Symfony\Component\Yaml`. The package root is that -`Yaml` directory. To make autoloading possible, we need to make sure that it -is not installed into `vendor/symfony/yaml`, but instead into -`vendor/symfony/yaml/Symfony/Component/Yaml`, so that the autoloader can load -it from `vendor/symfony/yaml`. - -To do that, `autoload` and `target-dir` are defined as follows: - -```json -{ - "autoload": { - "psr-0": { "Symfony\\Component\\Yaml\\": "" } - }, - "target-dir": "Symfony/Component/Yaml" -} -``` - -Optional. - -### minimum-stability ([root-only](04-schema.md#root-package)) - -This defines the default behavior for filtering packages by stability. This -defaults to `stable`, so if you rely on a `dev` package, you should specify -it in your file to avoid surprises. - -All versions of each package are checked for stability, and those that are less -stable than the `minimum-stability` setting will be ignored when resolving -your project dependencies. (Note that you can also specify stability requirements -on a per-package basis using stability flags in the version constraints that you -specify in a `require` block (see [package links](#package-links) for more details). - -Available options (in order of stability) are `dev`, `alpha`, `beta`, `RC`, -and `stable`. - -### prefer-stable ([root-only](04-schema.md#root-package)) - -When this is enabled, Composer will prefer more stable packages over unstable -ones when finding compatible stable packages is possible. If you require a -dev version or only alphas are available for a package, those will still be -selected granted that the minimum-stability allows for it. - -Use `"prefer-stable": true` to enable. - -### repositories ([root-only](04-schema.md#root-package)) - -Custom package repositories to use. - -By default Composer only uses the packagist repository. By specifying -repositories you can get packages from elsewhere. - -Repositories are not resolved recursively. You can only add them to your main -`composer.json`. Repository declarations of dependencies' `composer.json`s are -ignored. - -The following repository types are supported: - -* **composer:** A Composer repository is a `packages.json` file served - via the network (HTTP, FTP, SSH), that contains a list of `composer.json` - objects with additional `dist` and/or `source` information. The `packages.json` - file is loaded using a PHP stream. You can set extra options on that stream - using the `options` parameter. -* **vcs:** The version control system repository can fetch packages from git, - svn, fossil and hg repositories. -* **package:** If you depend on a project that does not have any support for - Composer whatsoever you can define the package inline using a `package` - repository. You basically inline the `composer.json` object. - -For more information on any of these, see [Repositories](05-repositories.md). - -Example: - -```json -{ - "repositories": [ - { - "type": "composer", - "url": "http://packages.example.com" - }, - { - "type": "composer", - "url": "https://packages.example.com", - "options": { - "ssl": { - "verify_peer": "true" - } - } - }, - { - "type": "vcs", - "url": "https://github.com/Seldaek/monolog" - }, - { - "type": "package", - "package": { - "name": "smarty/smarty", - "version": "3.1.7", - "dist": { - "url": "https://www.smarty.net/files/Smarty-3.1.7.zip", - "type": "zip" - }, - "source": { - "url": "https://smarty-php.googlecode.com/svn/", - "type": "svn", - "reference": "tags/Smarty_3_1_7/distribution/" - } - } - } - ] -} -``` - -> **Note:** Order is significant here. When looking for a package, Composer -will look from the first to the last repository, and pick the first match. -By default Packagist is added last which means that custom repositories can -override packages from it. - -Using JSON object notation is also possible. However, JSON key/value pairs -are to be considered unordered so consistent behaviour cannot be guaranteed. - -```json -{ - "repositories": { - "foo": { - "type": "composer", - "url": "http://packages.foo.com" - } - } -} -``` - -### config ([root-only](04-schema.md#root-package)) - -A set of configuration options. It is only used for projects. See -[Config](06-config.md) for a description of each individual option. - -### scripts ([root-only](04-schema.md#root-package)) - -Composer allows you to hook into various parts of the installation process -through the use of scripts. - -See [Scripts](articles/scripts.md) for events details and examples. - -### extra - -Arbitrary extra data for consumption by `scripts`. - -This can be virtually anything. To access it from within a script event -handler, you can do: - -```php -$extra = $event->getComposer()->getPackage()->getExtra(); -``` - -Optional. - -### bin - -A set of files that should be treated as binaries and made available -into the `bin-dir` (from config). - -See [Vendor Binaries](articles/vendor-binaries.md) for more details. - -Optional. - -### archive - -A set of options for creating package archives. - -The following options are supported: - -* **name:** Allows configuring base name for archive. - By default (if not configured, and `--file` is not passed as command-line argument), - `preg_replace('#[^a-z0-9-_]#i', '-', name)` is used. - -Example: - -```json -{ - "name": "org/strangeName", - "archive": { - "name": "Strange_name" - } -} -``` - -* **exclude:** Allows configuring a list of patterns for excluded paths. The - pattern syntax matches .gitignore files. A leading exclamation mark (!) will - result in any matching files to be included even if a previous pattern - excluded them. A leading slash will only match at the beginning of the project - relative path. An asterisk will not expand to a directory separator. - -Example: - -```json -{ - "archive": { - "exclude": ["/foo/bar", "baz", "/*.test", "!/foo/bar/baz"] - } -} -``` - -The example will include `/dir/foo/bar/file`, `/foo/bar/baz`, `/file.php`, -`/foo/my.test` but it will exclude `/foo/bar/any`, `/foo/baz`, and `/my.test`. - -Optional. - -### abandoned - -Indicates whether this package has been abandoned. - -It can be boolean or a package name/URL pointing to a recommended alternative. - -Examples: - -Use `"abandoned": true` to indicate this package is abandoned. -Use `"abandoned": "monolog/monolog"` to indicate this package is abandoned, and that -the recommended alternative is `monolog/monolog`. - -Defaults to false. - -Optional. - -### non-feature-branches - -A list of regex patterns of branch names that are non-numeric (e.g. "latest" or something), -that will NOT be handled as feature branches. This is an array of strings. - -If you have non-numeric branch names, for example like "latest", "current", "latest-stable" -or something, that do not look like a version number, then Composer handles such branches -as feature branches. This means it searches for parent branches, that look like a version -or ends at special branches (like master), and the root package version number becomes the -version of the parent branch or at least master or something. - -To handle non-numeric named branches as versions instead of searching for a parent branch -with a valid version or special branch name like master, you can set patterns for branch -names that should be handled as dev version branches. - -This is really helpful when you have dependencies using "self.version", so that not dev-master, -but the same branch is installed (in the example: latest-testing). - -An example: - -If you have a testing branch, that is heavily maintained during a testing phase and is -deployed to your staging environment, normally `composer show -s` will give you `versions : * dev-master`. - -If you configure `latest-.*` as a pattern for non-feature-branches like this: - -```json -{ - "non-feature-branches": ["latest-.*"] -} -``` - -Then `composer show -s` will give you `versions : * dev-latest-testing`. - -Optional. - -← [Command-line interface](03-cli.md) | [Repositories](05-repositories.md) → diff --git a/core/vendor/composer/composer/doc/05-repositories.md b/core/vendor/composer/composer/doc/05-repositories.md deleted file mode 100644 index 460b3df3e1..0000000000 --- a/core/vendor/composer/composer/doc/05-repositories.md +++ /dev/null @@ -1,805 +0,0 @@ -# Repositories - -This chapter will explain the concept of packages and repositories, what kinds -of repositories are available, and how they work. - -## Concepts - -Before we look at the different types of repositories that exist, we need to -understand some basic concepts that Composer is built on. - -### Package - -Composer is a dependency manager. It installs packages locally. A package is -essentially a directory containing something. In this case it is PHP -code, but in theory it could be anything. And it contains a package -description which has a name and a version. The name and the version are used -to identify the package. - -In fact, internally Composer sees every version as a separate package. While -this distinction does not matter when you are using Composer, it's quite -important when you want to change it. - -In addition to the name and the version, there is useful metadata. The -information most relevant for installation is the source definition, which -describes where to get the package contents. The package data points to the -contents of the package. And there are two options here: dist and source. - -**Dist:** The dist is a packaged version of the package data. Usually a -released version, usually a stable release. - -**Source:** The source is used for development. This will usually originate -from a source code repository, such as git. You can fetch this when you want -to modify the downloaded package. - -Packages can supply either of these, or even both. Depending on certain -factors, such as user-supplied options and stability of the package, one will -be preferred. - -### Repository - -A repository is a package source. It's a list of packages/versions. Composer -will look in all your repositories to find the packages your project requires. - -By default, only the Packagist.org repository is registered in Composer. You can -add more repositories to your project by declaring them in `composer.json`. - -Repositories are only available to the root package and the repositories -defined in your dependencies will not be loaded. Read the -[FAQ entry](faqs/why-cant-composer-load-repositories-recursively.md) if you -want to learn why. - -When resolving dependencies, packages are looked up from repositories from -top to bottom, and by default, as soon as a package is found in one, Composer -stops looking in other repositories. Read the -[repository priorities](articles/repository-priorities.md) article for more -details and to see how to change this behavior. - -## Types - -### Composer - -The main repository type is the `composer` repository. It uses a single -`packages.json` file that contains all of the package metadata. - -This is also the repository type that packagist uses. To reference a -`composer` repository, supply the path before the `packages.json` file. -In the case of packagist, that file is located at `/packages.json`, so the URL of -the repository would be `repo.packagist.org`. For `example.org/packages.json` the -repository URL would be `example.org`. - -```json -{ - "repositories": [ - { - "type": "composer", - "url": "https://example.org" - } - ] -} -``` - -#### packages - -The only required field is `packages`. The JSON structure is as follows: - -```json -{ - "packages": { - "vendor/package-name": { - "dev-master": { @composer.json }, - "1.0.x-dev": { @composer.json }, - "0.0.1": { @composer.json }, - "1.0.0": { @composer.json } - } - } -} -``` - -The `@composer.json` marker would be the contents of the `composer.json` from -that package version including as a minimum: - -* name -* version -* dist or source - -Here is a minimal package definition: - -```json -{ - "name": "smarty/smarty", - "version": "3.1.7", - "dist": { - "url": "https://www.smarty.net/files/Smarty-3.1.7.zip", - "type": "zip" - } -} -``` - -It may include any of the other fields specified in the [schema](04-schema.md). - -#### notify-batch - -The `notify-batch` field allows you to specify a URL that will be called -every time a user installs a package. The URL can be either an absolute path -(that will use the same domain as the repository), or a fully qualified URL. - -An example value: - -```json -{ - "notify-batch": "/downloads/" -} -``` - -For `example.org/packages.json` containing a `monolog/monolog` package, this -would send a `POST` request to `example.org/downloads/` with following -JSON request body: - -```json -{ - "downloads": [ - {"name": "monolog/monolog", "version": "1.2.1.0"} - ] -} -``` - -The version field will contain the normalized representation of the version -number. - -This field is optional. - -#### metadata-url, available-packages and available-package-patterns - -The `metadata-url` field allows you to provide a URL template to serve all -packages which are in the repository. It must contain the placeholder -`%package%`. - -This field is new in Composer v2, and is prioritised over the -`provider-includes` and `providers-url` fields if both are present. -For compatibility with both Composer v1 and v2 you ideally want -to provide both. New repository implementations may only need to -support v2 however. - -An example: - -```json -{ - "metadata-url": "/p2/%package%.json" -} -``` - -Whenever Composer looks for a package, it will replace `%package%` by the -package name, and fetch that URL. If dev stability is allowed for the package, -it will also load the URL again with `$packageName~dev` (e.g. -`/p2/foo/bar~dev.json` to look for `foo/bar`'s dev versions). - -The `foo/bar.json` and `foo/bar~dev.json` files containing package versions -MUST contain only versions for the foo/bar package, as -`{"packages":{"foo/bar":[ ... versions here ... ]}}`. - -Caching is done via the use of If-Modified-Since header, so make sure you -return Last-Modified headers and that they are accurate. - -The array of versions can also optionally be minified using -`Composer\MetadataMinifier\MetadataMinifier::minify()` from -[composer/metadata-minifier](https://packagist.org/packages/composer/metadata-minifier). -If you do that, you should add a `"minified": "composer/2.0"` key -at the top level to indicate to Composer it must expand the version -list back into the original data. See -https://repo.packagist.org/p2/monolog/monolog.json for an example. - -Any requested package which does not exist MUST return a 404 status code, -which will indicate to Composer that this package does not exist in your -repository. Make sure the 404 response is fast to avoid blocking Composer. -Avoid redirects to alternative 404 pages. - -If your repository only has a small number of packages, and you want to avoid -the 404-requests, you can also specify an `"available-packages"` key in -`packages.json` which should be an array with all the package names that your -repository contains. Alternatively you can specify an -`"available-package-patterns"` key which is an array of package name patterns -(with `*` matching any string, e.g. `vendor/*` would make Composer look up -every matching package name in this repository). - -This field is optional. - -#### providers-api - -The `providers-api` field allows you to provide a URL template to serve all -packages which provide a given package name, but not the package which has -that name. It must contain the placeholder `%package%`. - -For example https://packagist.org/providers/monolog/monolog.json lists some -package which have a "provide" rule for monolog/monolog, but it does not list -monolog/monolog itself. - -```json -{ - "providers-api": "https://packagist.org/providers/%package%.json", -} -``` - -This field is optional. - -#### list - -The `list` field allows you to return the names of packages which match a -given field (or all names if no filter is present). It should accept an -optional `?filter=xx` query param, which can contain `*` as wildcards matching -any substring. - -Replace/provide rules should not be considered here. - -It must return an array of package names: -```json -{ - "packageNames": [ - "a/b", - "c/d" - ] -} -``` - -See for example. - -This field is optional. - -#### provider-includes and providers-url - -The `provider-includes` field allows you to list a set of files that list -package names provided by this repository. The hash should be a sha256 of -the files in this case. - -The `providers-url` describes how provider files are found on the server. It -is an absolute path from the repository root. It must contain the placeholders -`%package%` and `%hash%`. - -These fields are used by Composer v1, or if your repository does not have the -`metadata-url` field set. - -An example: - -```json -{ - "provider-includes": { - "providers-a.json": { - "sha256": "f5b4bc0b354108ef08614e569c1ed01a2782e67641744864a74e788982886f4c" - }, - "providers-b.json": { - "sha256": "b38372163fac0573053536f5b8ef11b86f804ea8b016d239e706191203f6efac" - } - }, - "providers-url": "/p/%package%$%hash%.json" -} -``` - -Those files contain lists of package names and hashes to verify the file -integrity, for example: - -```json -{ - "providers": { - "acme/foo": { - "sha256": "38968de1305c2e17f4de33aea164515bc787c42c7e2d6e25948539a14268bb82" - }, - "acme/bar": { - "sha256": "4dd24c930bd6e1103251306d6336ac813b563a220d9ca14f4743c032fb047233" - } - } -} -``` - -The file above declares that acme/foo and acme/bar can be found in this -repository, by loading the file referenced by `providers-url`, replacing -`%package%` by the vendor namespaced package name and `%hash%` by the -sha256 field. Those files themselves contain package definitions as -described [above](#packages). - -These fields are optional. You probably don't need them for your own custom -repository. - -#### cURL or stream options - -The repository is accessed either using cURL (Composer 2 with ext-curl enabled) -or PHP streams. You can set extra options using the `options` parameter. For -PHP streams, you can set any valid PHP stream context option. See [Context -options and parameters](https://php.net/manual/en/context.php) for more -information. When cURL is used, only a limited set of `http` and `ssl` options -can be configured. - -```json -{ - "repositories": [ - { - "type": "composer", - "url": "https://example.org", - "options": { - "http": { - "timeout": 60 - } - } - } - ], - "require": { - "acme/package": "^1.0" - } -} -``` - -### VCS - -VCS stands for version control system. This includes versioning systems like -git, svn, fossil or hg. Composer has a repository type for installing packages -from these systems. - -#### Loading a package from a VCS repository - -There are a few use cases for this. The most common one is maintaining your -own fork of a third party library. If you are using a certain library for your -project, and you decide to change something in the library, you will want your -project to use the patched version. If the library is on GitHub (this is the -case most of the time), you can fork it there and push your changes to -your fork. After that you update the project's `composer.json`. All you have -to do is add your fork as a repository and update the version constraint to -point to your custom branch. In `composer.json` only, you should prefix your -custom branch name with `"dev-"` (without making it part of the actual branch -name). For version constraint naming conventions see -[Libraries](02-libraries.md) for more information. - -Example assuming you patched monolog to fix a bug in the `bugfix` branch: - -```json -{ - "repositories": [ - { - "type": "vcs", - "url": "https://github.com/igorw/monolog" - } - ], - "require": { - "monolog/monolog": "dev-bugfix" - } -} -``` - -When you run `php composer.phar update`, you should get your modified version -of `monolog/monolog` instead of the one from packagist. - -Note that you should not rename the package unless you really intend to fork -it in the long term, and completely move away from the original package. -Composer will correctly pick your package over the original one since the -custom repository has priority over packagist. If you want to rename the -package, you should do so in the default (often master) branch and not in a -feature branch, since the package name is taken from the default branch. - -Also note that the override will not work if you change the `name` property -in your forked repository's `composer.json` file as this needs to match the -original for the override to work. - -If other dependencies rely on the package you forked, it is possible to -inline-alias it so that it matches a constraint that it otherwise would not. -For more information [see the aliases article](articles/aliases.md). - -#### Using private repositories - -Exactly the same solution allows you to work with your private repositories at -GitHub and Bitbucket: - -```json -{ - "repositories": [ - { - "type": "vcs", - "url": "git@bitbucket.org:vendor/my-private-repo.git" - } - ], - "require": { - "vendor/my-private-repo": "dev-master" - } -} -``` - -The only requirement is the installation of SSH keys for a git client. - -#### Git alternatives - -Git is not the only version control system supported by the VCS repository. -The following are supported: - -* **Git:** [git-scm.com](https://git-scm.com) -* **Subversion:** [subversion.apache.org](https://subversion.apache.org) -* **Mercurial:** [mercurial-scm.org](https://www.mercurial-scm.org) -* **Fossil**: [fossil-scm.org](https://www.fossil-scm.org/) - -To get packages from these systems you need to have their respective clients -installed. That can be inconvenient. And for this reason there is special -support for GitHub and Bitbucket that use the APIs provided by these sites, to -fetch the packages without having to install the version control system. The -VCS repository provides `dist`s for them that fetch the packages as zips. - -* **GitHub:** [github.com](https://github.com) (Git) -* **Bitbucket:** [bitbucket.org](https://bitbucket.org) (Git) - -The VCS driver to be used is detected automatically based on the URL. However, -should you need to specify one for whatever reason, you can use `bitbucket`, -`github`, `gitlab`, `perforce`, `fossil`, `git`, `svn` or `hg` -as the repository type instead of `vcs`. - -If you set the `no-api` key to `true` on a github repository it will clone the -repository as it would with any other git repository instead of using the -GitHub API. But unlike using the `git` driver directly, Composer will still -attempt to use github's zip files. - -Please note: -* **To let Composer choose which driver to use** the repository type needs to be defined as "vcs" -* **If you already used a private repository**, this means Composer should have cloned it in cache. If you want to install the same package with drivers, remember to launch the command `composer clearcache` followed by the command `composer update` to update Composer cache and install the package from dist. -* VCS driver `git-bitbucket` is deprecated in favor of `bitbucket` - -#### Bitbucket Driver Configuration - -> **Note that the repository endpoint for Bitbucket needs to be https rather than git.** - -After setting up your bitbucket repository, you will also need to -[set up authentication](articles/authentication-for-private-packages.md#bitbucket-oauth). - -#### Subversion Options - -Since Subversion has no native concept of branches and tags, Composer assumes -by default that code is located in `$url/trunk`, `$url/branches` and -`$url/tags`. If your repository has a different layout you can change those -values. For example if you used capitalized names you could configure the -repository like this: - -```json -{ - "repositories": [ - { - "type": "vcs", - "url": "http://svn.example.org/projectA/", - "trunk-path": "Trunk", - "branches-path": "Branches", - "tags-path": "Tags" - } - ] -} -``` - -If you have no branches or tags directory you can disable them entirely by -setting the `branches-path` or `tags-path` to `false`. - -If the package is in a subdirectory, e.g. `/trunk/foo/bar/composer.json` and -`/tags/1.0/foo/bar/composer.json`, then you can make Composer access it by -setting the `"package-path"` option to the sub-directory, in this example it -would be `"package-path": "foo/bar/"`. - -If you have a private Subversion repository you can save credentials in the -http-basic section of your config (See [Schema](04-schema.md)): - -```json -{ - "http-basic": { - "svn.example.org": { - "username": "username", - "password": "password" - } - } -} -``` - -If your Subversion client is configured to store credentials by default these -credentials will be saved for the current user and existing saved credentials -for this server will be overwritten. To change this behavior by setting the -`"svn-cache-credentials"` option in your repository configuration: - -```json -{ - "repositories": [ - { - "type": "vcs", - "url": "http://svn.example.org/projectA/", - "svn-cache-credentials": false - } - ] -} -``` - -### Package - -If you want to use a project that does not support Composer through any of the -means above, you still can define the package yourself by using a `package` -repository. - -Basically, you define the same information that is included in the `composer` -repository's `packages.json`, but only for a single package. Again, the -minimum required fields are `name`, `version`, and either of `dist` or -`source`. - -Here is an example for the smarty template engine: - -```json -{ - "repositories": [ - { - "type": "package", - "package": { - "name": "smarty/smarty", - "version": "3.1.7", - "dist": { - "url": "https://www.smarty.net/files/Smarty-3.1.7.zip", - "type": "zip" - }, - "source": { - "url": "http://smarty-php.googlecode.com/svn/", - "type": "svn", - "reference": "tags/Smarty_3_1_7/distribution/" - }, - "autoload": { - "classmap": ["libs/"] - } - } - } - ], - "require": { - "smarty/smarty": "3.1.*" - } -} -``` - -Typically, you would leave the source part off, as you don't really need it. - -> **Note**: This repository type has a few limitations and should be avoided -> whenever possible: -> -> - Composer will not update the package unless you change the `version` field. -> - Composer will not update the commit references, so if you use `master` as -> reference you will have to delete the package to force an update, and will -> have to deal with an unstable lock file. - -The `"package"` key in a `package` repository may be set to an array to define multiple versions of a package: - -```json -{ - "repositories": [ - { - "type": "package", - "package": [ - { - "name": "foo/bar", - "version": "1.0.0", - ... - }, - { - "name": "foo/bar", - "version": "2.0.0", - ... - } - ] - } - ] -} -``` - -## Hosting your own - -While you will probably want to put your packages on packagist most of the -time, there are some use cases for hosting your own repository. - -* **Private company packages:** If you are part of a company that uses Composer - for their packages internally, you might want to keep those packages private. - -* **Separate ecosystem:** If you have a project which has its own ecosystem, - and the packages aren't really reusable by the greater PHP community, you - might want to keep them separate to packagist. An example of this would be - WordPress plugins. - -For hosting your own packages, a native `composer` type of repository is -recommended, which provides the best performance. - -There are a few tools that can help you create a `composer` repository. - -### Private Packagist - -[Private Packagist](https://packagist.com/) is a hosted or self-hosted -application providing private package hosting as well as mirroring of -GitHub, Packagist.org and other package repositories. - -Check out [Packagist.com](https://packagist.com/) for more information. - -### Satis - -Satis is a static `composer` repository generator. It is a bit like an ultra- -lightweight, static file-based version of packagist. - -You give it a `composer.json` containing repositories, typically VCS and -package repository definitions. It will fetch all the packages that are -`require`d and dump a `packages.json` that is your `composer` repository. - -Check [the satis GitHub repository](https://github.com/composer/satis) and -the [handling private packages article](articles/handling-private-packages.md) for more -information. - -### Artifact - -There are some cases, when there is no ability to have one of the previously -mentioned repository types online, even the VCS one. A typical example could be -cross-organisation library exchange through build artifacts. Of course, most -of the time these are private. To use these archives as-is, one can use a -repository of type `artifact` with a folder containing ZIP or TAR archives of -those private packages: - -```json -{ - "repositories": [ - { - "type": "artifact", - "url": "path/to/directory/with/zips/" - } - ], - "require": { - "private-vendor-one/core": "15.6.2", - "private-vendor-two/connectivity": "*", - "acme-corp/parser": "10.3.5" - } -} -``` - -Each zip artifact is a ZIP archive with `composer.json` in root folder: - -```shell -unzip -l acme-corp-parser-10.3.5.zip -``` -```text -composer.json -... -``` - -If there are two archives with different versions of a package, they are both -imported. When an archive with a newer version is added in the artifact folder -and you run `update`, that version will be imported as well and Composer will -update to the latest version. - -### Path - -In addition to the artifact repository, you can use the path one, which allows -you to depend on a local directory, either absolute or relative. This can be -especially useful when dealing with monolithic repositories. - -For instance, if you have the following directory structure in your repository: -```text -... -├── apps -│ └── my-app -│ └── composer.json -├── packages -│ └── my-package -│ └── composer.json -... -``` - -Then, to add the package `my/package` as a dependency, in your -`apps/my-app/composer.json` file, you can use the following configuration: - -```json -{ - "repositories": [ - { - "type": "path", - "url": "../../packages/my-package" - } - ], - "require": { - "my/package": "*" - } -} -``` - -If the package is a local VCS repository, the version may be inferred by -the branch or tag that is currently checked out. Otherwise, the version should -be explicitly defined in the package's `composer.json` file. If the version -cannot be resolved by these means, it is assumed to be `dev-master`. - -When the version cannot be inferred from the local VCS repository, or when you -want to override the version, you can use the `versions` option when declaring -the repository: - -```json -{ - "repositories": [ - { - "type": "path", - "url": "../../packages/my-package", - "options": { - "versions": { - "my/package": "4.2-dev" - } - } - } - ] -} -``` - -The local package will be symlinked if possible, in which case the output in -the console will read `Symlinking from ../../packages/my-package`. If symlinking -is _not_ possible the package will be copied. In that case, the console will -output `Mirrored from ../../packages/my-package`. - -Instead of default fallback strategy you can force to use symlink with -`"symlink": true` or mirroring with `"symlink": false` option. Forcing -mirroring can be useful when deploying or generating package from a -monolithic repository. - -> **Note:** On Windows, directory symlinks are implemented using NTFS junctions -> because they can be created by non-admin users. Mirroring will always be used -> on versions below Windows 7 or if `proc_open` has been disabled. - -```json -{ - "repositories": [ - { - "type": "path", - "url": "../../packages/my-package", - "options": { - "symlink": false - } - } - ] -} -``` - -Leading tildes are expanded to the current user's home folder, and environment -variables are parsed in both Windows and Linux/Mac notations. For example -`~/git/mypackage` will automatically load the mypackage clone from -`/home//git/mypackage`, equivalent to `$HOME/git/mypackage` or -`%USERPROFILE%/git/mypackage`. - -> **Note:** Repository paths can also contain wildcards like `*` and `?`. -> For details, see the [PHP glob function](https://php.net/glob). - -You can configure the way the package's dist reference (which appears in -the composer.lock file) is built. - -The following modes exist: -- `none` - reference will be always null. This can help reduce lock file conflicts - in the lock file but reduces clarity as to when the last update happened and whether - the package is in the latest state. -- `config` - reference is built based on a hash of the package's composer.json and repo config -- `auto` (used by default) - reference is built basing on the hash like with `config`, but if - the package folder contains a git repository, the HEAD commit's hash is used as reference instead. - -```json -{ - "repositories": [ - { - "type": "path", - "url": "../../packages/my-package", - "options": { - "reference": "config" - } - } - ] -} -``` - -## Disabling Packagist.org - -You can disable the default Packagist.org repository by adding this to your -`composer.json`: - -```json -{ - "repositories": [ - { - "packagist.org": false - } - ] -} -``` - -You can disable Packagist.org globally by using the global config flag: - -```shell -php composer.phar config -g repo.packagist false -``` - -← [Schema](04-schema.md) | [Config](06-config.md) → diff --git a/core/vendor/composer/composer/doc/06-config.md b/core/vendor/composer/composer/doc/06-config.md deleted file mode 100644 index 70caf4432c..0000000000 --- a/core/vendor/composer/composer/doc/06-config.md +++ /dev/null @@ -1,423 +0,0 @@ -# Config - -This chapter will describe the `config` section of the `composer.json` -[schema](04-schema.md). - -## process-timeout - -The timeout in seconds for process executions, defaults to 300 (5mins). -The duration processes like git clones can run before -Composer assumes they died out. You may need to make this higher if you have a -slow connection or huge vendors. - -To disable the process timeout on a custom command under `scripts`, a static -helper is available: - -```json -{ - "scripts": { - "test": [ - "Composer\\Config::disableProcessTimeout", - "phpunit" - ] - } -} -``` - -## allow-plugins - -Defaults to `{}` which does not allow any plugins to be loaded. - -As of Composer 2.2.0, the `allow-plugins` option adds a layer of security -allowing you to restrict which Composer plugins are able to execute code during -a Composer run. - -When a new plugin is first activated, which is not yet listed in the config option, -Composer will print a warning. If you run Composer interactively it will -prompt you to decide if you want to execute the plugin or not. - -Use this setting to allow only packages you trust to execute code. Set it to -an object with package name patterns as keys. The values are **true** to allow -and **false** to disallow while suppressing further warnings and prompts. - -```json -{ - "config": { - "allow-plugins": { - "third-party/required-plugin": true, - "my-organization/*": true, - "unnecessary/plugin": false - } - } -} -``` - -You can also set the config option itself to `false` to disallow all plugins, or `true` to allow all plugins to run (NOT recommended). For example: - -```json -{ - "config": { - "allow-plugins": false - } -} -``` - -## use-include-path - -Defaults to `false`. If `true`, the Composer autoloader will also look for classes -in the PHP include path. - -## preferred-install - -Defaults to `dist` and can be any of `source`, `dist` or `auto`. This option -allows you to set the install method Composer will prefer to use. Can -optionally be an object with package name patterns for keys for more granular install preferences. - -```json -{ - "config": { - "preferred-install": { - "my-organization/stable-package": "dist", - "my-organization/*": "source", - "partner-organization/*": "auto", - "*": "dist" - } - } -} -``` - -- `source` means Composer will install packages from their `source` if there - is one. This is typically a git clone or equivalent checkout of the version - control system the package uses. This is useful if you want to make a bugfix - to a project and get a local git clone of the dependency directly. -- `auto` is the legacy behavior where Composer uses `source` automatically - for dev versions, and `dist` otherwise. -- `dist` (the default as of Composer 2.1) means Composer installs from `dist`, - where possible. This is typically a zip file download, which is faster than - cloning the entire repository. - -> **Note:** Order matters. More specific patterns should be earlier than -> more relaxed patterns. When mixing the string notation with the hash -> configuration in global and package configurations the string notation -> is translated to a `*` package pattern. - -## use-parent-dir - -When running Composer in a directory where there is no composer.json, if there -is one present in a directory above Composer will by default ask you whether -you want to use that directory's composer.json instead. - -If you always want to answer yes to this prompt, you can set this config value -to `true`. To never be prompted, set it to `false`. The default is `"prompt"`. - -> **Note:** This config must be set in your global user-wide config for it -> to work. Use for example `php composer.phar config --global use-parent-dir true` -> to set it. - -## store-auths - -What to do after prompting for authentication, one of: `true` (always store), -`false` (do not store) and `"prompt"` (ask every time), defaults to `"prompt"`. - -## github-protocols - -Defaults to `["https", "ssh", "git"]`. A list of protocols to use when cloning -from github.com, in priority order. By default `git` is present but only if [secure-http](#secure-http) -is disabled, as the git protocol is not encrypted. If you want your origin remote -push URLs to be using https and not ssh (`git@github.com:...`), then set the protocol -list to be only `["https"]` and Composer will stop overwriting the push URL to an ssh -URL. - -## github-oauth - -A list of domain names and oauth keys. For example using `{"github.com": -"oauthtoken"}` as the value of this option will use `oauthtoken` to access -private repositories on github and to circumvent the low IP-based rate limiting -of their API. Composer may prompt for credentials when needed, but these can also be -manually set. Read more on how to get an OAuth token for GitHub and cli syntax -[here](articles/authentication-for-private-packages.md#github-oauth). - -## gitlab-domains - -Defaults to `["gitlab.com"]`. A list of domains of GitLab servers. -This is used if you use the `gitlab` repository type. - -## gitlab-oauth - -A list of domain names and oauth keys. For example using `{"gitlab.com": -"oauthtoken"}` as the value of this option will use `oauthtoken` to access -private repositories on gitlab. Please note: If the package is not hosted at -gitlab.com the domain names must be also specified with the -[`gitlab-domains`](06-config.md#gitlab-domains) option. -Further info can also be found [here](articles/authentication-for-private-packages.md#gitlab-oauth) - -## gitlab-token - -A list of domain names and private tokens. Private token can be either simple -string, or array with username and token. For example using `{"gitlab.com": -"privatetoken"}` as the value of this option will use `privatetoken` to access -private repositories on gitlab. Using `{"gitlab.com": {"username": "gitlabuser", - "token": "privatetoken"}}` will use both username and token for gitlab deploy -token functionality (https://docs.gitlab.com/ee/user/project/deploy_tokens/) -Please note: If the package is not hosted at -gitlab.com the domain names must be also specified with the -[`gitlab-domains`](06-config.md#gitlab-domains) option. The token must have -`api` or `read_api` scope. -Further info can also be found [here](articles/authentication-for-private-packages.md#gitlab-token) - -## gitlab-protocol - -A protocol to force use of when creating a repository URL for the `source` -value of the package metadata. One of `git` or `http`. (`https` is treated -as a synonym for `http`.) Helpful when working with projects referencing -private repositories which will later be cloned in GitLab CI jobs with a -[GitLab CI_JOB_TOKEN](https://docs.gitlab.com/ee/ci/variables/predefined_variables.html#predefined-variables-reference) -using HTTP basic auth. By default, Composer will generate a git-over-SSH -URL for private repositories and HTTP(S) only for public. - -## disable-tls - -Defaults to `false`. If set to true all HTTPS URLs will be tried with HTTP -instead and no network level encryption is performed. Enabling this is a -security risk and is NOT recommended. The better way is to enable the -php_openssl extension in php.ini. Enabling this will implicitly disable the -`secure-http` option. - -## secure-http - -Defaults to `true`. If set to true only HTTPS URLs are allowed to be -downloaded via Composer. If you really absolutely need HTTP access to something -then you can disable it, but using [Let's Encrypt](https://letsencrypt.org/) to -get a free SSL certificate is generally a better alternative. - -## bitbucket-oauth - -A list of domain names and consumers. For example using `{"bitbucket.org": -{"consumer-key": "myKey", "consumer-secret": "mySecret"}}`. -Read more [here](articles/authentication-for-private-packages.md#bitbucket-oauth). - -## cafile - -Location of Certificate Authority file on local filesystem. In PHP 5.6+ you -should rather set this via openssl.cafile in php.ini, although PHP 5.6+ should -be able to detect your system CA file automatically. - -## capath - -If cafile is not specified or if the certificate is not found there, the -directory pointed to by capath is searched for a suitable certificate. -capath must be a correctly hashed certificate directory. - -## http-basic - -A list of domain names and username/passwords to authenticate against them. For -example using `{"example.org": {"username": "alice", "password": "foo"}}` as the -value of this option will let Composer authenticate against example.org. -More info can be found [here](articles/authentication-for-private-packages.md#http-basic). - -## bearer - -A list of domain names and tokens to authenticate against them. For example using -`{"example.org": "foo"}` as the value of this option will let Composer authenticate -against example.org using an `Authorization: Bearer foo` header. - -## platform - -Lets you fake platform packages (PHP and extensions) so that you can emulate a -production env or define your target platform in the config. Example: `{"php": -"7.0.3", "ext-something": "4.0.3"}`. - -This will make sure that no package requiring more than PHP 7.0.3 can be installed -regardless of the actual PHP version you run locally. However it also means -the dependencies are not checked correctly anymore, if you run PHP 5.6 it will -install fine as it assumes 7.0.3, but then it will fail at runtime. This also means if -`{"php":"7.4"}` is specified; no packages will be used that define `7.4.1` as minimum. - -Therefore if you use this it is recommended, and safer, to also run the -[`check-platform-reqs`](03-cli.md#check-platform-reqs) command as part of your -deployment strategy. - -If a dependency requires some extension that you do not have installed locally -you may ignore it instead by passing `--ignore-platform-req=ext-foo` to `update`, -`install` or `require`. In the long run though you should install required -extensions as if you ignore one now and a new package you add a month later also -requires it, you may introduce issues in production unknowingly. - -If you have an extension installed locally but *not* on production, you may want -to artificially hide it from Composer using `{"ext-foo": false}`. - -## vendor-dir - -Defaults to `vendor`. You can install dependencies into a different directory if -you want to. `$HOME` and `~` will be replaced by your home directory's path in -vendor-dir and all `*-dir` options below. - -## bin-dir - -Defaults to `vendor/bin`. If a project includes binaries, they will be symlinked -into this directory. - -## data-dir - -Defaults to `C:\Users\\AppData\Roaming\Composer` on Windows, -`$XDG_DATA_HOME/composer` on unix systems that follow the XDG Base Directory -Specifications, and `$COMPOSER_HOME` on other unix systems. Right now it is only -used for storing past composer.phar files to be able to roll back to older -versions. See also [COMPOSER_HOME](03-cli.md#composer-home). - -## cache-dir - -Defaults to `C:\Users\\AppData\Local\Composer` on Windows, -`/Users//Library/Caches/composer` on macOS, `$XDG_CACHE_HOME/composer` -on unix systems that follow the XDG Base Directory Specifications, and -`$COMPOSER_HOME/cache` on other unix systems. Stores all the caches used by -Composer. See also [COMPOSER_HOME](03-cli.md#composer-home). - -## cache-files-dir - -Defaults to `$cache-dir/files`. Stores the zip archives of packages. - -## cache-repo-dir - -Defaults to `$cache-dir/repo`. Stores repository metadata for the `composer` -type and the VCS repos of type `svn`, `fossil`, `github` and `bitbucket`. - -## cache-vcs-dir - -Defaults to `$cache-dir/vcs`. Stores VCS clones for loading VCS repository -metadata for the `git`/`hg` types and to speed up installs. - -## cache-files-ttl - -Defaults to `15552000` (6 months). Composer caches all dist (zip, tar, ...) -packages that it downloads. Those are purged after six months of being unused by -default. This option allows you to tweak this duration (in seconds) or disable -it completely by setting it to 0. - -## cache-files-maxsize - -Defaults to `300MiB`. Composer caches all dist (zip, tar, ...) packages that it -downloads. When the garbage collection is periodically ran, this is the maximum -size the cache will be able to use. Older (less used) files will be removed -first until the cache fits. - -## cache-read-only - -Defaults to `false`. Whether to use the Composer cache in read-only mode. - -## bin-compat - -Defaults to `auto`. Determines the compatibility of the binaries to be installed. -If it is `auto` then Composer only installs .bat proxy files when on Windows or WSL. If -set to `full` then both .bat files for Windows and scripts for Unix-based -operating systems will be installed for each binary. This is mainly useful if you -run Composer inside a linux VM but still want the `.bat` proxies available for use -in the Windows host OS. If set to `proxy` Composer will only create bash/Unix-style -proxy files and no .bat files even on Windows/WSL. - -## prepend-autoloader - -Defaults to `true`. If `false`, the Composer autoloader will not be prepended to -existing autoloaders. This is sometimes required to fix interoperability issues -with other autoloaders. - -## autoloader-suffix - -Defaults to `null`. Non-empty string to be used as a suffix for the generated -Composer autoloader. When null a random one will be generated. - -## optimize-autoloader - -Defaults to `false`. If `true`, always optimize when dumping the autoloader. - -## sort-packages - -Defaults to `false`. If `true`, the `require` command keeps packages sorted -by name in `composer.json` when adding a new package. - -## classmap-authoritative - -Defaults to `false`. If `true`, the Composer autoloader will only load classes -from the classmap. Implies `optimize-autoloader`. - -## apcu-autoloader - -Defaults to `false`. If `true`, the Composer autoloader will check for APCu and -use it to cache found/not-found classes when the extension is enabled. - -## github-domains - -Defaults to `["github.com"]`. A list of domains to use in github mode. This is -used for GitHub Enterprise setups. - -## github-expose-hostname - -Defaults to `true`. If `false`, the OAuth tokens created to access the -github API will have a date instead of the machine hostname. - -## use-github-api - -Defaults to `true`. Similar to the `no-api` key on a specific repository, -setting `use-github-api` to `false` will define the global behavior for all -GitHub repositories to clone the repository as it would with any other git -repository instead of using the GitHub API. But unlike using the `git` -driver directly, Composer will still attempt to use GitHub's zip files. - -## notify-on-install - -Defaults to `true`. Composer allows repositories to define a notification URL, -so that they get notified whenever a package from that repository is installed. -This option allows you to disable that behavior. - -## discard-changes - -Defaults to `false` and can be any of `true`, `false` or `"stash"`. This option -allows you to set the default style of handling dirty updates when in -non-interactive mode. `true` will always discard changes in vendors, while -`"stash"` will try to stash and reapply. Use this for CI servers or deploy -scripts if you tend to have modified vendors. - -## archive-format - -Defaults to `tar`. Overrides the default format used by the archive command. - -## archive-dir - -Defaults to `.`. Default destination for archives created by the archive -command. - -Example: - -```json -{ - "config": { - "archive-dir": "/home/user/.composer/repo" - } -} -``` - -## htaccess-protect - -Defaults to `true`. If set to `false`, Composer will not create `.htaccess` files -in the Composer home, cache, and data directories. - -## lock - -Defaults to `true`. If set to `false`, Composer will not create a `composer.lock` -file and will ignore it if one is present. - -## platform-check - -Defaults to `php-only` which only checks the PHP version. Set to `true` to also -check the presence of extension. If set to `false`, Composer will not create and -require a `platform_check.php` file as part of the autoloader bootstrap. - -## secure-svn-domains - -Defaults to `[]`. Lists domains which should be trusted/marked as using a secure -Subversion/SVN transport. By default svn:// protocol is seen as insecure and will -throw, but you can set this config option to `["example.org"]` to allow using svn -URLs on that hostname. This is a better/safer alternative to disabling `secure-http` -altogether. - -← [Repositories](05-repositories.md) | [Runtime](07-runtime.md) → diff --git a/core/vendor/composer/composer/doc/07-runtime.md b/core/vendor/composer/composer/doc/07-runtime.md deleted file mode 100644 index 12f512f898..0000000000 --- a/core/vendor/composer/composer/doc/07-runtime.md +++ /dev/null @@ -1,178 +0,0 @@ -# Runtime Composer utilities - -While Composer is mostly used around your project to install its dependencies, -there are a few things which are made available to you at runtime. - -If you need to rely on some of these in a specific version, you can require -the `composer-runtime-api` package. - -## Autoload - -The autoloader is the most used one, and is already covered in our -[basic usage guide](01-basic-usage.md#autoloading). It is available in all -Composer versions. - -## Installed versions - -composer-runtime-api 2.0 introduced a new `Composer\InstalledVersions` class which offers -a few static methods to inspect which versions are currently installed. This is -automatically available to your code as long as you include the Composer autoloader. - -The main use cases for this class are the following: - -### Knowing whether package X (or virtual package) is present - -```php -\Composer\InstalledVersions::isInstalled('vendor/package'); // returns bool -\Composer\InstalledVersions::isInstalled('psr/log-implementation'); // returns bool -``` - -As of Composer 2.1, you may also check if something was installed via require-dev or not by -passing false as second argument: - -```php -\Composer\InstalledVersions::isInstalled('vendor/package'); // returns true assuming this package is installed -\Composer\InstalledVersions::isInstalled('vendor/package', false); // returns true if vendor/package is in require, false if in require-dev -``` - -Note that this can not be used to check whether platform packages are installed. - -### Knowing whether package X is installed in version Y - -> **Note:** To use this, your package must require `"composer/semver": "^3.0"`. - -```php -use Composer\Semver\VersionParser; - -\Composer\InstalledVersions::satisfies(new VersionParser, 'vendor/package', '2.0.*'); -\Composer\InstalledVersions::satisfies(new VersionParser, 'psr/log-implementation', '^1.0'); -``` - -This will return true if e.g. vendor/package is installed in a version matching -`2.0.*`, but also if the given package name is replaced or provided by some other -package. - -### Knowing the version of package X - -> **Note:** This will return `null` if the package name you ask for is not itself installed -> but merely provided or replaced by another package. We therefore recommend using satisfies() -> in library code at least. In application code you have a bit more control and it is less -> important. - -```php -// returns a normalized version (e.g. 1.2.3.0) if vendor/package is installed, -// or null if it is provided/replaced, -// or throws OutOfBoundsException if the package is not installed at all -\Composer\InstalledVersions::getVersion('vendor/package'); -``` - -```php -// returns the original version (e.g. v1.2.3) if vendor/package is installed, -// or null if it is provided/replaced, -// or throws OutOfBoundsException if the package is not installed at all -\Composer\InstalledVersions::getPrettyVersion('vendor/package'); -``` - -```php -// returns the package dist or source reference (e.g. a git commit hash) if vendor/package is installed, -// or null if it is provided/replaced, -// or throws OutOfBoundsException if the package is not installed at all -\Composer\InstalledVersions::getReference('vendor/package'); -``` - -### Knowing a package's own installed version - -If you are only interested in getting a package's own version, e.g. in the source of acme/foo you want -to know which version acme/foo is currently running to display that to the user, then it is -acceptable to use getVersion/getPrettyVersion/getReference. - -The warning in the section above does not apply in this case as you are sure the package is present -and not being replaced if your code is running. - -It is nonetheless a good idea to make sure you handle the `null` return value as gracefully as -possible for safety. - ----- - -A few other methods are available for more complex usages, please refer to the -source/docblocks of [the class itself](https://github.com/composer/composer/blob/main/src/Composer/InstalledVersions.php). - -### Knowing the path in which a package is installed - -The `getInstallPath` method to retrieve a package's absolute install path. - -> **Note:** The path, while absolute, may contain `../` or symlinks. It is -> not guaranteed to be equivalent to a `realpath()` so you should run a -> realpath on it if that matters to you. - -```php -// returns an absolute path to the package installation location if vendor/package is installed, -// or null if it is provided/replaced, or the package is a metapackage -// or throws OutOfBoundsException if the package is not installed at all -\Composer\InstalledVersions::getInstallPath('vendor/package'); -``` - -> Available as of Composer 2.1 (i.e. `composer-runtime-api ^2.1`) - -### Knowing which packages of a given type are installed - -The `getInstalledPackagesByType` method accepts a package type (e.g. foo-plugin) and lists -the packages of that type which are installed. You can then use the methods above to retrieve -more information about each package if needed. - -This method should alleviate the need for custom installers placing plugins in a specific path -instead of leaving them in the vendor dir. You can then find plugins to initialize at runtime -via InstalledVersions, including their paths via getInstallPath if needed. - -```php -\Composer\InstalledVersions::getInstalledPackagesByType('foo-plugin'); -``` - -> Available as of Composer 2.1 (i.e. `composer-runtime-api ^2.1`) - -## Platform check - -composer-runtime-api 2.0 introduced a new `vendor/composer/platform_check.php` file, which -is included automatically when you include the Composer autoloader. - -It verifies that platform requirements (i.e. php and php extensions) are fulfilled -by the PHP process currently running. If the requirements are not met, the script -prints a warning with the missing requirements and exits with code 104. - -To avoid an unexpected white page of death with some obscure PHP extension warning in -production, you can run `composer check-platform-reqs` as part of your -deployment/build and if that returns a non-0 code you should abort. - -The default value is `php-only` which only checks the PHP version. - -If you for some reason do not want to use this safety check, and would rather -risk runtime errors when your code executes, you can disable this by setting the -[`platform-check`](06-config.md#platform-check) config option to `false`. - -If you want the check to include verifying the presence of PHP extensions, -set the config option to `true`. `ext-*` requirements will then be verified -but for performance reasons Composer only checks the extension is present, -not its exact version. - -`lib-*` requirements are never supported/checked by the platform check feature. - -## Autoloader path in binaries - -composer-runtime-api 2.2 introduced a new `$_composer_autoload_path` global -variable set when running binaries installed with Composer. Read more -about this [on the vendor binaries docs](articles/vendor-binaries.md#finding-the-composer-autoloader-from-a-binary). - -This is set by the binary proxy and as such is not made available to projects -by Composer's `vendor/autoload.php`, which would be useless as it would point back -to itself. - -## Binary (bin-dir) path in binaries - -composer-runtime-api 2.2.2 introduced a new `$_composer_bin_dir` global -variable set when running binaries installed with Composer. Read more -about this [on the vendor binaries docs](articles/vendor-binaries.md#finding-the-composer-bin-dir-from-a-binary). - -This is set by the binary proxy and as such is not made available to projects -by Composer's `vendor/autoload.php`. - -← [Config](06-config.md) | [Community](08-community.md) → diff --git a/core/vendor/composer/composer/doc/08-community.md b/core/vendor/composer/composer/doc/08-community.md deleted file mode 100644 index caba743ea1..0000000000 --- a/core/vendor/composer/composer/doc/08-community.md +++ /dev/null @@ -1,36 +0,0 @@ -# Community - -There are many people using Composer already, and quite a few of them are -contributing. - -## Contributing - -If you would like to contribute to Composer, please read the -[README](https://github.com/composer/composer) and -[CONTRIBUTING](https://github.com/composer/composer/blob/main/.github/CONTRIBUTING.md) -documents. - -The most important guidelines are described as follows: - -> All code contributions - including those of people having commit access - must -> go through a pull request and approved by a core developer before being -> merged. This is to ensure proper review of all the code. -> -> Fork the project, create a feature branch, and send us a pull request. -> -> To ensure a consistent code base, you should make sure the code follows -> the [PSR-12 Coding Standards](https://www.php-fig.org/psr/psr-12/). - -## Support - -The IRC channel is on irc.libera.chat: [#composer](ircs://irc.libera.chat:6697/composer). - -[Stack Overflow](https://stackoverflow.com/questions/tagged/composer-php) and -[GitHub Discussions](https://github.com/composer/composer/discussions) both have a -collection of Composer related questions. - -For paid support, we do provide Composer-related support via chat and email to -[Private Packagist](https://packagist.com) customers. - - -← [Runtime](07-runtime.md) diff --git a/core/vendor/composer/composer/doc/articles/aliases.md b/core/vendor/composer/composer/doc/articles/aliases.md deleted file mode 100644 index ce5a5b71d3..0000000000 --- a/core/vendor/composer/composer/doc/articles/aliases.md +++ /dev/null @@ -1,111 +0,0 @@ - - -# Aliases - -## Why aliases? - -When you are using a VCS repository, you will only get comparable versions for -branches that look like versions, such as `2.0` or `2.0.x`. For your `master` branch, you -will get a `dev-master` version. For your `bugfix` branch, you will get a -`dev-bugfix` version. - -If your `master` branch is used to tag releases of the `1.0` development line, -i.e. `1.0.1`, `1.0.2`, `1.0.3`, etc., any package depending on it will -probably require version `1.0.*`. - -If anyone wants to require the latest `dev-master`, they have a problem: Other -packages may require `1.0.*`, so requiring that dev version will lead to -conflicts, since `dev-master` does not match the `1.0.*` constraint. - -Enter aliases. - -## Branch alias - -The `dev-master` branch is one in your main VCS repo. It is rather common that -someone will want the latest master dev version. Thus, Composer allows you to -alias your `dev-master` branch to a `1.0.x-dev` version. It is done by -specifying a `branch-alias` field under `extra` in `composer.json`: - -```json -{ - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - } -} -``` - -If you alias a non-comparable version (such as dev-develop) `dev-` must prefix the -branch name. You may also alias a comparable version (i.e. start with numbers, -and end with `.x-dev`), but only as a more specific version. -For example, 1.x-dev could be aliased as 1.2.x-dev. - -The alias must be a comparable dev version, and the `branch-alias` must be present on -the branch that it references. For `dev-master`, you need to commit it on the -`master` branch. - -As a result, anyone can now require `1.0.*` and it will happily install -`dev-master`. - -In order to use branch aliasing, you must own the repository of the package -being aliased. If you want to alias a third party package without maintaining -a fork of it, use inline aliases as described below. - -## Require inline alias - -Branch aliases are great for aliasing main development lines. But in order to -use them you need to have control over the source repository, and you need to -commit changes to version control. - -This is not really fun when you want to try a bugfix of some library that -is a dependency of your local project. - -For this reason, you can alias packages in your `require` and `require-dev` -fields. Let's say you found a bug in the `monolog/monolog` package. You cloned -[Monolog](https://github.com/Seldaek/monolog) on GitHub and fixed the issue in -a branch named `bugfix`. Now you want to install that version of monolog in your -local project. - -You are using `symfony/monolog-bundle` which requires `monolog/monolog` version -`1.*`. So you need your `dev-bugfix` to match that constraint. - -Add this to your project's root `composer.json`: - -```json -{ - "repositories": [ - { - "type": "vcs", - "url": "https://github.com/you/monolog" - } - ], - "require": { - "symfony/monolog-bundle": "2.0", - "monolog/monolog": "dev-bugfix as 1.0.x-dev" - } -} -``` - -Or let Composer add it for you with: - -```shell -php composer.phar require "monolog/monolog:dev-bugfix as 1.0.x-dev" -``` - -That will fetch the `dev-bugfix` version of `monolog/monolog` from your GitHub -and alias it to `1.0.x-dev`. - -> **Note:** Inline aliasing is a root-only feature. If a package with inline -> aliases is required, the alias (right of the `as`) is used as the version -> constraint. The part left of the `as` is discarded. As a consequence, if -> A requires B and B requires `monolog/monolog` version `dev-bugfix as 1.0.x-dev`, -> installing A will make B require `1.0.x-dev`, which may exist as a branch -> alias or an actual `1.0` branch. If it does not, it must be -> inline-aliased again in A's `composer.json`. - -> **Note:** Inline aliasing should be avoided, especially for published -> packages/libraries. If you found a bug, try to get your fix merged upstream. -> This helps to avoid issues for users of your package. diff --git a/core/vendor/composer/composer/doc/articles/authentication-for-private-packages.md b/core/vendor/composer/composer/doc/articles/authentication-for-private-packages.md deleted file mode 100644 index f84a9afa16..0000000000 --- a/core/vendor/composer/composer/doc/articles/authentication-for-private-packages.md +++ /dev/null @@ -1,362 +0,0 @@ - - -# Authentication for privately hosted packages and repositories - -Your [private package server](handling-private-packages.md) or version control system is probably secured with one -or more authentication options. In order to allow your project to have access to these -packages and repositories you will have to tell Composer how to authenticate with the server that hosts them. - -# Authentication principles - -Whenever Composer encounters a protected Composer repository it will try to authenticate -using already defined credentials first. When none of those credentials apply it will prompt -for credentials and save them (or a token if Composer is able to retrieve one). - -|type|Generated by Prompt?| -|---|---| -|[http-basic](#http-basic)|yes| -|[Inline http-basic](#inline-http-basic)|no| -|[HTTP Bearer](#http-bearer)|no| -|[Custom header](#custom-token-authentication)|no| -|[gitlab-oauth](#gitlab-oauth)|yes| -|[gitlab-token](#gitlab-token)|yes| -|[github-oauth](#github-oauth)|yes| -|[bitbucket-oauth](#bitbucket-oauth)|yes| - -Sometimes automatic authentication is not possible, or you may want to predefine -authentication credentials. - -Credentials can be stored on 3 different places; in an `auth.json` for the project, a global -`auth.json` or in the `composer.json` itself. - -## Authentication in auth.json per project - -In this authentication storage method, an `auth.json` file will be present in the same folder -as the projects' `composer.json` file. You can either create and edit this file using the -command line or manually edit or create it. - -> **Note: Make sure the `auth.json` file is in `.gitignore`** to avoid -> leaking credentials into your git history. - -## Global authentication credentials - -If you don't want to supply credentials for every project you work on, storing your credentials -globally might be a better idea. These credentials are stored in a global `auth.json` in your -Composer home directory. - -### Command line global credential editing - -For all authentication methods it is possible to edit them using the command line; - - [http-basic](#command-line-http-basic) - - [Inline http-basic](#command-line-inline-http-basic) - - [HTTP Bearer](#http-bearer) - - [gitlab-oauth](#command-line-gitlab-oauth) - - [gitlab-token](#command-line-gitlab-token) - - [github-oauth](#command-line-github-oauth) - - [bitbucket-oauth](#command-line-bitbucket-oauth) - -### Manually editing global authentication credentials - -> **Note:** It is not recommended to manually edit your authentication options as this might -> result in invalid json. Instead preferably use [the command line](#command-line-global-credential-editing). - -To manually edit it, run: - -```shell -php composer.phar config --global --editor [--auth] -``` - -For specific authentication implementations, see their sections; - - [http-basic](#manual-http-basic) - - [Inline http-basic](#manual-inline-http-basic) - - [HTTP Bearer](#http-bearer) - - [custom header](#manual-custom-token-authentication) - - [gitlab-oauth](#manual-gitlab-oauth) - - [gitlab-token](#manual-gitlab-token) - - [github-oauth](#manual-github-oauth) - - [bitbucket-oauth](#manual-bitbucket-oauth) - -Manually editing this file instead of using the command line may result in invalid json errors. -To fix this you need to open the file in an editor and fix the error. To find the location of -your global `auth.json`, execute: - -```shell -php composer.phar config --global home -``` - -The folder will contain your global `auth.json` if it exists. - -You can open this file in your favorite editor and fix the error. - -## Authentication in composer.json file itself - -> **Note:** **This is not recommended** as these credentials are visible -> to anyone who has access to the composer.json, either when it is shared through -> a version control system like git or when an attacker gains (read) access to -> your production server files. - -It is also possible to add credentials to a `composer.json` on a per-project basis in the `config` -section or directly in the repository definition. - -## Authentication using the COMPOSER_AUTH environment variable - -> **Note:** Using the command line environment variable method also has security implications. -> These credentials will most likely be stored in memory, -> and may be persisted to a file like `~/.bash_history` (linux) or `ConsoleHost_history.txt` -> (PowerShell on Windows) when closing a session. - -The final option to supply Composer with credentials is to use the `COMPOSER_AUTH` environment variable. -These variables can be either passed as command line variables or set in actual environment variables. -Read more about the usage of this environment variable [here](../03-cli.md#composer-auth). - -# Authentication methods - -## http-basic - -### Command line http-basic - -```shell -php composer.phar config [--global] http-basic.repo.example.org username password -``` - -In the above command, the config key `http-basic.repo.example.org` consists of two parts: - -- `http-basic` is the authentication method. -- `repo.example.org` is the repository host name, you should replace it with the host name of your repository. - -### Manual http-basic - -```shell -php composer.phar config [--global] --editor --auth -``` - -```json -{ - "http-basic": { - "example.org": { - "username": "username", - "password": "password" - } - } -} -``` - -## Inline http-basic - -For the inline http-basic authentication method the credentials are not stored in a separate -`auth.json` in the project or globally, but in the `composer.json` or global configuration -in the same place where the Composer repository definition is defined. - -Make sure that the username and password are encoded according to [RFC 3986](http://www.faqs.org/rfcs/rfc3986.html) (2.1. Percent-Encoding). -If the username e.g. is an email address it needs to be passed as `name%40example.com`. - -### Command line inline http-basic - -```shell -php composer.phar config [--global] repositories composer.unique-name https://username:password@repo.example.org -``` - -### Manual inline http-basic - -```shell -php composer.phar config [--global] --editor -``` - -```json -{ - "repositories": [ - { - "type": "composer", - "url": "https://username:password@example.org" - } - ] -} -``` - -## HTTP Bearer - -### Command line HTTP Bearer authentication - -```shell -php composer.phar config [--global] bearer.repo.example.org token -``` - -In the above command, the config key `bearer.repo.example.org` consists of two parts: - -- `bearer` is the authentication method. -- `repo.example.org` is the repository host name, you should replace it with the host name of your repository. - -### Manual HTTP Bearer authentication - -```shell -php composer.phar config [--global] --editor --auth -``` - -```json -{ - "bearer": { - "example.org": "TOKEN" - } -} -``` - - -## Custom token authentication - -### Manual custom token authentication - -```shell -php composer.phar config [--global] --editor -``` - -```json -{ - "repositories": [ - { - "type": "composer", - "url": "https://example.org", - "options": { - "http": { - "header": [ - "API-TOKEN: YOUR-API-TOKEN" - ] - } - } - } - ] -} -``` - -## gitlab-oauth - -> **Note:** For the gitlab authentication to work on private gitlab instances, the -> [`gitlab-domains`](../06-config.md#gitlab-domains) section should also contain the url. - -### Command line gitlab-oauth - -```shell -php composer.phar config [--global] gitlab-oauth.gitlab.example.org token -``` - -In the above command, the config key `gitlab-oauth.gitlab.example.org` consists of two parts: - -- `gitlab-oauth` is the authentication method. -- `gitlab.example.org` is the host name of your GitLab instance, you should replace it with the host name of your GitLab instance or use `gitlab.com` if you don't have a self-hosted GitLab instance. - -### Manual gitlab-oauth - -```shell -php composer.phar config [--global] --editor --auth -``` - -```json -{ - "gitlab-oauth": { - "example.org": "token" - } -} -``` - -## gitlab-token - -> **Note:** For the gitlab authentication to work on private gitlab instances, the -> [`gitlab-domains`](../06-config.md#gitlab-domains) section should also contain the url. - -To create a new access token, go to your [access tokens section on GitLab](https://gitlab.com/-/profile/personal_access_tokens) -(or the equivalent URL on your private instance) and create a new token. See also [the GitLab access token documentation](https://docs.gitlab.com/ee/user/profile/personal_access_tokens.html#creating-a-personal-access-token) for more information. - -When creating a gitlab token manually, make sure it has either the `read_api` or `api` scope. - -### Command line gitlab-token - -```shell -php composer.phar config [--global] gitlab-token.gitlab.example.org token -``` - -In the above command, the config key `gitlab-token.gitlab.example.org` consists of two parts: - -- `gitlab-token` is the authentication method. -- `gitlab.example.org` is the host name of your GitLab instance, you should replace it with the host name of your GitLab instance or use `gitlab.com` if you don't have a self-hosted GitLab instance. - -### Manual gitlab-token - -```shell -php composer.phar config [--global] --editor --auth -``` - -```json -{ - "gitlab-token": { - "example.org": "token" - } -} -``` - -## github-oauth - -To create a new access token, head to your [token settings section on Github](https://github.com/settings/tokens) and [generate a new token](https://github.com/settings/tokens/new). - -For public repositories when rate limited, a token *without* any particular scope is sufficient (see `(no scope)` in the [scopes documentation](https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps)). Such tokens grant read-only access to public information. - -For private repositories, the `repo` scope is needed. Note that the token will be given broad read/write access to all of your private repositories and much more - see the [scopes documentation](https://docs.github.com/en/developers/apps/building-oauth-apps/scopes-for-oauth-apps) for a complete list. As of writing (November 2021), it seems not to be possible to further limit permissions for such tokens. - -Read more about [Personal Access Tokens](https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/creating-a-personal-access-token), or subscribe to the [roadmap item for better scoped tokens in GitHub](https://github.com/github/roadmap/issues/184). - -### Command line github-oauth - -```shell -php composer.phar config [--global] github-oauth.github.com token -``` - -In the above command, the config key `github-oauth.github.com` consists of two parts: - -- `github-oauth` is the authentication method. -- `github.com` is the host name for which this token applies. For GitHub you most likely do not need to change this. - -### Manual github-oauth - -```shell -php composer.phar config [--global] --editor --auth -``` - -```json -{ - "github-oauth": { - "github.com": "token" - } -} -``` - -## bitbucket-oauth - -The BitBucket driver uses OAuth to access your private repositories via the BitBucket REST APIs, and you will need to create an OAuth consumer to use the driver, please refer to [Atlassian's Documentation](https://support.atlassian.com/bitbucket-cloud/docs/use-oauth-on-bitbucket-cloud/). You will need to fill the callback url with something to satisfy BitBucket, but the address does not need to go anywhere and is not used by Composer. - -### Command line bitbucket-oauth - -```shell -php composer.phar config [--global] bitbucket-oauth.bitbucket.org consumer-key consumer-secret -``` - -In the above command, the config key `bitbucket-oauth.bitbucket.org` consists of two parts: - -- `bitbucket-oauth` is the authentication method. -- `bitbucket.org` is the host name for which this token applies. Unless you have a private instance you don't need to change this. - -### Manual bitbucket-oauth - -```shell -php composer.phar config [--global] --editor --auth -``` - -```json -{ - "bitbucket-oauth": { - "bitbucket.org": { - "consumer-key": "key", - "consumer-secret": "secret" - } - } -} -``` diff --git a/core/vendor/composer/composer/doc/articles/autoloader-optimization.md b/core/vendor/composer/composer/doc/articles/autoloader-optimization.md deleted file mode 100644 index 07a0739bfa..0000000000 --- a/core/vendor/composer/composer/doc/articles/autoloader-optimization.md +++ /dev/null @@ -1,111 +0,0 @@ - - -# Autoloader optimization - -By default, the Composer autoloader runs relatively fast. However, due to the way -PSR-4 and PSR-0 autoloading rules are set up, it needs to check the filesystem -before resolving a classname conclusively. This slows things down quite a bit, -but it is convenient in development environments because when you add a new class -it can immediately be discovered/used without having to rebuild the autoloader -configuration. - -The problem however is in production you generally want things to happen as fast -as possible, as you can rebuild the configuration every time you deploy and -new classes do not appear at random between deploys. - -For this reason, Composer offers a few strategies to optimize the autoloader. - -> **Note:** You **should not** enable any of these optimizations in **development** as -> they all will cause various problems when adding/removing classes. The performance -> gains are not worth the trouble in a development setting. - -## Optimization Level 1: Class map generation - -### How to run it? - -There are a few options to enable this: - -- Set `"optimize-autoloader": true` inside the config key of composer.json -- Call `install` or `update` with `-o` / `--optimize-autoloader` -- Call `dump-autoload` with `-o` / `--optimize` - -### What does it do? - -Class map generation essentially converts PSR-4/PSR-0 rules into classmap rules. -This makes everything quite a bit faster as for known classes the class map -returns instantly the path, and Composer can guarantee the class is in there so -there is no filesystem check needed. - -On PHP 5.6+, the class map is also cached in opcache which improves the initialization -time greatly. If you make sure opcache is enabled, then the class map should load -almost instantly and then class loading is fast. - -### Trade-offs - -There are no real trade-offs with this method. It should always be enabled in -production. - -The only issue is it does not keep track of autoload misses (i.e. when -it cannot find a given class), so those fallback to PSR-4 rules and can still -result in slow filesystem checks. To solve this issue two Level 2 optimization -options exist, and you can decide to enable either if you have a lot of -class_exists checks that are done for classes that do not exist in your project. - -## Optimization Level 2/A: Authoritative class maps - -### How to run it? - -There are a few options to enable this: - -- Set `"classmap-authoritative": true` inside the config key of composer.json -- Call `install` or `update` with `-a` / `--classmap-authoritative` -- Call `dump-autoload` with `-a` / `--classmap-authoritative` - -### What does it do? - -Enabling this automatically enables Level 1 class map optimizations. - -This option says that if something is not found in the classmap, -then it does not exist and the autoloader should not attempt to look on the -filesystem according to PSR-4 rules. - -### Trade-offs - -This option makes the autoloader always return very quickly. On the flipside it -also means that in case a class is generated at runtime for some reason, it will -not be allowed to be autoloaded. If your project or any of your dependencies does that -then you might experience "class not found" issues in production. Enable this with care. - -> Note: This cannot be combined with Level 2/B optimizations. You have to choose one as -> they address the same issue in different ways. - -## Optimization Level 2/B: APCu cache - -### How to run it? - -There are a few options to enable this: - -- Set `"apcu-autoloader": true` inside the config key of composer.json -- Call `install` or `update` with `--apcu-autoloader` -- Call `dump-autoload` with `--apcu` - -### What does it do? - -This option adds an APCu cache as a fallback for the class map. It will not -automatically generate the class map though, so you should still enable Level 1 -optimizations manually if you so desire. - -Whether a class is found or not, that fact is always cached in APCu, so it can be -returned quickly on the next request. - -### Trade-offs - -This option requires APCu which may or may not be available to you. It also -uses APCu memory for autoloading purposes, but it is safe to use and cannot -result in classes not being found like the authoritative class map -optimization above. - -> Note: This cannot be combined with Level 2/A optimizations. You have to choose one as -> they address the same issue in different ways. diff --git a/core/vendor/composer/composer/doc/articles/composer-platform-dependencies.md b/core/vendor/composer/composer/doc/articles/composer-platform-dependencies.md deleted file mode 100644 index e166d6f4a1..0000000000 --- a/core/vendor/composer/composer/doc/articles/composer-platform-dependencies.md +++ /dev/null @@ -1,77 +0,0 @@ - - -# Composer platform dependencies - -## What are platform dependencies - -Composer makes information about the environment Composer runs in available as virtual packages. This allows other -packages to define dependencies ([require](../04-schema.md#require), [conflict](../04-schema.md#conflict), -[provide](../04-schema.md#provide), [replace](../04-schema.md#replace)) on different aspects of the platform, like PHP, -extensions or system libraries, including version constraints. - -When you require one of the platform packages no code is installed. The version numbers of platform packages are -derived from the environment Composer is executed in and they cannot be updated or removed. They can however be -overwritten for the purposes of dependency resolution with a [platform configuration](../06-config.md#platform). - -**For example:** If you are executing `composer update` with a PHP interpreter in version -`7.4.42`, then Composer automatically adds a package to the pool of available packages -called `php` and assigns version `7.4.42` to it. - -That's how packages can add a dependency on the used PHP version: - -```json -{ - "require": { - "php": ">=7.4" - } -} -``` - -Composer will check this requirement against the currently used PHP version when running the composer command. - -### Different types of platform packages - -The following types of platform packages exist and can be depended on: - -1. PHP (`php` and the subtypes: `php-64bit`, `php-ipv6`, `php-zts` `php-debug`) -2. PHP Extensions (`ext-*`, e.g. `ext-mbstring`) -3. PHP Libraries (`lib-*`, e.g. `lib-curl`) -4. Composer (`composer`, `composer-plugin-api`, `composer-runtime-api`) - -To see the complete list of platform packages available in your environment -you can run `php composer.phar show --platform` (or `show -p` for short). - -The differences between the various Composer platform packages are explained further in this document. - -## Plugin package `composer-plugin-api` - -You can modify Composer's behavior with [plugin](plugins.md) packages. Composer provides a set of versioned APIs for -plugins. Because internal Composer changes may **not** change the plugin APIs, the API version may not increase every -time the Composer version increases. E.g. In Composer version `2.3.12`, the `composer-plugin-api` version could still -be `2.2.0`. - -## Runtime package `composer-runtime-api` - -When applications which were installed with Composer are run (either on CLI or through a web request), they require the -`vendor/autoload.php` file, typically as one of the first lines of executed code. Invocations of the Composer -autoloader are considered the application "runtime". - -Starting with version 2.0, Composer makes [additional features](../07-runtime.md) (besides registering the class autoloader) available to the application runtime environment. - -Similar to `composer-plugin-api`, not every Composer release adds new runtime features, -thus the version of `composer-runtimeapi` is also increased independently from Composer's version. - -## Composer package `composer` - -Starting with Composer 2.2.0, a new platform package called `composer` is available, which represents the exact -Composer version that is executed. Packages depending on this platform package can therefore depend on (or conflict -with) individual Composer versions to cover edge cases where neither the `composer-runtime-api` version nor the -`composer-plugin-api` was changed. - -Because this option was introduced with Composer 2.2.0, it is recommended to add a `composer-plugin-api` dependency on -at least `>=2.2.0` to provide a more meaningful error message for users running older Composer versions. - -In general, depending on `composer-plugin-api` or `composer-runtime-api` is always recommended -over depending on concrete Composer versions with the `composer` platform package. diff --git a/core/vendor/composer/composer/doc/articles/custom-installers.md b/core/vendor/composer/composer/doc/articles/custom-installers.md deleted file mode 100644 index 28d1212971..0000000000 --- a/core/vendor/composer/composer/doc/articles/custom-installers.md +++ /dev/null @@ -1,214 +0,0 @@ - - -# Setting up and using custom installers - -## Synopsis - -At times, it may be necessary for a package to require additional actions during -installation, such as installing packages outside of the default `vendor` -library. - -In these cases you could consider creating a Custom Installer to handle your -specific logic. - -## Alternative to custom installers with Composer 2.1+ - -As of Composer 2.1, the `Composer\InstalledVersions` class has a -[`getInstalledPackagesByType`](https://getcomposer.org/doc/07-runtime.md#knowing-which-packages-of-a-given-type-are-installed) -method which can let you figure out at runtime which plugins/modules/extensions are installed. - -It is highly recommended to use that instead of building new custom -installers if you are building a new application. This has the advantage of leaving -all vendor code in the vendor directory, and not requiring custom installer code. - -## Calling a Custom Installer - -Suppose that your project already has a Custom Installer for specific modules -then invoking that installer is a matter of defining the correct [type][1] in -your package file. - -> _See the next chapter for an instruction how to create Custom Installers._ - -Every Custom Installer defines which [type][1] string it will recognize. Once -recognized it will completely override the default installer and only apply its -own logic. - -An example use-case would be: - -> phpDocumentor features Templates that need to be installed outside of the -> default /vendor folder structure. As such they have chosen to adopt the -> `phpdocumentor-template` [type][1] and create a plugin providing the Custom -> Installer to send these templates to the correct folder. - -An example composer.json of such a template package would be: - -```json -{ - "name": "phpdocumentor/template-responsive", - "type": "phpdocumentor-template", - "require": { - "phpdocumentor/template-installer-plugin": "*" - } -} -``` - -> **IMPORTANT**: to make sure that the template installer is present at the -> time the template package is installed, template packages should require -> the plugin package. - -## Creating an Installer - -A Custom Installer is defined as a class that implements the -[`Composer\Installer\InstallerInterface`][4] and is usually distributed in a -Composer Plugin. - -A basic Installer Plugin would thus compose of three files: - -1. the package file: composer.json -2. The Plugin class, e.g.: `My\Project\Composer\Plugin.php`, containing a class that implements `Composer\Plugin\PluginInterface`. -3. The Installer class, e.g.: `My\Project\Composer\Installer.php`, containing a class that implements `Composer\Installer\InstallerInterface`. - -### composer.json - -The package file is the same as any other package file but with the following -requirements: - -1. the [type][1] attribute must be `composer-plugin`. -2. the [extra][2] attribute must contain an element `class` defining the - class name of the plugin (including namespace). If a package contains - multiple plugins, this can be an array of class names. - -Example: - -```json -{ - "name": "phpdocumentor/template-installer-plugin", - "type": "composer-plugin", - "license": "MIT", - "autoload": { - "psr-0": {"phpDocumentor\\Composer": "src/"} - }, - "extra": { - "class": "phpDocumentor\\Composer\\TemplateInstallerPlugin" - }, - "require": { - "composer-plugin-api": "^1.0" - }, - "require-dev": { - "composer/composer": "^1.3" - } -} -``` - -The example above has Composer itself in its require-dev, which allows you to use -the Composer classes in your test suite for example. - -### The Plugin class - -The class defining the Composer plugin must implement the -[`Composer\Plugin\PluginInterface`][3]. It can then register the Custom -Installer in its `activate()` method. - -The class may be placed in any location and have any name, as long as it is -autoloadable and matches the `extra.class` element in the package definition. - -Example: - -```php -getInstallationManager()->addInstaller($installer); - } -} -``` - -### The Custom Installer class - -The class that executes the custom installation should implement the -[`Composer\Installer\InstallerInterface`][4] (or extend another installer that -implements that interface). It defines the [type][1] string as it will be -recognized by packages that will use this installer in the `supports()` method. - -> **NOTE**: _choose your [type][1] name carefully, it is recommended to follow -> the format: `vendor-type`_. For example: `phpdocumentor-template`. - -The InstallerInterface class defines the following methods (please see the -source for the exact signature): - -* **supports()**, here you test whether the passed [type][1] matches the name - that you declared for this installer (see the example). -* **isInstalled()**, determines whether a supported package is installed or not. -* **install()**, here you can determine the actions that need to be executed - upon installation. -* **update()**, here you define the behavior that is required when Composer is - invoked with the update argument. -* **uninstall()**, here you can determine the actions that need to be executed - when the package needs to be removed. -* **getInstallPath()**, this method should return the absolute path where the - package is to be installed. The path _must not end with a slash._ - -Example: - -```php -getPrettyName(), 0, 23); - if ('phpdocumentor/template-' !== $prefix) { - throw new \InvalidArgumentException( - 'Unable to install template, phpdocumentor templates ' - .'should always start their package name with ' - .'"phpdocumentor/template-"' - ); - } - - return 'data/templates/'.substr($package->getPrettyName(), 23); - } - - /** - * @inheritDoc - */ - public function supports($packageType) - { - return 'phpdocumentor-template' === $packageType; - } -} -``` - -The example demonstrates that it is possible to extend the -[`Composer\Installer\LibraryInstaller`][5] class to strip a prefix -(`phpdocumentor/template-`) and use the remaining part to assemble a completely -different installation path. - -> _Instead of being installed in `/vendor` any package installed using this -> Installer will be put in the `/data/templates/` folder._ - -[1]: ../04-schema.md#type -[2]: ../04-schema.md#extra -[3]: https://github.com/composer/composer/blob/main/src/Composer/Plugin/PluginInterface.php -[4]: https://github.com/composer/composer/blob/main/src/Composer/Installer/InstallerInterface.php -[5]: https://github.com/composer/composer/blob/main/src/Composer/Installer/LibraryInstaller.php diff --git a/core/vendor/composer/composer/doc/articles/handling-private-packages.md b/core/vendor/composer/composer/doc/articles/handling-private-packages.md deleted file mode 100644 index 9548809f96..0000000000 --- a/core/vendor/composer/composer/doc/articles/handling-private-packages.md +++ /dev/null @@ -1,342 +0,0 @@ - - -# Handling private packages - -# Private Packagist - -[Private Packagist](https://packagist.com) is a commercial package hosting product -offering professional support and web based management of private and public packages, -and granular access permissions. Private Packagist provides mirroring for packages' zip -files which makes installs faster and independent from third party systems - e.g. -you can deploy even if GitHub is down because your zip files are mirrored. - -Private Packagist is available as a hosted SaaS solution or as an on-premise self-hosted -package, providing an interactive set up experience. - -Some of Private Packagist's revenue is used to pay for Composer and Packagist.org -development and hosting so using it is a good way to support the maintenance of -these open source projects financially. You can find more information about how to -set up your own package archive on [Packagist.com](https://packagist.com). - -# Satis - -Satis on the other hand is open source but only a static `composer` repository -generator. It is a bit like an ultra-lightweight, static file-based version of -packagist and can be used to host the metadata of your company's private -packages, or your own. You can get it from -[GitHub](https://github.com/composer/satis) or install via CLI: - - php composer.phar create-project composer/satis --stability=dev --keep-vcs - -## Setup - -For example let's assume you have a few packages you want to reuse across your -company but don't really want to open-source. You would first define a Satis -configuration: a json file that lists your curated -[repositories](../05-repositories.md). - -The default file name is satis.json but it could be anything you like. - -Here is an example configuration, you see that it holds a few VCS repositories, -but those could be any types of [repositories](../05-repositories.md). Then it -uses `"require-all": true` which selects all versions of all packages in the -repositories you defined. - -The default file Satis looks for is `satis.json` in the root of the repository. - -```json -{ - "name": "my/repository", - "homepage": "http://packages.example.org", - "repositories": [ - { "type": "vcs", "url": "https://github.com/mycompany/privaterepo" }, - { "type": "vcs", "url": "http://svn.example.org/private/repo" }, - { "type": "vcs", "url": "https://github.com/mycompany/privaterepo2" } - ], - "require-all": true -} -``` - -If you want to cherry pick which packages you want, you can list all the -packages you want to have in your satis repository inside the classic composer -`require` key, using a `"*"` constraint to make sure all versions are selected, -or another constraint if you want really specific versions. - -```json -{ - "repositories": [ - { "type": "vcs", "url": "https://github.com/mycompany/privaterepo" }, - { "type": "vcs", "url": "http://svn.example.org/private/repo" }, - { "type": "vcs", "url": "https://github.com/mycompany/privaterepo2" } - ], - "require": { - "company/package": "*", - "company/package2": "*", - "company/package3": "2.0.0" - } -} -``` - -Once you've done this, you run: - - php bin/satis build - -When you ironed out that process, what you would typically do is run this -command as a cron job on a server. It would then update all your package info -much like Packagist does. - -Note that if your private packages are hosted on GitHub, your server should -have an ssh key that gives it access to those packages, and then you should add -the `--no-interaction` (or `-n`) flag to the command to make sure it falls back -to ssh key authentication instead of prompting for a password. This is also a -good trick for continuous integration servers. - -Set up a virtual-host that points to that `web/` directory, let's say it is -`packages.example.org`. Alternatively, with PHP >= 5.4.0, you can use the -built-in CLI server `php -S localhost:port -t satis-output-dir/` for a -temporary solution. - -### Partial Updates - -You can tell Satis to selectively update only particular packages or process -only a repository with a given URL. This cuts down the time it takes to rebuild -the `package.json` file and is helpful if you use (custom) webhooks to trigger -rebuilds whenever code is pushed into one of your repositories. - -To rebuild only particular packages, pass the package names on the command line -like so: - - php bin/satis build satis.json web/ this/package that/other-package - -Note that this will still need to pull and scan all of your VCS repositories -because any VCS repository might contain (on any branch) one of the selected -packages. - -If you want to scan only the selected package and not all VCS repositories you need -to declare a *name* for all your package (this only work on VCS repositories type) : - -```json -{ - "repositories": [ - { "name": "company/privaterepo", "type": "vcs", "url": "https://github.com/mycompany/privaterepo" }, - { "name": "private/repo", "type": "vcs", "url": "http://svn.example.org/private/repo" }, - { "name": "mycompany/privaterepo2", "type": "vcs", "url": "https://github.com/mycompany/privaterepo2" } - ] -} -``` - -If you want to scan only a single repository and update all packages found in -it, pass the VCS repository URL as an optional argument: - - php bin/satis build --repository-url https://only.my/repo.git satis.json web/ - -## Usage - -In your projects all you need to add now is your own Composer repository using -the `packages.example.org` as URL, then you can require your private packages -and everything should work smoothly. You don't need to copy all your -repositories in every project anymore. Only that one unique repository that -will update itself. - -```json -{ - "repositories": [ { "type": "composer", "url": "http://packages.example.org/" } ], - "require": { - "company/package": "1.2.0", - "company/package2": "1.5.2", - "company/package3": "dev-master" - } -} -``` - -### Security - -To secure your private repository you can host it over SSH or SSL using a client -certificate. In your project you can use the `options` parameter to specify the -connection options for the server. - -Example using a custom repository using SSH (requires the SSH2 PECL extension): - -```json -{ - "repositories": [{ - "type": "composer", - "url": "ssh2.sftp://example.org", - "options": { - "ssh2": { - "username": "composer", - "pubkey_file": "/home/composer/.ssh/id_rsa.pub", - "privkey_file": "/home/composer/.ssh/id_rsa" - } - } - }] -} -``` - -> **Tip:** See [ssh2 context options] for more information. - -Example using SSL/TLS (HTTPS) using a client certificate: - -```json -{ - "repositories": [{ - "type": "composer", - "url": "https://example.org", - "options": { - "ssl": { - "local_cert": "/home/composer/.ssl/composer.pem" - } - } - }] -} -``` - -> **Tip:** See [ssl context options] for more information. - -Example using a custom HTTP Header field for token authentication: - -```json -{ - "repositories": [{ - "type": "composer", - "url": "https://example.org", - "options": { - "http": { - "header": [ - "API-TOKEN: YOUR-API-TOKEN" - ] - } - } - }] -} -``` - -### Authentication - -Authentication can be handled in [several different ways](authentication-for-private-packages.md). - -### Downloads - -When GitHub, GitLab or BitBucket repositories are mirrored on your local satis, the -build process will include the location of the downloads these platforms make -available. This means that the repository and your setup depend on the -availability of these services. - -At the same time, this implies that all code which is hosted somewhere else (on -another service or for example in Subversion) will not have downloads available -and thus installations usually take a lot longer. - -To enable your satis installation to create downloads for all (Git, Mercurial -and Subversion) your packages, add the following to your `satis.json`: - -```json -{ - "archive": { - "directory": "dist", - "format": "tar", - "prefix-url": "https://amazing.cdn.example.org", - "skip-dev": true - } -} -``` - -#### Options explained - - * `directory`: required, the location of the dist files (inside the - `output-dir`) - * `format`: optional, `zip` (default) or `tar` - * `prefix-url`: optional, location of the downloads, homepage (from - `satis.json`) followed by `directory` by default - * `skip-dev`: optional, `false` by default, when enabled (`true`) satis will - not create downloads for branches - * `absolute-directory`: optional, a _local_ directory where the dist files are - dumped instead of `output-dir`/`directory` - * `whitelist`: optional, if set as a list of package names, satis will only - dump the dist files of these packages - * `blacklist`: optional, if set as a list of package names, satis will not - dump the dist files of these packages - * `checksum`: optional, `true` by default, when disabled (`false`) satis will - not provide the sha1 checksum for the dist files - -Once enabled, all downloads (include those from GitHub and BitBucket) will be -replaced with a _local_ version. - -#### prefix-url - -Prefixing the URL with another host is especially helpful if the downloads end -up in a private Amazon S3 bucket or on a CDN host. A CDN would drastically -improve download times and therefore package installation. - -Example: A `prefix-url` of `https://my-bucket.s3.amazonaws.com` (and -`directory` set to `dist`) creates download URLs which look like the following: -`https://my-bucket.s3.amazonaws.com/dist/vendor-package-version-ref.zip`. - -### Web outputs - - * `output-html`: optional, `true` by default, when disabled (`false`) satis - will not generate the `output-dir`/index.html page. - * `twig-template`: optional, a path to a personalized [Twig] template for - the `output-dir`/index.html page. - -### Abandoned packages - -To enable your satis installation to indicate that some packages are abandoned, -add the following to your `satis.json`: - -```json -{ - "abandoned": { - "company/package": true, - "company/package2": "company/newpackage" - } -} -``` - -The `true` value indicates that the package is truly abandoned while the -`"company/newpackage"` value specifies that the package is replaced by the -`company/newpackage` package. - -Note that all packages set as abandoned in their own `composer.json` file will -be marked abandoned as well. - -### Resolving dependencies - -It is possible to make satis automatically resolve and add all dependencies for -your projects. This can be used with the Downloads functionality to have a -complete local mirror of packages. Add the following to your `satis.json`: - -```json -{ - "require-dependencies": true, - "require-dev-dependencies": true -} -``` - -When searching for packages, satis will attempt to resolve all the required -packages from the listed repositories. Therefore, if you are requiring a -package from Packagist, you will need to define it in your `satis.json`. - -Dev dependencies are packaged only if the `require-dev-dependencies` parameter -is set to true. - -### Other options - - * `providers`: optional, `false` by default, when enabled (`true`) each - package will be dumped into a separate include file which will be only - loaded by Composer when the package is really required. Speeds up composer - handling for repositories with huge number of packages like f.i. packagist. - * `output-dir`: optional, defines where to output the repository files if not - provided as an argument when calling the `build` command. - * `config`: optional, lets you define all config options from composer, except - `archive-format` and `archive-dir` as the configuration is done through - [archive](#downloads) instead. See docs on [config schema] for more details. - * `notify-batch`: optional, specify a URL that will be called every time a - user installs a package. See [notify-batch]. - -[ssh2 context options]: https://secure.php.net/manual/en/wrappers.ssh2.php#refsect1-wrappers.ssh2-options -[ssl context options]: https://secure.php.net/manual/en/context.ssl.php -[Twig]: https://twig.sensiolabs.org/ -[config schema]: https://getcomposer.org/doc/04-schema.md#config -[notify-batch]: https://getcomposer.org/doc/05-repositories.md#notify-batch diff --git a/core/vendor/composer/composer/doc/articles/plugins.md b/core/vendor/composer/composer/doc/articles/plugins.md deleted file mode 100644 index 8180118871..0000000000 --- a/core/vendor/composer/composer/doc/articles/plugins.md +++ /dev/null @@ -1,387 +0,0 @@ - - -# Setting up and using plugins - -## Synopsis - -You may wish to alter or expand Composer's functionality with your own. For -example if your environment poses special requirements on the behaviour of -Composer which do not apply to the majority of its users or if you wish to -accomplish something with Composer in a way that is not desired by most users. - -In these cases you could consider creating a plugin to handle your -specific logic. - -## Creating a Plugin - -A plugin is a regular Composer package which ships its code as part of the -package and may also depend on further packages. - -### Plugin Package - -The package file is the same as any other package file but with the following -requirements: - -1. The [type][1] attribute must be `composer-plugin`. -2. The [extra][2] attribute must contain an element `class` defining the - class name of the plugin (including namespace). If a package contains - multiple plugins, this can be an array of class names. -3. You must require the special package called `composer-plugin-api` - to define which Plugin API versions your plugin is compatible with. - Requiring this package doesn't actually include any extra dependencies, - it only specifies which version of the plugin API to use. - -> **Note:** When developing a plugin, although not required, it's useful to add -> a require-dev dependency on `composer/composer` to have IDE autocompletion on Composer classes. - -The required version of the `composer-plugin-api` follows the same [rules][7] -as a normal package's rules. - -The current Composer plugin API version is `2.3.0`. - -An example of a valid plugin `composer.json` file (with the autoloading -part omitted and an optional require-dev dependency on `composer/composer` for IDE auto completion): - -```json -{ - "name": "my/plugin-package", - "type": "composer-plugin", - "require": { - "composer-plugin-api": "^2.0" - }, - "require-dev": { - "composer/composer": "^2.0" - }, - "extra": { - "class": "My\\Plugin" - } -} -``` - -### Plugin Class - -Every plugin has to supply a class which implements the -[`Composer\Plugin\PluginInterface`][3]. The `activate()` method of the plugin -is called after the plugin is loaded and receives an instance of -[`Composer\Composer`][4] as well as an instance of -[`Composer\IO\IOInterface`][5]. Using these two objects all configuration can -be read and all internal objects and state can be manipulated as desired. - -Example: - -```php -getInstallationManager()->addInstaller($installer); - } -} -``` - -## Event Handler - -Furthermore plugins may implement the -[`Composer\EventDispatcher\EventSubscriberInterface`][6] in order to have its -event handlers automatically registered with the `EventDispatcher` when the -plugin is loaded. - -To register a method to an event, implement the method `getSubscribedEvents()` -and have it return an array. The array key must be the -[event name](https://getcomposer.org/doc/articles/scripts.md#event-names) -and the value is the name of the method in this class to be called. - -> **Note:** If you don't know which event to listen to, you can run a Composer -> command with the COMPOSER_DEBUG_EVENTS=1 environment variable set, which might -> help you identify what event you are looking for. - -```php -public static function getSubscribedEvents() -{ - return array( - 'post-autoload-dump' => 'methodToBeCalled', - // ^ event name ^ ^ method name ^ - ); -} -``` - -By default, the priority of an event handler is set to 0. The priority can be -changed by attaching a tuple where the first value is the method name, as -before, and the second value is an integer representing the priority. -Higher integers represent higher priorities. Priority 2 is called before -priority 1, etc. - -```php -public static function getSubscribedEvents() -{ - return array( - // Will be called before events with priority 0 - 'post-autoload-dump' => array('methodToBeCalled', 1) - ); -} -``` - -If multiple methods should be called, then an array of tuples can be attached -to each event. The tuples do not need to include the priority. If it is -omitted, it will default to 0. - -```php -public static function getSubscribedEvents() -{ - return array( - 'post-autoload-dump' => array( - array('methodToBeCalled' ), // Priority defaults to 0 - array('someOtherMethodName', 1), // This fires first - ) - ); -} -``` - -Here's a complete example: - -```php -composer = $composer; - $this->io = $io; - } - - public function deactivate(Composer $composer, IOInterface $io) - { - } - - public function uninstall(Composer $composer, IOInterface $io) - { - } - - public static function getSubscribedEvents() - { - return array( - PluginEvents::PRE_FILE_DOWNLOAD => array( - array('onPreFileDownload', 0) - ), - ); - } - - public function onPreFileDownload(PreFileDownloadEvent $event) - { - $protocol = parse_url($event->getProcessedUrl(), PHP_URL_SCHEME); - - if ($protocol === 's3') { - // ... - } - } -} -``` - -## Plugin capabilities - -Composer defines a standard set of capabilities which may be implemented by plugins. -Their goal is to make the plugin ecosystem more stable as it reduces the need to mess -with [`Composer\Composer`][4]'s internal state, by providing explicit extension points -for common plugin requirements. - -Capable Plugins classes must implement the [`Composer\Plugin\Capable`][8] interface -and declare their capabilities in the `getCapabilities()` method. -This method must return an array, with the _key_ as a Composer Capability class name, -and the _value_ as the Plugin's own implementation class name of said Capability: - -```php - 'My\Composer\CommandProvider', - ); - } -} -``` - -### Command provider - -The [`Composer\Plugin\Capability\CommandProvider`][9] capability allows to register -additional commands for Composer: - -```php -setName('custom-plugin-command'); - } - - protected function execute(InputInterface $input, OutputInterface $output): int - { - $output->writeln('Executing'); - } -} -``` - -Now the `custom-plugin-command` is available alongside Composer commands. - -> _Composer commands are based on the [Symfony Console Component][10]._ - -## Running plugins manually - -Plugins for an event can be run manually by the `run-script` command. This works the same way as -[running scripts manually](scripts.md#running-scripts-manually). - -## Using Plugins - -Plugin packages are automatically loaded as soon as they are installed and will -be loaded when Composer starts up if they are found in the current project's -list of installed packages. Additionally all plugin packages installed in the -`COMPOSER_HOME` directory using the Composer global command are loaded before -local project plugins are loaded. - -> You may pass the `--no-plugins` option to Composer commands to disable all -> installed plugins. This may be particularly helpful if any of the plugins -> causes errors and you wish to update or uninstall it. - -## Plugin Helpers - -As of Composer 2, due to the fact that DownloaderInterface can sometimes return Promises -and have been split up in more steps than they used to, we provide a [SyncHelper][11] -to make downloading and installing packages easier. - -## Plugin Extra Attributes - -A few special plugin capabilities can be unlocked using extra attributes in the plugin's composer.json. - -### class - -[See above](#plugin-package) for an explanation of the class attribute and how it works. - -### plugin-modifies-downloads - -Some special plugins need to update package download URLs before they get downloaded. - -As of Composer 2.0, all packages are downloaded before they get installed. This means -on the first installation, your plugin is not yet installed when the download occurs, -and it does not get a chance to update the URLs on time. - -Specifying `{"extra": {"plugin-modifies-downloads": true}}` in your composer.json will -hint to Composer that the plugin should be installed on its own before proceeding with -the rest of the package downloads. This slightly slows down the overall installation -process however, so do not use it in plugins which do not absolutely require it. - -### plugin-modifies-install-path - -Some special plugins modify the install path of packages. - -As of Composer 2.2.9, you can specify `{"extra": {"plugin-modifies-install-path": true}}` -in your composer.json to hint to Composer that the plugin should be activated as soon -as possible to prevent any bad side-effects from Composer assuming packages are installed -in another location than they actually are. - -### plugin-optional - -Because Composer plugins can be used to perform actions which are necessary for installing -a working application, like modifying which path files get stored in, skipping required -plugins unintentionally can result in broken applications. So, in non-interactive mode, -Composer will fail if a new plugin is not listed in ["allow-plugins"](../06-config.md#allow-plugins) -to force users to decide if they want to execute the plugin, to avoid silent failures. - -As of Composer 2.5.3, you can use the setting `{"extra": {"plugin-optional": true}}` on -your plugin, to tell Composer that skipping the plugin has no catastrophic consequences, -and it can safely be disabled in non-interactive mode if it is not yet listed in -"allow-plugins". The next interactive run of Composer will still prompt users to choose if -they want to enable or disable the plugin. - -## Plugin Autoloading - -Due to plugins being loaded by Composer at runtime, and to ensure that plugins which -depend on other packages can function correctly, a runtime autoloader is created whenever -a plugin is loaded. That autoloader is only configured to load with the plugin dependencies, -so you may not have access to all the packages which are installed. - -## Static Analysis support - -As of Composer 2.3.7 we ship a `phpstan/rules.neon` PHPStan config file, which provides additional error checking when working on Composer plugins. - -### Usage with [PHPStan Extension Installer][13] - -The necessary configuration files are automatically loaded, in case your plugin projects declares a dependency to `phpstan/extension-installer`. - -### Alternative manual installation - -To make use of it, your Composer plugin project needs a [PHPStan config file][12], which includes the `phpstan/rules.neon` file: - -```neon -includes: - - vendor/composer/composer/phpstan/rules.neon - -// your remaining config.. -``` - -[1]: ../04-schema.md#type -[2]: ../04-schema.md#extra -[3]: https://github.com/composer/composer/blob/main/src/Composer/Plugin/PluginInterface.php -[4]: https://github.com/composer/composer/blob/main/src/Composer/Composer.php -[5]: https://github.com/composer/composer/blob/main/src/Composer/IO/IOInterface.php -[6]: https://github.com/composer/composer/blob/main/src/Composer/EventDispatcher/EventSubscriberInterface.php -[7]: ../01-basic-usage.md#package-versions -[8]: https://github.com/composer/composer/blob/main/src/Composer/Plugin/Capable.php -[9]: https://github.com/composer/composer/blob/main/src/Composer/Plugin/Capability/CommandProvider.php -[10]: https://symfony.com/doc/current/components/console.html -[11]: https://github.com/composer/composer/blob/main/src/Composer/Util/SyncHelper.php -[12]: https://phpstan.org/config-reference#multiple-files -[13]: https://github.com/phpstan/extension-installer#usage diff --git a/core/vendor/composer/composer/doc/articles/repository-priorities.md b/core/vendor/composer/composer/doc/articles/repository-priorities.md deleted file mode 100644 index baaefb3140..0000000000 --- a/core/vendor/composer/composer/doc/articles/repository-priorities.md +++ /dev/null @@ -1,95 +0,0 @@ - - -# Repository priorities - -## Canonical repositories - -When Composer resolves dependencies, it will look up a given package in the -topmost repository. If that repository does not contain the package, it -goes on to the next one, until one repository contains it and the process ends. - -Canonical repositories are better for a few reasons: - -- Performance wise, it is more efficient to stop looking for a package once it - has been found somewhere. It also avoids loading duplicate packages in case - the same package is present in several of your repositories. -- Security wise, it is safer to treat them canonically as it means that packages you - expect to come from your most important repositories will never be loaded from - another repository instead. Let's - say you have a private repository which is not canonical, and you require your - private package `foo/bar ^2.0` for example. Now if someone publishes - `foo/bar 2.999` to packagist.org, suddenly Composer will pick that package as it - has a higher version than your latest release (say 2.4.3), and you end up installing - something you may not have meant to. However, if the private repository is canonical, - that 2.999 version from packagist.org will not be considered at all. - -There are however a few cases where you may want to specifically load some packages -from a given repository, but not all. Or you may want a given repository to not be -canonical, and to be only preferred if it has higher package versions than the -repositories defined below. - -## Default behavior - -By default in Composer 2.x all repositories are canonical. Composer 1.x treated -all repositories as non-canonical. - -Another default is that the packagist.org repository is always added implicitly -as the last repository, unless you [disable it](../05-repositories.md#disabling-packagist-org). - -## Making repositories non-canonical - -You can add the canonical option to any repository to disable this default behavior -and make sure Composer keeps looking in other repositories, even if that repository -contains a given package. - -```json -{ - "repositories": [ - { - "type": "composer", - "url": "https://example.org", - "canonical": false - } - ] -} -``` - -## Filtering packages - -You can also filter packages which a repository will be able to load, either by -selecting which ones you want, or by excluding those you do not want. - -For example here we want to pick only the package `foo/bar` and all the packages from -`some-vendor/` from this Composer repository. - -```json -{ - "repositories": [ - { - "type": "composer", - "url": "https://example.org", - "only": ["foo/bar", "some-vendor/*"] - } - ] -} -``` - -And in this other example we exclude `toy/package` from a repository, which -we may not want to load in this project. - -```json -{ - "repositories": [ - { - "type": "composer", - "url": "https://example.org", - "exclude": ["toy/package"] - } - ] -} -``` - -Both `only` and `exclude` should be arrays of package names, which can also -contain wildcards (`*`), which will match any character. diff --git a/core/vendor/composer/composer/doc/articles/resolving-merge-conflicts.md b/core/vendor/composer/composer/doc/articles/resolving-merge-conflicts.md deleted file mode 100644 index 6daf98cdca..0000000000 --- a/core/vendor/composer/composer/doc/articles/resolving-merge-conflicts.md +++ /dev/null @@ -1,154 +0,0 @@ - - -# Resolving merge conflicts - -When working as a team on the same Composer project, you will eventually run into a scenario -where multiple people added, updated or removed something in the `composer.json` and -`composer.lock` files in multiple branches. When those branches are eventually merged -together, you will get merge conflicts. Resolving these merge conflicts is not as straight -forward as on other files, especially not regarding the `composer.lock` file. - -> **Note:** It might not immediately be obvious why text based merging is not possible for -> lock files, so let's imagine the following example where we want to merge two branches; -> -> - Branch 1 has added package A which requires package B. Package B is locked at version `1.0.0`. -> - Branch 2 has added package C which conflicts with all versions below `1.2.0` of package B. -> -> A text based merge would result in package A version `1.0.0`, package B version `1.0.0` -> and package C version `1.0.0`. This is an invalid result, as the conflict of package C -> was not considered and would require an upgrade of package B. - -## 1. Reapplying changes - -The safest method to merge Composer files is to accept the version from one branch and apply -the changes from the other branch. - -An example where we have two branches: - -1. Package 'A' has been added -2. Package 'B' has been removed and package 'C' is added. - -To resolve the conflict when we merge these two branches: - -- We choose the branch that has the most changes, and accept the `composer.json` and `composer.lock` - files from that branch. In this case, we choose the Composer files from branch 2. -- We reapply the changes from the other branch (branch 1). In this case we have to run - `composer require package/A` again. - -## 2. Validating your merged files - -Before committing, make sure the resulting `composer.json` and `composer.lock` files are valid. -To do this, run the following commands: - -```shell -php composer.phar validate -php composer.phar install [--dry-run] -``` - -## Automating merge conflict resolving with git - -Some improvement _could_ be made to git's conflict resolving by using a custom git merge driver. - -An example of this can be found at [balbuf's composer git merge driver](https://github.com/balbuf/composer-git-merge-driver). - -## Important considerations - -Keep in mind that whenever merge conflicts occur on the lock file, the information, about the exact version -new packages were locked on for one of the branches, is lost. When package A in branch 1 is constrained -as `^1.2.0` and locked as `1.2.0`, it might get updated when branch 2 is used as baseline and a new -`composer require package/A:^1.2.0` is executed, as that will use the most recent version that the -constraint allows when possible. There might be a version 1.3.0 for that package available by now, which -will now be used instead. - -Choosing the correct [version constraints](../articles/versions.md) and making sure the packages adhere -to [semantic versioning](https://semver.org/) when using -[next significant release operators](versions.md#next-significant-release-operators) should make sure -that merging branches does not break anything by accidentally updating a dependency. - -# Recovering from incorrectly resolved merge conflicts - -If the above steps aren't followed and text based merges have been done anyway, -your Composer project might be in a state where unexpected behaviour is observed -because the `composer.lock` file is not (fully) in sync with the `composer.json` file. - -There are two things that can happen here: - -1. There are packages in the `require` or `require-dev` section of the `composer.json` file that are not in the lock file and as a result never installed - -> **Note:** Starting from Composer release 2.5, having packages that are required but not present in `composer.lock` results in an error when running `install` - -2. There are packages in the `composer.lock` file that are not a direct or indirect dependency of any of the packages required. As a result, a package is installed, even though running `composer why vendor/package` says it is not required. - -There are several ways to fix these issues; - -## A. Start from scratch - -The easiest but most impactful option is run a `composer update` to resolve to a correct state from scratch. - -A drawback to this is that previously locked package versions are now updated, as the information about previous package versions has been lost. If all your dependencies follow [semantic versioning](https://semver.org/) and your [version constraints](../articles/versions.md) are using [next significant release operators](versions.md#next-significant-release-operators) this should not be an issue, otherwise you might inadvertently break your application. - -## B. Reconstruct from the git history - -An option that is probably not very feasible in a lot of situations but that deserves an honorable mention; - -It might be possible to reconstruct the correct package state by going back into the git history and finding the most recent valid `composer.lock` file, and re-requiring the new dependencies from there. - -## C. Resolve issues manually - -There is an option to recover from a discrepancy between the `composer.json` and `composer.lock` file without having to dig through the git history or starting from scratch. For that, we need to solve issue 1 and 2 separately. - -### 1. Detecting and fixing missing required packages - -To detect any package that is required but not installed, you can simply run: - -```shell -php composer.phar validate -``` - -If there are packages that are required but not installed, you should get output similar to this: - -```shell -./composer.json is valid but your composer.lock has some errors -# Lock file errors -- Required package "vendor/package-name" is not present in the lock file. -This usually happens when composer files are incorrectly merged or the composer.json file is manually edited. -Read more about correctly resolving merge conflicts https://getcomposer.org/doc/articles/resolving-merge-conflicts.md -and prefer using the "require" command over editing the composer.json file directly https://getcomposer.org/doc/03-cli.md#require -``` - -To recover from this, simply run `composer update vendor/package-name` for each package listed here. After doing this for each package listed here, running `composer validate` again should result in no lock file errors: - -```shell -./composer.json is valid -``` - -### 2. Detecting and fixing superfluous packages - -To detect and fix packages that are locked but not a direct/indirect dependency, you can run the following command: - -```shell -php composer.phar remove --unused -``` - -If there are no packages locked that are not a dependency, the command will have the following output: - -```shell -No unused packages to remove -``` - -If there are packages to be cleaned up, the output will be as follows: - -```shell -vendor/package-name is not required in your composer.json and has not been removed -./composer.json has been updated -Running composer update vendor/package-name -Loading composer repositories with package information -Updating dependencies -Lock file operations: 0 installs, 0 updates, 1 removal - - Removing vendor/package-name (1.0) -Writing lock file -Installing dependencies from lock file (including require-dev) -Nothing to install, update or remove -``` diff --git a/core/vendor/composer/composer/doc/articles/scripts.md b/core/vendor/composer/composer/doc/articles/scripts.md deleted file mode 100644 index f83db40726..0000000000 --- a/core/vendor/composer/composer/doc/articles/scripts.md +++ /dev/null @@ -1,443 +0,0 @@ - - -# Scripts - -## What is a script? - -A script, in Composer's terms, can either be a PHP callback (defined as a -static method) or any command-line executable command. Scripts are useful -for executing a package's custom code or package-specific commands during -the Composer execution process. - -As of Composer 2.5 scripts can also be Symfony Console Command classes, -which allows you to easily run them including passing options. This is -however not recommended for handling events. - -> **Note:** Only scripts defined in the root package's `composer.json` are -> executed. If a dependency of the root package specifies its own scripts, -> Composer does not execute those additional scripts. - -## Event names - -Composer fires the following named events during its execution process: - -### Command Events - -- **pre-install-cmd**: occurs before the `install` command is executed with a - lock file present. -- **post-install-cmd**: occurs after the `install` command has been executed - with a lock file present. -- **pre-update-cmd**: occurs before the `update` command is executed, or before - the `install` command is executed without a lock file present. -- **post-update-cmd**: occurs after the `update` command has been executed, or - after the `install` command has been executed without a lock file present. -- **pre-status-cmd**: occurs before the `status` command is executed. -- **post-status-cmd**: occurs after the `status` command has been executed. -- **pre-archive-cmd**: occurs before the `archive` command is executed. -- **post-archive-cmd**: occurs after the `archive` command has been executed. -- **pre-autoload-dump**: occurs before the autoloader is dumped, either during - `install`/`update`, or via the `dump-autoload` command. -- **post-autoload-dump**: occurs after the autoloader has been dumped, either - during `install`/`update`, or via the `dump-autoload` command. -- **post-root-package-install**: occurs after the root package has been - installed during the `create-project` command (but before its - dependencies are installed). -- **post-create-project-cmd**: occurs after the `create-project` command has - been executed. - -### Installer Events - -- **pre-operations-exec**: occurs before the install/upgrade/.. operations - are executed when installing a lock file. Plugins that need to hook into - this event will need to be installed globally to be usable, as otherwise - they would not be loaded yet when a fresh install of a project happens. - -### Package Events - -- **pre-package-install**: occurs before a package is installed. -- **post-package-install**: occurs after a package has been installed. -- **pre-package-update**: occurs before a package is updated. -- **post-package-update**: occurs after a package has been updated. -- **pre-package-uninstall**: occurs before a package is uninstalled. -- **post-package-uninstall**: occurs after a package has been uninstalled. - -### Plugin Events - -- **init**: occurs after a Composer instance is done being initialized. -- **command**: occurs before any Composer Command is executed on the CLI. It - provides you with access to the input and output objects of the program. -- **pre-file-download**: occurs before files are downloaded and allows - you to manipulate the `HttpDownloader` object prior to downloading files - based on the URL to be downloaded. -- **post-file-download**: occurs after package dist files are downloaded and - allows you to perform additional checks on the file if required. -- **pre-command-run**: occurs before a command is executed and allows you to - manipulate the `InputInterface` object's options and arguments to tweak - a command's behavior. -- **pre-pool-create**: occurs before the Pool of packages is created, and lets - you filter the list of packages that is going to enter the Solver. - -> **Note:** Composer makes no assumptions about the state of your dependencies -> prior to `install` or `update`. Therefore, you should not specify scripts -> that require Composer-managed dependencies in the `pre-update-cmd` or -> `pre-install-cmd` event hooks. If you need to execute scripts prior to -> `install` or `update` please make sure they are self-contained within your -> root package. - -## Defining scripts - -The root JSON object in `composer.json` should have a property called -`"scripts"`, which contains pairs of named events and each event's -corresponding scripts. An event's scripts can be defined as either a string -(only for a single script) or an array (for single or multiple scripts.) - -For any given event: - -- Scripts execute in the order defined when their corresponding event is fired. -- An array of scripts wired to a single event can contain both PHP callbacks -and command-line executable commands. -- PHP classes and commands containing defined callbacks must be autoloadable -via Composer's autoload functionality. -- Callbacks can only autoload classes from psr-0, psr-4 and classmap -definitions. If a defined callback relies on functions defined outside of a -class, the callback itself is responsible for loading the file containing these -functions. - -Script definition example: - -```json -{ - "scripts": { - "post-update-cmd": "MyVendor\\MyClass::postUpdate", - "post-package-install": [ - "MyVendor\\MyClass::postPackageInstall" - ], - "post-install-cmd": [ - "MyVendor\\MyClass::warmCache", - "phpunit -c app/" - ], - "post-autoload-dump": [ - "MyVendor\\MyClass::postAutoloadDump" - ], - "post-create-project-cmd": [ - "php -r \"copy('config/local-example.php', 'config/local.php');\"" - ] - } -} -``` - -Using the previous definition example, here's the class `MyVendor\MyClass` -that might be used to execute the PHP callbacks: - -```php -getComposer(); - // do stuff - } - - public static function postAutoloadDump(Event $event) - { - $vendorDir = $event->getComposer()->getConfig()->get('vendor-dir'); - require $vendorDir . '/autoload.php'; - - some_function_from_an_autoloaded_file(); - } - - public static function postPackageInstall(PackageEvent $event) - { - $installedPackage = $event->getOperation()->getPackage(); - // do stuff - } - - public static function warmCache(Event $event) - { - // make cache toasty - } -} -``` - -**Note:** During a Composer `install` or `update` command run, a variable named -`COMPOSER_DEV_MODE` will be added to the environment. If the command was run -with the `--no-dev` flag, this variable will be set to 0, otherwise it will be -set to 1. The variable is also available while `dump-autoload` runs, and it -will be set to the same as the last `install` or `update` was run in. - -## Event classes - -When an event is fired, your PHP callback receives as first argument a -`Composer\EventDispatcher\Event` object. This object has a `getName()` method -that lets you retrieve the event name. - -Depending on the [script types](#event-names) you will get various event -subclasses containing various getters with relevant data and associated -objects: - -- Base class: [`Composer\EventDispatcher\Event`](https://github.com/composer/composer/blob/main/src/Composer/EventDispatcher/Event.php) -- Command Events: [`Composer\Script\Event`](https://github.com/composer/composer/blob/main/src/Composer/Script/Event.php) -- Installer Events: [`Composer\Installer\InstallerEvent`](https://github.com/composer/composer/blob/main/src/Composer/Installer/InstallerEvent.php) -- Package Events: [`Composer\Installer\PackageEvent`](https://github.com/composer/composer/blob/main/src/Composer/Installer/PackageEvent.php) -- Plugin Events: - - init: [`Composer\EventDispatcher\Event`](https://github.com/composer/composer/blob/main/src/Composer/EventDispatcher/Event.php) - - command: [`Composer\Plugin\CommandEvent`](https://github.com/composer/composer/blob/main/src/Composer/Plugin/CommandEvent.php) - - pre-file-download: [`Composer\Plugin\PreFileDownloadEvent`](https://github.com/composer/composer/blob/main/src/Composer/Plugin/PreFileDownloadEvent.php) - - post-file-download: [`Composer\Plugin\PostFileDownloadEvent`](https://github.com/composer/composer/blob/main/src/Composer/Plugin/PostFileDownloadEvent.php) - -## Running scripts manually - -If you would like to run the scripts for an event manually, the syntax is: - -```shell -php composer.phar run-script [--dev] [--no-dev] script -``` - -For example `composer run-script post-install-cmd` will run any -**post-install-cmd** scripts and [plugins](plugins.md) that have been defined. - -You can also give additional arguments to the script handler by appending `--` -followed by the handler arguments. e.g. -`composer run-script post-install-cmd -- --check` will pass`--check` along to -the script handler. Those arguments are received as CLI arg by CLI handlers, -and can be retrieved as an array via `$event->getArguments()` by PHP handlers. - -## Writing custom commands - -If you add custom scripts that do not fit one of the predefined event name -above, you can either run them with run-script or also run them as native -Composer commands. For example the handler defined below is executable by -running `composer test`: - -```json -{ - "scripts": { - "test": "phpunit", - "do-something": "MyVendor\\MyClass::doSomething" - "my-cmd": "MyVendor\\MyCommand" - } -} -``` - -Similar to the `run-script` command you can give additional arguments to scripts, -e.g. `composer test -- --filter ` will pass `--filter ` along -to the `phpunit` script. - -Using a PHP method via `composer do-something arg` lets you execute a -`static function doSomething(\Composer\Script\Event $event)` and `arg` becomes -available in `$event->getArguments()`. This however does not let you easily pass -custom options in the form of `--flags`. - -Using a [symfony/console](https://packagist.org/packages/symfony/console) `Command` -class you can define and access arguments and options more easily. - -For example with the command below you can then simply call `composer my-cmd ---arbitrary-flag` without even the need for a `--` separator. To be detected -as symfony/console commands the class name must end with `Command` and extend -symfony's `Command` class. Also note that this will run using Composer's built-in -symfony/console version which may not match the one you have required in your -project, and may change between Composer minor releases. If you need more -safety guarantees you should rather use your own binary file that runs your own -symfony/console version in isolation in its own process then. - -```php -setDefinition([ - new InputOption('arbitrary-flag', null, InputOption::VALUE_NONE, 'Example flag'), - new InputArgument('foo', InputArgument::OPTIONAL, 'Optional arg'), - ]); - } - - public function execute(InputInterface $input, OutputInterface $output): int - { - if ($input->getOption('arbitrary-flag')) { - $output->writeln('The flag was used') - } - - return 0; - } -} -``` - -> **Note:** Before executing scripts, Composer's bin-dir is temporarily pushed -> on top of the PATH environment variable so that binaries of dependencies -> are directly accessible. In this example no matter if the `phpunit` binary is -> actually in `vendor/bin/phpunit` or `bin/phpunit` it will be found and executed. - - -## Managing the process timeout - -Although Composer is not intended to manage long-running processes and other -such aspects of PHP projects, it can sometimes be handy to disable the process -timeout on custom commands. This timeout defaults to 300 seconds and can be -overridden in a variety of ways depending on the desired effect: - -- disable it for all commands using the config key `process-timeout`, -- disable it for the current or future invocations of composer using the - environment variable `COMPOSER_PROCESS_TIMEOUT`, -- for a specific invocation using the `--timeout` flag of the `run-script` command, -- using a static helper for specific scripts. - -To disable the timeout for specific scripts with the static helper directly in -composer.json: - -```json -{ - "scripts": { - "test": [ - "Composer\\Config::disableProcessTimeout", - "phpunit" - ] - } -} -``` - -To disable the timeout for every script on a given project, you can use the -composer.json configuration: - -```json -{ - "config": { - "process-timeout": 0 - } -} -``` - -It's also possible to set the global environment variable to disable the timeout -of all following scripts in the current terminal environment: - -```shell -export COMPOSER_PROCESS_TIMEOUT=0 -``` - -To disable the timeout of a single script call, you must use the `run-script` composer -command and specify the `--timeout` parameter: - -```shell -php composer.phar run-script --timeout=0 test -``` - -## Referencing scripts - -To enable script re-use and avoid duplicates, you can call a script from another -one by prefixing the command name with `@`: - -```json -{ - "scripts": { - "test": [ - "@clearCache", - "phpunit" - ], - "clearCache": "rm -rf cache/*" - } -} -``` - -You can also refer a script and pass it new arguments: - -```json -{ - "scripts": { - "tests": "phpunit", - "testsVerbose": "@tests -vvv" - } -} -``` - -## Calling Composer commands - -To call Composer commands, you can use `@composer` which will automatically -resolve to whatever composer.phar is currently being used: - -```json -{ - "scripts": { - "test": [ - "@composer install", - "phpunit" - ] - } -} -``` - -One limitation of this is that you can not call multiple composer commands in -a row like `@composer install && @composer foo`. You must split them up in a -JSON array of commands. - -## Executing PHP scripts - -To execute PHP scripts, you can use `@php` which will automatically -resolve to whatever php process is currently being used: - -```json -{ - "scripts": { - "test": [ - "@php script.php", - "phpunit" - ] - } -} -``` - -One limitation of this is that you can not call multiple commands in -a row like `@php install && @php foo`. You must split them up in a -JSON array of commands. - -You can also call a shell/bash script, which will have the path to -the PHP executable available in it as a `PHP_BINARY` env var. - -## Setting environment variables - -To set an environment variable in a cross-platform way, you can use `@putenv`: - -```json -{ - "scripts": { - "install-phpstan": [ - "@putenv COMPOSER=phpstan-composer.json", - "composer install --prefer-dist" - ] - } -} -``` - -## Custom descriptions. - -You can set custom script descriptions with the following in your `composer.json`: - -```json -{ - "scripts-descriptions": { - "test": "Run all tests!" - } -} -``` - -The descriptions are used in `composer list` or `composer run -l` commands to -describe what the scripts do when the command is run. - -> **Note:** You can only set custom descriptions of custom commands. diff --git a/core/vendor/composer/composer/doc/articles/troubleshooting.md b/core/vendor/composer/composer/doc/articles/troubleshooting.md deleted file mode 100644 index b90a173857..0000000000 --- a/core/vendor/composer/composer/doc/articles/troubleshooting.md +++ /dev/null @@ -1,393 +0,0 @@ - -# Troubleshooting - -This is a list of common pitfalls on using Composer, and how to avoid them. - - -## General - -1. When facing any kind of problems using Composer, be sure to **work with the - latest version**. See [self-update](../03-cli.md#self-update) for details. - -2. Before asking anyone, run [`composer diagnose`](../03-cli.md#diagnose) to check - for common problems. If it all checks out, proceed to the next steps. - -3. Make sure you have no problems with your setup by running the installer's - checks via `curl -sS https://getcomposer.org/installer | php -- --check`. - -4. Try clearing Composer's cache by running `composer clear-cache`. - -5. Ensure you're **installing vendors straight from your `composer.json`** via - `rm -rf vendor && composer update -v` when troubleshooting, excluding any - possible interferences with existing vendor installations or `composer.lock` - entries. - - -## Package not found - -1. Double-check you **don't have typos** in your `composer.json` or repository - branches and tag names. - -2. Be sure to **set the right - [minimum-stability](../04-schema.md#minimum-stability)**. To get started or be - sure this is no issue, set `minimum-stability` to "dev". - -3. Packages **not coming from [Packagist](https://packagist.org/)** should - always be **defined in the root package** (the package depending on all - vendors). - -4. Use the **same vendor and package name** throughout all branches and tags of - your repository, especially when maintaining a third party fork and using - `replace`. - -5. If you are updating to a recently published version of a package, be aware that - Packagist has a delay of up to 1 minute before new packages are visible to Composer. - -6. If you are updating a single package, it may depend on newer versions itself. - In this case add the `--with-dependencies` argument **or** add all dependencies which - need an update to the command. - - -## Package is not updating to the expected version - -Try running `php composer.phar why-not [package-name] [expected-version]`. - - -## Dependencies on the root package - -When your root package depends on a package which ends up depending (directly or -indirectly) back on the root package itself, issues can occur in two cases: - -1. During development, if you are on a branch like `dev-main` and the branch has no - [branch-alias](aliases.md#branch-alias) defined, and the dependency on the root package - requires version `^2.0` for example, the `dev-main` version will not satisfy it. - The best solution here is to make sure you first define a branch alias. - -2. In CI (Continuous Integration) runs, the problem might be that Composer is not able - to detect the version of the root package properly. If it is a git clone it is - generally alright and Composer will detect the version of the current branch, - but some CIs do shallow clones so that process can fail when testing pull requests - and feature branches. In these cases the branch alias may then not be recognized. - The best solution is to define the version you are on via an environment variable - called COMPOSER_ROOT_VERSION. You set it to `dev-main` for example to define - the root package's version as `dev-main`. - Use for example: `COMPOSER_ROOT_VERSION=dev-main composer install` to export - the variable only for the call to composer, or you can define it globally in the - CI env vars. - - -## Network timeout issues, curl error - -If you see something along the lines of: - -``` -Failed to download * curl error 28 while downloading * Operation timed out after 300000 milliseconds -``` - -It means your network is probably so slow that a request took over 300seconds to complete. This is the -minimum timeout Composer will use, but you can increase it by increasing the `default_socket_timeout` -value in your php.ini to something higher. - - -## Package not found in a Jenkins-build - -1. Check the ["Package not found"](#package-not-found) item above. - -2. The git-clone / checkout within Jenkins leaves the branch in a "detached HEAD"-state. As - a result, Composer may not able to identify the version of the current checked out branch - and may not be able to resolve a [dependency on the root package](#dependencies-on-the-root-package). - To solve this problem, you can use the "Additional Behaviours" -> "Check out to specific local - branch" in your Git-settings for your Jenkins-job, where your "local branch" shall be the same - branch as you are checking out. Using this, the checkout will not be in detached state any more - and the dependency on the root package should become satisfied. - - -## I have a dependency which contains a "repositories" definition in its composer.json, but it seems to be ignored. - -The [`repositories`](../04-schema.md#repositories) configuration property is defined as [root-only](../04-schema.md#root-package). It is not inherited. You can read more about the reasons behind this in the "[why can't -Composer load repositories recursively?](../faqs/why-cant-composer-load-repositories-recursively.md)" article. -The simplest work-around to this limitation, is moving or duplicating the `repositories` definition into your root -composer.json. - - -## I have locked a dependency to a specific commit but get unexpected results. - -While Composer supports locking dependencies to a specific commit using the `#commit-ref` syntax, there are certain -caveats that one should take into account. The most important one is [documented](../04-schema.md#package-links), but -frequently overlooked: - -> **Note:** While this is convenient at times, it should not be how you use -> packages in the long term because it comes with a technical limitation. The -> composer.json metadata will still be read from the branch name you specify -> before the hash. Because of that in some cases it will not be a practical -> workaround, and you should always try to switch to tagged releases as soon -> as you can. - -There is no simple work-around to this limitation. It is therefore strongly recommended that you do not use it. - - -## Need to override a package version - -Let's say your project depends on package A, which in turn depends on a specific -version of package B (say 0.1). But you need a different version of said package B (say 0.11). - -You can fix this by aliasing version 0.11 to 0.1: - -composer.json: - -```json -{ - "require": { - "A": "0.2", - "B": "0.11 as 0.1" - } -} -``` - -See [aliases](aliases.md) for more information. - - -## Figuring out where a config value came from - -Use `php composer.phar config --list --source` to see where each config value originated from. - - -## Memory limit errors - -The first thing to do is to make sure you are running Composer 2, and if possible 2.2.0 or above. - -Composer 1 used much more memory and upgrading to the latest version will give you much better and faster results. - -Composer may sometimes fail on some commands with this message: - -`PHP Fatal error: Allowed memory size of XXXXXX bytes exhausted <...>` - -In this case, the PHP `memory_limit` should be increased. - -> **Note:** Composer internally increases the `memory_limit` to `1.5G`. - -To get the current `memory_limit` value, run: - -```shell -php -r "echo ini_get('memory_limit').PHP_EOL;" -``` - -Try increasing the limit in your `php.ini` file (ex. `/etc/php5/cli/php.ini` for -Debian-like systems): - -```ini -; Use -1 for unlimited or define an explicit value like 2G -memory_limit = -1 -``` - -Composer also respects a memory limit defined by the `COMPOSER_MEMORY_LIMIT` environment variable: - -```shell -COMPOSER_MEMORY_LIMIT=-1 composer.phar <...> -``` - -Or, you can increase the limit with a command-line argument: - -```shell -php -d memory_limit=-1 composer.phar <...> -``` - -This issue can also happen on cPanel instances, when the shell fork bomb protection is activated. For more information, see the [documentation](https://documentation.cpanel.net/display/68Docs/Shell+Fork+Bomb+Protection) of the fork bomb feature on the cPanel site. - - -## Xdebug impact on Composer - -To improve performance when the Xdebug extension is enabled, Composer automatically restarts PHP without it. -You can override this behavior by using an environment variable: `COMPOSER_ALLOW_XDEBUG=1`. - -Composer will always show a warning if Xdebug is being used, but you can override this with an environment variable: -`COMPOSER_DISABLE_XDEBUG_WARN=1`. If you see this warning unexpectedly, then the restart process has failed: -please report this [issue](https://github.com/composer/composer/issues). - - -## "The system cannot find the path specified" (Windows) - -1. Open regedit. -2. Search for an `AutoRun` key inside `HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor`, - `HKEY_CURRENT_USER\Software\Microsoft\Command Processor` - or `HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\Command Processor`. -3. Check if it contains any path to a non-existent file, if it's the case, remove them. - - -## API rate limit and OAuth tokens - -Because of GitHub's rate limits on their API it can happen that Composer prompts -for authentication asking your username and password so it can go ahead with its work. - -If you would prefer not to provide your GitHub credentials to Composer you can -manually create a token using the [procedure documented here](authentication-for-private-packages.md#github-oauth). - -Now Composer should install/update without asking for authentication. - - -## proc_open(): fork failed errors - -If Composer shows proc_open() fork failed on some commands: - -`PHP Fatal error: Uncaught exception 'ErrorException' with message 'proc_open(): fork failed - Cannot allocate memory' in phar` - -This could be happening because the VPS runs out of memory and has no Swap space enabled. - -```shell -free -m -``` -```text -total used free shared buffers cached -Mem: 2048 357 1690 0 0 237 --/+ buffers/cache: 119 1928 -Swap: 0 0 0 -``` - -To enable the swap you can use for example: - -```shell -/bin/dd if=/dev/zero of=/var/swap.1 bs=1M count=1024 -/sbin/mkswap /var/swap.1 -/bin/chmod 0600 /var/swap.1 -/sbin/swapon /var/swap.1 -``` -You can make a permanent swap file following this [tutorial](https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04). - - -## proc_open(): failed to open stream errors (Windows) - -If Composer shows proc_open(NUL) errors on Windows: - -`proc_open(NUL): failed to open stream: No such file or directory` - -This could be happening because you are working in a _OneDrive_ directory and -using a version of PHP that does not support the file system semantics of this -service. The issue was fixed in PHP 7.2.23 and 7.3.10. - -Alternatively it could be because the Windows Null Service is not enabled. For -more information, see this [issue](https://github.com/composer/composer/issues/7186#issuecomment-373134916). - - -## Degraded Mode - -Due to some intermittent issues on Travis and other systems, we introduced a -degraded network mode which helps Composer finish successfully but disables -a few optimizations. This is enabled automatically when an issue is first -detected. If you see this issue sporadically you probably don't have to worry -(a slow or overloaded network can also cause those time outs), but if it -appears repeatedly you might want to look at the options below to identify -and resolve it. - -If you have been pointed to this page, you want to check a few things: - -- If you are using ESET antivirus, go in "Advanced Settings" and disable "HTTP-scanner" - under "web access protection" -- If you are using IPv6, try disabling it. If that solves your issues, get in touch - with your ISP or server host, the problem is not at the Packagist level but in the - routing rules between you and Packagist (i.e. the internet at large). The best way to get - these fixed is to raise awareness to the network engineers that have the power to fix it. - Take a look at the next section for IPv6 workarounds. -- If none of the above helped, please report the error. - - -## Operation timed out (IPv6 issues) - -You may run into errors if IPv6 is not configured correctly. A common error is: - -```text -The "https://getcomposer.org/version" file could not be downloaded: failed to -open stream: Operation timed out -``` - -We recommend you fix your IPv6 setup. If that is not possible, you can try the -following workarounds: - -**Workaround Linux:** - -On linux, it seems that running this command helps to make ipv4 traffic have a -higher priority than ipv6, which is a better alternative than disabling ipv6 entirely: - -```shell -sudo sh -c "echo 'precedence ::ffff:0:0/96 100' >> /etc/gai.conf" -``` - -**Workaround Windows:** - -On windows the only way is to disable ipv6 entirely I am afraid (either in windows or in your home router). - -**Workaround Mac OS X:** - -Get name of your network device: - -```shell -networksetup -listallnetworkservices -``` - -Disable IPv6 on that device (in this case "Wi-Fi"): - -```shell -networksetup -setv6off Wi-Fi -``` - -Run Composer ... - -You can enable IPv6 again with: - -```shell -networksetup -setv6automatic Wi-Fi -``` - -That said, if this fixes your problem, please talk to your ISP about it to -try to resolve the routing errors. That's the best way to get things resolved -for everyone. - - -## Composer hangs with SSH ControlMaster - -When you try to install packages from a Git repository and you use the `ControlMaster` -setting for your SSH connection, Composer might hang endlessly and you see a `sh` -process in the `defunct` state in your process list. - -The reason for this is a SSH Bug: https://bugzilla.mindrot.org/show_bug.cgi?id=1988 - -As a workaround, open a SSH connection to your Git host before running Composer: - -```shell -ssh -t git@mygitserver.tld -php composer.phar update -``` - -See also https://github.com/composer/composer/issues/4180 for more information. - - -## Zip archives are not unpacked correctly. - -Composer can unpack zipballs using either a system-provided `unzip` or `7z` (7-Zip) utility, or PHP's -native `ZipArchive` class. On OSes where ZIP files can contain permissions and symlinks, we recommend -installing `unzip` or `7z` as these features are not supported by `ZipArchive`. - - -## Disabling the pool optimizer - -In Composer, the `Pool` class contains all the packages that are relevant for the dependency -resolving process. That is what is used to generate all the rules which are then -passed on to the dependency solver. -In order to improve performance, Composer tries to optimize this `Pool` by removing useless -package information early on. - -If all goes well, you should never notice any issues with it but in case you run into -an unexpected result such as an unresolvable set of dependencies or conflicts where you -think Composer is wrong, you might want to disable the optimizer by using the environment -variable `COMPOSER_POOL_OPTIMIZER` and run the update again like so: - -```shell -COMPOSER_POOL_OPTIMIZER=0 php composer.phar update -``` - -Now double check if the result is still the same. It will take significantly longer and use -a lot more memory to run the dependency resolving process. - -If the result is different, you likely hit a problem in the pool optimizer. -Please [report this issue](https://github.com/composer/composer/issues) so it can be fixed. diff --git a/core/vendor/composer/composer/doc/articles/vendor-binaries.md b/core/vendor/composer/composer/doc/articles/vendor-binaries.md deleted file mode 100644 index 9c0de3240f..0000000000 --- a/core/vendor/composer/composer/doc/articles/vendor-binaries.md +++ /dev/null @@ -1,165 +0,0 @@ - - -# Vendor binaries and the `vendor/bin` directory - -## What is a vendor binary? - -Any command line script that a Composer package would like to pass along -to a user who installs the package should be listed as a vendor binary. - -If a package contains other scripts that are not needed by the package -users (like build or compile scripts) that code should not be listed -as a vendor binary. - -## How is it defined? - -It is defined by adding the `bin` key to a project's `composer.json`. -It is specified as an array of files so multiple binaries can be added -for any given project. - -```json -{ - "bin": ["bin/my-script", "bin/my-other-script"] -} -``` - -## What does defining a vendor binary in composer.json do? - -It instructs Composer to install the package's binaries to `vendor/bin` -for any project that **depends** on that project. - -This is a convenient way to expose useful scripts that would -otherwise be hidden deep in the `vendor/` directory. - -## What happens when Composer is run on a composer.json that defines vendor binaries? - -For the binaries that a package defines directly, nothing happens. - -## What happens when Composer is run on a composer.json that has dependencies with vendor binaries listed? - -Composer looks for the binaries defined in all of the dependencies. A -proxy file (or two on Windows/WSL) is created from each dependency's -binaries to `vendor/bin`. - -Say package `my-vendor/project-a` has binaries setup like this: - -```json -{ - "name": "my-vendor/project-a", - "bin": ["bin/project-a-bin"] -} -``` - -Running `composer install` for this `composer.json` will not do -anything with `bin/project-a-bin`. - -Say project `my-vendor/project-b` has requirements setup like this: - -```json -{ - "name": "my-vendor/project-b", - "require": { - "my-vendor/project-a": "*" - } -} -``` - -Running `composer install` for this `composer.json` will look at -all of project-a's binaries and install them to `vendor/bin`. - -In this case, Composer will make `vendor/my-vendor/project-a/bin/project-a-bin` -available as `vendor/bin/project-a-bin`. - -## Finding the Composer autoloader from a binary - -As of Composer 2.2, a new `$_composer_autoload_path` global variable -is defined by the bin proxy file, so that when your binary gets executed -it can use it to easily locate the project's autoloader. - -This global will not be available however when running binaries defined -by the root package itself, so you need to have a fallback in place. - -This can look like this for example: - -```php - - -# Versions and constraints - -## Composer Versions vs VCS Versions - -Because Composer is heavily geared toward utilizing version control systems -like git, the term "version" can be a little ambiguous. In the sense of a -version control system, a "version" is a specific set of files that contain -specific data. In git terminology, this is a "ref", or a specific commit, -which may be represented by a branch HEAD or a tag. When you check out that -version in your VCS -- for example, tag `v1.1` or commit `e35fa0d` --, you're -asking for a single, known set of files, and you always get the same files back. - -In Composer, what's often referred to casually as a version -- that is, -the string that follows the package name in a require line (e.g., `~1.1` or -`1.2.*`) -- is actually more specifically a version constraint. Composer -uses version constraints to figure out which refs in a VCS it should be -checking out (or to verify that a given library is acceptable in -the case of a statically-maintained library with a `version` specification -in `composer.json`). - -## VCS Tags and Branches - -*For the following discussion, let's assume the following sample library -repository:* - -```shell -~/my-library$ git branch -``` -```text -v1 -v2 -my-feature -another-feature -``` - -```shell -~/my-library$ git tag -``` -```text -v1.0 -v1.0.1 -v1.0.2 -v1.1-BETA -v1.1-RC1 -v1.1-RC2 -v1.1 -v1.1.1 -v2.0-BETA -v2.0-RC1 -v2.0 -v2.0.1 -v2.0.2 -``` - -### Tags - -Normally, Composer deals with tags (as opposed to branches -- if you don't -know what this means, read up on -[version control systems](https://en.wikipedia.org/wiki/Version_control#Common_terminology)). -When you write a version constraint, it may reference a specific tag (e.g., -`1.1`) or it may reference a valid range of tags (e.g., `>=1.1 <2.0`, or -`~4.0`). To resolve these constraints, Composer first asks the VCS to list -all available tags, then creates an internal list of available versions based -on these tags. In the above example, composer's internal list includes versions -`1.0`, `1.0.1`, `1.0.2`, the beta release of `1.1`, the first and second -release candidates of `1.1`, the final release version `1.1`, etc.... (Note -that Composer automatically removes the 'v' prefix in the actual tagname to -get a valid final version number.) - -When Composer has a complete list of available versions from your VCS, it then -finds the highest version that matches all version constraints in your project -(it's possible that other packages require more specific versions of the -library than you do, so the version it chooses may not always be the highest -available version) and it downloads a zip archive of that tag to unpack in the -correct location in your `vendor` directory. - -### Branches - -If you want Composer to check out a branch instead of a tag, you need to point it to the branch using the special `dev-*` prefix (or sometimes suffix; see below). If you're checking out a branch, it's assumed that you want to *work* on the branch and Composer actually clones the repo into the correct place in your `vendor` directory. For tags, it copies the right files without actually cloning the repo. (You can modify this behavior with --prefer-source and --prefer-dist, see [install options](../03-cli.md#install).) - -In the above example, if you wanted to check out the `my-feature` branch, you would specify `dev-my-feature` as the version constraint in your `require` clause. This would result in Composer cloning the `my-library` repository into my `vendor` directory and checking out the `my-feature` branch. - -When branch names look like versions, we have to clarify for Composer that we're trying to check out a branch and not a tag. In the above example, we have two version branches: `v1` and `v2`. To get Composer to check out one of these branches, you must specify a version constraint that looks like this: `v1.x-dev`. The `.x` is an arbitrary string that Composer requires to tell it that we're talking about the `v1` branch and not a `v1` tag (alternatively, you can name the branch `v1.x` instead of `v1`). In the case of a branch with a version-like name (`v1`, in this case), you append `-dev` as a suffix, rather than using `dev-` as a prefix. - -### Stabilities - -Composer recognizes the following stabilities (in order of stability): dev, -alpha, beta, RC, and stable where RC stands for release candidate. The stability -of a version is defined by its suffix e.g version `v1.1-BETA` has a stability of -`beta` and `v1.1-RC1` has a stability of `RC`. If such a suffix is missing -e.g. version `v1.1` then Composer considers that version `stable`. In addition -to that Composer automatically adds a `-dev` suffix to all numeric branches and -prefixes all other branches imported from a VCS repository with `dev-`. In both -cases the stability `dev` gets assigned. - -Keeping this in mind will help you in the next section. - -### Minimum Stability - -There's one more thing that will affect which files are checked out of a library's VCS and added to your project: Composer allows you to specify stability constraints to limit which tags are considered valid. In the above example, note that the library released a beta and two release candidates for version `1.1` before the final official release. To receive these versions when running `composer install` or `composer update`, we have to explicitly tell Composer that we are ok with release candidates and beta releases (and alpha releases, if we want those). This can be done using either a project-wide `minimum-stability` value in `composer.json` or using "stability flags" in version constraints. Read more on the [schema page](../04-schema.md#minimum-stability). - -## Writing Version Constraints - -Now that you have an idea of how Composer sees versions, let's talk about how -to specify version constraints for your project dependencies. - -### Exact Version Constraint - -You can specify the exact version of a package. This will tell Composer to -install this version and this version only. If other dependencies require -a different version, the solver will ultimately fail and abort any install -or update procedures. - -Example: `1.0.2` - -### Version Range - -By using comparison operators you can specify ranges of valid versions. Valid -operators are `>`, `>=`, `<`, `<=`, `!=`. - -You can define multiple ranges. Ranges separated by a space ( ) -or comma (`,`) will be treated as a **logical AND**. A double pipe (`||`) -will be treated as a **logical OR**. AND has higher precedence than OR. - -> **Note:** Be careful when using unbounded ranges as you might end up -> unexpectedly installing versions that break backwards compatibility. -> Consider using the [caret](#caret-version-range-) operator instead for safety. - - -> **Note:** In older versions of Composer the single pipe (`|`) was the -> recommended alternative to the **logical OR**. Thus for backwards compatibility -> the single pipe (`|`) will still be treated as a **logical OR**. - -Examples: - -* `>=1.0` -* `>=1.0 <2.0` -* `>=1.0 <1.1 || >=1.2` - -### Hyphenated Version Range (` - `) - -Inclusive set of versions. Partial versions on the right include are completed -with a wildcard. For example `1.0 - 2.0` is equivalent to `>=1.0.0 <2.1` as the -`2.0` becomes `2.0.*`. On the other hand `1.0.0 - 2.1.0` is equivalent to -`>=1.0.0 <=2.1.0`. - -Example: `1.0 - 2.0` - -### Wildcard Version Range (`.*`) - -You can specify a pattern with a `*` wildcard. `1.0.*` is the equivalent of -`>=1.0 <1.1`. - -Example: `1.0.*` - -## Next Significant Release Operators - -### Tilde Version Range (`~`) - -The `~` operator is best explained by example: `~1.2` is equivalent to -`>=1.2 <2.0.0`, while `~1.2.3` is equivalent to `>=1.2.3 <1.3.0`. As you can see -it is mostly useful for projects respecting [semantic -versioning](https://semver.org/). A common usage would be to mark the minimum -minor version you depend on, like `~1.2` (which allows anything up to, but not -including, 2.0). Since in theory there should be no backwards compatibility -breaks until 2.0, that works well. Another way of looking at it is that using -`~` specifies a minimum version, but allows the last digit specified to go up. - -Example: `~1.2` - -> **Note:** Although `2.0-beta.1` is strictly before `2.0`, a version constraint -> like `~1.2` would not install it. As said above `~1.2` only means the `.2` -> can change but the `1.` part is fixed. - -> **Note:** The `~` operator has an exception on its behavior for the major -> release number. This means for example that `~1` is the same as `~1.0` as -> it will not allow the major number to increase trying to keep backwards -> compatibility. - -### Caret Version Range (`^`) - -The `^` operator behaves very similarly, but it sticks closer to semantic -versioning, and will always allow non-breaking updates. For example `^1.2.3` -is equivalent to `>=1.2.3 <2.0.0` as none of the releases until 2.0 should -break backwards compatibility. For pre-1.0 versions it also acts with safety -in mind and treats `^0.3` as `>=0.3.0 <0.4.0` and `^0.0.3` as `>=0.0.3 <0.0.4`. - -This is the recommended operator for maximum interoperability when writing -library code. - -Example: `^1.2.3` - -## Stability Constraints - -If you are using a constraint that does not explicitly define a stability, -Composer will default internally to `-dev` or `-stable`, depending on the -operator(s) used. This happens transparently. - -If you wish to explicitly consider only the stable release in the comparison, -add the suffix `-stable`. - -Examples: - - Constraint | Internally -------------------- | ------------------------ - `1.2.3` | `=1.2.3.0-stable` - `>1.2` | `>1.2.0.0-stable` - `>=1.2` | `>=1.2.0.0-dev` - `>=1.2-stable` | `>=1.2.0.0-stable` - `<1.3` | `<1.3.0.0-dev` - `<=1.3` | `<=1.3.0.0-stable` - `1 - 2` | `>=1.0.0.0-dev <3.0.0.0-dev` - `~1.3` | `>=1.3.0.0-dev <2.0.0.0-dev` - `1.4.*` | `>=1.4.0.0-dev <1.5.0.0-dev` - -To allow various stabilities without enforcing them at the constraint level -however, you may use [stability-flags](../04-schema.md#package-links) like -`@` (e.g. `@dev`) to let Composer know that a given package -can be installed in a different stability than your default minimum-stability -setting. All available stability flags are listed on the minimum-stability -section of the [schema page](../04-schema.md#minimum-stability). - -## Summary -```jsonc -"require": { - "vendor/package": "1.3.2", // exactly 1.3.2 - - // >, <, >=, <= | specify upper / lower bounds - "vendor/package": ">=1.3.2", // anything above or equal to 1.3.2 - "vendor/package": "<1.3.2", // anything below 1.3.2 - - // * | wildcard - "vendor/package": "1.3.*", // >=1.3.0 <1.4.0 - - // ~ | allows last digit specified to go up - "vendor/package": "~1.3.2", // >=1.3.2 <1.4.0 - "vendor/package": "~1.3", // >=1.3.0 <2.0.0 - - // ^ | doesn't allow breaking changes (major version fixed - following semver) - "vendor/package": "^1.3.2", // >=1.3.2 <2.0.0 - "vendor/package": "^0.3.2", // >=0.3.2 <0.4.0 // except if major version is 0 -} -``` - -## Testing Version Constraints - -You can test version constraints using [semver.madewithlove.com](https://semver.madewithlove.com). -Fill in a package name and it will autofill the default version constraint -which Composer would add to your `composer.json` file. You can adjust the -version constraint and the tool will highlight all releases that match. diff --git a/core/vendor/composer/composer/doc/dev/DefaultPolicy.md b/core/vendor/composer/composer/doc/dev/DefaultPolicy.md deleted file mode 100644 index 65d0710df6..0000000000 --- a/core/vendor/composer/composer/doc/dev/DefaultPolicy.md +++ /dev/null @@ -1,55 +0,0 @@ -# Default Solver Policy - -A solver policy defines behaviour variables of the dependency solver. It decides -which versions are considered newer than others, which packages should be -preferred over others and whether operations like downgrades or uninstall are -allowed. - -## Selection of preferred Packages - -The following describe package pool situations with user requests and the -resulting order in which the solver will try to install them. - -The rules are to be applied in the order of these descriptions. - -### Repository priorities - -Packages Repo1.Av1, Repo2.Av1 - -* priority(Repo1) >= priority(Repo2) => (Repo1.Av1, Repo2.Av1) -* priority(Repo1) < priority(Repo2) => (Repo2.Av1, Repo1.Av1) - -### Package versions - -Packages: Av1, Av2, Av3 - -* Installed: Av2 - -Request: install A - -* (Av3) - -### Virtual Packages (provides) - -Packages Av1, Bv1 - -* Av1 provides Xv1 -* Bv1 provides Xv1 - -Request: install X - -* priority(Av1.repo) >= priority(Bv1.repo) => (Av1, Bv1) -* priority(Av1.repo) < priority(Bv1.repo) => (Bv1, Av1) - -### Package replacements - -Packages: Av1, Bv2 - -* Bv2 replaces Av1 - -Request: install A - -* priority(Av1.repo) >= priority(Bv2.repo) => (Av1, Bv2) -* priority(Av1.repo) < priority(Bv2.repo) => (Bv2, Av1) - -Bv2 version is ignored, only the replacement version for A matters. diff --git a/core/vendor/composer/composer/doc/faqs/how-do-i-install-a-package-to-a-custom-path-for-my-framework.md b/core/vendor/composer/composer/doc/faqs/how-do-i-install-a-package-to-a-custom-path-for-my-framework.md deleted file mode 100644 index 8452048735..0000000000 --- a/core/vendor/composer/composer/doc/faqs/how-do-i-install-a-package-to-a-custom-path-for-my-framework.md +++ /dev/null @@ -1,55 +0,0 @@ -# How do I install a package to a custom path for my framework? - -Each framework may have one or many different required package installation -paths. Composer can be configured to install packages to a folder other than -the default `vendor` folder by using -[composer/installers](https://github.com/composer/installers). - -If you are a **package author** and want your package installed to a custom -directory, require `composer/installers` and set the appropriate `type`. -Specifying the package type, will override the default installer path. -This is common if your package is intended for a specific framework such as -CakePHP, Drupal or WordPress. Here is an example composer.json file for a -WordPress theme: - -```json -{ - "name": "you/themename", - "type": "wordpress-theme", - "require": { - "composer/installers": "~1.0" - } -} -``` - -Now when your theme is installed with Composer it will be placed into -`wp-content/themes/themename/` folder. Check the -[current supported types](https://github.com/composer/installers#current-supported-package-types) -for your package. - -As a **package consumer** you can set or override the install path for a package -that requires composer/installers by configuring the `installer-paths` extra. A -useful example would be for a Drupal multisite setup where the package should be -installed into your site's subdirectory. Here we are overriding the install path -for a module that uses composer/installers, as well as putting all packages of type -`drupal-theme` into a themes folder: - -```json -{ - "extra": { - "installer-paths": { - "sites/example.com/modules/{$name}": ["vendor/package"], - "sites/example.com/themes/{$name}": ["type:drupal-theme"] - } - } -} -``` - -Now the package would be installed to your folder location, rather than the default -composer/installers determined location. In addition, `installer-paths` is -order-dependent, which means moving a package by name should come before the installer -path of a `type:*` that matches the same package. - -> **Note:** You cannot use this to change the path of any package. This is only -> applicable to packages that require `composer/installers` and use a custom type -> that it handles. diff --git a/core/vendor/composer/composer/doc/faqs/how-to-install-composer-programmatically.md b/core/vendor/composer/composer/doc/faqs/how-to-install-composer-programmatically.md deleted file mode 100644 index 7363c47c1a..0000000000 --- a/core/vendor/composer/composer/doc/faqs/how-to-install-composer-programmatically.md +++ /dev/null @@ -1,42 +0,0 @@ -# How do I install Composer programmatically? - -As noted on the download page, the installer script contains a -checksum which changes when the installer code changes and as such -it should not be relied upon in the long term. - -An alternative is to use this script which only works with UNIX utilities: - -```shell -#!/bin/sh - -EXPECTED_CHECKSUM="$(php -r 'copy("https://composer.github.io/installer.sig", "php://stdout");')" -php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" -ACTUAL_CHECKSUM="$(php -r "echo hash_file('sha384', 'composer-setup.php');")" - -if [ "$EXPECTED_CHECKSUM" != "$ACTUAL_CHECKSUM" ] -then - >&2 echo 'ERROR: Invalid installer checksum' - rm composer-setup.php - exit 1 -fi - -php composer-setup.php --quiet -RESULT=$? -rm composer-setup.php -exit $RESULT -``` - -The script will exit with 1 in case of failure, or 0 on success, and is quiet -if no error occurs. - -Alternatively, if you want to rely on an exact copy of the installer, you can fetch -a specific version from GitHub's history. The commit hash should be enough to -give it uniqueness and authenticity as long as you can trust the GitHub servers. -For example: - -```shell -wget https://raw.githubusercontent.com/composer/getcomposer.org/76a7060ccb93902cd7576b67264ad91c8a2700e2/web/installer -O - -q | php -- --quiet -``` - -You may replace the commit hash by whatever the last commit hash is on -https://github.com/composer/getcomposer.org/commits/main diff --git a/core/vendor/composer/composer/doc/faqs/how-to-install-untrusted-packages-safely.md b/core/vendor/composer/composer/doc/faqs/how-to-install-untrusted-packages-safely.md deleted file mode 100644 index 27a8b7efd5..0000000000 --- a/core/vendor/composer/composer/doc/faqs/how-to-install-untrusted-packages-safely.md +++ /dev/null @@ -1,41 +0,0 @@ -# How do I install untrusted packages safely? Is it safe to run Composer as superuser or root? - -## Why am I seeing a "Do not run Composer as root/super user" warning/error? - -It was always discouraged to run Composer as root for the reasons detailed below. - -As of Composer 2.4.2, plugins are disabled automatically when running as root and -there is no sign that the user is consciously doing this. There are two ways this user consent -can be given: - -- If you run interactively, Composer will prompt if you are sure that you want to continue - running as root. If you run non-interactively, plugins will be disabled, unless.. -- If you set the [COMPOSER_ALLOW_SUPERUSER](../03-cli.md#composer-allow-superuser) environment - variable to `1`, this also indicates that you intended to run Composer as root and are accepting - the risks of doing so. - -## Is it safe to run Composer as superuser or root? - -Certain Composer commands, including `exec`, `install`, and `update` allow third party code to -execute on your system. This is from its "plugins" and "scripts" features. Plugins and scripts have -full access to the user account which runs Composer. For this reason, it is strongly advised to -**avoid running Composer as super-user/root**. All commands also dispatch events which can be -caught by plugins so unless explicitly disabled installed plugins will be loaded/executed by **every** -Composer command. - -You can disable plugins and scripts during package installation or updates with the following -syntax so only Composer's code, and no third party code, will execute: - -```shell -php composer.phar install --no-plugins --no-scripts ... -php composer.phar update --no-plugins --no-scripts ... -``` - -Depending on the operating system we have seen cases where it is possible to trigger execution -of files in the repository using specially crafted `composer.json`. So in general if you do want -to install untrusted dependencies you should sandbox them completely in a container or equivalent. - -Also note that the `exec` command will always run third party code as the user which runs `composer`. - -See the [COMPOSER_ALLOW_SUPERUSER](../03-cli.md#composer-allow-superuser) environment variable for -more info on how to disable the warnings. diff --git a/core/vendor/composer/composer/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md b/core/vendor/composer/composer/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md deleted file mode 100644 index 32552e067f..0000000000 --- a/core/vendor/composer/composer/doc/faqs/should-i-commit-the-dependencies-in-my-vendor-directory.md +++ /dev/null @@ -1,32 +0,0 @@ -# Should I commit the dependencies in my vendor directory? - -The general recommendation is **no**. The vendor directory (or wherever your -dependencies are installed) should be added to `.gitignore`/`svn:ignore`/etc. - -The best practice is to then have all the developers use Composer to install -the dependencies. Similarly, the build server, CI, deployment tools etc should -be adapted to run Composer as part of their project bootstrapping. - -While it can be tempting to commit it in some environment, it leads to a few -problems: - -- Large VCS repository size and diffs when you update code. -- Duplication of the history of all your dependencies in your own VCS. -- Adding dependencies installed via git to a git repo will show them as - submodules. This is problematic because they are not real submodules, and you - will run into issues. - -If you really feel like you must do this, you have a few options: - -1. Limit yourself to installing tagged releases (no dev versions), so that you - only get zipped installs, and avoid problems with the git "submodules". -2. Use --prefer-dist or set `preferred-install` to `dist` in your - [config](../04-schema.md#config). -3. Remove the `.git` directory of every dependency after the installation, then - you can add them to your git repo. You can do that with `rm -rf vendor/**/.git` - in ZSH or `find vendor/ -type d -name ".git" -exec rm -rf {} \;` in Bash. - But this means you will have to delete those dependencies from disk before - running `composer update`. -4. Add a .gitignore rule (`/vendor/**/.git`) to ignore all the vendor `.git` folders. - This approach does not require that you delete dependencies from disk prior to - running a `composer update`. diff --git a/core/vendor/composer/composer/doc/faqs/which-version-numbering-system-does-composer-itself-use.md b/core/vendor/composer/composer/doc/faqs/which-version-numbering-system-does-composer-itself-use.md deleted file mode 100644 index 20095bb011..0000000000 --- a/core/vendor/composer/composer/doc/faqs/which-version-numbering-system-does-composer-itself-use.md +++ /dev/null @@ -1,4 +0,0 @@ -# Which version numbering system does Composer itself use? - -Composer uses [Semantic Versioning (aka SemVer) -2.0.0](https://semver.org/spec/v2.0.0.html). diff --git a/core/vendor/composer/composer/doc/faqs/why-are-unbound-version-constraints-a-bad-idea.md b/core/vendor/composer/composer/doc/faqs/why-are-unbound-version-constraints-a-bad-idea.md deleted file mode 100644 index d9df4e5d81..0000000000 --- a/core/vendor/composer/composer/doc/faqs/why-are-unbound-version-constraints-a-bad-idea.md +++ /dev/null @@ -1,21 +0,0 @@ -# Why are unbound version constraints a bad idea? - -A version constraint without an upper bound such as `*`, `>=3.4` or -`dev-master` will allow updates to any future version of the dependency. -This includes major versions breaking backward compatibility. - -Once a release of your package is tagged, you cannot tweak its dependencies -anymore in case a dependency breaks BC - you have to do a new release, but the -previous one stays broken. - -The only good alternative is to define an upper bound on your constraints, -which you can increase in a new release after testing that your package is -compatible with the new major version of your dependency. - -For example instead of using `>=3.4` you should use `^3.4` which allows all -versions up to `3.999` but does not include `4.0` and above. The `^` operator -works very well with libraries following [semantic versioning](https://semver.org). - -**Note:** As a package maintainer, you can help your users -by providing an [alias version](../articles/aliases.md) for your development -branch to allow it to match bound constraints. diff --git a/core/vendor/composer/composer/doc/faqs/why-are-version-constraints-combining-comparisons-and-wildcards-a-bad-idea.md b/core/vendor/composer/composer/doc/faqs/why-are-version-constraints-combining-comparisons-and-wildcards-a-bad-idea.md deleted file mode 100644 index 12927fbfa5..0000000000 --- a/core/vendor/composer/composer/doc/faqs/why-are-version-constraints-combining-comparisons-and-wildcards-a-bad-idea.md +++ /dev/null @@ -1,21 +0,0 @@ -# Why are version constraints combining comparisons and wildcards a bad idea? - -This is a fairly common mistake people make, defining version constraints in -their package requires like `>=2.*` or `>=1.1.*`. - -If you think about it and what it really means though, you will quickly -realize that it does not make much sense. If we decompose `>=2.*`, you -have two parts: - -- `>=2` which says the package should be in version 2.0.0 or above. -- `2.*` which says the package should be between version 2.0.0 (inclusive) - and 3.0.0 (exclusive). - -As you see, both rules agree on the fact that the package must be >=2.0.0, -but it is not possible to determine if when you wrote that you were thinking -of a package in version 3.0.0 or not. Should it match because you asked for -`>=2` or should it not match because you asked for a `2.*`? - -For this reason, Composer throws an error and says that this is invalid. -The way to fix it is to think about what you really mean, and use only -one of those rules. diff --git a/core/vendor/composer/composer/doc/faqs/why-cant-composer-load-repositories-recursively.md b/core/vendor/composer/composer/doc/faqs/why-cant-composer-load-repositories-recursively.md deleted file mode 100644 index 1dff52c400..0000000000 --- a/core/vendor/composer/composer/doc/faqs/why-cant-composer-load-repositories-recursively.md +++ /dev/null @@ -1,35 +0,0 @@ -# Why can't Composer load repositories recursively? - -You may run into problems when using custom repositories because Composer does -not load the repositories of your requirements, so you have to redefine those -repositories in all your `composer.json` files. - -Before going into details as to why this is like that, you have to understand -that the main use of custom VCS & package repositories is to temporarily try -some things, or use a fork of a project until your pull request is merged, etc. -You should not use them to keep track of private packages. For that you should -rather look into [Private Packagist](https://packagist.com) which lets you -configure all your private packages in one place, and avoids the slow-downs -associated with inline VCS repositories. - -There are three ways the dependency solver could work with custom repositories: - -- Fetch the repositories of root package, get all the packages from the defined -repositories, then resolve requirements. This is the current state and it works well -except for the limitation of not loading repositories recursively. - -- Fetch the repositories of root package, while initializing packages from the -defined repos, initialize recursively all repos found in those packages, and -their package's packages, etc, then resolve requirements. It could work, but it -slows down the initialization a lot since VCS repos can each take a few seconds, -and it could end up in a completely broken state since many versions of a package -could define the same packages inside a package repository, but with different -dist/source. There are many ways this could go wrong. - -- Fetch the repositories of root package, then fetch the repositories of the -first level dependencies, then fetch the repositories of their dependencies, etc, -then resolve requirements. This sounds more efficient, but it suffers from the -same problems as the second solution, because loading the repositories of the -dependencies is not as easy as it sounds. You need to load all the repos of all -the potential matches for a requirement, which again might have conflicting -package definitions. diff --git a/core/vendor/composer/composer/doc/fixtures/fixtures.md b/core/vendor/composer/composer/doc/fixtures/fixtures.md deleted file mode 100644 index 051d5aad3d..0000000000 --- a/core/vendor/composer/composer/doc/fixtures/fixtures.md +++ /dev/null @@ -1,21 +0,0 @@ -# `Composer` type repository fixtures - -This directory contains some examples of what `composer` type repositories can -look like. They serve as illustrating examples accompanying the docs, but can -also be used as (initial) fixtures for tests. - -* `repo-composer-plain` is a basic, plain `packages.json` file -* `repo-composer-with-includes` uses the `includes` mechanism -* `repo-composer-with-providers` uses the `providers` mechanism - -## Sample Packages used in these fixtures - -All these repositories contain the following packages. - -* `foo/bar` versions `1.0.0`, `1.0.1` and `1.1.0`; `dev-default` and `1.0.x-dev` branches. - On `dev-default` and in `1.1.0`, `bar/baz` `~1.0` is required. -* `qux/quux` only has a `dev-default` branch. It `replace`s `gar/nix`. -* `gar/nix` has a `1.0.0` version and a `dev-default` branch. It is being replaced - by `qux/quux`. -* `bar/baz` has a `1.0.0` version and `1.0.x-dev` as well as `dev-default` branches. - Additionally, `1.1.x-dev` is a branch alias for `dev-default`. diff --git a/core/vendor/composer/composer/doc/fixtures/repo-composer-plain/packages.json b/core/vendor/composer/composer/doc/fixtures/repo-composer-plain/packages.json deleted file mode 100644 index 2190519984..0000000000 --- a/core/vendor/composer/composer/doc/fixtures/repo-composer-plain/packages.json +++ /dev/null @@ -1,158 +0,0 @@ -{ - "packages": { - "bar/baz": { - "1.0.0": { - "name": "bar/baz", - "version": "1.0.0", - "version_normalized": "1.0.0.0", - "source": { - "type": "hg", - "url": "http://some.where/over/the/rainbow/", - "reference": "35810817c14d" - }, - "time": "2014-10-13 12:04:55", - "type": "library" - }, - "1.0.x-dev": { - "name": "bar/baz", - "version": "1.0.x-dev", - "version_normalized": "1.0.9999999.9999999-dev", - "source": { - "type": "hg", - "url": "http://some.where/over/the/rainbow/", - "reference": "ffff9aae6ed5" - }, - "time": "2014-10-13 12:05:37", - "type": "library" - }, - "dev-default": { - "name": "bar/baz", - "version": "dev-default", - "version_normalized": "9999999-dev", - "source": { - "type": "hg", - "url": "http://some.where/over/the/rainbow/", - "reference": "f317e556f2e2" - }, - "time": "2014-10-13 12:06:45", - "type": "library", - "extra": { - "branch-alias": { - "dev-default": "1.1.x-dev" - } - } - } - }, - "foo/bar": { - "1.0.0": { - "name": "foo/bar", - "version": "1.0.0", - "version_normalized": "1.0.0.0", - "source": { - "type": "hg", - "url": "http://some.where/over/the/rainbow/", - "reference": "249dec95a52a" - }, - "time": "2014-10-11 15:42:00", - "type": "library" - }, - "1.0.1": { - "name": "foo/bar", - "version": "1.0.1", - "version_normalized": "1.0.1.0", - "source": { - "type": "hg", - "url": "http://some.where/over/the/rainbow/", - "reference": "21e3328295d4" - }, - "time": "2014-10-11 15:45:56", - "type": "library" - }, - "1.0.x-dev": { - "name": "foo/bar", - "version": "1.0.x-dev", - "version_normalized": "1.0.9999999.9999999-dev", - "source": { - "type": "hg", - "url": "http://some.where/over/the/rainbow/", - "reference": "14dc17c8e860" - }, - "time": "2014-10-11 15:45:59", - "type": "library" - }, - "1.1.0": { - "name": "foo/bar", - "version": "1.1.0", - "version_normalized": "1.1.0.0", - "source": { - "type": "hg", - "url": "http://some.where/over/the/rainbow/", - "reference": "d2fa3e69ad5b" - }, - "require": { - "bar/baz": "~1.0" - }, - "time": "2014-10-11 15:43:16", - "type": "library" - }, - "dev-default": { - "name": "foo/bar", - "version": "dev-default", - "version_normalized": "9999999-dev", - "source": { - "type": "hg", - "url": "http://some.where/over/the/rainbow/", - "reference": "8e5a5c224336" - }, - "require": { - "bar/baz": "~1.0" - }, - "time": "2014-10-11 15:43:18", - "type": "library" - } - }, - "gar/nix": { - "1.0.0": { - "name": "gar/nix", - "version": "1.0.0", - "version_normalized": "1.0.0.0", - "source": { - "type": "hg", - "url": "http://some.where/over/the/rainbow/", - "reference": "44977145d64e" - }, - "time": "2014-10-13 12:03:33", - "type": "library" - }, - "dev-default": { - "name": "gar/nix", - "version": "dev-default", - "version_normalized": "9999999-dev", - "source": { - "type": "hg", - "url": "http://some.where/over/the/rainbow/", - "reference": "51cca95a31c2" - }, - "time": "2014-10-13 12:03:35", - "type": "library" - } - }, - "qux/quux": { - "dev-default": { - "name": "qux/quux", - "version": "dev-default", - "version_normalized": "9999999-dev", - "source": { - "type": "hg", - "url": "http://some.where/over/the/rainbow/", - "reference": "4a10a567baa5" - }, - "replace": { - "gar/nix": "1.0.*" - }, - "time": "2014-10-11 15:48:15", - "type": "library" - } - } - } -} diff --git a/core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/bar/baz$923363b3c22e73abb2e3fd891c8156dd4d0821a97fd3e428bc910833e3e46dbe.json b/core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/bar/baz$923363b3c22e73abb2e3fd891c8156dd4d0821a97fd3e428bc910833e3e46dbe.json deleted file mode 100644 index 77739fece5..0000000000 --- a/core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/bar/baz$923363b3c22e73abb2e3fd891c8156dd4d0821a97fd3e428bc910833e3e46dbe.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "packages": { - "bar\/baz": { - "1.0.0": { - "name": "bar\/baz", - "version": "1.0.0", - "version_normalized": "1.0.0.0", - "source": { - "type": "hg", - "url": "http:\/\/some.where\/over\/the\/rainbow\/", - "reference": "35810817c14d" - }, - "time": "2014-10-13 12:04:55", - "type": "library", - "uid": 0 - }, - "1.0.x-dev": { - "name": "bar\/baz", - "version": "1.0.x-dev", - "version_normalized": "1.0.9999999.9999999-dev", - "source": { - "type": "hg", - "url": "http:\/\/some.where\/over\/the\/rainbow\/", - "reference": "ffff9aae6ed5" - }, - "time": "2014-10-13 12:05:37", - "type": "library", - "uid": 1 - }, - "dev-default": { - "name": "bar\/baz", - "version": "dev-default", - "version_normalized": "9999999-dev", - "source": { - "type": "hg", - "url": "http:\/\/some.where\/over\/the\/rainbow\/", - "reference": "f317e556f2e2" - }, - "time": "2014-10-13 12:06:45", - "type": "library", - "extra": { - "branch-alias": { - "dev-default": "1.1.x-dev" - } - }, - "uid": 2 - } - } - } -} diff --git a/core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/foo/bar$4baabb3303afa3e34a4d3af18fb138e5f3b79029c1f8d9ab5b477ea15776ba0a.json b/core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/foo/bar$4baabb3303afa3e34a4d3af18fb138e5f3b79029c1f8d9ab5b477ea15776ba0a.json deleted file mode 100644 index 378b040030..0000000000 --- a/core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/foo/bar$4baabb3303afa3e34a4d3af18fb138e5f3b79029c1f8d9ab5b477ea15776ba0a.json +++ /dev/null @@ -1,77 +0,0 @@ -{ - "packages": { - "foo\/bar": { - "1.0.0": { - "name": "foo\/bar", - "version": "1.0.0", - "version_normalized": "1.0.0.0", - "source": { - "type": "hg", - "url": "http:\/\/some.where\/over\/the\/rainbow\/", - "reference": "249dec95a52a" - }, - "time": "2014-10-11 15:42:00", - "type": "library", - "uid": 3 - }, - "1.0.1": { - "name": "foo\/bar", - "version": "1.0.1", - "version_normalized": "1.0.1.0", - "source": { - "type": "hg", - "url": "http:\/\/some.where\/over\/the\/rainbow\/", - "reference": "21e3328295d4" - }, - "time": "2014-10-11 15:45:56", - "type": "library", - "uid": 4 - }, - "1.0.x-dev": { - "name": "foo\/bar", - "version": "1.0.x-dev", - "version_normalized": "1.0.9999999.9999999-dev", - "source": { - "type": "hg", - "url": "http:\/\/some.where\/over\/the\/rainbow\/", - "reference": "14dc17c8e860" - }, - "time": "2014-10-11 15:45:59", - "type": "library", - "uid": 5 - }, - "1.1.0": { - "name": "foo\/bar", - "version": "1.1.0", - "version_normalized": "1.1.0.0", - "source": { - "type": "hg", - "url": "http:\/\/some.where\/over\/the\/rainbow\/", - "reference": "d2fa3e69ad5b" - }, - "require": { - "bar\/baz": "~1.0" - }, - "time": "2014-10-11 15:43:16", - "type": "library", - "uid": 6 - }, - "dev-default": { - "name": "foo\/bar", - "version": "dev-default", - "version_normalized": "9999999-dev", - "source": { - "type": "hg", - "url": "http:\/\/some.where\/over\/the\/rainbow\/", - "reference": "8e5a5c224336" - }, - "require": { - "bar\/baz": "~1.0" - }, - "time": "2014-10-11 15:43:18", - "type": "library", - "uid": 7 - } - } - } -} diff --git a/core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/gar/nix$5d210670cb46c8364c8e3fb449967b9bea558b971e5b082f330ae4f1d484c321.json b/core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/gar/nix$5d210670cb46c8364c8e3fb449967b9bea558b971e5b082f330ae4f1d484c321.json deleted file mode 100644 index 68e399351a..0000000000 --- a/core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/gar/nix$5d210670cb46c8364c8e3fb449967b9bea558b971e5b082f330ae4f1d484c321.json +++ /dev/null @@ -1,50 +0,0 @@ -{ - "packages": { - "qux\/quux": { - "dev-default": { - "name": "qux\/quux", - "version": "dev-default", - "version_normalized": "9999999-dev", - "source": { - "type": "hg", - "url": "http:\/\/some.where\/over\/the\/rainbow\/", - "reference": "4a10a567baa5" - }, - "replace": { - "gar\/nix": "1.0.*" - }, - "time": "2014-10-11 15:48:15", - "type": "library", - "uid": 10 - } - }, - "gar\/nix": { - "1.0.0": { - "name": "gar\/nix", - "version": "1.0.0", - "version_normalized": "1.0.0.0", - "source": { - "type": "hg", - "url": "http:\/\/some.where\/over\/the\/rainbow\/", - "reference": "44977145d64e" - }, - "time": "2014-10-13 12:03:33", - "type": "library", - "uid": 8 - }, - "dev-default": { - "name": "gar\/nix", - "version": "dev-default", - "version_normalized": "9999999-dev", - "source": { - "type": "hg", - "url": "http:\/\/some.where\/over\/the\/rainbow\/", - "reference": "51cca95a31c2" - }, - "time": "2014-10-13 12:03:35", - "type": "library", - "uid": 9 - } - } - } -} diff --git a/core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/provider-active$1893a061e579543822389ecd12d791c612db0c05e22d90e9286e233cacd86ed8.json b/core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/provider-active$1893a061e579543822389ecd12d791c612db0c05e22d90e9286e233cacd86ed8.json deleted file mode 100644 index 6c45294f8e..0000000000 --- a/core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/provider-active$1893a061e579543822389ecd12d791c612db0c05e22d90e9286e233cacd86ed8.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "providers": { - "bar\/baz": { - "sha256": "923363b3c22e73abb2e3fd891c8156dd4d0821a97fd3e428bc910833e3e46dbe" - }, - "foo\/bar": { - "sha256": "4baabb3303afa3e34a4d3af18fb138e5f3b79029c1f8d9ab5b477ea15776ba0a" - }, - "gar\/nix": { - "sha256": "5d210670cb46c8364c8e3fb449967b9bea558b971e5b082f330ae4f1d484c321" - }, - "qux\/quux": { - "sha256": "c142d1a07ca354be46b613f59f1d601923a5a00ccc5fcce50a77ecdd461eb72d" - } - } -} diff --git a/core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/qux/quux$c142d1a07ca354be46b613f59f1d601923a5a00ccc5fcce50a77ecdd461eb72d.json b/core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/qux/quux$c142d1a07ca354be46b613f59f1d601923a5a00ccc5fcce50a77ecdd461eb72d.json deleted file mode 100644 index dc1b84dcec..0000000000 --- a/core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/p/qux/quux$c142d1a07ca354be46b613f59f1d601923a5a00ccc5fcce50a77ecdd461eb72d.json +++ /dev/null @@ -1,22 +0,0 @@ -{ - "packages": { - "qux\/quux": { - "dev-default": { - "name": "qux\/quux", - "version": "dev-default", - "version_normalized": "9999999-dev", - "source": { - "type": "hg", - "url": "http:\/\/some.where\/over\/the\/rainbow\/", - "reference": "4a10a567baa5" - }, - "replace": { - "gar\/nix": "1.0.*" - }, - "time": "2014-10-11 15:48:15", - "type": "library", - "uid": 10 - } - } - } -} diff --git a/core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/packages.json b/core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/packages.json deleted file mode 100644 index 35fd6e30bb..0000000000 --- a/core/vendor/composer/composer/doc/fixtures/repo-composer-with-providers/packages.json +++ /dev/null @@ -1,9 +0,0 @@ -{ - "packages": [], - "providers-url": "\/p\/%package%$%hash%.json", - "provider-includes": { - "p\/provider-active$1893a061e579543822389ecd12d791c612db0c05e22d90e9286e233cacd86ed8.json": { - "sha256": "1893a061e579543822389ecd12d791c612db0c05e22d90e9286e233cacd86ed8" - } - } -} diff --git a/core/vendor/composer/composer/src/Composer/Autoload/PhpFileCleaner.php b/core/vendor/composer/composer/src/Composer/Autoload/PhpFileCleaner.php deleted file mode 100644 index 0c00f878b9..0000000000 --- a/core/vendor/composer/composer/src/Composer/Autoload/PhpFileCleaner.php +++ /dev/null @@ -1,247 +0,0 @@ - - * Jordi Boggiano - * - * For the full copyright and license information, please view the LICENSE - * file that was distributed with this source code. - */ - -namespace Composer\Autoload; - -use Composer\Pcre\Preg; - -/** - * @author Jordi Boggiano - * @internal - */ -class PhpFileCleaner -{ - /** @var array */ - private static $typeConfig; - - /** @var non-empty-string */ - private static $restPattern; - - /** - * @readonly - * @var string - */ - private $contents; - - /** - * @readonly - * @var int - */ - private $len; - - /** - * @readonly - * @var int - */ - private $maxMatches; - - /** @var int */ - private $index = 0; - - /** - * @param string[] $types - */ - public static function setTypeConfig(array $types): void - { - foreach ($types as $type) { - self::$typeConfig[$type[0]] = [ - 'name' => $type, - 'length' => \strlen($type), - 'pattern' => '{.\b(?])'.$type.'\s++[a-zA-Z_\x7f-\xff:][a-zA-Z0-9_\x7f-\xff:\-]*+}Ais', - ]; - } - - self::$restPattern = '{[^?"\'contents = $contents; - $this->len = \strlen($this->contents); - $this->maxMatches = $maxMatches; - } - - public function clean(): string - { - $clean = ''; - - while ($this->index < $this->len) { - $this->skipToPhp(); - $clean .= 'index < $this->len) { - $char = $this->contents[$this->index]; - if ($char === '?' && $this->peek('>')) { - $clean .= '?>'; - $this->index += 2; - continue 2; - } - - if ($char === '"') { - $this->skipString('"'); - $clean .= 'null'; - continue; - } - - if ($char === "'") { - $this->skipString("'"); - $clean .= 'null'; - continue; - } - - if ($char === "<" && $this->peek('<') && $this->match('{<<<[ \t]*+([\'"]?)([a-zA-Z_\x80-\xff][a-zA-Z0-9_\x80-\xff]*+)\\1(?:\r\n|\n|\r)}A', $match)) { - $this->index += \strlen($match[0]); - $this->skipHeredoc($match[2]); - $clean .= 'null'; - continue; - } - - if ($char === '/') { - if ($this->peek('/')) { - $this->skipToNewline(); - continue; - } - if ($this->peek('*')) { - $this->skipComment(); - continue; - } - } - - if ($this->maxMatches === 1 && isset(self::$typeConfig[$char])) { - $type = self::$typeConfig[$char]; - if ( - \substr($this->contents, $this->index, $type['length']) === $type['name'] - && Preg::isMatch($type['pattern'], $this->contents, $match, 0, $this->index - 1) - ) { - $clean .= $match[0]; - - return $clean; - } - } - - $this->index += 1; - if ($this->match(self::$restPattern, $match)) { - $clean .= $char . $match[0]; - $this->index += \strlen($match[0]); - } else { - $clean .= $char; - } - } - } - - return $clean; - } - - private function skipToPhp(): void - { - while ($this->index < $this->len) { - if ($this->contents[$this->index] === '<' && $this->peek('?')) { - $this->index += 2; - break; - } - - $this->index += 1; - } - } - - private function skipString(string $delimiter): void - { - $this->index += 1; - while ($this->index < $this->len) { - if ($this->contents[$this->index] === '\\' && ($this->peek('\\') || $this->peek($delimiter))) { - $this->index += 2; - continue; - } - if ($this->contents[$this->index] === $delimiter) { - $this->index += 1; - break; - } - $this->index += 1; - } - } - - private function skipComment(): void - { - $this->index += 2; - while ($this->index < $this->len) { - if ($this->contents[$this->index] === '*' && $this->peek('/')) { - $this->index += 2; - break; - } - - $this->index += 1; - } - } - - private function skipToNewline(): void - { - while ($this->index < $this->len) { - if ($this->contents[$this->index] === "\r" || $this->contents[$this->index] === "\n") { - return; - } - $this->index += 1; - } - } - - private function skipHeredoc(string $delimiter): void - { - $firstDelimiterChar = $delimiter[0]; - $delimiterLength = \strlen($delimiter); - $delimiterPattern = '{'.preg_quote($delimiter).'(?![a-zA-Z0-9_\x80-\xff])}A'; - - while ($this->index < $this->len) { - // check if we find the delimiter after some spaces/tabs - switch ($this->contents[$this->index]) { - case "\t": - case " ": - $this->index += 1; - continue 2; - case $firstDelimiterChar: - if ( - \substr($this->contents, $this->index, $delimiterLength) === $delimiter - && $this->match($delimiterPattern) - ) { - $this->index += $delimiterLength; - - return; - } - break; - } - - // skip the rest of the line - while ($this->index < $this->len) { - $this->skipToNewline(); - - // skip newlines - while ($this->index < $this->len && ($this->contents[$this->index] === "\r" || $this->contents[$this->index] === "\n")) { - $this->index += 1; - } - - break; - } - } - } - - private function peek(string $char): bool - { - return $this->index + 1 < $this->len && $this->contents[$this->index + 1] === $char; - } - - /** - * @param non-empty-string $regex - * @param null|array $match - */ - private function match($regex, ?array &$match = null): bool - { - return Preg::isMatch($regex, $this->contents, $match, 0, $this->index); - } -} diff --git a/core/vendor/composer/installed.json b/core/vendor/composer/installed.json index f11b3b003f..fcce4eec6d 100644 --- a/core/vendor/composer/installed.json +++ b/core/vendor/composer/installed.json @@ -6712,23 +6712,23 @@ }, { "name": "symfony/error-handler", - "version": "v7.0.0", - "version_normalized": "7.0.0.0", + "version": "v6.4.0", + "version_normalized": "6.4.0.0", "source": { "type": "git", "url": "https://github.com/symfony/error-handler.git", - "reference": "80b1258be1b84c12a345d0ec3881bbf2e5270cc2" + "reference": "c873490a1c97b3a0a4838afc36ff36c112d02788" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/80b1258be1b84c12a345d0ec3881bbf2e5270cc2", - "reference": "80b1258be1b84c12a345d0ec3881bbf2e5270cc2", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/c873490a1c97b3a0a4838afc36ff36c112d02788", + "reference": "c873490a1c97b3a0a4838afc36ff36c112d02788", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.1", "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^6.4|^7.0" + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "conflict": { "symfony/deprecation-contracts": "<2.5", @@ -6737,9 +6737,9 @@ "require-dev": { "symfony/deprecation-contracts": "^2.5|^3", "symfony/http-kernel": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0" + "symfony/serializer": "^5.4|^6.0|^7.0" }, - "time": "2023-10-20T16:35:23+00:00", + "time": "2023-10-18T09:43:34+00:00", "bin": [ "Resources/bin/patch-type-declarations" ], @@ -6770,7 +6770,7 @@ "description": "Provides tools to manage errors and ease debugging PHP code", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/error-handler/tree/v7.0.0" + "source": "https://github.com/symfony/error-handler/tree/v6.4.0" }, "funding": [ { @@ -6790,25 +6790,25 @@ }, { "name": "symfony/event-dispatcher", - "version": "v7.0.0", - "version_normalized": "7.0.0.0", + "version": "v6.4.0", + "version_normalized": "6.4.0.0", "source": { "type": "git", "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "c459b40ffe67c49af6fd392aac374c9edf8a027e" + "reference": "d76d2632cfc2206eecb5ad2b26cd5934082941b6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/c459b40ffe67c49af6fd392aac374c9edf8a027e", - "reference": "c459b40ffe67c49af6fd392aac374c9edf8a027e", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d76d2632cfc2206eecb5ad2b26cd5934082941b6", + "reference": "d76d2632cfc2206eecb5ad2b26cd5934082941b6", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.1", "symfony/event-dispatcher-contracts": "^2.5|^3" }, "conflict": { - "symfony/dependency-injection": "<6.4", + "symfony/dependency-injection": "<5.4", "symfony/service-contracts": "<2.5" }, "provide": { @@ -6817,15 +6817,15 @@ }, "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/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^6.4|^7.0" + "symfony/stopwatch": "^5.4|^6.0|^7.0" }, - "time": "2023-07-27T16:29:09+00:00", + "time": "2023-07-27T06:52:43+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -6853,7 +6853,7 @@ "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v7.0.0" + "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.0" }, "funding": [ { @@ -6952,25 +6952,25 @@ }, { "name": "symfony/filesystem", - "version": "v7.0.0", - "version_normalized": "7.0.0.0", + "version": "v6.4.0", + "version_normalized": "6.4.0.0", "source": { "type": "git", "url": "https://github.com/symfony/filesystem.git", - "reference": "7da8ea2362a283771478c5f7729cfcb43a76b8b7" + "reference": "952a8cb588c3bc6ce76f6023000fb932f16a6e59" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/7da8ea2362a283771478c5f7729cfcb43a76b8b7", - "reference": "7da8ea2362a283771478c5f7729cfcb43a76b8b7", + "url": "https://api.github.com/repos/symfony/filesystem/zipball/952a8cb588c3bc6ce76f6023000fb932f16a6e59", + "reference": "952a8cb588c3bc6ce76f6023000fb932f16a6e59", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.8" }, - "time": "2023-07-27T06:33:22+00:00", + "time": "2023-07-26T17:27:13+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -6998,7 +6998,7 @@ "description": "Provides basic utilities for the filesystem", "homepage": "https://symfony.com", "support": { - "source": "https://github.com/symfony/filesystem/tree/v7.0.0" + "source": "https://github.com/symfony/filesystem/tree/v6.4.0" }, "funding": [ { @@ -8447,21 +8447,21 @@ }, { "name": "symfony/string", - "version": "v7.0.0", - "version_normalized": "7.0.0.0", + "version": "v6.4.0", + "version_normalized": "6.4.0.0", "source": { "type": "git", "url": "https://github.com/symfony/string.git", - "reference": "92bd2bfbba476d4a1838e5e12168bef2fd1e6620" + "reference": "b45fcf399ea9c3af543a92edf7172ba21174d809" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/92bd2bfbba476d4a1838e5e12168bef2fd1e6620", - "reference": "92bd2bfbba476d4a1838e5e12168bef2fd1e6620", + "url": "https://api.github.com/repos/symfony/string/zipball/b45fcf399ea9c3af543a92edf7172ba21174d809", + "reference": "b45fcf399ea9c3af543a92edf7172ba21174d809", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", @@ -8471,13 +8471,13 @@ "symfony/translation-contracts": "<2.5" }, "require-dev": { - "symfony/error-handler": "^6.4|^7.0", - "symfony/http-client": "^6.4|^7.0", - "symfony/intl": "^6.4|^7.0", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/intl": "^6.2|^7.0", "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.4|^7.0" + "symfony/var-exporter": "^5.4|^6.0|^7.0" }, - "time": "2023-11-29T08:40:23+00:00", + "time": "2023-11-28T20:41:49+00:00", "type": "library", "installation-source": "dist", "autoload": { @@ -8516,7 +8516,7 @@ "utf8" ], "support": { - "source": "https://github.com/symfony/string/tree/v7.0.0" + "source": "https://github.com/symfony/string/tree/v6.4.0" }, "funding": [ { @@ -8715,35 +8715,37 @@ }, { "name": "symfony/var-dumper", - "version": "v7.0.0", - "version_normalized": "7.0.0.0", + "version": "v6.4.0", + "version_normalized": "6.4.0.0", "source": { "type": "git", "url": "https://github.com/symfony/var-dumper.git", - "reference": "cf0220fc7607476fd0d001ab3ed9e830d1fdda56" + "reference": "c40f7d17e91d8b407582ed51a2bbf83c52c367f6" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/cf0220fc7607476fd0d001ab3ed9e830d1fdda56", - "reference": "cf0220fc7607476fd0d001ab3ed9e830d1fdda56", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c40f7d17e91d8b407582ed51a2bbf83c52c367f6", + "reference": "c40f7d17e91d8b407582ed51a2bbf83c52c367f6", "shasum": "" }, "require": { - "php": ">=8.2", + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", "symfony/polyfill-mbstring": "~1.0" }, "conflict": { - "symfony/console": "<6.4" + "symfony/console": "<5.4" }, "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" + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^6.3|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/uid": "^5.4|^6.0|^7.0", + "twig/twig": "^2.13|^3.0.4" }, - "time": "2023-11-27T12:39:18+00:00", + "time": "2023-11-09T08:28:32+00:00", "bin": [ "Resources/bin/var-dump-server" ], @@ -8781,7 +8783,7 @@ "dump" ], "support": { - "source": "https://github.com/symfony/var-dumper/tree/v7.0.0" + "source": "https://github.com/symfony/var-dumper/tree/v6.4.0" }, "funding": [ { diff --git a/core/vendor/composer/installed.php b/core/vendor/composer/installed.php index fcbefdbd1f..d3b9484c81 100644 --- a/core/vendor/composer/installed.php +++ b/core/vendor/composer/installed.php @@ -1,546 +1,546 @@ array( - 'name' => 'evolutioncms/core', - 'pretty_version' => '1.0.0+no-version-set', - 'version' => '1.0.0.0', - 'reference' => NULL, + 'pretty_version' => 'dev-master', + 'version' => 'dev-master', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), + 'reference' => 'c1240bdc55e0792bf6f45f3933b52115269c8827', + 'name' => 'evolutioncms/core', 'dev' => true, ), 'versions' => array( 'brick/math' => array( 'pretty_version' => '0.11.0', 'version' => '0.11.0.0', - 'reference' => '0ad82ce168c82ba30d1c01ec86116ab52f589478', 'type' => 'library', 'install_path' => __DIR__ . '/../brick/math', 'aliases' => array(), + 'reference' => '0ad82ce168c82ba30d1c01ec86116ab52f589478', 'dev_requirement' => false, ), 'carbonphp/carbon-doctrine-types' => array( 'pretty_version' => '2.0.0', 'version' => '2.0.0.0', - 'reference' => '67a77972b9f398ae7068dabacc39c08aeee170d5', 'type' => 'library', 'install_path' => __DIR__ . '/../carbonphp/carbon-doctrine-types', 'aliases' => array(), + 'reference' => '67a77972b9f398ae7068dabacc39c08aeee170d5', 'dev_requirement' => false, ), 'composer/ca-bundle' => array( 'pretty_version' => '1.3.7', 'version' => '1.3.7.0', - 'reference' => '76e46335014860eec1aa5a724799a00a2e47cc85', 'type' => 'library', 'install_path' => __DIR__ . '/./ca-bundle', 'aliases' => array(), + 'reference' => '76e46335014860eec1aa5a724799a00a2e47cc85', 'dev_requirement' => false, ), 'composer/class-map-generator' => array( 'pretty_version' => '1.1.0', 'version' => '1.1.0.0', - 'reference' => '953cc4ea32e0c31f2185549c7d216d7921f03da9', 'type' => 'library', 'install_path' => __DIR__ . '/./class-map-generator', 'aliases' => array(), + 'reference' => '953cc4ea32e0c31f2185549c7d216d7921f03da9', 'dev_requirement' => false, ), 'composer/composer' => array( 'pretty_version' => '2.6.5', 'version' => '2.6.5.0', - 'reference' => '4b0fe89db9e65b1e64df633a992e70a7a215ab33', 'type' => 'library', 'install_path' => __DIR__ . '/./composer', 'aliases' => array(), + 'reference' => '4b0fe89db9e65b1e64df633a992e70a7a215ab33', 'dev_requirement' => false, ), 'composer/metadata-minifier' => array( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', - 'reference' => 'c549d23829536f0d0e984aaabbf02af91f443207', 'type' => 'library', 'install_path' => __DIR__ . '/./metadata-minifier', 'aliases' => array(), + 'reference' => 'c549d23829536f0d0e984aaabbf02af91f443207', 'dev_requirement' => false, ), 'composer/pcre' => array( 'pretty_version' => '3.1.1', 'version' => '3.1.1.0', - 'reference' => '00104306927c7a0919b4ced2aaa6782c1e61a3c9', 'type' => 'library', 'install_path' => __DIR__ . '/./pcre', 'aliases' => array(), + 'reference' => '00104306927c7a0919b4ced2aaa6782c1e61a3c9', 'dev_requirement' => false, ), 'composer/semver' => array( 'pretty_version' => '3.4.0', 'version' => '3.4.0.0', - 'reference' => '35e8d0af4486141bc745f23a29cc2091eb624a32', 'type' => 'library', 'install_path' => __DIR__ . '/./semver', 'aliases' => array(), + 'reference' => '35e8d0af4486141bc745f23a29cc2091eb624a32', 'dev_requirement' => false, ), 'composer/spdx-licenses' => array( 'pretty_version' => '1.5.8', 'version' => '1.5.8.0', - 'reference' => '560bdcf8deb88ae5d611c80a2de8ea9d0358cc0a', 'type' => 'library', 'install_path' => __DIR__ . '/./spdx-licenses', 'aliases' => array(), + 'reference' => '560bdcf8deb88ae5d611c80a2de8ea9d0358cc0a', 'dev_requirement' => false, ), 'composer/xdebug-handler' => array( 'pretty_version' => '3.0.3', 'version' => '3.0.3.0', - 'reference' => 'ced299686f41dce890debac69273b47ffe98a40c', 'type' => 'library', 'install_path' => __DIR__ . '/./xdebug-handler', 'aliases' => array(), + 'reference' => 'ced299686f41dce890debac69273b47ffe98a40c', 'dev_requirement' => false, ), 'dmitry-suffi/redis-session-handler' => array( 'pretty_version' => '1.0.4', 'version' => '1.0.4.0', - 'reference' => '7057430a726dd8df530e1e3071e32cc6b1b5b170', 'type' => 'project', 'install_path' => __DIR__ . '/../dmitry-suffi/redis-session-handler', 'aliases' => array(), + 'reference' => '7057430a726dd8df530e1e3071e32cc6b1b5b170', 'dev_requirement' => false, ), 'doctrine/cache' => array( 'pretty_version' => '2.2.0', 'version' => '2.2.0.0', - 'reference' => '1ca8f21980e770095a31456042471a57bc4c68fb', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/cache', 'aliases' => array(), + 'reference' => '1ca8f21980e770095a31456042471a57bc4c68fb', 'dev_requirement' => false, ), 'doctrine/dbal' => array( 'pretty_version' => '3.7.2', 'version' => '3.7.2.0', - 'reference' => '0ac3c270590e54910715e9a1a044cc368df282b2', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/dbal', 'aliases' => array(), + 'reference' => '0ac3c270590e54910715e9a1a044cc368df282b2', 'dev_requirement' => false, ), 'doctrine/deprecations' => array( 'pretty_version' => '1.1.2', 'version' => '1.1.2.0', - 'reference' => '4f2d4f2836e7ec4e7a8625e75c6aa916004db931', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/deprecations', 'aliases' => array(), + 'reference' => '4f2d4f2836e7ec4e7a8625e75c6aa916004db931', 'dev_requirement' => false, ), 'doctrine/event-manager' => array( 'pretty_version' => '2.0.0', 'version' => '2.0.0.0', - 'reference' => '750671534e0241a7c50ea5b43f67e23eb5c96f32', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/event-manager', 'aliases' => array(), + 'reference' => '750671534e0241a7c50ea5b43f67e23eb5c96f32', 'dev_requirement' => false, ), 'doctrine/inflector' => array( 'pretty_version' => '2.0.8', 'version' => '2.0.8.0', - 'reference' => 'f9301a5b2fb1216b2b08f02ba04dc45423db6bff', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/inflector', 'aliases' => array(), + 'reference' => 'f9301a5b2fb1216b2b08f02ba04dc45423db6bff', 'dev_requirement' => false, ), 'doctrine/lexer' => array( 'pretty_version' => '3.0.0', 'version' => '3.0.0.0', - 'reference' => '84a527db05647743d50373e0ec53a152f2cde568', 'type' => 'library', 'install_path' => __DIR__ . '/../doctrine/lexer', 'aliases' => array(), + 'reference' => '84a527db05647743d50373e0ec53a152f2cde568', 'dev_requirement' => false, ), 'dragonmantank/cron-expression' => array( 'pretty_version' => 'v3.3.3', 'version' => '3.3.3.0', - 'reference' => 'adfb1f505deb6384dc8b39804c5065dd3c8c8c0a', 'type' => 'library', 'install_path' => __DIR__ . '/../dragonmantank/cron-expression', 'aliases' => array(), + 'reference' => 'adfb1f505deb6384dc8b39804c5065dd3c8c8c0a', 'dev_requirement' => false, ), 'egulias/email-validator' => array( 'pretty_version' => '4.0.2', 'version' => '4.0.2.0', - 'reference' => 'ebaaf5be6c0286928352e054f2d5125608e5405e', 'type' => 'library', 'install_path' => __DIR__ . '/../egulias/email-validator', 'aliases' => array(), + 'reference' => 'ebaaf5be6c0286928352e054f2d5125608e5405e', 'dev_requirement' => false, ), 'evolutioncms-services/document-manager' => array( 'pretty_version' => '1.0.9', 'version' => '1.0.9.0', - 'reference' => '403c065a0be6367baaadd3a5b01cf0f84522c8db', 'type' => 'library', 'install_path' => __DIR__ . '/../evolutioncms-services/document-manager', 'aliases' => array(), + 'reference' => '403c065a0be6367baaadd3a5b01cf0f84522c8db', 'dev_requirement' => false, ), 'evolutioncms-services/user-manager' => array( 'pretty_version' => '1.0.14', 'version' => '1.0.14.0', - 'reference' => 'eb743546dc33874ae02cacf70e07624f9bda99ef', 'type' => 'library', 'install_path' => __DIR__ . '/../evolutioncms-services/user-manager', 'aliases' => array(), + 'reference' => 'eb743546dc33874ae02cacf70e07624f9bda99ef', 'dev_requirement' => false, ), 'evolutioncms/core' => array( - 'pretty_version' => '1.0.0+no-version-set', - 'version' => '1.0.0.0', - 'reference' => NULL, + 'pretty_version' => 'dev-master', + 'version' => 'dev-master', 'type' => 'project', 'install_path' => __DIR__ . '/../../', 'aliases' => array(), + 'reference' => 'c1240bdc55e0792bf6f45f3933b52115269c8827', 'dev_requirement' => false, ), 'evolutioncms/salo2' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => 'c2529f703db16e5078fb1038b07fa169ff09c4c8', 'type' => 'library', 'install_path' => __DIR__ . '/../evolutioncms/salo2', 'aliases' => array( 0 => '1.x-dev', ), + 'reference' => 'c2529f703db16e5078fb1038b07fa169ff09c4c8', 'dev_requirement' => false, ), 'fruitcake/php-cors' => array( 'pretty_version' => 'v1.3.0', 'version' => '1.3.0.0', - 'reference' => '3d158f36e7875e2f040f37bc0573956240a5a38b', 'type' => 'library', 'install_path' => __DIR__ . '/../fruitcake/php-cors', 'aliases' => array(), + 'reference' => '3d158f36e7875e2f040f37bc0573956240a5a38b', 'dev_requirement' => false, ), 'graham-campbell/result-type' => array( 'pretty_version' => 'v1.1.2', 'version' => '1.1.2.0', - 'reference' => 'fbd48bce38f73f8a4ec8583362e732e4095e5862', 'type' => 'library', 'install_path' => __DIR__ . '/../graham-campbell/result-type', 'aliases' => array(), + 'reference' => 'fbd48bce38f73f8a4ec8583362e732e4095e5862', 'dev_requirement' => false, ), 'guzzlehttp/guzzle' => array( 'pretty_version' => '7.8.1', 'version' => '7.8.1.0', - 'reference' => '41042bc7ab002487b876a0683fc8dce04ddce104', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/guzzle', 'aliases' => array(), + 'reference' => '41042bc7ab002487b876a0683fc8dce04ddce104', 'dev_requirement' => false, ), 'guzzlehttp/promises' => array( 'pretty_version' => '2.0.2', 'version' => '2.0.2.0', - 'reference' => 'bbff78d96034045e58e13dedd6ad91b5d1253223', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/promises', 'aliases' => array(), + 'reference' => 'bbff78d96034045e58e13dedd6ad91b5d1253223', 'dev_requirement' => false, ), 'guzzlehttp/psr7' => array( 'pretty_version' => '2.6.2', 'version' => '2.6.2.0', - 'reference' => '45b30f99ac27b5ca93cb4831afe16285f57b8221', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/psr7', 'aliases' => array(), + 'reference' => '45b30f99ac27b5ca93cb4831afe16285f57b8221', 'dev_requirement' => false, ), 'guzzlehttp/uri-template' => array( 'pretty_version' => 'v1.0.3', 'version' => '1.0.3.0', - 'reference' => 'ecea8feef63bd4fef1f037ecb288386999ecc11c', 'type' => 'library', 'install_path' => __DIR__ . '/../guzzlehttp/uri-template', 'aliases' => array(), + 'reference' => 'ecea8feef63bd4fef1f037ecb288386999ecc11c', 'dev_requirement' => false, ), 'illuminate/bus' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => '8fd7ec31c64734ca70f36651b90e8fe4e5b39868', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/bus', 'aliases' => array(), + 'reference' => '8fd7ec31c64734ca70f36651b90e8fe4e5b39868', 'dev_requirement' => false, ), 'illuminate/cache' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => '1867c1d560cd344dfde0bfc8686e1f436395eb94', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/cache', 'aliases' => array(), + 'reference' => '1867c1d560cd344dfde0bfc8686e1f436395eb94', 'dev_requirement' => false, ), 'illuminate/collections' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => '8e4c4f97ea066cd6aec962ef8a6abc09dfd5e754', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/collections', 'aliases' => array(), + 'reference' => '8e4c4f97ea066cd6aec962ef8a6abc09dfd5e754', 'dev_requirement' => false, ), 'illuminate/conditionable' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => 'd0958e4741fc9d6f516a552060fd1b829a85e009', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/conditionable', 'aliases' => array(), + 'reference' => 'd0958e4741fc9d6f516a552060fd1b829a85e009', 'dev_requirement' => false, ), 'illuminate/config' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => 'd5e83ceff5c4d5607b1b81763eb4c436911c35da', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/config', 'aliases' => array(), + 'reference' => 'd5e83ceff5c4d5607b1b81763eb4c436911c35da', 'dev_requirement' => false, ), 'illuminate/console' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => 'd77731d372380f12c1e947a8fb5efc671aac48ef', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/console', 'aliases' => array(), + 'reference' => 'd77731d372380f12c1e947a8fb5efc671aac48ef', 'dev_requirement' => false, ), 'illuminate/container' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => 'ddc26273085fad3c471b2602ad820e0097ff7939', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/container', 'aliases' => array(), + 'reference' => 'ddc26273085fad3c471b2602ad820e0097ff7939', 'dev_requirement' => false, ), 'illuminate/contracts' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => 'f6bf37a272fda164f6c451407c99f820eb1eb95b', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/contracts', 'aliases' => array(), + 'reference' => 'f6bf37a272fda164f6c451407c99f820eb1eb95b', 'dev_requirement' => false, ), 'illuminate/database' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => '3368e28e7ecc5b66fc749104ce75982971823216', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/database', 'aliases' => array(), + 'reference' => '3368e28e7ecc5b66fc749104ce75982971823216', 'dev_requirement' => false, ), 'illuminate/events' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => '8d84d6220a6b3446a0bf3e4138e2eb0e10792bb1', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/events', 'aliases' => array(), + 'reference' => '8d84d6220a6b3446a0bf3e4138e2eb0e10792bb1', 'dev_requirement' => false, ), 'illuminate/filesystem' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => '8a412afd1b56f762aafe2747d5e2b79267f97436', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/filesystem', 'aliases' => array(), + 'reference' => '8a412afd1b56f762aafe2747d5e2b79267f97436', 'dev_requirement' => false, ), 'illuminate/http' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => '556553a9944ee2fb4c9996804204f0c4a5f85041', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/http', 'aliases' => array(), + 'reference' => '556553a9944ee2fb4c9996804204f0c4a5f85041', 'dev_requirement' => false, ), 'illuminate/log' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => '9cff51ef5d0014e4ffe986359add45342adbf0a8', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/log', 'aliases' => array(), + 'reference' => '9cff51ef5d0014e4ffe986359add45342adbf0a8', 'dev_requirement' => false, ), 'illuminate/macroable' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => 'dff667a46ac37b634dcf68909d9d41e94dc97c27', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/macroable', 'aliases' => array(), + 'reference' => 'dff667a46ac37b634dcf68909d9d41e94dc97c27', 'dev_requirement' => false, ), 'illuminate/pagination' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => '2af69e712297cc38377593a72f00d430867e8bdc', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/pagination', 'aliases' => array(), + 'reference' => '2af69e712297cc38377593a72f00d430867e8bdc', 'dev_requirement' => false, ), 'illuminate/pipeline' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => 'f2119ae9a26e420bf0ed9d5e7e7aa4548547e7b1', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/pipeline', 'aliases' => array(), + 'reference' => 'f2119ae9a26e420bf0ed9d5e7e7aa4548547e7b1', 'dev_requirement' => false, ), 'illuminate/redis' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => '69771c1ef8d76a0066d86e41f26598d6650eb79f', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/redis', 'aliases' => array(), + 'reference' => '69771c1ef8d76a0066d86e41f26598d6650eb79f', 'dev_requirement' => false, ), 'illuminate/routing' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => 'e5efd844c573b50bc2365125b94329fbeeb91067', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/routing', 'aliases' => array(), + 'reference' => 'e5efd844c573b50bc2365125b94329fbeeb91067', 'dev_requirement' => false, ), 'illuminate/session' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => '27fe05da9e1e8f5febddbb8bb0df173f2ac9fbb8', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/session', 'aliases' => array(), + 'reference' => '27fe05da9e1e8f5febddbb8bb0df173f2ac9fbb8', 'dev_requirement' => false, ), 'illuminate/support' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => '84fd6e3a041c93bf8dca1349caf994023ee5c9e0', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/support', 'aliases' => array(), + 'reference' => '84fd6e3a041c93bf8dca1349caf994023ee5c9e0', 'dev_requirement' => false, ), 'illuminate/translation' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => '7579bd97c6e0a746d1309b5c27803cb8dfc961fe', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/translation', 'aliases' => array(), + 'reference' => '7579bd97c6e0a746d1309b5c27803cb8dfc961fe', 'dev_requirement' => false, ), 'illuminate/validation' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => '8458748fe2b5fcac81a8b48f3752793f9d734bad', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/validation', 'aliases' => array(), + 'reference' => '8458748fe2b5fcac81a8b48f3752793f9d734bad', 'dev_requirement' => false, ), 'illuminate/view' => array( 'pretty_version' => 'v10.35.0', 'version' => '10.35.0.0', - 'reference' => 'ce59846a4476666da70aeab10e0c8ab7206e3f0f', 'type' => 'library', 'install_path' => __DIR__ . '/../illuminate/view', 'aliases' => array(), + 'reference' => 'ce59846a4476666da70aeab10e0c8ab7206e3f0f', 'dev_requirement' => false, ), 'james-heinrich/phpthumb' => array( 'pretty_version' => 'v1.7.21', 'version' => '1.7.21.0', - 'reference' => '7ee966b38ddd7eb4d8091389aa514604710711c8', 'type' => 'library', 'install_path' => __DIR__ . '/../james-heinrich/phpthumb', 'aliases' => array(), + 'reference' => '7ee966b38ddd7eb4d8091389aa514604710711c8', 'dev_requirement' => false, ), 'justinrainbow/json-schema' => array( 'pretty_version' => 'v5.2.13', 'version' => '5.2.13.0', - 'reference' => 'fbbe7e5d79f618997bc3332a6f49246036c45793', 'type' => 'library', 'install_path' => __DIR__ . '/../justinrainbow/json-schema', 'aliases' => array(), + 'reference' => 'fbbe7e5d79f618997bc3332a6f49246036c45793', 'dev_requirement' => false, ), 'laravel/prompts' => array( 'pretty_version' => 'v0.1.13', 'version' => '0.1.13.0', - 'reference' => 'e1379d8ead15edd6cc4369c22274345982edc95a', 'type' => 'library', 'install_path' => __DIR__ . '/../laravel/prompts', 'aliases' => array(), + 'reference' => 'e1379d8ead15edd6cc4369c22274345982edc95a', 'dev_requirement' => false, ), 'league/flysystem' => array( 'pretty_version' => '3.23.0', 'version' => '3.23.0.0', - 'reference' => 'd4ad81e2b67396e33dc9d7e54ec74ccf73151dcc', 'type' => 'library', 'install_path' => __DIR__ . '/../league/flysystem', 'aliases' => array(), + 'reference' => 'd4ad81e2b67396e33dc9d7e54ec74ccf73151dcc', 'dev_requirement' => false, ), 'league/flysystem-local' => array( 'pretty_version' => '3.23.0', 'version' => '3.23.0.0', - 'reference' => '5cf046ba5f059460e86a997c504dd781a39a109b', 'type' => 'library', 'install_path' => __DIR__ . '/../league/flysystem-local', 'aliases' => array(), + 'reference' => '5cf046ba5f059460e86a997c504dd781a39a109b', 'dev_requirement' => false, ), 'league/mime-type-detection' => array( 'pretty_version' => '1.14.0', 'version' => '1.14.0.0', - 'reference' => 'b6a5854368533df0295c5761a0253656a2e52d9e', 'type' => 'library', 'install_path' => __DIR__ . '/../league/mime-type-detection', 'aliases' => array(), + 'reference' => 'b6a5854368533df0295c5761a0253656a2e52d9e', 'dev_requirement' => false, ), 'monolog/monolog' => array( 'pretty_version' => '3.5.0', 'version' => '3.5.0.0', - 'reference' => 'c915e2634718dbc8a4a15c61b0e62e7a44e14448', 'type' => 'library', 'install_path' => __DIR__ . '/../monolog/monolog', 'aliases' => array(), + 'reference' => 'c915e2634718dbc8a4a15c61b0e62e7a44e14448', 'dev_requirement' => false, ), 'mtdowling/cron-expression' => array( @@ -552,64 +552,64 @@ 'nesbot/carbon' => array( 'pretty_version' => '2.72.0', 'version' => '2.72.0.0', - 'reference' => 'a6885fcbad2ec4360b0e200ee0da7d9b7c90786b', 'type' => 'library', 'install_path' => __DIR__ . '/../nesbot/carbon', 'aliases' => array(), + 'reference' => 'a6885fcbad2ec4360b0e200ee0da7d9b7c90786b', 'dev_requirement' => false, ), 'nunomaduro/termwind' => array( 'pretty_version' => 'v1.15.1', 'version' => '1.15.1.0', - 'reference' => '8ab0b32c8caa4a2e09700ea32925441385e4a5dc', 'type' => 'library', 'install_path' => __DIR__ . '/../nunomaduro/termwind', 'aliases' => array(), + 'reference' => '8ab0b32c8caa4a2e09700ea32925441385e4a5dc', 'dev_requirement' => false, ), 'phpmailer/phpmailer' => array( 'pretty_version' => 'v6.9.1', 'version' => '6.9.1.0', - 'reference' => '039de174cd9c17a8389754d3b877a2ed22743e18', 'type' => 'library', 'install_path' => __DIR__ . '/../phpmailer/phpmailer', 'aliases' => array(), + 'reference' => '039de174cd9c17a8389754d3b877a2ed22743e18', 'dev_requirement' => false, ), 'phpoption/phpoption' => array( 'pretty_version' => '1.9.2', 'version' => '1.9.2.0', - 'reference' => '80735db690fe4fc5c76dfa7f9b770634285fa820', 'type' => 'library', 'install_path' => __DIR__ . '/../phpoption/phpoption', 'aliases' => array(), + 'reference' => '80735db690fe4fc5c76dfa7f9b770634285fa820', 'dev_requirement' => false, ), 'predis/predis' => array( 'pretty_version' => 'v2.2.2', 'version' => '2.2.2.0', - 'reference' => 'b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1', 'type' => 'library', 'install_path' => __DIR__ . '/../predis/predis', 'aliases' => array(), + 'reference' => 'b1d3255ed9ad4d7254f9f9bba386c99f4bb983d1', 'dev_requirement' => false, ), 'psr/cache' => array( 'pretty_version' => '3.0.0', 'version' => '3.0.0.0', - 'reference' => 'aa5030cfa5405eccfdcb1083ce040c2cb8d253bf', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/cache', 'aliases' => array(), + 'reference' => 'aa5030cfa5405eccfdcb1083ce040c2cb8d253bf', 'dev_requirement' => false, ), 'psr/clock' => array( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', - 'reference' => 'e41a24703d4560fd0acb709162f73b8adfc3aa0d', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/clock', 'aliases' => array(), + 'reference' => 'e41a24703d4560fd0acb709162f73b8adfc3aa0d', 'dev_requirement' => false, ), 'psr/clock-implementation' => array( @@ -621,10 +621,10 @@ 'psr/container' => array( 'pretty_version' => '2.0.2', 'version' => '2.0.2.0', - 'reference' => 'c71ecc56dfe541dbd90c5360474fbc405f8d5963', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/container', 'aliases' => array(), + 'reference' => 'c71ecc56dfe541dbd90c5360474fbc405f8d5963', 'dev_requirement' => false, ), 'psr/container-implementation' => array( @@ -636,10 +636,10 @@ 'psr/event-dispatcher' => array( 'pretty_version' => '1.0.0', 'version' => '1.0.0.0', - 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/event-dispatcher', 'aliases' => array(), + 'reference' => 'dbefd12671e8a14ec7f180cab83036ed26714bb0', 'dev_requirement' => false, ), 'psr/event-dispatcher-implementation' => array( @@ -651,10 +651,10 @@ 'psr/http-client' => array( 'pretty_version' => '1.0.3', 'version' => '1.0.3.0', - 'reference' => 'bb5906edc1c324c9a05aa0873d40117941e5fa90', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-client', 'aliases' => array(), + 'reference' => 'bb5906edc1c324c9a05aa0873d40117941e5fa90', 'dev_requirement' => false, ), 'psr/http-client-implementation' => array( @@ -666,10 +666,10 @@ 'psr/http-factory' => array( 'pretty_version' => '1.0.2', 'version' => '1.0.2.0', - 'reference' => 'e616d01114759c4c489f93b099585439f795fe35', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-factory', 'aliases' => array(), + 'reference' => 'e616d01114759c4c489f93b099585439f795fe35', 'dev_requirement' => false, ), 'psr/http-factory-implementation' => array( @@ -681,10 +681,10 @@ 'psr/http-message' => array( 'pretty_version' => '2.0', 'version' => '2.0.0.0', - 'reference' => '402d35bcb92c70c026d1a6a9883f06b2ead23d71', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/http-message', 'aliases' => array(), + 'reference' => '402d35bcb92c70c026d1a6a9883f06b2ead23d71', 'dev_requirement' => false, ), 'psr/http-message-implementation' => array( @@ -696,26 +696,26 @@ 'psr/log' => array( 'pretty_version' => '3.0.0', 'version' => '3.0.0.0', - 'reference' => 'fe5ea303b0887d5caefd3d431c3e61ad47037001', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/log', 'aliases' => array(), + 'reference' => 'fe5ea303b0887d5caefd3d431c3e61ad47037001', 'dev_requirement' => false, ), 'psr/log-implementation' => array( 'dev_requirement' => false, 'provided' => array( - 0 => '1.0|2.0|3.0', - 1 => '3.0.0', + 0 => '3.0.0', + 1 => '1.0|2.0|3.0', ), ), 'psr/simple-cache' => array( 'pretty_version' => '3.0.0', 'version' => '3.0.0.0', - 'reference' => '764e0b3939f5ca87cb904f570ef9be2d78a07865', 'type' => 'library', 'install_path' => __DIR__ . '/../psr/simple-cache', 'aliases' => array(), + 'reference' => '764e0b3939f5ca87cb904f570ef9be2d78a07865', 'dev_requirement' => false, ), 'psr/simple-cache-implementation' => array( @@ -727,163 +727,163 @@ 'ralouphie/getallheaders' => array( 'pretty_version' => '3.0.3', 'version' => '3.0.3.0', - 'reference' => '120b605dfeb996808c31b6477290a714d356e822', 'type' => 'library', 'install_path' => __DIR__ . '/../ralouphie/getallheaders', 'aliases' => array(), + 'reference' => '120b605dfeb996808c31b6477290a714d356e822', 'dev_requirement' => false, ), 'react/promise' => array( 'pretty_version' => 'v3.1.0', 'version' => '3.1.0.0', - 'reference' => 'e563d55d1641de1dea9f5e84f3cccc66d2bfe02c', 'type' => 'library', 'install_path' => __DIR__ . '/../react/promise', 'aliases' => array(), + 'reference' => 'e563d55d1641de1dea9f5e84f3cccc66d2bfe02c', 'dev_requirement' => false, ), 'roave/security-advisories' => array( 'pretty_version' => 'dev-master', 'version' => 'dev-master', - 'reference' => '498a07ca22004364fc54bc909b77de792a10c127', 'type' => 'metapackage', 'install_path' => NULL, 'aliases' => array(), + 'reference' => '498a07ca22004364fc54bc909b77de792a10c127', 'dev_requirement' => true, ), 'rosell-dk/exec-with-fallback' => array( 'pretty_version' => '1.2.0', 'version' => '1.2.0.0', - 'reference' => 'f88a6b29abd0b580566056b7c1eb0434eb5db20d', 'type' => 'library', 'install_path' => __DIR__ . '/../rosell-dk/exec-with-fallback', 'aliases' => array(), + 'reference' => 'f88a6b29abd0b580566056b7c1eb0434eb5db20d', 'dev_requirement' => false, ), 'rosell-dk/file-util' => array( 'pretty_version' => '0.1.1', 'version' => '0.1.1.0', - 'reference' => '2ff895308c37f448b34b031cfbfd8e45f43936fd', 'type' => 'library', 'install_path' => __DIR__ . '/../rosell-dk/file-util', 'aliases' => array(), + 'reference' => '2ff895308c37f448b34b031cfbfd8e45f43936fd', 'dev_requirement' => false, ), 'rosell-dk/image-mime-type-guesser' => array( 'pretty_version' => '1.1.1', 'version' => '1.1.1.0', - 'reference' => '72f7040e95a78937ae2edece452530224fcacea6', 'type' => 'library', 'install_path' => __DIR__ . '/../rosell-dk/image-mime-type-guesser', 'aliases' => array(), + 'reference' => '72f7040e95a78937ae2edece452530224fcacea6', 'dev_requirement' => false, ), 'rosell-dk/image-mime-type-sniffer' => array( 'pretty_version' => '1.1.1', 'version' => '1.1.1.0', - 'reference' => '9ed14cc5d2c14c417660a4dd1946b5f056494691', 'type' => 'library', 'install_path' => __DIR__ . '/../rosell-dk/image-mime-type-sniffer', 'aliases' => array(), + 'reference' => '9ed14cc5d2c14c417660a4dd1946b5f056494691', 'dev_requirement' => false, ), 'rosell-dk/locate-binaries' => array( 'pretty_version' => '1.0', 'version' => '1.0.0.0', - 'reference' => 'bd2f493383ecd55aa519828dd2898e30f3b9cbb0', 'type' => 'library', 'install_path' => __DIR__ . '/../rosell-dk/locate-binaries', 'aliases' => array(), + 'reference' => 'bd2f493383ecd55aa519828dd2898e30f3b9cbb0', 'dev_requirement' => false, ), 'rosell-dk/webp-convert' => array( 'pretty_version' => '2.9.2', 'version' => '2.9.2.0', - 'reference' => '5ccba85ebe3b28ae229459fd0baed25314616ac9', 'type' => 'library', 'install_path' => __DIR__ . '/../rosell-dk/webp-convert', 'aliases' => array(), + 'reference' => '5ccba85ebe3b28ae229459fd0baed25314616ac9', 'dev_requirement' => false, ), 'seld/jsonlint' => array( 'pretty_version' => '1.10.0', 'version' => '1.10.0.0', - 'reference' => '594fd6462aad8ecee0b45ca5045acea4776667f1', 'type' => 'library', 'install_path' => __DIR__ . '/../seld/jsonlint', 'aliases' => array(), + 'reference' => '594fd6462aad8ecee0b45ca5045acea4776667f1', 'dev_requirement' => false, ), 'seld/phar-utils' => array( 'pretty_version' => '1.2.1', 'version' => '1.2.1.0', - 'reference' => 'ea2f4014f163c1be4c601b9b7bd6af81ba8d701c', 'type' => 'library', 'install_path' => __DIR__ . '/../seld/phar-utils', 'aliases' => array(), + 'reference' => 'ea2f4014f163c1be4c601b9b7bd6af81ba8d701c', 'dev_requirement' => false, ), 'seld/signal-handler' => array( 'pretty_version' => '2.0.2', 'version' => '2.0.2.0', - 'reference' => '04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98', 'type' => 'library', 'install_path' => __DIR__ . '/../seld/signal-handler', 'aliases' => array(), + 'reference' => '04a6112e883ad76c0ada8e4a9f7520bbfdb6bb98', 'dev_requirement' => false, ), 'simplepie/simplepie' => array( 'pretty_version' => '1.8.0', 'version' => '1.8.0.0', - 'reference' => '65b095d87bc00898d8fa7737bdbcda93a3fbcc55', 'type' => 'library', 'install_path' => __DIR__ . '/../simplepie/simplepie', 'aliases' => array(), + 'reference' => '65b095d87bc00898d8fa7737bdbcda93a3fbcc55', 'dev_requirement' => false, ), 'symfony/console' => array( 'pretty_version' => 'v6.4.1', 'version' => '6.4.1.0', - 'reference' => 'a550a7c99daeedef3f9d23fb82e3531525ff11fd', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/console', 'aliases' => array(), + 'reference' => 'a550a7c99daeedef3f9d23fb82e3531525ff11fd', 'dev_requirement' => false, ), 'symfony/deprecation-contracts' => array( 'pretty_version' => 'v3.4.0', 'version' => '3.4.0.0', - 'reference' => '7c3aff79d10325257a001fcf92d991f24fc967cf', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/deprecation-contracts', 'aliases' => array(), + 'reference' => '7c3aff79d10325257a001fcf92d991f24fc967cf', 'dev_requirement' => false, ), 'symfony/error-handler' => array( - 'pretty_version' => 'v7.0.0', - 'version' => '7.0.0.0', - 'reference' => '80b1258be1b84c12a345d0ec3881bbf2e5270cc2', + 'pretty_version' => 'v6.4.0', + 'version' => '6.4.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/error-handler', 'aliases' => array(), + 'reference' => 'c873490a1c97b3a0a4838afc36ff36c112d02788', 'dev_requirement' => false, ), 'symfony/event-dispatcher' => array( - 'pretty_version' => 'v7.0.0', - 'version' => '7.0.0.0', - 'reference' => 'c459b40ffe67c49af6fd392aac374c9edf8a027e', + 'pretty_version' => 'v6.4.0', + 'version' => '6.4.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher', 'aliases' => array(), + 'reference' => 'd76d2632cfc2206eecb5ad2b26cd5934082941b6', 'dev_requirement' => false, ), 'symfony/event-dispatcher-contracts' => array( 'pretty_version' => 'v3.4.0', 'version' => '3.4.0.0', - 'reference' => 'a76aed96a42d2b521153fb382d418e30d18b59df', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/event-dispatcher-contracts', 'aliases' => array(), + 'reference' => 'a76aed96a42d2b521153fb382d418e30d18b59df', 'dev_requirement' => false, ), 'symfony/event-dispatcher-implementation' => array( @@ -893,192 +893,192 @@ ), ), 'symfony/filesystem' => array( - 'pretty_version' => 'v7.0.0', - 'version' => '7.0.0.0', - 'reference' => '7da8ea2362a283771478c5f7729cfcb43a76b8b7', + 'pretty_version' => 'v6.4.0', + 'version' => '6.4.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/filesystem', 'aliases' => array(), + 'reference' => '952a8cb588c3bc6ce76f6023000fb932f16a6e59', 'dev_requirement' => false, ), 'symfony/finder' => array( 'pretty_version' => 'v6.4.0', 'version' => '6.4.0.0', - 'reference' => '11d736e97f116ac375a81f96e662911a34cd50ce', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/finder', 'aliases' => array(), + 'reference' => '11d736e97f116ac375a81f96e662911a34cd50ce', 'dev_requirement' => false, ), 'symfony/http-foundation' => array( 'pretty_version' => 'v6.4.0', 'version' => '6.4.0.0', - 'reference' => '44a6d39a9cc11e154547d882d5aac1e014440771', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/http-foundation', 'aliases' => array(), + 'reference' => '44a6d39a9cc11e154547d882d5aac1e014440771', 'dev_requirement' => false, ), 'symfony/http-kernel' => array( 'pretty_version' => 'v6.4.1', 'version' => '6.4.1.0', - 'reference' => '2953274c16a229b3933ef73a6898e18388e12e1b', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/http-kernel', 'aliases' => array(), + 'reference' => '2953274c16a229b3933ef73a6898e18388e12e1b', 'dev_requirement' => false, ), 'symfony/mime' => array( 'pretty_version' => 'v6.4.0', 'version' => '6.4.0.0', - 'reference' => 'ca4f58b2ef4baa8f6cecbeca2573f88cd577d205', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/mime', 'aliases' => array(), + 'reference' => 'ca4f58b2ef4baa8f6cecbeca2573f88cd577d205', 'dev_requirement' => false, ), 'symfony/polyfill-ctype' => array( 'pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', - 'reference' => 'ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-ctype', 'aliases' => array(), + 'reference' => 'ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb', 'dev_requirement' => false, ), 'symfony/polyfill-intl-grapheme' => array( 'pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', - 'reference' => '875e90aeea2777b6f135677f618529449334a612', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-grapheme', 'aliases' => array(), + 'reference' => '875e90aeea2777b6f135677f618529449334a612', 'dev_requirement' => false, ), 'symfony/polyfill-intl-idn' => array( 'pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', - 'reference' => 'ecaafce9f77234a6a449d29e49267ba10499116d', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-idn', 'aliases' => array(), + 'reference' => 'ecaafce9f77234a6a449d29e49267ba10499116d', 'dev_requirement' => false, ), 'symfony/polyfill-intl-normalizer' => array( 'pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', - 'reference' => '8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-intl-normalizer', 'aliases' => array(), + 'reference' => '8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92', 'dev_requirement' => false, ), 'symfony/polyfill-mbstring' => array( 'pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', - 'reference' => '42292d99c55abe617799667f454222c54c60e229', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-mbstring', 'aliases' => array(), + 'reference' => '42292d99c55abe617799667f454222c54c60e229', 'dev_requirement' => false, ), 'symfony/polyfill-php72' => array( 'pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', - 'reference' => '70f4aebd92afca2f865444d30a4d2151c13c3179', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php72', 'aliases' => array(), + 'reference' => '70f4aebd92afca2f865444d30a4d2151c13c3179', 'dev_requirement' => false, ), 'symfony/polyfill-php73' => array( 'pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', - 'reference' => 'fe2f306d1d9d346a7fee353d0d5012e401e984b5', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php73', 'aliases' => array(), + 'reference' => 'fe2f306d1d9d346a7fee353d0d5012e401e984b5', 'dev_requirement' => false, ), 'symfony/polyfill-php80' => array( 'pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', - 'reference' => '6caa57379c4aec19c0a12a38b59b26487dcfe4b5', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php80', 'aliases' => array(), + 'reference' => '6caa57379c4aec19c0a12a38b59b26487dcfe4b5', 'dev_requirement' => false, ), 'symfony/polyfill-php81' => array( 'pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', - 'reference' => '7581cd600fa9fd681b797d00b02f068e2f13263b', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php81', 'aliases' => array(), + 'reference' => '7581cd600fa9fd681b797d00b02f068e2f13263b', 'dev_requirement' => false, ), 'symfony/polyfill-php83' => array( 'pretty_version' => 'v1.28.0', 'version' => '1.28.0.0', - 'reference' => 'b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/polyfill-php83', 'aliases' => array(), + 'reference' => 'b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11', 'dev_requirement' => false, ), 'symfony/process' => array( 'pretty_version' => 'v6.4.0', 'version' => '6.4.0.0', - 'reference' => '191703b1566d97a5425dc969e4350d32b8ef17aa', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/process', 'aliases' => array(), + 'reference' => '191703b1566d97a5425dc969e4350d32b8ef17aa', 'dev_requirement' => false, ), 'symfony/routing' => array( 'pretty_version' => 'v6.4.1', 'version' => '6.4.1.0', - 'reference' => '0c95c164fdba18b12523b75e64199ca3503e6d40', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/routing', 'aliases' => array(), + 'reference' => '0c95c164fdba18b12523b75e64199ca3503e6d40', 'dev_requirement' => false, ), 'symfony/service-contracts' => array( 'pretty_version' => 'v3.4.0', 'version' => '3.4.0.0', - 'reference' => 'b3313c2dbffaf71c8de2934e2ea56ed2291a3838', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/service-contracts', 'aliases' => array(), + 'reference' => 'b3313c2dbffaf71c8de2934e2ea56ed2291a3838', 'dev_requirement' => false, ), 'symfony/string' => array( - 'pretty_version' => 'v7.0.0', - 'version' => '7.0.0.0', - 'reference' => '92bd2bfbba476d4a1838e5e12168bef2fd1e6620', + 'pretty_version' => 'v6.4.0', + 'version' => '6.4.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/string', 'aliases' => array(), + 'reference' => 'b45fcf399ea9c3af543a92edf7172ba21174d809', 'dev_requirement' => false, ), 'symfony/translation' => array( 'pretty_version' => 'v6.4.0', 'version' => '6.4.0.0', - 'reference' => 'b1035dbc2a344b21f8fa8ac451c7ecec4ea45f37', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation', 'aliases' => array(), + 'reference' => 'b1035dbc2a344b21f8fa8ac451c7ecec4ea45f37', 'dev_requirement' => false, ), 'symfony/translation-contracts' => array( 'pretty_version' => 'v3.4.0', 'version' => '3.4.0.0', - 'reference' => 'dee0c6e5b4c07ce851b462530088e64b255ac9c5', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/translation-contracts', 'aliases' => array(), + 'reference' => 'dee0c6e5b4c07ce851b462530088e64b255ac9c5', 'dev_requirement' => false, ), 'symfony/translation-implementation' => array( @@ -1088,57 +1088,57 @@ ), ), 'symfony/var-dumper' => array( - 'pretty_version' => 'v7.0.0', - 'version' => '7.0.0.0', - 'reference' => 'cf0220fc7607476fd0d001ab3ed9e830d1fdda56', + 'pretty_version' => 'v6.4.0', + 'version' => '6.4.0.0', 'type' => 'library', 'install_path' => __DIR__ . '/../symfony/var-dumper', 'aliases' => array(), + 'reference' => 'c40f7d17e91d8b407582ed51a2bbf83c52c367f6', 'dev_requirement' => false, ), 'tracy/tracy' => array( 'pretty_version' => 'v2.10.5', 'version' => '2.10.5.0', - 'reference' => '86bdba4aa0f707d3f125933931d3df6e5c7aad79', 'type' => 'library', 'install_path' => __DIR__ . '/../tracy/tracy', 'aliases' => array(), + 'reference' => '86bdba4aa0f707d3f125933931d3df6e5c7aad79', 'dev_requirement' => false, ), 'vlucas/phpdotenv' => array( 'pretty_version' => 'v5.6.0', 'version' => '5.6.0.0', - 'reference' => '2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4', 'type' => 'library', 'install_path' => __DIR__ . '/../vlucas/phpdotenv', 'aliases' => array(), + 'reference' => '2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4', 'dev_requirement' => false, ), 'voku/portable-ascii' => array( 'pretty_version' => '2.0.1', 'version' => '2.0.1.0', - 'reference' => 'b56450eed252f6801410d810c8e1727224ae0743', 'type' => 'library', 'install_path' => __DIR__ . '/../voku/portable-ascii', 'aliases' => array(), + 'reference' => 'b56450eed252f6801410d810c8e1727224ae0743', 'dev_requirement' => false, ), 'webmozart/assert' => array( 'pretty_version' => '1.11.0', 'version' => '1.11.0.0', - 'reference' => '11cb2199493b2f8a3b53e7f19068fc6aac760991', 'type' => 'library', 'install_path' => __DIR__ . '/../webmozart/assert', 'aliases' => array(), + 'reference' => '11cb2199493b2f8a3b53e7f19068fc6aac760991', 'dev_requirement' => false, ), 'wikimedia/composer-merge-plugin' => array( 'pretty_version' => 'v2.1.0', 'version' => '2.1.0.0', - 'reference' => 'a03d426c8e9fb2c9c569d9deeb31a083292788bc', 'type' => 'composer-plugin', 'install_path' => __DIR__ . '/../wikimedia/composer-merge-plugin', 'aliases' => array(), + 'reference' => 'a03d426c8e9fb2c9c569d9deeb31a083292788bc', 'dev_requirement' => false, ), ), diff --git a/core/vendor/composer/platform_check.php b/core/vendor/composer/platform_check.php index d32d90c6a9..4c3a5d68f1 100644 --- a/core/vendor/composer/platform_check.php +++ b/core/vendor/composer/platform_check.php @@ -4,8 +4,8 @@ $issues = array(); -if (!(PHP_VERSION_ID >= 80200)) { - $issues[] = 'Your Composer dependencies require a PHP version ">= 8.2.0". You are running ' . PHP_VERSION . '.'; +if (!(PHP_VERSION_ID >= 80100)) { + $issues[] = 'Your Composer dependencies require a PHP version ">= 8.1.0". You are running ' . PHP_VERSION . '.'; } if ($issues) { diff --git a/core/vendor/symfony/error-handler/BufferingLogger.php b/core/vendor/symfony/error-handler/BufferingLogger.php index 6790974308..b33e079969 100644 --- a/core/vendor/symfony/error-handler/BufferingLogger.php +++ b/core/vendor/symfony/error-handler/BufferingLogger.php @@ -40,7 +40,10 @@ public function __sleep(): array throw new \BadMethodCallException('Cannot serialize '.__CLASS__); } - public function __wakeup(): void + /** + * @return void + */ + public function __wakeup() { throw new \BadMethodCallException('Cannot unserialize '.__CLASS__); } diff --git a/core/vendor/symfony/error-handler/DebugClassLoader.php b/core/vendor/symfony/error-handler/DebugClassLoader.php index edadb27521..16af2d0632 100644 --- a/core/vendor/symfony/error-handler/DebugClassLoader.php +++ b/core/vendor/symfony/error-handler/DebugClassLoader.php @@ -104,10 +104,6 @@ class DebugClassLoader '__toString' => 'string', '__debugInfo' => 'array', '__serialize' => 'array', - '__set' => 'void', - '__unset' => 'void', - '__unserialize' => 'void', - '__wakeup' => 'void', ]; /** @@ -555,7 +551,9 @@ public function checkAnnotations(\ReflectionClass $refl, string $class): array $forcePatchTypes = $this->patchTypes['force']; if ($canAddReturnType = null !== $forcePatchTypes && !str_contains($method->getFileName(), \DIRECTORY_SEPARATOR.'vendor'.\DIRECTORY_SEPARATOR)) { - $this->patchTypes['force'] = $forcePatchTypes ?: 'docblock'; + if ('void' !== (self::MAGIC_METHODS[$method->name] ?? 'void')) { + $this->patchTypes['force'] = $forcePatchTypes ?: 'docblock'; + } $canAddReturnType = 2 === (int) $forcePatchTypes || false !== stripos($method->getFileName(), \DIRECTORY_SEPARATOR.'Tests'.\DIRECTORY_SEPARATOR) @@ -594,7 +592,7 @@ public function checkAnnotations(\ReflectionClass $refl, string $class): array continue; } - if (isset($doc['return'])) { + if (isset($doc['return']) || 'void' !== (self::MAGIC_METHODS[$method->name] ?? 'void')) { $this->setReturnType($doc['return'] ?? self::MAGIC_METHODS[$method->name], $method->class, $method->name, $method->getFileName(), $parent, $method->getReturnType()); if (isset(self::$returnTypes[$class][$method->name][0]) && $canAddReturnType) { diff --git a/core/vendor/symfony/error-handler/ErrorRenderer/FileLinkFormatter.php b/core/vendor/symfony/error-handler/ErrorRenderer/FileLinkFormatter.php index 28adaf37a7..29fcf835b4 100644 --- a/core/vendor/symfony/error-handler/ErrorRenderer/FileLinkFormatter.php +++ b/core/vendor/symfony/error-handler/ErrorRenderer/FileLinkFormatter.php @@ -48,7 +48,10 @@ public function __construct(string|array $fileLinkFormat = null, RequestStack $r $this->urlFormat = $urlFormat; } - public function format(string $file, int $line): string|false + /** + * @return string|false + */ + public function format(string $file, int $line): string|bool { if ($fmt = $this->getFileLinkFormat()) { for ($i = 1; isset($fmt[$i]); ++$i) { @@ -106,3 +109,7 @@ private function getFileLinkFormat(): array|false return false; } } + +if (!class_exists(\Symfony\Component\HttpKernel\Debug\FileLinkFormatter::class, false)) { + class_alias(FileLinkFormatter::class, \Symfony\Component\HttpKernel\Debug\FileLinkFormatter::class); +} diff --git a/core/vendor/symfony/error-handler/Exception/SilencedErrorContext.php b/core/vendor/symfony/error-handler/Exception/SilencedErrorContext.php index a3190da167..ac19e6391a 100644 --- a/core/vendor/symfony/error-handler/Exception/SilencedErrorContext.php +++ b/core/vendor/symfony/error-handler/Exception/SilencedErrorContext.php @@ -18,7 +18,7 @@ */ class SilencedErrorContext implements \JsonSerializable { - public int $count = 1; + public $count = 1; private int $severity; private string $file; diff --git a/core/vendor/symfony/error-handler/Resources/bin/patch-type-declarations b/core/vendor/symfony/error-handler/Resources/bin/patch-type-declarations index 5be1db42f6..f24c996897 100644 --- a/core/vendor/symfony/error-handler/Resources/bin/patch-type-declarations +++ b/core/vendor/symfony/error-handler/Resources/bin/patch-type-declarations @@ -19,7 +19,7 @@ if (\in_array('-h', $argv) || \in_array('--help', $argv)) { ' Patches type declarations based on "@return" PHPDoc and triggers deprecations for', ' incompatible method declarations.', '', - ' This assists you to make your package compatible with Symfony 7, but it can be used', + ' This assists you to make your package compatible with Symfony 6, but it can be used', ' for any class/package.', '', ' Available configuration via environment variables:', diff --git a/core/vendor/symfony/error-handler/composer.json b/core/vendor/symfony/error-handler/composer.json index 987a68f641..9affd4da5f 100644 --- a/core/vendor/symfony/error-handler/composer.json +++ b/core/vendor/symfony/error-handler/composer.json @@ -16,13 +16,13 @@ } ], "require": { - "php": ">=8.2", + "php": ">=8.1", "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^6.4|^7.0" + "symfony/var-dumper": "^5.4|^6.0|^7.0" }, "require-dev": { "symfony/http-kernel": "^6.4|^7.0", - "symfony/serializer": "^6.4|^7.0", + "symfony/serializer": "^5.4|^6.0|^7.0", "symfony/deprecation-contracts": "^2.5|^3" }, "conflict": { diff --git a/core/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php b/core/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php index 1163e070f6..e25a664d25 100644 --- a/core/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php +++ b/core/vendor/symfony/event-dispatcher/Debug/TraceableEventDispatcher.php @@ -30,8 +30,8 @@ */ class TraceableEventDispatcher implements EventDispatcherInterface, ResetInterface { - protected ?LoggerInterface $logger; - protected Stopwatch $stopwatch; + protected $logger; + protected $stopwatch; /** * @var \SplObjectStorage|null @@ -51,17 +51,26 @@ public function __construct(EventDispatcherInterface $dispatcher, Stopwatch $sto $this->requestStack = $requestStack; } - public function addListener(string $eventName, callable|array $listener, int $priority = 0): void + /** + * @return void + */ + public function addListener(string $eventName, callable|array $listener, int $priority = 0) { $this->dispatcher->addListener($eventName, $listener, $priority); } - public function addSubscriber(EventSubscriberInterface $subscriber): void + /** + * @return void + */ + public function addSubscriber(EventSubscriberInterface $subscriber) { $this->dispatcher->addSubscriber($subscriber); } - public function removeListener(string $eventName, callable|array $listener): void + /** + * @return void + */ + public function removeListener(string $eventName, callable|array $listener) { if (isset($this->wrappedListeners[$eventName])) { foreach ($this->wrappedListeners[$eventName] as $index => $wrappedListener) { @@ -76,7 +85,10 @@ public function removeListener(string $eventName, callable|array $listener): voi $this->dispatcher->removeListener($eventName, $listener); } - public function removeSubscriber(EventSubscriberInterface $subscriber): void + /** + * @return void + */ + public function removeSubscriber(EventSubscriberInterface $subscriber) { $this->dispatcher->removeSubscriber($subscriber); } @@ -214,7 +226,10 @@ public function getOrphanedEvents(Request $request = null): array return array_merge(...array_values($this->orphanedEvents)); } - public function reset(): void + /** + * @return void + */ + public function reset() { $this->callStack = null; $this->orphanedEvents = []; @@ -234,15 +249,19 @@ public function __call(string $method, array $arguments): mixed /** * Called before dispatching the event. + * + * @return void */ - protected function beforeDispatch(string $eventName, object $event): void + protected function beforeDispatch(string $eventName, object $event) { } /** * Called after dispatching the event. + * + * @return void */ - protected function afterDispatch(string $eventName, object $event): void + protected function afterDispatch(string $eventName, object $event) { } diff --git a/core/vendor/symfony/event-dispatcher/Debug/WrappedListener.php b/core/vendor/symfony/event-dispatcher/Debug/WrappedListener.php index f23c963de3..6e0de1dff8 100644 --- a/core/vendor/symfony/event-dispatcher/Debug/WrappedListener.php +++ b/core/vendor/symfony/event-dispatcher/Debug/WrappedListener.php @@ -50,7 +50,7 @@ public function __construct(callable|array $listener, ?string $name, Stopwatch $ $r = new \ReflectionFunction($listener); if (str_contains($r->name, '{closure}')) { $this->pretty = $this->name = 'closure'; - } elseif ($class = $r->getClosureCalledClass()) { + } elseif ($class = \PHP_VERSION_ID >= 80111 ? $r->getClosureCalledClass() : $r->getClosureScopeClass()) { $this->name = $class->name; $this->pretty = $this->name.'::'.$r->name; } else { diff --git a/core/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php b/core/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php index 29a76bbc74..866f4e64ff 100644 --- a/core/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php +++ b/core/vendor/symfony/event-dispatcher/DependencyInjection/RegisterListenersPass.php @@ -48,7 +48,10 @@ public function setNoPreloadEvents(array $noPreloadEvents): static return $this; } - public function process(ContainerBuilder $container): void + /** + * @return void + */ + public function process(ContainerBuilder $container) { if (!$container->hasDefinition('event_dispatcher') && !$container->hasAlias('event_dispatcher')) { return; diff --git a/core/vendor/symfony/event-dispatcher/EventDispatcher.php b/core/vendor/symfony/event-dispatcher/EventDispatcher.php index 65d8626374..327803af67 100644 --- a/core/vendor/symfony/event-dispatcher/EventDispatcher.php +++ b/core/vendor/symfony/event-dispatcher/EventDispatcher.php @@ -123,13 +123,19 @@ public function hasListeners(string $eventName = null): bool return false; } - public function addListener(string $eventName, callable|array $listener, int $priority = 0): void + /** + * @return void + */ + public function addListener(string $eventName, callable|array $listener, int $priority = 0) { $this->listeners[$eventName][$priority][] = $listener; unset($this->sorted[$eventName], $this->optimized[$eventName]); } - public function removeListener(string $eventName, callable|array $listener): void + /** + * @return void + */ + public function removeListener(string $eventName, callable|array $listener) { if (empty($this->listeners[$eventName])) { return; @@ -157,7 +163,10 @@ public function removeListener(string $eventName, callable|array $listener): voi } } - public function addSubscriber(EventSubscriberInterface $subscriber): void + /** + * @return void + */ + public function addSubscriber(EventSubscriberInterface $subscriber) { foreach ($subscriber->getSubscribedEvents() as $eventName => $params) { if (\is_string($params)) { @@ -172,7 +181,10 @@ public function addSubscriber(EventSubscriberInterface $subscriber): void } } - public function removeSubscriber(EventSubscriberInterface $subscriber): void + /** + * @return void + */ + public function removeSubscriber(EventSubscriberInterface $subscriber) { foreach ($subscriber->getSubscribedEvents() as $eventName => $params) { if (\is_array($params) && \is_array($params[0])) { @@ -194,8 +206,10 @@ public function removeSubscriber(EventSubscriberInterface $subscriber): void * @param callable[] $listeners The event listeners * @param string $eventName The name of the event to dispatch * @param object $event The event object to pass to the event handlers/listeners + * + * @return void */ - protected function callListeners(iterable $listeners, string $eventName, object $event): void + protected function callListeners(iterable $listeners, string $eventName, object $event) { $stoppable = $event instanceof StoppableEventInterface; diff --git a/core/vendor/symfony/event-dispatcher/EventDispatcherInterface.php b/core/vendor/symfony/event-dispatcher/EventDispatcherInterface.php index 6d4a5b4d95..3cd94c9388 100644 --- a/core/vendor/symfony/event-dispatcher/EventDispatcherInterface.php +++ b/core/vendor/symfony/event-dispatcher/EventDispatcherInterface.php @@ -27,23 +27,32 @@ interface EventDispatcherInterface extends ContractsEventDispatcherInterface * * @param int $priority The higher this value, the earlier an event * listener will be triggered in the chain (defaults to 0) + * + * @return void */ - public function addListener(string $eventName, callable $listener, int $priority = 0): void; + public function addListener(string $eventName, callable $listener, int $priority = 0); /** * Adds an event subscriber. * * The subscriber is asked for all the events it is * interested in and added as a listener for these events. + * + * @return void */ - public function addSubscriber(EventSubscriberInterface $subscriber): void; + public function addSubscriber(EventSubscriberInterface $subscriber); /** * Removes an event listener from the specified events. + * + * @return void */ - public function removeListener(string $eventName, callable $listener): void; + public function removeListener(string $eventName, callable $listener); - public function removeSubscriber(EventSubscriberInterface $subscriber): void; + /** + * @return void + */ + public function removeSubscriber(EventSubscriberInterface $subscriber); /** * Gets the listeners of a specific event or all listeners sorted by descending priority. diff --git a/core/vendor/symfony/event-dispatcher/GenericEvent.php b/core/vendor/symfony/event-dispatcher/GenericEvent.php index b14faa5fc9..68a2030633 100644 --- a/core/vendor/symfony/event-dispatcher/GenericEvent.php +++ b/core/vendor/symfony/event-dispatcher/GenericEvent.php @@ -25,8 +25,8 @@ */ class GenericEvent extends Event implements \ArrayAccess, \IteratorAggregate { - protected mixed $subject; - protected array $arguments; + protected $subject; + protected $arguments; /** * Encapsulate an event with $subject and $args. diff --git a/core/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php b/core/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php index 1e863ccb4c..d385d3f833 100644 --- a/core/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php +++ b/core/vendor/symfony/event-dispatcher/ImmutableEventDispatcher.php @@ -30,22 +30,34 @@ public function dispatch(object $event, string $eventName = null): object return $this->dispatcher->dispatch($event, $eventName); } - public function addListener(string $eventName, callable|array $listener, int $priority = 0): never + /** + * @return never + */ + public function addListener(string $eventName, callable|array $listener, int $priority = 0) { throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.'); } - public function addSubscriber(EventSubscriberInterface $subscriber): never + /** + * @return never + */ + public function addSubscriber(EventSubscriberInterface $subscriber) { throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.'); } - public function removeListener(string $eventName, callable|array $listener): never + /** + * @return never + */ + public function removeListener(string $eventName, callable|array $listener) { throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.'); } - public function removeSubscriber(EventSubscriberInterface $subscriber): never + /** + * @return never + */ + public function removeSubscriber(EventSubscriberInterface $subscriber) { throw new \BadMethodCallException('Unmodifiable event dispatchers must not be modified.'); } diff --git a/core/vendor/symfony/event-dispatcher/composer.json b/core/vendor/symfony/event-dispatcher/composer.json index 598bbdc548..ff281afd6c 100644 --- a/core/vendor/symfony/event-dispatcher/composer.json +++ b/core/vendor/symfony/event-dispatcher/composer.json @@ -16,21 +16,21 @@ } ], "require": { - "php": ">=8.2", + "php": ">=8.1", "symfony/event-dispatcher-contracts": "^2.5|^3" }, "require-dev": { - "symfony/dependency-injection": "^6.4|^7.0", - "symfony/expression-language": "^6.4|^7.0", - "symfony/config": "^6.4|^7.0", - "symfony/error-handler": "^6.4|^7.0", - "symfony/http-foundation": "^6.4|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", "symfony/service-contracts": "^2.5|^3", - "symfony/stopwatch": "^6.4|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", "psr/log": "^1|^2|^3" }, "conflict": { - "symfony/dependency-injection": "<6.4", + "symfony/dependency-injection": "<5.4", "symfony/service-contracts": "<2.5" }, "provide": { diff --git a/core/vendor/symfony/filesystem/CHANGELOG.md b/core/vendor/symfony/filesystem/CHANGELOG.md index b4bd22eb5e..fcb7170ca5 100644 --- a/core/vendor/symfony/filesystem/CHANGELOG.md +++ b/core/vendor/symfony/filesystem/CHANGELOG.md @@ -1,11 +1,6 @@ CHANGELOG ========= -7.0 ---- - - * Add argument `$lock` to `Filesystem::appendToFile()` - 5.4 --- diff --git a/core/vendor/symfony/filesystem/Filesystem.php b/core/vendor/symfony/filesystem/Filesystem.php index e8ba4958df..78458d5b91 100644 --- a/core/vendor/symfony/filesystem/Filesystem.php +++ b/core/vendor/symfony/filesystem/Filesystem.php @@ -31,10 +31,12 @@ class Filesystem * If the target file is newer, it is overwritten only when the * $overwriteNewerFiles option is set to true. * + * @return void + * * @throws FileNotFoundException When originFile doesn't exist * @throws IOException When copy fails */ - public function copy(string $originFile, string $targetFile, bool $overwriteNewerFiles = false): void + public function copy(string $originFile, string $targetFile, bool $overwriteNewerFiles = false) { $originIsLocal = stream_is_local($originFile) || 0 === stripos($originFile, 'file://'); if ($originIsLocal && !is_file($originFile)) { @@ -82,9 +84,11 @@ public function copy(string $originFile, string $targetFile, bool $overwriteNewe /** * Creates a directory recursively. * + * @return void + * * @throws IOException On any directory creation failure */ - public function mkdir(string|iterable $dirs, int $mode = 0777): void + public function mkdir(string|iterable $dirs, int $mode = 0777) { foreach ($this->toIterable($dirs) as $dir) { if (is_dir($dir)) { @@ -123,9 +127,11 @@ public function exists(string|iterable $files): bool * @param int|null $time The touch time as a Unix timestamp, if not supplied the current system time is used * @param int|null $atime The access time as a Unix timestamp, if not supplied the current system time is used * + * @return void + * * @throws IOException When touch fails */ - public function touch(string|iterable $files, int $time = null, int $atime = null): void + public function touch(string|iterable $files, int $time = null, int $atime = null) { foreach ($this->toIterable($files) as $file) { if (!($time ? self::box('touch', $file, $time, $atime) : self::box('touch', $file))) { @@ -137,9 +143,11 @@ public function touch(string|iterable $files, int $time = null, int $atime = nul /** * Removes files or directories. * + * @return void + * * @throws IOException When removal fails */ - public function remove(string|iterable $files): void + public function remove(string|iterable $files) { if ($files instanceof \Traversable) { $files = iterator_to_array($files, false); @@ -203,9 +211,11 @@ private static function doRemove(array $files, bool $isRecursive): void * @param int $umask The mode mask (octal) * @param bool $recursive Whether change the mod recursively or not * + * @return void + * * @throws IOException When the change fails */ - public function chmod(string|iterable $files, int $mode, int $umask = 0000, bool $recursive = false): void + public function chmod(string|iterable $files, int $mode, int $umask = 0000, bool $recursive = false) { foreach ($this->toIterable($files) as $file) { if (!self::box('chmod', $file, $mode & ~$umask)) { @@ -223,9 +233,11 @@ public function chmod(string|iterable $files, int $mode, int $umask = 0000, bool * @param string|int $user A user name or number * @param bool $recursive Whether change the owner recursively or not * + * @return void + * * @throws IOException When the change fails */ - public function chown(string|iterable $files, string|int $user, bool $recursive = false): void + public function chown(string|iterable $files, string|int $user, bool $recursive = false) { foreach ($this->toIterable($files) as $file) { if ($recursive && is_dir($file) && !is_link($file)) { @@ -249,9 +261,11 @@ public function chown(string|iterable $files, string|int $user, bool $recursive * @param string|int $group A group name or number * @param bool $recursive Whether change the group recursively or not * + * @return void + * * @throws IOException When the change fails */ - public function chgrp(string|iterable $files, string|int $group, bool $recursive = false): void + public function chgrp(string|iterable $files, string|int $group, bool $recursive = false) { foreach ($this->toIterable($files) as $file) { if ($recursive && is_dir($file) && !is_link($file)) { @@ -272,10 +286,12 @@ public function chgrp(string|iterable $files, string|int $group, bool $recursive /** * Renames a file or a directory. * + * @return void + * * @throws IOException When target file or directory already exists * @throws IOException When origin cannot be renamed */ - public function rename(string $origin, string $target, bool $overwrite = false): void + public function rename(string $origin, string $target, bool $overwrite = false) { // we check that target does not exist if (!$overwrite && $this->isReadable($target)) { @@ -313,9 +329,11 @@ private function isReadable(string $filename): bool /** * Creates a symbolic link or copy a directory. * + * @return void + * * @throws IOException When symlink fails */ - public function symlink(string $originDir, string $targetDir, bool $copyOnWindows = false): void + public function symlink(string $originDir, string $targetDir, bool $copyOnWindows = false) { self::assertFunctionExists('symlink'); @@ -349,10 +367,12 @@ public function symlink(string $originDir, string $targetDir, bool $copyOnWindow * * @param string|string[] $targetFiles The target file(s) * + * @return void + * * @throws FileNotFoundException When original file is missing or not a file * @throws IOException When link fails, including if link already exists */ - public function hardlink(string $originFile, string|iterable $targetFiles): void + public function hardlink(string $originFile, string|iterable $targetFiles) { self::assertFunctionExists('link'); @@ -506,9 +526,11 @@ public function makePathRelative(string $endPath, string $startPath): string * - $options['copy_on_windows'] Whether to copy files instead of links on Windows (see symlink(), defaults to false) * - $options['delete'] Whether to delete files that are not in the source directory (defaults to false) * + * @return void + * * @throws IOException When file type is unknown */ - public function mirror(string $originDir, string $targetDir, \Traversable $iterator = null, array $options = []): void + public function mirror(string $originDir, string $targetDir, \Traversable $iterator = null, array $options = []) { $targetDir = rtrim($targetDir, '/\\'); $originDir = rtrim($originDir, '/\\'); @@ -630,9 +652,11 @@ public function tempnam(string $dir, string $prefix, string $suffix = ''): strin * * @param string|resource $content The data to write into the file * + * @return void + * * @throws IOException if the file cannot be written to */ - public function dumpFile(string $filename, $content): void + public function dumpFile(string $filename, $content) { if (\is_array($content)) { throw new \TypeError(sprintf('Argument 2 passed to "%s()" must be string or resource, array given.', __METHOD__)); @@ -675,9 +699,11 @@ public function dumpFile(string $filename, $content): void * @param string|resource $content The content to append * @param bool $lock Whether the file should be locked when writing to it * + * @return void + * * @throws IOException If the file is not writable */ - public function appendToFile(string $filename, $content, bool $lock = false): void + public function appendToFile(string $filename, $content/* , bool $lock = false */) { if (\is_array($content)) { throw new \TypeError(sprintf('Argument 2 passed to "%s()" must be string or resource, array given.', __METHOD__)); @@ -689,6 +715,8 @@ public function appendToFile(string $filename, $content, bool $lock = false): vo $this->mkdir($dir); } + $lock = \func_num_args() > 2 && func_get_arg(2); + if (false === self::box('file_put_contents', $filename, $content, \FILE_APPEND | ($lock ? \LOCK_EX : 0))) { throw new IOException(sprintf('Failed to write file "%s": ', $filename).self::$lastError, 0, null, $filename); } diff --git a/core/vendor/symfony/filesystem/composer.json b/core/vendor/symfony/filesystem/composer.json index 1e054b682a..10a7a531c0 100644 --- a/core/vendor/symfony/filesystem/composer.json +++ b/core/vendor/symfony/filesystem/composer.json @@ -16,7 +16,7 @@ } ], "require": { - "php": ">=8.2", + "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-mbstring": "~1.8" }, diff --git a/core/vendor/symfony/string/AbstractString.php b/core/vendor/symfony/string/AbstractString.php index 10231a2174..2190a29b13 100644 --- a/core/vendor/symfony/string/AbstractString.php +++ b/core/vendor/symfony/string/AbstractString.php @@ -39,8 +39,8 @@ abstract class AbstractString implements \Stringable, \JsonSerializable public const PREG_SPLIT_DELIM_CAPTURE = \PREG_SPLIT_DELIM_CAPTURE; public const PREG_SPLIT_OFFSET_CAPTURE = \PREG_SPLIT_OFFSET_CAPTURE; - protected string $string = ''; - protected ?bool $ignoreCase = false; + protected $string = ''; + protected $ignoreCase = false; abstract public function __construct(string $string = ''); diff --git a/core/vendor/symfony/string/LazyString.php b/core/vendor/symfony/string/LazyString.php index 0341beaf4f..3128ebb361 100644 --- a/core/vendor/symfony/string/LazyString.php +++ b/core/vendor/symfony/string/LazyString.php @@ -129,7 +129,7 @@ private static function getPrettyName(callable $callback): string } elseif ($callback instanceof \Closure) { $r = new \ReflectionFunction($callback); - if (str_contains($r->name, '{closure}') || !$class = $r->getClosureCalledClass()) { + if (str_contains($r->name, '{closure}') || !$class = \PHP_VERSION_ID >= 80111 ? $r->getClosureCalledClass() : $r->getClosureScopeClass()) { return $r->name; } diff --git a/core/vendor/symfony/string/Slugger/AsciiSlugger.php b/core/vendor/symfony/string/Slugger/AsciiSlugger.php index 9f7eba94b5..6e550c61cf 100644 --- a/core/vendor/symfony/string/Slugger/AsciiSlugger.php +++ b/core/vendor/symfony/string/Slugger/AsciiSlugger.php @@ -74,7 +74,10 @@ public function __construct(string $defaultLocale = null, array|\Closure $symbol $this->symbolsMap = $symbolsMap ?? $this->symbolsMap; } - public function setLocale(string $locale): void + /** + * @return void + */ + public function setLocale(string $locale) { $this->defaultLocale = $locale; } diff --git a/core/vendor/symfony/string/UnicodeString.php b/core/vendor/symfony/string/UnicodeString.php index bc09627cf5..b33e37b715 100644 --- a/core/vendor/symfony/string/UnicodeString.php +++ b/core/vendor/symfony/string/UnicodeString.php @@ -362,7 +362,10 @@ public function startsWith(string|iterable|AbstractString $prefix): bool return $prefix === grapheme_extract($this->string, \strlen($prefix), \GRAPHEME_EXTR_MAXBYTES); } - public function __wakeup(): void + /** + * @return void + */ + public function __wakeup() { if (!\is_string($this->string)) { throw new \BadMethodCallException('Cannot unserialize '.__CLASS__); diff --git a/core/vendor/symfony/string/composer.json b/core/vendor/symfony/string/composer.json index 26ce26da3f..56c1368828 100644 --- a/core/vendor/symfony/string/composer.json +++ b/core/vendor/symfony/string/composer.json @@ -16,18 +16,18 @@ } ], "require": { - "php": ">=8.2", + "php": ">=8.1", "symfony/polyfill-ctype": "~1.8", "symfony/polyfill-intl-grapheme": "~1.0", "symfony/polyfill-intl-normalizer": "~1.0", "symfony/polyfill-mbstring": "~1.0" }, "require-dev": { - "symfony/error-handler": "^6.4|^7.0", - "symfony/intl": "^6.4|^7.0", - "symfony/http-client": "^6.4|^7.0", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/intl": "^6.2|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", "symfony/translation-contracts": "^2.5|^3.0", - "symfony/var-exporter": "^6.4|^7.0" + "symfony/var-exporter": "^5.4|^6.0|^7.0" }, "conflict": { "symfony/translation-contracts": "<2.5" diff --git a/core/vendor/symfony/var-dumper/CHANGELOG.md b/core/vendor/symfony/var-dumper/CHANGELOG.md index f7021f59a4..7481cff1a4 100644 --- a/core/vendor/symfony/var-dumper/CHANGELOG.md +++ b/core/vendor/symfony/var-dumper/CHANGELOG.md @@ -1,13 +1,6 @@ CHANGELOG ========= -7.0 ---- - - * Add argument `$label` to `VarDumper::dump()` - * Require explicit argument when calling `VarDumper::setHandler()` - * Remove display of backtrace in `Twig_Template`, only `Twig\Template` is supported - 6.4 --- diff --git a/core/vendor/symfony/var-dumper/Caster/AmqpCaster.php b/core/vendor/symfony/var-dumper/Caster/AmqpCaster.php index 68b1a65ff3..22026f46a7 100644 --- a/core/vendor/symfony/var-dumper/Caster/AmqpCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/AmqpCaster.php @@ -46,7 +46,10 @@ class AmqpCaster \AMQP_EX_TYPE_HEADERS => 'AMQP_EX_TYPE_HEADERS', ]; - public static function castConnection(\AMQPConnection $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castConnection(\AMQPConnection $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -79,7 +82,10 @@ public static function castConnection(\AMQPConnection $c, array $a, Stub $stub, return $a; } - public static function castChannel(\AMQPChannel $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castChannel(\AMQPChannel $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -102,7 +108,10 @@ public static function castChannel(\AMQPChannel $c, array $a, Stub $stub, bool $ return $a; } - public static function castQueue(\AMQPQueue $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castQueue(\AMQPQueue $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -125,7 +134,10 @@ public static function castQueue(\AMQPQueue $c, array $a, Stub $stub, bool $isNe return $a; } - public static function castExchange(\AMQPExchange $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castExchange(\AMQPExchange $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -153,7 +165,10 @@ public static function castExchange(\AMQPExchange $c, array $a, Stub $stub, bool return $a; } - public static function castEnvelope(\AMQPEnvelope $c, array $a, Stub $stub, bool $isNested, int $filter = 0): array + /** + * @return array + */ + public static function castEnvelope(\AMQPEnvelope $c, array $a, Stub $stub, bool $isNested, int $filter = 0) { $prefix = Caster::PREFIX_VIRTUAL; diff --git a/core/vendor/symfony/var-dumper/Caster/ClassStub.php b/core/vendor/symfony/var-dumper/Caster/ClassStub.php index 28d9ba7df1..86b44dd2ab 100644 --- a/core/vendor/symfony/var-dumper/Caster/ClassStub.php +++ b/core/vendor/symfony/var-dumper/Caster/ClassStub.php @@ -85,7 +85,10 @@ public function __construct(string $identifier, callable|array|string $callable } } - public static function wrapCallable(mixed $callable): mixed + /** + * @return mixed + */ + public static function wrapCallable(mixed $callable) { if (\is_object($callable) || !\is_callable($callable)) { return $callable; diff --git a/core/vendor/symfony/var-dumper/Caster/CutArrayStub.php b/core/vendor/symfony/var-dumper/Caster/CutArrayStub.php index 5912e13d80..0e4fb363d2 100644 --- a/core/vendor/symfony/var-dumper/Caster/CutArrayStub.php +++ b/core/vendor/symfony/var-dumper/Caster/CutArrayStub.php @@ -18,7 +18,7 @@ */ class CutArrayStub extends CutStub { - public array $preservedSubset; + public $preservedSubset; public function __construct(array $value, array $preservedKeys) { diff --git a/core/vendor/symfony/var-dumper/Caster/DOMCaster.php b/core/vendor/symfony/var-dumper/Caster/DOMCaster.php index ca1ffcea6a..d2d3fc1294 100644 --- a/core/vendor/symfony/var-dumper/Caster/DOMCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/DOMCaster.php @@ -63,7 +63,10 @@ class DOMCaster \XML_NAMESPACE_DECL_NODE => 'XML_NAMESPACE_DECL_NODE', ]; - public static function castException(\DOMException $e, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castException(\DOMException $e, array $a, Stub $stub, bool $isNested) { $k = Caster::PREFIX_PROTECTED.'code'; if (isset($a[$k], self::ERROR_CODES[$a[$k]])) { @@ -73,7 +76,10 @@ public static function castException(\DOMException $e, array $a, Stub $stub, boo return $a; } - public static function castLength($dom, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castLength($dom, array $a, Stub $stub, bool $isNested) { $a += [ 'length' => $dom->length, @@ -82,7 +88,10 @@ public static function castLength($dom, array $a, Stub $stub, bool $isNested): a return $a; } - public static function castImplementation(\DOMImplementation $dom, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castImplementation(\DOMImplementation $dom, array $a, Stub $stub, bool $isNested) { $a += [ Caster::PREFIX_VIRTUAL.'Core' => '1.0', @@ -92,7 +101,10 @@ public static function castImplementation(\DOMImplementation $dom, array $a, Stu return $a; } - public static function castNode(\DOMNode $dom, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castNode(\DOMNode $dom, array $a, Stub $stub, bool $isNested) { $a += [ 'nodeName' => $dom->nodeName, @@ -116,7 +128,10 @@ public static function castNode(\DOMNode $dom, array $a, Stub $stub, bool $isNes return $a; } - public static function castNameSpaceNode(\DOMNameSpaceNode $dom, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castNameSpaceNode(\DOMNameSpaceNode $dom, array $a, Stub $stub, bool $isNested) { $a += [ 'nodeName' => $dom->nodeName, @@ -132,7 +147,10 @@ public static function castNameSpaceNode(\DOMNameSpaceNode $dom, array $a, Stub return $a; } - public static function castDocument(\DOMDocument $dom, array $a, Stub $stub, bool $isNested, int $filter = 0): array + /** + * @return array + */ + public static function castDocument(\DOMDocument $dom, array $a, Stub $stub, bool $isNested, int $filter = 0) { $a += [ 'doctype' => $dom->doctype, @@ -166,7 +184,10 @@ public static function castDocument(\DOMDocument $dom, array $a, Stub $stub, boo return $a; } - public static function castCharacterData(\DOMCharacterData $dom, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castCharacterData(\DOMCharacterData $dom, array $a, Stub $stub, bool $isNested) { $a += [ 'data' => $dom->data, @@ -176,7 +197,10 @@ public static function castCharacterData(\DOMCharacterData $dom, array $a, Stub return $a; } - public static function castAttr(\DOMAttr $dom, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castAttr(\DOMAttr $dom, array $a, Stub $stub, bool $isNested) { $a += [ 'name' => $dom->name, @@ -189,7 +213,10 @@ public static function castAttr(\DOMAttr $dom, array $a, Stub $stub, bool $isNes return $a; } - public static function castElement(\DOMElement $dom, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castElement(\DOMElement $dom, array $a, Stub $stub, bool $isNested) { $a += [ 'tagName' => $dom->tagName, @@ -199,7 +226,10 @@ public static function castElement(\DOMElement $dom, array $a, Stub $stub, bool return $a; } - public static function castText(\DOMText $dom, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castText(\DOMText $dom, array $a, Stub $stub, bool $isNested) { $a += [ 'wholeText' => $dom->wholeText, @@ -208,7 +238,10 @@ public static function castText(\DOMText $dom, array $a, Stub $stub, bool $isNes return $a; } - public static function castDocumentType(\DOMDocumentType $dom, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castDocumentType(\DOMDocumentType $dom, array $a, Stub $stub, bool $isNested) { $a += [ 'name' => $dom->name, @@ -222,7 +255,10 @@ public static function castDocumentType(\DOMDocumentType $dom, array $a, Stub $s return $a; } - public static function castNotation(\DOMNotation $dom, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castNotation(\DOMNotation $dom, array $a, Stub $stub, bool $isNested) { $a += [ 'publicId' => $dom->publicId, @@ -232,7 +268,10 @@ public static function castNotation(\DOMNotation $dom, array $a, Stub $stub, boo return $a; } - public static function castEntity(\DOMEntity $dom, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castEntity(\DOMEntity $dom, array $a, Stub $stub, bool $isNested) { $a += [ 'publicId' => $dom->publicId, @@ -246,7 +285,10 @@ public static function castEntity(\DOMEntity $dom, array $a, Stub $stub, bool $i return $a; } - public static function castProcessingInstruction(\DOMProcessingInstruction $dom, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castProcessingInstruction(\DOMProcessingInstruction $dom, array $a, Stub $stub, bool $isNested) { $a += [ 'target' => $dom->target, @@ -256,7 +298,10 @@ public static function castProcessingInstruction(\DOMProcessingInstruction $dom, return $a; } - public static function castXPath(\DOMXPath $dom, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castXPath(\DOMXPath $dom, array $a, Stub $stub, bool $isNested) { $a += [ 'document' => $dom->document, diff --git a/core/vendor/symfony/var-dumper/Caster/DateCaster.php b/core/vendor/symfony/var-dumper/Caster/DateCaster.php index cc8593940f..a0cbddb76f 100644 --- a/core/vendor/symfony/var-dumper/Caster/DateCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/DateCaster.php @@ -24,7 +24,10 @@ class DateCaster { private const PERIOD_LIMIT = 3; - public static function castDateTime(\DateTimeInterface $d, array $a, Stub $stub, bool $isNested, int $filter): array + /** + * @return array + */ + public static function castDateTime(\DateTimeInterface $d, array $a, Stub $stub, bool $isNested, int $filter) { $prefix = Caster::PREFIX_VIRTUAL; $location = $d->getTimezone() ? $d->getTimezone()->getLocation() : null; @@ -47,7 +50,10 @@ public static function castDateTime(\DateTimeInterface $d, array $a, Stub $stub, return $a; } - public static function castInterval(\DateInterval $interval, array $a, Stub $stub, bool $isNested, int $filter): array + /** + * @return array + */ + public static function castInterval(\DateInterval $interval, array $a, Stub $stub, bool $isNested, int $filter) { $now = new \DateTimeImmutable('@0', new \DateTimeZone('UTC')); $numberOfSeconds = $now->add($interval)->getTimestamp() - $now->getTimestamp(); @@ -76,7 +82,10 @@ private static function formatInterval(\DateInterval $i): string return $i->format(rtrim($format)); } - public static function castTimeZone(\DateTimeZone $timeZone, array $a, Stub $stub, bool $isNested, int $filter): array + /** + * @return array + */ + public static function castTimeZone(\DateTimeZone $timeZone, array $a, Stub $stub, bool $isNested, int $filter) { $location = $timeZone->getLocation(); $formatted = (new \DateTimeImmutable('now', $timeZone))->format($location ? 'e (P)' : 'P'); @@ -87,7 +96,10 @@ public static function castTimeZone(\DateTimeZone $timeZone, array $a, Stub $stu return $filter & Caster::EXCLUDE_VERBOSE ? $z : $z + $a; } - public static function castPeriod(\DatePeriod $p, array $a, Stub $stub, bool $isNested, int $filter): array + /** + * @return array + */ + public static function castPeriod(\DatePeriod $p, array $a, Stub $stub, bool $isNested, int $filter) { $dates = []; foreach (clone $p as $i => $d) { @@ -107,7 +119,7 @@ public static function castPeriod(\DatePeriod $p, array $a, Stub $stub, bool $is self::formatInterval($p->getDateInterval()), $p->include_start_date ? '[' : ']', self::formatDateTime($p->getStartDate()), - ($end = $p->getEndDate()) ? 'to '.self::formatDateTime($end).($p->include_end_date ? ']' : '[') : 'recurring '.$p->recurrences.' time/s' + ($end = $p->getEndDate()) ? 'to '.self::formatDateTime($end).(\PHP_VERSION_ID >= 80200 && $p->include_end_date ? ']' : '[') : 'recurring '.$p->recurrences.' time/s' ); $p = [Caster::PREFIX_VIRTUAL.'period' => new ConstStub($period, implode("\n", $dates))]; diff --git a/core/vendor/symfony/var-dumper/Caster/DoctrineCaster.php b/core/vendor/symfony/var-dumper/Caster/DoctrineCaster.php index 74c06a416c..3120c3d919 100644 --- a/core/vendor/symfony/var-dumper/Caster/DoctrineCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/DoctrineCaster.php @@ -25,7 +25,10 @@ */ class DoctrineCaster { - public static function castCommonProxy(CommonProxy $proxy, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castCommonProxy(CommonProxy $proxy, array $a, Stub $stub, bool $isNested) { foreach (['__cloner__', '__initializer__'] as $k) { if (\array_key_exists($k, $a)) { @@ -37,7 +40,10 @@ public static function castCommonProxy(CommonProxy $proxy, array $a, Stub $stub, return $a; } - public static function castOrmProxy(OrmProxy $proxy, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castOrmProxy(OrmProxy $proxy, array $a, Stub $stub, bool $isNested) { foreach (['_entityPersister', '_identifier'] as $k) { if (\array_key_exists($k = "\0Doctrine\\ORM\\Proxy\\Proxy\0".$k, $a)) { @@ -49,7 +55,10 @@ public static function castOrmProxy(OrmProxy $proxy, array $a, Stub $stub, bool return $a; } - public static function castPersistentCollection(PersistentCollection $coll, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castPersistentCollection(PersistentCollection $coll, array $a, Stub $stub, bool $isNested) { foreach (['snapshot', 'association', 'typeClass'] as $k) { if (\array_key_exists($k = "\0Doctrine\\ORM\\PersistentCollection\0".$k, $a)) { diff --git a/core/vendor/symfony/var-dumper/Caster/EnumStub.php b/core/vendor/symfony/var-dumper/Caster/EnumStub.php index 02ed1745ea..7a4e98a21b 100644 --- a/core/vendor/symfony/var-dumper/Caster/EnumStub.php +++ b/core/vendor/symfony/var-dumper/Caster/EnumStub.php @@ -20,7 +20,7 @@ */ class EnumStub extends Stub { - public bool $dumpKeys = true; + public $dumpKeys = true; public function __construct(array $values, bool $dumpKeys = true) { diff --git a/core/vendor/symfony/var-dumper/Caster/ExceptionCaster.php b/core/vendor/symfony/var-dumper/Caster/ExceptionCaster.php index ec2afb4312..02efb1b023 100644 --- a/core/vendor/symfony/var-dumper/Caster/ExceptionCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/ExceptionCaster.php @@ -47,17 +47,26 @@ class ExceptionCaster private static array $framesCache = []; - public static function castError(\Error $e, array $a, Stub $stub, bool $isNested, int $filter = 0): array + /** + * @return array + */ + public static function castError(\Error $e, array $a, Stub $stub, bool $isNested, int $filter = 0) { return self::filterExceptionArray($stub->class, $a, "\0Error\0", $filter); } - public static function castException(\Exception $e, array $a, Stub $stub, bool $isNested, int $filter = 0): array + /** + * @return array + */ + public static function castException(\Exception $e, array $a, Stub $stub, bool $isNested, int $filter = 0) { return self::filterExceptionArray($stub->class, $a, "\0Exception\0", $filter); } - public static function castErrorException(\ErrorException $e, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castErrorException(\ErrorException $e, array $a, Stub $stub, bool $isNested) { if (isset($a[$s = Caster::PREFIX_PROTECTED.'severity'], self::$errorTypes[$a[$s]])) { $a[$s] = new ConstStub(self::$errorTypes[$a[$s]], $a[$s]); @@ -66,7 +75,10 @@ public static function castErrorException(\ErrorException $e, array $a, Stub $st return $a; } - public static function castThrowingCasterException(ThrowingCasterException $e, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castThrowingCasterException(ThrowingCasterException $e, array $a, Stub $stub, bool $isNested) { $trace = Caster::PREFIX_VIRTUAL.'trace'; $prefix = Caster::PREFIX_PROTECTED; @@ -84,7 +96,10 @@ public static function castThrowingCasterException(ThrowingCasterException $e, a return $a; } - public static function castSilencedErrorContext(SilencedErrorContext $e, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castSilencedErrorContext(SilencedErrorContext $e, array $a, Stub $stub, bool $isNested) { $sPrefix = "\0".SilencedErrorContext::class."\0"; @@ -111,7 +126,10 @@ public static function castSilencedErrorContext(SilencedErrorContext $e, array $ return $a; } - public static function castTraceStub(TraceStub $trace, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castTraceStub(TraceStub $trace, array $a, Stub $stub, bool $isNested) { if (!$isNested) { return $a; @@ -185,7 +203,10 @@ public static function castTraceStub(TraceStub $trace, array $a, Stub $stub, boo return $a; } - public static function castFrameStub(FrameStub $frame, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castFrameStub(FrameStub $frame, array $a, Stub $stub, bool $isNested) { if (!$isNested) { return $a; @@ -214,7 +235,7 @@ public static function castFrameStub(FrameStub $frame, array $a, Stub $stub, boo $ellipsis = $ellipsis->attr['ellipsis'] ?? 0; if (is_file($f['file']) && 0 <= self::$srcContext) { - if (!empty($f['class']) && is_subclass_of($f['class'], 'Twig\Template')) { + if (!empty($f['class']) && (is_subclass_of($f['class'], 'Twig\Template') || is_subclass_of($f['class'], 'Twig_Template')) && method_exists($f['class'], 'getDebugInfo')) { $template = null; if (isset($f['object'])) { $template = $f['object']; @@ -268,7 +289,10 @@ public static function castFrameStub(FrameStub $frame, array $a, Stub $stub, boo return $a; } - public static function castFlattenException(FlattenException $e, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castFlattenException(FlattenException $e, array $a, Stub $stub, bool $isNested) { if ($isNested) { $k = sprintf(Caster::PATTERN_PRIVATE, FlattenException::class, 'traceAsString'); diff --git a/core/vendor/symfony/var-dumper/Caster/FiberCaster.php b/core/vendor/symfony/var-dumper/Caster/FiberCaster.php index c9df7087a7..b797dbd634 100644 --- a/core/vendor/symfony/var-dumper/Caster/FiberCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/FiberCaster.php @@ -20,7 +20,10 @@ */ final class FiberCaster { - public static function castFiber(\Fiber $fiber, array $a, Stub $stub, bool $isNested, int $filter = 0): array + /** + * @return array + */ + public static function castFiber(\Fiber $fiber, array $a, Stub $stub, bool $isNested, int $filter = 0) { $prefix = Caster::PREFIX_VIRTUAL; diff --git a/core/vendor/symfony/var-dumper/Caster/FrameStub.php b/core/vendor/symfony/var-dumper/Caster/FrameStub.php index 9968c1101b..878675528f 100644 --- a/core/vendor/symfony/var-dumper/Caster/FrameStub.php +++ b/core/vendor/symfony/var-dumper/Caster/FrameStub.php @@ -18,8 +18,8 @@ */ class FrameStub extends EnumStub { - public bool $keepArgs; - public bool $inTraceStub; + public $keepArgs; + public $inTraceStub; public function __construct(array $frame, bool $keepArgs = true, bool $inTraceStub = false) { diff --git a/core/vendor/symfony/var-dumper/Caster/IntlCaster.php b/core/vendor/symfony/var-dumper/Caster/IntlCaster.php index f386c72151..a4590f4b5a 100644 --- a/core/vendor/symfony/var-dumper/Caster/IntlCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/IntlCaster.php @@ -21,7 +21,10 @@ */ class IntlCaster { - public static function castMessageFormatter(\MessageFormatter $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castMessageFormatter(\MessageFormatter $c, array $a, Stub $stub, bool $isNested) { $a += [ Caster::PREFIX_VIRTUAL.'locale' => $c->getLocale(), @@ -31,7 +34,10 @@ public static function castMessageFormatter(\MessageFormatter $c, array $a, Stub return self::castError($c, $a); } - public static function castNumberFormatter(\NumberFormatter $c, array $a, Stub $stub, bool $isNested, int $filter = 0): array + /** + * @return array + */ + public static function castNumberFormatter(\NumberFormatter $c, array $a, Stub $stub, bool $isNested, int $filter = 0) { $a += [ Caster::PREFIX_VIRTUAL.'locale' => $c->getLocale(), @@ -108,7 +114,10 @@ public static function castNumberFormatter(\NumberFormatter $c, array $a, Stub $ return self::castError($c, $a); } - public static function castIntlTimeZone(\IntlTimeZone $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castIntlTimeZone(\IntlTimeZone $c, array $a, Stub $stub, bool $isNested) { $a += [ Caster::PREFIX_VIRTUAL.'display_name' => $c->getDisplayName(), @@ -125,7 +134,10 @@ public static function castIntlTimeZone(\IntlTimeZone $c, array $a, Stub $stub, return self::castError($c, $a); } - public static function castIntlCalendar(\IntlCalendar $c, array $a, Stub $stub, bool $isNested, int $filter = 0): array + /** + * @return array + */ + public static function castIntlCalendar(\IntlCalendar $c, array $a, Stub $stub, bool $isNested, int $filter = 0) { $a += [ Caster::PREFIX_VIRTUAL.'type' => $c->getType(), @@ -142,7 +154,10 @@ public static function castIntlCalendar(\IntlCalendar $c, array $a, Stub $stub, return self::castError($c, $a); } - public static function castIntlDateFormatter(\IntlDateFormatter $c, array $a, Stub $stub, bool $isNested, int $filter = 0): array + /** + * @return array + */ + public static function castIntlDateFormatter(\IntlDateFormatter $c, array $a, Stub $stub, bool $isNested, int $filter = 0) { $a += [ Caster::PREFIX_VIRTUAL.'locale' => $c->getLocale(), diff --git a/core/vendor/symfony/var-dumper/Caster/LinkStub.php b/core/vendor/symfony/var-dumper/Caster/LinkStub.php index b650385512..df95f8b0ef 100644 --- a/core/vendor/symfony/var-dumper/Caster/LinkStub.php +++ b/core/vendor/symfony/var-dumper/Caster/LinkStub.php @@ -18,7 +18,7 @@ */ class LinkStub extends ConstStub { - public bool $inVendor = false; + public $inVendor = false; private static array $vendorRoots; private static array $composerRoots = []; diff --git a/core/vendor/symfony/var-dumper/Caster/MemcachedCaster.php b/core/vendor/symfony/var-dumper/Caster/MemcachedCaster.php index 740785cea6..2f161e8cb3 100644 --- a/core/vendor/symfony/var-dumper/Caster/MemcachedCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/MemcachedCaster.php @@ -23,7 +23,10 @@ class MemcachedCaster private static array $optionConstants; private static array $defaultOptions; - public static function castMemcached(\Memcached $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castMemcached(\Memcached $c, array $a, Stub $stub, bool $isNested) { $a += [ Caster::PREFIX_VIRTUAL.'servers' => $c->getServerList(), diff --git a/core/vendor/symfony/var-dumper/Caster/PdoCaster.php b/core/vendor/symfony/var-dumper/Caster/PdoCaster.php index 1d364cdf01..d68eae2166 100644 --- a/core/vendor/symfony/var-dumper/Caster/PdoCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/PdoCaster.php @@ -59,7 +59,10 @@ class PdoCaster ], ]; - public static function castPdo(\PDO $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castPdo(\PDO $c, array $a, Stub $stub, bool $isNested) { $attr = []; $errmode = $c->getAttribute(\PDO::ATTR_ERRMODE); @@ -108,7 +111,10 @@ public static function castPdo(\PDO $c, array $a, Stub $stub, bool $isNested): a return $a; } - public static function castPdoStatement(\PDOStatement $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castPdoStatement(\PDOStatement $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; $a[$prefix.'errorInfo'] = $c->errorInfo(); diff --git a/core/vendor/symfony/var-dumper/Caster/PgSqlCaster.php b/core/vendor/symfony/var-dumper/Caster/PgSqlCaster.php index 7e74500867..0d8b3d919b 100644 --- a/core/vendor/symfony/var-dumper/Caster/PgSqlCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/PgSqlCaster.php @@ -69,14 +69,20 @@ class PgSqlCaster 'function' => \PGSQL_DIAG_SOURCE_FUNCTION, ]; - public static function castLargeObject($lo, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castLargeObject($lo, array $a, Stub $stub, bool $isNested) { $a['seek position'] = pg_lo_tell($lo); return $a; } - public static function castLink($link, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castLink($link, array $a, Stub $stub, bool $isNested) { $a['status'] = pg_connection_status($link); $a['status'] = new ConstStub(\PGSQL_CONNECTION_OK === $a['status'] ? 'PGSQL_CONNECTION_OK' : 'PGSQL_CONNECTION_BAD', $a['status']); @@ -108,7 +114,10 @@ public static function castLink($link, array $a, Stub $stub, bool $isNested): ar return $a; } - public static function castResult($result, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castResult($result, array $a, Stub $stub, bool $isNested) { $a['num rows'] = pg_num_rows($result); $a['status'] = pg_result_status($result); diff --git a/core/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php b/core/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php index 736a6e7585..eb6c88db6a 100644 --- a/core/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php @@ -21,7 +21,10 @@ */ class ProxyManagerCaster { - public static function castProxy(ProxyInterface $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castProxy(ProxyInterface $c, array $a, Stub $stub, bool $isNested) { if ($parent = get_parent_class($c)) { $stub->class .= ' - '.$parent; diff --git a/core/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php b/core/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php index 5445b2d4b1..fcaa1b768a 100644 --- a/core/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php @@ -31,7 +31,10 @@ */ class RdKafkaCaster { - public static function castKafkaConsumer(KafkaConsumer $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castKafkaConsumer(KafkaConsumer $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -51,7 +54,10 @@ public static function castKafkaConsumer(KafkaConsumer $c, array $a, Stub $stub, return $a; } - public static function castTopic(Topic $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castTopic(Topic $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -62,7 +68,10 @@ public static function castTopic(Topic $c, array $a, Stub $stub, bool $isNested) return $a; } - public static function castTopicPartition(TopicPartition $c, array $a): array + /** + * @return array + */ + public static function castTopicPartition(TopicPartition $c, array $a) { $prefix = Caster::PREFIX_VIRTUAL; @@ -75,7 +84,10 @@ public static function castTopicPartition(TopicPartition $c, array $a): array return $a; } - public static function castMessage(Message $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castMessage(Message $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -86,7 +98,10 @@ public static function castMessage(Message $c, array $a, Stub $stub, bool $isNes return $a; } - public static function castConf(Conf $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castConf(Conf $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -97,7 +112,10 @@ public static function castConf(Conf $c, array $a, Stub $stub, bool $isNested): return $a; } - public static function castTopicConf(TopicConf $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castTopicConf(TopicConf $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -108,7 +126,10 @@ public static function castTopicConf(TopicConf $c, array $a, Stub $stub, bool $i return $a; } - public static function castRdKafka(\RdKafka $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castRdKafka(\RdKafka $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -121,14 +142,20 @@ public static function castRdKafka(\RdKafka $c, array $a, Stub $stub, bool $isNe return $a; } - public static function castCollectionMetadata(CollectionMetadata $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castCollectionMetadata(CollectionMetadata $c, array $a, Stub $stub, bool $isNested) { $a += iterator_to_array($c); return $a; } - public static function castTopicMetadata(TopicMetadata $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castTopicMetadata(TopicMetadata $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -140,7 +167,10 @@ public static function castTopicMetadata(TopicMetadata $c, array $a, Stub $stub, return $a; } - public static function castPartitionMetadata(PartitionMetadata $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castPartitionMetadata(PartitionMetadata $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -153,7 +183,10 @@ public static function castPartitionMetadata(PartitionMetadata $c, array $a, Stu return $a; } - public static function castBrokerMetadata(BrokerMetadata $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castBrokerMetadata(BrokerMetadata $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -166,7 +199,10 @@ public static function castBrokerMetadata(BrokerMetadata $c, array $a, Stub $stu return $a; } - private static function extractMetadata(KafkaConsumer|\RdKafka $c): array + /** + * @return array + */ + private static function extractMetadata(KafkaConsumer|\RdKafka $c) { $prefix = Caster::PREFIX_VIRTUAL; diff --git a/core/vendor/symfony/var-dumper/Caster/RedisCaster.php b/core/vendor/symfony/var-dumper/Caster/RedisCaster.php index 5224bc05da..6ff046754d 100644 --- a/core/vendor/symfony/var-dumper/Caster/RedisCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/RedisCaster.php @@ -47,7 +47,10 @@ class RedisCaster \RedisCluster::FAILOVER_DISTRIBUTE_SLAVES => 'DISTRIBUTE_SLAVES', ]; - public static function castRedis(\Redis|Relay $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castRedis(\Redis|Relay $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -73,7 +76,10 @@ public static function castRedis(\Redis|Relay $c, array $a, Stub $stub, bool $is ]; } - public static function castRedisArray(\RedisArray $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castRedisArray(\RedisArray $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -85,7 +91,10 @@ public static function castRedisArray(\RedisArray $c, array $a, Stub $stub, bool ]; } - public static function castRedisCluster(\RedisCluster $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castRedisCluster(\RedisCluster $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; $failover = $c->getOption(\RedisCluster::OPT_SLAVE_FAILOVER); diff --git a/core/vendor/symfony/var-dumper/Caster/ReflectionCaster.php b/core/vendor/symfony/var-dumper/Caster/ReflectionCaster.php index f42d06cb64..4adb9bc9fe 100644 --- a/core/vendor/symfony/var-dumper/Caster/ReflectionCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/ReflectionCaster.php @@ -35,7 +35,10 @@ class ReflectionCaster 'isVariadic' => 'isVariadic', ]; - public static function castClosure(\Closure $c, array $a, Stub $stub, bool $isNested, int $filter = 0): array + /** + * @return array + */ + public static function castClosure(\Closure $c, array $a, Stub $stub, bool $isNested, int $filter = 0) { $prefix = Caster::PREFIX_VIRTUAL; $c = new \ReflectionFunction($c); @@ -71,7 +74,10 @@ public static function castClosure(\Closure $c, array $a, Stub $stub, bool $isNe return $a; } - public static function unsetClosureFileInfo(\Closure $c, array $a): array + /** + * @return array + */ + public static function unsetClosureFileInfo(\Closure $c, array $a) { unset($a[Caster::PREFIX_VIRTUAL.'file'], $a[Caster::PREFIX_VIRTUAL.'line']); @@ -92,7 +98,10 @@ public static function castGenerator(\Generator $c, array $a, Stub $stub, bool $ return self::castReflectionGenerator($reflectionGenerator, $a, $stub, $isNested); } - public static function castType(\ReflectionType $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castType(\ReflectionType $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -114,7 +123,10 @@ public static function castType(\ReflectionType $c, array $a, Stub $stub, bool $ return $a; } - public static function castAttribute(\ReflectionAttribute $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castAttribute(\ReflectionAttribute $c, array $a, Stub $stub, bool $isNested) { self::addMap($a, $c, [ 'name' => 'getName', @@ -124,7 +136,10 @@ public static function castAttribute(\ReflectionAttribute $c, array $a, Stub $st return $a; } - public static function castReflectionGenerator(\ReflectionGenerator $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castReflectionGenerator(\ReflectionGenerator $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -159,7 +174,10 @@ public static function castReflectionGenerator(\ReflectionGenerator $c, array $a return $a; } - public static function castClass(\ReflectionClass $c, array $a, Stub $stub, bool $isNested, int $filter = 0): array + /** + * @return array + */ + public static function castClass(\ReflectionClass $c, array $a, Stub $stub, bool $isNested, int $filter = 0) { $prefix = Caster::PREFIX_VIRTUAL; @@ -190,14 +208,17 @@ public static function castClass(\ReflectionClass $c, array $a, Stub $stub, bool return $a; } - public static function castFunctionAbstract(\ReflectionFunctionAbstract $c, array $a, Stub $stub, bool $isNested, int $filter = 0): array + /** + * @return array + */ + public static function castFunctionAbstract(\ReflectionFunctionAbstract $c, array $a, Stub $stub, bool $isNested, int $filter = 0) { $prefix = Caster::PREFIX_VIRTUAL; self::addMap($a, $c, [ 'returnsReference' => 'returnsReference', 'returnType' => 'getReturnType', - 'class' => 'getClosureCalledClass', + 'class' => \PHP_VERSION_ID >= 80111 ? 'getClosureCalledClass' : 'getClosureScopeClass', 'this' => 'getClosureThis', ]); @@ -248,7 +269,10 @@ public static function castFunctionAbstract(\ReflectionFunctionAbstract $c, arra return $a; } - public static function castClassConstant(\ReflectionClassConstant $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castClassConstant(\ReflectionClassConstant $c, array $a, Stub $stub, bool $isNested) { $a[Caster::PREFIX_VIRTUAL.'modifiers'] = implode(' ', \Reflection::getModifierNames($c->getModifiers())); $a[Caster::PREFIX_VIRTUAL.'value'] = $c->getValue(); @@ -258,14 +282,20 @@ public static function castClassConstant(\ReflectionClassConstant $c, array $a, return $a; } - public static function castMethod(\ReflectionMethod $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castMethod(\ReflectionMethod $c, array $a, Stub $stub, bool $isNested) { $a[Caster::PREFIX_VIRTUAL.'modifiers'] = implode(' ', \Reflection::getModifierNames($c->getModifiers())); return $a; } - public static function castParameter(\ReflectionParameter $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castParameter(\ReflectionParameter $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; @@ -305,7 +335,10 @@ public static function castParameter(\ReflectionParameter $c, array $a, Stub $st return $a; } - public static function castProperty(\ReflectionProperty $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castProperty(\ReflectionProperty $c, array $a, Stub $stub, bool $isNested) { $a[Caster::PREFIX_VIRTUAL.'modifiers'] = implode(' ', \Reflection::getModifierNames($c->getModifiers())); @@ -315,14 +348,20 @@ public static function castProperty(\ReflectionProperty $c, array $a, Stub $stub return $a; } - public static function castReference(\ReflectionReference $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castReference(\ReflectionReference $c, array $a, Stub $stub, bool $isNested) { $a[Caster::PREFIX_VIRTUAL.'id'] = $c->getId(); return $a; } - public static function castExtension(\ReflectionExtension $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castExtension(\ReflectionExtension $c, array $a, Stub $stub, bool $isNested) { self::addMap($a, $c, [ 'version' => 'getVersion', @@ -338,7 +377,10 @@ public static function castExtension(\ReflectionExtension $c, array $a, Stub $st return $a; } - public static function castZendExtension(\ReflectionZendExtension $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castZendExtension(\ReflectionZendExtension $c, array $a, Stub $stub, bool $isNested) { self::addMap($a, $c, [ 'version' => 'getVersion', @@ -350,7 +392,10 @@ public static function castZendExtension(\ReflectionZendExtension $c, array $a, return $a; } - public static function getSignature(array $a): string + /** + * @return string + */ + public static function getSignature(array $a) { $prefix = Caster::PREFIX_VIRTUAL; $signature = ''; diff --git a/core/vendor/symfony/var-dumper/Caster/ResourceCaster.php b/core/vendor/symfony/var-dumper/Caster/ResourceCaster.php index f775f81ca3..f3bbf3be4f 100644 --- a/core/vendor/symfony/var-dumper/Caster/ResourceCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/ResourceCaster.php @@ -27,7 +27,10 @@ public static function castCurl(\CurlHandle $h, array $a, Stub $stub, bool $isNe return curl_getinfo($h); } - public static function castDba($dba, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castDba($dba, array $a, Stub $stub, bool $isNested) { $list = dba_list(); $a['file'] = $list[(int) $dba]; @@ -35,7 +38,10 @@ public static function castDba($dba, array $a, Stub $stub, bool $isNested): arra return $a; } - public static function castProcess($process, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castProcess($process, array $a, Stub $stub, bool $isNested) { return proc_get_status($process); } @@ -50,12 +56,18 @@ public static function castStream($stream, array $a, Stub $stub, bool $isNested) return $a; } - public static function castStreamContext($stream, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castStreamContext($stream, array $a, Stub $stub, bool $isNested) { return @stream_context_get_params($stream) ?: $a; } - public static function castGd($gd, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castGd($gd, array $a, Stub $stub, bool $isNested) { $a['size'] = imagesx($gd).'x'.imagesy($gd); $a['trueColor'] = imageistruecolor($gd); @@ -63,7 +75,10 @@ public static function castGd($gd, array $a, Stub $stub, bool $isNested): array return $a; } - public static function castOpensslX509($h, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castOpensslX509($h, array $a, Stub $stub, bool $isNested) { $stub->cut = -1; $info = openssl_x509_parse($h, false); diff --git a/core/vendor/symfony/var-dumper/Caster/SplCaster.php b/core/vendor/symfony/var-dumper/Caster/SplCaster.php index c6953646b0..814d824d19 100644 --- a/core/vendor/symfony/var-dumper/Caster/SplCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/SplCaster.php @@ -29,17 +29,26 @@ class SplCaster \SplFileObject::READ_CSV => 'READ_CSV', ]; - public static function castArrayObject(\ArrayObject $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castArrayObject(\ArrayObject $c, array $a, Stub $stub, bool $isNested) { return self::castSplArray($c, $a, $stub, $isNested); } - public static function castArrayIterator(\ArrayIterator $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castArrayIterator(\ArrayIterator $c, array $a, Stub $stub, bool $isNested) { return self::castSplArray($c, $a, $stub, $isNested); } - public static function castHeap(\Iterator $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castHeap(\Iterator $c, array $a, Stub $stub, bool $isNested) { $a += [ Caster::PREFIX_VIRTUAL.'heap' => iterator_to_array(clone $c), @@ -48,7 +57,10 @@ public static function castHeap(\Iterator $c, array $a, Stub $stub, bool $isNest return $a; } - public static function castDoublyLinkedList(\SplDoublyLinkedList $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castDoublyLinkedList(\SplDoublyLinkedList $c, array $a, Stub $stub, bool $isNested) { $prefix = Caster::PREFIX_VIRTUAL; $mode = $c->getIteratorMode(); @@ -63,7 +75,10 @@ public static function castDoublyLinkedList(\SplDoublyLinkedList $c, array $a, S return $a; } - public static function castFileInfo(\SplFileInfo $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castFileInfo(\SplFileInfo $c, array $a, Stub $stub, bool $isNested) { static $map = [ 'path' => 'getPath', @@ -139,7 +154,10 @@ public static function castFileInfo(\SplFileInfo $c, array $a, Stub $stub, bool return $a; } - public static function castFileObject(\SplFileObject $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castFileObject(\SplFileObject $c, array $a, Stub $stub, bool $isNested) { static $map = [ 'csvControl' => 'getCsvControl', @@ -176,7 +194,10 @@ public static function castFileObject(\SplFileObject $c, array $a, Stub $stub, b return $a; } - public static function castObjectStorage(\SplObjectStorage $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castObjectStorage(\SplObjectStorage $c, array $a, Stub $stub, bool $isNested) { $storage = []; unset($a[Caster::PREFIX_DYNAMIC."\0gcdata"]); // Don't hit https://bugs.php.net/65967 @@ -197,21 +218,30 @@ public static function castObjectStorage(\SplObjectStorage $c, array $a, Stub $s return $a; } - public static function castOuterIterator(\OuterIterator $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castOuterIterator(\OuterIterator $c, array $a, Stub $stub, bool $isNested) { $a[Caster::PREFIX_VIRTUAL.'innerIterator'] = $c->getInnerIterator(); return $a; } - public static function castWeakReference(\WeakReference $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castWeakReference(\WeakReference $c, array $a, Stub $stub, bool $isNested) { $a[Caster::PREFIX_VIRTUAL.'object'] = $c->get(); return $a; } - public static function castWeakMap(\WeakMap $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castWeakMap(\WeakMap $c, array $a, Stub $stub, bool $isNested) { $map = []; diff --git a/core/vendor/symfony/var-dumper/Caster/StubCaster.php b/core/vendor/symfony/var-dumper/Caster/StubCaster.php index 56742b018d..4b93ff76f6 100644 --- a/core/vendor/symfony/var-dumper/Caster/StubCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/StubCaster.php @@ -22,7 +22,10 @@ */ class StubCaster { - public static function castStub(Stub $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castStub(Stub $c, array $a, Stub $stub, bool $isNested) { if ($isNested) { $stub->type = $c->type; @@ -43,12 +46,18 @@ public static function castStub(Stub $c, array $a, Stub $stub, bool $isNested): return $a; } - public static function castCutArray(CutArrayStub $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castCutArray(CutArrayStub $c, array $a, Stub $stub, bool $isNested) { return $isNested ? $c->preservedSubset : $a; } - public static function cutInternals($obj, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function cutInternals($obj, array $a, Stub $stub, bool $isNested) { if ($isNested) { $stub->cut += \count($a); @@ -59,7 +68,10 @@ public static function cutInternals($obj, array $a, Stub $stub, bool $isNested): return $a; } - public static function castEnum(EnumStub $c, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castEnum(EnumStub $c, array $a, Stub $stub, bool $isNested) { if ($isNested) { $stub->class = $c->dumpKeys ? '' : null; @@ -82,7 +94,10 @@ public static function castEnum(EnumStub $c, array $a, Stub $stub, bool $isNeste return $a; } - public static function castScalar(ScalarStub $scalarStub, array $a, Stub $stub): array + /** + * @return array + */ + public static function castScalar(ScalarStub $scalarStub, array $a, Stub $stub) { $stub->type = Stub::TYPE_SCALAR; $stub->attr['value'] = $scalarStub->value; diff --git a/core/vendor/symfony/var-dumper/Caster/SymfonyCaster.php b/core/vendor/symfony/var-dumper/Caster/SymfonyCaster.php index 5cd90f7349..ebc00f90ec 100644 --- a/core/vendor/symfony/var-dumper/Caster/SymfonyCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/SymfonyCaster.php @@ -31,7 +31,10 @@ class SymfonyCaster 'format' => 'getRequestFormat', ]; - public static function castRequest(Request $request, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castRequest(Request $request, array $a, Stub $stub, bool $isNested) { $clone = null; @@ -46,7 +49,10 @@ public static function castRequest(Request $request, array $a, Stub $stub, bool return $a; } - public static function castHttpClient($client, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castHttpClient($client, array $a, Stub $stub, bool $isNested) { $multiKey = sprintf("\0%s\0multi", $client::class); if (isset($a[$multiKey])) { @@ -56,7 +62,10 @@ public static function castHttpClient($client, array $a, Stub $stub, bool $isNes return $a; } - public static function castHttpClientResponse($response, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castHttpClientResponse($response, array $a, Stub $stub, bool $isNested) { $stub->cut += \count($a); $a = []; @@ -68,7 +77,10 @@ public static function castHttpClientResponse($response, array $a, Stub $stub, b return $a; } - public static function castLazyObjectState($state, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castLazyObjectState($state, array $a, Stub $stub, bool $isNested) { if (!$isNested) { return $a; @@ -93,7 +105,10 @@ public static function castLazyObjectState($state, array $a, Stub $stub, bool $i return $a; } - public static function castUuid(Uuid $uuid, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castUuid(Uuid $uuid, array $a, Stub $stub, bool $isNested) { $a[Caster::PREFIX_VIRTUAL.'toBase58'] = $uuid->toBase58(); $a[Caster::PREFIX_VIRTUAL.'toBase32'] = $uuid->toBase32(); @@ -106,7 +121,10 @@ public static function castUuid(Uuid $uuid, array $a, Stub $stub, bool $isNested return $a; } - public static function castUlid(Ulid $ulid, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castUlid(Ulid $ulid, array $a, Stub $stub, bool $isNested) { $a[Caster::PREFIX_VIRTUAL.'toBase58'] = $ulid->toBase58(); $a[Caster::PREFIX_VIRTUAL.'toRfc4122'] = $ulid->toRfc4122(); diff --git a/core/vendor/symfony/var-dumper/Caster/TraceStub.php b/core/vendor/symfony/var-dumper/Caster/TraceStub.php index f28561fb5f..5eea1c8766 100644 --- a/core/vendor/symfony/var-dumper/Caster/TraceStub.php +++ b/core/vendor/symfony/var-dumper/Caster/TraceStub.php @@ -20,10 +20,10 @@ */ class TraceStub extends Stub { - public bool $keepArgs; - public int $sliceOffset; - public ?int $sliceLength; - public int $numberingOffset; + public $keepArgs; + public $sliceOffset; + public $sliceLength; + public $numberingOffset; public function __construct(array $trace, bool $keepArgs = true, int $sliceOffset = 0, int $sliceLength = null, int $numberingOffset = 0) { diff --git a/core/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php b/core/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php index 672fec68fd..1cfcf4dd86 100644 --- a/core/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php @@ -43,7 +43,10 @@ class XmlReaderCaster \XMLReader::XML_DECLARATION => 'XML_DECLARATION', ]; - public static function castXmlReader(\XMLReader $reader, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castXmlReader(\XMLReader $reader, array $a, Stub $stub, bool $isNested) { try { $properties = [ diff --git a/core/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php b/core/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php index fd3d3a2abe..0cf42584a0 100644 --- a/core/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php +++ b/core/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php @@ -47,7 +47,10 @@ class XmlResourceCaster \XML_ERROR_EXTERNAL_ENTITY_HANDLING => 'XML_ERROR_EXTERNAL_ENTITY_HANDLING', ]; - public static function castXml($h, array $a, Stub $stub, bool $isNested): array + /** + * @return array + */ + public static function castXml($h, array $a, Stub $stub, bool $isNested) { $a['current_byte_index'] = xml_get_current_byte_index($h); $a['current_column_number'] = xml_get_current_column_number($h); diff --git a/core/vendor/symfony/var-dumper/Cloner/AbstractCloner.php b/core/vendor/symfony/var-dumper/Cloner/AbstractCloner.php index 4fbcc6228b..6a746b88e3 100644 --- a/core/vendor/symfony/var-dumper/Cloner/AbstractCloner.php +++ b/core/vendor/symfony/var-dumper/Cloner/AbstractCloner.php @@ -21,7 +21,7 @@ */ abstract class AbstractCloner implements ClonerInterface { - public static array $defaultCasters = [ + public static $defaultCasters = [ '__PHP_Incomplete_Class' => ['Symfony\Component\VarDumper\Caster\Caster', 'castPhpIncompleteClass'], 'Symfony\Component\VarDumper\Caster\CutStub' => ['Symfony\Component\VarDumper\Caster\StubCaster', 'castStub'], @@ -197,9 +197,9 @@ abstract class AbstractCloner implements ClonerInterface 'FFI\CType' => ['Symfony\Component\VarDumper\Caster\FFICaster', 'castCTypeOrCData'], ]; - protected int $maxItems = 2500; - protected int $maxString = -1; - protected int $minDepth = 1; + protected $maxItems = 2500; + protected $maxString = -1; + protected $minDepth = 1; /** * @var array> @@ -233,8 +233,10 @@ public function __construct(array $casters = null) * see e.g. static::$defaultCasters. * * @param callable[] $casters A map of casters + * + * @return void */ - public function addCasters(array $casters): void + public function addCasters(array $casters) { foreach ($casters as $type => $callback) { $this->casters[$type][] = $callback; @@ -243,16 +245,20 @@ public function addCasters(array $casters): void /** * Sets the maximum number of items to clone past the minimum depth in nested structures. + * + * @return void */ - public function setMaxItems(int $maxItems): void + public function setMaxItems(int $maxItems) { $this->maxItems = $maxItems; } /** * Sets the maximum cloned length for strings. + * + * @return void */ - public function setMaxString(int $maxString): void + public function setMaxString(int $maxString) { $this->maxString = $maxString; } @@ -260,8 +266,10 @@ public function setMaxString(int $maxString): void /** * Sets the minimum tree depth where we are guaranteed to clone all the items. After this * depth is reached, only setMaxItems items will be cloned. + * + * @return void */ - public function setMinDepth(int $minDepth): void + public function setMinDepth(int $minDepth) { $this->minDepth = $minDepth; } diff --git a/core/vendor/symfony/var-dumper/Cloner/Cursor.php b/core/vendor/symfony/var-dumper/Cloner/Cursor.php index 8923007fff..1fd796d675 100644 --- a/core/vendor/symfony/var-dumper/Cloner/Cursor.php +++ b/core/vendor/symfony/var-dumper/Cloner/Cursor.php @@ -23,21 +23,21 @@ class Cursor public const HASH_OBJECT = Stub::TYPE_OBJECT; public const HASH_RESOURCE = Stub::TYPE_RESOURCE; - public int $depth = 0; - public int $refIndex = 0; - public int $softRefTo = 0; - public int $softRefCount = 0; - public int $softRefHandle = 0; - public int $hardRefTo = 0; - public int $hardRefCount = 0; - public int $hardRefHandle = 0; - public int $hashType; - public string|int|null $hashKey = null; - public bool $hashKeyIsBinary; - public int $hashIndex = 0; - public int $hashLength = 0; - public int $hashCut = 0; - public bool $stop = false; - public array $attr = []; - public bool $skipChildren = false; + public $depth = 0; + public $refIndex = 0; + public $softRefTo = 0; + public $softRefCount = 0; + public $softRefHandle = 0; + public $hardRefTo = 0; + public $hardRefCount = 0; + public $hardRefHandle = 0; + public $hashType; + public $hashKey; + public $hashKeyIsBinary; + public $hashIndex = 0; + public $hashLength = 0; + public $hashCut = 0; + public $stop = false; + public $attr = []; + public $skipChildren = false; } diff --git a/core/vendor/symfony/var-dumper/Cloner/Data.php b/core/vendor/symfony/var-dumper/Cloner/Data.php index 71e78a6b72..16f51b0c73 100644 --- a/core/vendor/symfony/var-dumper/Cloner/Data.php +++ b/core/vendor/symfony/var-dumper/Cloner/Data.php @@ -121,7 +121,10 @@ public function getIterator(): \Traversable yield from $value; } - public function __get(string $key): mixed + /** + * @return mixed + */ + public function __get(string $key) { if (null !== $data = $this->seek($key)) { $item = $this->getStub($data->data[$data->position][$data->key]); @@ -262,8 +265,10 @@ public function seek(string|int $key): ?static /** * Dumps data with a DumperInterface dumper. + * + * @return void */ - public function dump(DumperInterface $dumper): void + public function dump(DumperInterface $dumper) { $refs = [0]; $cursor = new Cursor(); diff --git a/core/vendor/symfony/var-dumper/Cloner/DumperInterface.php b/core/vendor/symfony/var-dumper/Cloner/DumperInterface.php index 10f2da08ab..4c5b315b60 100644 --- a/core/vendor/symfony/var-dumper/Cloner/DumperInterface.php +++ b/core/vendor/symfony/var-dumper/Cloner/DumperInterface.php @@ -20,8 +20,10 @@ interface DumperInterface { /** * Dumps a scalar value. + * + * @return void */ - public function dumpScalar(Cursor $cursor, string $type, string|int|float|bool|null $value): void; + public function dumpScalar(Cursor $cursor, string $type, string|int|float|bool|null $value); /** * Dumps a string. @@ -29,8 +31,10 @@ public function dumpScalar(Cursor $cursor, string $type, string|int|float|bool|n * @param string $str The string being dumped * @param bool $bin Whether $str is UTF-8 or binary encoded * @param int $cut The number of characters $str has been cut by + * + * @return void */ - public function dumpString(Cursor $cursor, string $str, bool $bin, int $cut): void; + public function dumpString(Cursor $cursor, string $str, bool $bin, int $cut); /** * Dumps while entering an hash. @@ -38,8 +42,10 @@ public function dumpString(Cursor $cursor, string $str, bool $bin, int $cut): vo * @param int $type A Cursor::HASH_* const for the type of hash * @param string|int|null $class The object class, resource type or array count * @param bool $hasChild When the dump of the hash has child item + * + * @return void */ - public function enterHash(Cursor $cursor, int $type, string|int|null $class, bool $hasChild): void; + public function enterHash(Cursor $cursor, int $type, string|int|null $class, bool $hasChild); /** * Dumps while leaving an hash. @@ -48,6 +54,8 @@ public function enterHash(Cursor $cursor, int $type, string|int|null $class, boo * @param string|int|null $class The object class, resource type or array count * @param bool $hasChild When the dump of the hash has child item * @param int $cut The number of items the hash has been cut by + * + * @return void */ - public function leaveHash(Cursor $cursor, int $type, string|int|null $class, bool $hasChild, int $cut): void; + public function leaveHash(Cursor $cursor, int $type, string|int|null $class, bool $hasChild, int $cut); } diff --git a/core/vendor/symfony/var-dumper/Cloner/Stub.php b/core/vendor/symfony/var-dumper/Cloner/Stub.php index 43c64c0afe..0c2a4b9d0a 100644 --- a/core/vendor/symfony/var-dumper/Cloner/Stub.php +++ b/core/vendor/symfony/var-dumper/Cloner/Stub.php @@ -31,14 +31,14 @@ class Stub public const ARRAY_ASSOC = 1; public const ARRAY_INDEXED = 2; - public int $type = self::TYPE_REF; - public string|int|null $class = ''; - public mixed $value; - public int $cut = 0; - public int $handle = 0; - public int $refCount = 0; - public int $position = 0; - public array $attr = []; + public $type = self::TYPE_REF; + public $class = ''; + public $value; + public $cut = 0; + public $handle = 0; + public $refCount = 0; + public $position = 0; + public $attr = []; private static array $defaultProperties = []; diff --git a/core/vendor/symfony/var-dumper/Dumper/AbstractDumper.php b/core/vendor/symfony/var-dumper/Dumper/AbstractDumper.php index 79d97666ca..18f43d3160 100644 --- a/core/vendor/symfony/var-dumper/Dumper/AbstractDumper.php +++ b/core/vendor/symfony/var-dumper/Dumper/AbstractDumper.php @@ -29,14 +29,14 @@ abstract class AbstractDumper implements DataDumperInterface, DumperInterface /** @var callable|resource|string|null */ public static $defaultOutput = 'php://output'; - protected string $line = ''; + protected $line = ''; /** @var callable|null */ protected $lineDumper; /** @var resource|null */ protected $outputStream; - protected string $decimalPoint = '.'; - protected string $indentPad = ' '; - protected int $flags; + protected $decimalPoint = '.'; + protected $indentPad = ' '; + protected $flags; private string $charset = ''; @@ -158,8 +158,10 @@ public function dump(Data $data, $output = null): ?string * * @param int $depth The recursive depth in the dumped structure for the line being dumped, * or -1 to signal the end-of-dump to the line dumper callable + * + * @return void */ - protected function dumpLine(int $depth): void + protected function dumpLine(int $depth) { ($this->lineDumper)($this->line, $depth, $this->indentPad); $this->line = ''; @@ -167,8 +169,10 @@ protected function dumpLine(int $depth): void /** * Generic line dumper callback. + * + * @return void */ - protected function echoLine(string $line, int $depth, string $indentPad): void + protected function echoLine(string $line, int $depth, string $indentPad) { if (-1 !== $depth) { fwrite($this->outputStream, str_repeat($indentPad, $depth).$line."\n"); diff --git a/core/vendor/symfony/var-dumper/Dumper/CliDumper.php b/core/vendor/symfony/var-dumper/Dumper/CliDumper.php index c66cdcd412..f93c2f5ad6 100644 --- a/core/vendor/symfony/var-dumper/Dumper/CliDumper.php +++ b/core/vendor/symfony/var-dumper/Dumper/CliDumper.php @@ -21,13 +21,13 @@ */ class CliDumper extends AbstractDumper { - public static bool $defaultColors; + public static $defaultColors; /** @var callable|resource|string|null */ public static $defaultOutput = 'php://stdout'; - protected bool $colors; - protected int $maxStringWidth = 0; - protected array $styles = [ + protected $colors; + protected $maxStringWidth = 0; + protected $styles = [ // See http://en.wikipedia.org/wiki/ANSI_escape_code#graphics 'default' => '0;38;5;208', 'num' => '1;38;5;38', @@ -43,8 +43,8 @@ class CliDumper extends AbstractDumper 'index' => '38;5;38', ]; - protected static string $controlCharsRx = '/[\x00-\x1F\x7F]+/'; - protected static array $controlCharsMap = [ + protected static $controlCharsRx = '/[\x00-\x1F\x7F]+/'; + protected static $controlCharsMap = [ "\t" => '\t', "\n" => '\n', "\v" => '\v', @@ -52,10 +52,10 @@ class CliDumper extends AbstractDumper "\r" => '\r', "\033" => '\e', ]; - protected static string $unicodeCharsRx = "/[\u{00A0}\u{00AD}\u{034F}\u{061C}\u{115F}\u{1160}\u{17B4}\u{17B5}\u{180E}\u{2000}-\u{200F}\u{202F}\u{205F}\u{2060}-\u{2064}\u{206A}-\u{206F}\u{3000}\u{2800}\u{3164}\u{FEFF}\u{FFA0}\u{1D159}\u{1D173}-\u{1D17A}]/u"; + protected static $unicodeCharsRx = "/[\u{00A0}\u{00AD}\u{034F}\u{061C}\u{115F}\u{1160}\u{17B4}\u{17B5}\u{180E}\u{2000}-\u{200F}\u{202F}\u{205F}\u{2060}-\u{2064}\u{206A}-\u{206F}\u{3000}\u{2800}\u{3164}\u{FEFF}\u{FFA0}\u{1D159}\u{1D173}-\u{1D17A}]/u"; - protected bool $collapseNextHash = false; - protected bool $expandNextHash = false; + protected $collapseNextHash = false; + protected $expandNextHash = false; private array $displayOptions = [ 'fileLinkFormat' => null, @@ -87,16 +87,20 @@ public function __construct($output = null, string $charset = null, int $flags = /** * Enables/disables colored output. + * + * @return void */ - public function setColors(bool $colors): void + public function setColors(bool $colors) { $this->colors = $colors; } /** * Sets the maximum number of characters per line for dumped strings. + * + * @return void */ - public function setMaxStringWidth(int $maxStringWidth): void + public function setMaxStringWidth(int $maxStringWidth) { $this->maxStringWidth = $maxStringWidth; } @@ -105,8 +109,10 @@ public function setMaxStringWidth(int $maxStringWidth): void * Configures styles. * * @param array $styles A map of style names to style definitions + * + * @return void */ - public function setStyles(array $styles): void + public function setStyles(array $styles) { $this->styles = $styles + $this->styles; } @@ -115,13 +121,18 @@ public function setStyles(array $styles): void * Configures display options. * * @param array $displayOptions A map of display options to customize the behavior + * + * @return void */ - public function setDisplayOptions(array $displayOptions): void + public function setDisplayOptions(array $displayOptions) { $this->displayOptions = $displayOptions + $this->displayOptions; } - public function dumpScalar(Cursor $cursor, string $type, string|int|float|bool|null $value): void + /** + * @return void + */ + public function dumpScalar(Cursor $cursor, string $type, string|int|float|bool|null $value) { $this->dumpKey($cursor); $this->collapseNextHash = $this->expandNextHash = false; @@ -182,7 +193,10 @@ public function dumpScalar(Cursor $cursor, string $type, string|int|float|bool|n $this->endValue($cursor); } - public function dumpString(Cursor $cursor, string $str, bool $bin, int $cut): void + /** + * @return void + */ + public function dumpString(Cursor $cursor, string $str, bool $bin, int $cut) { $this->dumpKey($cursor); $this->collapseNextHash = $this->expandNextHash = false; @@ -271,7 +285,10 @@ public function dumpString(Cursor $cursor, string $str, bool $bin, int $cut): vo } } - public function enterHash(Cursor $cursor, int $type, string|int|null $class, bool $hasChild): void + /** + * @return void + */ + public function enterHash(Cursor $cursor, int $type, string|int|null $class, bool $hasChild) { $this->colors ??= $this->supportsColors(); @@ -308,7 +325,10 @@ public function enterHash(Cursor $cursor, int $type, string|int|null $class, boo } } - public function leaveHash(Cursor $cursor, int $type, string|int|null $class, bool $hasChild, int $cut): void + /** + * @return void + */ + public function leaveHash(Cursor $cursor, int $type, string|int|null $class, bool $hasChild, int $cut) { if (empty($cursor->attr['cut_hash'])) { $this->dumpEllipsis($cursor, $hasChild, $cut); @@ -323,8 +343,10 @@ public function leaveHash(Cursor $cursor, int $type, string|int|null $class, boo * * @param bool $hasChild When the dump of the hash has child item * @param int $cut The number of items the hash has been cut by + * + * @return void */ - protected function dumpEllipsis(Cursor $cursor, bool $hasChild, int $cut): void + protected function dumpEllipsis(Cursor $cursor, bool $hasChild, int $cut) { if ($cut) { $this->line .= ' …'; @@ -339,8 +361,10 @@ protected function dumpEllipsis(Cursor $cursor, bool $hasChild, int $cut): void /** * Dumps a key in a hash structure. + * + * @return void */ - protected function dumpKey(Cursor $cursor): void + protected function dumpKey(Cursor $cursor) { if (null !== $key = $cursor->hashKey) { if ($cursor->hashKeyIsBinary) { @@ -548,7 +572,10 @@ protected function supportsColors(): bool return static::$defaultColors = $this->hasColorSupport($h); } - protected function dumpLine(int $depth, bool $endOfValue = false): void + /** + * @return void + */ + protected function dumpLine(int $depth, bool $endOfValue = false) { if ($this->colors) { $this->line = sprintf("\033[%sm%s\033[m", $this->styles['default'], $this->line); @@ -556,7 +583,10 @@ protected function dumpLine(int $depth, bool $endOfValue = false): void parent::dumpLine($depth); } - protected function endValue(Cursor $cursor): void + /** + * @return void + */ + protected function endValue(Cursor $cursor) { if (-1 === $cursor->hashType) { return; diff --git a/core/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php b/core/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php index 5937ae0a36..ab85bfa950 100644 --- a/core/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php +++ b/core/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php @@ -12,6 +12,7 @@ namespace Symfony\Component\VarDumper\Dumper\ContextProvider; use Symfony\Component\ErrorHandler\ErrorRenderer\FileLinkFormatter; +use Symfony\Component\HttpKernel\Debug\FileLinkFormatter as LegacyFileLinkFormatter; use Symfony\Component\VarDumper\Cloner\VarCloner; use Symfony\Component\VarDumper\Dumper\HtmlDumper; use Symfony\Component\VarDumper\VarDumper; @@ -28,9 +29,9 @@ final class SourceContextProvider implements ContextProviderInterface private int $limit; private ?string $charset; private ?string $projectDir; - private ?FileLinkFormatter $fileLinkFormatter; + private FileLinkFormatter|LegacyFileLinkFormatter|null $fileLinkFormatter; - public function __construct(string $charset = null, string $projectDir = null, FileLinkFormatter $fileLinkFormatter = null, int $limit = 9) + public function __construct(string $charset = null, string $projectDir = null, FileLinkFormatter|LegacyFileLinkFormatter $fileLinkFormatter = null, int $limit = 9) { $this->charset = $charset; $this->projectDir = $projectDir; diff --git a/core/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php b/core/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php index 6de34d97b5..84cfb42595 100644 --- a/core/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php +++ b/core/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php @@ -31,7 +31,10 @@ public function __construct(DataDumperInterface $wrappedDumper, array $contextPr $this->contextProviders = $contextProviders; } - public function dump(Data $data): ?string + /** + * @return string|null + */ + public function dump(Data $data) { $context = $data->getContext(); foreach ($this->contextProviders as $contextProvider) { diff --git a/core/vendor/symfony/var-dumper/Dumper/HtmlDumper.php b/core/vendor/symfony/var-dumper/Dumper/HtmlDumper.php index ab766516dd..f93b220eff 100644 --- a/core/vendor/symfony/var-dumper/Dumper/HtmlDumper.php +++ b/core/vendor/symfony/var-dumper/Dumper/HtmlDumper.php @@ -59,13 +59,14 @@ class HtmlDumper extends CliDumper ], ]; - protected ?string $dumpHeader = null; - protected string $dumpPrefix = '
';
-    protected string $dumpSuffix = '
'; - protected string $dumpId; - protected bool $colors = true; + protected $dumpHeader; + protected $dumpPrefix = '
';
+    protected $dumpSuffix = '
'; + protected $dumpId = 'sf-dump'; + protected $colors = true; protected $headerIsDumped = false; - protected int $lastDepth = -1; + protected $lastDepth = -1; + protected $styles; private array $displayOptions = [ 'maxDepth' => 1, @@ -82,13 +83,19 @@ public function __construct($output = null, string $charset = null, int $flags = $this->styles = static::$themes['dark'] ?? self::$themes['dark']; } - public function setStyles(array $styles): void + /** + * @return void + */ + public function setStyles(array $styles) { $this->headerIsDumped = false; $this->styles = $styles + $this->styles; } - public function setTheme(string $themeName): void + /** + * @return void + */ + public function setTheme(string $themeName) { if (!isset(static::$themes[$themeName])) { throw new \InvalidArgumentException(sprintf('Theme "%s" does not exist in class "%s".', $themeName, static::class)); @@ -101,8 +108,10 @@ public function setTheme(string $themeName): void * Configures display options. * * @param array $displayOptions A map of display options to customize the behavior + * + * @return void */ - public function setDisplayOptions(array $displayOptions): void + public function setDisplayOptions(array $displayOptions) { $this->headerIsDumped = false; $this->displayOptions = $displayOptions + $this->displayOptions; @@ -110,16 +119,20 @@ public function setDisplayOptions(array $displayOptions): void /** * Sets an HTML header that will be dumped once in the output stream. + * + * @return void */ - public function setDumpHeader(?string $header): void + public function setDumpHeader(?string $header) { $this->dumpHeader = $header; } /** * Sets an HTML prefix and suffix that will encapse every single dump. + * + * @return void */ - public function setDumpBoundaries(string $prefix, string $suffix): void + public function setDumpBoundaries(string $prefix, string $suffix) { $this->dumpPrefix = $prefix; $this->dumpSuffix = $suffix; @@ -136,8 +149,10 @@ public function dump(Data $data, $output = null, array $extraDisplayOptions = [] /** * Dumps the HTML header. + * + * @return string */ - protected function getDumpHeader(): string + protected function getDumpHeader() { $this->headerIsDumped = $this->outputStream ?? $this->lineDumper; @@ -148,6 +163,7 @@ protected function getDumpHeader(): string $line = str_replace('{$options}', json_encode($this->displayOptions, \JSON_FORCE_OBJECT), <<<'EOHTML'