From 4eff5943f4a5b672f65100eb3410c9d3f2c6f2a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20=C3=96z=C4=B1=C5=9F=C4=B1k?= Date: Sat, 4 Jun 2022 15:45:12 +0300 Subject: [PATCH] List files before deletion. Add ability to delete files one by one. (#4) * remove composer.lock * ignore composer.lock * add license, author and description to composer.json * add tests * implement tests for existing functionality * run tests on github actions * ability to list files before deletingtdd * add ability to delete files one by one --- .github/workflows/test.yml | 36 + .gitignore | 11 +- .php-cs-fixer.php | 2 +- composer.json | 38 +- composer.lock | 7781 ------------------------------------ phpunit.xml | 18 + src/ClearAssets.php | 71 +- tests/ClearAssetsTest.php | 104 + tests/TestCase.php | 96 + tests/fixtures/ankara.jpg | Bin 0 -> 38488 bytes tests/fixtures/tallinn.jpg | Bin 0 -> 65339 bytes 11 files changed, 353 insertions(+), 7804 deletions(-) create mode 100644 .github/workflows/test.yml delete mode 100644 composer.lock create mode 100644 phpunit.xml create mode 100644 tests/ClearAssetsTest.php create mode 100644 tests/TestCase.php create mode 100644 tests/fixtures/ankara.jpg create mode 100644 tests/fixtures/tallinn.jpg diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..9419b26 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,36 @@ +name: run-tests + +on: [push] + +jobs: + test: + runs-on: ${{ matrix.os }} + strategy: + fail-fast: true + matrix: + os: [ubuntu-latest] + php: [8.0, 7.4] + dependency-version: [prefer-stable] + + name: P${{ matrix.php }} - ${{ matrix.dependency-version }} - ${{ matrix.os }} + + steps: + - name: Checkout code + uses: actions/checkout@v2 + + - name: Setup PHP + uses: shivammathur/setup-php@v2 + with: + php-version: ${{ matrix.php }} + extensions: dom, curl, libxml, mbstring, zip, pcntl, pdo, sqlite, pdo_sqlite, bcmath, soap, intl, gd, exif, iconv, imagick + coverage: none + + - name: Setup Problem Matches + run: | + echo "::add-matcher::${{ runner.tool_cache }}/php.json" + echo "::add-matcher::${{ runner.tool_cache }}/phpunit.json" + - name: Install dependencies + run: composer update --${{ matrix.dependency-version }} --prefer-dist --no-interaction + + - name: Execute tests + run: vendor/bin/phpunit \ No newline at end of file diff --git a/.gitignore b/.gitignore index 38d1732..966899c 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,9 @@ -vendor -.php-cs-fixer.cache \ No newline at end of file +# Composer +/vendor +composer.lock + +# PHP CS Fixer +.php-cs-fixer.cache + +# PHP Unit +.phpunit.result.cache \ No newline at end of file diff --git a/.php-cs-fixer.php b/.php-cs-fixer.php index 65b4e43..57ba50d 100644 --- a/.php-cs-fixer.php +++ b/.php-cs-fixer.php @@ -4,7 +4,7 @@ ->notPath('vendor') ->in([ __DIR__ . '/src', - // __DIR__ . '/tests', + __DIR__ . '/tests', ]) ->name('*.php') ->notName('*.blade.php') diff --git a/composer.json b/composer.json index e427209..71327b3 100644 --- a/composer.json +++ b/composer.json @@ -1,18 +1,43 @@ { "name": "swiftmade/statamic-clear-assets", + "license": "MIT", + "type": "statamic-addon", + "description": "Deletes unused assets. Saves storage space.", + "homepage": "https://statamic.com/addons/swiftmade/clear-assets", + "authors": [ + { + "name": "Ahmet Ozisik", + "email": "ahmet@swiftmade.co", + "homepage": "https://swiftmade.co", + "role": "Founder" + } + ], + "require": { + "php": "^7.4|^8.0", + "laravel/framework": "^7.30.3 || ^8.24 || ^9.0", + "statamic/cms": "^3.0.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.8", + "mockery/mockery": "^1.3.1", + "nunomaduro/collision": "^4.1 || ^5.0 || ^6.0", + "orchestra/testbench": "^6.9|^7.1", + "phpunit/phpunit": "^9.5" + }, "autoload": { "psr-4": { "Swiftmade\\StatamicClearAssets\\": "src" } }, - "require": { - "php": "^7.4|^8.0", - "statamic/cms": "^3.0.0" + "autoload-dev": { + "psr-4": { + "Swiftmade\\StatamicClearAssets\\Tests\\": "tests" + } }, "extra": { "statamic": { "name": "Statamic Clear Assets", - "description": "Statamic Clear Assets addon" + "description": "Deletes unused assets." }, "laravel": { "providers": [ @@ -20,12 +45,9 @@ ] } }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.8" - }, "config": { "allow-plugins": { "pixelfear/composer-dist-plugin": true } } -} +} \ No newline at end of file diff --git a/composer.lock b/composer.lock deleted file mode 100644 index 30b164f..0000000 --- a/composer.lock +++ /dev/null @@ -1,7781 +0,0 @@ -{ - "_readme": [ - "This file locks the dependencies of your project to a known state", - "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", - "This file is @generated automatically" - ], - "content-hash": "d0f4c5cc7c576c49429c0bd18d0e7673", - "packages": [ - { - "name": "ajthinking/archetype", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/ajthinking/archetype.git", - "reference": "b0c014b827d497ac09573476b7b7475687b57d72" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ajthinking/archetype/zipball/b0c014b827d497ac09573476b7b7475687b57d72", - "reference": "b0c014b827d497ac09573476b7b7475687b57d72", - "shasum": "" - }, - "require": { - "nikic/php-parser": "^4.11" - }, - "require-dev": { - "ircmaxell/php-ast-visualizer": "dev-master", - "laravel/laravel": "^6.0 || ^7.0 || ^8.0 || ^9.0", - "orchestra/testbench": "^4.0 || ^5.0 || ^6.0", - "pestphp/pest": "^1.21", - "phpstan/phpstan": "^1.6", - "phpunit/phpunit": "^8.0 || ^9.5" - }, - "type": "package", - "extra": { - "laravel": { - "dont-discover": [], - "providers": [ - "Archetype\\ServiceProvider" - ] - } - }, - "autoload": { - "psr-4": { - "Archetype\\": "src/", - "Archetype\\Tests\\": "tests/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Anders Jürisoo", - "email": "jurisoo@hotmail.com" - } - ], - "description": "Programmatically edit PHP and Laravel files.", - "keywords": [ - "abstract syntax tree", - "ast", - "laravel", - "php", - "php-parser" - ], - "support": { - "issues": "https://github.com/ajthinking/archetype/issues", - "source": "https://github.com/ajthinking/archetype/tree/v1.1.1" - }, - "time": "2022-05-06T19:10:01+00:00" - }, - { - "name": "brick/math", - "version": "0.9.3", - "source": { - "type": "git", - "url": "https://github.com/brick/math.git", - "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/brick/math/zipball/ca57d18f028f84f777b2168cd1911b0dee2343ae", - "reference": "ca57d18f028f84f777b2168cd1911b0dee2343ae", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^7.5.15 || ^8.5 || ^9.0", - "vimeo/psalm": "4.9.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Brick\\Math\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "Arbitrary-precision arithmetic library", - "keywords": [ - "Arbitrary-precision", - "BigInteger", - "BigRational", - "arithmetic", - "bigdecimal", - "bignum", - "brick", - "math" - ], - "support": { - "issues": "https://github.com/brick/math/issues", - "source": "https://github.com/brick/math/tree/0.9.3" - }, - "funding": [ - { - "url": "https://github.com/BenMorel", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/brick/math", - "type": "tidelift" - } - ], - "time": "2021-08-15T20:50:18+00:00" - }, - { - "name": "composer/ca-bundle", - "version": "1.3.1", - "source": { - "type": "git", - "url": "https://github.com/composer/ca-bundle.git", - "reference": "4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/ca-bundle/zipball/4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b", - "reference": "4c679186f2aca4ab6a0f1b0b9cf9252decb44d0b", - "shasum": "" - }, - "require": { - "ext-openssl": "*", - "ext-pcre": "*", - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "psr/log": "^1.0", - "symfony/phpunit-bridge": "^4.2 || ^5", - "symfony/process": "^2.5 || ^3.0 || ^4.0 || ^5.0 || ^6.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\CaBundle\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Lets you find a path to the system CA bundle, and includes a fallback to the Mozilla CA bundle.", - "keywords": [ - "cabundle", - "cacert", - "certificate", - "ssl", - "tls" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/ca-bundle/issues", - "source": "https://github.com/composer/ca-bundle/tree/1.3.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": "2021-10-28T20:44:15+00:00" - }, - { - "name": "composer/composer", - "version": "2.3.5", - "source": { - "type": "git", - "url": "https://github.com/composer/composer.git", - "reference": "50c47b1f907cfcdb8f072b88164d22b527557ae1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/composer/zipball/50c47b1f907cfcdb8f072b88164d22b527557ae1", - "reference": "50c47b1f907cfcdb8f072b88164d22b527557ae1", - "shasum": "" - }, - "require": { - "composer/ca-bundle": "^1.0", - "composer/metadata-minifier": "^1.0", - "composer/pcre": "^2 || ^3", - "composer/semver": "^3.0", - "composer/spdx-licenses": "^1.2", - "composer/xdebug-handler": "^2.0.2 || ^3.0.3", - "justinrainbow/json-schema": "^5.2.11", - "php": "^7.2.5 || ^8.0", - "psr/log": "^1.0 || ^2.0 || ^3.0", - "react/promise": "^2.8", - "seld/jsonlint": "^1.4", - "seld/phar-utils": "^1.2", - "symfony/console": "^5.4.1 || ^6.0", - "symfony/filesystem": "^5.4 || ^6.0", - "symfony/finder": "^5.4 || ^6.0", - "symfony/polyfill-php73": "^1.24", - "symfony/polyfill-php80": "^1.24", - "symfony/process": "^5.4 || ^6.0" - }, - "require-dev": { - "phpstan/phpstan": "^1.4.1", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1.0", - "phpstan/phpstan-strict-rules": "^1", - "phpstan/phpstan-symfony": "^1.1", - "symfony/phpunit-bridge": "^6.0" - }, - "suggest": { - "ext-openssl": "Enabling the openssl extension allows you to access https URLs for repositories and packages", - "ext-zip": "Enabling the zip extension allows you to unzip archives", - "ext-zlib": "Allow gzip compression of HTTP requests" - }, - "bin": [ - "bin/composer" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.3-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\": "src/Composer" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "https://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "Composer helps you declare, manage and install dependencies of PHP projects. It ensures you have the right stack everywhere.", - "homepage": "https://getcomposer.org/", - "keywords": [ - "autoload", - "dependency", - "package" - ], - "support": { - "irc": "ircs://irc.libera.chat:6697/composer", - "issues": "https://github.com/composer/composer/issues", - "source": "https://github.com/composer/composer/tree/2.3.5" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-04-13T14:43:00+00:00" - }, - { - "name": "composer/metadata-minifier", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/composer/metadata-minifier.git", - "reference": "c549d23829536f0d0e984aaabbf02af91f443207" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/metadata-minifier/zipball/c549d23829536f0d0e984aaabbf02af91f443207", - "reference": "c549d23829536f0d0e984aaabbf02af91f443207", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "composer/composer": "^2", - "phpstan/phpstan": "^0.12.55", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\MetadataMinifier\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - } - ], - "description": "Small utility library that handles metadata minification and expansion.", - "keywords": [ - "composer", - "compression" - ], - "support": { - "issues": "https://github.com/composer/metadata-minifier/issues", - "source": "https://github.com/composer/metadata-minifier/tree/1.0.0" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2021-04-07T13:37:33+00:00" - }, - { - "name": "composer/pcre", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/composer/pcre.git", - "reference": "e300eb6c535192decd27a85bc72a9290f0d6b3bd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/pcre/zipball/e300eb6c535192decd27a85bc72a9290f0d6b3bd", - "reference": "e300eb6c535192decd27a85bc72a9290f0d6b3bd", - "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.0.0" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2022-02-25T20:21:48+00:00" - }, - { - "name": "composer/semver", - "version": "3.3.2", - "source": { - "type": "git", - "url": "https://github.com/composer/semver.git", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/semver/zipball/3953f23262f2bff1919fc82183ad9acb13ff62c9", - "reference": "3953f23262f2bff1919fc82183ad9acb13ff62c9", - "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": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/semver/issues", - "source": "https://github.com/composer/semver/tree/3.3.2" - }, - "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-04-01T19:23:25+00:00" - }, - { - "name": "composer/spdx-licenses", - "version": "1.5.6", - "source": { - "type": "git", - "url": "https://github.com/composer/spdx-licenses.git", - "reference": "a30d487169d799745ca7280bc90fdfa693536901" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/composer/spdx-licenses/zipball/a30d487169d799745ca7280bc90fdfa693536901", - "reference": "a30d487169d799745ca7280bc90fdfa693536901", - "shasum": "" - }, - "require": { - "php": "^5.3.2 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.55", - "symfony/phpunit-bridge": "^4.2 || ^5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Composer\\Spdx\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nils Adermann", - "email": "naderman@naderman.de", - "homepage": "http://www.naderman.de" - }, - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "http://seld.be" - }, - { - "name": "Rob Bast", - "email": "rob.bast@gmail.com", - "homepage": "http://robbast.nl" - } - ], - "description": "SPDX licenses list and validation library.", - "keywords": [ - "license", - "spdx", - "validator" - ], - "support": { - "irc": "irc://irc.freenode.org/composer", - "issues": "https://github.com/composer/spdx-licenses/issues", - "source": "https://github.com/composer/spdx-licenses/tree/1.5.6" - }, - "funding": [ - { - "url": "https://packagist.com", - "type": "custom" - }, - { - "url": "https://github.com/composer", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/composer/composer", - "type": "tidelift" - } - ], - "time": "2021-11-18T10:14:14+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": "dflydev/dot-access-data", - "version": "v3.0.1", - "source": { - "type": "git", - "url": "https://github.com/dflydev/dflydev-dot-access-data.git", - "reference": "0992cc19268b259a39e86f296da5f0677841f42c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/0992cc19268b259a39e86f296da5f0677841f42c", - "reference": "0992cc19268b259a39e86f296da5f0677841f42c", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.42", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", - "scrutinizer/ocular": "1.6.0", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^3.14" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Dflydev\\DotAccessData\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Dragonfly Development Inc.", - "email": "info@dflydev.com", - "homepage": "http://dflydev.com" - }, - { - "name": "Beau Simensen", - "email": "beau@dflydev.com", - "homepage": "http://beausimensen.com" - }, - { - "name": "Carlos Frutos", - "email": "carlos@kiwing.it", - "homepage": "https://github.com/cfrutos" - }, - { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "https://www.colinodell.com" - } - ], - "description": "Given a deep data structure, access data by dot notation.", - "homepage": "https://github.com/dflydev/dflydev-dot-access-data", - "keywords": [ - "access", - "data", - "dot", - "notation" - ], - "support": { - "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", - "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.1" - }, - "time": "2021-08-13T13:06:58+00:00" - }, - { - "name": "doctrine/inflector", - "version": "2.0.4", - "source": { - "type": "git", - "url": "https://github.com/doctrine/inflector.git", - "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/inflector/zipball/8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", - "reference": "8b7ff3e4b7de6b2c84da85637b59fd2880ecaa89", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^8.2", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpstan/phpstan-strict-rules": "^0.12", - "phpunit/phpunit": "^7.0 || ^8.0 || ^9.0", - "vimeo/psalm": "^4.10" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", - "homepage": "https://www.doctrine-project.org/projects/inflector.html", - "keywords": [ - "inflection", - "inflector", - "lowercase", - "manipulation", - "php", - "plural", - "singular", - "strings", - "uppercase", - "words" - ], - "support": { - "issues": "https://github.com/doctrine/inflector/issues", - "source": "https://github.com/doctrine/inflector/tree/2.0.4" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", - "type": "tidelift" - } - ], - "time": "2021-10-22T20:16:43+00:00" - }, - { - "name": "doctrine/lexer", - "version": "1.2.3", - "source": { - "type": "git", - "url": "https://github.com/doctrine/lexer.git", - "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/lexer/zipball/c268e882d4dbdd85e36e4ad69e02dc284f89d229", - "reference": "c268e882d4dbdd85e36e4ad69e02dc284f89d229", - "shasum": "" - }, - "require": { - "php": "^7.1 || ^8.0" - }, - "require-dev": { - "doctrine/coding-standard": "^9.0", - "phpstan/phpstan": "^1.3", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", - "vimeo/psalm": "^4.11" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Lexer\\": "lib/Doctrine/Common/Lexer" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", - "homepage": "https://www.doctrine-project.org/projects/lexer.html", - "keywords": [ - "annotations", - "docblock", - "lexer", - "parser", - "php" - ], - "support": { - "issues": "https://github.com/doctrine/lexer/issues", - "source": "https://github.com/doctrine/lexer/tree/1.2.3" - }, - "funding": [ - { - "url": "https://www.doctrine-project.org/sponsorship.html", - "type": "custom" - }, - { - "url": "https://www.patreon.com/phpdoctrine", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", - "type": "tidelift" - } - ], - "time": "2022-02-28T11:07:21+00:00" - }, - { - "name": "dragonmantank/cron-expression", - "version": "v3.3.1", - "source": { - "type": "git", - "url": "https://github.com/dragonmantank/cron-expression.git", - "reference": "be85b3f05b46c39bbc0d95f6c071ddff669510fa" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/be85b3f05b46c39bbc0d95f6c071ddff669510fa", - "reference": "be85b3f05b46c39bbc0d95f6c071ddff669510fa", - "shasum": "" - }, - "require": { - "php": "^7.2|^8.0", - "webmozart/assert": "^1.0" - }, - "replace": { - "mtdowling/cron-expression": "^1.0" - }, - "require-dev": { - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^1.0", - "phpstan/phpstan-webmozart-assert": "^1.0", - "phpunit/phpunit": "^7.0|^8.0|^9.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Cron\\": "src/Cron/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Chris Tankersley", - "email": "chris@ctankersley.com", - "homepage": "https://github.com/dragonmantank" - } - ], - "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", - "keywords": [ - "cron", - "schedule" - ], - "support": { - "issues": "https://github.com/dragonmantank/cron-expression/issues", - "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.1" - }, - "funding": [ - { - "url": "https://github.com/dragonmantank", - "type": "github" - } - ], - "time": "2022-01-18T15:43:28+00:00" - }, - { - "name": "egulias/email-validator", - "version": "3.1.2", - "source": { - "type": "git", - "url": "https://github.com/egulias/EmailValidator.git", - "reference": "ee0db30118f661fb166bcffbf5d82032df484697" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ee0db30118f661fb166bcffbf5d82032df484697", - "reference": "ee0db30118f661fb166bcffbf5d82032df484697", - "shasum": "" - }, - "require": { - "doctrine/lexer": "^1.2", - "php": ">=7.2", - "symfony/polyfill-intl-idn": "^1.15" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.2", - "phpunit/phpunit": "^8.5.8|^9.3.3", - "vimeo/psalm": "^4" - }, - "suggest": { - "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Egulias\\EmailValidator\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Eduardo Gulias Davis" - } - ], - "description": "A library for validating emails against several RFCs", - "homepage": "https://github.com/egulias/EmailValidator", - "keywords": [ - "email", - "emailvalidation", - "emailvalidator", - "validation", - "validator" - ], - "support": { - "issues": "https://github.com/egulias/EmailValidator/issues", - "source": "https://github.com/egulias/EmailValidator/tree/3.1.2" - }, - "funding": [ - { - "url": "https://github.com/egulias", - "type": "github" - } - ], - "time": "2021-10-11T09:18:27+00:00" - }, - { - "name": "facade/ignition-contracts", - "version": "1.0.2", - "source": { - "type": "git", - "url": "https://github.com/facade/ignition-contracts.git", - "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/facade/ignition-contracts/zipball/3c921a1cdba35b68a7f0ccffc6dffc1995b18267", - "reference": "3c921a1cdba35b68a7f0ccffc6dffc1995b18267", - "shasum": "" - }, - "require": { - "php": "^7.3|^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^v2.15.8", - "phpunit/phpunit": "^9.3.11", - "vimeo/psalm": "^3.17.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Facade\\IgnitionContracts\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://flareapp.io", - "role": "Developer" - } - ], - "description": "Solution contracts for Ignition", - "homepage": "https://github.com/facade/ignition-contracts", - "keywords": [ - "contracts", - "flare", - "ignition" - ], - "support": { - "issues": "https://github.com/facade/ignition-contracts/issues", - "source": "https://github.com/facade/ignition-contracts/tree/1.0.2" - }, - "time": "2020-10-16T08:27:54+00:00" - }, - { - "name": "fruitcake/php-cors", - "version": "v1.2.0", - "source": { - "type": "git", - "url": "https://github.com/fruitcake/php-cors.git", - "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/58571acbaa5f9f462c9c77e911700ac66f446d4e", - "reference": "58571acbaa5f9f462c9c77e911700ac66f446d4e", - "shasum": "" - }, - "require": { - "php": "^7.4|^8.0", - "symfony/http-foundation": "^4.4|^5.4|^6" - }, - "require-dev": { - "phpstan/phpstan": "^1.4", - "phpunit/phpunit": "^9", - "squizlabs/php_codesniffer": "^3.5" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.1-dev" - } - }, - "autoload": { - "psr-4": { - "Fruitcake\\Cors\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fruitcake", - "homepage": "https://fruitcake.nl" - }, - { - "name": "Barryvdh", - "email": "barryvdh@gmail.com" - } - ], - "description": "Cross-origin resource sharing library for the Symfony HttpFoundation", - "homepage": "https://github.com/fruitcake/php-cors", - "keywords": [ - "cors", - "laravel", - "symfony" - ], - "support": { - "issues": "https://github.com/fruitcake/php-cors/issues", - "source": "https://github.com/fruitcake/php-cors/tree/v1.2.0" - }, - "funding": [ - { - "url": "https://fruitcake.nl", - "type": "custom" - }, - { - "url": "https://github.com/barryvdh", - "type": "github" - } - ], - "time": "2022-02-20T15:07:15+00:00" - }, - { - "name": "graham-campbell/result-type", - "version": "v1.0.4", - "source": { - "type": "git", - "url": "https://github.com/GrahamCampbell/Result-Type.git", - "reference": "0690bde05318336c7221785f2a932467f98b64ca" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/0690bde05318336c7221785f2a932467f98b64ca", - "reference": "0690bde05318336c7221785f2a932467f98b64ca", - "shasum": "" - }, - "require": { - "php": "^7.0 || ^8.0", - "phpoption/phpoption": "^1.8" - }, - "require-dev": { - "phpunit/phpunit": "^6.5.14 || ^7.5.20 || ^8.5.19 || ^9.5.8" - }, - "type": "library", - "autoload": { - "psr-4": { - "GrahamCampbell\\ResultType\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - } - ], - "description": "An Implementation Of The Result Type", - "keywords": [ - "Graham Campbell", - "GrahamCampbell", - "Result Type", - "Result-Type", - "result" - ], - "support": { - "issues": "https://github.com/GrahamCampbell/Result-Type/issues", - "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.0.4" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", - "type": "tidelift" - } - ], - "time": "2021-11-21T21:41:47+00:00" - }, - { - "name": "guzzlehttp/guzzle", - "version": "7.4.2", - "source": { - "type": "git", - "url": "https://github.com/guzzle/guzzle.git", - "reference": "ac1ec1cd9b5624694c3a40be801d94137afb12b4" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/guzzle/zipball/ac1ec1cd9b5624694c3a40be801d94137afb12b4", - "reference": "ac1ec1cd9b5624694c3a40be801d94137afb12b4", - "shasum": "" - }, - "require": { - "ext-json": "*", - "guzzlehttp/promises": "^1.5", - "guzzlehttp/psr7": "^1.8.3 || ^2.1", - "php": "^7.2.5 || ^8.0", - "psr/http-client": "^1.0", - "symfony/deprecation-contracts": "^2.2 || ^3.0" - }, - "provide": { - "psr/http-client-implementation": "1.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "ext-curl": "*", - "php-http/client-integration-tests": "^3.0", - "phpunit/phpunit": "^8.5.5 || ^9.3.5", - "psr/log": "^1.1 || ^2.0 || ^3.0" - }, - "suggest": { - "ext-curl": "Required for CURL handler support", - "ext-intl": "Required for Internationalized Domain Name (IDN) support", - "psr/log": "Required for using the Log middleware" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "7.4-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Jeremy Lindblom", - "email": "jeremeamia@gmail.com", - "homepage": "https://github.com/jeremeamia" - }, - { - "name": "George Mponos", - "email": "gmponos@gmail.com", - "homepage": "https://github.com/gmponos" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://github.com/sagikazarmark" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - } - ], - "description": "Guzzle is a PHP HTTP client library", - "keywords": [ - "client", - "curl", - "framework", - "http", - "http client", - "psr-18", - "psr-7", - "rest", - "web service" - ], - "support": { - "issues": "https://github.com/guzzle/guzzle/issues", - "source": "https://github.com/guzzle/guzzle/tree/7.4.2" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", - "type": "tidelift" - } - ], - "time": "2022-03-20T14:16:28+00:00" - }, - { - "name": "guzzlehttp/promises", - "version": "1.5.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/promises.git", - "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/promises/zipball/fe752aedc9fd8fcca3fe7ad05d419d32998a06da", - "reference": "fe752aedc9fd8fcca3fe7ad05d419d32998a06da", - "shasum": "" - }, - "require": { - "php": ">=5.5" - }, - "require-dev": { - "symfony/phpunit-bridge": "^4.4 || ^5.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.5-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "GuzzleHttp\\Promise\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - } - ], - "description": "Guzzle promises library", - "keywords": [ - "promise" - ], - "support": { - "issues": "https://github.com/guzzle/promises/issues", - "source": "https://github.com/guzzle/promises/tree/1.5.1" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", - "type": "tidelift" - } - ], - "time": "2021-10-22T20:56:57+00:00" - }, - { - "name": "guzzlehttp/psr7", - "version": "2.2.1", - "source": { - "type": "git", - "url": "https://github.com/guzzle/psr7.git", - "reference": "c94a94f120803a18554c1805ef2e539f8285f9a2" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/guzzle/psr7/zipball/c94a94f120803a18554c1805ef2e539f8285f9a2", - "reference": "c94a94f120803a18554c1805ef2e539f8285f9a2", - "shasum": "" - }, - "require": { - "php": "^7.2.5 || ^8.0", - "psr/http-factory": "^1.0", - "psr/http-message": "^1.0", - "ralouphie/getallheaders": "^3.0" - }, - "provide": { - "psr/http-factory-implementation": "1.0", - "psr/http-message-implementation": "1.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "http-interop/http-factory-tests": "^0.9", - "phpunit/phpunit": "^8.5.8 || ^9.3.10" - }, - "suggest": { - "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2-dev" - } - }, - "autoload": { - "psr-4": { - "GuzzleHttp\\Psr7\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Michael Dowling", - "email": "mtdowling@gmail.com", - "homepage": "https://github.com/mtdowling" - }, - { - "name": "George Mponos", - "email": "gmponos@gmail.com", - "homepage": "https://github.com/gmponos" - }, - { - "name": "Tobias Nyholm", - "email": "tobias.nyholm@gmail.com", - "homepage": "https://github.com/Nyholm" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://github.com/sagikazarmark" - }, - { - "name": "Tobias Schultze", - "email": "webmaster@tubo-world.de", - "homepage": "https://github.com/Tobion" - }, - { - "name": "Márk Sági-Kazár", - "email": "mark.sagikazar@gmail.com", - "homepage": "https://sagikazarmark.hu" - } - ], - "description": "PSR-7 message implementation that also provides common utility methods", - "keywords": [ - "http", - "message", - "psr-7", - "request", - "response", - "stream", - "uri", - "url" - ], - "support": { - "issues": "https://github.com/guzzle/psr7/issues", - "source": "https://github.com/guzzle/psr7/tree/2.2.1" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://github.com/Nyholm", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", - "type": "tidelift" - } - ], - "time": "2022-03-20T21:55:58+00:00" - }, - { - "name": "intervention/image", - "version": "2.7.1", - "source": { - "type": "git", - "url": "https://github.com/Intervention/image.git", - "reference": "744ebba495319501b873a4e48787759c72e3fb8c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Intervention/image/zipball/744ebba495319501b873a4e48787759c72e3fb8c", - "reference": "744ebba495319501b873a4e48787759c72e3fb8c", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "guzzlehttp/psr7": "~1.1 || ^2.0", - "php": ">=5.4.0" - }, - "require-dev": { - "mockery/mockery": "~0.9.2", - "phpunit/phpunit": "^4.8 || ^5.7 || ^7.5.15" - }, - "suggest": { - "ext-gd": "to use GD library based image processing.", - "ext-imagick": "to use Imagick based image processing.", - "intervention/imagecache": "Caching extension for the Intervention Image library" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.4-dev" - }, - "laravel": { - "providers": [ - "Intervention\\Image\\ImageServiceProvider" - ], - "aliases": { - "Image": "Intervention\\Image\\Facades\\Image" - } - } - }, - "autoload": { - "psr-4": { - "Intervention\\Image\\": "src/Intervention/Image" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Oliver Vogel", - "email": "oliver@olivervogel.com", - "homepage": "http://olivervogel.com/" - } - ], - "description": "Image handling and manipulation library with support for Laravel integration", - "homepage": "http://image.intervention.io/", - "keywords": [ - "gd", - "image", - "imagick", - "laravel", - "thumbnail", - "watermark" - ], - "support": { - "issues": "https://github.com/Intervention/image/issues", - "source": "https://github.com/Intervention/image/tree/2.7.1" - }, - "funding": [ - { - "url": "https://www.paypal.me/interventionphp", - "type": "custom" - }, - { - "url": "https://github.com/Intervention", - "type": "github" - } - ], - "time": "2021-12-16T16:49:26+00:00" - }, - { - "name": "james-heinrich/getid3", - "version": "v1.9.21", - "source": { - "type": "git", - "url": "https://github.com/JamesHeinrich/getID3.git", - "reference": "36f5dabb1325415a4b07a401113f8db2eb81eca1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/JamesHeinrich/getID3/zipball/36f5dabb1325415a4b07a401113f8db2eb81eca1", - "reference": "36f5dabb1325415a4b07a401113f8db2eb81eca1", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "require-dev": { - "php-parallel-lint/php-parallel-lint": "^1.0" - }, - "suggest": { - "ext-SimpleXML": "SimpleXML extension is required to analyze RIFF/WAV/BWF audio files (also requires `ext-libxml`).", - "ext-com_dotnet": "COM extension is required when loading files larger than 2GB on Windows.", - "ext-ctype": "ctype extension is required when loading files larger than 2GB on 32-bit PHP (also on 64-bit PHP on Windows) or executing `getid3_lib::CopyTagsToComments`.", - "ext-dba": "DBA extension is required to use the DBA database as a cache storage.", - "ext-exif": "EXIF extension is required for graphic modules.", - "ext-iconv": "iconv extension is required to work with different character sets (when `ext-mbstring` is not available).", - "ext-json": "JSON extension is required to analyze Apple Quicktime videos.", - "ext-libxml": "libxml extension is required to analyze RIFF/WAV/BWF audio files.", - "ext-mbstring": "mbstring extension is required to work with different character sets.", - "ext-mysql": "MySQL extension is required to use the MySQL database as a cache storage (deprecated in PHP 5.5, removed in PHP >= 7.0, use `ext-mysqli` instead).", - "ext-mysqli": "MySQLi extension is required to use the MySQL database as a cache storage.", - "ext-rar": "RAR extension is required for RAR archive module.", - "ext-sqlite3": "SQLite3 extension is required to use the SQLite3 database as a cache storage.", - "ext-xml": "XML extension is required for graphic modules to analyze the XML metadata.", - "ext-zlib": "Zlib extension is required for archive modules and compressed metadata." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.9.x-dev" - } - }, - "autoload": { - "classmap": [ - "getid3/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "GPL-1.0-or-later", - "LGPL-3.0-only", - "MPL-2.0" - ], - "description": "PHP script that extracts useful information from popular multimedia file formats", - "homepage": "https://www.getid3.org/", - "keywords": [ - "codecs", - "php", - "tags" - ], - "support": { - "issues": "https://github.com/JamesHeinrich/getID3/issues", - "source": "https://github.com/JamesHeinrich/getID3/tree/v1.9.21" - }, - "time": "2021-09-22T16:34:51+00:00" - }, - { - "name": "justinrainbow/json-schema", - "version": "5.2.12", - "source": { - "type": "git", - "url": "https://github.com/justinrainbow/json-schema.git", - "reference": "ad87d5a5ca981228e0e205c2bc7dfb8e24559b60" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/justinrainbow/json-schema/zipball/ad87d5a5ca981228e0e205c2bc7dfb8e24559b60", - "reference": "ad87d5a5ca981228e0e205c2bc7dfb8e24559b60", - "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/5.2.12" - }, - "time": "2022-04-13T08:02:27+00:00" - }, - { - "name": "laragraph/utils", - "version": "v1.4.0", - "source": { - "type": "git", - "url": "https://github.com/laragraph/utils.git", - "reference": "43b522c37706fa4867dff9c404cac5af4d825c7d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laragraph/utils/zipball/43b522c37706fa4867dff9c404cac5af4d825c7d", - "reference": "43b522c37706fa4867dff9c404cac5af4d825c7d", - "shasum": "" - }, - "require": { - "illuminate/contracts": "5.6.* || 5.7.* || 5.8.* || ^6 || ^7 || ^8 || ^9", - "illuminate/http": "5.6.* || 5.7.* || 5.8.* || ^6 || ^7 || ^8 || ^9", - "php": "^7.2 || ^8", - "thecodingmachine/safe": "^1.1 || ^2", - "webonyx/graphql-php": "^0.13.2 || ^14" - }, - "require-dev": { - "ergebnis/composer-normalize": "^2.11", - "jangregor/phpstan-prophecy": "^1", - "mll-lab/php-cs-fixer-config": "^4.4", - "orchestra/testbench": "3.6.* || 3.7.* || 3.8.* || 3.9.* || ^4 || ^5 || ^6 || ^7", - "phpstan/extension-installer": "^1", - "phpstan/phpstan": "^1", - "phpstan/phpstan-deprecation-rules": "^1", - "phpstan/phpstan-phpunit": "^1", - "phpstan/phpstan-strict-rules": "^1", - "phpunit/phpunit": "^7.5 || ^8.5 || ^9", - "thecodingmachine/phpstan-safe-rule": "^1.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "Laragraph\\Utils\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Benedikt Franke", - "email": "benedikt@franke.tech" - } - ], - "description": "Utilities for using GraphQL with Laravel", - "homepage": "https://github.com/laragraph/utils", - "support": { - "issues": "https://github.com/laragraph/utils/issues", - "source": "https://github.com/laragraph/utils" - }, - "time": "2022-04-26T15:09:27+00:00" - }, - { - "name": "laravel/framework", - "version": "v9.12.2", - "source": { - "type": "git", - "url": "https://github.com/laravel/framework.git", - "reference": "b5b5c635f1a93f277b5248725a1f7ffc97e20810" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/framework/zipball/b5b5c635f1a93f277b5248725a1f7ffc97e20810", - "reference": "b5b5c635f1a93f277b5248725a1f7ffc97e20810", - "shasum": "" - }, - "require": { - "doctrine/inflector": "^2.0", - "dragonmantank/cron-expression": "^3.1", - "egulias/email-validator": "^3.1", - "ext-mbstring": "*", - "ext-openssl": "*", - "fruitcake/php-cors": "^1.2", - "laravel/serializable-closure": "^1.0", - "league/commonmark": "^2.2", - "league/flysystem": "^3.0", - "monolog/monolog": "^2.0", - "nesbot/carbon": "^2.53.1", - "php": "^8.0.2", - "psr/container": "^1.1.1|^2.0.1", - "psr/log": "^1.0|^2.0|^3.0", - "psr/simple-cache": "^1.0|^2.0|^3.0", - "ramsey/uuid": "^4.2.2", - "symfony/console": "^6.0", - "symfony/error-handler": "^6.0", - "symfony/finder": "^6.0", - "symfony/http-foundation": "^6.0", - "symfony/http-kernel": "^6.0", - "symfony/mailer": "^6.0", - "symfony/mime": "^6.0", - "symfony/process": "^6.0", - "symfony/routing": "^6.0", - "symfony/var-dumper": "^6.0", - "tijsverkoyen/css-to-inline-styles": "^2.2.2", - "vlucas/phpdotenv": "^5.4.1", - "voku/portable-ascii": "^2.0" - }, - "conflict": { - "tightenco/collect": "<5.5.33" - }, - "provide": { - "psr/container-implementation": "1.1|2.0", - "psr/simple-cache-implementation": "1.0|2.0|3.0" - }, - "replace": { - "illuminate/auth": "self.version", - "illuminate/broadcasting": "self.version", - "illuminate/bus": "self.version", - "illuminate/cache": "self.version", - "illuminate/collections": "self.version", - "illuminate/conditionable": "self.version", - "illuminate/config": "self.version", - "illuminate/console": "self.version", - "illuminate/container": "self.version", - "illuminate/contracts": "self.version", - "illuminate/cookie": "self.version", - "illuminate/database": "self.version", - "illuminate/encryption": "self.version", - "illuminate/events": "self.version", - "illuminate/filesystem": "self.version", - "illuminate/hashing": "self.version", - "illuminate/http": "self.version", - "illuminate/log": "self.version", - "illuminate/macroable": "self.version", - "illuminate/mail": "self.version", - "illuminate/notifications": "self.version", - "illuminate/pagination": "self.version", - "illuminate/pipeline": "self.version", - "illuminate/queue": "self.version", - "illuminate/redis": "self.version", - "illuminate/routing": "self.version", - "illuminate/session": "self.version", - "illuminate/support": "self.version", - "illuminate/testing": "self.version", - "illuminate/translation": "self.version", - "illuminate/validation": "self.version", - "illuminate/view": "self.version" - }, - "require-dev": { - "aws/aws-sdk-php": "^3.198.1", - "doctrine/dbal": "^2.13.3|^3.1.4", - "fakerphp/faker": "^1.9.2", - "guzzlehttp/guzzle": "^7.2", - "league/flysystem-aws-s3-v3": "^3.0", - "league/flysystem-ftp": "^3.0", - "league/flysystem-sftp-v3": "^3.0", - "mockery/mockery": "^1.4.4", - "orchestra/testbench-core": "^7.1", - "pda/pheanstalk": "^4.0", - "phpstan/phpstan": "^1.4.7", - "phpunit/phpunit": "^9.5.8", - "predis/predis": "^1.1.9", - "symfony/cache": "^6.0" - }, - "suggest": { - "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", - "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.198.1).", - "brianium/paratest": "Required to run tests in parallel (^6.0).", - "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.4).", - "ext-bcmath": "Required to use the multiple_of validation rule.", - "ext-ftp": "Required to use the Flysystem FTP driver.", - "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", - "ext-memcached": "Required to use the memcache cache driver.", - "ext-pcntl": "Required to use all features of the queue worker.", - "ext-posix": "Required to use all features of the queue worker.", - "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", - "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", - "filp/whoops": "Required for friendly error pages in development (^2.14.3).", - "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.2).", - "laravel/tinker": "Required to use the tinker console command (^2.0).", - "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", - "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", - "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", - "mockery/mockery": "Required to use mocking (^1.4.4).", - "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", - "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", - "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8).", - "predis/predis": "Required to use the predis connector (^1.1.9).", - "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", - "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", - "symfony/cache": "Required to PSR-6 cache bridge (^6.0).", - "symfony/filesystem": "Required to enable support for relative symbolic links (^6.0).", - "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.0).", - "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.0).", - "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.0).", - "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.x-dev" - } - }, - "autoload": { - "files": [ - "src/Illuminate/Collections/helpers.php", - "src/Illuminate/Events/functions.php", - "src/Illuminate/Foundation/helpers.php", - "src/Illuminate/Support/helpers.php" - ], - "psr-4": { - "Illuminate\\": "src/Illuminate/", - "Illuminate\\Support\\": [ - "src/Illuminate/Macroable/", - "src/Illuminate/Collections/", - "src/Illuminate/Conditionable/" - ] - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - } - ], - "description": "The Laravel Framework.", - "homepage": "https://laravel.com", - "keywords": [ - "framework", - "laravel" - ], - "support": { - "issues": "https://github.com/laravel/framework/issues", - "source": "https://github.com/laravel/framework" - }, - "time": "2022-05-11T13:38:26+00:00" - }, - { - "name": "laravel/helpers", - "version": "v1.5.0", - "source": { - "type": "git", - "url": "https://github.com/laravel/helpers.git", - "reference": "c28b0ccd799d58564c41a62395ac9511a1e72931" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/helpers/zipball/c28b0ccd799d58564c41a62395ac9511a1e72931", - "reference": "c28b0ccd799d58564c41a62395ac9511a1e72931", - "shasum": "" - }, - "require": { - "illuminate/support": "~5.8.0|^6.0|^7.0|^8.0|^9.0", - "php": "^7.1.3|^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^7.0|^8.0|^9.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "files": [ - "src/helpers.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - }, - { - "name": "Dries Vints", - "email": "dries@laravel.com" - } - ], - "description": "Provides backwards compatibility for helpers in the latest Laravel release.", - "keywords": [ - "helpers", - "laravel" - ], - "support": { - "source": "https://github.com/laravel/helpers/tree/v1.5.0" - }, - "time": "2022-01-12T15:58:51+00:00" - }, - { - "name": "laravel/serializable-closure", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/laravel/serializable-closure.git", - "reference": "9e4b005daa20b0c161f3845040046dc9ddc1d74e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/9e4b005daa20b0c161f3845040046dc9ddc1d74e", - "reference": "9e4b005daa20b0c161f3845040046dc9ddc1d74e", - "shasum": "" - }, - "require": { - "php": "^7.3|^8.0" - }, - "require-dev": { - "pestphp/pest": "^1.18", - "phpstan/phpstan": "^0.12.98", - "symfony/var-dumper": "^5.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.x-dev" - } - }, - "autoload": { - "psr-4": { - "Laravel\\SerializableClosure\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Taylor Otwell", - "email": "taylor@laravel.com" - }, - { - "name": "Nuno Maduro", - "email": "nuno@laravel.com" - } - ], - "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", - "keywords": [ - "closure", - "laravel", - "serializable" - ], - "support": { - "issues": "https://github.com/laravel/serializable-closure/issues", - "source": "https://github.com/laravel/serializable-closure" - }, - "time": "2022-02-11T19:23:53+00:00" - }, - { - "name": "league/commonmark", - "version": "2.3.1", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/commonmark.git", - "reference": "cb36fee279f7fca01d5d9399ddd1b37e48e2eca1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/cb36fee279f7fca01d5d9399ddd1b37e48e2eca1", - "reference": "cb36fee279f7fca01d5d9399ddd1b37e48e2eca1", - "shasum": "" - }, - "require": { - "ext-mbstring": "*", - "league/config": "^1.1.1", - "php": "^7.4 || ^8.0", - "psr/event-dispatcher": "^1.0", - "symfony/deprecation-contracts": "^2.1 || ^3.0", - "symfony/polyfill-php80": "^1.16" - }, - "require-dev": { - "cebe/markdown": "^1.0", - "commonmark/cmark": "0.30.0", - "commonmark/commonmark.js": "0.30.0", - "composer/package-versions-deprecated": "^1.8", - "embed/embed": "^4.4", - "erusev/parsedown": "^1.0", - "ext-json": "*", - "github/gfm": "0.29.0", - "michelf/php-markdown": "^1.4", - "nyholm/psr7": "^1.5", - "phpstan/phpstan": "^0.12.88 || ^1.0.0", - "phpunit/phpunit": "^9.5.5", - "scrutinizer/ocular": "^1.8.1", - "symfony/finder": "^5.3", - "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0", - "unleashedtech/php-coding-standard": "^3.1", - "vimeo/psalm": "^4.7.3" - }, - "suggest": { - "symfony/yaml": "v2.3+ required if using the Front Matter extension" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.4-dev" - } - }, - "autoload": { - "psr-4": { - "League\\CommonMark\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "https://www.colinodell.com", - "role": "Lead Developer" - } - ], - "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", - "homepage": "https://commonmark.thephpleague.com", - "keywords": [ - "commonmark", - "flavored", - "gfm", - "github", - "github-flavored", - "markdown", - "md", - "parser" - ], - "support": { - "docs": "https://commonmark.thephpleague.com/", - "forum": "https://github.com/thephpleague/commonmark/discussions", - "issues": "https://github.com/thephpleague/commonmark/issues", - "rss": "https://github.com/thephpleague/commonmark/releases.atom", - "source": "https://github.com/thephpleague/commonmark" - }, - "funding": [ - { - "url": "https://www.colinodell.com/sponsor", - "type": "custom" - }, - { - "url": "https://www.paypal.me/colinpodell/10.00", - "type": "custom" - }, - { - "url": "https://github.com/colinodell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/commonmark", - "type": "tidelift" - } - ], - "time": "2022-05-14T15:37:39+00:00" - }, - { - "name": "league/config", - "version": "v1.1.1", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/config.git", - "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/config/zipball/a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e", - "reference": "a9d39eeeb6cc49d10a6e6c36f22c4c1f4a767f3e", - "shasum": "" - }, - "require": { - "dflydev/dot-access-data": "^3.0.1", - "nette/schema": "^1.2", - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "phpstan/phpstan": "^0.12.90", - "phpunit/phpunit": "^9.5.5", - "scrutinizer/ocular": "^1.8.1", - "unleashedtech/php-coding-standard": "^3.1", - "vimeo/psalm": "^4.7.3" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.2-dev" - } - }, - "autoload": { - "psr-4": { - "League\\Config\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Colin O'Dell", - "email": "colinodell@gmail.com", - "homepage": "https://www.colinodell.com", - "role": "Lead Developer" - } - ], - "description": "Define configuration arrays with strict schemas and access values with dot notation", - "homepage": "https://config.thephpleague.com", - "keywords": [ - "array", - "config", - "configuration", - "dot", - "dot-access", - "nested", - "schema" - ], - "support": { - "docs": "https://config.thephpleague.com/", - "issues": "https://github.com/thephpleague/config/issues", - "rss": "https://github.com/thephpleague/config/releases.atom", - "source": "https://github.com/thephpleague/config" - }, - "funding": [ - { - "url": "https://www.colinodell.com/sponsor", - "type": "custom" - }, - { - "url": "https://www.paypal.me/colinpodell/10.00", - "type": "custom" - }, - { - "url": "https://github.com/colinodell", - "type": "github" - } - ], - "time": "2021-08-14T12:15:32+00:00" - }, - { - "name": "league/csv", - "version": "9.8.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/csv.git", - "reference": "9d2e0265c5d90f5dd601bc65ff717e05cec19b47" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/csv/zipball/9d2e0265c5d90f5dd601bc65ff717e05cec19b47", - "reference": "9d2e0265c5d90f5dd601bc65ff717e05cec19b47", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "php": "^7.4 || ^8.0" - }, - "require-dev": { - "ext-curl": "*", - "ext-dom": "*", - "friendsofphp/php-cs-fixer": "^v3.4.0", - "phpstan/phpstan": "^1.3.0", - "phpstan/phpstan-phpunit": "^1.0.0", - "phpstan/phpstan-strict-rules": "^1.1.0", - "phpunit/phpunit": "^9.5.11" - }, - "suggest": { - "ext-dom": "Required to use the XMLConverter and or the HTMLConverter classes", - "ext-iconv": "Needed to ease transcoding CSV using iconv stream filters" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "9.x-dev" - } - }, - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "League\\Csv\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ignace Nyamagana Butera", - "email": "nyamsprod@gmail.com", - "homepage": "https://github.com/nyamsprod/", - "role": "Developer" - } - ], - "description": "CSV data manipulation made easy in PHP", - "homepage": "https://csv.thephpleague.com", - "keywords": [ - "convert", - "csv", - "export", - "filter", - "import", - "read", - "transform", - "write" - ], - "support": { - "docs": "https://csv.thephpleague.com", - "issues": "https://github.com/thephpleague/csv/issues", - "rss": "https://github.com/thephpleague/csv/releases.atom", - "source": "https://github.com/thephpleague/csv" - }, - "funding": [ - { - "url": "https://github.com/sponsors/nyamsprod", - "type": "github" - } - ], - "time": "2022-01-04T00:13:07+00:00" - }, - { - "name": "league/flysystem", - "version": "3.0.19", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/flysystem.git", - "reference": "670df21225d68d165a8df38587ac3f41caf608f8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/670df21225d68d165a8df38587ac3f41caf608f8", - "reference": "670df21225d68d165a8df38587ac3f41caf608f8", - "shasum": "" - }, - "require": { - "league/mime-type-detection": "^1.0.0", - "php": "^8.0.2" - }, - "conflict": { - "aws/aws-sdk-php": "3.209.31 || 3.210.0", - "guzzlehttp/guzzle": "<7.0", - "guzzlehttp/ringphp": "<1.1.1", - "symfony/http-client": "<5.2" - }, - "require-dev": { - "async-aws/s3": "^1.5", - "async-aws/simple-s3": "^1.0", - "aws/aws-sdk-php": "^3.198.1", - "composer/semver": "^3.0", - "ext-fileinfo": "*", - "ext-ftp": "*", - "ext-zip": "*", - "friendsofphp/php-cs-fixer": "^3.5", - "google/cloud-storage": "^1.23", - "microsoft/azure-storage-blob": "^1.1", - "phpseclib/phpseclib": "^2.0", - "phpstan/phpstan": "^0.12.26", - "phpunit/phpunit": "^9.5.11", - "sabre/dav": "^4.3.1" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\Flysystem\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frankdejonge.nl" - } - ], - "description": "File storage abstraction for PHP", - "keywords": [ - "WebDAV", - "aws", - "cloud", - "file", - "files", - "filesystem", - "filesystems", - "ftp", - "s3", - "sftp", - "storage" - ], - "support": { - "issues": "https://github.com/thephpleague/flysystem/issues", - "source": "https://github.com/thephpleague/flysystem/tree/3.0.19" - }, - "funding": [ - { - "url": "https://offset.earth/frankdejonge", - "type": "custom" - }, - { - "url": "https://github.com/frankdejonge", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "type": "tidelift" - } - ], - "time": "2022-05-03T21:19:02+00:00" - }, - { - "name": "league/glide", - "version": "2.2.2", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/glide.git", - "reference": "bff5b0fe2fd26b2fde2d6958715fde313887d79d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/glide/zipball/bff5b0fe2fd26b2fde2d6958715fde313887d79d", - "reference": "bff5b0fe2fd26b2fde2d6958715fde313887d79d", - "shasum": "" - }, - "require": { - "intervention/image": "^2.7", - "league/flysystem": "^2.0|^3.0", - "php": "^7.2|^8.0", - "psr/http-message": "^1.0" - }, - "require-dev": { - "mockery/mockery": "^1.3.3", - "phpunit/php-token-stream": "^3.1|^4.0", - "phpunit/phpunit": "^8.5|^9.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\Glide\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jonathan Reinink", - "email": "jonathan@reinink.ca", - "homepage": "http://reinink.ca" - }, - { - "name": "Titouan Galopin", - "email": "galopintitouan@gmail.com", - "homepage": "https://titouangalopin.com" - } - ], - "description": "Wonderfully easy on-demand image manipulation library with an HTTP based API.", - "homepage": "http://glide.thephpleague.com", - "keywords": [ - "ImageMagick", - "editing", - "gd", - "image", - "imagick", - "league", - "manipulation", - "processing" - ], - "support": { - "issues": "https://github.com/thephpleague/glide/issues", - "source": "https://github.com/thephpleague/glide/tree/2.2.2" - }, - "time": "2022-02-21T07:40:55+00:00" - }, - { - "name": "league/mime-type-detection", - "version": "1.11.0", - "source": { - "type": "git", - "url": "https://github.com/thephpleague/mime-type-detection.git", - "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/ff6248ea87a9f116e78edd6002e39e5128a0d4dd", - "reference": "ff6248ea87a9f116e78edd6002e39e5128a0d4dd", - "shasum": "" - }, - "require": { - "ext-fileinfo": "*", - "php": "^7.2 || ^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^3.2", - "phpstan/phpstan": "^0.12.68", - "phpunit/phpunit": "^8.5.8 || ^9.3" - }, - "type": "library", - "autoload": { - "psr-4": { - "League\\MimeTypeDetection\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Frank de Jonge", - "email": "info@frankdejonge.nl" - } - ], - "description": "Mime-type detection for Flysystem", - "support": { - "issues": "https://github.com/thephpleague/mime-type-detection/issues", - "source": "https://github.com/thephpleague/mime-type-detection/tree/1.11.0" - }, - "funding": [ - { - "url": "https://github.com/frankdejonge", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/league/flysystem", - "type": "tidelift" - } - ], - "time": "2022-04-17T13:12:02+00:00" - }, - { - "name": "michelf/php-smartypants", - "version": "1.8.1", - "source": { - "type": "git", - "url": "https://github.com/michelf/php-smartypants.git", - "reference": "47d17c90a4dfd0ccf1f87e25c65e6c8012415aad" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/michelf/php-smartypants/zipball/47d17c90a4dfd0ccf1f87e25c65e6c8012415aad", - "reference": "47d17c90a4dfd0ccf1f87e25c65e6c8012415aad", - "shasum": "" - }, - "require": { - "php": ">=5.3.0" - }, - "type": "library", - "autoload": { - "psr-0": { - "Michelf": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Michel Fortin", - "email": "michel.fortin@michelf.ca", - "homepage": "https://michelf.ca/", - "role": "Developer" - }, - { - "name": "John Gruber", - "homepage": "https://daringfireball.net/" - } - ], - "description": "PHP SmartyPants", - "homepage": "https://michelf.ca/projects/php-smartypants/", - "keywords": [ - "dashes", - "quotes", - "spaces", - "typographer", - "typography" - ], - "support": { - "issues": "https://github.com/michelf/php-smartypants/issues", - "source": "https://github.com/michelf/php-smartypants/tree/1.8.1" - }, - "time": "2016-12-13T01:01:17+00:00" - }, - { - "name": "monolog/monolog", - "version": "2.6.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/monolog.git", - "reference": "247918972acd74356b0a91dfaa5adcaec069b6c0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/monolog/zipball/247918972acd74356b0a91dfaa5adcaec069b6c0", - "reference": "247918972acd74356b0a91dfaa5adcaec069b6c0", - "shasum": "" - }, - "require": { - "php": ">=7.2", - "psr/log": "^1.0.1 || ^2.0 || ^3.0" - }, - "provide": { - "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0" - }, - "require-dev": { - "aws/aws-sdk-php": "^2.4.9 || ^3.0", - "doctrine/couchdb": "~1.0@dev", - "elasticsearch/elasticsearch": "^7 || ^8", - "ext-json": "*", - "graylog2/gelf-php": "^1.4.2", - "guzzlehttp/guzzle": "^7.4", - "guzzlehttp/psr7": "^2.2", - "mongodb/mongodb": "^1.8", - "php-amqplib/php-amqplib": "~2.4 || ^3", - "php-console/php-console": "^3.1.3", - "phpspec/prophecy": "^1.15", - "phpstan/phpstan": "^0.12.91", - "phpunit/phpunit": "^8.5.14", - "predis/predis": "^1.1", - "rollbar/rollbar": "^1.3 || ^2 || ^3", - "ruflin/elastica": "^7", - "swiftmailer/swiftmailer": "^5.3|^6.0", - "symfony/mailer": "^5.4 || ^6", - "symfony/mime": "^5.4 || ^6" - }, - "suggest": { - "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", - "doctrine/couchdb": "Allow sending log messages to a CouchDB server", - "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", - "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", - "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", - "ext-mbstring": "Allow to work properly with unicode symbols", - "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", - "ext-openssl": "Required to send log messages using SSL", - "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", - "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", - "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", - "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", - "php-console/php-console": "Allow sending log messages to Google Chrome", - "rollbar/rollbar": "Allow sending log messages to Rollbar", - "ruflin/elastica": "Allow sending log messages to an Elastic Search server" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "2.x-dev" - } - }, - "autoload": { - "psr-4": { - "Monolog\\": "src/Monolog" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jordi Boggiano", - "email": "j.boggiano@seld.be", - "homepage": "https://seld.be" - } - ], - "description": "Sends your logs to files, sockets, inboxes, databases and various web services", - "homepage": "https://github.com/Seldaek/monolog", - "keywords": [ - "log", - "logging", - "psr-3" - ], - "support": { - "issues": "https://github.com/Seldaek/monolog/issues", - "source": "https://github.com/Seldaek/monolog/tree/2.6.0" - }, - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", - "type": "tidelift" - } - ], - "time": "2022-05-10T09:36:00+00:00" - }, - { - "name": "nesbot/carbon", - "version": "2.58.0", - "source": { - "type": "git", - "url": "https://github.com/briannesbitt/Carbon.git", - "reference": "97a34af22bde8d0ac20ab34b29d7bfe360902055" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/97a34af22bde8d0ac20ab34b29d7bfe360902055", - "reference": "97a34af22bde8d0ac20ab34b29d7bfe360902055", - "shasum": "" - }, - "require": { - "ext-json": "*", - "php": "^7.1.8 || ^8.0", - "symfony/polyfill-mbstring": "^1.0", - "symfony/polyfill-php80": "^1.16", - "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" - }, - "require-dev": { - "doctrine/dbal": "^2.0 || ^3.0", - "doctrine/orm": "^2.7", - "friendsofphp/php-cs-fixer": "^3.0", - "kylekatarnls/multi-tester": "^2.0", - "phpmd/phpmd": "^2.9", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12.54 || ^1.0", - "phpunit/php-file-iterator": "^2.0.5", - "phpunit/phpunit": "^7.5.20 || ^8.5.23", - "squizlabs/php_codesniffer": "^3.4" - }, - "bin": [ - "bin/carbon" - ], - "type": "library", - "extra": { - "branch-alias": { - "dev-3.x": "3.x-dev", - "dev-master": "2.x-dev" - }, - "laravel": { - "providers": [ - "Carbon\\Laravel\\ServiceProvider" - ] - }, - "phpstan": { - "includes": [ - "extension.neon" - ] - } - }, - "autoload": { - "psr-4": { - "Carbon\\": "src/Carbon/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Brian Nesbitt", - "email": "brian@nesbot.com", - "homepage": "https://markido.com" - }, - { - "name": "kylekatarnls", - "homepage": "https://github.com/kylekatarnls" - } - ], - "description": "An API extension for DateTime that supports 281 different languages.", - "homepage": "https://carbon.nesbot.com", - "keywords": [ - "date", - "datetime", - "time" - ], - "support": { - "docs": "https://carbon.nesbot.com/docs", - "issues": "https://github.com/briannesbitt/Carbon/issues", - "source": "https://github.com/briannesbitt/Carbon" - }, - "funding": [ - { - "url": "https://opencollective.com/Carbon", - "type": "open_collective" - }, - { - "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", - "type": "tidelift" - } - ], - "time": "2022-04-25T19:31:17+00:00" - }, - { - "name": "nette/schema", - "version": "v1.2.2", - "source": { - "type": "git", - "url": "https://github.com/nette/schema.git", - "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/schema/zipball/9a39cef03a5b34c7de64f551538cbba05c2be5df", - "reference": "9a39cef03a5b34c7de64f551538cbba05c2be5df", - "shasum": "" - }, - "require": { - "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", - "php": ">=7.1 <8.2" - }, - "require-dev": { - "nette/tester": "^2.3 || ^2.4", - "phpstan/phpstan-nette": "^0.12", - "tracy/tracy": "^2.7" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause", - "GPL-2.0-only", - "GPL-3.0-only" - ], - "authors": [ - { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" - }, - { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" - } - ], - "description": "📐 Nette Schema: validating data structures against a given Schema.", - "homepage": "https://nette.org", - "keywords": [ - "config", - "nette" - ], - "support": { - "issues": "https://github.com/nette/schema/issues", - "source": "https://github.com/nette/schema/tree/v1.2.2" - }, - "time": "2021-10-15T11:40:02+00:00" - }, - { - "name": "nette/utils", - "version": "v3.2.7", - "source": { - "type": "git", - "url": "https://github.com/nette/utils.git", - "reference": "0af4e3de4df9f1543534beab255ccf459e7a2c99" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nette/utils/zipball/0af4e3de4df9f1543534beab255ccf459e7a2c99", - "reference": "0af4e3de4df9f1543534beab255ccf459e7a2c99", - "shasum": "" - }, - "require": { - "php": ">=7.2 <8.2" - }, - "conflict": { - "nette/di": "<3.0.6" - }, - "require-dev": { - "nette/tester": "~2.0", - "phpstan/phpstan": "^1.0", - "tracy/tracy": "^2.3" - }, - "suggest": { - "ext-gd": "to use Image", - "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", - "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", - "ext-json": "to use Nette\\Utils\\Json", - "ext-mbstring": "to use Strings::lower() etc...", - "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()", - "ext-xml": "to use Strings::length() etc. when mbstring is not available" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.2-dev" - } - }, - "autoload": { - "classmap": [ - "src/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause", - "GPL-2.0-only", - "GPL-3.0-only" - ], - "authors": [ - { - "name": "David Grudl", - "homepage": "https://davidgrudl.com" - }, - { - "name": "Nette Community", - "homepage": "https://nette.org/contributors" - } - ], - "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", - "homepage": "https://nette.org", - "keywords": [ - "array", - "core", - "datetime", - "images", - "json", - "nette", - "paginator", - "password", - "slugify", - "string", - "unicode", - "utf-8", - "utility", - "validation" - ], - "support": { - "issues": "https://github.com/nette/utils/issues", - "source": "https://github.com/nette/utils/tree/v3.2.7" - }, - "time": "2022-01-24T11:29:14+00:00" - }, - { - "name": "nikic/php-parser", - "version": "v4.13.2", - "source": { - "type": "git", - "url": "https://github.com/nikic/PHP-Parser.git", - "reference": "210577fe3cf7badcc5814d99455df46564f3c077" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/210577fe3cf7badcc5814d99455df46564f3c077", - "reference": "210577fe3cf7badcc5814d99455df46564f3c077", - "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.13.2" - }, - "time": "2021-11-30T19:35:32+00:00" - }, - { - "name": "phpoption/phpoption", - "version": "1.8.1", - "source": { - "type": "git", - "url": "https://github.com/schmittjoh/php-option.git", - "reference": "eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15", - "reference": "eab7a0df01fe2344d172bff4cd6dbd3f8b84ad15", - "shasum": "" - }, - "require": { - "php": "^7.0 || ^8.0" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "phpunit/phpunit": "^6.5.14 || ^7.5.20 || ^8.5.19 || ^9.5.8" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.8-dev" - } - }, - "autoload": { - "psr-4": { - "PhpOption\\": "src/PhpOption/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "Apache-2.0" - ], - "authors": [ - { - "name": "Johannes M. Schmitt", - "email": "schmittjoh@gmail.com", - "homepage": "https://github.com/schmittjoh" - }, - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - } - ], - "description": "Option Type for PHP", - "keywords": [ - "language", - "option", - "php", - "type" - ], - "support": { - "issues": "https://github.com/schmittjoh/php-option/issues", - "source": "https://github.com/schmittjoh/php-option/tree/1.8.1" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", - "type": "tidelift" - } - ], - "time": "2021-12-04T23:24:31+00:00" - }, - { - "name": "pixelfear/composer-dist-plugin", - "version": "v0.1.5", - "source": { - "type": "git", - "url": "https://github.com/pixelfear/composer-dist-plugin.git", - "reference": "f1cec1e14d026eb898f985a22dfb140ae0d74d6c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/pixelfear/composer-dist-plugin/zipball/f1cec1e14d026eb898f985a22dfb140ae0d74d6c", - "reference": "f1cec1e14d026eb898f985a22dfb140ae0d74d6c", - "shasum": "" - }, - "require": { - "composer-plugin-api": "^1.1 || ^2.0" - }, - "require-dev": { - "composer/composer": "^1.10", - "mockery/mockery": "^1.3", - "phpunit/phpunit": "^8.4" - }, - "type": "composer-plugin", - "extra": { - "class": "Pixelfear\\ComposerDistPlugin\\Plugin" - }, - "autoload": { - "psr-4": { - "Pixelfear\\ComposerDistPlugin\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "description": "Downloads distributable assets to be used in packages so you don't have to commit them.", - "support": { - "issues": "https://github.com/pixelfear/composer-dist-plugin/issues", - "source": "https://github.com/pixelfear/composer-dist-plugin/tree/v0.1.5" - }, - "funding": [ - { - "url": "https://github.com/jasonvarga", - "type": "github" - } - ], - "time": "2021-05-20T15:49:08+00:00" - }, - { - "name": "psr/container", - "version": "2.0.2", - "source": { - "type": "git", - "url": "https://github.com/php-fig/container.git", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", - "shasum": "" - }, - "require": { - "php": ">=7.4.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Container\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common Container Interface (PHP FIG PSR-11)", - "homepage": "https://github.com/php-fig/container", - "keywords": [ - "PSR-11", - "container", - "container-interface", - "container-interop", - "psr" - ], - "support": { - "issues": "https://github.com/php-fig/container/issues", - "source": "https://github.com/php-fig/container/tree/2.0.2" - }, - "time": "2021-11-05T16:47:00+00:00" - }, - { - "name": "psr/event-dispatcher", - "version": "1.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/event-dispatcher.git", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", - "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", - "shasum": "" - }, - "require": { - "php": ">=7.2.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\EventDispatcher\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Standard interfaces for event handling.", - "keywords": [ - "events", - "psr", - "psr-14" - ], - "support": { - "issues": "https://github.com/php-fig/event-dispatcher/issues", - "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" - }, - "time": "2019-01-08T18:20:26+00:00" - }, - { - "name": "psr/http-client", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-client.git", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-client/zipball/2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", - "reference": "2dfb5f6c5eff0e91e20e913f8c5452ed95b86621", - "shasum": "" - }, - "require": { - "php": "^7.0 || ^8.0", - "psr/http-message": "^1.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Http\\Client\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP clients", - "homepage": "https://github.com/php-fig/http-client", - "keywords": [ - "http", - "http-client", - "psr", - "psr-18" - ], - "support": { - "source": "https://github.com/php-fig/http-client/tree/master" - }, - "time": "2020-06-29T06:28:15+00:00" - }, - { - "name": "psr/http-factory", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-factory.git", - "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-factory/zipball/12ac7fcd07e5b077433f5f2bee95b3a771bf61be", - "reference": "12ac7fcd07e5b077433f5f2bee95b3a771bf61be", - "shasum": "" - }, - "require": { - "php": ">=7.0.0", - "psr/http-message": "^1.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": "http://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/master" - }, - "time": "2019-04-30T12:38:16+00:00" - }, - { - "name": "psr/http-message", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/php-fig/http-message.git", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/http-message/zipball/f6561bf28d520154e4b0ec72be95418abe6d9363", - "reference": "f6561bf28d520154e4b0ec72be95418abe6d9363", - "shasum": "" - }, - "require": { - "php": ">=5.3.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": "http://www.php-fig.org/" - } - ], - "description": "Common interface for HTTP messages", - "homepage": "https://github.com/php-fig/http-message", - "keywords": [ - "http", - "http-message", - "psr", - "psr-7", - "request", - "response" - ], - "support": { - "source": "https://github.com/php-fig/http-message/tree/master" - }, - "time": "2016-08-06T14:39:51+00:00" - }, - { - "name": "psr/log", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/log.git", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", - "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Log\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for logging libraries", - "homepage": "https://github.com/php-fig/log", - "keywords": [ - "log", - "psr", - "psr-3" - ], - "support": { - "source": "https://github.com/php-fig/log/tree/3.0.0" - }, - "time": "2021-07-14T16:46:02+00:00" - }, - { - "name": "psr/simple-cache", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/simple-cache.git", - "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", - "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "3.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\SimpleCache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interfaces for simple caching", - "keywords": [ - "cache", - "caching", - "psr", - "psr-16", - "simple-cache" - ], - "support": { - "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" - }, - "time": "2021-10-29T13:26:27+00:00" - }, - { - "name": "ralouphie/getallheaders", - "version": "3.0.3", - "source": { - "type": "git", - "url": "https://github.com/ralouphie/getallheaders.git", - "reference": "120b605dfeb996808c31b6477290a714d356e822" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", - "reference": "120b605dfeb996808c31b6477290a714d356e822", - "shasum": "" - }, - "require": { - "php": ">=5.6" - }, - "require-dev": { - "php-coveralls/php-coveralls": "^2.1", - "phpunit/phpunit": "^5 || ^6.5" - }, - "type": "library", - "autoload": { - "files": [ - "src/getallheaders.php" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ralph Khattar", - "email": "ralph.khattar@gmail.com" - } - ], - "description": "A polyfill for getallheaders.", - "support": { - "issues": "https://github.com/ralouphie/getallheaders/issues", - "source": "https://github.com/ralouphie/getallheaders/tree/develop" - }, - "time": "2019-03-08T08:55:37+00:00" - }, - { - "name": "ramsey/collection", - "version": "1.2.2", - "source": { - "type": "git", - "url": "https://github.com/ramsey/collection.git", - "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/collection/zipball/cccc74ee5e328031b15640b51056ee8d3bb66c0a", - "reference": "cccc74ee5e328031b15640b51056ee8d3bb66c0a", - "shasum": "" - }, - "require": { - "php": "^7.3 || ^8", - "symfony/polyfill-php81": "^1.23" - }, - "require-dev": { - "captainhook/captainhook": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "ergebnis/composer-normalize": "^2.6", - "fakerphp/faker": "^1.5", - "hamcrest/hamcrest-php": "^2", - "jangregor/phpstan-prophecy": "^0.8", - "mockery/mockery": "^1.3", - "phpspec/prophecy-phpunit": "^2.0", - "phpstan/extension-installer": "^1", - "phpstan/phpstan": "^0.12.32", - "phpstan/phpstan-mockery": "^0.12.5", - "phpstan/phpstan-phpunit": "^0.12.11", - "phpunit/phpunit": "^8.5 || ^9", - "psy/psysh": "^0.10.4", - "slevomat/coding-standard": "^6.3", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.4" - }, - "type": "library", - "autoload": { - "psr-4": { - "Ramsey\\Collection\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ben Ramsey", - "email": "ben@benramsey.com", - "homepage": "https://benramsey.com" - } - ], - "description": "A PHP library for representing and manipulating collections.", - "keywords": [ - "array", - "collection", - "hash", - "map", - "queue", - "set" - ], - "support": { - "issues": "https://github.com/ramsey/collection/issues", - "source": "https://github.com/ramsey/collection/tree/1.2.2" - }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", - "type": "tidelift" - } - ], - "time": "2021-10-10T03:01:02+00:00" - }, - { - "name": "ramsey/uuid", - "version": "4.3.1", - "source": { - "type": "git", - "url": "https://github.com/ramsey/uuid.git", - "reference": "8505afd4fea63b81a85d3b7b53ac3cb8dc347c28" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ramsey/uuid/zipball/8505afd4fea63b81a85d3b7b53ac3cb8dc347c28", - "reference": "8505afd4fea63b81a85d3b7b53ac3cb8dc347c28", - "shasum": "" - }, - "require": { - "brick/math": "^0.8 || ^0.9", - "ext-ctype": "*", - "ext-json": "*", - "php": "^8.0", - "ramsey/collection": "^1.0" - }, - "replace": { - "rhumsaa/uuid": "self.version" - }, - "require-dev": { - "captainhook/captainhook": "^5.10", - "captainhook/plugin-composer": "^5.3", - "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", - "doctrine/annotations": "^1.8", - "ergebnis/composer-normalize": "^2.15", - "mockery/mockery": "^1.3", - "moontoast/math": "^1.1", - "paragonie/random-lib": "^2", - "php-mock/php-mock": "^2.2", - "php-mock/php-mock-mockery": "^1.3", - "php-parallel-lint/php-parallel-lint": "^1.1", - "phpbench/phpbench": "^1.0", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "^0.12", - "phpstan/phpstan-mockery": "^0.12", - "phpstan/phpstan-phpunit": "^0.12", - "phpunit/phpunit": "^8.5 || ^9", - "slevomat/coding-standard": "^7.0", - "squizlabs/php_codesniffer": "^3.5", - "vimeo/psalm": "^4.9" - }, - "suggest": { - "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", - "ext-ctype": "Enables faster processing of character classification using ctype functions.", - "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", - "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", - "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", - "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." - }, - "type": "library", - "extra": { - "captainhook": { - "force-install": true - } - }, - "autoload": { - "files": [ - "src/functions.php" - ], - "psr-4": { - "Ramsey\\Uuid\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", - "keywords": [ - "guid", - "identifier", - "uuid" - ], - "support": { - "issues": "https://github.com/ramsey/uuid/issues", - "source": "https://github.com/ramsey/uuid/tree/4.3.1" - }, - "funding": [ - { - "url": "https://github.com/ramsey", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", - "type": "tidelift" - } - ], - "time": "2022-03-27T21:42:02+00:00" - }, - { - "name": "react/promise", - "version": "v2.9.0", - "source": { - "type": "git", - "url": "https://github.com/reactphp/promise.git", - "reference": "234f8fd1023c9158e2314fa9d7d0e6a83db42910" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/reactphp/promise/zipball/234f8fd1023c9158e2314fa9d7d0e6a83db42910", - "reference": "234f8fd1023c9158e2314fa9d7d0e6a83db42910", - "shasum": "" - }, - "require": { - "php": ">=5.4.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.36" - }, - "type": "library", - "autoload": { - "files": [ - "src/functions_include.php" - ], - "psr-4": { - "React\\Promise\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jan Sorgalla", - "email": "jsorgalla@gmail.com", - "homepage": "https://sorgalla.com/" - }, - { - "name": "Christian Lück", - "email": "christian@clue.engineering", - "homepage": "https://clue.engineering/" - }, - { - "name": "Cees-Jan Kiewiet", - "email": "reactphp@ceesjankiewiet.nl", - "homepage": "https://wyrihaximus.net/" - }, - { - "name": "Chris Boden", - "email": "cboden@gmail.com", - "homepage": "https://cboden.dev/" - } - ], - "description": "A lightweight implementation of CommonJS Promises/A for PHP", - "keywords": [ - "promise", - "promises" - ], - "support": { - "issues": "https://github.com/reactphp/promise/issues", - "source": "https://github.com/reactphp/promise/tree/v2.9.0" - }, - "funding": [ - { - "url": "https://github.com/WyriHaximus", - "type": "github" - }, - { - "url": "https://github.com/clue", - "type": "github" - } - ], - "time": "2022-02-11T10:27:51+00:00" - }, - { - "name": "rebing/graphql-laravel", - "version": "8.2.1", - "source": { - "type": "git", - "url": "https://github.com/rebing/graphql-laravel.git", - "reference": "5658df2b63998f3701d371958ce070747a0b2a3f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/rebing/graphql-laravel/zipball/5658df2b63998f3701d371958ce070747a0b2a3f", - "reference": "5658df2b63998f3701d371958ce070747a0b2a3f", - "shasum": "" - }, - "require": { - "ext-json": "*", - "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0", - "illuminate/support": "^6.0|^7.0|^8.0|^9.0", - "laragraph/utils": "^1", - "php": ">= 7.2", - "thecodingmachine/safe": "^1.3", - "webonyx/graphql-php": "^14.6.4" - }, - "require-dev": { - "ext-pdo_sqlite": "*", - "friendsofphp/php-cs-fixer": "^3", - "laravel/legacy-factories": "^1.0", - "mfn/php-cs-fixer-config": "^2", - "mockery/mockery": "^1.2", - "nunomaduro/larastan": "^1", - "orchestra/testbench": "4.0.*|5.0.*|^6.0|^7.0", - "phpstan/phpstan": "^1", - "phpunit/phpunit": "~7.0|~8.0|^9", - "thecodingmachine/phpstan-safe-rule": "^1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "8.1-dev" - }, - "laravel": { - "providers": [ - "Rebing\\GraphQL\\GraphQLServiceProvider" - ], - "aliases": { - "GraphQL": "Rebing\\GraphQL\\Support\\Facades\\GraphQL" - } - } - }, - "autoload": { - "psr-4": { - "Rebing\\GraphQL\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Rebing OÜ", - "homepage": "http://www.rebing.ee", - "role": "Company" - }, - { - "name": "Mikk Mihkel Nurges", - "email": "mikk.nurges@rebing.ee", - "role": "Developer" - }, - { - "name": "Folklore", - "email": "info@atelierfolklore.ca", - "homepage": "http://atelierfolklore.ca" - }, - { - "name": "David Mongeau-Petitpas", - "email": "dmp@atelierfolklore.ca", - "homepage": "http://mongo.ca", - "role": "Developer" - }, - { - "name": "Markus Podar", - "email": "markus@fischer.name", - "homepage": "https://github.com/mfn", - "role": "Developer" - } - ], - "description": "Laravel wrapper for PHP GraphQL", - "keywords": [ - "framework", - "graphql", - "laravel", - "react" - ], - "support": { - "issues": "https://github.com/rebing/graphql-laravel/issues", - "source": "https://github.com/rebing/graphql-laravel/tree/8.2.1" - }, - "funding": [ - { - "url": "https://github.com/mfn", - "type": "github" - } - ], - "time": "2022-01-30T19:36:07+00:00" - }, - { - "name": "seld/jsonlint", - "version": "1.9.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/jsonlint.git", - "reference": "4211420d25eba80712bff236a98960ef68b866b7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/jsonlint/zipball/4211420d25eba80712bff236a98960ef68b866b7", - "reference": "4211420d25eba80712bff236a98960ef68b866b7", - "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.9.0" - }, - "funding": [ - { - "url": "https://github.com/Seldaek", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/seld/jsonlint", - "type": "tidelift" - } - ], - "time": "2022-04-01T13:37:23+00:00" - }, - { - "name": "seld/phar-utils", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/Seldaek/phar-utils.git", - "reference": "9f3452c93ff423469c0d56450431562ca423dcee" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/Seldaek/phar-utils/zipball/9f3452c93ff423469c0d56450431562ca423dcee", - "reference": "9f3452c93ff423469c0d56450431562ca423dcee", - "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.0" - }, - "time": "2021-12-10T11:20:11+00:00" - }, - { - "name": "spatie/blink", - "version": "1.2.0", - "source": { - "type": "git", - "url": "https://github.com/spatie/blink.git", - "reference": "27df0b29309d044832ce0eccc75a0ad7e5f61f98" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/spatie/blink/zipball/27df0b29309d044832ce0eccc75a0ad7e5f61f98", - "reference": "27df0b29309d044832ce0eccc75a0ad7e5f61f98", - "shasum": "" - }, - "require": { - "php": "^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^9.5" - }, - "type": "library", - "autoload": { - "psr-4": { - "Spatie\\Blink\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Freek Van der Herten", - "email": "freek@spatie.be", - "homepage": "https://spatie.be", - "role": "Developer" - } - ], - "description": "Cache that expires in the blink of an eye", - "homepage": "https://github.com/spatie/blink", - "keywords": [ - "Blink", - "cache", - "caching", - "spatie" - ], - "support": { - "issues": "https://github.com/spatie/blink/issues", - "source": "https://github.com/spatie/blink/tree/1.2.0" - }, - "funding": [ - { - "url": "https://spatie.be/open-source/support-us", - "type": "custom" - }, - { - "url": "https://github.com/spatie", - "type": "github" - } - ], - "time": "2022-01-05T09:38:04+00:00" - }, - { - "name": "statamic/cms", - "version": "v3.3.11", - "source": { - "type": "git", - "url": "https://github.com/statamic/cms.git", - "reference": "f06cf8350365577f0d2db0732a55fd487e47217c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/statamic/cms/zipball/f06cf8350365577f0d2db0732a55fd487e47217c", - "reference": "f06cf8350365577f0d2db0732a55fd487e47217c", - "shasum": "" - }, - "require": { - "ajthinking/archetype": "^1.0.3", - "composer/composer": "^1.10.22 || ^2.2.12", - "ext-json": "*", - "facade/ignition-contracts": "^1.0", - "guzzlehttp/guzzle": "^6.3 || ^7.0", - "james-heinrich/getid3": "^1.9.21", - "laravel/framework": "^8.48.0 || ^9.0", - "laravel/helpers": "^1.1", - "league/commonmark": "^1.5 || ^2.2", - "league/csv": "^9.0", - "league/glide": "^1.1 || ^2.0", - "michelf/php-smartypants": "^1.8.1", - "pixelfear/composer-dist-plugin": "^0.1.4", - "rebing/graphql-laravel": "^6.5 || ^8.0", - "spatie/blink": "^1.1.2", - "statamic/stringy": "^3.1.2", - "symfony/http-foundation": "^4.3.3 || ^5.1.4 || ^6.0", - "symfony/lock": "^5.1", - "symfony/var-exporter": "^4.3 || ^5.1", - "symfony/yaml": "^4.1 || ^5.1 || ^6.0", - "ueberdosis/html-to-prosemirror": "^1.3", - "ueberdosis/prosemirror-to-html": "^2.6", - "voku/portable-ascii": "^1.6.1 || ^2.0", - "wilderborn/partyline": "^1.0" - }, - "require-dev": { - "fakerphp/faker": "~1.10", - "google/cloud-translate": "^1.6", - "mockery/mockery": "^1.2.3", - "orchestra/testbench": "^6.7.0 || ^7.0" - }, - "type": "library", - "extra": { - "download-dist": [ - { - "url": "https://github.com/statamic/cms/releases/download/{$version}/dist.tar.gz", - "path": "resources/dist" - }, - { - "url": "https://github.com/statamic/cms/releases/download/{$version}/dist-frontend.tar.gz", - "path": "resources/dist-frontend" - } - ], - "laravel": { - "providers": [ - "Statamic\\Providers\\StatamicServiceProvider" - ], - "aliases": { - "Statamic": "Statamic\\Statamic" - } - } - }, - "autoload": { - "files": [ - "src/helpers.php", - "src/namespaced_helpers.php" - ], - "psr-4": { - "Statamic\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "proprietary" - ], - "description": "The Statamic CMS Core Package", - "keywords": [ - "cms", - "flat file", - "laravel", - "statamic" - ], - "support": { - "issues": "https://github.com/statamic/cms/issues", - "source": "https://github.com/statamic/cms/tree/v3.3.11" - }, - "funding": [ - { - "url": "https://github.com/statamic", - "type": "github" - } - ], - "time": "2022-05-10T21:53:18+00:00" - }, - { - "name": "statamic/stringy", - "version": "3.1.3", - "source": { - "type": "git", - "url": "https://github.com/statamic/Stringy.git", - "reference": "7b8d20b72971295f947b6153cc4cf820a21b03e1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/statamic/Stringy/zipball/7b8d20b72971295f947b6153cc4cf820a21b03e1", - "reference": "7b8d20b72971295f947b6153cc4cf820a21b03e1", - "shasum": "" - }, - "require": { - "php": ">=5.4.0", - "symfony/polyfill-mbstring": "~1.1" - }, - "replace": { - "danielstjules/stringy": "1.10.0" - }, - "require-dev": { - "phpunit/phpunit": "~4.0" - }, - "type": "library", - "autoload": { - "files": [ - "src/Create.php" - ], - "psr-4": { - "Stringy\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Daniel St. Jules", - "email": "danielst.jules@gmail.com", - "homepage": "http://www.danielstjules.com" - }, - { - "name": "Statamic", - "email": "hello@statamic.com", - "homepage": "https://statamic.com" - } - ], - "description": "A string manipulation library with multibyte support, forked from @statamic", - "homepage": "https://github.com/statamic/Stringy", - "keywords": [ - "UTF", - "helpers", - "manipulation", - "methods", - "multibyte", - "string", - "utf-8", - "utility", - "utils" - ], - "support": { - "issues": "https://github.com/statamic/Stringy/issues", - "source": "https://github.com/statamic/Stringy" - }, - "time": "2022-05-04T18:41:52+00:00" - }, - { - "name": "symfony/console", - "version": "v6.0.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/console.git", - "reference": "0d00aa289215353aa8746a31d101f8e60826285c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/console/zipball/0d00aa289215353aa8746a31d101f8e60826285c", - "reference": "0d00aa289215353aa8746a31d101f8e60826285c", - "shasum": "" - }, - "require": { - "php": ">=8.0.2", - "symfony/polyfill-mbstring": "~1.0", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/string": "^5.4|^6.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", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/lock": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0", - "symfony/var-dumper": "^5.4|^6.0" - }, - "suggest": { - "psr/log": "For using the console logger", - "symfony/event-dispatcher": "", - "symfony/lock": "", - "symfony/process": "" - }, - "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.0.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-04-20T15:01:42+00:00" - }, - { - "name": "symfony/css-selector", - "version": "v6.0.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/css-selector.git", - "reference": "1955d595c12c111629cc814d3f2a2ff13580508a" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/css-selector/zipball/1955d595c12c111629cc814d3f2a2ff13580508a", - "reference": "1955d595c12c111629cc814d3f2a2ff13580508a", - "shasum": "" - }, - "require": { - "php": ">=8.0.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\CssSelector\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Jean-François Simon", - "email": "jeanfrancois.simon@sensiolabs.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Converts CSS selectors to XPath expressions", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/css-selector/tree/v6.0.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-01-02T09:55:41+00:00" - }, - { - "name": "symfony/deprecation-contracts", - "version": "v3.0.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/deprecation-contracts.git", - "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", - "reference": "26954b3d62a6c5fd0ea8a2a00c0353a14978d05c", - "shasum": "" - }, - "require": { - "php": ">=8.0.2" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-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.0.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": "2022-01-02T09:55:41+00:00" - }, - { - "name": "symfony/error-handler", - "version": "v6.0.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/error-handler.git", - "reference": "5e2795163acbd13b3cd46835c9f8f6c5d0a3a280" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/error-handler/zipball/5e2795163acbd13b3cd46835c9f8f6c5d0a3a280", - "reference": "5e2795163acbd13b3cd46835c9f8f6c5d0a3a280", - "shasum": "" - }, - "require": { - "php": ">=8.0.2", - "psr/log": "^1|^2|^3", - "symfony/var-dumper": "^5.4|^6.0" - }, - "require-dev": { - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/serializer": "^5.4|^6.0" - }, - "bin": [ - "Resources/bin/patch-type-declarations" - ], - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\ErrorHandler\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools to manage errors and ease debugging PHP code", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/error-handler/tree/v6.0.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-04-12T16:11:42+00:00" - }, - { - "name": "symfony/event-dispatcher", - "version": "v6.0.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher.git", - "reference": "6472ea2dd415e925b90ca82be64b8bc6157f3934" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/6472ea2dd415e925b90ca82be64b8bc6157f3934", - "reference": "6472ea2dd415e925b90ca82be64b8bc6157f3934", - "shasum": "" - }, - "require": { - "php": ">=8.0.2", - "symfony/event-dispatcher-contracts": "^2|^3" - }, - "conflict": { - "symfony/dependency-injection": "<5.4" - }, - "provide": { - "psr/event-dispatcher-implementation": "1.0", - "symfony/event-dispatcher-implementation": "2.0|3.0" - }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/error-handler": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", - "symfony/service-contracts": "^1.1|^2|^3", - "symfony/stopwatch": "^5.4|^6.0" - }, - "suggest": { - "symfony/dependency-injection": "", - "symfony/http-kernel": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\EventDispatcher\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/event-dispatcher/tree/v6.0.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-01-02T09:55:41+00:00" - }, - { - "name": "symfony/event-dispatcher-contracts", - "version": "v3.0.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/event-dispatcher-contracts.git", - "reference": "7bc61cc2db649b4637d331240c5346dcc7708051" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/7bc61cc2db649b4637d331240c5346dcc7708051", - "reference": "7bc61cc2db649b4637d331240c5346dcc7708051", - "shasum": "" - }, - "require": { - "php": ">=8.0.2", - "psr/event-dispatcher": "^1" - }, - "suggest": { - "symfony/event-dispatcher-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\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.0.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": "2022-01-02T09:55:41+00:00" - }, - { - "name": "symfony/filesystem", - "version": "v6.0.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/filesystem.git", - "reference": "6c9e4c41f2c51dfde3db298594ed9cba55dbf5ff" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/filesystem/zipball/6c9e4c41f2c51dfde3db298594ed9cba55dbf5ff", - "reference": "6c9e4c41f2c51dfde3db298594ed9cba55dbf5ff", - "shasum": "" - }, - "require": { - "php": ">=8.0.2", - "symfony/polyfill-ctype": "~1.8", - "symfony/polyfill-mbstring": "~1.8" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Filesystem\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides basic utilities for the filesystem", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/filesystem/tree/v6.0.7" - }, - "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": "2022-04-01T12:54:51+00:00" - }, - { - "name": "symfony/finder", - "version": "v6.0.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/finder.git", - "reference": "af7edab28d17caecd1f40a9219fc646ae751c21f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/finder/zipball/af7edab28d17caecd1f40a9219fc646ae751c21f", - "reference": "af7edab28d17caecd1f40a9219fc646ae751c21f", - "shasum": "" - }, - "require": { - "php": ">=8.0.2" - }, - "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.0.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-04-15T08:07:58+00:00" - }, - { - "name": "symfony/http-foundation", - "version": "v6.0.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-foundation.git", - "reference": "c9c86b02d7ef6f44f3154acc7de42831518afe7c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-foundation/zipball/c9c86b02d7ef6f44f3154acc7de42831518afe7c", - "reference": "c9c86b02d7ef6f44f3154acc7de42831518afe7c", - "shasum": "" - }, - "require": { - "php": ">=8.0.2", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-mbstring": "~1.1" - }, - "require-dev": { - "predis/predis": "~1.0", - "symfony/cache": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/mime": "^5.4|^6.0" - }, - "suggest": { - "symfony/mime": "To use the file extension guesser" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpFoundation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Defines an object-oriented layer for the HTTP specification", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/http-foundation/tree/v6.0.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-04-22T08:18:02+00:00" - }, - { - "name": "symfony/http-kernel", - "version": "v6.0.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/http-kernel.git", - "reference": "7aaf1cdc9cc2ad47e926f624efcb679883a39ca7" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/http-kernel/zipball/7aaf1cdc9cc2ad47e926f624efcb679883a39ca7", - "reference": "7aaf1cdc9cc2ad47e926f624efcb679883a39ca7", - "shasum": "" - }, - "require": { - "php": ">=8.0.2", - "psr/log": "^1|^2|^3", - "symfony/error-handler": "^5.4|^6.0", - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "symfony/browser-kit": "<5.4", - "symfony/cache": "<5.4", - "symfony/config": "<5.4", - "symfony/console": "<5.4", - "symfony/dependency-injection": "<5.4", - "symfony/doctrine-bridge": "<5.4", - "symfony/form": "<5.4", - "symfony/http-client": "<5.4", - "symfony/mailer": "<5.4", - "symfony/messenger": "<5.4", - "symfony/translation": "<5.4", - "symfony/twig-bridge": "<5.4", - "symfony/validator": "<5.4", - "twig/twig": "<2.13" - }, - "provide": { - "psr/log-implementation": "1.0|2.0|3.0" - }, - "require-dev": { - "psr/cache": "^1.0|^2.0|^3.0", - "symfony/browser-kit": "^5.4|^6.0", - "symfony/config": "^5.4|^6.0", - "symfony/console": "^5.4|^6.0", - "symfony/css-selector": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/dom-crawler": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/finder": "^5.4|^6.0", - "symfony/http-client-contracts": "^1.1|^2|^3", - "symfony/process": "^5.4|^6.0", - "symfony/routing": "^5.4|^6.0", - "symfony/stopwatch": "^5.4|^6.0", - "symfony/translation": "^5.4|^6.0", - "symfony/translation-contracts": "^1.1|^2|^3", - "twig/twig": "^2.13|^3.0.4" - }, - "suggest": { - "symfony/browser-kit": "", - "symfony/config": "", - "symfony/console": "", - "symfony/dependency-injection": "" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\HttpKernel\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides a structured process for converting a Request into a Response", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/http-kernel/tree/v6.0.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-04-27T17:26:02+00:00" - }, - { - "name": "symfony/lock", - "version": "v5.4.7", - "source": { - "type": "git", - "url": "https://github.com/symfony/lock.git", - "reference": "a16279554621453840eb8af14d12cfa24c10b8d3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/lock/zipball/a16279554621453840eb8af14d12cfa24c10b8d3", - "reference": "a16279554621453840eb8af14d12cfa24c10b8d3", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "psr/log": "^1|^2|^3", - "symfony/deprecation-contracts": "^2.1|^3", - "symfony/polyfill-php80": "^1.16" - }, - "conflict": { - "doctrine/dbal": "<2.13" - }, - "require-dev": { - "doctrine/dbal": "^2.13|^3.0", - "predis/predis": "~1.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Lock\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jérémy Derussé", - "email": "jeremy@derusse.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Creates and manages locks, a mechanism to provide exclusive access to a shared resource", - "homepage": "https://symfony.com", - "keywords": [ - "cas", - "flock", - "locking", - "mutex", - "redlock", - "semaphore" - ], - "support": { - "source": "https://github.com/symfony/lock/tree/v5.4.7" - }, - "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": "2022-03-22T15:31:03+00:00" - }, - { - "name": "symfony/mailer", - "version": "v6.0.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/mailer.git", - "reference": "706af6b3e99ebcbc639c9c664f5579aaa869409b" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/mailer/zipball/706af6b3e99ebcbc639c9c664f5579aaa869409b", - "reference": "706af6b3e99ebcbc639c9c664f5579aaa869409b", - "shasum": "" - }, - "require": { - "egulias/email-validator": "^2.1.10|^3", - "php": ">=8.0.2", - "psr/event-dispatcher": "^1", - "psr/log": "^1|^2|^3", - "symfony/event-dispatcher": "^5.4|^6.0", - "symfony/mime": "^5.4|^6.0", - "symfony/service-contracts": "^1.1|^2|^3" - }, - "conflict": { - "symfony/http-kernel": "<5.4" - }, - "require-dev": { - "symfony/http-client-contracts": "^1.1|^2|^3", - "symfony/messenger": "^5.4|^6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Mailer\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Helps sending emails", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/mailer/tree/v6.0.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-04-27T17:10:30+00:00" - }, - { - "name": "symfony/mime", - "version": "v6.0.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/mime.git", - "reference": "c1701e88ad0ca49fc6ad6cdf360bc0e1209fb5e1" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/mime/zipball/c1701e88ad0ca49fc6ad6cdf360bc0e1209fb5e1", - "reference": "c1701e88ad0ca49fc6ad6cdf360bc0e1209fb5e1", - "shasum": "" - }, - "require": { - "php": ">=8.0.2", - "symfony/polyfill-intl-idn": "^1.10", - "symfony/polyfill-mbstring": "^1.0" - }, - "conflict": { - "egulias/email-validator": "~3.0.0", - "phpdocumentor/reflection-docblock": "<3.2.2", - "phpdocumentor/type-resolver": "<1.4.0", - "symfony/mailer": "<5.4" - }, - "require-dev": { - "egulias/email-validator": "^2.1.10|^3.1", - "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/property-access": "^5.4|^6.0", - "symfony/property-info": "^5.4|^6.0", - "symfony/serializer": "^5.4|^6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Mime\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Allows manipulating MIME messages", - "homepage": "https://symfony.com", - "keywords": [ - "mime", - "mime-type" - ], - "support": { - "source": "https://github.com/symfony/mime/tree/v6.0.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-04-12T16:11:42+00:00" - }, - { - "name": "symfony/polyfill-ctype", - "version": "v1.25.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-ctype.git", - "reference": "30885182c981ab175d4d034db0f6f469898070ab" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/30885182c981ab175d4d034db0f6f469898070ab", - "reference": "30885182c981ab175d4d034db0f6f469898070ab", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-ctype": "*" - }, - "suggest": { - "ext-ctype": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-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.25.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": "2021-10-20T20:35:02+00:00" - }, - { - "name": "symfony/polyfill-intl-grapheme", - "version": "v1.25.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-grapheme.git", - "reference": "81b86b50cf841a64252b439e738e97f4a34e2783" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/81b86b50cf841a64252b439e738e97f4a34e2783", - "reference": "81b86b50cf841a64252b439e738e97f4a34e2783", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-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.25.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": "2021-11-23T21:10:46+00:00" - }, - { - "name": "symfony/polyfill-intl-idn", - "version": "v1.25.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-idn.git", - "reference": "749045c69efb97c70d25d7463abba812e91f3a44" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/749045c69efb97c70d25d7463abba812e91f3a44", - "reference": "749045c69efb97c70d25d7463abba812e91f3a44", - "shasum": "" - }, - "require": { - "php": ">=7.1", - "symfony/polyfill-intl-normalizer": "^1.10", - "symfony/polyfill-php72": "^1.10" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Intl\\Idn\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Laurent Bassin", - "email": "laurent@bassin.info" - }, - { - "name": "Trevor Rowbotham", - "email": "trevor.rowbotham@pm.me" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "idn", - "intl", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.25.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": "2021-09-14T14:02:44+00:00" - }, - { - "name": "symfony/polyfill-intl-normalizer", - "version": "v1.25.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-intl-normalizer.git", - "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8590a5f561694770bdcd3f9b5c69dde6945028e8", - "reference": "8590a5f561694770bdcd3f9b5c69dde6945028e8", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "suggest": { - "ext-intl": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-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.25.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": "2021-02-19T12:13:01+00:00" - }, - { - "name": "symfony/polyfill-mbstring", - "version": "v1.25.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-mbstring.git", - "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/0abb51d2f102e00a4eefcf46ba7fec406d245825", - "reference": "0abb51d2f102e00a4eefcf46ba7fec406d245825", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "provide": { - "ext-mbstring": "*" - }, - "suggest": { - "ext-mbstring": "For best performance" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-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.25.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": "2021-11-30T18:21:41+00:00" - }, - { - "name": "symfony/polyfill-php72", - "version": "v1.25.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php72.git", - "reference": "9a142215a36a3888e30d0a9eeea9766764e96976" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/9a142215a36a3888e30d0a9eeea9766764e96976", - "reference": "9a142215a36a3888e30d0a9eeea9766764e96976", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php72\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php72/tree/v1.25.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": "2021-05-27T09:17:38+00:00" - }, - { - "name": "symfony/polyfill-php73", - "version": "v1.25.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php73.git", - "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php73/zipball/cc5db0e22b3cb4111010e48785a97f670b350ca5", - "reference": "cc5db0e22b3cb4111010e48785a97f670b350ca5", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php73\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 7.3+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php73/tree/v1.25.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": "2021-06-05T21:20:04+00:00" - }, - { - "name": "symfony/polyfill-php80", - "version": "v1.25.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php80.git", - "reference": "4407588e0d3f1f52efb65fbe92babe41f37fe50c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/4407588e0d3f1f52efb65fbe92babe41f37fe50c", - "reference": "4407588e0d3f1f52efb65fbe92babe41f37fe50c", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php80\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Ion Bazan", - "email": "ion.bazan@gmail.com" - }, - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php80/tree/v1.25.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": "2022-03-04T08:16:47+00:00" - }, - { - "name": "symfony/polyfill-php81", - "version": "v1.25.0", - "source": { - "type": "git", - "url": "https://github.com/symfony/polyfill-php81.git", - "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/polyfill-php81/zipball/5de4ba2d41b15f9bd0e19b2ab9674135813ec98f", - "reference": "5de4ba2d41b15f9bd0e19b2ab9674135813ec98f", - "shasum": "" - }, - "require": { - "php": ">=7.1" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "1.23-dev" - }, - "thanks": { - "name": "symfony/polyfill", - "url": "https://github.com/symfony/polyfill" - } - }, - "autoload": { - "files": [ - "bootstrap.php" - ], - "psr-4": { - "Symfony\\Polyfill\\Php81\\": "" - }, - "classmap": [ - "Resources/stubs" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Symfony polyfill backporting some PHP 8.1+ features to lower PHP versions", - "homepage": "https://symfony.com", - "keywords": [ - "compatibility", - "polyfill", - "portable", - "shim" - ], - "support": { - "source": "https://github.com/symfony/polyfill-php81/tree/v1.25.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": "2021-09-13T13:58:11+00:00" - }, - { - "name": "symfony/process", - "version": "v6.0.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/process.git", - "reference": "d074154ea8b1443a96391f6e39f9e547b2dd01b9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/process/zipball/d074154ea8b1443a96391f6e39f9e547b2dd01b9", - "reference": "d074154ea8b1443a96391f6e39f9e547b2dd01b9", - "shasum": "" - }, - "require": { - "php": ">=8.0.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/v6.0.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-04-12T16:11:42+00:00" - }, - { - "name": "symfony/routing", - "version": "v6.0.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/routing.git", - "reference": "74c40c9fc334acc601a32fcf4274e74fb3bac11e" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/routing/zipball/74c40c9fc334acc601a32fcf4274e74fb3bac11e", - "reference": "74c40c9fc334acc601a32fcf4274e74fb3bac11e", - "shasum": "" - }, - "require": { - "php": ">=8.0.2" - }, - "conflict": { - "doctrine/annotations": "<1.12", - "symfony/config": "<5.4", - "symfony/dependency-injection": "<5.4", - "symfony/yaml": "<5.4" - }, - "require-dev": { - "doctrine/annotations": "^1.12", - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/expression-language": "^5.4|^6.0", - "symfony/http-foundation": "^5.4|^6.0", - "symfony/yaml": "^5.4|^6.0" - }, - "suggest": { - "symfony/config": "For using the all-in-one router or any loader", - "symfony/expression-language": "For using expression matching", - "symfony/http-foundation": "For using a Symfony Request object", - "symfony/yaml": "For using the YAML loader" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Routing\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Maps an HTTP request to a set of configuration variables", - "homepage": "https://symfony.com", - "keywords": [ - "router", - "routing", - "uri", - "url" - ], - "support": { - "source": "https://github.com/symfony/routing/tree/v6.0.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-04-22T08:18:02+00:00" - }, - { - "name": "symfony/service-contracts", - "version": "v3.0.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/service-contracts.git", - "reference": "e517458f278c2131ca9f262f8fbaf01410f2c65c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/service-contracts/zipball/e517458f278c2131ca9f262f8fbaf01410f2c65c", - "reference": "e517458f278c2131ca9f262f8fbaf01410f2c65c", - "shasum": "" - }, - "require": { - "php": ">=8.0.2", - "psr/container": "^2.0" - }, - "conflict": { - "ext-psr": "<1.1|>=2" - }, - "suggest": { - "symfony/service-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Service\\": "" - } - }, - "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.0.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": "2022-03-13T20:10:05+00:00" - }, - { - "name": "symfony/string", - "version": "v6.0.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/string.git", - "reference": "ac0aa5c2282e0de624c175b68d13f2c8f2e2649d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/string/zipball/ac0aa5c2282e0de624c175b68d13f2c8f2e2649d", - "reference": "ac0aa5c2282e0de624c175b68d13f2c8f2e2649d", - "shasum": "" - }, - "require": { - "php": ">=8.0.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.0" - }, - "require-dev": { - "symfony/error-handler": "^5.4|^6.0", - "symfony/http-client": "^5.4|^6.0", - "symfony/translation-contracts": "^2.0|^3.0", - "symfony/var-exporter": "^5.4|^6.0" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\String\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", - "homepage": "https://symfony.com", - "keywords": [ - "grapheme", - "i18n", - "string", - "unicode", - "utf-8", - "utf8" - ], - "support": { - "source": "https://github.com/symfony/string/tree/v6.0.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-04-22T08:18:02+00:00" - }, - { - "name": "symfony/translation", - "version": "v6.0.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation.git", - "reference": "3d38cf8f8834148c4457681d539bc204de701501" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation/zipball/3d38cf8f8834148c4457681d539bc204de701501", - "reference": "3d38cf8f8834148c4457681d539bc204de701501", - "shasum": "" - }, - "require": { - "php": ">=8.0.2", - "symfony/polyfill-mbstring": "~1.0", - "symfony/translation-contracts": "^2.3|^3.0" - }, - "conflict": { - "symfony/config": "<5.4", - "symfony/console": "<5.4", - "symfony/dependency-injection": "<5.4", - "symfony/http-kernel": "<5.4", - "symfony/twig-bundle": "<5.4", - "symfony/yaml": "<5.4" - }, - "provide": { - "symfony/translation-implementation": "2.3|3.0" - }, - "require-dev": { - "psr/log": "^1|^2|^3", - "symfony/config": "^5.4|^6.0", - "symfony/console": "^5.4|^6.0", - "symfony/dependency-injection": "^5.4|^6.0", - "symfony/finder": "^5.4|^6.0", - "symfony/http-client-contracts": "^1.1|^2.0|^3.0", - "symfony/http-kernel": "^5.4|^6.0", - "symfony/intl": "^5.4|^6.0", - "symfony/polyfill-intl-icu": "^1.21", - "symfony/service-contracts": "^1.1.2|^2|^3", - "symfony/yaml": "^5.4|^6.0" - }, - "suggest": { - "psr/log-implementation": "To use logging capability in translator", - "symfony/config": "", - "symfony/yaml": "" - }, - "type": "library", - "autoload": { - "files": [ - "Resources/functions.php" - ], - "psr-4": { - "Symfony\\Component\\Translation\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides tools to internationalize your application", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/translation/tree/v6.0.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-04-22T08:18:02+00:00" - }, - { - "name": "symfony/translation-contracts", - "version": "v3.0.1", - "source": { - "type": "git", - "url": "https://github.com/symfony/translation-contracts.git", - "reference": "c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9", - "reference": "c4183fc3ef0f0510893cbeedc7718fb5cafc9ac9", - "shasum": "" - }, - "require": { - "php": ">=8.0.2" - }, - "suggest": { - "symfony/translation-implementation": "" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-main": "3.0-dev" - }, - "thanks": { - "name": "symfony/contracts", - "url": "https://github.com/symfony/contracts" - } - }, - "autoload": { - "psr-4": { - "Symfony\\Contracts\\Translation\\": "" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Generic abstractions related to translation", - "homepage": "https://symfony.com", - "keywords": [ - "abstractions", - "contracts", - "decoupling", - "interfaces", - "interoperability", - "standards" - ], - "support": { - "source": "https://github.com/symfony/translation-contracts/tree/v3.0.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": "2022-01-02T09:55:41+00:00" - }, - { - "name": "symfony/var-dumper", - "version": "v6.0.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-dumper.git", - "reference": "fa61dfb4bd3068df2492013dc65f3190e9f550c0" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/var-dumper/zipball/fa61dfb4bd3068df2492013dc65f3190e9f550c0", - "reference": "fa61dfb4bd3068df2492013dc65f3190e9f550c0", - "shasum": "" - }, - "require": { - "php": ">=8.0.2", - "symfony/polyfill-mbstring": "~1.0" - }, - "conflict": { - "phpunit/phpunit": "<5.4.3", - "symfony/console": "<5.4" - }, - "require-dev": { - "ext-iconv": "*", - "symfony/console": "^5.4|^6.0", - "symfony/process": "^5.4|^6.0", - "symfony/uid": "^5.4|^6.0", - "twig/twig": "^2.13|^3.0.4" - }, - "suggest": { - "ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).", - "ext-intl": "To show region name in time zone dump", - "symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script" - }, - "bin": [ - "Resources/bin/var-dump-server" - ], - "type": "library", - "autoload": { - "files": [ - "Resources/functions/dump.php" - ], - "psr-4": { - "Symfony\\Component\\VarDumper\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides mechanisms for walking through any arbitrary PHP variable", - "homepage": "https://symfony.com", - "keywords": [ - "debug", - "dump" - ], - "support": { - "source": "https://github.com/symfony/var-dumper/tree/v6.0.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-04-26T13:22:23+00:00" - }, - { - "name": "symfony/var-exporter", - "version": "v5.4.8", - "source": { - "type": "git", - "url": "https://github.com/symfony/var-exporter.git", - "reference": "7e132a3fcd4b57add721b4207236877b6017ec93" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/var-exporter/zipball/7e132a3fcd4b57add721b4207236877b6017ec93", - "reference": "7e132a3fcd4b57add721b4207236877b6017ec93", - "shasum": "" - }, - "require": { - "php": ">=7.2.5", - "symfony/polyfill-php80": "^1.16" - }, - "require-dev": { - "symfony/var-dumper": "^4.4.9|^5.0.9|^6.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\VarExporter\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Nicolas Grekas", - "email": "p@tchwork.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Allows exporting any serializable PHP data structure to plain PHP code", - "homepage": "https://symfony.com", - "keywords": [ - "clone", - "construct", - "export", - "hydrate", - "instantiate", - "serialize" - ], - "support": { - "source": "https://github.com/symfony/var-exporter/tree/v5.4.8" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-04-26T13:19:20+00:00" - }, - { - "name": "symfony/yaml", - "version": "v6.0.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/yaml.git", - "reference": "e77f3ea0b21141d771d4a5655faa54f692b34af5" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/yaml/zipball/e77f3ea0b21141d771d4a5655faa54f692b34af5", - "reference": "e77f3ea0b21141d771d4a5655faa54f692b34af5", - "shasum": "" - }, - "require": { - "php": ">=8.0.2", - "symfony/polyfill-ctype": "^1.8" - }, - "conflict": { - "symfony/console": "<5.4" - }, - "require-dev": { - "symfony/console": "^5.4|^6.0" - }, - "suggest": { - "symfony/console": "For validating YAML files using the lint command" - }, - "bin": [ - "Resources/bin/yaml-lint" - ], - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Yaml\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Loads and dumps YAML files", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/yaml/tree/v6.0.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-01-26T17:23:29+00:00" - }, - { - "name": "thecodingmachine/safe", - "version": "v1.3.3", - "source": { - "type": "git", - "url": "https://github.com/thecodingmachine/safe.git", - "reference": "a8ab0876305a4cdaef31b2350fcb9811b5608dbc" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/thecodingmachine/safe/zipball/a8ab0876305a4cdaef31b2350fcb9811b5608dbc", - "reference": "a8ab0876305a4cdaef31b2350fcb9811b5608dbc", - "shasum": "" - }, - "require": { - "php": ">=7.2" - }, - "require-dev": { - "phpstan/phpstan": "^0.12", - "squizlabs/php_codesniffer": "^3.2", - "thecodingmachine/phpstan-strict-rules": "^0.12" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "0.1-dev" - } - }, - "autoload": { - "files": [ - "deprecated/apc.php", - "deprecated/libevent.php", - "deprecated/mssql.php", - "deprecated/stats.php", - "lib/special_cases.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/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/ingres-ii.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/msql.php", - "generated/mysql.php", - "generated/mysqli.php", - "generated/mysqlndMs.php", - "generated/mysqlndQc.php", - "generated/network.php", - "generated/oci8.php", - "generated/opcache.php", - "generated/openssl.php", - "generated/outcontrol.php", - "generated/password.php", - "generated/pcntl.php", - "generated/pcre.php", - "generated/pdf.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/simplexml.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" - ], - "psr-4": { - "Safe\\": [ - "lib/", - "deprecated/", - "generated/" - ] - } - }, - "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/v1.3.3" - }, - "time": "2020-10-28T17:51:34+00:00" - }, - { - "name": "tijsverkoyen/css-to-inline-styles", - "version": "2.2.4", - "source": { - "type": "git", - "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", - "reference": "da444caae6aca7a19c0c140f68c6182e337d5b1c" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/da444caae6aca7a19c0c140f68c6182e337d5b1c", - "reference": "da444caae6aca7a19c0c140f68c6182e337d5b1c", - "shasum": "" - }, - "require": { - "ext-dom": "*", - "ext-libxml": "*", - "php": "^5.5 || ^7.0 || ^8.0", - "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0" - }, - "require-dev": { - "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "2.2.x-dev" - } - }, - "autoload": { - "psr-4": { - "TijsVerkoyen\\CssToInlineStyles\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Tijs Verkoyen", - "email": "css_to_inline_styles@verkoyen.eu", - "role": "Developer" - } - ], - "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", - "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", - "support": { - "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", - "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/2.2.4" - }, - "time": "2021-12-08T09:12:39+00:00" - }, - { - "name": "ueberdosis/html-to-prosemirror", - "version": "1.5.0", - "source": { - "type": "git", - "url": "https://github.com/ueberdosis/html-to-prosemirror.git", - "reference": "d2de3dbd7d8d891ed595c3b695b5f80d03697af6" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ueberdosis/html-to-prosemirror/zipball/d2de3dbd7d8d891ed595c3b695b5f80d03697af6", - "reference": "d2de3dbd7d8d891ed595c3b695b5f80d03697af6", - "shasum": "" - }, - "require": { - "php": "^7.1.3|^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.15", - "league/climate": "^3.5", - "phpunit/phpunit": "^7.0|^8.0|^9.0" - }, - "type": "library", - "autoload": { - "psr-4": { - "HtmlToProseMirror\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Hans Pagel" - } - ], - "description": "Takes HTML and outputs ProseMirror compatible JSON.", - "keywords": [ - "prosemirror" - ], - "support": { - "issues": "https://github.com/ueberdosis/html-to-prosemirror/issues", - "source": "https://github.com/ueberdosis/html-to-prosemirror/tree/1.5.0" - }, - "funding": [ - { - "url": "https://github.com/sponsors/ueberdosis/", - "type": "github" - } - ], - "abandoned": true, - "time": "2021-01-19T11:34:35+00:00" - }, - { - "name": "ueberdosis/prosemirror-to-html", - "version": "2.7.0", - "source": { - "type": "git", - "url": "https://github.com/ueberdosis/prosemirror-to-html.git", - "reference": "7d22a0d213d3f204322a8814eab47ed4ea817f54" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/ueberdosis/prosemirror-to-html/zipball/7d22a0d213d3f204322a8814eab47ed4ea817f54", - "reference": "7d22a0d213d3f204322a8814eab47ed4ea817f54", - "shasum": "" - }, - "require": { - "php": "^7.1.3|^8.0" - }, - "require-dev": { - "friendsofphp/php-cs-fixer": "^2.15", - "league/climate": "^3.5", - "phpunit/phpunit": "^7.5.20" - }, - "type": "library", - "autoload": { - "psr-4": { - "ProseMirrorToHtml\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Hans Pagel" - } - ], - "description": "Takes HTML and outputs ProseMirror compatible JSON.", - "keywords": [ - "prosemirror" - ], - "support": { - "issues": "https://github.com/ueberdosis/prosemirror-to-html/issues", - "source": "https://github.com/ueberdosis/prosemirror-to-html/tree/2.7.0" - }, - "funding": [ - { - "url": "https://github.com/sponsors/ueberdosis/", - "type": "github" - } - ], - "abandoned": true, - "time": "2021-08-18T08:05:58+00:00" - }, - { - "name": "vlucas/phpdotenv", - "version": "v5.4.1", - "source": { - "type": "git", - "url": "https://github.com/vlucas/phpdotenv.git", - "reference": "264dce589e7ce37a7ba99cb901eed8249fbec92f" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/264dce589e7ce37a7ba99cb901eed8249fbec92f", - "reference": "264dce589e7ce37a7ba99cb901eed8249fbec92f", - "shasum": "" - }, - "require": { - "ext-pcre": "*", - "graham-campbell/result-type": "^1.0.2", - "php": "^7.1.3 || ^8.0", - "phpoption/phpoption": "^1.8", - "symfony/polyfill-ctype": "^1.23", - "symfony/polyfill-mbstring": "^1.23.1", - "symfony/polyfill-php80": "^1.23.1" - }, - "require-dev": { - "bamarni/composer-bin-plugin": "^1.4.1", - "ext-filter": "*", - "phpunit/phpunit": "^7.5.20 || ^8.5.21 || ^9.5.10" - }, - "suggest": { - "ext-filter": "Required to use the boolean validator." - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "5.4-dev" - } - }, - "autoload": { - "psr-4": { - "Dotenv\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "BSD-3-Clause" - ], - "authors": [ - { - "name": "Graham Campbell", - "email": "hello@gjcampbell.co.uk", - "homepage": "https://github.com/GrahamCampbell" - }, - { - "name": "Vance Lucas", - "email": "vance@vancelucas.com", - "homepage": "https://github.com/vlucas" - } - ], - "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", - "keywords": [ - "dotenv", - "env", - "environment" - ], - "support": { - "issues": "https://github.com/vlucas/phpdotenv/issues", - "source": "https://github.com/vlucas/phpdotenv/tree/v5.4.1" - }, - "funding": [ - { - "url": "https://github.com/GrahamCampbell", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", - "type": "tidelift" - } - ], - "time": "2021-12-12T23:22:04+00:00" - }, - { - "name": "voku/portable-ascii", - "version": "2.0.1", - "source": { - "type": "git", - "url": "https://github.com/voku/portable-ascii.git", - "reference": "b56450eed252f6801410d810c8e1727224ae0743" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", - "reference": "b56450eed252f6801410d810c8e1727224ae0743", - "shasum": "" - }, - "require": { - "php": ">=7.0.0" - }, - "require-dev": { - "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" - }, - "suggest": { - "ext-intl": "Use Intl for transliterator_transliterate() support" - }, - "type": "library", - "autoload": { - "psr-4": { - "voku\\": "src/voku/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Lars Moelleken", - "homepage": "http://www.moelleken.org/" - } - ], - "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", - "homepage": "https://github.com/voku/portable-ascii", - "keywords": [ - "ascii", - "clean", - "php" - ], - "support": { - "issues": "https://github.com/voku/portable-ascii/issues", - "source": "https://github.com/voku/portable-ascii/tree/2.0.1" - }, - "funding": [ - { - "url": "https://www.paypal.me/moelleken", - "type": "custom" - }, - { - "url": "https://github.com/voku", - "type": "github" - }, - { - "url": "https://opencollective.com/portable-ascii", - "type": "open_collective" - }, - { - "url": "https://www.patreon.com/voku", - "type": "patreon" - }, - { - "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", - "type": "tidelift" - } - ], - "time": "2022-03-08T17:03:00+00:00" - }, - { - "name": "webmozart/assert", - "version": "1.10.0", - "source": { - "type": "git", - "url": "https://github.com/webmozarts/assert.git", - "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webmozarts/assert/zipball/6964c76c7804814a842473e0c8fd15bab0f18e25", - "reference": "6964c76c7804814a842473e0c8fd15bab0f18e25", - "shasum": "" - }, - "require": { - "php": "^7.2 || ^8.0", - "symfony/polyfill-ctype": "^1.8" - }, - "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.10.0" - }, - "time": "2021-03-09T10:59:23+00:00" - }, - { - "name": "webonyx/graphql-php", - "version": "v14.11.6", - "source": { - "type": "git", - "url": "https://github.com/webonyx/graphql-php.git", - "reference": "6070542725b61fc7d0654a8a9855303e5e157434" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/webonyx/graphql-php/zipball/6070542725b61fc7d0654a8a9855303e5e157434", - "reference": "6070542725b61fc7d0654a8a9855303e5e157434", - "shasum": "" - }, - "require": { - "ext-json": "*", - "ext-mbstring": "*", - "php": "^7.1 || ^8" - }, - "require-dev": { - "amphp/amp": "^2.3", - "doctrine/coding-standard": "^6.0", - "nyholm/psr7": "^1.2", - "phpbench/phpbench": "^1.2", - "phpstan/extension-installer": "^1.0", - "phpstan/phpstan": "0.12.82", - "phpstan/phpstan-phpunit": "0.12.18", - "phpstan/phpstan-strict-rules": "0.12.9", - "phpunit/phpunit": "^7.2 || ^8.5", - "psr/http-message": "^1.0", - "react/promise": "2.*", - "simpod/php-coveralls-mirror": "^3.0", - "squizlabs/php_codesniffer": "3.5.4" - }, - "suggest": { - "psr/http-message": "To use standard GraphQL server", - "react/promise": "To leverage async resolving on React PHP platform" - }, - "type": "library", - "autoload": { - "psr-4": { - "GraphQL\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "description": "A PHP port of GraphQL reference implementation", - "homepage": "https://github.com/webonyx/graphql-php", - "keywords": [ - "api", - "graphql" - ], - "support": { - "issues": "https://github.com/webonyx/graphql-php/issues", - "source": "https://github.com/webonyx/graphql-php/tree/v14.11.6" - }, - "funding": [ - { - "url": "https://opencollective.com/webonyx-graphql-php", - "type": "open_collective" - } - ], - "time": "2022-04-13T16:25:32+00:00" - }, - { - "name": "wilderborn/partyline", - "version": "1.0.1", - "source": { - "type": "git", - "url": "https://github.com/wilderborn/partyline.git", - "reference": "32623756e376da900e4554f3150437527c88a2ef" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/wilderborn/partyline/zipball/32623756e376da900e4554f3150437527c88a2ef", - "reference": "32623756e376da900e4554f3150437527c88a2ef", - "shasum": "" - }, - "type": "library", - "extra": { - "laravel": { - "providers": [ - "Wilderborn\\Partyline\\ServiceProvider" - ], - "aliases": { - "Partyline": "Wilderborn\\Partyline\\Facade" - } - } - }, - "autoload": { - "psr-4": { - "Wilderborn\\Partyline\\": "src" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Jason Varga", - "email": "jason@wilderborn.com" - } - ], - "description": "A Laravel 5 package to output to the console from outside of command classes", - "support": { - "issues": "https://github.com/wilderborn/partyline/issues", - "source": "https://github.com/wilderborn/partyline/tree/1.0.1" - }, - "time": "2022-03-15T20:23:29+00:00" - } - ], - "packages-dev": [ - { - "name": "doctrine/annotations", - "version": "1.13.2", - "source": { - "type": "git", - "url": "https://github.com/doctrine/annotations.git", - "reference": "5b668aef16090008790395c02c893b1ba13f7e08" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/doctrine/annotations/zipball/5b668aef16090008790395c02c893b1ba13f7e08", - "reference": "5b668aef16090008790395c02c893b1ba13f7e08", - "shasum": "" - }, - "require": { - "doctrine/lexer": "1.*", - "ext-tokenizer": "*", - "php": "^7.1 || ^8.0", - "psr/cache": "^1 || ^2 || ^3" - }, - "require-dev": { - "doctrine/cache": "^1.11 || ^2.0", - "doctrine/coding-standard": "^6.0 || ^8.1", - "phpstan/phpstan": "^0.12.20", - "phpunit/phpunit": "^7.5 || ^8.0 || ^9.1.5", - "symfony/cache": "^4.4 || ^5.2" - }, - "type": "library", - "autoload": { - "psr-4": { - "Doctrine\\Common\\Annotations\\": "lib/Doctrine/Common/Annotations" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Guilherme Blanco", - "email": "guilhermeblanco@gmail.com" - }, - { - "name": "Roman Borschel", - "email": "roman@code-factory.org" - }, - { - "name": "Benjamin Eberlei", - "email": "kontakt@beberlei.de" - }, - { - "name": "Jonathan Wage", - "email": "jonwage@gmail.com" - }, - { - "name": "Johannes Schmitt", - "email": "schmittjoh@gmail.com" - } - ], - "description": "Docblock Annotations Parser", - "homepage": "https://www.doctrine-project.org/projects/annotations.html", - "keywords": [ - "annotations", - "docblock", - "parser" - ], - "support": { - "issues": "https://github.com/doctrine/annotations/issues", - "source": "https://github.com/doctrine/annotations/tree/1.13.2" - }, - "time": "2021-08-05T19:00:23+00:00" - }, - { - "name": "friendsofphp/php-cs-fixer", - "version": "v3.8.0", - "source": { - "type": "git", - "url": "https://github.com/FriendsOfPHP/PHP-CS-Fixer.git", - "reference": "cbad1115aac4b5c3c5540e7210d3c9fba2f81fa3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/FriendsOfPHP/PHP-CS-Fixer/zipball/cbad1115aac4b5c3c5540e7210d3c9fba2f81fa3", - "reference": "cbad1115aac4b5c3c5540e7210d3c9fba2f81fa3", - "shasum": "" - }, - "require": { - "composer/semver": "^3.2", - "composer/xdebug-handler": "^3.0.3", - "doctrine/annotations": "^1.13", - "ext-json": "*", - "ext-tokenizer": "*", - "php": "^7.4 || ^8.0", - "php-cs-fixer/diff": "^2.0", - "symfony/console": "^5.4 || ^6.0", - "symfony/event-dispatcher": "^5.4 || ^6.0", - "symfony/filesystem": "^5.4 || ^6.0", - "symfony/finder": "^5.4 || ^6.0", - "symfony/options-resolver": "^5.4 || ^6.0", - "symfony/polyfill-mbstring": "^1.23", - "symfony/polyfill-php80": "^1.25", - "symfony/polyfill-php81": "^1.25", - "symfony/process": "^5.4 || ^6.0", - "symfony/stopwatch": "^5.4 || ^6.0" - }, - "require-dev": { - "justinrainbow/json-schema": "^5.2", - "keradus/cli-executor": "^1.5", - "mikey179/vfsstream": "^1.6.10", - "php-coveralls/php-coveralls": "^2.5.2", - "php-cs-fixer/accessible-object": "^1.1", - "php-cs-fixer/phpunit-constraint-isidenticalstring": "^1.2", - "php-cs-fixer/phpunit-constraint-xmlmatchesxsd": "^1.2.1", - "phpspec/prophecy": "^1.15", - "phpspec/prophecy-phpunit": "^2.0", - "phpunit/phpunit": "^9.5", - "phpunitgoodpractices/polyfill": "^1.5", - "phpunitgoodpractices/traits": "^1.9.1", - "symfony/phpunit-bridge": "^6.0", - "symfony/yaml": "^5.4 || ^6.0" - }, - "suggest": { - "ext-dom": "For handling output formats in XML", - "ext-mbstring": "For handling non-UTF8 characters." - }, - "bin": [ - "php-cs-fixer" - ], - "type": "application", - "autoload": { - "psr-4": { - "PhpCsFixer\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Dariusz Rumiński", - "email": "dariusz.ruminski@gmail.com" - } - ], - "description": "A tool to automatically fix PHP code style", - "support": { - "issues": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/issues", - "source": "https://github.com/FriendsOfPHP/PHP-CS-Fixer/tree/v3.8.0" - }, - "funding": [ - { - "url": "https://github.com/keradus", - "type": "github" - } - ], - "time": "2022-03-18T17:20:59+00:00" - }, - { - "name": "php-cs-fixer/diff", - "version": "v2.0.2", - "source": { - "type": "git", - "url": "https://github.com/PHP-CS-Fixer/diff.git", - "reference": "29dc0d507e838c4580d018bd8b5cb412474f7ec3" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/PHP-CS-Fixer/diff/zipball/29dc0d507e838c4580d018bd8b5cb412474f7ec3", - "reference": "29dc0d507e838c4580d018bd8b5cb412474f7ec3", - "shasum": "" - }, - "require": { - "php": "^5.6 || ^7.0 || ^8.0" - }, - "require-dev": { - "phpunit/phpunit": "^5.7.23 || ^6.4.3 || ^7.0", - "symfony/process": "^3.3" - }, - "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": "sebastian/diff v3 backport support for PHP 5.6+", - "homepage": "https://github.com/PHP-CS-Fixer", - "keywords": [ - "diff" - ], - "support": { - "issues": "https://github.com/PHP-CS-Fixer/diff/issues", - "source": "https://github.com/PHP-CS-Fixer/diff/tree/v2.0.2" - }, - "time": "2020-10-14T08:32:19+00:00" - }, - { - "name": "psr/cache", - "version": "3.0.0", - "source": { - "type": "git", - "url": "https://github.com/php-fig/cache.git", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", - "shasum": "" - }, - "require": { - "php": ">=8.0.0" - }, - "type": "library", - "extra": { - "branch-alias": { - "dev-master": "1.0.x-dev" - } - }, - "autoload": { - "psr-4": { - "Psr\\Cache\\": "src/" - } - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "PHP-FIG", - "homepage": "https://www.php-fig.org/" - } - ], - "description": "Common interface for caching libraries", - "keywords": [ - "cache", - "psr", - "psr-6" - ], - "support": { - "source": "https://github.com/php-fig/cache/tree/3.0.0" - }, - "time": "2021-02-03T23:26:27+00:00" - }, - { - "name": "symfony/options-resolver", - "version": "v6.0.3", - "source": { - "type": "git", - "url": "https://github.com/symfony/options-resolver.git", - "reference": "51f7006670febe4cbcbae177cbffe93ff833250d" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/options-resolver/zipball/51f7006670febe4cbcbae177cbffe93ff833250d", - "reference": "51f7006670febe4cbcbae177cbffe93ff833250d", - "shasum": "" - }, - "require": { - "php": ">=8.0.2", - "symfony/deprecation-contracts": "^2.1|^3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\OptionsResolver\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides an improved replacement for the array_replace PHP function", - "homepage": "https://symfony.com", - "keywords": [ - "config", - "configuration", - "options" - ], - "support": { - "source": "https://github.com/symfony/options-resolver/tree/v6.0.3" - }, - "funding": [ - { - "url": "https://symfony.com/sponsor", - "type": "custom" - }, - { - "url": "https://github.com/fabpot", - "type": "github" - }, - { - "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", - "type": "tidelift" - } - ], - "time": "2022-01-02T09:55:41+00:00" - }, - { - "name": "symfony/stopwatch", - "version": "v6.0.5", - "source": { - "type": "git", - "url": "https://github.com/symfony/stopwatch.git", - "reference": "f2c1780607ec6502f2121d9729fd8150a655d337" - }, - "dist": { - "type": "zip", - "url": "https://api.github.com/repos/symfony/stopwatch/zipball/f2c1780607ec6502f2121d9729fd8150a655d337", - "reference": "f2c1780607ec6502f2121d9729fd8150a655d337", - "shasum": "" - }, - "require": { - "php": ">=8.0.2", - "symfony/service-contracts": "^1|^2|^3" - }, - "type": "library", - "autoload": { - "psr-4": { - "Symfony\\Component\\Stopwatch\\": "" - }, - "exclude-from-classmap": [ - "/Tests/" - ] - }, - "notification-url": "https://packagist.org/downloads/", - "license": [ - "MIT" - ], - "authors": [ - { - "name": "Fabien Potencier", - "email": "fabien@symfony.com" - }, - { - "name": "Symfony Community", - "homepage": "https://symfony.com/contributors" - } - ], - "description": "Provides a way to profile code", - "homepage": "https://symfony.com", - "support": { - "source": "https://github.com/symfony/stopwatch/tree/v6.0.5" - }, - "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": "2022-02-21T17:15:17+00:00" - } - ], - "aliases": [], - "minimum-stability": "stable", - "stability-flags": [], - "prefer-stable": false, - "prefer-lowest": false, - "platform": { - "php": "^7.4|^8.0" - }, - "platform-dev": [], - "plugin-api-version": "2.2.0" -} diff --git a/phpunit.xml b/phpunit.xml new file mode 100644 index 0000000..88d3a2b --- /dev/null +++ b/phpunit.xml @@ -0,0 +1,18 @@ + + + + + src/ + + + + + tests + + + + + + + + \ No newline at end of file diff --git a/src/ClearAssets.php b/src/ClearAssets.php index ccb0096..ab8f6e0 100644 --- a/src/ClearAssets.php +++ b/src/ClearAssets.php @@ -3,6 +3,7 @@ namespace Swiftmade\StatamicClearAssets; use Statamic\Assets\Asset; +use Illuminate\Support\Str; use Illuminate\Console\Command; use Statamic\Console\RunsInPlease; use Illuminate\Support\Facades\File; @@ -16,32 +17,64 @@ class ClearAssets extends Command protected $description = "Delete unused assets."; - private $continue = false; + private $choice; + + const CMD_DELETE_ALL = 'Delete all'; + const CMD_DELETE_BY_CHOICE = 'Choose what to delete'; + const CMD_EXIT = 'Don\'t do anything'; + + public static $choices = [ + self::CMD_DELETE_ALL, + self::CMD_DELETE_BY_CHOICE, + self::CMD_EXIT, + ]; public function handle() { - $this->filterUnused(Asset::all()) - ->whenEmpty(function () { - $this->info('No unused assets found.'); - exit; - }) + $unusedAssets = $this->filterUnused(Asset::all()); + + if ($unusedAssets->isEmpty()) { + return $this->info('No unused assets found.'); + } + + $unusedAssets + ->tap(fn ($assets) => $this->listAssets($assets)) ->tap(fn ($assets) => $this->comment( sprintf( - 'Found %d unused assets, taking up %d MB of storage.', + 'Found %d unused %s, taking up %s of storage.', $assets->count(), - $this->sizeInMegabytes($assets) + Str::plural('asset', $assets->count()), + $this->readableFilesize( + $assets->sum->size() + ) ) )) - ->tap(fn () => $this->continue = $this->confirm('Delete these files?')) + ->tap(fn () => $this->presentChoices()) ->when( - $this->continue, + $this->choice === self::CMD_DELETE_ALL, fn ($assets) => $assets->each(fn ($asset) => $this->removeAsset($asset)) + ) + ->when( + $this->choice === self::CMD_DELETE_BY_CHOICE, + fn ($assets) => $assets->each(function ($asset) { + if ($this->confirm('Delete "' . $asset->path() . '" ?')) { + $this->removeAsset($asset); + } + }) ); } - private function sizeInMegabytes(AssetCollection $assets) + private function listAssets(AssetCollection $assets) { - return (int) $assets->sum(fn (Asset $asset) => $asset->size()) / 1024 / 1024; + $this->table( + ['Asset', 'Size'], + $assets->map( + fn ($asset) => [ + $asset->path(), + $this->readableFilesize($asset->size()), + ] + ) + ); } private function filterUnused(AssetCollection $assets) @@ -65,4 +98,18 @@ private function removeAsset(Asset $asset) $this->line('Removing ' . $asset->path()); $asset->delete(); } + + private function presentChoices() + { + $this->choice = $this->choice( + 'What would you like to do?', + self::$choices, + 0 + ); + } + + private function readableFilesize($bytes) + { + return sprintf('%.2f MB', $bytes / 1024 / 1024); + } } diff --git a/tests/ClearAssetsTest.php b/tests/ClearAssetsTest.php new file mode 100644 index 0000000..fad2c76 --- /dev/null +++ b/tests/ClearAssetsTest.php @@ -0,0 +1,104 @@ +artisan(ClearAssets::class)->expectsOutput('No unused assets found.'); + } + + /** + * @test + */ + public function it_detects_unused_asset_and_skips_used_asset() + { + $this->createAsset('tallinn.jpg'); + $this->createAsset('ankara.jpg'); + + $this->useAsset('ankara.jpg'); + + $this->artisan(ClearAssets::class) + ->expectsOutput('Found 1 unused asset, taking up 0.06 MB of storage.') + ->expectsChoice('What would you like to do?', ClearAssets::CMD_EXIT, ClearAssets::$choices) + ->doesntExpectOutput('Removing tallinn.jpg'); + } + + /** + * @test + */ + public function it_can_list_unused_assets() + { + $this->createAsset('ankara.jpg'); + $this->createAsset('tallinn.jpg'); + + $this->artisan(ClearAssets::class) + ->expectsTable(['Asset', 'Size'], [ + ['ankara.jpg', '0.04 MB'], + ['tallinn.jpg', '0.06 MB'], + ]) + ->expectsOutput('Found 2 unused assets, taking up 0.10 MB of storage.') + ->expectsChoice('What would you like to do?', ClearAssets::CMD_EXIT, ClearAssets::$choices) + ->doesntExpectOutput('Removing tallinn.jpg'); + } + + /** + * @test + */ + public function it_deletes_all_unused_assets() + { + $this->createAsset('ankara.jpg'); + $this->createAsset('tallinn.jpg'); + + $this->artisan(ClearAssets::class) + ->expectsOutput('Found 2 unused assets, taking up 0.10 MB of storage.') + ->expectsChoice('What would you like to do?', ClearAssets::CMD_DELETE_ALL, ClearAssets::$choices) + ->expectsOutput('Removing ankara.jpg') + ->expectsOutput('Removing tallinn.jpg'); + + $this->assertEquals(0, $this->assetContainer->listContents()->count()); + } + + /** + * @test + */ + public function it_confirms_deletion_one_by_one() + { + $this->createAsset('ankara.jpg'); + $this->createAsset('tallinn.jpg'); + + $this->artisan(ClearAssets::class) + ->expectsOutput('Found 2 unused assets, taking up 0.10 MB of storage.') + ->expectsChoice('What would you like to do?', ClearAssets::CMD_DELETE_BY_CHOICE, ClearAssets::$choices) + ->expectsQuestion('Delete "ankara.jpg" ?', true) + ->expectsOutput('Removing ankara.jpg') + ->expectsQuestion('Delete "tallinn.jpg" ?', false) + ->doesntExpectOutput('Removing tallinn.jpg'); + + $this->assertEquals(1, $this->assetContainer->listContents()->count()); + } + + private function createAsset($filename) + { + $file = new UploadedFile( + __DIR__ . '/fixtures/' . $filename, + $filename, + 'image/jpeg' + ); + + $this->assetContainer->makeAsset($filename)->upload($file); + } + + private function useAsset($filename) + { + $files = base_path('content'); + file_put_contents($files . '/test.yaml', $filename); + } +} diff --git a/tests/TestCase.php b/tests/TestCase.php new file mode 100644 index 0000000..2c1a74d --- /dev/null +++ b/tests/TestCase.php @@ -0,0 +1,96 @@ +initializeDirectory('vendor/orchestra/testbench-core/laravel/content'); + + config(['filesystems.disks.test' => [ + 'driver' => 'local', + 'root' => __DIR__ . '/../tmp', + 'url' => '/test', + ]]); + + + $this->assetContainer = (new AssetContainer) + ->handle('test_container') + ->disk('test') + ->save(); + } + + protected function tearDown(): void + { + File::deleteDirectory('vendor/orchestra/testbench-core/laravel/content'); + File::deleteDirectory('tmp'); + Asset::all()->each->delete(); + + parent::tearDown(); + } + + protected function getPackageProviders($app) + { + return [ + \Rebing\GraphQL\GraphQLServiceProvider::class, + \Statamic\Providers\StatamicServiceProvider::class, + \Wilderborn\Partyline\ServiceProvider::class, + \Swiftmade\StatamicClearAssets\ServiceProvider::class, + ]; + } + + protected function getPackageAliases($app) + { + return [ + 'Statamic' => Statamic::class, + ]; + } + + protected function getEnvironmentSetUp($app) + { + parent::getEnvironmentSetUp($app); + + $app->make(Manifest::class)->manifest = [ + 'swiftmade/statamic-clear-assets' => [ + 'id' => 'swiftmade/statamic-clear-assets', + 'namespace' => 'Swiftmade\\StatamicClearAssets', + ], + ]; + } + + protected function resolveApplicationConfiguration($app) + { + parent::resolveApplicationConfiguration($app); + + $configs = [ + 'assets', 'cp', 'forms', 'routes', 'static_caching', + 'sites', 'stache', 'system', 'users', + ]; + + foreach ($configs as $config) { + $app['config']->set("statamic.$config", require(__DIR__ . "/../vendor/statamic/cms/config/{$config}.php")); + } + } + + protected function initializeDirectory($directory) + { + if (File::isDirectory($directory)) { + File::deleteDirectory($directory); + } + + File::makeDirectory($directory, 0755, true); + } +} diff --git a/tests/fixtures/ankara.jpg b/tests/fixtures/ankara.jpg new file mode 100644 index 0000000000000000000000000000000000000000..3470999569e1ceb9f64e677ef4816088f0309156 GIT binary patch literal 38488 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

FP&$mJ;KoWPEts~rqJO4NIxDuvKq6)yA1 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 m2BKpl9