diff --git a/composer.json b/composer.json index 601f7d832..612bee4fd 100644 --- a/composer.json +++ b/composer.json @@ -1,112 +1 @@ -{ - "name": "humbug/box", - "description": "Fast, zero config application bundler with PHARs.", - "license": "MIT", - "keywords": [ - "phar" - ], - "authors": [ - { - "name": "Kevin Herrera", - "email": "kevin@herrera.io", - "homepage": "http://kevin.herrera.io" - }, - { - "name": "Théo Fidry", - "email": "theo.fidry@gmail.com" - } - ], - "require": { - "php": "^8.2", - "ext-iconv": "*", - "ext-mbstring": "*", - "ext-phar": "*", - "composer-plugin-api": "^2.2", - "amphp/parallel": "^2.0", - "composer/semver": "^3.3.2", - "composer/xdebug-handler": "^3.0.3", - "fidry/console": "^0.6.0", - "fidry/filesystem": "^1.2.1", - "humbug/php-scoper": "^0.18.6", - "justinrainbow/json-schema": "^5.2.12", - "nikic/iter": "^2.2", - "nikic/php-parser": "^4.15.2", - "phpdocumentor/reflection-docblock": "^5.3", - "phpdocumentor/type-resolver": "^1.7", - "psr/log": "^3.0", - "sebastian/diff": "^5.0", - "seld/jsonlint": "^1.9", - "seld/phar-utils": "^1.2", - "symfony/finder": "^6.4.0 || ^7.0.0", - "symfony/polyfill-iconv": "^1.28", - "symfony/polyfill-mbstring": "^1.28", - "symfony/process": "^6.4.0 || ^7.0.0", - "symfony/var-dumper": "^6.4.0 || ^7.0.0", - "webmozart/assert": "^1.11" - }, - "require-dev": { - "ext-xml": "*", - "bamarni/composer-bin-plugin": "^1.8.2", - "ergebnis/composer-normalize": "^2.29", - "fidry/makefile": "^1.0.1", - "mikey179/vfsstream": "^1.6.11", - "phpspec/prophecy": "^1.18", - "phpspec/prophecy-phpunit": "^2.1.0", - "phpunit/phpunit": "^10.5.2", - "symfony/yaml": "^6.4.0 || ^7.0.0" - }, - "replace": { - "symfony/polyfill-php80": "*", - "symfony/polyfill-php81": "*", - "symfony/polyfill-php82": "*" - }, - "suggest": { - "ext-openssl": "To accelerate private key generation." - }, - "minimum-stability": "dev", - "prefer-stable": true, - "autoload": { - "psr-4": { - "KevinGH\\Box\\": "src" - }, - "files": [ - "src/functions.php" - ], - "exclude-from-classmap": [ - "/Test/", - "vendor/humbug/php-scoper/vendor-hotfix" - ] - }, - "autoload-dev": { - "psr-4": { - "KevinGH\\Box\\": [ - "fixtures", - "tests" - ] - } - }, - "bin": [ - "bin/box" - ], - "config": { - "allow-plugins": { - "bamarni/composer-bin-plugin": true, - "composer/package-versions-deprecated": false, - "ergebnis/composer-normalize": true - }, - "platform": { - "php": "8.2" - }, - "platform-check": false, - "sort-packages": true - }, - "extra": { - "bamarni-bin": { - "bin-links": false, - "forward-command": false - }, - "branch-alias": { - "dev-main": "4.x-dev" - } - } -} +{"name":"humbug\/box","description":"Fast, zero config application bundler with PHARs.","license":"MIT","keywords":["phar"],"authors":[{"name":"Kevin Herrera","email":"kevin@herrera.io","homepage":"http:\/\/kevin.herrera.io"},{"name":"Th\u00e9o Fidry","email":"theo.fidry@gmail.com"}],"require":{"php":"^8.2","ext-iconv":"*","ext-mbstring":"*","ext-phar":"*","composer-plugin-api":"^2.2","amphp\/parallel":"^2.0","composer\/semver":"^3.3.2","composer\/xdebug-handler":"^3.0.3","fidry\/console":"^0.6.0","fidry\/filesystem":"^1.2.1","humbug\/php-scoper":"^0.18.6","justinrainbow\/json-schema":"^5.2.12","nikic\/iter":"^2.2","nikic\/php-parser":"^4.15.2","phpdocumentor\/reflection-docblock":"^5.3","phpdocumentor\/type-resolver":"^1.7","psr\/log":"^3.0","sebastian\/diff":"^5.0","seld\/jsonlint":"^1.9","seld\/phar-utils":"^1.2","symfony\/finder":"^6.4.0 || ^7.0.0","symfony\/polyfill-iconv":"^1.28","symfony\/polyfill-mbstring":"^1.28","symfony\/process":"^6.4.0 || ^7.0.0","symfony\/var-dumper":"^6.4.0 || ^7.0.0","webmozart\/assert":"^1.11"},"require-dev":{"ext-xml":"*","bamarni\/composer-bin-plugin":"^1.8.2","ergebnis\/composer-normalize":"^2.29","fidry\/makefile":"^1.0.1","mikey179\/vfsstream":"^1.6.11","phpspec\/prophecy":"^1.18","phpspec\/prophecy-phpunit":"^2.1.0","phpunit\/phpunit":"^10.5.2","symfony\/yaml":"^6.4.0 || ^7.0.0"},"replace":{"symfony\/polyfill-php80":"*","symfony\/polyfill-php81":"*","symfony\/polyfill-php82":"*"},"suggest":{"ext-openssl":"To accelerate private key generation."},"minimum-stability":"dev","prefer-stable":true,"autoload":{"psr-4":{"_HumbugBox3e2d6f277a9b\\KevinGH\\Box\\":"src"},"files":["src\/functions.php"],"exclude-from-classmap":["\/Test\/","vendor\/humbug\/php-scoper\/vendor-hotfix"]},"autoload-dev":{"psr-4":{"_HumbugBox3e2d6f277a9b\\KevinGH\\Box\\":["fixtures","tests"]}},"bin":["bin\/box"],"config":{"allow-plugins":{"bamarni\/composer-bin-plugin":true,"composer\/package-versions-deprecated":false,"ergebnis\/composer-normalize":true},"platform":{"php":"8.2"},"platform-check":false,"sort-packages":true},"extra":{"bamarni-bin":{"bin-links":false,"forward-command":false},"branch-alias":{"dev-main":"4.x-dev"}}} \ No newline at end of file diff --git a/composer.lock b/composer.lock index 1dbab94de..eb733424d 100644 --- a/composer.lock +++ b/composer.lock @@ -1,6303 +1 @@ -{ - "_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": "c524372cd58e96a4756245a6f40e2659", - "packages": [ - { - "name": "amphp/amp", - "version": "v3.0.0", - "source": { - "type": "git", - "url": "https://github.com/amphp/amp.git", - "reference": "aaf0ec1d5a2c20b523258995a10e80c1fb765871" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/amp/zipball/aaf0ec1d5a2c20b523258995a10e80c1fb765871", - "reference": "aaf0ec1d5a2c20b523258995a10e80c1fb765871", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "revolt/event-loop": "^1 || ^0.2" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "^2", - "phpunit/phpunit": "^9", - "psalm/phar": "^4.13" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions.php", - "src/Future/functions.php", - "src/Internal/functions.php" - ], - "psr-4": { - "Amp\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Bob Weinand", - "email": "bobwei9@hotmail.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - }, - { - "name": "Daniel Lowrey", - "email": "rdlowrey@php.net" - } - ], - "description": "A non-blocking concurrency framework for PHP applications.", - "homepage": "https://amphp.org/amp", - "keywords": [ - "async", - "asynchronous", - "awaitable", - "concurrency", - "event", - "event-loop", - "future", - "non-blocking", - "promise" - ], - "support": { - "issues": "https://github.com/amphp/amp/issues", - "source": "https://github.com/amphp/amp/tree/v3.0.0" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2022-12-18T16:52:44+00:00" - }, - { - "name": "amphp/byte-stream", - "version": "v2.1.0", - "source": { - "type": "git", - "url": "https://github.com/amphp/byte-stream.git", - "reference": "0a4b0e80dad92c75e6131f8ad253919211540338" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/byte-stream/zipball/0a4b0e80dad92c75e6131f8ad253919211540338", - "reference": "0a4b0e80dad92c75e6131f8ad253919211540338", - "shasum": "" - }, - "require": { - "amphp/amp": "^3", - "amphp/parser": "^1.1", - "amphp/pipeline": "^1", - "amphp/serialization": "^1", - "amphp/sync": "^2", - "php": ">=8.1", - "revolt/event-loop": "^1 || ^0.2.3" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "^2", - "amphp/phpunit-util": "^3", - "phpunit/phpunit": "^9", - "psalm/phar": "^5.4" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions.php", - "src/Internal/functions.php" - ], - "psr-4": { - "Amp\\ByteStream\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "A stream abstraction to make working with non-blocking I/O simple.", - "homepage": "https://amphp.org/byte-stream", - "keywords": [ - "amp", - "amphp", - "async", - "io", - "non-blocking", - "stream" - ], - "support": { - "issues": "https://github.com/amphp/byte-stream/issues", - "source": "https://github.com/amphp/byte-stream/tree/v2.1.0" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2023-11-19T14:34:16+00:00" - }, - { - "name": "amphp/cache", - "version": "v2.0.0", - "source": { - "type": "git", - "url": "https://github.com/amphp/cache.git", - "reference": "218bb3888d380eb9dd926cd06f803573c84391d3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/cache/zipball/218bb3888d380eb9dd926cd06f803573c84391d3", - "reference": "218bb3888d380eb9dd926cd06f803573c84391d3", - "shasum": "" - }, - "require": { - "amphp/amp": "^3", - "amphp/serialization": "^1", - "amphp/sync": "^2", - "php": ">=8.1", - "revolt/event-loop": "^1 || ^0.2" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "^2", - "amphp/phpunit-util": "^3", - "phpunit/phpunit": "^9", - "psalm/phar": "^5.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Amp\\Cache\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - }, - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Daniel Lowrey", - "email": "rdlowrey@php.net" - } - ], - "description": "A fiber-aware cache API based on Amp and Revolt.", - "homepage": "https://amphp.org/cache", - "support": { - "issues": "https://github.com/amphp/cache/issues", - "source": "https://github.com/amphp/cache/tree/v2.0.0" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2023-01-09T21:04:12+00:00" - }, - { - "name": "amphp/dns", - "version": "v2.1.0", - "source": { - "type": "git", - "url": "https://github.com/amphp/dns.git", - "reference": "c3b518f321f26e786554480de580f06b9f34d1cd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/dns/zipball/c3b518f321f26e786554480de580f06b9f34d1cd", - "reference": "c3b518f321f26e786554480de580f06b9f34d1cd", - "shasum": "" - }, - "require": { - "amphp/amp": "^3", - "amphp/byte-stream": "^2", - "amphp/cache": "^2", - "amphp/parser": "^1", - "amphp/windows-registry": "^1", - "daverandom/libdns": "^2.0.2", - "ext-filter": "*", - "php": ">=8.1", - "revolt/event-loop": "^1 || ^0.2" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "^2", - "amphp/phpunit-util": "^3", - "phpunit/phpunit": "^9", - "psalm/phar": "^5.4" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Amp\\Dns\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Wright", - "email": "addr@daverandom.com" - }, - { - "name": "Daniel Lowrey", - "email": "rdlowrey@php.net" - }, - { - "name": "Bob Weinand", - "email": "bobwei9@hotmail.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - }, - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - } - ], - "description": "Async DNS resolution for Amp.", - "homepage": "https://github.com/amphp/dns", - "keywords": [ - "amp", - "amphp", - "async", - "client", - "dns", - "resolve" - ], - "support": { - "issues": "https://github.com/amphp/dns/issues", - "source": "https://github.com/amphp/dns/tree/v2.1.0" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2023-11-18T15:49:57+00:00" - }, - { - "name": "amphp/parallel", - "version": "v2.2.4", - "source": { - "type": "git", - "url": "https://github.com/amphp/parallel.git", - "reference": "8b8f33a742c2ba63a8bfff664f5836c26f1996ed" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/parallel/zipball/8b8f33a742c2ba63a8bfff664f5836c26f1996ed", - "reference": "8b8f33a742c2ba63a8bfff664f5836c26f1996ed", - "shasum": "" - }, - "require": { - "amphp/amp": "^3", - "amphp/byte-stream": "^2", - "amphp/parser": "^1", - "amphp/pipeline": "^1", - "amphp/process": "^2", - "amphp/serialization": "^1", - "amphp/socket": "^2", - "amphp/sync": "^2", - "php": ">=8.1", - "revolt/event-loop": "^1" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "^2", - "amphp/phpunit-util": "^3", - "phpunit/phpunit": "^9", - "psalm/phar": "^5.4" - }, - "type": "library", - "autoload": { - "files": [ - "src/Context/functions.php", - "src/Context/Internal/functions.php", - "src/Ipc/functions.php", - "src/Worker/functions.php" - ], - "psr-4": { - "Amp\\Parallel\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - }, - { - "name": "Stephen Coakley", - "email": "me@stephencoakley.com" - } - ], - "description": "Parallel processing component for Amp.", - "homepage": "https://github.com/amphp/parallel", - "keywords": [ - "async", - "asynchronous", - "concurrent", - "multi-processing", - "multi-threading" - ], - "support": { - "issues": "https://github.com/amphp/parallel/issues", - "source": "https://github.com/amphp/parallel/tree/v2.2.4" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2023-11-29T04:21:30+00:00" - }, - { - "name": "amphp/parser", - "version": "v1.1.0", - "source": { - "type": "git", - "url": "https://github.com/amphp/parser.git", - "reference": "ff1de4144726c5dad5fab97f66692ebe8de3e151" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/parser/zipball/ff1de4144726c5dad5fab97f66692ebe8de3e151", - "reference": "ff1de4144726c5dad5fab97f66692ebe8de3e151", - "shasum": "" - }, - "require": { - "php": ">=7.4" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "^2", - "phpunit/phpunit": "^9", - "psalm/phar": "^5.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Amp\\Parser\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "A generator parser to make streaming parsers simple.", - "homepage": "https://github.com/amphp/parser", - "keywords": [ - "async", - "non-blocking", - "parser", - "stream" - ], - "support": { - "issues": "https://github.com/amphp/parser/issues", - "source": "https://github.com/amphp/parser/tree/v1.1.0" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2022-12-30T18:08:47+00:00" - }, - { - "name": "amphp/pipeline", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/amphp/pipeline.git", - "reference": "810dee498d2fd7d2c9247b32d95f38c92c13169e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/pipeline/zipball/810dee498d2fd7d2c9247b32d95f38c92c13169e", - "reference": "810dee498d2fd7d2c9247b32d95f38c92c13169e", - "shasum": "" - }, - "require": { - "amphp/amp": "^3", - "php": ">=8.1", - "revolt/event-loop": "^1 || ^0.2" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "^2", - "amphp/phpunit-util": "^3", - "phpunit/phpunit": "^9", - "psalm/phar": "^4.12" - }, - "type": "library", - "autoload": { - "psr-4": { - "Amp\\Pipeline\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "Asynchronous iterators and operators.", - "homepage": "https://amphp.org/pipeline", - "keywords": [ - "amp", - "amphp", - "async", - "io", - "iterator", - "non-blocking" - ], - "support": { - "issues": "https://github.com/amphp/pipeline/issues", - "source": "https://github.com/amphp/pipeline/tree/v1.0.0" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2022-12-22T02:13:01+00:00" - }, - { - "name": "amphp/process", - "version": "v2.0.1", - "source": { - "type": "git", - "url": "https://github.com/amphp/process.git", - "reference": "a65d3bc1f36ef12d44df42a68f0f0643183f1052" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/process/zipball/a65d3bc1f36ef12d44df42a68f0f0643183f1052", - "reference": "a65d3bc1f36ef12d44df42a68f0f0643183f1052", - "shasum": "" - }, - "require": { - "amphp/amp": "^3", - "amphp/byte-stream": "^2", - "amphp/sync": "^2", - "php": ">=8.1", - "revolt/event-loop": "^1 || ^0.2" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "^2", - "amphp/phpunit-util": "^3", - "phpunit/phpunit": "^9", - "psalm/phar": "^5.4" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Amp\\Process\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bob Weinand", - "email": "bobwei9@hotmail.com" - }, - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "A fiber-aware process manager based on Amp and Revolt.", - "homepage": "https://amphp.org/process", - "support": { - "issues": "https://github.com/amphp/process/issues", - "source": "https://github.com/amphp/process/tree/v2.0.1" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2023-01-15T16:00:57+00:00" - }, - { - "name": "amphp/serialization", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/amphp/serialization.git", - "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/serialization/zipball/693e77b2fb0b266c3c7d622317f881de44ae94a1", - "reference": "693e77b2fb0b266c3c7d622317f881de44ae94a1", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "dev-master", - "phpunit/phpunit": "^9 || ^8 || ^7" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Amp\\Serialization\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "Serialization tools for IPC and data storage in PHP.", - "homepage": "https://github.com/amphp/serialization", - "keywords": [ - "async", - "asynchronous", - "serialization", - "serialize" - ], - "support": { - "issues": "https://github.com/amphp/serialization/issues", - "source": "https://github.com/amphp/serialization/tree/master" - }, - "time": "2020-03-25T21:39:07+00:00" - }, - { - "name": "amphp/socket", - "version": "v2.2.0", - "source": { - "type": "git", - "url": "https://github.com/amphp/socket.git", - "reference": "3418a0c5c0d4978b0e8e0619ce1da0851c4053d3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/socket/zipball/3418a0c5c0d4978b0e8e0619ce1da0851c4053d3", - "reference": "3418a0c5c0d4978b0e8e0619ce1da0851c4053d3", - "shasum": "" - }, - "require": { - "amphp/amp": "^3", - "amphp/byte-stream": "^2", - "amphp/dns": "^2", - "ext-openssl": "*", - "kelunik/certificate": "^1.1", - "league/uri": "^6.5 | ^7", - "league/uri-interfaces": "^2.3 | ^7", - "php": ">=8.1", - "revolt/event-loop": "^1 || ^0.2" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "^2", - "amphp/phpunit-util": "^3", - "amphp/process": "^2", - "phpunit/phpunit": "^9", - "psalm/phar": "^5.4" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions.php", - "src/Internal/functions.php", - "src/SocketAddress/functions.php" - ], - "psr-4": { - "Amp\\Socket\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Daniel Lowrey", - "email": "rdlowrey@gmail.com" - }, - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "Non-blocking socket connection / server implementations based on Amp and Revolt.", - "homepage": "https://github.com/amphp/socket", - "keywords": [ - "amp", - "async", - "encryption", - "non-blocking", - "sockets", - "tcp", - "tls" - ], - "support": { - "issues": "https://github.com/amphp/socket/issues", - "source": "https://github.com/amphp/socket/tree/v2.2.0" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2023-08-19T15:28:34+00:00" - }, - { - "name": "amphp/sync", - "version": "v2.1.0", - "source": { - "type": "git", - "url": "https://github.com/amphp/sync.git", - "reference": "50ddc7392cc8034b3e4798cef3cc90d3f4c0441c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/sync/zipball/50ddc7392cc8034b3e4798cef3cc90d3f4c0441c", - "reference": "50ddc7392cc8034b3e4798cef3cc90d3f4c0441c", - "shasum": "" - }, - "require": { - "amphp/amp": "^3", - "amphp/pipeline": "^1", - "amphp/serialization": "^1", - "php": ">=8.1", - "revolt/event-loop": "^1 || ^0.2" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "^2", - "amphp/phpunit-util": "^3", - "phpunit/phpunit": "^9", - "psalm/phar": "^5.4" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Amp\\Sync\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - }, - { - "name": "Stephen Coakley", - "email": "me@stephencoakley.com" - } - ], - "description": "Non-blocking synchronization primitives for PHP based on Amp and Revolt.", - "homepage": "https://github.com/amphp/sync", - "keywords": [ - "async", - "asynchronous", - "mutex", - "semaphore", - "synchronization" - ], - "support": { - "issues": "https://github.com/amphp/sync/issues", - "source": "https://github.com/amphp/sync/tree/v2.1.0" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2023-08-19T13:53:40+00:00" - }, - { - "name": "amphp/windows-registry", - "version": "v1.0.0", - "source": { - "type": "git", - "url": "https://github.com/amphp/windows-registry.git", - "reference": "8248247a41af7f97b88e4716c0f8de39696ef111" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/amphp/windows-registry/zipball/8248247a41af7f97b88e4716c0f8de39696ef111", - "reference": "8248247a41af7f97b88e4716c0f8de39696ef111", - "shasum": "" - }, - "require": { - "amphp/byte-stream": "^2", - "amphp/process": "^2", - "php": ">=8.1" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "^2", - "psalm/phar": "^5.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Amp\\WindowsRegistry\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "Windows Registry Reader.", - "support": { - "issues": "https://github.com/amphp/windows-registry/issues", - "source": "https://github.com/amphp/windows-registry/tree/v1.0.0" - }, - "funding": [ - { - "url": "https://github.com/amphp", - "type": "github" - } - ], - "time": "2023-01-09T22:29:20+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/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": "daverandom/libdns", - "version": "v2.0.3", - "source": { - "type": "git", - "url": "https://github.com/DaveRandom/LibDNS.git", - "reference": "42c2d700d1178c9f9e78664793463f7f1aea248c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/DaveRandom/LibDNS/zipball/42c2d700d1178c9f9e78664793463f7f1aea248c", - "reference": "42c2d700d1178c9f9e78664793463f7f1aea248c", - "shasum": "" - }, - "require": { - "ext-ctype": "*", - "php": ">=7.0" - }, - "suggest": { - "ext-intl": "Required for IDN support" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "LibDNS\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "DNS protocol implementation written in pure PHP", - "keywords": [ - "dns" - ], - "support": { - "issues": "https://github.com/DaveRandom/LibDNS/issues", - "source": "https://github.com/DaveRandom/LibDNS/tree/v2.0.3" - }, - "time": "2022-09-20T18:15:38+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": "fidry/console", - "version": "0.6.9", - "source": { - "type": "git", - "url": "https://github.com/theofidry/console.git", - "reference": "01be0be1b8dd7be3f475f0b9755dcc89881ec36a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theofidry/console/zipball/01be0be1b8dd7be3f475f0b9755dcc89881ec36a", - "reference": "01be0be1b8dd7be3f475f0b9755dcc89881ec36a", - "shasum": "" - }, - "require": { - "php": "^8.2", - "psr/log": "^3.0", - "symfony/console": "^6.4 || ^7.0", - "symfony/event-dispatcher-contracts": "^2.5 || ^3.0", - "symfony/service-contracts": "^2.5 || ^3.0", - "thecodingmachine/safe": "^2.0", - "webmozart/assert": "^1.11" - }, - "conflict": { - "symfony/dependency-injection": "<6.4.0", - "symfony/framework-bundle": "<6.4.0", - "symfony/http-kernel": "<6.4.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.8.2", - "composer/semver": "^3.3.2", - "ergebnis/composer-normalize": "^2.33", - "fidry/makefile": "^0.2.1 || ^1.0.0", - "infection/infection": "^0.27", - "phpunit/phpunit": "^10.2", - "symfony/dependency-injection": "^6.4", - "symfony/flex": "^2.4.0", - "symfony/framework-bundle": "^6.4", - "symfony/http-kernel": "^6.4", - "symfony/yaml": "^6.4 || ^7.0" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": false, - "forward-command": false - }, - "branch-alias": { - "dev-main": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Fidry\\Console\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Théo Fidry", - "email": "theo.fidry@gmail.com" - } - ], - "description": "Library to create CLI applications", - "keywords": [ - "cli", - "console", - "symfony" - ], - "support": { - "issues": "https://github.com/theofidry/console/issues", - "source": "https://github.com/theofidry/console/tree/0.6.9" - }, - "funding": [ - { - "url": "https://github.com/theofidry", - "type": "github" - } - ], - "time": "2023-12-05T22:30:20+00:00" - }, - { - "name": "fidry/filesystem", - "version": "1.2.1", - "source": { - "type": "git", - "url": "https://github.com/theofidry/filesystem.git", - "reference": "8303225d289da1c434f6009743fbe9aad852de0c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theofidry/filesystem/zipball/8303225d289da1c434f6009743fbe9aad852de0c", - "reference": "8303225d289da1c434f6009743fbe9aad852de0c", - "shasum": "" - }, - "require": { - "php": "^8.1", - "symfony/filesystem": "^6.4 || ^7.0", - "thecodingmachine/safe": "^2.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4", - "ergebnis/composer-normalize": "^2.28", - "infection/infection": ">=0.26", - "phpunit/phpunit": "^10.3", - "symfony/finder": "^6.4 || ^7.0" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": false, - "forward-command": false - }, - "branch-alias": { - "dev-main": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Fidry\\FileSystem\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Théo Fidry", - "email": "theo.fidry@gmail.com" - } - ], - "description": "Symfony Filesystem with a few more utilities.", - "keywords": [ - "filesystem" - ], - "support": { - "issues": "https://github.com/theofidry/filesystem/issues", - "source": "https://github.com/theofidry/filesystem/tree/1.2.1" - }, - "funding": [ - { - "url": "https://github.com/theofidry", - "type": "github" - } - ], - "time": "2023-12-10T13:29:09+00:00" - }, - { - "name": "humbug/php-scoper", - "version": "0.18.10", - "source": { - "type": "git", - "url": "https://github.com/humbug/php-scoper.git", - "reference": "dc2120a1ddd2fb290349a80db56928fd9e6b1d85" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/humbug/php-scoper/zipball/dc2120a1ddd2fb290349a80db56928fd9e6b1d85", - "reference": "dc2120a1ddd2fb290349a80db56928fd9e6b1d85", - "shasum": "" - }, - "require": { - "fidry/console": "^0.6.6", - "fidry/filesystem": "^1.1", - "jetbrains/phpstorm-stubs": "^v2022.2", - "nikic/php-parser": "^4.12", - "php": "^8.2", - "symfony/console": "^5.2 || ^6.0", - "symfony/filesystem": "^5.2 || ^6.0", - "symfony/finder": "^5.2 || ^6.0", - "thecodingmachine/safe": "^2.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.1", - "ergebnis/composer-normalize": "^2.28", - "fidry/makefile": "^1.0", - "humbug/box": "^4.5.1", - "phpspec/prophecy-phpunit": "^2.0", - "phpunit/phpunit": "^9.0", - "symfony/yaml": "^6.1" - }, - "bin": [ - "bin/php-scoper" - ], - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": false, - "forward-command": false - }, - "branch-alias": { - "dev-master": "1.0-dev" - } - }, - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Humbug\\PhpScoper\\": "src/" - }, - "classmap": [ - "vendor-hotfix/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - }, - { - "name": "Théo Fidry", - "email": "theo.fidry@gmail.com" - }, - { - "name": "Pádraic Brady", - "email": "padraic.brady@gmail.com" - } - ], - "description": "Prefixes all PHP namespaces in a file or directory.", - "support": { - "issues": "https://github.com/humbug/php-scoper/issues", - "source": "https://github.com/humbug/php-scoper/tree/0.18.10" - }, - "time": "2023-12-07T11:04:39+00:00" - }, - { - "name": "jetbrains/phpstorm-stubs", - "version": "v2022.3", - "source": { - "type": "git", - "url": "https://github.com/JetBrains/phpstorm-stubs.git", - "reference": "6b568c153cea002dc6fad96285c3063d07cab18d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/JetBrains/phpstorm-stubs/zipball/6b568c153cea002dc6fad96285c3063d07cab18d", - "reference": "6b568c153cea002dc6fad96285c3063d07cab18d", - "shasum": "" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "@stable", - "nikic/php-parser": "@stable", - "php": "^8.0", - "phpdocumentor/reflection-docblock": "@stable", - "phpunit/phpunit": "@stable" - }, - "type": "library", - "autoload": { - "files": [ - "PhpStormStubsMap.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "description": "PHP runtime & extensions header files for PhpStorm", - "homepage": "https://www.jetbrains.com/phpstorm", - "keywords": [ - "autocomplete", - "code", - "inference", - "inspection", - "jetbrains", - "phpstorm", - "stubs", - "type" - ], - "support": { - "source": "https://github.com/JetBrains/phpstorm-stubs/tree/v2022.3" - }, - "time": "2022-10-17T09:21:37+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": "kelunik/certificate", - "version": "v1.1.3", - "source": { - "type": "git", - "url": "https://github.com/kelunik/certificate.git", - "reference": "7e00d498c264d5eb4f78c69f41c8bd6719c0199e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/kelunik/certificate/zipball/7e00d498c264d5eb4f78c69f41c8bd6719c0199e", - "reference": "7e00d498c264d5eb4f78c69f41c8bd6719c0199e", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "php": ">=7.0" - }, - "require-dev": { - "amphp/php-cs-fixer-config": "^2", - "phpunit/phpunit": "^6 | 7 | ^8 | ^9" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Kelunik\\Certificate\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "Access certificate details and transform between different formats.", - "keywords": [ - "DER", - "certificate", - "certificates", - "openssl", - "pem", - "x509" - ], - "support": { - "issues": "https://github.com/kelunik/certificate/issues", - "source": "https://github.com/kelunik/certificate/tree/v1.1.3" - }, - "time": "2023-02-03T21:26:53+00:00" - }, - { - "name": "league/uri", - "version": "7.4.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/uri.git", - "reference": "bf414ba956d902f5d98bf9385fcf63954f09dce5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri/zipball/bf414ba956d902f5d98bf9385fcf63954f09dce5", - "reference": "bf414ba956d902f5d98bf9385fcf63954f09dce5", - "shasum": "" - }, - "require": { - "league/uri-interfaces": "^7.3", - "php": "^8.1" - }, - "conflict": { - "league/uri-schemes": "^1.0" - }, - "suggest": { - "ext-bcmath": "to improve IPV4 host parsing", - "ext-fileinfo": "to create Data URI from file contennts", - "ext-gmp": "to improve IPV4 host parsing", - "ext-intl": "to handle IDN host with the best performance", - "jeremykendall/php-domain-parser": "to resolve Public Suffix and Top Level Domain", - "league/uri-components": "Needed to easily manipulate URI objects components", - "php-64bit": "to improve IPV4 host parsing", - "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "7.x-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Uri\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ignace Nyamagana Butera", - "email": "nyamsprod@gmail.com", - "homepage": "https://nyamsprod.com" - } - ], - "description": "URI manipulation library", - "homepage": "https://uri.thephpleague.com", - "keywords": [ - "data-uri", - "file-uri", - "ftp", - "hostname", - "http", - "https", - "middleware", - "parse_str", - "parse_url", - "psr-7", - "query-string", - "querystring", - "rfc3986", - "rfc3987", - "rfc6570", - "uri", - "uri-template", - "url", - "ws" - ], - "support": { - "docs": "https://uri.thephpleague.com", - "forum": "https://thephpleague.slack.com", - "issues": "https://github.com/thephpleague/uri-src/issues", - "source": "https://github.com/thephpleague/uri/tree/7.4.0" - }, - "funding": [ - { - "url": "https://github.com/sponsors/nyamsprod", - "type": "github" - } - ], - "time": "2023-12-01T06:24:25+00:00" - }, - { - "name": "league/uri-interfaces", - "version": "7.4.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/uri-interfaces.git", - "reference": "bd8c487ec236930f7bbc42b8d374fa882fbba0f3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/uri-interfaces/zipball/bd8c487ec236930f7bbc42b8d374fa882fbba0f3", - "reference": "bd8c487ec236930f7bbc42b8d374fa882fbba0f3", - "shasum": "" - }, - "require": { - "ext-filter": "*", - "php": "^8.1", - "psr/http-factory": "^1", - "psr/http-message": "^1.1 || ^2.0" - }, - "suggest": { - "ext-bcmath": "to improve IPV4 host parsing", - "ext-gmp": "to improve IPV4 host parsing", - "ext-intl": "to handle IDN host with the best performance", - "php-64bit": "to improve IPV4 host parsing", - "symfony/polyfill-intl-idn": "to handle IDN host via the Symfony polyfill if ext-intl is not present" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "7.x-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Uri\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ignace Nyamagana Butera", - "email": "nyamsprod@gmail.com", - "homepage": "https://nyamsprod.com" - } - ], - "description": "Common interfaces and classes for URI representation and interaction", - "homepage": "https://uri.thephpleague.com", - "keywords": [ - "data-uri", - "file-uri", - "ftp", - "hostname", - "http", - "https", - "parse_str", - "parse_url", - "psr-7", - "query-string", - "querystring", - "rfc3986", - "rfc3987", - "rfc6570", - "uri", - "url", - "ws" - ], - "support": { - "docs": "https://uri.thephpleague.com", - "forum": "https://thephpleague.slack.com", - "issues": "https://github.com/thephpleague/uri-src/issues", - "source": "https://github.com/thephpleague/uri-interfaces/tree/7.4.0" - }, - "funding": [ - { - "url": "https://github.com/sponsors/nyamsprod", - "type": "github" - } - ], - "time": "2023-11-24T15:40:42+00:00" - }, - { - "name": "nikic/iter", - "version": "v2.3.0", - "source": { - "type": "git", - "url": "https://github.com/nikic/iter.git", - "reference": "d9f88bc04b5b453914373e70c041353d8e67c3f5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/iter/zipball/d9f88bc04b5b453914373e70c041353d8e67c3f5", - "reference": "d9f88bc04b5b453914373e70c041353d8e67c3f5", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "require-dev": { - "phpstan/phpstan": "^1.4", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", - "vimeo/psalm": "^4.18 || ^5.13" - }, - "type": "library", - "autoload": { - "files": [ - "src/iter.func.php", - "src/iter.php", - "src/iter.rewindable.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov", - "email": "nikic@php.net" - } - ], - "description": "Iteration primitives using generators", - "keywords": [ - "functional", - "generator", - "iterator" - ], - "support": { - "issues": "https://github.com/nikic/iter/issues", - "source": "https://github.com/nikic/iter/tree/v2.3.0" - }, - "time": "2023-07-25T19:55:40+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v4.17.1", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", - "reference": "a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d", - "shasum": "" - }, - "require": { - "ext-tokenizer": "*", - "php": ">=7.0" - }, - "require-dev": { - "ircmaxell/php-yacc": "^0.0.7", - "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" - }, - "bin": [ - "bin/php-parse" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "4.9-dev" - } - }, - "autoload": { - "psr-4": { - "PhpParser\\": "lib/PhpParser" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Nikita Popov" - } - ], - "description": "A PHP parser written in PHP", - "keywords": [ - "parser", - "php" - ], - "support": { - "issues": "https://github.com/nikic/PHP-Parser/issues", - "source": "https://github.com/nikic/PHP-Parser/tree/v4.17.1" - }, - "time": "2023-08-13T19:53:39+00:00" - }, - { - "name": "phpdocumentor/reflection-common", - "version": "2.2.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionCommon.git", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionCommon/zipball/1d01c49d4ed62f25aa84a747ad35d5a16924662b", - "reference": "1d01c49d4ed62f25aa84a747ad35d5a16924662b", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-2.x": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jaap van Otterdijk", - "email": "opensource@ijaap.nl" - } - ], - "description": "Common reflection classes used by phpdocumentor to reflect the code structure", - "homepage": "http://www.phpdoc.org", - "keywords": [ - "FQSEN", - "phpDocumentor", - "phpdoc", - "reflection", - "static analysis" - ], - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionCommon/issues", - "source": "https://github.com/phpDocumentor/ReflectionCommon/tree/2.x" - }, - "time": "2020-06-27T09:03:43+00:00" - }, - { - "name": "phpdocumentor/reflection-docblock", - "version": "5.3.0", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/ReflectionDocBlock.git", - "reference": "622548b623e81ca6d78b721c5e029f4ce664f170" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/ReflectionDocBlock/zipball/622548b623e81ca6d78b721c5e029f4ce664f170", - "reference": "622548b623e81ca6d78b721c5e029f4ce664f170", - "shasum": "" - }, - "require": { - "ext-filter": "*", - "php": "^7.2 || ^8.0", - "phpdocumentor/reflection-common": "^2.2", - "phpdocumentor/type-resolver": "^1.3", - "webmozart/assert": "^1.9.1" - }, - "require-dev": { - "mockery/mockery": "~1.3.2", - "psalm/phar": "^4.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - }, - { - "name": "Jaap van Otterdijk", - "email": "account@ijaap.nl" - } - ], - "description": "With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.", - "support": { - "issues": "https://github.com/phpDocumentor/ReflectionDocBlock/issues", - "source": "https://github.com/phpDocumentor/ReflectionDocBlock/tree/5.3.0" - }, - "time": "2021-10-19T17:43:47+00:00" - }, - { - "name": "phpdocumentor/type-resolver", - "version": "1.7.3", - "source": { - "type": "git", - "url": "https://github.com/phpDocumentor/TypeResolver.git", - "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpDocumentor/TypeResolver/zipball/3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", - "reference": "3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419", - "shasum": "" - }, - "require": { - "doctrine/deprecations": "^1.0", - "php": "^7.4 || ^8.0", - "phpdocumentor/reflection-common": "^2.0", - "phpstan/phpdoc-parser": "^1.13" - }, - "require-dev": { - "ext-tokenizer": "*", - "phpbench/phpbench": "^1.2", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^9.5", - "rector/rector": "^0.13.9", - "vimeo/psalm": "^4.25" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-1.x": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "phpDocumentor\\Reflection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Mike van Riel", - "email": "me@mikevanriel.com" - } - ], - "description": "A PSR-5 based resolver of Class names, Types and Structural Element Names", - "support": { - "issues": "https://github.com/phpDocumentor/TypeResolver/issues", - "source": "https://github.com/phpDocumentor/TypeResolver/tree/1.7.3" - }, - "time": "2023-08-12T11:01:26+00:00" - }, - { - "name": "phpstan/phpdoc-parser", - "version": "1.24.4", - "source": { - "type": "git", - "url": "https://github.com/phpstan/phpdoc-parser.git", - "reference": "6bd0c26f3786cd9b7c359675cb789e35a8e07496" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpstan/phpdoc-parser/zipball/6bd0c26f3786cd9b7c359675cb789e35a8e07496", - "reference": "6bd0c26f3786cd9b7c359675cb789e35a8e07496", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "doctrine/annotations": "^2.0", - "nikic/php-parser": "^4.15", - "php-parallel-lint/php-parallel-lint": "^1.2", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.5", - "phpstan/phpstan-phpunit": "^1.1", - "phpstan/phpstan-strict-rules": "^1.0", - "phpunit/phpunit": "^9.5", - "symfony/process": "^5.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "PHPStan\\PhpDocParser\\": [ - "src/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHPDoc parser with support for nullable, intersection and generic types", - "support": { - "issues": "https://github.com/phpstan/phpdoc-parser/issues", - "source": "https://github.com/phpstan/phpdoc-parser/tree/1.24.4" - }, - "time": "2023-11-26T18:29:22+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-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": "revolt/event-loop", - "version": "v1.0.6", - "source": { - "type": "git", - "url": "https://github.com/revoltphp/event-loop.git", - "reference": "25de49af7223ba039f64da4ae9a28ec2d10d0254" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/revoltphp/event-loop/zipball/25de49af7223ba039f64da4ae9a28ec2d10d0254", - "reference": "25de49af7223ba039f64da4ae9a28ec2d10d0254", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "ext-json": "*", - "jetbrains/phpstorm-stubs": "^2019.3", - "phpunit/phpunit": "^9", - "psalm/phar": "^5.15" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Revolt\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Aaron Piotrowski", - "email": "aaron@trowski.com" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "ceesjank@gmail.com" - }, - { - "name": "Christian Lück", - "email": "christian@clue.engineering" - }, - { - "name": "Niklas Keller", - "email": "me@kelunik.com" - } - ], - "description": "Rock-solid event loop for concurrent PHP applications.", - "keywords": [ - "async", - "asynchronous", - "concurrency", - "event", - "event-loop", - "non-blocking", - "scheduler" - ], - "support": { - "issues": "https://github.com/revoltphp/event-loop/issues", - "source": "https://github.com/revoltphp/event-loop/tree/v1.0.6" - }, - "time": "2023-11-30T05:34:44+00:00" - }, - { - "name": "sebastian/diff", - "version": "5.0.3", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/diff.git", - "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/912dc2fbe3e3c1e7873313cc801b100b6c68c87b", - "reference": "912dc2fbe3e3c1e7873313cc801b100b6c68c87b", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0", - "symfony/process": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - } - ], - "description": "Diff implementation", - "homepage": "https://github.com/sebastianbergmann/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/diff/issues", - "security": "https://github.com/sebastianbergmann/diff/security/policy", - "source": "https://github.com/sebastianbergmann/diff/tree/5.0.3" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-05-01T07:48:21+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": "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/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/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-iconv", - "version": "v1.28.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-iconv.git", - "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-iconv/zipball/6de50471469b8c9afc38164452ab2b6170ee71c1", - "reference": "6de50471469b8c9afc38164452ab2b6170ee71c1", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-iconv": "*" - }, - "suggest": { - "ext-iconv": "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\\Iconv\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for the Iconv extension", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "iconv", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-iconv/tree/v1.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-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/process", - "version": "v7.0.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "13bdb1670c7f510494e04fcb2bfa29af63db9c0d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/13bdb1670c7f510494e04fcb2bfa29af63db9c0d", - "reference": "13bdb1670c7f510494e04fcb2bfa29af63db9c0d", - "shasum": "" - }, - "require": { - "php": ">=8.2" - }, - "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/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-20T16:43:42+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/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-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": "thecodingmachine/safe", - "version": "v2.5.0", - "source": { - "type": "git", - "url": "https://github.com/thecodingmachine/safe.git", - "reference": "3115ecd6b4391662b4931daac4eba6b07a2ac1f0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/3115ecd6b4391662b4931daac4eba6b07a2ac1f0", - "reference": "3115ecd6b4391662b4931daac4eba6b07a2ac1f0", - "shasum": "" - }, - "require": { - "php": "^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.5", - "phpunit/phpunit": "^9.5", - "squizlabs/php_codesniffer": "^3.2", - "thecodingmachine/phpstan-strict-rules": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "files": [ - "deprecated/apc.php", - "deprecated/array.php", - "deprecated/datetime.php", - "deprecated/libevent.php", - "deprecated/misc.php", - "deprecated/password.php", - "deprecated/mssql.php", - "deprecated/stats.php", - "deprecated/strings.php", - "lib/special_cases.php", - "deprecated/mysqli.php", - "generated/apache.php", - "generated/apcu.php", - "generated/array.php", - "generated/bzip2.php", - "generated/calendar.php", - "generated/classobj.php", - "generated/com.php", - "generated/cubrid.php", - "generated/curl.php", - "generated/datetime.php", - "generated/dir.php", - "generated/eio.php", - "generated/errorfunc.php", - "generated/exec.php", - "generated/fileinfo.php", - "generated/filesystem.php", - "generated/filter.php", - "generated/fpm.php", - "generated/ftp.php", - "generated/funchand.php", - "generated/gettext.php", - "generated/gmp.php", - "generated/gnupg.php", - "generated/hash.php", - "generated/ibase.php", - "generated/ibmDb2.php", - "generated/iconv.php", - "generated/image.php", - "generated/imap.php", - "generated/info.php", - "generated/inotify.php", - "generated/json.php", - "generated/ldap.php", - "generated/libxml.php", - "generated/lzf.php", - "generated/mailparse.php", - "generated/mbstring.php", - "generated/misc.php", - "generated/mysql.php", - "generated/network.php", - "generated/oci8.php", - "generated/opcache.php", - "generated/openssl.php", - "generated/outcontrol.php", - "generated/pcntl.php", - "generated/pcre.php", - "generated/pgsql.php", - "generated/posix.php", - "generated/ps.php", - "generated/pspell.php", - "generated/readline.php", - "generated/rpminfo.php", - "generated/rrd.php", - "generated/sem.php", - "generated/session.php", - "generated/shmop.php", - "generated/sockets.php", - "generated/sodium.php", - "generated/solr.php", - "generated/spl.php", - "generated/sqlsrv.php", - "generated/ssdeep.php", - "generated/ssh2.php", - "generated/stream.php", - "generated/strings.php", - "generated/swoole.php", - "generated/uodbc.php", - "generated/uopz.php", - "generated/url.php", - "generated/var.php", - "generated/xdiff.php", - "generated/xml.php", - "generated/xmlrpc.php", - "generated/yaml.php", - "generated/yaz.php", - "generated/zip.php", - "generated/zlib.php" - ], - "classmap": [ - "lib/DateTime.php", - "lib/DateTimeImmutable.php", - "lib/Exceptions/", - "deprecated/Exceptions/", - "generated/Exceptions/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "PHP core functions that throw exceptions instead of returning FALSE on error", - "support": { - "issues": "https://github.com/thecodingmachine/safe/issues", - "source": "https://github.com/thecodingmachine/safe/tree/v2.5.0" - }, - "time": "2023-04-05T11:54:14+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" - } - ], - "packages-dev": [ - { - "name": "bamarni/composer-bin-plugin", - "version": "1.8.2", - "source": { - "type": "git", - "url": "https://github.com/bamarni/composer-bin-plugin.git", - "reference": "92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/bamarni/composer-bin-plugin/zipball/92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880", - "reference": "92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^2.0", - "php": "^7.2.5 || ^8.0" - }, - "require-dev": { - "composer/composer": "^2.0", - "ext-json": "*", - "phpstan/extension-installer": "^1.1", - "phpstan/phpstan": "^1.8", - "phpstan/phpstan-phpunit": "^1.1", - "phpunit/phpunit": "^8.5 || ^9.5", - "symfony/console": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", - "symfony/finder": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0", - "symfony/process": "^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0" - }, - "type": "composer-plugin", - "extra": { - "class": "Bamarni\\Composer\\Bin\\BamarniBinPlugin" - }, - "autoload": { - "psr-4": { - "Bamarni\\Composer\\Bin\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "No conflicts for your bin dependencies", - "keywords": [ - "composer", - "conflict", - "dependency", - "executable", - "isolation", - "tool" - ], - "support": { - "issues": "https://github.com/bamarni/composer-bin-plugin/issues", - "source": "https://github.com/bamarni/composer-bin-plugin/tree/1.8.2" - }, - "time": "2022-10-31T08:38:03+00:00" - }, - { - "name": "doctrine/instantiator", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/doctrine/instantiator.git", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", - "shasum": "" - }, - "require": { - "php": "^8.1" - }, - "require-dev": { - "doctrine/coding-standard": "^11", - "ext-pdo": "*", - "ext-phar": "*", - "phpbench/phpbench": "^1.2", - "phpstan/phpstan": "^1.9.4", - "phpstan/phpstan-phpunit": "^1.3", - "phpunit/phpunit": "^9.5.27", - "vimeo/psalm": "^5.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Marco Pivetta", - "email": "ocramius@gmail.com", - "homepage": "https://ocramius.github.io/" - } - ], - "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", - "homepage": "https://www.doctrine-project.org/projects/instantiator.html", - "keywords": [ - "constructor", - "instantiate" - ], - "support": { - "issues": "https://github.com/doctrine/instantiator/issues", - "source": "https://github.com/doctrine/instantiator/tree/2.0.0" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", - "type": "tidelift" - } - ], - "time": "2022-12-30T00:23:10+00:00" - }, - { - "name": "ergebnis/composer-normalize", - "version": "2.40.0", - "source": { - "type": "git", - "url": "https://github.com/ergebnis/composer-normalize.git", - "reference": "665de8e2bbe7c3e31b0a819b4dc0165289c0d230" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ergebnis/composer-normalize/zipball/665de8e2bbe7c3e31b0a819b4dc0165289c0d230", - "reference": "665de8e2bbe7c3e31b0a819b4dc0165289c0d230", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^2.0.0", - "ergebnis/json": "^1.1.0", - "ergebnis/json-normalizer": "^4.3.0", - "ergebnis/json-printer": "^3.4.0", - "ext-json": "*", - "justinrainbow/json-schema": "^5.2.12", - "localheinz/diff": "^1.1.1", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" - }, - "conflict": { - "symfony/console": "^7.0.0" - }, - "require-dev": { - "composer/composer": "^2.6.5", - "ergebnis/license": "^2.4.0", - "ergebnis/php-cs-fixer-config": "~6.13.1", - "ergebnis/phpunit-slow-test-detector": "^2.7.0", - "fakerphp/faker": "^1.23.0", - "infection/infection": "~0.27.8", - "phpunit/phpunit": "^10.4.2", - "psalm/plugin-phpunit": "~0.18.4", - "rector/rector": "~0.18.12", - "symfony/filesystem": "^6.4.0", - "vimeo/psalm": "^5.17.0" - }, - "type": "composer-plugin", - "extra": { - "class": "Ergebnis\\Composer\\Normalize\\NormalizePlugin", - "composer-normalize": { - "indent-size": 2, - "indent-style": "space" - }, - "plugin-optional": true - }, - "autoload": { - "psr-4": { - "Ergebnis\\Composer\\Normalize\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Andreas Möller", - "email": "am@localheinz.com", - "homepage": "https://localheinz.com" - } - ], - "description": "Provides a composer plugin for normalizing composer.json.", - "homepage": "https://github.com/ergebnis/composer-normalize", - "keywords": [ - "composer", - "normalize", - "normalizer", - "plugin" - ], - "support": { - "issues": "https://github.com/ergebnis/composer-normalize/issues", - "security": "https://github.com/ergebnis/composer-normalize/blob/main/.github/SECURITY.md", - "source": "https://github.com/ergebnis/composer-normalize" - }, - "time": "2023-12-05T16:07:43+00:00" - }, - { - "name": "ergebnis/json", - "version": "1.1.0", - "source": { - "type": "git", - "url": "https://github.com/ergebnis/json.git", - "reference": "9f2b9086c43b189d7044a5b6215a931fb6e9125d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ergebnis/json/zipball/9f2b9086c43b189d7044a5b6215a931fb6e9125d", - "reference": "9f2b9086c43b189d7044a5b6215a931fb6e9125d", - "shasum": "" - }, - "require": { - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" - }, - "require-dev": { - "ergebnis/composer-normalize": "^2.29.0", - "ergebnis/data-provider": "^3.0.0", - "ergebnis/license": "^2.2.0", - "ergebnis/php-cs-fixer-config": "^6.6.0", - "ergebnis/phpunit-slow-test-detector": "^2.3.0", - "fakerphp/faker": "^1.23.0", - "infection/infection": "~0.27.4", - "phpunit/phpunit": "^10.4.1", - "psalm/plugin-phpunit": "~0.18.4", - "rector/rector": "~0.18.5", - "vimeo/psalm": "^5.15.0" - }, - "type": "library", - "extra": { - "composer-normalize": { - "indent-size": 2, - "indent-style": "space" - } - }, - "autoload": { - "psr-4": { - "Ergebnis\\Json\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Andreas Möller", - "email": "am@localheinz.com", - "homepage": "https://localheinz.com" - } - ], - "description": "Provides a Json value object for representing a valid JSON string.", - "homepage": "https://github.com/ergebnis/json", - "keywords": [ - "json" - ], - "support": { - "issues": "https://github.com/ergebnis/json/issues", - "security": "https://github.com/ergebnis/json/blob/main/.github/SECURITY.md", - "source": "https://github.com/ergebnis/json" - }, - "time": "2023-10-10T07:57:48+00:00" - }, - { - "name": "ergebnis/json-normalizer", - "version": "4.3.0", - "source": { - "type": "git", - "url": "https://github.com/ergebnis/json-normalizer.git", - "reference": "716fa0a5dcc75fbcb2c1c2e0542b2f56732460bd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ergebnis/json-normalizer/zipball/716fa0a5dcc75fbcb2c1c2e0542b2f56732460bd", - "reference": "716fa0a5dcc75fbcb2c1c2e0542b2f56732460bd", - "shasum": "" - }, - "require": { - "ergebnis/json": "^1.1.0", - "ergebnis/json-pointer": "^3.2.0", - "ergebnis/json-printer": "^3.4.0", - "ergebnis/json-schema-validator": "^4.1.0", - "ext-json": "*", - "justinrainbow/json-schema": "^5.2.12", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" - }, - "require-dev": { - "composer/semver": "^3.4.0", - "ergebnis/data-provider": "^3.0.0", - "ergebnis/license": "^2.2.0", - "ergebnis/php-cs-fixer-config": "~6.7.0", - "ergebnis/phpunit-slow-test-detector": "^2.3.0", - "fakerphp/faker": "^1.23.0", - "infection/infection": "~0.27.4", - "phpunit/phpunit": "^10.4.1", - "psalm/plugin-phpunit": "~0.18.4", - "rector/rector": "~0.18.5", - "symfony/filesystem": "^6.3.1", - "symfony/finder": "^6.3.5", - "vimeo/psalm": "^5.15.0" - }, - "suggest": { - "composer/semver": "If you want to use ComposerJsonNormalizer or VersionConstraintNormalizer" - }, - "type": "library", - "autoload": { - "psr-4": { - "Ergebnis\\Json\\Normalizer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Andreas Möller", - "email": "am@localheinz.com", - "homepage": "https://localheinz.com" - } - ], - "description": "Provides generic and vendor-specific normalizers for normalizing JSON documents.", - "homepage": "https://github.com/ergebnis/json-normalizer", - "keywords": [ - "json", - "normalizer" - ], - "support": { - "issues": "https://github.com/ergebnis/json-normalizer/issues", - "security": "https://github.com/ergebnis/json-normalizer/blob/main/.github/SECURITY.md", - "source": "https://github.com/ergebnis/json-normalizer" - }, - "time": "2023-10-10T15:15:03+00:00" - }, - { - "name": "ergebnis/json-pointer", - "version": "3.3.0", - "source": { - "type": "git", - "url": "https://github.com/ergebnis/json-pointer.git", - "reference": "8e517faefc06b7c761eaa041febef51a9375819a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ergebnis/json-pointer/zipball/8e517faefc06b7c761eaa041febef51a9375819a", - "reference": "8e517faefc06b7c761eaa041febef51a9375819a", - "shasum": "" - }, - "require": { - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" - }, - "require-dev": { - "ergebnis/composer-normalize": "^2.29.0", - "ergebnis/data-provider": "^3.0.0", - "ergebnis/license": "^2.2.0", - "ergebnis/php-cs-fixer-config": "~6.7.0", - "ergebnis/phpunit-slow-test-detector": "^2.3.0", - "fakerphp/faker": "^1.23.0", - "infection/infection": "~0.27.4", - "phpunit/phpunit": "^10.4.1", - "psalm/plugin-phpunit": "~0.18.4", - "rector/rector": "~0.18.5", - "vimeo/psalm": "^5.15.0" - }, - "type": "library", - "extra": { - "composer-normalize": { - "indent-size": 2, - "indent-style": "space" - } - }, - "autoload": { - "psr-4": { - "Ergebnis\\Json\\Pointer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Andreas Möller", - "email": "am@localheinz.com", - "homepage": "https://localheinz.com" - } - ], - "description": "Provides JSON pointer as a value object.", - "homepage": "https://github.com/ergebnis/json-pointer", - "keywords": [ - "RFC6901", - "json", - "pointer" - ], - "support": { - "issues": "https://github.com/ergebnis/json-pointer/issues", - "security": "https://github.com/ergebnis/json-pointer/blob/main/.github/SECURITY.md", - "source": "https://github.com/ergebnis/json-pointer" - }, - "time": "2023-10-10T14:41:06+00:00" - }, - { - "name": "ergebnis/json-printer", - "version": "3.4.0", - "source": { - "type": "git", - "url": "https://github.com/ergebnis/json-printer.git", - "reference": "05841593d72499de4f7ce4034a237c77e470558f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ergebnis/json-printer/zipball/05841593d72499de4f7ce4034a237c77e470558f", - "reference": "05841593d72499de4f7ce4034a237c77e470558f", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" - }, - "require-dev": { - "ergebnis/license": "^2.2.0", - "ergebnis/php-cs-fixer-config": "^6.6.0", - "ergebnis/phpunit-slow-test-detector": "^2.3.0", - "fakerphp/faker": "^1.23.0", - "infection/infection": "~0.27.3", - "phpunit/phpunit": "^10.4.1", - "psalm/plugin-phpunit": "~0.18.4", - "rector/rector": "~0.18.5", - "vimeo/psalm": "^5.15.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Ergebnis\\Json\\Printer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Andreas Möller", - "email": "am@localheinz.com", - "homepage": "https://localheinz.com" - } - ], - "description": "Provides a JSON printer, allowing for flexible indentation.", - "homepage": "https://github.com/ergebnis/json-printer", - "keywords": [ - "formatter", - "json", - "printer" - ], - "support": { - "issues": "https://github.com/ergebnis/json-printer/issues", - "security": "https://github.com/ergebnis/json-printer/blob/main/.github/SECURITY.md", - "source": "https://github.com/ergebnis/json-printer" - }, - "time": "2023-10-10T07:42:48+00:00" - }, - { - "name": "ergebnis/json-schema-validator", - "version": "4.1.0", - "source": { - "type": "git", - "url": "https://github.com/ergebnis/json-schema-validator.git", - "reference": "d568ed85d1cdc2e49d650c2fc234dc2516f3f25b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ergebnis/json-schema-validator/zipball/d568ed85d1cdc2e49d650c2fc234dc2516f3f25b", - "reference": "d568ed85d1cdc2e49d650c2fc234dc2516f3f25b", - "shasum": "" - }, - "require": { - "ergebnis/json": "^1.0.1", - "ergebnis/json-pointer": "^3.2.0", - "ext-json": "*", - "justinrainbow/json-schema": "^5.2.12", - "php": "~8.1.0 || ~8.2.0 || ~8.3.0" - }, - "require-dev": { - "ergebnis/composer-normalize": "^2.21.0", - "ergebnis/data-provider": "^3.0.0", - "ergebnis/license": "^2.2.0", - "ergebnis/php-cs-fixer-config": "~6.6.0", - "ergebnis/phpunit-slow-test-detector": "^2.3.0", - "fakerphp/faker": "^1.23.0", - "infection/infection": "~0.27.4", - "phpunit/phpunit": "^10.4.1", - "psalm/plugin-phpunit": "~0.18.4", - "rector/rector": "~0.18.5", - "vimeo/psalm": "^5.15.0" - }, - "type": "library", - "extra": { - "composer-normalize": { - "indent-size": 2, - "indent-style": "space" - } - }, - "autoload": { - "psr-4": { - "Ergebnis\\Json\\SchemaValidator\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Andreas Möller", - "email": "am@localheinz.com", - "homepage": "https://localheinz.com" - } - ], - "description": "Provides a JSON schema validator, building on top of justinrainbow/json-schema.", - "homepage": "https://github.com/ergebnis/json-schema-validator", - "keywords": [ - "json", - "schema", - "validator" - ], - "support": { - "issues": "https://github.com/ergebnis/json-schema-validator/issues", - "security": "https://github.com/ergebnis/json-schema-validator/blob/main/.github/SECURITY.md", - "source": "https://github.com/ergebnis/json-schema-validator" - }, - "time": "2023-10-10T14:16:57+00:00" - }, - { - "name": "fidry/makefile", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/theofidry/makefile.git", - "reference": "be5a048dcc5648d04e924facce0f85b406d731e4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theofidry/makefile/zipball/be5a048dcc5648d04e924facce0f85b406d731e4", - "reference": "be5a048dcc5648d04e924facce0f85b406d731e4", - "shasum": "" - }, - "require": { - "php": "^8.1", - "thecodingmachine/safe": "^2.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4", - "ergebnis/composer-normalize": "^2.28", - "infection/infection": "^0.26", - "phpunit/phpunit": "^10.3" - }, - "type": "library", - "extra": { - "bamarni-bin": { - "bin-links": false, - "forward-command": false - }, - "branch-alias": { - "dev-main": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Fidry\\Makefile\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Théo Fidry", - "email": "theo.fidry@gmail.com" - } - ], - "description": "Utility to parse a Makefile and implement some convention rules.", - "keywords": [ - "Makefile" - ], - "support": { - "issues": "https://github.com/theofidry/makefile/issues", - "source": "https://github.com/theofidry/makefile/tree/1.0.1" - }, - "funding": [ - { - "url": "https://github.com/theofidry", - "type": "github" - } - ], - "time": "2023-10-13T23:49:14+00:00" - }, - { - "name": "localheinz/diff", - "version": "1.1.1", - "source": { - "type": "git", - "url": "https://github.com/localheinz/diff.git", - "reference": "851bb20ea8358c86f677f5f111c4ab031b1c764c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/localheinz/diff/zipball/851bb20ea8358c86f677f5f111c4ab031b1c764c", - "reference": "851bb20ea8358c86f677f5f111c4ab031b1c764c", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^7.5 || ^8.0", - "symfony/process": "^4.2 || ^5" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Kore Nordmann", - "email": "mail@kore-nordmann.de" - } - ], - "description": "Fork of sebastian/diff for use with ergebnis/composer-normalize", - "homepage": "https://github.com/localheinz/diff", - "keywords": [ - "diff", - "udiff", - "unidiff", - "unified diff" - ], - "support": { - "source": "https://github.com/localheinz/diff/tree/main" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2020-07-06T04:49:32+00:00" - }, - { - "name": "mikey179/vfsstream", - "version": "v1.6.11", - "source": { - "type": "git", - "url": "https://github.com/bovigo/vfsStream.git", - "reference": "17d16a85e6c26ce1f3e2fa9ceeacdc2855db1e9f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/bovigo/vfsStream/zipball/17d16a85e6c26ce1f3e2fa9ceeacdc2855db1e9f", - "reference": "17d16a85e6c26ce1f3e2fa9ceeacdc2855db1e9f", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.5|^5.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.6.x-dev" - } - }, - "autoload": { - "psr-0": { - "org\\bovigo\\vfs\\": "src/main/php" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Frank Kleine", - "homepage": "http://frankkleine.de/", - "role": "Developer" - } - ], - "description": "Virtual file system to mock the real file system in unit tests.", - "homepage": "http://vfs.bovigo.org/", - "support": { - "issues": "https://github.com/bovigo/vfsStream/issues", - "source": "https://github.com/bovigo/vfsStream/tree/master", - "wiki": "https://github.com/bovigo/vfsStream/wiki" - }, - "time": "2022-02-23T02:02:42+00:00" - }, - { - "name": "myclabs/deep-copy", - "version": "1.11.1", - "source": { - "type": "git", - "url": "https://github.com/myclabs/DeepCopy.git", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", - "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "conflict": { - "doctrine/collections": "<1.6.8", - "doctrine/common": "<2.13.3 || >=3,<3.2.2" - }, - "require-dev": { - "doctrine/collections": "^1.6.8", - "doctrine/common": "^2.13.3 || ^3.2.2", - "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" - }, - "type": "library", - "autoload": { - "files": [ - "src/DeepCopy/deep_copy.php" - ], - "psr-4": { - "DeepCopy\\": "src/DeepCopy/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Create deep copies (clones) of your objects", - "keywords": [ - "clone", - "copy", - "duplicate", - "object", - "object graph" - ], - "support": { - "issues": "https://github.com/myclabs/DeepCopy/issues", - "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" - }, - "funding": [ - { - "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", - "type": "tidelift" - } - ], - "time": "2023-03-08T13:26:56+00:00" - }, - { - "name": "phar-io/manifest", - "version": "2.0.3", - "source": { - "type": "git", - "url": "https://github.com/phar-io/manifest.git", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", - "reference": "97803eca37d319dfa7826cc2437fc020857acb53", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-phar": "*", - "ext-xmlwriter": "*", - "phar-io/version": "^3.0.1", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", - "support": { - "issues": "https://github.com/phar-io/manifest/issues", - "source": "https://github.com/phar-io/manifest/tree/2.0.3" - }, - "time": "2021-07-20T11:28:43+00:00" - }, - { - "name": "phar-io/version", - "version": "3.2.1", - "source": { - "type": "git", - "url": "https://github.com/phar-io/version.git", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - }, - { - "name": "Sebastian Heuer", - "email": "sebastian@phpeople.de", - "role": "Developer" - }, - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "Developer" - } - ], - "description": "Library for handling version information and constraints", - "support": { - "issues": "https://github.com/phar-io/version/issues", - "source": "https://github.com/phar-io/version/tree/3.2.1" - }, - "time": "2022-02-21T01:04:05+00:00" - }, - { - "name": "phpspec/prophecy", - "version": "v1.18.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy.git", - "reference": "d4f454f7e1193933f04e6500de3e79191648ed0c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy/zipball/d4f454f7e1193933f04e6500de3e79191648ed0c", - "reference": "d4f454f7e1193933f04e6500de3e79191648ed0c", - "shasum": "" - }, - "require": { - "doctrine/instantiator": "^1.2 || ^2.0", - "php": "^7.2 || 8.0.* || 8.1.* || 8.2.* || 8.3.*", - "phpdocumentor/reflection-docblock": "^5.2", - "sebastian/comparator": "^3.0 || ^4.0 || ^5.0", - "sebastian/recursion-context": "^3.0 || ^4.0 || ^5.0" - }, - "require-dev": { - "phpspec/phpspec": "^6.0 || ^7.0", - "phpstan/phpstan": "^1.9", - "phpunit/phpunit": "^8.0 || ^9.0 || ^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Prophecy\\": "src/Prophecy" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Konstantin Kudryashov", - "email": "ever.zet@gmail.com", - "homepage": "http://everzet.com" - }, - { - "name": "Marcello Duarte", - "email": "marcello.duarte@gmail.com" - } - ], - "description": "Highly opinionated mocking framework for PHP 5.3+", - "homepage": "https://github.com/phpspec/prophecy", - "keywords": [ - "Double", - "Dummy", - "dev", - "fake", - "mock", - "spy", - "stub" - ], - "support": { - "issues": "https://github.com/phpspec/prophecy/issues", - "source": "https://github.com/phpspec/prophecy/tree/v1.18.0" - }, - "time": "2023-12-07T16:22:33+00:00" - }, - { - "name": "phpspec/prophecy-phpunit", - "version": "v2.1.0", - "source": { - "type": "git", - "url": "https://github.com/phpspec/prophecy-phpunit.git", - "reference": "29f8114c2c319a4308e6b070902211e062efa392" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/phpspec/prophecy-phpunit/zipball/29f8114c2c319a4308e6b070902211e062efa392", - "reference": "29f8114c2c319a4308e6b070902211e062efa392", - "shasum": "" - }, - "require": { - "php": "^7.3 || ^8", - "phpspec/prophecy": "^1.18", - "phpunit/phpunit": "^9.1 || ^10.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0-dev" - } - }, - "autoload": { - "psr-4": { - "Prophecy\\PhpUnit\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Christophe Coevoet", - "email": "stof@notk.org" - } - ], - "description": "Integrating the Prophecy mocking library in PHPUnit test cases", - "homepage": "http://phpspec.net", - "keywords": [ - "phpunit", - "prophecy" - ], - "support": { - "issues": "https://github.com/phpspec/prophecy-phpunit/issues", - "source": "https://github.com/phpspec/prophecy-phpunit/tree/v2.1.0" - }, - "time": "2023-12-08T12:48:02+00:00" - }, - { - "name": "phpunit/php-code-coverage", - "version": "10.1.9", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-code-coverage.git", - "reference": "a56a9ab2f680246adcf3db43f38ddf1765774735" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/a56a9ab2f680246adcf3db43f38ddf1765774735", - "reference": "a56a9ab2f680246adcf3db43f38ddf1765774735", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "ext-xmlwriter": "*", - "nikic/php-parser": "^4.15", - "php": ">=8.1", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-text-template": "^3.0", - "sebastian/code-unit-reverse-lookup": "^3.0", - "sebastian/complexity": "^3.0", - "sebastian/environment": "^6.0", - "sebastian/lines-of-code": "^2.0", - "sebastian/version": "^4.0", - "theseer/tokenizer": "^1.2.0" - }, - "require-dev": { - "phpunit/phpunit": "^10.1" - }, - "suggest": { - "ext-pcov": "PHP extension that provides line coverage", - "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "10.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", - "homepage": "https://github.com/sebastianbergmann/php-code-coverage", - "keywords": [ - "coverage", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", - "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", - "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/10.1.9" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-11-23T12:23:20+00:00" - }, - { - "name": "phpunit/php-file-iterator", - "version": "4.1.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-file-iterator.git", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/a95037b6d9e608ba092da1b23931e537cadc3c3c", - "reference": "a95037b6d9e608ba092da1b23931e537cadc3c3c", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "FilterIterator implementation that filters files based on a list of suffixes.", - "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", - "keywords": [ - "filesystem", - "iterator" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", - "security": "https://github.com/sebastianbergmann/php-file-iterator/security/policy", - "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/4.1.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-08-31T06:24:48+00:00" - }, - { - "name": "phpunit/php-invoker", - "version": "4.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-invoker.git", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", - "reference": "f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "ext-pcntl": "*", - "phpunit/phpunit": "^10.0" - }, - "suggest": { - "ext-pcntl": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Invoke callables with a timeout", - "homepage": "https://github.com/sebastianbergmann/php-invoker/", - "keywords": [ - "process" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-invoker/issues", - "source": "https://github.com/sebastianbergmann/php-invoker/tree/4.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:56:09+00:00" - }, - { - "name": "phpunit/php-text-template", - "version": "3.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-text-template.git", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/0c7b06ff49e3d5072f057eb1fa59258bf287a748", - "reference": "0c7b06ff49e3d5072f057eb1fa59258bf287a748", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Simple template engine.", - "homepage": "https://github.com/sebastianbergmann/php-text-template/", - "keywords": [ - "template" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-text-template/issues", - "security": "https://github.com/sebastianbergmann/php-text-template/security/policy", - "source": "https://github.com/sebastianbergmann/php-text-template/tree/3.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-08-31T14:07:24+00:00" - }, - { - "name": "phpunit/php-timer", - "version": "6.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/php-timer.git", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/e2a2d67966e740530f4a3343fe2e030ffdc1161d", - "reference": "e2a2d67966e740530f4a3343fe2e030ffdc1161d", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Utility class for timing", - "homepage": "https://github.com/sebastianbergmann/php-timer/", - "keywords": [ - "timer" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/php-timer/issues", - "source": "https://github.com/sebastianbergmann/php-timer/tree/6.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:57:52+00:00" - }, - { - "name": "phpunit/phpunit", - "version": "10.5.2", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/phpunit.git", - "reference": "5aedff46afba98dddecaa12349ec044d9103d4fe" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/5aedff46afba98dddecaa12349ec044d9103d4fe", - "reference": "5aedff46afba98dddecaa12349ec044d9103d4fe", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-json": "*", - "ext-libxml": "*", - "ext-mbstring": "*", - "ext-xml": "*", - "ext-xmlwriter": "*", - "myclabs/deep-copy": "^1.10.1", - "phar-io/manifest": "^2.0.3", - "phar-io/version": "^3.0.2", - "php": ">=8.1", - "phpunit/php-code-coverage": "^10.1.5", - "phpunit/php-file-iterator": "^4.0", - "phpunit/php-invoker": "^4.0", - "phpunit/php-text-template": "^3.0", - "phpunit/php-timer": "^6.0", - "sebastian/cli-parser": "^2.0", - "sebastian/code-unit": "^2.0", - "sebastian/comparator": "^5.0", - "sebastian/diff": "^5.0", - "sebastian/environment": "^6.0", - "sebastian/exporter": "^5.1", - "sebastian/global-state": "^6.0.1", - "sebastian/object-enumerator": "^5.0", - "sebastian/recursion-context": "^5.0", - "sebastian/type": "^4.0", - "sebastian/version": "^4.0" - }, - "suggest": { - "ext-soap": "To be able to generate mocks based on WSDL files" - }, - "bin": [ - "phpunit" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "10.5-dev" - } - }, - "autoload": { - "files": [ - "src/Framework/Assert/Functions.php" - ], - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "The PHP Unit Testing framework.", - "homepage": "https://phpunit.de/", - "keywords": [ - "phpunit", - "testing", - "xunit" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/phpunit/issues", - "security": "https://github.com/sebastianbergmann/phpunit/security/policy", - "source": "https://github.com/sebastianbergmann/phpunit/tree/10.5.2" - }, - "funding": [ - { - "url": "https://phpunit.de/sponsors.html", - "type": "custom" - }, - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", - "type": "tidelift" - } - ], - "time": "2023-12-05T14:54:33+00:00" - }, - { - "name": "sebastian/cli-parser", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/cli-parser.git", - "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/efdc130dbbbb8ef0b545a994fd811725c5282cae", - "reference": "efdc130dbbbb8ef0b545a994fd811725c5282cae", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for parsing CLI options", - "homepage": "https://github.com/sebastianbergmann/cli-parser", - "support": { - "issues": "https://github.com/sebastianbergmann/cli-parser/issues", - "source": "https://github.com/sebastianbergmann/cli-parser/tree/2.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:58:15+00:00" - }, - { - "name": "sebastian/code-unit", - "version": "2.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit.git", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/a81fee9eef0b7a76af11d121767abc44c104e503", - "reference": "a81fee9eef0b7a76af11d121767abc44c104e503", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the PHP code units", - "homepage": "https://github.com/sebastianbergmann/code-unit", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit/issues", - "source": "https://github.com/sebastianbergmann/code-unit/tree/2.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:58:43+00:00" - }, - { - "name": "sebastian/code-unit-reverse-lookup", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", - "reference": "5e3a687f7d8ae33fb362c5c0743794bbb2420a1d", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Looks up which function or method a line of code belongs to", - "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", - "support": { - "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", - "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/3.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T06:59:15+00:00" - }, - { - "name": "sebastian/comparator", - "version": "5.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/comparator.git", - "reference": "2db5010a484d53ebf536087a70b4a5423c102372" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/2db5010a484d53ebf536087a70b4a5423c102372", - "reference": "2db5010a484d53ebf536087a70b4a5423c102372", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/diff": "^5.0", - "sebastian/exporter": "^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^10.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@2bepublished.at" - } - ], - "description": "Provides the functionality to compare PHP values for equality", - "homepage": "https://github.com/sebastianbergmann/comparator", - "keywords": [ - "comparator", - "compare", - "equality" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/comparator/issues", - "security": "https://github.com/sebastianbergmann/comparator/security/policy", - "source": "https://github.com/sebastianbergmann/comparator/tree/5.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-08-14T13:18:12+00:00" - }, - { - "name": "sebastian/complexity", - "version": "3.1.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/complexity.git", - "reference": "68cfb347a44871f01e33ab0ef8215966432f6957" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/68cfb347a44871f01e33ab0ef8215966432f6957", - "reference": "68cfb347a44871f01e33ab0ef8215966432f6957", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.10", - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for calculating the complexity of PHP code units", - "homepage": "https://github.com/sebastianbergmann/complexity", - "support": { - "issues": "https://github.com/sebastianbergmann/complexity/issues", - "security": "https://github.com/sebastianbergmann/complexity/security/policy", - "source": "https://github.com/sebastianbergmann/complexity/tree/3.1.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-09-28T11:50:59+00:00" - }, - { - "name": "sebastian/environment", - "version": "6.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/environment.git", - "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/43c751b41d74f96cbbd4e07b7aec9675651e2951", - "reference": "43c751b41d74f96cbbd4e07b7aec9675651e2951", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "suggest": { - "ext-posix": "*" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Provides functionality to handle HHVM/PHP environments", - "homepage": "https://github.com/sebastianbergmann/environment", - "keywords": [ - "Xdebug", - "environment", - "hhvm" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/environment/issues", - "security": "https://github.com/sebastianbergmann/environment/security/policy", - "source": "https://github.com/sebastianbergmann/environment/tree/6.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-04-11T05:39:26+00:00" - }, - { - "name": "sebastian/exporter", - "version": "5.1.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/exporter.git", - "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/64f51654862e0f5e318db7e9dcc2292c63cdbddc", - "reference": "64f51654862e0f5e318db7e9dcc2292c63cdbddc", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "php": ">=8.1", - "sebastian/recursion-context": "^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.1-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Volker Dusch", - "email": "github@wallbash.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - }, - { - "name": "Bernhard Schussek", - "email": "bschussek@gmail.com" - } - ], - "description": "Provides the functionality to export PHP variables for visualization", - "homepage": "https://www.github.com/sebastianbergmann/exporter", - "keywords": [ - "export", - "exporter" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/exporter/issues", - "security": "https://github.com/sebastianbergmann/exporter/security/policy", - "source": "https://github.com/sebastianbergmann/exporter/tree/5.1.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-09-24T13:22:09+00:00" - }, - { - "name": "sebastian/global-state", - "version": "6.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/global-state.git", - "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/7ea9ead78f6d380d2a667864c132c2f7b83055e4", - "reference": "7ea9ead78f6d380d2a667864c132c2f7b83055e4", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" - }, - "require-dev": { - "ext-dom": "*", - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "6.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Snapshotting of global state", - "homepage": "http://www.github.com/sebastianbergmann/global-state", - "keywords": [ - "global state" - ], - "support": { - "issues": "https://github.com/sebastianbergmann/global-state/issues", - "security": "https://github.com/sebastianbergmann/global-state/security/policy", - "source": "https://github.com/sebastianbergmann/global-state/tree/6.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-07-19T07:19:23+00:00" - }, - { - "name": "sebastian/lines-of-code", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/lines-of-code.git", - "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/649e40d279e243d985aa8fb6e74dd5bb28dc185d", - "reference": "649e40d279e243d985aa8fb6e74dd5bb28dc185d", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.10", - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library for counting the lines of code in PHP source code", - "homepage": "https://github.com/sebastianbergmann/lines-of-code", - "support": { - "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", - "security": "https://github.com/sebastianbergmann/lines-of-code/security/policy", - "source": "https://github.com/sebastianbergmann/lines-of-code/tree/2.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-08-31T09:25:50+00:00" - }, - { - "name": "sebastian/object-enumerator", - "version": "5.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-enumerator.git", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/202d0e344a580d7f7d04b3fafce6933e59dae906", - "reference": "202d0e344a580d7f7d04b3fafce6933e59dae906", - "shasum": "" - }, - "require": { - "php": ">=8.1", - "sebastian/object-reflector": "^3.0", - "sebastian/recursion-context": "^5.0" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Traverses array structures and object graphs to enumerate all referenced objects", - "homepage": "https://github.com/sebastianbergmann/object-enumerator/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", - "source": "https://github.com/sebastianbergmann/object-enumerator/tree/5.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T07:08:32+00:00" - }, - { - "name": "sebastian/object-reflector", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/object-reflector.git", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/24ed13d98130f0e7122df55d06c5c4942a577957", - "reference": "24ed13d98130f0e7122df55d06c5c4942a577957", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - } - ], - "description": "Allows reflection of object attributes, including inherited and non-public ones", - "homepage": "https://github.com/sebastianbergmann/object-reflector/", - "support": { - "issues": "https://github.com/sebastianbergmann/object-reflector/issues", - "source": "https://github.com/sebastianbergmann/object-reflector/tree/3.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T07:06:18+00:00" - }, - { - "name": "sebastian/recursion-context", - "version": "5.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/recursion-context.git", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/05909fb5bc7df4c52992396d0116aed689f93712", - "reference": "05909fb5bc7df4c52992396d0116aed689f93712", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "5.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de" - }, - { - "name": "Jeff Welch", - "email": "whatthejeff@gmail.com" - }, - { - "name": "Adam Harvey", - "email": "aharvey@php.net" - } - ], - "description": "Provides functionality to recursively process PHP variables", - "homepage": "https://github.com/sebastianbergmann/recursion-context", - "support": { - "issues": "https://github.com/sebastianbergmann/recursion-context/issues", - "source": "https://github.com/sebastianbergmann/recursion-context/tree/5.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T07:05:40+00:00" - }, - { - "name": "sebastian/type", - "version": "4.0.0", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/type.git", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/462699a16464c3944eefc02ebdd77882bd3925bf", - "reference": "462699a16464c3944eefc02ebdd77882bd3925bf", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "require-dev": { - "phpunit/phpunit": "^10.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Collection of value objects that represent the types of the PHP type system", - "homepage": "https://github.com/sebastianbergmann/type", - "support": { - "issues": "https://github.com/sebastianbergmann/type/issues", - "source": "https://github.com/sebastianbergmann/type/tree/4.0.0" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-03T07:10:45+00:00" - }, - { - "name": "sebastian/version", - "version": "4.0.1", - "source": { - "type": "git", - "url": "https://github.com/sebastianbergmann/version.git", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c51fa83a5d8f43f1402e3f32a005e6262244ef17", - "reference": "c51fa83a5d8f43f1402e3f32a005e6262244ef17", - "shasum": "" - }, - "require": { - "php": ">=8.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "4.0-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Sebastian Bergmann", - "email": "sebastian@phpunit.de", - "role": "lead" - } - ], - "description": "Library that helps with managing the version number of Git-hosted PHP projects", - "homepage": "https://github.com/sebastianbergmann/version", - "support": { - "issues": "https://github.com/sebastianbergmann/version/issues", - "source": "https://github.com/sebastianbergmann/version/tree/4.0.1" - }, - "funding": [ - { - "url": "https://github.com/sebastianbergmann", - "type": "github" - } - ], - "time": "2023-02-07T11:34:05+00:00" - }, - { - "name": "symfony/yaml", - "version": "v7.0.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "0055b230c408428b9b5cde7c55659555be5c0278" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/0055b230c408428b9b5cde7c55659555be5c0278", - "reference": "0055b230c408428b9b5cde7c55659555be5c0278", - "shasum": "" - }, - "require": { - "php": ">=8.2", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "symfony/console": "<6.4" - }, - "require-dev": { - "symfony/console": "^6.4|^7.0" - }, - "bin": [ - "Resources/bin/yaml-lint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Loads and dumps YAML files", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/yaml/tree/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-07T10:26:03+00:00" - }, - { - "name": "theseer/tokenizer", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/theseer/tokenizer.git", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96", - "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-tokenizer": "*", - "ext-xmlwriter": "*", - "php": "^7.2 || ^8.0" - }, - "type": "library", - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Arne Blankerts", - "email": "arne@blankerts.de", - "role": "Developer" - } - ], - "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", - "support": { - "issues": "https://github.com/theseer/tokenizer/issues", - "source": "https://github.com/theseer/tokenizer/tree/1.2.2" - }, - "funding": [ - { - "url": "https://github.com/theseer", - "type": "github" - } - ], - "time": "2023-11-20T00:12:19+00:00" - } - ], - "aliases": [], - "minimum-stability": "dev", - "stability-flags": [], - "prefer-stable": true, - "prefer-lowest": false, - "platform": { - "php": "^8.2", - "ext-iconv": "*", - "ext-mbstring": "*", - "ext-phar": "*", - "composer-plugin-api": "^2.2" - }, - "platform-dev": { - "ext-xml": "*" - }, - "platform-overrides": { - "php": "8.2" - }, - "plugin-api-version": "2.6.0" -} +{"_readme":["This file locks the dependencies of your project to a known state","Read more about it at https:\/\/getcomposer.org\/doc\/01-basic-usage.md#installing-dependencies","This file is @generated automatically"],"content-hash":"c524372cd58e96a4756245a6f40e2659","packages":[{"name":"amphp\/amp","version":"v3.0.0","source":{"type":"git","url":"https:\/\/github.com\/amphp\/amp.git","reference":"aaf0ec1d5a2c20b523258995a10e80c1fb765871"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/amphp\/amp\/zipball\/aaf0ec1d5a2c20b523258995a10e80c1fb765871","reference":"aaf0ec1d5a2c20b523258995a10e80c1fb765871","shasum":""},"require":{"php":">=8.1","revolt\/event-loop":"^1 || ^0.2"},"require-dev":{"amphp\/php-cs-fixer-config":"^2","phpunit\/phpunit":"^9","psalm\/phar":"^4.13"},"type":"library","autoload":{"files":["src\/functions.php","src\/Future\/functions.php","src\/Internal\/functions.php"],"psr-4":{"Amp\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Aaron Piotrowski","email":"aaron@trowski.com"},{"name":"Bob Weinand","email":"bobwei9@hotmail.com"},{"name":"Niklas Keller","email":"me@kelunik.com"},{"name":"Daniel Lowrey","email":"rdlowrey@php.net"}],"description":"A non-blocking concurrency framework for PHP applications.","homepage":"https:\/\/amphp.org\/amp","keywords":["async","asynchronous","awaitable","concurrency","event","event-loop","future","non-blocking","promise"],"support":{"issues":"https:\/\/github.com\/amphp\/amp\/issues","source":"https:\/\/github.com\/amphp\/amp\/tree\/v3.0.0"},"funding":[{"url":"https:\/\/github.com\/amphp","type":"github"}],"time":"2022-12-18T16:52:44+00:00"},{"name":"amphp\/byte-stream","version":"v2.1.0","source":{"type":"git","url":"https:\/\/github.com\/amphp\/byte-stream.git","reference":"0a4b0e80dad92c75e6131f8ad253919211540338"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/amphp\/byte-stream\/zipball\/0a4b0e80dad92c75e6131f8ad253919211540338","reference":"0a4b0e80dad92c75e6131f8ad253919211540338","shasum":""},"require":{"amphp\/amp":"^3","amphp\/parser":"^1.1","amphp\/pipeline":"^1","amphp\/serialization":"^1","amphp\/sync":"^2","php":">=8.1","revolt\/event-loop":"^1 || ^0.2.3"},"require-dev":{"amphp\/php-cs-fixer-config":"^2","amphp\/phpunit-util":"^3","phpunit\/phpunit":"^9","psalm\/phar":"^5.4"},"type":"library","autoload":{"files":["src\/functions.php","src\/Internal\/functions.php"],"psr-4":{"Amp\\ByteStream\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Aaron Piotrowski","email":"aaron@trowski.com"},{"name":"Niklas Keller","email":"me@kelunik.com"}],"description":"A stream abstraction to make working with non-blocking I\/O simple.","homepage":"https:\/\/amphp.org\/byte-stream","keywords":["amp","amphp","async","io","non-blocking","stream"],"support":{"issues":"https:\/\/github.com\/amphp\/byte-stream\/issues","source":"https:\/\/github.com\/amphp\/byte-stream\/tree\/v2.1.0"},"funding":[{"url":"https:\/\/github.com\/amphp","type":"github"}],"time":"2023-11-19T14:34:16+00:00"},{"name":"amphp\/cache","version":"v2.0.0","source":{"type":"git","url":"https:\/\/github.com\/amphp\/cache.git","reference":"218bb3888d380eb9dd926cd06f803573c84391d3"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/amphp\/cache\/zipball\/218bb3888d380eb9dd926cd06f803573c84391d3","reference":"218bb3888d380eb9dd926cd06f803573c84391d3","shasum":""},"require":{"amphp\/amp":"^3","amphp\/serialization":"^1","amphp\/sync":"^2","php":">=8.1","revolt\/event-loop":"^1 || ^0.2"},"require-dev":{"amphp\/php-cs-fixer-config":"^2","amphp\/phpunit-util":"^3","phpunit\/phpunit":"^9","psalm\/phar":"^5.4"},"type":"library","autoload":{"psr-4":{"Amp\\Cache\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Niklas Keller","email":"me@kelunik.com"},{"name":"Aaron Piotrowski","email":"aaron@trowski.com"},{"name":"Daniel Lowrey","email":"rdlowrey@php.net"}],"description":"A fiber-aware cache API based on Amp and Revolt.","homepage":"https:\/\/amphp.org\/cache","support":{"issues":"https:\/\/github.com\/amphp\/cache\/issues","source":"https:\/\/github.com\/amphp\/cache\/tree\/v2.0.0"},"funding":[{"url":"https:\/\/github.com\/amphp","type":"github"}],"time":"2023-01-09T21:04:12+00:00"},{"name":"amphp\/dns","version":"v2.1.0","source":{"type":"git","url":"https:\/\/github.com\/amphp\/dns.git","reference":"c3b518f321f26e786554480de580f06b9f34d1cd"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/amphp\/dns\/zipball\/c3b518f321f26e786554480de580f06b9f34d1cd","reference":"c3b518f321f26e786554480de580f06b9f34d1cd","shasum":""},"require":{"amphp\/amp":"^3","amphp\/byte-stream":"^2","amphp\/cache":"^2","amphp\/parser":"^1","amphp\/windows-registry":"^1","daverandom\/libdns":"^2.0.2","ext-filter":"*","php":">=8.1","revolt\/event-loop":"^1 || ^0.2"},"require-dev":{"amphp\/php-cs-fixer-config":"^2","amphp\/phpunit-util":"^3","phpunit\/phpunit":"^9","psalm\/phar":"^5.4"},"type":"library","autoload":{"files":["src\/functions.php"],"psr-4":{"Amp\\Dns\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Chris Wright","email":"addr@daverandom.com"},{"name":"Daniel Lowrey","email":"rdlowrey@php.net"},{"name":"Bob Weinand","email":"bobwei9@hotmail.com"},{"name":"Niklas Keller","email":"me@kelunik.com"},{"name":"Aaron Piotrowski","email":"aaron@trowski.com"}],"description":"Async DNS resolution for Amp.","homepage":"https:\/\/github.com\/amphp\/dns","keywords":["amp","amphp","async","client","dns","resolve"],"support":{"issues":"https:\/\/github.com\/amphp\/dns\/issues","source":"https:\/\/github.com\/amphp\/dns\/tree\/v2.1.0"},"funding":[{"url":"https:\/\/github.com\/amphp","type":"github"}],"time":"2023-11-18T15:49:57+00:00"},{"name":"amphp\/parallel","version":"v2.2.4","source":{"type":"git","url":"https:\/\/github.com\/amphp\/parallel.git","reference":"8b8f33a742c2ba63a8bfff664f5836c26f1996ed"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/amphp\/parallel\/zipball\/8b8f33a742c2ba63a8bfff664f5836c26f1996ed","reference":"8b8f33a742c2ba63a8bfff664f5836c26f1996ed","shasum":""},"require":{"amphp\/amp":"^3","amphp\/byte-stream":"^2","amphp\/parser":"^1","amphp\/pipeline":"^1","amphp\/process":"^2","amphp\/serialization":"^1","amphp\/socket":"^2","amphp\/sync":"^2","php":">=8.1","revolt\/event-loop":"^1"},"require-dev":{"amphp\/php-cs-fixer-config":"^2","amphp\/phpunit-util":"^3","phpunit\/phpunit":"^9","psalm\/phar":"^5.4"},"type":"library","autoload":{"files":["src\/Context\/functions.php","src\/Context\/Internal\/functions.php","src\/Ipc\/functions.php","src\/Worker\/functions.php"],"psr-4":{"Amp\\Parallel\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Aaron Piotrowski","email":"aaron@trowski.com"},{"name":"Niklas Keller","email":"me@kelunik.com"},{"name":"Stephen Coakley","email":"me@stephencoakley.com"}],"description":"Parallel processing component for Amp.","homepage":"https:\/\/github.com\/amphp\/parallel","keywords":["async","asynchronous","concurrent","multi-processing","multi-threading"],"support":{"issues":"https:\/\/github.com\/amphp\/parallel\/issues","source":"https:\/\/github.com\/amphp\/parallel\/tree\/v2.2.4"},"funding":[{"url":"https:\/\/github.com\/amphp","type":"github"}],"time":"2023-11-29T04:21:30+00:00"},{"name":"amphp\/parser","version":"v1.1.0","source":{"type":"git","url":"https:\/\/github.com\/amphp\/parser.git","reference":"ff1de4144726c5dad5fab97f66692ebe8de3e151"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/amphp\/parser\/zipball\/ff1de4144726c5dad5fab97f66692ebe8de3e151","reference":"ff1de4144726c5dad5fab97f66692ebe8de3e151","shasum":""},"require":{"php":">=7.4"},"require-dev":{"amphp\/php-cs-fixer-config":"^2","phpunit\/phpunit":"^9","psalm\/phar":"^5.4"},"type":"library","autoload":{"psr-4":{"Amp\\Parser\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Aaron Piotrowski","email":"aaron@trowski.com"},{"name":"Niklas Keller","email":"me@kelunik.com"}],"description":"A generator parser to make streaming parsers simple.","homepage":"https:\/\/github.com\/amphp\/parser","keywords":["async","non-blocking","parser","stream"],"support":{"issues":"https:\/\/github.com\/amphp\/parser\/issues","source":"https:\/\/github.com\/amphp\/parser\/tree\/v1.1.0"},"funding":[{"url":"https:\/\/github.com\/amphp","type":"github"}],"time":"2022-12-30T18:08:47+00:00"},{"name":"amphp\/pipeline","version":"v1.0.0","source":{"type":"git","url":"https:\/\/github.com\/amphp\/pipeline.git","reference":"810dee498d2fd7d2c9247b32d95f38c92c13169e"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/amphp\/pipeline\/zipball\/810dee498d2fd7d2c9247b32d95f38c92c13169e","reference":"810dee498d2fd7d2c9247b32d95f38c92c13169e","shasum":""},"require":{"amphp\/amp":"^3","php":">=8.1","revolt\/event-loop":"^1 || ^0.2"},"require-dev":{"amphp\/php-cs-fixer-config":"^2","amphp\/phpunit-util":"^3","phpunit\/phpunit":"^9","psalm\/phar":"^4.12"},"type":"library","autoload":{"psr-4":{"Amp\\Pipeline\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Aaron Piotrowski","email":"aaron@trowski.com"},{"name":"Niklas Keller","email":"me@kelunik.com"}],"description":"Asynchronous iterators and operators.","homepage":"https:\/\/amphp.org\/pipeline","keywords":["amp","amphp","async","io","iterator","non-blocking"],"support":{"issues":"https:\/\/github.com\/amphp\/pipeline\/issues","source":"https:\/\/github.com\/amphp\/pipeline\/tree\/v1.0.0"},"funding":[{"url":"https:\/\/github.com\/amphp","type":"github"}],"time":"2022-12-22T02:13:01+00:00"},{"name":"amphp\/process","version":"v2.0.1","source":{"type":"git","url":"https:\/\/github.com\/amphp\/process.git","reference":"a65d3bc1f36ef12d44df42a68f0f0643183f1052"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/amphp\/process\/zipball\/a65d3bc1f36ef12d44df42a68f0f0643183f1052","reference":"a65d3bc1f36ef12d44df42a68f0f0643183f1052","shasum":""},"require":{"amphp\/amp":"^3","amphp\/byte-stream":"^2","amphp\/sync":"^2","php":">=8.1","revolt\/event-loop":"^1 || ^0.2"},"require-dev":{"amphp\/php-cs-fixer-config":"^2","amphp\/phpunit-util":"^3","phpunit\/phpunit":"^9","psalm\/phar":"^5.4"},"type":"library","autoload":{"files":["src\/functions.php"],"psr-4":{"Amp\\Process\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Bob Weinand","email":"bobwei9@hotmail.com"},{"name":"Aaron Piotrowski","email":"aaron@trowski.com"},{"name":"Niklas Keller","email":"me@kelunik.com"}],"description":"A fiber-aware process manager based on Amp and Revolt.","homepage":"https:\/\/amphp.org\/process","support":{"issues":"https:\/\/github.com\/amphp\/process\/issues","source":"https:\/\/github.com\/amphp\/process\/tree\/v2.0.1"},"funding":[{"url":"https:\/\/github.com\/amphp","type":"github"}],"time":"2023-01-15T16:00:57+00:00"},{"name":"amphp\/serialization","version":"v1.0.0","source":{"type":"git","url":"https:\/\/github.com\/amphp\/serialization.git","reference":"693e77b2fb0b266c3c7d622317f881de44ae94a1"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/amphp\/serialization\/zipball\/693e77b2fb0b266c3c7d622317f881de44ae94a1","reference":"693e77b2fb0b266c3c7d622317f881de44ae94a1","shasum":""},"require":{"php":">=7.1"},"require-dev":{"amphp\/php-cs-fixer-config":"dev-master","phpunit\/phpunit":"^9 || ^8 || ^7"},"type":"library","autoload":{"files":["src\/functions.php"],"psr-4":{"Amp\\Serialization\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Aaron Piotrowski","email":"aaron@trowski.com"},{"name":"Niklas Keller","email":"me@kelunik.com"}],"description":"Serialization tools for IPC and data storage in PHP.","homepage":"https:\/\/github.com\/amphp\/serialization","keywords":["async","asynchronous","serialization","serialize"],"support":{"issues":"https:\/\/github.com\/amphp\/serialization\/issues","source":"https:\/\/github.com\/amphp\/serialization\/tree\/master"},"time":"2020-03-25T21:39:07+00:00"},{"name":"amphp\/socket","version":"v2.2.0","source":{"type":"git","url":"https:\/\/github.com\/amphp\/socket.git","reference":"3418a0c5c0d4978b0e8e0619ce1da0851c4053d3"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/amphp\/socket\/zipball\/3418a0c5c0d4978b0e8e0619ce1da0851c4053d3","reference":"3418a0c5c0d4978b0e8e0619ce1da0851c4053d3","shasum":""},"require":{"amphp\/amp":"^3","amphp\/byte-stream":"^2","amphp\/dns":"^2","ext-openssl":"*","kelunik\/certificate":"^1.1","league\/uri":"^6.5 | ^7","league\/uri-interfaces":"^2.3 | ^7","php":">=8.1","revolt\/event-loop":"^1 || ^0.2"},"require-dev":{"amphp\/php-cs-fixer-config":"^2","amphp\/phpunit-util":"^3","amphp\/process":"^2","phpunit\/phpunit":"^9","psalm\/phar":"^5.4"},"type":"library","autoload":{"files":["src\/functions.php","src\/Internal\/functions.php","src\/SocketAddress\/functions.php"],"psr-4":{"Amp\\Socket\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Daniel Lowrey","email":"rdlowrey@gmail.com"},{"name":"Aaron Piotrowski","email":"aaron@trowski.com"},{"name":"Niklas Keller","email":"me@kelunik.com"}],"description":"Non-blocking socket connection \/ server implementations based on Amp and Revolt.","homepage":"https:\/\/github.com\/amphp\/socket","keywords":["amp","async","encryption","non-blocking","sockets","tcp","tls"],"support":{"issues":"https:\/\/github.com\/amphp\/socket\/issues","source":"https:\/\/github.com\/amphp\/socket\/tree\/v2.2.0"},"funding":[{"url":"https:\/\/github.com\/amphp","type":"github"}],"time":"2023-08-19T15:28:34+00:00"},{"name":"amphp\/sync","version":"v2.1.0","source":{"type":"git","url":"https:\/\/github.com\/amphp\/sync.git","reference":"50ddc7392cc8034b3e4798cef3cc90d3f4c0441c"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/amphp\/sync\/zipball\/50ddc7392cc8034b3e4798cef3cc90d3f4c0441c","reference":"50ddc7392cc8034b3e4798cef3cc90d3f4c0441c","shasum":""},"require":{"amphp\/amp":"^3","amphp\/pipeline":"^1","amphp\/serialization":"^1","php":">=8.1","revolt\/event-loop":"^1 || ^0.2"},"require-dev":{"amphp\/php-cs-fixer-config":"^2","amphp\/phpunit-util":"^3","phpunit\/phpunit":"^9","psalm\/phar":"^5.4"},"type":"library","autoload":{"files":["src\/functions.php"],"psr-4":{"Amp\\Sync\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Aaron Piotrowski","email":"aaron@trowski.com"},{"name":"Niklas Keller","email":"me@kelunik.com"},{"name":"Stephen Coakley","email":"me@stephencoakley.com"}],"description":"Non-blocking synchronization primitives for PHP based on Amp and Revolt.","homepage":"https:\/\/github.com\/amphp\/sync","keywords":["async","asynchronous","mutex","semaphore","synchronization"],"support":{"issues":"https:\/\/github.com\/amphp\/sync\/issues","source":"https:\/\/github.com\/amphp\/sync\/tree\/v2.1.0"},"funding":[{"url":"https:\/\/github.com\/amphp","type":"github"}],"time":"2023-08-19T13:53:40+00:00"},{"name":"amphp\/windows-registry","version":"v1.0.0","source":{"type":"git","url":"https:\/\/github.com\/amphp\/windows-registry.git","reference":"8248247a41af7f97b88e4716c0f8de39696ef111"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/amphp\/windows-registry\/zipball\/8248247a41af7f97b88e4716c0f8de39696ef111","reference":"8248247a41af7f97b88e4716c0f8de39696ef111","shasum":""},"require":{"amphp\/byte-stream":"^2","amphp\/process":"^2","php":">=8.1"},"require-dev":{"amphp\/php-cs-fixer-config":"^2","psalm\/phar":"^5.4"},"type":"library","autoload":{"psr-4":{"Amp\\WindowsRegistry\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Niklas Keller","email":"me@kelunik.com"}],"description":"Windows Registry Reader.","support":{"issues":"https:\/\/github.com\/amphp\/windows-registry\/issues","source":"https:\/\/github.com\/amphp\/windows-registry\/tree\/v1.0.0"},"funding":[{"url":"https:\/\/github.com\/amphp","type":"github"}],"time":"2023-01-09T22:29:20+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\/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":"daverandom\/libdns","version":"v2.0.3","source":{"type":"git","url":"https:\/\/github.com\/DaveRandom\/LibDNS.git","reference":"42c2d700d1178c9f9e78664793463f7f1aea248c"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/DaveRandom\/LibDNS\/zipball\/42c2d700d1178c9f9e78664793463f7f1aea248c","reference":"42c2d700d1178c9f9e78664793463f7f1aea248c","shasum":""},"require":{"ext-ctype":"*","php":">=7.0"},"suggest":{"ext-intl":"Required for IDN support"},"type":"library","autoload":{"files":["src\/functions.php"],"psr-4":{"LibDNS\\":"src\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"description":"DNS protocol implementation written in pure PHP","keywords":["dns"],"support":{"issues":"https:\/\/github.com\/DaveRandom\/LibDNS\/issues","source":"https:\/\/github.com\/DaveRandom\/LibDNS\/tree\/v2.0.3"},"time":"2022-09-20T18:15:38+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":"fidry\/console","version":"0.6.9","source":{"type":"git","url":"https:\/\/github.com\/theofidry\/console.git","reference":"01be0be1b8dd7be3f475f0b9755dcc89881ec36a"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/theofidry\/console\/zipball\/01be0be1b8dd7be3f475f0b9755dcc89881ec36a","reference":"01be0be1b8dd7be3f475f0b9755dcc89881ec36a","shasum":""},"require":{"php":"^8.2","psr\/log":"^3.0","symfony\/console":"^6.4 || ^7.0","symfony\/event-dispatcher-contracts":"^2.5 || ^3.0","symfony\/service-contracts":"^2.5 || ^3.0","thecodingmachine\/safe":"^2.0","webmozart\/assert":"^1.11"},"conflict":{"symfony\/dependency-injection":"<6.4.0","symfony\/framework-bundle":"<6.4.0","symfony\/http-kernel":"<6.4.0"},"require-dev":{"bamarni\/composer-bin-plugin":"^1.8.2","composer\/semver":"^3.3.2","ergebnis\/composer-normalize":"^2.33","fidry\/makefile":"^0.2.1 || ^1.0.0","infection\/infection":"^0.27","phpunit\/phpunit":"^10.2","symfony\/dependency-injection":"^6.4","symfony\/flex":"^2.4.0","symfony\/framework-bundle":"^6.4","symfony\/http-kernel":"^6.4","symfony\/yaml":"^6.4 || ^7.0"},"type":"library","extra":{"bamarni-bin":{"bin-links":false,"forward-command":false},"branch-alias":{"dev-main":"1.0.x-dev"}},"autoload":{"psr-4":{"Fidry\\Console\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Th\u00e9o Fidry","email":"theo.fidry@gmail.com"}],"description":"Library to create CLI applications","keywords":["cli","console","symfony"],"support":{"issues":"https:\/\/github.com\/theofidry\/console\/issues","source":"https:\/\/github.com\/theofidry\/console\/tree\/0.6.9"},"funding":[{"url":"https:\/\/github.com\/theofidry","type":"github"}],"time":"2023-12-05T22:30:20+00:00"},{"name":"fidry\/filesystem","version":"1.2.1","source":{"type":"git","url":"https:\/\/github.com\/theofidry\/filesystem.git","reference":"8303225d289da1c434f6009743fbe9aad852de0c"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/theofidry\/filesystem\/zipball\/8303225d289da1c434f6009743fbe9aad852de0c","reference":"8303225d289da1c434f6009743fbe9aad852de0c","shasum":""},"require":{"php":"^8.1","symfony\/filesystem":"^6.4 || ^7.0","thecodingmachine\/safe":"^2.0"},"require-dev":{"bamarni\/composer-bin-plugin":"^1.4","ergebnis\/composer-normalize":"^2.28","infection\/infection":">=0.26","phpunit\/phpunit":"^10.3","symfony\/finder":"^6.4 || ^7.0"},"type":"library","extra":{"bamarni-bin":{"bin-links":false,"forward-command":false},"branch-alias":{"dev-main":"1.0.x-dev"}},"autoload":{"psr-4":{"Fidry\\FileSystem\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Th\u00e9o Fidry","email":"theo.fidry@gmail.com"}],"description":"Symfony Filesystem with a few more utilities.","keywords":["filesystem"],"support":{"issues":"https:\/\/github.com\/theofidry\/filesystem\/issues","source":"https:\/\/github.com\/theofidry\/filesystem\/tree\/1.2.1"},"funding":[{"url":"https:\/\/github.com\/theofidry","type":"github"}],"time":"2023-12-10T13:29:09+00:00"},{"name":"humbug\/php-scoper","version":"0.18.10","source":{"type":"git","url":"https:\/\/github.com\/humbug\/php-scoper.git","reference":"dc2120a1ddd2fb290349a80db56928fd9e6b1d85"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/humbug\/php-scoper\/zipball\/dc2120a1ddd2fb290349a80db56928fd9e6b1d85","reference":"dc2120a1ddd2fb290349a80db56928fd9e6b1d85","shasum":""},"require":{"fidry\/console":"^0.6.6","fidry\/filesystem":"^1.1","jetbrains\/phpstorm-stubs":"^v2022.2","nikic\/php-parser":"^4.12","php":"^8.2","symfony\/console":"^5.2 || ^6.0","symfony\/filesystem":"^5.2 || ^6.0","symfony\/finder":"^5.2 || ^6.0","thecodingmachine\/safe":"^2.0"},"require-dev":{"bamarni\/composer-bin-plugin":"^1.1","ergebnis\/composer-normalize":"^2.28","fidry\/makefile":"^1.0","humbug\/box":"^4.5.1","phpspec\/prophecy-phpunit":"^2.0","phpunit\/phpunit":"^9.0","symfony\/yaml":"^6.1"},"bin":["bin\/php-scoper"],"type":"library","extra":{"bamarni-bin":{"bin-links":false,"forward-command":false},"branch-alias":{"dev-master":"1.0-dev"}},"autoload":{"files":["src\/functions.php"],"psr-4":{"Humbug\\PhpScoper\\":"src\/"},"classmap":["vendor-hotfix\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Bernhard Schussek","email":"bschussek@gmail.com"},{"name":"Th\u00e9o Fidry","email":"theo.fidry@gmail.com"},{"name":"P\u00e1draic Brady","email":"padraic.brady@gmail.com"}],"description":"Prefixes all PHP namespaces in a file or directory.","support":{"issues":"https:\/\/github.com\/humbug\/php-scoper\/issues","source":"https:\/\/github.com\/humbug\/php-scoper\/tree\/0.18.10"},"time":"2023-12-07T11:04:39+00:00"},{"name":"jetbrains\/phpstorm-stubs","version":"v2022.3","source":{"type":"git","url":"https:\/\/github.com\/JetBrains\/phpstorm-stubs.git","reference":"6b568c153cea002dc6fad96285c3063d07cab18d"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/JetBrains\/phpstorm-stubs\/zipball\/6b568c153cea002dc6fad96285c3063d07cab18d","reference":"6b568c153cea002dc6fad96285c3063d07cab18d","shasum":""},"require-dev":{"friendsofphp\/php-cs-fixer":"@stable","nikic\/php-parser":"@stable","php":"^8.0","phpdocumentor\/reflection-docblock":"@stable","phpunit\/phpunit":"@stable"},"type":"library","autoload":{"files":["PhpStormStubsMap.php"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["Apache-2.0"],"description":"PHP runtime & extensions header files for PhpStorm","homepage":"https:\/\/www.jetbrains.com\/phpstorm","keywords":["autocomplete","code","inference","inspection","jetbrains","phpstorm","stubs","type"],"support":{"source":"https:\/\/github.com\/JetBrains\/phpstorm-stubs\/tree\/v2022.3"},"time":"2022-10-17T09:21:37+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\u00f6nthal","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":"kelunik\/certificate","version":"v1.1.3","source":{"type":"git","url":"https:\/\/github.com\/kelunik\/certificate.git","reference":"7e00d498c264d5eb4f78c69f41c8bd6719c0199e"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/kelunik\/certificate\/zipball\/7e00d498c264d5eb4f78c69f41c8bd6719c0199e","reference":"7e00d498c264d5eb4f78c69f41c8bd6719c0199e","shasum":""},"require":{"ext-openssl":"*","php":">=7.0"},"require-dev":{"amphp\/php-cs-fixer-config":"^2","phpunit\/phpunit":"^6 | 7 | ^8 | ^9"},"type":"library","extra":{"branch-alias":{"dev-master":"1.x-dev"}},"autoload":{"psr-4":{"Kelunik\\Certificate\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Niklas Keller","email":"me@kelunik.com"}],"description":"Access certificate details and transform between different formats.","keywords":["DER","certificate","certificates","openssl","pem","x509"],"support":{"issues":"https:\/\/github.com\/kelunik\/certificate\/issues","source":"https:\/\/github.com\/kelunik\/certificate\/tree\/v1.1.3"},"time":"2023-02-03T21:26:53+00:00"},{"name":"league\/uri","version":"7.4.0","source":{"type":"git","url":"https:\/\/github.com\/thephpleague\/uri.git","reference":"bf414ba956d902f5d98bf9385fcf63954f09dce5"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/thephpleague\/uri\/zipball\/bf414ba956d902f5d98bf9385fcf63954f09dce5","reference":"bf414ba956d902f5d98bf9385fcf63954f09dce5","shasum":""},"require":{"league\/uri-interfaces":"^7.3","php":"^8.1"},"conflict":{"league\/uri-schemes":"^1.0"},"suggest":{"ext-bcmath":"to improve IPV4 host parsing","ext-fileinfo":"to create Data URI from file contennts","ext-gmp":"to improve IPV4 host parsing","ext-intl":"to handle IDN host with the best performance","jeremykendall\/php-domain-parser":"to resolve Public Suffix and Top Level Domain","league\/uri-components":"Needed to easily manipulate URI objects components","php-64bit":"to improve IPV4 host parsing","symfony\/polyfill-intl-idn":"to handle IDN host via the Symfony polyfill if ext-intl is not present"},"type":"library","extra":{"branch-alias":{"dev-master":"7.x-dev"}},"autoload":{"psr-4":{"League\\Uri\\":""}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Ignace Nyamagana Butera","email":"nyamsprod@gmail.com","homepage":"https:\/\/nyamsprod.com"}],"description":"URI manipulation library","homepage":"https:\/\/uri.thephpleague.com","keywords":["data-uri","file-uri","ftp","hostname","http","https","middleware","parse_str","parse_url","psr-7","query-string","querystring","rfc3986","rfc3987","rfc6570","uri","uri-template","url","ws"],"support":{"docs":"https:\/\/uri.thephpleague.com","forum":"https:\/\/thephpleague.slack.com","issues":"https:\/\/github.com\/thephpleague\/uri-src\/issues","source":"https:\/\/github.com\/thephpleague\/uri\/tree\/7.4.0"},"funding":[{"url":"https:\/\/github.com\/sponsors\/nyamsprod","type":"github"}],"time":"2023-12-01T06:24:25+00:00"},{"name":"league\/uri-interfaces","version":"7.4.0","source":{"type":"git","url":"https:\/\/github.com\/thephpleague\/uri-interfaces.git","reference":"bd8c487ec236930f7bbc42b8d374fa882fbba0f3"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/thephpleague\/uri-interfaces\/zipball\/bd8c487ec236930f7bbc42b8d374fa882fbba0f3","reference":"bd8c487ec236930f7bbc42b8d374fa882fbba0f3","shasum":""},"require":{"ext-filter":"*","php":"^8.1","psr\/http-factory":"^1","psr\/http-message":"^1.1 || ^2.0"},"suggest":{"ext-bcmath":"to improve IPV4 host parsing","ext-gmp":"to improve IPV4 host parsing","ext-intl":"to handle IDN host with the best performance","php-64bit":"to improve IPV4 host parsing","symfony\/polyfill-intl-idn":"to handle IDN host via the Symfony polyfill if ext-intl is not present"},"type":"library","extra":{"branch-alias":{"dev-master":"7.x-dev"}},"autoload":{"psr-4":{"League\\Uri\\":""}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Ignace Nyamagana Butera","email":"nyamsprod@gmail.com","homepage":"https:\/\/nyamsprod.com"}],"description":"Common interfaces and classes for URI representation and interaction","homepage":"https:\/\/uri.thephpleague.com","keywords":["data-uri","file-uri","ftp","hostname","http","https","parse_str","parse_url","psr-7","query-string","querystring","rfc3986","rfc3987","rfc6570","uri","url","ws"],"support":{"docs":"https:\/\/uri.thephpleague.com","forum":"https:\/\/thephpleague.slack.com","issues":"https:\/\/github.com\/thephpleague\/uri-src\/issues","source":"https:\/\/github.com\/thephpleague\/uri-interfaces\/tree\/7.4.0"},"funding":[{"url":"https:\/\/github.com\/sponsors\/nyamsprod","type":"github"}],"time":"2023-11-24T15:40:42+00:00"},{"name":"nikic\/iter","version":"v2.3.0","source":{"type":"git","url":"https:\/\/github.com\/nikic\/iter.git","reference":"d9f88bc04b5b453914373e70c041353d8e67c3f5"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/nikic\/iter\/zipball\/d9f88bc04b5b453914373e70c041353d8e67c3f5","reference":"d9f88bc04b5b453914373e70c041353d8e67c3f5","shasum":""},"require":{"php":">=7.1"},"require-dev":{"phpstan\/phpstan":"^1.4","phpunit\/phpunit":"^7.0 || ^8.0 || ^9.0","vimeo\/psalm":"^4.18 || ^5.13"},"type":"library","autoload":{"files":["src\/iter.func.php","src\/iter.php","src\/iter.rewindable.php"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Nikita Popov","email":"nikic@php.net"}],"description":"Iteration primitives using generators","keywords":["functional","generator","iterator"],"support":{"issues":"https:\/\/github.com\/nikic\/iter\/issues","source":"https:\/\/github.com\/nikic\/iter\/tree\/v2.3.0"},"time":"2023-07-25T19:55:40+00:00"},{"name":"nikic\/php-parser","version":"v4.17.1","source":{"type":"git","url":"https:\/\/github.com\/nikic\/PHP-Parser.git","reference":"a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/nikic\/PHP-Parser\/zipball\/a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d","reference":"a6303e50c90c355c7eeee2c4a8b27fe8dc8fef1d","shasum":""},"require":{"ext-tokenizer":"*","php":">=7.0"},"require-dev":{"ircmaxell\/php-yacc":"^0.0.7","phpunit\/phpunit":"^6.5 || ^7.0 || ^8.0 || ^9.0"},"bin":["bin\/php-parse"],"type":"library","extra":{"branch-alias":{"dev-master":"4.9-dev"}},"autoload":{"psr-4":{"PhpParser\\":"lib\/PhpParser"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Nikita Popov"}],"description":"A PHP parser written in PHP","keywords":["parser","php"],"support":{"issues":"https:\/\/github.com\/nikic\/PHP-Parser\/issues","source":"https:\/\/github.com\/nikic\/PHP-Parser\/tree\/v4.17.1"},"time":"2023-08-13T19:53:39+00:00"},{"name":"phpdocumentor\/reflection-common","version":"2.2.0","source":{"type":"git","url":"https:\/\/github.com\/phpDocumentor\/ReflectionCommon.git","reference":"1d01c49d4ed62f25aa84a747ad35d5a16924662b"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/phpDocumentor\/ReflectionCommon\/zipball\/1d01c49d4ed62f25aa84a747ad35d5a16924662b","reference":"1d01c49d4ed62f25aa84a747ad35d5a16924662b","shasum":""},"require":{"php":"^7.2 || ^8.0"},"type":"library","extra":{"branch-alias":{"dev-2.x":"2.x-dev"}},"autoload":{"psr-4":{"phpDocumentor\\Reflection\\":"src\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Jaap van Otterdijk","email":"opensource@ijaap.nl"}],"description":"Common reflection classes used by phpdocumentor to reflect the code structure","homepage":"http:\/\/www.phpdoc.org","keywords":["FQSEN","phpDocumentor","phpdoc","reflection","static analysis"],"support":{"issues":"https:\/\/github.com\/phpDocumentor\/ReflectionCommon\/issues","source":"https:\/\/github.com\/phpDocumentor\/ReflectionCommon\/tree\/2.x"},"time":"2020-06-27T09:03:43+00:00"},{"name":"phpdocumentor\/reflection-docblock","version":"5.3.0","source":{"type":"git","url":"https:\/\/github.com\/phpDocumentor\/ReflectionDocBlock.git","reference":"622548b623e81ca6d78b721c5e029f4ce664f170"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/phpDocumentor\/ReflectionDocBlock\/zipball\/622548b623e81ca6d78b721c5e029f4ce664f170","reference":"622548b623e81ca6d78b721c5e029f4ce664f170","shasum":""},"require":{"ext-filter":"*","php":"^7.2 || ^8.0","phpdocumentor\/reflection-common":"^2.2","phpdocumentor\/type-resolver":"^1.3","webmozart\/assert":"^1.9.1"},"require-dev":{"mockery\/mockery":"~1.3.2","psalm\/phar":"^4.8"},"type":"library","extra":{"branch-alias":{"dev-master":"5.x-dev"}},"autoload":{"psr-4":{"phpDocumentor\\Reflection\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Mike van Riel","email":"me@mikevanriel.com"},{"name":"Jaap van Otterdijk","email":"account@ijaap.nl"}],"description":"With this component, a library can provide support for annotations via DocBlocks or otherwise retrieve information that is embedded in a DocBlock.","support":{"issues":"https:\/\/github.com\/phpDocumentor\/ReflectionDocBlock\/issues","source":"https:\/\/github.com\/phpDocumentor\/ReflectionDocBlock\/tree\/5.3.0"},"time":"2021-10-19T17:43:47+00:00"},{"name":"phpdocumentor\/type-resolver","version":"1.7.3","source":{"type":"git","url":"https:\/\/github.com\/phpDocumentor\/TypeResolver.git","reference":"3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/phpDocumentor\/TypeResolver\/zipball\/3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419","reference":"3219c6ee25c9ea71e3d9bbaf39c67c9ebd499419","shasum":""},"require":{"doctrine\/deprecations":"^1.0","php":"^7.4 || ^8.0","phpdocumentor\/reflection-common":"^2.0","phpstan\/phpdoc-parser":"^1.13"},"require-dev":{"ext-tokenizer":"*","phpbench\/phpbench":"^1.2","phpstan\/extension-installer":"^1.1","phpstan\/phpstan":"^1.8","phpstan\/phpstan-phpunit":"^1.1","phpunit\/phpunit":"^9.5","rector\/rector":"^0.13.9","vimeo\/psalm":"^4.25"},"type":"library","extra":{"branch-alias":{"dev-1.x":"1.x-dev"}},"autoload":{"psr-4":{"phpDocumentor\\Reflection\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Mike van Riel","email":"me@mikevanriel.com"}],"description":"A PSR-5 based resolver of Class names, Types and Structural Element Names","support":{"issues":"https:\/\/github.com\/phpDocumentor\/TypeResolver\/issues","source":"https:\/\/github.com\/phpDocumentor\/TypeResolver\/tree\/1.7.3"},"time":"2023-08-12T11:01:26+00:00"},{"name":"phpstan\/phpdoc-parser","version":"1.24.4","source":{"type":"git","url":"https:\/\/github.com\/phpstan\/phpdoc-parser.git","reference":"6bd0c26f3786cd9b7c359675cb789e35a8e07496"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/phpstan\/phpdoc-parser\/zipball\/6bd0c26f3786cd9b7c359675cb789e35a8e07496","reference":"6bd0c26f3786cd9b7c359675cb789e35a8e07496","shasum":""},"require":{"php":"^7.2 || ^8.0"},"require-dev":{"doctrine\/annotations":"^2.0","nikic\/php-parser":"^4.15","php-parallel-lint\/php-parallel-lint":"^1.2","phpstan\/extension-installer":"^1.0","phpstan\/phpstan":"^1.5","phpstan\/phpstan-phpunit":"^1.1","phpstan\/phpstan-strict-rules":"^1.0","phpunit\/phpunit":"^9.5","symfony\/process":"^5.2"},"type":"library","autoload":{"psr-4":{"PHPStan\\PhpDocParser\\":["src\/"]}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"description":"PHPDoc parser with support for nullable, intersection and generic types","support":{"issues":"https:\/\/github.com\/phpstan\/phpdoc-parser\/issues","source":"https:\/\/github.com\/phpstan\/phpdoc-parser\/tree\/1.24.4"},"time":"2023-11-26T18:29:22+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-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":"revolt\/event-loop","version":"v1.0.6","source":{"type":"git","url":"https:\/\/github.com\/revoltphp\/event-loop.git","reference":"25de49af7223ba039f64da4ae9a28ec2d10d0254"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/revoltphp\/event-loop\/zipball\/25de49af7223ba039f64da4ae9a28ec2d10d0254","reference":"25de49af7223ba039f64da4ae9a28ec2d10d0254","shasum":""},"require":{"php":">=8.1"},"require-dev":{"ext-json":"*","jetbrains\/phpstorm-stubs":"^2019.3","phpunit\/phpunit":"^9","psalm\/phar":"^5.15"},"type":"library","extra":{"branch-alias":{"dev-main":"1.x-dev"}},"autoload":{"psr-4":{"Revolt\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Aaron Piotrowski","email":"aaron@trowski.com"},{"name":"Cees-Jan Kiewiet","email":"ceesjank@gmail.com"},{"name":"Christian L\u00fcck","email":"christian@clue.engineering"},{"name":"Niklas Keller","email":"me@kelunik.com"}],"description":"Rock-solid event loop for concurrent PHP applications.","keywords":["async","asynchronous","concurrency","event","event-loop","non-blocking","scheduler"],"support":{"issues":"https:\/\/github.com\/revoltphp\/event-loop\/issues","source":"https:\/\/github.com\/revoltphp\/event-loop\/tree\/v1.0.6"},"time":"2023-11-30T05:34:44+00:00"},{"name":"sebastian\/diff","version":"5.0.3","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/diff.git","reference":"912dc2fbe3e3c1e7873313cc801b100b6c68c87b"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/diff\/zipball\/912dc2fbe3e3c1e7873313cc801b100b6c68c87b","reference":"912dc2fbe3e3c1e7873313cc801b100b6c68c87b","shasum":""},"require":{"php":">=8.1"},"require-dev":{"phpunit\/phpunit":"^10.0","symfony\/process":"^4.2 || ^5"},"type":"library","extra":{"branch-alias":{"dev-main":"5.0-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de"},{"name":"Kore Nordmann","email":"mail@kore-nordmann.de"}],"description":"Diff implementation","homepage":"https:\/\/github.com\/sebastianbergmann\/diff","keywords":["diff","udiff","unidiff","unified diff"],"support":{"issues":"https:\/\/github.com\/sebastianbergmann\/diff\/issues","security":"https:\/\/github.com\/sebastianbergmann\/diff\/security\/policy","source":"https:\/\/github.com\/sebastianbergmann\/diff\/tree\/5.0.3"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-05-01T07:48:21+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":"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\/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\/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-iconv","version":"v1.28.0","source":{"type":"git","url":"https:\/\/github.com\/symfony\/polyfill-iconv.git","reference":"6de50471469b8c9afc38164452ab2b6170ee71c1"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/symfony\/polyfill-iconv\/zipball\/6de50471469b8c9afc38164452ab2b6170ee71c1","reference":"6de50471469b8c9afc38164452ab2b6170ee71c1","shasum":""},"require":{"php":">=7.1"},"provide":{"ext-iconv":"*"},"suggest":{"ext-iconv":"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\\Iconv\\":""}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Nicolas Grekas","email":"p@tchwork.com"},{"name":"Symfony Community","homepage":"https:\/\/symfony.com\/contributors"}],"description":"Symfony polyfill for the Iconv extension","homepage":"https:\/\/symfony.com","keywords":["compatibility","iconv","polyfill","portable","shim"],"support":{"source":"https:\/\/github.com\/symfony\/polyfill-iconv\/tree\/v1.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-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\/process","version":"v7.0.0","source":{"type":"git","url":"https:\/\/github.com\/symfony\/process.git","reference":"13bdb1670c7f510494e04fcb2bfa29af63db9c0d"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/symfony\/process\/zipball\/13bdb1670c7f510494e04fcb2bfa29af63db9c0d","reference":"13bdb1670c7f510494e04fcb2bfa29af63db9c0d","shasum":""},"require":{"php":">=8.2"},"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\/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-20T16:43:42+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\/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-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":"thecodingmachine\/safe","version":"v2.5.0","source":{"type":"git","url":"https:\/\/github.com\/thecodingmachine\/safe.git","reference":"3115ecd6b4391662b4931daac4eba6b07a2ac1f0"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/thecodingmachine\/safe\/zipball\/3115ecd6b4391662b4931daac4eba6b07a2ac1f0","reference":"3115ecd6b4391662b4931daac4eba6b07a2ac1f0","shasum":""},"require":{"php":"^8.0"},"require-dev":{"phpstan\/phpstan":"^1.5","phpunit\/phpunit":"^9.5","squizlabs\/php_codesniffer":"^3.2","thecodingmachine\/phpstan-strict-rules":"^1.0"},"type":"library","extra":{"branch-alias":{"dev-master":"2.2.x-dev"}},"autoload":{"files":["deprecated\/apc.php","deprecated\/array.php","deprecated\/datetime.php","deprecated\/libevent.php","deprecated\/misc.php","deprecated\/password.php","deprecated\/mssql.php","deprecated\/stats.php","deprecated\/strings.php","lib\/special_cases.php","deprecated\/mysqli.php","generated\/apache.php","generated\/apcu.php","generated\/array.php","generated\/bzip2.php","generated\/calendar.php","generated\/classobj.php","generated\/com.php","generated\/cubrid.php","generated\/curl.php","generated\/datetime.php","generated\/dir.php","generated\/eio.php","generated\/errorfunc.php","generated\/exec.php","generated\/fileinfo.php","generated\/filesystem.php","generated\/filter.php","generated\/fpm.php","generated\/ftp.php","generated\/funchand.php","generated\/gettext.php","generated\/gmp.php","generated\/gnupg.php","generated\/hash.php","generated\/ibase.php","generated\/ibmDb2.php","generated\/iconv.php","generated\/image.php","generated\/imap.php","generated\/info.php","generated\/inotify.php","generated\/json.php","generated\/ldap.php","generated\/libxml.php","generated\/lzf.php","generated\/mailparse.php","generated\/mbstring.php","generated\/misc.php","generated\/mysql.php","generated\/network.php","generated\/oci8.php","generated\/opcache.php","generated\/openssl.php","generated\/outcontrol.php","generated\/pcntl.php","generated\/pcre.php","generated\/pgsql.php","generated\/posix.php","generated\/ps.php","generated\/pspell.php","generated\/readline.php","generated\/rpminfo.php","generated\/rrd.php","generated\/sem.php","generated\/session.php","generated\/shmop.php","generated\/sockets.php","generated\/sodium.php","generated\/solr.php","generated\/spl.php","generated\/sqlsrv.php","generated\/ssdeep.php","generated\/ssh2.php","generated\/stream.php","generated\/strings.php","generated\/swoole.php","generated\/uodbc.php","generated\/uopz.php","generated\/url.php","generated\/var.php","generated\/xdiff.php","generated\/xml.php","generated\/xmlrpc.php","generated\/yaml.php","generated\/yaz.php","generated\/zip.php","generated\/zlib.php"],"classmap":["lib\/DateTime.php","lib\/DateTimeImmutable.php","lib\/Exceptions\/","deprecated\/Exceptions\/","generated\/Exceptions\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"description":"PHP core functions that throw exceptions instead of returning FALSE on error","support":{"issues":"https:\/\/github.com\/thecodingmachine\/safe\/issues","source":"https:\/\/github.com\/thecodingmachine\/safe\/tree\/v2.5.0"},"time":"2023-04-05T11:54:14+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"}],"packages-dev":[{"name":"bamarni\/composer-bin-plugin","version":"1.8.2","source":{"type":"git","url":"https:\/\/github.com\/bamarni\/composer-bin-plugin.git","reference":"92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/bamarni\/composer-bin-plugin\/zipball\/92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880","reference":"92fd7b1e6e9cdae19b0d57369d8ad31a37b6a880","shasum":""},"require":{"composer-plugin-api":"^2.0","php":"^7.2.5 || ^8.0"},"require-dev":{"composer\/composer":"^2.0","ext-json":"*","phpstan\/extension-installer":"^1.1","phpstan\/phpstan":"^1.8","phpstan\/phpstan-phpunit":"^1.1","phpunit\/phpunit":"^8.5 || ^9.5","symfony\/console":"^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0","symfony\/finder":"^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0","symfony\/process":"^2.8.52 || ^3.4.35 || ^4.4 || ^5.0 || ^6.0"},"type":"composer-plugin","extra":{"class":"Bamarni\\Composer\\Bin\\BamarniBinPlugin"},"autoload":{"psr-4":{"Bamarni\\Composer\\Bin\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"description":"No conflicts for your bin dependencies","keywords":["composer","conflict","dependency","executable","isolation","tool"],"support":{"issues":"https:\/\/github.com\/bamarni\/composer-bin-plugin\/issues","source":"https:\/\/github.com\/bamarni\/composer-bin-plugin\/tree\/1.8.2"},"time":"2022-10-31T08:38:03+00:00"},{"name":"doctrine\/instantiator","version":"2.0.0","source":{"type":"git","url":"https:\/\/github.com\/doctrine\/instantiator.git","reference":"c6222283fa3f4ac679f8b9ced9a4e23f163e80d0"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/doctrine\/instantiator\/zipball\/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0","reference":"c6222283fa3f4ac679f8b9ced9a4e23f163e80d0","shasum":""},"require":{"php":"^8.1"},"require-dev":{"doctrine\/coding-standard":"^11","ext-pdo":"*","ext-phar":"*","phpbench\/phpbench":"^1.2","phpstan\/phpstan":"^1.9.4","phpstan\/phpstan-phpunit":"^1.3","phpunit\/phpunit":"^9.5.27","vimeo\/psalm":"^5.4"},"type":"library","autoload":{"psr-4":{"Doctrine\\Instantiator\\":"src\/Doctrine\/Instantiator\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Marco Pivetta","email":"ocramius@gmail.com","homepage":"https:\/\/ocramius.github.io\/"}],"description":"A small, lightweight utility to instantiate objects in PHP without invoking their constructors","homepage":"https:\/\/www.doctrine-project.org\/projects\/instantiator.html","keywords":["constructor","instantiate"],"support":{"issues":"https:\/\/github.com\/doctrine\/instantiator\/issues","source":"https:\/\/github.com\/doctrine\/instantiator\/tree\/2.0.0"},"funding":[{"url":"https:\/\/www.doctrine-project.org\/sponsorship.html","type":"custom"},{"url":"https:\/\/www.patreon.com\/phpdoctrine","type":"patreon"},{"url":"https:\/\/tidelift.com\/funding\/github\/packagist\/doctrine%2Finstantiator","type":"tidelift"}],"time":"2022-12-30T00:23:10+00:00"},{"name":"ergebnis\/composer-normalize","version":"2.40.0","source":{"type":"git","url":"https:\/\/github.com\/ergebnis\/composer-normalize.git","reference":"665de8e2bbe7c3e31b0a819b4dc0165289c0d230"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/ergebnis\/composer-normalize\/zipball\/665de8e2bbe7c3e31b0a819b4dc0165289c0d230","reference":"665de8e2bbe7c3e31b0a819b4dc0165289c0d230","shasum":""},"require":{"composer-plugin-api":"^2.0.0","ergebnis\/json":"^1.1.0","ergebnis\/json-normalizer":"^4.3.0","ergebnis\/json-printer":"^3.4.0","ext-json":"*","justinrainbow\/json-schema":"^5.2.12","localheinz\/diff":"^1.1.1","php":"~8.1.0 || ~8.2.0 || ~8.3.0"},"conflict":{"symfony\/console":"^7.0.0"},"require-dev":{"composer\/composer":"^2.6.5","ergebnis\/license":"^2.4.0","ergebnis\/php-cs-fixer-config":"~6.13.1","ergebnis\/phpunit-slow-test-detector":"^2.7.0","fakerphp\/faker":"^1.23.0","infection\/infection":"~0.27.8","phpunit\/phpunit":"^10.4.2","psalm\/plugin-phpunit":"~0.18.4","rector\/rector":"~0.18.12","symfony\/filesystem":"^6.4.0","vimeo\/psalm":"^5.17.0"},"type":"composer-plugin","extra":{"class":"Ergebnis\\Composer\\Normalize\\NormalizePlugin","composer-normalize":{"indent-size":2,"indent-style":"space"},"plugin-optional":true},"autoload":{"psr-4":{"Ergebnis\\Composer\\Normalize\\":"src\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Andreas M\u00f6ller","email":"am@localheinz.com","homepage":"https:\/\/localheinz.com"}],"description":"Provides a composer plugin for normalizing composer.json.","homepage":"https:\/\/github.com\/ergebnis\/composer-normalize","keywords":["composer","normalize","normalizer","plugin"],"support":{"issues":"https:\/\/github.com\/ergebnis\/composer-normalize\/issues","security":"https:\/\/github.com\/ergebnis\/composer-normalize\/blob\/main\/.github\/SECURITY.md","source":"https:\/\/github.com\/ergebnis\/composer-normalize"},"time":"2023-12-05T16:07:43+00:00"},{"name":"ergebnis\/json","version":"1.1.0","source":{"type":"git","url":"https:\/\/github.com\/ergebnis\/json.git","reference":"9f2b9086c43b189d7044a5b6215a931fb6e9125d"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/ergebnis\/json\/zipball\/9f2b9086c43b189d7044a5b6215a931fb6e9125d","reference":"9f2b9086c43b189d7044a5b6215a931fb6e9125d","shasum":""},"require":{"php":"~8.1.0 || ~8.2.0 || ~8.3.0"},"require-dev":{"ergebnis\/composer-normalize":"^2.29.0","ergebnis\/data-provider":"^3.0.0","ergebnis\/license":"^2.2.0","ergebnis\/php-cs-fixer-config":"^6.6.0","ergebnis\/phpunit-slow-test-detector":"^2.3.0","fakerphp\/faker":"^1.23.0","infection\/infection":"~0.27.4","phpunit\/phpunit":"^10.4.1","psalm\/plugin-phpunit":"~0.18.4","rector\/rector":"~0.18.5","vimeo\/psalm":"^5.15.0"},"type":"library","extra":{"composer-normalize":{"indent-size":2,"indent-style":"space"}},"autoload":{"psr-4":{"Ergebnis\\Json\\":"src\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Andreas M\u00f6ller","email":"am@localheinz.com","homepage":"https:\/\/localheinz.com"}],"description":"Provides a Json value object for representing a valid JSON string.","homepage":"https:\/\/github.com\/ergebnis\/json","keywords":["json"],"support":{"issues":"https:\/\/github.com\/ergebnis\/json\/issues","security":"https:\/\/github.com\/ergebnis\/json\/blob\/main\/.github\/SECURITY.md","source":"https:\/\/github.com\/ergebnis\/json"},"time":"2023-10-10T07:57:48+00:00"},{"name":"ergebnis\/json-normalizer","version":"4.3.0","source":{"type":"git","url":"https:\/\/github.com\/ergebnis\/json-normalizer.git","reference":"716fa0a5dcc75fbcb2c1c2e0542b2f56732460bd"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/ergebnis\/json-normalizer\/zipball\/716fa0a5dcc75fbcb2c1c2e0542b2f56732460bd","reference":"716fa0a5dcc75fbcb2c1c2e0542b2f56732460bd","shasum":""},"require":{"ergebnis\/json":"^1.1.0","ergebnis\/json-pointer":"^3.2.0","ergebnis\/json-printer":"^3.4.0","ergebnis\/json-schema-validator":"^4.1.0","ext-json":"*","justinrainbow\/json-schema":"^5.2.12","php":"~8.1.0 || ~8.2.0 || ~8.3.0"},"require-dev":{"composer\/semver":"^3.4.0","ergebnis\/data-provider":"^3.0.0","ergebnis\/license":"^2.2.0","ergebnis\/php-cs-fixer-config":"~6.7.0","ergebnis\/phpunit-slow-test-detector":"^2.3.0","fakerphp\/faker":"^1.23.0","infection\/infection":"~0.27.4","phpunit\/phpunit":"^10.4.1","psalm\/plugin-phpunit":"~0.18.4","rector\/rector":"~0.18.5","symfony\/filesystem":"^6.3.1","symfony\/finder":"^6.3.5","vimeo\/psalm":"^5.15.0"},"suggest":{"composer\/semver":"If you want to use ComposerJsonNormalizer or VersionConstraintNormalizer"},"type":"library","autoload":{"psr-4":{"Ergebnis\\Json\\Normalizer\\":"src\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Andreas M\u00f6ller","email":"am@localheinz.com","homepage":"https:\/\/localheinz.com"}],"description":"Provides generic and vendor-specific normalizers for normalizing JSON documents.","homepage":"https:\/\/github.com\/ergebnis\/json-normalizer","keywords":["json","normalizer"],"support":{"issues":"https:\/\/github.com\/ergebnis\/json-normalizer\/issues","security":"https:\/\/github.com\/ergebnis\/json-normalizer\/blob\/main\/.github\/SECURITY.md","source":"https:\/\/github.com\/ergebnis\/json-normalizer"},"time":"2023-10-10T15:15:03+00:00"},{"name":"ergebnis\/json-pointer","version":"3.3.0","source":{"type":"git","url":"https:\/\/github.com\/ergebnis\/json-pointer.git","reference":"8e517faefc06b7c761eaa041febef51a9375819a"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/ergebnis\/json-pointer\/zipball\/8e517faefc06b7c761eaa041febef51a9375819a","reference":"8e517faefc06b7c761eaa041febef51a9375819a","shasum":""},"require":{"php":"~8.1.0 || ~8.2.0 || ~8.3.0"},"require-dev":{"ergebnis\/composer-normalize":"^2.29.0","ergebnis\/data-provider":"^3.0.0","ergebnis\/license":"^2.2.0","ergebnis\/php-cs-fixer-config":"~6.7.0","ergebnis\/phpunit-slow-test-detector":"^2.3.0","fakerphp\/faker":"^1.23.0","infection\/infection":"~0.27.4","phpunit\/phpunit":"^10.4.1","psalm\/plugin-phpunit":"~0.18.4","rector\/rector":"~0.18.5","vimeo\/psalm":"^5.15.0"},"type":"library","extra":{"composer-normalize":{"indent-size":2,"indent-style":"space"}},"autoload":{"psr-4":{"Ergebnis\\Json\\Pointer\\":"src\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Andreas M\u00f6ller","email":"am@localheinz.com","homepage":"https:\/\/localheinz.com"}],"description":"Provides JSON pointer as a value object.","homepage":"https:\/\/github.com\/ergebnis\/json-pointer","keywords":["RFC6901","json","pointer"],"support":{"issues":"https:\/\/github.com\/ergebnis\/json-pointer\/issues","security":"https:\/\/github.com\/ergebnis\/json-pointer\/blob\/main\/.github\/SECURITY.md","source":"https:\/\/github.com\/ergebnis\/json-pointer"},"time":"2023-10-10T14:41:06+00:00"},{"name":"ergebnis\/json-printer","version":"3.4.0","source":{"type":"git","url":"https:\/\/github.com\/ergebnis\/json-printer.git","reference":"05841593d72499de4f7ce4034a237c77e470558f"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/ergebnis\/json-printer\/zipball\/05841593d72499de4f7ce4034a237c77e470558f","reference":"05841593d72499de4f7ce4034a237c77e470558f","shasum":""},"require":{"ext-json":"*","ext-mbstring":"*","php":"~8.1.0 || ~8.2.0 || ~8.3.0"},"require-dev":{"ergebnis\/license":"^2.2.0","ergebnis\/php-cs-fixer-config":"^6.6.0","ergebnis\/phpunit-slow-test-detector":"^2.3.0","fakerphp\/faker":"^1.23.0","infection\/infection":"~0.27.3","phpunit\/phpunit":"^10.4.1","psalm\/plugin-phpunit":"~0.18.4","rector\/rector":"~0.18.5","vimeo\/psalm":"^5.15.0"},"type":"library","autoload":{"psr-4":{"Ergebnis\\Json\\Printer\\":"src\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Andreas M\u00f6ller","email":"am@localheinz.com","homepage":"https:\/\/localheinz.com"}],"description":"Provides a JSON printer, allowing for flexible indentation.","homepage":"https:\/\/github.com\/ergebnis\/json-printer","keywords":["formatter","json","printer"],"support":{"issues":"https:\/\/github.com\/ergebnis\/json-printer\/issues","security":"https:\/\/github.com\/ergebnis\/json-printer\/blob\/main\/.github\/SECURITY.md","source":"https:\/\/github.com\/ergebnis\/json-printer"},"time":"2023-10-10T07:42:48+00:00"},{"name":"ergebnis\/json-schema-validator","version":"4.1.0","source":{"type":"git","url":"https:\/\/github.com\/ergebnis\/json-schema-validator.git","reference":"d568ed85d1cdc2e49d650c2fc234dc2516f3f25b"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/ergebnis\/json-schema-validator\/zipball\/d568ed85d1cdc2e49d650c2fc234dc2516f3f25b","reference":"d568ed85d1cdc2e49d650c2fc234dc2516f3f25b","shasum":""},"require":{"ergebnis\/json":"^1.0.1","ergebnis\/json-pointer":"^3.2.0","ext-json":"*","justinrainbow\/json-schema":"^5.2.12","php":"~8.1.0 || ~8.2.0 || ~8.3.0"},"require-dev":{"ergebnis\/composer-normalize":"^2.21.0","ergebnis\/data-provider":"^3.0.0","ergebnis\/license":"^2.2.0","ergebnis\/php-cs-fixer-config":"~6.6.0","ergebnis\/phpunit-slow-test-detector":"^2.3.0","fakerphp\/faker":"^1.23.0","infection\/infection":"~0.27.4","phpunit\/phpunit":"^10.4.1","psalm\/plugin-phpunit":"~0.18.4","rector\/rector":"~0.18.5","vimeo\/psalm":"^5.15.0"},"type":"library","extra":{"composer-normalize":{"indent-size":2,"indent-style":"space"}},"autoload":{"psr-4":{"Ergebnis\\Json\\SchemaValidator\\":"src\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Andreas M\u00f6ller","email":"am@localheinz.com","homepage":"https:\/\/localheinz.com"}],"description":"Provides a JSON schema validator, building on top of justinrainbow\/json-schema.","homepage":"https:\/\/github.com\/ergebnis\/json-schema-validator","keywords":["json","schema","validator"],"support":{"issues":"https:\/\/github.com\/ergebnis\/json-schema-validator\/issues","security":"https:\/\/github.com\/ergebnis\/json-schema-validator\/blob\/main\/.github\/SECURITY.md","source":"https:\/\/github.com\/ergebnis\/json-schema-validator"},"time":"2023-10-10T14:16:57+00:00"},{"name":"fidry\/makefile","version":"1.0.1","source":{"type":"git","url":"https:\/\/github.com\/theofidry\/makefile.git","reference":"be5a048dcc5648d04e924facce0f85b406d731e4"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/theofidry\/makefile\/zipball\/be5a048dcc5648d04e924facce0f85b406d731e4","reference":"be5a048dcc5648d04e924facce0f85b406d731e4","shasum":""},"require":{"php":"^8.1","thecodingmachine\/safe":"^2.0"},"require-dev":{"bamarni\/composer-bin-plugin":"^1.4","ergebnis\/composer-normalize":"^2.28","infection\/infection":"^0.26","phpunit\/phpunit":"^10.3"},"type":"library","extra":{"bamarni-bin":{"bin-links":false,"forward-command":false},"branch-alias":{"dev-main":"1.0.x-dev"}},"autoload":{"psr-4":{"Fidry\\Makefile\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Th\u00e9o Fidry","email":"theo.fidry@gmail.com"}],"description":"Utility to parse a Makefile and implement some convention rules.","keywords":["Makefile"],"support":{"issues":"https:\/\/github.com\/theofidry\/makefile\/issues","source":"https:\/\/github.com\/theofidry\/makefile\/tree\/1.0.1"},"funding":[{"url":"https:\/\/github.com\/theofidry","type":"github"}],"time":"2023-10-13T23:49:14+00:00"},{"name":"localheinz\/diff","version":"1.1.1","source":{"type":"git","url":"https:\/\/github.com\/localheinz\/diff.git","reference":"851bb20ea8358c86f677f5f111c4ab031b1c764c"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/localheinz\/diff\/zipball\/851bb20ea8358c86f677f5f111c4ab031b1c764c","reference":"851bb20ea8358c86f677f5f111c4ab031b1c764c","shasum":""},"require":{"php":"^7.1 || ^8.0"},"require-dev":{"phpunit\/phpunit":"^7.5 || ^8.0","symfony\/process":"^4.2 || ^5"},"type":"library","autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de"},{"name":"Kore Nordmann","email":"mail@kore-nordmann.de"}],"description":"Fork of sebastian\/diff for use with ergebnis\/composer-normalize","homepage":"https:\/\/github.com\/localheinz\/diff","keywords":["diff","udiff","unidiff","unified diff"],"support":{"source":"https:\/\/github.com\/localheinz\/diff\/tree\/main"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2020-07-06T04:49:32+00:00"},{"name":"mikey179\/vfsstream","version":"v1.6.11","source":{"type":"git","url":"https:\/\/github.com\/bovigo\/vfsStream.git","reference":"17d16a85e6c26ce1f3e2fa9ceeacdc2855db1e9f"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/bovigo\/vfsStream\/zipball\/17d16a85e6c26ce1f3e2fa9ceeacdc2855db1e9f","reference":"17d16a85e6c26ce1f3e2fa9ceeacdc2855db1e9f","shasum":""},"require":{"php":">=5.3.0"},"require-dev":{"phpunit\/phpunit":"^4.5|^5.0"},"type":"library","extra":{"branch-alias":{"dev-master":"1.6.x-dev"}},"autoload":{"psr-0":{"org\\bovigo\\vfs\\":"src\/main\/php"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Frank Kleine","homepage":"http:\/\/frankkleine.de\/","role":"Developer"}],"description":"Virtual file system to mock the real file system in unit tests.","homepage":"http:\/\/vfs.bovigo.org\/","support":{"issues":"https:\/\/github.com\/bovigo\/vfsStream\/issues","source":"https:\/\/github.com\/bovigo\/vfsStream\/tree\/master","wiki":"https:\/\/github.com\/bovigo\/vfsStream\/wiki"},"time":"2022-02-23T02:02:42+00:00"},{"name":"myclabs\/deep-copy","version":"1.11.1","source":{"type":"git","url":"https:\/\/github.com\/myclabs\/DeepCopy.git","reference":"7284c22080590fb39f2ffa3e9057f10a4ddd0e0c"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/myclabs\/DeepCopy\/zipball\/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c","reference":"7284c22080590fb39f2ffa3e9057f10a4ddd0e0c","shasum":""},"require":{"php":"^7.1 || ^8.0"},"conflict":{"doctrine\/collections":"<1.6.8","doctrine\/common":"<2.13.3 || >=3,<3.2.2"},"require-dev":{"doctrine\/collections":"^1.6.8","doctrine\/common":"^2.13.3 || ^3.2.2","phpunit\/phpunit":"^7.5.20 || ^8.5.23 || ^9.5.13"},"type":"library","autoload":{"files":["src\/DeepCopy\/deep_copy.php"],"psr-4":{"DeepCopy\\":"src\/DeepCopy\/"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"description":"Create deep copies (clones) of your objects","keywords":["clone","copy","duplicate","object","object graph"],"support":{"issues":"https:\/\/github.com\/myclabs\/DeepCopy\/issues","source":"https:\/\/github.com\/myclabs\/DeepCopy\/tree\/1.11.1"},"funding":[{"url":"https:\/\/tidelift.com\/funding\/github\/packagist\/myclabs\/deep-copy","type":"tidelift"}],"time":"2023-03-08T13:26:56+00:00"},{"name":"phar-io\/manifest","version":"2.0.3","source":{"type":"git","url":"https:\/\/github.com\/phar-io\/manifest.git","reference":"97803eca37d319dfa7826cc2437fc020857acb53"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/phar-io\/manifest\/zipball\/97803eca37d319dfa7826cc2437fc020857acb53","reference":"97803eca37d319dfa7826cc2437fc020857acb53","shasum":""},"require":{"ext-dom":"*","ext-phar":"*","ext-xmlwriter":"*","phar-io\/version":"^3.0.1","php":"^7.2 || ^8.0"},"type":"library","extra":{"branch-alias":{"dev-master":"2.0.x-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Arne Blankerts","email":"arne@blankerts.de","role":"Developer"},{"name":"Sebastian Heuer","email":"sebastian@phpeople.de","role":"Developer"},{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de","role":"Developer"}],"description":"Component for reading phar.io manifest information from a PHP Archive (PHAR)","support":{"issues":"https:\/\/github.com\/phar-io\/manifest\/issues","source":"https:\/\/github.com\/phar-io\/manifest\/tree\/2.0.3"},"time":"2021-07-20T11:28:43+00:00"},{"name":"phar-io\/version","version":"3.2.1","source":{"type":"git","url":"https:\/\/github.com\/phar-io\/version.git","reference":"4f7fd7836c6f332bb2933569e566a0d6c4cbed74"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/phar-io\/version\/zipball\/4f7fd7836c6f332bb2933569e566a0d6c4cbed74","reference":"4f7fd7836c6f332bb2933569e566a0d6c4cbed74","shasum":""},"require":{"php":"^7.2 || ^8.0"},"type":"library","autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Arne Blankerts","email":"arne@blankerts.de","role":"Developer"},{"name":"Sebastian Heuer","email":"sebastian@phpeople.de","role":"Developer"},{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de","role":"Developer"}],"description":"Library for handling version information and constraints","support":{"issues":"https:\/\/github.com\/phar-io\/version\/issues","source":"https:\/\/github.com\/phar-io\/version\/tree\/3.2.1"},"time":"2022-02-21T01:04:05+00:00"},{"name":"phpspec\/prophecy","version":"v1.18.0","source":{"type":"git","url":"https:\/\/github.com\/phpspec\/prophecy.git","reference":"d4f454f7e1193933f04e6500de3e79191648ed0c"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/phpspec\/prophecy\/zipball\/d4f454f7e1193933f04e6500de3e79191648ed0c","reference":"d4f454f7e1193933f04e6500de3e79191648ed0c","shasum":""},"require":{"doctrine\/instantiator":"^1.2 || ^2.0","php":"^7.2 || 8.0.* || 8.1.* || 8.2.* || 8.3.*","phpdocumentor\/reflection-docblock":"^5.2","sebastian\/comparator":"^3.0 || ^4.0 || ^5.0","sebastian\/recursion-context":"^3.0 || ^4.0 || ^5.0"},"require-dev":{"phpspec\/phpspec":"^6.0 || ^7.0","phpstan\/phpstan":"^1.9","phpunit\/phpunit":"^8.0 || ^9.0 || ^10.0"},"type":"library","extra":{"branch-alias":{"dev-master":"1.x-dev"}},"autoload":{"psr-4":{"Prophecy\\":"src\/Prophecy"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Konstantin Kudryashov","email":"ever.zet@gmail.com","homepage":"http:\/\/everzet.com"},{"name":"Marcello Duarte","email":"marcello.duarte@gmail.com"}],"description":"Highly opinionated mocking framework for PHP 5.3+","homepage":"https:\/\/github.com\/phpspec\/prophecy","keywords":["Double","Dummy","dev","fake","mock","spy","stub"],"support":{"issues":"https:\/\/github.com\/phpspec\/prophecy\/issues","source":"https:\/\/github.com\/phpspec\/prophecy\/tree\/v1.18.0"},"time":"2023-12-07T16:22:33+00:00"},{"name":"phpspec\/prophecy-phpunit","version":"v2.1.0","source":{"type":"git","url":"https:\/\/github.com\/phpspec\/prophecy-phpunit.git","reference":"29f8114c2c319a4308e6b070902211e062efa392"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/phpspec\/prophecy-phpunit\/zipball\/29f8114c2c319a4308e6b070902211e062efa392","reference":"29f8114c2c319a4308e6b070902211e062efa392","shasum":""},"require":{"php":"^7.3 || ^8","phpspec\/prophecy":"^1.18","phpunit\/phpunit":"^9.1 || ^10.1"},"type":"library","extra":{"branch-alias":{"dev-master":"2.0-dev"}},"autoload":{"psr-4":{"Prophecy\\PhpUnit\\":"src"}},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Christophe Coevoet","email":"stof@notk.org"}],"description":"Integrating the Prophecy mocking library in PHPUnit test cases","homepage":"http:\/\/phpspec.net","keywords":["phpunit","prophecy"],"support":{"issues":"https:\/\/github.com\/phpspec\/prophecy-phpunit\/issues","source":"https:\/\/github.com\/phpspec\/prophecy-phpunit\/tree\/v2.1.0"},"time":"2023-12-08T12:48:02+00:00"},{"name":"phpunit\/php-code-coverage","version":"10.1.9","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/php-code-coverage.git","reference":"a56a9ab2f680246adcf3db43f38ddf1765774735"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/php-code-coverage\/zipball\/a56a9ab2f680246adcf3db43f38ddf1765774735","reference":"a56a9ab2f680246adcf3db43f38ddf1765774735","shasum":""},"require":{"ext-dom":"*","ext-libxml":"*","ext-xmlwriter":"*","nikic\/php-parser":"^4.15","php":">=8.1","phpunit\/php-file-iterator":"^4.0","phpunit\/php-text-template":"^3.0","sebastian\/code-unit-reverse-lookup":"^3.0","sebastian\/complexity":"^3.0","sebastian\/environment":"^6.0","sebastian\/lines-of-code":"^2.0","sebastian\/version":"^4.0","theseer\/tokenizer":"^1.2.0"},"require-dev":{"phpunit\/phpunit":"^10.1"},"suggest":{"ext-pcov":"PHP extension that provides line coverage","ext-xdebug":"PHP extension that provides line coverage as well as branch and path coverage"},"type":"library","extra":{"branch-alias":{"dev-main":"10.1-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de","role":"lead"}],"description":"Library that provides collection, processing, and rendering functionality for PHP code coverage information.","homepage":"https:\/\/github.com\/sebastianbergmann\/php-code-coverage","keywords":["coverage","testing","xunit"],"support":{"issues":"https:\/\/github.com\/sebastianbergmann\/php-code-coverage\/issues","security":"https:\/\/github.com\/sebastianbergmann\/php-code-coverage\/security\/policy","source":"https:\/\/github.com\/sebastianbergmann\/php-code-coverage\/tree\/10.1.9"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-11-23T12:23:20+00:00"},{"name":"phpunit\/php-file-iterator","version":"4.1.0","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/php-file-iterator.git","reference":"a95037b6d9e608ba092da1b23931e537cadc3c3c"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/php-file-iterator\/zipball\/a95037b6d9e608ba092da1b23931e537cadc3c3c","reference":"a95037b6d9e608ba092da1b23931e537cadc3c3c","shasum":""},"require":{"php":">=8.1"},"require-dev":{"phpunit\/phpunit":"^10.0"},"type":"library","extra":{"branch-alias":{"dev-main":"4.0-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de","role":"lead"}],"description":"FilterIterator implementation that filters files based on a list of suffixes.","homepage":"https:\/\/github.com\/sebastianbergmann\/php-file-iterator\/","keywords":["filesystem","iterator"],"support":{"issues":"https:\/\/github.com\/sebastianbergmann\/php-file-iterator\/issues","security":"https:\/\/github.com\/sebastianbergmann\/php-file-iterator\/security\/policy","source":"https:\/\/github.com\/sebastianbergmann\/php-file-iterator\/tree\/4.1.0"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-08-31T06:24:48+00:00"},{"name":"phpunit\/php-invoker","version":"4.0.0","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/php-invoker.git","reference":"f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/php-invoker\/zipball\/f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7","reference":"f5e568ba02fa5ba0ddd0f618391d5a9ea50b06d7","shasum":""},"require":{"php":">=8.1"},"require-dev":{"ext-pcntl":"*","phpunit\/phpunit":"^10.0"},"suggest":{"ext-pcntl":"*"},"type":"library","extra":{"branch-alias":{"dev-main":"4.0-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de","role":"lead"}],"description":"Invoke callables with a timeout","homepage":"https:\/\/github.com\/sebastianbergmann\/php-invoker\/","keywords":["process"],"support":{"issues":"https:\/\/github.com\/sebastianbergmann\/php-invoker\/issues","source":"https:\/\/github.com\/sebastianbergmann\/php-invoker\/tree\/4.0.0"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-02-03T06:56:09+00:00"},{"name":"phpunit\/php-text-template","version":"3.0.1","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/php-text-template.git","reference":"0c7b06ff49e3d5072f057eb1fa59258bf287a748"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/php-text-template\/zipball\/0c7b06ff49e3d5072f057eb1fa59258bf287a748","reference":"0c7b06ff49e3d5072f057eb1fa59258bf287a748","shasum":""},"require":{"php":">=8.1"},"require-dev":{"phpunit\/phpunit":"^10.0"},"type":"library","extra":{"branch-alias":{"dev-main":"3.0-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de","role":"lead"}],"description":"Simple template engine.","homepage":"https:\/\/github.com\/sebastianbergmann\/php-text-template\/","keywords":["template"],"support":{"issues":"https:\/\/github.com\/sebastianbergmann\/php-text-template\/issues","security":"https:\/\/github.com\/sebastianbergmann\/php-text-template\/security\/policy","source":"https:\/\/github.com\/sebastianbergmann\/php-text-template\/tree\/3.0.1"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-08-31T14:07:24+00:00"},{"name":"phpunit\/php-timer","version":"6.0.0","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/php-timer.git","reference":"e2a2d67966e740530f4a3343fe2e030ffdc1161d"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/php-timer\/zipball\/e2a2d67966e740530f4a3343fe2e030ffdc1161d","reference":"e2a2d67966e740530f4a3343fe2e030ffdc1161d","shasum":""},"require":{"php":">=8.1"},"require-dev":{"phpunit\/phpunit":"^10.0"},"type":"library","extra":{"branch-alias":{"dev-main":"6.0-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de","role":"lead"}],"description":"Utility class for timing","homepage":"https:\/\/github.com\/sebastianbergmann\/php-timer\/","keywords":["timer"],"support":{"issues":"https:\/\/github.com\/sebastianbergmann\/php-timer\/issues","source":"https:\/\/github.com\/sebastianbergmann\/php-timer\/tree\/6.0.0"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-02-03T06:57:52+00:00"},{"name":"phpunit\/phpunit","version":"10.5.2","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/phpunit.git","reference":"5aedff46afba98dddecaa12349ec044d9103d4fe"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/phpunit\/zipball\/5aedff46afba98dddecaa12349ec044d9103d4fe","reference":"5aedff46afba98dddecaa12349ec044d9103d4fe","shasum":""},"require":{"ext-dom":"*","ext-json":"*","ext-libxml":"*","ext-mbstring":"*","ext-xml":"*","ext-xmlwriter":"*","myclabs\/deep-copy":"^1.10.1","phar-io\/manifest":"^2.0.3","phar-io\/version":"^3.0.2","php":">=8.1","phpunit\/php-code-coverage":"^10.1.5","phpunit\/php-file-iterator":"^4.0","phpunit\/php-invoker":"^4.0","phpunit\/php-text-template":"^3.0","phpunit\/php-timer":"^6.0","sebastian\/cli-parser":"^2.0","sebastian\/code-unit":"^2.0","sebastian\/comparator":"^5.0","sebastian\/diff":"^5.0","sebastian\/environment":"^6.0","sebastian\/exporter":"^5.1","sebastian\/global-state":"^6.0.1","sebastian\/object-enumerator":"^5.0","sebastian\/recursion-context":"^5.0","sebastian\/type":"^4.0","sebastian\/version":"^4.0"},"suggest":{"ext-soap":"To be able to generate mocks based on WSDL files"},"bin":["phpunit"],"type":"library","extra":{"branch-alias":{"dev-main":"10.5-dev"}},"autoload":{"files":["src\/Framework\/Assert\/Functions.php"],"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de","role":"lead"}],"description":"The PHP Unit Testing framework.","homepage":"https:\/\/phpunit.de\/","keywords":["phpunit","testing","xunit"],"support":{"issues":"https:\/\/github.com\/sebastianbergmann\/phpunit\/issues","security":"https:\/\/github.com\/sebastianbergmann\/phpunit\/security\/policy","source":"https:\/\/github.com\/sebastianbergmann\/phpunit\/tree\/10.5.2"},"funding":[{"url":"https:\/\/phpunit.de\/sponsors.html","type":"custom"},{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"},{"url":"https:\/\/tidelift.com\/funding\/github\/packagist\/phpunit\/phpunit","type":"tidelift"}],"time":"2023-12-05T14:54:33+00:00"},{"name":"sebastian\/cli-parser","version":"2.0.0","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/cli-parser.git","reference":"efdc130dbbbb8ef0b545a994fd811725c5282cae"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/cli-parser\/zipball\/efdc130dbbbb8ef0b545a994fd811725c5282cae","reference":"efdc130dbbbb8ef0b545a994fd811725c5282cae","shasum":""},"require":{"php":">=8.1"},"require-dev":{"phpunit\/phpunit":"^10.0"},"type":"library","extra":{"branch-alias":{"dev-main":"2.0-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de","role":"lead"}],"description":"Library for parsing CLI options","homepage":"https:\/\/github.com\/sebastianbergmann\/cli-parser","support":{"issues":"https:\/\/github.com\/sebastianbergmann\/cli-parser\/issues","source":"https:\/\/github.com\/sebastianbergmann\/cli-parser\/tree\/2.0.0"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-02-03T06:58:15+00:00"},{"name":"sebastian\/code-unit","version":"2.0.0","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/code-unit.git","reference":"a81fee9eef0b7a76af11d121767abc44c104e503"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/code-unit\/zipball\/a81fee9eef0b7a76af11d121767abc44c104e503","reference":"a81fee9eef0b7a76af11d121767abc44c104e503","shasum":""},"require":{"php":">=8.1"},"require-dev":{"phpunit\/phpunit":"^10.0"},"type":"library","extra":{"branch-alias":{"dev-main":"2.0-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de","role":"lead"}],"description":"Collection of value objects that represent the PHP code units","homepage":"https:\/\/github.com\/sebastianbergmann\/code-unit","support":{"issues":"https:\/\/github.com\/sebastianbergmann\/code-unit\/issues","source":"https:\/\/github.com\/sebastianbergmann\/code-unit\/tree\/2.0.0"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-02-03T06:58:43+00:00"},{"name":"sebastian\/code-unit-reverse-lookup","version":"3.0.0","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/code-unit-reverse-lookup.git","reference":"5e3a687f7d8ae33fb362c5c0743794bbb2420a1d"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/code-unit-reverse-lookup\/zipball\/5e3a687f7d8ae33fb362c5c0743794bbb2420a1d","reference":"5e3a687f7d8ae33fb362c5c0743794bbb2420a1d","shasum":""},"require":{"php":">=8.1"},"require-dev":{"phpunit\/phpunit":"^10.0"},"type":"library","extra":{"branch-alias":{"dev-main":"3.0-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de"}],"description":"Looks up which function or method a line of code belongs to","homepage":"https:\/\/github.com\/sebastianbergmann\/code-unit-reverse-lookup\/","support":{"issues":"https:\/\/github.com\/sebastianbergmann\/code-unit-reverse-lookup\/issues","source":"https:\/\/github.com\/sebastianbergmann\/code-unit-reverse-lookup\/tree\/3.0.0"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-02-03T06:59:15+00:00"},{"name":"sebastian\/comparator","version":"5.0.1","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/comparator.git","reference":"2db5010a484d53ebf536087a70b4a5423c102372"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/comparator\/zipball\/2db5010a484d53ebf536087a70b4a5423c102372","reference":"2db5010a484d53ebf536087a70b4a5423c102372","shasum":""},"require":{"ext-dom":"*","ext-mbstring":"*","php":">=8.1","sebastian\/diff":"^5.0","sebastian\/exporter":"^5.0"},"require-dev":{"phpunit\/phpunit":"^10.3"},"type":"library","extra":{"branch-alias":{"dev-main":"5.0-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de"},{"name":"Jeff Welch","email":"whatthejeff@gmail.com"},{"name":"Volker Dusch","email":"github@wallbash.com"},{"name":"Bernhard Schussek","email":"bschussek@2bepublished.at"}],"description":"Provides the functionality to compare PHP values for equality","homepage":"https:\/\/github.com\/sebastianbergmann\/comparator","keywords":["comparator","compare","equality"],"support":{"issues":"https:\/\/github.com\/sebastianbergmann\/comparator\/issues","security":"https:\/\/github.com\/sebastianbergmann\/comparator\/security\/policy","source":"https:\/\/github.com\/sebastianbergmann\/comparator\/tree\/5.0.1"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-08-14T13:18:12+00:00"},{"name":"sebastian\/complexity","version":"3.1.0","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/complexity.git","reference":"68cfb347a44871f01e33ab0ef8215966432f6957"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/complexity\/zipball\/68cfb347a44871f01e33ab0ef8215966432f6957","reference":"68cfb347a44871f01e33ab0ef8215966432f6957","shasum":""},"require":{"nikic\/php-parser":"^4.10","php":">=8.1"},"require-dev":{"phpunit\/phpunit":"^10.0"},"type":"library","extra":{"branch-alias":{"dev-main":"3.1-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de","role":"lead"}],"description":"Library for calculating the complexity of PHP code units","homepage":"https:\/\/github.com\/sebastianbergmann\/complexity","support":{"issues":"https:\/\/github.com\/sebastianbergmann\/complexity\/issues","security":"https:\/\/github.com\/sebastianbergmann\/complexity\/security\/policy","source":"https:\/\/github.com\/sebastianbergmann\/complexity\/tree\/3.1.0"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-09-28T11:50:59+00:00"},{"name":"sebastian\/environment","version":"6.0.1","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/environment.git","reference":"43c751b41d74f96cbbd4e07b7aec9675651e2951"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/environment\/zipball\/43c751b41d74f96cbbd4e07b7aec9675651e2951","reference":"43c751b41d74f96cbbd4e07b7aec9675651e2951","shasum":""},"require":{"php":">=8.1"},"require-dev":{"phpunit\/phpunit":"^10.0"},"suggest":{"ext-posix":"*"},"type":"library","extra":{"branch-alias":{"dev-main":"6.0-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de"}],"description":"Provides functionality to handle HHVM\/PHP environments","homepage":"https:\/\/github.com\/sebastianbergmann\/environment","keywords":["Xdebug","environment","hhvm"],"support":{"issues":"https:\/\/github.com\/sebastianbergmann\/environment\/issues","security":"https:\/\/github.com\/sebastianbergmann\/environment\/security\/policy","source":"https:\/\/github.com\/sebastianbergmann\/environment\/tree\/6.0.1"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-04-11T05:39:26+00:00"},{"name":"sebastian\/exporter","version":"5.1.1","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/exporter.git","reference":"64f51654862e0f5e318db7e9dcc2292c63cdbddc"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/exporter\/zipball\/64f51654862e0f5e318db7e9dcc2292c63cdbddc","reference":"64f51654862e0f5e318db7e9dcc2292c63cdbddc","shasum":""},"require":{"ext-mbstring":"*","php":">=8.1","sebastian\/recursion-context":"^5.0"},"require-dev":{"phpunit\/phpunit":"^10.0"},"type":"library","extra":{"branch-alias":{"dev-main":"5.1-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de"},{"name":"Jeff Welch","email":"whatthejeff@gmail.com"},{"name":"Volker Dusch","email":"github@wallbash.com"},{"name":"Adam Harvey","email":"aharvey@php.net"},{"name":"Bernhard Schussek","email":"bschussek@gmail.com"}],"description":"Provides the functionality to export PHP variables for visualization","homepage":"https:\/\/www.github.com\/sebastianbergmann\/exporter","keywords":["export","exporter"],"support":{"issues":"https:\/\/github.com\/sebastianbergmann\/exporter\/issues","security":"https:\/\/github.com\/sebastianbergmann\/exporter\/security\/policy","source":"https:\/\/github.com\/sebastianbergmann\/exporter\/tree\/5.1.1"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-09-24T13:22:09+00:00"},{"name":"sebastian\/global-state","version":"6.0.1","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/global-state.git","reference":"7ea9ead78f6d380d2a667864c132c2f7b83055e4"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/global-state\/zipball\/7ea9ead78f6d380d2a667864c132c2f7b83055e4","reference":"7ea9ead78f6d380d2a667864c132c2f7b83055e4","shasum":""},"require":{"php":">=8.1","sebastian\/object-reflector":"^3.0","sebastian\/recursion-context":"^5.0"},"require-dev":{"ext-dom":"*","phpunit\/phpunit":"^10.0"},"type":"library","extra":{"branch-alias":{"dev-main":"6.0-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de"}],"description":"Snapshotting of global state","homepage":"http:\/\/www.github.com\/sebastianbergmann\/global-state","keywords":["global state"],"support":{"issues":"https:\/\/github.com\/sebastianbergmann\/global-state\/issues","security":"https:\/\/github.com\/sebastianbergmann\/global-state\/security\/policy","source":"https:\/\/github.com\/sebastianbergmann\/global-state\/tree\/6.0.1"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-07-19T07:19:23+00:00"},{"name":"sebastian\/lines-of-code","version":"2.0.1","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/lines-of-code.git","reference":"649e40d279e243d985aa8fb6e74dd5bb28dc185d"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/lines-of-code\/zipball\/649e40d279e243d985aa8fb6e74dd5bb28dc185d","reference":"649e40d279e243d985aa8fb6e74dd5bb28dc185d","shasum":""},"require":{"nikic\/php-parser":"^4.10","php":">=8.1"},"require-dev":{"phpunit\/phpunit":"^10.0"},"type":"library","extra":{"branch-alias":{"dev-main":"2.0-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de","role":"lead"}],"description":"Library for counting the lines of code in PHP source code","homepage":"https:\/\/github.com\/sebastianbergmann\/lines-of-code","support":{"issues":"https:\/\/github.com\/sebastianbergmann\/lines-of-code\/issues","security":"https:\/\/github.com\/sebastianbergmann\/lines-of-code\/security\/policy","source":"https:\/\/github.com\/sebastianbergmann\/lines-of-code\/tree\/2.0.1"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-08-31T09:25:50+00:00"},{"name":"sebastian\/object-enumerator","version":"5.0.0","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/object-enumerator.git","reference":"202d0e344a580d7f7d04b3fafce6933e59dae906"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/object-enumerator\/zipball\/202d0e344a580d7f7d04b3fafce6933e59dae906","reference":"202d0e344a580d7f7d04b3fafce6933e59dae906","shasum":""},"require":{"php":">=8.1","sebastian\/object-reflector":"^3.0","sebastian\/recursion-context":"^5.0"},"require-dev":{"phpunit\/phpunit":"^10.0"},"type":"library","extra":{"branch-alias":{"dev-main":"5.0-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de"}],"description":"Traverses array structures and object graphs to enumerate all referenced objects","homepage":"https:\/\/github.com\/sebastianbergmann\/object-enumerator\/","support":{"issues":"https:\/\/github.com\/sebastianbergmann\/object-enumerator\/issues","source":"https:\/\/github.com\/sebastianbergmann\/object-enumerator\/tree\/5.0.0"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-02-03T07:08:32+00:00"},{"name":"sebastian\/object-reflector","version":"3.0.0","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/object-reflector.git","reference":"24ed13d98130f0e7122df55d06c5c4942a577957"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/object-reflector\/zipball\/24ed13d98130f0e7122df55d06c5c4942a577957","reference":"24ed13d98130f0e7122df55d06c5c4942a577957","shasum":""},"require":{"php":">=8.1"},"require-dev":{"phpunit\/phpunit":"^10.0"},"type":"library","extra":{"branch-alias":{"dev-main":"3.0-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de"}],"description":"Allows reflection of object attributes, including inherited and non-public ones","homepage":"https:\/\/github.com\/sebastianbergmann\/object-reflector\/","support":{"issues":"https:\/\/github.com\/sebastianbergmann\/object-reflector\/issues","source":"https:\/\/github.com\/sebastianbergmann\/object-reflector\/tree\/3.0.0"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-02-03T07:06:18+00:00"},{"name":"sebastian\/recursion-context","version":"5.0.0","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/recursion-context.git","reference":"05909fb5bc7df4c52992396d0116aed689f93712"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/recursion-context\/zipball\/05909fb5bc7df4c52992396d0116aed689f93712","reference":"05909fb5bc7df4c52992396d0116aed689f93712","shasum":""},"require":{"php":">=8.1"},"require-dev":{"phpunit\/phpunit":"^10.0"},"type":"library","extra":{"branch-alias":{"dev-main":"5.0-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de"},{"name":"Jeff Welch","email":"whatthejeff@gmail.com"},{"name":"Adam Harvey","email":"aharvey@php.net"}],"description":"Provides functionality to recursively process PHP variables","homepage":"https:\/\/github.com\/sebastianbergmann\/recursion-context","support":{"issues":"https:\/\/github.com\/sebastianbergmann\/recursion-context\/issues","source":"https:\/\/github.com\/sebastianbergmann\/recursion-context\/tree\/5.0.0"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-02-03T07:05:40+00:00"},{"name":"sebastian\/type","version":"4.0.0","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/type.git","reference":"462699a16464c3944eefc02ebdd77882bd3925bf"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/type\/zipball\/462699a16464c3944eefc02ebdd77882bd3925bf","reference":"462699a16464c3944eefc02ebdd77882bd3925bf","shasum":""},"require":{"php":">=8.1"},"require-dev":{"phpunit\/phpunit":"^10.0"},"type":"library","extra":{"branch-alias":{"dev-main":"4.0-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de","role":"lead"}],"description":"Collection of value objects that represent the types of the PHP type system","homepage":"https:\/\/github.com\/sebastianbergmann\/type","support":{"issues":"https:\/\/github.com\/sebastianbergmann\/type\/issues","source":"https:\/\/github.com\/sebastianbergmann\/type\/tree\/4.0.0"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-02-03T07:10:45+00:00"},{"name":"sebastian\/version","version":"4.0.1","source":{"type":"git","url":"https:\/\/github.com\/sebastianbergmann\/version.git","reference":"c51fa83a5d8f43f1402e3f32a005e6262244ef17"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/sebastianbergmann\/version\/zipball\/c51fa83a5d8f43f1402e3f32a005e6262244ef17","reference":"c51fa83a5d8f43f1402e3f32a005e6262244ef17","shasum":""},"require":{"php":">=8.1"},"type":"library","extra":{"branch-alias":{"dev-main":"4.0-dev"}},"autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Sebastian Bergmann","email":"sebastian@phpunit.de","role":"lead"}],"description":"Library that helps with managing the version number of Git-hosted PHP projects","homepage":"https:\/\/github.com\/sebastianbergmann\/version","support":{"issues":"https:\/\/github.com\/sebastianbergmann\/version\/issues","source":"https:\/\/github.com\/sebastianbergmann\/version\/tree\/4.0.1"},"funding":[{"url":"https:\/\/github.com\/sebastianbergmann","type":"github"}],"time":"2023-02-07T11:34:05+00:00"},{"name":"symfony\/yaml","version":"v7.0.0","source":{"type":"git","url":"https:\/\/github.com\/symfony\/yaml.git","reference":"0055b230c408428b9b5cde7c55659555be5c0278"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/symfony\/yaml\/zipball\/0055b230c408428b9b5cde7c55659555be5c0278","reference":"0055b230c408428b9b5cde7c55659555be5c0278","shasum":""},"require":{"php":">=8.2","symfony\/polyfill-ctype":"^1.8"},"conflict":{"symfony\/console":"<6.4"},"require-dev":{"symfony\/console":"^6.4|^7.0"},"bin":["Resources\/bin\/yaml-lint"],"type":"library","autoload":{"psr-4":{"Symfony\\Component\\Yaml\\":""},"exclude-from-classmap":["\/Tests\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["MIT"],"authors":[{"name":"Fabien Potencier","email":"fabien@symfony.com"},{"name":"Symfony Community","homepage":"https:\/\/symfony.com\/contributors"}],"description":"Loads and dumps YAML files","homepage":"https:\/\/symfony.com","support":{"source":"https:\/\/github.com\/symfony\/yaml\/tree\/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-07T10:26:03+00:00"},{"name":"theseer\/tokenizer","version":"1.2.2","source":{"type":"git","url":"https:\/\/github.com\/theseer\/tokenizer.git","reference":"b2ad5003ca10d4ee50a12da31de12a5774ba6b96"},"dist":{"type":"zip","url":"https:\/\/api.github.com\/repos\/theseer\/tokenizer\/zipball\/b2ad5003ca10d4ee50a12da31de12a5774ba6b96","reference":"b2ad5003ca10d4ee50a12da31de12a5774ba6b96","shasum":""},"require":{"ext-dom":"*","ext-tokenizer":"*","ext-xmlwriter":"*","php":"^7.2 || ^8.0"},"type":"library","autoload":{"classmap":["src\/"]},"notification-url":"https:\/\/packagist.org\/downloads\/","license":["BSD-3-Clause"],"authors":[{"name":"Arne Blankerts","email":"arne@blankerts.de","role":"Developer"}],"description":"A small library for converting tokenized PHP source code into XML and potentially other formats","support":{"issues":"https:\/\/github.com\/theseer\/tokenizer\/issues","source":"https:\/\/github.com\/theseer\/tokenizer\/tree\/1.2.2"},"funding":[{"url":"https:\/\/github.com\/theseer","type":"github"}],"time":"2023-11-20T00:12:19+00:00"}],"aliases":[],"minimum-stability":"dev","stability-flags":[],"prefer-stable":true,"prefer-lowest":false,"platform":{"php":"^8.2","ext-iconv":"*","ext-mbstring":"*","ext-phar":"*","composer-plugin-api":"^2.2"},"platform-dev":{"ext-xml":"*"},"platform-overrides":{"php":"8.2"},"plugin-api-version":"2.6.0"} \ No newline at end of file diff --git a/doc/configuration.md b/doc/configuration.md index e722b2781..6b1f92c9d 100644 --- a/doc/configuration.md +++ b/doc/configuration.md @@ -307,6 +307,8 @@ blacklisted are the ones found using the other available configuration settings: Note that all the blacklisted paths are relative to the settings configured above. For example if you have the following file structure: +TODO: to check if it indeed removes A/, I am not sure it still does. + ```text project/ ├── box.json.dist @@ -333,7 +335,7 @@ With: ``` Box will try to collect all the files found in `project` (cf. [Including files][including-files]) but will exclude `A/` -and `B/A resulting in the following files being collected: +and `B/A` resulting in the following files being collected: ```text project/ diff --git a/draft.md b/draft.md new file mode 100644 index 000000000..9b7fb0226 --- /dev/null +++ b/draft.md @@ -0,0 +1,45 @@ +Add main file -> register main file +exclude dev deps -> remove dev dependencies + +Box scripts: + - dump-composer-autoloader + +cp . /tmp/box-build + +? Removing the existing PHAR "/Users/tfidry/Project/Humbug/box/bin/box.phar" +? Checking Composer compatibility + > Supported version detected +? Setting replacement values + + @release-date@: 2023-12-10 19:02:10 UTC +? Registering compactors + + KevinGH\Box\Compactor\Php + + KevinGH\Box\Compactor\PhpScoper + + KevinGH\Box\Compactor\Json +? Adding main file: /Users/tfidry/Project/Humbug/box/bin/box +? Adding requirements checker +? Adding binary files + > 35 file(s) +? Auto-discover files? Yes +? Removing dev files | Keeping dev files +? Processing files + > 2242 file(s) +? Generating new stub + - Using shebang line: #!/usr/bin/env php + - Using banner: + > This file is part of the box project. + > + > (c) Kevin Herrera + > Théo Fidry + > + > This source file is subject to the MIT license that is bundled + > with this source code in the file LICENSE. +? Executing user scripts + - @composer config autoloader-suffix @prefix' + - @composer config autoloader-suffix @{prefix}CheckSum + - @composer config platform.php --unset +? Dumping the Composer autoloader +? Removing the Composer dump artefacts +? Compressing with the algorithm "GZ" + > Warning: the extension "zlib" will now be required to execute the PHAR +? Setting file permissions to 0755 +* Done. diff --git a/fixtures/build/dir021-scripts-hook/.gitignore b/fixtures/build/dir021-scripts-hook/.gitignore new file mode 100644 index 000000000..b0bf4cd4a --- /dev/null +++ b/fixtures/build/dir021-scripts-hook/.gitignore @@ -0,0 +1,2 @@ +/index.phar +/vendor/ diff --git a/fixtures/build/dir021-scripts-hook/box.json.dist b/fixtures/build/dir021-scripts-hook/box.json.dist new file mode 100644 index 000000000..c91fa2100 --- /dev/null +++ b/fixtures/build/dir021-scripts-hook/box.json.dist @@ -0,0 +1,14 @@ +{ + "$schema": "../../../res/schema.json", + + "alias": "e20-app", + "compactors": [ + "KevinGH\\Box\\Compactor\\PhpScoper" + ], + "timestamp": "2020-10-20 10:01:11", + "scripts": [ + "@composer config autoloader-suffix @prefix", + "@composer config autoloader-suffix @{prefix}CheckSum", + "@composer config platform.php --unset" + ] +} diff --git a/fixtures/build/dir021-scripts-hook/composer.json b/fixtures/build/dir021-scripts-hook/composer.json new file mode 100644 index 000000000..27eadf503 --- /dev/null +++ b/fixtures/build/dir021-scripts-hook/composer.json @@ -0,0 +1,16 @@ +{ + "bin": "index.php", + "autoload": { + "psr-4": { + "FixedPrefix\\FixedPrefix\\FixedPrefix\\FixedPrefix\\FixedPrefix\\FixedPrefix\\FixedPrefix\\App\\": [ + "src\/" + ] + } + }, + "config": { + "autoloader-suffix": "AppChecksum" + }, + "require": { + "seld\/phar-utils": "^1.2" + } +} \ No newline at end of file diff --git a/fixtures/build/dir021-scripts-hook/composer.lock b/fixtures/build/dir021-scripts-hook/composer.lock new file mode 100644 index 000000000..e3c10072c --- /dev/null +++ b/fixtures/build/dir021-scripts-hook/composer.lock @@ -0,0 +1,67 @@ +{ + "_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": "a2828bc624be51258ae32a2f2dbd5696", + "packages": [ + { + "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" + } + ], + "packages-dev": [], + "aliases": [], + "minimum-stability": "stable", + "stability-flags": [], + "prefer-stable": false, + "prefer-lowest": false, + "platform": [], + "platform-dev": [], + "plugin-api-version": "2.6.0" +} diff --git a/fixtures/build/dir021-scripts-hook/expected-stderr b/fixtures/build/dir021-scripts-hook/expected-stderr new file mode 100644 index 000000000..e69de29bb diff --git a/fixtures/build/dir021-scripts-hook/expected-stdout b/fixtures/build/dir021-scripts-hook/expected-stdout new file mode 100644 index 000000000..cd0875583 --- /dev/null +++ b/fixtures/build/dir021-scripts-hook/expected-stdout @@ -0,0 +1 @@ +Hello world! diff --git a/fixtures/build/dir021-scripts-hook/index.php b/fixtures/build/dir021-scripts-hook/index.php new file mode 100644 index 000000000..6e9dcdd45 --- /dev/null +++ b/fixtures/build/dir021-scripts-hook/index.php @@ -0,0 +1,21 @@ + + * Théo Fidry + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ + +require_once __DIR__.'/vendor/autoload.php'; + +use App\Salute; + +(static function (): void { + (new Salute())(); +})(); diff --git a/fixtures/build/dir021-scripts-hook/scoper.inc.php b/fixtures/build/dir021-scripts-hook/scoper.inc.php new file mode 100644 index 000000000..e67e597be --- /dev/null +++ b/fixtures/build/dir021-scripts-hook/scoper.inc.php @@ -0,0 +1,17 @@ + + * Théo Fidry + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ + +return [ + 'prefix' => 'FixedPrefix', +]; diff --git a/fixtures/build/dir021-scripts-hook/src/Salute.php b/fixtures/build/dir021-scripts-hook/src/Salute.php new file mode 100644 index 000000000..f9f3d32ea --- /dev/null +++ b/fixtures/build/dir021-scripts-hook/src/Salute.php @@ -0,0 +1,22 @@ + + * Théo Fidry + * + * This source file is subject to the MIT license that is bundled + * with this source code in the file LICENSE. + */ +namespace FixedPrefix\App; + +use const PHP_EOL; +final class Salute +{ + public function __invoke() : void + { + echo 'Hello world!' . PHP_EOL; + } +} diff --git a/res/schema.json b/res/schema.json index bc273453d..a99c122d5 100644 --- a/res/schema.json +++ b/res/schema.json @@ -1,218 +1 @@ -{ - "$schema": "http://json-schema.org/draft-04/schema#", - "description": "Settings used to build a new PHAR using Box.", - "type": "object", - "additionalProperties": false, - "properties": { - "$schema": { - "description": "JSON schema location, e.g. ``vendor\/humbug\/box\/res\/schema.json``", - "type": [ "string", "null"] - }, - "algorithm": { - "description": "The algorithm to use for signing the PHAR.", - "type": ["string", "null"] - }, - "alias": { - "description": "The internal PHAR alias used for I/O streams.", - "type": ["string", "null"] - }, - "annotations": { - "description": "The PHP annotation compactor settings.", - "type": ["boolean", "object", "null"], - "properties": { - "ignore": { - "description": "A list of annotation names to ignore.", - "items": { - "type": "string" - }, - "type": ["array", "null"] - } - } - }, - "banner": { - "description": "The header comment for the generated stub.", - "type": ["array", "boolean", "string", "null"] - }, - "banner-file": { - "description": "The header comment file for the generated stub.", - "type": ["string", "null"] - }, - "base-path": { - "description": "The base path where relative paths are resolved to.", - "type": ["string", "null"] - }, - "blacklist": { - "description": "A list of file paths to skip.", - "items": { - "type": "string" - }, - "type": ["array", "null"] - }, - "check-requirements": { - "description": "If enabled, the PHAR will be able to check if the PHP environment used meets all the requirements to run the application.", - "type": ["boolean", "null"] - }, - "chmod": { - "description": "The permission mode for the new PHAR.", - "type": ["string", "null"] - }, - "compactors": { - "description": "The list of file contents compactor classes to register.", - "items": { - "type": "string" - }, - "type": ["array", "string", "null"] - }, - "compression": { - "description": "The compression algorithm to use for the PHAR.", - "type": ["string", "null"] - }, - "datetime": { - "description": "The replacement date for the current date and time.", - "type": ["string", "null"] - }, - "datetime-format": { - "description": "The format for the current date and time.", - "type": ["string", "null"] - }, - "datetime_format": { - "description": "The format for the current date and time.", - "type": ["string", "null"] - }, - "directories": { - "description": "A list of directory paths to search for scripts.", - "items": { - "type": "string" - }, - "type": ["array", "null"] - }, - "directories-bin": { - "description": "A list of directory paths to search for binary safe files.", - "items": { - "type": "string" - }, - "type": ["array", "null"] - }, - "dump-autoload": { - "description": "Will dump the optimized Composer autoloader.", - "type": ["boolean", "null"] - }, - "exclude-composer-files": { - "description": "Will remove the composer.json, composer.lock and installed.json files from the PHAR", - "type": ["boolean", "null"] - }, - "exclude-dev-files": { - "description": "Will remove the files from dev only packages from the PHAR", - "type": ["boolean", "null"] - }, - "files": { - "description": "A list of file paths to include.", - "items": { - "type": "string" - }, - "type": ["array", "null"] - }, - "files-bin": { - "description": "A list of binary safe file paths to include.", - "items": { - "type": "string" - }, - "type": ["array", "null"] - }, - "finder": { - "description": "A list of Finder configuration settings.", - "items": { - "type": "object" - }, - "type": ["array", "null"] - }, - "finder-bin": { - "description": "A list of Finder configuration settings for binary safe files.", - "items": { - "type": "object" - }, - "type": ["array", "null"] - }, - "force-autodiscovery": { - "description": "Forces the auto-discovery of files.", - "type": ["boolean", "null"] - }, - "git": { - "description": "The replacement name for the current pretty git version format.", - "type": ["string", "null"] - }, - "git-commit": { - "description": "The replacement name for the current git full commit hash.", - "type": ["string", "null"] - }, - "git-commit-short": { - "description": "The replacement name for the current git short commit hash.", - "type": ["string", "null"] - }, - "git-tag": { - "description": "The replacement name for the current git tag.", - "type": ["string", "null"] - }, - "git-version": { - "description": "The replacement name for the current git tag or commit hash.", - "type": ["string", "null"] - }, - "intercept": { - "description": "Allow the PHAR to intercept file functions?", - "type": ["boolean", "null"] - }, - "key": { - "description": "The path to the private key used for signing.", - "type": ["string", "null"] - }, - "key-pass": { - "description": "The password or prompt flag used for the private key.", - "type": ["boolean", "string", "null"] - }, - "main": { - "description": "The file path to the main script.", - "type": ["boolean", "string", "null"] - }, - "map": { - "description": "The mapping of file system paths to phar paths.", - "type": ["array", "null"], - "items": { - "type": "object" - } - }, - "metadata": { - "description": "Extra PHAR metadata." - }, - "output": { - "description": "The file name or path of the new PHAR.", - "type": ["string", "null"], - "not": { - "enum": ["", ".", ".."] - } - }, - "php-scoper": { - "description": "Path to the PHP-Scoper configuration file.", - "type": ["string", "null"] - }, - "replacement-sigil": { - "description": "The sigil that surrounds the replacement names.", - "type": ["string", "null"] - }, - "replacements": { - "description": "A list of replacement names and their values.", - "type": ["object", "null"] - }, - "shebang": { - "description": "The shebang line to use for the generated stub.", - "type": ["string", "boolean", "null"] - }, - "stub": { - "description": "The relative file path to the stub file, or the flag to use the default stub.", - "type": ["boolean", "string", "null"] - }, - "timestamp": { - "description": "The time at which the PHAR timestamp will be set.", - "type": ["string", "null"] - } - } -} +{"$schema":"http:\/\/json-schema.org\/draft-04\/schema#","description":"Settings used to build a new PHAR using Box.","type":"object","additionalProperties":false,"properties":{"$schema":{"description":"JSON schema location, e.g. ``vendor\/humbug\/box\/res\/schema.json``","type":["string","null"]},"algorithm":{"description":"The algorithm to use for signing the PHAR.","type":["string","null"]},"alias":{"description":"The internal PHAR alias used for I\/O streams.","type":["string","null"]},"annotations":{"description":"The PHP annotation compactor settings.","type":["boolean","object","null"],"properties":{"ignore":{"description":"A list of annotation names to ignore.","items":{"type":"string"},"type":["array","null"]}}},"banner":{"description":"The header comment for the generated stub.","type":["array","boolean","string","null"]},"banner-file":{"description":"The header comment file for the generated stub.","type":["string","null"]},"base-path":{"description":"The base path where relative paths are resolved to.","type":["string","null"]},"blacklist":{"description":"A list of file paths to skip.","items":{"type":"string"},"type":["array","null"]},"check-requirements":{"description":"If enabled, the PHAR will be able to check if the PHP environment used meets all the requirements to run the application.","type":["boolean","null"]},"chmod":{"description":"The permission mode for the new PHAR.","type":["string","null"]},"compactors":{"description":"The list of file contents compactor classes to register.","items":{"type":"string"},"type":["array","string","null"]},"compression":{"description":"The compression algorithm to use for the PHAR.","type":["string","null"]},"datetime":{"description":"The replacement date for the current date and time.","type":["string","null"]},"datetime-format":{"description":"The format for the current date and time.","type":["string","null"]},"datetime_format":{"description":"The format for the current date and time.","type":["string","null"]},"directories":{"description":"A list of directory paths to search for scripts.","items":{"type":"string"},"type":["array","null"]},"directories-bin":{"description":"A list of directory paths to search for binary safe files.","items":{"type":"string"},"type":["array","null"]},"dump-autoload":{"description":"Will dump the optimized Composer autoloader.","type":["boolean","null"]},"exclude-composer-files":{"description":"Will remove the composer.json, composer.lock and installed.json files from the PHAR","type":["boolean","null"]},"exclude-dev-files":{"description":"Will remove the files from dev only packages from the PHAR","type":["boolean","null"]},"files":{"description":"A list of file paths to include.","items":{"type":"string"},"type":["array","null"]},"files-bin":{"description":"A list of binary safe file paths to include.","items":{"type":"string"},"type":["array","null"]},"finder":{"description":"A list of Finder configuration settings.","items":{"type":"object"},"type":["array","null"]},"finder-bin":{"description":"A list of Finder configuration settings for binary safe files.","items":{"type":"object"},"type":["array","null"]},"force-autodiscovery":{"description":"Forces the auto-discovery of files.","type":["boolean","null"]},"git":{"description":"The replacement name for the current pretty git version format.","type":["string","null"]},"git-commit":{"description":"The replacement name for the current git full commit hash.","type":["string","null"]},"git-commit-short":{"description":"The replacement name for the current git short commit hash.","type":["string","null"]},"git-tag":{"description":"The replacement name for the current git tag.","type":["string","null"]},"git-version":{"description":"The replacement name for the current git tag or commit hash.","type":["string","null"]},"intercept":{"description":"Allow the PHAR to intercept file functions?","type":["boolean","null"]},"key":{"description":"The path to the private key used for signing.","type":["string","null"]},"key-pass":{"description":"The password or prompt flag used for the private key.","type":["boolean","string","null"]},"main":{"description":"The file path to the main script.","type":["boolean","string","null"]},"map":{"description":"The mapping of file system paths to phar paths.","type":["array","null"],"items":{"type":"object"}},"metadata":{"description":"Extra PHAR metadata."},"output":{"description":"The file name or path of the new PHAR.","type":["string","null"],"not":{"enum":["",".",".."]}},"php-scoper":{"description":"Path to the PHP-Scoper configuration file.","type":["string","null"]},"replacement-sigil":{"description":"The sigil that surrounds the replacement names.","type":["string","null"]},"replacements":{"description":"A list of replacement names and their values.","type":["object","null"]},"shebang":{"description":"The shebang line to use for the generated stub.","type":["string","boolean","null"]},"stub":{"description":"The relative file path to the stub file, or the flag to use the default stub.","type":["boolean","string","null"]},"timestamp":{"description":"The time at which the PHAR timestamp will be set.","type":["string","null"]},"scripts":{"description":"The commands that will be executed before B.","items":{"type":"string"},"type":["array","null"]}}} \ No newline at end of file diff --git a/src/Box.php b/src/Box.php index d7c9afbdd..d2bac54e6 100644 --- a/src/Box.php +++ b/src/Box.php @@ -14,7 +14,6 @@ namespace KevinGH\Box; -use Amp\MultiReasonException; use Amp\Parallel\Worker\TaskFailureThrowable; use BadMethodCallException; use Countable; @@ -48,6 +47,7 @@ use function openssl_pkey_get_details; use function openssl_pkey_get_private; use function sprintf; +use function strval; /** * Box is a utility class to generate a PHAR. @@ -61,11 +61,7 @@ final class Box implements Countable private MapFile $mapFile; private Scoper $scoper; private bool $buffering = false; - - /** - * @var array Relative file path as key and file contents as value - */ - private array $bufferedFiles = []; + private ?string $bufferingDirectory = null; private function __construct( private Phar $phar, @@ -78,6 +74,13 @@ private function __construct( $this->scoper = new NullScoper(); } + public function __destruct() + { + if (null !== $this->bufferingDirectory) { + FS::remove($this->bufferingDirectory); + } + } + /** * Creates a new PHAR and Box instance. * @@ -109,6 +112,7 @@ public function startBuffering(): void Assert::false($this->buffering, 'The buffering must be ended before starting it again'); $this->buffering = true; + $this->bufferingDirectory = FS::makeTmpDir('box', self::class); $this->phar->startBuffering(); } @@ -123,19 +127,19 @@ public function endBuffering(?callable $dumpAutoload): void $dumpAutoload ??= static fn () => null; $cwd = getcwd(); - $tmp = FS::makeTmpDir('box', self::class); + $tmp = $this->bufferingDirectory; chdir($tmp); - if ([] === $this->bufferedFiles) { - $this->bufferedFiles = [ - '.box_empty' => 'A PHAR cannot be empty so Box adds this file to ensure the PHAR is created still.', - ]; - } +// if ([] === $this->bufferedFiles) { +// $this->bufferedFiles = [ +// '.box_empty' => 'A PHAR cannot be empty so Box adds this file to ensure the PHAR is created still.', +// ]; +// } try { - foreach ($this->bufferedFiles as $file => $contents) { - FS::dumpFile($file, $contents); - } +// foreach ($this->bufferedFiles as $file => $contents) { +// FS::dumpFile($file, $contents); +// } if (null !== $dumpAutoload) { $dumpAutoload( @@ -168,6 +172,7 @@ public function removeComposerArtefacts(string $normalizedVendorDir): void 'composer.json', 'composer.lock', $normalizedVendorDir.'/composer/installed.json', + $normalizedVendorDir.'/composer/installed.php', ]; $this->phar->startBuffering(); @@ -288,25 +293,13 @@ public function registerStub(string $file): void /** * @param array $files - * - * @throws TaskFailureThrowable */ - public function addFiles(array $files, bool $binary): void + public function addFiles(array $files): void { Assert::true($this->buffering, 'Cannot add files if the buffering has not started.'); - $files = array_map('strval', $files); - - if ($binary) { - foreach ($files as $file) { - $this->addFile($file, null, true); - } - - return; - } - - foreach ($this->processContents($files) as [$file, $contents]) { - $this->bufferedFiles[$file] = $contents; + foreach ($files as $file) { + $this->addFile((string) $file, null, true); } } @@ -328,8 +321,12 @@ public function addFile(string $file, ?string $contents = null, bool $binary = f } $local = ($this->mapFile)($file); + $path = $this->bufferingDirectory.'/'.$local; - $this->bufferedFiles[$local] = $binary ? $contents : $this->compactors->compact($local, $contents); + FS::dumpFile( + $path, + $binary ? $contents : $this->compactors->compact($local, $contents), + ); return $local; } @@ -444,29 +441,27 @@ public function signUsingKey(string $key, ?string $password): void } /** - * @param string[] $files - * - * @throws MultiReasonException + * @param SplFileInfo[] $files * - * @return array array of tuples where the first element is the local file path (path inside the PHAR) and the - * second element is the processed contents + * @throws TaskFailureThrowable */ - private function processContents(array $files): array + public function executeCompactors(array $files): void { - $cwd = getcwd(); - $shouldProcessFilesInParallel = $this->enableParallelization && ParallelizationDecider::shouldProcessFilesInParallel( $this->scoper, count($files), ); + $shouldProcessFilesInParallel = true; + + $filePaths = array_map(strval(...), $files); $processFiles = $shouldProcessFilesInParallel ? ParallelFileProcessor::processFilesInParallel(...) : self::processFilesSynchronously(...); - return $processFiles( - $files, - $cwd, + $processFiles( + $filePaths, + $this->bufferingDirectory, $this->mapFile, $this->compactors, ); @@ -478,25 +473,21 @@ private function processContents(array $files): array * @return list */ private static function processFilesSynchronously( - array $files, - string $_cwd, - MapFile $mapFile, + array $files, + string $cwd, + MapFile $mapFile, Compactors $compactors, - ): array { - $processFile = static function (string $file) use ($mapFile, $compactors): array { + ): void { + foreach ($files as $file) { $contents = FS::getFileContents($file); $local = $mapFile($file); + $path = $cwd .'/'.$local; $processedContents = $compactors->compact($local, $contents); - return [ - $local, - $processedContents, - ]; - }; - - return array_map($processFile, $files); + FS::dumpFile($path, $processedContents); + } } public function count(): int @@ -505,4 +496,11 @@ public function count(): int return $this->phar->count(); } + + public function getBufferingDirectory(): string + { + // TODO: throw if not null + + return $this->bufferingDirectory; + } } diff --git a/src/Composer/ComposerOrchestrator.php b/src/Composer/ComposerOrchestrator.php index da8f7b338..3aff93397 100644 --- a/src/Composer/ComposerOrchestrator.php +++ b/src/Composer/ComposerOrchestrator.php @@ -110,6 +110,39 @@ public function checkVersion(): void } } + public function installNoDev(string $workingDirectory): void { + $installNoDev = $this->processFactory->getInstallNoDevProcess($workingDirectory); + + $this->logger->info($installNoDev->getCommandLine()); + + $installNoDev->run(); + + if (false === $installNoDev->isSuccessful()) { + throw new RuntimeException( + 'Could not remove the dev dependencies with Composer.', + 0, + new ProcessFailedException($installNoDev), + ); + } + + $output = $installNoDev->getOutput(); + $errorOutput = $installNoDev->getErrorOutput(); + + if ('' !== $output) { + $this->logger->info( + 'STDOUT output:'.PHP_EOL.$output, + ['stdout' => $output], + ); + } + + if ('' !== $errorOutput) { + $this->logger->info( + 'STDERR output:'.PHP_EOL.$errorOutput, + ['stderr' => $errorOutput], + ); + } + } + public function dumpAutoload( SymbolsRegistry $symbolsRegistry, string $prefix, diff --git a/src/Composer/ComposerProcessFactory.php b/src/Composer/ComposerProcessFactory.php index 16f8891cc..859e28709 100644 --- a/src/Composer/ComposerProcessFactory.php +++ b/src/Composer/ComposerProcessFactory.php @@ -71,6 +71,27 @@ public function getVersionProcess(): Process ); } + public function getInstallNoDevProcess(string $workingDirectory): Process + { + $composerCommand = [ + $this->getComposerExecutable(), + 'install', + '--no-dev', + '--no-autoloader', + '--working-dir='.$workingDirectory, + ]; + + if (null !== $this->verbosity) { + $composerCommand[] = $this->verbosity; + } + + if ($this->ansi) { + $composerCommand[] = '--ansi'; + } + + return $this->createProcess($composerCommand); + } + public function getDumpAutoloaderProcess(bool $noDev): Process { $composerCommand = [$this->getComposerExecutable(), 'dump-autoload', '--classmap-authoritative']; diff --git a/src/Configuration/Configuration.php b/src/Configuration/Configuration.php index db59be615..f47450651 100644 --- a/src/Configuration/Configuration.php +++ b/src/Configuration/Configuration.php @@ -172,6 +172,7 @@ final class Configuration private const BANNER_KEY = 'banner'; private const BANNER_FILE_KEY = 'banner-file'; private const BASE_PATH_KEY = 'base-path'; + // TODO: rename blacklist private const BLACKLIST_KEY = 'blacklist'; private const CHECK_REQUIREMENTS_KEY = 'check-requirements'; private const CHMOD_KEY = 'chmod'; @@ -219,6 +220,7 @@ public static function create(?string $file, stdClass $raw): self $basePath = self::retrieveBasePath($file, $raw, $logger); $composerFiles = self::retrieveComposerFiles($basePath); + // TODO: require composer.lock file to be present $dumpAutoload = self::retrieveDumpAutoload($raw, $composerFiles, $logger); @@ -267,6 +269,7 @@ public static function create(?string $file, stdClass $raw): self $composerFiles->getComposerLock()->getDecodedContents(), $excludeDevPackages, ); + $devPackages = []; /** * @var string[] $excludedPaths @@ -346,6 +349,7 @@ public static function create(?string $file, stdClass $raw): self $file, $alias, $basePath, + // Maybe composerFiles could be passed directly there $composerFiles->getComposerJson(), $composerFiles->getComposerLock(), $filesAggregate, diff --git a/src/Console/Command/Compile.php b/src/Console/Command/Compile.php index 260c5d597..83a68cb40 100644 --- a/src/Console/Command/Compile.php +++ b/src/Console/Command/Compile.php @@ -56,6 +56,7 @@ use Symfony\Component\Filesystem\Path; use function array_map; use function array_shift; +use function chdir; use function count; use function decoct; use function explode; @@ -272,7 +273,7 @@ private function createPhar( $check = self::registerRequirementsChecker($config, $box, $logger); - self::addFiles($config, $box, $logger, $io); + self::addFiles($config, $box, $composerOrchestrator, $logger, $io); self::registerStub($config, $box, $main, $check, $logger); self::configureMetadata($config, $box, $logger); @@ -451,13 +452,14 @@ private static function registerFileMapping(Configuration $config, Box $box, Com $box->registerFileMapping($fileMapper); } - private static function addFiles(Configuration $config, Box $box, CompilerLogger $logger, IO $io): void + private static function addFiles( + Configuration $config, Box $box, ComposerOrchestrator $composerOrchestrator, CompilerLogger $logger, IO $io): void { $logger->log(CompilerLogger::QUESTION_MARK_PREFIX, 'Adding binary files'); $count = count($config->getBinaryFiles()); - $box->addFiles($config->getBinaryFiles(), true); + $box->addFiles($config->getBinaryFiles()); $logger->log( CompilerLogger::CHEVRON_PREFIX, @@ -473,6 +475,16 @@ private static function addFiles(Configuration $config, Box $box, CompilerLogger $config->hasAutodiscoveredFiles() ? 'Yes' : 'No', ), ); + + $logger->log(CompilerLogger::QUESTION_MARK_PREFIX, 'Adding files'); + $box->addFiles($config->getFiles()); + $logger->log( + CompilerLogger::CHEVRON_PREFIX, + 0 === $count + ? 'No file found' + : sprintf('%d file(s)', $count), + ); + $logger->log( CompilerLogger::QUESTION_MARK_PREFIX, sprintf( @@ -480,26 +492,17 @@ private static function addFiles(Configuration $config, Box $box, CompilerLogger $config->excludeDevFiles() ? 'Yes' : 'No', ), ); - $logger->log(CompilerLogger::QUESTION_MARK_PREFIX, 'Adding files'); + $composerOrchestrator->installNoDev($box->getBufferingDirectory()); - $count = count($config->getFiles()); + $logger->log(CompilerLogger::QUESTION_MARK_PREFIX, 'Processing files'); - self::addFilesWithErrorHandling($config, $box, $io); - - $logger->log( - CompilerLogger::CHEVRON_PREFIX, - 0 === $count - ? 'No file found' - : sprintf('%d file(s)', $count), - ); + self::processFilesWithErrorHandling($config, $box, $io); } - private static function addFilesWithErrorHandling(Configuration $config, Box $box, IO $io): void + private static function processFilesWithErrorHandling(Configuration $config, Box $box): void { try { - $box->addFiles($config->getFiles(), false); - - return; + $box->executeCompactors($config->getFiles()); } catch (TaskFailureThrowable $ampFailure) { throw new ConsoleRuntimeException( sprintf( diff --git a/src/Parallelization/ParallelFileProcessor.php b/src/Parallelization/ParallelFileProcessor.php index eda020b98..77371abf7 100644 --- a/src/Parallelization/ParallelFileProcessor.php +++ b/src/Parallelization/ParallelFileProcessor.php @@ -19,6 +19,7 @@ use Amp\Parallel\Worker\WorkerPool; use KevinGH\Box\Compactor\Compactors; use KevinGH\Box\MapFile; +use SplFileInfo; use function Amp\Future\await; use function Amp\Parallel\Worker\workerPool; use function array_chunk; @@ -34,15 +35,13 @@ final class ParallelFileProcessor * @param string[] $filePaths * * @throws TaskFailureThrowable - * - * @return list */ public static function processFilesInParallel( array $filePaths, string $cwd, MapFile $mapFile, Compactors $compactors, - ): array { + ): void { $workerPool = workerPool(); $result = self::queueAndWaitForTasks( @@ -54,8 +53,6 @@ public static function processFilesInParallel( ); $compactors->registerSymbolsRegistry($result->symbolsRegistry); - - return $result->filesWithContents; } /** diff --git a/src/Parallelization/ProcessFileTask.php b/src/Parallelization/ProcessFileTask.php index 756d6bdf7..456a11ea2 100644 --- a/src/Parallelization/ProcessFileTask.php +++ b/src/Parallelization/ProcessFileTask.php @@ -45,34 +45,29 @@ public function run(Channel $channel, Cancellation $cancellation): TaskResult { chdir($this->cwd); + // TODO: check if still necessary register_aliases(); register_error_handler(); + $cwd = $this->cwd; $mapFile = $this->mapFile; $compactors = $this->compactors; - $processFile = static function (string $file) use ($mapFile, $compactors): array { + $processFile = static function (string $file) use ($cwd, $mapFile, $compactors): ?SymbolsRegistry { $contents = FS::getFileContents($file); $local = $mapFile($file); - $processedContents = $compactors->compact($local, $contents); - return [$local, $processedContents, $compactors->getScoperSymbolsRegistry()]; - }; - - $tuples = array_map($processFile, $this->filePaths); + $path = $cwd.'/'.$local; + FS::dumpFile($path, $processedContents); - $filesWithContents = []; - $symbolRegistries = []; + return $compactors->getScoperSymbolsRegistry(); + }; - foreach ($tuples as [$local, $processedContents, $symbolRegistry]) { - $filesWithContents[] = [$local, $processedContents]; - $symbolRegistries[] = $symbolRegistry; - } + $symbolRegistries = array_map($processFile, $this->filePaths); return new TaskResult( - $filesWithContents, SymbolsRegistry::createFromRegistries(array_filter($symbolRegistries)), ); } diff --git a/src/Parallelization/TaskResult.php b/src/Parallelization/TaskResult.php index 5c58f536b..1b10ca205 100644 --- a/src/Parallelization/TaskResult.php +++ b/src/Parallelization/TaskResult.php @@ -15,6 +15,7 @@ namespace KevinGH\Box\Parallelization; use Humbug\PhpScoper\Symbol\SymbolsRegistry; +use function array_map; use function array_merge; /** @@ -27,25 +28,17 @@ */ public static function aggregate(array $results): self { - $filesWithContents = []; - $symbolsRegistries = []; - - foreach ($results as $result) { - $filesWithContents[] = $result->filesWithContents; - $symbolsRegistries[] = $result->symbolsRegistry; - } - return new self( - array_merge(...$filesWithContents), - SymbolsRegistry::createFromRegistries($symbolsRegistries), + SymbolsRegistry::createFromRegistries( + array_map( + static fn (self $result) => $result->symbolsRegistry, + $results, + ), + ), ); } - /** - * @param list $filesWithContents - */ public function __construct( - public array $filesWithContents, public SymbolsRegistry $symbolsRegistry, ) { }